@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,2339 @@
1
+ export * from '@wawjs/ngx-prime/types/select';
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, Component, NgZone, viewChild, computed, contentChild, contentChildren, signal, effect, ContentChild, ViewEncapsulation, ChangeDetectionStrategy, NgModule } from '@angular/core';
6
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
7
+ import { uuid, isNotEmpty, isEmpty, deepEquals, findSingle, scrollInView, equals, resolveFieldData, focus, isPrintableCharacter, findLastIndex, getFirstFocusableElement, getLastFocusableElement, getFocusableElements } from '@wawjs/css-prime-utils';
8
+ import { SharedModule, FilterService, PrimeTemplate, TranslationKeys } from '@wawjs/ngx-prime/api';
9
+ import { AutoFocus } from '@wawjs/ngx-prime/autofocus';
10
+ import { BaseComponent, PARENT_INSTANCE } from '@wawjs/ngx-prime/basecomponent';
11
+ import { BaseInput } from '@wawjs/ngx-prime/baseinput';
12
+ import * as i2 from '@wawjs/ngx-prime/bind';
13
+ import { BindModule, Bind } from '@wawjs/ngx-prime/bind';
14
+ import { unblockBodyScroll } from '@wawjs/ngx-prime/dom';
15
+ import { IconField } from '@wawjs/ngx-prime/iconfield';
16
+ import { CheckIcon, BlankIcon, TimesIcon, ChevronDownIcon, SearchIcon } from '@wawjs/ngx-prime/icons';
17
+ import { InputIcon } from '@wawjs/ngx-prime/inputicon';
18
+ import { InputText } from '@wawjs/ngx-prime/inputtext';
19
+ import { Overlay } from '@wawjs/ngx-prime/overlay';
20
+ import { Ripple } from '@wawjs/ngx-prime/ripple';
21
+ import { Scroller } from '@wawjs/ngx-prime/scroller';
22
+ import { Tooltip } from '@wawjs/ngx-prime/tooltip';
23
+ import { style as style$1 } from '@wawjs/css-prime-styles/select';
24
+ import { BaseStyle } from '@wawjs/ngx-prime/base';
25
+
26
+ const style = /*css*/ `
27
+ ${style$1}
28
+
29
+ /* For ngx-prime */
30
+ .p-select-label.p-placeholder {
31
+ color: dt('select.placeholder.color');
32
+ }
33
+
34
+ .p-select.ng-invalid.ng-dirty {
35
+ border-color: dt('select.invalid.border.color');
36
+ }
37
+
38
+ .p-dropdown.ng-invalid.ng-dirty .p-dropdown-label.p-placeholder,
39
+ .p-select.ng-invalid.ng-dirty .p-select-label.p-placeholder {
40
+ color: dt('select.invalid.placeholder.color');
41
+ }
42
+ `;
43
+ const classes = {
44
+ root: ({ instance }) => [
45
+ 'p-select p-component p-inputwrapper',
46
+ {
47
+ 'p-disabled': instance.$disabled(),
48
+ 'p-variant-filled': instance.$variant() === 'filled',
49
+ 'p-focus': instance.focused,
50
+ 'p-invalid': instance.invalid(),
51
+ 'p-inputwrapper-filled': instance.$filled(),
52
+ 'p-inputwrapper-focus': instance.focused || instance.overlayVisible,
53
+ 'p-select-open': instance.overlayVisible,
54
+ 'p-select-fluid': instance.hasFluid,
55
+ 'p-select-sm p-inputfield-sm': instance.size() === 'small',
56
+ 'p-select-lg p-inputfield-lg': instance.size() === 'large'
57
+ }
58
+ ],
59
+ label: ({ instance }) => [
60
+ 'p-select-label',
61
+ {
62
+ 'p-placeholder': instance.placeholder() && instance.label() === instance.placeholder(),
63
+ 'p-select-label-empty': !instance.editable && !instance.selectedItemTemplate && (instance.label() === undefined || instance.label() === null || instance.label() === 'p-emptylabel' || instance.label().length === 0)
64
+ }
65
+ ],
66
+ clearIcon: 'p-select-clear-icon',
67
+ dropdown: 'p-select-dropdown',
68
+ loadingIcon: 'p-select-loading-icon',
69
+ dropdownIcon: 'p-select-dropdown-icon',
70
+ overlay: 'p-select-overlay p-component-overlay p-component',
71
+ header: 'p-select-header',
72
+ pcFilter: 'p-select-filter',
73
+ listContainer: 'p-select-list-container',
74
+ list: 'p-select-list',
75
+ optionGroup: 'p-select-option-group',
76
+ optionGroupLabel: 'p-select-option-group-label',
77
+ option: ({ instance }) => [
78
+ 'p-select-option',
79
+ {
80
+ 'p-select-option-selected': instance.selected && !instance.checkmark,
81
+ 'p-disabled': instance.disabled,
82
+ 'p-focus': instance.focused
83
+ }
84
+ ],
85
+ optionLabel: 'p-select-option-label',
86
+ optionCheckIcon: 'p-select-option-check-icon',
87
+ optionBlankIcon: 'p-select-option-blank-icon',
88
+ emptyMessage: 'p-select-empty-message'
89
+ };
90
+ class SelectStyle extends BaseStyle {
91
+ name = 'select';
92
+ style = style;
93
+ classes = classes;
94
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SelectStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
95
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SelectStyle });
96
+ }
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SelectStyle, decorators: [{
98
+ type: Injectable
99
+ }] });
100
+ /**
101
+ *
102
+ * Select also known as Select, is used to choose an item from a collection of options.
103
+ *
104
+ * [Live Demo](https://www.ngx-prime.org/select/)
105
+ *
106
+ * @module selectstyle
107
+ *
108
+ */
109
+ var SelectClasses;
110
+ (function (SelectClasses) {
111
+ /**
112
+ * Class name of the root element
113
+ */
114
+ SelectClasses["root"] = "p-select";
115
+ /**
116
+ * Class name of the label element
117
+ */
118
+ SelectClasses["label"] = "p-select-label";
119
+ /**
120
+ * Class name of the clear icon element
121
+ */
122
+ SelectClasses["clearIcon"] = "p-select-clear-icon";
123
+ /**
124
+ * Class name of the dropdown element
125
+ */
126
+ SelectClasses["dropdown"] = "p-select-dropdown";
127
+ /**
128
+ * Class name of the loadingicon element
129
+ */
130
+ SelectClasses["loadingIcon"] = "p-select-loading-icon";
131
+ /**
132
+ * Class name of the dropdown icon element
133
+ */
134
+ SelectClasses["dropdownIcon"] = "p-select-dropdown-icon";
135
+ /**
136
+ * Class name of the overlay element
137
+ */
138
+ SelectClasses["overlay"] = "p-select-overlay";
139
+ /**
140
+ * Class name of the header element
141
+ */
142
+ SelectClasses["header"] = "p-select-header";
143
+ /**
144
+ * Class name of the filter element
145
+ */
146
+ SelectClasses["pcFilter"] = "p-select-filter";
147
+ /**
148
+ * Class name of the list container element
149
+ */
150
+ SelectClasses["listContainer"] = "p-select-list-container";
151
+ /**
152
+ * Class name of the list element
153
+ */
154
+ SelectClasses["list"] = "p-select-list";
155
+ /**
156
+ * Class name of the option group element
157
+ */
158
+ SelectClasses["optionGroup"] = "p-select-option-group";
159
+ /**
160
+ * Class name of the option group label element
161
+ */
162
+ SelectClasses["optionGroupLabel"] = "p-select-option-group-label";
163
+ /**
164
+ * Class name of the option element
165
+ */
166
+ SelectClasses["option"] = "p-select-option";
167
+ /**
168
+ * Class name of the option label element
169
+ */
170
+ SelectClasses["optionLabel"] = "p-select-option-label";
171
+ /**
172
+ * Class name of the option check icon element
173
+ */
174
+ SelectClasses["optionCheckIcon"] = "p-select-option-check-icon";
175
+ /**
176
+ * Class name of the option blank icon element
177
+ */
178
+ SelectClasses["optionBlankIcon"] = "p-select-option-blank-icon";
179
+ /**
180
+ * Class name of the empty message element
181
+ */
182
+ SelectClasses["emptyMessage"] = "p-select-empty-message";
183
+ })(SelectClasses || (SelectClasses = {}));
184
+
185
+ const SELECT_INSTANCE = new InjectionToken('SELECT_INSTANCE');
186
+ const SELECT_ITEM_INSTANCE = new InjectionToken('SELECT_ITEM_INSTANCE');
187
+ const SELECT_VALUE_ACCESSOR = {
188
+ provide: NG_VALUE_ACCESSOR,
189
+ useExisting: forwardRef(() => Select),
190
+ multi: true
191
+ };
192
+ class SelectItem extends BaseComponent {
193
+ hostName = 'select';
194
+ $pcSelectItem = inject(SELECT_ITEM_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
195
+ $pcSelect = inject(SELECT_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
196
+ id = input(/* @ts-ignore */
197
+ ...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
198
+ option = input(/* @ts-ignore */
199
+ ...(ngDevMode ? [undefined, { debugName: "option" }] : /* istanbul ignore next */ []));
200
+ selected = input(undefined, { ...(ngDevMode ? { debugName: "selected" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
201
+ focused = input(undefined, { ...(ngDevMode ? { debugName: "focused" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
202
+ label = input(/* @ts-ignore */
203
+ ...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
204
+ disabled = input(undefined, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
205
+ visible = input(undefined, { ...(ngDevMode ? { debugName: "visible" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
206
+ itemSize = input(undefined, { ...(ngDevMode ? { debugName: "itemSize" } : /* istanbul ignore next */ {}), transform: numberAttribute });
207
+ ariaPosInset = input(/* @ts-ignore */
208
+ ...(ngDevMode ? [undefined, { debugName: "ariaPosInset" }] : /* istanbul ignore next */ []));
209
+ ariaSetSize = input(/* @ts-ignore */
210
+ ...(ngDevMode ? [undefined, { debugName: "ariaSetSize" }] : /* istanbul ignore next */ []));
211
+ template = input(/* @ts-ignore */
212
+ ...(ngDevMode ? [undefined, { debugName: "template" }] : /* istanbul ignore next */ []));
213
+ checkmark = input(undefined, { ...(ngDevMode ? { debugName: "checkmark" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
214
+ index = input(/* @ts-ignore */
215
+ ...(ngDevMode ? [undefined, { debugName: "index" }] : /* istanbul ignore next */ []));
216
+ scrollerOptions = input(/* @ts-ignore */
217
+ ...(ngDevMode ? [undefined, { debugName: "scrollerOptions" }] : /* istanbul ignore next */ []));
218
+ onClick = output();
219
+ onMouseEnter = output();
220
+ _componentStyle = inject(SelectStyle);
221
+ onOptionClick(event) {
222
+ this.onClick.emit(event);
223
+ }
224
+ onOptionMouseEnter(event) {
225
+ this.onMouseEnter.emit(event);
226
+ }
227
+ getPTOptions() {
228
+ const option = this.option();
229
+ return (this.$pcSelect?.getPTItemOptions?.(option, this.scrollerOptions(), this.index() ?? 0, 'option') ??
230
+ this.$pcSelect?.ptm('option', {
231
+ context: {
232
+ option: option,
233
+ selected: this.selected(),
234
+ focused: this.focused(),
235
+ disabled: this.disabled()
236
+ }
237
+ }));
238
+ }
239
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SelectItem, deps: null, target: i0.ɵɵFactoryTarget.Component });
240
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: SelectItem, isStandalone: true, selector: "p-select-item", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, option: { classPropertyName: "option", publicName: "option", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, focused: { classPropertyName: "focused", publicName: "focused", 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 }, visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, itemSize: { classPropertyName: "itemSize", publicName: "itemSize", 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 }, template: { classPropertyName: "template", publicName: "template", isSignal: true, isRequired: false, transformFunction: null }, checkmark: { classPropertyName: "checkmark", publicName: "checkmark", isSignal: true, isRequired: false, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null }, scrollerOptions: { classPropertyName: "scrollerOptions", publicName: "scrollerOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick", onMouseEnter: "onMouseEnter" }, providers: [SelectStyle, { provide: PARENT_INSTANCE, useExisting: SelectItem }], usesInheritance: true, ngImport: i0, template: `
241
+ <li
242
+ [id]="id()"
243
+ [pBind]="getPTOptions()"
244
+ (click)="onOptionClick($event)"
245
+ (mouseenter)="onOptionMouseEnter($event)"
246
+ role="option"
247
+ pRipple
248
+ [attr.aria-label]="label()"
249
+ [attr.aria-setsize]="ariaSetSize()"
250
+ [attr.aria-posinset]="ariaPosInset()"
251
+ [attr.aria-selected]="selected()"
252
+ [attr.data-p-focused]="focused()"
253
+ [attr.data-p-highlight]="selected()"
254
+ [attr.data-p-selected]="selected()"
255
+ [attr.data-p-disabled]="disabled()"
256
+ [ngStyle]="{ height: scrollerOptions()?.itemSize + 'px' }"
257
+ [class]="cx('option')"
258
+ >
259
+ @if (checkmark()) {
260
+ @if (selected()) {
261
+ <svg data-p-icon="check" [class]="cx('optionCheckIcon')" [pBind]="$pcSelect?.ptm('optionCheckIcon')" />
262
+ }
263
+ @if (!selected()) {
264
+ <svg data-p-icon="blank" [class]="cx('optionBlankIcon')" [pBind]="$pcSelect?.ptm('optionBlankIcon')" />
265
+ }
266
+ }
267
+ @if (!template()) {
268
+ <span [pBind]="$pcSelect?.ptm('optionLabel')">{{ label() ?? 'empty' }}</span>
269
+ }
270
+ <ng-container *ngTemplateOutlet="template(); context: { $implicit: option() }"></ng-container>
271
+ </li>
272
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: SharedModule }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "component", type: CheckIcon, selector: "[data-p-icon=\"check\"]" }, { kind: "component", type: BlankIcon, selector: "[data-p-icon=\"blank\"]" }, { kind: "ngmodule", type: BindModule }, { kind: "directive", type: i2.Bind, selector: "[pBind]", inputs: ["pBind"] }] });
273
+ }
274
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SelectItem, decorators: [{
275
+ type: Component,
276
+ args: [{
277
+ selector: 'p-select-item',
278
+ standalone: true,
279
+ imports: [CommonModule, SharedModule, Ripple, CheckIcon, BlankIcon, BindModule],
280
+ template: `
281
+ <li
282
+ [id]="id()"
283
+ [pBind]="getPTOptions()"
284
+ (click)="onOptionClick($event)"
285
+ (mouseenter)="onOptionMouseEnter($event)"
286
+ role="option"
287
+ pRipple
288
+ [attr.aria-label]="label()"
289
+ [attr.aria-setsize]="ariaSetSize()"
290
+ [attr.aria-posinset]="ariaPosInset()"
291
+ [attr.aria-selected]="selected()"
292
+ [attr.data-p-focused]="focused()"
293
+ [attr.data-p-highlight]="selected()"
294
+ [attr.data-p-selected]="selected()"
295
+ [attr.data-p-disabled]="disabled()"
296
+ [ngStyle]="{ height: scrollerOptions()?.itemSize + 'px' }"
297
+ [class]="cx('option')"
298
+ >
299
+ @if (checkmark()) {
300
+ @if (selected()) {
301
+ <svg data-p-icon="check" [class]="cx('optionCheckIcon')" [pBind]="$pcSelect?.ptm('optionCheckIcon')" />
302
+ }
303
+ @if (!selected()) {
304
+ <svg data-p-icon="blank" [class]="cx('optionBlankIcon')" [pBind]="$pcSelect?.ptm('optionBlankIcon')" />
305
+ }
306
+ }
307
+ @if (!template()) {
308
+ <span [pBind]="$pcSelect?.ptm('optionLabel')">{{ label() ?? 'empty' }}</span>
309
+ }
310
+ <ng-container *ngTemplateOutlet="template(); context: { $implicit: option() }"></ng-container>
311
+ </li>
312
+ `,
313
+ providers: [SelectStyle, { provide: PARENT_INSTANCE, useExisting: SelectItem }]
314
+ }]
315
+ }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], option: [{ type: i0.Input, args: [{ isSignal: true, alias: "option", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], focused: [{ type: i0.Input, args: [{ isSignal: true, alias: "focused", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], visible: [{ type: i0.Input, args: [{ isSignal: true, alias: "visible", required: false }] }], itemSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemSize", required: false }] }], ariaPosInset: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaPosInset", required: false }] }], ariaSetSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaSetSize", required: false }] }], template: [{ type: i0.Input, args: [{ isSignal: true, alias: "template", required: false }] }], checkmark: [{ type: i0.Input, args: [{ isSignal: true, alias: "checkmark", required: false }] }], index: [{ type: i0.Input, args: [{ isSignal: true, alias: "index", required: false }] }], scrollerOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollerOptions", required: false }] }], onClick: [{ type: i0.Output, args: ["onClick"] }], onMouseEnter: [{ type: i0.Output, args: ["onMouseEnter"] }] } });
316
+ /**
317
+ * Select is used to choose an item from a collection of options.
318
+ * @group Components
319
+ */
320
+ class Select extends BaseInput {
321
+ zone = inject(NgZone);
322
+ filterService = inject(FilterService);
323
+ componentName = 'Select';
324
+ bindDirectiveInstance = inject(Bind, { self: true });
325
+ /**
326
+ * Unique identifier of the component
327
+ * @group Props
328
+ */
329
+ id = input(/* @ts-ignore */
330
+ ...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
331
+ _generatedId;
332
+ get resolvedId() {
333
+ return this.id() || (this._generatedId ??= uuid('pn_id_'));
334
+ }
335
+ /**
336
+ * Height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.
337
+ * @group Props
338
+ */
339
+ scrollHeight = input('200px', /* @ts-ignore */
340
+ ...(ngDevMode ? [{ debugName: "scrollHeight" }] : /* istanbul ignore next */ []));
341
+ /**
342
+ * When specified, displays an input field to filter the items on keyup.
343
+ * @group Props
344
+ */
345
+ filter = input(undefined, { ...(ngDevMode ? { debugName: "filter" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
346
+ /**
347
+ * Inline style of the overlay panel element.
348
+ * @group Props
349
+ */
350
+ panelStyle = input(/* @ts-ignore */
351
+ ...(ngDevMode ? [undefined, { debugName: "panelStyle" }] : /* istanbul ignore next */ []));
352
+ /**
353
+ * Style class of the element.
354
+ * @deprecated since v20.0.0, use `class` instead.
355
+ * @group Props
356
+ */
357
+ styleClass = input(/* @ts-ignore */
358
+ ...(ngDevMode ? [undefined, { debugName: "styleClass" }] : /* istanbul ignore next */ []));
359
+ /**
360
+ * Style class of the overlay panel element.
361
+ * @group Props
362
+ */
363
+ panelStyleClass = input(/* @ts-ignore */
364
+ ...(ngDevMode ? [undefined, { debugName: "panelStyleClass" }] : /* istanbul ignore next */ []));
365
+ /**
366
+ * When present, it specifies that the component cannot be edited.
367
+ * @group Props
368
+ */
369
+ readonly = input(undefined, { ...(ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
370
+ /**
371
+ * When present, custom value instead of predefined options can be entered using the editable input field.
372
+ * @group Props
373
+ */
374
+ editable = input(undefined, { ...(ngDevMode ? { debugName: "editable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
375
+ /**
376
+ * Index of the element in tabbing order.
377
+ * @group Props
378
+ */
379
+ tabindex = input(0, { ...(ngDevMode ? { debugName: "tabindex" } : /* istanbul ignore next */ {}), transform: numberAttribute });
380
+ /**
381
+ * Default text to display when no option is selected.
382
+ * @group Props
383
+ */
384
+ placeholder = input(/* @ts-ignore */
385
+ ...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
386
+ /**
387
+ * Icon to display in loading state.
388
+ * @group Props
389
+ */
390
+ loadingIcon = input(/* @ts-ignore */
391
+ ...(ngDevMode ? [undefined, { debugName: "loadingIcon" }] : /* istanbul ignore next */ []));
392
+ /**
393
+ * Placeholder text to show when filter input is empty.
394
+ * @group Props
395
+ */
396
+ filterPlaceholder = input(/* @ts-ignore */
397
+ ...(ngDevMode ? [undefined, { debugName: "filterPlaceholder" }] : /* istanbul ignore next */ []));
398
+ /**
399
+ * Locale to use in filtering. The default locale is the host environment's current locale.
400
+ * @group Props
401
+ */
402
+ filterLocale = input(/* @ts-ignore */
403
+ ...(ngDevMode ? [undefined, { debugName: "filterLocale" }] : /* istanbul ignore next */ []));
404
+ /**
405
+ * Identifier of the accessible input element.
406
+ * @group Props
407
+ */
408
+ inputId = input(/* @ts-ignore */
409
+ ...(ngDevMode ? [undefined, { debugName: "inputId" }] : /* istanbul ignore next */ []));
410
+ /**
411
+ * A property to uniquely identify a value in options.
412
+ * @group Props
413
+ */
414
+ dataKey = input(/* @ts-ignore */
415
+ ...(ngDevMode ? [undefined, { debugName: "dataKey" }] : /* istanbul ignore next */ []));
416
+ /**
417
+ * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.
418
+ * @group Props
419
+ */
420
+ filterBy = input(/* @ts-ignore */
421
+ ...(ngDevMode ? [undefined, { debugName: "filterBy" }] : /* istanbul ignore next */ []));
422
+ /**
423
+ * Fields used when filtering the options, defaults to optionLabel.
424
+ * @group Props
425
+ */
426
+ filterFields = input(/* @ts-ignore */
427
+ ...(ngDevMode ? [undefined, { debugName: "filterFields" }] : /* istanbul ignore next */ []));
428
+ /**
429
+ * When present, it specifies that the component should automatically get focus on load.
430
+ * @group Props
431
+ */
432
+ autofocus = input(undefined, { ...(ngDevMode ? { debugName: "autofocus" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
433
+ /**
434
+ * Clears the filter value when hiding the select.
435
+ * @group Props
436
+ */
437
+ resetFilterOnHide = input(false, { ...(ngDevMode ? { debugName: "resetFilterOnHide" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
438
+ /**
439
+ * Whether the selected option will be shown with a check mark.
440
+ * @group Props
441
+ */
442
+ checkmark = input(false, { ...(ngDevMode ? { debugName: "checkmark" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
443
+ /**
444
+ * Icon class of the select icon.
445
+ * @group Props
446
+ */
447
+ dropdownIcon = input(/* @ts-ignore */
448
+ ...(ngDevMode ? [undefined, { debugName: "dropdownIcon" }] : /* istanbul ignore next */ []));
449
+ /**
450
+ * Whether the select is in loading state.
451
+ * @group Props
452
+ */
453
+ loading = input(false, { ...(ngDevMode ? { debugName: "loading" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
454
+ /**
455
+ * Name of the label field of an option.
456
+ * @group Props
457
+ */
458
+ optionLabel = input(/* @ts-ignore */
459
+ ...(ngDevMode ? [undefined, { debugName: "optionLabel" }] : /* istanbul ignore next */ []));
460
+ /**
461
+ * Name of the value field of an option.
462
+ * @group Props
463
+ */
464
+ optionValue = input(/* @ts-ignore */
465
+ ...(ngDevMode ? [undefined, { debugName: "optionValue" }] : /* istanbul ignore next */ []));
466
+ /**
467
+ * Name of the disabled field of an option.
468
+ * @group Props
469
+ */
470
+ optionDisabled = input(/* @ts-ignore */
471
+ ...(ngDevMode ? [undefined, { debugName: "optionDisabled" }] : /* istanbul ignore next */ []));
472
+ /**
473
+ * Name of the label field of an option group.
474
+ * @group Props
475
+ */
476
+ optionGroupLabel = input('label', /* @ts-ignore */
477
+ ...(ngDevMode ? [{ debugName: "optionGroupLabel" }] : /* istanbul ignore next */ []));
478
+ /**
479
+ * Name of the options field of an option group.
480
+ * @group Props
481
+ */
482
+ optionGroupChildren = input('items', /* @ts-ignore */
483
+ ...(ngDevMode ? [{ debugName: "optionGroupChildren" }] : /* istanbul ignore next */ []));
484
+ /**
485
+ * Whether to display options as grouped when nested options are provided.
486
+ * @group Props
487
+ */
488
+ group = input(undefined, { ...(ngDevMode ? { debugName: "group" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
489
+ /**
490
+ * When enabled, a clear icon is displayed to clear the value.
491
+ * @group Props
492
+ */
493
+ showClear = input(undefined, { ...(ngDevMode ? { debugName: "showClear" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
494
+ /**
495
+ * Text to display when filtering does not return any results. Defaults to global value in i18n translation configuration.
496
+ * @group Props
497
+ */
498
+ emptyFilterMessage = input('', /* @ts-ignore */
499
+ ...(ngDevMode ? [{ debugName: "emptyFilterMessage" }] : /* istanbul ignore next */ []));
500
+ /**
501
+ * Text to display when there is no data. Defaults to global value in i18n translation configuration.
502
+ * @group Props
503
+ */
504
+ emptyMessage = input('', /* @ts-ignore */
505
+ ...(ngDevMode ? [{ debugName: "emptyMessage" }] : /* istanbul ignore next */ []));
506
+ /**
507
+ * Defines if data is loaded and interacted with in lazy manner.
508
+ * @group Props
509
+ */
510
+ lazy = input(false, { ...(ngDevMode ? { debugName: "lazy" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
511
+ /**
512
+ * Whether the data should be loaded on demand during scroll.
513
+ * @group Props
514
+ */
515
+ virtualScroll = input(undefined, { ...(ngDevMode ? { debugName: "virtualScroll" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
516
+ /**
517
+ * Height of an item in the list for VirtualScrolling.
518
+ * @group Props
519
+ */
520
+ virtualScrollItemSize = input(undefined, { ...(ngDevMode ? { debugName: "virtualScrollItemSize" } : /* istanbul ignore next */ {}), transform: numberAttribute });
521
+ /**
522
+ * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.
523
+ * @group Props
524
+ */
525
+ virtualScrollOptions = input(/* @ts-ignore */
526
+ ...(ngDevMode ? [undefined, { debugName: "virtualScrollOptions" }] : /* istanbul ignore next */ []));
527
+ /**
528
+ * Whether to use overlay API feature. The properties of overlay API can be used like an object in it.
529
+ * @group Props
530
+ */
531
+ overlayOptions = input(/* @ts-ignore */
532
+ ...(ngDevMode ? [undefined, { debugName: "overlayOptions" }] : /* istanbul ignore next */ []));
533
+ /**
534
+ * Defines a string that labels the filter input.
535
+ * @group Props
536
+ */
537
+ ariaFilterLabel = input(/* @ts-ignore */
538
+ ...(ngDevMode ? [undefined, { debugName: "ariaFilterLabel" }] : /* istanbul ignore next */ []));
539
+ /**
540
+ * Used to define a aria label attribute the current element.
541
+ * @group Props
542
+ */
543
+ ariaLabel = input(/* @ts-ignore */
544
+ ...(ngDevMode ? [undefined, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
545
+ /**
546
+ * Establishes relationships between the component and label(s) where its value should be one or more element IDs.
547
+ * @group Props
548
+ */
549
+ ariaLabelledBy = input(/* @ts-ignore */
550
+ ...(ngDevMode ? [undefined, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []));
551
+ /**
552
+ * Defines how the items are filtered.
553
+ * @group Props
554
+ */
555
+ filterMatchMode = input('contains', /* @ts-ignore */
556
+ ...(ngDevMode ? [{ debugName: "filterMatchMode" }] : /* istanbul ignore next */ []));
557
+ /**
558
+ * Advisory information to display in a tooltip on hover.
559
+ * @group Props
560
+ */
561
+ tooltip = input('', /* @ts-ignore */
562
+ ...(ngDevMode ? [{ debugName: "tooltip" }] : /* istanbul ignore next */ []));
563
+ /**
564
+ * Position of the tooltip.
565
+ * @group Props
566
+ */
567
+ tooltipPosition = input('right', /* @ts-ignore */
568
+ ...(ngDevMode ? [{ debugName: "tooltipPosition" }] : /* istanbul ignore next */ []));
569
+ /**
570
+ * Type of CSS position.
571
+ * @group Props
572
+ */
573
+ tooltipPositionStyle = input('absolute', /* @ts-ignore */
574
+ ...(ngDevMode ? [{ debugName: "tooltipPositionStyle" }] : /* istanbul ignore next */ []));
575
+ /**
576
+ * Style class of the tooltip.
577
+ * @group Props
578
+ */
579
+ tooltipStyleClass = input(/* @ts-ignore */
580
+ ...(ngDevMode ? [undefined, { debugName: "tooltipStyleClass" }] : /* istanbul ignore next */ []));
581
+ /**
582
+ * Fields used when filtering the options, defaults to optionLabel.
583
+ * @group Props
584
+ */
585
+ focusOnHover = input(true, { ...(ngDevMode ? { debugName: "focusOnHover" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
586
+ /**
587
+ * Determines if the option will be selected on focus.
588
+ * @group Props
589
+ */
590
+ selectOnFocus = input(false, { ...(ngDevMode ? { debugName: "selectOnFocus" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
591
+ /**
592
+ * Whether to focus on the first visible or selected element when the overlay panel is shown.
593
+ * @group Props
594
+ */
595
+ autoOptionFocus = input(false, { ...(ngDevMode ? { debugName: "autoOptionFocus" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
596
+ /**
597
+ * Applies focus to the filter element when the overlay is shown.
598
+ * @group Props
599
+ */
600
+ autofocusFilter = input(true, { ...(ngDevMode ? { debugName: "autofocusFilter" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
601
+ /**
602
+ * When specified, filter displays with this value.
603
+ * @group Props
604
+ */
605
+ filterValue = input(/* @ts-ignore */
606
+ ...(ngDevMode ? [undefined, { debugName: "filterValue" }] : /* istanbul ignore next */ []));
607
+ /**
608
+ * An array of objects to display as the available options.
609
+ * @group Props
610
+ */
611
+ options = input(/* @ts-ignore */
612
+ ...(ngDevMode ? [undefined, { debugName: "options" }] : /* istanbul ignore next */ []));
613
+ /**
614
+ * 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).
615
+ * @defaultValue 'self'
616
+ * @group Props
617
+ */
618
+ appendTo = input(undefined, /* @ts-ignore */
619
+ ...(ngDevMode ? [{ debugName: "appendTo" }] : /* istanbul ignore next */ []));
620
+ /**
621
+ * The motion options.
622
+ * @group Props
623
+ */
624
+ motionOptions = input(undefined, /* @ts-ignore */
625
+ ...(ngDevMode ? [{ debugName: "motionOptions" }] : /* istanbul ignore next */ []));
626
+ /**
627
+ * Callback to invoke when value of select changes.
628
+ * @param {SelectChangeEvent} event - custom change event.
629
+ * @group Emits
630
+ */
631
+ onChange = output();
632
+ /**
633
+ * Callback to invoke when data is filtered.
634
+ * @param {SelectFilterEvent} event - custom filter event.
635
+ * @group Emits
636
+ */
637
+ onFilter = output();
638
+ /**
639
+ * Callback to invoke when select gets focus.
640
+ * @param {Event} event - Browser event.
641
+ * @group Emits
642
+ */
643
+ onFocus = output();
644
+ /**
645
+ * Callback to invoke when select loses focus.
646
+ * @param {Event} event - Browser event.
647
+ * @group Emits
648
+ */
649
+ onBlur = output();
650
+ /**
651
+ * Callback to invoke when component is clicked.
652
+ * @param {MouseEvent} event - Mouse event.
653
+ * @group Emits
654
+ */
655
+ onClick = output();
656
+ /**
657
+ * Callback to invoke when select overlay gets visible.
658
+ * @param {AnimationEvent} event - Animation event.
659
+ * @group Emits
660
+ */
661
+ onShow = output();
662
+ /**
663
+ * Callback to invoke when select overlay gets hidden.
664
+ * @param {AnimationEvent} event - Animation event.
665
+ * @group Emits
666
+ */
667
+ onHide = output();
668
+ /**
669
+ * Callback to invoke when select clears the value.
670
+ * @param {Event} event - Browser event.
671
+ * @group Emits
672
+ */
673
+ onClear = output();
674
+ /**
675
+ * Callback to invoke in lazy mode to load new data.
676
+ * @param {SelectLazyLoadEvent} event - Lazy load event.
677
+ * @group Emits
678
+ */
679
+ onLazyLoad = output();
680
+ _componentStyle = inject(SelectStyle);
681
+ filterViewChild = viewChild('filter', /* @ts-ignore */
682
+ ...(ngDevMode ? [{ debugName: "filterViewChild" }] : /* istanbul ignore next */ []));
683
+ focusInputViewChild = viewChild('focusInput', /* @ts-ignore */
684
+ ...(ngDevMode ? [{ debugName: "focusInputViewChild" }] : /* istanbul ignore next */ []));
685
+ editableInputViewChild = viewChild('editableInput', /* @ts-ignore */
686
+ ...(ngDevMode ? [{ debugName: "editableInputViewChild" }] : /* istanbul ignore next */ []));
687
+ itemsViewChild = viewChild('items', /* @ts-ignore */
688
+ ...(ngDevMode ? [{ debugName: "itemsViewChild" }] : /* istanbul ignore next */ []));
689
+ scroller = viewChild('scroller', /* @ts-ignore */
690
+ ...(ngDevMode ? [{ debugName: "scroller" }] : /* istanbul ignore next */ []));
691
+ overlayViewChild = viewChild('overlay', /* @ts-ignore */
692
+ ...(ngDevMode ? [{ debugName: "overlayViewChild" }] : /* istanbul ignore next */ []));
693
+ firstHiddenFocusableElementOnOverlay = viewChild('firstHiddenFocusableEl', /* @ts-ignore */
694
+ ...(ngDevMode ? [{ debugName: "firstHiddenFocusableElementOnOverlay" }] : /* istanbul ignore next */ []));
695
+ lastHiddenFocusableElementOnOverlay = viewChild('lastHiddenFocusableEl', /* @ts-ignore */
696
+ ...(ngDevMode ? [{ debugName: "lastHiddenFocusableElementOnOverlay" }] : /* istanbul ignore next */ []));
697
+ itemsWrapper;
698
+ $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo(), /* @ts-ignore */
699
+ ...(ngDevMode ? [{ debugName: "$appendTo" }] : /* istanbul ignore next */ []));
700
+ /**
701
+ * Custom item template.
702
+ * @group Templates
703
+ */
704
+ itemTemplate = contentChild('item', { ...(ngDevMode ? { debugName: "itemTemplate" } : /* istanbul ignore next */ {}), descendants: false });
705
+ /**
706
+ * Custom group template.
707
+ * @group Templates
708
+ */
709
+ groupTemplate = contentChild('group', { ...(ngDevMode ? { debugName: "groupTemplate" } : /* istanbul ignore next */ {}), descendants: false });
710
+ /**
711
+ * Custom loader template.
712
+ * @group Templates
713
+ */
714
+ loaderTemplate;
715
+ /**
716
+ * Custom selected item template.
717
+ * @group Templates
718
+ */
719
+ selectedItemTemplate;
720
+ /**
721
+ * Custom header template.
722
+ * @group Templates
723
+ */
724
+ headerTemplate = contentChild('header', { ...(ngDevMode ? { debugName: "headerTemplate" } : /* istanbul ignore next */ {}), descendants: false });
725
+ /**
726
+ * Custom filter template.
727
+ * @group Templates
728
+ */
729
+ filterTemplate;
730
+ /**
731
+ * Custom footer template.
732
+ * @group Templates
733
+ */
734
+ footerTemplate = contentChild('footer', { ...(ngDevMode ? { debugName: "footerTemplate" } : /* istanbul ignore next */ {}), descendants: false });
735
+ /**
736
+ * Custom empty filter template.
737
+ * @group Templates
738
+ */
739
+ emptyFilterTemplate = contentChild('emptyfilter', { ...(ngDevMode ? { debugName: "emptyFilterTemplate" } : /* istanbul ignore next */ {}), descendants: false });
740
+ /**
741
+ * Custom empty template.
742
+ * @group Templates
743
+ */
744
+ emptyTemplate = contentChild('empty', { ...(ngDevMode ? { debugName: "emptyTemplate" } : /* istanbul ignore next */ {}), descendants: false });
745
+ /**
746
+ * Custom dropdown icon template.
747
+ * @group Templates
748
+ */
749
+ dropdownIconTemplate;
750
+ /**
751
+ * Custom loading icon template.
752
+ * @group Templates
753
+ */
754
+ loadingIconTemplate;
755
+ /**
756
+ * Custom clear icon template.
757
+ * @group Templates
758
+ */
759
+ clearIconTemplate;
760
+ /**
761
+ * Custom filter icon template.
762
+ * @group Templates
763
+ */
764
+ filterIconTemplate;
765
+ /**
766
+ * Custom on icon template.
767
+ * @group Templates
768
+ */
769
+ onIconTemplate = contentChild('onicon', { ...(ngDevMode ? { debugName: "onIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
770
+ /**
771
+ * Custom off icon template.
772
+ * @group Templates
773
+ */
774
+ offIconTemplate = contentChild('officon', { ...(ngDevMode ? { debugName: "offIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
775
+ /**
776
+ * Custom cancel icon template.
777
+ * @group Templates
778
+ */
779
+ cancelIconTemplate = contentChild('cancelicon', { ...(ngDevMode ? { debugName: "cancelIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
780
+ templates = contentChildren(PrimeTemplate, /* @ts-ignore */
781
+ ...(ngDevMode ? [{ debugName: "templates" }] : /* istanbul ignore next */ []));
782
+ _itemTemplate;
783
+ _selectedItemTemplate;
784
+ _headerTemplate;
785
+ _filterTemplate;
786
+ _footerTemplate;
787
+ _emptyFilterTemplate;
788
+ _emptyTemplate;
789
+ _groupTemplate;
790
+ _loaderTemplate;
791
+ _dropdownIconTemplate;
792
+ _loadingIconTemplate;
793
+ _clearIconTemplate;
794
+ _filterIconTemplate;
795
+ _cancelIconTemplate;
796
+ _onIconTemplate;
797
+ _offIconTemplate;
798
+ filterOptions;
799
+ _options = signal(null, /* @ts-ignore */
800
+ ...(ngDevMode ? [{ debugName: "_options" }] : /* istanbul ignore next */ []));
801
+ _placeholder = signal(undefined, /* @ts-ignore */
802
+ ...(ngDevMode ? [{ debugName: "_placeholder" }] : /* istanbul ignore next */ []));
803
+ value;
804
+ hover;
805
+ focused;
806
+ overlayVisible;
807
+ optionsChanged;
808
+ panel;
809
+ dimensionsUpdated;
810
+ hoveredItem;
811
+ selectedOptionUpdated;
812
+ _filterValue = signal(null, /* @ts-ignore */
813
+ ...(ngDevMode ? [{ debugName: "_filterValue" }] : /* istanbul ignore next */ []));
814
+ searchValue;
815
+ searchIndex;
816
+ searchTimeout;
817
+ previousSearchChar;
818
+ currentSearchChar;
819
+ preventModelTouched;
820
+ focusedOptionIndex = signal(-1, /* @ts-ignore */
821
+ ...(ngDevMode ? [{ debugName: "focusedOptionIndex" }] : /* istanbul ignore next */ []));
822
+ labelId;
823
+ listId;
824
+ clicked = signal(false, /* @ts-ignore */
825
+ ...(ngDevMode ? [{ debugName: "clicked" }] : /* istanbul ignore next */ []));
826
+ get emptyMessageLabel() {
827
+ return this.emptyMessage() || this.config.getTranslation(TranslationKeys.EMPTY_MESSAGE);
828
+ }
829
+ get emptyFilterMessageLabel() {
830
+ return this.emptyFilterMessage() || this.config.getTranslation(TranslationKeys.EMPTY_FILTER_MESSAGE);
831
+ }
832
+ get isVisibleClearIcon() {
833
+ return this.modelValue() != null && this.hasSelectedOption() && this.showClear() && !this.$disabled();
834
+ }
835
+ get listLabel() {
836
+ return this.config.getTranslation(TranslationKeys.ARIA)['listLabel'];
837
+ }
838
+ get focusedOptionId() {
839
+ return this.focusedOptionIndex() !== -1 ? `${this.resolvedId}_${this.focusedOptionIndex()}` : null;
840
+ }
841
+ visibleOptions = computed(() => {
842
+ const options = this.getAllVisibleAndNonVisibleOptions();
843
+ if (this._filterValue()) {
844
+ const _filterBy = this.filterBy() || this.optionLabel();
845
+ const filteredOptions = !_filterBy && !this.filterFields() && !this.optionValue()
846
+ ? this._options()?.filter((option) => {
847
+ if (option.label) {
848
+ return option.label.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()) !== -1;
849
+ }
850
+ return option.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()) !== -1;
851
+ })
852
+ : this.filterService.filter(options, this.searchFields(), this._filterValue().trim(), this.filterMatchMode(), this.filterLocale());
853
+ if (this.group()) {
854
+ const optionGroups = this._options() || [];
855
+ const filtered = [];
856
+ optionGroups.forEach((group) => {
857
+ const groupChildren = this.getOptionGroupChildren(group);
858
+ const filteredItems = groupChildren.filter((item) => filteredOptions?.includes(item));
859
+ const optionGroupChildren = this.optionGroupChildren();
860
+ if (filteredItems.length > 0)
861
+ filtered.push({
862
+ ...group,
863
+ [typeof optionGroupChildren === 'string' ? optionGroupChildren : 'items']: [...filteredItems]
864
+ });
865
+ });
866
+ return this.flatOptions(filtered);
867
+ }
868
+ return filteredOptions;
869
+ }
870
+ return options;
871
+ }, /* @ts-ignore */
872
+ ...(ngDevMode ? [{ debugName: "visibleOptions" }] : /* istanbul ignore next */ []));
873
+ label = computed(() => {
874
+ // use getAllVisibleAndNonVisibleOptions verses just visible options
875
+ // this will find the selected option whether or not the user is currently filtering because the filtered (i.e. visible) options, are a subset of all the options
876
+ const options = this.getAllVisibleAndNonVisibleOptions();
877
+ // use isOptionEqualsModelValue for the use case where the dropdown is initalized with a disabled option
878
+ const selectedOptionIndex = options.findIndex((option) => {
879
+ const isEqual = this.isOptionValueEqualsModelValue(option);
880
+ return isEqual;
881
+ });
882
+ if (selectedOptionIndex !== -1) {
883
+ const selectedOption = options[selectedOptionIndex];
884
+ // Always show the label for selected options, even if disabled
885
+ return this.getOptionLabel(selectedOption);
886
+ }
887
+ return this.placeholder() || 'p-emptylabel';
888
+ }, /* @ts-ignore */
889
+ ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
890
+ selectedOption;
891
+ constructor() {
892
+ super();
893
+ effect(() => {
894
+ const modelValue = this.modelValue();
895
+ const visibleOptions = this.visibleOptions();
896
+ const editable = this.editable();
897
+ if (visibleOptions && isNotEmpty(visibleOptions)) {
898
+ const selectedOptionIndex = this.findSelectedOptionIndex();
899
+ if (selectedOptionIndex !== -1 || modelValue === undefined || (typeof modelValue === 'string' && modelValue.length === 0) || this.isModelValueNotSet() || editable) {
900
+ this.selectedOption = visibleOptions[selectedOptionIndex];
901
+ }
902
+ else {
903
+ // If no valid selected option found but we have a model value,
904
+ // try to find the option including disabled ones for template display
905
+ const disabledSelectedIndex = visibleOptions.findIndex((option) => this.isSelected(option));
906
+ if (disabledSelectedIndex !== -1) {
907
+ this.selectedOption = visibleOptions[disabledSelectedIndex];
908
+ }
909
+ }
910
+ }
911
+ if (isEmpty(visibleOptions) && (modelValue === undefined || this.isModelValueNotSet()) && isNotEmpty(this.selectedOption)) {
912
+ this.selectedOption = null;
913
+ }
914
+ if (modelValue !== undefined && editable) {
915
+ this.updateEditableLabel();
916
+ }
917
+ this.cd.markForCheck();
918
+ });
919
+ effect(() => {
920
+ const val = this.filterValue();
921
+ setTimeout(() => {
922
+ this._filterValue.set(val);
923
+ });
924
+ });
925
+ effect(() => {
926
+ const val = this.options();
927
+ if (!deepEquals(val, this._options())) {
928
+ this._options.set(val);
929
+ }
930
+ });
931
+ effect(() => {
932
+ this._placeholder.set(this.placeholder());
933
+ });
934
+ }
935
+ isModelValueNotSet() {
936
+ return this.modelValue() === null && !this.isOptionValueEqualsModelValue(this.selectedOption);
937
+ }
938
+ getAllVisibleAndNonVisibleOptions() {
939
+ return this.group() ? this.flatOptions(this._options()) : this._options() || [];
940
+ }
941
+ onInit() {
942
+ this.autoUpdateModel();
943
+ if (this.filterBy()) {
944
+ this.filterOptions = {
945
+ filter: (value) => this.onFilterInputChange(value),
946
+ reset: () => this.resetFilter()
947
+ };
948
+ }
949
+ }
950
+ onAfterContentInit() {
951
+ this.templates().forEach((item) => {
952
+ switch (item.getType()) {
953
+ case 'item':
954
+ this._itemTemplate = item.template;
955
+ break;
956
+ case 'selectedItem':
957
+ this._selectedItemTemplate = item.template;
958
+ break;
959
+ case 'header':
960
+ this._headerTemplate = item.template;
961
+ break;
962
+ case 'filter':
963
+ this._filterTemplate = item.template;
964
+ break;
965
+ case 'footer':
966
+ this._footerTemplate = item.template;
967
+ break;
968
+ case 'emptyfilter':
969
+ this._emptyFilterTemplate = item.template;
970
+ break;
971
+ case 'empty':
972
+ this._emptyTemplate = item.template;
973
+ break;
974
+ case 'group':
975
+ this._groupTemplate = item.template;
976
+ break;
977
+ case 'loader':
978
+ this._loaderTemplate = item.template;
979
+ break;
980
+ case 'dropdownicon':
981
+ this._dropdownIconTemplate = item.template;
982
+ break;
983
+ case 'loadingicon':
984
+ this._loadingIconTemplate = item.template;
985
+ break;
986
+ case 'clearicon':
987
+ this._clearIconTemplate = item.template;
988
+ break;
989
+ case 'filtericon':
990
+ this._filterIconTemplate = item.template;
991
+ break;
992
+ case 'cancelicon':
993
+ this._cancelIconTemplate = item.template;
994
+ break;
995
+ case 'onicon':
996
+ this._onIconTemplate = item.template;
997
+ break;
998
+ case 'officon':
999
+ this._offIconTemplate = item.template;
1000
+ break;
1001
+ default:
1002
+ this._itemTemplate = item.template;
1003
+ break;
1004
+ }
1005
+ });
1006
+ }
1007
+ onAfterViewChecked() {
1008
+ this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
1009
+ if (this.optionsChanged && this.overlayVisible) {
1010
+ this.optionsChanged = false;
1011
+ this.zone.runOutsideAngular(() => {
1012
+ setTimeout(() => {
1013
+ const overlayViewChild = this.overlayViewChild();
1014
+ if (overlayViewChild) {
1015
+ overlayViewChild.alignOverlay();
1016
+ }
1017
+ }, 1);
1018
+ });
1019
+ }
1020
+ if (this.selectedOptionUpdated && this.itemsWrapper) {
1021
+ let selectedItem = findSingle(this.overlayViewChild()?.overlayViewChild()?.nativeElement, 'li[data-p-selected="true"]');
1022
+ if (selectedItem) {
1023
+ scrollInView(this.itemsWrapper, selectedItem);
1024
+ }
1025
+ this.selectedOptionUpdated = false;
1026
+ }
1027
+ }
1028
+ flatOptions(options) {
1029
+ return (options || []).reduce((result, option, index) => {
1030
+ result.push({ optionGroup: option, group: true, index });
1031
+ const optionGroupChildren = this.getOptionGroupChildren(option);
1032
+ optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));
1033
+ return result;
1034
+ }, []);
1035
+ }
1036
+ autoUpdateModel() {
1037
+ if (this.selectOnFocus() && this.autoOptionFocus() && !this.hasSelectedOption()) {
1038
+ this.focusedOptionIndex.set(this.findFirstFocusedOptionIndex());
1039
+ this.onOptionSelect(null, this.visibleOptions()[this.focusedOptionIndex()], false);
1040
+ }
1041
+ }
1042
+ onOptionSelect(event, option, isHide = true, preventChange = false) {
1043
+ // Check if option is disabled before proceeding
1044
+ if (this.isOptionDisabled(option)) {
1045
+ return;
1046
+ }
1047
+ if (!this.isSelected(option)) {
1048
+ const value = this.getOptionValue(option);
1049
+ this.updateModel(value, event);
1050
+ this.focusedOptionIndex.set(this.findSelectedOptionIndex());
1051
+ preventChange === false && this.onChange.emit({ originalEvent: event, value: value });
1052
+ }
1053
+ if (isHide) {
1054
+ this.hide(true);
1055
+ }
1056
+ }
1057
+ onOptionMouseEnter(event, index) {
1058
+ if (this.focusOnHover()) {
1059
+ this.changeFocusedOptionIndex(event, index);
1060
+ }
1061
+ }
1062
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars -- `event` is part of this method's documented signature, kept for a consistent API across the select-family components.
1063
+ updateModel(value, event) {
1064
+ this.value = value;
1065
+ this.onModelChange(value);
1066
+ this.writeModelValue(value);
1067
+ this.selectedOptionUpdated = true;
1068
+ }
1069
+ allowModelChange() {
1070
+ const modelValue = this.modelValue();
1071
+ return !!modelValue && !this.placeholder() && (modelValue === undefined || modelValue === null) && !this.editable() && !!this._options()?.length;
1072
+ }
1073
+ isSelected(option) {
1074
+ return this.isOptionValueEqualsModelValue(option);
1075
+ }
1076
+ isOptionValueEqualsModelValue(option) {
1077
+ // Don't check isValidOption here since we need to match disabled options too
1078
+ return option !== undefined && option !== null && !this.isOptionGroup(option) && equals(this.modelValue(), this.getOptionValue(option), this.equalityKey());
1079
+ }
1080
+ onAfterViewInit() {
1081
+ if (this.editable()) {
1082
+ this.updateEditableLabel();
1083
+ }
1084
+ this.updatePlaceHolderForFloatingLabel();
1085
+ }
1086
+ updatePlaceHolderForFloatingLabel() {
1087
+ const parentElement = this.el.nativeElement.parentElement;
1088
+ const isInFloatingLabel = parentElement?.classList.contains('p-float-label');
1089
+ if (parentElement && isInFloatingLabel && !this.selectedOption) {
1090
+ const label = parentElement.querySelector('label');
1091
+ if (label) {
1092
+ this._placeholder.set(label.textContent);
1093
+ }
1094
+ }
1095
+ }
1096
+ updateEditableLabel() {
1097
+ const editableInputViewChild = this.editableInputViewChild();
1098
+ if (editableInputViewChild) {
1099
+ editableInputViewChild.nativeElement.value = this.getOptionLabel(this.selectedOption) || this.modelValue() || '';
1100
+ }
1101
+ }
1102
+ clearEditableLabel() {
1103
+ const editableInputViewChild = this.editableInputViewChild();
1104
+ if (editableInputViewChild) {
1105
+ editableInputViewChild.nativeElement.value = '';
1106
+ }
1107
+ }
1108
+ getOptionIndex(index, scrollerOptions) {
1109
+ return this.virtualScrollerDisabled ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];
1110
+ }
1111
+ getOptionLabel(option) {
1112
+ const optionLabel = this.optionLabel();
1113
+ return optionLabel !== undefined && optionLabel !== null ? resolveFieldData(option, optionLabel) : option && option.label !== undefined ? option.label : option;
1114
+ }
1115
+ getOptionValue(option) {
1116
+ const optionValue = this.optionValue();
1117
+ return optionValue && optionValue !== null ? resolveFieldData(option, optionValue) : !this.optionLabel() && option && option.value !== undefined ? option.value : option;
1118
+ }
1119
+ getPTItemOptions(option, itemOptions, index, key) {
1120
+ return this.ptm(key, {
1121
+ context: {
1122
+ option,
1123
+ index,
1124
+ selected: this.isSelected(option),
1125
+ focused: this.focusedOptionIndex() === this.getOptionIndex(index, itemOptions),
1126
+ disabled: this.isOptionDisabled(option)
1127
+ }
1128
+ });
1129
+ }
1130
+ isSelectedOptionEmpty() {
1131
+ return isEmpty(this.selectedOption);
1132
+ }
1133
+ isOptionDisabled(option) {
1134
+ const optionDisabled = this.optionDisabled();
1135
+ return optionDisabled ? resolveFieldData(option, optionDisabled) : option && option.disabled !== undefined ? option.disabled : false;
1136
+ }
1137
+ getOptionGroupLabel(optionGroup) {
1138
+ const optionGroupLabel = this.optionGroupLabel();
1139
+ return optionGroupLabel !== undefined && optionGroupLabel !== null ? resolveFieldData(optionGroup, optionGroupLabel) : optionGroup && optionGroup.label !== undefined ? optionGroup.label : optionGroup;
1140
+ }
1141
+ getOptionGroupChildren(optionGroup) {
1142
+ const optionGroupChildren = this.optionGroupChildren();
1143
+ return optionGroupChildren !== undefined && optionGroupChildren !== null ? resolveFieldData(optionGroup, optionGroupChildren) : optionGroup.items;
1144
+ }
1145
+ getAriaPosInset(index) {
1146
+ return ((this.optionGroupLabel()
1147
+ ? index -
1148
+ this.visibleOptions()
1149
+ .slice(0, index)
1150
+ .filter((option) => this.isOptionGroup(option)).length
1151
+ : index) + 1);
1152
+ }
1153
+ get ariaSetSize() {
1154
+ return this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length;
1155
+ }
1156
+ /**
1157
+ * Callback to invoke on filter reset.
1158
+ * @group Method
1159
+ */
1160
+ resetFilter() {
1161
+ this._filterValue.set(null);
1162
+ const filterViewChild = this.filterViewChild();
1163
+ if (filterViewChild && filterViewChild.nativeElement) {
1164
+ filterViewChild.nativeElement.value = '';
1165
+ }
1166
+ }
1167
+ onContainerClick(event) {
1168
+ if (this.$disabled() || this.readonly() || this.loading()) {
1169
+ return;
1170
+ }
1171
+ const overlayViewChild = this.overlayViewChild();
1172
+ if (event.target.tagName === 'INPUT' || event.target.getAttribute('data-pc-section') === 'clearicon' || event.target.closest('[data-pc-section="clearicon"]')) {
1173
+ return;
1174
+ }
1175
+ else if (!overlayViewChild || !overlayViewChild.el.nativeElement.contains(event.target)) {
1176
+ this.overlayVisible ? this.hide(true) : this.show(true);
1177
+ }
1178
+ this.focusInputViewChild()?.nativeElement.focus({ preventScroll: true });
1179
+ this.onClick.emit(event);
1180
+ this.clicked.set(true);
1181
+ this.cd.detectChanges();
1182
+ }
1183
+ isEmpty() {
1184
+ return !this._options() || (this.visibleOptions() && this.visibleOptions().length === 0);
1185
+ }
1186
+ onEditableInput(event) {
1187
+ const value = event.target.value;
1188
+ this.searchValue = '';
1189
+ const matched = this.searchOptions(event, value);
1190
+ !matched && this.focusedOptionIndex.set(-1);
1191
+ this.onModelChange(value);
1192
+ this.updateModel(value || null, event);
1193
+ setTimeout(() => {
1194
+ this.onChange.emit({ originalEvent: event, value: value });
1195
+ }, 1);
1196
+ !this.overlayVisible && isNotEmpty(value) && this.show();
1197
+ }
1198
+ /**
1199
+ * Displays the panel.
1200
+ * @group Method
1201
+ */
1202
+ show(isFocus) {
1203
+ this.overlayVisible = true;
1204
+ this.focusedOptionIndex.set(this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : this.editable() ? -1 : this.findSelectedOptionIndex());
1205
+ if (isFocus) {
1206
+ focus(this.focusInputViewChild()?.nativeElement);
1207
+ }
1208
+ this.cd.markForCheck();
1209
+ }
1210
+ onOverlayBeforeEnter(event) {
1211
+ this.itemsWrapper = findSingle(this.overlayViewChild()?.overlayViewChild()?.nativeElement, this.virtualScroll() ? '[data-pc-name="virtualscroller"]' : '[data-pc-section="listcontainer"]');
1212
+ this.virtualScroll() && this.scroller()?.setContentEl(this.itemsViewChild()?.nativeElement);
1213
+ if (this._options()?.length) {
1214
+ if (this.virtualScroll()) {
1215
+ const selectedIndex = this.modelValue() ? this.focusedOptionIndex() : -1;
1216
+ if (selectedIndex !== -1) {
1217
+ setTimeout(() => {
1218
+ this.scroller()?.scrollToIndex(selectedIndex);
1219
+ }, 10);
1220
+ }
1221
+ }
1222
+ else {
1223
+ let selectedListItem = findSingle(this.itemsWrapper, '[data-p-selected="true"]');
1224
+ if (selectedListItem) {
1225
+ selectedListItem.scrollIntoView({ block: 'nearest', inline: 'nearest' });
1226
+ }
1227
+ }
1228
+ }
1229
+ const filterViewChild = this.filterViewChild();
1230
+ if (filterViewChild && filterViewChild.nativeElement) {
1231
+ this.preventModelTouched = true;
1232
+ if (this.autofocusFilter() && !this.editable()) {
1233
+ filterViewChild.nativeElement.focus();
1234
+ }
1235
+ }
1236
+ this.onShow.emit(event);
1237
+ }
1238
+ onOverlayAfterLeave(event) {
1239
+ this.itemsWrapper = null;
1240
+ this.onModelTouched();
1241
+ this.onHide.emit(event);
1242
+ }
1243
+ /**
1244
+ * Hides the panel.
1245
+ * @group Method
1246
+ */
1247
+ hide(isFocus) {
1248
+ this.overlayVisible = false;
1249
+ this.focusedOptionIndex.set(-1);
1250
+ this.clicked.set(false);
1251
+ this.searchValue = '';
1252
+ if (this.overlayOptions()?.mode === 'modal') {
1253
+ unblockBodyScroll();
1254
+ }
1255
+ if (this.filter() && this.resetFilterOnHide()) {
1256
+ this.resetFilter();
1257
+ }
1258
+ if (isFocus) {
1259
+ const focusInputViewChild = this.focusInputViewChild();
1260
+ if (focusInputViewChild) {
1261
+ focus(focusInputViewChild?.nativeElement);
1262
+ }
1263
+ const editableInputViewChild = this.editableInputViewChild();
1264
+ if (this.editable() && editableInputViewChild) {
1265
+ focus(editableInputViewChild?.nativeElement);
1266
+ }
1267
+ }
1268
+ this.cd.markForCheck();
1269
+ }
1270
+ onInputFocus(event) {
1271
+ if (this.$disabled()) {
1272
+ // For ScreenReaders
1273
+ return;
1274
+ }
1275
+ this.focused = true;
1276
+ const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.overlayVisible && this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;
1277
+ this.focusedOptionIndex.set(focusedOptionIndex);
1278
+ this.overlayVisible && this.scrollInView(this.focusedOptionIndex());
1279
+ this.onFocus.emit(event);
1280
+ }
1281
+ onInputBlur(event) {
1282
+ this.focused = false;
1283
+ this.onBlur.emit(event);
1284
+ if (!this.preventModelTouched && !this.overlayVisible) {
1285
+ this.onModelTouched();
1286
+ }
1287
+ this.preventModelTouched = false;
1288
+ }
1289
+ onKeyDown(event, search = false) {
1290
+ if (this.$disabled() || this.readonly() || this.loading()) {
1291
+ return;
1292
+ }
1293
+ switch (event.code) {
1294
+ //down
1295
+ case 'ArrowDown':
1296
+ this.onArrowDownKey(event);
1297
+ break;
1298
+ //up
1299
+ case 'ArrowUp':
1300
+ this.onArrowUpKey(event, this.editable());
1301
+ break;
1302
+ case 'ArrowLeft':
1303
+ case 'ArrowRight':
1304
+ this.onArrowLeftKey(event, this.editable());
1305
+ break;
1306
+ case 'Delete':
1307
+ this.onDeleteKey(event);
1308
+ break;
1309
+ case 'Home':
1310
+ this.onHomeKey(event, this.editable());
1311
+ break;
1312
+ case 'End':
1313
+ this.onEndKey(event, this.editable());
1314
+ break;
1315
+ case 'PageDown':
1316
+ this.onPageDownKey(event);
1317
+ break;
1318
+ case 'PageUp':
1319
+ this.onPageUpKey(event);
1320
+ break;
1321
+ //space
1322
+ case 'Space':
1323
+ this.onSpaceKey(event, search);
1324
+ break;
1325
+ //enter
1326
+ case 'Enter':
1327
+ case 'NumpadEnter':
1328
+ this.onEnterKey(event);
1329
+ break;
1330
+ //escape and tab
1331
+ case 'Escape':
1332
+ this.onEscapeKey(event);
1333
+ break;
1334
+ case 'Tab':
1335
+ this.onTabKey(event);
1336
+ break;
1337
+ case 'Backspace':
1338
+ this.onBackspaceKey(event, this.editable());
1339
+ break;
1340
+ case 'ShiftLeft':
1341
+ case 'ShiftRight':
1342
+ //NOOP
1343
+ break;
1344
+ default:
1345
+ if (!event.metaKey && isPrintableCharacter(event.key)) {
1346
+ !this.overlayVisible && this.show();
1347
+ !this.editable() && this.searchOptions(event, event.key);
1348
+ }
1349
+ break;
1350
+ }
1351
+ this.clicked.set(false);
1352
+ }
1353
+ onFilterKeyDown(event) {
1354
+ switch (event.code) {
1355
+ case 'ArrowDown':
1356
+ this.onArrowDownKey(event);
1357
+ break;
1358
+ case 'ArrowUp':
1359
+ this.onArrowUpKey(event, true);
1360
+ break;
1361
+ case 'ArrowLeft':
1362
+ case 'ArrowRight':
1363
+ this.onArrowLeftKey(event, true);
1364
+ break;
1365
+ case 'Home':
1366
+ this.onHomeKey(event, true);
1367
+ break;
1368
+ case 'End':
1369
+ this.onEndKey(event, true);
1370
+ break;
1371
+ case 'Enter':
1372
+ case 'NumpadEnter':
1373
+ this.onEnterKey(event, true);
1374
+ break;
1375
+ case 'Escape':
1376
+ this.onEscapeKey(event);
1377
+ break;
1378
+ case 'Tab':
1379
+ this.onTabKey(event, true);
1380
+ break;
1381
+ default:
1382
+ break;
1383
+ }
1384
+ }
1385
+ onFilterBlur() {
1386
+ this.focusedOptionIndex.set(-1);
1387
+ }
1388
+ onArrowDownKey(event) {
1389
+ if (!this.overlayVisible) {
1390
+ this.show();
1391
+ this.editable() && this.changeFocusedOptionIndex(event, this.findSelectedOptionIndex());
1392
+ }
1393
+ else {
1394
+ const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.clicked() ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex();
1395
+ this.changeFocusedOptionIndex(event, optionIndex);
1396
+ }
1397
+ // const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();
1398
+ // this.changeFocusedOptionIndex(event, optionIndex);
1399
+ // !this.overlayVisible && this.show();
1400
+ event.preventDefault();
1401
+ event.stopPropagation();
1402
+ }
1403
+ changeFocusedOptionIndex(event, index) {
1404
+ if (this.focusedOptionIndex() !== index) {
1405
+ this.focusedOptionIndex.set(index);
1406
+ this.scrollInView();
1407
+ if (this.selectOnFocus()) {
1408
+ const option = this.visibleOptions()[index];
1409
+ this.onOptionSelect(event, option, false);
1410
+ }
1411
+ }
1412
+ }
1413
+ get virtualScrollerDisabled() {
1414
+ return !this.virtualScroll();
1415
+ }
1416
+ scrollInView(index = -1) {
1417
+ const id = index !== -1 ? `${this.resolvedId}_${index}` : this.focusedOptionId;
1418
+ const itemsViewChild = this.itemsViewChild();
1419
+ if (itemsViewChild && itemsViewChild.nativeElement) {
1420
+ const element = findSingle(itemsViewChild.nativeElement, `li[id="${id}"]`);
1421
+ if (element) {
1422
+ element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });
1423
+ }
1424
+ else if (!this.virtualScrollerDisabled) {
1425
+ setTimeout(() => {
1426
+ this.virtualScroll() && this.scroller()?.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());
1427
+ }, 0);
1428
+ }
1429
+ }
1430
+ }
1431
+ hasSelectedOption() {
1432
+ return this.modelValue() !== undefined;
1433
+ }
1434
+ isValidSelectedOption(option) {
1435
+ return this.isValidOption(option) && this.isSelected(option);
1436
+ }
1437
+ equalityKey() {
1438
+ return this.optionValue() ? undefined : this.dataKey();
1439
+ }
1440
+ findFirstFocusedOptionIndex() {
1441
+ const selectedIndex = this.findSelectedOptionIndex();
1442
+ return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;
1443
+ }
1444
+ findFirstOptionIndex() {
1445
+ return this.visibleOptions().findIndex((option) => this.isValidOption(option));
1446
+ }
1447
+ findSelectedOptionIndex() {
1448
+ return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;
1449
+ }
1450
+ findNextOptionIndex(index) {
1451
+ const matchedOptionIndex = index < this.visibleOptions().length - 1
1452
+ ? this.visibleOptions()
1453
+ .slice(index + 1)
1454
+ .findIndex((option) => this.isValidOption(option))
1455
+ : -1;
1456
+ return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;
1457
+ }
1458
+ findPrevOptionIndex(index) {
1459
+ const matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidOption(option)) : -1;
1460
+ return matchedOptionIndex > -1 ? matchedOptionIndex : index;
1461
+ }
1462
+ findLastOptionIndex() {
1463
+ return findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));
1464
+ }
1465
+ findLastFocusedOptionIndex() {
1466
+ const selectedIndex = this.findSelectedOptionIndex();
1467
+ return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;
1468
+ }
1469
+ isValidOption(option) {
1470
+ return option !== undefined && option !== null && !(this.isOptionDisabled(option) || this.isOptionGroup(option));
1471
+ }
1472
+ isOptionGroup(option) {
1473
+ const optionGroupLabel = this.optionGroupLabel();
1474
+ return optionGroupLabel !== undefined && optionGroupLabel !== null && option.optionGroup !== undefined && option.optionGroup !== null && option.group;
1475
+ }
1476
+ onArrowUpKey(event, pressedInInputText = false) {
1477
+ if (event.altKey && !pressedInInputText) {
1478
+ if (this.focusedOptionIndex() !== -1) {
1479
+ const option = this.visibleOptions()[this.focusedOptionIndex()];
1480
+ this.onOptionSelect(event, option);
1481
+ }
1482
+ this.overlayVisible && this.hide();
1483
+ }
1484
+ else {
1485
+ const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.clicked() ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex();
1486
+ this.changeFocusedOptionIndex(event, optionIndex);
1487
+ !this.overlayVisible && this.show();
1488
+ }
1489
+ event.preventDefault();
1490
+ event.stopPropagation();
1491
+ }
1492
+ onArrowLeftKey(event, pressedInInputText = false) {
1493
+ pressedInInputText && this.focusedOptionIndex.set(-1);
1494
+ }
1495
+ onDeleteKey(event) {
1496
+ if (this.showClear()) {
1497
+ this.clear(event);
1498
+ event.preventDefault();
1499
+ }
1500
+ }
1501
+ onHomeKey(event, pressedInInputText = false) {
1502
+ if (pressedInInputText && event.currentTarget && event.currentTarget.setSelectionRange) {
1503
+ const target = event.currentTarget;
1504
+ if (event.shiftKey) {
1505
+ target.setSelectionRange(0, target.value.length);
1506
+ }
1507
+ else {
1508
+ target.setSelectionRange(0, 0);
1509
+ this.focusedOptionIndex.set(-1);
1510
+ }
1511
+ }
1512
+ else {
1513
+ this.changeFocusedOptionIndex(event, this.findFirstOptionIndex());
1514
+ !this.overlayVisible && this.show();
1515
+ }
1516
+ event.preventDefault();
1517
+ }
1518
+ onEndKey(event, pressedInInputText = false) {
1519
+ if (pressedInInputText && event.currentTarget && event.currentTarget.setSelectionRange) {
1520
+ const target = event.currentTarget;
1521
+ if (event.shiftKey) {
1522
+ target.setSelectionRange(0, target.value.length);
1523
+ }
1524
+ else {
1525
+ const len = target.value.length;
1526
+ target.setSelectionRange(len, len);
1527
+ this.focusedOptionIndex.set(-1);
1528
+ }
1529
+ }
1530
+ else {
1531
+ this.changeFocusedOptionIndex(event, this.findLastOptionIndex());
1532
+ !this.overlayVisible && this.show();
1533
+ }
1534
+ event.preventDefault();
1535
+ }
1536
+ onPageDownKey(event) {
1537
+ this.scrollInView(this.visibleOptions().length - 1);
1538
+ event.preventDefault();
1539
+ }
1540
+ onPageUpKey(event) {
1541
+ this.scrollInView(0);
1542
+ event.preventDefault();
1543
+ }
1544
+ onSpaceKey(event, pressedInInputText = false) {
1545
+ !this.editable() && !pressedInInputText && this.onEnterKey(event);
1546
+ }
1547
+ onEnterKey(event, pressedInInput = false) {
1548
+ if (!this.overlayVisible) {
1549
+ this.focusedOptionIndex.set(-1);
1550
+ this.onArrowDownKey(event);
1551
+ }
1552
+ else {
1553
+ if (this.focusedOptionIndex() !== -1) {
1554
+ const option = this.visibleOptions()[this.focusedOptionIndex()];
1555
+ this.onOptionSelect(event, option);
1556
+ }
1557
+ !pressedInInput && this.hide();
1558
+ }
1559
+ event.preventDefault();
1560
+ }
1561
+ onEscapeKey(event) {
1562
+ if (this.overlayVisible) {
1563
+ this.hide(true);
1564
+ event.preventDefault();
1565
+ event.stopPropagation();
1566
+ }
1567
+ }
1568
+ onTabKey(event, pressedInInputText = false) {
1569
+ if (!pressedInInputText) {
1570
+ if (this.overlayVisible && this.hasFocusableElements()) {
1571
+ focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay()?.nativeElement : this.firstHiddenFocusableElementOnOverlay()?.nativeElement);
1572
+ event.preventDefault();
1573
+ }
1574
+ else {
1575
+ if (this.focusedOptionIndex() !== -1 && this.overlayVisible) {
1576
+ const option = this.visibleOptions()[this.focusedOptionIndex()];
1577
+ this.onOptionSelect(event, option);
1578
+ }
1579
+ this.overlayVisible && this.hide(this.filter());
1580
+ }
1581
+ }
1582
+ event.stopPropagation();
1583
+ }
1584
+ onFirstHiddenFocus(event) {
1585
+ const focusInputViewChild = this.focusInputViewChild();
1586
+ const focusableEl = event.relatedTarget === focusInputViewChild?.nativeElement ? getFirstFocusableElement(this.overlayViewChild()?.el?.nativeElement, ':not([data-p-hidden-focusable="true"])') : focusInputViewChild?.nativeElement;
1587
+ focus(focusableEl);
1588
+ }
1589
+ onLastHiddenFocus(event) {
1590
+ const focusInputViewChild = this.focusInputViewChild();
1591
+ const focusableEl = event.relatedTarget === focusInputViewChild?.nativeElement ? getLastFocusableElement(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ':not([data-p-hidden-focusable="true"])') : focusInputViewChild?.nativeElement;
1592
+ focus(focusableEl);
1593
+ }
1594
+ hasFocusableElements() {
1595
+ return getFocusableElements(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ':not([data-p-hidden-focusable="true"])').length > 0;
1596
+ }
1597
+ onBackspaceKey(event, pressedInInputText = false) {
1598
+ if (pressedInInputText) {
1599
+ !this.overlayVisible && this.show();
1600
+ }
1601
+ }
1602
+ searchFields() {
1603
+ return this.filterBy()?.split(',') || this.filterFields() || [this.optionLabel()];
1604
+ }
1605
+ searchOptions(event, char) {
1606
+ this.searchValue = (this.searchValue || '') + char;
1607
+ let optionIndex = -1;
1608
+ let matched = false;
1609
+ optionIndex = this.visibleOptions().findIndex((option) => this.isOptionMatched(option));
1610
+ if (optionIndex !== -1) {
1611
+ matched = true;
1612
+ }
1613
+ if (optionIndex === -1 && this.focusedOptionIndex() === -1) {
1614
+ optionIndex = this.findFirstFocusedOptionIndex();
1615
+ }
1616
+ if (optionIndex !== -1) {
1617
+ setTimeout(() => {
1618
+ this.changeFocusedOptionIndex(event, optionIndex);
1619
+ });
1620
+ }
1621
+ if (this.searchTimeout) {
1622
+ clearTimeout(this.searchTimeout);
1623
+ }
1624
+ this.searchTimeout = setTimeout(() => {
1625
+ this.searchValue = '';
1626
+ this.searchTimeout = null;
1627
+ }, 500);
1628
+ return matched;
1629
+ }
1630
+ isOptionMatched(option) {
1631
+ return this.isValidOption(option) && this.getOptionLabel(option).toString().toLocaleLowerCase(this.filterLocale()).startsWith(this.searchValue?.toLocaleLowerCase(this.filterLocale()));
1632
+ }
1633
+ onFilterInputChange(event) {
1634
+ let value = event.target.value;
1635
+ this._filterValue.set(value);
1636
+ this.focusedOptionIndex.set(-1);
1637
+ this.onFilter.emit({ originalEvent: event, filter: this._filterValue() });
1638
+ !this.virtualScrollerDisabled && this.scroller()?.scrollToIndex(0);
1639
+ setTimeout(() => {
1640
+ this.overlayViewChild()?.alignOverlay();
1641
+ });
1642
+ this.cd.markForCheck();
1643
+ }
1644
+ applyFocus() {
1645
+ if (this.editable())
1646
+ findSingle(this.el.nativeElement, '[data-pc-section="label"]').focus();
1647
+ else
1648
+ focus(this.focusInputViewChild()?.nativeElement);
1649
+ }
1650
+ /**
1651
+ * Applies focus.
1652
+ * @group Method
1653
+ */
1654
+ focus() {
1655
+ this.applyFocus();
1656
+ }
1657
+ /**
1658
+ * Clears the model.
1659
+ * @group Method
1660
+ */
1661
+ clear(event) {
1662
+ this.updateModel(null, event);
1663
+ this.clearEditableLabel();
1664
+ this.onModelTouched();
1665
+ this.onChange.emit({ originalEvent: event, value: this.value });
1666
+ this.onClear.emit(event ?? new Event('clear'));
1667
+ this.resetFilter();
1668
+ }
1669
+ /**
1670
+ * @override
1671
+ *
1672
+ * @see {@link BaseEditableHolder.writeControlValue}
1673
+ * Writes the value to the control.
1674
+ */
1675
+ writeControlValue(value, setModelValue) {
1676
+ if (this.filter()) {
1677
+ this.resetFilter();
1678
+ }
1679
+ this.value = value;
1680
+ this.allowModelChange() && this.onModelChange(value);
1681
+ setModelValue(this.value);
1682
+ this.updateEditableLabel();
1683
+ this.cd.markForCheck();
1684
+ }
1685
+ get containerDataP() {
1686
+ return this.cn({
1687
+ invalid: this.invalid(),
1688
+ disabled: this.$disabled(),
1689
+ focus: this.focused,
1690
+ fluid: this.hasFluid,
1691
+ filled: this.$variant() === 'filled',
1692
+ [this.size()]: this.size()
1693
+ });
1694
+ }
1695
+ get labelDataP() {
1696
+ return this.cn({
1697
+ placeholder: this.label() === this.placeholder(),
1698
+ clearable: this.showClear(),
1699
+ disabled: this.$disabled(),
1700
+ [this.size()]: this.size(),
1701
+ empty: !this.editable() && !this.selectedItemTemplate && (!this.label?.() || this.label() === 'p-emptylabel' || this.label()?.length === 0)
1702
+ });
1703
+ }
1704
+ get dropdownIconDataP() {
1705
+ return this.cn({
1706
+ [this.size()]: this.size()
1707
+ });
1708
+ }
1709
+ get overlayDataP() {
1710
+ return this.cn({
1711
+ ['overlay-' + this.$appendTo()]: 'overlay-' + this.$appendTo()
1712
+ });
1713
+ }
1714
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: Select, deps: [], target: i0.ɵɵFactoryTarget.Component });
1715
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: Select, isStandalone: true, selector: "p-select", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, panelStyle: { classPropertyName: "panelStyle", publicName: "panelStyle", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, panelStyleClass: { classPropertyName: "panelStyleClass", publicName: "panelStyleClass", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, editable: { classPropertyName: "editable", publicName: "editable", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, loadingIcon: { classPropertyName: "loadingIcon", publicName: "loadingIcon", 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 }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: true, isRequired: false, transformFunction: null }, filterBy: { classPropertyName: "filterBy", publicName: "filterBy", isSignal: true, isRequired: false, transformFunction: null }, filterFields: { classPropertyName: "filterFields", publicName: "filterFields", isSignal: true, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: true, isRequired: false, transformFunction: null }, resetFilterOnHide: { classPropertyName: "resetFilterOnHide", publicName: "resetFilterOnHide", isSignal: true, isRequired: false, transformFunction: null }, checkmark: { classPropertyName: "checkmark", publicName: "checkmark", isSignal: true, isRequired: false, transformFunction: null }, dropdownIcon: { classPropertyName: "dropdownIcon", publicName: "dropdownIcon", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", 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 }, group: { classPropertyName: "group", publicName: "group", isSignal: true, isRequired: false, transformFunction: null }, showClear: { classPropertyName: "showClear", publicName: "showClear", 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 }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: true, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: true, isRequired: false, transformFunction: null }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", 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 }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", 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 }, focusOnHover: { classPropertyName: "focusOnHover", publicName: "focusOnHover", 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 }, autofocusFilter: { classPropertyName: "autofocusFilter", publicName: "autofocusFilter", isSignal: true, isRequired: false, transformFunction: null }, filterValue: { classPropertyName: "filterValue", publicName: "filterValue", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", 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: { onChange: "onChange", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onClick: "onClick", onShow: "onShow", onHide: "onHide", onClear: "onClear", onLazyLoad: "onLazyLoad" }, host: { listeners: { "click": "onContainerClick($event)" }, properties: { "class": "cn(cx('root'), styleClass())", "attr.id": "resolvedId", "attr.data-p": "containerDataP" } }, providers: [SELECT_VALUE_ACCESSOR, SelectStyle, { provide: SELECT_INSTANCE, useExisting: Select }, { provide: PARENT_INSTANCE, useExisting: Select }], queries: [{ propertyName: "itemTemplate", first: true, predicate: ["item"], isSignal: true }, { propertyName: "groupTemplate", first: true, predicate: ["group"], isSignal: true }, { propertyName: "headerTemplate", first: true, predicate: ["header"], isSignal: true }, { propertyName: "footerTemplate", first: true, predicate: ["footer"], isSignal: true }, { propertyName: "emptyFilterTemplate", first: true, predicate: ["emptyfilter"], isSignal: true }, { propertyName: "emptyTemplate", first: true, predicate: ["empty"], isSignal: true }, { propertyName: "onIconTemplate", first: true, predicate: ["onicon"], isSignal: true }, { propertyName: "offIconTemplate", first: true, predicate: ["officon"], isSignal: true }, { propertyName: "cancelIconTemplate", first: true, predicate: ["cancelicon"], isSignal: true }, { propertyName: "templates", predicate: PrimeTemplate, isSignal: true }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"] }, { propertyName: "selectedItemTemplate", first: true, predicate: ["selectedItem"] }, { propertyName: "filterTemplate", first: true, predicate: ["filter"] }, { propertyName: "dropdownIconTemplate", first: true, predicate: ["dropdownicon"] }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"] }, { propertyName: "clearIconTemplate", first: true, predicate: ["clearicon"] }, { propertyName: "filterIconTemplate", first: true, predicate: ["filtericon"] }], viewQueries: [{ propertyName: "filterViewChild", first: true, predicate: ["filter"], descendants: true, isSignal: true }, { propertyName: "focusInputViewChild", first: true, predicate: ["focusInput"], descendants: true, isSignal: true }, { propertyName: "editableInputViewChild", first: true, predicate: ["editableInput"], 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: "overlayViewChild", first: true, predicate: ["overlay"], descendants: true, isSignal: true }, { propertyName: "firstHiddenFocusableElementOnOverlay", first: true, predicate: ["firstHiddenFocusableEl"], descendants: true, isSignal: true }, { propertyName: "lastHiddenFocusableElementOnOverlay", first: true, predicate: ["lastHiddenFocusableEl"], descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i2.Bind }], ngImport: i0, template: `
1716
+ @if (!editable()) {
1717
+ <span
1718
+ #focusInput
1719
+ [class]="cx('label')"
1720
+ [pBind]="ptm('label')"
1721
+ [pTooltip]="tooltip()"
1722
+ [pTooltipUnstyled]="unstyled()"
1723
+ [tooltipPosition]="tooltipPosition()"
1724
+ [positionStyle]="tooltipPositionStyle()"
1725
+ [tooltipStyleClass]="tooltipStyleClass()"
1726
+ [attr.aria-disabled]="$disabled()"
1727
+ [attr.id]="inputId()"
1728
+ role="combobox"
1729
+ [attr.aria-label]="ariaLabel() || (label() === 'p-emptylabel' ? undefined : label())"
1730
+ [attr.aria-labelledby]="ariaLabelledBy()"
1731
+ [attr.aria-haspopup]="'listbox'"
1732
+ [attr.aria-expanded]="overlayVisible ?? false"
1733
+ [attr.aria-controls]="overlayVisible ? id() + '_list' : null"
1734
+ [attr.tabindex]="!$disabled() ? tabindex() : -1"
1735
+ [pAutoFocus]="autofocus()"
1736
+ [attr.aria-activedescendant]="focused ? focusedOptionId : undefined"
1737
+ (focus)="onInputFocus($event)"
1738
+ (blur)="onInputBlur($event)"
1739
+ (keydown)="onKeyDown($event)"
1740
+ [attr.aria-required]="required()"
1741
+ [attr.required]="required() ? '' : undefined"
1742
+ [attr.disabled]="$disabled() ? '' : undefined"
1743
+ [attr.data-p]="labelDataP"
1744
+ >
1745
+ @if (!selectedItemTemplate && !_selectedItemTemplate) {
1746
+ {{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}
1747
+ } @else {
1748
+ @if (isSelectedOptionEmpty()) {
1749
+ <span>{{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}</span>
1750
+ }
1751
+ }
1752
+ @if ((selectedItemTemplate || _selectedItemTemplate) && !isSelectedOptionEmpty()) {
1753
+ <ng-container [ngTemplateOutlet]="selectedItemTemplate || _selectedItemTemplate" [ngTemplateOutletContext]="{ $implicit: selectedOption }"></ng-container>
1754
+ }
1755
+ </span>
1756
+ }
1757
+ @if (editable()) {
1758
+ <input
1759
+ #editableInput
1760
+ type="text"
1761
+ [attr.id]="inputId()"
1762
+ [class]="cx('label')"
1763
+ [pBind]="ptm('label')"
1764
+ [attr.aria-haspopup]="'listbox'"
1765
+ [attr.placeholder]="modelValue() === undefined || modelValue() === null ? placeholder() : undefined"
1766
+ [attr.aria-label]="ariaLabel() || (label() === 'p-emptylabel' ? undefined : label())"
1767
+ (input)="onEditableInput($event)"
1768
+ (keydown)="onKeyDown($event)"
1769
+ [pAutoFocus]="autofocus()"
1770
+ [attr.aria-activedescendant]="focused ? focusedOptionId : undefined"
1771
+ (focus)="onInputFocus($event)"
1772
+ (blur)="onInputBlur($event)"
1773
+ [attr.name]="name()"
1774
+ [attr.minlength]="minlength()"
1775
+ [attr.min]="min()"
1776
+ [attr.max]="max()"
1777
+ [attr.pattern]="pattern()"
1778
+ [attr.size]="inputSize()"
1779
+ [attr.maxlength]="maxlength()"
1780
+ [attr.required]="required() ? '' : undefined"
1781
+ [attr.readonly]="readonly() ? '' : undefined"
1782
+ [attr.disabled]="$disabled() ? '' : undefined"
1783
+ [attr.data-p]="labelDataP"
1784
+ />
1785
+ }
1786
+ @if (isVisibleClearIcon) {
1787
+ <ng-container>
1788
+ @if (!clearIconTemplate && !_clearIconTemplate) {
1789
+ <svg data-p-icon="times" [class]="cx('clearIcon')" [pBind]="ptm('clearIcon')" (click)="clear($event)" [attr.data-pc-section]="'clearicon'" />
1790
+ }
1791
+ @if (clearIconTemplate || _clearIconTemplate) {
1792
+ <span [class]="cx('clearIcon')" [pBind]="ptm('clearIcon')" (click)="clear($event)" [attr.data-pc-section]="'clearicon'">
1793
+ <ng-template *ngTemplateOutlet="clearIconTemplate || _clearIconTemplate; context: { class: cx('clearIcon') }"></ng-template>
1794
+ </span>
1795
+ }
1796
+ </ng-container>
1797
+ }
1798
+
1799
+ <div [class]="cx('dropdown')" [pBind]="ptm('dropdown')" role="button" aria-label="dropdown trigger" aria-haspopup="listbox" [attr.aria-expanded]="overlayVisible ?? false" [attr.data-pc-section]="'trigger'">
1800
+ @if (loading()) {
1801
+ <ng-container>
1802
+ @if (loadingIconTemplate || _loadingIconTemplate) {
1803
+ <ng-container *ngTemplateOutlet="loadingIconTemplate || _loadingIconTemplate"></ng-container>
1804
+ }
1805
+ @if (!loadingIconTemplate && !_loadingIconTemplate) {
1806
+ <ng-container>
1807
+ @if (loadingIcon()) {
1808
+ <span [class]="cn(cx('loadingIcon'), 'pi-spin' + loadingIcon())" [pBind]="ptm('loadingIcon')" aria-hidden="true"></span>
1809
+ }
1810
+ @if (!loadingIcon()) {
1811
+ <span [class]="cn(cx('loadingIcon'), 'pi pi-spinner pi-spin')" [pBind]="ptm('loadingIcon')" aria-hidden="true"></span>
1812
+ }
1813
+ </ng-container>
1814
+ }
1815
+ </ng-container>
1816
+ } @else {
1817
+ @if (!dropdownIconTemplate && !_dropdownIconTemplate) {
1818
+ <ng-container>
1819
+ @if (dropdownIcon()) {
1820
+ <span [class]="cn(cx('dropdownIcon'), dropdownIcon())" [pBind]="ptm('dropdownIcon')"></span>
1821
+ }
1822
+ @if (!dropdownIcon()) {
1823
+ <svg data-p-icon="chevron-down" [class]="cx('dropdownIcon')" [pBind]="ptm('dropdownIcon')" />
1824
+ }
1825
+ </ng-container>
1826
+ }
1827
+ @if (dropdownIconTemplate || _dropdownIconTemplate) {
1828
+ <span [class]="cx('dropdownIcon')" [pBind]="ptm('dropdownIcon')">
1829
+ <ng-template *ngTemplateOutlet="dropdownIconTemplate || _dropdownIconTemplate; context: { class: cx('dropdownIcon') }"></ng-template>
1830
+ </span>
1831
+ }
1832
+ }
1833
+ </div>
1834
+
1835
+ <p-overlay
1836
+ #overlay
1837
+ [hostAttrSelector]="$attrSelector"
1838
+ [(visible)]="overlayVisible"
1839
+ [options]="overlayOptions()"
1840
+ [target]="'@parent'"
1841
+ [appendTo]="$appendTo()"
1842
+ [unstyled]="unstyled()"
1843
+ [pt]="ptm('pcOverlay')"
1844
+ [motionOptions]="motionOptions()"
1845
+ (onBeforeEnter)="onOverlayBeforeEnter($event)"
1846
+ (onAfterLeave)="onOverlayAfterLeave($event)"
1847
+ (onHide)="hide()"
1848
+ >
1849
+ <ng-template #content>
1850
+ <div [class]="cn(cx('overlay'), panelStyleClass())" [ngStyle]="panelStyle()" [pBind]="ptm('overlay')" [attr.data-p]="overlayDataP">
1851
+ <span
1852
+ #firstHiddenFocusableEl
1853
+ role="presentation"
1854
+ class="p-hidden-accessible p-hidden-focusable"
1855
+ [attr.tabindex]="0"
1856
+ (focus)="onFirstHiddenFocus($event)"
1857
+ [attr.data-p-hidden-accessible]="true"
1858
+ [attr.data-p-hidden-focusable]="true"
1859
+ [pBind]="ptm('hiddenFirstFocusableEl')"
1860
+ >
1861
+ </span>
1862
+ <ng-container *ngTemplateOutlet="headerTemplate() || _headerTemplate"></ng-container>
1863
+ @if (filter()) {
1864
+ <div [class]="cx('header')" (click)="$event.stopPropagation()" [pBind]="ptm('header')">
1865
+ @if (filterTemplate || _filterTemplate) {
1866
+ <ng-container *ngTemplateOutlet="filterTemplate || _filterTemplate; context: { options: filterOptions }"></ng-container>
1867
+ } @else {
1868
+ <p-iconfield [pt]="ptm('pcFilterContainer')" [unstyled]="unstyled()">
1869
+ <input
1870
+ #filter
1871
+ pInputText
1872
+ [pSize]="size()"
1873
+ type="text"
1874
+ role="searchbox"
1875
+ autocomplete="off"
1876
+ [value]="_filterValue() || ''"
1877
+ [class]="cx('pcFilter')"
1878
+ [variant]="$variant()"
1879
+ [attr.placeholder]="filterPlaceholder()"
1880
+ [attr.aria-owns]="id() + '_list'"
1881
+ (input)="onFilterInputChange($event)"
1882
+ [attr.aria-label]="ariaFilterLabel()"
1883
+ [attr.aria-activedescendant]="focusedOptionId"
1884
+ (keydown)="onFilterKeyDown($event)"
1885
+ (blur)="onFilterBlur($event)"
1886
+ [pt]="ptm('pcFilter')"
1887
+ [unstyled]="unstyled()"
1888
+ />
1889
+ <p-inputicon [pt]="ptm('pcFilterIconContainer')" [unstyled]="unstyled()">
1890
+ @if (!filterIconTemplate && !_filterIconTemplate) {
1891
+ <svg data-p-icon="search" [pBind]="ptm('filterIcon')" />
1892
+ }
1893
+ @if (filterIconTemplate || _filterIconTemplate) {
1894
+ <span [pBind]="ptm('filterIcon')">
1895
+ <ng-template *ngTemplateOutlet="filterIconTemplate || _filterIconTemplate"></ng-template>
1896
+ </span>
1897
+ }
1898
+ </p-inputicon>
1899
+ </p-iconfield>
1900
+ }
1901
+ </div>
1902
+ }
1903
+ <div [class]="cx('listContainer')" [style.max-height]="virtualScroll() ? 'auto' : scrollHeight() || 'auto'" [pBind]="ptm('listContainer')">
1904
+ @if (virtualScroll()) {
1905
+ <p-scroller
1906
+ hostName="select"
1907
+ #scroller
1908
+ [items]="visibleOptions()"
1909
+ [style]="{ height: scrollHeight() }"
1910
+ [itemSize]="virtualScrollItemSize()"
1911
+ [autoSize]="true"
1912
+ [lazy]="lazy()"
1913
+ (onLazyLoad)="onLazyLoad.emit($event)"
1914
+ [options]="virtualScrollOptions()"
1915
+ [pt]="ptm('virtualScroller')"
1916
+ >
1917
+ <ng-template #content let-items let-scrollerOptions="options">
1918
+ <ng-container *ngTemplateOutlet="buildInItems; context: { $implicit: items, options: scrollerOptions }"></ng-container>
1919
+ </ng-template>
1920
+ @if (loaderTemplate || _loaderTemplate) {
1921
+ <ng-template #loader let-scrollerOptions="options">
1922
+ <ng-container *ngTemplateOutlet="loaderTemplate || _loaderTemplate; context: { options: scrollerOptions }"></ng-container>
1923
+ </ng-template>
1924
+ }
1925
+ </p-scroller>
1926
+ }
1927
+ @if (!virtualScroll()) {
1928
+ <ng-container *ngTemplateOutlet="buildInItems; context: { $implicit: visibleOptions(), options: {} }"></ng-container>
1929
+ }
1930
+
1931
+ <ng-template #buildInItems let-items let-scrollerOptions="options">
1932
+ <ul #items [attr.id]="id() + '_list'" [attr.aria-label]="listLabel" [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox" [pBind]="ptm('list')">
1933
+ @for (option of items; track option; let i = $index) {
1934
+ @if (isOptionGroup(option)) {
1935
+ <li [class]="cx('optionGroup')" [attr.id]="id() + '_' + getOptionIndex(i, scrollerOptions)" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option" [pBind]="ptm('optionGroup')">
1936
+ @if (!groupTemplate() && !_groupTemplate) {
1937
+ <span [class]="cx('optionGroupLabel')" [pBind]="ptm('optionGroupLabel')">{{ getOptionGroupLabel(option.optionGroup) }}</span>
1938
+ }
1939
+ <ng-container *ngTemplateOutlet="groupTemplate() || _groupTemplate; context: { $implicit: option.optionGroup }"></ng-container>
1940
+ </li>
1941
+ }
1942
+ @if (!isOptionGroup(option)) {
1943
+ <p-select-item
1944
+ [id]="id() + '_' + getOptionIndex(i, scrollerOptions)"
1945
+ [option]="option"
1946
+ [checkmark]="checkmark()"
1947
+ [selected]="isSelected(option)"
1948
+ [label]="getOptionLabel(option)"
1949
+ [disabled]="isOptionDisabled(option)"
1950
+ [template]="itemTemplate() || _itemTemplate"
1951
+ [focused]="focusedOptionIndex() === getOptionIndex(i, scrollerOptions)"
1952
+ [ariaPosInset]="getAriaPosInset(getOptionIndex(i, scrollerOptions))"
1953
+ [ariaSetSize]="ariaSetSize"
1954
+ [index]="i"
1955
+ [unstyled]="unstyled()"
1956
+ [scrollerOptions]="scrollerOptions"
1957
+ (onClick)="onOptionSelect($event, option)"
1958
+ (onMouseEnter)="onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))"
1959
+ ></p-select-item>
1960
+ }
1961
+ }
1962
+ @if (filterValue && isEmpty()) {
1963
+ <li [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option" [pBind]="ptm('emptyMessage')">
1964
+ @if (!emptyFilterTemplate() && !_emptyFilterTemplate && !emptyTemplate()) {
1965
+ {{ emptyFilterMessageLabel }}
1966
+ } @else {
1967
+ <ng-container *ngTemplateOutlet="emptyFilterTemplate() || _emptyFilterTemplate || emptyTemplate() || _emptyTemplate"></ng-container>
1968
+ }
1969
+ </li>
1970
+ }
1971
+ @if (!filterValue && isEmpty()) {
1972
+ <li [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option" [pBind]="ptm('emptyMessage')">
1973
+ @if (!emptyTemplate() && !_emptyTemplate) {
1974
+ {{ emptyMessageLabel || emptyFilterMessageLabel }}
1975
+ } @else {
1976
+ <ng-container *ngTemplateOutlet="emptyTemplate() || _emptyTemplate"></ng-container>
1977
+ }
1978
+ </li>
1979
+ }
1980
+ </ul>
1981
+ </ng-template>
1982
+ </div>
1983
+ <ng-container *ngTemplateOutlet="footerTemplate() || _footerTemplate"></ng-container>
1984
+ <span
1985
+ #lastHiddenFocusableEl
1986
+ role="presentation"
1987
+ class="p-hidden-accessible p-hidden-focusable"
1988
+ [pBind]="ptm('hiddenLastFocusableEl')"
1989
+ [attr.tabindex]="0"
1990
+ (focus)="onLastHiddenFocus($event)"
1991
+ [attr.data-p-hidden-accessible]="true"
1992
+ [attr.data-p-hidden-focusable]="true"
1993
+ ></span>
1994
+ </div>
1995
+ </ng-template>
1996
+ </p-overlay>
1997
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: SelectItem, selector: "p-select-item", inputs: ["id", "option", "selected", "focused", "label", "disabled", "visible", "itemSize", "ariaPosInset", "ariaSetSize", "template", "checkmark", "index", "scrollerOptions"], 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: "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: "directive", type: AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { kind: "component", type: TimesIcon, selector: "[data-p-icon=\"times\"]" }, { kind: "component", type: ChevronDownIcon, selector: "[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: SearchIcon, selector: "[data-p-icon=\"search\"]" }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pInputTextPT", "pInputTextUnstyled", "pSize", "variant", "fluid", "invalid"] }, { 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: "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: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: BindModule }, { kind: "directive", type: i2.Bind, selector: "[pBind]", inputs: ["pBind"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1998
+ }
1999
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: Select, decorators: [{
2000
+ type: Component,
2001
+ args: [{
2002
+ selector: 'p-select',
2003
+ standalone: true,
2004
+ imports: [CommonModule, SelectItem, Overlay, Tooltip, AutoFocus, TimesIcon, ChevronDownIcon, SearchIcon, InputText, IconField, InputIcon, Scroller, SharedModule, BindModule],
2005
+ template: `
2006
+ @if (!editable()) {
2007
+ <span
2008
+ #focusInput
2009
+ [class]="cx('label')"
2010
+ [pBind]="ptm('label')"
2011
+ [pTooltip]="tooltip()"
2012
+ [pTooltipUnstyled]="unstyled()"
2013
+ [tooltipPosition]="tooltipPosition()"
2014
+ [positionStyle]="tooltipPositionStyle()"
2015
+ [tooltipStyleClass]="tooltipStyleClass()"
2016
+ [attr.aria-disabled]="$disabled()"
2017
+ [attr.id]="inputId()"
2018
+ role="combobox"
2019
+ [attr.aria-label]="ariaLabel() || (label() === 'p-emptylabel' ? undefined : label())"
2020
+ [attr.aria-labelledby]="ariaLabelledBy()"
2021
+ [attr.aria-haspopup]="'listbox'"
2022
+ [attr.aria-expanded]="overlayVisible ?? false"
2023
+ [attr.aria-controls]="overlayVisible ? id() + '_list' : null"
2024
+ [attr.tabindex]="!$disabled() ? tabindex() : -1"
2025
+ [pAutoFocus]="autofocus()"
2026
+ [attr.aria-activedescendant]="focused ? focusedOptionId : undefined"
2027
+ (focus)="onInputFocus($event)"
2028
+ (blur)="onInputBlur($event)"
2029
+ (keydown)="onKeyDown($event)"
2030
+ [attr.aria-required]="required()"
2031
+ [attr.required]="required() ? '' : undefined"
2032
+ [attr.disabled]="$disabled() ? '' : undefined"
2033
+ [attr.data-p]="labelDataP"
2034
+ >
2035
+ @if (!selectedItemTemplate && !_selectedItemTemplate) {
2036
+ {{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}
2037
+ } @else {
2038
+ @if (isSelectedOptionEmpty()) {
2039
+ <span>{{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}</span>
2040
+ }
2041
+ }
2042
+ @if ((selectedItemTemplate || _selectedItemTemplate) && !isSelectedOptionEmpty()) {
2043
+ <ng-container [ngTemplateOutlet]="selectedItemTemplate || _selectedItemTemplate" [ngTemplateOutletContext]="{ $implicit: selectedOption }"></ng-container>
2044
+ }
2045
+ </span>
2046
+ }
2047
+ @if (editable()) {
2048
+ <input
2049
+ #editableInput
2050
+ type="text"
2051
+ [attr.id]="inputId()"
2052
+ [class]="cx('label')"
2053
+ [pBind]="ptm('label')"
2054
+ [attr.aria-haspopup]="'listbox'"
2055
+ [attr.placeholder]="modelValue() === undefined || modelValue() === null ? placeholder() : undefined"
2056
+ [attr.aria-label]="ariaLabel() || (label() === 'p-emptylabel' ? undefined : label())"
2057
+ (input)="onEditableInput($event)"
2058
+ (keydown)="onKeyDown($event)"
2059
+ [pAutoFocus]="autofocus()"
2060
+ [attr.aria-activedescendant]="focused ? focusedOptionId : undefined"
2061
+ (focus)="onInputFocus($event)"
2062
+ (blur)="onInputBlur($event)"
2063
+ [attr.name]="name()"
2064
+ [attr.minlength]="minlength()"
2065
+ [attr.min]="min()"
2066
+ [attr.max]="max()"
2067
+ [attr.pattern]="pattern()"
2068
+ [attr.size]="inputSize()"
2069
+ [attr.maxlength]="maxlength()"
2070
+ [attr.required]="required() ? '' : undefined"
2071
+ [attr.readonly]="readonly() ? '' : undefined"
2072
+ [attr.disabled]="$disabled() ? '' : undefined"
2073
+ [attr.data-p]="labelDataP"
2074
+ />
2075
+ }
2076
+ @if (isVisibleClearIcon) {
2077
+ <ng-container>
2078
+ @if (!clearIconTemplate && !_clearIconTemplate) {
2079
+ <svg data-p-icon="times" [class]="cx('clearIcon')" [pBind]="ptm('clearIcon')" (click)="clear($event)" [attr.data-pc-section]="'clearicon'" />
2080
+ }
2081
+ @if (clearIconTemplate || _clearIconTemplate) {
2082
+ <span [class]="cx('clearIcon')" [pBind]="ptm('clearIcon')" (click)="clear($event)" [attr.data-pc-section]="'clearicon'">
2083
+ <ng-template *ngTemplateOutlet="clearIconTemplate || _clearIconTemplate; context: { class: cx('clearIcon') }"></ng-template>
2084
+ </span>
2085
+ }
2086
+ </ng-container>
2087
+ }
2088
+
2089
+ <div [class]="cx('dropdown')" [pBind]="ptm('dropdown')" role="button" aria-label="dropdown trigger" aria-haspopup="listbox" [attr.aria-expanded]="overlayVisible ?? false" [attr.data-pc-section]="'trigger'">
2090
+ @if (loading()) {
2091
+ <ng-container>
2092
+ @if (loadingIconTemplate || _loadingIconTemplate) {
2093
+ <ng-container *ngTemplateOutlet="loadingIconTemplate || _loadingIconTemplate"></ng-container>
2094
+ }
2095
+ @if (!loadingIconTemplate && !_loadingIconTemplate) {
2096
+ <ng-container>
2097
+ @if (loadingIcon()) {
2098
+ <span [class]="cn(cx('loadingIcon'), 'pi-spin' + loadingIcon())" [pBind]="ptm('loadingIcon')" aria-hidden="true"></span>
2099
+ }
2100
+ @if (!loadingIcon()) {
2101
+ <span [class]="cn(cx('loadingIcon'), 'pi pi-spinner pi-spin')" [pBind]="ptm('loadingIcon')" aria-hidden="true"></span>
2102
+ }
2103
+ </ng-container>
2104
+ }
2105
+ </ng-container>
2106
+ } @else {
2107
+ @if (!dropdownIconTemplate && !_dropdownIconTemplate) {
2108
+ <ng-container>
2109
+ @if (dropdownIcon()) {
2110
+ <span [class]="cn(cx('dropdownIcon'), dropdownIcon())" [pBind]="ptm('dropdownIcon')"></span>
2111
+ }
2112
+ @if (!dropdownIcon()) {
2113
+ <svg data-p-icon="chevron-down" [class]="cx('dropdownIcon')" [pBind]="ptm('dropdownIcon')" />
2114
+ }
2115
+ </ng-container>
2116
+ }
2117
+ @if (dropdownIconTemplate || _dropdownIconTemplate) {
2118
+ <span [class]="cx('dropdownIcon')" [pBind]="ptm('dropdownIcon')">
2119
+ <ng-template *ngTemplateOutlet="dropdownIconTemplate || _dropdownIconTemplate; context: { class: cx('dropdownIcon') }"></ng-template>
2120
+ </span>
2121
+ }
2122
+ }
2123
+ </div>
2124
+
2125
+ <p-overlay
2126
+ #overlay
2127
+ [hostAttrSelector]="$attrSelector"
2128
+ [(visible)]="overlayVisible"
2129
+ [options]="overlayOptions()"
2130
+ [target]="'@parent'"
2131
+ [appendTo]="$appendTo()"
2132
+ [unstyled]="unstyled()"
2133
+ [pt]="ptm('pcOverlay')"
2134
+ [motionOptions]="motionOptions()"
2135
+ (onBeforeEnter)="onOverlayBeforeEnter($event)"
2136
+ (onAfterLeave)="onOverlayAfterLeave($event)"
2137
+ (onHide)="hide()"
2138
+ >
2139
+ <ng-template #content>
2140
+ <div [class]="cn(cx('overlay'), panelStyleClass())" [ngStyle]="panelStyle()" [pBind]="ptm('overlay')" [attr.data-p]="overlayDataP">
2141
+ <span
2142
+ #firstHiddenFocusableEl
2143
+ role="presentation"
2144
+ class="p-hidden-accessible p-hidden-focusable"
2145
+ [attr.tabindex]="0"
2146
+ (focus)="onFirstHiddenFocus($event)"
2147
+ [attr.data-p-hidden-accessible]="true"
2148
+ [attr.data-p-hidden-focusable]="true"
2149
+ [pBind]="ptm('hiddenFirstFocusableEl')"
2150
+ >
2151
+ </span>
2152
+ <ng-container *ngTemplateOutlet="headerTemplate() || _headerTemplate"></ng-container>
2153
+ @if (filter()) {
2154
+ <div [class]="cx('header')" (click)="$event.stopPropagation()" [pBind]="ptm('header')">
2155
+ @if (filterTemplate || _filterTemplate) {
2156
+ <ng-container *ngTemplateOutlet="filterTemplate || _filterTemplate; context: { options: filterOptions }"></ng-container>
2157
+ } @else {
2158
+ <p-iconfield [pt]="ptm('pcFilterContainer')" [unstyled]="unstyled()">
2159
+ <input
2160
+ #filter
2161
+ pInputText
2162
+ [pSize]="size()"
2163
+ type="text"
2164
+ role="searchbox"
2165
+ autocomplete="off"
2166
+ [value]="_filterValue() || ''"
2167
+ [class]="cx('pcFilter')"
2168
+ [variant]="$variant()"
2169
+ [attr.placeholder]="filterPlaceholder()"
2170
+ [attr.aria-owns]="id() + '_list'"
2171
+ (input)="onFilterInputChange($event)"
2172
+ [attr.aria-label]="ariaFilterLabel()"
2173
+ [attr.aria-activedescendant]="focusedOptionId"
2174
+ (keydown)="onFilterKeyDown($event)"
2175
+ (blur)="onFilterBlur($event)"
2176
+ [pt]="ptm('pcFilter')"
2177
+ [unstyled]="unstyled()"
2178
+ />
2179
+ <p-inputicon [pt]="ptm('pcFilterIconContainer')" [unstyled]="unstyled()">
2180
+ @if (!filterIconTemplate && !_filterIconTemplate) {
2181
+ <svg data-p-icon="search" [pBind]="ptm('filterIcon')" />
2182
+ }
2183
+ @if (filterIconTemplate || _filterIconTemplate) {
2184
+ <span [pBind]="ptm('filterIcon')">
2185
+ <ng-template *ngTemplateOutlet="filterIconTemplate || _filterIconTemplate"></ng-template>
2186
+ </span>
2187
+ }
2188
+ </p-inputicon>
2189
+ </p-iconfield>
2190
+ }
2191
+ </div>
2192
+ }
2193
+ <div [class]="cx('listContainer')" [style.max-height]="virtualScroll() ? 'auto' : scrollHeight() || 'auto'" [pBind]="ptm('listContainer')">
2194
+ @if (virtualScroll()) {
2195
+ <p-scroller
2196
+ hostName="select"
2197
+ #scroller
2198
+ [items]="visibleOptions()"
2199
+ [style]="{ height: scrollHeight() }"
2200
+ [itemSize]="virtualScrollItemSize()"
2201
+ [autoSize]="true"
2202
+ [lazy]="lazy()"
2203
+ (onLazyLoad)="onLazyLoad.emit($event)"
2204
+ [options]="virtualScrollOptions()"
2205
+ [pt]="ptm('virtualScroller')"
2206
+ >
2207
+ <ng-template #content let-items let-scrollerOptions="options">
2208
+ <ng-container *ngTemplateOutlet="buildInItems; context: { $implicit: items, options: scrollerOptions }"></ng-container>
2209
+ </ng-template>
2210
+ @if (loaderTemplate || _loaderTemplate) {
2211
+ <ng-template #loader let-scrollerOptions="options">
2212
+ <ng-container *ngTemplateOutlet="loaderTemplate || _loaderTemplate; context: { options: scrollerOptions }"></ng-container>
2213
+ </ng-template>
2214
+ }
2215
+ </p-scroller>
2216
+ }
2217
+ @if (!virtualScroll()) {
2218
+ <ng-container *ngTemplateOutlet="buildInItems; context: { $implicit: visibleOptions(), options: {} }"></ng-container>
2219
+ }
2220
+
2221
+ <ng-template #buildInItems let-items let-scrollerOptions="options">
2222
+ <ul #items [attr.id]="id() + '_list'" [attr.aria-label]="listLabel" [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox" [pBind]="ptm('list')">
2223
+ @for (option of items; track option; let i = $index) {
2224
+ @if (isOptionGroup(option)) {
2225
+ <li [class]="cx('optionGroup')" [attr.id]="id() + '_' + getOptionIndex(i, scrollerOptions)" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option" [pBind]="ptm('optionGroup')">
2226
+ @if (!groupTemplate() && !_groupTemplate) {
2227
+ <span [class]="cx('optionGroupLabel')" [pBind]="ptm('optionGroupLabel')">{{ getOptionGroupLabel(option.optionGroup) }}</span>
2228
+ }
2229
+ <ng-container *ngTemplateOutlet="groupTemplate() || _groupTemplate; context: { $implicit: option.optionGroup }"></ng-container>
2230
+ </li>
2231
+ }
2232
+ @if (!isOptionGroup(option)) {
2233
+ <p-select-item
2234
+ [id]="id() + '_' + getOptionIndex(i, scrollerOptions)"
2235
+ [option]="option"
2236
+ [checkmark]="checkmark()"
2237
+ [selected]="isSelected(option)"
2238
+ [label]="getOptionLabel(option)"
2239
+ [disabled]="isOptionDisabled(option)"
2240
+ [template]="itemTemplate() || _itemTemplate"
2241
+ [focused]="focusedOptionIndex() === getOptionIndex(i, scrollerOptions)"
2242
+ [ariaPosInset]="getAriaPosInset(getOptionIndex(i, scrollerOptions))"
2243
+ [ariaSetSize]="ariaSetSize"
2244
+ [index]="i"
2245
+ [unstyled]="unstyled()"
2246
+ [scrollerOptions]="scrollerOptions"
2247
+ (onClick)="onOptionSelect($event, option)"
2248
+ (onMouseEnter)="onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))"
2249
+ ></p-select-item>
2250
+ }
2251
+ }
2252
+ @if (filterValue && isEmpty()) {
2253
+ <li [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option" [pBind]="ptm('emptyMessage')">
2254
+ @if (!emptyFilterTemplate() && !_emptyFilterTemplate && !emptyTemplate()) {
2255
+ {{ emptyFilterMessageLabel }}
2256
+ } @else {
2257
+ <ng-container *ngTemplateOutlet="emptyFilterTemplate() || _emptyFilterTemplate || emptyTemplate() || _emptyTemplate"></ng-container>
2258
+ }
2259
+ </li>
2260
+ }
2261
+ @if (!filterValue && isEmpty()) {
2262
+ <li [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option" [pBind]="ptm('emptyMessage')">
2263
+ @if (!emptyTemplate() && !_emptyTemplate) {
2264
+ {{ emptyMessageLabel || emptyFilterMessageLabel }}
2265
+ } @else {
2266
+ <ng-container *ngTemplateOutlet="emptyTemplate() || _emptyTemplate"></ng-container>
2267
+ }
2268
+ </li>
2269
+ }
2270
+ </ul>
2271
+ </ng-template>
2272
+ </div>
2273
+ <ng-container *ngTemplateOutlet="footerTemplate() || _footerTemplate"></ng-container>
2274
+ <span
2275
+ #lastHiddenFocusableEl
2276
+ role="presentation"
2277
+ class="p-hidden-accessible p-hidden-focusable"
2278
+ [pBind]="ptm('hiddenLastFocusableEl')"
2279
+ [attr.tabindex]="0"
2280
+ (focus)="onLastHiddenFocus($event)"
2281
+ [attr.data-p-hidden-accessible]="true"
2282
+ [attr.data-p-hidden-focusable]="true"
2283
+ ></span>
2284
+ </div>
2285
+ </ng-template>
2286
+ </p-overlay>
2287
+ `,
2288
+ host: {
2289
+ '[class]': "cn(cx('root'), styleClass())",
2290
+ '[attr.id]': 'resolvedId',
2291
+ '[attr.data-p]': 'containerDataP',
2292
+ '(click)': 'onContainerClick($event)'
2293
+ },
2294
+ providers: [SELECT_VALUE_ACCESSOR, SelectStyle, { provide: SELECT_INSTANCE, useExisting: Select }, { provide: PARENT_INSTANCE, useExisting: Select }],
2295
+ changeDetection: ChangeDetectionStrategy.OnPush,
2296
+ encapsulation: ViewEncapsulation.None,
2297
+ hostDirectives: [Bind]
2298
+ }]
2299
+ }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], scrollHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollHeight", required: false }] }], filter: [{ type: i0.Input, args: [{ isSignal: true, alias: "filter", required: false }] }], panelStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelStyle", required: false }] }], styleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "styleClass", required: false }] }], panelStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelStyleClass", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], editable: [{ type: i0.Input, args: [{ isSignal: true, alias: "editable", required: false }] }], tabindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabindex", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], loadingIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadingIcon", required: false }] }], filterPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterPlaceholder", required: false }] }], filterLocale: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterLocale", required: false }] }], inputId: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputId", required: false }] }], dataKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataKey", required: false }] }], filterBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterBy", required: false }] }], filterFields: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterFields", required: false }] }], autofocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autofocus", required: false }] }], resetFilterOnHide: [{ type: i0.Input, args: [{ isSignal: true, alias: "resetFilterOnHide", required: false }] }], checkmark: [{ type: i0.Input, args: [{ isSignal: true, alias: "checkmark", required: false }] }], dropdownIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "dropdownIcon", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", 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 }] }], group: [{ type: i0.Input, args: [{ isSignal: true, alias: "group", required: false }] }], showClear: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClear", required: false }] }], emptyFilterMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyFilterMessage", required: false }] }], emptyMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyMessage", required: false }] }], lazy: [{ type: i0.Input, args: [{ isSignal: true, alias: "lazy", required: false }] }], virtualScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "virtualScroll", required: false }] }], virtualScrollItemSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "virtualScrollItemSize", 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 }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledBy", 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 }] }], focusOnHover: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusOnHover", required: false }] }], selectOnFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectOnFocus", required: false }] }], autoOptionFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoOptionFocus", required: false }] }], autofocusFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "autofocusFilter", required: false }] }], filterValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterValue", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", 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"] }], onShow: [{ type: i0.Output, args: ["onShow"] }], onHide: [{ type: i0.Output, args: ["onHide"] }], onClear: [{ type: i0.Output, args: ["onClear"] }], onLazyLoad: [{ type: i0.Output, args: ["onLazyLoad"] }], filterViewChild: [{ type: i0.ViewChild, args: ['filter', { isSignal: true }] }], focusInputViewChild: [{ type: i0.ViewChild, args: ['focusInput', { isSignal: true }] }], editableInputViewChild: [{ type: i0.ViewChild, args: ['editableInput', { isSignal: true }] }], itemsViewChild: [{ type: i0.ViewChild, args: ['items', { isSignal: true }] }], scroller: [{ type: i0.ViewChild, args: ['scroller', { isSignal: true }] }], overlayViewChild: [{ type: i0.ViewChild, args: ['overlay', { isSignal: true }] }], firstHiddenFocusableElementOnOverlay: [{ type: i0.ViewChild, args: ['firstHiddenFocusableEl', { isSignal: true }] }], lastHiddenFocusableElementOnOverlay: [{ type: i0.ViewChild, args: ['lastHiddenFocusableEl', { isSignal: true }] }], itemTemplate: [{ type: i0.ContentChild, args: ['item', { ...{ descendants: false }, isSignal: true }] }], groupTemplate: [{ type: i0.ContentChild, args: ['group', { ...{ descendants: false }, isSignal: true }] }], loaderTemplate: [{
2300
+ type: ContentChild,
2301
+ args: ['loader', { descendants: false }]
2302
+ }], selectedItemTemplate: [{
2303
+ type: ContentChild,
2304
+ args: ['selectedItem', { descendants: false }]
2305
+ }], headerTemplate: [{ type: i0.ContentChild, args: ['header', { ...{ descendants: false }, isSignal: true }] }], filterTemplate: [{
2306
+ type: ContentChild,
2307
+ args: ['filter', { descendants: false }]
2308
+ }], footerTemplate: [{ type: i0.ContentChild, args: ['footer', { ...{ descendants: false }, isSignal: true }] }], emptyFilterTemplate: [{ type: i0.ContentChild, args: ['emptyfilter', { ...{ descendants: false }, isSignal: true }] }], emptyTemplate: [{ type: i0.ContentChild, args: ['empty', { ...{ descendants: false }, isSignal: true }] }], dropdownIconTemplate: [{
2309
+ type: ContentChild,
2310
+ args: ['dropdownicon', { descendants: false }]
2311
+ }], loadingIconTemplate: [{
2312
+ type: ContentChild,
2313
+ args: ['loadingicon', { descendants: false }]
2314
+ }], clearIconTemplate: [{
2315
+ type: ContentChild,
2316
+ args: ['clearicon', { descendants: false }]
2317
+ }], filterIconTemplate: [{
2318
+ type: ContentChild,
2319
+ args: ['filtericon', { descendants: false }]
2320
+ }], onIconTemplate: [{ type: i0.ContentChild, args: ['onicon', { ...{ descendants: false }, isSignal: true }] }], offIconTemplate: [{ type: i0.ContentChild, args: ['officon', { ...{ descendants: false }, isSignal: true }] }], cancelIconTemplate: [{ type: i0.ContentChild, args: ['cancelicon', { ...{ descendants: false }, isSignal: true }] }], templates: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => PrimeTemplate), { isSignal: true }] }] } });
2321
+ class SelectModule {
2322
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2323
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.2", ngImport: i0, type: SelectModule, imports: [Select, SharedModule], exports: [Select, SharedModule] });
2324
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SelectModule, imports: [Select, SharedModule, SharedModule] });
2325
+ }
2326
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SelectModule, decorators: [{
2327
+ type: NgModule,
2328
+ args: [{
2329
+ imports: [Select, SharedModule],
2330
+ exports: [Select, SharedModule]
2331
+ }]
2332
+ }] });
2333
+
2334
+ /**
2335
+ * Generated bundle index. Do not edit.
2336
+ */
2337
+
2338
+ export { SELECT_VALUE_ACCESSOR, Select, SelectClasses, SelectItem, SelectModule, SelectStyle };
2339
+ //# sourceMappingURL=wawjs-ngx-prime-select.mjs.map