primeng 15.0.1 → 15.1.1

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 (449) hide show
  1. package/accordion/accordion.d.ts +11 -3
  2. package/api/overlayoptions.d.ts +1 -0
  3. package/autocomplete/autocomplete.d.ts +18 -27
  4. package/badge/badge.d.ts +8 -3
  5. package/button/button.d.ts +3 -2
  6. package/dataview/dataview.d.ts +2 -1
  7. package/dropdown/dropdown.d.ts +1 -0
  8. package/dynamicdialog/dynamicdialog.d.ts +4 -3
  9. package/esm2020/accordion/accordion.mjs +71 -26
  10. package/esm2020/animate/animate.mjs +7 -7
  11. package/esm2020/api/confirmationservice.mjs +3 -3
  12. package/esm2020/api/contextmenuservice.mjs +3 -3
  13. package/esm2020/api/filterservice.mjs +3 -3
  14. package/esm2020/api/messageservice.mjs +3 -3
  15. package/esm2020/api/overlayoptions.mjs +1 -1
  16. package/esm2020/api/overlayservice.mjs +3 -3
  17. package/esm2020/api/primengconfig.mjs +3 -3
  18. package/esm2020/api/shared.mjs +13 -13
  19. package/esm2020/api/treedragdropservice.mjs +3 -3
  20. package/esm2020/autocomplete/autocomplete.mjs +204 -310
  21. package/esm2020/autofocus/autofocus.mjs +7 -7
  22. package/esm2020/avatar/avatar.mjs +7 -7
  23. package/esm2020/avatargroup/avatargroup.mjs +7 -7
  24. package/esm2020/badge/badge.mjs +43 -11
  25. package/esm2020/blockui/blockui.mjs +7 -7
  26. package/esm2020/breadcrumb/breadcrumb.mjs +8 -8
  27. package/esm2020/button/button.mjs +40 -28
  28. package/esm2020/calendar/calendar.mjs +7 -7
  29. package/esm2020/captcha/captcha.mjs +7 -7
  30. package/esm2020/card/card.mjs +7 -7
  31. package/esm2020/carousel/carousel.mjs +7 -7
  32. package/esm2020/cascadeselect/cascadeselect.mjs +10 -10
  33. package/esm2020/chart/chart.mjs +7 -7
  34. package/esm2020/checkbox/checkbox.mjs +7 -7
  35. package/esm2020/chip/chip.mjs +7 -7
  36. package/esm2020/chips/chips.mjs +7 -7
  37. package/esm2020/codehighlighter/codehighlighter.mjs +7 -7
  38. package/esm2020/colorpicker/colorpicker.mjs +7 -7
  39. package/esm2020/confirmdialog/confirmdialog.mjs +7 -7
  40. package/esm2020/confirmpopup/confirmpopup.mjs +7 -7
  41. package/esm2020/contextmenu/contextmenu.mjs +12 -12
  42. package/esm2020/dataview/dataview.mjs +16 -13
  43. package/esm2020/defer/defer.mjs +7 -7
  44. package/esm2020/dialog/dialog.mjs +9 -8
  45. package/esm2020/divider/divider.mjs +7 -7
  46. package/esm2020/dock/dock.mjs +8 -8
  47. package/esm2020/dom/domhandler.mjs +2 -2
  48. package/esm2020/dragdrop/dragdrop.mjs +10 -10
  49. package/esm2020/dropdown/dropdown.mjs +20 -17
  50. package/esm2020/dynamicdialog/dialogservice.mjs +3 -3
  51. package/esm2020/dynamicdialog/dynamicdialog.mjs +44 -29
  52. package/esm2020/dynamicdialog/dynamicdialogcontent.mjs +3 -3
  53. package/esm2020/editor/editor.mjs +7 -7
  54. package/esm2020/fieldset/fieldset.mjs +7 -7
  55. package/esm2020/fileupload/fileupload.mjs +8 -8
  56. package/esm2020/focustrap/focustrap.mjs +7 -7
  57. package/esm2020/galleria/galleria.mjs +19 -19
  58. package/esm2020/gmap/gmap.mjs +7 -7
  59. package/esm2020/image/image.mjs +7 -7
  60. package/esm2020/inplace/inplace.mjs +13 -13
  61. package/esm2020/inputmask/inputmask.mjs +30 -16
  62. package/esm2020/inputnumber/inputnumber.mjs +7 -7
  63. package/esm2020/inputswitch/inputswitch.mjs +7 -7
  64. package/esm2020/inputtext/inputtext.mjs +7 -7
  65. package/esm2020/inputtextarea/inputtextarea.mjs +7 -7
  66. package/esm2020/keyfilter/keyfilter.mjs +7 -7
  67. package/esm2020/knob/knob.mjs +7 -7
  68. package/esm2020/lightbox/lightbox.mjs +7 -7
  69. package/esm2020/listbox/listbox.mjs +7 -7
  70. package/esm2020/megamenu/megamenu.mjs +8 -8
  71. package/esm2020/menu/menu.mjs +12 -12
  72. package/esm2020/menubar/menubar.mjs +59 -18
  73. package/esm2020/message/message.mjs +7 -7
  74. package/esm2020/messages/messages.mjs +7 -7
  75. package/esm2020/multiselect/multiselect.mjs +16 -12
  76. package/esm2020/orderlist/orderlist.mjs +7 -7
  77. package/esm2020/organizationchart/organizationchart.mjs +10 -10
  78. package/esm2020/overlay/overlay.mjs +38 -12
  79. package/esm2020/overlaypanel/overlaypanel.mjs +7 -7
  80. package/esm2020/paginator/paginator.mjs +7 -7
  81. package/esm2020/panel/panel.mjs +7 -7
  82. package/esm2020/panelmenu/panelmenu.mjs +13 -13
  83. package/esm2020/password/password.mjs +13 -13
  84. package/esm2020/picklist/picklist.mjs +7 -7
  85. package/esm2020/progressbar/progressbar.mjs +15 -13
  86. package/esm2020/progressspinner/progressspinner.mjs +7 -7
  87. package/esm2020/radiobutton/radiobutton.mjs +10 -10
  88. package/esm2020/rating/rating.mjs +7 -7
  89. package/esm2020/ripple/ripple.mjs +7 -7
  90. package/esm2020/scroller/scroller.mjs +32 -17
  91. package/esm2020/scrollpanel/scrollpanel.mjs +7 -7
  92. package/esm2020/scrolltop/scrolltop.mjs +7 -7
  93. package/esm2020/selectbutton/selectbutton.mjs +7 -7
  94. package/esm2020/sidebar/sidebar.mjs +7 -7
  95. package/esm2020/skeleton/skeleton.mjs +7 -7
  96. package/esm2020/slidemenu/slidemenu.mjs +12 -12
  97. package/esm2020/slider/slider.mjs +7 -7
  98. package/esm2020/speeddial/speeddial.mjs +8 -8
  99. package/esm2020/spinner/spinner.mjs +7 -7
  100. package/esm2020/splitbutton/splitbutton.mjs +7 -7
  101. package/esm2020/splitter/splitter.mjs +7 -7
  102. package/esm2020/steps/steps.mjs +8 -8
  103. package/esm2020/styleclass/styleclass.mjs +71 -38
  104. package/esm2020/table/table.mjs +87 -87
  105. package/esm2020/tabmenu/tabmenu.mjs +17 -13
  106. package/esm2020/tabview/tabview.mjs +11 -11
  107. package/esm2020/tag/tag.mjs +7 -7
  108. package/esm2020/terminal/terminal.mjs +7 -7
  109. package/esm2020/terminal/terminalservice.mjs +3 -3
  110. package/esm2020/tieredmenu/tieredmenu.mjs +12 -12
  111. package/esm2020/timeline/timeline.mjs +7 -7
  112. package/esm2020/toast/toast.mjs +10 -10
  113. package/esm2020/togglebutton/togglebutton.mjs +7 -7
  114. package/esm2020/toolbar/toolbar.mjs +7 -7
  115. package/esm2020/tooltip/tooltip.mjs +53 -17
  116. package/esm2020/tree/tree.mjs +18 -16
  117. package/esm2020/treeselect/treeselect.mjs +7 -7
  118. package/esm2020/treetable/treetable.mjs +55 -55
  119. package/esm2020/tristatecheckbox/tristatecheckbox.mjs +7 -7
  120. package/esm2020/utils/objectutils.mjs +5 -2
  121. package/esm2020/virtualscroller/virtualscroller.mjs +7 -7
  122. package/fesm2015/primeng-accordion.mjs +70 -24
  123. package/fesm2015/primeng-accordion.mjs.map +1 -1
  124. package/fesm2015/primeng-animate.mjs +8 -7
  125. package/fesm2015/primeng-api.mjs +35 -34
  126. package/fesm2015/primeng-autocomplete.mjs +206 -311
  127. package/fesm2015/primeng-autocomplete.mjs.map +1 -1
  128. package/fesm2015/primeng-autofocus.mjs +8 -7
  129. package/fesm2015/primeng-avatar.mjs +8 -7
  130. package/fesm2015/primeng-avatargroup.mjs +8 -7
  131. package/fesm2015/primeng-badge.mjs +43 -10
  132. package/fesm2015/primeng-badge.mjs.map +1 -1
  133. package/fesm2015/primeng-blockui.mjs +8 -7
  134. package/fesm2015/primeng-breadcrumb.mjs +9 -8
  135. package/fesm2015/primeng-breadcrumb.mjs.map +1 -1
  136. package/fesm2015/primeng-button.mjs +40 -27
  137. package/fesm2015/primeng-button.mjs.map +1 -1
  138. package/fesm2015/primeng-calendar.mjs +8 -7
  139. package/fesm2015/primeng-captcha.mjs +8 -7
  140. package/fesm2015/primeng-card.mjs +8 -7
  141. package/fesm2015/primeng-carousel.mjs +8 -7
  142. package/fesm2015/primeng-cascadeselect.mjs +11 -10
  143. package/fesm2015/primeng-chart.mjs +8 -7
  144. package/fesm2015/primeng-checkbox.mjs +8 -7
  145. package/fesm2015/primeng-chip.mjs +8 -7
  146. package/fesm2015/primeng-chips.mjs +8 -7
  147. package/fesm2015/primeng-codehighlighter.mjs +8 -7
  148. package/fesm2015/primeng-colorpicker.mjs +8 -7
  149. package/fesm2015/primeng-confirmdialog.mjs +8 -7
  150. package/fesm2015/primeng-confirmpopup.mjs +8 -7
  151. package/fesm2015/primeng-contextmenu.mjs +12 -11
  152. package/fesm2015/primeng-contextmenu.mjs.map +1 -1
  153. package/fesm2015/primeng-dataview.mjs +16 -12
  154. package/fesm2015/primeng-dataview.mjs.map +1 -1
  155. package/fesm2015/primeng-defer.mjs +8 -7
  156. package/fesm2015/primeng-dialog.mjs +9 -7
  157. package/fesm2015/primeng-dialog.mjs.map +1 -1
  158. package/fesm2015/primeng-divider.mjs +8 -7
  159. package/fesm2015/primeng-dock.mjs +9 -8
  160. package/fesm2015/primeng-dock.mjs.map +1 -1
  161. package/fesm2015/primeng-dom.mjs +2 -1
  162. package/fesm2015/primeng-dom.mjs.map +1 -1
  163. package/fesm2015/primeng-dragdrop.mjs +11 -10
  164. package/fesm2015/primeng-dropdown.mjs +20 -16
  165. package/fesm2015/primeng-dropdown.mjs.map +1 -1
  166. package/fesm2015/primeng-dynamicdialog.mjs +47 -31
  167. package/fesm2015/primeng-dynamicdialog.mjs.map +1 -1
  168. package/fesm2015/primeng-editor.mjs +8 -7
  169. package/fesm2015/primeng-fieldset.mjs +8 -7
  170. package/fesm2015/primeng-fileupload.mjs +9 -8
  171. package/fesm2015/primeng-fileupload.mjs.map +1 -1
  172. package/fesm2015/primeng-focustrap.mjs +8 -7
  173. package/fesm2015/primeng-galleria.mjs +20 -19
  174. package/fesm2015/primeng-gmap.mjs +8 -7
  175. package/fesm2015/primeng-image.mjs +8 -7
  176. package/fesm2015/primeng-inplace.mjs +14 -13
  177. package/fesm2015/primeng-inputmask.mjs +30 -15
  178. package/fesm2015/primeng-inputmask.mjs.map +1 -1
  179. package/fesm2015/primeng-inputnumber.mjs +8 -7
  180. package/fesm2015/primeng-inputswitch.mjs +8 -7
  181. package/fesm2015/primeng-inputtext.mjs +8 -7
  182. package/fesm2015/primeng-inputtextarea.mjs +8 -7
  183. package/fesm2015/primeng-keyfilter.mjs +8 -7
  184. package/fesm2015/primeng-knob.mjs +8 -7
  185. package/fesm2015/primeng-lightbox.mjs +8 -7
  186. package/fesm2015/primeng-listbox.mjs +8 -7
  187. package/fesm2015/primeng-megamenu.mjs +9 -8
  188. package/fesm2015/primeng-megamenu.mjs.map +1 -1
  189. package/fesm2015/primeng-menu.mjs +12 -11
  190. package/fesm2015/primeng-menu.mjs.map +1 -1
  191. package/fesm2015/primeng-menubar.mjs +60 -18
  192. package/fesm2015/primeng-menubar.mjs.map +1 -1
  193. package/fesm2015/primeng-message.mjs +8 -7
  194. package/fesm2015/primeng-messages.mjs +8 -7
  195. package/fesm2015/primeng-multiselect.mjs +16 -11
  196. package/fesm2015/primeng-multiselect.mjs.map +1 -1
  197. package/fesm2015/primeng-orderlist.mjs +8 -7
  198. package/fesm2015/primeng-organizationchart.mjs +11 -10
  199. package/fesm2015/primeng-overlay.mjs +38 -11
  200. package/fesm2015/primeng-overlay.mjs.map +1 -1
  201. package/fesm2015/primeng-overlaypanel.mjs +8 -7
  202. package/fesm2015/primeng-paginator.mjs +8 -7
  203. package/fesm2015/primeng-panel.mjs +8 -7
  204. package/fesm2015/primeng-panelmenu.mjs +13 -12
  205. package/fesm2015/primeng-panelmenu.mjs.map +1 -1
  206. package/fesm2015/primeng-password.mjs +14 -13
  207. package/fesm2015/primeng-picklist.mjs +8 -7
  208. package/fesm2015/primeng-progressbar.mjs +16 -13
  209. package/fesm2015/primeng-progressbar.mjs.map +1 -1
  210. package/fesm2015/primeng-progressspinner.mjs +8 -7
  211. package/fesm2015/primeng-radiobutton.mjs +11 -10
  212. package/fesm2015/primeng-rating.mjs +8 -7
  213. package/fesm2015/primeng-ripple.mjs +8 -7
  214. package/fesm2015/primeng-scroller.mjs +31 -16
  215. package/fesm2015/primeng-scroller.mjs.map +1 -1
  216. package/fesm2015/primeng-scrollpanel.mjs +8 -7
  217. package/fesm2015/primeng-scrolltop.mjs +8 -7
  218. package/fesm2015/primeng-selectbutton.mjs +8 -7
  219. package/fesm2015/primeng-sidebar.mjs +8 -7
  220. package/fesm2015/primeng-skeleton.mjs +8 -7
  221. package/fesm2015/primeng-slidemenu.mjs +12 -11
  222. package/fesm2015/primeng-slidemenu.mjs.map +1 -1
  223. package/fesm2015/primeng-slider.mjs +8 -7
  224. package/fesm2015/primeng-speeddial.mjs +9 -8
  225. package/fesm2015/primeng-speeddial.mjs.map +1 -1
  226. package/fesm2015/primeng-spinner.mjs +8 -7
  227. package/fesm2015/primeng-splitbutton.mjs +8 -7
  228. package/fesm2015/primeng-splitter.mjs +8 -7
  229. package/fesm2015/primeng-steps.mjs +9 -8
  230. package/fesm2015/primeng-steps.mjs.map +1 -1
  231. package/fesm2015/primeng-styleclass.mjs +71 -37
  232. package/fesm2015/primeng-styleclass.mjs.map +1 -1
  233. package/fesm2015/primeng-table.mjs +87 -86
  234. package/fesm2015/primeng-table.mjs.map +1 -1
  235. package/fesm2015/primeng-tabmenu.mjs +19 -14
  236. package/fesm2015/primeng-tabmenu.mjs.map +1 -1
  237. package/fesm2015/primeng-tabview.mjs +12 -11
  238. package/fesm2015/primeng-tabview.mjs.map +1 -1
  239. package/fesm2015/primeng-tag.mjs +8 -7
  240. package/fesm2015/primeng-terminal.mjs +11 -10
  241. package/fesm2015/primeng-tieredmenu.mjs +12 -11
  242. package/fesm2015/primeng-tieredmenu.mjs.map +1 -1
  243. package/fesm2015/primeng-timeline.mjs +8 -7
  244. package/fesm2015/primeng-toast.mjs +11 -10
  245. package/fesm2015/primeng-togglebutton.mjs +8 -7
  246. package/fesm2015/primeng-toolbar.mjs +8 -7
  247. package/fesm2015/primeng-tooltip.mjs +53 -15
  248. package/fesm2015/primeng-tooltip.mjs.map +1 -1
  249. package/fesm2015/primeng-tree.mjs +19 -15
  250. package/fesm2015/primeng-tree.mjs.map +1 -1
  251. package/fesm2015/primeng-treeselect.mjs +8 -7
  252. package/fesm2015/primeng-treetable.mjs +56 -55
  253. package/fesm2015/primeng-tristatecheckbox.mjs +8 -7
  254. package/fesm2015/primeng-utils.mjs +4 -1
  255. package/fesm2015/primeng-utils.mjs.map +1 -1
  256. package/fesm2015/primeng-virtualscroller.mjs +8 -7
  257. package/fesm2015/primeng.mjs +1 -0
  258. package/fesm2020/primeng-accordion.mjs +70 -24
  259. package/fesm2020/primeng-accordion.mjs.map +1 -1
  260. package/fesm2020/primeng-animate.mjs +8 -7
  261. package/fesm2020/primeng-api.mjs +35 -34
  262. package/fesm2020/primeng-autocomplete.mjs +206 -311
  263. package/fesm2020/primeng-autocomplete.mjs.map +1 -1
  264. package/fesm2020/primeng-autofocus.mjs +8 -7
  265. package/fesm2020/primeng-avatar.mjs +8 -7
  266. package/fesm2020/primeng-avatargroup.mjs +8 -7
  267. package/fesm2020/primeng-badge.mjs +43 -10
  268. package/fesm2020/primeng-badge.mjs.map +1 -1
  269. package/fesm2020/primeng-blockui.mjs +8 -7
  270. package/fesm2020/primeng-breadcrumb.mjs +9 -8
  271. package/fesm2020/primeng-breadcrumb.mjs.map +1 -1
  272. package/fesm2020/primeng-button.mjs +40 -27
  273. package/fesm2020/primeng-button.mjs.map +1 -1
  274. package/fesm2020/primeng-calendar.mjs +8 -7
  275. package/fesm2020/primeng-captcha.mjs +8 -7
  276. package/fesm2020/primeng-card.mjs +8 -7
  277. package/fesm2020/primeng-carousel.mjs +8 -7
  278. package/fesm2020/primeng-cascadeselect.mjs +11 -10
  279. package/fesm2020/primeng-chart.mjs +8 -7
  280. package/fesm2020/primeng-checkbox.mjs +8 -7
  281. package/fesm2020/primeng-chip.mjs +8 -7
  282. package/fesm2020/primeng-chips.mjs +8 -7
  283. package/fesm2020/primeng-codehighlighter.mjs +8 -7
  284. package/fesm2020/primeng-colorpicker.mjs +8 -7
  285. package/fesm2020/primeng-confirmdialog.mjs +8 -7
  286. package/fesm2020/primeng-confirmpopup.mjs +8 -7
  287. package/fesm2020/primeng-contextmenu.mjs +12 -11
  288. package/fesm2020/primeng-contextmenu.mjs.map +1 -1
  289. package/fesm2020/primeng-dataview.mjs +16 -12
  290. package/fesm2020/primeng-dataview.mjs.map +1 -1
  291. package/fesm2020/primeng-defer.mjs +8 -7
  292. package/fesm2020/primeng-dialog.mjs +9 -7
  293. package/fesm2020/primeng-dialog.mjs.map +1 -1
  294. package/fesm2020/primeng-divider.mjs +8 -7
  295. package/fesm2020/primeng-dock.mjs +9 -8
  296. package/fesm2020/primeng-dock.mjs.map +1 -1
  297. package/fesm2020/primeng-dom.mjs +2 -1
  298. package/fesm2020/primeng-dom.mjs.map +1 -1
  299. package/fesm2020/primeng-dragdrop.mjs +11 -10
  300. package/fesm2020/primeng-dropdown.mjs +20 -16
  301. package/fesm2020/primeng-dropdown.mjs.map +1 -1
  302. package/fesm2020/primeng-dynamicdialog.mjs +47 -31
  303. package/fesm2020/primeng-dynamicdialog.mjs.map +1 -1
  304. package/fesm2020/primeng-editor.mjs +8 -7
  305. package/fesm2020/primeng-fieldset.mjs +8 -7
  306. package/fesm2020/primeng-fileupload.mjs +9 -8
  307. package/fesm2020/primeng-fileupload.mjs.map +1 -1
  308. package/fesm2020/primeng-focustrap.mjs +8 -7
  309. package/fesm2020/primeng-galleria.mjs +20 -19
  310. package/fesm2020/primeng-gmap.mjs +8 -7
  311. package/fesm2020/primeng-image.mjs +8 -7
  312. package/fesm2020/primeng-inplace.mjs +14 -13
  313. package/fesm2020/primeng-inputmask.mjs +30 -15
  314. package/fesm2020/primeng-inputmask.mjs.map +1 -1
  315. package/fesm2020/primeng-inputnumber.mjs +8 -7
  316. package/fesm2020/primeng-inputswitch.mjs +8 -7
  317. package/fesm2020/primeng-inputtext.mjs +8 -7
  318. package/fesm2020/primeng-inputtextarea.mjs +8 -7
  319. package/fesm2020/primeng-keyfilter.mjs +8 -7
  320. package/fesm2020/primeng-knob.mjs +8 -7
  321. package/fesm2020/primeng-lightbox.mjs +8 -7
  322. package/fesm2020/primeng-listbox.mjs +8 -7
  323. package/fesm2020/primeng-megamenu.mjs +9 -8
  324. package/fesm2020/primeng-megamenu.mjs.map +1 -1
  325. package/fesm2020/primeng-menu.mjs +12 -11
  326. package/fesm2020/primeng-menu.mjs.map +1 -1
  327. package/fesm2020/primeng-menubar.mjs +60 -18
  328. package/fesm2020/primeng-menubar.mjs.map +1 -1
  329. package/fesm2020/primeng-message.mjs +8 -7
  330. package/fesm2020/primeng-messages.mjs +8 -7
  331. package/fesm2020/primeng-multiselect.mjs +16 -11
  332. package/fesm2020/primeng-multiselect.mjs.map +1 -1
  333. package/fesm2020/primeng-orderlist.mjs +8 -7
  334. package/fesm2020/primeng-organizationchart.mjs +11 -10
  335. package/fesm2020/primeng-overlay.mjs +38 -11
  336. package/fesm2020/primeng-overlay.mjs.map +1 -1
  337. package/fesm2020/primeng-overlaypanel.mjs +8 -7
  338. package/fesm2020/primeng-paginator.mjs +8 -7
  339. package/fesm2020/primeng-panel.mjs +8 -7
  340. package/fesm2020/primeng-panelmenu.mjs +13 -12
  341. package/fesm2020/primeng-panelmenu.mjs.map +1 -1
  342. package/fesm2020/primeng-password.mjs +14 -13
  343. package/fesm2020/primeng-picklist.mjs +8 -7
  344. package/fesm2020/primeng-progressbar.mjs +16 -13
  345. package/fesm2020/primeng-progressbar.mjs.map +1 -1
  346. package/fesm2020/primeng-progressspinner.mjs +8 -7
  347. package/fesm2020/primeng-radiobutton.mjs +11 -10
  348. package/fesm2020/primeng-rating.mjs +8 -7
  349. package/fesm2020/primeng-ripple.mjs +8 -7
  350. package/fesm2020/primeng-scroller.mjs +31 -16
  351. package/fesm2020/primeng-scroller.mjs.map +1 -1
  352. package/fesm2020/primeng-scrollpanel.mjs +8 -7
  353. package/fesm2020/primeng-scrolltop.mjs +8 -7
  354. package/fesm2020/primeng-selectbutton.mjs +8 -7
  355. package/fesm2020/primeng-sidebar.mjs +8 -7
  356. package/fesm2020/primeng-skeleton.mjs +8 -7
  357. package/fesm2020/primeng-slidemenu.mjs +12 -11
  358. package/fesm2020/primeng-slidemenu.mjs.map +1 -1
  359. package/fesm2020/primeng-slider.mjs +8 -7
  360. package/fesm2020/primeng-speeddial.mjs +9 -8
  361. package/fesm2020/primeng-speeddial.mjs.map +1 -1
  362. package/fesm2020/primeng-spinner.mjs +8 -7
  363. package/fesm2020/primeng-splitbutton.mjs +8 -7
  364. package/fesm2020/primeng-splitter.mjs +8 -7
  365. package/fesm2020/primeng-steps.mjs +9 -8
  366. package/fesm2020/primeng-steps.mjs.map +1 -1
  367. package/fesm2020/primeng-styleclass.mjs +71 -37
  368. package/fesm2020/primeng-styleclass.mjs.map +1 -1
  369. package/fesm2020/primeng-table.mjs +87 -86
  370. package/fesm2020/primeng-table.mjs.map +1 -1
  371. package/fesm2020/primeng-tabmenu.mjs +19 -14
  372. package/fesm2020/primeng-tabmenu.mjs.map +1 -1
  373. package/fesm2020/primeng-tabview.mjs +12 -11
  374. package/fesm2020/primeng-tabview.mjs.map +1 -1
  375. package/fesm2020/primeng-tag.mjs +8 -7
  376. package/fesm2020/primeng-terminal.mjs +11 -10
  377. package/fesm2020/primeng-tieredmenu.mjs +12 -11
  378. package/fesm2020/primeng-tieredmenu.mjs.map +1 -1
  379. package/fesm2020/primeng-timeline.mjs +8 -7
  380. package/fesm2020/primeng-toast.mjs +11 -10
  381. package/fesm2020/primeng-togglebutton.mjs +8 -7
  382. package/fesm2020/primeng-toolbar.mjs +8 -7
  383. package/fesm2020/primeng-tooltip.mjs +52 -15
  384. package/fesm2020/primeng-tooltip.mjs.map +1 -1
  385. package/fesm2020/primeng-tree.mjs +18 -15
  386. package/fesm2020/primeng-tree.mjs.map +1 -1
  387. package/fesm2020/primeng-treeselect.mjs +8 -7
  388. package/fesm2020/primeng-treetable.mjs +56 -55
  389. package/fesm2020/primeng-tristatecheckbox.mjs +8 -7
  390. package/fesm2020/primeng-utils.mjs +4 -1
  391. package/fesm2020/primeng-utils.mjs.map +1 -1
  392. package/fesm2020/primeng-virtualscroller.mjs +8 -7
  393. package/fesm2020/primeng.mjs +1 -0
  394. package/inputmask/inputmask.d.ts +2 -1
  395. package/menubar/menubar.d.ts +24 -6
  396. package/multiselect/multiselect.d.ts +6 -1
  397. package/overlay/overlay.d.ts +8 -33
  398. package/package.json +4 -4
  399. package/progressbar/progressbar.d.ts +2 -1
  400. package/resources/components/accordion/accordion.css +9 -0
  401. package/resources/components/autocomplete/autocomplete.css +0 -7
  402. package/resources/components/tabmenu/tabmenu.css +4 -0
  403. package/resources/themes/arya-blue/theme.css +13 -0
  404. package/resources/themes/arya-green/theme.css +13 -0
  405. package/resources/themes/arya-orange/theme.css +13 -0
  406. package/resources/themes/arya-purple/theme.css +13 -0
  407. package/resources/themes/bootstrap4-dark-blue/theme.css +13 -0
  408. package/resources/themes/bootstrap4-dark-purple/theme.css +13 -0
  409. package/resources/themes/bootstrap4-light-blue/theme.css +13 -0
  410. package/resources/themes/bootstrap4-light-purple/theme.css +13 -0
  411. package/resources/themes/fluent-light/theme.css +13 -0
  412. package/resources/themes/lara-dark-blue/theme.css +13 -0
  413. package/resources/themes/lara-dark-indigo/theme.css +13 -0
  414. package/resources/themes/lara-dark-purple/theme.css +13 -0
  415. package/resources/themes/lara-dark-teal/theme.css +13 -0
  416. package/resources/themes/lara-light-blue/theme.css +13 -0
  417. package/resources/themes/lara-light-indigo/theme.css +13 -0
  418. package/resources/themes/lara-light-purple/theme.css +13 -0
  419. package/resources/themes/lara-light-teal/theme.css +13 -0
  420. package/resources/themes/luna-amber/theme.css +13 -0
  421. package/resources/themes/luna-blue/theme.css +13 -0
  422. package/resources/themes/luna-green/theme.css +13 -0
  423. package/resources/themes/luna-pink/theme.css +13 -0
  424. package/resources/themes/md-dark-deeppurple/theme.css +13 -0
  425. package/resources/themes/md-dark-indigo/theme.css +13 -0
  426. package/resources/themes/md-light-deeppurple/theme.css +13 -0
  427. package/resources/themes/md-light-indigo/theme.css +13 -0
  428. package/resources/themes/mdc-dark-deeppurple/theme.css +13 -0
  429. package/resources/themes/mdc-dark-indigo/theme.css +13 -0
  430. package/resources/themes/mdc-light-deeppurple/theme.css +13 -0
  431. package/resources/themes/mdc-light-indigo/theme.css +13 -0
  432. package/resources/themes/nova/theme.css +13 -0
  433. package/resources/themes/nova-accent/theme.css +13 -0
  434. package/resources/themes/nova-alt/theme.css +13 -0
  435. package/resources/themes/rhea/theme.css +13 -0
  436. package/resources/themes/saga-blue/theme.css +13 -0
  437. package/resources/themes/saga-green/theme.css +13 -0
  438. package/resources/themes/saga-orange/theme.css +13 -0
  439. package/resources/themes/saga-purple/theme.css +13 -0
  440. package/resources/themes/tailwind-light/theme.css +13 -0
  441. package/resources/themes/vela-blue/theme.css +13 -0
  442. package/resources/themes/vela-green/theme.css +13 -0
  443. package/resources/themes/vela-orange/theme.css +13 -0
  444. package/resources/themes/vela-purple/theme.css +13 -0
  445. package/scroller/scroller.d.ts +3 -0
  446. package/styleclass/styleclass.d.ts +14 -8
  447. package/table/table.d.ts +1 -2
  448. package/tabmenu/tabmenu.d.ts +2 -2
  449. package/tooltip/tooltip.d.ts +13 -5
@@ -1,5 +1,5 @@
1
- import { ElementRef, AfterContentInit, OnDestroy, EventEmitter, QueryList, ChangeDetectorRef, TemplateRef } from '@angular/core';
2
- import { Header, BlockableUI } from 'primeng/api';
1
+ import { AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, QueryList, TemplateRef } from '@angular/core';
2
+ import { BlockableUI, Header } from 'primeng/api';
3
3
  import { Subscription } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
@@ -7,15 +7,23 @@ import * as i2 from "primeng/api";
7
7
  export declare class AccordionTab implements AfterContentInit, OnDestroy {
8
8
  changeDetector: ChangeDetectorRef;
9
9
  header: string;
10
+ headerStyle: any;
11
+ tabStyle: any;
12
+ contentStyle: any;
13
+ tabStyleClass: string;
14
+ headerStyleClass: string;
15
+ contentStyleClass: string;
10
16
  disabled: boolean;
11
17
  cache: boolean;
12
18
  selectedChange: EventEmitter<any>;
13
19
  transitionOptions: string;
20
+ iconPos: string;
14
21
  headerFacet: QueryList<Header>;
15
22
  templates: QueryList<any>;
16
23
  private _selected;
17
24
  get selected(): any;
18
25
  set selected(val: any);
26
+ get iconClass(): "p-accordion-toggle-icon-end" | "p-accordion-toggle-icon";
19
27
  contentTemplate: TemplateRef<any>;
20
28
  headerTemplate: TemplateRef<any>;
21
29
  id: string;
@@ -29,7 +37,7 @@ export declare class AccordionTab implements AfterContentInit, OnDestroy {
29
37
  onKeydown(event: KeyboardEvent): void;
30
38
  ngOnDestroy(): void;
31
39
  static ɵfac: i0.ɵɵFactoryDeclaration<AccordionTab, never>;
32
- static ɵcmp: i0.ɵɵComponentDeclaration<AccordionTab, "p-accordionTab", never, { "header": "header"; "disabled": "disabled"; "cache": "cache"; "transitionOptions": "transitionOptions"; "selected": "selected"; }, { "selectedChange": "selectedChange"; }, ["headerFacet", "templates"], ["p-header", "*"], false, never>;
40
+ static ɵcmp: i0.ɵɵComponentDeclaration<AccordionTab, "p-accordionTab", never, { "header": "header"; "headerStyle": "headerStyle"; "tabStyle": "tabStyle"; "contentStyle": "contentStyle"; "tabStyleClass": "tabStyleClass"; "headerStyleClass": "headerStyleClass"; "contentStyleClass": "contentStyleClass"; "disabled": "disabled"; "cache": "cache"; "transitionOptions": "transitionOptions"; "iconPos": "iconPos"; "selected": "selected"; }, { "selectedChange": "selectedChange"; }, ["headerFacet", "templates"], ["p-header", "*"], false, never>;
33
41
  }
34
42
  export declare class Accordion implements BlockableUI, AfterContentInit, OnDestroy {
35
43
  el: ElementRef;
@@ -38,6 +38,7 @@ export interface OverlayOptions {
38
38
  baseZIndex?: number;
39
39
  showTransitionOptions?: string;
40
40
  hideTransitionOptions?: string;
41
+ hideOnEscape?: boolean;
41
42
  listener?: (event: Event, options?: OverlayListenerOptions) => boolean | void;
42
43
  responsive?: ResponsiveOverlayOptions | undefined;
43
44
  onBeforeShow?: (event?: OverlayOnBeforeShowEvent) => void;
@@ -1,16 +1,18 @@
1
- import { ElementRef, AfterViewChecked, AfterContentInit, OnDestroy, EventEmitter, QueryList, TemplateRef, Renderer2, ChangeDetectorRef, IterableDiffers } from '@angular/core';
2
1
  import { AnimationEvent } from '@angular/animations';
3
- import { PrimeNGConfig, OverlayService } from 'primeng/api';
2
+ import { AfterContentInit, AfterViewChecked, ChangeDetectorRef, ElementRef, EventEmitter, IterableDiffers, NgZone, OnDestroy, QueryList, Renderer2, TemplateRef } from '@angular/core';
4
3
  import { ControlValueAccessor } from '@angular/forms';
4
+ import { OverlayOptions, OverlayService, PrimeNGConfig } from 'primeng/api';
5
+ import { Overlay } from 'primeng/overlay';
5
6
  import { Scroller, ScrollerOptions } from 'primeng/scroller';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "@angular/common";
8
- import * as i2 from "primeng/inputtext";
9
- import * as i3 from "primeng/button";
10
- import * as i4 from "primeng/api";
11
- import * as i5 from "primeng/ripple";
12
- import * as i6 from "primeng/scroller";
13
- import * as i7 from "primeng/autofocus";
9
+ import * as i2 from "primeng/overlay";
10
+ import * as i3 from "primeng/inputtext";
11
+ import * as i4 from "primeng/button";
12
+ import * as i5 from "primeng/api";
13
+ import * as i6 from "primeng/ripple";
14
+ import * as i7 from "primeng/scroller";
15
+ import * as i8 from "primeng/autofocus";
14
16
  export declare const AUTOCOMPLETE_VALUE_ACCESSOR: any;
15
17
  export declare class AutoComplete implements AfterViewChecked, AfterContentInit, OnDestroy, ControlValueAccessor {
16
18
  el: ElementRef;
@@ -19,6 +21,7 @@ export declare class AutoComplete implements AfterViewChecked, AfterContentInit,
19
21
  differs: IterableDiffers;
20
22
  config: PrimeNGConfig;
21
23
  overlayService: OverlayService;
24
+ private zone;
22
25
  minLength: number;
23
26
  delay: number;
24
27
  style: any;
@@ -68,6 +71,7 @@ export declare class AutoComplete implements AfterViewChecked, AfterContentInit,
68
71
  autocomplete: string;
69
72
  optionGroupChildren: string;
70
73
  optionGroupLabel: string;
74
+ overlayOptions: OverlayOptions;
71
75
  containerEL: ElementRef;
72
76
  inputEL: ElementRef;
73
77
  multiInputEL: ElementRef;
@@ -75,6 +79,7 @@ export declare class AutoComplete implements AfterViewChecked, AfterContentInit,
75
79
  dropdownButton: ElementRef;
76
80
  itemsViewChild: ElementRef;
77
81
  scroller: Scroller;
82
+ overlayViewChild: Overlay;
78
83
  templates: QueryList<any>;
79
84
  completeMethod: EventEmitter<any>;
80
85
  onSelect: EventEmitter<any>;
@@ -123,7 +128,7 @@ export declare class AutoComplete implements AfterViewChecked, AfterContentInit,
123
128
  listId: string;
124
129
  itemClicked: boolean;
125
130
  inputValue: string;
126
- constructor(el: ElementRef, renderer: Renderer2, cd: ChangeDetectorRef, differs: IterableDiffers, config: PrimeNGConfig, overlayService: OverlayService);
131
+ constructor(el: ElementRef, renderer: Renderer2, cd: ChangeDetectorRef, differs: IterableDiffers, config: PrimeNGConfig, overlayService: OverlayService, zone: NgZone);
127
132
  get suggestions(): any[];
128
133
  set suggestions(val: any[]);
129
134
  ngAfterViewChecked(): void;
@@ -139,16 +144,11 @@ export declare class AutoComplete implements AfterViewChecked, AfterContentInit,
139
144
  onInputClick(event: MouseEvent): void;
140
145
  search(event: any, query: string): void;
141
146
  selectItem(option: any, focus?: boolean): void;
142
- show(): void;
147
+ show(event?: Event): void;
143
148
  clear(): void;
144
149
  onOverlayAnimationStart(event: AnimationEvent): void;
145
- onOverlayAnimationEnd(event: AnimationEvent): void;
146
- onOverlayClick(event: any): void;
147
- appendOverlay(): void;
148
150
  resolveFieldData(value: any): any;
149
- restoreOverlayAppend(): void;
150
- alignOverlay(): void;
151
- hide(): void;
151
+ hide(event?: any): void;
152
152
  handleDropdownClick(event: any): void;
153
153
  focusInput(): void;
154
154
  get emptyMessageLabel(): string;
@@ -164,21 +164,12 @@ export declare class AutoComplete implements AfterViewChecked, AfterContentInit,
164
164
  findOptionGroupIndex(val: any, opts: any[]): any;
165
165
  updateFilledState(): void;
166
166
  updateInputField(): void;
167
- bindDocumentClickListener(): void;
168
- isDropdownClick(event: any): boolean;
169
- unbindDocumentClickListener(): void;
170
- bindDocumentResizeListener(): void;
171
- unbindDocumentResizeListener(): void;
172
- onWindowResize(): void;
173
- bindScrollListener(): void;
174
- unbindScrollListener(): void;
175
- onOverlayHide(): void;
176
167
  ngOnDestroy(): void;
177
168
  static ɵfac: i0.ɵɵFactoryDeclaration<AutoComplete, never>;
178
- static ɵcmp: i0.ɵɵComponentDeclaration<AutoComplete, "p-autoComplete", never, { "minLength": "minLength"; "delay": "delay"; "style": "style"; "panelStyle": "panelStyle"; "styleClass": "styleClass"; "panelStyleClass": "panelStyleClass"; "inputStyle": "inputStyle"; "inputId": "inputId"; "inputStyleClass": "inputStyleClass"; "placeholder": "placeholder"; "readonly": "readonly"; "disabled": "disabled"; "scrollHeight": "scrollHeight"; "lazy": "lazy"; "virtualScroll": "virtualScroll"; "virtualScrollItemSize": "virtualScrollItemSize"; "virtualScrollOptions": "virtualScrollOptions"; "maxlength": "maxlength"; "name": "name"; "required": "required"; "size": "size"; "appendTo": "appendTo"; "autoHighlight": "autoHighlight"; "forceSelection": "forceSelection"; "type": "type"; "autoZIndex": "autoZIndex"; "baseZIndex": "baseZIndex"; "ariaLabel": "ariaLabel"; "dropdownAriaLabel": "dropdownAriaLabel"; "ariaLabelledBy": "ariaLabelledBy"; "dropdownIcon": "dropdownIcon"; "unique": "unique"; "group": "group"; "completeOnFocus": "completeOnFocus"; "showClear": "showClear"; "field": "field"; "dropdown": "dropdown"; "showEmptyMessage": "showEmptyMessage"; "dropdownMode": "dropdownMode"; "multiple": "multiple"; "tabindex": "tabindex"; "dataKey": "dataKey"; "emptyMessage": "emptyMessage"; "showTransitionOptions": "showTransitionOptions"; "hideTransitionOptions": "hideTransitionOptions"; "autofocus": "autofocus"; "autocomplete": "autocomplete"; "optionGroupChildren": "optionGroupChildren"; "optionGroupLabel": "optionGroupLabel"; "itemSize": "itemSize"; "suggestions": "suggestions"; }, { "completeMethod": "completeMethod"; "onSelect": "onSelect"; "onUnselect": "onUnselect"; "onFocus": "onFocus"; "onBlur": "onBlur"; "onDropdownClick": "onDropdownClick"; "onClear": "onClear"; "onKeyUp": "onKeyUp"; "onShow": "onShow"; "onHide": "onHide"; "onLazyLoad": "onLazyLoad"; }, ["templates"], never, false, never>;
169
+ static ɵcmp: i0.ɵɵComponentDeclaration<AutoComplete, "p-autoComplete", never, { "minLength": "minLength"; "delay": "delay"; "style": "style"; "panelStyle": "panelStyle"; "styleClass": "styleClass"; "panelStyleClass": "panelStyleClass"; "inputStyle": "inputStyle"; "inputId": "inputId"; "inputStyleClass": "inputStyleClass"; "placeholder": "placeholder"; "readonly": "readonly"; "disabled": "disabled"; "scrollHeight": "scrollHeight"; "lazy": "lazy"; "virtualScroll": "virtualScroll"; "virtualScrollItemSize": "virtualScrollItemSize"; "virtualScrollOptions": "virtualScrollOptions"; "maxlength": "maxlength"; "name": "name"; "required": "required"; "size": "size"; "appendTo": "appendTo"; "autoHighlight": "autoHighlight"; "forceSelection": "forceSelection"; "type": "type"; "autoZIndex": "autoZIndex"; "baseZIndex": "baseZIndex"; "ariaLabel": "ariaLabel"; "dropdownAriaLabel": "dropdownAriaLabel"; "ariaLabelledBy": "ariaLabelledBy"; "dropdownIcon": "dropdownIcon"; "unique": "unique"; "group": "group"; "completeOnFocus": "completeOnFocus"; "showClear": "showClear"; "field": "field"; "dropdown": "dropdown"; "showEmptyMessage": "showEmptyMessage"; "dropdownMode": "dropdownMode"; "multiple": "multiple"; "tabindex": "tabindex"; "dataKey": "dataKey"; "emptyMessage": "emptyMessage"; "showTransitionOptions": "showTransitionOptions"; "hideTransitionOptions": "hideTransitionOptions"; "autofocus": "autofocus"; "autocomplete": "autocomplete"; "optionGroupChildren": "optionGroupChildren"; "optionGroupLabel": "optionGroupLabel"; "overlayOptions": "overlayOptions"; "itemSize": "itemSize"; "suggestions": "suggestions"; }, { "completeMethod": "completeMethod"; "onSelect": "onSelect"; "onUnselect": "onUnselect"; "onFocus": "onFocus"; "onBlur": "onBlur"; "onDropdownClick": "onDropdownClick"; "onClear": "onClear"; "onKeyUp": "onKeyUp"; "onShow": "onShow"; "onHide": "onHide"; "onLazyLoad": "onLazyLoad"; }, ["templates"], never, false, never>;
179
170
  }
180
171
  export declare class AutoCompleteModule {
181
172
  static ɵfac: i0.ɵɵFactoryDeclaration<AutoCompleteModule, never>;
182
- static ɵmod: i0.ɵɵNgModuleDeclaration<AutoCompleteModule, [typeof AutoComplete], [typeof i1.CommonModule, typeof i2.InputTextModule, typeof i3.ButtonModule, typeof i4.SharedModule, typeof i5.RippleModule, typeof i6.ScrollerModule, typeof i7.AutoFocusModule], [typeof AutoComplete, typeof i4.SharedModule, typeof i6.ScrollerModule, typeof i7.AutoFocusModule]>;
173
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AutoCompleteModule, [typeof AutoComplete], [typeof i1.CommonModule, typeof i2.OverlayModule, typeof i3.InputTextModule, typeof i4.ButtonModule, typeof i5.SharedModule, typeof i6.RippleModule, typeof i7.ScrollerModule, typeof i8.AutoFocusModule], [typeof AutoComplete, typeof i2.OverlayModule, typeof i5.SharedModule, typeof i7.ScrollerModule, typeof i8.AutoFocusModule]>;
183
174
  static ɵinj: i0.ɵɵInjectorDeclaration<AutoCompleteModule>;
184
175
  }
package/badge/badge.d.ts CHANGED
@@ -3,28 +3,33 @@ import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
4
  import * as i2 from "primeng/api";
5
5
  declare type BadgeDirectiveIconPosition = 'left' | 'right' | 'top' | 'bottom';
6
+ declare type BadgeSize = 'large' | 'xlarge';
6
7
  export declare class BadgeDirective implements AfterViewInit, OnDestroy {
7
8
  el: ElementRef;
8
9
  iconPos: BadgeDirectiveIconPosition;
9
10
  get disabled(): boolean;
10
11
  set disabled(val: boolean);
12
+ get size(): BadgeSize;
13
+ set size(val: BadgeSize);
11
14
  _value: string;
12
15
  initialized: boolean;
13
16
  private id;
14
- _disabled: boolean;
17
+ private _disabled;
18
+ private _size;
15
19
  constructor(el: ElementRef);
16
20
  ngAfterViewInit(): any;
17
21
  get value(): string;
18
22
  set value(val: string);
19
23
  severity: string;
24
+ private setSizeClasses;
20
25
  ngOnDestroy(): void;
21
26
  static ɵfac: i0.ɵɵFactoryDeclaration<BadgeDirective, never>;
22
- static ɵdir: i0.ɵɵDirectiveDeclaration<BadgeDirective, "[pBadge]", never, { "iconPos": "iconPos"; "disabled": "badgeDisabled"; "value": "value"; "severity": "severity"; }, {}, never, never, false, never>;
27
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BadgeDirective, "[pBadge]", never, { "iconPos": "iconPos"; "disabled": "badgeDisabled"; "size": "size"; "value": "value"; "severity": "severity"; }, {}, never, never, false, never>;
23
28
  }
24
29
  export declare class Badge {
25
30
  styleClass: string;
26
31
  style: any;
27
- size: string;
32
+ size: BadgeSize;
28
33
  severity: string;
29
34
  value: string;
30
35
  badgeDisabled: boolean;
@@ -17,10 +17,11 @@ export declare class ButtonDirective implements AfterViewInit, OnDestroy {
17
17
  _icon: string;
18
18
  _loading: boolean;
19
19
  initialized: boolean;
20
- _initialStyleClass: string;
20
+ private get htmlElement();
21
+ private _internalClasses;
21
22
  constructor(el: ElementRef);
22
23
  ngAfterViewInit(): void;
23
- getStyleClass(): string;
24
+ getStyleClass(): string[];
24
25
  setStyleClass(): void;
25
26
  createLabel(): void;
26
27
  createIcon(): void;
@@ -30,6 +30,7 @@ export declare class DataView implements OnInit, AfterContentInit, OnDestroy, Bl
30
30
  onLazyLoad: EventEmitter<any>;
31
31
  style: any;
32
32
  styleClass: string;
33
+ gridStyleClass: string;
33
34
  trackBy: Function;
34
35
  filterBy: string;
35
36
  filterLocale: string;
@@ -79,7 +80,7 @@ export declare class DataView implements OnInit, AfterContentInit, OnDestroy, Bl
79
80
  hasFilter(): boolean;
80
81
  ngOnDestroy(): void;
81
82
  static ɵfac: i0.ɵɵFactoryDeclaration<DataView, never>;
82
- static ɵcmp: i0.ɵɵComponentDeclaration<DataView, "p-dataView", never, { "paginator": "paginator"; "rows": "rows"; "totalRecords": "totalRecords"; "pageLinks": "pageLinks"; "rowsPerPageOptions": "rowsPerPageOptions"; "paginatorPosition": "paginatorPosition"; "alwaysShowPaginator": "alwaysShowPaginator"; "paginatorDropdownAppendTo": "paginatorDropdownAppendTo"; "paginatorDropdownScrollHeight": "paginatorDropdownScrollHeight"; "currentPageReportTemplate": "currentPageReportTemplate"; "showCurrentPageReport": "showCurrentPageReport"; "showJumpToPageDropdown": "showJumpToPageDropdown"; "showFirstLastIcon": "showFirstLastIcon"; "showPageLinks": "showPageLinks"; "lazy": "lazy"; "emptyMessage": "emptyMessage"; "style": "style"; "styleClass": "styleClass"; "trackBy": "trackBy"; "filterBy": "filterBy"; "filterLocale": "filterLocale"; "loading": "loading"; "loadingIcon": "loadingIcon"; "first": "first"; "sortField": "sortField"; "sortOrder": "sortOrder"; "value": "value"; "layout": "layout"; }, { "onLazyLoad": "onLazyLoad"; "onPage": "onPage"; "onSort": "onSort"; "onChangeLayout": "onChangeLayout"; }, ["header", "footer", "templates"], ["p-header", "p-footer"], false, never>;
83
+ static ɵcmp: i0.ɵɵComponentDeclaration<DataView, "p-dataView", never, { "paginator": "paginator"; "rows": "rows"; "totalRecords": "totalRecords"; "pageLinks": "pageLinks"; "rowsPerPageOptions": "rowsPerPageOptions"; "paginatorPosition": "paginatorPosition"; "alwaysShowPaginator": "alwaysShowPaginator"; "paginatorDropdownAppendTo": "paginatorDropdownAppendTo"; "paginatorDropdownScrollHeight": "paginatorDropdownScrollHeight"; "currentPageReportTemplate": "currentPageReportTemplate"; "showCurrentPageReport": "showCurrentPageReport"; "showJumpToPageDropdown": "showJumpToPageDropdown"; "showFirstLastIcon": "showFirstLastIcon"; "showPageLinks": "showPageLinks"; "lazy": "lazy"; "emptyMessage": "emptyMessage"; "style": "style"; "styleClass": "styleClass"; "gridStyleClass": "gridStyleClass"; "trackBy": "trackBy"; "filterBy": "filterBy"; "filterLocale": "filterLocale"; "loading": "loading"; "loadingIcon": "loadingIcon"; "first": "first"; "sortField": "sortField"; "sortOrder": "sortOrder"; "value": "value"; "layout": "layout"; }, { "onLazyLoad": "onLazyLoad"; "onPage": "onPage"; "onSort": "onSort"; "onChangeLayout": "onChangeLayout"; }, ["header", "footer", "templates"], ["p-header", "p-footer"], false, never>;
83
84
  }
84
85
  export declare class DataViewLayoutOptions {
85
86
  dv: DataView;
@@ -20,6 +20,7 @@ export interface DropdownFilterOptions {
20
20
  export declare class DropdownItem {
21
21
  option: SelectItem;
22
22
  selected: boolean;
23
+ _label: string;
23
24
  label: string;
24
25
  disabled: boolean;
25
26
  visible: boolean;
@@ -1,9 +1,9 @@
1
- import { Type, ComponentFactoryResolver, OnDestroy, ComponentRef, AfterViewInit, ChangeDetectorRef, Renderer2, NgZone, ElementRef } from '@angular/core';
2
1
  import { AnimationEvent } from '@angular/animations';
3
- import { DynamicDialogContent } from './dynamicdialogcontent';
2
+ import { AfterViewInit, ChangeDetectorRef, ComponentFactoryResolver, ComponentRef, ElementRef, NgZone, OnDestroy, Renderer2, Type } from '@angular/core';
3
+ import { PrimeNGConfig } from 'primeng/api';
4
4
  import { DynamicDialogConfig } from './dynamicdialog-config';
5
5
  import { DynamicDialogRef } from './dynamicdialog-ref';
6
- import { PrimeNGConfig } from 'primeng/api';
6
+ import { DynamicDialogContent } from './dynamicdialogcontent';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "./dynamicdialogcontent";
9
9
  import * as i2 from "@angular/common";
@@ -49,6 +49,7 @@ export declare class DynamicDialogComponent implements AfterViewInit, OnDestroy
49
49
  get style(): any;
50
50
  get position(): string;
51
51
  set style(value: any);
52
+ get parent(): Element;
52
53
  constructor(componentFactoryResolver: ComponentFactoryResolver, cd: ChangeDetectorRef, renderer: Renderer2, config: DynamicDialogConfig, dialogRef: DynamicDialogRef, zone: NgZone, primeNGConfig: PrimeNGConfig);
53
54
  ngAfterViewInit(): void;
54
55
  loadChildComponent(componentType: Type<any>): void;
@@ -1,7 +1,7 @@
1
- import { NgModule, Component, Input, Output, EventEmitter, ContentChildren, Inject, forwardRef, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';
2
- import { trigger, state, style, transition, animate } from '@angular/animations';
1
+ import { animate, state, style, transition, trigger } from '@angular/animations';
3
2
  import { CommonModule } from '@angular/common';
4
- import { SharedModule, Header, PrimeTemplate } from 'primeng/api';
3
+ import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, forwardRef, Inject, Input, NgModule, Output, ViewEncapsulation } from '@angular/core';
4
+ import { Header, PrimeTemplate, SharedModule } from 'primeng/api';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/common";
7
7
  let idx = 0;
@@ -11,6 +11,7 @@ export class AccordionTab {
11
11
  this.cache = true;
12
12
  this.selectedChange = new EventEmitter();
13
13
  this.transitionOptions = '400ms cubic-bezier(0.86, 0, 0.07, 1)';
14
+ this.iconPos = 'start';
14
15
  this.id = `p-accordiontab-${idx++}`;
15
16
  this.accordion = accordion;
16
17
  }
@@ -26,6 +27,14 @@ export class AccordionTab {
26
27
  this.changeDetector.detectChanges();
27
28
  }
28
29
  }
30
+ get iconClass() {
31
+ if (this.iconPos === 'end') {
32
+ return 'p-accordion-toggle-icon-end';
33
+ }
34
+ else {
35
+ return 'p-accordion-toggle-icon';
36
+ }
37
+ }
29
38
  ngAfterContentInit() {
30
39
  this.templates.forEach((item) => {
31
40
  switch (item.getType()) {
@@ -92,12 +101,23 @@ export class AccordionTab {
92
101
  this.accordion.tabs.splice(this.findTabIndex(), 1);
93
102
  }
94
103
  }
95
- AccordionTab.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: AccordionTab, deps: [{ token: forwardRef(() => Accordion) }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
96
- AccordionTab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: AccordionTab, selector: "p-accordionTab", inputs: { header: "header", disabled: "disabled", cache: "cache", transitionOptions: "transitionOptions", selected: "selected" }, outputs: { selectedChange: "selectedChange" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "headerFacet", predicate: Header }, { propertyName: "templates", predicate: PrimeTemplate }], ngImport: i0, template: `
97
- <div class="p-accordion-tab" [ngClass]="{ 'p-accordion-tab-active': selected }">
98
- <div class="p-accordion-header" [ngClass]="{ 'p-highlight': selected, 'p-disabled': disabled }">
99
- <a role="tab" class="p-accordion-header-link" (click)="toggle($event)" (keydown)="onKeydown($event)" [attr.tabindex]="disabled ? null : 0" [attr.id]="id" [attr.aria-controls]="id + '-content'" [attr.aria-expanded]="selected">
100
- <span class="p-accordion-toggle-icon" [ngClass]="selected ? accordion.collapseIcon : accordion.expandIcon"></span>
104
+ AccordionTab.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AccordionTab, deps: [{ token: forwardRef(() => Accordion) }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
105
+ AccordionTab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: AccordionTab, selector: "p-accordionTab", inputs: { header: "header", headerStyle: "headerStyle", tabStyle: "tabStyle", contentStyle: "contentStyle", tabStyleClass: "tabStyleClass", headerStyleClass: "headerStyleClass", contentStyleClass: "contentStyleClass", disabled: "disabled", cache: "cache", transitionOptions: "transitionOptions", iconPos: "iconPos", selected: "selected" }, outputs: { selectedChange: "selectedChange" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "headerFacet", predicate: Header }, { propertyName: "templates", predicate: PrimeTemplate }], ngImport: i0, template: `
106
+ <div class="p-accordion-tab" [class.p-accordion-tab-active]="selected" [ngClass]="tabStyleClass" [ngStyle]="tabStyle">
107
+ <div class="p-accordion-header" [class.p-highlight]="selected" [class.p-disabled]="disabled">
108
+ <a
109
+ [ngClass]="headerStyleClass"
110
+ [style]="headerStyle"
111
+ role="tab"
112
+ class="p-accordion-header-link"
113
+ (click)="toggle($event)"
114
+ (keydown)="onKeydown($event)"
115
+ [attr.tabindex]="disabled ? null : 0"
116
+ [attr.id]="id"
117
+ [attr.aria-controls]="id + '-content'"
118
+ [attr.aria-expanded]="selected"
119
+ >
120
+ <span [class]="iconClass" [ngClass]="selected ? accordion.collapseIcon : accordion.expandIcon"></span>
101
121
  <span class="p-accordion-header-text" *ngIf="!hasHeaderFacet">
102
122
  {{ header }}
103
123
  </span>
@@ -113,7 +133,7 @@ AccordionTab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
113
133
  [attr.aria-hidden]="!selected"
114
134
  [attr.aria-labelledby]="id"
115
135
  >
116
- <div class="p-accordion-content">
136
+ <div class="p-accordion-content" [ngClass]="contentStyleClass" [ngStyle]="contentStyle">
117
137
  <ng-content></ng-content>
118
138
  <ng-container *ngIf="contentTemplate && (cache ? loaded : selected)">
119
139
  <ng-container *ngTemplateOutlet="contentTemplate"></ng-container>
@@ -121,7 +141,7 @@ AccordionTab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
121
141
  </div>
122
142
  </div>
123
143
  </div>
124
- `, isInline: true, styles: [".p-accordion-header-link{cursor:pointer;display:flex;align-items:center;-webkit-user-select:none;user-select:none;position:relative;text-decoration:none}.p-accordion-header-link:focus{z-index:1}.p-accordion-header-text{line-height:1}.p-accordion .p-toggleable-content{overflow:hidden}.p-accordion .p-accordion-tab-active>.p-toggleable-content:not(.ng-animating){overflow:inherit}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
144
+ `, isInline: true, styles: [".p-accordion-header-link{cursor:pointer;display:flex;align-items:center;-webkit-user-select:none;user-select:none;position:relative;text-decoration:none}.p-accordion-header-link:focus{z-index:1}.p-accordion-header-text{line-height:1}.p-accordion .p-toggleable-content{overflow:hidden}.p-accordion .p-accordion-tab-active>.p-toggleable-content:not(.ng-animating){overflow:inherit}.p-accordion-toggle-icon-end{order:1;margin-left:auto}.p-accordion-toggle-icon{order:0}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], animations: [
125
145
  trigger('tabContent', [
126
146
  state('hidden', style({
127
147
  height: '0'
@@ -133,13 +153,24 @@ AccordionTab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
133
153
  transition('void => *', animate(0))
134
154
  ])
135
155
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: AccordionTab, decorators: [{
156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AccordionTab, decorators: [{
137
157
  type: Component,
138
158
  args: [{ selector: 'p-accordionTab', template: `
139
- <div class="p-accordion-tab" [ngClass]="{ 'p-accordion-tab-active': selected }">
140
- <div class="p-accordion-header" [ngClass]="{ 'p-highlight': selected, 'p-disabled': disabled }">
141
- <a role="tab" class="p-accordion-header-link" (click)="toggle($event)" (keydown)="onKeydown($event)" [attr.tabindex]="disabled ? null : 0" [attr.id]="id" [attr.aria-controls]="id + '-content'" [attr.aria-expanded]="selected">
142
- <span class="p-accordion-toggle-icon" [ngClass]="selected ? accordion.collapseIcon : accordion.expandIcon"></span>
159
+ <div class="p-accordion-tab" [class.p-accordion-tab-active]="selected" [ngClass]="tabStyleClass" [ngStyle]="tabStyle">
160
+ <div class="p-accordion-header" [class.p-highlight]="selected" [class.p-disabled]="disabled">
161
+ <a
162
+ [ngClass]="headerStyleClass"
163
+ [style]="headerStyle"
164
+ role="tab"
165
+ class="p-accordion-header-link"
166
+ (click)="toggle($event)"
167
+ (keydown)="onKeydown($event)"
168
+ [attr.tabindex]="disabled ? null : 0"
169
+ [attr.id]="id"
170
+ [attr.aria-controls]="id + '-content'"
171
+ [attr.aria-expanded]="selected"
172
+ >
173
+ <span [class]="iconClass" [ngClass]="selected ? accordion.collapseIcon : accordion.expandIcon"></span>
143
174
  <span class="p-accordion-header-text" *ngIf="!hasHeaderFacet">
144
175
  {{ header }}
145
176
  </span>
@@ -155,7 +186,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
155
186
  [attr.aria-hidden]="!selected"
156
187
  [attr.aria-labelledby]="id"
157
188
  >
158
- <div class="p-accordion-content">
189
+ <div class="p-accordion-content" [ngClass]="contentStyleClass" [ngStyle]="contentStyle">
159
190
  <ng-content></ng-content>
160
191
  <ng-container *ngIf="contentTemplate && (cache ? loaded : selected)">
161
192
  <ng-container *ngTemplateOutlet="contentTemplate"></ng-container>
@@ -176,12 +207,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
176
207
  ])
177
208
  ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
178
209
  class: 'p-element'
179
- }, styles: [".p-accordion-header-link{cursor:pointer;display:flex;align-items:center;-webkit-user-select:none;user-select:none;position:relative;text-decoration:none}.p-accordion-header-link:focus{z-index:1}.p-accordion-header-text{line-height:1}.p-accordion .p-toggleable-content{overflow:hidden}.p-accordion .p-accordion-tab-active>.p-toggleable-content:not(.ng-animating){overflow:inherit}\n"] }]
210
+ }, styles: [".p-accordion-header-link{cursor:pointer;display:flex;align-items:center;-webkit-user-select:none;user-select:none;position:relative;text-decoration:none}.p-accordion-header-link:focus{z-index:1}.p-accordion-header-text{line-height:1}.p-accordion .p-toggleable-content{overflow:hidden}.p-accordion .p-accordion-tab-active>.p-toggleable-content:not(.ng-animating){overflow:inherit}.p-accordion-toggle-icon-end{order:1;margin-left:auto}.p-accordion-toggle-icon{order:0}\n"] }]
180
211
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
181
212
  type: Inject,
182
213
  args: [forwardRef(() => Accordion)]
183
214
  }] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { header: [{
184
215
  type: Input
216
+ }], headerStyle: [{
217
+ type: Input
218
+ }], tabStyle: [{
219
+ type: Input
220
+ }], contentStyle: [{
221
+ type: Input
222
+ }], tabStyleClass: [{
223
+ type: Input
224
+ }], headerStyleClass: [{
225
+ type: Input
226
+ }], contentStyleClass: [{
227
+ type: Input
185
228
  }], disabled: [{
186
229
  type: Input
187
230
  }], cache: [{
@@ -190,6 +233,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
190
233
  type: Output
191
234
  }], transitionOptions: [{
192
235
  type: Input
236
+ }], iconPos: [{
237
+ type: Input
193
238
  }], headerFacet: [{
194
239
  type: ContentChildren,
195
240
  args: [Header]
@@ -270,13 +315,13 @@ export class Accordion {
270
315
  }
271
316
  }
272
317
  }
273
- Accordion.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: Accordion, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
274
- Accordion.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: Accordion, selector: "p-accordion", inputs: { multiple: "multiple", style: "style", styleClass: "styleClass", expandIcon: "expandIcon", collapseIcon: "collapseIcon", activeIndex: "activeIndex" }, outputs: { onClose: "onClose", onOpen: "onOpen", activeIndexChange: "activeIndexChange" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "tabList", predicate: AccordionTab }], ngImport: i0, template: `
318
+ Accordion.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: Accordion, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
319
+ Accordion.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: Accordion, selector: "p-accordion", inputs: { multiple: "multiple", style: "style", styleClass: "styleClass", expandIcon: "expandIcon", collapseIcon: "collapseIcon", activeIndex: "activeIndex" }, outputs: { onClose: "onClose", onOpen: "onOpen", activeIndexChange: "activeIndexChange" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "tabList", predicate: AccordionTab }], ngImport: i0, template: `
275
320
  <div [ngClass]="'p-accordion p-component'" [ngStyle]="style" [class]="styleClass" role="tablist">
276
321
  <ng-content></ng-content>
277
322
  </div>
278
323
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
279
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: Accordion, decorators: [{
324
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: Accordion, decorators: [{
280
325
  type: Component,
281
326
  args: [{
282
327
  selector: 'p-accordion',
@@ -314,10 +359,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
314
359
  }] } });
315
360
  export class AccordionModule {
316
361
  }
317
- AccordionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: AccordionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
318
- AccordionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.3", ngImport: i0, type: AccordionModule, declarations: [Accordion, AccordionTab], imports: [CommonModule], exports: [Accordion, AccordionTab, SharedModule] });
319
- AccordionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: AccordionModule, imports: [CommonModule, SharedModule] });
320
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: AccordionModule, decorators: [{
362
+ AccordionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AccordionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
363
+ AccordionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AccordionModule, declarations: [Accordion, AccordionTab], imports: [CommonModule], exports: [Accordion, AccordionTab, SharedModule] });
364
+ AccordionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AccordionModule, imports: [CommonModule, SharedModule] });
365
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AccordionModule, decorators: [{
321
366
  type: NgModule,
322
367
  args: [{
323
368
  imports: [CommonModule],
@@ -325,4 +370,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
325
370
  declarations: [Accordion, AccordionTab]
326
371
  }]
327
372
  }] });
328
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFFBQVEsRUFDUixTQUFTLEVBSVQsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osZUFBZSxFQUdmLE1BQU0sRUFDTixVQUFVLEVBR1YsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQWUsTUFBTSxhQUFhLENBQUM7OztBQUcvRSxJQUFJLEdBQUcsR0FBVyxDQUFDLENBQUM7QUEwRHBCLE1BQU0sT0FBTyxZQUFZO0lBMkNyQixZQUFpRCxTQUFTLEVBQVMsY0FBaUM7UUFBakMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBdEMzRixVQUFLLEdBQVksSUFBSSxDQUFDO1FBRXJCLG1CQUFjLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFeEQsc0JBQWlCLEdBQVcsc0NBQXNDLENBQUM7UUE0QjVFLE9BQUUsR0FBVyxrQkFBa0IsR0FBRyxFQUFFLEVBQUUsQ0FBQztRQU9uQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQXNCLENBQUM7SUFDNUMsQ0FBQztJQTVCRCxJQUFhLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxHQUFRO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBRXJCLElBQUksQ0FBQyxJQUFJ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LGVBQWU7a0JBTDNCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQztvQkFDaEQsWUFBWSxFQUFFLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQztpQkFDMUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIE5nTW9kdWxlLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgT25EZXN0cm95LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBJbmplY3QsXG4gICAgZm9yd2FyZFJlZixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3UmVmLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHJpZ2dlciwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCBhbmltYXRlIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2hhcmVkTW9kdWxlLCBIZWFkZXIsIFByaW1lVGVtcGxhdGUsIEJsb2NrYWJsZVVJIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmxldCBpZHg6IG51bWJlciA9IDA7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncC1hY2NvcmRpb25UYWInLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwLWFjY29yZGlvbi10YWJcIiBbbmdDbGFzc109XCJ7ICdwLWFjY29yZGlvbi10YWItYWN0aXZlJzogc2VsZWN0ZWQgfVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtYWNjb3JkaW9uLWhlYWRlclwiIFtuZ0NsYXNzXT1cInsgJ3AtaGlnaGxpZ2h0Jzogc2VsZWN0ZWQsICdwLWRpc2FibGVkJzogZGlzYWJsZWQgfVwiPlxuICAgICAgICAgICAgICAgIDxhIHJvbGU9XCJ0YWJcIiBjbGFzcz1cInAtYWNjb3JkaW9uLWhlYWRlci1saW5rXCIgKGNsaWNrKT1cInRvZ2dsZSgkZXZlbnQpXCIgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIiBbYXR0ci50YWJpbmRleF09XCJkaXNhYmxlZCA/IG51bGwgOiAwXCIgW2F0dHIuaWRdPVwiaWRcIiBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImlkICsgJy1jb250ZW50J1wiIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwic2VsZWN0ZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwLWFjY29yZGlvbi10b2dnbGUtaWNvblwiIFtuZ0NsYXNzXT1cInNlbGVjdGVkID8gYWNjb3JkaW9uLmNvbGxhcHNlSWNvbiA6IGFjY29yZGlvbi5leHBhbmRJY29uXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInAtYWNjb3JkaW9uLWhlYWRlci10ZXh0XCIgKm5nSWY9XCIhaGFzSGVhZGVyRmFjZXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGhlYWRlciB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJwLWhlYWRlclwiICpuZ0lmPVwiaGFzSGVhZGVyRmFjZXRcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiaWQgKyAnLWNvbnRlbnQnXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInAtdG9nZ2xlYWJsZS1jb250ZW50XCJcbiAgICAgICAgICAgICAgICBbQHRhYkNvbnRlbnRdPVwic2VsZWN0ZWQgPyB7IHZhbHVlOiAndmlzaWJsZScsIHBhcmFtczogeyB0cmFuc2l0aW9uUGFyYW1zOiB0cmFuc2l0aW9uT3B0aW9ucyB9IH0gOiB7IHZhbHVlOiAnaGlkZGVuJywgcGFyYW1zOiB7IHRyYW5zaXRpb25QYXJhbXM6IHRyYW5zaXRpb25PcHRpb25zIH0gfVwiXG4gICAgICAgICAgICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiIXNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWFjY29yZGlvbi1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRlbnRUZW1wbGF0ZSAmJiAoY2FjaGUgPyBsb2FkZWQgOiBzZWxlY3RlZClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgYCxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ3RhYkNvbnRlbnQnLCBbXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnaGlkZGVuJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJzAnXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAndmlzaWJsZScsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICcqJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbigndmlzaWJsZSA8PT4gaGlkZGVuJywgW2FuaW1hdGUoJ3t7dHJhbnNpdGlvblBhcmFtc319JyldKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIGFuaW1hdGUoMCkpXG4gICAgICAgIF0pXG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0eWxlVXJsczogWycuL2FjY29yZGlvbi5jc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAncC1lbGVtZW50J1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQWNjb3JkaW9uVGFiIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBoZWFkZXI6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuXG4gICAgQElucHV0KCkgY2FjaGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpIHNlbGVjdGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBJbnB1dCgpIHRyYW5zaXRpb25PcHRpb25zOiBzdHJpbmcgPSAnNDAwbXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpJztcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oSGVhZGVyKSBoZWFkZXJGYWNldDogUXVlcnlMaXN0PEhlYWRlcj47XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFByaW1lVGVtcGxhdGUpIHRlbXBsYXRlczogUXVlcnlMaXN0PGFueT47XG5cbiAgICBwcml2YXRlIF9zZWxlY3RlZDogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIGdldCBzZWxlY3RlZCgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7XG4gICAgfVxuXG4gICAgc2V0IHNlbGVjdGVkKHZhbDogYW55KSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkID0gdmFsO1xuXG4gICAgICAgIGlmICghdGhpcy5sb2FkZWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZCAmJiB0aGlzLmNhY2hlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnRlbnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgaWQ6IHN0cmluZyA9IGBwLWFjY29yZGlvbnRhYi0ke2lkeCsrfWA7XG5cbiAgICBsb2FkZWQ6IGJvb2xlYW47XG5cbiAgICBhY2NvcmRpb246IEFjY29yZGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBBY2NvcmRpb24pKSBhY2NvcmRpb24sIHB1YmxpYyBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgdGhpcy5hY2NvcmRpb24gPSBhY2NvcmRpb24gYXMgQWNjb3JkaW9uO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgc3dpdGNoIChpdGVtLmdldFR5cGUoKSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2NvbnRlbnQnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnaGVhZGVyJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oZWFkZXJUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50VGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdG9nZ2xlKGV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaW5kZXggPSB0aGlzLmZpbmRUYWJJbmRleCgpO1xuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmFjY29yZGlvbi5vbkNsb3NlLmVtaXQoeyBvcmlnaW5hbEV2ZW50OiBldmVudCwgaW5kZXg6IGluZGV4IH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmFjY29yZGlvbi5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5hY2NvcmRpb24udGFicy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5hY2NvcmRpb24udGFic1tpXS5zZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hY2NvcmRpb24udGFic1tpXS5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hY2NvcmRpb24udGFic1tpXS5zZWxlY3RlZENoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWNjb3JkaW9uLnRhYnNbaV0uY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5hY2NvcmRpb24ub25PcGVuLmVtaXQoeyBvcmlnaW5hbEV2ZW50OiBldmVudCwgaW5kZXg6IGluZGV4IH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWQpO1xuICAgICAgICB0aGlzLmFjY29yZGlvbi51cGRhdGVBY3RpdmVJbmRleCgpO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgZmluZFRhYkluZGV4KCkge1xuICAgICAgICBsZXQgaW5kZXggPSAtMTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmFjY29yZGlvbi50YWJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5hY2NvcmRpb24udGFic1tpXSA9PSB0aGlzKSB7XG4gICAgICAgICAgICAgICAgaW5kZXggPSBpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG5cbiAgICBnZXQgaGFzSGVhZGVyRmFjZXQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhlYWRlckZhY2V0ICYmIHRoaXMuaGVhZGVyRmFjZXQubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LndoaWNoID09PSAzMiB8fCBldmVudC53aGljaCA9PT0gMTMpIHtcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlKGV2ZW50KTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5hY2NvcmRpb24udGFicy5zcGxpY2UodGhpcy5maW5kVGFiSW5kZXgoKSwgMSk7XG4gICAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3AtYWNjb3JkaW9uJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cIidwLWFjY29yZGlvbiBwLWNvbXBvbmVudCdcIiBbbmdTdHlsZV09XCJzdHlsZVwiIFtjbGFzc109XCJzdHlsZUNsYXNzXCIgcm9sZT1cInRhYmxpc3RcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAncC1lbGVtZW50J1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQWNjb3JkaW9uIGltcGxlbWVudHMgQmxvY2thYmxlVUksIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgb25DbG9zZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KCkgb25PcGVuOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBJbnB1dCgpIHN0eWxlOiBhbnk7XG5cbiAgICBASW5wdXQoKSBzdHlsZUNsYXNzOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBleHBhbmRJY29uOiBzdHJpbmcgPSAncGkgcGktZncgcGktY2hldnJvbi1yaWdodCc7XG5cbiAgICBASW5wdXQoKSBjb2xsYXBzZUljb246IHN0cmluZyA9ICdwaSBwaS1mdyBwaS1jaGV2cm9uLWRvd24nO1xuXG4gICAgQE91dHB1dCgpIGFjdGl2ZUluZGV4Q2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oQWNjb3JkaW9uVGFiKSB0YWJMaXN0OiBRdWVyeUxpc3Q8QWNjb3JkaW9uVGFiPjtcblxuICAgIHRhYkxpc3RTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIHByaXZhdGUgX2FjdGl2ZUluZGV4OiBhbnk7XG5cbiAgICBwcmV2ZW50QWN0aXZlSW5kZXhQcm9wYWdhdGlvbjogYm9vbGVhbjtcblxuICAgIHB1YmxpYyB0YWJzOiBBY2NvcmRpb25UYWJbXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmLCBwdWJsaWMgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLmluaXRUYWJzKCk7XG5cbiAgICAgICAgdGhpcy50YWJMaXN0U3Vic2NyaXB0aW9uID0gdGhpcy50YWJMaXN0LmNoYW5nZXMuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmluaXRUYWJzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGluaXRUYWJzKCk6IGFueSB7XG4gICAgICAgIHRoaXMudGFicyA9IHRoaXMudGFiTGlzdC50b0FycmF5KCk7XG4gICAgICAgIHRoaXMudXBkYXRlU2VsZWN0aW9uU3RhdGUoKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBnZXRCbG9ja2FibGVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWwubmF0aXZlRWxlbWVudC5jaGlsZHJlblswXTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBnZXQgYWN0aXZlSW5kZXgoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjdGl2ZUluZGV4O1xuICAgIH1cblxuICAgIHNldCBhY3RpdmVJbmRleCh2YWw6IGFueSkge1xuICAgICAgICB0aGlzLl9hY3RpdmVJbmRleCA9IHZhbDtcbiAgICAgICAgaWYgKHRoaXMucHJldmVudEFjdGl2ZUluZGV4UHJvcGFnYXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMucHJldmVudEFjdGl2ZUluZGV4UHJvcGFnYXRpb24gPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlU2VsZWN0aW9uU3RhdGUoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVTZWxlY3Rpb25TdGF0ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMudGFicyAmJiB0aGlzLnRhYnMubGVuZ3RoICYmIHRoaXMuX2FjdGl2ZUluZGV4ICE9IG51bGwpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy50YWJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbGV0IHNlbGVjdGVkID0gdGhpcy5tdWx0aXBsZSA/IHRoaXMuX2FjdGl2ZUluZGV4LmluY2x1ZGVzKGkpIDogaSA9PT0gdGhpcy5fYWN0aXZlSW5kZXg7XG4gICAgICAgICAgICAgICAgbGV0IGNoYW5nZWQgPSBzZWxlY3RlZCAhPT0gdGhpcy50YWJzW2ldLnNlbGVjdGVkO1xuXG4gICAgICAgICAgICAgICAgaWYgKGNoYW5nZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJzW2ldLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFic1tpXS5zZWxlY3RlZENoYW5nZS5lbWl0KHNlbGVjdGVkKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJzW2ldLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZUFjdGl2ZUluZGV4KCkge1xuICAgICAgICBsZXQgaW5kZXg6IGFueSA9IHRoaXMubXVsdGlwbGUgPyBbXSA6IG51bGw7XG4gICAgICAgIHRoaXMudGFicy5mb3JFYWNoKCh0YWIsIGkpID0+IHtcbiAgICAgICAgICAgIGlmICh0YWIuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICBpbmRleC5wdXNoKGkpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGluZGV4ID0gaTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5wcmV2ZW50QWN0aXZlSW5kZXhQcm9wYWdhdGlvbiA9IHRydWU7XG4gICAgICAgIHRoaXMuYWN0aXZlSW5kZXhDaGFuZ2UuZW1pdChpbmRleCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLnRhYkxpc3RTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMudGFiTGlzdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtBY2NvcmRpb24sIEFjY29yZGlvblRhYiwgU2hhcmVkTW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtBY2NvcmRpb24sIEFjY29yZGlvblRhYl1cbn0pXG5leHBvcnQgY2xhc3MgQWNjb3JkaW9uTW9kdWxlIHt9XG4iXX0=
373
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFvQix1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLGVBQWUsRUFBYyxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFhLE1BQU0sRUFBMEIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdFAsT0FBTyxFQUFlLE1BQU0sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7QUFHL0UsSUFBSSxHQUFHLEdBQVcsQ0FBQyxDQUFDO0FBcUVwQixNQUFNLE9BQU8sWUFBWTtJQWlFckIsWUFBaUQsU0FBUyxFQUFTLGNBQWlDO1FBQWpDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQWhEM0YsVUFBSyxHQUFZLElBQUksQ0FBQztRQUVyQixtQkFBYyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXhELHNCQUFpQixHQUFXLHNDQUFzQyxDQUFDO1FBRW5FLFlBQU8sR0FBVyxPQUFPLENBQUM7UUFvQ25DLE9BQUUsR0FBVyxrQkFBa0IsR0FBRyxFQUFFLEVBQUUsQ0FBQztRQU9uQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQXNCLENBQUM7SUFDNUMsQ0FBQztJQXBDRCxJQUFhLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxHQUFRO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FB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QUFNO3NCQUFmLE1BQU07Z0JBRUUsS0FBSztzQkFBYixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFFd0IsT0FBTztzQkFBckMsZUFBZTt1QkFBQyxZQUFZO2dCQThCaEIsV0FBVztzQkFBdkIsS0FBSzs7QUEwRFYsTUFBTSxPQUFPLGVBQWU7OzRHQUFmLGVBQWU7NkdBQWYsZUFBZSxpQkF6R2YsU0FBUyxFQS9KVCxZQUFZLGFBb1FYLFlBQVksYUFyR2IsU0FBUyxFQS9KVCxZQUFZLEVBcVFjLFlBQVk7NkdBR3RDLGVBQWUsWUFKZCxZQUFZLEVBQ2EsWUFBWTsyRkFHdEMsZUFBZTtrQkFMM0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDO29CQUNoRCxZQUFZLEVBQUUsQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDO2lCQUMxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5qZWN0LCBJbnB1dCwgTmdNb2R1bGUsIE9uRGVzdHJveSwgT3V0cHV0LCBRdWVyeUxpc3QsIFRlbXBsYXRlUmVmLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmxvY2thYmxlVUksIEhlYWRlciwgUHJpbWVUZW1wbGF0ZSwgU2hhcmVkTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmxldCBpZHg6IG51bWJlciA9IDA7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncC1hY2NvcmRpb25UYWInLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwLWFjY29yZGlvbi10YWJcIiBbY2xhc3MucC1hY2NvcmRpb24tdGFiLWFjdGl2ZV09XCJzZWxlY3RlZFwiIFtuZ0NsYXNzXT1cInRhYlN0eWxlQ2xhc3NcIiBbbmdTdHlsZV09XCJ0YWJTdHlsZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtYWNjb3JkaW9uLWhlYWRlclwiIFtjbGFzcy5wLWhpZ2hsaWdodF09XCJzZWxlY3RlZFwiIFtjbGFzcy5wLWRpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiaGVhZGVyU3R5bGVDbGFzc1wiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJoZWFkZXJTdHlsZVwiXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJ0YWJcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInAtYWNjb3JkaW9uLWhlYWRlci1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJkaXNhYmxlZCA/IG51bGwgOiAwXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiaWRcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImlkICsgJy1jb250ZW50J1wiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwic2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gW2NsYXNzXT1cImljb25DbGFzc1wiIFtuZ0NsYXNzXT1cInNlbGVjdGVkID8gYWNjb3JkaW9uLmNvbGxhcHNlSWNvbiA6IGFjY29yZGlvbi5leHBhbmRJY29uXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInAtYWNjb3JkaW9uLWhlYWRlci10ZXh0XCIgKm5nSWY9XCIhaGFzSGVhZGVyRmFjZXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGhlYWRlciB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJwLWhlYWRlclwiICpuZ0lmPVwiaGFzSGVhZGVyRmFjZXRcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiaWQgKyAnLWNvbnRlbnQnXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInAtdG9nZ2xlYWJsZS1jb250ZW50XCJcbiAgICAgICAgICAgICAgICBbQHRhYkNvbnRlbnRdPVwic2VsZWN0ZWQgPyB7IHZhbHVlOiAndmlzaWJsZScsIHBhcmFtczogeyB0cmFuc2l0aW9uUGFyYW1zOiB0cmFuc2l0aW9uT3B0aW9ucyB9IH0gOiB7IHZhbHVlOiAnaGlkZGVuJywgcGFyYW1zOiB7IHRyYW5zaXRpb25QYXJhbXM6IHRyYW5zaXRpb25PcHRpb25zIH0gfVwiXG4gICAgICAgICAgICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiIXNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWFjY29yZGlvbi1jb250ZW50XCIgW25nQ2xhc3NdPVwiY29udGVudFN0eWxlQ2xhc3NcIiBbbmdTdHlsZV09XCJjb250ZW50U3R5bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udGVudFRlbXBsYXRlICYmIChjYWNoZSA/IGxvYWRlZCA6IHNlbGVjdGVkKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICBgLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcigndGFiQ29udGVudCcsIFtcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICdoaWRkZW4nLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnMCdcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICd2aXNpYmxlJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJyonXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCd2aXNpYmxlIDw9PiBoaWRkZW4nLCBbYW5pbWF0ZSgne3t0cmFuc2l0aW9uUGFyYW1zfX0nKV0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgYW5pbWF0ZSgwKSlcbiAgICAgICAgXSlcbiAgICBdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3R5bGVVcmxzOiBbJy4vYWNjb3JkaW9uLmNzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdwLWVsZW1lbnQnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBBY2NvcmRpb25UYWIgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGhlYWRlcjogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgaGVhZGVyU3R5bGU6IGFueTtcblxuICAgIEBJbnB1dCgpIHRhYlN0eWxlOiBhbnk7XG5cbiAgICBASW5wdXQoKSBjb250ZW50U3R5bGU6IGFueTtcblxuICAgIEBJbnB1dCgpIHRhYlN0eWxlQ2xhc3M6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGhlYWRlclN0eWxlQ2xhc3M6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGNvbnRlbnRTdHlsZUNsYXNzOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIGNhY2hlOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIEBPdXRwdXQoKSBzZWxlY3RlZENoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBASW5wdXQoKSB0cmFuc2l0aW9uT3B0aW9uczogc3RyaW5nID0gJzQwMG1zIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKSc7XG5cbiAgICBASW5wdXQoKSBpY29uUG9zOiBzdHJpbmcgPSAnc3RhcnQnO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihIZWFkZXIpIGhlYWRlckZhY2V0OiBRdWVyeUxpc3Q8SGVhZGVyPjtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oUHJpbWVUZW1wbGF0ZSkgdGVtcGxhdGVzOiBRdWVyeUxpc3Q8YW55PjtcblxuICAgIHByaXZhdGUgX3NlbGVjdGVkOiBib29sZWFuO1xuXG4gICAgQElucHV0KCkgZ2V0IHNlbGVjdGVkKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcbiAgICB9XG5cbiAgICBzZXQgc2VsZWN0ZWQodmFsOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSB2YWw7XG5cbiAgICAgICAgaWYgKCF0aGlzLmxvYWRlZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkICYmIHRoaXMuY2FjaGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGljb25DbGFzcygpIHtcbiAgICAgICAgaWYgKHRoaXMuaWNvblBvcyA9PT0gJ2VuZCcpIHtcbiAgICAgICAgICAgIHJldHVybiAncC1hY2NvcmRpb24tdG9nZ2xlLWljb24tZW5kJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAncC1hY2NvcmRpb24tdG9nZ2xlLWljb24nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29udGVudFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBpZDogc3RyaW5nID0gYHAtYWNjb3JkaW9udGFiLSR7aWR4Kyt9YDtcblxuICAgIGxvYWRlZDogYm9vbGVhbjtcblxuICAgIGFjY29yZGlvbjogQWNjb3JkaW9uO1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChmb3J3YXJkUmVmKCgpID0+IEFjY29yZGlvbikpIGFjY29yZGlvbiwgcHVibGljIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICB0aGlzLmFjY29yZGlvbiA9IGFjY29yZGlvbiBhcyBBY2NvcmRpb247XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLnRlbXBsYXRlcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKGl0ZW0uZ2V0VHlwZSgpKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnY29udGVudCc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudFRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdoZWFkZXInOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmhlYWRlclRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0b2dnbGUoZXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBpbmRleCA9IHRoaXMuZmluZFRhYkluZGV4KCk7XG5cbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuYWNjb3JkaW9uLm9uQ2xvc2UuZW1pdCh7IG9yaWdpbmFsRXZlbnQ6IGV2ZW50LCBpbmRleDogaW5kZXggfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuYWNjb3JkaW9uLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmFjY29yZGlvbi50YWJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmFjY29yZGlvbi50YWJzW2ldLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFjY29yZGlvbi50YWJzW2ldLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFjY29yZGlvbi50YWJzW2ldLnNlbGVjdGVkQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hY2NvcmRpb24udGFic1tpXS5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmxvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmFjY29yZGlvbi5vbk9wZW4uZW1pdCh7IG9yaWdpbmFsRXZlbnQ6IGV2ZW50LCBpbmRleDogaW5kZXggfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZCk7XG4gICAgICAgIHRoaXMuYWNjb3JkaW9uLnVwZGF0ZUFjdGl2ZUluZGV4KCk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBmaW5kVGFiSW5kZXgoKSB7XG4gICAgICAgIGxldCBpbmRleCA9IC0xO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuYWNjb3JkaW9uLnRhYnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmFjY29yZGlvbi50YWJzW2ldID09IHRoaXMpIHtcbiAgICAgICAgICAgICAgICBpbmRleCA9IGk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH1cblxuICAgIGdldCBoYXNIZWFkZXJGYWNldCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGVhZGVyRmFjZXQgJiYgdGhpcy5oZWFkZXJGYWNldC5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoZXZlbnQud2hpY2ggPT09IDMyIHx8IGV2ZW50LndoaWNoID09PSAxMykge1xuICAgICAgICAgICAgdGhpcy50b2dnbGUoZXZlbnQpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmFjY29yZGlvbi50YWJzLnNwbGljZSh0aGlzLmZpbmRUYWJJbmRleCgpLCAxKTtcbiAgICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncC1hY2NvcmRpb24nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiJ3AtYWNjb3JkaW9uIHAtY29tcG9uZW50J1wiIFtuZ1N0eWxlXT1cInN0eWxlXCIgW2NsYXNzXT1cInN0eWxlQ2xhc3NcIiByb2xlPVwidGFibGlzdFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdwLWVsZW1lbnQnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBBY2NvcmRpb24gaW1wbGVtZW50cyBCbG9ja2FibGVVSSwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBtdWx0aXBsZTogYm9vbGVhbjtcblxuICAgIEBPdXRwdXQoKSBvbkNsb3NlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKSBvbk9wZW46IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQElucHV0KCkgc3R5bGU6IGFueTtcblxuICAgIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGV4cGFuZEljb246IHN0cmluZyA9ICdwaSBwaS1mdyBwaS1jaGV2cm9uLXJpZ2h0JztcblxuICAgIEBJbnB1dCgpIGNvbGxhcHNlSWNvbjogc3RyaW5nID0gJ3BpIHBpLWZ3IHBpLWNoZXZyb24tZG93bic7XG5cbiAgICBAT3V0cHV0KCkgYWN0aXZlSW5kZXhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihBY2NvcmRpb25UYWIpIHRhYkxpc3Q6IFF1ZXJ5TGlzdDxBY2NvcmRpb25UYWI+O1xuXG4gICAgdGFiTGlzdFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgcHJpdmF0ZSBfYWN0aXZlSW5kZXg6IGFueTtcblxuICAgIHByZXZlbnRBY3RpdmVJbmRleFByb3BhZ2F0aW9uOiBib29sZWFuO1xuXG4gICAgcHVibGljIHRhYnM6IEFjY29yZGlvblRhYltdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWw6IEVsZW1lbnRSZWYsIHB1YmxpYyBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMuaW5pdFRhYnMoKTtcblxuICAgICAgICB0aGlzLnRhYkxpc3RTdWJzY3JpcHRpb24gPSB0aGlzLnRhYkxpc3QuY2hhbmdlcy5zdWJzY3JpYmUoKF8pID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5pdFRhYnMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaW5pdFRhYnMoKTogYW55IHtcbiAgICAgICAgdGhpcy50YWJzID0gdGhpcy50YWJMaXN0LnRvQXJyYXkoKTtcbiAgICAgICAgdGhpcy51cGRhdGVTZWxlY3Rpb25TdGF0ZSgpO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIGdldEJsb2NrYWJsZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNoaWxkcmVuWzBdO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGdldCBhY3RpdmVJbmRleCgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZlSW5kZXg7XG4gICAgfVxuXG4gICAgc2V0IGFjdGl2ZUluZGV4KHZhbDogYW55KSB7XG4gICAgICAgIHRoaXMuX2FjdGl2ZUluZGV4ID0gdmFsO1xuICAgICAgICBpZiAodGhpcy5wcmV2ZW50QWN0aXZlSW5kZXhQcm9wYWdhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5wcmV2ZW50QWN0aXZlSW5kZXhQcm9wYWdhdGlvbiA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVTZWxlY3Rpb25TdGF0ZSgpO1xuICAgIH1cblxuICAgIHVwZGF0ZVNlbGVjdGlvblN0YXRlKCkge1xuICAgICAgICBpZiAodGhpcy50YWJzICYmIHRoaXMudGFicy5sZW5ndGggJiYgdGhpcy5fYWN0aXZlSW5kZXggIT0gbnVsbCkge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnRhYnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBsZXQgc2VsZWN0ZWQgPSB0aGlzLm11bHRpcGxlID8gdGhpcy5fYWN0aXZlSW5kZXguaW5jbHVkZXMoaSkgOiBpID09PSB0aGlzLl9hY3RpdmVJbmRleDtcbiAgICAgICAgICAgICAgICBsZXQgY2hhbmdlZCA9IHNlbGVjdGVkICE9PSB0aGlzLnRhYnNbaV0uc2VsZWN0ZWQ7XG5cbiAgICAgICAgICAgICAgICBpZiAoY2hhbmdlZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYnNbaV0uc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJzW2ldLnNlbGVjdGVkQ2hhbmdlLmVtaXQoc2VsZWN0ZWQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYnNbaV0uY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlQWN0aXZlSW5kZXgoKSB7XG4gICAgICAgIGxldCBpbmRleDogYW55ID0gdGhpcy5tdWx0aXBsZSA/IFtdIDogbnVsbDtcbiAgICAgICAgdGhpcy50YWJzLmZvckVhY2goKHRhYiwgaSkgPT4ge1xuICAgICAgICAgICAgaWYgKHRhYi5zZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGluZGV4LnB1c2goaSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaW5kZXggPSBpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnByZXZlbnRBY3RpdmVJbmRleFByb3BhZ2F0aW9uID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5hY3RpdmVJbmRleENoYW5nZS5lbWl0KGluZGV4KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMudGFiTGlzdFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy50YWJMaXN0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gICAgZXhwb3J0czogW0FjY29yZGlvbiwgQWNjb3JkaW9uVGFiLCBTaGFyZWRNb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW0FjY29yZGlvbiwgQWNjb3JkaW9uVGFiXVxufSlcbmV4cG9ydCBjbGFzcyBBY2NvcmRpb25Nb2R1bGUge31cbiJdfQ==
@@ -48,9 +48,9 @@ export class Animate {
48
48
  clearTimeout(this.timeout);
49
49
  }
50
50
  }
51
- Animate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: Animate, deps: [{ token: i0.ElementRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
52
- Animate.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.3", type: Animate, selector: "[pAnimate]", inputs: { enterClass: "enterClass", leaveClass: "leaveClass" }, host: { properties: { "class.p-animate": "true" } }, ngImport: i0 });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: Animate, decorators: [{
51
+ Animate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: Animate, deps: [{ token: i0.ElementRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
52
+ Animate.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: Animate, selector: "[pAnimate]", inputs: { enterClass: "enterClass", leaveClass: "leaveClass" }, host: { properties: { "class.p-animate": "true" } }, ngImport: i0 });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: Animate, decorators: [{
54
54
  type: Directive,
55
55
  args: [{
56
56
  selector: '[pAnimate]',
@@ -65,10 +65,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
65
65
  }] } });
66
66
  export class AnimateModule {
67
67
  }
68
- AnimateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: AnimateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
69
- AnimateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.3", ngImport: i0, type: AnimateModule, declarations: [Animate], imports: [CommonModule], exports: [Animate] });
70
- AnimateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: AnimateModule, imports: [CommonModule] });
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: AnimateModule, decorators: [{
68
+ AnimateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AnimateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
69
+ AnimateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AnimateModule, declarations: [Animate], imports: [CommonModule], exports: [Animate] });
70
+ AnimateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AnimateModule, imports: [CommonModule] });
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AnimateModule, decorators: [{
72
72
  type: NgModule,
73
73
  args: [{
74
74
  imports: [CommonModule],