primeng 14.0.0 → 14.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (440) hide show
  1. package/api/treenode.d.ts +1 -0
  2. package/autocomplete/autocomplete.d.ts +2 -1
  3. package/autofocus/autofocus.d.ts +17 -0
  4. package/autofocus/package.json +10 -0
  5. package/autofocus/primeng-autofocus.d.ts +5 -0
  6. package/autofocus/public_api.d.ts +1 -0
  7. package/carousel/carousel.d.ts +4 -2
  8. package/cascadeselect/cascadeselect.d.ts +1 -1
  9. package/dropdown/dropdown.d.ts +3 -1
  10. package/dynamicdialog/dynamicdialog-config.d.ts +11 -2
  11. package/dynamicdialog/dynamicdialog-ref.d.ts +15 -0
  12. package/dynamicdialog/dynamicdialog.d.ts +36 -0
  13. package/editor/editor.d.ts +6 -2
  14. package/esm2020/accordion/accordion.mjs +13 -13
  15. package/esm2020/api/confirmationservice.mjs +3 -3
  16. package/esm2020/api/contextmenuservice.mjs +3 -3
  17. package/esm2020/api/filterservice.mjs +3 -3
  18. package/esm2020/api/messageservice.mjs +3 -3
  19. package/esm2020/api/overlayservice.mjs +3 -3
  20. package/esm2020/api/primengconfig.mjs +3 -3
  21. package/esm2020/api/shared.mjs +13 -13
  22. package/esm2020/api/treedragdropservice.mjs +3 -3
  23. package/esm2020/api/treenode.mjs +1 -1
  24. package/esm2020/autocomplete/autocomplete.mjs +37 -33
  25. package/esm2020/autofocus/autofocus.mjs +52 -0
  26. package/esm2020/autofocus/primeng-autofocus.mjs +5 -0
  27. package/esm2020/autofocus/public_api.mjs +2 -0
  28. package/esm2020/avatar/avatar.mjs +7 -7
  29. package/esm2020/avatargroup/avatargroup.mjs +7 -7
  30. package/esm2020/badge/badge.mjs +10 -10
  31. package/esm2020/blockui/blockui.mjs +7 -7
  32. package/esm2020/breadcrumb/breadcrumb.mjs +7 -7
  33. package/esm2020/button/button.mjs +10 -10
  34. package/esm2020/calendar/calendar.mjs +12 -9
  35. package/esm2020/captcha/captcha.mjs +7 -7
  36. package/esm2020/card/card.mjs +7 -7
  37. package/esm2020/carousel/carousel.mjs +28 -21
  38. package/esm2020/cascadeselect/cascadeselect.mjs +18 -18
  39. package/esm2020/chart/chart.mjs +7 -7
  40. package/esm2020/checkbox/checkbox.mjs +7 -7
  41. package/esm2020/chip/chip.mjs +7 -7
  42. package/esm2020/chips/chips.mjs +7 -7
  43. package/esm2020/codehighlighter/codehighlighter.mjs +7 -7
  44. package/esm2020/colorpicker/colorpicker.mjs +7 -7
  45. package/esm2020/confirmdialog/confirmdialog.mjs +7 -7
  46. package/esm2020/confirmpopup/confirmpopup.mjs +18 -11
  47. package/esm2020/contextmenu/contextmenu.mjs +10 -10
  48. package/esm2020/dataview/dataview.mjs +10 -10
  49. package/esm2020/defer/defer.mjs +7 -7
  50. package/esm2020/dialog/dialog.mjs +7 -7
  51. package/esm2020/divider/divider.mjs +7 -7
  52. package/esm2020/dock/dock.mjs +7 -7
  53. package/esm2020/dragdrop/dragdrop.mjs +10 -10
  54. package/esm2020/dropdown/dropdown.mjs +23 -18
  55. package/esm2020/dynamicdialog/dialogservice.mjs +3 -3
  56. package/esm2020/dynamicdialog/dynamicdialog-config.mjs +1 -1
  57. package/esm2020/dynamicdialog/dynamicdialog-ref.mjs +26 -1
  58. package/esm2020/dynamicdialog/dynamicdialog.mjs +246 -16
  59. package/esm2020/dynamicdialog/dynamicdialogcontent.mjs +3 -3
  60. package/esm2020/editor/editor.mjs +68 -48
  61. package/esm2020/fieldset/fieldset.mjs +7 -7
  62. package/esm2020/fileupload/fileupload.mjs +30 -16
  63. package/esm2020/focustrap/focustrap.mjs +7 -7
  64. package/esm2020/fullcalendar/fullcalendar.mjs +7 -7
  65. package/esm2020/galleria/galleria.mjs +23 -21
  66. package/esm2020/gmap/gmap.mjs +7 -7
  67. package/esm2020/image/image.mjs +7 -7
  68. package/esm2020/inplace/inplace.mjs +13 -13
  69. package/esm2020/inputmask/inputmask.mjs +14 -12
  70. package/esm2020/inputnumber/inputnumber.mjs +11 -9
  71. package/esm2020/inputswitch/inputswitch.mjs +8 -8
  72. package/esm2020/inputtext/inputtext.mjs +7 -7
  73. package/esm2020/inputtextarea/inputtextarea.mjs +7 -7
  74. package/esm2020/keyfilter/keyfilter.mjs +7 -7
  75. package/esm2020/knob/knob.mjs +7 -7
  76. package/esm2020/lightbox/lightbox.mjs +7 -7
  77. package/esm2020/listbox/listbox.mjs +36 -36
  78. package/esm2020/megamenu/megamenu.mjs +7 -7
  79. package/esm2020/menu/menu.mjs +10 -10
  80. package/esm2020/menubar/menubar.mjs +10 -10
  81. package/esm2020/message/message.mjs +7 -7
  82. package/esm2020/messages/messages.mjs +7 -7
  83. package/esm2020/multiselect/multiselect.mjs +40 -41
  84. package/esm2020/orderlist/orderlist.mjs +7 -7
  85. package/esm2020/organizationchart/organizationchart.mjs +10 -10
  86. package/esm2020/overlaypanel/overlaypanel.mjs +11 -8
  87. package/esm2020/paginator/paginator.mjs +7 -7
  88. package/esm2020/panel/panel.mjs +7 -7
  89. package/esm2020/panelmenu/panelmenu.mjs +10 -10
  90. package/esm2020/password/password.mjs +10 -10
  91. package/esm2020/picklist/picklist.mjs +7 -7
  92. package/esm2020/progressbar/progressbar.mjs +7 -7
  93. package/esm2020/progressspinner/progressspinner.mjs +7 -7
  94. package/esm2020/radiobutton/radiobutton.mjs +12 -12
  95. package/esm2020/rating/rating.mjs +7 -7
  96. package/esm2020/ripple/ripple.mjs +7 -7
  97. package/esm2020/scroller/scroller.mjs +21 -24
  98. package/esm2020/scrollpanel/scrollpanel.mjs +7 -7
  99. package/esm2020/scrolltop/scrolltop.mjs +7 -7
  100. package/esm2020/selectbutton/selectbutton.mjs +9 -9
  101. package/esm2020/sidebar/sidebar.mjs +7 -7
  102. package/esm2020/skeleton/skeleton.mjs +7 -7
  103. package/esm2020/slidemenu/slidemenu.mjs +10 -10
  104. package/esm2020/slider/slider.mjs +28 -11
  105. package/esm2020/speeddial/speeddial.mjs +7 -7
  106. package/esm2020/spinner/spinner.mjs +7 -7
  107. package/esm2020/splitbutton/splitbutton.mjs +8 -8
  108. package/esm2020/splitter/splitter.mjs +7 -7
  109. package/esm2020/steps/steps.mjs +7 -7
  110. package/esm2020/styleclass/styleclass.mjs +7 -7
  111. package/esm2020/table/table.mjs +139 -111
  112. package/esm2020/tabmenu/tabmenu.mjs +7 -7
  113. package/esm2020/tabview/tabview.mjs +27 -15
  114. package/esm2020/tag/tag.mjs +7 -7
  115. package/esm2020/terminal/terminal.mjs +7 -7
  116. package/esm2020/terminal/terminalservice.mjs +3 -3
  117. package/esm2020/tieredmenu/tieredmenu.mjs +19 -11
  118. package/esm2020/timeline/timeline.mjs +7 -7
  119. package/esm2020/toast/toast.mjs +10 -10
  120. package/esm2020/togglebutton/togglebutton.mjs +7 -7
  121. package/esm2020/toolbar/toolbar.mjs +7 -7
  122. package/esm2020/tooltip/tooltip.mjs +7 -7
  123. package/esm2020/tree/tree.mjs +19 -17
  124. package/esm2020/treeselect/treeselect.mjs +18 -12
  125. package/esm2020/treetable/treetable.mjs +59 -56
  126. package/esm2020/tristatecheckbox/tristatecheckbox.mjs +7 -7
  127. package/esm2020/virtualscroller/virtualscroller.mjs +7 -7
  128. package/fesm2015/primeng-accordion.mjs +12 -12
  129. package/fesm2015/primeng-accordion.mjs.map +1 -1
  130. package/fesm2015/primeng-api.mjs +34 -34
  131. package/fesm2015/primeng-autocomplete.mjs +36 -32
  132. package/fesm2015/primeng-autocomplete.mjs.map +1 -1
  133. package/fesm2015/primeng-autofocus.mjs +59 -0
  134. package/fesm2015/primeng-autofocus.mjs.map +1 -0
  135. package/fesm2015/primeng-avatar.mjs +7 -7
  136. package/fesm2015/primeng-avatargroup.mjs +7 -7
  137. package/fesm2015/primeng-badge.mjs +10 -10
  138. package/fesm2015/primeng-blockui.mjs +7 -7
  139. package/fesm2015/primeng-breadcrumb.mjs +7 -7
  140. package/fesm2015/primeng-button.mjs +10 -10
  141. package/fesm2015/primeng-calendar.mjs +11 -8
  142. package/fesm2015/primeng-calendar.mjs.map +1 -1
  143. package/fesm2015/primeng-captcha.mjs +7 -7
  144. package/fesm2015/primeng-card.mjs +7 -7
  145. package/fesm2015/primeng-carousel.mjs +29 -20
  146. package/fesm2015/primeng-carousel.mjs.map +1 -1
  147. package/fesm2015/primeng-cascadeselect.mjs +17 -17
  148. package/fesm2015/primeng-cascadeselect.mjs.map +1 -1
  149. package/fesm2015/primeng-chart.mjs +7 -7
  150. package/fesm2015/primeng-checkbox.mjs +7 -7
  151. package/fesm2015/primeng-chip.mjs +7 -7
  152. package/fesm2015/primeng-chips.mjs +7 -7
  153. package/fesm2015/primeng-codehighlighter.mjs +7 -7
  154. package/fesm2015/primeng-colorpicker.mjs +7 -7
  155. package/fesm2015/primeng-confirmdialog.mjs +7 -7
  156. package/fesm2015/primeng-confirmpopup.mjs +17 -10
  157. package/fesm2015/primeng-confirmpopup.mjs.map +1 -1
  158. package/fesm2015/primeng-contextmenu.mjs +10 -10
  159. package/fesm2015/primeng-dataview.mjs +10 -10
  160. package/fesm2015/primeng-defer.mjs +7 -7
  161. package/fesm2015/primeng-dialog.mjs +7 -7
  162. package/fesm2015/primeng-divider.mjs +7 -7
  163. package/fesm2015/primeng-dock.mjs +7 -7
  164. package/fesm2015/primeng-dragdrop.mjs +10 -10
  165. package/fesm2015/primeng-dropdown.mjs +22 -17
  166. package/fesm2015/primeng-dropdown.mjs.map +1 -1
  167. package/fesm2015/primeng-dynamicdialog.mjs +276 -21
  168. package/fesm2015/primeng-dynamicdialog.mjs.map +1 -1
  169. package/fesm2015/primeng-editor.mjs +68 -46
  170. package/fesm2015/primeng-editor.mjs.map +1 -1
  171. package/fesm2015/primeng-fieldset.mjs +7 -7
  172. package/fesm2015/primeng-fileupload.mjs +29 -15
  173. package/fesm2015/primeng-fileupload.mjs.map +1 -1
  174. package/fesm2015/primeng-focustrap.mjs +7 -7
  175. package/fesm2015/primeng-fullcalendar.mjs +7 -7
  176. package/fesm2015/primeng-galleria.mjs +22 -20
  177. package/fesm2015/primeng-galleria.mjs.map +1 -1
  178. package/fesm2015/primeng-gmap.mjs +7 -7
  179. package/fesm2015/primeng-image.mjs +7 -7
  180. package/fesm2015/primeng-inplace.mjs +13 -13
  181. package/fesm2015/primeng-inputmask.mjs +13 -11
  182. package/fesm2015/primeng-inputmask.mjs.map +1 -1
  183. package/fesm2015/primeng-inputnumber.mjs +10 -8
  184. package/fesm2015/primeng-inputnumber.mjs.map +1 -1
  185. package/fesm2015/primeng-inputswitch.mjs +7 -7
  186. package/fesm2015/primeng-inputswitch.mjs.map +1 -1
  187. package/fesm2015/primeng-inputtext.mjs +7 -7
  188. package/fesm2015/primeng-inputtextarea.mjs +7 -7
  189. package/fesm2015/primeng-keyfilter.mjs +7 -7
  190. package/fesm2015/primeng-knob.mjs +7 -7
  191. package/fesm2015/primeng-lightbox.mjs +7 -7
  192. package/fesm2015/primeng-listbox.mjs +35 -35
  193. package/fesm2015/primeng-listbox.mjs.map +1 -1
  194. package/fesm2015/primeng-megamenu.mjs +7 -7
  195. package/fesm2015/primeng-menu.mjs +10 -10
  196. package/fesm2015/primeng-menubar.mjs +10 -10
  197. package/fesm2015/primeng-message.mjs +7 -7
  198. package/fesm2015/primeng-messages.mjs +7 -7
  199. package/fesm2015/primeng-multiselect.mjs +39 -40
  200. package/fesm2015/primeng-multiselect.mjs.map +1 -1
  201. package/fesm2015/primeng-orderlist.mjs +7 -7
  202. package/fesm2015/primeng-organizationchart.mjs +10 -10
  203. package/fesm2015/primeng-overlaypanel.mjs +10 -7
  204. package/fesm2015/primeng-overlaypanel.mjs.map +1 -1
  205. package/fesm2015/primeng-paginator.mjs +7 -7
  206. package/fesm2015/primeng-panel.mjs +7 -7
  207. package/fesm2015/primeng-panelmenu.mjs +10 -10
  208. package/fesm2015/primeng-password.mjs +10 -10
  209. package/fesm2015/primeng-picklist.mjs +7 -7
  210. package/fesm2015/primeng-progressbar.mjs +7 -7
  211. package/fesm2015/primeng-progressspinner.mjs +7 -7
  212. package/fesm2015/primeng-radiobutton.mjs +11 -11
  213. package/fesm2015/primeng-radiobutton.mjs.map +1 -1
  214. package/fesm2015/primeng-rating.mjs +7 -7
  215. package/fesm2015/primeng-ripple.mjs +7 -7
  216. package/fesm2015/primeng-scroller.mjs +20 -23
  217. package/fesm2015/primeng-scroller.mjs.map +1 -1
  218. package/fesm2015/primeng-scrollpanel.mjs +7 -7
  219. package/fesm2015/primeng-scrolltop.mjs +7 -7
  220. package/fesm2015/primeng-selectbutton.mjs +8 -8
  221. package/fesm2015/primeng-selectbutton.mjs.map +1 -1
  222. package/fesm2015/primeng-sidebar.mjs +7 -7
  223. package/fesm2015/primeng-skeleton.mjs +7 -7
  224. package/fesm2015/primeng-slidemenu.mjs +10 -10
  225. package/fesm2015/primeng-slider.mjs +27 -10
  226. package/fesm2015/primeng-slider.mjs.map +1 -1
  227. package/fesm2015/primeng-speeddial.mjs +7 -7
  228. package/fesm2015/primeng-spinner.mjs +7 -7
  229. package/fesm2015/primeng-splitbutton.mjs +8 -8
  230. package/fesm2015/primeng-splitbutton.mjs.map +1 -1
  231. package/fesm2015/primeng-splitter.mjs +7 -7
  232. package/fesm2015/primeng-steps.mjs +7 -7
  233. package/fesm2015/primeng-styleclass.mjs +7 -7
  234. package/fesm2015/primeng-table.mjs +140 -110
  235. package/fesm2015/primeng-table.mjs.map +1 -1
  236. package/fesm2015/primeng-tabmenu.mjs +7 -7
  237. package/fesm2015/primeng-tabview.mjs +26 -14
  238. package/fesm2015/primeng-tabview.mjs.map +1 -1
  239. package/fesm2015/primeng-tag.mjs +7 -7
  240. package/fesm2015/primeng-terminal.mjs +10 -10
  241. package/fesm2015/primeng-tieredmenu.mjs +18 -10
  242. package/fesm2015/primeng-tieredmenu.mjs.map +1 -1
  243. package/fesm2015/primeng-timeline.mjs +7 -7
  244. package/fesm2015/primeng-toast.mjs +10 -10
  245. package/fesm2015/primeng-togglebutton.mjs +7 -7
  246. package/fesm2015/primeng-toolbar.mjs +7 -7
  247. package/fesm2015/primeng-tooltip.mjs +7 -7
  248. package/fesm2015/primeng-tree.mjs +18 -16
  249. package/fesm2015/primeng-tree.mjs.map +1 -1
  250. package/fesm2015/primeng-treeselect.mjs +17 -11
  251. package/fesm2015/primeng-treeselect.mjs.map +1 -1
  252. package/fesm2015/primeng-treetable.mjs +58 -55
  253. package/fesm2015/primeng-treetable.mjs.map +1 -1
  254. package/fesm2015/primeng-tristatecheckbox.mjs +7 -7
  255. package/fesm2015/primeng-virtualscroller.mjs +7 -7
  256. package/fesm2020/primeng-accordion.mjs +12 -12
  257. package/fesm2020/primeng-accordion.mjs.map +1 -1
  258. package/fesm2020/primeng-api.mjs +34 -34
  259. package/fesm2020/primeng-autocomplete.mjs +36 -32
  260. package/fesm2020/primeng-autocomplete.mjs.map +1 -1
  261. package/fesm2020/primeng-autofocus.mjs +59 -0
  262. package/fesm2020/primeng-autofocus.mjs.map +1 -0
  263. package/fesm2020/primeng-avatar.mjs +7 -7
  264. package/fesm2020/primeng-avatargroup.mjs +7 -7
  265. package/fesm2020/primeng-badge.mjs +10 -10
  266. package/fesm2020/primeng-blockui.mjs +7 -7
  267. package/fesm2020/primeng-breadcrumb.mjs +7 -7
  268. package/fesm2020/primeng-button.mjs +10 -10
  269. package/fesm2020/primeng-calendar.mjs +11 -8
  270. package/fesm2020/primeng-calendar.mjs.map +1 -1
  271. package/fesm2020/primeng-captcha.mjs +7 -7
  272. package/fesm2020/primeng-card.mjs +7 -7
  273. package/fesm2020/primeng-carousel.mjs +27 -20
  274. package/fesm2020/primeng-carousel.mjs.map +1 -1
  275. package/fesm2020/primeng-cascadeselect.mjs +17 -17
  276. package/fesm2020/primeng-cascadeselect.mjs.map +1 -1
  277. package/fesm2020/primeng-chart.mjs +7 -7
  278. package/fesm2020/primeng-checkbox.mjs +7 -7
  279. package/fesm2020/primeng-chip.mjs +7 -7
  280. package/fesm2020/primeng-chips.mjs +7 -7
  281. package/fesm2020/primeng-codehighlighter.mjs +7 -7
  282. package/fesm2020/primeng-colorpicker.mjs +7 -7
  283. package/fesm2020/primeng-confirmdialog.mjs +7 -7
  284. package/fesm2020/primeng-confirmpopup.mjs +17 -10
  285. package/fesm2020/primeng-confirmpopup.mjs.map +1 -1
  286. package/fesm2020/primeng-contextmenu.mjs +10 -10
  287. package/fesm2020/primeng-dataview.mjs +10 -10
  288. package/fesm2020/primeng-defer.mjs +7 -7
  289. package/fesm2020/primeng-dialog.mjs +7 -7
  290. package/fesm2020/primeng-divider.mjs +7 -7
  291. package/fesm2020/primeng-dock.mjs +7 -7
  292. package/fesm2020/primeng-dragdrop.mjs +10 -10
  293. package/fesm2020/primeng-dropdown.mjs +22 -17
  294. package/fesm2020/primeng-dropdown.mjs.map +1 -1
  295. package/fesm2020/primeng-dynamicdialog.mjs +276 -21
  296. package/fesm2020/primeng-dynamicdialog.mjs.map +1 -1
  297. package/fesm2020/primeng-editor.mjs +66 -46
  298. package/fesm2020/primeng-editor.mjs.map +1 -1
  299. package/fesm2020/primeng-fieldset.mjs +7 -7
  300. package/fesm2020/primeng-fileupload.mjs +29 -15
  301. package/fesm2020/primeng-fileupload.mjs.map +1 -1
  302. package/fesm2020/primeng-focustrap.mjs +7 -7
  303. package/fesm2020/primeng-fullcalendar.mjs +7 -7
  304. package/fesm2020/primeng-galleria.mjs +22 -20
  305. package/fesm2020/primeng-galleria.mjs.map +1 -1
  306. package/fesm2020/primeng-gmap.mjs +7 -7
  307. package/fesm2020/primeng-image.mjs +7 -7
  308. package/fesm2020/primeng-inplace.mjs +13 -13
  309. package/fesm2020/primeng-inputmask.mjs +13 -11
  310. package/fesm2020/primeng-inputmask.mjs.map +1 -1
  311. package/fesm2020/primeng-inputnumber.mjs +10 -8
  312. package/fesm2020/primeng-inputnumber.mjs.map +1 -1
  313. package/fesm2020/primeng-inputswitch.mjs +7 -7
  314. package/fesm2020/primeng-inputswitch.mjs.map +1 -1
  315. package/fesm2020/primeng-inputtext.mjs +7 -7
  316. package/fesm2020/primeng-inputtextarea.mjs +7 -7
  317. package/fesm2020/primeng-keyfilter.mjs +7 -7
  318. package/fesm2020/primeng-knob.mjs +7 -7
  319. package/fesm2020/primeng-lightbox.mjs +7 -7
  320. package/fesm2020/primeng-listbox.mjs +35 -35
  321. package/fesm2020/primeng-listbox.mjs.map +1 -1
  322. package/fesm2020/primeng-megamenu.mjs +7 -7
  323. package/fesm2020/primeng-menu.mjs +10 -10
  324. package/fesm2020/primeng-menubar.mjs +10 -10
  325. package/fesm2020/primeng-message.mjs +7 -7
  326. package/fesm2020/primeng-messages.mjs +7 -7
  327. package/fesm2020/primeng-multiselect.mjs +39 -40
  328. package/fesm2020/primeng-multiselect.mjs.map +1 -1
  329. package/fesm2020/primeng-orderlist.mjs +7 -7
  330. package/fesm2020/primeng-organizationchart.mjs +10 -10
  331. package/fesm2020/primeng-overlaypanel.mjs +10 -7
  332. package/fesm2020/primeng-overlaypanel.mjs.map +1 -1
  333. package/fesm2020/primeng-paginator.mjs +7 -7
  334. package/fesm2020/primeng-panel.mjs +7 -7
  335. package/fesm2020/primeng-panelmenu.mjs +10 -10
  336. package/fesm2020/primeng-password.mjs +10 -10
  337. package/fesm2020/primeng-picklist.mjs +7 -7
  338. package/fesm2020/primeng-progressbar.mjs +7 -7
  339. package/fesm2020/primeng-progressspinner.mjs +7 -7
  340. package/fesm2020/primeng-radiobutton.mjs +11 -11
  341. package/fesm2020/primeng-radiobutton.mjs.map +1 -1
  342. package/fesm2020/primeng-rating.mjs +7 -7
  343. package/fesm2020/primeng-ripple.mjs +7 -7
  344. package/fesm2020/primeng-scroller.mjs +20 -23
  345. package/fesm2020/primeng-scroller.mjs.map +1 -1
  346. package/fesm2020/primeng-scrollpanel.mjs +7 -7
  347. package/fesm2020/primeng-scrolltop.mjs +7 -7
  348. package/fesm2020/primeng-selectbutton.mjs +8 -8
  349. package/fesm2020/primeng-selectbutton.mjs.map +1 -1
  350. package/fesm2020/primeng-sidebar.mjs +7 -7
  351. package/fesm2020/primeng-skeleton.mjs +7 -7
  352. package/fesm2020/primeng-slidemenu.mjs +10 -10
  353. package/fesm2020/primeng-slider.mjs +27 -10
  354. package/fesm2020/primeng-slider.mjs.map +1 -1
  355. package/fesm2020/primeng-speeddial.mjs +7 -7
  356. package/fesm2020/primeng-spinner.mjs +7 -7
  357. package/fesm2020/primeng-splitbutton.mjs +8 -8
  358. package/fesm2020/primeng-splitbutton.mjs.map +1 -1
  359. package/fesm2020/primeng-splitter.mjs +7 -7
  360. package/fesm2020/primeng-steps.mjs +7 -7
  361. package/fesm2020/primeng-styleclass.mjs +7 -7
  362. package/fesm2020/primeng-table.mjs +138 -110
  363. package/fesm2020/primeng-table.mjs.map +1 -1
  364. package/fesm2020/primeng-tabmenu.mjs +7 -7
  365. package/fesm2020/primeng-tabview.mjs +26 -14
  366. package/fesm2020/primeng-tabview.mjs.map +1 -1
  367. package/fesm2020/primeng-tag.mjs +7 -7
  368. package/fesm2020/primeng-terminal.mjs +10 -10
  369. package/fesm2020/primeng-tieredmenu.mjs +18 -10
  370. package/fesm2020/primeng-tieredmenu.mjs.map +1 -1
  371. package/fesm2020/primeng-timeline.mjs +7 -7
  372. package/fesm2020/primeng-toast.mjs +10 -10
  373. package/fesm2020/primeng-togglebutton.mjs +7 -7
  374. package/fesm2020/primeng-toolbar.mjs +7 -7
  375. package/fesm2020/primeng-tooltip.mjs +7 -7
  376. package/fesm2020/primeng-tree.mjs +18 -16
  377. package/fesm2020/primeng-tree.mjs.map +1 -1
  378. package/fesm2020/primeng-treeselect.mjs +17 -11
  379. package/fesm2020/primeng-treeselect.mjs.map +1 -1
  380. package/fesm2020/primeng-treetable.mjs +58 -55
  381. package/fesm2020/primeng-treetable.mjs.map +1 -1
  382. package/fesm2020/primeng-tristatecheckbox.mjs +7 -7
  383. package/fesm2020/primeng-virtualscroller.mjs +7 -7
  384. package/fileupload/fileupload.d.ts +5 -1
  385. package/galleria/galleria.d.ts +1 -1
  386. package/inputmask/inputmask.d.ts +2 -1
  387. package/inputswitch/inputswitch.d.ts +5 -1
  388. package/listbox/listbox.d.ts +1 -1
  389. package/multiselect/multiselect.d.ts +1 -1
  390. package/package.json +9 -1
  391. package/resources/components/accordion/accordion.css +0 -4
  392. package/resources/components/table/table.css +3 -2
  393. package/resources/themes/arya-blue/theme.css +2 -1
  394. package/resources/themes/arya-green/theme.css +2 -1
  395. package/resources/themes/arya-orange/theme.css +2 -1
  396. package/resources/themes/arya-purple/theme.css +2 -1
  397. package/resources/themes/bootstrap4-dark-blue/theme.css +2 -1
  398. package/resources/themes/bootstrap4-dark-purple/theme.css +2 -1
  399. package/resources/themes/bootstrap4-light-blue/theme.css +2 -1
  400. package/resources/themes/bootstrap4-light-purple/theme.css +2 -1
  401. package/resources/themes/fluent-light/theme.css +2 -1
  402. package/resources/themes/lara-dark-blue/theme.css +2 -2
  403. package/resources/themes/lara-dark-indigo/theme.css +2 -2
  404. package/resources/themes/lara-dark-purple/theme.css +2 -2
  405. package/resources/themes/lara-dark-teal/theme.css +2 -2
  406. package/resources/themes/lara-light-blue/theme.css +2 -2
  407. package/resources/themes/lara-light-indigo/theme.css +2 -2
  408. package/resources/themes/lara-light-purple/theme.css +2 -2
  409. package/resources/themes/lara-light-teal/theme.css +2 -2
  410. package/resources/themes/luna-amber/theme.css +2 -1
  411. package/resources/themes/luna-blue/theme.css +2 -1
  412. package/resources/themes/luna-green/theme.css +2 -1
  413. package/resources/themes/luna-pink/theme.css +2 -1
  414. package/resources/themes/md-dark-deeppurple/theme.css +7 -5
  415. package/resources/themes/md-dark-indigo/theme.css +7 -5
  416. package/resources/themes/md-light-deeppurple/theme.css +7 -5
  417. package/resources/themes/md-light-indigo/theme.css +7 -5
  418. package/resources/themes/mdc-dark-deeppurple/theme.css +7 -5
  419. package/resources/themes/mdc-dark-indigo/theme.css +7 -5
  420. package/resources/themes/mdc-light-deeppurple/theme.css +7 -5
  421. package/resources/themes/mdc-light-indigo/theme.css +7 -5
  422. package/resources/themes/nova/theme.css +2 -1
  423. package/resources/themes/nova-accent/theme.css +2 -1
  424. package/resources/themes/nova-alt/theme.css +2 -1
  425. package/resources/themes/rhea/theme.css +2 -1
  426. package/resources/themes/saga-blue/theme.css +2 -1
  427. package/resources/themes/saga-green/theme.css +2 -1
  428. package/resources/themes/saga-orange/theme.css +2 -1
  429. package/resources/themes/saga-purple/theme.css +2 -1
  430. package/resources/themes/tailwind-light/theme.css +2 -1
  431. package/resources/themes/vela-blue/theme.css +2 -1
  432. package/resources/themes/vela-green/theme.css +2 -1
  433. package/resources/themes/vela-orange/theme.css +2 -1
  434. package/resources/themes/vela-purple/theme.css +2 -1
  435. package/slider/slider.d.ts +3 -0
  436. package/table/table.d.ts +8 -3
  437. package/tabview/tabview.d.ts +3 -1
  438. package/tieredmenu/tieredmenu.d.ts +3 -1
  439. package/tree/tree.d.ts +2 -2
  440. package/treeselect/treeselect.d.ts +1 -0
@@ -13,9 +13,9 @@ class DynamicDialogContent {
13
13
  this.viewContainerRef = viewContainerRef;
14
14
  }
15
15
  }
16
- DynamicDialogContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DynamicDialogContent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
17
- DynamicDialogContent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.6", type: DynamicDialogContent, selector: "[pDynamicDialogContent]", host: { classAttribute: "p-element" }, ngImport: i0 });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DynamicDialogContent, decorators: [{
16
+ DynamicDialogContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: DynamicDialogContent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
17
+ DynamicDialogContent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.7", type: DynamicDialogContent, selector: "[pDynamicDialogContent]", host: { classAttribute: "p-element" }, ngImport: i0 });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: DynamicDialogContent, decorators: [{
19
19
  type: Directive,
20
20
  args: [{
21
21
  selector: '[pDynamicDialogContent]',
@@ -34,6 +34,16 @@ class DynamicDialogRef {
34
34
  this.onClose = this._onClose.asObservable();
35
35
  this._onDestroy = new Subject();
36
36
  this.onDestroy = this._onDestroy.asObservable();
37
+ this._onDragStart = new Subject();
38
+ this.onDragStart = this._onDragStart.asObservable();
39
+ this._onDragEnd = new Subject();
40
+ this.onDragEnd = this._onDragEnd.asObservable();
41
+ this._onResizeInit = new Subject();
42
+ this.onResizeInit = this._onResizeInit.asObservable();
43
+ this._onResizeEnd = new Subject();
44
+ this.onResizeEnd = this._onResizeEnd.asObservable();
45
+ this._onMaximize = new Subject();
46
+ this.onMaximize = this._onMaximize.asObservable();
37
47
  }
38
48
  close(result) {
39
49
  this._onClose.next(result);
@@ -41,6 +51,21 @@ class DynamicDialogRef {
41
51
  destroy() {
42
52
  this._onDestroy.next(null);
43
53
  }
54
+ dragStart(event) {
55
+ this._onDragStart.next(event);
56
+ }
57
+ dragEnd(event) {
58
+ this._onDragEnd.next(event);
59
+ }
60
+ resizeInit(event) {
61
+ this._onResizeInit.next(event);
62
+ }
63
+ resizeEnd(event) {
64
+ this._onResizeEnd.next(event);
65
+ }
66
+ maximize(value) {
67
+ this._onMaximize.next(value);
68
+ }
44
69
  }
45
70
 
46
71
  const showAnimation = animation([
@@ -60,8 +85,39 @@ class DynamicDialogComponent {
60
85
  this.zone = zone;
61
86
  this.primeNGConfig = primeNGConfig;
62
87
  this.visible = true;
88
+ this._style = {};
63
89
  this.transformOptions = "scale(0.7)";
64
90
  }
91
+ get minX() {
92
+ return this.config.minX ? this.config.minX : 0;
93
+ }
94
+ get minY() {
95
+ return this.config.minY ? this.config.minY : 0;
96
+ }
97
+ get keepInViewport() {
98
+ return this.config.keepInViewport;
99
+ }
100
+ get maximizable() {
101
+ return this.config.maximizable;
102
+ }
103
+ get maximizeIcon() {
104
+ return this.config.maximizeIcon ? this.config.maximizeIcon : 'pi pi-window-maximize';
105
+ }
106
+ get minimizeIcon() {
107
+ return this.config.minimizeIcon ? this.config.minimizeIcon : 'pi pi-window-minimize';
108
+ }
109
+ get style() {
110
+ return this._style;
111
+ }
112
+ get position() {
113
+ return this.config.position;
114
+ }
115
+ set style(value) {
116
+ if (value) {
117
+ this._style = Object.assign({}, value);
118
+ this.originalStyle = value;
119
+ }
120
+ }
65
121
  ngAfterViewInit() {
66
122
  this.loadChildComponent(this.childComponentType);
67
123
  this.cd.detectChanges();
@@ -181,15 +237,182 @@ class DynamicDialogComponent {
181
237
  });
182
238
  }
183
239
  }
240
+ maximize() {
241
+ this.maximized = !this.maximized;
242
+ if (this.maximized) {
243
+ DomHandler.addClass(document.body, 'p-overflow-hidden');
244
+ }
245
+ else {
246
+ DomHandler.removeClass(document.body, 'p-overflow-hidden');
247
+ }
248
+ this.dialogRef.maximize({ 'maximized': this.maximized });
249
+ }
250
+ initResize(event) {
251
+ if (this.config.resizable) {
252
+ this.resizing = true;
253
+ this.lastPageX = event.pageX;
254
+ this.lastPageY = event.pageY;
255
+ DomHandler.addClass(document.body, 'p-unselectable-text');
256
+ this.dialogRef.resizeInit(event);
257
+ }
258
+ }
259
+ onResize(event) {
260
+ if (this.resizing) {
261
+ let deltaX = event.pageX - this.lastPageX;
262
+ let deltaY = event.pageY - this.lastPageY;
263
+ let containerWidth = DomHandler.getOuterWidth(this.container);
264
+ let containerHeight = DomHandler.getOuterHeight(this.container);
265
+ let contentHeight = DomHandler.getOuterHeight(this.contentViewChild.nativeElement);
266
+ let newWidth = containerWidth + deltaX;
267
+ let newHeight = containerHeight + deltaY;
268
+ let minWidth = this.container.style.minWidth;
269
+ let minHeight = this.container.style.minHeight;
270
+ let offset = this.container.getBoundingClientRect();
271
+ let viewport = DomHandler.getViewport();
272
+ let hasBeenDragged = !parseInt(this.container.style.top) || !parseInt(this.container.style.left);
273
+ if (hasBeenDragged) {
274
+ newWidth += deltaX;
275
+ newHeight += deltaY;
276
+ }
277
+ if ((!minWidth || newWidth > parseInt(minWidth)) && (offset.left + newWidth) < viewport.width) {
278
+ this._style.width = newWidth + 'px';
279
+ this.container.style.width = this._style.width;
280
+ }
281
+ if ((!minHeight || newHeight > parseInt(minHeight)) && (offset.top + newHeight) < viewport.height) {
282
+ this.contentViewChild.nativeElement.style.height = contentHeight + newHeight - containerHeight + 'px';
283
+ if (this._style.height) {
284
+ this._style.height = newHeight + 'px';
285
+ this.container.style.height = this._style.height;
286
+ }
287
+ }
288
+ this.lastPageX = event.pageX;
289
+ this.lastPageY = event.pageY;
290
+ }
291
+ }
292
+ resizeEnd(event) {
293
+ if (this.resizing) {
294
+ this.resizing = false;
295
+ DomHandler.removeClass(document.body, 'p-unselectable-text');
296
+ this.dialogRef.resizeEnd(event);
297
+ }
298
+ }
299
+ initDrag(event) {
300
+ if (DomHandler.hasClass(event.target, 'p-dialog-header-icon') || DomHandler.hasClass(event.target.parentElement, 'p-dialog-header-icon')) {
301
+ return;
302
+ }
303
+ if (this.config.draggable) {
304
+ this.dragging = true;
305
+ this.lastPageX = event.pageX;
306
+ this.lastPageY = event.pageY;
307
+ this.container.style.margin = '0';
308
+ DomHandler.addClass(document.body, 'p-unselectable-text');
309
+ this.dialogRef.dragStart(event);
310
+ }
311
+ }
312
+ onDrag(event) {
313
+ if (this.dragging) {
314
+ let containerWidth = DomHandler.getOuterWidth(this.container);
315
+ let containerHeight = DomHandler.getOuterHeight(this.container);
316
+ let deltaX = event.pageX - this.lastPageX;
317
+ let deltaY = event.pageY - this.lastPageY;
318
+ let offset = this.container.getBoundingClientRect();
319
+ let leftPos = offset.left + deltaX;
320
+ let topPos = offset.top + deltaY;
321
+ let viewport = DomHandler.getViewport();
322
+ this.container.style.position = 'fixed';
323
+ if (this.keepInViewport) {
324
+ if (leftPos >= this.minX && (leftPos + containerWidth) < viewport.width) {
325
+ this._style.left = leftPos + 'px';
326
+ this.lastPageX = event.pageX;
327
+ this.container.style.left = leftPos + 'px';
328
+ }
329
+ if (topPos >= this.minY && (topPos + containerHeight) < viewport.height) {
330
+ this._style.top = topPos + 'px';
331
+ this.lastPageY = event.pageY;
332
+ this.container.style.top = topPos + 'px';
333
+ }
334
+ }
335
+ else {
336
+ this.lastPageX = event.pageX;
337
+ this.container.style.left = leftPos + 'px';
338
+ this.lastPageY = event.pageY;
339
+ this.container.style.top = topPos + 'px';
340
+ }
341
+ }
342
+ }
343
+ endDrag(event) {
344
+ if (this.dragging) {
345
+ this.dragging = false;
346
+ DomHandler.removeClass(document.body, 'p-unselectable-text');
347
+ this.dialogRef.dragEnd(event);
348
+ this.cd.detectChanges();
349
+ }
350
+ }
351
+ resetPosition() {
352
+ this.container.style.position = '';
353
+ this.container.style.left = '';
354
+ this.container.style.top = '';
355
+ this.container.style.margin = '';
356
+ }
357
+ bindDocumentDragListener() {
358
+ this.zone.runOutsideAngular(() => {
359
+ this.documentDragListener = this.onDrag.bind(this);
360
+ window.document.addEventListener('mousemove', this.documentDragListener);
361
+ });
362
+ }
363
+ bindDocumentDragEndListener() {
364
+ this.zone.runOutsideAngular(() => {
365
+ this.documentDragEndListener = this.endDrag.bind(this);
366
+ window.document.addEventListener('mouseup', this.documentDragEndListener);
367
+ });
368
+ }
369
+ unbindDocumentDragEndListener() {
370
+ if (this.documentDragEndListener) {
371
+ window.document.removeEventListener('mouseup', this.documentDragEndListener);
372
+ this.documentDragEndListener = null;
373
+ }
374
+ }
375
+ unbindDocumentDragListener() {
376
+ if (this.documentDragListener) {
377
+ window.document.removeEventListener('mousemove', this.documentDragListener);
378
+ this.documentDragListener = null;
379
+ }
380
+ }
381
+ bindDocumentResizeListeners() {
382
+ this.zone.runOutsideAngular(() => {
383
+ this.documentResizeListener = this.onResize.bind(this);
384
+ this.documentResizeEndListener = this.resizeEnd.bind(this);
385
+ window.document.addEventListener('mousemove', this.documentResizeListener);
386
+ window.document.addEventListener('mouseup', this.documentResizeEndListener);
387
+ });
388
+ }
389
+ unbindDocumentResizeListeners() {
390
+ if (this.documentResizeListener && this.documentResizeEndListener) {
391
+ window.document.removeEventListener('mousemove', this.documentResizeListener);
392
+ window.document.removeEventListener('mouseup', this.documentResizeEndListener);
393
+ this.documentResizeListener = null;
394
+ this.documentResizeEndListener = null;
395
+ }
396
+ }
184
397
  bindGlobalListeners() {
185
398
  this.bindDocumentKeydownListener();
186
399
  if (this.config.closeOnEscape !== false && this.config.closable !== false) {
187
400
  this.bindDocumentEscapeListener();
188
401
  }
402
+ if (this.config.resizable) {
403
+ this.bindDocumentResizeListeners();
404
+ }
405
+ if (this.config.draggable) {
406
+ this.bindDocumentDragListener();
407
+ this.bindDocumentDragEndListener();
408
+ }
189
409
  }
190
410
  unbindGlobalListeners() {
191
411
  this.unbindDocumentKeydownListener();
192
412
  this.unbindDocumentEscapeListener();
413
+ this.unbindDocumentResizeListeners();
414
+ this.unbindDocumentDragListener();
415
+ this.unbindDocumentDragEndListener();
193
416
  }
194
417
  bindDocumentKeydownListener() {
195
418
  this.zone.runOutsideAngular(() => {
@@ -232,22 +455,35 @@ class DynamicDialogComponent {
232
455
  }
233
456
  }
234
457
  }
235
- DynamicDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DynamicDialogComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: DynamicDialogConfig }, { token: DynamicDialogRef }, { token: i0.NgZone }, { token: i3.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
236
- DynamicDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: DynamicDialogComponent, selector: "p-dynamicDialog", host: { classAttribute: "p-element" }, viewQueries: [{ propertyName: "insertionPoint", first: true, predicate: DynamicDialogContent, descendants: true }, { propertyName: "maskViewChild", first: true, predicate: ["mask"], descendants: true }], ngImport: i0, template: `
237
- <div #mask [ngClass]="{'p-dialog-mask':true, 'p-component-overlay p-component-overlay-enter p-dialog-mask-scrollblocker': config.modal !== false}" [class]="config.maskStyleClass">
238
- <div [ngClass]="{'p-dialog p-dynamic-dialog p-component':true, 'p-dialog-rtl': config.rtl}" [ngStyle]="config.style" [class]="config.styleClass"
458
+ DynamicDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: DynamicDialogComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: DynamicDialogConfig }, { token: DynamicDialogRef }, { token: i0.NgZone }, { token: i3.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
459
+ DynamicDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: DynamicDialogComponent, selector: "p-dynamicDialog", host: { classAttribute: "p-element" }, viewQueries: [{ propertyName: "insertionPoint", first: true, predicate: DynamicDialogContent, descendants: true }, { propertyName: "maskViewChild", first: true, predicate: ["mask"], descendants: true }, { propertyName: "contentViewChild", first: true, predicate: ["content"], descendants: true }, { propertyName: "headerViewChild", first: true, predicate: ["titlebar"], descendants: true }], ngImport: i0, template: `
460
+ <div #mask [ngClass]="{'p-dialog-mask':true,
461
+ 'p-component-overlay p-component-overlay-enter p-dialog-mask-scrollblocker': config.modal !== false,
462
+ 'p-dialog-left': position === 'left',
463
+ 'p-dialog-right': position === 'right',
464
+ 'p-dialog-top': position === 'top',
465
+ 'p-dialog-bottom': position === 'bottom',
466
+ 'p-dialog-top-left': position === 'topleft' || position === 'top-left',
467
+ 'p-dialog-top-right': position === 'topright' || position === 'top-right',
468
+ 'p-dialog-bottom-left': position === 'bottomleft' || position === 'bottom-left',
469
+ 'p-dialog-bottom-right': position === 'bottomright' || position === 'bottom-right'}" [class]="config.maskStyleClass">
470
+ <div #container [ngClass]="{'p-dialog p-dynamic-dialog p-component':true, 'p-dialog-rtl': config.rtl, 'p-dialog-resizable': config.resizable, 'p-dialog-draggable': config.draggable, 'p-dialog-maximized': maximized}" [ngStyle]="config.style" [class]="config.styleClass"
239
471
  [@animation]="{value: 'visible', params: {transform: transformOptions, transition: config.transitionOptions || '150ms cubic-bezier(0, 0, 0.2, 1)'}}"
240
472
  (@animation.start)="onAnimationStart($event)" (@animation.done)="onAnimationEnd($event)" role="dialog" *ngIf="visible"
241
473
  [style.width]="config.width" [style.height]="config.height">
242
- <div class="p-dialog-header" *ngIf="config.showHeader === false ? false: true">
474
+ <div *ngIf="config.resizable" class="p-resizable-handle" style="z-index: 90;" (mousedown)="initResize($event)"></div>
475
+ <div #titlebar class="p-dialog-header" (mousedown)="initDrag($event)" *ngIf="config.showHeader === false ? false: true">
243
476
  <span class="p-dialog-title">{{config.header}}</span>
244
477
  <div class="p-dialog-header-icons">
478
+ <button *ngIf="config.maximizable" type="button" [ngClass]="{'p-dialog-header-icon p-dialog-header-maximize p-link':true}" (click)="maximize()" (keydown.enter)="maximize()" tabindex="-1" pRipple>
479
+ <span class="p-dialog-header-maximize-icon" [ngClass]="maximized ? minimizeIcon : maximizeIcon"></span>
480
+ </button>
245
481
  <button [ngClass]="'p-dialog-header-icon p-dialog-header-maximize p-link'" type="button" (click)="hide()" (keydown.enter)="hide()" *ngIf="config.closable !== false">
246
482
  <span class="p-dialog-header-close-icon pi pi-times"></span>
247
483
  </button>
248
484
  </div>
249
485
  </div>
250
- <div class="p-dialog-content" [ngStyle]="config.contentStyle">
486
+ <div #content class="p-dialog-content" [ngStyle]="config.contentStyle">
251
487
  <ng-template pDynamicDialogContent></ng-template>
252
488
  </div>
253
489
  <div class="p-dialog-footer" *ngIf="config.footer">
@@ -265,23 +501,36 @@ DynamicDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
265
501
  ])
266
502
  ])
267
503
  ], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
268
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DynamicDialogComponent, decorators: [{
504
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: DynamicDialogComponent, decorators: [{
269
505
  type: Component,
270
506
  args: [{ selector: 'p-dynamicDialog', template: `
271
- <div #mask [ngClass]="{'p-dialog-mask':true, 'p-component-overlay p-component-overlay-enter p-dialog-mask-scrollblocker': config.modal !== false}" [class]="config.maskStyleClass">
272
- <div [ngClass]="{'p-dialog p-dynamic-dialog p-component':true, 'p-dialog-rtl': config.rtl}" [ngStyle]="config.style" [class]="config.styleClass"
507
+ <div #mask [ngClass]="{'p-dialog-mask':true,
508
+ 'p-component-overlay p-component-overlay-enter p-dialog-mask-scrollblocker': config.modal !== false,
509
+ 'p-dialog-left': position === 'left',
510
+ 'p-dialog-right': position === 'right',
511
+ 'p-dialog-top': position === 'top',
512
+ 'p-dialog-bottom': position === 'bottom',
513
+ 'p-dialog-top-left': position === 'topleft' || position === 'top-left',
514
+ 'p-dialog-top-right': position === 'topright' || position === 'top-right',
515
+ 'p-dialog-bottom-left': position === 'bottomleft' || position === 'bottom-left',
516
+ 'p-dialog-bottom-right': position === 'bottomright' || position === 'bottom-right'}" [class]="config.maskStyleClass">
517
+ <div #container [ngClass]="{'p-dialog p-dynamic-dialog p-component':true, 'p-dialog-rtl': config.rtl, 'p-dialog-resizable': config.resizable, 'p-dialog-draggable': config.draggable, 'p-dialog-maximized': maximized}" [ngStyle]="config.style" [class]="config.styleClass"
273
518
  [@animation]="{value: 'visible', params: {transform: transformOptions, transition: config.transitionOptions || '150ms cubic-bezier(0, 0, 0.2, 1)'}}"
274
519
  (@animation.start)="onAnimationStart($event)" (@animation.done)="onAnimationEnd($event)" role="dialog" *ngIf="visible"
275
520
  [style.width]="config.width" [style.height]="config.height">
276
- <div class="p-dialog-header" *ngIf="config.showHeader === false ? false: true">
521
+ <div *ngIf="config.resizable" class="p-resizable-handle" style="z-index: 90;" (mousedown)="initResize($event)"></div>
522
+ <div #titlebar class="p-dialog-header" (mousedown)="initDrag($event)" *ngIf="config.showHeader === false ? false: true">
277
523
  <span class="p-dialog-title">{{config.header}}</span>
278
524
  <div class="p-dialog-header-icons">
525
+ <button *ngIf="config.maximizable" type="button" [ngClass]="{'p-dialog-header-icon p-dialog-header-maximize p-link':true}" (click)="maximize()" (keydown.enter)="maximize()" tabindex="-1" pRipple>
526
+ <span class="p-dialog-header-maximize-icon" [ngClass]="maximized ? minimizeIcon : maximizeIcon"></span>
527
+ </button>
279
528
  <button [ngClass]="'p-dialog-header-icon p-dialog-header-maximize p-link'" type="button" (click)="hide()" (keydown.enter)="hide()" *ngIf="config.closable !== false">
280
529
  <span class="p-dialog-header-close-icon pi pi-times"></span>
281
530
  </button>
282
531
  </div>
283
532
  </div>
284
- <div class="p-dialog-content" [ngStyle]="config.contentStyle">
533
+ <div #content class="p-dialog-content" [ngStyle]="config.contentStyle">
285
534
  <ng-template pDynamicDialogContent></ng-template>
286
535
  </div>
287
536
  <div class="p-dialog-footer" *ngIf="config.footer">
@@ -307,13 +556,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
307
556
  }], maskViewChild: [{
308
557
  type: ViewChild,
309
558
  args: ['mask']
559
+ }], contentViewChild: [{
560
+ type: ViewChild,
561
+ args: ['content']
562
+ }], headerViewChild: [{
563
+ type: ViewChild,
564
+ args: ['titlebar']
310
565
  }] } });
311
566
  class DynamicDialogModule {
312
567
  }
313
- DynamicDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DynamicDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
314
- DynamicDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.6", ngImport: i0, type: DynamicDialogModule, declarations: [DynamicDialogComponent, DynamicDialogContent], imports: [CommonModule] });
315
- DynamicDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DynamicDialogModule, imports: [CommonModule] });
316
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DynamicDialogModule, decorators: [{
568
+ DynamicDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: DynamicDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
569
+ DynamicDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.7", ngImport: i0, type: DynamicDialogModule, declarations: [DynamicDialogComponent, DynamicDialogContent], imports: [CommonModule] });
570
+ DynamicDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: DynamicDialogModule, imports: [CommonModule] });
571
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: DynamicDialogModule, decorators: [{
317
572
  type: NgModule,
318
573
  args: [{
319
574
  imports: [CommonModule],
@@ -378,9 +633,9 @@ class DialogService {
378
633
  this.dialogComponentRefMap.delete(dialogRef);
379
634
  }
380
635
  }
381
- DialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DialogService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
382
- DialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DialogService });
383
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DialogService, decorators: [{
636
+ DialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: DialogService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
637
+ DialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: DialogService });
638
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: DialogService, decorators: [{
384
639
  type: Injectable
385
640
  }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ApplicationRef }, { type: i0.Injector }]; } });
386
641
 
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-dynamicdialog.mjs","sources":["../../src/app/components/dynamicdialog/dynamicdialogcontent.ts","../../src/app/components/dynamicdialog/dynamicdialog-config.ts","../../src/app/components/dynamicdialog/dynamicdialog-ref.ts","../../src/app/components/dynamicdialog/dynamicdialog.ts","../../src/app/components/dynamicdialog/dynamicdialog-injector.ts","../../src/app/components/dynamicdialog/dialogservice.ts","../../src/app/components/dynamicdialog/primeng-dynamicdialog.ts"],"sourcesContent":["import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[pDynamicDialogContent]',\n host: {\n 'class': 'p-element'\n }\n})\nexport class DynamicDialogContent {\n\n\tconstructor(public viewContainerRef: ViewContainerRef) {}\n\n}\n","export class DynamicDialogConfig {\r\n\tdata?: any;\r\n\theader?: string;\r\n\tfooter?: string;\r\n\twidth?: string;\r\n\theight?: string;\r\n\tcloseOnEscape?: boolean;\r\n\tbaseZIndex?: number;\r\n\tautoZIndex?: boolean;\r\n\tdismissableMask?: boolean;\r\n\trtl?: boolean;\r\n\tstyle?: any;\r\n\tcontentStyle?: any;\r\n\tstyleClass?: string;\r\n\ttransitionOptions?: string;\r\n\tclosable?: boolean;\r\n\tshowHeader?: boolean;\r\n\tmodal?: boolean;\r\n\tmaskStyleClass?: string;\r\n}\r\n","import { Observable, Subject } from 'rxjs';\r\n\r\nexport class DynamicDialogRef {\r\n\tconstructor() { }\r\n\r\n\tclose(result?: any) {\r\n\t\tthis._onClose.next(result);\r\n }\r\n\r\n destroy() {\r\n\t\tthis._onDestroy.next(null);\r\n\t}\r\n\r\n\tprivate readonly _onClose = new Subject<any>();\r\n onClose: Observable<any> = this._onClose.asObservable();\r\n\r\n private readonly _onDestroy = new Subject<any>();\r\n\tonDestroy: Observable<any> = this._onDestroy.asObservable();\r\n}\r\n","import { Component, NgModule, Type, ComponentFactoryResolver, ViewChild, OnDestroy, ComponentRef, AfterViewInit, ChangeDetectorRef, Renderer2, NgZone, ElementRef, ChangeDetectionStrategy, ViewRef, ViewEncapsulation } from '@angular/core';\nimport { trigger,style,transition,animate,AnimationEvent, animation, useAnimation } from '@angular/animations';\nimport { DynamicDialogContent } from './dynamicdialogcontent';\nimport { DynamicDialogConfig } from './dynamicdialog-config';\nimport { CommonModule } from '@angular/common';\nimport { DomHandler } from 'primeng/dom';\nimport { DynamicDialogRef } from './dynamicdialog-ref';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { PrimeNGConfig } from 'primeng/api';\n\nconst showAnimation = animation([\n style({ transform: '{{transform}}', opacity: 0 }),\n animate('{{transition}}', style({ transform: 'none', opacity: 1 }))\n]);\n\nconst hideAnimation = animation([\n animate('{{transition}}', style({ transform: '{{transform}}', opacity: 0 }))\n]);\n\n@Component({\n\tselector: 'p-dynamicDialog',\n\ttemplate: `\n <div #mask [ngClass]=\"{'p-dialog-mask':true, 'p-component-overlay p-component-overlay-enter p-dialog-mask-scrollblocker': config.modal !== false}\" [class]=\"config.maskStyleClass\">\n <div [ngClass]=\"{'p-dialog p-dynamic-dialog p-component':true, 'p-dialog-rtl': config.rtl}\" [ngStyle]=\"config.style\" [class]=\"config.styleClass\"\n [@animation]=\"{value: 'visible', params: {transform: transformOptions, transition: config.transitionOptions || '150ms cubic-bezier(0, 0, 0.2, 1)'}}\"\n (@animation.start)=\"onAnimationStart($event)\" (@animation.done)=\"onAnimationEnd($event)\" role=\"dialog\" *ngIf=\"visible\"\n [style.width]=\"config.width\" [style.height]=\"config.height\">\n <div class=\"p-dialog-header\" *ngIf=\"config.showHeader === false ? false: true\">\n <span class=\"p-dialog-title\">{{config.header}}</span>\n <div class=\"p-dialog-header-icons\">\n <button [ngClass]=\"'p-dialog-header-icon p-dialog-header-maximize p-link'\" type=\"button\" (click)=\"hide()\" (keydown.enter)=\"hide()\" *ngIf=\"config.closable !== false\">\n <span class=\"p-dialog-header-close-icon pi pi-times\"></span>\n </button>\n </div>\n </div>\n <div class=\"p-dialog-content\" [ngStyle]=\"config.contentStyle\">\n <ng-template pDynamicDialogContent></ng-template>\n </div>\n <div class=\"p-dialog-footer\" *ngIf=\"config.footer\">\n {{config.footer}}\n </div>\n </div>\n </div>\n\t`,\n\tanimations: [\n trigger('animation', [\n transition('void => visible', [\n useAnimation(showAnimation)\n ]),\n transition('visible => void', [\n useAnimation(hideAnimation)\n ])\n ])\n ],\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['../dialog/dialog.css'],\n host: {\n 'class': 'p-element'\n }\n})\nexport class DynamicDialogComponent implements AfterViewInit, OnDestroy {\n\n\tvisible: boolean = true;\n\n\tcomponentRef: ComponentRef<any>;\n\n\tmask: HTMLDivElement;\n\n\t@ViewChild(DynamicDialogContent) insertionPoint: DynamicDialogContent;\n\n\t@ViewChild('mask') maskViewChild: ElementRef;\n\n\tchildComponentType: Type<any>;\n\n container: HTMLDivElement;\n\n wrapper: HTMLElement;\n\n documentKeydownListener: any;\n\n documentEscapeListener: Function;\n\n maskClickListener: Function;\n\n transformOptions: string = \"scale(0.7)\";\n\n\tconstructor(private componentFactoryResolver: ComponentFactoryResolver, private cd: ChangeDetectorRef, public renderer: Renderer2,\n\t\t\tpublic config: DynamicDialogConfig, private dialogRef: DynamicDialogRef, public zone: NgZone, public primeNGConfig: PrimeNGConfig) { }\n\n\tngAfterViewInit() {\n\t\tthis.loadChildComponent(this.childComponentType);\n\t\tthis.cd.detectChanges();\n\t}\n\n\tloadChildComponent(componentType: Type<any>) {\n\t\tlet componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentType);\n\n\t\tlet viewContainerRef = this.insertionPoint.viewContainerRef;\n\t\tviewContainerRef.clear();\n\n\t\tthis.componentRef = viewContainerRef.createComponent(componentFactory);\n\t}\n\n\tmoveOnTop() {\n if (this.config.autoZIndex !== false) {\n ZIndexUtils.set('modal', this.container, (this.config.baseZIndex||0) + this.primeNGConfig.zIndex.modal);\n this.wrapper.style.zIndex = String(parseInt(this.container.style.zIndex, 10) - 1);\n\t\t}\n }\n\n\tonAnimationStart(event: AnimationEvent) {\n\t\tswitch(event.toState) {\n\t\t\tcase 'visible':\n this.container = event.element;\n this.wrapper = this.container.parentElement;\n\t\t\t\tthis.moveOnTop();\n this.bindGlobalListeners();\n\n if (this.config.modal !== false) {\n this.enableModality();\n }\n this.focus();\n\t\t\tbreak;\n\n\t\t\tcase 'void':\n if (this.wrapper && this.config.modal !== false) {\n DomHandler.addClass(this.wrapper, 'p-component-overlay-leave');\n }\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tonAnimationEnd(event: AnimationEvent) {\n\t\tif (event.toState === 'void') {\n this.onContainerDestroy();\n\t\t\tthis.dialogRef.destroy();\n\t\t}\n\t}\n\n\tonContainerDestroy() {\n\t\tthis.unbindGlobalListeners();\n\n if (this.container && this.config.autoZIndex !== false) {\n ZIndexUtils.clear(this.container);\n }\n\n if (this.config.modal !== false) {\n this.disableModality();\n }\n this.container = null;\n\t}\n\n\tclose() {\n this.visible = false;\n this.cd.markForCheck();\n\t}\n\n hide() {\n if (this.dialogRef) {\n this.dialogRef.close();\n }\n }\n\n enableModality() {\n if (this.config.closable !== false && this.config.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.config.modal !== false) {\n DomHandler.addClass(document.body, 'p-overflow-hidden');\n }\n }\n\n disableModality() {\n if (this.wrapper) {\n if (this.config.dismissableMask) {\n this.unbindMaskClickListener();\n }\n\n if (this.config.modal !== false) {\n DomHandler.removeClass(document.body, 'p-overflow-hidden');\n }\n\n if (!(this.cd as ViewRef).destroyed) {\n this.cd.detectChanges();\n }\n }\n }\n\n onKeydown(event: KeyboardEvent) {\n if (event.which === 9) {\n event.preventDefault();\n\n let focusableElements = DomHandler.getFocusableElements(this.container);\n\n if (focusableElements && focusableElements.length > 0) {\n if (!focusableElements[0].ownerDocument.activeElement) {\n focusableElements[0].focus();\n }\n else {\n let focusedIndex = focusableElements.indexOf(focusableElements[0].ownerDocument.activeElement);\n\n if (event.shiftKey) {\n if (focusedIndex == -1 || focusedIndex === 0)\n focusableElements[focusableElements.length - 1].focus();\n else\n focusableElements[focusedIndex - 1].focus();\n }\n else {\n if (focusedIndex == -1 || focusedIndex === (focusableElements.length - 1))\n focusableElements[0].focus();\n else\n focusableElements[focusedIndex + 1].focus();\n }\n }\n }\n }\n }\n\n focus() {\n let focusable = DomHandler.findSingle(this.container, '[autofocus]');\n if (focusable) {\n this.zone.runOutsideAngular(() => {\n setTimeout(() => focusable.focus(), 5);\n });\n }\n }\n\n\tbindGlobalListeners() {\n this.bindDocumentKeydownListener();\n\n if (this.config.closeOnEscape !== false && this.config.closable !== false) {\n this.bindDocumentEscapeListener();\n }\n }\n\n unbindGlobalListeners() {\n this.unbindDocumentKeydownListener();\n this.unbindDocumentEscapeListener();\n }\n\n bindDocumentKeydownListener() {\n this.zone.runOutsideAngular(() => {\n this.documentKeydownListener = this.onKeydown.bind(this);\n window.document.addEventListener('keydown', this.documentKeydownListener);\n });\n }\n\n unbindDocumentKeydownListener() {\n if (this.documentKeydownListener) {\n window.document.removeEventListener('keydown', this.documentKeydownListener);\n this.documentKeydownListener = null;\n }\n }\n\n\tbindDocumentEscapeListener() {\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.style.zIndex) == ZIndexUtils.getCurrent()) {\n\t\t\t\t\tthis.hide();\n\t\t\t\t}\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\tngOnDestroy() {\n\t\tthis.onContainerDestroy();\n\n\t\tif (this.componentRef) {\n\t\t\tthis.componentRef.destroy();\n\t\t}\n\t}\n}\n\n@NgModule({\n\timports: [CommonModule],\n\tdeclarations: [DynamicDialogComponent, DynamicDialogContent],\n\tentryComponents: [DynamicDialogComponent]\n})\nexport class DynamicDialogModule { }\n","import { Injector, Type, InjectionToken, InjectFlags } from '@angular/core';\r\n\r\nexport class DynamicDialogInjector implements Injector {\r\n\t\r\n\tconstructor(private _parentInjector: Injector, private _additionalTokens: WeakMap<any, any>) { }\r\n\r\n\tget<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T, flags?: InjectFlags): T;\r\n\tget(token: any, notFoundValue?: any);\r\n\tget(token: any, notFoundValue?: any, flags?: any) {\r\n\t\tconst value = this._additionalTokens.get(token);\r\n\r\n\t\tif (value) return value;\r\n\r\n\t\treturn this._parentInjector.get<any>(token, notFoundValue);\r\n\t}\r\n}\r\n","import { Injectable, ComponentFactoryResolver, ApplicationRef, Injector, Type, EmbeddedViewRef, ComponentRef } from '@angular/core';\nimport { DynamicDialogComponent } from './dynamicdialog';\nimport { DynamicDialogInjector } from './dynamicdialog-injector';\nimport { DynamicDialogConfig } from './dynamicdialog-config';\nimport { DynamicDialogRef } from './dynamicdialog-ref';\n\n@Injectable()\nexport class DialogService {\n\n dialogComponentRefMap: Map<DynamicDialogRef, ComponentRef<DynamicDialogComponent>> = new Map();\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private appRef: ApplicationRef, private injector: Injector) {\n }\n\n public open(componentType: Type<any>, config: DynamicDialogConfig) {\n const dialogRef = this.appendDialogComponentToBody(config);\n\n this.dialogComponentRefMap.get(dialogRef).instance.childComponentType = componentType;\n\n return dialogRef;\n }\n\n private appendDialogComponentToBody(config: DynamicDialogConfig) {\n const map = new WeakMap();\n map.set(DynamicDialogConfig, config);\n\n const dialogRef = new DynamicDialogRef();\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 componentFactory = this.componentFactoryResolver.resolveComponentFactory(DynamicDialogComponent);\n const componentRef = componentFactory.create(new DynamicDialogInjector(this.injector, map));\n\n this.appRef.attachView(componentRef.hostView);\n\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n\n this.dialogComponentRefMap.set(dialogRef, componentRef);\n\n return dialogRef;\n }\n\n private removeDialogComponentFromBody(dialogRef: DynamicDialogRef) {\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 this.dialogComponentRefMap.delete(dialogRef);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.DynamicDialogConfig","i2.DynamicDialogRef"],"mappings":";;;;;;;;;;MAQa,oBAAoB,CAAA;AAEhC,IAAA,WAAA,CAAmB,gBAAkC,EAAA;AAAlC,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;KAAI;;iHAF7C,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qGAApB,oBAAoB,EAAA,QAAA,EAAA,yBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,WAAW;AACrB,qBAAA;iBACF,CAAA;;;MCPY,mBAAmB,CAAA;AAmB/B;;MCjBY,gBAAgB,CAAA;AAC5B,IAAA,WAAA,GAAA;AAUiB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAO,CAAC;QAC5C,IAAA,CAAA,OAAO,GAAoB,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;AAEvC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,OAAO,EAAO,CAAC;QACpD,IAAA,CAAA,SAAS,GAAoB,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;KAd3C;AAEjB,IAAA,KAAK,CAAC,MAAY,EAAA;AACjB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACxB;IAED,OAAO,GAAA;AACT,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3B;AAOD;;ACRD,MAAM,aAAa,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AACjD,IAAA,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AACtE,CAAA,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,SAAS,CAAC;AAC5B,IAAA,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/E,CAAA,CAAC,CAAC;MA4CU,sBAAsB,CAAA;AA0BlC,IAAA,WAAA,CAAoB,wBAAkD,EAAU,EAAqB,EAAS,QAAmB,EACxH,MAA2B,EAAU,SAA2B,EAAS,IAAY,EAAS,aAA4B,EAAA;AAD/G,QAAA,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;AAAU,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;AAAS,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AACxH,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAqB;AAAU,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAkB;AAAS,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;AAAS,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAzBnI,QAAA,IAAO,CAAA,OAAA,GAAY,IAAI,CAAC;AAsBrB,QAAA,IAAgB,CAAA,gBAAA,GAAW,YAAY,CAAC;KAG6F;IAExI,eAAe,GAAA;AACd,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;KACxB;AAED,IAAA,kBAAkB,CAAC,aAAwB,EAAA;QAC1C,IAAI,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;AAE5F,QAAA,IAAI,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;QAC5D,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAEzB,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;KACvE;IAED,SAAS,GAAA;AACF,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,KAAK,EAAE;YAClC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3F,SAAA;KACE;AAEJ,IAAA,gBAAgB,CAAC,KAAqB,EAAA;QACrC,QAAO,KAAK,CAAC,OAAO;AACnB,YAAA,KAAK,SAAS;AACD,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;gBACxD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACL,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAE3B,gBAAA,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,EAAE;oBAC7B,IAAI,CAAC,cAAc,EAAE,CAAC;AACzB,iBAAA;gBACD,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC1B,MAAM;AAEN,YAAA,KAAK,MAAM;gBACE,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,EAAE;oBAC7C,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;AAClE,iBAAA;gBACd,MAAM;AACN,SAAA;KACD;AAED,IAAA,cAAc,CAAC,KAAqB,EAAA;AACnC,QAAA,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE;YACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;AACnC,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;AACzB,SAAA;KACD;IAED,kBAAkB,GAAA;QACjB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAEvB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,KAAK,EAAE;AACpD,YAAA,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACrC,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,EAAE;YAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;AAC1B,SAAA;AACD,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;KAC5B;IAED,KAAK,GAAA;AACE,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;KAC7B;IAEE,IAAI,GAAA;QACA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;AAC1B,SAAA;KACJ;IAED,cAAc,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;AAC/D,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,KAAU,KAAI;AACpF,gBAAA,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;oBACvD,IAAI,CAAC,IAAI,EAAE,CAAC;AACf,iBAAA;AACL,aAAC,CAAC,CAAC;AACN,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,EAAE;YAC7B,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;AAC3D,SAAA;KACJ;IAED,eAAe,GAAA;QACX,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,YAAA,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;gBAC7B,IAAI,CAAC,uBAAuB,EAAE,CAAC;AAClC,aAAA;AAED,YAAA,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,EAAE;gBAC7B,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;AAC9D,aAAA;AAED,YAAA,IAAI,CAAE,IAAI,CAAC,EAAc,CAAC,SAAS,EAAE;AACjC,gBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;AAC3B,aAAA;AACJ,SAAA;KACJ;AAED,IAAA,SAAS,CAAC,KAAoB,EAAA;AAC1B,QAAA,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC,EAAE;YACnB,KAAK,CAAC,cAAc,EAAE,CAAC;YAEvB,IAAI,iBAAiB,GAAG,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAExE,YAAA,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnD,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,EAAE;AACnD,oBAAA,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AAChC,iBAAA;AACI,qBAAA;AACD,oBAAA,IAAI,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;oBAE/F,IAAI,KAAK,CAAC,QAAQ,EAAE;AAChB,wBAAA,IAAI,YAAY,IAAI,CAAC,CAAC,IAAI,YAAY,KAAK,CAAC;4BACxC,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;;4BAExD,iBAAiB,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AACnD,qBAAA;AACI,yBAAA;AACD,wBAAA,IAAI,YAAY,IAAI,CAAC,CAAC,IAAI,YAAY,MAAM,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;AACrE,4BAAA,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;;4BAE7B,iBAAiB,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AACnD,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACJ,SAAA;KACJ;IAED,KAAK,GAAA;AACD,QAAA,IAAI,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AACrE,QAAA,IAAI,SAAS,EAAE;AACX,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAK;gBAC7B,UAAU,CAAC,MAAM,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3C,aAAC,CAAC,CAAC;AACN,SAAA;KACJ;IAEJ,mBAAmB,GAAA;QACZ,IAAI,CAAC,2BAA2B,EAAE,CAAC;AAEnC,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAE;YACvE,IAAI,CAAC,0BAA0B,EAAE,CAAC;AACrC,SAAA;KACJ;IAED,qBAAqB,GAAA;QACjB,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACrC,IAAI,CAAC,4BAA4B,EAAE,CAAC;KACvC;IAED,2BAA2B,GAAA;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAK;YAC7B,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;AAC9E,SAAC,CAAC,CAAC;KACN;IAED,6BAA6B,GAAA;QACzB,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAC9B,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;AAC7E,YAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;AACvC,SAAA;KACJ;IAEJ,0BAA0B,GAAA;AACnB,QAAA,MAAM,cAAc,GAAQ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,GAAG,UAAU,CAAC;AAE7G,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC,KAAK,KAAI;AACpF,YAAA,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE;AACnB,gBAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,UAAU,EAAE,EAAE;oBAClF,IAAI,CAAC,IAAI,EAAE,CAAC;AACZ,iBAAA;AACQ,aAAA;AACL,SAAC,CAAC,CAAC;KACN;IAED,4BAA4B,GAAA;QACxB,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC7B,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAC9B,YAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;AACtC,SAAA;KACJ;IAED,uBAAuB,GAAA;QACnB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;AACzB,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;AACjC,SAAA;KACJ;IAEJ,WAAW,GAAA;QACV,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,IAAI,CAAC,YAAY,EAAE;AACtB,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;AAC5B,SAAA;KACD;;mHAvOW,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;uGAAtB,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,WAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAQvB,oBAAoB,EAhDrB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,MAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AAsBT,CAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,21DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,cAAA,OAAA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,cAAA,OAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OA8PsC,oBAAoB,CA7P/C,EAAA,CAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,CAAA,EAAA,UAAA,EAAA;QACL,OAAO,CAAC,WAAW,EAAE;YACjB,UAAU,CAAC,iBAAiB,EAAE;gBAC1B,YAAY,CAAC,aAAa,CAAC;aAC9B,CAAC;YACF,UAAU,CAAC,iBAAiB,EAAE;gBAC1B,YAAY,CAAC,aAAa,CAAC;aAC9B,CAAC;SACL,CAAC;AACL,KAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,OAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FAQQ,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBA1ClC,SAAS;YACC,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EACjB,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AAsBT,CAAA,CAAA,EACW,UAAA,EAAA;wBACL,OAAO,CAAC,WAAW,EAAE;4BACjB,UAAU,CAAC,iBAAiB,EAAE;gCAC1B,YAAY,CAAC,aAAa,CAAC;6BAC9B,CAAC;4BACF,UAAU,CAAC,iBAAiB,EAAE;gCAC1B,YAAY,CAAC,aAAa,CAAC;6BAC9B,CAAC;yBACL,CAAC;AACL,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,OAAO,iBACjC,iBAAiB,CAAC,IAAI,EAE/B,IAAA,EAAA;AACF,wBAAA,OAAO,EAAE,WAAW;AACvB,qBAAA,EAAA,MAAA,EAAA,CAAA,21DAAA,CAAA,EAAA,CAAA;mRAU6B,cAAc,EAAA,CAAA;sBAA9C,SAAS;uBAAC,oBAAoB,CAAA;gBAEZ,aAAa,EAAA,CAAA;sBAA/B,SAAS;uBAAC,MAAM,CAAA;;MAqOL,mBAAmB,CAAA;;gHAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EA/OnB,YAAA,EAAA,CAAA,sBAAsB,EA4OK,oBAAoB,aADjD,YAAY,CAAA,EAAA,CAAA,CAAA;AAIV,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAJrB,YAAY,CAAA,EAAA,CAAA,CAAA;2FAIV,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,YAAY,EAAE,CAAC,sBAAsB,EAAE,oBAAoB,CAAC;oBAC5D,eAAe,EAAE,CAAC,sBAAsB,CAAC;iBACzC,CAAA;;;MCzSY,qBAAqB,CAAA;IAEjC,WAAoB,CAAA,eAAyB,EAAU,iBAAoC,EAAA;AAAvE,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAU;AAAU,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;KAAK;AAIhG,IAAA,GAAG,CAAC,KAAU,EAAE,aAAmB,EAAE,KAAW,EAAA;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAEhD,QAAA,IAAI,KAAK;AAAE,YAAA,OAAO,KAAK,CAAC;QAExB,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAM,KAAK,EAAE,aAAa,CAAC,CAAC;KAC3D;AACD;;MCRY,aAAa,CAAA;AAItB,IAAA,WAAA,CAAoB,wBAAkD,EAAU,MAAsB,EAAU,QAAkB,EAAA;AAA9G,QAAA,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;AAAU,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAgB;AAAU,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AAFlI,QAAA,IAAA,CAAA,qBAAqB,GAAgE,IAAI,GAAG,EAAE,CAAC;KAG9F;IAEM,IAAI,CAAC,aAAwB,EAAE,MAA2B,EAAA;QAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;AAE3D,QAAA,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,kBAAkB,GAAG,aAAa,CAAC;AAEtF,QAAA,OAAO,SAAS,CAAC;KACpB;AAEO,IAAA,2BAA2B,CAAC,MAA2B,EAAA;AAC3D,QAAA,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;AAC1B,QAAA,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;AAErC,QAAA,MAAM,SAAS,GAAG,IAAI,gBAAgB,EAAE,CAAC;AACzC,QAAA,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QAErC,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;AACzC,YAAA,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;AAC/D,SAAC,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAK;AAClD,YAAA,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC;YAC9C,UAAU,CAAC,WAAW,EAAE,CAAC;YACzB,GAAG,CAAC,WAAW,EAAE,CAAC;AACtB,SAAC,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;AACvG,QAAA,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QAE5F,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE9C,MAAM,OAAO,GAAI,YAAY,CAAC,QAAiC,CAAC,SAAS,CAAC,CAAC,CAAgB,CAAC;AAC5F,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAEnC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAExD,QAAA,OAAO,SAAS,CAAC;KACpB;AAEO,IAAA,6BAA6B,CAAC,SAA2B,EAAA;AAC7D,QAAA,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YAC1D,OAAO;AACV,SAAA;QAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACpD,kBAAkB,CAAC,OAAO,EAAE,CAAC;AAC7B,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;KAChD;;0GAtDQ,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;8GAAb,aAAa,EAAA,CAAA,CAAA;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,UAAU;;;ACNX;;AAEG;;;;"}
1
+ {"version":3,"file":"primeng-dynamicdialog.mjs","sources":["../../src/app/components/dynamicdialog/dynamicdialogcontent.ts","../../src/app/components/dynamicdialog/dynamicdialog-config.ts","../../src/app/components/dynamicdialog/dynamicdialog-ref.ts","../../src/app/components/dynamicdialog/dynamicdialog.ts","../../src/app/components/dynamicdialog/dynamicdialog-injector.ts","../../src/app/components/dynamicdialog/dialogservice.ts","../../src/app/components/dynamicdialog/primeng-dynamicdialog.ts"],"sourcesContent":["import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[pDynamicDialogContent]',\n host: {\n 'class': 'p-element'\n }\n})\nexport class DynamicDialogContent {\n\n\tconstructor(public viewContainerRef: ViewContainerRef) {}\n\n}\n","export class DynamicDialogConfig<T = any> {\r\n\tdata?: T;\r\n\theader?: string;\r\n\tfooter?: string;\r\n\twidth?: string;\r\n\theight?: string;\r\n\tcloseOnEscape?: boolean;\r\n\tbaseZIndex?: number;\r\n\tautoZIndex?: boolean;\r\n\tdismissableMask?: boolean;\r\n\trtl?: boolean;\r\n\tstyle?: any;\r\n\tcontentStyle?: any;\r\n\tstyleClass?: string;\r\n\ttransitionOptions?: string;\r\n\tclosable?: boolean;\r\n\tshowHeader?: boolean;\r\n\tmodal?: boolean;\r\n\tmaskStyleClass?: string;\r\n resizable?: boolean;\r\n draggable?: boolean;\r\n keepInViewport?: boolean;\r\n minX?: number;\r\n minY?: number;\r\n maximizable?: boolean;\r\n maximizeIcon?: string;\r\n minimizeIcon?: string;\r\n position?: string;\r\n}\r\n","import { Observable, Subject } from 'rxjs';\r\n\r\nexport class DynamicDialogRef {\r\n\tconstructor() { }\r\n\r\n\tclose(result?: any) {\r\n\t\tthis._onClose.next(result);\r\n }\r\n\r\n destroy() {\r\n\t\tthis._onDestroy.next(null);\r\n\t}\r\n\r\n dragStart(event: MouseEvent) {\r\n this._onDragStart.next(event);\r\n }\r\n\r\n dragEnd(event: MouseEvent) {\r\n this._onDragEnd.next(event);\r\n }\r\n\r\n resizeInit(event: MouseEvent) {\r\n this._onResizeInit.next(event);\r\n }\r\n\r\n resizeEnd(event: MouseEvent) {\r\n this._onResizeEnd.next(event);\r\n }\r\n\r\n maximize(value: any) {\r\n this._onMaximize.next(value);\r\n }\r\n\r\n\tprivate readonly _onClose = new Subject<any>();\r\n onClose: Observable<any> = this._onClose.asObservable();\r\n\r\n private readonly _onDestroy = new Subject<any>();\r\n\tonDestroy: Observable<any> = this._onDestroy.asObservable();\r\n\r\n private readonly _onDragStart = new Subject<any>();\r\n onDragStart: Observable<any> = this._onDragStart.asObservable();\r\n\r\n private readonly _onDragEnd = new Subject<any>();\r\n onDragEnd: Observable<any> = this._onDragEnd.asObservable();\r\n\r\n private readonly _onResizeInit = new Subject<any>();\r\n onResizeInit: Observable<any> = this._onResizeInit.asObservable();\r\n\r\n private readonly _onResizeEnd = new Subject<any>();\r\n onResizeEnd: Observable<any> = this._onResizeEnd.asObservable();\r\n\r\n private readonly _onMaximize = new Subject<any>();\r\n onMaximize: Observable<any> = this._onMaximize.asObservable();\r\n}\r\n","import { Component, NgModule, Type, ComponentFactoryResolver, ViewChild, OnDestroy, ComponentRef, AfterViewInit, ChangeDetectorRef, Renderer2, NgZone, ElementRef, ChangeDetectionStrategy, ViewRef, ViewEncapsulation } from '@angular/core';\nimport { trigger,style,transition,animate,AnimationEvent, animation, useAnimation } from '@angular/animations';\nimport { DynamicDialogContent } from './dynamicdialogcontent';\nimport { DynamicDialogConfig } from './dynamicdialog-config';\nimport { CommonModule } from '@angular/common';\nimport { DomHandler } from 'primeng/dom';\nimport { DynamicDialogRef } from './dynamicdialog-ref';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { PrimeNGConfig } from 'primeng/api';\n\nconst showAnimation = animation([\n style({ transform: '{{transform}}', opacity: 0 }),\n animate('{{transition}}', style({ transform: 'none', opacity: 1 }))\n]);\n\nconst hideAnimation = animation([\n animate('{{transition}}', style({ transform: '{{transform}}', opacity: 0 }))\n]);\n\n@Component({\n\tselector: 'p-dynamicDialog',\n\ttemplate: `\n <div #mask [ngClass]=\"{'p-dialog-mask':true, \n 'p-component-overlay p-component-overlay-enter p-dialog-mask-scrollblocker': config.modal !== false, \n 'p-dialog-left': position === 'left', \n 'p-dialog-right': position === 'right',\n 'p-dialog-top': position === 'top', \n 'p-dialog-bottom': position === 'bottom', \n 'p-dialog-top-left': position === 'topleft' || position === 'top-left',\n 'p-dialog-top-right': position === 'topright' || position === 'top-right',\n 'p-dialog-bottom-left': position === 'bottomleft' || position === 'bottom-left',\n 'p-dialog-bottom-right': position === 'bottomright' || position === 'bottom-right'}\" [class]=\"config.maskStyleClass\">\n <div #container [ngClass]=\"{'p-dialog p-dynamic-dialog p-component':true, 'p-dialog-rtl': config.rtl, 'p-dialog-resizable': config.resizable, 'p-dialog-draggable': config.draggable, 'p-dialog-maximized': maximized}\" [ngStyle]=\"config.style\" [class]=\"config.styleClass\"\n [@animation]=\"{value: 'visible', params: {transform: transformOptions, transition: config.transitionOptions || '150ms cubic-bezier(0, 0, 0.2, 1)'}}\"\n (@animation.start)=\"onAnimationStart($event)\" (@animation.done)=\"onAnimationEnd($event)\" role=\"dialog\" *ngIf=\"visible\"\n [style.width]=\"config.width\" [style.height]=\"config.height\">\n <div *ngIf=\"config.resizable\" class=\"p-resizable-handle\" style=\"z-index: 90;\" (mousedown)=\"initResize($event)\"></div>\n <div #titlebar class=\"p-dialog-header\" (mousedown)=\"initDrag($event)\" *ngIf=\"config.showHeader === false ? false: true\">\n <span class=\"p-dialog-title\">{{config.header}}</span>\n <div class=\"p-dialog-header-icons\">\n <button *ngIf=\"config.maximizable\" type=\"button\" [ngClass]=\"{'p-dialog-header-icon p-dialog-header-maximize p-link':true}\" (click)=\"maximize()\" (keydown.enter)=\"maximize()\" tabindex=\"-1\" pRipple>\n <span class=\"p-dialog-header-maximize-icon\" [ngClass]=\"maximized ? minimizeIcon : maximizeIcon\"></span>\n </button>\n <button [ngClass]=\"'p-dialog-header-icon p-dialog-header-maximize p-link'\" type=\"button\" (click)=\"hide()\" (keydown.enter)=\"hide()\" *ngIf=\"config.closable !== false\">\n <span class=\"p-dialog-header-close-icon pi pi-times\"></span>\n </button>\n </div>\n </div>\n <div #content class=\"p-dialog-content\" [ngStyle]=\"config.contentStyle\">\n <ng-template pDynamicDialogContent></ng-template>\n </div>\n <div class=\"p-dialog-footer\" *ngIf=\"config.footer\">\n {{config.footer}}\n </div>\n </div>\n </div>\n\t`,\n\tanimations: [\n trigger('animation', [\n transition('void => visible', [\n useAnimation(showAnimation)\n ]),\n transition('visible => void', [\n useAnimation(hideAnimation)\n ])\n ])\n ],\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['../dialog/dialog.css'],\n host: {\n 'class': 'p-element'\n }\n})\nexport class DynamicDialogComponent implements AfterViewInit, OnDestroy {\n\n\tvisible: boolean = true;\n\n\tcomponentRef: ComponentRef<any>;\n\n\tmask: HTMLDivElement;\n\n resizing: boolean;\n\n dragging: boolean;\n\n maximized: boolean;\n\n _style: any = {};\n\n originalStyle: any;\n\n lastPageX: number;\n\n lastPageY: number;\n\n\t@ViewChild(DynamicDialogContent) insertionPoint: DynamicDialogContent;\n\n\t@ViewChild('mask') maskViewChild: ElementRef;\n\n @ViewChild('content') contentViewChild: ElementRef;\n\n @ViewChild('titlebar') headerViewChild: ElementRef;\n\n\tchildComponentType: Type<any>;\n\n container: HTMLDivElement;\n\n wrapper: HTMLElement;\n\n documentKeydownListener: any;\n\n documentEscapeListener: Function;\n\n maskClickListener: Function;\n\n transformOptions: string = \"scale(0.7)\";\n\n documentResizeListener: null;\n\n documentResizeEndListener: null;\n\n documentDragListener: null;\n\n documentDragEndListener: null;\n\n get minX(): number {\n return this.config.minX ? this.config.minX : 0;\n }\n\n get minY(): number {\n return this.config.minY ? this.config.minY : 0;\n }\n\n get keepInViewport(): boolean {\n return this.config.keepInViewport\n }\n\n get maximizable(): boolean {\n return this.config.maximizable;\n }\n\n get maximizeIcon(): string {\n return this.config.maximizeIcon ? this.config.maximizeIcon : 'pi pi-window-maximize';\n }\n\n get minimizeIcon(): string {\n return this.config.minimizeIcon ? this.config.minimizeIcon : 'pi pi-window-minimize';\n }\n\n get style(): any {\n return this._style;\n }\n\n get position(): string {\n return this.config.position;\n }\n\n set style(value:any) {\n if (value) {\n this._style = {...value};\n this.originalStyle = value;\n }\n }\n\n\tconstructor(private componentFactoryResolver: ComponentFactoryResolver, private cd: ChangeDetectorRef, public renderer: Renderer2,\n\t\t\tpublic config: DynamicDialogConfig, private dialogRef: DynamicDialogRef, public zone: NgZone, public primeNGConfig: PrimeNGConfig) { }\n\n\tngAfterViewInit() {\n\t\tthis.loadChildComponent(this.childComponentType);\n\t\tthis.cd.detectChanges();\n\t}\n\n\tloadChildComponent(componentType: Type<any>) {\n\t\tlet componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentType);\n\n\t\tlet viewContainerRef = this.insertionPoint.viewContainerRef;\n\t\tviewContainerRef.clear();\n\n\t\tthis.componentRef = viewContainerRef.createComponent(componentFactory);\n\t}\n\n\tmoveOnTop() {\n if (this.config.autoZIndex !== false) {\n ZIndexUtils.set('modal', this.container, (this.config.baseZIndex||0) + this.primeNGConfig.zIndex.modal);\n this.wrapper.style.zIndex = String(parseInt(this.container.style.zIndex, 10) - 1);\n\t\t}\n }\n\n\tonAnimationStart(event: AnimationEvent) {\n\t\tswitch(event.toState) {\n\t\t\tcase 'visible':\n this.container = event.element;\n this.wrapper = this.container.parentElement;\n\t\t\t\tthis.moveOnTop();\n this.bindGlobalListeners();\n\n if (this.config.modal !== false) {\n this.enableModality();\n }\n this.focus();\n\t\t\tbreak;\n\n\t\t\tcase 'void':\n if (this.wrapper && this.config.modal !== false) {\n DomHandler.addClass(this.wrapper, 'p-component-overlay-leave');\n }\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tonAnimationEnd(event: AnimationEvent) {\n\t\tif (event.toState === 'void') {\n this.onContainerDestroy();\n\t\t\tthis.dialogRef.destroy();\n\t\t}\n\t}\n\n\tonContainerDestroy() {\n\t\tthis.unbindGlobalListeners();\n\n if (this.container && this.config.autoZIndex !== false) {\n ZIndexUtils.clear(this.container);\n }\n\n if (this.config.modal !== false) {\n this.disableModality();\n }\n this.container = null;\n\t}\n\n\tclose() {\n this.visible = false;\n this.cd.markForCheck();\n\t}\n\n hide() {\n if (this.dialogRef) {\n this.dialogRef.close();\n }\n }\n\n enableModality() {\n if (this.config.closable !== false && this.config.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.config.modal !== false) {\n DomHandler.addClass(document.body, 'p-overflow-hidden');\n }\n }\n\n disableModality() {\n if (this.wrapper) {\n if (this.config.dismissableMask) {\n this.unbindMaskClickListener();\n }\n\n if (this.config.modal !== false) {\n DomHandler.removeClass(document.body, 'p-overflow-hidden');\n }\n\n if (!(this.cd as ViewRef).destroyed) {\n this.cd.detectChanges();\n }\n }\n }\n\n onKeydown(event: KeyboardEvent) {\n if (event.which === 9) {\n event.preventDefault();\n\n let focusableElements = DomHandler.getFocusableElements(this.container);\n\n if (focusableElements && focusableElements.length > 0) {\n if (!focusableElements[0].ownerDocument.activeElement) {\n focusableElements[0].focus();\n }\n else {\n let focusedIndex = focusableElements.indexOf(focusableElements[0].ownerDocument.activeElement);\n\n if (event.shiftKey) {\n if (focusedIndex == -1 || focusedIndex === 0)\n focusableElements[focusableElements.length - 1].focus();\n else\n focusableElements[focusedIndex - 1].focus();\n }\n else {\n if (focusedIndex == -1 || focusedIndex === (focusableElements.length - 1))\n focusableElements[0].focus();\n else\n focusableElements[focusedIndex + 1].focus();\n }\n }\n }\n }\n }\n\n focus() {\n let focusable = DomHandler.findSingle(this.container, '[autofocus]');\n if (focusable) {\n this.zone.runOutsideAngular(() => {\n setTimeout(() => focusable.focus(), 5);\n });\n }\n }\n\n maximize() {\n this.maximized = !this.maximized;\n\n if(this.maximized) {\n DomHandler.addClass(document.body, 'p-overflow-hidden');\n }\n else {\n DomHandler.removeClass(document.body, 'p-overflow-hidden');\n }\n\n this.dialogRef.maximize({'maximized': this.maximized})\n }\n\n initResize(event: MouseEvent) {\n if (this.config.resizable) {\n this.resizing = true;\n this.lastPageX = event.pageX;\n this.lastPageY = event.pageY;\n DomHandler.addClass(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;\n let deltaY = event.pageY - this.lastPageY;\n let containerWidth = DomHandler.getOuterWidth(this.container);\n let containerHeight = DomHandler.getOuterHeight(this.container);\n let contentHeight = DomHandler.getOuterHeight(this.contentViewChild.nativeElement);\n let newWidth = containerWidth + deltaX;\n let newHeight = containerHeight + deltaY;\n let minWidth = this.container.style.minWidth;\n let minHeight = this.container.style.minHeight;\n let offset = this.container.getBoundingClientRect();\n let viewport = DomHandler.getViewport();\n let hasBeenDragged = !parseInt(this.container.style.top) || !parseInt(this.container.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.style.width = this._style.width;\n }\n\n if ((!minHeight || newHeight > parseInt(minHeight)) && (offset.top + newHeight) < viewport.height) {\n this.contentViewChild.nativeElement.style.height = contentHeight + newHeight - containerHeight + 'px';\n\n if (this._style.height) {\n this._style.height = newHeight + 'px';\n this.container.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 DomHandler.removeClass(document.body, 'p-unselectable-text');\n this.dialogRef.resizeEnd(event)\n }\n }\n \n initDrag(event: MouseEvent) {\n if (DomHandler.hasClass(event.target, 'p-dialog-header-icon') || DomHandler.hasClass((<HTMLElement> event.target).parentElement, 'p-dialog-header-icon')) {\n return;\n }\n\n if (this.config.draggable) {\n this.dragging = true;\n this.lastPageX = event.pageX;\n this.lastPageY = event.pageY;\n\n this.container.style.margin = '0';\n DomHandler.addClass(document.body, 'p-unselectable-text');\n this.dialogRef.dragStart(event);\n }\n }\n\n onDrag(event: MouseEvent) {\n if (this.dragging) {\n let containerWidth = DomHandler.getOuterWidth(this.container);\n let containerHeight = DomHandler.getOuterHeight(this.container);\n let deltaX = event.pageX - this.lastPageX;\n let deltaY = event.pageY - this.lastPageY;\n let offset = this.container.getBoundingClientRect();\n let leftPos = offset.left + deltaX;\n let topPos = offset.top + deltaY;\n let viewport = DomHandler.getViewport();\n \n this.container.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.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.style.top = topPos + 'px';\n }\n }\n else {\n this.lastPageX = event.pageX;\n this.container.style.left = leftPos + 'px';\n this.lastPageY = event.pageY;\n this.container.style.top = topPos + 'px';\n }\n }\n }\n\n endDrag(event: MouseEvent) {\n if (this.dragging) {\n this.dragging = false;\n DomHandler.removeClass(document.body, 'p-unselectable-text');\n this.dialogRef.dragEnd(event)\n this.cd.detectChanges();\n }\n }\n\n\n resetPosition() {\n this.container.style.position = '';\n this.container.style.left = '';\n this.container.style.top = '';\n this.container.style.margin = '';\n }\n\n bindDocumentDragListener() {\n this.zone.runOutsideAngular(() => {\n this.documentDragListener = this.onDrag.bind(this);\n window.document.addEventListener('mousemove', this.documentDragListener);\n })\n }\n\n bindDocumentDragEndListener() {\n this.zone.runOutsideAngular(() => {\n this.documentDragEndListener = this.endDrag.bind(this);\n window.document.addEventListener('mouseup', this.documentDragEndListener);\n });\n }\n\n unbindDocumentDragEndListener() {\n if (this.documentDragEndListener) {\n window.document.removeEventListener('mouseup', this.documentDragEndListener);\n this.documentDragEndListener = null;\n }\n }\n\n unbindDocumentDragListener() {\n if (this.documentDragListener) {\n window.document.removeEventListener('mousemove', this.documentDragListener);\n this.documentDragListener = null;\n }\n }\n\n bindDocumentResizeListeners() {\n this.zone.runOutsideAngular(() => {\n this.documentResizeListener = this.onResize.bind(this);\n this.documentResizeEndListener = this.resizeEnd.bind(this);\n window.document.addEventListener('mousemove', this.documentResizeListener);\n window.document.addEventListener('mouseup', this.documentResizeEndListener);\n })\n }\n\n unbindDocumentResizeListeners() {\n if (this.documentResizeListener && this.documentResizeEndListener) {\n window.document.removeEventListener('mousemove', this.documentResizeListener);\n window.document.removeEventListener('mouseup', this.documentResizeEndListener);\n this.documentResizeListener = null;\n this.documentResizeEndListener = null;\n }\n }\n\n\tbindGlobalListeners() {\n this.bindDocumentKeydownListener();\n\n if (this.config.closeOnEscape !== false && this.config.closable !== false) {\n this.bindDocumentEscapeListener();\n }\n\n if (this.config.resizable) {\n this.bindDocumentResizeListeners();\n }\n\n if(this.config.draggable) {\n this.bindDocumentDragListener();\n this.bindDocumentDragEndListener();\n }\n }\n\n unbindGlobalListeners() {\n this.unbindDocumentKeydownListener();\n this.unbindDocumentEscapeListener();\n this.unbindDocumentResizeListeners();\n this.unbindDocumentDragListener();\n this.unbindDocumentDragEndListener();\n }\n\n bindDocumentKeydownListener() {\n this.zone.runOutsideAngular(() => {\n this.documentKeydownListener = this.onKeydown.bind(this);\n window.document.addEventListener('keydown', this.documentKeydownListener);\n });\n }\n\n unbindDocumentKeydownListener() {\n if (this.documentKeydownListener) {\n window.document.removeEventListener('keydown', this.documentKeydownListener);\n this.documentKeydownListener = null;\n }\n }\n\n\tbindDocumentEscapeListener() {\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.style.zIndex) == ZIndexUtils.getCurrent()) {\n\t\t\t\t\tthis.hide();\n\t\t\t\t}\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\tngOnDestroy() {\n\t\tthis.onContainerDestroy();\n\n\t\tif (this.componentRef) {\n\t\t\tthis.componentRef.destroy();\n\t\t}\n\t}\n}\n\n@NgModule({\n\timports: [CommonModule],\n\tdeclarations: [DynamicDialogComponent, DynamicDialogContent],\n\tentryComponents: [DynamicDialogComponent]\n})\nexport class DynamicDialogModule { }\n","import { Injector, Type, InjectionToken, InjectFlags } from '@angular/core';\r\n\r\nexport class DynamicDialogInjector implements Injector {\r\n\t\r\n\tconstructor(private _parentInjector: Injector, private _additionalTokens: WeakMap<any, any>) { }\r\n\r\n\tget<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T, flags?: InjectFlags): T;\r\n\tget(token: any, notFoundValue?: any);\r\n\tget(token: any, notFoundValue?: any, flags?: any) {\r\n\t\tconst value = this._additionalTokens.get(token);\r\n\r\n\t\tif (value) return value;\r\n\r\n\t\treturn this._parentInjector.get<any>(token, notFoundValue);\r\n\t}\r\n}\r\n","import { Injectable, ComponentFactoryResolver, ApplicationRef, Injector, Type, EmbeddedViewRef, ComponentRef } from '@angular/core';\nimport { DynamicDialogComponent } from './dynamicdialog';\nimport { DynamicDialogInjector } from './dynamicdialog-injector';\nimport { DynamicDialogConfig } from './dynamicdialog-config';\nimport { DynamicDialogRef } from './dynamicdialog-ref';\n\n@Injectable()\nexport class DialogService {\n\n dialogComponentRefMap: Map<DynamicDialogRef, ComponentRef<DynamicDialogComponent>> = new Map();\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private appRef: ApplicationRef, private injector: Injector) {\n }\n\n public open(componentType: Type<any>, config: DynamicDialogConfig) {\n const dialogRef = this.appendDialogComponentToBody(config);\n\n this.dialogComponentRefMap.get(dialogRef).instance.childComponentType = componentType;\n\n return dialogRef;\n }\n\n private appendDialogComponentToBody(config: DynamicDialogConfig) {\n const map = new WeakMap();\n map.set(DynamicDialogConfig, config);\n\n const dialogRef = new DynamicDialogRef();\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 componentFactory = this.componentFactoryResolver.resolveComponentFactory(DynamicDialogComponent);\n const componentRef = componentFactory.create(new DynamicDialogInjector(this.injector, map));\n\n this.appRef.attachView(componentRef.hostView);\n\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n\n this.dialogComponentRefMap.set(dialogRef, componentRef);\n\n return dialogRef;\n }\n\n private removeDialogComponentFromBody(dialogRef: DynamicDialogRef) {\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 this.dialogComponentRefMap.delete(dialogRef);\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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"}