primeng 18.0.0-rc.2 → 19.0.0-rc.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 (1091) hide show
  1. package/LICENSE.md +1 -1
  2. package/autocomplete/autocomplete.d.ts +11 -11
  3. package/base/style/basestyle.d.ts +11 -11
  4. package/config/primeng.d.ts +12 -6
  5. package/config/provideprimeng.d.ts +1 -12
  6. package/config/themeprovider.d.ts +10 -4
  7. package/confirmdialog/confirmdialog.d.ts +1 -0
  8. package/fesm2022/primeng-accordion.mjs +12 -12
  9. package/fesm2022/primeng-accordion.mjs.map +1 -1
  10. package/fesm2022/primeng-animateonscroll.mjs +1 -1
  11. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  12. package/fesm2022/primeng-api.mjs +5 -5
  13. package/fesm2022/primeng-api.mjs.map +1 -1
  14. package/fesm2022/primeng-autocomplete.mjs +135 -136
  15. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  16. package/fesm2022/primeng-autofocus.mjs +1 -1
  17. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  18. package/fesm2022/primeng-avatar.mjs +2 -2
  19. package/fesm2022/primeng-avatar.mjs.map +1 -1
  20. package/fesm2022/primeng-avatargroup.mjs +2 -2
  21. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  22. package/fesm2022/primeng-badge.mjs +3 -3
  23. package/fesm2022/primeng-badge.mjs.map +1 -1
  24. package/fesm2022/primeng-basecomponent.mjs +1 -1
  25. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  26. package/fesm2022/primeng-blockui.mjs +2 -2
  27. package/fesm2022/primeng-blockui.mjs.map +1 -1
  28. package/fesm2022/primeng-breadcrumb.mjs +2 -2
  29. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  30. package/fesm2022/primeng-button.mjs +5 -5
  31. package/fesm2022/primeng-button.mjs.map +1 -1
  32. package/fesm2022/primeng-buttongroup.mjs +2 -2
  33. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  34. package/fesm2022/primeng-calendar.mjs +3 -3
  35. package/fesm2022/primeng-calendar.mjs.map +1 -1
  36. package/fesm2022/primeng-card.mjs +2 -2
  37. package/fesm2022/primeng-card.mjs.map +1 -1
  38. package/fesm2022/primeng-carousel.mjs +2 -2
  39. package/fesm2022/primeng-carousel.mjs.map +1 -1
  40. package/fesm2022/primeng-cascadeselect.mjs +6 -6
  41. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  42. package/fesm2022/primeng-chart.mjs +2 -2
  43. package/fesm2022/primeng-chart.mjs.map +1 -1
  44. package/fesm2022/primeng-checkbox.mjs +3 -4
  45. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  46. package/fesm2022/primeng-chip.mjs +2 -2
  47. package/fesm2022/primeng-chip.mjs.map +1 -1
  48. package/fesm2022/primeng-colorpicker.mjs +3 -3
  49. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  50. package/fesm2022/primeng-config.mjs +39 -40
  51. package/fesm2022/primeng-config.mjs.map +1 -1
  52. package/fesm2022/primeng-confirmdialog.mjs +13 -10
  53. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  54. package/fesm2022/primeng-confirmpopup.mjs +2 -2
  55. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  56. package/fesm2022/primeng-contextmenu.mjs +6 -6
  57. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  58. package/fesm2022/primeng-dataview.mjs +2 -2
  59. package/fesm2022/primeng-dataview.mjs.map +1 -1
  60. package/fesm2022/primeng-datepicker.mjs +5 -5
  61. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  62. package/fesm2022/primeng-defer.mjs +1 -1
  63. package/fesm2022/primeng-dialog.mjs +18 -19
  64. package/fesm2022/primeng-dialog.mjs.map +1 -1
  65. package/fesm2022/primeng-divider.mjs +2 -2
  66. package/fesm2022/primeng-divider.mjs.map +1 -1
  67. package/fesm2022/primeng-dock.mjs +3 -4
  68. package/fesm2022/primeng-dock.mjs.map +1 -1
  69. package/fesm2022/primeng-dragdrop.mjs +2 -2
  70. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  71. package/fesm2022/primeng-drawer.mjs +5 -5
  72. package/fesm2022/primeng-drawer.mjs.map +1 -1
  73. package/fesm2022/primeng-dropdown.mjs +4 -4
  74. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  75. package/fesm2022/primeng-dynamicdialog.mjs +4 -4
  76. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  77. package/fesm2022/primeng-editor.mjs +2 -2
  78. package/fesm2022/primeng-editor.mjs.map +1 -1
  79. package/fesm2022/primeng-fieldset.mjs +2 -2
  80. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  81. package/fesm2022/primeng-fileupload.mjs +3 -4
  82. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  83. package/fesm2022/primeng-floatlabel.mjs +2 -2
  84. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  85. package/fesm2022/primeng-fluid.mjs +2 -2
  86. package/fesm2022/primeng-fluid.mjs.map +1 -1
  87. package/fesm2022/primeng-focustrap.mjs +1 -1
  88. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  89. package/fesm2022/primeng-galleria.mjs +10 -10
  90. package/fesm2022/primeng-galleria.mjs.map +1 -1
  91. package/fesm2022/primeng-iconfield.mjs +2 -2
  92. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  93. package/fesm2022/primeng-icons-angledoubledown.mjs +2 -2
  94. package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
  95. package/fesm2022/primeng-icons-angledoubleleft.mjs +2 -2
  96. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
  97. package/fesm2022/primeng-icons-angledoubleright.mjs +2 -2
  98. package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
  99. package/fesm2022/primeng-icons-angledoubleup.mjs +2 -2
  100. package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
  101. package/fesm2022/primeng-icons-angledown.mjs +2 -2
  102. package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
  103. package/fesm2022/primeng-icons-angleleft.mjs +2 -2
  104. package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
  105. package/fesm2022/primeng-icons-angleright.mjs +2 -2
  106. package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
  107. package/fesm2022/primeng-icons-angleup.mjs +2 -2
  108. package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
  109. package/fesm2022/primeng-icons-arrowdown.mjs +2 -2
  110. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
  111. package/fesm2022/primeng-icons-arrowdownleft.mjs +2 -2
  112. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
  113. package/fesm2022/primeng-icons-arrowdownright.mjs +2 -2
  114. package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
  115. package/fesm2022/primeng-icons-arrowleft.mjs +2 -2
  116. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
  117. package/fesm2022/primeng-icons-arrowright.mjs +2 -2
  118. package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
  119. package/fesm2022/primeng-icons-arrowup.mjs +2 -2
  120. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
  121. package/fesm2022/primeng-icons-ban.mjs +2 -2
  122. package/fesm2022/primeng-icons-ban.mjs.map +1 -1
  123. package/fesm2022/primeng-icons-bars.mjs +2 -2
  124. package/fesm2022/primeng-icons-bars.mjs.map +1 -1
  125. package/fesm2022/primeng-icons-baseicon.mjs +2 -2
  126. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  127. package/fesm2022/primeng-icons-blank.mjs +2 -2
  128. package/fesm2022/primeng-icons-blank.mjs.map +1 -1
  129. package/fesm2022/primeng-icons-calendar.mjs +2 -2
  130. package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
  131. package/fesm2022/primeng-icons-caretleft.mjs +2 -2
  132. package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
  133. package/fesm2022/primeng-icons-caretright.mjs +2 -2
  134. package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
  135. package/fesm2022/primeng-icons-check.mjs +2 -2
  136. package/fesm2022/primeng-icons-check.mjs.map +1 -1
  137. package/fesm2022/primeng-icons-chevrondown.mjs +2 -2
  138. package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
  139. package/fesm2022/primeng-icons-chevronleft.mjs +2 -2
  140. package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
  141. package/fesm2022/primeng-icons-chevronright.mjs +2 -2
  142. package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
  143. package/fesm2022/primeng-icons-chevronup.mjs +2 -2
  144. package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
  145. package/fesm2022/primeng-icons-exclamationtriangle.mjs +2 -2
  146. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
  147. package/fesm2022/primeng-icons-eye.mjs +2 -2
  148. package/fesm2022/primeng-icons-eye.mjs.map +1 -1
  149. package/fesm2022/primeng-icons-eyeslash.mjs +2 -2
  150. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
  151. package/fesm2022/primeng-icons-filter.mjs +2 -2
  152. package/fesm2022/primeng-icons-filter.mjs.map +1 -1
  153. package/fesm2022/primeng-icons-filterslash.mjs +2 -2
  154. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
  155. package/fesm2022/primeng-icons-home.mjs +2 -2
  156. package/fesm2022/primeng-icons-home.mjs.map +1 -1
  157. package/fesm2022/primeng-icons-infocircle.mjs +2 -2
  158. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
  159. package/fesm2022/primeng-icons-minus.mjs +2 -2
  160. package/fesm2022/primeng-icons-minus.mjs.map +1 -1
  161. package/fesm2022/primeng-icons-pencil.mjs +2 -2
  162. package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
  163. package/fesm2022/primeng-icons-plus.mjs +2 -2
  164. package/fesm2022/primeng-icons-plus.mjs.map +1 -1
  165. package/fesm2022/primeng-icons-refresh.mjs +2 -2
  166. package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
  167. package/fesm2022/primeng-icons-search.mjs +2 -2
  168. package/fesm2022/primeng-icons-search.mjs.map +1 -1
  169. package/fesm2022/primeng-icons-searchminus.mjs +2 -2
  170. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
  171. package/fesm2022/primeng-icons-searchplus.mjs +2 -2
  172. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
  173. package/fesm2022/primeng-icons-sortalt.mjs +2 -2
  174. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
  175. package/fesm2022/primeng-icons-sortamountdown.mjs +2 -2
  176. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
  177. package/fesm2022/primeng-icons-sortamountupalt.mjs +2 -2
  178. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
  179. package/fesm2022/primeng-icons-spinner.mjs +2 -2
  180. package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
  181. package/fesm2022/primeng-icons-star.mjs +2 -2
  182. package/fesm2022/primeng-icons-star.mjs.map +1 -1
  183. package/fesm2022/primeng-icons-starfill.mjs +2 -2
  184. package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
  185. package/fesm2022/primeng-icons-thlarge.mjs +2 -2
  186. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
  187. package/fesm2022/primeng-icons-times.mjs +2 -2
  188. package/fesm2022/primeng-icons-times.mjs.map +1 -1
  189. package/fesm2022/primeng-icons-timescircle.mjs +2 -2
  190. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
  191. package/fesm2022/primeng-icons-trash.mjs +2 -2
  192. package/fesm2022/primeng-icons-trash.mjs.map +1 -1
  193. package/fesm2022/primeng-icons-undo.mjs +2 -2
  194. package/fesm2022/primeng-icons-undo.mjs.map +1 -1
  195. package/fesm2022/primeng-icons-upload.mjs +2 -2
  196. package/fesm2022/primeng-icons-upload.mjs.map +1 -1
  197. package/fesm2022/primeng-icons-windowmaximize.mjs +2 -2
  198. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
  199. package/fesm2022/primeng-icons-windowminimize.mjs +2 -2
  200. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
  201. package/fesm2022/primeng-iftalabel.mjs +2 -2
  202. package/fesm2022/primeng-iftalabel.mjs.map +1 -1
  203. package/fesm2022/primeng-image.mjs +3 -3
  204. package/fesm2022/primeng-image.mjs.map +1 -1
  205. package/fesm2022/primeng-imagecompare.mjs +2 -2
  206. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  207. package/fesm2022/primeng-inplace.mjs +6 -6
  208. package/fesm2022/primeng-inplace.mjs.map +1 -1
  209. package/fesm2022/primeng-inputgroup.mjs +2 -2
  210. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  211. package/fesm2022/primeng-inputgroupaddon.mjs +2 -2
  212. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  213. package/fesm2022/primeng-inputicon.mjs +2 -2
  214. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  215. package/fesm2022/primeng-inputmask.mjs +4 -4
  216. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  217. package/fesm2022/primeng-inputnumber.mjs +5 -6
  218. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  219. package/fesm2022/primeng-inputotp.mjs +4 -4
  220. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  221. package/fesm2022/primeng-inputswitch.mjs +2 -2
  222. package/fesm2022/primeng-inputswitch.mjs.map +1 -1
  223. package/fesm2022/primeng-inputtext.mjs +10 -9
  224. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  225. package/fesm2022/primeng-inputtextarea.mjs +1 -1
  226. package/fesm2022/primeng-inputtextarea.mjs.map +1 -1
  227. package/fesm2022/primeng-keyfilter.mjs +1 -1
  228. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  229. package/fesm2022/primeng-knob.mjs +2 -2
  230. package/fesm2022/primeng-knob.mjs.map +1 -1
  231. package/fesm2022/primeng-listbox.mjs +2 -2
  232. package/fesm2022/primeng-listbox.mjs.map +1 -1
  233. package/fesm2022/primeng-megamenu.mjs +5 -5
  234. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  235. package/fesm2022/primeng-menu.mjs +7 -7
  236. package/fesm2022/primeng-menu.mjs.map +1 -1
  237. package/fesm2022/primeng-menubar.mjs +6 -6
  238. package/fesm2022/primeng-menubar.mjs.map +1 -1
  239. package/fesm2022/primeng-message.mjs +2 -2
  240. package/fesm2022/primeng-message.mjs.map +1 -1
  241. package/fesm2022/primeng-messages.mjs +2 -2
  242. package/fesm2022/primeng-messages.mjs.map +1 -1
  243. package/fesm2022/primeng-metergroup.mjs +4 -4
  244. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  245. package/fesm2022/primeng-multiselect.mjs +6 -9
  246. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  247. package/fesm2022/primeng-orderlist.mjs +4 -4
  248. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  249. package/fesm2022/primeng-organizationchart.mjs +5 -5
  250. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  251. package/fesm2022/primeng-overlay.mjs +3 -3
  252. package/fesm2022/primeng-overlay.mjs.map +1 -1
  253. package/fesm2022/primeng-overlaybadge.mjs +2 -2
  254. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  255. package/fesm2022/primeng-overlaypanel.mjs +7 -4
  256. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  257. package/fesm2022/primeng-paginator.mjs +2 -2
  258. package/fesm2022/primeng-paginator.mjs.map +1 -1
  259. package/fesm2022/primeng-panel.mjs +3 -4
  260. package/fesm2022/primeng-panel.mjs.map +1 -1
  261. package/fesm2022/primeng-panelmenu.mjs +9 -9
  262. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  263. package/fesm2022/primeng-password.mjs +30 -7
  264. package/fesm2022/primeng-password.mjs.map +1 -1
  265. package/fesm2022/primeng-picklist.mjs +135 -139
  266. package/fesm2022/primeng-picklist.mjs.map +1 -1
  267. package/fesm2022/primeng-popover.mjs +9 -8
  268. package/fesm2022/primeng-popover.mjs.map +1 -1
  269. package/fesm2022/primeng-progressbar.mjs +2 -2
  270. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  271. package/fesm2022/primeng-progressspinner.mjs +2 -2
  272. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  273. package/fesm2022/primeng-radiobutton.mjs +2 -2
  274. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  275. package/fesm2022/primeng-rating.mjs +4 -4
  276. package/fesm2022/primeng-rating.mjs.map +1 -1
  277. package/fesm2022/primeng-ripple.mjs +5 -2
  278. package/fesm2022/primeng-ripple.mjs.map +1 -1
  279. package/fesm2022/primeng-scroller.mjs +2 -2
  280. package/fesm2022/primeng-scroller.mjs.map +1 -1
  281. package/fesm2022/primeng-scrollpanel.mjs +2 -2
  282. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  283. package/fesm2022/primeng-scrolltop.mjs +2 -2
  284. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  285. package/fesm2022/primeng-select.mjs +9 -11
  286. package/fesm2022/primeng-select.mjs.map +1 -1
  287. package/fesm2022/primeng-selectbutton.mjs +3 -4
  288. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  289. package/fesm2022/primeng-sidebar.mjs +4 -5
  290. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  291. package/fesm2022/primeng-skeleton.mjs +2 -2
  292. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  293. package/fesm2022/primeng-slider.mjs +2 -2
  294. package/fesm2022/primeng-slider.mjs.map +1 -1
  295. package/fesm2022/primeng-speeddial.mjs +2 -2
  296. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  297. package/fesm2022/primeng-splitbutton.mjs +2 -2
  298. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  299. package/fesm2022/primeng-splitter.mjs +30 -19
  300. package/fesm2022/primeng-splitter.mjs.map +1 -1
  301. package/fesm2022/primeng-stepper.mjs +16 -16
  302. package/fesm2022/primeng-stepper.mjs.map +1 -1
  303. package/fesm2022/primeng-steps.mjs +2 -2
  304. package/fesm2022/primeng-steps.mjs.map +1 -1
  305. package/fesm2022/primeng-styleclass.mjs +1 -1
  306. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  307. package/fesm2022/primeng-table.mjs +6392 -6520
  308. package/fesm2022/primeng-table.mjs.map +1 -1
  309. package/fesm2022/primeng-tabmenu.mjs +2 -2
  310. package/fesm2022/primeng-tabmenu.mjs.map +1 -1
  311. package/fesm2022/primeng-tabs.mjs +11 -11
  312. package/fesm2022/primeng-tabs.mjs.map +1 -1
  313. package/fesm2022/primeng-tabview.mjs +5 -5
  314. package/fesm2022/primeng-tabview.mjs.map +1 -1
  315. package/fesm2022/primeng-tag.mjs +2 -2
  316. package/fesm2022/primeng-tag.mjs.map +1 -1
  317. package/fesm2022/primeng-terminal.mjs +2 -2
  318. package/fesm2022/primeng-terminal.mjs.map +1 -1
  319. package/fesm2022/primeng-textarea.mjs +8 -8
  320. package/fesm2022/primeng-textarea.mjs.map +1 -1
  321. package/fesm2022/primeng-tieredmenu.mjs +6 -6
  322. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  323. package/fesm2022/primeng-timeline.mjs +2 -2
  324. package/fesm2022/primeng-timeline.mjs.map +1 -1
  325. package/fesm2022/primeng-toast.mjs +6 -7
  326. package/fesm2022/primeng-toast.mjs.map +1 -1
  327. package/fesm2022/primeng-togglebutton.mjs +3 -4
  328. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  329. package/fesm2022/primeng-toggleswitch.mjs +2 -2
  330. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  331. package/fesm2022/primeng-toolbar.mjs +2 -2
  332. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  333. package/fesm2022/primeng-tooltip.mjs +5 -3
  334. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  335. package/fesm2022/primeng-tree.mjs +112 -63
  336. package/fesm2022/primeng-tree.mjs.map +1 -1
  337. package/fesm2022/primeng-treeselect.mjs +5 -10
  338. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  339. package/fesm2022/primeng-treetable.mjs +31 -29
  340. package/fesm2022/primeng-treetable.mjs.map +1 -1
  341. package/inputtext/inputtext.d.ts +2 -2
  342. package/package.json +176 -524
  343. package/password/password.d.ts +5 -1
  344. package/popover/popover.d.ts +1 -1
  345. package/speeddial/speeddial.d.ts +2 -2
  346. package/splitter/splitter.d.ts +2 -3
  347. package/splitter/style/splitterstyle.d.ts +0 -13
  348. package/table/table.d.ts +928 -1030
  349. package/textarea/textarea.d.ts +2 -2
  350. package/tree/style/treestyle.d.ts +1 -1
  351. package/tree/tree.d.ts +4 -2
  352. package/treetable/treetable.d.ts +1 -1
  353. package/esm2022/accordion/accordion.mjs +0 -1266
  354. package/esm2022/accordion/primeng-accordion.mjs +0 -5
  355. package/esm2022/accordion/public_api.mjs +0 -3
  356. package/esm2022/accordion/style/accordionstyle.mjs +0 -163
  357. package/esm2022/animateonscroll/animateonscroll.mjs +0 -174
  358. package/esm2022/animateonscroll/primeng-animateonscroll.mjs +0 -5
  359. package/esm2022/animateonscroll/public_api.mjs +0 -2
  360. package/esm2022/api/blockableui.mjs +0 -2
  361. package/esm2022/api/confirmaeventtype.mjs +0 -10
  362. package/esm2022/api/confirmation.mjs +0 -2
  363. package/esm2022/api/confirmationservice.mjs +0 -43
  364. package/esm2022/api/contextmenuservice.mjs +0 -22
  365. package/esm2022/api/filtermatchmode.mjs +0 -23
  366. package/esm2022/api/filtermetadata.mjs +0 -2
  367. package/esm2022/api/filteroperator.mjs +0 -5
  368. package/esm2022/api/filterservice.mjs +0 -224
  369. package/esm2022/api/lazyloadevent.mjs +0 -2
  370. package/esm2022/api/lazyloadmeta.mjs +0 -2
  371. package/esm2022/api/megamenuitem.mjs +0 -2
  372. package/esm2022/api/menuitem.mjs +0 -2
  373. package/esm2022/api/messageservice.mjs +0 -47
  374. package/esm2022/api/overlayoptions.mjs +0 -2
  375. package/esm2022/api/overlayservice.mjs +0 -19
  376. package/esm2022/api/primeicons.mjs +0 -314
  377. package/esm2022/api/primeng-api.mjs +0 -5
  378. package/esm2022/api/public_api.mjs +0 -33
  379. package/esm2022/api/scrolleroptions.mjs +0 -2
  380. package/esm2022/api/selectitem.mjs +0 -2
  381. package/esm2022/api/selectitemgroup.mjs +0 -2
  382. package/esm2022/api/shared.mjs +0 -76
  383. package/esm2022/api/sortevent.mjs +0 -2
  384. package/esm2022/api/sortmeta.mjs +0 -2
  385. package/esm2022/api/tablestate.mjs +0 -2
  386. package/esm2022/api/toastmessage.mjs +0 -2
  387. package/esm2022/api/tooltipoptions.mjs +0 -2
  388. package/esm2022/api/translation.mjs +0 -2
  389. package/esm2022/api/translationkeys.mjs +0 -51
  390. package/esm2022/api/treedragdropservice.mjs +0 -21
  391. package/esm2022/api/treenode.mjs +0 -2
  392. package/esm2022/api/treenodedragevent.mjs +0 -2
  393. package/esm2022/api/treetablenode.mjs +0 -2
  394. package/esm2022/autocomplete/autocomplete.interface.mjs +0 -2
  395. package/esm2022/autocomplete/autocomplete.mjs +0 -2225
  396. package/esm2022/autocomplete/primeng-autocomplete.mjs +0 -5
  397. package/esm2022/autocomplete/public_api.mjs +0 -4
  398. package/esm2022/autocomplete/style/autocompletestyle.mjs +0 -408
  399. package/esm2022/autofocus/autofocus.mjs +0 -86
  400. package/esm2022/autofocus/primeng-autofocus.mjs +0 -5
  401. package/esm2022/autofocus/public_api.mjs +0 -2
  402. package/esm2022/avatar/avatar.mjs +0 -193
  403. package/esm2022/avatar/primeng-avatar.mjs +0 -5
  404. package/esm2022/avatar/public_api.mjs +0 -3
  405. package/esm2022/avatar/style/avatarstyle.mjs +0 -130
  406. package/esm2022/avatargroup/avatargroup.mjs +0 -80
  407. package/esm2022/avatargroup/primeng-avatargroup.mjs +0 -5
  408. package/esm2022/avatargroup/public_api.mjs +0 -3
  409. package/esm2022/avatargroup/style/avatargroupstyle.mjs +0 -29
  410. package/esm2022/badge/badge.mjs +0 -332
  411. package/esm2022/badge/primeng-badge.mjs +0 -5
  412. package/esm2022/badge/public_api.mjs +0 -3
  413. package/esm2022/badge/style/badgestyle.mjs +0 -143
  414. package/esm2022/base/base.mjs +0 -19
  415. package/esm2022/base/primeng-base.mjs +0 -5
  416. package/esm2022/base/public_api.mjs +0 -3
  417. package/esm2022/base/style/basestyle.mjs +0 -256
  418. package/esm2022/basecomponent/basecomponent.mjs +0 -183
  419. package/esm2022/basecomponent/primeng-basecomponent.mjs +0 -5
  420. package/esm2022/basecomponent/public_api.mjs +0 -3
  421. package/esm2022/basecomponent/style/basecomponentstyle.mjs +0 -13
  422. package/esm2022/blockui/blockui.interface.mjs +0 -2
  423. package/esm2022/blockui/blockui.mjs +0 -210
  424. package/esm2022/blockui/primeng-blockui.mjs +0 -5
  425. package/esm2022/blockui/public_api.mjs +0 -4
  426. package/esm2022/blockui/style/blockuistyle.mjs +0 -50
  427. package/esm2022/breadcrumb/breadcrumb.interface.mjs +0 -2
  428. package/esm2022/breadcrumb/breadcrumb.mjs +0 -583
  429. package/esm2022/breadcrumb/primeng-breadcrumb.mjs +0 -5
  430. package/esm2022/breadcrumb/public_api.mjs +0 -4
  431. package/esm2022/breadcrumb/style/breadcrumbstyle.mjs +0 -133
  432. package/esm2022/button/button.interface.mjs +0 -2
  433. package/esm2022/button/button.mjs +0 -896
  434. package/esm2022/button/primeng-button.mjs +0 -5
  435. package/esm2022/button/public_api.mjs +0 -4
  436. package/esm2022/button/style/buttonstyle.mjs +0 -707
  437. package/esm2022/buttongroup/buttongroup.mjs +0 -47
  438. package/esm2022/buttongroup/primeng-buttongroup.mjs +0 -5
  439. package/esm2022/buttongroup/public_api.mjs +0 -3
  440. package/esm2022/buttongroup/style/buttongroupstyle.mjs +0 -120
  441. package/esm2022/calendar/calendar.interface.mjs +0 -2
  442. package/esm2022/calendar/calendar.mjs +0 -4504
  443. package/esm2022/calendar/primeng-calendar.mjs +0 -5
  444. package/esm2022/calendar/public_api.mjs +0 -4
  445. package/esm2022/calendar/style/calendarstyle.mjs +0 -472
  446. package/esm2022/card/card.interface.mjs +0 -2
  447. package/esm2022/card/card.mjs +0 -243
  448. package/esm2022/card/primeng-card.mjs +0 -5
  449. package/esm2022/card/public_api.mjs +0 -4
  450. package/esm2022/card/style/cardstyle.mjs +0 -100
  451. package/esm2022/carousel/carousel.interface.mjs +0 -2
  452. package/esm2022/carousel/carousel.mjs +0 -1181
  453. package/esm2022/carousel/primeng-carousel.mjs +0 -5
  454. package/esm2022/carousel/public_api.mjs +0 -4
  455. package/esm2022/carousel/style/carouselstyle.mjs +0 -234
  456. package/esm2022/cascadeselect/cascadeselect.interface.mjs +0 -2
  457. package/esm2022/cascadeselect/cascadeselect.mjs +0 -1840
  458. package/esm2022/cascadeselect/primeng-cascadeselect.mjs +0 -5
  459. package/esm2022/cascadeselect/public_api.mjs +0 -4
  460. package/esm2022/cascadeselect/style/cascadeselectstyle.mjs +0 -379
  461. package/esm2022/chart/chart.mjs +0 -210
  462. package/esm2022/chart/primeng-chart.mjs +0 -5
  463. package/esm2022/chart/public_api.mjs +0 -3
  464. package/esm2022/chart/style/chartstyle.mjs +0 -36
  465. package/esm2022/checkbox/checkbox.interface.mjs +0 -2
  466. package/esm2022/checkbox/checkbox.mjs +0 -450
  467. package/esm2022/checkbox/primeng-checkbox.mjs +0 -5
  468. package/esm2022/checkbox/public_api.mjs +0 -4
  469. package/esm2022/checkbox/style/checkboxstyle.mjs +0 -191
  470. package/esm2022/chip/chip.interface.mjs +0 -2
  471. package/esm2022/chip/chip.mjs +0 -337
  472. package/esm2022/chip/primeng-chip.mjs +0 -5
  473. package/esm2022/chip/public_api.mjs +0 -4
  474. package/esm2022/chip/style/chipstyle.mjs +0 -104
  475. package/esm2022/colorpicker/colorpicker.interface.mjs +0 -2
  476. package/esm2022/colorpicker/colorpicker.mjs +0 -856
  477. package/esm2022/colorpicker/primeng-colorpicker.mjs +0 -5
  478. package/esm2022/colorpicker/public_api.mjs +0 -4
  479. package/esm2022/colorpicker/style/colorpickerstyle.mjs +0 -213
  480. package/esm2022/config/primeng-config.mjs +0 -5
  481. package/esm2022/config/primeng.mjs +0 -189
  482. package/esm2022/config/provideprimeng.mjs +0 -11
  483. package/esm2022/config/public_api.mjs +0 -4
  484. package/esm2022/config/themeprovider.mjs +0 -74
  485. package/esm2022/confirmdialog/confirmdialog.interface.mjs +0 -2
  486. package/esm2022/confirmdialog/confirmdialog.mjs +0 -810
  487. package/esm2022/confirmdialog/primeng-confirmdialog.mjs +0 -5
  488. package/esm2022/confirmdialog/public_api.mjs +0 -4
  489. package/esm2022/confirmdialog/style/confirmdialogstyle.mjs +0 -67
  490. package/esm2022/confirmpopup/confirmpopup.interface.mjs +0 -2
  491. package/esm2022/confirmpopup/confirmpopup.mjs +0 -619
  492. package/esm2022/confirmpopup/primeng-confirmpopup.mjs +0 -5
  493. package/esm2022/confirmpopup/public_api.mjs +0 -4
  494. package/esm2022/confirmpopup/style/confirmpopupstyle.mjs +0 -170
  495. package/esm2022/contextmenu/contextmenu.mjs +0 -1436
  496. package/esm2022/contextmenu/primeng-contextmenu.mjs +0 -5
  497. package/esm2022/contextmenu/public_api.mjs +0 -3
  498. package/esm2022/contextmenu/style/contextmenustyle.mjs +0 -244
  499. package/esm2022/dataview/dataview.interface.mjs +0 -2
  500. package/esm2022/dataview/dataview.mjs +0 -819
  501. package/esm2022/dataview/primeng-dataview.mjs +0 -5
  502. package/esm2022/dataview/public_api.mjs +0 -4
  503. package/esm2022/dataview/style/dataviewstyle.mjs +0 -115
  504. package/esm2022/datepicker/datepicker.interface.mjs +0 -2
  505. package/esm2022/datepicker/datepicker.mjs +0 -4539
  506. package/esm2022/datepicker/primeng-datepicker.mjs +0 -5
  507. package/esm2022/datepicker/public_api.mjs +0 -4
  508. package/esm2022/datepicker/style/datepickerstyle.mjs +0 -663
  509. package/esm2022/defer/defer.mjs +0 -100
  510. package/esm2022/defer/primeng-defer.mjs +0 -5
  511. package/esm2022/defer/public_api.mjs +0 -2
  512. package/esm2022/dialog/dialog.interface.mjs +0 -2
  513. package/esm2022/dialog/dialog.mjs +0 -1384
  514. package/esm2022/dialog/primeng-dialog.mjs +0 -5
  515. package/esm2022/dialog/public_api.mjs +0 -4
  516. package/esm2022/dialog/style/dialogstyle.mjs +0 -283
  517. package/esm2022/divider/divider.mjs +0 -119
  518. package/esm2022/divider/primeng-divider.mjs +0 -5
  519. package/esm2022/divider/public_api.mjs +0 -3
  520. package/esm2022/divider/style/dividerstyle.mjs +0 -138
  521. package/esm2022/dock/dock.interface.mjs +0 -2
  522. package/esm2022/dock/dock.mjs +0 -447
  523. package/esm2022/dock/primeng-dock.mjs +0 -5
  524. package/esm2022/dock/public_api.mjs +0 -4
  525. package/esm2022/dock/style/dockstyle.mjs +0 -210
  526. package/esm2022/dom/connectedoverlayscrollhandler.mjs +0 -30
  527. package/esm2022/dom/domhandler.mjs +0 -725
  528. package/esm2022/dom/primeng-dom.mjs +0 -5
  529. package/esm2022/dom/public_api.mjs +0 -3
  530. package/esm2022/dragdrop/dragdrop.mjs +0 -323
  531. package/esm2022/dragdrop/primeng-dragdrop.mjs +0 -5
  532. package/esm2022/dragdrop/public_api.mjs +0 -2
  533. package/esm2022/drawer/drawer.interface.mjs +0 -2
  534. package/esm2022/drawer/drawer.mjs +0 -663
  535. package/esm2022/drawer/primeng-drawer.mjs +0 -5
  536. package/esm2022/drawer/public_api.mjs +0 -4
  537. package/esm2022/drawer/style/drawerstyle.mjs +0 -283
  538. package/esm2022/dropdown/dropdown.interface.mjs +0 -2
  539. package/esm2022/dropdown/dropdown.mjs +0 -2498
  540. package/esm2022/dropdown/primeng-dropdown.mjs +0 -5
  541. package/esm2022/dropdown/public_api.mjs +0 -4
  542. package/esm2022/dropdown/style/dropdownstyle.mjs +0 -264
  543. package/esm2022/dynamicdialog/dialogservice.mjs +0 -105
  544. package/esm2022/dynamicdialog/dynamicdialog-config.mjs +0 -182
  545. package/esm2022/dynamicdialog/dynamicdialog-injector.mjs +0 -15
  546. package/esm2022/dynamicdialog/dynamicdialog-ref.mjs +0 -119
  547. package/esm2022/dynamicdialog/dynamicdialog.mjs +0 -875
  548. package/esm2022/dynamicdialog/dynamicdialogcontent.mjs +0 -18
  549. package/esm2022/dynamicdialog/primeng-dynamicdialog.mjs +0 -5
  550. package/esm2022/dynamicdialog/public_api.mjs +0 -8
  551. package/esm2022/dynamicdialog/style/dynamicdialogstyle.mjs +0 -60
  552. package/esm2022/editor/editor.interface.mjs +0 -2
  553. package/esm2022/editor/editor.mjs +0 -427
  554. package/esm2022/editor/primeng-editor.mjs +0 -5
  555. package/esm2022/editor/public_api.mjs +0 -4
  556. package/esm2022/editor/style/editorstyle.mjs +0 -1008
  557. package/esm2022/fieldset/fieldset.interface.mjs +0 -2
  558. package/esm2022/fieldset/fieldset.mjs +0 -427
  559. package/esm2022/fieldset/primeng-fieldset.mjs +0 -5
  560. package/esm2022/fieldset/public_api.mjs +0 -4
  561. package/esm2022/fieldset/style/fieldsetstyle.mjs +0 -143
  562. package/esm2022/fileupload/fileupload.interface.mjs +0 -2
  563. package/esm2022/fileupload/fileupload.mjs +0 -1597
  564. package/esm2022/fileupload/primeng-fileupload.mjs +0 -5
  565. package/esm2022/fileupload/public_api.mjs +0 -4
  566. package/esm2022/fileupload/style/fileuploadstyle.mjs +0 -194
  567. package/esm2022/floatlabel/floatlabel.mjs +0 -61
  568. package/esm2022/floatlabel/primeng-floatlabel.mjs +0 -5
  569. package/esm2022/floatlabel/public_api.mjs +0 -3
  570. package/esm2022/floatlabel/style/floatlabelstyle.mjs +0 -133
  571. package/esm2022/fluid/fluid.mjs +0 -50
  572. package/esm2022/fluid/primeng-fluid.mjs +0 -5
  573. package/esm2022/fluid/public_api.mjs +0 -3
  574. package/esm2022/fluid/style/fluidstyle.mjs +0 -38
  575. package/esm2022/focustrap/focustrap.mjs +0 -104
  576. package/esm2022/focustrap/primeng-focustrap.mjs +0 -5
  577. package/esm2022/focustrap/public_api.mjs +0 -2
  578. package/esm2022/galleria/galleria.interface.mjs +0 -2
  579. package/esm2022/galleria/galleria.mjs +0 -1858
  580. package/esm2022/galleria/primeng-galleria.mjs +0 -5
  581. package/esm2022/galleria/public_api.mjs +0 -4
  582. package/esm2022/galleria/style/galleriastyle.mjs +0 -644
  583. package/esm2022/iconfield/iconfield.mjs +0 -73
  584. package/esm2022/iconfield/primeng-iconfield.mjs +0 -5
  585. package/esm2022/iconfield/public_api.mjs +0 -3
  586. package/esm2022/iconfield/style/iconfieldstyle.mjs +0 -77
  587. package/esm2022/icons/angledoubledown/angledoubledown.mjs +0 -34
  588. package/esm2022/icons/angledoubledown/primeng-icons-angledoubledown.mjs +0 -5
  589. package/esm2022/icons/angledoubledown/public_api.mjs +0 -2
  590. package/esm2022/icons/angledoubleleft/angledoubleleft.mjs +0 -34
  591. package/esm2022/icons/angledoubleleft/primeng-icons-angledoubleleft.mjs +0 -5
  592. package/esm2022/icons/angledoubleleft/public_api.mjs +0 -2
  593. package/esm2022/icons/angledoubleright/angledoubleright.mjs +0 -34
  594. package/esm2022/icons/angledoubleright/primeng-icons-angledoubleright.mjs +0 -5
  595. package/esm2022/icons/angledoubleright/public_api.mjs +0 -2
  596. package/esm2022/icons/angledoubleup/angledoubleup.mjs +0 -34
  597. package/esm2022/icons/angledoubleup/primeng-icons-angledoubleup.mjs +0 -5
  598. package/esm2022/icons/angledoubleup/public_api.mjs +0 -2
  599. package/esm2022/icons/angledown/angledown.mjs +0 -32
  600. package/esm2022/icons/angledown/primeng-icons-angledown.mjs +0 -5
  601. package/esm2022/icons/angledown/public_api.mjs +0 -2
  602. package/esm2022/icons/angleleft/angleleft.mjs +0 -32
  603. package/esm2022/icons/angleleft/primeng-icons-angleleft.mjs +0 -5
  604. package/esm2022/icons/angleleft/public_api.mjs +0 -2
  605. package/esm2022/icons/angleright/angleright.mjs +0 -32
  606. package/esm2022/icons/angleright/primeng-icons-angleright.mjs +0 -5
  607. package/esm2022/icons/angleright/public_api.mjs +0 -2
  608. package/esm2022/icons/angleup/angleup.mjs +0 -32
  609. package/esm2022/icons/angleup/primeng-icons-angleup.mjs +0 -5
  610. package/esm2022/icons/angleup/public_api.mjs +0 -2
  611. package/esm2022/icons/arrowdown/arrowdown.mjs +0 -53
  612. package/esm2022/icons/arrowdown/primeng-icons-arrowdown.mjs +0 -5
  613. package/esm2022/icons/arrowdown/public_api.mjs +0 -2
  614. package/esm2022/icons/arrowdownleft/arrowdownleft.mjs +0 -32
  615. package/esm2022/icons/arrowdownleft/primeng-icons-arrowdownleft.mjs +0 -5
  616. package/esm2022/icons/arrowdownleft/public_api.mjs +0 -2
  617. package/esm2022/icons/arrowdownright/arrowdownright.mjs +0 -32
  618. package/esm2022/icons/arrowdownright/primeng-icons-arrowdownright.mjs +0 -5
  619. package/esm2022/icons/arrowdownright/public_api.mjs +0 -2
  620. package/esm2022/icons/arrowleft/arrowleft.mjs +0 -53
  621. package/esm2022/icons/arrowleft/primeng-icons-arrowleft.mjs +0 -5
  622. package/esm2022/icons/arrowleft/public_api.mjs +0 -2
  623. package/esm2022/icons/arrowright/arrowright.mjs +0 -34
  624. package/esm2022/icons/arrowright/primeng-icons-arrowright.mjs +0 -5
  625. package/esm2022/icons/arrowright/public_api.mjs +0 -2
  626. package/esm2022/icons/arrowup/arrowup.mjs +0 -53
  627. package/esm2022/icons/arrowup/primeng-icons-arrowup.mjs +0 -5
  628. package/esm2022/icons/arrowup/public_api.mjs +0 -2
  629. package/esm2022/icons/ban/ban.mjs +0 -51
  630. package/esm2022/icons/ban/primeng-icons-ban.mjs +0 -5
  631. package/esm2022/icons/ban/public_api.mjs +0 -2
  632. package/esm2022/icons/bars/bars.mjs +0 -34
  633. package/esm2022/icons/bars/primeng-icons-bars.mjs +0 -5
  634. package/esm2022/icons/bars/public_api.mjs +0 -2
  635. package/esm2022/icons/baseicon/baseicon.mjs +0 -54
  636. package/esm2022/icons/baseicon/primeng-icons-baseicon.mjs +0 -5
  637. package/esm2022/icons/baseicon/public_api.mjs +0 -3
  638. package/esm2022/icons/baseicon/style/baseiconstyle.mjs +0 -57
  639. package/esm2022/icons/blank/blank.mjs +0 -26
  640. package/esm2022/icons/blank/primeng-icons-blank.mjs +0 -5
  641. package/esm2022/icons/blank/public_api.mjs +0 -2
  642. package/esm2022/icons/calendar/calendar.mjs +0 -32
  643. package/esm2022/icons/calendar/primeng-icons-calendar.mjs +0 -5
  644. package/esm2022/icons/calendar/public_api.mjs +0 -2
  645. package/esm2022/icons/caretleft/caretleft.mjs +0 -32
  646. package/esm2022/icons/caretleft/primeng-icons-caretleft.mjs +0 -5
  647. package/esm2022/icons/caretleft/public_api.mjs +0 -2
  648. package/esm2022/icons/caretright/caretright.mjs +0 -32
  649. package/esm2022/icons/caretright/primeng-icons-caretright.mjs +0 -5
  650. package/esm2022/icons/caretright/public_api.mjs +0 -2
  651. package/esm2022/icons/check/check.mjs +0 -32
  652. package/esm2022/icons/check/primeng-icons-check.mjs +0 -5
  653. package/esm2022/icons/check/public_api.mjs +0 -2
  654. package/esm2022/icons/chevrondown/chevrondown.mjs +0 -32
  655. package/esm2022/icons/chevrondown/primeng-icons-chevrondown.mjs +0 -5
  656. package/esm2022/icons/chevrondown/public_api.mjs +0 -2
  657. package/esm2022/icons/chevronleft/chevronleft.mjs +0 -32
  658. package/esm2022/icons/chevronleft/primeng-icons-chevronleft.mjs +0 -5
  659. package/esm2022/icons/chevronleft/public_api.mjs +0 -2
  660. package/esm2022/icons/chevronright/chevronright.mjs +0 -32
  661. package/esm2022/icons/chevronright/primeng-icons-chevronright.mjs +0 -5
  662. package/esm2022/icons/chevronright/public_api.mjs +0 -2
  663. package/esm2022/icons/chevronup/chevronup.mjs +0 -32
  664. package/esm2022/icons/chevronup/primeng-icons-chevronup.mjs +0 -5
  665. package/esm2022/icons/chevronup/public_api.mjs +0 -2
  666. package/esm2022/icons/exclamationtriangle/exclamationtriangle.mjs +0 -59
  667. package/esm2022/icons/exclamationtriangle/primeng-icons-exclamationtriangle.mjs +0 -5
  668. package/esm2022/icons/exclamationtriangle/public_api.mjs +0 -2
  669. package/esm2022/icons/eye/eye.mjs +0 -34
  670. package/esm2022/icons/eye/primeng-icons-eye.mjs +0 -5
  671. package/esm2022/icons/eye/public_api.mjs +0 -2
  672. package/esm2022/icons/eyeslash/eyeslash.mjs +0 -53
  673. package/esm2022/icons/eyeslash/primeng-icons-eyeslash.mjs +0 -5
  674. package/esm2022/icons/eyeslash/public_api.mjs +0 -2
  675. package/esm2022/icons/filter/filter.mjs +0 -51
  676. package/esm2022/icons/filter/primeng-icons-filter.mjs +0 -5
  677. package/esm2022/icons/filter/public_api.mjs +0 -2
  678. package/esm2022/icons/filterslash/filterslash.mjs +0 -53
  679. package/esm2022/icons/filterslash/primeng-icons-filterslash.mjs +0 -5
  680. package/esm2022/icons/filterslash/public_api.mjs +0 -2
  681. package/esm2022/icons/home/home.mjs +0 -53
  682. package/esm2022/icons/home/primeng-icons-home.mjs +0 -5
  683. package/esm2022/icons/home/public_api.mjs +0 -2
  684. package/esm2022/icons/infocircle/infocircle.mjs +0 -53
  685. package/esm2022/icons/infocircle/primeng-icons-infocircle.mjs +0 -5
  686. package/esm2022/icons/infocircle/public_api.mjs +0 -2
  687. package/esm2022/icons/minus/minus.mjs +0 -32
  688. package/esm2022/icons/minus/primeng-icons-minus.mjs +0 -5
  689. package/esm2022/icons/minus/public_api.mjs +0 -2
  690. package/esm2022/icons/pencil/pencil.mjs +0 -51
  691. package/esm2022/icons/pencil/primeng-icons-pencil.mjs +0 -5
  692. package/esm2022/icons/pencil/public_api.mjs +0 -2
  693. package/esm2022/icons/plus/plus.mjs +0 -51
  694. package/esm2022/icons/plus/primeng-icons-plus.mjs +0 -5
  695. package/esm2022/icons/plus/public_api.mjs +0 -2
  696. package/esm2022/icons/primeng-icons.mjs +0 -5
  697. package/esm2022/icons/public_api.mjs +0 -58
  698. package/esm2022/icons/refresh/primeng-icons-refresh.mjs +0 -5
  699. package/esm2022/icons/refresh/public_api.mjs +0 -2
  700. package/esm2022/icons/refresh/refresh.mjs +0 -53
  701. package/esm2022/icons/search/primeng-icons-search.mjs +0 -5
  702. package/esm2022/icons/search/public_api.mjs +0 -2
  703. package/esm2022/icons/search/search.mjs +0 -53
  704. package/esm2022/icons/searchminus/primeng-icons-searchminus.mjs +0 -5
  705. package/esm2022/icons/searchminus/public_api.mjs +0 -2
  706. package/esm2022/icons/searchminus/searchminus.mjs +0 -53
  707. package/esm2022/icons/searchplus/primeng-icons-searchplus.mjs +0 -5
  708. package/esm2022/icons/searchplus/public_api.mjs +0 -2
  709. package/esm2022/icons/searchplus/searchplus.mjs +0 -53
  710. package/esm2022/icons/sortalt/primeng-icons-sortalt.mjs +0 -5
  711. package/esm2022/icons/sortalt/public_api.mjs +0 -2
  712. package/esm2022/icons/sortalt/sortalt.mjs +0 -57
  713. package/esm2022/icons/sortamountdown/primeng-icons-sortamountdown.mjs +0 -5
  714. package/esm2022/icons/sortamountdown/public_api.mjs +0 -2
  715. package/esm2022/icons/sortamountdown/sortamountdown.mjs +0 -51
  716. package/esm2022/icons/sortamountupalt/primeng-icons-sortamountupalt.mjs +0 -5
  717. package/esm2022/icons/sortamountupalt/public_api.mjs +0 -2
  718. package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +0 -51
  719. package/esm2022/icons/spinner/primeng-icons-spinner.mjs +0 -5
  720. package/esm2022/icons/spinner/public_api.mjs +0 -2
  721. package/esm2022/icons/spinner/spinner.mjs +0 -51
  722. package/esm2022/icons/star/primeng-icons-star.mjs +0 -5
  723. package/esm2022/icons/star/public_api.mjs +0 -2
  724. package/esm2022/icons/star/star.mjs +0 -51
  725. package/esm2022/icons/starfill/primeng-icons-starfill.mjs +0 -5
  726. package/esm2022/icons/starfill/public_api.mjs +0 -2
  727. package/esm2022/icons/starfill/starfill.mjs +0 -51
  728. package/esm2022/icons/thlarge/primeng-icons-thlarge.mjs +0 -5
  729. package/esm2022/icons/thlarge/public_api.mjs +0 -2
  730. package/esm2022/icons/thlarge/thlarge.mjs +0 -53
  731. package/esm2022/icons/times/primeng-icons-times.mjs +0 -5
  732. package/esm2022/icons/times/public_api.mjs +0 -2
  733. package/esm2022/icons/times/times.mjs +0 -32
  734. package/esm2022/icons/timescircle/primeng-icons-timescircle.mjs +0 -5
  735. package/esm2022/icons/timescircle/public_api.mjs +0 -2
  736. package/esm2022/icons/timescircle/timescircle.mjs +0 -53
  737. package/esm2022/icons/trash/primeng-icons-trash.mjs +0 -5
  738. package/esm2022/icons/trash/public_api.mjs +0 -2
  739. package/esm2022/icons/trash/trash.mjs +0 -53
  740. package/esm2022/icons/undo/primeng-icons-undo.mjs +0 -5
  741. package/esm2022/icons/undo/public_api.mjs +0 -2
  742. package/esm2022/icons/undo/undo.mjs +0 -53
  743. package/esm2022/icons/upload/primeng-icons-upload.mjs +0 -5
  744. package/esm2022/icons/upload/public_api.mjs +0 -2
  745. package/esm2022/icons/upload/upload.mjs +0 -53
  746. package/esm2022/icons/windowmaximize/primeng-icons-windowmaximize.mjs +0 -5
  747. package/esm2022/icons/windowmaximize/public_api.mjs +0 -2
  748. package/esm2022/icons/windowmaximize/windowmaximize.mjs +0 -53
  749. package/esm2022/icons/windowminimize/primeng-icons-windowminimize.mjs +0 -5
  750. package/esm2022/icons/windowminimize/public_api.mjs +0 -2
  751. package/esm2022/icons/windowminimize/windowminimize.mjs +0 -53
  752. package/esm2022/iftalabel/iftalabel.mjs +0 -49
  753. package/esm2022/iftalabel/primeng-iftalabel.mjs +0 -5
  754. package/esm2022/iftalabel/public_api.mjs +0 -3
  755. package/esm2022/iftalabel/style/iftalabelstyle.mjs +0 -96
  756. package/esm2022/image/image.interface.mjs +0 -2
  757. package/esm2022/image/image.mjs +0 -747
  758. package/esm2022/image/primeng-image.mjs +0 -5
  759. package/esm2022/image/public_api.mjs +0 -4
  760. package/esm2022/image/style/imagestyle.mjs +0 -219
  761. package/esm2022/imagecompare/imagecompare.mjs +0 -158
  762. package/esm2022/imagecompare/primeng-imagecompare.mjs +0 -5
  763. package/esm2022/imagecompare/public_api.mjs +0 -3
  764. package/esm2022/imagecompare/style/imagecomparestyle.mjs +0 -124
  765. package/esm2022/inplace/inplace.interface.mjs +0 -2
  766. package/esm2022/inplace/inplace.mjs +0 -344
  767. package/esm2022/inplace/primeng-inplace.mjs +0 -5
  768. package/esm2022/inplace/public_api.mjs +0 -4
  769. package/esm2022/inplace/style/inplacestyle.mjs +0 -69
  770. package/esm2022/inputgroup/inputgroup.mjs +0 -68
  771. package/esm2022/inputgroup/primeng-inputgroup.mjs +0 -5
  772. package/esm2022/inputgroup/public_api.mjs +0 -3
  773. package/esm2022/inputgroup/style/inputgroupstyle.mjs +0 -145
  774. package/esm2022/inputgroupaddon/inputgroupaddon.mjs +0 -74
  775. package/esm2022/inputgroupaddon/primeng-inputgroupaddon.mjs +0 -5
  776. package/esm2022/inputgroupaddon/public_api.mjs +0 -3
  777. package/esm2022/inputgroupaddon/style/inputgroupaddonstyle.mjs +0 -16
  778. package/esm2022/inputicon/inputicon.mjs +0 -66
  779. package/esm2022/inputicon/primeng-inputicon.mjs +0 -5
  780. package/esm2022/inputicon/public_api.mjs +0 -3
  781. package/esm2022/inputicon/style/inputiconstyle.mjs +0 -16
  782. package/esm2022/inputmask/inputmask.interface.mjs +0 -2
  783. package/esm2022/inputmask/inputmask.mjs +0 -911
  784. package/esm2022/inputmask/primeng-inputmask.mjs +0 -5
  785. package/esm2022/inputmask/public_api.mjs +0 -4
  786. package/esm2022/inputmask/style/inputmaskstyle.mjs +0 -62
  787. package/esm2022/inputnumber/inputnumber.interface.mjs +0 -2
  788. package/esm2022/inputnumber/inputnumber.mjs +0 -1745
  789. package/esm2022/inputnumber/primeng-inputnumber.mjs +0 -5
  790. package/esm2022/inputnumber/public_api.mjs +0 -4
  791. package/esm2022/inputnumber/style/inputnumberstyle.mjs +0 -240
  792. package/esm2022/inputotp/inputotp.mjs +0 -406
  793. package/esm2022/inputotp/primeng-inputotp.mjs +0 -5
  794. package/esm2022/inputotp/public_api.mjs +0 -3
  795. package/esm2022/inputotp/style/inputotpstyle.mjs +0 -60
  796. package/esm2022/inputswitch/inputswitch.interface.mjs +0 -2
  797. package/esm2022/inputswitch/inputswitch.mjs +0 -241
  798. package/esm2022/inputswitch/primeng-inputswitch.mjs +0 -5
  799. package/esm2022/inputswitch/public_api.mjs +0 -4
  800. package/esm2022/inputswitch/style/inputswitchstyle.mjs +0 -130
  801. package/esm2022/inputtext/inputtext.mjs +0 -103
  802. package/esm2022/inputtext/primeng-inputtext.mjs +0 -5
  803. package/esm2022/inputtext/public_api.mjs +0 -3
  804. package/esm2022/inputtext/style/inputtextstyle.mjs +0 -117
  805. package/esm2022/inputtextarea/inputtextarea.mjs +0 -156
  806. package/esm2022/inputtextarea/primeng-inputtextarea.mjs +0 -5
  807. package/esm2022/inputtextarea/public_api.mjs +0 -3
  808. package/esm2022/inputtextarea/style/textareastyle.mjs +0 -107
  809. package/esm2022/keyfilter/keyfilter.interface.mjs +0 -2
  810. package/esm2022/keyfilter/keyfilter.mjs +0 -263
  811. package/esm2022/keyfilter/primeng-keyfilter.mjs +0 -5
  812. package/esm2022/keyfilter/public_api.mjs +0 -3
  813. package/esm2022/knob/knob.mjs +0 -471
  814. package/esm2022/knob/primeng-knob.mjs +0 -5
  815. package/esm2022/knob/public_api.mjs +0 -3
  816. package/esm2022/knob/style/knobstyle.mjs +0 -83
  817. package/esm2022/listbox/listbox.interface.mjs +0 -2
  818. package/esm2022/listbox/listbox.mjs +0 -2044
  819. package/esm2022/listbox/primeng-listbox.mjs +0 -5
  820. package/esm2022/listbox/public_api.mjs +0 -4
  821. package/esm2022/listbox/style/listboxstyle.mjs +0 -206
  822. package/esm2022/megamenu/megamenu.interface.mjs +0 -2
  823. package/esm2022/megamenu/megamenu.mjs +0 -1607
  824. package/esm2022/megamenu/primeng-megamenu.mjs +0 -5
  825. package/esm2022/megamenu/public_api.mjs +0 -4
  826. package/esm2022/megamenu/style/megamenustyle.mjs +0 -487
  827. package/esm2022/menu/menu.mjs +0 -1193
  828. package/esm2022/menu/primeng-menu.mjs +0 -5
  829. package/esm2022/menu/public_api.mjs +0 -3
  830. package/esm2022/menu/style/menustyle.mjs +0 -179
  831. package/esm2022/menubar/menubar.interface.mjs +0 -2
  832. package/esm2022/menubar/menubar.mjs +0 -1484
  833. package/esm2022/menubar/primeng-menubar.mjs +0 -5
  834. package/esm2022/menubar/public_api.mjs +0 -4
  835. package/esm2022/menubar/style/menubarstyle.mjs +0 -375
  836. package/esm2022/message/message.mjs +0 -421
  837. package/esm2022/message/primeng-message.mjs +0 -5
  838. package/esm2022/message/public_api.mjs +0 -3
  839. package/esm2022/message/style/messagestyle.mjs +0 -357
  840. package/esm2022/messages/messages.interface.mjs +0 -2
  841. package/esm2022/messages/messages.mjs +0 -529
  842. package/esm2022/messages/primeng-messages.mjs +0 -5
  843. package/esm2022/messages/public_api.mjs +0 -4
  844. package/esm2022/messages/style/messagesstyle.mjs +0 -229
  845. package/esm2022/metergroup/metergroup.interface.mjs +0 -2
  846. package/esm2022/metergroup/metergroup.mjs +0 -423
  847. package/esm2022/metergroup/primeng-metergroup.mjs +0 -5
  848. package/esm2022/metergroup/public_api.mjs +0 -4
  849. package/esm2022/metergroup/style/metergroupstyle.mjs +0 -169
  850. package/esm2022/multiselect/multiselect.interface.mjs +0 -2
  851. package/esm2022/multiselect/multiselect.mjs +0 -2924
  852. package/esm2022/multiselect/primeng-multiselect.mjs +0 -5
  853. package/esm2022/multiselect/public_api.mjs +0 -4
  854. package/esm2022/multiselect/style/multiselectstyle.mjs +0 -376
  855. package/esm2022/orderlist/orderlist.interface.mjs +0 -2
  856. package/esm2022/orderlist/orderlist.mjs +0 -1121
  857. package/esm2022/orderlist/primeng-orderlist.mjs +0 -5
  858. package/esm2022/orderlist/public_api.mjs +0 -4
  859. package/esm2022/orderlist/style/orderliststyle.mjs +0 -51
  860. package/esm2022/organizationchart/organizationchart.interface.mjs +0 -2
  861. package/esm2022/organizationchart/organizationchart.mjs +0 -591
  862. package/esm2022/organizationchart/primeng-organizationchart.mjs +0 -5
  863. package/esm2022/organizationchart/public_api.mjs +0 -4
  864. package/esm2022/organizationchart/style/organizationchartstyle.mjs +0 -191
  865. package/esm2022/overlay/overlay.mjs +0 -668
  866. package/esm2022/overlay/primeng-overlay.mjs +0 -5
  867. package/esm2022/overlay/public_api.mjs +0 -3
  868. package/esm2022/overlay/style/overlaystyle.mjs +0 -93
  869. package/esm2022/overlaybadge/overlaybadge.mjs +0 -121
  870. package/esm2022/overlaybadge/primeng-overlaybadge.mjs +0 -5
  871. package/esm2022/overlaybadge/public_api.mjs +0 -3
  872. package/esm2022/overlaybadge/style/overlaybadgestyle.mjs +0 -34
  873. package/esm2022/overlaypanel/overlaypanel.mjs +0 -529
  874. package/esm2022/overlaypanel/primeng-overlaypanel.mjs +0 -5
  875. package/esm2022/overlaypanel/public_api.mjs +0 -3
  876. package/esm2022/overlaypanel/style/popoverstyle.mjs +0 -119
  877. package/esm2022/paginator/paginator.interface.mjs +0 -2
  878. package/esm2022/paginator/paginator.mjs +0 -893
  879. package/esm2022/paginator/primeng-paginator.mjs +0 -5
  880. package/esm2022/paginator/public_api.mjs +0 -4
  881. package/esm2022/paginator/style/paginatorstyle.mjs +0 -243
  882. package/esm2022/panel/panel.mjs +0 -585
  883. package/esm2022/panel/primeng-panel.mjs +0 -5
  884. package/esm2022/panel/public_api.mjs +0 -3
  885. package/esm2022/panel/style/panelstyle.mjs +0 -120
  886. package/esm2022/panelmenu/panelmenu.interface.mjs +0 -2
  887. package/esm2022/panelmenu/panelmenu.mjs +0 -1628
  888. package/esm2022/panelmenu/primeng-panelmenu.mjs +0 -5
  889. package/esm2022/panelmenu/public_api.mjs +0 -4
  890. package/esm2022/panelmenu/style/panelmenustyle.mjs +0 -291
  891. package/esm2022/password/password.mjs +0 -1178
  892. package/esm2022/password/primeng-password.mjs +0 -5
  893. package/esm2022/password/public_api.mjs +0 -3
  894. package/esm2022/password/style/passwordstyle.mjs +0 -182
  895. package/esm2022/picklist/picklist.interface.mjs +0 -2
  896. package/esm2022/picklist/picklist.mjs +0 -2298
  897. package/esm2022/picklist/primeng-picklist.mjs +0 -5
  898. package/esm2022/picklist/public_api.mjs +0 -4
  899. package/esm2022/picklist/style/pickliststyle.mjs +0 -79
  900. package/esm2022/popover/popover.mjs +0 -518
  901. package/esm2022/popover/primeng-popover.mjs +0 -5
  902. package/esm2022/popover/public_api.mjs +0 -3
  903. package/esm2022/popover/style/popoverstyle.mjs +0 -99
  904. package/esm2022/primeng.mjs +0 -5
  905. package/esm2022/progressbar/primeng-progressbar.mjs +0 -5
  906. package/esm2022/progressbar/progressbar.mjs +0 -197
  907. package/esm2022/progressbar/public_api.mjs +0 -3
  908. package/esm2022/progressbar/style/progressbarstyle.mjs +0 -165
  909. package/esm2022/progressspinner/primeng-progressspinner.mjs +0 -5
  910. package/esm2022/progressspinner/progressspinner.mjs +0 -105
  911. package/esm2022/progressspinner/public_api.mjs +0 -3
  912. package/esm2022/progressspinner/style/progressspinnerstyle.mjs +0 -115
  913. package/esm2022/public_api.mjs +0 -2
  914. package/esm2022/radiobutton/primeng-radiobutton.mjs +0 -5
  915. package/esm2022/radiobutton/public_api.mjs +0 -4
  916. package/esm2022/radiobutton/radiobutton.interface.mjs +0 -2
  917. package/esm2022/radiobutton/radiobutton.mjs +0 -356
  918. package/esm2022/radiobutton/style/radiobuttonstyle.mjs +0 -196
  919. package/esm2022/rating/primeng-rating.mjs +0 -5
  920. package/esm2022/rating/public_api.mjs +0 -4
  921. package/esm2022/rating/rating.interface.mjs +0 -2
  922. package/esm2022/rating/rating.mjs +0 -425
  923. package/esm2022/rating/style/ratingstyle.mjs +0 -103
  924. package/esm2022/ripple/primeng-ripple.mjs +0 -5
  925. package/esm2022/ripple/public_api.mjs +0 -3
  926. package/esm2022/ripple/ripple.mjs +0 -131
  927. package/esm2022/ripple/style/ripplestyle.mjs +0 -63
  928. package/esm2022/scroller/primeng-scroller.mjs +0 -5
  929. package/esm2022/scroller/public_api.mjs +0 -4
  930. package/esm2022/scroller/scroller.interface.mjs +0 -2
  931. package/esm2022/scroller/scroller.mjs +0 -1290
  932. package/esm2022/scroller/style/scrollerstyle.mjs +0 -104
  933. package/esm2022/scrollpanel/primeng-scrollpanel.mjs +0 -5
  934. package/esm2022/scrollpanel/public_api.mjs +0 -4
  935. package/esm2022/scrollpanel/scrollpanel.interface.mjs +0 -2
  936. package/esm2022/scrollpanel/scrollpanel.mjs +0 -506
  937. package/esm2022/scrollpanel/style/scrollpanelstyle.mjs +0 -120
  938. package/esm2022/scrolltop/primeng-scrolltop.mjs +0 -5
  939. package/esm2022/scrolltop/public_api.mjs +0 -4
  940. package/esm2022/scrolltop/scrolltop.interface.mjs +0 -2
  941. package/esm2022/scrolltop/scrolltop.mjs +0 -336
  942. package/esm2022/scrolltop/style/scrolltopstyle.mjs +0 -77
  943. package/esm2022/select/primeng-select.mjs +0 -5
  944. package/esm2022/select/public_api.mjs +0 -4
  945. package/esm2022/select/select.interface.mjs +0 -2
  946. package/esm2022/select/select.mjs +0 -2617
  947. package/esm2022/select/style/selectstyle.mjs +0 -368
  948. package/esm2022/selectbutton/primeng-selectbutton.mjs +0 -5
  949. package/esm2022/selectbutton/public_api.mjs +0 -4
  950. package/esm2022/selectbutton/selectbutton.interface.mjs +0 -2
  951. package/esm2022/selectbutton/selectbutton.mjs +0 -373
  952. package/esm2022/selectbutton/style/selectbuttonstyle.mjs +0 -73
  953. package/esm2022/sidebar/primeng-sidebar.mjs +0 -5
  954. package/esm2022/sidebar/public_api.mjs +0 -4
  955. package/esm2022/sidebar/sidebar.interface.mjs +0 -2
  956. package/esm2022/sidebar/sidebar.mjs +0 -578
  957. package/esm2022/sidebar/style/drawerstyle.mjs +0 -174
  958. package/esm2022/skeleton/primeng-skeleton.mjs +0 -5
  959. package/esm2022/skeleton/public_api.mjs +0 -3
  960. package/esm2022/skeleton/skeleton.mjs +0 -121
  961. package/esm2022/skeleton/style/skeletonstyle.mjs +0 -93
  962. package/esm2022/slider/primeng-slider.mjs +0 -5
  963. package/esm2022/slider/public_api.mjs +0 -4
  964. package/esm2022/slider/slider.interface.mjs +0 -2
  965. package/esm2022/slider/slider.mjs +0 -820
  966. package/esm2022/slider/style/sliderstyle.mjs +0 -141
  967. package/esm2022/speeddial/primeng-speeddial.mjs +0 -5
  968. package/esm2022/speeddial/public_api.mjs +0 -4
  969. package/esm2022/speeddial/speeddial.interface.mjs +0 -2
  970. package/esm2022/speeddial/speeddial.mjs +0 -866
  971. package/esm2022/speeddial/style/speeddialstyle.mjs +0 -167
  972. package/esm2022/splitbutton/primeng-splitbutton.mjs +0 -5
  973. package/esm2022/splitbutton/public_api.mjs +0 -4
  974. package/esm2022/splitbutton/splitbutton.interface.mjs +0 -2
  975. package/esm2022/splitbutton/splitbutton.mjs +0 -579
  976. package/esm2022/splitbutton/style/splitbuttonstyle.mjs +0 -100
  977. package/esm2022/splitter/primeng-splitter.mjs +0 -5
  978. package/esm2022/splitter/public_api.mjs +0 -4
  979. package/esm2022/splitter/splitter.interface.mjs +0 -2
  980. package/esm2022/splitter/splitter.mjs +0 -616
  981. package/esm2022/splitter/style/splitterstyle.mjs +0 -126
  982. package/esm2022/stepper/primeng-stepper.mjs +0 -5
  983. package/esm2022/stepper/public_api.mjs +0 -3
  984. package/esm2022/stepper/stepper.mjs +0 -521
  985. package/esm2022/stepper/style/stepperstyle.mjs +0 -228
  986. package/esm2022/steps/primeng-steps.mjs +0 -5
  987. package/esm2022/steps/public_api.mjs +0 -3
  988. package/esm2022/steps/steps.mjs +0 -405
  989. package/esm2022/steps/style/stepsstyle.mjs +0 -180
  990. package/esm2022/styleclass/primeng-styleclass.mjs +0 -5
  991. package/esm2022/styleclass/public_api.mjs +0 -2
  992. package/esm2022/styleclass/styleclass.mjs +0 -315
  993. package/esm2022/table/columnfilter.interface.mjs +0 -2
  994. package/esm2022/table/primeng-table.mjs +0 -5
  995. package/esm2022/table/public_api.mjs +0 -5
  996. package/esm2022/table/style/tablestyle.mjs +0 -906
  997. package/esm2022/table/table.interface.mjs +0 -2
  998. package/esm2022/table/table.mjs +0 -7982
  999. package/esm2022/tabmenu/primeng-tabmenu.mjs +0 -5
  1000. package/esm2022/tabmenu/public_api.mjs +0 -4
  1001. package/esm2022/tabmenu/style/tabmenustyle.mjs +0 -192
  1002. package/esm2022/tabmenu/tabmenu.interface.mjs +0 -2
  1003. package/esm2022/tabmenu/tabmenu.mjs +0 -730
  1004. package/esm2022/tabs/primeng-tabs.mjs +0 -5
  1005. package/esm2022/tabs/public_api.mjs +0 -7
  1006. package/esm2022/tabs/style/tabsstyle.mjs +0 -211
  1007. package/esm2022/tabs/tab.mjs +0 -175
  1008. package/esm2022/tabs/tablist.mjs +0 -297
  1009. package/esm2022/tabs/tabpanel.mjs +0 -60
  1010. package/esm2022/tabs/tabpanels.mjs +0 -38
  1011. package/esm2022/tabs/tabs.mjs +0 -105
  1012. package/esm2022/tabview/primeng-tabview.mjs +0 -5
  1013. package/esm2022/tabview/public_api.mjs +0 -4
  1014. package/esm2022/tabview/style/tabsstyle.mjs +0 -211
  1015. package/esm2022/tabview/tabview.interface.mjs +0 -2
  1016. package/esm2022/tabview/tabview.mjs +0 -1089
  1017. package/esm2022/tag/primeng-tag.mjs +0 -5
  1018. package/esm2022/tag/public_api.mjs +0 -4
  1019. package/esm2022/tag/style/tagstyle.mjs +0 -108
  1020. package/esm2022/tag/tag.interface.mjs +0 -2
  1021. package/esm2022/tag/tag.mjs +0 -168
  1022. package/esm2022/terminal/primeng-terminal.mjs +0 -5
  1023. package/esm2022/terminal/public_api.mjs +0 -4
  1024. package/esm2022/terminal/style/terminalstyle.mjs +0 -113
  1025. package/esm2022/terminal/terminal.mjs +0 -195
  1026. package/esm2022/terminal/terminalservice.mjs +0 -25
  1027. package/esm2022/textarea/primeng-textarea.mjs +0 -5
  1028. package/esm2022/textarea/public_api.mjs +0 -3
  1029. package/esm2022/textarea/style/textareastyle.mjs +0 -120
  1030. package/esm2022/textarea/textarea.mjs +0 -165
  1031. package/esm2022/tieredmenu/primeng-tieredmenu.mjs +0 -5
  1032. package/esm2022/tieredmenu/public_api.mjs +0 -4
  1033. package/esm2022/tieredmenu/style/tieredmenustyle.mjs +0 -276
  1034. package/esm2022/tieredmenu/tieredmenu.interface.mjs +0 -2
  1035. package/esm2022/tieredmenu/tieredmenu.mjs +0 -1444
  1036. package/esm2022/timeline/primeng-timeline.mjs +0 -5
  1037. package/esm2022/timeline/public_api.mjs +0 -4
  1038. package/esm2022/timeline/style/timelinestyle.mjs +0 -217
  1039. package/esm2022/timeline/timeline.interface.mjs +0 -2
  1040. package/esm2022/timeline/timeline.mjs +0 -223
  1041. package/esm2022/toast/primeng-toast.mjs +0 -5
  1042. package/esm2022/toast/public_api.mjs +0 -4
  1043. package/esm2022/toast/style/toaststyle.mjs +0 -351
  1044. package/esm2022/toast/toast.interface.mjs +0 -2
  1045. package/esm2022/toast/toast.mjs +0 -738
  1046. package/esm2022/togglebutton/primeng-togglebutton.mjs +0 -5
  1047. package/esm2022/togglebutton/public_api.mjs +0 -3
  1048. package/esm2022/togglebutton/style/togglebuttonstyle.mjs +0 -170
  1049. package/esm2022/togglebutton/togglebutton.interface.mjs +0 -2
  1050. package/esm2022/togglebutton/togglebutton.mjs +0 -353
  1051. package/esm2022/toggleswitch/primeng-toggleswitch.mjs +0 -5
  1052. package/esm2022/toggleswitch/public_api.mjs +0 -4
  1053. package/esm2022/toggleswitch/style/toggleswitchstyle.mjs +0 -165
  1054. package/esm2022/toggleswitch/toggleswitch.interface.mjs +0 -2
  1055. package/esm2022/toggleswitch/toggleswitch.mjs +0 -278
  1056. package/esm2022/toolbar/primeng-toolbar.mjs +0 -5
  1057. package/esm2022/toolbar/public_api.mjs +0 -4
  1058. package/esm2022/toolbar/style/toolbarstyle.mjs +0 -69
  1059. package/esm2022/toolbar/toolbar.interface.mjs +0 -2
  1060. package/esm2022/toolbar/toolbar.mjs +0 -172
  1061. package/esm2022/tooltip/primeng-tooltip.mjs +0 -5
  1062. package/esm2022/tooltip/public_api.mjs +0 -3
  1063. package/esm2022/tooltip/style/tooltipstyle.mjs +0 -113
  1064. package/esm2022/tooltip/tooltip.mjs +0 -715
  1065. package/esm2022/tree/primeng-tree.mjs +0 -5
  1066. package/esm2022/tree/public_api.mjs +0 -4
  1067. package/esm2022/tree/style/treestyle.mjs +0 -323
  1068. package/esm2022/tree/tree.interface.mjs +0 -2
  1069. package/esm2022/tree/tree.mjs +0 -2248
  1070. package/esm2022/treeselect/primeng-treeselect.mjs +0 -5
  1071. package/esm2022/treeselect/public_api.mjs +0 -4
  1072. package/esm2022/treeselect/style/treeselectstyle.mjs +0 -274
  1073. package/esm2022/treeselect/treeselect.interface.mjs +0 -2
  1074. package/esm2022/treeselect/treeselect.mjs +0 -1372
  1075. package/esm2022/treetable/primeng-treetable.mjs +0 -5
  1076. package/esm2022/treetable/public_api.mjs +0 -4
  1077. package/esm2022/treetable/style/treetablestyle.mjs +0 -621
  1078. package/esm2022/treetable/treetable.interface.mjs +0 -2
  1079. package/esm2022/treetable/treetable.mjs +0 -4642
  1080. package/esm2022/ts-helpers/primeng-ts-helpers.mjs +0 -5
  1081. package/esm2022/ts-helpers/public_api.mjs +0 -2
  1082. package/esm2022/ts-helpers/ts-helpers.mjs +0 -2
  1083. package/esm2022/usestyle/primeng-usestyle.mjs +0 -5
  1084. package/esm2022/usestyle/public_api.mjs +0 -2
  1085. package/esm2022/usestyle/usestyle.mjs +0 -44
  1086. package/esm2022/utils/inpututils.mjs +0 -7
  1087. package/esm2022/utils/objectutils.mjs +0 -276
  1088. package/esm2022/utils/primeng-utils.mjs +0 -5
  1089. package/esm2022/utils/public_api.mjs +0 -6
  1090. package/esm2022/utils/uniquecomponentid.mjs +0 -6
  1091. package/esm2022/utils/zindexutils.mjs +0 -35
@@ -1,668 +0,0 @@
1
- import { animate, animation, style, transition, trigger, useAnimation } from '@angular/animations';
2
- import { CommonModule, isPlatformBrowser } from '@angular/common';
3
- import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, inject, Input, NgModule, Output, ViewChild, ViewEncapsulation } from '@angular/core';
4
- import { addClass, focus, getTargetElement, isTouchDevice, removeClass } from '@primeuix/utils';
5
- import { SharedModule } from 'primeng/api';
6
- import { BaseComponent } from 'primeng/basecomponent';
7
- import { ConnectedOverlayScrollHandler, DomHandler } from 'primeng/dom';
8
- import { ObjectUtils, ZIndexUtils } from 'primeng/utils';
9
- import { OverlayStyle } from './style/overlaystyle';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "primeng/api";
12
- import * as i2 from "@angular/common";
13
- const _c0 = ["content"];
14
- const _c1 = ["overlay"];
15
- const _c2 = ["*"];
16
- const _c3 = (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) => ({ "p-overlay p-component": true, "p-overlay-modal p-overlay-mask p-overlay-mask-enter": a0, "p-overlay-center": a1, "p-overlay-top": a2, "p-overlay-top-start": a3, "p-overlay-top-end": a4, "p-overlay-bottom": a5, "p-overlay-bottom-start": a6, "p-overlay-bottom-end": a7, "p-overlay-left": a8, "p-overlay-left-start": a9, "p-overlay-left-end": a10, "p-overlay-right": a11, "p-overlay-right-start": a12, "p-overlay-right-end": a13 });
17
- const _c4 = (a0, a1, a2) => ({ showTransitionParams: a0, hideTransitionParams: a1, transform: a2 });
18
- const _c5 = a0 => ({ value: "visible", params: a0 });
19
- const _c6 = a0 => ({ mode: a0 });
20
- const _c7 = a0 => ({ $implicit: a0 });
21
- function Overlay_div_0_div_2_ng_container_3_Template(rf, ctx) { if (rf & 1) {
22
- i0.ɵɵelementContainer(0);
23
- } }
24
- function Overlay_div_0_div_2_Template(rf, ctx) { if (rf & 1) {
25
- const _r3 = i0.ɵɵgetCurrentView();
26
- i0.ɵɵelementStart(0, "div", 3, 1);
27
- i0.ɵɵlistener("click", function Overlay_div_0_div_2_Template_div_click_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onOverlayContentClick($event)); })("@overlayContentAnimation.start", function Overlay_div_0_div_2_Template_div_animation_overlayContentAnimation_start_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onOverlayContentAnimationStart($event)); })("@overlayContentAnimation.done", function Overlay_div_0_div_2_Template_div_animation_overlayContentAnimation_done_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onOverlayContentAnimationDone($event)); });
28
- i0.ɵɵprojection(2);
29
- i0.ɵɵtemplate(3, Overlay_div_0_div_2_ng_container_3_Template, 1, 0, "ng-container", 4);
30
- i0.ɵɵelementEnd();
31
- } if (rf & 2) {
32
- const ctx_r1 = i0.ɵɵnextContext(2);
33
- i0.ɵɵclassMap(ctx_r1.contentStyleClass);
34
- i0.ɵɵproperty("ngStyle", ctx_r1.contentStyle)("ngClass", "p-overlay-content")("@overlayContentAnimation", i0.ɵɵpureFunction1(11, _c5, i0.ɵɵpureFunction3(7, _c4, ctx_r1.showTransitionOptions, ctx_r1.hideTransitionOptions, ctx_r1.transformOptions[ctx_r1.modal ? ctx_r1.overlayResponsiveDirection : "default"])));
35
- i0.ɵɵadvance(3);
36
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.contentTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(15, _c7, i0.ɵɵpureFunction1(13, _c6, ctx_r1.overlayMode)));
37
- } }
38
- function Overlay_div_0_Template(rf, ctx) { if (rf & 1) {
39
- const _r1 = i0.ɵɵgetCurrentView();
40
- i0.ɵɵelementStart(0, "div", 3, 0);
41
- i0.ɵɵlistener("click", function Overlay_div_0_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onOverlayClick()); });
42
- i0.ɵɵtemplate(2, Overlay_div_0_div_2_Template, 4, 17, "div", 2);
43
- i0.ɵɵelementEnd();
44
- } if (rf & 2) {
45
- const ctx_r1 = i0.ɵɵnextContext();
46
- i0.ɵɵclassMap(ctx_r1.styleClass);
47
- i0.ɵɵproperty("ngStyle", ctx_r1.style)("ngClass", i0.ɵɵpureFunctionV(5, _c3, [ctx_r1.modal, ctx_r1.modal && ctx_r1.overlayResponsiveDirection === "center", ctx_r1.modal && ctx_r1.overlayResponsiveDirection === "top", ctx_r1.modal && ctx_r1.overlayResponsiveDirection === "top-start", ctx_r1.modal && ctx_r1.overlayResponsiveDirection === "top-end", ctx_r1.modal && ctx_r1.overlayResponsiveDirection === "bottom", ctx_r1.modal && ctx_r1.overlayResponsiveDirection === "bottom-start", ctx_r1.modal && ctx_r1.overlayResponsiveDirection === "bottom-end", ctx_r1.modal && ctx_r1.overlayResponsiveDirection === "left", ctx_r1.modal && ctx_r1.overlayResponsiveDirection === "left-start", ctx_r1.modal && ctx_r1.overlayResponsiveDirection === "left-end", ctx_r1.modal && ctx_r1.overlayResponsiveDirection === "right", ctx_r1.modal && ctx_r1.overlayResponsiveDirection === "right-start", ctx_r1.modal && ctx_r1.overlayResponsiveDirection === "right-end"]));
48
- i0.ɵɵadvance(2);
49
- i0.ɵɵproperty("ngIf", ctx_r1.visible);
50
- } }
51
- const showOverlayContentAnimation = animation([style({ transform: '{{transform}}', opacity: 0 }), animate('{{showTransitionParams}}')]);
52
- const hideOverlayContentAnimation = animation([animate('{{hideTransitionParams}}', style({ transform: '{{transform}}', opacity: 0 }))]);
53
- /**
54
- * This API allows overlay components to be controlled from the PrimeNG. In this way, all overlay components in the application can have the same behavior.
55
- * @group Components
56
- */
57
- export class Overlay extends BaseComponent {
58
- overlayService;
59
- zone;
60
- /**
61
- * The visible property is an input that determines the visibility of the component.
62
- * @defaultValue false
63
- * @group Props
64
- */
65
- get visible() {
66
- return this._visible;
67
- }
68
- set visible(value) {
69
- this._visible = value;
70
- if (this._visible && !this.modalVisible) {
71
- this.modalVisible = true;
72
- }
73
- }
74
- /**
75
- * The mode property is an input that determines the overlay mode type or string.
76
- * @defaultValue null
77
- * @group Props
78
- */
79
- get mode() {
80
- return this._mode || this.overlayOptions?.mode;
81
- }
82
- set mode(value) {
83
- this._mode = value;
84
- }
85
- /**
86
- * The style property is an input that determines the style object for the component.
87
- * @defaultValue null
88
- * @group Props
89
- */
90
- get style() {
91
- return ObjectUtils.merge(this._style, this.modal ? this.overlayResponsiveOptions?.style : this.overlayOptions?.style);
92
- }
93
- set style(value) {
94
- this._style = value;
95
- }
96
- /**
97
- * The styleClass property is an input that determines the CSS class(es) for the component.
98
- * @defaultValue null
99
- * @group Props
100
- */
101
- get styleClass() {
102
- return ObjectUtils.merge(this._styleClass, this.modal ? this.overlayResponsiveOptions?.styleClass : this.overlayOptions?.styleClass);
103
- }
104
- set styleClass(value) {
105
- this._styleClass = value;
106
- }
107
- /**
108
- * The contentStyle property is an input that determines the style object for the content of the component.
109
- * @defaultValue null
110
- * @group Props
111
- */
112
- get contentStyle() {
113
- return ObjectUtils.merge(this._contentStyle, this.modal ? this.overlayResponsiveOptions?.contentStyle : this.overlayOptions?.contentStyle);
114
- }
115
- set contentStyle(value) {
116
- this._contentStyle = value;
117
- }
118
- /**
119
- * The contentStyleClass property is an input that determines the CSS class(es) for the content of the component.
120
- * @defaultValue null
121
- * @group Props
122
- */
123
- get contentStyleClass() {
124
- return ObjectUtils.merge(this._contentStyleClass, this.modal ? this.overlayResponsiveOptions?.contentStyleClass : this.overlayOptions?.contentStyleClass);
125
- }
126
- set contentStyleClass(value) {
127
- this._contentStyleClass = value;
128
- }
129
- /**
130
- * The target property is an input that specifies the target element or selector for the component.
131
- * @defaultValue null
132
- * @group Props
133
- */
134
- get target() {
135
- const value = this._target || this.overlayOptions?.target;
136
- return value === undefined ? '@prev' : value;
137
- }
138
- set target(value) {
139
- this._target = value;
140
- }
141
- /**
142
- * Overlay can be mounted into its location, body or DOM element instance using this option.
143
- * @defaultValue null
144
- * @group Props
145
- */
146
- get appendTo() {
147
- return this._appendTo || this.overlayOptions?.appendTo;
148
- }
149
- set appendTo(value) {
150
- this._appendTo = value;
151
- }
152
- /**
153
- * The autoZIndex determines whether to automatically manage layering. Its default value is 'false'.
154
- * @defaultValue false
155
- * @group Props
156
- */
157
- get autoZIndex() {
158
- const value = this._autoZIndex || this.overlayOptions?.autoZIndex;
159
- return value === undefined ? true : value;
160
- }
161
- set autoZIndex(value) {
162
- this._autoZIndex = value;
163
- }
164
- /**
165
- * The baseZIndex is base zIndex value to use in layering.
166
- * @defaultValue null
167
- * @group Props
168
- */
169
- get baseZIndex() {
170
- const value = this._baseZIndex || this.overlayOptions?.baseZIndex;
171
- return value === undefined ? 0 : value;
172
- }
173
- set baseZIndex(value) {
174
- this._baseZIndex = value;
175
- }
176
- /**
177
- * Transition options of the show or hide animation.
178
- * @defaultValue .12s cubic-bezier(0, 0, 0.2, 1)
179
- * @group Props
180
- */
181
- get showTransitionOptions() {
182
- const value = this._showTransitionOptions || this.overlayOptions?.showTransitionOptions;
183
- return value === undefined ? '.12s cubic-bezier(0, 0, 0.2, 1)' : value;
184
- }
185
- set showTransitionOptions(value) {
186
- this._showTransitionOptions = value;
187
- }
188
- /**
189
- * The hideTransitionOptions property is an input that determines the CSS transition options for hiding the component.
190
- * @defaultValue .1s linear
191
- * @group Props
192
- */
193
- get hideTransitionOptions() {
194
- const value = this._hideTransitionOptions || this.overlayOptions?.hideTransitionOptions;
195
- return value === undefined ? '.1s linear' : value;
196
- }
197
- set hideTransitionOptions(value) {
198
- this._hideTransitionOptions = value;
199
- }
200
- /**
201
- * The listener property is an input that specifies the listener object for the component.
202
- * @defaultValue null
203
- * @group Props
204
- */
205
- get listener() {
206
- return this._listener || this.overlayOptions?.listener;
207
- }
208
- set listener(value) {
209
- this._listener = value;
210
- }
211
- /**
212
- * It is the option used to determine in which mode it should appear according to the given media or breakpoint.
213
- * @defaultValue null
214
- * @group Props
215
- */
216
- get responsive() {
217
- return this._responsive || this.overlayOptions?.responsive;
218
- }
219
- set responsive(val) {
220
- this._responsive = val;
221
- }
222
- /**
223
- * The options property is an input that specifies the overlay options for the component.
224
- * @defaultValue null
225
- * @group Props
226
- */
227
- get options() {
228
- return this._options;
229
- }
230
- set options(val) {
231
- this._options = val;
232
- }
233
- /**
234
- * This EventEmitter is used to notify changes in the visibility state of a component.
235
- * @param {Boolean} boolean - Value of visibility as boolean.
236
- * @group Emits
237
- */
238
- visibleChange = new EventEmitter();
239
- /**
240
- * Callback to invoke before the overlay is shown.
241
- * @param {OverlayOnBeforeShowEvent} event - Custom overlay before show event.
242
- * @group Emits
243
- */
244
- onBeforeShow = new EventEmitter();
245
- /**
246
- * Callback to invoke when the overlay is shown.
247
- * @param {OverlayOnShowEvent} event - Custom overlay show event.
248
- * @group Emits
249
- */
250
- onShow = new EventEmitter();
251
- /**
252
- * Callback to invoke before the overlay is hidden.
253
- * @param {OverlayOnBeforeHideEvent} event - Custom overlay before hide event.
254
- * @group Emits
255
- */
256
- onBeforeHide = new EventEmitter();
257
- /**
258
- * Callback to invoke when the overlay is hidden
259
- * @param {OverlayOnHideEvent} event - Custom hide event.
260
- * @group Emits
261
- */
262
- onHide = new EventEmitter();
263
- /**
264
- * Callback to invoke when the animation is started.
265
- * @param {AnimationEvent} event - Animation event.
266
- * @group Emits
267
- */
268
- onAnimationStart = new EventEmitter();
269
- /**
270
- * Callback to invoke when the animation is done.
271
- * @param {AnimationEvent} event - Animation event.
272
- * @group Emits
273
- */
274
- onAnimationDone = new EventEmitter();
275
- overlayViewChild;
276
- contentViewChild;
277
- /**
278
- * Content template of the component.
279
- * @group Templates
280
- */
281
- contentTemplate;
282
- _visible = false;
283
- _mode;
284
- _style;
285
- _styleClass;
286
- _contentStyle;
287
- _contentStyleClass;
288
- _target;
289
- _appendTo;
290
- _autoZIndex;
291
- _baseZIndex;
292
- _showTransitionOptions;
293
- _hideTransitionOptions;
294
- _listener;
295
- _responsive;
296
- _options;
297
- modalVisible = false;
298
- isOverlayClicked = false;
299
- isOverlayContentClicked = false;
300
- scrollHandler;
301
- documentClickListener;
302
- documentResizeListener;
303
- _componentStyle = inject(OverlayStyle);
304
- documentKeyboardListener;
305
- window;
306
- transformOptions = {
307
- default: 'scaleY(0.8)',
308
- center: 'scale(0.7)',
309
- top: 'translate3d(0px, -100%, 0px)',
310
- 'top-start': 'translate3d(0px, -100%, 0px)',
311
- 'top-end': 'translate3d(0px, -100%, 0px)',
312
- bottom: 'translate3d(0px, 100%, 0px)',
313
- 'bottom-start': 'translate3d(0px, 100%, 0px)',
314
- 'bottom-end': 'translate3d(0px, 100%, 0px)',
315
- left: 'translate3d(-100%, 0px, 0px)',
316
- 'left-start': 'translate3d(-100%, 0px, 0px)',
317
- 'left-end': 'translate3d(-100%, 0px, 0px)',
318
- right: 'translate3d(100%, 0px, 0px)',
319
- 'right-start': 'translate3d(100%, 0px, 0px)',
320
- 'right-end': 'translate3d(100%, 0px, 0px)'
321
- };
322
- get modal() {
323
- if (isPlatformBrowser(this.platformId)) {
324
- return this.mode === 'modal' || (this.overlayResponsiveOptions && this.document.defaultView?.matchMedia(this.overlayResponsiveOptions.media?.replace('@media', '') || `(max-width: ${this.overlayResponsiveOptions.breakpoint})`).matches);
325
- }
326
- }
327
- get overlayMode() {
328
- return this.mode || (this.modal ? 'modal' : 'overlay');
329
- }
330
- get overlayOptions() {
331
- return { ...this.config?.overlayOptions, ...this.options }; // TODO: Improve performance
332
- }
333
- get overlayResponsiveOptions() {
334
- return { ...this.overlayOptions?.responsive, ...this.responsive }; // TODO: Improve performance
335
- }
336
- get overlayResponsiveDirection() {
337
- return this.overlayResponsiveOptions?.direction || 'center';
338
- }
339
- get overlayEl() {
340
- return this.overlayViewChild?.nativeElement;
341
- }
342
- get contentEl() {
343
- return this.contentViewChild?.nativeElement;
344
- }
345
- get targetEl() {
346
- return getTargetElement(this.target, this.el?.nativeElement);
347
- }
348
- constructor(overlayService, zone) {
349
- super();
350
- this.overlayService = overlayService;
351
- this.zone = zone;
352
- }
353
- show(overlay, isFocus = false) {
354
- this.onVisibleChange(true);
355
- this.handleEvents('onShow', { overlay: overlay || this.overlayEl, target: this.targetEl, mode: this.overlayMode });
356
- isFocus && focus(this.targetEl);
357
- this.modal && addClass(this.document?.body, 'p-overflow-hidden');
358
- }
359
- hide(overlay, isFocus = false) {
360
- if (!this.visible) {
361
- return;
362
- }
363
- else {
364
- this.onVisibleChange(false);
365
- this.handleEvents('onHide', { overlay: overlay || this.overlayEl, target: this.targetEl, mode: this.overlayMode });
366
- isFocus && focus(this.targetEl);
367
- this.modal && removeClass(this.document?.body, 'p-overflow-hidden');
368
- }
369
- }
370
- alignOverlay() {
371
- !this.modal && DomHandler.alignOverlay(this.overlayEl, this.targetEl, this.appendTo);
372
- }
373
- onVisibleChange(visible) {
374
- this._visible = visible;
375
- this.visibleChange.emit(visible);
376
- }
377
- onOverlayClick() {
378
- this.isOverlayClicked = true;
379
- }
380
- onOverlayContentClick(event) {
381
- this.overlayService.add({
382
- originalEvent: event,
383
- target: this.targetEl
384
- });
385
- this.isOverlayContentClicked = true;
386
- }
387
- onOverlayContentAnimationStart(event) {
388
- switch (event.toState) {
389
- case 'visible':
390
- this.handleEvents('onBeforeShow', { overlay: this.overlayEl, target: this.targetEl, mode: this.overlayMode });
391
- if (this.autoZIndex) {
392
- ZIndexUtils.set(this.overlayMode, this.overlayEl, this.baseZIndex + this.config?.zIndex[this.overlayMode]);
393
- }
394
- DomHandler.appendOverlay(this.overlayEl, this.appendTo === 'body' ? this.document.body : this.appendTo, this.appendTo);
395
- this.alignOverlay();
396
- break;
397
- case 'void':
398
- this.handleEvents('onBeforeHide', { overlay: this.overlayEl, target: this.targetEl, mode: this.overlayMode });
399
- this.modal && addClass(this.overlayEl, 'p-overlay-mask-leave');
400
- break;
401
- }
402
- this.handleEvents('onAnimationStart', event);
403
- }
404
- onOverlayContentAnimationDone(event) {
405
- const container = this.overlayEl || event.element.parentElement;
406
- switch (event.toState) {
407
- case 'visible':
408
- this.show(container, true);
409
- this.bindListeners();
410
- break;
411
- case 'void':
412
- this.hide(container, true);
413
- this.unbindListeners();
414
- DomHandler.appendOverlay(this.overlayEl, this.targetEl, this.appendTo);
415
- ZIndexUtils.clear(container);
416
- this.modalVisible = false;
417
- this.cd.markForCheck();
418
- break;
419
- }
420
- this.handleEvents('onAnimationDone', event);
421
- }
422
- handleEvents(name, params) {
423
- this[name].emit(params);
424
- this.options && this.options[name] && this.options[name](params);
425
- this.config?.overlayOptions && (this.config?.overlayOptions)[name] && (this.config?.overlayOptions)[name](params);
426
- }
427
- bindListeners() {
428
- this.bindScrollListener();
429
- this.bindDocumentClickListener();
430
- this.bindDocumentResizeListener();
431
- this.bindDocumentKeyboardListener();
432
- }
433
- unbindListeners() {
434
- this.unbindScrollListener();
435
- this.unbindDocumentClickListener();
436
- this.unbindDocumentResizeListener();
437
- this.unbindDocumentKeyboardListener();
438
- }
439
- bindScrollListener() {
440
- if (!this.scrollHandler) {
441
- this.scrollHandler = new ConnectedOverlayScrollHandler(this.targetEl, (event) => {
442
- const valid = this.listener ? this.listener(event, { type: 'scroll', mode: this.overlayMode, valid: true }) : true;
443
- valid && this.hide(event, true);
444
- });
445
- }
446
- this.scrollHandler.bindScrollListener();
447
- }
448
- unbindScrollListener() {
449
- if (this.scrollHandler) {
450
- this.scrollHandler.unbindScrollListener();
451
- }
452
- }
453
- bindDocumentClickListener() {
454
- if (!this.documentClickListener) {
455
- this.documentClickListener = this.renderer.listen(this.document, 'click', (event) => {
456
- const isTargetClicked = this.targetEl && (this.targetEl.isSameNode(event.target) || (!this.isOverlayClicked && this.targetEl.contains(event.target)));
457
- const isOutsideClicked = !isTargetClicked && !this.isOverlayContentClicked;
458
- const valid = this.listener ? this.listener(event, { type: 'outside', mode: this.overlayMode, valid: event.which !== 3 && isOutsideClicked }) : isOutsideClicked;
459
- valid && this.hide(event);
460
- this.isOverlayClicked = this.isOverlayContentClicked = false;
461
- });
462
- }
463
- }
464
- unbindDocumentClickListener() {
465
- if (this.documentClickListener) {
466
- this.documentClickListener();
467
- this.documentClickListener = null;
468
- }
469
- }
470
- bindDocumentResizeListener() {
471
- if (!this.documentResizeListener) {
472
- this.documentResizeListener = this.renderer.listen(this.document.defaultView, 'resize', (event) => {
473
- const valid = this.listener ? this.listener(event, { type: 'resize', mode: this.overlayMode, valid: !isTouchDevice() }) : !isTouchDevice();
474
- valid && this.hide(event, true);
475
- });
476
- }
477
- }
478
- unbindDocumentResizeListener() {
479
- if (this.documentResizeListener) {
480
- this.documentResizeListener();
481
- this.documentResizeListener = null;
482
- }
483
- }
484
- bindDocumentKeyboardListener() {
485
- if (this.documentKeyboardListener) {
486
- return;
487
- }
488
- this.zone.runOutsideAngular(() => {
489
- this.documentKeyboardListener = this.renderer.listen(this.document.defaultView, 'keydown', (event) => {
490
- if (this.overlayOptions.hideOnEscape === false || event.code !== 'Escape') {
491
- return;
492
- }
493
- const valid = this.listener ? this.listener(event, { type: 'keydown', mode: this.overlayMode, valid: !isTouchDevice() }) : !isTouchDevice();
494
- if (valid) {
495
- this.zone.run(() => {
496
- this.hide(event, true);
497
- });
498
- }
499
- });
500
- });
501
- }
502
- unbindDocumentKeyboardListener() {
503
- if (this.documentKeyboardListener) {
504
- this.documentKeyboardListener();
505
- this.documentKeyboardListener = null;
506
- }
507
- }
508
- ngOnDestroy() {
509
- this.hide(this.overlayEl, true);
510
- if (this.overlayEl) {
511
- DomHandler.appendOverlay(this.overlayEl, this.targetEl, this.appendTo);
512
- ZIndexUtils.clear(this.overlayEl);
513
- }
514
- if (this.scrollHandler) {
515
- this.scrollHandler.destroy();
516
- this.scrollHandler = null;
517
- }
518
- this.unbindListeners();
519
- super.ngOnDestroy();
520
- }
521
- static ɵfac = function Overlay_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || Overlay)(i0.ɵɵdirectiveInject(i1.OverlayService), i0.ɵɵdirectiveInject(i0.NgZone)); };
522
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Overlay, selectors: [["p-overlay"]], contentQueries: function Overlay_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
523
- i0.ɵɵcontentQuery(dirIndex, _c0, 5);
524
- } if (rf & 2) {
525
- let _t;
526
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.contentTemplate = _t.first);
527
- } }, viewQuery: function Overlay_Query(rf, ctx) { if (rf & 1) {
528
- i0.ɵɵviewQuery(_c1, 5);
529
- i0.ɵɵviewQuery(_c0, 5);
530
- } if (rf & 2) {
531
- let _t;
532
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.overlayViewChild = _t.first);
533
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.contentViewChild = _t.first);
534
- } }, inputs: { visible: "visible", mode: "mode", style: "style", styleClass: "styleClass", contentStyle: "contentStyle", contentStyleClass: "contentStyleClass", target: "target", appendTo: "appendTo", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", listener: "listener", responsive: "responsive", options: "options" }, outputs: { visibleChange: "visibleChange", onBeforeShow: "onBeforeShow", onShow: "onShow", onBeforeHide: "onBeforeHide", onHide: "onHide", onAnimationStart: "onAnimationStart", onAnimationDone: "onAnimationDone" }, standalone: true, features: [i0.ɵɵProvidersFeature([OverlayStyle]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], ngContentSelectors: _c2, decls: 1, vars: 1, consts: [["overlay", ""], ["content", ""], [3, "ngStyle", "class", "ngClass", "click", 4, "ngIf"], [3, "click", "ngStyle", "ngClass"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function Overlay_Template(rf, ctx) { if (rf & 1) {
535
- i0.ɵɵprojectionDef();
536
- i0.ɵɵtemplate(0, Overlay_div_0_Template, 3, 20, "div", 2);
537
- } if (rf & 2) {
538
- i0.ɵɵproperty("ngIf", ctx.modalVisible);
539
- } }, dependencies: [CommonModule, i2.NgClass, i2.NgIf, i2.NgTemplateOutlet, i2.NgStyle, SharedModule], encapsulation: 2, data: { animation: [trigger('overlayContentAnimation', [transition(':enter', [useAnimation(showOverlayContentAnimation)]), transition(':leave', [useAnimation(hideOverlayContentAnimation)])])] }, changeDetection: 0 });
540
- }
541
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(Overlay, [{
542
- type: Component,
543
- args: [{
544
- selector: 'p-overlay',
545
- standalone: true,
546
- imports: [CommonModule, SharedModule],
547
- template: `
548
- <div
549
- *ngIf="modalVisible"
550
- #overlay
551
- [ngStyle]="style"
552
- [class]="styleClass"
553
- [ngClass]="{
554
- 'p-overlay p-component': true,
555
- 'p-overlay-modal p-overlay-mask p-overlay-mask-enter': modal,
556
- 'p-overlay-center': modal && overlayResponsiveDirection === 'center',
557
- 'p-overlay-top': modal && overlayResponsiveDirection === 'top',
558
- 'p-overlay-top-start': modal && overlayResponsiveDirection === 'top-start',
559
- 'p-overlay-top-end': modal && overlayResponsiveDirection === 'top-end',
560
- 'p-overlay-bottom': modal && overlayResponsiveDirection === 'bottom',
561
- 'p-overlay-bottom-start': modal && overlayResponsiveDirection === 'bottom-start',
562
- 'p-overlay-bottom-end': modal && overlayResponsiveDirection === 'bottom-end',
563
- 'p-overlay-left': modal && overlayResponsiveDirection === 'left',
564
- 'p-overlay-left-start': modal && overlayResponsiveDirection === 'left-start',
565
- 'p-overlay-left-end': modal && overlayResponsiveDirection === 'left-end',
566
- 'p-overlay-right': modal && overlayResponsiveDirection === 'right',
567
- 'p-overlay-right-start': modal && overlayResponsiveDirection === 'right-start',
568
- 'p-overlay-right-end': modal && overlayResponsiveDirection === 'right-end'
569
- }"
570
- (click)="onOverlayClick()"
571
- >
572
- <div
573
- *ngIf="visible"
574
- #content
575
- [ngStyle]="contentStyle"
576
- [class]="contentStyleClass"
577
- [ngClass]="'p-overlay-content'"
578
- (click)="onOverlayContentClick($event)"
579
- [@overlayContentAnimation]="{
580
- value: 'visible',
581
- params: {
582
- showTransitionParams: showTransitionOptions,
583
- hideTransitionParams: hideTransitionOptions,
584
- transform: transformOptions[modal ? overlayResponsiveDirection : 'default']
585
- }
586
- }"
587
- (@overlayContentAnimation.start)="onOverlayContentAnimationStart($event)"
588
- (@overlayContentAnimation.done)="onOverlayContentAnimationDone($event)"
589
- >
590
- <ng-content></ng-content>
591
- <ng-container *ngTemplateOutlet="contentTemplate; context: { $implicit: { mode: overlayMode } }"></ng-container>
592
- </div>
593
- </div>
594
- `,
595
- animations: [trigger('overlayContentAnimation', [transition(':enter', [useAnimation(showOverlayContentAnimation)]), transition(':leave', [useAnimation(hideOverlayContentAnimation)])])],
596
- changeDetection: ChangeDetectionStrategy.OnPush,
597
- encapsulation: ViewEncapsulation.None,
598
- providers: [OverlayStyle]
599
- }]
600
- }], () => [{ type: i1.OverlayService }, { type: i0.NgZone }], { visible: [{
601
- type: Input
602
- }], mode: [{
603
- type: Input
604
- }], style: [{
605
- type: Input
606
- }], styleClass: [{
607
- type: Input
608
- }], contentStyle: [{
609
- type: Input
610
- }], contentStyleClass: [{
611
- type: Input
612
- }], target: [{
613
- type: Input
614
- }], appendTo: [{
615
- type: Input
616
- }], autoZIndex: [{
617
- type: Input
618
- }], baseZIndex: [{
619
- type: Input
620
- }], showTransitionOptions: [{
621
- type: Input
622
- }], hideTransitionOptions: [{
623
- type: Input
624
- }], listener: [{
625
- type: Input
626
- }], responsive: [{
627
- type: Input
628
- }], options: [{
629
- type: Input
630
- }], visibleChange: [{
631
- type: Output
632
- }], onBeforeShow: [{
633
- type: Output
634
- }], onShow: [{
635
- type: Output
636
- }], onBeforeHide: [{
637
- type: Output
638
- }], onHide: [{
639
- type: Output
640
- }], onAnimationStart: [{
641
- type: Output
642
- }], onAnimationDone: [{
643
- type: Output
644
- }], overlayViewChild: [{
645
- type: ViewChild,
646
- args: ['overlay']
647
- }], contentViewChild: [{
648
- type: ViewChild,
649
- args: ['content']
650
- }], contentTemplate: [{
651
- type: ContentChild,
652
- args: ['content']
653
- }] }); })();
654
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(Overlay, { className: "Overlay" }); })();
655
- export class OverlayModule {
656
- static ɵfac = function OverlayModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || OverlayModule)(); };
657
- static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: OverlayModule });
658
- static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [Overlay, SharedModule, SharedModule] });
659
- }
660
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OverlayModule, [{
661
- type: NgModule,
662
- args: [{
663
- imports: [Overlay, SharedModule],
664
- exports: [Overlay, SharedModule]
665
- }]
666
- }], null, null); })();
667
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(OverlayModule, { imports: [Overlay, SharedModule], exports: [Overlay, SharedModule] }); })();
668
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vdmVybGF5L292ZXJsYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQWtCLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ILE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBYyxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQXFCLE1BQU0sRUFBZSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMU0sT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hHLE9BQU8sRUFBeUssWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xOLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXhFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7OztJQXlEcEMsd0JBQWdIOzs7O0lBbkJwSCxpQ0FpQkM7SUFERyxBQURBLEFBVEEsNktBQVMsb0NBQTZCLEtBQUMsMk5BU0wsNkNBQXNDLEtBQUMseU5BQ3hDLDRDQUFxQyxLQUFDO0lBRXZFLGtCQUF5QjtJQUN6QixzRkFBaUc7SUFDckcsaUJBQU07OztJQWhCRix1Q0FBMkI7SUFHM0IsQUFGQSxBQUZB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QixLQUFLO1lBWU8scUJBQXFCO2tCQUFqQyxLQUFLO1lBWU8scUJBQXFCO2tCQUFqQyxLQUFLO1lBWU8sUUFBUTtrQkFBcEIsS0FBSztZQVdPLFVBQVU7a0JBQXRCLEtBQUs7WUFXTyxPQUFPO2tCQUFuQixLQUFLO1lBV0ksYUFBYTtrQkFBdEIsTUFBTTtZQU1HLFlBQVk7a0JBQXJCLE1BQU07WUFNRyxNQUFNO2tCQUFmLE1BQU07WUFNRyxZQUFZO2tCQUFyQixNQUFNO1lBTUcsTUFBTTtrQkFBZixNQUFNO1lBTUcsZ0JBQWdCO2tCQUF6QixNQUFNO1lBTUcsZUFBZTtrQkFBeEIsTUFBTTtZQUVlLGdCQUFnQjtrQkFBckMsU0FBUzttQkFBQyxTQUFTO1lBRUUsZ0JBQWdCO2tCQUFyQyxTQUFTO21CQUFDLFNBQVM7WUFLSyxlQUFlO2tCQUF2QyxZQUFZO21CQUFDLFNBQVM7O2tGQWpPZCxPQUFPO0FBcWlCcEIsTUFBTSxPQUFPLGFBQWE7dUdBQWIsYUFBYTs0REFBYixhQUFhO2dFQUhaLE9BQU8sRUFBRSxZQUFZLEVBQ1osWUFBWTs7aUZBRXRCLGFBQWE7Y0FKekIsUUFBUTtlQUFDO2dCQUNOLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUM7Z0JBQ2hDLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUM7YUFDbkM7O3dGQUNZLGFBQWEsY0FyaUJiLE9BQU8sRUFraUJHLFlBQVksYUFsaUJ0QixPQUFPLEVBbWlCRyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgYW5pbWF0aW9uLCBBbmltYXRpb25FdmVudCwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIsIHVzZUFuaW1hdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgTmdNb2R1bGUsIE5nWm9uZSwgT25EZXN0cm95LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhZGRDbGFzcywgZm9jdXMsIGdldFRhcmdldEVsZW1lbnQsIGlzVG91Y2hEZXZpY2UsIHJlbW92ZUNsYXNzIH0gZnJvbSAnQHByaW1ldWl4L3V0aWxzJztcbmltcG9ydCB7IE92ZXJsYXlNb2RlVHlwZSwgT3ZlcmxheU9uQmVmb3JlSGlkZUV2ZW50LCBPdmVybGF5T25CZWZvcmVTaG93RXZlbnQsIE92ZXJsYXlPbkhpZGVFdmVudCwgT3ZlcmxheU9uU2hvd0V2ZW50LCBPdmVybGF5T3B0aW9ucywgT3ZlcmxheVNlcnZpY2UsIFJlc3BvbnNpdmVPdmVybGF5T3B0aW9ucywgU2hhcmVkTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ3ByaW1lbmcvYmFzZWNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25uZWN0ZWRPdmVybGF5U2Nyb2xsSGFuZGxlciwgRG9tSGFuZGxlciB9IGZyb20gJ3ByaW1lbmcvZG9tJztcbmltcG9ydCB7IFZvaWRMaXN0ZW5lciB9IGZyb20gJ3ByaW1lbmcvdHMtaGVscGVycyc7XG5pbXBvcnQgeyBPYmplY3RVdGlscywgWkluZGV4VXRpbHMgfSBmcm9tICdwcmltZW5nL3V0aWxzJztcbmltcG9ydCB7IE92ZXJsYXlTdHlsZSB9IGZyb20gJy4vc3R5bGUvb3ZlcmxheXN0eWxlJztcblxuY29uc3Qgc2hvd092ZXJsYXlDb250ZW50QW5pbWF0aW9uID0gYW5pbWF0aW9uKFtzdHlsZSh7IHRyYW5zZm9ybTogJ3t7dHJhbnNmb3JtfX0nLCBvcGFjaXR5OiAwIH0pLCBhbmltYXRlKCd7e3Nob3dUcmFuc2l0aW9uUGFyYW1zfX0nKV0pO1xuXG5jb25zdCBoaWRlT3ZlcmxheUNvbnRlbnRBbmltYXRpb24gPSBhbmltYXRpb24oW2FuaW1hdGUoJ3t7aGlkZVRyYW5zaXRpb25QYXJhbXN9fScsIHN0eWxlKHsgdHJhbnNmb3JtOiAne3t0cmFuc2Zvcm19fScsIG9wYWNpdHk6IDAgfSkpXSk7XG4vKipcbiAqIFRoaXMgQVBJIGFsbG93cyBvdmVybGF5IGNvbXBvbmVudHMgdG8gYmUgY29udHJvbGxlZCBmcm9tIHRoZSBQcmltZU5HLiBJbiB0aGlzIHdheSwgYWxsIG92ZXJsYXkgY29tcG9uZW50cyBpbiB0aGUgYXBwbGljYXRpb24gY2FuIGhhdmUgdGhlIHNhbWUgYmVoYXZpb3IuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Atb3ZlcmxheScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTaGFyZWRNb2R1bGVdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwibW9kYWxWaXNpYmxlXCJcbiAgICAgICAgICAgICNvdmVybGF5XG4gICAgICAgICAgICBbbmdTdHlsZV09XCJzdHlsZVwiXG4gICAgICAgICAgICBbY2xhc3NdPVwic3R5bGVDbGFzc1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgJ3Atb3ZlcmxheSBwLWNvbXBvbmVudCc6IHRydWUsXG4gICAgICAgICAgICAgICAgJ3Atb3ZlcmxheS1tb2RhbCBwLW92ZXJsYXktbWFzayBwLW92ZXJsYXktbWFzay1lbnRlcic6IG1vZGFsLFxuICAgICAgICAgICAgICAgICdwLW92ZXJsYXktY2VudGVyJzogbW9kYWwgJiYgb3ZlcmxheVJlc3BvbnNpdmVEaXJlY3Rpb24gPT09ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICdwLW92ZXJsYXktdG9wJzogbW9kYWwgJiYgb3ZlcmxheVJlc3BvbnNpdmVEaXJlY3Rpb24gPT09ICd0b3AnLFxuICAgICAgICAgICAgICAgICdwLW92ZXJsYXktdG9wLXN0YXJ0JzogbW9kYWwgJiYgb3ZlcmxheVJlc3BvbnNpdmVEaXJlY3Rpb24gPT09ICd0b3Atc3RhcnQnLFxuICAgICAgICAgICAgICAgICdwLW92ZXJsYXktdG9wLWVuZCc6IG1vZGFsICYmIG92ZXJsYXlSZXNwb25zaXZlRGlyZWN0aW9uID09PSAndG9wLWVuZCcsXG4gICAgICAgICAgICAgICAgJ3Atb3ZlcmxheS1ib3R0b20nOiBtb2RhbCAmJiBvdmVybGF5UmVzcG9uc2l2ZURpcmVjdGlvbiA9PT0gJ2JvdHRvbScsXG4gICAgICAgICAgICAgICAgJ3Atb3ZlcmxheS1ib3R0b20tc3RhcnQnOiBtb2RhbCAmJiBvdmVybGF5UmVzcG9uc2l2ZURpcmVjdGlvbiA9PT0gJ2JvdHRvbS1zdGFydCcsXG4gICAgICAgICAgICAgICAgJ3Atb3ZlcmxheS1ib3R0b20tZW5kJzogbW9kYWwgJiYgb3ZlcmxheVJlc3BvbnNpdmVEaXJlY3Rpb24gPT09ICdib3R0b20tZW5kJyxcbiAgICAgICAgICAgICAgICAncC1vdmVybGF5LWxlZnQnOiBtb2RhbCAmJiBvdmVybGF5UmVzcG9uc2l2ZURpcmVjdGlvbiA9PT0gJ2xlZnQnLFxuICAgICAgICAgICAgICAgICdwLW92ZXJsYXktbGVmdC1zdGFydCc6IG1vZGFsICYmIG92ZXJsYXlSZXNwb25zaXZlRGlyZWN0aW9uID09PSAnbGVmdC1zdGFydCcsXG4gICAgICAgICAgICAgICAgJ3Atb3ZlcmxheS1sZWZ0LWVuZCc6IG1vZGFsICYmIG92ZXJsYXlSZXNwb25zaXZlRGlyZWN0aW9uID09PSAnbGVmdC1lbmQnLFxuICAgICAgICAgICAgICAgICdwLW92ZXJsYXktcmlnaHQnOiBtb2RhbCAmJiBvdmVybGF5UmVzcG9uc2l2ZURpcmVjdGlvbiA9PT0gJ3JpZ2h0JyxcbiAgICAgICAgICAgICAgICAncC1vdmVybGF5LXJpZ2h0LXN0YXJ0JzogbW9kYWwgJiYgb3ZlcmxheVJlc3BvbnNpdmVEaXJlY3Rpb24gPT09ICdyaWdodC1zdGFydCcsXG4gICAgICAgICAgICAgICAgJ3Atb3ZlcmxheS1yaWdodC1lbmQnOiBtb2RhbCAmJiBvdmVybGF5UmVzcG9uc2l2ZURpcmVjdGlvbiA9PT0gJ3JpZ2h0LWVuZCdcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uT3ZlcmxheUNsaWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ2aXNpYmxlXCJcbiAgICAgICAgICAgICAgICAjY29udGVudFxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cImNvbnRlbnRTdHlsZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzXT1cImNvbnRlbnRTdHlsZUNsYXNzXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCIncC1vdmVybGF5LWNvbnRlbnQnXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25PdmVybGF5Q29udGVudENsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAgIFtAb3ZlcmxheUNvbnRlbnRBbmltYXRpb25dPVwie1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ3Zpc2libGUnLFxuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dUcmFuc2l0aW9uUGFyYW1zOiBzaG93VHJhbnNpdGlvbk9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBoaWRlVHJhbnNpdGlvblBhcmFtczogaGlkZVRyYW5zaXRpb25PcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2Zvcm1PcHRpb25zW21vZGFsID8gb3ZlcmxheVJlc3BvbnNpdmVEaXJlY3Rpb24gOiAnZGVmYXVsdCddXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAoQG92ZXJsYXlDb250ZW50QW5pbWF0aW9uLnN0YXJ0KT1cIm9uT3ZlcmxheUNvbnRlbnRBbmltYXRpb25TdGFydCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoQG92ZXJsYXlDb250ZW50QW5pbWF0aW9uLmRvbmUpPVwib25PdmVybGF5Q29udGVudEFuaW1hdGlvbkRvbmUoJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiB7IG1vZGU6IG92ZXJsYXlNb2RlIH0gfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIGAsXG4gICAgYW5pbWF0aW9uczogW3RyaWdnZXIoJ292ZXJsYXlDb250ZW50QW5pbWF0aW9uJywgW3RyYW5zaXRpb24oJzplbnRlcicsIFt1c2VBbmltYXRpb24oc2hvd092ZXJsYXlDb250ZW50QW5pbWF0aW9uKV0pLCB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbdXNlQW5pbWF0aW9uKGhpZGVPdmVybGF5Q29udGVudEFuaW1hdGlvbildKV0pXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW092ZXJsYXlTdHlsZV1cbn0pXG5leHBvcnQgY2xhc3MgT3ZlcmxheSBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIFRoZSB2aXNpYmxlIHByb3BlcnR5IGlzIGFuIGlucHV0IHRoYXQgZGV0ZXJtaW5lcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIEBkZWZhdWx0VmFsdWUgZmFsc2VcbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XG4gICAgfVxuICAgIHNldCB2aXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcblxuICAgICAgICBpZiAodGhpcy5fdmlzaWJsZSAmJiAhdGhpcy5tb2RhbFZpc2libGUpIHtcbiAgICAgICAgICAgIHRoaXMubW9kYWxWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBUaGUgbW9kZSBwcm9wZXJ0eSBpcyBhbiBpbnB1dCB0aGF0IGRldGVybWluZXMgdGhlIG92ZXJsYXkgbW9kZSB0eXBlIG9yIHN0cmluZy5cbiAgICAgKiBAZGVmYXVsdFZhbHVlIG51bGxcbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBnZXQgbW9kZSgpOiBPdmVybGF5TW9kZVR5cGUgfCBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbW9kZSB8fCB0aGlzLm92ZXJsYXlPcHRpb25zPy5tb2RlO1xuICAgIH1cbiAgICBzZXQgbW9kZSh2YWx1ZTogT3ZlcmxheU1vZGVUeXBlIHwgc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX21vZGUgPSB2YWx1ZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogVGhlIHN0eWxlIHByb3BlcnR5IGlzIGFuIGlucHV0IHRoYXQgZGV0ZXJtaW5lcyB0aGUgc3R5bGUgb2JqZWN0IGZvciB0aGUgY29tcG9uZW50LlxuICAgICAqIEBkZWZhdWx0VmFsdWUgbnVsbFxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGdldCBzdHlsZSgpOiB7IFtrbGFzczogc3RyaW5nXTogYW55IH0gfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdFV0aWxzLm1lcmdlKHRoaXMuX3N0eWxlLCB0aGlzLm1vZGFsID8gdGhpcy5vdmVybGF5UmVzcG9uc2l2ZU9wdGlvbnM/LnN0eWxlIDogdGhpcy5vdmVybGF5T3B0aW9ucz8uc3R5bGUpO1xuICAgIH1cbiAgICBzZXQgc3R5bGUodmFsdWU6IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfSB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fc3R5bGUgPSB2YWx1ZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogVGhlIHN0eWxlQ2xhc3MgcHJvcGVydHkgaXMgYW4gaW5wdXQgdGhhdCBkZXRlcm1pbmVzIHRoZSBDU1MgY2xhc3MoZXMpIGZvciB0aGUgY29tcG9uZW50LlxuICAgICAqIEBkZWZhdWx0VmFsdWUgbnVsbFxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGdldCBzdHlsZUNsYXNzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBPYmplY3RVdGlscy5tZXJnZSh0aGlzLl9zdHlsZUNsYXNzLCB0aGlzLm1vZGFsID8gdGhpcy5vdmVybGF5UmVzcG9uc2l2ZU9wdGlvbnM/LnN0eWxlQ2xhc3MgOiB0aGlzLm92ZXJsYXlPcHRpb25zPy5zdHlsZUNsYXNzKTtcbiAgICB9XG4gICAgc2V0IHN0eWxlQ2xhc3ModmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9zdHlsZUNsYXNzID0gdmFsdWU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFRoZSBjb250ZW50U3R5bGUgcHJvcGVydHkgaXMgYW4gaW5wdXQgdGhhdCBkZXRlcm1pbmVzIHRoZSBzdHlsZSBvYmplY3QgZm9yIHRoZSBjb250ZW50IG9mIHRoZSBjb21wb25lbnQuXG4gICAgICogQGRlZmF1bHRWYWx1ZSBudWxsXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgZ2V0IGNvbnRlbnRTdHlsZSgpOiB7IFtrbGFzczogc3RyaW5nXTogYW55IH0gfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdFV0aWxzLm1lcmdlKHRoaXMuX2NvbnRlbnRTdHlsZSwgdGhpcy5tb2RhbCA/IHRoaXMub3ZlcmxheVJlc3BvbnNpdmVPcHRpb25zPy5jb250ZW50U3R5bGUgOiB0aGlzLm92ZXJsYXlPcHRpb25zPy5jb250ZW50U3R5bGUpO1xuICAgIH1cbiAgICBzZXQgY29udGVudFN0eWxlKHZhbHVlOiB7IFtrbGFzczogc3RyaW5nXTogYW55IH0gfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX2NvbnRlbnRTdHlsZSA9IHZhbHVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBUaGUgY29udGVudFN0eWxlQ2xhc3MgcHJvcGVydHkgaXMgYW4gaW5wdXQgdGhhdCBkZXRlcm1pbmVzIHRoZSBDU1MgY2xhc3MoZXMpIGZvciB0aGUgY29udGVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIEBkZWZhdWx0VmFsdWUgbnVsbFxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGdldCBjb250ZW50U3R5bGVDbGFzcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gT2JqZWN0VXRpbHMubWVyZ2UodGhpcy5fY29udGVudFN0eWxlQ2xhc3MsIHRoaXMubW9kYWwgPyB0aGlzLm92ZXJsYXlSZXNwb25zaXZlT3B0aW9ucz8uY29udGVudFN0eWxlQ2xhc3MgOiB0aGlzLm92ZXJsYXlPcHRpb25zPy5jb250ZW50U3R5bGVDbGFzcyk7XG4gICAgfVxuICAgIHNldCBjb250ZW50U3R5bGVDbGFzcyh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2NvbnRlbnRTdHlsZUNsYXNzID0gdmFsdWU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFRoZSB0YXJnZXQgcHJvcGVydHkgaXMgYW4gaW5wdXQgdGhhdCBzcGVjaWZpZXMgdGhlIHRhcmdldCBlbGVtZW50IG9yIHNlbGVjdG9yIGZvciB0aGUgY29tcG9uZW50LlxuICAgICAqIEBkZWZhdWx0VmFsdWUgbnVsbFxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGdldCB0YXJnZXQoKTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5fdGFyZ2V0IHx8IHRoaXMub3ZlcmxheU9wdGlvbnM/LnRhcmdldDtcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSB1bmRlZmluZWQgPyAnQHByZXYnIDogdmFsdWU7XG4gICAgfVxuICAgIHNldCB0YXJnZXQodmFsdWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fdGFyZ2V0ID0gdmFsdWU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIE92ZXJsYXkgY2FuIGJlIG1vdW50ZWQgaW50byBpdHMgbG9jYXRpb24sIGJvZHkgb3IgRE9NIGVsZW1lbnQgaW5zdGFuY2UgdXNpbmcgdGhpcyBvcHRpb24uXG4gICAgICogQGRlZmF1bHRWYWx1ZSBudWxsXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgZ2V0IGFwcGVuZFRvKCk6ICdib2R5JyB8IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwcGVuZFRvIHx8IHRoaXMub3ZlcmxheU9wdGlvbnM/LmFwcGVuZFRvO1xuICAgIH1cbiAgICBzZXQgYXBwZW5kVG8odmFsdWU6ICdib2R5JyB8IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX2FwcGVuZFRvID0gdmFsdWU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFRoZSBhdXRvWkluZGV4IGRldGVybWluZXMgd2hldGhlciB0byBhdXRvbWF0aWNhbGx5IG1hbmFnZSBsYXllcmluZy4gSXRzIGRlZmF1bHQgdmFsdWUgaXMgJ2ZhbHNlJy5cbiAgICAgKiBAZGVmYXVsdFZhbHVlIGZhbHNlXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgZ2V0IGF1dG9aSW5kZXgoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5fYXV0b1pJbmRleCB8fCB0aGlzLm92ZXJsYXlPcHRpb25zPy5hdXRvWkluZGV4O1xuICAgICAgICByZXR1cm4gdmFsdWUgPT09IHVuZGVmaW5lZCA/IHRydWUgOiB2YWx1ZTtcbiAgICB9XG4gICAgc2V0IGF1dG9aSW5kZXgodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fYXV0b1pJbmRleCA9IHZhbHVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZVpJbmRleCBpcyBiYXNlIHpJbmRleCB2YWx1ZSB0byB1c2UgaW4gbGF5ZXJpbmcuXG4gICAgICogQGRlZmF1bHRWYWx1ZSBudWxsXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgZ2V0IGJhc2VaSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLl9iYXNlWkluZGV4IHx8IHRoaXMub3ZlcmxheU9wdGlvbnM/LmJhc2VaSW5kZXg7XG4gICAgICAgIHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkID8gMCA6IHZhbHVlO1xuICAgIH1cbiAgICBzZXQgYmFzZVpJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX2Jhc2VaSW5kZXggPSB2YWx1ZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogVHJhbnNpdGlvbiBvcHRpb25zIG9mIHRoZSBzaG93IG9yIGhpZGUgYW5pbWF0aW9uLlxuICAgICAqIEBkZWZhdWx0VmFsdWUgLjEycyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKVxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGdldCBzaG93VHJhbnNpdGlvbk9wdGlvbnMoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLl9zaG93VHJhbnNpdGlvbk9wdGlvbnMgfHwgdGhpcy5vdmVybGF5T3B0aW9ucz8uc2hvd1RyYW5zaXRpb25PcHRpb25zO1xuICAgICAgICByZXR1cm4gdmFsdWUgPT09IHVuZGVmaW5lZCA/ICcuMTJzIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpJyA6IHZhbHVlO1xuICAgIH1cbiAgICBzZXQgc2hvd1RyYW5zaXRpb25PcHRpb25zKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc2hvd1RyYW5zaXRpb25PcHRpb25zID0gdmFsdWU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFRoZSBoaWRlVHJhbnNpdGlvbk9wdGlvbnMgcHJvcGVydHkgaXMgYW4gaW5wdXQgdGhhdCBkZXRlcm1pbmVzIHRoZSBDU1MgdHJhbnNpdGlvbiBvcHRpb25zIGZvciBoaWRpbmcgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAZGVmYXVsdFZhbHVlIC4xcyBsaW5lYXJcbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBnZXQgaGlkZVRyYW5zaXRpb25PcHRpb25zKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5faGlkZVRyYW5zaXRpb25PcHRpb25zIHx8IHRoaXMub3ZlcmxheU9wdGlvbnM/LmhpZGVUcmFuc2l0aW9uT3B0aW9ucztcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSB1bmRlZmluZWQgPyAnLjFzIGxpbmVhcicgOiB2YWx1ZTtcbiAgICB9XG4gICAgc2V0IGhpZGVUcmFuc2l0aW9uT3B0aW9ucyh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2hpZGVUcmFuc2l0aW9uT3B0aW9ucyA9IHZhbHVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBUaGUgbGlzdGVuZXIgcHJvcGVydHkgaXMgYW4gaW5wdXQgdGhhdCBzcGVjaWZpZXMgdGhlIGxpc3RlbmVyIG9iamVjdCBmb3IgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAZGVmYXVsdFZhbHVlIG51bGxcbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBnZXQgbGlzdGVuZXIoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xpc3RlbmVyIHx8IHRoaXMub3ZlcmxheU9wdGlvbnM/Lmxpc3RlbmVyO1xuICAgIH1cbiAgICBzZXQgbGlzdGVuZXIodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl9saXN0ZW5lciA9IHZhbHVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJdCBpcyB0aGUgb3B0aW9uIHVzZWQgdG8gZGV0ZXJtaW5lIGluIHdoaWNoIG1vZGUgaXQgc2hvdWxkIGFwcGVhciBhY2NvcmRpbmcgdG8gdGhlIGdpdmVuIG1lZGlhIG9yIGJyZWFrcG9pbnQuXG4gICAgICogQGRlZmF1bHRWYWx1ZSBudWxsXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgZ2V0IHJlc3BvbnNpdmUoKTogUmVzcG9uc2l2ZU92ZXJsYXlPcHRpb25zIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc3BvbnNpdmUgfHwgdGhpcy5vdmVybGF5T3B0aW9ucz8ucmVzcG9uc2l2ZTtcbiAgICB9XG4gICAgc2V0IHJlc3BvbnNpdmUodmFsOiBSZXNwb25zaXZlT3ZlcmxheU9wdGlvbnMgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fcmVzcG9uc2l2ZSA9IHZhbDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogVGhlIG9wdGlvbnMgcHJvcGVydHkgaXMgYW4gaW5wdXQgdGhhdCBzcGVjaWZpZXMgdGhlIG92ZXJsYXkgb3B0aW9ucyBmb3IgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAZGVmYXVsdFZhbHVlIG51bGxcbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBnZXQgb3B0aW9ucygpOiBPdmVybGF5T3B0aW9ucyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcHRpb25zO1xuICAgIH1cbiAgICBzZXQgb3B0aW9ucyh2YWw6IE92ZXJsYXlPcHRpb25zIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX29wdGlvbnMgPSB2YWw7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFRoaXMgRXZlbnRFbWl0dGVyIGlzIHVzZWQgdG8gbm90aWZ5IGNoYW5nZXMgaW4gdGhlIHZpc2liaWxpdHkgc3RhdGUgb2YgYSBjb21wb25lbnQuXG4gICAgICogQHBhcmFtIHtCb29sZWFufSBib29sZWFuIC0gVmFsdWUgb2YgdmlzaWJpbGl0eSBhcyBib29sZWFuLlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIGJlZm9yZSB0aGUgb3ZlcmxheSBpcyBzaG93bi5cbiAgICAgKiBAcGFyYW0ge092ZXJsYXlPbkJlZm9yZVNob3dFdmVudH0gZXZlbnQgLSBDdXN0b20gb3ZlcmxheSBiZWZvcmUgc2hvdyBldmVudC5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25CZWZvcmVTaG93OiBFdmVudEVtaXR0ZXI8T3ZlcmxheU9uQmVmb3JlU2hvd0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8T3ZlcmxheU9uQmVmb3JlU2hvd0V2ZW50PigpO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIHRoZSBvdmVybGF5IGlzIHNob3duLlxuICAgICAqIEBwYXJhbSB7T3ZlcmxheU9uU2hvd0V2ZW50fSBldmVudCAtIEN1c3RvbSBvdmVybGF5IHNob3cgZXZlbnQuXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uU2hvdzogRXZlbnRFbWl0dGVyPE92ZXJsYXlPblNob3dFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE92ZXJsYXlPblNob3dFdmVudD4oKTtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2UgYmVmb3JlIHRoZSBvdmVybGF5IGlzIGhpZGRlbi5cbiAgICAgKiBAcGFyYW0ge092ZXJsYXlPbkJlZm9yZUhpZGVFdmVudH0gZXZlbnQgLSBDdXN0b20gb3ZlcmxheSBiZWZvcmUgaGlkZSBldmVudC5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25CZWZvcmVIaWRlOiBFdmVudEVtaXR0ZXI8T3ZlcmxheU9uQmVmb3JlSGlkZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8T3ZlcmxheU9uQmVmb3JlSGlkZUV2ZW50PigpO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIHRoZSBvdmVybGF5IGlzIGhpZGRlblxuICAgICAqIEBwYXJhbSB7T3ZlcmxheU9uSGlkZUV2ZW50fSBldmVudCAtIEN1c3RvbSBoaWRlIGV2ZW50LlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbkhpZGU6IEV2ZW50RW1pdHRlcjxPdmVybGF5T25IaWRlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxPdmVybGF5T25IaWRlRXZlbnQ+KCk7XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gdGhlIGFuaW1hdGlvbiBpcyBzdGFydGVkLlxuICAgICAqIEBwYXJhbSB7QW5pbWF0aW9uRXZlbnR9IGV2ZW50IC0gQW5pbWF0aW9uIGV2ZW50LlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbkFuaW1hdGlvblN0YXJ0OiBFdmVudEVtaXR0ZXI8QW5pbWF0aW9uRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBbmltYXRpb25FdmVudD4oKTtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiB0aGUgYW5pbWF0aW9uIGlzIGRvbmUuXG4gICAgICogQHBhcmFtIHtBbmltYXRpb25FdmVudH0gZXZlbnQgLSBBbmltYXRpb24gZXZlbnQuXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uQW5pbWF0aW9uRG9uZTogRXZlbnRFbWl0dGVyPEFuaW1hdGlvbkV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QW5pbWF0aW9uRXZlbnQ+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdvdmVybGF5Jykgb3ZlcmxheVZpZXdDaGlsZDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICAgIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnKSBjb250ZW50Vmlld0NoaWxkOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIENvbnRlbnQgdGVtcGxhdGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAZ3JvdXAgVGVtcGxhdGVzXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnY29udGVudCcpIGNvbnRlbnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIF92aXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBfbW9kZTogT3ZlcmxheU1vZGVUeXBlIHwgc3RyaW5nO1xuXG4gICAgX3N0eWxlOiB7IFtrbGFzczogc3RyaW5nXTogYW55IH0gfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4gICAgX3N0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgIF9jb250ZW50U3R5bGU6IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfSB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgICBfY29udGVudFN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgIF90YXJnZXQ6IGFueTtcblxuICAgIF9hcHBlbmRUbzogJ2JvZHknIHwgSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgICBfYXV0b1pJbmRleDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAgIF9iYXNlWkluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgICBfc2hvd1RyYW5zaXRpb25PcHRpb25zOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICBfaGlkZVRyYW5zaXRpb25PcHRpb25zOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICBfbGlzdGVuZXI6IGFueTtcblxuICAgIF9yZXNwb25zaXZlOiBSZXNwb25zaXZlT3ZlcmxheU9wdGlvbnMgfCB1bmRlZmluZWQ7XG5cbiAgICBfb3B0aW9uczogT3ZlcmxheU9wdGlvbnMgfCB1bmRlZmluZWQ7XG5cbiAgICBtb2RhbFZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGlzT3ZlcmxheUNsaWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGlzT3ZlcmxheUNvbnRlbnRDbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBzY3JvbGxIYW5kbGVyOiBhbnk7XG5cbiAgICBkb2N1bWVudENsaWNrTGlzdGVuZXI6IGFueTtcblxuICAgIGRvY3VtZW50UmVzaXplTGlzdGVuZXI6IGFueTtcblxuICAgIF9jb21wb25lbnRTdHlsZSA9IGluamVjdChPdmVybGF5U3R5bGUpO1xuXG4gICAgcHJpdmF0ZSBkb2N1bWVudEtleWJvYXJkTGlzdGVuZXI6IFZvaWRMaXN0ZW5lcjtcblxuICAgIHByaXZhdGUgd2luZG93OiBXaW5kb3cgfCBudWxsO1xuXG4gICAgcHJvdGVjdGVkIHRyYW5zZm9ybU9wdGlvbnM6IGFueSA9IHtcbiAgICAgICAgZGVmYXVsdDogJ3NjYWxlWSgwLjgpJyxcbiAgICAgICAgY2VudGVyOiAnc2NhbGUoMC43KScsXG4gICAgICAgIHRvcDogJ3RyYW5zbGF0ZTNkKDBweCwgLTEwMCUsIDBweCknLFxuICAgICAgICAndG9wLXN0YXJ0JzogJ3RyYW5zbGF0ZTNkKDBweCwgLTEwMCUsIDBweCknLFxuICAgICAgICAndG9wLWVuZCc6ICd0cmFuc2xhdGUzZCgwcHgsIC0xMDAlLCAwcHgpJyxcbiAgICAgICAgYm90dG9tOiAndHJhbnNsYXRlM2QoMHB4LCAxMDAlLCAwcHgpJyxcbiAgICAgICAgJ2JvdHRvbS1zdGFydCc6ICd0cmFuc2xhdGUzZCgwcHgsIDEwMCUsIDBweCknLFxuICAgICAgICAnYm90dG9tLWVuZCc6ICd0cmFuc2xhdGUzZCgwcHgsIDEwMCUsIDBweCknLFxuICAgICAgICBsZWZ0OiAndHJhbnNsYXRlM2QoLTEwMCUsIDBweCwgMHB4KScsXG4gICAgICAgICdsZWZ0LXN0YXJ0JzogJ3RyYW5zbGF0ZTNkKC0xMDAlLCAwcHgsIDBweCknLFxuICAgICAgICAnbGVmdC1lbmQnOiAndHJhbnNsYXRlM2QoLTEwMCUsIDBweCwgMHB4KScsXG4gICAgICAgIHJpZ2h0OiAndHJhbnNsYXRlM2QoMTAwJSwgMHB4LCAwcHgpJyxcbiAgICAgICAgJ3JpZ2h0LXN0YXJ0JzogJ3RyYW5zbGF0ZTNkKDEwMCUsIDBweCwgMHB4KScsXG4gICAgICAgICdyaWdodC1lbmQnOiAndHJhbnNsYXRlM2QoMTAwJSwgMHB4LCAwcHgpJ1xuICAgIH07XG5cbiAgICBnZXQgbW9kYWwoKSB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5tb2RlID09PSAnbW9kYWwnIHx8ICh0aGlzLm92ZXJsYXlSZXNwb25zaXZlT3B0aW9ucyAmJiB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3Py5tYXRjaE1lZGlhKHRoaXMub3ZlcmxheVJlc3BvbnNpdmVPcHRpb25zLm1lZGlhPy5yZXBsYWNlKCdAbWVkaWEnLCAnJykgfHwgYChtYXgtd2lkdGg6ICR7dGhpcy5vdmVybGF5UmVzcG9uc2l2ZU9wdGlvbnMuYnJlYWtwb2ludH0pYCkubWF0Y2hlcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgb3ZlcmxheU1vZGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vZGUgfHwgKHRoaXMubW9kYWwgPyAnbW9kYWwnIDogJ292ZXJsYXknKTtcbiAgICB9XG5cbiAgICBnZXQgb3ZlcmxheU9wdGlvbnMoKTogT3ZlcmxheU9wdGlvbnMge1xuICAgICAgICByZXR1cm4geyAuLi50aGlzLmNvbmZpZz8ub3ZlcmxheU9wdGlvbnMsIC4uLnRoaXMub3B0aW9ucyB9OyAvLyBUT0RPOiBJbXByb3ZlIHBlcmZvcm1hbmNlXG4gICAgfVxuXG4gICAgZ2V0IG92ZXJsYXlSZXNwb25zaXZlT3B0aW9ucygpOiBSZXNwb25zaXZlT3ZlcmxheU9wdGlvbnMge1xuICAgICAgICByZXR1cm4geyAuLi50aGlzLm92ZXJsYXlPcHRpb25zPy5yZXNwb25zaXZlLCAuLi50aGlzLnJlc3BvbnNpdmUgfTsgLy8gVE9ETzogSW1wcm92ZSBwZXJmb3JtYW5jZVxuICAgIH1cblxuICAgIGdldCBvdmVybGF5UmVzcG9uc2l2ZURpcmVjdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheVJlc3BvbnNpdmVPcHRpb25zPy5kaXJlY3Rpb24gfHwgJ2NlbnRlcic7XG4gICAgfVxuXG4gICAgZ2V0IG92ZXJsYXlFbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheVZpZXdDaGlsZD8ubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgY29udGVudEVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50Vmlld0NoaWxkPy5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCB0YXJnZXRFbCgpIHtcbiAgICAgICAgcmV0dXJuIDxhbnk+Z2V0VGFyZ2V0RWxlbWVudCh0aGlzLnRhcmdldCwgdGhpcy5lbD8ubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBvdmVybGF5U2VydmljZTogT3ZlcmxheVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgem9uZTogTmdab25lXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgc2hvdyhvdmVybGF5PzogSFRNTEVsZW1lbnQsIGlzRm9jdXM6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICB0aGlzLm9uVmlzaWJsZUNoYW5nZSh0cnVlKTtcbiAgICAgICAgdGhpcy5oYW5kbGVFdmVudHMoJ29uU2hvdycsIHsgb3ZlcmxheTogb3ZlcmxheSB8fCB0aGlzLm92ZXJsYXlFbCwgdGFyZ2V0OiB0aGlzLnRhcmdldEVsLCBtb2RlOiB0aGlzLm92ZXJsYXlNb2RlIH0pO1xuXG4gICAgICAgIGlzRm9jdXMgJiYgZm9jdXModGhpcy50YXJnZXRFbCk7XG4gICAgICAgIHRoaXMubW9kYWwgJiYgYWRkQ2xhc3ModGhpcy5kb2N1bWVudD8uYm9keSwgJ3Atb3ZlcmZsb3ctaGlkZGVuJyk7XG4gICAgfVxuXG4gICAgaGlkZShvdmVybGF5PzogSFRNTEVsZW1lbnQsIGlzRm9jdXM6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vblZpc2libGVDaGFuZ2UoZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVFdmVudHMoJ29uSGlkZScsIHsgb3ZlcmxheTogb3ZlcmxheSB8fCB0aGlzLm92ZXJsYXlFbCwgdGFyZ2V0OiB0aGlzLnRhcmdldEVsLCBtb2RlOiB0aGlzLm92ZXJsYXlNb2RlIH0pO1xuICAgICAgICAgICAgaXNGb2N1cyAmJiBmb2N1cyh0aGlzLnRhcmdldEVsIGFzIGFueSk7XG4gICAgICAgICAgICB0aGlzLm1vZGFsICYmIHJlbW92ZUNsYXNzKHRoaXMuZG9jdW1lbnQ/LmJvZHksICdwLW92ZXJmbG93LWhpZGRlbicpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYWxpZ25PdmVybGF5KCkge1xuICAgICAgICAhdGhpcy5tb2RhbCAmJiBEb21IYW5kbGVyLmFsaWduT3ZlcmxheSh0aGlzLm92ZXJsYXlFbCwgdGhpcy50YXJnZXRFbCwgdGhpcy5hcHBlbmRUbyk7XG4gICAgfVxuXG4gICAgb25WaXNpYmxlQ2hhbmdlKHZpc2libGU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fdmlzaWJsZSA9IHZpc2libGU7XG4gICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZpc2libGUpO1xuICAgIH1cblxuICAgIG9uT3ZlcmxheUNsaWNrKCkge1xuICAgICAgICB0aGlzLmlzT3ZlcmxheUNsaWNrZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIG9uT3ZlcmxheUNvbnRlbnRDbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgICBvcmlnaW5hbEV2ZW50OiBldmVudCxcbiAgICAgICAgICAgIHRhcmdldDogdGhpcy50YXJnZXRFbFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmlzT3ZlcmxheUNvbnRlbnRDbGlja2VkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBvbk92ZXJsYXlDb250ZW50QW5pbWF0aW9uU3RhcnQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQudG9TdGF0ZSkge1xuICAgICAgICAgICAgY2FzZSAndmlzaWJsZSc6XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFdmVudHMoJ29uQmVmb3JlU2hvdycsIHsgb3ZlcmxheTogdGhpcy5vdmVybGF5RWwsIHRhcmdldDogdGhpcy50YXJnZXRFbCwgbW9kZTogdGhpcy5vdmVybGF5TW9kZSB9KTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmF1dG9aSW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgWkluZGV4VXRpbHMuc2V0KHRoaXMub3ZlcmxheU1vZGUsIHRoaXMub3ZlcmxheUVsLCB0aGlzLmJhc2VaSW5kZXggKyB0aGlzLmNvbmZpZz8uekluZGV4W3RoaXMub3ZlcmxheU1vZGVdKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBEb21IYW5kbGVyLmFwcGVuZE92ZXJsYXkodGhpcy5vdmVybGF5RWwsIHRoaXMuYXBwZW5kVG8gPT09ICdib2R5JyA/IHRoaXMuZG9jdW1lbnQuYm9keSA6IHRoaXMuYXBwZW5kVG8sIHRoaXMuYXBwZW5kVG8pO1xuICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25PdmVybGF5KCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ3ZvaWQnOlxuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlRXZlbnRzKCdvbkJlZm9yZUhpZGUnLCB7IG92ZXJsYXk6IHRoaXMub3ZlcmxheUVsLCB0YXJnZXQ6IHRoaXMudGFyZ2V0RWwsIG1vZGU6IHRoaXMub3ZlcmxheU1vZGUgfSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLm1vZGFsICYmIGFkZENsYXNzKHRoaXMub3ZlcmxheUVsLCAncC1vdmVybGF5LW1hc2stbGVhdmUnKTtcblxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5oYW5kbGVFdmVudHMoJ29uQW5pbWF0aW9uU3RhcnQnLCBldmVudCk7XG4gICAgfVxuXG4gICAgb25PdmVybGF5Q29udGVudEFuaW1hdGlvbkRvbmUoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMub3ZlcmxheUVsIHx8IGV2ZW50LmVsZW1lbnQucGFyZW50RWxlbWVudDtcblxuICAgICAgICBzd2l0Y2ggKGV2ZW50LnRvU3RhdGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3Zpc2libGUnOlxuICAgICAgICAgICAgICAgIHRoaXMuc2hvdyhjb250YWluZXIsIHRydWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuYmluZExpc3RlbmVycygpO1xuXG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ3ZvaWQnOlxuICAgICAgICAgICAgICAgIHRoaXMuaGlkZShjb250YWluZXIsIHRydWUpO1xuICAgICAgICAgICAgICAgIHRoaXMudW5iaW5kTGlzdGVuZXJzKCk7XG5cbiAgICAgICAgICAgICAgICBEb21IYW5kbGVyLmFwcGVuZE92ZXJsYXkodGhpcy5vdmVybGF5RWwsIHRoaXMudGFyZ2V0RWwsIHRoaXMuYXBwZW5kVG8pO1xuICAgICAgICAgICAgICAgIFpJbmRleFV0aWxzLmNsZWFyKGNvbnRhaW5lcik7XG4gICAgICAgICAgICAgICAgdGhpcy5tb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhhbmRsZUV2ZW50cygnb25BbmltYXRpb25Eb25lJywgZXZlbnQpO1xuICAgIH1cblxuICAgIGhhbmRsZUV2ZW50cyhuYW1lOiBzdHJpbmcsIHBhcmFtczogYW55KSB7XG4gICAgICAgICh0aGlzIGFzIGFueSlbbmFtZV0uZW1pdChwYXJhbXMpO1xuICAgICAgICB0aGlzLm9wdGlvbnMgJiYgKHRoaXMub3B0aW9ucyBhcyBhbnkpW25hbWVdICYmICh0aGlzLm9wdGlvbnMgYXMgYW55KVtuYW1lXShwYXJhbXMpO1xuICAgICAgICB0aGlzLmNvbmZpZz8ub3ZlcmxheU9wdGlvbnMgJiYgKHRoaXMuY29uZmlnPy5vdmVybGF5T3B0aW9ucyBhcyBhbnkpW25hbWVdICYmICh0aGlzLmNvbmZpZz8ub3ZlcmxheU9wdGlvbnMgYXMgYW55KVtuYW1lXShwYXJhbXMpO1xuICAgIH1cblxuICAgIGJpbmRMaXN0ZW5lcnMoKSB7XG4gICAgICAgIHRoaXMuYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgICAgIHRoaXMuYmluZERvY3VtZW50Q2xpY2tMaXN0ZW5lcigpO1xuICAgICAgICB0aGlzLmJpbmREb2N1bWVudFJlc2l6ZUxpc3RlbmVyKCk7XG4gICAgICAgIHRoaXMuYmluZERvY3VtZW50S2V5Ym9hcmRMaXN0ZW5lcigpO1xuICAgIH1cblxuICAgIHVuYmluZExpc3RlbmVycygpIHtcbiAgICAgICAgdGhpcy51bmJpbmRTY3JvbGxMaXN0ZW5lcigpO1xuICAgICAgICB0aGlzLnVuYmluZERvY3VtZW50Q2xpY2tMaXN0ZW5lcigpO1xuICAgICAgICB0aGlzLnVuYmluZERvY3VtZW50UmVzaXplTGlzdGVuZXIoKTtcbiAgICAgICAgdGhpcy51bmJpbmREb2N1bWVudEtleWJvYXJkTGlzdGVuZXIoKTtcbiAgICB9XG5cbiAgICBiaW5kU2Nyb2xsTGlzdGVuZXIoKSB7XG4gICAgICAgIGlmICghdGhpcy5zY3JvbGxIYW5kbGVyKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbEhhbmRsZXIgPSBuZXcgQ29ubmVjdGVkT3ZlcmxheVNjcm9sbEhhbmRsZXIodGhpcy50YXJnZXRFbCwgKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWxpZCA9IHRoaXMubGlzdGVuZXIgPyB0aGlzLmxpc3RlbmVyKGV2ZW50LCB7IHR5cGU6ICdzY3JvbGwnLCBtb2RlOiB0aGlzLm92ZXJsYXlNb2RlLCB2YWxpZDogdHJ1ZSB9KSA6IHRydWU7XG5cbiAgICAgICAgICAgICAgICB2YWxpZCAmJiB0aGlzLmhpZGUoZXZlbnQsIHRydWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNjcm9sbEhhbmRsZXIuYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgfVxuXG4gICAgdW5iaW5kU2Nyb2xsTGlzdGVuZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLnNjcm9sbEhhbmRsZXIpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlci51bmJpbmRTY3JvbGxMaXN0ZW5lcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmluZERvY3VtZW50Q2xpY2tMaXN0ZW5lcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRvY3VtZW50Q2xpY2tMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudENsaWNrTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmRvY3VtZW50LCAnY2xpY2snLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc1RhcmdldENsaWNrZWQgPSB0aGlzLnRhcmdldEVsICYmICgodGhpcy50YXJnZXRFbCBhcyBhbnkpLmlzU2FtZU5vZGUoZXZlbnQudGFyZ2V0KSB8fCAoIXRoaXMuaXNPdmVybGF5Q2xpY2tlZCAmJiAodGhpcy50YXJnZXRFbCBhcyBhbnkpLmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpKTtcbiAgICAgICAgICAgICAgICBjb25zdCBpc091dHNpZGVDbGlja2VkID0gIWlzVGFyZ2V0Q2xpY2tlZCAmJiAhdGhpcy5pc092ZXJsYXlDb250ZW50Q2xpY2tlZDtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWxpZCA9IHRoaXMubGlzdGVuZXIgPyB0aGlzLmxpc3RlbmVyKGV2ZW50LCB7IHR5cGU6ICdvdXRzaWRlJywgbW9kZTogdGhpcy5vdmVybGF5TW9kZSwgdmFsaWQ6IGV2ZW50LndoaWNoICE9PSAzICYmIGlzT3V0c2lkZUNsaWNrZWQgfSkgOiBpc091dHNpZGVDbGlja2VkO1xuXG4gICAgICAgICAgICAgICAgdmFsaWQgJiYgdGhpcy5oaWRlKGV2ZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzT3ZlcmxheUNsaWNrZWQgPSB0aGlzLmlzT3ZlcmxheUNvbnRlbnRDbGlja2VkID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVuYmluZERvY3VtZW50Q2xpY2tMaXN0ZW5lcigpIHtcbiAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnRDbGlja0xpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50Q2xpY2tMaXN0ZW5lcigpO1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudENsaWNrTGlzdGVuZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmluZERvY3VtZW50UmVzaXplTGlzdGVuZXIoKSB7XG4gICAgICAgIGlmICghdGhpcy5kb2N1bWVudFJlc2l6ZUxpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50UmVzaXplTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3LCAncmVzaXplJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsaWQgPSB0aGlzLmxpc3RlbmVyID8gdGhpcy5saXN0ZW5lcihldmVudCwgeyB0eXBlOiAncmVzaXplJywgbW9kZTogdGhpcy5vdmVybGF5TW9kZSwgdmFsaWQ6ICFpc1RvdWNoRGV2aWNlKCkgfSkgOiAhaXNUb3VjaERldmljZSgpO1xuXG4gICAgICAgICAgICAgICAgdmFsaWQgJiYgdGhpcy5oaWRlKGV2ZW50LCB0cnVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdW5iaW5kRG9jdW1lbnRSZXNpemVMaXN0ZW5lcigpIHtcbiAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnRSZXNpemVMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudFJlc2l6ZUxpc3RlbmVyKCk7XG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50UmVzaXplTGlzdGVuZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmluZERvY3VtZW50S2V5Ym9hcmRMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnRLZXlib2FyZExpc3RlbmVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudEtleWJvYXJkTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3LCAna2V5ZG93bicsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm92ZXJsYXlPcHRpb25zLmhpZGVPbkVzY2FwZSA9PT0gZmFsc2UgfHwgZXZlbnQuY29kZSAhPT0gJ0VzY2FwZScpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbGlkID0gdGhpcy5saXN0ZW5lciA/IHRoaXMubGlzdGVuZXIoZXZlbnQsIHsgdHlwZTogJ2tleWRvd24nLCBtb2RlOiB0aGlzLm92ZXJsYXlNb2RlLCB2YWxpZDogIWlzVG91Y2hEZXZpY2UoKSB9KSA6ICFpc1RvdWNoRGV2aWNlKCk7XG5cbiAgICAgICAgICAgICAgICBpZiAodmFsaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZGUoZXZlbnQsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdW5iaW5kRG9jdW1lbnRLZXlib2FyZExpc3RlbmVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kb2N1bWVudEtleWJvYXJkTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRLZXlib2FyZExpc3RlbmVyKCk7XG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50S2V5Ym9hcmRMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5oaWRlKHRoaXMub3ZlcmxheUVsLCB0cnVlKTtcblxuICAgICAgICBpZiAodGhpcy5vdmVybGF5RWwpIHtcbiAgICAgICAgICAgIERvbUhhbmRsZXIuYXBwZW5kT3ZlcmxheSh0aGlzLm92ZXJsYXlFbCwgdGhpcy50YXJnZXRFbCwgdGhpcy5hcHBlbmRUbyk7XG4gICAgICAgICAgICBaSW5kZXhVdGlscy5jbGVhcih0aGlzLm92ZXJsYXlFbCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5zY3JvbGxIYW5kbGVyKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbEhhbmRsZXIuZGVzdHJveSgpO1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxIYW5kbGVyID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudW5iaW5kTGlzdGVuZXJzKCk7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtPdmVybGF5LCBTaGFyZWRNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtPdmVybGF5LCBTaGFyZWRNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIE92ZXJsYXlNb2R1bGUge31cbiJdfQ==