primeng 18.0.1 → 19.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1078) hide show
  1. package/base/style/basestyle.d.ts +11 -11
  2. package/config/themeprovider.d.ts +6 -0
  3. package/confirmdialog/confirmdialog.d.ts +1 -0
  4. package/dynamicdialog/dynamicdialog.d.ts +2 -2
  5. package/fesm2022/primeng-accordion.mjs +10 -10
  6. package/fesm2022/primeng-accordion.mjs.map +1 -1
  7. package/fesm2022/primeng-animateonscroll.mjs +1 -1
  8. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  9. package/fesm2022/primeng-api.mjs +5 -5
  10. package/fesm2022/primeng-api.mjs.map +1 -1
  11. package/fesm2022/primeng-autocomplete.mjs +2 -2
  12. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  13. package/fesm2022/primeng-autofocus.mjs +1 -1
  14. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  15. package/fesm2022/primeng-avatar.mjs +2 -2
  16. package/fesm2022/primeng-avatar.mjs.map +1 -1
  17. package/fesm2022/primeng-avatargroup.mjs +2 -2
  18. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  19. package/fesm2022/primeng-badge.mjs +3 -3
  20. package/fesm2022/primeng-badge.mjs.map +1 -1
  21. package/fesm2022/primeng-basecomponent.mjs +1 -1
  22. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  23. package/fesm2022/primeng-blockui.mjs +2 -2
  24. package/fesm2022/primeng-blockui.mjs.map +1 -1
  25. package/fesm2022/primeng-breadcrumb.mjs +2 -2
  26. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  27. package/fesm2022/primeng-button.mjs +5 -5
  28. package/fesm2022/primeng-button.mjs.map +1 -1
  29. package/fesm2022/primeng-buttongroup.mjs +2 -2
  30. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  31. package/fesm2022/primeng-calendar.mjs +4 -4
  32. package/fesm2022/primeng-calendar.mjs.map +1 -1
  33. package/fesm2022/primeng-card.mjs +2 -2
  34. package/fesm2022/primeng-card.mjs.map +1 -1
  35. package/fesm2022/primeng-carousel.mjs +2 -2
  36. package/fesm2022/primeng-carousel.mjs.map +1 -1
  37. package/fesm2022/primeng-cascadeselect.mjs +4 -4
  38. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  39. package/fesm2022/primeng-chart.mjs +2 -2
  40. package/fesm2022/primeng-chart.mjs.map +1 -1
  41. package/fesm2022/primeng-checkbox.mjs +2 -2
  42. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  43. package/fesm2022/primeng-chip.mjs +2 -2
  44. package/fesm2022/primeng-chip.mjs.map +1 -1
  45. package/fesm2022/primeng-colorpicker.mjs +2 -2
  46. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  47. package/fesm2022/primeng-config.mjs +14 -12
  48. package/fesm2022/primeng-config.mjs.map +1 -1
  49. package/fesm2022/primeng-confirmdialog.mjs +11 -8
  50. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  51. package/fesm2022/primeng-confirmpopup.mjs +2 -2
  52. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  53. package/fesm2022/primeng-contextmenu.mjs +5 -5
  54. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  55. package/fesm2022/primeng-dataview.mjs +2 -2
  56. package/fesm2022/primeng-dataview.mjs.map +1 -1
  57. package/fesm2022/primeng-datepicker.mjs +2 -2
  58. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  59. package/fesm2022/primeng-defer.mjs +1 -1
  60. package/fesm2022/primeng-dialog.mjs +2 -2
  61. package/fesm2022/primeng-dialog.mjs.map +1 -1
  62. package/fesm2022/primeng-divider.mjs +2 -2
  63. package/fesm2022/primeng-divider.mjs.map +1 -1
  64. package/fesm2022/primeng-dock.mjs +2 -2
  65. package/fesm2022/primeng-dock.mjs.map +1 -1
  66. package/fesm2022/primeng-dragdrop.mjs +2 -2
  67. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  68. package/fesm2022/primeng-drawer.mjs +2 -2
  69. package/fesm2022/primeng-drawer.mjs.map +1 -1
  70. package/fesm2022/primeng-dropdown.mjs +4 -4
  71. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  72. package/fesm2022/primeng-dynamicdialog.mjs +7 -7
  73. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  74. package/fesm2022/primeng-editor.mjs +2 -2
  75. package/fesm2022/primeng-editor.mjs.map +1 -1
  76. package/fesm2022/primeng-fieldset.mjs +2 -2
  77. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  78. package/fesm2022/primeng-fileupload.mjs +2 -2
  79. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  80. package/fesm2022/primeng-floatlabel.mjs +2 -2
  81. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  82. package/fesm2022/primeng-fluid.mjs +2 -2
  83. package/fesm2022/primeng-fluid.mjs.map +1 -1
  84. package/fesm2022/primeng-focustrap.mjs +1 -1
  85. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  86. package/fesm2022/primeng-galleria.mjs +10 -10
  87. package/fesm2022/primeng-galleria.mjs.map +1 -1
  88. package/fesm2022/primeng-iconfield.mjs +2 -2
  89. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  90. package/fesm2022/primeng-icons-angledoubledown.mjs +2 -2
  91. package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
  92. package/fesm2022/primeng-icons-angledoubleleft.mjs +2 -2
  93. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
  94. package/fesm2022/primeng-icons-angledoubleright.mjs +2 -2
  95. package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
  96. package/fesm2022/primeng-icons-angledoubleup.mjs +2 -2
  97. package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
  98. package/fesm2022/primeng-icons-angledown.mjs +2 -2
  99. package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
  100. package/fesm2022/primeng-icons-angleleft.mjs +2 -2
  101. package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
  102. package/fesm2022/primeng-icons-angleright.mjs +2 -2
  103. package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
  104. package/fesm2022/primeng-icons-angleup.mjs +2 -2
  105. package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
  106. package/fesm2022/primeng-icons-arrowdown.mjs +2 -2
  107. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
  108. package/fesm2022/primeng-icons-arrowdownleft.mjs +2 -2
  109. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
  110. package/fesm2022/primeng-icons-arrowdownright.mjs +2 -2
  111. package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
  112. package/fesm2022/primeng-icons-arrowleft.mjs +2 -2
  113. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
  114. package/fesm2022/primeng-icons-arrowright.mjs +2 -2
  115. package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
  116. package/fesm2022/primeng-icons-arrowup.mjs +2 -2
  117. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
  118. package/fesm2022/primeng-icons-ban.mjs +2 -2
  119. package/fesm2022/primeng-icons-ban.mjs.map +1 -1
  120. package/fesm2022/primeng-icons-bars.mjs +2 -2
  121. package/fesm2022/primeng-icons-bars.mjs.map +1 -1
  122. package/fesm2022/primeng-icons-baseicon.mjs +2 -2
  123. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  124. package/fesm2022/primeng-icons-blank.mjs +2 -2
  125. package/fesm2022/primeng-icons-blank.mjs.map +1 -1
  126. package/fesm2022/primeng-icons-calendar.mjs +2 -2
  127. package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
  128. package/fesm2022/primeng-icons-caretleft.mjs +2 -2
  129. package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
  130. package/fesm2022/primeng-icons-caretright.mjs +2 -2
  131. package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
  132. package/fesm2022/primeng-icons-check.mjs +2 -2
  133. package/fesm2022/primeng-icons-check.mjs.map +1 -1
  134. package/fesm2022/primeng-icons-chevrondown.mjs +2 -2
  135. package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
  136. package/fesm2022/primeng-icons-chevronleft.mjs +2 -2
  137. package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
  138. package/fesm2022/primeng-icons-chevronright.mjs +2 -2
  139. package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
  140. package/fesm2022/primeng-icons-chevronup.mjs +2 -2
  141. package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
  142. package/fesm2022/primeng-icons-exclamationtriangle.mjs +2 -2
  143. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
  144. package/fesm2022/primeng-icons-eye.mjs +2 -2
  145. package/fesm2022/primeng-icons-eye.mjs.map +1 -1
  146. package/fesm2022/primeng-icons-eyeslash.mjs +2 -2
  147. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
  148. package/fesm2022/primeng-icons-filter.mjs +2 -2
  149. package/fesm2022/primeng-icons-filter.mjs.map +1 -1
  150. package/fesm2022/primeng-icons-filterslash.mjs +2 -2
  151. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
  152. package/fesm2022/primeng-icons-home.mjs +2 -2
  153. package/fesm2022/primeng-icons-home.mjs.map +1 -1
  154. package/fesm2022/primeng-icons-infocircle.mjs +2 -2
  155. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
  156. package/fesm2022/primeng-icons-minus.mjs +2 -2
  157. package/fesm2022/primeng-icons-minus.mjs.map +1 -1
  158. package/fesm2022/primeng-icons-pencil.mjs +2 -2
  159. package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
  160. package/fesm2022/primeng-icons-plus.mjs +2 -2
  161. package/fesm2022/primeng-icons-plus.mjs.map +1 -1
  162. package/fesm2022/primeng-icons-refresh.mjs +2 -2
  163. package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
  164. package/fesm2022/primeng-icons-search.mjs +2 -2
  165. package/fesm2022/primeng-icons-search.mjs.map +1 -1
  166. package/fesm2022/primeng-icons-searchminus.mjs +2 -2
  167. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
  168. package/fesm2022/primeng-icons-searchplus.mjs +2 -2
  169. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
  170. package/fesm2022/primeng-icons-sortalt.mjs +2 -2
  171. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
  172. package/fesm2022/primeng-icons-sortamountdown.mjs +2 -2
  173. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
  174. package/fesm2022/primeng-icons-sortamountupalt.mjs +2 -2
  175. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
  176. package/fesm2022/primeng-icons-spinner.mjs +2 -2
  177. package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
  178. package/fesm2022/primeng-icons-star.mjs +2 -2
  179. package/fesm2022/primeng-icons-star.mjs.map +1 -1
  180. package/fesm2022/primeng-icons-starfill.mjs +2 -2
  181. package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
  182. package/fesm2022/primeng-icons-thlarge.mjs +2 -2
  183. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
  184. package/fesm2022/primeng-icons-times.mjs +2 -2
  185. package/fesm2022/primeng-icons-times.mjs.map +1 -1
  186. package/fesm2022/primeng-icons-timescircle.mjs +2 -2
  187. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
  188. package/fesm2022/primeng-icons-trash.mjs +2 -2
  189. package/fesm2022/primeng-icons-trash.mjs.map +1 -1
  190. package/fesm2022/primeng-icons-undo.mjs +2 -2
  191. package/fesm2022/primeng-icons-undo.mjs.map +1 -1
  192. package/fesm2022/primeng-icons-upload.mjs +2 -2
  193. package/fesm2022/primeng-icons-upload.mjs.map +1 -1
  194. package/fesm2022/primeng-icons-windowmaximize.mjs +2 -2
  195. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
  196. package/fesm2022/primeng-icons-windowminimize.mjs +2 -2
  197. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
  198. package/fesm2022/primeng-iftalabel.mjs +2 -2
  199. package/fesm2022/primeng-iftalabel.mjs.map +1 -1
  200. package/fesm2022/primeng-image.mjs +2 -2
  201. package/fesm2022/primeng-image.mjs.map +1 -1
  202. package/fesm2022/primeng-imagecompare.mjs +2 -2
  203. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  204. package/fesm2022/primeng-inplace.mjs +6 -6
  205. package/fesm2022/primeng-inplace.mjs.map +1 -1
  206. package/fesm2022/primeng-inputgroup.mjs +2 -2
  207. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  208. package/fesm2022/primeng-inputgroupaddon.mjs +2 -2
  209. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  210. package/fesm2022/primeng-inputicon.mjs +2 -2
  211. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  212. package/fesm2022/primeng-inputmask.mjs +2 -2
  213. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  214. package/fesm2022/primeng-inputnumber.mjs +2 -2
  215. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  216. package/fesm2022/primeng-inputotp.mjs +2 -2
  217. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  218. package/fesm2022/primeng-inputswitch.mjs +2 -2
  219. package/fesm2022/primeng-inputswitch.mjs.map +1 -1
  220. package/fesm2022/primeng-inputtext.mjs +1 -1
  221. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  222. package/fesm2022/primeng-inputtextarea.mjs +1 -1
  223. package/fesm2022/primeng-inputtextarea.mjs.map +1 -1
  224. package/fesm2022/primeng-keyfilter.mjs +1 -1
  225. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  226. package/fesm2022/primeng-knob.mjs +2 -2
  227. package/fesm2022/primeng-knob.mjs.map +1 -1
  228. package/fesm2022/primeng-listbox.mjs +2 -2
  229. package/fesm2022/primeng-listbox.mjs.map +1 -1
  230. package/fesm2022/primeng-megamenu.mjs +4 -4
  231. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  232. package/fesm2022/primeng-menu.mjs +5 -5
  233. package/fesm2022/primeng-menu.mjs.map +1 -1
  234. package/fesm2022/primeng-menubar.mjs +4 -4
  235. package/fesm2022/primeng-menubar.mjs.map +1 -1
  236. package/fesm2022/primeng-message.mjs +2 -2
  237. package/fesm2022/primeng-message.mjs.map +1 -1
  238. package/fesm2022/primeng-messages.mjs +2 -2
  239. package/fesm2022/primeng-messages.mjs.map +1 -1
  240. package/fesm2022/primeng-metergroup.mjs +4 -4
  241. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  242. package/fesm2022/primeng-multiselect.mjs +4 -4
  243. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  244. package/fesm2022/primeng-orderlist.mjs +2 -2
  245. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  246. package/fesm2022/primeng-organizationchart.mjs +5 -5
  247. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  248. package/fesm2022/primeng-overlay.mjs +2 -2
  249. package/fesm2022/primeng-overlay.mjs.map +1 -1
  250. package/fesm2022/primeng-overlaybadge.mjs +2 -2
  251. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  252. package/fesm2022/primeng-overlaypanel.mjs +2 -2
  253. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  254. package/fesm2022/primeng-paginator.mjs +2 -2
  255. package/fesm2022/primeng-paginator.mjs.map +1 -1
  256. package/fesm2022/primeng-panel.mjs +2 -2
  257. package/fesm2022/primeng-panel.mjs.map +1 -1
  258. package/fesm2022/primeng-panelmenu.mjs +7 -7
  259. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  260. package/fesm2022/primeng-password.mjs +4 -4
  261. package/fesm2022/primeng-password.mjs.map +1 -1
  262. package/fesm2022/primeng-picklist.mjs +2 -2
  263. package/fesm2022/primeng-picklist.mjs.map +1 -1
  264. package/fesm2022/primeng-popover.mjs +2 -2
  265. package/fesm2022/primeng-popover.mjs.map +1 -1
  266. package/fesm2022/primeng-progressbar.mjs +2 -2
  267. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  268. package/fesm2022/primeng-progressspinner.mjs +2 -2
  269. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  270. package/fesm2022/primeng-radiobutton.mjs +2 -2
  271. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  272. package/fesm2022/primeng-rating.mjs +2 -2
  273. package/fesm2022/primeng-rating.mjs.map +1 -1
  274. package/fesm2022/primeng-ripple.mjs +1 -1
  275. package/fesm2022/primeng-ripple.mjs.map +1 -1
  276. package/fesm2022/primeng-scroller.mjs +2 -2
  277. package/fesm2022/primeng-scroller.mjs.map +1 -1
  278. package/fesm2022/primeng-scrollpanel.mjs +2 -2
  279. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  280. package/fesm2022/primeng-scrolltop.mjs +2 -2
  281. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  282. package/fesm2022/primeng-select.mjs +4 -4
  283. package/fesm2022/primeng-select.mjs.map +1 -1
  284. package/fesm2022/primeng-selectbutton.mjs +2 -2
  285. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  286. package/fesm2022/primeng-sidebar.mjs +2 -2
  287. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  288. package/fesm2022/primeng-skeleton.mjs +2 -2
  289. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  290. package/fesm2022/primeng-slider.mjs +2 -2
  291. package/fesm2022/primeng-slider.mjs.map +1 -1
  292. package/fesm2022/primeng-speeddial.mjs +2 -2
  293. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  294. package/fesm2022/primeng-splitbutton.mjs +2 -2
  295. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  296. package/fesm2022/primeng-splitter.mjs +4 -4
  297. package/fesm2022/primeng-splitter.mjs.map +1 -1
  298. package/fesm2022/primeng-stepper.mjs +16 -16
  299. package/fesm2022/primeng-stepper.mjs.map +1 -1
  300. package/fesm2022/primeng-steps.mjs +2 -2
  301. package/fesm2022/primeng-steps.mjs.map +1 -1
  302. package/fesm2022/primeng-styleclass.mjs +1 -1
  303. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  304. package/fesm2022/primeng-table.mjs +64 -38
  305. package/fesm2022/primeng-table.mjs.map +1 -1
  306. package/fesm2022/primeng-tabmenu.mjs +2 -2
  307. package/fesm2022/primeng-tabmenu.mjs.map +1 -1
  308. package/fesm2022/primeng-tabs.mjs +11 -11
  309. package/fesm2022/primeng-tabs.mjs.map +1 -1
  310. package/fesm2022/primeng-tabview.mjs +4 -4
  311. package/fesm2022/primeng-tabview.mjs.map +1 -1
  312. package/fesm2022/primeng-tag.mjs +2 -2
  313. package/fesm2022/primeng-tag.mjs.map +1 -1
  314. package/fesm2022/primeng-terminal.mjs +2 -2
  315. package/fesm2022/primeng-terminal.mjs.map +1 -1
  316. package/fesm2022/primeng-textarea.mjs +1 -1
  317. package/fesm2022/primeng-textarea.mjs.map +1 -1
  318. package/fesm2022/primeng-tieredmenu.mjs +4 -4
  319. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  320. package/fesm2022/primeng-timeline.mjs +2 -2
  321. package/fesm2022/primeng-timeline.mjs.map +1 -1
  322. package/fesm2022/primeng-toast.mjs +4 -4
  323. package/fesm2022/primeng-toast.mjs.map +1 -1
  324. package/fesm2022/primeng-togglebutton.mjs +3 -3
  325. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  326. package/fesm2022/primeng-toggleswitch.mjs +2 -2
  327. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  328. package/fesm2022/primeng-toolbar.mjs +2 -2
  329. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  330. package/fesm2022/primeng-tooltip.mjs +1 -1
  331. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  332. package/fesm2022/primeng-tree.mjs +4 -4
  333. package/fesm2022/primeng-tree.mjs.map +1 -1
  334. package/fesm2022/primeng-treeselect.mjs +2 -2
  335. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  336. package/fesm2022/primeng-treetable.mjs +24 -24
  337. package/fesm2022/primeng-treetable.mjs.map +1 -1
  338. package/package.json +163 -511
  339. package/speeddial/speeddial.d.ts +2 -2
  340. package/esm2022/accordion/accordion.mjs +0 -1281
  341. package/esm2022/accordion/primeng-accordion.mjs +0 -5
  342. package/esm2022/accordion/public_api.mjs +0 -3
  343. package/esm2022/accordion/style/accordionstyle.mjs +0 -163
  344. package/esm2022/animateonscroll/animateonscroll.mjs +0 -174
  345. package/esm2022/animateonscroll/primeng-animateonscroll.mjs +0 -5
  346. package/esm2022/animateonscroll/public_api.mjs +0 -2
  347. package/esm2022/api/blockableui.mjs +0 -2
  348. package/esm2022/api/confirmaeventtype.mjs +0 -10
  349. package/esm2022/api/confirmation.mjs +0 -2
  350. package/esm2022/api/confirmationservice.mjs +0 -43
  351. package/esm2022/api/contextmenuservice.mjs +0 -22
  352. package/esm2022/api/filtermatchmode.mjs +0 -23
  353. package/esm2022/api/filtermetadata.mjs +0 -2
  354. package/esm2022/api/filteroperator.mjs +0 -5
  355. package/esm2022/api/filterservice.mjs +0 -224
  356. package/esm2022/api/lazyloadevent.mjs +0 -2
  357. package/esm2022/api/lazyloadmeta.mjs +0 -2
  358. package/esm2022/api/megamenuitem.mjs +0 -2
  359. package/esm2022/api/menuitem.mjs +0 -2
  360. package/esm2022/api/messageservice.mjs +0 -47
  361. package/esm2022/api/overlayoptions.mjs +0 -2
  362. package/esm2022/api/overlayservice.mjs +0 -19
  363. package/esm2022/api/primeicons.mjs +0 -314
  364. package/esm2022/api/primeng-api.mjs +0 -5
  365. package/esm2022/api/public_api.mjs +0 -33
  366. package/esm2022/api/scrolleroptions.mjs +0 -2
  367. package/esm2022/api/selectitem.mjs +0 -2
  368. package/esm2022/api/selectitemgroup.mjs +0 -2
  369. package/esm2022/api/shared.mjs +0 -76
  370. package/esm2022/api/sortevent.mjs +0 -2
  371. package/esm2022/api/sortmeta.mjs +0 -2
  372. package/esm2022/api/tablestate.mjs +0 -2
  373. package/esm2022/api/toastmessage.mjs +0 -2
  374. package/esm2022/api/tooltipoptions.mjs +0 -2
  375. package/esm2022/api/translation.mjs +0 -2
  376. package/esm2022/api/translationkeys.mjs +0 -51
  377. package/esm2022/api/treedragdropservice.mjs +0 -21
  378. package/esm2022/api/treenode.mjs +0 -2
  379. package/esm2022/api/treenodedragevent.mjs +0 -2
  380. package/esm2022/api/treetablenode.mjs +0 -2
  381. package/esm2022/autocomplete/autocomplete.interface.mjs +0 -2
  382. package/esm2022/autocomplete/autocomplete.mjs +0 -2284
  383. package/esm2022/autocomplete/primeng-autocomplete.mjs +0 -5
  384. package/esm2022/autocomplete/public_api.mjs +0 -4
  385. package/esm2022/autocomplete/style/autocompletestyle.mjs +0 -409
  386. package/esm2022/autofocus/autofocus.mjs +0 -86
  387. package/esm2022/autofocus/primeng-autofocus.mjs +0 -5
  388. package/esm2022/autofocus/public_api.mjs +0 -2
  389. package/esm2022/avatar/avatar.mjs +0 -193
  390. package/esm2022/avatar/primeng-avatar.mjs +0 -5
  391. package/esm2022/avatar/public_api.mjs +0 -3
  392. package/esm2022/avatar/style/avatarstyle.mjs +0 -130
  393. package/esm2022/avatargroup/avatargroup.mjs +0 -80
  394. package/esm2022/avatargroup/primeng-avatargroup.mjs +0 -5
  395. package/esm2022/avatargroup/public_api.mjs +0 -3
  396. package/esm2022/avatargroup/style/avatargroupstyle.mjs +0 -29
  397. package/esm2022/badge/badge.mjs +0 -339
  398. package/esm2022/badge/primeng-badge.mjs +0 -5
  399. package/esm2022/badge/public_api.mjs +0 -3
  400. package/esm2022/badge/style/badgestyle.mjs +0 -143
  401. package/esm2022/base/base.mjs +0 -19
  402. package/esm2022/base/primeng-base.mjs +0 -5
  403. package/esm2022/base/public_api.mjs +0 -3
  404. package/esm2022/base/style/basestyle.mjs +0 -256
  405. package/esm2022/basecomponent/basecomponent.mjs +0 -160
  406. package/esm2022/basecomponent/primeng-basecomponent.mjs +0 -5
  407. package/esm2022/basecomponent/public_api.mjs +0 -3
  408. package/esm2022/basecomponent/style/basecomponentstyle.mjs +0 -13
  409. package/esm2022/blockui/blockui.interface.mjs +0 -2
  410. package/esm2022/blockui/blockui.mjs +0 -230
  411. package/esm2022/blockui/primeng-blockui.mjs +0 -5
  412. package/esm2022/blockui/public_api.mjs +0 -4
  413. package/esm2022/blockui/style/blockuistyle.mjs +0 -50
  414. package/esm2022/breadcrumb/breadcrumb.interface.mjs +0 -2
  415. package/esm2022/breadcrumb/breadcrumb.mjs +0 -601
  416. package/esm2022/breadcrumb/primeng-breadcrumb.mjs +0 -5
  417. package/esm2022/breadcrumb/public_api.mjs +0 -4
  418. package/esm2022/breadcrumb/style/breadcrumbstyle.mjs +0 -133
  419. package/esm2022/button/button.interface.mjs +0 -2
  420. package/esm2022/button/button.mjs +0 -923
  421. package/esm2022/button/primeng-button.mjs +0 -5
  422. package/esm2022/button/public_api.mjs +0 -4
  423. package/esm2022/button/style/buttonstyle.mjs +0 -707
  424. package/esm2022/buttongroup/buttongroup.mjs +0 -47
  425. package/esm2022/buttongroup/primeng-buttongroup.mjs +0 -5
  426. package/esm2022/buttongroup/public_api.mjs +0 -3
  427. package/esm2022/buttongroup/style/buttongroupstyle.mjs +0 -120
  428. package/esm2022/calendar/calendar.interface.mjs +0 -2
  429. package/esm2022/calendar/calendar.mjs +0 -4567
  430. package/esm2022/calendar/primeng-calendar.mjs +0 -5
  431. package/esm2022/calendar/public_api.mjs +0 -4
  432. package/esm2022/calendar/style/calendarstyle.mjs +0 -472
  433. package/esm2022/card/card.interface.mjs +0 -2
  434. package/esm2022/card/card.mjs +0 -293
  435. package/esm2022/card/primeng-card.mjs +0 -5
  436. package/esm2022/card/public_api.mjs +0 -4
  437. package/esm2022/card/style/cardstyle.mjs +0 -100
  438. package/esm2022/carousel/carousel.interface.mjs +0 -2
  439. package/esm2022/carousel/carousel.mjs +0 -1213
  440. package/esm2022/carousel/primeng-carousel.mjs +0 -5
  441. package/esm2022/carousel/public_api.mjs +0 -4
  442. package/esm2022/carousel/style/carouselstyle.mjs +0 -234
  443. package/esm2022/cascadeselect/cascadeselect.interface.mjs +0 -2
  444. package/esm2022/cascadeselect/cascadeselect.mjs +0 -1878
  445. package/esm2022/cascadeselect/primeng-cascadeselect.mjs +0 -5
  446. package/esm2022/cascadeselect/public_api.mjs +0 -4
  447. package/esm2022/cascadeselect/style/cascadeselectstyle.mjs +0 -379
  448. package/esm2022/chart/chart.mjs +0 -210
  449. package/esm2022/chart/primeng-chart.mjs +0 -5
  450. package/esm2022/chart/public_api.mjs +0 -3
  451. package/esm2022/chart/style/chartstyle.mjs +0 -36
  452. package/esm2022/checkbox/checkbox.interface.mjs +0 -2
  453. package/esm2022/checkbox/checkbox.mjs +0 -468
  454. package/esm2022/checkbox/primeng-checkbox.mjs +0 -5
  455. package/esm2022/checkbox/public_api.mjs +0 -4
  456. package/esm2022/checkbox/style/checkboxstyle.mjs +0 -191
  457. package/esm2022/chip/chip.interface.mjs +0 -2
  458. package/esm2022/chip/chip.mjs +0 -358
  459. package/esm2022/chip/primeng-chip.mjs +0 -5
  460. package/esm2022/chip/public_api.mjs +0 -4
  461. package/esm2022/chip/style/chipstyle.mjs +0 -104
  462. package/esm2022/colorpicker/colorpicker.interface.mjs +0 -2
  463. package/esm2022/colorpicker/colorpicker.mjs +0 -856
  464. package/esm2022/colorpicker/primeng-colorpicker.mjs +0 -5
  465. package/esm2022/colorpicker/public_api.mjs +0 -4
  466. package/esm2022/colorpicker/style/colorpickerstyle.mjs +0 -213
  467. package/esm2022/config/primeng-config.mjs +0 -5
  468. package/esm2022/config/primeng.mjs +0 -185
  469. package/esm2022/config/provideprimeng.mjs +0 -19
  470. package/esm2022/config/public_api.mjs +0 -4
  471. package/esm2022/config/themeprovider.mjs +0 -68
  472. package/esm2022/confirmdialog/confirmdialog.interface.mjs +0 -2
  473. package/esm2022/confirmdialog/confirmdialog.mjs +0 -854
  474. package/esm2022/confirmdialog/primeng-confirmdialog.mjs +0 -5
  475. package/esm2022/confirmdialog/public_api.mjs +0 -4
  476. package/esm2022/confirmdialog/style/confirmdialogstyle.mjs +0 -67
  477. package/esm2022/confirmpopup/confirmpopup.interface.mjs +0 -2
  478. package/esm2022/confirmpopup/confirmpopup.mjs +0 -647
  479. package/esm2022/confirmpopup/primeng-confirmpopup.mjs +0 -5
  480. package/esm2022/confirmpopup/public_api.mjs +0 -4
  481. package/esm2022/confirmpopup/style/confirmpopupstyle.mjs +0 -170
  482. package/esm2022/contextmenu/contextmenu.mjs +0 -1467
  483. package/esm2022/contextmenu/primeng-contextmenu.mjs +0 -5
  484. package/esm2022/contextmenu/public_api.mjs +0 -3
  485. package/esm2022/contextmenu/style/contextmenustyle.mjs +0 -244
  486. package/esm2022/dataview/dataview.interface.mjs +0 -2
  487. package/esm2022/dataview/dataview.mjs +0 -819
  488. package/esm2022/dataview/primeng-dataview.mjs +0 -5
  489. package/esm2022/dataview/public_api.mjs +0 -4
  490. package/esm2022/dataview/style/dataviewstyle.mjs +0 -115
  491. package/esm2022/datepicker/datepicker.interface.mjs +0 -2
  492. package/esm2022/datepicker/datepicker.mjs +0 -4580
  493. package/esm2022/datepicker/primeng-datepicker.mjs +0 -5
  494. package/esm2022/datepicker/public_api.mjs +0 -4
  495. package/esm2022/datepicker/style/datepickerstyle.mjs +0 -663
  496. package/esm2022/defer/defer.mjs +0 -100
  497. package/esm2022/defer/primeng-defer.mjs +0 -5
  498. package/esm2022/defer/public_api.mjs +0 -2
  499. package/esm2022/dialog/dialog.interface.mjs +0 -2
  500. package/esm2022/dialog/dialog.mjs +0 -1430
  501. package/esm2022/dialog/primeng-dialog.mjs +0 -5
  502. package/esm2022/dialog/public_api.mjs +0 -4
  503. package/esm2022/dialog/style/dialogstyle.mjs +0 -283
  504. package/esm2022/divider/divider.mjs +0 -117
  505. package/esm2022/divider/primeng-divider.mjs +0 -5
  506. package/esm2022/divider/public_api.mjs +0 -3
  507. package/esm2022/divider/style/dividerstyle.mjs +0 -138
  508. package/esm2022/dock/dock.interface.mjs +0 -2
  509. package/esm2022/dock/dock.mjs +0 -465
  510. package/esm2022/dock/primeng-dock.mjs +0 -5
  511. package/esm2022/dock/public_api.mjs +0 -4
  512. package/esm2022/dock/style/dockstyle.mjs +0 -210
  513. package/esm2022/dom/connectedoverlayscrollhandler.mjs +0 -30
  514. package/esm2022/dom/domhandler.mjs +0 -725
  515. package/esm2022/dom/primeng-dom.mjs +0 -5
  516. package/esm2022/dom/public_api.mjs +0 -3
  517. package/esm2022/dragdrop/dragdrop.mjs +0 -323
  518. package/esm2022/dragdrop/primeng-dragdrop.mjs +0 -5
  519. package/esm2022/dragdrop/public_api.mjs +0 -2
  520. package/esm2022/drawer/drawer.interface.mjs +0 -2
  521. package/esm2022/drawer/drawer.mjs +0 -705
  522. package/esm2022/drawer/primeng-drawer.mjs +0 -5
  523. package/esm2022/drawer/public_api.mjs +0 -4
  524. package/esm2022/drawer/style/drawerstyle.mjs +0 -283
  525. package/esm2022/dropdown/dropdown.interface.mjs +0 -2
  526. package/esm2022/dropdown/dropdown.mjs +0 -2506
  527. package/esm2022/dropdown/primeng-dropdown.mjs +0 -5
  528. package/esm2022/dropdown/public_api.mjs +0 -4
  529. package/esm2022/dropdown/style/dropdownstyle.mjs +0 -264
  530. package/esm2022/dynamicdialog/dialogservice.mjs +0 -105
  531. package/esm2022/dynamicdialog/dynamicdialog-config.mjs +0 -182
  532. package/esm2022/dynamicdialog/dynamicdialog-injector.mjs +0 -15
  533. package/esm2022/dynamicdialog/dynamicdialog-ref.mjs +0 -119
  534. package/esm2022/dynamicdialog/dynamicdialog.mjs +0 -879
  535. package/esm2022/dynamicdialog/dynamicdialogcontent.mjs +0 -18
  536. package/esm2022/dynamicdialog/primeng-dynamicdialog.mjs +0 -5
  537. package/esm2022/dynamicdialog/public_api.mjs +0 -8
  538. package/esm2022/dynamicdialog/style/dynamicdialogstyle.mjs +0 -60
  539. package/esm2022/editor/editor.interface.mjs +0 -2
  540. package/esm2022/editor/editor.mjs +0 -443
  541. package/esm2022/editor/primeng-editor.mjs +0 -5
  542. package/esm2022/editor/public_api.mjs +0 -4
  543. package/esm2022/editor/style/editorstyle.mjs +0 -1008
  544. package/esm2022/fieldset/fieldset.interface.mjs +0 -2
  545. package/esm2022/fieldset/fieldset.mjs +0 -455
  546. package/esm2022/fieldset/primeng-fieldset.mjs +0 -5
  547. package/esm2022/fieldset/public_api.mjs +0 -4
  548. package/esm2022/fieldset/style/fieldsetstyle.mjs +0 -143
  549. package/esm2022/fileupload/fileupload.interface.mjs +0 -2
  550. package/esm2022/fileupload/fileupload.mjs +0 -1647
  551. package/esm2022/fileupload/primeng-fileupload.mjs +0 -5
  552. package/esm2022/fileupload/public_api.mjs +0 -4
  553. package/esm2022/fileupload/style/fileuploadstyle.mjs +0 -194
  554. package/esm2022/floatlabel/floatlabel.mjs +0 -61
  555. package/esm2022/floatlabel/primeng-floatlabel.mjs +0 -5
  556. package/esm2022/floatlabel/public_api.mjs +0 -3
  557. package/esm2022/floatlabel/style/floatlabelstyle.mjs +0 -133
  558. package/esm2022/fluid/fluid.mjs +0 -50
  559. package/esm2022/fluid/primeng-fluid.mjs +0 -5
  560. package/esm2022/fluid/public_api.mjs +0 -3
  561. package/esm2022/fluid/style/fluidstyle.mjs +0 -38
  562. package/esm2022/focustrap/focustrap.mjs +0 -104
  563. package/esm2022/focustrap/primeng-focustrap.mjs +0 -5
  564. package/esm2022/focustrap/public_api.mjs +0 -2
  565. package/esm2022/galleria/galleria.interface.mjs +0 -2
  566. package/esm2022/galleria/galleria.mjs +0 -1867
  567. package/esm2022/galleria/primeng-galleria.mjs +0 -5
  568. package/esm2022/galleria/public_api.mjs +0 -4
  569. package/esm2022/galleria/style/galleriastyle.mjs +0 -644
  570. package/esm2022/iconfield/iconfield.mjs +0 -73
  571. package/esm2022/iconfield/primeng-iconfield.mjs +0 -5
  572. package/esm2022/iconfield/public_api.mjs +0 -3
  573. package/esm2022/iconfield/style/iconfieldstyle.mjs +0 -77
  574. package/esm2022/icons/angledoubledown/angledoubledown.mjs +0 -34
  575. package/esm2022/icons/angledoubledown/primeng-icons-angledoubledown.mjs +0 -5
  576. package/esm2022/icons/angledoubledown/public_api.mjs +0 -2
  577. package/esm2022/icons/angledoubleleft/angledoubleleft.mjs +0 -34
  578. package/esm2022/icons/angledoubleleft/primeng-icons-angledoubleleft.mjs +0 -5
  579. package/esm2022/icons/angledoubleleft/public_api.mjs +0 -2
  580. package/esm2022/icons/angledoubleright/angledoubleright.mjs +0 -34
  581. package/esm2022/icons/angledoubleright/primeng-icons-angledoubleright.mjs +0 -5
  582. package/esm2022/icons/angledoubleright/public_api.mjs +0 -2
  583. package/esm2022/icons/angledoubleup/angledoubleup.mjs +0 -34
  584. package/esm2022/icons/angledoubleup/primeng-icons-angledoubleup.mjs +0 -5
  585. package/esm2022/icons/angledoubleup/public_api.mjs +0 -2
  586. package/esm2022/icons/angledown/angledown.mjs +0 -32
  587. package/esm2022/icons/angledown/primeng-icons-angledown.mjs +0 -5
  588. package/esm2022/icons/angledown/public_api.mjs +0 -2
  589. package/esm2022/icons/angleleft/angleleft.mjs +0 -32
  590. package/esm2022/icons/angleleft/primeng-icons-angleleft.mjs +0 -5
  591. package/esm2022/icons/angleleft/public_api.mjs +0 -2
  592. package/esm2022/icons/angleright/angleright.mjs +0 -32
  593. package/esm2022/icons/angleright/primeng-icons-angleright.mjs +0 -5
  594. package/esm2022/icons/angleright/public_api.mjs +0 -2
  595. package/esm2022/icons/angleup/angleup.mjs +0 -32
  596. package/esm2022/icons/angleup/primeng-icons-angleup.mjs +0 -5
  597. package/esm2022/icons/angleup/public_api.mjs +0 -2
  598. package/esm2022/icons/arrowdown/arrowdown.mjs +0 -53
  599. package/esm2022/icons/arrowdown/primeng-icons-arrowdown.mjs +0 -5
  600. package/esm2022/icons/arrowdown/public_api.mjs +0 -2
  601. package/esm2022/icons/arrowdownleft/arrowdownleft.mjs +0 -32
  602. package/esm2022/icons/arrowdownleft/primeng-icons-arrowdownleft.mjs +0 -5
  603. package/esm2022/icons/arrowdownleft/public_api.mjs +0 -2
  604. package/esm2022/icons/arrowdownright/arrowdownright.mjs +0 -32
  605. package/esm2022/icons/arrowdownright/primeng-icons-arrowdownright.mjs +0 -5
  606. package/esm2022/icons/arrowdownright/public_api.mjs +0 -2
  607. package/esm2022/icons/arrowleft/arrowleft.mjs +0 -53
  608. package/esm2022/icons/arrowleft/primeng-icons-arrowleft.mjs +0 -5
  609. package/esm2022/icons/arrowleft/public_api.mjs +0 -2
  610. package/esm2022/icons/arrowright/arrowright.mjs +0 -34
  611. package/esm2022/icons/arrowright/primeng-icons-arrowright.mjs +0 -5
  612. package/esm2022/icons/arrowright/public_api.mjs +0 -2
  613. package/esm2022/icons/arrowup/arrowup.mjs +0 -53
  614. package/esm2022/icons/arrowup/primeng-icons-arrowup.mjs +0 -5
  615. package/esm2022/icons/arrowup/public_api.mjs +0 -2
  616. package/esm2022/icons/ban/ban.mjs +0 -51
  617. package/esm2022/icons/ban/primeng-icons-ban.mjs +0 -5
  618. package/esm2022/icons/ban/public_api.mjs +0 -2
  619. package/esm2022/icons/bars/bars.mjs +0 -34
  620. package/esm2022/icons/bars/primeng-icons-bars.mjs +0 -5
  621. package/esm2022/icons/bars/public_api.mjs +0 -2
  622. package/esm2022/icons/baseicon/baseicon.mjs +0 -54
  623. package/esm2022/icons/baseicon/primeng-icons-baseicon.mjs +0 -5
  624. package/esm2022/icons/baseicon/public_api.mjs +0 -3
  625. package/esm2022/icons/baseicon/style/baseiconstyle.mjs +0 -57
  626. package/esm2022/icons/blank/blank.mjs +0 -26
  627. package/esm2022/icons/blank/primeng-icons-blank.mjs +0 -5
  628. package/esm2022/icons/blank/public_api.mjs +0 -2
  629. package/esm2022/icons/calendar/calendar.mjs +0 -32
  630. package/esm2022/icons/calendar/primeng-icons-calendar.mjs +0 -5
  631. package/esm2022/icons/calendar/public_api.mjs +0 -2
  632. package/esm2022/icons/caretleft/caretleft.mjs +0 -32
  633. package/esm2022/icons/caretleft/primeng-icons-caretleft.mjs +0 -5
  634. package/esm2022/icons/caretleft/public_api.mjs +0 -2
  635. package/esm2022/icons/caretright/caretright.mjs +0 -32
  636. package/esm2022/icons/caretright/primeng-icons-caretright.mjs +0 -5
  637. package/esm2022/icons/caretright/public_api.mjs +0 -2
  638. package/esm2022/icons/check/check.mjs +0 -32
  639. package/esm2022/icons/check/primeng-icons-check.mjs +0 -5
  640. package/esm2022/icons/check/public_api.mjs +0 -2
  641. package/esm2022/icons/chevrondown/chevrondown.mjs +0 -32
  642. package/esm2022/icons/chevrondown/primeng-icons-chevrondown.mjs +0 -5
  643. package/esm2022/icons/chevrondown/public_api.mjs +0 -2
  644. package/esm2022/icons/chevronleft/chevronleft.mjs +0 -32
  645. package/esm2022/icons/chevronleft/primeng-icons-chevronleft.mjs +0 -5
  646. package/esm2022/icons/chevronleft/public_api.mjs +0 -2
  647. package/esm2022/icons/chevronright/chevronright.mjs +0 -32
  648. package/esm2022/icons/chevronright/primeng-icons-chevronright.mjs +0 -5
  649. package/esm2022/icons/chevronright/public_api.mjs +0 -2
  650. package/esm2022/icons/chevronup/chevronup.mjs +0 -32
  651. package/esm2022/icons/chevronup/primeng-icons-chevronup.mjs +0 -5
  652. package/esm2022/icons/chevronup/public_api.mjs +0 -2
  653. package/esm2022/icons/exclamationtriangle/exclamationtriangle.mjs +0 -59
  654. package/esm2022/icons/exclamationtriangle/primeng-icons-exclamationtriangle.mjs +0 -5
  655. package/esm2022/icons/exclamationtriangle/public_api.mjs +0 -2
  656. package/esm2022/icons/eye/eye.mjs +0 -34
  657. package/esm2022/icons/eye/primeng-icons-eye.mjs +0 -5
  658. package/esm2022/icons/eye/public_api.mjs +0 -2
  659. package/esm2022/icons/eyeslash/eyeslash.mjs +0 -53
  660. package/esm2022/icons/eyeslash/primeng-icons-eyeslash.mjs +0 -5
  661. package/esm2022/icons/eyeslash/public_api.mjs +0 -2
  662. package/esm2022/icons/filter/filter.mjs +0 -51
  663. package/esm2022/icons/filter/primeng-icons-filter.mjs +0 -5
  664. package/esm2022/icons/filter/public_api.mjs +0 -2
  665. package/esm2022/icons/filterslash/filterslash.mjs +0 -53
  666. package/esm2022/icons/filterslash/primeng-icons-filterslash.mjs +0 -5
  667. package/esm2022/icons/filterslash/public_api.mjs +0 -2
  668. package/esm2022/icons/home/home.mjs +0 -53
  669. package/esm2022/icons/home/primeng-icons-home.mjs +0 -5
  670. package/esm2022/icons/home/public_api.mjs +0 -2
  671. package/esm2022/icons/infocircle/infocircle.mjs +0 -53
  672. package/esm2022/icons/infocircle/primeng-icons-infocircle.mjs +0 -5
  673. package/esm2022/icons/infocircle/public_api.mjs +0 -2
  674. package/esm2022/icons/minus/minus.mjs +0 -32
  675. package/esm2022/icons/minus/primeng-icons-minus.mjs +0 -5
  676. package/esm2022/icons/minus/public_api.mjs +0 -2
  677. package/esm2022/icons/pencil/pencil.mjs +0 -51
  678. package/esm2022/icons/pencil/primeng-icons-pencil.mjs +0 -5
  679. package/esm2022/icons/pencil/public_api.mjs +0 -2
  680. package/esm2022/icons/plus/plus.mjs +0 -51
  681. package/esm2022/icons/plus/primeng-icons-plus.mjs +0 -5
  682. package/esm2022/icons/plus/public_api.mjs +0 -2
  683. package/esm2022/icons/primeng-icons.mjs +0 -5
  684. package/esm2022/icons/public_api.mjs +0 -58
  685. package/esm2022/icons/refresh/primeng-icons-refresh.mjs +0 -5
  686. package/esm2022/icons/refresh/public_api.mjs +0 -2
  687. package/esm2022/icons/refresh/refresh.mjs +0 -53
  688. package/esm2022/icons/search/primeng-icons-search.mjs +0 -5
  689. package/esm2022/icons/search/public_api.mjs +0 -2
  690. package/esm2022/icons/search/search.mjs +0 -53
  691. package/esm2022/icons/searchminus/primeng-icons-searchminus.mjs +0 -5
  692. package/esm2022/icons/searchminus/public_api.mjs +0 -2
  693. package/esm2022/icons/searchminus/searchminus.mjs +0 -53
  694. package/esm2022/icons/searchplus/primeng-icons-searchplus.mjs +0 -5
  695. package/esm2022/icons/searchplus/public_api.mjs +0 -2
  696. package/esm2022/icons/searchplus/searchplus.mjs +0 -53
  697. package/esm2022/icons/sortalt/primeng-icons-sortalt.mjs +0 -5
  698. package/esm2022/icons/sortalt/public_api.mjs +0 -2
  699. package/esm2022/icons/sortalt/sortalt.mjs +0 -57
  700. package/esm2022/icons/sortamountdown/primeng-icons-sortamountdown.mjs +0 -5
  701. package/esm2022/icons/sortamountdown/public_api.mjs +0 -2
  702. package/esm2022/icons/sortamountdown/sortamountdown.mjs +0 -51
  703. package/esm2022/icons/sortamountupalt/primeng-icons-sortamountupalt.mjs +0 -5
  704. package/esm2022/icons/sortamountupalt/public_api.mjs +0 -2
  705. package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +0 -51
  706. package/esm2022/icons/spinner/primeng-icons-spinner.mjs +0 -5
  707. package/esm2022/icons/spinner/public_api.mjs +0 -2
  708. package/esm2022/icons/spinner/spinner.mjs +0 -51
  709. package/esm2022/icons/star/primeng-icons-star.mjs +0 -5
  710. package/esm2022/icons/star/public_api.mjs +0 -2
  711. package/esm2022/icons/star/star.mjs +0 -51
  712. package/esm2022/icons/starfill/primeng-icons-starfill.mjs +0 -5
  713. package/esm2022/icons/starfill/public_api.mjs +0 -2
  714. package/esm2022/icons/starfill/starfill.mjs +0 -51
  715. package/esm2022/icons/thlarge/primeng-icons-thlarge.mjs +0 -5
  716. package/esm2022/icons/thlarge/public_api.mjs +0 -2
  717. package/esm2022/icons/thlarge/thlarge.mjs +0 -53
  718. package/esm2022/icons/times/primeng-icons-times.mjs +0 -5
  719. package/esm2022/icons/times/public_api.mjs +0 -2
  720. package/esm2022/icons/times/times.mjs +0 -32
  721. package/esm2022/icons/timescircle/primeng-icons-timescircle.mjs +0 -5
  722. package/esm2022/icons/timescircle/public_api.mjs +0 -2
  723. package/esm2022/icons/timescircle/timescircle.mjs +0 -53
  724. package/esm2022/icons/trash/primeng-icons-trash.mjs +0 -5
  725. package/esm2022/icons/trash/public_api.mjs +0 -2
  726. package/esm2022/icons/trash/trash.mjs +0 -53
  727. package/esm2022/icons/undo/primeng-icons-undo.mjs +0 -5
  728. package/esm2022/icons/undo/public_api.mjs +0 -2
  729. package/esm2022/icons/undo/undo.mjs +0 -53
  730. package/esm2022/icons/upload/primeng-icons-upload.mjs +0 -5
  731. package/esm2022/icons/upload/public_api.mjs +0 -2
  732. package/esm2022/icons/upload/upload.mjs +0 -53
  733. package/esm2022/icons/windowmaximize/primeng-icons-windowmaximize.mjs +0 -5
  734. package/esm2022/icons/windowmaximize/public_api.mjs +0 -2
  735. package/esm2022/icons/windowmaximize/windowmaximize.mjs +0 -53
  736. package/esm2022/icons/windowminimize/primeng-icons-windowminimize.mjs +0 -5
  737. package/esm2022/icons/windowminimize/public_api.mjs +0 -2
  738. package/esm2022/icons/windowminimize/windowminimize.mjs +0 -53
  739. package/esm2022/iftalabel/iftalabel.mjs +0 -49
  740. package/esm2022/iftalabel/primeng-iftalabel.mjs +0 -5
  741. package/esm2022/iftalabel/public_api.mjs +0 -3
  742. package/esm2022/iftalabel/style/iftalabelstyle.mjs +0 -96
  743. package/esm2022/image/image.interface.mjs +0 -2
  744. package/esm2022/image/image.mjs +0 -794
  745. package/esm2022/image/primeng-image.mjs +0 -5
  746. package/esm2022/image/public_api.mjs +0 -4
  747. package/esm2022/image/style/imagestyle.mjs +0 -219
  748. package/esm2022/imagecompare/imagecompare.mjs +0 -178
  749. package/esm2022/imagecompare/primeng-imagecompare.mjs +0 -5
  750. package/esm2022/imagecompare/public_api.mjs +0 -3
  751. package/esm2022/imagecompare/style/imagecomparestyle.mjs +0 -124
  752. package/esm2022/inplace/inplace.interface.mjs +0 -2
  753. package/esm2022/inplace/inplace.mjs +0 -369
  754. package/esm2022/inplace/primeng-inplace.mjs +0 -5
  755. package/esm2022/inplace/public_api.mjs +0 -4
  756. package/esm2022/inplace/style/inplacestyle.mjs +0 -69
  757. package/esm2022/inputgroup/inputgroup.mjs +0 -68
  758. package/esm2022/inputgroup/primeng-inputgroup.mjs +0 -5
  759. package/esm2022/inputgroup/public_api.mjs +0 -3
  760. package/esm2022/inputgroup/style/inputgroupstyle.mjs +0 -145
  761. package/esm2022/inputgroupaddon/inputgroupaddon.mjs +0 -74
  762. package/esm2022/inputgroupaddon/primeng-inputgroupaddon.mjs +0 -5
  763. package/esm2022/inputgroupaddon/public_api.mjs +0 -3
  764. package/esm2022/inputgroupaddon/style/inputgroupaddonstyle.mjs +0 -16
  765. package/esm2022/inputicon/inputicon.mjs +0 -66
  766. package/esm2022/inputicon/primeng-inputicon.mjs +0 -5
  767. package/esm2022/inputicon/public_api.mjs +0 -3
  768. package/esm2022/inputicon/style/inputiconstyle.mjs +0 -16
  769. package/esm2022/inputmask/inputmask.interface.mjs +0 -2
  770. package/esm2022/inputmask/inputmask.mjs +0 -927
  771. package/esm2022/inputmask/primeng-inputmask.mjs +0 -5
  772. package/esm2022/inputmask/public_api.mjs +0 -4
  773. package/esm2022/inputmask/style/inputmaskstyle.mjs +0 -62
  774. package/esm2022/inputnumber/inputnumber.interface.mjs +0 -2
  775. package/esm2022/inputnumber/inputnumber.mjs +0 -1753
  776. package/esm2022/inputnumber/primeng-inputnumber.mjs +0 -5
  777. package/esm2022/inputnumber/public_api.mjs +0 -4
  778. package/esm2022/inputnumber/style/inputnumberstyle.mjs +0 -240
  779. package/esm2022/inputotp/inputotp.mjs +0 -425
  780. package/esm2022/inputotp/primeng-inputotp.mjs +0 -5
  781. package/esm2022/inputotp/public_api.mjs +0 -3
  782. package/esm2022/inputotp/style/inputotpstyle.mjs +0 -60
  783. package/esm2022/inputswitch/inputswitch.interface.mjs +0 -2
  784. package/esm2022/inputswitch/inputswitch.mjs +0 -241
  785. package/esm2022/inputswitch/primeng-inputswitch.mjs +0 -5
  786. package/esm2022/inputswitch/public_api.mjs +0 -4
  787. package/esm2022/inputswitch/style/inputswitchstyle.mjs +0 -130
  788. package/esm2022/inputtext/inputtext.mjs +0 -104
  789. package/esm2022/inputtext/primeng-inputtext.mjs +0 -5
  790. package/esm2022/inputtext/public_api.mjs +0 -3
  791. package/esm2022/inputtext/style/inputtextstyle.mjs +0 -117
  792. package/esm2022/inputtextarea/inputtextarea.mjs +0 -156
  793. package/esm2022/inputtextarea/primeng-inputtextarea.mjs +0 -5
  794. package/esm2022/inputtextarea/public_api.mjs +0 -3
  795. package/esm2022/inputtextarea/style/textareastyle.mjs +0 -107
  796. package/esm2022/keyfilter/keyfilter.interface.mjs +0 -2
  797. package/esm2022/keyfilter/keyfilter.mjs +0 -263
  798. package/esm2022/keyfilter/primeng-keyfilter.mjs +0 -5
  799. package/esm2022/keyfilter/public_api.mjs +0 -3
  800. package/esm2022/knob/knob.mjs +0 -471
  801. package/esm2022/knob/primeng-knob.mjs +0 -5
  802. package/esm2022/knob/public_api.mjs +0 -3
  803. package/esm2022/knob/style/knobstyle.mjs +0 -83
  804. package/esm2022/listbox/listbox.interface.mjs +0 -2
  805. package/esm2022/listbox/listbox.mjs +0 -2103
  806. package/esm2022/listbox/primeng-listbox.mjs +0 -5
  807. package/esm2022/listbox/public_api.mjs +0 -4
  808. package/esm2022/listbox/style/listboxstyle.mjs +0 -206
  809. package/esm2022/megamenu/megamenu.interface.mjs +0 -2
  810. package/esm2022/megamenu/megamenu.mjs +0 -1653
  811. package/esm2022/megamenu/primeng-megamenu.mjs +0 -5
  812. package/esm2022/megamenu/public_api.mjs +0 -4
  813. package/esm2022/megamenu/style/megamenustyle.mjs +0 -487
  814. package/esm2022/menu/menu.mjs +0 -1193
  815. package/esm2022/menu/primeng-menu.mjs +0 -5
  816. package/esm2022/menu/public_api.mjs +0 -3
  817. package/esm2022/menu/style/menustyle.mjs +0 -179
  818. package/esm2022/menubar/menubar.interface.mjs +0 -2
  819. package/esm2022/menubar/menubar.mjs +0 -1519
  820. package/esm2022/menubar/primeng-menubar.mjs +0 -5
  821. package/esm2022/menubar/public_api.mjs +0 -4
  822. package/esm2022/menubar/style/menubarstyle.mjs +0 -375
  823. package/esm2022/message/message.mjs +0 -445
  824. package/esm2022/message/primeng-message.mjs +0 -5
  825. package/esm2022/message/public_api.mjs +0 -3
  826. package/esm2022/message/style/messagestyle.mjs +0 -357
  827. package/esm2022/messages/messages.interface.mjs +0 -2
  828. package/esm2022/messages/messages.mjs +0 -538
  829. package/esm2022/messages/primeng-messages.mjs +0 -5
  830. package/esm2022/messages/public_api.mjs +0 -4
  831. package/esm2022/messages/style/messagesstyle.mjs +0 -229
  832. package/esm2022/metergroup/metergroup.interface.mjs +0 -2
  833. package/esm2022/metergroup/metergroup.mjs +0 -455
  834. package/esm2022/metergroup/primeng-metergroup.mjs +0 -5
  835. package/esm2022/metergroup/public_api.mjs +0 -4
  836. package/esm2022/metergroup/style/metergroupstyle.mjs +0 -169
  837. package/esm2022/multiselect/multiselect.interface.mjs +0 -2
  838. package/esm2022/multiselect/multiselect.mjs +0 -3015
  839. package/esm2022/multiselect/primeng-multiselect.mjs +0 -5
  840. package/esm2022/multiselect/public_api.mjs +0 -4
  841. package/esm2022/multiselect/style/multiselectstyle.mjs +0 -373
  842. package/esm2022/orderlist/orderlist.interface.mjs +0 -2
  843. package/esm2022/orderlist/orderlist.mjs +0 -1176
  844. package/esm2022/orderlist/primeng-orderlist.mjs +0 -5
  845. package/esm2022/orderlist/public_api.mjs +0 -4
  846. package/esm2022/orderlist/style/orderliststyle.mjs +0 -51
  847. package/esm2022/organizationchart/organizationchart.interface.mjs +0 -2
  848. package/esm2022/organizationchart/organizationchart.mjs +0 -607
  849. package/esm2022/organizationchart/primeng-organizationchart.mjs +0 -5
  850. package/esm2022/organizationchart/public_api.mjs +0 -4
  851. package/esm2022/organizationchart/style/organizationchartstyle.mjs +0 -191
  852. package/esm2022/overlay/overlay.mjs +0 -688
  853. package/esm2022/overlay/primeng-overlay.mjs +0 -5
  854. package/esm2022/overlay/public_api.mjs +0 -3
  855. package/esm2022/overlay/style/overlaystyle.mjs +0 -93
  856. package/esm2022/overlaybadge/overlaybadge.mjs +0 -121
  857. package/esm2022/overlaybadge/primeng-overlaybadge.mjs +0 -5
  858. package/esm2022/overlaybadge/public_api.mjs +0 -3
  859. package/esm2022/overlaybadge/style/overlaybadgestyle.mjs +0 -34
  860. package/esm2022/overlaypanel/overlaypanel.mjs +0 -552
  861. package/esm2022/overlaypanel/primeng-overlaypanel.mjs +0 -5
  862. package/esm2022/overlaypanel/public_api.mjs +0 -3
  863. package/esm2022/overlaypanel/style/popoverstyle.mjs +0 -119
  864. package/esm2022/paginator/paginator.interface.mjs +0 -2
  865. package/esm2022/paginator/paginator.mjs +0 -925
  866. package/esm2022/paginator/primeng-paginator.mjs +0 -5
  867. package/esm2022/paginator/public_api.mjs +0 -4
  868. package/esm2022/paginator/style/paginatorstyle.mjs +0 -243
  869. package/esm2022/panel/panel.mjs +0 -645
  870. package/esm2022/panel/primeng-panel.mjs +0 -5
  871. package/esm2022/panel/public_api.mjs +0 -3
  872. package/esm2022/panel/style/panelstyle.mjs +0 -120
  873. package/esm2022/panelmenu/panelmenu.interface.mjs +0 -2
  874. package/esm2022/panelmenu/panelmenu.mjs +0 -1651
  875. package/esm2022/panelmenu/primeng-panelmenu.mjs +0 -5
  876. package/esm2022/panelmenu/public_api.mjs +0 -4
  877. package/esm2022/panelmenu/style/panelmenustyle.mjs +0 -291
  878. package/esm2022/password/password.mjs +0 -1240
  879. package/esm2022/password/primeng-password.mjs +0 -5
  880. package/esm2022/password/public_api.mjs +0 -3
  881. package/esm2022/password/style/passwordstyle.mjs +0 -182
  882. package/esm2022/picklist/picklist.interface.mjs +0 -2
  883. package/esm2022/picklist/picklist.mjs +0 -2426
  884. package/esm2022/picklist/primeng-picklist.mjs +0 -5
  885. package/esm2022/picklist/public_api.mjs +0 -4
  886. package/esm2022/picklist/style/pickliststyle.mjs +0 -79
  887. package/esm2022/popover/popover.mjs +0 -535
  888. package/esm2022/popover/primeng-popover.mjs +0 -5
  889. package/esm2022/popover/public_api.mjs +0 -3
  890. package/esm2022/popover/style/popoverstyle.mjs +0 -99
  891. package/esm2022/primeng.mjs +0 -5
  892. package/esm2022/progressbar/primeng-progressbar.mjs +0 -5
  893. package/esm2022/progressbar/progressbar.mjs +0 -215
  894. package/esm2022/progressbar/public_api.mjs +0 -3
  895. package/esm2022/progressbar/style/progressbarstyle.mjs +0 -165
  896. package/esm2022/progressspinner/primeng-progressspinner.mjs +0 -5
  897. package/esm2022/progressspinner/progressspinner.mjs +0 -105
  898. package/esm2022/progressspinner/public_api.mjs +0 -3
  899. package/esm2022/progressspinner/style/progressspinnerstyle.mjs +0 -115
  900. package/esm2022/public_api.mjs +0 -2
  901. package/esm2022/radiobutton/primeng-radiobutton.mjs +0 -5
  902. package/esm2022/radiobutton/public_api.mjs +0 -4
  903. package/esm2022/radiobutton/radiobutton.interface.mjs +0 -2
  904. package/esm2022/radiobutton/radiobutton.mjs +0 -356
  905. package/esm2022/radiobutton/style/radiobuttonstyle.mjs +0 -196
  906. package/esm2022/rating/primeng-rating.mjs +0 -5
  907. package/esm2022/rating/public_api.mjs +0 -4
  908. package/esm2022/rating/rating.interface.mjs +0 -2
  909. package/esm2022/rating/rating.mjs +0 -449
  910. package/esm2022/rating/style/ratingstyle.mjs +0 -103
  911. package/esm2022/ripple/primeng-ripple.mjs +0 -5
  912. package/esm2022/ripple/public_api.mjs +0 -3
  913. package/esm2022/ripple/ripple.mjs +0 -134
  914. package/esm2022/ripple/style/ripplestyle.mjs +0 -63
  915. package/esm2022/scroller/primeng-scroller.mjs +0 -5
  916. package/esm2022/scroller/public_api.mjs +0 -4
  917. package/esm2022/scroller/scroller.interface.mjs +0 -2
  918. package/esm2022/scroller/scroller.mjs +0 -1300
  919. package/esm2022/scroller/style/scrollerstyle.mjs +0 -104
  920. package/esm2022/scrollpanel/primeng-scrollpanel.mjs +0 -5
  921. package/esm2022/scrollpanel/public_api.mjs +0 -4
  922. package/esm2022/scrollpanel/scrollpanel.interface.mjs +0 -2
  923. package/esm2022/scrollpanel/scrollpanel.mjs +0 -525
  924. package/esm2022/scrollpanel/style/scrollpanelstyle.mjs +0 -120
  925. package/esm2022/scrolltop/primeng-scrolltop.mjs +0 -5
  926. package/esm2022/scrolltop/public_api.mjs +0 -4
  927. package/esm2022/scrolltop/scrolltop.interface.mjs +0 -2
  928. package/esm2022/scrolltop/scrolltop.mjs +0 -343
  929. package/esm2022/scrolltop/style/scrolltopstyle.mjs +0 -77
  930. package/esm2022/select/primeng-select.mjs +0 -5
  931. package/esm2022/select/public_api.mjs +0 -4
  932. package/esm2022/select/select.interface.mjs +0 -2
  933. package/esm2022/select/select.mjs +0 -2697
  934. package/esm2022/select/style/selectstyle.mjs +0 -365
  935. package/esm2022/selectbutton/primeng-selectbutton.mjs +0 -5
  936. package/esm2022/selectbutton/public_api.mjs +0 -4
  937. package/esm2022/selectbutton/selectbutton.interface.mjs +0 -2
  938. package/esm2022/selectbutton/selectbutton.mjs +0 -388
  939. package/esm2022/selectbutton/style/selectbuttonstyle.mjs +0 -73
  940. package/esm2022/sidebar/primeng-sidebar.mjs +0 -5
  941. package/esm2022/sidebar/public_api.mjs +0 -4
  942. package/esm2022/sidebar/sidebar.interface.mjs +0 -2
  943. package/esm2022/sidebar/sidebar.mjs +0 -600
  944. package/esm2022/sidebar/style/drawerstyle.mjs +0 -174
  945. package/esm2022/skeleton/primeng-skeleton.mjs +0 -5
  946. package/esm2022/skeleton/public_api.mjs +0 -3
  947. package/esm2022/skeleton/skeleton.mjs +0 -121
  948. package/esm2022/skeleton/style/skeletonstyle.mjs +0 -93
  949. package/esm2022/slider/primeng-slider.mjs +0 -5
  950. package/esm2022/slider/public_api.mjs +0 -4
  951. package/esm2022/slider/slider.interface.mjs +0 -2
  952. package/esm2022/slider/slider.mjs +0 -820
  953. package/esm2022/slider/style/sliderstyle.mjs +0 -141
  954. package/esm2022/speeddial/primeng-speeddial.mjs +0 -5
  955. package/esm2022/speeddial/public_api.mjs +0 -4
  956. package/esm2022/speeddial/speeddial.interface.mjs +0 -2
  957. package/esm2022/speeddial/speeddial.mjs +0 -891
  958. package/esm2022/speeddial/style/speeddialstyle.mjs +0 -167
  959. package/esm2022/splitbutton/primeng-splitbutton.mjs +0 -5
  960. package/esm2022/splitbutton/public_api.mjs +0 -4
  961. package/esm2022/splitbutton/splitbutton.interface.mjs +0 -2
  962. package/esm2022/splitbutton/splitbutton.mjs +0 -602
  963. package/esm2022/splitbutton/style/splitbuttonstyle.mjs +0 -100
  964. package/esm2022/splitter/primeng-splitter.mjs +0 -5
  965. package/esm2022/splitter/public_api.mjs +0 -4
  966. package/esm2022/splitter/splitter.interface.mjs +0 -2
  967. package/esm2022/splitter/splitter.mjs +0 -626
  968. package/esm2022/splitter/style/splitterstyle.mjs +0 -127
  969. package/esm2022/stepper/primeng-stepper.mjs +0 -5
  970. package/esm2022/stepper/public_api.mjs +0 -3
  971. package/esm2022/stepper/stepper.mjs +0 -535
  972. package/esm2022/stepper/style/stepperstyle.mjs +0 -228
  973. package/esm2022/steps/primeng-steps.mjs +0 -5
  974. package/esm2022/steps/public_api.mjs +0 -3
  975. package/esm2022/steps/steps.mjs +0 -405
  976. package/esm2022/steps/style/stepsstyle.mjs +0 -180
  977. package/esm2022/styleclass/primeng-styleclass.mjs +0 -5
  978. package/esm2022/styleclass/public_api.mjs +0 -2
  979. package/esm2022/styleclass/styleclass.mjs +0 -315
  980. package/esm2022/table/columnfilter.interface.mjs +0 -2
  981. package/esm2022/table/primeng-table.mjs +0 -5
  982. package/esm2022/table/public_api.mjs +0 -5
  983. package/esm2022/table/style/tablestyle.mjs +0 -906
  984. package/esm2022/table/table.interface.mjs +0 -2
  985. package/esm2022/table/table.mjs +0 -7840
  986. package/esm2022/tabmenu/primeng-tabmenu.mjs +0 -5
  987. package/esm2022/tabmenu/public_api.mjs +0 -4
  988. package/esm2022/tabmenu/style/tabmenustyle.mjs +0 -192
  989. package/esm2022/tabmenu/tabmenu.interface.mjs +0 -2
  990. package/esm2022/tabmenu/tabmenu.mjs +0 -757
  991. package/esm2022/tabs/primeng-tabs.mjs +0 -5
  992. package/esm2022/tabs/public_api.mjs +0 -7
  993. package/esm2022/tabs/style/tabsstyle.mjs +0 -211
  994. package/esm2022/tabs/tab.mjs +0 -175
  995. package/esm2022/tabs/tablist.mjs +0 -305
  996. package/esm2022/tabs/tabpanel.mjs +0 -60
  997. package/esm2022/tabs/tabpanels.mjs +0 -38
  998. package/esm2022/tabs/tabs.mjs +0 -105
  999. package/esm2022/tabview/primeng-tabview.mjs +0 -5
  1000. package/esm2022/tabview/public_api.mjs +0 -4
  1001. package/esm2022/tabview/style/tabsstyle.mjs +0 -211
  1002. package/esm2022/tabview/tabview.interface.mjs +0 -2
  1003. package/esm2022/tabview/tabview.mjs +0 -1141
  1004. package/esm2022/tag/primeng-tag.mjs +0 -5
  1005. package/esm2022/tag/public_api.mjs +0 -4
  1006. package/esm2022/tag/style/tagstyle.mjs +0 -108
  1007. package/esm2022/tag/tag.interface.mjs +0 -2
  1008. package/esm2022/tag/tag.mjs +0 -192
  1009. package/esm2022/terminal/primeng-terminal.mjs +0 -5
  1010. package/esm2022/terminal/public_api.mjs +0 -4
  1011. package/esm2022/terminal/style/terminalstyle.mjs +0 -113
  1012. package/esm2022/terminal/terminal.mjs +0 -195
  1013. package/esm2022/terminal/terminalservice.mjs +0 -25
  1014. package/esm2022/textarea/primeng-textarea.mjs +0 -5
  1015. package/esm2022/textarea/public_api.mjs +0 -3
  1016. package/esm2022/textarea/style/textareastyle.mjs +0 -120
  1017. package/esm2022/textarea/textarea.mjs +0 -165
  1018. package/esm2022/tieredmenu/primeng-tieredmenu.mjs +0 -5
  1019. package/esm2022/tieredmenu/public_api.mjs +0 -4
  1020. package/esm2022/tieredmenu/style/tieredmenustyle.mjs +0 -276
  1021. package/esm2022/tieredmenu/tieredmenu.interface.mjs +0 -2
  1022. package/esm2022/tieredmenu/tieredmenu.mjs +0 -1467
  1023. package/esm2022/timeline/primeng-timeline.mjs +0 -5
  1024. package/esm2022/timeline/public_api.mjs +0 -4
  1025. package/esm2022/timeline/style/timelinestyle.mjs +0 -217
  1026. package/esm2022/timeline/timeline.interface.mjs +0 -2
  1027. package/esm2022/timeline/timeline.mjs +0 -247
  1028. package/esm2022/toast/primeng-toast.mjs +0 -5
  1029. package/esm2022/toast/public_api.mjs +0 -4
  1030. package/esm2022/toast/style/toaststyle.mjs +0 -351
  1031. package/esm2022/toast/toast.interface.mjs +0 -2
  1032. package/esm2022/toast/toast.mjs +0 -760
  1033. package/esm2022/togglebutton/primeng-togglebutton.mjs +0 -5
  1034. package/esm2022/togglebutton/public_api.mjs +0 -3
  1035. package/esm2022/togglebutton/style/togglebuttonstyle.mjs +0 -170
  1036. package/esm2022/togglebutton/togglebutton.interface.mjs +0 -2
  1037. package/esm2022/togglebutton/togglebutton.mjs +0 -368
  1038. package/esm2022/toggleswitch/primeng-toggleswitch.mjs +0 -5
  1039. package/esm2022/toggleswitch/public_api.mjs +0 -4
  1040. package/esm2022/toggleswitch/style/toggleswitchstyle.mjs +0 -165
  1041. package/esm2022/toggleswitch/toggleswitch.interface.mjs +0 -2
  1042. package/esm2022/toggleswitch/toggleswitch.mjs +0 -297
  1043. package/esm2022/toolbar/primeng-toolbar.mjs +0 -5
  1044. package/esm2022/toolbar/public_api.mjs +0 -4
  1045. package/esm2022/toolbar/style/toolbarstyle.mjs +0 -69
  1046. package/esm2022/toolbar/toolbar.interface.mjs +0 -2
  1047. package/esm2022/toolbar/toolbar.mjs +0 -198
  1048. package/esm2022/tooltip/primeng-tooltip.mjs +0 -5
  1049. package/esm2022/tooltip/public_api.mjs +0 -3
  1050. package/esm2022/tooltip/style/tooltipstyle.mjs +0 -113
  1051. package/esm2022/tooltip/tooltip.mjs +0 -680
  1052. package/esm2022/tree/primeng-tree.mjs +0 -5
  1053. package/esm2022/tree/public_api.mjs +0 -4
  1054. package/esm2022/tree/style/treestyle.mjs +0 -333
  1055. package/esm2022/tree/tree.interface.mjs +0 -2
  1056. package/esm2022/tree/tree.mjs +0 -2304
  1057. package/esm2022/treeselect/primeng-treeselect.mjs +0 -5
  1058. package/esm2022/treeselect/public_api.mjs +0 -4
  1059. package/esm2022/treeselect/style/treeselectstyle.mjs +0 -271
  1060. package/esm2022/treeselect/treeselect.interface.mjs +0 -2
  1061. package/esm2022/treeselect/treeselect.mjs +0 -1439
  1062. package/esm2022/treetable/primeng-treetable.mjs +0 -5
  1063. package/esm2022/treetable/public_api.mjs +0 -4
  1064. package/esm2022/treetable/style/treetablestyle.mjs +0 -621
  1065. package/esm2022/treetable/treetable.interface.mjs +0 -2
  1066. package/esm2022/treetable/treetable.mjs +0 -4661
  1067. package/esm2022/ts-helpers/primeng-ts-helpers.mjs +0 -5
  1068. package/esm2022/ts-helpers/public_api.mjs +0 -2
  1069. package/esm2022/ts-helpers/ts-helpers.mjs +0 -2
  1070. package/esm2022/usestyle/primeng-usestyle.mjs +0 -5
  1071. package/esm2022/usestyle/public_api.mjs +0 -2
  1072. package/esm2022/usestyle/usestyle.mjs +0 -44
  1073. package/esm2022/utils/inpututils.mjs +0 -7
  1074. package/esm2022/utils/objectutils.mjs +0 -276
  1075. package/esm2022/utils/primeng-utils.mjs +0 -5
  1076. package/esm2022/utils/public_api.mjs +0 -6
  1077. package/esm2022/utils/uniquecomponentid.mjs +0 -6
  1078. package/esm2022/utils/zindexutils.mjs +0 -35
@@ -1,1193 +0,0 @@
1
- import { animate, style, transition, trigger } from '@angular/animations';
2
- import { CommonModule, isPlatformBrowser } from '@angular/common';
3
- import { booleanAttribute, ChangeDetectionStrategy, Component, computed, ContentChild, ContentChildren, EventEmitter, forwardRef, Inject, inject, Input, NgModule, numberAttribute, Output, Pipe, PLATFORM_ID, signal, ViewChild, ViewEncapsulation } from '@angular/core';
4
- import { RouterModule } from '@angular/router';
5
- import { absolutePosition, appendChild, find, findSingle, focus, isTouchDevice, relativePosition, uuid } from '@primeuix/utils';
6
- import { PrimeTemplate, SharedModule } from 'primeng/api';
7
- import { BadgeModule } from 'primeng/badge';
8
- import { BaseComponent } from 'primeng/basecomponent';
9
- import { ConnectedOverlayScrollHandler } from 'primeng/dom';
10
- import { Ripple } from 'primeng/ripple';
11
- import { TooltipModule } from 'primeng/tooltip';
12
- import { ZIndexUtils } from 'primeng/utils';
13
- import { MenuStyle } from './style/menustyle';
14
- import * as i0 from "@angular/core";
15
- import * as i1 from "@angular/platform-browser";
16
- import * as i2 from "@angular/common";
17
- import * as i3 from "@angular/router";
18
- import * as i4 from "primeng/badge";
19
- import * as i5 from "primeng/api";
20
- import * as i6 from "primeng/tooltip";
21
- const _c0 = ["pMenuItemContent", ""];
22
- const _c1 = a0 => ({ "p-disabled": a0 });
23
- const _c2 = a0 => ({ $implicit: a0 });
24
- const _c3 = () => ({ exact: false });
25
- function MenuItemContent_ng_container_1_a_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
26
- i0.ɵɵelementContainer(0);
27
- } }
28
- function MenuItemContent_ng_container_1_a_1_Template(rf, ctx) { if (rf & 1) {
29
- i0.ɵɵelementStart(0, "a", 6);
30
- i0.ɵɵtemplate(1, MenuItemContent_ng_container_1_a_1_ng_container_1_Template, 1, 0, "ng-container", 7);
31
- i0.ɵɵelementEnd();
32
- } if (rf & 2) {
33
- const ctx_r1 = i0.ɵɵnextContext(2);
34
- const itemContent_r3 = i0.ɵɵreference(4);
35
- i0.ɵɵproperty("target", ctx_r1.item.target)("ngClass", i0.ɵɵpureFunction1(9, _c1, ctx_r1.item.disabled));
36
- i0.ɵɵattribute("title", ctx_r1.item.title)("href", ctx_r1.item.url || null, i0.ɵɵsanitizeUrl)("data-automationid", ctx_r1.item.automationId)("tabindex", -1)("data-pc-section", "action");
37
- i0.ɵɵadvance();
38
- i0.ɵɵproperty("ngTemplateOutlet", itemContent_r3)("ngTemplateOutletContext", i0.ɵɵpureFunction1(11, _c2, ctx_r1.item));
39
- } }
40
- function MenuItemContent_ng_container_1_a_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
41
- i0.ɵɵelementContainer(0);
42
- } }
43
- function MenuItemContent_ng_container_1_a_2_Template(rf, ctx) { if (rf & 1) {
44
- i0.ɵɵelementStart(0, "a", 8);
45
- i0.ɵɵtemplate(1, MenuItemContent_ng_container_1_a_2_ng_container_1_Template, 1, 0, "ng-container", 7);
46
- i0.ɵɵelementEnd();
47
- } if (rf & 2) {
48
- const ctx_r1 = i0.ɵɵnextContext(2);
49
- const itemContent_r3 = i0.ɵɵreference(4);
50
- i0.ɵɵproperty("routerLink", ctx_r1.item.routerLink)("queryParams", ctx_r1.item.queryParams)("routerLinkActiveOptions", ctx_r1.item.routerLinkActiveOptions || i0.ɵɵpureFunction0(17, _c3))("target", ctx_r1.item.target)("ngClass", i0.ɵɵpureFunction1(18, _c1, ctx_r1.item.disabled))("fragment", ctx_r1.item.fragment)("queryParamsHandling", ctx_r1.item.queryParamsHandling)("preserveFragment", ctx_r1.item.preserveFragment)("skipLocationChange", ctx_r1.item.skipLocationChange)("replaceUrl", ctx_r1.item.replaceUrl)("state", ctx_r1.item.state);
51
- i0.ɵɵattribute("data-automationid", ctx_r1.item.automationId)("tabindex", -1)("data-pc-section", "action")("title", ctx_r1.item.title);
52
- i0.ɵɵadvance();
53
- i0.ɵɵproperty("ngTemplateOutlet", itemContent_r3)("ngTemplateOutletContext", i0.ɵɵpureFunction1(20, _c2, ctx_r1.item));
54
- } }
55
- function MenuItemContent_ng_container_1_Template(rf, ctx) { if (rf & 1) {
56
- i0.ɵɵelementContainerStart(0);
57
- i0.ɵɵtemplate(1, MenuItemContent_ng_container_1_a_1_Template, 2, 13, "a", 4)(2, MenuItemContent_ng_container_1_a_2_Template, 2, 22, "a", 5);
58
- i0.ɵɵelementContainerEnd();
59
- } if (rf & 2) {
60
- const ctx_r1 = i0.ɵɵnextContext();
61
- i0.ɵɵadvance();
62
- i0.ɵɵproperty("ngIf", !(ctx_r1.item == null ? null : ctx_r1.item.routerLink));
63
- i0.ɵɵadvance();
64
- i0.ɵɵproperty("ngIf", ctx_r1.item == null ? null : ctx_r1.item.routerLink);
65
- } }
66
- function MenuItemContent_ng_container_2_1_ng_template_0_Template(rf, ctx) { }
67
- function MenuItemContent_ng_container_2_1_Template(rf, ctx) { if (rf & 1) {
68
- i0.ɵɵtemplate(0, MenuItemContent_ng_container_2_1_ng_template_0_Template, 0, 0, "ng-template");
69
- } }
70
- function MenuItemContent_ng_container_2_Template(rf, ctx) { if (rf & 1) {
71
- i0.ɵɵelementContainerStart(0);
72
- i0.ɵɵtemplate(1, MenuItemContent_ng_container_2_1_Template, 1, 0, null, 7);
73
- i0.ɵɵelementContainerEnd();
74
- } if (rf & 2) {
75
- const ctx_r1 = i0.ɵɵnextContext();
76
- i0.ɵɵadvance();
77
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.itemTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c2, ctx_r1.item));
78
- } }
79
- function MenuItemContent_ng_template_3_span_0_Template(rf, ctx) { if (rf & 1) {
80
- i0.ɵɵelement(0, "span", 12);
81
- } if (rf & 2) {
82
- const ctx_r1 = i0.ɵɵnextContext(2);
83
- i0.ɵɵclassMap(ctx_r1.item.iconClass);
84
- i0.ɵɵproperty("ngClass", ctx_r1.item.icon)("ngStyle", ctx_r1.item.iconStyle);
85
- } }
86
- function MenuItemContent_ng_template_3_span_1_Template(rf, ctx) { if (rf & 1) {
87
- i0.ɵɵelementStart(0, "span", 13);
88
- i0.ɵɵtext(1);
89
- i0.ɵɵelementEnd();
90
- } if (rf & 2) {
91
- const ctx_r1 = i0.ɵɵnextContext(2);
92
- i0.ɵɵadvance();
93
- i0.ɵɵtextInterpolate(ctx_r1.item.label);
94
- } }
95
- function MenuItemContent_ng_template_3_ng_template_2_Template(rf, ctx) { if (rf & 1) {
96
- i0.ɵɵelement(0, "span", 14);
97
- i0.ɵɵpipe(1, "safeHtml");
98
- } if (rf & 2) {
99
- const ctx_r1 = i0.ɵɵnextContext(2);
100
- i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(1, 1, ctx_r1.item.label), i0.ɵɵsanitizeHtml);
101
- } }
102
- function MenuItemContent_ng_template_3_p_badge_4_Template(rf, ctx) { if (rf & 1) {
103
- i0.ɵɵelement(0, "p-badge", 15);
104
- } if (rf & 2) {
105
- const ctx_r1 = i0.ɵɵnextContext(2);
106
- i0.ɵɵproperty("styleClass", ctx_r1.item.badgeStyleClass)("value", ctx_r1.item.badge);
107
- } }
108
- function MenuItemContent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
109
- i0.ɵɵtemplate(0, MenuItemContent_ng_template_3_span_0_Template, 1, 4, "span", 9)(1, MenuItemContent_ng_template_3_span_1_Template, 2, 1, "span", 10)(2, MenuItemContent_ng_template_3_ng_template_2_Template, 2, 3, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(4, MenuItemContent_ng_template_3_p_badge_4_Template, 1, 2, "p-badge", 11);
110
- } if (rf & 2) {
111
- const htmlLabel_r4 = i0.ɵɵreference(3);
112
- const ctx_r1 = i0.ɵɵnextContext();
113
- i0.ɵɵproperty("ngIf", ctx_r1.item.icon);
114
- i0.ɵɵadvance();
115
- i0.ɵɵproperty("ngIf", ctx_r1.item.escape !== false)("ngIfElse", htmlLabel_r4);
116
- i0.ɵɵadvance(3);
117
- i0.ɵɵproperty("ngIf", ctx_r1.item.badge);
118
- } }
119
- const _c4 = ["start"];
120
- const _c5 = ["end"];
121
- const _c6 = ["header"];
122
- const _c7 = ["item"];
123
- const _c8 = ["submenuheader"];
124
- const _c9 = ["list"];
125
- const _c10 = ["container"];
126
- const _c11 = a0 => ({ "p-menu p-component": true, "p-menu-overlay": a0 });
127
- const _c12 = (a0, a1) => ({ showTransitionParams: a0, hideTransitionParams: a1 });
128
- const _c13 = a0 => ({ value: "visible", params: a0 });
129
- const _c14 = a0 => ({ "p-hidden": a0 });
130
- const _c15 = (a0, a1) => ({ "p-hidden": a0, flex: a1 });
131
- const _c16 = (a0, a1, a2) => ({ "p-hidden": a0, "p-focus": a1, "p-disabled": a2 });
132
- function Menu_div_0_div_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
133
- i0.ɵɵelementContainer(0);
134
- } }
135
- function Menu_div_0_div_2_Template(rf, ctx) { if (rf & 1) {
136
- i0.ɵɵelementStart(0, "div", 9);
137
- i0.ɵɵtemplate(1, Menu_div_0_div_2_ng_container_1_Template, 1, 0, "ng-container", 10);
138
- i0.ɵɵelementEnd();
139
- } if (rf & 2) {
140
- let tmp_5_0;
141
- const ctx_r1 = i0.ɵɵnextContext(2);
142
- i0.ɵɵattribute("data-pc-section", "start");
143
- i0.ɵɵadvance();
144
- i0.ɵɵproperty("ngTemplateOutlet", (tmp_5_0 = ctx_r1.startTemplate) !== null && tmp_5_0 !== undefined ? tmp_5_0 : ctx_r1._startTemplate);
145
- } }
146
- function Menu_div_0_5_ng_template_0_li_0_Template(rf, ctx) { if (rf & 1) {
147
- i0.ɵɵelement(0, "li", 14);
148
- } if (rf & 2) {
149
- const submenu_r3 = i0.ɵɵnextContext().$implicit;
150
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(1, _c14, submenu_r3.visible === false));
151
- } }
152
- function Menu_div_0_5_ng_template_0_li_1_ng_container_1_span_1_Template(rf, ctx) { if (rf & 1) {
153
- i0.ɵɵelementStart(0, "span");
154
- i0.ɵɵtext(1);
155
- i0.ɵɵelementEnd();
156
- } if (rf & 2) {
157
- const submenu_r3 = i0.ɵɵnextContext(3).$implicit;
158
- i0.ɵɵadvance();
159
- i0.ɵɵtextInterpolate(submenu_r3.label);
160
- } }
161
- function Menu_div_0_5_ng_template_0_li_1_ng_container_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
162
- i0.ɵɵelement(0, "span", 18);
163
- i0.ɵɵpipe(1, "safeHtml");
164
- } if (rf & 2) {
165
- const submenu_r3 = i0.ɵɵnextContext(3).$implicit;
166
- i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(1, 1, submenu_r3.label), i0.ɵɵsanitizeHtml);
167
- } }
168
- function Menu_div_0_5_ng_template_0_li_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
169
- i0.ɵɵelementContainerStart(0);
170
- i0.ɵɵtemplate(1, Menu_div_0_5_ng_template_0_li_1_ng_container_1_span_1_Template, 2, 1, "span", 17)(2, Menu_div_0_5_ng_template_0_li_1_ng_container_1_ng_template_2_Template, 2, 3, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor);
171
- i0.ɵɵelementContainerEnd();
172
- } if (rf & 2) {
173
- const htmlSubmenuLabel_r4 = i0.ɵɵreference(3);
174
- const submenu_r3 = i0.ɵɵnextContext(2).$implicit;
175
- i0.ɵɵadvance();
176
- i0.ɵɵproperty("ngIf", submenu_r3.escape !== false)("ngIfElse", htmlSubmenuLabel_r4);
177
- } }
178
- function Menu_div_0_5_ng_template_0_li_1_ng_container_2_Template(rf, ctx) { if (rf & 1) {
179
- i0.ɵɵelementContainer(0);
180
- } }
181
- function Menu_div_0_5_ng_template_0_li_1_Template(rf, ctx) { if (rf & 1) {
182
- i0.ɵɵelementStart(0, "li", 15);
183
- i0.ɵɵtemplate(1, Menu_div_0_5_ng_template_0_li_1_ng_container_1_Template, 4, 2, "ng-container", 7)(2, Menu_div_0_5_ng_template_0_li_1_ng_container_2_Template, 1, 0, "ng-container", 16);
184
- i0.ɵɵelementEnd();
185
- } if (rf & 2) {
186
- let tmp_13_0;
187
- const ctx_r4 = i0.ɵɵnextContext();
188
- const submenu_r3 = ctx_r4.$implicit;
189
- const i_r6 = ctx_r4.index;
190
- const ctx_r1 = i0.ɵɵnextContext(3);
191
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(7, _c15, submenu_r3.visible === false, submenu_r3.visible))("tooltipOptions", submenu_r3.tooltipOptions);
192
- i0.ɵɵattribute("data-automationid", submenu_r3.automationId)("id", ctx_r1.menuitemId(submenu_r3, ctx_r1.id, i_r6));
193
- i0.ɵɵadvance();
194
- i0.ɵɵproperty("ngIf", !ctx_r1.submenuHeaderTemplate && !ctx_r1._submenuHeaderTemplate);
195
- i0.ɵɵadvance();
196
- i0.ɵɵproperty("ngTemplateOutlet", (tmp_13_0 = ctx_r1.submenuHeaderTemplate) !== null && tmp_13_0 !== undefined ? tmp_13_0 : ctx_r1._submenuHeaderTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(10, _c2, submenu_r3));
197
- } }
198
- function Menu_div_0_5_ng_template_0_ng_template_2_li_0_Template(rf, ctx) { if (rf & 1) {
199
- i0.ɵɵelement(0, "li", 14);
200
- } if (rf & 2) {
201
- const item_r7 = i0.ɵɵnextContext().$implicit;
202
- const submenu_r3 = i0.ɵɵnextContext().$implicit;
203
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(1, _c14, item_r7.visible === false || submenu_r3.visible === false));
204
- } }
205
- function Menu_div_0_5_ng_template_0_ng_template_2_li_1_Template(rf, ctx) { if (rf & 1) {
206
- const _r8 = i0.ɵɵgetCurrentView();
207
- i0.ɵɵelementStart(0, "li", 20);
208
- i0.ɵɵlistener("onMenuItemClick", function Menu_div_0_5_ng_template_0_ng_template_2_li_1_Template_li_onMenuItemClick_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r8 = i0.ɵɵnextContext(); const item_r7 = ctx_r8.$implicit; const j_r10 = ctx_r8.index; const i_r6 = i0.ɵɵnextContext().index; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.itemClick($event, ctx_r1.menuitemId(item_r7, ctx_r1.id, i_r6, j_r10))); });
209
- i0.ɵɵelementEnd();
210
- } if (rf & 2) {
211
- let tmp_13_0;
212
- const ctx_r8 = i0.ɵɵnextContext();
213
- const item_r7 = ctx_r8.$implicit;
214
- const j_r10 = ctx_r8.index;
215
- const ctx_r4 = i0.ɵɵnextContext();
216
- const submenu_r3 = ctx_r4.$implicit;
217
- const i_r6 = ctx_r4.index;
218
- const ctx_r1 = i0.ɵɵnextContext(3);
219
- i0.ɵɵclassMap(item_r7.styleClass);
220
- i0.ɵɵproperty("pMenuItemContent", item_r7)("itemTemplate", (tmp_13_0 = ctx_r1.itemTemplate) !== null && tmp_13_0 !== undefined ? tmp_13_0 : ctx_r1._itemTemplate)("ngClass", i0.ɵɵpureFunction3(13, _c16, item_r7.visible === false || submenu_r3.visible === false, ctx_r1.focusedOptionId() && ctx_r1.menuitemId(item_r7, ctx_r1.id, i_r6, j_r10) === ctx_r1.focusedOptionId(), ctx_r1.disabled(item_r7.disabled)))("ngStyle", item_r7.style)("tooltipOptions", item_r7.tooltipOptions);
221
- i0.ɵɵattribute("data-pc-section", "menuitem")("aria-label", ctx_r1.label(item_r7.label))("data-p-focused", ctx_r1.isItemFocused(ctx_r1.menuitemId(item_r7, ctx_r1.id, i_r6, j_r10)))("data-p-disabled", ctx_r1.disabled(item_r7.disabled))("aria-disabled", ctx_r1.disabled(item_r7.disabled))("id", ctx_r1.menuitemId(item_r7, ctx_r1.id, i_r6, j_r10));
222
- } }
223
- function Menu_div_0_5_ng_template_0_ng_template_2_Template(rf, ctx) { if (rf & 1) {
224
- i0.ɵɵtemplate(0, Menu_div_0_5_ng_template_0_ng_template_2_li_0_Template, 1, 3, "li", 12)(1, Menu_div_0_5_ng_template_0_ng_template_2_li_1_Template, 1, 17, "li", 19);
225
- } if (rf & 2) {
226
- const item_r7 = ctx.$implicit;
227
- i0.ɵɵproperty("ngIf", item_r7.separator);
228
- i0.ɵɵadvance();
229
- i0.ɵɵproperty("ngIf", !item_r7.separator);
230
- } }
231
- function Menu_div_0_5_ng_template_0_Template(rf, ctx) { if (rf & 1) {
232
- i0.ɵɵtemplate(0, Menu_div_0_5_ng_template_0_li_0_Template, 1, 3, "li", 12)(1, Menu_div_0_5_ng_template_0_li_1_Template, 3, 12, "li", 13)(2, Menu_div_0_5_ng_template_0_ng_template_2_Template, 2, 2, "ng-template", 11);
233
- } if (rf & 2) {
234
- const submenu_r3 = ctx.$implicit;
235
- i0.ɵɵproperty("ngIf", submenu_r3.separator);
236
- i0.ɵɵadvance();
237
- i0.ɵɵproperty("ngIf", !submenu_r3.separator);
238
- i0.ɵɵadvance();
239
- i0.ɵɵproperty("ngForOf", submenu_r3.items);
240
- } }
241
- function Menu_div_0_5_Template(rf, ctx) { if (rf & 1) {
242
- i0.ɵɵtemplate(0, Menu_div_0_5_ng_template_0_Template, 3, 3, "ng-template", 11);
243
- } if (rf & 2) {
244
- const ctx_r1 = i0.ɵɵnextContext(2);
245
- i0.ɵɵproperty("ngForOf", ctx_r1.model);
246
- } }
247
- function Menu_div_0_6_ng_template_0_li_0_Template(rf, ctx) { if (rf & 1) {
248
- i0.ɵɵelement(0, "li", 14);
249
- } if (rf & 2) {
250
- const item_r11 = i0.ɵɵnextContext().$implicit;
251
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(1, _c14, item_r11.visible === false));
252
- } }
253
- function Menu_div_0_6_ng_template_0_li_1_Template(rf, ctx) { if (rf & 1) {
254
- const _r12 = i0.ɵɵgetCurrentView();
255
- i0.ɵɵelementStart(0, "li", 20);
256
- i0.ɵɵlistener("onMenuItemClick", function Menu_div_0_6_ng_template_0_li_1_Template_li_onMenuItemClick_0_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r12 = i0.ɵɵnextContext(); const item_r11 = ctx_r12.$implicit; const i_r14 = ctx_r12.index; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.itemClick($event, ctx_r1.menuitemId(item_r11, ctx_r1.id, i_r14))); });
257
- i0.ɵɵelementEnd();
258
- } if (rf & 2) {
259
- let tmp_10_0;
260
- const ctx_r12 = i0.ɵɵnextContext();
261
- const item_r11 = ctx_r12.$implicit;
262
- const i_r14 = ctx_r12.index;
263
- const ctx_r1 = i0.ɵɵnextContext(3);
264
- i0.ɵɵclassMap(item_r11.styleClass);
265
- i0.ɵɵproperty("pMenuItemContent", item_r11)("itemTemplate", (tmp_10_0 = ctx_r1.itemTemplate) !== null && tmp_10_0 !== undefined ? tmp_10_0 : ctx_r1._itemTemplate)("ngClass", i0.ɵɵpureFunction3(13, _c16, item_r11.visible === false, ctx_r1.focusedOptionId() && ctx_r1.menuitemId(item_r11, ctx_r1.id, i_r14) === ctx_r1.focusedOptionId(), ctx_r1.disabled(item_r11.disabled)))("ngStyle", item_r11.style)("tooltipOptions", item_r11.tooltipOptions);
266
- i0.ɵɵattribute("data-pc-section", "menuitem")("aria-label", ctx_r1.label(item_r11.label))("data-p-focused", ctx_r1.isItemFocused(ctx_r1.menuitemId(item_r11, ctx_r1.id, i_r14)))("data-p-disabled", ctx_r1.disabled(item_r11.disabled))("aria-disabled", ctx_r1.disabled(item_r11.disabled))("id", ctx_r1.menuitemId(item_r11, ctx_r1.id, i_r14));
267
- } }
268
- function Menu_div_0_6_ng_template_0_Template(rf, ctx) { if (rf & 1) {
269
- i0.ɵɵtemplate(0, Menu_div_0_6_ng_template_0_li_0_Template, 1, 3, "li", 12)(1, Menu_div_0_6_ng_template_0_li_1_Template, 1, 17, "li", 19);
270
- } if (rf & 2) {
271
- const item_r11 = ctx.$implicit;
272
- i0.ɵɵproperty("ngIf", item_r11.separator);
273
- i0.ɵɵadvance();
274
- i0.ɵɵproperty("ngIf", !item_r11.separator);
275
- } }
276
- function Menu_div_0_6_Template(rf, ctx) { if (rf & 1) {
277
- i0.ɵɵtemplate(0, Menu_div_0_6_ng_template_0_Template, 2, 2, "ng-template", 11);
278
- } if (rf & 2) {
279
- const ctx_r1 = i0.ɵɵnextContext(2);
280
- i0.ɵɵproperty("ngForOf", ctx_r1.model);
281
- } }
282
- function Menu_div_0_div_7_ng_container_1_Template(rf, ctx) { if (rf & 1) {
283
- i0.ɵɵelementContainer(0);
284
- } }
285
- function Menu_div_0_div_7_Template(rf, ctx) { if (rf & 1) {
286
- i0.ɵɵelementStart(0, "div", 21);
287
- i0.ɵɵtemplate(1, Menu_div_0_div_7_ng_container_1_Template, 1, 0, "ng-container", 10);
288
- i0.ɵɵelementEnd();
289
- } if (rf & 2) {
290
- let tmp_5_0;
291
- const ctx_r1 = i0.ɵɵnextContext(2);
292
- i0.ɵɵattribute("data-pc-section", "end");
293
- i0.ɵɵadvance();
294
- i0.ɵɵproperty("ngTemplateOutlet", (tmp_5_0 = ctx_r1.endTemplate) !== null && tmp_5_0 !== undefined ? tmp_5_0 : ctx_r1._endTemplate);
295
- } }
296
- function Menu_div_0_Template(rf, ctx) { if (rf & 1) {
297
- const _r1 = i0.ɵɵgetCurrentView();
298
- i0.ɵɵelementStart(0, "div", 4, 0);
299
- i0.ɵɵlistener("click", function Menu_div_0_Template_div_click_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onOverlayClick($event)); })("@overlayAnimation.start", function Menu_div_0_Template_div_animation_overlayAnimation_start_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onOverlayAnimationStart($event)); })("@overlayAnimation.done", function Menu_div_0_Template_div_animation_overlayAnimation_done_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onOverlayAnimationEnd($event)); });
300
- i0.ɵɵtemplate(2, Menu_div_0_div_2_Template, 2, 2, "div", 5);
301
- i0.ɵɵelementStart(3, "ul", 6, 1);
302
- i0.ɵɵlistener("focus", function Menu_div_0_Template_ul_focus_3_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onListFocus($event)); })("blur", function Menu_div_0_Template_ul_blur_3_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onListBlur($event)); })("keydown", function Menu_div_0_Template_ul_keydown_3_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onListKeyDown($event)); });
303
- i0.ɵɵtemplate(5, Menu_div_0_5_Template, 1, 1, null, 7)(6, Menu_div_0_6_Template, 1, 1, null, 7);
304
- i0.ɵɵelementEnd();
305
- i0.ɵɵtemplate(7, Menu_div_0_div_7_Template, 2, 2, "div", 8);
306
- i0.ɵɵelementEnd();
307
- } if (rf & 2) {
308
- let tmp_10_0;
309
- let tmp_19_0;
310
- const ctx_r1 = i0.ɵɵnextContext();
311
- i0.ɵɵclassMap(ctx_r1.styleClass);
312
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(18, _c11, ctx_r1.popup))("ngStyle", ctx_r1.style)("@overlayAnimation", i0.ɵɵpureFunction1(23, _c13, i0.ɵɵpureFunction2(20, _c12, ctx_r1.showTransitionOptions, ctx_r1.hideTransitionOptions)))("@.disabled", ctx_r1.popup !== true);
313
- i0.ɵɵattribute("data-pc-name", "menu")("id", ctx_r1.id);
314
- i0.ɵɵadvance(2);
315
- i0.ɵɵproperty("ngIf", (tmp_10_0 = ctx_r1.startTemplate) !== null && tmp_10_0 !== undefined ? tmp_10_0 : ctx_r1._startTemplate);
316
- i0.ɵɵadvance();
317
- i0.ɵɵattribute("id", ctx_r1.id + "_list")("tabindex", ctx_r1.getTabIndexValue())("data-pc-section", "menu")("aria-activedescendant", ctx_r1.activedescendant())("aria-label", ctx_r1.ariaLabel)("aria-labelledBy", ctx_r1.ariaLabelledBy);
318
- i0.ɵɵadvance(2);
319
- i0.ɵɵproperty("ngIf", ctx_r1.hasSubMenu());
320
- i0.ɵɵadvance();
321
- i0.ɵɵproperty("ngIf", !ctx_r1.hasSubMenu());
322
- i0.ɵɵadvance();
323
- i0.ɵɵproperty("ngIf", (tmp_19_0 = ctx_r1.endTemplate) !== null && tmp_19_0 !== undefined ? tmp_19_0 : ctx_r1._endTemplate);
324
- } }
325
- export class SafeHtmlPipe {
326
- platformId;
327
- sanitizer;
328
- constructor(platformId, sanitizer) {
329
- this.platformId = platformId;
330
- this.sanitizer = sanitizer;
331
- }
332
- transform(value) {
333
- if (!value || !isPlatformBrowser(this.platformId)) {
334
- return value;
335
- }
336
- return this.sanitizer.bypassSecurityTrustHtml(value);
337
- }
338
- static ɵfac = function SafeHtmlPipe_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SafeHtmlPipe)(i0.ɵɵdirectiveInject(PLATFORM_ID, 16), i0.ɵɵdirectiveInject(i1.DomSanitizer, 16)); };
339
- static ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "safeHtml", type: SafeHtmlPipe, pure: true, standalone: true });
340
- }
341
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SafeHtmlPipe, [{
342
- type: Pipe,
343
- args: [{
344
- name: 'safeHtml',
345
- standalone: true
346
- }]
347
- }], () => [{ type: undefined, decorators: [{
348
- type: Inject,
349
- args: [PLATFORM_ID]
350
- }] }, { type: i1.DomSanitizer }], null); })();
351
- export class MenuItemContent {
352
- item;
353
- itemTemplate;
354
- onMenuItemClick = new EventEmitter();
355
- menu;
356
- constructor(menu) {
357
- this.menu = menu;
358
- }
359
- onItemClick(event, item) {
360
- this.onMenuItemClick.emit({ originalEvent: event, item });
361
- }
362
- static ɵfac = function MenuItemContent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MenuItemContent)(i0.ɵɵdirectiveInject(forwardRef(() => Menu))); };
363
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MenuItemContent, selectors: [["", "pMenuItemContent", ""]], inputs: { item: [0, "pMenuItemContent", "item"], itemTemplate: "itemTemplate" }, outputs: { onMenuItemClick: "onMenuItemClick" }, standalone: true, features: [i0.ɵɵStandaloneFeature], attrs: _c0, decls: 5, vars: 3, consts: [["itemContent", ""], ["htmlLabel", ""], [1, "p-menu-item-content", 3, "click"], [4, "ngIf"], ["class", "p-menu-item-link", "pRipple", "", 3, "target", "ngClass", 4, "ngIf"], ["routerLinkActive", "p-menu-item-link-active", "class", "p-menu-item-link", "pRipple", "", 3, "routerLink", "queryParams", "routerLinkActiveOptions", "target", "ngClass", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", 4, "ngIf"], ["pRipple", "", 1, "p-menu-item-link", 3, "target", "ngClass"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["routerLinkActive", "p-menu-item-link-active", "pRipple", "", 1, "p-menu-item-link", 3, "routerLink", "queryParams", "routerLinkActiveOptions", "target", "ngClass", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state"], ["class", "p-menu-item-icon", 3, "ngClass", "class", "ngStyle", 4, "ngIf"], ["class", "p-menu-item-label", 4, "ngIf", "ngIfElse"], [3, "styleClass", "value", 4, "ngIf"], [1, "p-menu-item-icon", 3, "ngClass", "ngStyle"], [1, "p-menu-item-label"], [1, "p-menu-item-label", 3, "innerHTML"], [3, "styleClass", "value"]], template: function MenuItemContent_Template(rf, ctx) { if (rf & 1) {
364
- const _r1 = i0.ɵɵgetCurrentView();
365
- i0.ɵɵelementStart(0, "div", 2);
366
- i0.ɵɵlistener("click", function MenuItemContent_Template_div_click_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onItemClick($event, ctx.item)); });
367
- i0.ɵɵtemplate(1, MenuItemContent_ng_container_1_Template, 3, 2, "ng-container", 3)(2, MenuItemContent_ng_container_2_Template, 2, 4, "ng-container", 3)(3, MenuItemContent_ng_template_3_Template, 5, 4, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
368
- i0.ɵɵelementEnd();
369
- } if (rf & 2) {
370
- i0.ɵɵattribute("data-pc-section", "content");
371
- i0.ɵɵadvance();
372
- i0.ɵɵproperty("ngIf", !ctx.itemTemplate);
373
- i0.ɵɵadvance();
374
- i0.ɵɵproperty("ngIf", ctx.itemTemplate);
375
- } }, dependencies: [CommonModule, i2.NgClass, i2.NgIf, i2.NgTemplateOutlet, i2.NgStyle, RouterModule, i3.RouterLink, i3.RouterLinkActive, Ripple, TooltipModule, BadgeModule, i4.Badge, SharedModule, SafeHtmlPipe], encapsulation: 2 });
376
- }
377
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuItemContent, [{
378
- type: Component,
379
- args: [{
380
- selector: '[pMenuItemContent]',
381
- standalone: true,
382
- imports: [CommonModule, RouterModule, Ripple, TooltipModule, BadgeModule, SharedModule, SafeHtmlPipe],
383
- template: `
384
- <div [attr.data-pc-section]="'content'" class="p-menu-item-content" (click)="onItemClick($event, item)">
385
- <ng-container *ngIf="!itemTemplate">
386
- <a
387
- *ngIf="!item?.routerLink"
388
- [attr.title]="item.title"
389
- [attr.href]="item.url || null"
390
- [attr.data-automationid]="item.automationId"
391
- [attr.tabindex]="-1"
392
- [attr.data-pc-section]="'action'"
393
- class="p-menu-item-link"
394
- [target]="item.target"
395
- [ngClass]="{ 'p-disabled': item.disabled }"
396
- pRipple
397
- >
398
- <ng-container *ngTemplateOutlet="itemContent; context: { $implicit: item }"></ng-container>
399
- </a>
400
- <a
401
- *ngIf="item?.routerLink"
402
- [routerLink]="item.routerLink"
403
- [attr.data-automationid]="item.automationId"
404
- [attr.tabindex]="-1"
405
- [attr.data-pc-section]="'action'"
406
- [attr.title]="item.title"
407
- [queryParams]="item.queryParams"
408
- routerLinkActive="p-menu-item-link-active"
409
- [routerLinkActiveOptions]="item.routerLinkActiveOptions || { exact: false }"
410
- class="p-menu-item-link"
411
- [target]="item.target"
412
- [ngClass]="{ 'p-disabled': item.disabled }"
413
- [fragment]="item.fragment"
414
- [queryParamsHandling]="item.queryParamsHandling"
415
- [preserveFragment]="item.preserveFragment"
416
- [skipLocationChange]="item.skipLocationChange"
417
- [replaceUrl]="item.replaceUrl"
418
- [state]="item.state"
419
- pRipple
420
- >
421
- <ng-container *ngTemplateOutlet="itemContent; context: { $implicit: item }"></ng-container>
422
- </a>
423
- </ng-container>
424
-
425
- <ng-container *ngIf="itemTemplate">
426
- <ng-template *ngTemplateOutlet="itemTemplate; context: { $implicit: item }"></ng-template>
427
- </ng-container>
428
-
429
- <ng-template #itemContent>
430
- <span class="p-menu-item-icon" *ngIf="item.icon" [ngClass]="item.icon" [class]="item.iconClass" [ngStyle]="item.iconStyle"></span>
431
- <span class="p-menu-item-label" *ngIf="item.escape !== false; else htmlLabel">{{ item.label }}</span>
432
- <ng-template #htmlLabel><span class="p-menu-item-label" [innerHTML]="item.label | safeHtml"></span></ng-template>
433
- <p-badge *ngIf="item.badge" [styleClass]="item.badgeStyleClass" [value]="item.badge" />
434
- </ng-template>
435
- </div>
436
- `,
437
- encapsulation: ViewEncapsulation.None
438
- }]
439
- }], () => [{ type: Menu, decorators: [{
440
- type: Inject,
441
- args: [forwardRef(() => Menu)]
442
- }] }], { item: [{
443
- type: Input,
444
- args: ['pMenuItemContent']
445
- }], itemTemplate: [{
446
- type: Input
447
- }], onMenuItemClick: [{
448
- type: Output
449
- }] }); })();
450
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MenuItemContent, { className: "MenuItemContent" }); })();
451
- /**
452
- * Menu is a navigation / command component that supports dynamic and static positioning.
453
- * @group Components
454
- */
455
- export class Menu extends BaseComponent {
456
- overlayService;
457
- /**
458
- * An array of menuitems.
459
- * @group Props
460
- */
461
- model;
462
- /**
463
- * Defines if menu would displayed as a popup.
464
- * @group Props
465
- */
466
- popup;
467
- /**
468
- * Inline style of the component.
469
- * @group Props
470
- */
471
- style;
472
- /**
473
- * Style class of the component.
474
- * @group Props
475
- */
476
- styleClass;
477
- /**
478
- * Target element to attach the overlay, valid values are "body" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]="mydiv" for a div element having #mydiv as variable name).
479
- * @group Props
480
- */
481
- appendTo;
482
- /**
483
- * Whether to automatically manage layering.
484
- * @group Props
485
- */
486
- autoZIndex = true;
487
- /**
488
- * Base zIndex value to use in layering.
489
- * @group Props
490
- */
491
- baseZIndex = 0;
492
- /**
493
- * Transition options of the show animation.
494
- * @group Props
495
- */
496
- showTransitionOptions = '.12s cubic-bezier(0, 0, 0.2, 1)';
497
- /**
498
- * Transition options of the hide animation.
499
- * @group Props
500
- */
501
- hideTransitionOptions = '.1s linear';
502
- /**
503
- * Defines a string value that labels an interactive element.
504
- * @group Props
505
- */
506
- ariaLabel;
507
- /**
508
- * Identifier of the underlying input element.
509
- * @group Props
510
- */
511
- ariaLabelledBy;
512
- /**
513
- * Current id state as a string.
514
- * @group Props
515
- */
516
- id;
517
- /**
518
- * Index of the element in tabbing order.
519
- * @group Props
520
- */
521
- tabindex = 0;
522
- /**
523
- * Callback to invoke when overlay menu is shown.
524
- * @group Emits
525
- */
526
- onShow = new EventEmitter();
527
- /**
528
- * Callback to invoke when overlay menu is hidden.
529
- * @group Emits
530
- */
531
- onHide = new EventEmitter();
532
- /**
533
- * Callback to invoke when the list loses focus.
534
- * @param {Event} event - blur event.
535
- * @group Emits
536
- */
537
- onBlur = new EventEmitter();
538
- /**
539
- * Callback to invoke when the list receives focus.
540
- * @param {Event} event - focus event.
541
- * @group Emits
542
- */
543
- onFocus = new EventEmitter();
544
- listViewChild;
545
- containerViewChild;
546
- container;
547
- scrollHandler;
548
- documentClickListener;
549
- documentResizeListener;
550
- preventDocumentDefault;
551
- target;
552
- visible;
553
- focusedOptionId = computed(() => {
554
- return this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : null;
555
- });
556
- focusedOptionIndex = signal(-1);
557
- selectedOptionIndex = signal(-1);
558
- focused = false;
559
- overlayVisible = false;
560
- relativeAlign;
561
- _componentStyle = inject(MenuStyle);
562
- constructor(overlayService) {
563
- super();
564
- this.overlayService = overlayService;
565
- this.id = this.id || uuid('pn_id_');
566
- }
567
- /**
568
- * Toggles the visibility of the popup menu.
569
- * @param {Event} event - Browser event.
570
- * @group Method
571
- */
572
- toggle(event) {
573
- if (this.visible)
574
- this.hide();
575
- else
576
- this.show(event);
577
- this.preventDocumentDefault = true;
578
- }
579
- /**
580
- * Displays the popup menu.
581
- * @param {Event} event - Browser event.
582
- * @group Method
583
- */
584
- show(event) {
585
- this.target = event.currentTarget;
586
- this.relativeAlign = event.relativeAlign;
587
- this.visible = true;
588
- this.preventDocumentDefault = true;
589
- this.overlayVisible = true;
590
- this.cd.markForCheck();
591
- }
592
- ngOnInit() {
593
- super.ngOnInit();
594
- if (!this.popup) {
595
- this.bindDocumentClickListener();
596
- }
597
- }
598
- /**
599
- * Defines template option for start.
600
- * @group Templates
601
- */
602
- startTemplate;
603
- _startTemplate;
604
- /**
605
- * Defines template option for end.
606
- * @group Templates
607
- */
608
- endTemplate;
609
- _endTemplate;
610
- /**
611
- * Defines template option for header.
612
- * @group Templates
613
- */
614
- headerTemplate;
615
- _headerTemplate;
616
- /**
617
- * Defines template option for item.
618
- * @group Templates
619
- */
620
- itemTemplate;
621
- _itemTemplate;
622
- /**
623
- * Defines template option for item.
624
- * @group Templates
625
- */
626
- submenuHeaderTemplate;
627
- _submenuHeaderTemplate;
628
- templates;
629
- ngAfterContentInit() {
630
- this.templates?.forEach((item) => {
631
- switch (item.getType()) {
632
- case 'start':
633
- this._startTemplate = item.template;
634
- break;
635
- case 'end':
636
- this._endTemplate = item.template;
637
- break;
638
- case 'item':
639
- this._itemTemplate = item.template;
640
- break;
641
- case 'submenuheader':
642
- this._submenuHeaderTemplate = item.template;
643
- break;
644
- default:
645
- this._itemTemplate = item.template;
646
- break;
647
- }
648
- });
649
- }
650
- getTabIndexValue() {
651
- return this.tabindex !== undefined ? this.tabindex.toString() : null;
652
- }
653
- onOverlayAnimationStart(event) {
654
- switch (event.toState) {
655
- case 'visible':
656
- if (this.popup) {
657
- this.container = event.element;
658
- this.moveOnTop();
659
- this.onShow.emit({});
660
- this.appendOverlay();
661
- this.alignOverlay();
662
- this.bindDocumentClickListener();
663
- this.bindDocumentResizeListener();
664
- this.bindScrollListener();
665
- focus(this.listViewChild.nativeElement);
666
- }
667
- break;
668
- case 'void':
669
- this.onOverlayHide();
670
- this.onHide.emit({});
671
- break;
672
- }
673
- }
674
- onOverlayAnimationEnd(event) {
675
- switch (event.toState) {
676
- case 'void':
677
- if (this.autoZIndex) {
678
- ZIndexUtils.clear(event.element);
679
- }
680
- break;
681
- }
682
- }
683
- alignOverlay() {
684
- if (this.relativeAlign)
685
- relativePosition(this.container, this.target);
686
- else
687
- absolutePosition(this.container, this.target);
688
- }
689
- appendOverlay() {
690
- if (this.appendTo) {
691
- if (this.appendTo === 'body')
692
- this.renderer.appendChild(this.document.body, this.container);
693
- else
694
- appendChild(this.appendTo, this.container);
695
- }
696
- }
697
- restoreOverlayAppend() {
698
- if (this.container && this.appendTo) {
699
- this.renderer.appendChild(this.el.nativeElement, this.container);
700
- }
701
- }
702
- moveOnTop() {
703
- if (this.autoZIndex) {
704
- ZIndexUtils.set('menu', this.container, this.baseZIndex + this.config.zIndex.menu);
705
- }
706
- }
707
- /**
708
- * Hides the popup menu.
709
- * @group Method
710
- */
711
- hide() {
712
- this.visible = false;
713
- this.relativeAlign = false;
714
- this.cd.markForCheck();
715
- }
716
- onWindowResize() {
717
- if (this.visible && !isTouchDevice()) {
718
- this.hide();
719
- }
720
- }
721
- menuitemId(item, id, index, childIndex) {
722
- return item?.id ?? `${id}_${index}${childIndex !== undefined ? '_' + childIndex : ''}`;
723
- }
724
- isItemFocused(id) {
725
- return this.focusedOptionId() === id;
726
- }
727
- label(label) {
728
- return typeof label === 'function' ? label() : label;
729
- }
730
- disabled(disabled) {
731
- return typeof disabled === 'function' ? disabled() : typeof disabled === 'undefined' ? false : disabled;
732
- }
733
- activedescendant() {
734
- return this.focused ? this.focusedOptionId() : undefined;
735
- }
736
- onListFocus(event) {
737
- if (!this.focused) {
738
- this.focused = true;
739
- this.onFocus.emit(event);
740
- }
741
- }
742
- onListBlur(event) {
743
- if (this.focused) {
744
- this.focused = false;
745
- this.changeFocusedOptionIndex(-1);
746
- this.selectedOptionIndex.set(-1);
747
- this.focusedOptionIndex.set(-1);
748
- this.onBlur.emit(event);
749
- }
750
- }
751
- onListKeyDown(event) {
752
- switch (event.code) {
753
- case 'ArrowDown':
754
- this.onArrowDownKey(event);
755
- break;
756
- case 'ArrowUp':
757
- this.onArrowUpKey(event);
758
- break;
759
- case 'Home':
760
- this.onHomeKey(event);
761
- break;
762
- case 'End':
763
- this.onEndKey(event);
764
- break;
765
- case 'Enter':
766
- this.onEnterKey(event);
767
- break;
768
- case 'NumpadEnter':
769
- this.onEnterKey(event);
770
- break;
771
- case 'Space':
772
- this.onSpaceKey(event);
773
- break;
774
- case 'Escape':
775
- case 'Tab':
776
- if (this.popup) {
777
- focus(this.target);
778
- this.hide();
779
- }
780
- this.overlayVisible && this.hide();
781
- break;
782
- default:
783
- break;
784
- }
785
- }
786
- onArrowDownKey(event) {
787
- const optionIndex = this.findNextOptionIndex(this.focusedOptionIndex());
788
- this.changeFocusedOptionIndex(optionIndex);
789
- event.preventDefault();
790
- }
791
- onArrowUpKey(event) {
792
- if (event.altKey && this.popup) {
793
- focus(this.target);
794
- this.hide();
795
- event.preventDefault();
796
- }
797
- else {
798
- const optionIndex = this.findPrevOptionIndex(this.focusedOptionIndex());
799
- this.changeFocusedOptionIndex(optionIndex);
800
- event.preventDefault();
801
- }
802
- }
803
- onHomeKey(event) {
804
- this.changeFocusedOptionIndex(0);
805
- event.preventDefault();
806
- }
807
- onEndKey(event) {
808
- this.changeFocusedOptionIndex(find(this.containerViewChild.nativeElement, 'li[data-pc-section="menuitem"][data-p-disabled="false"]').length - 1);
809
- event.preventDefault();
810
- }
811
- onEnterKey(event) {
812
- const element = findSingle(this.containerViewChild.nativeElement, `li[id="${`${this.focusedOptionIndex()}`}"]`);
813
- const anchorElement = element && findSingle(element, 'a[data-pc-section="action"]');
814
- this.popup && focus(this.target);
815
- anchorElement ? anchorElement.click() : element && element.click();
816
- event.preventDefault();
817
- }
818
- onSpaceKey(event) {
819
- this.onEnterKey(event);
820
- }
821
- findNextOptionIndex(index) {
822
- const links = find(this.containerViewChild.nativeElement, 'li[data-pc-section="menuitem"][data-p-disabled="false"]');
823
- const matchedOptionIndex = [...links].findIndex((link) => link.id === index);
824
- return matchedOptionIndex > -1 ? matchedOptionIndex + 1 : 0;
825
- }
826
- findPrevOptionIndex(index) {
827
- const links = find(this.containerViewChild.nativeElement, 'li[data-pc-section="menuitem"][data-p-disabled="false"]');
828
- const matchedOptionIndex = [...links].findIndex((link) => link.id === index);
829
- return matchedOptionIndex > -1 ? matchedOptionIndex - 1 : 0;
830
- }
831
- changeFocusedOptionIndex(index) {
832
- const links = find(this.containerViewChild.nativeElement, 'li[data-pc-section="menuitem"][data-p-disabled="false"]');
833
- if (links.length > 0) {
834
- let order = index >= links.length ? links.length - 1 : index < 0 ? 0 : index;
835
- order > -1 && this.focusedOptionIndex.set(links[order].getAttribute('id'));
836
- }
837
- }
838
- itemClick(event, id) {
839
- const { originalEvent, item } = event;
840
- if (!this.focused) {
841
- this.focused = true;
842
- this.onFocus.emit();
843
- }
844
- if (item.disabled) {
845
- originalEvent.preventDefault();
846
- return;
847
- }
848
- if (!item.url && !item.routerLink) {
849
- originalEvent.preventDefault();
850
- }
851
- if (item.command) {
852
- item.command({
853
- originalEvent: originalEvent,
854
- item: item
855
- });
856
- }
857
- if (this.popup) {
858
- this.hide();
859
- }
860
- if (!this.popup && this.focusedOptionIndex() !== id) {
861
- this.focusedOptionIndex.set(id);
862
- }
863
- }
864
- onOverlayClick(event) {
865
- if (this.popup) {
866
- this.overlayService.add({
867
- originalEvent: event,
868
- target: this.el.nativeElement
869
- });
870
- }
871
- this.preventDocumentDefault = true;
872
- }
873
- bindDocumentClickListener() {
874
- if (!this.documentClickListener && isPlatformBrowser(this.platformId)) {
875
- const documentTarget = this.el ? this.el.nativeElement.ownerDocument : 'document';
876
- this.documentClickListener = this.renderer.listen(documentTarget, 'click', (event) => {
877
- const isOutsideContainer = this.containerViewChild?.nativeElement && !this.containerViewChild?.nativeElement.contains(event.target);
878
- const isOutsideTarget = !(this.target && (this.target === event.target || this.target.contains(event.target)));
879
- if (!this.popup && isOutsideContainer && isOutsideTarget) {
880
- this.onListBlur(event);
881
- }
882
- if (this.preventDocumentDefault && this.overlayVisible && isOutsideContainer && isOutsideTarget) {
883
- this.hide();
884
- this.preventDocumentDefault = false;
885
- }
886
- });
887
- }
888
- }
889
- unbindDocumentClickListener() {
890
- if (this.documentClickListener) {
891
- this.documentClickListener();
892
- this.documentClickListener = null;
893
- }
894
- }
895
- bindDocumentResizeListener() {
896
- if (!this.documentResizeListener && isPlatformBrowser(this.platformId)) {
897
- const window = this.document.defaultView;
898
- this.documentResizeListener = this.renderer.listen(window, 'resize', this.onWindowResize.bind(this));
899
- }
900
- }
901
- unbindDocumentResizeListener() {
902
- if (this.documentResizeListener) {
903
- this.documentResizeListener();
904
- this.documentResizeListener = null;
905
- }
906
- }
907
- bindScrollListener() {
908
- if (!this.scrollHandler && isPlatformBrowser(this.platformId)) {
909
- this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, () => {
910
- if (this.visible) {
911
- this.hide();
912
- }
913
- });
914
- }
915
- this.scrollHandler?.bindScrollListener();
916
- }
917
- unbindScrollListener() {
918
- if (this.scrollHandler) {
919
- this.scrollHandler.unbindScrollListener();
920
- }
921
- }
922
- onOverlayHide() {
923
- this.unbindDocumentClickListener();
924
- this.unbindDocumentResizeListener();
925
- this.unbindScrollListener();
926
- this.preventDocumentDefault = false;
927
- if (!this.cd.destroyed) {
928
- this.target = null;
929
- }
930
- }
931
- ngOnDestroy() {
932
- if (this.popup) {
933
- if (this.scrollHandler) {
934
- this.scrollHandler.destroy();
935
- this.scrollHandler = null;
936
- }
937
- if (this.container && this.autoZIndex) {
938
- ZIndexUtils.clear(this.container);
939
- }
940
- this.restoreOverlayAppend();
941
- this.onOverlayHide();
942
- }
943
- if (!this.popup) {
944
- this.unbindDocumentClickListener();
945
- }
946
- super.ngOnDestroy();
947
- }
948
- hasSubMenu() {
949
- if (this.model) {
950
- for (var item of this.model) {
951
- if (item.items) {
952
- return true;
953
- }
954
- }
955
- }
956
- return false;
957
- }
958
- isItemHidden(item) {
959
- if (item.separator) {
960
- return item.visible === false || (item.items && item.items.some((subitem) => subitem.visible !== false));
961
- }
962
- return item.visible === false;
963
- }
964
- static ɵfac = function Menu_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || Menu)(i0.ɵɵdirectiveInject(i5.OverlayService)); };
965
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Menu, selectors: [["p-menu"]], contentQueries: function Menu_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
966
- i0.ɵɵcontentQuery(dirIndex, _c4, 4);
967
- i0.ɵɵcontentQuery(dirIndex, _c5, 4);
968
- i0.ɵɵcontentQuery(dirIndex, _c6, 4);
969
- i0.ɵɵcontentQuery(dirIndex, _c7, 4);
970
- i0.ɵɵcontentQuery(dirIndex, _c8, 4);
971
- i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);
972
- } if (rf & 2) {
973
- let _t;
974
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.startTemplate = _t.first);
975
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.endTemplate = _t.first);
976
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.headerTemplate = _t.first);
977
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.itemTemplate = _t.first);
978
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.submenuHeaderTemplate = _t.first);
979
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);
980
- } }, viewQuery: function Menu_Query(rf, ctx) { if (rf & 1) {
981
- i0.ɵɵviewQuery(_c9, 5);
982
- i0.ɵɵviewQuery(_c10, 5);
983
- } if (rf & 2) {
984
- let _t;
985
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.listViewChild = _t.first);
986
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.containerViewChild = _t.first);
987
- } }, inputs: { model: "model", popup: [2, "popup", "popup", booleanAttribute], style: "style", styleClass: "styleClass", appendTo: "appendTo", autoZIndex: [2, "autoZIndex", "autoZIndex", booleanAttribute], baseZIndex: [2, "baseZIndex", "baseZIndex", numberAttribute], showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", id: "id", tabindex: [2, "tabindex", "tabindex", numberAttribute] }, outputs: { onShow: "onShow", onHide: "onHide", onBlur: "onBlur", onFocus: "onFocus" }, standalone: true, features: [i0.ɵɵProvidersFeature([MenuStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 1, vars: 1, consts: [["container", ""], ["list", ""], ["htmlSubmenuLabel", ""], [3, "ngClass", "class", "ngStyle", "click", 4, "ngIf"], [3, "click", "ngClass", "ngStyle"], ["class", "p-menu-start", 4, "ngIf"], ["role", "menu", 1, "p-menu-list", "p-reset", 3, "focus", "blur", "keydown"], [4, "ngIf"], ["class", "p-menu-end", 4, "ngIf"], [1, "p-menu-start"], [4, "ngTemplateOutlet"], ["ngFor", "", 3, "ngForOf"], ["class", "p-menu-separator", "role", "separator", 3, "ngClass", 4, "ngIf"], ["class", "p-menu-submenu-label", "pTooltip", "", "role", "none", 3, "ngClass", "tooltipOptions", 4, "ngIf"], ["role", "separator", 1, "p-menu-separator", 3, "ngClass"], ["pTooltip", "", "role", "none", 1, "p-menu-submenu-label", 3, "ngClass", "tooltipOptions"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [4, "ngIf", "ngIfElse"], [3, "innerHTML"], ["class", "p-menu-item", "pTooltip", "", "role", "menuitem", 3, "pMenuItemContent", "itemTemplate", "ngClass", "ngStyle", "class", "tooltipOptions", "onMenuItemClick", 4, "ngIf"], ["pTooltip", "", "role", "menuitem", 1, "p-menu-item", 3, "onMenuItemClick", "pMenuItemContent", "itemTemplate", "ngClass", "ngStyle", "tooltipOptions"], [1, "p-menu-end"]], template: function Menu_Template(rf, ctx) { if (rf & 1) {
988
- i0.ɵɵtemplate(0, Menu_div_0_Template, 8, 25, "div", 3);
989
- } if (rf & 2) {
990
- i0.ɵɵproperty("ngIf", !ctx.popup || ctx.visible);
991
- } }, dependencies: [CommonModule, i2.NgClass, i2.NgForOf, i2.NgIf, i2.NgTemplateOutlet, i2.NgStyle, RouterModule, MenuItemContent, TooltipModule, i6.Tooltip, BadgeModule, SharedModule, SafeHtmlPipe], encapsulation: 2, data: { animation: [trigger('overlayAnimation', [transition(':enter', [style({ opacity: 0, transform: 'scaleY(0.8)' }), animate('{{showTransitionParams}}')]), transition(':leave', [animate('{{hideTransitionParams}}', style({ opacity: 0 }))])])] }, changeDetection: 0 });
992
- }
993
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(Menu, [{
994
- type: Component,
995
- args: [{
996
- selector: 'p-menu',
997
- standalone: true,
998
- imports: [CommonModule, RouterModule, MenuItemContent, TooltipModule, BadgeModule, SharedModule, SafeHtmlPipe],
999
- template: `
1000
- <div
1001
- #container
1002
- [ngClass]="{ 'p-menu p-component': true, 'p-menu-overlay': popup }"
1003
- [class]="styleClass"
1004
- [ngStyle]="style"
1005
- *ngIf="!popup || visible"
1006
- (click)="onOverlayClick($event)"
1007
- [@overlayAnimation]="{
1008
- value: 'visible',
1009
- params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions }
1010
- }"
1011
- [@.disabled]="popup !== true"
1012
- (@overlayAnimation.start)="onOverlayAnimationStart($event)"
1013
- (@overlayAnimation.done)="onOverlayAnimationEnd($event)"
1014
- [attr.data-pc-name]="'menu'"
1015
- [attr.id]="id"
1016
- >
1017
- <div *ngIf="startTemplate ?? _startTemplate" class="p-menu-start" [attr.data-pc-section]="'start'">
1018
- <ng-container *ngTemplateOutlet="startTemplate ?? _startTemplate"></ng-container>
1019
- </div>
1020
- <ul
1021
- #list
1022
- class="p-menu-list p-reset"
1023
- role="menu"
1024
- [attr.id]="id + '_list'"
1025
- [attr.tabindex]="getTabIndexValue()"
1026
- [attr.data-pc-section]="'menu'"
1027
- [attr.aria-activedescendant]="activedescendant()"
1028
- [attr.aria-label]="ariaLabel"
1029
- [attr.aria-labelledBy]="ariaLabelledBy"
1030
- (focus)="onListFocus($event)"
1031
- (blur)="onListBlur($event)"
1032
- (keydown)="onListKeyDown($event)"
1033
- >
1034
- <ng-template ngFor let-submenu let-i="index" [ngForOf]="model" *ngIf="hasSubMenu()">
1035
- <li class="p-menu-separator" *ngIf="submenu.separator" [ngClass]="{ 'p-hidden': submenu.visible === false }" role="separator"></li>
1036
- <li
1037
- class="p-menu-submenu-label"
1038
- [attr.data-automationid]="submenu.automationId"
1039
- *ngIf="!submenu.separator"
1040
- [ngClass]="{ 'p-hidden': submenu.visible === false, flex: submenu.visible }"
1041
- pTooltip
1042
- [tooltipOptions]="submenu.tooltipOptions"
1043
- role="none"
1044
- [attr.id]="menuitemId(submenu, id, i)"
1045
- >
1046
- <ng-container *ngIf="!submenuHeaderTemplate && !_submenuHeaderTemplate">
1047
- <span *ngIf="submenu.escape !== false; else htmlSubmenuLabel">{{ submenu.label }}</span>
1048
- <ng-template #htmlSubmenuLabel><span [innerHTML]="submenu.label | safeHtml"></span></ng-template>
1049
- </ng-container>
1050
- <ng-container *ngTemplateOutlet="submenuHeaderTemplate ?? _submenuHeaderTemplate; context: { $implicit: submenu }"></ng-container>
1051
- </li>
1052
- <ng-template ngFor let-item let-j="index" [ngForOf]="submenu.items">
1053
- <li class="p-menu-separator" *ngIf="item.separator" [ngClass]="{ 'p-hidden': item.visible === false || submenu.visible === false }" role="separator"></li>
1054
- <li
1055
- class="p-menu-item"
1056
- *ngIf="!item.separator"
1057
- [pMenuItemContent]="item"
1058
- [itemTemplate]="itemTemplate ?? _itemTemplate"
1059
- [ngClass]="{
1060
- 'p-hidden': item.visible === false || submenu.visible === false,
1061
- 'p-focus': focusedOptionId() && menuitemId(item, id, i, j) === focusedOptionId(),
1062
- 'p-disabled': disabled(item.disabled)
1063
- }"
1064
- [ngStyle]="item.style"
1065
- [class]="item.styleClass"
1066
- (onMenuItemClick)="itemClick($event, menuitemId(item, id, i, j))"
1067
- pTooltip
1068
- [tooltipOptions]="item.tooltipOptions"
1069
- role="menuitem"
1070
- [attr.data-pc-section]="'menuitem'"
1071
- [attr.aria-label]="label(item.label)"
1072
- [attr.data-p-focused]="isItemFocused(menuitemId(item, id, i, j))"
1073
- [attr.data-p-disabled]="disabled(item.disabled)"
1074
- [attr.aria-disabled]="disabled(item.disabled)"
1075
- [attr.id]="menuitemId(item, id, i, j)"
1076
- ></li>
1077
- </ng-template>
1078
- </ng-template>
1079
- <ng-template ngFor let-item let-i="index" [ngForOf]="model" *ngIf="!hasSubMenu()">
1080
- <li class="p-menu-separator" *ngIf="item.separator" [ngClass]="{ 'p-hidden': item.visible === false }" role="separator"></li>
1081
- <li
1082
- class="p-menu-item"
1083
- *ngIf="!item.separator"
1084
- [pMenuItemContent]="item"
1085
- [itemTemplate]="itemTemplate ?? _itemTemplate"
1086
- [ngClass]="{
1087
- 'p-hidden': item.visible === false,
1088
- 'p-focus': focusedOptionId() && menuitemId(item, id, i) === focusedOptionId(),
1089
- 'p-disabled': disabled(item.disabled)
1090
- }"
1091
- [ngStyle]="item.style"
1092
- [class]="item.styleClass"
1093
- (onMenuItemClick)="itemClick($event, menuitemId(item, id, i))"
1094
- pTooltip
1095
- [tooltipOptions]="item.tooltipOptions"
1096
- role="menuitem"
1097
- [attr.data-pc-section]="'menuitem'"
1098
- [attr.aria-label]="label(item.label)"
1099
- [attr.data-p-focused]="isItemFocused(menuitemId(item, id, i))"
1100
- [attr.data-p-disabled]="disabled(item.disabled)"
1101
- [attr.aria-disabled]="disabled(item.disabled)"
1102
- [attr.id]="menuitemId(item, id, i)"
1103
- ></li>
1104
- </ng-template>
1105
- </ul>
1106
- <div *ngIf="endTemplate ?? _endTemplate" class="p-menu-end" [attr.data-pc-section]="'end'">
1107
- <ng-container *ngTemplateOutlet="endTemplate ?? _endTemplate"></ng-container>
1108
- </div>
1109
- </div>
1110
- `,
1111
- animations: [trigger('overlayAnimation', [transition(':enter', [style({ opacity: 0, transform: 'scaleY(0.8)' }), animate('{{showTransitionParams}}')]), transition(':leave', [animate('{{hideTransitionParams}}', style({ opacity: 0 }))])])],
1112
- changeDetection: ChangeDetectionStrategy.OnPush,
1113
- encapsulation: ViewEncapsulation.None,
1114
- providers: [MenuStyle]
1115
- }]
1116
- }], () => [{ type: i5.OverlayService }], { model: [{
1117
- type: Input
1118
- }], popup: [{
1119
- type: Input,
1120
- args: [{ transform: booleanAttribute }]
1121
- }], style: [{
1122
- type: Input
1123
- }], styleClass: [{
1124
- type: Input
1125
- }], appendTo: [{
1126
- type: Input
1127
- }], autoZIndex: [{
1128
- type: Input,
1129
- args: [{ transform: booleanAttribute }]
1130
- }], baseZIndex: [{
1131
- type: Input,
1132
- args: [{ transform: numberAttribute }]
1133
- }], showTransitionOptions: [{
1134
- type: Input
1135
- }], hideTransitionOptions: [{
1136
- type: Input
1137
- }], ariaLabel: [{
1138
- type: Input
1139
- }], ariaLabelledBy: [{
1140
- type: Input
1141
- }], id: [{
1142
- type: Input
1143
- }], tabindex: [{
1144
- type: Input,
1145
- args: [{ transform: numberAttribute }]
1146
- }], onShow: [{
1147
- type: Output
1148
- }], onHide: [{
1149
- type: Output
1150
- }], onBlur: [{
1151
- type: Output
1152
- }], onFocus: [{
1153
- type: Output
1154
- }], listViewChild: [{
1155
- type: ViewChild,
1156
- args: ['list']
1157
- }], containerViewChild: [{
1158
- type: ViewChild,
1159
- args: ['container']
1160
- }], startTemplate: [{
1161
- type: ContentChild,
1162
- args: ['start', { descendants: false }]
1163
- }], endTemplate: [{
1164
- type: ContentChild,
1165
- args: ['end', { descendants: false }]
1166
- }], headerTemplate: [{
1167
- type: ContentChild,
1168
- args: ['header', { descendants: false }]
1169
- }], itemTemplate: [{
1170
- type: ContentChild,
1171
- args: ['item', { descendants: false }]
1172
- }], submenuHeaderTemplate: [{
1173
- type: ContentChild,
1174
- args: ['submenuheader', { descendants: false }]
1175
- }], templates: [{
1176
- type: ContentChildren,
1177
- args: [PrimeTemplate]
1178
- }] }); })();
1179
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(Menu, { className: "Menu" }); })();
1180
- export class MenuModule {
1181
- static ɵfac = function MenuModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MenuModule)(); };
1182
- static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: MenuModule });
1183
- static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [Menu, SharedModule, SharedModule] });
1184
- }
1185
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuModule, [{
1186
- type: NgModule,
1187
- args: [{
1188
- imports: [Menu, SharedModule, SafeHtmlPipe],
1189
- exports: [Menu, SharedModule, SafeHtmlPipe]
1190
- }]
1191
- }], null, null); })();
1192
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(MenuModule, { imports: [Menu, SharedModule, SafeHtmlPipe], exports: [Menu, SharedModule, SafeHtmlPipe] }); })();
1193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tZW51L21lbnUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBa0IsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUVILGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixZQUFZLEVBQ1osZUFBZSxFQUVmLFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLGVBQWUsRUFFZixNQUFNLEVBQ04sSUFBSSxFQUVKLFdBQVcsRUFFWCxNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixFQUVwQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEksT0FBTyxFQUE0QixhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9B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QU07WUFNRyxNQUFNO2tCQUFmLE1BQU07WUFNRyxPQUFPO2tCQUFoQixNQUFNO1lBRVksYUFBYTtrQkFBL0IsU0FBUzttQkFBQyxNQUFNO1lBRU8sa0JBQWtCO2tCQUF6QyxTQUFTO21CQUFDLFdBQVc7WUF3RXlCLGFBQWE7a0JBQTNELFlBQVk7bUJBQUMsT0FBTyxFQUFFLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRTtZQU9BLFdBQVc7a0JBQXZELFlBQVk7bUJBQUMsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRTtZQU9LLGNBQWM7a0JBQTdELFlBQVk7bUJBQUMsUUFBUSxFQUFFLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRTtZQU9BLFlBQVk7a0JBQXpELFlBQVk7bUJBQUMsTUFBTSxFQUFFLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRTtZQU9XLHFCQUFxQjtrQkFBM0UsWUFBWTttQkFBQyxlQUFlLEVBQUUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFO1lBR3JCLFNBQVM7a0JBQXhDLGVBQWU7bUJBQUMsYUFBYTs7a0ZBbE1yQixJQUFJO0FBeWxCakIsTUFBTSxPQUFPLFVBQVU7b0dBQVYsVUFBVTs0REFBVixVQUFVO2dFQUhULElBQUksRUFBRSxZQUFZLEVBQ1osWUFBWTs7aUZBRW5CLFVBQVU7Y0FKdEIsUUFBUTtlQUFDO2dCQUNOLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDO2dCQUMzQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQzthQUM5Qzs7d0ZBQ1ksVUFBVSxjQXpsQlYsSUFBSSxFQXNsQkcsWUFBWSxFQS95Qm5CLFlBQVksYUF5TlosSUFBSSxFQXVsQkcsWUFBWSxFQWh6Qm5CLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBBbmltYXRpb25FdmVudCwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbmplY3QsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nTW9kdWxlLFxuICAgIG51bWJlckF0dHJpYnV0ZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIFBpcGUsXG4gICAgUGlwZVRyYW5zZm9ybSxcbiAgICBQTEFURk9STV9JRCxcbiAgICBRdWVyeUxpc3QsXG4gICAgc2lnbmFsLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBWaWV3UmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGFic29sdXRlUG9zaXRpb24sIGFwcGVuZENoaWxkLCBmaW5kLCBmaW5kU2luZ2xlLCBmb2N1cywgaXNUb3VjaERldmljZSwgcmVsYXRpdmVQb3NpdGlvbiwgdXVpZCB9IGZyb20gJ0BwcmltZXVpeC91dGlscyc7XG5pbXBvcnQgeyBNZW51SXRlbSwgT3ZlcmxheVNlcnZpY2UsIFByaW1lVGVtcGxhdGUsIFNoYXJlZE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IEJhZGdlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9iYWRnZSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAncHJpbWVuZy9iYXNlY29tcG9uZW50JztcbmltcG9ydCB7IENvbm5lY3RlZE92ZXJsYXlTY3JvbGxIYW5kbGVyIH0gZnJvbSAncHJpbWVuZy9kb20nO1xuaW1wb3J0IHsgUmlwcGxlIH0gZnJvbSAncHJpbWVuZy9yaXBwbGUnO1xuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9vbHRpcCc7XG5pbXBvcnQgeyBOdWxsYWJsZSwgVm9pZExpc3RlbmVyIH0gZnJvbSAncHJpbWVuZy90cy1oZWxwZXJzJztcbmltcG9ydCB7IFpJbmRleFV0aWxzIH0gZnJvbSAncHJpbWVuZy91dGlscyc7XG5pbXBvcnQgeyBNZW51U3R5bGUgfSBmcm9tICcuL3N0eWxlL21lbnVzdHlsZSc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnc2FmZUh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgU2FmZUh0bWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm1JZDogYW55LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHNhbml0aXplcjogRG9tU2FuaXRpemVyXG4gICAgKSB7fVxuXG4gICAgcHVibGljIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nKTogU2FmZUh0bWwge1xuICAgICAgICBpZiAoIXZhbHVlIHx8ICFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodmFsdWUpO1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdbcE1lbnVJdGVtQ29udGVudF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUm91dGVyTW9kdWxlLCBSaXBwbGUsIFRvb2x0aXBNb2R1bGUsIEJhZGdlTW9kdWxlLCBTaGFyZWRNb2R1bGUsIFNhZmVIdG1sUGlwZV0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2NvbnRlbnQnXCIgY2xhc3M9XCJwLW1lbnUtaXRlbS1jb250ZW50XCIgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKCRldmVudCwgaXRlbSlcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbVRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhaXRlbT8ucm91dGVyTGlua1wiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cIml0ZW0udGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5ocmVmXT1cIml0ZW0udXJsIHx8IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb25pZF09XCJpdGVtLmF1dG9tYXRpb25JZFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cIi0xXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidhY3Rpb24nXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwLW1lbnUtaXRlbS1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgW3RhcmdldF09XCJpdGVtLnRhcmdldFwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3AtZGlzYWJsZWQnOiBpdGVtLmRpc2FibGVkIH1cIlxuICAgICAgICAgICAgICAgICAgICBwUmlwcGxlXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbUNvbnRlbnQ7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtPy5yb3V0ZXJMaW5rXCJcbiAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS5yb3V0ZXJMaW5rXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uaWRdPVwiaXRlbS5hdXRvbWF0aW9uSWRcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCItMVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInYWN0aW9uJ1wiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cIml0ZW0udGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwiaXRlbS5xdWVyeVBhcmFtc1wiXG4gICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJwLW1lbnUtaXRlbS1saW5rLWFjdGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJpdGVtLnJvdXRlckxpbmtBY3RpdmVPcHRpb25zIHx8IHsgZXhhY3Q6IGZhbHNlIH1cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInAtbWVudS1pdGVtLWxpbmtcIlxuICAgICAgICAgICAgICAgICAgICBbdGFyZ2V0XT1cIml0ZW0udGFyZ2V0XCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAncC1kaXNhYmxlZCc6IGl0ZW0uZGlzYWJsZWQgfVwiXG4gICAgICAgICAgICAgICAgICAgIFtmcmFnbWVudF09XCJpdGVtLmZyYWdtZW50XCJcbiAgICAgICAgICAgICAgICAgICAgW3F1ZXJ5UGFyYW1zSGFuZGxpbmddPVwiaXRlbS5xdWVyeVBhcmFtc0hhbmRsaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgW3ByZXNlcnZlRnJhZ21lbnRdPVwiaXRlbS5wcmVzZXJ2ZUZyYWdtZW50XCJcbiAgICAgICAgICAgICAgICAgICAgW3NraXBMb2NhdGlvbkNoYW5nZV09XCJpdGVtLnNraXBMb2NhdGlvbkNoYW5nZVwiXG4gICAgICAgICAgICAgICAgICAgIFtyZXBsYWNlVXJsXT1cIml0ZW0ucmVwbGFjZVVybFwiXG4gICAgICAgICAgICAgICAgICAgIFtzdGF0ZV09XCJpdGVtLnN0YXRlXCJcbiAgICAgICAgICAgICAgICAgICAgcFJpcHBsZVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1Db250ZW50OyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaXRlbUNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwLW1lbnUtaXRlbS1pY29uXCIgKm5nSWY9XCJpdGVtLmljb25cIiBbbmdDbGFzc109XCJpdGVtLmljb25cIiBbY2xhc3NdPVwiaXRlbS5pY29uQ2xhc3NcIiBbbmdTdHlsZV09XCJpdGVtLmljb25TdHlsZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInAtbWVudS1pdGVtLWxhYmVsXCIgKm5nSWY9XCJpdGVtLmVzY2FwZSAhPT0gZmFsc2U7IGVsc2UgaHRtbExhYmVsXCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2h0bWxMYWJlbD48c3BhbiBjbGFzcz1cInAtbWVudS1pdGVtLWxhYmVsXCIgW2lubmVySFRNTF09XCJpdGVtLmxhYmVsIHwgc2FmZUh0bWxcIj48L3NwYW4+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8cC1iYWRnZSAqbmdJZj1cIml0ZW0uYmFkZ2VcIiBbc3R5bGVDbGFzc109XCJpdGVtLmJhZGdlU3R5bGVDbGFzc1wiIFt2YWx1ZV09XCJpdGVtLmJhZGdlXCIgLz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgIGAsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBNZW51SXRlbUNvbnRlbnQge1xuICAgIEBJbnB1dCgncE1lbnVJdGVtQ29udGVudCcpIGl0ZW06IE1lbnVJdGVtIHwgdW5kZWZpbmVkO1xuXG4gICAgQElucHV0KCkgaXRlbVRlbXBsYXRlOiBhbnkgfCB1bmRlZmluZWQ7XG5cbiAgICBAT3V0cHV0KCkgb25NZW51SXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgbWVudTogTWVudTtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBNZW51KSkgbWVudTogTWVudSkge1xuICAgICAgICB0aGlzLm1lbnUgPSBtZW51IGFzIE1lbnU7XG4gICAgfVxuXG4gICAgb25JdGVtQ2xpY2soZXZlbnQsIGl0ZW0pIHtcbiAgICAgICAgdGhpcy5vbk1lbnVJdGVtQ2xpY2suZW1pdCh7IG9yaWdpbmFsRXZlbnQ6IGV2ZW50LCBpdGVtIH0pO1xuICAgIH1cbn1cbi8qKlxuICogTWVudSBpcyBhIG5hdmlnYXRpb24gLyBjb21tYW5kIGNvbXBvbmVudCB0aGF0IHN1cHBvcnRzIGR5bmFtaWMgYW5kIHN0YXRpYyBwb3NpdGlvbmluZy5cbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncC1tZW51JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlck1vZHVsZSwgTWVudUl0ZW1Db250ZW50LCBUb29sdGlwTW9kdWxlLCBCYWRnZU1vZHVsZSwgU2hhcmVkTW9kdWxlLCBTYWZlSHRtbFBpcGVdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICNjb250YWluZXJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3AtbWVudSBwLWNvbXBvbmVudCc6IHRydWUsICdwLW1lbnUtb3ZlcmxheSc6IHBvcHVwIH1cIlxuICAgICAgICAgICAgW2NsYXNzXT1cInN0eWxlQ2xhc3NcIlxuICAgICAgICAgICAgW25nU3R5bGVdPVwic3R5bGVcIlxuICAgICAgICAgICAgKm5nSWY9XCIhcG9wdXAgfHwgdmlzaWJsZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25PdmVybGF5Q2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICBbQG92ZXJsYXlBbmltYXRpb25dPVwie1xuICAgICAgICAgICAgICAgIHZhbHVlOiAndmlzaWJsZScsXG4gICAgICAgICAgICAgICAgcGFyYW1zOiB7IHNob3dUcmFuc2l0aW9uUGFyYW1zOiBzaG93VHJhbnNpdGlvbk9wdGlvbnMsIGhpZGVUcmFuc2l0aW9uUGFyYW1zOiBoaWRlVHJhbnNpdGlvbk9wdGlvbnMgfVxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICBbQC5kaXNhYmxlZF09XCJwb3B1cCAhPT0gdHJ1ZVwiXG4gICAgICAgICAgICAoQG92ZXJsYXlBbmltYXRpb24uc3RhcnQpPVwib25PdmVybGF5QW5pbWF0aW9uU3RhcnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAoQG92ZXJsYXlBbmltYXRpb24uZG9uZSk9XCJvbk92ZXJsYXlBbmltYXRpb25FbmQoJGV2ZW50KVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXBjLW5hbWVdPVwiJ21lbnUnXCJcbiAgICAgICAgICAgIFthdHRyLmlkXT1cImlkXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInN0YXJ0VGVtcGxhdGUgPz8gX3N0YXJ0VGVtcGxhdGVcIiBjbGFzcz1cInAtbWVudS1zdGFydFwiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInc3RhcnQnXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN0YXJ0VGVtcGxhdGUgPz8gX3N0YXJ0VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHVsXG4gICAgICAgICAgICAgICAgI2xpc3RcbiAgICAgICAgICAgICAgICBjbGFzcz1cInAtbWVudS1saXN0IHAtcmVzZXRcIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJtZW51XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJpZCArICdfbGlzdCdcIlxuICAgICAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cImdldFRhYkluZGV4VmFsdWUoKVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidtZW51J1wiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1hY3RpdmVkZXNjZW5kYW50XT1cImFjdGl2ZWRlc2NlbmRhbnQoKVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRCeV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgICAgICAgICAgKGZvY3VzKT1cIm9uTGlzdEZvY3VzKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChibHVyKT1cIm9uTGlzdEJsdXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25MaXN0S2V5RG93bigkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LXN1Ym1lbnUgbGV0LWk9XCJpbmRleFwiIFtuZ0Zvck9mXT1cIm1vZGVsXCIgKm5nSWY9XCJoYXNTdWJNZW51KClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicC1tZW51LXNlcGFyYXRvclwiICpuZ0lmPVwic3VibWVudS5zZXBhcmF0b3JcIiBbbmdDbGFzc109XCJ7ICdwLWhpZGRlbic6IHN1Ym1lbnUudmlzaWJsZSA9PT0gZmFsc2UgfVwiIHJvbGU9XCJzZXBhcmF0b3JcIj48L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicC1tZW51LXN1Ym1lbnUtbGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uaWRdPVwic3VibWVudS5hdXRvbWF0aW9uSWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhc3VibWVudS5zZXBhcmF0b3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAncC1oaWRkZW4nOiBzdWJtZW51LnZpc2libGUgPT09IGZhbHNlLCBmbGV4OiBzdWJtZW51LnZpc2libGUgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBwVG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBPcHRpb25zXT1cInN1Ym1lbnUudG9vbHRpcE9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwibWVudWl0ZW1JZChzdWJtZW51LCBpZCwgaSlcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXN1Ym1lbnVIZWFkZXJUZW1wbGF0ZSAmJiAhX3N1Ym1lbnVIZWFkZXJUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic3VibWVudS5lc2NhcGUgIT09IGZhbHNlOyBlbHNlIGh0bWxTdWJtZW51TGFiZWxcIj57eyBzdWJtZW51LmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaHRtbFN1Ym1lbnVMYWJlbD48c3BhbiBbaW5uZXJIVE1MXT1cInN1Ym1lbnUubGFiZWwgfCBzYWZlSHRtbFwiPjwvc3Bhbj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3VibWVudUhlYWRlclRlbXBsYXRlID8/IF9zdWJtZW51SGVhZGVyVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBzdWJtZW51IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1pdGVtIGxldC1qPVwiaW5kZXhcIiBbbmdGb3JPZl09XCJzdWJtZW51Lml0ZW1zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJwLW1lbnUtc2VwYXJhdG9yXCIgKm5nSWY9XCJpdGVtLnNlcGFyYXRvclwiIFtuZ0NsYXNzXT1cInsgJ3AtaGlkZGVuJzogaXRlbS52aXNpYmxlID09PSBmYWxzZSB8fCBzdWJtZW51LnZpc2libGUgPT09IGZhbHNlIH1cIiByb2xlPVwic2VwYXJhdG9yXCI+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicC1tZW51LWl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWl0ZW0uc2VwYXJhdG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcE1lbnVJdGVtQ29udGVudF09XCJpdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbVRlbXBsYXRlXT1cIml0ZW1UZW1wbGF0ZSA/PyBfaXRlbVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwLWhpZGRlbic6IGl0ZW0udmlzaWJsZSA9PT0gZmFsc2UgfHwgc3VibWVudS52aXNpYmxlID09PSBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3AtZm9jdXMnOiBmb2N1c2VkT3B0aW9uSWQoKSAmJiBtZW51aXRlbUlkKGl0ZW0sIGlkLCBpLCBqKSA9PT0gZm9jdXNlZE9wdGlvbklkKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwLWRpc2FibGVkJzogZGlzYWJsZWQoaXRlbS5kaXNhYmxlZClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJpdGVtLnN0eWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiaXRlbS5zdHlsZUNsYXNzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25NZW51SXRlbUNsaWNrKT1cIml0ZW1DbGljaygkZXZlbnQsIG1lbnVpdGVtSWQoaXRlbSwgaWQsIGksIGopKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcFRvb2x0aXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE9wdGlvbnNdPVwiaXRlbS50b29sdGlwT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ21lbnVpdGVtJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbChpdGVtLmxhYmVsKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1wLWZvY3VzZWRdPVwiaXNJdGVtRm9jdXNlZChtZW51aXRlbUlkKGl0ZW0sIGlkLCBpLCBqKSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtcC1kaXNhYmxlZF09XCJkaXNhYmxlZChpdGVtLmRpc2FibGVkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZChpdGVtLmRpc2FibGVkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwibWVudWl0ZW1JZChpdGVtLCBpZCwgaSwgailcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWl0ZW0gbGV0LWk9XCJpbmRleFwiIFtuZ0Zvck9mXT1cIm1vZGVsXCIgKm5nSWY9XCIhaGFzU3ViTWVudSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInAtbWVudS1zZXBhcmF0b3JcIiAqbmdJZj1cIml0ZW0uc2VwYXJhdG9yXCIgW25nQ2xhc3NdPVwieyAncC1oaWRkZW4nOiBpdGVtLnZpc2libGUgPT09IGZhbHNlIH1cIiByb2xlPVwic2VwYXJhdG9yXCI+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInAtbWVudS1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWl0ZW0uc2VwYXJhdG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwTWVudUl0ZW1Db250ZW50XT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1UZW1wbGF0ZV09XCJpdGVtVGVtcGxhdGUgPz8gX2l0ZW1UZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3AtaGlkZGVuJzogaXRlbS52aXNpYmxlID09PSBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncC1mb2N1cyc6IGZvY3VzZWRPcHRpb25JZCgpICYmIG1lbnVpdGVtSWQoaXRlbSwgaWQsIGkpID09PSBmb2N1c2VkT3B0aW9uSWQoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncC1kaXNhYmxlZCc6IGRpc2FibGVkKGl0ZW0uZGlzYWJsZWQpXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIml0ZW0uc3R5bGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIml0ZW0uc3R5bGVDbGFzc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAob25NZW51SXRlbUNsaWNrKT1cIml0ZW1DbGljaygkZXZlbnQsIG1lbnVpdGVtSWQoaXRlbSwgaWQsIGkpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBwVG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBPcHRpb25zXT1cIml0ZW0udG9vbHRpcE9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInbWVudWl0ZW0nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWwoaXRlbS5sYWJlbClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1wLWZvY3VzZWRdPVwiaXNJdGVtRm9jdXNlZChtZW51aXRlbUlkKGl0ZW0sIGlkLCBpKSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1wLWRpc2FibGVkXT1cImRpc2FibGVkKGl0ZW0uZGlzYWJsZWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWQoaXRlbS5kaXNhYmxlZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwibWVudWl0ZW1JZChpdGVtLCBpZCwgaSlcIlxuICAgICAgICAgICAgICAgICAgICA+PC9saT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJlbmRUZW1wbGF0ZSA/PyBfZW5kVGVtcGxhdGVcIiBjbGFzcz1cInAtbWVudS1lbmRcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2VuZCdcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZW5kVGVtcGxhdGUgPz8gX2VuZFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgYCxcbiAgICBhbmltYXRpb25zOiBbdHJpZ2dlcignb3ZlcmxheUFuaW1hdGlvbicsIFt0cmFuc2l0aW9uKCc6ZW50ZXInLCBbc3R5bGUoeyBvcGFjaXR5OiAwLCB0cmFuc2Zvcm06ICdzY2FsZVkoMC44KScgfSksIGFuaW1hdGUoJ3t7c2hvd1RyYW5zaXRpb25QYXJhbXN9fScpXSksIHRyYW5zaXRpb24oJzpsZWF2ZScsIFthbmltYXRlKCd7e2hpZGVUcmFuc2l0aW9uUGFyYW1zfX0nLCBzdHlsZSh7IG9wYWNpdHk6IDAgfSkpXSldKV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtNZW51U3R5bGVdXG59KVxuZXhwb3J0IGNsYXNzIE1lbnUgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKipcbiAgICAgKiBBbiBhcnJheSBvZiBtZW51aXRlbXMuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgbW9kZWw6IE1lbnVJdGVtW10gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogRGVmaW5lcyBpZiBtZW51IHdvdWxkIGRpc3BsYXllZCBhcyBhIHBvcHVwLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBwb3B1cDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBJbmxpbmUgc3R5bGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzdHlsZTogeyBba2xhc3M6IHN0cmluZ106IGFueSB9IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBTdHlsZSBjbGFzcyBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBUYXJnZXQgZWxlbWVudCB0byBhdHRhY2ggdGhlIG92ZXJsYXksIHZhbGlkIHZhbHVlcyBhcmUgXCJib2R5XCIgb3IgYSBsb2NhbCBuZy10ZW1wbGF0ZSB2YXJpYWJsZSBvZiBhbm90aGVyIGVsZW1lbnQgKG5vdGU6IHVzZSBiaW5kaW5nIHdpdGggYnJhY2tldHMgZm9yIHRlbXBsYXRlIHZhcmlhYmxlcywgZS5nLiBbYXBwZW5kVG9dPVwibXlkaXZcIiBmb3IgYSBkaXYgZWxlbWVudCBoYXZpbmcgI215ZGl2IGFzIHZhcmlhYmxlIG5hbWUpLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGFwcGVuZFRvOiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWYgfCBUZW1wbGF0ZVJlZjxhbnk+IHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCB8IGFueTtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIGF1dG9tYXRpY2FsbHkgbWFuYWdlIGxheWVyaW5nLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBhdXRvWkluZGV4OiBib29sZWFuID0gdHJ1ZTtcbiAgICAvKipcbiAgICAgKiBCYXNlIHpJbmRleCB2YWx1ZSB0byB1c2UgaW4gbGF5ZXJpbmcuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgYmFzZVpJbmRleDogbnVtYmVyID0gMDtcbiAgICAvKipcbiAgICAgKiBUcmFuc2l0aW9uIG9wdGlvbnMgb2YgdGhlIHNob3cgYW5pbWF0aW9uLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNob3dUcmFuc2l0aW9uT3B0aW9uczogc3RyaW5nID0gJy4xMnMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSknO1xuICAgIC8qKlxuICAgICAqIFRyYW5zaXRpb24gb3B0aW9ucyBvZiB0aGUgaGlkZSBhbmltYXRpb24uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgaGlkZVRyYW5zaXRpb25PcHRpb25zOiBzdHJpbmcgPSAnLjFzIGxpbmVhcic7XG4gICAgLyoqXG4gICAgICogRGVmaW5lcyBhIHN0cmluZyB2YWx1ZSB0aGF0IGxhYmVscyBhbiBpbnRlcmFjdGl2ZSBlbGVtZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGFyaWFMYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIElkZW50aWZpZXIgb2YgdGhlIHVuZGVybHlpbmcgaW5wdXQgZWxlbWVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBhcmlhTGFiZWxsZWRCeTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIEN1cnJlbnQgaWQgc3RhdGUgYXMgYSBzdHJpbmcuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBJbmRleCBvZiB0aGUgZWxlbWVudCBpbiB0YWJiaW5nIG9yZGVyLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHRhYmluZGV4OiBudW1iZXIgPSAwO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIG92ZXJsYXkgbWVudSBpcyBzaG93bi5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25TaG93OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIG92ZXJsYXkgbWVudSBpcyBoaWRkZW4uXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uSGlkZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiB0aGUgbGlzdCBsb3NlcyBmb2N1cy5cbiAgICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudCAtIGJsdXIgZXZlbnQuXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uQmx1cjogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gdGhlIGxpc3QgcmVjZWl2ZXMgZm9jdXMuXG4gICAgICogQHBhcmFtIHtFdmVudH0gZXZlbnQgLSBmb2N1cyBldmVudC5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25Gb2N1czogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdsaXN0JykgbGlzdFZpZXdDaGlsZDogTnVsbGFibGU8RWxlbWVudFJlZj47XG5cbiAgICBAVmlld0NoaWxkKCdjb250YWluZXInKSBjb250YWluZXJWaWV3Q2hpbGQ6IE51bGxhYmxlPEVsZW1lbnRSZWY+O1xuXG4gICAgY29udGFpbmVyOiBIVE1MRGl2RWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICAgIHNjcm9sbEhhbmRsZXI6IENvbm5lY3RlZE92ZXJsYXlTY3JvbGxIYW5kbGVyIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuICAgIGRvY3VtZW50Q2xpY2tMaXN0ZW5lcjogVm9pZExpc3RlbmVyO1xuXG4gICAgZG9jdW1lbnRSZXNpemVMaXN0ZW5lcjogVm9pZExpc3RlbmVyO1xuXG4gICAgcHJldmVudERvY3VtZW50RGVmYXVsdDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAgIHRhcmdldDogYW55O1xuXG4gICAgdmlzaWJsZTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAgIGZvY3VzZWRPcHRpb25JZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9jdXNlZE9wdGlvbkluZGV4KCkgIT09IC0xID8gdGhpcy5mb2N1c2VkT3B0aW9uSW5kZXgoKSA6IG51bGw7XG4gICAgfSk7XG5cbiAgICBwdWJsaWMgZm9jdXNlZE9wdGlvbkluZGV4OiBhbnkgPSBzaWduYWw8YW55PigtMSk7XG5cbiAgICBwdWJsaWMgc2VsZWN0ZWRPcHRpb25JbmRleDogYW55ID0gc2lnbmFsPGFueT4oLTEpO1xuXG4gICAgcHVibGljIGZvY3VzZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBvdmVybGF5VmlzaWJsZTogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuXG4gICAgcmVsYXRpdmVBbGlnbjogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAgIF9jb21wb25lbnRTdHlsZSA9IGluamVjdChNZW51U3R5bGUpO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIG92ZXJsYXlTZXJ2aWNlOiBPdmVybGF5U2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmlkID0gdGhpcy5pZCB8fCB1dWlkKCdwbl9pZF8nKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogVG9nZ2xlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgcG9wdXAgbWVudS5cbiAgICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudCAtIEJyb3dzZXIgZXZlbnQuXG4gICAgICogQGdyb3VwIE1ldGhvZFxuICAgICAqL1xuICAgIHB1YmxpYyB0b2dnbGUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLnZpc2libGUpIHRoaXMuaGlkZSgpO1xuICAgICAgICBlbHNlIHRoaXMuc2hvdyhldmVudCk7XG5cbiAgICAgICAgdGhpcy5wcmV2ZW50RG9jdW1lbnREZWZhdWx0ID0gdHJ1ZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRGlzcGxheXMgdGhlIHBvcHVwIG1lbnUuXG4gICAgICogQHBhcmFtIHtFdmVudH0gZXZlbnQgLSBCcm93c2VyIGV2ZW50LlxuICAgICAqIEBncm91cCBNZXRob2RcbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvdyhldmVudDogYW55KSB7XG4gICAgICAgIHRoaXMudGFyZ2V0ID0gZXZlbnQuY3VycmVudFRhcmdldDtcbiAgICAgICAgdGhpcy5yZWxhdGl2ZUFsaWduID0gZXZlbnQucmVsYXRpdmVBbGlnbjtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5wcmV2ZW50RG9jdW1lbnREZWZhdWx0ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vdmVybGF5VmlzaWJsZSA9IHRydWU7XG4gICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIGlmICghdGhpcy5wb3B1cCkge1xuICAgICAgICAgICAgdGhpcy5iaW5kRG9jdW1lbnRDbGlja0xpc3RlbmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIHRlbXBsYXRlIG9wdGlvbiBmb3Igc3RhcnQuXG4gICAgICogQGdyb3VwIFRlbXBsYXRlc1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ3N0YXJ0JywgeyBkZXNjZW5kYW50czogZmFsc2UgfSkgc3RhcnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcbiAgICBfc3RhcnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgdGVtcGxhdGUgb3B0aW9uIGZvciBlbmQuXG4gICAgICogQGdyb3VwIFRlbXBsYXRlc1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2VuZCcsIHsgZGVzY2VuZGFudHM6IGZhbHNlIH0pIGVuZFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuICAgIF9lbmRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgdGVtcGxhdGUgb3B0aW9uIGZvciBoZWFkZXIuXG4gICAgICogQGdyb3VwIFRlbXBsYXRlc1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2hlYWRlcicsIHsgZGVzY2VuZGFudHM6IGZhbHNlIH0pIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuICAgIF9oZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgdGVtcGxhdGUgb3B0aW9uIGZvciBpdGVtLlxuICAgICAqIEBncm91cCBUZW1wbGF0ZXNcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdpdGVtJywgeyBkZXNjZW5kYW50czogZmFsc2UgfSkgaXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuICAgIF9pdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIHRlbXBsYXRlIG9wdGlvbiBmb3IgaXRlbS5cbiAgICAgKiBAZ3JvdXAgVGVtcGxhdGVzXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnc3VibWVudWhlYWRlcicsIHsgZGVzY2VuZGFudHM6IGZhbHNlIH0pIHN1Ym1lbnVIZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcbiAgICBfc3VibWVudUhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihQcmltZVRlbXBsYXRlKSB0ZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxQcmltZVRlbXBsYXRlPjtcblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZXM/LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAoaXRlbS5nZXRUeXBlKCkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdzdGFydCc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3N0YXJ0VGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ2VuZCc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2VuZFRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdpdGVtJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faXRlbVRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdzdWJtZW51aGVhZGVyJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3VibWVudUhlYWRlclRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9pdGVtVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0VGFiSW5kZXhWYWx1ZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFiaW5kZXggIT09IHVuZGVmaW5lZCA/IHRoaXMudGFiaW5kZXgudG9TdHJpbmcoKSA6IG51bGw7XG4gICAgfVxuXG4gICAgb25PdmVybGF5QW5pbWF0aW9uU3RhcnQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQudG9TdGF0ZSkge1xuICAgICAgICAgICAgY2FzZSAndmlzaWJsZSc6XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucG9wdXApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXIgPSBldmVudC5lbGVtZW50O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVPblRvcCgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uU2hvdy5lbWl0KHt9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBlbmRPdmVybGF5KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25PdmVybGF5KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmluZERvY3VtZW50Q2xpY2tMaXN0ZW5lcigpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJpbmREb2N1bWVudFJlc2l6ZUxpc3RlbmVyKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgICAgICAgICAgICAgICAgIGZvY3VzKHRoaXMubGlzdFZpZXdDaGlsZC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ3ZvaWQnOlxuICAgICAgICAgICAgICAgIHRoaXMub25PdmVybGF5SGlkZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMub25IaWRlLmVtaXQoe30pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25PdmVybGF5QW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LnRvU3RhdGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3ZvaWQnOlxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmF1dG9aSW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgWkluZGV4VXRpbHMuY2xlYXIoZXZlbnQuZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYWxpZ25PdmVybGF5KCkge1xuICAgICAgICBpZiAodGhpcy5yZWxhdGl2ZUFsaWduKSByZWxhdGl2ZVBvc2l0aW9uKHRoaXMuY29udGFpbmVyLCB0aGlzLnRhcmdldCk7XG4gICAgICAgIGVsc2UgYWJzb2x1dGVQb3NpdGlvbih0aGlzLmNvbnRhaW5lciwgdGhpcy50YXJnZXQpO1xuICAgIH1cblxuICAgIGFwcGVuZE92ZXJsYXkoKSB7XG4gICAgICAgIGlmICh0aGlzLmFwcGVuZFRvKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5hcHBlbmRUbyA9PT0gJ2JvZHknKSB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZG9jdW1lbnQuYm9keSwgdGhpcy5jb250YWluZXIpO1xuICAgICAgICAgICAgZWxzZSBhcHBlbmRDaGlsZCh0aGlzLmFwcGVuZFRvLCB0aGlzLmNvbnRhaW5lcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXN0b3JlT3ZlcmxheUFwcGVuZCgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGFpbmVyICYmIHRoaXMuYXBwZW5kVG8pIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50LCB0aGlzLmNvbnRhaW5lcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtb3ZlT25Ub3AoKSB7XG4gICAgICAgIGlmICh0aGlzLmF1dG9aSW5kZXgpIHtcbiAgICAgICAgICAgIFpJbmRleFV0aWxzLnNldCgnbWVudScsIHRoaXMuY29udGFpbmVyLCB0aGlzLmJhc2VaSW5kZXggKyB0aGlzLmNvbmZpZy56SW5kZXgubWVudSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogSGlkZXMgdGhlIHBvcHVwIG1lbnUuXG4gICAgICogQGdyb3VwIE1ldGhvZFxuICAgICAqL1xuICAgIHB1YmxpYyBoaWRlKCkge1xuICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZWxhdGl2ZUFsaWduID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgb25XaW5kb3dSZXNpemUoKSB7XG4gICAgICAgIGlmICh0aGlzLnZpc2libGUgJiYgIWlzVG91Y2hEZXZpY2UoKSkge1xuICAgICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtZW51aXRlbUlkKGl0ZW06IE1lbnVJdGVtLCBpZDogc3RyaW5nIHwgYW55LCBpbmRleD86IHN0cmluZyB8IG51bWJlciwgY2hpbGRJbmRleD86IHN0cmluZyB8IG51bWJlcikge1xuICAgICAgICByZXR1cm4gaXRlbT8uaWQgPz8gYCR7aWR9XyR7aW5kZXh9JHtjaGlsZEluZGV4ICE9PSB1bmRlZmluZWQgPyAnXycgKyBjaGlsZEluZGV4IDogJyd9YDtcbiAgICB9XG5cbiAgICBpc0l0ZW1Gb2N1c2VkKGlkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzZWRPcHRpb25JZCgpID09PSBpZDtcbiAgICB9XG5cbiAgICBsYWJlbChsYWJlbDogYW55KSB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgbGFiZWwgPT09ICdmdW5jdGlvbicgPyBsYWJlbCgpIDogbGFiZWw7XG4gICAgfVxuXG4gICAgZGlzYWJsZWQoZGlzYWJsZWQ6IGFueSkge1xuICAgICAgICByZXR1cm4gdHlwZW9mIGRpc2FibGVkID09PSAnZnVuY3Rpb24nID8gZGlzYWJsZWQoKSA6IHR5cGVvZiBkaXNhYmxlZCA9PT0gJ3VuZGVmaW5lZCcgPyBmYWxzZSA6IGRpc2FibGVkO1xuICAgIH1cblxuICAgIGFjdGl2ZWRlc2NlbmRhbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzZWQgPyB0aGlzLmZvY3VzZWRPcHRpb25JZCgpIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIG9uTGlzdEZvY3VzKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuZm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMub25Gb2N1cy5lbWl0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTGlzdEJsdXIoZXZlbnQ6IEZvY3VzRXZlbnQgfCBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VGb2N1c2VkT3B0aW9uSW5kZXgoLTEpO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbkluZGV4LnNldCgtMSk7XG4gICAgICAgICAgICB0aGlzLmZvY3VzZWRPcHRpb25JbmRleC5zZXQoLTEpO1xuICAgICAgICAgICAgdGhpcy5vbkJsdXIuZW1pdChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkxpc3RLZXlEb3duKGV2ZW50KSB7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQuY29kZSkge1xuICAgICAgICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uQXJyb3dEb3duS2V5KGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgICAgICAgICAgdGhpcy5vbkFycm93VXBLZXkoZXZlbnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlICdIb21lJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uSG9tZUtleShldmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ0VuZCc6XG4gICAgICAgICAgICAgICAgdGhpcy5vbkVuZEtleShldmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uRW50ZXJLZXkoZXZlbnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlICdOdW1wYWRFbnRlcic6XG4gICAgICAgICAgICAgICAgdGhpcy5vbkVudGVyS2V5KGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnU3BhY2UnOlxuICAgICAgICAgICAgICAgIHRoaXMub25TcGFjZUtleShldmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ0VzY2FwZSc6XG4gICAgICAgICAgICBjYXNlICdUYWInOlxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnBvcHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvY3VzKHRoaXMudGFyZ2V0KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVZpc2libGUgJiYgdGhpcy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkFycm93RG93bktleShldmVudCkge1xuICAgICAgICBjb25zdCBvcHRpb25JbmRleCA9IHRoaXMuZmluZE5leHRPcHRpb25JbmRleCh0aGlzLmZvY3VzZWRPcHRpb25JbmRleCgpKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VGb2N1c2VkT3B0aW9uSW5kZXgob3B0aW9uSW5kZXgpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIG9uQXJyb3dVcEtleShldmVudCkge1xuICAgICAgICBpZiAoZXZlbnQuYWx0S2V5ICYmIHRoaXMucG9wdXApIHtcbiAgICAgICAgICAgIGZvY3VzKHRoaXMudGFyZ2V0KTtcbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbkluZGV4ID0gdGhpcy5maW5kUHJldk9wdGlvbkluZGV4KHRoaXMuZm9jdXNlZE9wdGlvbkluZGV4KCkpO1xuXG4gICAgICAgICAgICB0aGlzLmNoYW5nZUZvY3VzZWRPcHRpb25JbmRleChvcHRpb25JbmRleCk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Ib21lS2V5KGV2ZW50KSB7XG4gICAgICAgIHRoaXMuY2hhbmdlRm9jdXNlZE9wdGlvbkluZGV4KDApO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIG9uRW5kS2V5KGV2ZW50KSB7XG4gICAgICAgIHRoaXMuY2hhbmdlRm9jdXNlZE9wdGlvbkluZGV4KGZpbmQodGhpcy5jb250YWluZXJWaWV3Q2hpbGQubmF0aXZlRWxlbWVudCwgJ2xpW2RhdGEtcGMtc2VjdGlvbj1cIm1lbnVpdGVtXCJdW2RhdGEtcC1kaXNhYmxlZD1cImZhbHNlXCJdJykubGVuZ3RoIC0gMSk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgb25FbnRlcktleShldmVudCkge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gPGFueT5maW5kU2luZ2xlKHRoaXMuY29udGFpbmVyVmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQsIGBsaVtpZD1cIiR7YCR7dGhpcy5mb2N1c2VkT3B0aW9uSW5kZXgoKX1gfVwiXWApO1xuICAgICAgICBjb25zdCBhbmNob3JFbGVtZW50ID0gZWxlbWVudCAmJiA8YW55PmZpbmRTaW5nbGUoZWxlbWVudCwgJ2FbZGF0YS1wYy1zZWN0aW9uPVwiYWN0aW9uXCJdJyk7XG5cbiAgICAgICAgdGhpcy5wb3B1cCAmJiBmb2N1cyh0aGlzLnRhcmdldCk7XG4gICAgICAgIGFuY2hvckVsZW1lbnQgPyBhbmNob3JFbGVtZW50LmNsaWNrKCkgOiBlbGVtZW50ICYmIGVsZW1lbnQuY2xpY2soKTtcblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIG9uU3BhY2VLZXkoZXZlbnQpIHtcbiAgICAgICAgdGhpcy5vbkVudGVyS2V5KGV2ZW50KTtcbiAgICB9XG5cbiAgICBmaW5kTmV4dE9wdGlvbkluZGV4KGluZGV4KSB7XG4gICAgICAgIGNvbnN0IGxpbmtzID0gZmluZCh0aGlzLmNvbnRhaW5lclZpZXdDaGlsZC5uYXRpdmVFbGVtZW50LCAnbGlbZGF0YS1wYy1zZWN0aW9uPVwibWVudWl0ZW1cIl1bZGF0YS1wLWRpc2FibGVkPVwiZmFsc2VcIl0nKTtcbiAgICAgICAgY29uc3QgbWF0Y2hlZE9wdGlvbkluZGV4ID0gWy4uLmxpbmtzXS5maW5kSW5kZXgoKGxpbmspID0+IGxpbmsuaWQgPT09IGluZGV4KTtcblxuICAgICAgICByZXR1cm4gbWF0Y2hlZE9wdGlvbkluZGV4ID4gLTEgPyBtYXRjaGVkT3B0aW9uSW5kZXggKyAxIDogMDtcbiAgICB9XG5cbiAgICBmaW5kUHJldk9wdGlvbkluZGV4KGluZGV4KSB7XG4gICAgICAgIGNvbnN0IGxpbmtzID0gZmluZCh0aGlzLmNvbnRhaW5lclZpZXdDaGlsZC5uYXRpdmVFbGVtZW50LCAnbGlbZGF0YS1wYy1zZWN0aW9uPVwibWVudWl0ZW1cIl1bZGF0YS1wLWRpc2FibGVkPVwiZmFsc2VcIl0nKTtcbiAgICAgICAgY29uc3QgbWF0Y2hlZE9wdGlvbkluZGV4ID0gWy4uLmxpbmtzXS5maW5kSW5kZXgoKGxpbmspID0+IGxpbmsuaWQgPT09IGluZGV4KTtcblxuICAgICAgICByZXR1cm4gbWF0Y2hlZE9wdGlvbkluZGV4ID4gLTEgPyBtYXRjaGVkT3B0aW9uSW5kZXggLSAxIDogMDtcbiAgICB9XG5cbiAgICBjaGFuZ2VGb2N1c2VkT3B0aW9uSW5kZXgoaW5kZXgpIHtcbiAgICAgICAgY29uc3QgbGlua3MgPSBmaW5kKHRoaXMuY29udGFpbmVyVmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQsICdsaVtkYXRhLXBjLXNlY3Rpb249XCJtZW51aXRlbVwiXVtkYXRhLXAtZGlzYWJsZWQ9XCJmYWxzZVwiXScpO1xuXG4gICAgICAgIGlmIChsaW5rcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBsZXQgb3JkZXIgPSBpbmRleCA+PSBsaW5rcy5sZW5ndGggPyBsaW5rcy5sZW5ndGggLSAxIDogaW5kZXggPCAwID8gMCA6IGluZGV4O1xuICAgICAgICAgICAgb3JkZXIgPiAtMSAmJiB0aGlzLmZvY3VzZWRPcHRpb25JbmRleC5zZXQobGlua3Nbb3JkZXJdLmdldEF0dHJpYnV0ZSgnaWQnKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpdGVtQ2xpY2soZXZlbnQ6IGFueSwgaWQ6IHN0cmluZykge1xuICAgICAgICBjb25zdCB7IG9yaWdpbmFsRXZlbnQsIGl0ZW0gfSA9IGV2ZW50O1xuXG4gICAgICAgIGlmICghdGhpcy5mb2N1c2VkKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5vbkZvY3VzLmVtaXQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpdGVtLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBvcmlnaW5hbEV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWl0ZW0udXJsICYmICFpdGVtLnJvdXRlckxpbmspIHtcbiAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpdGVtLmNvbW1hbmQpIHtcbiAgICAgICAgICAgIGl0ZW0uY29tbWFuZCh7XG4gICAgICAgICAgICAgICAgb3JpZ2luYWxFdmVudDogb3JpZ2luYWxFdmVudCxcbiAgICAgICAgICAgICAgICBpdGVtOiBpdGVtXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnBvcHVwKSB7XG4gICAgICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5wb3B1cCAmJiB0aGlzLmZvY3VzZWRPcHRpb25JbmRleCgpICE9PSBpZCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c2VkT3B0aW9uSW5kZXguc2V0KGlkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uT3ZlcmxheUNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5wb3B1cCkge1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5U2VydmljZS5hZGQoe1xuICAgICAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQ6IGV2ZW50LFxuICAgICAgICAgICAgICAgIHRhcmdldDogdGhpcy5lbC5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJldmVudERvY3VtZW50RGVmYXVsdCA9IHRydWU7XG4gICAgfVxuXG4gICAgYmluZERvY3VtZW50Q2xpY2tMaXN0ZW5lcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRvY3VtZW50Q2xpY2tMaXN0ZW5lciAmJiBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICBjb25zdCBkb2N1bWVudFRhcmdldDogYW55ID0gdGhpcy5lbCA/IHRoaXMuZWwubmF0aXZlRWxlbWVudC5vd25lckRvY3VtZW50IDogJ2RvY3VtZW50JztcblxuICAgICAgICAgICAgdGhpcy5kb2N1bWVudENsaWNrTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbihkb2N1bWVudFRhcmdldCwgJ2NsaWNrJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNPdXRzaWRlQ29udGFpbmVyID0gdGhpcy5jb250YWluZXJWaWV3Q2hpbGQ/Lm5hdGl2ZUVsZW1lbnQgJiYgIXRoaXMuY29udGFpbmVyVmlld0NoaWxkPy5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCk7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNPdXRzaWRlVGFyZ2V0ID0gISh0aGlzLnRhcmdldCAmJiAodGhpcy50YXJnZXQgPT09IGV2ZW50LnRhcmdldCB8fCB0aGlzLnRhcmdldC5jb250YWlucyhldmVudC50YXJnZXQpKSk7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnBvcHVwICYmIGlzT3V0c2lkZUNvbnRhaW5lciAmJiBpc091dHNpZGVUYXJnZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkxpc3RCbHVyKGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucHJldmVudERvY3VtZW50RGVmYXVsdCAmJiB0aGlzLm92ZXJsYXlWaXNpYmxlICYmIGlzT3V0c2lkZUNvbnRhaW5lciAmJiBpc091dHNpZGVUYXJnZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJldmVudERvY3VtZW50RGVmYXVsdCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdW5iaW5kRG9jdW1lbnRDbGlja0xpc3RlbmVyKCkge1xuICAgICAgICBpZiAodGhpcy5kb2N1bWVudENsaWNrTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRDbGlja0xpc3RlbmVyKCk7XG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50Q2xpY2tMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBiaW5kRG9jdW1lbnRSZXNpemVMaXN0ZW5lcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRvY3VtZW50UmVzaXplTGlzdGVuZXIgJiYgaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgY29uc3Qgd2luZG93ID0gdGhpcy5kb2N1bWVudC5kZWZhdWx0VmlldztcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRSZXNpemVMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHdpbmRvdywgJ3Jlc2l6ZScsIHRoaXMub25XaW5kb3dSZXNpemUuYmluZCh0aGlzKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bmJpbmREb2N1bWVudFJlc2l6ZUxpc3RlbmVyKCkge1xuICAgICAgICBpZiAodGhpcy5kb2N1bWVudFJlc2l6ZUxpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50UmVzaXplTGlzdGVuZXIoKTtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRSZXNpemVMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBiaW5kU2Nyb2xsTGlzdGVuZXIoKSB7XG4gICAgICAgIGlmICghdGhpcy5zY3JvbGxIYW5kbGVyICYmIGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlciA9IG5ldyBDb25uZWN0ZWRPdmVybGF5U2Nyb2xsSGFuZGxlcih0aGlzLnRhcmdldCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnZpc2libGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNjcm9sbEhhbmRsZXI/LmJpbmRTY3JvbGxMaXN0ZW5lcigpO1xuICAgIH1cblxuICAgIHVuYmluZFNjcm9sbExpc3RlbmVyKCkge1xuICAgICAgICBpZiAodGhpcy5zY3JvbGxIYW5kbGVyKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbEhhbmRsZXIudW5iaW5kU2Nyb2xsTGlzdGVuZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uT3ZlcmxheUhpZGUoKSB7XG4gICAgICAgIHRoaXMudW5iaW5kRG9jdW1lbnRDbGlja0xpc3RlbmVyKCk7XG4gICAgICAgIHRoaXMudW5iaW5kRG9jdW1lbnRSZXNpemVMaXN0ZW5lcigpO1xuICAgICAgICB0aGlzLnVuYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgICAgIHRoaXMucHJldmVudERvY3VtZW50RGVmYXVsdCA9IGZhbHNlO1xuXG4gICAgICAgIGlmICghKHRoaXMuY2QgYXMgVmlld1JlZikuZGVzdHJveWVkKSB7XG4gICAgICAgICAgICB0aGlzLnRhcmdldCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMucG9wdXApIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNjcm9sbEhhbmRsZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbEhhbmRsZXIuZGVzdHJveSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlciA9IG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRhaW5lciAmJiB0aGlzLmF1dG9aSW5kZXgpIHtcbiAgICAgICAgICAgICAgICBaSW5kZXhVdGlscy5jbGVhcih0aGlzLmNvbnRhaW5lcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMucmVzdG9yZU92ZXJsYXlBcHBlbmQoKTtcbiAgICAgICAgICAgIHRoaXMub25PdmVybGF5SGlkZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLnBvcHVwKSB7XG4gICAgICAgICAgICB0aGlzLnVuYmluZERvY3VtZW50Q2xpY2tMaXN0ZW5lcigpO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxuXG4gICAgaGFzU3ViTWVudSgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMubW9kZWwpIHtcbiAgICAgICAgICAgIGZvciAodmFyIGl0ZW0gb2YgdGhpcy5tb2RlbCkge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLml0ZW1zKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaXNJdGVtSGlkZGVuKGl0ZW06IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoaXRlbS5zZXBhcmF0b3IpIHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtLnZpc2libGUgPT09IGZhbHNlIHx8IChpdGVtLml0ZW1zICYmIGl0ZW0uaXRlbXMuc29tZSgoc3ViaXRlbSkgPT4gc3ViaXRlbS52aXNpYmxlICE9PSBmYWxzZSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpdGVtLnZpc2libGUgPT09IGZhbHNlO1xuICAgIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbTWVudSwgU2hhcmVkTW9kdWxlLCBTYWZlSHRtbFBpcGVdLFxuICAgIGV4cG9ydHM6IFtNZW51LCBTaGFyZWRNb2R1bGUsIFNhZmVIdG1sUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgTWVudU1vZHVsZSB7fVxuIl19