primeng 15.2.1 → 15.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) hide show
  1. package/autocomplete/autocomplete.d.ts +5 -4
  2. package/badge/badge.d.ts +4 -2
  3. package/blockui/blockui.d.ts +5 -3
  4. package/button/button.d.ts +2 -1
  5. package/calendar/calendar.d.ts +9 -6
  6. package/carousel/carousel.d.ts +3 -1
  7. package/chart/chart.d.ts +3 -1
  8. package/chips/chips.d.ts +2 -1
  9. package/colorpicker/colorpicker.d.ts +4 -1
  10. package/confirmdialog/confirmdialog.d.ts +2 -1
  11. package/confirmpopup/confirmpopup.d.ts +7 -4
  12. package/contextmenu/contextmenu.d.ts +8 -6
  13. package/defer/defer.d.ts +4 -1
  14. package/dialog/dialog.d.ts +10 -7
  15. package/dom/domhandler.d.ts +1 -0
  16. package/dragdrop/dragdrop.d.ts +9 -7
  17. package/dynamicdialog/dialogservice.d.ts +2 -1
  18. package/dynamicdialog/dynamicdialog.d.ts +10 -8
  19. package/esm2020/accordion/accordion.mjs +10 -10
  20. package/esm2020/animate/animate.mjs +7 -7
  21. package/esm2020/api/confirmationservice.mjs +3 -3
  22. package/esm2020/api/contextmenuservice.mjs +3 -3
  23. package/esm2020/api/filterservice.mjs +3 -3
  24. package/esm2020/api/messageservice.mjs +3 -3
  25. package/esm2020/api/overlayservice.mjs +3 -3
  26. package/esm2020/api/primengconfig.mjs +3 -3
  27. package/esm2020/api/shared.mjs +13 -13
  28. package/esm2020/api/treedragdropservice.mjs +3 -3
  29. package/esm2020/autocomplete/autocomplete.mjs +17 -15
  30. package/esm2020/autofocus/autofocus.mjs +7 -7
  31. package/esm2020/avatar/avatar.mjs +7 -7
  32. package/esm2020/avatargroup/avatargroup.mjs +7 -7
  33. package/esm2020/badge/badge.mjs +25 -20
  34. package/esm2020/blockui/blockui.mjs +21 -17
  35. package/esm2020/breadcrumb/breadcrumb.mjs +7 -7
  36. package/esm2020/button/button.mjs +22 -18
  37. package/esm2020/calendar/calendar.mjs +35 -30
  38. package/esm2020/captcha/captcha.mjs +7 -7
  39. package/esm2020/card/card.mjs +7 -7
  40. package/esm2020/carousel/carousel.mjs +27 -19
  41. package/esm2020/cascadeselect/cascadeselect.mjs +10 -10
  42. package/esm2020/chart/chart.mjs +30 -23
  43. package/esm2020/checkbox/checkbox.mjs +7 -7
  44. package/esm2020/chip/chip.mjs +7 -7
  45. package/esm2020/chips/chips.mjs +17 -13
  46. package/esm2020/colorpicker/colorpicker.mjs +30 -20
  47. package/esm2020/confirmdialog/confirmdialog.mjs +22 -18
  48. package/esm2020/confirmpopup/confirmpopup.mjs +24 -18
  49. package/esm2020/contextmenu/contextmenu.mjs +30 -25
  50. package/esm2020/dataview/dataview.mjs +10 -10
  51. package/esm2020/defer/defer.mjs +36 -25
  52. package/esm2020/dialog/dialog.mjs +70 -57
  53. package/esm2020/divider/divider.mjs +7 -7
  54. package/esm2020/dock/dock.mjs +7 -7
  55. package/esm2020/dom/domhandler.mjs +7 -2
  56. package/esm2020/dragdrop/dragdrop.mjs +25 -27
  57. package/esm2020/dropdown/dropdown.mjs +10 -10
  58. package/esm2020/dynamicdialog/dialogservice.mjs +13 -8
  59. package/esm2020/dynamicdialog/dynamicdialog.mjs +56 -45
  60. package/esm2020/dynamicdialog/dynamicdialogcontent.mjs +3 -3
  61. package/esm2020/editor/editor.mjs +7 -7
  62. package/esm2020/fieldset/fieldset.mjs +7 -7
  63. package/esm2020/fileupload/fileupload.mjs +34 -19
  64. package/esm2020/focustrap/focustrap.mjs +7 -7
  65. package/esm2020/galleria/galleria.mjs +49 -36
  66. package/esm2020/gmap/gmap.mjs +7 -7
  67. package/esm2020/image/image.mjs +17 -13
  68. package/esm2020/inplace/inplace.mjs +13 -13
  69. package/esm2020/inputmask/inputmask.mjs +33 -20
  70. package/esm2020/inputnumber/inputnumber.mjs +17 -13
  71. package/esm2020/inputswitch/inputswitch.mjs +7 -7
  72. package/esm2020/inputtext/inputtext.mjs +7 -7
  73. package/esm2020/inputtextarea/inputtextarea.mjs +7 -7
  74. package/esm2020/keyfilter/keyfilter.mjs +27 -14
  75. package/esm2020/knob/knob.mjs +33 -26
  76. package/esm2020/lightbox/lightbox.mjs +7 -7
  77. package/esm2020/listbox/listbox.mjs +7 -7
  78. package/esm2020/megamenu/megamenu.mjs +31 -22
  79. package/esm2020/menu/menu.mjs +32 -22
  80. package/esm2020/menubar/menubar.mjs +60 -42
  81. package/esm2020/message/message.mjs +7 -7
  82. package/esm2020/messages/messages.mjs +8 -13
  83. package/esm2020/multiselect/multiselect.mjs +10 -10
  84. package/esm2020/orderlist/orderlist.mjs +55 -42
  85. package/esm2020/organizationchart/organizationchart.mjs +10 -10
  86. package/esm2020/overlay/overlay.mjs +23 -16
  87. package/esm2020/overlaypanel/overlaypanel.mjs +55 -39
  88. package/esm2020/paginator/paginator.mjs +7 -7
  89. package/esm2020/panel/panel.mjs +7 -7
  90. package/esm2020/panelmenu/panelmenu.mjs +10 -10
  91. package/esm2020/password/password.mjs +88 -63
  92. package/esm2020/picklist/picklist.mjs +65 -54
  93. package/esm2020/progressbar/progressbar.mjs +7 -7
  94. package/esm2020/progressspinner/progressspinner.mjs +7 -7
  95. package/esm2020/radiobutton/radiobutton.mjs +10 -10
  96. package/esm2020/rating/rating.mjs +7 -7
  97. package/esm2020/ripple/ripple.mjs +43 -30
  98. package/esm2020/scroller/scroller.mjs +41 -29
  99. package/esm2020/scrollpanel/scrollpanel.mjs +83 -42
  100. package/esm2020/scrolltop/scrolltop.mjs +39 -27
  101. package/esm2020/selectbutton/selectbutton.mjs +7 -7
  102. package/esm2020/sidebar/sidebar.mjs +27 -24
  103. package/esm2020/skeleton/skeleton.mjs +7 -7
  104. package/esm2020/slidemenu/slidemenu.mjs +66 -42
  105. package/esm2020/slider/slider.mjs +52 -40
  106. package/esm2020/speeddial/speeddial.mjs +41 -29
  107. package/esm2020/spinner/spinner.mjs +7 -7
  108. package/esm2020/splitbutton/splitbutton.mjs +7 -7
  109. package/esm2020/splitter/splitter.mjs +49 -38
  110. package/esm2020/steps/steps.mjs +7 -7
  111. package/esm2020/styleclass/styleclass.mjs +7 -7
  112. package/esm2020/table/table.mjs +238 -209
  113. package/esm2020/tabmenu/tabmenu.mjs +21 -15
  114. package/esm2020/tabview/tabview.mjs +24 -18
  115. package/esm2020/tag/tag.mjs +7 -7
  116. package/esm2020/terminal/terminal.mjs +7 -7
  117. package/esm2020/terminal/terminalservice.mjs +3 -3
  118. package/esm2020/tieredmenu/tieredmenu.mjs +35 -26
  119. package/esm2020/timeline/timeline.mjs +7 -7
  120. package/esm2020/toast/toast.mjs +25 -20
  121. package/esm2020/togglebutton/togglebutton.mjs +7 -7
  122. package/esm2020/toolbar/toolbar.mjs +7 -7
  123. package/esm2020/tooltip/tooltip.mjs +35 -29
  124. package/esm2020/tree/tree.mjs +10 -10
  125. package/esm2020/treeselect/treeselect.mjs +7 -7
  126. package/esm2020/treetable/treetable.mjs +183 -142
  127. package/esm2020/tristatecheckbox/tristatecheckbox.mjs +7 -7
  128. package/esm2020/virtualscroller/virtualscroller.mjs +7 -7
  129. package/fesm2015/primeng-accordion.mjs +10 -10
  130. package/fesm2015/primeng-animate.mjs +7 -7
  131. package/fesm2015/primeng-api.mjs +34 -34
  132. package/fesm2015/primeng-autocomplete.mjs +18 -14
  133. package/fesm2015/primeng-autocomplete.mjs.map +1 -1
  134. package/fesm2015/primeng-autofocus.mjs +7 -7
  135. package/fesm2015/primeng-avatar.mjs +7 -7
  136. package/fesm2015/primeng-avatargroup.mjs +7 -7
  137. package/fesm2015/primeng-badge.mjs +26 -19
  138. package/fesm2015/primeng-badge.mjs.map +1 -1
  139. package/fesm2015/primeng-blockui.mjs +22 -16
  140. package/fesm2015/primeng-blockui.mjs.map +1 -1
  141. package/fesm2015/primeng-breadcrumb.mjs +7 -7
  142. package/fesm2015/primeng-button.mjs +23 -17
  143. package/fesm2015/primeng-button.mjs.map +1 -1
  144. package/fesm2015/primeng-calendar.mjs +36 -29
  145. package/fesm2015/primeng-calendar.mjs.map +1 -1
  146. package/fesm2015/primeng-captcha.mjs +7 -7
  147. package/fesm2015/primeng-card.mjs +7 -7
  148. package/fesm2015/primeng-carousel.mjs +26 -18
  149. package/fesm2015/primeng-carousel.mjs.map +1 -1
  150. package/fesm2015/primeng-cascadeselect.mjs +10 -10
  151. package/fesm2015/primeng-chart.mjs +31 -23
  152. package/fesm2015/primeng-chart.mjs.map +1 -1
  153. package/fesm2015/primeng-checkbox.mjs +7 -7
  154. package/fesm2015/primeng-chip.mjs +7 -7
  155. package/fesm2015/primeng-chips.mjs +18 -12
  156. package/fesm2015/primeng-chips.mjs.map +1 -1
  157. package/fesm2015/primeng-colorpicker.mjs +31 -19
  158. package/fesm2015/primeng-colorpicker.mjs.map +1 -1
  159. package/fesm2015/primeng-confirmdialog.mjs +23 -17
  160. package/fesm2015/primeng-confirmdialog.mjs.map +1 -1
  161. package/fesm2015/primeng-confirmpopup.mjs +25 -17
  162. package/fesm2015/primeng-confirmpopup.mjs.map +1 -1
  163. package/fesm2015/primeng-contextmenu.mjs +31 -24
  164. package/fesm2015/primeng-contextmenu.mjs.map +1 -1
  165. package/fesm2015/primeng-dataview.mjs +10 -10
  166. package/fesm2015/primeng-defer.mjs +37 -25
  167. package/fesm2015/primeng-defer.mjs.map +1 -1
  168. package/fesm2015/primeng-dialog.mjs +71 -56
  169. package/fesm2015/primeng-dialog.mjs.map +1 -1
  170. package/fesm2015/primeng-divider.mjs +7 -7
  171. package/fesm2015/primeng-dock.mjs +7 -7
  172. package/fesm2015/primeng-dom.mjs +6 -1
  173. package/fesm2015/primeng-dom.mjs.map +1 -1
  174. package/fesm2015/primeng-dragdrop.mjs +24 -26
  175. package/fesm2015/primeng-dragdrop.mjs.map +1 -1
  176. package/fesm2015/primeng-dropdown.mjs +10 -10
  177. package/fesm2015/primeng-dynamicdialog.mjs +72 -53
  178. package/fesm2015/primeng-dynamicdialog.mjs.map +1 -1
  179. package/fesm2015/primeng-editor.mjs +7 -7
  180. package/fesm2015/primeng-fieldset.mjs +7 -7
  181. package/fesm2015/primeng-fileupload.mjs +35 -18
  182. package/fesm2015/primeng-fileupload.mjs.map +1 -1
  183. package/fesm2015/primeng-focustrap.mjs +7 -7
  184. package/fesm2015/primeng-galleria.mjs +52 -35
  185. package/fesm2015/primeng-galleria.mjs.map +1 -1
  186. package/fesm2015/primeng-gmap.mjs +7 -7
  187. package/fesm2015/primeng-image.mjs +18 -12
  188. package/fesm2015/primeng-image.mjs.map +1 -1
  189. package/fesm2015/primeng-inplace.mjs +13 -13
  190. package/fesm2015/primeng-inputmask.mjs +34 -20
  191. package/fesm2015/primeng-inputmask.mjs.map +1 -1
  192. package/fesm2015/primeng-inputnumber.mjs +18 -12
  193. package/fesm2015/primeng-inputnumber.mjs.map +1 -1
  194. package/fesm2015/primeng-inputswitch.mjs +7 -7
  195. package/fesm2015/primeng-inputtext.mjs +7 -7
  196. package/fesm2015/primeng-inputtextarea.mjs +7 -7
  197. package/fesm2015/primeng-keyfilter.mjs +28 -13
  198. package/fesm2015/primeng-keyfilter.mjs.map +1 -1
  199. package/fesm2015/primeng-knob.mjs +34 -26
  200. package/fesm2015/primeng-knob.mjs.map +1 -1
  201. package/fesm2015/primeng-lightbox.mjs +7 -7
  202. package/fesm2015/primeng-listbox.mjs +7 -7
  203. package/fesm2015/primeng-megamenu.mjs +32 -21
  204. package/fesm2015/primeng-megamenu.mjs.map +1 -1
  205. package/fesm2015/primeng-menu.mjs +33 -21
  206. package/fesm2015/primeng-menu.mjs.map +1 -1
  207. package/fesm2015/primeng-menubar.mjs +63 -41
  208. package/fesm2015/primeng-menubar.mjs.map +1 -1
  209. package/fesm2015/primeng-message.mjs +7 -7
  210. package/fesm2015/primeng-messages.mjs +7 -12
  211. package/fesm2015/primeng-messages.mjs.map +1 -1
  212. package/fesm2015/primeng-multiselect.mjs +10 -10
  213. package/fesm2015/primeng-orderlist.mjs +56 -41
  214. package/fesm2015/primeng-orderlist.mjs.map +1 -1
  215. package/fesm2015/primeng-organizationchart.mjs +10 -10
  216. package/fesm2015/primeng-overlay.mjs +22 -15
  217. package/fesm2015/primeng-overlay.mjs.map +1 -1
  218. package/fesm2015/primeng-overlaypanel.mjs +56 -38
  219. package/fesm2015/primeng-overlaypanel.mjs.map +1 -1
  220. package/fesm2015/primeng-paginator.mjs +7 -7
  221. package/fesm2015/primeng-panel.mjs +7 -7
  222. package/fesm2015/primeng-panelmenu.mjs +10 -10
  223. package/fesm2015/primeng-password.mjs +91 -62
  224. package/fesm2015/primeng-password.mjs.map +1 -1
  225. package/fesm2015/primeng-picklist.mjs +66 -53
  226. package/fesm2015/primeng-picklist.mjs.map +1 -1
  227. package/fesm2015/primeng-progressbar.mjs +7 -7
  228. package/fesm2015/primeng-progressspinner.mjs +7 -7
  229. package/fesm2015/primeng-radiobutton.mjs +10 -10
  230. package/fesm2015/primeng-rating.mjs +7 -7
  231. package/fesm2015/primeng-ripple.mjs +42 -29
  232. package/fesm2015/primeng-ripple.mjs.map +1 -1
  233. package/fesm2015/primeng-scroller.mjs +42 -28
  234. package/fesm2015/primeng-scroller.mjs.map +1 -1
  235. package/fesm2015/primeng-scrollpanel.mjs +84 -41
  236. package/fesm2015/primeng-scrollpanel.mjs.map +1 -1
  237. package/fesm2015/primeng-scrolltop.mjs +40 -26
  238. package/fesm2015/primeng-scrolltop.mjs.map +1 -1
  239. package/fesm2015/primeng-selectbutton.mjs +7 -7
  240. package/fesm2015/primeng-sidebar.mjs +28 -24
  241. package/fesm2015/primeng-sidebar.mjs.map +1 -1
  242. package/fesm2015/primeng-skeleton.mjs +7 -7
  243. package/fesm2015/primeng-slidemenu.mjs +67 -41
  244. package/fesm2015/primeng-slidemenu.mjs.map +1 -1
  245. package/fesm2015/primeng-slider.mjs +53 -39
  246. package/fesm2015/primeng-slider.mjs.map +1 -1
  247. package/fesm2015/primeng-speeddial.mjs +42 -29
  248. package/fesm2015/primeng-speeddial.mjs.map +1 -1
  249. package/fesm2015/primeng-spinner.mjs +7 -7
  250. package/fesm2015/primeng-splitbutton.mjs +7 -7
  251. package/fesm2015/primeng-splitter.mjs +50 -37
  252. package/fesm2015/primeng-splitter.mjs.map +1 -1
  253. package/fesm2015/primeng-steps.mjs +7 -7
  254. package/fesm2015/primeng-styleclass.mjs +7 -7
  255. package/fesm2015/primeng-table.mjs +245 -208
  256. package/fesm2015/primeng-table.mjs.map +1 -1
  257. package/fesm2015/primeng-tabmenu.mjs +22 -15
  258. package/fesm2015/primeng-tabmenu.mjs.map +1 -1
  259. package/fesm2015/primeng-tabview.mjs +25 -18
  260. package/fesm2015/primeng-tabview.mjs.map +1 -1
  261. package/fesm2015/primeng-tag.mjs +7 -7
  262. package/fesm2015/primeng-terminal.mjs +10 -10
  263. package/fesm2015/primeng-tieredmenu.mjs +38 -25
  264. package/fesm2015/primeng-tieredmenu.mjs.map +1 -1
  265. package/fesm2015/primeng-timeline.mjs +7 -7
  266. package/fesm2015/primeng-toast.mjs +26 -19
  267. package/fesm2015/primeng-toast.mjs.map +1 -1
  268. package/fesm2015/primeng-togglebutton.mjs +7 -7
  269. package/fesm2015/primeng-toolbar.mjs +7 -7
  270. package/fesm2015/primeng-tooltip.mjs +36 -28
  271. package/fesm2015/primeng-tooltip.mjs.map +1 -1
  272. package/fesm2015/primeng-tree.mjs +10 -10
  273. package/fesm2015/primeng-treeselect.mjs +7 -7
  274. package/fesm2015/primeng-treetable.mjs +190 -142
  275. package/fesm2015/primeng-treetable.mjs.map +1 -1
  276. package/fesm2015/primeng-tristatecheckbox.mjs +7 -7
  277. package/fesm2015/primeng-virtualscroller.mjs +7 -7
  278. package/fesm2020/primeng-accordion.mjs +10 -10
  279. package/fesm2020/primeng-animate.mjs +7 -7
  280. package/fesm2020/primeng-api.mjs +34 -34
  281. package/fesm2020/primeng-autocomplete.mjs +16 -14
  282. package/fesm2020/primeng-autocomplete.mjs.map +1 -1
  283. package/fesm2020/primeng-autofocus.mjs +7 -7
  284. package/fesm2020/primeng-avatar.mjs +7 -7
  285. package/fesm2020/primeng-avatargroup.mjs +7 -7
  286. package/fesm2020/primeng-badge.mjs +24 -19
  287. package/fesm2020/primeng-badge.mjs.map +1 -1
  288. package/fesm2020/primeng-blockui.mjs +20 -16
  289. package/fesm2020/primeng-blockui.mjs.map +1 -1
  290. package/fesm2020/primeng-breadcrumb.mjs +7 -7
  291. package/fesm2020/primeng-button.mjs +21 -17
  292. package/fesm2020/primeng-button.mjs.map +1 -1
  293. package/fesm2020/primeng-calendar.mjs +34 -29
  294. package/fesm2020/primeng-calendar.mjs.map +1 -1
  295. package/fesm2020/primeng-captcha.mjs +7 -7
  296. package/fesm2020/primeng-card.mjs +7 -7
  297. package/fesm2020/primeng-carousel.mjs +26 -18
  298. package/fesm2020/primeng-carousel.mjs.map +1 -1
  299. package/fesm2020/primeng-cascadeselect.mjs +10 -10
  300. package/fesm2020/primeng-chart.mjs +29 -23
  301. package/fesm2020/primeng-chart.mjs.map +1 -1
  302. package/fesm2020/primeng-checkbox.mjs +7 -7
  303. package/fesm2020/primeng-chip.mjs +7 -7
  304. package/fesm2020/primeng-chips.mjs +16 -12
  305. package/fesm2020/primeng-chips.mjs.map +1 -1
  306. package/fesm2020/primeng-colorpicker.mjs +29 -19
  307. package/fesm2020/primeng-colorpicker.mjs.map +1 -1
  308. package/fesm2020/primeng-confirmdialog.mjs +21 -17
  309. package/fesm2020/primeng-confirmdialog.mjs.map +1 -1
  310. package/fesm2020/primeng-confirmpopup.mjs +23 -17
  311. package/fesm2020/primeng-confirmpopup.mjs.map +1 -1
  312. package/fesm2020/primeng-contextmenu.mjs +29 -24
  313. package/fesm2020/primeng-contextmenu.mjs.map +1 -1
  314. package/fesm2020/primeng-dataview.mjs +10 -10
  315. package/fesm2020/primeng-defer.mjs +35 -25
  316. package/fesm2020/primeng-defer.mjs.map +1 -1
  317. package/fesm2020/primeng-dialog.mjs +69 -56
  318. package/fesm2020/primeng-dialog.mjs.map +1 -1
  319. package/fesm2020/primeng-divider.mjs +7 -7
  320. package/fesm2020/primeng-dock.mjs +7 -7
  321. package/fesm2020/primeng-dom.mjs +6 -1
  322. package/fesm2020/primeng-dom.mjs.map +1 -1
  323. package/fesm2020/primeng-dragdrop.mjs +24 -26
  324. package/fesm2020/primeng-dragdrop.mjs.map +1 -1
  325. package/fesm2020/primeng-dropdown.mjs +10 -10
  326. package/fesm2020/primeng-dynamicdialog.mjs +68 -53
  327. package/fesm2020/primeng-dynamicdialog.mjs.map +1 -1
  328. package/fesm2020/primeng-editor.mjs +7 -7
  329. package/fesm2020/primeng-fieldset.mjs +7 -7
  330. package/fesm2020/primeng-fileupload.mjs +33 -18
  331. package/fesm2020/primeng-fileupload.mjs.map +1 -1
  332. package/fesm2020/primeng-focustrap.mjs +7 -7
  333. package/fesm2020/primeng-galleria.mjs +48 -35
  334. package/fesm2020/primeng-galleria.mjs.map +1 -1
  335. package/fesm2020/primeng-gmap.mjs +7 -7
  336. package/fesm2020/primeng-image.mjs +16 -12
  337. package/fesm2020/primeng-image.mjs.map +1 -1
  338. package/fesm2020/primeng-inplace.mjs +13 -13
  339. package/fesm2020/primeng-inputmask.mjs +32 -20
  340. package/fesm2020/primeng-inputmask.mjs.map +1 -1
  341. package/fesm2020/primeng-inputnumber.mjs +16 -12
  342. package/fesm2020/primeng-inputnumber.mjs.map +1 -1
  343. package/fesm2020/primeng-inputswitch.mjs +7 -7
  344. package/fesm2020/primeng-inputtext.mjs +7 -7
  345. package/fesm2020/primeng-inputtextarea.mjs +7 -7
  346. package/fesm2020/primeng-keyfilter.mjs +26 -13
  347. package/fesm2020/primeng-keyfilter.mjs.map +1 -1
  348. package/fesm2020/primeng-knob.mjs +32 -26
  349. package/fesm2020/primeng-knob.mjs.map +1 -1
  350. package/fesm2020/primeng-lightbox.mjs +7 -7
  351. package/fesm2020/primeng-listbox.mjs +7 -7
  352. package/fesm2020/primeng-megamenu.mjs +30 -21
  353. package/fesm2020/primeng-megamenu.mjs.map +1 -1
  354. package/fesm2020/primeng-menu.mjs +31 -21
  355. package/fesm2020/primeng-menu.mjs.map +1 -1
  356. package/fesm2020/primeng-menubar.mjs +59 -41
  357. package/fesm2020/primeng-menubar.mjs.map +1 -1
  358. package/fesm2020/primeng-message.mjs +7 -7
  359. package/fesm2020/primeng-messages.mjs +7 -12
  360. package/fesm2020/primeng-messages.mjs.map +1 -1
  361. package/fesm2020/primeng-multiselect.mjs +10 -10
  362. package/fesm2020/primeng-orderlist.mjs +54 -41
  363. package/fesm2020/primeng-orderlist.mjs.map +1 -1
  364. package/fesm2020/primeng-organizationchart.mjs +10 -10
  365. package/fesm2020/primeng-overlay.mjs +22 -15
  366. package/fesm2020/primeng-overlay.mjs.map +1 -1
  367. package/fesm2020/primeng-overlaypanel.mjs +54 -38
  368. package/fesm2020/primeng-overlaypanel.mjs.map +1 -1
  369. package/fesm2020/primeng-paginator.mjs +7 -7
  370. package/fesm2020/primeng-panel.mjs +7 -7
  371. package/fesm2020/primeng-panelmenu.mjs +10 -10
  372. package/fesm2020/primeng-password.mjs +87 -62
  373. package/fesm2020/primeng-password.mjs.map +1 -1
  374. package/fesm2020/primeng-picklist.mjs +64 -53
  375. package/fesm2020/primeng-picklist.mjs.map +1 -1
  376. package/fesm2020/primeng-progressbar.mjs +7 -7
  377. package/fesm2020/primeng-progressspinner.mjs +7 -7
  378. package/fesm2020/primeng-radiobutton.mjs +10 -10
  379. package/fesm2020/primeng-rating.mjs +7 -7
  380. package/fesm2020/primeng-ripple.mjs +42 -29
  381. package/fesm2020/primeng-ripple.mjs.map +1 -1
  382. package/fesm2020/primeng-scroller.mjs +40 -28
  383. package/fesm2020/primeng-scroller.mjs.map +1 -1
  384. package/fesm2020/primeng-scrollpanel.mjs +82 -41
  385. package/fesm2020/primeng-scrollpanel.mjs.map +1 -1
  386. package/fesm2020/primeng-scrolltop.mjs +38 -26
  387. package/fesm2020/primeng-scrolltop.mjs.map +1 -1
  388. package/fesm2020/primeng-selectbutton.mjs +7 -7
  389. package/fesm2020/primeng-sidebar.mjs +26 -24
  390. package/fesm2020/primeng-sidebar.mjs.map +1 -1
  391. package/fesm2020/primeng-skeleton.mjs +7 -7
  392. package/fesm2020/primeng-slidemenu.mjs +65 -41
  393. package/fesm2020/primeng-slidemenu.mjs.map +1 -1
  394. package/fesm2020/primeng-slider.mjs +51 -39
  395. package/fesm2020/primeng-slider.mjs.map +1 -1
  396. package/fesm2020/primeng-speeddial.mjs +40 -29
  397. package/fesm2020/primeng-speeddial.mjs.map +1 -1
  398. package/fesm2020/primeng-spinner.mjs +7 -7
  399. package/fesm2020/primeng-splitbutton.mjs +7 -7
  400. package/fesm2020/primeng-splitter.mjs +48 -37
  401. package/fesm2020/primeng-splitter.mjs.map +1 -1
  402. package/fesm2020/primeng-steps.mjs +7 -7
  403. package/fesm2020/primeng-styleclass.mjs +7 -7
  404. package/fesm2020/primeng-table.mjs +237 -208
  405. package/fesm2020/primeng-table.mjs.map +1 -1
  406. package/fesm2020/primeng-tabmenu.mjs +20 -15
  407. package/fesm2020/primeng-tabmenu.mjs.map +1 -1
  408. package/fesm2020/primeng-tabview.mjs +23 -18
  409. package/fesm2020/primeng-tabview.mjs.map +1 -1
  410. package/fesm2020/primeng-tag.mjs +7 -7
  411. package/fesm2020/primeng-terminal.mjs +10 -10
  412. package/fesm2020/primeng-tieredmenu.mjs +34 -25
  413. package/fesm2020/primeng-tieredmenu.mjs.map +1 -1
  414. package/fesm2020/primeng-timeline.mjs +7 -7
  415. package/fesm2020/primeng-toast.mjs +24 -19
  416. package/fesm2020/primeng-toast.mjs.map +1 -1
  417. package/fesm2020/primeng-togglebutton.mjs +7 -7
  418. package/fesm2020/primeng-toolbar.mjs +7 -7
  419. package/fesm2020/primeng-tooltip.mjs +34 -28
  420. package/fesm2020/primeng-tooltip.mjs.map +1 -1
  421. package/fesm2020/primeng-tree.mjs +10 -10
  422. package/fesm2020/primeng-treeselect.mjs +7 -7
  423. package/fesm2020/primeng-treetable.mjs +182 -142
  424. package/fesm2020/primeng-treetable.mjs.map +1 -1
  425. package/fesm2020/primeng-tristatecheckbox.mjs +7 -7
  426. package/fesm2020/primeng-virtualscroller.mjs +7 -7
  427. package/fileupload/fileupload.d.ts +6 -2
  428. package/galleria/galleria.d.ts +8 -4
  429. package/image/image.d.ts +2 -1
  430. package/inputmask/inputmask.d.ts +3 -1
  431. package/inputnumber/inputnumber.d.ts +2 -1
  432. package/keyfilter/keyfilter.d.ts +3 -1
  433. package/knob/knob.d.ts +8 -6
  434. package/megamenu/megamenu.d.ts +4 -2
  435. package/menu/menu.d.ts +7 -4
  436. package/menubar/menubar.d.ts +8 -4
  437. package/orderlist/orderlist.d.ts +5 -2
  438. package/overlay/overlay.d.ts +3 -3
  439. package/overlaypanel/overlaypanel.d.ts +8 -5
  440. package/package.json +1 -1
  441. package/password/password.d.ts +14 -9
  442. package/picklist/picklist.d.ts +5 -2
  443. package/resources/components/autocomplete/autocomplete.css +1 -1
  444. package/resources/components/sidebar/sidebar.css +1 -0
  445. package/ripple/ripple.d.ts +8 -5
  446. package/scroller/scroller.d.ts +6 -3
  447. package/scrollpanel/scrollpanel.d.ts +15 -2
  448. package/scrolltop/scrolltop.d.ts +8 -3
  449. package/sidebar/sidebar.d.ts +5 -4
  450. package/slidemenu/slidemenu.d.ts +13 -6
  451. package/slider/slider.d.ts +5 -3
  452. package/speeddial/speeddial.d.ts +5 -2
  453. package/splitter/splitter.d.ts +10 -6
  454. package/table/table.d.ts +35 -22
  455. package/tabmenu/tabmenu.d.ts +2 -1
  456. package/tabview/tabview.d.ts +2 -1
  457. package/tieredmenu/tieredmenu.d.ts +10 -6
  458. package/toast/toast.d.ts +4 -2
  459. package/tooltip/tooltip.d.ts +2 -1
  460. package/treetable/treetable.d.ts +27 -17
@@ -9,8 +9,8 @@ export class ProgressBar {
9
9
  this.mode = 'determinate';
10
10
  }
11
11
  }
12
- ProgressBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ProgressBar, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
- ProgressBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ProgressBar, selector: "p-progressBar", inputs: { value: "value", showValue: "showValue", style: "style", styleClass: "styleClass", unit: "unit", mode: "mode", color: "color" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
12
+ ProgressBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ProgressBar, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
+ ProgressBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: ProgressBar, selector: "p-progressBar", inputs: { value: "value", showValue: "showValue", style: "style", styleClass: "styleClass", unit: "unit", mode: "mode", color: "color" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
14
14
  <div
15
15
  [class]="styleClass"
16
16
  [ngStyle]="style"
@@ -28,7 +28,7 @@ ProgressBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
28
28
  </div>
29
29
  </div>
30
30
  `, isInline: true, styles: [".p-progressbar{position:relative;overflow:hidden}.p-progressbar-determinate .p-progressbar-value{height:100%;width:0%;position:absolute;display:none;border:0 none;display:flex;align-items:center;justify-content:center;overflow:hidden}.p-progressbar-determinate .p-progressbar-label{display:inline-flex}.p-progressbar-determinate .p-progressbar-value-animate{transition:width 1s ease-in-out}.p-progressbar-indeterminate .p-progressbar-value:before{content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:p-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.p-progressbar-indeterminate .p-progressbar-value:after{content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:p-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation-delay:1.15s}@keyframes p-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes p-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ProgressBar, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ProgressBar, decorators: [{
32
32
  type: Component,
33
33
  args: [{ selector: 'p-progressBar', template: `
34
34
  <div
@@ -67,10 +67,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
67
67
  }] } });
68
68
  export class ProgressBarModule {
69
69
  }
70
- ProgressBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
71
- ProgressBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.2", ngImport: i0, type: ProgressBarModule, declarations: [ProgressBar], imports: [CommonModule], exports: [ProgressBar] });
72
- ProgressBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ProgressBarModule, imports: [CommonModule] });
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ProgressBarModule, decorators: [{
70
+ ProgressBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
71
+ ProgressBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: ProgressBarModule, declarations: [ProgressBar], imports: [CommonModule], exports: [ProgressBar] });
72
+ ProgressBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ProgressBarModule, imports: [CommonModule] });
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ProgressBarModule, decorators: [{
74
74
  type: NgModule,
75
75
  args: [{
76
76
  imports: [CommonModule],
@@ -9,15 +9,15 @@ export class ProgressSpinner {
9
9
  this.animationDuration = '2s';
10
10
  }
11
11
  }
12
- ProgressSpinner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ProgressSpinner, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
- ProgressSpinner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ProgressSpinner, selector: "p-progressSpinner", inputs: { style: "style", styleClass: "styleClass", strokeWidth: "strokeWidth", fill: "fill", animationDuration: "animationDuration" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
12
+ ProgressSpinner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ProgressSpinner, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
+ ProgressSpinner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: ProgressSpinner, selector: "p-progressSpinner", inputs: { style: "style", styleClass: "styleClass", strokeWidth: "strokeWidth", fill: "fill", animationDuration: "animationDuration" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
14
14
  <div class="p-progress-spinner" [ngStyle]="style" [ngClass]="styleClass" role="alert" aria-busy="true">
15
15
  <svg class="p-progress-spinner-svg" viewBox="25 25 50 50" [style.animation-duration]="animationDuration">
16
16
  <circle class="p-progress-spinner-circle" cx="50" cy="50" r="20" [attr.fill]="fill" [attr.stroke-width]="strokeWidth" stroke-miterlimit="10" />
17
17
  </svg>
18
18
  </div>
19
19
  `, isInline: true, styles: [".p-progress-spinner{position:relative;margin:0 auto;width:100px;height:100px;display:inline-block}.p-progress-spinner:before{content:\"\";display:block;padding-top:100%}.p-progress-spinner-svg{animation:p-progress-spinner-rotate 2s linear infinite;height:100%;transform-origin:center center;width:100%;position:absolute;inset:0;margin:auto}.p-progress-spinner-circle{stroke-dasharray:89,200;stroke-dashoffset:0;stroke:#d62d20;animation:p-progress-spinner-dash 1.5s ease-in-out infinite,p-progress-spinner-color 6s ease-in-out infinite;stroke-linecap:round}@keyframes p-progress-spinner-rotate{to{transform:rotate(360deg)}}@keyframes p-progress-spinner-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}@keyframes p-progress-spinner-color{to,0%{stroke:#d62d20}40%{stroke:#0057e7}66%{stroke:#008744}80%,90%{stroke:#ffa700}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ProgressSpinner, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ProgressSpinner, decorators: [{
21
21
  type: Component,
22
22
  args: [{ selector: 'p-progressSpinner', template: `
23
23
  <div class="p-progress-spinner" [ngStyle]="style" [ngClass]="styleClass" role="alert" aria-busy="true">
@@ -41,10 +41,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
41
41
  }] } });
42
42
  export class ProgressSpinnerModule {
43
43
  }
44
- ProgressSpinnerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ProgressSpinnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
45
- ProgressSpinnerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.2", ngImport: i0, type: ProgressSpinnerModule, declarations: [ProgressSpinner], imports: [CommonModule], exports: [ProgressSpinner] });
46
- ProgressSpinnerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ProgressSpinnerModule, imports: [CommonModule] });
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ProgressSpinnerModule, decorators: [{
44
+ ProgressSpinnerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ProgressSpinnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
45
+ ProgressSpinnerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: ProgressSpinnerModule, declarations: [ProgressSpinner], imports: [CommonModule], exports: [ProgressSpinner] });
46
+ ProgressSpinnerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ProgressSpinnerModule, imports: [CommonModule] });
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ProgressSpinnerModule, decorators: [{
48
48
  type: NgModule,
49
49
  args: [{
50
50
  imports: [CommonModule],
@@ -34,9 +34,9 @@ export class RadioControlRegistry {
34
34
  return controlPair[0].control.root === accessor.control.control.root && controlPair[1].name === accessor.name;
35
35
  }
36
36
  }
37
- RadioControlRegistry.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: RadioControlRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
38
- RadioControlRegistry.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: RadioControlRegistry, providedIn: 'root' });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: RadioControlRegistry, decorators: [{
37
+ RadioControlRegistry.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RadioControlRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
38
+ RadioControlRegistry.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RadioControlRegistry, providedIn: 'root' });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RadioControlRegistry, decorators: [{
40
40
  type: Injectable,
41
41
  args: [{
42
42
  providedIn: 'root'
@@ -127,8 +127,8 @@ export class RadioButton {
127
127
  `);
128
128
  }
129
129
  }
130
- RadioButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: RadioButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: RadioControlRegistry }], target: i0.ɵɵFactoryTarget.Component });
131
- RadioButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: RadioButton, selector: "p-radioButton", inputs: { value: "value", formControlName: "formControlName", name: "name", disabled: "disabled", label: "label", tabindex: "tabindex", inputId: "inputId", ariaLabelledBy: "ariaLabelledBy", ariaLabel: "ariaLabel", style: "style", styleClass: "styleClass", labelStyleClass: "labelStyleClass" }, outputs: { onClick: "onClick", onFocus: "onFocus", onBlur: "onBlur" }, host: { classAttribute: "p-element" }, providers: [RADIO_VALUE_ACCESSOR], viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["rb"], descendants: true }], ngImport: i0, template: `
130
+ RadioButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RadioButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: RadioControlRegistry }], target: i0.ɵɵFactoryTarget.Component });
131
+ RadioButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: RadioButton, selector: "p-radioButton", inputs: { value: "value", formControlName: "formControlName", name: "name", disabled: "disabled", label: "label", tabindex: "tabindex", inputId: "inputId", ariaLabelledBy: "ariaLabelledBy", ariaLabel: "ariaLabel", style: "style", styleClass: "styleClass", labelStyleClass: "labelStyleClass" }, outputs: { onClick: "onClick", onFocus: "onFocus", onBlur: "onBlur" }, host: { classAttribute: "p-element" }, providers: [RADIO_VALUE_ACCESSOR], viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["rb"], descendants: true }], ngImport: i0, template: `
132
132
  <div [ngStyle]="style" [ngClass]="{ 'p-radiobutton p-component': true, 'p-radiobutton-checked': checked, 'p-radiobutton-disabled': disabled, 'p-radiobutton-focused': focused }" [class]="styleClass">
133
133
  <div class="p-hidden-accessible">
134
134
  <input
@@ -161,7 +161,7 @@ RadioButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
161
161
  >{{ label }}</label
162
162
  >
163
163
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: RadioButton, decorators: [{
164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RadioButton, decorators: [{
165
165
  type: Component,
166
166
  args: [{
167
167
  selector: 'p-radioButton',
@@ -240,10 +240,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
240
240
  }] } });
241
241
  export class RadioButtonModule {
242
242
  }
243
- RadioButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: RadioButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
244
- RadioButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.2", ngImport: i0, type: RadioButtonModule, declarations: [RadioButton], imports: [CommonModule], exports: [RadioButton] });
245
- RadioButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: RadioButtonModule, imports: [CommonModule] });
246
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: RadioButtonModule, decorators: [{
243
+ RadioButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RadioButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
244
+ RadioButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: RadioButtonModule, declarations: [RadioButton], imports: [CommonModule], exports: [RadioButton] });
245
+ RadioButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RadioButtonModule, imports: [CommonModule] });
246
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RadioButtonModule, decorators: [{
247
247
  type: NgModule,
248
248
  args: [{
249
249
  imports: [CommonModule],
@@ -86,8 +86,8 @@ export class Rating {
86
86
  return this.templates && this.templates.length > 0;
87
87
  }
88
88
  }
89
- Rating.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: Rating, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
90
- Rating.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: Rating, selector: "p-rating", inputs: { isCustomCancelIcon: "isCustomCancelIcon", index: "index", disabled: "disabled", readonly: "readonly", stars: "stars", cancel: "cancel", iconOnClass: "iconOnClass", iconOnStyle: "iconOnStyle", iconOffClass: "iconOffClass", iconOffStyle: "iconOffStyle", iconCancelClass: "iconCancelClass", iconCancelStyle: "iconCancelStyle" }, outputs: { onRate: "onRate", onCancel: "onCancel" }, host: { classAttribute: "p-element" }, providers: [RATING_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], ngImport: i0, template: `
89
+ Rating.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: Rating, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
90
+ Rating.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: Rating, selector: "p-rating", inputs: { isCustomCancelIcon: "isCustomCancelIcon", index: "index", disabled: "disabled", readonly: "readonly", stars: "stars", cancel: "cancel", iconOnClass: "iconOnClass", iconOnStyle: "iconOnStyle", iconOffClass: "iconOffClass", iconOffStyle: "iconOffStyle", iconCancelClass: "iconCancelClass", iconCancelStyle: "iconCancelStyle" }, outputs: { onRate: "onRate", onCancel: "onCancel" }, host: { classAttribute: "p-element" }, providers: [RATING_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], ngImport: i0, template: `
91
91
  <div class="p-rating" [ngClass]="{ 'p-readonly': readonly, 'p-disabled': disabled }">
92
92
  <ng-container *ngIf="!isCustomIcon; else customTemplate">
93
93
  <span *ngIf="cancel" [attr.tabindex]="disabled || readonly ? null : '0'" (click)="clear($event)" (keydown.enter)="clear($event)" class="p-rating-icon p-rating-cancel" [ngClass]="iconCancelClass" [ngStyle]="iconCancelStyle"></span>
@@ -112,7 +112,7 @@ Rating.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
112
112
  </ng-template>
113
113
  </div>
114
114
  `, isInline: true, styles: [".p-rating-icon{cursor:pointer;display:inline-flex}.p-rating.p-rating-readonly .p-rating-icon{cursor:default}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: Rating, decorators: [{
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: Rating, decorators: [{
116
116
  type: Component,
117
117
  args: [{ selector: 'p-rating', template: `
118
118
  <div class="p-rating" [ngClass]="{ 'p-readonly': readonly, 'p-disabled': disabled }">
@@ -175,10 +175,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
175
175
  }] } });
176
176
  export class RatingModule {
177
177
  }
178
- RatingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: RatingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
179
- RatingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.2", ngImport: i0, type: RatingModule, declarations: [Rating], imports: [CommonModule], exports: [Rating, SharedModule] });
180
- RatingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: RatingModule, imports: [CommonModule, SharedModule] });
181
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: RatingModule, decorators: [{
178
+ RatingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RatingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
179
+ RatingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: RatingModule, declarations: [Rating], imports: [CommonModule], exports: [Rating, SharedModule] });
180
+ RatingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RatingModule, imports: [CommonModule, SharedModule] });
181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RatingModule, decorators: [{
182
182
  type: NgModule,
183
183
  args: [{
184
184
  imports: [CommonModule],
@@ -1,26 +1,30 @@
1
- import { NgModule, Directive, Optional } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
1
+ import { NgModule, Directive, Optional, Inject, PLATFORM_ID } from '@angular/core';
2
+ import { CommonModule, DOCUMENT, isPlatformBrowser } from '@angular/common';
3
3
  import { DomHandler } from 'primeng/dom';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "primeng/api";
6
6
  export class Ripple {
7
- constructor(el, zone, config) {
7
+ constructor(document, platformId, renderer, el, zone, config) {
8
+ this.document = document;
9
+ this.platformId = platformId;
10
+ this.renderer = renderer;
8
11
  this.el = el;
9
12
  this.zone = zone;
10
13
  this.config = config;
11
14
  }
12
15
  ngAfterViewInit() {
13
- if (this.config && this.config.ripple) {
14
- this.zone.runOutsideAngular(() => {
15
- this.create();
16
- this.mouseDownListener = this.onMouseDown.bind(this);
17
- this.el.nativeElement.addEventListener('mousedown', this.mouseDownListener);
18
- });
16
+ if (isPlatformBrowser(this.platformId)) {
17
+ if (this.config && this.config.ripple) {
18
+ this.zone.runOutsideAngular(() => {
19
+ this.create();
20
+ this.mouseDownListener = this.renderer.listen(this.el.nativeElement, 'mousedown', this.onMouseDown.bind(this));
21
+ });
22
+ }
19
23
  }
20
24
  }
21
25
  onMouseDown(event) {
22
26
  let ink = this.getInk();
23
- if (!ink || getComputedStyle(ink, null).display === 'none') {
27
+ if (!ink || this.document.defaultView.getComputedStyle(ink, null).display === 'none') {
24
28
  return;
25
29
  }
26
30
  DomHandler.removeClass(ink, 'p-ink-active');
@@ -30,10 +34,10 @@ export class Ripple {
30
34
  ink.style.width = d + 'px';
31
35
  }
32
36
  let offset = DomHandler.getOffset(this.el.nativeElement);
33
- let x = event.pageX - offset.left + document.body.scrollTop - DomHandler.getWidth(ink) / 2;
34
- let y = event.pageY - offset.top + document.body.scrollLeft - DomHandler.getHeight(ink) / 2;
35
- ink.style.top = y + 'px';
36
- ink.style.left = x + 'px';
37
+ let x = event.pageX - offset.left + this.document.body.scrollTop - DomHandler.getWidth(ink) / 2;
38
+ let y = event.pageY - offset.top + this.document.body.scrollLeft - DomHandler.getHeight(ink) / 2;
39
+ this.renderer.setStyle(ink, 'top', y + 'px');
40
+ this.renderer.setStyle(ink, 'left', x + 'px');
37
41
  DomHandler.addClass(ink, 'p-ink-active');
38
42
  this.timeout = setTimeout(() => {
39
43
  let ink = this.getInk();
@@ -64,17 +68,20 @@ export class Ripple {
64
68
  DomHandler.removeClass(event.currentTarget, 'p-ink-active');
65
69
  }
66
70
  create() {
67
- let ink = document.createElement('span');
68
- ink.className = 'p-ink';
69
- this.el.nativeElement.appendChild(ink);
70
- this.animationListener = this.onAnimationEnd.bind(this);
71
- ink.addEventListener('animationend', this.animationListener);
71
+ let ink = this.renderer.createElement('span');
72
+ this.renderer.addClass(ink, 'p-ink');
73
+ this.renderer.appendChild(this.el.nativeElement, ink);
74
+ if (!this.animationListener) {
75
+ this.animationListener = this.renderer.listen(ink, 'animationend', this.onAnimationEnd.bind(this));
76
+ }
72
77
  }
73
78
  remove() {
74
79
  let ink = this.getInk();
75
80
  if (ink) {
76
- this.el.nativeElement.removeEventListener('mousedown', this.mouseDownListener);
77
- ink.removeEventListener('animationend', this.animationListener);
81
+ this.mouseDownListener();
82
+ this.animationListener();
83
+ this.mouseDownListener = null;
84
+ this.animationListener = null;
78
85
  DomHandler.removeElement(ink);
79
86
  }
80
87
  }
@@ -84,9 +91,9 @@ export class Ripple {
84
91
  }
85
92
  }
86
93
  }
87
- Ripple.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: Ripple, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.PrimeNGConfig, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
88
- Ripple.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: Ripple, selector: "[pRipple]", host: { classAttribute: "p-ripple p-element" }, ngImport: i0 });
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: Ripple, decorators: [{
94
+ Ripple.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: Ripple, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.PrimeNGConfig, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
95
+ Ripple.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.4", type: Ripple, selector: "[pRipple]", host: { classAttribute: "p-ripple p-element" }, ngImport: i0 });
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: Ripple, decorators: [{
90
97
  type: Directive,
91
98
  args: [{
92
99
  selector: '[pRipple]',
@@ -94,15 +101,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
94
101
  class: 'p-ripple p-element'
95
102
  }
96
103
  }]
97
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.PrimeNGConfig, decorators: [{
104
+ }], ctorParameters: function () { return [{ type: Document, decorators: [{
105
+ type: Inject,
106
+ args: [DOCUMENT]
107
+ }] }, { type: undefined, decorators: [{
108
+ type: Inject,
109
+ args: [PLATFORM_ID]
110
+ }] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.PrimeNGConfig, decorators: [{
98
111
  type: Optional
99
112
  }] }]; } });
100
113
  export class RippleModule {
101
114
  }
102
- RippleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: RippleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
103
- RippleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.2", ngImport: i0, type: RippleModule, declarations: [Ripple], imports: [CommonModule], exports: [Ripple] });
104
- RippleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: RippleModule, imports: [CommonModule] });
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: RippleModule, decorators: [{
115
+ RippleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RippleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
116
+ RippleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: RippleModule, declarations: [Ripple], imports: [CommonModule], exports: [Ripple] });
117
+ RippleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RippleModule, imports: [CommonModule] });
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RippleModule, decorators: [{
106
119
  type: NgModule,
107
120
  args: [{
108
121
  imports: [CommonModule],
@@ -110,4 +123,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
110
123
  declarations: [Ripple]
111
124
  }]
112
125
  }] });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlwcGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3JpcHBsZS9yaXBwbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQWdELFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBU3pDLE1BQU0sT0FBTyxNQUFNO0lBQ2YsWUFBbUIsRUFBYyxFQUFTLElBQVksRUFBcUIsTUFBcUI7UUFBN0UsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFTLFNBQUksR0FBSixJQUFJLENBQVE7UUFBcUIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtJQUFHLENBQUM7SUFRcEcsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUVkLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDckQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ2hGLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWlCO1FBQ3pCLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsR0FBRyxJQUFJLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxP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R3JFLE1BQU0sT0FBTyxZQUFZOzt5R0FBWixZQUFZOzBHQUFaLFlBQVksaUJBdkdaLE1BQU0sYUFtR0wsWUFBWSxhQW5HYixNQUFNOzBHQXVHTixZQUFZLFlBSlgsWUFBWTsyRkFJYixZQUFZO2tCQUx4QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO29CQUNqQixZQUFZLEVBQUUsQ0FBQyxNQUFNLENBQUM7aUJBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIERpcmVjdGl2ZSwgQWZ0ZXJWaWV3SW5pdCwgRWxlbWVudFJlZiwgTmdab25lLCBPbkRlc3Ryb3ksIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRG9tSGFuZGxlciB9IGZyb20gJ3ByaW1lbmcvZG9tJztcbmltcG9ydCB7IFByaW1lTkdDb25maWcgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3BSaXBwbGVdJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAncC1yaXBwbGUgcC1lbGVtZW50J1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmlwcGxlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWw6IEVsZW1lbnRSZWYsIHB1YmxpYyB6b25lOiBOZ1pvbmUsIEBPcHRpb25hbCgpIHB1YmxpYyBjb25maWc6IFByaW1lTkdDb25maWcpIHt9XG5cbiAgICBhbmltYXRpb25MaXN0ZW5lcjogYW55O1xuXG4gICAgbW91c2VEb3duTGlzdGVuZXI6IGFueTtcblxuICAgIHRpbWVvdXQ6IGFueTtcblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnICYmIHRoaXMuY29uZmlnLnJpcHBsZSkge1xuICAgICAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZSgpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5tb3VzZURvd25MaXN0ZW5lciA9IHRoaXMub25Nb3VzZURvd24uYmluZCh0aGlzKTtcbiAgICAgICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5tb3VzZURvd25MaXN0ZW5lcik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGxldCBpbmsgPSB0aGlzLmdldEluaygpO1xuICAgICAgICBpZiAoIWluayB8fCBnZXRDb21wdXRlZFN0eWxlKGluaywgbnVsbCkuZGlzcGxheSA9PT0gJ25vbmUnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBEb21IYW5kbGVyLnJlbW92ZUNsYXNzKGluaywgJ3AtaW5rLWFjdGl2ZScpO1xuICAgICAgICBpZiAoIURvbUhhbmRsZXIuZ2V0SGVpZ2h0KGluaykgJiYgIURvbUhhbmRsZXIuZ2V0V2lkdGgoaW5rKSkge1xuICAgICAgICAgICAgbGV0IGQgPSBNYXRoLm1heChEb21IYW5kbGVyLmdldE91dGVyV2lkdGgodGhpcy5lbC5uYXRpdmVFbGVtZW50KSwgRG9tSGFuZGxlci5nZXRPdXRlckhlaWdodCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpKTtcbiAgICAgICAgICAgIGluay5zdHlsZS5oZWlnaHQgPSBkICsgJ3B4JztcbiAgICAgICAgICAgIGluay5zdHlsZS53aWR0aCA9IGQgKyAncHgnO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IG9mZnNldCA9IERvbUhhbmRsZXIuZ2V0T2Zmc2V0KHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIGxldCB4ID0gZXZlbnQucGFnZVggLSBvZmZzZXQubGVmdCArIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIC0gRG9tSGFuZGxlci5nZXRXaWR0aChpbmspIC8gMjtcbiAgICAgICAgbGV0IHkgPSBldmVudC5wYWdlWSAtIG9mZnNldC50b3AgKyBkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQgLSBEb21IYW5kbGVyLmdldEhlaWdodChpbmspIC8gMjtcblxuICAgICAgICBpbmsuc3R5bGUudG9wID0geSArICdweCc7XG4gICAgICAgIGluay5zdHlsZS5sZWZ0ID0geCArICdweCc7XG4gICAgICAgIERvbUhhbmRsZXIuYWRkQ2xhc3MoaW5rLCAncC1pbmstYWN0aXZlJyk7XG5cbiAgICAgICAgdGhpcy50aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBsZXQgaW5rID0gdGhpcy5nZXRJbmsoKTtcbiAgICAgICAgICAgIGlmIChpbmspIHtcbiAgICAgICAgICAgICAgICBEb21IYW5kbGVyLnJlbW92ZUNsYXNzKGluaywgJ3AtaW5rLWFjdGl2ZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCA0MDEpO1xuICAgIH1cblxuICAgIGdldEluaygpIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW47XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgY2hpbGRyZW5baV0uY2xhc3NOYW1lID09PSAnc3RyaW5nJyAmJiBjaGlsZHJlbltpXS5jbGFzc05hbWUuaW5kZXhPZigncC1pbmsnKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2hpbGRyZW5baV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmVzZXRJbmsoKSB7XG4gICAgICAgIGxldCBpbmsgPSB0aGlzLmdldEluaygpO1xuICAgICAgICBpZiAoaW5rKSB7XG4gICAgICAgICAgICBEb21IYW5kbGVyLnJlbW92ZUNsYXNzKGluaywgJ3AtaW5rLWFjdGl2ZScpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BbmltYXRpb25FbmQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLnRpbWVvdXQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpO1xuICAgICAgICB9XG4gICAgICAgIERvbUhhbmRsZXIucmVtb3ZlQ2xhc3MoZXZlbnQuY3VycmVudFRhcmdldCwgJ3AtaW5rLWFjdGl2ZScpO1xuICAgIH1cblxuICAgIGNyZWF0ZSgpIHtcbiAgICAgICAgbGV0IGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgaW5rLmNsYXNzTmFtZSA9ICdwLWluayc7XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChpbmspO1xuXG4gICAgICAgIHRoaXMuYW5pbWF0aW9uTGlzdGVuZXIgPSB0aGlzLm9uQW5pbWF0aW9uRW5kLmJpbmQodGhpcyk7XG4gICAgICAgIGluay5hZGRFdmVudExpc3RlbmVyKCdhbmltYXRpb25lbmQnLCB0aGlzLmFuaW1hdGlvbkxpc3RlbmVyKTtcbiAgICB9XG5cbiAgICByZW1vdmUoKSB7XG4gICAgICAgIGxldCBpbmsgPSB0aGlzLmdldEluaygpO1xuICAgICAgICBpZiAoaW5rKSB7XG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5tb3VzZURvd25MaXN0ZW5lcik7XG4gICAgICAgICAgICBpbmsucmVtb3ZlRXZlbnRMaXN0ZW5lcignYW5pbWF0aW9uZW5kJywgdGhpcy5hbmltYXRpb25MaXN0ZW5lcik7XG4gICAgICAgICAgICBEb21IYW5kbGVyLnJlbW92ZUVsZW1lbnQoaW5rKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBpZiAodGhpcy5jb25maWcgJiYgdGhpcy5jb25maWcucmlwcGxlKSB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtSaXBwbGVdLFxuICAgIGRlY2xhcmF0aW9uczogW1JpcHBsZV1cbn0pXG5leHBvcnQgY2xhc3MgUmlwcGxlTW9kdWxlIHt9XG4iXX0=
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlwcGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3JpcHBsZS9yaXBwbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQWdELFFBQVEsRUFBRSxNQUFNLEVBQWEsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVJLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBU3pDLE1BQU0sT0FBTyxNQUFNO0lBQ2YsWUFBc0MsUUFBa0IsRUFBK0IsVUFBZSxFQUFVLFFBQW1CLEVBQVMsRUFBYyxFQUFTLElBQVksRUFBcUIsTUFBcUI7UUFBbkwsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUErQixlQUFVLEdBQVYsVUFBVSxDQUFLO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFTLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBUyxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQXFCLFdBQU0sR0FBTixNQUFNLENBQWU7SUFBRyxDQUFDO0lBUTdOLGVBQWU7UUFDWCxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNwQyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO29CQUM3QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ2QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FB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QWlCLEdBQUcsSUFBSSxDQUFDO1lBQzlCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7WUFFOUIsVUFBVSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNqQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ25DLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNqQjtJQUNMLENBQUM7O21HQW5HUSxNQUFNLGtCQUNLLFFBQVEsYUFBc0MsV0FBVzt1RkFEcEUsTUFBTTsyRkFBTixNQUFNO2tCQU5sQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxXQUFXO29CQUNyQixJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLG9CQUFvQjtxQkFDOUI7aUJBQ0o7OzBCQUVnQixNQUFNOzJCQUFDLFFBQVE7OzBCQUErQixNQUFNOzJCQUFDLFdBQVc7OzBCQUFxRyxRQUFROztBQTBHOUwsTUFBTSxPQUFPLFlBQVk7O3lHQUFaLFlBQVk7MEdBQVosWUFBWSxpQkEzR1osTUFBTSxhQXVHTCxZQUFZLGFBdkdiLE1BQU07MEdBMkdOLFlBQVksWUFKWCxZQUFZOzJGQUliLFlBQVk7a0JBTHhCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7b0JBQ2pCLFlBQVksRUFBRSxDQUFDLE1BQU0sQ0FBQztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgRGlyZWN0aXZlLCBBZnRlclZpZXdJbml0LCBFbGVtZW50UmVmLCBOZ1pvbmUsIE9uRGVzdHJveSwgT3B0aW9uYWwsIEluamVjdCwgUmVuZGVyZXIyLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBET0NVTUVOVCwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRG9tSGFuZGxlciB9IGZyb20gJ3ByaW1lbmcvZG9tJztcbmltcG9ydCB7IFByaW1lTkdDb25maWcgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3BSaXBwbGVdJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAncC1yaXBwbGUgcC1lbGVtZW50J1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmlwcGxlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCwgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBhbnksIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHVibGljIGVsOiBFbGVtZW50UmVmLCBwdWJsaWMgem9uZTogTmdab25lLCBAT3B0aW9uYWwoKSBwdWJsaWMgY29uZmlnOiBQcmltZU5HQ29uZmlnKSB7fVxuXG4gICAgYW5pbWF0aW9uTGlzdGVuZXI6IFZvaWRGdW5jdGlvbiB8IG51bGw7XG5cbiAgICBtb3VzZURvd25MaXN0ZW5lcjogVm9pZEZ1bmN0aW9uIHwgbnVsbDtcblxuICAgIHRpbWVvdXQ6IGFueTtcblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbmZpZyAmJiB0aGlzLmNvbmZpZy5yaXBwbGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdXNlRG93bkxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnbW91c2Vkb3duJywgdGhpcy5vbk1vdXNlRG93bi5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGxldCBpbmsgPSB0aGlzLmdldEluaygpO1xuICAgICAgICBpZiAoIWluayB8fCB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUoaW5rLCBudWxsKS5kaXNwbGF5ID09PSAnbm9uZScpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIERvbUhhbmRsZXIucmVtb3ZlQ2xhc3MoaW5rLCAncC1pbmstYWN0aXZlJyk7XG4gICAgICAgIGlmICghRG9tSGFuZGxlci5nZXRIZWlnaHQoaW5rKSAmJiAhRG9tSGFuZGxlci5nZXRXaWR0aChpbmspKSB7XG4gICAgICAgICAgICBsZXQgZCA9IE1hdGgubWF4KERvbUhhbmRsZXIuZ2V0T3V0ZXJXaWR0aCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpLCBEb21IYW5kbGVyLmdldE91dGVySGVpZ2h0KHRoaXMuZWwubmF0aXZlRWxlbWVudCkpO1xuICAgICAgICAgICAgaW5rLnN0eWxlLmhlaWdodCA9IGQgKyAncHgnO1xuICAgICAgICAgICAgaW5rLnN0eWxlLndpZHRoID0gZCArICdweCc7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgb2Zmc2V0ID0gRG9tSGFuZGxlci5nZXRPZmZzZXQodGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgbGV0IHggPSBldmVudC5wYWdlWCAtIG9mZnNldC5sZWZ0ICsgdGhpcy5kb2N1bWVudC5ib2R5LnNjcm9sbFRvcCAtIERvbUhhbmRsZXIuZ2V0V2lkdGgoaW5rKSAvIDI7XG4gICAgICAgIGxldCB5ID0gZXZlbnQucGFnZVkgLSBvZmZzZXQudG9wICsgdGhpcy5kb2N1bWVudC5ib2R5LnNjcm9sbExlZnQgLSBEb21IYW5kbGVyLmdldEhlaWdodChpbmspIC8gMjtcblxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGluaywgJ3RvcCcsIHkgKyAncHgnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShpbmssICdsZWZ0JywgeCArICdweCcpO1xuICAgICAgICBEb21IYW5kbGVyLmFkZENsYXNzKGluaywgJ3AtaW5rLWFjdGl2ZScpO1xuXG4gICAgICAgIHRoaXMudGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgbGV0IGluayA9IHRoaXMuZ2V0SW5rKCk7XG4gICAgICAgICAgICBpZiAoaW5rKSB7XG4gICAgICAgICAgICAgICAgRG9tSGFuZGxlci5yZW1vdmVDbGFzcyhpbmssICdwLWluay1hY3RpdmUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgNDAxKTtcbiAgICB9XG5cbiAgICBnZXRJbmsoKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNoaWxkcmVuO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGNoaWxkcmVuW2ldLmNsYXNzTmFtZSA9PT0gJ3N0cmluZycgJiYgY2hpbGRyZW5baV0uY2xhc3NOYW1lLmluZGV4T2YoJ3AtaW5rJykgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNoaWxkcmVuW2ldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJlc2V0SW5rKCkge1xuICAgICAgICBsZXQgaW5rID0gdGhpcy5nZXRJbmsoKTtcbiAgICAgICAgaWYgKGluaykge1xuICAgICAgICAgICAgRG9tSGFuZGxlci5yZW1vdmVDbGFzcyhpbmssICdwLWluay1hY3RpdmUnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQW5pbWF0aW9uRW5kKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAodGhpcy50aW1lb3V0KSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KTtcbiAgICAgICAgfVxuICAgICAgICBEb21IYW5kbGVyLnJlbW92ZUNsYXNzKGV2ZW50LmN1cnJlbnRUYXJnZXQsICdwLWluay1hY3RpdmUnKTtcbiAgICB9XG5cbiAgICBjcmVhdGUoKSB7XG4gICAgICAgIGxldCBpbmsgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhpbmssICdwLWluaycpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgaW5rKTtcblxuICAgICAgICBpZiAoIXRoaXMuYW5pbWF0aW9uTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMuYW5pbWF0aW9uTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbihpbmssICdhbmltYXRpb25lbmQnLCB0aGlzLm9uQW5pbWF0aW9uRW5kLmJpbmQodGhpcykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVtb3ZlKCkge1xuICAgICAgICBsZXQgaW5rID0gdGhpcy5nZXRJbmsoKTtcbiAgICAgICAgaWYgKGluaykge1xuICAgICAgICAgICAgdGhpcy5tb3VzZURvd25MaXN0ZW5lcigpO1xuICAgICAgICAgICAgdGhpcy5hbmltYXRpb25MaXN0ZW5lcigpO1xuICAgICAgICAgICAgdGhpcy5tb3VzZURvd25MaXN0ZW5lciA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmFuaW1hdGlvbkxpc3RlbmVyID0gbnVsbDtcblxuICAgICAgICAgICAgRG9tSGFuZGxlci5yZW1vdmVFbGVtZW50KGluayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnICYmIHRoaXMuY29uZmlnLnJpcHBsZSkge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmUoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbUmlwcGxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtSaXBwbGVdXG59KVxuZXhwb3J0IGNsYXNzIFJpcHBsZU1vZHVsZSB7fVxuIl19