@gravionlabs/helix-core 22.1.2 → 22.1.4

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 (820) hide show
  1. package/fesm2022/gravionlabs-helix-core-accordion.mjs +994 -541
  2. package/fesm2022/gravionlabs-helix-core-accordion.mjs.map +1 -1
  3. package/fesm2022/gravionlabs-helix-core-animateonscroll.mjs +265 -166
  4. package/fesm2022/gravionlabs-helix-core-animateonscroll.mjs.map +1 -1
  5. package/fesm2022/gravionlabs-helix-core-api.mjs +926 -836
  6. package/fesm2022/gravionlabs-helix-core-api.mjs.map +1 -1
  7. package/fesm2022/gravionlabs-helix-core-autocomplete.mjs +2603 -1611
  8. package/fesm2022/gravionlabs-helix-core-autocomplete.mjs.map +1 -1
  9. package/fesm2022/gravionlabs-helix-core-autofocus.mjs +115 -79
  10. package/fesm2022/gravionlabs-helix-core-autofocus.mjs.map +1 -1
  11. package/fesm2022/gravionlabs-helix-core-avatar.mjs +356 -180
  12. package/fesm2022/gravionlabs-helix-core-avatar.mjs.map +1 -1
  13. package/fesm2022/gravionlabs-helix-core-avatargroup.mjs +200 -84
  14. package/fesm2022/gravionlabs-helix-core-avatargroup.mjs.map +1 -1
  15. package/fesm2022/gravionlabs-helix-core-badge.mjs +671 -390
  16. package/fesm2022/gravionlabs-helix-core-badge.mjs.map +1 -1
  17. package/fesm2022/gravionlabs-helix-core-base.mjs +113 -103
  18. package/fesm2022/gravionlabs-helix-core-base.mjs.map +1 -1
  19. package/fesm2022/gravionlabs-helix-core-basecomponent.mjs +498 -444
  20. package/fesm2022/gravionlabs-helix-core-basecomponent.mjs.map +1 -1
  21. package/fesm2022/gravionlabs-helix-core-baseeditableholder.mjs +131 -69
  22. package/fesm2022/gravionlabs-helix-core-baseeditableholder.mjs.map +1 -1
  23. package/fesm2022/gravionlabs-helix-core-baseinput.mjs +210 -94
  24. package/fesm2022/gravionlabs-helix-core-baseinput.mjs.map +1 -1
  25. package/fesm2022/gravionlabs-helix-core-basemodelholder.mjs +39 -26
  26. package/fesm2022/gravionlabs-helix-core-basemodelholder.mjs.map +1 -1
  27. package/fesm2022/gravionlabs-helix-core-bind.mjs +136 -98
  28. package/fesm2022/gravionlabs-helix-core-bind.mjs.map +1 -1
  29. package/fesm2022/gravionlabs-helix-core-blockui.mjs +390 -224
  30. package/fesm2022/gravionlabs-helix-core-blockui.mjs.map +1 -1
  31. package/fesm2022/gravionlabs-helix-core-breadcrumb.mjs +473 -212
  32. package/fesm2022/gravionlabs-helix-core-breadcrumb.mjs.map +1 -1
  33. package/fesm2022/gravionlabs-helix-core-button.mjs +1739 -825
  34. package/fesm2022/gravionlabs-helix-core-button.mjs.map +1 -1
  35. package/fesm2022/gravionlabs-helix-core-buttongroup.mjs +116 -64
  36. package/fesm2022/gravionlabs-helix-core-buttongroup.mjs.map +1 -1
  37. package/fesm2022/gravionlabs-helix-core-card.mjs +454 -205
  38. package/fesm2022/gravionlabs-helix-core-card.mjs.map +1 -1
  39. package/fesm2022/gravionlabs-helix-core-carousel.mjs +1238 -898
  40. package/fesm2022/gravionlabs-helix-core-carousel.mjs.map +1 -1
  41. package/fesm2022/gravionlabs-helix-core-cascadeselect.mjs +2373 -1337
  42. package/fesm2022/gravionlabs-helix-core-cascadeselect.mjs.map +1 -1
  43. package/fesm2022/gravionlabs-helix-core-chart.mjs +407 -214
  44. package/fesm2022/gravionlabs-helix-core-chart.mjs.map +1 -1
  45. package/fesm2022/gravionlabs-helix-core-checkbox.mjs +704 -346
  46. package/fesm2022/gravionlabs-helix-core-checkbox.mjs.map +1 -1
  47. package/fesm2022/gravionlabs-helix-core-chip.mjs +489 -251
  48. package/fesm2022/gravionlabs-helix-core-chip.mjs.map +1 -1
  49. package/fesm2022/gravionlabs-helix-core-classnames.mjs +95 -48
  50. package/fesm2022/gravionlabs-helix-core-classnames.mjs.map +1 -1
  51. package/fesm2022/gravionlabs-helix-core-colorpicker.mjs +975 -667
  52. package/fesm2022/gravionlabs-helix-core-colorpicker.mjs.map +1 -1
  53. package/fesm2022/gravionlabs-helix-core-config.mjs +395 -306
  54. package/fesm2022/gravionlabs-helix-core-config.mjs.map +1 -1
  55. package/fesm2022/gravionlabs-helix-core-confirmdialog.mjs +1222 -546
  56. package/fesm2022/gravionlabs-helix-core-confirmdialog.mjs.map +1 -1
  57. package/fesm2022/gravionlabs-helix-core-confirmpopup.mjs +878 -524
  58. package/fesm2022/gravionlabs-helix-core-confirmpopup.mjs.map +1 -1
  59. package/fesm2022/gravionlabs-helix-core-contextmenu.mjs +1917 -1031
  60. package/fesm2022/gravionlabs-helix-core-contextmenu.mjs.map +1 -1
  61. package/fesm2022/gravionlabs-helix-core-dataview.mjs +1075 -522
  62. package/fesm2022/gravionlabs-helix-core-dataview.mjs.map +1 -1
  63. package/fesm2022/gravionlabs-helix-core-datepicker.mjs +3797 -3313
  64. package/fesm2022/gravionlabs-helix-core-datepicker.mjs.map +1 -1
  65. package/fesm2022/gravionlabs-helix-core-dialog.mjs +1852 -1047
  66. package/fesm2022/gravionlabs-helix-core-dialog.mjs.map +1 -1
  67. package/fesm2022/gravionlabs-helix-core-divider.mjs +288 -136
  68. package/fesm2022/gravionlabs-helix-core-divider.mjs.map +1 -1
  69. package/fesm2022/gravionlabs-helix-core-dock.mjs +655 -387
  70. package/fesm2022/gravionlabs-helix-core-dock.mjs.map +1 -1
  71. package/fesm2022/gravionlabs-helix-core-dom.mjs +589 -760
  72. package/fesm2022/gravionlabs-helix-core-dom.mjs.map +1 -1
  73. package/fesm2022/gravionlabs-helix-core-dragdrop.mjs +457 -302
  74. package/fesm2022/gravionlabs-helix-core-dragdrop.mjs.map +1 -1
  75. package/fesm2022/gravionlabs-helix-core-drawer.mjs +986 -507
  76. package/fesm2022/gravionlabs-helix-core-drawer.mjs.map +1 -1
  77. package/fesm2022/gravionlabs-helix-core-dynamicdialog.mjs +849 -923
  78. package/fesm2022/gravionlabs-helix-core-dynamicdialog.mjs.map +1 -1
  79. package/fesm2022/gravionlabs-helix-core-editor.mjs +578 -383
  80. package/fesm2022/gravionlabs-helix-core-editor.mjs.map +1 -1
  81. package/fesm2022/gravionlabs-helix-core-fieldset.mjs +593 -280
  82. package/fesm2022/gravionlabs-helix-core-fieldset.mjs.map +1 -1
  83. package/fesm2022/gravionlabs-helix-core-fileupload.mjs +1882 -994
  84. package/fesm2022/gravionlabs-helix-core-fileupload.mjs.map +1 -1
  85. package/fesm2022/gravionlabs-helix-core-firsterror.mjs +41 -23
  86. package/fesm2022/gravionlabs-helix-core-firsterror.mjs.map +1 -1
  87. package/fesm2022/gravionlabs-helix-core-floatlabel.mjs +197 -94
  88. package/fesm2022/gravionlabs-helix-core-floatlabel.mjs.map +1 -1
  89. package/fesm2022/gravionlabs-helix-core-fluid.mjs +149 -74
  90. package/fesm2022/gravionlabs-helix-core-fluid.mjs.map +1 -1
  91. package/fesm2022/gravionlabs-helix-core-focustrap.mjs +141 -104
  92. package/fesm2022/gravionlabs-helix-core-focustrap.mjs.map +1 -1
  93. package/fesm2022/gravionlabs-helix-core-galleria.mjs +2800 -1449
  94. package/fesm2022/gravionlabs-helix-core-galleria.mjs.map +1 -1
  95. package/fesm2022/gravionlabs-helix-core-iconfield.mjs +214 -98
  96. package/fesm2022/gravionlabs-helix-core-iconfield.mjs.map +1 -1
  97. package/fesm2022/gravionlabs-helix-core-icons-angledoubledown.mjs +43 -24
  98. package/fesm2022/gravionlabs-helix-core-icons-angledoubledown.mjs.map +1 -1
  99. package/fesm2022/gravionlabs-helix-core-icons-angledoubleleft.mjs +43 -24
  100. package/fesm2022/gravionlabs-helix-core-icons-angledoubleleft.mjs.map +1 -1
  101. package/fesm2022/gravionlabs-helix-core-icons-angledoubleright.mjs +43 -24
  102. package/fesm2022/gravionlabs-helix-core-icons-angledoubleright.mjs.map +1 -1
  103. package/fesm2022/gravionlabs-helix-core-icons-angledoubleup.mjs +43 -24
  104. package/fesm2022/gravionlabs-helix-core-icons-angledoubleup.mjs.map +1 -1
  105. package/fesm2022/gravionlabs-helix-core-icons-angledown.mjs +43 -24
  106. package/fesm2022/gravionlabs-helix-core-icons-angledown.mjs.map +1 -1
  107. package/fesm2022/gravionlabs-helix-core-icons-angleleft.mjs +43 -24
  108. package/fesm2022/gravionlabs-helix-core-icons-angleleft.mjs.map +1 -1
  109. package/fesm2022/gravionlabs-helix-core-icons-angleright.mjs +43 -24
  110. package/fesm2022/gravionlabs-helix-core-icons-angleright.mjs.map +1 -1
  111. package/fesm2022/gravionlabs-helix-core-icons-angleup.mjs +43 -24
  112. package/fesm2022/gravionlabs-helix-core-icons-angleup.mjs.map +1 -1
  113. package/fesm2022/gravionlabs-helix-core-icons-arrowdown.mjs +48 -29
  114. package/fesm2022/gravionlabs-helix-core-icons-arrowdown.mjs.map +1 -1
  115. package/fesm2022/gravionlabs-helix-core-icons-arrowdownleft.mjs +43 -24
  116. package/fesm2022/gravionlabs-helix-core-icons-arrowdownleft.mjs.map +1 -1
  117. package/fesm2022/gravionlabs-helix-core-icons-arrowdownright.mjs +43 -24
  118. package/fesm2022/gravionlabs-helix-core-icons-arrowdownright.mjs.map +1 -1
  119. package/fesm2022/gravionlabs-helix-core-icons-arrowleft.mjs +48 -29
  120. package/fesm2022/gravionlabs-helix-core-icons-arrowleft.mjs.map +1 -1
  121. package/fesm2022/gravionlabs-helix-core-icons-arrowright.mjs +43 -24
  122. package/fesm2022/gravionlabs-helix-core-icons-arrowright.mjs.map +1 -1
  123. package/fesm2022/gravionlabs-helix-core-icons-arrowup.mjs +48 -29
  124. package/fesm2022/gravionlabs-helix-core-icons-arrowup.mjs.map +1 -1
  125. package/fesm2022/gravionlabs-helix-core-icons-ban.mjs +48 -29
  126. package/fesm2022/gravionlabs-helix-core-icons-ban.mjs.map +1 -1
  127. package/fesm2022/gravionlabs-helix-core-icons-bars.mjs +43 -24
  128. package/fesm2022/gravionlabs-helix-core-icons-bars.mjs.map +1 -1
  129. package/fesm2022/gravionlabs-helix-core-icons-baseicon.mjs +120 -64
  130. package/fesm2022/gravionlabs-helix-core-icons-baseicon.mjs.map +1 -1
  131. package/fesm2022/gravionlabs-helix-core-icons-blank.mjs +42 -23
  132. package/fesm2022/gravionlabs-helix-core-icons-blank.mjs.map +1 -1
  133. package/fesm2022/gravionlabs-helix-core-icons-calendar.mjs +43 -24
  134. package/fesm2022/gravionlabs-helix-core-icons-calendar.mjs.map +1 -1
  135. package/fesm2022/gravionlabs-helix-core-icons-caretleft.mjs +43 -24
  136. package/fesm2022/gravionlabs-helix-core-icons-caretleft.mjs.map +1 -1
  137. package/fesm2022/gravionlabs-helix-core-icons-caretright.mjs +43 -24
  138. package/fesm2022/gravionlabs-helix-core-icons-caretright.mjs.map +1 -1
  139. package/fesm2022/gravionlabs-helix-core-icons-check.mjs +43 -24
  140. package/fesm2022/gravionlabs-helix-core-icons-check.mjs.map +1 -1
  141. package/fesm2022/gravionlabs-helix-core-icons-chevrondown.mjs +43 -24
  142. package/fesm2022/gravionlabs-helix-core-icons-chevrondown.mjs.map +1 -1
  143. package/fesm2022/gravionlabs-helix-core-icons-chevronleft.mjs +43 -24
  144. package/fesm2022/gravionlabs-helix-core-icons-chevronleft.mjs.map +1 -1
  145. package/fesm2022/gravionlabs-helix-core-icons-chevronright.mjs +43 -24
  146. package/fesm2022/gravionlabs-helix-core-icons-chevronright.mjs.map +1 -1
  147. package/fesm2022/gravionlabs-helix-core-icons-chevronup.mjs +43 -24
  148. package/fesm2022/gravionlabs-helix-core-icons-chevronup.mjs.map +1 -1
  149. package/fesm2022/gravionlabs-helix-core-icons-exclamationtriangle.mjs +48 -29
  150. package/fesm2022/gravionlabs-helix-core-icons-exclamationtriangle.mjs.map +1 -1
  151. package/fesm2022/gravionlabs-helix-core-icons-eye.mjs +43 -24
  152. package/fesm2022/gravionlabs-helix-core-icons-eye.mjs.map +1 -1
  153. package/fesm2022/gravionlabs-helix-core-icons-eyeslash.mjs +48 -29
  154. package/fesm2022/gravionlabs-helix-core-icons-eyeslash.mjs.map +1 -1
  155. package/fesm2022/gravionlabs-helix-core-icons-filter.mjs +48 -29
  156. package/fesm2022/gravionlabs-helix-core-icons-filter.mjs.map +1 -1
  157. package/fesm2022/gravionlabs-helix-core-icons-filterfill.mjs +43 -24
  158. package/fesm2022/gravionlabs-helix-core-icons-filterfill.mjs.map +1 -1
  159. package/fesm2022/gravionlabs-helix-core-icons-filterslash.mjs +48 -29
  160. package/fesm2022/gravionlabs-helix-core-icons-filterslash.mjs.map +1 -1
  161. package/fesm2022/gravionlabs-helix-core-icons-home.mjs +48 -29
  162. package/fesm2022/gravionlabs-helix-core-icons-home.mjs.map +1 -1
  163. package/fesm2022/gravionlabs-helix-core-icons-infocircle.mjs +48 -29
  164. package/fesm2022/gravionlabs-helix-core-icons-infocircle.mjs.map +1 -1
  165. package/fesm2022/gravionlabs-helix-core-icons-minus.mjs +43 -24
  166. package/fesm2022/gravionlabs-helix-core-icons-minus.mjs.map +1 -1
  167. package/fesm2022/gravionlabs-helix-core-icons-pencil.mjs +48 -29
  168. package/fesm2022/gravionlabs-helix-core-icons-pencil.mjs.map +1 -1
  169. package/fesm2022/gravionlabs-helix-core-icons-plus.mjs +48 -29
  170. package/fesm2022/gravionlabs-helix-core-icons-plus.mjs.map +1 -1
  171. package/fesm2022/gravionlabs-helix-core-icons-refresh.mjs +48 -29
  172. package/fesm2022/gravionlabs-helix-core-icons-refresh.mjs.map +1 -1
  173. package/fesm2022/gravionlabs-helix-core-icons-search.mjs +48 -29
  174. package/fesm2022/gravionlabs-helix-core-icons-search.mjs.map +1 -1
  175. package/fesm2022/gravionlabs-helix-core-icons-searchminus.mjs +48 -29
  176. package/fesm2022/gravionlabs-helix-core-icons-searchminus.mjs.map +1 -1
  177. package/fesm2022/gravionlabs-helix-core-icons-searchplus.mjs +48 -29
  178. package/fesm2022/gravionlabs-helix-core-icons-searchplus.mjs.map +1 -1
  179. package/fesm2022/gravionlabs-helix-core-icons-sortalt.mjs +48 -29
  180. package/fesm2022/gravionlabs-helix-core-icons-sortalt.mjs.map +1 -1
  181. package/fesm2022/gravionlabs-helix-core-icons-sortamountdown.mjs +48 -29
  182. package/fesm2022/gravionlabs-helix-core-icons-sortamountdown.mjs.map +1 -1
  183. package/fesm2022/gravionlabs-helix-core-icons-sortamountupalt.mjs +48 -29
  184. package/fesm2022/gravionlabs-helix-core-icons-sortamountupalt.mjs.map +1 -1
  185. package/fesm2022/gravionlabs-helix-core-icons-spinner.mjs +48 -29
  186. package/fesm2022/gravionlabs-helix-core-icons-spinner.mjs.map +1 -1
  187. package/fesm2022/gravionlabs-helix-core-icons-star.mjs +48 -29
  188. package/fesm2022/gravionlabs-helix-core-icons-star.mjs.map +1 -1
  189. package/fesm2022/gravionlabs-helix-core-icons-starfill.mjs +48 -29
  190. package/fesm2022/gravionlabs-helix-core-icons-starfill.mjs.map +1 -1
  191. package/fesm2022/gravionlabs-helix-core-icons-thlarge.mjs +48 -29
  192. package/fesm2022/gravionlabs-helix-core-icons-thlarge.mjs.map +1 -1
  193. package/fesm2022/gravionlabs-helix-core-icons-times.mjs +43 -24
  194. package/fesm2022/gravionlabs-helix-core-icons-times.mjs.map +1 -1
  195. package/fesm2022/gravionlabs-helix-core-icons-timescircle.mjs +48 -29
  196. package/fesm2022/gravionlabs-helix-core-icons-timescircle.mjs.map +1 -1
  197. package/fesm2022/gravionlabs-helix-core-icons-trash.mjs +48 -29
  198. package/fesm2022/gravionlabs-helix-core-icons-trash.mjs.map +1 -1
  199. package/fesm2022/gravionlabs-helix-core-icons-undo.mjs +48 -29
  200. package/fesm2022/gravionlabs-helix-core-icons-undo.mjs.map +1 -1
  201. package/fesm2022/gravionlabs-helix-core-icons-upload.mjs +48 -29
  202. package/fesm2022/gravionlabs-helix-core-icons-upload.mjs.map +1 -1
  203. package/fesm2022/gravionlabs-helix-core-icons-windowmaximize.mjs +48 -29
  204. package/fesm2022/gravionlabs-helix-core-icons-windowmaximize.mjs.map +1 -1
  205. package/fesm2022/gravionlabs-helix-core-icons-windowminimize.mjs +48 -29
  206. package/fesm2022/gravionlabs-helix-core-icons-windowminimize.mjs.map +1 -1
  207. package/fesm2022/gravionlabs-helix-core-icons.mjs +53 -63
  208. package/fesm2022/gravionlabs-helix-core-iftalabel.mjs +175 -81
  209. package/fesm2022/gravionlabs-helix-core-iftalabel.mjs.map +1 -1
  210. package/fesm2022/gravionlabs-helix-core-image.mjs +1089 -552
  211. package/fesm2022/gravionlabs-helix-core-image.mjs.map +1 -1
  212. package/fesm2022/gravionlabs-helix-core-imagecompare.mjs +348 -165
  213. package/fesm2022/gravionlabs-helix-core-imagecompare.mjs.map +1 -1
  214. package/fesm2022/gravionlabs-helix-core-inplace.mjs +591 -249
  215. package/fesm2022/gravionlabs-helix-core-inplace.mjs.map +1 -1
  216. package/fesm2022/gravionlabs-helix-core-inputgroup.mjs +175 -91
  217. package/fesm2022/gravionlabs-helix-core-inputgroup.mjs.map +1 -1
  218. package/fesm2022/gravionlabs-helix-core-inputgroupaddon.mjs +196 -73
  219. package/fesm2022/gravionlabs-helix-core-inputgroupaddon.mjs.map +1 -1
  220. package/fesm2022/gravionlabs-helix-core-inputicon.mjs +207 -70
  221. package/fesm2022/gravionlabs-helix-core-inputicon.mjs.map +1 -1
  222. package/fesm2022/gravionlabs-helix-core-inputmask.mjs +1581 -1330
  223. package/fesm2022/gravionlabs-helix-core-inputmask.mjs.map +1 -1
  224. package/fesm2022/gravionlabs-helix-core-inputnumber.mjs +1696 -1294
  225. package/fesm2022/gravionlabs-helix-core-inputnumber.mjs.map +1 -1
  226. package/fesm2022/gravionlabs-helix-core-inputotp.mjs +576 -363
  227. package/fesm2022/gravionlabs-helix-core-inputotp.mjs.map +1 -1
  228. package/fesm2022/gravionlabs-helix-core-inputtext.mjs +344 -183
  229. package/fesm2022/gravionlabs-helix-core-inputtext.mjs.map +1 -1
  230. package/fesm2022/gravionlabs-helix-core-keyfilter.mjs +291 -252
  231. package/fesm2022/gravionlabs-helix-core-keyfilter.mjs.map +1 -1
  232. package/fesm2022/gravionlabs-helix-core-knob.mjs +642 -396
  233. package/fesm2022/gravionlabs-helix-core-knob.mjs.map +1 -1
  234. package/fesm2022/gravionlabs-helix-core-listbox.mjs +2354 -1401
  235. package/fesm2022/gravionlabs-helix-core-listbox.mjs.map +1 -1
  236. package/fesm2022/gravionlabs-helix-core-megamenu.mjs +1913 -1052
  237. package/fesm2022/gravionlabs-helix-core-megamenu.mjs.map +1 -1
  238. package/fesm2022/gravionlabs-helix-core-menu.mjs +1392 -767
  239. package/fesm2022/gravionlabs-helix-core-menu.mjs.map +1 -1
  240. package/fesm2022/gravionlabs-helix-core-menubar.mjs +1857 -984
  241. package/fesm2022/gravionlabs-helix-core-menubar.mjs.map +1 -1
  242. package/fesm2022/gravionlabs-helix-core-message.mjs +605 -288
  243. package/fesm2022/gravionlabs-helix-core-message.mjs.map +1 -1
  244. package/fesm2022/gravionlabs-helix-core-metergroup.mjs +719 -323
  245. package/fesm2022/gravionlabs-helix-core-metergroup.mjs.map +1 -1
  246. package/fesm2022/gravionlabs-helix-core-motion.mjs +1178 -694
  247. package/fesm2022/gravionlabs-helix-core-motion.mjs.map +1 -1
  248. package/fesm2022/gravionlabs-helix-core-multiselect.mjs +3437 -1839
  249. package/fesm2022/gravionlabs-helix-core-multiselect.mjs.map +1 -1
  250. package/fesm2022/gravionlabs-helix-core-orderlist.mjs +1426 -753
  251. package/fesm2022/gravionlabs-helix-core-orderlist.mjs.map +1 -1
  252. package/fesm2022/gravionlabs-helix-core-organizationchart.mjs +755 -371
  253. package/fesm2022/gravionlabs-helix-core-organizationchart.mjs.map +1 -1
  254. package/fesm2022/gravionlabs-helix-core-overlay.mjs +984 -600
  255. package/fesm2022/gravionlabs-helix-core-overlay.mjs.map +1 -1
  256. package/fesm2022/gravionlabs-helix-core-overlaybadge.mjs +310 -107
  257. package/fesm2022/gravionlabs-helix-core-overlaybadge.mjs.map +1 -1
  258. package/fesm2022/gravionlabs-helix-core-paginator.mjs +1076 -564
  259. package/fesm2022/gravionlabs-helix-core-paginator.mjs.map +1 -1
  260. package/fesm2022/gravionlabs-helix-core-panel.mjs +759 -364
  261. package/fesm2022/gravionlabs-helix-core-panel.mjs.map +1 -1
  262. package/fesm2022/gravionlabs-helix-core-panelmenu.mjs +1909 -888
  263. package/fesm2022/gravionlabs-helix-core-panelmenu.mjs.map +1 -1
  264. package/fesm2022/gravionlabs-helix-core-passthrough.mjs +10 -18
  265. package/fesm2022/gravionlabs-helix-core-passthrough.mjs.map +1 -1
  266. package/fesm2022/gravionlabs-helix-core-password.mjs +1624 -894
  267. package/fesm2022/gravionlabs-helix-core-password.mjs.map +1 -1
  268. package/fesm2022/gravionlabs-helix-core-picklist.mjs +2415 -1359
  269. package/fesm2022/gravionlabs-helix-core-picklist.mjs.map +1 -1
  270. package/fesm2022/gravionlabs-helix-core-popover.mjs +708 -442
  271. package/fesm2022/gravionlabs-helix-core-popover.mjs.map +1 -1
  272. package/fesm2022/gravionlabs-helix-core-progressbar.mjs +380 -170
  273. package/fesm2022/gravionlabs-helix-core-progressbar.mjs.map +1 -1
  274. package/fesm2022/gravionlabs-helix-core-progressspinner.mjs +276 -121
  275. package/fesm2022/gravionlabs-helix-core-progressspinner.mjs.map +1 -1
  276. package/fesm2022/gravionlabs-helix-core-radiobutton.mjs +525 -291
  277. package/fesm2022/gravionlabs-helix-core-radiobutton.mjs.map +1 -1
  278. package/fesm2022/gravionlabs-helix-core-rating.mjs +529 -286
  279. package/fesm2022/gravionlabs-helix-core-rating.mjs.map +1 -1
  280. package/fesm2022/gravionlabs-helix-core-ripple.mjs +194 -175
  281. package/fesm2022/gravionlabs-helix-core-ripple.mjs.map +1 -1
  282. package/fesm2022/gravionlabs-helix-core-scroller.mjs +1384 -977
  283. package/fesm2022/gravionlabs-helix-core-scroller.mjs.map +1 -1
  284. package/fesm2022/gravionlabs-helix-core-scrollpanel.mjs +605 -458
  285. package/fesm2022/gravionlabs-helix-core-scrollpanel.mjs.map +1 -1
  286. package/fesm2022/gravionlabs-helix-core-scrolltop.mjs +565 -261
  287. package/fesm2022/gravionlabs-helix-core-scrolltop.mjs.map +1 -1
  288. package/fesm2022/gravionlabs-helix-core-select.mjs +2959 -1644
  289. package/fesm2022/gravionlabs-helix-core-select.mjs.map +1 -1
  290. package/fesm2022/gravionlabs-helix-core-selectbutton.mjs +644 -335
  291. package/fesm2022/gravionlabs-helix-core-selectbutton.mjs.map +1 -1
  292. package/fesm2022/gravionlabs-helix-core-skeleton.mjs +315 -160
  293. package/fesm2022/gravionlabs-helix-core-skeleton.mjs.map +1 -1
  294. package/fesm2022/gravionlabs-helix-core-slider.mjs +839 -630
  295. package/fesm2022/gravionlabs-helix-core-slider.mjs.map +1 -1
  296. package/fesm2022/gravionlabs-helix-core-speeddial.mjs +1183 -700
  297. package/fesm2022/gravionlabs-helix-core-speeddial.mjs.map +1 -1
  298. package/fesm2022/gravionlabs-helix-core-splitbutton.mjs +977 -375
  299. package/fesm2022/gravionlabs-helix-core-splitbutton.mjs.map +1 -1
  300. package/fesm2022/gravionlabs-helix-core-splitter.mjs +737 -509
  301. package/fesm2022/gravionlabs-helix-core-splitter.mjs.map +1 -1
  302. package/fesm2022/gravionlabs-helix-core-stepper.mjs +1397 -628
  303. package/fesm2022/gravionlabs-helix-core-stepper.mjs.map +1 -1
  304. package/fesm2022/gravionlabs-helix-core-steps.mjs +457 -272
  305. package/fesm2022/gravionlabs-helix-core-steps.mjs.map +1 -1
  306. package/fesm2022/gravionlabs-helix-core-styleclass.mjs +466 -344
  307. package/fesm2022/gravionlabs-helix-core-styleclass.mjs.map +1 -1
  308. package/fesm2022/gravionlabs-helix-core-table.mjs +9728 -5590
  309. package/fesm2022/gravionlabs-helix-core-table.mjs.map +1 -1
  310. package/fesm2022/gravionlabs-helix-core-tabs.mjs +1350 -735
  311. package/fesm2022/gravionlabs-helix-core-tabs.mjs.map +1 -1
  312. package/fesm2022/gravionlabs-helix-core-tag.mjs +343 -154
  313. package/fesm2022/gravionlabs-helix-core-tag.mjs.map +1 -1
  314. package/fesm2022/gravionlabs-helix-core-terminal.mjs +384 -214
  315. package/fesm2022/gravionlabs-helix-core-terminal.mjs.map +1 -1
  316. package/fesm2022/gravionlabs-helix-core-textarea.mjs +347 -209
  317. package/fesm2022/gravionlabs-helix-core-textarea.mjs.map +1 -1
  318. package/fesm2022/gravionlabs-helix-core-themes-aura.mjs +4846 -5618
  319. package/fesm2022/gravionlabs-helix-core-themes-aura.mjs.map +1 -1
  320. package/fesm2022/gravionlabs-helix-core-themes-lara.mjs +4961 -5809
  321. package/fesm2022/gravionlabs-helix-core-themes-lara.mjs.map +1 -1
  322. package/fesm2022/gravionlabs-helix-core-themes-nora.mjs +4780 -5567
  323. package/fesm2022/gravionlabs-helix-core-themes-nora.mjs.map +1 -1
  324. package/fesm2022/gravionlabs-helix-core-themes-types.mjs +0 -700
  325. package/fesm2022/gravionlabs-helix-core-themes.mjs +4 -9
  326. package/fesm2022/gravionlabs-helix-core-themes.mjs.map +1 -1
  327. package/fesm2022/gravionlabs-helix-core-tieredmenu.mjs +1967 -1048
  328. package/fesm2022/gravionlabs-helix-core-tieredmenu.mjs.map +1 -1
  329. package/fesm2022/gravionlabs-helix-core-timeline.mjs +370 -185
  330. package/fesm2022/gravionlabs-helix-core-timeline.mjs.map +1 -1
  331. package/fesm2022/gravionlabs-helix-core-toast.mjs +1083 -526
  332. package/fesm2022/gravionlabs-helix-core-toast.mjs.map +1 -1
  333. package/fesm2022/gravionlabs-helix-core-togglebutton.mjs +609 -315
  334. package/fesm2022/gravionlabs-helix-core-togglebutton.mjs.map +1 -1
  335. package/fesm2022/gravionlabs-helix-core-toggleswitch.mjs +504 -246
  336. package/fesm2022/gravionlabs-helix-core-toggleswitch.mjs.map +1 -1
  337. package/fesm2022/gravionlabs-helix-core-toolbar.mjs +350 -149
  338. package/fesm2022/gravionlabs-helix-core-toolbar.mjs.map +1 -1
  339. package/fesm2022/gravionlabs-helix-core-tooltip.mjs +1035 -795
  340. package/fesm2022/gravionlabs-helix-core-tooltip.mjs.map +1 -1
  341. package/fesm2022/gravionlabs-helix-core-tree.mjs +2673 -1668
  342. package/fesm2022/gravionlabs-helix-core-tree.mjs.map +1 -1
  343. package/fesm2022/gravionlabs-helix-core-treeselect.mjs +1773 -976
  344. package/fesm2022/gravionlabs-helix-core-treeselect.mjs.map +1 -1
  345. package/fesm2022/gravionlabs-helix-core-treetable.mjs +5963 -3647
  346. package/fesm2022/gravionlabs-helix-core-treetable.mjs.map +1 -1
  347. package/fesm2022/gravionlabs-helix-core-ts-helpers.mjs +0 -4
  348. package/fesm2022/gravionlabs-helix-core-types-accordion.mjs +0 -4
  349. package/fesm2022/gravionlabs-helix-core-types-autocomplete.mjs +0 -4
  350. package/fesm2022/gravionlabs-helix-core-types-avatar.mjs +0 -4
  351. package/fesm2022/gravionlabs-helix-core-types-avatargroup.mjs +0 -4
  352. package/fesm2022/gravionlabs-helix-core-types-badge.mjs +0 -4
  353. package/fesm2022/gravionlabs-helix-core-types-blockui.mjs +0 -4
  354. package/fesm2022/gravionlabs-helix-core-types-breadcrumb.mjs +0 -4
  355. package/fesm2022/gravionlabs-helix-core-types-button.mjs +0 -4
  356. package/fesm2022/gravionlabs-helix-core-types-card.mjs +0 -4
  357. package/fesm2022/gravionlabs-helix-core-types-carousel.mjs +0 -4
  358. package/fesm2022/gravionlabs-helix-core-types-cascadeselect.mjs +0 -4
  359. package/fesm2022/gravionlabs-helix-core-types-chart.mjs +0 -4
  360. package/fesm2022/gravionlabs-helix-core-types-checkbox.mjs +0 -4
  361. package/fesm2022/gravionlabs-helix-core-types-chip.mjs +0 -4
  362. package/fesm2022/gravionlabs-helix-core-types-colorpicker.mjs +0 -4
  363. package/fesm2022/gravionlabs-helix-core-types-confirmdialog.mjs +0 -4
  364. package/fesm2022/gravionlabs-helix-core-types-confirmpopup.mjs +0 -4
  365. package/fesm2022/gravionlabs-helix-core-types-contextmenu.mjs +0 -4
  366. package/fesm2022/gravionlabs-helix-core-types-dataview.mjs +0 -4
  367. package/fesm2022/gravionlabs-helix-core-types-datepicker.mjs +0 -4
  368. package/fesm2022/gravionlabs-helix-core-types-dialog.mjs +0 -4
  369. package/fesm2022/gravionlabs-helix-core-types-divider.mjs +0 -4
  370. package/fesm2022/gravionlabs-helix-core-types-dock.mjs +0 -4
  371. package/fesm2022/gravionlabs-helix-core-types-drawer.mjs +0 -4
  372. package/fesm2022/gravionlabs-helix-core-types-editor.mjs +0 -4
  373. package/fesm2022/gravionlabs-helix-core-types-fieldset.mjs +0 -4
  374. package/fesm2022/gravionlabs-helix-core-types-fileupload.mjs +0 -4
  375. package/fesm2022/gravionlabs-helix-core-types-floatlabel.mjs +0 -4
  376. package/fesm2022/gravionlabs-helix-core-types-fluid.mjs +0 -4
  377. package/fesm2022/gravionlabs-helix-core-types-galleria.mjs +0 -4
  378. package/fesm2022/gravionlabs-helix-core-types-iconfield.mjs +0 -4
  379. package/fesm2022/gravionlabs-helix-core-types-iftalabel.mjs +0 -4
  380. package/fesm2022/gravionlabs-helix-core-types-image.mjs +0 -4
  381. package/fesm2022/gravionlabs-helix-core-types-imagecompare.mjs +0 -4
  382. package/fesm2022/gravionlabs-helix-core-types-inplace.mjs +0 -4
  383. package/fesm2022/gravionlabs-helix-core-types-inputgroup.mjs +0 -4
  384. package/fesm2022/gravionlabs-helix-core-types-inputgroupaddon.mjs +0 -4
  385. package/fesm2022/gravionlabs-helix-core-types-inputicon.mjs +0 -4
  386. package/fesm2022/gravionlabs-helix-core-types-inputmask.mjs +0 -4
  387. package/fesm2022/gravionlabs-helix-core-types-inputnumber.mjs +0 -4
  388. package/fesm2022/gravionlabs-helix-core-types-inputotp.mjs +0 -4
  389. package/fesm2022/gravionlabs-helix-core-types-inputtext.mjs +0 -4
  390. package/fesm2022/gravionlabs-helix-core-types-knob.mjs +0 -4
  391. package/fesm2022/gravionlabs-helix-core-types-listbox.mjs +0 -4
  392. package/fesm2022/gravionlabs-helix-core-types-megamenu.mjs +0 -4
  393. package/fesm2022/gravionlabs-helix-core-types-menu.mjs +0 -4
  394. package/fesm2022/gravionlabs-helix-core-types-menubar.mjs +0 -4
  395. package/fesm2022/gravionlabs-helix-core-types-message.mjs +0 -4
  396. package/fesm2022/gravionlabs-helix-core-types-metergroup.mjs +0 -4
  397. package/fesm2022/gravionlabs-helix-core-types-motion.mjs +0 -4
  398. package/fesm2022/gravionlabs-helix-core-types-multiselect.mjs +0 -4
  399. package/fesm2022/gravionlabs-helix-core-types-orderlist.mjs +0 -4
  400. package/fesm2022/gravionlabs-helix-core-types-organizationchart.mjs +0 -4
  401. package/fesm2022/gravionlabs-helix-core-types-overlay.mjs +0 -4
  402. package/fesm2022/gravionlabs-helix-core-types-overlaybadge.mjs +0 -4
  403. package/fesm2022/gravionlabs-helix-core-types-paginator.mjs +0 -4
  404. package/fesm2022/gravionlabs-helix-core-types-panel.mjs +0 -4
  405. package/fesm2022/gravionlabs-helix-core-types-panelmenu.mjs +0 -4
  406. package/fesm2022/gravionlabs-helix-core-types-password.mjs +0 -4
  407. package/fesm2022/gravionlabs-helix-core-types-picklist.mjs +0 -4
  408. package/fesm2022/gravionlabs-helix-core-types-popover.mjs +0 -4
  409. package/fesm2022/gravionlabs-helix-core-types-progressbar.mjs +0 -4
  410. package/fesm2022/gravionlabs-helix-core-types-progressspinner.mjs +0 -4
  411. package/fesm2022/gravionlabs-helix-core-types-radiobutton.mjs +0 -4
  412. package/fesm2022/gravionlabs-helix-core-types-rating.mjs +0 -4
  413. package/fesm2022/gravionlabs-helix-core-types-scroller.mjs +0 -4
  414. package/fesm2022/gravionlabs-helix-core-types-scrollpanel.mjs +0 -4
  415. package/fesm2022/gravionlabs-helix-core-types-scrolltop.mjs +0 -4
  416. package/fesm2022/gravionlabs-helix-core-types-select.mjs +0 -4
  417. package/fesm2022/gravionlabs-helix-core-types-selectbutton.mjs +0 -4
  418. package/fesm2022/gravionlabs-helix-core-types-skeleton.mjs +0 -4
  419. package/fesm2022/gravionlabs-helix-core-types-slider.mjs +0 -4
  420. package/fesm2022/gravionlabs-helix-core-types-speeddial.mjs +0 -4
  421. package/fesm2022/gravionlabs-helix-core-types-splitbutton.mjs +0 -4
  422. package/fesm2022/gravionlabs-helix-core-types-splitter.mjs +0 -4
  423. package/fesm2022/gravionlabs-helix-core-types-stepper.mjs +0 -4
  424. package/fesm2022/gravionlabs-helix-core-types-table.mjs +0 -4
  425. package/fesm2022/gravionlabs-helix-core-types-tabs.mjs +0 -4
  426. package/fesm2022/gravionlabs-helix-core-types-tag.mjs +0 -4
  427. package/fesm2022/gravionlabs-helix-core-types-terminal.mjs +0 -4
  428. package/fesm2022/gravionlabs-helix-core-types-textarea.mjs +0 -4
  429. package/fesm2022/gravionlabs-helix-core-types-tieredmenu.mjs +0 -4
  430. package/fesm2022/gravionlabs-helix-core-types-timeline.mjs +0 -4
  431. package/fesm2022/gravionlabs-helix-core-types-toast.mjs +0 -4
  432. package/fesm2022/gravionlabs-helix-core-types-togglebutton.mjs +0 -4
  433. package/fesm2022/gravionlabs-helix-core-types-toggleswitch.mjs +0 -4
  434. package/fesm2022/gravionlabs-helix-core-types-toolbar.mjs +0 -4
  435. package/fesm2022/gravionlabs-helix-core-types-tooltip.mjs +0 -4
  436. package/fesm2022/gravionlabs-helix-core-types-tree.mjs +0 -4
  437. package/fesm2022/gravionlabs-helix-core-types-treeselect.mjs +0 -4
  438. package/fesm2022/gravionlabs-helix-core-types-treetable.mjs +0 -4
  439. package/fesm2022/gravionlabs-helix-core-uix-motion.mjs +192 -282
  440. package/fesm2022/gravionlabs-helix-core-uix-motion.mjs.map +1 -1
  441. package/fesm2022/gravionlabs-helix-core-uix-styled.mjs +827 -813
  442. package/fesm2022/gravionlabs-helix-core-uix-styled.mjs.map +1 -1
  443. package/fesm2022/gravionlabs-helix-core-uix-utils.mjs +967 -1558
  444. package/fesm2022/gravionlabs-helix-core-uix-utils.mjs.map +1 -1
  445. package/fesm2022/gravionlabs-helix-core-usestyle.mjs +62 -52
  446. package/fesm2022/gravionlabs-helix-core-usestyle.mjs.map +1 -1
  447. package/fesm2022/gravionlabs-helix-core-utils.mjs +272 -366
  448. package/fesm2022/gravionlabs-helix-core-utils.mjs.map +1 -1
  449. package/fesm2022/gravionlabs-helix-core-validators.mjs +86 -93
  450. package/fesm2022/gravionlabs-helix-core-validators.mjs.map +1 -1
  451. package/fesm2022/gravionlabs-helix-core.mjs +1 -5
  452. package/fesm2022/gravionlabs-helix-core.mjs.map +1 -1
  453. package/package.json +1 -1
  454. package/types/gravionlabs-helix-core-accordion.d.ts +317 -246
  455. package/types/gravionlabs-helix-core-animateonscroll.d.ts +89 -61
  456. package/types/gravionlabs-helix-core-api.d.ts +1743 -1777
  457. package/types/gravionlabs-helix-core-autocomplete.d.ts +1070 -750
  458. package/types/gravionlabs-helix-core-autofocus.d.ts +29 -26
  459. package/types/gravionlabs-helix-core-avatar.d.ts +165 -123
  460. package/types/gravionlabs-helix-core-avatargroup.d.ts +58 -48
  461. package/types/gravionlabs-helix-core-badge.d.ts +243 -162
  462. package/types/gravionlabs-helix-core-base.d.ts +46 -49
  463. package/types/gravionlabs-helix-core-basecomponent.d.ts +187 -170
  464. package/types/gravionlabs-helix-core-baseeditableholder.d.ts +63 -45
  465. package/types/gravionlabs-helix-core-baseinput.d.ts +121 -73
  466. package/types/gravionlabs-helix-core-basemodelholder.d.ts +9 -12
  467. package/types/gravionlabs-helix-core-bind.d.ts +36 -33
  468. package/types/gravionlabs-helix-core-blockui.d.ts +114 -90
  469. package/types/gravionlabs-helix-core-breadcrumb.d.ts +158 -132
  470. package/types/gravionlabs-helix-core-button.d.ts +716 -443
  471. package/types/gravionlabs-helix-core-buttongroup.d.ts +28 -33
  472. package/types/gravionlabs-helix-core-card.d.ts +156 -136
  473. package/types/gravionlabs-helix-core-carousel.d.ts +461 -361
  474. package/types/gravionlabs-helix-core-cascadeselect.d.ts +880 -604
  475. package/types/gravionlabs-helix-core-chart.d.ts +162 -115
  476. package/types/gravionlabs-helix-core-checkbox.d.ts +310 -211
  477. package/types/gravionlabs-helix-core-chip.d.ts +202 -147
  478. package/types/gravionlabs-helix-core-classnames.d.ts +23 -21
  479. package/types/gravionlabs-helix-core-colorpicker.d.ts +359 -290
  480. package/types/gravionlabs-helix-core-config.d.ts +249 -259
  481. package/types/gravionlabs-helix-core-confirmdialog.d.ts +498 -325
  482. package/types/gravionlabs-helix-core-confirmpopup.d.ts +273 -218
  483. package/types/gravionlabs-helix-core-contextmenu.d.ts +509 -351
  484. package/types/gravionlabs-helix-core-dataview.d.ts +507 -349
  485. package/types/gravionlabs-helix-core-datepicker.d.ts +1267 -954
  486. package/types/gravionlabs-helix-core-dialog.d.ts +758 -515
  487. package/types/gravionlabs-helix-core-divider.d.ts +126 -106
  488. package/types/gravionlabs-helix-core-dock.d.ts +219 -181
  489. package/types/gravionlabs-helix-core-dom.d.ts +97 -100
  490. package/types/gravionlabs-helix-core-dragdrop.d.ts +149 -107
  491. package/types/gravionlabs-helix-core-drawer.d.ts +382 -278
  492. package/types/gravionlabs-helix-core-dynamicdialog.d.ts +512 -519
  493. package/types/gravionlabs-helix-core-editor.d.ts +225 -173
  494. package/types/gravionlabs-helix-core-fieldset.d.ts +209 -170
  495. package/types/gravionlabs-helix-core-fileupload.d.ts +764 -533
  496. package/types/gravionlabs-helix-core-firsterror.d.ts +8 -11
  497. package/types/gravionlabs-helix-core-floatlabel.d.ts +57 -52
  498. package/types/gravionlabs-helix-core-fluid.d.ts +38 -39
  499. package/types/gravionlabs-helix-core-focustrap.d.ts +33 -30
  500. package/types/gravionlabs-helix-core-galleria.d.ts +957 -628
  501. package/types/gravionlabs-helix-core-iconfield.d.ts +72 -57
  502. package/types/gravionlabs-helix-core-icons-angledoubledown.d.ts +6 -9
  503. package/types/gravionlabs-helix-core-icons-angledoubleleft.d.ts +6 -9
  504. package/types/gravionlabs-helix-core-icons-angledoubleright.d.ts +6 -9
  505. package/types/gravionlabs-helix-core-icons-angledoubleup.d.ts +6 -9
  506. package/types/gravionlabs-helix-core-icons-angledown.d.ts +6 -9
  507. package/types/gravionlabs-helix-core-icons-angleleft.d.ts +6 -9
  508. package/types/gravionlabs-helix-core-icons-angleright.d.ts +6 -9
  509. package/types/gravionlabs-helix-core-icons-angleup.d.ts +6 -9
  510. package/types/gravionlabs-helix-core-icons-arrowdown.d.ts +8 -11
  511. package/types/gravionlabs-helix-core-icons-arrowdownleft.d.ts +6 -9
  512. package/types/gravionlabs-helix-core-icons-arrowdownright.d.ts +6 -9
  513. package/types/gravionlabs-helix-core-icons-arrowleft.d.ts +8 -11
  514. package/types/gravionlabs-helix-core-icons-arrowright.d.ts +6 -9
  515. package/types/gravionlabs-helix-core-icons-arrowup.d.ts +8 -11
  516. package/types/gravionlabs-helix-core-icons-ban.d.ts +8 -11
  517. package/types/gravionlabs-helix-core-icons-bars.d.ts +6 -9
  518. package/types/gravionlabs-helix-core-icons-baseicon.d.ts +25 -24
  519. package/types/gravionlabs-helix-core-icons-blank.d.ts +6 -9
  520. package/types/gravionlabs-helix-core-icons-calendar.d.ts +6 -9
  521. package/types/gravionlabs-helix-core-icons-caretleft.d.ts +6 -9
  522. package/types/gravionlabs-helix-core-icons-caretright.d.ts +6 -9
  523. package/types/gravionlabs-helix-core-icons-check.d.ts +6 -9
  524. package/types/gravionlabs-helix-core-icons-chevrondown.d.ts +6 -9
  525. package/types/gravionlabs-helix-core-icons-chevronleft.d.ts +6 -9
  526. package/types/gravionlabs-helix-core-icons-chevronright.d.ts +6 -9
  527. package/types/gravionlabs-helix-core-icons-chevronup.d.ts +6 -9
  528. package/types/gravionlabs-helix-core-icons-exclamationtriangle.d.ts +8 -11
  529. package/types/gravionlabs-helix-core-icons-eye.d.ts +6 -9
  530. package/types/gravionlabs-helix-core-icons-eyeslash.d.ts +8 -11
  531. package/types/gravionlabs-helix-core-icons-filter.d.ts +8 -11
  532. package/types/gravionlabs-helix-core-icons-filterfill.d.ts +6 -9
  533. package/types/gravionlabs-helix-core-icons-filterslash.d.ts +8 -11
  534. package/types/gravionlabs-helix-core-icons-home.d.ts +8 -11
  535. package/types/gravionlabs-helix-core-icons-infocircle.d.ts +8 -11
  536. package/types/gravionlabs-helix-core-icons-minus.d.ts +6 -9
  537. package/types/gravionlabs-helix-core-icons-pencil.d.ts +8 -11
  538. package/types/gravionlabs-helix-core-icons-plus.d.ts +8 -11
  539. package/types/gravionlabs-helix-core-icons-refresh.d.ts +8 -11
  540. package/types/gravionlabs-helix-core-icons-search.d.ts +8 -11
  541. package/types/gravionlabs-helix-core-icons-searchminus.d.ts +8 -11
  542. package/types/gravionlabs-helix-core-icons-searchplus.d.ts +8 -11
  543. package/types/gravionlabs-helix-core-icons-sortalt.d.ts +8 -11
  544. package/types/gravionlabs-helix-core-icons-sortamountdown.d.ts +8 -11
  545. package/types/gravionlabs-helix-core-icons-sortamountupalt.d.ts +8 -11
  546. package/types/gravionlabs-helix-core-icons-spinner.d.ts +8 -11
  547. package/types/gravionlabs-helix-core-icons-star.d.ts +8 -11
  548. package/types/gravionlabs-helix-core-icons-starfill.d.ts +8 -11
  549. package/types/gravionlabs-helix-core-icons-thlarge.d.ts +8 -11
  550. package/types/gravionlabs-helix-core-icons-times.d.ts +6 -9
  551. package/types/gravionlabs-helix-core-icons-timescircle.d.ts +8 -11
  552. package/types/gravionlabs-helix-core-icons-trash.d.ts +8 -11
  553. package/types/gravionlabs-helix-core-icons-undo.d.ts +8 -11
  554. package/types/gravionlabs-helix-core-icons-upload.d.ts +8 -11
  555. package/types/gravionlabs-helix-core-icons-windowmaximize.d.ts +8 -11
  556. package/types/gravionlabs-helix-core-icons-windowminimize.d.ts +8 -11
  557. package/types/gravionlabs-helix-core-icons.d.ts +53 -53
  558. package/types/gravionlabs-helix-core-iftalabel.d.ts +42 -43
  559. package/types/gravionlabs-helix-core-image.d.ts +440 -331
  560. package/types/gravionlabs-helix-core-imagecompare.d.ts +99 -84
  561. package/types/gravionlabs-helix-core-inplace.d.ts +188 -149
  562. package/types/gravionlabs-helix-core-inputgroup.d.ts +55 -50
  563. package/types/gravionlabs-helix-core-inputgroupaddon.d.ts +54 -43
  564. package/types/gravionlabs-helix-core-inputicon.d.ts +49 -38
  565. package/types/gravionlabs-helix-core-inputmask.d.ts +499 -353
  566. package/types/gravionlabs-helix-core-inputnumber.d.ts +581 -410
  567. package/types/gravionlabs-helix-core-inputotp.d.ts +206 -158
  568. package/types/gravionlabs-helix-core-inputtext.d.ts +142 -102
  569. package/types/gravionlabs-helix-core-keyfilter.d.ts +62 -53
  570. package/types/gravionlabs-helix-core-knob.d.ts +265 -188
  571. package/types/gravionlabs-helix-core-listbox.d.ts +897 -638
  572. package/types/gravionlabs-helix-core-megamenu.d.ts +512 -365
  573. package/types/gravionlabs-helix-core-menu.d.ts +441 -343
  574. package/types/gravionlabs-helix-core-menubar.d.ts +499 -361
  575. package/types/gravionlabs-helix-core-message.d.ts +267 -195
  576. package/types/gravionlabs-helix-core-metergroup.d.ts +256 -190
  577. package/types/gravionlabs-helix-core-motion.d.ts +602 -385
  578. package/types/gravionlabs-helix-core-multiselect.d.ts +1256 -855
  579. package/types/gravionlabs-helix-core-orderlist.d.ts +504 -351
  580. package/types/gravionlabs-helix-core-organizationchart.d.ts +264 -203
  581. package/types/gravionlabs-helix-core-overlay.d.ts +417 -307
  582. package/types/gravionlabs-helix-core-overlaybadge.d.ts +107 -71
  583. package/types/gravionlabs-helix-core-paginator.d.ts +445 -336
  584. package/types/gravionlabs-helix-core-panel.d.ts +285 -225
  585. package/types/gravionlabs-helix-core-panelmenu.d.ts +499 -340
  586. package/types/gravionlabs-helix-core-passthrough.d.ts +5 -7
  587. package/types/gravionlabs-helix-core-password.d.ts +657 -463
  588. package/types/gravionlabs-helix-core-picklist.d.ts +938 -647
  589. package/types/gravionlabs-helix-core-popover.d.ts +259 -190
  590. package/types/gravionlabs-helix-core-progressbar.d.ts +141 -106
  591. package/types/gravionlabs-helix-core-progressspinner.d.ts +101 -76
  592. package/types/gravionlabs-helix-core-radiobutton.d.ts +228 -174
  593. package/types/gravionlabs-helix-core-rating.d.ts +217 -178
  594. package/types/gravionlabs-helix-core-ripple.d.ts +43 -48
  595. package/types/gravionlabs-helix-core-scroller.d.ts +505 -371
  596. package/types/gravionlabs-helix-core-scrollpanel.d.ts +151 -141
  597. package/types/gravionlabs-helix-core-scrolltop.d.ts +195 -140
  598. package/types/gravionlabs-helix-core-select.d.ts +1095 -749
  599. package/types/gravionlabs-helix-core-selectbutton.d.ts +238 -165
  600. package/types/gravionlabs-helix-core-skeleton.d.ts +123 -88
  601. package/types/gravionlabs-helix-core-slider.d.ts +259 -201
  602. package/types/gravionlabs-helix-core-speeddial.d.ts +511 -390
  603. package/types/gravionlabs-helix-core-splitbutton.d.ts +422 -267
  604. package/types/gravionlabs-helix-core-splitter.d.ts +246 -192
  605. package/types/gravionlabs-helix-core-stepper.d.ts +428 -269
  606. package/types/gravionlabs-helix-core-steps.d.ts +162 -134
  607. package/types/gravionlabs-helix-core-styleclass.d.ts +165 -107
  608. package/types/gravionlabs-helix-core-table.d.ts +2908 -1935
  609. package/types/gravionlabs-helix-core-tabs.d.ts +471 -311
  610. package/types/gravionlabs-helix-core-tag.d.ts +123 -98
  611. package/types/gravionlabs-helix-core-terminal.d.ts +142 -124
  612. package/types/gravionlabs-helix-core-textarea.d.ts +147 -110
  613. package/types/gravionlabs-helix-core-themes-aura.d.ts +957 -942
  614. package/types/gravionlabs-helix-core-themes-lara.d.ts +968 -953
  615. package/types/gravionlabs-helix-core-themes-nora.d.ts +954 -939
  616. package/types/gravionlabs-helix-core-themes-types.d.ts +17940 -18746
  617. package/types/gravionlabs-helix-core-themes.d.ts +8 -11
  618. package/types/gravionlabs-helix-core-tieredmenu.d.ts +583 -398
  619. package/types/gravionlabs-helix-core-timeline.d.ts +145 -125
  620. package/types/gravionlabs-helix-core-toast.d.ts +408 -275
  621. package/types/gravionlabs-helix-core-togglebutton.d.ts +264 -188
  622. package/types/gravionlabs-helix-core-toggleswitch.d.ts +202 -150
  623. package/types/gravionlabs-helix-core-toolbar.d.ts +100 -90
  624. package/types/gravionlabs-helix-core-tooltip.d.ts +362 -256
  625. package/types/gravionlabs-helix-core-tree.d.ts +902 -630
  626. package/types/gravionlabs-helix-core-treeselect.d.ts +770 -559
  627. package/types/gravionlabs-helix-core-treetable.d.ts +1715 -1205
  628. package/types/gravionlabs-helix-core-ts-helpers.d.ts +4 -6
  629. package/types/gravionlabs-helix-core-types-accordion.d.ts +42 -45
  630. package/types/gravionlabs-helix-core-types-autocomplete.d.ts +230 -233
  631. package/types/gravionlabs-helix-core-types-avatar.d.ts +23 -26
  632. package/types/gravionlabs-helix-core-types-avatargroup.d.ts +11 -14
  633. package/types/gravionlabs-helix-core-types-badge.d.ts +11 -14
  634. package/types/gravionlabs-helix-core-types-blockui.d.ts +18 -21
  635. package/types/gravionlabs-helix-core-types-breadcrumb.d.ts +65 -68
  636. package/types/gravionlabs-helix-core-types-button.d.ts +90 -93
  637. package/types/gravionlabs-helix-core-types-card.d.ts +54 -57
  638. package/types/gravionlabs-helix-core-types-carousel.d.ts +107 -110
  639. package/types/gravionlabs-helix-core-types-cascadeselect.d.ts +151 -157
  640. package/types/gravionlabs-helix-core-types-chart.d.ts +15 -18
  641. package/types/gravionlabs-helix-core-types-checkbox.d.ts +48 -51
  642. package/types/gravionlabs-helix-core-types-chip.d.ts +49 -52
  643. package/types/gravionlabs-helix-core-types-colorpicker.d.ts +58 -61
  644. package/types/gravionlabs-helix-core-types-confirmdialog.d.ts +116 -119
  645. package/types/gravionlabs-helix-core-types-confirmpopup.d.ts +74 -77
  646. package/types/gravionlabs-helix-core-types-contextmenu.d.ts +71 -74
  647. package/types/gravionlabs-helix-core-types-dataview.d.ts +178 -181
  648. package/types/gravionlabs-helix-core-types-datepicker.d.ts +436 -439
  649. package/types/gravionlabs-helix-core-types-dialog.d.ts +86 -89
  650. package/types/gravionlabs-helix-core-types-divider.d.ts +11 -14
  651. package/types/gravionlabs-helix-core-types-dock.d.ts +44 -47
  652. package/types/gravionlabs-helix-core-types-drawer.d.ts +61 -64
  653. package/types/gravionlabs-helix-core-types-editor.d.ts +143 -146
  654. package/types/gravionlabs-helix-core-types-fieldset.d.ts +69 -73
  655. package/types/gravionlabs-helix-core-types-fileupload.d.ts +260 -265
  656. package/types/gravionlabs-helix-core-types-floatlabel.d.ts +11 -14
  657. package/types/gravionlabs-helix-core-types-fluid.d.ts +11 -14
  658. package/types/gravionlabs-helix-core-types-galleria.d.ts +204 -207
  659. package/types/gravionlabs-helix-core-types-iconfield.d.ts +11 -14
  660. package/types/gravionlabs-helix-core-types-iftalabel.d.ts +11 -14
  661. package/types/gravionlabs-helix-core-types-image.d.ts +113 -116
  662. package/types/gravionlabs-helix-core-types-imagecompare.d.ts +22 -25
  663. package/types/gravionlabs-helix-core-types-inplace.d.ts +46 -49
  664. package/types/gravionlabs-helix-core-types-inputgroup.d.ts +11 -14
  665. package/types/gravionlabs-helix-core-types-inputgroupaddon.d.ts +11 -14
  666. package/types/gravionlabs-helix-core-types-inputicon.d.ts +11 -14
  667. package/types/gravionlabs-helix-core-types-inputmask.d.ts +30 -33
  668. package/types/gravionlabs-helix-core-types-inputnumber.d.ts +68 -71
  669. package/types/gravionlabs-helix-core-types-inputotp.d.ts +67 -70
  670. package/types/gravionlabs-helix-core-types-inputtext.d.ts +7 -10
  671. package/types/gravionlabs-helix-core-types-knob.d.ts +23 -26
  672. package/types/gravionlabs-helix-core-types-listbox.d.ts +262 -266
  673. package/types/gravionlabs-helix-core-types-megamenu.d.ts +112 -115
  674. package/types/gravionlabs-helix-core-types-menu.d.ts +83 -86
  675. package/types/gravionlabs-helix-core-types-menubar.d.ts +98 -101
  676. package/types/gravionlabs-helix-core-types-message.d.ts +61 -64
  677. package/types/gravionlabs-helix-core-types-metergroup.d.ts +135 -138
  678. package/types/gravionlabs-helix-core-types-motion.d.ts +11 -14
  679. package/types/gravionlabs-helix-core-types-multiselect.d.ts +302 -306
  680. package/types/gravionlabs-helix-core-types-orderlist.d.ts +125 -128
  681. package/types/gravionlabs-helix-core-types-organizationchart.d.ts +90 -96
  682. package/types/gravionlabs-helix-core-types-overlay.d.ts +31 -34
  683. package/types/gravionlabs-helix-core-types-overlaybadge.d.ts +17 -20
  684. package/types/gravionlabs-helix-core-types-paginator.d.ts +131 -134
  685. package/types/gravionlabs-helix-core-types-panel.d.ts +89 -93
  686. package/types/gravionlabs-helix-core-types-panelmenu.d.ts +105 -108
  687. package/types/gravionlabs-helix-core-types-password.d.ts +94 -97
  688. package/types/gravionlabs-helix-core-types-picklist.d.ts +240 -250
  689. package/types/gravionlabs-helix-core-types-popover.d.ts +33 -36
  690. package/types/gravionlabs-helix-core-types-progressbar.d.ts +32 -35
  691. package/types/gravionlabs-helix-core-types-progressspinner.d.ts +19 -22
  692. package/types/gravionlabs-helix-core-types-radiobutton.d.ts +29 -32
  693. package/types/gravionlabs-helix-core-types-rating.d.ts +62 -65
  694. package/types/gravionlabs-helix-core-types-scroller.d.ts +142 -146
  695. package/types/gravionlabs-helix-core-types-scrollpanel.d.ts +30 -33
  696. package/types/gravionlabs-helix-core-types-scrolltop.d.ts +35 -38
  697. package/types/gravionlabs-helix-core-types-select.d.ts +245 -248
  698. package/types/gravionlabs-helix-core-types-selectbutton.d.ts +56 -59
  699. package/types/gravionlabs-helix-core-types-skeleton.d.ts +11 -14
  700. package/types/gravionlabs-helix-core-types-slider.d.ts +50 -53
  701. package/types/gravionlabs-helix-core-types-speeddial.d.ts +69 -72
  702. package/types/gravionlabs-helix-core-types-splitbutton.d.ts +41 -44
  703. package/types/gravionlabs-helix-core-types-splitter.d.ts +36 -40
  704. package/types/gravionlabs-helix-core-types-stepper.d.ts +68 -71
  705. package/types/gravionlabs-helix-core-types-table.d.ts +721 -727
  706. package/types/gravionlabs-helix-core-types-tabs.d.ts +51 -54
  707. package/types/gravionlabs-helix-core-types-tag.d.ts +26 -29
  708. package/types/gravionlabs-helix-core-types-terminal.d.ts +43 -46
  709. package/types/gravionlabs-helix-core-types-textarea.d.ts +11 -14
  710. package/types/gravionlabs-helix-core-types-tieredmenu.d.ts +69 -72
  711. package/types/gravionlabs-helix-core-types-timeline.d.ts +58 -61
  712. package/types/gravionlabs-helix-core-types-toast.d.ts +86 -89
  713. package/types/gravionlabs-helix-core-types-togglebutton.d.ts +51 -54
  714. package/types/gravionlabs-helix-core-types-toggleswitch.d.ts +41 -44
  715. package/types/gravionlabs-helix-core-types-toolbar.d.ts +34 -37
  716. package/types/gravionlabs-helix-core-types-tooltip.d.ts +15 -18
  717. package/types/gravionlabs-helix-core-types-tree.d.ts +230 -239
  718. package/types/gravionlabs-helix-core-types-treeselect.d.ts +195 -199
  719. package/types/gravionlabs-helix-core-types-treetable.d.ts +486 -491
  720. package/types/gravionlabs-helix-core-uix-motion.d.ts +177 -190
  721. package/types/gravionlabs-helix-core-uix-styled.d.ts +254 -277
  722. package/types/gravionlabs-helix-core-uix-utils.d.ts +39 -176
  723. package/types/gravionlabs-helix-core-usestyle.d.ts +12 -15
  724. package/types/gravionlabs-helix-core-utils.d.ts +45 -50
  725. package/types/gravionlabs-helix-core-validators.d.ts +29 -34
  726. package/types/gravionlabs-helix-core.d.ts +2 -2
  727. package/fesm2022/gravionlabs-helix-core-icons.mjs.map +0 -1
  728. package/fesm2022/gravionlabs-helix-core-themes-types.mjs.map +0 -1
  729. package/fesm2022/gravionlabs-helix-core-ts-helpers.mjs.map +0 -1
  730. package/fesm2022/gravionlabs-helix-core-types-accordion.mjs.map +0 -1
  731. package/fesm2022/gravionlabs-helix-core-types-autocomplete.mjs.map +0 -1
  732. package/fesm2022/gravionlabs-helix-core-types-avatar.mjs.map +0 -1
  733. package/fesm2022/gravionlabs-helix-core-types-avatargroup.mjs.map +0 -1
  734. package/fesm2022/gravionlabs-helix-core-types-badge.mjs.map +0 -1
  735. package/fesm2022/gravionlabs-helix-core-types-blockui.mjs.map +0 -1
  736. package/fesm2022/gravionlabs-helix-core-types-breadcrumb.mjs.map +0 -1
  737. package/fesm2022/gravionlabs-helix-core-types-button.mjs.map +0 -1
  738. package/fesm2022/gravionlabs-helix-core-types-card.mjs.map +0 -1
  739. package/fesm2022/gravionlabs-helix-core-types-carousel.mjs.map +0 -1
  740. package/fesm2022/gravionlabs-helix-core-types-cascadeselect.mjs.map +0 -1
  741. package/fesm2022/gravionlabs-helix-core-types-chart.mjs.map +0 -1
  742. package/fesm2022/gravionlabs-helix-core-types-checkbox.mjs.map +0 -1
  743. package/fesm2022/gravionlabs-helix-core-types-chip.mjs.map +0 -1
  744. package/fesm2022/gravionlabs-helix-core-types-colorpicker.mjs.map +0 -1
  745. package/fesm2022/gravionlabs-helix-core-types-confirmdialog.mjs.map +0 -1
  746. package/fesm2022/gravionlabs-helix-core-types-confirmpopup.mjs.map +0 -1
  747. package/fesm2022/gravionlabs-helix-core-types-contextmenu.mjs.map +0 -1
  748. package/fesm2022/gravionlabs-helix-core-types-dataview.mjs.map +0 -1
  749. package/fesm2022/gravionlabs-helix-core-types-datepicker.mjs.map +0 -1
  750. package/fesm2022/gravionlabs-helix-core-types-dialog.mjs.map +0 -1
  751. package/fesm2022/gravionlabs-helix-core-types-divider.mjs.map +0 -1
  752. package/fesm2022/gravionlabs-helix-core-types-dock.mjs.map +0 -1
  753. package/fesm2022/gravionlabs-helix-core-types-drawer.mjs.map +0 -1
  754. package/fesm2022/gravionlabs-helix-core-types-editor.mjs.map +0 -1
  755. package/fesm2022/gravionlabs-helix-core-types-fieldset.mjs.map +0 -1
  756. package/fesm2022/gravionlabs-helix-core-types-fileupload.mjs.map +0 -1
  757. package/fesm2022/gravionlabs-helix-core-types-floatlabel.mjs.map +0 -1
  758. package/fesm2022/gravionlabs-helix-core-types-fluid.mjs.map +0 -1
  759. package/fesm2022/gravionlabs-helix-core-types-galleria.mjs.map +0 -1
  760. package/fesm2022/gravionlabs-helix-core-types-iconfield.mjs.map +0 -1
  761. package/fesm2022/gravionlabs-helix-core-types-iftalabel.mjs.map +0 -1
  762. package/fesm2022/gravionlabs-helix-core-types-image.mjs.map +0 -1
  763. package/fesm2022/gravionlabs-helix-core-types-imagecompare.mjs.map +0 -1
  764. package/fesm2022/gravionlabs-helix-core-types-inplace.mjs.map +0 -1
  765. package/fesm2022/gravionlabs-helix-core-types-inputgroup.mjs.map +0 -1
  766. package/fesm2022/gravionlabs-helix-core-types-inputgroupaddon.mjs.map +0 -1
  767. package/fesm2022/gravionlabs-helix-core-types-inputicon.mjs.map +0 -1
  768. package/fesm2022/gravionlabs-helix-core-types-inputmask.mjs.map +0 -1
  769. package/fesm2022/gravionlabs-helix-core-types-inputnumber.mjs.map +0 -1
  770. package/fesm2022/gravionlabs-helix-core-types-inputotp.mjs.map +0 -1
  771. package/fesm2022/gravionlabs-helix-core-types-inputtext.mjs.map +0 -1
  772. package/fesm2022/gravionlabs-helix-core-types-knob.mjs.map +0 -1
  773. package/fesm2022/gravionlabs-helix-core-types-listbox.mjs.map +0 -1
  774. package/fesm2022/gravionlabs-helix-core-types-megamenu.mjs.map +0 -1
  775. package/fesm2022/gravionlabs-helix-core-types-menu.mjs.map +0 -1
  776. package/fesm2022/gravionlabs-helix-core-types-menubar.mjs.map +0 -1
  777. package/fesm2022/gravionlabs-helix-core-types-message.mjs.map +0 -1
  778. package/fesm2022/gravionlabs-helix-core-types-metergroup.mjs.map +0 -1
  779. package/fesm2022/gravionlabs-helix-core-types-motion.mjs.map +0 -1
  780. package/fesm2022/gravionlabs-helix-core-types-multiselect.mjs.map +0 -1
  781. package/fesm2022/gravionlabs-helix-core-types-orderlist.mjs.map +0 -1
  782. package/fesm2022/gravionlabs-helix-core-types-organizationchart.mjs.map +0 -1
  783. package/fesm2022/gravionlabs-helix-core-types-overlay.mjs.map +0 -1
  784. package/fesm2022/gravionlabs-helix-core-types-overlaybadge.mjs.map +0 -1
  785. package/fesm2022/gravionlabs-helix-core-types-paginator.mjs.map +0 -1
  786. package/fesm2022/gravionlabs-helix-core-types-panel.mjs.map +0 -1
  787. package/fesm2022/gravionlabs-helix-core-types-panelmenu.mjs.map +0 -1
  788. package/fesm2022/gravionlabs-helix-core-types-password.mjs.map +0 -1
  789. package/fesm2022/gravionlabs-helix-core-types-picklist.mjs.map +0 -1
  790. package/fesm2022/gravionlabs-helix-core-types-popover.mjs.map +0 -1
  791. package/fesm2022/gravionlabs-helix-core-types-progressbar.mjs.map +0 -1
  792. package/fesm2022/gravionlabs-helix-core-types-progressspinner.mjs.map +0 -1
  793. package/fesm2022/gravionlabs-helix-core-types-radiobutton.mjs.map +0 -1
  794. package/fesm2022/gravionlabs-helix-core-types-rating.mjs.map +0 -1
  795. package/fesm2022/gravionlabs-helix-core-types-scroller.mjs.map +0 -1
  796. package/fesm2022/gravionlabs-helix-core-types-scrollpanel.mjs.map +0 -1
  797. package/fesm2022/gravionlabs-helix-core-types-scrolltop.mjs.map +0 -1
  798. package/fesm2022/gravionlabs-helix-core-types-select.mjs.map +0 -1
  799. package/fesm2022/gravionlabs-helix-core-types-selectbutton.mjs.map +0 -1
  800. package/fesm2022/gravionlabs-helix-core-types-skeleton.mjs.map +0 -1
  801. package/fesm2022/gravionlabs-helix-core-types-slider.mjs.map +0 -1
  802. package/fesm2022/gravionlabs-helix-core-types-speeddial.mjs.map +0 -1
  803. package/fesm2022/gravionlabs-helix-core-types-splitbutton.mjs.map +0 -1
  804. package/fesm2022/gravionlabs-helix-core-types-splitter.mjs.map +0 -1
  805. package/fesm2022/gravionlabs-helix-core-types-stepper.mjs.map +0 -1
  806. package/fesm2022/gravionlabs-helix-core-types-table.mjs.map +0 -1
  807. package/fesm2022/gravionlabs-helix-core-types-tabs.mjs.map +0 -1
  808. package/fesm2022/gravionlabs-helix-core-types-tag.mjs.map +0 -1
  809. package/fesm2022/gravionlabs-helix-core-types-terminal.mjs.map +0 -1
  810. package/fesm2022/gravionlabs-helix-core-types-textarea.mjs.map +0 -1
  811. package/fesm2022/gravionlabs-helix-core-types-tieredmenu.mjs.map +0 -1
  812. package/fesm2022/gravionlabs-helix-core-types-timeline.mjs.map +0 -1
  813. package/fesm2022/gravionlabs-helix-core-types-toast.mjs.map +0 -1
  814. package/fesm2022/gravionlabs-helix-core-types-togglebutton.mjs.map +0 -1
  815. package/fesm2022/gravionlabs-helix-core-types-toggleswitch.mjs.map +0 -1
  816. package/fesm2022/gravionlabs-helix-core-types-toolbar.mjs.map +0 -1
  817. package/fesm2022/gravionlabs-helix-core-types-tooltip.mjs.map +0 -1
  818. package/fesm2022/gravionlabs-helix-core-types-tree.mjs.map +0 -1
  819. package/fesm2022/gravionlabs-helix-core-types-treeselect.mjs.map +0 -1
  820. package/fesm2022/gravionlabs-helix-core-types-treetable.mjs.map +0 -1
@@ -1,29 +1,29 @@
1
- export * from '@gravionlabs/helix-core/types/select';
2
- import * as i1 from '@angular/common';
3
- import { CommonModule } from '@angular/common';
4
- import * as i0 from '@angular/core';
5
- import { Injectable, InjectionToken, forwardRef, inject, input, booleanAttribute, numberAttribute, output, ChangeDetectionStrategy, Component, model, viewChild, computed, contentChild, contentChildren, signal, effect, ViewEncapsulation, NgModule } from '@angular/core';
6
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
7
- import { isNotEmpty, isEmpty, uuid, findSingle, scrollInView, equals, resolveFieldData, focus, isPrintableCharacter, findLastIndex, getFirstFocusableElement, getLastFocusableElement, getFocusableElements } from '@gravionlabs/helix-core/uix/utils';
8
- import * as i3 from '@gravionlabs/helix-core/api';
9
- import { SharedModule, HelixTemplate, TranslationKeys } from '@gravionlabs/helix-core/api';
10
- import { AutoFocus } from '@gravionlabs/helix-core/autofocus';
11
- import { BaseComponent, PARENT_INSTANCE } from '@gravionlabs/helix-core/basecomponent';
12
- import { BaseInput } from '@gravionlabs/helix-core/baseinput';
13
- import * as i2 from '@gravionlabs/helix-core/bind';
14
- import { BindModule, Bind } from '@gravionlabs/helix-core/bind';
15
- import { unblockBodyScroll } from '@gravionlabs/helix-core/dom';
16
- import { IconField } from '@gravionlabs/helix-core/iconfield';
17
- import { CheckIcon, BlankIcon, TimesIcon, ChevronDownIcon, SearchIcon } from '@gravionlabs/helix-core/icons';
18
- import { InputIcon } from '@gravionlabs/helix-core/inputicon';
19
- import { InputText } from '@gravionlabs/helix-core/inputtext';
20
- import { Overlay } from '@gravionlabs/helix-core/overlay';
21
- import { Ripple } from '@gravionlabs/helix-core/ripple';
22
- import { Scroller } from '@gravionlabs/helix-core/scroller';
23
- import { Tooltip } from '@gravionlabs/helix-core/tooltip';
24
- import { BaseStyle } from '@gravionlabs/helix-core/base';
25
-
26
- const style$1 = /*css*/ `
1
+ import * as i1 from "@angular/common";
2
+ import { CommonModule } from "@angular/common";
3
+ import * as i0 from "@angular/core";
4
+ import { ChangeDetectionStrategy, Component, Injectable, InjectionToken, NgModule, ViewEncapsulation, booleanAttribute, computed, contentChild, contentChildren, effect, forwardRef, inject, input, model, numberAttribute, output, signal, viewChild } from "@angular/core";
5
+ import { NG_VALUE_ACCESSOR } from "@angular/forms";
6
+ import { equals, findLastIndex, findSingle, focus, getFirstFocusableElement, getFocusableElements, getLastFocusableElement, isEmpty, isNotEmpty, isPrintableCharacter, resolveFieldData, scrollInView, uuid } from "@gravionlabs/helix-core/uix/utils";
7
+ import * as i3 from "@gravionlabs/helix-core/api";
8
+ import { HelixTemplate, SharedModule, TranslationKeys } from "@gravionlabs/helix-core/api";
9
+ import { AutoFocus } from "@gravionlabs/helix-core/autofocus";
10
+ import { BaseComponent, PARENT_INSTANCE } from "@gravionlabs/helix-core/basecomponent";
11
+ import { BaseInput } from "@gravionlabs/helix-core/baseinput";
12
+ import * as i2 from "@gravionlabs/helix-core/bind";
13
+ import { Bind, BindModule } from "@gravionlabs/helix-core/bind";
14
+ import { unblockBodyScroll } from "@gravionlabs/helix-core/dom";
15
+ import { IconField } from "@gravionlabs/helix-core/iconfield";
16
+ import { BlankIcon, CheckIcon, ChevronDownIcon, SearchIcon, TimesIcon } from "@gravionlabs/helix-core/icons";
17
+ import { InputIcon } from "@gravionlabs/helix-core/inputicon";
18
+ import { InputText } from "@gravionlabs/helix-core/inputtext";
19
+ import { Overlay } from "@gravionlabs/helix-core/overlay";
20
+ import { Ripple } from "@gravionlabs/helix-core/ripple";
21
+ import { Scroller } from "@gravionlabs/helix-core/scroller";
22
+ import { Tooltip } from "@gravionlabs/helix-core/tooltip";
23
+ import { BaseStyle } from "@gravionlabs/helix-core/base";
24
+ export * from "@gravionlabs/helix-core/types/select";
25
+ const style = `
26
+
27
27
  .h-select {
28
28
  display: inline-flex;
29
29
  cursor: pointer;
@@ -264,10 +264,7 @@ const style$1 = /*css*/ `
264
264
  padding-block-start: dt('select.padding.y');
265
265
  padding-block-end: dt('select.padding.y');
266
266
  }
267
- `;
268
267
 
269
- const style = /*css*/ `
270
- ${style$1}
271
268
 
272
269
  /* For Helix */
273
270
  .h-select-label.h-placeholder {
@@ -284,1624 +281,2942 @@ const style = /*css*/ `
284
281
  }
285
282
  `;
286
283
  const classes = {
287
- root: ({ instance }) => [
288
- 'h-select h-component h-inputwrapper',
289
- {
290
- 'h-disabled': instance.$disabled(),
291
- 'h-variant-filled': instance.$variant() === 'filled',
292
- 'h-focus': instance.focused,
293
- 'h-invalid': instance.invalid(),
294
- 'h-inputwrapper-filled': instance.$filled(),
295
- 'h-inputwrapper-focus': instance.focused || instance.overlayVisible,
296
- 'h-select-open': instance.overlayVisible,
297
- 'h-select-fluid': instance.hasFluid,
298
- 'h-select-sm h-inputfield-sm': instance.size() === 'small',
299
- 'h-select-lg h-inputfield-lg': instance.size() === 'large'
300
- }
301
- ],
302
- label: ({ instance }) => [
303
- 'h-select-label',
304
- {
305
- 'h-placeholder': instance.placeholder() && instance.label() === instance.placeholder(),
306
- 'h-select-label-empty': !instance.editable && !instance.selectedItemTemplate && (instance.label() === undefined || instance.label() === null || instance.label() === 'h-emptylabel' || instance.label().length === 0)
307
- }
308
- ],
309
- clearIcon: 'h-select-clear-icon',
310
- dropdown: 'h-select-dropdown',
311
- loadingIcon: 'h-select-loading-icon',
312
- dropdownIcon: 'h-select-dropdown-icon',
313
- overlay: 'h-select-overlay h-component-overlay h-component',
314
- header: 'h-select-header',
315
- pcFilter: 'h-select-filter',
316
- listContainer: 'h-select-list-container',
317
- list: 'h-select-list',
318
- optionGroup: 'h-select-option-group',
319
- optionGroupLabel: 'h-select-option-group-label',
320
- option: ({ instance }) => [
321
- 'h-select-option',
322
- {
323
- 'h-select-option-selected': instance.selected && !instance.checkmark,
324
- 'h-disabled': instance.disabled,
325
- 'h-focus': instance.focused
326
- }
327
- ],
328
- optionLabel: 'h-select-option-label',
329
- optionCheckIcon: 'h-select-option-check-icon',
330
- optionBlankIcon: 'h-select-option-blank-icon',
331
- emptyMessage: 'h-select-empty-message'
284
+ root: ({ instance }) => ["h-select h-component h-inputwrapper", {
285
+ "h-disabled": instance.$disabled(),
286
+ "h-variant-filled": instance.$variant() === "filled",
287
+ "h-focus": instance.focused,
288
+ "h-invalid": instance.invalid(),
289
+ "h-inputwrapper-filled": instance.$filled(),
290
+ "h-inputwrapper-focus": instance.focused || instance.overlayVisible,
291
+ "h-select-open": instance.overlayVisible,
292
+ "h-select-fluid": instance.hasFluid,
293
+ "h-select-sm h-inputfield-sm": instance.size() === "small",
294
+ "h-select-lg h-inputfield-lg": instance.size() === "large"
295
+ }],
296
+ label: ({ instance }) => ["h-select-label", {
297
+ "h-placeholder": instance.placeholder() && instance.label() === instance.placeholder(),
298
+ "h-select-label-empty": !instance.editable && !instance.selectedItemTemplate && (instance.label() === void 0 || instance.label() === null || instance.label() === "h-emptylabel" || instance.label().length === 0)
299
+ }],
300
+ clearIcon: "h-select-clear-icon",
301
+ dropdown: "h-select-dropdown",
302
+ loadingIcon: "h-select-loading-icon",
303
+ dropdownIcon: "h-select-dropdown-icon",
304
+ overlay: "h-select-overlay h-component-overlay h-component",
305
+ header: "h-select-header",
306
+ pcFilter: "h-select-filter",
307
+ listContainer: "h-select-list-container",
308
+ list: "h-select-list",
309
+ optionGroup: "h-select-option-group",
310
+ optionGroupLabel: "h-select-option-group-label",
311
+ option: ({ instance }) => ["h-select-option", {
312
+ "h-select-option-selected": instance.selected && !instance.checkmark,
313
+ "h-disabled": instance.disabled,
314
+ "h-focus": instance.focused
315
+ }],
316
+ optionLabel: "h-select-option-label",
317
+ optionCheckIcon: "h-select-option-check-icon",
318
+ optionBlankIcon: "h-select-option-blank-icon",
319
+ emptyMessage: "h-select-empty-message"
332
320
  };
333
- class SelectStyle extends BaseStyle {
334
- name = 'select';
335
- style = style;
336
- classes = classes;
337
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: SelectStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
338
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: SelectStyle });
339
- }
340
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: SelectStyle, decorators: [{
341
- type: Injectable
342
- }] });
343
- /**
344
- *
345
- * Select also known as Select, is used to choose an item from a collection of options.
346
- *
347
- * [Live Demo](https://www.primeng.org/select/)
348
- *
349
- * @module selectstyle
350
- *
351
- */
321
+ var SelectStyle = class SelectStyle extends BaseStyle {
322
+ name = "select";
323
+ style = style;
324
+ classes = classes;
325
+ static ɵfac = i0.ɵɵngDeclareFactory({
326
+ minVersion: "12.0.0",
327
+ version: "22.2.1",
328
+ ngImport: i0,
329
+ type: SelectStyle,
330
+ deps: null,
331
+ target: i0.ɵɵFactoryTarget.Injectable
332
+ });
333
+ static ɵprov = i0.ɵɵngDeclareInjectable({
334
+ minVersion: "12.0.0",
335
+ version: "22.2.1",
336
+ ngImport: i0,
337
+ type: SelectStyle
338
+ });
339
+ };
340
+ i0.ɵɵngDeclareClassMetadata({
341
+ minVersion: "12.0.0",
342
+ version: "22.2.1",
343
+ ngImport: i0,
344
+ type: SelectStyle,
345
+ decorators: [{ type: Injectable }]
346
+ });
352
347
  var SelectClasses;
353
- (function (SelectClasses) {
354
- /**
355
- * Class name of the root element
356
- */
357
- SelectClasses["root"] = "h-select";
358
- /**
359
- * Class name of the label element
360
- */
361
- SelectClasses["label"] = "h-select-label";
362
- /**
363
- * Class name of the clear icon element
364
- */
365
- SelectClasses["clearIcon"] = "h-select-clear-icon";
366
- /**
367
- * Class name of the dropdown element
368
- */
369
- SelectClasses["dropdown"] = "h-select-dropdown";
370
- /**
371
- * Class name of the loadingicon element
372
- */
373
- SelectClasses["loadingIcon"] = "h-select-loading-icon";
374
- /**
375
- * Class name of the dropdown icon element
376
- */
377
- SelectClasses["dropdownIcon"] = "h-select-dropdown-icon";
378
- /**
379
- * Class name of the overlay element
380
- */
381
- SelectClasses["overlay"] = "h-select-overlay";
382
- /**
383
- * Class name of the header element
384
- */
385
- SelectClasses["header"] = "h-select-header";
386
- /**
387
- * Class name of the filter element
388
- */
389
- SelectClasses["pcFilter"] = "h-select-filter";
390
- /**
391
- * Class name of the list container element
392
- */
393
- SelectClasses["listContainer"] = "h-select-list-container";
394
- /**
395
- * Class name of the list element
396
- */
397
- SelectClasses["list"] = "h-select-list";
398
- /**
399
- * Class name of the option group element
400
- */
401
- SelectClasses["optionGroup"] = "h-select-option-group";
402
- /**
403
- * Class name of the option group label element
404
- */
405
- SelectClasses["optionGroupLabel"] = "h-select-option-group-label";
406
- /**
407
- * Class name of the option element
408
- */
409
- SelectClasses["option"] = "h-select-option";
410
- /**
411
- * Class name of the option label element
412
- */
413
- SelectClasses["optionLabel"] = "h-select-option-label";
414
- /**
415
- * Class name of the option check icon element
416
- */
417
- SelectClasses["optionCheckIcon"] = "h-select-option-check-icon";
418
- /**
419
- * Class name of the option blank icon element
420
- */
421
- SelectClasses["optionBlankIcon"] = "h-select-option-blank-icon";
422
- /**
423
- * Class name of the empty message element
424
- */
425
- SelectClasses["emptyMessage"] = "h-select-empty-message";
348
+ (function(SelectClasses) {
349
+ SelectClasses["root"] = "h-select";
350
+ SelectClasses["label"] = "h-select-label";
351
+ SelectClasses["clearIcon"] = "h-select-clear-icon";
352
+ SelectClasses["dropdown"] = "h-select-dropdown";
353
+ SelectClasses["loadingIcon"] = "h-select-loading-icon";
354
+ SelectClasses["dropdownIcon"] = "h-select-dropdown-icon";
355
+ SelectClasses["overlay"] = "h-select-overlay";
356
+ SelectClasses["header"] = "h-select-header";
357
+ SelectClasses["pcFilter"] = "h-select-filter";
358
+ SelectClasses["listContainer"] = "h-select-list-container";
359
+ SelectClasses["list"] = "h-select-list";
360
+ SelectClasses["optionGroup"] = "h-select-option-group";
361
+ SelectClasses["optionGroupLabel"] = "h-select-option-group-label";
362
+ SelectClasses["option"] = "h-select-option";
363
+ SelectClasses["optionLabel"] = "h-select-option-label";
364
+ SelectClasses["optionCheckIcon"] = "h-select-option-check-icon";
365
+ SelectClasses["optionBlankIcon"] = "h-select-option-blank-icon";
366
+ SelectClasses["emptyMessage"] = "h-select-empty-message";
426
367
  })(SelectClasses || (SelectClasses = {}));
427
-
428
- const SELECT_INSTANCE = new InjectionToken('SELECT_INSTANCE');
429
- const SELECT_ITEM_INSTANCE = new InjectionToken('SELECT_ITEM_INSTANCE');
368
+ const SELECT_INSTANCE = new InjectionToken("SELECT_INSTANCE");
369
+ const SELECT_ITEM_INSTANCE = new InjectionToken("SELECT_ITEM_INSTANCE");
430
370
  const SELECT_VALUE_ACCESSOR = {
431
- provide: NG_VALUE_ACCESSOR,
432
- useExisting: forwardRef(() => Select),
433
- multi: true
371
+ provide: NG_VALUE_ACCESSOR,
372
+ useExisting: forwardRef(() => Select),
373
+ multi: true
434
374
  };
435
- class SelectItem extends BaseComponent {
436
- hostName = 'select';
437
- $pcSelectItem = inject(SELECT_ITEM_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
438
- $pcSelect = inject(SELECT_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
439
- id = input(/* @ts-ignore */
440
- ...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
441
- option = input(/* @ts-ignore */
442
- ...(ngDevMode ? [undefined, { debugName: "option" }] : /* istanbul ignore next */ []));
443
- selected = input(undefined, { ...(ngDevMode ? { debugName: "selected" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
444
- focused = input(undefined, { ...(ngDevMode ? { debugName: "focused" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
445
- label = input(/* @ts-ignore */
446
- ...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
447
- disabled = input(undefined, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
448
- visible = input(undefined, { ...(ngDevMode ? { debugName: "visible" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
449
- itemSize = input(undefined, { ...(ngDevMode ? { debugName: "itemSize" } : /* istanbul ignore next */ {}), transform: numberAttribute });
450
- ariaPosInset = input(/* @ts-ignore */
451
- ...(ngDevMode ? [undefined, { debugName: "ariaPosInset" }] : /* istanbul ignore next */ []));
452
- ariaSetSize = input(/* @ts-ignore */
453
- ...(ngDevMode ? [undefined, { debugName: "ariaSetSize" }] : /* istanbul ignore next */ []));
454
- template = input(/* @ts-ignore */
455
- ...(ngDevMode ? [undefined, { debugName: "template" }] : /* istanbul ignore next */ []));
456
- checkmark = input(undefined, { ...(ngDevMode ? { debugName: "checkmark" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
457
- index = input(/* @ts-ignore */
458
- ...(ngDevMode ? [undefined, { debugName: "index" }] : /* istanbul ignore next */ []));
459
- scrollerOptions = input(/* @ts-ignore */
460
- ...(ngDevMode ? [undefined, { debugName: "scrollerOptions" }] : /* istanbul ignore next */ []));
461
- onClick = output();
462
- onMouseEnter = output();
463
- _componentStyle = inject(SelectStyle);
464
- onOptionClick(event) {
465
- this.onClick.emit(event);
466
- }
467
- onOptionMouseEnter(event) {
468
- this.onMouseEnter.emit(event);
469
- }
470
- getPTOptions() {
471
- const option = this.option();
472
- return (this.$pcSelect?.getPTItemOptions?.(option, this.scrollerOptions(), this.index() ?? 0, 'option') ??
473
- this.$pcSelect?.ptm('option', {
474
- context: {
475
- option: option,
476
- selected: this.selected(),
477
- focused: this.focused(),
478
- disabled: this.disabled()
479
- }
480
- }));
481
- }
482
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: SelectItem, deps: null, target: i0.ɵɵFactoryTarget.Component });
483
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: SelectItem, isStandalone: true, selector: "h-selectItem", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, option: { classPropertyName: "option", publicName: "option", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, focused: { classPropertyName: "focused", publicName: "focused", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, itemSize: { classPropertyName: "itemSize", publicName: "itemSize", isSignal: true, isRequired: false, transformFunction: null }, ariaPosInset: { classPropertyName: "ariaPosInset", publicName: "ariaPosInset", isSignal: true, isRequired: false, transformFunction: null }, ariaSetSize: { classPropertyName: "ariaSetSize", publicName: "ariaSetSize", isSignal: true, isRequired: false, transformFunction: null }, template: { classPropertyName: "template", publicName: "template", isSignal: true, isRequired: false, transformFunction: null }, checkmark: { classPropertyName: "checkmark", publicName: "checkmark", isSignal: true, isRequired: false, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null }, scrollerOptions: { classPropertyName: "scrollerOptions", publicName: "scrollerOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick", onMouseEnter: "onMouseEnter" }, providers: [SelectStyle, { provide: PARENT_INSTANCE, useExisting: SelectItem }], usesInheritance: true, ngImport: i0, template: "<li\n [id]=\"id()\"\n [hBind]=\"getPTOptions()\"\n (click)=\"onOptionClick($event)\"\n (mouseenter)=\"onOptionMouseEnter($event)\"\n role=\"option\"\n hRipple\n [attr.aria-label]=\"label()\"\n [attr.aria-setsize]=\"ariaSetSize()\"\n [attr.aria-posinset]=\"ariaPosInset()\"\n [attr.aria-selected]=\"selected()\"\n [attr.data-h-focused]=\"focused()\"\n [attr.data-h-highlight]=\"selected()\"\n [attr.data-h-selected]=\"selected()\"\n [attr.data-h-disabled]=\"disabled()\"\n [ngStyle]=\"{ height: $safeNavigationMigration(scrollerOptions()?.itemSize) + 'px' }\"\n [class]=\"cx('option')\"\n >\n @if (checkmark()) {\n @if (selected()) {\n <svg data-h-icon=\"check\" [class]=\"cx('optionCheckIcon')\" [hBind]=\"$safeNavigationMigration($pcSelect?.ptm('optionCheckIcon'))\" />\n }\n @if (!selected()) {\n <svg data-h-icon=\"blank\" [class]=\"cx('optionBlankIcon')\" [hBind]=\"$safeNavigationMigration($pcSelect?.ptm('optionBlankIcon'))\" />\n }\n }\n @if (!template()) {\n <span [hBind]=\"$safeNavigationMigration($pcSelect?.ptm('optionLabel'))\">{{ label() ?? 'empty' }}</span>\n }\n <ng-container *ngTemplateOutlet=\"template(); context: { $implicit: option() }\"></ng-container>\n</li>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: SharedModule }, { kind: "directive", type: Ripple, selector: "[hRipple]" }, { kind: "component", type: CheckIcon, selector: "[data-h-icon=\"check\"]" }, { kind: "component", type: BlankIcon, selector: "[data-h-icon=\"blank\"]" }, { kind: "ngmodule", type: BindModule }, { kind: "directive", type: i2.Bind, selector: "[hBind]", inputs: ["hBind"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
484
- }
485
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: SelectItem, decorators: [{
486
- type: Component,
487
- args: [{ selector: 'h-selectItem', standalone: true, imports: [CommonModule, SharedModule, Ripple, CheckIcon, BlankIcon, BindModule], changeDetection: ChangeDetectionStrategy.Eager, providers: [SelectStyle, { provide: PARENT_INSTANCE, useExisting: SelectItem }], template: "<li\n [id]=\"id()\"\n [hBind]=\"getPTOptions()\"\n (click)=\"onOptionClick($event)\"\n (mouseenter)=\"onOptionMouseEnter($event)\"\n role=\"option\"\n hRipple\n [attr.aria-label]=\"label()\"\n [attr.aria-setsize]=\"ariaSetSize()\"\n [attr.aria-posinset]=\"ariaPosInset()\"\n [attr.aria-selected]=\"selected()\"\n [attr.data-h-focused]=\"focused()\"\n [attr.data-h-highlight]=\"selected()\"\n [attr.data-h-selected]=\"selected()\"\n [attr.data-h-disabled]=\"disabled()\"\n [ngStyle]=\"{ height: $safeNavigationMigration(scrollerOptions()?.itemSize) + 'px' }\"\n [class]=\"cx('option')\"\n >\n @if (checkmark()) {\n @if (selected()) {\n <svg data-h-icon=\"check\" [class]=\"cx('optionCheckIcon')\" [hBind]=\"$safeNavigationMigration($pcSelect?.ptm('optionCheckIcon'))\" />\n }\n @if (!selected()) {\n <svg data-h-icon=\"blank\" [class]=\"cx('optionBlankIcon')\" [hBind]=\"$safeNavigationMigration($pcSelect?.ptm('optionBlankIcon'))\" />\n }\n }\n @if (!template()) {\n <span [hBind]=\"$safeNavigationMigration($pcSelect?.ptm('optionLabel'))\">{{ label() ?? 'empty' }}</span>\n }\n <ng-container *ngTemplateOutlet=\"template(); context: { $implicit: option() }\"></ng-container>\n</li>\n" }]
488
- }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], option: [{ type: i0.Input, args: [{ isSignal: true, alias: "option", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], focused: [{ type: i0.Input, args: [{ isSignal: true, alias: "focused", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], visible: [{ type: i0.Input, args: [{ isSignal: true, alias: "visible", required: false }] }], itemSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemSize", required: false }] }], ariaPosInset: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaPosInset", required: false }] }], ariaSetSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaSetSize", required: false }] }], template: [{ type: i0.Input, args: [{ isSignal: true, alias: "template", required: false }] }], checkmark: [{ type: i0.Input, args: [{ isSignal: true, alias: "checkmark", required: false }] }], index: [{ type: i0.Input, args: [{ isSignal: true, alias: "index", required: false }] }], scrollerOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollerOptions", required: false }] }], onClick: [{ type: i0.Output, args: ["onClick"] }], onMouseEnter: [{ type: i0.Output, args: ["onMouseEnter"] }] } });
489
- /**
490
- * Select is used to choose an item from a collection of options.
491
- * @group Components
492
- */
493
- class Select extends BaseInput {
494
- zone;
495
- filterService;
496
- componentName = 'Select';
497
- bindDirectiveInstance = inject(Bind, { self: true });
498
- /**
499
- * Unique identifier of the component
500
- * @group Props
501
- */
502
- // TODO: Skipped for migration because:
503
- // Your application code writes to the input. This prevents migration.
504
- id = model(undefined, /* @ts-ignore */
505
- ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
506
- /**
507
- * Height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.
508
- * @group Props
509
- */
510
- scrollHeight = input('200px', /* @ts-ignore */
511
- ...(ngDevMode ? [{ debugName: "scrollHeight" }] : /* istanbul ignore next */ []));
512
- /**
513
- * When specified, displays an input field to filter the items on keyup.
514
- * @group Props
515
- */
516
- filter = input(undefined, { ...(ngDevMode ? { debugName: "filter" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
517
- /**
518
- * Inline style of the overlay panel element.
519
- * @group Props
520
- */
521
- panelStyle = input(/* @ts-ignore */
522
- ...(ngDevMode ? [undefined, { debugName: "panelStyle" }] : /* istanbul ignore next */ []));
523
- /**
524
- * Style class of the element.
525
- * @deprecated since v20.0.0, use `class` instead.
526
- * @group Props
527
- */
528
- styleClass = input(/* @ts-ignore */
529
- ...(ngDevMode ? [undefined, { debugName: "styleClass" }] : /* istanbul ignore next */ []));
530
- /**
531
- * Style class of the overlay panel element.
532
- * @group Props
533
- */
534
- panelStyleClass = input(/* @ts-ignore */
535
- ...(ngDevMode ? [undefined, { debugName: "panelStyleClass" }] : /* istanbul ignore next */ []));
536
- /**
537
- * When present, it specifies that the component cannot be edited.
538
- * @group Props
539
- */
540
- readonly = input(undefined, { ...(ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
541
- /**
542
- * When present, custom value instead of predefined options can be entered using the editable input field.
543
- * @group Props
544
- */
545
- editable = input(undefined, { ...(ngDevMode ? { debugName: "editable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
546
- /**
547
- * Index of the element in tabbing order.
548
- * @group Props
549
- */
550
- tabindex = input(0, { ...(ngDevMode ? { debugName: "tabindex" } : /* istanbul ignore next */ {}), transform: numberAttribute });
551
- /**
552
- * Default text to display when no option is selected.
553
- * @group Props
554
- */
555
- // TODO: Skipped for migration because:
556
- // Accessor inputs cannot be migrated as they are too complex.
557
- placeholder = model(undefined, /* @ts-ignore */
558
- ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
559
- /**
560
- * Icon to display in loading state.
561
- * @group Props
562
- */
563
- // TODO: Skipped for migration because:
564
- // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)
565
- // and migrating would break narrowing currently.
566
- loadingIcon = input(undefined, /* @ts-ignore */
567
- ...(ngDevMode ? [{ debugName: "loadingIcon" }] : /* istanbul ignore next */ []));
568
- /**
569
- * Placeholder text to show when filter input is empty.
570
- * @group Props
571
- */
572
- filterPlaceholder = input(/* @ts-ignore */
573
- ...(ngDevMode ? [undefined, { debugName: "filterPlaceholder" }] : /* istanbul ignore next */ []));
574
- /**
575
- * Locale to use in filtering. The default locale is the host environment's current locale.
576
- * @group Props
577
- */
578
- filterLocale = input(/* @ts-ignore */
579
- ...(ngDevMode ? [undefined, { debugName: "filterLocale" }] : /* istanbul ignore next */ []));
580
- /**
581
- * Identifier of the accessible input element.
582
- * @group Props
583
- */
584
- inputId = input(/* @ts-ignore */
585
- ...(ngDevMode ? [undefined, { debugName: "inputId" }] : /* istanbul ignore next */ []));
586
- /**
587
- * A property to uniquely identify a value in options.
588
- * @group Props
589
- */
590
- dataKey = input(/* @ts-ignore */
591
- ...(ngDevMode ? [undefined, { debugName: "dataKey" }] : /* istanbul ignore next */ []));
592
- /**
593
- * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.
594
- * @group Props
595
- */
596
- filterBy = input(/* @ts-ignore */
597
- ...(ngDevMode ? [undefined, { debugName: "filterBy" }] : /* istanbul ignore next */ []));
598
- /**
599
- * Fields used when filtering the options, defaults to optionLabel.
600
- * @group Props
601
- */
602
- filterFields = input(/* @ts-ignore */
603
- ...(ngDevMode ? [undefined, { debugName: "filterFields" }] : /* istanbul ignore next */ []));
604
- /**
605
- * When present, it specifies that the component should automatically get focus on load.
606
- * @group Props
607
- */
608
- autofocus = input(undefined, { ...(ngDevMode ? { debugName: "autofocus" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
609
- /**
610
- * Clears the filter value when hiding the select.
611
- * @group Props
612
- */
613
- resetFilterOnHide = input(false, { ...(ngDevMode ? { debugName: "resetFilterOnHide" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
614
- /**
615
- * Whether the selected option will be shown with a check mark.
616
- * @group Props
617
- */
618
- checkmark = input(false, { ...(ngDevMode ? { debugName: "checkmark" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
619
- /**
620
- * Icon class of the select icon.
621
- * @group Props
622
- */
623
- // TODO: Skipped for migration because:
624
- // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)
625
- // and migrating would break narrowing currently.
626
- dropdownIcon = input(undefined, /* @ts-ignore */
627
- ...(ngDevMode ? [{ debugName: "dropdownIcon" }] : /* istanbul ignore next */ []));
628
- /**
629
- * Whether the select is in loading state.
630
- * @group Props
631
- */
632
- loading = input(false, { ...(ngDevMode ? { debugName: "loading" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
633
- /**
634
- * Name of the label field of an option.
635
- * @group Props
636
- */
637
- optionLabel = input(/* @ts-ignore */
638
- ...(ngDevMode ? [undefined, { debugName: "optionLabel" }] : /* istanbul ignore next */ []));
639
- /**
640
- * Name of the value field of an option.
641
- * @group Props
642
- */
643
- optionValue = input(/* @ts-ignore */
644
- ...(ngDevMode ? [undefined, { debugName: "optionValue" }] : /* istanbul ignore next */ []));
645
- /**
646
- * Name of the disabled field of an option.
647
- * @group Props
648
- */
649
- optionDisabled = input(/* @ts-ignore */
650
- ...(ngDevMode ? [undefined, { debugName: "optionDisabled" }] : /* istanbul ignore next */ []));
651
- /**
652
- * Name of the label field of an option group.
653
- * @group Props
654
- */
655
- optionGroupLabel = input('label', /* @ts-ignore */
656
- ...(ngDevMode ? [{ debugName: "optionGroupLabel" }] : /* istanbul ignore next */ []));
657
- /**
658
- * Name of the options field of an option group.
659
- * @group Props
660
- */
661
- optionGroupChildren = input('items', /* @ts-ignore */
662
- ...(ngDevMode ? [{ debugName: "optionGroupChildren" }] : /* istanbul ignore next */ []));
663
- /**
664
- * Whether to display options as grouped when nested options are provided.
665
- * @group Props
666
- */
667
- group = input(undefined, { ...(ngDevMode ? { debugName: "group" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
668
- /**
669
- * When enabled, a clear icon is displayed to clear the value.
670
- * @group Props
671
- */
672
- showClear = input(undefined, { ...(ngDevMode ? { debugName: "showClear" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
673
- /**
674
- * Text to display when filtering does not return any results. Defaults to global value in i18n translation configuration.
675
- * @group Props
676
- */
677
- emptyFilterMessage = input('', /* @ts-ignore */
678
- ...(ngDevMode ? [{ debugName: "emptyFilterMessage" }] : /* istanbul ignore next */ []));
679
- /**
680
- * Text to display when there is no data. Defaults to global value in i18n translation configuration.
681
- * @group Props
682
- */
683
- emptyMessage = input('', /* @ts-ignore */
684
- ...(ngDevMode ? [{ debugName: "emptyMessage" }] : /* istanbul ignore next */ []));
685
- /**
686
- * Defines if data is loaded and interacted with in lazy manner.
687
- * @group Props
688
- */
689
- lazy = input(false, { ...(ngDevMode ? { debugName: "lazy" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
690
- /**
691
- * Whether the data should be loaded on demand during scroll.
692
- * @group Props
693
- */
694
- virtualScroll = input(undefined, { ...(ngDevMode ? { debugName: "virtualScroll" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
695
- /**
696
- * Height of an item in the list for VirtualScrolling.
697
- * @group Props
698
- */
699
- virtualScrollItemSize = input(undefined, { ...(ngDevMode ? { debugName: "virtualScrollItemSize" } : /* istanbul ignore next */ {}), transform: numberAttribute });
700
- /**
701
- * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.
702
- * @group Props
703
- */
704
- virtualScrollOptions = input(/* @ts-ignore */
705
- ...(ngDevMode ? [undefined, { debugName: "virtualScrollOptions" }] : /* istanbul ignore next */ []));
706
- /**
707
- * Whether to use overlay API feature. The properties of overlay API can be used like an object in it.
708
- * @group Props
709
- */
710
- overlayOptions = input(/* @ts-ignore */
711
- ...(ngDevMode ? [undefined, { debugName: "overlayOptions" }] : /* istanbul ignore next */ []));
712
- /**
713
- * Defines a string that labels the filter input.
714
- * @group Props
715
- */
716
- ariaFilterLabel = input(/* @ts-ignore */
717
- ...(ngDevMode ? [undefined, { debugName: "ariaFilterLabel" }] : /* istanbul ignore next */ []));
718
- /**
719
- * Used to define a aria label attribute the current element.
720
- * @group Props
721
- */
722
- ariaLabel = input(/* @ts-ignore */
723
- ...(ngDevMode ? [undefined, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
724
- /**
725
- * Establishes relationships between the component and label(s) where its value should be one or more element IDs.
726
- * @group Props
727
- */
728
- ariaLabelledBy = input(/* @ts-ignore */
729
- ...(ngDevMode ? [undefined, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []));
730
- /**
731
- * Defines how the items are filtered.
732
- * @group Props
733
- */
734
- filterMatchMode = input('contains', /* @ts-ignore */
735
- ...(ngDevMode ? [{ debugName: "filterMatchMode" }] : /* istanbul ignore next */ []));
736
- /**
737
- * Advisory information to display in a tooltip on hover.
738
- * @group Props
739
- */
740
- tooltip = input('', /* @ts-ignore */
741
- ...(ngDevMode ? [{ debugName: "tooltip" }] : /* istanbul ignore next */ []));
742
- /**
743
- * Position of the tooltip.
744
- * @group Props
745
- */
746
- tooltipPosition = input('right', /* @ts-ignore */
747
- ...(ngDevMode ? [{ debugName: "tooltipPosition" }] : /* istanbul ignore next */ []));
748
- /**
749
- * Type of CSS position.
750
- * @group Props
751
- */
752
- tooltipPositionStyle = input('absolute', /* @ts-ignore */
753
- ...(ngDevMode ? [{ debugName: "tooltipPositionStyle" }] : /* istanbul ignore next */ []));
754
- /**
755
- * Style class of the tooltip.
756
- * @group Props
757
- */
758
- tooltipStyleClass = input(/* @ts-ignore */
759
- ...(ngDevMode ? [undefined, { debugName: "tooltipStyleClass" }] : /* istanbul ignore next */ []));
760
- /**
761
- * Fields used when filtering the options, defaults to optionLabel.
762
- * @group Props
763
- */
764
- focusOnHover = input(true, { ...(ngDevMode ? { debugName: "focusOnHover" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
765
- /**
766
- * Determines if the option will be selected on focus.
767
- * @group Props
768
- */
769
- selectOnFocus = input(false, { ...(ngDevMode ? { debugName: "selectOnFocus" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
770
- /**
771
- * Whether to focus on the first visible or selected element when the overlay panel is shown.
772
- * @group Props
773
- */
774
- autoOptionFocus = input(false, { ...(ngDevMode ? { debugName: "autoOptionFocus" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
775
- /**
776
- * Applies focus to the filter element when the overlay is shown.
777
- * @group Props
778
- */
779
- autofocusFilter = input(true, { ...(ngDevMode ? { debugName: "autofocusFilter" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
780
- /**
781
- * When specified, filter displays with this value.
782
- * @group Props
783
- */
784
- // TODO: Skipped for migration because:
785
- // Accessor inputs cannot be migrated as they are too complex.
786
- filterValue = input(/* @ts-ignore */
787
- ...(ngDevMode ? [undefined, { debugName: "filterValue" }] : /* istanbul ignore next */ []));
788
- /**
789
- * An array of objects to display as the available options.
790
- * @group Props
791
- */
792
- // TODO: Skipped for migration because:
793
- // Accessor inputs cannot be migrated as they are too complex.
794
- options = input(/* @ts-ignore */
795
- ...(ngDevMode ? [undefined, { debugName: "options" }] : /* istanbul ignore next */ []));
796
- /**
797
- * 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).
798
- * @defaultValue 'self'
799
- * @group Props
800
- */
801
- appendTo = input(undefined, /* @ts-ignore */
802
- ...(ngDevMode ? [{ debugName: "appendTo" }] : /* istanbul ignore next */ []));
803
- /**
804
- * The motion options.
805
- * @group Props
806
- */
807
- motionOptions = input(undefined, /* @ts-ignore */
808
- ...(ngDevMode ? [{ debugName: "motionOptions" }] : /* istanbul ignore next */ []));
809
- /**
810
- * Callback to invoke when value of select changes.
811
- * @param {SelectChangeEvent} event - custom change event.
812
- * @group Emits
813
- */
814
- onChange = output();
815
- /**
816
- * Callback to invoke when data is filtered.
817
- * @param {SelectFilterEvent} event - custom filter event.
818
- * @group Emits
819
- */
820
- onFilter = output();
821
- /**
822
- * Callback to invoke when select gets focus.
823
- * @param {Event} event - Browser event.
824
- * @group Emits
825
- */
826
- onFocus = output();
827
- /**
828
- * Callback to invoke when select loses focus.
829
- * @param {Event} event - Browser event.
830
- * @group Emits
831
- */
832
- onBlur = output();
833
- /**
834
- * Callback to invoke when component is clicked.
835
- * @param {MouseEvent} event - Mouse event.
836
- * @group Emits
837
- */
838
- onClick = output();
839
- /**
840
- * Callback to invoke when select overlay gets visible.
841
- * @param {AnimationEvent} event - Animation event.
842
- * @group Emits
843
- */
844
- onShow = output();
845
- /**
846
- * Callback to invoke when select overlay gets hidden.
847
- * @param {AnimationEvent} event - Animation event.
848
- * @group Emits
849
- */
850
- onHide = output();
851
- /**
852
- * Callback to invoke when select clears the value.
853
- * @param {Event} event - Browser event.
854
- * @group Emits
855
- */
856
- onClear = output();
857
- /**
858
- * Callback to invoke in lazy mode to load new data.
859
- * @param {SelectLazyLoadEvent} event - Lazy load event.
860
- * @group Emits
861
- */
862
- onLazyLoad = output();
863
- _componentStyle = inject(SelectStyle);
864
- filterViewChild = viewChild('filter', /* @ts-ignore */
865
- ...(ngDevMode ? [{ debugName: "filterViewChild" }] : /* istanbul ignore next */ []));
866
- focusInputViewChild = viewChild('focusInput', /* @ts-ignore */
867
- ...(ngDevMode ? [{ debugName: "focusInputViewChild" }] : /* istanbul ignore next */ []));
868
- editableInputViewChild = viewChild('editableInput', /* @ts-ignore */
869
- ...(ngDevMode ? [{ debugName: "editableInputViewChild" }] : /* istanbul ignore next */ []));
870
- itemsViewChild = viewChild('items', /* @ts-ignore */
871
- ...(ngDevMode ? [{ debugName: "itemsViewChild" }] : /* istanbul ignore next */ []));
872
- scroller = viewChild('scroller', /* @ts-ignore */
873
- ...(ngDevMode ? [{ debugName: "scroller" }] : /* istanbul ignore next */ []));
874
- overlayViewChild = viewChild('overlay', /* @ts-ignore */
875
- ...(ngDevMode ? [{ debugName: "overlayViewChild" }] : /* istanbul ignore next */ []));
876
- firstHiddenFocusableElementOnOverlay = viewChild('firstHiddenFocusableEl', /* @ts-ignore */
877
- ...(ngDevMode ? [{ debugName: "firstHiddenFocusableElementOnOverlay" }] : /* istanbul ignore next */ []));
878
- lastHiddenFocusableElementOnOverlay = viewChild('lastHiddenFocusableEl', /* @ts-ignore */
879
- ...(ngDevMode ? [{ debugName: "lastHiddenFocusableElementOnOverlay" }] : /* istanbul ignore next */ []));
880
- itemsWrapper;
881
- $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo(), /* @ts-ignore */
882
- ...(ngDevMode ? [{ debugName: "$appendTo" }] : /* istanbul ignore next */ []));
883
- /**
884
- * Custom item template.
885
- * @group Templates
886
- */
887
- itemTemplate = contentChild('item', { ...(ngDevMode ? { debugName: "itemTemplate" } : /* istanbul ignore next */ {}), descendants: false });
888
- /**
889
- * Custom group template.
890
- * @group Templates
891
- */
892
- groupTemplate = contentChild('group', { ...(ngDevMode ? { debugName: "groupTemplate" } : /* istanbul ignore next */ {}), descendants: false });
893
- /**
894
- * Custom loader template.
895
- * @group Templates
896
- */
897
- loaderTemplate = contentChild('loader', { ...(ngDevMode ? { debugName: "loaderTemplate" } : /* istanbul ignore next */ {}), descendants: false });
898
- /**
899
- * Custom selected item template.
900
- * @group Templates
901
- */
902
- selectedItemTemplate = contentChild('selectedItem', { ...(ngDevMode ? { debugName: "selectedItemTemplate" } : /* istanbul ignore next */ {}), descendants: false });
903
- /**
904
- * Custom header template.
905
- * @group Templates
906
- */
907
- headerTemplate = contentChild('header', { ...(ngDevMode ? { debugName: "headerTemplate" } : /* istanbul ignore next */ {}), descendants: false });
908
- /**
909
- * Custom filter template.
910
- * @group Templates
911
- */
912
- filterTemplate = contentChild('filter', { ...(ngDevMode ? { debugName: "filterTemplate" } : /* istanbul ignore next */ {}), descendants: false });
913
- /**
914
- * Custom footer template.
915
- * @group Templates
916
- */
917
- footerTemplate = contentChild('footer', { ...(ngDevMode ? { debugName: "footerTemplate" } : /* istanbul ignore next */ {}), descendants: false });
918
- /**
919
- * Custom empty filter template.
920
- * @group Templates
921
- */
922
- emptyFilterTemplate = contentChild('emptyfilter', { ...(ngDevMode ? { debugName: "emptyFilterTemplate" } : /* istanbul ignore next */ {}), descendants: false });
923
- /**
924
- * Custom empty template.
925
- * @group Templates
926
- */
927
- emptyTemplate = contentChild('empty', { ...(ngDevMode ? { debugName: "emptyTemplate" } : /* istanbul ignore next */ {}), descendants: false });
928
- /**
929
- * Custom dropdown icon template.
930
- * @group Templates
931
- */
932
- dropdownIconTemplate = contentChild('dropdownicon', { ...(ngDevMode ? { debugName: "dropdownIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
933
- /**
934
- * Custom loading icon template.
935
- * @group Templates
936
- */
937
- loadingIconTemplate = contentChild('loadingicon', { ...(ngDevMode ? { debugName: "loadingIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
938
- /**
939
- * Custom clear icon template.
940
- * @group Templates
941
- */
942
- clearIconTemplate = contentChild('clearicon', { ...(ngDevMode ? { debugName: "clearIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
943
- /**
944
- * Custom filter icon template.
945
- * @group Templates
946
- */
947
- filterIconTemplate = contentChild('filtericon', { ...(ngDevMode ? { debugName: "filterIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
948
- /**
949
- * Custom on icon template.
950
- * @group Templates
951
- */
952
- onIconTemplate = contentChild('onicon', { ...(ngDevMode ? { debugName: "onIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
953
- /**
954
- * Custom off icon template.
955
- * @group Templates
956
- */
957
- offIconTemplate = contentChild('officon', { ...(ngDevMode ? { debugName: "offIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
958
- /**
959
- * Custom cancel icon template.
960
- * @group Templates
961
- */
962
- cancelIconTemplate = contentChild('cancelicon', { ...(ngDevMode ? { debugName: "cancelIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
963
- templates = contentChildren(HelixTemplate, /* @ts-ignore */
964
- ...(ngDevMode ? [{ debugName: "templates" }] : /* istanbul ignore next */ []));
965
- _itemTemplate;
966
- _selectedItemTemplate;
967
- _headerTemplate;
968
- _filterTemplate;
969
- _footerTemplate;
970
- _emptyFilterTemplate;
971
- _emptyTemplate;
972
- _groupTemplate;
973
- _loaderTemplate;
974
- _dropdownIconTemplate;
975
- _loadingIconTemplate;
976
- _clearIconTemplate;
977
- _filterIconTemplate;
978
- _cancelIconTemplate;
979
- _onIconTemplate;
980
- _offIconTemplate;
981
- filterOptions;
982
- _options = signal(null, /* @ts-ignore */
983
- ...(ngDevMode ? [{ debugName: "_options" }] : /* istanbul ignore next */ []));
984
- value;
985
- hover;
986
- focused;
987
- overlayVisible;
988
- optionsChanged;
989
- panel;
990
- dimensionsUpdated;
991
- hoveredItem;
992
- selectedOptionUpdated;
993
- _filterValue = signal(null, /* @ts-ignore */
994
- ...(ngDevMode ? [{ debugName: "_filterValue" }] : /* istanbul ignore next */ []));
995
- searchValue;
996
- searchIndex;
997
- searchTimeout;
998
- previousSearchChar;
999
- currentSearchChar;
1000
- preventModelTouched;
1001
- focusedOptionIndex = signal(-1, /* @ts-ignore */
1002
- ...(ngDevMode ? [{ debugName: "focusedOptionIndex" }] : /* istanbul ignore next */ []));
1003
- labelId;
1004
- listId;
1005
- clicked = signal(false, /* @ts-ignore */
1006
- ...(ngDevMode ? [{ debugName: "clicked" }] : /* istanbul ignore next */ []));
1007
- get emptyMessageLabel() {
1008
- return this.emptyMessage() || this.config.getTranslation(TranslationKeys.EMPTY_MESSAGE);
1009
- }
1010
- get emptyFilterMessageLabel() {
1011
- return this.emptyFilterMessage() || this.config.getTranslation(TranslationKeys.EMPTY_FILTER_MESSAGE);
1012
- }
1013
- get isVisibleClearIcon() {
1014
- return this.modelValue() != null && this.hasSelectedOption() && this.showClear() && !this.$disabled();
1015
- }
1016
- get listLabel() {
1017
- return this.config.getTranslation(TranslationKeys.ARIA)['listLabel'];
1018
- }
1019
- get focusedOptionId() {
1020
- return this.focusedOptionIndex() !== -1 ? `${this.id()}_${this.focusedOptionIndex()}` : null;
1021
- }
1022
- visibleOptions = computed(() => {
1023
- const options = this.getAllVisibleAndNonVisibleOptions();
1024
- if (this._filterValue()) {
1025
- const _filterBy = this.filterBy() || this.optionLabel();
1026
- const filteredOptions = !_filterBy && !this.filterFields() && !this.optionValue()
1027
- ? this.options()?.filter((option) => {
1028
- if (option.label) {
1029
- return option.label.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()) !== -1;
1030
- }
1031
- return option.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()) !== -1;
1032
- })
1033
- : this.filterService.filter(options, this.searchFields(), this._filterValue().trim(), this.filterMatchMode(), this.filterLocale());
1034
- if (this.group()) {
1035
- const optionGroups = this.options() || [];
1036
- const filtered = [];
1037
- optionGroups.forEach((group) => {
1038
- const groupChildren = this.getOptionGroupChildren(group);
1039
- const filteredItems = groupChildren.filter((item) => filteredOptions?.includes(item));
1040
- const optionGroupChildren = this.optionGroupChildren();
1041
- if (filteredItems.length > 0)
1042
- filtered.push({
1043
- ...group,
1044
- [typeof optionGroupChildren === 'string' ? optionGroupChildren : 'items']: [...filteredItems]
1045
- });
1046
- });
1047
- return this.flatOptions(filtered);
1048
- }
1049
- return filteredOptions;
1050
- }
1051
- return options;
1052
- }, /* @ts-ignore */
1053
- ...(ngDevMode ? [{ debugName: "visibleOptions" }] : /* istanbul ignore next */ []));
1054
- label = computed(() => {
1055
- // use getAllVisibleAndNonVisibleOptions verses just visible options
1056
- // 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
1057
- const options = this.getAllVisibleAndNonVisibleOptions();
1058
- // use isOptionEqualsModelValue for the use case where the dropdown is initalized with a disabled option
1059
- const selectedOptionIndex = options.findIndex((option) => {
1060
- const isEqual = this.isOptionValueEqualsModelValue(option);
1061
- return isEqual;
1062
- });
1063
- if (selectedOptionIndex !== -1) {
1064
- const selectedOption = options[selectedOptionIndex];
1065
- // Always show the label for selected options, even if disabled
1066
- return this.getOptionLabel(selectedOption);
1067
- }
1068
- return this.placeholder() || 'h-emptylabel';
1069
- }, /* @ts-ignore */
1070
- ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
1071
- selectedOption;
1072
- constructor(zone, filterService) {
1073
- super();
1074
- this.zone = zone;
1075
- this.filterService = filterService;
1076
- effect(() => {
1077
- const modelValue = this.modelValue();
1078
- const visibleOptions = this.visibleOptions();
1079
- const editable = this.editable();
1080
- if (visibleOptions && isNotEmpty(visibleOptions)) {
1081
- const selectedOptionIndex = this.findSelectedOptionIndex();
1082
- if (selectedOptionIndex !== -1 || modelValue === undefined || (typeof modelValue === 'string' && modelValue.length === 0) || this.isModelValueNotSet() || editable) {
1083
- this.selectedOption = visibleOptions[selectedOptionIndex];
1084
- }
1085
- else {
1086
- // If no valid selected option found but we have a model value,
1087
- // try to find the option including disabled ones for template display
1088
- const disabledSelectedIndex = visibleOptions.findIndex((option) => this.isSelected(option));
1089
- if (disabledSelectedIndex !== -1) {
1090
- this.selectedOption = visibleOptions[disabledSelectedIndex];
1091
- }
1092
- }
1093
- }
1094
- if (isEmpty(visibleOptions) && (modelValue === undefined || this.isModelValueNotSet()) && isNotEmpty(this.selectedOption)) {
1095
- this.selectedOption = null;
1096
- }
1097
- if (modelValue !== undefined && editable) {
1098
- this.updateEditableLabel();
1099
- }
1100
- this.cd.markForCheck();
1101
- });
1102
- effect(() => {
1103
- const val = this.filterValue();
1104
- if (val !== undefined) {
1105
- this._filterValue.set(val);
1106
- }
1107
- });
1108
- }
1109
- isModelValueNotSet() {
1110
- return this.modelValue() === null && !this.isOptionValueEqualsModelValue(this.selectedOption);
1111
- }
1112
- getAllVisibleAndNonVisibleOptions() {
1113
- return this.group() ? this.flatOptions(this.options()) : this.options() || [];
1114
- }
1115
- onInit() {
1116
- if (!this.id())
1117
- this.id.set(uuid('pn_id_'));
1118
- this.autoUpdateModel();
1119
- if (this.filterBy()) {
1120
- this.filterOptions = {
1121
- filter: (value) => this.onFilterInputChange(value),
1122
- reset: () => this.resetFilter()
1123
- };
1124
- }
1125
- }
1126
- onAfterContentInit() {
1127
- this.templates().forEach((item) => {
1128
- switch (item.getType()) {
1129
- case 'item':
1130
- this._itemTemplate = item.template;
1131
- break;
1132
- case 'selectedItem':
1133
- this._selectedItemTemplate = item.template;
1134
- break;
1135
- case 'header':
1136
- this._headerTemplate = item.template;
1137
- break;
1138
- case 'filter':
1139
- this._filterTemplate = item.template;
1140
- break;
1141
- case 'footer':
1142
- this._footerTemplate = item.template;
1143
- break;
1144
- case 'emptyfilter':
1145
- this._emptyFilterTemplate = item.template;
1146
- break;
1147
- case 'empty':
1148
- this._emptyTemplate = item.template;
1149
- break;
1150
- case 'group':
1151
- this._groupTemplate = item.template;
1152
- break;
1153
- case 'loader':
1154
- this._loaderTemplate = item.template;
1155
- break;
1156
- case 'dropdownicon':
1157
- this._dropdownIconTemplate = item.template;
1158
- break;
1159
- case 'loadingicon':
1160
- this._loadingIconTemplate = item.template;
1161
- break;
1162
- case 'clearicon':
1163
- this._clearIconTemplate = item.template;
1164
- break;
1165
- case 'filtericon':
1166
- this._filterIconTemplate = item.template;
1167
- break;
1168
- case 'cancelicon':
1169
- this._cancelIconTemplate = item.template;
1170
- break;
1171
- case 'onicon':
1172
- this._onIconTemplate = item.template;
1173
- break;
1174
- case 'officon':
1175
- this._offIconTemplate = item.template;
1176
- break;
1177
- default:
1178
- this._itemTemplate = item.template;
1179
- break;
1180
- }
1181
- });
1182
- }
1183
- onAfterViewChecked() {
1184
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
1185
- if (this.optionsChanged && this.overlayVisible) {
1186
- this.optionsChanged = false;
1187
- this.zone.runOutsideAngular(() => {
1188
- setTimeout(() => {
1189
- if (this.overlayViewChild()) {
1190
- this.overlayViewChild().alignOverlay();
1191
- }
1192
- }, 1);
1193
- });
1194
- }
1195
- if (this.selectedOptionUpdated && this.itemsWrapper) {
1196
- let selectedItem = findSingle(this.overlayViewChild()?.overlayViewChild()?.nativeElement, 'li[data-h-selected="true"]');
1197
- if (selectedItem) {
1198
- scrollInView(this.itemsWrapper, selectedItem);
1199
- }
1200
- this.selectedOptionUpdated = false;
1201
- }
1202
- }
1203
- flatOptions(options) {
1204
- return (options || []).reduce((result, option, index) => {
1205
- result.push({ optionGroup: option, group: true, index });
1206
- const optionGroupChildren = this.getOptionGroupChildren(option);
1207
- optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));
1208
- return result;
1209
- }, []);
1210
- }
1211
- autoUpdateModel() {
1212
- if (this.selectOnFocus() && this.autoOptionFocus() && !this.hasSelectedOption()) {
1213
- this.focusedOptionIndex.set(this.findFirstFocusedOptionIndex());
1214
- this.onOptionSelect(null, this.visibleOptions()[this.focusedOptionIndex()], false);
1215
- }
1216
- }
1217
- onOptionSelect(event, option, isHide = true, preventChange = false) {
1218
- // Check if option is disabled before proceeding
1219
- if (this.isOptionDisabled(option)) {
1220
- return;
1221
- }
1222
- if (!this.isSelected(option)) {
1223
- const value = this.getOptionValue(option);
1224
- this.updateModel(value, event);
1225
- this.focusedOptionIndex.set(this.findSelectedOptionIndex());
1226
- preventChange === false && this.onChange.emit({ originalEvent: event, value: value });
1227
- }
1228
- if (isHide) {
1229
- this.hide(true);
1230
- }
1231
- }
1232
- onOptionMouseEnter(event, index) {
1233
- if (this.focusOnHover()) {
1234
- this.changeFocusedOptionIndex(event, index);
1235
- }
1236
- }
1237
- updateModel(value, event) {
1238
- this.value = value;
1239
- this.onModelChange(value);
1240
- this.writeModelValue(value);
1241
- this.selectedOptionUpdated = true;
1242
- }
1243
- allowModelChange() {
1244
- return !!this.modelValue() && !this.placeholder() && (this.modelValue() === undefined || this.modelValue() === null) && !this.editable() && this.options() && this.options()?.length;
1245
- }
1246
- isSelected(option) {
1247
- return this.isOptionValueEqualsModelValue(option);
1248
- }
1249
- isOptionValueEqualsModelValue(option) {
1250
- // Don't check isValidOption here since we need to match disabled options too
1251
- return option !== undefined && option !== null && !this.isOptionGroup(option) && equals(this.modelValue(), this.getOptionValue(option), this.equalityKey());
1252
- }
1253
- onAfterViewInit() {
1254
- if (this.editable()) {
1255
- this.updateEditableLabel();
1256
- }
1257
- this.updatePlaceHolderForFloatingLabel();
1258
- }
1259
- updatePlaceHolderForFloatingLabel() {
1260
- const parentElement = this.el.nativeElement.parentElement;
1261
- const isInFloatingLabel = parentElement?.classList.contains('h-float-label');
1262
- if (parentElement && isInFloatingLabel && !this.selectedOption) {
1263
- const label = parentElement.querySelector('label');
1264
- if (label) {
1265
- this.placeholder.set(label.textContent);
1266
- }
1267
- }
1268
- }
1269
- updateEditableLabel() {
1270
- if (this.editableInputViewChild()) {
1271
- this.editableInputViewChild().nativeElement.value = this.getOptionLabel(this.selectedOption) || this.modelValue() || '';
1272
- }
1273
- }
1274
- clearEditableLabel() {
1275
- if (this.editableInputViewChild()) {
1276
- this.editableInputViewChild().nativeElement.value = '';
1277
- }
1278
- }
1279
- getOptionIndex(index, scrollerOptions) {
1280
- return this.virtualScrollerDisabled ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];
1281
- }
1282
- getOptionLabel(option) {
1283
- const optionLabel = this.optionLabel();
1284
- return optionLabel !== undefined && optionLabel !== null ? resolveFieldData(option, optionLabel) : option && option.label !== undefined ? option.label : option;
1285
- }
1286
- getOptionValue(option) {
1287
- const optionValue = this.optionValue();
1288
- return optionValue && optionValue !== null ? resolveFieldData(option, optionValue) : !this.optionLabel() && option && option.value !== undefined ? option.value : option;
1289
- }
1290
- getPTItemOptions(option, itemOptions, index, key) {
1291
- return this.ptm(key, {
1292
- context: {
1293
- option,
1294
- index,
1295
- selected: this.isSelected(option),
1296
- focused: this.focusedOptionIndex() === this.getOptionIndex(index, itemOptions),
1297
- disabled: this.isOptionDisabled(option)
1298
- }
1299
- });
1300
- }
1301
- isSelectedOptionEmpty() {
1302
- return isEmpty(this.selectedOption);
1303
- }
1304
- isOptionDisabled(option) {
1305
- const optionDisabled = this.optionDisabled();
1306
- return optionDisabled ? resolveFieldData(option, optionDisabled) : option && option.disabled !== undefined ? option.disabled : false;
1307
- }
1308
- getOptionGroupLabel(optionGroup) {
1309
- const optionGroupLabel = this.optionGroupLabel();
1310
- return optionGroupLabel !== undefined && optionGroupLabel !== null ? resolveFieldData(optionGroup, optionGroupLabel) : optionGroup && optionGroup.label !== undefined ? optionGroup.label : optionGroup;
1311
- }
1312
- getOptionGroupChildren(optionGroup) {
1313
- const optionGroupChildren = this.optionGroupChildren();
1314
- return optionGroupChildren !== undefined && optionGroupChildren !== null ? resolveFieldData(optionGroup, optionGroupChildren) : optionGroup.items;
1315
- }
1316
- getAriaPosInset(index) {
1317
- return ((this.optionGroupLabel()
1318
- ? index -
1319
- this.visibleOptions()
1320
- .slice(0, index)
1321
- .filter((option) => this.isOptionGroup(option)).length
1322
- : index) + 1);
1323
- }
1324
- get ariaSetSize() {
1325
- return this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length;
1326
- }
1327
- /**
1328
- * Callback to invoke on filter reset.
1329
- * @group Method
1330
- */
1331
- resetFilter() {
1332
- this._filterValue.set(null);
1333
- if (this.filterViewChild() && this.filterViewChild()?.nativeElement) {
1334
- this.filterViewChild().nativeElement.value = '';
1335
- }
1336
- }
1337
- onContainerClick(event) {
1338
- if (this.$disabled() || this.readonly() || this.loading()) {
1339
- return;
1340
- }
1341
- if (event.target.tagName === 'INPUT' || event.target.getAttribute('data-pc-section') === 'clearicon' || event.target.closest('[data-pc-section="clearicon"]')) {
1342
- return;
1343
- }
1344
- else if (!this.overlayViewChild() || !this.overlayViewChild().el.nativeElement.contains(event.target)) {
1345
- this.overlayVisible ? this.hide(true) : this.show(true);
1346
- }
1347
- this.focusInputViewChild()?.nativeElement.focus({ preventScroll: true });
1348
- this.onClick.emit(event);
1349
- this.clicked.set(true);
1350
- this.cd.detectChanges();
1351
- }
1352
- isEmpty() {
1353
- return !this.options() || (this.visibleOptions() && this.visibleOptions().length === 0);
1354
- }
1355
- onEditableInput(event) {
1356
- const value = event.target.value;
1357
- this.searchValue = '';
1358
- const matched = this.searchOptions(event, value);
1359
- !matched && this.focusedOptionIndex.set(-1);
1360
- this.onModelChange(value);
1361
- this.updateModel(value || null, event);
1362
- setTimeout(() => {
1363
- this.onChange.emit({ originalEvent: event, value: value });
1364
- }, 1);
1365
- !this.overlayVisible && isNotEmpty(value) && this.show();
1366
- }
1367
- /**
1368
- * Displays the panel.
1369
- * @group Method
1370
- */
1371
- show(isFocus) {
1372
- this.overlayVisible = true;
1373
- this.focusedOptionIndex.set(this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : this.editable() ? -1 : this.findSelectedOptionIndex());
1374
- if (isFocus) {
1375
- focus(this.focusInputViewChild()?.nativeElement);
1376
- }
1377
- this.cd.markForCheck();
1378
- }
1379
- onOverlayBeforeEnter(event) {
1380
- this.itemsWrapper = findSingle(this.overlayViewChild()?.overlayViewChild()?.nativeElement, this.virtualScroll() ? '[data-pc-name="virtualscroller"]' : '[data-pc-section="listcontainer"]');
1381
- this.virtualScroll() && this.scroller()?.setContentEl(this.itemsViewChild()?.nativeElement);
1382
- if (this.options() && this.options()?.length) {
1383
- if (this.virtualScroll()) {
1384
- const selectedIndex = this.modelValue() ? this.focusedOptionIndex() : -1;
1385
- if (selectedIndex !== -1) {
1386
- setTimeout(() => {
1387
- this.scroller()?.scrollToIndex(selectedIndex);
1388
- }, 10);
1389
- }
1390
- }
1391
- else {
1392
- let selectedListItem = findSingle(this.itemsWrapper, '[data-h-selected="true"]');
1393
- if (selectedListItem) {
1394
- selectedListItem.scrollIntoView({ block: 'nearest', inline: 'nearest' });
1395
- }
1396
- }
1397
- }
1398
- if (this.filterViewChild() && this.filterViewChild()?.nativeElement) {
1399
- this.preventModelTouched = true;
1400
- if (this.autofocusFilter() && !this.editable()) {
1401
- this.filterViewChild().nativeElement.focus();
1402
- }
1403
- }
1404
- this.onShow.emit(event);
1405
- }
1406
- onOverlayAfterLeave(event) {
1407
- this.itemsWrapper = null;
1408
- this.onModelTouched();
1409
- this.onHide.emit(event);
1410
- }
1411
- /**
1412
- * Hides the panel.
1413
- * @group Method
1414
- */
1415
- hide(isFocus) {
1416
- this.overlayVisible = false;
1417
- this.focusedOptionIndex.set(-1);
1418
- this.clicked.set(false);
1419
- this.searchValue = '';
1420
- if (this.overlayOptions()?.mode === 'modal') {
1421
- unblockBodyScroll();
1422
- }
1423
- if (this.filter() && this.resetFilterOnHide()) {
1424
- this.resetFilter();
1425
- }
1426
- if (isFocus) {
1427
- if (this.focusInputViewChild()) {
1428
- focus(this.focusInputViewChild()?.nativeElement);
1429
- }
1430
- if (this.editable() && this.editableInputViewChild()) {
1431
- focus(this.editableInputViewChild()?.nativeElement);
1432
- }
1433
- }
1434
- this.cd.markForCheck();
1435
- }
1436
- onInputFocus(event) {
1437
- if (this.$disabled()) {
1438
- // For ScreenReaders
1439
- return;
1440
- }
1441
- this.focused = true;
1442
- const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.overlayVisible && this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;
1443
- this.focusedOptionIndex.set(focusedOptionIndex);
1444
- this.overlayVisible && this.scrollInView(this.focusedOptionIndex());
1445
- this.onFocus.emit(event);
1446
- }
1447
- onInputBlur(event) {
1448
- this.focused = false;
1449
- this.onBlur.emit(event);
1450
- if (!this.preventModelTouched && !this.overlayVisible) {
1451
- this.onModelTouched();
1452
- }
1453
- this.preventModelTouched = false;
1454
- }
1455
- onKeyDown(event, search = false) {
1456
- if (this.$disabled() || this.readonly() || this.loading()) {
1457
- return;
1458
- }
1459
- switch (event.code) {
1460
- //down
1461
- case 'ArrowDown':
1462
- this.onArrowDownKey(event);
1463
- break;
1464
- //up
1465
- case 'ArrowUp':
1466
- this.onArrowUpKey(event, this.editable());
1467
- break;
1468
- case 'ArrowLeft':
1469
- case 'ArrowRight':
1470
- this.onArrowLeftKey(event, this.editable());
1471
- break;
1472
- case 'Delete':
1473
- this.onDeleteKey(event);
1474
- break;
1475
- case 'Home':
1476
- this.onHomeKey(event, this.editable());
1477
- break;
1478
- case 'End':
1479
- this.onEndKey(event, this.editable());
1480
- break;
1481
- case 'PageDown':
1482
- this.onPageDownKey(event);
1483
- break;
1484
- case 'PageUp':
1485
- this.onPageUpKey(event);
1486
- break;
1487
- //space
1488
- case 'Space':
1489
- this.onSpaceKey(event, search);
1490
- break;
1491
- //enter
1492
- case 'Enter':
1493
- case 'NumpadEnter':
1494
- this.onEnterKey(event);
1495
- break;
1496
- //escape and tab
1497
- case 'Escape':
1498
- this.onEscapeKey(event);
1499
- break;
1500
- case 'Tab':
1501
- this.onTabKey(event);
1502
- break;
1503
- case 'Backspace':
1504
- this.onBackspaceKey(event, this.editable());
1505
- break;
1506
- case 'ShiftLeft':
1507
- case 'ShiftRight':
1508
- //NOOP
1509
- break;
1510
- default:
1511
- if (!event.metaKey && isPrintableCharacter(event.key)) {
1512
- !this.overlayVisible && this.show();
1513
- !this.editable() && this.searchOptions(event, event.key);
1514
- }
1515
- break;
1516
- }
1517
- this.clicked.set(false);
1518
- }
1519
- onFilterKeyDown(event) {
1520
- switch (event.code) {
1521
- case 'ArrowDown':
1522
- this.onArrowDownKey(event);
1523
- break;
1524
- case 'ArrowUp':
1525
- this.onArrowUpKey(event, true);
1526
- break;
1527
- case 'ArrowLeft':
1528
- case 'ArrowRight':
1529
- this.onArrowLeftKey(event, true);
1530
- break;
1531
- case 'Home':
1532
- this.onHomeKey(event, true);
1533
- break;
1534
- case 'End':
1535
- this.onEndKey(event, true);
1536
- break;
1537
- case 'Enter':
1538
- case 'NumpadEnter':
1539
- this.onEnterKey(event, true);
1540
- break;
1541
- case 'Escape':
1542
- this.onEscapeKey(event);
1543
- break;
1544
- case 'Tab':
1545
- this.onTabKey(event, true);
1546
- break;
1547
- default:
1548
- break;
1549
- }
1550
- }
1551
- onFilterBlur(event) {
1552
- this.focusedOptionIndex.set(-1);
1553
- }
1554
- onArrowDownKey(event) {
1555
- if (!this.overlayVisible) {
1556
- this.show();
1557
- this.editable() && this.changeFocusedOptionIndex(event, this.findSelectedOptionIndex());
1558
- }
1559
- else {
1560
- const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.clicked() ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex();
1561
- this.changeFocusedOptionIndex(event, optionIndex);
1562
- }
1563
- // const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();
1564
- // this.changeFocusedOptionIndex(event, optionIndex);
1565
- // !this.overlayVisible && this.show();
1566
- event.preventDefault();
1567
- event.stopPropagation();
1568
- }
1569
- changeFocusedOptionIndex(event, index) {
1570
- if (this.focusedOptionIndex() !== index) {
1571
- this.focusedOptionIndex.set(index);
1572
- this.scrollInView();
1573
- if (this.selectOnFocus()) {
1574
- const option = this.visibleOptions()[index];
1575
- this.onOptionSelect(event, option, false);
1576
- }
1577
- }
1578
- }
1579
- get virtualScrollerDisabled() {
1580
- return !this.virtualScroll();
1581
- }
1582
- scrollInView(index = -1) {
1583
- const id = index !== -1 ? `${this.id()}_${index}` : this.focusedOptionId;
1584
- if (this.itemsViewChild() && this.itemsViewChild()?.nativeElement) {
1585
- const element = findSingle(this.itemsViewChild().nativeElement, `li[id="${id}"]`);
1586
- if (element) {
1587
- element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });
1588
- }
1589
- else if (!this.virtualScrollerDisabled) {
1590
- setTimeout(() => {
1591
- this.virtualScroll() && this.scroller()?.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());
1592
- }, 0);
1593
- }
1594
- }
1595
- }
1596
- hasSelectedOption() {
1597
- return this.modelValue() !== undefined;
1598
- }
1599
- isValidSelectedOption(option) {
1600
- return this.isValidOption(option) && this.isSelected(option);
1601
- }
1602
- equalityKey() {
1603
- return this.optionValue() ? undefined : this.dataKey();
1604
- }
1605
- findFirstFocusedOptionIndex() {
1606
- const selectedIndex = this.findSelectedOptionIndex();
1607
- return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;
1608
- }
1609
- findFirstOptionIndex() {
1610
- return this.visibleOptions().findIndex((option) => this.isValidOption(option));
1611
- }
1612
- findSelectedOptionIndex() {
1613
- return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;
1614
- }
1615
- findNextOptionIndex(index) {
1616
- const matchedOptionIndex = index < this.visibleOptions().length - 1
1617
- ? this.visibleOptions()
1618
- .slice(index + 1)
1619
- .findIndex((option) => this.isValidOption(option))
1620
- : -1;
1621
- return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;
1622
- }
1623
- findPrevOptionIndex(index) {
1624
- const matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidOption(option)) : -1;
1625
- return matchedOptionIndex > -1 ? matchedOptionIndex : index;
1626
- }
1627
- findLastOptionIndex() {
1628
- return findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));
1629
- }
1630
- findLastFocusedOptionIndex() {
1631
- const selectedIndex = this.findSelectedOptionIndex();
1632
- return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;
1633
- }
1634
- isValidOption(option) {
1635
- return option !== undefined && option !== null && !(this.isOptionDisabled(option) || this.isOptionGroup(option));
1636
- }
1637
- isOptionGroup(option) {
1638
- const optionGroupLabel = this.optionGroupLabel();
1639
- return optionGroupLabel !== undefined && optionGroupLabel !== null && option.optionGroup !== undefined && option.optionGroup !== null && option.group;
1640
- }
1641
- onArrowUpKey(event, pressedInInputText = false) {
1642
- if (event.altKey && !pressedInInputText) {
1643
- if (this.focusedOptionIndex() !== -1) {
1644
- const option = this.visibleOptions()[this.focusedOptionIndex()];
1645
- this.onOptionSelect(event, option);
1646
- }
1647
- this.overlayVisible && this.hide();
1648
- }
1649
- else {
1650
- const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.clicked() ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex();
1651
- this.changeFocusedOptionIndex(event, optionIndex);
1652
- !this.overlayVisible && this.show();
1653
- }
1654
- event.preventDefault();
1655
- event.stopPropagation();
1656
- }
1657
- onArrowLeftKey(event, pressedInInputText = false) {
1658
- pressedInInputText && this.focusedOptionIndex.set(-1);
1659
- }
1660
- onDeleteKey(event) {
1661
- if (this.showClear()) {
1662
- this.clear(event);
1663
- event.preventDefault();
1664
- }
1665
- }
1666
- onHomeKey(event, pressedInInputText = false) {
1667
- if (pressedInInputText && event.currentTarget && event.currentTarget.setSelectionRange) {
1668
- const target = event.currentTarget;
1669
- if (event.shiftKey) {
1670
- target.setSelectionRange(0, target.value.length);
1671
- }
1672
- else {
1673
- target.setSelectionRange(0, 0);
1674
- this.focusedOptionIndex.set(-1);
1675
- }
1676
- }
1677
- else {
1678
- this.changeFocusedOptionIndex(event, this.findFirstOptionIndex());
1679
- !this.overlayVisible && this.show();
1680
- }
1681
- event.preventDefault();
1682
- }
1683
- onEndKey(event, pressedInInputText = false) {
1684
- if (pressedInInputText && event.currentTarget && event.currentTarget.setSelectionRange) {
1685
- const target = event.currentTarget;
1686
- if (event.shiftKey) {
1687
- target.setSelectionRange(0, target.value.length);
1688
- }
1689
- else {
1690
- const len = target.value.length;
1691
- target.setSelectionRange(len, len);
1692
- this.focusedOptionIndex.set(-1);
1693
- }
1694
- }
1695
- else {
1696
- this.changeFocusedOptionIndex(event, this.findLastOptionIndex());
1697
- !this.overlayVisible && this.show();
1698
- }
1699
- event.preventDefault();
1700
- }
1701
- onPageDownKey(event) {
1702
- this.scrollInView(this.visibleOptions().length - 1);
1703
- event.preventDefault();
1704
- }
1705
- onPageUpKey(event) {
1706
- this.scrollInView(0);
1707
- event.preventDefault();
1708
- }
1709
- onSpaceKey(event, pressedInInputText = false) {
1710
- !this.editable() && !pressedInInputText && this.onEnterKey(event);
1711
- }
1712
- onEnterKey(event, pressedInInput = false) {
1713
- if (!this.overlayVisible) {
1714
- this.focusedOptionIndex.set(-1);
1715
- this.onArrowDownKey(event);
1716
- }
1717
- else {
1718
- if (this.focusedOptionIndex() !== -1) {
1719
- const option = this.visibleOptions()[this.focusedOptionIndex()];
1720
- this.onOptionSelect(event, option);
1721
- }
1722
- !pressedInInput && this.hide();
1723
- }
1724
- event.preventDefault();
1725
- }
1726
- onEscapeKey(event) {
1727
- if (this.overlayVisible) {
1728
- this.hide(true);
1729
- event.preventDefault();
1730
- event.stopPropagation();
1731
- }
1732
- }
1733
- onTabKey(event, pressedInInputText = false) {
1734
- if (!pressedInInputText) {
1735
- if (this.overlayVisible && this.hasFocusableElements()) {
1736
- focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay()?.nativeElement : this.firstHiddenFocusableElementOnOverlay()?.nativeElement);
1737
- event.preventDefault();
1738
- }
1739
- else {
1740
- if (this.focusedOptionIndex() !== -1 && this.overlayVisible) {
1741
- const option = this.visibleOptions()[this.focusedOptionIndex()];
1742
- this.onOptionSelect(event, option);
1743
- }
1744
- this.overlayVisible && this.hide(this.filter());
1745
- }
1746
- }
1747
- event.stopPropagation();
1748
- }
1749
- onFirstHiddenFocus(event) {
1750
- const focusableEl = event.relatedTarget === this.focusInputViewChild()?.nativeElement ? getFirstFocusableElement(this.overlayViewChild()?.el?.nativeElement, ':not([data-h-hidden-focusable="true"])') : this.focusInputViewChild()?.nativeElement;
1751
- focus(focusableEl);
1752
- }
1753
- onLastHiddenFocus(event) {
1754
- const focusableEl = event.relatedTarget === this.focusInputViewChild()?.nativeElement ? getLastFocusableElement(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ':not([data-h-hidden-focusable="true"])') : this.focusInputViewChild()?.nativeElement;
1755
- focus(focusableEl);
1756
- }
1757
- hasFocusableElements() {
1758
- return getFocusableElements(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ':not([data-h-hidden-focusable="true"])').length > 0;
1759
- }
1760
- onBackspaceKey(event, pressedInInputText = false) {
1761
- if (pressedInInputText) {
1762
- !this.overlayVisible && this.show();
1763
- }
1764
- }
1765
- searchFields() {
1766
- return this.filterBy()?.split(',') || this.filterFields() || [this.optionLabel()];
1767
- }
1768
- searchOptions(event, char) {
1769
- this.searchValue = (this.searchValue || '') + char;
1770
- let optionIndex = -1;
1771
- let matched = false;
1772
- optionIndex = this.visibleOptions().findIndex((option) => this.isOptionMatched(option));
1773
- if (optionIndex !== -1) {
1774
- matched = true;
1775
- }
1776
- if (optionIndex === -1 && this.focusedOptionIndex() === -1) {
1777
- optionIndex = this.findFirstFocusedOptionIndex();
1778
- }
1779
- if (optionIndex !== -1) {
1780
- setTimeout(() => {
1781
- this.changeFocusedOptionIndex(event, optionIndex);
1782
- });
1783
- }
1784
- if (this.searchTimeout) {
1785
- clearTimeout(this.searchTimeout);
1786
- }
1787
- this.searchTimeout = setTimeout(() => {
1788
- this.searchValue = '';
1789
- this.searchTimeout = null;
1790
- }, 500);
1791
- return matched;
1792
- }
1793
- isOptionMatched(option) {
1794
- return this.isValidOption(option) && this.getOptionLabel(option).toString().toLocaleLowerCase(this.filterLocale()).startsWith(this.searchValue?.toLocaleLowerCase(this.filterLocale()));
1795
- }
1796
- onFilterInputChange(event) {
1797
- let value = event.target.value;
1798
- this._filterValue.set(value);
1799
- this.focusedOptionIndex.set(-1);
1800
- this.onFilter.emit({ originalEvent: event, filter: this._filterValue() });
1801
- !this.virtualScrollerDisabled && this.scroller()?.scrollToIndex(0);
1802
- setTimeout(() => {
1803
- this.overlayViewChild()?.alignOverlay();
1804
- });
1805
- this.cd.markForCheck();
1806
- }
1807
- applyFocus() {
1808
- if (this.editable())
1809
- findSingle(this.el.nativeElement, '[data-pc-section="label"]').focus();
1810
- else
1811
- focus(this.focusInputViewChild()?.nativeElement);
1812
- }
1813
- /**
1814
- * Applies focus.
1815
- * @group Method
1816
- */
1817
- focus() {
1818
- this.applyFocus();
1819
- }
1820
- /**
1821
- * Clears the model.
1822
- * @group Method
1823
- */
1824
- clear(event) {
1825
- this.updateModel(null, event);
1826
- this.clearEditableLabel();
1827
- this.onModelTouched();
1828
- this.onChange.emit({ originalEvent: event, value: this.value });
1829
- this.onClear.emit(event);
1830
- this.resetFilter();
1831
- }
1832
- /**
1833
- * @override
1834
- *
1835
- * @see {@link BaseEditableHolder.writeControlValue}
1836
- * Writes the value to the control.
1837
- */
1838
- writeControlValue(value, setModelValue) {
1839
- if (this.filter()) {
1840
- this.resetFilter();
1841
- }
1842
- this.value = value;
1843
- this.allowModelChange() && this.onModelChange(value);
1844
- setModelValue(this.value);
1845
- this.updateEditableLabel();
1846
- this.cd.markForCheck();
1847
- }
1848
- get containerDataP() {
1849
- return this.cn({
1850
- invalid: this.invalid(),
1851
- disabled: this.$disabled(),
1852
- focus: this.focused,
1853
- fluid: this.hasFluid,
1854
- filled: this.$variant() === 'filled',
1855
- [this.size()]: this.size()
1856
- });
1857
- }
1858
- get labelDataP() {
1859
- return this.cn({
1860
- placeholder: this.label === this.placeholder,
1861
- clearable: this.showClear(),
1862
- disabled: this.$disabled(),
1863
- [this.size()]: this.size(),
1864
- empty: !this.editable() && !this.selectedItemTemplate() && (!this.label?.() || this.label() === 'h-emptylabel' || this.label()?.length === 0)
1865
- });
1866
- }
1867
- get dropdownIconDataP() {
1868
- return this.cn({
1869
- [this.size()]: this.size()
1870
- });
1871
- }
1872
- get overlayDataP() {
1873
- return this.cn({
1874
- ['overlay-' + this.$appendTo()]: 'overlay-' + this.$appendTo()
1875
- });
1876
- }
1877
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: Select, deps: [{ token: i0.NgZone }, { token: i3.FilterService }], target: i0.ɵɵFactoryTarget.Component });
1878
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: Select, isStandalone: true, selector: "h-select", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, panelStyle: { classPropertyName: "panelStyle", publicName: "panelStyle", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, panelStyleClass: { classPropertyName: "panelStyleClass", publicName: "panelStyleClass", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, editable: { classPropertyName: "editable", publicName: "editable", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, loadingIcon: { classPropertyName: "loadingIcon", publicName: "loadingIcon", isSignal: true, isRequired: false, transformFunction: null }, filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, filterLocale: { classPropertyName: "filterLocale", publicName: "filterLocale", isSignal: true, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: true, isRequired: false, transformFunction: null }, filterBy: { classPropertyName: "filterBy", publicName: "filterBy", isSignal: true, isRequired: false, transformFunction: null }, filterFields: { classPropertyName: "filterFields", publicName: "filterFields", isSignal: true, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: true, isRequired: false, transformFunction: null }, resetFilterOnHide: { classPropertyName: "resetFilterOnHide", publicName: "resetFilterOnHide", isSignal: true, isRequired: false, transformFunction: null }, checkmark: { classPropertyName: "checkmark", publicName: "checkmark", isSignal: true, isRequired: false, transformFunction: null }, dropdownIcon: { classPropertyName: "dropdownIcon", publicName: "dropdownIcon", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, optionLabel: { classPropertyName: "optionLabel", publicName: "optionLabel", isSignal: true, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: true, isRequired: false, transformFunction: null }, optionDisabled: { classPropertyName: "optionDisabled", publicName: "optionDisabled", isSignal: true, isRequired: false, transformFunction: null }, optionGroupLabel: { classPropertyName: "optionGroupLabel", publicName: "optionGroupLabel", isSignal: true, isRequired: false, transformFunction: null }, optionGroupChildren: { classPropertyName: "optionGroupChildren", publicName: "optionGroupChildren", isSignal: true, isRequired: false, transformFunction: null }, group: { classPropertyName: "group", publicName: "group", isSignal: true, isRequired: false, transformFunction: null }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: true, isRequired: false, transformFunction: null }, emptyFilterMessage: { classPropertyName: "emptyFilterMessage", publicName: "emptyFilterMessage", isSignal: true, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", isSignal: true, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: true, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: true, isRequired: false, transformFunction: null }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: true, isRequired: false, transformFunction: null }, virtualScrollOptions: { classPropertyName: "virtualScrollOptions", publicName: "virtualScrollOptions", isSignal: true, isRequired: false, transformFunction: null }, overlayOptions: { classPropertyName: "overlayOptions", publicName: "overlayOptions", isSignal: true, isRequired: false, transformFunction: null }, ariaFilterLabel: { classPropertyName: "ariaFilterLabel", publicName: "ariaFilterLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, filterMatchMode: { classPropertyName: "filterMatchMode", publicName: "filterMatchMode", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, tooltipPositionStyle: { classPropertyName: "tooltipPositionStyle", publicName: "tooltipPositionStyle", isSignal: true, isRequired: false, transformFunction: null }, tooltipStyleClass: { classPropertyName: "tooltipStyleClass", publicName: "tooltipStyleClass", isSignal: true, isRequired: false, transformFunction: null }, focusOnHover: { classPropertyName: "focusOnHover", publicName: "focusOnHover", isSignal: true, isRequired: false, transformFunction: null }, selectOnFocus: { classPropertyName: "selectOnFocus", publicName: "selectOnFocus", isSignal: true, isRequired: false, transformFunction: null }, autoOptionFocus: { classPropertyName: "autoOptionFocus", publicName: "autoOptionFocus", isSignal: true, isRequired: false, transformFunction: null }, autofocusFilter: { classPropertyName: "autofocusFilter", publicName: "autofocusFilter", isSignal: true, isRequired: false, transformFunction: null }, filterValue: { classPropertyName: "filterValue", publicName: "filterValue", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null }, motionOptions: { classPropertyName: "motionOptions", publicName: "motionOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { id: "idChange", placeholder: "placeholderChange", 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-h": "containerDataP" } }, providers: [SELECT_VALUE_ACCESSOR, SelectStyle, { provide: SELECT_INSTANCE, useExisting: Select }, { provide: PARENT_INSTANCE, useExisting: Select }], queries: [{ propertyName: "itemTemplate", first: true, predicate: ["item"], isSignal: true }, { propertyName: "groupTemplate", first: true, predicate: ["group"], isSignal: true }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"], isSignal: true }, { propertyName: "selectedItemTemplate", first: true, predicate: ["selectedItem"], isSignal: true }, { propertyName: "headerTemplate", first: true, predicate: ["header"], isSignal: true }, { propertyName: "filterTemplate", first: true, predicate: ["filter"], isSignal: true }, { propertyName: "footerTemplate", first: true, predicate: ["footer"], isSignal: true }, { propertyName: "emptyFilterTemplate", first: true, predicate: ["emptyfilter"], isSignal: true }, { propertyName: "emptyTemplate", first: true, predicate: ["empty"], isSignal: true }, { propertyName: "dropdownIconTemplate", first: true, predicate: ["dropdownicon"], isSignal: true }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"], isSignal: true }, { propertyName: "clearIconTemplate", first: true, predicate: ["clearicon"], isSignal: true }, { propertyName: "filterIconTemplate", first: true, predicate: ["filtericon"], isSignal: true }, { propertyName: "onIconTemplate", first: true, predicate: ["onicon"], isSignal: true }, { propertyName: "offIconTemplate", first: true, predicate: ["officon"], isSignal: true }, { propertyName: "cancelIconTemplate", first: true, predicate: ["cancelicon"], isSignal: true }, { propertyName: "templates", predicate: HelixTemplate, isSignal: true }], viewQueries: [{ propertyName: "filterViewChild", first: true, predicate: ["filter"], descendants: true, isSignal: true }, { propertyName: "focusInputViewChild", first: true, predicate: ["focusInput"], descendants: true, isSignal: true }, { propertyName: "editableInputViewChild", first: true, predicate: ["editableInput"], descendants: true, isSignal: true }, { propertyName: "itemsViewChild", first: true, predicate: ["items"], descendants: true, isSignal: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true, isSignal: true }, { propertyName: "overlayViewChild", first: true, predicate: ["overlay"], descendants: true, isSignal: true }, { propertyName: "firstHiddenFocusableElementOnOverlay", first: true, predicate: ["firstHiddenFocusableEl"], descendants: true, isSignal: true }, { propertyName: "lastHiddenFocusableElementOnOverlay", first: true, predicate: ["lastHiddenFocusableEl"], descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i2.Bind }], ngImport: i0, template: "@if (!editable()) {\n <span\n #focusInput\n [class]=\"cx('label')\"\n [hBind]=\"ptm('label')\"\n [hTooltip]=\"tooltip()\"\n [pTooltipUnstyled]=\"unstyled()\"\n [tooltipPosition]=\"tooltipPosition()\"\n [positionStyle]=\"tooltipPositionStyle()\"\n [tooltipStyleClass]=\"tooltipStyleClass()\"\n [attr.aria-disabled]=\"$disabled()\"\n [attr.id]=\"inputId()\"\n role=\"combobox\"\n [attr.aria-label]=\"ariaLabel() || (label() === 'h-emptylabel' ? undefined : label())\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-haspopup]=\"'listbox'\"\n [attr.aria-expanded]=\"overlayVisible ?? false\"\n [attr.aria-controls]=\"overlayVisible ? id() + '_list' : null\"\n [attr.tabindex]=\"!$disabled() ? tabindex() : -1\"\n [hAutoFocus]=\"autofocus()\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n [attr.aria-required]=\"required()\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.disabled]=\"$disabled() ? '' : undefined\"\n [attr.data-h]=\"labelDataP\"\n >\n @if (!selectedItemTemplate() && !_selectedItemTemplate) {\n {{ label() === 'h-emptylabel' ? '&nbsp;' : label() }}\n } @else {\n @if (isSelectedOptionEmpty()) {\n <span>{{ label() === 'h-emptylabel' ? '&nbsp;' : label() }}</span>\n }\n }\n @if ((selectedItemTemplate() || _selectedItemTemplate) && !isSelectedOptionEmpty()) {\n <ng-container [ngTemplateOutlet]=\"selectedItemTemplate() || _selectedItemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: selectedOption }\"></ng-container>\n }\n </span>\n}\n@if (editable()) {\n <input\n #editableInput\n type=\"text\"\n [attr.id]=\"inputId()\"\n [class]=\"cx('label')\"\n [hBind]=\"ptm('label')\"\n [attr.aria-haspopup]=\"'listbox'\"\n [attr.placeholder]=\"modelValue() === undefined || modelValue() === null ? placeholder() : undefined\"\n [attr.aria-label]=\"ariaLabel() || (label() === 'h-emptylabel' ? undefined : label())\"\n (input)=\"onEditableInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n [hAutoFocus]=\"autofocus()\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [attr.name]=\"name()\"\n [attr.minlength]=\"minlength()\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [attr.pattern]=\"pattern()\"\n [attr.size]=\"inputSize()\"\n [attr.maxlength]=\"maxlength()\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.readonly]=\"readonly() ? '' : undefined\"\n [attr.disabled]=\"$disabled() ? '' : undefined\"\n [attr.data-h]=\"labelDataP\"\n />\n}\n@if (isVisibleClearIcon) {\n @if (!clearIconTemplate() && !_clearIconTemplate) {\n <svg data-h-icon=\"times\" [class]=\"cx('clearIcon')\" [hBind]=\"ptm('clearIcon')\" (click)=\"clear($event)\" [attr.data-pc-section]=\"'clearicon'\" />\n }\n @if (clearIconTemplate() || _clearIconTemplate) {\n <span [class]=\"cx('clearIcon')\" [hBind]=\"ptm('clearIcon')\" (click)=\"clear($event)\" [attr.data-pc-section]=\"'clearicon'\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate() || _clearIconTemplate; context: { class: cx('clearIcon') }\"></ng-template>\n </span>\n }\n}\n\n<div [class]=\"cx('dropdown')\" [hBind]=\"ptm('dropdown')\" role=\"button\" aria-label=\"dropdown trigger\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible ?? false\" [attr.data-pc-section]=\"'trigger'\">\n @if (loading()) {\n @if (loadingIconTemplate() || _loadingIconTemplate) {\n <ng-container *ngTemplateOutlet=\"loadingIconTemplate() || _loadingIconTemplate\"></ng-container>\n }\n @if (!loadingIconTemplate() && !_loadingIconTemplate) {\n @if (loadingIcon()) {\n <span [class]=\"cn(cx('loadingIcon'), 'pi-spin' + loadingIcon())\" [hBind]=\"ptm('loadingIcon')\" aria-hidden=\"true\"></span>\n }\n @if (!loadingIcon()) {\n <span [class]=\"cn(cx('loadingIcon'), 'pi pi-spinner pi-spin')\" [hBind]=\"ptm('loadingIcon')\" aria-hidden=\"true\"></span>\n }\n }\n } @else {\n @if (!dropdownIconTemplate() && !_dropdownIconTemplate) {\n @if (dropdownIcon()) {\n <span [class]=\"cn(cx('dropdownIcon'), dropdownIcon())\" [hBind]=\"ptm('dropdownIcon')\"></span>\n }\n @if (!dropdownIcon()) {\n <svg data-h-icon=\"chevron-down\" [class]=\"cx('dropdownIcon')\" [hBind]=\"ptm('dropdownIcon')\" />\n }\n }\n @if (dropdownIconTemplate() || _dropdownIconTemplate) {\n <span [class]=\"cx('dropdownIcon')\" [hBind]=\"ptm('dropdownIcon')\">\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate() || _dropdownIconTemplate; context: { class: cx('dropdownIcon') }\"></ng-template>\n </span>\n }\n }\n\n</div>\n\n<h-overlay\n #overlay\n [hostAttrSelector]=\"$attrSelector\"\n [(visible)]=\"overlayVisible\"\n [options]=\"overlayOptions()\"\n [target]=\"'@parent'\"\n [appendTo]=\"$appendTo()\"\n [unstyled]=\"unstyled()\"\n [pt]=\"ptm('pcOverlay')\"\n [motionOptions]=\"motionOptions()\"\n (onBeforeEnter)=\"onOverlayBeforeEnter($event)\"\n (onAfterLeave)=\"onOverlayAfterLeave($event)\"\n (onHide)=\"hide()\"\n >\n <ng-template #content>\n <div [class]=\"cn(cx('overlay'), panelStyleClass())\" [ngStyle]=\"panelStyle()\" [hBind]=\"ptm('overlay')\" [attr.data-h]=\"overlayDataP\">\n <span\n #firstHiddenFocusableEl\n role=\"presentation\"\n class=\"h-hidden-accessible h-hidden-focusable\"\n [attr.tabindex]=\"0\"\n (focus)=\"onFirstHiddenFocus($event)\"\n [attr.data-h-hidden-accessible]=\"true\"\n [attr.data-h-hidden-focusable]=\"true\"\n [hBind]=\"ptm('hiddenFirstFocusableEl')\"\n >\n </span>\n <ng-container *ngTemplateOutlet=\"headerTemplate() || _headerTemplate\"></ng-container>\n @if (filter()) {\n <div [class]=\"cx('header')\" (click)=\"$event.stopPropagation()\" [hBind]=\"ptm('header')\">\n @if (filterTemplate() || _filterTemplate) {\n <ng-container *ngTemplateOutlet=\"filterTemplate() || _filterTemplate; context: { options: filterOptions }\"></ng-container>\n } @else {\n <h-iconfield [pt]=\"ptm('pcFilterContainer')\" [unstyled]=\"unstyled()\">\n <input\n #filter\n hInputText\n [pSize]=\"size()\"\n type=\"text\"\n role=\"searchbox\"\n autocomplete=\"off\"\n [value]=\"_filterValue() || ''\"\n [class]=\"cx('pcFilter')\"\n [variant]=\"$variant()\"\n [attr.placeholder]=\"filterPlaceholder()\"\n [attr.aria-owns]=\"id() + '_list'\"\n (input)=\"onFilterInputChange($event)\"\n [attr.aria-label]=\"ariaFilterLabel()\"\n [attr.aria-activedescendant]=\"focusedOptionId\"\n (keydown)=\"onFilterKeyDown($event)\"\n (blur)=\"onFilterBlur($event)\"\n [pt]=\"ptm('pcFilter')\"\n [unstyled]=\"unstyled()\"\n />\n <h-inputicon [pt]=\"ptm('pcFilterIconContainer')\" [unstyled]=\"unstyled()\">\n @if (!filterIconTemplate() && !_filterIconTemplate) {\n <svg data-h-icon=\"search\" [hBind]=\"ptm('filterIcon')\" />\n }\n @if (filterIconTemplate() || _filterIconTemplate) {\n <span [hBind]=\"ptm('filterIcon')\">\n <ng-template *ngTemplateOutlet=\"filterIconTemplate() || _filterIconTemplate\"></ng-template>\n </span>\n }\n </h-inputicon>\n </h-iconfield>\n }\n </div>\n }\n <div [class]=\"cx('listContainer')\" [style.max-height]=\"virtualScroll() ? 'auto' : scrollHeight() || 'auto'\" [hBind]=\"ptm('listContainer')\">\n @if (virtualScroll()) {\n <h-scroller\n hostName=\"select\"\n #scroller\n [items]=\"visibleOptions()\"\n [style]=\"{ height: scrollHeight() }\"\n [itemSize]=\"virtualScrollItemSize()\"\n [autoSize]=\"true\"\n [lazy]=\"lazy()\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [options]=\"virtualScrollOptions()\"\n [pt]=\"ptm('virtualScroller')\"\n >\n <ng-template #content let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\n </ng-template>\n @if (loaderTemplate() || _loaderTemplate) {\n <ng-template #loader let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate() || _loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\n </ng-template>\n }\n </h-scroller>\n }\n @if (!virtualScroll()) {\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: visibleOptions(), options: {} }\"></ng-container>\n }\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul #items [attr.id]=\"id() + '_list'\" [attr.aria-label]=\"listLabel\" [class]=\"cn(cx('list'), scrollerOptions.contentStyleClass)\" [style]=\"scrollerOptions.contentStyle\" role=\"listbox\" [hBind]=\"ptm('list')\">\n @for (option of items; track option; let i = $index) {\n @if (isOptionGroup(option)) {\n <li [class]=\"cx('optionGroup')\" [attr.id]=\"id() + '_' + getOptionIndex(i, scrollerOptions)\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\" [hBind]=\"ptm('optionGroup')\">\n @if (!groupTemplate() && !_groupTemplate) {\n <span [class]=\"cx('optionGroupLabel')\" [hBind]=\"ptm('optionGroupLabel')\">{{ getOptionGroupLabel(option.optionGroup) }}</span>\n }\n <ng-container *ngTemplateOutlet=\"groupTemplate() || _groupTemplate; context: { $implicit: option.optionGroup }\"></ng-container>\n </li>\n }\n @if (!isOptionGroup(option)) {\n <h-selectItem\n [id]=\"id() + '_' + getOptionIndex(i, scrollerOptions)\"\n [option]=\"option\"\n [checkmark]=\"checkmark()\"\n [selected]=\"isSelected(option)\"\n [label]=\"getOptionLabel(option)\"\n [disabled]=\"isOptionDisabled(option)\"\n [template]=\"itemTemplate() || _itemTemplate\"\n [focused]=\"focusedOptionIndex() === getOptionIndex(i, scrollerOptions)\"\n [ariaPosInset]=\"getAriaPosInset(getOptionIndex(i, scrollerOptions))\"\n [ariaSetSize]=\"ariaSetSize\"\n [index]=\"i\"\n [unstyled]=\"unstyled()\"\n [scrollerOptions]=\"scrollerOptions\"\n (onClick)=\"onOptionSelect($event, option)\"\n (onMouseEnter)=\"onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))\"\n ></h-selectItem>\n }\n }\n @if (_filterValue() && isEmpty()) {\n <li [class]=\"cx('emptyMessage')\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\" [hBind]=\"ptm('emptyMessage')\">\n @if (!emptyFilterTemplate() && !_emptyFilterTemplate && !emptyTemplate()) {\n {{ emptyFilterMessageLabel }}\n } @else {\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate() || _emptyFilterTemplate || emptyTemplate() || _emptyTemplate\"></ng-container>\n }\n </li>\n }\n @if (!_filterValue() && isEmpty()) {\n <li [class]=\"cx('emptyMessage')\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\" [hBind]=\"ptm('emptyMessage')\">\n @if (!emptyTemplate() && !_emptyTemplate) {\n {{ emptyMessageLabel || emptyFilterMessageLabel }}\n } @else {\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate() || _emptyTemplate\"></ng-container>\n }\n </li>\n }\n </ul>\n </ng-template>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate() || _footerTemplate\"></ng-container>\n <span\n #lastHiddenFocusableEl\n role=\"presentation\"\n class=\"h-hidden-accessible h-hidden-focusable\"\n [hBind]=\"ptm('hiddenLastFocusableEl')\"\n [attr.tabindex]=\"0\"\n (focus)=\"onLastHiddenFocus($event)\"\n [attr.data-h-hidden-accessible]=\"true\"\n [attr.data-h-hidden-focusable]=\"true\"\n ></span>\n </div>\n </ng-template>\n</h-overlay>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: SelectItem, selector: "h-selectItem", inputs: ["id", "option", "selected", "focused", "label", "disabled", "visible", "itemSize", "ariaPosInset", "ariaSetSize", "template", "checkmark", "index", "scrollerOptions"], outputs: ["onClick", "onMouseEnter"] }, { kind: "component", type: Overlay, selector: "h-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: "[hTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "showOnEllipsis", "hTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip", "pTooltipPT", "pTooltipUnstyled"] }, { kind: "directive", type: AutoFocus, selector: "[hAutoFocus]", inputs: ["hAutoFocus"] }, { kind: "component", type: TimesIcon, selector: "[data-h-icon=\"times\"]" }, { kind: "component", type: ChevronDownIcon, selector: "[data-h-icon=\"chevron-down\"]" }, { kind: "component", type: SearchIcon, selector: "[data-h-icon=\"search\"]" }, { kind: "directive", type: InputText, selector: "[hInputText]", inputs: ["hostName", "ptInputText", "pInputTextPT", "pInputTextUnstyled", "pSize", "variant", "fluid", "invalid"] }, { kind: "component", type: IconField, selector: "h-iconfield, h-iconField, h-icon-field", inputs: ["hostName", "iconPosition", "styleClass"] }, { kind: "component", type: InputIcon, selector: "h-inputicon, h-inputIcon", inputs: ["hostName", "styleClass"] }, { kind: "component", type: Scroller, selector: "h-scroller, h-virtualscroller, h-virtual-scroller, h-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: "[hBind]", inputs: ["hBind"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1879
- }
1880
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: Select, decorators: [{
1881
- type: Component,
1882
- args: [{ selector: 'h-select', standalone: true, imports: [CommonModule, SelectItem, Overlay, Tooltip, AutoFocus, TimesIcon, ChevronDownIcon, SearchIcon, InputText, IconField, InputIcon, Scroller, SharedModule, BindModule], host: {
1883
- '[class]': "cn(cx('root'), styleClass())",
1884
- '[attr.id]': 'id()',
1885
- '[attr.data-h]': 'containerDataP',
1886
- '(click)': 'onContainerClick($event)'
1887
- }, providers: [SELECT_VALUE_ACCESSOR, SelectStyle, { provide: SELECT_INSTANCE, useExisting: Select }, { provide: PARENT_INSTANCE, useExisting: Select }], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, hostDirectives: [Bind], template: "@if (!editable()) {\n <span\n #focusInput\n [class]=\"cx('label')\"\n [hBind]=\"ptm('label')\"\n [hTooltip]=\"tooltip()\"\n [pTooltipUnstyled]=\"unstyled()\"\n [tooltipPosition]=\"tooltipPosition()\"\n [positionStyle]=\"tooltipPositionStyle()\"\n [tooltipStyleClass]=\"tooltipStyleClass()\"\n [attr.aria-disabled]=\"$disabled()\"\n [attr.id]=\"inputId()\"\n role=\"combobox\"\n [attr.aria-label]=\"ariaLabel() || (label() === 'h-emptylabel' ? undefined : label())\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-haspopup]=\"'listbox'\"\n [attr.aria-expanded]=\"overlayVisible ?? false\"\n [attr.aria-controls]=\"overlayVisible ? id() + '_list' : null\"\n [attr.tabindex]=\"!$disabled() ? tabindex() : -1\"\n [hAutoFocus]=\"autofocus()\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n [attr.aria-required]=\"required()\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.disabled]=\"$disabled() ? '' : undefined\"\n [attr.data-h]=\"labelDataP\"\n >\n @if (!selectedItemTemplate() && !_selectedItemTemplate) {\n {{ label() === 'h-emptylabel' ? '&nbsp;' : label() }}\n } @else {\n @if (isSelectedOptionEmpty()) {\n <span>{{ label() === 'h-emptylabel' ? '&nbsp;' : label() }}</span>\n }\n }\n @if ((selectedItemTemplate() || _selectedItemTemplate) && !isSelectedOptionEmpty()) {\n <ng-container [ngTemplateOutlet]=\"selectedItemTemplate() || _selectedItemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: selectedOption }\"></ng-container>\n }\n </span>\n}\n@if (editable()) {\n <input\n #editableInput\n type=\"text\"\n [attr.id]=\"inputId()\"\n [class]=\"cx('label')\"\n [hBind]=\"ptm('label')\"\n [attr.aria-haspopup]=\"'listbox'\"\n [attr.placeholder]=\"modelValue() === undefined || modelValue() === null ? placeholder() : undefined\"\n [attr.aria-label]=\"ariaLabel() || (label() === 'h-emptylabel' ? undefined : label())\"\n (input)=\"onEditableInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n [hAutoFocus]=\"autofocus()\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [attr.name]=\"name()\"\n [attr.minlength]=\"minlength()\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [attr.pattern]=\"pattern()\"\n [attr.size]=\"inputSize()\"\n [attr.maxlength]=\"maxlength()\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.readonly]=\"readonly() ? '' : undefined\"\n [attr.disabled]=\"$disabled() ? '' : undefined\"\n [attr.data-h]=\"labelDataP\"\n />\n}\n@if (isVisibleClearIcon) {\n @if (!clearIconTemplate() && !_clearIconTemplate) {\n <svg data-h-icon=\"times\" [class]=\"cx('clearIcon')\" [hBind]=\"ptm('clearIcon')\" (click)=\"clear($event)\" [attr.data-pc-section]=\"'clearicon'\" />\n }\n @if (clearIconTemplate() || _clearIconTemplate) {\n <span [class]=\"cx('clearIcon')\" [hBind]=\"ptm('clearIcon')\" (click)=\"clear($event)\" [attr.data-pc-section]=\"'clearicon'\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate() || _clearIconTemplate; context: { class: cx('clearIcon') }\"></ng-template>\n </span>\n }\n}\n\n<div [class]=\"cx('dropdown')\" [hBind]=\"ptm('dropdown')\" role=\"button\" aria-label=\"dropdown trigger\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible ?? false\" [attr.data-pc-section]=\"'trigger'\">\n @if (loading()) {\n @if (loadingIconTemplate() || _loadingIconTemplate) {\n <ng-container *ngTemplateOutlet=\"loadingIconTemplate() || _loadingIconTemplate\"></ng-container>\n }\n @if (!loadingIconTemplate() && !_loadingIconTemplate) {\n @if (loadingIcon()) {\n <span [class]=\"cn(cx('loadingIcon'), 'pi-spin' + loadingIcon())\" [hBind]=\"ptm('loadingIcon')\" aria-hidden=\"true\"></span>\n }\n @if (!loadingIcon()) {\n <span [class]=\"cn(cx('loadingIcon'), 'pi pi-spinner pi-spin')\" [hBind]=\"ptm('loadingIcon')\" aria-hidden=\"true\"></span>\n }\n }\n } @else {\n @if (!dropdownIconTemplate() && !_dropdownIconTemplate) {\n @if (dropdownIcon()) {\n <span [class]=\"cn(cx('dropdownIcon'), dropdownIcon())\" [hBind]=\"ptm('dropdownIcon')\"></span>\n }\n @if (!dropdownIcon()) {\n <svg data-h-icon=\"chevron-down\" [class]=\"cx('dropdownIcon')\" [hBind]=\"ptm('dropdownIcon')\" />\n }\n }\n @if (dropdownIconTemplate() || _dropdownIconTemplate) {\n <span [class]=\"cx('dropdownIcon')\" [hBind]=\"ptm('dropdownIcon')\">\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate() || _dropdownIconTemplate; context: { class: cx('dropdownIcon') }\"></ng-template>\n </span>\n }\n }\n\n</div>\n\n<h-overlay\n #overlay\n [hostAttrSelector]=\"$attrSelector\"\n [(visible)]=\"overlayVisible\"\n [options]=\"overlayOptions()\"\n [target]=\"'@parent'\"\n [appendTo]=\"$appendTo()\"\n [unstyled]=\"unstyled()\"\n [pt]=\"ptm('pcOverlay')\"\n [motionOptions]=\"motionOptions()\"\n (onBeforeEnter)=\"onOverlayBeforeEnter($event)\"\n (onAfterLeave)=\"onOverlayAfterLeave($event)\"\n (onHide)=\"hide()\"\n >\n <ng-template #content>\n <div [class]=\"cn(cx('overlay'), panelStyleClass())\" [ngStyle]=\"panelStyle()\" [hBind]=\"ptm('overlay')\" [attr.data-h]=\"overlayDataP\">\n <span\n #firstHiddenFocusableEl\n role=\"presentation\"\n class=\"h-hidden-accessible h-hidden-focusable\"\n [attr.tabindex]=\"0\"\n (focus)=\"onFirstHiddenFocus($event)\"\n [attr.data-h-hidden-accessible]=\"true\"\n [attr.data-h-hidden-focusable]=\"true\"\n [hBind]=\"ptm('hiddenFirstFocusableEl')\"\n >\n </span>\n <ng-container *ngTemplateOutlet=\"headerTemplate() || _headerTemplate\"></ng-container>\n @if (filter()) {\n <div [class]=\"cx('header')\" (click)=\"$event.stopPropagation()\" [hBind]=\"ptm('header')\">\n @if (filterTemplate() || _filterTemplate) {\n <ng-container *ngTemplateOutlet=\"filterTemplate() || _filterTemplate; context: { options: filterOptions }\"></ng-container>\n } @else {\n <h-iconfield [pt]=\"ptm('pcFilterContainer')\" [unstyled]=\"unstyled()\">\n <input\n #filter\n hInputText\n [pSize]=\"size()\"\n type=\"text\"\n role=\"searchbox\"\n autocomplete=\"off\"\n [value]=\"_filterValue() || ''\"\n [class]=\"cx('pcFilter')\"\n [variant]=\"$variant()\"\n [attr.placeholder]=\"filterPlaceholder()\"\n [attr.aria-owns]=\"id() + '_list'\"\n (input)=\"onFilterInputChange($event)\"\n [attr.aria-label]=\"ariaFilterLabel()\"\n [attr.aria-activedescendant]=\"focusedOptionId\"\n (keydown)=\"onFilterKeyDown($event)\"\n (blur)=\"onFilterBlur($event)\"\n [pt]=\"ptm('pcFilter')\"\n [unstyled]=\"unstyled()\"\n />\n <h-inputicon [pt]=\"ptm('pcFilterIconContainer')\" [unstyled]=\"unstyled()\">\n @if (!filterIconTemplate() && !_filterIconTemplate) {\n <svg data-h-icon=\"search\" [hBind]=\"ptm('filterIcon')\" />\n }\n @if (filterIconTemplate() || _filterIconTemplate) {\n <span [hBind]=\"ptm('filterIcon')\">\n <ng-template *ngTemplateOutlet=\"filterIconTemplate() || _filterIconTemplate\"></ng-template>\n </span>\n }\n </h-inputicon>\n </h-iconfield>\n }\n </div>\n }\n <div [class]=\"cx('listContainer')\" [style.max-height]=\"virtualScroll() ? 'auto' : scrollHeight() || 'auto'\" [hBind]=\"ptm('listContainer')\">\n @if (virtualScroll()) {\n <h-scroller\n hostName=\"select\"\n #scroller\n [items]=\"visibleOptions()\"\n [style]=\"{ height: scrollHeight() }\"\n [itemSize]=\"virtualScrollItemSize()\"\n [autoSize]=\"true\"\n [lazy]=\"lazy()\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [options]=\"virtualScrollOptions()\"\n [pt]=\"ptm('virtualScroller')\"\n >\n <ng-template #content let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\n </ng-template>\n @if (loaderTemplate() || _loaderTemplate) {\n <ng-template #loader let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate() || _loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\n </ng-template>\n }\n </h-scroller>\n }\n @if (!virtualScroll()) {\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: visibleOptions(), options: {} }\"></ng-container>\n }\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul #items [attr.id]=\"id() + '_list'\" [attr.aria-label]=\"listLabel\" [class]=\"cn(cx('list'), scrollerOptions.contentStyleClass)\" [style]=\"scrollerOptions.contentStyle\" role=\"listbox\" [hBind]=\"ptm('list')\">\n @for (option of items; track option; let i = $index) {\n @if (isOptionGroup(option)) {\n <li [class]=\"cx('optionGroup')\" [attr.id]=\"id() + '_' + getOptionIndex(i, scrollerOptions)\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\" [hBind]=\"ptm('optionGroup')\">\n @if (!groupTemplate() && !_groupTemplate) {\n <span [class]=\"cx('optionGroupLabel')\" [hBind]=\"ptm('optionGroupLabel')\">{{ getOptionGroupLabel(option.optionGroup) }}</span>\n }\n <ng-container *ngTemplateOutlet=\"groupTemplate() || _groupTemplate; context: { $implicit: option.optionGroup }\"></ng-container>\n </li>\n }\n @if (!isOptionGroup(option)) {\n <h-selectItem\n [id]=\"id() + '_' + getOptionIndex(i, scrollerOptions)\"\n [option]=\"option\"\n [checkmark]=\"checkmark()\"\n [selected]=\"isSelected(option)\"\n [label]=\"getOptionLabel(option)\"\n [disabled]=\"isOptionDisabled(option)\"\n [template]=\"itemTemplate() || _itemTemplate\"\n [focused]=\"focusedOptionIndex() === getOptionIndex(i, scrollerOptions)\"\n [ariaPosInset]=\"getAriaPosInset(getOptionIndex(i, scrollerOptions))\"\n [ariaSetSize]=\"ariaSetSize\"\n [index]=\"i\"\n [unstyled]=\"unstyled()\"\n [scrollerOptions]=\"scrollerOptions\"\n (onClick)=\"onOptionSelect($event, option)\"\n (onMouseEnter)=\"onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))\"\n ></h-selectItem>\n }\n }\n @if (_filterValue() && isEmpty()) {\n <li [class]=\"cx('emptyMessage')\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\" [hBind]=\"ptm('emptyMessage')\">\n @if (!emptyFilterTemplate() && !_emptyFilterTemplate && !emptyTemplate()) {\n {{ emptyFilterMessageLabel }}\n } @else {\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate() || _emptyFilterTemplate || emptyTemplate() || _emptyTemplate\"></ng-container>\n }\n </li>\n }\n @if (!_filterValue() && isEmpty()) {\n <li [class]=\"cx('emptyMessage')\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\" [hBind]=\"ptm('emptyMessage')\">\n @if (!emptyTemplate() && !_emptyTemplate) {\n {{ emptyMessageLabel || emptyFilterMessageLabel }}\n } @else {\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate() || _emptyTemplate\"></ng-container>\n }\n </li>\n }\n </ul>\n </ng-template>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate() || _footerTemplate\"></ng-container>\n <span\n #lastHiddenFocusableEl\n role=\"presentation\"\n class=\"h-hidden-accessible h-hidden-focusable\"\n [hBind]=\"ptm('hiddenLastFocusableEl')\"\n [attr.tabindex]=\"0\"\n (focus)=\"onLastHiddenFocus($event)\"\n [attr.data-h-hidden-accessible]=\"true\"\n [attr.data-h-hidden-focusable]=\"true\"\n ></span>\n </div>\n </ng-template>\n</h-overlay>\n" }]
1888
- }], ctorParameters: () => [{ type: i0.NgZone }, { type: i3.FilterService }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }, { type: i0.Output, args: ["idChange"] }], scrollHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollHeight", required: false }] }], filter: [{ type: i0.Input, args: [{ isSignal: true, alias: "filter", required: false }] }], panelStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelStyle", required: false }] }], styleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "styleClass", required: false }] }], panelStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelStyleClass", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], editable: [{ type: i0.Input, args: [{ isSignal: true, alias: "editable", required: false }] }], tabindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabindex", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }, { type: i0.Output, args: ["placeholderChange"] }], loadingIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadingIcon", required: false }] }], filterPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterPlaceholder", required: false }] }], filterLocale: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterLocale", required: false }] }], inputId: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputId", required: false }] }], dataKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataKey", required: false }] }], filterBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterBy", required: false }] }], filterFields: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterFields", required: false }] }], autofocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autofocus", required: false }] }], resetFilterOnHide: [{ type: i0.Input, args: [{ isSignal: true, alias: "resetFilterOnHide", required: false }] }], checkmark: [{ type: i0.Input, args: [{ isSignal: true, alias: "checkmark", required: false }] }], dropdownIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "dropdownIcon", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], optionLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionLabel", required: false }] }], optionValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionValue", required: false }] }], optionDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionDisabled", required: false }] }], optionGroupLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionGroupLabel", required: false }] }], optionGroupChildren: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionGroupChildren", required: false }] }], group: [{ type: i0.Input, args: [{ isSignal: true, alias: "group", required: false }] }], showClear: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClear", required: false }] }], emptyFilterMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyFilterMessage", required: false }] }], emptyMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyMessage", required: false }] }], lazy: [{ type: i0.Input, args: [{ isSignal: true, alias: "lazy", required: false }] }], virtualScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "virtualScroll", required: false }] }], virtualScrollItemSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "virtualScrollItemSize", required: false }] }], virtualScrollOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "virtualScrollOptions", required: false }] }], overlayOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "overlayOptions", required: false }] }], ariaFilterLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaFilterLabel", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledBy", required: false }] }], filterMatchMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterMatchMode", required: false }] }], tooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip", required: false }] }], tooltipPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipPosition", required: false }] }], tooltipPositionStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipPositionStyle", required: false }] }], tooltipStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipStyleClass", required: false }] }], focusOnHover: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusOnHover", required: false }] }], selectOnFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectOnFocus", required: false }] }], autoOptionFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoOptionFocus", required: false }] }], autofocusFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "autofocusFilter", required: false }] }], filterValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterValue", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], appendTo: [{ type: i0.Input, args: [{ isSignal: true, alias: "appendTo", required: false }] }], motionOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "motionOptions", required: false }] }], onChange: [{ type: i0.Output, args: ["onChange"] }], onFilter: [{ type: i0.Output, args: ["onFilter"] }], onFocus: [{ type: i0.Output, args: ["onFocus"] }], onBlur: [{ type: i0.Output, args: ["onBlur"] }], onClick: [{ type: i0.Output, args: ["onClick"] }], onShow: [{ type: i0.Output, args: ["onShow"] }], onHide: [{ type: i0.Output, args: ["onHide"] }], onClear: [{ type: i0.Output, args: ["onClear"] }], onLazyLoad: [{ type: i0.Output, args: ["onLazyLoad"] }], filterViewChild: [{ type: i0.ViewChild, args: ['filter', { isSignal: true }] }], focusInputViewChild: [{ type: i0.ViewChild, args: ['focusInput', { isSignal: true }] }], editableInputViewChild: [{ type: i0.ViewChild, args: ['editableInput', { isSignal: true }] }], itemsViewChild: [{ type: i0.ViewChild, args: ['items', { isSignal: true }] }], scroller: [{ type: i0.ViewChild, args: ['scroller', { isSignal: true }] }], overlayViewChild: [{ type: i0.ViewChild, args: ['overlay', { isSignal: true }] }], firstHiddenFocusableElementOnOverlay: [{ type: i0.ViewChild, args: ['firstHiddenFocusableEl', { isSignal: true }] }], lastHiddenFocusableElementOnOverlay: [{ type: i0.ViewChild, args: ['lastHiddenFocusableEl', { isSignal: true }] }], itemTemplate: [{ type: i0.ContentChild, args: ['item', { ...{ descendants: false }, isSignal: true }] }], groupTemplate: [{ type: i0.ContentChild, args: ['group', { ...{ descendants: false }, isSignal: true }] }], loaderTemplate: [{ type: i0.ContentChild, args: ['loader', { ...{ descendants: false }, isSignal: true }] }], selectedItemTemplate: [{ type: i0.ContentChild, args: ['selectedItem', { ...{ descendants: false }, isSignal: true }] }], headerTemplate: [{ type: i0.ContentChild, args: ['header', { ...{ descendants: false }, isSignal: true }] }], filterTemplate: [{ type: i0.ContentChild, args: ['filter', { ...{ descendants: false }, isSignal: true }] }], footerTemplate: [{ type: i0.ContentChild, args: ['footer', { ...{ descendants: false }, isSignal: true }] }], emptyFilterTemplate: [{ type: i0.ContentChild, args: ['emptyfilter', { ...{ descendants: false }, isSignal: true }] }], emptyTemplate: [{ type: i0.ContentChild, args: ['empty', { ...{ descendants: false }, isSignal: true }] }], dropdownIconTemplate: [{ type: i0.ContentChild, args: ['dropdownicon', { ...{ descendants: false }, isSignal: true }] }], loadingIconTemplate: [{ type: i0.ContentChild, args: ['loadingicon', { ...{ descendants: false }, isSignal: true }] }], clearIconTemplate: [{ type: i0.ContentChild, args: ['clearicon', { ...{ descendants: false }, isSignal: true }] }], filterIconTemplate: [{ type: i0.ContentChild, args: ['filtericon', { ...{ descendants: false }, isSignal: true }] }], onIconTemplate: [{ type: i0.ContentChild, args: ['onicon', { ...{ descendants: false }, isSignal: true }] }], offIconTemplate: [{ type: i0.ContentChild, args: ['officon', { ...{ descendants: false }, isSignal: true }] }], cancelIconTemplate: [{ type: i0.ContentChild, args: ['cancelicon', { ...{ descendants: false }, isSignal: true }] }], templates: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => HelixTemplate), { isSignal: true }] }] } });
1889
- class SelectModule {
1890
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: SelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1891
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.6", ngImport: i0, type: SelectModule, imports: [Select, SharedModule], exports: [Select, SharedModule] });
1892
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: SelectModule, imports: [Select, SharedModule, SharedModule] });
1893
- }
1894
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: SelectModule, decorators: [{
1895
- type: NgModule,
1896
- args: [{
1897
- imports: [Select, SharedModule],
1898
- exports: [Select, SharedModule]
1899
- }]
1900
- }] });
1901
-
1902
- /**
1903
- * Generated bundle index. Do not edit.
1904
- */
1905
-
375
+ var SelectItem = class SelectItem extends BaseComponent {
376
+ hostName = "select";
377
+ $pcSelectItem = inject(SELECT_ITEM_INSTANCE, {
378
+ optional: true,
379
+ skipSelf: true
380
+ }) ?? void 0;
381
+ $pcSelect = inject(SELECT_INSTANCE, {
382
+ optional: true,
383
+ skipSelf: true
384
+ }) ?? void 0;
385
+ id = input(...ngDevMode ? [void 0, { debugName: "id" }] : /* istanbul ignore next */ []);
386
+ option = input(...ngDevMode ? [void 0, { debugName: "option" }] : /* istanbul ignore next */ []);
387
+ selected = input(void 0, {
388
+ ...ngDevMode ? { debugName: "selected" } : /* istanbul ignore next */ {},
389
+ transform: booleanAttribute
390
+ });
391
+ focused = input(void 0, {
392
+ ...ngDevMode ? { debugName: "focused" } : /* istanbul ignore next */ {},
393
+ transform: booleanAttribute
394
+ });
395
+ label = input(...ngDevMode ? [void 0, { debugName: "label" }] : /* istanbul ignore next */ []);
396
+ disabled = input(void 0, {
397
+ ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
398
+ transform: booleanAttribute
399
+ });
400
+ visible = input(void 0, {
401
+ ...ngDevMode ? { debugName: "visible" } : /* istanbul ignore next */ {},
402
+ transform: booleanAttribute
403
+ });
404
+ itemSize = input(void 0, {
405
+ ...ngDevMode ? { debugName: "itemSize" } : /* istanbul ignore next */ {},
406
+ transform: numberAttribute
407
+ });
408
+ ariaPosInset = input(...ngDevMode ? [void 0, { debugName: "ariaPosInset" }] : /* istanbul ignore next */ []);
409
+ ariaSetSize = input(...ngDevMode ? [void 0, { debugName: "ariaSetSize" }] : /* istanbul ignore next */ []);
410
+ template = input(...ngDevMode ? [void 0, { debugName: "template" }] : /* istanbul ignore next */ []);
411
+ checkmark = input(void 0, {
412
+ ...ngDevMode ? { debugName: "checkmark" } : /* istanbul ignore next */ {},
413
+ transform: booleanAttribute
414
+ });
415
+ index = input(...ngDevMode ? [void 0, { debugName: "index" }] : /* istanbul ignore next */ []);
416
+ scrollerOptions = input(...ngDevMode ? [void 0, { debugName: "scrollerOptions" }] : /* istanbul ignore next */ []);
417
+ onClick = output();
418
+ onMouseEnter = output();
419
+ _componentStyle = inject(SelectStyle);
420
+ onOptionClick(event) {
421
+ this.onClick.emit(event);
422
+ }
423
+ onOptionMouseEnter(event) {
424
+ this.onMouseEnter.emit(event);
425
+ }
426
+ getPTOptions() {
427
+ const option = this.option();
428
+ return this.$pcSelect?.getPTItemOptions?.(option, this.scrollerOptions(), this.index() ?? 0, "option") ?? this.$pcSelect?.ptm("option", { context: {
429
+ option,
430
+ selected: this.selected(),
431
+ focused: this.focused(),
432
+ disabled: this.disabled()
433
+ } });
434
+ }
435
+ static ɵfac = i0.ɵɵngDeclareFactory({
436
+ minVersion: "12.0.0",
437
+ version: "22.2.1",
438
+ ngImport: i0,
439
+ type: SelectItem,
440
+ deps: null,
441
+ target: i0.ɵɵFactoryTarget.Component
442
+ });
443
+ static ɵcmp = i0.ɵɵngDeclareComponent({
444
+ minVersion: "17.0.0",
445
+ version: "22.2.1",
446
+ type: SelectItem,
447
+ isStandalone: true,
448
+ selector: "h-selectItem",
449
+ inputs: {
450
+ id: {
451
+ classPropertyName: "id",
452
+ publicName: "id",
453
+ isSignal: true,
454
+ isRequired: false,
455
+ transformFunction: null
456
+ },
457
+ option: {
458
+ classPropertyName: "option",
459
+ publicName: "option",
460
+ isSignal: true,
461
+ isRequired: false,
462
+ transformFunction: null
463
+ },
464
+ selected: {
465
+ classPropertyName: "selected",
466
+ publicName: "selected",
467
+ isSignal: true,
468
+ isRequired: false,
469
+ transformFunction: null
470
+ },
471
+ focused: {
472
+ classPropertyName: "focused",
473
+ publicName: "focused",
474
+ isSignal: true,
475
+ isRequired: false,
476
+ transformFunction: null
477
+ },
478
+ label: {
479
+ classPropertyName: "label",
480
+ publicName: "label",
481
+ isSignal: true,
482
+ isRequired: false,
483
+ transformFunction: null
484
+ },
485
+ disabled: {
486
+ classPropertyName: "disabled",
487
+ publicName: "disabled",
488
+ isSignal: true,
489
+ isRequired: false,
490
+ transformFunction: null
491
+ },
492
+ visible: {
493
+ classPropertyName: "visible",
494
+ publicName: "visible",
495
+ isSignal: true,
496
+ isRequired: false,
497
+ transformFunction: null
498
+ },
499
+ itemSize: {
500
+ classPropertyName: "itemSize",
501
+ publicName: "itemSize",
502
+ isSignal: true,
503
+ isRequired: false,
504
+ transformFunction: null
505
+ },
506
+ ariaPosInset: {
507
+ classPropertyName: "ariaPosInset",
508
+ publicName: "ariaPosInset",
509
+ isSignal: true,
510
+ isRequired: false,
511
+ transformFunction: null
512
+ },
513
+ ariaSetSize: {
514
+ classPropertyName: "ariaSetSize",
515
+ publicName: "ariaSetSize",
516
+ isSignal: true,
517
+ isRequired: false,
518
+ transformFunction: null
519
+ },
520
+ template: {
521
+ classPropertyName: "template",
522
+ publicName: "template",
523
+ isSignal: true,
524
+ isRequired: false,
525
+ transformFunction: null
526
+ },
527
+ checkmark: {
528
+ classPropertyName: "checkmark",
529
+ publicName: "checkmark",
530
+ isSignal: true,
531
+ isRequired: false,
532
+ transformFunction: null
533
+ },
534
+ index: {
535
+ classPropertyName: "index",
536
+ publicName: "index",
537
+ isSignal: true,
538
+ isRequired: false,
539
+ transformFunction: null
540
+ },
541
+ scrollerOptions: {
542
+ classPropertyName: "scrollerOptions",
543
+ publicName: "scrollerOptions",
544
+ isSignal: true,
545
+ isRequired: false,
546
+ transformFunction: null
547
+ }
548
+ },
549
+ outputs: {
550
+ onClick: "onClick",
551
+ onMouseEnter: "onMouseEnter"
552
+ },
553
+ providers: [SelectStyle, {
554
+ provide: PARENT_INSTANCE,
555
+ useExisting: SelectItem
556
+ }],
557
+ usesInheritance: true,
558
+ ngImport: i0,
559
+ template: "<li\n [id]=\"id()\"\n [hBind]=\"getPTOptions()\"\n (click)=\"onOptionClick($event)\"\n (mouseenter)=\"onOptionMouseEnter($event)\"\n role=\"option\"\n hRipple\n [attr.aria-label]=\"label()\"\n [attr.aria-setsize]=\"ariaSetSize()\"\n [attr.aria-posinset]=\"ariaPosInset()\"\n [attr.aria-selected]=\"selected()\"\n [attr.data-h-focused]=\"focused()\"\n [attr.data-h-highlight]=\"selected()\"\n [attr.data-h-selected]=\"selected()\"\n [attr.data-h-disabled]=\"disabled()\"\n [ngStyle]=\"{ height: $safeNavigationMigration(scrollerOptions()?.itemSize) + 'px' }\"\n [class]=\"cx('option')\"\n >\n @if (checkmark()) {\n @if (selected()) {\n <svg data-h-icon=\"check\" [class]=\"cx('optionCheckIcon')\" [hBind]=\"$safeNavigationMigration($pcSelect?.ptm('optionCheckIcon'))\" />\n }\n @if (!selected()) {\n <svg data-h-icon=\"blank\" [class]=\"cx('optionBlankIcon')\" [hBind]=\"$safeNavigationMigration($pcSelect?.ptm('optionBlankIcon'))\" />\n }\n }\n @if (!template()) {\n <span [hBind]=\"$safeNavigationMigration($pcSelect?.ptm('optionLabel'))\">{{ label() ?? 'empty' }}</span>\n }\n <ng-container *ngTemplateOutlet=\"template(); context: { $implicit: option() }\"></ng-container>\n</li>\n",
560
+ dependencies: [
561
+ {
562
+ kind: "ngmodule",
563
+ type: CommonModule
564
+ },
565
+ {
566
+ kind: "directive",
567
+ type: i1.NgTemplateOutlet,
568
+ selector: "[ngTemplateOutlet]",
569
+ inputs: [
570
+ "ngTemplateOutletContext",
571
+ "ngTemplateOutlet",
572
+ "ngTemplateOutletInjector"
573
+ ]
574
+ },
575
+ {
576
+ kind: "directive",
577
+ type: i1.NgStyle,
578
+ selector: "[ngStyle]",
579
+ inputs: ["ngStyle"]
580
+ },
581
+ {
582
+ kind: "ngmodule",
583
+ type: SharedModule
584
+ },
585
+ {
586
+ kind: "directive",
587
+ type: Ripple,
588
+ selector: "[hRipple]"
589
+ },
590
+ {
591
+ kind: "component",
592
+ type: CheckIcon,
593
+ selector: "[data-h-icon=\"check\"]"
594
+ },
595
+ {
596
+ kind: "component",
597
+ type: BlankIcon,
598
+ selector: "[data-h-icon=\"blank\"]"
599
+ },
600
+ {
601
+ kind: "ngmodule",
602
+ type: BindModule
603
+ },
604
+ {
605
+ kind: "directive",
606
+ type: i2.Bind,
607
+ selector: "[hBind]",
608
+ inputs: ["hBind"]
609
+ }
610
+ ],
611
+ changeDetection: i0.ChangeDetectionStrategy.Eager
612
+ });
613
+ };
614
+ i0.ɵɵngDeclareClassMetadata({
615
+ minVersion: "12.0.0",
616
+ version: "22.2.1",
617
+ ngImport: i0,
618
+ type: SelectItem,
619
+ decorators: [{
620
+ type: Component,
621
+ args: [{
622
+ selector: "h-selectItem",
623
+ standalone: true,
624
+ imports: [
625
+ CommonModule,
626
+ SharedModule,
627
+ Ripple,
628
+ CheckIcon,
629
+ BlankIcon,
630
+ BindModule
631
+ ],
632
+ changeDetection: ChangeDetectionStrategy.Eager,
633
+ providers: [SelectStyle, {
634
+ provide: PARENT_INSTANCE,
635
+ useExisting: SelectItem
636
+ }],
637
+ template: "<li\n [id]=\"id()\"\n [hBind]=\"getPTOptions()\"\n (click)=\"onOptionClick($event)\"\n (mouseenter)=\"onOptionMouseEnter($event)\"\n role=\"option\"\n hRipple\n [attr.aria-label]=\"label()\"\n [attr.aria-setsize]=\"ariaSetSize()\"\n [attr.aria-posinset]=\"ariaPosInset()\"\n [attr.aria-selected]=\"selected()\"\n [attr.data-h-focused]=\"focused()\"\n [attr.data-h-highlight]=\"selected()\"\n [attr.data-h-selected]=\"selected()\"\n [attr.data-h-disabled]=\"disabled()\"\n [ngStyle]=\"{ height: $safeNavigationMigration(scrollerOptions()?.itemSize) + 'px' }\"\n [class]=\"cx('option')\"\n >\n @if (checkmark()) {\n @if (selected()) {\n <svg data-h-icon=\"check\" [class]=\"cx('optionCheckIcon')\" [hBind]=\"$safeNavigationMigration($pcSelect?.ptm('optionCheckIcon'))\" />\n }\n @if (!selected()) {\n <svg data-h-icon=\"blank\" [class]=\"cx('optionBlankIcon')\" [hBind]=\"$safeNavigationMigration($pcSelect?.ptm('optionBlankIcon'))\" />\n }\n }\n @if (!template()) {\n <span [hBind]=\"$safeNavigationMigration($pcSelect?.ptm('optionLabel'))\">{{ label() ?? 'empty' }}</span>\n }\n <ng-container *ngTemplateOutlet=\"template(); context: { $implicit: option() }\"></ng-container>\n</li>\n"
638
+ }]
639
+ }],
640
+ propDecorators: {
641
+ id: [{
642
+ type: i0.Input,
643
+ args: [{
644
+ isSignal: true,
645
+ alias: "id",
646
+ required: false
647
+ }]
648
+ }],
649
+ option: [{
650
+ type: i0.Input,
651
+ args: [{
652
+ isSignal: true,
653
+ alias: "option",
654
+ required: false
655
+ }]
656
+ }],
657
+ selected: [{
658
+ type: i0.Input,
659
+ args: [{
660
+ isSignal: true,
661
+ alias: "selected",
662
+ required: false
663
+ }]
664
+ }],
665
+ focused: [{
666
+ type: i0.Input,
667
+ args: [{
668
+ isSignal: true,
669
+ alias: "focused",
670
+ required: false
671
+ }]
672
+ }],
673
+ label: [{
674
+ type: i0.Input,
675
+ args: [{
676
+ isSignal: true,
677
+ alias: "label",
678
+ required: false
679
+ }]
680
+ }],
681
+ disabled: [{
682
+ type: i0.Input,
683
+ args: [{
684
+ isSignal: true,
685
+ alias: "disabled",
686
+ required: false
687
+ }]
688
+ }],
689
+ visible: [{
690
+ type: i0.Input,
691
+ args: [{
692
+ isSignal: true,
693
+ alias: "visible",
694
+ required: false
695
+ }]
696
+ }],
697
+ itemSize: [{
698
+ type: i0.Input,
699
+ args: [{
700
+ isSignal: true,
701
+ alias: "itemSize",
702
+ required: false
703
+ }]
704
+ }],
705
+ ariaPosInset: [{
706
+ type: i0.Input,
707
+ args: [{
708
+ isSignal: true,
709
+ alias: "ariaPosInset",
710
+ required: false
711
+ }]
712
+ }],
713
+ ariaSetSize: [{
714
+ type: i0.Input,
715
+ args: [{
716
+ isSignal: true,
717
+ alias: "ariaSetSize",
718
+ required: false
719
+ }]
720
+ }],
721
+ template: [{
722
+ type: i0.Input,
723
+ args: [{
724
+ isSignal: true,
725
+ alias: "template",
726
+ required: false
727
+ }]
728
+ }],
729
+ checkmark: [{
730
+ type: i0.Input,
731
+ args: [{
732
+ isSignal: true,
733
+ alias: "checkmark",
734
+ required: false
735
+ }]
736
+ }],
737
+ index: [{
738
+ type: i0.Input,
739
+ args: [{
740
+ isSignal: true,
741
+ alias: "index",
742
+ required: false
743
+ }]
744
+ }],
745
+ scrollerOptions: [{
746
+ type: i0.Input,
747
+ args: [{
748
+ isSignal: true,
749
+ alias: "scrollerOptions",
750
+ required: false
751
+ }]
752
+ }],
753
+ onClick: [{
754
+ type: i0.Output,
755
+ args: ["onClick"]
756
+ }],
757
+ onMouseEnter: [{
758
+ type: i0.Output,
759
+ args: ["onMouseEnter"]
760
+ }]
761
+ }
762
+ });
763
+ var Select = class Select extends BaseInput {
764
+ zone;
765
+ filterService;
766
+ componentName = "Select";
767
+ bindDirectiveInstance = inject(Bind, { self: true });
768
+ id = model(void 0, ...ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []);
769
+ scrollHeight = input("200px", ...ngDevMode ? [{ debugName: "scrollHeight" }] : /* istanbul ignore next */ []);
770
+ filter = input(void 0, {
771
+ ...ngDevMode ? { debugName: "filter" } : /* istanbul ignore next */ {},
772
+ transform: booleanAttribute
773
+ });
774
+ panelStyle = input(...ngDevMode ? [void 0, { debugName: "panelStyle" }] : /* istanbul ignore next */ []);
775
+ styleClass = input(...ngDevMode ? [void 0, { debugName: "styleClass" }] : /* istanbul ignore next */ []);
776
+ panelStyleClass = input(...ngDevMode ? [void 0, { debugName: "panelStyleClass" }] : /* istanbul ignore next */ []);
777
+ readonly = input(void 0, {
778
+ ...ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {},
779
+ transform: booleanAttribute
780
+ });
781
+ editable = input(void 0, {
782
+ ...ngDevMode ? { debugName: "editable" } : /* istanbul ignore next */ {},
783
+ transform: booleanAttribute
784
+ });
785
+ tabindex = input(0, {
786
+ ...ngDevMode ? { debugName: "tabindex" } : /* istanbul ignore next */ {},
787
+ transform: numberAttribute
788
+ });
789
+ placeholder = model(void 0, ...ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []);
790
+ loadingIcon = input(void 0, ...ngDevMode ? [{ debugName: "loadingIcon" }] : /* istanbul ignore next */ []);
791
+ filterPlaceholder = input(...ngDevMode ? [void 0, { debugName: "filterPlaceholder" }] : /* istanbul ignore next */ []);
792
+ filterLocale = input(...ngDevMode ? [void 0, { debugName: "filterLocale" }] : /* istanbul ignore next */ []);
793
+ inputId = input(...ngDevMode ? [void 0, { debugName: "inputId" }] : /* istanbul ignore next */ []);
794
+ dataKey = input(...ngDevMode ? [void 0, { debugName: "dataKey" }] : /* istanbul ignore next */ []);
795
+ filterBy = input(...ngDevMode ? [void 0, { debugName: "filterBy" }] : /* istanbul ignore next */ []);
796
+ filterFields = input(...ngDevMode ? [void 0, { debugName: "filterFields" }] : /* istanbul ignore next */ []);
797
+ autofocus = input(void 0, {
798
+ ...ngDevMode ? { debugName: "autofocus" } : /* istanbul ignore next */ {},
799
+ transform: booleanAttribute
800
+ });
801
+ resetFilterOnHide = input(false, {
802
+ ...ngDevMode ? { debugName: "resetFilterOnHide" } : /* istanbul ignore next */ {},
803
+ transform: booleanAttribute
804
+ });
805
+ checkmark = input(false, {
806
+ ...ngDevMode ? { debugName: "checkmark" } : /* istanbul ignore next */ {},
807
+ transform: booleanAttribute
808
+ });
809
+ dropdownIcon = input(void 0, ...ngDevMode ? [{ debugName: "dropdownIcon" }] : /* istanbul ignore next */ []);
810
+ loading = input(false, {
811
+ ...ngDevMode ? { debugName: "loading" } : /* istanbul ignore next */ {},
812
+ transform: booleanAttribute
813
+ });
814
+ optionLabel = input(...ngDevMode ? [void 0, { debugName: "optionLabel" }] : /* istanbul ignore next */ []);
815
+ optionValue = input(...ngDevMode ? [void 0, { debugName: "optionValue" }] : /* istanbul ignore next */ []);
816
+ optionDisabled = input(...ngDevMode ? [void 0, { debugName: "optionDisabled" }] : /* istanbul ignore next */ []);
817
+ optionGroupLabel = input("label", ...ngDevMode ? [{ debugName: "optionGroupLabel" }] : /* istanbul ignore next */ []);
818
+ optionGroupChildren = input("items", ...ngDevMode ? [{ debugName: "optionGroupChildren" }] : /* istanbul ignore next */ []);
819
+ group = input(void 0, {
820
+ ...ngDevMode ? { debugName: "group" } : /* istanbul ignore next */ {},
821
+ transform: booleanAttribute
822
+ });
823
+ showClear = input(void 0, {
824
+ ...ngDevMode ? { debugName: "showClear" } : /* istanbul ignore next */ {},
825
+ transform: booleanAttribute
826
+ });
827
+ emptyFilterMessage = input("", ...ngDevMode ? [{ debugName: "emptyFilterMessage" }] : /* istanbul ignore next */ []);
828
+ emptyMessage = input("", ...ngDevMode ? [{ debugName: "emptyMessage" }] : /* istanbul ignore next */ []);
829
+ lazy = input(false, {
830
+ ...ngDevMode ? { debugName: "lazy" } : /* istanbul ignore next */ {},
831
+ transform: booleanAttribute
832
+ });
833
+ virtualScroll = input(void 0, {
834
+ ...ngDevMode ? { debugName: "virtualScroll" } : /* istanbul ignore next */ {},
835
+ transform: booleanAttribute
836
+ });
837
+ virtualScrollItemSize = input(void 0, {
838
+ ...ngDevMode ? { debugName: "virtualScrollItemSize" } : /* istanbul ignore next */ {},
839
+ transform: numberAttribute
840
+ });
841
+ virtualScrollOptions = input(...ngDevMode ? [void 0, { debugName: "virtualScrollOptions" }] : /* istanbul ignore next */ []);
842
+ overlayOptions = input(...ngDevMode ? [void 0, { debugName: "overlayOptions" }] : /* istanbul ignore next */ []);
843
+ ariaFilterLabel = input(...ngDevMode ? [void 0, { debugName: "ariaFilterLabel" }] : /* istanbul ignore next */ []);
844
+ ariaLabel = input(...ngDevMode ? [void 0, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
845
+ ariaLabelledBy = input(...ngDevMode ? [void 0, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []);
846
+ filterMatchMode = input("contains", ...ngDevMode ? [{ debugName: "filterMatchMode" }] : /* istanbul ignore next */ []);
847
+ tooltip = input("", ...ngDevMode ? [{ debugName: "tooltip" }] : /* istanbul ignore next */ []);
848
+ tooltipPosition = input("right", ...ngDevMode ? [{ debugName: "tooltipPosition" }] : /* istanbul ignore next */ []);
849
+ tooltipPositionStyle = input("absolute", ...ngDevMode ? [{ debugName: "tooltipPositionStyle" }] : /* istanbul ignore next */ []);
850
+ tooltipStyleClass = input(...ngDevMode ? [void 0, { debugName: "tooltipStyleClass" }] : /* istanbul ignore next */ []);
851
+ focusOnHover = input(true, {
852
+ ...ngDevMode ? { debugName: "focusOnHover" } : /* istanbul ignore next */ {},
853
+ transform: booleanAttribute
854
+ });
855
+ selectOnFocus = input(false, {
856
+ ...ngDevMode ? { debugName: "selectOnFocus" } : /* istanbul ignore next */ {},
857
+ transform: booleanAttribute
858
+ });
859
+ autoOptionFocus = input(false, {
860
+ ...ngDevMode ? { debugName: "autoOptionFocus" } : /* istanbul ignore next */ {},
861
+ transform: booleanAttribute
862
+ });
863
+ autofocusFilter = input(true, {
864
+ ...ngDevMode ? { debugName: "autofocusFilter" } : /* istanbul ignore next */ {},
865
+ transform: booleanAttribute
866
+ });
867
+ filterValue = input(...ngDevMode ? [void 0, { debugName: "filterValue" }] : /* istanbul ignore next */ []);
868
+ options = input(...ngDevMode ? [void 0, { debugName: "options" }] : /* istanbul ignore next */ []);
869
+ appendTo = input(void 0, ...ngDevMode ? [{ debugName: "appendTo" }] : /* istanbul ignore next */ []);
870
+ motionOptions = input(void 0, ...ngDevMode ? [{ debugName: "motionOptions" }] : /* istanbul ignore next */ []);
871
+ onChange = output();
872
+ onFilter = output();
873
+ onFocus = output();
874
+ onBlur = output();
875
+ onClick = output();
876
+ onShow = output();
877
+ onHide = output();
878
+ onClear = output();
879
+ onLazyLoad = output();
880
+ _componentStyle = inject(SelectStyle);
881
+ filterViewChild = viewChild("filter", ...ngDevMode ? [{ debugName: "filterViewChild" }] : /* istanbul ignore next */ []);
882
+ focusInputViewChild = viewChild("focusInput", ...ngDevMode ? [{ debugName: "focusInputViewChild" }] : /* istanbul ignore next */ []);
883
+ editableInputViewChild = viewChild("editableInput", ...ngDevMode ? [{ debugName: "editableInputViewChild" }] : /* istanbul ignore next */ []);
884
+ itemsViewChild = viewChild("items", ...ngDevMode ? [{ debugName: "itemsViewChild" }] : /* istanbul ignore next */ []);
885
+ scroller = viewChild("scroller", ...ngDevMode ? [{ debugName: "scroller" }] : /* istanbul ignore next */ []);
886
+ overlayViewChild = viewChild("overlay", ...ngDevMode ? [{ debugName: "overlayViewChild" }] : /* istanbul ignore next */ []);
887
+ firstHiddenFocusableElementOnOverlay = viewChild("firstHiddenFocusableEl", ...ngDevMode ? [{ debugName: "firstHiddenFocusableElementOnOverlay" }] : /* istanbul ignore next */ []);
888
+ lastHiddenFocusableElementOnOverlay = viewChild("lastHiddenFocusableEl", ...ngDevMode ? [{ debugName: "lastHiddenFocusableElementOnOverlay" }] : /* istanbul ignore next */ []);
889
+ itemsWrapper;
890
+ $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo(), ...ngDevMode ? [{ debugName: "$appendTo" }] : /* istanbul ignore next */ []);
891
+ itemTemplate = contentChild("item", {
892
+ ...ngDevMode ? { debugName: "itemTemplate" } : /* istanbul ignore next */ {},
893
+ descendants: false
894
+ });
895
+ groupTemplate = contentChild("group", {
896
+ ...ngDevMode ? { debugName: "groupTemplate" } : /* istanbul ignore next */ {},
897
+ descendants: false
898
+ });
899
+ loaderTemplate = contentChild("loader", {
900
+ ...ngDevMode ? { debugName: "loaderTemplate" } : /* istanbul ignore next */ {},
901
+ descendants: false
902
+ });
903
+ selectedItemTemplate = contentChild("selectedItem", {
904
+ ...ngDevMode ? { debugName: "selectedItemTemplate" } : /* istanbul ignore next */ {},
905
+ descendants: false
906
+ });
907
+ headerTemplate = contentChild("header", {
908
+ ...ngDevMode ? { debugName: "headerTemplate" } : /* istanbul ignore next */ {},
909
+ descendants: false
910
+ });
911
+ filterTemplate = contentChild("filter", {
912
+ ...ngDevMode ? { debugName: "filterTemplate" } : /* istanbul ignore next */ {},
913
+ descendants: false
914
+ });
915
+ footerTemplate = contentChild("footer", {
916
+ ...ngDevMode ? { debugName: "footerTemplate" } : /* istanbul ignore next */ {},
917
+ descendants: false
918
+ });
919
+ emptyFilterTemplate = contentChild("emptyfilter", {
920
+ ...ngDevMode ? { debugName: "emptyFilterTemplate" } : /* istanbul ignore next */ {},
921
+ descendants: false
922
+ });
923
+ emptyTemplate = contentChild("empty", {
924
+ ...ngDevMode ? { debugName: "emptyTemplate" } : /* istanbul ignore next */ {},
925
+ descendants: false
926
+ });
927
+ dropdownIconTemplate = contentChild("dropdownicon", {
928
+ ...ngDevMode ? { debugName: "dropdownIconTemplate" } : /* istanbul ignore next */ {},
929
+ descendants: false
930
+ });
931
+ loadingIconTemplate = contentChild("loadingicon", {
932
+ ...ngDevMode ? { debugName: "loadingIconTemplate" } : /* istanbul ignore next */ {},
933
+ descendants: false
934
+ });
935
+ clearIconTemplate = contentChild("clearicon", {
936
+ ...ngDevMode ? { debugName: "clearIconTemplate" } : /* istanbul ignore next */ {},
937
+ descendants: false
938
+ });
939
+ filterIconTemplate = contentChild("filtericon", {
940
+ ...ngDevMode ? { debugName: "filterIconTemplate" } : /* istanbul ignore next */ {},
941
+ descendants: false
942
+ });
943
+ onIconTemplate = contentChild("onicon", {
944
+ ...ngDevMode ? { debugName: "onIconTemplate" } : /* istanbul ignore next */ {},
945
+ descendants: false
946
+ });
947
+ offIconTemplate = contentChild("officon", {
948
+ ...ngDevMode ? { debugName: "offIconTemplate" } : /* istanbul ignore next */ {},
949
+ descendants: false
950
+ });
951
+ cancelIconTemplate = contentChild("cancelicon", {
952
+ ...ngDevMode ? { debugName: "cancelIconTemplate" } : /* istanbul ignore next */ {},
953
+ descendants: false
954
+ });
955
+ templates = contentChildren(HelixTemplate, ...ngDevMode ? [{ debugName: "templates" }] : /* istanbul ignore next */ []);
956
+ _itemTemplate;
957
+ _selectedItemTemplate;
958
+ _headerTemplate;
959
+ _filterTemplate;
960
+ _footerTemplate;
961
+ _emptyFilterTemplate;
962
+ _emptyTemplate;
963
+ _groupTemplate;
964
+ _loaderTemplate;
965
+ _dropdownIconTemplate;
966
+ _loadingIconTemplate;
967
+ _clearIconTemplate;
968
+ _filterIconTemplate;
969
+ _cancelIconTemplate;
970
+ _onIconTemplate;
971
+ _offIconTemplate;
972
+ filterOptions;
973
+ _options = signal(null, ...ngDevMode ? [{ debugName: "_options" }] : /* istanbul ignore next */ []);
974
+ value;
975
+ hover;
976
+ focused;
977
+ overlayVisible;
978
+ optionsChanged;
979
+ panel;
980
+ dimensionsUpdated;
981
+ hoveredItem;
982
+ selectedOptionUpdated;
983
+ _filterValue = signal(null, ...ngDevMode ? [{ debugName: "_filterValue" }] : /* istanbul ignore next */ []);
984
+ searchValue;
985
+ searchIndex;
986
+ searchTimeout;
987
+ previousSearchChar;
988
+ currentSearchChar;
989
+ preventModelTouched;
990
+ focusedOptionIndex = signal(-1, ...ngDevMode ? [{ debugName: "focusedOptionIndex" }] : /* istanbul ignore next */ []);
991
+ labelId;
992
+ listId;
993
+ clicked = signal(false, ...ngDevMode ? [{ debugName: "clicked" }] : /* istanbul ignore next */ []);
994
+ get emptyMessageLabel() {
995
+ return this.emptyMessage() || this.config.getTranslation(TranslationKeys.EMPTY_MESSAGE);
996
+ }
997
+ get emptyFilterMessageLabel() {
998
+ return this.emptyFilterMessage() || this.config.getTranslation(TranslationKeys.EMPTY_FILTER_MESSAGE);
999
+ }
1000
+ get isVisibleClearIcon() {
1001
+ return this.modelValue() != null && this.hasSelectedOption() && this.showClear() && !this.$disabled();
1002
+ }
1003
+ get listLabel() {
1004
+ return this.config.getTranslation(TranslationKeys.ARIA)["listLabel"];
1005
+ }
1006
+ get focusedOptionId() {
1007
+ return this.focusedOptionIndex() !== -1 ? `${this.id()}_${this.focusedOptionIndex()}` : null;
1008
+ }
1009
+ visibleOptions = computed(() => {
1010
+ const options = this.getAllVisibleAndNonVisibleOptions();
1011
+ if (this._filterValue()) {
1012
+ const filteredOptions = !(this.filterBy() || this.optionLabel()) && !this.filterFields() && !this.optionValue() ? this.options()?.filter((option) => {
1013
+ if (option.label) return option.label.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()) !== -1;
1014
+ return option.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()) !== -1;
1015
+ }) : this.filterService.filter(options, this.searchFields(), this._filterValue().trim(), this.filterMatchMode(), this.filterLocale());
1016
+ if (this.group()) {
1017
+ const optionGroups = this.options() || [];
1018
+ const filtered = [];
1019
+ optionGroups.forEach((group) => {
1020
+ const filteredItems = this.getOptionGroupChildren(group).filter((item) => filteredOptions?.includes(item));
1021
+ const optionGroupChildren = this.optionGroupChildren();
1022
+ if (filteredItems.length > 0) filtered.push({
1023
+ ...group,
1024
+ [typeof optionGroupChildren === "string" ? optionGroupChildren : "items"]: [...filteredItems]
1025
+ });
1026
+ });
1027
+ return this.flatOptions(filtered);
1028
+ }
1029
+ return filteredOptions;
1030
+ }
1031
+ return options;
1032
+ }, ...ngDevMode ? [{ debugName: "visibleOptions" }] : /* istanbul ignore next */ []);
1033
+ label = computed(() => {
1034
+ const options = this.getAllVisibleAndNonVisibleOptions();
1035
+ const selectedOptionIndex = options.findIndex((option) => {
1036
+ return this.isOptionValueEqualsModelValue(option);
1037
+ });
1038
+ if (selectedOptionIndex !== -1) {
1039
+ const selectedOption = options[selectedOptionIndex];
1040
+ return this.getOptionLabel(selectedOption);
1041
+ }
1042
+ return this.placeholder() || "h-emptylabel";
1043
+ }, ...ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []);
1044
+ selectedOption;
1045
+ constructor(zone, filterService) {
1046
+ super();
1047
+ this.zone = zone;
1048
+ this.filterService = filterService;
1049
+ effect(() => {
1050
+ const modelValue = this.modelValue();
1051
+ const visibleOptions = this.visibleOptions();
1052
+ const editable = this.editable();
1053
+ if (visibleOptions && isNotEmpty(visibleOptions)) {
1054
+ const selectedOptionIndex = this.findSelectedOptionIndex();
1055
+ if (selectedOptionIndex !== -1 || modelValue === void 0 || typeof modelValue === "string" && modelValue.length === 0 || this.isModelValueNotSet() || editable) this.selectedOption = visibleOptions[selectedOptionIndex];
1056
+ else {
1057
+ const disabledSelectedIndex = visibleOptions.findIndex((option) => this.isSelected(option));
1058
+ if (disabledSelectedIndex !== -1) this.selectedOption = visibleOptions[disabledSelectedIndex];
1059
+ }
1060
+ }
1061
+ if (isEmpty(visibleOptions) && (modelValue === void 0 || this.isModelValueNotSet()) && isNotEmpty(this.selectedOption)) this.selectedOption = null;
1062
+ if (modelValue !== void 0 && editable) this.updateEditableLabel();
1063
+ this.cd.markForCheck();
1064
+ });
1065
+ effect(() => {
1066
+ const val = this.filterValue();
1067
+ if (val !== void 0) this._filterValue.set(val);
1068
+ });
1069
+ }
1070
+ isModelValueNotSet() {
1071
+ return this.modelValue() === null && !this.isOptionValueEqualsModelValue(this.selectedOption);
1072
+ }
1073
+ getAllVisibleAndNonVisibleOptions() {
1074
+ return this.group() ? this.flatOptions(this.options()) : this.options() || [];
1075
+ }
1076
+ onInit() {
1077
+ if (!this.id()) this.id.set(uuid("pn_id_"));
1078
+ this.autoUpdateModel();
1079
+ if (this.filterBy()) this.filterOptions = {
1080
+ filter: (value) => this.onFilterInputChange(value),
1081
+ reset: () => this.resetFilter()
1082
+ };
1083
+ }
1084
+ onAfterContentInit() {
1085
+ this.templates().forEach((item) => {
1086
+ switch (item.getType()) {
1087
+ case "item":
1088
+ this._itemTemplate = item.template;
1089
+ break;
1090
+ case "selectedItem":
1091
+ this._selectedItemTemplate = item.template;
1092
+ break;
1093
+ case "header":
1094
+ this._headerTemplate = item.template;
1095
+ break;
1096
+ case "filter":
1097
+ this._filterTemplate = item.template;
1098
+ break;
1099
+ case "footer":
1100
+ this._footerTemplate = item.template;
1101
+ break;
1102
+ case "emptyfilter":
1103
+ this._emptyFilterTemplate = item.template;
1104
+ break;
1105
+ case "empty":
1106
+ this._emptyTemplate = item.template;
1107
+ break;
1108
+ case "group":
1109
+ this._groupTemplate = item.template;
1110
+ break;
1111
+ case "loader":
1112
+ this._loaderTemplate = item.template;
1113
+ break;
1114
+ case "dropdownicon":
1115
+ this._dropdownIconTemplate = item.template;
1116
+ break;
1117
+ case "loadingicon":
1118
+ this._loadingIconTemplate = item.template;
1119
+ break;
1120
+ case "clearicon":
1121
+ this._clearIconTemplate = item.template;
1122
+ break;
1123
+ case "filtericon":
1124
+ this._filterIconTemplate = item.template;
1125
+ break;
1126
+ case "cancelicon":
1127
+ this._cancelIconTemplate = item.template;
1128
+ break;
1129
+ case "onicon":
1130
+ this._onIconTemplate = item.template;
1131
+ break;
1132
+ case "officon":
1133
+ this._offIconTemplate = item.template;
1134
+ break;
1135
+ default:
1136
+ this._itemTemplate = item.template;
1137
+ break;
1138
+ }
1139
+ });
1140
+ }
1141
+ onAfterViewChecked() {
1142
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
1143
+ if (this.optionsChanged && this.overlayVisible) {
1144
+ this.optionsChanged = false;
1145
+ this.zone.runOutsideAngular(() => {
1146
+ setTimeout(() => {
1147
+ if (this.overlayViewChild()) this.overlayViewChild().alignOverlay();
1148
+ }, 1);
1149
+ });
1150
+ }
1151
+ if (this.selectedOptionUpdated && this.itemsWrapper) {
1152
+ let selectedItem = findSingle(this.overlayViewChild()?.overlayViewChild()?.nativeElement, "li[data-h-selected=\"true\"]");
1153
+ if (selectedItem) scrollInView(this.itemsWrapper, selectedItem);
1154
+ this.selectedOptionUpdated = false;
1155
+ }
1156
+ }
1157
+ flatOptions(options) {
1158
+ return (options || []).reduce((result, option, index) => {
1159
+ result.push({
1160
+ optionGroup: option,
1161
+ group: true,
1162
+ index
1163
+ });
1164
+ const optionGroupChildren = this.getOptionGroupChildren(option);
1165
+ optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));
1166
+ return result;
1167
+ }, []);
1168
+ }
1169
+ autoUpdateModel() {
1170
+ if (this.selectOnFocus() && this.autoOptionFocus() && !this.hasSelectedOption()) {
1171
+ this.focusedOptionIndex.set(this.findFirstFocusedOptionIndex());
1172
+ this.onOptionSelect(null, this.visibleOptions()[this.focusedOptionIndex()], false);
1173
+ }
1174
+ }
1175
+ onOptionSelect(event, option, isHide = true, preventChange = false) {
1176
+ if (this.isOptionDisabled(option)) return;
1177
+ if (!this.isSelected(option)) {
1178
+ const value = this.getOptionValue(option);
1179
+ this.updateModel(value, event);
1180
+ this.focusedOptionIndex.set(this.findSelectedOptionIndex());
1181
+ preventChange === false && this.onChange.emit({
1182
+ originalEvent: event,
1183
+ value
1184
+ });
1185
+ }
1186
+ if (isHide) this.hide(true);
1187
+ }
1188
+ onOptionMouseEnter(event, index) {
1189
+ if (this.focusOnHover()) this.changeFocusedOptionIndex(event, index);
1190
+ }
1191
+ updateModel(value, event) {
1192
+ this.value = value;
1193
+ this.onModelChange(value);
1194
+ this.writeModelValue(value);
1195
+ this.selectedOptionUpdated = true;
1196
+ }
1197
+ allowModelChange() {
1198
+ return !!this.modelValue() && !this.placeholder() && (this.modelValue() === void 0 || this.modelValue() === null) && !this.editable() && this.options() && this.options()?.length;
1199
+ }
1200
+ isSelected(option) {
1201
+ return this.isOptionValueEqualsModelValue(option);
1202
+ }
1203
+ isOptionValueEqualsModelValue(option) {
1204
+ return option !== void 0 && option !== null && !this.isOptionGroup(option) && equals(this.modelValue(), this.getOptionValue(option), this.equalityKey());
1205
+ }
1206
+ onAfterViewInit() {
1207
+ if (this.editable()) this.updateEditableLabel();
1208
+ this.updatePlaceHolderForFloatingLabel();
1209
+ }
1210
+ updatePlaceHolderForFloatingLabel() {
1211
+ const parentElement = this.el.nativeElement.parentElement;
1212
+ const isInFloatingLabel = parentElement?.classList.contains("h-float-label");
1213
+ if (parentElement && isInFloatingLabel && !this.selectedOption) {
1214
+ const label = parentElement.querySelector("label");
1215
+ if (label) this.placeholder.set(label.textContent);
1216
+ }
1217
+ }
1218
+ updateEditableLabel() {
1219
+ if (this.editableInputViewChild()) this.editableInputViewChild().nativeElement.value = this.getOptionLabel(this.selectedOption) || this.modelValue() || "";
1220
+ }
1221
+ clearEditableLabel() {
1222
+ if (this.editableInputViewChild()) this.editableInputViewChild().nativeElement.value = "";
1223
+ }
1224
+ getOptionIndex(index, scrollerOptions) {
1225
+ return this.virtualScrollerDisabled ? index : scrollerOptions && scrollerOptions.getItemOptions(index)["index"];
1226
+ }
1227
+ getOptionLabel(option) {
1228
+ const optionLabel = this.optionLabel();
1229
+ return optionLabel !== void 0 && optionLabel !== null ? resolveFieldData(option, optionLabel) : option && option.label !== void 0 ? option.label : option;
1230
+ }
1231
+ getOptionValue(option) {
1232
+ const optionValue = this.optionValue();
1233
+ return optionValue && optionValue !== null ? resolveFieldData(option, optionValue) : !this.optionLabel() && option && option.value !== void 0 ? option.value : option;
1234
+ }
1235
+ getPTItemOptions(option, itemOptions, index, key) {
1236
+ return this.ptm(key, { context: {
1237
+ option,
1238
+ index,
1239
+ selected: this.isSelected(option),
1240
+ focused: this.focusedOptionIndex() === this.getOptionIndex(index, itemOptions),
1241
+ disabled: this.isOptionDisabled(option)
1242
+ } });
1243
+ }
1244
+ isSelectedOptionEmpty() {
1245
+ return isEmpty(this.selectedOption);
1246
+ }
1247
+ isOptionDisabled(option) {
1248
+ const optionDisabled = this.optionDisabled();
1249
+ return optionDisabled ? resolveFieldData(option, optionDisabled) : option && option.disabled !== void 0 ? option.disabled : false;
1250
+ }
1251
+ getOptionGroupLabel(optionGroup) {
1252
+ const optionGroupLabel = this.optionGroupLabel();
1253
+ return optionGroupLabel !== void 0 && optionGroupLabel !== null ? resolveFieldData(optionGroup, optionGroupLabel) : optionGroup && optionGroup.label !== void 0 ? optionGroup.label : optionGroup;
1254
+ }
1255
+ getOptionGroupChildren(optionGroup) {
1256
+ const optionGroupChildren = this.optionGroupChildren();
1257
+ return optionGroupChildren !== void 0 && optionGroupChildren !== null ? resolveFieldData(optionGroup, optionGroupChildren) : optionGroup.items;
1258
+ }
1259
+ getAriaPosInset(index) {
1260
+ return (this.optionGroupLabel() ? index - this.visibleOptions().slice(0, index).filter((option) => this.isOptionGroup(option)).length : index) + 1;
1261
+ }
1262
+ get ariaSetSize() {
1263
+ return this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length;
1264
+ }
1265
+ resetFilter() {
1266
+ this._filterValue.set(null);
1267
+ if (this.filterViewChild() && this.filterViewChild()?.nativeElement) this.filterViewChild().nativeElement.value = "";
1268
+ }
1269
+ onContainerClick(event) {
1270
+ if (this.$disabled() || this.readonly() || this.loading()) return;
1271
+ if (event.target.tagName === "INPUT" || event.target.getAttribute("data-pc-section") === "clearicon" || event.target.closest("[data-pc-section=\"clearicon\"]")) return;
1272
+ else if (!this.overlayViewChild() || !this.overlayViewChild().el.nativeElement.contains(event.target)) this.overlayVisible ? this.hide(true) : this.show(true);
1273
+ this.focusInputViewChild()?.nativeElement.focus({ preventScroll: true });
1274
+ this.onClick.emit(event);
1275
+ this.clicked.set(true);
1276
+ this.cd.detectChanges();
1277
+ }
1278
+ isEmpty() {
1279
+ return !this.options() || this.visibleOptions() && this.visibleOptions().length === 0;
1280
+ }
1281
+ onEditableInput(event) {
1282
+ const value = event.target.value;
1283
+ this.searchValue = "";
1284
+ !this.searchOptions(event, value) && this.focusedOptionIndex.set(-1);
1285
+ this.onModelChange(value);
1286
+ this.updateModel(value || null, event);
1287
+ setTimeout(() => {
1288
+ this.onChange.emit({
1289
+ originalEvent: event,
1290
+ value
1291
+ });
1292
+ }, 1);
1293
+ !this.overlayVisible && isNotEmpty(value) && this.show();
1294
+ }
1295
+ show(isFocus) {
1296
+ this.overlayVisible = true;
1297
+ this.focusedOptionIndex.set(this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : this.editable() ? -1 : this.findSelectedOptionIndex());
1298
+ if (isFocus) focus(this.focusInputViewChild()?.nativeElement);
1299
+ this.cd.markForCheck();
1300
+ }
1301
+ onOverlayBeforeEnter(event) {
1302
+ this.itemsWrapper = findSingle(this.overlayViewChild()?.overlayViewChild()?.nativeElement, this.virtualScroll() ? "[data-pc-name=\"virtualscroller\"]" : "[data-pc-section=\"listcontainer\"]");
1303
+ this.virtualScroll() && this.scroller()?.setContentEl(this.itemsViewChild()?.nativeElement);
1304
+ if (this.options() && this.options()?.length) if (this.virtualScroll()) {
1305
+ const selectedIndex = this.modelValue() ? this.focusedOptionIndex() : -1;
1306
+ if (selectedIndex !== -1) setTimeout(() => {
1307
+ this.scroller()?.scrollToIndex(selectedIndex);
1308
+ }, 10);
1309
+ } else {
1310
+ let selectedListItem = findSingle(this.itemsWrapper, "[data-h-selected=\"true\"]");
1311
+ if (selectedListItem) selectedListItem.scrollIntoView({
1312
+ block: "nearest",
1313
+ inline: "nearest"
1314
+ });
1315
+ }
1316
+ if (this.filterViewChild() && this.filterViewChild()?.nativeElement) {
1317
+ this.preventModelTouched = true;
1318
+ if (this.autofocusFilter() && !this.editable()) this.filterViewChild().nativeElement.focus();
1319
+ }
1320
+ this.onShow.emit(event);
1321
+ }
1322
+ onOverlayAfterLeave(event) {
1323
+ this.itemsWrapper = null;
1324
+ this.onModelTouched();
1325
+ this.onHide.emit(event);
1326
+ }
1327
+ hide(isFocus) {
1328
+ this.overlayVisible = false;
1329
+ this.focusedOptionIndex.set(-1);
1330
+ this.clicked.set(false);
1331
+ this.searchValue = "";
1332
+ if (this.overlayOptions()?.mode === "modal") unblockBodyScroll();
1333
+ if (this.filter() && this.resetFilterOnHide()) this.resetFilter();
1334
+ if (isFocus) {
1335
+ if (this.focusInputViewChild()) focus(this.focusInputViewChild()?.nativeElement);
1336
+ if (this.editable() && this.editableInputViewChild()) focus(this.editableInputViewChild()?.nativeElement);
1337
+ }
1338
+ this.cd.markForCheck();
1339
+ }
1340
+ onInputFocus(event) {
1341
+ if (this.$disabled()) return;
1342
+ this.focused = true;
1343
+ const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.overlayVisible && this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;
1344
+ this.focusedOptionIndex.set(focusedOptionIndex);
1345
+ this.overlayVisible && this.scrollInView(this.focusedOptionIndex());
1346
+ this.onFocus.emit(event);
1347
+ }
1348
+ onInputBlur(event) {
1349
+ this.focused = false;
1350
+ this.onBlur.emit(event);
1351
+ if (!this.preventModelTouched && !this.overlayVisible) this.onModelTouched();
1352
+ this.preventModelTouched = false;
1353
+ }
1354
+ onKeyDown(event, search = false) {
1355
+ if (this.$disabled() || this.readonly() || this.loading()) return;
1356
+ switch (event.code) {
1357
+ case "ArrowDown":
1358
+ this.onArrowDownKey(event);
1359
+ break;
1360
+ case "ArrowUp":
1361
+ this.onArrowUpKey(event, this.editable());
1362
+ break;
1363
+ case "ArrowLeft":
1364
+ case "ArrowRight":
1365
+ this.onArrowLeftKey(event, this.editable());
1366
+ break;
1367
+ case "Delete":
1368
+ this.onDeleteKey(event);
1369
+ break;
1370
+ case "Home":
1371
+ this.onHomeKey(event, this.editable());
1372
+ break;
1373
+ case "End":
1374
+ this.onEndKey(event, this.editable());
1375
+ break;
1376
+ case "PageDown":
1377
+ this.onPageDownKey(event);
1378
+ break;
1379
+ case "PageUp":
1380
+ this.onPageUpKey(event);
1381
+ break;
1382
+ case "Space":
1383
+ this.onSpaceKey(event, search);
1384
+ break;
1385
+ case "Enter":
1386
+ case "NumpadEnter":
1387
+ this.onEnterKey(event);
1388
+ break;
1389
+ case "Escape":
1390
+ this.onEscapeKey(event);
1391
+ break;
1392
+ case "Tab":
1393
+ this.onTabKey(event);
1394
+ break;
1395
+ case "Backspace":
1396
+ this.onBackspaceKey(event, this.editable());
1397
+ break;
1398
+ case "ShiftLeft":
1399
+ case "ShiftRight": break;
1400
+ default:
1401
+ if (!event.metaKey && isPrintableCharacter(event.key)) {
1402
+ !this.overlayVisible && this.show();
1403
+ !this.editable() && this.searchOptions(event, event.key);
1404
+ }
1405
+ break;
1406
+ }
1407
+ this.clicked.set(false);
1408
+ }
1409
+ onFilterKeyDown(event) {
1410
+ switch (event.code) {
1411
+ case "ArrowDown":
1412
+ this.onArrowDownKey(event);
1413
+ break;
1414
+ case "ArrowUp":
1415
+ this.onArrowUpKey(event, true);
1416
+ break;
1417
+ case "ArrowLeft":
1418
+ case "ArrowRight":
1419
+ this.onArrowLeftKey(event, true);
1420
+ break;
1421
+ case "Home":
1422
+ this.onHomeKey(event, true);
1423
+ break;
1424
+ case "End":
1425
+ this.onEndKey(event, true);
1426
+ break;
1427
+ case "Enter":
1428
+ case "NumpadEnter":
1429
+ this.onEnterKey(event, true);
1430
+ break;
1431
+ case "Escape":
1432
+ this.onEscapeKey(event);
1433
+ break;
1434
+ case "Tab":
1435
+ this.onTabKey(event, true);
1436
+ break;
1437
+ default: break;
1438
+ }
1439
+ }
1440
+ onFilterBlur(event) {
1441
+ this.focusedOptionIndex.set(-1);
1442
+ }
1443
+ onArrowDownKey(event) {
1444
+ if (!this.overlayVisible) {
1445
+ this.show();
1446
+ this.editable() && this.changeFocusedOptionIndex(event, this.findSelectedOptionIndex());
1447
+ } else {
1448
+ const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.clicked() ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex();
1449
+ this.changeFocusedOptionIndex(event, optionIndex);
1450
+ }
1451
+ event.preventDefault();
1452
+ event.stopPropagation();
1453
+ }
1454
+ changeFocusedOptionIndex(event, index) {
1455
+ if (this.focusedOptionIndex() !== index) {
1456
+ this.focusedOptionIndex.set(index);
1457
+ this.scrollInView();
1458
+ if (this.selectOnFocus()) {
1459
+ const option = this.visibleOptions()[index];
1460
+ this.onOptionSelect(event, option, false);
1461
+ }
1462
+ }
1463
+ }
1464
+ get virtualScrollerDisabled() {
1465
+ return !this.virtualScroll();
1466
+ }
1467
+ scrollInView(index = -1) {
1468
+ const id = index !== -1 ? `${this.id()}_${index}` : this.focusedOptionId;
1469
+ if (this.itemsViewChild() && this.itemsViewChild()?.nativeElement) {
1470
+ const element = findSingle(this.itemsViewChild().nativeElement, `li[id="${id}"]`);
1471
+ if (element) element.scrollIntoView && element.scrollIntoView({
1472
+ block: "nearest",
1473
+ inline: "nearest"
1474
+ });
1475
+ else if (!this.virtualScrollerDisabled) setTimeout(() => {
1476
+ this.virtualScroll() && this.scroller()?.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());
1477
+ }, 0);
1478
+ }
1479
+ }
1480
+ hasSelectedOption() {
1481
+ return this.modelValue() !== void 0;
1482
+ }
1483
+ isValidSelectedOption(option) {
1484
+ return this.isValidOption(option) && this.isSelected(option);
1485
+ }
1486
+ equalityKey() {
1487
+ return this.optionValue() ? void 0 : this.dataKey();
1488
+ }
1489
+ findFirstFocusedOptionIndex() {
1490
+ const selectedIndex = this.findSelectedOptionIndex();
1491
+ return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;
1492
+ }
1493
+ findFirstOptionIndex() {
1494
+ return this.visibleOptions().findIndex((option) => this.isValidOption(option));
1495
+ }
1496
+ findSelectedOptionIndex() {
1497
+ return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;
1498
+ }
1499
+ findNextOptionIndex(index) {
1500
+ const matchedOptionIndex = index < this.visibleOptions().length - 1 ? this.visibleOptions().slice(index + 1).findIndex((option) => this.isValidOption(option)) : -1;
1501
+ return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;
1502
+ }
1503
+ findPrevOptionIndex(index) {
1504
+ const matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidOption(option)) : -1;
1505
+ return matchedOptionIndex > -1 ? matchedOptionIndex : index;
1506
+ }
1507
+ findLastOptionIndex() {
1508
+ return findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));
1509
+ }
1510
+ findLastFocusedOptionIndex() {
1511
+ const selectedIndex = this.findSelectedOptionIndex();
1512
+ return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;
1513
+ }
1514
+ isValidOption(option) {
1515
+ return option !== void 0 && option !== null && !(this.isOptionDisabled(option) || this.isOptionGroup(option));
1516
+ }
1517
+ isOptionGroup(option) {
1518
+ const optionGroupLabel = this.optionGroupLabel();
1519
+ return optionGroupLabel !== void 0 && optionGroupLabel !== null && option.optionGroup !== void 0 && option.optionGroup !== null && option.group;
1520
+ }
1521
+ onArrowUpKey(event, pressedInInputText = false) {
1522
+ if (event.altKey && !pressedInInputText) {
1523
+ if (this.focusedOptionIndex() !== -1) {
1524
+ const option = this.visibleOptions()[this.focusedOptionIndex()];
1525
+ this.onOptionSelect(event, option);
1526
+ }
1527
+ this.overlayVisible && this.hide();
1528
+ } else {
1529
+ const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.clicked() ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex();
1530
+ this.changeFocusedOptionIndex(event, optionIndex);
1531
+ !this.overlayVisible && this.show();
1532
+ }
1533
+ event.preventDefault();
1534
+ event.stopPropagation();
1535
+ }
1536
+ onArrowLeftKey(event, pressedInInputText = false) {
1537
+ pressedInInputText && this.focusedOptionIndex.set(-1);
1538
+ }
1539
+ onDeleteKey(event) {
1540
+ if (this.showClear()) {
1541
+ this.clear(event);
1542
+ event.preventDefault();
1543
+ }
1544
+ }
1545
+ onHomeKey(event, pressedInInputText = false) {
1546
+ if (pressedInInputText && event.currentTarget && event.currentTarget.setSelectionRange) {
1547
+ const target = event.currentTarget;
1548
+ if (event.shiftKey) target.setSelectionRange(0, target.value.length);
1549
+ else {
1550
+ target.setSelectionRange(0, 0);
1551
+ this.focusedOptionIndex.set(-1);
1552
+ }
1553
+ } else {
1554
+ this.changeFocusedOptionIndex(event, this.findFirstOptionIndex());
1555
+ !this.overlayVisible && this.show();
1556
+ }
1557
+ event.preventDefault();
1558
+ }
1559
+ onEndKey(event, pressedInInputText = false) {
1560
+ if (pressedInInputText && event.currentTarget && event.currentTarget.setSelectionRange) {
1561
+ const target = event.currentTarget;
1562
+ if (event.shiftKey) target.setSelectionRange(0, target.value.length);
1563
+ else {
1564
+ const len = target.value.length;
1565
+ target.setSelectionRange(len, len);
1566
+ this.focusedOptionIndex.set(-1);
1567
+ }
1568
+ } else {
1569
+ this.changeFocusedOptionIndex(event, this.findLastOptionIndex());
1570
+ !this.overlayVisible && this.show();
1571
+ }
1572
+ event.preventDefault();
1573
+ }
1574
+ onPageDownKey(event) {
1575
+ this.scrollInView(this.visibleOptions().length - 1);
1576
+ event.preventDefault();
1577
+ }
1578
+ onPageUpKey(event) {
1579
+ this.scrollInView(0);
1580
+ event.preventDefault();
1581
+ }
1582
+ onSpaceKey(event, pressedInInputText = false) {
1583
+ !this.editable() && !pressedInInputText && this.onEnterKey(event);
1584
+ }
1585
+ onEnterKey(event, pressedInInput = false) {
1586
+ if (!this.overlayVisible) {
1587
+ this.focusedOptionIndex.set(-1);
1588
+ this.onArrowDownKey(event);
1589
+ } else {
1590
+ if (this.focusedOptionIndex() !== -1) {
1591
+ const option = this.visibleOptions()[this.focusedOptionIndex()];
1592
+ this.onOptionSelect(event, option);
1593
+ }
1594
+ !pressedInInput && this.hide();
1595
+ }
1596
+ event.preventDefault();
1597
+ }
1598
+ onEscapeKey(event) {
1599
+ if (this.overlayVisible) {
1600
+ this.hide(true);
1601
+ event.preventDefault();
1602
+ event.stopPropagation();
1603
+ }
1604
+ }
1605
+ onTabKey(event, pressedInInputText = false) {
1606
+ if (!pressedInInputText) if (this.overlayVisible && this.hasFocusableElements()) {
1607
+ focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay()?.nativeElement : this.firstHiddenFocusableElementOnOverlay()?.nativeElement);
1608
+ event.preventDefault();
1609
+ } else {
1610
+ if (this.focusedOptionIndex() !== -1 && this.overlayVisible) {
1611
+ const option = this.visibleOptions()[this.focusedOptionIndex()];
1612
+ this.onOptionSelect(event, option);
1613
+ }
1614
+ this.overlayVisible && this.hide(this.filter());
1615
+ }
1616
+ event.stopPropagation();
1617
+ }
1618
+ onFirstHiddenFocus(event) {
1619
+ focus(event.relatedTarget === this.focusInputViewChild()?.nativeElement ? getFirstFocusableElement(this.overlayViewChild()?.el?.nativeElement, ":not([data-h-hidden-focusable=\"true\"])") : this.focusInputViewChild()?.nativeElement);
1620
+ }
1621
+ onLastHiddenFocus(event) {
1622
+ focus(event.relatedTarget === this.focusInputViewChild()?.nativeElement ? getLastFocusableElement(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ":not([data-h-hidden-focusable=\"true\"])") : this.focusInputViewChild()?.nativeElement);
1623
+ }
1624
+ hasFocusableElements() {
1625
+ return getFocusableElements(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ":not([data-h-hidden-focusable=\"true\"])").length > 0;
1626
+ }
1627
+ onBackspaceKey(event, pressedInInputText = false) {
1628
+ if (pressedInInputText) !this.overlayVisible && this.show();
1629
+ }
1630
+ searchFields() {
1631
+ return this.filterBy()?.split(",") || this.filterFields() || [this.optionLabel()];
1632
+ }
1633
+ searchOptions(event, char) {
1634
+ this.searchValue = (this.searchValue || "") + char;
1635
+ let optionIndex = -1;
1636
+ let matched = false;
1637
+ optionIndex = this.visibleOptions().findIndex((option) => this.isOptionMatched(option));
1638
+ if (optionIndex !== -1) matched = true;
1639
+ if (optionIndex === -1 && this.focusedOptionIndex() === -1) optionIndex = this.findFirstFocusedOptionIndex();
1640
+ if (optionIndex !== -1) setTimeout(() => {
1641
+ this.changeFocusedOptionIndex(event, optionIndex);
1642
+ });
1643
+ if (this.searchTimeout) clearTimeout(this.searchTimeout);
1644
+ this.searchTimeout = setTimeout(() => {
1645
+ this.searchValue = "";
1646
+ this.searchTimeout = null;
1647
+ }, 500);
1648
+ return matched;
1649
+ }
1650
+ isOptionMatched(option) {
1651
+ return this.isValidOption(option) && this.getOptionLabel(option).toString().toLocaleLowerCase(this.filterLocale()).startsWith(this.searchValue?.toLocaleLowerCase(this.filterLocale()));
1652
+ }
1653
+ onFilterInputChange(event) {
1654
+ let value = event.target.value;
1655
+ this._filterValue.set(value);
1656
+ this.focusedOptionIndex.set(-1);
1657
+ this.onFilter.emit({
1658
+ originalEvent: event,
1659
+ filter: this._filterValue()
1660
+ });
1661
+ !this.virtualScrollerDisabled && this.scroller()?.scrollToIndex(0);
1662
+ setTimeout(() => {
1663
+ this.overlayViewChild()?.alignOverlay();
1664
+ });
1665
+ this.cd.markForCheck();
1666
+ }
1667
+ applyFocus() {
1668
+ if (this.editable()) findSingle(this.el.nativeElement, "[data-pc-section=\"label\"]").focus();
1669
+ else focus(this.focusInputViewChild()?.nativeElement);
1670
+ }
1671
+ focus() {
1672
+ this.applyFocus();
1673
+ }
1674
+ clear(event) {
1675
+ this.updateModel(null, event);
1676
+ this.clearEditableLabel();
1677
+ this.onModelTouched();
1678
+ this.onChange.emit({
1679
+ originalEvent: event,
1680
+ value: this.value
1681
+ });
1682
+ this.onClear.emit(event);
1683
+ this.resetFilter();
1684
+ }
1685
+ writeControlValue(value, setModelValue) {
1686
+ if (this.filter()) this.resetFilter();
1687
+ this.value = value;
1688
+ this.allowModelChange() && this.onModelChange(value);
1689
+ setModelValue(this.value);
1690
+ this.updateEditableLabel();
1691
+ this.cd.markForCheck();
1692
+ }
1693
+ get containerDataP() {
1694
+ return this.cn({
1695
+ invalid: this.invalid(),
1696
+ disabled: this.$disabled(),
1697
+ focus: this.focused,
1698
+ fluid: this.hasFluid,
1699
+ filled: this.$variant() === "filled",
1700
+ [this.size()]: this.size()
1701
+ });
1702
+ }
1703
+ get labelDataP() {
1704
+ return this.cn({
1705
+ placeholder: this.label === this.placeholder,
1706
+ clearable: this.showClear(),
1707
+ disabled: this.$disabled(),
1708
+ [this.size()]: this.size(),
1709
+ empty: !this.editable() && !this.selectedItemTemplate() && (!this.label?.() || this.label() === "h-emptylabel" || this.label()?.length === 0)
1710
+ });
1711
+ }
1712
+ get dropdownIconDataP() {
1713
+ return this.cn({ [this.size()]: this.size() });
1714
+ }
1715
+ get overlayDataP() {
1716
+ return this.cn({ ["overlay-" + this.$appendTo()]: "overlay-" + this.$appendTo() });
1717
+ }
1718
+ static ɵfac = i0.ɵɵngDeclareFactory({
1719
+ minVersion: "12.0.0",
1720
+ version: "22.2.1",
1721
+ ngImport: i0,
1722
+ type: Select,
1723
+ deps: [{ token: i0.NgZone }, { token: i3.FilterService }],
1724
+ target: i0.ɵɵFactoryTarget.Component
1725
+ });
1726
+ static ɵcmp = i0.ɵɵngDeclareComponent({
1727
+ minVersion: "17.0.0",
1728
+ version: "22.2.1",
1729
+ type: Select,
1730
+ isStandalone: true,
1731
+ selector: "h-select",
1732
+ inputs: {
1733
+ id: {
1734
+ classPropertyName: "id",
1735
+ publicName: "id",
1736
+ isSignal: true,
1737
+ isRequired: false,
1738
+ transformFunction: null
1739
+ },
1740
+ scrollHeight: {
1741
+ classPropertyName: "scrollHeight",
1742
+ publicName: "scrollHeight",
1743
+ isSignal: true,
1744
+ isRequired: false,
1745
+ transformFunction: null
1746
+ },
1747
+ filter: {
1748
+ classPropertyName: "filter",
1749
+ publicName: "filter",
1750
+ isSignal: true,
1751
+ isRequired: false,
1752
+ transformFunction: null
1753
+ },
1754
+ panelStyle: {
1755
+ classPropertyName: "panelStyle",
1756
+ publicName: "panelStyle",
1757
+ isSignal: true,
1758
+ isRequired: false,
1759
+ transformFunction: null
1760
+ },
1761
+ styleClass: {
1762
+ classPropertyName: "styleClass",
1763
+ publicName: "styleClass",
1764
+ isSignal: true,
1765
+ isRequired: false,
1766
+ transformFunction: null
1767
+ },
1768
+ panelStyleClass: {
1769
+ classPropertyName: "panelStyleClass",
1770
+ publicName: "panelStyleClass",
1771
+ isSignal: true,
1772
+ isRequired: false,
1773
+ transformFunction: null
1774
+ },
1775
+ readonly: {
1776
+ classPropertyName: "readonly",
1777
+ publicName: "readonly",
1778
+ isSignal: true,
1779
+ isRequired: false,
1780
+ transformFunction: null
1781
+ },
1782
+ editable: {
1783
+ classPropertyName: "editable",
1784
+ publicName: "editable",
1785
+ isSignal: true,
1786
+ isRequired: false,
1787
+ transformFunction: null
1788
+ },
1789
+ tabindex: {
1790
+ classPropertyName: "tabindex",
1791
+ publicName: "tabindex",
1792
+ isSignal: true,
1793
+ isRequired: false,
1794
+ transformFunction: null
1795
+ },
1796
+ placeholder: {
1797
+ classPropertyName: "placeholder",
1798
+ publicName: "placeholder",
1799
+ isSignal: true,
1800
+ isRequired: false,
1801
+ transformFunction: null
1802
+ },
1803
+ loadingIcon: {
1804
+ classPropertyName: "loadingIcon",
1805
+ publicName: "loadingIcon",
1806
+ isSignal: true,
1807
+ isRequired: false,
1808
+ transformFunction: null
1809
+ },
1810
+ filterPlaceholder: {
1811
+ classPropertyName: "filterPlaceholder",
1812
+ publicName: "filterPlaceholder",
1813
+ isSignal: true,
1814
+ isRequired: false,
1815
+ transformFunction: null
1816
+ },
1817
+ filterLocale: {
1818
+ classPropertyName: "filterLocale",
1819
+ publicName: "filterLocale",
1820
+ isSignal: true,
1821
+ isRequired: false,
1822
+ transformFunction: null
1823
+ },
1824
+ inputId: {
1825
+ classPropertyName: "inputId",
1826
+ publicName: "inputId",
1827
+ isSignal: true,
1828
+ isRequired: false,
1829
+ transformFunction: null
1830
+ },
1831
+ dataKey: {
1832
+ classPropertyName: "dataKey",
1833
+ publicName: "dataKey",
1834
+ isSignal: true,
1835
+ isRequired: false,
1836
+ transformFunction: null
1837
+ },
1838
+ filterBy: {
1839
+ classPropertyName: "filterBy",
1840
+ publicName: "filterBy",
1841
+ isSignal: true,
1842
+ isRequired: false,
1843
+ transformFunction: null
1844
+ },
1845
+ filterFields: {
1846
+ classPropertyName: "filterFields",
1847
+ publicName: "filterFields",
1848
+ isSignal: true,
1849
+ isRequired: false,
1850
+ transformFunction: null
1851
+ },
1852
+ autofocus: {
1853
+ classPropertyName: "autofocus",
1854
+ publicName: "autofocus",
1855
+ isSignal: true,
1856
+ isRequired: false,
1857
+ transformFunction: null
1858
+ },
1859
+ resetFilterOnHide: {
1860
+ classPropertyName: "resetFilterOnHide",
1861
+ publicName: "resetFilterOnHide",
1862
+ isSignal: true,
1863
+ isRequired: false,
1864
+ transformFunction: null
1865
+ },
1866
+ checkmark: {
1867
+ classPropertyName: "checkmark",
1868
+ publicName: "checkmark",
1869
+ isSignal: true,
1870
+ isRequired: false,
1871
+ transformFunction: null
1872
+ },
1873
+ dropdownIcon: {
1874
+ classPropertyName: "dropdownIcon",
1875
+ publicName: "dropdownIcon",
1876
+ isSignal: true,
1877
+ isRequired: false,
1878
+ transformFunction: null
1879
+ },
1880
+ loading: {
1881
+ classPropertyName: "loading",
1882
+ publicName: "loading",
1883
+ isSignal: true,
1884
+ isRequired: false,
1885
+ transformFunction: null
1886
+ },
1887
+ optionLabel: {
1888
+ classPropertyName: "optionLabel",
1889
+ publicName: "optionLabel",
1890
+ isSignal: true,
1891
+ isRequired: false,
1892
+ transformFunction: null
1893
+ },
1894
+ optionValue: {
1895
+ classPropertyName: "optionValue",
1896
+ publicName: "optionValue",
1897
+ isSignal: true,
1898
+ isRequired: false,
1899
+ transformFunction: null
1900
+ },
1901
+ optionDisabled: {
1902
+ classPropertyName: "optionDisabled",
1903
+ publicName: "optionDisabled",
1904
+ isSignal: true,
1905
+ isRequired: false,
1906
+ transformFunction: null
1907
+ },
1908
+ optionGroupLabel: {
1909
+ classPropertyName: "optionGroupLabel",
1910
+ publicName: "optionGroupLabel",
1911
+ isSignal: true,
1912
+ isRequired: false,
1913
+ transformFunction: null
1914
+ },
1915
+ optionGroupChildren: {
1916
+ classPropertyName: "optionGroupChildren",
1917
+ publicName: "optionGroupChildren",
1918
+ isSignal: true,
1919
+ isRequired: false,
1920
+ transformFunction: null
1921
+ },
1922
+ group: {
1923
+ classPropertyName: "group",
1924
+ publicName: "group",
1925
+ isSignal: true,
1926
+ isRequired: false,
1927
+ transformFunction: null
1928
+ },
1929
+ showClear: {
1930
+ classPropertyName: "showClear",
1931
+ publicName: "showClear",
1932
+ isSignal: true,
1933
+ isRequired: false,
1934
+ transformFunction: null
1935
+ },
1936
+ emptyFilterMessage: {
1937
+ classPropertyName: "emptyFilterMessage",
1938
+ publicName: "emptyFilterMessage",
1939
+ isSignal: true,
1940
+ isRequired: false,
1941
+ transformFunction: null
1942
+ },
1943
+ emptyMessage: {
1944
+ classPropertyName: "emptyMessage",
1945
+ publicName: "emptyMessage",
1946
+ isSignal: true,
1947
+ isRequired: false,
1948
+ transformFunction: null
1949
+ },
1950
+ lazy: {
1951
+ classPropertyName: "lazy",
1952
+ publicName: "lazy",
1953
+ isSignal: true,
1954
+ isRequired: false,
1955
+ transformFunction: null
1956
+ },
1957
+ virtualScroll: {
1958
+ classPropertyName: "virtualScroll",
1959
+ publicName: "virtualScroll",
1960
+ isSignal: true,
1961
+ isRequired: false,
1962
+ transformFunction: null
1963
+ },
1964
+ virtualScrollItemSize: {
1965
+ classPropertyName: "virtualScrollItemSize",
1966
+ publicName: "virtualScrollItemSize",
1967
+ isSignal: true,
1968
+ isRequired: false,
1969
+ transformFunction: null
1970
+ },
1971
+ virtualScrollOptions: {
1972
+ classPropertyName: "virtualScrollOptions",
1973
+ publicName: "virtualScrollOptions",
1974
+ isSignal: true,
1975
+ isRequired: false,
1976
+ transformFunction: null
1977
+ },
1978
+ overlayOptions: {
1979
+ classPropertyName: "overlayOptions",
1980
+ publicName: "overlayOptions",
1981
+ isSignal: true,
1982
+ isRequired: false,
1983
+ transformFunction: null
1984
+ },
1985
+ ariaFilterLabel: {
1986
+ classPropertyName: "ariaFilterLabel",
1987
+ publicName: "ariaFilterLabel",
1988
+ isSignal: true,
1989
+ isRequired: false,
1990
+ transformFunction: null
1991
+ },
1992
+ ariaLabel: {
1993
+ classPropertyName: "ariaLabel",
1994
+ publicName: "ariaLabel",
1995
+ isSignal: true,
1996
+ isRequired: false,
1997
+ transformFunction: null
1998
+ },
1999
+ ariaLabelledBy: {
2000
+ classPropertyName: "ariaLabelledBy",
2001
+ publicName: "ariaLabelledBy",
2002
+ isSignal: true,
2003
+ isRequired: false,
2004
+ transformFunction: null
2005
+ },
2006
+ filterMatchMode: {
2007
+ classPropertyName: "filterMatchMode",
2008
+ publicName: "filterMatchMode",
2009
+ isSignal: true,
2010
+ isRequired: false,
2011
+ transformFunction: null
2012
+ },
2013
+ tooltip: {
2014
+ classPropertyName: "tooltip",
2015
+ publicName: "tooltip",
2016
+ isSignal: true,
2017
+ isRequired: false,
2018
+ transformFunction: null
2019
+ },
2020
+ tooltipPosition: {
2021
+ classPropertyName: "tooltipPosition",
2022
+ publicName: "tooltipPosition",
2023
+ isSignal: true,
2024
+ isRequired: false,
2025
+ transformFunction: null
2026
+ },
2027
+ tooltipPositionStyle: {
2028
+ classPropertyName: "tooltipPositionStyle",
2029
+ publicName: "tooltipPositionStyle",
2030
+ isSignal: true,
2031
+ isRequired: false,
2032
+ transformFunction: null
2033
+ },
2034
+ tooltipStyleClass: {
2035
+ classPropertyName: "tooltipStyleClass",
2036
+ publicName: "tooltipStyleClass",
2037
+ isSignal: true,
2038
+ isRequired: false,
2039
+ transformFunction: null
2040
+ },
2041
+ focusOnHover: {
2042
+ classPropertyName: "focusOnHover",
2043
+ publicName: "focusOnHover",
2044
+ isSignal: true,
2045
+ isRequired: false,
2046
+ transformFunction: null
2047
+ },
2048
+ selectOnFocus: {
2049
+ classPropertyName: "selectOnFocus",
2050
+ publicName: "selectOnFocus",
2051
+ isSignal: true,
2052
+ isRequired: false,
2053
+ transformFunction: null
2054
+ },
2055
+ autoOptionFocus: {
2056
+ classPropertyName: "autoOptionFocus",
2057
+ publicName: "autoOptionFocus",
2058
+ isSignal: true,
2059
+ isRequired: false,
2060
+ transformFunction: null
2061
+ },
2062
+ autofocusFilter: {
2063
+ classPropertyName: "autofocusFilter",
2064
+ publicName: "autofocusFilter",
2065
+ isSignal: true,
2066
+ isRequired: false,
2067
+ transformFunction: null
2068
+ },
2069
+ filterValue: {
2070
+ classPropertyName: "filterValue",
2071
+ publicName: "filterValue",
2072
+ isSignal: true,
2073
+ isRequired: false,
2074
+ transformFunction: null
2075
+ },
2076
+ options: {
2077
+ classPropertyName: "options",
2078
+ publicName: "options",
2079
+ isSignal: true,
2080
+ isRequired: false,
2081
+ transformFunction: null
2082
+ },
2083
+ appendTo: {
2084
+ classPropertyName: "appendTo",
2085
+ publicName: "appendTo",
2086
+ isSignal: true,
2087
+ isRequired: false,
2088
+ transformFunction: null
2089
+ },
2090
+ motionOptions: {
2091
+ classPropertyName: "motionOptions",
2092
+ publicName: "motionOptions",
2093
+ isSignal: true,
2094
+ isRequired: false,
2095
+ transformFunction: null
2096
+ }
2097
+ },
2098
+ outputs: {
2099
+ id: "idChange",
2100
+ placeholder: "placeholderChange",
2101
+ onChange: "onChange",
2102
+ onFilter: "onFilter",
2103
+ onFocus: "onFocus",
2104
+ onBlur: "onBlur",
2105
+ onClick: "onClick",
2106
+ onShow: "onShow",
2107
+ onHide: "onHide",
2108
+ onClear: "onClear",
2109
+ onLazyLoad: "onLazyLoad"
2110
+ },
2111
+ host: {
2112
+ listeners: { "click": "onContainerClick($event)" },
2113
+ properties: {
2114
+ "class": "cn(cx('root'), styleClass())",
2115
+ "attr.id": "id()",
2116
+ "attr.data-h": "containerDataP"
2117
+ }
2118
+ },
2119
+ providers: [
2120
+ SELECT_VALUE_ACCESSOR,
2121
+ SelectStyle,
2122
+ {
2123
+ provide: SELECT_INSTANCE,
2124
+ useExisting: Select
2125
+ },
2126
+ {
2127
+ provide: PARENT_INSTANCE,
2128
+ useExisting: Select
2129
+ }
2130
+ ],
2131
+ queries: [
2132
+ {
2133
+ propertyName: "itemTemplate",
2134
+ first: true,
2135
+ predicate: ["item"],
2136
+ isSignal: true
2137
+ },
2138
+ {
2139
+ propertyName: "groupTemplate",
2140
+ first: true,
2141
+ predicate: ["group"],
2142
+ isSignal: true
2143
+ },
2144
+ {
2145
+ propertyName: "loaderTemplate",
2146
+ first: true,
2147
+ predicate: ["loader"],
2148
+ isSignal: true
2149
+ },
2150
+ {
2151
+ propertyName: "selectedItemTemplate",
2152
+ first: true,
2153
+ predicate: ["selectedItem"],
2154
+ isSignal: true
2155
+ },
2156
+ {
2157
+ propertyName: "headerTemplate",
2158
+ first: true,
2159
+ predicate: ["header"],
2160
+ isSignal: true
2161
+ },
2162
+ {
2163
+ propertyName: "filterTemplate",
2164
+ first: true,
2165
+ predicate: ["filter"],
2166
+ isSignal: true
2167
+ },
2168
+ {
2169
+ propertyName: "footerTemplate",
2170
+ first: true,
2171
+ predicate: ["footer"],
2172
+ isSignal: true
2173
+ },
2174
+ {
2175
+ propertyName: "emptyFilterTemplate",
2176
+ first: true,
2177
+ predicate: ["emptyfilter"],
2178
+ isSignal: true
2179
+ },
2180
+ {
2181
+ propertyName: "emptyTemplate",
2182
+ first: true,
2183
+ predicate: ["empty"],
2184
+ isSignal: true
2185
+ },
2186
+ {
2187
+ propertyName: "dropdownIconTemplate",
2188
+ first: true,
2189
+ predicate: ["dropdownicon"],
2190
+ isSignal: true
2191
+ },
2192
+ {
2193
+ propertyName: "loadingIconTemplate",
2194
+ first: true,
2195
+ predicate: ["loadingicon"],
2196
+ isSignal: true
2197
+ },
2198
+ {
2199
+ propertyName: "clearIconTemplate",
2200
+ first: true,
2201
+ predicate: ["clearicon"],
2202
+ isSignal: true
2203
+ },
2204
+ {
2205
+ propertyName: "filterIconTemplate",
2206
+ first: true,
2207
+ predicate: ["filtericon"],
2208
+ isSignal: true
2209
+ },
2210
+ {
2211
+ propertyName: "onIconTemplate",
2212
+ first: true,
2213
+ predicate: ["onicon"],
2214
+ isSignal: true
2215
+ },
2216
+ {
2217
+ propertyName: "offIconTemplate",
2218
+ first: true,
2219
+ predicate: ["officon"],
2220
+ isSignal: true
2221
+ },
2222
+ {
2223
+ propertyName: "cancelIconTemplate",
2224
+ first: true,
2225
+ predicate: ["cancelicon"],
2226
+ isSignal: true
2227
+ },
2228
+ {
2229
+ propertyName: "templates",
2230
+ predicate: HelixTemplate,
2231
+ isSignal: true
2232
+ }
2233
+ ],
2234
+ viewQueries: [
2235
+ {
2236
+ propertyName: "filterViewChild",
2237
+ first: true,
2238
+ predicate: ["filter"],
2239
+ descendants: true,
2240
+ isSignal: true
2241
+ },
2242
+ {
2243
+ propertyName: "focusInputViewChild",
2244
+ first: true,
2245
+ predicate: ["focusInput"],
2246
+ descendants: true,
2247
+ isSignal: true
2248
+ },
2249
+ {
2250
+ propertyName: "editableInputViewChild",
2251
+ first: true,
2252
+ predicate: ["editableInput"],
2253
+ descendants: true,
2254
+ isSignal: true
2255
+ },
2256
+ {
2257
+ propertyName: "itemsViewChild",
2258
+ first: true,
2259
+ predicate: ["items"],
2260
+ descendants: true,
2261
+ isSignal: true
2262
+ },
2263
+ {
2264
+ propertyName: "scroller",
2265
+ first: true,
2266
+ predicate: ["scroller"],
2267
+ descendants: true,
2268
+ isSignal: true
2269
+ },
2270
+ {
2271
+ propertyName: "overlayViewChild",
2272
+ first: true,
2273
+ predicate: ["overlay"],
2274
+ descendants: true,
2275
+ isSignal: true
2276
+ },
2277
+ {
2278
+ propertyName: "firstHiddenFocusableElementOnOverlay",
2279
+ first: true,
2280
+ predicate: ["firstHiddenFocusableEl"],
2281
+ descendants: true,
2282
+ isSignal: true
2283
+ },
2284
+ {
2285
+ propertyName: "lastHiddenFocusableElementOnOverlay",
2286
+ first: true,
2287
+ predicate: ["lastHiddenFocusableEl"],
2288
+ descendants: true,
2289
+ isSignal: true
2290
+ }
2291
+ ],
2292
+ usesInheritance: true,
2293
+ hostDirectives: [{ directive: i2.Bind }],
2294
+ ngImport: i0,
2295
+ template: "@if (!editable()) {\n <span\n #focusInput\n [class]=\"cx('label')\"\n [hBind]=\"ptm('label')\"\n [hTooltip]=\"tooltip()\"\n [pTooltipUnstyled]=\"unstyled()\"\n [tooltipPosition]=\"tooltipPosition()\"\n [positionStyle]=\"tooltipPositionStyle()\"\n [tooltipStyleClass]=\"tooltipStyleClass()\"\n [attr.aria-disabled]=\"$disabled()\"\n [attr.id]=\"inputId()\"\n role=\"combobox\"\n [attr.aria-label]=\"ariaLabel() || (label() === 'h-emptylabel' ? undefined : label())\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-haspopup]=\"'listbox'\"\n [attr.aria-expanded]=\"overlayVisible ?? false\"\n [attr.aria-controls]=\"overlayVisible ? id() + '_list' : null\"\n [attr.tabindex]=\"!$disabled() ? tabindex() : -1\"\n [hAutoFocus]=\"autofocus()\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n [attr.aria-required]=\"required()\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.disabled]=\"$disabled() ? '' : undefined\"\n [attr.data-h]=\"labelDataP\"\n >\n @if (!selectedItemTemplate() && !_selectedItemTemplate) {\n {{ label() === 'h-emptylabel' ? '&nbsp;' : label() }}\n } @else {\n @if (isSelectedOptionEmpty()) {\n <span>{{ label() === 'h-emptylabel' ? '&nbsp;' : label() }}</span>\n }\n }\n @if ((selectedItemTemplate() || _selectedItemTemplate) && !isSelectedOptionEmpty()) {\n <ng-container [ngTemplateOutlet]=\"selectedItemTemplate() || _selectedItemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: selectedOption }\"></ng-container>\n }\n </span>\n}\n@if (editable()) {\n <input\n #editableInput\n type=\"text\"\n [attr.id]=\"inputId()\"\n [class]=\"cx('label')\"\n [hBind]=\"ptm('label')\"\n [attr.aria-haspopup]=\"'listbox'\"\n [attr.placeholder]=\"modelValue() === undefined || modelValue() === null ? placeholder() : undefined\"\n [attr.aria-label]=\"ariaLabel() || (label() === 'h-emptylabel' ? undefined : label())\"\n (input)=\"onEditableInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n [hAutoFocus]=\"autofocus()\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [attr.name]=\"name()\"\n [attr.minlength]=\"minlength()\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [attr.pattern]=\"pattern()\"\n [attr.size]=\"inputSize()\"\n [attr.maxlength]=\"maxlength()\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.readonly]=\"readonly() ? '' : undefined\"\n [attr.disabled]=\"$disabled() ? '' : undefined\"\n [attr.data-h]=\"labelDataP\"\n />\n}\n@if (isVisibleClearIcon) {\n @if (!clearIconTemplate() && !_clearIconTemplate) {\n <svg data-h-icon=\"times\" [class]=\"cx('clearIcon')\" [hBind]=\"ptm('clearIcon')\" (click)=\"clear($event)\" [attr.data-pc-section]=\"'clearicon'\" />\n }\n @if (clearIconTemplate() || _clearIconTemplate) {\n <span [class]=\"cx('clearIcon')\" [hBind]=\"ptm('clearIcon')\" (click)=\"clear($event)\" [attr.data-pc-section]=\"'clearicon'\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate() || _clearIconTemplate; context: { class: cx('clearIcon') }\"></ng-template>\n </span>\n }\n}\n\n<div [class]=\"cx('dropdown')\" [hBind]=\"ptm('dropdown')\" role=\"button\" aria-label=\"dropdown trigger\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible ?? false\" [attr.data-pc-section]=\"'trigger'\">\n @if (loading()) {\n @if (loadingIconTemplate() || _loadingIconTemplate) {\n <ng-container *ngTemplateOutlet=\"loadingIconTemplate() || _loadingIconTemplate\"></ng-container>\n }\n @if (!loadingIconTemplate() && !_loadingIconTemplate) {\n @if (loadingIcon()) {\n <span [class]=\"cn(cx('loadingIcon'), 'pi-spin' + loadingIcon())\" [hBind]=\"ptm('loadingIcon')\" aria-hidden=\"true\"></span>\n }\n @if (!loadingIcon()) {\n <span [class]=\"cn(cx('loadingIcon'), 'pi pi-spinner pi-spin')\" [hBind]=\"ptm('loadingIcon')\" aria-hidden=\"true\"></span>\n }\n }\n } @else {\n @if (!dropdownIconTemplate() && !_dropdownIconTemplate) {\n @if (dropdownIcon()) {\n <span [class]=\"cn(cx('dropdownIcon'), dropdownIcon())\" [hBind]=\"ptm('dropdownIcon')\"></span>\n }\n @if (!dropdownIcon()) {\n <svg data-h-icon=\"chevron-down\" [class]=\"cx('dropdownIcon')\" [hBind]=\"ptm('dropdownIcon')\" />\n }\n }\n @if (dropdownIconTemplate() || _dropdownIconTemplate) {\n <span [class]=\"cx('dropdownIcon')\" [hBind]=\"ptm('dropdownIcon')\">\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate() || _dropdownIconTemplate; context: { class: cx('dropdownIcon') }\"></ng-template>\n </span>\n }\n }\n\n</div>\n\n<h-overlay\n #overlay\n [hostAttrSelector]=\"$attrSelector\"\n [(visible)]=\"overlayVisible\"\n [options]=\"overlayOptions()\"\n [target]=\"'@parent'\"\n [appendTo]=\"$appendTo()\"\n [unstyled]=\"unstyled()\"\n [pt]=\"ptm('pcOverlay')\"\n [motionOptions]=\"motionOptions()\"\n (onBeforeEnter)=\"onOverlayBeforeEnter($event)\"\n (onAfterLeave)=\"onOverlayAfterLeave($event)\"\n (onHide)=\"hide()\"\n >\n <ng-template #content>\n <div [class]=\"cn(cx('overlay'), panelStyleClass())\" [ngStyle]=\"panelStyle()\" [hBind]=\"ptm('overlay')\" [attr.data-h]=\"overlayDataP\">\n <span\n #firstHiddenFocusableEl\n role=\"presentation\"\n class=\"h-hidden-accessible h-hidden-focusable\"\n [attr.tabindex]=\"0\"\n (focus)=\"onFirstHiddenFocus($event)\"\n [attr.data-h-hidden-accessible]=\"true\"\n [attr.data-h-hidden-focusable]=\"true\"\n [hBind]=\"ptm('hiddenFirstFocusableEl')\"\n >\n </span>\n <ng-container *ngTemplateOutlet=\"headerTemplate() || _headerTemplate\"></ng-container>\n @if (filter()) {\n <div [class]=\"cx('header')\" (click)=\"$event.stopPropagation()\" [hBind]=\"ptm('header')\">\n @if (filterTemplate() || _filterTemplate) {\n <ng-container *ngTemplateOutlet=\"filterTemplate() || _filterTemplate; context: { options: filterOptions }\"></ng-container>\n } @else {\n <h-iconfield [pt]=\"ptm('pcFilterContainer')\" [unstyled]=\"unstyled()\">\n <input\n #filter\n hInputText\n [pSize]=\"size()\"\n type=\"text\"\n role=\"searchbox\"\n autocomplete=\"off\"\n [value]=\"_filterValue() || ''\"\n [class]=\"cx('pcFilter')\"\n [variant]=\"$variant()\"\n [attr.placeholder]=\"filterPlaceholder()\"\n [attr.aria-owns]=\"id() + '_list'\"\n (input)=\"onFilterInputChange($event)\"\n [attr.aria-label]=\"ariaFilterLabel()\"\n [attr.aria-activedescendant]=\"focusedOptionId\"\n (keydown)=\"onFilterKeyDown($event)\"\n (blur)=\"onFilterBlur($event)\"\n [pt]=\"ptm('pcFilter')\"\n [unstyled]=\"unstyled()\"\n />\n <h-inputicon [pt]=\"ptm('pcFilterIconContainer')\" [unstyled]=\"unstyled()\">\n @if (!filterIconTemplate() && !_filterIconTemplate) {\n <svg data-h-icon=\"search\" [hBind]=\"ptm('filterIcon')\" />\n }\n @if (filterIconTemplate() || _filterIconTemplate) {\n <span [hBind]=\"ptm('filterIcon')\">\n <ng-template *ngTemplateOutlet=\"filterIconTemplate() || _filterIconTemplate\"></ng-template>\n </span>\n }\n </h-inputicon>\n </h-iconfield>\n }\n </div>\n }\n <div [class]=\"cx('listContainer')\" [style.max-height]=\"virtualScroll() ? 'auto' : scrollHeight() || 'auto'\" [hBind]=\"ptm('listContainer')\">\n @if (virtualScroll()) {\n <h-scroller\n hostName=\"select\"\n #scroller\n [items]=\"visibleOptions()\"\n [style]=\"{ height: scrollHeight() }\"\n [itemSize]=\"virtualScrollItemSize()\"\n [autoSize]=\"true\"\n [lazy]=\"lazy()\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [options]=\"virtualScrollOptions()\"\n [pt]=\"ptm('virtualScroller')\"\n >\n <ng-template #content let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\n </ng-template>\n @if (loaderTemplate() || _loaderTemplate) {\n <ng-template #loader let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate() || _loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\n </ng-template>\n }\n </h-scroller>\n }\n @if (!virtualScroll()) {\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: visibleOptions(), options: {} }\"></ng-container>\n }\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul #items [attr.id]=\"id() + '_list'\" [attr.aria-label]=\"listLabel\" [class]=\"cn(cx('list'), scrollerOptions.contentStyleClass)\" [style]=\"scrollerOptions.contentStyle\" role=\"listbox\" [hBind]=\"ptm('list')\">\n @for (option of items; track option; let i = $index) {\n @if (isOptionGroup(option)) {\n <li [class]=\"cx('optionGroup')\" [attr.id]=\"id() + '_' + getOptionIndex(i, scrollerOptions)\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\" [hBind]=\"ptm('optionGroup')\">\n @if (!groupTemplate() && !_groupTemplate) {\n <span [class]=\"cx('optionGroupLabel')\" [hBind]=\"ptm('optionGroupLabel')\">{{ getOptionGroupLabel(option.optionGroup) }}</span>\n }\n <ng-container *ngTemplateOutlet=\"groupTemplate() || _groupTemplate; context: { $implicit: option.optionGroup }\"></ng-container>\n </li>\n }\n @if (!isOptionGroup(option)) {\n <h-selectItem\n [id]=\"id() + '_' + getOptionIndex(i, scrollerOptions)\"\n [option]=\"option\"\n [checkmark]=\"checkmark()\"\n [selected]=\"isSelected(option)\"\n [label]=\"getOptionLabel(option)\"\n [disabled]=\"isOptionDisabled(option)\"\n [template]=\"itemTemplate() || _itemTemplate\"\n [focused]=\"focusedOptionIndex() === getOptionIndex(i, scrollerOptions)\"\n [ariaPosInset]=\"getAriaPosInset(getOptionIndex(i, scrollerOptions))\"\n [ariaSetSize]=\"ariaSetSize\"\n [index]=\"i\"\n [unstyled]=\"unstyled()\"\n [scrollerOptions]=\"scrollerOptions\"\n (onClick)=\"onOptionSelect($event, option)\"\n (onMouseEnter)=\"onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))\"\n ></h-selectItem>\n }\n }\n @if (_filterValue() && isEmpty()) {\n <li [class]=\"cx('emptyMessage')\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\" [hBind]=\"ptm('emptyMessage')\">\n @if (!emptyFilterTemplate() && !_emptyFilterTemplate && !emptyTemplate()) {\n {{ emptyFilterMessageLabel }}\n } @else {\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate() || _emptyFilterTemplate || emptyTemplate() || _emptyTemplate\"></ng-container>\n }\n </li>\n }\n @if (!_filterValue() && isEmpty()) {\n <li [class]=\"cx('emptyMessage')\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\" [hBind]=\"ptm('emptyMessage')\">\n @if (!emptyTemplate() && !_emptyTemplate) {\n {{ emptyMessageLabel || emptyFilterMessageLabel }}\n } @else {\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate() || _emptyTemplate\"></ng-container>\n }\n </li>\n }\n </ul>\n </ng-template>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate() || _footerTemplate\"></ng-container>\n <span\n #lastHiddenFocusableEl\n role=\"presentation\"\n class=\"h-hidden-accessible h-hidden-focusable\"\n [hBind]=\"ptm('hiddenLastFocusableEl')\"\n [attr.tabindex]=\"0\"\n (focus)=\"onLastHiddenFocus($event)\"\n [attr.data-h-hidden-accessible]=\"true\"\n [attr.data-h-hidden-focusable]=\"true\"\n ></span>\n </div>\n </ng-template>\n</h-overlay>\n",
2296
+ dependencies: [
2297
+ {
2298
+ kind: "ngmodule",
2299
+ type: CommonModule
2300
+ },
2301
+ {
2302
+ kind: "directive",
2303
+ type: i1.NgTemplateOutlet,
2304
+ selector: "[ngTemplateOutlet]",
2305
+ inputs: [
2306
+ "ngTemplateOutletContext",
2307
+ "ngTemplateOutlet",
2308
+ "ngTemplateOutletInjector"
2309
+ ]
2310
+ },
2311
+ {
2312
+ kind: "directive",
2313
+ type: i1.NgStyle,
2314
+ selector: "[ngStyle]",
2315
+ inputs: ["ngStyle"]
2316
+ },
2317
+ {
2318
+ kind: "component",
2319
+ type: SelectItem,
2320
+ selector: "h-selectItem",
2321
+ inputs: [
2322
+ "id",
2323
+ "option",
2324
+ "selected",
2325
+ "focused",
2326
+ "label",
2327
+ "disabled",
2328
+ "visible",
2329
+ "itemSize",
2330
+ "ariaPosInset",
2331
+ "ariaSetSize",
2332
+ "template",
2333
+ "checkmark",
2334
+ "index",
2335
+ "scrollerOptions"
2336
+ ],
2337
+ outputs: ["onClick", "onMouseEnter"]
2338
+ },
2339
+ {
2340
+ kind: "component",
2341
+ type: Overlay,
2342
+ selector: "h-overlay",
2343
+ inputs: [
2344
+ "hostName",
2345
+ "visible",
2346
+ "mode",
2347
+ "style",
2348
+ "styleClass",
2349
+ "contentStyle",
2350
+ "contentStyleClass",
2351
+ "target",
2352
+ "autoZIndex",
2353
+ "baseZIndex",
2354
+ "showTransitionOptions",
2355
+ "hideTransitionOptions",
2356
+ "listener",
2357
+ "responsive",
2358
+ "options",
2359
+ "appendTo",
2360
+ "inline",
2361
+ "motionOptions",
2362
+ "hostAttrSelector"
2363
+ ],
2364
+ outputs: [
2365
+ "visibleChange",
2366
+ "onBeforeShow",
2367
+ "onShow",
2368
+ "onBeforeHide",
2369
+ "onHide",
2370
+ "onAnimationStart",
2371
+ "onAnimationDone",
2372
+ "onBeforeEnter",
2373
+ "onEnter",
2374
+ "onAfterEnter",
2375
+ "onBeforeLeave",
2376
+ "onLeave",
2377
+ "onAfterLeave"
2378
+ ]
2379
+ },
2380
+ {
2381
+ kind: "directive",
2382
+ type: Tooltip,
2383
+ selector: "[hTooltip]",
2384
+ inputs: [
2385
+ "tooltipPosition",
2386
+ "tooltipEvent",
2387
+ "positionStyle",
2388
+ "tooltipStyleClass",
2389
+ "tooltipZIndex",
2390
+ "escape",
2391
+ "showDelay",
2392
+ "hideDelay",
2393
+ "life",
2394
+ "positionTop",
2395
+ "positionLeft",
2396
+ "autoHide",
2397
+ "fitContent",
2398
+ "hideOnEscape",
2399
+ "showOnEllipsis",
2400
+ "hTooltip",
2401
+ "tooltipDisabled",
2402
+ "tooltipOptions",
2403
+ "appendTo",
2404
+ "ptTooltip",
2405
+ "pTooltipPT",
2406
+ "pTooltipUnstyled"
2407
+ ]
2408
+ },
2409
+ {
2410
+ kind: "directive",
2411
+ type: AutoFocus,
2412
+ selector: "[hAutoFocus]",
2413
+ inputs: ["hAutoFocus"]
2414
+ },
2415
+ {
2416
+ kind: "component",
2417
+ type: TimesIcon,
2418
+ selector: "[data-h-icon=\"times\"]"
2419
+ },
2420
+ {
2421
+ kind: "component",
2422
+ type: ChevronDownIcon,
2423
+ selector: "[data-h-icon=\"chevron-down\"]"
2424
+ },
2425
+ {
2426
+ kind: "component",
2427
+ type: SearchIcon,
2428
+ selector: "[data-h-icon=\"search\"]"
2429
+ },
2430
+ {
2431
+ kind: "directive",
2432
+ type: InputText,
2433
+ selector: "[hInputText]",
2434
+ inputs: [
2435
+ "hostName",
2436
+ "ptInputText",
2437
+ "pInputTextPT",
2438
+ "pInputTextUnstyled",
2439
+ "pSize",
2440
+ "variant",
2441
+ "fluid",
2442
+ "invalid"
2443
+ ]
2444
+ },
2445
+ {
2446
+ kind: "component",
2447
+ type: IconField,
2448
+ selector: "h-iconfield, h-iconField, h-icon-field",
2449
+ inputs: [
2450
+ "hostName",
2451
+ "iconPosition",
2452
+ "styleClass"
2453
+ ]
2454
+ },
2455
+ {
2456
+ kind: "component",
2457
+ type: InputIcon,
2458
+ selector: "h-inputicon, h-inputIcon",
2459
+ inputs: ["hostName", "styleClass"]
2460
+ },
2461
+ {
2462
+ kind: "component",
2463
+ type: Scroller,
2464
+ selector: "h-scroller, h-virtualscroller, h-virtual-scroller, h-virtualScroller",
2465
+ inputs: [
2466
+ "hostName",
2467
+ "id",
2468
+ "style",
2469
+ "styleClass",
2470
+ "tabindex",
2471
+ "items",
2472
+ "itemSize",
2473
+ "scrollHeight",
2474
+ "scrollWidth",
2475
+ "orientation",
2476
+ "step",
2477
+ "delay",
2478
+ "resizeDelay",
2479
+ "appendOnly",
2480
+ "inline",
2481
+ "lazy",
2482
+ "disabled",
2483
+ "loaderDisabled",
2484
+ "columns",
2485
+ "showSpacer",
2486
+ "showLoader",
2487
+ "numToleratedItems",
2488
+ "loading",
2489
+ "autoSize",
2490
+ "trackBy",
2491
+ "options"
2492
+ ],
2493
+ outputs: [
2494
+ "onLazyLoad",
2495
+ "onScroll",
2496
+ "onScrollIndexChange"
2497
+ ]
2498
+ },
2499
+ {
2500
+ kind: "ngmodule",
2501
+ type: SharedModule
2502
+ },
2503
+ {
2504
+ kind: "ngmodule",
2505
+ type: BindModule
2506
+ },
2507
+ {
2508
+ kind: "directive",
2509
+ type: i2.Bind,
2510
+ selector: "[hBind]",
2511
+ inputs: ["hBind"]
2512
+ }
2513
+ ],
2514
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2515
+ encapsulation: i0.ViewEncapsulation.None
2516
+ });
2517
+ };
2518
+ i0.ɵɵngDeclareClassMetadata({
2519
+ minVersion: "12.0.0",
2520
+ version: "22.2.1",
2521
+ ngImport: i0,
2522
+ type: Select,
2523
+ decorators: [{
2524
+ type: Component,
2525
+ args: [{
2526
+ selector: "h-select",
2527
+ standalone: true,
2528
+ imports: [
2529
+ CommonModule,
2530
+ SelectItem,
2531
+ Overlay,
2532
+ Tooltip,
2533
+ AutoFocus,
2534
+ TimesIcon,
2535
+ ChevronDownIcon,
2536
+ SearchIcon,
2537
+ InputText,
2538
+ IconField,
2539
+ InputIcon,
2540
+ Scroller,
2541
+ SharedModule,
2542
+ BindModule
2543
+ ],
2544
+ host: {
2545
+ "[class]": "cn(cx('root'), styleClass())",
2546
+ "[attr.id]": "id()",
2547
+ "[attr.data-h]": "containerDataP",
2548
+ "(click)": "onContainerClick($event)"
2549
+ },
2550
+ providers: [
2551
+ SELECT_VALUE_ACCESSOR,
2552
+ SelectStyle,
2553
+ {
2554
+ provide: SELECT_INSTANCE,
2555
+ useExisting: Select
2556
+ },
2557
+ {
2558
+ provide: PARENT_INSTANCE,
2559
+ useExisting: Select
2560
+ }
2561
+ ],
2562
+ changeDetection: ChangeDetectionStrategy.OnPush,
2563
+ encapsulation: ViewEncapsulation.None,
2564
+ hostDirectives: [Bind],
2565
+ template: "@if (!editable()) {\n <span\n #focusInput\n [class]=\"cx('label')\"\n [hBind]=\"ptm('label')\"\n [hTooltip]=\"tooltip()\"\n [pTooltipUnstyled]=\"unstyled()\"\n [tooltipPosition]=\"tooltipPosition()\"\n [positionStyle]=\"tooltipPositionStyle()\"\n [tooltipStyleClass]=\"tooltipStyleClass()\"\n [attr.aria-disabled]=\"$disabled()\"\n [attr.id]=\"inputId()\"\n role=\"combobox\"\n [attr.aria-label]=\"ariaLabel() || (label() === 'h-emptylabel' ? undefined : label())\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-haspopup]=\"'listbox'\"\n [attr.aria-expanded]=\"overlayVisible ?? false\"\n [attr.aria-controls]=\"overlayVisible ? id() + '_list' : null\"\n [attr.tabindex]=\"!$disabled() ? tabindex() : -1\"\n [hAutoFocus]=\"autofocus()\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n [attr.aria-required]=\"required()\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.disabled]=\"$disabled() ? '' : undefined\"\n [attr.data-h]=\"labelDataP\"\n >\n @if (!selectedItemTemplate() && !_selectedItemTemplate) {\n {{ label() === 'h-emptylabel' ? '&nbsp;' : label() }}\n } @else {\n @if (isSelectedOptionEmpty()) {\n <span>{{ label() === 'h-emptylabel' ? '&nbsp;' : label() }}</span>\n }\n }\n @if ((selectedItemTemplate() || _selectedItemTemplate) && !isSelectedOptionEmpty()) {\n <ng-container [ngTemplateOutlet]=\"selectedItemTemplate() || _selectedItemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: selectedOption }\"></ng-container>\n }\n </span>\n}\n@if (editable()) {\n <input\n #editableInput\n type=\"text\"\n [attr.id]=\"inputId()\"\n [class]=\"cx('label')\"\n [hBind]=\"ptm('label')\"\n [attr.aria-haspopup]=\"'listbox'\"\n [attr.placeholder]=\"modelValue() === undefined || modelValue() === null ? placeholder() : undefined\"\n [attr.aria-label]=\"ariaLabel() || (label() === 'h-emptylabel' ? undefined : label())\"\n (input)=\"onEditableInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n [hAutoFocus]=\"autofocus()\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [attr.name]=\"name()\"\n [attr.minlength]=\"minlength()\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [attr.pattern]=\"pattern()\"\n [attr.size]=\"inputSize()\"\n [attr.maxlength]=\"maxlength()\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.readonly]=\"readonly() ? '' : undefined\"\n [attr.disabled]=\"$disabled() ? '' : undefined\"\n [attr.data-h]=\"labelDataP\"\n />\n}\n@if (isVisibleClearIcon) {\n @if (!clearIconTemplate() && !_clearIconTemplate) {\n <svg data-h-icon=\"times\" [class]=\"cx('clearIcon')\" [hBind]=\"ptm('clearIcon')\" (click)=\"clear($event)\" [attr.data-pc-section]=\"'clearicon'\" />\n }\n @if (clearIconTemplate() || _clearIconTemplate) {\n <span [class]=\"cx('clearIcon')\" [hBind]=\"ptm('clearIcon')\" (click)=\"clear($event)\" [attr.data-pc-section]=\"'clearicon'\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate() || _clearIconTemplate; context: { class: cx('clearIcon') }\"></ng-template>\n </span>\n }\n}\n\n<div [class]=\"cx('dropdown')\" [hBind]=\"ptm('dropdown')\" role=\"button\" aria-label=\"dropdown trigger\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible ?? false\" [attr.data-pc-section]=\"'trigger'\">\n @if (loading()) {\n @if (loadingIconTemplate() || _loadingIconTemplate) {\n <ng-container *ngTemplateOutlet=\"loadingIconTemplate() || _loadingIconTemplate\"></ng-container>\n }\n @if (!loadingIconTemplate() && !_loadingIconTemplate) {\n @if (loadingIcon()) {\n <span [class]=\"cn(cx('loadingIcon'), 'pi-spin' + loadingIcon())\" [hBind]=\"ptm('loadingIcon')\" aria-hidden=\"true\"></span>\n }\n @if (!loadingIcon()) {\n <span [class]=\"cn(cx('loadingIcon'), 'pi pi-spinner pi-spin')\" [hBind]=\"ptm('loadingIcon')\" aria-hidden=\"true\"></span>\n }\n }\n } @else {\n @if (!dropdownIconTemplate() && !_dropdownIconTemplate) {\n @if (dropdownIcon()) {\n <span [class]=\"cn(cx('dropdownIcon'), dropdownIcon())\" [hBind]=\"ptm('dropdownIcon')\"></span>\n }\n @if (!dropdownIcon()) {\n <svg data-h-icon=\"chevron-down\" [class]=\"cx('dropdownIcon')\" [hBind]=\"ptm('dropdownIcon')\" />\n }\n }\n @if (dropdownIconTemplate() || _dropdownIconTemplate) {\n <span [class]=\"cx('dropdownIcon')\" [hBind]=\"ptm('dropdownIcon')\">\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate() || _dropdownIconTemplate; context: { class: cx('dropdownIcon') }\"></ng-template>\n </span>\n }\n }\n\n</div>\n\n<h-overlay\n #overlay\n [hostAttrSelector]=\"$attrSelector\"\n [(visible)]=\"overlayVisible\"\n [options]=\"overlayOptions()\"\n [target]=\"'@parent'\"\n [appendTo]=\"$appendTo()\"\n [unstyled]=\"unstyled()\"\n [pt]=\"ptm('pcOverlay')\"\n [motionOptions]=\"motionOptions()\"\n (onBeforeEnter)=\"onOverlayBeforeEnter($event)\"\n (onAfterLeave)=\"onOverlayAfterLeave($event)\"\n (onHide)=\"hide()\"\n >\n <ng-template #content>\n <div [class]=\"cn(cx('overlay'), panelStyleClass())\" [ngStyle]=\"panelStyle()\" [hBind]=\"ptm('overlay')\" [attr.data-h]=\"overlayDataP\">\n <span\n #firstHiddenFocusableEl\n role=\"presentation\"\n class=\"h-hidden-accessible h-hidden-focusable\"\n [attr.tabindex]=\"0\"\n (focus)=\"onFirstHiddenFocus($event)\"\n [attr.data-h-hidden-accessible]=\"true\"\n [attr.data-h-hidden-focusable]=\"true\"\n [hBind]=\"ptm('hiddenFirstFocusableEl')\"\n >\n </span>\n <ng-container *ngTemplateOutlet=\"headerTemplate() || _headerTemplate\"></ng-container>\n @if (filter()) {\n <div [class]=\"cx('header')\" (click)=\"$event.stopPropagation()\" [hBind]=\"ptm('header')\">\n @if (filterTemplate() || _filterTemplate) {\n <ng-container *ngTemplateOutlet=\"filterTemplate() || _filterTemplate; context: { options: filterOptions }\"></ng-container>\n } @else {\n <h-iconfield [pt]=\"ptm('pcFilterContainer')\" [unstyled]=\"unstyled()\">\n <input\n #filter\n hInputText\n [pSize]=\"size()\"\n type=\"text\"\n role=\"searchbox\"\n autocomplete=\"off\"\n [value]=\"_filterValue() || ''\"\n [class]=\"cx('pcFilter')\"\n [variant]=\"$variant()\"\n [attr.placeholder]=\"filterPlaceholder()\"\n [attr.aria-owns]=\"id() + '_list'\"\n (input)=\"onFilterInputChange($event)\"\n [attr.aria-label]=\"ariaFilterLabel()\"\n [attr.aria-activedescendant]=\"focusedOptionId\"\n (keydown)=\"onFilterKeyDown($event)\"\n (blur)=\"onFilterBlur($event)\"\n [pt]=\"ptm('pcFilter')\"\n [unstyled]=\"unstyled()\"\n />\n <h-inputicon [pt]=\"ptm('pcFilterIconContainer')\" [unstyled]=\"unstyled()\">\n @if (!filterIconTemplate() && !_filterIconTemplate) {\n <svg data-h-icon=\"search\" [hBind]=\"ptm('filterIcon')\" />\n }\n @if (filterIconTemplate() || _filterIconTemplate) {\n <span [hBind]=\"ptm('filterIcon')\">\n <ng-template *ngTemplateOutlet=\"filterIconTemplate() || _filterIconTemplate\"></ng-template>\n </span>\n }\n </h-inputicon>\n </h-iconfield>\n }\n </div>\n }\n <div [class]=\"cx('listContainer')\" [style.max-height]=\"virtualScroll() ? 'auto' : scrollHeight() || 'auto'\" [hBind]=\"ptm('listContainer')\">\n @if (virtualScroll()) {\n <h-scroller\n hostName=\"select\"\n #scroller\n [items]=\"visibleOptions()\"\n [style]=\"{ height: scrollHeight() }\"\n [itemSize]=\"virtualScrollItemSize()\"\n [autoSize]=\"true\"\n [lazy]=\"lazy()\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [options]=\"virtualScrollOptions()\"\n [pt]=\"ptm('virtualScroller')\"\n >\n <ng-template #content let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\n </ng-template>\n @if (loaderTemplate() || _loaderTemplate) {\n <ng-template #loader let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate() || _loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\n </ng-template>\n }\n </h-scroller>\n }\n @if (!virtualScroll()) {\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: visibleOptions(), options: {} }\"></ng-container>\n }\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul #items [attr.id]=\"id() + '_list'\" [attr.aria-label]=\"listLabel\" [class]=\"cn(cx('list'), scrollerOptions.contentStyleClass)\" [style]=\"scrollerOptions.contentStyle\" role=\"listbox\" [hBind]=\"ptm('list')\">\n @for (option of items; track option; let i = $index) {\n @if (isOptionGroup(option)) {\n <li [class]=\"cx('optionGroup')\" [attr.id]=\"id() + '_' + getOptionIndex(i, scrollerOptions)\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\" [hBind]=\"ptm('optionGroup')\">\n @if (!groupTemplate() && !_groupTemplate) {\n <span [class]=\"cx('optionGroupLabel')\" [hBind]=\"ptm('optionGroupLabel')\">{{ getOptionGroupLabel(option.optionGroup) }}</span>\n }\n <ng-container *ngTemplateOutlet=\"groupTemplate() || _groupTemplate; context: { $implicit: option.optionGroup }\"></ng-container>\n </li>\n }\n @if (!isOptionGroup(option)) {\n <h-selectItem\n [id]=\"id() + '_' + getOptionIndex(i, scrollerOptions)\"\n [option]=\"option\"\n [checkmark]=\"checkmark()\"\n [selected]=\"isSelected(option)\"\n [label]=\"getOptionLabel(option)\"\n [disabled]=\"isOptionDisabled(option)\"\n [template]=\"itemTemplate() || _itemTemplate\"\n [focused]=\"focusedOptionIndex() === getOptionIndex(i, scrollerOptions)\"\n [ariaPosInset]=\"getAriaPosInset(getOptionIndex(i, scrollerOptions))\"\n [ariaSetSize]=\"ariaSetSize\"\n [index]=\"i\"\n [unstyled]=\"unstyled()\"\n [scrollerOptions]=\"scrollerOptions\"\n (onClick)=\"onOptionSelect($event, option)\"\n (onMouseEnter)=\"onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))\"\n ></h-selectItem>\n }\n }\n @if (_filterValue() && isEmpty()) {\n <li [class]=\"cx('emptyMessage')\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\" [hBind]=\"ptm('emptyMessage')\">\n @if (!emptyFilterTemplate() && !_emptyFilterTemplate && !emptyTemplate()) {\n {{ emptyFilterMessageLabel }}\n } @else {\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate() || _emptyFilterTemplate || emptyTemplate() || _emptyTemplate\"></ng-container>\n }\n </li>\n }\n @if (!_filterValue() && isEmpty()) {\n <li [class]=\"cx('emptyMessage')\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\" [hBind]=\"ptm('emptyMessage')\">\n @if (!emptyTemplate() && !_emptyTemplate) {\n {{ emptyMessageLabel || emptyFilterMessageLabel }}\n } @else {\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate() || _emptyTemplate\"></ng-container>\n }\n </li>\n }\n </ul>\n </ng-template>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate() || _footerTemplate\"></ng-container>\n <span\n #lastHiddenFocusableEl\n role=\"presentation\"\n class=\"h-hidden-accessible h-hidden-focusable\"\n [hBind]=\"ptm('hiddenLastFocusableEl')\"\n [attr.tabindex]=\"0\"\n (focus)=\"onLastHiddenFocus($event)\"\n [attr.data-h-hidden-accessible]=\"true\"\n [attr.data-h-hidden-focusable]=\"true\"\n ></span>\n </div>\n </ng-template>\n</h-overlay>\n"
2566
+ }]
2567
+ }],
2568
+ ctorParameters: () => [{ type: i0.NgZone }, { type: i3.FilterService }],
2569
+ propDecorators: {
2570
+ id: [{
2571
+ type: i0.Input,
2572
+ args: [{
2573
+ isSignal: true,
2574
+ alias: "id",
2575
+ required: false
2576
+ }]
2577
+ }, {
2578
+ type: i0.Output,
2579
+ args: ["idChange"]
2580
+ }],
2581
+ scrollHeight: [{
2582
+ type: i0.Input,
2583
+ args: [{
2584
+ isSignal: true,
2585
+ alias: "scrollHeight",
2586
+ required: false
2587
+ }]
2588
+ }],
2589
+ filter: [{
2590
+ type: i0.Input,
2591
+ args: [{
2592
+ isSignal: true,
2593
+ alias: "filter",
2594
+ required: false
2595
+ }]
2596
+ }],
2597
+ panelStyle: [{
2598
+ type: i0.Input,
2599
+ args: [{
2600
+ isSignal: true,
2601
+ alias: "panelStyle",
2602
+ required: false
2603
+ }]
2604
+ }],
2605
+ styleClass: [{
2606
+ type: i0.Input,
2607
+ args: [{
2608
+ isSignal: true,
2609
+ alias: "styleClass",
2610
+ required: false
2611
+ }]
2612
+ }],
2613
+ panelStyleClass: [{
2614
+ type: i0.Input,
2615
+ args: [{
2616
+ isSignal: true,
2617
+ alias: "panelStyleClass",
2618
+ required: false
2619
+ }]
2620
+ }],
2621
+ readonly: [{
2622
+ type: i0.Input,
2623
+ args: [{
2624
+ isSignal: true,
2625
+ alias: "readonly",
2626
+ required: false
2627
+ }]
2628
+ }],
2629
+ editable: [{
2630
+ type: i0.Input,
2631
+ args: [{
2632
+ isSignal: true,
2633
+ alias: "editable",
2634
+ required: false
2635
+ }]
2636
+ }],
2637
+ tabindex: [{
2638
+ type: i0.Input,
2639
+ args: [{
2640
+ isSignal: true,
2641
+ alias: "tabindex",
2642
+ required: false
2643
+ }]
2644
+ }],
2645
+ placeholder: [{
2646
+ type: i0.Input,
2647
+ args: [{
2648
+ isSignal: true,
2649
+ alias: "placeholder",
2650
+ required: false
2651
+ }]
2652
+ }, {
2653
+ type: i0.Output,
2654
+ args: ["placeholderChange"]
2655
+ }],
2656
+ loadingIcon: [{
2657
+ type: i0.Input,
2658
+ args: [{
2659
+ isSignal: true,
2660
+ alias: "loadingIcon",
2661
+ required: false
2662
+ }]
2663
+ }],
2664
+ filterPlaceholder: [{
2665
+ type: i0.Input,
2666
+ args: [{
2667
+ isSignal: true,
2668
+ alias: "filterPlaceholder",
2669
+ required: false
2670
+ }]
2671
+ }],
2672
+ filterLocale: [{
2673
+ type: i0.Input,
2674
+ args: [{
2675
+ isSignal: true,
2676
+ alias: "filterLocale",
2677
+ required: false
2678
+ }]
2679
+ }],
2680
+ inputId: [{
2681
+ type: i0.Input,
2682
+ args: [{
2683
+ isSignal: true,
2684
+ alias: "inputId",
2685
+ required: false
2686
+ }]
2687
+ }],
2688
+ dataKey: [{
2689
+ type: i0.Input,
2690
+ args: [{
2691
+ isSignal: true,
2692
+ alias: "dataKey",
2693
+ required: false
2694
+ }]
2695
+ }],
2696
+ filterBy: [{
2697
+ type: i0.Input,
2698
+ args: [{
2699
+ isSignal: true,
2700
+ alias: "filterBy",
2701
+ required: false
2702
+ }]
2703
+ }],
2704
+ filterFields: [{
2705
+ type: i0.Input,
2706
+ args: [{
2707
+ isSignal: true,
2708
+ alias: "filterFields",
2709
+ required: false
2710
+ }]
2711
+ }],
2712
+ autofocus: [{
2713
+ type: i0.Input,
2714
+ args: [{
2715
+ isSignal: true,
2716
+ alias: "autofocus",
2717
+ required: false
2718
+ }]
2719
+ }],
2720
+ resetFilterOnHide: [{
2721
+ type: i0.Input,
2722
+ args: [{
2723
+ isSignal: true,
2724
+ alias: "resetFilterOnHide",
2725
+ required: false
2726
+ }]
2727
+ }],
2728
+ checkmark: [{
2729
+ type: i0.Input,
2730
+ args: [{
2731
+ isSignal: true,
2732
+ alias: "checkmark",
2733
+ required: false
2734
+ }]
2735
+ }],
2736
+ dropdownIcon: [{
2737
+ type: i0.Input,
2738
+ args: [{
2739
+ isSignal: true,
2740
+ alias: "dropdownIcon",
2741
+ required: false
2742
+ }]
2743
+ }],
2744
+ loading: [{
2745
+ type: i0.Input,
2746
+ args: [{
2747
+ isSignal: true,
2748
+ alias: "loading",
2749
+ required: false
2750
+ }]
2751
+ }],
2752
+ optionLabel: [{
2753
+ type: i0.Input,
2754
+ args: [{
2755
+ isSignal: true,
2756
+ alias: "optionLabel",
2757
+ required: false
2758
+ }]
2759
+ }],
2760
+ optionValue: [{
2761
+ type: i0.Input,
2762
+ args: [{
2763
+ isSignal: true,
2764
+ alias: "optionValue",
2765
+ required: false
2766
+ }]
2767
+ }],
2768
+ optionDisabled: [{
2769
+ type: i0.Input,
2770
+ args: [{
2771
+ isSignal: true,
2772
+ alias: "optionDisabled",
2773
+ required: false
2774
+ }]
2775
+ }],
2776
+ optionGroupLabel: [{
2777
+ type: i0.Input,
2778
+ args: [{
2779
+ isSignal: true,
2780
+ alias: "optionGroupLabel",
2781
+ required: false
2782
+ }]
2783
+ }],
2784
+ optionGroupChildren: [{
2785
+ type: i0.Input,
2786
+ args: [{
2787
+ isSignal: true,
2788
+ alias: "optionGroupChildren",
2789
+ required: false
2790
+ }]
2791
+ }],
2792
+ group: [{
2793
+ type: i0.Input,
2794
+ args: [{
2795
+ isSignal: true,
2796
+ alias: "group",
2797
+ required: false
2798
+ }]
2799
+ }],
2800
+ showClear: [{
2801
+ type: i0.Input,
2802
+ args: [{
2803
+ isSignal: true,
2804
+ alias: "showClear",
2805
+ required: false
2806
+ }]
2807
+ }],
2808
+ emptyFilterMessage: [{
2809
+ type: i0.Input,
2810
+ args: [{
2811
+ isSignal: true,
2812
+ alias: "emptyFilterMessage",
2813
+ required: false
2814
+ }]
2815
+ }],
2816
+ emptyMessage: [{
2817
+ type: i0.Input,
2818
+ args: [{
2819
+ isSignal: true,
2820
+ alias: "emptyMessage",
2821
+ required: false
2822
+ }]
2823
+ }],
2824
+ lazy: [{
2825
+ type: i0.Input,
2826
+ args: [{
2827
+ isSignal: true,
2828
+ alias: "lazy",
2829
+ required: false
2830
+ }]
2831
+ }],
2832
+ virtualScroll: [{
2833
+ type: i0.Input,
2834
+ args: [{
2835
+ isSignal: true,
2836
+ alias: "virtualScroll",
2837
+ required: false
2838
+ }]
2839
+ }],
2840
+ virtualScrollItemSize: [{
2841
+ type: i0.Input,
2842
+ args: [{
2843
+ isSignal: true,
2844
+ alias: "virtualScrollItemSize",
2845
+ required: false
2846
+ }]
2847
+ }],
2848
+ virtualScrollOptions: [{
2849
+ type: i0.Input,
2850
+ args: [{
2851
+ isSignal: true,
2852
+ alias: "virtualScrollOptions",
2853
+ required: false
2854
+ }]
2855
+ }],
2856
+ overlayOptions: [{
2857
+ type: i0.Input,
2858
+ args: [{
2859
+ isSignal: true,
2860
+ alias: "overlayOptions",
2861
+ required: false
2862
+ }]
2863
+ }],
2864
+ ariaFilterLabel: [{
2865
+ type: i0.Input,
2866
+ args: [{
2867
+ isSignal: true,
2868
+ alias: "ariaFilterLabel",
2869
+ required: false
2870
+ }]
2871
+ }],
2872
+ ariaLabel: [{
2873
+ type: i0.Input,
2874
+ args: [{
2875
+ isSignal: true,
2876
+ alias: "ariaLabel",
2877
+ required: false
2878
+ }]
2879
+ }],
2880
+ ariaLabelledBy: [{
2881
+ type: i0.Input,
2882
+ args: [{
2883
+ isSignal: true,
2884
+ alias: "ariaLabelledBy",
2885
+ required: false
2886
+ }]
2887
+ }],
2888
+ filterMatchMode: [{
2889
+ type: i0.Input,
2890
+ args: [{
2891
+ isSignal: true,
2892
+ alias: "filterMatchMode",
2893
+ required: false
2894
+ }]
2895
+ }],
2896
+ tooltip: [{
2897
+ type: i0.Input,
2898
+ args: [{
2899
+ isSignal: true,
2900
+ alias: "tooltip",
2901
+ required: false
2902
+ }]
2903
+ }],
2904
+ tooltipPosition: [{
2905
+ type: i0.Input,
2906
+ args: [{
2907
+ isSignal: true,
2908
+ alias: "tooltipPosition",
2909
+ required: false
2910
+ }]
2911
+ }],
2912
+ tooltipPositionStyle: [{
2913
+ type: i0.Input,
2914
+ args: [{
2915
+ isSignal: true,
2916
+ alias: "tooltipPositionStyle",
2917
+ required: false
2918
+ }]
2919
+ }],
2920
+ tooltipStyleClass: [{
2921
+ type: i0.Input,
2922
+ args: [{
2923
+ isSignal: true,
2924
+ alias: "tooltipStyleClass",
2925
+ required: false
2926
+ }]
2927
+ }],
2928
+ focusOnHover: [{
2929
+ type: i0.Input,
2930
+ args: [{
2931
+ isSignal: true,
2932
+ alias: "focusOnHover",
2933
+ required: false
2934
+ }]
2935
+ }],
2936
+ selectOnFocus: [{
2937
+ type: i0.Input,
2938
+ args: [{
2939
+ isSignal: true,
2940
+ alias: "selectOnFocus",
2941
+ required: false
2942
+ }]
2943
+ }],
2944
+ autoOptionFocus: [{
2945
+ type: i0.Input,
2946
+ args: [{
2947
+ isSignal: true,
2948
+ alias: "autoOptionFocus",
2949
+ required: false
2950
+ }]
2951
+ }],
2952
+ autofocusFilter: [{
2953
+ type: i0.Input,
2954
+ args: [{
2955
+ isSignal: true,
2956
+ alias: "autofocusFilter",
2957
+ required: false
2958
+ }]
2959
+ }],
2960
+ filterValue: [{
2961
+ type: i0.Input,
2962
+ args: [{
2963
+ isSignal: true,
2964
+ alias: "filterValue",
2965
+ required: false
2966
+ }]
2967
+ }],
2968
+ options: [{
2969
+ type: i0.Input,
2970
+ args: [{
2971
+ isSignal: true,
2972
+ alias: "options",
2973
+ required: false
2974
+ }]
2975
+ }],
2976
+ appendTo: [{
2977
+ type: i0.Input,
2978
+ args: [{
2979
+ isSignal: true,
2980
+ alias: "appendTo",
2981
+ required: false
2982
+ }]
2983
+ }],
2984
+ motionOptions: [{
2985
+ type: i0.Input,
2986
+ args: [{
2987
+ isSignal: true,
2988
+ alias: "motionOptions",
2989
+ required: false
2990
+ }]
2991
+ }],
2992
+ onChange: [{
2993
+ type: i0.Output,
2994
+ args: ["onChange"]
2995
+ }],
2996
+ onFilter: [{
2997
+ type: i0.Output,
2998
+ args: ["onFilter"]
2999
+ }],
3000
+ onFocus: [{
3001
+ type: i0.Output,
3002
+ args: ["onFocus"]
3003
+ }],
3004
+ onBlur: [{
3005
+ type: i0.Output,
3006
+ args: ["onBlur"]
3007
+ }],
3008
+ onClick: [{
3009
+ type: i0.Output,
3010
+ args: ["onClick"]
3011
+ }],
3012
+ onShow: [{
3013
+ type: i0.Output,
3014
+ args: ["onShow"]
3015
+ }],
3016
+ onHide: [{
3017
+ type: i0.Output,
3018
+ args: ["onHide"]
3019
+ }],
3020
+ onClear: [{
3021
+ type: i0.Output,
3022
+ args: ["onClear"]
3023
+ }],
3024
+ onLazyLoad: [{
3025
+ type: i0.Output,
3026
+ args: ["onLazyLoad"]
3027
+ }],
3028
+ filterViewChild: [{
3029
+ type: i0.ViewChild,
3030
+ args: ["filter", { isSignal: true }]
3031
+ }],
3032
+ focusInputViewChild: [{
3033
+ type: i0.ViewChild,
3034
+ args: ["focusInput", { isSignal: true }]
3035
+ }],
3036
+ editableInputViewChild: [{
3037
+ type: i0.ViewChild,
3038
+ args: ["editableInput", { isSignal: true }]
3039
+ }],
3040
+ itemsViewChild: [{
3041
+ type: i0.ViewChild,
3042
+ args: ["items", { isSignal: true }]
3043
+ }],
3044
+ scroller: [{
3045
+ type: i0.ViewChild,
3046
+ args: ["scroller", { isSignal: true }]
3047
+ }],
3048
+ overlayViewChild: [{
3049
+ type: i0.ViewChild,
3050
+ args: ["overlay", { isSignal: true }]
3051
+ }],
3052
+ firstHiddenFocusableElementOnOverlay: [{
3053
+ type: i0.ViewChild,
3054
+ args: ["firstHiddenFocusableEl", { isSignal: true }]
3055
+ }],
3056
+ lastHiddenFocusableElementOnOverlay: [{
3057
+ type: i0.ViewChild,
3058
+ args: ["lastHiddenFocusableEl", { isSignal: true }]
3059
+ }],
3060
+ itemTemplate: [{
3061
+ type: i0.ContentChild,
3062
+ args: ["item", {
3063
+ descendants: false,
3064
+ isSignal: true
3065
+ }]
3066
+ }],
3067
+ groupTemplate: [{
3068
+ type: i0.ContentChild,
3069
+ args: ["group", {
3070
+ descendants: false,
3071
+ isSignal: true
3072
+ }]
3073
+ }],
3074
+ loaderTemplate: [{
3075
+ type: i0.ContentChild,
3076
+ args: ["loader", {
3077
+ descendants: false,
3078
+ isSignal: true
3079
+ }]
3080
+ }],
3081
+ selectedItemTemplate: [{
3082
+ type: i0.ContentChild,
3083
+ args: ["selectedItem", {
3084
+ descendants: false,
3085
+ isSignal: true
3086
+ }]
3087
+ }],
3088
+ headerTemplate: [{
3089
+ type: i0.ContentChild,
3090
+ args: ["header", {
3091
+ descendants: false,
3092
+ isSignal: true
3093
+ }]
3094
+ }],
3095
+ filterTemplate: [{
3096
+ type: i0.ContentChild,
3097
+ args: ["filter", {
3098
+ descendants: false,
3099
+ isSignal: true
3100
+ }]
3101
+ }],
3102
+ footerTemplate: [{
3103
+ type: i0.ContentChild,
3104
+ args: ["footer", {
3105
+ descendants: false,
3106
+ isSignal: true
3107
+ }]
3108
+ }],
3109
+ emptyFilterTemplate: [{
3110
+ type: i0.ContentChild,
3111
+ args: ["emptyfilter", {
3112
+ descendants: false,
3113
+ isSignal: true
3114
+ }]
3115
+ }],
3116
+ emptyTemplate: [{
3117
+ type: i0.ContentChild,
3118
+ args: ["empty", {
3119
+ descendants: false,
3120
+ isSignal: true
3121
+ }]
3122
+ }],
3123
+ dropdownIconTemplate: [{
3124
+ type: i0.ContentChild,
3125
+ args: ["dropdownicon", {
3126
+ descendants: false,
3127
+ isSignal: true
3128
+ }]
3129
+ }],
3130
+ loadingIconTemplate: [{
3131
+ type: i0.ContentChild,
3132
+ args: ["loadingicon", {
3133
+ descendants: false,
3134
+ isSignal: true
3135
+ }]
3136
+ }],
3137
+ clearIconTemplate: [{
3138
+ type: i0.ContentChild,
3139
+ args: ["clearicon", {
3140
+ descendants: false,
3141
+ isSignal: true
3142
+ }]
3143
+ }],
3144
+ filterIconTemplate: [{
3145
+ type: i0.ContentChild,
3146
+ args: ["filtericon", {
3147
+ descendants: false,
3148
+ isSignal: true
3149
+ }]
3150
+ }],
3151
+ onIconTemplate: [{
3152
+ type: i0.ContentChild,
3153
+ args: ["onicon", {
3154
+ descendants: false,
3155
+ isSignal: true
3156
+ }]
3157
+ }],
3158
+ offIconTemplate: [{
3159
+ type: i0.ContentChild,
3160
+ args: ["officon", {
3161
+ descendants: false,
3162
+ isSignal: true
3163
+ }]
3164
+ }],
3165
+ cancelIconTemplate: [{
3166
+ type: i0.ContentChild,
3167
+ args: ["cancelicon", {
3168
+ descendants: false,
3169
+ isSignal: true
3170
+ }]
3171
+ }],
3172
+ templates: [{
3173
+ type: i0.ContentChildren,
3174
+ args: [i0.forwardRef(() => HelixTemplate), { isSignal: true }]
3175
+ }]
3176
+ }
3177
+ });
3178
+ var SelectModule = class SelectModule {
3179
+ static ɵfac = i0.ɵɵngDeclareFactory({
3180
+ minVersion: "12.0.0",
3181
+ version: "22.2.1",
3182
+ ngImport: i0,
3183
+ type: SelectModule,
3184
+ deps: [],
3185
+ target: i0.ɵɵFactoryTarget.NgModule
3186
+ });
3187
+ static ɵmod = i0.ɵɵngDeclareNgModule({
3188
+ minVersion: "14.0.0",
3189
+ version: "22.2.1",
3190
+ ngImport: i0,
3191
+ type: SelectModule,
3192
+ imports: [Select, SharedModule],
3193
+ exports: [Select, SharedModule]
3194
+ });
3195
+ static ɵinj = i0.ɵɵngDeclareInjector({
3196
+ minVersion: "12.0.0",
3197
+ version: "22.2.1",
3198
+ ngImport: i0,
3199
+ type: SelectModule,
3200
+ imports: [
3201
+ Select,
3202
+ SharedModule,
3203
+ SharedModule
3204
+ ]
3205
+ });
3206
+ };
3207
+ i0.ɵɵngDeclareClassMetadata({
3208
+ minVersion: "12.0.0",
3209
+ version: "22.2.1",
3210
+ ngImport: i0,
3211
+ type: SelectModule,
3212
+ decorators: [{
3213
+ type: NgModule,
3214
+ args: [{
3215
+ imports: [Select, SharedModule],
3216
+ exports: [Select, SharedModule]
3217
+ }]
3218
+ }]
3219
+ });
1906
3220
  export { SELECT_VALUE_ACCESSOR, Select, SelectClasses, SelectItem, SelectModule, SelectStyle };
1907
- //# sourceMappingURL=gravionlabs-helix-core-select.mjs.map
3221
+
3222
+ //# sourceMappingURL=gravionlabs-helix-core-select.mjs.map