primeng 15.3.0 → 15.4.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 (975) hide show
  1. package/README.md +1 -2
  2. package/accordion/accordion.d.ts +5 -2
  3. package/api/message.d.ts +1 -0
  4. package/autocomplete/autocomplete.d.ts +9 -2
  5. package/baseicon/baseicon.d.ts +14 -0
  6. package/{gmap → baseicon}/index.d.ts +1 -1
  7. package/baseicon/public_api.d.ts +1 -0
  8. package/breadcrumb/breadcrumb.d.ts +10 -4
  9. package/button/button.d.ts +21 -1
  10. package/calendar/calendar.d.ts +13 -1
  11. package/carousel/carousel.d.ts +7 -1
  12. package/cascadeselect/cascadeselect.d.ts +9 -2
  13. package/checkbox/checkbox.d.ts +8 -3
  14. package/chip/chip.d.ts +9 -4
  15. package/chips/chips.d.ts +5 -1
  16. package/confirmdialog/confirmdialog.d.ts +6 -2
  17. package/confirmpopup/confirmpopup.d.ts +9 -4
  18. package/contextmenu/contextmenu.d.ts +7 -3
  19. package/dataview/dataview.d.ts +7 -1
  20. package/dialog/dialog.d.ts +8 -2
  21. package/dropdown/dropdown.d.ts +7 -1
  22. package/dynamicdialog/dynamicdialog.d.ts +5 -1
  23. package/esm2020/accordion/accordion.mjs +32 -9
  24. package/esm2020/api/message.mjs +1 -1
  25. package/esm2020/autocomplete/autocomplete.mjs +76 -23
  26. package/esm2020/baseicon/baseicon.mjs +41 -0
  27. package/esm2020/{lightbox/primeng-lightbox.mjs → baseicon/primeng-baseicon.mjs} +1 -1
  28. package/esm2020/{lightbox → baseicon}/public_api.mjs +2 -2
  29. package/esm2020/breadcrumb/breadcrumb.mjs +47 -16
  30. package/esm2020/button/button.mjs +82 -50
  31. package/esm2020/calendar/calendar.mjs +103 -30
  32. package/esm2020/carousel/carousel.mjs +43 -9
  33. package/esm2020/cascadeselect/cascadeselect.mjs +55 -13
  34. package/esm2020/checkbox/checkbox.mjs +42 -11
  35. package/esm2020/chip/chip.mjs +44 -12
  36. package/esm2020/chips/chips.mjs +33 -9
  37. package/esm2020/confirmdialog/confirmdialog.mjs +51 -15
  38. package/esm2020/confirmpopup/confirmpopup.mjs +40 -17
  39. package/esm2020/contextmenu/contextmenu.mjs +39 -15
  40. package/esm2020/dataview/dataview.mjs +38 -13
  41. package/esm2020/dialog/dialog.mjs +53 -12
  42. package/esm2020/dom/domhandler.mjs +4 -2
  43. package/esm2020/dropdown/dropdown.mjs +59 -12
  44. package/esm2020/dynamicdialog/dynamicdialog.mjs +19 -10
  45. package/esm2020/fieldset/fieldset.mjs +37 -7
  46. package/esm2020/fileupload/fileupload.mjs +111 -18
  47. package/esm2020/galleria/galleria.mjs +67 -23
  48. package/esm2020/icons/angledoubledown/angledoubledown.mjs +35 -0
  49. package/esm2020/icons/angledoubledown/primeng-icons-angledoubledown.mjs +5 -0
  50. package/esm2020/icons/angledoubledown/public_api.mjs +2 -0
  51. package/esm2020/icons/angledoubleleft/angledoubleleft.mjs +35 -0
  52. package/esm2020/icons/angledoubleleft/primeng-icons-angledoubleleft.mjs +5 -0
  53. package/esm2020/icons/angledoubleleft/public_api.mjs +2 -0
  54. package/esm2020/icons/angledoubleright/angledoubleright.mjs +35 -0
  55. package/esm2020/icons/angledoubleright/primeng-icons-angledoubleright.mjs +5 -0
  56. package/esm2020/icons/angledoubleright/public_api.mjs +2 -0
  57. package/esm2020/icons/angledoubleup/angledoubleup.mjs +35 -0
  58. package/esm2020/icons/angledoubleup/primeng-icons-angledoubleup.mjs +5 -0
  59. package/esm2020/icons/angledoubleup/public_api.mjs +2 -0
  60. package/esm2020/icons/angledown/angledown.mjs +31 -0
  61. package/esm2020/icons/angledown/primeng-icons-angledown.mjs +5 -0
  62. package/esm2020/icons/angledown/public_api.mjs +2 -0
  63. package/esm2020/icons/angleleft/angleleft.mjs +31 -0
  64. package/esm2020/icons/angleleft/primeng-icons-angleleft.mjs +5 -0
  65. package/esm2020/icons/angleleft/public_api.mjs +2 -0
  66. package/esm2020/icons/angleright/angleright.mjs +31 -0
  67. package/esm2020/icons/angleright/primeng-icons-angleright.mjs +5 -0
  68. package/esm2020/icons/angleright/public_api.mjs +2 -0
  69. package/esm2020/icons/angleup/angleup.mjs +31 -0
  70. package/esm2020/icons/angleup/primeng-icons-angleup.mjs +5 -0
  71. package/esm2020/icons/angleup/public_api.mjs +2 -0
  72. package/esm2020/icons/arrowdown/arrowdown.mjs +49 -0
  73. package/esm2020/icons/arrowdown/primeng-icons-arrowdown.mjs +5 -0
  74. package/esm2020/icons/arrowdown/public_api.mjs +2 -0
  75. package/esm2020/icons/arrowdownleft/arrowdownleft.mjs +31 -0
  76. package/esm2020/icons/arrowdownleft/primeng-icons-arrowdownleft.mjs +5 -0
  77. package/esm2020/icons/arrowdownleft/public_api.mjs +2 -0
  78. package/esm2020/icons/arrowdownright/arrowdownright.mjs +31 -0
  79. package/esm2020/icons/arrowdownright/primeng-icons-arrowdownright.mjs +5 -0
  80. package/esm2020/icons/arrowdownright/public_api.mjs +2 -0
  81. package/esm2020/icons/arrowleft/arrowleft.mjs +49 -0
  82. package/esm2020/icons/arrowleft/primeng-icons-arrowleft.mjs +5 -0
  83. package/esm2020/icons/arrowleft/public_api.mjs +2 -0
  84. package/esm2020/icons/arrowright/arrowright.mjs +35 -0
  85. package/esm2020/icons/arrowright/primeng-icons-arrowright.mjs +5 -0
  86. package/esm2020/icons/arrowright/public_api.mjs +2 -0
  87. package/esm2020/icons/arrowup/arrowup.mjs +49 -0
  88. package/esm2020/icons/arrowup/primeng-icons-arrowup.mjs +5 -0
  89. package/esm2020/icons/arrowup/public_api.mjs +2 -0
  90. package/esm2020/icons/ban/ban.mjs +45 -0
  91. package/esm2020/icons/ban/primeng-icons-ban.mjs +5 -0
  92. package/esm2020/icons/ban/public_api.mjs +2 -0
  93. package/esm2020/icons/bars/bars.mjs +35 -0
  94. package/esm2020/icons/bars/primeng-icons-bars.mjs +5 -0
  95. package/esm2020/icons/bars/public_api.mjs +2 -0
  96. package/esm2020/icons/calendar/calendar.mjs +31 -0
  97. package/esm2020/icons/calendar/primeng-icons-calendar.mjs +5 -0
  98. package/esm2020/icons/calendar/public_api.mjs +2 -0
  99. package/esm2020/icons/caretleft/caretleft.mjs +31 -0
  100. package/esm2020/icons/caretleft/primeng-icons-caretleft.mjs +5 -0
  101. package/esm2020/icons/caretleft/public_api.mjs +2 -0
  102. package/esm2020/icons/caretright/caretright.mjs +31 -0
  103. package/esm2020/icons/caretright/primeng-icons-caretright.mjs +5 -0
  104. package/esm2020/icons/caretright/public_api.mjs +2 -0
  105. package/esm2020/icons/check/check.mjs +31 -0
  106. package/esm2020/icons/check/primeng-icons-check.mjs +5 -0
  107. package/esm2020/icons/check/public_api.mjs +2 -0
  108. package/esm2020/icons/chevrondown/chevrondown.mjs +31 -0
  109. package/esm2020/icons/chevrondown/primeng-icons-chevrondown.mjs +5 -0
  110. package/esm2020/icons/chevrondown/public_api.mjs +2 -0
  111. package/esm2020/icons/chevronleft/chevronleft.mjs +31 -0
  112. package/esm2020/icons/chevronleft/primeng-icons-chevronleft.mjs +5 -0
  113. package/esm2020/icons/chevronleft/public_api.mjs +2 -0
  114. package/esm2020/icons/chevronright/chevronright.mjs +31 -0
  115. package/esm2020/icons/chevronright/primeng-icons-chevronright.mjs +5 -0
  116. package/esm2020/icons/chevronright/public_api.mjs +2 -0
  117. package/esm2020/icons/chevronup/chevronup.mjs +31 -0
  118. package/esm2020/icons/chevronup/primeng-icons-chevronup.mjs +5 -0
  119. package/esm2020/icons/chevronup/public_api.mjs +2 -0
  120. package/esm2020/icons/exclamationtriangle/exclamationtriangle.mjs +61 -0
  121. package/esm2020/icons/exclamationtriangle/primeng-icons-exclamationtriangle.mjs +5 -0
  122. package/esm2020/icons/exclamationtriangle/public_api.mjs +2 -0
  123. package/esm2020/icons/eye/eye.mjs +35 -0
  124. package/esm2020/icons/eye/primeng-icons-eye.mjs +5 -0
  125. package/esm2020/icons/eye/public_api.mjs +2 -0
  126. package/esm2020/icons/eyeslash/eyeslash.mjs +49 -0
  127. package/esm2020/icons/eyeslash/primeng-icons-eyeslash.mjs +5 -0
  128. package/esm2020/icons/eyeslash/public_api.mjs +2 -0
  129. package/esm2020/icons/filter/filter.mjs +45 -0
  130. package/esm2020/icons/filter/primeng-icons-filter.mjs +5 -0
  131. package/esm2020/icons/filter/public_api.mjs +2 -0
  132. package/esm2020/icons/filterslash/filterslash.mjs +49 -0
  133. package/esm2020/icons/filterslash/primeng-icons-filterslash.mjs +5 -0
  134. package/esm2020/icons/filterslash/public_api.mjs +2 -0
  135. package/esm2020/icons/home/home.mjs +49 -0
  136. package/esm2020/icons/home/primeng-icons-home.mjs +5 -0
  137. package/esm2020/icons/home/public_api.mjs +2 -0
  138. package/esm2020/icons/infocircle/infocircle.mjs +49 -0
  139. package/esm2020/icons/infocircle/primeng-icons-infocircle.mjs +5 -0
  140. package/esm2020/icons/infocircle/public_api.mjs +2 -0
  141. package/esm2020/icons/minus/minus.mjs +32 -0
  142. package/esm2020/icons/minus/primeng-icons-minus.mjs +5 -0
  143. package/esm2020/icons/minus/public_api.mjs +2 -0
  144. package/esm2020/icons/pencil/pencil.mjs +45 -0
  145. package/esm2020/icons/pencil/primeng-icons-pencil.mjs +5 -0
  146. package/esm2020/icons/pencil/public_api.mjs +2 -0
  147. package/esm2020/icons/plus/plus.mjs +45 -0
  148. package/esm2020/icons/plus/primeng-icons-plus.mjs +5 -0
  149. package/esm2020/icons/plus/public_api.mjs +2 -0
  150. package/esm2020/icons/refresh/primeng-icons-refresh.mjs +5 -0
  151. package/esm2020/icons/refresh/public_api.mjs +2 -0
  152. package/esm2020/icons/refresh/refresh.mjs +49 -0
  153. package/esm2020/icons/search/primeng-icons-search.mjs +5 -0
  154. package/esm2020/icons/search/public_api.mjs +2 -0
  155. package/esm2020/icons/search/search.mjs +49 -0
  156. package/esm2020/icons/searchminus/primeng-icons-searchminus.mjs +5 -0
  157. package/esm2020/icons/searchminus/public_api.mjs +2 -0
  158. package/esm2020/icons/searchminus/searchminus.mjs +49 -0
  159. package/esm2020/icons/searchplus/primeng-icons-searchplus.mjs +5 -0
  160. package/esm2020/icons/searchplus/public_api.mjs +2 -0
  161. package/esm2020/icons/searchplus/searchplus.mjs +49 -0
  162. package/esm2020/icons/sortalt/primeng-icons-sortalt.mjs +5 -0
  163. package/esm2020/icons/sortalt/public_api.mjs +2 -0
  164. package/esm2020/icons/sortalt/sortalt.mjs +57 -0
  165. package/esm2020/icons/sortamountdown/primeng-icons-sortamountdown.mjs +5 -0
  166. package/esm2020/icons/sortamountdown/public_api.mjs +2 -0
  167. package/esm2020/icons/sortamountdown/sortamountdown.mjs +85 -0
  168. package/esm2020/icons/sortamountupalt/primeng-icons-sortamountupalt.mjs +5 -0
  169. package/esm2020/icons/sortamountupalt/public_api.mjs +2 -0
  170. package/esm2020/icons/sortamountupalt/sortamountupalt.mjs +85 -0
  171. package/esm2020/icons/spinner/primeng-icons-spinner.mjs +5 -0
  172. package/esm2020/icons/spinner/public_api.mjs +2 -0
  173. package/esm2020/icons/spinner/spinner.mjs +45 -0
  174. package/esm2020/icons/star/primeng-icons-star.mjs +5 -0
  175. package/esm2020/icons/star/public_api.mjs +2 -0
  176. package/esm2020/icons/star/star.mjs +45 -0
  177. package/esm2020/icons/starfill/primeng-icons-starfill.mjs +5 -0
  178. package/esm2020/icons/starfill/public_api.mjs +2 -0
  179. package/esm2020/icons/starfill/starfill.mjs +45 -0
  180. package/esm2020/icons/thlarge/primeng-icons-thlarge.mjs +5 -0
  181. package/esm2020/icons/thlarge/public_api.mjs +2 -0
  182. package/esm2020/icons/thlarge/thlarge.mjs +49 -0
  183. package/esm2020/icons/times/primeng-icons-times.mjs +5 -0
  184. package/esm2020/icons/times/public_api.mjs +2 -0
  185. package/esm2020/icons/times/times.mjs +31 -0
  186. package/esm2020/icons/timescircle/primeng-icons-timescircle.mjs +5 -0
  187. package/esm2020/icons/timescircle/public_api.mjs +2 -0
  188. package/esm2020/icons/timescircle/timescircle.mjs +49 -0
  189. package/esm2020/icons/trash/primeng-icons-trash.mjs +5 -0
  190. package/esm2020/icons/trash/public_api.mjs +2 -0
  191. package/esm2020/icons/trash/trash.mjs +49 -0
  192. package/esm2020/icons/undo/primeng-icons-undo.mjs +5 -0
  193. package/esm2020/icons/undo/public_api.mjs +2 -0
  194. package/esm2020/icons/undo/undo.mjs +49 -0
  195. package/esm2020/icons/upload/primeng-icons-upload.mjs +5 -0
  196. package/esm2020/icons/upload/public_api.mjs +2 -0
  197. package/esm2020/icons/upload/upload.mjs +49 -0
  198. package/esm2020/icons/windowmaximize/primeng-icons-windowmaximize.mjs +5 -0
  199. package/esm2020/icons/windowmaximize/public_api.mjs +2 -0
  200. package/esm2020/icons/windowmaximize/windowmaximize.mjs +49 -0
  201. package/esm2020/icons/windowminimize/primeng-icons-windowminimize.mjs +5 -0
  202. package/esm2020/icons/windowminimize/public_api.mjs +2 -0
  203. package/esm2020/icons/windowminimize/windowminimize.mjs +49 -0
  204. package/esm2020/image/image.mjs +49 -18
  205. package/esm2020/inplace/inplace.mjs +25 -8
  206. package/esm2020/inputmask/inputmask.mjs +38 -10
  207. package/esm2020/inputnumber/inputnumber.mjs +124 -36
  208. package/esm2020/listbox/listbox.mjs +45 -11
  209. package/esm2020/megamenu/megamenu.mjs +29 -8
  210. package/esm2020/menubar/menubar.mjs +52 -16
  211. package/esm2020/message/message.mjs +22 -29
  212. package/esm2020/messages/messages.mjs +36 -13
  213. package/esm2020/multiselect/multiselect.mjs +117 -25
  214. package/esm2020/orderlist/orderlist.mjs +65 -15
  215. package/esm2020/organizationchart/organizationchart.mjs +27 -8
  216. package/esm2020/overlaypanel/overlaypanel.mjs +17 -7
  217. package/esm2020/paginator/paginator.mjs +65 -15
  218. package/esm2020/panel/panel.mjs +36 -9
  219. package/esm2020/panelmenu/panelmenu.mjs +100 -20
  220. package/esm2020/password/password.mjs +61 -12
  221. package/esm2020/picklist/picklist.mjs +234 -64
  222. package/esm2020/rating/rating.mjs +40 -30
  223. package/esm2020/scroller/scroller.mjs +9 -8
  224. package/esm2020/scrolltop/scrolltop.mjs +32 -11
  225. package/esm2020/sidebar/sidebar.mjs +17 -7
  226. package/esm2020/slidemenu/slidemenu.mjs +51 -16
  227. package/esm2020/speeddial/speeddial.mjs +10 -8
  228. package/esm2020/splitbutton/splitbutton.mjs +17 -7
  229. package/esm2020/table/table.mjs +281 -38
  230. package/esm2020/tabmenu/tabmenu.mjs +22 -10
  231. package/esm2020/tabview/tabview.mjs +65 -17
  232. package/esm2020/tag/tag.mjs +34 -10
  233. package/esm2020/tieredmenu/tieredmenu.mjs +42 -15
  234. package/esm2020/toast/toast.mjs +40 -11
  235. package/esm2020/tree/tree.mjs +102 -19
  236. package/esm2020/treeselect/treeselect.mjs +83 -13
  237. package/esm2020/treetable/treetable.mjs +203 -29
  238. package/esm2020/tristatecheckbox/tristatecheckbox.mjs +64 -14
  239. package/fesm2015/primeng-accordion.mjs +31 -8
  240. package/fesm2015/primeng-accordion.mjs.map +1 -1
  241. package/fesm2015/primeng-autocomplete.mjs +75 -22
  242. package/fesm2015/primeng-autocomplete.mjs.map +1 -1
  243. package/fesm2015/primeng-baseicon.mjs +49 -0
  244. package/fesm2015/primeng-baseicon.mjs.map +1 -0
  245. package/fesm2015/primeng-breadcrumb.mjs +46 -15
  246. package/fesm2015/primeng-breadcrumb.mjs.map +1 -1
  247. package/fesm2015/primeng-button.mjs +81 -49
  248. package/fesm2015/primeng-button.mjs.map +1 -1
  249. package/fesm2015/primeng-calendar.mjs +102 -29
  250. package/fesm2015/primeng-calendar.mjs.map +1 -1
  251. package/fesm2015/primeng-carousel.mjs +42 -8
  252. package/fesm2015/primeng-carousel.mjs.map +1 -1
  253. package/fesm2015/primeng-cascadeselect.mjs +54 -12
  254. package/fesm2015/primeng-cascadeselect.mjs.map +1 -1
  255. package/fesm2015/primeng-chart.mjs +1 -0
  256. package/fesm2015/primeng-checkbox.mjs +41 -10
  257. package/fesm2015/primeng-checkbox.mjs.map +1 -1
  258. package/fesm2015/primeng-chip.mjs +43 -11
  259. package/fesm2015/primeng-chip.mjs.map +1 -1
  260. package/fesm2015/primeng-chips.mjs +32 -8
  261. package/fesm2015/primeng-chips.mjs.map +1 -1
  262. package/fesm2015/primeng-confirmdialog.mjs +50 -14
  263. package/fesm2015/primeng-confirmdialog.mjs.map +1 -1
  264. package/fesm2015/primeng-confirmpopup.mjs +39 -16
  265. package/fesm2015/primeng-confirmpopup.mjs.map +1 -1
  266. package/fesm2015/primeng-contextmenu.mjs +38 -14
  267. package/fesm2015/primeng-contextmenu.mjs.map +1 -1
  268. package/fesm2015/primeng-dataview.mjs +37 -12
  269. package/fesm2015/primeng-dataview.mjs.map +1 -1
  270. package/fesm2015/primeng-defer.mjs +1 -0
  271. package/fesm2015/primeng-dialog.mjs +52 -11
  272. package/fesm2015/primeng-dialog.mjs.map +1 -1
  273. package/fesm2015/primeng-dom.mjs +3 -1
  274. package/fesm2015/primeng-dom.mjs.map +1 -1
  275. package/fesm2015/primeng-dropdown.mjs +58 -11
  276. package/fesm2015/primeng-dropdown.mjs.map +1 -1
  277. package/fesm2015/primeng-dynamicdialog.mjs +19 -10
  278. package/fesm2015/primeng-dynamicdialog.mjs.map +1 -1
  279. package/fesm2015/primeng-fieldset.mjs +36 -6
  280. package/fesm2015/primeng-fieldset.mjs.map +1 -1
  281. package/fesm2015/primeng-fileupload.mjs +110 -17
  282. package/fesm2015/primeng-fileupload.mjs.map +1 -1
  283. package/fesm2015/primeng-galleria.mjs +66 -22
  284. package/fesm2015/primeng-galleria.mjs.map +1 -1
  285. package/fesm2015/primeng-icons-angledoubledown.mjs +43 -0
  286. package/fesm2015/primeng-icons-angledoubledown.mjs.map +1 -0
  287. package/fesm2015/primeng-icons-angledoubleleft.mjs +43 -0
  288. package/fesm2015/primeng-icons-angledoubleleft.mjs.map +1 -0
  289. package/fesm2015/primeng-icons-angledoubleright.mjs +43 -0
  290. package/fesm2015/primeng-icons-angledoubleright.mjs.map +1 -0
  291. package/fesm2015/primeng-icons-angledoubleup.mjs +43 -0
  292. package/fesm2015/primeng-icons-angledoubleup.mjs.map +1 -0
  293. package/fesm2015/primeng-icons-angledown.mjs +39 -0
  294. package/fesm2015/primeng-icons-angledown.mjs.map +1 -0
  295. package/fesm2015/primeng-icons-angleleft.mjs +39 -0
  296. package/fesm2015/primeng-icons-angleleft.mjs.map +1 -0
  297. package/fesm2015/primeng-icons-angleright.mjs +39 -0
  298. package/fesm2015/primeng-icons-angleright.mjs.map +1 -0
  299. package/fesm2015/primeng-icons-angleup.mjs +39 -0
  300. package/fesm2015/primeng-icons-angleup.mjs.map +1 -0
  301. package/fesm2015/primeng-icons-arrowdown.mjs +57 -0
  302. package/fesm2015/primeng-icons-arrowdown.mjs.map +1 -0
  303. package/fesm2015/primeng-icons-arrowdownleft.mjs +39 -0
  304. package/fesm2015/primeng-icons-arrowdownleft.mjs.map +1 -0
  305. package/fesm2015/primeng-icons-arrowdownright.mjs +39 -0
  306. package/fesm2015/primeng-icons-arrowdownright.mjs.map +1 -0
  307. package/fesm2015/primeng-icons-arrowleft.mjs +57 -0
  308. package/fesm2015/primeng-icons-arrowleft.mjs.map +1 -0
  309. package/fesm2015/primeng-icons-arrowright.mjs +43 -0
  310. package/fesm2015/primeng-icons-arrowright.mjs.map +1 -0
  311. package/fesm2015/primeng-icons-arrowup.mjs +57 -0
  312. package/fesm2015/primeng-icons-arrowup.mjs.map +1 -0
  313. package/fesm2015/primeng-icons-ban.mjs +53 -0
  314. package/fesm2015/primeng-icons-ban.mjs.map +1 -0
  315. package/fesm2015/primeng-icons-bars.mjs +43 -0
  316. package/fesm2015/primeng-icons-bars.mjs.map +1 -0
  317. package/fesm2015/primeng-icons-calendar.mjs +39 -0
  318. package/fesm2015/primeng-icons-calendar.mjs.map +1 -0
  319. package/fesm2015/primeng-icons-caretleft.mjs +39 -0
  320. package/fesm2015/primeng-icons-caretleft.mjs.map +1 -0
  321. package/fesm2015/primeng-icons-caretright.mjs +39 -0
  322. package/fesm2015/primeng-icons-caretright.mjs.map +1 -0
  323. package/fesm2015/primeng-icons-check.mjs +39 -0
  324. package/fesm2015/primeng-icons-check.mjs.map +1 -0
  325. package/fesm2015/primeng-icons-chevrondown.mjs +39 -0
  326. package/fesm2015/primeng-icons-chevrondown.mjs.map +1 -0
  327. package/fesm2015/primeng-icons-chevronleft.mjs +39 -0
  328. package/fesm2015/primeng-icons-chevronleft.mjs.map +1 -0
  329. package/fesm2015/primeng-icons-chevronright.mjs +39 -0
  330. package/fesm2015/primeng-icons-chevronright.mjs.map +1 -0
  331. package/fesm2015/primeng-icons-chevronup.mjs +39 -0
  332. package/fesm2015/primeng-icons-chevronup.mjs.map +1 -0
  333. package/fesm2015/primeng-icons-exclamationtriangle.mjs +69 -0
  334. package/fesm2015/primeng-icons-exclamationtriangle.mjs.map +1 -0
  335. package/fesm2015/primeng-icons-eye.mjs +43 -0
  336. package/fesm2015/primeng-icons-eye.mjs.map +1 -0
  337. package/fesm2015/primeng-icons-eyeslash.mjs +57 -0
  338. package/fesm2015/primeng-icons-eyeslash.mjs.map +1 -0
  339. package/fesm2015/primeng-icons-filter.mjs +53 -0
  340. package/fesm2015/primeng-icons-filter.mjs.map +1 -0
  341. package/fesm2015/primeng-icons-filterslash.mjs +57 -0
  342. package/fesm2015/primeng-icons-filterslash.mjs.map +1 -0
  343. package/fesm2015/primeng-icons-home.mjs +57 -0
  344. package/fesm2015/primeng-icons-home.mjs.map +1 -0
  345. package/fesm2015/primeng-icons-infocircle.mjs +57 -0
  346. package/fesm2015/primeng-icons-infocircle.mjs.map +1 -0
  347. package/fesm2015/primeng-icons-minus.mjs +40 -0
  348. package/fesm2015/primeng-icons-minus.mjs.map +1 -0
  349. package/fesm2015/primeng-icons-pencil.mjs +53 -0
  350. package/fesm2015/primeng-icons-pencil.mjs.map +1 -0
  351. package/fesm2015/primeng-icons-plus.mjs +53 -0
  352. package/fesm2015/primeng-icons-plus.mjs.map +1 -0
  353. package/fesm2015/primeng-icons-refresh.mjs +57 -0
  354. package/fesm2015/primeng-icons-refresh.mjs.map +1 -0
  355. package/fesm2015/primeng-icons-search.mjs +57 -0
  356. package/fesm2015/primeng-icons-search.mjs.map +1 -0
  357. package/fesm2015/primeng-icons-searchminus.mjs +57 -0
  358. package/fesm2015/primeng-icons-searchminus.mjs.map +1 -0
  359. package/fesm2015/primeng-icons-searchplus.mjs +57 -0
  360. package/fesm2015/primeng-icons-searchplus.mjs.map +1 -0
  361. package/fesm2015/primeng-icons-sortalt.mjs +65 -0
  362. package/fesm2015/primeng-icons-sortalt.mjs.map +1 -0
  363. package/fesm2015/primeng-icons-sortamountdown.mjs +93 -0
  364. package/fesm2015/primeng-icons-sortamountdown.mjs.map +1 -0
  365. package/fesm2015/primeng-icons-sortamountupalt.mjs +93 -0
  366. package/fesm2015/primeng-icons-sortamountupalt.mjs.map +1 -0
  367. package/fesm2015/primeng-icons-spinner.mjs +53 -0
  368. package/fesm2015/primeng-icons-spinner.mjs.map +1 -0
  369. package/fesm2015/primeng-icons-star.mjs +53 -0
  370. package/fesm2015/primeng-icons-star.mjs.map +1 -0
  371. package/fesm2015/primeng-icons-starfill.mjs +53 -0
  372. package/fesm2015/primeng-icons-starfill.mjs.map +1 -0
  373. package/fesm2015/primeng-icons-thlarge.mjs +57 -0
  374. package/fesm2015/primeng-icons-thlarge.mjs.map +1 -0
  375. package/fesm2015/primeng-icons-times.mjs +39 -0
  376. package/fesm2015/primeng-icons-times.mjs.map +1 -0
  377. package/fesm2015/primeng-icons-timescircle.mjs +57 -0
  378. package/fesm2015/primeng-icons-timescircle.mjs.map +1 -0
  379. package/fesm2015/primeng-icons-trash.mjs +57 -0
  380. package/fesm2015/primeng-icons-trash.mjs.map +1 -0
  381. package/fesm2015/primeng-icons-undo.mjs +57 -0
  382. package/fesm2015/primeng-icons-undo.mjs.map +1 -0
  383. package/fesm2015/primeng-icons-upload.mjs +57 -0
  384. package/fesm2015/primeng-icons-upload.mjs.map +1 -0
  385. package/fesm2015/primeng-icons-windowmaximize.mjs +57 -0
  386. package/fesm2015/primeng-icons-windowmaximize.mjs.map +1 -0
  387. package/fesm2015/primeng-icons-windowminimize.mjs +57 -0
  388. package/fesm2015/primeng-icons-windowminimize.mjs.map +1 -0
  389. package/fesm2015/primeng-image.mjs +48 -17
  390. package/fesm2015/primeng-image.mjs.map +1 -1
  391. package/fesm2015/primeng-inplace.mjs +24 -7
  392. package/fesm2015/primeng-inplace.mjs.map +1 -1
  393. package/fesm2015/primeng-inputmask.mjs +38 -9
  394. package/fesm2015/primeng-inputmask.mjs.map +1 -1
  395. package/fesm2015/primeng-inputnumber.mjs +123 -35
  396. package/fesm2015/primeng-inputnumber.mjs.map +1 -1
  397. package/fesm2015/primeng-knob.mjs +1 -0
  398. package/fesm2015/primeng-listbox.mjs +44 -10
  399. package/fesm2015/primeng-listbox.mjs.map +1 -1
  400. package/fesm2015/primeng-megamenu.mjs +28 -7
  401. package/fesm2015/primeng-megamenu.mjs.map +1 -1
  402. package/fesm2015/primeng-menubar.mjs +51 -15
  403. package/fesm2015/primeng-menubar.mjs.map +1 -1
  404. package/fesm2015/primeng-message.mjs +21 -28
  405. package/fesm2015/primeng-message.mjs.map +1 -1
  406. package/fesm2015/primeng-messages.mjs +35 -12
  407. package/fesm2015/primeng-messages.mjs.map +1 -1
  408. package/fesm2015/primeng-multiselect.mjs +116 -24
  409. package/fesm2015/primeng-multiselect.mjs.map +1 -1
  410. package/fesm2015/primeng-orderlist.mjs +64 -14
  411. package/fesm2015/primeng-orderlist.mjs.map +1 -1
  412. package/fesm2015/primeng-organizationchart.mjs +26 -7
  413. package/fesm2015/primeng-organizationchart.mjs.map +1 -1
  414. package/fesm2015/primeng-overlaypanel.mjs +16 -6
  415. package/fesm2015/primeng-overlaypanel.mjs.map +1 -1
  416. package/fesm2015/primeng-paginator.mjs +65 -16
  417. package/fesm2015/primeng-paginator.mjs.map +1 -1
  418. package/fesm2015/primeng-panel.mjs +35 -8
  419. package/fesm2015/primeng-panel.mjs.map +1 -1
  420. package/fesm2015/primeng-panelmenu.mjs +99 -19
  421. package/fesm2015/primeng-panelmenu.mjs.map +1 -1
  422. package/fesm2015/primeng-password.mjs +60 -11
  423. package/fesm2015/primeng-password.mjs.map +1 -1
  424. package/fesm2015/primeng-picklist.mjs +233 -63
  425. package/fesm2015/primeng-picklist.mjs.map +1 -1
  426. package/fesm2015/primeng-rating.mjs +39 -29
  427. package/fesm2015/primeng-rating.mjs.map +1 -1
  428. package/fesm2015/primeng-scroller.mjs +8 -7
  429. package/fesm2015/primeng-scroller.mjs.map +1 -1
  430. package/fesm2015/primeng-scrolltop.mjs +31 -10
  431. package/fesm2015/primeng-scrolltop.mjs.map +1 -1
  432. package/fesm2015/primeng-sidebar.mjs +17 -6
  433. package/fesm2015/primeng-sidebar.mjs.map +1 -1
  434. package/fesm2015/primeng-slidemenu.mjs +51 -16
  435. package/fesm2015/primeng-slidemenu.mjs.map +1 -1
  436. package/fesm2015/primeng-speeddial.mjs +10 -7
  437. package/fesm2015/primeng-speeddial.mjs.map +1 -1
  438. package/fesm2015/primeng-splitbutton.mjs +16 -6
  439. package/fesm2015/primeng-splitbutton.mjs.map +1 -1
  440. package/fesm2015/primeng-table.mjs +280 -37
  441. package/fesm2015/primeng-table.mjs.map +1 -1
  442. package/fesm2015/primeng-tabmenu.mjs +22 -9
  443. package/fesm2015/primeng-tabmenu.mjs.map +1 -1
  444. package/fesm2015/primeng-tabview.mjs +64 -16
  445. package/fesm2015/primeng-tabview.mjs.map +1 -1
  446. package/fesm2015/primeng-tag.mjs +32 -10
  447. package/fesm2015/primeng-tag.mjs.map +1 -1
  448. package/fesm2015/primeng-terminal.mjs +0 -1
  449. package/fesm2015/primeng-tieredmenu.mjs +42 -15
  450. package/fesm2015/primeng-tieredmenu.mjs.map +1 -1
  451. package/fesm2015/primeng-timeline.mjs +0 -1
  452. package/fesm2015/primeng-toast.mjs +39 -11
  453. package/fesm2015/primeng-toast.mjs.map +1 -1
  454. package/fesm2015/primeng-togglebutton.mjs +0 -1
  455. package/fesm2015/primeng-toolbar.mjs +0 -1
  456. package/fesm2015/primeng-tree.mjs +101 -19
  457. package/fesm2015/primeng-tree.mjs.map +1 -1
  458. package/fesm2015/primeng-treeselect.mjs +82 -13
  459. package/fesm2015/primeng-treeselect.mjs.map +1 -1
  460. package/fesm2015/primeng-treetable.mjs +202 -28
  461. package/fesm2015/primeng-treetable.mjs.map +1 -1
  462. package/fesm2015/primeng-tristatecheckbox.mjs +63 -13
  463. package/fesm2015/primeng-tristatecheckbox.mjs.map +1 -1
  464. package/fesm2015/primeng-virtualscroller.mjs +0 -1
  465. package/fesm2020/primeng-accordion.mjs +31 -8
  466. package/fesm2020/primeng-accordion.mjs.map +1 -1
  467. package/fesm2020/primeng-autocomplete.mjs +75 -22
  468. package/fesm2020/primeng-autocomplete.mjs.map +1 -1
  469. package/fesm2020/primeng-baseicon.mjs +49 -0
  470. package/fesm2020/primeng-baseicon.mjs.map +1 -0
  471. package/fesm2020/primeng-breadcrumb.mjs +46 -15
  472. package/fesm2020/primeng-breadcrumb.mjs.map +1 -1
  473. package/fesm2020/primeng-button.mjs +81 -49
  474. package/fesm2020/primeng-button.mjs.map +1 -1
  475. package/fesm2020/primeng-calendar.mjs +102 -29
  476. package/fesm2020/primeng-calendar.mjs.map +1 -1
  477. package/fesm2020/primeng-carousel.mjs +42 -8
  478. package/fesm2020/primeng-carousel.mjs.map +1 -1
  479. package/fesm2020/primeng-cascadeselect.mjs +54 -12
  480. package/fesm2020/primeng-cascadeselect.mjs.map +1 -1
  481. package/fesm2020/primeng-chart.mjs +1 -0
  482. package/fesm2020/primeng-checkbox.mjs +41 -10
  483. package/fesm2020/primeng-checkbox.mjs.map +1 -1
  484. package/fesm2020/primeng-chip.mjs +43 -11
  485. package/fesm2020/primeng-chip.mjs.map +1 -1
  486. package/fesm2020/primeng-chips.mjs +32 -8
  487. package/fesm2020/primeng-chips.mjs.map +1 -1
  488. package/fesm2020/primeng-confirmdialog.mjs +50 -14
  489. package/fesm2020/primeng-confirmdialog.mjs.map +1 -1
  490. package/fesm2020/primeng-confirmpopup.mjs +39 -16
  491. package/fesm2020/primeng-confirmpopup.mjs.map +1 -1
  492. package/fesm2020/primeng-contextmenu.mjs +38 -14
  493. package/fesm2020/primeng-contextmenu.mjs.map +1 -1
  494. package/fesm2020/primeng-dataview.mjs +37 -12
  495. package/fesm2020/primeng-dataview.mjs.map +1 -1
  496. package/fesm2020/primeng-defer.mjs +1 -0
  497. package/fesm2020/primeng-dialog.mjs +52 -11
  498. package/fesm2020/primeng-dialog.mjs.map +1 -1
  499. package/fesm2020/primeng-dom.mjs +3 -1
  500. package/fesm2020/primeng-dom.mjs.map +1 -1
  501. package/fesm2020/primeng-dropdown.mjs +58 -11
  502. package/fesm2020/primeng-dropdown.mjs.map +1 -1
  503. package/fesm2020/primeng-dynamicdialog.mjs +19 -10
  504. package/fesm2020/primeng-dynamicdialog.mjs.map +1 -1
  505. package/fesm2020/primeng-fieldset.mjs +36 -6
  506. package/fesm2020/primeng-fieldset.mjs.map +1 -1
  507. package/fesm2020/primeng-fileupload.mjs +110 -17
  508. package/fesm2020/primeng-fileupload.mjs.map +1 -1
  509. package/fesm2020/primeng-galleria.mjs +66 -22
  510. package/fesm2020/primeng-galleria.mjs.map +1 -1
  511. package/fesm2020/primeng-icons-angledoubledown.mjs +43 -0
  512. package/fesm2020/primeng-icons-angledoubledown.mjs.map +1 -0
  513. package/fesm2020/primeng-icons-angledoubleleft.mjs +43 -0
  514. package/fesm2020/primeng-icons-angledoubleleft.mjs.map +1 -0
  515. package/fesm2020/primeng-icons-angledoubleright.mjs +43 -0
  516. package/fesm2020/primeng-icons-angledoubleright.mjs.map +1 -0
  517. package/fesm2020/primeng-icons-angledoubleup.mjs +43 -0
  518. package/fesm2020/primeng-icons-angledoubleup.mjs.map +1 -0
  519. package/fesm2020/primeng-icons-angledown.mjs +39 -0
  520. package/fesm2020/primeng-icons-angledown.mjs.map +1 -0
  521. package/fesm2020/primeng-icons-angleleft.mjs +39 -0
  522. package/fesm2020/primeng-icons-angleleft.mjs.map +1 -0
  523. package/fesm2020/primeng-icons-angleright.mjs +39 -0
  524. package/fesm2020/primeng-icons-angleright.mjs.map +1 -0
  525. package/fesm2020/primeng-icons-angleup.mjs +39 -0
  526. package/fesm2020/primeng-icons-angleup.mjs.map +1 -0
  527. package/fesm2020/primeng-icons-arrowdown.mjs +57 -0
  528. package/fesm2020/primeng-icons-arrowdown.mjs.map +1 -0
  529. package/fesm2020/primeng-icons-arrowdownleft.mjs +39 -0
  530. package/fesm2020/primeng-icons-arrowdownleft.mjs.map +1 -0
  531. package/fesm2020/primeng-icons-arrowdownright.mjs +39 -0
  532. package/fesm2020/primeng-icons-arrowdownright.mjs.map +1 -0
  533. package/fesm2020/primeng-icons-arrowleft.mjs +57 -0
  534. package/fesm2020/primeng-icons-arrowleft.mjs.map +1 -0
  535. package/fesm2020/primeng-icons-arrowright.mjs +43 -0
  536. package/fesm2020/primeng-icons-arrowright.mjs.map +1 -0
  537. package/fesm2020/primeng-icons-arrowup.mjs +57 -0
  538. package/fesm2020/primeng-icons-arrowup.mjs.map +1 -0
  539. package/fesm2020/primeng-icons-ban.mjs +53 -0
  540. package/fesm2020/primeng-icons-ban.mjs.map +1 -0
  541. package/fesm2020/primeng-icons-bars.mjs +43 -0
  542. package/fesm2020/primeng-icons-bars.mjs.map +1 -0
  543. package/fesm2020/primeng-icons-calendar.mjs +39 -0
  544. package/fesm2020/primeng-icons-calendar.mjs.map +1 -0
  545. package/fesm2020/primeng-icons-caretleft.mjs +39 -0
  546. package/fesm2020/primeng-icons-caretleft.mjs.map +1 -0
  547. package/fesm2020/primeng-icons-caretright.mjs +39 -0
  548. package/fesm2020/primeng-icons-caretright.mjs.map +1 -0
  549. package/fesm2020/primeng-icons-check.mjs +39 -0
  550. package/fesm2020/primeng-icons-check.mjs.map +1 -0
  551. package/fesm2020/primeng-icons-chevrondown.mjs +39 -0
  552. package/fesm2020/primeng-icons-chevrondown.mjs.map +1 -0
  553. package/fesm2020/primeng-icons-chevronleft.mjs +39 -0
  554. package/fesm2020/primeng-icons-chevronleft.mjs.map +1 -0
  555. package/fesm2020/primeng-icons-chevronright.mjs +39 -0
  556. package/fesm2020/primeng-icons-chevronright.mjs.map +1 -0
  557. package/fesm2020/primeng-icons-chevronup.mjs +39 -0
  558. package/fesm2020/primeng-icons-chevronup.mjs.map +1 -0
  559. package/fesm2020/primeng-icons-exclamationtriangle.mjs +69 -0
  560. package/fesm2020/primeng-icons-exclamationtriangle.mjs.map +1 -0
  561. package/fesm2020/primeng-icons-eye.mjs +43 -0
  562. package/fesm2020/primeng-icons-eye.mjs.map +1 -0
  563. package/fesm2020/primeng-icons-eyeslash.mjs +57 -0
  564. package/fesm2020/primeng-icons-eyeslash.mjs.map +1 -0
  565. package/fesm2020/primeng-icons-filter.mjs +53 -0
  566. package/fesm2020/primeng-icons-filter.mjs.map +1 -0
  567. package/fesm2020/primeng-icons-filterslash.mjs +57 -0
  568. package/fesm2020/primeng-icons-filterslash.mjs.map +1 -0
  569. package/fesm2020/primeng-icons-home.mjs +57 -0
  570. package/fesm2020/primeng-icons-home.mjs.map +1 -0
  571. package/fesm2020/primeng-icons-infocircle.mjs +57 -0
  572. package/fesm2020/primeng-icons-infocircle.mjs.map +1 -0
  573. package/fesm2020/primeng-icons-minus.mjs +40 -0
  574. package/fesm2020/primeng-icons-minus.mjs.map +1 -0
  575. package/fesm2020/primeng-icons-pencil.mjs +53 -0
  576. package/fesm2020/primeng-icons-pencil.mjs.map +1 -0
  577. package/fesm2020/primeng-icons-plus.mjs +53 -0
  578. package/fesm2020/primeng-icons-plus.mjs.map +1 -0
  579. package/fesm2020/primeng-icons-refresh.mjs +57 -0
  580. package/fesm2020/primeng-icons-refresh.mjs.map +1 -0
  581. package/fesm2020/primeng-icons-search.mjs +57 -0
  582. package/fesm2020/primeng-icons-search.mjs.map +1 -0
  583. package/fesm2020/primeng-icons-searchminus.mjs +57 -0
  584. package/fesm2020/primeng-icons-searchminus.mjs.map +1 -0
  585. package/fesm2020/primeng-icons-searchplus.mjs +57 -0
  586. package/fesm2020/primeng-icons-searchplus.mjs.map +1 -0
  587. package/fesm2020/primeng-icons-sortalt.mjs +65 -0
  588. package/fesm2020/primeng-icons-sortalt.mjs.map +1 -0
  589. package/fesm2020/primeng-icons-sortamountdown.mjs +93 -0
  590. package/fesm2020/primeng-icons-sortamountdown.mjs.map +1 -0
  591. package/fesm2020/primeng-icons-sortamountupalt.mjs +93 -0
  592. package/fesm2020/primeng-icons-sortamountupalt.mjs.map +1 -0
  593. package/fesm2020/primeng-icons-spinner.mjs +53 -0
  594. package/fesm2020/primeng-icons-spinner.mjs.map +1 -0
  595. package/fesm2020/primeng-icons-star.mjs +53 -0
  596. package/fesm2020/primeng-icons-star.mjs.map +1 -0
  597. package/fesm2020/primeng-icons-starfill.mjs +53 -0
  598. package/fesm2020/primeng-icons-starfill.mjs.map +1 -0
  599. package/fesm2020/primeng-icons-thlarge.mjs +57 -0
  600. package/fesm2020/primeng-icons-thlarge.mjs.map +1 -0
  601. package/fesm2020/primeng-icons-times.mjs +39 -0
  602. package/fesm2020/primeng-icons-times.mjs.map +1 -0
  603. package/fesm2020/primeng-icons-timescircle.mjs +57 -0
  604. package/fesm2020/primeng-icons-timescircle.mjs.map +1 -0
  605. package/fesm2020/primeng-icons-trash.mjs +57 -0
  606. package/fesm2020/primeng-icons-trash.mjs.map +1 -0
  607. package/fesm2020/primeng-icons-undo.mjs +57 -0
  608. package/fesm2020/primeng-icons-undo.mjs.map +1 -0
  609. package/fesm2020/primeng-icons-upload.mjs +57 -0
  610. package/fesm2020/primeng-icons-upload.mjs.map +1 -0
  611. package/fesm2020/primeng-icons-windowmaximize.mjs +57 -0
  612. package/fesm2020/primeng-icons-windowmaximize.mjs.map +1 -0
  613. package/fesm2020/primeng-icons-windowminimize.mjs +57 -0
  614. package/fesm2020/primeng-icons-windowminimize.mjs.map +1 -0
  615. package/fesm2020/primeng-image.mjs +48 -17
  616. package/fesm2020/primeng-image.mjs.map +1 -1
  617. package/fesm2020/primeng-inplace.mjs +24 -7
  618. package/fesm2020/primeng-inplace.mjs.map +1 -1
  619. package/fesm2020/primeng-inputmask.mjs +38 -9
  620. package/fesm2020/primeng-inputmask.mjs.map +1 -1
  621. package/fesm2020/primeng-inputnumber.mjs +123 -35
  622. package/fesm2020/primeng-inputnumber.mjs.map +1 -1
  623. package/fesm2020/primeng-knob.mjs +1 -0
  624. package/fesm2020/primeng-listbox.mjs +44 -10
  625. package/fesm2020/primeng-listbox.mjs.map +1 -1
  626. package/fesm2020/primeng-megamenu.mjs +28 -7
  627. package/fesm2020/primeng-megamenu.mjs.map +1 -1
  628. package/fesm2020/primeng-menubar.mjs +51 -15
  629. package/fesm2020/primeng-menubar.mjs.map +1 -1
  630. package/fesm2020/primeng-message.mjs +21 -28
  631. package/fesm2020/primeng-message.mjs.map +1 -1
  632. package/fesm2020/primeng-messages.mjs +35 -12
  633. package/fesm2020/primeng-messages.mjs.map +1 -1
  634. package/fesm2020/primeng-multiselect.mjs +116 -24
  635. package/fesm2020/primeng-multiselect.mjs.map +1 -1
  636. package/fesm2020/primeng-orderlist.mjs +64 -14
  637. package/fesm2020/primeng-orderlist.mjs.map +1 -1
  638. package/fesm2020/primeng-organizationchart.mjs +26 -7
  639. package/fesm2020/primeng-organizationchart.mjs.map +1 -1
  640. package/fesm2020/primeng-overlaypanel.mjs +16 -6
  641. package/fesm2020/primeng-overlaypanel.mjs.map +1 -1
  642. package/fesm2020/primeng-paginator.mjs +65 -16
  643. package/fesm2020/primeng-paginator.mjs.map +1 -1
  644. package/fesm2020/primeng-panel.mjs +35 -8
  645. package/fesm2020/primeng-panel.mjs.map +1 -1
  646. package/fesm2020/primeng-panelmenu.mjs +99 -19
  647. package/fesm2020/primeng-panelmenu.mjs.map +1 -1
  648. package/fesm2020/primeng-password.mjs +60 -11
  649. package/fesm2020/primeng-password.mjs.map +1 -1
  650. package/fesm2020/primeng-picklist.mjs +233 -63
  651. package/fesm2020/primeng-picklist.mjs.map +1 -1
  652. package/fesm2020/primeng-rating.mjs +39 -29
  653. package/fesm2020/primeng-rating.mjs.map +1 -1
  654. package/fesm2020/primeng-scroller.mjs +8 -7
  655. package/fesm2020/primeng-scroller.mjs.map +1 -1
  656. package/fesm2020/primeng-scrolltop.mjs +31 -10
  657. package/fesm2020/primeng-scrolltop.mjs.map +1 -1
  658. package/fesm2020/primeng-sidebar.mjs +17 -6
  659. package/fesm2020/primeng-sidebar.mjs.map +1 -1
  660. package/fesm2020/primeng-slidemenu.mjs +51 -16
  661. package/fesm2020/primeng-slidemenu.mjs.map +1 -1
  662. package/fesm2020/primeng-speeddial.mjs +10 -7
  663. package/fesm2020/primeng-speeddial.mjs.map +1 -1
  664. package/fesm2020/primeng-splitbutton.mjs +16 -6
  665. package/fesm2020/primeng-splitbutton.mjs.map +1 -1
  666. package/fesm2020/primeng-table.mjs +280 -37
  667. package/fesm2020/primeng-table.mjs.map +1 -1
  668. package/fesm2020/primeng-tabmenu.mjs +22 -9
  669. package/fesm2020/primeng-tabmenu.mjs.map +1 -1
  670. package/fesm2020/primeng-tabview.mjs +64 -16
  671. package/fesm2020/primeng-tabview.mjs.map +1 -1
  672. package/fesm2020/primeng-tag.mjs +32 -10
  673. package/fesm2020/primeng-tag.mjs.map +1 -1
  674. package/fesm2020/primeng-terminal.mjs +0 -1
  675. package/fesm2020/primeng-tieredmenu.mjs +42 -15
  676. package/fesm2020/primeng-tieredmenu.mjs.map +1 -1
  677. package/fesm2020/primeng-timeline.mjs +0 -1
  678. package/fesm2020/primeng-toast.mjs +39 -11
  679. package/fesm2020/primeng-toast.mjs.map +1 -1
  680. package/fesm2020/primeng-togglebutton.mjs +0 -1
  681. package/fesm2020/primeng-toolbar.mjs +0 -1
  682. package/fesm2020/primeng-tree.mjs +101 -19
  683. package/fesm2020/primeng-tree.mjs.map +1 -1
  684. package/fesm2020/primeng-treeselect.mjs +82 -13
  685. package/fesm2020/primeng-treeselect.mjs.map +1 -1
  686. package/fesm2020/primeng-treetable.mjs +202 -28
  687. package/fesm2020/primeng-treetable.mjs.map +1 -1
  688. package/fesm2020/primeng-tristatecheckbox.mjs +63 -13
  689. package/fesm2020/primeng-tristatecheckbox.mjs.map +1 -1
  690. package/fesm2020/primeng-virtualscroller.mjs +0 -1
  691. package/fieldset/fieldset.d.ts +6 -2
  692. package/fileupload/fileupload.d.ts +7 -1
  693. package/galleria/galleria.d.ts +15 -2
  694. package/icons/angledoubledown/angledoubledown.d.ts +6 -0
  695. package/icons/angledoubledown/index.d.ts +5 -0
  696. package/icons/angledoubledown/public_api.d.ts +1 -0
  697. package/icons/angledoubleleft/angledoubleleft.d.ts +6 -0
  698. package/icons/angledoubleleft/index.d.ts +5 -0
  699. package/icons/angledoubleleft/public_api.d.ts +1 -0
  700. package/icons/angledoubleright/angledoubleright.d.ts +6 -0
  701. package/icons/angledoubleright/index.d.ts +5 -0
  702. package/icons/angledoubleright/public_api.d.ts +1 -0
  703. package/icons/angledoubleup/angledoubleup.d.ts +6 -0
  704. package/icons/angledoubleup/index.d.ts +5 -0
  705. package/icons/angledoubleup/public_api.d.ts +1 -0
  706. package/icons/angledown/angledown.d.ts +6 -0
  707. package/icons/angledown/index.d.ts +5 -0
  708. package/icons/angledown/public_api.d.ts +1 -0
  709. package/icons/angleleft/angleleft.d.ts +6 -0
  710. package/icons/angleleft/index.d.ts +5 -0
  711. package/icons/angleleft/public_api.d.ts +1 -0
  712. package/icons/angleright/angleright.d.ts +6 -0
  713. package/icons/angleright/index.d.ts +5 -0
  714. package/icons/angleright/public_api.d.ts +1 -0
  715. package/icons/angleup/angleup.d.ts +6 -0
  716. package/icons/angleup/index.d.ts +5 -0
  717. package/icons/angleup/public_api.d.ts +1 -0
  718. package/icons/arrowdown/arrowdown.d.ts +6 -0
  719. package/icons/arrowdown/index.d.ts +5 -0
  720. package/icons/arrowdown/public_api.d.ts +1 -0
  721. package/icons/arrowdownleft/arrowdownleft.d.ts +6 -0
  722. package/icons/arrowdownleft/index.d.ts +5 -0
  723. package/icons/arrowdownleft/public_api.d.ts +1 -0
  724. package/icons/arrowdownright/arrowdownright.d.ts +6 -0
  725. package/icons/arrowdownright/index.d.ts +5 -0
  726. package/icons/arrowdownright/public_api.d.ts +1 -0
  727. package/icons/arrowleft/arrowleft.d.ts +6 -0
  728. package/icons/arrowleft/index.d.ts +5 -0
  729. package/icons/arrowleft/public_api.d.ts +1 -0
  730. package/icons/arrowright/arrowright.d.ts +6 -0
  731. package/icons/arrowright/index.d.ts +5 -0
  732. package/icons/arrowright/public_api.d.ts +1 -0
  733. package/icons/arrowup/arrowup.d.ts +6 -0
  734. package/icons/arrowup/index.d.ts +5 -0
  735. package/icons/arrowup/public_api.d.ts +1 -0
  736. package/icons/ban/ban.d.ts +6 -0
  737. package/{captcha → icons/ban}/index.d.ts +1 -1
  738. package/icons/ban/public_api.d.ts +1 -0
  739. package/icons/bars/bars.d.ts +6 -0
  740. package/icons/bars/index.d.ts +5 -0
  741. package/icons/bars/public_api.d.ts +1 -0
  742. package/icons/calendar/calendar.d.ts +6 -0
  743. package/icons/calendar/index.d.ts +5 -0
  744. package/icons/calendar/public_api.d.ts +1 -0
  745. package/icons/caretleft/caretleft.d.ts +6 -0
  746. package/icons/caretleft/index.d.ts +5 -0
  747. package/icons/caretleft/public_api.d.ts +1 -0
  748. package/icons/caretright/caretright.d.ts +6 -0
  749. package/icons/caretright/index.d.ts +5 -0
  750. package/icons/caretright/public_api.d.ts +1 -0
  751. package/icons/check/check.d.ts +6 -0
  752. package/icons/check/index.d.ts +5 -0
  753. package/icons/check/public_api.d.ts +1 -0
  754. package/icons/chevrondown/chevrondown.d.ts +6 -0
  755. package/icons/chevrondown/index.d.ts +5 -0
  756. package/icons/chevrondown/public_api.d.ts +1 -0
  757. package/icons/chevronleft/chevronleft.d.ts +6 -0
  758. package/icons/chevronleft/index.d.ts +5 -0
  759. package/icons/chevronleft/public_api.d.ts +1 -0
  760. package/icons/chevronright/chevronright.d.ts +6 -0
  761. package/icons/chevronright/index.d.ts +5 -0
  762. package/icons/chevronright/public_api.d.ts +1 -0
  763. package/icons/chevronup/chevronup.d.ts +6 -0
  764. package/icons/chevronup/index.d.ts +5 -0
  765. package/icons/chevronup/public_api.d.ts +1 -0
  766. package/icons/exclamationtriangle/exclamationtriangle.d.ts +6 -0
  767. package/icons/exclamationtriangle/index.d.ts +5 -0
  768. package/icons/exclamationtriangle/public_api.d.ts +1 -0
  769. package/icons/eye/eye.d.ts +6 -0
  770. package/{lightbox → icons/eye}/index.d.ts +1 -1
  771. package/icons/eye/public_api.d.ts +1 -0
  772. package/icons/eyeslash/eyeslash.d.ts +6 -0
  773. package/icons/eyeslash/index.d.ts +5 -0
  774. package/icons/eyeslash/public_api.d.ts +1 -0
  775. package/icons/filter/filter.d.ts +6 -0
  776. package/icons/filter/index.d.ts +5 -0
  777. package/icons/filter/public_api.d.ts +1 -0
  778. package/icons/filterslash/filterslash.d.ts +6 -0
  779. package/icons/filterslash/index.d.ts +5 -0
  780. package/icons/filterslash/public_api.d.ts +1 -0
  781. package/icons/home/home.d.ts +6 -0
  782. package/icons/home/index.d.ts +5 -0
  783. package/icons/home/public_api.d.ts +1 -0
  784. package/icons/infocircle/index.d.ts +5 -0
  785. package/icons/infocircle/infocircle.d.ts +6 -0
  786. package/icons/infocircle/public_api.d.ts +1 -0
  787. package/icons/minus/index.d.ts +5 -0
  788. package/icons/minus/minus.d.ts +6 -0
  789. package/icons/minus/public_api.d.ts +1 -0
  790. package/icons/pencil/index.d.ts +5 -0
  791. package/icons/pencil/pencil.d.ts +6 -0
  792. package/icons/pencil/public_api.d.ts +1 -0
  793. package/icons/plus/index.d.ts +5 -0
  794. package/icons/plus/plus.d.ts +6 -0
  795. package/icons/plus/public_api.d.ts +1 -0
  796. package/icons/refresh/index.d.ts +5 -0
  797. package/icons/refresh/public_api.d.ts +1 -0
  798. package/icons/refresh/refresh.d.ts +6 -0
  799. package/icons/search/index.d.ts +5 -0
  800. package/icons/search/public_api.d.ts +1 -0
  801. package/icons/search/search.d.ts +6 -0
  802. package/icons/searchminus/index.d.ts +5 -0
  803. package/icons/searchminus/public_api.d.ts +1 -0
  804. package/icons/searchminus/searchminus.d.ts +6 -0
  805. package/icons/searchplus/index.d.ts +5 -0
  806. package/icons/searchplus/public_api.d.ts +1 -0
  807. package/icons/searchplus/searchplus.d.ts +6 -0
  808. package/icons/sortalt/index.d.ts +5 -0
  809. package/icons/sortalt/public_api.d.ts +1 -0
  810. package/icons/sortalt/sortalt.d.ts +6 -0
  811. package/icons/sortamountdown/index.d.ts +5 -0
  812. package/icons/sortamountdown/public_api.d.ts +1 -0
  813. package/icons/sortamountdown/sortamountdown.d.ts +6 -0
  814. package/icons/sortamountupalt/index.d.ts +5 -0
  815. package/icons/sortamountupalt/public_api.d.ts +1 -0
  816. package/icons/sortamountupalt/sortamountupalt.d.ts +6 -0
  817. package/icons/spinner/index.d.ts +5 -0
  818. package/icons/spinner/public_api.d.ts +1 -0
  819. package/icons/spinner/spinner.d.ts +6 -0
  820. package/icons/star/index.d.ts +5 -0
  821. package/icons/star/public_api.d.ts +1 -0
  822. package/icons/star/star.d.ts +6 -0
  823. package/icons/starfill/index.d.ts +5 -0
  824. package/icons/starfill/public_api.d.ts +1 -0
  825. package/icons/starfill/starfill.d.ts +6 -0
  826. package/icons/thlarge/index.d.ts +5 -0
  827. package/icons/thlarge/public_api.d.ts +1 -0
  828. package/icons/thlarge/thlarge.d.ts +6 -0
  829. package/icons/times/index.d.ts +5 -0
  830. package/icons/times/public_api.d.ts +1 -0
  831. package/icons/times/times.d.ts +6 -0
  832. package/icons/timescircle/index.d.ts +5 -0
  833. package/icons/timescircle/public_api.d.ts +1 -0
  834. package/icons/timescircle/timescircle.d.ts +6 -0
  835. package/icons/trash/index.d.ts +5 -0
  836. package/icons/trash/public_api.d.ts +1 -0
  837. package/icons/trash/trash.d.ts +6 -0
  838. package/icons/undo/index.d.ts +5 -0
  839. package/icons/undo/public_api.d.ts +1 -0
  840. package/icons/undo/undo.d.ts +6 -0
  841. package/icons/upload/index.d.ts +5 -0
  842. package/icons/upload/public_api.d.ts +1 -0
  843. package/icons/upload/upload.d.ts +6 -0
  844. package/icons/windowmaximize/index.d.ts +5 -0
  845. package/icons/windowmaximize/public_api.d.ts +1 -0
  846. package/icons/windowmaximize/windowmaximize.d.ts +6 -0
  847. package/icons/windowminimize/index.d.ts +5 -0
  848. package/icons/windowminimize/public_api.d.ts +1 -0
  849. package/icons/windowminimize/windowminimize.d.ts +6 -0
  850. package/image/image.d.ts +12 -1
  851. package/inplace/inplace.d.ts +3 -1
  852. package/inputmask/inputmask.d.ts +8 -3
  853. package/inputnumber/inputnumber.d.ts +13 -4
  854. package/listbox/listbox.d.ts +5 -1
  855. package/megamenu/megamenu.d.ts +4 -1
  856. package/menubar/menubar.d.ts +8 -2
  857. package/message/message.d.ts +5 -1
  858. package/messages/messages.d.ts +6 -1
  859. package/multiselect/multiselect.d.ts +14 -2
  860. package/orderlist/orderlist.d.ts +11 -1
  861. package/organizationchart/organizationchart.d.ts +5 -2
  862. package/overlaypanel/overlaypanel.d.ts +3 -1
  863. package/package.json +425 -26
  864. package/paginator/paginator.d.ts +14 -4
  865. package/panel/panel.d.ts +4 -1
  866. package/panelmenu/panelmenu.d.ts +14 -5
  867. package/password/password.d.ts +8 -3
  868. package/picklist/picklist.d.ts +32 -2
  869. package/rating/rating.d.ts +5 -2
  870. package/resources/components/chip/chip.css +4 -1
  871. package/resources/components/common/common.css +34 -0
  872. package/resources/components/contextmenu/contextmenu.css +5 -1
  873. package/resources/components/image/image.css +5 -1
  874. package/resources/components/inputtext/inputtext.css +3 -1
  875. package/resources/components/megamenu/megamenu.css +4 -1
  876. package/resources/components/menubar/menubar.css +5 -1
  877. package/resources/components/multiselect/multiselect.css +0 -4
  878. package/resources/components/rating/rating.css +4 -1
  879. package/resources/components/scroller/scroller.css +1 -1
  880. package/resources/components/slidemenu/slidemenu.css +6 -1
  881. package/resources/components/tabmenu/tabmenu.css +1 -1
  882. package/resources/primeng.css +36 -1
  883. package/resources/primeng.min.css +1 -1
  884. package/resources/themes/arya-blue/theme.css +96 -9
  885. package/resources/themes/arya-green/theme.css +96 -9
  886. package/resources/themes/arya-orange/theme.css +96 -9
  887. package/resources/themes/arya-purple/theme.css +96 -9
  888. package/resources/themes/bootstrap4-dark-blue/theme.css +96 -9
  889. package/resources/themes/bootstrap4-dark-purple/theme.css +96 -9
  890. package/resources/themes/bootstrap4-light-blue/theme.css +96 -9
  891. package/resources/themes/bootstrap4-light-purple/theme.css +96 -9
  892. package/resources/themes/fluent-light/theme.css +96 -9
  893. package/resources/themes/lara-dark-blue/theme.css +96 -9
  894. package/resources/themes/lara-dark-indigo/theme.css +96 -9
  895. package/resources/themes/lara-dark-purple/theme.css +96 -9
  896. package/resources/themes/lara-dark-teal/theme.css +96 -9
  897. package/resources/themes/lara-light-blue/theme.css +103 -16
  898. package/resources/themes/lara-light-indigo/theme.css +103 -16
  899. package/resources/themes/lara-light-purple/theme.css +103 -16
  900. package/resources/themes/lara-light-teal/theme.css +103 -16
  901. package/resources/themes/luna-amber/theme.css +110 -23
  902. package/resources/themes/luna-blue/theme.css +110 -23
  903. package/resources/themes/luna-green/theme.css +110 -23
  904. package/resources/themes/luna-pink/theme.css +110 -23
  905. package/resources/themes/md-dark-deeppurple/theme.css +218 -134
  906. package/resources/themes/md-dark-indigo/theme.css +218 -134
  907. package/resources/themes/md-light-deeppurple/theme.css +100 -16
  908. package/resources/themes/md-light-indigo/theme.css +100 -16
  909. package/resources/themes/mdc-dark-deeppurple/theme.css +218 -134
  910. package/resources/themes/mdc-dark-indigo/theme.css +218 -134
  911. package/resources/themes/mdc-light-deeppurple/theme.css +100 -16
  912. package/resources/themes/mdc-light-indigo/theme.css +100 -16
  913. package/resources/themes/mira/theme.css +100 -17
  914. package/resources/themes/nano/theme.css +96 -9
  915. package/resources/themes/nova/theme.css +96 -9
  916. package/resources/themes/nova-accent/theme.css +96 -9
  917. package/resources/themes/nova-alt/theme.css +96 -9
  918. package/resources/themes/rhea/theme.css +96 -9
  919. package/resources/themes/saga-blue/theme.css +96 -9
  920. package/resources/themes/saga-green/theme.css +96 -9
  921. package/resources/themes/saga-orange/theme.css +96 -9
  922. package/resources/themes/saga-purple/theme.css +96 -9
  923. package/resources/themes/soho-dark/theme.css +146 -62
  924. package/resources/themes/soho-light/theme.css +99 -15
  925. package/resources/themes/tailwind-light/theme.css +126 -44
  926. package/resources/themes/vela-blue/theme.css +96 -9
  927. package/resources/themes/vela-green/theme.css +96 -9
  928. package/resources/themes/vela-orange/theme.css +96 -9
  929. package/resources/themes/vela-purple/theme.css +96 -9
  930. package/resources/themes/viva-dark/theme.css +100 -17
  931. package/resources/themes/viva-light/theme.css +100 -17
  932. package/scroller/scroller.d.ts +2 -1
  933. package/scrolltop/scrolltop.d.ts +8 -3
  934. package/sidebar/sidebar.d.ts +3 -1
  935. package/slidemenu/slidemenu.d.ts +12 -4
  936. package/speeddial/speeddial.d.ts +3 -2
  937. package/splitbutton/splitbutton.d.ts +3 -1
  938. package/table/table.d.ts +23 -2
  939. package/tabmenu/tabmenu.d.ts +5 -1
  940. package/tabview/tabview.d.ts +11 -2
  941. package/tag/tag.d.ts +7 -2
  942. package/tieredmenu/tieredmenu.d.ts +11 -5
  943. package/toast/toast.d.ts +7 -2
  944. package/tree/tree.d.ts +11 -1
  945. package/treeselect/treeselect.d.ts +11 -1
  946. package/treetable/treetable.d.ts +23 -2
  947. package/tristatecheckbox/tristatecheckbox.d.ts +10 -3
  948. package/captcha/captcha.d.ts +0 -35
  949. package/captcha/public_api.d.ts +0 -1
  950. package/esm2020/captcha/captcha.mjs +0 -130
  951. package/esm2020/captcha/primeng-captcha.mjs +0 -5
  952. package/esm2020/captcha/public_api.mjs +0 -2
  953. package/esm2020/gmap/gmap.mjs +0 -186
  954. package/esm2020/gmap/primeng-gmap.mjs +0 -5
  955. package/esm2020/gmap/public_api.mjs +0 -2
  956. package/esm2020/lightbox/lightbox.mjs +0 -274
  957. package/fesm2015/primeng-captcha.mjs +0 -138
  958. package/fesm2015/primeng-captcha.mjs.map +0 -1
  959. package/fesm2015/primeng-gmap.mjs +0 -194
  960. package/fesm2015/primeng-gmap.mjs.map +0 -1
  961. package/fesm2015/primeng-lightbox.mjs +0 -282
  962. package/fesm2015/primeng-lightbox.mjs.map +0 -1
  963. package/fesm2020/primeng-captcha.mjs +0 -138
  964. package/fesm2020/primeng-captcha.mjs.map +0 -1
  965. package/fesm2020/primeng-gmap.mjs +0 -194
  966. package/fesm2020/primeng-gmap.mjs.map +0 -1
  967. package/fesm2020/primeng-lightbox.mjs +0 -282
  968. package/fesm2020/primeng-lightbox.mjs.map +0 -1
  969. package/gmap/gmap.d.ts +0 -37
  970. package/gmap/public_api.d.ts +0 -1
  971. package/lightbox/lightbox.d.ts +0 -52
  972. package/lightbox/public_api.d.ts +0 -1
  973. package/resources/components/lightbox/images/loading.gif +0 -0
  974. package/resources/components/lightbox/lightbox.css +0 -64
  975. package/resources/images/loading.gif +0 -0
@@ -1,14 +1,27 @@
1
- import { NgModule, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, EventEmitter } from '@angular/core';
1
+ import { NgModule, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, EventEmitter, ContentChildren } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
+ import { TimesCircleIcon } from 'primeng/icons/timescircle';
4
+ import { PrimeTemplate, SharedModule } from 'primeng/api';
3
5
  import * as i0 from "@angular/core";
4
6
  import * as i1 from "@angular/common";
5
7
  export class Chip {
6
8
  constructor() {
7
- this.removeIcon = 'pi pi-times-circle';
8
9
  this.onRemove = new EventEmitter();
9
10
  this.onImageError = new EventEmitter();
10
11
  this.visible = true;
11
12
  }
13
+ ngAfterContentInit() {
14
+ this.templates.forEach((item) => {
15
+ switch (item.getType()) {
16
+ case 'removeicon':
17
+ this.removeIconTemplate = item.template;
18
+ break;
19
+ default:
20
+ this.removeIconTemplate = item.template;
21
+ break;
22
+ }
23
+ });
24
+ }
12
25
  containerClass() {
13
26
  return {
14
27
  'p-chip p-component': true,
@@ -24,15 +37,23 @@ export class Chip {
24
37
  }
25
38
  }
26
39
  Chip.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: Chip, deps: [], target: i0.ɵɵFactoryTarget.Component });
27
- Chip.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: Chip, selector: "p-chip", inputs: { label: "label", icon: "icon", image: "image", style: "style", styleClass: "styleClass", removable: "removable", removeIcon: "removeIcon" }, outputs: { onRemove: "onRemove", onImageError: "onImageError" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
40
+ Chip.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: Chip, selector: "p-chip", inputs: { label: "label", icon: "icon", image: "image", style: "style", styleClass: "styleClass", removable: "removable", removeIcon: "removeIcon" }, outputs: { onRemove: "onRemove", onImageError: "onImageError" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], ngImport: i0, template: `
28
41
  <div [ngClass]="containerClass()" [class]="styleClass" [ngStyle]="style" *ngIf="visible">
29
42
  <ng-content></ng-content>
30
43
  <img [src]="image" *ngIf="image; else iconTemplate" (error)="imageError($event)" />
31
44
  <ng-template #iconTemplate><span *ngIf="icon" [class]="icon" [ngClass]="'p-chip-icon'"></span></ng-template>
32
45
  <div class="p-chip-text" *ngIf="label">{{ label }}</div>
33
- <span *ngIf="removable" tabindex="0" [class]="removeIcon" [ngClass]="'pi-chip-remove-icon'" (click)="close($event)" (keydown.enter)="close($event)"></span>
46
+ <ng-container *ngIf="removable">
47
+ <ng-container *ngIf="!removeIconTemplate">
48
+ <span tabindex="0" *ngIf="removeIcon" [class]="removeIcon" [ngClass]="'pi-chip-remove-icon'" (click)="close($event)" (keydown.enter)="close($event)"></span>
49
+ <TimesCircleIcon [attr.tabindex]="0" *ngIf="!removeIcon" [styleClass]="'pi-chip-remove-icon'" (click)="close($event)" (keydown.enter)="close($event)"/>
50
+ </ng-container>
51
+ <span *ngIf="removeIconTemplate" class="pi-chip-remove-icon" (click)="close($event)" (keydown.enter)="close($event)">
52
+ <ng-template *ngTemplateOutlet="removeIconTemplate"></ng-template>
53
+ </span>
54
+ </ng-container>
34
55
  </div>
35
- `, isInline: true, styles: [".p-chip{display:inline-flex;align-items:center}.p-chip-text,.p-chip-icon.pi{line-height:1.5}.pi-chip-remove-icon{line-height:1.5;cursor:pointer}.p-chip img{border-radius:50%}\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 });
56
+ `, isInline: true, styles: [".p-chip{display:inline-flex;align-items:center}.p-chip-text,.p-chip-icon.pi,.pi-chip-remove-icon.pi{line-height:1.5}.pi-chip-remove-icon{cursor:pointer}.p-chip img{border-radius:50%}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i0.forwardRef(function () { return TimesCircleIcon; }), selector: "TimesCircleIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
36
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: Chip, decorators: [{
37
58
  type: Component,
38
59
  args: [{ selector: 'p-chip', template: `
@@ -41,11 +62,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
41
62
  <img [src]="image" *ngIf="image; else iconTemplate" (error)="imageError($event)" />
42
63
  <ng-template #iconTemplate><span *ngIf="icon" [class]="icon" [ngClass]="'p-chip-icon'"></span></ng-template>
43
64
  <div class="p-chip-text" *ngIf="label">{{ label }}</div>
44
- <span *ngIf="removable" tabindex="0" [class]="removeIcon" [ngClass]="'pi-chip-remove-icon'" (click)="close($event)" (keydown.enter)="close($event)"></span>
65
+ <ng-container *ngIf="removable">
66
+ <ng-container *ngIf="!removeIconTemplate">
67
+ <span tabindex="0" *ngIf="removeIcon" [class]="removeIcon" [ngClass]="'pi-chip-remove-icon'" (click)="close($event)" (keydown.enter)="close($event)"></span>
68
+ <TimesCircleIcon [attr.tabindex]="0" *ngIf="!removeIcon" [styleClass]="'pi-chip-remove-icon'" (click)="close($event)" (keydown.enter)="close($event)"/>
69
+ </ng-container>
70
+ <span *ngIf="removeIconTemplate" class="pi-chip-remove-icon" (click)="close($event)" (keydown.enter)="close($event)">
71
+ <ng-template *ngTemplateOutlet="removeIconTemplate"></ng-template>
72
+ </span>
73
+ </ng-container>
45
74
  </div>
46
75
  `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
47
76
  class: 'p-element'
48
- }, styles: [".p-chip{display:inline-flex;align-items:center}.p-chip-text,.p-chip-icon.pi{line-height:1.5}.pi-chip-remove-icon{line-height:1.5;cursor:pointer}.p-chip img{border-radius:50%}\n"] }]
77
+ }, styles: [".p-chip{display:inline-flex;align-items:center}.p-chip-text,.p-chip-icon.pi,.pi-chip-remove-icon.pi{line-height:1.5}.pi-chip-remove-icon{cursor:pointer}.p-chip img{border-radius:50%}\n"] }]
49
78
  }], propDecorators: { label: [{
50
79
  type: Input
51
80
  }], icon: [{
@@ -64,18 +93,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
64
93
  type: Output
65
94
  }], onImageError: [{
66
95
  type: Output
96
+ }], templates: [{
97
+ type: ContentChildren,
98
+ args: [PrimeTemplate]
67
99
  }] } });
68
100
  export class ChipModule {
69
101
  }
70
102
  ChipModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ChipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
71
- ChipModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: ChipModule, declarations: [Chip], imports: [CommonModule], exports: [Chip] });
72
- ChipModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ChipModule, imports: [CommonModule] });
103
+ ChipModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: ChipModule, declarations: [Chip], imports: [CommonModule, TimesCircleIcon, SharedModule], exports: [Chip, SharedModule] });
104
+ ChipModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ChipModule, imports: [CommonModule, TimesCircleIcon, SharedModule, SharedModule] });
73
105
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ChipModule, decorators: [{
74
106
  type: NgModule,
75
107
  args: [{
76
- imports: [CommonModule],
77
- exports: [Chip],
108
+ imports: [CommonModule, TimesCircleIcon, SharedModule],
109
+ exports: [Chip, SharedModule],
78
110
  declarations: [Chip]
79
111
  }]
80
112
  }] });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9jaGlwL2NoaXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0gsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFvQi9DLE1BQU0sT0FBTyxJQUFJO0lBbEJqQjtRQStCYSxlQUFVLEdBQVcsb0JBQW9CLENBQUM7UUFFekMsYUFBUSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWpELGlCQUFZLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFL0QsWUFBTyxHQUFZLElBQUksQ0FBQztLQWlCM0I7SUFmRyxjQUFjO1FBQ1YsT0FBTztZQUNILG9CQUFvQixFQUFFLElBQUk7WUFDMUIsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSTtTQUNyQyxDQUFDO0lBQ04sQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1AsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFLO1FBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7aUdBbkNRLElBQUk7cUZBQUosSUFBSSw0U0FoQkg7Ozs7Ozs7O0tBUVQ7MkZBUVEsSUFBSTtrQkFsQmhCLFNBQVM7K0JBQ0ksUUFBUSxZQUNSOzs7Ozs7OztLQVFULG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBRS9CO3dCQUNGLEtBQUssRUFBRSxXQUFXO3FCQUNyQjs4QkFHUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTTtnQkFFRyxZQUFZO3NCQUFyQixNQUFNOztBQTBCWCxNQUFNLE9BQU8sVUFBVTs7dUdBQVYsVUFBVTt3R0FBVixVQUFVLGlCQTNDVixJQUFJLGFBdUNILFlBQVksYUF2Q2IsSUFBSTt3R0EyQ0osVUFBVSxZQUpULFlBQVk7MkZBSWIsVUFBVTtrQkFMdEIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQztvQkFDZixZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUM7aUJBQ3ZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdFbmNhcHN1bGF0aW9uLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncC1jaGlwJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImNvbnRhaW5lckNsYXNzKClcIiBbY2xhc3NdPVwic3R5bGVDbGFzc1wiIFtuZ1N0eWxlXT1cInN0eWxlXCIgKm5nSWY9XCJ2aXNpYmxlXCI+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8aW1nIFtzcmNdPVwiaW1hZ2VcIiAqbmdJZj1cImltYWdlOyBlbHNlIGljb25UZW1wbGF0ZVwiIChlcnJvcik9XCJpbWFnZUVycm9yKCRldmVudClcIiAvPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNpY29uVGVtcGxhdGU+PHNwYW4gKm5nSWY9XCJpY29uXCIgW2NsYXNzXT1cImljb25cIiBbbmdDbGFzc109XCIncC1jaGlwLWljb24nXCI+PC9zcGFuPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1jaGlwLXRleHRcIiAqbmdJZj1cImxhYmVsXCI+e3sgbGFiZWwgfX08L2Rpdj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwicmVtb3ZhYmxlXCIgdGFiaW5kZXg9XCIwXCIgW2NsYXNzXT1cInJlbW92ZUljb25cIiBbbmdDbGFzc109XCIncGktY2hpcC1yZW1vdmUtaWNvbidcIiAoY2xpY2spPVwiY2xvc2UoJGV2ZW50KVwiIChrZXlkb3duLmVudGVyKT1cImNsb3NlKCRldmVudClcIj48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgIGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdHlsZVVybHM6IFsnLi9jaGlwLmNzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdwLWVsZW1lbnQnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBDaGlwIHtcbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgaWNvbjogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgaW1hZ2U6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHN0eWxlOiBhbnk7XG5cbiAgICBASW5wdXQoKSBzdHlsZUNsYXNzOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSByZW1vdmFibGU6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSByZW1vdmVJY29uOiBzdHJpbmcgPSAncGkgcGktdGltZXMtY2lyY2xlJztcblxuICAgIEBPdXRwdXQoKSBvblJlbW92ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KCkgb25JbWFnZUVycm9yOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHZpc2libGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgY29udGFpbmVyQ2xhc3MoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAncC1jaGlwIHAtY29tcG9uZW50JzogdHJ1ZSxcbiAgICAgICAgICAgICdwLWNoaXAtaW1hZ2UnOiB0aGlzLmltYWdlICE9IG51bGxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBjbG9zZShldmVudCkge1xuICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5vblJlbW92ZS5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBpbWFnZUVycm9yKGV2ZW50KSB7XG4gICAgICAgIHRoaXMub25JbWFnZUVycm9yLmVtaXQoZXZlbnQpO1xuICAgIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbQ2hpcF0sXG4gICAgZGVjbGFyYXRpb25zOiBbQ2hpcF1cbn0pXG5leHBvcnQgY2xhc3MgQ2hpcE1vZHVsZSB7fVxuIl19
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9jaGlwL2NoaXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWlDLGVBQWUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN4TCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7QUE0QjFELE1BQU0sT0FBTyxJQUFJO0lBMUJqQjtRQXlDYyxhQUFRLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFakQsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUvRCxZQUFPLEdBQVksSUFBSSxDQUFDO0tBbUMzQjtJQTdCRyxrQkFBa0I7UUFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzVCLFFBQVEsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNwQixLQUFLLFlBQVk7b0JBQ2IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7b0JBQ3hDLE1BQU07Z0JBRVY7b0JBQ0ksSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7b0JBQ3hDLE1BQU07YUFDYjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGNBQWM7UUFDVixPQUFPO1lBQ0gsb0JBQW9CLEVBQUUsSUFBSTtZQUMxQixjQUFjLEVBQUUsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJO1NBQ3JDLENBQUM7SUFDTixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUs7UUFDUCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQUs7UUFDWixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDOztpR0FyRFEsSUFBSTtxRkFBSixJQUFJLHNVQXVCSSxhQUFhLDZCQS9DcEI7Ozs7Ozs7Ozs7Ozs7Ozs7S0FnQlQsKzNCQWlFdUIsZUFBZTsyRkF6RDlCLElBQUk7a0JBMUJoQixTQUFTOytCQUNJLFFBQVEsWUFDUjs7Ozs7Ozs7Ozs7Ozs7OztLQWdCVCxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUUvQjt3QkFDRixLQUFLLEVBQUUsV0FBVztxQkFDckI7OEJBR1EsS0FBSztzQkFBYixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVJLFFBQVE7c0JBQWpCLE1BQU07Z0JBRUcsWUFBWTtzQkFBckIsTUFBTTtnQkFNeUIsU0FBUztzQkFBeEMsZUFBZTt1QkFBQyxhQUFhOztBQXNDbEMsTUFBTSxPQUFPLFVBQVU7O3VHQUFWLFVBQVU7d0dBQVYsVUFBVSxpQkE3RFYsSUFBSSxhQXlESCxZQUFZLEVBQUUsZUFBZSxFQUFFLFlBQVksYUF6RDVDLElBQUksRUEwREcsWUFBWTt3R0FHbkIsVUFBVSxZQUpULFlBQVksRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUNyQyxZQUFZOzJGQUduQixVQUFVO2tCQUx0QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsWUFBWSxDQUFDO29CQUN0RCxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDO29CQUM3QixZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUM7aUJBQ3ZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdFbmNhcHN1bGF0aW9uLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFRlbXBsYXRlUmVmLCBBZnRlckNvbnRlbnRJbml0LCBDb250ZW50Q2hpbGRyZW4sIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRpbWVzQ2lyY2xlSWNvbiB9IGZyb20gJ3ByaW1lbmcvaWNvbnMvdGltZXNjaXJjbGUnO1xuaW1wb3J0IHsgUHJpbWVUZW1wbGF0ZSwgU2hhcmVkTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3AtY2hpcCcsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJjb250YWluZXJDbGFzcygpXCIgW2NsYXNzXT1cInN0eWxlQ2xhc3NcIiBbbmdTdHlsZV09XCJzdHlsZVwiICpuZ0lmPVwidmlzaWJsZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPGltZyBbc3JjXT1cImltYWdlXCIgKm5nSWY9XCJpbWFnZTsgZWxzZSBpY29uVGVtcGxhdGVcIiAoZXJyb3IpPVwiaW1hZ2VFcnJvcigkZXZlbnQpXCIgLz5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaWNvblRlbXBsYXRlPjxzcGFuICpuZ0lmPVwiaWNvblwiIFtjbGFzc109XCJpY29uXCIgW25nQ2xhc3NdPVwiJ3AtY2hpcC1pY29uJ1wiPjwvc3Bhbj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtY2hpcC10ZXh0XCIgKm5nSWY9XCJsYWJlbFwiPnt7IGxhYmVsIH19PC9kaXY+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVtb3ZhYmxlXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFyZW1vdmVJY29uVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gdGFiaW5kZXg9XCIwXCIgKm5nSWY9XCJyZW1vdmVJY29uXCIgW2NsYXNzXT1cInJlbW92ZUljb25cIiBbbmdDbGFzc109XCIncGktY2hpcC1yZW1vdmUtaWNvbidcIiAoY2xpY2spPVwiY2xvc2UoJGV2ZW50KVwiIChrZXlkb3duLmVudGVyKT1cImNsb3NlKCRldmVudClcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxUaW1lc0NpcmNsZUljb24gW2F0dHIudGFiaW5kZXhdPVwiMFwiICpuZ0lmPVwiIXJlbW92ZUljb25cIiBbc3R5bGVDbGFzc109XCIncGktY2hpcC1yZW1vdmUtaWNvbidcIiAoY2xpY2spPVwiY2xvc2UoJGV2ZW50KVwiIChrZXlkb3duLmVudGVyKT1cImNsb3NlKCRldmVudClcIi8+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJyZW1vdmVJY29uVGVtcGxhdGVcIiBjbGFzcz1cInBpLWNoaXAtcmVtb3ZlLWljb25cIiAoY2xpY2spPVwiY2xvc2UoJGV2ZW50KVwiIChrZXlkb3duLmVudGVyKT1cImNsb3NlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVtb3ZlSWNvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0eWxlVXJsczogWycuL2NoaXAuY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3AtZWxlbWVudCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIENoaXAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgaWNvbjogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgaW1hZ2U6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHN0eWxlOiBhbnk7XG5cbiAgICBASW5wdXQoKSBzdHlsZUNsYXNzOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSByZW1vdmFibGU6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSByZW1vdmVJY29uOiBzdHJpbmc7XG5cbiAgICBAT3V0cHV0KCkgb25SZW1vdmU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpIG9uSW1hZ2VFcnJvcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICB2aXNpYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIHJlbW92ZUljb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oUHJpbWVUZW1wbGF0ZSkgdGVtcGxhdGVzOiBRdWVyeUxpc3Q8YW55PjtcblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgc3dpdGNoIChpdGVtLmdldFR5cGUoKSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ3JlbW92ZWljb24nOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUljb25UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVJY29uVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29udGFpbmVyQ2xhc3MoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAncC1jaGlwIHAtY29tcG9uZW50JzogdHJ1ZSxcbiAgICAgICAgICAgICdwLWNoaXAtaW1hZ2UnOiB0aGlzLmltYWdlICE9IG51bGxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBjbG9zZShldmVudCkge1xuICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5vblJlbW92ZS5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBpbWFnZUVycm9yKGV2ZW50KSB7XG4gICAgICAgIHRoaXMub25JbWFnZUVycm9yLmVtaXQoZXZlbnQpO1xuICAgIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUaW1lc0NpcmNsZUljb24sIFNoYXJlZE1vZHVsZV0sXG4gICAgZXhwb3J0czogW0NoaXAsIFNoYXJlZE1vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbQ2hpcF1cbn0pXG5leHBvcnQgY2xhc3MgQ2hpcE1vZHVsZSB7fVxuIl19
@@ -3,6 +3,8 @@ import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, forw
3
3
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
4
  import { PrimeTemplate, SharedModule } from 'primeng/api';
5
5
  import { InputTextModule } from 'primeng/inputtext';
6
+ import { TimesCircleIcon } from 'primeng/icons/timescircle';
7
+ import { TimesIcon } from 'primeng/icons/times';
6
8
  import * as i0 from "@angular/core";
7
9
  import * as i1 from "@angular/common";
8
10
  export const CHIPS_VALUE_ACCESSOR = {
@@ -32,6 +34,12 @@ export class Chips {
32
34
  case 'item':
33
35
  this.itemTemplate = item.template;
34
36
  break;
37
+ case 'removetokenicon':
38
+ this.removeTokenIconTemplate = item.template;
39
+ break;
40
+ case 'clearicon':
41
+ this.clearIconTemplate = item.template;
42
+ break;
35
43
  default:
36
44
  this.itemTemplate = item.template;
37
45
  break;
@@ -216,7 +224,12 @@ Chips.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4
216
224
  <li #token *ngFor="let item of value; let i = index" class="p-chips-token" (click)="onItemClick($event, item)">
217
225
  <ng-container *ngTemplateOutlet="itemTemplate; context: { $implicit: item }"></ng-container>
218
226
  <span *ngIf="!itemTemplate" class="p-chips-token-label">{{ field ? resolveFieldData(item, field) : item }}</span>
219
- <span *ngIf="!disabled" class="p-chips-token-icon pi pi-times-circle" (click)="removeItem($event, i)"></span>
227
+ <ng-container *ngIf="!disabled">
228
+ <TimesCircleIcon [styleClass]="'p-chips-token-icon'" *ngIf="!removeTokenIconTemplate" (click)="removeItem($event, i)" />
229
+ <span *ngIf="removeTokenIconTemplate" class="p-chips-token-icon" (click)="removeItem($event, i)">
230
+ <ng-template *ngTemplateOutlet="removeTokenIconTemplate"></ng-template>
231
+ </span>
232
+ </ng-container>
220
233
  </li>
221
234
  <li class="p-chips-input-token" [ngClass]="{ 'p-chips-clearable': showClear && !disabled }">
222
235
  <input
@@ -237,11 +250,14 @@ Chips.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4
237
250
  />
238
251
  </li>
239
252
  <li *ngIf="value != null && filled && !disabled && showClear">
240
- <i class="p-chips-clear-icon pi pi-times" (click)="clear()"></i>
253
+ <TimesIcon *ngIf="!clearIconTemplate" [styleClass]="'p-chips-clear-icon'" (click)="clear()"/>
254
+ <span *ngIf="clearIconTemplate" class="p-chips-clear-icon" (click)="clear()">
255
+ <ng-template *ngTemplateOutlet="clearIconTemplate"></ng-template>
256
+ </span>
241
257
  </li>
242
258
  </ul>
243
259
  </div>
244
- `, isInline: true, styles: [".p-chips{display:inline-flex}.p-chips-multiple-container{margin:0;padding:0;list-style-type:none;cursor:text;overflow:hidden;display:flex;align-items:center;flex-wrap:wrap}.p-chips-token{cursor:default;display:inline-flex;align-items:center;flex:0 0 auto;max-width:100%}.p-chips-token-label{min-width:0%;overflow:auto}.p-chips-token-label::-webkit-scrollbar{display:none}.p-chips-input-token{flex:1 1 auto;display:inline-flex}.p-chips-token-icon{cursor:pointer}.p-chips-input-token input{border:0 none;outline:0 none;background-color:transparent;margin:0;padding:0;box-shadow:none;border-radius:0;width:100%}.p-fluid .p-chips{display:flex}.p-chips-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.p-chips-clearable .p-inputtext{position:relative}\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 });
260
+ `, isInline: true, styles: [".p-chips{display:inline-flex}.p-chips-multiple-container{margin:0;padding:0;list-style-type:none;cursor:text;overflow:hidden;display:flex;align-items:center;flex-wrap:wrap}.p-chips-token{cursor:default;display:inline-flex;align-items:center;flex:0 0 auto;max-width:100%}.p-chips-token-label{min-width:0%;overflow:auto}.p-chips-token-label::-webkit-scrollbar{display:none}.p-chips-input-token{flex:1 1 auto;display:inline-flex}.p-chips-token-icon{cursor:pointer}.p-chips-input-token input{border:0 none;outline:0 none;background-color:transparent;margin:0;padding:0;box-shadow:none;border-radius:0;width:100%}.p-fluid .p-chips{display:flex}.p-chips-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.p-chips-clearable .p-inputtext{position:relative}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i0.forwardRef(function () { return TimesCircleIcon; }), selector: "TimesCircleIcon" }, { kind: "component", type: i0.forwardRef(function () { return TimesIcon; }), selector: "TimesIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
245
261
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: Chips, decorators: [{
246
262
  type: Component,
247
263
  args: [{ selector: 'p-chips', template: `
@@ -250,7 +266,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
250
266
  <li #token *ngFor="let item of value; let i = index" class="p-chips-token" (click)="onItemClick($event, item)">
251
267
  <ng-container *ngTemplateOutlet="itemTemplate; context: { $implicit: item }"></ng-container>
252
268
  <span *ngIf="!itemTemplate" class="p-chips-token-label">{{ field ? resolveFieldData(item, field) : item }}</span>
253
- <span *ngIf="!disabled" class="p-chips-token-icon pi pi-times-circle" (click)="removeItem($event, i)"></span>
269
+ <ng-container *ngIf="!disabled">
270
+ <TimesCircleIcon [styleClass]="'p-chips-token-icon'" *ngIf="!removeTokenIconTemplate" (click)="removeItem($event, i)" />
271
+ <span *ngIf="removeTokenIconTemplate" class="p-chips-token-icon" (click)="removeItem($event, i)">
272
+ <ng-template *ngTemplateOutlet="removeTokenIconTemplate"></ng-template>
273
+ </span>
274
+ </ng-container>
254
275
  </li>
255
276
  <li class="p-chips-input-token" [ngClass]="{ 'p-chips-clearable': showClear && !disabled }">
256
277
  <input
@@ -271,7 +292,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
271
292
  />
272
293
  </li>
273
294
  <li *ngIf="value != null && filled && !disabled && showClear">
274
- <i class="p-chips-clear-icon pi pi-times" (click)="clear()"></i>
295
+ <TimesIcon *ngIf="!clearIconTemplate" [styleClass]="'p-chips-clear-icon'" (click)="clear()"/>
296
+ <span *ngIf="clearIconTemplate" class="p-chips-clear-icon" (click)="clear()">
297
+ <ng-template *ngTemplateOutlet="clearIconTemplate"></ng-template>
298
+ </span>
275
299
  </li>
276
300
  </ul>
277
301
  </div>
@@ -338,14 +362,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
338
362
  export class ChipsModule {
339
363
  }
340
364
  ChipsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ChipsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
341
- ChipsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: ChipsModule, declarations: [Chips], imports: [CommonModule, InputTextModule, SharedModule], exports: [Chips, InputTextModule, SharedModule] });
342
- ChipsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ChipsModule, imports: [CommonModule, InputTextModule, SharedModule, InputTextModule, SharedModule] });
365
+ ChipsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: ChipsModule, declarations: [Chips], imports: [CommonModule, InputTextModule, SharedModule, TimesCircleIcon, TimesIcon], exports: [Chips, InputTextModule, SharedModule] });
366
+ ChipsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ChipsModule, imports: [CommonModule, InputTextModule, SharedModule, TimesCircleIcon, TimesIcon, InputTextModule, SharedModule] });
343
367
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ChipsModule, decorators: [{
344
368
  type: NgModule,
345
369
  args: [{
346
- imports: [CommonModule, InputTextModule, SharedModule],
370
+ imports: [CommonModule, InputTextModule, SharedModule, TimesCircleIcon, TimesIcon],
347
371
  exports: [Chips, InputTextModule, SharedModule],
348
372
  declarations: [Chips]
349
373
  }]
350
374
  }] });
351
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvY2hpcHMvY2hpcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQW9CLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsZUFBZSxFQUFjLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUEwQixTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdFAsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBRXBELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFRO0lBQ3JDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7SUFDcEMsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBK0NGLE1BQU0sT0FBTyxLQUFLO0lBK0RkLFlBQXNDLFFBQWtCLEVBQVMsRUFBYyxFQUFTLEVBQXFCO1FBQXZFLGFBQVEsR0FBUixRQUFRLENBQVU7UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUE1Q3BHLG1CQUFjLEdBQVksSUFBSSxDQUFDO1FBWS9CLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFFMUIsVUFBSyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTlDLGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVqRCxZQUFPLEdBQXNCLElBQUksWUFBWSxF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ZUFBZSxFQUFFLFlBQVksQ0FBQztvQkFDdEQsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLGVBQWUsRUFBRSxZQUFZLENBQUM7b0JBQy9DLFlBQVksRUFBRSxDQUFDLEtBQUssQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5qZWN0LCBJbnB1dCwgTmdNb2R1bGUsIE91dHB1dCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUHJpbWVUZW1wbGF0ZSwgU2hhcmVkTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHQnO1xuXG5leHBvcnQgY29uc3QgQ0hJUFNfVkFMVUVfQUNDRVNTT1I6IGFueSA9IHtcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDaGlwcyksXG4gICAgbXVsdGk6IHRydWVcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncC1jaGlwcycsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCIncC1jaGlwcyBwLWNvbXBvbmVudCdcIiBbbmdTdHlsZV09XCJzdHlsZVwiIFtjbGFzc109XCJzdHlsZUNsYXNzXCIgKGNsaWNrKT1cIm9uQ2xpY2soKVwiPlxuICAgICAgICAgICAgPHVsIFtuZ0NsYXNzXT1cInsgJ3AtaW5wdXR0ZXh0IHAtY2hpcHMtbXVsdGlwbGUtY29udGFpbmVyJzogdHJ1ZSwgJ3AtZm9jdXMnOiBmb2N1cywgJ3AtZGlzYWJsZWQnOiBkaXNhYmxlZCB9XCI+XG4gICAgICAgICAgICAgICAgPGxpICN0b2tlbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiB2YWx1ZTsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwicC1jaGlwcy10b2tlblwiIChjbGljayk9XCJvbkl0ZW1DbGljaygkZXZlbnQsIGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXRlbVRlbXBsYXRlXCIgY2xhc3M9XCJwLWNoaXBzLXRva2VuLWxhYmVsXCI+e3sgZmllbGQgPyByZXNvbHZlRmllbGREYXRhKGl0ZW0sIGZpZWxkKSA6IGl0ZW0gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWRpc2FibGVkXCIgY2xhc3M9XCJwLWNoaXBzLXRva2VuLWljb24gcGkgcGktdGltZXMtY2lyY2xlXCIgKGNsaWNrKT1cInJlbW92ZUl0ZW0oJGV2ZW50LCBpKVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInAtY2hpcHMtaW5wdXQtdG9rZW5cIiBbbmdDbGFzc109XCJ7ICdwLWNoaXBzLWNsZWFyYWJsZSc6IHNob3dDbGVhciAmJiAhZGlzYWJsZWQgfVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICNpbnB1dHRleHRcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cImlucHV0SWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwidmFsdWUgJiYgdmFsdWUubGVuZ3RoID8gbnVsbCA6IHBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChpbnB1dCk9XCJvbklucHV0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKHBhc3RlKT1cIm9uUGFzdGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGZvY3VzKT1cIm9uSW5wdXRGb2N1cygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChibHVyKT1cIm9uSW5wdXRCbHVyKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cImlucHV0U3R5bGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cImlucHV0U3R5bGVDbGFzc1wiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8bGkgKm5nSWY9XCJ2YWx1ZSAhPSBudWxsICYmIGZpbGxlZCAmJiAhZGlzYWJsZWQgJiYgc2hvd0NsZWFyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicC1jaGlwcy1jbGVhci1pY29uIHBpIHBpLXRpbWVzXCIgKGNsaWNrKT1cImNsZWFyKClcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZGl2PlxuICAgIGAsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3AtZWxlbWVudCBwLWlucHV0d3JhcHBlcicsXG4gICAgICAgICdbY2xhc3MucC1pbnB1dHdyYXBwZXItZmlsbGVkXSc6ICdmaWxsZWQnLFxuICAgICAgICAnW2NsYXNzLnAtaW5wdXR3cmFwcGVyLWZvY3VzXSc6ICdmb2N1cycsXG4gICAgICAgICdbY2xhc3MucC1jaGlwcy1jbGVhcmFibGVdJzogJ3Nob3dDbGVhcidcbiAgICB9LFxuICAgIHByb3ZpZGVyczogW0NISVBTX1ZBTFVFX0FDQ0VTU09SXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0eWxlVXJsczogWycuL2NoaXBzLmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIENoaXBzIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIEBJbnB1dCgpIHN0eWxlOiBhbnk7XG5cbiAgICBASW5wdXQoKSBzdHlsZUNsYXNzOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIGZpZWxkOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgbWF4OiBudW1iZXI7XG5cbiAgICBASW5wdXQoKSBhcmlhTGFiZWxsZWRCeTogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgdGFiaW5kZXg6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpIGlucHV0SWQ6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGFsbG93RHVwbGljYXRlOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpIGlucHV0U3R5bGU6IGFueTtcblxuICAgIEBJbnB1dCgpIGlucHV0U3R5bGVDbGFzczogYW55O1xuXG4gICAgQElucHV0KCkgYWRkT25UYWI6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBhZGRPbkJsdXI6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBzZXBhcmF0b3I6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHNob3dDbGVhcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpIG9uQWRkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKSBvblJlbW92ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KCkgb25Gb2N1czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KCkgb25CbHVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKSBvbkNoaXBDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KCkgb25DbGVhcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dHRleHQnKSBpbnB1dFZpZXdDaGlsZDogRWxlbWVudFJlZjtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oUHJpbWVUZW1wbGF0ZSkgdGVtcGxhdGVzOiBRdWVyeUxpc3Q8YW55PjtcblxuICAgIHB1YmxpYyBpdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICB2YWx1ZTogYW55O1xuXG4gICAgb25Nb2RlbENoYW5nZTogRnVuY3Rpb24gPSAoKSA9PiB7fTtcblxuICAgIG9uTW9kZWxUb3VjaGVkOiBGdW5jdGlvbiA9ICgpID0+IHt9O1xuXG4gICAgdmFsdWVDaGFuZ2VkOiBib29sZWFuO1xuXG4gICAgZm9jdXM6IGJvb2xlYW47XG5cbiAgICBmaWxsZWQ6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCwgcHVibGljIGVsOiBFbGVtZW50UmVmLCBwdWJsaWMgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLnRlbXBsYXRlcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKGl0ZW0uZ2V0VHlwZSgpKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnaXRlbSc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXRlbVRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB0aGlzLml0ZW1UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUZpbGxlZFN0YXRlKCk7XG4gICAgfVxuXG4gICAgb25DbGljaygpIHtcbiAgICAgICAgdGhpcy5pbnB1dFZpZXdDaGlsZC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgb25JbnB1dCgpIHtcbiAgICAgICAgdGhpcy51cGRhdGVGaWxsZWRTdGF0ZSgpO1xuICAgIH1cblxuICAgIG9uUGFzdGUoZXZlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZXBhcmF0b3IpIHtcbiAgICAgICAgICAgICAgICBsZXQgcGFzdGVkRGF0YSA9IChldmVudC5jbGlwYm9hcmREYXRhIHx8IHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXdbJ2NsaXBib2FyZERhdGEnXSkuZ2V0RGF0YSgnVGV4dCcpO1xuICAgICAgICAgICAgICAgIHBhc3RlZERhdGEuc3BsaXQodGhpcy5zZXBhcmF0b3IpLmZvckVhY2goKHZhbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZEl0ZW0oZXZlbnQsIHZhbCwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dFZpZXdDaGlsZC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMudXBkYXRlRmlsbGVkU3RhdGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZUZpbGxlZFN0YXRlKCkge1xuICAgICAgICBpZiAoIXRoaXMudmFsdWUgfHwgdGhpcy52YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuZmlsbGVkID0gdGhpcy5pbnB1dFZpZXdDaGlsZCAmJiB0aGlzLmlucHV0Vmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQgJiYgdGhpcy5pbnB1dFZpZXdDaGlsZC5uYXRpdmVFbGVtZW50LnZhbHVlICE9ICcnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5maWxsZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25JdGVtQ2xpY2soZXZlbnQ6IEV2ZW50LCBpdGVtOiBhbnkpIHtcbiAgICAgICAgdGhpcy5vbkNoaXBDbGljay5lbWl0KHtcbiAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQ6IGV2ZW50LFxuICAgICAgICAgICAgdmFsdWU6IGl0ZW1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy51cGRhdGVNYXhlZE91dCgpO1xuICAgICAgICB0aGlzLnVwZGF0ZUZpbGxlZFN0YXRlKCk7XG4gICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogRnVuY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IEZ1bmN0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Nb2RlbFRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKHZhbDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gdmFsO1xuICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHJlc29sdmVGaWVsZERhdGEoZGF0YTogYW55LCBmaWVsZDogc3RyaW5nKTogYW55IHtcbiAgICAgICAgaWYgKGRhdGEgJiYgZmllbGQpIHtcbiAgICAgICAgICAgIGlmIChmaWVsZC5pbmRleE9mKCcuJykgPT0gLTEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YVtmaWVsZF07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGxldCBmaWVsZHM6IHN0cmluZ1tdID0gZmllbGQuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBkYXRhO1xuICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBmaWVsZHMubGVuZ3RoOyBpIDwgbGVuOyArK2kpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZVtmaWVsZHNbaV1dO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uSW5wdXRGb2N1cyhldmVudDogRm9jdXNFdmVudCkge1xuICAgICAgICB0aGlzLmZvY3VzID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vbkZvY3VzLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uSW5wdXRCbHVyKGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgICAgIHRoaXMuZm9jdXMgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuYWRkT25CbHVyICYmIHRoaXMuaW5wdXRWaWV3Q2hpbGQubmF0aXZlRWxlbWVudC52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5hZGRJdGVtKGV2ZW50LCB0aGlzLmlucHV0Vmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQudmFsdWUsIGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9uTW9kZWxUb3VjaGVkKCk7XG4gICAgICAgIHRoaXMub25CbHVyLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIHJlbW92ZUl0ZW0oZXZlbnQ6IEV2ZW50LCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgcmVtb3ZlZEl0ZW0gPSB0aGlzLnZhbHVlW2luZGV4XTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUuZmlsdGVyKCh2YWwsIGkpID0+IGkgIT0gaW5kZXgpO1xuICAgICAgICB0aGlzLm9uTW9kZWxDaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgICAgIHRoaXMub25SZW1vdmUuZW1pdCh7XG4gICAgICAgICAgICBvcmlnaW5hbEV2ZW50OiBldmVudCxcbiAgICAgICAgICAgIHZhbHVlOiByZW1vdmVkSXRlbVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy51cGRhdGVGaWxsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLnVwZGF0ZU1heGVkT3V0KCk7XG4gICAgfVxuXG4gICAgYWRkSXRlbShldmVudDogRXZlbnQsIGl0ZW06IHN0cmluZywgcHJldmVudERlZmF1bHQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUgfHwgW107XG4gICAgICAgIGlmIChpdGVtICYmIGl0ZW0udHJpbSgpLmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuYWxsb3dEdXBsaWNhdGUgfHwgdGhpcy52YWx1ZS5pbmRleE9mKGl0ZW0pID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBbLi4udGhpcy52YWx1ZSwgaXRlbV07XG4gICAgICAgICAgICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgICAgIHRoaXMub25BZGQuZW1pdCh7XG4gICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQ6IGV2ZW50LFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMudXBkYXRlRmlsbGVkU3RhdGUoKTtcbiAgICAgICAgdGhpcy51cGRhdGVNYXhlZE91dCgpO1xuICAgICAgICB0aGlzLmlucHV0Vmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcblxuICAgICAgICBpZiAocHJldmVudERlZmF1bHQpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbGVhcigpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICAgIHRoaXMudXBkYXRlRmlsbGVkU3RhdGUoKTtcbiAgICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgICB0aGlzLm9uQ2xlYXIuZW1pdCgpO1xuICAgIH1cblxuICAgIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LndoaWNoKSB7XG4gICAgICAgICAgICAvL2JhY2tzcGFjZVxuICAgICAgICAgICAgY2FzZSA4OlxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlucHV0Vmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQudmFsdWUubGVuZ3RoID09PSAwICYmIHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBbLi4udGhpcy52YWx1ZV07XG4gICAgICAgICAgICAgICAgICAgIGxldCByZW1vdmVkSXRlbSA9IHRoaXMudmFsdWUucG9wKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25Nb2RlbENoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vblJlbW92ZS5lbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQ6IGV2ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHJlbW92ZWRJdGVtXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUZpbGxlZFN0YXRlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAvL2VudGVyXG4gICAgICAgICAgICBjYXNlIDEzOlxuICAgICAgICAgICAgICAgIHRoaXMuYWRkSXRlbShldmVudCwgdGhpcy5pbnB1dFZpZXdDaGlsZC5uYXRpdmVFbGVtZW50LnZhbHVlLCB0cnVlKTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSA5OlxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmFkZE9uVGFiICYmIHRoaXMuaW5wdXRWaWV3Q2hpbGQubmF0aXZlRWxlbWVudC52YWx1ZSAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRJdGVtKGV2ZW50LCB0aGlzLmlucHV0Vmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQudmFsdWUsIHRydWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5tYXggJiYgdGhpcy52YWx1ZSAmJiB0aGlzLm1heCA9PT0gdGhpcy52YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc2VwYXJhdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnNlcGFyYXRvciA9PT0gZXZlbnQua2V5IHx8IGV2ZW50LmtleS5tYXRjaCh0aGlzLnNlcGFyYXRvcikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkSXRlbShldmVudCwgdGhpcy5pbnB1dFZpZXdDaGlsZC5uYXRpdmVFbGVtZW50LnZhbHVlLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZU1heGVkT3V0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pbnB1dFZpZXdDaGlsZCAmJiB0aGlzLmlucHV0Vmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1heCAmJiB0aGlzLnZhbHVlICYmIHRoaXMubWF4ID09PSB0aGlzLnZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIC8vIENhbGxpbmcgYGJsdXJgIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIGZpcmVmb3ggZG9lcyBub3QgY2FsbCBgb25mb2N1c2AgZXZlbnRzXG4gICAgICAgICAgICAgICAgLy8gZm9yIGRpc2FibGVkIGlucHV0cywgdW5saWtlIGNocm9taXVtIGJyb3dzZXJzLlxuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRWaWV3Q2hpbGQubmF0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dFZpZXdDaGlsZC5uYXRpdmVFbGVtZW50LmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dFZpZXdDaGlsZC5uYXRpdmVFbGVtZW50LmJsdXIoKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0Vmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQuZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkIHx8IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElucHV0VGV4dE1vZHVsZSwgU2hhcmVkTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbQ2hpcHMsIElucHV0VGV4dE1vZHVsZSwgU2hhcmVkTW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtDaGlwc11cbn0pXG5leHBvcnQgY2xhc3MgQ2hpcHNNb2R1bGUge31cbiJdfQ==
375
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvY2hpcHMvY2hpcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQW9CLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsZUFBZSxFQUFjLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUEwQixTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdFAsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFFaEQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQVE7SUFDckMsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQztJQUNwQyxLQUFLLEVBQUUsSUFBSTtDQUNkLENBQUM7QUF1REYsTUFBTSxPQUFPLEtBQUs7SUFtRWQsWUFBc0MsUUFBa0IsRUFBUyxFQUFjLEVBQVMsRUFBcUI7UUFBdkUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFTLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQWhEcEcsbUJBQWMsR0FBWSxJQUFJLENBQUM7UUFZL0IsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUxQixVQUFLLEdBQXNC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QUFXO2dCQUVVLFNBQVM7c0JBQXhDLGVBQWU7dUJBQUMsYUFBYTs7QUFnUGxDLE1BQU0sT0FBTyxXQUFXOzt3R0FBWCxXQUFXO3lHQUFYLFdBQVcsaUJBL1JYLEtBQUssYUEyUkosWUFBWSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLFNBQVMsYUEzUnhFLEtBQUssRUE0UkcsZUFBZSxFQUFFLFlBQVk7eUdBR3JDLFdBQVcsWUFKVixZQUFZLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUNoRSxlQUFlLEVBQUUsWUFBWTsyRkFHckMsV0FBVztrQkFMdkIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsU0FBUyxDQUFDO29CQUNsRixPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsZUFBZSxFQUFFLFlBQVksQ0FBQztvQkFDL0MsWUFBWSxFQUFFLENBQUMsS0FBSyxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSwgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbmplY3QsIElucHV0LCBOZ01vZHVsZSwgT3V0cHV0LCBRdWVyeUxpc3QsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQcmltZVRlbXBsYXRlLCBTaGFyZWRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBJbnB1dFRleHRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0dGV4dCc7XG5pbXBvcnQgeyBUaW1lc0NpcmNsZUljb24gfSBmcm9tICdwcmltZW5nL2ljb25zL3RpbWVzY2lyY2xlJztcbmltcG9ydCB7IFRpbWVzSWNvbiB9IGZyb20gJ3ByaW1lbmcvaWNvbnMvdGltZXMnO1xuXG5leHBvcnQgY29uc3QgQ0hJUFNfVkFMVUVfQUNDRVNTT1I6IGFueSA9IHtcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDaGlwcyksXG4gICAgbXVsdGk6IHRydWVcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncC1jaGlwcycsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCIncC1jaGlwcyBwLWNvbXBvbmVudCdcIiBbbmdTdHlsZV09XCJzdHlsZVwiIFtjbGFzc109XCJzdHlsZUNsYXNzXCIgKGNsaWNrKT1cIm9uQ2xpY2soKVwiPlxuICAgICAgICAgICAgPHVsIFtuZ0NsYXNzXT1cInsgJ3AtaW5wdXR0ZXh0IHAtY2hpcHMtbXVsdGlwbGUtY29udGFpbmVyJzogdHJ1ZSwgJ3AtZm9jdXMnOiBmb2N1cywgJ3AtZGlzYWJsZWQnOiBkaXNhYmxlZCB9XCI+XG4gICAgICAgICAgICAgICAgPGxpICN0b2tlbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiB2YWx1ZTsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwicC1jaGlwcy10b2tlblwiIChjbGljayk9XCJvbkl0ZW1DbGljaygkZXZlbnQsIGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXRlbVRlbXBsYXRlXCIgY2xhc3M9XCJwLWNoaXBzLXRva2VuLWxhYmVsXCI+e3sgZmllbGQgPyByZXNvbHZlRmllbGREYXRhKGl0ZW0sIGZpZWxkKSA6IGl0ZW0gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZGlzYWJsZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxUaW1lc0NpcmNsZUljb24gW3N0eWxlQ2xhc3NdPVwiJ3AtY2hpcHMtdG9rZW4taWNvbidcIiAqbmdJZj1cIiFyZW1vdmVUb2tlbkljb25UZW1wbGF0ZVwiIChjbGljayk9XCJyZW1vdmVJdGVtKCRldmVudCwgaSlcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJyZW1vdmVUb2tlbkljb25UZW1wbGF0ZVwiIGNsYXNzPVwicC1jaGlwcy10b2tlbi1pY29uXCIgKGNsaWNrKT1cInJlbW92ZUl0ZW0oJGV2ZW50LCBpKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cInJlbW92ZVRva2VuSWNvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJwLWNoaXBzLWlucHV0LXRva2VuXCIgW25nQ2xhc3NdPVwieyAncC1jaGlwcy1jbGVhcmFibGUnOiBzaG93Q2xlYXIgJiYgIWRpc2FibGVkIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAjaW5wdXR0ZXh0XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJpbnB1dElkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInZhbHVlICYmIHZhbHVlLmxlbmd0aCA/IG51bGwgOiBwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoaW5wdXQpPVwib25JbnB1dCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChwYXN0ZSk9XCJvblBhc3RlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChmb2N1cyk9XCJvbklucHV0Rm9jdXMoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoYmx1cik9XCJvbklucHV0Qmx1cigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJpbnB1dFN0eWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJpbnB1dFN0eWxlQ2xhc3NcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPGxpICpuZ0lmPVwidmFsdWUgIT0gbnVsbCAmJiBmaWxsZWQgJiYgIWRpc2FibGVkICYmIHNob3dDbGVhclwiPlxuICAgICAgICAgICAgICAgICAgICA8VGltZXNJY29uICpuZ0lmPVwiIWNsZWFySWNvblRlbXBsYXRlXCIgW3N0eWxlQ2xhc3NdPVwiJ3AtY2hpcHMtY2xlYXItaWNvbidcIiAoY2xpY2spPVwiY2xlYXIoKVwiLz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjbGVhckljb25UZW1wbGF0ZVwiIGNsYXNzPVwicC1jaGlwcy1jbGVhci1pY29uXCIgKGNsaWNrKT1cImNsZWFyKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cImNsZWFySWNvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICBgLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdwLWVsZW1lbnQgcC1pbnB1dHdyYXBwZXInLFxuICAgICAgICAnW2NsYXNzLnAtaW5wdXR3cmFwcGVyLWZpbGxlZF0nOiAnZmlsbGVkJyxcbiAgICAgICAgJ1tjbGFzcy5wLWlucHV0d3JhcHBlci1mb2N1c10nOiAnZm9jdXMnLFxuICAgICAgICAnW2NsYXNzLnAtY2hpcHMtY2xlYXJhYmxlXSc6ICdzaG93Q2xlYXInXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFtDSElQU19WQUxVRV9BQ0NFU1NPUl0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdHlsZVVybHM6IFsnLi9jaGlwcy5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDaGlwcyBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBASW5wdXQoKSBzdHlsZTogYW55O1xuXG4gICAgQElucHV0KCkgc3R5bGVDbGFzczogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBmaWVsZDogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIG1heDogbnVtYmVyO1xuXG4gICAgQElucHV0KCkgYXJpYUxhYmVsbGVkQnk6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHRhYmluZGV4OiBudW1iZXI7XG5cbiAgICBASW5wdXQoKSBpbnB1dElkOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBhbGxvd0R1cGxpY2F0ZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBASW5wdXQoKSBpbnB1dFN0eWxlOiBhbnk7XG5cbiAgICBASW5wdXQoKSBpbnB1dFN0eWxlQ2xhc3M6IGFueTtcblxuICAgIEBJbnB1dCgpIGFkZE9uVGFiOiBib29sZWFuO1xuXG4gICAgQElucHV0KCkgYWRkT25CbHVyOiBib29sZWFuO1xuXG4gICAgQElucHV0KCkgc2VwYXJhdG9yOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBzaG93Q2xlYXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBvbkFkZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KCkgb25SZW1vdmU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpIG9uRm9jdXM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpIG9uQmx1cjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KCkgb25DaGlwQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpIG9uQ2xlYXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXR0ZXh0JykgaW5wdXRWaWV3Q2hpbGQ6IEVsZW1lbnRSZWY7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFByaW1lVGVtcGxhdGUpIHRlbXBsYXRlczogUXVlcnlMaXN0PGFueT47XG5cbiAgICBwdWJsaWMgaXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgcmVtb3ZlVG9rZW5JY29uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBjbGVhckljb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIHZhbHVlOiBhbnk7XG5cbiAgICBvbk1vZGVsQ2hhbmdlOiBGdW5jdGlvbiA9ICgpID0+IHt9O1xuXG4gICAgb25Nb2RlbFRvdWNoZWQ6IEZ1bmN0aW9uID0gKCkgPT4ge307XG5cbiAgICB2YWx1ZUNoYW5nZWQ6IGJvb2xlYW47XG5cbiAgICBmb2N1czogYm9vbGVhbjtcblxuICAgIGZpbGxlZDogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LCBwdWJsaWMgZWw6IEVsZW1lbnRSZWYsIHB1YmxpYyBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMudGVtcGxhdGVzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAoaXRlbS5nZXRUeXBlKCkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdpdGVtJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ3JlbW92ZXRva2VuaWNvbic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlVG9rZW5JY29uVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ2NsZWFyaWNvbic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJJY29uVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXRlbVRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudXBkYXRlRmlsbGVkU3RhdGUoKTtcbiAgICB9XG5cbiAgICBvbkNsaWNrKCkge1xuICAgICAgICB0aGlzLmlucHV0Vmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBvbklucHV0KCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUZpbGxlZFN0YXRlKCk7XG4gICAgfVxuXG4gICAgb25QYXN0ZShldmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlcGFyYXRvcikge1xuICAgICAgICAgICAgICAgIGxldCBwYXN0ZWREYXRhID0gKGV2ZW50LmNsaXBib2FyZERhdGEgfHwgdGhpcy5kb2N1bWVudC5kZWZhdWx0Vmlld1snY2xpcGJvYXJkRGF0YSddKS5nZXREYXRhKCdUZXh0Jyk7XG4gICAgICAgICAgICAgICAgcGFzdGVkRGF0YS5zcGxpdCh0aGlzLnNlcGFyYXRvcikuZm9yRWFjaCgodmFsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkSXRlbShldmVudCwgdmFsLCB0cnVlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0Vmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy51cGRhdGVGaWxsZWRTdGF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlRmlsbGVkU3RhdGUoKSB7XG4gICAgICAgIGlmICghdGhpcy52YWx1ZSB8fCB0aGlzLnZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5maWxsZWQgPSB0aGlzLmlucHV0Vmlld0NoaWxkICYmIHRoaXMuaW5wdXRWaWV3Q2hpbGQubmF0aXZlRWxlbWVudCAmJiB0aGlzLmlucHV0Vmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQudmFsdWUgIT0gJyc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZpbGxlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkl0ZW1DbGljayhldmVudDogRXZlbnQsIGl0ZW06IGFueSkge1xuICAgICAgICB0aGlzLm9uQ2hpcENsaWNrLmVtaXQoe1xuICAgICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZlbnQsXG4gICAgICAgICAgICB2YWx1ZTogaXRlbVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnVwZGF0ZU1heGVkT3V0KCk7XG4gICAgICAgIHRoaXMudXBkYXRlRmlsbGVkU3RhdGUoKTtcbiAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBGdW5jdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLm9uTW9kZWxDaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogRnVuY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbk1vZGVsVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUodmFsOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSB2YWw7XG4gICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcmVzb2x2ZUZpZWxkRGF0YShkYXRhOiBhbnksIGZpZWxkOiBzdHJpbmcpOiBhbnkge1xuICAgICAgICBpZiAoZGF0YSAmJiBmaWVsZCkge1xuICAgICAgICAgICAgaWYgKGZpZWxkLmluZGV4T2YoJy4nKSA9PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhW2ZpZWxkXTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbGV0IGZpZWxkczogc3RyaW5nW10gPSBmaWVsZC5zcGxpdCgnLicpO1xuICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGRhdGE7XG4gICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGZpZWxkcy5sZW5ndGg7IGkgPCBsZW47ICsraSkge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHZhbHVlW2ZpZWxkc1tpXV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25JbnB1dEZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgICAgIHRoaXMuZm9jdXMgPSB0cnVlO1xuICAgICAgICB0aGlzLm9uRm9jdXMuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgb25JbnB1dEJsdXIoZXZlbnQ6IEZvY3VzRXZlbnQpIHtcbiAgICAgICAgdGhpcy5mb2N1cyA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5hZGRPbkJsdXIgJiYgdGhpcy5pbnB1dFZpZXdDaGlsZC5uYXRpdmVFbGVtZW50LnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmFkZEl0ZW0oZXZlbnQsIHRoaXMuaW5wdXRWaWV3Q2hpbGQubmF0aXZlRWxlbWVudC52YWx1ZSwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub25Nb2RlbFRvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5vbkJsdXIuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgcmVtb3ZlSXRlbShldmVudDogRXZlbnQsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCByZW1vdmVkSXRlbSA9IHRoaXMudmFsdWVbaW5kZXhdO1xuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy52YWx1ZS5maWx0ZXIoKHZhbCwgaSkgPT4gaSAhPSBpbmRleCk7XG4gICAgICAgIHRoaXMub25Nb2RlbENoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgdGhpcy5vblJlbW92ZS5lbWl0KHtcbiAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQ6IGV2ZW50LFxuICAgICAgICAgICAgdmFsdWU6IHJlbW92ZWRJdGVtXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnVwZGF0ZUZpbGxlZFN0YXRlKCk7XG4gICAgICAgIHRoaXMudXBkYXRlTWF4ZWRPdXQoKTtcbiAgICB9XG5cbiAgICBhZGRJdGVtKGV2ZW50OiBFdmVudCwgaXRlbTogc3RyaW5nLCBwcmV2ZW50RGVmYXVsdDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy52YWx1ZSB8fCBbXTtcbiAgICAgICAgaWYgKGl0ZW0gJiYgaXRlbS50cmltKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5hbGxvd0R1cGxpY2F0ZSB8fCB0aGlzLnZhbHVlLmluZGV4T2YoaXRlbSkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IFsuLi50aGlzLnZhbHVlLCBpdGVtXTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uTW9kZWxDaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkFkZC5lbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZlbnQsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpdGVtXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGRhdGVGaWxsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLnVwZGF0ZU1heGVkT3V0KCk7XG4gICAgICAgIHRoaXMuaW5wdXRWaWV3Q2hpbGQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuXG4gICAgICAgIGlmIChwcmV2ZW50RGVmYXVsdCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNsZWFyKCkge1xuICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgICAgdGhpcy51cGRhdGVGaWxsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLm9uTW9kZWxDaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgICAgIHRoaXMub25DbGVhci5lbWl0KCk7XG4gICAgfVxuXG4gICAgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQud2hpY2gpIHtcbiAgICAgICAgICAgIC8vYmFja3NwYWNlXG4gICAgICAgICAgICBjYXNlIDg6XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaW5wdXRWaWV3Q2hpbGQubmF0aXZlRWxlbWVudC52YWx1ZS5sZW5ndGggPT09IDAgJiYgdGhpcy52YWx1ZSAmJiB0aGlzLnZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IFsuLi50aGlzLnZhbHVlXTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHJlbW92ZWRJdGVtID0gdGhpcy52YWx1ZS5wb3AoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uUmVtb3ZlLmVtaXQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcmVtb3ZlZEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlRmlsbGVkU3RhdGUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIC8vZW50ZXJcbiAgICAgICAgICAgIGNhc2UgMTM6XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRJdGVtKGV2ZW50LCB0aGlzLmlucHV0Vmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQudmFsdWUsIHRydWUpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDk6XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYWRkT25UYWIgJiYgdGhpcy5pbnB1dFZpZXdDaGlsZC5uYXRpdmVFbGVtZW50LnZhbHVlICE9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZEl0ZW0oZXZlbnQsIHRoaXMuaW5wdXRWaWV3Q2hpbGQubmF0aXZlRWxlbWVudC52YWx1ZSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGlmICh0aGlzLm1heCAmJiB0aGlzLnZhbHVlICYmIHRoaXMubWF4ID09PSB0aGlzLnZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5zZXBhcmF0b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuc2VwYXJhdG9yID09PSBldmVudC5rZXkgfHwgZXZlbnQua2V5Lm1hdGNoKHRoaXMuc2VwYXJhdG9yKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRJdGVtKGV2ZW50LCB0aGlzLmlucHV0Vmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQudmFsdWUsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlTWF4ZWRPdXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlucHV0Vmlld0NoaWxkICYmIHRoaXMuaW5wdXRWaWV3Q2hpbGQubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgaWYgKHRoaXMubWF4ICYmIHRoaXMudmFsdWUgJiYgdGhpcy5tYXggPT09IHRoaXMudmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgLy8gQ2FsbGluZyBgYmx1cmAgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgZmlyZWZveCBkb2VzIG5vdCBjYWxsIGBvbmZvY3VzYCBldmVudHNcbiAgICAgICAgICAgICAgICAvLyBmb3IgZGlzYWJsZWQgaW5wdXRzLCB1bmxpa2UgY2hyb21pdW0gYnJvd3NlcnMuXG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dFZpZXdDaGlsZC5uYXRpdmVFbGVtZW50LmJsdXIoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0Vmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0Vmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQuYmx1cigpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRWaWV3Q2hpbGQubmF0aXZlRWxlbWVudC5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQgfHwgZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW5wdXRUZXh0TW9kdWxlLCBTaGFyZWRNb2R1bGUsIFRpbWVzQ2lyY2xlSWNvbiwgVGltZXNJY29uXSxcbiAgICBleHBvcnRzOiBbQ2hpcHMsIElucHV0VGV4dE1vZHVsZSwgU2hhcmVkTW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtDaGlwc11cbn0pXG5leHBvcnQgY2xhc3MgQ2hpcHNNb2R1bGUge31cbiJdfQ==