@gravionlabs/helix-core 22.1.2 → 22.1.4

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