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