@wawjs/ngx-prime 22.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (883) hide show
  1. package/LICENSE +25 -0
  2. package/README.md +5 -0
  3. package/fesm2022/wawjs-ngx-prime-accordion.mjs +644 -0
  4. package/fesm2022/wawjs-ngx-prime-accordion.mjs.map +1 -0
  5. package/fesm2022/wawjs-ngx-prime-animateonscroll.mjs +165 -0
  6. package/fesm2022/wawjs-ngx-prime-animateonscroll.mjs.map +1 -0
  7. package/fesm2022/wawjs-ngx-prime-api.mjs +825 -0
  8. package/fesm2022/wawjs-ngx-prime-api.mjs.map +1 -0
  9. package/fesm2022/wawjs-ngx-prime-autocomplete.mjs +2238 -0
  10. package/fesm2022/wawjs-ngx-prime-autocomplete.mjs.map +1 -0
  11. package/fesm2022/wawjs-ngx-prime-autofocus.mjs +76 -0
  12. package/fesm2022/wawjs-ngx-prime-autofocus.mjs.map +1 -0
  13. package/fesm2022/wawjs-ngx-prime-avatar.mjs +220 -0
  14. package/fesm2022/wawjs-ngx-prime-avatar.mjs.map +1 -0
  15. package/fesm2022/wawjs-ngx-prime-avatargroup.mjs +98 -0
  16. package/fesm2022/wawjs-ngx-prime-avatargroup.mjs.map +1 -0
  17. package/fesm2022/wawjs-ngx-prime-badge.mjs +427 -0
  18. package/fesm2022/wawjs-ngx-prime-badge.mjs.map +1 -0
  19. package/fesm2022/wawjs-ngx-prime-base.mjs +105 -0
  20. package/fesm2022/wawjs-ngx-prime-base.mjs.map +1 -0
  21. package/fesm2022/wawjs-ngx-prime-basecomponent.mjs +440 -0
  22. package/fesm2022/wawjs-ngx-prime-basecomponent.mjs.map +1 -0
  23. package/fesm2022/wawjs-ngx-prime-baseeditableholder.mjs +71 -0
  24. package/fesm2022/wawjs-ngx-prime-baseeditableholder.mjs.map +1 -0
  25. package/fesm2022/wawjs-ngx-prime-baseinput.mjs +95 -0
  26. package/fesm2022/wawjs-ngx-prime-baseinput.mjs.map +1 -0
  27. package/fesm2022/wawjs-ngx-prime-basemodelholder.mjs +27 -0
  28. package/fesm2022/wawjs-ngx-prime-basemodelholder.mjs.map +1 -0
  29. package/fesm2022/wawjs-ngx-prime-bind.mjs +97 -0
  30. package/fesm2022/wawjs-ngx-prime-bind.mjs.map +1 -0
  31. package/fesm2022/wawjs-ngx-prime-blockui.mjs +250 -0
  32. package/fesm2022/wawjs-ngx-prime-blockui.mjs.map +1 -0
  33. package/fesm2022/wawjs-ngx-prime-breadcrumb.mjs +593 -0
  34. package/fesm2022/wawjs-ngx-prime-breadcrumb.mjs.map +1 -0
  35. package/fesm2022/wawjs-ngx-prime-button.mjs +984 -0
  36. package/fesm2022/wawjs-ngx-prime-button.mjs.map +1 -0
  37. package/fesm2022/wawjs-ngx-prime-buttongroup.mjs +109 -0
  38. package/fesm2022/wawjs-ngx-prime-buttongroup.mjs.map +1 -0
  39. package/fesm2022/wawjs-ngx-prime-card.mjs +326 -0
  40. package/fesm2022/wawjs-ngx-prime-card.mjs.map +1 -0
  41. package/fesm2022/wawjs-ngx-prime-carousel.mjs +1205 -0
  42. package/fesm2022/wawjs-ngx-prime-carousel.mjs.map +1 -0
  43. package/fesm2022/wawjs-ngx-prime-cascadeselect.mjs +1751 -0
  44. package/fesm2022/wawjs-ngx-prime-cascadeselect.mjs.map +1 -0
  45. package/fesm2022/wawjs-ngx-prime-chart.mjs +246 -0
  46. package/fesm2022/wawjs-ngx-prime-chart.mjs.map +1 -0
  47. package/fesm2022/wawjs-ngx-prime-checkbox.mjs +729 -0
  48. package/fesm2022/wawjs-ngx-prime-checkbox.mjs.map +1 -0
  49. package/fesm2022/wawjs-ngx-prime-chip.mjs +341 -0
  50. package/fesm2022/wawjs-ngx-prime-chip.mjs.map +1 -0
  51. package/fesm2022/wawjs-ngx-prime-classnames.mjs +49 -0
  52. package/fesm2022/wawjs-ngx-prime-classnames.mjs.map +1 -0
  53. package/fesm2022/wawjs-ngx-prime-colorpicker.mjs +894 -0
  54. package/fesm2022/wawjs-ngx-prime-colorpicker.mjs.map +1 -0
  55. package/fesm2022/wawjs-ngx-prime-config.mjs +307 -0
  56. package/fesm2022/wawjs-ngx-prime-config.mjs.map +1 -0
  57. package/fesm2022/wawjs-ngx-prime-confirmdialog.mjs +793 -0
  58. package/fesm2022/wawjs-ngx-prime-confirmdialog.mjs.map +1 -0
  59. package/fesm2022/wawjs-ngx-prime-confirmpopup.mjs +694 -0
  60. package/fesm2022/wawjs-ngx-prime-confirmpopup.mjs.map +1 -0
  61. package/fesm2022/wawjs-ngx-prime-contextmenu.mjs +1491 -0
  62. package/fesm2022/wawjs-ngx-prime-contextmenu.mjs.map +1 -0
  63. package/fesm2022/wawjs-ngx-prime-dataview.mjs +774 -0
  64. package/fesm2022/wawjs-ngx-prime-dataview.mjs.map +1 -0
  65. package/fesm2022/wawjs-ngx-prime-datepicker.mjs +4604 -0
  66. package/fesm2022/wawjs-ngx-prime-datepicker.mjs.map +1 -0
  67. package/fesm2022/wawjs-ngx-prime-dialog.mjs +1355 -0
  68. package/fesm2022/wawjs-ngx-prime-dialog.mjs.map +1 -0
  69. package/fesm2022/wawjs-ngx-prime-divider.mjs +157 -0
  70. package/fesm2022/wawjs-ngx-prime-divider.mjs.map +1 -0
  71. package/fesm2022/wawjs-ngx-prime-dock.mjs +593 -0
  72. package/fesm2022/wawjs-ngx-prime-dock.mjs.map +1 -0
  73. package/fesm2022/wawjs-ngx-prime-dom.mjs +778 -0
  74. package/fesm2022/wawjs-ngx-prime-dom.mjs.map +1 -0
  75. package/fesm2022/wawjs-ngx-prime-dragdrop.mjs +297 -0
  76. package/fesm2022/wawjs-ngx-prime-dragdrop.mjs.map +1 -0
  77. package/fesm2022/wawjs-ngx-prime-drawer.mjs +733 -0
  78. package/fesm2022/wawjs-ngx-prime-drawer.mjs.map +1 -0
  79. package/fesm2022/wawjs-ngx-prime-dynamicdialog.mjs +1090 -0
  80. package/fesm2022/wawjs-ngx-prime-dynamicdialog.mjs.map +1 -0
  81. package/fesm2022/wawjs-ngx-prime-editor.mjs +504 -0
  82. package/fesm2022/wawjs-ngx-prime-editor.mjs.map +1 -0
  83. package/fesm2022/wawjs-ngx-prime-fieldset.mjs +439 -0
  84. package/fesm2022/wawjs-ngx-prime-fieldset.mjs.map +1 -0
  85. package/fesm2022/wawjs-ngx-prime-fileupload.mjs +1964 -0
  86. package/fesm2022/wawjs-ngx-prime-fileupload.mjs.map +1 -0
  87. package/fesm2022/wawjs-ngx-prime-floatlabel.mjs +111 -0
  88. package/fesm2022/wawjs-ngx-prime-floatlabel.mjs.map +1 -0
  89. package/fesm2022/wawjs-ngx-prime-fluid.mjs +88 -0
  90. package/fesm2022/wawjs-ngx-prime-fluid.mjs.map +1 -0
  91. package/fesm2022/wawjs-ngx-prime-focustrap.mjs +107 -0
  92. package/fesm2022/wawjs-ngx-prime-focustrap.mjs.map +1 -0
  93. package/fesm2022/wawjs-ngx-prime-galleria.mjs +1946 -0
  94. package/fesm2022/wawjs-ngx-prime-galleria.mjs.map +1 -0
  95. package/fesm2022/wawjs-ngx-prime-iconfield.mjs +110 -0
  96. package/fesm2022/wawjs-ngx-prime-iconfield.mjs.map +1 -0
  97. package/fesm2022/wawjs-ngx-prime-icons-angledoubledown.mjs +37 -0
  98. package/fesm2022/wawjs-ngx-prime-icons-angledoubledown.mjs.map +1 -0
  99. package/fesm2022/wawjs-ngx-prime-icons-angledoubleleft.mjs +37 -0
  100. package/fesm2022/wawjs-ngx-prime-icons-angledoubleleft.mjs.map +1 -0
  101. package/fesm2022/wawjs-ngx-prime-icons-angledoubleright.mjs +37 -0
  102. package/fesm2022/wawjs-ngx-prime-icons-angledoubleright.mjs.map +1 -0
  103. package/fesm2022/wawjs-ngx-prime-icons-angledoubleup.mjs +37 -0
  104. package/fesm2022/wawjs-ngx-prime-icons-angledoubleup.mjs.map +1 -0
  105. package/fesm2022/wawjs-ngx-prime-icons-angledown.mjs +33 -0
  106. package/fesm2022/wawjs-ngx-prime-icons-angledown.mjs.map +1 -0
  107. package/fesm2022/wawjs-ngx-prime-icons-angleleft.mjs +33 -0
  108. package/fesm2022/wawjs-ngx-prime-icons-angleleft.mjs.map +1 -0
  109. package/fesm2022/wawjs-ngx-prime-icons-angleright.mjs +33 -0
  110. package/fesm2022/wawjs-ngx-prime-icons-angleright.mjs.map +1 -0
  111. package/fesm2022/wawjs-ngx-prime-icons-angleup.mjs +33 -0
  112. package/fesm2022/wawjs-ngx-prime-icons-angleup.mjs.map +1 -0
  113. package/fesm2022/wawjs-ngx-prime-icons-arrowdown.mjs +56 -0
  114. package/fesm2022/wawjs-ngx-prime-icons-arrowdown.mjs.map +1 -0
  115. package/fesm2022/wawjs-ngx-prime-icons-arrowdownleft.mjs +33 -0
  116. package/fesm2022/wawjs-ngx-prime-icons-arrowdownleft.mjs.map +1 -0
  117. package/fesm2022/wawjs-ngx-prime-icons-arrowdownright.mjs +33 -0
  118. package/fesm2022/wawjs-ngx-prime-icons-arrowdownright.mjs.map +1 -0
  119. package/fesm2022/wawjs-ngx-prime-icons-arrowleft.mjs +56 -0
  120. package/fesm2022/wawjs-ngx-prime-icons-arrowleft.mjs.map +1 -0
  121. package/fesm2022/wawjs-ngx-prime-icons-arrowright.mjs +37 -0
  122. package/fesm2022/wawjs-ngx-prime-icons-arrowright.mjs.map +1 -0
  123. package/fesm2022/wawjs-ngx-prime-icons-arrowup.mjs +56 -0
  124. package/fesm2022/wawjs-ngx-prime-icons-arrowup.mjs.map +1 -0
  125. package/fesm2022/wawjs-ngx-prime-icons-ban.mjs +52 -0
  126. package/fesm2022/wawjs-ngx-prime-icons-ban.mjs.map +1 -0
  127. package/fesm2022/wawjs-ngx-prime-icons-bars.mjs +37 -0
  128. package/fesm2022/wawjs-ngx-prime-icons-bars.mjs.map +1 -0
  129. package/fesm2022/wawjs-ngx-prime-icons-baseicon.mjs +100 -0
  130. package/fesm2022/wawjs-ngx-prime-icons-baseicon.mjs.map +1 -0
  131. package/fesm2022/wawjs-ngx-prime-icons-blank.mjs +23 -0
  132. package/fesm2022/wawjs-ngx-prime-icons-blank.mjs.map +1 -0
  133. package/fesm2022/wawjs-ngx-prime-icons-calendar.mjs +33 -0
  134. package/fesm2022/wawjs-ngx-prime-icons-calendar.mjs.map +1 -0
  135. package/fesm2022/wawjs-ngx-prime-icons-caretleft.mjs +33 -0
  136. package/fesm2022/wawjs-ngx-prime-icons-caretleft.mjs.map +1 -0
  137. package/fesm2022/wawjs-ngx-prime-icons-caretright.mjs +33 -0
  138. package/fesm2022/wawjs-ngx-prime-icons-caretright.mjs.map +1 -0
  139. package/fesm2022/wawjs-ngx-prime-icons-check.mjs +33 -0
  140. package/fesm2022/wawjs-ngx-prime-icons-check.mjs.map +1 -0
  141. package/fesm2022/wawjs-ngx-prime-icons-chevrondown.mjs +33 -0
  142. package/fesm2022/wawjs-ngx-prime-icons-chevrondown.mjs.map +1 -0
  143. package/fesm2022/wawjs-ngx-prime-icons-chevronleft.mjs +33 -0
  144. package/fesm2022/wawjs-ngx-prime-icons-chevronleft.mjs.map +1 -0
  145. package/fesm2022/wawjs-ngx-prime-icons-chevronright.mjs +33 -0
  146. package/fesm2022/wawjs-ngx-prime-icons-chevronright.mjs.map +1 -0
  147. package/fesm2022/wawjs-ngx-prime-icons-chevronup.mjs +33 -0
  148. package/fesm2022/wawjs-ngx-prime-icons-chevronup.mjs.map +1 -0
  149. package/fesm2022/wawjs-ngx-prime-icons-exclamationtriangle.mjs +68 -0
  150. package/fesm2022/wawjs-ngx-prime-icons-exclamationtriangle.mjs.map +1 -0
  151. package/fesm2022/wawjs-ngx-prime-icons-eye.mjs +37 -0
  152. package/fesm2022/wawjs-ngx-prime-icons-eye.mjs.map +1 -0
  153. package/fesm2022/wawjs-ngx-prime-icons-eyeslash.mjs +56 -0
  154. package/fesm2022/wawjs-ngx-prime-icons-eyeslash.mjs.map +1 -0
  155. package/fesm2022/wawjs-ngx-prime-icons-filter.mjs +52 -0
  156. package/fesm2022/wawjs-ngx-prime-icons-filter.mjs.map +1 -0
  157. package/fesm2022/wawjs-ngx-prime-icons-filterfill.mjs +33 -0
  158. package/fesm2022/wawjs-ngx-prime-icons-filterfill.mjs.map +1 -0
  159. package/fesm2022/wawjs-ngx-prime-icons-filterslash.mjs +56 -0
  160. package/fesm2022/wawjs-ngx-prime-icons-filterslash.mjs.map +1 -0
  161. package/fesm2022/wawjs-ngx-prime-icons-home.mjs +56 -0
  162. package/fesm2022/wawjs-ngx-prime-icons-home.mjs.map +1 -0
  163. package/fesm2022/wawjs-ngx-prime-icons-infocircle.mjs +56 -0
  164. package/fesm2022/wawjs-ngx-prime-icons-infocircle.mjs.map +1 -0
  165. package/fesm2022/wawjs-ngx-prime-icons-minus.mjs +33 -0
  166. package/fesm2022/wawjs-ngx-prime-icons-minus.mjs.map +1 -0
  167. package/fesm2022/wawjs-ngx-prime-icons-pencil.mjs +52 -0
  168. package/fesm2022/wawjs-ngx-prime-icons-pencil.mjs.map +1 -0
  169. package/fesm2022/wawjs-ngx-prime-icons-plus.mjs +52 -0
  170. package/fesm2022/wawjs-ngx-prime-icons-plus.mjs.map +1 -0
  171. package/fesm2022/wawjs-ngx-prime-icons-refresh.mjs +56 -0
  172. package/fesm2022/wawjs-ngx-prime-icons-refresh.mjs.map +1 -0
  173. package/fesm2022/wawjs-ngx-prime-icons-search.mjs +56 -0
  174. package/fesm2022/wawjs-ngx-prime-icons-search.mjs.map +1 -0
  175. package/fesm2022/wawjs-ngx-prime-icons-searchminus.mjs +56 -0
  176. package/fesm2022/wawjs-ngx-prime-icons-searchminus.mjs.map +1 -0
  177. package/fesm2022/wawjs-ngx-prime-icons-searchplus.mjs +56 -0
  178. package/fesm2022/wawjs-ngx-prime-icons-searchplus.mjs.map +1 -0
  179. package/fesm2022/wawjs-ngx-prime-icons-sortalt.mjs +64 -0
  180. package/fesm2022/wawjs-ngx-prime-icons-sortalt.mjs.map +1 -0
  181. package/fesm2022/wawjs-ngx-prime-icons-sortamountdown.mjs +52 -0
  182. package/fesm2022/wawjs-ngx-prime-icons-sortamountdown.mjs.map +1 -0
  183. package/fesm2022/wawjs-ngx-prime-icons-sortamountupalt.mjs +52 -0
  184. package/fesm2022/wawjs-ngx-prime-icons-sortamountupalt.mjs.map +1 -0
  185. package/fesm2022/wawjs-ngx-prime-icons-spinner.mjs +52 -0
  186. package/fesm2022/wawjs-ngx-prime-icons-spinner.mjs.map +1 -0
  187. package/fesm2022/wawjs-ngx-prime-icons-star.mjs +52 -0
  188. package/fesm2022/wawjs-ngx-prime-icons-star.mjs.map +1 -0
  189. package/fesm2022/wawjs-ngx-prime-icons-starfill.mjs +52 -0
  190. package/fesm2022/wawjs-ngx-prime-icons-starfill.mjs.map +1 -0
  191. package/fesm2022/wawjs-ngx-prime-icons-thlarge.mjs +56 -0
  192. package/fesm2022/wawjs-ngx-prime-icons-thlarge.mjs.map +1 -0
  193. package/fesm2022/wawjs-ngx-prime-icons-times.mjs +33 -0
  194. package/fesm2022/wawjs-ngx-prime-icons-times.mjs.map +1 -0
  195. package/fesm2022/wawjs-ngx-prime-icons-timescircle.mjs +56 -0
  196. package/fesm2022/wawjs-ngx-prime-icons-timescircle.mjs.map +1 -0
  197. package/fesm2022/wawjs-ngx-prime-icons-trash.mjs +56 -0
  198. package/fesm2022/wawjs-ngx-prime-icons-trash.mjs.map +1 -0
  199. package/fesm2022/wawjs-ngx-prime-icons-undo.mjs +56 -0
  200. package/fesm2022/wawjs-ngx-prime-icons-undo.mjs.map +1 -0
  201. package/fesm2022/wawjs-ngx-prime-icons-upload.mjs +56 -0
  202. package/fesm2022/wawjs-ngx-prime-icons-upload.mjs.map +1 -0
  203. package/fesm2022/wawjs-ngx-prime-icons-windowmaximize.mjs +56 -0
  204. package/fesm2022/wawjs-ngx-prime-icons-windowmaximize.mjs.map +1 -0
  205. package/fesm2022/wawjs-ngx-prime-icons-windowminimize.mjs +56 -0
  206. package/fesm2022/wawjs-ngx-prime-icons-windowminimize.mjs.map +1 -0
  207. package/fesm2022/wawjs-ngx-prime-icons.mjs +63 -0
  208. package/fesm2022/wawjs-ngx-prime-icons.mjs.map +1 -0
  209. package/fesm2022/wawjs-ngx-prime-iftalabel.mjs +100 -0
  210. package/fesm2022/wawjs-ngx-prime-iftalabel.mjs.map +1 -0
  211. package/fesm2022/wawjs-ngx-prime-image.mjs +777 -0
  212. package/fesm2022/wawjs-ngx-prime-image.mjs.map +1 -0
  213. package/fesm2022/wawjs-ngx-prime-imagecompare.mjs +191 -0
  214. package/fesm2022/wawjs-ngx-prime-imagecompare.mjs.map +1 -0
  215. package/fesm2022/wawjs-ngx-prime-inplace.mjs +317 -0
  216. package/fesm2022/wawjs-ngx-prime-inplace.mjs.map +1 -0
  217. package/fesm2022/wawjs-ngx-prime-inputgroup.mjs +135 -0
  218. package/fesm2022/wawjs-ngx-prime-inputgroup.mjs.map +1 -0
  219. package/fesm2022/wawjs-ngx-prime-inputgroupaddon.mjs +83 -0
  220. package/fesm2022/wawjs-ngx-prime-inputgroupaddon.mjs.map +1 -0
  221. package/fesm2022/wawjs-ngx-prime-inputicon.mjs +81 -0
  222. package/fesm2022/wawjs-ngx-prime-inputicon.mjs.map +1 -0
  223. package/fesm2022/wawjs-ngx-prime-inputmask.mjs +1486 -0
  224. package/fesm2022/wawjs-ngx-prime-inputmask.mjs.map +1 -0
  225. package/fesm2022/wawjs-ngx-prime-inputnumber.mjs +1770 -0
  226. package/fesm2022/wawjs-ngx-prime-inputnumber.mjs.map +1 -0
  227. package/fesm2022/wawjs-ngx-prime-inputotp.mjs +449 -0
  228. package/fesm2022/wawjs-ngx-prime-inputotp.mjs.map +1 -0
  229. package/fesm2022/wawjs-ngx-prime-inputtext.mjs +196 -0
  230. package/fesm2022/wawjs-ngx-prime-inputtext.mjs.map +1 -0
  231. package/fesm2022/wawjs-ngx-prime-keyfilter.mjs +254 -0
  232. package/fesm2022/wawjs-ngx-prime-keyfilter.mjs.map +1 -0
  233. package/fesm2022/wawjs-ngx-prime-knob.mjs +470 -0
  234. package/fesm2022/wawjs-ngx-prime-knob.mjs.map +1 -0
  235. package/fesm2022/wawjs-ngx-prime-listbox.mjs +2039 -0
  236. package/fesm2022/wawjs-ngx-prime-listbox.mjs.map +1 -0
  237. package/fesm2022/wawjs-ngx-prime-megamenu.mjs +1563 -0
  238. package/fesm2022/wawjs-ngx-prime-megamenu.mjs.map +1 -0
  239. package/fesm2022/wawjs-ngx-prime-menu.mjs +1159 -0
  240. package/fesm2022/wawjs-ngx-prime-menu.mjs.map +1 -0
  241. package/fesm2022/wawjs-ngx-prime-menubar.mjs +1466 -0
  242. package/fesm2022/wawjs-ngx-prime-menubar.mjs.map +1 -0
  243. package/fesm2022/wawjs-ngx-prime-message.mjs +397 -0
  244. package/fesm2022/wawjs-ngx-prime-message.mjs.map +1 -0
  245. package/fesm2022/wawjs-ngx-prime-metergroup.mjs +448 -0
  246. package/fesm2022/wawjs-ngx-prime-metergroup.mjs.map +1 -0
  247. package/fesm2022/wawjs-ngx-prime-motion.mjs +721 -0
  248. package/fesm2022/wawjs-ngx-prime-motion.mjs.map +1 -0
  249. package/fesm2022/wawjs-ngx-prime-multiselect.mjs +2632 -0
  250. package/fesm2022/wawjs-ngx-prime-multiselect.mjs.map +1 -0
  251. package/fesm2022/wawjs-ngx-prime-orderlist.mjs +1032 -0
  252. package/fesm2022/wawjs-ngx-prime-orderlist.mjs.map +1 -0
  253. package/fesm2022/wawjs-ngx-prime-organizationchart.mjs +537 -0
  254. package/fesm2022/wawjs-ngx-prime-organizationchart.mjs.map +1 -0
  255. package/fesm2022/wawjs-ngx-prime-overlay.mjs +779 -0
  256. package/fesm2022/wawjs-ngx-prime-overlay.mjs.map +1 -0
  257. package/fesm2022/wawjs-ngx-prime-overlaybadge.mjs +148 -0
  258. package/fesm2022/wawjs-ngx-prime-overlaybadge.mjs.map +1 -0
  259. package/fesm2022/wawjs-ngx-prime-paginator.mjs +854 -0
  260. package/fesm2022/wawjs-ngx-prime-paginator.mjs.map +1 -0
  261. package/fesm2022/wawjs-ngx-prime-panel.mjs +523 -0
  262. package/fesm2022/wawjs-ngx-prime-panel.mjs.map +1 -0
  263. package/fesm2022/wawjs-ngx-prime-panelmenu.mjs +1607 -0
  264. package/fesm2022/wawjs-ngx-prime-panelmenu.mjs.map +1 -0
  265. package/fesm2022/wawjs-ngx-prime-passthrough.mjs +19 -0
  266. package/fesm2022/wawjs-ngx-prime-passthrough.mjs.map +1 -0
  267. package/fesm2022/wawjs-ngx-prime-password.mjs +1263 -0
  268. package/fesm2022/wawjs-ngx-prime-password.mjs.map +1 -0
  269. package/fesm2022/wawjs-ngx-prime-picklist.mjs +2189 -0
  270. package/fesm2022/wawjs-ngx-prime-picklist.mjs.map +1 -0
  271. package/fesm2022/wawjs-ngx-prime-popover.mjs +502 -0
  272. package/fesm2022/wawjs-ngx-prime-popover.mjs.map +1 -0
  273. package/fesm2022/wawjs-ngx-prime-progressbar.mjs +212 -0
  274. package/fesm2022/wawjs-ngx-prime-progressbar.mjs.map +1 -0
  275. package/fesm2022/wawjs-ngx-prime-progressspinner.mjs +142 -0
  276. package/fesm2022/wawjs-ngx-prime-progressspinner.mjs.map +1 -0
  277. package/fesm2022/wawjs-ngx-prime-radiobutton.mjs +504 -0
  278. package/fesm2022/wawjs-ngx-prime-radiobutton.mjs.map +1 -0
  279. package/fesm2022/wawjs-ngx-prime-rating.mjs +487 -0
  280. package/fesm2022/wawjs-ngx-prime-rating.mjs.map +1 -0
  281. package/fesm2022/wawjs-ngx-prime-ripple.mjs +196 -0
  282. package/fesm2022/wawjs-ngx-prime-ripple.mjs.map +1 -0
  283. package/fesm2022/wawjs-ngx-prime-scroller.mjs +1222 -0
  284. package/fesm2022/wawjs-ngx-prime-scroller.mjs.map +1 -0
  285. package/fesm2022/wawjs-ngx-prime-scrollpanel.mjs +562 -0
  286. package/fesm2022/wawjs-ngx-prime-scrollpanel.mjs.map +1 -0
  287. package/fesm2022/wawjs-ngx-prime-scrolltop.mjs +345 -0
  288. package/fesm2022/wawjs-ngx-prime-scrolltop.mjs.map +1 -0
  289. package/fesm2022/wawjs-ngx-prime-select.mjs +2339 -0
  290. package/fesm2022/wawjs-ngx-prime-select.mjs.map +1 -0
  291. package/fesm2022/wawjs-ngx-prime-selectbutton.mjs +627 -0
  292. package/fesm2022/wawjs-ngx-prime-selectbutton.mjs.map +1 -0
  293. package/fesm2022/wawjs-ngx-prime-skeleton.mjs +162 -0
  294. package/fesm2022/wawjs-ngx-prime-skeleton.mjs.map +1 -0
  295. package/fesm2022/wawjs-ngx-prime-slider.mjs +979 -0
  296. package/fesm2022/wawjs-ngx-prime-slider.mjs.map +1 -0
  297. package/fesm2022/wawjs-ngx-prime-speeddial.mjs +894 -0
  298. package/fesm2022/wawjs-ngx-prime-speeddial.mjs.map +1 -0
  299. package/fesm2022/wawjs-ngx-prime-splitbutton.mjs +583 -0
  300. package/fesm2022/wawjs-ngx-prime-splitbutton.mjs.map +1 -0
  301. package/fesm2022/wawjs-ngx-prime-splitter.mjs +585 -0
  302. package/fesm2022/wawjs-ngx-prime-splitter.mjs.map +1 -0
  303. package/fesm2022/wawjs-ngx-prime-stepper.mjs +756 -0
  304. package/fesm2022/wawjs-ngx-prime-stepper.mjs.map +1 -0
  305. package/fesm2022/wawjs-ngx-prime-steps.mjs +423 -0
  306. package/fesm2022/wawjs-ngx-prime-steps.mjs.map +1 -0
  307. package/fesm2022/wawjs-ngx-prime-styleclass.mjs +330 -0
  308. package/fesm2022/wawjs-ngx-prime-styleclass.mjs.map +1 -0
  309. package/fesm2022/wawjs-ngx-prime-table.mjs +7413 -0
  310. package/fesm2022/wawjs-ngx-prime-table.mjs.map +1 -0
  311. package/fesm2022/wawjs-ngx-prime-tabs.mjs +913 -0
  312. package/fesm2022/wawjs-ngx-prime-tabs.mjs.map +1 -0
  313. package/fesm2022/wawjs-ngx-prime-tag.mjs +197 -0
  314. package/fesm2022/wawjs-ngx-prime-tag.mjs.map +1 -0
  315. package/fesm2022/wawjs-ngx-prime-terminal.mjs +264 -0
  316. package/fesm2022/wawjs-ngx-prime-terminal.mjs.map +1 -0
  317. package/fesm2022/wawjs-ngx-prime-textarea.mjs +221 -0
  318. package/fesm2022/wawjs-ngx-prime-textarea.mjs.map +1 -0
  319. package/fesm2022/wawjs-ngx-prime-tieredmenu.mjs +1541 -0
  320. package/fesm2022/wawjs-ngx-prime-tieredmenu.mjs.map +1 -0
  321. package/fesm2022/wawjs-ngx-prime-timeline.mjs +244 -0
  322. package/fesm2022/wawjs-ngx-prime-timeline.mjs.map +1 -0
  323. package/fesm2022/wawjs-ngx-prime-toast.mjs +741 -0
  324. package/fesm2022/wawjs-ngx-prime-toast.mjs.map +1 -0
  325. package/fesm2022/wawjs-ngx-prime-togglebutton.mjs +455 -0
  326. package/fesm2022/wawjs-ngx-prime-togglebutton.mjs.map +1 -0
  327. package/fesm2022/wawjs-ngx-prime-toggleswitch.mjs +464 -0
  328. package/fesm2022/wawjs-ngx-prime-toggleswitch.mjs.map +1 -0
  329. package/fesm2022/wawjs-ngx-prime-toolbar.mjs +206 -0
  330. package/fesm2022/wawjs-ngx-prime-toolbar.mjs.map +1 -0
  331. package/fesm2022/wawjs-ngx-prime-tooltip.mjs +774 -0
  332. package/fesm2022/wawjs-ngx-prime-tooltip.mjs.map +1 -0
  333. package/fesm2022/wawjs-ngx-prime-tree.mjs +2242 -0
  334. package/fesm2022/wawjs-ngx-prime-tree.mjs.map +1 -0
  335. package/fesm2022/wawjs-ngx-prime-treeselect.mjs +1359 -0
  336. package/fesm2022/wawjs-ngx-prime-treeselect.mjs.map +1 -0
  337. package/fesm2022/wawjs-ngx-prime-treetable.mjs +4954 -0
  338. package/fesm2022/wawjs-ngx-prime-treetable.mjs.map +1 -0
  339. package/fesm2022/wawjs-ngx-prime-ts-helpers.mjs +4 -0
  340. package/fesm2022/wawjs-ngx-prime-ts-helpers.mjs.map +1 -0
  341. package/fesm2022/wawjs-ngx-prime-types-accordion.mjs +4 -0
  342. package/fesm2022/wawjs-ngx-prime-types-accordion.mjs.map +1 -0
  343. package/fesm2022/wawjs-ngx-prime-types-autocomplete.mjs +4 -0
  344. package/fesm2022/wawjs-ngx-prime-types-autocomplete.mjs.map +1 -0
  345. package/fesm2022/wawjs-ngx-prime-types-avatar.mjs +4 -0
  346. package/fesm2022/wawjs-ngx-prime-types-avatar.mjs.map +1 -0
  347. package/fesm2022/wawjs-ngx-prime-types-avatargroup.mjs +4 -0
  348. package/fesm2022/wawjs-ngx-prime-types-avatargroup.mjs.map +1 -0
  349. package/fesm2022/wawjs-ngx-prime-types-badge.mjs +4 -0
  350. package/fesm2022/wawjs-ngx-prime-types-badge.mjs.map +1 -0
  351. package/fesm2022/wawjs-ngx-prime-types-blockui.mjs +4 -0
  352. package/fesm2022/wawjs-ngx-prime-types-blockui.mjs.map +1 -0
  353. package/fesm2022/wawjs-ngx-prime-types-breadcrumb.mjs +4 -0
  354. package/fesm2022/wawjs-ngx-prime-types-breadcrumb.mjs.map +1 -0
  355. package/fesm2022/wawjs-ngx-prime-types-button.mjs +4 -0
  356. package/fesm2022/wawjs-ngx-prime-types-button.mjs.map +1 -0
  357. package/fesm2022/wawjs-ngx-prime-types-card.mjs +4 -0
  358. package/fesm2022/wawjs-ngx-prime-types-card.mjs.map +1 -0
  359. package/fesm2022/wawjs-ngx-prime-types-carousel.mjs +4 -0
  360. package/fesm2022/wawjs-ngx-prime-types-carousel.mjs.map +1 -0
  361. package/fesm2022/wawjs-ngx-prime-types-cascadeselect.mjs +4 -0
  362. package/fesm2022/wawjs-ngx-prime-types-cascadeselect.mjs.map +1 -0
  363. package/fesm2022/wawjs-ngx-prime-types-chart.mjs +4 -0
  364. package/fesm2022/wawjs-ngx-prime-types-chart.mjs.map +1 -0
  365. package/fesm2022/wawjs-ngx-prime-types-checkbox.mjs +4 -0
  366. package/fesm2022/wawjs-ngx-prime-types-checkbox.mjs.map +1 -0
  367. package/fesm2022/wawjs-ngx-prime-types-chip.mjs +4 -0
  368. package/fesm2022/wawjs-ngx-prime-types-chip.mjs.map +1 -0
  369. package/fesm2022/wawjs-ngx-prime-types-colorpicker.mjs +4 -0
  370. package/fesm2022/wawjs-ngx-prime-types-colorpicker.mjs.map +1 -0
  371. package/fesm2022/wawjs-ngx-prime-types-confirmdialog.mjs +4 -0
  372. package/fesm2022/wawjs-ngx-prime-types-confirmdialog.mjs.map +1 -0
  373. package/fesm2022/wawjs-ngx-prime-types-confirmpopup.mjs +4 -0
  374. package/fesm2022/wawjs-ngx-prime-types-confirmpopup.mjs.map +1 -0
  375. package/fesm2022/wawjs-ngx-prime-types-contextmenu.mjs +4 -0
  376. package/fesm2022/wawjs-ngx-prime-types-contextmenu.mjs.map +1 -0
  377. package/fesm2022/wawjs-ngx-prime-types-dataview.mjs +4 -0
  378. package/fesm2022/wawjs-ngx-prime-types-dataview.mjs.map +1 -0
  379. package/fesm2022/wawjs-ngx-prime-types-datepicker.mjs +4 -0
  380. package/fesm2022/wawjs-ngx-prime-types-datepicker.mjs.map +1 -0
  381. package/fesm2022/wawjs-ngx-prime-types-dialog.mjs +4 -0
  382. package/fesm2022/wawjs-ngx-prime-types-dialog.mjs.map +1 -0
  383. package/fesm2022/wawjs-ngx-prime-types-divider.mjs +4 -0
  384. package/fesm2022/wawjs-ngx-prime-types-divider.mjs.map +1 -0
  385. package/fesm2022/wawjs-ngx-prime-types-dock.mjs +4 -0
  386. package/fesm2022/wawjs-ngx-prime-types-dock.mjs.map +1 -0
  387. package/fesm2022/wawjs-ngx-prime-types-drawer.mjs +4 -0
  388. package/fesm2022/wawjs-ngx-prime-types-drawer.mjs.map +1 -0
  389. package/fesm2022/wawjs-ngx-prime-types-editor.mjs +4 -0
  390. package/fesm2022/wawjs-ngx-prime-types-editor.mjs.map +1 -0
  391. package/fesm2022/wawjs-ngx-prime-types-fieldset.mjs +4 -0
  392. package/fesm2022/wawjs-ngx-prime-types-fieldset.mjs.map +1 -0
  393. package/fesm2022/wawjs-ngx-prime-types-fileupload.mjs +4 -0
  394. package/fesm2022/wawjs-ngx-prime-types-fileupload.mjs.map +1 -0
  395. package/fesm2022/wawjs-ngx-prime-types-floatlabel.mjs +4 -0
  396. package/fesm2022/wawjs-ngx-prime-types-floatlabel.mjs.map +1 -0
  397. package/fesm2022/wawjs-ngx-prime-types-fluid.mjs +4 -0
  398. package/fesm2022/wawjs-ngx-prime-types-fluid.mjs.map +1 -0
  399. package/fesm2022/wawjs-ngx-prime-types-galleria.mjs +4 -0
  400. package/fesm2022/wawjs-ngx-prime-types-galleria.mjs.map +1 -0
  401. package/fesm2022/wawjs-ngx-prime-types-iconfield.mjs +4 -0
  402. package/fesm2022/wawjs-ngx-prime-types-iconfield.mjs.map +1 -0
  403. package/fesm2022/wawjs-ngx-prime-types-iftalabel.mjs +4 -0
  404. package/fesm2022/wawjs-ngx-prime-types-iftalabel.mjs.map +1 -0
  405. package/fesm2022/wawjs-ngx-prime-types-image.mjs +4 -0
  406. package/fesm2022/wawjs-ngx-prime-types-image.mjs.map +1 -0
  407. package/fesm2022/wawjs-ngx-prime-types-imagecompare.mjs +4 -0
  408. package/fesm2022/wawjs-ngx-prime-types-imagecompare.mjs.map +1 -0
  409. package/fesm2022/wawjs-ngx-prime-types-inplace.mjs +4 -0
  410. package/fesm2022/wawjs-ngx-prime-types-inplace.mjs.map +1 -0
  411. package/fesm2022/wawjs-ngx-prime-types-inputgroup.mjs +4 -0
  412. package/fesm2022/wawjs-ngx-prime-types-inputgroup.mjs.map +1 -0
  413. package/fesm2022/wawjs-ngx-prime-types-inputgroupaddon.mjs +4 -0
  414. package/fesm2022/wawjs-ngx-prime-types-inputgroupaddon.mjs.map +1 -0
  415. package/fesm2022/wawjs-ngx-prime-types-inputicon.mjs +4 -0
  416. package/fesm2022/wawjs-ngx-prime-types-inputicon.mjs.map +1 -0
  417. package/fesm2022/wawjs-ngx-prime-types-inputmask.mjs +4 -0
  418. package/fesm2022/wawjs-ngx-prime-types-inputmask.mjs.map +1 -0
  419. package/fesm2022/wawjs-ngx-prime-types-inputnumber.mjs +4 -0
  420. package/fesm2022/wawjs-ngx-prime-types-inputnumber.mjs.map +1 -0
  421. package/fesm2022/wawjs-ngx-prime-types-inputotp.mjs +4 -0
  422. package/fesm2022/wawjs-ngx-prime-types-inputotp.mjs.map +1 -0
  423. package/fesm2022/wawjs-ngx-prime-types-inputtext.mjs +4 -0
  424. package/fesm2022/wawjs-ngx-prime-types-inputtext.mjs.map +1 -0
  425. package/fesm2022/wawjs-ngx-prime-types-knob.mjs +4 -0
  426. package/fesm2022/wawjs-ngx-prime-types-knob.mjs.map +1 -0
  427. package/fesm2022/wawjs-ngx-prime-types-listbox.mjs +4 -0
  428. package/fesm2022/wawjs-ngx-prime-types-listbox.mjs.map +1 -0
  429. package/fesm2022/wawjs-ngx-prime-types-megamenu.mjs +4 -0
  430. package/fesm2022/wawjs-ngx-prime-types-megamenu.mjs.map +1 -0
  431. package/fesm2022/wawjs-ngx-prime-types-menu.mjs +4 -0
  432. package/fesm2022/wawjs-ngx-prime-types-menu.mjs.map +1 -0
  433. package/fesm2022/wawjs-ngx-prime-types-menubar.mjs +4 -0
  434. package/fesm2022/wawjs-ngx-prime-types-menubar.mjs.map +1 -0
  435. package/fesm2022/wawjs-ngx-prime-types-message.mjs +4 -0
  436. package/fesm2022/wawjs-ngx-prime-types-message.mjs.map +1 -0
  437. package/fesm2022/wawjs-ngx-prime-types-metergroup.mjs +4 -0
  438. package/fesm2022/wawjs-ngx-prime-types-metergroup.mjs.map +1 -0
  439. package/fesm2022/wawjs-ngx-prime-types-motion.mjs +4 -0
  440. package/fesm2022/wawjs-ngx-prime-types-motion.mjs.map +1 -0
  441. package/fesm2022/wawjs-ngx-prime-types-multiselect.mjs +4 -0
  442. package/fesm2022/wawjs-ngx-prime-types-multiselect.mjs.map +1 -0
  443. package/fesm2022/wawjs-ngx-prime-types-orderlist.mjs +4 -0
  444. package/fesm2022/wawjs-ngx-prime-types-orderlist.mjs.map +1 -0
  445. package/fesm2022/wawjs-ngx-prime-types-organizationchart.mjs +4 -0
  446. package/fesm2022/wawjs-ngx-prime-types-organizationchart.mjs.map +1 -0
  447. package/fesm2022/wawjs-ngx-prime-types-overlay.mjs +4 -0
  448. package/fesm2022/wawjs-ngx-prime-types-overlay.mjs.map +1 -0
  449. package/fesm2022/wawjs-ngx-prime-types-overlaybadge.mjs +4 -0
  450. package/fesm2022/wawjs-ngx-prime-types-overlaybadge.mjs.map +1 -0
  451. package/fesm2022/wawjs-ngx-prime-types-paginator.mjs +4 -0
  452. package/fesm2022/wawjs-ngx-prime-types-paginator.mjs.map +1 -0
  453. package/fesm2022/wawjs-ngx-prime-types-panel.mjs +4 -0
  454. package/fesm2022/wawjs-ngx-prime-types-panel.mjs.map +1 -0
  455. package/fesm2022/wawjs-ngx-prime-types-panelmenu.mjs +4 -0
  456. package/fesm2022/wawjs-ngx-prime-types-panelmenu.mjs.map +1 -0
  457. package/fesm2022/wawjs-ngx-prime-types-password.mjs +4 -0
  458. package/fesm2022/wawjs-ngx-prime-types-password.mjs.map +1 -0
  459. package/fesm2022/wawjs-ngx-prime-types-picklist.mjs +4 -0
  460. package/fesm2022/wawjs-ngx-prime-types-picklist.mjs.map +1 -0
  461. package/fesm2022/wawjs-ngx-prime-types-popover.mjs +4 -0
  462. package/fesm2022/wawjs-ngx-prime-types-popover.mjs.map +1 -0
  463. package/fesm2022/wawjs-ngx-prime-types-progressbar.mjs +4 -0
  464. package/fesm2022/wawjs-ngx-prime-types-progressbar.mjs.map +1 -0
  465. package/fesm2022/wawjs-ngx-prime-types-progressspinner.mjs +4 -0
  466. package/fesm2022/wawjs-ngx-prime-types-progressspinner.mjs.map +1 -0
  467. package/fesm2022/wawjs-ngx-prime-types-radiobutton.mjs +4 -0
  468. package/fesm2022/wawjs-ngx-prime-types-radiobutton.mjs.map +1 -0
  469. package/fesm2022/wawjs-ngx-prime-types-rating.mjs +4 -0
  470. package/fesm2022/wawjs-ngx-prime-types-rating.mjs.map +1 -0
  471. package/fesm2022/wawjs-ngx-prime-types-scroller.mjs +4 -0
  472. package/fesm2022/wawjs-ngx-prime-types-scroller.mjs.map +1 -0
  473. package/fesm2022/wawjs-ngx-prime-types-scrollpanel.mjs +4 -0
  474. package/fesm2022/wawjs-ngx-prime-types-scrollpanel.mjs.map +1 -0
  475. package/fesm2022/wawjs-ngx-prime-types-scrolltop.mjs +4 -0
  476. package/fesm2022/wawjs-ngx-prime-types-scrolltop.mjs.map +1 -0
  477. package/fesm2022/wawjs-ngx-prime-types-select.mjs +4 -0
  478. package/fesm2022/wawjs-ngx-prime-types-select.mjs.map +1 -0
  479. package/fesm2022/wawjs-ngx-prime-types-selectbutton.mjs +4 -0
  480. package/fesm2022/wawjs-ngx-prime-types-selectbutton.mjs.map +1 -0
  481. package/fesm2022/wawjs-ngx-prime-types-skeleton.mjs +4 -0
  482. package/fesm2022/wawjs-ngx-prime-types-skeleton.mjs.map +1 -0
  483. package/fesm2022/wawjs-ngx-prime-types-slider.mjs +4 -0
  484. package/fesm2022/wawjs-ngx-prime-types-slider.mjs.map +1 -0
  485. package/fesm2022/wawjs-ngx-prime-types-speeddial.mjs +4 -0
  486. package/fesm2022/wawjs-ngx-prime-types-speeddial.mjs.map +1 -0
  487. package/fesm2022/wawjs-ngx-prime-types-splitbutton.mjs +4 -0
  488. package/fesm2022/wawjs-ngx-prime-types-splitbutton.mjs.map +1 -0
  489. package/fesm2022/wawjs-ngx-prime-types-splitter.mjs +4 -0
  490. package/fesm2022/wawjs-ngx-prime-types-splitter.mjs.map +1 -0
  491. package/fesm2022/wawjs-ngx-prime-types-stepper.mjs +4 -0
  492. package/fesm2022/wawjs-ngx-prime-types-stepper.mjs.map +1 -0
  493. package/fesm2022/wawjs-ngx-prime-types-table.mjs +4 -0
  494. package/fesm2022/wawjs-ngx-prime-types-table.mjs.map +1 -0
  495. package/fesm2022/wawjs-ngx-prime-types-tabs.mjs +4 -0
  496. package/fesm2022/wawjs-ngx-prime-types-tabs.mjs.map +1 -0
  497. package/fesm2022/wawjs-ngx-prime-types-tag.mjs +4 -0
  498. package/fesm2022/wawjs-ngx-prime-types-tag.mjs.map +1 -0
  499. package/fesm2022/wawjs-ngx-prime-types-terminal.mjs +4 -0
  500. package/fesm2022/wawjs-ngx-prime-types-terminal.mjs.map +1 -0
  501. package/fesm2022/wawjs-ngx-prime-types-textarea.mjs +4 -0
  502. package/fesm2022/wawjs-ngx-prime-types-textarea.mjs.map +1 -0
  503. package/fesm2022/wawjs-ngx-prime-types-tieredmenu.mjs +4 -0
  504. package/fesm2022/wawjs-ngx-prime-types-tieredmenu.mjs.map +1 -0
  505. package/fesm2022/wawjs-ngx-prime-types-timeline.mjs +4 -0
  506. package/fesm2022/wawjs-ngx-prime-types-timeline.mjs.map +1 -0
  507. package/fesm2022/wawjs-ngx-prime-types-toast.mjs +4 -0
  508. package/fesm2022/wawjs-ngx-prime-types-toast.mjs.map +1 -0
  509. package/fesm2022/wawjs-ngx-prime-types-togglebutton.mjs +4 -0
  510. package/fesm2022/wawjs-ngx-prime-types-togglebutton.mjs.map +1 -0
  511. package/fesm2022/wawjs-ngx-prime-types-toggleswitch.mjs +4 -0
  512. package/fesm2022/wawjs-ngx-prime-types-toggleswitch.mjs.map +1 -0
  513. package/fesm2022/wawjs-ngx-prime-types-toolbar.mjs +4 -0
  514. package/fesm2022/wawjs-ngx-prime-types-toolbar.mjs.map +1 -0
  515. package/fesm2022/wawjs-ngx-prime-types-tooltip.mjs +4 -0
  516. package/fesm2022/wawjs-ngx-prime-types-tooltip.mjs.map +1 -0
  517. package/fesm2022/wawjs-ngx-prime-types-tree.mjs +4 -0
  518. package/fesm2022/wawjs-ngx-prime-types-tree.mjs.map +1 -0
  519. package/fesm2022/wawjs-ngx-prime-types-treeselect.mjs +4 -0
  520. package/fesm2022/wawjs-ngx-prime-types-treeselect.mjs.map +1 -0
  521. package/fesm2022/wawjs-ngx-prime-types-treetable.mjs +4 -0
  522. package/fesm2022/wawjs-ngx-prime-types-treetable.mjs.map +1 -0
  523. package/fesm2022/wawjs-ngx-prime-usestyle.mjs +52 -0
  524. package/fesm2022/wawjs-ngx-prime-usestyle.mjs.map +1 -0
  525. package/fesm2022/wawjs-ngx-prime-utils.mjs +323 -0
  526. package/fesm2022/wawjs-ngx-prime-utils.mjs.map +1 -0
  527. package/fesm2022/wawjs-ngx-prime.mjs +6 -0
  528. package/fesm2022/wawjs-ngx-prime.mjs.map +1 -0
  529. package/package.json +1112 -0
  530. package/types/accordion/package.json +4 -0
  531. package/types/autocomplete/package.json +4 -0
  532. package/types/avatar/package.json +4 -0
  533. package/types/avatargroup/package.json +4 -0
  534. package/types/badge/package.json +4 -0
  535. package/types/blockui/package.json +4 -0
  536. package/types/breadcrumb/package.json +4 -0
  537. package/types/button/package.json +4 -0
  538. package/types/card/package.json +4 -0
  539. package/types/carousel/package.json +4 -0
  540. package/types/cascadeselect/package.json +4 -0
  541. package/types/chart/package.json +4 -0
  542. package/types/checkbox/package.json +4 -0
  543. package/types/chip/package.json +4 -0
  544. package/types/colorpicker/package.json +4 -0
  545. package/types/confirmdialog/package.json +4 -0
  546. package/types/confirmpopup/package.json +4 -0
  547. package/types/contextmenu/package.json +4 -0
  548. package/types/dataview/package.json +4 -0
  549. package/types/datepicker/package.json +4 -0
  550. package/types/dialog/package.json +4 -0
  551. package/types/divider/package.json +4 -0
  552. package/types/dock/package.json +4 -0
  553. package/types/drawer/package.json +4 -0
  554. package/types/editor/package.json +4 -0
  555. package/types/fieldset/package.json +4 -0
  556. package/types/fileupload/package.json +4 -0
  557. package/types/floatlabel/package.json +4 -0
  558. package/types/fluid/package.json +4 -0
  559. package/types/galleria/package.json +4 -0
  560. package/types/iconfield/package.json +4 -0
  561. package/types/iftalabel/package.json +4 -0
  562. package/types/image/package.json +4 -0
  563. package/types/imagecompare/package.json +4 -0
  564. package/types/inplace/package.json +4 -0
  565. package/types/inputgroup/package.json +4 -0
  566. package/types/inputgroupaddon/package.json +4 -0
  567. package/types/inputicon/package.json +4 -0
  568. package/types/inputmask/package.json +4 -0
  569. package/types/inputnumber/package.json +4 -0
  570. package/types/inputotp/package.json +4 -0
  571. package/types/inputtext/package.json +4 -0
  572. package/types/knob/package.json +4 -0
  573. package/types/listbox/package.json +4 -0
  574. package/types/megamenu/package.json +4 -0
  575. package/types/menu/package.json +4 -0
  576. package/types/menubar/package.json +4 -0
  577. package/types/message/package.json +4 -0
  578. package/types/metergroup/package.json +4 -0
  579. package/types/motion/package.json +4 -0
  580. package/types/multiselect/package.json +4 -0
  581. package/types/orderlist/package.json +4 -0
  582. package/types/organizationchart/package.json +4 -0
  583. package/types/overlay/package.json +4 -0
  584. package/types/overlaybadge/package.json +4 -0
  585. package/types/paginator/package.json +4 -0
  586. package/types/panel/package.json +4 -0
  587. package/types/panelmenu/package.json +4 -0
  588. package/types/password/package.json +4 -0
  589. package/types/picklist/package.json +4 -0
  590. package/types/popover/package.json +4 -0
  591. package/types/progressbar/package.json +4 -0
  592. package/types/progressspinner/package.json +4 -0
  593. package/types/radiobutton/package.json +4 -0
  594. package/types/rating/package.json +4 -0
  595. package/types/scroller/package.json +4 -0
  596. package/types/scrollpanel/package.json +4 -0
  597. package/types/scrolltop/package.json +4 -0
  598. package/types/select/package.json +4 -0
  599. package/types/selectbutton/package.json +4 -0
  600. package/types/skeleton/package.json +4 -0
  601. package/types/slider/package.json +4 -0
  602. package/types/speeddial/package.json +4 -0
  603. package/types/splitbutton/package.json +4 -0
  604. package/types/splitter/package.json +4 -0
  605. package/types/stepper/package.json +4 -0
  606. package/types/table/package.json +4 -0
  607. package/types/tabs/package.json +4 -0
  608. package/types/tag/package.json +4 -0
  609. package/types/terminal/package.json +4 -0
  610. package/types/textarea/package.json +4 -0
  611. package/types/tieredmenu/package.json +4 -0
  612. package/types/timeline/package.json +4 -0
  613. package/types/toast/package.json +4 -0
  614. package/types/togglebutton/package.json +4 -0
  615. package/types/toggleswitch/package.json +4 -0
  616. package/types/toolbar/package.json +4 -0
  617. package/types/tooltip/package.json +4 -0
  618. package/types/tree/package.json +4 -0
  619. package/types/treeselect/package.json +4 -0
  620. package/types/treetable/package.json +4 -0
  621. package/types/wawjs-ngx-prime-accordion.d.ts +286 -0
  622. package/types/wawjs-ngx-prime-animateonscroll.d.ts +68 -0
  623. package/types/wawjs-ngx-prime-api.d.ts +1972 -0
  624. package/types/wawjs-ngx-prime-autocomplete.d.ts +765 -0
  625. package/types/wawjs-ngx-prime-autofocus.d.ts +31 -0
  626. package/types/wawjs-ngx-prime-avatar.d.ts +137 -0
  627. package/types/wawjs-ngx-prime-avatargroup.d.ts +61 -0
  628. package/types/wawjs-ngx-prime-badge.d.ts +179 -0
  629. package/types/wawjs-ngx-prime-base.d.ts +58 -0
  630. package/types/wawjs-ngx-prime-basecomponent.d.ts +175 -0
  631. package/types/wawjs-ngx-prime-baseeditableholder.d.ts +45 -0
  632. package/types/wawjs-ngx-prime-baseinput.d.ts +73 -0
  633. package/types/wawjs-ngx-prime-basemodelholder.d.ts +12 -0
  634. package/types/wawjs-ngx-prime-bind.d.ts +38 -0
  635. package/types/wawjs-ngx-prime-blockui.d.ts +106 -0
  636. package/types/wawjs-ngx-prime-breadcrumb.d.ts +148 -0
  637. package/types/wawjs-ngx-prime-button.d.ts +472 -0
  638. package/types/wawjs-ngx-prime-buttongroup.d.ts +42 -0
  639. package/types/wawjs-ngx-prime-card.d.ts +153 -0
  640. package/types/wawjs-ngx-prime-carousel.d.ts +376 -0
  641. package/types/wawjs-ngx-prime-cascadeselect.d.ts +616 -0
  642. package/types/wawjs-ngx-prime-chart.d.ts +128 -0
  643. package/types/wawjs-ngx-prime-checkbox.d.ts +327 -0
  644. package/types/wawjs-ngx-prime-chip.d.ts +167 -0
  645. package/types/wawjs-ngx-prime-classnames.d.ts +32 -0
  646. package/types/wawjs-ngx-prime-colorpicker.d.ts +350 -0
  647. package/types/wawjs-ngx-prime-config.d.ts +268 -0
  648. package/types/wawjs-ngx-prime-confirmdialog.d.ts +338 -0
  649. package/types/wawjs-ngx-prime-confirmpopup.d.ts +232 -0
  650. package/types/wawjs-ngx-prime-contextmenu.d.ts +368 -0
  651. package/types/wawjs-ngx-prime-dataview.d.ts +366 -0
  652. package/types/wawjs-ngx-prime-datepicker.d.ts +1028 -0
  653. package/types/wawjs-ngx-prime-dialog.d.ts +529 -0
  654. package/types/wawjs-ngx-prime-divider.d.ts +120 -0
  655. package/types/wawjs-ngx-prime-dock.d.ts +195 -0
  656. package/types/wawjs-ngx-prime-dom.d.ts +109 -0
  657. package/types/wawjs-ngx-prime-dragdrop.d.ts +117 -0
  658. package/types/wawjs-ngx-prime-drawer.d.ts +286 -0
  659. package/types/wawjs-ngx-prime-dynamicdialog.d.ts +549 -0
  660. package/types/wawjs-ngx-prime-editor.d.ts +187 -0
  661. package/types/wawjs-ngx-prime-fieldset.d.ts +184 -0
  662. package/types/wawjs-ngx-prime-fileupload.d.ts +688 -0
  663. package/types/wawjs-ngx-prime-floatlabel.d.ts +65 -0
  664. package/types/wawjs-ngx-prime-fluid.d.ts +52 -0
  665. package/types/wawjs-ngx-prime-focustrap.d.ts +34 -0
  666. package/types/wawjs-ngx-prime-galleria.d.ts +643 -0
  667. package/types/wawjs-ngx-prime-iconfield.d.ts +71 -0
  668. package/types/wawjs-ngx-prime-icons-angledoubledown.d.ts +9 -0
  669. package/types/wawjs-ngx-prime-icons-angledoubleleft.d.ts +9 -0
  670. package/types/wawjs-ngx-prime-icons-angledoubleright.d.ts +9 -0
  671. package/types/wawjs-ngx-prime-icons-angledoubleup.d.ts +9 -0
  672. package/types/wawjs-ngx-prime-icons-angledown.d.ts +9 -0
  673. package/types/wawjs-ngx-prime-icons-angleleft.d.ts +9 -0
  674. package/types/wawjs-ngx-prime-icons-angleright.d.ts +9 -0
  675. package/types/wawjs-ngx-prime-icons-angleup.d.ts +9 -0
  676. package/types/wawjs-ngx-prime-icons-arrowdown.d.ts +11 -0
  677. package/types/wawjs-ngx-prime-icons-arrowdownleft.d.ts +9 -0
  678. package/types/wawjs-ngx-prime-icons-arrowdownright.d.ts +9 -0
  679. package/types/wawjs-ngx-prime-icons-arrowleft.d.ts +11 -0
  680. package/types/wawjs-ngx-prime-icons-arrowright.d.ts +9 -0
  681. package/types/wawjs-ngx-prime-icons-arrowup.d.ts +11 -0
  682. package/types/wawjs-ngx-prime-icons-ban.d.ts +11 -0
  683. package/types/wawjs-ngx-prime-icons-bars.d.ts +9 -0
  684. package/types/wawjs-ngx-prime-icons-baseicon.d.ts +30 -0
  685. package/types/wawjs-ngx-prime-icons-blank.d.ts +9 -0
  686. package/types/wawjs-ngx-prime-icons-calendar.d.ts +9 -0
  687. package/types/wawjs-ngx-prime-icons-caretleft.d.ts +9 -0
  688. package/types/wawjs-ngx-prime-icons-caretright.d.ts +9 -0
  689. package/types/wawjs-ngx-prime-icons-check.d.ts +9 -0
  690. package/types/wawjs-ngx-prime-icons-chevrondown.d.ts +9 -0
  691. package/types/wawjs-ngx-prime-icons-chevronleft.d.ts +9 -0
  692. package/types/wawjs-ngx-prime-icons-chevronright.d.ts +9 -0
  693. package/types/wawjs-ngx-prime-icons-chevronup.d.ts +9 -0
  694. package/types/wawjs-ngx-prime-icons-exclamationtriangle.d.ts +11 -0
  695. package/types/wawjs-ngx-prime-icons-eye.d.ts +9 -0
  696. package/types/wawjs-ngx-prime-icons-eyeslash.d.ts +11 -0
  697. package/types/wawjs-ngx-prime-icons-filter.d.ts +11 -0
  698. package/types/wawjs-ngx-prime-icons-filterfill.d.ts +9 -0
  699. package/types/wawjs-ngx-prime-icons-filterslash.d.ts +11 -0
  700. package/types/wawjs-ngx-prime-icons-home.d.ts +11 -0
  701. package/types/wawjs-ngx-prime-icons-infocircle.d.ts +11 -0
  702. package/types/wawjs-ngx-prime-icons-minus.d.ts +9 -0
  703. package/types/wawjs-ngx-prime-icons-pencil.d.ts +11 -0
  704. package/types/wawjs-ngx-prime-icons-plus.d.ts +11 -0
  705. package/types/wawjs-ngx-prime-icons-refresh.d.ts +11 -0
  706. package/types/wawjs-ngx-prime-icons-search.d.ts +11 -0
  707. package/types/wawjs-ngx-prime-icons-searchminus.d.ts +11 -0
  708. package/types/wawjs-ngx-prime-icons-searchplus.d.ts +11 -0
  709. package/types/wawjs-ngx-prime-icons-sortalt.d.ts +11 -0
  710. package/types/wawjs-ngx-prime-icons-sortamountdown.d.ts +11 -0
  711. package/types/wawjs-ngx-prime-icons-sortamountupalt.d.ts +11 -0
  712. package/types/wawjs-ngx-prime-icons-spinner.d.ts +11 -0
  713. package/types/wawjs-ngx-prime-icons-star.d.ts +11 -0
  714. package/types/wawjs-ngx-prime-icons-starfill.d.ts +11 -0
  715. package/types/wawjs-ngx-prime-icons-thlarge.d.ts +11 -0
  716. package/types/wawjs-ngx-prime-icons-times.d.ts +9 -0
  717. package/types/wawjs-ngx-prime-icons-timescircle.d.ts +11 -0
  718. package/types/wawjs-ngx-prime-icons-trash.d.ts +11 -0
  719. package/types/wawjs-ngx-prime-icons-undo.d.ts +11 -0
  720. package/types/wawjs-ngx-prime-icons-upload.d.ts +11 -0
  721. package/types/wawjs-ngx-prime-icons-windowmaximize.d.ts +11 -0
  722. package/types/wawjs-ngx-prime-icons-windowminimize.d.ts +11 -0
  723. package/types/wawjs-ngx-prime-icons.d.ts +53 -0
  724. package/types/wawjs-ngx-prime-iftalabel.d.ts +56 -0
  725. package/types/wawjs-ngx-prime-image.d.ts +346 -0
  726. package/types/wawjs-ngx-prime-imagecompare.d.ts +98 -0
  727. package/types/wawjs-ngx-prime-inplace.d.ts +165 -0
  728. package/types/wawjs-ngx-prime-inputgroup.d.ts +63 -0
  729. package/types/wawjs-ngx-prime-inputgroupaddon.d.ts +49 -0
  730. package/types/wawjs-ngx-prime-inputicon.d.ts +44 -0
  731. package/types/wawjs-ngx-prime-inputmask.d.ts +377 -0
  732. package/types/wawjs-ngx-prime-inputnumber.d.ts +464 -0
  733. package/types/wawjs-ngx-prime-inputotp.d.ts +174 -0
  734. package/types/wawjs-ngx-prime-inputtext.d.ts +115 -0
  735. package/types/wawjs-ngx-prime-keyfilter.d.ts +58 -0
  736. package/types/wawjs-ngx-prime-knob.d.ts +202 -0
  737. package/types/wawjs-ngx-prime-listbox.d.ts +653 -0
  738. package/types/wawjs-ngx-prime-megamenu.d.ts +382 -0
  739. package/types/wawjs-ngx-prime-menu.d.ts +358 -0
  740. package/types/wawjs-ngx-prime-menubar.d.ts +380 -0
  741. package/types/wawjs-ngx-prime-message.d.ts +209 -0
  742. package/types/wawjs-ngx-prime-metergroup.d.ts +207 -0
  743. package/types/wawjs-ngx-prime-motion.d.ts +396 -0
  744. package/types/wawjs-ngx-prime-multiselect.d.ts +873 -0
  745. package/types/wawjs-ngx-prime-orderlist.d.ts +358 -0
  746. package/types/wawjs-ngx-prime-organizationchart.d.ts +220 -0
  747. package/types/wawjs-ngx-prime-overlay.d.ts +334 -0
  748. package/types/wawjs-ngx-prime-overlaybadge.d.ts +77 -0
  749. package/types/wawjs-ngx-prime-paginator.d.ts +348 -0
  750. package/types/wawjs-ngx-prime-panel.d.ts +242 -0
  751. package/types/wawjs-ngx-prime-panelmenu.d.ts +356 -0
  752. package/types/wawjs-ngx-prime-passthrough.d.ts +14 -0
  753. package/types/wawjs-ngx-prime-password.d.ts +538 -0
  754. package/types/wawjs-ngx-prime-picklist.d.ts +654 -0
  755. package/types/wawjs-ngx-prime-popover.d.ts +198 -0
  756. package/types/wawjs-ngx-prime-progressbar.d.ts +120 -0
  757. package/types/wawjs-ngx-prime-progressspinner.d.ts +90 -0
  758. package/types/wawjs-ngx-prime-radiobutton.d.ts +238 -0
  759. package/types/wawjs-ngx-prime-rating.d.ts +215 -0
  760. package/types/wawjs-ngx-prime-ripple.d.ts +61 -0
  761. package/types/wawjs-ngx-prime-scroller.d.ts +433 -0
  762. package/types/wawjs-ngx-prime-scrollpanel.d.ts +154 -0
  763. package/types/wawjs-ngx-prime-scrolltop.d.ts +156 -0
  764. package/types/wawjs-ngx-prime-select.d.ts +766 -0
  765. package/types/wawjs-ngx-prime-selectbutton.d.ts +237 -0
  766. package/types/wawjs-ngx-prime-skeleton.d.ts +102 -0
  767. package/types/wawjs-ngx-prime-slider.d.ts +253 -0
  768. package/types/wawjs-ngx-prime-speeddial.d.ts +406 -0
  769. package/types/wawjs-ngx-prime-splitbutton.d.ts +285 -0
  770. package/types/wawjs-ngx-prime-splitter.d.ts +208 -0
  771. package/types/wawjs-ngx-prime-stepper.d.ts +325 -0
  772. package/types/wawjs-ngx-prime-steps.d.ts +148 -0
  773. package/types/wawjs-ngx-prime-styleclass.d.ts +111 -0
  774. package/types/wawjs-ngx-prime-table.d.ts +2025 -0
  775. package/types/wawjs-ngx-prime-tabs.d.ts +350 -0
  776. package/types/wawjs-ngx-prime-tag.d.ts +112 -0
  777. package/types/wawjs-ngx-prime-terminal.d.ts +143 -0
  778. package/types/wawjs-ngx-prime-textarea.d.ts +123 -0
  779. package/types/wawjs-ngx-prime-tieredmenu.d.ts +416 -0
  780. package/types/wawjs-ngx-prime-timeline.d.ts +139 -0
  781. package/types/wawjs-ngx-prime-toast.d.ts +292 -0
  782. package/types/wawjs-ngx-prime-togglebutton.d.ts +234 -0
  783. package/types/wawjs-ngx-prime-toggleswitch.d.ts +208 -0
  784. package/types/wawjs-ngx-prime-toolbar.d.ts +104 -0
  785. package/types/wawjs-ngx-prime-tooltip.d.ts +252 -0
  786. package/types/wawjs-ngx-prime-tree.d.ts +648 -0
  787. package/types/wawjs-ngx-prime-treeselect.d.ts +563 -0
  788. package/types/wawjs-ngx-prime-treetable.d.ts +1235 -0
  789. package/types/wawjs-ngx-prime-ts-helpers.d.ts +6 -0
  790. package/types/wawjs-ngx-prime-types-accordion.d.ts +97 -0
  791. package/types/wawjs-ngx-prime-types-autocomplete.d.ts +312 -0
  792. package/types/wawjs-ngx-prime-types-avatar.d.ts +40 -0
  793. package/types/wawjs-ngx-prime-types-avatargroup.d.ts +28 -0
  794. package/types/wawjs-ngx-prime-types-badge.d.ts +26 -0
  795. package/types/wawjs-ngx-prime-types-blockui.d.ts +39 -0
  796. package/types/wawjs-ngx-prime-types-breadcrumb.d.ts +96 -0
  797. package/types/wawjs-ngx-prime-types-button.d.ts +124 -0
  798. package/types/wawjs-ngx-prime-types-card.d.ts +75 -0
  799. package/types/wawjs-ngx-prime-types-carousel.d.ts +143 -0
  800. package/types/wawjs-ngx-prime-types-cascadeselect.d.ts +212 -0
  801. package/types/wawjs-ngx-prime-types-chart.d.ts +32 -0
  802. package/types/wawjs-ngx-prime-types-checkbox.d.ts +81 -0
  803. package/types/wawjs-ngx-prime-types-chip.d.ts +71 -0
  804. package/types/wawjs-ngx-prime-types-colorpicker.d.ts +78 -0
  805. package/types/wawjs-ngx-prime-types-confirmdialog.d.ts +147 -0
  806. package/types/wawjs-ngx-prime-types-confirmpopup.d.ts +105 -0
  807. package/types/wawjs-ngx-prime-types-contextmenu.d.ts +102 -0
  808. package/types/wawjs-ngx-prime-types-dataview.d.ts +253 -0
  809. package/types/wawjs-ngx-prime-types-datepicker.d.ts +521 -0
  810. package/types/wawjs-ngx-prime-types-dialog.d.ts +107 -0
  811. package/types/wawjs-ngx-prime-types-divider.d.ts +28 -0
  812. package/types/wawjs-ngx-prime-types-dock.d.ts +70 -0
  813. package/types/wawjs-ngx-prime-types-drawer.d.ts +82 -0
  814. package/types/wawjs-ngx-prime-types-editor.d.ts +210 -0
  815. package/types/wawjs-ngx-prime-types-fieldset.d.ts +100 -0
  816. package/types/wawjs-ngx-prime-types-fileupload.d.ts +371 -0
  817. package/types/wawjs-ngx-prime-types-floatlabel.d.ts +26 -0
  818. package/types/wawjs-ngx-prime-types-fluid.d.ts +28 -0
  819. package/types/wawjs-ngx-prime-types-galleria.d.ts +250 -0
  820. package/types/wawjs-ngx-prime-types-iconfield.d.ts +26 -0
  821. package/types/wawjs-ngx-prime-types-iftalabel.d.ts +26 -0
  822. package/types/wawjs-ngx-prime-types-image.d.ts +144 -0
  823. package/types/wawjs-ngx-prime-types-imagecompare.d.ts +43 -0
  824. package/types/wawjs-ngx-prime-types-inplace.d.ts +72 -0
  825. package/types/wawjs-ngx-prime-types-inputgroup.d.ts +28 -0
  826. package/types/wawjs-ngx-prime-types-inputgroupaddon.d.ts +28 -0
  827. package/types/wawjs-ngx-prime-types-inputicon.d.ts +26 -0
  828. package/types/wawjs-ngx-prime-types-inputmask.d.ts +56 -0
  829. package/types/wawjs-ngx-prime-types-inputnumber.d.ts +95 -0
  830. package/types/wawjs-ngx-prime-types-inputotp.d.ts +101 -0
  831. package/types/wawjs-ngx-prime-types-inputtext.d.ts +24 -0
  832. package/types/wawjs-ngx-prime-types-knob.d.ts +40 -0
  833. package/types/wawjs-ngx-prime-types-listbox.d.ts +358 -0
  834. package/types/wawjs-ngx-prime-types-megamenu.d.ts +138 -0
  835. package/types/wawjs-ngx-prime-types-menu.d.ts +114 -0
  836. package/types/wawjs-ngx-prime-types-menubar.d.ts +124 -0
  837. package/types/wawjs-ngx-prime-types-message.d.ts +87 -0
  838. package/types/wawjs-ngx-prime-types-metergroup.d.ts +176 -0
  839. package/types/wawjs-ngx-prime-types-motion.d.ts +26 -0
  840. package/types/wawjs-ngx-prime-types-multiselect.d.ts +413 -0
  841. package/types/wawjs-ngx-prime-types-orderlist.d.ts +173 -0
  842. package/types/wawjs-ngx-prime-types-organizationchart.d.ts +135 -0
  843. package/types/wawjs-ngx-prime-types-overlay.d.ts +60 -0
  844. package/types/wawjs-ngx-prime-types-overlaybadge.d.ts +34 -0
  845. package/types/wawjs-ngx-prime-types-paginator.d.ts +167 -0
  846. package/types/wawjs-ngx-prime-types-panel.d.ts +128 -0
  847. package/types/wawjs-ngx-prime-types-panelmenu.d.ts +131 -0
  848. package/types/wawjs-ngx-prime-types-password.d.ts +120 -0
  849. package/types/wawjs-ngx-prime-types-picklist.d.ts +341 -0
  850. package/types/wawjs-ngx-prime-types-popover.d.ts +59 -0
  851. package/types/wawjs-ngx-prime-types-progressbar.d.ts +58 -0
  852. package/types/wawjs-ngx-prime-types-progressspinner.d.ts +36 -0
  853. package/types/wawjs-ngx-prime-types-radiobutton.d.ts +51 -0
  854. package/types/wawjs-ngx-prime-types-rating.d.ts +94 -0
  855. package/types/wawjs-ngx-prime-types-scroller.d.ts +230 -0
  856. package/types/wawjs-ngx-prime-types-scrollpanel.d.ts +51 -0
  857. package/types/wawjs-ngx-prime-types-scrolltop.d.ts +61 -0
  858. package/types/wawjs-ngx-prime-types-select.d.ts +319 -0
  859. package/types/wawjs-ngx-prime-types-selectbutton.d.ts +100 -0
  860. package/types/wawjs-ngx-prime-types-skeleton.d.ts +28 -0
  861. package/types/wawjs-ngx-prime-types-slider.d.ts +82 -0
  862. package/types/wawjs-ngx-prime-types-speeddial.d.ts +100 -0
  863. package/types/wawjs-ngx-prime-types-splitbutton.d.ts +70 -0
  864. package/types/wawjs-ngx-prime-types-splitter.d.ts +69 -0
  865. package/types/wawjs-ngx-prime-types-stepper.d.ts +162 -0
  866. package/types/wawjs-ngx-prime-types-table.d.ts +890 -0
  867. package/types/wawjs-ngx-prime-types-tabs.d.ts +119 -0
  868. package/types/wawjs-ngx-prime-types-tag.d.ts +47 -0
  869. package/types/wawjs-ngx-prime-types-terminal.d.ts +60 -0
  870. package/types/wawjs-ngx-prime-types-textarea.d.ts +28 -0
  871. package/types/wawjs-ngx-prime-types-tieredmenu.d.ts +95 -0
  872. package/types/wawjs-ngx-prime-types-timeline.d.ts +85 -0
  873. package/types/wawjs-ngx-prime-types-toast.d.ts +131 -0
  874. package/types/wawjs-ngx-prime-types-togglebutton.d.ts +90 -0
  875. package/types/wawjs-ngx-prime-types-toggleswitch.d.ts +73 -0
  876. package/types/wawjs-ngx-prime-types-toolbar.d.ts +55 -0
  877. package/types/wawjs-ngx-prime-types-tooltip.d.ts +32 -0
  878. package/types/wawjs-ngx-prime-types-tree.d.ts +336 -0
  879. package/types/wawjs-ngx-prime-types-treeselect.d.ts +245 -0
  880. package/types/wawjs-ngx-prime-types-treetable.d.ts +627 -0
  881. package/types/wawjs-ngx-prime-usestyle.d.ts +15 -0
  882. package/types/wawjs-ngx-prime-utils.d.ts +43 -0
  883. package/types/wawjs-ngx-prime.d.ts +2 -0
@@ -0,0 +1,2632 @@
1
+ export * from '@wawjs/ngx-prime/types/multiselect';
2
+ import * as i1 from '@angular/common';
3
+ import { CommonModule } from '@angular/common';
4
+ import * as i0 from '@angular/core';
5
+ import { Injectable, InjectionToken, forwardRef, inject, input, booleanAttribute, numberAttribute, output, ViewEncapsulation, Component, NgZone, model, viewChild, contentChild, signal, contentChildren, computed, effect, ContentChild, ChangeDetectionStrategy, NgModule } from '@angular/core';
6
+ import * as i2 from '@angular/forms';
7
+ import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
8
+ import { uuid, isNotEmpty, isArray, deepEquals, equals, focus, findLastIndex, resolveFieldData, isPrintableCharacter, getFirstFocusableElement, getLastFocusableElement, findSingle, getFocusableElements } from '@wawjs/css-prime-utils';
9
+ import { SharedModule, FilterService, OverlayService, Footer, Header, PrimeTemplate, TranslationKeys } from '@wawjs/ngx-prime/api';
10
+ import { AutoFocus } from '@wawjs/ngx-prime/autofocus';
11
+ import { BaseComponent, PARENT_INSTANCE } from '@wawjs/ngx-prime/basecomponent';
12
+ import { BaseEditableHolder } from '@wawjs/ngx-prime/baseeditableholder';
13
+ import * as i3 from '@wawjs/ngx-prime/bind';
14
+ import { Bind, BindModule } from '@wawjs/ngx-prime/bind';
15
+ import { Checkbox } from '@wawjs/ngx-prime/checkbox';
16
+ import { Chip } from '@wawjs/ngx-prime/chip';
17
+ import { DomHandler, unblockBodyScroll } from '@wawjs/ngx-prime/dom';
18
+ import { Fluid } from '@wawjs/ngx-prime/fluid';
19
+ import { IconField } from '@wawjs/ngx-prime/iconfield';
20
+ import { CheckIcon, SearchIcon, TimesIcon, ChevronDownIcon } from '@wawjs/ngx-prime/icons';
21
+ import { InputIcon } from '@wawjs/ngx-prime/inputicon';
22
+ import { InputText } from '@wawjs/ngx-prime/inputtext';
23
+ import { Overlay } from '@wawjs/ngx-prime/overlay';
24
+ import { Scroller } from '@wawjs/ngx-prime/scroller';
25
+ import { Tooltip } from '@wawjs/ngx-prime/tooltip';
26
+ import { ObjectUtils } from '@wawjs/ngx-prime/utils';
27
+ import { style as style$1 } from '@wawjs/css-prime-styles/multiselect';
28
+ import { BaseStyle } from '@wawjs/ngx-prime/base';
29
+
30
+ const style = /*css*/ `
31
+ ${style$1}
32
+
33
+ /* For ngx-prime */
34
+ .p-multiselect.ng-invalid.ng-dirty {
35
+ border-color: dt('multiselect.invalid.border.color');
36
+ }
37
+ p-multiSelect.ng-invalid.ng-dirty .p-multiselect-label.p-placeholder,
38
+ p-multi-select.ng-invalid.ng-dirty .p-multiselect-label.p-placeholder,
39
+ p-multiselect.ng-invalid.ng-dirty .p-multiselect-label.p-placeholder {
40
+ color: dt('multiselect.invalid.placeholder.color');
41
+ }
42
+ `;
43
+ const inlineStyles = {
44
+ root: ({ instance }) => ({ position: instance.$appendTo() === 'self' ? 'relative' : undefined })
45
+ };
46
+ const classes = {
47
+ root: ({ instance }) => [
48
+ 'p-multiselect p-component p-inputwrapper',
49
+ {
50
+ 'p-multiselect p-component p-inputwrapper': true,
51
+ 'p-multiselect-display-chip': instance.display === 'chip',
52
+ 'p-disabled': instance.$disabled(),
53
+ 'p-invalid': instance.invalid(),
54
+ 'p-variant-filled': instance.$variant() === 'filled',
55
+ 'p-focus': instance.focused,
56
+ 'p-inputwrapper-filled': instance.$filled(),
57
+ 'p-inputwrapper-focus': instance.focused || instance.overlayVisible,
58
+ 'p-multiselect-open': instance.overlayVisible,
59
+ 'p-multiselect-fluid': instance.hasFluid,
60
+ 'p-multiselect-sm p-inputfield-sm': instance.size() === 'small',
61
+ 'p-multiselect-lg p-inputfield-lg': instance.size() === 'large'
62
+ }
63
+ ],
64
+ labelContainer: 'p-multiselect-label-container',
65
+ label: ({ instance }) => ({
66
+ 'p-multiselect-label': true,
67
+ 'p-placeholder': instance.label() === instance.placeholder(),
68
+ 'p-multiselect-label-empty': !instance.placeholder() && !instance.defaultLabel && (!instance.modelValue() || instance.modelValue().length === 0)
69
+ }),
70
+ chipItem: 'p-multiselect-chip-item',
71
+ pcChip: 'p-multiselect-chip',
72
+ chipIcon: 'p-multiselect-chip-icon',
73
+ dropdown: 'p-multiselect-dropdown',
74
+ loadingIcon: 'p-multiselect-loading-icon',
75
+ dropdownIcon: 'p-multiselect-dropdown-icon',
76
+ overlay: 'p-multiselect-overlay p-component-overlay p-component',
77
+ header: 'p-multiselect-header',
78
+ pcFilterContainer: 'p-multiselect-filter-container',
79
+ pcFilter: 'p-multiselect-filter',
80
+ listContainer: 'p-multiselect-list-container',
81
+ list: 'p-multiselect-list',
82
+ optionGroup: 'p-multiselect-option-group',
83
+ option: ({ instance }) => ({
84
+ 'p-multiselect-option': true,
85
+ 'p-multiselect-option-selected': instance.selected && instance.highlightOnSelect,
86
+ 'p-disabled': instance.disabled,
87
+ 'p-focus': instance.focused
88
+ }),
89
+ emptyMessage: 'p-multiselect-empty-message',
90
+ clearIcon: 'p-multiselect-clear-icon'
91
+ };
92
+ class MultiSelectStyle extends BaseStyle {
93
+ name = 'multiselect';
94
+ style = style;
95
+ classes = classes;
96
+ inlineStyles = inlineStyles;
97
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: MultiSelectStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
98
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: MultiSelectStyle });
99
+ }
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: MultiSelectStyle, decorators: [{
101
+ type: Injectable
102
+ }] });
103
+ /**
104
+ *
105
+ * MultiSelect is used to select multiple items from a collection.
106
+ *
107
+ * [Live Demo](https://www.ngx-prime.org/multiselect/)
108
+ *
109
+ * @module multiselectstyle
110
+ *
111
+ */
112
+ var MultiSelectClasses;
113
+ (function (MultiSelectClasses) {
114
+ /**
115
+ * Class name of the root element
116
+ */
117
+ MultiSelectClasses["root"] = "p-multiselect";
118
+ /**
119
+ * Class name of the label container element
120
+ */
121
+ MultiSelectClasses["labelContainer"] = "p-multiselect-label-container";
122
+ /**
123
+ * Class name of the label element
124
+ */
125
+ MultiSelectClasses["label"] = "p-multiselect-label";
126
+ /**
127
+ * Class name of the chip item element
128
+ */
129
+ MultiSelectClasses["chipItem"] = "p-multiselect-chip-item";
130
+ /**
131
+ * Class name of the chip element
132
+ */
133
+ MultiSelectClasses["pcChip"] = "p-multiselect-chip";
134
+ /**
135
+ * Class name of the chip icon element
136
+ */
137
+ MultiSelectClasses["chipIcon"] = "p-multiselect-chip-icon";
138
+ /**
139
+ * Class name of the dropdown element
140
+ */
141
+ MultiSelectClasses["dropdown"] = "p-multiselect-dropdown";
142
+ /**
143
+ * Class name of the loading icon element
144
+ */
145
+ MultiSelectClasses["loadingIcon"] = "p-multiselect-loading-icon";
146
+ /**
147
+ * Class name of the dropdown icon element
148
+ */
149
+ MultiSelectClasses["dropdownIcon"] = "p-multiselect-dropdown-icon";
150
+ /**
151
+ * Class name of the overlay element
152
+ */
153
+ MultiSelectClasses["overlay"] = "p-multiselect-overlay";
154
+ /**
155
+ * Class name of the header element
156
+ */
157
+ MultiSelectClasses["header"] = "p-multiselect-header";
158
+ /**
159
+ * Class name of the filter container element
160
+ */
161
+ MultiSelectClasses["pcFilterContainer"] = "p-multiselect-filter-container";
162
+ /**
163
+ * Class name of the filter element
164
+ */
165
+ MultiSelectClasses["pcFilter"] = "p-multiselect-filter";
166
+ /**
167
+ * Class name of the list container element
168
+ */
169
+ MultiSelectClasses["listContainer"] = "p-multiselect-list-container";
170
+ /**
171
+ * Class name of the list element
172
+ */
173
+ MultiSelectClasses["list"] = "p-multiselect-list";
174
+ /**
175
+ * Class name of the option group element
176
+ */
177
+ MultiSelectClasses["optionGroup"] = "p-multiselect-option-group";
178
+ /**
179
+ * Class name of the option element
180
+ */
181
+ MultiSelectClasses["option"] = "p-multiselect-option";
182
+ /**
183
+ * Class name of the empty message element
184
+ */
185
+ MultiSelectClasses["emptyMessage"] = "p-multiselect-empty-message";
186
+ /**
187
+ * Class name of the clear icon
188
+ */
189
+ MultiSelectClasses["clearIcon"] = "p-autocomplete-clear-icon";
190
+ })(MultiSelectClasses || (MultiSelectClasses = {}));
191
+
192
+ const MULTISELECT_INSTANCE = new InjectionToken('MULTISELECT_INSTANCE');
193
+ const MULTISELECT_ITEM_INSTANCE = new InjectionToken('MULTISELECT_ITEM_INSTANCE');
194
+ const MULTISELECT_VALUE_ACCESSOR = {
195
+ provide: NG_VALUE_ACCESSOR,
196
+ useExisting: forwardRef(() => MultiSelect),
197
+ multi: true
198
+ };
199
+ class MultiSelectItem extends BaseComponent {
200
+ $pcMultiSelectItem = inject(MULTISELECT_ITEM_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
201
+ hostName = 'MultiSelect';
202
+ getPTOptions(key) {
203
+ return this.ptm(key, {
204
+ context: {
205
+ selected: this.selected(),
206
+ focused: this.focused(),
207
+ disabled: this.disabled()
208
+ }
209
+ });
210
+ }
211
+ option = input(/* @ts-ignore */
212
+ ...(ngDevMode ? [undefined, { debugName: "option" }] : /* istanbul ignore next */ []));
213
+ selected = input(undefined, { ...(ngDevMode ? { debugName: "selected" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
214
+ label = input(/* @ts-ignore */
215
+ ...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
216
+ disabled = input(undefined, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
217
+ itemSize = input(undefined, { ...(ngDevMode ? { debugName: "itemSize" } : /* istanbul ignore next */ {}), transform: numberAttribute });
218
+ focused = input(undefined, { ...(ngDevMode ? { debugName: "focused" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
219
+ ariaPosInset = input(/* @ts-ignore */
220
+ ...(ngDevMode ? [undefined, { debugName: "ariaPosInset" }] : /* istanbul ignore next */ []));
221
+ ariaSetSize = input(/* @ts-ignore */
222
+ ...(ngDevMode ? [undefined, { debugName: "ariaSetSize" }] : /* istanbul ignore next */ []));
223
+ variant = input(undefined, /* @ts-ignore */
224
+ ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
225
+ template = input(/* @ts-ignore */
226
+ ...(ngDevMode ? [undefined, { debugName: "template" }] : /* istanbul ignore next */ []));
227
+ checkIconTemplate = input(/* @ts-ignore */
228
+ ...(ngDevMode ? [undefined, { debugName: "checkIconTemplate" }] : /* istanbul ignore next */ []));
229
+ itemCheckboxIconTemplate = input(/* @ts-ignore */
230
+ ...(ngDevMode ? [undefined, { debugName: "itemCheckboxIconTemplate" }] : /* istanbul ignore next */ []));
231
+ highlightOnSelect = input(undefined, { ...(ngDevMode ? { debugName: "highlightOnSelect" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
232
+ onClick = output();
233
+ onMouseEnter = output();
234
+ _componentStyle = inject(MultiSelectStyle);
235
+ onOptionClick(event) {
236
+ this.onClick.emit({
237
+ originalEvent: event,
238
+ option: this.option(),
239
+ selected: this.selected()
240
+ });
241
+ event.stopPropagation();
242
+ event.preventDefault();
243
+ }
244
+ onOptionMouseEnter(event) {
245
+ this.onMouseEnter.emit({
246
+ originalEvent: event,
247
+ option: this.option(),
248
+ selected: this.selected()
249
+ });
250
+ }
251
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: MultiSelectItem, deps: null, target: i0.ɵɵFactoryTarget.Component });
252
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: MultiSelectItem, isStandalone: true, selector: "li[pMultiSelectItem]", inputs: { option: { classPropertyName: "option", publicName: "option", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, itemSize: { classPropertyName: "itemSize", publicName: "itemSize", isSignal: true, isRequired: false, transformFunction: null }, focused: { classPropertyName: "focused", publicName: "focused", isSignal: true, isRequired: false, transformFunction: null }, ariaPosInset: { classPropertyName: "ariaPosInset", publicName: "ariaPosInset", isSignal: true, isRequired: false, transformFunction: null }, ariaSetSize: { classPropertyName: "ariaSetSize", publicName: "ariaSetSize", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, template: { classPropertyName: "template", publicName: "template", isSignal: true, isRequired: false, transformFunction: null }, checkIconTemplate: { classPropertyName: "checkIconTemplate", publicName: "checkIconTemplate", isSignal: true, isRequired: false, transformFunction: null }, itemCheckboxIconTemplate: { classPropertyName: "itemCheckboxIconTemplate", publicName: "itemCheckboxIconTemplate", isSignal: true, isRequired: false, transformFunction: null }, highlightOnSelect: { classPropertyName: "highlightOnSelect", publicName: "highlightOnSelect", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick", onMouseEnter: "onMouseEnter" }, host: { attributes: { "role": "option" }, listeners: { "click": "onOptionClick($event)", "mouseenter": "onOptionMouseEnter($event)" }, properties: { "style.height.px": "itemSize()", "attr.aria-label": "label()", "attr.aria-setsize": "ariaSetSize()", "attr.aria-posinset": "ariaPosInset()", "attr.aria-selected": "selected()", "attr.data-p-selected": "selected()", "attr.data-p-focused": "focused()", "attr.data-p-highlight": "selected()", "attr.data-p-disabled": "disabled()", "attr.aria-checked": "selected()", "class": "cx('option')" } }, providers: [MultiSelectStyle], usesInheritance: true, ngImport: i0, template: `
253
+ <p-checkbox [ngModel]="selected()" [binary]="true" [tabindex]="-1" [variant]="variant()" [ariaLabel]="label()" [pt]="getPTOptions('pcOptionCheckbox')" [unstyled]="unstyled()">
254
+ @if (itemCheckboxIconTemplate()) {
255
+ <ng-template #icon let-klass="class">
256
+ <ng-template *ngTemplateOutlet="itemCheckboxIconTemplate(); context: { checked: selected(), class: klass }"></ng-template>
257
+ </ng-template>
258
+ }
259
+ </p-checkbox>
260
+ @if (!template()) {
261
+ <span>{{ label() ?? 'empty' }}</span>
262
+ }
263
+ <ng-container *ngTemplateOutlet="template(); context: { $implicit: option() }"></ng-container>
264
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["hostName", "value", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "inputStyle", "styleClass", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "autofocus", "trueValue", "falseValue", "variant", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SharedModule }], encapsulation: i0.ViewEncapsulation.None });
265
+ }
266
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: MultiSelectItem, decorators: [{
267
+ type: Component,
268
+ args: [{
269
+ selector: 'li[pMultiSelectItem]',
270
+ standalone: true,
271
+ imports: [CommonModule, Checkbox, FormsModule, SharedModule],
272
+ template: `
273
+ <p-checkbox [ngModel]="selected()" [binary]="true" [tabindex]="-1" [variant]="variant()" [ariaLabel]="label()" [pt]="getPTOptions('pcOptionCheckbox')" [unstyled]="unstyled()">
274
+ @if (itemCheckboxIconTemplate()) {
275
+ <ng-template #icon let-klass="class">
276
+ <ng-template *ngTemplateOutlet="itemCheckboxIconTemplate(); context: { checked: selected(), class: klass }"></ng-template>
277
+ </ng-template>
278
+ }
279
+ </p-checkbox>
280
+ @if (!template()) {
281
+ <span>{{ label() ?? 'empty' }}</span>
282
+ }
283
+ <ng-container *ngTemplateOutlet="template(); context: { $implicit: option() }"></ng-container>
284
+ `,
285
+ encapsulation: ViewEncapsulation.None,
286
+ providers: [MultiSelectStyle],
287
+ host: {
288
+ '[style.height.px]': 'itemSize()',
289
+ '[attr.aria-label]': 'label()',
290
+ role: 'option',
291
+ '[attr.aria-setsize]': 'ariaSetSize()',
292
+ '[attr.aria-posinset]': 'ariaPosInset()',
293
+ '[attr.aria-selected]': 'selected()',
294
+ '[attr.data-p-selected]': 'selected()',
295
+ '[attr.data-p-focused]': 'focused()',
296
+ '[attr.data-p-highlight]': 'selected()',
297
+ '[attr.data-p-disabled]': 'disabled()',
298
+ '[attr.aria-checked]': 'selected()',
299
+ '(click)': 'onOptionClick($event)',
300
+ '(mouseenter)': 'onOptionMouseEnter($event)',
301
+ '[class]': "cx('option')"
302
+ }
303
+ }]
304
+ }], propDecorators: { option: [{ type: i0.Input, args: [{ isSignal: true, alias: "option", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], itemSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemSize", required: false }] }], focused: [{ type: i0.Input, args: [{ isSignal: true, alias: "focused", required: false }] }], ariaPosInset: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaPosInset", required: false }] }], ariaSetSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaSetSize", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], template: [{ type: i0.Input, args: [{ isSignal: true, alias: "template", required: false }] }], checkIconTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "checkIconTemplate", required: false }] }], itemCheckboxIconTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemCheckboxIconTemplate", required: false }] }], highlightOnSelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "highlightOnSelect", required: false }] }], onClick: [{ type: i0.Output, args: ["onClick"] }], onMouseEnter: [{ type: i0.Output, args: ["onMouseEnter"] }] } });
305
+ /**
306
+ * MultiSelect is used to select multiple items from a collection.
307
+ * @group Components
308
+ */
309
+ class MultiSelect extends BaseEditableHolder {
310
+ zone = inject(NgZone);
311
+ filterService = inject(FilterService);
312
+ overlayService = inject(OverlayService);
313
+ componentName = 'MultiSelect';
314
+ /**
315
+ * Unique identifier of the component
316
+ * @group Props
317
+ */
318
+ id = input(/* @ts-ignore */
319
+ ...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
320
+ _generatedId;
321
+ get resolvedId() {
322
+ return this.id() || (this._generatedId ??= uuid('pn_id_'));
323
+ }
324
+ /**
325
+ * Defines a string that labels the input for accessibility.
326
+ * @group Props
327
+ */
328
+ ariaLabel = input(/* @ts-ignore */
329
+ ...(ngDevMode ? [undefined, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
330
+ /**
331
+ * Style class of the element.
332
+ * @deprecated since v20.0.0, use `class` instead.
333
+ * @group Props
334
+ */
335
+ styleClass = input(/* @ts-ignore */
336
+ ...(ngDevMode ? [undefined, { debugName: "styleClass" }] : /* istanbul ignore next */ []));
337
+ /**
338
+ * Inline style of the overlay panel.
339
+ * @group Props
340
+ */
341
+ panelStyle = input(/* @ts-ignore */
342
+ ...(ngDevMode ? [undefined, { debugName: "panelStyle" }] : /* istanbul ignore next */ []));
343
+ /**
344
+ * Style class of the overlay panel element.
345
+ * @group Props
346
+ */
347
+ panelStyleClass = input(/* @ts-ignore */
348
+ ...(ngDevMode ? [undefined, { debugName: "panelStyleClass" }] : /* istanbul ignore next */ []));
349
+ /**
350
+ * Identifier of the focus input to match a label defined for the component.
351
+ * @group Props
352
+ */
353
+ inputId = input(/* @ts-ignore */
354
+ ...(ngDevMode ? [undefined, { debugName: "inputId" }] : /* istanbul ignore next */ []));
355
+ /**
356
+ * When present, it specifies that the component cannot be edited.
357
+ * @group Props
358
+ */
359
+ readonly = input(undefined, { ...(ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
360
+ /**
361
+ * Whether to display options as grouped when nested options are provided.
362
+ * @group Props
363
+ */
364
+ group = input(undefined, { ...(ngDevMode ? { debugName: "group" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
365
+ /**
366
+ * When specified, displays an input field to filter the items on keyup.
367
+ * @group Props
368
+ */
369
+ filter = input(true, { ...(ngDevMode ? { debugName: "filter" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
370
+ /**
371
+ * Defines placeholder of the filter input.
372
+ * @group Props
373
+ */
374
+ filterPlaceHolder = input(/* @ts-ignore */
375
+ ...(ngDevMode ? [undefined, { debugName: "filterPlaceHolder" }] : /* istanbul ignore next */ []));
376
+ /**
377
+ * Locale to use in filtering. The default locale is the host environment's current locale.
378
+ * @group Props
379
+ */
380
+ filterLocale = input(/* @ts-ignore */
381
+ ...(ngDevMode ? [undefined, { debugName: "filterLocale" }] : /* istanbul ignore next */ []));
382
+ /**
383
+ * Specifies the visibility of the options panel.
384
+ * @group Props
385
+ */
386
+ overlayVisible = model(false, /* @ts-ignore */
387
+ ...(ngDevMode ? [{ debugName: "overlayVisible" }] : /* istanbul ignore next */ []));
388
+ /**
389
+ * Index of the element in tabbing order.
390
+ * @group Props
391
+ */
392
+ tabindex = input(0, { ...(ngDevMode ? { debugName: "tabindex" } : /* istanbul ignore next */ {}), transform: numberAttribute });
393
+ /**
394
+ * A property to uniquely identify a value in options.
395
+ * @group Props
396
+ */
397
+ dataKey = input(/* @ts-ignore */
398
+ ...(ngDevMode ? [undefined, { debugName: "dataKey" }] : /* istanbul ignore next */ []));
399
+ /**
400
+ * Establishes relationships between the component and label(s) where its value should be one or more element IDs.
401
+ * @group Props
402
+ */
403
+ ariaLabelledBy = input(/* @ts-ignore */
404
+ ...(ngDevMode ? [undefined, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []));
405
+ /**
406
+ * Whether to show labels of selected item labels or use default label.
407
+ * @group Props
408
+ * @defaultValue true
409
+ */
410
+ displaySelectedLabel = input(true, /* @ts-ignore */
411
+ ...(ngDevMode ? [{ debugName: "displaySelectedLabel" }] : /* istanbul ignore next */ []));
412
+ /**
413
+ * Decides how many selected item labels to show at most.
414
+ * @group Props
415
+ * @defaultValue 3
416
+ */
417
+ maxSelectedLabels = input(3, /* @ts-ignore */
418
+ ...(ngDevMode ? [{ debugName: "maxSelectedLabels" }] : /* istanbul ignore next */ []));
419
+ /**
420
+ * Maximum number of selectable items.
421
+ * @group Props
422
+ */
423
+ selectionLimit = input(undefined, { ...(ngDevMode ? { debugName: "selectionLimit" } : /* istanbul ignore next */ {}), transform: numberAttribute });
424
+ /**
425
+ * Label to display after exceeding max selected labels e.g. ({0} items selected), defaults "ellipsis" keyword to indicate a text-overflow.
426
+ * @group Props
427
+ */
428
+ selectedItemsLabel = input(/* @ts-ignore */
429
+ ...(ngDevMode ? [undefined, { debugName: "selectedItemsLabel" }] : /* istanbul ignore next */ []));
430
+ /**
431
+ * Whether to show the checkbox at header to toggle all items at once.
432
+ * @group Props
433
+ */
434
+ showToggleAll = input(true, { ...(ngDevMode ? { debugName: "showToggleAll" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
435
+ /**
436
+ * Text to display when filtering does not return any results.
437
+ * @group Props
438
+ */
439
+ emptyFilterMessage = input('', /* @ts-ignore */
440
+ ...(ngDevMode ? [{ debugName: "emptyFilterMessage" }] : /* istanbul ignore next */ []));
441
+ /**
442
+ * Text to display when there is no data. Defaults to global value in i18n translation configuration.
443
+ * @group Props
444
+ */
445
+ emptyMessage = input('', /* @ts-ignore */
446
+ ...(ngDevMode ? [{ debugName: "emptyMessage" }] : /* istanbul ignore next */ []));
447
+ /**
448
+ * Clears the filter value when hiding the dropdown.
449
+ * @group Props
450
+ */
451
+ resetFilterOnHide = input(false, { ...(ngDevMode ? { debugName: "resetFilterOnHide" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
452
+ /**
453
+ * Icon class of the dropdown icon.
454
+ * @group Props
455
+ */
456
+ dropdownIcon = input(/* @ts-ignore */
457
+ ...(ngDevMode ? [undefined, { debugName: "dropdownIcon" }] : /* istanbul ignore next */ []));
458
+ /**
459
+ * Icon class of the chip icon.
460
+ * @group Props
461
+ */
462
+ chipIcon = input(/* @ts-ignore */
463
+ ...(ngDevMode ? [undefined, { debugName: "chipIcon" }] : /* istanbul ignore next */ []));
464
+ /**
465
+ * Name of the label field of an option.
466
+ * @group Props
467
+ */
468
+ optionLabel = input(/* @ts-ignore */
469
+ ...(ngDevMode ? [undefined, { debugName: "optionLabel" }] : /* istanbul ignore next */ []));
470
+ /**
471
+ * Name of the value field of an option.
472
+ * @group Props
473
+ */
474
+ optionValue = input(/* @ts-ignore */
475
+ ...(ngDevMode ? [undefined, { debugName: "optionValue" }] : /* istanbul ignore next */ []));
476
+ /**
477
+ * Name of the disabled field of an option.
478
+ * @group Props
479
+ */
480
+ optionDisabled = input(/* @ts-ignore */
481
+ ...(ngDevMode ? [undefined, { debugName: "optionDisabled" }] : /* istanbul ignore next */ []));
482
+ /**
483
+ * Name of the label field of an option group.
484
+ * @group Props
485
+ */
486
+ optionGroupLabel = input('label', /* @ts-ignore */
487
+ ...(ngDevMode ? [{ debugName: "optionGroupLabel" }] : /* istanbul ignore next */ []));
488
+ /**
489
+ * Name of the options field of an option group.
490
+ * @group Props
491
+ */
492
+ optionGroupChildren = input('items', /* @ts-ignore */
493
+ ...(ngDevMode ? [{ debugName: "optionGroupChildren" }] : /* istanbul ignore next */ []));
494
+ /**
495
+ * Whether to show the header.
496
+ * @group Props
497
+ */
498
+ showHeader = input(true, { ...(ngDevMode ? { debugName: "showHeader" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
499
+ /**
500
+ * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.
501
+ * @group Props
502
+ */
503
+ filterBy = input(/* @ts-ignore */
504
+ ...(ngDevMode ? [undefined, { debugName: "filterBy" }] : /* istanbul ignore next */ []));
505
+ /**
506
+ * Height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.
507
+ * @group Props
508
+ */
509
+ scrollHeight = input('200px', /* @ts-ignore */
510
+ ...(ngDevMode ? [{ debugName: "scrollHeight" }] : /* istanbul ignore next */ []));
511
+ /**
512
+ * Defines if data is loaded and interacted with in lazy manner.
513
+ * @group Props
514
+ */
515
+ lazy = input(false, { ...(ngDevMode ? { debugName: "lazy" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
516
+ /**
517
+ * Whether the data should be loaded on demand during scroll.
518
+ * @group Props
519
+ */
520
+ virtualScroll = input(undefined, { ...(ngDevMode ? { debugName: "virtualScroll" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
521
+ /**
522
+ * Whether the multiselect is in loading state.
523
+ * @group Props
524
+ */
525
+ loading = input(false, { ...(ngDevMode ? { debugName: "loading" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
526
+ /**
527
+ * Height of an item in the list for VirtualScrolling.
528
+ * @group Props
529
+ */
530
+ virtualScrollItemSize = input(undefined, { ...(ngDevMode ? { debugName: "virtualScrollItemSize" } : /* istanbul ignore next */ {}), transform: numberAttribute });
531
+ /**
532
+ * Icon to display in loading state.
533
+ * @group Props
534
+ */
535
+ loadingIcon = input(/* @ts-ignore */
536
+ ...(ngDevMode ? [undefined, { debugName: "loadingIcon" }] : /* istanbul ignore next */ []));
537
+ /**
538
+ * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.
539
+ * @group Props
540
+ */
541
+ virtualScrollOptions = input(/* @ts-ignore */
542
+ ...(ngDevMode ? [undefined, { debugName: "virtualScrollOptions" }] : /* istanbul ignore next */ []));
543
+ /**
544
+ * Whether to use overlay API feature. The properties of overlay API can be used like an object in it.
545
+ * @group Props
546
+ */
547
+ overlayOptions = input(/* @ts-ignore */
548
+ ...(ngDevMode ? [undefined, { debugName: "overlayOptions" }] : /* istanbul ignore next */ []));
549
+ /**
550
+ * Defines a string that labels the filter input.
551
+ * @group Props
552
+ */
553
+ ariaFilterLabel = input(/* @ts-ignore */
554
+ ...(ngDevMode ? [undefined, { debugName: "ariaFilterLabel" }] : /* istanbul ignore next */ []));
555
+ /**
556
+ * Defines how the items are filtered.
557
+ * @group Props
558
+ */
559
+ filterMatchMode = input('contains', /* @ts-ignore */
560
+ ...(ngDevMode ? [{ debugName: "filterMatchMode" }] : /* istanbul ignore next */ []));
561
+ /**
562
+ * Advisory information to display in a tooltip on hover.
563
+ * @group Props
564
+ */
565
+ tooltip = input('', /* @ts-ignore */
566
+ ...(ngDevMode ? [{ debugName: "tooltip" }] : /* istanbul ignore next */ []));
567
+ /**
568
+ * Position of the tooltip.
569
+ * @group Props
570
+ */
571
+ tooltipPosition = input('right', /* @ts-ignore */
572
+ ...(ngDevMode ? [{ debugName: "tooltipPosition" }] : /* istanbul ignore next */ []));
573
+ /**
574
+ * Type of CSS position.
575
+ * @group Props
576
+ */
577
+ tooltipPositionStyle = input('absolute', /* @ts-ignore */
578
+ ...(ngDevMode ? [{ debugName: "tooltipPositionStyle" }] : /* istanbul ignore next */ []));
579
+ /**
580
+ * Style class of the tooltip.
581
+ * @group Props
582
+ */
583
+ tooltipStyleClass = input(/* @ts-ignore */
584
+ ...(ngDevMode ? [undefined, { debugName: "tooltipStyleClass" }] : /* istanbul ignore next */ []));
585
+ /**
586
+ * Applies focus to the filter element when the overlay is shown.
587
+ * @group Props
588
+ */
589
+ autofocusFilter = input(false, { ...(ngDevMode ? { debugName: "autofocusFilter" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
590
+ /**
591
+ * Defines how the selected items are displayed.
592
+ * @group Props
593
+ */
594
+ display = input('comma', /* @ts-ignore */
595
+ ...(ngDevMode ? [{ debugName: "display" }] : /* istanbul ignore next */ []));
596
+ /**
597
+ * Defines the autocomplete is active.
598
+ * @group Props
599
+ */
600
+ autocomplete = input('off', /* @ts-ignore */
601
+ ...(ngDevMode ? [{ debugName: "autocomplete" }] : /* istanbul ignore next */ []));
602
+ /**
603
+ * When enabled, a clear icon is displayed to clear the value.
604
+ * @group Props
605
+ */
606
+ showClear = input(false, { ...(ngDevMode ? { debugName: "showClear" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
607
+ /**
608
+ * When present, it specifies that the component should automatically get focus on load.
609
+ * @group Props
610
+ */
611
+ autofocus = input(undefined, { ...(ngDevMode ? { debugName: "autofocus" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
612
+ /**
613
+ * Label to display when there are no selections.
614
+ * @group Props
615
+ */
616
+ placeholder = input(/* @ts-ignore */
617
+ ...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
618
+ /**
619
+ * An array of objects to display as the available options.
620
+ * @group Props
621
+ */
622
+ options = input(/* @ts-ignore */
623
+ ...(ngDevMode ? [undefined, { debugName: "options" }] : /* istanbul ignore next */ []));
624
+ /**
625
+ * When specified, filter displays with this value.
626
+ * @group Props
627
+ */
628
+ filterValue = input(/* @ts-ignore */
629
+ ...(ngDevMode ? [undefined, { debugName: "filterValue" }] : /* istanbul ignore next */ []));
630
+ /**
631
+ * Whether all data is selected.
632
+ * @group Props
633
+ */
634
+ selectAll = input(/* @ts-ignore */
635
+ ...(ngDevMode ? [undefined, { debugName: "selectAll" }] : /* istanbul ignore next */ []));
636
+ /**
637
+ * Indicates whether to focus on options when hovering over them, defaults to optionLabel.
638
+ * @group Props
639
+ */
640
+ focusOnHover = input(true, { ...(ngDevMode ? { debugName: "focusOnHover" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
641
+ /**
642
+ * Fields used when filtering the options, defaults to optionLabel.
643
+ * @group Props
644
+ */
645
+ filterFields = input(/* @ts-ignore */
646
+ ...(ngDevMode ? [undefined, { debugName: "filterFields" }] : /* istanbul ignore next */ []));
647
+ /**
648
+ * Determines if the option will be selected on focus.
649
+ * @group Props
650
+ */
651
+ selectOnFocus = input(false, { ...(ngDevMode ? { debugName: "selectOnFocus" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
652
+ /**
653
+ * Whether to focus on the first visible or selected element when the overlay panel is shown.
654
+ * @group Props
655
+ */
656
+ autoOptionFocus = input(false, { ...(ngDevMode ? { debugName: "autoOptionFocus" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
657
+ /**
658
+ * Whether the selected option will be add highlight class.
659
+ * @group Props
660
+ */
661
+ highlightOnSelect = input(true, { ...(ngDevMode ? { debugName: "highlightOnSelect" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
662
+ /**
663
+ * Specifies the size of the component.
664
+ * @defaultValue undefined
665
+ * @group Props
666
+ */
667
+ size = input(/* @ts-ignore */
668
+ ...(ngDevMode ? [undefined, { debugName: "size" }] : /* istanbul ignore next */ []));
669
+ /**
670
+ * Specifies the input variant of the component.
671
+ * @defaultValue undefined
672
+ * @group Props
673
+ */
674
+ variant = input(/* @ts-ignore */
675
+ ...(ngDevMode ? [undefined, { debugName: "variant" }] : /* istanbul ignore next */ []));
676
+ /**
677
+ * Spans 100% width of the container when enabled.
678
+ * @defaultValue undefined
679
+ * @group Props
680
+ */
681
+ fluid = input(undefined, { ...(ngDevMode ? { debugName: "fluid" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
682
+ /**
683
+ * Target element to attach the overlay, valid values are "body" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]="mydiv" for a div element having #mydiv as variable name).
684
+ * @defaultValue 'self'
685
+ * @group Props
686
+ */
687
+ appendTo = input(undefined, /* @ts-ignore */
688
+ ...(ngDevMode ? [{ debugName: "appendTo" }] : /* istanbul ignore next */ []));
689
+ /**
690
+ * The motion options.
691
+ * @group Props
692
+ */
693
+ motionOptions = input(undefined, /* @ts-ignore */
694
+ ...(ngDevMode ? [{ debugName: "motionOptions" }] : /* istanbul ignore next */ []));
695
+ /**
696
+ * Callback to invoke when value changes.
697
+ * @param {MultiSelectChangeEvent} event - Custom change event.
698
+ * @group Emits
699
+ */
700
+ onChange = output();
701
+ /**
702
+ * Callback to invoke when data is filtered.
703
+ * @param {MultiSelectFilterEvent} event - Custom filter event.
704
+ * @group Emits
705
+ */
706
+ onFilter = output();
707
+ /**
708
+ * Callback to invoke when multiselect receives focus.
709
+ * @param {MultiSelectFocusEvent} event - Custom focus event.
710
+ * @group Emits
711
+ */
712
+ onFocus = output();
713
+ /**
714
+ * Callback to invoke when multiselect loses focus.
715
+ * @param {MultiSelectBlurEvent} event - Custom blur event.
716
+ * @group Emits
717
+ */
718
+ onBlur = output();
719
+ /**
720
+ * Callback to invoke when component is clicked.
721
+ * @param {Event} event - Browser event.
722
+ * @group Emits
723
+ */
724
+ onClick = output();
725
+ /**
726
+ * Callback to invoke when input field is cleared.
727
+ * @group Emits
728
+ */
729
+ onClear = output();
730
+ /**
731
+ * Callback to invoke when overlay panel becomes visible.
732
+ * @param {AnimationEvent} event - Animation event.
733
+ * @group Emits
734
+ */
735
+ onPanelShow = output();
736
+ /**
737
+ * Callback to invoke when overlay panel becomes hidden.
738
+ * @param {AnimationEvent} event - Animation event.
739
+ * @group Emits
740
+ */
741
+ onPanelHide = output();
742
+ /**
743
+ * Callback to invoke in lazy mode to load new data.
744
+ * @param {MultiSelectLazyLoadEvent} event - Lazy load event.
745
+ * @group Emits
746
+ */
747
+ onLazyLoad = output();
748
+ /**
749
+ * Callback to invoke in lazy mode to load new data.
750
+ * @param {MultiSelectRemoveEvent} event - Remove event.
751
+ * @group Emits
752
+ */
753
+ onRemove = output();
754
+ /**
755
+ * Callback to invoke when all data is selected.
756
+ * @param {MultiSelectSelectAllChangeEvent} event - Custom select event.
757
+ * @group Emits
758
+ */
759
+ onSelectAllChange = output();
760
+ overlayViewChild = viewChild('overlay', /* @ts-ignore */
761
+ ...(ngDevMode ? [{ debugName: "overlayViewChild" }] : /* istanbul ignore next */ []));
762
+ filterInputChild = viewChild('filterInput', /* @ts-ignore */
763
+ ...(ngDevMode ? [{ debugName: "filterInputChild" }] : /* istanbul ignore next */ []));
764
+ focusInputViewChild = viewChild('focusInput', /* @ts-ignore */
765
+ ...(ngDevMode ? [{ debugName: "focusInputViewChild" }] : /* istanbul ignore next */ []));
766
+ itemsViewChild = viewChild('items', /* @ts-ignore */
767
+ ...(ngDevMode ? [{ debugName: "itemsViewChild" }] : /* istanbul ignore next */ []));
768
+ scroller = viewChild('scroller', /* @ts-ignore */
769
+ ...(ngDevMode ? [{ debugName: "scroller" }] : /* istanbul ignore next */ []));
770
+ lastHiddenFocusableElementOnOverlay = viewChild('lastHiddenFocusableEl', /* @ts-ignore */
771
+ ...(ngDevMode ? [{ debugName: "lastHiddenFocusableElementOnOverlay" }] : /* istanbul ignore next */ []));
772
+ firstHiddenFocusableElementOnOverlay = viewChild('firstHiddenFocusableEl', /* @ts-ignore */
773
+ ...(ngDevMode ? [{ debugName: "firstHiddenFocusableElementOnOverlay" }] : /* istanbul ignore next */ []));
774
+ headerCheckboxViewChild = viewChild('headerCheckbox', /* @ts-ignore */
775
+ ...(ngDevMode ? [{ debugName: "headerCheckboxViewChild" }] : /* istanbul ignore next */ []));
776
+ footerFacet = contentChild(Footer, /* @ts-ignore */
777
+ ...(ngDevMode ? [{ debugName: "footerFacet" }] : /* istanbul ignore next */ []));
778
+ headerFacet = contentChild(Header, /* @ts-ignore */
779
+ ...(ngDevMode ? [{ debugName: "headerFacet" }] : /* istanbul ignore next */ []));
780
+ _componentStyle = inject(MultiSelectStyle);
781
+ bindDirectiveInstance = inject(Bind, { self: true });
782
+ searchValue;
783
+ searchTimeout;
784
+ _selectAll = null;
785
+ _placeholder = signal(undefined, /* @ts-ignore */
786
+ ...(ngDevMode ? [{ debugName: "_placeholder" }] : /* istanbul ignore next */ []));
787
+ _disableTooltip = false;
788
+ value;
789
+ _filteredOptions;
790
+ focus;
791
+ filtered;
792
+ /**
793
+ * Custom item template.
794
+ * @group Templates
795
+ */
796
+ itemTemplate = contentChild('item', { ...(ngDevMode ? { debugName: "itemTemplate" } : /* istanbul ignore next */ {}), descendants: false });
797
+ /**
798
+ * Custom group template.
799
+ * @group Templates
800
+ */
801
+ groupTemplate;
802
+ /**
803
+ * Custom loader template.
804
+ * @group Templates
805
+ */
806
+ loaderTemplate;
807
+ /**
808
+ * Custom header template.
809
+ * @group Templates
810
+ */
811
+ headerTemplate = contentChild('header', { ...(ngDevMode ? { debugName: "headerTemplate" } : /* istanbul ignore next */ {}), descendants: false });
812
+ /**
813
+ * Custom filter template.
814
+ * @group Templates
815
+ */
816
+ filterTemplate;
817
+ /**
818
+ * Custom footer template.
819
+ * @group Templates
820
+ */
821
+ footerTemplate;
822
+ /**
823
+ * Custom empty filter template.
824
+ * @group Templates
825
+ */
826
+ emptyFilterTemplate = contentChild('emptyfilter', { ...(ngDevMode ? { debugName: "emptyFilterTemplate" } : /* istanbul ignore next */ {}), descendants: false });
827
+ /**
828
+ * Custom empty template.
829
+ * @group Templates
830
+ */
831
+ emptyTemplate = contentChild('empty', { ...(ngDevMode ? { debugName: "emptyTemplate" } : /* istanbul ignore next */ {}), descendants: false });
832
+ /**
833
+ * Custom selected items template.
834
+ * @group Templates
835
+ */
836
+ selectedItemsTemplate;
837
+ /**
838
+ * Custom loading icon template.
839
+ * @group Templates
840
+ */
841
+ loadingIconTemplate;
842
+ /**
843
+ * Custom filter icon template.
844
+ * @group Templates
845
+ */
846
+ filterIconTemplate;
847
+ /**
848
+ * Custom remove token icon template.
849
+ * @group Templates
850
+ */
851
+ removeTokenIconTemplate;
852
+ /**
853
+ * Custom chip icon template.
854
+ * @group Templates
855
+ */
856
+ chipIconTemplate;
857
+ /**
858
+ * Custom clear icon template.
859
+ * @group Templates
860
+ */
861
+ clearIconTemplate;
862
+ /**
863
+ * Custom dropdown icon template.
864
+ * @group Templates
865
+ */
866
+ dropdownIconTemplate;
867
+ /**
868
+ * Custom item checkbox icon template.
869
+ * @group Templates
870
+ */
871
+ itemCheckboxIconTemplate = contentChild('itemcheckboxicon', { ...(ngDevMode ? { debugName: "itemCheckboxIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
872
+ /**
873
+ * Custom header checkbox icon template.
874
+ * @group Templates
875
+ */
876
+ headerCheckboxIconTemplate = contentChild('headercheckboxicon', { ...(ngDevMode ? { debugName: "headerCheckboxIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
877
+ templates = contentChildren(PrimeTemplate, /* @ts-ignore */
878
+ ...(ngDevMode ? [{ debugName: "templates" }] : /* istanbul ignore next */ []));
879
+ _itemTemplate;
880
+ _groupTemplate;
881
+ _loaderTemplate;
882
+ _headerTemplate;
883
+ _filterTemplate;
884
+ _footerTemplate;
885
+ _emptyFilterTemplate;
886
+ _emptyTemplate;
887
+ _selectedItemsTemplate;
888
+ _loadingIconTemplate;
889
+ _filterIconTemplate;
890
+ _removeTokenIconTemplate;
891
+ _chipIconTemplate;
892
+ _clearIconTemplate;
893
+ _dropdownIconTemplate;
894
+ _itemCheckboxIconTemplate;
895
+ _headerCheckboxIconTemplate;
896
+ $variant = computed(() => this.variant() || this.config.inputStyle() || this.config.inputVariant(), /* @ts-ignore */
897
+ ...(ngDevMode ? [{ debugName: "$variant" }] : /* istanbul ignore next */ []));
898
+ $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo(), /* @ts-ignore */
899
+ ...(ngDevMode ? [{ debugName: "$appendTo" }] : /* istanbul ignore next */ []));
900
+ $pcMultiSelect = inject(MULTISELECT_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
901
+ pcFluid = inject(Fluid, { optional: true, host: true, skipSelf: true });
902
+ get hasFluid() {
903
+ return this.fluid() ?? !!this.pcFluid;
904
+ }
905
+ onAfterContentInit() {
906
+ this.templates().forEach((item) => {
907
+ switch (item.getType()) {
908
+ case 'item':
909
+ this._itemTemplate = item.template;
910
+ break;
911
+ case 'group':
912
+ this._groupTemplate = item.template;
913
+ break;
914
+ case 'selectedItems':
915
+ case 'selecteditems':
916
+ this._selectedItemsTemplate = item.template;
917
+ break;
918
+ case 'header':
919
+ this._headerTemplate = item.template;
920
+ break;
921
+ case 'filter':
922
+ this._filterTemplate = item.template;
923
+ break;
924
+ case 'emptyfilter':
925
+ this._emptyFilterTemplate = item.template;
926
+ break;
927
+ case 'empty':
928
+ this._emptyTemplate = item.template;
929
+ break;
930
+ case 'footer':
931
+ this._footerTemplate = item.template;
932
+ break;
933
+ case 'loader':
934
+ this._loaderTemplate = item.template;
935
+ break;
936
+ case 'headercheckboxicon':
937
+ this._headerCheckboxIconTemplate = item.template;
938
+ break;
939
+ case 'loadingicon':
940
+ this._loadingIconTemplate = item.template;
941
+ break;
942
+ case 'filtericon':
943
+ this._filterIconTemplate = item.template;
944
+ break;
945
+ case 'removetokenicon':
946
+ this._removeTokenIconTemplate = item.template;
947
+ break;
948
+ case 'clearicon':
949
+ this._clearIconTemplate = item.template;
950
+ break;
951
+ case 'dropdownicon':
952
+ this._dropdownIconTemplate = item.template;
953
+ break;
954
+ case 'itemcheckboxicon':
955
+ this._itemCheckboxIconTemplate = item.template;
956
+ break;
957
+ case 'chipicon':
958
+ this._chipIconTemplate = item.template;
959
+ break;
960
+ default:
961
+ this._itemTemplate = item.template;
962
+ break;
963
+ }
964
+ });
965
+ }
966
+ headerCheckboxFocus;
967
+ filterOptions;
968
+ preventModelTouched;
969
+ focused = false;
970
+ itemsWrapper;
971
+ _displaySelectedLabel = true;
972
+ _maxSelectedLabels = 3;
973
+ modelValue = signal(null, /* @ts-ignore */
974
+ ...(ngDevMode ? [{ debugName: "modelValue" }] : /* istanbul ignore next */ []));
975
+ _filterValue = signal(null, /* @ts-ignore */
976
+ ...(ngDevMode ? [{ debugName: "_filterValue" }] : /* istanbul ignore next */ []));
977
+ _options = signal([], /* @ts-ignore */
978
+ ...(ngDevMode ? [{ debugName: "_options" }] : /* istanbul ignore next */ []));
979
+ startRangeIndex = signal(-1, /* @ts-ignore */
980
+ ...(ngDevMode ? [{ debugName: "startRangeIndex" }] : /* istanbul ignore next */ []));
981
+ focusedOptionIndex = signal(-1, /* @ts-ignore */
982
+ ...(ngDevMode ? [{ debugName: "focusedOptionIndex" }] : /* istanbul ignore next */ []));
983
+ selectedOptions;
984
+ clickInProgress = false;
985
+ get emptyMessageLabel() {
986
+ return this.emptyMessage() || this.config.getTranslation(TranslationKeys.EMPTY_MESSAGE);
987
+ }
988
+ get emptyFilterMessageLabel() {
989
+ return this.emptyFilterMessage() || this.config.getTranslation(TranslationKeys.EMPTY_FILTER_MESSAGE);
990
+ }
991
+ get isVisibleClearIcon() {
992
+ return this.modelValue() != null && this.modelValue() !== '' && isNotEmpty(this.modelValue()) && this.showClear() && !this.$disabled() && !this.readonly() && this.$filled();
993
+ }
994
+ get toggleAllAriaLabel() {
995
+ return this.config.translation.aria ? this.config.translation.aria[this.allSelected() ? 'selectAll' : 'unselectAll'] : undefined;
996
+ }
997
+ get listLabel() {
998
+ return this.config.getTranslation(TranslationKeys.ARIA)['listLabel'];
999
+ }
1000
+ getAllVisibleAndNonVisibleOptions() {
1001
+ return this.group() ? this.flatOptions(this.options) : this.options || [];
1002
+ }
1003
+ visibleOptions = computed(() => {
1004
+ const options = this.getAllVisibleAndNonVisibleOptions();
1005
+ const isArrayOfObjects = isArray(options) && ObjectUtils.isObject(options[0]);
1006
+ if (this._filterValue()) {
1007
+ let filteredOptions;
1008
+ if (isArrayOfObjects) {
1009
+ filteredOptions = this.filterService.filter(options, this.searchFields(), this._filterValue(), this.filterMatchMode(), this.filterLocale());
1010
+ }
1011
+ else {
1012
+ filteredOptions = options.filter((option) => option.toString().toLocaleLowerCase().includes(this._filterValue().toLocaleLowerCase()));
1013
+ }
1014
+ if (this.group()) {
1015
+ const optionGroups = this._options() || [];
1016
+ const filtered = [];
1017
+ optionGroups.forEach((group) => {
1018
+ const groupChildren = this.getOptionGroupChildren(group);
1019
+ const filteredItems = groupChildren.filter((item) => filteredOptions.includes(item));
1020
+ const optionGroupChildren = this.optionGroupChildren();
1021
+ if (filteredItems.length > 0)
1022
+ filtered.push({
1023
+ ...group,
1024
+ [typeof optionGroupChildren === 'string' ? optionGroupChildren : 'items']: [...filteredItems]
1025
+ });
1026
+ });
1027
+ return this.flatOptions(filtered);
1028
+ }
1029
+ return filteredOptions;
1030
+ }
1031
+ return options;
1032
+ }, /* @ts-ignore */
1033
+ ...(ngDevMode ? [{ debugName: "visibleOptions" }] : /* istanbul ignore next */ []));
1034
+ label = computed(() => {
1035
+ let label;
1036
+ const modelValue = this.modelValue();
1037
+ if (modelValue && modelValue?.length && this.displaySelectedLabel()) {
1038
+ if (isNotEmpty(this.maxSelectedLabels()) && modelValue?.length > (this.maxSelectedLabels() || 0)) {
1039
+ return this.getSelectedItemsLabel();
1040
+ }
1041
+ else {
1042
+ label = '';
1043
+ for (let i = 0; i < modelValue.length; i++) {
1044
+ if (i !== 0) {
1045
+ label += ', ';
1046
+ }
1047
+ label += this.getLabelByValue(modelValue[i]);
1048
+ }
1049
+ }
1050
+ }
1051
+ else {
1052
+ label = this.placeholder() || '';
1053
+ }
1054
+ return label;
1055
+ }, /* @ts-ignore */
1056
+ ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
1057
+ chipSelectedItems = computed(() => (isNotEmpty(this.maxSelectedLabels()) && this.modelValue() && this.modelValue()?.length > (this.maxSelectedLabels() || 0) ? this.modelValue()?.slice(0, this.maxSelectedLabels()) : this.modelValue()), /* @ts-ignore */
1058
+ ...(ngDevMode ? [{ debugName: "chipSelectedItems" }] : /* istanbul ignore next */ []));
1059
+ constructor() {
1060
+ super();
1061
+ effect(() => {
1062
+ const modelValue = this.modelValue();
1063
+ const allVisibleAndNonVisibleOptions = this.getAllVisibleAndNonVisibleOptions();
1064
+ if (allVisibleAndNonVisibleOptions && isNotEmpty(allVisibleAndNonVisibleOptions)) {
1065
+ if (this.optionValue() && this.optionLabel() && modelValue) {
1066
+ this.selectedOptions = allVisibleAndNonVisibleOptions.filter((option) => modelValue.includes(option[this.optionLabel()]) || modelValue.includes(option[this.optionValue()]));
1067
+ }
1068
+ else {
1069
+ this.selectedOptions = modelValue;
1070
+ }
1071
+ this.cd.markForCheck();
1072
+ }
1073
+ });
1074
+ effect(() => {
1075
+ this._placeholder.set(this.placeholder());
1076
+ });
1077
+ effect(() => {
1078
+ const val = this.options();
1079
+ if (!deepEquals(this._options(), val)) {
1080
+ this._options.set(val || []);
1081
+ }
1082
+ });
1083
+ effect(() => {
1084
+ this._filterValue.set(this.filterValue());
1085
+ });
1086
+ }
1087
+ onInit() {
1088
+ this.autoUpdateModel();
1089
+ if (this.filterBy()) {
1090
+ this.filterOptions = {
1091
+ filter: (value) => this.onFilterInputChange(value),
1092
+ reset: () => this.resetFilter()
1093
+ };
1094
+ }
1095
+ }
1096
+ maxSelectionLimitReached() {
1097
+ const selectionLimit = this.selectionLimit();
1098
+ return selectionLimit && this.modelValue() && this.modelValue().length === selectionLimit;
1099
+ }
1100
+ onAfterViewInit() {
1101
+ if (this.overlayVisible()) {
1102
+ this.show();
1103
+ }
1104
+ }
1105
+ onAfterViewChecked() {
1106
+ this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
1107
+ if (this.filtered) {
1108
+ this.zone.runOutsideAngular(() => {
1109
+ setTimeout(() => {
1110
+ this.overlayViewChild()?.alignOverlay();
1111
+ }, 1);
1112
+ });
1113
+ this.filtered = false;
1114
+ }
1115
+ }
1116
+ flatOptions(options) {
1117
+ return (options || []).reduce((result, option, index) => {
1118
+ result.push({ optionGroup: option, group: true, index });
1119
+ const optionGroupChildren = this.getOptionGroupChildren(option);
1120
+ optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));
1121
+ return result;
1122
+ }, []);
1123
+ }
1124
+ autoUpdateModel() {
1125
+ if (this.selectOnFocus() && this.autoOptionFocus() && !this.hasSelectedOption()) {
1126
+ this.focusedOptionIndex.set(this.findFirstFocusedOptionIndex());
1127
+ const value = this.getOptionValue(this.visibleOptions()[this.focusedOptionIndex()]);
1128
+ this.onOptionSelect({ originalEvent: null, option: [value] });
1129
+ }
1130
+ }
1131
+ /**
1132
+ * Updates the model value.
1133
+ * @group Method
1134
+ */
1135
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars -- `event` is part of this public method's documented signature, kept for a consistent API across the select-family components.
1136
+ updateModel(value, event) {
1137
+ this.value = value;
1138
+ this.onModelChange(value);
1139
+ this.writeValue(value);
1140
+ }
1141
+ onInputClick(event) {
1142
+ event.stopPropagation();
1143
+ event.preventDefault();
1144
+ this.focusedOptionIndex.set(-1);
1145
+ }
1146
+ onOptionSelect(event, isFocus = false, index = -1) {
1147
+ const { originalEvent, option } = event;
1148
+ if (this.$disabled() || this.isOptionDisabled(option)) {
1149
+ return;
1150
+ }
1151
+ let selected = this.isSelected(option);
1152
+ let value = [];
1153
+ if (selected) {
1154
+ value = this.modelValue().filter((val) => !equals(val, this.getOptionValue(option), this.equalityKey() || ''));
1155
+ }
1156
+ else {
1157
+ value = [...(this.modelValue() || []), this.getOptionValue(option)];
1158
+ }
1159
+ this.updateModel(value, originalEvent);
1160
+ index !== -1 && this.focusedOptionIndex.set(index);
1161
+ isFocus && focus(this.focusInputViewChild()?.nativeElement);
1162
+ this.onChange.emit({
1163
+ originalEvent: event,
1164
+ value: value,
1165
+ itemValue: option
1166
+ });
1167
+ }
1168
+ findSelectedOptionIndex() {
1169
+ return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;
1170
+ }
1171
+ onOptionSelectRange(event, start = -1, end = -1) {
1172
+ start === -1 && (start = this.findNearestSelectedOptionIndex(end, true));
1173
+ end === -1 && (end = this.findNearestSelectedOptionIndex(start));
1174
+ if (start !== -1 && end !== -1) {
1175
+ const rangeStart = Math.min(start, end);
1176
+ const rangeEnd = Math.max(start, end);
1177
+ const value = this.visibleOptions()
1178
+ .slice(rangeStart, rangeEnd + 1)
1179
+ .filter((option) => this.isValidOption(option))
1180
+ .map((option) => this.getOptionValue(option));
1181
+ this.updateModel(value, event);
1182
+ }
1183
+ }
1184
+ searchFields() {
1185
+ return (this.filterBy() || this.optionLabel() || 'label').split(',');
1186
+ }
1187
+ findNearestSelectedOptionIndex(index, firstCheckUp = false) {
1188
+ let matchedOptionIndex = -1;
1189
+ if (this.hasSelectedOption()) {
1190
+ if (firstCheckUp) {
1191
+ matchedOptionIndex = this.findPrevSelectedOptionIndex(index);
1192
+ matchedOptionIndex = matchedOptionIndex === -1 ? this.findNextSelectedOptionIndex(index) : matchedOptionIndex;
1193
+ }
1194
+ else {
1195
+ matchedOptionIndex = this.findNextSelectedOptionIndex(index);
1196
+ matchedOptionIndex = matchedOptionIndex === -1 ? this.findPrevSelectedOptionIndex(index) : matchedOptionIndex;
1197
+ }
1198
+ }
1199
+ return matchedOptionIndex > -1 ? matchedOptionIndex : index;
1200
+ }
1201
+ findPrevSelectedOptionIndex(index) {
1202
+ const matchedOptionIndex = this.hasSelectedOption() && index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidSelectedOption(option)) : -1;
1203
+ return matchedOptionIndex > -1 ? matchedOptionIndex : -1;
1204
+ }
1205
+ findFirstFocusedOptionIndex() {
1206
+ const selectedIndex = this.findFirstSelectedOptionIndex();
1207
+ return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;
1208
+ }
1209
+ findFirstOptionIndex() {
1210
+ return this.visibleOptions().findIndex((option) => this.isValidOption(option));
1211
+ }
1212
+ findFirstSelectedOptionIndex() {
1213
+ return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;
1214
+ }
1215
+ findNextSelectedOptionIndex(index) {
1216
+ const matchedOptionIndex = this.hasSelectedOption() && index < this.visibleOptions().length - 1
1217
+ ? this.visibleOptions()
1218
+ .slice(index + 1)
1219
+ .findIndex((option) => this.isValidSelectedOption(option))
1220
+ : -1;
1221
+ return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : -1;
1222
+ }
1223
+ equalityKey() {
1224
+ return this.optionValue() ? null : this.dataKey();
1225
+ }
1226
+ hasSelectedOption() {
1227
+ return isNotEmpty(this.modelValue());
1228
+ }
1229
+ isValidSelectedOption(option) {
1230
+ return this.isValidOption(option) && this.isSelected(option);
1231
+ }
1232
+ isOptionGroup(option) {
1233
+ return option && (this.group() || this.optionGroupLabel()) && option.optionGroup && option.group;
1234
+ }
1235
+ isValidOption(option) {
1236
+ return option && !(this.isOptionDisabled(option) || this.isOptionGroup(option));
1237
+ }
1238
+ isOptionDisabled(option) {
1239
+ if (this.maxSelectionLimitReached() && !this.isSelected(option)) {
1240
+ return true;
1241
+ }
1242
+ const optionDisabled = this.optionDisabled();
1243
+ return optionDisabled ? resolveFieldData(option, optionDisabled) : option && option.disabled !== undefined ? option.disabled : false;
1244
+ }
1245
+ isSelected(option) {
1246
+ const optionValue = this.getOptionValue(option);
1247
+ return (this.modelValue() || []).some((value) => equals(value, optionValue, this.equalityKey() || ''));
1248
+ }
1249
+ isOptionMatched(option) {
1250
+ return this.isValidOption(option) && this.getOptionLabel(option).toString().toLocaleLowerCase(this.filterLocale()).startsWith(this.searchValue?.toLocaleLowerCase(this.filterLocale()));
1251
+ }
1252
+ isEmpty() {
1253
+ return !this._options() || (this.visibleOptions() && this.visibleOptions().length === 0);
1254
+ }
1255
+ getOptionIndex(index, scrollerOptions) {
1256
+ return this.virtualScrollerDisabled ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];
1257
+ }
1258
+ getAriaPosInset(index) {
1259
+ return ((this.optionGroupLabel()
1260
+ ? index -
1261
+ this.visibleOptions()
1262
+ .slice(0, index)
1263
+ .filter((option) => this.isOptionGroup(option)).length
1264
+ : index) + 1);
1265
+ }
1266
+ get ariaSetSize() {
1267
+ return this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length;
1268
+ }
1269
+ getLabelByValue(value) {
1270
+ const options = this.group() ? this.flatOptions(this._options()) : this._options() || [];
1271
+ const matchedOption = options.find((option) => !this.isOptionGroup(option) && equals(this.getOptionValue(option), value, this.equalityKey() || ''));
1272
+ return matchedOption ? this.getOptionLabel(matchedOption) : null;
1273
+ }
1274
+ getSelectedItemsLabel() {
1275
+ let pattern = /{(.*?)}/;
1276
+ const selectedItemsLabel = this.selectedItemsLabel();
1277
+ let message = selectedItemsLabel ? selectedItemsLabel : this.config.getTranslation(TranslationKeys.SELECTION_MESSAGE);
1278
+ if (pattern.test(message)) {
1279
+ return message.replace(message.match(pattern)[0], this.modelValue().length + '');
1280
+ }
1281
+ return message;
1282
+ }
1283
+ getOptionLabel(option) {
1284
+ const optionLabel = this.optionLabel();
1285
+ return optionLabel ? resolveFieldData(option, optionLabel) : option && option.label != undefined ? option.label : option;
1286
+ }
1287
+ getOptionValue(option) {
1288
+ const optionValue = this.optionValue();
1289
+ return optionValue ? resolveFieldData(option, optionValue) : !this.optionLabel() && option && option.value !== undefined ? option.value : option;
1290
+ }
1291
+ getOptionGroupLabel(optionGroup) {
1292
+ const optionGroupLabel = this.optionGroupLabel();
1293
+ return optionGroupLabel ? resolveFieldData(optionGroup, optionGroupLabel) : optionGroup && optionGroup.label != undefined ? optionGroup.label : optionGroup;
1294
+ }
1295
+ getOptionGroupChildren(optionGroup) {
1296
+ const optionGroupChildren = this.optionGroupChildren();
1297
+ return optionGroup ? (optionGroupChildren ? resolveFieldData(optionGroup, optionGroupChildren) : optionGroup.items) : [];
1298
+ }
1299
+ onKeyDown(event) {
1300
+ if (this.$disabled()) {
1301
+ event.preventDefault();
1302
+ return;
1303
+ }
1304
+ const metaKey = event.metaKey || event.ctrlKey;
1305
+ switch (event.code) {
1306
+ case 'ArrowDown':
1307
+ this.onArrowDownKey(event);
1308
+ break;
1309
+ case 'ArrowUp':
1310
+ this.onArrowUpKey(event);
1311
+ break;
1312
+ case 'Home':
1313
+ this.onHomeKey(event);
1314
+ break;
1315
+ case 'End':
1316
+ this.onEndKey(event);
1317
+ break;
1318
+ case 'PageDown':
1319
+ this.onPageDownKey(event);
1320
+ break;
1321
+ case 'PageUp':
1322
+ this.onPageUpKey(event);
1323
+ break;
1324
+ case 'Enter':
1325
+ case 'Space':
1326
+ this.onEnterKey(event);
1327
+ break;
1328
+ case 'Escape':
1329
+ this.onEscapeKey(event);
1330
+ break;
1331
+ case 'Tab':
1332
+ this.onTabKey(event);
1333
+ break;
1334
+ case 'ShiftLeft':
1335
+ case 'ShiftRight':
1336
+ this.onShiftKey();
1337
+ break;
1338
+ default:
1339
+ if (event.code === 'KeyA' && metaKey) {
1340
+ const value = this.visibleOptions()
1341
+ .filter((option) => this.isValidOption(option))
1342
+ .map((option) => this.getOptionValue(option));
1343
+ this.updateModel(value, event);
1344
+ event.preventDefault();
1345
+ break;
1346
+ }
1347
+ if (!metaKey && isPrintableCharacter(event.key)) {
1348
+ !this.overlayVisible() && this.show();
1349
+ this.searchOptions(event, event.key);
1350
+ event.preventDefault();
1351
+ }
1352
+ break;
1353
+ }
1354
+ }
1355
+ onFilterKeyDown(event) {
1356
+ switch (event.code) {
1357
+ case 'ArrowDown':
1358
+ this.onArrowDownKey(event);
1359
+ break;
1360
+ case 'ArrowUp':
1361
+ this.onArrowUpKey(event, true);
1362
+ break;
1363
+ case 'ArrowLeft':
1364
+ case 'ArrowRight':
1365
+ this.onArrowLeftKey(event, true);
1366
+ break;
1367
+ case 'Home':
1368
+ this.onHomeKey(event, true);
1369
+ break;
1370
+ case 'End':
1371
+ this.onEndKey(event, true);
1372
+ break;
1373
+ case 'Enter':
1374
+ case 'NumpadEnter':
1375
+ this.onEnterKey(event);
1376
+ break;
1377
+ case 'Escape':
1378
+ this.onEscapeKey(event);
1379
+ break;
1380
+ case 'Tab':
1381
+ this.onTabKey(event, true);
1382
+ break;
1383
+ default:
1384
+ break;
1385
+ }
1386
+ }
1387
+ onArrowLeftKey(event, pressedInInputText = false) {
1388
+ pressedInInputText && this.focusedOptionIndex.set(-1);
1389
+ }
1390
+ onArrowDownKey(event) {
1391
+ const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();
1392
+ if (event.shiftKey) {
1393
+ this.onOptionSelectRange(event, this.startRangeIndex(), optionIndex);
1394
+ }
1395
+ this.changeFocusedOptionIndex(event, optionIndex);
1396
+ !this.overlayVisible() && this.show();
1397
+ event.preventDefault();
1398
+ event.stopPropagation();
1399
+ }
1400
+ onArrowUpKey(event, pressedInInputText = false) {
1401
+ if (event.altKey && !pressedInInputText) {
1402
+ if (this.focusedOptionIndex() !== -1) {
1403
+ this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);
1404
+ }
1405
+ this.overlayVisible() && this.hide();
1406
+ event.preventDefault();
1407
+ }
1408
+ else {
1409
+ const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.findLastFocusedOptionIndex();
1410
+ if (event.shiftKey) {
1411
+ this.onOptionSelectRange(event, optionIndex, this.startRangeIndex());
1412
+ }
1413
+ this.changeFocusedOptionIndex(event, optionIndex);
1414
+ !this.overlayVisible() && this.show();
1415
+ event.preventDefault();
1416
+ }
1417
+ event.stopPropagation();
1418
+ }
1419
+ onHomeKey(event, pressedInInputText = false) {
1420
+ const { currentTarget } = event;
1421
+ if (pressedInInputText) {
1422
+ const len = currentTarget.value.length;
1423
+ currentTarget.setSelectionRange(0, event.shiftKey ? len : 0);
1424
+ this.focusedOptionIndex.set(-1);
1425
+ }
1426
+ else {
1427
+ let metaKey = event.metaKey || event.ctrlKey;
1428
+ let optionIndex = this.findFirstOptionIndex();
1429
+ if (event.shiftKey && metaKey) {
1430
+ this.onOptionSelectRange(event, optionIndex, this.startRangeIndex());
1431
+ }
1432
+ this.changeFocusedOptionIndex(event, optionIndex);
1433
+ !this.overlayVisible() && this.show();
1434
+ }
1435
+ event.preventDefault();
1436
+ }
1437
+ onEndKey(event, pressedInInputText = false) {
1438
+ const { currentTarget } = event;
1439
+ if (pressedInInputText) {
1440
+ const len = currentTarget.value.length;
1441
+ currentTarget.setSelectionRange(event.shiftKey ? 0 : len, len);
1442
+ this.focusedOptionIndex.set(-1);
1443
+ }
1444
+ else {
1445
+ let metaKey = event.metaKey || event.ctrlKey;
1446
+ let optionIndex = this.findLastFocusedOptionIndex();
1447
+ if (event.shiftKey && metaKey) {
1448
+ this.onOptionSelectRange(event, this.startRangeIndex(), optionIndex);
1449
+ }
1450
+ this.changeFocusedOptionIndex(event, optionIndex);
1451
+ !this.overlayVisible() && this.show();
1452
+ }
1453
+ event.preventDefault();
1454
+ }
1455
+ onPageDownKey(event) {
1456
+ this.scrollInView(this.visibleOptions().length - 1);
1457
+ event.preventDefault();
1458
+ }
1459
+ onPageUpKey(event) {
1460
+ this.scrollInView(0);
1461
+ event.preventDefault();
1462
+ }
1463
+ onEnterKey(event) {
1464
+ if (!this.overlayVisible()) {
1465
+ this.onArrowDownKey(event);
1466
+ }
1467
+ else {
1468
+ if (this.focusedOptionIndex() !== -1) {
1469
+ if (event.shiftKey) {
1470
+ this.onOptionSelectRange(event, this.focusedOptionIndex());
1471
+ }
1472
+ else {
1473
+ this.onOptionSelect({ originalEvent: event, option: this.visibleOptions()[this.focusedOptionIndex()] });
1474
+ }
1475
+ }
1476
+ }
1477
+ event.preventDefault();
1478
+ }
1479
+ onEscapeKey(event) {
1480
+ if (this.overlayVisible()) {
1481
+ this.hide(true);
1482
+ event.stopPropagation();
1483
+ event.preventDefault();
1484
+ }
1485
+ }
1486
+ onTabKey(event, pressedInInputText = false) {
1487
+ if (!pressedInInputText) {
1488
+ const overlayVisible = this.overlayVisible();
1489
+ if (overlayVisible && this.hasFocusableElements()) {
1490
+ focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay()?.nativeElement : this.firstHiddenFocusableElementOnOverlay()?.nativeElement);
1491
+ event.preventDefault();
1492
+ }
1493
+ else {
1494
+ if (this.focusedOptionIndex() !== -1) {
1495
+ const option = this.visibleOptions()[this.focusedOptionIndex()];
1496
+ !this.isSelected(option) && this.onOptionSelect({ originalEvent: event, option });
1497
+ }
1498
+ overlayVisible && this.hide(this.filter());
1499
+ }
1500
+ }
1501
+ }
1502
+ onShiftKey() {
1503
+ this.startRangeIndex.set(this.focusedOptionIndex());
1504
+ }
1505
+ onContainerClick(event) {
1506
+ const focusInputViewChild = this.focusInputViewChild();
1507
+ if (this.$disabled() || this.loading() || this.readonly() || event.target?.isSameNode?.(focusInputViewChild?.nativeElement)) {
1508
+ return;
1509
+ }
1510
+ const overlayViewChild = this.overlayViewChild();
1511
+ if (!overlayViewChild || !overlayViewChild.el.nativeElement.contains(event.target)) {
1512
+ if (this.clickInProgress) {
1513
+ return;
1514
+ }
1515
+ this.clickInProgress = true;
1516
+ setTimeout(() => {
1517
+ this.clickInProgress = false;
1518
+ }, 150);
1519
+ this.overlayVisible() ? this.hide(true) : this.show(true);
1520
+ }
1521
+ focusInputViewChild?.nativeElement.focus({ preventScroll: true });
1522
+ this.onClick.emit(event);
1523
+ this.cd.detectChanges();
1524
+ }
1525
+ onFirstHiddenFocus(event) {
1526
+ const focusInputViewChild = this.focusInputViewChild();
1527
+ const focusableEl = event.relatedTarget === focusInputViewChild?.nativeElement ? getFirstFocusableElement(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ':not([data-p-hidden-focusable="true"])') : focusInputViewChild?.nativeElement;
1528
+ focus(focusableEl);
1529
+ }
1530
+ onInputFocus(event) {
1531
+ this.focused = true;
1532
+ const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.overlayVisible() && this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;
1533
+ this.focusedOptionIndex.set(focusedOptionIndex);
1534
+ this.overlayVisible() && this.scrollInView(this.focusedOptionIndex());
1535
+ this.onFocus.emit({ originalEvent: event });
1536
+ }
1537
+ onInputBlur(event) {
1538
+ this.focused = false;
1539
+ this.onBlur.emit({ originalEvent: event });
1540
+ if (!this.preventModelTouched) {
1541
+ this.onModelTouched();
1542
+ }
1543
+ this.preventModelTouched = false;
1544
+ }
1545
+ onFilterInputChange(event) {
1546
+ let value = event.target.value;
1547
+ this._filterValue.set(value);
1548
+ this.focusedOptionIndex.set(-1);
1549
+ this.onFilter.emit({ originalEvent: event, filter: this._filterValue() });
1550
+ !this.virtualScrollerDisabled && this.scroller()?.scrollToIndex(0);
1551
+ setTimeout(() => {
1552
+ this.overlayViewChild()?.alignOverlay();
1553
+ });
1554
+ }
1555
+ onLastHiddenFocus(event) {
1556
+ const focusInputViewChild = this.focusInputViewChild();
1557
+ const focusableEl = event.relatedTarget === focusInputViewChild?.nativeElement ? getLastFocusableElement(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ':not([data-p-hidden-focusable="true"])') : focusInputViewChild?.nativeElement;
1558
+ focus(focusableEl);
1559
+ }
1560
+ onOptionMouseEnter(event, index) {
1561
+ if (this.focusOnHover()) {
1562
+ this.changeFocusedOptionIndex(event, index);
1563
+ }
1564
+ }
1565
+ onFilterBlur() {
1566
+ this.focusedOptionIndex.set(-1);
1567
+ }
1568
+ onToggleAll(event) {
1569
+ if (this.$disabled() || this.readonly()) {
1570
+ return;
1571
+ }
1572
+ if (this.selectAll() != null) {
1573
+ this.onSelectAllChange.emit({
1574
+ originalEvent: event,
1575
+ checked: !this.allSelected()
1576
+ });
1577
+ }
1578
+ else {
1579
+ // pre-selected disabled options should always be selected.
1580
+ const selectedDisabledOptions = this.getAllVisibleAndNonVisibleOptions().filter((option) => {
1581
+ const optionDisabled = this.optionDisabled();
1582
+ return this.isSelected(option) && (optionDisabled ? resolveFieldData(option, optionDisabled) : option && option.disabled !== undefined ? option.disabled : false);
1583
+ });
1584
+ const visibleOptions = this.allSelected()
1585
+ ? this.visibleOptions().filter((option) => !this.isValidOption(option) && this.isSelected(option))
1586
+ : this.visibleOptions().filter((option) => this.isSelected(option) || this.isValidOption(option));
1587
+ const selectedOptionsBeforeSearch = this.filter() && !this.allSelected() ? this.getAllVisibleAndNonVisibleOptions().filter((option) => this.isSelected(option) && this.isValidOption(option)) : [];
1588
+ const optionValues = [...selectedOptionsBeforeSearch, ...selectedDisabledOptions, ...visibleOptions].map((option) => this.getOptionValue(option));
1589
+ const value = [...new Set(optionValues)];
1590
+ this.updateModel(value, event);
1591
+ // because onToggleAll could have been called during filtering, this additional test needs to be performed before calling onSelectAllChange.emit
1592
+ if (!value.length || value.length === this.getAllVisibleAndNonVisibleOptions().length) {
1593
+ this.onSelectAllChange.emit({
1594
+ originalEvent: event,
1595
+ checked: !!value.length
1596
+ });
1597
+ }
1598
+ }
1599
+ if (this.partialSelected()) {
1600
+ this.selectedOptions = [];
1601
+ this.cd.markForCheck();
1602
+ }
1603
+ this.onChange.emit({ originalEvent: event, value: this.value });
1604
+ DomHandler.focus(this.headerCheckboxViewChild()?.inputViewChild()?.nativeElement);
1605
+ this.headerCheckboxFocus = true;
1606
+ event.originalEvent.preventDefault();
1607
+ event.originalEvent.stopPropagation();
1608
+ }
1609
+ changeFocusedOptionIndex(event, index) {
1610
+ if (this.focusedOptionIndex() !== index) {
1611
+ this.focusedOptionIndex.set(index);
1612
+ this.scrollInView();
1613
+ }
1614
+ }
1615
+ get virtualScrollerDisabled() {
1616
+ return !this.virtualScroll();
1617
+ }
1618
+ scrollInView(index = -1) {
1619
+ const id = index !== -1 ? `${this.resolvedId}_${index}` : this.focusedOptionId;
1620
+ const itemsViewChild = this.itemsViewChild();
1621
+ if (itemsViewChild && itemsViewChild.nativeElement) {
1622
+ const element = findSingle(itemsViewChild.nativeElement, `li[id="${id}"]`);
1623
+ if (element) {
1624
+ element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });
1625
+ }
1626
+ else if (!this.virtualScrollerDisabled) {
1627
+ setTimeout(() => {
1628
+ this.virtualScroll() && this.scroller()?.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());
1629
+ }, 0);
1630
+ }
1631
+ }
1632
+ }
1633
+ get focusedOptionId() {
1634
+ return this.focusedOptionIndex() !== -1 ? `${this.resolvedId}_${this.focusedOptionIndex()}` : null;
1635
+ }
1636
+ allSelected() {
1637
+ return this.selectAll !== null ? this.selectAll : isNotEmpty(this.visibleOptions()) && this.visibleOptions().every((option) => this.isOptionGroup(option) || this.isOptionDisabled(option) || this.isSelected(option));
1638
+ }
1639
+ partialSelected() {
1640
+ return this.selectedOptions && this.selectedOptions.length > 0 && this.selectedOptions.length < (this._options()?.length || 0);
1641
+ }
1642
+ /**
1643
+ * Displays the panel.
1644
+ * @group Method
1645
+ */
1646
+ show(isFocus) {
1647
+ this.overlayVisible.set(true);
1648
+ const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : this.findSelectedOptionIndex();
1649
+ this.focusedOptionIndex.set(focusedOptionIndex);
1650
+ if (isFocus) {
1651
+ focus(this.focusInputViewChild()?.nativeElement);
1652
+ }
1653
+ this.cd.markForCheck();
1654
+ }
1655
+ /**
1656
+ * Hides the panel.
1657
+ * @group Method
1658
+ */
1659
+ hide(isFocus) {
1660
+ this.overlayVisible.set(false);
1661
+ this.focusedOptionIndex.set(-1);
1662
+ if (this.filter() && this.resetFilterOnHide()) {
1663
+ this.resetFilter();
1664
+ }
1665
+ if (this.overlayOptions()?.mode === 'modal') {
1666
+ unblockBodyScroll();
1667
+ }
1668
+ isFocus && focus(this.focusInputViewChild()?.nativeElement);
1669
+ this.cd.markForCheck();
1670
+ }
1671
+ onOverlayBeforeEnter(event) {
1672
+ this.itemsWrapper = findSingle(this.overlayViewChild()?.overlayViewChild()?.nativeElement, this.virtualScroll() ? '[data-pc-name="virtualscroller"]' : '[data-pc-section="listcontainer"]');
1673
+ this.virtualScroll() && this.scroller()?.setContentEl(this.itemsViewChild()?.nativeElement);
1674
+ if (this._options() && this._options().length) {
1675
+ if (this.virtualScroll()) {
1676
+ const selectedIndex = this.modelValue() ? this.focusedOptionIndex() : -1;
1677
+ if (selectedIndex !== -1) {
1678
+ this.scroller()?.scrollToIndex(selectedIndex);
1679
+ }
1680
+ }
1681
+ else {
1682
+ let selectedListItem = findSingle(this.itemsWrapper, '[data-pc-section="option"][data-p-selected="true"]');
1683
+ if (selectedListItem) {
1684
+ selectedListItem.scrollIntoView({ block: 'nearest', inline: 'nearest' });
1685
+ }
1686
+ }
1687
+ }
1688
+ const filterInputChild = this.filterInputChild();
1689
+ if (filterInputChild && filterInputChild.nativeElement) {
1690
+ this.preventModelTouched = true;
1691
+ if (this.autofocusFilter()) {
1692
+ filterInputChild.nativeElement.focus();
1693
+ }
1694
+ }
1695
+ this.onPanelShow.emit(event);
1696
+ }
1697
+ onOverlayAfterLeave(event) {
1698
+ this.itemsWrapper = null;
1699
+ this.onModelTouched();
1700
+ this.onPanelHide.emit(event);
1701
+ }
1702
+ resetFilter() {
1703
+ const filterInputChild = this.filterInputChild();
1704
+ if (filterInputChild && filterInputChild.nativeElement) {
1705
+ filterInputChild.nativeElement.value = '';
1706
+ }
1707
+ this._filterValue.set(null);
1708
+ this._filteredOptions = null;
1709
+ }
1710
+ onOverlayHide() {
1711
+ // Called when overlay completes its hide animation
1712
+ // Don't call hide() again to avoid recursive calls
1713
+ this.focusedOptionIndex.set(-1);
1714
+ if (this.filter() && this.resetFilterOnHide()) {
1715
+ this.resetFilter();
1716
+ }
1717
+ }
1718
+ close(event) {
1719
+ this.hide();
1720
+ event.preventDefault();
1721
+ event.stopPropagation();
1722
+ }
1723
+ clear(event) {
1724
+ this.value = [];
1725
+ this.updateModel(null, event);
1726
+ this.selectedOptions = [];
1727
+ this.onClear.emit();
1728
+ this._disableTooltip = true;
1729
+ event.stopPropagation();
1730
+ }
1731
+ labelContainerMouseLeave() {
1732
+ if (this._disableTooltip)
1733
+ this._disableTooltip = false;
1734
+ }
1735
+ removeOption(optionValue, event) {
1736
+ let value = this.modelValue().filter((val) => !equals(val, optionValue, this.equalityKey() || ''));
1737
+ this.updateModel(value, event);
1738
+ this.onChange.emit({
1739
+ originalEvent: event,
1740
+ value: value,
1741
+ itemValue: optionValue
1742
+ });
1743
+ this.onRemove.emit({
1744
+ newValue: value,
1745
+ removed: optionValue
1746
+ });
1747
+ event && event.stopPropagation();
1748
+ }
1749
+ findNextOptionIndex(index) {
1750
+ const matchedOptionIndex = index < this.visibleOptions().length - 1
1751
+ ? this.visibleOptions()
1752
+ .slice(index + 1)
1753
+ .findIndex((option) => this.isValidOption(option))
1754
+ : -1;
1755
+ return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;
1756
+ }
1757
+ findPrevOptionIndex(index) {
1758
+ const matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidOption(option)) : -1;
1759
+ return matchedOptionIndex > -1 ? matchedOptionIndex : index;
1760
+ }
1761
+ findLastSelectedOptionIndex() {
1762
+ return this.hasSelectedOption() ? findLastIndex(this.visibleOptions(), (option) => this.isValidSelectedOption(option)) : -1;
1763
+ }
1764
+ findLastFocusedOptionIndex() {
1765
+ const selectedIndex = this.findLastSelectedOptionIndex();
1766
+ return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;
1767
+ }
1768
+ findLastOptionIndex() {
1769
+ return findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));
1770
+ }
1771
+ searchOptions(event, char) {
1772
+ this.searchValue = (this.searchValue || '') + char;
1773
+ let optionIndex = -1;
1774
+ let matched = false;
1775
+ if (this.focusedOptionIndex() !== -1) {
1776
+ optionIndex = this.visibleOptions()
1777
+ .slice(this.focusedOptionIndex())
1778
+ .findIndex((option) => this.isOptionMatched(option));
1779
+ optionIndex =
1780
+ optionIndex === -1
1781
+ ? this.visibleOptions()
1782
+ .slice(0, this.focusedOptionIndex())
1783
+ .findIndex((option) => this.isOptionMatched(option))
1784
+ : optionIndex + this.focusedOptionIndex();
1785
+ }
1786
+ else {
1787
+ optionIndex = this.visibleOptions().findIndex((option) => this.isOptionMatched(option));
1788
+ }
1789
+ if (optionIndex !== -1) {
1790
+ matched = true;
1791
+ }
1792
+ if (optionIndex === -1 && this.focusedOptionIndex() === -1) {
1793
+ optionIndex = this.findFirstFocusedOptionIndex();
1794
+ }
1795
+ if (optionIndex !== -1) {
1796
+ this.changeFocusedOptionIndex(event, optionIndex);
1797
+ }
1798
+ if (this.searchTimeout) {
1799
+ clearTimeout(this.searchTimeout);
1800
+ }
1801
+ this.searchTimeout = setTimeout(() => {
1802
+ this.searchValue = '';
1803
+ this.searchTimeout = null;
1804
+ }, 500);
1805
+ return matched;
1806
+ }
1807
+ hasFocusableElements() {
1808
+ return getFocusableElements(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ':not([data-p-hidden-focusable="true"])').length > 0;
1809
+ }
1810
+ hasFilter() {
1811
+ return this._filterValue() && this._filterValue().trim().length > 0;
1812
+ }
1813
+ get containerDataP() {
1814
+ return this.cn({
1815
+ invalid: this.invalid(),
1816
+ disabled: this.$disabled(),
1817
+ focus: this.focused,
1818
+ fluid: this.hasFluid,
1819
+ filled: this.$variant() === 'filled',
1820
+ [this.size()]: this.size()
1821
+ });
1822
+ }
1823
+ get labelDataP() {
1824
+ return this.cn({
1825
+ placeholder: this.label() === this.placeholder(),
1826
+ clearable: this.showClear(),
1827
+ disabled: this.disabled,
1828
+ [this.size()]: this.size(),
1829
+ 'has-chip': this.display() === 'chip' && this.value && this.value.length && (this.maxSelectedLabels() ? this.value.length <= this.maxSelectedLabels() : true),
1830
+ empty: !this.placeholder() && !this.$filled
1831
+ });
1832
+ }
1833
+ get dropdownIconDataP() {
1834
+ return this.cn({
1835
+ [this.size()]: this.size()
1836
+ });
1837
+ }
1838
+ get overlayDataP() {
1839
+ return this.cn({
1840
+ ['overlay-' + this.appendTo]: 'overlay-' + this.appendTo
1841
+ });
1842
+ }
1843
+ /**
1844
+ * @override
1845
+ *
1846
+ * @see {@link BaseEditableHolder.writeControlValue}
1847
+ * Writes the value to the control.
1848
+ */
1849
+ writeControlValue(value, setModelValue) {
1850
+ this.value = value;
1851
+ setModelValue(value);
1852
+ this.cd.markForCheck();
1853
+ }
1854
+ getHeaderCheckboxPTOptions(key) {
1855
+ return this.ptm(key, {
1856
+ context: {
1857
+ selected: this.allSelected()
1858
+ }
1859
+ });
1860
+ }
1861
+ getPTOptions(option, itemOptions, index, key) {
1862
+ return this.ptm(key, {
1863
+ context: {
1864
+ selected: this.isSelected(option),
1865
+ focused: this.focusedOptionIndex() === this.getOptionIndex(index, itemOptions),
1866
+ disabled: this.isOptionDisabled(option)
1867
+ }
1868
+ });
1869
+ }
1870
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: MultiSelect, deps: [], target: i0.ɵɵFactoryTarget.Component });
1871
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: MultiSelect, isStandalone: true, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, panelStyle: { classPropertyName: "panelStyle", publicName: "panelStyle", isSignal: true, isRequired: false, transformFunction: null }, panelStyleClass: { classPropertyName: "panelStyleClass", publicName: "panelStyleClass", isSignal: true, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, group: { classPropertyName: "group", publicName: "group", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, filterPlaceHolder: { classPropertyName: "filterPlaceHolder", publicName: "filterPlaceHolder", isSignal: true, isRequired: false, transformFunction: null }, filterLocale: { classPropertyName: "filterLocale", publicName: "filterLocale", isSignal: true, isRequired: false, transformFunction: null }, overlayVisible: { classPropertyName: "overlayVisible", publicName: "overlayVisible", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, displaySelectedLabel: { classPropertyName: "displaySelectedLabel", publicName: "displaySelectedLabel", isSignal: true, isRequired: false, transformFunction: null }, maxSelectedLabels: { classPropertyName: "maxSelectedLabels", publicName: "maxSelectedLabels", isSignal: true, isRequired: false, transformFunction: null }, selectionLimit: { classPropertyName: "selectionLimit", publicName: "selectionLimit", isSignal: true, isRequired: false, transformFunction: null }, selectedItemsLabel: { classPropertyName: "selectedItemsLabel", publicName: "selectedItemsLabel", isSignal: true, isRequired: false, transformFunction: null }, showToggleAll: { classPropertyName: "showToggleAll", publicName: "showToggleAll", isSignal: true, isRequired: false, transformFunction: null }, emptyFilterMessage: { classPropertyName: "emptyFilterMessage", publicName: "emptyFilterMessage", isSignal: true, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", isSignal: true, isRequired: false, transformFunction: null }, resetFilterOnHide: { classPropertyName: "resetFilterOnHide", publicName: "resetFilterOnHide", isSignal: true, isRequired: false, transformFunction: null }, dropdownIcon: { classPropertyName: "dropdownIcon", publicName: "dropdownIcon", isSignal: true, isRequired: false, transformFunction: null }, chipIcon: { classPropertyName: "chipIcon", publicName: "chipIcon", isSignal: true, isRequired: false, transformFunction: null }, optionLabel: { classPropertyName: "optionLabel", publicName: "optionLabel", isSignal: true, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: true, isRequired: false, transformFunction: null }, optionDisabled: { classPropertyName: "optionDisabled", publicName: "optionDisabled", isSignal: true, isRequired: false, transformFunction: null }, optionGroupLabel: { classPropertyName: "optionGroupLabel", publicName: "optionGroupLabel", isSignal: true, isRequired: false, transformFunction: null }, optionGroupChildren: { classPropertyName: "optionGroupChildren", publicName: "optionGroupChildren", isSignal: true, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: true, isRequired: false, transformFunction: null }, filterBy: { classPropertyName: "filterBy", publicName: "filterBy", isSignal: true, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: true, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: true, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: true, isRequired: false, transformFunction: null }, loadingIcon: { classPropertyName: "loadingIcon", publicName: "loadingIcon", isSignal: true, isRequired: false, transformFunction: null }, virtualScrollOptions: { classPropertyName: "virtualScrollOptions", publicName: "virtualScrollOptions", isSignal: true, isRequired: false, transformFunction: null }, overlayOptions: { classPropertyName: "overlayOptions", publicName: "overlayOptions", isSignal: true, isRequired: false, transformFunction: null }, ariaFilterLabel: { classPropertyName: "ariaFilterLabel", publicName: "ariaFilterLabel", isSignal: true, isRequired: false, transformFunction: null }, filterMatchMode: { classPropertyName: "filterMatchMode", publicName: "filterMatchMode", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, tooltipPositionStyle: { classPropertyName: "tooltipPositionStyle", publicName: "tooltipPositionStyle", isSignal: true, isRequired: false, transformFunction: null }, tooltipStyleClass: { classPropertyName: "tooltipStyleClass", publicName: "tooltipStyleClass", isSignal: true, isRequired: false, transformFunction: null }, autofocusFilter: { classPropertyName: "autofocusFilter", publicName: "autofocusFilter", isSignal: true, isRequired: false, transformFunction: null }, display: { classPropertyName: "display", publicName: "display", isSignal: true, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: true, isRequired: false, transformFunction: null }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: true, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, filterValue: { classPropertyName: "filterValue", publicName: "filterValue", isSignal: true, isRequired: false, transformFunction: null }, selectAll: { classPropertyName: "selectAll", publicName: "selectAll", isSignal: true, isRequired: false, transformFunction: null }, focusOnHover: { classPropertyName: "focusOnHover", publicName: "focusOnHover", isSignal: true, isRequired: false, transformFunction: null }, filterFields: { classPropertyName: "filterFields", publicName: "filterFields", isSignal: true, isRequired: false, transformFunction: null }, selectOnFocus: { classPropertyName: "selectOnFocus", publicName: "selectOnFocus", isSignal: true, isRequired: false, transformFunction: null }, autoOptionFocus: { classPropertyName: "autoOptionFocus", publicName: "autoOptionFocus", isSignal: true, isRequired: false, transformFunction: null }, highlightOnSelect: { classPropertyName: "highlightOnSelect", publicName: "highlightOnSelect", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null }, motionOptions: { classPropertyName: "motionOptions", publicName: "motionOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { overlayVisible: "overlayVisibleChange", onChange: "onChange", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onClick: "onClick", onClear: "onClear", onPanelShow: "onPanelShow", onPanelHide: "onPanelHide", onLazyLoad: "onLazyLoad", onRemove: "onRemove", onSelectAllChange: "onSelectAllChange" }, host: { listeners: { "click": "onContainerClick($event)" }, properties: { "attr.id": "resolvedId", "attr.data-p": "containerDataP", "class": "cn(cx('root'), styleClass())", "style": "sx('root')" } }, providers: [MULTISELECT_VALUE_ACCESSOR, MultiSelectStyle, { provide: MULTISELECT_INSTANCE, useExisting: MultiSelect }, { provide: PARENT_INSTANCE, useExisting: MultiSelect }], queries: [{ propertyName: "footerFacet", first: true, predicate: Footer, descendants: true, isSignal: true }, { propertyName: "headerFacet", first: true, predicate: Header, descendants: true, isSignal: true }, { propertyName: "itemTemplate", first: true, predicate: ["item"], isSignal: true }, { propertyName: "headerTemplate", first: true, predicate: ["header"], isSignal: true }, { propertyName: "emptyFilterTemplate", first: true, predicate: ["emptyfilter"], isSignal: true }, { propertyName: "emptyTemplate", first: true, predicate: ["empty"], isSignal: true }, { propertyName: "itemCheckboxIconTemplate", first: true, predicate: ["itemcheckboxicon"], isSignal: true }, { propertyName: "headerCheckboxIconTemplate", first: true, predicate: ["headercheckboxicon"], isSignal: true }, { propertyName: "templates", predicate: PrimeTemplate, isSignal: true }, { propertyName: "groupTemplate", first: true, predicate: ["group"] }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"] }, { propertyName: "filterTemplate", first: true, predicate: ["filter"] }, { propertyName: "footerTemplate", first: true, predicate: ["footer"] }, { propertyName: "selectedItemsTemplate", first: true, predicate: ["selecteditems"] }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"] }, { propertyName: "filterIconTemplate", first: true, predicate: ["filtericon"] }, { propertyName: "removeTokenIconTemplate", first: true, predicate: ["removetokenicon"] }, { propertyName: "chipIconTemplate", first: true, predicate: ["chipicon"] }, { propertyName: "clearIconTemplate", first: true, predicate: ["clearicon"] }, { propertyName: "dropdownIconTemplate", first: true, predicate: ["dropdownicon"] }], viewQueries: [{ propertyName: "overlayViewChild", first: true, predicate: ["overlay"], descendants: true, isSignal: true }, { propertyName: "filterInputChild", first: true, predicate: ["filterInput"], descendants: true, isSignal: true }, { propertyName: "focusInputViewChild", first: true, predicate: ["focusInput"], descendants: true, isSignal: true }, { propertyName: "itemsViewChild", first: true, predicate: ["items"], descendants: true, isSignal: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true, isSignal: true }, { propertyName: "lastHiddenFocusableElementOnOverlay", first: true, predicate: ["lastHiddenFocusableEl"], descendants: true, isSignal: true }, { propertyName: "firstHiddenFocusableElementOnOverlay", first: true, predicate: ["firstHiddenFocusableEl"], descendants: true, isSignal: true }, { propertyName: "headerCheckboxViewChild", first: true, predicate: ["headerCheckbox"], descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i3.Bind }], ngImport: i0, template: `
1872
+ <div class="p-hidden-accessible" [attr.data-p-hidden-accessible]="true" [pBind]="ptm('hiddenInputContainer')">
1873
+ <input
1874
+ #focusInput
1875
+ [pTooltip]="tooltip()"
1876
+ [pTooltipUnstyled]="unstyled()"
1877
+ [tooltipPosition]="tooltipPosition()"
1878
+ [positionStyle]="tooltipPositionStyle()"
1879
+ [tooltipStyleClass]="tooltipStyleClass()"
1880
+ [attr.aria-disabled]="$disabled()"
1881
+ [attr.id]="inputId()"
1882
+ role="combobox"
1883
+ [attr.aria-label]="ariaLabel()"
1884
+ [attr.aria-labelledby]="ariaLabelledBy()"
1885
+ [attr.aria-haspopup]="'listbox'"
1886
+ [attr.aria-expanded]="overlayVisible() ?? false"
1887
+ [attr.aria-controls]="overlayVisible() ? id() + '_list' : null"
1888
+ [attr.tabindex]="!$disabled() ? tabindex() : -1"
1889
+ [attr.aria-activedescendant]="focused ? focusedOptionId : undefined"
1890
+ (focus)="onInputFocus($event)"
1891
+ (blur)="onInputBlur($event)"
1892
+ (keydown)="onKeyDown($event)"
1893
+ [pAutoFocus]="autofocus()"
1894
+ [attr.value]="modelValue()"
1895
+ [attr.name]="name()"
1896
+ [attr.required]="required() ? '' : undefined"
1897
+ [attr.disabled]="$disabled() ? '' : undefined"
1898
+ [pBind]="ptm('hiddenInput')"
1899
+ />
1900
+ </div>
1901
+ <div
1902
+ [pBind]="ptm('labelContainer')"
1903
+ [class]="cx('labelContainer')"
1904
+ [pTooltip]="tooltip()"
1905
+ [pTooltipUnstyled]="unstyled()"
1906
+ (mouseleave)="labelContainerMouseLeave()"
1907
+ [tooltipDisabled]="_disableTooltip"
1908
+ [tooltipPosition]="tooltipPosition()"
1909
+ [positionStyle]="tooltipPositionStyle()"
1910
+ [tooltipStyleClass]="tooltipStyleClass()"
1911
+ >
1912
+ <div [pBind]="ptm('label')" [class]="cx('label')" [attr.data-p]="labelDataP">
1913
+ @if (!selectedItemsTemplate && !_selectedItemsTemplate) {
1914
+ @if (display() === 'comma') {
1915
+ <ng-container>{{ label() || 'empty' }}</ng-container>
1916
+ }
1917
+ @if (display() === 'chip') {
1918
+ @if (chipSelectedItems() && chipSelectedItems().length === maxSelectedLabels) {
1919
+ {{ getSelectedItemsLabel() }}
1920
+ } @else {
1921
+ @for (item of chipSelectedItems(); track item; let i = $index) {
1922
+ <div #token [pBind]="ptm('chipItem')" [class]="cx('chipItem')">
1923
+ <p-chip
1924
+ [pt]="ptm('pcChip')"
1925
+ [unstyled]="unstyled()"
1926
+ [class]="cx('pcChip')"
1927
+ [label]="getLabelByValue(item)"
1928
+ [removable]="!$disabled() && !readonly()"
1929
+ (onRemove)="removeOption(item, $event)"
1930
+ [removeIcon]="chipIcon()"
1931
+ >
1932
+ @if (chipIconTemplate || _chipIconTemplate || removeTokenIconTemplate || _removeTokenIconTemplate) {
1933
+ <ng-template #removeicon>
1934
+ @if (!$disabled() && !readonly()) {
1935
+ <span [class]="cx('chipIcon')" (click)="removeOption(item, $event)" [attr.aria-hidden]="true" [pBind]="ptm('chipIcon')">
1936
+ <ng-container *ngTemplateOutlet="chipIconTemplate || _chipIconTemplate || removeTokenIconTemplate || _removeTokenIconTemplate; context: { class: 'p-multiselect-chip-icon' }"></ng-container>
1937
+ </span>
1938
+ }
1939
+ </ng-template>
1940
+ }
1941
+ </p-chip>
1942
+ </div>
1943
+ }
1944
+ }
1945
+ @if (!modelValue() || modelValue().length === 0) {
1946
+ <ng-container>{{ placeholder() || 'empty' }}</ng-container>
1947
+ }
1948
+ }
1949
+ }
1950
+ @if (selectedItemsTemplate || _selectedItemsTemplate) {
1951
+ <ng-container *ngTemplateOutlet="selectedItemsTemplate || _selectedItemsTemplate; context: { $implicit: selectedOptions, removeChip: removeOption.bind(this) }"></ng-container>
1952
+ @if (!modelValue() || modelValue().length === 0) {
1953
+ <ng-container>{{ placeholder() || 'empty' }}</ng-container>
1954
+ }
1955
+ }
1956
+ </div>
1957
+ </div>
1958
+ @if (isVisibleClearIcon) {
1959
+ <ng-container>
1960
+ @if (!clearIconTemplate && !_clearIconTemplate) {
1961
+ <svg data-p-icon="times" [pBind]="ptm('clearIcon')" [class]="cx('clearIcon')" (click)="clear($event)" [attr.aria-hidden]="true" />
1962
+ }
1963
+ @if (clearIconTemplate || _clearIconTemplate) {
1964
+ <span [pBind]="ptm('clearIcon')" [class]="cx('clearIcon')" (click)="clear($event)" [attr.aria-hidden]="true">
1965
+ <ng-template *ngTemplateOutlet="clearIconTemplate || _clearIconTemplate"></ng-template>
1966
+ </span>
1967
+ }
1968
+ </ng-container>
1969
+ }
1970
+ <div [pBind]="ptm('dropdown')" [class]="cx('dropdown')">
1971
+ @if (loading()) {
1972
+ <ng-container>
1973
+ @if (loadingIconTemplate || _loadingIconTemplate) {
1974
+ <ng-container *ngTemplateOutlet="loadingIconTemplate || _loadingIconTemplate"></ng-container>
1975
+ }
1976
+ @if (!loadingIconTemplate && !_loadingIconTemplate) {
1977
+ <ng-container>
1978
+ @if (loadingIcon()) {
1979
+ <span [pBind]="ptm('loadingIcon')" [class]="cn(cx('loadingIcon'), 'pi-spin ' + loadingIcon())" [attr.aria-hidden]="true"></span>
1980
+ }
1981
+ @if (!loadingIcon()) {
1982
+ <span [pBind]="ptm('loadingIcon')" [class]="cn(cx('loadingIcon'), 'pi pi-spinner pi-spin')" [attr.aria-hidden]="true"></span>
1983
+ }
1984
+ </ng-container>
1985
+ }
1986
+ </ng-container>
1987
+ } @else {
1988
+ @if (!dropdownIconTemplate && !_dropdownIconTemplate) {
1989
+ <ng-container>
1990
+ @if (dropdownIcon()) {
1991
+ <span [pBind]="ptm('dropdownIcon')" [class]="cx('dropdownIcon')" [ngClass]="dropdownIcon()" [attr.aria-hidden]="true" [attr.data-p]="dropdownIconDataP"></span>
1992
+ }
1993
+ @if (!dropdownIcon()) {
1994
+ <svg data-p-icon="chevron-down" [pBind]="ptm('dropdownIcon')" [class]="cx('dropdownIcon')" [attr.aria-hidden]="true" [attr.data-p]="dropdownIconDataP" />
1995
+ }
1996
+ </ng-container>
1997
+ }
1998
+ @if (dropdownIconTemplate || _dropdownIconTemplate) {
1999
+ <span [pBind]="ptm('dropdownIcon')" [class]="cx('dropdownIcon')" [attr.aria-hidden]="true">
2000
+ <ng-template *ngTemplateOutlet="dropdownIconTemplate || _dropdownIconTemplate; context: { dataP: dropdownIconDataP }"></ng-template>
2001
+ </span>
2002
+ }
2003
+ }
2004
+ </div>
2005
+ <p-overlay
2006
+ #overlay
2007
+ [hostAttrSelector]="$attrSelector"
2008
+ [visible]="overlayVisible()"
2009
+ (visibleChange)="overlayVisible.set($event)"
2010
+ [options]="overlayOptions()"
2011
+ [target]="'@parent'"
2012
+ [appendTo]="$appendTo()"
2013
+ [unstyled]="unstyled()"
2014
+ [pt]="ptm('pcOverlay')"
2015
+ [motionOptions]="motionOptions()"
2016
+ (onBeforeEnter)="onOverlayBeforeEnter($event)"
2017
+ (onAfterLeave)="onOverlayAfterLeave($event)"
2018
+ (onHide)="onOverlayHide()"
2019
+ >
2020
+ <ng-template #content>
2021
+ <div [pBind]="ptm('overlay')" [attr.data-p]="overlayDataP" [attr.id]="id() + '_list'" [class]="cn(cx('overlay'), panelStyleClass())" [ngStyle]="panelStyle()">
2022
+ <span
2023
+ #firstHiddenFocusableEl
2024
+ role="presentation"
2025
+ class="p-hidden-accessible p-hidden-focusable"
2026
+ [attr.tabindex]="0"
2027
+ (focus)="onFirstHiddenFocus($event)"
2028
+ [attr.data-p-hidden-accessible]="true"
2029
+ [attr.data-p-hidden-focusable]="true"
2030
+ [pBind]="ptm('firstHiddenFocusableEl')"
2031
+ >
2032
+ </span>
2033
+ <ng-container *ngTemplateOutlet="headerTemplate() || _headerTemplate"></ng-container>
2034
+ @if (showHeader()) {
2035
+ <div [pBind]="ptm('header')" [class]="cx('header')">
2036
+ <ng-content select="p-header"></ng-content>
2037
+ @if (filterTemplate || _filterTemplate) {
2038
+ <ng-container *ngTemplateOutlet="filterTemplate || _filterTemplate; context: { options: filterOptions }"></ng-container>
2039
+ } @else {
2040
+ @if (showToggleAll() && !selectionLimit()) {
2041
+ <p-checkbox
2042
+ [pt]="getHeaderCheckboxPTOptions('pcHeaderCheckbox')"
2043
+ [ngModel]="allSelected()"
2044
+ [ariaLabel]="toggleAllAriaLabel"
2045
+ [binary]="true"
2046
+ (onChange)="onToggleAll($event)"
2047
+ [variant]="$variant()"
2048
+ [disabled]="$disabled()"
2049
+ [unstyled]="unstyled()"
2050
+ #headerCheckbox
2051
+ >
2052
+ <ng-template #icon let-klass="class">
2053
+ @if (!headerCheckboxIconTemplate() && !_headerCheckboxIconTemplate && allSelected()) {
2054
+ <svg data-p-icon="check" [class]="klass" [pBind]="getHeaderCheckboxPTOptions('pcHeaderCheckbox.icon')" />
2055
+ }
2056
+ <ng-template
2057
+ *ngTemplateOutlet="
2058
+ headerCheckboxIconTemplate() || _headerCheckboxIconTemplate;
2059
+ context: {
2060
+ checked: allSelected(),
2061
+ partialSelected: partialSelected(),
2062
+ class: klass
2063
+ }
2064
+ "
2065
+ ></ng-template>
2066
+ </ng-template>
2067
+ </p-checkbox>
2068
+ }
2069
+
2070
+ @if (filter()) {
2071
+ <p-iconfield [pt]="ptm('pcFilterContainer')" [class]="cx('pcFilterContainer')" [unstyled]="unstyled()">
2072
+ <input
2073
+ #filterInput
2074
+ pInputText
2075
+ [pt]="ptm('pcFilter')"
2076
+ [variant]="$variant()"
2077
+ type="text"
2078
+ [attr.autocomplete]="autocomplete()"
2079
+ role="searchbox"
2080
+ [attr.aria-owns]="id() + '_list'"
2081
+ [attr.aria-activedescendant]="focusedOptionId"
2082
+ [value]="_filterValue() || ''"
2083
+ (input)="onFilterInputChange($event)"
2084
+ (keydown)="onFilterKeyDown($event)"
2085
+ (click)="onInputClick($event)"
2086
+ (blur)="onFilterBlur($event)"
2087
+ [class]="cx('pcFilter')"
2088
+ [attr.disabled]="$disabled() ? '' : undefined"
2089
+ [attr.placeholder]="filterPlaceHolder()"
2090
+ [attr.aria-label]="ariaFilterLabel()"
2091
+ [unstyled]="unstyled()"
2092
+ />
2093
+ <p-inputicon [pt]="ptm('pcFilterIconContainer')" [unstyled]="unstyled()">
2094
+ @if (!filterIconTemplate && !_filterIconTemplate) {
2095
+ <svg data-p-icon="search" [pBind]="ptm('filterIcon')" />
2096
+ }
2097
+ @if (filterIconTemplate || _filterIconTemplate) {
2098
+ <span [pBind]="ptm('filterIcon')" class="p-multiselect-filter-icon">
2099
+ <ng-template *ngTemplateOutlet="filterIconTemplate || _filterIconTemplate"></ng-template>
2100
+ </span>
2101
+ }
2102
+ </p-inputicon>
2103
+ </p-iconfield>
2104
+ }
2105
+ }
2106
+ </div>
2107
+ }
2108
+ <div [pBind]="ptm('listContainer')" [class]="cx('listContainer')" [style.max-height]="virtualScroll() ? 'auto' : scrollHeight() || 'auto'">
2109
+ @if (virtualScroll()) {
2110
+ <p-scroller
2111
+ #scroller
2112
+ [items]="visibleOptions()"
2113
+ [style]="{ height: scrollHeight() }"
2114
+ [itemSize]="virtualScrollItemSize()"
2115
+ [autoSize]="true"
2116
+ [tabindex]="-1"
2117
+ [lazy]="lazy()"
2118
+ (onLazyLoad)="onLazyLoad.emit($event)"
2119
+ [options]="virtualScrollOptions()"
2120
+ >
2121
+ <ng-template #content let-items let-scrollerOptions="options">
2122
+ <ng-container *ngTemplateOutlet="buildInItems; context: { $implicit: items, options: scrollerOptions }"></ng-container>
2123
+ </ng-template>
2124
+ @if (loaderTemplate || _loaderTemplate) {
2125
+ <ng-template #loader let-scrollerOptions="options">
2126
+ <ng-container *ngTemplateOutlet="loaderTemplate || _loaderTemplate; context: { options: scrollerOptions }"></ng-container>
2127
+ </ng-template>
2128
+ }
2129
+ </p-scroller>
2130
+ }
2131
+ @if (!virtualScroll()) {
2132
+ <ng-container *ngTemplateOutlet="buildInItems; context: { $implicit: visibleOptions(), options: {} }"></ng-container>
2133
+ }
2134
+
2135
+ <ng-template #buildInItems let-items let-scrollerOptions="options">
2136
+ <ul #items [pBind]="ptm('list')" [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox" aria-multiselectable="true" [attr.aria-label]="listLabel">
2137
+ @for (option of items; track option; let i = $index) {
2138
+ @if (isOptionGroup(option)) {
2139
+ <li [pBind]="ptm('optionGroup')" [attr.id]="id() + '_' + getOptionIndex(i, scrollerOptions)" [class]="cx('optionGroup')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
2140
+ @if (!groupTemplate && option.optionGroup) {
2141
+ <span>{{ getOptionGroupLabel(option.optionGroup) }}</span>
2142
+ }
2143
+ @if (option.optionGroup && groupTemplate) {
2144
+ <ng-container [ngTemplateOutlet]="groupTemplate" [ngTemplateOutletContext]="{ $implicit: option.optionGroup }"></ng-container>
2145
+ }
2146
+ </li>
2147
+ }
2148
+ @if (!isOptionGroup(option)) {
2149
+ <li
2150
+ pMultiSelectItem
2151
+ pRipple
2152
+ [pBind]="getPTOptions(option, getItemOptions, i, 'option')"
2153
+ [id]="id() + '_' + getOptionIndex(i, scrollerOptions)"
2154
+ [option]="option"
2155
+ [selected]="isSelected(option)"
2156
+ [label]="getOptionLabel(option)"
2157
+ [disabled]="isOptionDisabled(option)"
2158
+ [template]="itemTemplate() || _itemTemplate"
2159
+ [itemCheckboxIconTemplate]="itemCheckboxIconTemplate() || _itemCheckboxIconTemplate"
2160
+ [itemSize]="scrollerOptions.itemSize"
2161
+ [focused]="focusedOptionIndex() === getOptionIndex(i, scrollerOptions)"
2162
+ [ariaPosInset]="getAriaPosInset(getOptionIndex(i, scrollerOptions))"
2163
+ [ariaSetSize]="ariaSetSize"
2164
+ [variant]="$variant()"
2165
+ [highlightOnSelect]="highlightOnSelect()"
2166
+ (onClick)="onOptionSelect($event, false, getOptionIndex(i, scrollerOptions))"
2167
+ (onMouseEnter)="onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))"
2168
+ [pt]="pt"
2169
+ [unstyled]="unstyled()"
2170
+ ></li>
2171
+ }
2172
+ }
2173
+
2174
+ @if (hasFilter() && isEmpty()) {
2175
+ <li [pBind]="ptm('emptyMessage')" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
2176
+ @if (!emptyFilterTemplate() && !_emptyFilterTemplate && !emptyTemplate() && !_emptyTemplate) {
2177
+ {{ emptyFilterMessageLabel }}
2178
+ } @else {
2179
+ <ng-container *ngTemplateOutlet="emptyFilterTemplate() || _emptyFilterTemplate || emptyTemplate() || _emptyFilterTemplate"></ng-container>
2180
+ }
2181
+ </li>
2182
+ }
2183
+ @if (!hasFilter() && isEmpty()) {
2184
+ <li [pBind]="ptm('emptyMessage')" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
2185
+ @if (!emptyTemplate() && !_emptyTemplate) {
2186
+ {{ emptyMessageLabel }}
2187
+ } @else {
2188
+ <ng-container *ngTemplateOutlet="emptyTemplate() || _emptyTemplate"></ng-container>
2189
+ }
2190
+ </li>
2191
+ }
2192
+ </ul>
2193
+ </ng-template>
2194
+ </div>
2195
+ @if (footerFacet() || footerTemplate || _footerTemplate) {
2196
+ <div>
2197
+ <ng-content select="p-footer"></ng-content>
2198
+ <ng-container *ngTemplateOutlet="footerTemplate || _footerTemplate"></ng-container>
2199
+ </div>
2200
+ }
2201
+
2202
+ <span
2203
+ #lastHiddenFocusableEl
2204
+ role="presentation"
2205
+ class="p-hidden-accessible p-hidden-focusable"
2206
+ [attr.tabindex]="0"
2207
+ (focus)="onLastHiddenFocus($event)"
2208
+ [attr.data-p-hidden-accessible]="true"
2209
+ [attr.data-p-hidden-focusable]="true"
2210
+ [pBind]="ptm('lastHiddenFocusableEl')"
2211
+ ></span>
2212
+ </div>
2213
+ </ng-template>
2214
+ </p-overlay>
2215
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: MultiSelectItem, selector: "li[pMultiSelectItem]", inputs: ["option", "selected", "label", "disabled", "itemSize", "focused", "ariaPosInset", "ariaSetSize", "variant", "template", "checkIconTemplate", "itemCheckboxIconTemplate", "highlightOnSelect"], outputs: ["onClick", "onMouseEnter"] }, { kind: "component", type: Overlay, selector: "p-overlay", inputs: ["hostName", "visible", "mode", "style", "styleClass", "contentStyle", "contentStyleClass", "target", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "listener", "responsive", "options", "appendTo", "inline", "motionOptions", "hostAttrSelector"], outputs: ["visibleChange", "onBeforeShow", "onShow", "onBeforeHide", "onHide", "onAnimationStart", "onAnimationDone", "onBeforeEnter", "onEnter", "onAfterEnter", "onBeforeLeave", "onLeave", "onAfterLeave"] }, { kind: "ngmodule", type: SharedModule }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "showOnEllipsis", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip", "pTooltipPT", "pTooltipUnstyled"] }, { kind: "component", type: Scroller, selector: "p-scroller, p-virtualscroller, p-virtual-scroller, p-virtualScroller", inputs: ["hostName", "id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "step", "delay", "resizeDelay", "appendOnly", "inline", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "directive", type: AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { kind: "component", type: CheckIcon, selector: "[data-p-icon=\"check\"]" }, { kind: "component", type: SearchIcon, selector: "[data-p-icon=\"search\"]" }, { kind: "component", type: TimesIcon, selector: "[data-p-icon=\"times\"]" }, { kind: "component", type: ChevronDownIcon, selector: "[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: IconField, selector: "p-iconfield, p-iconField, p-icon-field", inputs: ["hostName", "iconPosition", "styleClass"] }, { kind: "component", type: InputIcon, selector: "p-inputicon, p-inputIcon", inputs: ["hostName", "styleClass"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pInputTextPT", "pInputTextUnstyled", "pSize", "variant", "fluid", "invalid"] }, { kind: "component", type: Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "styleClass", "disabled", "removable", "removeIcon", "chipProps"], outputs: ["onRemove", "onImageError"] }, { kind: "component", type: Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["hostName", "value", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "inputStyle", "styleClass", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "autofocus", "trueValue", "falseValue", "variant", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: BindModule }, { kind: "directive", type: i3.Bind, selector: "[pBind]", inputs: ["pBind"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2216
+ }
2217
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: MultiSelect, decorators: [{
2218
+ type: Component,
2219
+ args: [{
2220
+ selector: 'p-multiSelect, p-multiselect, p-multi-select',
2221
+ standalone: true,
2222
+ imports: [CommonModule, MultiSelectItem, Overlay, SharedModule, Tooltip, Scroller, AutoFocus, CheckIcon, SearchIcon, TimesIcon, ChevronDownIcon, IconField, InputIcon, InputText, Chip, Checkbox, FormsModule, BindModule],
2223
+ hostDirectives: [Bind],
2224
+ template: `
2225
+ <div class="p-hidden-accessible" [attr.data-p-hidden-accessible]="true" [pBind]="ptm('hiddenInputContainer')">
2226
+ <input
2227
+ #focusInput
2228
+ [pTooltip]="tooltip()"
2229
+ [pTooltipUnstyled]="unstyled()"
2230
+ [tooltipPosition]="tooltipPosition()"
2231
+ [positionStyle]="tooltipPositionStyle()"
2232
+ [tooltipStyleClass]="tooltipStyleClass()"
2233
+ [attr.aria-disabled]="$disabled()"
2234
+ [attr.id]="inputId()"
2235
+ role="combobox"
2236
+ [attr.aria-label]="ariaLabel()"
2237
+ [attr.aria-labelledby]="ariaLabelledBy()"
2238
+ [attr.aria-haspopup]="'listbox'"
2239
+ [attr.aria-expanded]="overlayVisible() ?? false"
2240
+ [attr.aria-controls]="overlayVisible() ? id() + '_list' : null"
2241
+ [attr.tabindex]="!$disabled() ? tabindex() : -1"
2242
+ [attr.aria-activedescendant]="focused ? focusedOptionId : undefined"
2243
+ (focus)="onInputFocus($event)"
2244
+ (blur)="onInputBlur($event)"
2245
+ (keydown)="onKeyDown($event)"
2246
+ [pAutoFocus]="autofocus()"
2247
+ [attr.value]="modelValue()"
2248
+ [attr.name]="name()"
2249
+ [attr.required]="required() ? '' : undefined"
2250
+ [attr.disabled]="$disabled() ? '' : undefined"
2251
+ [pBind]="ptm('hiddenInput')"
2252
+ />
2253
+ </div>
2254
+ <div
2255
+ [pBind]="ptm('labelContainer')"
2256
+ [class]="cx('labelContainer')"
2257
+ [pTooltip]="tooltip()"
2258
+ [pTooltipUnstyled]="unstyled()"
2259
+ (mouseleave)="labelContainerMouseLeave()"
2260
+ [tooltipDisabled]="_disableTooltip"
2261
+ [tooltipPosition]="tooltipPosition()"
2262
+ [positionStyle]="tooltipPositionStyle()"
2263
+ [tooltipStyleClass]="tooltipStyleClass()"
2264
+ >
2265
+ <div [pBind]="ptm('label')" [class]="cx('label')" [attr.data-p]="labelDataP">
2266
+ @if (!selectedItemsTemplate && !_selectedItemsTemplate) {
2267
+ @if (display() === 'comma') {
2268
+ <ng-container>{{ label() || 'empty' }}</ng-container>
2269
+ }
2270
+ @if (display() === 'chip') {
2271
+ @if (chipSelectedItems() && chipSelectedItems().length === maxSelectedLabels) {
2272
+ {{ getSelectedItemsLabel() }}
2273
+ } @else {
2274
+ @for (item of chipSelectedItems(); track item; let i = $index) {
2275
+ <div #token [pBind]="ptm('chipItem')" [class]="cx('chipItem')">
2276
+ <p-chip
2277
+ [pt]="ptm('pcChip')"
2278
+ [unstyled]="unstyled()"
2279
+ [class]="cx('pcChip')"
2280
+ [label]="getLabelByValue(item)"
2281
+ [removable]="!$disabled() && !readonly()"
2282
+ (onRemove)="removeOption(item, $event)"
2283
+ [removeIcon]="chipIcon()"
2284
+ >
2285
+ @if (chipIconTemplate || _chipIconTemplate || removeTokenIconTemplate || _removeTokenIconTemplate) {
2286
+ <ng-template #removeicon>
2287
+ @if (!$disabled() && !readonly()) {
2288
+ <span [class]="cx('chipIcon')" (click)="removeOption(item, $event)" [attr.aria-hidden]="true" [pBind]="ptm('chipIcon')">
2289
+ <ng-container *ngTemplateOutlet="chipIconTemplate || _chipIconTemplate || removeTokenIconTemplate || _removeTokenIconTemplate; context: { class: 'p-multiselect-chip-icon' }"></ng-container>
2290
+ </span>
2291
+ }
2292
+ </ng-template>
2293
+ }
2294
+ </p-chip>
2295
+ </div>
2296
+ }
2297
+ }
2298
+ @if (!modelValue() || modelValue().length === 0) {
2299
+ <ng-container>{{ placeholder() || 'empty' }}</ng-container>
2300
+ }
2301
+ }
2302
+ }
2303
+ @if (selectedItemsTemplate || _selectedItemsTemplate) {
2304
+ <ng-container *ngTemplateOutlet="selectedItemsTemplate || _selectedItemsTemplate; context: { $implicit: selectedOptions, removeChip: removeOption.bind(this) }"></ng-container>
2305
+ @if (!modelValue() || modelValue().length === 0) {
2306
+ <ng-container>{{ placeholder() || 'empty' }}</ng-container>
2307
+ }
2308
+ }
2309
+ </div>
2310
+ </div>
2311
+ @if (isVisibleClearIcon) {
2312
+ <ng-container>
2313
+ @if (!clearIconTemplate && !_clearIconTemplate) {
2314
+ <svg data-p-icon="times" [pBind]="ptm('clearIcon')" [class]="cx('clearIcon')" (click)="clear($event)" [attr.aria-hidden]="true" />
2315
+ }
2316
+ @if (clearIconTemplate || _clearIconTemplate) {
2317
+ <span [pBind]="ptm('clearIcon')" [class]="cx('clearIcon')" (click)="clear($event)" [attr.aria-hidden]="true">
2318
+ <ng-template *ngTemplateOutlet="clearIconTemplate || _clearIconTemplate"></ng-template>
2319
+ </span>
2320
+ }
2321
+ </ng-container>
2322
+ }
2323
+ <div [pBind]="ptm('dropdown')" [class]="cx('dropdown')">
2324
+ @if (loading()) {
2325
+ <ng-container>
2326
+ @if (loadingIconTemplate || _loadingIconTemplate) {
2327
+ <ng-container *ngTemplateOutlet="loadingIconTemplate || _loadingIconTemplate"></ng-container>
2328
+ }
2329
+ @if (!loadingIconTemplate && !_loadingIconTemplate) {
2330
+ <ng-container>
2331
+ @if (loadingIcon()) {
2332
+ <span [pBind]="ptm('loadingIcon')" [class]="cn(cx('loadingIcon'), 'pi-spin ' + loadingIcon())" [attr.aria-hidden]="true"></span>
2333
+ }
2334
+ @if (!loadingIcon()) {
2335
+ <span [pBind]="ptm('loadingIcon')" [class]="cn(cx('loadingIcon'), 'pi pi-spinner pi-spin')" [attr.aria-hidden]="true"></span>
2336
+ }
2337
+ </ng-container>
2338
+ }
2339
+ </ng-container>
2340
+ } @else {
2341
+ @if (!dropdownIconTemplate && !_dropdownIconTemplate) {
2342
+ <ng-container>
2343
+ @if (dropdownIcon()) {
2344
+ <span [pBind]="ptm('dropdownIcon')" [class]="cx('dropdownIcon')" [ngClass]="dropdownIcon()" [attr.aria-hidden]="true" [attr.data-p]="dropdownIconDataP"></span>
2345
+ }
2346
+ @if (!dropdownIcon()) {
2347
+ <svg data-p-icon="chevron-down" [pBind]="ptm('dropdownIcon')" [class]="cx('dropdownIcon')" [attr.aria-hidden]="true" [attr.data-p]="dropdownIconDataP" />
2348
+ }
2349
+ </ng-container>
2350
+ }
2351
+ @if (dropdownIconTemplate || _dropdownIconTemplate) {
2352
+ <span [pBind]="ptm('dropdownIcon')" [class]="cx('dropdownIcon')" [attr.aria-hidden]="true">
2353
+ <ng-template *ngTemplateOutlet="dropdownIconTemplate || _dropdownIconTemplate; context: { dataP: dropdownIconDataP }"></ng-template>
2354
+ </span>
2355
+ }
2356
+ }
2357
+ </div>
2358
+ <p-overlay
2359
+ #overlay
2360
+ [hostAttrSelector]="$attrSelector"
2361
+ [visible]="overlayVisible()"
2362
+ (visibleChange)="overlayVisible.set($event)"
2363
+ [options]="overlayOptions()"
2364
+ [target]="'@parent'"
2365
+ [appendTo]="$appendTo()"
2366
+ [unstyled]="unstyled()"
2367
+ [pt]="ptm('pcOverlay')"
2368
+ [motionOptions]="motionOptions()"
2369
+ (onBeforeEnter)="onOverlayBeforeEnter($event)"
2370
+ (onAfterLeave)="onOverlayAfterLeave($event)"
2371
+ (onHide)="onOverlayHide()"
2372
+ >
2373
+ <ng-template #content>
2374
+ <div [pBind]="ptm('overlay')" [attr.data-p]="overlayDataP" [attr.id]="id() + '_list'" [class]="cn(cx('overlay'), panelStyleClass())" [ngStyle]="panelStyle()">
2375
+ <span
2376
+ #firstHiddenFocusableEl
2377
+ role="presentation"
2378
+ class="p-hidden-accessible p-hidden-focusable"
2379
+ [attr.tabindex]="0"
2380
+ (focus)="onFirstHiddenFocus($event)"
2381
+ [attr.data-p-hidden-accessible]="true"
2382
+ [attr.data-p-hidden-focusable]="true"
2383
+ [pBind]="ptm('firstHiddenFocusableEl')"
2384
+ >
2385
+ </span>
2386
+ <ng-container *ngTemplateOutlet="headerTemplate() || _headerTemplate"></ng-container>
2387
+ @if (showHeader()) {
2388
+ <div [pBind]="ptm('header')" [class]="cx('header')">
2389
+ <ng-content select="p-header"></ng-content>
2390
+ @if (filterTemplate || _filterTemplate) {
2391
+ <ng-container *ngTemplateOutlet="filterTemplate || _filterTemplate; context: { options: filterOptions }"></ng-container>
2392
+ } @else {
2393
+ @if (showToggleAll() && !selectionLimit()) {
2394
+ <p-checkbox
2395
+ [pt]="getHeaderCheckboxPTOptions('pcHeaderCheckbox')"
2396
+ [ngModel]="allSelected()"
2397
+ [ariaLabel]="toggleAllAriaLabel"
2398
+ [binary]="true"
2399
+ (onChange)="onToggleAll($event)"
2400
+ [variant]="$variant()"
2401
+ [disabled]="$disabled()"
2402
+ [unstyled]="unstyled()"
2403
+ #headerCheckbox
2404
+ >
2405
+ <ng-template #icon let-klass="class">
2406
+ @if (!headerCheckboxIconTemplate() && !_headerCheckboxIconTemplate && allSelected()) {
2407
+ <svg data-p-icon="check" [class]="klass" [pBind]="getHeaderCheckboxPTOptions('pcHeaderCheckbox.icon')" />
2408
+ }
2409
+ <ng-template
2410
+ *ngTemplateOutlet="
2411
+ headerCheckboxIconTemplate() || _headerCheckboxIconTemplate;
2412
+ context: {
2413
+ checked: allSelected(),
2414
+ partialSelected: partialSelected(),
2415
+ class: klass
2416
+ }
2417
+ "
2418
+ ></ng-template>
2419
+ </ng-template>
2420
+ </p-checkbox>
2421
+ }
2422
+
2423
+ @if (filter()) {
2424
+ <p-iconfield [pt]="ptm('pcFilterContainer')" [class]="cx('pcFilterContainer')" [unstyled]="unstyled()">
2425
+ <input
2426
+ #filterInput
2427
+ pInputText
2428
+ [pt]="ptm('pcFilter')"
2429
+ [variant]="$variant()"
2430
+ type="text"
2431
+ [attr.autocomplete]="autocomplete()"
2432
+ role="searchbox"
2433
+ [attr.aria-owns]="id() + '_list'"
2434
+ [attr.aria-activedescendant]="focusedOptionId"
2435
+ [value]="_filterValue() || ''"
2436
+ (input)="onFilterInputChange($event)"
2437
+ (keydown)="onFilterKeyDown($event)"
2438
+ (click)="onInputClick($event)"
2439
+ (blur)="onFilterBlur($event)"
2440
+ [class]="cx('pcFilter')"
2441
+ [attr.disabled]="$disabled() ? '' : undefined"
2442
+ [attr.placeholder]="filterPlaceHolder()"
2443
+ [attr.aria-label]="ariaFilterLabel()"
2444
+ [unstyled]="unstyled()"
2445
+ />
2446
+ <p-inputicon [pt]="ptm('pcFilterIconContainer')" [unstyled]="unstyled()">
2447
+ @if (!filterIconTemplate && !_filterIconTemplate) {
2448
+ <svg data-p-icon="search" [pBind]="ptm('filterIcon')" />
2449
+ }
2450
+ @if (filterIconTemplate || _filterIconTemplate) {
2451
+ <span [pBind]="ptm('filterIcon')" class="p-multiselect-filter-icon">
2452
+ <ng-template *ngTemplateOutlet="filterIconTemplate || _filterIconTemplate"></ng-template>
2453
+ </span>
2454
+ }
2455
+ </p-inputicon>
2456
+ </p-iconfield>
2457
+ }
2458
+ }
2459
+ </div>
2460
+ }
2461
+ <div [pBind]="ptm('listContainer')" [class]="cx('listContainer')" [style.max-height]="virtualScroll() ? 'auto' : scrollHeight() || 'auto'">
2462
+ @if (virtualScroll()) {
2463
+ <p-scroller
2464
+ #scroller
2465
+ [items]="visibleOptions()"
2466
+ [style]="{ height: scrollHeight() }"
2467
+ [itemSize]="virtualScrollItemSize()"
2468
+ [autoSize]="true"
2469
+ [tabindex]="-1"
2470
+ [lazy]="lazy()"
2471
+ (onLazyLoad)="onLazyLoad.emit($event)"
2472
+ [options]="virtualScrollOptions()"
2473
+ >
2474
+ <ng-template #content let-items let-scrollerOptions="options">
2475
+ <ng-container *ngTemplateOutlet="buildInItems; context: { $implicit: items, options: scrollerOptions }"></ng-container>
2476
+ </ng-template>
2477
+ @if (loaderTemplate || _loaderTemplate) {
2478
+ <ng-template #loader let-scrollerOptions="options">
2479
+ <ng-container *ngTemplateOutlet="loaderTemplate || _loaderTemplate; context: { options: scrollerOptions }"></ng-container>
2480
+ </ng-template>
2481
+ }
2482
+ </p-scroller>
2483
+ }
2484
+ @if (!virtualScroll()) {
2485
+ <ng-container *ngTemplateOutlet="buildInItems; context: { $implicit: visibleOptions(), options: {} }"></ng-container>
2486
+ }
2487
+
2488
+ <ng-template #buildInItems let-items let-scrollerOptions="options">
2489
+ <ul #items [pBind]="ptm('list')" [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox" aria-multiselectable="true" [attr.aria-label]="listLabel">
2490
+ @for (option of items; track option; let i = $index) {
2491
+ @if (isOptionGroup(option)) {
2492
+ <li [pBind]="ptm('optionGroup')" [attr.id]="id() + '_' + getOptionIndex(i, scrollerOptions)" [class]="cx('optionGroup')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
2493
+ @if (!groupTemplate && option.optionGroup) {
2494
+ <span>{{ getOptionGroupLabel(option.optionGroup) }}</span>
2495
+ }
2496
+ @if (option.optionGroup && groupTemplate) {
2497
+ <ng-container [ngTemplateOutlet]="groupTemplate" [ngTemplateOutletContext]="{ $implicit: option.optionGroup }"></ng-container>
2498
+ }
2499
+ </li>
2500
+ }
2501
+ @if (!isOptionGroup(option)) {
2502
+ <li
2503
+ pMultiSelectItem
2504
+ pRipple
2505
+ [pBind]="getPTOptions(option, getItemOptions, i, 'option')"
2506
+ [id]="id() + '_' + getOptionIndex(i, scrollerOptions)"
2507
+ [option]="option"
2508
+ [selected]="isSelected(option)"
2509
+ [label]="getOptionLabel(option)"
2510
+ [disabled]="isOptionDisabled(option)"
2511
+ [template]="itemTemplate() || _itemTemplate"
2512
+ [itemCheckboxIconTemplate]="itemCheckboxIconTemplate() || _itemCheckboxIconTemplate"
2513
+ [itemSize]="scrollerOptions.itemSize"
2514
+ [focused]="focusedOptionIndex() === getOptionIndex(i, scrollerOptions)"
2515
+ [ariaPosInset]="getAriaPosInset(getOptionIndex(i, scrollerOptions))"
2516
+ [ariaSetSize]="ariaSetSize"
2517
+ [variant]="$variant()"
2518
+ [highlightOnSelect]="highlightOnSelect()"
2519
+ (onClick)="onOptionSelect($event, false, getOptionIndex(i, scrollerOptions))"
2520
+ (onMouseEnter)="onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))"
2521
+ [pt]="pt"
2522
+ [unstyled]="unstyled()"
2523
+ ></li>
2524
+ }
2525
+ }
2526
+
2527
+ @if (hasFilter() && isEmpty()) {
2528
+ <li [pBind]="ptm('emptyMessage')" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
2529
+ @if (!emptyFilterTemplate() && !_emptyFilterTemplate && !emptyTemplate() && !_emptyTemplate) {
2530
+ {{ emptyFilterMessageLabel }}
2531
+ } @else {
2532
+ <ng-container *ngTemplateOutlet="emptyFilterTemplate() || _emptyFilterTemplate || emptyTemplate() || _emptyFilterTemplate"></ng-container>
2533
+ }
2534
+ </li>
2535
+ }
2536
+ @if (!hasFilter() && isEmpty()) {
2537
+ <li [pBind]="ptm('emptyMessage')" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
2538
+ @if (!emptyTemplate() && !_emptyTemplate) {
2539
+ {{ emptyMessageLabel }}
2540
+ } @else {
2541
+ <ng-container *ngTemplateOutlet="emptyTemplate() || _emptyTemplate"></ng-container>
2542
+ }
2543
+ </li>
2544
+ }
2545
+ </ul>
2546
+ </ng-template>
2547
+ </div>
2548
+ @if (footerFacet() || footerTemplate || _footerTemplate) {
2549
+ <div>
2550
+ <ng-content select="p-footer"></ng-content>
2551
+ <ng-container *ngTemplateOutlet="footerTemplate || _footerTemplate"></ng-container>
2552
+ </div>
2553
+ }
2554
+
2555
+ <span
2556
+ #lastHiddenFocusableEl
2557
+ role="presentation"
2558
+ class="p-hidden-accessible p-hidden-focusable"
2559
+ [attr.tabindex]="0"
2560
+ (focus)="onLastHiddenFocus($event)"
2561
+ [attr.data-p-hidden-accessible]="true"
2562
+ [attr.data-p-hidden-focusable]="true"
2563
+ [pBind]="ptm('lastHiddenFocusableEl')"
2564
+ ></span>
2565
+ </div>
2566
+ </ng-template>
2567
+ </p-overlay>
2568
+ `,
2569
+ providers: [MULTISELECT_VALUE_ACCESSOR, MultiSelectStyle, { provide: MULTISELECT_INSTANCE, useExisting: MultiSelect }, { provide: PARENT_INSTANCE, useExisting: MultiSelect }],
2570
+ changeDetection: ChangeDetectionStrategy.OnPush,
2571
+ encapsulation: ViewEncapsulation.None,
2572
+ host: {
2573
+ '[attr.id]': 'resolvedId',
2574
+ '[attr.data-p]': 'containerDataP',
2575
+ '(click)': 'onContainerClick($event)',
2576
+ '[class]': "cn(cx('root'), styleClass())",
2577
+ '[style]': "sx('root')"
2578
+ }
2579
+ }]
2580
+ }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], styleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "styleClass", required: false }] }], panelStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelStyle", required: false }] }], panelStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelStyleClass", required: false }] }], inputId: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputId", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], group: [{ type: i0.Input, args: [{ isSignal: true, alias: "group", required: false }] }], filter: [{ type: i0.Input, args: [{ isSignal: true, alias: "filter", required: false }] }], filterPlaceHolder: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterPlaceHolder", required: false }] }], filterLocale: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterLocale", required: false }] }], overlayVisible: [{ type: i0.Input, args: [{ isSignal: true, alias: "overlayVisible", required: false }] }, { type: i0.Output, args: ["overlayVisibleChange"] }], tabindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabindex", required: false }] }], dataKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataKey", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledBy", required: false }] }], displaySelectedLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "displaySelectedLabel", required: false }] }], maxSelectedLabels: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxSelectedLabels", required: false }] }], selectionLimit: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectionLimit", required: false }] }], selectedItemsLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedItemsLabel", required: false }] }], showToggleAll: [{ type: i0.Input, args: [{ isSignal: true, alias: "showToggleAll", required: false }] }], emptyFilterMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyFilterMessage", required: false }] }], emptyMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyMessage", required: false }] }], resetFilterOnHide: [{ type: i0.Input, args: [{ isSignal: true, alias: "resetFilterOnHide", required: false }] }], dropdownIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "dropdownIcon", required: false }] }], chipIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "chipIcon", required: false }] }], optionLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionLabel", required: false }] }], optionValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionValue", required: false }] }], optionDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionDisabled", required: false }] }], optionGroupLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionGroupLabel", required: false }] }], optionGroupChildren: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionGroupChildren", required: false }] }], showHeader: [{ type: i0.Input, args: [{ isSignal: true, alias: "showHeader", required: false }] }], filterBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterBy", required: false }] }], scrollHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollHeight", required: false }] }], lazy: [{ type: i0.Input, args: [{ isSignal: true, alias: "lazy", required: false }] }], virtualScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "virtualScroll", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], virtualScrollItemSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "virtualScrollItemSize", required: false }] }], loadingIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadingIcon", required: false }] }], virtualScrollOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "virtualScrollOptions", required: false }] }], overlayOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "overlayOptions", required: false }] }], ariaFilterLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaFilterLabel", required: false }] }], filterMatchMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterMatchMode", required: false }] }], tooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip", required: false }] }], tooltipPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipPosition", required: false }] }], tooltipPositionStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipPositionStyle", required: false }] }], tooltipStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipStyleClass", required: false }] }], autofocusFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "autofocusFilter", required: false }] }], display: [{ type: i0.Input, args: [{ isSignal: true, alias: "display", required: false }] }], autocomplete: [{ type: i0.Input, args: [{ isSignal: true, alias: "autocomplete", required: false }] }], showClear: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClear", required: false }] }], autofocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autofocus", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], filterValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterValue", required: false }] }], selectAll: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectAll", required: false }] }], focusOnHover: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusOnHover", required: false }] }], filterFields: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterFields", required: false }] }], selectOnFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectOnFocus", required: false }] }], autoOptionFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoOptionFocus", required: false }] }], highlightOnSelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "highlightOnSelect", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], fluid: [{ type: i0.Input, args: [{ isSignal: true, alias: "fluid", required: false }] }], appendTo: [{ type: i0.Input, args: [{ isSignal: true, alias: "appendTo", required: false }] }], motionOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "motionOptions", required: false }] }], onChange: [{ type: i0.Output, args: ["onChange"] }], onFilter: [{ type: i0.Output, args: ["onFilter"] }], onFocus: [{ type: i0.Output, args: ["onFocus"] }], onBlur: [{ type: i0.Output, args: ["onBlur"] }], onClick: [{ type: i0.Output, args: ["onClick"] }], onClear: [{ type: i0.Output, args: ["onClear"] }], onPanelShow: [{ type: i0.Output, args: ["onPanelShow"] }], onPanelHide: [{ type: i0.Output, args: ["onPanelHide"] }], onLazyLoad: [{ type: i0.Output, args: ["onLazyLoad"] }], onRemove: [{ type: i0.Output, args: ["onRemove"] }], onSelectAllChange: [{ type: i0.Output, args: ["onSelectAllChange"] }], overlayViewChild: [{ type: i0.ViewChild, args: ['overlay', { isSignal: true }] }], filterInputChild: [{ type: i0.ViewChild, args: ['filterInput', { isSignal: true }] }], focusInputViewChild: [{ type: i0.ViewChild, args: ['focusInput', { isSignal: true }] }], itemsViewChild: [{ type: i0.ViewChild, args: ['items', { isSignal: true }] }], scroller: [{ type: i0.ViewChild, args: ['scroller', { isSignal: true }] }], lastHiddenFocusableElementOnOverlay: [{ type: i0.ViewChild, args: ['lastHiddenFocusableEl', { isSignal: true }] }], firstHiddenFocusableElementOnOverlay: [{ type: i0.ViewChild, args: ['firstHiddenFocusableEl', { isSignal: true }] }], headerCheckboxViewChild: [{ type: i0.ViewChild, args: ['headerCheckbox', { isSignal: true }] }], footerFacet: [{ type: i0.ContentChild, args: [i0.forwardRef(() => Footer), { isSignal: true }] }], headerFacet: [{ type: i0.ContentChild, args: [i0.forwardRef(() => Header), { isSignal: true }] }], itemTemplate: [{ type: i0.ContentChild, args: ['item', { ...{ descendants: false }, isSignal: true }] }], groupTemplate: [{
2581
+ type: ContentChild,
2582
+ args: ['group', { descendants: false }]
2583
+ }], loaderTemplate: [{
2584
+ type: ContentChild,
2585
+ args: ['loader', { descendants: false }]
2586
+ }], headerTemplate: [{ type: i0.ContentChild, args: ['header', { ...{ descendants: false }, isSignal: true }] }], filterTemplate: [{
2587
+ type: ContentChild,
2588
+ args: ['filter', { descendants: false }]
2589
+ }], footerTemplate: [{
2590
+ type: ContentChild,
2591
+ args: ['footer', { descendants: false }]
2592
+ }], emptyFilterTemplate: [{ type: i0.ContentChild, args: ['emptyfilter', { ...{ descendants: false }, isSignal: true }] }], emptyTemplate: [{ type: i0.ContentChild, args: ['empty', { ...{ descendants: false }, isSignal: true }] }], selectedItemsTemplate: [{
2593
+ type: ContentChild,
2594
+ args: ['selecteditems', { descendants: false }]
2595
+ }], loadingIconTemplate: [{
2596
+ type: ContentChild,
2597
+ args: ['loadingicon', { descendants: false }]
2598
+ }], filterIconTemplate: [{
2599
+ type: ContentChild,
2600
+ args: ['filtericon', { descendants: false }]
2601
+ }], removeTokenIconTemplate: [{
2602
+ type: ContentChild,
2603
+ args: ['removetokenicon', { descendants: false }]
2604
+ }], chipIconTemplate: [{
2605
+ type: ContentChild,
2606
+ args: ['chipicon', { descendants: false }]
2607
+ }], clearIconTemplate: [{
2608
+ type: ContentChild,
2609
+ args: ['clearicon', { descendants: false }]
2610
+ }], dropdownIconTemplate: [{
2611
+ type: ContentChild,
2612
+ args: ['dropdownicon', { descendants: false }]
2613
+ }], itemCheckboxIconTemplate: [{ type: i0.ContentChild, args: ['itemcheckboxicon', { ...{ descendants: false }, isSignal: true }] }], headerCheckboxIconTemplate: [{ type: i0.ContentChild, args: ['headercheckboxicon', { ...{ descendants: false }, isSignal: true }] }], templates: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => PrimeTemplate), { isSignal: true }] }] } });
2614
+ class MultiSelectModule {
2615
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: MultiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2616
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.2", ngImport: i0, type: MultiSelectModule, imports: [MultiSelect, SharedModule], exports: [MultiSelect, SharedModule] });
2617
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: MultiSelectModule, imports: [MultiSelect, SharedModule, SharedModule] });
2618
+ }
2619
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: MultiSelectModule, decorators: [{
2620
+ type: NgModule,
2621
+ args: [{
2622
+ imports: [MultiSelect, SharedModule],
2623
+ exports: [MultiSelect, SharedModule]
2624
+ }]
2625
+ }] });
2626
+
2627
+ /**
2628
+ * Generated bundle index. Do not edit.
2629
+ */
2630
+
2631
+ export { MULTISELECT_VALUE_ACCESSOR, MultiSelect, MultiSelectClasses, MultiSelectItem, MultiSelectModule, MultiSelectStyle };
2632
+ //# sourceMappingURL=wawjs-ngx-prime-multiselect.mjs.map