primeng 19.0.5 → 19.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. package/badge/badge.d.ts +2 -2
  2. package/base/style/basestyle.d.ts +4 -6
  3. package/config/primeng.d.ts +3 -0
  4. package/dataview/dataview.interface.d.ts +9 -19
  5. package/datepicker/datepicker.d.ts +1 -0
  6. package/datepicker/style/datepickerstyle.d.ts +1 -0
  7. package/dragdrop/dragdrop.d.ts +3 -2
  8. package/dynamicdialog/dynamicdialog-config.d.ts +1 -1
  9. package/dynamicdialog/dynamicdialog.d.ts +2 -1
  10. package/fesm2022/primeng-accordion.mjs +347 -560
  11. package/fesm2022/primeng-accordion.mjs.map +1 -1
  12. package/fesm2022/primeng-animateonscroll.mjs +37 -40
  13. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  14. package/fesm2022/primeng-api.mjs +79 -89
  15. package/fesm2022/primeng-api.mjs.map +1 -1
  16. package/fesm2022/primeng-autocomplete.mjs +507 -788
  17. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  18. package/fesm2022/primeng-autofocus.mjs +26 -27
  19. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  20. package/fesm2022/primeng-avatar.mjs +72 -120
  21. package/fesm2022/primeng-avatar.mjs.map +1 -1
  22. package/fesm2022/primeng-avatargroup.mjs +44 -54
  23. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  24. package/fesm2022/primeng-badge.mjs +62 -71
  25. package/fesm2022/primeng-badge.mjs.map +1 -1
  26. package/fesm2022/primeng-base.mjs +14 -8
  27. package/fesm2022/primeng-base.mjs.map +1 -1
  28. package/fesm2022/primeng-basecomponent.mjs +17 -17
  29. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  30. package/fesm2022/primeng-blockui.mjs +66 -87
  31. package/fesm2022/primeng-blockui.mjs.map +1 -1
  32. package/fesm2022/primeng-breadcrumb.mjs +175 -386
  33. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  34. package/fesm2022/primeng-button.mjs +223 -328
  35. package/fesm2022/primeng-button.mjs.map +1 -1
  36. package/fesm2022/primeng-buttongroup.mjs +36 -40
  37. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  38. package/fesm2022/primeng-calendar.mjs +727 -1127
  39. package/fesm2022/primeng-calendar.mjs.map +1 -1
  40. package/fesm2022/primeng-card.mjs +89 -193
  41. package/fesm2022/primeng-card.mjs.map +1 -1
  42. package/fesm2022/primeng-carousel.mjs +227 -410
  43. package/fesm2022/primeng-carousel.mjs.map +1 -1
  44. package/fesm2022/primeng-cascadeselect.mjs +393 -577
  45. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  46. package/fesm2022/primeng-chart.mjs +57 -63
  47. package/fesm2022/primeng-chart.mjs.map +1 -1
  48. package/fesm2022/primeng-checkbox.mjs +133 -185
  49. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  50. package/fesm2022/primeng-chip.mjs +92 -188
  51. package/fesm2022/primeng-chip.mjs.map +1 -1
  52. package/fesm2022/primeng-colorpicker.mjs +142 -167
  53. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  54. package/fesm2022/primeng-config.mjs +18 -16
  55. package/fesm2022/primeng-config.mjs.map +1 -1
  56. package/fesm2022/primeng-confirmdialog.mjs +220 -347
  57. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  58. package/fesm2022/primeng-confirmpopup.mjs +161 -251
  59. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  60. package/fesm2022/primeng-contextmenu.mjs +336 -450
  61. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  62. package/fesm2022/primeng-dataview.mjs +249 -352
  63. package/fesm2022/primeng-dataview.mjs.map +1 -1
  64. package/fesm2022/primeng-datepicker.mjs +751 -1144
  65. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  66. package/fesm2022/primeng-defer.mjs +25 -31
  67. package/fesm2022/primeng-defer.mjs.map +1 -1
  68. package/fesm2022/primeng-dialog.mjs +277 -478
  69. package/fesm2022/primeng-dialog.mjs.map +1 -1
  70. package/fesm2022/primeng-divider.mjs +68 -77
  71. package/fesm2022/primeng-divider.mjs.map +1 -1
  72. package/fesm2022/primeng-dock.mjs +138 -167
  73. package/fesm2022/primeng-dock.mjs.map +1 -1
  74. package/fesm2022/primeng-dragdrop.mjs +85 -79
  75. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  76. package/fesm2022/primeng-drawer.mjs +172 -269
  77. package/fesm2022/primeng-drawer.mjs.map +1 -1
  78. package/fesm2022/primeng-dropdown.mjs +531 -869
  79. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  80. package/fesm2022/primeng-dynamicdialog.mjs +163 -304
  81. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  82. package/fesm2022/primeng-editor.mjs +118 -156
  83. package/fesm2022/primeng-editor.mjs.map +1 -1
  84. package/fesm2022/primeng-fieldset.mjs +153 -247
  85. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  86. package/fesm2022/primeng-fileupload.mjs +370 -690
  87. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  88. package/fesm2022/primeng-floatlabel.mjs +38 -46
  89. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  90. package/fesm2022/primeng-fluid.mjs +33 -41
  91. package/fesm2022/primeng-fluid.mjs.map +1 -1
  92. package/fesm2022/primeng-focustrap.mjs +23 -24
  93. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  94. package/fesm2022/primeng-galleria.mjs +529 -761
  95. package/fesm2022/primeng-galleria.mjs.map +1 -1
  96. package/fesm2022/primeng-iconfield.mjs +42 -51
  97. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  98. package/fesm2022/primeng-icons-angledoubledown.mjs +19 -19
  99. package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
  100. package/fesm2022/primeng-icons-angledoubleleft.mjs +19 -19
  101. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
  102. package/fesm2022/primeng-icons-angledoubleright.mjs +19 -19
  103. package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
  104. package/fesm2022/primeng-icons-angledoubleup.mjs +19 -19
  105. package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
  106. package/fesm2022/primeng-icons-angledown.mjs +17 -19
  107. package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
  108. package/fesm2022/primeng-icons-angleleft.mjs +17 -19
  109. package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
  110. package/fesm2022/primeng-icons-angleright.mjs +17 -19
  111. package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
  112. package/fesm2022/primeng-icons-angleup.mjs +17 -19
  113. package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
  114. package/fesm2022/primeng-icons-arrowdown.mjs +26 -26
  115. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
  116. package/fesm2022/primeng-icons-arrowdownleft.mjs +17 -19
  117. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
  118. package/fesm2022/primeng-icons-arrowdownright.mjs +17 -19
  119. package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
  120. package/fesm2022/primeng-icons-arrowleft.mjs +26 -26
  121. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
  122. package/fesm2022/primeng-icons-arrowright.mjs +19 -19
  123. package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
  124. package/fesm2022/primeng-icons-arrowup.mjs +26 -26
  125. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
  126. package/fesm2022/primeng-icons-ban.mjs +24 -26
  127. package/fesm2022/primeng-icons-ban.mjs.map +1 -1
  128. package/fesm2022/primeng-icons-bars.mjs +19 -19
  129. package/fesm2022/primeng-icons-bars.mjs.map +1 -1
  130. package/fesm2022/primeng-icons-baseicon.mjs +28 -33
  131. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  132. package/fesm2022/primeng-icons-blank.mjs +14 -16
  133. package/fesm2022/primeng-icons-blank.mjs.map +1 -1
  134. package/fesm2022/primeng-icons-calendar.mjs +17 -19
  135. package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
  136. package/fesm2022/primeng-icons-caretleft.mjs +17 -19
  137. package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
  138. package/fesm2022/primeng-icons-caretright.mjs +17 -19
  139. package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
  140. package/fesm2022/primeng-icons-check.mjs +17 -19
  141. package/fesm2022/primeng-icons-check.mjs.map +1 -1
  142. package/fesm2022/primeng-icons-chevrondown.mjs +17 -19
  143. package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
  144. package/fesm2022/primeng-icons-chevronleft.mjs +17 -19
  145. package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
  146. package/fesm2022/primeng-icons-chevronright.mjs +17 -19
  147. package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
  148. package/fesm2022/primeng-icons-chevronup.mjs +17 -19
  149. package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
  150. package/fesm2022/primeng-icons-exclamationtriangle.mjs +32 -26
  151. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
  152. package/fesm2022/primeng-icons-eye.mjs +19 -19
  153. package/fesm2022/primeng-icons-eye.mjs.map +1 -1
  154. package/fesm2022/primeng-icons-eyeslash.mjs +26 -26
  155. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
  156. package/fesm2022/primeng-icons-filter.mjs +24 -26
  157. package/fesm2022/primeng-icons-filter.mjs.map +1 -1
  158. package/fesm2022/primeng-icons-filterslash.mjs +26 -26
  159. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
  160. package/fesm2022/primeng-icons-home.mjs +26 -26
  161. package/fesm2022/primeng-icons-home.mjs.map +1 -1
  162. package/fesm2022/primeng-icons-infocircle.mjs +26 -26
  163. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
  164. package/fesm2022/primeng-icons-minus.mjs +17 -19
  165. package/fesm2022/primeng-icons-minus.mjs.map +1 -1
  166. package/fesm2022/primeng-icons-pencil.mjs +24 -26
  167. package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
  168. package/fesm2022/primeng-icons-plus.mjs +24 -26
  169. package/fesm2022/primeng-icons-plus.mjs.map +1 -1
  170. package/fesm2022/primeng-icons-refresh.mjs +26 -26
  171. package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
  172. package/fesm2022/primeng-icons-search.mjs +26 -26
  173. package/fesm2022/primeng-icons-search.mjs.map +1 -1
  174. package/fesm2022/primeng-icons-searchminus.mjs +26 -26
  175. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
  176. package/fesm2022/primeng-icons-searchplus.mjs +26 -26
  177. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
  178. package/fesm2022/primeng-icons-sortalt.mjs +30 -26
  179. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
  180. package/fesm2022/primeng-icons-sortamountdown.mjs +24 -26
  181. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
  182. package/fesm2022/primeng-icons-sortamountupalt.mjs +24 -26
  183. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
  184. package/fesm2022/primeng-icons-spinner.mjs +24 -26
  185. package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
  186. package/fesm2022/primeng-icons-star.mjs +24 -26
  187. package/fesm2022/primeng-icons-star.mjs.map +1 -1
  188. package/fesm2022/primeng-icons-starfill.mjs +24 -26
  189. package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
  190. package/fesm2022/primeng-icons-thlarge.mjs +26 -26
  191. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
  192. package/fesm2022/primeng-icons-times.mjs +17 -19
  193. package/fesm2022/primeng-icons-times.mjs.map +1 -1
  194. package/fesm2022/primeng-icons-timescircle.mjs +26 -26
  195. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
  196. package/fesm2022/primeng-icons-trash.mjs +26 -26
  197. package/fesm2022/primeng-icons-trash.mjs.map +1 -1
  198. package/fesm2022/primeng-icons-undo.mjs +26 -26
  199. package/fesm2022/primeng-icons-undo.mjs.map +1 -1
  200. package/fesm2022/primeng-icons-upload.mjs +26 -26
  201. package/fesm2022/primeng-icons-upload.mjs.map +1 -1
  202. package/fesm2022/primeng-icons-windowmaximize.mjs +26 -26
  203. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
  204. package/fesm2022/primeng-icons-windowminimize.mjs +26 -26
  205. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
  206. package/fesm2022/primeng-iftalabel.mjs +32 -38
  207. package/fesm2022/primeng-iftalabel.mjs.map +1 -1
  208. package/fesm2022/primeng-image.mjs +189 -370
  209. package/fesm2022/primeng-image.mjs.map +1 -1
  210. package/fesm2022/primeng-imagecompare.mjs +57 -86
  211. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  212. package/fesm2022/primeng-inplace.mjs +108 -206
  213. package/fesm2022/primeng-inplace.mjs.map +1 -1
  214. package/fesm2022/primeng-inputgroup.mjs +40 -50
  215. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  216. package/fesm2022/primeng-inputgroupaddon.mjs +40 -51
  217. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  218. package/fesm2022/primeng-inputicon.mjs +39 -48
  219. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  220. package/fesm2022/primeng-inputmask.mjs +157 -182
  221. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  222. package/fesm2022/primeng-inputnumber.mjs +303 -420
  223. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  224. package/fesm2022/primeng-inputotp.mjs +99 -123
  225. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  226. package/fesm2022/primeng-inputswitch.mjs +87 -92
  227. package/fesm2022/primeng-inputswitch.mjs.map +1 -1
  228. package/fesm2022/primeng-inputtext.mjs +56 -57
  229. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  230. package/fesm2022/primeng-inputtextarea.mjs +51 -56
  231. package/fesm2022/primeng-inputtextarea.mjs.map +1 -1
  232. package/fesm2022/primeng-keyfilter.mjs +44 -47
  233. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  234. package/fesm2022/primeng-knob.mjs +105 -111
  235. package/fesm2022/primeng-knob.mjs.map +1 -1
  236. package/fesm2022/primeng-listbox.mjs +511 -791
  237. package/fesm2022/primeng-listbox.mjs.map +1 -1
  238. package/fesm2022/primeng-megamenu.mjs +377 -611
  239. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  240. package/fesm2022/primeng-menu.mjs +291 -473
  241. package/fesm2022/primeng-menu.mjs.map +1 -1
  242. package/fesm2022/primeng-menubar.mjs +357 -549
  243. package/fesm2022/primeng-menubar.mjs.map +1 -1
  244. package/fesm2022/primeng-message.mjs +160 -244
  245. package/fesm2022/primeng-message.mjs.map +1 -1
  246. package/fesm2022/primeng-messages.mjs +162 -278
  247. package/fesm2022/primeng-messages.mjs.map +1 -1
  248. package/fesm2022/primeng-metergroup.mjs +135 -264
  249. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  250. package/fesm2022/primeng-multiselect.mjs +660 -1135
  251. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  252. package/fesm2022/primeng-orderlist.mjs +228 -330
  253. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  254. package/fesm2022/primeng-organizationchart.mjs +161 -311
  255. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  256. package/fesm2022/primeng-overlay.mjs +135 -147
  257. package/fesm2022/primeng-overlay.mjs.map +1 -1
  258. package/fesm2022/primeng-overlaybadge.mjs +50 -58
  259. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  260. package/fesm2022/primeng-overlaypanel.mjs +134 -154
  261. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  262. package/fesm2022/primeng-paginator.mjs +212 -447
  263. package/fesm2022/primeng-paginator.mjs.map +1 -1
  264. package/fesm2022/primeng-panel.mjs +219 -317
  265. package/fesm2022/primeng-panel.mjs.map +1 -1
  266. package/fesm2022/primeng-panelmenu.mjs +439 -783
  267. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  268. package/fesm2022/primeng-password.mjs +271 -410
  269. package/fesm2022/primeng-password.mjs.map +1 -1
  270. package/fesm2022/primeng-picklist.mjs +564 -856
  271. package/fesm2022/primeng-picklist.mjs.map +1 -1
  272. package/fesm2022/primeng-popover.mjs +129 -148
  273. package/fesm2022/primeng-popover.mjs.map +1 -1
  274. package/fesm2022/primeng-progressbar.mjs +81 -121
  275. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  276. package/fesm2022/primeng-progressspinner.mjs +48 -58
  277. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  278. package/fesm2022/primeng-radiobutton.mjs +117 -108
  279. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  280. package/fesm2022/primeng-rating.mjs +134 -218
  281. package/fesm2022/primeng-rating.mjs.map +1 -1
  282. package/fesm2022/primeng-ripple.mjs +28 -29
  283. package/fesm2022/primeng-ripple.mjs.map +1 -1
  284. package/fesm2022/primeng-scroller.mjs +167 -295
  285. package/fesm2022/primeng-scroller.mjs.map +1 -1
  286. package/fesm2022/primeng-scrollpanel.mjs +96 -116
  287. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  288. package/fesm2022/primeng-scrolltop.mjs +106 -150
  289. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  290. package/fesm2022/primeng-select.mjs +581 -957
  291. package/fesm2022/primeng-select.mjs.map +1 -1
  292. package/fesm2022/primeng-selectbutton.mjs +106 -133
  293. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  294. package/fesm2022/primeng-sidebar.mjs +151 -239
  295. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  296. package/fesm2022/primeng-skeleton.mjs +46 -54
  297. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  298. package/fesm2022/primeng-slider.mjs +186 -182
  299. package/fesm2022/primeng-slider.mjs.map +1 -1
  300. package/fesm2022/primeng-speeddial.mjs +192 -254
  301. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  302. package/fesm2022/primeng-splitbutton.mjs +211 -231
  303. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  304. package/fesm2022/primeng-splitter.mjs +126 -159
  305. package/fesm2022/primeng-splitter.mjs.map +1 -1
  306. package/fesm2022/primeng-stepper.mjs +235 -341
  307. package/fesm2022/primeng-stepper.mjs.map +1 -1
  308. package/fesm2022/primeng-steps.mjs +117 -170
  309. package/fesm2022/primeng-steps.mjs.map +1 -1
  310. package/fesm2022/primeng-styleclass.mjs +50 -53
  311. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  312. package/fesm2022/primeng-table.mjs +1869 -2628
  313. package/fesm2022/primeng-table.mjs.map +1 -1
  314. package/fesm2022/primeng-tabmenu.mjs +173 -319
  315. package/fesm2022/primeng-tabmenu.mjs.map +1 -1
  316. package/fesm2022/primeng-tabs.mjs +193 -308
  317. package/fesm2022/primeng-tabs.mjs.map +1 -1
  318. package/fesm2022/primeng-tabview.mjs +263 -435
  319. package/fesm2022/primeng-tabview.mjs.map +1 -1
  320. package/fesm2022/primeng-tag.mjs +63 -110
  321. package/fesm2022/primeng-tag.mjs.map +1 -1
  322. package/fesm2022/primeng-terminal.mjs +60 -104
  323. package/fesm2022/primeng-terminal.mjs.map +1 -1
  324. package/fesm2022/primeng-textarea.mjs +59 -64
  325. package/fesm2022/primeng-textarea.mjs.map +1 -1
  326. package/fesm2022/primeng-tieredmenu.mjs +338 -457
  327. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  328. package/fesm2022/primeng-timeline.mjs +90 -156
  329. package/fesm2022/primeng-timeline.mjs.map +1 -1
  330. package/fesm2022/primeng-toast.mjs +260 -365
  331. package/fesm2022/primeng-toast.mjs.map +1 -1
  332. package/fesm2022/primeng-togglebutton.mjs +117 -150
  333. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  334. package/fesm2022/primeng-toggleswitch.mjs +98 -121
  335. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  336. package/fesm2022/primeng-toolbar.mjs +62 -121
  337. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  338. package/fesm2022/primeng-tooltip.mjs +74 -75
  339. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  340. package/fesm2022/primeng-tree.mjs +455 -729
  341. package/fesm2022/primeng-tree.mjs.map +1 -1
  342. package/fesm2022/primeng-treeselect.mjs +344 -533
  343. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  344. package/fesm2022/primeng-treetable.mjs +1027 -1584
  345. package/fesm2022/primeng-treetable.mjs.map +1 -1
  346. package/fesm2022/primeng-usestyle.mjs +6 -6
  347. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  348. package/fesm2022/primeng-utils.mjs +3 -1
  349. package/fesm2022/primeng-utils.mjs.map +1 -1
  350. package/listbox/listbox.d.ts +17 -3
  351. package/message/message.d.ts +1 -0
  352. package/overlaybadge/overlaybadge.d.ts +1 -1
  353. package/package.json +189 -190
  354. package/password/password.d.ts +8 -1
  355. package/password/style/passwordstyle.d.ts +1 -0
  356. package/picklist/picklist.d.ts +11 -1
  357. package/stepper/stepper.d.ts +2 -1
  358. package/table/table.d.ts +1 -1
  359. package/table/table.interface.d.ts +2 -2
  360. package/tabs/tablist.d.ts +1 -1
  361. package/toast/toast.d.ts +1 -1
  362. package/tree/tree.d.ts +10 -2
  363. package/tree/tree.interface.d.ts +8 -0
  364. package/utils/zindexutils.d.ts +2 -0
@@ -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 automatically manage layering.\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 comopnent.\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, TemplateRef, 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()\" [tabindex]=\"maximizable ? '0' : '-1'\">\n <ng-container *ngIf=\"!maximizeIcon\">\n <WindowMaximizeIcon *ngIf=\"!maximized && !maximizeIconTemplate\" />\n <WindowMinimizeIcon *ngIf=\"maximized && !minimizeIconTemplate\" />\n </ng-container>\n <ng-container *ngIf=\"!maximized\">\n <ng-template *ngTemplateOutlet=\"maximizeIconTemplate\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"maximized\">\n <ng-template *ngTemplateOutlet=\"minimizeIconTemplate\"></ng-template>\n </ng-container>\n </p-button>\n <p-button *ngIf=\"closable\" [styleClass]=\"'p-dialog-close-button'\" [ariaLabel]=\"closeAriaLabel\" (onClick)=\"hide()\" (keydown.enter)=\"hide()\" rounded text severity=\"secondary\">\n <ng-container *ngIf=\"!closeIconTemplate\">\n <TimesIcon />\n </ng-container>\n <span *ngIf=\"closeIconTemplate\">\n <ng-template *ngTemplateOutlet=\"closeIconTemplate\"></ng-template>\n </span>\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 closeAriaLabel(): 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 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 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 return this.header !== null ? uuid('pn_id_') + '_header' : null;\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 }\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\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 if (parseInt((this.container as HTMLDivElement).style.zIndex) == ZIndexUtils.getCurrent()) {\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, InjectFlags } 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 | InjectFlags): 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 comopnent.\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-container *ngIf=\"!maximizeIcon\">\n <WindowMaximizeIcon *ngIf=\"!maximized && !maximizeIconTemplate\" />\n <WindowMinimizeIcon *ngIf=\"maximized && !minimizeIconTemplate\" />\n </ng-container>\n <ng-container *ngIf=\"!maximized\">\n <ng-template *ngTemplateOutlet=\"maximizeIconTemplate\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"maximized\">\n <ng-template *ngTemplateOutlet=\"minimizeIconTemplate\"></ng-template>\n </ng-container>\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-container *ngIf=\"!closeIconTemplate\">\n <TimesIcon />\n </ng-container>\n <span *ngIf=\"closeIconTemplate\">\n <ng-template *ngTemplateOutlet=\"closeIconTemplate\"></ng-template>\n </span>\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 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 return this.header !== null ? uuid('pn_id_') + '_header' : null;\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, InjectFlags } 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 | InjectFlags): 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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"}