primeng 20.1.1 → 20.2.0
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.
- package/accordion/index.d.ts +2 -2
- package/animateonscroll/index.d.ts +2 -2
- package/api/index.d.ts +4 -3
- package/autocomplete/index.d.ts +59 -13
- package/avatargroup/index.d.ts +2 -2
- package/badge/index.d.ts +5 -5
- package/base/index.d.ts +6 -6
- package/basecomponent/index.d.ts +1 -1
- package/baseeditableholder/index.d.ts +4 -4
- package/baseinput/index.d.ts +12 -12
- package/breadcrumb/index.d.ts +1 -2
- package/button/index.d.ts +10 -10
- package/card/index.d.ts +1 -1
- package/carousel/index.d.ts +6 -6
- package/cascadeselect/index.d.ts +9 -9
- package/checkbox/index.d.ts +3 -3
- package/chip/index.d.ts +14 -4
- package/classnames/index.d.ts +38 -0
- package/config/index.d.ts +2 -2
- package/confirmdialog/index.d.ts +3 -3
- package/contextmenu/index.d.ts +4 -4
- package/dataview/index.d.ts +1 -1
- package/datepicker/index.d.ts +1 -1
- package/dialog/index.d.ts +4 -3
- package/divider/index.d.ts +2 -2
- package/dock/index.d.ts +2 -2
- package/dom/index.d.ts +4 -4
- package/dynamicdialog/index.d.ts +14 -14
- package/editor/index.d.ts +92 -13
- package/fesm2022/primeng-accordion.mjs +33 -21
- package/fesm2022/primeng-accordion.mjs.map +1 -1
- package/fesm2022/primeng-animateonscroll.mjs +8 -8
- package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
- package/fesm2022/primeng-api.mjs +31 -31
- package/fesm2022/primeng-autocomplete.mjs +180 -50
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-autofocus.mjs +7 -7
- package/fesm2022/primeng-avatar.mjs +10 -10
- package/fesm2022/primeng-avatargroup.mjs +10 -10
- package/fesm2022/primeng-badge.mjs +15 -15
- package/fesm2022/primeng-badge.mjs.map +1 -1
- package/fesm2022/primeng-base.mjs +3 -3
- package/fesm2022/primeng-base.mjs.map +1 -1
- package/fesm2022/primeng-basecomponent.mjs +6 -6
- package/fesm2022/primeng-basecomponent.mjs.map +1 -1
- package/fesm2022/primeng-baseeditableholder.mjs +3 -3
- package/fesm2022/primeng-baseinput.mjs +3 -3
- package/fesm2022/primeng-baseinput.mjs.map +1 -1
- package/fesm2022/primeng-basemodelholder.mjs +3 -3
- package/fesm2022/primeng-blockui.mjs +10 -10
- package/fesm2022/primeng-breadcrumb.mjs +21 -21
- package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
- package/fesm2022/primeng-button.mjs +24 -23
- package/fesm2022/primeng-button.mjs.map +1 -1
- package/fesm2022/primeng-buttongroup.mjs +10 -10
- package/fesm2022/primeng-card.mjs +10 -10
- package/fesm2022/primeng-carousel.mjs +23 -23
- package/fesm2022/primeng-carousel.mjs.map +1 -1
- package/fesm2022/primeng-cascadeselect.mjs +31 -25
- package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
- package/fesm2022/primeng-chart.mjs +10 -10
- package/fesm2022/primeng-checkbox.mjs +15 -14
- package/fesm2022/primeng-checkbox.mjs.map +1 -1
- package/fesm2022/primeng-chip.mjs +48 -17
- package/fesm2022/primeng-chip.mjs.map +1 -1
- package/fesm2022/primeng-classnames.mjs +73 -0
- package/fesm2022/primeng-classnames.mjs.map +1 -0
- package/fesm2022/primeng-colorpicker.mjs +11 -11
- package/fesm2022/primeng-colorpicker.mjs.map +1 -1
- package/fesm2022/primeng-config.mjs +8 -7
- package/fesm2022/primeng-config.mjs.map +1 -1
- package/fesm2022/primeng-confirmdialog.mjs +16 -10
- package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
- package/fesm2022/primeng-confirmpopup.mjs +24 -22
- package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
- package/fesm2022/primeng-contextmenu.mjs +24 -22
- package/fesm2022/primeng-contextmenu.mjs.map +1 -1
- package/fesm2022/primeng-dataview.mjs +11 -11
- package/fesm2022/primeng-dataview.mjs.map +1 -1
- package/fesm2022/primeng-datepicker.mjs +23 -23
- package/fesm2022/primeng-datepicker.mjs.map +1 -1
- package/fesm2022/primeng-dialog.mjs +35 -16
- package/fesm2022/primeng-dialog.mjs.map +1 -1
- package/fesm2022/primeng-divider.mjs +10 -10
- package/fesm2022/primeng-dock.mjs +27 -25
- package/fesm2022/primeng-dock.mjs.map +1 -1
- package/fesm2022/primeng-dom.mjs +13 -10
- package/fesm2022/primeng-dom.mjs.map +1 -1
- package/fesm2022/primeng-dragdrop.mjs +10 -10
- package/fesm2022/primeng-drawer.mjs +28 -19
- package/fesm2022/primeng-drawer.mjs.map +1 -1
- package/fesm2022/primeng-dynamicdialog.mjs +48 -39
- package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
- package/fesm2022/primeng-editor.mjs +69 -11
- package/fesm2022/primeng-editor.mjs.map +1 -1
- package/fesm2022/primeng-fieldset.mjs +12 -11
- package/fesm2022/primeng-fieldset.mjs.map +1 -1
- package/fesm2022/primeng-fileupload.mjs +15 -15
- package/fesm2022/primeng-fileupload.mjs.map +1 -1
- package/fesm2022/primeng-floatlabel.mjs +10 -10
- package/fesm2022/primeng-fluid.mjs +10 -12
- package/fesm2022/primeng-fluid.mjs.map +1 -1
- package/fesm2022/primeng-focustrap.mjs +7 -7
- package/fesm2022/primeng-focustrap.mjs.map +1 -1
- package/fesm2022/primeng-galleria.mjs +42 -38
- package/fesm2022/primeng-galleria.mjs.map +1 -1
- package/fesm2022/primeng-iconfield.mjs +10 -10
- package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
- package/fesm2022/primeng-icons-angledown.mjs +3 -3
- package/fesm2022/primeng-icons-angleleft.mjs +3 -3
- package/fesm2022/primeng-icons-angleright.mjs +3 -3
- package/fesm2022/primeng-icons-angleup.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
- package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
- package/fesm2022/primeng-icons-arrowright.mjs +3 -3
- package/fesm2022/primeng-icons-arrowup.mjs +3 -3
- package/fesm2022/primeng-icons-ban.mjs +3 -3
- package/fesm2022/primeng-icons-bars.mjs +3 -3
- package/fesm2022/primeng-icons-baseicon.mjs +6 -6
- package/fesm2022/primeng-icons-blank.mjs +3 -3
- package/fesm2022/primeng-icons-calendar.mjs +3 -3
- package/fesm2022/primeng-icons-caretleft.mjs +3 -3
- package/fesm2022/primeng-icons-caretright.mjs +3 -3
- package/fesm2022/primeng-icons-check.mjs +3 -3
- package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
- package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
- package/fesm2022/primeng-icons-chevronright.mjs +3 -3
- package/fesm2022/primeng-icons-chevronup.mjs +3 -3
- package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
- package/fesm2022/primeng-icons-eye.mjs +3 -3
- package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
- package/fesm2022/primeng-icons-filter.mjs +3 -3
- package/fesm2022/primeng-icons-filterfill.mjs +3 -3
- package/fesm2022/primeng-icons-filterslash.mjs +3 -3
- package/fesm2022/primeng-icons-home.mjs +3 -3
- package/fesm2022/primeng-icons-infocircle.mjs +3 -3
- package/fesm2022/primeng-icons-minus.mjs +3 -3
- package/fesm2022/primeng-icons-pencil.mjs +3 -3
- package/fesm2022/primeng-icons-plus.mjs +3 -3
- package/fesm2022/primeng-icons-refresh.mjs +3 -3
- package/fesm2022/primeng-icons-search.mjs +3 -3
- package/fesm2022/primeng-icons-searchminus.mjs +3 -3
- package/fesm2022/primeng-icons-searchplus.mjs +3 -3
- package/fesm2022/primeng-icons-sortalt.mjs +3 -3
- package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
- package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
- package/fesm2022/primeng-icons-spinner.mjs +3 -3
- package/fesm2022/primeng-icons-star.mjs +3 -3
- package/fesm2022/primeng-icons-starfill.mjs +3 -3
- package/fesm2022/primeng-icons-thlarge.mjs +3 -3
- package/fesm2022/primeng-icons-times.mjs +3 -3
- package/fesm2022/primeng-icons-timescircle.mjs +3 -3
- package/fesm2022/primeng-icons-trash.mjs +3 -3
- package/fesm2022/primeng-icons-undo.mjs +3 -3
- package/fesm2022/primeng-icons-upload.mjs +3 -3
- package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
- package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
- package/fesm2022/primeng-iftalabel.mjs +10 -10
- package/fesm2022/primeng-image.mjs +19 -16
- package/fesm2022/primeng-image.mjs.map +1 -1
- package/fesm2022/primeng-imagecompare.mjs +10 -10
- package/fesm2022/primeng-inplace.mjs +16 -16
- package/fesm2022/primeng-inputgroup.mjs +10 -10
- package/fesm2022/primeng-inputgroupaddon.mjs +10 -10
- package/fesm2022/primeng-inputicon.mjs +10 -10
- package/fesm2022/primeng-inputmask.mjs +22 -13
- package/fesm2022/primeng-inputmask.mjs.map +1 -1
- package/fesm2022/primeng-inputnumber.mjs +52 -31
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-inputotp.mjs +11 -11
- package/fesm2022/primeng-inputotp.mjs.map +1 -1
- package/fesm2022/primeng-inputtext.mjs +10 -10
- package/fesm2022/primeng-inputtext.mjs.map +1 -1
- package/fesm2022/primeng-keyfilter.mjs +19 -10
- package/fesm2022/primeng-keyfilter.mjs.map +1 -1
- package/fesm2022/primeng-knob.mjs +10 -10
- package/fesm2022/primeng-listbox.mjs +124 -43
- package/fesm2022/primeng-listbox.mjs.map +1 -1
- package/fesm2022/primeng-megamenu.mjs +22 -20
- package/fesm2022/primeng-megamenu.mjs.map +1 -1
- package/fesm2022/primeng-menu.mjs +35 -44
- package/fesm2022/primeng-menu.mjs.map +1 -1
- package/fesm2022/primeng-menubar.mjs +28 -27
- package/fesm2022/primeng-menubar.mjs.map +1 -1
- package/fesm2022/primeng-message.mjs +33 -30
- package/fesm2022/primeng-message.mjs.map +1 -1
- package/fesm2022/primeng-metergroup.mjs +27 -18
- package/fesm2022/primeng-metergroup.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +58 -48
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-orderlist.mjs +149 -43
- package/fesm2022/primeng-orderlist.mjs.map +1 -1
- package/fesm2022/primeng-organizationchart.mjs +13 -13
- package/fesm2022/primeng-overlay.mjs +15 -11
- package/fesm2022/primeng-overlay.mjs.map +1 -1
- package/fesm2022/primeng-overlaybadge.mjs +10 -10
- package/fesm2022/primeng-paginator.mjs +11 -11
- package/fesm2022/primeng-paginator.mjs.map +1 -1
- package/fesm2022/primeng-panel.mjs +11 -11
- package/fesm2022/primeng-panel.mjs.map +1 -1
- package/fesm2022/primeng-panelmenu.mjs +27 -26
- package/fesm2022/primeng-panelmenu.mjs.map +1 -1
- package/fesm2022/primeng-password.mjs +25 -21
- package/fesm2022/primeng-password.mjs.map +1 -1
- package/fesm2022/primeng-picklist.mjs +129 -48
- package/fesm2022/primeng-picklist.mjs.map +1 -1
- package/fesm2022/primeng-popover.mjs +11 -11
- package/fesm2022/primeng-popover.mjs.map +1 -1
- package/fesm2022/primeng-progressbar.mjs +10 -10
- package/fesm2022/primeng-progressspinner.mjs +10 -10
- package/fesm2022/primeng-radiobutton.mjs +15 -15
- package/fesm2022/primeng-radiobutton.mjs.map +1 -1
- package/fesm2022/primeng-rating.mjs +11 -11
- package/fesm2022/primeng-rating.mjs.map +1 -1
- package/fesm2022/primeng-ripple.mjs +10 -10
- package/fesm2022/primeng-scroller.mjs +48 -24
- package/fesm2022/primeng-scroller.mjs.map +1 -1
- package/fesm2022/primeng-scrollpanel.mjs +19 -19
- package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
- package/fesm2022/primeng-scrolltop.mjs +10 -10
- package/fesm2022/primeng-select.mjs +56 -38
- package/fesm2022/primeng-select.mjs.map +1 -1
- package/fesm2022/primeng-selectbutton.mjs +12 -12
- package/fesm2022/primeng-selectbutton.mjs.map +1 -1
- package/fesm2022/primeng-skeleton.mjs +10 -10
- package/fesm2022/primeng-slider.mjs +14 -14
- package/fesm2022/primeng-slider.mjs.map +1 -1
- package/fesm2022/primeng-speeddial.mjs +32 -24
- package/fesm2022/primeng-speeddial.mjs.map +1 -1
- package/fesm2022/primeng-splitbutton.mjs +15 -15
- package/fesm2022/primeng-splitbutton.mjs.map +1 -1
- package/fesm2022/primeng-splitter.mjs +21 -21
- package/fesm2022/primeng-splitter.mjs.map +1 -1
- package/fesm2022/primeng-stepper.mjs +43 -43
- package/fesm2022/primeng-stepper.mjs.map +1 -1
- package/fesm2022/primeng-steps.mjs +15 -15
- package/fesm2022/primeng-steps.mjs.map +1 -1
- package/fesm2022/primeng-styleclass.mjs +8 -8
- package/fesm2022/primeng-styleclass.mjs.map +1 -1
- package/fesm2022/primeng-table.mjs +178 -158
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tabs.mjs +99 -55
- package/fesm2022/primeng-tabs.mjs.map +1 -1
- package/fesm2022/primeng-tag.mjs +10 -10
- package/fesm2022/primeng-tag.mjs.map +1 -1
- package/fesm2022/primeng-terminal.mjs +13 -13
- package/fesm2022/primeng-textarea.mjs +11 -11
- package/fesm2022/primeng-textarea.mjs.map +1 -1
- package/fesm2022/primeng-tieredmenu.mjs +26 -25
- package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
- package/fesm2022/primeng-timeline.mjs +10 -10
- package/fesm2022/primeng-toast.mjs +14 -13
- package/fesm2022/primeng-toast.mjs.map +1 -1
- package/fesm2022/primeng-togglebutton.mjs +20 -13
- package/fesm2022/primeng-togglebutton.mjs.map +1 -1
- package/fesm2022/primeng-toggleswitch.mjs +10 -10
- package/fesm2022/primeng-toolbar.mjs +10 -10
- package/fesm2022/primeng-tooltip.mjs +16 -15
- package/fesm2022/primeng-tooltip.mjs.map +1 -1
- package/fesm2022/primeng-tree.mjs +170 -221
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/fesm2022/primeng-treeselect.mjs +17 -17
- package/fesm2022/primeng-treeselect.mjs.map +1 -1
- package/fesm2022/primeng-treetable.mjs +84 -77
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/fesm2022/primeng-usestyle.mjs +20 -18
- package/fesm2022/primeng-usestyle.mjs.map +1 -1
- package/fesm2022/primeng-utils.mjs.map +1 -1
- package/fieldset/index.d.ts +3 -2
- package/fileupload/index.d.ts +6 -6
- package/fluid/index.d.ts +0 -2
- package/galleria/index.d.ts +10 -10
- package/icons/baseicon/index.d.ts +1 -1
- package/image/index.d.ts +7 -7
- package/inputnumber/index.d.ts +7 -7
- package/inputotp/index.d.ts +3 -3
- package/inputtext/index.d.ts +6 -6
- package/keyfilter/index.d.ts +2 -2
- package/listbox/index.d.ts +31 -19
- package/megamenu/index.d.ts +1 -1
- package/menu/index.d.ts +1 -2
- package/message/index.d.ts +3 -2
- package/metergroup/index.d.ts +6 -6
- package/multiselect/index.d.ts +18 -17
- package/orderlist/index.d.ts +13 -7
- package/organizationchart/index.d.ts +2 -2
- package/overlay/index.d.ts +5 -5
- package/package.json +224 -220
- package/paginator/index.d.ts +1 -1
- package/panel/index.d.ts +2 -2
- package/panelmenu/index.d.ts +8 -8
- package/password/index.d.ts +6 -6
- package/picklist/index.d.ts +17 -12
- package/radiobutton/index.d.ts +3 -3
- package/rating/index.d.ts +1 -1
- package/scroller/index.d.ts +7 -3
- package/select/index.d.ts +11 -11
- package/selectbutton/index.d.ts +3 -3
- package/slider/index.d.ts +2 -2
- package/speeddial/index.d.ts +9 -9
- package/splitter/index.d.ts +3 -3
- package/stepper/index.d.ts +4 -4
- package/steps/index.d.ts +3 -3
- package/table/index.d.ts +39 -31
- package/tabs/index.d.ts +23 -8
- package/tag/index.d.ts +1 -1
- package/textarea/index.d.ts +6 -6
- package/tieredmenu/index.d.ts +1 -1
- package/toast/index.d.ts +5 -5
- package/togglebutton/index.d.ts +4 -3
- package/toggleswitch/index.d.ts +1 -1
- package/tooltip/index.d.ts +11 -11
- package/tree/index.d.ts +31 -46
- package/treeselect/index.d.ts +6 -6
- package/treetable/index.d.ts +10 -10
- package/usestyle/index.d.ts +2 -2
- package/utils/index.d.ts +2 -2
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-dynamicdialog.mjs","sources":["../../src/dynamicdialog/dynamicdialogcontent.ts","../../src/dynamicdialog/style/dynamicdialogstyle.ts","../../src/dynamicdialog/dynamicdialog-config.ts","../../src/dynamicdialog/dynamicdialog-ref.ts","../../src/dynamicdialog/dynamicdialog.ts","../../src/dynamicdialog/dynamicdialog-injector.ts","../../src/dynamicdialog/dialogservice.ts","../../src/dynamicdialog/primeng-dynamicdialog.ts"],"sourcesContent":["import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[pDynamicDialogContent]',\n standalone: true\n})\nexport class DynamicDialogContent {\n constructor(public viewContainerRef: ViewContainerRef) {}\n}\n","import { Injectable } from '@angular/core';\nimport { DialogStyle } from 'primeng/dialog';\n\n@Injectable()\nexport class DynamicDialogStyle extends DialogStyle {\n name = 'dialog';\n}\n\n/**\n *\n * DynamicDialog is a container to display content in an overlay window.\n *\n * [Live Demo](https://www.primeng.org/dynamicdialog)\n *\n * @module dynamicdialogstyle\n *\n */\nexport enum DynamicDialogClasses {\n /**\n * Class name of the mask element\n */\n mask = 'p-dialog-mask',\n /**\n * Class name of the root element\n */\n root = 'p-dialog',\n /**\n * Class name of the header element\n */\n header = 'p-dialog-header',\n /**\n * Class name of the title element\n */\n title = 'p-dialog-title',\n /**\n * Class name of the header actions element\n */\n headerActions = 'p-dialog-header-actions',\n /**\n * Class name of the maximize button element\n */\n pcMaximizeButton = 'p-dialog-maximize-button',\n /**\n * Class name of the close button element\n */\n pcCloseButton = 'p-dialog-close-button',\n /**\n * Class name of the content element\n */\n content = 'p-dialog-content',\n /**\n * Class name of the footer element\n */\n footer = 'p-dialog-footer'\n}\n\nexport interface DynamicDialogStyle {}\n","import { Type } from '@angular/core';\n\n/**\n * Dialogs can be created dynamically with any component as the content using a DialogService.\n * @group Components\n */\nexport class DynamicDialogConfig<DataType = any, InputValuesType extends Record<string, any> = {}> {\n /**\n * An object to pass to the component loaded inside the Dialog.\n * @group Props\n */\n data?: DataType;\n /**\n * An object to pass to the component loaded inside the Dialog.\n * @group Props\n */\n inputValues?: InputValuesType;\n /**\n * Header text of the dialog.\n * @group Props\n */\n header?: string;\n /**\n * Identifies the element (or elements) that labels the element it is applied to.\n * @group Props\n */\n ariaLabelledBy?: string;\n /**\n * Footer text of the dialog.\n * @group Props\n */\n footer?: string;\n /**\n * Width of the dialog.\n * @group Props\n */\n width?: string;\n /**\n * Height of the dialog.\n * @group Props\n */\n height?: string;\n /**\n * Specifies if pressing escape key should hide the dialog.\n * @group Props\n */\n closeOnEscape?: boolean = false;\n /**\n * Specifies if autofocus should happen on show.\n * @group Props\n */\n focusOnShow?: boolean = true;\n /**\n * When enabled, can only focus on elements inside the dialog.\n * @group Props\n */\n focusTrap?: boolean = true;\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n baseZIndex?: number;\n /**\n * Whether to re-enforce layering through applying zIndex.\n * @group Props\n */\n autoZIndex?: boolean = false;\n /**\n * Specifies if clicking the modal background should hide the dialog.\n * @group Props\n */\n dismissableMask?: boolean = false;\n /**\n * Inline style of the component.\n * @group Props\n */\n rtl?: boolean = false;\n /**\n * Inline style of the component.\n * @group Props\n */\n style?: { [klass: string]: any } | null | undefined;\n /**\n * Inline style of the content.\n * @group Props\n */\n contentStyle?: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n styleClass?: string;\n /**\n * Transition options of the animation.\n * @group Props\n */\n transitionOptions?: string;\n /**\n * Adds a close icon to the header to hide the dialog.\n * @group Props\n */\n closable?: boolean = false;\n /**\n * Whether to show the header or not.\n * @group Props\n */\n showHeader?: boolean = false;\n /**\n * Defines if background should be blocked when dialog is displayed.\n * @group Props\n */\n modal?: boolean = false;\n /**\n * Style class of the mask.\n * @group Props\n */\n maskStyleClass?: string;\n /**\n * Enables resizing of the content.\n * @group Props\n */\n resizable?: boolean = false;\n /**\n * Enables dragging to change the position using header.\n * @group Props\n */\n draggable?: boolean = false;\n /**\n * Keeps dialog in the viewport.\n * @group Props\n */\n keepInViewport?: boolean = false;\n /**\n * Minimum value for the left coordinate of dialog in dragging.\n * @group Props\n */\n minX?: number;\n /**\n * Minimum value for the top coordinate of dialog in dragging.\n * @group Props\n */\n minY?: number;\n /**\n * Whether the dialog can be displayed full screen.\n * @group Props\n */\n maximizable?: boolean = false;\n /**\n * Name of the maximize icon.\n * @group Props\n */\n maximizeIcon?: string;\n /**\n * Name of the minimize icon.\n * @group Props\n */\n minimizeIcon?: string;\n /**\n * Position of the dialog, options are \"center\", \"top\", \"bottom\", \"left\", \"right\", \"top-left\", \"top-right\", \"bottom-left\" or \"bottom-right\".\n * @group Props\n */\n position?: string;\n /**\n * Defines a string that labels the close button for accessibility.\n * @group Props\n */\n closeAriaLabel?: string;\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n appendTo?: any;\n /**\n * A boolean to determine if it can be duplicate.\n * @group Props\n */\n duplicate?: boolean = false;\n /**\n * Object literal to define widths per screen size.\n * @group Props\n */\n breakpoints?: any;\n /**\n * Dialog templates.\n * @group Props\n */\n templates?: DynamicDialogTemplates;\n}\n\n/**\n * Defines valid templates in Dynamic Dialog.\n * @group Interface\n */\nexport interface DynamicDialogTemplates {\n /**\n * Template of the header.\n */\n header?: Type<any>;\n /**\n * Template of the content.\n */\n content?: Type<any>;\n /**\n * Template of the footer.\n */\n footer?: Type<any>;\n /**\n * Template of the minimize icon.\n */\n minimizeicon?: Type<any>;\n /**\n * Template of the maximize icon.\n */\n maximizeicon?: Type<any>;\n /**\n * Template of the close icon.\n */\n closeicon?: Type<any>;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { Output, EventEmitter, Type } from '@angular/core';\n/**\n * Dynamic Dialog instance.\n * @group Components\n */\nexport class DynamicDialogRef<ComponentType = any> {\n constructor() {}\n /**\n * Closes dialog.\n * @group Method\n */\n close(result?: any) {\n this._onClose.next(result);\n\n setTimeout(() => {\n this._onClose.complete();\n }, 1000);\n }\n /**\n * Destroys the dialog instance.\n * @group Method\n */\n destroy() {\n this._onDestroy.next(null);\n }\n /**\n * Callback to invoke on drag start.\n * @param {MouseEvent} event - Mouse event.\n * @group Method\n */\n dragStart(event: MouseEvent) {\n this._onDragStart.next(event);\n }\n /**\n * Callback to invoke on drag end.\n * @param {MouseEvent} event - Mouse event.\n * @group Method\n */\n dragEnd(event: MouseEvent) {\n this._onDragEnd.next(event);\n }\n /**\n * Callback to invoke on resize start.\n * @param {MouseEvent} event - Mouse event.\n * @group Method\n */\n resizeInit(event: MouseEvent) {\n this._onResizeInit.next(event);\n }\n /**\n * Callback to invoke on resize start.\n * @param {MouseEvent} event - Mouse event.\n * @group Method\n */\n resizeEnd(event: MouseEvent) {\n this._onResizeEnd.next(event);\n }\n /**\n * Callback to invoke on dialog is maximized.\n * @param {*} value - Size value.\n * @group Method\n */\n maximize(value: any) {\n this._onMaximize.next(value);\n }\n\n private readonly _onClose = new Subject<any>();\n /**\n * Event triggered on dialog is closed.\n * @group Events\n */\n onClose: Observable<any> = this._onClose.asObservable();\n\n private readonly _onDestroy = new Subject<any>();\n /**\n * Event triggered on dialog instance is destroyed.\n * @group Events\n */\n onDestroy: Observable<any> = this._onDestroy.asObservable();\n\n private readonly _onDragStart = new Subject<any>();\n /**\n * Event triggered on drag start.\n * @param {MouseEvent} event - Mouse event.\n * @group Events\n */\n onDragStart: Observable<any> = this._onDragStart.asObservable();\n\n private readonly _onDragEnd = new Subject<any>();\n /**\n * Event triggered on drag end.\n * @param {MouseEvent} event - Mouse event.\n * @group Events\n */\n onDragEnd: Observable<any> = this._onDragEnd.asObservable();\n\n private readonly _onResizeInit = new Subject<any>();\n /**\n * Event triggered on resize start.\n * @param {MouseEvent} event - Mouse event.\n * @group Events\n */\n onResizeInit: Observable<any> = this._onResizeInit.asObservable();\n\n private readonly _onResizeEnd = new Subject<any>();\n /**\n * Event triggered on resize end.\n * @param {MouseEvent} event - Mouse event.\n * @group Events\n */\n onResizeEnd: Observable<any> = this._onResizeEnd.asObservable();\n\n private readonly _onMaximize = new Subject<any>();\n /**\n * Event triggered on dialog is maximized.\n * @param {*} value - Size value.\n * @group Events\n */\n onMaximize: Observable<any> = this._onMaximize.asObservable();\n\n /**\n * Event triggered on child component load.\n * @param {*} value - Chi.\n * @group Events\n */\n readonly onChildComponentLoaded = new Subject<ComponentType>();\n}\n","import { animate, animation, AnimationEvent, style, transition, trigger, useAnimation } from '@angular/animations';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, ComponentRef, ElementRef, inject, NgModule, NgZone, OnDestroy, Optional, Renderer2, SkipSelf, Type, ViewChild, ViewEncapsulation, ViewRef } from '@angular/core';\nimport { addClass, getOuterHeight, getOuterWidth, getViewport, hasClass, removeClass, setAttribute, uuid } from '@primeuix/utils';\nimport { SharedModule, TranslationKeys } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Button } from 'primeng/button';\nimport { DomHandler } from 'primeng/dom';\nimport { FocusTrap } from 'primeng/focustrap';\nimport { TimesIcon, WindowMaximizeIcon, WindowMinimizeIcon } from 'primeng/icons';\nimport { Nullable, VoidListener } from 'primeng/ts-helpers';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { DynamicDialogConfig } from './dynamicdialog-config';\nimport { DynamicDialogRef } from './dynamicdialog-ref';\nimport { DynamicDialogContent } from './dynamicdialogcontent';\nimport { DynamicDialogStyle } from './style/dynamicdialogstyle';\n\nconst showAnimation = animation([style({ transform: '{{transform}}', opacity: 0 }), animate('{{transition}}', style({ transform: 'none', opacity: 1 }))]);\n\nconst hideAnimation = animation([animate('{{transition}}', style({ transform: '{{transform}}', opacity: 0 }))]);\n\n@Component({\n selector: 'p-dynamicDialog, p-dynamicdialog, p-dynamic-dialog',\n standalone: true,\n imports: [CommonModule, SharedModule, DynamicDialogContent, WindowMaximizeIcon, WindowMinimizeIcon, TimesIcon, Button, FocusTrap],\n template: `\n <div\n #mask\n [ngStyle]=\"{\n position: 'fixed',\n height: '100%',\n width: '100%',\n left: 0,\n top: 0,\n display: 'flex',\n 'justify-content': position === 'left' || position === 'topleft' || position === 'bottomleft' ? 'flex-start' : position === 'right' || position === 'topright' || position === 'bottomright' ? 'flex-end' : 'center',\n 'align-items': position === 'top' || position === 'topleft' || position === 'topright' ? 'flex-start' : position === 'bottom' || position === 'bottomleft' || position === 'bottomright' ? 'flex-end' : 'center',\n 'pointer-events': ddconfig.modal ? 'auto' : 'none'\n }\"\n [class]=\"ddconfig.maskStyleClass\"\n [ngClass]=\"maskClass\"\n >\n <div\n *ngIf=\"visible\"\n #container\n [ngClass]=\"{ 'p-dialog p-component': true, 'p-dialog-maximized': maximizable && maximized }\"\n [ngStyle]=\"{ display: 'flex', 'flex-direction': 'column', 'pointer-events': 'auto' }\"\n [style]=\"ddconfig.style\"\n [class]=\"ddconfig.styleClass\"\n [@animation]=\"{\n value: 'visible',\n params: {\n transform: transformOptions,\n transition: ddconfig.transitionOptions || '150ms cubic-bezier(0, 0, 0.2, 1)'\n }\n }\"\n (@animation.start)=\"onAnimationStart($event)\"\n (@animation.done)=\"onAnimationEnd($event)\"\n role=\"dialog\"\n pFocusTrap\n [pFocusTrapDisabled]=\"ddconfig.focusTrap === false\"\n [style.width]=\"ddconfig.width\"\n [style.height]=\"ddconfig.height\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-modal]=\"true\"\n [attr.id]=\"dialogId\"\n >\n <div *ngIf=\"ddconfig.resizable\" [ngClass]=\"'p-resizable-handle'\" style=\"z-index: 90;\" (mousedown)=\"initResize($event)\"></div>\n <div #titlebar [ngClass]=\"'p-dialog-header'\" (mousedown)=\"initDrag($event)\" *ngIf=\"ddconfig.showHeader !== false\">\n <ng-container *ngComponentOutlet=\"headerTemplate\"></ng-container>\n <ng-container *ngIf=\"!headerTemplate\">\n <span [ngClass]=\"'p-dialog-title'\" [id]=\"ariaLabelledBy\">{{ ddconfig.header }}</span>\n <div [ngClass]=\"'p-dialog-header-actions'\">\n <p-button *ngIf=\"ddconfig.maximizable\" [styleClass]=\"'p-dialog-maximize-button'\" (onClick)=\"maximize()\" (keydown.enter)=\"maximize()\" rounded text [tabindex]=\"maximizable ? '0' : '-1'\">\n <ng-template #icon>\n <ng-container *ngIf=\"!maximized\">\n <svg data-p-icon=\"window-maximize\" *ngIf=\"!maximizeIconTemplate\" />\n <ng-template *ngTemplateOutlet=\"maximizeIconTemplate\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"maximized\">\n <svg data-p-icon=\"window-minimize\" *ngIf=\"!minimizeIconTemplate\" />\n <ng-template *ngTemplateOutlet=\"minimizeIconTemplate\"></ng-template>\n </ng-container>\n </ng-template>\n </p-button>\n <p-button *ngIf=\"closable\" [styleClass]=\"'p-dialog-close-button'\" [ariaLabel]=\"ddconfig.closeAriaLabel || defaultCloseAriaLabel\" (onClick)=\"hide()\" (keydown.enter)=\"hide()\" rounded text severity=\"secondary\">\n <ng-template #icon>\n <svg *ngIf=\"!closeIconTemplate\" data-p-icon=\"times\" />\n <ng-template *ngTemplateOutlet=\"closeIconTemplate\"></ng-template>\n </ng-template>\n </p-button>\n </div>\n </ng-container>\n </div>\n <div #content [ngClass]=\"'p-dialog-content'\" [ngStyle]=\"ddconfig.contentStyle\">\n <ng-template pDynamicDialogContent *ngIf=\"!contentTemplate\"></ng-template>\n <ng-container *ngComponentOutlet=\"contentTemplate\"></ng-container>\n </div>\n <div #footer [ngClass]=\"'p-dialog-footer'\" *ngIf=\"ddconfig.footer || footerTemplate\">\n <ng-container *ngIf=\"!footerTemplate\">\n {{ ddconfig.footer }}\n </ng-container>\n <ng-container *ngComponentOutlet=\"footerTemplate\"></ng-container>\n </div>\n </div>\n </div>\n `,\n animations: [trigger('animation', [transition('void => visible', [useAnimation(showAnimation)]), transition('visible => void', [useAnimation(hideAnimation)])])],\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n providers: [DynamicDialogStyle]\n})\nexport class DynamicDialogComponent extends BaseComponent implements AfterViewInit, OnDestroy {\n visible: boolean = true;\n\n componentRef: Nullable<ComponentRef<any>>;\n\n mask: Nullable<HTMLDivElement>;\n\n resizing: boolean | undefined;\n\n dragging: boolean | undefined;\n\n maximized: boolean | undefined;\n\n _style: any = {};\n\n originalStyle: any;\n\n lastPageX: number | undefined;\n\n lastPageY: number | undefined;\n\n ariaLabelledBy: string | undefined;\n\n id: string = uuid('pn_id_');\n\n styleElement: any;\n\n @ViewChild(DynamicDialogContent) insertionPoint: Nullable<DynamicDialogContent>;\n\n @ViewChild('mask') maskViewChild: Nullable<ElementRef>;\n\n @ViewChild('content') contentViewChild: Nullable<ElementRef>;\n\n @ViewChild('footer') footerViewChild: Nullable<ElementRef>;\n\n @ViewChild('titlebar') headerViewChild: Nullable<ElementRef>;\n\n childComponentType: Nullable<Type<any>>;\n\n inputValues: Record<string, any>;\n\n container: Nullable<HTMLDivElement>;\n\n wrapper: Nullable<HTMLElement>;\n\n documentKeydownListener: VoidListener;\n\n documentEscapeListener: VoidListener;\n\n maskClickListener: VoidListener;\n\n transformOptions: string = 'scale(0.7)';\n\n documentResizeListener: VoidListener;\n\n documentResizeEndListener: VoidListener;\n\n documentDragListener: VoidListener;\n\n documentDragEndListener: VoidListener;\n\n _componentStyle = inject(DynamicDialogStyle);\n\n get minX(): number {\n return this.ddconfig.minX ? this.ddconfig.minX : 0;\n }\n\n get minY(): number {\n return this.ddconfig.minY ? this.ddconfig.minY : 0;\n }\n\n get keepInViewport(): boolean {\n return this.ddconfig.keepInViewport!;\n }\n\n get maximizable(): boolean {\n return this.ddconfig.maximizable!;\n }\n\n get maximizeIcon(): string {\n return this.ddconfig.maximizeIcon!;\n }\n\n get minimizeIcon(): string {\n return this.ddconfig.minimizeIcon!;\n }\n\n get closable() {\n return this.ddconfig.closable!;\n }\n\n get style(): any {\n return this._style;\n }\n\n get position(): string {\n return this.ddconfig.position!;\n }\n\n get defaultCloseAriaLabel(): string {\n return this.config.getTranslation(TranslationKeys.ARIA)['close'];\n }\n\n set style(value: any) {\n if (value) {\n this._style = { ...value };\n this.originalStyle = value;\n }\n }\n\n get parent() {\n const domElements = Array.from(this.document.getElementsByClassName('p-dialog'));\n if (domElements.length > 1) {\n return domElements.pop();\n }\n }\n\n get parentContent() {\n const domElements = Array.from(this.document.getElementsByClassName('p-dialog'));\n if (domElements.length > 0) {\n const contentElements = domElements[domElements.length - 1].querySelector('.p-dialog-content');\n if (contentElements) return Array.isArray(contentElements) ? contentElements[0] : contentElements;\n }\n }\n\n get header() {\n return this.ddconfig.header;\n }\n\n get data() {\n return this.ddconfig.data;\n }\n\n get breakpoints() {\n return this.ddconfig.breakpoints;\n }\n\n get footerTemplate() {\n return this.ddconfig?.templates?.footer;\n }\n\n get headerTemplate() {\n return this.ddconfig?.templates?.header;\n }\n\n get contentTemplate() {\n return this.ddconfig?.templates?.content;\n }\n\n get minimizeIconTemplate(): any {\n return this.ddconfig?.templates?.minimizeicon;\n }\n\n get maximizeIconTemplate(): any {\n return this.ddconfig?.templates?.maximizeicon;\n }\n\n get closeIconTemplate() {\n return this.ddconfig?.templates?.closeicon;\n }\n\n get maskClass() {\n const positions = ['left', 'right', 'top', 'topleft', 'topright', 'bottom', 'bottomleft', 'bottomright'];\n const pos = positions.find((item) => item === this.position);\n\n return {\n 'p-dialog-mask': true,\n 'p-overlay-mask p-overlay-mask-enter': this.ddconfig.modal || this.ddconfig.dismissableMask,\n [`p-dialog-${pos}`]: pos\n };\n }\n\n get dialogId() {\n return this.attrSelector;\n }\n\n private zIndexForLayering?: number;\n\n constructor(\n public renderer: Renderer2,\n public ddconfig: DynamicDialogConfig,\n private dialogRef: DynamicDialogRef,\n public zone: NgZone,\n @SkipSelf() @Optional() private parentDialog: DynamicDialogComponent\n ) {\n super();\n }\n\n ngOnInit() {\n super.ngOnInit();\n if (this.breakpoints) {\n this.createStyle();\n }\n }\n\n createStyle() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.styleElement) {\n this.styleElement = this.renderer.createElement('style');\n this.styleElement.type = 'text/css';\n setAttribute(this.styleElement, 'nonce', this.config?.csp()?.nonce);\n this.renderer.appendChild(this.document.head, this.styleElement);\n let innerHTML = '';\n for (let breakpoint in this.breakpoints) {\n innerHTML += `\n @media screen and (max-width: ${breakpoint}) {\n .p-dialog[id=${this.dialogId}]:not(.p-dialog-maximized) {\n width: ${this.breakpoints[breakpoint]} !important;\n }\n }\n `;\n }\n\n this.renderer.setProperty(this.styleElement, 'innerHTML', innerHTML);\n setAttribute(this.styleElement, 'nonce', this.config?.csp()?.nonce);\n }\n }\n }\n destroyStyle() {\n if (this.styleElement) {\n this.renderer.removeChild(this.document.head, this.styleElement);\n this.styleElement = null;\n }\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n this.loadChildComponent(this.childComponentType!);\n this.ariaLabelledBy = this.getAriaLabelledBy();\n this.cd.detectChanges();\n }\n\n getAriaLabelledBy() {\n const { header, showHeader } = this.ddconfig;\n\n if (header === null || showHeader === false) {\n return null;\n }\n return uuid('pn_id_') + '_header';\n }\n\n loadChildComponent(componentType: Type<any>) {\n let viewContainerRef = this.insertionPoint?.viewContainerRef;\n viewContainerRef?.clear();\n\n this.componentRef = viewContainerRef?.createComponent(componentType);\n\n if (this.inputValues) {\n Object.entries(this.inputValues).forEach(([key, value]) => {\n this.componentRef.setInput(key, value);\n });\n }\n\n this.dialogRef.onChildComponentLoaded.next(this.componentRef!.instance);\n }\n\n moveOnTop() {\n if (this.ddconfig.autoZIndex !== false) {\n ZIndexUtils.set('modal', this.container, (this.ddconfig.baseZIndex || 0) + this.config.zIndex.modal);\n (this.wrapper as HTMLElement).style.zIndex = String(parseInt((this.container as HTMLDivElement).style.zIndex, 10) - 1);\n } else {\n this.zIndexForLayering = ZIndexUtils.generateZIndex('modal', (this.ddconfig.baseZIndex || 0) + this.config.zIndex.modal);\n }\n }\n\n onAnimationStart(event: AnimationEvent) {\n switch (event.toState) {\n case 'visible':\n this.container = event.element;\n this.wrapper = (this.container as HTMLDivElement).parentElement;\n this.moveOnTop();\n if (this.parent) {\n this.unbindGlobalListeners();\n }\n this.bindGlobalListeners();\n this.container?.setAttribute(this.id, '');\n\n if (this.ddconfig.modal !== false) {\n this.enableModality();\n }\n\n if (this.ddconfig.focusOnShow !== false) {\n this.focus();\n }\n break;\n\n case 'void':\n if (this.wrapper && this.ddconfig.modal !== false) {\n addClass(this.wrapper, 'p-overlay-mask-leave');\n }\n break;\n }\n }\n\n onAnimationEnd(event: AnimationEvent) {\n if (event.toState === 'void') {\n if (this.parentContent) {\n this.focus(this.parentContent);\n }\n this.onContainerDestroy();\n this.dialogRef.destroy();\n }\n }\n\n onContainerDestroy() {\n this.unbindGlobalListeners();\n\n if (this.container && this.ddconfig.autoZIndex !== false) {\n ZIndexUtils.clear(this.container);\n }\n if (this.zIndexForLayering) {\n ZIndexUtils.revertZIndex(this.zIndexForLayering);\n }\n\n if (this.ddconfig.modal !== false) {\n this.disableModality();\n }\n this.container = null;\n }\n\n close() {\n this.visible = false;\n this.cd.markForCheck();\n }\n\n hide() {\n if (this.dialogRef) {\n this.dialogRef.close();\n }\n }\n\n enableModality() {\n if (this.ddconfig.dismissableMask) {\n this.maskClickListener = this.renderer.listen(this.wrapper, 'mousedown', (event: any) => {\n if (this.wrapper && this.wrapper.isSameNode(event.target)) {\n this.hide();\n }\n });\n }\n\n if (this.ddconfig.modal !== false) {\n addClass(this.document.body, 'p-overflow-hidden');\n }\n }\n\n disableModality() {\n if (this.wrapper) {\n if (this.ddconfig.dismissableMask) {\n this.unbindMaskClickListener();\n }\n\n if (this.ddconfig.modal !== false) {\n removeClass(this.document.body, 'p-overflow-hidden');\n }\n\n if (!(this.cd as ViewRef).destroyed) {\n this.cd.detectChanges();\n }\n }\n }\n\n focus(focusParentElement = this.contentViewChild.nativeElement) {\n let focusable = DomHandler.getFocusableElement(focusParentElement, '[autofocus]');\n if (focusable) {\n this.zone.runOutsideAngular(() => {\n setTimeout(() => focusable.focus(), 5);\n });\n return;\n }\n const focusableElement = DomHandler.getFocusableElement(focusParentElement);\n if (focusableElement) {\n this.zone.runOutsideAngular(() => {\n setTimeout(() => focusableElement.focus(), 5);\n });\n } else if (this.footerViewChild) {\n // If the content section is empty try to focus on footer\n this.focus(this.footerViewChild.nativeElement);\n } else if (!focusableElement && this.headerViewChild) {\n this.focus(this.headerViewChild.nativeElement);\n }\n }\n\n maximize() {\n this.maximized = !this.maximized;\n\n if (this.maximized) {\n addClass(this.document.body, 'p-overflow-hidden');\n } else {\n removeClass(this.document.body, 'p-overflow-hidden');\n }\n\n this.dialogRef.maximize({ maximized: this.maximized });\n }\n\n initResize(event: MouseEvent) {\n if (this.ddconfig.resizable) {\n if (!this.documentResizeListener) {\n this.bindDocumentResizeListeners();\n }\n\n this.resizing = true;\n this.lastPageX = event.pageX;\n this.lastPageY = event.pageY;\n addClass(this.document.body, 'p-unselectable-text');\n this.dialogRef.resizeInit(event);\n }\n }\n\n onResize(event: MouseEvent) {\n if (this.resizing) {\n let deltaX = event.pageX - (this.lastPageX as number);\n let deltaY = event.pageY - (this.lastPageY as number);\n let containerWidth = getOuterWidth(this.container);\n let containerHeight = getOuterHeight(this.container);\n let contentHeight = getOuterHeight((<ElementRef>this.contentViewChild).nativeElement);\n let newWidth = containerWidth + deltaX;\n let newHeight = containerHeight + deltaY;\n let minWidth = (this.container as HTMLDivElement).style.minWidth;\n let minHeight = (this.container as HTMLDivElement).style.minHeight;\n let offset = (this.container as HTMLDivElement).getBoundingClientRect();\n let viewport = getViewport();\n let hasBeenDragged = !parseInt((this.container as HTMLDivElement).style.top) || !parseInt((this.container as HTMLDivElement).style.left);\n\n if (hasBeenDragged) {\n newWidth += deltaX;\n newHeight += deltaY;\n }\n\n if ((!minWidth || newWidth > parseInt(minWidth)) && offset.left + newWidth < viewport.width) {\n this._style.width = newWidth + 'px';\n (this.container as HTMLDivElement).style.width = this._style.width;\n }\n\n if ((!minHeight || newHeight > parseInt(minHeight)) && offset.top + newHeight < viewport.height) {\n (<ElementRef>this.contentViewChild).nativeElement.style.height = contentHeight + newHeight - containerHeight + 'px';\n\n if (this._style.height) {\n this._style.height = newHeight + 'px';\n (this.container as HTMLDivElement).style.height = this._style.height;\n }\n }\n\n this.lastPageX = event.pageX;\n this.lastPageY = event.pageY;\n }\n }\n\n resizeEnd(event: MouseEvent) {\n if (this.resizing) {\n this.resizing = false;\n removeClass(this.document.body, 'p-unselectable-text');\n this.dialogRef.resizeEnd(event);\n }\n }\n\n initDrag(event: MouseEvent) {\n if (hasClass(event.target as any, 'p-dialog-header-icon') || hasClass((<HTMLElement>event.target).parentElement, 'p-dialog-header-icon')) {\n return;\n }\n\n if (this.ddconfig.draggable) {\n this.dragging = true;\n this.lastPageX = event.pageX;\n this.lastPageY = event.pageY;\n\n (this.container as HTMLDivElement).style.margin = '0';\n addClass(this.document.body, 'p-unselectable-text');\n this.dialogRef.dragStart(event);\n }\n }\n\n onDrag(event: MouseEvent) {\n if (this.dragging) {\n let containerWidth = getOuterWidth(this.container);\n let containerHeight = getOuterHeight(this.container);\n let deltaX = event.pageX - (this.lastPageX as number);\n let deltaY = event.pageY - (this.lastPageY as number);\n let offset = (this.container as HTMLDivElement).getBoundingClientRect();\n let leftPos = offset.left + deltaX;\n let topPos = offset.top + deltaY;\n let viewport = getViewport();\n\n (this.container as HTMLDivElement).style.position = 'fixed';\n\n if (this.keepInViewport) {\n if (leftPos >= this.minX && leftPos + containerWidth < viewport.width) {\n this._style.left = leftPos + 'px';\n this.lastPageX = event.pageX;\n (this.container as HTMLDivElement).style.left = leftPos + 'px';\n }\n\n if (topPos >= this.minY && topPos + containerHeight < viewport.height) {\n this._style.top = topPos + 'px';\n this.lastPageY = event.pageY;\n (this.container as HTMLDivElement).style.top = topPos + 'px';\n }\n } else {\n this.lastPageX = event.pageX;\n (this.container as HTMLDivElement).style.left = leftPos + 'px';\n this.lastPageY = event.pageY;\n (this.container as HTMLDivElement).style.top = topPos + 'px';\n }\n }\n }\n\n endDrag(event: MouseEvent) {\n if (this.dragging) {\n this.dragging = false;\n removeClass(this.document.body, 'p-unselectable-text');\n this.dialogRef.dragEnd(event);\n this.cd.detectChanges();\n }\n }\n\n resetPosition() {\n (this.container as HTMLDivElement).style.position = '';\n (this.container as HTMLDivElement).style.left = '';\n (this.container as HTMLDivElement).style.top = '';\n (this.container as HTMLDivElement).style.margin = '';\n }\n\n bindDocumentDragListener() {\n if (isPlatformBrowser(this.platformId)) {\n this.zone.runOutsideAngular(() => {\n this.documentDragListener = this.renderer.listen(this.document, 'mousemove', this.onDrag.bind(this));\n });\n }\n }\n\n bindDocumentDragEndListener() {\n if (isPlatformBrowser(this.platformId)) {\n this.zone.runOutsideAngular(() => {\n this.documentDragEndListener = this.renderer.listen(this.document, 'mouseup', this.endDrag.bind(this));\n });\n }\n }\n\n unbindDocumentDragEndListener() {\n if (this.documentDragEndListener) {\n this.documentDragEndListener();\n this.documentDragListener = null;\n }\n }\n\n unbindDocumentDragListener() {\n if (this.documentDragListener) {\n this.documentDragListener();\n this.documentDragListener = null;\n }\n }\n\n bindDocumentResizeListeners() {\n if (isPlatformBrowser(this.platformId)) {\n this.zone.runOutsideAngular(() => {\n this.documentResizeListener = this.renderer.listen(this.document, 'mousemove', this.onResize.bind(this));\n this.documentResizeEndListener = this.renderer.listen(this.document, 'mouseup', this.resizeEnd.bind(this));\n });\n }\n }\n\n unbindDocumentResizeListeners() {\n if (this.documentResizeListener && this.documentResizeEndListener) {\n this.documentResizeListener();\n this.documentResizeEndListener();\n this.documentResizeListener = null;\n this.documentResizeEndListener = null;\n }\n }\n\n bindGlobalListeners() {\n if (this.ddconfig.closeOnEscape !== false) {\n this.bindDocumentEscapeListener();\n }\n\n if (this.ddconfig.resizable) {\n this.bindDocumentResizeListeners();\n }\n\n if (this.ddconfig.draggable) {\n this.bindDocumentDragListener();\n this.bindDocumentDragEndListener();\n }\n }\n\n unbindGlobalListeners() {\n this.unbindDocumentEscapeListener();\n this.unbindDocumentResizeListeners();\n this.unbindDocumentDragListener();\n this.unbindDocumentDragEndListener();\n }\n\n bindDocumentEscapeListener() {\n const documentTarget: any = this.maskViewChild ? this.maskViewChild.nativeElement.ownerDocument : 'document';\n\n this.documentEscapeListener = this.renderer.listen(documentTarget, 'keydown', (event) => {\n if (event.which == 27) {\n const currentZIndex = ZIndexUtils.getCurrent();\n if (parseInt((this.container as HTMLDivElement).style.zIndex) == currentZIndex || this.zIndexForLayering == currentZIndex) {\n this.hide();\n }\n }\n });\n }\n\n unbindDocumentEscapeListener() {\n if (this.documentEscapeListener) {\n this.documentEscapeListener();\n this.documentEscapeListener = null;\n }\n }\n\n unbindMaskClickListener() {\n if (this.maskClickListener) {\n this.maskClickListener();\n this.maskClickListener = null;\n }\n }\n\n ngOnDestroy() {\n this.onContainerDestroy();\n\n if (this.componentRef) {\n this.componentRef.destroy();\n }\n this.destroyStyle();\n super.ngOnDestroy();\n }\n}\n\n@NgModule({\n imports: [DynamicDialogComponent, SharedModule],\n exports: [DynamicDialogComponent, SharedModule]\n})\nexport class DynamicDialogModule {}\n","import { InjectOptions, Injector, ProviderToken } from '@angular/core';\n\nexport class DynamicDialogInjector implements Injector {\n constructor(\n private _parentInjector: Injector,\n private _additionalTokens: WeakMap<any, any>\n ) {}\n\n get<T>(token: ProviderToken<T>, notFoundValue?: T, options?: InjectOptions): T {\n const value = this._additionalTokens.get(token);\n\n if (value) return value;\n\n return this._parentInjector.get<any>(token, notFoundValue);\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { ApplicationRef, ComponentRef, EmbeddedViewRef, Inject, Injectable, Injector, Type, createComponent } from '@angular/core';\nimport { appendChild } from '@primeuix/utils';\nimport { DynamicDialogComponent } from './dynamicdialog';\nimport { DynamicDialogConfig } from './dynamicdialog-config';\nimport { DynamicDialogInjector } from './dynamicdialog-injector';\nimport { DynamicDialogRef } from './dynamicdialog-ref';\n\n/**\n * Dynamic Dialog component methods.\n * @group Service\n */\n@Injectable()\nexport class DialogService {\n dialogComponentRefMap: Map<DynamicDialogRef<any>, ComponentRef<DynamicDialogComponent>> = new Map();\n\n constructor(\n private appRef: ApplicationRef,\n private injector: Injector,\n @Inject(DOCUMENT) private document: Document\n ) {}\n /**\n * Displays the dialog using the dynamic dialog object options.\n * @param {*} componentType - Dynamic component for content template.\n * @param {DynamicDialogConfig} config - DynamicDialog object.\n * @returns {DynamicDialogRef} DynamicDialog instance.\n * @group Method\n */\n public open<T, DataType = any, InputValuesType extends Record<string, any> = {}>(componentType: Type<T>, config: DynamicDialogConfig<DataType, InputValuesType>): DynamicDialogRef<T> {\n if (!this.duplicationPermission(componentType, config)) {\n return null;\n }\n\n const dialogRef = this.appendDialogComponentToBody<T>(config, componentType);\n\n this.dialogComponentRefMap.get(dialogRef).instance.childComponentType = componentType;\n this.dialogComponentRefMap.get(dialogRef).instance.inputValues = config.inputValues;\n\n return dialogRef;\n }\n /**\n * Returns the dynamic dialog component instance.\n * @param {ref} DynamicDialogRef - DynamicDialog instance.\n * @group Method\n */\n public getInstance(ref: DynamicDialogRef<any>) {\n return this.dialogComponentRefMap.get(ref).instance;\n }\n\n private appendDialogComponentToBody<T>(config: DynamicDialogConfig, componentType: Type<T>): DynamicDialogRef<T> {\n const map = new WeakMap();\n map.set(DynamicDialogConfig, config);\n\n const dialogRef = new DynamicDialogRef<T>();\n map.set(DynamicDialogRef, dialogRef);\n\n const sub = dialogRef.onClose.subscribe(() => {\n this.dialogComponentRefMap.get(dialogRef).instance.close();\n });\n\n const destroySub = dialogRef.onDestroy.subscribe(() => {\n this.removeDialogComponentFromBody(dialogRef);\n destroySub.unsubscribe();\n sub.unsubscribe();\n });\n\n const componentRef = createComponent(DynamicDialogComponent, {\n environmentInjector: this.appRef.injector,\n elementInjector: new DynamicDialogInjector(this.injector, map)\n });\n\n this.appRef.attachView(componentRef.hostView);\n\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n if (!config.appendTo || config.appendTo === 'body') {\n this.document.body.appendChild(domElem);\n } else {\n appendChild(config.appendTo, domElem);\n }\n\n this.dialogComponentRefMap.set(dialogRef, componentRef);\n\n return dialogRef;\n }\n\n private removeDialogComponentFromBody(dialogRef: DynamicDialogRef<any>) {\n if (!dialogRef || !this.dialogComponentRefMap.has(dialogRef)) {\n return;\n }\n\n const dialogComponentRef = this.dialogComponentRefMap.get(dialogRef);\n this.appRef.detachView(dialogComponentRef.hostView);\n dialogComponentRef.destroy();\n dialogComponentRef.changeDetectorRef.detectChanges();\n this.dialogComponentRefMap.delete(dialogRef);\n }\n\n private duplicationPermission(componentType: Type<any>, config: DynamicDialogConfig): boolean {\n if (config.duplicate) {\n return true;\n }\n let permission = true;\n for (const [key, value] of this.dialogComponentRefMap) {\n if (value.instance.childComponentType === componentType) {\n permission = false;\n break;\n }\n }\n return permission;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.DynamicDialogConfig","i2.DynamicDialogRef"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"primeng-dynamicdialog.mjs","sources":["../../src/dynamicdialog/dynamicdialogcontent.ts","../../src/dynamicdialog/style/dynamicdialogstyle.ts","../../src/dynamicdialog/dynamicdialog-config.ts","../../src/dynamicdialog/dynamicdialog-ref.ts","../../src/dynamicdialog/dynamicdialog.ts","../../src/dynamicdialog/dynamicdialog-injector.ts","../../src/dynamicdialog/dialogservice.ts","../../src/dynamicdialog/primeng-dynamicdialog.ts"],"sourcesContent":["import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[pDynamicDialogContent]',\n standalone: true\n})\nexport class DynamicDialogContent {\n constructor(public viewContainerRef: ViewContainerRef) {}\n}\n","import { Injectable } from '@angular/core';\nimport { DialogStyle } from 'primeng/dialog';\n\n@Injectable()\nexport class DynamicDialogStyle extends DialogStyle {\n name = 'dialog';\n}\n\n/**\n *\n * DynamicDialog is a container to display content in an overlay window.\n *\n * [Live Demo](https://www.primeng.org/dynamicdialog)\n *\n * @module dynamicdialogstyle\n *\n */\nexport enum DynamicDialogClasses {\n /**\n * Class name of the mask element\n */\n mask = 'p-dialog-mask',\n /**\n * Class name of the root element\n */\n root = 'p-dialog',\n /**\n * Class name of the header element\n */\n header = 'p-dialog-header',\n /**\n * Class name of the title element\n */\n title = 'p-dialog-title',\n /**\n * Class name of the header actions element\n */\n headerActions = 'p-dialog-header-actions',\n /**\n * Class name of the maximize button element\n */\n pcMaximizeButton = 'p-dialog-maximize-button',\n /**\n * Class name of the close button element\n */\n pcCloseButton = 'p-dialog-close-button',\n /**\n * Class name of the content element\n */\n content = 'p-dialog-content',\n /**\n * Class name of the footer element\n */\n footer = 'p-dialog-footer'\n}\n\nexport interface DynamicDialogStyle {}\n","import { Type } from '@angular/core';\n\n/**\n * Dialogs can be created dynamically with any component as the content using a DialogService.\n * @group Components\n */\nexport class DynamicDialogConfig<DataType = any, InputValuesType extends Record<string, any> = {}> {\n /**\n * An object to pass to the component loaded inside the Dialog.\n * @group Props\n */\n data?: DataType;\n /**\n * An object to pass to the component loaded inside the Dialog.\n * @group Props\n */\n inputValues?: InputValuesType;\n /**\n * Header text of the dialog.\n * @group Props\n */\n header?: string;\n /**\n * Identifies the element (or elements) that labels the element it is applied to.\n * @group Props\n */\n ariaLabelledBy?: string;\n /**\n * Footer text of the dialog.\n * @group Props\n */\n footer?: string;\n /**\n * Width of the dialog.\n * @group Props\n */\n width?: string;\n /**\n * Height of the dialog.\n * @group Props\n */\n height?: string;\n /**\n * Specifies if pressing escape key should hide the dialog.\n * @group Props\n */\n closeOnEscape?: boolean = false;\n /**\n * Specifies if autofocus should happen on show.\n * @group Props\n */\n focusOnShow?: boolean = true;\n /**\n * When enabled, can only focus on elements inside the dialog.\n * @group Props\n */\n focusTrap?: boolean = true;\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n baseZIndex?: number;\n /**\n * Whether to re-enforce layering through applying zIndex.\n * @group Props\n */\n autoZIndex?: boolean = false;\n /**\n * Specifies if clicking the modal background should hide the dialog.\n * @group Props\n */\n dismissableMask?: boolean = false;\n /**\n * Inline style of the component.\n * @group Props\n */\n rtl?: boolean = false;\n /**\n * Inline style of the component.\n * @group Props\n */\n style?: { [klass: string]: any } | null | undefined;\n /**\n * Inline style of the content.\n * @group Props\n */\n contentStyle?: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n styleClass?: string;\n /**\n * Transition options of the animation.\n * @group Props\n */\n transitionOptions?: string;\n /**\n * Adds a close icon to the header to hide the dialog.\n * @group Props\n */\n closable?: boolean = false;\n /**\n * Whether to show the header or not.\n * @group Props\n */\n showHeader?: boolean = false;\n /**\n * Defines if background should be blocked when dialog is displayed.\n * @group Props\n */\n modal?: boolean = false;\n /**\n * Style class of the mask.\n * @group Props\n */\n maskStyleClass?: string;\n /**\n * Enables resizing of the content.\n * @group Props\n */\n resizable?: boolean = false;\n /**\n * Enables dragging to change the position using header.\n * @group Props\n */\n draggable?: boolean = false;\n /**\n * Keeps dialog in the viewport.\n * @group Props\n */\n keepInViewport?: boolean = false;\n /**\n * Minimum value for the left coordinate of dialog in dragging.\n * @group Props\n */\n minX?: number;\n /**\n * Minimum value for the top coordinate of dialog in dragging.\n * @group Props\n */\n minY?: number;\n /**\n * Whether the dialog can be displayed full screen.\n * @group Props\n */\n maximizable?: boolean = false;\n /**\n * Name of the maximize icon.\n * @group Props\n */\n maximizeIcon?: string;\n /**\n * Name of the minimize icon.\n * @group Props\n */\n minimizeIcon?: string;\n /**\n * Position of the dialog, options are \"center\", \"top\", \"bottom\", \"left\", \"right\", \"topleft\", \"topright\", \"bottomleft\" or \"bottomright\".\n * @group Props\n */\n position?: string;\n /**\n * Defines a string that labels the close button for accessibility.\n * @group Props\n */\n closeAriaLabel?: string;\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n appendTo?: any;\n /**\n * A boolean to determine if it can be duplicate.\n * @group Props\n */\n duplicate?: boolean = false;\n /**\n * Object literal to define widths per screen size.\n * @group Props\n */\n breakpoints?: any;\n /**\n * Dialog templates.\n * @group Props\n */\n templates?: DynamicDialogTemplates;\n}\n\n/**\n * Defines valid templates in Dynamic Dialog.\n * @group Interface\n */\nexport interface DynamicDialogTemplates {\n /**\n * Template of the header.\n */\n header?: Type<any>;\n /**\n * Template of the content.\n */\n content?: Type<any>;\n /**\n * Template of the footer.\n */\n footer?: Type<any>;\n /**\n * Template of the minimize icon.\n */\n minimizeicon?: Type<any>;\n /**\n * Template of the maximize icon.\n */\n maximizeicon?: Type<any>;\n /**\n * Template of the close icon.\n */\n closeicon?: Type<any>;\n}\n","import { Observable, Subject } from 'rxjs';\nimport { Output, EventEmitter, Type } from '@angular/core';\n/**\n * Dynamic Dialog instance.\n * @group Components\n */\nexport class DynamicDialogRef<ComponentType = any> {\n constructor() {}\n /**\n * Closes dialog.\n * @group Method\n */\n close(result?: any) {\n this._onClose.next(result);\n\n setTimeout(() => {\n this._onClose.complete();\n }, 1000);\n }\n /**\n * Destroys the dialog instance.\n * @group Method\n */\n destroy() {\n this._onDestroy.next(null);\n }\n /**\n * Callback to invoke on drag start.\n * @param {MouseEvent} event - Mouse event.\n * @group Method\n */\n dragStart(event: MouseEvent) {\n this._onDragStart.next(event);\n }\n /**\n * Callback to invoke on drag end.\n * @param {MouseEvent} event - Mouse event.\n * @group Method\n */\n dragEnd(event: MouseEvent) {\n this._onDragEnd.next(event);\n }\n /**\n * Callback to invoke on resize start.\n * @param {MouseEvent} event - Mouse event.\n * @group Method\n */\n resizeInit(event: MouseEvent) {\n this._onResizeInit.next(event);\n }\n /**\n * Callback to invoke on resize start.\n * @param {MouseEvent} event - Mouse event.\n * @group Method\n */\n resizeEnd(event: MouseEvent) {\n this._onResizeEnd.next(event);\n }\n /**\n * Callback to invoke on dialog is maximized.\n * @param {*} value - Size value.\n * @group Method\n */\n maximize(value: any) {\n this._onMaximize.next(value);\n }\n\n private readonly _onClose = new Subject<any>();\n /**\n * Event triggered on dialog is closed.\n * @group Events\n */\n onClose: Observable<any> = this._onClose.asObservable();\n\n private readonly _onDestroy = new Subject<any>();\n /**\n * Event triggered on dialog instance is destroyed.\n * @group Events\n */\n onDestroy: Observable<any> = this._onDestroy.asObservable();\n\n private readonly _onDragStart = new Subject<any>();\n /**\n * Event triggered on drag start.\n * @param {MouseEvent} event - Mouse event.\n * @group Events\n */\n onDragStart: Observable<any> = this._onDragStart.asObservable();\n\n private readonly _onDragEnd = new Subject<any>();\n /**\n * Event triggered on drag end.\n * @param {MouseEvent} event - Mouse event.\n * @group Events\n */\n onDragEnd: Observable<any> = this._onDragEnd.asObservable();\n\n private readonly _onResizeInit = new Subject<any>();\n /**\n * Event triggered on resize start.\n * @param {MouseEvent} event - Mouse event.\n * @group Events\n */\n onResizeInit: Observable<any> = this._onResizeInit.asObservable();\n\n private readonly _onResizeEnd = new Subject<any>();\n /**\n * Event triggered on resize end.\n * @param {MouseEvent} event - Mouse event.\n * @group Events\n */\n onResizeEnd: Observable<any> = this._onResizeEnd.asObservable();\n\n private readonly _onMaximize = new Subject<any>();\n /**\n * Event triggered on dialog is maximized.\n * @param {*} value - Size value.\n * @group Events\n */\n onMaximize: Observable<any> = this._onMaximize.asObservable();\n\n /**\n * Event triggered on child component load.\n * @param {*} value - Chi.\n * @group Events\n */\n readonly onChildComponentLoaded = new Subject<ComponentType>();\n}\n","import { animate, animation, AnimationEvent, style, transition, trigger, useAnimation } from '@angular/animations';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, ComponentRef, ElementRef, inject, NgModule, NgZone, OnDestroy, Optional, Renderer2, SkipSelf, Type, ViewChild, ViewEncapsulation, ViewRef } from '@angular/core';\nimport { addClass, getOuterHeight, getOuterWidth, getViewport, hasClass, removeClass, setAttribute, uuid } from '@primeuix/utils';\nimport { SharedModule, TranslationKeys } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Button } from 'primeng/button';\nimport { DomHandler } from 'primeng/dom';\nimport { FocusTrap } from 'primeng/focustrap';\nimport { TimesIcon, WindowMaximizeIcon, WindowMinimizeIcon } from 'primeng/icons';\nimport { Nullable, VoidListener } from 'primeng/ts-helpers';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { DynamicDialogConfig } from './dynamicdialog-config';\nimport { DynamicDialogRef } from './dynamicdialog-ref';\nimport { DynamicDialogContent } from './dynamicdialogcontent';\nimport { DynamicDialogStyle } from './style/dynamicdialogstyle';\n\nconst showAnimation = animation([style({ transform: '{{transform}}', opacity: 0 }), animate('{{transition}}', style({ transform: 'none', opacity: 1 }))]);\n\nconst hideAnimation = animation([animate('{{transition}}', style({ transform: '{{transform}}', opacity: 0 }))]);\n\n@Component({\n selector: 'p-dynamicDialog, p-dynamicdialog, p-dynamic-dialog',\n standalone: true,\n imports: [CommonModule, SharedModule, DynamicDialogContent, WindowMaximizeIcon, WindowMinimizeIcon, TimesIcon, Button, FocusTrap],\n template: `\n <div\n #mask\n [ngStyle]=\"{\n position: 'fixed',\n height: '100%',\n width: '100%',\n left: 0,\n top: 0,\n display: 'flex',\n 'justify-content': position === 'left' || position === 'topleft' || position === 'bottomleft' ? 'flex-start' : position === 'right' || position === 'topright' || position === 'bottomright' ? 'flex-end' : 'center',\n 'align-items': position === 'top' || position === 'topleft' || position === 'topright' ? 'flex-start' : position === 'bottom' || position === 'bottomleft' || position === 'bottomright' ? 'flex-end' : 'center',\n 'pointer-events': ddconfig.modal ? 'auto' : 'none'\n }\"\n [class]=\"ddconfig.maskStyleClass\"\n [ngClass]=\"maskClass\"\n >\n <div\n *ngIf=\"visible\"\n #container\n [ngClass]=\"{ 'p-dialog p-component': true, 'p-dialog-maximized': maximizable && maximized }\"\n [ngStyle]=\"{ display: 'flex', 'flex-direction': 'column', 'pointer-events': 'auto' }\"\n [style]=\"ddconfig.style\"\n [class]=\"ddconfig.styleClass\"\n [@animation]=\"{\n value: 'visible',\n params: {\n transform: transformOptions,\n transition: ddconfig.transitionOptions || '150ms cubic-bezier(0, 0, 0.2, 1)'\n }\n }\"\n (@animation.start)=\"onAnimationStart($event)\"\n (@animation.done)=\"onAnimationEnd($event)\"\n role=\"dialog\"\n pFocusTrap\n [pFocusTrapDisabled]=\"ddconfig.focusTrap === false\"\n [style.width]=\"ddconfig.width\"\n [style.height]=\"ddconfig.height\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-modal]=\"true\"\n [attr.id]=\"dialogId\"\n >\n <div *ngIf=\"ddconfig.resizable\" [ngClass]=\"'p-resizable-handle'\" style=\"z-index: 90;\" (mousedown)=\"initResize($event)\"></div>\n <div #titlebar [ngClass]=\"'p-dialog-header'\" (mousedown)=\"initDrag($event)\" *ngIf=\"ddconfig.showHeader !== false\">\n <ng-container *ngComponentOutlet=\"headerTemplate\"></ng-container>\n <ng-container *ngIf=\"!headerTemplate\">\n <span [ngClass]=\"'p-dialog-title'\" [id]=\"ariaLabelledBy\">{{ ddconfig.header }}</span>\n <div [ngClass]=\"'p-dialog-header-actions'\">\n <p-button *ngIf=\"ddconfig.maximizable\" [styleClass]=\"'p-dialog-maximize-button'\" (onClick)=\"maximize()\" (keydown.enter)=\"maximize()\" rounded text [tabindex]=\"maximizable ? '0' : '-1'\">\n <ng-template #icon>\n <ng-container *ngIf=\"!maximized\">\n <svg data-p-icon=\"window-maximize\" *ngIf=\"!maximizeIconTemplate\" />\n <ng-template *ngTemplateOutlet=\"maximizeIconTemplate\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"maximized\">\n <svg data-p-icon=\"window-minimize\" *ngIf=\"!minimizeIconTemplate\" />\n <ng-template *ngTemplateOutlet=\"minimizeIconTemplate\"></ng-template>\n </ng-container>\n </ng-template>\n </p-button>\n <p-button *ngIf=\"closable\" [styleClass]=\"'p-dialog-close-button'\" [ariaLabel]=\"ddconfig.closeAriaLabel || defaultCloseAriaLabel\" (onClick)=\"hide()\" (keydown.enter)=\"hide()\" rounded text severity=\"secondary\">\n <ng-template #icon>\n <svg *ngIf=\"!closeIconTemplate\" data-p-icon=\"times\" />\n <ng-template *ngTemplateOutlet=\"closeIconTemplate\"></ng-template>\n </ng-template>\n </p-button>\n </div>\n </ng-container>\n </div>\n <div #content [ngClass]=\"'p-dialog-content'\" [ngStyle]=\"ddconfig.contentStyle\">\n <ng-template pDynamicDialogContent *ngIf=\"!contentTemplate\"></ng-template>\n <ng-container *ngComponentOutlet=\"contentTemplate\"></ng-container>\n </div>\n <div #footer [ngClass]=\"'p-dialog-footer'\" *ngIf=\"ddconfig.footer || footerTemplate\">\n <ng-container *ngIf=\"!footerTemplate\">\n {{ ddconfig.footer }}\n </ng-container>\n <ng-container *ngComponentOutlet=\"footerTemplate\"></ng-container>\n </div>\n </div>\n </div>\n `,\n animations: [trigger('animation', [transition('void => visible', [useAnimation(showAnimation)]), transition('visible => void', [useAnimation(hideAnimation)])])],\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n providers: [DynamicDialogStyle]\n})\nexport class DynamicDialogComponent extends BaseComponent implements AfterViewInit, OnDestroy {\n visible: boolean = true;\n\n componentRef: Nullable<ComponentRef<any>>;\n\n mask: Nullable<HTMLDivElement>;\n\n resizing: boolean | undefined;\n\n dragging: boolean | undefined;\n\n maximized: boolean | undefined;\n\n _style: any = {};\n\n originalStyle: any;\n\n lastPageX: number | undefined;\n\n lastPageY: number | undefined;\n\n ariaLabelledBy: string | undefined | null;\n\n id: string = uuid('pn_id_');\n\n styleElement: any;\n\n @ViewChild(DynamicDialogContent) insertionPoint: Nullable<DynamicDialogContent>;\n\n @ViewChild('mask') maskViewChild: Nullable<ElementRef>;\n\n @ViewChild('content') contentViewChild: Nullable<ElementRef>;\n\n @ViewChild('footer') footerViewChild: Nullable<ElementRef>;\n\n @ViewChild('titlebar') headerViewChild: Nullable<ElementRef>;\n\n childComponentType: Nullable<Type<any>>;\n\n inputValues: Record<string, any>;\n\n container: Nullable<HTMLDivElement>;\n\n wrapper: Nullable<HTMLElement>;\n\n documentKeydownListener: VoidListener;\n\n documentEscapeListener: VoidListener;\n\n maskClickListener: VoidListener;\n\n transformOptions: string = 'scale(0.7)';\n\n documentResizeListener: VoidListener;\n\n documentResizeEndListener: VoidListener;\n\n documentDragListener: VoidListener;\n\n documentDragEndListener: VoidListener;\n\n _componentStyle = inject(DynamicDialogStyle);\n\n get minX(): number {\n return this.ddconfig.minX ? this.ddconfig.minX : 0;\n }\n\n get minY(): number {\n return this.ddconfig.minY ? this.ddconfig.minY : 0;\n }\n\n get keepInViewport(): boolean {\n return this.ddconfig.keepInViewport!;\n }\n\n get maximizable(): boolean {\n return this.ddconfig.maximizable!;\n }\n\n get maximizeIcon(): string {\n return this.ddconfig.maximizeIcon!;\n }\n\n get minimizeIcon(): string {\n return this.ddconfig.minimizeIcon!;\n }\n\n get closable() {\n return this.ddconfig.closable!;\n }\n\n get style(): any {\n return this._style;\n }\n\n get position(): string {\n return this.ddconfig.position!;\n }\n\n get defaultCloseAriaLabel(): string {\n return this.config.getTranslation(TranslationKeys.ARIA)['close'];\n }\n\n set style(value: any) {\n if (value) {\n this._style = { ...value };\n this.originalStyle = value;\n }\n }\n\n get parent() {\n const domElements = Array.from(this.document.getElementsByClassName('p-dialog'));\n if (domElements.length > 1) {\n return domElements.pop();\n }\n }\n\n get parentContent() {\n const domElements = Array.from(this.document.getElementsByClassName('p-dialog'));\n if (domElements.length > 0) {\n const contentElements = domElements[domElements.length - 1].querySelector('.p-dialog-content');\n if (contentElements) return Array.isArray(contentElements) ? contentElements[0] : contentElements;\n }\n }\n\n get header() {\n return this.ddconfig.header;\n }\n\n get data() {\n return this.ddconfig.data;\n }\n\n get breakpoints() {\n return this.ddconfig.breakpoints;\n }\n\n get footerTemplate() {\n return this.ddconfig?.templates?.footer;\n }\n\n get headerTemplate() {\n return this.ddconfig?.templates?.header;\n }\n\n get contentTemplate() {\n return this.ddconfig?.templates?.content;\n }\n\n get minimizeIconTemplate(): any {\n return this.ddconfig?.templates?.minimizeicon;\n }\n\n get maximizeIconTemplate(): any {\n return this.ddconfig?.templates?.maximizeicon;\n }\n\n get closeIconTemplate() {\n return this.ddconfig?.templates?.closeicon;\n }\n\n get maskClass() {\n const positions = ['left', 'right', 'top', 'topleft', 'topright', 'bottom', 'bottomleft', 'bottomright'];\n const pos = positions.find((item) => item === this.position);\n\n return {\n 'p-dialog-mask': true,\n 'p-overlay-mask p-overlay-mask-enter': this.ddconfig.modal || this.ddconfig.dismissableMask,\n [`p-dialog-${pos}`]: pos\n };\n }\n\n get dialogId() {\n return this.attrSelector;\n }\n\n private zIndexForLayering?: number;\n\n constructor(\n public renderer: Renderer2,\n public ddconfig: DynamicDialogConfig,\n private dialogRef: DynamicDialogRef,\n public zone: NgZone,\n @SkipSelf() @Optional() private parentDialog: DynamicDialogComponent\n ) {\n super();\n }\n\n ngOnInit() {\n super.ngOnInit();\n if (this.breakpoints) {\n this.createStyle();\n }\n }\n\n createStyle() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.styleElement) {\n this.styleElement = this.renderer.createElement('style');\n this.styleElement.type = 'text/css';\n setAttribute(this.styleElement, 'nonce', this.config?.csp()?.nonce);\n this.renderer.appendChild(this.document.head, this.styleElement);\n let innerHTML = '';\n for (let breakpoint in this.breakpoints) {\n innerHTML += `\n @media screen and (max-width: ${breakpoint}) {\n .p-dialog[id=${this.dialogId}]:not(.p-dialog-maximized) {\n width: ${this.breakpoints[breakpoint]} !important;\n }\n }\n `;\n }\n\n this.renderer.setProperty(this.styleElement, 'innerHTML', innerHTML);\n setAttribute(this.styleElement, 'nonce', this.config?.csp()?.nonce);\n }\n }\n }\n destroyStyle() {\n if (this.styleElement) {\n this.renderer.removeChild(this.document.head, this.styleElement);\n this.styleElement = null;\n }\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n this.loadChildComponent(this.childComponentType!);\n this.ariaLabelledBy = this.getAriaLabelledBy();\n this.cd.detectChanges();\n }\n\n getAriaLabelledBy() {\n const { header, showHeader } = this.ddconfig;\n\n if (header === null || showHeader === false) {\n return null;\n }\n return uuid('pn_id_') + '_header';\n }\n\n loadChildComponent(componentType: Type<any>) {\n let viewContainerRef = this.insertionPoint?.viewContainerRef;\n viewContainerRef?.clear();\n\n this.componentRef = viewContainerRef?.createComponent(componentType);\n\n if (this.inputValues && this.componentRef) {\n Object.entries(this.inputValues).forEach(([key, value]) => {\n this.componentRef!.setInput(key, value);\n });\n }\n\n this.dialogRef.onChildComponentLoaded.next(this.componentRef!.instance);\n }\n\n moveOnTop() {\n if (this.ddconfig.autoZIndex !== false) {\n ZIndexUtils.set('modal', this.container, (this.ddconfig.baseZIndex || 0) + this.config.zIndex.modal);\n (this.wrapper as HTMLElement).style.zIndex = String(parseInt((this.container as HTMLDivElement).style.zIndex, 10) - 1);\n } else {\n this.zIndexForLayering = ZIndexUtils.generateZIndex('modal', (this.ddconfig.baseZIndex || 0) + this.config.zIndex.modal);\n }\n }\n\n onAnimationStart(event: AnimationEvent) {\n switch (event.toState) {\n case 'visible':\n this.container = event.element;\n this.wrapper = (this.container as HTMLDivElement).parentElement;\n this.moveOnTop();\n if (this.parent) {\n this.unbindGlobalListeners();\n }\n this.bindGlobalListeners();\n this.container?.setAttribute(this.id, '');\n\n if (this.ddconfig.modal !== false) {\n this.enableModality();\n }\n\n if (this.ddconfig.focusOnShow !== false) {\n this.focus();\n }\n break;\n\n case 'void':\n if (this.wrapper && this.ddconfig.modal !== false) {\n addClass(this.wrapper, 'p-overlay-mask-leave');\n }\n break;\n }\n }\n\n onAnimationEnd(event: AnimationEvent) {\n if (event.toState === 'void') {\n if (this.parentContent) {\n this.focus(this.parentContent);\n }\n this.onContainerDestroy();\n this.dialogRef.destroy();\n }\n }\n\n onContainerDestroy() {\n this.unbindGlobalListeners();\n\n if (this.container && this.ddconfig.autoZIndex !== false) {\n ZIndexUtils.clear(this.container);\n }\n if (this.zIndexForLayering) {\n ZIndexUtils.revertZIndex(this.zIndexForLayering);\n }\n\n if (this.ddconfig.modal !== false) {\n this.disableModality();\n }\n this.container = null;\n }\n\n close() {\n this.visible = false;\n this.cd.markForCheck();\n }\n\n hide() {\n if (this.dialogRef) {\n this.dialogRef.close();\n }\n }\n\n enableModality() {\n if (this.ddconfig.dismissableMask && this.wrapper) {\n this.maskClickListener = this.renderer.listen(this.wrapper, 'mousedown', (event: any) => {\n if (this.wrapper && this.wrapper.isSameNode(event.target)) {\n this.hide();\n }\n });\n }\n\n if (this.ddconfig.modal !== false) {\n addClass(this.document.body, 'p-overflow-hidden');\n }\n }\n\n disableModality() {\n if (this.wrapper) {\n if (this.ddconfig.dismissableMask) {\n this.unbindMaskClickListener();\n }\n\n if (this.ddconfig.modal !== false) {\n removeClass(this.document.body, 'p-overflow-hidden');\n }\n\n if (!(this.cd as ViewRef).destroyed) {\n this.cd.detectChanges();\n }\n }\n }\n\n focus(focusParentElement = this.contentViewChild?.nativeElement) {\n if (!focusParentElement) return;\n let focusable = DomHandler.getFocusableElement(focusParentElement, '[autofocus]');\n if (focusable) {\n this.zone.runOutsideAngular(() => {\n setTimeout(() => focusable.focus(), 5);\n });\n return;\n }\n const focusableElement = DomHandler.getFocusableElement(focusParentElement);\n if (focusableElement) {\n this.zone.runOutsideAngular(() => {\n setTimeout(() => focusableElement.focus(), 5);\n });\n } else if (this.footerViewChild && focusParentElement !== this.footerViewChild.nativeElement) {\n // If the content section is empty try to focus on footer (avoid recursion)\n this.focus(this.footerViewChild.nativeElement);\n } else if (!focusableElement && this.headerViewChild && focusParentElement !== this.headerViewChild.nativeElement) {\n // If footer is also empty, try header (avoid recursion)\n this.focus(this.headerViewChild.nativeElement);\n }\n }\n\n maximize() {\n this.maximized = !this.maximized;\n\n if (this.maximized) {\n addClass(this.document.body, 'p-overflow-hidden');\n } else {\n removeClass(this.document.body, 'p-overflow-hidden');\n }\n\n this.dialogRef.maximize({ maximized: this.maximized });\n }\n\n initResize(event: MouseEvent) {\n if (this.ddconfig.resizable) {\n if (!this.documentResizeListener) {\n this.bindDocumentResizeListeners();\n }\n\n this.resizing = true;\n this.lastPageX = event.pageX;\n this.lastPageY = event.pageY;\n addClass(this.document.body, 'p-unselectable-text');\n this.dialogRef.resizeInit(event);\n }\n }\n\n onResize(event: MouseEvent) {\n if (this.resizing) {\n let deltaX = event.pageX - (this.lastPageX as number);\n let deltaY = event.pageY - (this.lastPageY as number);\n let containerWidth = this.container ? getOuterWidth(this.container) : 0;\n let containerHeight = this.container ? getOuterHeight(this.container) : 0;\n let contentHeight = getOuterHeight((<ElementRef>this.contentViewChild).nativeElement);\n let newWidth = containerWidth + deltaX;\n let newHeight = containerHeight + deltaY;\n let minWidth = (this.container as HTMLDivElement).style.minWidth;\n let minHeight = (this.container as HTMLDivElement).style.minHeight;\n let offset = (this.container as HTMLDivElement).getBoundingClientRect();\n let viewport = getViewport();\n let hasBeenDragged = !parseInt((this.container as HTMLDivElement).style.top) || !parseInt((this.container as HTMLDivElement).style.left);\n\n if (hasBeenDragged) {\n newWidth += deltaX;\n newHeight += deltaY;\n }\n\n if ((!minWidth || newWidth > parseInt(minWidth)) && offset.left + newWidth < viewport.width) {\n this._style.width = newWidth + 'px';\n (this.container as HTMLDivElement).style.width = this._style.width;\n }\n\n if ((!minHeight || newHeight > parseInt(minHeight)) && offset.top + newHeight < viewport.height) {\n (<ElementRef>this.contentViewChild).nativeElement.style.height = contentHeight + newHeight - containerHeight + 'px';\n\n if (this._style.height) {\n this._style.height = newHeight + 'px';\n (this.container as HTMLDivElement).style.height = this._style.height;\n }\n }\n\n this.lastPageX = event.pageX;\n this.lastPageY = event.pageY;\n }\n }\n\n resizeEnd(event: MouseEvent) {\n if (this.resizing) {\n this.resizing = false;\n removeClass(this.document.body, 'p-unselectable-text');\n this.dialogRef.resizeEnd(event);\n }\n }\n\n initDrag(event: MouseEvent) {\n const target = event.target as HTMLElement;\n if (hasClass(target, 'p-dialog-header-icon') || (target.parentElement && hasClass(target.parentElement, 'p-dialog-header-icon'))) {\n return;\n }\n\n if (this.ddconfig.draggable) {\n this.dragging = true;\n this.lastPageX = event.pageX;\n this.lastPageY = event.pageY;\n\n (this.container as HTMLDivElement).style.margin = '0';\n addClass(this.document.body, 'p-unselectable-text');\n this.dialogRef.dragStart(event);\n }\n }\n\n onDrag(event: MouseEvent) {\n if (this.dragging) {\n let containerWidth = this.container ? getOuterWidth(this.container) : 0;\n let containerHeight = this.container ? getOuterHeight(this.container) : 0;\n let deltaX = event.pageX - (this.lastPageX as number);\n let deltaY = event.pageY - (this.lastPageY as number);\n let offset = (this.container as HTMLDivElement).getBoundingClientRect();\n let leftPos = offset.left + deltaX;\n let topPos = offset.top + deltaY;\n let viewport = getViewport();\n\n (this.container as HTMLDivElement).style.position = 'fixed';\n\n if (this.keepInViewport) {\n if (leftPos >= this.minX && leftPos + containerWidth < viewport.width) {\n this._style.left = leftPos + 'px';\n this.lastPageX = event.pageX;\n (this.container as HTMLDivElement).style.left = leftPos + 'px';\n }\n\n if (topPos >= this.minY && topPos + containerHeight < viewport.height) {\n this._style.top = topPos + 'px';\n this.lastPageY = event.pageY;\n (this.container as HTMLDivElement).style.top = topPos + 'px';\n }\n } else {\n this.lastPageX = event.pageX;\n (this.container as HTMLDivElement).style.left = leftPos + 'px';\n this.lastPageY = event.pageY;\n (this.container as HTMLDivElement).style.top = topPos + 'px';\n }\n }\n }\n\n endDrag(event: MouseEvent) {\n if (this.dragging) {\n this.dragging = false;\n removeClass(this.document.body, 'p-unselectable-text');\n this.dialogRef.dragEnd(event);\n this.cd.detectChanges();\n }\n }\n\n resetPosition() {\n (this.container as HTMLDivElement).style.position = '';\n (this.container as HTMLDivElement).style.left = '';\n (this.container as HTMLDivElement).style.top = '';\n (this.container as HTMLDivElement).style.margin = '';\n }\n\n bindDocumentDragListener() {\n if (isPlatformBrowser(this.platformId)) {\n this.zone.runOutsideAngular(() => {\n this.documentDragListener = this.renderer.listen(this.document, 'mousemove', this.onDrag.bind(this));\n });\n }\n }\n\n bindDocumentDragEndListener() {\n if (isPlatformBrowser(this.platformId)) {\n this.zone.runOutsideAngular(() => {\n this.documentDragEndListener = this.renderer.listen(this.document, 'mouseup', this.endDrag.bind(this));\n });\n }\n }\n\n unbindDocumentDragEndListener() {\n if (this.documentDragEndListener) {\n this.documentDragEndListener();\n this.documentDragEndListener = null;\n }\n }\n\n unbindDocumentDragListener() {\n if (this.documentDragListener) {\n this.documentDragListener();\n this.documentDragListener = null;\n }\n }\n\n bindDocumentResizeListeners() {\n if (isPlatformBrowser(this.platformId)) {\n this.zone.runOutsideAngular(() => {\n this.documentResizeListener = this.renderer.listen(this.document, 'mousemove', this.onResize.bind(this));\n this.documentResizeEndListener = this.renderer.listen(this.document, 'mouseup', this.resizeEnd.bind(this));\n });\n }\n }\n\n unbindDocumentResizeListeners() {\n if (this.documentResizeListener && this.documentResizeEndListener) {\n this.documentResizeListener();\n this.documentResizeEndListener();\n this.documentResizeListener = null;\n this.documentResizeEndListener = null;\n }\n }\n\n bindGlobalListeners() {\n if (this.ddconfig.closeOnEscape !== false) {\n this.bindDocumentEscapeListener();\n }\n\n if (this.ddconfig.resizable) {\n this.bindDocumentResizeListeners();\n }\n\n if (this.ddconfig.draggable) {\n this.bindDocumentDragListener();\n this.bindDocumentDragEndListener();\n }\n }\n\n unbindGlobalListeners() {\n this.unbindDocumentEscapeListener();\n this.unbindDocumentResizeListeners();\n this.unbindDocumentDragListener();\n this.unbindDocumentDragEndListener();\n }\n\n bindDocumentEscapeListener() {\n const documentTarget: any = this.maskViewChild ? this.maskViewChild.nativeElement.ownerDocument : 'document';\n\n this.documentEscapeListener = this.renderer.listen(documentTarget, 'keydown', (event) => {\n if (event.key === 'Escape' || event.keyCode === 27 || event.which === 27) {\n const currentZIndex = ZIndexUtils.getCurrent();\n if (parseInt((this.container as HTMLDivElement).style.zIndex) == currentZIndex || this.zIndexForLayering == currentZIndex) {\n this.hide();\n }\n }\n });\n }\n\n unbindDocumentEscapeListener() {\n if (this.documentEscapeListener) {\n this.documentEscapeListener();\n this.documentEscapeListener = null;\n }\n }\n\n unbindMaskClickListener() {\n if (this.maskClickListener) {\n this.maskClickListener();\n this.maskClickListener = null;\n }\n }\n\n ngOnDestroy() {\n this.onContainerDestroy();\n\n if (this.componentRef && typeof this.componentRef.destroy === 'function') {\n this.componentRef.destroy();\n }\n this.destroyStyle();\n super.ngOnDestroy();\n }\n}\n\n@NgModule({\n imports: [DynamicDialogComponent, SharedModule],\n exports: [DynamicDialogComponent, SharedModule]\n})\nexport class DynamicDialogModule {}\n","import { InjectOptions, Injector, ProviderToken } from '@angular/core';\n\nexport class DynamicDialogInjector implements Injector {\n constructor(\n private _parentInjector: Injector,\n private _additionalTokens: WeakMap<any, any>\n ) {}\n\n get<T>(token: ProviderToken<T>, notFoundValue?: T, options?: InjectOptions): T {\n const value = this._additionalTokens.get(token);\n\n if (value) return value;\n\n return this._parentInjector.get<any>(token, notFoundValue);\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { ApplicationRef, ComponentRef, EmbeddedViewRef, Inject, Injectable, Injector, Type, createComponent } from '@angular/core';\nimport { appendChild } from '@primeuix/utils';\nimport { DynamicDialogComponent } from './dynamicdialog';\nimport { DynamicDialogConfig } from './dynamicdialog-config';\nimport { DynamicDialogInjector } from './dynamicdialog-injector';\nimport { DynamicDialogRef } from './dynamicdialog-ref';\n\n/**\n * Dynamic Dialog component methods.\n * @group Service\n */\n@Injectable()\nexport class DialogService {\n dialogComponentRefMap: Map<DynamicDialogRef<any>, ComponentRef<DynamicDialogComponent>> = new Map();\n\n constructor(\n private appRef: ApplicationRef,\n private injector: Injector,\n @Inject(DOCUMENT) private document: Document\n ) {}\n /**\n * Displays the dialog using the dynamic dialog object options.\n * @param {*} componentType - Dynamic component for content template.\n * @param {DynamicDialogConfig} config - DynamicDialog object.\n * @returns {DynamicDialogRef} DynamicDialog instance.\n * @group Method\n */\n public open<T, DataType = any, InputValuesType extends Record<string, any> = {}>(componentType: Type<T>, config: DynamicDialogConfig<DataType, InputValuesType>): DynamicDialogRef<T> | null {\n if (!this.duplicationPermission(componentType, config)) {\n return null;\n }\n\n const dialogRef = this.appendDialogComponentToBody<T>(config, componentType);\n\n const componentRefInstance = this.dialogComponentRefMap.get(dialogRef);\n if (componentRefInstance) {\n componentRefInstance.instance.childComponentType = componentType;\n componentRefInstance.instance.inputValues = config.inputValues || {};\n }\n\n return dialogRef;\n }\n /**\n * Returns the dynamic dialog component instance.\n * @param {DynamicDialogRef} ref - DynamicDialog instance.\n * @group Method\n */\n public getInstance(ref: DynamicDialogRef<any>) {\n return this.dialogComponentRefMap.get(ref)?.instance;\n }\n\n private appendDialogComponentToBody<T>(config: DynamicDialogConfig, componentType: Type<T>): DynamicDialogRef<T> {\n const map = new WeakMap();\n map.set(DynamicDialogConfig, config);\n\n const dialogRef = new DynamicDialogRef<T>();\n map.set(DynamicDialogRef, dialogRef);\n\n const sub = dialogRef.onClose.subscribe(() => {\n this.dialogComponentRefMap.get(dialogRef)?.instance.close();\n });\n\n const destroySub = dialogRef.onDestroy.subscribe(() => {\n this.removeDialogComponentFromBody(dialogRef);\n destroySub.unsubscribe();\n sub.unsubscribe();\n });\n\n const componentRef = createComponent(DynamicDialogComponent, {\n environmentInjector: this.appRef.injector,\n elementInjector: new DynamicDialogInjector(this.injector, map)\n });\n\n this.appRef.attachView(componentRef.hostView);\n\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n if (!config.appendTo || config.appendTo === 'body') {\n this.document.body.appendChild(domElem);\n } else {\n appendChild(config.appendTo, domElem);\n }\n\n this.dialogComponentRefMap.set(dialogRef, componentRef);\n\n return dialogRef;\n }\n\n private removeDialogComponentFromBody(dialogRef: DynamicDialogRef<any>) {\n if (!dialogRef || !this.dialogComponentRefMap.has(dialogRef)) {\n return;\n }\n\n const dialogComponentRef = this.dialogComponentRefMap.get(dialogRef);\n if (dialogComponentRef) {\n this.appRef.detachView(dialogComponentRef.hostView);\n dialogComponentRef.destroy();\n dialogComponentRef.changeDetectorRef.detectChanges();\n }\n this.dialogComponentRefMap.delete(dialogRef);\n }\n\n private duplicationPermission(componentType: Type<any>, config: DynamicDialogConfig): boolean {\n if (config.duplicate) {\n return true;\n }\n let permission = true;\n for (const [key, value] of this.dialogComponentRefMap) {\n if (value.instance.childComponentType === componentType) {\n permission = false;\n break;\n }\n }\n return permission;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.DynamicDialogConfig","i2.DynamicDialogRef"],"mappings":"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"}
|
@@ -23,10 +23,10 @@ class EditorStyle extends BaseStyle {
|
|
23
23
|
name = 'editor';
|
24
24
|
theme = style;
|
25
25
|
classes = classes;
|
26
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2
|
27
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2
|
26
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: EditorStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
27
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: EditorStyle });
|
28
28
|
}
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: EditorStyle, decorators: [{
|
30
30
|
type: Injectable
|
31
31
|
}] });
|
32
32
|
/**
|
@@ -139,6 +139,24 @@ class Editor extends BaseEditableHolder {
|
|
139
139
|
* @group Emits
|
140
140
|
*/
|
141
141
|
onSelectionChange = new EventEmitter();
|
142
|
+
/**
|
143
|
+
* Callback to invoke when editor content changes (combines both text and selection changes).
|
144
|
+
* @param {EditorChangeEvent} event - custom event.
|
145
|
+
* @group Emits
|
146
|
+
*/
|
147
|
+
onEditorChange = new EventEmitter();
|
148
|
+
/**
|
149
|
+
* Callback to invoke when editor receives focus.
|
150
|
+
* @param {EditorFocusEvent} event - custom event.
|
151
|
+
* @group Emits
|
152
|
+
*/
|
153
|
+
onFocus = new EventEmitter();
|
154
|
+
/**
|
155
|
+
* Callback to invoke when editor loses focus.
|
156
|
+
* @param {EditorBlurEvent} event - custom event.
|
157
|
+
* @group Emits
|
158
|
+
*/
|
159
|
+
onBlur = new EventEmitter();
|
142
160
|
toolbar;
|
143
161
|
value;
|
144
162
|
delayedCommand = null;
|
@@ -156,6 +174,8 @@ class Editor extends BaseEditableHolder {
|
|
156
174
|
return this.quillElements?.editorElement?.isConnected;
|
157
175
|
}
|
158
176
|
quillElements;
|
177
|
+
focusListener = null;
|
178
|
+
blurListener = null;
|
159
179
|
_componentStyle = inject(EditorStyle);
|
160
180
|
constructor() {
|
161
181
|
super();
|
@@ -253,7 +273,7 @@ class Editor extends BaseEditableHolder {
|
|
253
273
|
}
|
254
274
|
this.quill.on('text-change', (delta, oldContents, source) => {
|
255
275
|
if (source === 'user') {
|
256
|
-
let html = isQuill2 ? this.quill.getSemanticHTML() : findSingle(editorElement, '.ql-editor')
|
276
|
+
let html = isQuill2 ? this.quill.getSemanticHTML() : findSingle(editorElement, '.ql-editor')?.innerHTML;
|
257
277
|
let text = this.quill.getText().trim();
|
258
278
|
if (html === '<p><br></p>') {
|
259
279
|
html = null;
|
@@ -275,10 +295,42 @@ class Editor extends BaseEditableHolder {
|
|
275
295
|
source: source
|
276
296
|
});
|
277
297
|
});
|
298
|
+
this.quill.on('editor-change', (eventName, ...args) => {
|
299
|
+
this.onEditorChange.emit({
|
300
|
+
eventName: eventName,
|
301
|
+
args: args
|
302
|
+
});
|
303
|
+
});
|
304
|
+
const editorEl = this.quill.root;
|
305
|
+
this.focusListener = () => {
|
306
|
+
this.onFocus.emit({
|
307
|
+
source: 'user'
|
308
|
+
});
|
309
|
+
};
|
310
|
+
this.blurListener = () => {
|
311
|
+
this.onBlur.emit({
|
312
|
+
source: 'user'
|
313
|
+
});
|
314
|
+
};
|
315
|
+
editorEl.addEventListener('focus', this.focusListener);
|
316
|
+
editorEl.addEventListener('blur', this.blurListener);
|
278
317
|
this.onInit.emit({
|
279
318
|
editor: this.quill
|
280
319
|
});
|
281
320
|
}
|
321
|
+
ngOnDestroy() {
|
322
|
+
if (this.quill && this.quill.root) {
|
323
|
+
const editorEl = this.quill.root;
|
324
|
+
if (this.focusListener) {
|
325
|
+
editorEl.removeEventListener('focus', this.focusListener);
|
326
|
+
this.focusListener = null;
|
327
|
+
}
|
328
|
+
if (this.blurListener) {
|
329
|
+
editorEl.removeEventListener('blur', this.blurListener);
|
330
|
+
this.blurListener = null;
|
331
|
+
}
|
332
|
+
}
|
333
|
+
}
|
282
334
|
initQuillElements() {
|
283
335
|
if (!this.quillElements) {
|
284
336
|
this.quillElements = {
|
@@ -287,8 +339,8 @@ class Editor extends BaseEditableHolder {
|
|
287
339
|
};
|
288
340
|
}
|
289
341
|
}
|
290
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2
|
291
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2
|
342
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: Editor, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
343
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.2", type: Editor, isStandalone: true, selector: "p-editor", inputs: { style: "style", styleClass: "styleClass", placeholder: "placeholder", formats: "formats", modules: "modules", bounds: "bounds", scrollingContainer: "scrollingContainer", debug: "debug", readonly: "readonly" }, outputs: { onInit: "onInit", onTextChange: "onTextChange", onSelectionChange: "onSelectionChange", onEditorChange: "onEditorChange", onFocus: "onFocus", onBlur: "onBlur" }, host: { properties: { "class": "cn(cx('root'), styleClass)" } }, providers: [EDITOR_VALUE_ACCESSOR, EditorStyle], queries: [{ propertyName: "toolbar", first: true, predicate: Header, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: ["header"] }, { propertyName: "templates", predicate: PrimeTemplate }], usesInheritance: true, ngImport: i0, template: `
|
292
344
|
<div [class]="cx('toolbar')" *ngIf="toolbar || headerTemplate || _headerTemplate">
|
293
345
|
<ng-content select="p-header"></ng-content>
|
294
346
|
<ng-container *ngTemplateOutlet="headerTemplate || _headerTemplate"></ng-container>
|
@@ -337,7 +389,7 @@ class Editor extends BaseEditableHolder {
|
|
337
389
|
<div [class]="cx('content')" [ngStyle]="style"></div>
|
338
390
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: SharedModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
339
391
|
}
|
340
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2
|
392
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: Editor, decorators: [{
|
341
393
|
type: Component,
|
342
394
|
args: [{
|
343
395
|
selector: 'p-editor',
|
@@ -422,6 +474,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
|
|
422
474
|
type: Output
|
423
475
|
}], onSelectionChange: [{
|
424
476
|
type: Output
|
477
|
+
}], onEditorChange: [{
|
478
|
+
type: Output
|
479
|
+
}], onFocus: [{
|
480
|
+
type: Output
|
481
|
+
}], onBlur: [{
|
482
|
+
type: Output
|
425
483
|
}], toolbar: [{
|
426
484
|
type: ContentChild,
|
427
485
|
args: [Header]
|
@@ -433,11 +491,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
|
|
433
491
|
args: [PrimeTemplate]
|
434
492
|
}] } });
|
435
493
|
class EditorModule {
|
436
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2
|
437
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2
|
438
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2
|
494
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: EditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
495
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.2", ngImport: i0, type: EditorModule, imports: [Editor, SharedModule], exports: [Editor, SharedModule] });
|
496
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: EditorModule, imports: [Editor, SharedModule, SharedModule] });
|
439
497
|
}
|
440
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2
|
498
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: EditorModule, decorators: [{
|
441
499
|
type: NgModule,
|
442
500
|
args: [{
|
443
501
|
imports: [Editor, SharedModule],
|