cax-design-system 2.8.3 → 2.8.5

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 (1063) hide show
  1. package/README.md +1 -1
  2. package/badge/badge.d.ts +1 -1
  3. package/badge/badge.directive.d.ts +1 -1
  4. package/fesm2022/cax-design-system-accordion.mjs +14 -13
  5. package/fesm2022/cax-design-system-accordion.mjs.map +1 -1
  6. package/fesm2022/cax-design-system-animate.mjs +9 -8
  7. package/fesm2022/cax-design-system-animate.mjs.map +1 -1
  8. package/fesm2022/cax-design-system-animateonscroll.mjs +9 -8
  9. package/fesm2022/cax-design-system-animateonscroll.mjs.map +1 -1
  10. package/fesm2022/cax-design-system-api.mjs +38 -38
  11. package/fesm2022/cax-design-system-api.mjs.map +1 -1
  12. package/fesm2022/cax-design-system-autocomplete.mjs +9 -9
  13. package/fesm2022/cax-design-system-autocomplete.mjs.map +1 -1
  14. package/fesm2022/cax-design-system-autofocus.mjs +8 -8
  15. package/fesm2022/cax-design-system-autofocus.mjs.map +1 -1
  16. package/fesm2022/cax-design-system-avatar.mjs +8 -8
  17. package/fesm2022/cax-design-system-avatar.mjs.map +1 -1
  18. package/fesm2022/cax-design-system-avatargroup.mjs +9 -9
  19. package/fesm2022/cax-design-system-avatargroup.mjs.map +1 -1
  20. package/fesm2022/cax-design-system-badge.mjs +13 -12
  21. package/fesm2022/cax-design-system-badge.mjs.map +1 -1
  22. package/fesm2022/cax-design-system-baseicon.mjs +4 -4
  23. package/fesm2022/cax-design-system-baseicon.mjs.map +1 -1
  24. package/fesm2022/cax-design-system-blockui.mjs +9 -9
  25. package/fesm2022/cax-design-system-blockui.mjs.map +1 -1
  26. package/fesm2022/cax-design-system-breadcrumb.mjs +9 -9
  27. package/fesm2022/cax-design-system-breadcrumb.mjs.map +1 -1
  28. package/fesm2022/cax-design-system-button.mjs +12 -12
  29. package/fesm2022/cax-design-system-button.mjs.map +1 -1
  30. package/fesm2022/cax-design-system-buttongroup.mjs +10 -9
  31. package/fesm2022/cax-design-system-buttongroup.mjs.map +1 -1
  32. package/fesm2022/cax-design-system-calendar.mjs +11 -11
  33. package/fesm2022/cax-design-system-calendar.mjs.map +1 -1
  34. package/fesm2022/cax-design-system-card.mjs +9 -9
  35. package/fesm2022/cax-design-system-card.mjs.map +1 -1
  36. package/fesm2022/cax-design-system-carousel.mjs +9 -9
  37. package/fesm2022/cax-design-system-carousel.mjs.map +1 -1
  38. package/fesm2022/cax-design-system-cascadeselect.mjs +13 -13
  39. package/fesm2022/cax-design-system-cascadeselect.mjs.map +1 -1
  40. package/fesm2022/cax-design-system-chart.mjs +9 -8
  41. package/fesm2022/cax-design-system-chart.mjs.map +1 -1
  42. package/fesm2022/cax-design-system-checkbox.mjs +9 -9
  43. package/fesm2022/cax-design-system-checkbox.mjs.map +1 -1
  44. package/fesm2022/cax-design-system-chip.mjs +9 -9
  45. package/fesm2022/cax-design-system-chip.mjs.map +1 -1
  46. package/fesm2022/cax-design-system-chips.mjs +9 -9
  47. package/fesm2022/cax-design-system-chips.mjs.map +1 -1
  48. package/fesm2022/cax-design-system-colorpicker.mjs +9 -9
  49. package/fesm2022/cax-design-system-colorpicker.mjs.map +1 -1
  50. package/fesm2022/cax-design-system-commentbox.mjs +9 -9
  51. package/fesm2022/cax-design-system-commentbox.mjs.map +1 -1
  52. package/fesm2022/cax-design-system-confirmdialog.mjs +9 -9
  53. package/fesm2022/cax-design-system-confirmdialog.mjs.map +1 -1
  54. package/fesm2022/cax-design-system-confirmpopup.mjs +10 -10
  55. package/fesm2022/cax-design-system-confirmpopup.mjs.map +1 -1
  56. package/fesm2022/cax-design-system-contextmenu.mjs +13 -12
  57. package/fesm2022/cax-design-system-contextmenu.mjs.map +1 -1
  58. package/fesm2022/cax-design-system-dataview.mjs +13 -12
  59. package/fesm2022/cax-design-system-dataview.mjs.map +1 -1
  60. package/fesm2022/cax-design-system-defer.mjs +9 -8
  61. package/fesm2022/cax-design-system-defer.mjs.map +1 -1
  62. package/fesm2022/cax-design-system-dialog.mjs +9 -9
  63. package/fesm2022/cax-design-system-dialog.mjs.map +1 -1
  64. package/fesm2022/cax-design-system-divider.mjs +8 -8
  65. package/fesm2022/cax-design-system-divider.mjs.map +1 -1
  66. package/fesm2022/cax-design-system-dock.mjs +9 -9
  67. package/fesm2022/cax-design-system-dock.mjs.map +1 -1
  68. package/fesm2022/cax-design-system-dom.mjs.map +1 -1
  69. package/fesm2022/cax-design-system-dragdrop.mjs +13 -11
  70. package/fesm2022/cax-design-system-dragdrop.mjs.map +1 -1
  71. package/fesm2022/cax-design-system-dropdown.mjs +12 -12
  72. package/fesm2022/cax-design-system-dropdown.mjs.map +1 -1
  73. package/fesm2022/cax-design-system-dynamicdialog.mjs +17 -16
  74. package/fesm2022/cax-design-system-dynamicdialog.mjs.map +1 -1
  75. package/fesm2022/cax-design-system-editor.mjs +9 -9
  76. package/fesm2022/cax-design-system-editor.mjs.map +1 -1
  77. package/fesm2022/cax-design-system-fieldset.mjs +10 -10
  78. package/fesm2022/cax-design-system-fieldset.mjs.map +1 -1
  79. package/fesm2022/cax-design-system-fileupload.mjs +9 -9
  80. package/fesm2022/cax-design-system-fileupload.mjs.map +1 -1
  81. package/fesm2022/cax-design-system-floatlabel.mjs +10 -9
  82. package/fesm2022/cax-design-system-floatlabel.mjs.map +1 -1
  83. package/fesm2022/cax-design-system-focustrap.mjs +9 -8
  84. package/fesm2022/cax-design-system-focustrap.mjs.map +1 -1
  85. package/fesm2022/cax-design-system-galleria.mjs +29 -25
  86. package/fesm2022/cax-design-system-galleria.mjs.map +1 -1
  87. package/fesm2022/cax-design-system-iconfield.mjs +9 -9
  88. package/fesm2022/cax-design-system-iconfield.mjs.map +1 -1
  89. package/fesm2022/cax-design-system-icons-angledoubledown.mjs +3 -3
  90. package/fesm2022/cax-design-system-icons-angledoubledown.mjs.map +1 -1
  91. package/fesm2022/cax-design-system-icons-angledoubleleft.mjs +3 -3
  92. package/fesm2022/cax-design-system-icons-angledoubleleft.mjs.map +1 -1
  93. package/fesm2022/cax-design-system-icons-angledoubleright.mjs +3 -3
  94. package/fesm2022/cax-design-system-icons-angledoubleright.mjs.map +1 -1
  95. package/fesm2022/cax-design-system-icons-angledoubleup.mjs +3 -3
  96. package/fesm2022/cax-design-system-icons-angledoubleup.mjs.map +1 -1
  97. package/fesm2022/cax-design-system-icons-angledown.mjs +3 -3
  98. package/fesm2022/cax-design-system-icons-angledown.mjs.map +1 -1
  99. package/fesm2022/cax-design-system-icons-angleleft.mjs +3 -3
  100. package/fesm2022/cax-design-system-icons-angleleft.mjs.map +1 -1
  101. package/fesm2022/cax-design-system-icons-angleright.mjs +3 -3
  102. package/fesm2022/cax-design-system-icons-angleright.mjs.map +1 -1
  103. package/fesm2022/cax-design-system-icons-angleup.mjs +3 -3
  104. package/fesm2022/cax-design-system-icons-angleup.mjs.map +1 -1
  105. package/fesm2022/cax-design-system-icons-arrowdown.mjs +3 -3
  106. package/fesm2022/cax-design-system-icons-arrowdown.mjs.map +1 -1
  107. package/fesm2022/cax-design-system-icons-arrowdownleft.mjs +3 -3
  108. package/fesm2022/cax-design-system-icons-arrowdownleft.mjs.map +1 -1
  109. package/fesm2022/cax-design-system-icons-arrowdownright.mjs +3 -3
  110. package/fesm2022/cax-design-system-icons-arrowdownright.mjs.map +1 -1
  111. package/fesm2022/cax-design-system-icons-arrowleft.mjs +3 -3
  112. package/fesm2022/cax-design-system-icons-arrowleft.mjs.map +1 -1
  113. package/fesm2022/cax-design-system-icons-arrowright.mjs +3 -3
  114. package/fesm2022/cax-design-system-icons-arrowright.mjs.map +1 -1
  115. package/fesm2022/cax-design-system-icons-arrowup.mjs +3 -3
  116. package/fesm2022/cax-design-system-icons-arrowup.mjs.map +1 -1
  117. package/fesm2022/cax-design-system-icons-ban.mjs +3 -3
  118. package/fesm2022/cax-design-system-icons-ban.mjs.map +1 -1
  119. package/fesm2022/cax-design-system-icons-bars.mjs +3 -3
  120. package/fesm2022/cax-design-system-icons-bars.mjs.map +1 -1
  121. package/fesm2022/cax-design-system-icons-blank.mjs +3 -3
  122. package/fesm2022/cax-design-system-icons-blank.mjs.map +1 -1
  123. package/fesm2022/cax-design-system-icons-calendar.mjs +3 -3
  124. package/fesm2022/cax-design-system-icons-calendar.mjs.map +1 -1
  125. package/fesm2022/cax-design-system-icons-caretleft.mjs +3 -3
  126. package/fesm2022/cax-design-system-icons-caretleft.mjs.map +1 -1
  127. package/fesm2022/cax-design-system-icons-caretright.mjs +3 -3
  128. package/fesm2022/cax-design-system-icons-caretright.mjs.map +1 -1
  129. package/fesm2022/cax-design-system-icons-check.mjs +3 -3
  130. package/fesm2022/cax-design-system-icons-check.mjs.map +1 -1
  131. package/fesm2022/cax-design-system-icons-chevrondown.mjs +3 -3
  132. package/fesm2022/cax-design-system-icons-chevrondown.mjs.map +1 -1
  133. package/fesm2022/cax-design-system-icons-chevronleft.mjs +3 -3
  134. package/fesm2022/cax-design-system-icons-chevronleft.mjs.map +1 -1
  135. package/fesm2022/cax-design-system-icons-chevronright.mjs +3 -3
  136. package/fesm2022/cax-design-system-icons-chevronright.mjs.map +1 -1
  137. package/fesm2022/cax-design-system-icons-chevronup.mjs +3 -3
  138. package/fesm2022/cax-design-system-icons-chevronup.mjs.map +1 -1
  139. package/fesm2022/cax-design-system-icons-exclamationtriangle.mjs +3 -3
  140. package/fesm2022/cax-design-system-icons-exclamationtriangle.mjs.map +1 -1
  141. package/fesm2022/cax-design-system-icons-eye.mjs +3 -3
  142. package/fesm2022/cax-design-system-icons-eye.mjs.map +1 -1
  143. package/fesm2022/cax-design-system-icons-eyeslash.mjs +3 -3
  144. package/fesm2022/cax-design-system-icons-eyeslash.mjs.map +1 -1
  145. package/fesm2022/cax-design-system-icons-filter.mjs +3 -3
  146. package/fesm2022/cax-design-system-icons-filter.mjs.map +1 -1
  147. package/fesm2022/cax-design-system-icons-filterslash.mjs +3 -3
  148. package/fesm2022/cax-design-system-icons-filterslash.mjs.map +1 -1
  149. package/fesm2022/cax-design-system-icons-home.mjs +3 -3
  150. package/fesm2022/cax-design-system-icons-home.mjs.map +1 -1
  151. package/fesm2022/cax-design-system-icons-infocircle.mjs +3 -3
  152. package/fesm2022/cax-design-system-icons-infocircle.mjs.map +1 -1
  153. package/fesm2022/cax-design-system-icons-minus.mjs +3 -3
  154. package/fesm2022/cax-design-system-icons-minus.mjs.map +1 -1
  155. package/fesm2022/cax-design-system-icons-pencil.mjs +3 -3
  156. package/fesm2022/cax-design-system-icons-pencil.mjs.map +1 -1
  157. package/fesm2022/cax-design-system-icons-plus.mjs +3 -3
  158. package/fesm2022/cax-design-system-icons-plus.mjs.map +1 -1
  159. package/fesm2022/cax-design-system-icons-refresh.mjs +3 -3
  160. package/fesm2022/cax-design-system-icons-refresh.mjs.map +1 -1
  161. package/fesm2022/cax-design-system-icons-search.mjs +3 -3
  162. package/fesm2022/cax-design-system-icons-search.mjs.map +1 -1
  163. package/fesm2022/cax-design-system-icons-searchminus.mjs +3 -3
  164. package/fesm2022/cax-design-system-icons-searchminus.mjs.map +1 -1
  165. package/fesm2022/cax-design-system-icons-searchplus.mjs +3 -3
  166. package/fesm2022/cax-design-system-icons-searchplus.mjs.map +1 -1
  167. package/fesm2022/cax-design-system-icons-sortalt.mjs +3 -3
  168. package/fesm2022/cax-design-system-icons-sortalt.mjs.map +1 -1
  169. package/fesm2022/cax-design-system-icons-sortamountdown.mjs +3 -3
  170. package/fesm2022/cax-design-system-icons-sortamountdown.mjs.map +1 -1
  171. package/fesm2022/cax-design-system-icons-sortamountupalt.mjs +3 -3
  172. package/fesm2022/cax-design-system-icons-sortamountupalt.mjs.map +1 -1
  173. package/fesm2022/cax-design-system-icons-spinner.mjs +3 -3
  174. package/fesm2022/cax-design-system-icons-spinner.mjs.map +1 -1
  175. package/fesm2022/cax-design-system-icons-star.mjs +3 -3
  176. package/fesm2022/cax-design-system-icons-star.mjs.map +1 -1
  177. package/fesm2022/cax-design-system-icons-starfill.mjs +3 -3
  178. package/fesm2022/cax-design-system-icons-starfill.mjs.map +1 -1
  179. package/fesm2022/cax-design-system-icons-thlarge.mjs +3 -3
  180. package/fesm2022/cax-design-system-icons-thlarge.mjs.map +1 -1
  181. package/fesm2022/cax-design-system-icons-times.mjs +3 -3
  182. package/fesm2022/cax-design-system-icons-times.mjs.map +1 -1
  183. package/fesm2022/cax-design-system-icons-timescircle.mjs +3 -3
  184. package/fesm2022/cax-design-system-icons-timescircle.mjs.map +1 -1
  185. package/fesm2022/cax-design-system-icons-trash.mjs +3 -3
  186. package/fesm2022/cax-design-system-icons-trash.mjs.map +1 -1
  187. package/fesm2022/cax-design-system-icons-undo.mjs +3 -3
  188. package/fesm2022/cax-design-system-icons-undo.mjs.map +1 -1
  189. package/fesm2022/cax-design-system-icons-upload.mjs +3 -3
  190. package/fesm2022/cax-design-system-icons-upload.mjs.map +1 -1
  191. package/fesm2022/cax-design-system-icons-windowmaximize.mjs +3 -3
  192. package/fesm2022/cax-design-system-icons-windowmaximize.mjs.map +1 -1
  193. package/fesm2022/cax-design-system-icons-windowminimize.mjs +3 -3
  194. package/fesm2022/cax-design-system-icons-windowminimize.mjs.map +1 -1
  195. package/fesm2022/cax-design-system-image.mjs +9 -9
  196. package/fesm2022/cax-design-system-image.mjs.map +1 -1
  197. package/fesm2022/cax-design-system-inplace.mjs +17 -15
  198. package/fesm2022/cax-design-system-inplace.mjs.map +1 -1
  199. package/fesm2022/cax-design-system-inputgroup.mjs +9 -9
  200. package/fesm2022/cax-design-system-inputgroup.mjs.map +1 -1
  201. package/fesm2022/cax-design-system-inputgroupaddon.mjs +9 -9
  202. package/fesm2022/cax-design-system-inputgroupaddon.mjs.map +1 -1
  203. package/fesm2022/cax-design-system-inputicon.mjs +9 -9
  204. package/fesm2022/cax-design-system-inputicon.mjs.map +1 -1
  205. package/fesm2022/cax-design-system-inputmask.mjs +9 -9
  206. package/fesm2022/cax-design-system-inputmask.mjs.map +1 -1
  207. package/fesm2022/cax-design-system-inputnumber.mjs +8 -8
  208. package/fesm2022/cax-design-system-inputnumber.mjs.map +1 -1
  209. package/fesm2022/cax-design-system-inputotp.mjs +9 -8
  210. package/fesm2022/cax-design-system-inputotp.mjs.map +1 -1
  211. package/fesm2022/cax-design-system-inputswitch.mjs +9 -9
  212. package/fesm2022/cax-design-system-inputswitch.mjs.map +1 -1
  213. package/fesm2022/cax-design-system-inputtext.mjs +13 -12
  214. package/fesm2022/cax-design-system-inputtext.mjs.map +1 -1
  215. package/fesm2022/cax-design-system-inputtextarea.mjs +13 -12
  216. package/fesm2022/cax-design-system-inputtextarea.mjs.map +1 -1
  217. package/fesm2022/cax-design-system-keyfilter.mjs +9 -8
  218. package/fesm2022/cax-design-system-keyfilter.mjs.map +1 -1
  219. package/fesm2022/cax-design-system-knob.mjs +9 -9
  220. package/fesm2022/cax-design-system-knob.mjs.map +1 -1
  221. package/fesm2022/cax-design-system-listbox.mjs +9 -9
  222. package/fesm2022/cax-design-system-listbox.mjs.map +1 -1
  223. package/fesm2022/cax-design-system-logo.mjs +8 -8
  224. package/fesm2022/cax-design-system-logo.mjs.map +1 -1
  225. package/fesm2022/cax-design-system-megamenu.mjs +13 -12
  226. package/fesm2022/cax-design-system-megamenu.mjs.map +1 -1
  227. package/fesm2022/cax-design-system-menu.mjs +18 -17
  228. package/fesm2022/cax-design-system-menu.mjs.map +1 -1
  229. package/fesm2022/cax-design-system-menubar.mjs +16 -15
  230. package/fesm2022/cax-design-system-menubar.mjs.map +1 -1
  231. package/fesm2022/cax-design-system-message.mjs +9 -9
  232. package/fesm2022/cax-design-system-message.mjs.map +1 -1
  233. package/fesm2022/cax-design-system-messages.mjs +9 -9
  234. package/fesm2022/cax-design-system-messages.mjs.map +1 -1
  235. package/fesm2022/cax-design-system-metergroup.mjs +14 -12
  236. package/fesm2022/cax-design-system-metergroup.mjs.map +1 -1
  237. package/fesm2022/cax-design-system-multiselect.mjs +13 -13
  238. package/fesm2022/cax-design-system-multiselect.mjs.map +1 -1
  239. package/fesm2022/cax-design-system-navigation.mjs +9 -9
  240. package/fesm2022/cax-design-system-navigation.mjs.map +1 -1
  241. package/fesm2022/cax-design-system-orderlist.mjs +9 -9
  242. package/fesm2022/cax-design-system-orderlist.mjs.map +1 -1
  243. package/fesm2022/cax-design-system-organizationchart.mjs +14 -13
  244. package/fesm2022/cax-design-system-organizationchart.mjs.map +1 -1
  245. package/fesm2022/cax-design-system-overlay.mjs +9 -9
  246. package/fesm2022/cax-design-system-overlay.mjs.map +1 -1
  247. package/fesm2022/cax-design-system-overlaypanel.mjs +10 -10
  248. package/fesm2022/cax-design-system-overlaypanel.mjs.map +1 -1
  249. package/fesm2022/cax-design-system-paginator.mjs +9 -9
  250. package/fesm2022/cax-design-system-paginator.mjs.map +1 -1
  251. package/fesm2022/cax-design-system-panel.mjs +10 -10
  252. package/fesm2022/cax-design-system-panel.mjs.map +1 -1
  253. package/fesm2022/cax-design-system-panelmenu.mjs +18 -17
  254. package/fesm2022/cax-design-system-panelmenu.mjs.map +1 -1
  255. package/fesm2022/cax-design-system-password.mjs +18 -16
  256. package/fesm2022/cax-design-system-password.mjs.map +1 -1
  257. package/fesm2022/cax-design-system-picklist.mjs +9 -9
  258. package/fesm2022/cax-design-system-picklist.mjs.map +1 -1
  259. package/fesm2022/cax-design-system-progressbar.mjs +9 -9
  260. package/fesm2022/cax-design-system-progressbar.mjs.map +1 -1
  261. package/fesm2022/cax-design-system-progressspinner.mjs +9 -9
  262. package/fesm2022/cax-design-system-progressspinner.mjs.map +1 -1
  263. package/fesm2022/cax-design-system-radiobutton.mjs +11 -11
  264. package/fesm2022/cax-design-system-radiobutton.mjs.map +1 -1
  265. package/fesm2022/cax-design-system-rating.mjs +9 -9
  266. package/fesm2022/cax-design-system-rating.mjs.map +1 -1
  267. package/fesm2022/cax-design-system-ripple.mjs +8 -8
  268. package/fesm2022/cax-design-system-ripple.mjs.map +1 -1
  269. package/fesm2022/cax-design-system-scroller.mjs +9 -9
  270. package/fesm2022/cax-design-system-scroller.mjs.map +1 -1
  271. package/fesm2022/cax-design-system-scrollpanel.mjs +9 -9
  272. package/fesm2022/cax-design-system-scrollpanel.mjs.map +1 -1
  273. package/fesm2022/cax-design-system-scrolltop.mjs +10 -10
  274. package/fesm2022/cax-design-system-scrolltop.mjs.map +1 -1
  275. package/fesm2022/cax-design-system-selectbutton.mjs +9 -9
  276. package/fesm2022/cax-design-system-selectbutton.mjs.map +1 -1
  277. package/fesm2022/cax-design-system-sidebar.mjs +9 -9
  278. package/fesm2022/cax-design-system-sidebar.mjs.map +1 -1
  279. package/fesm2022/cax-design-system-skeleton.mjs +9 -9
  280. package/fesm2022/cax-design-system-skeleton.mjs.map +1 -1
  281. package/fesm2022/cax-design-system-slidemenu.mjs +14 -13
  282. package/fesm2022/cax-design-system-slidemenu.mjs.map +1 -1
  283. package/fesm2022/cax-design-system-slider.mjs +9 -9
  284. package/fesm2022/cax-design-system-slider.mjs.map +1 -1
  285. package/fesm2022/cax-design-system-speeddial.mjs +9 -9
  286. package/fesm2022/cax-design-system-speeddial.mjs.map +1 -1
  287. package/fesm2022/cax-design-system-spinner.mjs +9 -9
  288. package/fesm2022/cax-design-system-spinner.mjs.map +1 -1
  289. package/fesm2022/cax-design-system-splitbutton.mjs +9 -9
  290. package/fesm2022/cax-design-system-splitbutton.mjs.map +1 -1
  291. package/fesm2022/cax-design-system-splitter.mjs +9 -9
  292. package/fesm2022/cax-design-system-splitter.mjs.map +1 -1
  293. package/fesm2022/cax-design-system-stepper.mjs +29 -25
  294. package/fesm2022/cax-design-system-stepper.mjs.map +1 -1
  295. package/fesm2022/cax-design-system-steps.mjs +9 -9
  296. package/fesm2022/cax-design-system-steps.mjs.map +1 -1
  297. package/fesm2022/cax-design-system-styleclass.mjs +9 -8
  298. package/fesm2022/cax-design-system-styleclass.mjs.map +1 -1
  299. package/fesm2022/cax-design-system-table.mjs +90 -90
  300. package/fesm2022/cax-design-system-table.mjs.map +1 -1
  301. package/fesm2022/cax-design-system-tableconfiguration.mjs +27 -13
  302. package/fesm2022/cax-design-system-tableconfiguration.mjs.map +1 -1
  303. package/fesm2022/cax-design-system-tabmenu.mjs +9 -9
  304. package/fesm2022/cax-design-system-tabmenu.mjs.map +1 -1
  305. package/fesm2022/cax-design-system-tabview.mjs +13 -13
  306. package/fesm2022/cax-design-system-tabview.mjs.map +1 -1
  307. package/fesm2022/cax-design-system-tag.mjs +9 -9
  308. package/fesm2022/cax-design-system-tag.mjs.map +1 -1
  309. package/fesm2022/cax-design-system-terminal.mjs +12 -12
  310. package/fesm2022/cax-design-system-terminal.mjs.map +1 -1
  311. package/fesm2022/cax-design-system-tieredmenu.mjs +13 -12
  312. package/fesm2022/cax-design-system-tieredmenu.mjs.map +1 -1
  313. package/fesm2022/cax-design-system-timeline.mjs +9 -9
  314. package/fesm2022/cax-design-system-timeline.mjs.map +1 -1
  315. package/fesm2022/cax-design-system-toast.mjs +12 -12
  316. package/fesm2022/cax-design-system-toast.mjs.map +1 -1
  317. package/fesm2022/cax-design-system-togglebutton.mjs +9 -9
  318. package/fesm2022/cax-design-system-togglebutton.mjs.map +1 -1
  319. package/fesm2022/cax-design-system-toggleswitch.mjs +9 -9
  320. package/fesm2022/cax-design-system-toggleswitch.mjs.map +1 -1
  321. package/fesm2022/cax-design-system-toolbar.mjs +9 -9
  322. package/fesm2022/cax-design-system-toolbar.mjs.map +1 -1
  323. package/fesm2022/cax-design-system-tooltip.mjs +9 -8
  324. package/fesm2022/cax-design-system-tooltip.mjs.map +1 -1
  325. package/fesm2022/cax-design-system-tree.mjs +13 -13
  326. package/fesm2022/cax-design-system-tree.mjs.map +1 -1
  327. package/fesm2022/cax-design-system-treeselect.mjs +9 -9
  328. package/fesm2022/cax-design-system-treeselect.mjs.map +1 -1
  329. package/fesm2022/cax-design-system-treetable.mjs +73 -58
  330. package/fesm2022/cax-design-system-treetable.mjs.map +1 -1
  331. package/fesm2022/cax-design-system-tristatecheckbox.mjs +9 -9
  332. package/fesm2022/cax-design-system-tristatecheckbox.mjs.map +1 -1
  333. package/fesm2022/cax-design-system-upload.mjs +9 -9
  334. package/fesm2022/cax-design-system-upload.mjs.map +1 -1
  335. package/fesm2022/cax-design-system-utils.mjs.map +1 -1
  336. package/fesm2022/cax-design-system-virtualscroller.mjs +9 -8
  337. package/fesm2022/cax-design-system-virtualscroller.mjs.map +1 -1
  338. package/inputnumber/inputnumber.d.ts +3 -3
  339. package/package.json +125 -465
  340. package/resources/cax.min.scss +1 -1
  341. package/resources/cax.scss +36 -14
  342. package/resources/components/calendar/calendar.scss +215 -219
  343. package/resources/components/table/table.scss +10 -3
  344. package/tableconfiguration/tableconfiguration.d.ts +2 -2
  345. package/treetable/treetable.d.ts +1 -1
  346. package/upload/upload.component.d.ts +1 -1
  347. package/esm2022/accordion/accordion.interface.mjs +0 -2
  348. package/esm2022/accordion/accordion.mjs +0 -598
  349. package/esm2022/accordion/accordion.module.mjs +0 -23
  350. package/esm2022/accordion/cax-design-system-accordion.mjs +0 -5
  351. package/esm2022/accordion/public_api.mjs +0 -4
  352. package/esm2022/animate/animate.mjs +0 -101
  353. package/esm2022/animate/cax-design-system-animate.mjs +0 -5
  354. package/esm2022/animate/public_api.mjs +0 -2
  355. package/esm2022/animateonscroll/animateonscroll.mjs +0 -185
  356. package/esm2022/animateonscroll/cax-design-system-animateonscroll.mjs +0 -5
  357. package/esm2022/animateonscroll/public_api.mjs +0 -2
  358. package/esm2022/api/blockableui.mjs +0 -2
  359. package/esm2022/api/cax-design-system-api.mjs +0 -5
  360. package/esm2022/api/caxconfig.mjs +0 -163
  361. package/esm2022/api/confirmaeventtype.mjs +0 -10
  362. package/esm2022/api/confirmation.mjs +0 -2
  363. package/esm2022/api/confirmationservice.mjs +0 -43
  364. package/esm2022/api/contextmenuservice.mjs +0 -22
  365. package/esm2022/api/filtermatchmode.mjs +0 -23
  366. package/esm2022/api/filtermetadata.mjs +0 -2
  367. package/esm2022/api/filteroperator.mjs +0 -5
  368. package/esm2022/api/filterservice.mjs +0 -225
  369. package/esm2022/api/lazyloadevent.mjs +0 -2
  370. package/esm2022/api/lazyloadmeta.mjs +0 -2
  371. package/esm2022/api/megamenuitem.mjs +0 -2
  372. package/esm2022/api/menuitem.mjs +0 -2
  373. package/esm2022/api/message.mjs +0 -2
  374. package/esm2022/api/messageservice.mjs +0 -47
  375. package/esm2022/api/overlayoptions.mjs +0 -2
  376. package/esm2022/api/overlayservice.mjs +0 -19
  377. package/esm2022/api/primeicons.mjs +0 -314
  378. package/esm2022/api/public_api.mjs +0 -35
  379. package/esm2022/api/scrolleroptions.mjs +0 -2
  380. package/esm2022/api/selectitem.mjs +0 -2
  381. package/esm2022/api/selectitemgroup.mjs +0 -2
  382. package/esm2022/api/shared.mjs +0 -65
  383. package/esm2022/api/sortevent.mjs +0 -2
  384. package/esm2022/api/sortmeta.mjs +0 -2
  385. package/esm2022/api/tablestate.mjs +0 -2
  386. package/esm2022/api/themegeneratorservice.mjs +0 -109
  387. package/esm2022/api/tooltipoptions.mjs +0 -2
  388. package/esm2022/api/translation.mjs +0 -2
  389. package/esm2022/api/translationkeys.mjs +0 -51
  390. package/esm2022/api/treedragdropservice.mjs +0 -21
  391. package/esm2022/api/treenode.mjs +0 -2
  392. package/esm2022/api/treenodedragevent.mjs +0 -2
  393. package/esm2022/api/treetablenode.mjs +0 -2
  394. package/esm2022/autocomplete/autocomplete.interface.mjs +0 -2
  395. package/esm2022/autocomplete/autocomplete.mjs +0 -1462
  396. package/esm2022/autocomplete/autocomplete.module.mjs +0 -30
  397. package/esm2022/autocomplete/cax-design-system-autocomplete.mjs +0 -5
  398. package/esm2022/autocomplete/public_api.mjs +0 -4
  399. package/esm2022/autofocus/autofocus.mjs +0 -78
  400. package/esm2022/autofocus/cax-design-system-autofocus.mjs +0 -5
  401. package/esm2022/autofocus/public_api.mjs +0 -2
  402. package/esm2022/avatar/avatar.mjs +0 -104
  403. package/esm2022/avatar/avatar.module.mjs +0 -16
  404. package/esm2022/avatar/cax-design-system-avatar.mjs +0 -5
  405. package/esm2022/avatar/public_api.mjs +0 -3
  406. package/esm2022/avatargroup/avatargroup.mjs +0 -32
  407. package/esm2022/avatargroup/avatargroup.module.mjs +0 -19
  408. package/esm2022/avatargroup/cax-design-system-avatargroup.mjs +0 -5
  409. package/esm2022/avatargroup/public_api.mjs +0 -3
  410. package/esm2022/badge/badge.directive.mjs +0 -193
  411. package/esm2022/badge/badge.mjs +0 -50
  412. package/esm2022/badge/badge.module.mjs +0 -20
  413. package/esm2022/badge/cax-design-system-badge.mjs +0 -5
  414. package/esm2022/badge/public_api.mjs +0 -4
  415. package/esm2022/baseicon/baseicon.mjs +0 -45
  416. package/esm2022/baseicon/cax-design-system-baseicon.mjs +0 -5
  417. package/esm2022/baseicon/public_api.mjs +0 -2
  418. package/esm2022/blockui/blockui.interface.mjs +0 -2
  419. package/esm2022/blockui/blockui.mjs +0 -206
  420. package/esm2022/blockui/cax-design-system-blockui.mjs +0 -5
  421. package/esm2022/blockui/public_api.mjs +0 -3
  422. package/esm2022/breadcrumb/breadcrumb.interface.mjs +0 -2
  423. package/esm2022/breadcrumb/breadcrumb.mjs +0 -120
  424. package/esm2022/breadcrumb/breadcrumb.module.mjs +0 -23
  425. package/esm2022/breadcrumb/cax-design-system-breadcrumb.mjs +0 -5
  426. package/esm2022/breadcrumb/public_api.mjs +0 -4
  427. package/esm2022/button/button.directive.mjs +0 -259
  428. package/esm2022/button/button.interface.mjs +0 -2
  429. package/esm2022/button/button.mjs +0 -190
  430. package/esm2022/button/button.module.mjs +0 -18
  431. package/esm2022/button/cax-design-system-button.mjs +0 -5
  432. package/esm2022/button/public_api.mjs +0 -5
  433. package/esm2022/buttongroup/buttongroup.mjs +0 -38
  434. package/esm2022/buttongroup/cax-design-system-buttongroup.mjs +0 -5
  435. package/esm2022/buttongroup/public_api.mjs +0 -2
  436. package/esm2022/calendar/calendar.interface.mjs +0 -2
  437. package/esm2022/calendar/calendar.mjs +0 -3242
  438. package/esm2022/calendar/calendar.module.mjs +0 -18
  439. package/esm2022/calendar/cax-design-system-calendar.mjs +0 -5
  440. package/esm2022/calendar/public_api.mjs +0 -4
  441. package/esm2022/card/card.interface.mjs +0 -2
  442. package/esm2022/card/card.mjs +0 -117
  443. package/esm2022/card/card.module.mjs +0 -21
  444. package/esm2022/card/cax-design-system-card.mjs +0 -5
  445. package/esm2022/card/public_api.mjs +0 -4
  446. package/esm2022/carousel/carousel.interface.mjs +0 -2
  447. package/esm2022/carousel/carousel.mjs +0 -968
  448. package/esm2022/carousel/cax-design-system-carousel.mjs +0 -5
  449. package/esm2022/carousel/public_api.mjs +0 -3
  450. package/esm2022/cascadeselect/cascadeselect.interface.mjs +0 -2
  451. package/esm2022/cascadeselect/cascadeselect.mjs +0 -1135
  452. package/esm2022/cascadeselect/cascadeselect.module.mjs +0 -25
  453. package/esm2022/cascadeselect/cax-design-system-cascadeselect.mjs +0 -5
  454. package/esm2022/cascadeselect/public_api.mjs +0 -4
  455. package/esm2022/cax-design-system.mjs +0 -5
  456. package/esm2022/chart/cax-design-system-chart.mjs +0 -5
  457. package/esm2022/chart/chart.mjs +0 -236
  458. package/esm2022/chart/public_api.mjs +0 -2
  459. package/esm2022/checkbox/cax-design-system-checkbox.mjs +0 -5
  460. package/esm2022/checkbox/checkbox.interface.mjs +0 -2
  461. package/esm2022/checkbox/checkbox.mjs +0 -318
  462. package/esm2022/checkbox/checkbox.module.mjs +0 -20
  463. package/esm2022/checkbox/public_api.mjs +0 -4
  464. package/esm2022/chip/cax-design-system-chip.mjs +0 -5
  465. package/esm2022/chip/chip.interface.mjs +0 -2
  466. package/esm2022/chip/chip.mjs +0 -90
  467. package/esm2022/chip/chip.module.mjs +0 -20
  468. package/esm2022/chip/public_api.mjs +0 -4
  469. package/esm2022/chips/cax-design-system-chips.mjs +0 -5
  470. package/esm2022/chips/chips.interface.mjs +0 -2
  471. package/esm2022/chips/chips.mjs +0 -610
  472. package/esm2022/chips/chips.module.mjs +0 -23
  473. package/esm2022/chips/public_api.mjs +0 -4
  474. package/esm2022/colorpicker/cax-design-system-colorpicker.mjs +0 -5
  475. package/esm2022/colorpicker/colorpicker.interface.mjs +0 -2
  476. package/esm2022/colorpicker/colorpicker.mjs +0 -715
  477. package/esm2022/colorpicker/colorpicker.module.mjs +0 -19
  478. package/esm2022/colorpicker/public_api.mjs +0 -4
  479. package/esm2022/commentbox/cax-design-system-commentbox.mjs +0 -5
  480. package/esm2022/commentbox/commentbox.mjs +0 -575
  481. package/esm2022/commentbox/commentbox.module.mjs +0 -27
  482. package/esm2022/commentbox/public_api.mjs +0 -3
  483. package/esm2022/confirmdialog/cax-design-system-confirmdialog.mjs +0 -5
  484. package/esm2022/confirmdialog/confirmdialog.interface.mjs +0 -2
  485. package/esm2022/confirmdialog/confirmdialog.mjs +0 -720
  486. package/esm2022/confirmdialog/confirmdialog.module.mjs +0 -25
  487. package/esm2022/confirmdialog/public_api.mjs +0 -4
  488. package/esm2022/confirmpopup/cax-design-system-confirmpopup.mjs +0 -5
  489. package/esm2022/confirmpopup/confirmpopup.interface.mjs +0 -2
  490. package/esm2022/confirmpopup/confirmpopup.mjs +0 -499
  491. package/esm2022/confirmpopup/public_api.mjs +0 -3
  492. package/esm2022/contextmenu/cax-design-system-contextmenu.mjs +0 -5
  493. package/esm2022/contextmenu/contextmenu.mjs +0 -1304
  494. package/esm2022/contextmenu/public_api.mjs +0 -2
  495. package/esm2022/dataview/cax-design-system-dataview.mjs +0 -5
  496. package/esm2022/dataview/dataview.interface.mjs +0 -2
  497. package/esm2022/dataview/dataview.mjs +0 -723
  498. package/esm2022/dataview/public_api.mjs +0 -3
  499. package/esm2022/defer/cax-design-system-defer.mjs +0 -5
  500. package/esm2022/defer/defer.mjs +0 -111
  501. package/esm2022/defer/public_api.mjs +0 -2
  502. package/esm2022/dialog/cax-design-system-dialog.mjs +0 -5
  503. package/esm2022/dialog/dialog.interface.mjs +0 -2
  504. package/esm2022/dialog/dialog.mjs +0 -959
  505. package/esm2022/dialog/dialog.module.mjs +0 -25
  506. package/esm2022/dialog/public_api.mjs +0 -4
  507. package/esm2022/divider/cax-design-system-divider.mjs +0 -5
  508. package/esm2022/divider/divider.mjs +0 -69
  509. package/esm2022/divider/divider.module.mjs +0 -16
  510. package/esm2022/divider/public_api.mjs +0 -3
  511. package/esm2022/dock/cax-design-system-dock.mjs +0 -5
  512. package/esm2022/dock/dock.interface.mjs +0 -2
  513. package/esm2022/dock/dock.mjs +0 -431
  514. package/esm2022/dock/public_api.mjs +0 -3
  515. package/esm2022/dom/cax-design-system-dom.mjs +0 -5
  516. package/esm2022/dom/connectedoverlayscrollhandler.mjs +0 -30
  517. package/esm2022/dom/domhandler.mjs +0 -722
  518. package/esm2022/dom/public_api.mjs +0 -3
  519. package/esm2022/dragdrop/cax-design-system-dragdrop.mjs +0 -5
  520. package/esm2022/dragdrop/dragdrop.mjs +0 -309
  521. package/esm2022/dragdrop/dragdrop.module.mjs +0 -18
  522. package/esm2022/dragdrop/public_api.mjs +0 -3
  523. package/esm2022/dropdown/cax-design-system-dropdown.mjs +0 -5
  524. package/esm2022/dropdown/dropdown-item.mjs +0 -72
  525. package/esm2022/dropdown/dropdown.interface.mjs +0 -2
  526. package/esm2022/dropdown/dropdown.mjs +0 -1599
  527. package/esm2022/dropdown/dropdown.module.mjs +0 -20
  528. package/esm2022/dropdown/public_api.mjs +0 -5
  529. package/esm2022/dynamicdialog/cax-design-system-dynamicdialog.mjs +0 -5
  530. package/esm2022/dynamicdialog/dialogservice.mjs +0 -102
  531. package/esm2022/dynamicdialog/dynamicdialog-config.mjs +0 -187
  532. package/esm2022/dynamicdialog/dynamicdialog-injector.mjs +0 -15
  533. package/esm2022/dynamicdialog/dynamicdialog-ref.mjs +0 -119
  534. package/esm2022/dynamicdialog/dynamicdialog.mjs +0 -696
  535. package/esm2022/dynamicdialog/dynamicdialogcontent.mjs +0 -20
  536. package/esm2022/dynamicdialog/public_api.mjs +0 -7
  537. package/esm2022/editor/cax-design-system-editor.mjs +0 -5
  538. package/esm2022/editor/editor.interface.mjs +0 -2
  539. package/esm2022/editor/editor.mjs +0 -281
  540. package/esm2022/editor/editor.module.mjs +0 -19
  541. package/esm2022/editor/public_api.mjs +0 -4
  542. package/esm2022/fieldset/cax-design-system-fieldset.mjs +0 -5
  543. package/esm2022/fieldset/fieldset.interface.mjs +0 -2
  544. package/esm2022/fieldset/fieldset.mjs +0 -297
  545. package/esm2022/fieldset/public_api.mjs +0 -3
  546. package/esm2022/fileupload/cax-design-system-fileupload.mjs +0 -5
  547. package/esm2022/fileupload/fileupload.interface.mjs +0 -2
  548. package/esm2022/fileupload/fileupload.mjs +0 -1188
  549. package/esm2022/fileupload/public_api.mjs +0 -3
  550. package/esm2022/floatlabel/cax-design-system-floatlabel.mjs +0 -5
  551. package/esm2022/floatlabel/floatlabel.mjs +0 -28
  552. package/esm2022/floatlabel/floatlabel.module.mjs +0 -20
  553. package/esm2022/floatlabel/public_api.mjs +0 -3
  554. package/esm2022/focustrap/cax-design-system-focustrap.mjs +0 -5
  555. package/esm2022/focustrap/focustrap.mjs +0 -103
  556. package/esm2022/focustrap/public_api.mjs +0 -2
  557. package/esm2022/galleria/cax-design-system-galleria.mjs +0 -5
  558. package/esm2022/galleria/galleria.interface.mjs +0 -2
  559. package/esm2022/galleria/galleria.mjs +0 -1668
  560. package/esm2022/galleria/public_api.mjs +0 -3
  561. package/esm2022/iconfield/cax-design-system-iconfield.mjs +0 -5
  562. package/esm2022/iconfield/iconfield.mjs +0 -44
  563. package/esm2022/iconfield/public_api.mjs +0 -2
  564. package/esm2022/icons/angledoubledown/angledoubledown.mjs +0 -35
  565. package/esm2022/icons/angledoubledown/cax-design-system-icons-angledoubledown.mjs +0 -5
  566. package/esm2022/icons/angledoubledown/public_api.mjs +0 -2
  567. package/esm2022/icons/angledoubleleft/angledoubleleft.mjs +0 -35
  568. package/esm2022/icons/angledoubleleft/cax-design-system-icons-angledoubleleft.mjs +0 -5
  569. package/esm2022/icons/angledoubleleft/public_api.mjs +0 -2
  570. package/esm2022/icons/angledoubleright/angledoubleright.mjs +0 -35
  571. package/esm2022/icons/angledoubleright/cax-design-system-icons-angledoubleright.mjs +0 -5
  572. package/esm2022/icons/angledoubleright/public_api.mjs +0 -2
  573. package/esm2022/icons/angledoubleup/angledoubleup.mjs +0 -35
  574. package/esm2022/icons/angledoubleup/cax-design-system-icons-angledoubleup.mjs +0 -5
  575. package/esm2022/icons/angledoubleup/public_api.mjs +0 -2
  576. package/esm2022/icons/angledown/angledown.mjs +0 -31
  577. package/esm2022/icons/angledown/cax-design-system-icons-angledown.mjs +0 -5
  578. package/esm2022/icons/angledown/public_api.mjs +0 -2
  579. package/esm2022/icons/angleleft/angleleft.mjs +0 -31
  580. package/esm2022/icons/angleleft/cax-design-system-icons-angleleft.mjs +0 -5
  581. package/esm2022/icons/angleleft/public_api.mjs +0 -2
  582. package/esm2022/icons/angleright/angleright.mjs +0 -31
  583. package/esm2022/icons/angleright/cax-design-system-icons-angleright.mjs +0 -5
  584. package/esm2022/icons/angleright/public_api.mjs +0 -2
  585. package/esm2022/icons/angleup/angleup.mjs +0 -31
  586. package/esm2022/icons/angleup/cax-design-system-icons-angleup.mjs +0 -5
  587. package/esm2022/icons/angleup/public_api.mjs +0 -2
  588. package/esm2022/icons/arrowdown/arrowdown.mjs +0 -54
  589. package/esm2022/icons/arrowdown/cax-design-system-icons-arrowdown.mjs +0 -5
  590. package/esm2022/icons/arrowdown/public_api.mjs +0 -2
  591. package/esm2022/icons/arrowdownleft/arrowdownleft.mjs +0 -31
  592. package/esm2022/icons/arrowdownleft/cax-design-system-icons-arrowdownleft.mjs +0 -5
  593. package/esm2022/icons/arrowdownleft/public_api.mjs +0 -2
  594. package/esm2022/icons/arrowdownright/arrowdownright.mjs +0 -31
  595. package/esm2022/icons/arrowdownright/cax-design-system-icons-arrowdownright.mjs +0 -5
  596. package/esm2022/icons/arrowdownright/public_api.mjs +0 -2
  597. package/esm2022/icons/arrowleft/arrowleft.mjs +0 -54
  598. package/esm2022/icons/arrowleft/cax-design-system-icons-arrowleft.mjs +0 -5
  599. package/esm2022/icons/arrowleft/public_api.mjs +0 -2
  600. package/esm2022/icons/arrowright/arrowright.mjs +0 -35
  601. package/esm2022/icons/arrowright/cax-design-system-icons-arrowright.mjs +0 -5
  602. package/esm2022/icons/arrowright/public_api.mjs +0 -2
  603. package/esm2022/icons/arrowup/arrowup.mjs +0 -54
  604. package/esm2022/icons/arrowup/cax-design-system-icons-arrowup.mjs +0 -5
  605. package/esm2022/icons/arrowup/public_api.mjs +0 -2
  606. package/esm2022/icons/ban/ban.mjs +0 -50
  607. package/esm2022/icons/ban/cax-design-system-icons-ban.mjs +0 -5
  608. package/esm2022/icons/ban/public_api.mjs +0 -2
  609. package/esm2022/icons/bars/bars.mjs +0 -35
  610. package/esm2022/icons/bars/cax-design-system-icons-bars.mjs +0 -5
  611. package/esm2022/icons/bars/public_api.mjs +0 -2
  612. package/esm2022/icons/blank/blank.mjs +0 -25
  613. package/esm2022/icons/blank/cax-design-system-icons-blank.mjs +0 -5
  614. package/esm2022/icons/blank/public_api.mjs +0 -2
  615. package/esm2022/icons/calendar/calendar.mjs +0 -31
  616. package/esm2022/icons/calendar/cax-design-system-icons-calendar.mjs +0 -5
  617. package/esm2022/icons/calendar/public_api.mjs +0 -2
  618. package/esm2022/icons/caretleft/caretleft.mjs +0 -31
  619. package/esm2022/icons/caretleft/cax-design-system-icons-caretleft.mjs +0 -5
  620. package/esm2022/icons/caretleft/public_api.mjs +0 -2
  621. package/esm2022/icons/caretright/caretright.mjs +0 -31
  622. package/esm2022/icons/caretright/cax-design-system-icons-caretright.mjs +0 -5
  623. package/esm2022/icons/caretright/public_api.mjs +0 -2
  624. package/esm2022/icons/check/cax-design-system-icons-check.mjs +0 -5
  625. package/esm2022/icons/check/check.mjs +0 -31
  626. package/esm2022/icons/check/public_api.mjs +0 -2
  627. package/esm2022/icons/chevrondown/cax-design-system-icons-chevrondown.mjs +0 -5
  628. package/esm2022/icons/chevrondown/chevrondown.mjs +0 -31
  629. package/esm2022/icons/chevrondown/public_api.mjs +0 -2
  630. package/esm2022/icons/chevronleft/cax-design-system-icons-chevronleft.mjs +0 -5
  631. package/esm2022/icons/chevronleft/chevronleft.mjs +0 -31
  632. package/esm2022/icons/chevronleft/public_api.mjs +0 -2
  633. package/esm2022/icons/chevronright/cax-design-system-icons-chevronright.mjs +0 -5
  634. package/esm2022/icons/chevronright/chevronright.mjs +0 -31
  635. package/esm2022/icons/chevronright/public_api.mjs +0 -2
  636. package/esm2022/icons/chevronup/cax-design-system-icons-chevronup.mjs +0 -5
  637. package/esm2022/icons/chevronup/chevronup.mjs +0 -31
  638. package/esm2022/icons/chevronup/public_api.mjs +0 -2
  639. package/esm2022/icons/exclamationtriangle/cax-design-system-icons-exclamationtriangle.mjs +0 -5
  640. package/esm2022/icons/exclamationtriangle/exclamationtriangle.mjs +0 -66
  641. package/esm2022/icons/exclamationtriangle/public_api.mjs +0 -2
  642. package/esm2022/icons/eye/cax-design-system-icons-eye.mjs +0 -5
  643. package/esm2022/icons/eye/eye.mjs +0 -35
  644. package/esm2022/icons/eye/public_api.mjs +0 -2
  645. package/esm2022/icons/eyeslash/cax-design-system-icons-eyeslash.mjs +0 -5
  646. package/esm2022/icons/eyeslash/eyeslash.mjs +0 -54
  647. package/esm2022/icons/eyeslash/public_api.mjs +0 -2
  648. package/esm2022/icons/filter/cax-design-system-icons-filter.mjs +0 -5
  649. package/esm2022/icons/filter/filter.mjs +0 -50
  650. package/esm2022/icons/filter/public_api.mjs +0 -2
  651. package/esm2022/icons/filterslash/cax-design-system-icons-filterslash.mjs +0 -5
  652. package/esm2022/icons/filterslash/filterslash.mjs +0 -54
  653. package/esm2022/icons/filterslash/public_api.mjs +0 -2
  654. package/esm2022/icons/home/cax-design-system-icons-home.mjs +0 -5
  655. package/esm2022/icons/home/home.mjs +0 -54
  656. package/esm2022/icons/home/public_api.mjs +0 -2
  657. package/esm2022/icons/infocircle/cax-design-system-icons-infocircle.mjs +0 -5
  658. package/esm2022/icons/infocircle/infocircle.mjs +0 -54
  659. package/esm2022/icons/infocircle/public_api.mjs +0 -2
  660. package/esm2022/icons/minus/cax-design-system-icons-minus.mjs +0 -5
  661. package/esm2022/icons/minus/minus.mjs +0 -32
  662. package/esm2022/icons/minus/public_api.mjs +0 -2
  663. package/esm2022/icons/pencil/cax-design-system-icons-pencil.mjs +0 -5
  664. package/esm2022/icons/pencil/pencil.mjs +0 -50
  665. package/esm2022/icons/pencil/public_api.mjs +0 -2
  666. package/esm2022/icons/plus/cax-design-system-icons-plus.mjs +0 -5
  667. package/esm2022/icons/plus/plus.mjs +0 -50
  668. package/esm2022/icons/plus/public_api.mjs +0 -2
  669. package/esm2022/icons/refresh/cax-design-system-icons-refresh.mjs +0 -5
  670. package/esm2022/icons/refresh/public_api.mjs +0 -2
  671. package/esm2022/icons/refresh/refresh.mjs +0 -54
  672. package/esm2022/icons/search/cax-design-system-icons-search.mjs +0 -5
  673. package/esm2022/icons/search/public_api.mjs +0 -2
  674. package/esm2022/icons/search/search.mjs +0 -54
  675. package/esm2022/icons/searchminus/cax-design-system-icons-searchminus.mjs +0 -5
  676. package/esm2022/icons/searchminus/public_api.mjs +0 -2
  677. package/esm2022/icons/searchminus/searchminus.mjs +0 -54
  678. package/esm2022/icons/searchplus/cax-design-system-icons-searchplus.mjs +0 -5
  679. package/esm2022/icons/searchplus/public_api.mjs +0 -2
  680. package/esm2022/icons/searchplus/searchplus.mjs +0 -54
  681. package/esm2022/icons/sortalt/cax-design-system-icons-sortalt.mjs +0 -5
  682. package/esm2022/icons/sortalt/public_api.mjs +0 -2
  683. package/esm2022/icons/sortalt/sortalt.mjs +0 -62
  684. package/esm2022/icons/sortamountdown/cax-design-system-icons-sortamountdown.mjs +0 -5
  685. package/esm2022/icons/sortamountdown/public_api.mjs +0 -2
  686. package/esm2022/icons/sortamountdown/sortamountdown.mjs +0 -50
  687. package/esm2022/icons/sortamountupalt/cax-design-system-icons-sortamountupalt.mjs +0 -5
  688. package/esm2022/icons/sortamountupalt/public_api.mjs +0 -2
  689. package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +0 -50
  690. package/esm2022/icons/spinner/cax-design-system-icons-spinner.mjs +0 -5
  691. package/esm2022/icons/spinner/public_api.mjs +0 -2
  692. package/esm2022/icons/spinner/spinner.mjs +0 -50
  693. package/esm2022/icons/star/cax-design-system-icons-star.mjs +0 -5
  694. package/esm2022/icons/star/public_api.mjs +0 -2
  695. package/esm2022/icons/star/star.mjs +0 -50
  696. package/esm2022/icons/starfill/cax-design-system-icons-starfill.mjs +0 -5
  697. package/esm2022/icons/starfill/public_api.mjs +0 -2
  698. package/esm2022/icons/starfill/starfill.mjs +0 -50
  699. package/esm2022/icons/thlarge/cax-design-system-icons-thlarge.mjs +0 -5
  700. package/esm2022/icons/thlarge/public_api.mjs +0 -2
  701. package/esm2022/icons/thlarge/thlarge.mjs +0 -54
  702. package/esm2022/icons/times/cax-design-system-icons-times.mjs +0 -5
  703. package/esm2022/icons/times/public_api.mjs +0 -2
  704. package/esm2022/icons/times/times.mjs +0 -31
  705. package/esm2022/icons/timescircle/cax-design-system-icons-timescircle.mjs +0 -5
  706. package/esm2022/icons/timescircle/public_api.mjs +0 -2
  707. package/esm2022/icons/timescircle/timescircle.mjs +0 -54
  708. package/esm2022/icons/trash/cax-design-system-icons-trash.mjs +0 -5
  709. package/esm2022/icons/trash/public_api.mjs +0 -2
  710. package/esm2022/icons/trash/trash.mjs +0 -54
  711. package/esm2022/icons/undo/cax-design-system-icons-undo.mjs +0 -5
  712. package/esm2022/icons/undo/public_api.mjs +0 -2
  713. package/esm2022/icons/undo/undo.mjs +0 -54
  714. package/esm2022/icons/upload/cax-design-system-icons-upload.mjs +0 -5
  715. package/esm2022/icons/upload/public_api.mjs +0 -2
  716. package/esm2022/icons/upload/upload.mjs +0 -54
  717. package/esm2022/icons/windowmaximize/cax-design-system-icons-windowmaximize.mjs +0 -5
  718. package/esm2022/icons/windowmaximize/public_api.mjs +0 -2
  719. package/esm2022/icons/windowmaximize/windowmaximize.mjs +0 -54
  720. package/esm2022/icons/windowminimize/cax-design-system-icons-windowminimize.mjs +0 -5
  721. package/esm2022/icons/windowminimize/public_api.mjs +0 -2
  722. package/esm2022/icons/windowminimize/windowminimize.mjs +0 -54
  723. package/esm2022/image/cax-design-system-image.mjs +0 -5
  724. package/esm2022/image/image.interface.mjs +0 -2
  725. package/esm2022/image/image.mjs +0 -418
  726. package/esm2022/image/image.module.mjs +0 -17
  727. package/esm2022/image/public_api.mjs +0 -4
  728. package/esm2022/inplace/cax-design-system-inplace.mjs +0 -5
  729. package/esm2022/inplace/inplace.interface.mjs +0 -2
  730. package/esm2022/inplace/inplace.mjs +0 -243
  731. package/esm2022/inplace/public_api.mjs +0 -3
  732. package/esm2022/inputgroup/cax-design-system-inputgroup.mjs +0 -5
  733. package/esm2022/inputgroup/inputgroup.mjs +0 -55
  734. package/esm2022/inputgroup/inputgroup.module.mjs +0 -25
  735. package/esm2022/inputgroup/public_api.mjs +0 -3
  736. package/esm2022/inputgroupaddon/cax-design-system-inputgroupaddon.mjs +0 -5
  737. package/esm2022/inputgroupaddon/inputgroupaddon.mjs +0 -32
  738. package/esm2022/inputgroupaddon/inputgroupaddon.module.mjs +0 -24
  739. package/esm2022/inputgroupaddon/public_api.mjs +0 -3
  740. package/esm2022/inputicon/cax-design-system-inputicon.mjs +0 -5
  741. package/esm2022/inputicon/inputicon.mjs +0 -38
  742. package/esm2022/inputicon/public_api.mjs +0 -2
  743. package/esm2022/inputmask/cax-design-system-inputmask.mjs +0 -5
  744. package/esm2022/inputmask/inputmask.interface.mjs +0 -2
  745. package/esm2022/inputmask/inputmask.mjs +0 -848
  746. package/esm2022/inputmask/inputmask.module.mjs +0 -22
  747. package/esm2022/inputmask/public_api.mjs +0 -4
  748. package/esm2022/inputnumber/cax-design-system-inputnumber.mjs +0 -5
  749. package/esm2022/inputnumber/inputnumber.interface.mjs +0 -2
  750. package/esm2022/inputnumber/inputnumber.mjs +0 -1296
  751. package/esm2022/inputnumber/inputnumber.module.mjs +0 -17
  752. package/esm2022/inputnumber/public_api.mjs +0 -4
  753. package/esm2022/inputotp/cax-design-system-inputotp.mjs +0 -5
  754. package/esm2022/inputotp/inputotp.interface.mjs +0 -2
  755. package/esm2022/inputotp/inputotp.mjs +0 -381
  756. package/esm2022/inputotp/public_api.mjs +0 -3
  757. package/esm2022/inputswitch/cax-design-system-inputswitch.mjs +0 -5
  758. package/esm2022/inputswitch/inputswitch.interface.mjs +0 -2
  759. package/esm2022/inputswitch/inputswitch.mjs +0 -244
  760. package/esm2022/inputswitch/public_api.mjs +0 -3
  761. package/esm2022/inputtext/cax-design-system-inputtext.mjs +0 -5
  762. package/esm2022/inputtext/inputtext.component.mjs +0 -132
  763. package/esm2022/inputtext/inputtext.directive.mjs +0 -76
  764. package/esm2022/inputtext/inputtext.module.mjs +0 -20
  765. package/esm2022/inputtext/public_api.mjs +0 -4
  766. package/esm2022/inputtextarea/cax-design-system-inputtextarea.mjs +0 -5
  767. package/esm2022/inputtextarea/inputtextarea.component.mjs +0 -155
  768. package/esm2022/inputtextarea/inputtextarea.directive.mjs +0 -121
  769. package/esm2022/inputtextarea/inputtextarea.module.mjs +0 -20
  770. package/esm2022/inputtextarea/public_api.mjs +0 -4
  771. package/esm2022/keyfilter/cax-design-system-keyfilter.mjs +0 -5
  772. package/esm2022/keyfilter/keyfilter.interface.mjs +0 -2
  773. package/esm2022/keyfilter/keyfilter.mjs +0 -265
  774. package/esm2022/keyfilter/public_api.mjs +0 -3
  775. package/esm2022/knob/cax-design-system-knob.mjs +0 -5
  776. package/esm2022/knob/knob.mjs +0 -464
  777. package/esm2022/knob/public_api.mjs +0 -2
  778. package/esm2022/listbox/cax-design-system-listbox.mjs +0 -5
  779. package/esm2022/listbox/listbox.interface.mjs +0 -2
  780. package/esm2022/listbox/listbox.mjs +0 -1555
  781. package/esm2022/listbox/public_api.mjs +0 -3
  782. package/esm2022/logo/cax-design-system-logo.mjs +0 -5
  783. package/esm2022/logo/logo.mjs +0 -45
  784. package/esm2022/logo/logo.module.mjs +0 -16
  785. package/esm2022/logo/public_api.mjs +0 -3
  786. package/esm2022/megamenu/cax-design-system-megamenu.mjs +0 -5
  787. package/esm2022/megamenu/megamenu.interface.mjs +0 -2
  788. package/esm2022/megamenu/megamenu.mjs +0 -1190
  789. package/esm2022/megamenu/public_api.mjs +0 -3
  790. package/esm2022/menu/cax-design-system-menu.mjs +0 -5
  791. package/esm2022/menu/menu.mjs +0 -626
  792. package/esm2022/menu/menu.module.mjs +0 -22
  793. package/esm2022/menu/public_api.mjs +0 -3
  794. package/esm2022/menubar/cax-design-system-menubar.mjs +0 -5
  795. package/esm2022/menubar/menubar.interface.mjs +0 -2
  796. package/esm2022/menubar/menubar.mjs +0 -1249
  797. package/esm2022/menubar/public_api.mjs +0 -3
  798. package/esm2022/message/cax-design-system-message.mjs +0 -5
  799. package/esm2022/message/message.mjs +0 -112
  800. package/esm2022/message/public_api.mjs +0 -2
  801. package/esm2022/messages/cax-design-system-messages.mjs +0 -5
  802. package/esm2022/messages/messages.interface.mjs +0 -2
  803. package/esm2022/messages/messages.mjs +0 -283
  804. package/esm2022/messages/messages.module.mjs +0 -17
  805. package/esm2022/messages/public_api.mjs +0 -4
  806. package/esm2022/metergroup/cax-design-system-metergroup.mjs +0 -5
  807. package/esm2022/metergroup/metergroup.interface.mjs +0 -2
  808. package/esm2022/metergroup/metergroup.mjs +0 -280
  809. package/esm2022/metergroup/public_api.mjs +0 -3
  810. package/esm2022/multiselect/cax-design-system-multiselect.mjs +0 -5
  811. package/esm2022/multiselect/multiselect.interface.mjs +0 -2
  812. package/esm2022/multiselect/multiselect.mjs +0 -1875
  813. package/esm2022/multiselect/multiselect.module.mjs +0 -30
  814. package/esm2022/multiselect/public_api.mjs +0 -4
  815. package/esm2022/navigation/cax-design-system-navigation.mjs +0 -5
  816. package/esm2022/navigation/navigation.interface.mjs +0 -2
  817. package/esm2022/navigation/navigation.mjs +0 -399
  818. package/esm2022/navigation/navigation.module.mjs +0 -16
  819. package/esm2022/navigation/public_api.mjs +0 -3
  820. package/esm2022/orderlist/cax-design-system-orderlist.mjs +0 -5
  821. package/esm2022/orderlist/orderlist.interface.mjs +0 -2
  822. package/esm2022/orderlist/orderlist.mjs +0 -993
  823. package/esm2022/orderlist/public_api.mjs +0 -3
  824. package/esm2022/organizationchart/cax-design-system-organizationchart.mjs +0 -5
  825. package/esm2022/organizationchart/organizationchart.interface.mjs +0 -2
  826. package/esm2022/organizationchart/organizationchart.mjs +0 -416
  827. package/esm2022/organizationchart/public_api.mjs +0 -3
  828. package/esm2022/overlay/cax-design-system-overlay.mjs +0 -5
  829. package/esm2022/overlay/overlay.mjs +0 -579
  830. package/esm2022/overlay/overlay.module.mjs +0 -17
  831. package/esm2022/overlay/public_api.mjs +0 -3
  832. package/esm2022/overlaypanel/cax-design-system-overlaypanel.mjs +0 -5
  833. package/esm2022/overlaypanel/overlaypanel.mjs +0 -470
  834. package/esm2022/overlaypanel/overlaypanel.module.mjs +0 -17
  835. package/esm2022/overlaypanel/public_api.mjs +0 -3
  836. package/esm2022/paginator/cax-design-system-paginator.mjs +0 -5
  837. package/esm2022/paginator/paginator.interface.mjs +0 -2
  838. package/esm2022/paginator/paginator.mjs +0 -437
  839. package/esm2022/paginator/paginator.module.mjs +0 -27
  840. package/esm2022/paginator/public_api.mjs +0 -4
  841. package/esm2022/panel/cax-design-system-panel.mjs +0 -5
  842. package/esm2022/panel/panel.interface.mjs +0 -2
  843. package/esm2022/panel/panel.mjs +0 -393
  844. package/esm2022/panel/public_api.mjs +0 -3
  845. package/esm2022/panelmenu/cax-design-system-panelmenu.mjs +0 -5
  846. package/esm2022/panelmenu/panelmenu.interface.mjs +0 -2
  847. package/esm2022/panelmenu/panelmenu.mjs +0 -1276
  848. package/esm2022/panelmenu/public_api.mjs +0 -3
  849. package/esm2022/password/cax-design-system-password.mjs +0 -5
  850. package/esm2022/password/password.mjs +0 -1017
  851. package/esm2022/password/public_api.mjs +0 -2
  852. package/esm2022/picklist/cax-design-system-picklist.mjs +0 -5
  853. package/esm2022/picklist/picklist.interface.mjs +0 -2
  854. package/esm2022/picklist/picklist.mjs +0 -1909
  855. package/esm2022/picklist/public_api.mjs +0 -3
  856. package/esm2022/progressbar/cax-design-system-progressbar.mjs +0 -5
  857. package/esm2022/progressbar/progressbar.mjs +0 -86
  858. package/esm2022/progressbar/progressbar.module.mjs +0 -18
  859. package/esm2022/progressbar/public_api.mjs +0 -3
  860. package/esm2022/progressspinner/cax-design-system-progressspinner.mjs +0 -5
  861. package/esm2022/progressspinner/progressspinner.mjs +0 -112
  862. package/esm2022/progressspinner/progressspinner.module.mjs +0 -18
  863. package/esm2022/progressspinner/public_api.mjs +0 -3
  864. package/esm2022/public_api.mjs +0 -2
  865. package/esm2022/radiobutton/cax-design-system-radiobutton.mjs +0 -5
  866. package/esm2022/radiobutton/public_api.mjs +0 -4
  867. package/esm2022/radiobutton/radiobutton.interface.mjs +0 -2
  868. package/esm2022/radiobutton/radiobutton.mjs +0 -284
  869. package/esm2022/radiobutton/radiobutton.module.mjs +0 -16
  870. package/esm2022/rating/cax-design-system-rating.mjs +0 -5
  871. package/esm2022/rating/public_api.mjs +0 -3
  872. package/esm2022/rating/rating.interface.mjs +0 -2
  873. package/esm2022/rating/rating.mjs +0 -388
  874. package/esm2022/ripple/cax-design-system-ripple.mjs +0 -5
  875. package/esm2022/ripple/public_api.mjs +0 -3
  876. package/esm2022/ripple/ripple.mjs +0 -129
  877. package/esm2022/ripple/ripple.module.mjs +0 -16
  878. package/esm2022/scroller/cax-design-system-scroller.mjs +0 -5
  879. package/esm2022/scroller/public_api.mjs +0 -4
  880. package/esm2022/scroller/scroller.interface.mjs +0 -2
  881. package/esm2022/scroller/scroller.mjs +0 -981
  882. package/esm2022/scroller/scroller.module.mjs +0 -17
  883. package/esm2022/scrollpanel/cax-design-system-scrollpanel.mjs +0 -5
  884. package/esm2022/scrollpanel/public_api.mjs +0 -3
  885. package/esm2022/scrollpanel/scrollpanel.interface.mjs +0 -2
  886. package/esm2022/scrollpanel/scrollpanel.mjs +0 -501
  887. package/esm2022/scrolltop/cax-design-system-scrolltop.mjs +0 -5
  888. package/esm2022/scrolltop/public_api.mjs +0 -3
  889. package/esm2022/scrolltop/scrolltop.interface.mjs +0 -2
  890. package/esm2022/scrolltop/scrolltop.mjs +0 -282
  891. package/esm2022/selectbutton/cax-design-system-selectbutton.mjs +0 -5
  892. package/esm2022/selectbutton/public_api.mjs +0 -4
  893. package/esm2022/selectbutton/selectbutton.interface.mjs +0 -2
  894. package/esm2022/selectbutton/selectbutton.mjs +0 -303
  895. package/esm2022/selectbutton/selectbutton.module.mjs +0 -21
  896. package/esm2022/sidebar/cax-design-system-sidebar.mjs +0 -5
  897. package/esm2022/sidebar/public_api.mjs +0 -4
  898. package/esm2022/sidebar/sidebar.interface.mjs +0 -2
  899. package/esm2022/sidebar/sidebar.mjs +0 -488
  900. package/esm2022/sidebar/sidebar.module.mjs +0 -21
  901. package/esm2022/skeleton/cax-design-system-skeleton.mjs +0 -5
  902. package/esm2022/skeleton/public_api.mjs +0 -3
  903. package/esm2022/skeleton/skeleton.mjs +0 -87
  904. package/esm2022/skeleton/skeleton.module.mjs +0 -18
  905. package/esm2022/slidemenu/cax-design-system-slidemenu.mjs +0 -5
  906. package/esm2022/slidemenu/public_api.mjs +0 -3
  907. package/esm2022/slidemenu/slidemenu.interface.mjs +0 -2
  908. package/esm2022/slidemenu/slidemenu.mjs +0 -1501
  909. package/esm2022/slider/cax-design-system-slider.mjs +0 -5
  910. package/esm2022/slider/public_api.mjs +0 -3
  911. package/esm2022/slider/slider.interface.mjs +0 -2
  912. package/esm2022/slider/slider.mjs +0 -796
  913. package/esm2022/speeddial/cax-design-system-speeddial.mjs +0 -5
  914. package/esm2022/speeddial/public_api.mjs +0 -4
  915. package/esm2022/speeddial/speeddial.interface.mjs +0 -2
  916. package/esm2022/speeddial/speeddial.mjs +0 -611
  917. package/esm2022/speeddial/speeddial.module.mjs +0 -24
  918. package/esm2022/spinner/cax-design-system-spinner.mjs +0 -5
  919. package/esm2022/spinner/public_api.mjs +0 -2
  920. package/esm2022/spinner/spinner.mjs +0 -447
  921. package/esm2022/splitbutton/cax-design-system-splitbutton.mjs +0 -5
  922. package/esm2022/splitbutton/public_api.mjs +0 -4
  923. package/esm2022/splitbutton/splitbutton.interface.mjs +0 -2
  924. package/esm2022/splitbutton/splitbutton.mjs +0 -369
  925. package/esm2022/splitbutton/splitbutton.module.mjs +0 -23
  926. package/esm2022/splitter/cax-design-system-splitter.mjs +0 -5
  927. package/esm2022/splitter/public_api.mjs +0 -4
  928. package/esm2022/splitter/splitter.interface.mjs +0 -2
  929. package/esm2022/splitter/splitter.mjs +0 -490
  930. package/esm2022/splitter/splitter.module.mjs +0 -19
  931. package/esm2022/stepper/cax-design-system-stepper.mjs +0 -5
  932. package/esm2022/stepper/public_api.mjs +0 -3
  933. package/esm2022/stepper/stepper.interface.mjs +0 -2
  934. package/esm2022/stepper/stepper.mjs +0 -677
  935. package/esm2022/steps/cax-design-system-steps.mjs +0 -5
  936. package/esm2022/steps/public_api.mjs +0 -3
  937. package/esm2022/steps/steps.mjs +0 -207
  938. package/esm2022/steps/steps.module.mjs +0 -20
  939. package/esm2022/styleclass/cax-design-system-styleclass.mjs +0 -5
  940. package/esm2022/styleclass/public_api.mjs +0 -2
  941. package/esm2022/styleclass/styleclass.mjs +0 -316
  942. package/esm2022/table/cax-design-system-table.mjs +0 -5
  943. package/esm2022/table/columnfilter.interface.mjs +0 -2
  944. package/esm2022/table/components/cell-editor/cell-editor.mjs +0 -52
  945. package/esm2022/table/components/column-filter/column-filter.mjs +0 -865
  946. package/esm2022/table/components/column-filter-form-element/column-filter-form-element.mjs +0 -107
  947. package/esm2022/table/components/sort-icon/sort-icon.mjs +0 -78
  948. package/esm2022/table/components/table-body/table-body.mjs +0 -152
  949. package/esm2022/table/components/table-checkbox/table-checkbox.mjs +0 -83
  950. package/esm2022/table/components/table-header-checkbox/table-header-checkbox.mjs +0 -92
  951. package/esm2022/table/components/table-radio-button/table-radio-button.mjs +0 -79
  952. package/esm2022/table/directives/cancel-editable-row.directive.mjs +0 -32
  953. package/esm2022/table/directives/cell-highlight.directive.mjs +0 -42
  954. package/esm2022/table/directives/content-menu-row.directive.mjs +0 -70
  955. package/esm2022/table/directives/dynamic-column-width.directive.mjs +0 -34
  956. package/esm2022/table/directives/editable-column.directive.mjs +0 -344
  957. package/esm2022/table/directives/editable-row.directive.mjs +0 -32
  958. package/esm2022/table/directives/frozen-column.directive.mjs +0 -77
  959. package/esm2022/table/directives/init-editable-row.directive.mjs +0 -32
  960. package/esm2022/table/directives/reorderable-column.directive.mjs +0 -115
  961. package/esm2022/table/directives/reorderable-row-handle.directive.mjs +0 -25
  962. package/esm2022/table/directives/reorderable-row.directive.mjs +0 -122
  963. package/esm2022/table/directives/resizable-column.directive.mjs +0 -123
  964. package/esm2022/table/directives/row-group-header.directive.mjs +0 -26
  965. package/esm2022/table/directives/row-toggler.directive.mjs +0 -42
  966. package/esm2022/table/directives/save-editable-row.directive.mjs +0 -32
  967. package/esm2022/table/directives/selectable-row-double-click.directive.mjs +0 -71
  968. package/esm2022/table/directives/selectable-row.directive.mjs +0 -243
  969. package/esm2022/table/directives/sortable-column.directive.mjs +0 -90
  970. package/esm2022/table/public_api.mjs +0 -31
  971. package/esm2022/table/table.interface.mjs +0 -2
  972. package/esm2022/table/table.mjs +0 -2799
  973. package/esm2022/table/table.module.mjs +0 -157
  974. package/esm2022/table/table.service.mjs +0 -42
  975. package/esm2022/tableconfiguration/cax-design-system-tableconfiguration.mjs +0 -5
  976. package/esm2022/tableconfiguration/public_api.mjs +0 -3
  977. package/esm2022/tableconfiguration/tableconfiguration.mjs +0 -68
  978. package/esm2022/tableconfiguration/tableconfiguration.module.mjs +0 -16
  979. package/esm2022/tabmenu/cax-design-system-tabmenu.mjs +0 -5
  980. package/esm2022/tabmenu/public_api.mjs +0 -3
  981. package/esm2022/tabmenu/tabmenu.interface.mjs +0 -2
  982. package/esm2022/tabmenu/tabmenu.mjs +0 -576
  983. package/esm2022/tabview/cax-design-system-tabview.mjs +0 -5
  984. package/esm2022/tabview/public_api.mjs +0 -4
  985. package/esm2022/tabview/tabview.interface.mjs +0 -2
  986. package/esm2022/tabview/tabview.mjs +0 -913
  987. package/esm2022/tabview/tabview.module.mjs +0 -25
  988. package/esm2022/tag/cax-design-system-tag.mjs +0 -5
  989. package/esm2022/tag/public_api.mjs +0 -4
  990. package/esm2022/tag/tag.interface.mjs +0 -2
  991. package/esm2022/tag/tag.mjs +0 -95
  992. package/esm2022/tag/tag.module.mjs +0 -19
  993. package/esm2022/terminal/cax-design-system-terminal.mjs +0 -5
  994. package/esm2022/terminal/public_api.mjs +0 -3
  995. package/esm2022/terminal/terminal.mjs +0 -143
  996. package/esm2022/terminal/terminalservice.mjs +0 -25
  997. package/esm2022/tieredmenu/cax-design-system-tieredmenu.mjs +0 -5
  998. package/esm2022/tieredmenu/public_api.mjs +0 -4
  999. package/esm2022/tieredmenu/tieredmenu.interface.mjs +0 -2
  1000. package/esm2022/tieredmenu/tieredmenu.mjs +0 -1289
  1001. package/esm2022/tieredmenu/tiredmenu.module.mjs +0 -23
  1002. package/esm2022/timeline/cax-design-system-timeline.mjs +0 -5
  1003. package/esm2022/timeline/public_api.mjs +0 -4
  1004. package/esm2022/timeline/timeline.interface.mjs +0 -2
  1005. package/esm2022/timeline/timeline.mjs +0 -83
  1006. package/esm2022/timeline/timeline.module.mjs +0 -19
  1007. package/esm2022/toast/cax-design-system-toast.mjs +0 -5
  1008. package/esm2022/toast/public_api.mjs +0 -4
  1009. package/esm2022/toast/toast.interface.mjs +0 -2
  1010. package/esm2022/toast/toast.mjs +0 -324
  1011. package/esm2022/toast/toast.module.mjs +0 -18
  1012. package/esm2022/toast/toastitem.mjs +0 -170
  1013. package/esm2022/togglebutton/cax-design-system-togglebutton.mjs +0 -5
  1014. package/esm2022/togglebutton/public_api.mjs +0 -3
  1015. package/esm2022/togglebutton/togglebutton.interface.mjs +0 -2
  1016. package/esm2022/togglebutton/togglebutton.mjs +0 -274
  1017. package/esm2022/toggleswitch/cax-design-system-toggleswitch.mjs +0 -5
  1018. package/esm2022/toggleswitch/public_api.mjs +0 -3
  1019. package/esm2022/toggleswitch/toggleswitch.mjs +0 -37
  1020. package/esm2022/toggleswitch/toggleswitch.module.mjs +0 -19
  1021. package/esm2022/toolbar/cax-design-system-toolbar.mjs +0 -5
  1022. package/esm2022/toolbar/public_api.mjs +0 -3
  1023. package/esm2022/toolbar/toolbar.interface.mjs +0 -2
  1024. package/esm2022/toolbar/toolbar.mjs +0 -111
  1025. package/esm2022/tooltip/cax-design-system-tooltip.mjs +0 -5
  1026. package/esm2022/tooltip/public_api.mjs +0 -3
  1027. package/esm2022/tooltip/tooltip.mjs +0 -889
  1028. package/esm2022/tooltip/tooltip.module.mjs +0 -20
  1029. package/esm2022/tree/cax-design-system-tree.mjs +0 -5
  1030. package/esm2022/tree/public_api.mjs +0 -4
  1031. package/esm2022/tree/tree.interface.mjs +0 -2
  1032. package/esm2022/tree/tree.mjs +0 -1544
  1033. package/esm2022/tree/tree.module.mjs +0 -31
  1034. package/esm2022/treeselect/cax-design-system-treeselect.mjs +0 -5
  1035. package/esm2022/treeselect/public_api.mjs +0 -4
  1036. package/esm2022/treeselect/treeselect.interface.mjs +0 -2
  1037. package/esm2022/treeselect/treeselect.mjs +0 -865
  1038. package/esm2022/treeselect/treeselect.module.mjs +0 -26
  1039. package/esm2022/treetable/cax-design-system-treetable.mjs +0 -5
  1040. package/esm2022/treetable/public_api.mjs +0 -3
  1041. package/esm2022/treetable/treetable.interface.mjs +0 -2
  1042. package/esm2022/treetable/treetable.mjs +0 -4111
  1043. package/esm2022/tristatecheckbox/cax-design-system-tristatecheckbox.mjs +0 -5
  1044. package/esm2022/tristatecheckbox/public_api.mjs +0 -4
  1045. package/esm2022/tristatecheckbox/tristatecheckbox.interface.mjs +0 -2
  1046. package/esm2022/tristatecheckbox/tristatecheckbox.mjs +0 -215
  1047. package/esm2022/tristatecheckbox/tristatecheckbox.module.mjs +0 -17
  1048. package/esm2022/ts-helpers/cax-design-system-ts-helpers.mjs +0 -5
  1049. package/esm2022/ts-helpers/public_api.mjs +0 -2
  1050. package/esm2022/ts-helpers/ts-helpers.mjs +0 -2
  1051. package/esm2022/upload/cax-design-system-upload.mjs +0 -5
  1052. package/esm2022/upload/public_api.mjs +0 -3
  1053. package/esm2022/upload/upload.component.mjs +0 -372
  1054. package/esm2022/upload/upload.component.module.mjs +0 -21
  1055. package/esm2022/utils/cax-design-system-utils.mjs +0 -5
  1056. package/esm2022/utils/objectutils.mjs +0 -258
  1057. package/esm2022/utils/public_api.mjs +0 -5
  1058. package/esm2022/utils/uniquecomponentid.mjs +0 -6
  1059. package/esm2022/utils/zindexutils.mjs +0 -35
  1060. package/esm2022/virtualscroller/cax-design-system-virtualscroller.mjs +0 -5
  1061. package/esm2022/virtualscroller/public_api.mjs +0 -3
  1062. package/esm2022/virtualscroller/virtualscroller.interface.mjs +0 -2
  1063. package/esm2022/virtualscroller/virtualscroller.mjs +0 -215
@@ -1 +1 @@
1
- {"version":3,"file":"cax-design-system-autocomplete.mjs","sources":["../../src/app/components/autocomplete/autocomplete.ts","../../src/app/components/autocomplete/autocomplete.html","../../src/app/components/autocomplete/autocomplete.module.ts","../../src/app/components/autocomplete/cax-design-system-autocomplete.ts"],"sourcesContent":["import { AnimationEvent } from '@angular/animations';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewChecked,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n ContentChildren,\n effect,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n NgModule,\n NgZone,\n numberAttribute,\n OnDestroy,\n Output,\n QueryList,\n Renderer2,\n signal,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { OverlayOptions, OverlayService, caxConfig, CaxTemplate, ScrollerOptions, SharedModule, TranslationKeys } from 'cax-design-system/api';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\nimport { ButtonModule } from 'cax-design-system/button';\nimport { ConnectedOverlayScrollHandler, DomHandler } from 'cax-design-system/dom';\nimport { InputTextModule } from 'cax-design-system/inputtext';\nimport { Overlay, OverlayModule } from 'cax-design-system/overlay';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { Scroller, ScrollerModule } from 'cax-design-system/scroller';\nimport { ObjectUtils, UniqueComponentId } from 'cax-design-system/utils';\nimport { TimesCircleIcon } from 'cax-design-system/icons/timescircle';\nimport { SpinnerIcon } from 'cax-design-system/icons/spinner';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { SearchIcon } from 'cax-design-system/icons/search';\nimport { ChevronDownIcon } from 'cax-design-system/icons/chevrondown';\nimport { Nullable } from 'cax-design-system/ts-helpers';\nimport { AutoCompleteCompleteEvent, AutoCompleteDropdownClickEvent, AutoCompleteLazyLoadEvent, AutoCompleteSelectEvent, AutoCompleteUnselectEvent } from './autocomplete.interface';\n\nexport const AUTOCOMPLETE_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AutoComplete),\n multi: true\n};\n/**\n * AutoComplete is an input component that provides real-time suggestions when being typed.\n * @group Components\n */\n@Component({\n selector: 'cax-autoComplete',\n templateUrl: `./autocomplete.html`,\n host: {\n class: 'cax-element cax-inputwrapper',\n '[class.cax-inputwrapper-filled]': 'filled',\n '[class.cax-inputwrapper-focus]': '((focused && !disabled) || autofocus) || overlayVisible',\n '[class.cax-autocomplete-clearable]': 'showClear && !disabled'\n },\n providers: [AUTOCOMPLETE_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./autocomplete.scss']\n})\nexport class AutoComplete implements AfterViewChecked, AfterContentInit, OnDestroy, ControlValueAccessor {\n /**\n * Minimum number of characters to initiate a search.\n * @group Props\n */\n @Input({ transform: numberAttribute }) minLength: number = 1;\n //@Input() size: 'sm' | 'md' | 'lg' = 'md';\n @Input() size: 'small' | 'medium' | 'large' | undefined = 'medium';\n /**\n * Delay between keystrokes to wait before sending a query.\n * @group Props\n */\n @Input({ transform: numberAttribute }) delay: number = 300;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Inline style of the overlay panel element.\n * @group Props\n */\n @Input() panelStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Style class of the overlay panel element.\n * @group Props\n */\n @Input() panelStyleClass: string | undefined;\n /**\n * Inline style of the input field.\n * @group Props\n */\n @Input() inputStyle: { [klass: string]: any } | null | undefined;\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Inline style of the input field.\n * @group Props\n */\n @Input() inputStyleClass: string | undefined;\n /**\n * Hint text for the input field.\n * @group Props\n */\n @Input() placeholder: string | undefined;\n /**\n * When present, it specifies that the input cannot be typed.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean | undefined;\n /**\n * When present, it specifies that the component should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * Maximum height of the suggestions panel.\n * @group Props\n */\n @Input() scrollHeight: string = '200px';\n /**\n * Defines if data is loaded and interacted with in lazy manner.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) lazy: boolean = false;\n /**\n * Whether the data should be loaded on demand during scroll.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) virtualScroll: boolean | undefined;\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n @Input({ transform: numberAttribute }) virtualScrollItemSize: number | undefined;\n /**\n * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.\n * @group Props\n */\n @Input() virtualScrollOptions: ScrollerOptions | undefined;\n /**\n * Maximum number of character allows in the input field.\n * @group Props\n */\n @Input({ transform: (value: unknown) => numberAttribute(value, null) }) maxlength: number | undefined;\n /**\n * Name of the input element.\n * @group Props\n */\n @Input() name: string | undefined;\n /**\n * When present, it specifies that an input field must be filled out before submitting the form.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) required: boolean | undefined;\n /**\n * Size of the input field.\n * @group Props\n */\n //@Input({ transform: numberAttribute }) size: number | undefined;\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n @Input() appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n /**\n * When enabled, highlights the first item in the list by default.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoHighlight: boolean | undefined;\n /**\n * When present, autocomplete clears the manual input if it does not match of the suggestions to force only accepting values from the suggestions.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) forceSelection: boolean | undefined;\n /**\n * Type of the input, defaults to \"text\".\n * @group Props\n */\n @Input() type: string = 'text';\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoZIndex: boolean = true;\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n @Input({ transform: numberAttribute }) baseZIndex: number = 0;\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Defines a string that labels the dropdown button for accessibility.\n * @group Props\n */\n @Input() dropdownAriaLabel: string | undefined;\n /**\n * Specifies one or more IDs in the DOM that labels the input field.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Icon class of the dropdown icon.\n * @group Props\n */\n @Input() dropdownIcon: string | undefined;\n /**\n * Ensures uniqueness of selected items on multiple mode.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) unique: boolean = true;\n /**\n * Whether to display options as grouped when nested options are provided.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) group: boolean | undefined;\n /**\n * Whether to run a query when input receives focus.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) completeOnFocus: boolean = false;\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showClear: boolean = false;\n /**\n * Field of a suggested object to resolve and display.\n * @group Props\n * @deprecated use optionLabel property instead\n */\n @Input() field: string | undefined;\n /**\n * Displays a button next to the input field when enabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) dropdown: boolean | undefined;\n /**\n * Whether to show the empty message or not.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showEmptyMessage: boolean | undefined = true;\n /**\n * Specifies the behavior dropdown button. Default \"blank\" mode sends an empty string and \"current\" mode sends the input value.\n * @group Props\n */\n @Input() dropdownMode: string = 'blank';\n /**\n * Specifies if multiple values can be selected.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) multiple: boolean | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined;\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n @Input() dataKey: string | undefined;\n /**\n * Text to display when there is no data. Defaults to global value in i18n translation configuration.\n * @group Props\n */\n @Input() emptyMessage: string | undefined;\n /**\n * Transition options of the show animation.\n * @group Props\n */\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Transition options of the hide animation.\n * @group Props\n */\n @Input() hideTransitionOptions: string = '.1s linear';\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * Used to define a string that autocomplete attribute the current element.\n * @group Props\n */\n @Input() autocomplete: string = 'off';\n /**\n * Name of the options field of an option group.\n * @group Props\n */\n @Input() optionGroupChildren: string | undefined = 'items';\n /**\n * Name of the label field of an option group.\n * @group Props\n */\n @Input() optionGroupLabel: string | undefined = 'label';\n /**\n * Options for the overlay element.\n * @group Props\n */\n @Input() overlayOptions: OverlayOptions | undefined;\n /**\n * An array of suggestions to display.\n * @group Props\n */\n @Input() get suggestions(): any[] {\n return this._suggestions();\n }\n set suggestions(value: any[]) {\n this._suggestions.set(value);\n this.handleSuggestionsChange();\n this.handleSuggestionsChange2();\n }\n /**\n * Element dimensions of option for virtual scrolling.\n * @group Props\n * @deprecated use virtualScrollItemSize property instead.\n */\n @Input() get itemSize(): number {\n return this._itemSize as number;\n }\n set itemSize(val: number) {\n this._itemSize = val;\n console.warn('The itemSize property is deprecated, use virtualScrollItemSize property instead.');\n }\n /**\n * Property name or getter function to use as the label of an option.\n * @group Props\n */\n @Input() optionLabel: string | ((item: any) => string) | undefined;\n /**\n * Property name or getter function to use as the value of an option.\n * @group Props\n */\n @Input() optionValue: string | ((item: any) => string) | undefined;\n /**\n * Unique identifier of the component.\n * @group Props\n */\n @Input() id: string | undefined;\n /**\n * Text to display when the search is active. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue '{0} results are available'\n */\n @Input() searchMessage: string | undefined;\n /**\n * Text to display when filtering does not return any results. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue 'No selected item'\n */\n @Input() emptySelectionMessage: string | undefined;\n /**\n * Text to be displayed in hidden accessible field when options are selected. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue '{0} items selected'\n */\n @Input() selectionMessage: string | undefined;\n /**\n * Whether to focus on the first visible or selected element when the overlay panel is shown.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoOptionFocus: boolean | undefined = false;\n /**\n * When enabled, the focused option is selected.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) selectOnFocus: boolean | undefined;\n /**\n * Locale to use in searching. The default locale is the host environment's current locale.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) searchLocale: boolean | undefined;\n /**\n * Property name or getter function to use as the disabled flag of an option, defaults to false when not defined.\n * @group Props\n */\n @Input() optionDisabled: string | undefined;\n /**\n * When enabled, the hovered option will be focused.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) focusOnHover: boolean | undefined;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'filled' | 'outlined' = 'outlined';\n /**\n * Callback to invoke to search for suggestions.\n * @param {AutoCompleteCompleteEvent} event - Custom complete event.\n * @group Emits\n */\n @Output() completeMethod: EventEmitter<AutoCompleteCompleteEvent> = new EventEmitter<AutoCompleteCompleteEvent>();\n /**\n * Callback to invoke when a suggestion is selected.\n * @param {AutoCompleteSelectEvent} event - custom select event.\n * @group Emits\n */\n @Output() onSelect: EventEmitter<AutoCompleteSelectEvent> = new EventEmitter<AutoCompleteSelectEvent>();\n /**\n * Callback to invoke when a selected value is removed.\n * @param {AutoCompleteUnselectEvent} event - custom unselect event.\n * @group Emits\n */\n @Output() onUnselect: EventEmitter<AutoCompleteUnselectEvent> = new EventEmitter<AutoCompleteUnselectEvent>();\n /**\n * Callback to invoke when the component receives focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter();\n /**\n * Callback to invoke when the component loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter();\n /**\n * Callback to invoke to when dropdown button is clicked.\n * @param {AutoCompleteDropdownClickEvent} event - custom dropdown click event.\n * @group Emits\n */\n @Output() onDropdownClick: EventEmitter<AutoCompleteDropdownClickEvent> = new EventEmitter<AutoCompleteDropdownClickEvent>();\n /**\n * Callback to invoke when clear button is clicked.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onClear: EventEmitter<Event | undefined> = new EventEmitter<Event | undefined>();\n /**\n * Callback to invoke on input key up.\n * @param {KeyboardEvent} event - Keyboard event.\n * @group Emits\n */\n @Output() onKeyUp: EventEmitter<KeyboardEvent> = new EventEmitter();\n /**\n * Callback to invoke on overlay is shown.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onShow: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke on overlay is hidden.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onHide: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke on lazy load data.\n * @param {AutoCompleteLazyLoadEvent} event - Lazy load event.\n * @group Emits\n */\n @Output() onLazyLoad: EventEmitter<AutoCompleteLazyLoadEvent> = new EventEmitter<AutoCompleteLazyLoadEvent>();\n\n @ViewChild('container') containerEL: Nullable<ElementRef>;\n\n @ViewChild('focusInput') inputEL: Nullable<ElementRef>;\n\n @ViewChild('multiIn') multiInputEl: Nullable<ElementRef>;\n\n @ViewChild('multiContainer') multiContainerEL: Nullable<ElementRef>;\n\n @ViewChild('ddBtn') dropdownButton: Nullable<ElementRef>;\n\n @ViewChild('items') itemsViewChild: Nullable<ElementRef>;\n\n @ViewChild('scroller') scroller: Nullable<Scroller>;\n\n @ViewChild('overlay') overlayViewChild!: Overlay;\n\n @ContentChildren(CaxTemplate) templates: Nullable<QueryList<CaxTemplate>>;\n\n _itemSize: Nullable<number>;\n\n itemsWrapper: Nullable<HTMLDivElement>;\n\n itemTemplate: Nullable<TemplateRef<any>>;\n\n emptyTemplate: Nullable<TemplateRef<any>>;\n\n headerTemplate: Nullable<TemplateRef<any>>;\n\n footerTemplate: Nullable<TemplateRef<any>>;\n\n selectedItemTemplate: Nullable<TemplateRef<any>>;\n\n groupTemplate: Nullable<TemplateRef<any>>;\n\n loaderTemplate: Nullable<TemplateRef<any>>;\n\n removeIconTemplate: Nullable<TemplateRef<any>>;\n\n loadingIconTemplate: Nullable<TemplateRef<any>>;\n\n clearIconTemplate: Nullable<TemplateRef<any>>;\n\n dropdownIconTemplate: Nullable<TemplateRef<any>>;\n\n value: string | any;\n\n _suggestions = signal<any>(null);\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n timeout: Nullable<any>;\n\n overlayVisible: boolean | undefined;\n\n suggestionsUpdated: Nullable<boolean>;\n\n highlightOption: any;\n\n highlightOptionChanged: Nullable<boolean>;\n\n focused: boolean = false;\n\n _filled: boolean;\n\n get filled() {\n return this._filled;\n }\n set filled(value: any) {\n this._filled = value;\n }\n\n loading: Nullable<boolean>;\n @Input() isloading: Nullable<boolean> = false;\n\n scrollHandler: Nullable<ConnectedOverlayScrollHandler>;\n\n listId: string | undefined;\n\n searchTimeout: any;\n\n dirty: boolean = false;\n\n modelValue = signal<any>(null);\n\n focusedMultipleOptionIndex = signal<number>(-1);\n\n focusedOptionIndex = signal<number>(-1);\n\n visibleOptions = computed(() => {\n return this.group ? this.flatOptions(this._suggestions()) : this._suggestions() || [];\n });\n\n inputValue = computed(() => {\n const modelValue = this.modelValue();\n const selectedOption = this.getSelectedOption(modelValue);\n\n if (modelValue) {\n if (typeof modelValue === 'object' || this.optionValue) {\n const label = this.getOptionLabel(selectedOption);\n\n return label != null ? label : modelValue;\n } else {\n return modelValue;\n }\n } else {\n return '';\n }\n });\n\n get focusedMultipleOptionId() {\n return this.focusedMultipleOptionIndex() !== -1 ? `${this.id}_multiple_option_${this.focusedMultipleOptionIndex()}` : null;\n }\n\n get focusedOptionId() {\n return this.focusedOptionIndex() !== -1 ? `${this.id}_${this.focusedOptionIndex()}` : null;\n }\n\n get containerClass() {\n return {\n 'cax-autocomplete cax-component cax-inputwrapper': true,\n 'cax-disabled': this.disabled,\n 'cax-focus': this.focused,\n 'cax-autocomplete-dd': this.dropdown,\n 'cax-autocomplete-multiple': this.multiple,\n 'cax-inputwrapper-focus': this.focused,\n 'cax-overlay-open': this.overlayVisible,\n 'cax-autocomplete-sm': this.size === 'small',\n 'cax-autocomplete-md': this.size === 'medium',\n 'cax-autocomplete-lg': this.size === 'large'\n };\n }\n\n get multiContainerClass() {\n return { 'cax-autocomplete-multiple-container cax-component cax-inputtext': true, 'cax-variant-filled': this.variant === 'filled' || this.config.inputStyle() === 'filled' };\n }\n\n get panelClass() {\n return {\n 'cax-autocomplete-panel cax-component': true,\n 'cax-input-filled': this.config.inputStyle() === 'filled',\n 'cax-ripple-disabled': this.config.ripple === false\n };\n }\n\n get panelStyles() {\n return {\n 'max-height': this.virtualScroll ? 'auto' : this.scrollHeight,\n ...this.panelStyle\n };\n }\n\n get inputClass() {\n return {\n 'cax-autocomplete-input cax-inputtext cax-component': !this.multiple,\n 'cax-autocomplete-dd-input': this.dropdown,\n 'cax-variant-filled': this.variant === 'filled' || this.config.inputStyle() === 'filled'\n };\n }\n\n get searchResultMessageText() {\n return ObjectUtils.isNotEmpty(this.visibleOptions()) && this.overlayVisible ? this.searchMessageText.replaceAll('{0}', this.visibleOptions().length) : this.emptySearchMessageText;\n }\n\n get searchMessageText() {\n return this.searchMessage || this.config.translation.searchMessage || '';\n }\n\n get emptySearchMessageText() {\n return this.emptyMessage || this.config.translation.emptySearchMessage || '';\n }\n\n get selectionMessageText() {\n return this.selectionMessage || this.config.translation.selectionMessage || '';\n }\n\n get emptySelectionMessageText() {\n return this.emptySelectionMessage || this.config.translation.emptySelectionMessage || '';\n }\n\n get selectedMessageText() {\n return this.hasSelectedOption() ? this.selectionMessageText.replaceAll('{0}', this.multiple ? this.modelValue().length : '1') : this.emptySelectionMessageText;\n }\n\n get ariaSetSize() {\n return this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length;\n }\n\n get listLabel(): string {\n return this.config.getTranslation(TranslationKeys.ARIA)['listLabel'];\n }\n\n get virtualScrollerDisabled() {\n return !this.virtualScroll;\n }\n\n get optionValueSelected() {\n return typeof this.modelValue() === 'string' && this.optionValue;\n }\n\n get isVisibleClearIcon(): boolean | undefined {\n return this.modelValue() != null && this.hasSelectedOption() && this.showClear && !this.disabled && !this.loading && !this.isloading;\n }\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n public el: ElementRef,\n public renderer: Renderer2,\n public cd: ChangeDetectorRef,\n public config: caxConfig,\n public overlayService: OverlayService,\n private zone: NgZone\n ) {\n effect(() => {\n this.filled = ObjectUtils.isNotEmpty(this.modelValue());\n });\n }\n\n ngOnInit() {\n this.id = this.id || UniqueComponentId();\n this.cd.detectChanges();\n }\n\n ngAfterViewChecked() {\n //Use timeouts as since Angular 4.2, AfterViewChecked is broken and not called after panel is updated\n if (this.suggestionsUpdated && this.overlayViewChild) {\n this.zone.runOutsideAngular(() => {\n setTimeout(() => {\n if (this.overlayViewChild) {\n this.overlayViewChild.alignOverlay();\n }\n }, 1);\n this.suggestionsUpdated = false;\n });\n }\n }\n\n ngAfterContentInit() {\n (this.templates as QueryList<CaxTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n case 'group':\n this.groupTemplate = item.template;\n break;\n\n case 'selectedItem':\n this.selectedItemTemplate = item.template;\n break;\n\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'empty':\n this.emptyTemplate = item.template;\n break;\n\n case 'footer':\n this.footerTemplate = item.template;\n break;\n\n case 'loader':\n this.loaderTemplate = item.template;\n break;\n\n case 'removetokenicon':\n this.removeIconTemplate = item.template;\n break;\n\n case 'loadingicon':\n this.loadingIconTemplate = item.template;\n break;\n\n case 'clearicon':\n this.clearIconTemplate = item.template;\n break;\n\n case 'dropdownicon':\n this.dropdownIconTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n handleSuggestionsChange() {\n if (this.loading) {\n this._suggestions().length > 0 || this.showEmptyMessage ? this.show() : !!this.emptyTemplate ? this.show() : this.hide();\n const focusedOptionIndex = this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.suggestionsUpdated = true;\n this.loading = false;\n this.cd.markForCheck();\n }\n }\n handleSuggestionsChange2() {\n if (this.isloading) {\n this._suggestions().length > 0 || this.showEmptyMessage ? this.show() : !!this.emptyTemplate ? this.show() : this.hide();\n const focusedOptionIndex = this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.suggestionsUpdated = true;\n //this.isloading = false;\n this.cd.markForCheck();\n }\n }\n\n flatOptions(options) {\n return (options || []).reduce((result, option, index) => {\n result.push({ optionGroup: option, group: true, index });\n\n const optionGroupChildren = this.getOptionGroupChildren(option);\n\n optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));\n\n return result;\n }, []);\n }\n\n isOptionGroup(option) {\n return this.optionGroupLabel && option.optionGroup && option.group;\n }\n\n findFirstOptionIndex() {\n return this.visibleOptions().findIndex((option) => this.isValidOption(option));\n }\n\n findLastOptionIndex() {\n return ObjectUtils.findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));\n }\n\n findFirstFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n }\n\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n }\n\n findSelectedOptionIndex() {\n return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;\n }\n\n findNextOptionIndex(index) {\n const matchedOptionIndex =\n index < this.visibleOptions().length - 1\n ? this.visibleOptions()\n .slice(index + 1)\n .findIndex((option) => this.isValidOption(option))\n : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\n }\n\n findPrevOptionIndex(index) {\n const matchedOptionIndex = index > 0 ? ObjectUtils.findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n }\n\n isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n }\n\n isValidOption(option) {\n return option && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n }\n\n isOptionDisabled(option) {\n return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : false;\n }\n\n isSelected(option) {\n if (this.multiple) {\n return this.unique ? this.modelValue()?.find((model) => ObjectUtils.equals(model, this.getOptionValue(option), this.equalityKey())) : false;\n }\n return ObjectUtils.equals(this.modelValue(), this.getOptionValue(option), this.equalityKey());\n }\n\n isOptionMatched(option, value) {\n return this.isValidOption(option) && this.getOptionLabel(option).toLocaleLowerCase(this.searchLocale) === value.toLocaleLowerCase(this.searchLocale);\n }\n\n isInputClicked(event) {\n return event.target === this.inputEL.nativeElement;\n }\n isDropdownClicked(event) {\n return this.dropdownButton?.nativeElement ? event.target === this.dropdownButton.nativeElement || this.dropdownButton.nativeElement.contains(event.target) : false;\n }\n equalityKey() {\n return this.dataKey; // TODO: The 'optionValue' properties can be added.\n }\n\n onContainerClick(event) {\n if (this.disabled || this.loading || this.isInputClicked(event) || this.isDropdownClicked(event)) {\n return;\n }\n\n if (!this.overlayViewChild || !this.overlayViewChild.overlayViewChild?.nativeElement.contains(event.target)) {\n DomHandler.focus(this.inputEL.nativeElement);\n }\n }\n\n handleDropdownClick(event) {\n let query = undefined;\n\n if (this.overlayVisible) {\n this.hide(true);\n } else {\n DomHandler.focus(this.inputEL.nativeElement);\n query = this.inputEL.nativeElement.value;\n\n if (this.dropdownMode === 'blank') this.search(event, '', 'dropdown');\n else if (this.dropdownMode === 'current') this.search(event, query, 'dropdown');\n }\n\n this.onDropdownClick.emit({ originalEvent: event, query });\n }\n\n onInput(event) {\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n let query = event.target.value;\n if (this.maxlength !== null) {\n query = query.split('').slice(0, this.maxlength).join('');\n }\n\n if (!this.multiple && !this.forceSelection) {\n this.updateModel(query);\n }\n\n if (query.length === 0 && !this.multiple && !this.completeOnFocus) {\n this.onClear.emit();\n\n this.hide();\n } else {\n if (query.length >= this.minLength) {\n this.focusedOptionIndex.set(-1);\n\n this.searchTimeout = setTimeout(() => {\n this.search(event, query, 'input');\n }, this.delay);\n } else {\n this.hide();\n }\n }\n }\n\n onInputChange(event) {\n if (this.forceSelection) {\n let valid = false;\n\n if (this.visibleOptions()) {\n const matchedValue = this.visibleOptions().find((option) => this.isOptionMatched(option, this.inputEL.nativeElement.value || ''));\n\n if (matchedValue !== undefined) {\n valid = true;\n !this.isSelected(matchedValue) && this.onOptionSelect(event, matchedValue);\n }\n }\n\n if (!valid) {\n this.inputEL.nativeElement.value = '';\n !this.multiple && this.updateModel(null);\n }\n }\n }\n\n onInputFocus(event) {\n if (this.disabled) {\n // For ScreenReaders\n return;\n }\n\n if (!this.dirty && this.completeOnFocus) {\n this.search(event, event.target.value, 'focus');\n this.show();\n }\n this.dirty = true;\n this.focused = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.overlayVisible && this.scrollInView(this.focusedOptionIndex());\n this.onFocus.emit(event);\n }\n\n onMultipleContainerFocus(event) {\n if (this.disabled) {\n // For ScreenReaders\n return;\n }\n\n this.focused = true;\n }\n\n onMultipleContainerBlur(event) {\n this.focusedMultipleOptionIndex.set(-1);\n this.focused = false;\n }\n\n onMultipleContainerKeyDown(event) {\n if (this.disabled) {\n event.preventDefault();\n\n return;\n }\n\n switch (event.code) {\n case 'ArrowLeft':\n this.onArrowLeftKeyOnMultiple(event);\n break;\n\n case 'ArrowRight':\n this.onArrowRightKeyOnMultiple(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKeyOnMultiple(event);\n break;\n\n default:\n break;\n }\n }\n\n onInputBlur(event) {\n this.dirty = false;\n this.focused = false;\n this.focusedOptionIndex.set(-1);\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n onInputPaste(event) {\n this.onKeyDown(event);\n }\n\n onInputKeyUp(event) {\n this.onKeyUp.emit(event);\n }\n\n onKeyDown(event) {\n if (this.disabled) {\n event.preventDefault();\n\n return;\n }\n\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKey(event);\n break;\n\n case 'ShiftLeft':\n case 'ShiftRight':\n //NOOP\n break;\n\n default:\n break;\n }\n }\n\n onArrowDownKey(event) {\n if (!this.overlayVisible) {\n return;\n }\n\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n event.preventDefault();\n event.stopPropagation();\n }\n\n onArrowUpKey(event) {\n if (!this.overlayVisible) {\n return;\n }\n\n if (event.altKey) {\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n\n this.overlayVisible && this.hide();\n event.preventDefault();\n } else {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.findLastFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n onArrowLeftKey(event) {\n const target = event.currentTarget;\n this.focusedOptionIndex.set(-1);\n if (this.multiple) {\n if (ObjectUtils.isEmpty(target.value) && this.hasSelectedOption()) {\n DomHandler.focus(this.multiContainerEL.nativeElement);\n this.focusedMultipleOptionIndex.set(this.modelValue().length);\n } else {\n event.stopPropagation(); // To prevent onArrowLeftKeyOnMultiple method\n }\n }\n }\n\n onArrowRightKey(event) {\n this.focusedOptionIndex.set(-1);\n\n this.multiple && event.stopPropagation(); // To prevent onArrowRightKeyOnMultiple method\n }\n\n onHomeKey(event) {\n const { currentTarget } = event;\n const len = currentTarget.value.length;\n\n currentTarget.setSelectionRange(0, event.shiftKey ? len : 0);\n this.focusedOptionIndex.set(-1);\n\n event.preventDefault();\n }\n\n onEndKey(event) {\n const { currentTarget } = event;\n const len = currentTarget.value.length;\n\n currentTarget.setSelectionRange(event.shiftKey ? 0 : len, len);\n this.focusedOptionIndex.set(-1);\n\n event.preventDefault();\n }\n\n onPageDownKey(event) {\n this.scrollInView(this.visibleOptions().length - 1);\n event.preventDefault();\n }\n\n onPageUpKey(event) {\n this.scrollInView(0);\n event.preventDefault();\n }\n\n onEnterKey(event) {\n if (!this.overlayVisible) {\n this.onArrowDownKey(event);\n } else {\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n event.preventDefault();\n }\n\n this.hide();\n }\n }\n\n onEscapeKey(event) {\n this.overlayVisible && this.hide(true);\n event.preventDefault();\n }\n\n onTabKey(event) {\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n\n this.overlayVisible && this.hide();\n }\n\n onBackspaceKey(event) {\n if (this.multiple) {\n if (ObjectUtils.isNotEmpty(this.modelValue()) && !this.inputEL.nativeElement.value) {\n const removedValue = this.modelValue()[this.modelValue().length - 1];\n const newValue = this.modelValue().slice(0, -1);\n this.updateModel(newValue);\n this.onUnselect.emit({ originalEvent: event, value: removedValue });\n }\n\n event.stopPropagation(); // To prevent onBackspaceKeyOnMultiple method\n }\n\n if (!this.multiple && this.showClear && this.findSelectedOptionIndex() != -1) {\n this.clear();\n }\n }\n\n onArrowLeftKeyOnMultiple(event) {\n const optionIndex = this.focusedMultipleOptionIndex() < 1 ? 0 : this.focusedMultipleOptionIndex() - 1;\n this.focusedMultipleOptionIndex.set(optionIndex);\n }\n\n onArrowRightKeyOnMultiple(event) {\n let optionIndex = this.focusedMultipleOptionIndex();\n optionIndex++;\n\n this.focusedMultipleOptionIndex.set(optionIndex);\n if (optionIndex > this.modelValue().length - 1) {\n this.focusedMultipleOptionIndex.set(-1);\n DomHandler.focus(this.inputEL.nativeElement);\n }\n }\n\n onBackspaceKeyOnMultiple(event) {\n if (this.focusedMultipleOptionIndex() !== -1) {\n this.removeOption(event, this.focusedMultipleOptionIndex());\n }\n }\n\n onOptionSelect(event, option, isHide = true) {\n const value = this.getOptionValue(option);\n\n if (this.multiple) {\n this.inputEL.nativeElement.value = '';\n\n if (!this.isSelected(option)) {\n this.updateModel([...(this.modelValue() || []), value]);\n }\n } else {\n this.updateModel(value);\n }\n\n this.onSelect.emit({ originalEvent: event, value: option });\n\n isHide && this.hide(true);\n }\n\n onOptionMouseEnter(event, index) {\n if (this.focusOnHover) {\n this.changeFocusedOptionIndex(event, index);\n }\n }\n\n search(event, query, source) {\n //allow empty string but not undefined or null\n if (query === undefined || query === null) {\n return;\n }\n\n //do not search on input change if minLength is not met\n if (source === 'input' && query.trim().length < this.minLength) {\n return;\n }\n this.loading = true;\n this.completeMethod.emit({ originalEvent: event, query });\n }\n\n removeOption(event, index) {\n event.stopPropagation();\n\n const removedOption = this.modelValue()[index];\n const value = this.modelValue()\n .filter((_, i) => i !== index)\n .map((option) => this.getOptionValue(option));\n\n this.updateModel(value);\n this.onUnselect.emit({ originalEvent: event, value: removedOption });\n DomHandler.focus(this.inputEL.nativeElement);\n }\n\n updateModel(value) {\n this.value = value;\n this.modelValue.set(value);\n this.onModelChange(value);\n this.updateInputValue();\n this.cd.markForCheck();\n }\n\n updateInputValue() {\n if (this.inputEL && this.inputEL.nativeElement) {\n if (!this.multiple) {\n this.inputEL.nativeElement.value = this.inputValue();\n } else {\n this.inputEL.nativeElement.value = '';\n }\n }\n }\n\n autoUpdateModel() {\n if ((this.selectOnFocus || this.autoHighlight) && this.autoOptionFocus && !this.hasSelectedOption()) {\n const focusedOptionIndex = this.findFirstFocusedOptionIndex();\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.onOptionSelect(null, this.visibleOptions()[this.focusedOptionIndex()], false);\n }\n }\n\n scrollInView(index = -1) {\n const id = index !== -1 ? `${this.id}_${index}` : this.focusedOptionId;\n if (this.itemsViewChild && this.itemsViewChild.nativeElement) {\n const element = DomHandler.findSingle(this.itemsViewChild.nativeElement, `li[id=\"${id}\"]`);\n if (element) {\n element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n } else if (!this.virtualScrollerDisabled) {\n setTimeout(() => {\n this.virtualScroll && this.scroller?.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());\n }, 0);\n }\n }\n }\n\n changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex() !== index) {\n this.focusedOptionIndex.set(index);\n this.scrollInView();\n\n if (this.selectOnFocus) {\n this.onOptionSelect(event, this.visibleOptions()[index], false);\n }\n }\n }\n\n show(isFocus = false) {\n this.dirty = true;\n this.overlayVisible = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n isFocus && DomHandler.focus(this.inputEL.nativeElement);\n if (isFocus) {\n DomHandler.focus(this.inputEL.nativeElement);\n }\n this.onShow.emit();\n this.cd.markForCheck();\n }\n\n hide(isFocus = false) {\n const _hide = () => {\n this.dirty = isFocus;\n this.overlayVisible = false;\n this.focusedOptionIndex.set(-1);\n isFocus && DomHandler.focus(this.inputEL.nativeElement);\n this.onHide.emit();\n this.cd.markForCheck();\n };\n\n // Added to adjust the scroller's content position when the dropdown closes.\n if (this.virtualScroll) {\n this.scroller.onScrollChange(event);\n }\n\n setTimeout(() => {\n _hide();\n }, 0); // For ScreenReaders\n }\n\n clear() {\n this.updateModel(null);\n this.inputEL.nativeElement.value = '';\n this.onClear.emit();\n }\n\n writeValue(value: any): void {\n this.value = value;\n this.modelValue.set(value);\n this.updateInputValue();\n this.cd.markForCheck();\n }\n\n hasSelectedOption() {\n return ObjectUtils.isNotEmpty(this.modelValue());\n }\n\n getAriaPosInset(index) {\n return (\n (this.optionGroupLabel\n ? index -\n this.visibleOptions()\n .slice(0, index)\n .filter((option) => this.isOptionGroup(option)).length\n : index) + 1\n );\n }\n\n getOptionLabel(option: any) {\n return this.field || this.optionLabel ? ObjectUtils.resolveFieldData(option, this.field || this.optionLabel) : option && option.label != undefined ? option.label : option;\n }\n\n getOptionValue(option) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : option;\n }\n\n getOptionIndex(index, scrollerOptions) {\n return this.virtualScrollerDisabled ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];\n }\n\n getOptionGroupLabel(optionGroup: any) {\n return this.optionGroupLabel ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel) : optionGroup && optionGroup.label != undefined ? optionGroup.label : optionGroup;\n }\n\n getOptionGroupChildren(optionGroup: any) {\n return this.optionGroupChildren ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;\n }\n\n getSelectedOption(modelValue: any) {\n if (!this.optionValue) {\n return modelValue;\n }\n\n return (this.suggestions || []).find((item: any) => ObjectUtils.resolveFieldData(item, this.optionValue) === modelValue);\n }\n\n getMultipleLabel(option: any) {\n let selected = this.getSelectedOption(option);\n\n return this.getOptionLabel(selected);\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n if (event.toState === 'visible') {\n this.itemsWrapper = DomHandler.findSingle(this.overlayViewChild.overlayViewChild?.nativeElement, this.virtualScroll ? '.cax-scroller' : '.cax-autocomplete-panel');\n\n if (this.virtualScroll) {\n this.scroller?.setContentEl(this.itemsViewChild?.nativeElement);\n this.scroller.viewInit();\n }\n if (this.visibleOptions() && this.visibleOptions().length) {\n if (this.virtualScroll) {\n const selectedIndex = this.modelValue() ? this.focusedOptionIndex() : -1;\n\n if (selectedIndex !== -1) {\n this.scroller?.scrollToIndex(selectedIndex);\n }\n } else {\n let selectedListItem = DomHandler.findSingle(this.itemsWrapper, '.cax-autocomplete-item.cax-highlight');\n\n if (selectedListItem) {\n selectedListItem.scrollIntoView({ block: 'nearest', inline: 'center' });\n }\n }\n }\n }\n }\n\n ngOnDestroy() {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n }\n}\n","<div #container [ngClass]=\"containerClass\" [ngStyle]=\"style\" [class]=\"styleClass\" (click)=\"onContainerClick($event)\">\r\n <input\r\n *ngIf=\"!multiple\"\r\n #focusInput\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n [ngClass]=\"inputClass\"\r\n [ngStyle]=\"inputStyle\"\r\n [class]=\"inputStyleClass\"\r\n [type]=\"type\"\r\n [attr.value]=\"inputValue()\"\r\n [attr.id]=\"inputId\"\r\n [autocomplete]=\"autocomplete\"\r\n [required]=\"required\"\r\n [name]=\"name\"\r\n aria-autocomplete=\"list\"\r\n role=\"combobox\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.size]=\"size\"\r\n [attr.maxlength]=\"maxlength\"\r\n [tabindex]=\"!disabled ? tabindex : -1\"\r\n [readonly]=\"readonly\"\r\n [disabled]=\"disabled\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-required]=\"required\"\r\n [attr.aria-expanded]=\"overlayVisible ?? false\"\r\n [attr.aria-controls]=\"overlayVisible ? id + '_list' : null\"\r\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\r\n (input)=\"onInput($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (change)=\"onInputChange($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n (paste)=\"onInputPaste($event)\"\r\n (keyup)=\"onInputKeyUp($event)\"\r\n /> \r\n <SearchIcon [styleClass]=\"'cax-autocomplete-search-icon'\" />\r\n\r\n \r\n <ng-container *ngIf=\"isVisibleClearIcon\">\r\n <TimesCircleIcon *ngIf=\"!clearIconTemplate\" [styleClass]=\"'cax-autocomplete-clear-icon cax-autoComplete-clear'\" (click)=\"clear()\" [attr.aria-hidden]=\"true\" />\r\n <span *ngIf=\"clearIconTemplate\" class=\"cax-autocomplete-clear-icon\" (click)=\"clear()\" [attr.aria-hidden]=\"true\">\r\n <ng-template *ngTemplateOutlet=\"clearIconTemplate\"></ng-template>\r\n </span>\r\n </ng-container>\r\n\r\n <ul\r\n *ngIf=\"multiple\"\r\n #multiContainer\r\n [ngClass]=\"multiContainerClass\"\r\n [tabindex]=\"-1\"\r\n role=\"listbox\"\r\n [attr.aria-orientation]=\"'horizontal'\"\r\n [attr.aria-activedescendant]=\"focused ? focusedMultipleOptionId : undefined\"\r\n (focus)=\"onMultipleContainerFocus($event)\"\r\n (blur)=\"onMultipleContainerBlur($event)\"\r\n (keydown)=\"onMultipleContainerKeyDown($event)\"\r\n >\r\n <li\r\n #token\r\n *ngFor=\"let option of modelValue(); let i = index\"\r\n [ngClass]=\"{ 'cax-autocomplete-token': true, 'cax-focus': focusedMultipleOptionIndex() === i }\"\r\n [attr.id]=\"id + '_multiple_option_' + i\"\r\n role=\"option\"\r\n [attr.aria-label]=\"getOptionLabel(option)\"\r\n [attr.aria-setsize]=\"modelValue().length\"\r\n [attr.aria-posinset]=\"i + 1\"\r\n [attr.aria-selected]=\"true\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: { $implicit: option }\"></ng-container>\r\n <span *ngIf=\"!selectedItemTemplate\" class=\"cax-autocomplete-token-label\">{{ getMultipleLabel(option) }}</span>\r\n <span class=\"cax-autocomplete-token-icon\" (click)=\"!readonly ? removeOption($event, i) : ''\">\r\n <TimesCircleIcon [styleClass]=\"'cax-autocomplete-token-icon'\" *ngIf=\"!removeIconTemplate\" [attr.aria-hidden]=\"true\" />\r\n <span *ngIf=\"removeIconTemplate\" class=\"cax-autocomplete-token-icon\" [attr.aria-hidden]=\"true\">\r\n <ng-template *ngTemplateOutlet=\"removeIconTemplate\"></ng-template>\r\n </span>\r\n </span>\r\n </li>\r\n <li class=\"cax-autocomplete-input-token\" role=\"option\">\r\n <input\r\n #focusInput\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n [ngClass]=\"inputClass\"\r\n [ngStyle]=\"inputStyle\"\r\n [class]=\"inputStyleClass\"\r\n [attr.type]=\"type\"\r\n [attr.id]=\"inputId\"\r\n [autocomplete]=\"autocomplete\"\r\n [required]=\"required\"\r\n [attr.name]=\"name\"\r\n role=\"combobox\"\r\n [attr.placeholder]=\"!filled ? placeholder : null\"\r\n [attr.size]=\"size\"\r\n aria-autocomplete=\"list\"\r\n [attr.maxlength]=\"maxlength\"\r\n [tabindex]=\"!disabled ? tabindex : -1\"\r\n [readonly]=\"readonly\"\r\n [disabled]=\"disabled\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-required]=\"required\"\r\n [attr.aria-expanded]=\"overlayVisible ?? false\"\r\n [attr.aria-controls]=\"overlayVisible ? id + '_list' : null\"\r\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\r\n (input)=\"onInput($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (change)=\"onInputChange($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n (paste)=\"onInputPaste($event)\"\r\n (keyup)=\"onInputKeyUp($event)\"\r\n />\r\n </li>\r\n </ul>\r\n <ng-container *ngIf=\"loading\">\r\n <SpinnerIcon *ngIf=\"!loadingIconTemplate\" [styleClass]=\"'cax-autocomplete-loader'\" [spin]=\"true\" [attr.aria-hidden]=\"true\" />\r\n <span *ngIf=\"loadingIconTemplate\" class=\"cax-autocomplete-loader pi-spin \" [attr.aria-hidden]=\"true\">\r\n <ng-template *ngTemplateOutlet=\"loadingIconTemplate\"></ng-template>\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"isloading\">\r\n <SpinnerIcon *ngIf=\"!loadingIconTemplate\" [styleClass]=\"'cax-autocomplete-loader'\" [spin]=\"true\" [attr.aria-hidden]=\"true\" />\r\n <span *ngIf=\"loadingIconTemplate\" class=\"cax-autocomplete-loader pi-spin \" [attr.aria-hidden]=\"true\">\r\n <ng-template *ngTemplateOutlet=\"loadingIconTemplate\"></ng-template>\r\n </span>\r\n </ng-container>\r\n <button #ddBtn type=\"button\" caxButton [attr.aria-label]=\"dropdownAriaLabel\" class=\"cax-autocomplete-dropdown cax-button-icon-only\" [disabled]=\"disabled\" caxRipple (click)=\"handleDropdownClick($event)\" *ngIf=\"dropdown\" [attr.tabindex]=\"tabindex\">\r\n <span *ngIf=\"dropdownIcon\" [ngClass]=\"dropdownIcon\" [attr.aria-hidden]=\"true\"></span>\r\n <ng-container *ngIf=\"!dropdownIcon\">\r\n <ChevronDownIcon *ngIf=\"!dropdownIconTemplate\" />\r\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate\"></ng-template>\r\n </ng-container>\r\n </button>\r\n <cax-overlay\r\n #overlay\r\n [(visible)]=\"overlayVisible\"\r\n [options]=\"overlayOptions\"\r\n [target]=\"'@parent'\"\r\n [appendTo]=\"appendTo\"\r\n [showTransitionOptions]=\"showTransitionOptions\"\r\n [hideTransitionOptions]=\"hideTransitionOptions\"\r\n (onAnimationStart)=\"onOverlayAnimationStart($event)\"\r\n (onHide)=\"hide()\"\r\n >\r\n <div [ngClass]=\"panelClass\" [ngStyle]=\"panelStyles\" [class]=\"panelStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n <cax-scroller\r\n *ngIf=\"virtualScroll\"\r\n #scroller\r\n [items]=\"visibleOptions()\"\r\n [style]=\"{ height: scrollHeight }\"\r\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\r\n [autoSize]=\"true\"\r\n [lazy]=\"lazy\"\r\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\r\n [options]=\"virtualScrollOptions\"\r\n >\r\n <ng-template caxTemplate=\"content\" let-items let-scrollerOptions=\"options\">\r\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n <ng-container *ngIf=\"loaderTemplate\">\r\n <ng-template caxTemplate=\"loader\" let-scrollerOptions=\"options\">\r\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n </cax-scroller>\r\n <ng-container *ngIf=\"!virtualScroll\">\r\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: visibleOptions(), options: {} }\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\r\n <ul #items class=\"cax-autocomplete-items\" [ngClass]=\"scrollerOptions.contentStyleClass\" [style]=\"scrollerOptions.contentStyle\" role=\"listbox\" [attr.id]=\"id + '_list'\" [attr.aria-label]=\"listLabel\">\r\n <ng-template ngFor let-option [ngForOf]=\"items\" let-i=\"index\">\r\n <ng-container *ngIf=\"isOptionGroup(option)\">\r\n <li [attr.id]=\"id + '_' + getOptionIndex(i, scrollerOptions)\" class=\"cax-autocomplete-item-group\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\r\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(option.optionGroup) }}</span>\r\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: option.optionGroup }\"></ng-container>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!isOptionGroup(option)\">\r\n <li\r\n class=\"cax-autocomplete-item\"\r\n caxRipple\r\n [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\r\n [ngClass]=\"{ 'cax-highlight': isSelected(option), 'cax-focus': focusedOptionIndex() === getOptionIndex(i, scrollerOptions), 'cax-disabled': isOptionDisabled(option) }\"\r\n [attr.id]=\"id + '_' + getOptionIndex(i, scrollerOptions)\"\r\n role=\"option\"\r\n [attr.aria-label]=\"getOptionLabel(option)\"\r\n [attr.aria-selected]=\"isSelected(option)\"\r\n [attr.aria-disabled]=\"isOptionDisabled(option)\"\r\n [attr.data-p-focused]=\"focusedOptionIndex() === getOptionIndex(i, scrollerOptions)\"\r\n [attr.aria-setsize]=\"ariaSetSize\"\r\n [attr.aria-posinset]=\"getAriaPosInset(getOptionIndex(i, scrollerOptions))\"\r\n (click)=\"onOptionSelect($event, option)\"\r\n (mouseenter)=\"onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))\"\r\n >\r\n <span *ngIf=\"!itemTemplate\">{{ getOptionLabel(option) }}</span>\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: option, index: scrollerOptions.getOptions ? scrollerOptions.getOptions(i) : i }\"></ng-container>\r\n </li>\r\n </ng-container>\r\n </ng-template>\r\n <li *ngIf=\"!items || (items && items.length === 0 && showEmptyMessage)\" class=\"cax-autocomplete-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\r\n <ng-container *ngIf=\"!emptyTemplate; else empty\">\r\n {{ searchResultMessageText }}\r\n </ng-container>\r\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n <!-- <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\">\r\n {{ selectedMessageText }}\r\n </span> -->\r\n </cax-overlay>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\nimport { SharedModule } from 'cax-design-system/api';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\nimport { ButtonModule } from 'cax-design-system/button';\nimport { ChevronDownIcon } from 'cax-design-system/icons/chevrondown';\nimport { SearchIcon } from 'cax-design-system/icons/search';\nimport { SpinnerIcon } from 'cax-design-system/icons/spinner';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { TimesCircleIcon } from 'cax-design-system/icons/timescircle';\nimport { InputTextModule } from 'cax-design-system/inputtext';\nimport { OverlayModule } from 'cax-design-system/overlay';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { ScrollerModule } from 'cax-design-system/scroller';\nimport { AutoComplete } from './autocomplete';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n imports: [CommonModule, OverlayModule, InputTextModule, ButtonModule, SharedModule, RippleModule, ScrollerModule, AutoFocusModule, TimesCircleIcon, SpinnerIcon, TimesIcon, ChevronDownIcon, SearchIcon],\n exports: [AutoComplete, OverlayModule, SharedModule, ScrollerModule, AutoFocusModule],\n declarations: [AutoComplete]\n})\nexport class AutoCompleteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cax-design-system-autocomplete.mjs","sources":["../../src/app/components/autocomplete/autocomplete.ts","../../src/app/components/autocomplete/autocomplete.html","../../src/app/components/autocomplete/autocomplete.module.ts","../../src/app/components/autocomplete/cax-design-system-autocomplete.ts"],"sourcesContent":["import { AnimationEvent } from '@angular/animations';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewChecked,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n ContentChildren,\n effect,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n NgModule,\n NgZone,\n numberAttribute,\n OnDestroy,\n Output,\n QueryList,\n Renderer2,\n signal,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { OverlayOptions, OverlayService, caxConfig, CaxTemplate, ScrollerOptions, SharedModule, TranslationKeys } from 'cax-design-system/api';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\nimport { ButtonModule } from 'cax-design-system/button';\nimport { ConnectedOverlayScrollHandler, DomHandler } from 'cax-design-system/dom';\nimport { InputTextModule } from 'cax-design-system/inputtext';\nimport { Overlay, OverlayModule } from 'cax-design-system/overlay';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { Scroller, ScrollerModule } from 'cax-design-system/scroller';\nimport { ObjectUtils, UniqueComponentId } from 'cax-design-system/utils';\nimport { TimesCircleIcon } from 'cax-design-system/icons/timescircle';\nimport { SpinnerIcon } from 'cax-design-system/icons/spinner';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { SearchIcon } from 'cax-design-system/icons/search';\nimport { ChevronDownIcon } from 'cax-design-system/icons/chevrondown';\nimport { Nullable } from 'cax-design-system/ts-helpers';\nimport { AutoCompleteCompleteEvent, AutoCompleteDropdownClickEvent, AutoCompleteLazyLoadEvent, AutoCompleteSelectEvent, AutoCompleteUnselectEvent } from './autocomplete.interface';\n\nexport const AUTOCOMPLETE_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AutoComplete),\n multi: true\n};\n/**\n * AutoComplete is an input component that provides real-time suggestions when being typed.\n * @group Components\n */\n@Component({\n selector: 'cax-autoComplete',\n templateUrl: `./autocomplete.html`,\n host: {\n class: 'cax-element cax-inputwrapper',\n '[class.cax-inputwrapper-filled]': 'filled',\n '[class.cax-inputwrapper-focus]': '((focused && !disabled) || autofocus) || overlayVisible',\n '[class.cax-autocomplete-clearable]': 'showClear && !disabled'\n },\n providers: [AUTOCOMPLETE_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n styleUrls: ['./autocomplete.scss']\n})\nexport class AutoComplete implements AfterViewChecked, AfterContentInit, OnDestroy, ControlValueAccessor {\n /**\n * Minimum number of characters to initiate a search.\n * @group Props\n */\n @Input({ transform: numberAttribute }) minLength: number = 1;\n //@Input() size: 'sm' | 'md' | 'lg' = 'md';\n @Input() size: 'small' | 'medium' | 'large' | undefined = 'medium';\n /**\n * Delay between keystrokes to wait before sending a query.\n * @group Props\n */\n @Input({ transform: numberAttribute }) delay: number = 300;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Inline style of the overlay panel element.\n * @group Props\n */\n @Input() panelStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Style class of the overlay panel element.\n * @group Props\n */\n @Input() panelStyleClass: string | undefined;\n /**\n * Inline style of the input field.\n * @group Props\n */\n @Input() inputStyle: { [klass: string]: any } | null | undefined;\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Inline style of the input field.\n * @group Props\n */\n @Input() inputStyleClass: string | undefined;\n /**\n * Hint text for the input field.\n * @group Props\n */\n @Input() placeholder: string | undefined;\n /**\n * When present, it specifies that the input cannot be typed.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean | undefined;\n /**\n * When present, it specifies that the component should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * Maximum height of the suggestions panel.\n * @group Props\n */\n @Input() scrollHeight: string = '200px';\n /**\n * Defines if data is loaded and interacted with in lazy manner.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) lazy: boolean = false;\n /**\n * Whether the data should be loaded on demand during scroll.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) virtualScroll: boolean | undefined;\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n @Input({ transform: numberAttribute }) virtualScrollItemSize: number | undefined;\n /**\n * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.\n * @group Props\n */\n @Input() virtualScrollOptions: ScrollerOptions | undefined;\n /**\n * Maximum number of character allows in the input field.\n * @group Props\n */\n @Input({ transform: (value: unknown) => numberAttribute(value, null) }) maxlength: number | undefined;\n /**\n * Name of the input element.\n * @group Props\n */\n @Input() name: string | undefined;\n /**\n * When present, it specifies that an input field must be filled out before submitting the form.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) required: boolean | undefined;\n /**\n * Size of the input field.\n * @group Props\n */\n //@Input({ transform: numberAttribute }) size: number | undefined;\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n @Input() appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n /**\n * When enabled, highlights the first item in the list by default.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoHighlight: boolean | undefined;\n /**\n * When present, autocomplete clears the manual input if it does not match of the suggestions to force only accepting values from the suggestions.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) forceSelection: boolean | undefined;\n /**\n * Type of the input, defaults to \"text\".\n * @group Props\n */\n @Input() type: string = 'text';\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoZIndex: boolean = true;\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n @Input({ transform: numberAttribute }) baseZIndex: number = 0;\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Defines a string that labels the dropdown button for accessibility.\n * @group Props\n */\n @Input() dropdownAriaLabel: string | undefined;\n /**\n * Specifies one or more IDs in the DOM that labels the input field.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Icon class of the dropdown icon.\n * @group Props\n */\n @Input() dropdownIcon: string | undefined;\n /**\n * Ensures uniqueness of selected items on multiple mode.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) unique: boolean = true;\n /**\n * Whether to display options as grouped when nested options are provided.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) group: boolean | undefined;\n /**\n * Whether to run a query when input receives focus.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) completeOnFocus: boolean = false;\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showClear: boolean = false;\n /**\n * Field of a suggested object to resolve and display.\n * @group Props\n * @deprecated use optionLabel property instead\n */\n @Input() field: string | undefined;\n /**\n * Displays a button next to the input field when enabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) dropdown: boolean | undefined;\n /**\n * Whether to show the empty message or not.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showEmptyMessage: boolean | undefined = true;\n /**\n * Specifies the behavior dropdown button. Default \"blank\" mode sends an empty string and \"current\" mode sends the input value.\n * @group Props\n */\n @Input() dropdownMode: string = 'blank';\n /**\n * Specifies if multiple values can be selected.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) multiple: boolean | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined;\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n @Input() dataKey: string | undefined;\n /**\n * Text to display when there is no data. Defaults to global value in i18n translation configuration.\n * @group Props\n */\n @Input() emptyMessage: string | undefined;\n /**\n * Transition options of the show animation.\n * @group Props\n */\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Transition options of the hide animation.\n * @group Props\n */\n @Input() hideTransitionOptions: string = '.1s linear';\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * Used to define a string that autocomplete attribute the current element.\n * @group Props\n */\n @Input() autocomplete: string = 'off';\n /**\n * Name of the options field of an option group.\n * @group Props\n */\n @Input() optionGroupChildren: string | undefined = 'items';\n /**\n * Name of the label field of an option group.\n * @group Props\n */\n @Input() optionGroupLabel: string | undefined = 'label';\n /**\n * Options for the overlay element.\n * @group Props\n */\n @Input() overlayOptions: OverlayOptions | undefined;\n /**\n * An array of suggestions to display.\n * @group Props\n */\n @Input() get suggestions(): any[] {\n return this._suggestions();\n }\n set suggestions(value: any[]) {\n this._suggestions.set(value);\n this.handleSuggestionsChange();\n this.handleSuggestionsChange2();\n }\n /**\n * Element dimensions of option for virtual scrolling.\n * @group Props\n * @deprecated use virtualScrollItemSize property instead.\n */\n @Input() get itemSize(): number {\n return this._itemSize as number;\n }\n set itemSize(val: number) {\n this._itemSize = val;\n console.warn('The itemSize property is deprecated, use virtualScrollItemSize property instead.');\n }\n /**\n * Property name or getter function to use as the label of an option.\n * @group Props\n */\n @Input() optionLabel: string | ((item: any) => string) | undefined;\n /**\n * Property name or getter function to use as the value of an option.\n * @group Props\n */\n @Input() optionValue: string | ((item: any) => string) | undefined;\n /**\n * Unique identifier of the component.\n * @group Props\n */\n @Input() id: string | undefined;\n /**\n * Text to display when the search is active. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue '{0} results are available'\n */\n @Input() searchMessage: string | undefined;\n /**\n * Text to display when filtering does not return any results. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue 'No selected item'\n */\n @Input() emptySelectionMessage: string | undefined;\n /**\n * Text to be displayed in hidden accessible field when options are selected. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue '{0} items selected'\n */\n @Input() selectionMessage: string | undefined;\n /**\n * Whether to focus on the first visible or selected element when the overlay panel is shown.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoOptionFocus: boolean | undefined = false;\n /**\n * When enabled, the focused option is selected.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) selectOnFocus: boolean | undefined;\n /**\n * Locale to use in searching. The default locale is the host environment's current locale.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) searchLocale: boolean | undefined;\n /**\n * Property name or getter function to use as the disabled flag of an option, defaults to false when not defined.\n * @group Props\n */\n @Input() optionDisabled: string | undefined;\n /**\n * When enabled, the hovered option will be focused.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) focusOnHover: boolean | undefined;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'filled' | 'outlined' = 'outlined';\n /**\n * Callback to invoke to search for suggestions.\n * @param {AutoCompleteCompleteEvent} event - Custom complete event.\n * @group Emits\n */\n @Output() completeMethod: EventEmitter<AutoCompleteCompleteEvent> = new EventEmitter<AutoCompleteCompleteEvent>();\n /**\n * Callback to invoke when a suggestion is selected.\n * @param {AutoCompleteSelectEvent} event - custom select event.\n * @group Emits\n */\n @Output() onSelect: EventEmitter<AutoCompleteSelectEvent> = new EventEmitter<AutoCompleteSelectEvent>();\n /**\n * Callback to invoke when a selected value is removed.\n * @param {AutoCompleteUnselectEvent} event - custom unselect event.\n * @group Emits\n */\n @Output() onUnselect: EventEmitter<AutoCompleteUnselectEvent> = new EventEmitter<AutoCompleteUnselectEvent>();\n /**\n * Callback to invoke when the component receives focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter();\n /**\n * Callback to invoke when the component loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter();\n /**\n * Callback to invoke to when dropdown button is clicked.\n * @param {AutoCompleteDropdownClickEvent} event - custom dropdown click event.\n * @group Emits\n */\n @Output() onDropdownClick: EventEmitter<AutoCompleteDropdownClickEvent> = new EventEmitter<AutoCompleteDropdownClickEvent>();\n /**\n * Callback to invoke when clear button is clicked.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onClear: EventEmitter<Event | undefined> = new EventEmitter<Event | undefined>();\n /**\n * Callback to invoke on input key up.\n * @param {KeyboardEvent} event - Keyboard event.\n * @group Emits\n */\n @Output() onKeyUp: EventEmitter<KeyboardEvent> = new EventEmitter();\n /**\n * Callback to invoke on overlay is shown.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onShow: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke on overlay is hidden.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onHide: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke on lazy load data.\n * @param {AutoCompleteLazyLoadEvent} event - Lazy load event.\n * @group Emits\n */\n @Output() onLazyLoad: EventEmitter<AutoCompleteLazyLoadEvent> = new EventEmitter<AutoCompleteLazyLoadEvent>();\n\n @ViewChild('container') containerEL: Nullable<ElementRef>;\n\n @ViewChild('focusInput') inputEL: Nullable<ElementRef>;\n\n @ViewChild('multiIn') multiInputEl: Nullable<ElementRef>;\n\n @ViewChild('multiContainer') multiContainerEL: Nullable<ElementRef>;\n\n @ViewChild('ddBtn') dropdownButton: Nullable<ElementRef>;\n\n @ViewChild('items') itemsViewChild: Nullable<ElementRef>;\n\n @ViewChild('scroller') scroller: Nullable<Scroller>;\n\n @ViewChild('overlay') overlayViewChild!: Overlay;\n\n @ContentChildren(CaxTemplate) templates: Nullable<QueryList<CaxTemplate>>;\n\n _itemSize: Nullable<number>;\n\n itemsWrapper: Nullable<HTMLDivElement>;\n\n itemTemplate: Nullable<TemplateRef<any>>;\n\n emptyTemplate: Nullable<TemplateRef<any>>;\n\n headerTemplate: Nullable<TemplateRef<any>>;\n\n footerTemplate: Nullable<TemplateRef<any>>;\n\n selectedItemTemplate: Nullable<TemplateRef<any>>;\n\n groupTemplate: Nullable<TemplateRef<any>>;\n\n loaderTemplate: Nullable<TemplateRef<any>>;\n\n removeIconTemplate: Nullable<TemplateRef<any>>;\n\n loadingIconTemplate: Nullable<TemplateRef<any>>;\n\n clearIconTemplate: Nullable<TemplateRef<any>>;\n\n dropdownIconTemplate: Nullable<TemplateRef<any>>;\n\n value: string | any;\n\n _suggestions = signal<any>(null);\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n timeout: Nullable<any>;\n\n overlayVisible: boolean | undefined;\n\n suggestionsUpdated: Nullable<boolean>;\n\n highlightOption: any;\n\n highlightOptionChanged: Nullable<boolean>;\n\n focused: boolean = false;\n\n _filled: boolean;\n\n get filled() {\n return this._filled;\n }\n set filled(value: any) {\n this._filled = value;\n }\n\n loading: Nullable<boolean>;\n @Input() isloading: Nullable<boolean> = false;\n\n scrollHandler: Nullable<ConnectedOverlayScrollHandler>;\n\n listId: string | undefined;\n\n searchTimeout: any;\n\n dirty: boolean = false;\n\n modelValue = signal<any>(null);\n\n focusedMultipleOptionIndex = signal<number>(-1);\n\n focusedOptionIndex = signal<number>(-1);\n\n visibleOptions = computed(() => {\n return this.group ? this.flatOptions(this._suggestions()) : this._suggestions() || [];\n });\n\n inputValue = computed(() => {\n const modelValue = this.modelValue();\n const selectedOption = this.getSelectedOption(modelValue);\n\n if (modelValue) {\n if (typeof modelValue === 'object' || this.optionValue) {\n const label = this.getOptionLabel(selectedOption);\n\n return label != null ? label : modelValue;\n } else {\n return modelValue;\n }\n } else {\n return '';\n }\n });\n\n get focusedMultipleOptionId() {\n return this.focusedMultipleOptionIndex() !== -1 ? `${this.id}_multiple_option_${this.focusedMultipleOptionIndex()}` : null;\n }\n\n get focusedOptionId() {\n return this.focusedOptionIndex() !== -1 ? `${this.id}_${this.focusedOptionIndex()}` : null;\n }\n\n get containerClass() {\n return {\n 'cax-autocomplete cax-component cax-inputwrapper': true,\n 'cax-disabled': this.disabled,\n 'cax-focus': this.focused,\n 'cax-autocomplete-dd': this.dropdown,\n 'cax-autocomplete-multiple': this.multiple,\n 'cax-inputwrapper-focus': this.focused,\n 'cax-overlay-open': this.overlayVisible,\n 'cax-autocomplete-sm': this.size === 'small',\n 'cax-autocomplete-md': this.size === 'medium',\n 'cax-autocomplete-lg': this.size === 'large'\n };\n }\n\n get multiContainerClass() {\n return { 'cax-autocomplete-multiple-container cax-component cax-inputtext': true, 'cax-variant-filled': this.variant === 'filled' || this.config.inputStyle() === 'filled' };\n }\n\n get panelClass() {\n return {\n 'cax-autocomplete-panel cax-component': true,\n 'cax-input-filled': this.config.inputStyle() === 'filled',\n 'cax-ripple-disabled': this.config.ripple === false\n };\n }\n\n get panelStyles() {\n return {\n 'max-height': this.virtualScroll ? 'auto' : this.scrollHeight,\n ...this.panelStyle\n };\n }\n\n get inputClass() {\n return {\n 'cax-autocomplete-input cax-inputtext cax-component': !this.multiple,\n 'cax-autocomplete-dd-input': this.dropdown,\n 'cax-variant-filled': this.variant === 'filled' || this.config.inputStyle() === 'filled'\n };\n }\n\n get searchResultMessageText() {\n return ObjectUtils.isNotEmpty(this.visibleOptions()) && this.overlayVisible ? this.searchMessageText.replaceAll('{0}', this.visibleOptions().length) : this.emptySearchMessageText;\n }\n\n get searchMessageText() {\n return this.searchMessage || this.config.translation.searchMessage || '';\n }\n\n get emptySearchMessageText() {\n return this.emptyMessage || this.config.translation.emptySearchMessage || '';\n }\n\n get selectionMessageText() {\n return this.selectionMessage || this.config.translation.selectionMessage || '';\n }\n\n get emptySelectionMessageText() {\n return this.emptySelectionMessage || this.config.translation.emptySelectionMessage || '';\n }\n\n get selectedMessageText() {\n return this.hasSelectedOption() ? this.selectionMessageText.replaceAll('{0}', this.multiple ? this.modelValue().length : '1') : this.emptySelectionMessageText;\n }\n\n get ariaSetSize() {\n return this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length;\n }\n\n get listLabel(): string {\n return this.config.getTranslation(TranslationKeys.ARIA)['listLabel'];\n }\n\n get virtualScrollerDisabled() {\n return !this.virtualScroll;\n }\n\n get optionValueSelected() {\n return typeof this.modelValue() === 'string' && this.optionValue;\n }\n\n get isVisibleClearIcon(): boolean | undefined {\n return this.modelValue() != null && this.hasSelectedOption() && this.showClear && !this.disabled && !this.loading && !this.isloading;\n }\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n public el: ElementRef,\n public renderer: Renderer2,\n public cd: ChangeDetectorRef,\n public config: caxConfig,\n public overlayService: OverlayService,\n private zone: NgZone\n ) {\n effect(() => {\n this.filled = ObjectUtils.isNotEmpty(this.modelValue());\n });\n }\n\n ngOnInit() {\n this.id = this.id || UniqueComponentId();\n this.cd.detectChanges();\n }\n\n ngAfterViewChecked() {\n //Use timeouts as since Angular 4.2, AfterViewChecked is broken and not called after panel is updated\n if (this.suggestionsUpdated && this.overlayViewChild) {\n this.zone.runOutsideAngular(() => {\n setTimeout(() => {\n if (this.overlayViewChild) {\n this.overlayViewChild.alignOverlay();\n }\n }, 1);\n this.suggestionsUpdated = false;\n });\n }\n }\n\n ngAfterContentInit() {\n (this.templates as QueryList<CaxTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n case 'group':\n this.groupTemplate = item.template;\n break;\n\n case 'selectedItem':\n this.selectedItemTemplate = item.template;\n break;\n\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'empty':\n this.emptyTemplate = item.template;\n break;\n\n case 'footer':\n this.footerTemplate = item.template;\n break;\n\n case 'loader':\n this.loaderTemplate = item.template;\n break;\n\n case 'removetokenicon':\n this.removeIconTemplate = item.template;\n break;\n\n case 'loadingicon':\n this.loadingIconTemplate = item.template;\n break;\n\n case 'clearicon':\n this.clearIconTemplate = item.template;\n break;\n\n case 'dropdownicon':\n this.dropdownIconTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n handleSuggestionsChange() {\n if (this.loading) {\n this._suggestions().length > 0 || this.showEmptyMessage ? this.show() : !!this.emptyTemplate ? this.show() : this.hide();\n const focusedOptionIndex = this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.suggestionsUpdated = true;\n this.loading = false;\n this.cd.markForCheck();\n }\n }\n handleSuggestionsChange2() {\n if (this.isloading) {\n this._suggestions().length > 0 || this.showEmptyMessage ? this.show() : !!this.emptyTemplate ? this.show() : this.hide();\n const focusedOptionIndex = this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.suggestionsUpdated = true;\n //this.isloading = false;\n this.cd.markForCheck();\n }\n }\n\n flatOptions(options) {\n return (options || []).reduce((result, option, index) => {\n result.push({ optionGroup: option, group: true, index });\n\n const optionGroupChildren = this.getOptionGroupChildren(option);\n\n optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));\n\n return result;\n }, []);\n }\n\n isOptionGroup(option) {\n return this.optionGroupLabel && option.optionGroup && option.group;\n }\n\n findFirstOptionIndex() {\n return this.visibleOptions().findIndex((option) => this.isValidOption(option));\n }\n\n findLastOptionIndex() {\n return ObjectUtils.findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));\n }\n\n findFirstFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n }\n\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n }\n\n findSelectedOptionIndex() {\n return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;\n }\n\n findNextOptionIndex(index) {\n const matchedOptionIndex =\n index < this.visibleOptions().length - 1\n ? this.visibleOptions()\n .slice(index + 1)\n .findIndex((option) => this.isValidOption(option))\n : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\n }\n\n findPrevOptionIndex(index) {\n const matchedOptionIndex = index > 0 ? ObjectUtils.findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n }\n\n isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n }\n\n isValidOption(option) {\n return option && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n }\n\n isOptionDisabled(option) {\n return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : false;\n }\n\n isSelected(option) {\n if (this.multiple) {\n return this.unique ? this.modelValue()?.find((model) => ObjectUtils.equals(model, this.getOptionValue(option), this.equalityKey())) : false;\n }\n return ObjectUtils.equals(this.modelValue(), this.getOptionValue(option), this.equalityKey());\n }\n\n isOptionMatched(option, value) {\n return this.isValidOption(option) && this.getOptionLabel(option).toLocaleLowerCase(this.searchLocale) === value.toLocaleLowerCase(this.searchLocale);\n }\n\n isInputClicked(event) {\n return event.target === this.inputEL.nativeElement;\n }\n isDropdownClicked(event) {\n return this.dropdownButton?.nativeElement ? event.target === this.dropdownButton.nativeElement || this.dropdownButton.nativeElement.contains(event.target) : false;\n }\n equalityKey() {\n return this.dataKey; // TODO: The 'optionValue' properties can be added.\n }\n\n onContainerClick(event) {\n if (this.disabled || this.loading || this.isInputClicked(event) || this.isDropdownClicked(event)) {\n return;\n }\n\n if (!this.overlayViewChild || !this.overlayViewChild.overlayViewChild?.nativeElement.contains(event.target)) {\n DomHandler.focus(this.inputEL.nativeElement);\n }\n }\n\n handleDropdownClick(event) {\n let query = undefined;\n\n if (this.overlayVisible) {\n this.hide(true);\n } else {\n DomHandler.focus(this.inputEL.nativeElement);\n query = this.inputEL.nativeElement.value;\n\n if (this.dropdownMode === 'blank') this.search(event, '', 'dropdown');\n else if (this.dropdownMode === 'current') this.search(event, query, 'dropdown');\n }\n\n this.onDropdownClick.emit({ originalEvent: event, query });\n }\n\n onInput(event) {\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n let query = event.target.value;\n if (this.maxlength !== null) {\n query = query.split('').slice(0, this.maxlength).join('');\n }\n\n if (!this.multiple && !this.forceSelection) {\n this.updateModel(query);\n }\n\n if (query.length === 0 && !this.multiple && !this.completeOnFocus) {\n this.onClear.emit();\n\n this.hide();\n } else {\n if (query.length >= this.minLength) {\n this.focusedOptionIndex.set(-1);\n\n this.searchTimeout = setTimeout(() => {\n this.search(event, query, 'input');\n }, this.delay);\n } else {\n this.hide();\n }\n }\n }\n\n onInputChange(event) {\n if (this.forceSelection) {\n let valid = false;\n\n if (this.visibleOptions()) {\n const matchedValue = this.visibleOptions().find((option) => this.isOptionMatched(option, this.inputEL.nativeElement.value || ''));\n\n if (matchedValue !== undefined) {\n valid = true;\n !this.isSelected(matchedValue) && this.onOptionSelect(event, matchedValue);\n }\n }\n\n if (!valid) {\n this.inputEL.nativeElement.value = '';\n !this.multiple && this.updateModel(null);\n }\n }\n }\n\n onInputFocus(event) {\n if (this.disabled) {\n // For ScreenReaders\n return;\n }\n\n if (!this.dirty && this.completeOnFocus) {\n this.search(event, event.target.value, 'focus');\n this.show();\n }\n this.dirty = true;\n this.focused = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.overlayVisible && this.scrollInView(this.focusedOptionIndex());\n this.onFocus.emit(event);\n }\n\n onMultipleContainerFocus(event) {\n if (this.disabled) {\n // For ScreenReaders\n return;\n }\n\n this.focused = true;\n }\n\n onMultipleContainerBlur(event) {\n this.focusedMultipleOptionIndex.set(-1);\n this.focused = false;\n }\n\n onMultipleContainerKeyDown(event) {\n if (this.disabled) {\n event.preventDefault();\n\n return;\n }\n\n switch (event.code) {\n case 'ArrowLeft':\n this.onArrowLeftKeyOnMultiple(event);\n break;\n\n case 'ArrowRight':\n this.onArrowRightKeyOnMultiple(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKeyOnMultiple(event);\n break;\n\n default:\n break;\n }\n }\n\n onInputBlur(event) {\n this.dirty = false;\n this.focused = false;\n this.focusedOptionIndex.set(-1);\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n onInputPaste(event) {\n this.onKeyDown(event);\n }\n\n onInputKeyUp(event) {\n this.onKeyUp.emit(event);\n }\n\n onKeyDown(event) {\n if (this.disabled) {\n event.preventDefault();\n\n return;\n }\n\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKey(event);\n break;\n\n case 'ShiftLeft':\n case 'ShiftRight':\n //NOOP\n break;\n\n default:\n break;\n }\n }\n\n onArrowDownKey(event) {\n if (!this.overlayVisible) {\n return;\n }\n\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n event.preventDefault();\n event.stopPropagation();\n }\n\n onArrowUpKey(event) {\n if (!this.overlayVisible) {\n return;\n }\n\n if (event.altKey) {\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n\n this.overlayVisible && this.hide();\n event.preventDefault();\n } else {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.findLastFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n onArrowLeftKey(event) {\n const target = event.currentTarget;\n this.focusedOptionIndex.set(-1);\n if (this.multiple) {\n if (ObjectUtils.isEmpty(target.value) && this.hasSelectedOption()) {\n DomHandler.focus(this.multiContainerEL.nativeElement);\n this.focusedMultipleOptionIndex.set(this.modelValue().length);\n } else {\n event.stopPropagation(); // To prevent onArrowLeftKeyOnMultiple method\n }\n }\n }\n\n onArrowRightKey(event) {\n this.focusedOptionIndex.set(-1);\n\n this.multiple && event.stopPropagation(); // To prevent onArrowRightKeyOnMultiple method\n }\n\n onHomeKey(event) {\n const { currentTarget } = event;\n const len = currentTarget.value.length;\n\n currentTarget.setSelectionRange(0, event.shiftKey ? len : 0);\n this.focusedOptionIndex.set(-1);\n\n event.preventDefault();\n }\n\n onEndKey(event) {\n const { currentTarget } = event;\n const len = currentTarget.value.length;\n\n currentTarget.setSelectionRange(event.shiftKey ? 0 : len, len);\n this.focusedOptionIndex.set(-1);\n\n event.preventDefault();\n }\n\n onPageDownKey(event) {\n this.scrollInView(this.visibleOptions().length - 1);\n event.preventDefault();\n }\n\n onPageUpKey(event) {\n this.scrollInView(0);\n event.preventDefault();\n }\n\n onEnterKey(event) {\n if (!this.overlayVisible) {\n this.onArrowDownKey(event);\n } else {\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n event.preventDefault();\n }\n\n this.hide();\n }\n }\n\n onEscapeKey(event) {\n this.overlayVisible && this.hide(true);\n event.preventDefault();\n }\n\n onTabKey(event) {\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n\n this.overlayVisible && this.hide();\n }\n\n onBackspaceKey(event) {\n if (this.multiple) {\n if (ObjectUtils.isNotEmpty(this.modelValue()) && !this.inputEL.nativeElement.value) {\n const removedValue = this.modelValue()[this.modelValue().length - 1];\n const newValue = this.modelValue().slice(0, -1);\n this.updateModel(newValue);\n this.onUnselect.emit({ originalEvent: event, value: removedValue });\n }\n\n event.stopPropagation(); // To prevent onBackspaceKeyOnMultiple method\n }\n\n if (!this.multiple && this.showClear && this.findSelectedOptionIndex() != -1) {\n this.clear();\n }\n }\n\n onArrowLeftKeyOnMultiple(event) {\n const optionIndex = this.focusedMultipleOptionIndex() < 1 ? 0 : this.focusedMultipleOptionIndex() - 1;\n this.focusedMultipleOptionIndex.set(optionIndex);\n }\n\n onArrowRightKeyOnMultiple(event) {\n let optionIndex = this.focusedMultipleOptionIndex();\n optionIndex++;\n\n this.focusedMultipleOptionIndex.set(optionIndex);\n if (optionIndex > this.modelValue().length - 1) {\n this.focusedMultipleOptionIndex.set(-1);\n DomHandler.focus(this.inputEL.nativeElement);\n }\n }\n\n onBackspaceKeyOnMultiple(event) {\n if (this.focusedMultipleOptionIndex() !== -1) {\n this.removeOption(event, this.focusedMultipleOptionIndex());\n }\n }\n\n onOptionSelect(event, option, isHide = true) {\n const value = this.getOptionValue(option);\n\n if (this.multiple) {\n this.inputEL.nativeElement.value = '';\n\n if (!this.isSelected(option)) {\n this.updateModel([...(this.modelValue() || []), value]);\n }\n } else {\n this.updateModel(value);\n }\n\n this.onSelect.emit({ originalEvent: event, value: option });\n\n isHide && this.hide(true);\n }\n\n onOptionMouseEnter(event, index) {\n if (this.focusOnHover) {\n this.changeFocusedOptionIndex(event, index);\n }\n }\n\n search(event, query, source) {\n //allow empty string but not undefined or null\n if (query === undefined || query === null) {\n return;\n }\n\n //do not search on input change if minLength is not met\n if (source === 'input' && query.trim().length < this.minLength) {\n return;\n }\n this.loading = true;\n this.completeMethod.emit({ originalEvent: event, query });\n }\n\n removeOption(event, index) {\n event.stopPropagation();\n\n const removedOption = this.modelValue()[index];\n const value = this.modelValue()\n .filter((_, i) => i !== index)\n .map((option) => this.getOptionValue(option));\n\n this.updateModel(value);\n this.onUnselect.emit({ originalEvent: event, value: removedOption });\n DomHandler.focus(this.inputEL.nativeElement);\n }\n\n updateModel(value) {\n this.value = value;\n this.modelValue.set(value);\n this.onModelChange(value);\n this.updateInputValue();\n this.cd.markForCheck();\n }\n\n updateInputValue() {\n if (this.inputEL && this.inputEL.nativeElement) {\n if (!this.multiple) {\n this.inputEL.nativeElement.value = this.inputValue();\n } else {\n this.inputEL.nativeElement.value = '';\n }\n }\n }\n\n autoUpdateModel() {\n if ((this.selectOnFocus || this.autoHighlight) && this.autoOptionFocus && !this.hasSelectedOption()) {\n const focusedOptionIndex = this.findFirstFocusedOptionIndex();\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.onOptionSelect(null, this.visibleOptions()[this.focusedOptionIndex()], false);\n }\n }\n\n scrollInView(index = -1) {\n const id = index !== -1 ? `${this.id}_${index}` : this.focusedOptionId;\n if (this.itemsViewChild && this.itemsViewChild.nativeElement) {\n const element = DomHandler.findSingle(this.itemsViewChild.nativeElement, `li[id=\"${id}\"]`);\n if (element) {\n element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n } else if (!this.virtualScrollerDisabled) {\n setTimeout(() => {\n this.virtualScroll && this.scroller?.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());\n }, 0);\n }\n }\n }\n\n changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex() !== index) {\n this.focusedOptionIndex.set(index);\n this.scrollInView();\n\n if (this.selectOnFocus) {\n this.onOptionSelect(event, this.visibleOptions()[index], false);\n }\n }\n }\n\n show(isFocus = false) {\n this.dirty = true;\n this.overlayVisible = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n isFocus && DomHandler.focus(this.inputEL.nativeElement);\n if (isFocus) {\n DomHandler.focus(this.inputEL.nativeElement);\n }\n this.onShow.emit();\n this.cd.markForCheck();\n }\n\n hide(isFocus = false) {\n const _hide = () => {\n this.dirty = isFocus;\n this.overlayVisible = false;\n this.focusedOptionIndex.set(-1);\n isFocus && DomHandler.focus(this.inputEL.nativeElement);\n this.onHide.emit();\n this.cd.markForCheck();\n };\n\n // Added to adjust the scroller's content position when the dropdown closes.\n if (this.virtualScroll) {\n this.scroller.onScrollChange(event);\n }\n\n setTimeout(() => {\n _hide();\n }, 0); // For ScreenReaders\n }\n\n clear() {\n this.updateModel(null);\n this.inputEL.nativeElement.value = '';\n this.onClear.emit();\n }\n\n writeValue(value: any): void {\n this.value = value;\n this.modelValue.set(value);\n this.updateInputValue();\n this.cd.markForCheck();\n }\n\n hasSelectedOption() {\n return ObjectUtils.isNotEmpty(this.modelValue());\n }\n\n getAriaPosInset(index) {\n return (\n (this.optionGroupLabel\n ? index -\n this.visibleOptions()\n .slice(0, index)\n .filter((option) => this.isOptionGroup(option)).length\n : index) + 1\n );\n }\n\n getOptionLabel(option: any) {\n return this.field || this.optionLabel ? ObjectUtils.resolveFieldData(option, this.field || this.optionLabel) : option && option.label != undefined ? option.label : option;\n }\n\n getOptionValue(option) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : option;\n }\n\n getOptionIndex(index, scrollerOptions) {\n return this.virtualScrollerDisabled ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];\n }\n\n getOptionGroupLabel(optionGroup: any) {\n return this.optionGroupLabel ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel) : optionGroup && optionGroup.label != undefined ? optionGroup.label : optionGroup;\n }\n\n getOptionGroupChildren(optionGroup: any) {\n return this.optionGroupChildren ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;\n }\n\n getSelectedOption(modelValue: any) {\n if (!this.optionValue) {\n return modelValue;\n }\n\n return (this.suggestions || []).find((item: any) => ObjectUtils.resolveFieldData(item, this.optionValue) === modelValue);\n }\n\n getMultipleLabel(option: any) {\n let selected = this.getSelectedOption(option);\n\n return this.getOptionLabel(selected);\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n if (event.toState === 'visible') {\n this.itemsWrapper = DomHandler.findSingle(this.overlayViewChild.overlayViewChild?.nativeElement, this.virtualScroll ? '.cax-scroller' : '.cax-autocomplete-panel');\n\n if (this.virtualScroll) {\n this.scroller?.setContentEl(this.itemsViewChild?.nativeElement);\n this.scroller.viewInit();\n }\n if (this.visibleOptions() && this.visibleOptions().length) {\n if (this.virtualScroll) {\n const selectedIndex = this.modelValue() ? this.focusedOptionIndex() : -1;\n\n if (selectedIndex !== -1) {\n this.scroller?.scrollToIndex(selectedIndex);\n }\n } else {\n let selectedListItem = DomHandler.findSingle(this.itemsWrapper, '.cax-autocomplete-item.cax-highlight');\n\n if (selectedListItem) {\n selectedListItem.scrollIntoView({ block: 'nearest', inline: 'center' });\n }\n }\n }\n }\n }\n\n ngOnDestroy() {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n }\n}\n","<div #container [ngClass]=\"containerClass\" [ngStyle]=\"style\" [class]=\"styleClass\" (click)=\"onContainerClick($event)\">\r\n <input\r\n *ngIf=\"!multiple\"\r\n #focusInput\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n [ngClass]=\"inputClass\"\r\n [ngStyle]=\"inputStyle\"\r\n [class]=\"inputStyleClass\"\r\n [type]=\"type\"\r\n [attr.value]=\"inputValue()\"\r\n [attr.id]=\"inputId\"\r\n [autocomplete]=\"autocomplete\"\r\n [required]=\"required\"\r\n [name]=\"name\"\r\n aria-autocomplete=\"list\"\r\n role=\"combobox\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.size]=\"size\"\r\n [attr.maxlength]=\"maxlength\"\r\n [tabindex]=\"!disabled ? tabindex : -1\"\r\n [readonly]=\"readonly\"\r\n [disabled]=\"disabled\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-required]=\"required\"\r\n [attr.aria-expanded]=\"overlayVisible ?? false\"\r\n [attr.aria-controls]=\"overlayVisible ? id + '_list' : null\"\r\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\r\n (input)=\"onInput($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (change)=\"onInputChange($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n (paste)=\"onInputPaste($event)\"\r\n (keyup)=\"onInputKeyUp($event)\"\r\n /> \r\n <SearchIcon [styleClass]=\"'cax-autocomplete-search-icon'\" />\r\n\r\n \r\n <ng-container *ngIf=\"isVisibleClearIcon\">\r\n <TimesCircleIcon *ngIf=\"!clearIconTemplate\" [styleClass]=\"'cax-autocomplete-clear-icon cax-autoComplete-clear'\" (click)=\"clear()\" [attr.aria-hidden]=\"true\" />\r\n <span *ngIf=\"clearIconTemplate\" class=\"cax-autocomplete-clear-icon\" (click)=\"clear()\" [attr.aria-hidden]=\"true\">\r\n <ng-template *ngTemplateOutlet=\"clearIconTemplate\"></ng-template>\r\n </span>\r\n </ng-container>\r\n\r\n <ul\r\n *ngIf=\"multiple\"\r\n #multiContainer\r\n [ngClass]=\"multiContainerClass\"\r\n [tabindex]=\"-1\"\r\n role=\"listbox\"\r\n [attr.aria-orientation]=\"'horizontal'\"\r\n [attr.aria-activedescendant]=\"focused ? focusedMultipleOptionId : undefined\"\r\n (focus)=\"onMultipleContainerFocus($event)\"\r\n (blur)=\"onMultipleContainerBlur($event)\"\r\n (keydown)=\"onMultipleContainerKeyDown($event)\"\r\n >\r\n <li\r\n #token\r\n *ngFor=\"let option of modelValue(); let i = index\"\r\n [ngClass]=\"{ 'cax-autocomplete-token': true, 'cax-focus': focusedMultipleOptionIndex() === i }\"\r\n [attr.id]=\"id + '_multiple_option_' + i\"\r\n role=\"option\"\r\n [attr.aria-label]=\"getOptionLabel(option)\"\r\n [attr.aria-setsize]=\"modelValue().length\"\r\n [attr.aria-posinset]=\"i + 1\"\r\n [attr.aria-selected]=\"true\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: { $implicit: option }\"></ng-container>\r\n <span *ngIf=\"!selectedItemTemplate\" class=\"cax-autocomplete-token-label\">{{ getMultipleLabel(option) }}</span>\r\n <span class=\"cax-autocomplete-token-icon\" (click)=\"!readonly ? removeOption($event, i) : ''\">\r\n <TimesCircleIcon [styleClass]=\"'cax-autocomplete-token-icon'\" *ngIf=\"!removeIconTemplate\" [attr.aria-hidden]=\"true\" />\r\n <span *ngIf=\"removeIconTemplate\" class=\"cax-autocomplete-token-icon\" [attr.aria-hidden]=\"true\">\r\n <ng-template *ngTemplateOutlet=\"removeIconTemplate\"></ng-template>\r\n </span>\r\n </span>\r\n </li>\r\n <li class=\"cax-autocomplete-input-token\" role=\"option\">\r\n <input\r\n #focusInput\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n [ngClass]=\"inputClass\"\r\n [ngStyle]=\"inputStyle\"\r\n [class]=\"inputStyleClass\"\r\n [attr.type]=\"type\"\r\n [attr.id]=\"inputId\"\r\n [autocomplete]=\"autocomplete\"\r\n [required]=\"required\"\r\n [attr.name]=\"name\"\r\n role=\"combobox\"\r\n [attr.placeholder]=\"!filled ? placeholder : null\"\r\n [attr.size]=\"size\"\r\n aria-autocomplete=\"list\"\r\n [attr.maxlength]=\"maxlength\"\r\n [tabindex]=\"!disabled ? tabindex : -1\"\r\n [readonly]=\"readonly\"\r\n [disabled]=\"disabled\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-required]=\"required\"\r\n [attr.aria-expanded]=\"overlayVisible ?? false\"\r\n [attr.aria-controls]=\"overlayVisible ? id + '_list' : null\"\r\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\r\n (input)=\"onInput($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (change)=\"onInputChange($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n (paste)=\"onInputPaste($event)\"\r\n (keyup)=\"onInputKeyUp($event)\"\r\n />\r\n </li>\r\n </ul>\r\n <ng-container *ngIf=\"loading\">\r\n <SpinnerIcon *ngIf=\"!loadingIconTemplate\" [styleClass]=\"'cax-autocomplete-loader'\" [spin]=\"true\" [attr.aria-hidden]=\"true\" />\r\n <span *ngIf=\"loadingIconTemplate\" class=\"cax-autocomplete-loader pi-spin \" [attr.aria-hidden]=\"true\">\r\n <ng-template *ngTemplateOutlet=\"loadingIconTemplate\"></ng-template>\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"isloading\">\r\n <SpinnerIcon *ngIf=\"!loadingIconTemplate\" [styleClass]=\"'cax-autocomplete-loader'\" [spin]=\"true\" [attr.aria-hidden]=\"true\" />\r\n <span *ngIf=\"loadingIconTemplate\" class=\"cax-autocomplete-loader pi-spin \" [attr.aria-hidden]=\"true\">\r\n <ng-template *ngTemplateOutlet=\"loadingIconTemplate\"></ng-template>\r\n </span>\r\n </ng-container>\r\n <button #ddBtn type=\"button\" caxButton [attr.aria-label]=\"dropdownAriaLabel\" class=\"cax-autocomplete-dropdown cax-button-icon-only\" [disabled]=\"disabled\" caxRipple (click)=\"handleDropdownClick($event)\" *ngIf=\"dropdown\" [attr.tabindex]=\"tabindex\">\r\n <span *ngIf=\"dropdownIcon\" [ngClass]=\"dropdownIcon\" [attr.aria-hidden]=\"true\"></span>\r\n <ng-container *ngIf=\"!dropdownIcon\">\r\n <ChevronDownIcon *ngIf=\"!dropdownIconTemplate\" />\r\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate\"></ng-template>\r\n </ng-container>\r\n </button>\r\n <cax-overlay\r\n #overlay\r\n [(visible)]=\"overlayVisible\"\r\n [options]=\"overlayOptions\"\r\n [target]=\"'@parent'\"\r\n [appendTo]=\"appendTo\"\r\n [showTransitionOptions]=\"showTransitionOptions\"\r\n [hideTransitionOptions]=\"hideTransitionOptions\"\r\n (onAnimationStart)=\"onOverlayAnimationStart($event)\"\r\n (onHide)=\"hide()\"\r\n >\r\n <div [ngClass]=\"panelClass\" [ngStyle]=\"panelStyles\" [class]=\"panelStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n <cax-scroller\r\n *ngIf=\"virtualScroll\"\r\n #scroller\r\n [items]=\"visibleOptions()\"\r\n [style]=\"{ height: scrollHeight }\"\r\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\r\n [autoSize]=\"true\"\r\n [lazy]=\"lazy\"\r\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\r\n [options]=\"virtualScrollOptions\"\r\n >\r\n <ng-template caxTemplate=\"content\" let-items let-scrollerOptions=\"options\">\r\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n <ng-container *ngIf=\"loaderTemplate\">\r\n <ng-template caxTemplate=\"loader\" let-scrollerOptions=\"options\">\r\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n </cax-scroller>\r\n <ng-container *ngIf=\"!virtualScroll\">\r\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: visibleOptions(), options: {} }\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\r\n <ul #items class=\"cax-autocomplete-items\" [ngClass]=\"scrollerOptions.contentStyleClass\" [style]=\"scrollerOptions.contentStyle\" role=\"listbox\" [attr.id]=\"id + '_list'\" [attr.aria-label]=\"listLabel\">\r\n <ng-template ngFor let-option [ngForOf]=\"items\" let-i=\"index\">\r\n <ng-container *ngIf=\"isOptionGroup(option)\">\r\n <li [attr.id]=\"id + '_' + getOptionIndex(i, scrollerOptions)\" class=\"cax-autocomplete-item-group\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\r\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(option.optionGroup) }}</span>\r\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: option.optionGroup }\"></ng-container>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!isOptionGroup(option)\">\r\n <li\r\n class=\"cax-autocomplete-item\"\r\n caxRipple\r\n [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\r\n [ngClass]=\"{ 'cax-highlight': isSelected(option), 'cax-focus': focusedOptionIndex() === getOptionIndex(i, scrollerOptions), 'cax-disabled': isOptionDisabled(option) }\"\r\n [attr.id]=\"id + '_' + getOptionIndex(i, scrollerOptions)\"\r\n role=\"option\"\r\n [attr.aria-label]=\"getOptionLabel(option)\"\r\n [attr.aria-selected]=\"isSelected(option)\"\r\n [attr.aria-disabled]=\"isOptionDisabled(option)\"\r\n [attr.data-p-focused]=\"focusedOptionIndex() === getOptionIndex(i, scrollerOptions)\"\r\n [attr.aria-setsize]=\"ariaSetSize\"\r\n [attr.aria-posinset]=\"getAriaPosInset(getOptionIndex(i, scrollerOptions))\"\r\n (click)=\"onOptionSelect($event, option)\"\r\n (mouseenter)=\"onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))\"\r\n >\r\n <span *ngIf=\"!itemTemplate\">{{ getOptionLabel(option) }}</span>\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: option, index: scrollerOptions.getOptions ? scrollerOptions.getOptions(i) : i }\"></ng-container>\r\n </li>\r\n </ng-container>\r\n </ng-template>\r\n <li *ngIf=\"!items || (items && items.length === 0 && showEmptyMessage)\" class=\"cax-autocomplete-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\r\n <ng-container *ngIf=\"!emptyTemplate; else empty\">\r\n {{ searchResultMessageText }}\r\n </ng-container>\r\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n <!-- <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\">\r\n {{ selectedMessageText }}\r\n </span> -->\r\n </cax-overlay>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\nimport { SharedModule } from 'cax-design-system/api';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\nimport { ButtonModule } from 'cax-design-system/button';\nimport { ChevronDownIcon } from 'cax-design-system/icons/chevrondown';\nimport { SearchIcon } from 'cax-design-system/icons/search';\nimport { SpinnerIcon } from 'cax-design-system/icons/spinner';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { TimesCircleIcon } from 'cax-design-system/icons/timescircle';\nimport { InputTextModule } from 'cax-design-system/inputtext';\nimport { OverlayModule } from 'cax-design-system/overlay';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { ScrollerModule } from 'cax-design-system/scroller';\nimport { AutoComplete } from './autocomplete';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n imports: [CommonModule, OverlayModule, InputTextModule, ButtonModule, SharedModule, RippleModule, ScrollerModule, AutoFocusModule, TimesCircleIcon, SpinnerIcon, TimesIcon, ChevronDownIcon, SearchIcon],\n exports: [AutoComplete, OverlayModule, SharedModule, ScrollerModule, AutoFocusModule],\n declarations: [AutoComplete]\n})\nexport class AutoCompleteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { DOCUMENT, isPlatformBrowser } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { inject, PLATFORM_ID, ElementRef, booleanAttribute, Directive, Input, NgModule } from '@angular/core';
3
+ import { inject, PLATFORM_ID, ElementRef, booleanAttribute, Input, Directive, NgModule } from '@angular/core';
4
4
  import { DomHandler } from 'cax-design-system/dom';
5
5
 
6
6
  /**
@@ -48,10 +48,10 @@ class AutoFocus {
48
48
  });
49
49
  }
50
50
  }
51
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: AutoFocus, deps: [], target: i0.ɵɵFactoryTarget.Directive });
52
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.9", type: AutoFocus, isStandalone: true, selector: "[caxAutoFocus]", inputs: { autofocus: ["autofocus", "autofocus", booleanAttribute] }, host: { classAttribute: "cax-element" }, ngImport: i0 });
51
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AutoFocus, deps: [], target: i0.ɵɵFactoryTarget.Directive });
52
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.17", type: AutoFocus, isStandalone: true, selector: "[caxAutoFocus]", inputs: { autofocus: ["autofocus", "autofocus", booleanAttribute] }, host: { classAttribute: "cax-element" }, ngImport: i0 });
53
53
  }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: AutoFocus, decorators: [{
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AutoFocus, decorators: [{
55
55
  type: Directive,
56
56
  args: [{
57
57
  selector: '[caxAutoFocus]',
@@ -65,11 +65,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
65
65
  args: [{ transform: booleanAttribute }]
66
66
  }] } });
67
67
  class AutoFocusModule {
68
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: AutoFocusModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
69
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: AutoFocusModule, imports: [AutoFocus], exports: [AutoFocus] });
70
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: AutoFocusModule });
68
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AutoFocusModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
69
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: AutoFocusModule, imports: [AutoFocus], exports: [AutoFocus] });
70
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AutoFocusModule });
71
71
  }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: AutoFocusModule, decorators: [{
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AutoFocusModule, decorators: [{
73
73
  type: NgModule,
74
74
  args: [{
75
75
  imports: [AutoFocus],
@@ -1 +1 @@
1
- {"version":3,"file":"cax-design-system-autofocus.mjs","sources":["../../src/app/components/autofocus/autofocus.ts","../../src/app/components/autofocus/cax-design-system-autofocus.ts"],"sourcesContent":["import { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { Directive, ElementRef, Input, NgModule, PLATFORM_ID, booleanAttribute, inject } from '@angular/core';\nimport { DomHandler } from 'cax-design-system/dom';\n/**\n * AutoFocus manages focus on focusable element on load.\n * @group Components\n */\n@Directive({\n selector: '[caxAutoFocus]',\n standalone: true,\n host: {\n class: 'cax-element'\n }\n})\nexport class AutoFocus {\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean = false;\n\n focused: boolean = false;\n\n platformId = inject(PLATFORM_ID);\n\n document: Document = inject(DOCUMENT);\n\n host: ElementRef = inject(ElementRef);\n\n ngAfterContentChecked() {\n // This sets the `attr.autofocus` which is different than the Input `autofocus` attribute.\n if (this.autofocus === false) {\n this.host.nativeElement.removeAttribute('autofocus');\n } else {\n this.host.nativeElement.setAttribute('autofocus', true);\n }\n\n if (!this.focused) {\n this.autoFocus();\n }\n }\n\n ngAfterViewChecked() {\n if (!this.focused) {\n this.autoFocus();\n }\n }\n\n autoFocus() {\n if (isPlatformBrowser(this.platformId) && this.autofocus) {\n setTimeout(() => {\n const focusableElements = DomHandler.getFocusableElements(this.host?.nativeElement);\n\n if (focusableElements.length === 0) {\n this.host.nativeElement.focus();\n }\n if (focusableElements.length > 0) {\n focusableElements[0].focus();\n }\n\n this.focused = true;\n });\n }\n }\n}\n\n@NgModule({\n imports: [AutoFocus],\n exports: [AutoFocus]\n})\nexport class AutoFocusModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cax-design-system-autofocus.mjs","sources":["../../src/app/components/autofocus/autofocus.ts","../../src/app/components/autofocus/cax-design-system-autofocus.ts"],"sourcesContent":["import { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { Directive, ElementRef, Input, NgModule, PLATFORM_ID, booleanAttribute, inject } from '@angular/core';\nimport { DomHandler } from 'cax-design-system/dom';\n/**\n * AutoFocus manages focus on focusable element on load.\n * @group Components\n */\n@Directive({\n selector: '[caxAutoFocus]',\n standalone: true,\n host: {\n class: 'cax-element'\n }\n})\nexport class AutoFocus {\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean = false;\n\n focused: boolean = false;\n\n platformId = inject(PLATFORM_ID);\n\n document: Document = inject(DOCUMENT);\n\n host: ElementRef = inject(ElementRef);\n\n ngAfterContentChecked() {\n // This sets the `attr.autofocus` which is different than the Input `autofocus` attribute.\n if (this.autofocus === false) {\n this.host.nativeElement.removeAttribute('autofocus');\n } else {\n this.host.nativeElement.setAttribute('autofocus', true);\n }\n\n if (!this.focused) {\n this.autoFocus();\n }\n }\n\n ngAfterViewChecked() {\n if (!this.focused) {\n this.autoFocus();\n }\n }\n\n autoFocus() {\n if (isPlatformBrowser(this.platformId) && this.autofocus) {\n setTimeout(() => {\n const focusableElements = DomHandler.getFocusableElements(this.host?.nativeElement);\n\n if (focusableElements.length === 0) {\n this.host.nativeElement.focus();\n }\n if (focusableElements.length > 0) {\n focusableElements[0].focus();\n }\n\n this.focused = true;\n });\n }\n }\n}\n\n@NgModule({\n imports: [AutoFocus],\n exports: [AutoFocus]\n})\nexport class AutoFocusModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;AAGA;;;AAGG;MAQU,SAAS,CAAA;AAClB;;;AAGG;IACqC,SAAS,GAAY,KAAK;IAElE,OAAO,GAAY,KAAK;AAExB,IAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAEhC,IAAA,QAAQ,GAAa,MAAM,CAAC,QAAQ,CAAC;AAErC,IAAA,IAAI,GAAe,MAAM,CAAC,UAAU,CAAC;IAErC,qBAAqB,GAAA;;AAEjB,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE;YAC1B,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,WAAW,CAAC;;aACjD;YACH,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC;;AAG3D,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,IAAI,CAAC,SAAS,EAAE;;;IAIxB,kBAAkB,GAAA;AACd,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,IAAI,CAAC,SAAS,EAAE;;;IAIxB,SAAS,GAAA;QACL,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE;YACtD,UAAU,CAAC,MAAK;AACZ,gBAAA,MAAM,iBAAiB,GAAG,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC;AAEnF,gBAAA,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;AAChC,oBAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;;AAEnC,gBAAA,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9B,oBAAA,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;;AAGhC,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AACvB,aAAC,CAAC;;;wGA/CD,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAT,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,SAAS,kGAKE,gBAAgB,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAL3B,SAAS,EAAA,UAAA,EAAA,CAAA;kBAPrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE;AACV;AACJ,iBAAA;8BAM2C,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;MAmD7B,eAAe,CAAA;wGAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;yGAAf,eAAe,EAAA,OAAA,EAAA,CAxDf,SAAS,CAAA,EAAA,OAAA,EAAA,CAAT,SAAS,CAAA,EAAA,CAAA;yGAwDT,eAAe,EAAA,CAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,SAAS,CAAC;oBACpB,OAAO,EAAE,CAAC,SAAS;AACtB,iBAAA;;;ACrED;;AAEG;;;;"}