@gravionlabs/helix-core 22.1.1 → 22.1.3

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