@gravionlabs/helix-core 22.1.2 → 22.1.3

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 +1 @@
1
- {"version":3,"file":"gravionlabs-helix-core-autocomplete.mjs","sources":["../../../projects/core/autocomplete/style/autocomplete.css.ts","../../../projects/core/autocomplete/style/autocompletestyle.ts","../../../projects/core/autocomplete/autocomplete.ts","../../../projects/core/autocomplete/autocomplete.html","../../../projects/core/autocomplete/gravionlabs-helix-core-autocomplete.ts"],"sourcesContent":["export const style = /*css*/ `\n .h-autocomplete {\n display: inline-flex;\n }\n\n .h-autocomplete-loader {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n inset-inline-end: dt('autocomplete.padding.x');\n }\n\n .h-autocomplete:has(.h-autocomplete-dropdown) .h-autocomplete-loader {\n inset-inline-end: calc(dt('autocomplete.dropdown.width') + dt('autocomplete.padding.x'));\n }\n\n .h-autocomplete:has(.h-autocomplete-dropdown) .h-autocomplete-input {\n flex: 1 1 auto;\n width: 1%;\n }\n\n .h-autocomplete:has(.h-autocomplete-dropdown) .h-autocomplete-input,\n .h-autocomplete:has(.h-autocomplete-dropdown) .h-autocomplete-input-multiple {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n\n .h-autocomplete-dropdown {\n cursor: pointer;\n display: inline-flex;\n user-select: none;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n width: dt('autocomplete.dropdown.width');\n border-start-end-radius: dt('autocomplete.dropdown.border.radius');\n border-end-end-radius: dt('autocomplete.dropdown.border.radius');\n background: dt('autocomplete.dropdown.background');\n border: 1px solid dt('autocomplete.dropdown.border.color');\n border-inline-start: 0 none;\n color: dt('autocomplete.dropdown.color');\n transition:\n background dt('autocomplete.transition.duration'),\n color dt('autocomplete.transition.duration'),\n border-color dt('autocomplete.transition.duration'),\n outline-color dt('autocomplete.transition.duration'),\n box-shadow dt('autocomplete.transition.duration');\n outline-color: transparent;\n }\n\n .h-autocomplete-dropdown:not(:disabled):hover {\n background: dt('autocomplete.dropdown.hover.background');\n border-color: dt('autocomplete.dropdown.hover.border.color');\n color: dt('autocomplete.dropdown.hover.color');\n }\n\n .h-autocomplete-dropdown:not(:disabled):active {\n background: dt('autocomplete.dropdown.active.background');\n border-color: dt('autocomplete.dropdown.active.border.color');\n color: dt('autocomplete.dropdown.active.color');\n }\n\n .h-autocomplete-dropdown:focus-visible {\n box-shadow: dt('autocomplete.dropdown.focus.ring.shadow');\n outline: dt('autocomplete.dropdown.focus.ring.width') dt('autocomplete.dropdown.focus.ring.style') dt('autocomplete.dropdown.focus.ring.color');\n outline-offset: dt('autocomplete.dropdown.focus.ring.offset');\n }\n\n .h-autocomplete-overlay {\n position: absolute;\n top: 0;\n left: 0;\n background: dt('autocomplete.overlay.background');\n color: dt('autocomplete.overlay.color');\n border: 1px solid dt('autocomplete.overlay.border.color');\n border-radius: dt('autocomplete.overlay.border.radius');\n box-shadow: dt('autocomplete.overlay.shadow');\n min-width: 100%;\n }\n\n .h-autocomplete-list-container {\n overflow: auto;\n }\n\n .h-autocomplete-list {\n margin: 0;\n list-style-type: none;\n display: flex;\n flex-direction: column;\n gap: dt('autocomplete.list.gap');\n padding: dt('autocomplete.list.padding');\n }\n\n .h-autocomplete-option {\n cursor: pointer;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n display: flex;\n align-items: center;\n padding: dt('autocomplete.option.padding');\n border: 0 none;\n color: dt('autocomplete.option.color');\n background: transparent;\n transition:\n background dt('autocomplete.transition.duration'),\n color dt('autocomplete.transition.duration'),\n border-color dt('autocomplete.transition.duration');\n border-radius: dt('autocomplete.option.border.radius');\n }\n\n .h-autocomplete-option:not(.h-autocomplete-option-selected):not(.h-disabled).h-focus {\n background: dt('autocomplete.option.focus.background');\n color: dt('autocomplete.option.focus.color');\n }\n\n .h-autocomplete-option:not(.h-autocomplete-option-selected):not(.h-disabled):hover {\n background: dt('autocomplete.option.focus.background');\n color: dt('autocomplete.option.focus.color');\n }\n\n .h-autocomplete-option-selected {\n background: dt('autocomplete.option.selected.background');\n color: dt('autocomplete.option.selected.color');\n }\n\n .h-autocomplete-option-selected.h-focus {\n background: dt('autocomplete.option.selected.focus.background');\n color: dt('autocomplete.option.selected.focus.color');\n }\n\n .h-autocomplete-option-group {\n margin: 0;\n padding: dt('autocomplete.option.group.padding');\n color: dt('autocomplete.option.group.color');\n background: dt('autocomplete.option.group.background');\n font-weight: dt('autocomplete.option.group.font.weight');\n }\n\n .h-autocomplete-input-multiple {\n margin: 0;\n list-style-type: none;\n cursor: text;\n overflow: hidden;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n padding: calc(dt('autocomplete.padding.y') / 2) dt('autocomplete.padding.x');\n gap: calc(dt('autocomplete.padding.y') / 2);\n color: dt('autocomplete.color');\n background: dt('autocomplete.background');\n border: 1px solid dt('autocomplete.border.color');\n border-radius: dt('autocomplete.border.radius');\n width: 100%;\n transition:\n background dt('autocomplete.transition.duration'),\n color dt('autocomplete.transition.duration'),\n border-color dt('autocomplete.transition.duration'),\n outline-color dt('autocomplete.transition.duration'),\n box-shadow dt('autocomplete.transition.duration');\n outline-color: transparent;\n box-shadow: dt('autocomplete.shadow');\n }\n\n .h-autocomplete-input-multiple.h-disabled {\n opacity: 1;\n background: dt('autocomplete.disabled.background');\n color: dt('autocomplete.disabled.color');\n }\n\n .h-autocomplete-input-multiple:not(.h-disabled):hover {\n border-color: dt('autocomplete.hover.border.color');\n }\n\n .h-autocomplete.h-focus .h-autocomplete-input-multiple:not(.h-disabled) {\n border-color: dt('autocomplete.focus.border.color');\n box-shadow: dt('autocomplete.focus.ring.shadow');\n outline: dt('autocomplete.focus.ring.width') dt('autocomplete.focus.ring.style') dt('autocomplete.focus.ring.color');\n outline-offset: dt('autocomplete.focus.ring.offset');\n }\n\n .h-autocomplete.h-invalid .h-autocomplete-input-multiple {\n border-color: dt('autocomplete.invalid.border.color');\n }\n\n .h-variant-filled.h-autocomplete-input-multiple {\n background: dt('autocomplete.filled.background');\n }\n\n .h-autocomplete-input-multiple.h-variant-filled:not(.h-disabled):hover {\n background: dt('autocomplete.filled.hover.background');\n }\n\n .h-autocomplete.h-focus .h-autocomplete-input-multiple.h-variant-filled:not(.h-disabled) {\n background: dt('autocomplete.filled.focus.background');\n }\n\n .h-autocomplete-chip.h-chip {\n padding-block-start: calc(dt('autocomplete.padding.y') / 2);\n padding-block-end: calc(dt('autocomplete.padding.y') / 2);\n border-radius: dt('autocomplete.chip.border.radius');\n }\n\n .h-autocomplete-input-multiple:has(.h-autocomplete-chip) {\n padding-inline-start: calc(dt('autocomplete.padding.y') / 2);\n padding-inline-end: calc(dt('autocomplete.padding.y') / 2);\n }\n\n .h-autocomplete-chip-item.h-focus .h-autocomplete-chip {\n background: dt('autocomplete.chip.focus.background');\n color: dt('autocomplete.chip.focus.color');\n }\n\n .h-autocomplete-input-chip {\n flex: 1 1 auto;\n display: inline-flex;\n padding-block-start: calc(dt('autocomplete.padding.y') / 2);\n padding-block-end: calc(dt('autocomplete.padding.y') / 2);\n }\n\n .h-autocomplete-input-chip input {\n border: 0 none;\n outline: 0 none;\n background: transparent;\n margin: 0;\n padding: 0;\n box-shadow: none;\n border-radius: 0;\n width: 100%;\n font-family: inherit;\n font-feature-settings: inherit;\n font-size: 1rem;\n color: inherit;\n }\n\n .h-autocomplete-input-chip input::placeholder {\n color: dt('autocomplete.placeholder.color');\n }\n\n .h-autocomplete.h-invalid .h-autocomplete-input-chip input::placeholder {\n color: dt('autocomplete.invalid.placeholder.color');\n }\n\n .h-autocomplete-empty-message {\n padding: dt('autocomplete.empty.message.padding');\n }\n\n .h-autocomplete-fluid {\n display: flex;\n }\n\n .h-autocomplete-fluid:has(.h-autocomplete-dropdown) .h-autocomplete-input {\n width: 1%;\n }\n\n .h-autocomplete:has(.h-inputtext-sm) .h-autocomplete-dropdown {\n width: dt('autocomplete.dropdown.sm.width');\n }\n\n .h-autocomplete:has(.h-inputtext-sm) .h-autocomplete-dropdown .h-icon {\n font-size: dt('form.field.sm.font.size');\n width: dt('form.field.sm.font.size');\n height: dt('form.field.sm.font.size');\n }\n\n .h-autocomplete:has(.h-inputtext-lg) .h-autocomplete-dropdown {\n width: dt('autocomplete.dropdown.lg.width');\n }\n\n .h-autocomplete:has(.h-inputtext-lg) .h-autocomplete-dropdown .h-icon {\n font-size: dt('form.field.lg.font.size');\n width: dt('form.field.lg.font.size');\n height: dt('form.field.lg.font.size');\n }\n\n .h-autocomplete-clear-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n cursor: pointer;\n color: dt('form.field.icon.color');\n inset-inline-end: dt('autocomplete.padding.x');\n }\n\n .h-autocomplete:has(.h-autocomplete-dropdown) .h-autocomplete-clear-icon {\n inset-inline-end: calc(dt('autocomplete.padding.x') + dt('autocomplete.dropdown.width'));\n }\n\n .h-autocomplete:has(.h-autocomplete-clear-icon) .h-autocomplete-input {\n padding-inline-end: calc((dt('form.field.padding.x') * 2) + dt('icon.size'));\n }\n\n .h-inputgroup .h-autocomplete-dropdown {\n border-radius: 0;\n }\n\n .h-inputgroup > .h-autocomplete:last-child:has(.h-autocomplete-dropdown) > .h-autocomplete-input {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n\n .h-inputgroup > .h-autocomplete:last-child .h-autocomplete-dropdown {\n border-start-end-radius: dt('autocomplete.dropdown.border.radius');\n border-end-end-radius: dt('autocomplete.dropdown.border.radius');\n }\n`;\n","import { Injectable } from '@angular/core';\nimport { style as autocomplete_style } from './autocomplete.css';\nimport { BaseStyle } from '@gravionlabs/helix-core/base';\n\nconst style = /*css*/ `\n${autocomplete_style}\n\n/* For Helix */\nh-autoComplete.ng-invalid.ng-dirty .h-autocomplete-input,\nh-autoComplete.ng-invalid.ng-dirty .h-autocomplete-input-multiple,\nh-auto-complete.ng-invalid.ng-dirty .h-autocomplete-input,\nh-auto-complete.ng-invalid.ng-dirty .h-autocomplete-input-multiple h-autocomplete.ng-invalid.ng-dirty .h-autocomplete-input,\nh-autocomplete.ng-invalid.ng-dirty .h-autocomplete-input-multiple {\n border-color: dt('autocomplete.invalid.border.color');\n}\n\nh-autoComplete.ng-invalid.ng-dirty .h-autocomplete-input:enabled:focus,\nh-autoComplete.ng-invalid.ng-dirty:not(.h-disabled).h-focus .h-autocomplete-input-multiple,\nh-auto-complete.ng-invalid.ng-dirty .h-autocomplete-input:enabled:focus,\nh-auto-complete.ng-invalid.ng-dirty:not(.h-disabled).h-focus .h-autocomplete-input-multiple,\nh-autocomplete.ng-invalid.ng-dirty .h-autocomplete-input:enabled:focus,\nh-autocomplete.ng-invalid.ng-dirty:not(.h-disabled).h-focus .h-autocomplete-input-multiple {\n border-color: dt('autocomplete.focus.border.color');\n}\n\nh-autoComplete.ng-invalid.ng-dirty .h-autocomplete-input-chip input::placeholder,\nh-auto-complete.ng-invalid.ng-dirty .h-autocomplete-input-chip input::placeholder,\nh-autocomplete.ng-invalid.ng-dirty .h-autocomplete-input-chip input::placeholder {\n color: dt('autocomplete.invalid.placeholder.color');\n}\n\nh-autoComplete.ng-invalid.ng-dirty .h-autocomplete-input::placeholder,\nh-auto-complete.ng-invalid.ng-dirty .h-autocomplete-input::placeholder,\nh-autocomplete.ng-invalid.ng-dirty .h-autocomplete-input::placeholder {\n color: dt('autocomplete.invalid.placeholder.color');\n}\n`;\n\nconst inlineStyles = {\n root: { position: 'relative' }\n};\n\nconst classes = {\n root: ({ instance }) => [\n 'h-autocomplete h-component h-inputwrapper',\n {\n 'h-invalid': instance.invalid(),\n 'h-focus': instance.focused,\n 'h-inputwrapper-filled': instance.$filled(),\n 'h-inputwrapper-focus': (instance.focused && !instance.$disabled()) || instance.autofocus || instance.overlayVisible,\n 'h-autocomplete-open': instance.overlayVisible,\n 'h-autocomplete-clearable': instance.showClear && !instance.$disabled(),\n 'h-autocomplete-fluid': instance.hasFluid\n }\n ],\n pcInputText: 'h-autocomplete-input',\n inputMultiple: ({ instance }) => [\n 'h-autocomplete-input-multiple',\n {\n 'h-disabled': instance.$disabled(),\n 'h-variant-filled': instance.$variant() === 'filled'\n }\n ],\n chipItem: ({ instance, i }) => [\n 'h-autocomplete-chip-item',\n {\n 'h-focus': instance.focusedMultipleOptionIndex() === i\n }\n ],\n pcChip: 'h-autocomplete-chip',\n chipIcon: 'h-autocomplete-chip-icon',\n inputChip: 'h-autocomplete-input-chip',\n loader: 'h-autocomplete-loader',\n dropdown: 'h-autocomplete-dropdown',\n overlay: ({ instance }) => ['h-autocomplete-overlay h-component-overlay h-component', { 'h-input-filled': instance.$variant() === 'filled', 'h-ripple-disabled': instance.config.ripple() === false }],\n listContainer: 'h-autocomplete-list-container',\n list: 'h-autocomplete-list',\n optionGroup: 'h-autocomplete-option-group',\n option: ({ instance, option, i, scrollerOptions }) => ({\n 'h-autocomplete-option': true,\n 'h-autocomplete-option-selected': instance.isSelected(option),\n 'h-focus': instance.focusedOptionIndex() === instance.getOptionIndex(i, scrollerOptions),\n 'h-disabled': instance.isOptionDisabled(option)\n }),\n emptyMessage: 'h-autocomplete-empty-message',\n clearIcon: 'h-autocomplete-clear-icon'\n};\n\n@Injectable()\nexport class AutoCompleteStyle extends BaseStyle {\n name = 'autocomplete';\n\n style = style;\n\n classes = classes;\n\n inlineStyles = inlineStyles;\n}\n\n/**\n *\n * AutoComplete is an input component that provides real-time suggestions while being typed.\n *\n * [Live Demo](https://www.primeng.org/autocomplete/)\n *\n * @module autocompletestyle\n *\n */\nexport enum AutoCompleteClasses {\n /**\n * Class name of the root element\n */\n root = 'h-autocomplete',\n /**\n * Class name of the input element\n */\n pcInputText = 'h-autocomplete-input',\n /**\n * Class name of the input multiple element\n */\n inputMultiple = 'h-autocomplete-input-multiple',\n /**\n * Class name of the chip item element\n */\n chipItem = 'h-autocomplete-chip-item',\n /**\n * Class name of the chip element\n */\n pcChip = 'h-autocomplete-chip',\n /**\n * Class name of the chip icon element\n */\n chipIcon = 'h-autocomplete-chip-icon',\n /**\n * Class name of the input chip element\n */\n inputChip = 'h-autocomplete-input-chip',\n /**\n * Class name of the loader element\n */\n loader = 'h-autocomplete-loader',\n /**\n * Class name of the dropdown element\n */\n dropdown = 'h-autocomplete-dropdown',\n /**\n * Class name of the panel element\n */\n panel = 'h-autocomplete-overlay',\n /**\n * Class name of the list element\n */\n list = 'h-autocomplete-list',\n /**\n * Class name of the option group element\n */\n optionGroup = 'h-autocomplete-option-group',\n /**\n * Class name of the option element\n */\n option = 'h-autocomplete-option',\n /**\n * Class name of the empty message element\n */\n emptyMessage = 'h-autocomplete-empty-message',\n /**\n * Class name of the clear icon\n */\n clearIcon = 'h-autocomplete-clear-icon'\n}\n\nexport interface AutoCompleteStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n contentChildren,\n effect,\n ElementRef,\n forwardRef,\n inject,\n InjectionToken,\n input,\n model,\n NgModule,\n NgZone,\n numberAttribute,\n output,\n signal,\n TemplateRef,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MotionOptions } from '@gravionlabs/helix-core/uix/motion';\nimport { equals, findLastIndex, findSingle, focus, isEmpty, isNotEmpty, resolveFieldData, uuid } from '@gravionlabs/helix-core/uix/utils';\nimport { OverlayOptions, OverlayService, HelixTemplate, ScrollerOptions, SharedModule, TranslationKeys } from '@gravionlabs/helix-core/api';\nimport { AutoFocus } from '@gravionlabs/helix-core/autofocus';\nimport { PARENT_INSTANCE } from '@gravionlabs/helix-core/basecomponent';\nimport { BaseInput } from '@gravionlabs/helix-core/baseinput';\nimport { Bind, BindModule } from '@gravionlabs/helix-core/bind';\nimport { Chip } from '@gravionlabs/helix-core/chip';\nimport { ConnectedOverlayScrollHandler } from '@gravionlabs/helix-core/dom';\nimport { ChevronDownIcon, SpinnerIcon, TimesCircleIcon, TimesIcon } from '@gravionlabs/helix-core/icons';\nimport { InputText } from '@gravionlabs/helix-core/inputtext';\nimport { Overlay } from '@gravionlabs/helix-core/overlay';\nimport { Ripple } from '@gravionlabs/helix-core/ripple';\nimport { Scroller } from '@gravionlabs/helix-core/scroller';\nimport { Nullable } from '@gravionlabs/helix-core/ts-helpers';\nimport {\n AutoCompleteAddEvent,\n AutoCompleteCompleteEvent,\n AutoCompleteDropdownClickEvent,\n AutoCompleteGroupTemplateContext,\n AutoCompleteItemTemplateContext,\n AutoCompleteLazyLoadEvent,\n AutoCompleteLoaderTemplateContext,\n AutoCompletePassThrough,\n AutoCompleteRemoveIconTemplateContext,\n AutoCompleteSelectedItemTemplateContext,\n AutoCompleteSelectEvent,\n AutoCompleteUnselectEvent\n} from '@gravionlabs/helix-core/types/autocomplete';\nimport { AutoCompleteStyle } from './style/autocompletestyle';\n\nconst AUTOCOMPLETE_INSTANCE = new InjectionToken<AutoComplete>('AUTOCOMPLETE_INSTANCE');\n\nexport const AUTOCOMPLETE_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AutoComplete),\n multi: true\n};\n\n/**\n * AutoComplete is an input component that provides real-time suggestions when being typed.\n * @group Components\n */\n@Component({\n selector: 'h-autoComplete, h-autocomplete, h-auto-complete',\n standalone: true,\n imports: [CommonModule, Overlay, InputText, Ripple, Scroller, AutoFocus, TimesCircleIcon, SpinnerIcon, ChevronDownIcon, Chip, SharedModule, TimesIcon, BindModule],\n templateUrl: './autocomplete.html',\n providers: [AUTOCOMPLETE_VALUE_ACCESSOR, AutoCompleteStyle, { provide: AUTOCOMPLETE_INSTANCE, useExisting: AutoComplete }, { provide: PARENT_INSTANCE, useExisting: AutoComplete }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"cn(cx('root'), styleClass())\",\n '[style]': \"sx('root')\",\n '[attr.data-h]': 'containerDataP',\n '(click)': 'onHostClick($event)'\n },\n hostDirectives: [Bind]\n})\nexport class AutoComplete extends BaseInput<AutoCompletePassThrough> {\n componentName = 'AutoComplete';\n\n $pcAutoComplete: AutoComplete | undefined = inject(AUTOCOMPLETE_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n /**\n * Minimum number of characters to initiate a search.\n * @deprecated since v20.0.0, use `minQueryLength` instead.\n * @group Props\n */\n readonly minLength = input<number, unknown>(1, { transform: numberAttribute });\n /**\n * Minimum number of characters to initiate a search.\n * @group Props\n */\n readonly minQueryLength = input<number, unknown>(undefined, { transform: numberAttribute });\n /**\n * Delay between keystrokes to wait before sending a query.\n * @group Props\n */\n readonly delay = input<number, unknown>(300, { transform: numberAttribute });\n /**\n * Inline style of the overlay panel element.\n * @group Props\n */\n readonly panelStyle = input<{\n [klass: string]: any;\n} | null>();\n /**\n * Style class of the component.\n * @deprecated since v20.0.0, use `class` instead.\n * @group Props\n */\n readonly styleClass = input<string>();\n /**\n * Style class of the overlay panel element.\n * @group Props\n */\n readonly panelStyleClass = input<string>();\n /**\n * Inline style of the input field.\n * @group Props\n */\n readonly inputStyle = input<{\n [klass: string]: any;\n} | null>();\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n readonly inputId = input<string>();\n /**\n * Inline style of the input field.\n * @group Props\n */\n readonly inputStyleClass = input<string>();\n /**\n * Hint text for the input field.\n * @group Props\n */\n readonly placeholder = input<string>();\n /**\n * When present, it specifies that the input cannot be typed.\n * @group Props\n */\n readonly readonly = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Maximum height of the suggestions panel.\n * @group Props\n */\n readonly scrollHeight = input<string>('200px');\n /**\n * Defines if data is loaded and interacted with in lazy manner.\n * @group Props\n */\n readonly lazy = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * Whether the data should be loaded on demand during scroll.\n * @group Props\n */\n readonly virtualScroll = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n readonly virtualScrollItemSize = input<number, unknown>(undefined, { transform: numberAttribute });\n /**\n * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.\n * @group Props\n */\n readonly virtualScrollOptions = input<ScrollerOptions>();\n /**\n * When enabled, highlights the first item in the list by default.\n * @group Props\n */\n readonly autoHighlight = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * When present, autocomplete clears the manual input if it does not match of the suggestions to force only accepting values from the suggestions.\n * @group Props\n */\n readonly forceSelection = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Type of the input, defaults to \"text\".\n * @group Props\n */\n readonly type = input<string>('text');\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n readonly autoZIndex = input<boolean, unknown>(true, { transform: booleanAttribute });\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n readonly baseZIndex = input<number, unknown>(0, { transform: numberAttribute });\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n readonly ariaLabel = input<string>();\n /**\n * Defines a string that labels the dropdown button for accessibility.\n * @group Props\n */\n readonly dropdownAriaLabel = input<string>();\n /**\n * Specifies one or more IDs in the DOM that labels the input field.\n * @group Props\n */\n readonly ariaLabelledBy = input<string>();\n /**\n * Icon class of the dropdown icon.\n * @group Props\n */\n readonly dropdownIcon = input<string | undefined>(undefined);\n /**\n * Ensures uniqueness of selected items on multiple mode.\n * @group Props\n */\n readonly unique = input<boolean, unknown>(true, { transform: booleanAttribute });\n /**\n * Whether to display options as grouped when nested options are provided.\n * @group Props\n */\n readonly group = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Whether to run a query when input receives focus.\n * @group Props\n */\n readonly completeOnFocus = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n readonly showClear = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * Displays a button next to the input field when enabled.\n * @group Props\n */\n readonly dropdown = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Whether to show the empty message or not.\n * @group Props\n */\n readonly showEmptyMessage = input<boolean | undefined, unknown>(true, { transform: booleanAttribute });\n /**\n * Specifies the behavior dropdown button. Default \"blank\" mode sends an empty string and \"current\" mode sends the input value.\n * @group Props\n */\n readonly dropdownMode = input<string>('blank');\n /**\n * Specifies if multiple values can be selected.\n * @group Props\n */\n readonly multiple = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * When enabled, the input value is added to the selected items on tab key press when multiple is true and typeahead is false.\n * @group Props\n */\n readonly addOnTab = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n readonly tabindex = input<number, unknown>(undefined, { transform: numberAttribute });\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n readonly dataKey = input<string>();\n /**\n * Text to display when there is no data. Defaults to global value in i18n translation configuration.\n * @group Props\n */\n readonly emptyMessage = input<string>();\n /**\n * Transition options of the show animation.\n * @group Props\n * @deprecated since v21.0.0, use `motionOptions` instead.\n */\n readonly showTransitionOptions = input<string>('.12s cubic-bezier(0, 0, 0.2, 1)');\n /**\n * Transition options of the hide animation.\n * @group Props\n * @deprecated since v21.0.0, use `motionOptions` instead.\n */\n readonly hideTransitionOptions = input<string>('.1s linear');\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n readonly autofocus = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Used to define a string that autocomplete attribute the current element.\n * @group Props\n */\n readonly autocomplete = input<string>('off');\n /**\n * Name of the options field of an option group.\n * @group Props\n */\n readonly optionGroupChildren = input<string | undefined>('items');\n /**\n * Name of the label field of an option group.\n * @group Props\n */\n readonly optionGroupLabel = input<string | undefined>('label');\n /**\n * Options for the overlay element.\n * @group Props\n */\n readonly overlayOptions = input<OverlayOptions>();\n\n /**\n * An array of suggestions to display.\n * @group Props\n */\n readonly suggestions = input<any[] | null>(null);\n\n /**\n * Property name or getter function to use as the label of an option.\n * @group Props\n */\n readonly optionLabel = input<string | ((item: any) => string)>();\n /**\n * Property name or getter function to use as the value of an option.\n * @group Props\n */\n readonly optionValue = input<string | ((item: any) => string)>();\n /**\n * Unique identifier of the component.\n * @group Props\n */\n readonly id = model<string | undefined>(undefined);\n /**\n * Text to display when the search is active. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue '{0} results are available'\n */\n readonly searchMessage = input<string>();\n /**\n * Text to display when filtering does not return any results. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue 'No selected item'\n */\n readonly emptySelectionMessage = input<string>();\n /**\n * Text to be displayed in hidden accessible field when options are selected. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue '{0} items selected'\n */\n readonly selectionMessage = input<string>();\n /**\n * Whether to focus on the first visible or selected element when the overlay panel is shown.\n * @group Props\n */\n readonly autoOptionFocus = input<boolean | undefined, unknown>(false, { transform: booleanAttribute });\n /**\n * When enabled, the focused option is selected.\n * @group Props\n */\n readonly selectOnFocus = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Locale to use in searching. The default locale is the host environment's current locale.\n * @group Props\n */\n readonly searchLocale = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Property name or getter function to use as the disabled flag of an option, defaults to false when not defined.\n * @group Props\n */\n readonly optionDisabled = input<string | ((item: any) => string)>();\n /**\n * When enabled, the hovered option will be focused.\n * @group Props\n */\n readonly focusOnHover = input<boolean | undefined, unknown>(true, { transform: booleanAttribute });\n /**\n * Whether typeahead is active or not.\n * @defaultValue true\n * @group Props\n */\n readonly typeahead = input<boolean, unknown>(true, { transform: booleanAttribute });\n /**\n * Whether to add an item on blur event if the input has value and typeahead is false with multiple mode.\n * @defaultValue false\n * @group Props\n */\n readonly addOnBlur = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * Separator char to add item when typeahead is false and multiple mode is enabled.\n * @group Props\n */\n readonly separator = input<string | RegExp>();\n /**\n * 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).\n * @defaultValue 'self'\n * @group Props\n */\n appendTo = input<HTMLElement | ElementRef | TemplateRef<any> | 'self' | 'body' | null | undefined | any>(undefined);\n /**\n * The motion options.\n * @group Props\n */\n motionOptions = input<MotionOptions | undefined>(undefined);\n /**\n * Callback to invoke to search for suggestions.\n * @param {AutoCompleteCompleteEvent} event - Custom complete event.\n * @group Emits\n */\n readonly completeMethod = output<AutoCompleteCompleteEvent>();\n /**\n * Callback to invoke when a suggestion is selected.\n * @param {AutoCompleteSelectEvent} event - custom select event.\n * @group Emits\n */\n readonly onSelect = output<AutoCompleteSelectEvent>();\n /**\n * Callback to invoke when a selected value is removed.\n * @param {AutoCompleteUnselectEvent} event - custom unselect event.\n * @group Emits\n */\n readonly onUnselect = output<AutoCompleteUnselectEvent>();\n /**\n * Callback to invoke when an item is added via addOnBlur or separator features.\n * @param {AutoCompleteAddEvent} event - Custom add event.\n * @group Emits\n */\n readonly onAdd = output<AutoCompleteAddEvent>();\n /**\n * Callback to invoke when the component receives focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n readonly onFocus = output<Event>();\n /**\n * Callback to invoke when the component loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n readonly onBlur = output<Event>();\n /**\n * Callback to invoke to when dropdown button is clicked.\n * @param {AutoCompleteDropdownClickEvent} event - custom dropdown click event.\n * @group Emits\n */\n readonly onDropdownClick = output<AutoCompleteDropdownClickEvent>();\n /**\n * Callback to invoke when clear button is clicked.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n readonly onClear = output<Event | undefined>();\n /**\n * Callback to invoke on input key down.\n * @param {KeyboardEvent} event - Keyboard event.\n * @group Emits\n */\n readonly onInputKeydown = output<KeyboardEvent>();\n /**\n * Callback to invoke on input key up.\n * @param {KeyboardEvent} event - Keyboard event.\n * @group Emits\n */\n readonly onKeyUp = output<KeyboardEvent>();\n /**\n * Callback to invoke on overlay is shown.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n readonly onShow = output<Event | undefined>();\n /**\n * Callback to invoke on overlay is hidden.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n readonly onHide = output<Event | undefined>();\n /**\n * Callback to invoke on lazy load data.\n * @param {AutoCompleteLazyLoadEvent} event - Lazy load event.\n * @group Emits\n */\n readonly onLazyLoad = output<AutoCompleteLazyLoadEvent>();\n\n readonly inputEL = viewChild<ElementRef>('focusInput');\n\n readonly multiInputEl = viewChild<ElementRef>('multiIn');\n\n readonly multiContainerEL = viewChild<ElementRef>('multiContainer');\n\n readonly dropdownButton = viewChild<ElementRef>('ddBtn');\n\n readonly itemsViewChild = viewChild<ElementRef>('items');\n\n readonly scroller = viewChild<Scroller>('scroller');\n\n readonly overlayViewChild = viewChild<Overlay>('overlay');\n\n itemsWrapper: Nullable<HTMLDivElement>;\n\n /**\n * Custom item template.\n * @group Templates\n */\n readonly itemTemplate = contentChild<TemplateRef<AutoCompleteItemTemplateContext>>('item');\n\n /**\n * Custom empty message template.\n * @group Templates\n */\n readonly emptyTemplate = contentChild<TemplateRef<void>>('empty');\n\n /**\n * Custom header template.\n * @group Templates\n */\n readonly headerTemplate = contentChild<TemplateRef<void>>('header');\n\n /**\n * Custom footer template.\n * @group Templates\n */\n readonly footerTemplate = contentChild<TemplateRef<void>>('footer');\n\n /**\n * Custom selected item template.\n * @group Templates\n */\n readonly selectedItemTemplate = contentChild<TemplateRef<AutoCompleteSelectedItemTemplateContext>>('selecteditem');\n\n /**\n * Custom group template.\n * @group Templates\n */\n readonly groupTemplate = contentChild<TemplateRef<AutoCompleteGroupTemplateContext>>('group');\n\n /**\n * Custom loader template.\n * @group Templates\n */\n readonly loaderTemplate = contentChild<TemplateRef<AutoCompleteLoaderTemplateContext>>('loader');\n\n /**\n * Custom remove icon template.\n * @group Templates\n */\n readonly removeIconTemplate = contentChild<TemplateRef<AutoCompleteRemoveIconTemplateContext>>('removeicon');\n\n /**\n * Custom loading icon template.\n * @group Templates\n */\n readonly loadingIconTemplate = contentChild<TemplateRef<void>>('loadingicon');\n\n /**\n * Custom clear icon template.\n * @group Templates\n */\n readonly clearIconTemplate = contentChild<TemplateRef<void>>('clearicon');\n\n /**\n * Custom dropdown icon template.\n * @group Templates\n */\n readonly dropdownIconTemplate = contentChild<TemplateRef<void>>('dropdownicon');\n\n onHostClick(event: MouseEvent) {\n this.onContainerClick(event);\n }\n\n value: string | any;\n\n _suggestions = signal<any>(null);\n\n timeout: Nullable<any>;\n\n overlayVisible: boolean | undefined;\n\n suggestionsUpdated: Nullable<boolean>;\n\n highlightOption: any;\n\n highlightOptionChanged: Nullable<boolean>;\n\n focused: boolean = false;\n\n loading: Nullable<boolean>;\n\n scrollHandler: Nullable<ConnectedOverlayScrollHandler>;\n\n listId: string | undefined;\n\n searchTimeout: any;\n\n dirty: boolean = false;\n\n _itemTemplate: TemplateRef<AutoCompleteItemTemplateContext> | undefined;\n\n _groupTemplate: TemplateRef<AutoCompleteGroupTemplateContext> | undefined;\n\n _selectedItemTemplate: TemplateRef<AutoCompleteSelectedItemTemplateContext> | undefined;\n\n _headerTemplate: TemplateRef<void> | undefined;\n\n _emptyTemplate: TemplateRef<void> | undefined;\n\n _footerTemplate: TemplateRef<void> | undefined;\n\n _loaderTemplate: TemplateRef<AutoCompleteLoaderTemplateContext> | undefined;\n\n _removeIconTemplate: TemplateRef<AutoCompleteRemoveIconTemplateContext> | undefined;\n\n _loadingIconTemplate: TemplateRef<void> | undefined;\n\n _clearIconTemplate: TemplateRef<void> | undefined;\n\n _dropdownIconTemplate: TemplateRef<void> | undefined;\n\n focusedMultipleOptionIndex = signal<number>(-1);\n\n focusedOptionIndex = signal<number>(-1);\n\n _componentStyle = inject(AutoCompleteStyle);\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n visibleOptions = computed(() => {\n return this.group() ? this.flatOptions(this._suggestions()) : this._suggestions() || [];\n });\n\n inputValue = computed(() => {\n const modelValue = this.modelValue();\n const selectedOption = this.optionValueSelected ? (this.suggestions() || []).find((option: any) => equals(option, modelValue, this.equalityKey())) : modelValue;\n\n if (isNotEmpty(modelValue)) {\n if (typeof modelValue === 'object' || this.optionValueSelected) {\n const label = this.getOptionLabel(selectedOption);\n\n return label != null ? label : modelValue;\n } else {\n return modelValue;\n }\n } else {\n return '';\n }\n });\n\n get focusedMultipleOptionId() {\n return this.focusedMultipleOptionIndex() !== -1 ? `${this.id()}_multiple_option_${this.focusedMultipleOptionIndex()}` : null;\n }\n\n get focusedOptionId() {\n return this.focusedOptionIndex() !== -1 ? `${this.id()}_${this.focusedOptionIndex()}` : null;\n }\n\n get searchResultMessageText() {\n return isNotEmpty(this.visibleOptions()) && this.overlayVisible ? this.searchMessageText.replaceAll('{0}', this.visibleOptions().length) : this.emptySearchMessageText;\n }\n\n get searchMessageText() {\n return this.searchMessage() || this.config.translation.searchMessage || '';\n }\n\n get emptySearchMessageText() {\n return this.emptyMessage() || this.config.translation.emptySearchMessage || '';\n }\n\n get selectionMessageText() {\n return this.selectionMessage() || this.config.translation.selectionMessage || '';\n }\n\n get emptySelectionMessageText() {\n return this.emptySelectionMessage() || this.config.translation.emptySelectionMessage || '';\n }\n\n get selectedMessageText() {\n return this.hasSelectedOption() ? this.selectionMessageText.replaceAll('{0}', this.multiple() ? this.modelValue()?.length : '1') : this.emptySelectionMessageText;\n }\n\n get ariaSetSize() {\n return this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length;\n }\n\n get listLabel(): string {\n return this.config.getTranslation(TranslationKeys.ARIA)['listLabel'];\n }\n\n get virtualScrollerDisabled() {\n return !this.virtualScroll();\n }\n\n get optionValueSelected() {\n return typeof this.modelValue() === 'string' && this.optionValue();\n }\n\n chipItemClass(index) {\n return this._componentStyle.classes.chipItem({ instance: this, i: index });\n }\n\n constructor(\n public overlayService: OverlayService,\n private zone: NgZone\n ) {\n super();\n effect(() => {\n const value = this.suggestions();\n this._suggestions.set(value);\n this.handleSuggestionsChange();\n });\n }\n\n onInit() {\n if (!this.id()) this.id.set(uuid('pn_id_'));\n this.cd.detectChanges();\n }\n\n readonly templates = contentChildren(HelixTemplate);\n\n onAfterContentInit() {\n this.templates().forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this._itemTemplate = item.template;\n break;\n\n case 'group':\n this._groupTemplate = item.template;\n break;\n\n case 'selecteditem':\n this._selectedItemTemplate = item.template;\n break;\n\n case 'selectedItem':\n this._selectedItemTemplate = item.template;\n break;\n\n case 'header':\n this._headerTemplate = item.template;\n break;\n\n case 'empty':\n this._emptyTemplate = item.template;\n break;\n\n case 'footer':\n this._footerTemplate = item.template;\n break;\n\n case 'loader':\n this._loaderTemplate = item.template;\n break;\n\n case 'removetokenicon':\n this._removeIconTemplate = item.template;\n break;\n\n case 'loadingicon':\n this._loadingIconTemplate = item.template;\n break;\n\n case 'clearicon':\n this._clearIconTemplate = item.template;\n break;\n\n case 'dropdownicon':\n this._dropdownIconTemplate = item.template;\n break;\n\n default:\n this._itemTemplate = item.template;\n break;\n }\n });\n }\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n //Use timeouts as since Angular 4.2, AfterViewChecked is broken and not called after panel is updated\n if (this.suggestionsUpdated && this.overlayViewChild()) {\n this.zone.runOutsideAngular(() => {\n setTimeout(() => {\n if (this.overlayViewChild()) {\n this.overlayViewChild()!.alignOverlay();\n }\n }, 1);\n this.suggestionsUpdated = false;\n });\n }\n }\n\n handleSuggestionsChange() {\n if (this.loading) {\n this._suggestions()?.length > 0 || this.showEmptyMessage() || !!this.emptyTemplate() ? this.show() : this.hide();\n const focusedOptionIndex = this.overlayVisible && this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.suggestionsUpdated = true;\n this.loading = false;\n this.cd.markForCheck();\n }\n }\n\n flatOptions(options) {\n return (options || []).reduce((result, option, index) => {\n result.push({ optionGroup: option, group: true, index });\n\n const optionGroupChildren = this.getOptionGroupChildren(option);\n\n optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));\n\n return result;\n }, []);\n }\n\n isOptionGroup(option) {\n return this.optionGroupLabel() && option.optionGroup && option.group;\n }\n\n findFirstOptionIndex() {\n return this.visibleOptions().findIndex((option) => this.isValidOption(option));\n }\n\n findLastOptionIndex() {\n return findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));\n }\n\n findFirstFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n }\n\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n }\n\n findSelectedOptionIndex() {\n return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;\n }\n\n findNextOptionIndex(index) {\n const matchedOptionIndex =\n index < this.visibleOptions().length - 1\n ? this.visibleOptions()\n .slice(index + 1)\n .findIndex((option) => this.isValidOption(option))\n : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\n }\n\n findPrevOptionIndex(index) {\n const matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n }\n\n isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n }\n\n isValidOption(option) {\n return option && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n }\n\n isOptionDisabled(option) {\n const optionDisabled = this.optionDisabled();\n return optionDisabled ? resolveFieldData(option, optionDisabled) : false;\n }\n\n isSelected(option) {\n if (this.multiple()) {\n return this.unique() ? (this.modelValue() as string[])?.some((model) => equals(model, option, this.equalityKey())) : false;\n }\n return equals(this.modelValue(), option, this.equalityKey());\n }\n\n isOptionMatched(option, value) {\n return this.isValidOption(option) && this.getOptionLabel(option).toLocaleLowerCase(this.searchLocale()) === value.toLocaleLowerCase(this.searchLocale());\n }\n\n isInputClicked(event) {\n return event.target === this.inputEL()?.nativeElement;\n }\n\n isDropdownClicked(event) {\n const ddBtn = this.dropdownButton();\n return ddBtn?.nativeElement ? event.target === ddBtn.nativeElement || ddBtn.nativeElement.contains(event.target) : false;\n }\n\n equalityKey() {\n return this.optionValue() ? undefined : this.dataKey();\n }\n\n onContainerClick(event) {\n if (this.$disabled() || this.loading || this.isInputClicked(event) || this.isDropdownClicked(event)) {\n return;\n }\n\n const ovc = this.overlayViewChild();\n if (!ovc || !ovc.overlayViewChild()?.nativeElement.contains(event.target)) {\n focus(this.inputEL()?.nativeElement);\n }\n }\n\n handleDropdownClick(event) {\n let query: string | undefined = undefined;\n const inputEl = this.inputEL();\n\n if (this.overlayVisible) {\n this.hide(true);\n } else {\n focus(inputEl?.nativeElement);\n query = inputEl?.nativeElement?.value as string;\n\n const dropdownMode = this.dropdownMode();\n if (dropdownMode === 'blank') this.search(event, '', 'dropdown');\n else if (dropdownMode === 'current') this.search(event, query, 'dropdown');\n }\n\n this.onDropdownClick.emit({ originalEvent: event, query });\n }\n\n onInput(event) {\n if (this.typeahead()) {\n const _minLength = this.minQueryLength() || this.minLength();\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n let query = event.target.value;\n if (this.maxlength() !== null) {\n query = query.split('').slice(0, this.maxlength()).join('');\n }\n\n const multiple = this.multiple();\n if (!multiple && !this.forceSelection()) {\n this.updateModel(query);\n }\n\n if (query.length === 0 && !multiple) {\n this.onClear.emit(undefined);\n\n setTimeout(() => {\n this.hide();\n }, this.delay() / 2);\n } else {\n if (query.length >= _minLength) {\n this.focusedOptionIndex.set(-1);\n\n this.searchTimeout = setTimeout(() => {\n this.search(event, query, 'input');\n }, this.delay());\n } else {\n this.hide();\n }\n }\n }\n }\n\n onInputChange(event) {\n this.updateInputWithForceSelection(event);\n }\n\n onInputFocus(event) {\n if (this.$disabled()) {\n // For ScreenReaders\n return;\n }\n\n if (!this.dirty && this.completeOnFocus()) {\n this.search(event, event.target.value, 'focus');\n }\n this.dirty = true;\n this.focused = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.overlayVisible && this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.overlayVisible && this.scrollInView(this.focusedOptionIndex());\n this.onFocus.emit(event);\n }\n\n onMultipleContainerFocus(event) {\n if (this.$disabled()) {\n // For ScreenReaders\n return;\n }\n\n this.focused = true;\n }\n\n onMultipleContainerBlur(event) {\n this.focusedMultipleOptionIndex.set(-1);\n this.focused = false;\n }\n\n onMultipleContainerKeyDown(event) {\n if (this.$disabled()) {\n event.preventDefault();\n\n return;\n }\n\n switch (event.code) {\n case 'ArrowLeft':\n this.onArrowLeftKeyOnMultiple(event);\n break;\n\n case 'ArrowRight':\n this.onArrowRightKeyOnMultiple(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKeyOnMultiple(event);\n break;\n\n default:\n break;\n }\n }\n\n onInputBlur(event) {\n this.dirty = false;\n this.focused = false;\n this.focusedOptionIndex.set(-1);\n\n if (this.addOnBlur() && this.multiple() && !this.typeahead()) {\n const multiInput = this.multiInputEl();\n const inputValue = (multiInput?.nativeElement?.value || event.target.value || '').trim();\n if (inputValue && !this.isSelected(inputValue)) {\n this.updateModel([...(this.modelValue() || []), inputValue]);\n this.onAdd.emit({ originalEvent: event, value: inputValue });\n if (multiInput?.nativeElement) {\n multiInput.nativeElement.value = '';\n } else {\n event.target.value = '';\n }\n }\n }\n\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n onInputPaste(event) {\n const separator = this.separator();\n if (separator && this.multiple() && !this.typeahead()) {\n const pastedData = (event.clipboardData || (window as any)['clipboardData'])?.getData('Text');\n if (pastedData) {\n const values = pastedData.split(separator);\n const newValues = [...(this.modelValue() || [])];\n\n values.forEach((value: string) => {\n const trimmedValue = value.trim();\n if (trimmedValue && !this.isSelected(trimmedValue)) {\n newValues.push(trimmedValue);\n }\n });\n\n if (newValues.length > (this.modelValue() || []).length) {\n const addedValues = newValues.slice((this.modelValue() || []).length);\n this.updateModel(newValues);\n addedValues.forEach((addedValue) => {\n this.onAdd.emit({ originalEvent: event, value: addedValue });\n });\n const multiInput = this.multiInputEl();\n if (multiInput?.nativeElement) {\n multiInput.nativeElement.value = '';\n } else {\n event.target.value = '';\n }\n event.preventDefault();\n }\n }\n } else {\n this.onKeyDown(event);\n }\n }\n\n onInputKeyUp(event) {\n this.onKeyUp.emit(event);\n }\n\n onKeyDown(event) {\n if (this.$disabled()) {\n event.preventDefault();\n\n return;\n }\n\n // Emit keydown event for external handling\n this.onInputKeydown.emit(event);\n\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKey(event);\n break;\n\n case 'ShiftLeft':\n case 'ShiftRight':\n //NOOP\n break;\n\n default:\n this.handleSeparatorKey(event);\n break;\n }\n }\n\n handleSeparatorKey(event) {\n const separator = this.separator();\n if (separator && this.multiple() && !this.typeahead()) {\n if (separator === event.key || (typeof separator === 'string' && event.key === separator) || (separator instanceof RegExp && event.key.match(separator))) {\n const multiInput = this.multiInputEl();\n const inputValue = (multiInput?.nativeElement?.value || event.target.value || '').trim();\n if (inputValue && !this.isSelected(inputValue)) {\n this.updateModel([...(this.modelValue() || []), inputValue]);\n this.onAdd.emit({ originalEvent: event, value: inputValue });\n if (multiInput?.nativeElement) {\n multiInput.nativeElement.value = '';\n } else {\n event.target.value = '';\n }\n event.preventDefault();\n }\n }\n }\n }\n\n onArrowDownKey(event) {\n if (!this.overlayVisible) {\n return;\n }\n\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n event.preventDefault();\n event.stopPropagation();\n }\n\n onArrowUpKey(event) {\n if (!this.overlayVisible) {\n return;\n }\n\n if (event.altKey) {\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n\n this.overlayVisible && this.hide();\n event.preventDefault();\n } else {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.findLastFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n onArrowLeftKey(event) {\n const target = event.currentTarget;\n this.focusedOptionIndex.set(-1);\n if (this.multiple()) {\n if (isEmpty(target.value) && this.hasSelectedOption()) {\n focus(this.multiContainerEL()?.nativeElement);\n this.focusedMultipleOptionIndex.set(this.modelValue().length);\n } else {\n event.stopPropagation(); // To prevent onArrowLeftKeyOnMultiple method\n }\n }\n }\n\n onArrowRightKey(event) {\n this.focusedOptionIndex.set(-1);\n\n this.multiple() && event.stopPropagation(); // To prevent onArrowRightKeyOnMultiple method\n }\n\n onHomeKey(event) {\n const { currentTarget } = event;\n const len = currentTarget.value.length;\n\n currentTarget.setSelectionRange(0, event.shiftKey ? len : 0);\n this.focusedOptionIndex.set(-1);\n\n event.preventDefault();\n }\n\n onEndKey(event) {\n const { currentTarget } = event;\n const len = currentTarget.value.length;\n\n currentTarget.setSelectionRange(event.shiftKey ? 0 : len, len);\n this.focusedOptionIndex.set(-1);\n\n event.preventDefault();\n }\n\n onPageDownKey(event) {\n this.scrollInView(this.visibleOptions().length - 1);\n event.preventDefault();\n }\n\n onPageUpKey(event) {\n this.scrollInView(0);\n event.preventDefault();\n }\n\n onEnterKey(event) {\n if (!this.typeahead() && !this.forceSelection()) {\n if (this.multiple()) {\n const inputValue = event.target.value?.trim();\n if (inputValue && !this.isSelected(inputValue)) {\n this.updateModel([...(this.modelValue() || []), inputValue]);\n this.onAdd.emit({ originalEvent: event, value: inputValue });\n const inputEl2 = this.inputEL();\n inputEl2?.nativeElement && (inputEl2.nativeElement.value = '');\n }\n }\n }\n if (!this.overlayVisible) {\n return;\n } else {\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n\n this.hide();\n }\n\n event.preventDefault();\n }\n\n onEscapeKey(event) {\n this.overlayVisible && this.hide(true);\n event.preventDefault();\n }\n\n onTabKey(event) {\n // If there's a focused option in the dropdown, select it\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n return;\n }\n\n // Handle tab key behavior for multiple mode without typeahead\n if (this.multiple() && !this.typeahead()) {\n const multiInput = this.multiInputEl();\n const inputEl = this.inputEL();\n const inputValue = (multiInput?.nativeElement?.value || inputEl?.nativeElement?.value || '').trim();\n\n if (this.addOnTab()) {\n if (inputValue && !this.isSelected(inputValue)) {\n // Add the value and keep focus\n this.updateModel([...(this.modelValue() || []), inputValue]);\n this.onAdd.emit({ originalEvent: event, value: inputValue });\n if (multiInput?.nativeElement) {\n multiInput.nativeElement.value = '';\n } else if (inputEl?.nativeElement) {\n inputEl.nativeElement.value = '';\n }\n\n this.updateInputValue();\n event.preventDefault(); // Keep focus on the component\n this.overlayVisible && this.hide();\n return;\n }\n // If no value or already selected, allow normal tab behavior (blur)\n }\n // If addOnTab is false or no value to add, allow normal tab behavior\n // which will trigger blur and potentially addOnBlur\n }\n\n this.overlayVisible && this.hide();\n }\n\n onBackspaceKey(event) {\n if (this.multiple()) {\n if (isNotEmpty(this.modelValue()) && !this.inputEL()?.nativeElement?.value) {\n const removedValue = this.modelValue()[this.modelValue().length - 1];\n const newValue = this.modelValue().slice(0, -1);\n this.updateModel(newValue);\n this.onUnselect.emit({ originalEvent: event, value: removedValue });\n }\n\n event.stopPropagation(); // To prevent onBackspaceKeyOnMultiple method\n }\n }\n\n onArrowLeftKeyOnMultiple(event) {\n const optionIndex = this.focusedMultipleOptionIndex() < 1 ? 0 : this.focusedMultipleOptionIndex() - 1;\n this.focusedMultipleOptionIndex.set(optionIndex);\n }\n\n onArrowRightKeyOnMultiple(event) {\n let optionIndex = this.focusedMultipleOptionIndex();\n optionIndex++;\n\n this.focusedMultipleOptionIndex.set(optionIndex);\n if (optionIndex > this.modelValue().length - 1) {\n this.focusedMultipleOptionIndex.set(-1);\n focus(this.inputEL()?.nativeElement);\n }\n }\n\n onBackspaceKeyOnMultiple(event) {\n if (this.focusedMultipleOptionIndex() !== -1) {\n this.removeOption(event, this.focusedMultipleOptionIndex());\n }\n }\n\n onOptionSelect(event, option, isHide = true) {\n if (this.multiple()) {\n const inputEl = this.inputEL();\n inputEl && (inputEl.nativeElement.value = '');\n if (!this.isSelected(option)) {\n this.updateModel([...(this.modelValue() || []), option]);\n }\n } else {\n this.updateModel(option);\n }\n\n this.onSelect.emit({ originalEvent: event, value: option });\n\n isHide && this.hide(true);\n }\n\n onOptionMouseEnter(event, index) {\n if (this.focusOnHover()) {\n this.changeFocusedOptionIndex(event, index);\n }\n }\n\n search(event, query, source) {\n //allow empty string but not undefined or null\n if (query === undefined || query === null) {\n return;\n }\n\n //do not search blank values on input change\n if (source === 'input' && query.trim().length === 0) {\n return;\n }\n this.loading = true;\n this.completeMethod.emit({ originalEvent: event, query });\n }\n\n removeOption(event, index) {\n event.stopPropagation();\n\n const removedOption = this.modelValue()[index];\n const value = (this.modelValue() as string[]).filter((_, i) => i !== index);\n\n this.updateModel(value);\n this.onUnselect.emit({ originalEvent: event, value: removedOption });\n focus(this.inputEL()?.nativeElement);\n }\n\n updateModel(options) {\n let value = null;\n if (options) {\n value = this.multiple() ? options.map((option) => this.getOptionValue(option)) : this.getOptionValue(options);\n }\n\n this.value = value;\n this.writeModelValue(options);\n this.onModelChange(value);\n this.updateInputValue();\n this.cd.markForCheck();\n }\n\n updateInputValue() {\n const inputEl = this.inputEL();\n if (inputEl?.nativeElement) {\n if (!this.multiple()) {\n inputEl.nativeElement.value = this.inputValue();\n } else {\n inputEl.nativeElement.value = '';\n }\n }\n }\n\n updateInputWithForceSelection(event: any) {\n const input = this.inputEL()?.nativeElement;\n const inputCleared = !input?.value && isNotEmpty(this.modelValue());\n\n if (!this.forceSelection() || this.overlayVisible || (!input?.value && !inputCleared)) {\n return;\n }\n\n const _minLength = this.minQueryLength() ?? this.minLength();\n\n if (!inputCleared && input.value.length < _minLength) {\n return;\n }\n\n const matchedOption = this.visibleOptions()?.find((option) => this.isOptionMatched(option, input.value));\n\n if (!matchedOption) {\n input.value = '';\n if (!this.multiple()) {\n this.clear();\n }\n return;\n }\n\n if (matchedOption && !this.isSelected(matchedOption)) {\n this.onOptionSelect(event, matchedOption);\n }\n }\n\n autoUpdateModel() {\n if ((this.selectOnFocus() || this.autoHighlight()) && this.autoOptionFocus() && !this.hasSelectedOption()) {\n const focusedOptionIndex = this.findFirstFocusedOptionIndex();\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.onOptionSelect(null, this.visibleOptions()[this.focusedOptionIndex()], false);\n }\n }\n\n scrollInView(index = -1) {\n const id = index !== -1 ? `${this.id()}_${index}` : this.focusedOptionId;\n const itemsChild = this.itemsViewChild();\n if (itemsChild?.nativeElement) {\n const element = findSingle(itemsChild.nativeElement, `li[id=\"${id}\"]`);\n if (element) {\n element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n } else if (!this.virtualScrollerDisabled) {\n setTimeout(() => {\n this.virtualScroll() && this.scroller()?.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());\n }, 0);\n }\n }\n }\n\n changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex() !== index) {\n this.focusedOptionIndex.set(index);\n this.scrollInView();\n\n if (this.selectOnFocus()) {\n this.onOptionSelect(event, this.visibleOptions()[index], false);\n }\n }\n }\n\n show(isFocus = false) {\n this.dirty = true;\n this.overlayVisible = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n isFocus && focus(this.inputEL()?.nativeElement);\n if (isFocus) {\n focus(this.inputEL()?.nativeElement);\n }\n this.onShow.emit(undefined);\n this.cd.markForCheck();\n }\n\n hide(isFocus = false) {\n const _hide = () => {\n this.dirty = isFocus;\n this.overlayVisible = false;\n this.focusedOptionIndex.set(-1);\n isFocus && focus(this.inputEL()?.nativeElement);\n this.onHide.emit(undefined);\n this.updateInputWithForceSelection(null);\n this.cd.markForCheck();\n };\n\n setTimeout(() => {\n _hide();\n }, 0); // For ScreenReaders\n }\n\n clear() {\n this.updateModel(null);\n const inputEl = this.inputEL();\n inputEl?.nativeElement && (inputEl.nativeElement.value = '');\n this.onClear.emit(undefined);\n }\n\n hasSelectedOption() {\n return isNotEmpty(this.modelValue());\n }\n\n getAriaPosInset(index) {\n return (\n (this.optionGroupLabel()\n ? index -\n this.visibleOptions()\n .slice(0, index)\n .filter((option) => this.isOptionGroup(option)).length\n : index) + 1\n );\n }\n\n getOptionLabel(option: any) {\n const optionLabel = this.optionLabel();\n return optionLabel ? resolveFieldData(option, optionLabel) : option && option.label != undefined ? option.label : option;\n }\n\n getOptionValue(option) {\n const optionValue = this.optionValue();\n return optionValue ? resolveFieldData(option, optionValue) : option && option.value != undefined ? option.value : option;\n }\n\n getOptionIndex(index, scrollerOptions) {\n return this.virtualScrollerDisabled ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];\n }\n\n getOptionGroupLabel(optionGroup: any) {\n const optionGroupLabel = this.optionGroupLabel();\n return optionGroupLabel ? resolveFieldData(optionGroup, optionGroupLabel) : optionGroup && optionGroup.label != undefined ? optionGroup.label : optionGroup;\n }\n\n getOptionGroupChildren(optionGroup: any) {\n const optionGroupChildren = this.optionGroupChildren();\n return optionGroupChildren ? resolveFieldData(optionGroup, optionGroupChildren) : optionGroup.items;\n }\n\n getPTOptions(option: any, scrollerOptions: any, index: number, key: string) {\n return this.ptm(key, {\n context: {\n option,\n index: this.getOptionIndex(index, scrollerOptions),\n selected: this.isSelected(option),\n focused: this.focusedOptionIndex() === this.getOptionIndex(index, scrollerOptions),\n disabled: this.isOptionDisabled(option)\n }\n });\n }\n\n onOverlayBeforeEnter() {\n const ovc = this.overlayViewChild();\n const scrl = this.scroller();\n const itemsChild = this.itemsViewChild();\n this.itemsWrapper = <any>findSingle(ovc?.overlayViewChild()?.nativeElement, this.virtualScroll() ? '[data-pc-name=\"virtualscroller\"]' : '[data-pc-name=\"pcoverlay\"]');\n\n const virtualScroll = this.virtualScroll();\n if (virtualScroll) {\n scrl?.setContentEl(itemsChild?.nativeElement);\n scrl?.viewInit();\n }\n if (this.visibleOptions() && this.visibleOptions().length) {\n if (virtualScroll) {\n const selectedIndex = this.modelValue() ? this.focusedOptionIndex() : -1;\n\n if (selectedIndex !== -1) {\n scrl?.scrollToIndex(selectedIndex);\n }\n } else {\n let selectedListItem = findSingle(this.itemsWrapper as HTMLElement, '[data-pc-section=\"option\"][data-h-selected=\"true\"]');\n\n if (selectedListItem) {\n selectedListItem.scrollIntoView({ block: 'nearest', inline: 'center' });\n }\n }\n }\n }\n\n get containerDataP() {\n return this.cn({\n fluid: this.hasFluid\n });\n }\n\n get overlayDataP() {\n return this.cn({\n [`overlay-${this.$appendTo()}`]: true\n });\n }\n\n get inputMultipleDataP() {\n return this.cn({\n invalid: this.invalid(),\n disabled: this.$disabled(),\n focus: this.focused,\n fluid: this.hasFluid,\n filled: this.$variant() === 'filled',\n empty: !this.$filled(),\n [this.size() as string]: this.size()\n });\n }\n\n /**\n * @override\n *\n * @see {@link BaseEditableHolder.writeControlValue}\n * Writes the value to the control.\n */\n writeControlValue(value: any, setModelValue: (value: any) => void): void {\n if (this.multiple()) {\n const resolved = (value || []).map((val: any) => {\n const match = this.visibleOptions().find((option: any) => equals(val, option, this.equalityKey()));\n return match ?? val;\n });\n setModelValue(isEmpty(value) ? value : resolved);\n } else {\n const option = this.visibleOptions().find((option: any) => equals(value, option, this.equalityKey()));\n setModelValue(isEmpty(option) ? value : option);\n }\n\n this.value = value;\n this.updateInputValue();\n this.cd.markForCheck();\n }\n\n onDestroy() {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n }\n}\n\n@NgModule({\n imports: [AutoComplete, SharedModule],\n exports: [AutoComplete, SharedModule]\n})\nexport class AutoCompleteModule {}\n","@if (!multiple()) {\n <input\n #focusInput\n [hAutoFocus]=\"autofocus()\"\n hInputText\n [pt]=\"ptm('pcInputText')\"\n [class]=\"cn(cx('pcInputText'), inputStyleClass())\"\n [ngStyle]=\"inputStyle()\"\n [attr.type]=\"type()\"\n [attr.value]=\"inputValue()\"\n [variant]=\"$variant()\"\n [invalid]=\"invalid()\"\n [attr.id]=\"inputId()\"\n [attr.autocomplete]=\"autocomplete()\"\n aria-autocomplete=\"list\"\n role=\"combobox\"\n [attr.placeholder]=\"placeholder()\"\n [attr.name]=\"name()\"\n [attr.minlength]=\"minlength()\"\n [pSize]=\"size()\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [attr.pattern]=\"pattern()\"\n [attr.size]=\"inputSize()\"\n [attr.maxlength]=\"maxlength()\"\n [attr.tabindex]=\"!$disabled() ? tabindex() : -1\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.readonly]=\"readonly() ? '' : undefined\"\n [attr.disabled]=\"$disabled() ? '' : undefined\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-required]=\"required()\"\n [attr.aria-expanded]=\"overlayVisible ?? false\"\n [attr.aria-controls]=\"overlayVisible ? id() + '_list' : null\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n (input)=\"onInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n (change)=\"onInputChange($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (paste)=\"onInputPaste($event)\"\n (keyup)=\"onInputKeyUp($event)\"\n [fluid]=\"hasFluid\"\n [pInputTextUnstyled]=\"unstyled()\"\n />\n}\n@if ($filled() && !$disabled() && showClear() && !loading) {\n @if (!clearIconTemplate() && !_clearIconTemplate) {\n <svg data-h-icon=\"times\" [hBind]=\"ptm('clearIcon')\" [class]=\"cx('clearIcon')\" (click)=\"clear()\" [attr.aria-hidden]=\"true\" />\n }\n @if (clearIconTemplate() || _clearIconTemplate) {\n <span [hBind]=\"ptm('clearIcon')\" [class]=\"cx('clearIcon')\" (click)=\"clear()\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate() || _clearIconTemplate\"></ng-template>\n </span>\n }\n}\n\n@if (multiple()) {\n <ul\n #multiContainer\n [hBind]=\"ptm('inputMultiple')\"\n [class]=\"cx('inputMultiple')\"\n [attr.data-h]=\"inputMultipleDataP\"\n [tabindex]=\"-1\"\n role=\"listbox\"\n [attr.aria-orientation]=\"'horizontal'\"\n [attr.aria-activedescendant]=\"focused ? focusedMultipleOptionId : undefined\"\n (focus)=\"onMultipleContainerFocus($event)\"\n (blur)=\"onMultipleContainerBlur($event)\"\n (keydown)=\"onMultipleContainerKeyDown($event)\"\n >\n @for (option of modelValue(); track option; let i = $index) {\n <li\n #token\n [hBind]=\"ptm('chipItem')\"\n [class]=\"cx('chipItem', { i })\"\n [attr.id]=\"id() + '_multiple_option_' + i\"\n role=\"option\"\n [attr.aria-label]=\"getOptionLabel(option)\"\n [attr.aria-setsize]=\"modelValue().length\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-selected]=\"true\"\n >\n <h-chip\n [pt]=\"ptm('pcChip')\"\n [class]=\"cx('pcChip')\"\n [label]=\"!selectedItemTemplate() && !_selectedItemTemplate && getOptionLabel(option)\"\n [disabled]=\"$disabled()\"\n [removable]=\"true\"\n (onRemove)=\"!readonly() ? removeOption($event, i) : ''\"\n [unstyled]=\"unstyled()\"\n >\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate() || _selectedItemTemplate; context: { $implicit: option }\"></ng-container>\n <ng-template #removeicon>\n @if (!removeIconTemplate() && !_removeIconTemplate) {\n <span [hBind]=\"ptm('chipIcon')\" [class]=\"cx('chipIcon')\" (click)=\"!readonly() && !$disabled() ? removeOption($event, i) : ''\">\n <svg data-h-icon=\"times-circle\" [class]=\"cx('chipIcon')\" [attr.aria-hidden]=\"true\" />\n </span>\n }\n @if (removeIconTemplate() || _removeIconTemplate) {\n <span [hBind]=\"ptm('chipIcon')\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"removeIconTemplate() || _removeIconTemplate; context: { removeCallback: removeOption.bind(this), index: i, class: cx('chipIcon') }\"></ng-template>\n </span>\n }\n </ng-template>\n </h-chip>\n </li>\n }\n <li [hBind]=\"ptm('inputChip')\" [class]=\"cx('inputChip')\" role=\"option\">\n <input\n #focusInput\n #multiIn\n [hAutoFocus]=\"autofocus()\"\n [hBind]=\"ptm('input')\"\n [class]=\"cx('pcInputText')\"\n [ngStyle]=\"inputStyle()\"\n [attr.type]=\"type()\"\n [attr.id]=\"inputId()\"\n [attr.autocomplete]=\"autocomplete()\"\n [attr.name]=\"name()\"\n [attr.minlength]=\"minlength()\"\n [attr.maxlength]=\"maxlength()\"\n [attr.size]=\"size()\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [attr.pattern]=\"pattern()\"\n role=\"combobox\"\n [attr.placeholder]=\"!$filled() ? placeholder() : null\"\n aria-autocomplete=\"list\"\n [attr.tabindex]=\"!$disabled() ? tabindex() : -1\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.readonly]=\"readonly() ? '' : undefined\"\n [attr.disabled]=\"$disabled() ? '' : undefined\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-required]=\"required()\"\n [attr.aria-expanded]=\"overlayVisible ?? false\"\n [attr.aria-controls]=\"overlayVisible ? id() + '_list' : null\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n (input)=\"onInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n (change)=\"onInputChange($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (paste)=\"onInputPaste($event)\"\n (keyup)=\"onInputKeyUp($event)\"\n />\n </li>\n </ul>\n}\n@if (loading) {\n @if (!loadingIconTemplate() && !_loadingIconTemplate) {\n <svg data-h-icon=\"spinner\" [hBind]=\"ptm('loader')\" [class]=\"cx('loader')\" [spin]=\"true\" [attr.aria-hidden]=\"true\" />\n }\n @if (loadingIconTemplate() || _loadingIconTemplate) {\n <span [hBind]=\"ptm('loader')\" [class]=\"cx('loader')\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"loadingIconTemplate() || _loadingIconTemplate\"></ng-template>\n </span>\n }\n}\n@if (dropdown()) {\n <button #ddBtn type=\"button\" [hBind]=\"ptm('dropdown')\" [attr.aria-label]=\"dropdownAriaLabel()\" [class]=\"cx('dropdown')\" [disabled]=\"$disabled()\" hRipple (click)=\"handleDropdownClick($event)\" [attr.tabindex]=\"tabindex()\">\n @if (dropdownIcon()) {\n <span [ngClass]=\"dropdownIcon\" [attr.aria-hidden]=\"true\"></span>\n }\n @if (!dropdownIcon()) {\n @if (!dropdownIconTemplate() && !_dropdownIconTemplate) {\n <svg data-h-icon=\"chevron-down\" [hBind]=\"ptm('dropdown')\" />\n }\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate() || _dropdownIconTemplate\"></ng-template>\n }\n </button>\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()\"\n (onHide)=\"hide()\"\n [attr.data-h]=\"overlayDataP\"\n >\n <ng-template #content>\n <div [hBind]=\"ptm('overlay')\" [class]=\"cn(cx('overlay'), panelStyleClass())\" [ngStyle]=\"panelStyle()\">\n <ng-container *ngTemplateOutlet=\"headerTemplate() || _headerTemplate\"></ng-container>\n <div [hBind]=\"ptm('listContainer')\" [class]=\"cx('listContainer')\" [style.max-height]=\"virtualScroll() ? 'auto' : scrollHeight()\" [tabindex]=\"-1\">\n @if (virtualScroll()) {\n <h-scroller\n #scroller\n [tabindex]=\"-1\"\n [pt]=\"ptm('virtualScroller')\"\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 >\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 </div>\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul #items [hBind]=\"ptm('list')\" [class]=\"cn(cx('list'), scrollerOptions.contentStyleClass)\" [style]=\"scrollerOptions.contentStyle\" role=\"listbox\" [attr.id]=\"id() + '_list'\" [attr.aria-label]=\"listLabel\">\n @for (option of items; track option; let i = $index) {\n @if (isOptionGroup(option)) {\n <li [hBind]=\"ptm('optionGroup')\" [attr.id]=\"id() + '_' + getOptionIndex(i, scrollerOptions)\" [class]=\"cx('optionGroup')\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\n @if (!groupTemplate()) {\n <span>{{ getOptionGroupLabel(option.optionGroup) }}</span>\n }\n <ng-container *ngTemplateOutlet=\"groupTemplate(); context: { $implicit: option.optionGroup }\"></ng-container>\n </li>\n }\n @if (!isOptionGroup(option)) {\n <li\n hRipple\n [hBind]=\"getPTOptions(option, scrollerOptions, i, 'option')\"\n [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\n [class]=\"cx('option', { option, i, scrollerOptions })\"\n [attr.id]=\"id() + '_' + getOptionIndex(i, scrollerOptions)\"\n role=\"option\"\n [attr.aria-label]=\"getOptionLabel(option)\"\n [attr.aria-selected]=\"isSelected(option)\"\n [attr.data-h-selected]=\"isSelected(option)\"\n [attr.aria-disabled]=\"isOptionDisabled(option)\"\n [attr.data-h-focused]=\"focusedOptionIndex() === getOptionIndex(i, scrollerOptions)\"\n [attr.aria-setsize]=\"ariaSetSize\"\n [attr.aria-posinset]=\"getAriaPosInset(getOptionIndex(i, scrollerOptions))\"\n (click)=\"onOptionSelect($event, option)\"\n (mouseenter)=\"onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))\"\n >\n @if (!itemTemplate() && !_itemTemplate) {\n <span>{{ getOptionLabel(option) }}</span>\n }\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate() || _itemTemplate;\n context: {\n $implicit: option,\n index: scrollerOptions.getOptions ? scrollerOptions.getOptions(i) : i\n }\n \"\n ></ng-container>\n </li>\n }\n }\n @if (!items || (items && items.length === 0 && showEmptyMessage())) {\n <li [hBind]=\"ptm('emptyMessage')\" [class]=\"cx('emptyMessage')\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\n @if (!emptyTemplate() && !_emptyTemplate) {\n {{ searchResultMessageText }}\n } @else {\n <ng-template [ngTemplateOutlet]=\"empty\"></ng-template>\n }\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate() || _emptyTemplate\"></ng-container>\n </li>\n }\n </ul>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"footerTemplate() || _footerTemplate\"></ng-container>\n </div>\n <span role=\"status\" aria-live=\"polite\" class=\"h-hidden-accessible\">\n {{ selectedMessageText }}\n </span>\n</ng-template>\n</h-overlay>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["style","autocomplete_style"],"mappings":"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"}
1
+ {"version":3,"file":"gravionlabs-helix-core-autocomplete.mjs","names":[],"sources":["../../../projects/core/autocomplete/style/autocomplete.css.ts","../../../projects/core/autocomplete/style/autocompletestyle.ts","../../../projects/core/autocomplete/autocomplete.ts","../../../projects/core/autocomplete/autocomplete.html"],"sourcesContent":["export const style = /*css*/ `\n .h-autocomplete {\n display: inline-flex;\n }\n\n .h-autocomplete-loader {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n inset-inline-end: dt('autocomplete.padding.x');\n }\n\n .h-autocomplete:has(.h-autocomplete-dropdown) .h-autocomplete-loader {\n inset-inline-end: calc(dt('autocomplete.dropdown.width') + dt('autocomplete.padding.x'));\n }\n\n .h-autocomplete:has(.h-autocomplete-dropdown) .h-autocomplete-input {\n flex: 1 1 auto;\n width: 1%;\n }\n\n .h-autocomplete:has(.h-autocomplete-dropdown) .h-autocomplete-input,\n .h-autocomplete:has(.h-autocomplete-dropdown) .h-autocomplete-input-multiple {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n\n .h-autocomplete-dropdown {\n cursor: pointer;\n display: inline-flex;\n user-select: none;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n width: dt('autocomplete.dropdown.width');\n border-start-end-radius: dt('autocomplete.dropdown.border.radius');\n border-end-end-radius: dt('autocomplete.dropdown.border.radius');\n background: dt('autocomplete.dropdown.background');\n border: 1px solid dt('autocomplete.dropdown.border.color');\n border-inline-start: 0 none;\n color: dt('autocomplete.dropdown.color');\n transition:\n background dt('autocomplete.transition.duration'),\n color dt('autocomplete.transition.duration'),\n border-color dt('autocomplete.transition.duration'),\n outline-color dt('autocomplete.transition.duration'),\n box-shadow dt('autocomplete.transition.duration');\n outline-color: transparent;\n }\n\n .h-autocomplete-dropdown:not(:disabled):hover {\n background: dt('autocomplete.dropdown.hover.background');\n border-color: dt('autocomplete.dropdown.hover.border.color');\n color: dt('autocomplete.dropdown.hover.color');\n }\n\n .h-autocomplete-dropdown:not(:disabled):active {\n background: dt('autocomplete.dropdown.active.background');\n border-color: dt('autocomplete.dropdown.active.border.color');\n color: dt('autocomplete.dropdown.active.color');\n }\n\n .h-autocomplete-dropdown:focus-visible {\n box-shadow: dt('autocomplete.dropdown.focus.ring.shadow');\n outline: dt('autocomplete.dropdown.focus.ring.width') dt('autocomplete.dropdown.focus.ring.style') dt('autocomplete.dropdown.focus.ring.color');\n outline-offset: dt('autocomplete.dropdown.focus.ring.offset');\n }\n\n .h-autocomplete-overlay {\n position: absolute;\n top: 0;\n left: 0;\n background: dt('autocomplete.overlay.background');\n color: dt('autocomplete.overlay.color');\n border: 1px solid dt('autocomplete.overlay.border.color');\n border-radius: dt('autocomplete.overlay.border.radius');\n box-shadow: dt('autocomplete.overlay.shadow');\n min-width: 100%;\n }\n\n .h-autocomplete-list-container {\n overflow: auto;\n }\n\n .h-autocomplete-list {\n margin: 0;\n list-style-type: none;\n display: flex;\n flex-direction: column;\n gap: dt('autocomplete.list.gap');\n padding: dt('autocomplete.list.padding');\n }\n\n .h-autocomplete-option {\n cursor: pointer;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n display: flex;\n align-items: center;\n padding: dt('autocomplete.option.padding');\n border: 0 none;\n color: dt('autocomplete.option.color');\n background: transparent;\n transition:\n background dt('autocomplete.transition.duration'),\n color dt('autocomplete.transition.duration'),\n border-color dt('autocomplete.transition.duration');\n border-radius: dt('autocomplete.option.border.radius');\n }\n\n .h-autocomplete-option:not(.h-autocomplete-option-selected):not(.h-disabled).h-focus {\n background: dt('autocomplete.option.focus.background');\n color: dt('autocomplete.option.focus.color');\n }\n\n .h-autocomplete-option:not(.h-autocomplete-option-selected):not(.h-disabled):hover {\n background: dt('autocomplete.option.focus.background');\n color: dt('autocomplete.option.focus.color');\n }\n\n .h-autocomplete-option-selected {\n background: dt('autocomplete.option.selected.background');\n color: dt('autocomplete.option.selected.color');\n }\n\n .h-autocomplete-option-selected.h-focus {\n background: dt('autocomplete.option.selected.focus.background');\n color: dt('autocomplete.option.selected.focus.color');\n }\n\n .h-autocomplete-option-group {\n margin: 0;\n padding: dt('autocomplete.option.group.padding');\n color: dt('autocomplete.option.group.color');\n background: dt('autocomplete.option.group.background');\n font-weight: dt('autocomplete.option.group.font.weight');\n }\n\n .h-autocomplete-input-multiple {\n margin: 0;\n list-style-type: none;\n cursor: text;\n overflow: hidden;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n padding: calc(dt('autocomplete.padding.y') / 2) dt('autocomplete.padding.x');\n gap: calc(dt('autocomplete.padding.y') / 2);\n color: dt('autocomplete.color');\n background: dt('autocomplete.background');\n border: 1px solid dt('autocomplete.border.color');\n border-radius: dt('autocomplete.border.radius');\n width: 100%;\n transition:\n background dt('autocomplete.transition.duration'),\n color dt('autocomplete.transition.duration'),\n border-color dt('autocomplete.transition.duration'),\n outline-color dt('autocomplete.transition.duration'),\n box-shadow dt('autocomplete.transition.duration');\n outline-color: transparent;\n box-shadow: dt('autocomplete.shadow');\n }\n\n .h-autocomplete-input-multiple.h-disabled {\n opacity: 1;\n background: dt('autocomplete.disabled.background');\n color: dt('autocomplete.disabled.color');\n }\n\n .h-autocomplete-input-multiple:not(.h-disabled):hover {\n border-color: dt('autocomplete.hover.border.color');\n }\n\n .h-autocomplete.h-focus .h-autocomplete-input-multiple:not(.h-disabled) {\n border-color: dt('autocomplete.focus.border.color');\n box-shadow: dt('autocomplete.focus.ring.shadow');\n outline: dt('autocomplete.focus.ring.width') dt('autocomplete.focus.ring.style') dt('autocomplete.focus.ring.color');\n outline-offset: dt('autocomplete.focus.ring.offset');\n }\n\n .h-autocomplete.h-invalid .h-autocomplete-input-multiple {\n border-color: dt('autocomplete.invalid.border.color');\n }\n\n .h-variant-filled.h-autocomplete-input-multiple {\n background: dt('autocomplete.filled.background');\n }\n\n .h-autocomplete-input-multiple.h-variant-filled:not(.h-disabled):hover {\n background: dt('autocomplete.filled.hover.background');\n }\n\n .h-autocomplete.h-focus .h-autocomplete-input-multiple.h-variant-filled:not(.h-disabled) {\n background: dt('autocomplete.filled.focus.background');\n }\n\n .h-autocomplete-chip.h-chip {\n padding-block-start: calc(dt('autocomplete.padding.y') / 2);\n padding-block-end: calc(dt('autocomplete.padding.y') / 2);\n border-radius: dt('autocomplete.chip.border.radius');\n }\n\n .h-autocomplete-input-multiple:has(.h-autocomplete-chip) {\n padding-inline-start: calc(dt('autocomplete.padding.y') / 2);\n padding-inline-end: calc(dt('autocomplete.padding.y') / 2);\n }\n\n .h-autocomplete-chip-item.h-focus .h-autocomplete-chip {\n background: dt('autocomplete.chip.focus.background');\n color: dt('autocomplete.chip.focus.color');\n }\n\n .h-autocomplete-input-chip {\n flex: 1 1 auto;\n display: inline-flex;\n padding-block-start: calc(dt('autocomplete.padding.y') / 2);\n padding-block-end: calc(dt('autocomplete.padding.y') / 2);\n }\n\n .h-autocomplete-input-chip input {\n border: 0 none;\n outline: 0 none;\n background: transparent;\n margin: 0;\n padding: 0;\n box-shadow: none;\n border-radius: 0;\n width: 100%;\n font-family: inherit;\n font-feature-settings: inherit;\n font-size: 1rem;\n color: inherit;\n }\n\n .h-autocomplete-input-chip input::placeholder {\n color: dt('autocomplete.placeholder.color');\n }\n\n .h-autocomplete.h-invalid .h-autocomplete-input-chip input::placeholder {\n color: dt('autocomplete.invalid.placeholder.color');\n }\n\n .h-autocomplete-empty-message {\n padding: dt('autocomplete.empty.message.padding');\n }\n\n .h-autocomplete-fluid {\n display: flex;\n }\n\n .h-autocomplete-fluid:has(.h-autocomplete-dropdown) .h-autocomplete-input {\n width: 1%;\n }\n\n .h-autocomplete:has(.h-inputtext-sm) .h-autocomplete-dropdown {\n width: dt('autocomplete.dropdown.sm.width');\n }\n\n .h-autocomplete:has(.h-inputtext-sm) .h-autocomplete-dropdown .h-icon {\n font-size: dt('form.field.sm.font.size');\n width: dt('form.field.sm.font.size');\n height: dt('form.field.sm.font.size');\n }\n\n .h-autocomplete:has(.h-inputtext-lg) .h-autocomplete-dropdown {\n width: dt('autocomplete.dropdown.lg.width');\n }\n\n .h-autocomplete:has(.h-inputtext-lg) .h-autocomplete-dropdown .h-icon {\n font-size: dt('form.field.lg.font.size');\n width: dt('form.field.lg.font.size');\n height: dt('form.field.lg.font.size');\n }\n\n .h-autocomplete-clear-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n cursor: pointer;\n color: dt('form.field.icon.color');\n inset-inline-end: dt('autocomplete.padding.x');\n }\n\n .h-autocomplete:has(.h-autocomplete-dropdown) .h-autocomplete-clear-icon {\n inset-inline-end: calc(dt('autocomplete.padding.x') + dt('autocomplete.dropdown.width'));\n }\n\n .h-autocomplete:has(.h-autocomplete-clear-icon) .h-autocomplete-input {\n padding-inline-end: calc((dt('form.field.padding.x') * 2) + dt('icon.size'));\n }\n\n .h-inputgroup .h-autocomplete-dropdown {\n border-radius: 0;\n }\n\n .h-inputgroup > .h-autocomplete:last-child:has(.h-autocomplete-dropdown) > .h-autocomplete-input {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n\n .h-inputgroup > .h-autocomplete:last-child .h-autocomplete-dropdown {\n border-start-end-radius: dt('autocomplete.dropdown.border.radius');\n border-end-end-radius: dt('autocomplete.dropdown.border.radius');\n }\n`;\n","import { Injectable } from '@angular/core';\nimport { style as autocomplete_style } from './autocomplete.css';\nimport { BaseStyle } from '@gravionlabs/helix-core/base';\n\nconst style = /*css*/ `\n${autocomplete_style}\n\n/* For Helix */\nh-autoComplete.ng-invalid.ng-dirty .h-autocomplete-input,\nh-autoComplete.ng-invalid.ng-dirty .h-autocomplete-input-multiple,\nh-auto-complete.ng-invalid.ng-dirty .h-autocomplete-input,\nh-auto-complete.ng-invalid.ng-dirty .h-autocomplete-input-multiple h-autocomplete.ng-invalid.ng-dirty .h-autocomplete-input,\nh-autocomplete.ng-invalid.ng-dirty .h-autocomplete-input-multiple {\n border-color: dt('autocomplete.invalid.border.color');\n}\n\nh-autoComplete.ng-invalid.ng-dirty .h-autocomplete-input:enabled:focus,\nh-autoComplete.ng-invalid.ng-dirty:not(.h-disabled).h-focus .h-autocomplete-input-multiple,\nh-auto-complete.ng-invalid.ng-dirty .h-autocomplete-input:enabled:focus,\nh-auto-complete.ng-invalid.ng-dirty:not(.h-disabled).h-focus .h-autocomplete-input-multiple,\nh-autocomplete.ng-invalid.ng-dirty .h-autocomplete-input:enabled:focus,\nh-autocomplete.ng-invalid.ng-dirty:not(.h-disabled).h-focus .h-autocomplete-input-multiple {\n border-color: dt('autocomplete.focus.border.color');\n}\n\nh-autoComplete.ng-invalid.ng-dirty .h-autocomplete-input-chip input::placeholder,\nh-auto-complete.ng-invalid.ng-dirty .h-autocomplete-input-chip input::placeholder,\nh-autocomplete.ng-invalid.ng-dirty .h-autocomplete-input-chip input::placeholder {\n color: dt('autocomplete.invalid.placeholder.color');\n}\n\nh-autoComplete.ng-invalid.ng-dirty .h-autocomplete-input::placeholder,\nh-auto-complete.ng-invalid.ng-dirty .h-autocomplete-input::placeholder,\nh-autocomplete.ng-invalid.ng-dirty .h-autocomplete-input::placeholder {\n color: dt('autocomplete.invalid.placeholder.color');\n}\n`;\n\nconst inlineStyles = {\n root: { position: 'relative' }\n};\n\nconst classes = {\n root: ({ instance }) => [\n 'h-autocomplete h-component h-inputwrapper',\n {\n 'h-invalid': instance.invalid(),\n 'h-focus': instance.focused,\n 'h-inputwrapper-filled': instance.$filled(),\n 'h-inputwrapper-focus': (instance.focused && !instance.$disabled()) || instance.autofocus || instance.overlayVisible,\n 'h-autocomplete-open': instance.overlayVisible,\n 'h-autocomplete-clearable': instance.showClear && !instance.$disabled(),\n 'h-autocomplete-fluid': instance.hasFluid\n }\n ],\n pcInputText: 'h-autocomplete-input',\n inputMultiple: ({ instance }) => [\n 'h-autocomplete-input-multiple',\n {\n 'h-disabled': instance.$disabled(),\n 'h-variant-filled': instance.$variant() === 'filled'\n }\n ],\n chipItem: ({ instance, i }) => [\n 'h-autocomplete-chip-item',\n {\n 'h-focus': instance.focusedMultipleOptionIndex() === i\n }\n ],\n pcChip: 'h-autocomplete-chip',\n chipIcon: 'h-autocomplete-chip-icon',\n inputChip: 'h-autocomplete-input-chip',\n loader: 'h-autocomplete-loader',\n dropdown: 'h-autocomplete-dropdown',\n overlay: ({ instance }) => ['h-autocomplete-overlay h-component-overlay h-component', { 'h-input-filled': instance.$variant() === 'filled', 'h-ripple-disabled': instance.config.ripple() === false }],\n listContainer: 'h-autocomplete-list-container',\n list: 'h-autocomplete-list',\n optionGroup: 'h-autocomplete-option-group',\n option: ({ instance, option, i, scrollerOptions }) => ({\n 'h-autocomplete-option': true,\n 'h-autocomplete-option-selected': instance.isSelected(option),\n 'h-focus': instance.focusedOptionIndex() === instance.getOptionIndex(i, scrollerOptions),\n 'h-disabled': instance.isOptionDisabled(option)\n }),\n emptyMessage: 'h-autocomplete-empty-message',\n clearIcon: 'h-autocomplete-clear-icon'\n};\n\n@Injectable()\nexport class AutoCompleteStyle extends BaseStyle {\n name = 'autocomplete';\n\n style = style;\n\n classes = classes;\n\n inlineStyles = inlineStyles;\n}\n\n/**\n *\n * AutoComplete is an input component that provides real-time suggestions while being typed.\n *\n * [Live Demo](https://www.primeng.org/autocomplete/)\n *\n * @module autocompletestyle\n *\n */\nexport enum AutoCompleteClasses {\n /**\n * Class name of the root element\n */\n root = 'h-autocomplete',\n /**\n * Class name of the input element\n */\n pcInputText = 'h-autocomplete-input',\n /**\n * Class name of the input multiple element\n */\n inputMultiple = 'h-autocomplete-input-multiple',\n /**\n * Class name of the chip item element\n */\n chipItem = 'h-autocomplete-chip-item',\n /**\n * Class name of the chip element\n */\n pcChip = 'h-autocomplete-chip',\n /**\n * Class name of the chip icon element\n */\n chipIcon = 'h-autocomplete-chip-icon',\n /**\n * Class name of the input chip element\n */\n inputChip = 'h-autocomplete-input-chip',\n /**\n * Class name of the loader element\n */\n loader = 'h-autocomplete-loader',\n /**\n * Class name of the dropdown element\n */\n dropdown = 'h-autocomplete-dropdown',\n /**\n * Class name of the panel element\n */\n panel = 'h-autocomplete-overlay',\n /**\n * Class name of the list element\n */\n list = 'h-autocomplete-list',\n /**\n * Class name of the option group element\n */\n optionGroup = 'h-autocomplete-option-group',\n /**\n * Class name of the option element\n */\n option = 'h-autocomplete-option',\n /**\n * Class name of the empty message element\n */\n emptyMessage = 'h-autocomplete-empty-message',\n /**\n * Class name of the clear icon\n */\n clearIcon = 'h-autocomplete-clear-icon'\n}\n\nexport interface AutoCompleteStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n contentChildren,\n effect,\n ElementRef,\n forwardRef,\n inject,\n InjectionToken,\n input,\n model,\n NgModule,\n NgZone,\n numberAttribute,\n output,\n signal,\n TemplateRef,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MotionOptions } from '@gravionlabs/helix-core/uix/motion';\nimport { equals, findLastIndex, findSingle, focus, isEmpty, isNotEmpty, resolveFieldData, uuid } from '@gravionlabs/helix-core/uix/utils';\nimport { OverlayOptions, OverlayService, HelixTemplate, ScrollerOptions, SharedModule, TranslationKeys } from '@gravionlabs/helix-core/api';\nimport { AutoFocus } from '@gravionlabs/helix-core/autofocus';\nimport { PARENT_INSTANCE } from '@gravionlabs/helix-core/basecomponent';\nimport { BaseInput } from '@gravionlabs/helix-core/baseinput';\nimport { Bind, BindModule } from '@gravionlabs/helix-core/bind';\nimport { Chip } from '@gravionlabs/helix-core/chip';\nimport { ConnectedOverlayScrollHandler } from '@gravionlabs/helix-core/dom';\nimport { ChevronDownIcon, SpinnerIcon, TimesCircleIcon, TimesIcon } from '@gravionlabs/helix-core/icons';\nimport { InputText } from '@gravionlabs/helix-core/inputtext';\nimport { Overlay } from '@gravionlabs/helix-core/overlay';\nimport { Ripple } from '@gravionlabs/helix-core/ripple';\nimport { Scroller } from '@gravionlabs/helix-core/scroller';\nimport { Nullable } from '@gravionlabs/helix-core/ts-helpers';\nimport {\n AutoCompleteAddEvent,\n AutoCompleteCompleteEvent,\n AutoCompleteDropdownClickEvent,\n AutoCompleteGroupTemplateContext,\n AutoCompleteItemTemplateContext,\n AutoCompleteLazyLoadEvent,\n AutoCompleteLoaderTemplateContext,\n AutoCompletePassThrough,\n AutoCompleteRemoveIconTemplateContext,\n AutoCompleteSelectedItemTemplateContext,\n AutoCompleteSelectEvent,\n AutoCompleteUnselectEvent\n} from '@gravionlabs/helix-core/types/autocomplete';\nimport { AutoCompleteStyle } from './style/autocompletestyle';\n\nconst AUTOCOMPLETE_INSTANCE = new InjectionToken<AutoComplete>('AUTOCOMPLETE_INSTANCE');\n\nexport const AUTOCOMPLETE_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AutoComplete),\n multi: true\n};\n\n/**\n * AutoComplete is an input component that provides real-time suggestions when being typed.\n * @group Components\n */\n@Component({\n selector: 'h-autoComplete, h-autocomplete, h-auto-complete',\n standalone: true,\n imports: [CommonModule, Overlay, InputText, Ripple, Scroller, AutoFocus, TimesCircleIcon, SpinnerIcon, ChevronDownIcon, Chip, SharedModule, TimesIcon, BindModule],\n templateUrl: './autocomplete.html',\n providers: [AUTOCOMPLETE_VALUE_ACCESSOR, AutoCompleteStyle, { provide: AUTOCOMPLETE_INSTANCE, useExisting: AutoComplete }, { provide: PARENT_INSTANCE, useExisting: AutoComplete }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"cn(cx('root'), styleClass())\",\n '[style]': \"sx('root')\",\n '[attr.data-h]': 'containerDataP',\n '(click)': 'onHostClick($event)'\n },\n hostDirectives: [Bind]\n})\nexport class AutoComplete extends BaseInput<AutoCompletePassThrough> {\n componentName = 'AutoComplete';\n\n $pcAutoComplete: AutoComplete | undefined = inject(AUTOCOMPLETE_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n /**\n * Minimum number of characters to initiate a search.\n * @deprecated since v20.0.0, use `minQueryLength` instead.\n * @group Props\n */\n readonly minLength = input<number, unknown>(1, { transform: numberAttribute });\n /**\n * Minimum number of characters to initiate a search.\n * @group Props\n */\n readonly minQueryLength = input<number, unknown>(undefined, { transform: numberAttribute });\n /**\n * Delay between keystrokes to wait before sending a query.\n * @group Props\n */\n readonly delay = input<number, unknown>(300, { transform: numberAttribute });\n /**\n * Inline style of the overlay panel element.\n * @group Props\n */\n readonly panelStyle = input<{\n [klass: string]: any;\n} | null>();\n /**\n * Style class of the component.\n * @deprecated since v20.0.0, use `class` instead.\n * @group Props\n */\n readonly styleClass = input<string>();\n /**\n * Style class of the overlay panel element.\n * @group Props\n */\n readonly panelStyleClass = input<string>();\n /**\n * Inline style of the input field.\n * @group Props\n */\n readonly inputStyle = input<{\n [klass: string]: any;\n} | null>();\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n readonly inputId = input<string>();\n /**\n * Inline style of the input field.\n * @group Props\n */\n readonly inputStyleClass = input<string>();\n /**\n * Hint text for the input field.\n * @group Props\n */\n readonly placeholder = input<string>();\n /**\n * When present, it specifies that the input cannot be typed.\n * @group Props\n */\n readonly readonly = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Maximum height of the suggestions panel.\n * @group Props\n */\n readonly scrollHeight = input<string>('200px');\n /**\n * Defines if data is loaded and interacted with in lazy manner.\n * @group Props\n */\n readonly lazy = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * Whether the data should be loaded on demand during scroll.\n * @group Props\n */\n readonly virtualScroll = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n readonly virtualScrollItemSize = input<number, unknown>(undefined, { transform: numberAttribute });\n /**\n * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.\n * @group Props\n */\n readonly virtualScrollOptions = input<ScrollerOptions>();\n /**\n * When enabled, highlights the first item in the list by default.\n * @group Props\n */\n readonly autoHighlight = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * When present, autocomplete clears the manual input if it does not match of the suggestions to force only accepting values from the suggestions.\n * @group Props\n */\n readonly forceSelection = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Type of the input, defaults to \"text\".\n * @group Props\n */\n readonly type = input<string>('text');\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n readonly autoZIndex = input<boolean, unknown>(true, { transform: booleanAttribute });\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n readonly baseZIndex = input<number, unknown>(0, { transform: numberAttribute });\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n readonly ariaLabel = input<string>();\n /**\n * Defines a string that labels the dropdown button for accessibility.\n * @group Props\n */\n readonly dropdownAriaLabel = input<string>();\n /**\n * Specifies one or more IDs in the DOM that labels the input field.\n * @group Props\n */\n readonly ariaLabelledBy = input<string>();\n /**\n * Icon class of the dropdown icon.\n * @group Props\n */\n readonly dropdownIcon = input<string | undefined>(undefined);\n /**\n * Ensures uniqueness of selected items on multiple mode.\n * @group Props\n */\n readonly unique = input<boolean, unknown>(true, { transform: booleanAttribute });\n /**\n * Whether to display options as grouped when nested options are provided.\n * @group Props\n */\n readonly group = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Whether to run a query when input receives focus.\n * @group Props\n */\n readonly completeOnFocus = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n readonly showClear = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * Displays a button next to the input field when enabled.\n * @group Props\n */\n readonly dropdown = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Whether to show the empty message or not.\n * @group Props\n */\n readonly showEmptyMessage = input<boolean | undefined, unknown>(true, { transform: booleanAttribute });\n /**\n * Specifies the behavior dropdown button. Default \"blank\" mode sends an empty string and \"current\" mode sends the input value.\n * @group Props\n */\n readonly dropdownMode = input<string>('blank');\n /**\n * Specifies if multiple values can be selected.\n * @group Props\n */\n readonly multiple = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * When enabled, the input value is added to the selected items on tab key press when multiple is true and typeahead is false.\n * @group Props\n */\n readonly addOnTab = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n readonly tabindex = input<number, unknown>(undefined, { transform: numberAttribute });\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n readonly dataKey = input<string>();\n /**\n * Text to display when there is no data. Defaults to global value in i18n translation configuration.\n * @group Props\n */\n readonly emptyMessage = input<string>();\n /**\n * Transition options of the show animation.\n * @group Props\n * @deprecated since v21.0.0, use `motionOptions` instead.\n */\n readonly showTransitionOptions = input<string>('.12s cubic-bezier(0, 0, 0.2, 1)');\n /**\n * Transition options of the hide animation.\n * @group Props\n * @deprecated since v21.0.0, use `motionOptions` instead.\n */\n readonly hideTransitionOptions = input<string>('.1s linear');\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n readonly autofocus = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Used to define a string that autocomplete attribute the current element.\n * @group Props\n */\n readonly autocomplete = input<string>('off');\n /**\n * Name of the options field of an option group.\n * @group Props\n */\n readonly optionGroupChildren = input<string | undefined>('items');\n /**\n * Name of the label field of an option group.\n * @group Props\n */\n readonly optionGroupLabel = input<string | undefined>('label');\n /**\n * Options for the overlay element.\n * @group Props\n */\n readonly overlayOptions = input<OverlayOptions>();\n\n /**\n * An array of suggestions to display.\n * @group Props\n */\n readonly suggestions = input<any[] | null>(null);\n\n /**\n * Property name or getter function to use as the label of an option.\n * @group Props\n */\n readonly optionLabel = input<string | ((item: any) => string)>();\n /**\n * Property name or getter function to use as the value of an option.\n * @group Props\n */\n readonly optionValue = input<string | ((item: any) => string)>();\n /**\n * Unique identifier of the component.\n * @group Props\n */\n readonly id = model<string | undefined>(undefined);\n /**\n * Text to display when the search is active. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue '{0} results are available'\n */\n readonly searchMessage = input<string>();\n /**\n * Text to display when filtering does not return any results. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue 'No selected item'\n */\n readonly emptySelectionMessage = input<string>();\n /**\n * Text to be displayed in hidden accessible field when options are selected. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue '{0} items selected'\n */\n readonly selectionMessage = input<string>();\n /**\n * Whether to focus on the first visible or selected element when the overlay panel is shown.\n * @group Props\n */\n readonly autoOptionFocus = input<boolean | undefined, unknown>(false, { transform: booleanAttribute });\n /**\n * When enabled, the focused option is selected.\n * @group Props\n */\n readonly selectOnFocus = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Locale to use in searching. The default locale is the host environment's current locale.\n * @group Props\n */\n readonly searchLocale = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Property name or getter function to use as the disabled flag of an option, defaults to false when not defined.\n * @group Props\n */\n readonly optionDisabled = input<string | ((item: any) => string)>();\n /**\n * When enabled, the hovered option will be focused.\n * @group Props\n */\n readonly focusOnHover = input<boolean | undefined, unknown>(true, { transform: booleanAttribute });\n /**\n * Whether typeahead is active or not.\n * @defaultValue true\n * @group Props\n */\n readonly typeahead = input<boolean, unknown>(true, { transform: booleanAttribute });\n /**\n * Whether to add an item on blur event if the input has value and typeahead is false with multiple mode.\n * @defaultValue false\n * @group Props\n */\n readonly addOnBlur = input<boolean, unknown>(false, { transform: booleanAttribute });\n /**\n * Separator char to add item when typeahead is false and multiple mode is enabled.\n * @group Props\n */\n readonly separator = input<string | RegExp>();\n /**\n * 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).\n * @defaultValue 'self'\n * @group Props\n */\n appendTo = input<HTMLElement | ElementRef | TemplateRef<any> | 'self' | 'body' | null | undefined | any>(undefined);\n /**\n * The motion options.\n * @group Props\n */\n motionOptions = input<MotionOptions | undefined>(undefined);\n /**\n * Callback to invoke to search for suggestions.\n * @param {AutoCompleteCompleteEvent} event - Custom complete event.\n * @group Emits\n */\n readonly completeMethod = output<AutoCompleteCompleteEvent>();\n /**\n * Callback to invoke when a suggestion is selected.\n * @param {AutoCompleteSelectEvent} event - custom select event.\n * @group Emits\n */\n readonly onSelect = output<AutoCompleteSelectEvent>();\n /**\n * Callback to invoke when a selected value is removed.\n * @param {AutoCompleteUnselectEvent} event - custom unselect event.\n * @group Emits\n */\n readonly onUnselect = output<AutoCompleteUnselectEvent>();\n /**\n * Callback to invoke when an item is added via addOnBlur or separator features.\n * @param {AutoCompleteAddEvent} event - Custom add event.\n * @group Emits\n */\n readonly onAdd = output<AutoCompleteAddEvent>();\n /**\n * Callback to invoke when the component receives focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n readonly onFocus = output<Event>();\n /**\n * Callback to invoke when the component loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n readonly onBlur = output<Event>();\n /**\n * Callback to invoke to when dropdown button is clicked.\n * @param {AutoCompleteDropdownClickEvent} event - custom dropdown click event.\n * @group Emits\n */\n readonly onDropdownClick = output<AutoCompleteDropdownClickEvent>();\n /**\n * Callback to invoke when clear button is clicked.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n readonly onClear = output<Event | undefined>();\n /**\n * Callback to invoke on input key down.\n * @param {KeyboardEvent} event - Keyboard event.\n * @group Emits\n */\n readonly onInputKeydown = output<KeyboardEvent>();\n /**\n * Callback to invoke on input key up.\n * @param {KeyboardEvent} event - Keyboard event.\n * @group Emits\n */\n readonly onKeyUp = output<KeyboardEvent>();\n /**\n * Callback to invoke on overlay is shown.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n readonly onShow = output<Event | undefined>();\n /**\n * Callback to invoke on overlay is hidden.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n readonly onHide = output<Event | undefined>();\n /**\n * Callback to invoke on lazy load data.\n * @param {AutoCompleteLazyLoadEvent} event - Lazy load event.\n * @group Emits\n */\n readonly onLazyLoad = output<AutoCompleteLazyLoadEvent>();\n\n readonly inputEL = viewChild<ElementRef>('focusInput');\n\n readonly multiInputEl = viewChild<ElementRef>('multiIn');\n\n readonly multiContainerEL = viewChild<ElementRef>('multiContainer');\n\n readonly dropdownButton = viewChild<ElementRef>('ddBtn');\n\n readonly itemsViewChild = viewChild<ElementRef>('items');\n\n readonly scroller = viewChild<Scroller>('scroller');\n\n readonly overlayViewChild = viewChild<Overlay>('overlay');\n\n itemsWrapper: Nullable<HTMLDivElement>;\n\n /**\n * Custom item template.\n * @group Templates\n */\n readonly itemTemplate = contentChild<TemplateRef<AutoCompleteItemTemplateContext>>('item');\n\n /**\n * Custom empty message template.\n * @group Templates\n */\n readonly emptyTemplate = contentChild<TemplateRef<void>>('empty');\n\n /**\n * Custom header template.\n * @group Templates\n */\n readonly headerTemplate = contentChild<TemplateRef<void>>('header');\n\n /**\n * Custom footer template.\n * @group Templates\n */\n readonly footerTemplate = contentChild<TemplateRef<void>>('footer');\n\n /**\n * Custom selected item template.\n * @group Templates\n */\n readonly selectedItemTemplate = contentChild<TemplateRef<AutoCompleteSelectedItemTemplateContext>>('selecteditem');\n\n /**\n * Custom group template.\n * @group Templates\n */\n readonly groupTemplate = contentChild<TemplateRef<AutoCompleteGroupTemplateContext>>('group');\n\n /**\n * Custom loader template.\n * @group Templates\n */\n readonly loaderTemplate = contentChild<TemplateRef<AutoCompleteLoaderTemplateContext>>('loader');\n\n /**\n * Custom remove icon template.\n * @group Templates\n */\n readonly removeIconTemplate = contentChild<TemplateRef<AutoCompleteRemoveIconTemplateContext>>('removeicon');\n\n /**\n * Custom loading icon template.\n * @group Templates\n */\n readonly loadingIconTemplate = contentChild<TemplateRef<void>>('loadingicon');\n\n /**\n * Custom clear icon template.\n * @group Templates\n */\n readonly clearIconTemplate = contentChild<TemplateRef<void>>('clearicon');\n\n /**\n * Custom dropdown icon template.\n * @group Templates\n */\n readonly dropdownIconTemplate = contentChild<TemplateRef<void>>('dropdownicon');\n\n onHostClick(event: MouseEvent) {\n this.onContainerClick(event);\n }\n\n value: string | any;\n\n _suggestions = signal<any>(null);\n\n timeout: Nullable<any>;\n\n overlayVisible: boolean | undefined;\n\n suggestionsUpdated: Nullable<boolean>;\n\n highlightOption: any;\n\n highlightOptionChanged: Nullable<boolean>;\n\n focused: boolean = false;\n\n loading: Nullable<boolean>;\n\n scrollHandler: Nullable<ConnectedOverlayScrollHandler>;\n\n listId: string | undefined;\n\n searchTimeout: any;\n\n dirty: boolean = false;\n\n _itemTemplate: TemplateRef<AutoCompleteItemTemplateContext> | undefined;\n\n _groupTemplate: TemplateRef<AutoCompleteGroupTemplateContext> | undefined;\n\n _selectedItemTemplate: TemplateRef<AutoCompleteSelectedItemTemplateContext> | undefined;\n\n _headerTemplate: TemplateRef<void> | undefined;\n\n _emptyTemplate: TemplateRef<void> | undefined;\n\n _footerTemplate: TemplateRef<void> | undefined;\n\n _loaderTemplate: TemplateRef<AutoCompleteLoaderTemplateContext> | undefined;\n\n _removeIconTemplate: TemplateRef<AutoCompleteRemoveIconTemplateContext> | undefined;\n\n _loadingIconTemplate: TemplateRef<void> | undefined;\n\n _clearIconTemplate: TemplateRef<void> | undefined;\n\n _dropdownIconTemplate: TemplateRef<void> | undefined;\n\n focusedMultipleOptionIndex = signal<number>(-1);\n\n focusedOptionIndex = signal<number>(-1);\n\n _componentStyle = inject(AutoCompleteStyle);\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n visibleOptions = computed(() => {\n return this.group() ? this.flatOptions(this._suggestions()) : this._suggestions() || [];\n });\n\n inputValue = computed(() => {\n const modelValue = this.modelValue();\n const selectedOption = this.optionValueSelected ? (this.suggestions() || []).find((option: any) => equals(option, modelValue, this.equalityKey())) : modelValue;\n\n if (isNotEmpty(modelValue)) {\n if (typeof modelValue === 'object' || this.optionValueSelected) {\n const label = this.getOptionLabel(selectedOption);\n\n return label != null ? label : modelValue;\n } else {\n return modelValue;\n }\n } else {\n return '';\n }\n });\n\n get focusedMultipleOptionId() {\n return this.focusedMultipleOptionIndex() !== -1 ? `${this.id()}_multiple_option_${this.focusedMultipleOptionIndex()}` : null;\n }\n\n get focusedOptionId() {\n return this.focusedOptionIndex() !== -1 ? `${this.id()}_${this.focusedOptionIndex()}` : null;\n }\n\n get searchResultMessageText() {\n return isNotEmpty(this.visibleOptions()) && this.overlayVisible ? this.searchMessageText.replaceAll('{0}', this.visibleOptions().length) : this.emptySearchMessageText;\n }\n\n get searchMessageText() {\n return this.searchMessage() || this.config.translation.searchMessage || '';\n }\n\n get emptySearchMessageText() {\n return this.emptyMessage() || this.config.translation.emptySearchMessage || '';\n }\n\n get selectionMessageText() {\n return this.selectionMessage() || this.config.translation.selectionMessage || '';\n }\n\n get emptySelectionMessageText() {\n return this.emptySelectionMessage() || this.config.translation.emptySelectionMessage || '';\n }\n\n get selectedMessageText() {\n return this.hasSelectedOption() ? this.selectionMessageText.replaceAll('{0}', this.multiple() ? this.modelValue()?.length : '1') : this.emptySelectionMessageText;\n }\n\n get ariaSetSize() {\n return this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length;\n }\n\n get listLabel(): string {\n return this.config.getTranslation(TranslationKeys.ARIA)['listLabel'];\n }\n\n get virtualScrollerDisabled() {\n return !this.virtualScroll();\n }\n\n get optionValueSelected() {\n return typeof this.modelValue() === 'string' && this.optionValue();\n }\n\n chipItemClass(index) {\n return this._componentStyle.classes.chipItem({ instance: this, i: index });\n }\n\n constructor(\n public overlayService: OverlayService,\n private zone: NgZone\n ) {\n super();\n effect(() => {\n const value = this.suggestions();\n this._suggestions.set(value);\n this.handleSuggestionsChange();\n });\n }\n\n onInit() {\n if (!this.id()) this.id.set(uuid('pn_id_'));\n this.cd.detectChanges();\n }\n\n readonly templates = contentChildren(HelixTemplate);\n\n onAfterContentInit() {\n this.templates().forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this._itemTemplate = item.template;\n break;\n\n case 'group':\n this._groupTemplate = item.template;\n break;\n\n case 'selecteditem':\n this._selectedItemTemplate = item.template;\n break;\n\n case 'selectedItem':\n this._selectedItemTemplate = item.template;\n break;\n\n case 'header':\n this._headerTemplate = item.template;\n break;\n\n case 'empty':\n this._emptyTemplate = item.template;\n break;\n\n case 'footer':\n this._footerTemplate = item.template;\n break;\n\n case 'loader':\n this._loaderTemplate = item.template;\n break;\n\n case 'removetokenicon':\n this._removeIconTemplate = item.template;\n break;\n\n case 'loadingicon':\n this._loadingIconTemplate = item.template;\n break;\n\n case 'clearicon':\n this._clearIconTemplate = item.template;\n break;\n\n case 'dropdownicon':\n this._dropdownIconTemplate = item.template;\n break;\n\n default:\n this._itemTemplate = item.template;\n break;\n }\n });\n }\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n //Use timeouts as since Angular 4.2, AfterViewChecked is broken and not called after panel is updated\n if (this.suggestionsUpdated && this.overlayViewChild()) {\n this.zone.runOutsideAngular(() => {\n setTimeout(() => {\n if (this.overlayViewChild()) {\n this.overlayViewChild()!.alignOverlay();\n }\n }, 1);\n this.suggestionsUpdated = false;\n });\n }\n }\n\n handleSuggestionsChange() {\n if (this.loading) {\n this._suggestions()?.length > 0 || this.showEmptyMessage() || !!this.emptyTemplate() ? this.show() : this.hide();\n const focusedOptionIndex = this.overlayVisible && this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.suggestionsUpdated = true;\n this.loading = false;\n this.cd.markForCheck();\n }\n }\n\n flatOptions(options) {\n return (options || []).reduce((result, option, index) => {\n result.push({ optionGroup: option, group: true, index });\n\n const optionGroupChildren = this.getOptionGroupChildren(option);\n\n optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));\n\n return result;\n }, []);\n }\n\n isOptionGroup(option) {\n return this.optionGroupLabel() && option.optionGroup && option.group;\n }\n\n findFirstOptionIndex() {\n return this.visibleOptions().findIndex((option) => this.isValidOption(option));\n }\n\n findLastOptionIndex() {\n return findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));\n }\n\n findFirstFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n }\n\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n }\n\n findSelectedOptionIndex() {\n return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;\n }\n\n findNextOptionIndex(index) {\n const matchedOptionIndex =\n index < this.visibleOptions().length - 1\n ? this.visibleOptions()\n .slice(index + 1)\n .findIndex((option) => this.isValidOption(option))\n : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\n }\n\n findPrevOptionIndex(index) {\n const matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n }\n\n isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n }\n\n isValidOption(option) {\n return option && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n }\n\n isOptionDisabled(option) {\n const optionDisabled = this.optionDisabled();\n return optionDisabled ? resolveFieldData(option, optionDisabled) : false;\n }\n\n isSelected(option) {\n if (this.multiple()) {\n return this.unique() ? (this.modelValue() as string[])?.some((model) => equals(model, option, this.equalityKey())) : false;\n }\n return equals(this.modelValue(), option, this.equalityKey());\n }\n\n isOptionMatched(option, value) {\n return this.isValidOption(option) && this.getOptionLabel(option).toLocaleLowerCase(this.searchLocale()) === value.toLocaleLowerCase(this.searchLocale());\n }\n\n isInputClicked(event) {\n return event.target === this.inputEL()?.nativeElement;\n }\n\n isDropdownClicked(event) {\n const ddBtn = this.dropdownButton();\n return ddBtn?.nativeElement ? event.target === ddBtn.nativeElement || ddBtn.nativeElement.contains(event.target) : false;\n }\n\n equalityKey() {\n return this.optionValue() ? undefined : this.dataKey();\n }\n\n onContainerClick(event) {\n if (this.$disabled() || this.loading || this.isInputClicked(event) || this.isDropdownClicked(event)) {\n return;\n }\n\n const ovc = this.overlayViewChild();\n if (!ovc || !ovc.overlayViewChild()?.nativeElement.contains(event.target)) {\n focus(this.inputEL()?.nativeElement);\n }\n }\n\n handleDropdownClick(event) {\n let query: string | undefined = undefined;\n const inputEl = this.inputEL();\n\n if (this.overlayVisible) {\n this.hide(true);\n } else {\n focus(inputEl?.nativeElement);\n query = inputEl?.nativeElement?.value as string;\n\n const dropdownMode = this.dropdownMode();\n if (dropdownMode === 'blank') this.search(event, '', 'dropdown');\n else if (dropdownMode === 'current') this.search(event, query, 'dropdown');\n }\n\n this.onDropdownClick.emit({ originalEvent: event, query });\n }\n\n onInput(event) {\n if (this.typeahead()) {\n const _minLength = this.minQueryLength() || this.minLength();\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n let query = event.target.value;\n if (this.maxlength() !== null) {\n query = query.split('').slice(0, this.maxlength()).join('');\n }\n\n const multiple = this.multiple();\n if (!multiple && !this.forceSelection()) {\n this.updateModel(query);\n }\n\n if (query.length === 0 && !multiple) {\n this.onClear.emit(undefined);\n\n setTimeout(() => {\n this.hide();\n }, this.delay() / 2);\n } else {\n if (query.length >= _minLength) {\n this.focusedOptionIndex.set(-1);\n\n this.searchTimeout = setTimeout(() => {\n this.search(event, query, 'input');\n }, this.delay());\n } else {\n this.hide();\n }\n }\n }\n }\n\n onInputChange(event) {\n this.updateInputWithForceSelection(event);\n }\n\n onInputFocus(event) {\n if (this.$disabled()) {\n // For ScreenReaders\n return;\n }\n\n if (!this.dirty && this.completeOnFocus()) {\n this.search(event, event.target.value, 'focus');\n }\n this.dirty = true;\n this.focused = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.overlayVisible && this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.overlayVisible && this.scrollInView(this.focusedOptionIndex());\n this.onFocus.emit(event);\n }\n\n onMultipleContainerFocus(event) {\n if (this.$disabled()) {\n // For ScreenReaders\n return;\n }\n\n this.focused = true;\n }\n\n onMultipleContainerBlur(event) {\n this.focusedMultipleOptionIndex.set(-1);\n this.focused = false;\n }\n\n onMultipleContainerKeyDown(event) {\n if (this.$disabled()) {\n event.preventDefault();\n\n return;\n }\n\n switch (event.code) {\n case 'ArrowLeft':\n this.onArrowLeftKeyOnMultiple(event);\n break;\n\n case 'ArrowRight':\n this.onArrowRightKeyOnMultiple(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKeyOnMultiple(event);\n break;\n\n default:\n break;\n }\n }\n\n onInputBlur(event) {\n this.dirty = false;\n this.focused = false;\n this.focusedOptionIndex.set(-1);\n\n if (this.addOnBlur() && this.multiple() && !this.typeahead()) {\n const multiInput = this.multiInputEl();\n const inputValue = (multiInput?.nativeElement?.value || event.target.value || '').trim();\n if (inputValue && !this.isSelected(inputValue)) {\n this.updateModel([...(this.modelValue() || []), inputValue]);\n this.onAdd.emit({ originalEvent: event, value: inputValue });\n if (multiInput?.nativeElement) {\n multiInput.nativeElement.value = '';\n } else {\n event.target.value = '';\n }\n }\n }\n\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n onInputPaste(event) {\n const separator = this.separator();\n if (separator && this.multiple() && !this.typeahead()) {\n const pastedData = (event.clipboardData || (window as any)['clipboardData'])?.getData('Text');\n if (pastedData) {\n const values = pastedData.split(separator);\n const newValues = [...(this.modelValue() || [])];\n\n values.forEach((value: string) => {\n const trimmedValue = value.trim();\n if (trimmedValue && !this.isSelected(trimmedValue)) {\n newValues.push(trimmedValue);\n }\n });\n\n if (newValues.length > (this.modelValue() || []).length) {\n const addedValues = newValues.slice((this.modelValue() || []).length);\n this.updateModel(newValues);\n addedValues.forEach((addedValue) => {\n this.onAdd.emit({ originalEvent: event, value: addedValue });\n });\n const multiInput = this.multiInputEl();\n if (multiInput?.nativeElement) {\n multiInput.nativeElement.value = '';\n } else {\n event.target.value = '';\n }\n event.preventDefault();\n }\n }\n } else {\n this.onKeyDown(event);\n }\n }\n\n onInputKeyUp(event) {\n this.onKeyUp.emit(event);\n }\n\n onKeyDown(event) {\n if (this.$disabled()) {\n event.preventDefault();\n\n return;\n }\n\n // Emit keydown event for external handling\n this.onInputKeydown.emit(event);\n\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKey(event);\n break;\n\n case 'ShiftLeft':\n case 'ShiftRight':\n //NOOP\n break;\n\n default:\n this.handleSeparatorKey(event);\n break;\n }\n }\n\n handleSeparatorKey(event) {\n const separator = this.separator();\n if (separator && this.multiple() && !this.typeahead()) {\n if (separator === event.key || (typeof separator === 'string' && event.key === separator) || (separator instanceof RegExp && event.key.match(separator))) {\n const multiInput = this.multiInputEl();\n const inputValue = (multiInput?.nativeElement?.value || event.target.value || '').trim();\n if (inputValue && !this.isSelected(inputValue)) {\n this.updateModel([...(this.modelValue() || []), inputValue]);\n this.onAdd.emit({ originalEvent: event, value: inputValue });\n if (multiInput?.nativeElement) {\n multiInput.nativeElement.value = '';\n } else {\n event.target.value = '';\n }\n event.preventDefault();\n }\n }\n }\n }\n\n onArrowDownKey(event) {\n if (!this.overlayVisible) {\n return;\n }\n\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n event.preventDefault();\n event.stopPropagation();\n }\n\n onArrowUpKey(event) {\n if (!this.overlayVisible) {\n return;\n }\n\n if (event.altKey) {\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n\n this.overlayVisible && this.hide();\n event.preventDefault();\n } else {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.findLastFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n onArrowLeftKey(event) {\n const target = event.currentTarget;\n this.focusedOptionIndex.set(-1);\n if (this.multiple()) {\n if (isEmpty(target.value) && this.hasSelectedOption()) {\n focus(this.multiContainerEL()?.nativeElement);\n this.focusedMultipleOptionIndex.set(this.modelValue().length);\n } else {\n event.stopPropagation(); // To prevent onArrowLeftKeyOnMultiple method\n }\n }\n }\n\n onArrowRightKey(event) {\n this.focusedOptionIndex.set(-1);\n\n this.multiple() && event.stopPropagation(); // To prevent onArrowRightKeyOnMultiple method\n }\n\n onHomeKey(event) {\n const { currentTarget } = event;\n const len = currentTarget.value.length;\n\n currentTarget.setSelectionRange(0, event.shiftKey ? len : 0);\n this.focusedOptionIndex.set(-1);\n\n event.preventDefault();\n }\n\n onEndKey(event) {\n const { currentTarget } = event;\n const len = currentTarget.value.length;\n\n currentTarget.setSelectionRange(event.shiftKey ? 0 : len, len);\n this.focusedOptionIndex.set(-1);\n\n event.preventDefault();\n }\n\n onPageDownKey(event) {\n this.scrollInView(this.visibleOptions().length - 1);\n event.preventDefault();\n }\n\n onPageUpKey(event) {\n this.scrollInView(0);\n event.preventDefault();\n }\n\n onEnterKey(event) {\n if (!this.typeahead() && !this.forceSelection()) {\n if (this.multiple()) {\n const inputValue = event.target.value?.trim();\n if (inputValue && !this.isSelected(inputValue)) {\n this.updateModel([...(this.modelValue() || []), inputValue]);\n this.onAdd.emit({ originalEvent: event, value: inputValue });\n const inputEl2 = this.inputEL();\n inputEl2?.nativeElement && (inputEl2.nativeElement.value = '');\n }\n }\n }\n if (!this.overlayVisible) {\n return;\n } else {\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n\n this.hide();\n }\n\n event.preventDefault();\n }\n\n onEscapeKey(event) {\n this.overlayVisible && this.hide(true);\n event.preventDefault();\n }\n\n onTabKey(event) {\n // If there's a focused option in the dropdown, select it\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n return;\n }\n\n // Handle tab key behavior for multiple mode without typeahead\n if (this.multiple() && !this.typeahead()) {\n const multiInput = this.multiInputEl();\n const inputEl = this.inputEL();\n const inputValue = (multiInput?.nativeElement?.value || inputEl?.nativeElement?.value || '').trim();\n\n if (this.addOnTab()) {\n if (inputValue && !this.isSelected(inputValue)) {\n // Add the value and keep focus\n this.updateModel([...(this.modelValue() || []), inputValue]);\n this.onAdd.emit({ originalEvent: event, value: inputValue });\n if (multiInput?.nativeElement) {\n multiInput.nativeElement.value = '';\n } else if (inputEl?.nativeElement) {\n inputEl.nativeElement.value = '';\n }\n\n this.updateInputValue();\n event.preventDefault(); // Keep focus on the component\n this.overlayVisible && this.hide();\n return;\n }\n // If no value or already selected, allow normal tab behavior (blur)\n }\n // If addOnTab is false or no value to add, allow normal tab behavior\n // which will trigger blur and potentially addOnBlur\n }\n\n this.overlayVisible && this.hide();\n }\n\n onBackspaceKey(event) {\n if (this.multiple()) {\n if (isNotEmpty(this.modelValue()) && !this.inputEL()?.nativeElement?.value) {\n const removedValue = this.modelValue()[this.modelValue().length - 1];\n const newValue = this.modelValue().slice(0, -1);\n this.updateModel(newValue);\n this.onUnselect.emit({ originalEvent: event, value: removedValue });\n }\n\n event.stopPropagation(); // To prevent onBackspaceKeyOnMultiple method\n }\n }\n\n onArrowLeftKeyOnMultiple(event) {\n const optionIndex = this.focusedMultipleOptionIndex() < 1 ? 0 : this.focusedMultipleOptionIndex() - 1;\n this.focusedMultipleOptionIndex.set(optionIndex);\n }\n\n onArrowRightKeyOnMultiple(event) {\n let optionIndex = this.focusedMultipleOptionIndex();\n optionIndex++;\n\n this.focusedMultipleOptionIndex.set(optionIndex);\n if (optionIndex > this.modelValue().length - 1) {\n this.focusedMultipleOptionIndex.set(-1);\n focus(this.inputEL()?.nativeElement);\n }\n }\n\n onBackspaceKeyOnMultiple(event) {\n if (this.focusedMultipleOptionIndex() !== -1) {\n this.removeOption(event, this.focusedMultipleOptionIndex());\n }\n }\n\n onOptionSelect(event, option, isHide = true) {\n if (this.multiple()) {\n const inputEl = this.inputEL();\n inputEl && (inputEl.nativeElement.value = '');\n if (!this.isSelected(option)) {\n this.updateModel([...(this.modelValue() || []), option]);\n }\n } else {\n this.updateModel(option);\n }\n\n this.onSelect.emit({ originalEvent: event, value: option });\n\n isHide && this.hide(true);\n }\n\n onOptionMouseEnter(event, index) {\n if (this.focusOnHover()) {\n this.changeFocusedOptionIndex(event, index);\n }\n }\n\n search(event, query, source) {\n //allow empty string but not undefined or null\n if (query === undefined || query === null) {\n return;\n }\n\n //do not search blank values on input change\n if (source === 'input' && query.trim().length === 0) {\n return;\n }\n this.loading = true;\n this.completeMethod.emit({ originalEvent: event, query });\n }\n\n removeOption(event, index) {\n event.stopPropagation();\n\n const removedOption = this.modelValue()[index];\n const value = (this.modelValue() as string[]).filter((_, i) => i !== index);\n\n this.updateModel(value);\n this.onUnselect.emit({ originalEvent: event, value: removedOption });\n focus(this.inputEL()?.nativeElement);\n }\n\n updateModel(options) {\n let value = null;\n if (options) {\n value = this.multiple() ? options.map((option) => this.getOptionValue(option)) : this.getOptionValue(options);\n }\n\n this.value = value;\n this.writeModelValue(options);\n this.onModelChange(value);\n this.updateInputValue();\n this.cd.markForCheck();\n }\n\n updateInputValue() {\n const inputEl = this.inputEL();\n if (inputEl?.nativeElement) {\n if (!this.multiple()) {\n inputEl.nativeElement.value = this.inputValue();\n } else {\n inputEl.nativeElement.value = '';\n }\n }\n }\n\n updateInputWithForceSelection(event: any) {\n const input = this.inputEL()?.nativeElement;\n const inputCleared = !input?.value && isNotEmpty(this.modelValue());\n\n if (!this.forceSelection() || this.overlayVisible || (!input?.value && !inputCleared)) {\n return;\n }\n\n const _minLength = this.minQueryLength() ?? this.minLength();\n\n if (!inputCleared && input.value.length < _minLength) {\n return;\n }\n\n const matchedOption = this.visibleOptions()?.find((option) => this.isOptionMatched(option, input.value));\n\n if (!matchedOption) {\n input.value = '';\n if (!this.multiple()) {\n this.clear();\n }\n return;\n }\n\n if (matchedOption && !this.isSelected(matchedOption)) {\n this.onOptionSelect(event, matchedOption);\n }\n }\n\n autoUpdateModel() {\n if ((this.selectOnFocus() || this.autoHighlight()) && this.autoOptionFocus() && !this.hasSelectedOption()) {\n const focusedOptionIndex = this.findFirstFocusedOptionIndex();\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.onOptionSelect(null, this.visibleOptions()[this.focusedOptionIndex()], false);\n }\n }\n\n scrollInView(index = -1) {\n const id = index !== -1 ? `${this.id()}_${index}` : this.focusedOptionId;\n const itemsChild = this.itemsViewChild();\n if (itemsChild?.nativeElement) {\n const element = findSingle(itemsChild.nativeElement, `li[id=\"${id}\"]`);\n if (element) {\n element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n } else if (!this.virtualScrollerDisabled) {\n setTimeout(() => {\n this.virtualScroll() && this.scroller()?.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());\n }, 0);\n }\n }\n }\n\n changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex() !== index) {\n this.focusedOptionIndex.set(index);\n this.scrollInView();\n\n if (this.selectOnFocus()) {\n this.onOptionSelect(event, this.visibleOptions()[index], false);\n }\n }\n }\n\n show(isFocus = false) {\n this.dirty = true;\n this.overlayVisible = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n isFocus && focus(this.inputEL()?.nativeElement);\n if (isFocus) {\n focus(this.inputEL()?.nativeElement);\n }\n this.onShow.emit(undefined);\n this.cd.markForCheck();\n }\n\n hide(isFocus = false) {\n const _hide = () => {\n this.dirty = isFocus;\n this.overlayVisible = false;\n this.focusedOptionIndex.set(-1);\n isFocus && focus(this.inputEL()?.nativeElement);\n this.onHide.emit(undefined);\n this.updateInputWithForceSelection(null);\n this.cd.markForCheck();\n };\n\n setTimeout(() => {\n _hide();\n }, 0); // For ScreenReaders\n }\n\n clear() {\n this.updateModel(null);\n const inputEl = this.inputEL();\n inputEl?.nativeElement && (inputEl.nativeElement.value = '');\n this.onClear.emit(undefined);\n }\n\n hasSelectedOption() {\n return isNotEmpty(this.modelValue());\n }\n\n getAriaPosInset(index) {\n return (\n (this.optionGroupLabel()\n ? index -\n this.visibleOptions()\n .slice(0, index)\n .filter((option) => this.isOptionGroup(option)).length\n : index) + 1\n );\n }\n\n getOptionLabel(option: any) {\n const optionLabel = this.optionLabel();\n return optionLabel ? resolveFieldData(option, optionLabel) : option && option.label != undefined ? option.label : option;\n }\n\n getOptionValue(option) {\n const optionValue = this.optionValue();\n return optionValue ? resolveFieldData(option, optionValue) : option && option.value != undefined ? option.value : option;\n }\n\n getOptionIndex(index, scrollerOptions) {\n return this.virtualScrollerDisabled ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];\n }\n\n getOptionGroupLabel(optionGroup: any) {\n const optionGroupLabel = this.optionGroupLabel();\n return optionGroupLabel ? resolveFieldData(optionGroup, optionGroupLabel) : optionGroup && optionGroup.label != undefined ? optionGroup.label : optionGroup;\n }\n\n getOptionGroupChildren(optionGroup: any) {\n const optionGroupChildren = this.optionGroupChildren();\n return optionGroupChildren ? resolveFieldData(optionGroup, optionGroupChildren) : optionGroup.items;\n }\n\n getPTOptions(option: any, scrollerOptions: any, index: number, key: string) {\n return this.ptm(key, {\n context: {\n option,\n index: this.getOptionIndex(index, scrollerOptions),\n selected: this.isSelected(option),\n focused: this.focusedOptionIndex() === this.getOptionIndex(index, scrollerOptions),\n disabled: this.isOptionDisabled(option)\n }\n });\n }\n\n onOverlayBeforeEnter() {\n const ovc = this.overlayViewChild();\n const scrl = this.scroller();\n const itemsChild = this.itemsViewChild();\n this.itemsWrapper = <any>findSingle(ovc?.overlayViewChild()?.nativeElement, this.virtualScroll() ? '[data-pc-name=\"virtualscroller\"]' : '[data-pc-name=\"pcoverlay\"]');\n\n const virtualScroll = this.virtualScroll();\n if (virtualScroll) {\n scrl?.setContentEl(itemsChild?.nativeElement);\n scrl?.viewInit();\n }\n if (this.visibleOptions() && this.visibleOptions().length) {\n if (virtualScroll) {\n const selectedIndex = this.modelValue() ? this.focusedOptionIndex() : -1;\n\n if (selectedIndex !== -1) {\n scrl?.scrollToIndex(selectedIndex);\n }\n } else {\n let selectedListItem = findSingle(this.itemsWrapper as HTMLElement, '[data-pc-section=\"option\"][data-h-selected=\"true\"]');\n\n if (selectedListItem) {\n selectedListItem.scrollIntoView({ block: 'nearest', inline: 'center' });\n }\n }\n }\n }\n\n get containerDataP() {\n return this.cn({\n fluid: this.hasFluid\n });\n }\n\n get overlayDataP() {\n return this.cn({\n [`overlay-${this.$appendTo()}`]: true\n });\n }\n\n get inputMultipleDataP() {\n return this.cn({\n invalid: this.invalid(),\n disabled: this.$disabled(),\n focus: this.focused,\n fluid: this.hasFluid,\n filled: this.$variant() === 'filled',\n empty: !this.$filled(),\n [this.size() as string]: this.size()\n });\n }\n\n /**\n * @override\n *\n * @see {@link BaseEditableHolder.writeControlValue}\n * Writes the value to the control.\n */\n writeControlValue(value: any, setModelValue: (value: any) => void): void {\n if (this.multiple()) {\n const resolved = (value || []).map((val: any) => {\n const match = this.visibleOptions().find((option: any) => equals(val, option, this.equalityKey()));\n return match ?? val;\n });\n setModelValue(isEmpty(value) ? value : resolved);\n } else {\n const option = this.visibleOptions().find((option: any) => equals(value, option, this.equalityKey()));\n setModelValue(isEmpty(option) ? value : option);\n }\n\n this.value = value;\n this.updateInputValue();\n this.cd.markForCheck();\n }\n\n onDestroy() {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n }\n}\n\n@NgModule({\n imports: [AutoComplete, SharedModule],\n exports: [AutoComplete, SharedModule]\n})\nexport class AutoCompleteModule {}\n","@if (!multiple()) {\n <input\n #focusInput\n [hAutoFocus]=\"autofocus()\"\n hInputText\n [pt]=\"ptm('pcInputText')\"\n [class]=\"cn(cx('pcInputText'), inputStyleClass())\"\n [ngStyle]=\"inputStyle()\"\n [attr.type]=\"type()\"\n [attr.value]=\"inputValue()\"\n [variant]=\"$variant()\"\n [invalid]=\"invalid()\"\n [attr.id]=\"inputId()\"\n [attr.autocomplete]=\"autocomplete()\"\n aria-autocomplete=\"list\"\n role=\"combobox\"\n [attr.placeholder]=\"placeholder()\"\n [attr.name]=\"name()\"\n [attr.minlength]=\"minlength()\"\n [pSize]=\"size()\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [attr.pattern]=\"pattern()\"\n [attr.size]=\"inputSize()\"\n [attr.maxlength]=\"maxlength()\"\n [attr.tabindex]=\"!$disabled() ? tabindex() : -1\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.readonly]=\"readonly() ? '' : undefined\"\n [attr.disabled]=\"$disabled() ? '' : undefined\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-required]=\"required()\"\n [attr.aria-expanded]=\"overlayVisible ?? false\"\n [attr.aria-controls]=\"overlayVisible ? id() + '_list' : null\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n (input)=\"onInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n (change)=\"onInputChange($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (paste)=\"onInputPaste($event)\"\n (keyup)=\"onInputKeyUp($event)\"\n [fluid]=\"hasFluid\"\n [pInputTextUnstyled]=\"unstyled()\"\n />\n}\n@if ($filled() && !$disabled() && showClear() && !loading) {\n @if (!clearIconTemplate() && !_clearIconTemplate) {\n <svg data-h-icon=\"times\" [hBind]=\"ptm('clearIcon')\" [class]=\"cx('clearIcon')\" (click)=\"clear()\" [attr.aria-hidden]=\"true\" />\n }\n @if (clearIconTemplate() || _clearIconTemplate) {\n <span [hBind]=\"ptm('clearIcon')\" [class]=\"cx('clearIcon')\" (click)=\"clear()\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate() || _clearIconTemplate\"></ng-template>\n </span>\n }\n}\n\n@if (multiple()) {\n <ul\n #multiContainer\n [hBind]=\"ptm('inputMultiple')\"\n [class]=\"cx('inputMultiple')\"\n [attr.data-h]=\"inputMultipleDataP\"\n [tabindex]=\"-1\"\n role=\"listbox\"\n [attr.aria-orientation]=\"'horizontal'\"\n [attr.aria-activedescendant]=\"focused ? focusedMultipleOptionId : undefined\"\n (focus)=\"onMultipleContainerFocus($event)\"\n (blur)=\"onMultipleContainerBlur($event)\"\n (keydown)=\"onMultipleContainerKeyDown($event)\"\n >\n @for (option of modelValue(); track option; let i = $index) {\n <li\n #token\n [hBind]=\"ptm('chipItem')\"\n [class]=\"cx('chipItem', { i })\"\n [attr.id]=\"id() + '_multiple_option_' + i\"\n role=\"option\"\n [attr.aria-label]=\"getOptionLabel(option)\"\n [attr.aria-setsize]=\"modelValue().length\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-selected]=\"true\"\n >\n <h-chip\n [pt]=\"ptm('pcChip')\"\n [class]=\"cx('pcChip')\"\n [label]=\"!selectedItemTemplate() && !_selectedItemTemplate && getOptionLabel(option)\"\n [disabled]=\"$disabled()\"\n [removable]=\"true\"\n (onRemove)=\"!readonly() ? removeOption($event, i) : ''\"\n [unstyled]=\"unstyled()\"\n >\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate() || _selectedItemTemplate; context: { $implicit: option }\"></ng-container>\n <ng-template #removeicon>\n @if (!removeIconTemplate() && !_removeIconTemplate) {\n <span [hBind]=\"ptm('chipIcon')\" [class]=\"cx('chipIcon')\" (click)=\"!readonly() && !$disabled() ? removeOption($event, i) : ''\">\n <svg data-h-icon=\"times-circle\" [class]=\"cx('chipIcon')\" [attr.aria-hidden]=\"true\" />\n </span>\n }\n @if (removeIconTemplate() || _removeIconTemplate) {\n <span [hBind]=\"ptm('chipIcon')\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"removeIconTemplate() || _removeIconTemplate; context: { removeCallback: removeOption.bind(this), index: i, class: cx('chipIcon') }\"></ng-template>\n </span>\n }\n </ng-template>\n </h-chip>\n </li>\n }\n <li [hBind]=\"ptm('inputChip')\" [class]=\"cx('inputChip')\" role=\"option\">\n <input\n #focusInput\n #multiIn\n [hAutoFocus]=\"autofocus()\"\n [hBind]=\"ptm('input')\"\n [class]=\"cx('pcInputText')\"\n [ngStyle]=\"inputStyle()\"\n [attr.type]=\"type()\"\n [attr.id]=\"inputId()\"\n [attr.autocomplete]=\"autocomplete()\"\n [attr.name]=\"name()\"\n [attr.minlength]=\"minlength()\"\n [attr.maxlength]=\"maxlength()\"\n [attr.size]=\"size()\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [attr.pattern]=\"pattern()\"\n role=\"combobox\"\n [attr.placeholder]=\"!$filled() ? placeholder() : null\"\n aria-autocomplete=\"list\"\n [attr.tabindex]=\"!$disabled() ? tabindex() : -1\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.readonly]=\"readonly() ? '' : undefined\"\n [attr.disabled]=\"$disabled() ? '' : undefined\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-required]=\"required()\"\n [attr.aria-expanded]=\"overlayVisible ?? false\"\n [attr.aria-controls]=\"overlayVisible ? id() + '_list' : null\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n (input)=\"onInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n (change)=\"onInputChange($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (paste)=\"onInputPaste($event)\"\n (keyup)=\"onInputKeyUp($event)\"\n />\n </li>\n </ul>\n}\n@if (loading) {\n @if (!loadingIconTemplate() && !_loadingIconTemplate) {\n <svg data-h-icon=\"spinner\" [hBind]=\"ptm('loader')\" [class]=\"cx('loader')\" [spin]=\"true\" [attr.aria-hidden]=\"true\" />\n }\n @if (loadingIconTemplate() || _loadingIconTemplate) {\n <span [hBind]=\"ptm('loader')\" [class]=\"cx('loader')\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"loadingIconTemplate() || _loadingIconTemplate\"></ng-template>\n </span>\n }\n}\n@if (dropdown()) {\n <button #ddBtn type=\"button\" [hBind]=\"ptm('dropdown')\" [attr.aria-label]=\"dropdownAriaLabel()\" [class]=\"cx('dropdown')\" [disabled]=\"$disabled()\" hRipple (click)=\"handleDropdownClick($event)\" [attr.tabindex]=\"tabindex()\">\n @if (dropdownIcon()) {\n <span [ngClass]=\"dropdownIcon\" [attr.aria-hidden]=\"true\"></span>\n }\n @if (!dropdownIcon()) {\n @if (!dropdownIconTemplate() && !_dropdownIconTemplate) {\n <svg data-h-icon=\"chevron-down\" [hBind]=\"ptm('dropdown')\" />\n }\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate() || _dropdownIconTemplate\"></ng-template>\n }\n </button>\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()\"\n (onHide)=\"hide()\"\n [attr.data-h]=\"overlayDataP\"\n >\n <ng-template #content>\n <div [hBind]=\"ptm('overlay')\" [class]=\"cn(cx('overlay'), panelStyleClass())\" [ngStyle]=\"panelStyle()\">\n <ng-container *ngTemplateOutlet=\"headerTemplate() || _headerTemplate\"></ng-container>\n <div [hBind]=\"ptm('listContainer')\" [class]=\"cx('listContainer')\" [style.max-height]=\"virtualScroll() ? 'auto' : scrollHeight()\" [tabindex]=\"-1\">\n @if (virtualScroll()) {\n <h-scroller\n #scroller\n [tabindex]=\"-1\"\n [pt]=\"ptm('virtualScroller')\"\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 >\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 </div>\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul #items [hBind]=\"ptm('list')\" [class]=\"cn(cx('list'), scrollerOptions.contentStyleClass)\" [style]=\"scrollerOptions.contentStyle\" role=\"listbox\" [attr.id]=\"id() + '_list'\" [attr.aria-label]=\"listLabel\">\n @for (option of items; track option; let i = $index) {\n @if (isOptionGroup(option)) {\n <li [hBind]=\"ptm('optionGroup')\" [attr.id]=\"id() + '_' + getOptionIndex(i, scrollerOptions)\" [class]=\"cx('optionGroup')\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\n @if (!groupTemplate()) {\n <span>{{ getOptionGroupLabel(option.optionGroup) }}</span>\n }\n <ng-container *ngTemplateOutlet=\"groupTemplate(); context: { $implicit: option.optionGroup }\"></ng-container>\n </li>\n }\n @if (!isOptionGroup(option)) {\n <li\n hRipple\n [hBind]=\"getPTOptions(option, scrollerOptions, i, 'option')\"\n [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\n [class]=\"cx('option', { option, i, scrollerOptions })\"\n [attr.id]=\"id() + '_' + getOptionIndex(i, scrollerOptions)\"\n role=\"option\"\n [attr.aria-label]=\"getOptionLabel(option)\"\n [attr.aria-selected]=\"isSelected(option)\"\n [attr.data-h-selected]=\"isSelected(option)\"\n [attr.aria-disabled]=\"isOptionDisabled(option)\"\n [attr.data-h-focused]=\"focusedOptionIndex() === getOptionIndex(i, scrollerOptions)\"\n [attr.aria-setsize]=\"ariaSetSize\"\n [attr.aria-posinset]=\"getAriaPosInset(getOptionIndex(i, scrollerOptions))\"\n (click)=\"onOptionSelect($event, option)\"\n (mouseenter)=\"onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))\"\n >\n @if (!itemTemplate() && !_itemTemplate) {\n <span>{{ getOptionLabel(option) }}</span>\n }\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate() || _itemTemplate;\n context: {\n $implicit: option,\n index: scrollerOptions.getOptions ? scrollerOptions.getOptions(i) : i\n }\n \"\n ></ng-container>\n </li>\n }\n }\n @if (!items || (items && items.length === 0 && showEmptyMessage())) {\n <li [hBind]=\"ptm('emptyMessage')\" [class]=\"cx('emptyMessage')\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\n @if (!emptyTemplate() && !_emptyTemplate) {\n {{ searchResultMessageText }}\n } @else {\n <ng-template [ngTemplateOutlet]=\"empty\"></ng-template>\n }\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate() || _emptyTemplate\"></ng-container>\n </li>\n }\n </ul>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"footerTemplate() || _footerTemplate\"></ng-container>\n </div>\n <span role=\"status\" aria-live=\"polite\" class=\"h-hidden-accessible\">\n {{ selectedMessageText }}\n </span>\n</ng-template>\n</h-overlay>\n"],"mappings":"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"}