primeng 18.0.0 → 19.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1077) hide show
  1. package/base/style/basestyle.d.ts +11 -11
  2. package/fesm2022/primeng-accordion.mjs +12 -12
  3. package/fesm2022/primeng-accordion.mjs.map +1 -1
  4. package/fesm2022/primeng-animateonscroll.mjs +1 -1
  5. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  6. package/fesm2022/primeng-api.mjs +5 -5
  7. package/fesm2022/primeng-api.mjs.map +1 -1
  8. package/fesm2022/primeng-autocomplete.mjs +2 -2
  9. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  10. package/fesm2022/primeng-autofocus.mjs +1 -1
  11. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  12. package/fesm2022/primeng-avatar.mjs +2 -2
  13. package/fesm2022/primeng-avatar.mjs.map +1 -1
  14. package/fesm2022/primeng-avatargroup.mjs +2 -2
  15. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  16. package/fesm2022/primeng-badge.mjs +3 -3
  17. package/fesm2022/primeng-badge.mjs.map +1 -1
  18. package/fesm2022/primeng-basecomponent.mjs +1 -1
  19. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  20. package/fesm2022/primeng-blockui.mjs +2 -2
  21. package/fesm2022/primeng-blockui.mjs.map +1 -1
  22. package/fesm2022/primeng-breadcrumb.mjs +2 -2
  23. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  24. package/fesm2022/primeng-button.mjs +5 -5
  25. package/fesm2022/primeng-button.mjs.map +1 -1
  26. package/fesm2022/primeng-buttongroup.mjs +2 -2
  27. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  28. package/fesm2022/primeng-calendar.mjs +2 -2
  29. package/fesm2022/primeng-calendar.mjs.map +1 -1
  30. package/fesm2022/primeng-card.mjs +2 -2
  31. package/fesm2022/primeng-card.mjs.map +1 -1
  32. package/fesm2022/primeng-carousel.mjs +2 -2
  33. package/fesm2022/primeng-carousel.mjs.map +1 -1
  34. package/fesm2022/primeng-cascadeselect.mjs +6 -6
  35. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  36. package/fesm2022/primeng-chart.mjs +2 -2
  37. package/fesm2022/primeng-chart.mjs.map +1 -1
  38. package/fesm2022/primeng-checkbox.mjs +3 -4
  39. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  40. package/fesm2022/primeng-chip.mjs +2 -2
  41. package/fesm2022/primeng-chip.mjs.map +1 -1
  42. package/fesm2022/primeng-colorpicker.mjs +2 -2
  43. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  44. package/fesm2022/primeng-config.mjs +1 -1
  45. package/fesm2022/primeng-config.mjs.map +1 -1
  46. package/fesm2022/primeng-confirmdialog.mjs +4 -6
  47. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  48. package/fesm2022/primeng-confirmpopup.mjs +2 -2
  49. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  50. package/fesm2022/primeng-contextmenu.mjs +5 -5
  51. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  52. package/fesm2022/primeng-dataview.mjs +2 -2
  53. package/fesm2022/primeng-dataview.mjs.map +1 -1
  54. package/fesm2022/primeng-datepicker.mjs +2 -2
  55. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  56. package/fesm2022/primeng-defer.mjs +1 -1
  57. package/fesm2022/primeng-dialog.mjs +3 -4
  58. package/fesm2022/primeng-dialog.mjs.map +1 -1
  59. package/fesm2022/primeng-divider.mjs +2 -2
  60. package/fesm2022/primeng-divider.mjs.map +1 -1
  61. package/fesm2022/primeng-dock.mjs +3 -4
  62. package/fesm2022/primeng-dock.mjs.map +1 -1
  63. package/fesm2022/primeng-dragdrop.mjs +2 -2
  64. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  65. package/fesm2022/primeng-drawer.mjs +2 -2
  66. package/fesm2022/primeng-drawer.mjs.map +1 -1
  67. package/fesm2022/primeng-dropdown.mjs +4 -4
  68. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  69. package/fesm2022/primeng-dynamicdialog.mjs +3 -3
  70. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  71. package/fesm2022/primeng-editor.mjs +2 -2
  72. package/fesm2022/primeng-editor.mjs.map +1 -1
  73. package/fesm2022/primeng-fieldset.mjs +2 -2
  74. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  75. package/fesm2022/primeng-fileupload.mjs +3 -4
  76. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  77. package/fesm2022/primeng-floatlabel.mjs +2 -2
  78. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  79. package/fesm2022/primeng-fluid.mjs +2 -2
  80. package/fesm2022/primeng-fluid.mjs.map +1 -1
  81. package/fesm2022/primeng-focustrap.mjs +1 -1
  82. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  83. package/fesm2022/primeng-galleria.mjs +10 -10
  84. package/fesm2022/primeng-galleria.mjs.map +1 -1
  85. package/fesm2022/primeng-iconfield.mjs +2 -2
  86. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  87. package/fesm2022/primeng-icons-angledoubledown.mjs +2 -2
  88. package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
  89. package/fesm2022/primeng-icons-angledoubleleft.mjs +2 -2
  90. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
  91. package/fesm2022/primeng-icons-angledoubleright.mjs +2 -2
  92. package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
  93. package/fesm2022/primeng-icons-angledoubleup.mjs +2 -2
  94. package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
  95. package/fesm2022/primeng-icons-angledown.mjs +2 -2
  96. package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
  97. package/fesm2022/primeng-icons-angleleft.mjs +2 -2
  98. package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
  99. package/fesm2022/primeng-icons-angleright.mjs +2 -2
  100. package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
  101. package/fesm2022/primeng-icons-angleup.mjs +2 -2
  102. package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
  103. package/fesm2022/primeng-icons-arrowdown.mjs +2 -2
  104. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
  105. package/fesm2022/primeng-icons-arrowdownleft.mjs +2 -2
  106. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
  107. package/fesm2022/primeng-icons-arrowdownright.mjs +2 -2
  108. package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
  109. package/fesm2022/primeng-icons-arrowleft.mjs +2 -2
  110. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
  111. package/fesm2022/primeng-icons-arrowright.mjs +2 -2
  112. package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
  113. package/fesm2022/primeng-icons-arrowup.mjs +2 -2
  114. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
  115. package/fesm2022/primeng-icons-ban.mjs +2 -2
  116. package/fesm2022/primeng-icons-ban.mjs.map +1 -1
  117. package/fesm2022/primeng-icons-bars.mjs +2 -2
  118. package/fesm2022/primeng-icons-bars.mjs.map +1 -1
  119. package/fesm2022/primeng-icons-baseicon.mjs +2 -2
  120. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  121. package/fesm2022/primeng-icons-blank.mjs +2 -2
  122. package/fesm2022/primeng-icons-blank.mjs.map +1 -1
  123. package/fesm2022/primeng-icons-calendar.mjs +2 -2
  124. package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
  125. package/fesm2022/primeng-icons-caretleft.mjs +2 -2
  126. package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
  127. package/fesm2022/primeng-icons-caretright.mjs +2 -2
  128. package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
  129. package/fesm2022/primeng-icons-check.mjs +2 -2
  130. package/fesm2022/primeng-icons-check.mjs.map +1 -1
  131. package/fesm2022/primeng-icons-chevrondown.mjs +2 -2
  132. package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
  133. package/fesm2022/primeng-icons-chevronleft.mjs +2 -2
  134. package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
  135. package/fesm2022/primeng-icons-chevronright.mjs +2 -2
  136. package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
  137. package/fesm2022/primeng-icons-chevronup.mjs +2 -2
  138. package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
  139. package/fesm2022/primeng-icons-exclamationtriangle.mjs +2 -2
  140. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
  141. package/fesm2022/primeng-icons-eye.mjs +2 -2
  142. package/fesm2022/primeng-icons-eye.mjs.map +1 -1
  143. package/fesm2022/primeng-icons-eyeslash.mjs +2 -2
  144. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
  145. package/fesm2022/primeng-icons-filter.mjs +2 -2
  146. package/fesm2022/primeng-icons-filter.mjs.map +1 -1
  147. package/fesm2022/primeng-icons-filterslash.mjs +2 -2
  148. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
  149. package/fesm2022/primeng-icons-home.mjs +2 -2
  150. package/fesm2022/primeng-icons-home.mjs.map +1 -1
  151. package/fesm2022/primeng-icons-infocircle.mjs +2 -2
  152. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
  153. package/fesm2022/primeng-icons-minus.mjs +2 -2
  154. package/fesm2022/primeng-icons-minus.mjs.map +1 -1
  155. package/fesm2022/primeng-icons-pencil.mjs +2 -2
  156. package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
  157. package/fesm2022/primeng-icons-plus.mjs +2 -2
  158. package/fesm2022/primeng-icons-plus.mjs.map +1 -1
  159. package/fesm2022/primeng-icons-refresh.mjs +2 -2
  160. package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
  161. package/fesm2022/primeng-icons-search.mjs +2 -2
  162. package/fesm2022/primeng-icons-search.mjs.map +1 -1
  163. package/fesm2022/primeng-icons-searchminus.mjs +2 -2
  164. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
  165. package/fesm2022/primeng-icons-searchplus.mjs +2 -2
  166. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
  167. package/fesm2022/primeng-icons-sortalt.mjs +2 -2
  168. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
  169. package/fesm2022/primeng-icons-sortamountdown.mjs +2 -2
  170. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
  171. package/fesm2022/primeng-icons-sortamountupalt.mjs +2 -2
  172. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
  173. package/fesm2022/primeng-icons-spinner.mjs +2 -2
  174. package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
  175. package/fesm2022/primeng-icons-star.mjs +2 -2
  176. package/fesm2022/primeng-icons-star.mjs.map +1 -1
  177. package/fesm2022/primeng-icons-starfill.mjs +2 -2
  178. package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
  179. package/fesm2022/primeng-icons-thlarge.mjs +2 -2
  180. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
  181. package/fesm2022/primeng-icons-times.mjs +2 -2
  182. package/fesm2022/primeng-icons-times.mjs.map +1 -1
  183. package/fesm2022/primeng-icons-timescircle.mjs +2 -2
  184. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
  185. package/fesm2022/primeng-icons-trash.mjs +2 -2
  186. package/fesm2022/primeng-icons-trash.mjs.map +1 -1
  187. package/fesm2022/primeng-icons-undo.mjs +2 -2
  188. package/fesm2022/primeng-icons-undo.mjs.map +1 -1
  189. package/fesm2022/primeng-icons-upload.mjs +2 -2
  190. package/fesm2022/primeng-icons-upload.mjs.map +1 -1
  191. package/fesm2022/primeng-icons-windowmaximize.mjs +2 -2
  192. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
  193. package/fesm2022/primeng-icons-windowminimize.mjs +2 -2
  194. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
  195. package/fesm2022/primeng-iftalabel.mjs +2 -2
  196. package/fesm2022/primeng-iftalabel.mjs.map +1 -1
  197. package/fesm2022/primeng-image.mjs +2 -2
  198. package/fesm2022/primeng-image.mjs.map +1 -1
  199. package/fesm2022/primeng-imagecompare.mjs +2 -2
  200. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  201. package/fesm2022/primeng-inplace.mjs +6 -6
  202. package/fesm2022/primeng-inplace.mjs.map +1 -1
  203. package/fesm2022/primeng-inputgroup.mjs +2 -2
  204. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  205. package/fesm2022/primeng-inputgroupaddon.mjs +2 -2
  206. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  207. package/fesm2022/primeng-inputicon.mjs +2 -2
  208. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  209. package/fesm2022/primeng-inputmask.mjs +2 -2
  210. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  211. package/fesm2022/primeng-inputnumber.mjs +3 -4
  212. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  213. package/fesm2022/primeng-inputotp.mjs +2 -2
  214. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  215. package/fesm2022/primeng-inputswitch.mjs +2 -2
  216. package/fesm2022/primeng-inputswitch.mjs.map +1 -1
  217. package/fesm2022/primeng-inputtext.mjs +1 -1
  218. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  219. package/fesm2022/primeng-inputtextarea.mjs +1 -1
  220. package/fesm2022/primeng-inputtextarea.mjs.map +1 -1
  221. package/fesm2022/primeng-keyfilter.mjs +1 -1
  222. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  223. package/fesm2022/primeng-knob.mjs +2 -2
  224. package/fesm2022/primeng-knob.mjs.map +1 -1
  225. package/fesm2022/primeng-listbox.mjs +2 -2
  226. package/fesm2022/primeng-listbox.mjs.map +1 -1
  227. package/fesm2022/primeng-megamenu.mjs +5 -5
  228. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  229. package/fesm2022/primeng-menu.mjs +6 -6
  230. package/fesm2022/primeng-menu.mjs.map +1 -1
  231. package/fesm2022/primeng-menubar.mjs +6 -6
  232. package/fesm2022/primeng-menubar.mjs.map +1 -1
  233. package/fesm2022/primeng-message.mjs +2 -2
  234. package/fesm2022/primeng-message.mjs.map +1 -1
  235. package/fesm2022/primeng-messages.mjs +2 -2
  236. package/fesm2022/primeng-messages.mjs.map +1 -1
  237. package/fesm2022/primeng-metergroup.mjs +4 -4
  238. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  239. package/fesm2022/primeng-multiselect.mjs +6 -6
  240. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  241. package/fesm2022/primeng-orderlist.mjs +4 -4
  242. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  243. package/fesm2022/primeng-organizationchart.mjs +5 -5
  244. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  245. package/fesm2022/primeng-overlay.mjs +2 -2
  246. package/fesm2022/primeng-overlay.mjs.map +1 -1
  247. package/fesm2022/primeng-overlaybadge.mjs +2 -2
  248. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  249. package/fesm2022/primeng-overlaypanel.mjs +6 -3
  250. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  251. package/fesm2022/primeng-paginator.mjs +2 -2
  252. package/fesm2022/primeng-paginator.mjs.map +1 -1
  253. package/fesm2022/primeng-panel.mjs +3 -4
  254. package/fesm2022/primeng-panel.mjs.map +1 -1
  255. package/fesm2022/primeng-panelmenu.mjs +9 -9
  256. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  257. package/fesm2022/primeng-password.mjs +4 -4
  258. package/fesm2022/primeng-password.mjs.map +1 -1
  259. package/fesm2022/primeng-picklist.mjs +5 -33
  260. package/fesm2022/primeng-picklist.mjs.map +1 -1
  261. package/fesm2022/primeng-popover.mjs +8 -7
  262. package/fesm2022/primeng-popover.mjs.map +1 -1
  263. package/fesm2022/primeng-progressbar.mjs +2 -2
  264. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  265. package/fesm2022/primeng-progressspinner.mjs +2 -2
  266. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  267. package/fesm2022/primeng-radiobutton.mjs +2 -2
  268. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  269. package/fesm2022/primeng-rating.mjs +4 -4
  270. package/fesm2022/primeng-rating.mjs.map +1 -1
  271. package/fesm2022/primeng-ripple.mjs +1 -1
  272. package/fesm2022/primeng-ripple.mjs.map +1 -1
  273. package/fesm2022/primeng-scroller.mjs +2 -2
  274. package/fesm2022/primeng-scroller.mjs.map +1 -1
  275. package/fesm2022/primeng-scrollpanel.mjs +2 -2
  276. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  277. package/fesm2022/primeng-scrolltop.mjs +2 -2
  278. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  279. package/fesm2022/primeng-select.mjs +5 -5
  280. package/fesm2022/primeng-select.mjs.map +1 -1
  281. package/fesm2022/primeng-selectbutton.mjs +3 -4
  282. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  283. package/fesm2022/primeng-sidebar.mjs +3 -4
  284. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  285. package/fesm2022/primeng-skeleton.mjs +2 -2
  286. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  287. package/fesm2022/primeng-slider.mjs +2 -2
  288. package/fesm2022/primeng-slider.mjs.map +1 -1
  289. package/fesm2022/primeng-speeddial.mjs +2 -2
  290. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  291. package/fesm2022/primeng-splitbutton.mjs +2 -2
  292. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  293. package/fesm2022/primeng-splitter.mjs +4 -4
  294. package/fesm2022/primeng-splitter.mjs.map +1 -1
  295. package/fesm2022/primeng-stepper.mjs +16 -16
  296. package/fesm2022/primeng-stepper.mjs.map +1 -1
  297. package/fesm2022/primeng-steps.mjs +2 -2
  298. package/fesm2022/primeng-steps.mjs.map +1 -1
  299. package/fesm2022/primeng-styleclass.mjs +1 -1
  300. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  301. package/fesm2022/primeng-table.mjs +63 -38
  302. package/fesm2022/primeng-table.mjs.map +1 -1
  303. package/fesm2022/primeng-tabmenu.mjs +2 -2
  304. package/fesm2022/primeng-tabmenu.mjs.map +1 -1
  305. package/fesm2022/primeng-tabs.mjs +11 -11
  306. package/fesm2022/primeng-tabs.mjs.map +1 -1
  307. package/fesm2022/primeng-tabview.mjs +5 -5
  308. package/fesm2022/primeng-tabview.mjs.map +1 -1
  309. package/fesm2022/primeng-tag.mjs +2 -2
  310. package/fesm2022/primeng-tag.mjs.map +1 -1
  311. package/fesm2022/primeng-terminal.mjs +2 -2
  312. package/fesm2022/primeng-terminal.mjs.map +1 -1
  313. package/fesm2022/primeng-textarea.mjs +1 -1
  314. package/fesm2022/primeng-textarea.mjs.map +1 -1
  315. package/fesm2022/primeng-tieredmenu.mjs +5 -5
  316. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  317. package/fesm2022/primeng-timeline.mjs +2 -2
  318. package/fesm2022/primeng-timeline.mjs.map +1 -1
  319. package/fesm2022/primeng-toast.mjs +6 -7
  320. package/fesm2022/primeng-toast.mjs.map +1 -1
  321. package/fesm2022/primeng-togglebutton.mjs +3 -4
  322. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  323. package/fesm2022/primeng-toggleswitch.mjs +2 -2
  324. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  325. package/fesm2022/primeng-toolbar.mjs +2 -2
  326. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  327. package/fesm2022/primeng-tooltip.mjs +4 -2
  328. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  329. package/fesm2022/primeng-tree.mjs +7 -9
  330. package/fesm2022/primeng-tree.mjs.map +1 -1
  331. package/fesm2022/primeng-treeselect.mjs +4 -6
  332. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  333. package/fesm2022/primeng-treetable.mjs +31 -29
  334. package/fesm2022/primeng-treetable.mjs.map +1 -1
  335. package/package.json +174 -522
  336. package/popover/popover.d.ts +1 -1
  337. package/speeddial/speeddial.d.ts +2 -2
  338. package/treetable/treetable.d.ts +1 -1
  339. package/esm2022/accordion/accordion.mjs +0 -1266
  340. package/esm2022/accordion/primeng-accordion.mjs +0 -5
  341. package/esm2022/accordion/public_api.mjs +0 -3
  342. package/esm2022/accordion/style/accordionstyle.mjs +0 -163
  343. package/esm2022/animateonscroll/animateonscroll.mjs +0 -174
  344. package/esm2022/animateonscroll/primeng-animateonscroll.mjs +0 -5
  345. package/esm2022/animateonscroll/public_api.mjs +0 -2
  346. package/esm2022/api/blockableui.mjs +0 -2
  347. package/esm2022/api/confirmaeventtype.mjs +0 -10
  348. package/esm2022/api/confirmation.mjs +0 -2
  349. package/esm2022/api/confirmationservice.mjs +0 -43
  350. package/esm2022/api/contextmenuservice.mjs +0 -22
  351. package/esm2022/api/filtermatchmode.mjs +0 -23
  352. package/esm2022/api/filtermetadata.mjs +0 -2
  353. package/esm2022/api/filteroperator.mjs +0 -5
  354. package/esm2022/api/filterservice.mjs +0 -224
  355. package/esm2022/api/lazyloadevent.mjs +0 -2
  356. package/esm2022/api/lazyloadmeta.mjs +0 -2
  357. package/esm2022/api/megamenuitem.mjs +0 -2
  358. package/esm2022/api/menuitem.mjs +0 -2
  359. package/esm2022/api/messageservice.mjs +0 -47
  360. package/esm2022/api/overlayoptions.mjs +0 -2
  361. package/esm2022/api/overlayservice.mjs +0 -19
  362. package/esm2022/api/primeicons.mjs +0 -314
  363. package/esm2022/api/primeng-api.mjs +0 -5
  364. package/esm2022/api/public_api.mjs +0 -33
  365. package/esm2022/api/scrolleroptions.mjs +0 -2
  366. package/esm2022/api/selectitem.mjs +0 -2
  367. package/esm2022/api/selectitemgroup.mjs +0 -2
  368. package/esm2022/api/shared.mjs +0 -76
  369. package/esm2022/api/sortevent.mjs +0 -2
  370. package/esm2022/api/sortmeta.mjs +0 -2
  371. package/esm2022/api/tablestate.mjs +0 -2
  372. package/esm2022/api/toastmessage.mjs +0 -2
  373. package/esm2022/api/tooltipoptions.mjs +0 -2
  374. package/esm2022/api/translation.mjs +0 -2
  375. package/esm2022/api/translationkeys.mjs +0 -51
  376. package/esm2022/api/treedragdropservice.mjs +0 -21
  377. package/esm2022/api/treenode.mjs +0 -2
  378. package/esm2022/api/treenodedragevent.mjs +0 -2
  379. package/esm2022/api/treetablenode.mjs +0 -2
  380. package/esm2022/autocomplete/autocomplete.interface.mjs +0 -2
  381. package/esm2022/autocomplete/autocomplete.mjs +0 -2223
  382. package/esm2022/autocomplete/primeng-autocomplete.mjs +0 -5
  383. package/esm2022/autocomplete/public_api.mjs +0 -4
  384. package/esm2022/autocomplete/style/autocompletestyle.mjs +0 -409
  385. package/esm2022/autofocus/autofocus.mjs +0 -86
  386. package/esm2022/autofocus/primeng-autofocus.mjs +0 -5
  387. package/esm2022/autofocus/public_api.mjs +0 -2
  388. package/esm2022/avatar/avatar.mjs +0 -193
  389. package/esm2022/avatar/primeng-avatar.mjs +0 -5
  390. package/esm2022/avatar/public_api.mjs +0 -3
  391. package/esm2022/avatar/style/avatarstyle.mjs +0 -130
  392. package/esm2022/avatargroup/avatargroup.mjs +0 -80
  393. package/esm2022/avatargroup/primeng-avatargroup.mjs +0 -5
  394. package/esm2022/avatargroup/public_api.mjs +0 -3
  395. package/esm2022/avatargroup/style/avatargroupstyle.mjs +0 -29
  396. package/esm2022/badge/badge.mjs +0 -332
  397. package/esm2022/badge/primeng-badge.mjs +0 -5
  398. package/esm2022/badge/public_api.mjs +0 -3
  399. package/esm2022/badge/style/badgestyle.mjs +0 -143
  400. package/esm2022/base/base.mjs +0 -19
  401. package/esm2022/base/primeng-base.mjs +0 -5
  402. package/esm2022/base/public_api.mjs +0 -3
  403. package/esm2022/base/style/basestyle.mjs +0 -256
  404. package/esm2022/basecomponent/basecomponent.mjs +0 -183
  405. package/esm2022/basecomponent/primeng-basecomponent.mjs +0 -5
  406. package/esm2022/basecomponent/public_api.mjs +0 -3
  407. package/esm2022/basecomponent/style/basecomponentstyle.mjs +0 -13
  408. package/esm2022/blockui/blockui.interface.mjs +0 -2
  409. package/esm2022/blockui/blockui.mjs +0 -210
  410. package/esm2022/blockui/primeng-blockui.mjs +0 -5
  411. package/esm2022/blockui/public_api.mjs +0 -4
  412. package/esm2022/blockui/style/blockuistyle.mjs +0 -50
  413. package/esm2022/breadcrumb/breadcrumb.interface.mjs +0 -2
  414. package/esm2022/breadcrumb/breadcrumb.mjs +0 -583
  415. package/esm2022/breadcrumb/primeng-breadcrumb.mjs +0 -5
  416. package/esm2022/breadcrumb/public_api.mjs +0 -4
  417. package/esm2022/breadcrumb/style/breadcrumbstyle.mjs +0 -133
  418. package/esm2022/button/button.interface.mjs +0 -2
  419. package/esm2022/button/button.mjs +0 -896
  420. package/esm2022/button/primeng-button.mjs +0 -5
  421. package/esm2022/button/public_api.mjs +0 -4
  422. package/esm2022/button/style/buttonstyle.mjs +0 -707
  423. package/esm2022/buttongroup/buttongroup.mjs +0 -47
  424. package/esm2022/buttongroup/primeng-buttongroup.mjs +0 -5
  425. package/esm2022/buttongroup/public_api.mjs +0 -3
  426. package/esm2022/buttongroup/style/buttongroupstyle.mjs +0 -120
  427. package/esm2022/calendar/calendar.interface.mjs +0 -2
  428. package/esm2022/calendar/calendar.mjs +0 -4504
  429. package/esm2022/calendar/primeng-calendar.mjs +0 -5
  430. package/esm2022/calendar/public_api.mjs +0 -4
  431. package/esm2022/calendar/style/calendarstyle.mjs +0 -472
  432. package/esm2022/card/card.interface.mjs +0 -2
  433. package/esm2022/card/card.mjs +0 -243
  434. package/esm2022/card/primeng-card.mjs +0 -5
  435. package/esm2022/card/public_api.mjs +0 -4
  436. package/esm2022/card/style/cardstyle.mjs +0 -100
  437. package/esm2022/carousel/carousel.interface.mjs +0 -2
  438. package/esm2022/carousel/carousel.mjs +0 -1181
  439. package/esm2022/carousel/primeng-carousel.mjs +0 -5
  440. package/esm2022/carousel/public_api.mjs +0 -4
  441. package/esm2022/carousel/style/carouselstyle.mjs +0 -234
  442. package/esm2022/cascadeselect/cascadeselect.interface.mjs +0 -2
  443. package/esm2022/cascadeselect/cascadeselect.mjs +0 -1840
  444. package/esm2022/cascadeselect/primeng-cascadeselect.mjs +0 -5
  445. package/esm2022/cascadeselect/public_api.mjs +0 -4
  446. package/esm2022/cascadeselect/style/cascadeselectstyle.mjs +0 -379
  447. package/esm2022/chart/chart.mjs +0 -210
  448. package/esm2022/chart/primeng-chart.mjs +0 -5
  449. package/esm2022/chart/public_api.mjs +0 -3
  450. package/esm2022/chart/style/chartstyle.mjs +0 -36
  451. package/esm2022/checkbox/checkbox.interface.mjs +0 -2
  452. package/esm2022/checkbox/checkbox.mjs +0 -450
  453. package/esm2022/checkbox/primeng-checkbox.mjs +0 -5
  454. package/esm2022/checkbox/public_api.mjs +0 -4
  455. package/esm2022/checkbox/style/checkboxstyle.mjs +0 -191
  456. package/esm2022/chip/chip.interface.mjs +0 -2
  457. package/esm2022/chip/chip.mjs +0 -337
  458. package/esm2022/chip/primeng-chip.mjs +0 -5
  459. package/esm2022/chip/public_api.mjs +0 -4
  460. package/esm2022/chip/style/chipstyle.mjs +0 -104
  461. package/esm2022/colorpicker/colorpicker.interface.mjs +0 -2
  462. package/esm2022/colorpicker/colorpicker.mjs +0 -856
  463. package/esm2022/colorpicker/primeng-colorpicker.mjs +0 -5
  464. package/esm2022/colorpicker/public_api.mjs +0 -4
  465. package/esm2022/colorpicker/style/colorpickerstyle.mjs +0 -213
  466. package/esm2022/config/primeng-config.mjs +0 -5
  467. package/esm2022/config/primeng.mjs +0 -185
  468. package/esm2022/config/provideprimeng.mjs +0 -19
  469. package/esm2022/config/public_api.mjs +0 -4
  470. package/esm2022/config/themeprovider.mjs +0 -68
  471. package/esm2022/confirmdialog/confirmdialog.interface.mjs +0 -2
  472. package/esm2022/confirmdialog/confirmdialog.mjs +0 -815
  473. package/esm2022/confirmdialog/primeng-confirmdialog.mjs +0 -5
  474. package/esm2022/confirmdialog/public_api.mjs +0 -4
  475. package/esm2022/confirmdialog/style/confirmdialogstyle.mjs +0 -67
  476. package/esm2022/confirmpopup/confirmpopup.interface.mjs +0 -2
  477. package/esm2022/confirmpopup/confirmpopup.mjs +0 -619
  478. package/esm2022/confirmpopup/primeng-confirmpopup.mjs +0 -5
  479. package/esm2022/confirmpopup/public_api.mjs +0 -4
  480. package/esm2022/confirmpopup/style/confirmpopupstyle.mjs +0 -170
  481. package/esm2022/contextmenu/contextmenu.mjs +0 -1436
  482. package/esm2022/contextmenu/primeng-contextmenu.mjs +0 -5
  483. package/esm2022/contextmenu/public_api.mjs +0 -3
  484. package/esm2022/contextmenu/style/contextmenustyle.mjs +0 -244
  485. package/esm2022/dataview/dataview.interface.mjs +0 -2
  486. package/esm2022/dataview/dataview.mjs +0 -819
  487. package/esm2022/dataview/primeng-dataview.mjs +0 -5
  488. package/esm2022/dataview/public_api.mjs +0 -4
  489. package/esm2022/dataview/style/dataviewstyle.mjs +0 -115
  490. package/esm2022/datepicker/datepicker.interface.mjs +0 -2
  491. package/esm2022/datepicker/datepicker.mjs +0 -4539
  492. package/esm2022/datepicker/primeng-datepicker.mjs +0 -5
  493. package/esm2022/datepicker/public_api.mjs +0 -4
  494. package/esm2022/datepicker/style/datepickerstyle.mjs +0 -663
  495. package/esm2022/defer/defer.mjs +0 -100
  496. package/esm2022/defer/primeng-defer.mjs +0 -5
  497. package/esm2022/defer/public_api.mjs +0 -2
  498. package/esm2022/dialog/dialog.interface.mjs +0 -2
  499. package/esm2022/dialog/dialog.mjs +0 -1384
  500. package/esm2022/dialog/primeng-dialog.mjs +0 -5
  501. package/esm2022/dialog/public_api.mjs +0 -4
  502. package/esm2022/dialog/style/dialogstyle.mjs +0 -283
  503. package/esm2022/divider/divider.mjs +0 -119
  504. package/esm2022/divider/primeng-divider.mjs +0 -5
  505. package/esm2022/divider/public_api.mjs +0 -3
  506. package/esm2022/divider/style/dividerstyle.mjs +0 -138
  507. package/esm2022/dock/dock.interface.mjs +0 -2
  508. package/esm2022/dock/dock.mjs +0 -447
  509. package/esm2022/dock/primeng-dock.mjs +0 -5
  510. package/esm2022/dock/public_api.mjs +0 -4
  511. package/esm2022/dock/style/dockstyle.mjs +0 -210
  512. package/esm2022/dom/connectedoverlayscrollhandler.mjs +0 -30
  513. package/esm2022/dom/domhandler.mjs +0 -725
  514. package/esm2022/dom/primeng-dom.mjs +0 -5
  515. package/esm2022/dom/public_api.mjs +0 -3
  516. package/esm2022/dragdrop/dragdrop.mjs +0 -323
  517. package/esm2022/dragdrop/primeng-dragdrop.mjs +0 -5
  518. package/esm2022/dragdrop/public_api.mjs +0 -2
  519. package/esm2022/drawer/drawer.interface.mjs +0 -2
  520. package/esm2022/drawer/drawer.mjs +0 -663
  521. package/esm2022/drawer/primeng-drawer.mjs +0 -5
  522. package/esm2022/drawer/public_api.mjs +0 -4
  523. package/esm2022/drawer/style/drawerstyle.mjs +0 -283
  524. package/esm2022/dropdown/dropdown.interface.mjs +0 -2
  525. package/esm2022/dropdown/dropdown.mjs +0 -2498
  526. package/esm2022/dropdown/primeng-dropdown.mjs +0 -5
  527. package/esm2022/dropdown/public_api.mjs +0 -4
  528. package/esm2022/dropdown/style/dropdownstyle.mjs +0 -264
  529. package/esm2022/dynamicdialog/dialogservice.mjs +0 -105
  530. package/esm2022/dynamicdialog/dynamicdialog-config.mjs +0 -182
  531. package/esm2022/dynamicdialog/dynamicdialog-injector.mjs +0 -15
  532. package/esm2022/dynamicdialog/dynamicdialog-ref.mjs +0 -119
  533. package/esm2022/dynamicdialog/dynamicdialog.mjs +0 -875
  534. package/esm2022/dynamicdialog/dynamicdialogcontent.mjs +0 -18
  535. package/esm2022/dynamicdialog/primeng-dynamicdialog.mjs +0 -5
  536. package/esm2022/dynamicdialog/public_api.mjs +0 -8
  537. package/esm2022/dynamicdialog/style/dynamicdialogstyle.mjs +0 -60
  538. package/esm2022/editor/editor.interface.mjs +0 -2
  539. package/esm2022/editor/editor.mjs +0 -427
  540. package/esm2022/editor/primeng-editor.mjs +0 -5
  541. package/esm2022/editor/public_api.mjs +0 -4
  542. package/esm2022/editor/style/editorstyle.mjs +0 -1008
  543. package/esm2022/fieldset/fieldset.interface.mjs +0 -2
  544. package/esm2022/fieldset/fieldset.mjs +0 -427
  545. package/esm2022/fieldset/primeng-fieldset.mjs +0 -5
  546. package/esm2022/fieldset/public_api.mjs +0 -4
  547. package/esm2022/fieldset/style/fieldsetstyle.mjs +0 -143
  548. package/esm2022/fileupload/fileupload.interface.mjs +0 -2
  549. package/esm2022/fileupload/fileupload.mjs +0 -1597
  550. package/esm2022/fileupload/primeng-fileupload.mjs +0 -5
  551. package/esm2022/fileupload/public_api.mjs +0 -4
  552. package/esm2022/fileupload/style/fileuploadstyle.mjs +0 -194
  553. package/esm2022/floatlabel/floatlabel.mjs +0 -61
  554. package/esm2022/floatlabel/primeng-floatlabel.mjs +0 -5
  555. package/esm2022/floatlabel/public_api.mjs +0 -3
  556. package/esm2022/floatlabel/style/floatlabelstyle.mjs +0 -133
  557. package/esm2022/fluid/fluid.mjs +0 -50
  558. package/esm2022/fluid/primeng-fluid.mjs +0 -5
  559. package/esm2022/fluid/public_api.mjs +0 -3
  560. package/esm2022/fluid/style/fluidstyle.mjs +0 -38
  561. package/esm2022/focustrap/focustrap.mjs +0 -104
  562. package/esm2022/focustrap/primeng-focustrap.mjs +0 -5
  563. package/esm2022/focustrap/public_api.mjs +0 -2
  564. package/esm2022/galleria/galleria.interface.mjs +0 -2
  565. package/esm2022/galleria/galleria.mjs +0 -1858
  566. package/esm2022/galleria/primeng-galleria.mjs +0 -5
  567. package/esm2022/galleria/public_api.mjs +0 -4
  568. package/esm2022/galleria/style/galleriastyle.mjs +0 -644
  569. package/esm2022/iconfield/iconfield.mjs +0 -73
  570. package/esm2022/iconfield/primeng-iconfield.mjs +0 -5
  571. package/esm2022/iconfield/public_api.mjs +0 -3
  572. package/esm2022/iconfield/style/iconfieldstyle.mjs +0 -77
  573. package/esm2022/icons/angledoubledown/angledoubledown.mjs +0 -34
  574. package/esm2022/icons/angledoubledown/primeng-icons-angledoubledown.mjs +0 -5
  575. package/esm2022/icons/angledoubledown/public_api.mjs +0 -2
  576. package/esm2022/icons/angledoubleleft/angledoubleleft.mjs +0 -34
  577. package/esm2022/icons/angledoubleleft/primeng-icons-angledoubleleft.mjs +0 -5
  578. package/esm2022/icons/angledoubleleft/public_api.mjs +0 -2
  579. package/esm2022/icons/angledoubleright/angledoubleright.mjs +0 -34
  580. package/esm2022/icons/angledoubleright/primeng-icons-angledoubleright.mjs +0 -5
  581. package/esm2022/icons/angledoubleright/public_api.mjs +0 -2
  582. package/esm2022/icons/angledoubleup/angledoubleup.mjs +0 -34
  583. package/esm2022/icons/angledoubleup/primeng-icons-angledoubleup.mjs +0 -5
  584. package/esm2022/icons/angledoubleup/public_api.mjs +0 -2
  585. package/esm2022/icons/angledown/angledown.mjs +0 -32
  586. package/esm2022/icons/angledown/primeng-icons-angledown.mjs +0 -5
  587. package/esm2022/icons/angledown/public_api.mjs +0 -2
  588. package/esm2022/icons/angleleft/angleleft.mjs +0 -32
  589. package/esm2022/icons/angleleft/primeng-icons-angleleft.mjs +0 -5
  590. package/esm2022/icons/angleleft/public_api.mjs +0 -2
  591. package/esm2022/icons/angleright/angleright.mjs +0 -32
  592. package/esm2022/icons/angleright/primeng-icons-angleright.mjs +0 -5
  593. package/esm2022/icons/angleright/public_api.mjs +0 -2
  594. package/esm2022/icons/angleup/angleup.mjs +0 -32
  595. package/esm2022/icons/angleup/primeng-icons-angleup.mjs +0 -5
  596. package/esm2022/icons/angleup/public_api.mjs +0 -2
  597. package/esm2022/icons/arrowdown/arrowdown.mjs +0 -53
  598. package/esm2022/icons/arrowdown/primeng-icons-arrowdown.mjs +0 -5
  599. package/esm2022/icons/arrowdown/public_api.mjs +0 -2
  600. package/esm2022/icons/arrowdownleft/arrowdownleft.mjs +0 -32
  601. package/esm2022/icons/arrowdownleft/primeng-icons-arrowdownleft.mjs +0 -5
  602. package/esm2022/icons/arrowdownleft/public_api.mjs +0 -2
  603. package/esm2022/icons/arrowdownright/arrowdownright.mjs +0 -32
  604. package/esm2022/icons/arrowdownright/primeng-icons-arrowdownright.mjs +0 -5
  605. package/esm2022/icons/arrowdownright/public_api.mjs +0 -2
  606. package/esm2022/icons/arrowleft/arrowleft.mjs +0 -53
  607. package/esm2022/icons/arrowleft/primeng-icons-arrowleft.mjs +0 -5
  608. package/esm2022/icons/arrowleft/public_api.mjs +0 -2
  609. package/esm2022/icons/arrowright/arrowright.mjs +0 -34
  610. package/esm2022/icons/arrowright/primeng-icons-arrowright.mjs +0 -5
  611. package/esm2022/icons/arrowright/public_api.mjs +0 -2
  612. package/esm2022/icons/arrowup/arrowup.mjs +0 -53
  613. package/esm2022/icons/arrowup/primeng-icons-arrowup.mjs +0 -5
  614. package/esm2022/icons/arrowup/public_api.mjs +0 -2
  615. package/esm2022/icons/ban/ban.mjs +0 -51
  616. package/esm2022/icons/ban/primeng-icons-ban.mjs +0 -5
  617. package/esm2022/icons/ban/public_api.mjs +0 -2
  618. package/esm2022/icons/bars/bars.mjs +0 -34
  619. package/esm2022/icons/bars/primeng-icons-bars.mjs +0 -5
  620. package/esm2022/icons/bars/public_api.mjs +0 -2
  621. package/esm2022/icons/baseicon/baseicon.mjs +0 -54
  622. package/esm2022/icons/baseicon/primeng-icons-baseicon.mjs +0 -5
  623. package/esm2022/icons/baseicon/public_api.mjs +0 -3
  624. package/esm2022/icons/baseicon/style/baseiconstyle.mjs +0 -57
  625. package/esm2022/icons/blank/blank.mjs +0 -26
  626. package/esm2022/icons/blank/primeng-icons-blank.mjs +0 -5
  627. package/esm2022/icons/blank/public_api.mjs +0 -2
  628. package/esm2022/icons/calendar/calendar.mjs +0 -32
  629. package/esm2022/icons/calendar/primeng-icons-calendar.mjs +0 -5
  630. package/esm2022/icons/calendar/public_api.mjs +0 -2
  631. package/esm2022/icons/caretleft/caretleft.mjs +0 -32
  632. package/esm2022/icons/caretleft/primeng-icons-caretleft.mjs +0 -5
  633. package/esm2022/icons/caretleft/public_api.mjs +0 -2
  634. package/esm2022/icons/caretright/caretright.mjs +0 -32
  635. package/esm2022/icons/caretright/primeng-icons-caretright.mjs +0 -5
  636. package/esm2022/icons/caretright/public_api.mjs +0 -2
  637. package/esm2022/icons/check/check.mjs +0 -32
  638. package/esm2022/icons/check/primeng-icons-check.mjs +0 -5
  639. package/esm2022/icons/check/public_api.mjs +0 -2
  640. package/esm2022/icons/chevrondown/chevrondown.mjs +0 -32
  641. package/esm2022/icons/chevrondown/primeng-icons-chevrondown.mjs +0 -5
  642. package/esm2022/icons/chevrondown/public_api.mjs +0 -2
  643. package/esm2022/icons/chevronleft/chevronleft.mjs +0 -32
  644. package/esm2022/icons/chevronleft/primeng-icons-chevronleft.mjs +0 -5
  645. package/esm2022/icons/chevronleft/public_api.mjs +0 -2
  646. package/esm2022/icons/chevronright/chevronright.mjs +0 -32
  647. package/esm2022/icons/chevronright/primeng-icons-chevronright.mjs +0 -5
  648. package/esm2022/icons/chevronright/public_api.mjs +0 -2
  649. package/esm2022/icons/chevronup/chevronup.mjs +0 -32
  650. package/esm2022/icons/chevronup/primeng-icons-chevronup.mjs +0 -5
  651. package/esm2022/icons/chevronup/public_api.mjs +0 -2
  652. package/esm2022/icons/exclamationtriangle/exclamationtriangle.mjs +0 -59
  653. package/esm2022/icons/exclamationtriangle/primeng-icons-exclamationtriangle.mjs +0 -5
  654. package/esm2022/icons/exclamationtriangle/public_api.mjs +0 -2
  655. package/esm2022/icons/eye/eye.mjs +0 -34
  656. package/esm2022/icons/eye/primeng-icons-eye.mjs +0 -5
  657. package/esm2022/icons/eye/public_api.mjs +0 -2
  658. package/esm2022/icons/eyeslash/eyeslash.mjs +0 -53
  659. package/esm2022/icons/eyeslash/primeng-icons-eyeslash.mjs +0 -5
  660. package/esm2022/icons/eyeslash/public_api.mjs +0 -2
  661. package/esm2022/icons/filter/filter.mjs +0 -51
  662. package/esm2022/icons/filter/primeng-icons-filter.mjs +0 -5
  663. package/esm2022/icons/filter/public_api.mjs +0 -2
  664. package/esm2022/icons/filterslash/filterslash.mjs +0 -53
  665. package/esm2022/icons/filterslash/primeng-icons-filterslash.mjs +0 -5
  666. package/esm2022/icons/filterslash/public_api.mjs +0 -2
  667. package/esm2022/icons/home/home.mjs +0 -53
  668. package/esm2022/icons/home/primeng-icons-home.mjs +0 -5
  669. package/esm2022/icons/home/public_api.mjs +0 -2
  670. package/esm2022/icons/infocircle/infocircle.mjs +0 -53
  671. package/esm2022/icons/infocircle/primeng-icons-infocircle.mjs +0 -5
  672. package/esm2022/icons/infocircle/public_api.mjs +0 -2
  673. package/esm2022/icons/minus/minus.mjs +0 -32
  674. package/esm2022/icons/minus/primeng-icons-minus.mjs +0 -5
  675. package/esm2022/icons/minus/public_api.mjs +0 -2
  676. package/esm2022/icons/pencil/pencil.mjs +0 -51
  677. package/esm2022/icons/pencil/primeng-icons-pencil.mjs +0 -5
  678. package/esm2022/icons/pencil/public_api.mjs +0 -2
  679. package/esm2022/icons/plus/plus.mjs +0 -51
  680. package/esm2022/icons/plus/primeng-icons-plus.mjs +0 -5
  681. package/esm2022/icons/plus/public_api.mjs +0 -2
  682. package/esm2022/icons/primeng-icons.mjs +0 -5
  683. package/esm2022/icons/public_api.mjs +0 -58
  684. package/esm2022/icons/refresh/primeng-icons-refresh.mjs +0 -5
  685. package/esm2022/icons/refresh/public_api.mjs +0 -2
  686. package/esm2022/icons/refresh/refresh.mjs +0 -53
  687. package/esm2022/icons/search/primeng-icons-search.mjs +0 -5
  688. package/esm2022/icons/search/public_api.mjs +0 -2
  689. package/esm2022/icons/search/search.mjs +0 -53
  690. package/esm2022/icons/searchminus/primeng-icons-searchminus.mjs +0 -5
  691. package/esm2022/icons/searchminus/public_api.mjs +0 -2
  692. package/esm2022/icons/searchminus/searchminus.mjs +0 -53
  693. package/esm2022/icons/searchplus/primeng-icons-searchplus.mjs +0 -5
  694. package/esm2022/icons/searchplus/public_api.mjs +0 -2
  695. package/esm2022/icons/searchplus/searchplus.mjs +0 -53
  696. package/esm2022/icons/sortalt/primeng-icons-sortalt.mjs +0 -5
  697. package/esm2022/icons/sortalt/public_api.mjs +0 -2
  698. package/esm2022/icons/sortalt/sortalt.mjs +0 -57
  699. package/esm2022/icons/sortamountdown/primeng-icons-sortamountdown.mjs +0 -5
  700. package/esm2022/icons/sortamountdown/public_api.mjs +0 -2
  701. package/esm2022/icons/sortamountdown/sortamountdown.mjs +0 -51
  702. package/esm2022/icons/sortamountupalt/primeng-icons-sortamountupalt.mjs +0 -5
  703. package/esm2022/icons/sortamountupalt/public_api.mjs +0 -2
  704. package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +0 -51
  705. package/esm2022/icons/spinner/primeng-icons-spinner.mjs +0 -5
  706. package/esm2022/icons/spinner/public_api.mjs +0 -2
  707. package/esm2022/icons/spinner/spinner.mjs +0 -51
  708. package/esm2022/icons/star/primeng-icons-star.mjs +0 -5
  709. package/esm2022/icons/star/public_api.mjs +0 -2
  710. package/esm2022/icons/star/star.mjs +0 -51
  711. package/esm2022/icons/starfill/primeng-icons-starfill.mjs +0 -5
  712. package/esm2022/icons/starfill/public_api.mjs +0 -2
  713. package/esm2022/icons/starfill/starfill.mjs +0 -51
  714. package/esm2022/icons/thlarge/primeng-icons-thlarge.mjs +0 -5
  715. package/esm2022/icons/thlarge/public_api.mjs +0 -2
  716. package/esm2022/icons/thlarge/thlarge.mjs +0 -53
  717. package/esm2022/icons/times/primeng-icons-times.mjs +0 -5
  718. package/esm2022/icons/times/public_api.mjs +0 -2
  719. package/esm2022/icons/times/times.mjs +0 -32
  720. package/esm2022/icons/timescircle/primeng-icons-timescircle.mjs +0 -5
  721. package/esm2022/icons/timescircle/public_api.mjs +0 -2
  722. package/esm2022/icons/timescircle/timescircle.mjs +0 -53
  723. package/esm2022/icons/trash/primeng-icons-trash.mjs +0 -5
  724. package/esm2022/icons/trash/public_api.mjs +0 -2
  725. package/esm2022/icons/trash/trash.mjs +0 -53
  726. package/esm2022/icons/undo/primeng-icons-undo.mjs +0 -5
  727. package/esm2022/icons/undo/public_api.mjs +0 -2
  728. package/esm2022/icons/undo/undo.mjs +0 -53
  729. package/esm2022/icons/upload/primeng-icons-upload.mjs +0 -5
  730. package/esm2022/icons/upload/public_api.mjs +0 -2
  731. package/esm2022/icons/upload/upload.mjs +0 -53
  732. package/esm2022/icons/windowmaximize/primeng-icons-windowmaximize.mjs +0 -5
  733. package/esm2022/icons/windowmaximize/public_api.mjs +0 -2
  734. package/esm2022/icons/windowmaximize/windowmaximize.mjs +0 -53
  735. package/esm2022/icons/windowminimize/primeng-icons-windowminimize.mjs +0 -5
  736. package/esm2022/icons/windowminimize/public_api.mjs +0 -2
  737. package/esm2022/icons/windowminimize/windowminimize.mjs +0 -53
  738. package/esm2022/iftalabel/iftalabel.mjs +0 -49
  739. package/esm2022/iftalabel/primeng-iftalabel.mjs +0 -5
  740. package/esm2022/iftalabel/public_api.mjs +0 -3
  741. package/esm2022/iftalabel/style/iftalabelstyle.mjs +0 -96
  742. package/esm2022/image/image.interface.mjs +0 -2
  743. package/esm2022/image/image.mjs +0 -747
  744. package/esm2022/image/primeng-image.mjs +0 -5
  745. package/esm2022/image/public_api.mjs +0 -4
  746. package/esm2022/image/style/imagestyle.mjs +0 -219
  747. package/esm2022/imagecompare/imagecompare.mjs +0 -158
  748. package/esm2022/imagecompare/primeng-imagecompare.mjs +0 -5
  749. package/esm2022/imagecompare/public_api.mjs +0 -3
  750. package/esm2022/imagecompare/style/imagecomparestyle.mjs +0 -124
  751. package/esm2022/inplace/inplace.interface.mjs +0 -2
  752. package/esm2022/inplace/inplace.mjs +0 -344
  753. package/esm2022/inplace/primeng-inplace.mjs +0 -5
  754. package/esm2022/inplace/public_api.mjs +0 -4
  755. package/esm2022/inplace/style/inplacestyle.mjs +0 -69
  756. package/esm2022/inputgroup/inputgroup.mjs +0 -68
  757. package/esm2022/inputgroup/primeng-inputgroup.mjs +0 -5
  758. package/esm2022/inputgroup/public_api.mjs +0 -3
  759. package/esm2022/inputgroup/style/inputgroupstyle.mjs +0 -145
  760. package/esm2022/inputgroupaddon/inputgroupaddon.mjs +0 -74
  761. package/esm2022/inputgroupaddon/primeng-inputgroupaddon.mjs +0 -5
  762. package/esm2022/inputgroupaddon/public_api.mjs +0 -3
  763. package/esm2022/inputgroupaddon/style/inputgroupaddonstyle.mjs +0 -16
  764. package/esm2022/inputicon/inputicon.mjs +0 -66
  765. package/esm2022/inputicon/primeng-inputicon.mjs +0 -5
  766. package/esm2022/inputicon/public_api.mjs +0 -3
  767. package/esm2022/inputicon/style/inputiconstyle.mjs +0 -16
  768. package/esm2022/inputmask/inputmask.interface.mjs +0 -2
  769. package/esm2022/inputmask/inputmask.mjs +0 -911
  770. package/esm2022/inputmask/primeng-inputmask.mjs +0 -5
  771. package/esm2022/inputmask/public_api.mjs +0 -4
  772. package/esm2022/inputmask/style/inputmaskstyle.mjs +0 -62
  773. package/esm2022/inputnumber/inputnumber.interface.mjs +0 -2
  774. package/esm2022/inputnumber/inputnumber.mjs +0 -1745
  775. package/esm2022/inputnumber/primeng-inputnumber.mjs +0 -5
  776. package/esm2022/inputnumber/public_api.mjs +0 -4
  777. package/esm2022/inputnumber/style/inputnumberstyle.mjs +0 -240
  778. package/esm2022/inputotp/inputotp.mjs +0 -406
  779. package/esm2022/inputotp/primeng-inputotp.mjs +0 -5
  780. package/esm2022/inputotp/public_api.mjs +0 -3
  781. package/esm2022/inputotp/style/inputotpstyle.mjs +0 -60
  782. package/esm2022/inputswitch/inputswitch.interface.mjs +0 -2
  783. package/esm2022/inputswitch/inputswitch.mjs +0 -241
  784. package/esm2022/inputswitch/primeng-inputswitch.mjs +0 -5
  785. package/esm2022/inputswitch/public_api.mjs +0 -4
  786. package/esm2022/inputswitch/style/inputswitchstyle.mjs +0 -130
  787. package/esm2022/inputtext/inputtext.mjs +0 -104
  788. package/esm2022/inputtext/primeng-inputtext.mjs +0 -5
  789. package/esm2022/inputtext/public_api.mjs +0 -3
  790. package/esm2022/inputtext/style/inputtextstyle.mjs +0 -117
  791. package/esm2022/inputtextarea/inputtextarea.mjs +0 -156
  792. package/esm2022/inputtextarea/primeng-inputtextarea.mjs +0 -5
  793. package/esm2022/inputtextarea/public_api.mjs +0 -3
  794. package/esm2022/inputtextarea/style/textareastyle.mjs +0 -107
  795. package/esm2022/keyfilter/keyfilter.interface.mjs +0 -2
  796. package/esm2022/keyfilter/keyfilter.mjs +0 -263
  797. package/esm2022/keyfilter/primeng-keyfilter.mjs +0 -5
  798. package/esm2022/keyfilter/public_api.mjs +0 -3
  799. package/esm2022/knob/knob.mjs +0 -471
  800. package/esm2022/knob/primeng-knob.mjs +0 -5
  801. package/esm2022/knob/public_api.mjs +0 -3
  802. package/esm2022/knob/style/knobstyle.mjs +0 -83
  803. package/esm2022/listbox/listbox.interface.mjs +0 -2
  804. package/esm2022/listbox/listbox.mjs +0 -2044
  805. package/esm2022/listbox/primeng-listbox.mjs +0 -5
  806. package/esm2022/listbox/public_api.mjs +0 -4
  807. package/esm2022/listbox/style/listboxstyle.mjs +0 -206
  808. package/esm2022/megamenu/megamenu.interface.mjs +0 -2
  809. package/esm2022/megamenu/megamenu.mjs +0 -1607
  810. package/esm2022/megamenu/primeng-megamenu.mjs +0 -5
  811. package/esm2022/megamenu/public_api.mjs +0 -4
  812. package/esm2022/megamenu/style/megamenustyle.mjs +0 -487
  813. package/esm2022/menu/menu.mjs +0 -1193
  814. package/esm2022/menu/primeng-menu.mjs +0 -5
  815. package/esm2022/menu/public_api.mjs +0 -3
  816. package/esm2022/menu/style/menustyle.mjs +0 -179
  817. package/esm2022/menubar/menubar.interface.mjs +0 -2
  818. package/esm2022/menubar/menubar.mjs +0 -1484
  819. package/esm2022/menubar/primeng-menubar.mjs +0 -5
  820. package/esm2022/menubar/public_api.mjs +0 -4
  821. package/esm2022/menubar/style/menubarstyle.mjs +0 -375
  822. package/esm2022/message/message.mjs +0 -421
  823. package/esm2022/message/primeng-message.mjs +0 -5
  824. package/esm2022/message/public_api.mjs +0 -3
  825. package/esm2022/message/style/messagestyle.mjs +0 -357
  826. package/esm2022/messages/messages.interface.mjs +0 -2
  827. package/esm2022/messages/messages.mjs +0 -529
  828. package/esm2022/messages/primeng-messages.mjs +0 -5
  829. package/esm2022/messages/public_api.mjs +0 -4
  830. package/esm2022/messages/style/messagesstyle.mjs +0 -229
  831. package/esm2022/metergroup/metergroup.interface.mjs +0 -2
  832. package/esm2022/metergroup/metergroup.mjs +0 -423
  833. package/esm2022/metergroup/primeng-metergroup.mjs +0 -5
  834. package/esm2022/metergroup/public_api.mjs +0 -4
  835. package/esm2022/metergroup/style/metergroupstyle.mjs +0 -169
  836. package/esm2022/multiselect/multiselect.interface.mjs +0 -2
  837. package/esm2022/multiselect/multiselect.mjs +0 -2924
  838. package/esm2022/multiselect/primeng-multiselect.mjs +0 -5
  839. package/esm2022/multiselect/public_api.mjs +0 -4
  840. package/esm2022/multiselect/style/multiselectstyle.mjs +0 -373
  841. package/esm2022/orderlist/orderlist.interface.mjs +0 -2
  842. package/esm2022/orderlist/orderlist.mjs +0 -1121
  843. package/esm2022/orderlist/primeng-orderlist.mjs +0 -5
  844. package/esm2022/orderlist/public_api.mjs +0 -4
  845. package/esm2022/orderlist/style/orderliststyle.mjs +0 -51
  846. package/esm2022/organizationchart/organizationchart.interface.mjs +0 -2
  847. package/esm2022/organizationchart/organizationchart.mjs +0 -591
  848. package/esm2022/organizationchart/primeng-organizationchart.mjs +0 -5
  849. package/esm2022/organizationchart/public_api.mjs +0 -4
  850. package/esm2022/organizationchart/style/organizationchartstyle.mjs +0 -191
  851. package/esm2022/overlay/overlay.mjs +0 -668
  852. package/esm2022/overlay/primeng-overlay.mjs +0 -5
  853. package/esm2022/overlay/public_api.mjs +0 -3
  854. package/esm2022/overlay/style/overlaystyle.mjs +0 -93
  855. package/esm2022/overlaybadge/overlaybadge.mjs +0 -121
  856. package/esm2022/overlaybadge/primeng-overlaybadge.mjs +0 -5
  857. package/esm2022/overlaybadge/public_api.mjs +0 -3
  858. package/esm2022/overlaybadge/style/overlaybadgestyle.mjs +0 -34
  859. package/esm2022/overlaypanel/overlaypanel.mjs +0 -529
  860. package/esm2022/overlaypanel/primeng-overlaypanel.mjs +0 -5
  861. package/esm2022/overlaypanel/public_api.mjs +0 -3
  862. package/esm2022/overlaypanel/style/popoverstyle.mjs +0 -119
  863. package/esm2022/paginator/paginator.interface.mjs +0 -2
  864. package/esm2022/paginator/paginator.mjs +0 -893
  865. package/esm2022/paginator/primeng-paginator.mjs +0 -5
  866. package/esm2022/paginator/public_api.mjs +0 -4
  867. package/esm2022/paginator/style/paginatorstyle.mjs +0 -243
  868. package/esm2022/panel/panel.mjs +0 -585
  869. package/esm2022/panel/primeng-panel.mjs +0 -5
  870. package/esm2022/panel/public_api.mjs +0 -3
  871. package/esm2022/panel/style/panelstyle.mjs +0 -120
  872. package/esm2022/panelmenu/panelmenu.interface.mjs +0 -2
  873. package/esm2022/panelmenu/panelmenu.mjs +0 -1628
  874. package/esm2022/panelmenu/primeng-panelmenu.mjs +0 -5
  875. package/esm2022/panelmenu/public_api.mjs +0 -4
  876. package/esm2022/panelmenu/style/panelmenustyle.mjs +0 -291
  877. package/esm2022/password/password.mjs +0 -1201
  878. package/esm2022/password/primeng-password.mjs +0 -5
  879. package/esm2022/password/public_api.mjs +0 -3
  880. package/esm2022/password/style/passwordstyle.mjs +0 -182
  881. package/esm2022/picklist/picklist.interface.mjs +0 -2
  882. package/esm2022/picklist/picklist.mjs +0 -2322
  883. package/esm2022/picklist/primeng-picklist.mjs +0 -5
  884. package/esm2022/picklist/public_api.mjs +0 -4
  885. package/esm2022/picklist/style/pickliststyle.mjs +0 -79
  886. package/esm2022/popover/popover.mjs +0 -518
  887. package/esm2022/popover/primeng-popover.mjs +0 -5
  888. package/esm2022/popover/public_api.mjs +0 -3
  889. package/esm2022/popover/style/popoverstyle.mjs +0 -99
  890. package/esm2022/primeng.mjs +0 -5
  891. package/esm2022/progressbar/primeng-progressbar.mjs +0 -5
  892. package/esm2022/progressbar/progressbar.mjs +0 -197
  893. package/esm2022/progressbar/public_api.mjs +0 -3
  894. package/esm2022/progressbar/style/progressbarstyle.mjs +0 -165
  895. package/esm2022/progressspinner/primeng-progressspinner.mjs +0 -5
  896. package/esm2022/progressspinner/progressspinner.mjs +0 -105
  897. package/esm2022/progressspinner/public_api.mjs +0 -3
  898. package/esm2022/progressspinner/style/progressspinnerstyle.mjs +0 -115
  899. package/esm2022/public_api.mjs +0 -2
  900. package/esm2022/radiobutton/primeng-radiobutton.mjs +0 -5
  901. package/esm2022/radiobutton/public_api.mjs +0 -4
  902. package/esm2022/radiobutton/radiobutton.interface.mjs +0 -2
  903. package/esm2022/radiobutton/radiobutton.mjs +0 -356
  904. package/esm2022/radiobutton/style/radiobuttonstyle.mjs +0 -196
  905. package/esm2022/rating/primeng-rating.mjs +0 -5
  906. package/esm2022/rating/public_api.mjs +0 -4
  907. package/esm2022/rating/rating.interface.mjs +0 -2
  908. package/esm2022/rating/rating.mjs +0 -425
  909. package/esm2022/rating/style/ratingstyle.mjs +0 -103
  910. package/esm2022/ripple/primeng-ripple.mjs +0 -5
  911. package/esm2022/ripple/public_api.mjs +0 -3
  912. package/esm2022/ripple/ripple.mjs +0 -134
  913. package/esm2022/ripple/style/ripplestyle.mjs +0 -63
  914. package/esm2022/scroller/primeng-scroller.mjs +0 -5
  915. package/esm2022/scroller/public_api.mjs +0 -4
  916. package/esm2022/scroller/scroller.interface.mjs +0 -2
  917. package/esm2022/scroller/scroller.mjs +0 -1290
  918. package/esm2022/scroller/style/scrollerstyle.mjs +0 -104
  919. package/esm2022/scrollpanel/primeng-scrollpanel.mjs +0 -5
  920. package/esm2022/scrollpanel/public_api.mjs +0 -4
  921. package/esm2022/scrollpanel/scrollpanel.interface.mjs +0 -2
  922. package/esm2022/scrollpanel/scrollpanel.mjs +0 -506
  923. package/esm2022/scrollpanel/style/scrollpanelstyle.mjs +0 -120
  924. package/esm2022/scrolltop/primeng-scrolltop.mjs +0 -5
  925. package/esm2022/scrolltop/public_api.mjs +0 -4
  926. package/esm2022/scrolltop/scrolltop.interface.mjs +0 -2
  927. package/esm2022/scrolltop/scrolltop.mjs +0 -336
  928. package/esm2022/scrolltop/style/scrolltopstyle.mjs +0 -77
  929. package/esm2022/select/primeng-select.mjs +0 -5
  930. package/esm2022/select/public_api.mjs +0 -4
  931. package/esm2022/select/select.interface.mjs +0 -2
  932. package/esm2022/select/select.mjs +0 -2618
  933. package/esm2022/select/style/selectstyle.mjs +0 -365
  934. package/esm2022/selectbutton/primeng-selectbutton.mjs +0 -5
  935. package/esm2022/selectbutton/public_api.mjs +0 -4
  936. package/esm2022/selectbutton/selectbutton.interface.mjs +0 -2
  937. package/esm2022/selectbutton/selectbutton.mjs +0 -373
  938. package/esm2022/selectbutton/style/selectbuttonstyle.mjs +0 -73
  939. package/esm2022/sidebar/primeng-sidebar.mjs +0 -5
  940. package/esm2022/sidebar/public_api.mjs +0 -4
  941. package/esm2022/sidebar/sidebar.interface.mjs +0 -2
  942. package/esm2022/sidebar/sidebar.mjs +0 -578
  943. package/esm2022/sidebar/style/drawerstyle.mjs +0 -174
  944. package/esm2022/skeleton/primeng-skeleton.mjs +0 -5
  945. package/esm2022/skeleton/public_api.mjs +0 -3
  946. package/esm2022/skeleton/skeleton.mjs +0 -121
  947. package/esm2022/skeleton/style/skeletonstyle.mjs +0 -93
  948. package/esm2022/slider/primeng-slider.mjs +0 -5
  949. package/esm2022/slider/public_api.mjs +0 -4
  950. package/esm2022/slider/slider.interface.mjs +0 -2
  951. package/esm2022/slider/slider.mjs +0 -820
  952. package/esm2022/slider/style/sliderstyle.mjs +0 -141
  953. package/esm2022/speeddial/primeng-speeddial.mjs +0 -5
  954. package/esm2022/speeddial/public_api.mjs +0 -4
  955. package/esm2022/speeddial/speeddial.interface.mjs +0 -2
  956. package/esm2022/speeddial/speeddial.mjs +0 -866
  957. package/esm2022/speeddial/style/speeddialstyle.mjs +0 -167
  958. package/esm2022/splitbutton/primeng-splitbutton.mjs +0 -5
  959. package/esm2022/splitbutton/public_api.mjs +0 -4
  960. package/esm2022/splitbutton/splitbutton.interface.mjs +0 -2
  961. package/esm2022/splitbutton/splitbutton.mjs +0 -579
  962. package/esm2022/splitbutton/style/splitbuttonstyle.mjs +0 -100
  963. package/esm2022/splitter/primeng-splitter.mjs +0 -5
  964. package/esm2022/splitter/public_api.mjs +0 -4
  965. package/esm2022/splitter/splitter.interface.mjs +0 -2
  966. package/esm2022/splitter/splitter.mjs +0 -626
  967. package/esm2022/splitter/style/splitterstyle.mjs +0 -127
  968. package/esm2022/stepper/primeng-stepper.mjs +0 -5
  969. package/esm2022/stepper/public_api.mjs +0 -3
  970. package/esm2022/stepper/stepper.mjs +0 -521
  971. package/esm2022/stepper/style/stepperstyle.mjs +0 -228
  972. package/esm2022/steps/primeng-steps.mjs +0 -5
  973. package/esm2022/steps/public_api.mjs +0 -3
  974. package/esm2022/steps/steps.mjs +0 -405
  975. package/esm2022/steps/style/stepsstyle.mjs +0 -180
  976. package/esm2022/styleclass/primeng-styleclass.mjs +0 -5
  977. package/esm2022/styleclass/public_api.mjs +0 -2
  978. package/esm2022/styleclass/styleclass.mjs +0 -315
  979. package/esm2022/table/columnfilter.interface.mjs +0 -2
  980. package/esm2022/table/primeng-table.mjs +0 -5
  981. package/esm2022/table/public_api.mjs +0 -5
  982. package/esm2022/table/style/tablestyle.mjs +0 -906
  983. package/esm2022/table/table.interface.mjs +0 -2
  984. package/esm2022/table/table.mjs +0 -7829
  985. package/esm2022/tabmenu/primeng-tabmenu.mjs +0 -5
  986. package/esm2022/tabmenu/public_api.mjs +0 -4
  987. package/esm2022/tabmenu/style/tabmenustyle.mjs +0 -192
  988. package/esm2022/tabmenu/tabmenu.interface.mjs +0 -2
  989. package/esm2022/tabmenu/tabmenu.mjs +0 -730
  990. package/esm2022/tabs/primeng-tabs.mjs +0 -5
  991. package/esm2022/tabs/public_api.mjs +0 -7
  992. package/esm2022/tabs/style/tabsstyle.mjs +0 -211
  993. package/esm2022/tabs/tab.mjs +0 -175
  994. package/esm2022/tabs/tablist.mjs +0 -297
  995. package/esm2022/tabs/tabpanel.mjs +0 -60
  996. package/esm2022/tabs/tabpanels.mjs +0 -38
  997. package/esm2022/tabs/tabs.mjs +0 -105
  998. package/esm2022/tabview/primeng-tabview.mjs +0 -5
  999. package/esm2022/tabview/public_api.mjs +0 -4
  1000. package/esm2022/tabview/style/tabsstyle.mjs +0 -211
  1001. package/esm2022/tabview/tabview.interface.mjs +0 -2
  1002. package/esm2022/tabview/tabview.mjs +0 -1089
  1003. package/esm2022/tag/primeng-tag.mjs +0 -5
  1004. package/esm2022/tag/public_api.mjs +0 -4
  1005. package/esm2022/tag/style/tagstyle.mjs +0 -108
  1006. package/esm2022/tag/tag.interface.mjs +0 -2
  1007. package/esm2022/tag/tag.mjs +0 -168
  1008. package/esm2022/terminal/primeng-terminal.mjs +0 -5
  1009. package/esm2022/terminal/public_api.mjs +0 -4
  1010. package/esm2022/terminal/style/terminalstyle.mjs +0 -113
  1011. package/esm2022/terminal/terminal.mjs +0 -195
  1012. package/esm2022/terminal/terminalservice.mjs +0 -25
  1013. package/esm2022/textarea/primeng-textarea.mjs +0 -5
  1014. package/esm2022/textarea/public_api.mjs +0 -3
  1015. package/esm2022/textarea/style/textareastyle.mjs +0 -120
  1016. package/esm2022/textarea/textarea.mjs +0 -165
  1017. package/esm2022/tieredmenu/primeng-tieredmenu.mjs +0 -5
  1018. package/esm2022/tieredmenu/public_api.mjs +0 -4
  1019. package/esm2022/tieredmenu/style/tieredmenustyle.mjs +0 -276
  1020. package/esm2022/tieredmenu/tieredmenu.interface.mjs +0 -2
  1021. package/esm2022/tieredmenu/tieredmenu.mjs +0 -1444
  1022. package/esm2022/timeline/primeng-timeline.mjs +0 -5
  1023. package/esm2022/timeline/public_api.mjs +0 -4
  1024. package/esm2022/timeline/style/timelinestyle.mjs +0 -217
  1025. package/esm2022/timeline/timeline.interface.mjs +0 -2
  1026. package/esm2022/timeline/timeline.mjs +0 -223
  1027. package/esm2022/toast/primeng-toast.mjs +0 -5
  1028. package/esm2022/toast/public_api.mjs +0 -4
  1029. package/esm2022/toast/style/toaststyle.mjs +0 -351
  1030. package/esm2022/toast/toast.interface.mjs +0 -2
  1031. package/esm2022/toast/toast.mjs +0 -738
  1032. package/esm2022/togglebutton/primeng-togglebutton.mjs +0 -5
  1033. package/esm2022/togglebutton/public_api.mjs +0 -3
  1034. package/esm2022/togglebutton/style/togglebuttonstyle.mjs +0 -170
  1035. package/esm2022/togglebutton/togglebutton.interface.mjs +0 -2
  1036. package/esm2022/togglebutton/togglebutton.mjs +0 -353
  1037. package/esm2022/toggleswitch/primeng-toggleswitch.mjs +0 -5
  1038. package/esm2022/toggleswitch/public_api.mjs +0 -4
  1039. package/esm2022/toggleswitch/style/toggleswitchstyle.mjs +0 -165
  1040. package/esm2022/toggleswitch/toggleswitch.interface.mjs +0 -2
  1041. package/esm2022/toggleswitch/toggleswitch.mjs +0 -278
  1042. package/esm2022/toolbar/primeng-toolbar.mjs +0 -5
  1043. package/esm2022/toolbar/public_api.mjs +0 -4
  1044. package/esm2022/toolbar/style/toolbarstyle.mjs +0 -69
  1045. package/esm2022/toolbar/toolbar.interface.mjs +0 -2
  1046. package/esm2022/toolbar/toolbar.mjs +0 -172
  1047. package/esm2022/tooltip/primeng-tooltip.mjs +0 -5
  1048. package/esm2022/tooltip/public_api.mjs +0 -3
  1049. package/esm2022/tooltip/style/tooltipstyle.mjs +0 -113
  1050. package/esm2022/tooltip/tooltip.mjs +0 -715
  1051. package/esm2022/tree/primeng-tree.mjs +0 -5
  1052. package/esm2022/tree/public_api.mjs +0 -4
  1053. package/esm2022/tree/style/treestyle.mjs +0 -333
  1054. package/esm2022/tree/tree.interface.mjs +0 -2
  1055. package/esm2022/tree/tree.mjs +0 -2289
  1056. package/esm2022/treeselect/primeng-treeselect.mjs +0 -5
  1057. package/esm2022/treeselect/public_api.mjs +0 -4
  1058. package/esm2022/treeselect/style/treeselectstyle.mjs +0 -271
  1059. package/esm2022/treeselect/treeselect.interface.mjs +0 -2
  1060. package/esm2022/treeselect/treeselect.mjs +0 -1372
  1061. package/esm2022/treetable/primeng-treetable.mjs +0 -5
  1062. package/esm2022/treetable/public_api.mjs +0 -4
  1063. package/esm2022/treetable/style/treetablestyle.mjs +0 -621
  1064. package/esm2022/treetable/treetable.interface.mjs +0 -2
  1065. package/esm2022/treetable/treetable.mjs +0 -4642
  1066. package/esm2022/ts-helpers/primeng-ts-helpers.mjs +0 -5
  1067. package/esm2022/ts-helpers/public_api.mjs +0 -2
  1068. package/esm2022/ts-helpers/ts-helpers.mjs +0 -2
  1069. package/esm2022/usestyle/primeng-usestyle.mjs +0 -5
  1070. package/esm2022/usestyle/public_api.mjs +0 -2
  1071. package/esm2022/usestyle/usestyle.mjs +0 -44
  1072. package/esm2022/utils/inpututils.mjs +0 -7
  1073. package/esm2022/utils/objectutils.mjs +0 -276
  1074. package/esm2022/utils/primeng-utils.mjs +0 -5
  1075. package/esm2022/utils/public_api.mjs +0 -6
  1076. package/esm2022/utils/uniquecomponentid.mjs +0 -6
  1077. package/esm2022/utils/zindexutils.mjs +0 -35
@@ -1,626 +0,0 @@
1
- import { CommonModule, isPlatformBrowser } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, computed, contentChild, ContentChildren, EventEmitter, inject, Input, NgModule, numberAttribute, Output, ViewChild, ViewEncapsulation } from '@angular/core';
3
- import { addClass, getHeight, getOuterHeight, getOuterWidth, getWidth, hasClass, isRTL, removeClass } from '@primeuix/utils';
4
- import { PrimeTemplate, SharedModule } from 'primeng/api';
5
- import { BaseComponent } from 'primeng/basecomponent';
6
- import { SplitterStyle } from './style/splitterstyle';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common";
9
- const _c0 = ["*"];
10
- const _c1 = ["container"];
11
- const _c2 = a0 => ({ display: "flex", "flex-wrap": "nowrap", "flex-direction": a0 });
12
- function Splitter_ng_template_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
13
- i0.ɵɵelementContainer(0);
14
- } }
15
- function Splitter_ng_template_2_div_2_Template(rf, ctx) { if (rf & 1) {
16
- const _r1 = i0.ɵɵgetCurrentView();
17
- i0.ɵɵelementStart(0, "div", 6);
18
- i0.ɵɵlistener("mousedown", function Splitter_ng_template_2_div_2_Template_div_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r1); const i_r2 = i0.ɵɵnextContext().index; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onGutterMouseDown($event, i_r2)); })("touchstart", function Splitter_ng_template_2_div_2_Template_div_touchstart_0_listener($event) { i0.ɵɵrestoreView(_r1); const i_r2 = i0.ɵɵnextContext().index; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onGutterTouchStart($event, i_r2)); })("touchmove", function Splitter_ng_template_2_div_2_Template_div_touchmove_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onGutterTouchMove($event)); })("touchend", function Splitter_ng_template_2_div_2_Template_div_touchend_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onGutterTouchEnd($event)); });
19
- i0.ɵɵelementStart(1, "div", 7);
20
- i0.ɵɵlistener("keyup", function Splitter_ng_template_2_div_2_Template_div_keyup_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onGutterKeyUp($event)); })("keydown", function Splitter_ng_template_2_div_2_Template_div_keydown_1_listener($event) { i0.ɵɵrestoreView(_r1); const i_r2 = i0.ɵɵnextContext().index; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onGutterKeyDown($event, i_r2)); });
21
- i0.ɵɵelementEnd()();
22
- } if (rf & 2) {
23
- const ctx_r2 = i0.ɵɵnextContext(2);
24
- i0.ɵɵattribute("data-p-gutter-resizing", false)("data-pc-section", "gutter");
25
- i0.ɵɵadvance();
26
- i0.ɵɵproperty("ngStyle", ctx_r2.gutterStyle());
27
- i0.ɵɵattribute("aria-orientation", ctx_r2.layout)("aria-valuenow", ctx_r2.prevSize)("data-pc-section", "gutterhandle");
28
- } }
29
- function Splitter_ng_template_2_Template(rf, ctx) { if (rf & 1) {
30
- i0.ɵɵelementStart(0, "div", 3);
31
- i0.ɵɵtemplate(1, Splitter_ng_template_2_ng_container_1_Template, 1, 0, "ng-container", 4);
32
- i0.ɵɵelementEnd();
33
- i0.ɵɵtemplate(2, Splitter_ng_template_2_div_2_Template, 2, 6, "div", 5);
34
- } if (rf & 2) {
35
- const panel_r4 = ctx.$implicit;
36
- const i_r2 = ctx.index;
37
- const ctx_r2 = i0.ɵɵnextContext();
38
- i0.ɵɵclassMap(ctx_r2.panelStyleClass);
39
- i0.ɵɵproperty("ngClass", ctx_r2.panelContainerClass())("ngStyle", ctx_r2.panelStyle);
40
- i0.ɵɵattribute("data-pc-name", "splitter")("data-pc-section", "root");
41
- i0.ɵɵadvance();
42
- i0.ɵɵproperty("ngTemplateOutlet", panel_r4);
43
- i0.ɵɵadvance();
44
- i0.ɵɵproperty("ngIf", i_r2 !== ctx_r2.panels.length - 1);
45
- } }
46
- export class SplitterPanel extends BaseComponent {
47
- splitter = contentChild(Splitter);
48
- nestedState = computed(() => this.splitter());
49
- static ɵfac = /*@__PURE__*/ (() => { let ɵSplitterPanel_BaseFactory; return function SplitterPanel_Factory(__ngFactoryType__) { return (ɵSplitterPanel_BaseFactory || (ɵSplitterPanel_BaseFactory = i0.ɵɵgetInheritedFactory(SplitterPanel)))(__ngFactoryType__ || SplitterPanel); }; })();
50
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SplitterPanel, selectors: [["p-splitter-panel"]], contentQueries: function SplitterPanel_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
51
- i0.ɵɵcontentQuerySignal(dirIndex, ctx.splitter, Splitter, 5);
52
- } if (rf & 2) {
53
- i0.ɵɵqueryAdvance();
54
- } }, hostAttrs: [1, "p-splitterpanel"], standalone: true, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function SplitterPanel_Template(rf, ctx) { if (rf & 1) {
55
- i0.ɵɵprojectionDef();
56
- i0.ɵɵprojection(0);
57
- } }, dependencies: [CommonModule], encapsulation: 2, changeDetection: 0 });
58
- }
59
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SplitterPanel, [{
60
- type: Component,
61
- args: [{
62
- selector: 'p-splitter-panel',
63
- standalone: true,
64
- imports: [CommonModule],
65
- template: `<ng-content></ng-content>`,
66
- changeDetection: ChangeDetectionStrategy.OnPush,
67
- host: {
68
- class: 'p-splitterpanel'
69
- }
70
- }]
71
- }], null, null); })();
72
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SplitterPanel, { className: "SplitterPanel" }); })();
73
- /**
74
- * Splitter is utilized to separate and resize panels.
75
- * @group Components
76
- */
77
- export class Splitter extends BaseComponent {
78
- /**
79
- * Style class of the component.
80
- * @group Props
81
- */
82
- styleClass;
83
- /**
84
- * Style class of the panel.
85
- * @group Props
86
- */
87
- panelStyleClass;
88
- /**
89
- * Inline style of the component.
90
- * @group Props
91
- */
92
- style;
93
- /**
94
- * Inline style of the panel.
95
- * @group Props
96
- */
97
- panelStyle;
98
- /**
99
- * Defines where a stateful splitter keeps its state, valid values are 'session' for sessionStorage and 'local' for localStorage.
100
- * @group Props
101
- */
102
- stateStorage = 'session';
103
- /**
104
- * Storage identifier of a stateful Splitter.
105
- * @group Props
106
- */
107
- stateKey = null;
108
- /**
109
- * Orientation of the panels. Valid values are 'horizontal' and 'vertical'.
110
- * @group Props
111
- */
112
- layout = 'horizontal';
113
- /**
114
- * Size of the divider in pixels.
115
- * @group Props
116
- */
117
- gutterSize = 4;
118
- /**
119
- * Step factor to increment/decrement the size of the panels while pressing the arrow keys.
120
- * @group Props
121
- */
122
- step = 5;
123
- /**
124
- * Minimum size of the elements relative to 100%.
125
- * @group Props
126
- */
127
- minSizes = [];
128
- /**
129
- * Size of the elements relative to 100%.
130
- * @group Props
131
- */
132
- get panelSizes() {
133
- return this._panelSizes;
134
- }
135
- set panelSizes(val) {
136
- this._panelSizes = val;
137
- if (this.el && this.el.nativeElement && this.panels.length > 0) {
138
- let children = [...this.el.nativeElement.children[0].children].filter((child) => hasClass(child, 'p-splitterpanel'));
139
- let _panelSizes = [];
140
- this.panels.map((panel, i) => {
141
- let panelInitialSize = this.panelSizes.length - 1 >= i ? this.panelSizes[i] : null;
142
- let panelSize = panelInitialSize || 100 / this.panels.length;
143
- _panelSizes[i] = panelSize;
144
- children[i].style.flexBasis = 'calc(' + panelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';
145
- });
146
- }
147
- }
148
- /**
149
- * Callback to invoke when resize ends.
150
- * @param {SplitterResizeEndEvent} event - Custom panel resize end event
151
- * @group Emits
152
- */
153
- onResizeEnd = new EventEmitter();
154
- /**
155
- * Callback to invoke when resize starts.
156
- * @param {SplitterResizeStartEvent} event - Custom panel resize start event
157
- * @group Emits
158
- */
159
- onResizeStart = new EventEmitter();
160
- containerViewChild;
161
- nested = false;
162
- panels = [];
163
- dragging = false;
164
- mouseMoveListener;
165
- mouseUpListener;
166
- touchMoveListener;
167
- touchEndListener;
168
- size;
169
- gutterElement;
170
- startPos;
171
- prevPanelElement;
172
- nextPanelElement;
173
- nextPanelSize;
174
- prevPanelSize;
175
- _panelSizes = [];
176
- prevPanelIndex;
177
- timer;
178
- prevSize;
179
- _componentStyle = inject(SplitterStyle);
180
- ngOnInit() {
181
- super.ngOnInit();
182
- this.nested = this.isNested();
183
- }
184
- _templates;
185
- ngAfterContentInit() {
186
- this._templates.forEach((item) => {
187
- switch (item.getType()) {
188
- case 'panel':
189
- this.panels.push(item.template);
190
- break;
191
- default:
192
- this.panels.push(item.template);
193
- break;
194
- }
195
- });
196
- }
197
- ngAfterViewInit() {
198
- super.ngAfterViewInit();
199
- if (isPlatformBrowser(this.platformId)) {
200
- if (this.panels && this.panels.length) {
201
- let initialized = false;
202
- if (this.isStateful()) {
203
- initialized = this.restoreState();
204
- }
205
- if (!initialized) {
206
- let children = [...this.el.nativeElement.children[0].children].filter((child) => hasClass(child, 'p-splitterpanel'));
207
- let _panelSizes = [];
208
- this.panels.map((panel, i) => {
209
- let panelInitialSize = this.panelSizes.length - 1 >= i ? this.panelSizes[i] : null;
210
- let panelSize = panelInitialSize || 100 / this.panels.length;
211
- _panelSizes[i] = panelSize;
212
- children[i].style.flexBasis = 'calc(' + panelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';
213
- });
214
- this._panelSizes = _panelSizes;
215
- this.prevSize = parseFloat(_panelSizes[0]).toFixed(4);
216
- }
217
- }
218
- }
219
- }
220
- resizeStart(event, index, isKeyDown) {
221
- this.gutterElement = event.currentTarget || event.target.parentElement;
222
- this.size = this.horizontal() ? getWidth(this.containerViewChild.nativeElement) : getHeight(this.containerViewChild.nativeElement);
223
- if (!isKeyDown) {
224
- this.dragging = true;
225
- this.startPos = this.horizontal() ? (event instanceof MouseEvent ? event.pageX : event.changedTouches[0].pageX) : event instanceof MouseEvent ? event.pageY : event.changedTouches[0].pageY;
226
- }
227
- this.prevPanelElement = this.gutterElement.previousElementSibling;
228
- this.nextPanelElement = this.gutterElement.nextElementSibling;
229
- if (isKeyDown) {
230
- this.prevPanelSize = this.horizontal() ? getOuterWidth(this.prevPanelElement, true) : getOuterHeight(this.prevPanelElement, true);
231
- this.nextPanelSize = this.horizontal() ? getOuterWidth(this.nextPanelElement, true) : getOuterHeight(this.nextPanelElement, true);
232
- }
233
- else {
234
- this.prevPanelSize = (100 * (this.horizontal() ? getOuterWidth(this.prevPanelElement, true) : getOuterHeight(this.prevPanelElement, true))) / this.size;
235
- this.nextPanelSize = (100 * (this.horizontal() ? getOuterWidth(this.nextPanelElement, true) : getOuterHeight(this.nextPanelElement, true))) / this.size;
236
- }
237
- this.prevPanelIndex = index;
238
- addClass(this.gutterElement, 'p-splitter-gutter-resizing');
239
- this.gutterElement.setAttribute('data-p-gutter-resizing', 'true');
240
- addClass(this.containerViewChild.nativeElement, 'p-splitter-resizing');
241
- this.containerViewChild.nativeElement.setAttribute('data-p-resizing', 'true');
242
- this.onResizeStart.emit({ originalEvent: event, sizes: this._panelSizes });
243
- }
244
- onResize(event, step, isKeyDown) {
245
- let newPos, newPrevPanelSize, newNextPanelSize;
246
- if (isKeyDown) {
247
- if (this.horizontal()) {
248
- newPrevPanelSize = (100 * (this.prevPanelSize + step)) / this.size;
249
- newNextPanelSize = (100 * (this.nextPanelSize - step)) / this.size;
250
- }
251
- else {
252
- newPrevPanelSize = (100 * (this.prevPanelSize - step)) / this.size;
253
- newNextPanelSize = (100 * (this.nextPanelSize + step)) / this.size;
254
- }
255
- }
256
- else {
257
- if (this.horizontal()) {
258
- if (isRTL(this.el.nativeElement)) {
259
- newPos = ((this.startPos - event.pageX) * 100) / this.size;
260
- }
261
- else {
262
- newPos = ((event.pageX - this.startPos) * 100) / this.size;
263
- }
264
- }
265
- else {
266
- newPos = ((event.pageY - this.startPos) * 100) / this.size;
267
- }
268
- newPrevPanelSize = this.prevPanelSize + newPos;
269
- newNextPanelSize = this.nextPanelSize - newPos;
270
- }
271
- this.prevSize = parseFloat(newPrevPanelSize).toFixed(4);
272
- if (this.validateResize(newPrevPanelSize, newNextPanelSize)) {
273
- this.prevPanelElement.style.flexBasis = 'calc(' + newPrevPanelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';
274
- this.nextPanelElement.style.flexBasis = 'calc(' + newNextPanelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';
275
- this._panelSizes[this.prevPanelIndex] = newPrevPanelSize;
276
- this._panelSizes[this.prevPanelIndex + 1] = newNextPanelSize;
277
- }
278
- }
279
- resizeEnd(event) {
280
- if (this.isStateful()) {
281
- this.saveState();
282
- }
283
- this.onResizeEnd.emit({ originalEvent: event, sizes: this._panelSizes });
284
- removeClass(this.gutterElement, 'p-splitter-gutter-resizing');
285
- removeClass(this.containerViewChild.nativeElement, 'p-splitter-resizing');
286
- this.clear();
287
- }
288
- onGutterMouseDown(event, index) {
289
- this.resizeStart(event, index);
290
- this.bindMouseListeners();
291
- }
292
- onGutterTouchStart(event, index) {
293
- if (event.cancelable) {
294
- this.resizeStart(event, index);
295
- this.bindTouchListeners();
296
- event.preventDefault();
297
- }
298
- }
299
- onGutterTouchMove(event) {
300
- this.onResize(event);
301
- event.preventDefault();
302
- }
303
- onGutterTouchEnd(event) {
304
- this.resizeEnd(event);
305
- this.unbindTouchListeners();
306
- if (event.cancelable)
307
- event.preventDefault();
308
- }
309
- repeat(event, index, step) {
310
- this.resizeStart(event, index, true);
311
- this.onResize(event, step, true);
312
- }
313
- setTimer(event, index, step) {
314
- this.clearTimer();
315
- this.timer = setTimeout(() => {
316
- this.repeat(event, index, step);
317
- }, 40);
318
- }
319
- clearTimer() {
320
- if (this.timer) {
321
- clearTimeout(this.timer);
322
- }
323
- }
324
- onGutterKeyUp(event) {
325
- this.clearTimer();
326
- this.resizeEnd(event);
327
- }
328
- onGutterKeyDown(event, index) {
329
- switch (event.code) {
330
- case 'ArrowLeft': {
331
- if (this.layout === 'horizontal') {
332
- this.setTimer(event, index, this.step * -1);
333
- }
334
- event.preventDefault();
335
- break;
336
- }
337
- case 'ArrowRight': {
338
- if (this.layout === 'horizontal') {
339
- this.setTimer(event, index, this.step);
340
- }
341
- event.preventDefault();
342
- break;
343
- }
344
- case 'ArrowDown': {
345
- if (this.layout === 'vertical') {
346
- this.setTimer(event, index, this.step * -1);
347
- }
348
- event.preventDefault();
349
- break;
350
- }
351
- case 'ArrowUp': {
352
- if (this.layout === 'vertical') {
353
- this.setTimer(event, index, this.step);
354
- }
355
- event.preventDefault();
356
- break;
357
- }
358
- default:
359
- //no op
360
- break;
361
- }
362
- }
363
- validateResize(newPrevPanelSize, newNextPanelSize) {
364
- if (this.minSizes.length >= 1 && this.minSizes[0] && this.minSizes[0] > newPrevPanelSize) {
365
- return false;
366
- }
367
- if (this.minSizes.length > 1 && this.minSizes[1] && this.minSizes[1] > newNextPanelSize) {
368
- return false;
369
- }
370
- return true;
371
- }
372
- bindMouseListeners() {
373
- if (!this.mouseMoveListener) {
374
- this.mouseMoveListener = this.renderer.listen(this.document, 'mousemove', (event) => {
375
- this.onResize(event);
376
- });
377
- }
378
- if (!this.mouseUpListener) {
379
- this.mouseUpListener = this.renderer.listen(this.document, 'mouseup', (event) => {
380
- this.resizeEnd(event);
381
- this.unbindMouseListeners();
382
- });
383
- }
384
- }
385
- bindTouchListeners() {
386
- if (!this.touchMoveListener) {
387
- this.touchMoveListener = this.renderer.listen(this.document, 'touchmove', (event) => {
388
- this.onResize(event.changedTouches[0]);
389
- });
390
- }
391
- if (!this.touchEndListener) {
392
- this.touchEndListener = this.renderer.listen(this.document, 'touchend', (event) => {
393
- this.resizeEnd(event);
394
- this.unbindTouchListeners();
395
- });
396
- }
397
- }
398
- unbindMouseListeners() {
399
- if (this.mouseMoveListener) {
400
- this.mouseMoveListener();
401
- this.mouseMoveListener = null;
402
- }
403
- if (this.mouseUpListener) {
404
- this.mouseUpListener();
405
- this.mouseUpListener = null;
406
- }
407
- }
408
- unbindTouchListeners() {
409
- if (this.touchMoveListener) {
410
- this.touchMoveListener();
411
- this.touchMoveListener = null;
412
- }
413
- if (this.touchEndListener) {
414
- this.touchEndListener();
415
- this.touchEndListener = null;
416
- }
417
- }
418
- clear() {
419
- this.dragging = false;
420
- this.size = null;
421
- this.startPos = null;
422
- this.prevPanelElement = null;
423
- this.nextPanelElement = null;
424
- this.prevPanelSize = null;
425
- this.nextPanelSize = null;
426
- this.gutterElement = null;
427
- this.prevPanelIndex = null;
428
- }
429
- isNested() {
430
- if (this.el.nativeElement) {
431
- let parent = this.el.nativeElement.parentElement;
432
- while (parent && !hasClass(parent, 'p-splitter')) {
433
- parent = parent.parentElement;
434
- }
435
- return parent !== null;
436
- }
437
- else {
438
- return false;
439
- }
440
- }
441
- isStateful() {
442
- return this.stateKey != null;
443
- }
444
- getStorage() {
445
- if (isPlatformBrowser(this.platformId)) {
446
- switch (this.stateStorage) {
447
- case 'local':
448
- return this.document.defaultView.localStorage;
449
- case 'session':
450
- return this.document.defaultView.sessionStorage;
451
- default:
452
- throw new Error(this.stateStorage + ' is not a valid value for the state storage, supported values are "local" and "session".');
453
- }
454
- }
455
- else {
456
- throw new Error('Storage is not a available by default on the server.');
457
- }
458
- }
459
- saveState() {
460
- this.getStorage().setItem(this.stateKey, JSON.stringify(this._panelSizes));
461
- }
462
- restoreState() {
463
- const storage = this.getStorage();
464
- const stateString = storage.getItem(this.stateKey);
465
- if (stateString) {
466
- this._panelSizes = JSON.parse(stateString);
467
- let children = [...this.containerViewChild.nativeElement.children].filter((child) => hasClass(child, 'p-splitterpanel'));
468
- children.forEach((child, i) => {
469
- child.style.flexBasis = 'calc(' + this._panelSizes[i] + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';
470
- });
471
- return true;
472
- }
473
- return false;
474
- }
475
- containerClass() {
476
- return {
477
- 'p-splitter p-component': true,
478
- 'p-splitter-horizontal': this.layout === 'horizontal',
479
- 'p-splitter-vertical': this.layout === 'vertical'
480
- };
481
- }
482
- panelContainerClass() {
483
- return {
484
- 'p-splitterpanel': true,
485
- 'p-splitterpanel-nested': true
486
- };
487
- }
488
- gutterStyle() {
489
- if (this.horizontal())
490
- return { width: this.gutterSize + 'px' };
491
- else
492
- return { height: this.gutterSize + 'px' };
493
- }
494
- horizontal() {
495
- return this.layout === 'horizontal';
496
- }
497
- static ɵfac = /*@__PURE__*/ (() => { let ɵSplitter_BaseFactory; return function Splitter_Factory(__ngFactoryType__) { return (ɵSplitter_BaseFactory || (ɵSplitter_BaseFactory = i0.ɵɵgetInheritedFactory(Splitter)))(__ngFactoryType__ || Splitter); }; })();
498
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Splitter, selectors: [["p-splitter"]], contentQueries: function Splitter_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
499
- i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);
500
- } if (rf & 2) {
501
- let _t;
502
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._templates = _t);
503
- } }, viewQuery: function Splitter_Query(rf, ctx) { if (rf & 1) {
504
- i0.ɵɵviewQuery(_c1, 5);
505
- } if (rf & 2) {
506
- let _t;
507
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.containerViewChild = _t.first);
508
- } }, hostVars: 2, hostBindings: function Splitter_HostBindings(rf, ctx) { if (rf & 2) {
509
- i0.ɵɵclassProp("p-splitterpanel-nested", ctx.nested);
510
- } }, inputs: { styleClass: "styleClass", panelStyleClass: "panelStyleClass", style: "style", panelStyle: "panelStyle", stateStorage: "stateStorage", stateKey: "stateKey", layout: "layout", gutterSize: [2, "gutterSize", "gutterSize", numberAttribute], step: [2, "step", "step", numberAttribute], minSizes: "minSizes", panelSizes: "panelSizes" }, outputs: { onResizeEnd: "onResizeEnd", onResizeStart: "onResizeStart" }, standalone: true, features: [i0.ɵɵProvidersFeature([SplitterStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 3, vars: 12, consts: [["container", ""], [3, "ngClass", "ngStyle"], ["ngFor", "", 3, "ngForOf"], ["tabindex", "-1", 3, "ngClass", "ngStyle"], [4, "ngTemplateOutlet"], ["class", "p-splitter-gutter", "role", "separator", "tabindex", "-1", 3, "mousedown", "touchstart", "touchmove", "touchend", 4, "ngIf"], ["role", "separator", "tabindex", "-1", 1, "p-splitter-gutter", 3, "mousedown", "touchstart", "touchmove", "touchend"], ["tabindex", "0", 1, "p-splitter-gutter-handle", 3, "keyup", "keydown", "ngStyle"]], template: function Splitter_Template(rf, ctx) { if (rf & 1) {
511
- i0.ɵɵelementStart(0, "div", 1, 0);
512
- i0.ɵɵtemplate(2, Splitter_ng_template_2_Template, 3, 8, "ng-template", 2);
513
- i0.ɵɵelementEnd();
514
- } if (rf & 2) {
515
- i0.ɵɵstyleMap(i0.ɵɵpureFunction1(10, _c2, ctx.layout === "vertical" ? "column" : ""));
516
- i0.ɵɵclassMap(ctx.styleClass);
517
- i0.ɵɵproperty("ngClass", ctx.containerClass())("ngStyle", ctx.style);
518
- i0.ɵɵattribute("data-pc-name", "splitter")("data-p-gutter-resizing", false)("data-pc-section", "root");
519
- i0.ɵɵadvance(2);
520
- i0.ɵɵproperty("ngForOf", ctx.panels);
521
- } }, dependencies: [CommonModule, i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i1.NgStyle, SharedModule], encapsulation: 2, changeDetection: 0 });
522
- }
523
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(Splitter, [{
524
- type: Component,
525
- args: [{
526
- selector: 'p-splitter',
527
- standalone: true,
528
- imports: [CommonModule, SharedModule],
529
- template: `
530
- <div
531
- #container
532
- [ngClass]="containerClass()"
533
- [class]="styleClass"
534
- [ngStyle]="style"
535
- [style]="{ display: 'flex', 'flex-wrap': 'nowrap', 'flex-direction': layout === 'vertical' ? 'column' : '' }"
536
- [attr.data-pc-name]="'splitter'"
537
- [attr.data-p-gutter-resizing]="false"
538
- [attr.data-pc-section]="'root'"
539
- >
540
- <ng-template ngFor let-panel [ngForOf]="panels" let-i="index">
541
- <div [ngClass]="panelContainerClass()" [class]="panelStyleClass" [ngStyle]="panelStyle" tabindex="-1" [attr.data-pc-name]="'splitter'" [attr.data-pc-section]="'root'">
542
- <ng-container *ngTemplateOutlet="panel"></ng-container>
543
- </div>
544
- <div
545
- *ngIf="i !== panels.length - 1"
546
- class="p-splitter-gutter"
547
- role="separator"
548
- tabindex="-1"
549
- (mousedown)="onGutterMouseDown($event, i)"
550
- (touchstart)="onGutterTouchStart($event, i)"
551
- (touchmove)="onGutterTouchMove($event)"
552
- (touchend)="onGutterTouchEnd($event)"
553
- [attr.data-p-gutter-resizing]="false"
554
- [attr.data-pc-section]="'gutter'"
555
- >
556
- <div
557
- class="p-splitter-gutter-handle"
558
- tabindex="0"
559
- [ngStyle]="gutterStyle()"
560
- [attr.aria-orientation]="layout"
561
- [attr.aria-valuenow]="prevSize"
562
- [attr.data-pc-section]="'gutterhandle'"
563
- (keyup)="onGutterKeyUp($event)"
564
- (keydown)="onGutterKeyDown($event, i)"
565
- ></div>
566
- </div>
567
- </ng-template>
568
- </div>
569
- `,
570
- encapsulation: ViewEncapsulation.None,
571
- changeDetection: ChangeDetectionStrategy.OnPush,
572
- host: {
573
- '[class.p-splitterpanel-nested]': 'nested'
574
- },
575
- providers: [SplitterStyle]
576
- }]
577
- }], null, { styleClass: [{
578
- type: Input
579
- }], panelStyleClass: [{
580
- type: Input
581
- }], style: [{
582
- type: Input
583
- }], panelStyle: [{
584
- type: Input
585
- }], stateStorage: [{
586
- type: Input
587
- }], stateKey: [{
588
- type: Input
589
- }], layout: [{
590
- type: Input
591
- }], gutterSize: [{
592
- type: Input,
593
- args: [{ transform: numberAttribute }]
594
- }], step: [{
595
- type: Input,
596
- args: [{ transform: numberAttribute }]
597
- }], minSizes: [{
598
- type: Input
599
- }], panelSizes: [{
600
- type: Input
601
- }], onResizeEnd: [{
602
- type: Output
603
- }], onResizeStart: [{
604
- type: Output
605
- }], containerViewChild: [{
606
- type: ViewChild,
607
- args: ['container', { static: false }]
608
- }], _templates: [{
609
- type: ContentChildren,
610
- args: [PrimeTemplate]
611
- }] }); })();
612
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(Splitter, { className: "Splitter" }); })();
613
- export class SplitterModule {
614
- static ɵfac = function SplitterModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SplitterModule)(); };
615
- static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: SplitterModule });
616
- static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [Splitter, SplitterPanel, SharedModule, SharedModule] });
617
- }
618
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SplitterModule, [{
619
- type: NgModule,
620
- args: [{
621
- imports: [Splitter, SplitterPanel, SharedModule],
622
- exports: [Splitter, SplitterPanel, SharedModule]
623
- }]
624
- }], null, null); })();
625
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(SplitterModule, { imports: [Splitter, SplitterPanel, SharedModule], exports: [Splitter, SplitterPanel, SharedModule] }); })();
626
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXR0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3BsaXR0ZXIvc3BsaXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQWMsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQWEsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pPLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0gsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztJQXVDbEMsd0JBQXVEOzs7O0lBRTNELDhCQVdDO0lBSEcsQUFEQSxBQURBLEFBREEsb09BQWEsc0NBQTRCLEtBQUMseU5BQzVCLHVDQUE2QixLQUFDLGlMQUMvQixnQ0FBeUIsS0FBQywrS0FDM0IsK0JBQXdCLEtBQUM7SUFJckMsOEJBU0M7SUFERyxBQURBLHNMQUFTLDRCQUFxQixLQUFDLG1OQUNwQixvQ0FBMEIsS0FBQztJQUU5QyxBQURLLGlCQUFNLEVBQ0w7Ozs7SUFQRSxjQUF5QjtJQUF6Qiw4Q0FBeUI7Ozs7SUFsQmpDLDhCQUF1SztJQUNuSyx5RkFBd0M7SUFDNUMsaUJBQU07SUFDTix1RUFXQzs7Ozs7SUFkc0MscUNBQXlCO0lB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QkFDRCxTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUM7YUFDN0I7Z0JBTVksVUFBVTtrQkFBbEIsS0FBSztZQUtHLGVBQWU7a0JBQXZCLEtBQUs7WUFLRyxLQUFLO2tCQUFiLEtBQUs7WUFLRyxVQUFVO2tCQUFsQixLQUFLO1lBS0csWUFBWTtrQkFBcEIsS0FBSztZQUtHLFFBQVE7a0JBQWhCLEtBQUs7WUFLRyxNQUFNO2tCQUFkLEtBQUs7WUFLaUMsVUFBVTtrQkFBaEQsS0FBSzttQkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7WUFLRSxJQUFJO2tCQUExQyxLQUFLO21CQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtZQUs1QixRQUFRO2tCQUFoQixLQUFLO1lBS08sVUFBVTtrQkFBdEIsS0FBSztZQXVCSSxXQUFXO2tCQUFwQixNQUFNO1lBTUcsYUFBYTtrQkFBdEIsTUFBTTtZQUVvQyxrQkFBa0I7a0JBQTVELFNBQVM7bUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQTZDVCxVQUFVO2tCQUF6QyxlQUFlO21CQUFDLGFBQWE7O2tGQW5JckIsUUFBUTtBQXdmckIsTUFBTSxPQUFPLGNBQWM7d0dBQWQsY0FBYzs0REFBZCxjQUFjO2dFQUhiLFFBQVEsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUNaLFlBQVk7O2lGQUV0QyxjQUFjO2NBSjFCLFFBQVE7ZUFBQztnQkFDTixPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQztnQkFDaEQsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUM7YUFDbkQ7O3dGQUNZLGNBQWMsY0F4ZmQsUUFBUSxFQTlEUixhQUFhLEVBbWpCYSxZQUFZLGFBcmZ0QyxRQUFRLEVBOURSLGFBQWEsRUFvakJhLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBjb250ZW50Q2hpbGQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBOZ01vZHVsZSwgbnVtYmVyQXR0cmlidXRlLCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYWRkQ2xhc3MsIGdldEhlaWdodCwgZ2V0T3V0ZXJIZWlnaHQsIGdldE91dGVyV2lkdGgsIGdldFdpZHRoLCBoYXNDbGFzcywgaXNSVEwsIHJlbW92ZUNsYXNzIH0gZnJvbSAnQHByaW1ldWl4L3V0aWxzJztcbmltcG9ydCB7IFByaW1lVGVtcGxhdGUsIFNoYXJlZE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdwcmltZW5nL2Jhc2Vjb21wb25lbnQnO1xuaW1wb3J0IHsgTnVsbGFibGUsIFZvaWRMaXN0ZW5lciB9IGZyb20gJ3ByaW1lbmcvdHMtaGVscGVycyc7XG5pbXBvcnQgeyBTcGxpdHRlclJlc2l6ZUVuZEV2ZW50LCBTcGxpdHRlclJlc2l6ZVN0YXJ0RXZlbnQgfSBmcm9tICcuL3NwbGl0dGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTcGxpdHRlclN0eWxlIH0gZnJvbSAnLi9zdHlsZS9zcGxpdHRlcnN0eWxlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwLXNwbGl0dGVyLXBhbmVsJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3Atc3BsaXR0ZXJwYW5lbCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFNwbGl0dGVyUGFuZWwgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgICBzcGxpdHRlciA9IGNvbnRlbnRDaGlsZChTcGxpdHRlcik7XG5cbiAgICBuZXN0ZWRTdGF0ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc3BsaXR0ZXIoKSk7XG59XG5cbi8qKlxuICogU3BsaXR0ZXIgaXMgdXRpbGl6ZWQgdG8gc2VwYXJhdGUgYW5kIHJlc2l6ZSBwYW5lbHMuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Atc3BsaXR0ZXInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2hhcmVkTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAjY29udGFpbmVyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJjb250YWluZXJDbGFzcygpXCJcbiAgICAgICAgICAgIFtjbGFzc109XCJzdHlsZUNsYXNzXCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cInN0eWxlXCJcbiAgICAgICAgICAgIFtzdHlsZV09XCJ7IGRpc3BsYXk6ICdmbGV4JywgJ2ZsZXgtd3JhcCc6ICdub3dyYXAnLCAnZmxleC1kaXJlY3Rpb24nOiBsYXlvdXQgPT09ICd2ZXJ0aWNhbCcgPyAnY29sdW1uJyA6ICcnIH1cIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1wYy1uYW1lXT1cIidzcGxpdHRlcidcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1wLWd1dHRlci1yZXNpemluZ109XCJmYWxzZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ3Jvb3QnXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1wYW5lbCBbbmdGb3JPZl09XCJwYW5lbHNcIiBsZXQtaT1cImluZGV4XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJwYW5lbENvbnRhaW5lckNsYXNzKClcIiBbY2xhc3NdPVwicGFuZWxTdHlsZUNsYXNzXCIgW25nU3R5bGVdPVwicGFuZWxTdHlsZVwiIHRhYmluZGV4PVwiLTFcIiBbYXR0ci5kYXRhLXBjLW5hbWVdPVwiJ3NwbGl0dGVyJ1wiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCIncm9vdCdcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInBhbmVsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImkgIT09IHBhbmVscy5sZW5ndGggLSAxXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwLXNwbGl0dGVyLWd1dHRlclwiXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJzZXBhcmF0b3JcIlxuICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgICAgICAgKG1vdXNlZG93bik9XCJvbkd1dHRlck1vdXNlRG93bigkZXZlbnQsIGkpXCJcbiAgICAgICAgICAgICAgICAgICAgKHRvdWNoc3RhcnQpPVwib25HdXR0ZXJUb3VjaFN0YXJ0KCRldmVudCwgaSlcIlxuICAgICAgICAgICAgICAgICAgICAodG91Y2htb3ZlKT1cIm9uR3V0dGVyVG91Y2hNb3ZlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAodG91Y2hlbmQpPVwib25HdXR0ZXJUb3VjaEVuZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1wLWd1dHRlci1yZXNpemluZ109XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInZ3V0dGVyJ1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInAtc3BsaXR0ZXItZ3V0dGVyLWhhbmRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwiZ3V0dGVyU3R5bGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLW9yaWVudGF0aW9uXT1cImxheW91dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLXZhbHVlbm93XT1cInByZXZTaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInZ3V0dGVyaGFuZGxlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAoa2V5dXApPVwib25HdXR0ZXJLZXlVcCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uR3V0dGVyS2V5RG93bigkZXZlbnQsIGkpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgYCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy5wLXNwbGl0dGVycGFuZWwtbmVzdGVkXSc6ICduZXN0ZWQnXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFtTcGxpdHRlclN0eWxlXVxufSlcbmV4cG9ydCBjbGFzcyBTcGxpdHRlciBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqIFN0eWxlIGNsYXNzIG9mIHRoZSBjb21wb25lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc3R5bGVDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFN0eWxlIGNsYXNzIG9mIHRoZSBwYW5lbC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwYW5lbFN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBJbmxpbmUgc3R5bGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzdHlsZTogeyBba2xhc3M6IHN0cmluZ106IGFueSB9IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBJbmxpbmUgc3R5bGUgb2YgdGhlIHBhbmVsLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHBhbmVsU3R5bGU6IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfSB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB3aGVyZSBhIHN0YXRlZnVsIHNwbGl0dGVyIGtlZXBzIGl0cyBzdGF0ZSwgdmFsaWQgdmFsdWVzIGFyZSAnc2Vzc2lvbicgZm9yIHNlc3Npb25TdG9yYWdlIGFuZCAnbG9jYWwnIGZvciBsb2NhbFN0b3JhZ2UuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc3RhdGVTdG9yYWdlOiBzdHJpbmcgfCB1bmRlZmluZWQgPSAnc2Vzc2lvbic7XG4gICAgLyoqXG4gICAgICogU3RvcmFnZSBpZGVudGlmaWVyIG9mIGEgc3RhdGVmdWwgU3BsaXR0ZXIuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc3RhdGVLZXk6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGwgPSBudWxsO1xuICAgIC8qKlxuICAgICAqIE9yaWVudGF0aW9uIG9mIHRoZSBwYW5lbHMuIFZhbGlkIHZhbHVlcyBhcmUgJ2hvcml6b250YWwnIGFuZCAndmVydGljYWwnLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGxheW91dDogc3RyaW5nIHwgdW5kZWZpbmVkID0gJ2hvcml6b250YWwnO1xuICAgIC8qKlxuICAgICAqIFNpemUgb2YgdGhlIGRpdmlkZXIgaW4gcGl4ZWxzLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIGd1dHRlclNpemU6IG51bWJlciA9IDQ7XG4gICAgLyoqXG4gICAgICogU3RlcCBmYWN0b3IgdG8gaW5jcmVtZW50L2RlY3JlbWVudCB0aGUgc2l6ZSBvZiB0aGUgcGFuZWxzIHdoaWxlIHByZXNzaW5nIHRoZSBhcnJvdyBrZXlzLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHN0ZXA6IG51bWJlciA9IDU7XG4gICAgLyoqXG4gICAgICogTWluaW11bSBzaXplIG9mIHRoZSBlbGVtZW50cyByZWxhdGl2ZSB0byAxMDAlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIG1pblNpemVzOiBudW1iZXJbXSA9IFtdO1xuICAgIC8qKlxuICAgICAqIFNpemUgb2YgdGhlIGVsZW1lbnRzIHJlbGF0aXZlIHRvIDEwMCUuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgZ2V0IHBhbmVsU2l6ZXMoKTogbnVtYmVyW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFuZWxTaXplcztcbiAgICB9XG4gICAgc2V0IHBhbmVsU2l6ZXModmFsOiBudW1iZXJbXSkge1xuICAgICAgICB0aGlzLl9wYW5lbFNpemVzID0gdmFsO1xuXG4gICAgICAgIGlmICh0aGlzLmVsICYmIHRoaXMuZWwubmF0aXZlRWxlbWVudCAmJiB0aGlzLnBhbmVscy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBsZXQgY2hpbGRyZW4gPSBbLi4udGhpcy5lbC5uYXRpdmVFbGVtZW50LmNoaWxkcmVuWzBdLmNoaWxkcmVuXS5maWx0ZXIoKGNoaWxkKSA9PiBoYXNDbGFzcyhjaGlsZCwgJ3Atc3BsaXR0ZXJwYW5lbCcpKTtcbiAgICAgICAgICAgIGxldCBfcGFuZWxTaXplcyA9IFtdO1xuXG4gICAgICAgICAgICB0aGlzLnBhbmVscy5tYXAoKHBhbmVsLCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IHBhbmVsSW5pdGlhbFNpemUgPSB0aGlzLnBhbmVsU2l6ZXMubGVuZ3RoIC0gMSA+PSBpID8gdGhpcy5wYW5lbFNpemVzW2ldIDogbnVsbDtcbiAgICAgICAgICAgICAgICBsZXQgcGFuZWxTaXplID0gcGFuZWxJbml0aWFsU2l6ZSB8fCAxMDAgLyB0aGlzLnBhbmVscy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgX3BhbmVsU2l6ZXNbaV0gPSBwYW5lbFNpemU7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW5baV0uc3R5bGUuZmxleEJhc2lzID0gJ2NhbGMoJyArIHBhbmVsU2l6ZSArICclIC0gJyArICh0aGlzLnBhbmVscy5sZW5ndGggLSAxKSAqIHRoaXMuZ3V0dGVyU2l6ZSArICdweCknO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gcmVzaXplIGVuZHMuXG4gICAgICogQHBhcmFtIHtTcGxpdHRlclJlc2l6ZUVuZEV2ZW50fSBldmVudCAtIEN1c3RvbSBwYW5lbCByZXNpemUgZW5kIGV2ZW50XG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uUmVzaXplRW5kOiBFdmVudEVtaXR0ZXI8U3BsaXR0ZXJSZXNpemVFbmRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFNwbGl0dGVyUmVzaXplRW5kRXZlbnQ+KCk7XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gcmVzaXplIHN0YXJ0cy5cbiAgICAgKiBAcGFyYW0ge1NwbGl0dGVyUmVzaXplU3RhcnRFdmVudH0gZXZlbnQgLSBDdXN0b20gcGFuZWwgcmVzaXplIHN0YXJ0IGV2ZW50XG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uUmVzaXplU3RhcnQ6IEV2ZW50RW1pdHRlcjxTcGxpdHRlclJlc2l6ZVN0YXJ0RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxTcGxpdHRlclJlc2l6ZVN0YXJ0RXZlbnQ+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgY29udGFpbmVyVmlld0NoaWxkOiBOdWxsYWJsZTxFbGVtZW50UmVmPjtcblxuICAgIG5lc3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcGFuZWxzOiBhbnlbXSA9IFtdO1xuXG4gICAgZHJhZ2dpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIG1vdXNlTW92ZUxpc3RlbmVyOiBWb2lkTGlzdGVuZXI7XG5cbiAgICBtb3VzZVVwTGlzdGVuZXI6IFZvaWRMaXN0ZW5lcjtcblxuICAgIHRvdWNoTW92ZUxpc3RlbmVyOiBWb2lkTGlzdGVuZXI7XG5cbiAgICB0b3VjaEVuZExpc3RlbmVyOiBWb2lkTGlzdGVuZXI7XG5cbiAgICBzaXplOiBOdWxsYWJsZTxudW1iZXI+O1xuXG4gICAgZ3V0dGVyRWxlbWVudDogTnVsbGFibGU8RWxlbWVudFJlZiB8IEhUTUxFbGVtZW50PjtcblxuICAgIHN0YXJ0UG9zOiBOdWxsYWJsZTxudW1iZXI+O1xuXG4gICAgcHJldlBhbmVsRWxlbWVudDogTnVsbGFibGU8RWxlbWVudFJlZiB8IEhUTUxFbGVtZW50PjtcblxuICAgIG5leHRQYW5lbEVsZW1lbnQ6IE51bGxhYmxlPEVsZW1lbnRSZWYgfCBIVE1MRWxlbWVudD47XG5cbiAgICBuZXh0UGFuZWxTaXplOiBOdWxsYWJsZTxudW1iZXI+O1xuXG4gICAgcHJldlBhbmVsU2l6ZTogTnVsbGFibGU8bnVtYmVyPjtcblxuICAgIF9wYW5lbFNpemVzOiBudW1iZXJbXSA9IFtdO1xuXG4gICAgcHJldlBhbmVsSW5kZXg6IE51bGxhYmxlPG51bWJlcj47XG5cbiAgICB0aW1lcjogYW55O1xuXG4gICAgcHJldlNpemU6IGFueTtcblxuICAgIF9jb21wb25lbnRTdHlsZSA9IGluamVjdChTcGxpdHRlclN0eWxlKTtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLm5lc3RlZCA9IHRoaXMuaXNOZXN0ZWQoKTtcbiAgICB9XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFByaW1lVGVtcGxhdGUpIF90ZW1wbGF0ZXMhOiBRdWVyeUxpc3Q8UHJpbWVUZW1wbGF0ZT47XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMuX3RlbXBsYXRlcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKGl0ZW0uZ2V0VHlwZSgpKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAncGFuZWwnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhbmVscy5wdXNoKGl0ZW0udGVtcGxhdGUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhbmVscy5wdXNoKGl0ZW0udGVtcGxhdGUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnBhbmVscyAmJiB0aGlzLnBhbmVscy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBsZXQgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1N0YXRlZnVsKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgaW5pdGlhbGl6ZWQgPSB0aGlzLnJlc3RvcmVTdGF0ZSgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICghaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNoaWxkcmVuID0gWy4uLnRoaXMuZWwubmF0aXZlRWxlbWVudC5jaGlsZHJlblswXS5jaGlsZHJlbl0uZmlsdGVyKChjaGlsZCkgPT4gaGFzQ2xhc3MoY2hpbGQsICdwLXNwbGl0dGVycGFuZWwnKSk7XG4gICAgICAgICAgICAgICAgICAgIGxldCBfcGFuZWxTaXplcyA9IFtdO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFuZWxzLm1hcCgocGFuZWwsIGkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBwYW5lbEluaXRpYWxTaXplID0gdGhpcy5wYW5lbFNpemVzLmxlbmd0aCAtIDEgPj0gaSA/IHRoaXMucGFuZWxTaXplc1tpXSA6IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgcGFuZWxTaXplID0gcGFuZWxJbml0aWFsU2l6ZSB8fCAxMDAgLyB0aGlzLnBhbmVscy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgICAgICBfcGFuZWxTaXplc1tpXSA9IHBhbmVsU2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuW2ldLnN0eWxlLmZsZXhCYXNpcyA9ICdjYWxjKCcgKyBwYW5lbFNpemUgKyAnJSAtICcgKyAodGhpcy5wYW5lbHMubGVuZ3RoIC0gMSkgKiAodGhpcy5ndXR0ZXJTaXplIGFzIG51bWJlcikgKyAncHgpJztcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcGFuZWxTaXplcyA9IF9wYW5lbFNpemVzO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJldlNpemUgPSBwYXJzZUZsb2F0KF9wYW5lbFNpemVzWzBdKS50b0ZpeGVkKDQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlc2l6ZVN0YXJ0KGV2ZW50OiBUb3VjaEV2ZW50IHwgTW91c2VFdmVudCwgaW5kZXg6IG51bWJlciwgaXNLZXlEb3duPzogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmd1dHRlckVsZW1lbnQgPSAoZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudCkgfHwgKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudDtcbiAgICAgICAgdGhpcy5zaXplID0gdGhpcy5ob3Jpem9udGFsKCkgPyBnZXRXaWR0aCgodGhpcy5jb250YWluZXJWaWV3Q2hpbGQgYXMgRWxlbWVudFJlZikubmF0aXZlRWxlbWVudCkgOiBnZXRIZWlnaHQoKHRoaXMuY29udGFpbmVyVmlld0NoaWxkIGFzIEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICAgIGlmICghaXNLZXlEb3duKSB7XG4gICAgICAgICAgICB0aGlzLmRyYWdnaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc3RhcnRQb3MgPSB0aGlzLmhvcml6b250YWwoKSA/IChldmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQgPyBldmVudC5wYWdlWCA6IGV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLnBhZ2VYKSA6IGV2ZW50IGluc3RhbmNlb2YgTW91c2VFdmVudCA/IGV2ZW50LnBhZ2VZIDogZXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0ucGFnZVk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByZXZQYW5lbEVsZW1lbnQgPSB0aGlzLmd1dHRlckVsZW1lbnQucHJldmlvdXNFbGVtZW50U2libGluZyBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgdGhpcy5uZXh0UGFuZWxFbGVtZW50ID0gdGhpcy5ndXR0ZXJFbGVtZW50Lm5leHRFbGVtZW50U2libGluZyBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgICBpZiAoaXNLZXlEb3duKSB7XG4gICAgICAgICAgICB0aGlzLnByZXZQYW5lbFNpemUgPSB0aGlzLmhvcml6b250YWwoKSA/IGdldE91dGVyV2lkdGgodGhpcy5wcmV2UGFuZWxFbGVtZW50LCB0cnVlKSA6IGdldE91dGVySGVpZ2h0KHRoaXMucHJldlBhbmVsRWxlbWVudCwgdHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLm5leHRQYW5lbFNpemUgPSB0aGlzLmhvcml6b250YWwoKSA/IGdldE91dGVyV2lkdGgodGhpcy5uZXh0UGFuZWxFbGVtZW50LCB0cnVlKSA6IGdldE91dGVySGVpZ2h0KHRoaXMubmV4dFBhbmVsRWxlbWVudCwgdHJ1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnByZXZQYW5lbFNpemUgPSAoMTAwICogKHRoaXMuaG9yaXpvbnRhbCgpID8gZ2V0T3V0ZXJXaWR0aCh0aGlzLnByZXZQYW5lbEVsZW1lbnQsIHRydWUpIDogZ2V0T3V0ZXJIZWlnaHQodGhpcy5wcmV2UGFuZWxFbGVtZW50LCB0cnVlKSkpIC8gdGhpcy5zaXplO1xuICAgICAgICAgICAgdGhpcy5uZXh0UGFuZWxTaXplID0gKDEwMCAqICh0aGlzLmhvcml6b250YWwoKSA/IGdldE91dGVyV2lkdGgodGhpcy5uZXh0UGFuZWxFbGVtZW50LCB0cnVlKSA6IGdldE91dGVySGVpZ2h0KHRoaXMubmV4dFBhbmVsRWxlbWVudCwgdHJ1ZSkpKSAvIHRoaXMuc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJldlBhbmVsSW5kZXggPSBpbmRleDtcbiAgICAgICAgYWRkQ2xhc3ModGhpcy5ndXR0ZXJFbGVtZW50LCAncC1zcGxpdHRlci1ndXR0ZXItcmVzaXppbmcnKTtcbiAgICAgICAgdGhpcy5ndXR0ZXJFbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1wLWd1dHRlci1yZXNpemluZycsICd0cnVlJyk7XG4gICAgICAgIGFkZENsYXNzKCh0aGlzLmNvbnRhaW5lclZpZXdDaGlsZCBhcyBFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50LCAncC1zcGxpdHRlci1yZXNpemluZycpO1xuICAgICAgICB0aGlzLmNvbnRhaW5lclZpZXdDaGlsZC5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1wLXJlc2l6aW5nJywgJ3RydWUnKTtcbiAgICAgICAgdGhpcy5vblJlc2l6ZVN0YXJ0LmVtaXQoeyBvcmlnaW5hbEV2ZW50OiBldmVudCwgc2l6ZXM6IHRoaXMuX3BhbmVsU2l6ZXMgYXMgbnVtYmVyW10gfSk7XG4gICAgfVxuXG4gICAgb25SZXNpemUoZXZlbnQ6IE1vdXNlRXZlbnQsIHN0ZXA/OiBudW1iZXIsIGlzS2V5RG93bj86IGJvb2xlYW4pIHtcbiAgICAgICAgbGV0IG5ld1BvcywgbmV3UHJldlBhbmVsU2l6ZSwgbmV3TmV4dFBhbmVsU2l6ZTtcblxuICAgICAgICBpZiAoaXNLZXlEb3duKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5ob3Jpem9udGFsKCkpIHtcbiAgICAgICAgICAgICAgICBuZXdQcmV2UGFuZWxTaXplID0gKDEwMCAqICh0aGlzLnByZXZQYW5lbFNpemUgKyBzdGVwKSkgLyB0aGlzLnNpemU7XG4gICAgICAgICAgICAgICAgbmV3TmV4dFBhbmVsU2l6ZSA9ICgxMDAgKiAodGhpcy5uZXh0UGFuZWxTaXplIC0gc3RlcCkpIC8gdGhpcy5zaXplO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdQcmV2UGFuZWxTaXplID0gKDEwMCAqICh0aGlzLnByZXZQYW5lbFNpemUgLSBzdGVwKSkgLyB0aGlzLnNpemU7XG4gICAgICAgICAgICAgICAgbmV3TmV4dFBhbmVsU2l6ZSA9ICgxMDAgKiAodGhpcy5uZXh0UGFuZWxTaXplICsgc3RlcCkpIC8gdGhpcy5zaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuaG9yaXpvbnRhbCgpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzUlRMKHRoaXMuZWwubmF0aXZlRWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3UG9zID0gKCh0aGlzLnN0YXJ0UG9zIC0gZXZlbnQucGFnZVgpICogMTAwKSAvIHRoaXMuc2l6ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBuZXdQb3MgPSAoKGV2ZW50LnBhZ2VYIC0gdGhpcy5zdGFydFBvcykgKiAxMDApIC8gdGhpcy5zaXplO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbmV3UG9zID0gKChldmVudC5wYWdlWSAtIHRoaXMuc3RhcnRQb3MpICogMTAwKSAvIHRoaXMuc2l6ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbmV3UHJldlBhbmVsU2l6ZSA9ICh0aGlzLnByZXZQYW5lbFNpemUgYXMgbnVtYmVyKSArIG5ld1BvcztcbiAgICAgICAgICAgIG5ld05leHRQYW5lbFNpemUgPSAodGhpcy5uZXh0UGFuZWxTaXplIGFzIG51bWJlcikgLSBuZXdQb3M7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByZXZTaXplID0gcGFyc2VGbG9hdChuZXdQcmV2UGFuZWxTaXplKS50b0ZpeGVkKDQpO1xuXG4gICAgICAgIGlmICh0aGlzLnZhbGlkYXRlUmVzaXplKG5ld1ByZXZQYW5lbFNpemUsIG5ld05leHRQYW5lbFNpemUpKSB7XG4gICAgICAgICAgICAodGhpcy5wcmV2UGFuZWxFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5zdHlsZS5mbGV4QmFzaXMgPSAnY2FsYygnICsgbmV3UHJldlBhbmVsU2l6ZSArICclIC0gJyArICh0aGlzLnBhbmVscy5sZW5ndGggLSAxKSAqIHRoaXMuZ3V0dGVyU2l6ZSArICdweCknO1xuICAgICAgICAgICAgKHRoaXMubmV4dFBhbmVsRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZmxleEJhc2lzID0gJ2NhbGMoJyArIG5ld05leHRQYW5lbFNpemUgKyAnJSAtICcgKyAodGhpcy5wYW5lbHMubGVuZ3RoIC0gMSkgKiB0aGlzLmd1dHRlclNpemUgKyAncHgpJztcbiAgICAgICAgICAgIHRoaXMuX3BhbmVsU2l6ZXNbdGhpcy5wcmV2UGFuZWxJbmRleCBhcyBudW1iZXJdID0gbmV3UHJldlBhbmVsU2l6ZTtcbiAgICAgICAgICAgIHRoaXMuX3BhbmVsU2l6ZXNbKHRoaXMucHJldlBhbmVsSW5kZXggYXMgbnVtYmVyKSArIDFdID0gbmV3TmV4dFBhbmVsU2l6ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlc2l6ZUVuZChldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTdGF0ZWZ1bCgpKSB7XG4gICAgICAgICAgICB0aGlzLnNhdmVTdGF0ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vblJlc2l6ZUVuZC5lbWl0KHsgb3JpZ2luYWxFdmVudDogZXZlbnQsIHNpemVzOiB0aGlzLl9wYW5lbFNpemVzIH0pO1xuICAgICAgICByZW1vdmVDbGFzcyh0aGlzLmd1dHRlckVsZW1lbnQgYXMgYW55LCAncC1zcGxpdHRlci1ndXR0ZXItcmVzaXppbmcnKTtcbiAgICAgICAgcmVtb3ZlQ2xhc3MoKHRoaXMuY29udGFpbmVyVmlld0NoaWxkIGFzIEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQsICdwLXNwbGl0dGVyLXJlc2l6aW5nJyk7XG4gICAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICB9XG5cbiAgICBvbkd1dHRlck1vdXNlRG93bihldmVudDogTW91c2VFdmVudCwgaW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLnJlc2l6ZVN0YXJ0KGV2ZW50LCBpbmRleCk7XG4gICAgICAgIHRoaXMuYmluZE1vdXNlTGlzdGVuZXJzKCk7XG4gICAgfVxuXG4gICAgb25HdXR0ZXJUb3VjaFN0YXJ0KGV2ZW50OiBUb3VjaEV2ZW50LCBpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGlmIChldmVudC5jYW5jZWxhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnJlc2l6ZVN0YXJ0KGV2ZW50LCBpbmRleCk7XG4gICAgICAgICAgICB0aGlzLmJpbmRUb3VjaExpc3RlbmVycygpO1xuXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25HdXR0ZXJUb3VjaE1vdmUoZXZlbnQpIHtcbiAgICAgICAgdGhpcy5vblJlc2l6ZShldmVudCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgb25HdXR0ZXJUb3VjaEVuZChldmVudDogVG91Y2hFdmVudCkge1xuICAgICAgICB0aGlzLnJlc2l6ZUVuZChldmVudCk7XG4gICAgICAgIHRoaXMudW5iaW5kVG91Y2hMaXN0ZW5lcnMoKTtcblxuICAgICAgICBpZiAoZXZlbnQuY2FuY2VsYWJsZSkgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICByZXBlYXQoZXZlbnQsIGluZGV4LCBzdGVwKSB7XG4gICAgICAgIHRoaXMucmVzaXplU3RhcnQoZXZlbnQsIGluZGV4LCB0cnVlKTtcbiAgICAgICAgdGhpcy5vblJlc2l6ZShldmVudCwgc3RlcCwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgc2V0VGltZXIoZXZlbnQsIGluZGV4LCBzdGVwKSB7XG4gICAgICAgIHRoaXMuY2xlYXJUaW1lcigpO1xuICAgICAgICB0aGlzLnRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlcGVhdChldmVudCwgaW5kZXgsIHN0ZXApO1xuICAgICAgICB9LCA0MCk7XG4gICAgfVxuXG4gICAgY2xlYXJUaW1lcigpIHtcbiAgICAgICAgaWYgKHRoaXMudGltZXIpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uR3V0dGVyS2V5VXAoZXZlbnQpIHtcbiAgICAgICAgdGhpcy5jbGVhclRpbWVyKCk7XG4gICAgICAgIHRoaXMucmVzaXplRW5kKGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkd1dHRlcktleURvd24oZXZlbnQsIGluZGV4KSB7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQuY29kZSkge1xuICAgICAgICAgICAgY2FzZSAnQXJyb3dMZWZ0Jzoge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmxheW91dCA9PT0gJ2hvcml6b250YWwnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0VGltZXIoZXZlbnQsIGluZGV4LCB0aGlzLnN0ZXAgKiAtMSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY2FzZSAnQXJyb3dSaWdodCc6IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5sYXlvdXQgPT09ICdob3Jpem9udGFsJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFRpbWVyKGV2ZW50LCBpbmRleCwgdGhpcy5zdGVwKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjYXNlICdBcnJvd0Rvd24nOiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubGF5b3V0ID09PSAndmVydGljYWwnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0VGltZXIoZXZlbnQsIGluZGV4LCB0aGlzLnN0ZXAgKiAtMSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY2FzZSAnQXJyb3dVcCc6IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5sYXlvdXQgPT09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRUaW1lcihldmVudCwgaW5kZXgsIHRoaXMuc3RlcCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAvL25vIG9wXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB2YWxpZGF0ZVJlc2l6ZShuZXdQcmV2UGFuZWxTaXplOiBudW1iZXIsIG5ld05leHRQYW5lbFNpemU6IG51bWJlcikge1xuICAgICAgICBpZiAodGhpcy5taW5TaXplcy5sZW5ndGggPj0gMSAmJiB0aGlzLm1pblNpemVzWzBdICYmIHRoaXMubWluU2l6ZXNbMF0gPiBuZXdQcmV2UGFuZWxTaXplKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5taW5TaXplcy5sZW5ndGggPiAxICYmIHRoaXMubWluU2l6ZXNbMV0gJiYgdGhpcy5taW5TaXplc1sxXSA+IG5ld05leHRQYW5lbFNpemUpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGJpbmRNb3VzZUxpc3RlbmVycygpIHtcbiAgICAgICAgaWYgKCF0aGlzLm1vdXNlTW92ZUxpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLm1vdXNlTW92ZUxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5kb2N1bWVudCwgJ21vdXNlbW92ZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25SZXNpemUoZXZlbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMubW91c2VVcExpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLm1vdXNlVXBMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZG9jdW1lbnQsICdtb3VzZXVwJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNpemVFbmQoZXZlbnQpO1xuICAgICAgICAgICAgICAgIHRoaXMudW5iaW5kTW91c2VMaXN0ZW5lcnMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmluZFRvdWNoTGlzdGVuZXJzKCkge1xuICAgICAgICBpZiAoIXRoaXMudG91Y2hNb3ZlTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMudG91Y2hNb3ZlTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmRvY3VtZW50LCAndG91Y2htb3ZlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vblJlc2l6ZShldmVudC5jaGFuZ2VkVG91Y2hlc1swXSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy50b3VjaEVuZExpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLnRvdWNoRW5kTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmRvY3VtZW50LCAndG91Y2hlbmQnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2l6ZUVuZChldmVudCk7XG4gICAgICAgICAgICAgICAgdGhpcy51bmJpbmRUb3VjaExpc3RlbmVycygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bmJpbmRNb3VzZUxpc3RlbmVycygpIHtcbiAgICAgICAgaWYgKHRoaXMubW91c2VNb3ZlTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMubW91c2VNb3ZlTGlzdGVuZXIoKTtcbiAgICAgICAgICAgIHRoaXMubW91c2VNb3ZlTGlzdGVuZXIgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubW91c2VVcExpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLm1vdXNlVXBMaXN0ZW5lcigpO1xuICAgICAgICAgICAgdGhpcy5tb3VzZVVwTGlzdGVuZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdW5iaW5kVG91Y2hMaXN0ZW5lcnMoKSB7XG4gICAgICAgIGlmICh0aGlzLnRvdWNoTW92ZUxpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLnRvdWNoTW92ZUxpc3RlbmVyKCk7XG4gICAgICAgICAgICB0aGlzLnRvdWNoTW92ZUxpc3RlbmVyID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnRvdWNoRW5kTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMudG91Y2hFbmRMaXN0ZW5lcigpO1xuICAgICAgICAgICAgdGhpcy50b3VjaEVuZExpc3RlbmVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNsZWFyKCkge1xuICAgICAgICB0aGlzLmRyYWdnaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2l6ZSA9IG51bGw7XG4gICAgICAgIHRoaXMuc3RhcnRQb3MgPSBudWxsO1xuICAgICAgICB0aGlzLnByZXZQYW5lbEVsZW1lbnQgPSBudWxsO1xuICAgICAgICB0aGlzLm5leHRQYW5lbEVsZW1lbnQgPSBudWxsO1xuICAgICAgICB0aGlzLnByZXZQYW5lbFNpemUgPSBudWxsO1xuICAgICAgICB0aGlzLm5leHRQYW5lbFNpemUgPSBudWxsO1xuICAgICAgICB0aGlzLmd1dHRlckVsZW1lbnQgPSBudWxsO1xuICAgICAgICB0aGlzLnByZXZQYW5lbEluZGV4ID0gbnVsbDtcbiAgICB9XG5cbiAgICBpc05lc3RlZCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgbGV0IHBhcmVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgICAgICAgICAgd2hpbGUgKHBhcmVudCAmJiAhaGFzQ2xhc3MocGFyZW50LCAncC1zcGxpdHRlcicpKSB7XG4gICAgICAgICAgICAgICAgcGFyZW50ID0gcGFyZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBwYXJlbnQgIT09IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc1N0YXRlZnVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZUtleSAhPSBudWxsO1xuICAgIH1cblxuICAgIGdldFN0b3JhZ2UoKSB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMuc3RhdGVTdG9yYWdlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnbG9jYWwnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kb2N1bWVudC5kZWZhdWx0Vmlldy5sb2NhbFN0b3JhZ2U7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdzZXNzaW9uJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXcuc2Vzc2lvblN0b3JhZ2U7XG5cbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5zdGF0ZVN0b3JhZ2UgKyAnIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB0aGUgc3RhdGUgc3RvcmFnZSwgc3VwcG9ydGVkIHZhbHVlcyBhcmUgXCJsb2NhbFwiIGFuZCBcInNlc3Npb25cIi4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignU3RvcmFnZSBpcyBub3QgYSBhdmFpbGFibGUgYnkgZGVmYXVsdCBvbiB0aGUgc2VydmVyLicpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2F2ZVN0YXRlKCkge1xuICAgICAgICB0aGlzLmdldFN0b3JhZ2UoKS5zZXRJdGVtKHRoaXMuc3RhdGVLZXkgYXMgc3RyaW5nLCBKU09OLnN0cmluZ2lmeSh0aGlzLl9wYW5lbFNpemVzKSk7XG4gICAgfVxuXG4gICAgcmVzdG9yZVN0YXRlKCkge1xuICAgICAgICBjb25zdCBzdG9yYWdlID0gdGhpcy5nZXRTdG9yYWdlKCk7XG4gICAgICAgIGNvbnN0IHN0YXRlU3RyaW5nID0gc3RvcmFnZS5nZXRJdGVtKHRoaXMuc3RhdGVLZXkgYXMgc3RyaW5nKTtcblxuICAgICAgICBpZiAoc3RhdGVTdHJpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuX3BhbmVsU2l6ZXMgPSBKU09OLnBhcnNlKHN0YXRlU3RyaW5nKTtcbiAgICAgICAgICAgIGxldCBjaGlsZHJlbiA9IFsuLi4odGhpcy5jb250YWluZXJWaWV3Q2hpbGQgYXMgRWxlbWVudFJlZikubmF0aXZlRWxlbWVudC5jaGlsZHJlbl0uZmlsdGVyKChjaGlsZCkgPT4gaGFzQ2xhc3MoY2hpbGQsICdwLXNwbGl0dGVycGFuZWwnKSk7XG4gICAgICAgICAgICBjaGlsZHJlbi5mb3JFYWNoKChjaGlsZCwgaSkgPT4ge1xuICAgICAgICAgICAgICAgIGNoaWxkLnN0eWxlLmZsZXhCYXNpcyA9ICdjYWxjKCcgKyB0aGlzLl9wYW5lbFNpemVzW2ldICsgJyUgLSAnICsgKHRoaXMucGFuZWxzLmxlbmd0aCAtIDEpICogdGhpcy5ndXR0ZXJTaXplICsgJ3B4KSc7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29udGFpbmVyQ2xhc3MoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAncC1zcGxpdHRlciBwLWNvbXBvbmVudCc6IHRydWUsXG4gICAgICAgICAgICAncC1zcGxpdHRlci1ob3Jpem9udGFsJzogdGhpcy5sYXlvdXQgPT09ICdob3Jpem9udGFsJyxcbiAgICAgICAgICAgICdwLXNwbGl0dGVyLXZlcnRpY2FsJzogdGhpcy5sYXlvdXQgPT09ICd2ZXJ0aWNhbCdcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwYW5lbENvbnRhaW5lckNsYXNzKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgJ3Atc3BsaXR0ZXJwYW5lbCc6IHRydWUsXG4gICAgICAgICAgICAncC1zcGxpdHRlcnBhbmVsLW5lc3RlZCc6IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBndXR0ZXJTdHlsZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaG9yaXpvbnRhbCgpKSByZXR1cm4geyB3aWR0aDogdGhpcy5ndXR0ZXJTaXplICsgJ3B4JyB9O1xuICAgICAgICBlbHNlIHJldHVybiB7IGhlaWdodDogdGhpcy5ndXR0ZXJTaXplICsgJ3B4JyB9O1xuICAgIH1cblxuICAgIGhvcml6b250YWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxheW91dCA9PT0gJ2hvcml6b250YWwnO1xuICAgIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbU3BsaXR0ZXIsIFNwbGl0dGVyUGFuZWwsIFNoYXJlZE1vZHVsZV0sXG4gICAgZXhwb3J0czogW1NwbGl0dGVyLCBTcGxpdHRlclBhbmVsLCBTaGFyZWRNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIFNwbGl0dGVyTW9kdWxlIHt9XG4iXX0=