cax-design-system 2.8.3 → 2.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1061) 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 +8 -8
  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 +175 -515
  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/esm2022/accordion/accordion.interface.mjs +0 -2
  346. package/esm2022/accordion/accordion.mjs +0 -598
  347. package/esm2022/accordion/accordion.module.mjs +0 -23
  348. package/esm2022/accordion/cax-design-system-accordion.mjs +0 -5
  349. package/esm2022/accordion/public_api.mjs +0 -4
  350. package/esm2022/animate/animate.mjs +0 -101
  351. package/esm2022/animate/cax-design-system-animate.mjs +0 -5
  352. package/esm2022/animate/public_api.mjs +0 -2
  353. package/esm2022/animateonscroll/animateonscroll.mjs +0 -185
  354. package/esm2022/animateonscroll/cax-design-system-animateonscroll.mjs +0 -5
  355. package/esm2022/animateonscroll/public_api.mjs +0 -2
  356. package/esm2022/api/blockableui.mjs +0 -2
  357. package/esm2022/api/cax-design-system-api.mjs +0 -5
  358. package/esm2022/api/caxconfig.mjs +0 -163
  359. package/esm2022/api/confirmaeventtype.mjs +0 -10
  360. package/esm2022/api/confirmation.mjs +0 -2
  361. package/esm2022/api/confirmationservice.mjs +0 -43
  362. package/esm2022/api/contextmenuservice.mjs +0 -22
  363. package/esm2022/api/filtermatchmode.mjs +0 -23
  364. package/esm2022/api/filtermetadata.mjs +0 -2
  365. package/esm2022/api/filteroperator.mjs +0 -5
  366. package/esm2022/api/filterservice.mjs +0 -225
  367. package/esm2022/api/lazyloadevent.mjs +0 -2
  368. package/esm2022/api/lazyloadmeta.mjs +0 -2
  369. package/esm2022/api/megamenuitem.mjs +0 -2
  370. package/esm2022/api/menuitem.mjs +0 -2
  371. package/esm2022/api/message.mjs +0 -2
  372. package/esm2022/api/messageservice.mjs +0 -47
  373. package/esm2022/api/overlayoptions.mjs +0 -2
  374. package/esm2022/api/overlayservice.mjs +0 -19
  375. package/esm2022/api/primeicons.mjs +0 -314
  376. package/esm2022/api/public_api.mjs +0 -35
  377. package/esm2022/api/scrolleroptions.mjs +0 -2
  378. package/esm2022/api/selectitem.mjs +0 -2
  379. package/esm2022/api/selectitemgroup.mjs +0 -2
  380. package/esm2022/api/shared.mjs +0 -65
  381. package/esm2022/api/sortevent.mjs +0 -2
  382. package/esm2022/api/sortmeta.mjs +0 -2
  383. package/esm2022/api/tablestate.mjs +0 -2
  384. package/esm2022/api/themegeneratorservice.mjs +0 -109
  385. package/esm2022/api/tooltipoptions.mjs +0 -2
  386. package/esm2022/api/translation.mjs +0 -2
  387. package/esm2022/api/translationkeys.mjs +0 -51
  388. package/esm2022/api/treedragdropservice.mjs +0 -21
  389. package/esm2022/api/treenode.mjs +0 -2
  390. package/esm2022/api/treenodedragevent.mjs +0 -2
  391. package/esm2022/api/treetablenode.mjs +0 -2
  392. package/esm2022/autocomplete/autocomplete.interface.mjs +0 -2
  393. package/esm2022/autocomplete/autocomplete.mjs +0 -1462
  394. package/esm2022/autocomplete/autocomplete.module.mjs +0 -30
  395. package/esm2022/autocomplete/cax-design-system-autocomplete.mjs +0 -5
  396. package/esm2022/autocomplete/public_api.mjs +0 -4
  397. package/esm2022/autofocus/autofocus.mjs +0 -78
  398. package/esm2022/autofocus/cax-design-system-autofocus.mjs +0 -5
  399. package/esm2022/autofocus/public_api.mjs +0 -2
  400. package/esm2022/avatar/avatar.mjs +0 -104
  401. package/esm2022/avatar/avatar.module.mjs +0 -16
  402. package/esm2022/avatar/cax-design-system-avatar.mjs +0 -5
  403. package/esm2022/avatar/public_api.mjs +0 -3
  404. package/esm2022/avatargroup/avatargroup.mjs +0 -32
  405. package/esm2022/avatargroup/avatargroup.module.mjs +0 -19
  406. package/esm2022/avatargroup/cax-design-system-avatargroup.mjs +0 -5
  407. package/esm2022/avatargroup/public_api.mjs +0 -3
  408. package/esm2022/badge/badge.directive.mjs +0 -193
  409. package/esm2022/badge/badge.mjs +0 -50
  410. package/esm2022/badge/badge.module.mjs +0 -20
  411. package/esm2022/badge/cax-design-system-badge.mjs +0 -5
  412. package/esm2022/badge/public_api.mjs +0 -4
  413. package/esm2022/baseicon/baseicon.mjs +0 -45
  414. package/esm2022/baseicon/cax-design-system-baseicon.mjs +0 -5
  415. package/esm2022/baseicon/public_api.mjs +0 -2
  416. package/esm2022/blockui/blockui.interface.mjs +0 -2
  417. package/esm2022/blockui/blockui.mjs +0 -206
  418. package/esm2022/blockui/cax-design-system-blockui.mjs +0 -5
  419. package/esm2022/blockui/public_api.mjs +0 -3
  420. package/esm2022/breadcrumb/breadcrumb.interface.mjs +0 -2
  421. package/esm2022/breadcrumb/breadcrumb.mjs +0 -120
  422. package/esm2022/breadcrumb/breadcrumb.module.mjs +0 -23
  423. package/esm2022/breadcrumb/cax-design-system-breadcrumb.mjs +0 -5
  424. package/esm2022/breadcrumb/public_api.mjs +0 -4
  425. package/esm2022/button/button.directive.mjs +0 -259
  426. package/esm2022/button/button.interface.mjs +0 -2
  427. package/esm2022/button/button.mjs +0 -190
  428. package/esm2022/button/button.module.mjs +0 -18
  429. package/esm2022/button/cax-design-system-button.mjs +0 -5
  430. package/esm2022/button/public_api.mjs +0 -5
  431. package/esm2022/buttongroup/buttongroup.mjs +0 -38
  432. package/esm2022/buttongroup/cax-design-system-buttongroup.mjs +0 -5
  433. package/esm2022/buttongroup/public_api.mjs +0 -2
  434. package/esm2022/calendar/calendar.interface.mjs +0 -2
  435. package/esm2022/calendar/calendar.mjs +0 -3242
  436. package/esm2022/calendar/calendar.module.mjs +0 -18
  437. package/esm2022/calendar/cax-design-system-calendar.mjs +0 -5
  438. package/esm2022/calendar/public_api.mjs +0 -4
  439. package/esm2022/card/card.interface.mjs +0 -2
  440. package/esm2022/card/card.mjs +0 -117
  441. package/esm2022/card/card.module.mjs +0 -21
  442. package/esm2022/card/cax-design-system-card.mjs +0 -5
  443. package/esm2022/card/public_api.mjs +0 -4
  444. package/esm2022/carousel/carousel.interface.mjs +0 -2
  445. package/esm2022/carousel/carousel.mjs +0 -968
  446. package/esm2022/carousel/cax-design-system-carousel.mjs +0 -5
  447. package/esm2022/carousel/public_api.mjs +0 -3
  448. package/esm2022/cascadeselect/cascadeselect.interface.mjs +0 -2
  449. package/esm2022/cascadeselect/cascadeselect.mjs +0 -1135
  450. package/esm2022/cascadeselect/cascadeselect.module.mjs +0 -25
  451. package/esm2022/cascadeselect/cax-design-system-cascadeselect.mjs +0 -5
  452. package/esm2022/cascadeselect/public_api.mjs +0 -4
  453. package/esm2022/cax-design-system.mjs +0 -5
  454. package/esm2022/chart/cax-design-system-chart.mjs +0 -5
  455. package/esm2022/chart/chart.mjs +0 -236
  456. package/esm2022/chart/public_api.mjs +0 -2
  457. package/esm2022/checkbox/cax-design-system-checkbox.mjs +0 -5
  458. package/esm2022/checkbox/checkbox.interface.mjs +0 -2
  459. package/esm2022/checkbox/checkbox.mjs +0 -318
  460. package/esm2022/checkbox/checkbox.module.mjs +0 -20
  461. package/esm2022/checkbox/public_api.mjs +0 -4
  462. package/esm2022/chip/cax-design-system-chip.mjs +0 -5
  463. package/esm2022/chip/chip.interface.mjs +0 -2
  464. package/esm2022/chip/chip.mjs +0 -90
  465. package/esm2022/chip/chip.module.mjs +0 -20
  466. package/esm2022/chip/public_api.mjs +0 -4
  467. package/esm2022/chips/cax-design-system-chips.mjs +0 -5
  468. package/esm2022/chips/chips.interface.mjs +0 -2
  469. package/esm2022/chips/chips.mjs +0 -610
  470. package/esm2022/chips/chips.module.mjs +0 -23
  471. package/esm2022/chips/public_api.mjs +0 -4
  472. package/esm2022/colorpicker/cax-design-system-colorpicker.mjs +0 -5
  473. package/esm2022/colorpicker/colorpicker.interface.mjs +0 -2
  474. package/esm2022/colorpicker/colorpicker.mjs +0 -715
  475. package/esm2022/colorpicker/colorpicker.module.mjs +0 -19
  476. package/esm2022/colorpicker/public_api.mjs +0 -4
  477. package/esm2022/commentbox/cax-design-system-commentbox.mjs +0 -5
  478. package/esm2022/commentbox/commentbox.mjs +0 -575
  479. package/esm2022/commentbox/commentbox.module.mjs +0 -27
  480. package/esm2022/commentbox/public_api.mjs +0 -3
  481. package/esm2022/confirmdialog/cax-design-system-confirmdialog.mjs +0 -5
  482. package/esm2022/confirmdialog/confirmdialog.interface.mjs +0 -2
  483. package/esm2022/confirmdialog/confirmdialog.mjs +0 -720
  484. package/esm2022/confirmdialog/confirmdialog.module.mjs +0 -25
  485. package/esm2022/confirmdialog/public_api.mjs +0 -4
  486. package/esm2022/confirmpopup/cax-design-system-confirmpopup.mjs +0 -5
  487. package/esm2022/confirmpopup/confirmpopup.interface.mjs +0 -2
  488. package/esm2022/confirmpopup/confirmpopup.mjs +0 -499
  489. package/esm2022/confirmpopup/public_api.mjs +0 -3
  490. package/esm2022/contextmenu/cax-design-system-contextmenu.mjs +0 -5
  491. package/esm2022/contextmenu/contextmenu.mjs +0 -1304
  492. package/esm2022/contextmenu/public_api.mjs +0 -2
  493. package/esm2022/dataview/cax-design-system-dataview.mjs +0 -5
  494. package/esm2022/dataview/dataview.interface.mjs +0 -2
  495. package/esm2022/dataview/dataview.mjs +0 -723
  496. package/esm2022/dataview/public_api.mjs +0 -3
  497. package/esm2022/defer/cax-design-system-defer.mjs +0 -5
  498. package/esm2022/defer/defer.mjs +0 -111
  499. package/esm2022/defer/public_api.mjs +0 -2
  500. package/esm2022/dialog/cax-design-system-dialog.mjs +0 -5
  501. package/esm2022/dialog/dialog.interface.mjs +0 -2
  502. package/esm2022/dialog/dialog.mjs +0 -959
  503. package/esm2022/dialog/dialog.module.mjs +0 -25
  504. package/esm2022/dialog/public_api.mjs +0 -4
  505. package/esm2022/divider/cax-design-system-divider.mjs +0 -5
  506. package/esm2022/divider/divider.mjs +0 -69
  507. package/esm2022/divider/divider.module.mjs +0 -16
  508. package/esm2022/divider/public_api.mjs +0 -3
  509. package/esm2022/dock/cax-design-system-dock.mjs +0 -5
  510. package/esm2022/dock/dock.interface.mjs +0 -2
  511. package/esm2022/dock/dock.mjs +0 -431
  512. package/esm2022/dock/public_api.mjs +0 -3
  513. package/esm2022/dom/cax-design-system-dom.mjs +0 -5
  514. package/esm2022/dom/connectedoverlayscrollhandler.mjs +0 -30
  515. package/esm2022/dom/domhandler.mjs +0 -722
  516. package/esm2022/dom/public_api.mjs +0 -3
  517. package/esm2022/dragdrop/cax-design-system-dragdrop.mjs +0 -5
  518. package/esm2022/dragdrop/dragdrop.mjs +0 -309
  519. package/esm2022/dragdrop/dragdrop.module.mjs +0 -18
  520. package/esm2022/dragdrop/public_api.mjs +0 -3
  521. package/esm2022/dropdown/cax-design-system-dropdown.mjs +0 -5
  522. package/esm2022/dropdown/dropdown-item.mjs +0 -72
  523. package/esm2022/dropdown/dropdown.interface.mjs +0 -2
  524. package/esm2022/dropdown/dropdown.mjs +0 -1599
  525. package/esm2022/dropdown/dropdown.module.mjs +0 -20
  526. package/esm2022/dropdown/public_api.mjs +0 -5
  527. package/esm2022/dynamicdialog/cax-design-system-dynamicdialog.mjs +0 -5
  528. package/esm2022/dynamicdialog/dialogservice.mjs +0 -102
  529. package/esm2022/dynamicdialog/dynamicdialog-config.mjs +0 -187
  530. package/esm2022/dynamicdialog/dynamicdialog-injector.mjs +0 -15
  531. package/esm2022/dynamicdialog/dynamicdialog-ref.mjs +0 -119
  532. package/esm2022/dynamicdialog/dynamicdialog.mjs +0 -696
  533. package/esm2022/dynamicdialog/dynamicdialogcontent.mjs +0 -20
  534. package/esm2022/dynamicdialog/public_api.mjs +0 -7
  535. package/esm2022/editor/cax-design-system-editor.mjs +0 -5
  536. package/esm2022/editor/editor.interface.mjs +0 -2
  537. package/esm2022/editor/editor.mjs +0 -281
  538. package/esm2022/editor/editor.module.mjs +0 -19
  539. package/esm2022/editor/public_api.mjs +0 -4
  540. package/esm2022/fieldset/cax-design-system-fieldset.mjs +0 -5
  541. package/esm2022/fieldset/fieldset.interface.mjs +0 -2
  542. package/esm2022/fieldset/fieldset.mjs +0 -297
  543. package/esm2022/fieldset/public_api.mjs +0 -3
  544. package/esm2022/fileupload/cax-design-system-fileupload.mjs +0 -5
  545. package/esm2022/fileupload/fileupload.interface.mjs +0 -2
  546. package/esm2022/fileupload/fileupload.mjs +0 -1188
  547. package/esm2022/fileupload/public_api.mjs +0 -3
  548. package/esm2022/floatlabel/cax-design-system-floatlabel.mjs +0 -5
  549. package/esm2022/floatlabel/floatlabel.mjs +0 -28
  550. package/esm2022/floatlabel/floatlabel.module.mjs +0 -20
  551. package/esm2022/floatlabel/public_api.mjs +0 -3
  552. package/esm2022/focustrap/cax-design-system-focustrap.mjs +0 -5
  553. package/esm2022/focustrap/focustrap.mjs +0 -103
  554. package/esm2022/focustrap/public_api.mjs +0 -2
  555. package/esm2022/galleria/cax-design-system-galleria.mjs +0 -5
  556. package/esm2022/galleria/galleria.interface.mjs +0 -2
  557. package/esm2022/galleria/galleria.mjs +0 -1668
  558. package/esm2022/galleria/public_api.mjs +0 -3
  559. package/esm2022/iconfield/cax-design-system-iconfield.mjs +0 -5
  560. package/esm2022/iconfield/iconfield.mjs +0 -44
  561. package/esm2022/iconfield/public_api.mjs +0 -2
  562. package/esm2022/icons/angledoubledown/angledoubledown.mjs +0 -35
  563. package/esm2022/icons/angledoubledown/cax-design-system-icons-angledoubledown.mjs +0 -5
  564. package/esm2022/icons/angledoubledown/public_api.mjs +0 -2
  565. package/esm2022/icons/angledoubleleft/angledoubleleft.mjs +0 -35
  566. package/esm2022/icons/angledoubleleft/cax-design-system-icons-angledoubleleft.mjs +0 -5
  567. package/esm2022/icons/angledoubleleft/public_api.mjs +0 -2
  568. package/esm2022/icons/angledoubleright/angledoubleright.mjs +0 -35
  569. package/esm2022/icons/angledoubleright/cax-design-system-icons-angledoubleright.mjs +0 -5
  570. package/esm2022/icons/angledoubleright/public_api.mjs +0 -2
  571. package/esm2022/icons/angledoubleup/angledoubleup.mjs +0 -35
  572. package/esm2022/icons/angledoubleup/cax-design-system-icons-angledoubleup.mjs +0 -5
  573. package/esm2022/icons/angledoubleup/public_api.mjs +0 -2
  574. package/esm2022/icons/angledown/angledown.mjs +0 -31
  575. package/esm2022/icons/angledown/cax-design-system-icons-angledown.mjs +0 -5
  576. package/esm2022/icons/angledown/public_api.mjs +0 -2
  577. package/esm2022/icons/angleleft/angleleft.mjs +0 -31
  578. package/esm2022/icons/angleleft/cax-design-system-icons-angleleft.mjs +0 -5
  579. package/esm2022/icons/angleleft/public_api.mjs +0 -2
  580. package/esm2022/icons/angleright/angleright.mjs +0 -31
  581. package/esm2022/icons/angleright/cax-design-system-icons-angleright.mjs +0 -5
  582. package/esm2022/icons/angleright/public_api.mjs +0 -2
  583. package/esm2022/icons/angleup/angleup.mjs +0 -31
  584. package/esm2022/icons/angleup/cax-design-system-icons-angleup.mjs +0 -5
  585. package/esm2022/icons/angleup/public_api.mjs +0 -2
  586. package/esm2022/icons/arrowdown/arrowdown.mjs +0 -54
  587. package/esm2022/icons/arrowdown/cax-design-system-icons-arrowdown.mjs +0 -5
  588. package/esm2022/icons/arrowdown/public_api.mjs +0 -2
  589. package/esm2022/icons/arrowdownleft/arrowdownleft.mjs +0 -31
  590. package/esm2022/icons/arrowdownleft/cax-design-system-icons-arrowdownleft.mjs +0 -5
  591. package/esm2022/icons/arrowdownleft/public_api.mjs +0 -2
  592. package/esm2022/icons/arrowdownright/arrowdownright.mjs +0 -31
  593. package/esm2022/icons/arrowdownright/cax-design-system-icons-arrowdownright.mjs +0 -5
  594. package/esm2022/icons/arrowdownright/public_api.mjs +0 -2
  595. package/esm2022/icons/arrowleft/arrowleft.mjs +0 -54
  596. package/esm2022/icons/arrowleft/cax-design-system-icons-arrowleft.mjs +0 -5
  597. package/esm2022/icons/arrowleft/public_api.mjs +0 -2
  598. package/esm2022/icons/arrowright/arrowright.mjs +0 -35
  599. package/esm2022/icons/arrowright/cax-design-system-icons-arrowright.mjs +0 -5
  600. package/esm2022/icons/arrowright/public_api.mjs +0 -2
  601. package/esm2022/icons/arrowup/arrowup.mjs +0 -54
  602. package/esm2022/icons/arrowup/cax-design-system-icons-arrowup.mjs +0 -5
  603. package/esm2022/icons/arrowup/public_api.mjs +0 -2
  604. package/esm2022/icons/ban/ban.mjs +0 -50
  605. package/esm2022/icons/ban/cax-design-system-icons-ban.mjs +0 -5
  606. package/esm2022/icons/ban/public_api.mjs +0 -2
  607. package/esm2022/icons/bars/bars.mjs +0 -35
  608. package/esm2022/icons/bars/cax-design-system-icons-bars.mjs +0 -5
  609. package/esm2022/icons/bars/public_api.mjs +0 -2
  610. package/esm2022/icons/blank/blank.mjs +0 -25
  611. package/esm2022/icons/blank/cax-design-system-icons-blank.mjs +0 -5
  612. package/esm2022/icons/blank/public_api.mjs +0 -2
  613. package/esm2022/icons/calendar/calendar.mjs +0 -31
  614. package/esm2022/icons/calendar/cax-design-system-icons-calendar.mjs +0 -5
  615. package/esm2022/icons/calendar/public_api.mjs +0 -2
  616. package/esm2022/icons/caretleft/caretleft.mjs +0 -31
  617. package/esm2022/icons/caretleft/cax-design-system-icons-caretleft.mjs +0 -5
  618. package/esm2022/icons/caretleft/public_api.mjs +0 -2
  619. package/esm2022/icons/caretright/caretright.mjs +0 -31
  620. package/esm2022/icons/caretright/cax-design-system-icons-caretright.mjs +0 -5
  621. package/esm2022/icons/caretright/public_api.mjs +0 -2
  622. package/esm2022/icons/check/cax-design-system-icons-check.mjs +0 -5
  623. package/esm2022/icons/check/check.mjs +0 -31
  624. package/esm2022/icons/check/public_api.mjs +0 -2
  625. package/esm2022/icons/chevrondown/cax-design-system-icons-chevrondown.mjs +0 -5
  626. package/esm2022/icons/chevrondown/chevrondown.mjs +0 -31
  627. package/esm2022/icons/chevrondown/public_api.mjs +0 -2
  628. package/esm2022/icons/chevronleft/cax-design-system-icons-chevronleft.mjs +0 -5
  629. package/esm2022/icons/chevronleft/chevronleft.mjs +0 -31
  630. package/esm2022/icons/chevronleft/public_api.mjs +0 -2
  631. package/esm2022/icons/chevronright/cax-design-system-icons-chevronright.mjs +0 -5
  632. package/esm2022/icons/chevronright/chevronright.mjs +0 -31
  633. package/esm2022/icons/chevronright/public_api.mjs +0 -2
  634. package/esm2022/icons/chevronup/cax-design-system-icons-chevronup.mjs +0 -5
  635. package/esm2022/icons/chevronup/chevronup.mjs +0 -31
  636. package/esm2022/icons/chevronup/public_api.mjs +0 -2
  637. package/esm2022/icons/exclamationtriangle/cax-design-system-icons-exclamationtriangle.mjs +0 -5
  638. package/esm2022/icons/exclamationtriangle/exclamationtriangle.mjs +0 -66
  639. package/esm2022/icons/exclamationtriangle/public_api.mjs +0 -2
  640. package/esm2022/icons/eye/cax-design-system-icons-eye.mjs +0 -5
  641. package/esm2022/icons/eye/eye.mjs +0 -35
  642. package/esm2022/icons/eye/public_api.mjs +0 -2
  643. package/esm2022/icons/eyeslash/cax-design-system-icons-eyeslash.mjs +0 -5
  644. package/esm2022/icons/eyeslash/eyeslash.mjs +0 -54
  645. package/esm2022/icons/eyeslash/public_api.mjs +0 -2
  646. package/esm2022/icons/filter/cax-design-system-icons-filter.mjs +0 -5
  647. package/esm2022/icons/filter/filter.mjs +0 -50
  648. package/esm2022/icons/filter/public_api.mjs +0 -2
  649. package/esm2022/icons/filterslash/cax-design-system-icons-filterslash.mjs +0 -5
  650. package/esm2022/icons/filterslash/filterslash.mjs +0 -54
  651. package/esm2022/icons/filterslash/public_api.mjs +0 -2
  652. package/esm2022/icons/home/cax-design-system-icons-home.mjs +0 -5
  653. package/esm2022/icons/home/home.mjs +0 -54
  654. package/esm2022/icons/home/public_api.mjs +0 -2
  655. package/esm2022/icons/infocircle/cax-design-system-icons-infocircle.mjs +0 -5
  656. package/esm2022/icons/infocircle/infocircle.mjs +0 -54
  657. package/esm2022/icons/infocircle/public_api.mjs +0 -2
  658. package/esm2022/icons/minus/cax-design-system-icons-minus.mjs +0 -5
  659. package/esm2022/icons/minus/minus.mjs +0 -32
  660. package/esm2022/icons/minus/public_api.mjs +0 -2
  661. package/esm2022/icons/pencil/cax-design-system-icons-pencil.mjs +0 -5
  662. package/esm2022/icons/pencil/pencil.mjs +0 -50
  663. package/esm2022/icons/pencil/public_api.mjs +0 -2
  664. package/esm2022/icons/plus/cax-design-system-icons-plus.mjs +0 -5
  665. package/esm2022/icons/plus/plus.mjs +0 -50
  666. package/esm2022/icons/plus/public_api.mjs +0 -2
  667. package/esm2022/icons/refresh/cax-design-system-icons-refresh.mjs +0 -5
  668. package/esm2022/icons/refresh/public_api.mjs +0 -2
  669. package/esm2022/icons/refresh/refresh.mjs +0 -54
  670. package/esm2022/icons/search/cax-design-system-icons-search.mjs +0 -5
  671. package/esm2022/icons/search/public_api.mjs +0 -2
  672. package/esm2022/icons/search/search.mjs +0 -54
  673. package/esm2022/icons/searchminus/cax-design-system-icons-searchminus.mjs +0 -5
  674. package/esm2022/icons/searchminus/public_api.mjs +0 -2
  675. package/esm2022/icons/searchminus/searchminus.mjs +0 -54
  676. package/esm2022/icons/searchplus/cax-design-system-icons-searchplus.mjs +0 -5
  677. package/esm2022/icons/searchplus/public_api.mjs +0 -2
  678. package/esm2022/icons/searchplus/searchplus.mjs +0 -54
  679. package/esm2022/icons/sortalt/cax-design-system-icons-sortalt.mjs +0 -5
  680. package/esm2022/icons/sortalt/public_api.mjs +0 -2
  681. package/esm2022/icons/sortalt/sortalt.mjs +0 -62
  682. package/esm2022/icons/sortamountdown/cax-design-system-icons-sortamountdown.mjs +0 -5
  683. package/esm2022/icons/sortamountdown/public_api.mjs +0 -2
  684. package/esm2022/icons/sortamountdown/sortamountdown.mjs +0 -50
  685. package/esm2022/icons/sortamountupalt/cax-design-system-icons-sortamountupalt.mjs +0 -5
  686. package/esm2022/icons/sortamountupalt/public_api.mjs +0 -2
  687. package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +0 -50
  688. package/esm2022/icons/spinner/cax-design-system-icons-spinner.mjs +0 -5
  689. package/esm2022/icons/spinner/public_api.mjs +0 -2
  690. package/esm2022/icons/spinner/spinner.mjs +0 -50
  691. package/esm2022/icons/star/cax-design-system-icons-star.mjs +0 -5
  692. package/esm2022/icons/star/public_api.mjs +0 -2
  693. package/esm2022/icons/star/star.mjs +0 -50
  694. package/esm2022/icons/starfill/cax-design-system-icons-starfill.mjs +0 -5
  695. package/esm2022/icons/starfill/public_api.mjs +0 -2
  696. package/esm2022/icons/starfill/starfill.mjs +0 -50
  697. package/esm2022/icons/thlarge/cax-design-system-icons-thlarge.mjs +0 -5
  698. package/esm2022/icons/thlarge/public_api.mjs +0 -2
  699. package/esm2022/icons/thlarge/thlarge.mjs +0 -54
  700. package/esm2022/icons/times/cax-design-system-icons-times.mjs +0 -5
  701. package/esm2022/icons/times/public_api.mjs +0 -2
  702. package/esm2022/icons/times/times.mjs +0 -31
  703. package/esm2022/icons/timescircle/cax-design-system-icons-timescircle.mjs +0 -5
  704. package/esm2022/icons/timescircle/public_api.mjs +0 -2
  705. package/esm2022/icons/timescircle/timescircle.mjs +0 -54
  706. package/esm2022/icons/trash/cax-design-system-icons-trash.mjs +0 -5
  707. package/esm2022/icons/trash/public_api.mjs +0 -2
  708. package/esm2022/icons/trash/trash.mjs +0 -54
  709. package/esm2022/icons/undo/cax-design-system-icons-undo.mjs +0 -5
  710. package/esm2022/icons/undo/public_api.mjs +0 -2
  711. package/esm2022/icons/undo/undo.mjs +0 -54
  712. package/esm2022/icons/upload/cax-design-system-icons-upload.mjs +0 -5
  713. package/esm2022/icons/upload/public_api.mjs +0 -2
  714. package/esm2022/icons/upload/upload.mjs +0 -54
  715. package/esm2022/icons/windowmaximize/cax-design-system-icons-windowmaximize.mjs +0 -5
  716. package/esm2022/icons/windowmaximize/public_api.mjs +0 -2
  717. package/esm2022/icons/windowmaximize/windowmaximize.mjs +0 -54
  718. package/esm2022/icons/windowminimize/cax-design-system-icons-windowminimize.mjs +0 -5
  719. package/esm2022/icons/windowminimize/public_api.mjs +0 -2
  720. package/esm2022/icons/windowminimize/windowminimize.mjs +0 -54
  721. package/esm2022/image/cax-design-system-image.mjs +0 -5
  722. package/esm2022/image/image.interface.mjs +0 -2
  723. package/esm2022/image/image.mjs +0 -418
  724. package/esm2022/image/image.module.mjs +0 -17
  725. package/esm2022/image/public_api.mjs +0 -4
  726. package/esm2022/inplace/cax-design-system-inplace.mjs +0 -5
  727. package/esm2022/inplace/inplace.interface.mjs +0 -2
  728. package/esm2022/inplace/inplace.mjs +0 -243
  729. package/esm2022/inplace/public_api.mjs +0 -3
  730. package/esm2022/inputgroup/cax-design-system-inputgroup.mjs +0 -5
  731. package/esm2022/inputgroup/inputgroup.mjs +0 -55
  732. package/esm2022/inputgroup/inputgroup.module.mjs +0 -25
  733. package/esm2022/inputgroup/public_api.mjs +0 -3
  734. package/esm2022/inputgroupaddon/cax-design-system-inputgroupaddon.mjs +0 -5
  735. package/esm2022/inputgroupaddon/inputgroupaddon.mjs +0 -32
  736. package/esm2022/inputgroupaddon/inputgroupaddon.module.mjs +0 -24
  737. package/esm2022/inputgroupaddon/public_api.mjs +0 -3
  738. package/esm2022/inputicon/cax-design-system-inputicon.mjs +0 -5
  739. package/esm2022/inputicon/inputicon.mjs +0 -38
  740. package/esm2022/inputicon/public_api.mjs +0 -2
  741. package/esm2022/inputmask/cax-design-system-inputmask.mjs +0 -5
  742. package/esm2022/inputmask/inputmask.interface.mjs +0 -2
  743. package/esm2022/inputmask/inputmask.mjs +0 -848
  744. package/esm2022/inputmask/inputmask.module.mjs +0 -22
  745. package/esm2022/inputmask/public_api.mjs +0 -4
  746. package/esm2022/inputnumber/cax-design-system-inputnumber.mjs +0 -5
  747. package/esm2022/inputnumber/inputnumber.interface.mjs +0 -2
  748. package/esm2022/inputnumber/inputnumber.mjs +0 -1296
  749. package/esm2022/inputnumber/inputnumber.module.mjs +0 -17
  750. package/esm2022/inputnumber/public_api.mjs +0 -4
  751. package/esm2022/inputotp/cax-design-system-inputotp.mjs +0 -5
  752. package/esm2022/inputotp/inputotp.interface.mjs +0 -2
  753. package/esm2022/inputotp/inputotp.mjs +0 -381
  754. package/esm2022/inputotp/public_api.mjs +0 -3
  755. package/esm2022/inputswitch/cax-design-system-inputswitch.mjs +0 -5
  756. package/esm2022/inputswitch/inputswitch.interface.mjs +0 -2
  757. package/esm2022/inputswitch/inputswitch.mjs +0 -244
  758. package/esm2022/inputswitch/public_api.mjs +0 -3
  759. package/esm2022/inputtext/cax-design-system-inputtext.mjs +0 -5
  760. package/esm2022/inputtext/inputtext.component.mjs +0 -132
  761. package/esm2022/inputtext/inputtext.directive.mjs +0 -76
  762. package/esm2022/inputtext/inputtext.module.mjs +0 -20
  763. package/esm2022/inputtext/public_api.mjs +0 -4
  764. package/esm2022/inputtextarea/cax-design-system-inputtextarea.mjs +0 -5
  765. package/esm2022/inputtextarea/inputtextarea.component.mjs +0 -155
  766. package/esm2022/inputtextarea/inputtextarea.directive.mjs +0 -121
  767. package/esm2022/inputtextarea/inputtextarea.module.mjs +0 -20
  768. package/esm2022/inputtextarea/public_api.mjs +0 -4
  769. package/esm2022/keyfilter/cax-design-system-keyfilter.mjs +0 -5
  770. package/esm2022/keyfilter/keyfilter.interface.mjs +0 -2
  771. package/esm2022/keyfilter/keyfilter.mjs +0 -265
  772. package/esm2022/keyfilter/public_api.mjs +0 -3
  773. package/esm2022/knob/cax-design-system-knob.mjs +0 -5
  774. package/esm2022/knob/knob.mjs +0 -464
  775. package/esm2022/knob/public_api.mjs +0 -2
  776. package/esm2022/listbox/cax-design-system-listbox.mjs +0 -5
  777. package/esm2022/listbox/listbox.interface.mjs +0 -2
  778. package/esm2022/listbox/listbox.mjs +0 -1555
  779. package/esm2022/listbox/public_api.mjs +0 -3
  780. package/esm2022/logo/cax-design-system-logo.mjs +0 -5
  781. package/esm2022/logo/logo.mjs +0 -45
  782. package/esm2022/logo/logo.module.mjs +0 -16
  783. package/esm2022/logo/public_api.mjs +0 -3
  784. package/esm2022/megamenu/cax-design-system-megamenu.mjs +0 -5
  785. package/esm2022/megamenu/megamenu.interface.mjs +0 -2
  786. package/esm2022/megamenu/megamenu.mjs +0 -1190
  787. package/esm2022/megamenu/public_api.mjs +0 -3
  788. package/esm2022/menu/cax-design-system-menu.mjs +0 -5
  789. package/esm2022/menu/menu.mjs +0 -626
  790. package/esm2022/menu/menu.module.mjs +0 -22
  791. package/esm2022/menu/public_api.mjs +0 -3
  792. package/esm2022/menubar/cax-design-system-menubar.mjs +0 -5
  793. package/esm2022/menubar/menubar.interface.mjs +0 -2
  794. package/esm2022/menubar/menubar.mjs +0 -1249
  795. package/esm2022/menubar/public_api.mjs +0 -3
  796. package/esm2022/message/cax-design-system-message.mjs +0 -5
  797. package/esm2022/message/message.mjs +0 -112
  798. package/esm2022/message/public_api.mjs +0 -2
  799. package/esm2022/messages/cax-design-system-messages.mjs +0 -5
  800. package/esm2022/messages/messages.interface.mjs +0 -2
  801. package/esm2022/messages/messages.mjs +0 -283
  802. package/esm2022/messages/messages.module.mjs +0 -17
  803. package/esm2022/messages/public_api.mjs +0 -4
  804. package/esm2022/metergroup/cax-design-system-metergroup.mjs +0 -5
  805. package/esm2022/metergroup/metergroup.interface.mjs +0 -2
  806. package/esm2022/metergroup/metergroup.mjs +0 -280
  807. package/esm2022/metergroup/public_api.mjs +0 -3
  808. package/esm2022/multiselect/cax-design-system-multiselect.mjs +0 -5
  809. package/esm2022/multiselect/multiselect.interface.mjs +0 -2
  810. package/esm2022/multiselect/multiselect.mjs +0 -1875
  811. package/esm2022/multiselect/multiselect.module.mjs +0 -30
  812. package/esm2022/multiselect/public_api.mjs +0 -4
  813. package/esm2022/navigation/cax-design-system-navigation.mjs +0 -5
  814. package/esm2022/navigation/navigation.interface.mjs +0 -2
  815. package/esm2022/navigation/navigation.mjs +0 -399
  816. package/esm2022/navigation/navigation.module.mjs +0 -16
  817. package/esm2022/navigation/public_api.mjs +0 -3
  818. package/esm2022/orderlist/cax-design-system-orderlist.mjs +0 -5
  819. package/esm2022/orderlist/orderlist.interface.mjs +0 -2
  820. package/esm2022/orderlist/orderlist.mjs +0 -993
  821. package/esm2022/orderlist/public_api.mjs +0 -3
  822. package/esm2022/organizationchart/cax-design-system-organizationchart.mjs +0 -5
  823. package/esm2022/organizationchart/organizationchart.interface.mjs +0 -2
  824. package/esm2022/organizationchart/organizationchart.mjs +0 -416
  825. package/esm2022/organizationchart/public_api.mjs +0 -3
  826. package/esm2022/overlay/cax-design-system-overlay.mjs +0 -5
  827. package/esm2022/overlay/overlay.mjs +0 -579
  828. package/esm2022/overlay/overlay.module.mjs +0 -17
  829. package/esm2022/overlay/public_api.mjs +0 -3
  830. package/esm2022/overlaypanel/cax-design-system-overlaypanel.mjs +0 -5
  831. package/esm2022/overlaypanel/overlaypanel.mjs +0 -470
  832. package/esm2022/overlaypanel/overlaypanel.module.mjs +0 -17
  833. package/esm2022/overlaypanel/public_api.mjs +0 -3
  834. package/esm2022/paginator/cax-design-system-paginator.mjs +0 -5
  835. package/esm2022/paginator/paginator.interface.mjs +0 -2
  836. package/esm2022/paginator/paginator.mjs +0 -437
  837. package/esm2022/paginator/paginator.module.mjs +0 -27
  838. package/esm2022/paginator/public_api.mjs +0 -4
  839. package/esm2022/panel/cax-design-system-panel.mjs +0 -5
  840. package/esm2022/panel/panel.interface.mjs +0 -2
  841. package/esm2022/panel/panel.mjs +0 -393
  842. package/esm2022/panel/public_api.mjs +0 -3
  843. package/esm2022/panelmenu/cax-design-system-panelmenu.mjs +0 -5
  844. package/esm2022/panelmenu/panelmenu.interface.mjs +0 -2
  845. package/esm2022/panelmenu/panelmenu.mjs +0 -1276
  846. package/esm2022/panelmenu/public_api.mjs +0 -3
  847. package/esm2022/password/cax-design-system-password.mjs +0 -5
  848. package/esm2022/password/password.mjs +0 -1017
  849. package/esm2022/password/public_api.mjs +0 -2
  850. package/esm2022/picklist/cax-design-system-picklist.mjs +0 -5
  851. package/esm2022/picklist/picklist.interface.mjs +0 -2
  852. package/esm2022/picklist/picklist.mjs +0 -1909
  853. package/esm2022/picklist/public_api.mjs +0 -3
  854. package/esm2022/progressbar/cax-design-system-progressbar.mjs +0 -5
  855. package/esm2022/progressbar/progressbar.mjs +0 -86
  856. package/esm2022/progressbar/progressbar.module.mjs +0 -18
  857. package/esm2022/progressbar/public_api.mjs +0 -3
  858. package/esm2022/progressspinner/cax-design-system-progressspinner.mjs +0 -5
  859. package/esm2022/progressspinner/progressspinner.mjs +0 -112
  860. package/esm2022/progressspinner/progressspinner.module.mjs +0 -18
  861. package/esm2022/progressspinner/public_api.mjs +0 -3
  862. package/esm2022/public_api.mjs +0 -2
  863. package/esm2022/radiobutton/cax-design-system-radiobutton.mjs +0 -5
  864. package/esm2022/radiobutton/public_api.mjs +0 -4
  865. package/esm2022/radiobutton/radiobutton.interface.mjs +0 -2
  866. package/esm2022/radiobutton/radiobutton.mjs +0 -284
  867. package/esm2022/radiobutton/radiobutton.module.mjs +0 -16
  868. package/esm2022/rating/cax-design-system-rating.mjs +0 -5
  869. package/esm2022/rating/public_api.mjs +0 -3
  870. package/esm2022/rating/rating.interface.mjs +0 -2
  871. package/esm2022/rating/rating.mjs +0 -388
  872. package/esm2022/ripple/cax-design-system-ripple.mjs +0 -5
  873. package/esm2022/ripple/public_api.mjs +0 -3
  874. package/esm2022/ripple/ripple.mjs +0 -129
  875. package/esm2022/ripple/ripple.module.mjs +0 -16
  876. package/esm2022/scroller/cax-design-system-scroller.mjs +0 -5
  877. package/esm2022/scroller/public_api.mjs +0 -4
  878. package/esm2022/scroller/scroller.interface.mjs +0 -2
  879. package/esm2022/scroller/scroller.mjs +0 -981
  880. package/esm2022/scroller/scroller.module.mjs +0 -17
  881. package/esm2022/scrollpanel/cax-design-system-scrollpanel.mjs +0 -5
  882. package/esm2022/scrollpanel/public_api.mjs +0 -3
  883. package/esm2022/scrollpanel/scrollpanel.interface.mjs +0 -2
  884. package/esm2022/scrollpanel/scrollpanel.mjs +0 -501
  885. package/esm2022/scrolltop/cax-design-system-scrolltop.mjs +0 -5
  886. package/esm2022/scrolltop/public_api.mjs +0 -3
  887. package/esm2022/scrolltop/scrolltop.interface.mjs +0 -2
  888. package/esm2022/scrolltop/scrolltop.mjs +0 -282
  889. package/esm2022/selectbutton/cax-design-system-selectbutton.mjs +0 -5
  890. package/esm2022/selectbutton/public_api.mjs +0 -4
  891. package/esm2022/selectbutton/selectbutton.interface.mjs +0 -2
  892. package/esm2022/selectbutton/selectbutton.mjs +0 -303
  893. package/esm2022/selectbutton/selectbutton.module.mjs +0 -21
  894. package/esm2022/sidebar/cax-design-system-sidebar.mjs +0 -5
  895. package/esm2022/sidebar/public_api.mjs +0 -4
  896. package/esm2022/sidebar/sidebar.interface.mjs +0 -2
  897. package/esm2022/sidebar/sidebar.mjs +0 -488
  898. package/esm2022/sidebar/sidebar.module.mjs +0 -21
  899. package/esm2022/skeleton/cax-design-system-skeleton.mjs +0 -5
  900. package/esm2022/skeleton/public_api.mjs +0 -3
  901. package/esm2022/skeleton/skeleton.mjs +0 -87
  902. package/esm2022/skeleton/skeleton.module.mjs +0 -18
  903. package/esm2022/slidemenu/cax-design-system-slidemenu.mjs +0 -5
  904. package/esm2022/slidemenu/public_api.mjs +0 -3
  905. package/esm2022/slidemenu/slidemenu.interface.mjs +0 -2
  906. package/esm2022/slidemenu/slidemenu.mjs +0 -1501
  907. package/esm2022/slider/cax-design-system-slider.mjs +0 -5
  908. package/esm2022/slider/public_api.mjs +0 -3
  909. package/esm2022/slider/slider.interface.mjs +0 -2
  910. package/esm2022/slider/slider.mjs +0 -796
  911. package/esm2022/speeddial/cax-design-system-speeddial.mjs +0 -5
  912. package/esm2022/speeddial/public_api.mjs +0 -4
  913. package/esm2022/speeddial/speeddial.interface.mjs +0 -2
  914. package/esm2022/speeddial/speeddial.mjs +0 -611
  915. package/esm2022/speeddial/speeddial.module.mjs +0 -24
  916. package/esm2022/spinner/cax-design-system-spinner.mjs +0 -5
  917. package/esm2022/spinner/public_api.mjs +0 -2
  918. package/esm2022/spinner/spinner.mjs +0 -447
  919. package/esm2022/splitbutton/cax-design-system-splitbutton.mjs +0 -5
  920. package/esm2022/splitbutton/public_api.mjs +0 -4
  921. package/esm2022/splitbutton/splitbutton.interface.mjs +0 -2
  922. package/esm2022/splitbutton/splitbutton.mjs +0 -369
  923. package/esm2022/splitbutton/splitbutton.module.mjs +0 -23
  924. package/esm2022/splitter/cax-design-system-splitter.mjs +0 -5
  925. package/esm2022/splitter/public_api.mjs +0 -4
  926. package/esm2022/splitter/splitter.interface.mjs +0 -2
  927. package/esm2022/splitter/splitter.mjs +0 -490
  928. package/esm2022/splitter/splitter.module.mjs +0 -19
  929. package/esm2022/stepper/cax-design-system-stepper.mjs +0 -5
  930. package/esm2022/stepper/public_api.mjs +0 -3
  931. package/esm2022/stepper/stepper.interface.mjs +0 -2
  932. package/esm2022/stepper/stepper.mjs +0 -677
  933. package/esm2022/steps/cax-design-system-steps.mjs +0 -5
  934. package/esm2022/steps/public_api.mjs +0 -3
  935. package/esm2022/steps/steps.mjs +0 -207
  936. package/esm2022/steps/steps.module.mjs +0 -20
  937. package/esm2022/styleclass/cax-design-system-styleclass.mjs +0 -5
  938. package/esm2022/styleclass/public_api.mjs +0 -2
  939. package/esm2022/styleclass/styleclass.mjs +0 -316
  940. package/esm2022/table/cax-design-system-table.mjs +0 -5
  941. package/esm2022/table/columnfilter.interface.mjs +0 -2
  942. package/esm2022/table/components/cell-editor/cell-editor.mjs +0 -52
  943. package/esm2022/table/components/column-filter/column-filter.mjs +0 -865
  944. package/esm2022/table/components/column-filter-form-element/column-filter-form-element.mjs +0 -107
  945. package/esm2022/table/components/sort-icon/sort-icon.mjs +0 -78
  946. package/esm2022/table/components/table-body/table-body.mjs +0 -152
  947. package/esm2022/table/components/table-checkbox/table-checkbox.mjs +0 -83
  948. package/esm2022/table/components/table-header-checkbox/table-header-checkbox.mjs +0 -92
  949. package/esm2022/table/components/table-radio-button/table-radio-button.mjs +0 -79
  950. package/esm2022/table/directives/cancel-editable-row.directive.mjs +0 -32
  951. package/esm2022/table/directives/cell-highlight.directive.mjs +0 -42
  952. package/esm2022/table/directives/content-menu-row.directive.mjs +0 -70
  953. package/esm2022/table/directives/dynamic-column-width.directive.mjs +0 -34
  954. package/esm2022/table/directives/editable-column.directive.mjs +0 -344
  955. package/esm2022/table/directives/editable-row.directive.mjs +0 -32
  956. package/esm2022/table/directives/frozen-column.directive.mjs +0 -77
  957. package/esm2022/table/directives/init-editable-row.directive.mjs +0 -32
  958. package/esm2022/table/directives/reorderable-column.directive.mjs +0 -115
  959. package/esm2022/table/directives/reorderable-row-handle.directive.mjs +0 -25
  960. package/esm2022/table/directives/reorderable-row.directive.mjs +0 -122
  961. package/esm2022/table/directives/resizable-column.directive.mjs +0 -123
  962. package/esm2022/table/directives/row-group-header.directive.mjs +0 -26
  963. package/esm2022/table/directives/row-toggler.directive.mjs +0 -42
  964. package/esm2022/table/directives/save-editable-row.directive.mjs +0 -32
  965. package/esm2022/table/directives/selectable-row-double-click.directive.mjs +0 -71
  966. package/esm2022/table/directives/selectable-row.directive.mjs +0 -243
  967. package/esm2022/table/directives/sortable-column.directive.mjs +0 -90
  968. package/esm2022/table/public_api.mjs +0 -31
  969. package/esm2022/table/table.interface.mjs +0 -2
  970. package/esm2022/table/table.mjs +0 -2799
  971. package/esm2022/table/table.module.mjs +0 -157
  972. package/esm2022/table/table.service.mjs +0 -42
  973. package/esm2022/tableconfiguration/cax-design-system-tableconfiguration.mjs +0 -5
  974. package/esm2022/tableconfiguration/public_api.mjs +0 -3
  975. package/esm2022/tableconfiguration/tableconfiguration.mjs +0 -68
  976. package/esm2022/tableconfiguration/tableconfiguration.module.mjs +0 -16
  977. package/esm2022/tabmenu/cax-design-system-tabmenu.mjs +0 -5
  978. package/esm2022/tabmenu/public_api.mjs +0 -3
  979. package/esm2022/tabmenu/tabmenu.interface.mjs +0 -2
  980. package/esm2022/tabmenu/tabmenu.mjs +0 -576
  981. package/esm2022/tabview/cax-design-system-tabview.mjs +0 -5
  982. package/esm2022/tabview/public_api.mjs +0 -4
  983. package/esm2022/tabview/tabview.interface.mjs +0 -2
  984. package/esm2022/tabview/tabview.mjs +0 -913
  985. package/esm2022/tabview/tabview.module.mjs +0 -25
  986. package/esm2022/tag/cax-design-system-tag.mjs +0 -5
  987. package/esm2022/tag/public_api.mjs +0 -4
  988. package/esm2022/tag/tag.interface.mjs +0 -2
  989. package/esm2022/tag/tag.mjs +0 -95
  990. package/esm2022/tag/tag.module.mjs +0 -19
  991. package/esm2022/terminal/cax-design-system-terminal.mjs +0 -5
  992. package/esm2022/terminal/public_api.mjs +0 -3
  993. package/esm2022/terminal/terminal.mjs +0 -143
  994. package/esm2022/terminal/terminalservice.mjs +0 -25
  995. package/esm2022/tieredmenu/cax-design-system-tieredmenu.mjs +0 -5
  996. package/esm2022/tieredmenu/public_api.mjs +0 -4
  997. package/esm2022/tieredmenu/tieredmenu.interface.mjs +0 -2
  998. package/esm2022/tieredmenu/tieredmenu.mjs +0 -1289
  999. package/esm2022/tieredmenu/tiredmenu.module.mjs +0 -23
  1000. package/esm2022/timeline/cax-design-system-timeline.mjs +0 -5
  1001. package/esm2022/timeline/public_api.mjs +0 -4
  1002. package/esm2022/timeline/timeline.interface.mjs +0 -2
  1003. package/esm2022/timeline/timeline.mjs +0 -83
  1004. package/esm2022/timeline/timeline.module.mjs +0 -19
  1005. package/esm2022/toast/cax-design-system-toast.mjs +0 -5
  1006. package/esm2022/toast/public_api.mjs +0 -4
  1007. package/esm2022/toast/toast.interface.mjs +0 -2
  1008. package/esm2022/toast/toast.mjs +0 -324
  1009. package/esm2022/toast/toast.module.mjs +0 -18
  1010. package/esm2022/toast/toastitem.mjs +0 -170
  1011. package/esm2022/togglebutton/cax-design-system-togglebutton.mjs +0 -5
  1012. package/esm2022/togglebutton/public_api.mjs +0 -3
  1013. package/esm2022/togglebutton/togglebutton.interface.mjs +0 -2
  1014. package/esm2022/togglebutton/togglebutton.mjs +0 -274
  1015. package/esm2022/toggleswitch/cax-design-system-toggleswitch.mjs +0 -5
  1016. package/esm2022/toggleswitch/public_api.mjs +0 -3
  1017. package/esm2022/toggleswitch/toggleswitch.mjs +0 -37
  1018. package/esm2022/toggleswitch/toggleswitch.module.mjs +0 -19
  1019. package/esm2022/toolbar/cax-design-system-toolbar.mjs +0 -5
  1020. package/esm2022/toolbar/public_api.mjs +0 -3
  1021. package/esm2022/toolbar/toolbar.interface.mjs +0 -2
  1022. package/esm2022/toolbar/toolbar.mjs +0 -111
  1023. package/esm2022/tooltip/cax-design-system-tooltip.mjs +0 -5
  1024. package/esm2022/tooltip/public_api.mjs +0 -3
  1025. package/esm2022/tooltip/tooltip.mjs +0 -889
  1026. package/esm2022/tooltip/tooltip.module.mjs +0 -20
  1027. package/esm2022/tree/cax-design-system-tree.mjs +0 -5
  1028. package/esm2022/tree/public_api.mjs +0 -4
  1029. package/esm2022/tree/tree.interface.mjs +0 -2
  1030. package/esm2022/tree/tree.mjs +0 -1544
  1031. package/esm2022/tree/tree.module.mjs +0 -31
  1032. package/esm2022/treeselect/cax-design-system-treeselect.mjs +0 -5
  1033. package/esm2022/treeselect/public_api.mjs +0 -4
  1034. package/esm2022/treeselect/treeselect.interface.mjs +0 -2
  1035. package/esm2022/treeselect/treeselect.mjs +0 -865
  1036. package/esm2022/treeselect/treeselect.module.mjs +0 -26
  1037. package/esm2022/treetable/cax-design-system-treetable.mjs +0 -5
  1038. package/esm2022/treetable/public_api.mjs +0 -3
  1039. package/esm2022/treetable/treetable.interface.mjs +0 -2
  1040. package/esm2022/treetable/treetable.mjs +0 -4111
  1041. package/esm2022/tristatecheckbox/cax-design-system-tristatecheckbox.mjs +0 -5
  1042. package/esm2022/tristatecheckbox/public_api.mjs +0 -4
  1043. package/esm2022/tristatecheckbox/tristatecheckbox.interface.mjs +0 -2
  1044. package/esm2022/tristatecheckbox/tristatecheckbox.mjs +0 -215
  1045. package/esm2022/tristatecheckbox/tristatecheckbox.module.mjs +0 -17
  1046. package/esm2022/ts-helpers/cax-design-system-ts-helpers.mjs +0 -5
  1047. package/esm2022/ts-helpers/public_api.mjs +0 -2
  1048. package/esm2022/ts-helpers/ts-helpers.mjs +0 -2
  1049. package/esm2022/upload/cax-design-system-upload.mjs +0 -5
  1050. package/esm2022/upload/public_api.mjs +0 -3
  1051. package/esm2022/upload/upload.component.mjs +0 -372
  1052. package/esm2022/upload/upload.component.module.mjs +0 -21
  1053. package/esm2022/utils/cax-design-system-utils.mjs +0 -5
  1054. package/esm2022/utils/objectutils.mjs +0 -258
  1055. package/esm2022/utils/public_api.mjs +0 -5
  1056. package/esm2022/utils/uniquecomponentid.mjs +0 -6
  1057. package/esm2022/utils/zindexutils.mjs +0 -35
  1058. package/esm2022/virtualscroller/cax-design-system-virtualscroller.mjs +0 -5
  1059. package/esm2022/virtualscroller/public_api.mjs +0 -3
  1060. package/esm2022/virtualscroller/virtualscroller.interface.mjs +0 -2
  1061. package/esm2022/virtualscroller/virtualscroller.mjs +0 -215
@@ -1 +1 @@
1
- {"version":3,"file":"cax-design-system-multiselect.mjs","sources":["../../src/app/components/multiselect/multiselect.ts","../../src/app/components/multiselect/multiselectitem.html","../../src/app/components/multiselect/multiselect.html","../../src/app/components/multiselect/multiselect.module.ts","../../src/app/components/multiselect/cax-design-system-multiselect.ts"],"sourcesContent":["import { AnimationEvent } from '@angular/animations';\nimport {\n AfterContentInit,\n AfterViewChecked,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n ContentChild,\n ContentChildren,\n effect,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n NgZone,\n numberAttribute,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n Signal,\n signal,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { FilterService, Footer, Header, OverlayOptions, OverlayService, caxConfig, CaxTemplate, SharedModule, TranslationKeys } from 'cax-design-system/api';\nimport { DomHandler } from 'cax-design-system/dom';\nimport { Overlay } from 'cax-design-system/overlay';\nimport { Scroller } from 'cax-design-system/scroller';\nimport { ScrollerOptions } from 'cax-design-system/api';\nimport { ObjectUtils, UniqueComponentId } from 'cax-design-system/utils';\nimport { Nullable } from 'cax-design-system/ts-helpers';\nimport { MultiSelectRemoveEvent, MultiSelectFilterOptions, MultiSelectFilterEvent, MultiSelectBlurEvent, MultiSelectChangeEvent, MultiSelectFocusEvent, MultiSelectLazyLoadEvent, MultiSelectSelectAllChangeEvent } from './multiselect.interface';\n\nexport const MULTISELECT_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MultiSelect),\n multi: true\n};\n\n@Component({\n selector: 'cax-multiSelectItem',\n templateUrl: './multiselectitem.html',\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'cax-element'\n }\n})\nexport class MultiSelectItem {\n @Input() id: string | undefined;\n\n @Input() option: any;\n\n @Input({ transform: booleanAttribute }) selected: boolean | undefined;\n\n @Input() label: string | undefined;\n\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n\n @Input({ transform: numberAttribute }) itemSize: number | undefined;\n\n @Input({ transform: booleanAttribute }) focused: boolean | undefined;\n\n @Input() ariaPosInset: string | undefined;\n\n @Input() ariaSetSize: string | undefined;\n\n @Input() template: TemplateRef<any> | undefined;\n\n @Input() checkIconTemplate: TemplateRef<any> | undefined;\n\n @Input() itemCheckboxIconTemplate: TemplateRef<any> | undefined;\n\n @Output() onClick: EventEmitter<any> = new EventEmitter();\n\n @Output() onMouseEnter: EventEmitter<any> = new EventEmitter();\n\n constructor(public config: caxConfig) {}\n\n onOptionClick(event: Event) {\n this.onClick.emit({\n originalEvent: event,\n option: this.option,\n selected: this.selected\n });\n event.stopPropagation();\n }\n\n onOptionMouseEnter(event: Event) {\n this.onMouseEnter.emit({\n originalEvent: event,\n option: this.option,\n selected: this.selected\n });\n }\n}\n/**\n * MultiSelect is used to select multiple items from a collection.\n * @group Components\n */\n@Component({\n selector: 'cax-multiSelect',\n templateUrl: './multiselect.html',\n host: {\n class: 'cax-element cax-inputwrapper',\n '[class.cax-inputwrapper-focus]': 'focused || overlayVisible',\n '[class.cax-inputwrapper-filled]': 'filled'\n },\n providers: [MULTISELECT_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./multiselect.scss']\n})\nexport class MultiSelect implements OnInit, AfterViewInit, AfterContentInit, AfterViewChecked, ControlValueAccessor {\n @Input() labelText: string | undefined;\n labelTextClass = 'left-aligned';\n /**\n * Unique identifier of the component\n * @group Props\n */\n @Input() id: string | undefined;\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Inline style of the overlay panel.\n * @group Props\n */\n @Input() panelStyle: any;\n /**\n * Style class of the overlay panel element.\n * @group Props\n */\n @Input() panelStyleClass: string | 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 * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * When present, it specifies that the component cannot be edited.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean | undefined;\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 * When specified, displays an input field to filter the items on keyup.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) filter: boolean = true;\n /**\n * Defines placeholder of the filter input.\n * @group Props\n */\n @Input() filterPlaceHolder: string | undefined;\n /**\n * Locale to use in filtering. The default locale is the host environment's current locale.\n * @group Props\n */\n @Input() filterLocale: string | undefined;\n /**\n * Specifies the visibility of the options panel.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) overlayVisible: boolean | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined = 0;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'filled' | 'outlined' = 'outlined';\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 * A property to uniquely identify a value in options.\n * @group Props\n */\n @Input() dataKey: string | undefined;\n /**\n * Name of the input element.\n * @group Props\n */\n @Input() name: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Whether to show labels of selected item labels or use default label.\n * @group Props\n * @defaultValue true\n */\n @Input() set displaySelectedLabel(val: boolean) {\n this._displaySelectedLabel = val;\n }\n get displaySelectedLabel(): boolean {\n return this._displaySelectedLabel;\n }\n /**\n * Decides how many selected item labels to show at most.\n * @group Props\n * @defaultValue 3\n */\n @Input() set maxSelectedLabels(val: number | null | undefined) {\n this._maxSelectedLabels = val;\n }\n get maxSelectedLabels(): number | null | undefined {\n return this._maxSelectedLabels;\n }\n /**\n * Decides how many selected item labels to show at most.\n * @group Props\n */\n @Input({ transform: (value: unknown) => numberAttribute(value, null) }) selectionLimit: number | null | undefined;\n /**\n * Label to display after exceeding max selected labels e.g. ({0} items selected), defaults \"ellipsis\" keyword to indicate a text-overflow.\n * @group Props\n */\n @Input() selectedItemsLabel: string | undefined;\n /**\n * Whether to show the checkbox at header to toggle all items at once.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showToggleAll: boolean = true;\n /**\n * Text to display when filtering does not return any results.\n * @group Props\n */\n @Input() emptyFilterMessage: string = '';\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 = '';\n /**\n * Clears the filter value when hiding the dropdown.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) resetFilterOnHide: boolean = false;\n /**\n * Icon class of the dropdown icon.\n * @group Props\n */\n @Input() dropdownIcon: string | undefined;\n /**\n * Name of the label field of an option.\n * @group Props\n */\n @Input() optionLabel: string | undefined;\n /**\n * Name of the value field of an option.\n * @group Props\n */\n @Input() optionValue: string | undefined;\n /**\n * Name of the disabled field of an option.\n * @group Props\n */\n @Input() optionDisabled: string | undefined;\n /**\n * Name of the label field of an option group.\n * @group Props\n */\n @Input() optionGroupLabel: string | undefined = 'label';\n /**\n * Name of the options field of an option group.\n * @group Props\n */\n @Input() optionGroupChildren: string = 'items';\n /**\n * Whether to show the header.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showHeader: boolean = true;\n /**\n * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.\n * @group Props\n */\n @Input() filterBy: string | undefined;\n /**\n * Height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.\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 * Whether the multiselect is in loading state.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) loading: boolean | undefined = false;\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n @Input({ transform: numberAttribute }) virtualScrollItemSize: number | undefined;\n /**\n * Icon to display in loading state.\n * @group Props\n */\n @Input() loadingIcon: string | 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 * Whether to use overlay API feature. The properties of overlay API can be used like an object in it.\n * @group Props\n */\n @Input() overlayOptions: OverlayOptions | undefined;\n /**\n * Defines a string that labels the filter input.\n * @group Props\n */\n @Input() ariaFilterLabel: string | undefined;\n /**\n * Defines how the items are filtered.\n * @group Props\n */\n @Input() filterMatchMode: 'contains' | 'startsWith' | 'endsWith' | 'equals' | 'notEquals' | 'in' | 'lt' | 'lte' | 'gt' | 'gte' = 'contains';\n /**\n * Advisory information to display in a tooltip on hover.\n * @group Props\n */\n @Input() tooltip: string = '';\n /**\n * Position of the tooltip.\n * @group Props\n */\n @Input() tooltipPosition: 'top' | 'left' | 'right' | 'bottom' = 'right';\n /**\n * Type of CSS position.\n * @group Props\n */\n @Input() tooltipPositionStyle: string = 'absolute';\n /**\n * Style class of the tooltip.\n * @group Props\n */\n @Input() tooltipStyleClass: string | undefined;\n /**\n * Applies focus to the filter element when the overlay is shown.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocusFilter: boolean = true;\n /**\n * Defines how the selected items are displayed.\n * @group Props\n */\n @Input() display: string | 'comma' | 'chip' = 'comma';\n /**\n * Defines the autocomplete is active.\n * @group Props\n */\n @Input() autocomplete: string = 'off';\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 * 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 * @deprecated since v14.2.0, use overlayOptions property instead.\n * Whether to automatically manage layering.\n * @group Props\n */\n @Input() get autoZIndex(): boolean | undefined {\n return this._autoZIndex;\n }\n set autoZIndex(val: boolean | undefined) {\n this._autoZIndex = val;\n console.warn('The autoZIndex property is deprecated since v14.2.0, use overlayOptions property instead.');\n }\n /**\n * @deprecated since v14.2.0, use overlayOptions property instead.\n * Base zIndex value to use in layering.\n * @group Props\n */\n @Input() get baseZIndex(): number | undefined {\n return this._baseZIndex;\n }\n set baseZIndex(val: number | undefined) {\n this._baseZIndex = val;\n console.warn('The baseZIndex property is deprecated since v14.2.0, use overlayOptions property instead.');\n }\n /**\n * Transition options of the show animation.\n * @group Props\n * @deprecated since v14.2.0, use overlayOptions property instead.\n */\n @Input() get showTransitionOptions(): string | undefined {\n return this._showTransitionOptions;\n }\n set showTransitionOptions(val: string | undefined) {\n this._showTransitionOptions = val;\n console.warn('The showTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.');\n }\n /**\n * Transition options of the hide animation.\n * @group Props\n * @deprecated since v14.2.0, use overlayOptions property instead.\n */\n @Input() get hideTransitionOptions(): string | undefined {\n return this._hideTransitionOptions;\n }\n set hideTransitionOptions(val: string | undefined) {\n this._hideTransitionOptions = val;\n console.warn('The hideTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.');\n }\n /**\n * Label to display when there are no selections.\n * @group Props\n * @deprecated Use placeholder instead.\n */\n @Input() set defaultLabel(val: string | undefined) {\n this._defaultLabel = val;\n console.warn('defaultLabel property is deprecated since 16.6.0, use placeholder instead');\n }\n get defaultLabel(): string | undefined {\n return this._defaultLabel;\n }\n /**\n * Label to display when there are no selections.\n * @group Props\n */\n @Input() set placeholder(val: string | undefined) {\n this._placeholder.set(val);\n }\n get placeholder(): Signal<string | undefined> {\n return this._placeholder.asReadonly();\n }\n /**\n * An array of objects to display as the available options.\n * @group Props\n */\n @Input() get options(): any[] | undefined {\n const options = this._options();\n return options;\n }\n set options(val: any[] | undefined) {\n if (!ObjectUtils.deepEquals(this._options(), val)) {\n this._options.set(val);\n }\n }\n /**\n * When specified, filter displays with this value.\n * @group Props\n */\n @Input() get filterValue(): string | undefined | null {\n return this._filterValue();\n }\n set filterValue(val: string | undefined | null) {\n this._filterValue.set(val);\n }\n /**\n * Item size of item to be virtual scrolled.\n * @group Props\n * @deprecated use virtualScrollItemSize property instead.\n */\n @Input() get itemSize(): number | undefined {\n return this._itemSize;\n }\n set itemSize(val: number | undefined) {\n this._itemSize = val;\n console.warn('The itemSize property is deprecated, use virtualScrollItemSize property instead.');\n }\n /**\n * Whether all data is selected.\n * @group Props\n */\n @Input() get selectAll(): boolean | undefined | null {\n return this._selectAll;\n }\n set selectAll(value: boolean | undefined | null) {\n this._selectAll = value;\n }\n /**\n * Indicates whether to focus on options when hovering over them, defaults to optionLabel.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) focusOnHover: boolean = false;\n /**\n * Fields used when filtering the options, defaults to optionLabel.\n * @group Props\n */\n @Input() filterFields: any[] | undefined;\n /**\n * Determines if the option will be selected on focus.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) selectOnFocus: boolean = false;\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 = true;\n /**\n * Callback to invoke when value changes.\n * @param {MultiSelectChangeEvent} event - Custom change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<MultiSelectChangeEvent> = new EventEmitter<MultiSelectChangeEvent>();\n /**\n * Callback to invoke when data is filtered.\n * @param {MultiSelectFilterEvent} event - Custom filter event.\n * @group Emits\n */\n @Output() onFilter: EventEmitter<MultiSelectFilterEvent> = new EventEmitter<MultiSelectFilterEvent>();\n /**\n * Callback to invoke when multiselect receives focus.\n * @param {MultiSelectFocusEvent} event - Custom focus event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<MultiSelectFocusEvent> = new EventEmitter<MultiSelectFocusEvent>();\n /**\n * Callback to invoke when multiselect loses focus.\n * @param {MultiSelectBlurEvent} event - Custom blur event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<MultiSelectBlurEvent> = new EventEmitter<MultiSelectBlurEvent>();\n /**\n * Callback to invoke when component is clicked.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onClick: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when input field is cleared.\n * @group Emits\n */\n @Output() onClear: EventEmitter<void> = new EventEmitter<void>();\n /**\n * Callback to invoke when overlay panel becomes visible.\n * @group Emits\n */\n @Output() onPanelShow: EventEmitter<void> = new EventEmitter<void>();\n /**\n * Callback to invoke when overlay panel becomes hidden.\n * @group Emits\n */\n @Output() onPanelHide: EventEmitter<void> = new EventEmitter<void>();\n /**\n * Callback to invoke in lazy mode to load new data.\n * @param {MultiSelectLazyLoadEvent} event - Lazy load event.\n * @group Emits\n */\n @Output() onLazyLoad: EventEmitter<MultiSelectLazyLoadEvent> = new EventEmitter<MultiSelectLazyLoadEvent>();\n /**\n * Callback to invoke in lazy mode to load new data.\n * @param {MultiSelectRemoveEvent} event - Remove event.\n * @group Emits\n */\n @Output() onRemove: EventEmitter<MultiSelectRemoveEvent> = new EventEmitter<MultiSelectRemoveEvent>();\n /**\n * Callback to invoke when all data is selected.\n * @param {MultiSelectSelectAllChangeEvent} event - Custom select event.\n * @group Emits\n */\n @Output() onSelectAllChange: EventEmitter<MultiSelectSelectAllChangeEvent> = new EventEmitter<MultiSelectSelectAllChangeEvent>();\n\n @ViewChild('container') containerViewChild: Nullable<ElementRef>;\n\n @ViewChild('overlay') overlayViewChild: Nullable<Overlay>;\n\n @ViewChild('filterInput') filterInputChild: Nullable<ElementRef>;\n\n @ViewChild('focusInput') focusInputViewChild: Nullable<ElementRef>;\n\n @ViewChild('items') itemsViewChild: Nullable<ElementRef>;\n\n @ViewChild('scroller') scroller: Nullable<Scroller>;\n\n @ViewChild('lastHiddenFocusableEl') lastHiddenFocusableElementOnOverlay: Nullable<ElementRef>;\n\n @ViewChild('firstHiddenFocusableEl') firstHiddenFocusableElementOnOverlay: Nullable<ElementRef>;\n\n @ViewChild('headerCheckbox') headerCheckboxViewChild: Nullable<ElementRef>;\n\n @ContentChild(Footer) footerFacet: any;\n\n @ContentChild(Header) headerFacet: any;\n\n @ContentChildren(CaxTemplate) templates: Nullable<QueryList<CaxTemplate>>;\n\n searchValue: Nullable<string>;\n\n searchTimeout: any;\n\n _selectAll: boolean | undefined | null = null;\n\n _autoZIndex: boolean | undefined;\n\n _baseZIndex: number | undefined;\n\n _showTransitionOptions: string | undefined;\n\n _hideTransitionOptions: string | undefined;\n\n _defaultLabel: string | undefined;\n\n _placeholder = signal<string | undefined>(undefined);\n\n _itemSize: number | undefined;\n\n _selectionLimit: number | undefined;\n\n _disableTooltip = false;\n\n value: any[];\n\n public _filteredOptions: any[] | undefined | null;\n\n public onModelChange: Function = () => {};\n\n public onModelTouched: Function = () => {};\n\n public valuesAsString: string | undefined;\n\n public focus: boolean | undefined;\n\n public filtered: boolean | undefined;\n\n public itemTemplate: TemplateRef<any> | undefined;\n\n public groupTemplate: TemplateRef<any> | undefined;\n\n public loaderTemplate: TemplateRef<any> | undefined;\n\n public headerTemplate: TemplateRef<any> | undefined;\n\n public filterTemplate: TemplateRef<any> | undefined;\n\n public footerTemplate: TemplateRef<any> | undefined;\n\n public emptyFilterTemplate: TemplateRef<any> | undefined;\n\n public emptyTemplate: TemplateRef<any> | undefined;\n\n public selectedItemsTemplate: TemplateRef<any> | undefined;\n\n checkIconTemplate: TemplateRef<any> | undefined;\n\n loadingIconTemplate: TemplateRef<any> | undefined;\n\n filterIconTemplate: TemplateRef<any> | undefined;\n\n removeTokenIconTemplate: TemplateRef<any> | undefined;\n\n closeIconTemplate: TemplateRef<any> | undefined;\n\n clearIconTemplate: TemplateRef<any> | undefined;\n\n dropdownIconTemplate: TemplateRef<any> | undefined;\n\n itemCheckboxIconTemplate: TemplateRef<any> | undefined;\n\n headerCheckboxIconTemplate: TemplateRef<any> | undefined;\n\n public headerCheckboxFocus: boolean | undefined;\n\n filterOptions: MultiSelectFilterOptions | undefined;\n\n preventModelTouched: boolean | undefined;\n\n preventDocumentDefault: boolean | undefined;\n\n focused: boolean = false;\n\n itemsWrapper: any;\n\n _displaySelectedLabel: boolean = true;\n\n _maxSelectedLabels: number = 3;\n\n modelValue = signal<any>(null);\n\n _filterValue = signal<any>(null);\n\n _options = signal<any[]>(null);\n\n startRangeIndex = signal<number>(-1);\n\n focusedOptionIndex = signal<number>(-1);\n\n selectedOptions: any;\n\n clickInProgress: boolean = false;\n\n isDropdownClicked: boolean = false;\n\n get containerClass() {\n return {\n 'cax-multiselect cax-component cax-inputwrapper': true,\n 'cax-disabled': this.disabled,\n 'cax-multiselect-clearable': this.showClear && !this.disabled,\n 'cax-multiselect-chip': this.display === 'chip',\n 'cax-focus': this.focused,\n 'cax-variant-filled': this.variant === 'filled' || this.config.inputStyle() === 'filled',\n active: this.isDropdownClicked\n };\n }\n\n get inputClass() {\n return {\n 'cax-multiselect-label cax-inputtext': true,\n 'cax-placeholder': (this.placeholder() || this.defaultLabel) && (this.label() === this.placeholder() || this.label() === this.defaultLabel),\n 'cax-multiselect-label-empty': !this.selectedItemsTemplate && (this.label() === 'cax-emptylabel' || this.label().length === 0)\n };\n }\n\n get panelClass() {\n return {\n 'cax-multiselect-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 labelClass() {\n return {\n 'cax-multiselect-label': true,\n 'cax-placeholder': this.label() === this.placeholder() || this.label() === this.defaultLabel,\n 'cax-multiselect-label-empty': !this.placeholder() && !this.defaultLabel && (!this.modelValue() || this.modelValue().length === 0)\n };\n }\n\n get emptyMessageLabel(): string {\n return this.emptyMessage || this.config.getTranslation(TranslationKeys.EMPTY_MESSAGE);\n }\n\n get emptyFilterMessageLabel(): string {\n return this.emptyFilterMessage || this.config.getTranslation(TranslationKeys.EMPTY_FILTER_MESSAGE);\n }\n\n get filled(): boolean {\n if (typeof this.modelValue() === 'string') return !!this.modelValue();\n\n return ObjectUtils.isNotEmpty(this.modelValue());\n }\n\n get isVisibleClearIcon(): boolean | undefined {\n return this.modelValue() != null && this.modelValue() !== '' && ObjectUtils.isNotEmpty(this.modelValue()) && this.showClear && !this.disabled && this.filled;\n }\n\n get toggleAllAriaLabel() {\n return this.config.translation.aria ? this.config.translation.aria[this.allSelected() ? 'selectAll' : 'unselectAll'] : undefined;\n }\n\n get closeAriaLabel() {\n return this.config.translation.aria ? this.config.translation.aria.close : undefined;\n }\n\n get listLabel(): string {\n return this.config.getTranslation(TranslationKeys.ARIA)['listLabel'];\n }\n\n private getAllVisibleAndNonVisibleOptions() {\n return this.group ? this.flatOptions(this.options) : this.options || [];\n }\n\n visibleOptions = computed(() => {\n const options = this.getAllVisibleAndNonVisibleOptions();\n const isArrayOfObjects = ObjectUtils.isArray(options) && ObjectUtils.isObject(options[0]);\n\n if (this._filterValue()) {\n let filteredOptions;\n\n if (isArrayOfObjects) {\n filteredOptions = this.filterService.filter(options, this.searchFields(), this._filterValue(), this.filterMatchMode, this.filterLocale);\n } else {\n filteredOptions = options.filter((option) => option.toString().toLocaleLowerCase().includes(this._filterValue().toLocaleLowerCase()));\n }\n\n if (this.group) {\n const optionGroups = this.options || [];\n const filtered = [];\n\n optionGroups.forEach((group) => {\n const groupChildren = this.getOptionGroupChildren(group);\n const filteredItems = groupChildren.filter((item) => filteredOptions.includes(item));\n\n if (filteredItems.length > 0) filtered.push({ ...group, [typeof this.optionGroupChildren === 'string' ? this.optionGroupChildren : 'items']: [...filteredItems] });\n });\n\n return this.flatOptions(filtered);\n }\n\n return filteredOptions;\n }\n return options;\n });\n\n label = computed(() => {\n let label;\n const modelValue = this.modelValue();\n\n if (modelValue && modelValue.length && this.displaySelectedLabel) {\n if (ObjectUtils.isNotEmpty(this.maxSelectedLabels) && modelValue.length > this.maxSelectedLabels) {\n return this.getSelectedItemsLabel();\n } else {\n label = '';\n\n for (let i = 0; i < modelValue.length; i++) {\n if (i !== 0) {\n label += ', ';\n }\n\n label += this.getLabelByValue(modelValue[i]);\n }\n }\n } else {\n label = this.placeholder() || this.defaultLabel || '';\n }\n return label;\n });\n\n chipSelectedItems = computed(() => {\n return ObjectUtils.isNotEmpty(this.maxSelectedLabels) && this.modelValue() && this.modelValue().length > this.maxSelectedLabels ? this.modelValue().slice(0, this.maxSelectedLabels) : this.modelValue();\n });\n\n constructor(\n public el: ElementRef,\n public renderer: Renderer2,\n public cd: ChangeDetectorRef,\n public zone: NgZone,\n public filterService: FilterService,\n public config: caxConfig,\n public overlayService: OverlayService\n ) {\n effect(() => {\n const modelValue = this.modelValue();\n\n const visibleOptions = this.visibleOptions();\n if (visibleOptions && ObjectUtils.isNotEmpty(visibleOptions)) {\n if (this.optionValue && this.optionLabel && modelValue) {\n this.selectedOptions = visibleOptions.filter((option) => modelValue.includes(option[this.optionLabel]) || modelValue.includes(option[this.optionValue]));\n } else {\n this.selectedOptions = modelValue;\n }\n this.cd.markForCheck();\n }\n });\n }\n\n ngOnInit() {\n this.id = this.id || UniqueComponentId();\n this.autoUpdateModel();\n\n if (this.filterBy) {\n this.filterOptions = {\n filter: (value) => this.onFilterInputChange(value),\n reset: () => this.resetFilter()\n };\n }\n }\n\n maxSelectionLimitReached() {\n return ObjectUtils.isNotEmpty(this.selectionLimit) && this.modelValue() && this.modelValue().length === this.selectionLimit;\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 'selectedItems':\n this.selectedItemsTemplate = item.template;\n break;\n\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'filter':\n this.filterTemplate = item.template;\n break;\n\n case 'emptyfilter':\n this.emptyFilterTemplate = 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 'checkicon':\n this.checkIconTemplate = item.template;\n console.warn('checkicon is deprecated and will removed in v18. Use itemcheckboxicon or headercheckboxicon templates instead.');\n break;\n\n case 'headercheckboxicon':\n this.headerCheckboxIconTemplate = item.template;\n break;\n\n case 'loadingicon':\n this.loadingIconTemplate = item.template;\n break;\n\n case 'filtericon':\n this.filterIconTemplate = item.template;\n break;\n\n case 'removetokenicon':\n this.removeTokenIconTemplate = item.template;\n break;\n\n case 'closeicon':\n this.closeIconTemplate = 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 case 'itemcheckboxicon':\n this.itemCheckboxIconTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n ngAfterViewInit() {\n if (this.overlayVisible) {\n this.show();\n }\n }\n\n ngAfterViewChecked() {\n if (this.filtered) {\n this.zone.runOutsideAngular(() => {\n setTimeout(() => {\n this.overlayViewChild?.alignOverlay();\n }, 1);\n });\n this.filtered = false;\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 autoUpdateModel() {\n if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption()) {\n this.focusedOptionIndex.set(this.findFirstFocusedOptionIndex());\n const value = this.getOptionValue(this.visibleOptions()[this.focusedOptionIndex()]);\n this.onOptionSelect({ originalEvent: null, option: [value] });\n }\n }\n\n /**\n * Updates the model value.\n * @group Method\n */\n public updateModel(value, event?) {\n this.value = value;\n this.onModelChange(value);\n this.modelValue.set(value);\n }\n\n onInputClick(event) {\n event.stopPropagation();\n event.preventDefault();\n this.focusedOptionIndex.set(-1);\n }\n\n onOptionSelect(event, isFocus = false, index = -1) {\n const { originalEvent, option } = event;\n if (this.disabled || this.isOptionDisabled(option)) {\n return;\n }\n\n let selected = this.isSelected(option);\n let value = null;\n if (selected) {\n value = this.modelValue().filter((val) => !ObjectUtils.equals(val, this.getOptionValue(option), this.equalityKey()));\n this.onRemove.emit({ newValue: this.value, removed: this.getOptionValue(option) });\n } else {\n value = [...(this.modelValue() || []), this.getOptionValue(option)];\n }\n\n this.updateModel(value, originalEvent);\n index !== -1 && this.focusedOptionIndex.set(index);\n\n isFocus && DomHandler.focus(this.focusInputViewChild?.nativeElement);\n\n this.onChange.emit({\n originalEvent: { ...event, selected: !event.selected },\n value: value,\n itemValue: option\n });\n }\n\n findSelectedOptionIndex() {\n return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;\n }\n\n onOptionSelectRange(event, start = -1, end = -1) {\n start === -1 && (start = this.findNearestSelectedOptionIndex(end, true));\n end === -1 && (end = this.findNearestSelectedOptionIndex(start));\n\n if (start !== -1 && end !== -1) {\n const rangeStart = Math.min(start, end);\n const rangeEnd = Math.max(start, end);\n const value = this.visibleOptions()\n .slice(rangeStart, rangeEnd + 1)\n .filter((option) => this.isValidOption(option))\n .map((option) => this.getOptionValue(option));\n\n this.updateModel(value, event);\n }\n }\n\n searchFields() {\n return (this.filterBy || this.optionLabel || 'label').split(',');\n }\n\n findNearestSelectedOptionIndex(index, firstCheckUp = false) {\n let matchedOptionIndex = -1;\n\n if (this.hasSelectedOption()) {\n if (firstCheckUp) {\n matchedOptionIndex = this.findPrevSelectedOptionIndex(index);\n matchedOptionIndex = matchedOptionIndex === -1 ? this.findNextSelectedOptionIndex(index) : matchedOptionIndex;\n } else {\n matchedOptionIndex = this.findNextSelectedOptionIndex(index);\n matchedOptionIndex = matchedOptionIndex === -1 ? this.findPrevSelectedOptionIndex(index) : matchedOptionIndex;\n }\n }\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n }\n\n findPrevSelectedOptionIndex(index) {\n const matchedOptionIndex = this.hasSelectedOption() && index > 0 ? ObjectUtils.findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidSelectedOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : -1;\n }\n\n findFirstFocusedOptionIndex() {\n const selectedIndex = this.findFirstSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n }\n\n findFirstOptionIndex() {\n return this.visibleOptions().findIndex((option) => this.isValidOption(option));\n }\n\n findFirstSelectedOptionIndex() {\n return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;\n }\n\n findNextSelectedOptionIndex(index) {\n const matchedOptionIndex =\n this.hasSelectedOption() && index < this.visibleOptions().length - 1\n ? this.visibleOptions()\n .slice(index + 1)\n .findIndex((option) => this.isValidSelectedOption(option))\n : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : -1;\n }\n\n equalityKey() {\n return this.optionValue ? null : this.dataKey;\n }\n\n hasSelectedOption() {\n return ObjectUtils.isNotEmpty(this.modelValue());\n }\n\n isSelectionAllDisabled() {\n return this.showToggleAll && ObjectUtils.isEmpty(this.selectionLimit);\n }\n\n isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n }\n\n isOptionGroup(option) {\n return (this.group || this.optionGroupLabel) && option.optionGroup && option.group;\n }\n\n isValidOption(option) {\n return option && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n }\n\n isOptionDisabled(option: any) {\n if (this.maxSelectionLimitReached() && !this.isSelected(option)) {\n return true;\n }\n return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : option && option.disabled !== undefined ? option.disabled : false;\n }\n\n isSelected(option) {\n const optionValue = this.getOptionValue(option);\n return (this.modelValue() || []).some((value) => ObjectUtils.equals(value, optionValue, this.equalityKey()));\n }\n\n isOptionMatched(option) {\n return this.isValidOption(option) && this.getOptionLabel(option).toString().toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale));\n }\n\n isEmpty() {\n return !this._options() || (this.visibleOptions() && this.visibleOptions().length === 0);\n }\n\n getOptionIndex(index, scrollerOptions) {\n return this.virtualScrollerDisabled ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];\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 get ariaSetSize() {\n return this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length;\n }\n\n getLabelByValue(value) {\n const options = this.group ? this.flatOptions(this._options()) : this._options() || [];\n const matchedOption = options.find((option) => !this.isOptionGroup(option) && ObjectUtils.equals(this.getOptionValue(option), value, this.equalityKey()));\n return matchedOption ? this.getOptionLabel(matchedOption) : null;\n }\n\n getSelectedItemsLabel() {\n let pattern = /{(.*?)}/;\n let message = this.selectedItemsLabel ? this.selectedItemsLabel : this.config.getTranslation(TranslationKeys.SELECTION_MESSAGE);\n\n if (pattern.test(message)) {\n return message.replace(message.match(pattern)[0], this.modelValue().length + '');\n }\n\n return message;\n }\n\n getOptionLabel(option: any) {\n return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : option && option.label != undefined ? option.label : option;\n }\n\n getOptionValue(option: any) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : !this.optionLabel && option && option.value !== undefined ? option.value : option;\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 onKeyDown(event: KeyboardEvent) {\n if (this.disabled) {\n event.preventDefault();\n return;\n }\n\n const metaKey = event.metaKey || event.ctrlKey;\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 '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 'Space':\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 'ShiftLeft':\n case 'ShiftRight':\n this.onShiftKey();\n break;\n\n default:\n if (event.code === 'KeyA' && metaKey) {\n const value = this.visibleOptions()\n .filter((option) => this.isValidOption(option))\n .map((option) => this.getOptionValue(option));\n\n this.updateModel(value, event);\n\n event.preventDefault();\n break;\n }\n\n if (!metaKey && ObjectUtils.isPrintableCharacter(event.key)) {\n !this.overlayVisible && this.show();\n this.searchOptions(event, event.key);\n event.preventDefault();\n }\n\n break;\n }\n }\n\n onFilterKeyDown(event: KeyboardEvent) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event, true);\n break;\n\n case 'ArrowLeft':\n case 'ArrowRight':\n this.onArrowLeftKey(event, true);\n break;\n\n case 'Home':\n this.onHomeKey(event, true);\n break;\n\n case 'End':\n this.onEndKey(event, true);\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, true);\n break;\n\n default:\n break;\n }\n }\n\n onArrowLeftKey(event: KeyboardEvent, pressedInInputText: boolean = false) {\n pressedInInputText && this.focusedOptionIndex.set(-1);\n }\n\n onArrowDownKey(event) {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();\n\n if (event.shiftKey) {\n this.onOptionSelectRange(event, this.startRangeIndex(), optionIndex);\n }\n\n this.changeFocusedOptionIndex(event, optionIndex);\n !this.overlayVisible && this.show();\n event.preventDefault();\n event.stopPropagation();\n }\n\n onArrowUpKey(event, pressedInInputText = false) {\n if (event.altKey && !pressedInInputText) {\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 if (event.shiftKey) {\n this.onOptionSelectRange(event, optionIndex, this.startRangeIndex());\n }\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n !this.overlayVisible && this.show();\n event.preventDefault();\n }\n event.stopPropagation();\n }\n\n onHomeKey(event, pressedInInputText = false) {\n const { currentTarget } = event;\n\n if (pressedInInputText) {\n const len = currentTarget.value.length;\n\n currentTarget.setSelectionRange(0, event.shiftKey ? len : 0);\n this.focusedOptionIndex.set(-1);\n } else {\n let metaKey = event.metaKey || event.ctrlKey;\n let optionIndex = this.findFirstOptionIndex();\n\n if (event.shiftKey && metaKey) {\n this.onOptionSelectRange(event, optionIndex, this.startRangeIndex());\n }\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n !this.overlayVisible && this.show();\n }\n\n event.preventDefault();\n }\n\n onEndKey(event, pressedInInputText = false) {\n const { currentTarget } = event;\n\n if (pressedInInputText) {\n const len = currentTarget.value.length;\n currentTarget.setSelectionRange(event.shiftKey ? 0 : len, len);\n this.focusedOptionIndex.set(-1);\n } else {\n let metaKey = event.metaKey || event.ctrlKey;\n let optionIndex = this.findLastFocusedOptionIndex();\n\n if (event.shiftKey && metaKey) {\n this.onOptionSelectRange(event, this.startRangeIndex(), optionIndex);\n }\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n !this.overlayVisible && this.show();\n }\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 if (event.shiftKey) {\n this.onOptionSelectRange(event, this.focusedOptionIndex());\n } else {\n this.onOptionSelect({ originalEvent: event, option: this.visibleOptions()[this.focusedOptionIndex()] });\n }\n }\n }\n\n event.preventDefault();\n }\n\n onEscapeKey(event) {\n this.overlayVisible && this.hide(true);\n event.preventDefault();\n }\n\n onDeleteKey(event: KeyboardEvent) {\n if (this.showClear) {\n this.clear(event);\n event.preventDefault();\n }\n }\n\n onTabKey(event, pressedInInputText = false) {\n if (!pressedInInputText) {\n if (this.overlayVisible && this.hasFocusableElements()) {\n DomHandler.focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay.nativeElement : this.firstHiddenFocusableElementOnOverlay.nativeElement);\n\n event.preventDefault();\n } else {\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect({ originalEvent: event, option: this.visibleOptions()[this.focusedOptionIndex()] });\n }\n\n this.overlayVisible && this.hide(this.filter);\n }\n }\n }\n\n onShiftKey() {\n this.startRangeIndex.set(this.focusedOptionIndex());\n }\n\n onContainerClick(event: any) {\n if (this.disabled || this.loading || this.readonly || (event.target as Node).isSameNode(this.focusInputViewChild?.nativeElement)) {\n return;\n }\n\n if (event.target.tagName === 'INPUT' || event.target.getAttribute('data-pc-section') === 'clearicon' || event.target.closest('[data-pc-section=\"clearicon\"]')) {\n event.preventDefault();\n return;\n } else if (!this.overlayViewChild || !this.overlayViewChild.el.nativeElement.contains(event.target)) {\n if (this.clickInProgress) {\n return;\n }\n\n this.clickInProgress = true;\n\n setTimeout(() => {\n this.clickInProgress = false;\n }, 150);\n\n this.overlayVisible ? this.hide(true) : this.show(true);\n }\n this.focusInputViewChild?.nativeElement.focus({ preventScroll: true });\n this.isDropdownClicked = true;\n this.onClick.emit(event);\n this.cd.detectChanges();\n }\n\n onFirstHiddenFocus(event) {\n const focusableEl =\n event.relatedTarget === this.focusInputViewChild?.nativeElement\n ? DomHandler.getFirstFocusableElement(this.overlayViewChild?.overlayViewChild?.nativeElement, ':not([data-cax-hidden-focusable=\"true\"])')\n : this.focusInputViewChild?.nativeElement;\n\n DomHandler.focus(focusableEl);\n }\n\n onInputFocus(event: Event) {\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({ originalEvent: event });\n }\n\n onInputBlur(event: Event) {\n this.focused = false;\n this.isDropdownClicked = false;\n this.onBlur.emit({ originalEvent: event });\n\n if (!this.preventModelTouched) {\n this.onModelTouched();\n }\n this.preventModelTouched = false;\n }\n\n onFilterInputChange(event: KeyboardEvent) {\n let value: string = (event.target as HTMLInputElement).value;\n this._filterValue.set(value);\n this.focusedOptionIndex.set(-1);\n this.onFilter.emit({ originalEvent: event, filter: this._filterValue() });\n\n !this.virtualScrollerDisabled && this.scroller.scrollToIndex(0);\n setTimeout(() => {\n this.overlayViewChild.alignOverlay();\n });\n }\n\n onLastHiddenFocus(event) {\n const focusableEl =\n event.relatedTarget === this.focusInputViewChild?.nativeElement\n ? DomHandler.getLastFocusableElement(this.overlayViewChild?.overlayViewChild?.nativeElement, ':not([data-cax-hidden-focusable=\"true\"])')\n : this.focusInputViewChild?.nativeElement;\n\n DomHandler.focus(focusableEl);\n }\n\n onOptionMouseEnter(event, index) {\n if (this.focusOnHover) {\n this.changeFocusedOptionIndex(event, index);\n }\n }\n\n onHeaderCheckboxKeyDown(event) {\n if (this.disabled) {\n event.preventDefault();\n\n return;\n }\n\n switch (event.code) {\n case 'Space':\n this.onToggleAll(event);\n break;\n case 'Enter':\n this.onToggleAll(event);\n break;\n default:\n break;\n }\n }\n\n onFilterBlur(event) {\n this.focusedOptionIndex.set(-1);\n }\n\n onHeaderCheckboxFocus() {\n this.headerCheckboxFocus = true;\n }\n\n onHeaderCheckboxBlur() {\n this.headerCheckboxFocus = false;\n }\n\n onToggleAll(event) {\n if (this.disabled || this.readonly) {\n return;\n }\n\n if (this.selectAll != null) {\n this.onSelectAllChange.emit({\n originalEvent: event,\n checked: !this.allSelected()\n });\n } else {\n // pre-selected disabled options should always be selected.\n const selectedDisabledOptions = this.getAllVisibleAndNonVisibleOptions().filter(\n (option) => this.isSelected(option) && (this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : option && option.disabled !== undefined ? option.disabled : false)\n );\n\n const visibleOptions = this.allSelected()\n ? this.visibleOptions().filter((option) => !this.isValidOption(option) && this.isSelected(option))\n : this.visibleOptions().filter((option) => this.isSelected(option) || this.isValidOption(option));\n\n const optionValues = [...selectedDisabledOptions, ...visibleOptions].map((option) => this.getOptionValue(option));\n const value = [...new Set(optionValues)];\n\n this.updateModel(value, event);\n\n // because onToggleAll could have been called during filtering, this additional test needs to be performed before calling onSelectAllChange.emit\n if (!value.length || value.length === this.getAllVisibleAndNonVisibleOptions().length) {\n this.onSelectAllChange.emit({\n originalEvent: event,\n checked: !!value.length\n });\n }\n }\n\n if (this.partialSelected()) {\n this.selectedOptions = null;\n this.cd.markForCheck();\n }\n\n this.onChange.emit({ originalEvent: event, value: this.value });\n DomHandler.focus(this.headerCheckboxViewChild?.nativeElement);\n this.headerCheckboxFocus = true;\n\n event.preventDefault();\n event.stopPropagation();\n }\n\n changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex() !== index) {\n this.focusedOptionIndex.set(index);\n this.scrollInView();\n }\n }\n\n get virtualScrollerDisabled() {\n return !this.virtualScroll;\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 get focusedOptionId() {\n return this.focusedOptionIndex() !== -1 ? `${this.id}_${this.focusedOptionIndex()}` : null;\n }\n\n writeValue(value: any): void {\n this.value = value;\n if (!ObjectUtils.isEmpty(this.selectionLimit) && ObjectUtils.isEmpty(this.value)) {\n this.modelValue.set([]);\n } else {\n this.modelValue.set(this.value);\n }\n\n this.cd.markForCheck();\n }\n\n public registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n public 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 allSelected() {\n return this.selectAll !== null ? this.selectAll : ObjectUtils.isNotEmpty(this.visibleOptions()) && this.visibleOptions().every((option) => this.isOptionGroup(option) || this.isOptionDisabled(option) || this.isSelected(option));\n }\n\n partialSelected() {\n return this.selectedOptions && this.selectedOptions.length > 0 && this.selectedOptions.length < this.options.length;\n }\n\n /**\n * Displays the panel.\n * @group Method\n */\n public show(isFocus?) {\n this.overlayVisible = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n\n if (isFocus) {\n DomHandler.focus(this.focusInputViewChild?.nativeElement);\n }\n\n this.cd.markForCheck();\n }\n\n /**\n * Hides the panel.\n * @group Method\n */\n public hide(isFocus?) {\n this.overlayVisible = false;\n this.focusedOptionIndex.set(-1);\n\n if (this.filter && this.resetFilterOnHide) {\n this.resetFilter();\n }\n if (this.overlayOptions?.mode === 'modal') {\n DomHandler.unblockBodyScroll();\n }\n\n isFocus && DomHandler.focus(this.focusInputViewChild?.nativeElement);\n this.onPanelHide.emit();\n this.cd.markForCheck();\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n switch (event.toState) {\n case 'visible':\n this.itemsWrapper = DomHandler.findSingle(this.overlayViewChild?.overlayViewChild?.nativeElement, this.virtualScroll ? '.cax-scroller' : '.cax-multiselect-items-wrapper');\n this.virtualScroll && this.scroller?.setContentEl(this.itemsViewChild?.nativeElement);\n\n if (this._options() && this._options().length) {\n if (this.virtualScroll) {\n const selectedIndex = ObjectUtils.isNotEmpty(this.modelValue()) ? this.focusedOptionIndex() : -1;\n if (selectedIndex !== -1) {\n this.scroller?.scrollToIndex(selectedIndex);\n }\n } else {\n let selectedListItem = DomHandler.findSingle(this.itemsWrapper, '[data-cax-highlight=\"true\"]');\n\n if (selectedListItem) {\n selectedListItem.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n }\n }\n\n if (this.filterInputChild && this.filterInputChild.nativeElement) {\n this.preventModelTouched = true;\n\n if (this.autofocusFilter) {\n this.filterInputChild.nativeElement.focus();\n }\n }\n\n this.onPanelShow.emit();\n case 'void':\n this.itemsWrapper = null;\n this.onModelTouched();\n break;\n }\n }\n\n resetFilter() {\n if (this.filterInputChild && this.filterInputChild.nativeElement) {\n this.filterInputChild.nativeElement.value = '';\n }\n\n this._filterValue.set(null);\n this._filteredOptions = null;\n }\n\n close(event: Event) {\n this.hide();\n event.preventDefault();\n event.stopPropagation();\n }\n\n clear(event: Event) {\n this.value = null;\n this.updateModel(null, event);\n this.selectedOptions = null;\n this.onClear.emit();\n this._disableTooltip = true;\n\n event.stopPropagation();\n }\n\n labelContainerMouseLeave() {\n if (this._disableTooltip) this._disableTooltip = false;\n }\n\n removeOption(optionValue, event) {\n let value = this.modelValue().filter((val) => !ObjectUtils.equals(val, optionValue, this.equalityKey()));\n\n this.updateModel(value, event);\n this.onChange.emit({\n originalEvent: event,\n value: value,\n itemValue: optionValue\n });\n\n event && event.stopPropagation();\n }\n\n findNextItem(item: any): HTMLElement | null {\n let nextItem = item.nextElementSibling;\n\n if (nextItem) return DomHandler.hasClass(nextItem.children[0], 'cax-disabled') || DomHandler.isHidden(nextItem.children[0]) || DomHandler.hasClass(nextItem, 'cax-multiselect-item-group') ? this.findNextItem(nextItem) : nextItem.children[0];\n else return null;\n }\n\n findPrevItem(item: any): HTMLElement | null {\n let prevItem = item.previousElementSibling;\n\n if (prevItem) return DomHandler.hasClass(prevItem.children[0], 'cax-disabled') || DomHandler.isHidden(prevItem.children[0]) || DomHandler.hasClass(prevItem, 'cax-multiselect-item-group') ? this.findPrevItem(prevItem) : prevItem.children[0];\n else return null;\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 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 findLastSelectedOptionIndex() {\n return this.hasSelectedOption() ? ObjectUtils.findLastIndex(this.visibleOptions(), (option) => this.isValidSelectedOption(option)) : -1;\n }\n\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findLastSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n }\n\n findLastOptionIndex() {\n return ObjectUtils.findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));\n }\n\n searchOptions(event, char) {\n this.searchValue = (this.searchValue || '') + char;\n\n let optionIndex = -1;\n let matched = false;\n\n if (this.focusedOptionIndex() !== -1) {\n optionIndex = this.visibleOptions()\n .slice(this.focusedOptionIndex())\n .findIndex((option) => this.isOptionMatched(option));\n optionIndex =\n optionIndex === -1\n ? this.visibleOptions()\n .slice(0, this.focusedOptionIndex())\n .findIndex((option) => this.isOptionMatched(option))\n : optionIndex + this.focusedOptionIndex();\n } else {\n optionIndex = this.visibleOptions().findIndex((option) => this.isOptionMatched(option));\n }\n\n if (optionIndex !== -1) {\n matched = true;\n }\n\n if (optionIndex === -1 && this.focusedOptionIndex() === -1) {\n optionIndex = this.findFirstFocusedOptionIndex();\n }\n\n if (optionIndex !== -1) {\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n this.searchTimeout = setTimeout(() => {\n this.searchValue = '';\n this.searchTimeout = null;\n }, 500);\n\n return matched;\n }\n\n activateFilter() {\n if (this.hasFilter() && this._options) {\n if (this.group) {\n let filteredGroups = [];\n for (let optgroup of this.options as any[]) {\n let filteredSubOptions = this.filterService.filter(this.getOptionGroupChildren(optgroup), this.searchFields(), this.filterValue, this.filterMatchMode, this.filterLocale);\n if (filteredSubOptions && filteredSubOptions.length) {\n filteredGroups.push({ ...optgroup, ...{ [this.optionGroupChildren]: filteredSubOptions } });\n }\n }\n\n this._filteredOptions = filteredGroups;\n } else {\n this._filteredOptions = this.filterService.filter(this.options as any[], this.searchFields(), this.filterValue, this.filterMatchMode, this.filterLocale);\n }\n } else {\n this._filteredOptions = null;\n }\n }\n\n hasFocusableElements() {\n return DomHandler.getFocusableElements(this.overlayViewChild.overlayViewChild.nativeElement, ':not([data-cax-hidden-focusable=\"true\"])').length > 0;\n }\n\n hasFilter() {\n return this._filterValue() && this._filterValue().trim().length > 0;\n }\n}\n","<li\r\n caxRipple\r\n role=\"option\"\r\n [ngStyle]=\"{ height: itemSize + 'px' }\"\r\n class=\"cax-multiselect-item\"\r\n [ngClass]=\"{ 'cax-multiselect-item': true, 'cax-disabled': disabled, 'cax-focus': focused }\"\r\n [id]=\"id\"\r\n [attr.aria-label]=\"label\"\r\n [attr.aria-setsize]=\"ariaSetSize\"\r\n [attr.aria-posinset]=\"ariaPosInset\"\r\n [attr.aria-selected]=\"selected\"\r\n [attr.data-cax-focused]=\"focused\"\r\n [attr.data-cax-highlight]=\"selected\"\r\n [attr.data-cax-disabled]=\"disabled\"\r\n [attr.aria-checked]=\"selected\"\r\n (click)=\"onOptionClick($event)\"\r\n (mouseenter)=\"onOptionMouseEnter($event)\"\r\n>\r\n <div class=\"cax-checkbox cax-component\" [ngClass]=\"{ 'cax-variant-filled': config.inputStyle() === 'filled' }\">\r\n <div class=\"cax-checkbox-box\" [ngClass]=\"{ 'cax-highlight': selected }\">\r\n <ng-container *ngIf=\"selected\">\r\n <CheckIcon *ngIf=\"!checkIconTemplate && !itemCheckboxIconTemplate\" [styleClass]=\"'cax-checkbox-icon'\" [attr.aria-hidden]=\"true\" />\r\n <span *ngIf=\"checkIconTemplate\" class=\"cax-checkbox-icon\" [attr.aria-hidden]=\"true\">\r\n <ng-template *ngTemplateOutlet=\"checkIconTemplate\"></ng-template>\r\n </span>\r\n <span *ngIf=\"itemCheckboxIconTemplate\" class=\"cax-checkbox-icon\" [attr.aria-hidden]=\"true\">\r\n <ng-template *ngTemplateOutlet=\"itemCheckboxIconTemplate; context: { $implicit: selected }\"></ng-template>\r\n </span>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <span *ngIf=\"!template\">{{ label ?? 'empty' }}</span>\r\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: option }\"></ng-container>\r\n</li>\r\n","<div class=\"cax-dropdown-container\">\r\n <label *ngIf=\"labelText\" [ngClass]=\"labelTextClass\">{{ labelText }}</label>\r\n <div #container [attr.id]=\"id\" [ngClass]=\"containerClass\" [ngStyle]=\"style\" [class]=\"styleClass\" (click)=\"onContainerClick($event)\">\r\n <div class=\"cax-hidden-accessible\" [attr.data-cax-hidden-accessible]=\"true\">\r\n <input\r\n #focusInput\r\n [caxTooltip]=\"tooltip\"\r\n [tooltipPosition]=\"tooltipPosition\"\r\n [positionStyle]=\"tooltipPositionStyle\"\r\n [tooltipStyleClass]=\"tooltipStyleClass\"\r\n [attr.aria-disabled]=\"disabled\"\r\n [attr.id]=\"inputId\"\r\n role=\"combobox\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-haspopup]=\"'listbox'\"\r\n [attr.aria-expanded]=\"overlayVisible ?? false\"\r\n [attr.aria-controls]=\"overlayVisible ? id + '_list' : null\"\r\n [attr.tabindex]=\"!disabled ? tabindex : -1\"\r\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n [attr.value]=\"label() || 'empty'\"\r\n />\r\n </div>\r\n <div\r\n class=\"cax-multiselect-label-container\"\r\n [caxTooltip]=\"tooltip\"\r\n (mouseleave)=\"labelContainerMouseLeave()\"\r\n [tooltipDisabled]=\"_disableTooltip\"\r\n [tooltipPosition]=\"tooltipPosition\"\r\n [positionStyle]=\"tooltipPositionStyle\"\r\n [tooltipStyleClass]=\"tooltipStyleClass\"\r\n >\r\n <div [ngClass]=\"labelClass\">\r\n <ng-container *ngIf=\"!selectedItemsTemplate\">\r\n <ng-container *ngIf=\"display === 'comma'\">{{ label() || 'empty' }}</ng-container>\r\n <ng-container *ngIf=\"display === 'chip'\">\r\n <div #token *ngFor=\"let item of chipSelectedItems(); let i = index\" class=\"cax-multiselect-token\">\r\n <span class=\"cax-multiselect-token-label\">{{ getLabelByValue(item) }}</span>\r\n <ng-container *ngIf=\"!disabled\">\r\n <TimesCircleIcon\r\n *ngIf=\"!removeTokenIconTemplate\"\r\n [ngClass]=\"{ 'cax-disabled': isOptionDisabled(item) }\"\r\n [styleClass]=\"'cax-multiselect-token-icon'\"\r\n (click)=\"removeOption(item, event)\"\r\n [attr.data-pc-section]=\"'clearicon'\"\r\n [attr.aria-hidden]=\"true\"\r\n />\r\n <span *ngIf=\"removeTokenIconTemplate\" class=\"cax-multiselect-token-icon\" (click)=\"removeOption(item, event)\" [attr.data-pc-section]=\"'clearicon'\" [attr.aria-hidden]=\"true\">\r\n <ng-container *ngTemplateOutlet=\"removeTokenIconTemplate\"></ng-container>\r\n </span>\r\n </ng-container>\r\n </div>\r\n <ng-container *ngIf=\"!modelValue() || modelValue().length === 0\">{{ placeholder() || defaultLabel || 'empty' }}</ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngTemplateOutlet=\"selectedItemsTemplate; context: { $implicit: selectedOptions, removeChip: removeOption.bind(this) }\"></ng-container>\r\n </div>\r\n <ng-container *ngIf=\"isVisibleClearIcon\">\r\n <TimesIcon *ngIf=\"!clearIconTemplate\" [styleClass]=\"'cax-multiselect-clear-icon'\" (click)=\"clear($event)\" [attr.data-pc-section]=\"'clearicon'\" [attr.aria-hidden]=\"true\" />\r\n <span *ngIf=\"clearIconTemplate\" class=\"cax-multiselect-clear-icon\" (click)=\"clear($event)\" [attr.data-pc-section]=\"'clearicon'\" [attr.aria-hidden]=\"true\">\r\n <ng-template *ngTemplateOutlet=\"clearIconTemplate\"></ng-template>\r\n </span>\r\n </ng-container>\r\n </div>\r\n <div class=\"cax-multiselect-trigger\">\r\n <ng-container *ngIf=\"loading; else elseBlock\">\r\n <ng-container *ngIf=\"loadingIconTemplate\">\r\n <ng-container *ngTemplateOutlet=\"loadingIconTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!loadingIconTemplate\">\r\n <span *ngIf=\"loadingIcon\" [ngClass]=\"'cax-multiselect-trigger-icon pi-spin ' + loadingIcon\" aria-hidden=\"true\"></span>\r\n <span *ngIf=\"!loadingIcon\" [class]=\"'cax-multiselect-trigger-icon pi pi-spinner pi-spin'\" aria-hidden=\"true\"></span>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseBlock>\r\n <ng-container *ngIf=\"!dropdownIconTemplate\">\r\n <span *ngIf=\"dropdownIcon\" class=\"cax-multiselect-trigger-icon\" [ngClass]=\"dropdownIcon\" [attr.data-pc-section]=\"'triggericon'\" [attr.aria-hidden]=\"true\"></span>\r\n <!-- <ChevronDownIcon *ngIf=\"!dropdownIcon\" [styleClass]=\"'cax-multiselect-trigger-icon'\" [attr.data-pc-section]=\"'triggericon'\" [attr.aria-hidden]=\"true\" /> -->\r\n <i *ngIf=\"!dropdownIcon\" class=\"cax cax-alt-arrow-down\"></i>\r\n </ng-container>\r\n <span *ngIf=\"dropdownIconTemplate\" class=\"cax-multiselect-trigger-icon\" [attr.data-pc-section]=\"'triggericon'\" [attr.aria-hidden]=\"true\">\r\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate\"></ng-template>\r\n </span>\r\n </ng-template>\r\n </div>\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 [autoZIndex]=\"autoZIndex\"\r\n [baseZIndex]=\"baseZIndex\"\r\n [showTransitionOptions]=\"showTransitionOptions\"\r\n [hideTransitionOptions]=\"hideTransitionOptions\"\r\n (onAnimationStart)=\"onOverlayAnimationStart($event)\"\r\n (onHide)=\"hide()\"\r\n >\r\n <ng-template caxTemplate=\"content\">\r\n <div [attr.id]=\"id + '_list'\" [ngClass]=\"'cax-multiselect-panel cax-component'\" [ngStyle]=\"panelStyle\" [class]=\"panelStyleClass\">\r\n <span\r\n #firstHiddenFocusableEl\r\n role=\"presentation\"\r\n class=\"cax-hidden-accessible cax-hidden-focusable\"\r\n [attr.tabindex]=\"0\"\r\n (focus)=\"onFirstHiddenFocus($event)\"\r\n [attr.data-cax-hidden-accessible]=\"true\"\r\n [attr.data-cax-hidden-focusable]=\"true\"\r\n >\r\n </span>\r\n <div class=\"cax-multiselect-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"cax-header\"></ng-content>\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n <ng-container *ngIf=\"filterTemplate; else builtInFilterElement\">\r\n <ng-container *ngTemplateOutlet=\"filterTemplate; context: { options: filterOptions }\"></ng-container>\r\n </ng-container>\r\n <ng-template #builtInFilterElement>\r\n <div class=\"cax-multiselect-filter-container\" *ngIf=\"filter\">\r\n <input\r\n #filterInput\r\n type=\"text\"\r\n role=\"searchbox\"\r\n [attr.autocomplete]=\"autocomplete\"\r\n [attr.placeholder]=\"filterPlaceHolder\"\r\n role=\"searchbox\"\r\n [attr.aria-owns]=\"id + '_list'\"\r\n [attr.aria-activedescendant]=\"focusedOptionId\"\r\n [value]=\"_filterValue() || ''\"\r\n (input)=\"onFilterInputChange($event)\"\r\n (keydown)=\"onFilterKeyDown($event)\"\r\n (click)=\"onInputClick($event)\"\r\n (blur)=\"onFilterBlur($event)\"\r\n class=\"cax-multiselect-filter cax-inputtext cax-component\"\r\n [disabled]=\"disabled\"\r\n [attr.placeholder]=\"filterPlaceHolder\"\r\n [attr.aria-label]=\"ariaFilterLabel\"\r\n />\r\n <SearchIcon [styleClass]=\"'cax-multiselect-filter-icon'\" *ngIf=\"!filterIconTemplate\" />\r\n <span *ngIf=\"filterIconTemplate\" class=\"cax-multiselect-filter-icon\">\r\n <ng-template *ngTemplateOutlet=\"filterIconTemplate\"></ng-template>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div class=\"cax-multiselect-items-wrapper\" [ngStyle]=\"{ 'max-height': virtualScroll ? 'auto' : scrollHeight || 'auto' }\">\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 [tabindex]=\"-1\"\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-multiselect-items cax-component\" [ngClass]=\"scrollerOptions.contentStyleClass\" [ngStyle]=\"scrollerOptions.contentStyle\" role=\"listbox\" aria-multiselectable=\"true\" [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-multiselect-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 <cax-multiSelectItem\r\n [id]=\"id + '_' + getOptionIndex(i, scrollerOptions)\"\r\n [option]=\"option\"\r\n [selected]=\"isSelected(option)\"\r\n [label]=\"getOptionLabel(option)\"\r\n [disabled]=\"isOptionDisabled(option)\"\r\n [template]=\"itemTemplate\"\r\n [checkIconTemplate]=\"checkIconTemplate\"\r\n [itemCheckboxIconTemplate]=\"itemCheckboxIconTemplate\"\r\n [itemSize]=\"scrollerOptions.itemSize\"\r\n [focused]=\"focusedOptionIndex() === getOptionIndex(i, scrollerOptions)\"\r\n [ariaPosInset]=\"getAriaPosInset(getOptionIndex(i, scrollerOptions))\"\r\n [ariaSetSize]=\"ariaSetSize\"\r\n (onClick)=\"onOptionSelect($event, false, getOptionIndex(i, scrollerOptions))\"\r\n (onMouseEnter)=\"onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))\"\r\n ></cax-multiSelectItem>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <li *ngIf=\"hasFilter() && isEmpty()\" class=\"cax-multiselect-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\r\n <ng-container *ngIf=\"!emptyFilterTemplate && !emptyTemplate; else emptyFilter\"> {{ emptyFilterMessageLabel }} </ng-container>\r\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate || emptyTemplate\"></ng-container>\r\n </li>\r\n <li *ngIf=\"!hasFilter() && isEmpty()\" class=\"cax-multiselect-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\r\n <ng-container *ngIf=\"!emptyTemplate; else empty\"> {{ emptyMessageLabel }} </ng-container>\r\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n </div>\r\n <div class=\"cax-multiselect-footer\" *ngIf=\"footerFacet || footerTemplate\">\r\n <ng-content select=\"cax-footer\"></ng-content>\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n\r\n <span\r\n #lastHiddenFocusableEl\r\n role=\"presentation\"\r\n class=\"cax-hidden-accessible cax-hidden-focusable\"\r\n [attr.tabindex]=\"0\"\r\n (focus)=\"onLastHiddenFocus($event)\"\r\n [attr.data-cax-hidden-accessible]=\"true\"\r\n [attr.data-cax-hidden-focusable]=\"true\"\r\n ></span>\r\n </div>\r\n </ng-template>\r\n </cax-overlay>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from 'cax-design-system/api';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\nimport { CheckIcon } from 'cax-design-system/icons/check';\nimport { ChevronDownIcon } from 'cax-design-system/icons/chevrondown';\nimport { MinusIcon } from 'cax-design-system/icons/minus';\nimport { SearchIcon } from 'cax-design-system/icons/search';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { TimesCircleIcon } from 'cax-design-system/icons/timescircle';\nimport { OverlayModule } from 'cax-design-system/overlay';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { ScrollerModule } from 'cax-design-system/scroller';\nimport { TooltipModule } from 'cax-design-system/tooltip';\nimport { MultiSelect, MultiSelectItem } from './multiselect';\n\n@NgModule({\n imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule, CheckIcon, SearchIcon, TimesCircleIcon, TimesIcon, ChevronDownIcon, CheckIcon, MinusIcon],\n exports: [MultiSelect, OverlayModule, SharedModule, ScrollerModule],\n declarations: [MultiSelect, MultiSelectItem]\n})\nexport class MultiSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCa,MAAA,0BAA0B,GAAQ;AAC3C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,WAAW,CAAC;AAC1C,IAAA,KAAK,EAAE,IAAI;EACb;MAUW,eAAe,CAAA;AA6BL,IAAA,MAAA,CAAA;AA5BV,IAAA,EAAE,CAAqB;AAEvB,IAAA,MAAM,CAAM;AAEmB,IAAA,QAAQ,CAAsB;AAE7D,IAAA,KAAK,CAAqB;AAEK,IAAA,QAAQ,CAAsB;AAE/B,IAAA,QAAQ,CAAqB;AAE5B,IAAA,OAAO,CAAsB;AAE5D,IAAA,YAAY,CAAqB;AAEjC,IAAA,WAAW,CAAqB;AAEhC,IAAA,QAAQ,CAA+B;AAEvC,IAAA,iBAAiB,CAA+B;AAEhD,IAAA,wBAAwB,CAA+B;AAEtD,IAAA,OAAO,GAAsB,IAAI,YAAY,EAAE,CAAC;AAEhD,IAAA,YAAY,GAAsB,IAAI,YAAY,EAAE,CAAC;AAE/D,IAAA,WAAA,CAAmB,MAAiB,EAAA;QAAjB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;KAAI;AAExC,IAAA,aAAa,CAAC,KAAY,EAAA;AACtB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AACd,YAAA,aAAa,EAAE,KAAK;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AAC1B,SAAA,CAAC,CAAC;QACH,KAAK,CAAC,eAAe,EAAE,CAAC;KAC3B;AAED,IAAA,kBAAkB,CAAC,KAAY,EAAA;AAC3B,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACnB,YAAA,aAAa,EAAE,KAAK;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AAC1B,SAAA,CAAC,CAAC;KACN;uGA9CQ,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAAf,eAAe,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAKJ,gBAAgB,CAIhB,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,gBAAgB,sCAEhB,eAAe,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAEf,gBAAgB,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClExC,uzDAkCA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDmBa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAR3B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAEhB,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAC/B,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,aAAa;AACvB,qBAAA,EAAA,QAAA,EAAA,uzDAAA,EAAA,CAAA;8EAGQ,EAAE,EAAA,CAAA;sBAAV,KAAK;gBAEG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAEkC,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAE7B,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEkC,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAEC,QAAQ,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAA;gBAEG,OAAO,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAE7B,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAEG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAEG,wBAAwB,EAAA,CAAA;sBAAhC,KAAK;gBAEI,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBAEG,YAAY,EAAA,CAAA;sBAArB,MAAM;;AAqBX;;;AAGG;MAcU,WAAW,CAAA;AA8uBT,IAAA,EAAA,CAAA;AACA,IAAA,QAAA,CAAA;AACA,IAAA,EAAA,CAAA;AACA,IAAA,IAAA,CAAA;AACA,IAAA,aAAA,CAAA;AACA,IAAA,MAAA,CAAA;AACA,IAAA,cAAA,CAAA;AAnvBF,IAAA,SAAS,CAAqB;IACvC,cAAc,GAAG,cAAc,CAAC;AAChC;;;AAGG;AACM,IAAA,EAAE,CAAqB;AAChC;;;AAGG;AACM,IAAA,SAAS,CAAqB;AACvC;;;AAGG;AACM,IAAA,KAAK,CAA8C;AAC5D;;;AAGG;AACM,IAAA,UAAU,CAAqB;AACxC;;;AAGG;AACM,IAAA,UAAU,CAAM;AACzB;;;AAGG;AACM,IAAA,eAAe,CAAqB;AAC7C;;;AAGG;AACM,IAAA,OAAO,CAAqB;AACrC;;;AAGG;AACqC,IAAA,QAAQ,CAAsB;AACtE;;;AAGG;AACqC,IAAA,QAAQ,CAAsB;AACtE;;;AAGG;AACqC,IAAA,KAAK,CAAsB;AACnE;;;AAGG;IACqC,MAAM,GAAY,IAAI,CAAC;AAC/D;;;AAGG;AACM,IAAA,iBAAiB,CAAqB;AAC/C;;;AAGG;AACM,IAAA,YAAY,CAAqB;AAC1C;;;AAGG;AACqC,IAAA,cAAc,CAAsB;AAC5E;;;AAGG;IACoC,QAAQ,GAAuB,CAAC,CAAC;AACxE;;;AAGG;IACM,OAAO,GAA0B,UAAU,CAAC;AACrD;;;AAGG;AACM,IAAA,QAAQ,CAAgF;AACjG;;;AAGG;AACM,IAAA,OAAO,CAAqB;AACrC;;;AAGG;AACM,IAAA,IAAI,CAAqB;AAClC;;;AAGG;AACM,IAAA,cAAc,CAAqB;AAC5C;;;;AAIG;IACH,IAAa,oBAAoB,CAAC,GAAY,EAAA;AAC1C,QAAA,IAAI,CAAC,qBAAqB,GAAG,GAAG,CAAC;KACpC;AACD,IAAA,IAAI,oBAAoB,GAAA;QACpB,OAAO,IAAI,CAAC,qBAAqB,CAAC;KACrC;AACD;;;;AAIG;IACH,IAAa,iBAAiB,CAAC,GAA8B,EAAA;AACzD,QAAA,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC;KACjC;AACD,IAAA,IAAI,iBAAiB,GAAA;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAClC;AACD;;;AAGG;AACqE,IAAA,cAAc,CAA4B;AAClH;;;AAGG;AACM,IAAA,kBAAkB,CAAqB;AAChD;;;AAGG;IACqC,aAAa,GAAY,IAAI,CAAC;AACtE;;;AAGG;IACM,kBAAkB,GAAW,EAAE,CAAC;AACzC;;;AAGG;IACM,YAAY,GAAW,EAAE,CAAC;AACnC;;;AAGG;IACqC,iBAAiB,GAAY,KAAK,CAAC;AAC3E;;;AAGG;AACM,IAAA,YAAY,CAAqB;AAC1C;;;AAGG;AACM,IAAA,WAAW,CAAqB;AACzC;;;AAGG;AACM,IAAA,WAAW,CAAqB;AACzC;;;AAGG;AACM,IAAA,cAAc,CAAqB;AAC5C;;;AAGG;IACM,gBAAgB,GAAuB,OAAO,CAAC;AACxD;;;AAGG;IACM,mBAAmB,GAAW,OAAO,CAAC;AAC/C;;;AAGG;IACqC,UAAU,GAAY,IAAI,CAAC;AACnE;;;AAGG;AACM,IAAA,QAAQ,CAAqB;AACtC;;;AAGG;IACM,YAAY,GAAW,OAAO,CAAC;AACxC;;;AAGG;IACqC,IAAI,GAAY,KAAK,CAAC;AAC9D;;;AAGG;AACqC,IAAA,aAAa,CAAsB;AAC3E;;;AAGG;IACqC,OAAO,GAAwB,KAAK,CAAC;AAC7E;;;AAGG;AACoC,IAAA,qBAAqB,CAAqB;AACjF;;;AAGG;AACM,IAAA,WAAW,CAAqB;AACzC;;;AAGG;AACM,IAAA,oBAAoB,CAA8B;AAC3D;;;AAGG;AACM,IAAA,cAAc,CAA6B;AACpD;;;AAGG;AACM,IAAA,eAAe,CAAqB;AAC7C;;;AAGG;IACM,eAAe,GAAyG,UAAU,CAAC;AAC5I;;;AAGG;IACM,OAAO,GAAW,EAAE,CAAC;AAC9B;;;AAGG;IACM,eAAe,GAAwC,OAAO,CAAC;AACxE;;;AAGG;IACM,oBAAoB,GAAW,UAAU,CAAC;AACnD;;;AAGG;AACM,IAAA,iBAAiB,CAAqB;AAC/C;;;AAGG;IACqC,eAAe,GAAY,IAAI,CAAC;AACxE;;;AAGG;IACM,OAAO,GAA8B,OAAO,CAAC;AACtD;;;AAGG;IACM,YAAY,GAAW,KAAK,CAAC;AACtC;;;AAGG;IACqC,SAAS,GAAY,KAAK,CAAC;AACnE;;;AAGG;AACqC,IAAA,SAAS,CAAsB;AACvE;;;;AAIG;AACH,IAAA,IAAa,UAAU,GAAA;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;IACD,IAAI,UAAU,CAAC,GAAwB,EAAA;AACnC,QAAA,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;AACvB,QAAA,OAAO,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;KAC7G;AACD;;;;AAIG;AACH,IAAA,IAAa,UAAU,GAAA;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;IACD,IAAI,UAAU,CAAC,GAAuB,EAAA;AAClC,QAAA,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;AACvB,QAAA,OAAO,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;KAC7G;AACD;;;;AAIG;AACH,IAAA,IAAa,qBAAqB,GAAA;QAC9B,OAAO,IAAI,CAAC,sBAAsB,CAAC;KACtC;IACD,IAAI,qBAAqB,CAAC,GAAuB,EAAA;AAC7C,QAAA,IAAI,CAAC,sBAAsB,GAAG,GAAG,CAAC;AAClC,QAAA,OAAO,CAAC,IAAI,CAAC,sGAAsG,CAAC,CAAC;KACxH;AACD;;;;AAIG;AACH,IAAA,IAAa,qBAAqB,GAAA;QAC9B,OAAO,IAAI,CAAC,sBAAsB,CAAC;KACtC;IACD,IAAI,qBAAqB,CAAC,GAAuB,EAAA;AAC7C,QAAA,IAAI,CAAC,sBAAsB,GAAG,GAAG,CAAC;AAClC,QAAA,OAAO,CAAC,IAAI,CAAC,sGAAsG,CAAC,CAAC;KACxH;AACD;;;;AAIG;IACH,IAAa,YAAY,CAAC,GAAuB,EAAA;AAC7C,QAAA,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;AACzB,QAAA,OAAO,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;KAC7F;AACD,IAAA,IAAI,YAAY,GAAA;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC;KAC7B;AACD;;;AAGG;IACH,IAAa,WAAW,CAAC,GAAuB,EAAA;AAC5C,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAC9B;AACD,IAAA,IAAI,WAAW,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;KACzC;AACD;;;AAGG;AACH,IAAA,IAAa,OAAO,GAAA;AAChB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AAChC,QAAA,OAAO,OAAO,CAAC;KAClB;IACD,IAAI,OAAO,CAAC,GAAsB,EAAA;AAC9B,QAAA,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,EAAE;AAC/C,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SAC1B;KACJ;AACD;;;AAGG;AACH,IAAA,IAAa,WAAW,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;KAC9B;IACD,IAAI,WAAW,CAAC,GAA8B,EAAA;AAC1C,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAC9B;AACD;;;;AAIG;AACH,IAAA,IAAa,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IACD,IAAI,QAAQ,CAAC,GAAuB,EAAA;AAChC,QAAA,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;AACrB,QAAA,OAAO,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAC;KACpG;AACD;;;AAGG;AACH,IAAA,IAAa,SAAS,GAAA;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;IACD,IAAI,SAAS,CAAC,KAAiC,EAAA;AAC3C,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KAC3B;AACD;;;AAGG;IACqC,YAAY,GAAY,KAAK,CAAC;AACtE;;;AAGG;AACM,IAAA,YAAY,CAAoB;AACzC;;;AAGG;IACqC,aAAa,GAAY,KAAK,CAAC;AACvE;;;AAGG;IACqC,eAAe,GAAY,IAAI,CAAC;AACxE;;;;AAIG;AACO,IAAA,QAAQ,GAAyC,IAAI,YAAY,EAA0B,CAAC;AACtG;;;;AAIG;AACO,IAAA,QAAQ,GAAyC,IAAI,YAAY,EAA0B,CAAC;AACtG;;;;AAIG;AACO,IAAA,OAAO,GAAwC,IAAI,YAAY,EAAyB,CAAC;AACnG;;;;AAIG;AACO,IAAA,MAAM,GAAuC,IAAI,YAAY,EAAwB,CAAC;AAChG;;;;AAIG;AACO,IAAA,OAAO,GAAwB,IAAI,YAAY,EAAS,CAAC;AACnE;;;AAGG;AACO,IAAA,OAAO,GAAuB,IAAI,YAAY,EAAQ,CAAC;AACjE;;;AAGG;AACO,IAAA,WAAW,GAAuB,IAAI,YAAY,EAAQ,CAAC;AACrE;;;AAGG;AACO,IAAA,WAAW,GAAuB,IAAI,YAAY,EAAQ,CAAC;AACrE;;;;AAIG;AACO,IAAA,UAAU,GAA2C,IAAI,YAAY,EAA4B,CAAC;AAC5G;;;;AAIG;AACO,IAAA,QAAQ,GAAyC,IAAI,YAAY,EAA0B,CAAC;AACtG;;;;AAIG;AACO,IAAA,iBAAiB,GAAkD,IAAI,YAAY,EAAmC,CAAC;AAEzG,IAAA,kBAAkB,CAAuB;AAE3C,IAAA,gBAAgB,CAAoB;AAEhC,IAAA,gBAAgB,CAAuB;AAExC,IAAA,mBAAmB,CAAuB;AAE/C,IAAA,cAAc,CAAuB;AAElC,IAAA,QAAQ,CAAqB;AAEhB,IAAA,mCAAmC,CAAuB;AAEzD,IAAA,oCAAoC,CAAuB;AAEnE,IAAA,uBAAuB,CAAuB;AAErD,IAAA,WAAW,CAAM;AAEjB,IAAA,WAAW,CAAM;AAET,IAAA,SAAS,CAAmC;AAE1E,IAAA,WAAW,CAAmB;AAE9B,IAAA,aAAa,CAAM;IAEnB,UAAU,GAA+B,IAAI,CAAC;AAE9C,IAAA,WAAW,CAAsB;AAEjC,IAAA,WAAW,CAAqB;AAEhC,IAAA,sBAAsB,CAAqB;AAE3C,IAAA,sBAAsB,CAAqB;AAE3C,IAAA,aAAa,CAAqB;AAElC,IAAA,YAAY,GAAG,MAAM,CAAqB,SAAS,CAAC,CAAC;AAErD,IAAA,SAAS,CAAqB;AAE9B,IAAA,eAAe,CAAqB;IAEpC,eAAe,GAAG,KAAK,CAAC;AAExB,IAAA,KAAK,CAAQ;AAEN,IAAA,gBAAgB,CAA2B;AAE3C,IAAA,aAAa,GAAa,MAAK,GAAG,CAAC;AAEnC,IAAA,cAAc,GAAa,MAAK,GAAG,CAAC;AAEpC,IAAA,cAAc,CAAqB;AAEnC,IAAA,KAAK,CAAsB;AAE3B,IAAA,QAAQ,CAAsB;AAE9B,IAAA,YAAY,CAA+B;AAE3C,IAAA,aAAa,CAA+B;AAE5C,IAAA,cAAc,CAA+B;AAE7C,IAAA,cAAc,CAA+B;AAE7C,IAAA,cAAc,CAA+B;AAE7C,IAAA,cAAc,CAA+B;AAE7C,IAAA,mBAAmB,CAA+B;AAElD,IAAA,aAAa,CAA+B;AAE5C,IAAA,qBAAqB,CAA+B;AAE3D,IAAA,iBAAiB,CAA+B;AAEhD,IAAA,mBAAmB,CAA+B;AAElD,IAAA,kBAAkB,CAA+B;AAEjD,IAAA,uBAAuB,CAA+B;AAEtD,IAAA,iBAAiB,CAA+B;AAEhD,IAAA,iBAAiB,CAA+B;AAEhD,IAAA,oBAAoB,CAA+B;AAEnD,IAAA,wBAAwB,CAA+B;AAEvD,IAAA,0BAA0B,CAA+B;AAElD,IAAA,mBAAmB,CAAsB;AAEhD,IAAA,aAAa,CAAuC;AAEpD,IAAA,mBAAmB,CAAsB;AAEzC,IAAA,sBAAsB,CAAsB;IAE5C,OAAO,GAAY,KAAK,CAAC;AAEzB,IAAA,YAAY,CAAM;IAElB,qBAAqB,GAAY,IAAI,CAAC;IAEtC,kBAAkB,GAAW,CAAC,CAAC;AAE/B,IAAA,UAAU,GAAG,MAAM,CAAM,IAAI,CAAC,CAAC;AAE/B,IAAA,YAAY,GAAG,MAAM,CAAM,IAAI,CAAC,CAAC;AAEjC,IAAA,QAAQ,GAAG,MAAM,CAAQ,IAAI,CAAC,CAAC;AAE/B,IAAA,eAAe,GAAG,MAAM,CAAS,CAAC,CAAC,CAAC,CAAC;AAErC,IAAA,kBAAkB,GAAG,MAAM,CAAS,CAAC,CAAC,CAAC,CAAC;AAExC,IAAA,eAAe,CAAM;IAErB,eAAe,GAAY,KAAK,CAAC;IAEjC,iBAAiB,GAAY,KAAK,CAAC;AAEnC,IAAA,IAAI,cAAc,GAAA;QACd,OAAO;AACH,YAAA,gDAAgD,EAAE,IAAI;YACtD,cAAc,EAAE,IAAI,CAAC,QAAQ;YAC7B,2BAA2B,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ;AAC7D,YAAA,sBAAsB,EAAE,IAAI,CAAC,OAAO,KAAK,MAAM;YAC/C,WAAW,EAAE,IAAI,CAAC,OAAO;AACzB,YAAA,oBAAoB,EAAE,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,QAAQ;YACxF,MAAM,EAAE,IAAI,CAAC,iBAAiB;SACjC,CAAC;KACL;AAED,IAAA,IAAI,UAAU,GAAA;QACV,OAAO;AACH,YAAA,qCAAqC,EAAE,IAAI;AAC3C,YAAA,iBAAiB,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,YAAY,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC;YAC3I,6BAA6B,EAAE,CAAC,IAAI,CAAC,qBAAqB,KAAK,IAAI,CAAC,KAAK,EAAE,KAAK,gBAAgB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;SACjI,CAAC;KACL;AAED,IAAA,IAAI,UAAU,GAAA;QACV,OAAO;AACH,YAAA,qCAAqC,EAAE,IAAI;YAC3C,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,QAAQ;AACzD,YAAA,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK;SACtD,CAAC;KACL;AAED,IAAA,IAAI,UAAU,GAAA;QACV,OAAO;AACH,YAAA,uBAAuB,EAAE,IAAI;AAC7B,YAAA,iBAAiB,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,YAAY;YAC5F,6BAA6B,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;SACrI,CAAC;KACL;AAED,IAAA,IAAI,iBAAiB,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;KACzF;AAED,IAAA,IAAI,uBAAuB,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;KACtG;AAED,IAAA,IAAI,MAAM,GAAA;AACN,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,EAAE,KAAK,QAAQ;AAAE,YAAA,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAEtE,OAAO,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;KACpD;AAED,IAAA,IAAI,kBAAkB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC;KAChK;AAED,IAAA,IAAI,kBAAkB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,WAAW,GAAG,aAAa,CAAC,GAAG,SAAS,CAAC;KACpI;AAED,IAAA,IAAI,cAAc,GAAA;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;KACxF;AAED,IAAA,IAAI,SAAS,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC;KACxE;IAEO,iCAAiC,GAAA;QACrC,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;KAC3E;AAED,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAK;AAC3B,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,iCAAiC,EAAE,CAAC;AACzD,QAAA,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1F,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;AACrB,YAAA,IAAI,eAAe,CAAC;YAEpB,IAAI,gBAAgB,EAAE;gBAClB,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;aAC3I;iBAAM;AACH,gBAAA,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;aACzI;AAED,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACZ,gBAAA,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB,gBAAA,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;oBAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;AACzD,oBAAA,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAErF,oBAAA,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;AAAE,wBAAA,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,OAAO,IAAI,CAAC,mBAAmB,KAAK,QAAQ,GAAG,IAAI,CAAC,mBAAmB,GAAG,OAAO,GAAG,CAAC,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;AACvK,iBAAC,CAAC,CAAC;AAEH,gBAAA,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;aACrC;AAED,YAAA,OAAO,eAAe,CAAC;SAC1B;AACD,QAAA,OAAO,OAAO,CAAC;AACnB,KAAC,CAAC,CAAC;AAEH,IAAA,KAAK,GAAG,QAAQ,CAAC,MAAK;AAClB,QAAA,IAAI,KAAK,CAAC;AACV,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAErC,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC9D,YAAA,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE;AAC9F,gBAAA,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;aACvC;iBAAM;gBACH,KAAK,GAAG,EAAE,CAAC;AAEX,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACxC,oBAAA,IAAI,CAAC,KAAK,CAAC,EAAE;wBACT,KAAK,IAAI,IAAI,CAAC;qBACjB;oBAED,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;iBAChD;aACJ;SACJ;aAAM;YACH,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;SACzD;AACD,QAAA,OAAO,KAAK,CAAC;AACjB,KAAC,CAAC,CAAC;AAEH,IAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAK;QAC9B,OAAO,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;AAC7M,KAAC,CAAC,CAAC;AAEH,IAAA,WAAA,CACW,EAAc,EACd,QAAmB,EACnB,EAAqB,EACrB,IAAY,EACZ,aAA4B,EAC5B,MAAiB,EACjB,cAA8B,EAAA;QAN9B,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACd,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QACnB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;QACrB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;QACZ,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAC5B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;QACjB,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;QAErC,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;AAErC,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YAC7C,IAAI,cAAc,IAAI,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;gBAC1D,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,IAAI,UAAU,EAAE;AACpD,oBAAA,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;iBAC5J;qBAAM;AACH,oBAAA,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;iBACrC;AACD,gBAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;aAC1B;AACL,SAAC,CAAC,CAAC;KACN;IAED,QAAQ,GAAA;QACJ,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,iBAAiB,EAAE,CAAC;QACzC,IAAI,CAAC,eAAe,EAAE,CAAC;AAEvB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,aAAa,GAAG;gBACjB,MAAM,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;AAClD,gBAAA,KAAK,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE;aAClC,CAAC;SACL;KACJ;IAED,wBAAwB,GAAA;QACpB,OAAO,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,cAAc,CAAC;KAC/H;IAED,kBAAkB,GAAA;QACb,IAAI,CAAC,SAAoC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACxD,YAAA,QAAQ,IAAI,CAAC,OAAO,EAAE;AAClB,gBAAA,KAAK,MAAM;AACP,oBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAClC,MAAM;AAEV,gBAAA,KAAK,OAAO;AACR,oBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACnC,MAAM;AAEV,gBAAA,KAAK,eAAe;AAChB,oBAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAC3C,MAAM;AAEV,gBAAA,KAAK,QAAQ;AACT,oBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACpC,MAAM;AAEV,gBAAA,KAAK,QAAQ;AACT,oBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACpC,MAAM;AAEV,gBAAA,KAAK,aAAa;AACd,oBAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACzC,MAAM;AAEV,gBAAA,KAAK,OAAO;AACR,oBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACnC,MAAM;AAEV,gBAAA,KAAK,QAAQ;AACT,oBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACpC,MAAM;AAEV,gBAAA,KAAK,QAAQ;AACT,oBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACpC,MAAM;AAEV,gBAAA,KAAK,WAAW;AACZ,oBAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC;AACvC,oBAAA,OAAO,CAAC,IAAI,CAAC,gHAAgH,CAAC,CAAC;oBAC/H,MAAM;AAEV,gBAAA,KAAK,oBAAoB;AACrB,oBAAA,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAChD,MAAM;AAEV,gBAAA,KAAK,aAAa;AACd,oBAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACzC,MAAM;AAEV,gBAAA,KAAK,YAAY;AACb,oBAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACxC,MAAM;AAEV,gBAAA,KAAK,iBAAiB;AAClB,oBAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAC7C,MAAM;AAEV,gBAAA,KAAK,WAAW;AACZ,oBAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACvC,MAAM;AAEV,gBAAA,KAAK,WAAW;AACZ,oBAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACvC,MAAM;AAEV,gBAAA,KAAK,cAAc;AACf,oBAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAC1C,MAAM;AAEV,gBAAA,KAAK,kBAAkB;AACnB,oBAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAC9C,MAAM;AAEV,gBAAA;AACI,oBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAClC,MAAM;aACb;AACL,SAAC,CAAC,CAAC;KACN;IAED,eAAe,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,IAAI,EAAE,CAAC;SACf;KACJ;IAED,kBAAkB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAK;gBAC7B,UAAU,CAAC,MAAK;AACZ,oBAAA,IAAI,CAAC,gBAAgB,EAAE,YAAY,EAAE,CAAC;iBACzC,EAAE,CAAC,CAAC,CAAC;AACV,aAAC,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACzB;KACJ;AAED,IAAA,WAAW,CAAC,OAAO,EAAA;AACf,QAAA,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,KAAI;AACpD,YAAA,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAEzD,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAEhE,YAAA,mBAAmB,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1E,YAAA,OAAO,MAAM,CAAC;SACjB,EAAE,EAAE,CAAC,CAAC;KACV;IAED,eAAe,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE;YACzE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC;AAChE,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;AACpF,YAAA,IAAI,CAAC,cAAc,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SACjE;KACJ;AAED;;;AAGG;IACI,WAAW,CAAC,KAAK,EAAE,KAAM,EAAA;AAC5B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KAC9B;AAED,IAAA,YAAY,CAAC,KAAK,EAAA;QACd,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACnC;IAED,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,EAAA;AAC7C,QAAA,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QACxC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;YAChD,OAAO;SACV;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,QAAQ,EAAE;AACV,YAAA,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACrH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SACtF;aAAM;AACH,YAAA,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;SACvE;AAED,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AACvC,QAAA,KAAK,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEnD,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;AAErE,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACf,aAAa,EAAE,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE;AACtD,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,SAAS,EAAE,MAAM;AACpB,SAAA,CAAC,CAAC;KACN;IAED,uBAAuB,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;KAC1H;IAED,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,EAAA;AAC3C,QAAA,KAAK,KAAK,CAAC,CAAC,KAAK,KAAK,GAAG,IAAI,CAAC,8BAA8B,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AACzE,QAAA,GAAG,KAAK,CAAC,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAC;QAEjE,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;YAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACtC,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE;AAC9B,iBAAA,KAAK,CAAC,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC;AAC/B,iBAAA,MAAM,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC9C,iBAAA,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAElD,YAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SAClC;KACJ;IAED,YAAY,GAAA;AACR,QAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,IAAI,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;KACpE;AAED,IAAA,8BAA8B,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,EAAA;AACtD,QAAA,IAAI,kBAAkB,GAAG,CAAC,CAAC,CAAC;AAE5B,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE;YAC1B,IAAI,YAAY,EAAE;AACd,gBAAA,kBAAkB,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;AAC7D,gBAAA,kBAAkB,GAAG,kBAAkB,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC;aACjH;iBAAM;AACH,gBAAA,kBAAkB,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;AAC7D,gBAAA,kBAAkB,GAAG,kBAAkB,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC;aACjH;SACJ;AAED,QAAA,OAAO,kBAAkB,GAAG,CAAC,CAAC,GAAG,kBAAkB,GAAG,KAAK,CAAC;KAC/D;AAED,IAAA,2BAA2B,CAAC,KAAK,EAAA;QAC7B,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,KAAK,GAAG,CAAC,GAAG,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAEzL,QAAA,OAAO,kBAAkB,GAAG,CAAC,CAAC,GAAG,kBAAkB,GAAG,CAAC,CAAC,CAAC;KAC5D;IAED,2BAA2B,GAAA;AACvB,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAC;AAE1D,QAAA,OAAO,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,oBAAoB,EAAE,GAAG,aAAa,CAAC;KAC1E;IAED,oBAAoB,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;KAClF;IAED,4BAA4B,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;KAC1H;AAED,IAAA,2BAA2B,CAAC,KAAK,EAAA;AAC7B,QAAA,MAAM,kBAAkB,GACpB,IAAI,CAAC,iBAAiB,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,CAAC;AAChE,cAAE,IAAI,CAAC,cAAc,EAAE;AAChB,iBAAA,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;AAChB,iBAAA,SAAS,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;cAC9D,CAAC,CAAC,CAAC;AAEb,QAAA,OAAO,kBAAkB,GAAG,CAAC,CAAC,GAAG,kBAAkB,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;KACxE;IAED,WAAW,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;KACjD;IAED,iBAAiB,GAAA;QACb,OAAO,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;KACpD;IAED,sBAAsB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,aAAa,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KACzE;AAED,IAAA,qBAAqB,CAAC,MAAM,EAAA;AACxB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;KAChE;AAED,IAAA,aAAa,CAAC,MAAM,EAAA;AAChB,QAAA,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,gBAAgB,KAAK,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,CAAC;KACtF;AAED,IAAA,aAAa,CAAC,MAAM,EAAA;AAChB,QAAA,OAAO,MAAM,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;KACnF;AAED,IAAA,gBAAgB,CAAC,MAAW,EAAA;AACxB,QAAA,IAAI,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AAC7D,YAAA,OAAO,IAAI,CAAC;SACf;AACD,QAAA,OAAO,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,GAAG,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;KAC9J;AAED,IAAA,UAAU,CAAC,MAAM,EAAA;QACb,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAChD,QAAA,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;KAChH;AAED,IAAA,eAAe,CAAC,MAAM,EAAA;AAClB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;KACtL;IAED,OAAO,GAAA;QACH,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;KAC5F;IAED,cAAc,CAAC,KAAK,EAAE,eAAe,EAAA;QACjC,OAAO,IAAI,CAAC,uBAAuB,GAAG,KAAK,GAAG,eAAe,IAAI,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;KACnH;AAED,IAAA,eAAe,CAAC,KAAK,EAAA;AACjB,QAAA,QACI,CAAC,IAAI,CAAC,gBAAgB;AAClB,cAAE,KAAK;gBACL,IAAI,CAAC,cAAc,EAAE;AAChB,qBAAA,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;AACf,qBAAA,MAAM,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;AAC5D,cAAE,KAAK,IAAI,CAAC,EAClB;KACL;AAED,IAAA,IAAI,WAAW,GAAA;QACX,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;KACvF;AAED,IAAA,eAAe,CAAC,KAAK,EAAA;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;AACvF,QAAA,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAC1J,QAAA,OAAO,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;KACpE;IAED,qBAAqB,GAAA;QACjB,IAAI,OAAO,GAAG,SAAS,CAAC;QACxB,IAAI,OAAO,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;AAEhI,QAAA,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACvB,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;SACpF;AAED,QAAA,OAAO,OAAO,CAAC;KAClB;AAED,IAAA,cAAc,CAAC,MAAW,EAAA;AACtB,QAAA,OAAO,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;KAClJ;AAED,IAAA,cAAc,CAAC,MAAW,EAAA;AACtB,QAAA,OAAO,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;KACxK;AAED,IAAA,mBAAmB,CAAC,WAAgB,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,WAAW,CAAC,KAAK,IAAI,SAAS,GAAG,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC;KACrL;AAED,IAAA,sBAAsB,CAAC,WAAgB,EAAA;QACnC,OAAO,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC;KAC7H;AAED,IAAA,SAAS,CAAC,KAAoB,EAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO;SACV;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;AAE/C,QAAA,QAAQ,KAAK,CAAC,IAAI;AACd,YAAA,KAAK,WAAW;AACZ,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAC3B,MAAM;AAEV,YAAA,KAAK,SAAS;AACV,gBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACzB,MAAM;AAEV,YAAA,KAAK,MAAM;AACP,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACtB,MAAM;AAEV,YAAA,KAAK,KAAK;AACN,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACrB,MAAM;AAEV,YAAA,KAAK,UAAU;AACX,gBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC1B,MAAM;AAEV,YAAA,KAAK,QAAQ;AACT,gBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM;AAEV,YAAA,KAAK,OAAO,CAAC;AACb,YAAA,KAAK,OAAO;AACR,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACvB,MAAM;AAEV,YAAA,KAAK,QAAQ;AACT,gBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM;AAEV,YAAA,KAAK,KAAK;AACN,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACrB,MAAM;AAEV,YAAA,KAAK,WAAW,CAAC;AACjB,YAAA,KAAK,YAAY;gBACb,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,MAAM;AAEV,YAAA;gBACI,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,EAAE;AAClC,oBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE;AAC9B,yBAAA,MAAM,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC9C,yBAAA,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAElD,oBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBAE/B,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvB,MAAM;iBACT;AAED,gBAAA,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACzD,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACpC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;oBACrC,KAAK,CAAC,cAAc,EAAE,CAAC;iBAC1B;gBAED,MAAM;SACb;KACJ;AAED,IAAA,eAAe,CAAC,KAAoB,EAAA;AAChC,QAAA,QAAQ,KAAK,CAAC,IAAI;AACd,YAAA,KAAK,WAAW;AACZ,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAC3B,MAAM;AAEV,YAAA,KAAK,SAAS;AACV,gBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC/B,MAAM;AAEV,YAAA,KAAK,WAAW,CAAC;AACjB,YAAA,KAAK,YAAY;AACb,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACjC,MAAM;AAEV,YAAA,KAAK,MAAM;AACP,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC5B,MAAM;AAEV,YAAA,KAAK,KAAK;AACN,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC3B,MAAM;AAEV,YAAA,KAAK,OAAO,CAAC;AACb,YAAA,KAAK,aAAa;AACd,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACvB,MAAM;AAEV,YAAA,KAAK,QAAQ;AACT,gBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM;AAEV,YAAA,KAAK,KAAK;AACN,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC3B,MAAM;AAEV,YAAA;gBACI,MAAM;SACb;KACJ;AAED,IAAA,cAAc,CAAC,KAAoB,EAAE,kBAAA,GAA8B,KAAK,EAAA;QACpE,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACzD;AAED,IAAA,cAAc,CAAC,KAAK,EAAA;AAChB,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;AAEhJ,QAAA,IAAI,KAAK,CAAC,QAAQ,EAAE;AAChB,YAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,WAAW,CAAC,CAAC;SACxE;AAED,QAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAClD,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACpC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;KAC3B;AAED,IAAA,YAAY,CAAC,KAAK,EAAE,kBAAkB,GAAG,KAAK,EAAA;AAC1C,QAAA,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE;YACrC,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,EAAE;AAClC,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;aAChF;AAED,YAAA,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACnC,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;aAAM;AACH,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;AAE/I,YAAA,IAAI,KAAK,CAAC,QAAQ,EAAE;AAChB,gBAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;aACxE;AAED,YAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAElD,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACpC,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;QACD,KAAK,CAAC,eAAe,EAAE,CAAC;KAC3B;AAED,IAAA,SAAS,CAAC,KAAK,EAAE,kBAAkB,GAAG,KAAK,EAAA;AACvC,QAAA,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;QAEhC,IAAI,kBAAkB,EAAE;AACpB,YAAA,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;AAEvC,YAAA,aAAa,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;YAC7D,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACnC;aAAM;YACH,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;AAC7C,YAAA,IAAI,WAAW,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAE9C,YAAA,IAAI,KAAK,CAAC,QAAQ,IAAI,OAAO,EAAE;AAC3B,gBAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;aACxE;AAED,YAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAElD,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;SACvC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;KAC1B;AAED,IAAA,QAAQ,CAAC,KAAK,EAAE,kBAAkB,GAAG,KAAK,EAAA;AACtC,QAAA,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;QAEhC,IAAI,kBAAkB,EAAE;AACpB,YAAA,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;AACvC,YAAA,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/D,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACnC;aAAM;YACH,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;AAC7C,YAAA,IAAI,WAAW,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;AAEpD,YAAA,IAAI,KAAK,CAAC,QAAQ,IAAI,OAAO,EAAE;AAC3B,gBAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,WAAW,CAAC,CAAC;aACxE;AAED,YAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAElD,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;SACvC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;KAC1B;AAED,IAAA,aAAa,CAAC,KAAK,EAAA;AACf,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpD,KAAK,CAAC,cAAc,EAAE,CAAC;KAC1B;AAED,IAAA,WAAW,CAAC,KAAK,EAAA;AACb,QAAA,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACrB,KAAK,CAAC,cAAc,EAAE,CAAC;KAC1B;AAED,IAAA,UAAU,CAAC,KAAK,EAAA;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AACtB,YAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;SAC9B;aAAM;YACH,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,EAAE;AAClC,gBAAA,IAAI,KAAK,CAAC,QAAQ,EAAE;oBAChB,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;iBAC9D;qBAAM;oBACH,IAAI,CAAC,cAAc,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC;iBAC3G;aACJ;SACJ;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;KAC1B;AAED,IAAA,WAAW,CAAC,KAAK,EAAA;QACb,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,KAAK,CAAC,cAAc,EAAE,CAAC;KAC1B;AAED,IAAA,WAAW,CAAC,KAAoB,EAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAClB,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;KACJ;AAED,IAAA,QAAQ,CAAC,KAAK,EAAE,kBAAkB,GAAG,KAAK,EAAA;QACtC,IAAI,CAAC,kBAAkB,EAAE;YACrB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;gBACpD,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,mCAAmC,CAAC,aAAa,GAAG,IAAI,CAAC,oCAAoC,CAAC,aAAa,CAAC,CAAC;gBAEpJ,KAAK,CAAC,cAAc,EAAE,CAAC;aAC1B;iBAAM;gBACH,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,EAAE;oBAClC,IAAI,CAAC,cAAc,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC;iBAC3G;gBAED,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACjD;SACJ;KACJ;IAED,UAAU,GAAA;QACN,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;KACvD;AAED,IAAA,gBAAgB,CAAC,KAAU,EAAA;QACvB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,IAAK,KAAK,CAAC,MAAe,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,EAAE;YAC9H,OAAO;SACV;AAED,QAAA,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,+BAA+B,CAAC,EAAE;YAC3J,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO;SACV;aAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AACjG,YAAA,IAAI,IAAI,CAAC,eAAe,EAAE;gBACtB,OAAO;aACV;AAED,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAE5B,UAAU,CAAC,MAAK;AACZ,gBAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;aAChC,EAAE,GAAG,CAAC,CAAC;YAER,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3D;AACD,QAAA,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;AACvE,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;AAC9B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;KAC3B;AAED,IAAA,kBAAkB,CAAC,KAAK,EAAA;QACpB,MAAM,WAAW,GACb,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,mBAAmB,EAAE,aAAa;AAC3D,cAAE,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,0CAA0C,CAAC;AACzI,cAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC;AAElD,QAAA,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;KACjC;AAED,IAAA,YAAY,CAAC,KAAY,EAAA;AACrB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC,CAAC;AAChL,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAChD,QAAA,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;KAC/C;AAED,IAAA,WAAW,CAAC,KAAY,EAAA;AACpB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;AAE3C,QAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;SACzB;AACD,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;KACpC;AAED,IAAA,mBAAmB,CAAC,KAAoB,EAAA;AACpC,QAAA,IAAI,KAAK,GAAY,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC;AAC7D,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAE1E,QAAA,CAAC,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAChE,UAAU,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;AACzC,SAAC,CAAC,CAAC;KACN;AAED,IAAA,iBAAiB,CAAC,KAAK,EAAA;QACnB,MAAM,WAAW,GACb,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,mBAAmB,EAAE,aAAa;AAC3D,cAAE,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,0CAA0C,CAAC;AACxI,cAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC;AAElD,QAAA,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;KACjC;IAED,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAA;AAC3B,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SAC/C;KACJ;AAED,IAAA,uBAAuB,CAAC,KAAK,EAAA;AACzB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,KAAK,CAAC,cAAc,EAAE,CAAC;YAEvB,OAAO;SACV;AAED,QAAA,QAAQ,KAAK,CAAC,IAAI;AACd,YAAA,KAAK,OAAO;AACR,gBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM;AACV,YAAA,KAAK,OAAO;AACR,gBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM;AACV,YAAA;gBACI,MAAM;SACb;KACJ;AAED,IAAA,YAAY,CAAC,KAAK,EAAA;QACd,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACnC;IAED,qBAAqB,GAAA;AACjB,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;KACnC;IAED,oBAAoB,GAAA;AAChB,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;KACpC;AAED,IAAA,WAAW,CAAC,KAAK,EAAA;QACb,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;YAChC,OAAO;SACV;AAED,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;AACxB,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;AACxB,gBAAA,aAAa,EAAE,KAAK;AACpB,gBAAA,OAAO,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;AAC/B,aAAA,CAAC,CAAC;SACN;aAAM;;AAEH,YAAA,MAAM,uBAAuB,GAAG,IAAI,CAAC,iCAAiC,EAAE,CAAC,MAAM,CAC3E,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,GAAG,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAC/L,CAAC;AAEF,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE;kBACnC,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;kBAChG,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YAEtG,MAAM,YAAY,GAAG,CAAC,GAAG,uBAAuB,EAAE,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;YAClH,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;AAEzC,YAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;;AAG/B,YAAA,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,iCAAiC,EAAE,CAAC,MAAM,EAAE;AACnF,gBAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;AACxB,oBAAA,aAAa,EAAE,KAAK;AACpB,oBAAA,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM;AAC1B,iBAAA,CAAC,CAAC;aACN;SACJ;AAED,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;AACxB,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AAC5B,YAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;SAC1B;AAED,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAChE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC;AAC9D,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAEhC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;KAC3B;IAED,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAA;AACjC,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,KAAK,EAAE;AACrC,YAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,YAAY,EAAE,CAAC;SACvB;KACJ;AAED,IAAA,IAAI,uBAAuB,GAAA;AACvB,QAAA,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;KAC9B;AAED,IAAA,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,EAAA;QACnB,MAAM,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC,GAAG,CAAG,EAAA,IAAI,CAAC,EAAE,CAAA,CAAA,EAAI,KAAK,CAAE,CAAA,GAAG,IAAI,CAAC,eAAe,CAAC;QACvE,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE;AAC1D,YAAA,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAA,OAAA,EAAU,EAAE,CAAA,EAAA,CAAI,CAAC,CAAC;YAC3F,IAAI,OAAO,EAAE;AACT,gBAAA,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;aAC7F;AAAM,iBAAA,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACtC,UAAU,CAAC,MAAK;oBACZ,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;iBACxG,EAAE,CAAC,CAAC,CAAC;aACT;SACJ;KACJ;AAED,IAAA,IAAI,eAAe,GAAA;QACf,OAAO,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,GAAG,CAAG,EAAA,IAAI,CAAC,EAAE,CAAA,CAAA,EAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE,GAAG,IAAI,CAAC;KAC9F;AAED,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC9E,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SAC3B;aAAM;YACH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACnC;AAED,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;KAC1B;AAEM,IAAA,gBAAgB,CAAC,EAAY,EAAA;AAChC,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;KAC3B;AAEM,IAAA,iBAAiB,CAAC,EAAY,EAAA;AACjC,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;KAC5B;AAED,IAAA,gBAAgB,CAAC,GAAY,EAAA;AACzB,QAAA,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;AACpB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;KAC1B;IAED,WAAW,GAAA;QACP,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,GAAG,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;KACtO;IAED,eAAe,GAAA;QACX,OAAO,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;KACvH;AAED;;;AAGG;AACI,IAAA,IAAI,CAAC,OAAQ,EAAA;AAChB,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AAC3B,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC,CAAC;AACzJ,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAEhD,IAAI,OAAO,EAAE;YACT,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;SAC7D;AAED,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;KAC1B;AAED;;;AAGG;AACI,IAAA,IAAI,CAAC,OAAQ,EAAA;AAChB,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACvC,IAAI,CAAC,WAAW,EAAE,CAAC;SACtB;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,KAAK,OAAO,EAAE;YACvC,UAAU,CAAC,iBAAiB,EAAE,CAAC;SAClC;QAED,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;AACrE,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;KAC1B;AAED,IAAA,uBAAuB,CAAC,KAAqB,EAAA;AACzC,QAAA,QAAQ,KAAK,CAAC,OAAO;AACjB,YAAA,KAAK,SAAS;gBACV,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,GAAG,eAAe,GAAG,gCAAgC,CAAC,CAAC;AAC3K,gBAAA,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;AAEtF,gBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE;AAC3C,oBAAA,IAAI,IAAI,CAAC,aAAa,EAAE;wBACpB,MAAM,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC,CAAC;AACjG,wBAAA,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE;AACtB,4BAAA,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;yBAC/C;qBACJ;yBAAM;AACH,wBAAA,IAAI,gBAAgB,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,6BAA6B,CAAC,CAAC;wBAE/F,IAAI,gBAAgB,EAAE;AAClB,4BAAA,gBAAgB,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;yBAC5E;qBACJ;iBACJ;gBAED,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE;AAC9D,oBAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;AAEhC,oBAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACtB,wBAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;qBAC/C;iBACJ;AAED,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;AAC5B,YAAA,KAAK,MAAM;AACP,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,MAAM;SACb;KACJ;IAED,WAAW,GAAA;QACP,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE;YAC9D,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;SAClD;AAED,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;KAChC;AAED,IAAA,KAAK,CAAC,KAAY,EAAA;QACd,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;KAC3B;AAED,IAAA,KAAK,CAAC,KAAY,EAAA;AACd,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAClB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC9B,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AAC5B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AACpB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAE5B,KAAK,CAAC,eAAe,EAAE,CAAC;KAC3B;IAED,wBAAwB,GAAA;QACpB,IAAI,IAAI,CAAC,eAAe;AAAE,YAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;KAC1D;IAED,YAAY,CAAC,WAAW,EAAE,KAAK,EAAA;AAC3B,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAEzG,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC/B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACf,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,SAAS,EAAE,WAAW;AACzB,SAAA,CAAC,CAAC;AAEH,QAAA,KAAK,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;KACpC;AAED,IAAA,YAAY,CAAC,IAAS,EAAA;AAClB,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC;AAEvC,QAAA,IAAI,QAAQ;YAAE,OAAO,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;;AAC3O,YAAA,OAAO,IAAI,CAAC;KACpB;AAED,IAAA,YAAY,CAAC,IAAS,EAAA;AAClB,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC;AAE3C,QAAA,IAAI,QAAQ;YAAE,OAAO,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;;AAC3O,YAAA,OAAO,IAAI,CAAC;KACpB;AAED,IAAA,mBAAmB,CAAC,KAAK,EAAA;QACrB,MAAM,kBAAkB,GACpB,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,CAAC;AACpC,cAAE,IAAI,CAAC,cAAc,EAAE;AAChB,iBAAA,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;AAChB,iBAAA,SAAS,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;cACtD,CAAC,CAAC,CAAC;AACb,QAAA,OAAO,kBAAkB,GAAG,CAAC,CAAC,GAAG,kBAAkB,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC;KAC3E;AAED,IAAA,mBAAmB,CAAC,KAAK,EAAA;AACrB,QAAA,MAAM,kBAAkB,GAAG,KAAK,GAAG,CAAC,GAAG,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAErJ,QAAA,OAAO,kBAAkB,GAAG,CAAC,CAAC,GAAG,kBAAkB,GAAG,KAAK,CAAC;KAC/D;IAED,2BAA2B,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE,GAAG,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;KAC3I;IAED,0BAA0B,GAAA;AACtB,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;AAEzD,QAAA,OAAO,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,aAAa,CAAC;KACzE;IAED,mBAAmB,GAAA;QACf,OAAO,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;KACnG;IAED,aAAa,CAAC,KAAK,EAAE,IAAI,EAAA;AACrB,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,IAAI,IAAI,CAAC;AAEnD,QAAA,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;QACrB,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,EAAE;AAClC,YAAA,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE;AAC9B,iBAAA,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAChC,iBAAA,SAAS,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;YACzD,WAAW;gBACP,WAAW,KAAK,CAAC,CAAC;AACd,sBAAE,IAAI,CAAC,cAAc,EAAE;AAChB,yBAAA,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC;AACnC,yBAAA,SAAS,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AAC1D,sBAAE,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;SACrD;aAAM;YACH,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;SAC3F;AAED,QAAA,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE;YACpB,OAAO,GAAG,IAAI,CAAC;SAClB;AAED,QAAA,IAAI,WAAW,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,EAAE;AACxD,YAAA,WAAW,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;SACpD;AAED,QAAA,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE;AACpB,YAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;SACrD;AAED,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACpC;AAED,QAAA,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,MAAK;AACjC,YAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;AACtB,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC7B,EAAE,GAAG,CAAC,CAAC;AAER,QAAA,OAAO,OAAO,CAAC;KAClB;IAED,cAAc,GAAA;QACV,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnC,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,IAAI,cAAc,GAAG,EAAE,CAAC;AACxB,gBAAA,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAgB,EAAE;AACxC,oBAAA,IAAI,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AAC1K,oBAAA,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,EAAE;AACjD,wBAAA,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,EAAE,EAAE,CAAC,CAAC;qBAC/F;iBACJ;AAED,gBAAA,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC;aAC1C;iBAAM;AACH,gBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAgB,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;aAC5J;SACJ;aAAM;AACH,YAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;SAChC;KACJ;IAED,oBAAoB,GAAA;AAChB,QAAA,OAAO,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,aAAa,EAAE,0CAA0C,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;KACvJ;IAED,SAAS,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;KACvE;uGApyDQ,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,WAAW,EA0CA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,gBAAgB,CAKhB,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,gBAAgB,CAKhB,EAAA,KAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,gBAAgB,CAKhB,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,gBAAgB,CAehB,EAAA,iBAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,cAAA,EAAA,CAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAgB,CAKhB,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,eAAe,CAoDf,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,CAAA,gBAAA,EAAA,gBAAA,EAAA,CAAC,KAAc,KAAK,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAUhD,EAAA,kBAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,CAAA,eAAA,EAAA,eAAA,EAAA,gBAAgB,CAehB,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,CAAA,mBAAA,EAAA,mBAAA,EAAA,gBAAgB,sPAmChB,gBAAgB,CAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,IAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAehB,gBAAgB,CAAA,EAAA,aAAA,EAAA,CAAA,eAAA,EAAA,eAAA,EAKhB,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAKhB,gBAAgB,CAAA,EAAA,qBAAA,EAAA,CAAA,uBAAA,EAAA,uBAAA,EAKhB,eAAe,CAAA,EAAA,WAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,CAAA,iBAAA,EAAA,iBAAA,EAkDf,gBAAgB,CAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAehB,gBAAgB,CAAA,EAAA,SAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAKhB,gBAAgB,CAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,CAAA,cAAA,EAAA,cAAA,EAwHhB,gBAAgB,CAUhB,EAAA,YAAA,EAAA,cAAA,EAAA,aAAA,EAAA,CAAA,eAAA,EAAA,eAAA,EAAA,gBAAgB,CAKhB,EAAA,eAAA,EAAA,CAAA,iBAAA,EAAA,iBAAA,EAAA,gBAAgB,CA7azB,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,8BAAA,EAAA,2BAAA,EAAA,+BAAA,EAAA,QAAA,EAAA,EAAA,cAAA,EAAA,8BAAA,EAAA,EAAA,SAAA,EAAA,CAAC,0BAA0B,CAAC,EAggBzB,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,MAAM,EAEN,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,MAAM,EAEH,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAW,EErnBhC,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,qCAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,sCAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,yBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,04gBA0OA,w9HFrLa,eAAe,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,cAAA,EAAA,aAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,0BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAiEf,WAAW,EAAA,UAAA,EAAA,CAAA;kBAbvB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAErB,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,8BAA8B;AACrC,wBAAA,gCAAgC,EAAE,2BAA2B;AAC7D,wBAAA,iCAAiC,EAAE,QAAQ;qBAC9C,EACU,SAAA,EAAA,CAAC,0BAA0B,CAAC,EACtB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,04gBAAA,EAAA,MAAA,EAAA,CAAA,8vDAAA,CAAA,EAAA,CAAA;6OAI5B,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAMG,EAAE,EAAA,CAAA;sBAAV,KAAK;gBAKG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAKG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAKG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAKG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAKG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKkC,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAKE,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAKE,KAAK,EAAA,CAAA;sBAA5C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAKE,MAAM,EAAA,CAAA;sBAA7C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAK7B,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAKG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAKkC,cAAc,EAAA,CAAA;sBAArD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAKC,QAAQ,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAA;gBAK5B,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAKG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAMO,oBAAoB,EAAA,CAAA;sBAAhC,KAAK;gBAWO,iBAAiB,EAAA,CAAA;sBAA7B,KAAK;gBAUkE,cAAc,EAAA,CAAA;sBAArF,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA,EAAE,SAAS,EAAE,CAAC,KAAc,KAAK,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAA;gBAK7D,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBAKkC,aAAa,EAAA,CAAA;sBAApD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAK7B,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBAKG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAKkC,iBAAiB,EAAA,CAAA;sBAAxD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAK7B,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAKG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAKG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAKG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAKG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBAKG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBAKkC,UAAU,EAAA,CAAA;sBAAjD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAK7B,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAKG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAKkC,IAAI,EAAA,CAAA;sBAA3C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAKE,aAAa,EAAA,CAAA;sBAApD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAKE,OAAO,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAKC,qBAAqB,EAAA,CAAA;sBAA3D,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAA;gBAK5B,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAKG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBAKG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAKG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAKG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAKG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAKG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBAKG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAKkC,eAAe,EAAA,CAAA;sBAAtD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAK7B,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAKkC,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAKE,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAMzB,UAAU,EAAA,CAAA;sBAAtB,KAAK;gBAYO,UAAU,EAAA,CAAA;sBAAtB,KAAK;gBAYO,qBAAqB,EAAA,CAAA;sBAAjC,KAAK;gBAYO,qBAAqB,EAAA,CAAA;sBAAjC,KAAK;gBAYO,YAAY,EAAA,CAAA;sBAAxB,KAAK;gBAWO,WAAW,EAAA,CAAA;sBAAvB,KAAK;gBAUO,OAAO,EAAA,CAAA;sBAAnB,KAAK;gBAaO,WAAW,EAAA,CAAA;sBAAvB,KAAK;gBAWO,QAAQ,EAAA,CAAA;sBAApB,KAAK;gBAWO,SAAS,EAAA,CAAA;sBAArB,KAAK;gBAUkC,YAAY,EAAA,CAAA;sBAAnD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAK7B,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAKkC,aAAa,EAAA,CAAA;sBAApD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAKE,eAAe,EAAA,CAAA;sBAAtD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAM5B,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAMG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAMG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBAMG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAMG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBAKG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBAKG,WAAW,EAAA,CAAA;sBAApB,MAAM;gBAKG,WAAW,EAAA,CAAA;sBAApB,MAAM;gBAMG,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBAMG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAMG,iBAAiB,EAAA,CAAA;sBAA1B,MAAM;gBAEiB,kBAAkB,EAAA,CAAA;sBAAzC,SAAS;uBAAC,WAAW,CAAA;gBAEA,gBAAgB,EAAA,CAAA;sBAArC,SAAS;uBAAC,SAAS,CAAA;gBAEM,gBAAgB,EAAA,CAAA;sBAAzC,SAAS;uBAAC,aAAa,CAAA;gBAEC,mBAAmB,EAAA,CAAA;sBAA3C,SAAS;uBAAC,YAAY,CAAA;gBAEH,cAAc,EAAA,CAAA;sBAAjC,SAAS;uBAAC,OAAO,CAAA;gBAEK,QAAQ,EAAA,CAAA;sBAA9B,SAAS;uBAAC,UAAU,CAAA;gBAEe,mCAAmC,EAAA,CAAA;sBAAtE,SAAS;uBAAC,uBAAuB,CAAA;gBAEG,oCAAoC,EAAA,CAAA;sBAAxE,SAAS;uBAAC,wBAAwB,CAAA;gBAEN,uBAAuB,EAAA,CAAA;sBAAnD,SAAS;uBAAC,gBAAgB,CAAA;gBAEL,WAAW,EAAA,CAAA;sBAAhC,YAAY;uBAAC,MAAM,CAAA;gBAEE,WAAW,EAAA,CAAA;sBAAhC,YAAY;uBAAC,MAAM,CAAA;gBAEU,SAAS,EAAA,CAAA;sBAAtC,eAAe;uBAAC,WAAW,CAAA;;;MGhmBnB,iBAAiB,CAAA;uGAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,iBAFX,WAAW,EAAE,eAAe,CAAA,EAAA,OAAA,EAAA,CAFjC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,aACjM,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,CAAA,EAAA,CAAA,CAAA;AAGzD,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAJhB,OAAA,EAAA,CAAA,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EACpL,aAAa,EAAE,YAAY,EAAE,cAAc,CAAA,EAAA,CAAA,CAAA;;2FAGzD,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,CAAC;oBAC5M,OAAO,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,CAAC;AACnE,oBAAA,YAAY,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;AAC/C,iBAAA,CAAA;;;ACpBD;;AAEG;;;;"}
1
+ {"version":3,"file":"cax-design-system-multiselect.mjs","sources":["../../src/app/components/multiselect/multiselect.ts","../../src/app/components/multiselect/multiselectitem.html","../../src/app/components/multiselect/multiselect.html","../../src/app/components/multiselect/multiselect.module.ts","../../src/app/components/multiselect/cax-design-system-multiselect.ts"],"sourcesContent":["import { AnimationEvent } from '@angular/animations';\nimport {\n AfterContentInit,\n AfterViewChecked,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n ContentChild,\n ContentChildren,\n effect,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n NgZone,\n numberAttribute,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n Signal,\n signal,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { FilterService, Footer, Header, OverlayOptions, OverlayService, caxConfig, CaxTemplate, SharedModule, TranslationKeys } from 'cax-design-system/api';\nimport { DomHandler } from 'cax-design-system/dom';\nimport { Overlay } from 'cax-design-system/overlay';\nimport { Scroller } from 'cax-design-system/scroller';\nimport { ScrollerOptions } from 'cax-design-system/api';\nimport { ObjectUtils, UniqueComponentId } from 'cax-design-system/utils';\nimport { Nullable } from 'cax-design-system/ts-helpers';\nimport { MultiSelectRemoveEvent, MultiSelectFilterOptions, MultiSelectFilterEvent, MultiSelectBlurEvent, MultiSelectChangeEvent, MultiSelectFocusEvent, MultiSelectLazyLoadEvent, MultiSelectSelectAllChangeEvent } from './multiselect.interface';\n\nexport const MULTISELECT_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MultiSelect),\n multi: true\n};\n\n@Component({\n selector: 'cax-multiSelectItem',\n templateUrl: './multiselectitem.html',\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n host: {\n class: 'cax-element'\n }\n})\nexport class MultiSelectItem {\n @Input() id: string | undefined;\n\n @Input() option: any;\n\n @Input({ transform: booleanAttribute }) selected: boolean | undefined;\n\n @Input() label: string | undefined;\n\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n\n @Input({ transform: numberAttribute }) itemSize: number | undefined;\n\n @Input({ transform: booleanAttribute }) focused: boolean | undefined;\n\n @Input() ariaPosInset: string | undefined;\n\n @Input() ariaSetSize: string | undefined;\n\n @Input() template: TemplateRef<any> | undefined;\n\n @Input() checkIconTemplate: TemplateRef<any> | undefined;\n\n @Input() itemCheckboxIconTemplate: TemplateRef<any> | undefined;\n\n @Output() onClick: EventEmitter<any> = new EventEmitter();\n\n @Output() onMouseEnter: EventEmitter<any> = new EventEmitter();\n\n constructor(public config: caxConfig) {}\n\n onOptionClick(event: Event) {\n this.onClick.emit({\n originalEvent: event,\n option: this.option,\n selected: this.selected\n });\n event.stopPropagation();\n }\n\n onOptionMouseEnter(event: Event) {\n this.onMouseEnter.emit({\n originalEvent: event,\n option: this.option,\n selected: this.selected\n });\n }\n}\n/**\n * MultiSelect is used to select multiple items from a collection.\n * @group Components\n */\n@Component({\n selector: 'cax-multiSelect',\n templateUrl: './multiselect.html',\n host: {\n class: 'cax-element cax-inputwrapper',\n '[class.cax-inputwrapper-focus]': 'focused || overlayVisible',\n '[class.cax-inputwrapper-filled]': 'filled'\n },\n providers: [MULTISELECT_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n styleUrls: ['./multiselect.scss']\n})\nexport class MultiSelect implements OnInit, AfterViewInit, AfterContentInit, AfterViewChecked, ControlValueAccessor {\n @Input() labelText: string | undefined;\n labelTextClass = 'left-aligned';\n /**\n * Unique identifier of the component\n * @group Props\n */\n @Input() id: string | undefined;\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Inline style of the overlay panel.\n * @group Props\n */\n @Input() panelStyle: any;\n /**\n * Style class of the overlay panel element.\n * @group Props\n */\n @Input() panelStyleClass: string | 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 * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * When present, it specifies that the component cannot be edited.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean | undefined;\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 * When specified, displays an input field to filter the items on keyup.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) filter: boolean = true;\n /**\n * Defines placeholder of the filter input.\n * @group Props\n */\n @Input() filterPlaceHolder: string | undefined;\n /**\n * Locale to use in filtering. The default locale is the host environment's current locale.\n * @group Props\n */\n @Input() filterLocale: string | undefined;\n /**\n * Specifies the visibility of the options panel.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) overlayVisible: boolean | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined = 0;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'filled' | 'outlined' = 'outlined';\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 * A property to uniquely identify a value in options.\n * @group Props\n */\n @Input() dataKey: string | undefined;\n /**\n * Name of the input element.\n * @group Props\n */\n @Input() name: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Whether to show labels of selected item labels or use default label.\n * @group Props\n * @defaultValue true\n */\n @Input() set displaySelectedLabel(val: boolean) {\n this._displaySelectedLabel = val;\n }\n get displaySelectedLabel(): boolean {\n return this._displaySelectedLabel;\n }\n /**\n * Decides how many selected item labels to show at most.\n * @group Props\n * @defaultValue 3\n */\n @Input() set maxSelectedLabels(val: number | null | undefined) {\n this._maxSelectedLabels = val;\n }\n get maxSelectedLabels(): number | null | undefined {\n return this._maxSelectedLabels;\n }\n /**\n * Decides how many selected item labels to show at most.\n * @group Props\n */\n @Input({ transform: (value: unknown) => numberAttribute(value, null) }) selectionLimit: number | null | undefined;\n /**\n * Label to display after exceeding max selected labels e.g. ({0} items selected), defaults \"ellipsis\" keyword to indicate a text-overflow.\n * @group Props\n */\n @Input() selectedItemsLabel: string | undefined;\n /**\n * Whether to show the checkbox at header to toggle all items at once.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showToggleAll: boolean = true;\n /**\n * Text to display when filtering does not return any results.\n * @group Props\n */\n @Input() emptyFilterMessage: string = '';\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 = '';\n /**\n * Clears the filter value when hiding the dropdown.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) resetFilterOnHide: boolean = false;\n /**\n * Icon class of the dropdown icon.\n * @group Props\n */\n @Input() dropdownIcon: string | undefined;\n /**\n * Name of the label field of an option.\n * @group Props\n */\n @Input() optionLabel: string | undefined;\n /**\n * Name of the value field of an option.\n * @group Props\n */\n @Input() optionValue: string | undefined;\n /**\n * Name of the disabled field of an option.\n * @group Props\n */\n @Input() optionDisabled: string | undefined;\n /**\n * Name of the label field of an option group.\n * @group Props\n */\n @Input() optionGroupLabel: string | undefined = 'label';\n /**\n * Name of the options field of an option group.\n * @group Props\n */\n @Input() optionGroupChildren: string = 'items';\n /**\n * Whether to show the header.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showHeader: boolean = true;\n /**\n * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.\n * @group Props\n */\n @Input() filterBy: string | undefined;\n /**\n * Height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.\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 * Whether the multiselect is in loading state.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) loading: boolean | undefined = false;\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n @Input({ transform: numberAttribute }) virtualScrollItemSize: number | undefined;\n /**\n * Icon to display in loading state.\n * @group Props\n */\n @Input() loadingIcon: string | 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 * Whether to use overlay API feature. The properties of overlay API can be used like an object in it.\n * @group Props\n */\n @Input() overlayOptions: OverlayOptions | undefined;\n /**\n * Defines a string that labels the filter input.\n * @group Props\n */\n @Input() ariaFilterLabel: string | undefined;\n /**\n * Defines how the items are filtered.\n * @group Props\n */\n @Input() filterMatchMode: 'contains' | 'startsWith' | 'endsWith' | 'equals' | 'notEquals' | 'in' | 'lt' | 'lte' | 'gt' | 'gte' = 'contains';\n /**\n * Advisory information to display in a tooltip on hover.\n * @group Props\n */\n @Input() tooltip: string = '';\n /**\n * Position of the tooltip.\n * @group Props\n */\n @Input() tooltipPosition: 'top' | 'left' | 'right' | 'bottom' = 'right';\n /**\n * Type of CSS position.\n * @group Props\n */\n @Input() tooltipPositionStyle: string = 'absolute';\n /**\n * Style class of the tooltip.\n * @group Props\n */\n @Input() tooltipStyleClass: string | undefined;\n /**\n * Applies focus to the filter element when the overlay is shown.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocusFilter: boolean = true;\n /**\n * Defines how the selected items are displayed.\n * @group Props\n */\n @Input() display: string | 'comma' | 'chip' = 'comma';\n /**\n * Defines the autocomplete is active.\n * @group Props\n */\n @Input() autocomplete: string = 'off';\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 * 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 * @deprecated since v14.2.0, use overlayOptions property instead.\n * Whether to automatically manage layering.\n * @group Props\n */\n @Input() get autoZIndex(): boolean | undefined {\n return this._autoZIndex;\n }\n set autoZIndex(val: boolean | undefined) {\n this._autoZIndex = val;\n console.warn('The autoZIndex property is deprecated since v14.2.0, use overlayOptions property instead.');\n }\n /**\n * @deprecated since v14.2.0, use overlayOptions property instead.\n * Base zIndex value to use in layering.\n * @group Props\n */\n @Input() get baseZIndex(): number | undefined {\n return this._baseZIndex;\n }\n set baseZIndex(val: number | undefined) {\n this._baseZIndex = val;\n console.warn('The baseZIndex property is deprecated since v14.2.0, use overlayOptions property instead.');\n }\n /**\n * Transition options of the show animation.\n * @group Props\n * @deprecated since v14.2.0, use overlayOptions property instead.\n */\n @Input() get showTransitionOptions(): string | undefined {\n return this._showTransitionOptions;\n }\n set showTransitionOptions(val: string | undefined) {\n this._showTransitionOptions = val;\n console.warn('The showTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.');\n }\n /**\n * Transition options of the hide animation.\n * @group Props\n * @deprecated since v14.2.0, use overlayOptions property instead.\n */\n @Input() get hideTransitionOptions(): string | undefined {\n return this._hideTransitionOptions;\n }\n set hideTransitionOptions(val: string | undefined) {\n this._hideTransitionOptions = val;\n console.warn('The hideTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.');\n }\n /**\n * Label to display when there are no selections.\n * @group Props\n * @deprecated Use placeholder instead.\n */\n @Input() set defaultLabel(val: string | undefined) {\n this._defaultLabel = val;\n console.warn('defaultLabel property is deprecated since 16.6.0, use placeholder instead');\n }\n get defaultLabel(): string | undefined {\n return this._defaultLabel;\n }\n /**\n * Label to display when there are no selections.\n * @group Props\n */\n @Input() set placeholder(val: string | undefined) {\n this._placeholder.set(val);\n }\n get placeholder(): Signal<string | undefined> {\n return this._placeholder.asReadonly();\n }\n /**\n * An array of objects to display as the available options.\n * @group Props\n */\n @Input() get options(): any[] | undefined {\n const options = this._options();\n return options;\n }\n set options(val: any[] | undefined) {\n if (!ObjectUtils.deepEquals(this._options(), val)) {\n this._options.set(val);\n }\n }\n /**\n * When specified, filter displays with this value.\n * @group Props\n */\n @Input() get filterValue(): string | undefined | null {\n return this._filterValue();\n }\n set filterValue(val: string | undefined | null) {\n this._filterValue.set(val);\n }\n /**\n * Item size of item to be virtual scrolled.\n * @group Props\n * @deprecated use virtualScrollItemSize property instead.\n */\n @Input() get itemSize(): number | undefined {\n return this._itemSize;\n }\n set itemSize(val: number | undefined) {\n this._itemSize = val;\n console.warn('The itemSize property is deprecated, use virtualScrollItemSize property instead.');\n }\n /**\n * Whether all data is selected.\n * @group Props\n */\n @Input() get selectAll(): boolean | undefined | null {\n return this._selectAll;\n }\n set selectAll(value: boolean | undefined | null) {\n this._selectAll = value;\n }\n /**\n * Indicates whether to focus on options when hovering over them, defaults to optionLabel.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) focusOnHover: boolean = false;\n /**\n * Fields used when filtering the options, defaults to optionLabel.\n * @group Props\n */\n @Input() filterFields: any[] | undefined;\n /**\n * Determines if the option will be selected on focus.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) selectOnFocus: boolean = false;\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 = true;\n /**\n * Callback to invoke when value changes.\n * @param {MultiSelectChangeEvent} event - Custom change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<MultiSelectChangeEvent> = new EventEmitter<MultiSelectChangeEvent>();\n /**\n * Callback to invoke when data is filtered.\n * @param {MultiSelectFilterEvent} event - Custom filter event.\n * @group Emits\n */\n @Output() onFilter: EventEmitter<MultiSelectFilterEvent> = new EventEmitter<MultiSelectFilterEvent>();\n /**\n * Callback to invoke when multiselect receives focus.\n * @param {MultiSelectFocusEvent} event - Custom focus event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<MultiSelectFocusEvent> = new EventEmitter<MultiSelectFocusEvent>();\n /**\n * Callback to invoke when multiselect loses focus.\n * @param {MultiSelectBlurEvent} event - Custom blur event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<MultiSelectBlurEvent> = new EventEmitter<MultiSelectBlurEvent>();\n /**\n * Callback to invoke when component is clicked.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onClick: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when input field is cleared.\n * @group Emits\n */\n @Output() onClear: EventEmitter<void> = new EventEmitter<void>();\n /**\n * Callback to invoke when overlay panel becomes visible.\n * @group Emits\n */\n @Output() onPanelShow: EventEmitter<void> = new EventEmitter<void>();\n /**\n * Callback to invoke when overlay panel becomes hidden.\n * @group Emits\n */\n @Output() onPanelHide: EventEmitter<void> = new EventEmitter<void>();\n /**\n * Callback to invoke in lazy mode to load new data.\n * @param {MultiSelectLazyLoadEvent} event - Lazy load event.\n * @group Emits\n */\n @Output() onLazyLoad: EventEmitter<MultiSelectLazyLoadEvent> = new EventEmitter<MultiSelectLazyLoadEvent>();\n /**\n * Callback to invoke in lazy mode to load new data.\n * @param {MultiSelectRemoveEvent} event - Remove event.\n * @group Emits\n */\n @Output() onRemove: EventEmitter<MultiSelectRemoveEvent> = new EventEmitter<MultiSelectRemoveEvent>();\n /**\n * Callback to invoke when all data is selected.\n * @param {MultiSelectSelectAllChangeEvent} event - Custom select event.\n * @group Emits\n */\n @Output() onSelectAllChange: EventEmitter<MultiSelectSelectAllChangeEvent> = new EventEmitter<MultiSelectSelectAllChangeEvent>();\n\n @ViewChild('container') containerViewChild: Nullable<ElementRef>;\n\n @ViewChild('overlay') overlayViewChild: Nullable<Overlay>;\n\n @ViewChild('filterInput') filterInputChild: Nullable<ElementRef>;\n\n @ViewChild('focusInput') focusInputViewChild: Nullable<ElementRef>;\n\n @ViewChild('items') itemsViewChild: Nullable<ElementRef>;\n\n @ViewChild('scroller') scroller: Nullable<Scroller>;\n\n @ViewChild('lastHiddenFocusableEl') lastHiddenFocusableElementOnOverlay: Nullable<ElementRef>;\n\n @ViewChild('firstHiddenFocusableEl') firstHiddenFocusableElementOnOverlay: Nullable<ElementRef>;\n\n @ViewChild('headerCheckbox') headerCheckboxViewChild: Nullable<ElementRef>;\n\n @ContentChild(Footer) footerFacet: any;\n\n @ContentChild(Header) headerFacet: any;\n\n @ContentChildren(CaxTemplate) templates: Nullable<QueryList<CaxTemplate>>;\n\n searchValue: Nullable<string>;\n\n searchTimeout: any;\n\n _selectAll: boolean | undefined | null = null;\n\n _autoZIndex: boolean | undefined;\n\n _baseZIndex: number | undefined;\n\n _showTransitionOptions: string | undefined;\n\n _hideTransitionOptions: string | undefined;\n\n _defaultLabel: string | undefined;\n\n _placeholder = signal<string | undefined>(undefined);\n\n _itemSize: number | undefined;\n\n _selectionLimit: number | undefined;\n\n _disableTooltip = false;\n\n value: any[];\n\n public _filteredOptions: any[] | undefined | null;\n\n public onModelChange: Function = () => {};\n\n public onModelTouched: Function = () => {};\n\n public valuesAsString: string | undefined;\n\n public focus: boolean | undefined;\n\n public filtered: boolean | undefined;\n\n public itemTemplate: TemplateRef<any> | undefined;\n\n public groupTemplate: TemplateRef<any> | undefined;\n\n public loaderTemplate: TemplateRef<any> | undefined;\n\n public headerTemplate: TemplateRef<any> | undefined;\n\n public filterTemplate: TemplateRef<any> | undefined;\n\n public footerTemplate: TemplateRef<any> | undefined;\n\n public emptyFilterTemplate: TemplateRef<any> | undefined;\n\n public emptyTemplate: TemplateRef<any> | undefined;\n\n public selectedItemsTemplate: TemplateRef<any> | undefined;\n\n checkIconTemplate: TemplateRef<any> | undefined;\n\n loadingIconTemplate: TemplateRef<any> | undefined;\n\n filterIconTemplate: TemplateRef<any> | undefined;\n\n removeTokenIconTemplate: TemplateRef<any> | undefined;\n\n closeIconTemplate: TemplateRef<any> | undefined;\n\n clearIconTemplate: TemplateRef<any> | undefined;\n\n dropdownIconTemplate: TemplateRef<any> | undefined;\n\n itemCheckboxIconTemplate: TemplateRef<any> | undefined;\n\n headerCheckboxIconTemplate: TemplateRef<any> | undefined;\n\n public headerCheckboxFocus: boolean | undefined;\n\n filterOptions: MultiSelectFilterOptions | undefined;\n\n preventModelTouched: boolean | undefined;\n\n preventDocumentDefault: boolean | undefined;\n\n focused: boolean = false;\n\n itemsWrapper: any;\n\n _displaySelectedLabel: boolean = true;\n\n _maxSelectedLabels: number = 3;\n\n modelValue = signal<any>(null);\n\n _filterValue = signal<any>(null);\n\n _options = signal<any[]>(null);\n\n startRangeIndex = signal<number>(-1);\n\n focusedOptionIndex = signal<number>(-1);\n\n selectedOptions: any;\n\n clickInProgress: boolean = false;\n\n isDropdownClicked: boolean = false;\n\n get containerClass() {\n return {\n 'cax-multiselect cax-component cax-inputwrapper': true,\n 'cax-disabled': this.disabled,\n 'cax-multiselect-clearable': this.showClear && !this.disabled,\n 'cax-multiselect-chip': this.display === 'chip',\n 'cax-focus': this.focused,\n 'cax-variant-filled': this.variant === 'filled' || this.config.inputStyle() === 'filled',\n active: this.isDropdownClicked\n };\n }\n\n get inputClass() {\n return {\n 'cax-multiselect-label cax-inputtext': true,\n 'cax-placeholder': (this.placeholder() || this.defaultLabel) && (this.label() === this.placeholder() || this.label() === this.defaultLabel),\n 'cax-multiselect-label-empty': !this.selectedItemsTemplate && (this.label() === 'cax-emptylabel' || this.label().length === 0)\n };\n }\n\n get panelClass() {\n return {\n 'cax-multiselect-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 labelClass() {\n return {\n 'cax-multiselect-label': true,\n 'cax-placeholder': this.label() === this.placeholder() || this.label() === this.defaultLabel,\n 'cax-multiselect-label-empty': !this.placeholder() && !this.defaultLabel && (!this.modelValue() || this.modelValue().length === 0)\n };\n }\n\n get emptyMessageLabel(): string {\n return this.emptyMessage || this.config.getTranslation(TranslationKeys.EMPTY_MESSAGE);\n }\n\n get emptyFilterMessageLabel(): string {\n return this.emptyFilterMessage || this.config.getTranslation(TranslationKeys.EMPTY_FILTER_MESSAGE);\n }\n\n get filled(): boolean {\n if (typeof this.modelValue() === 'string') return !!this.modelValue();\n\n return ObjectUtils.isNotEmpty(this.modelValue());\n }\n\n get isVisibleClearIcon(): boolean | undefined {\n return this.modelValue() != null && this.modelValue() !== '' && ObjectUtils.isNotEmpty(this.modelValue()) && this.showClear && !this.disabled && this.filled;\n }\n\n get toggleAllAriaLabel() {\n return this.config.translation.aria ? this.config.translation.aria[this.allSelected() ? 'selectAll' : 'unselectAll'] : undefined;\n }\n\n get closeAriaLabel() {\n return this.config.translation.aria ? this.config.translation.aria.close : undefined;\n }\n\n get listLabel(): string {\n return this.config.getTranslation(TranslationKeys.ARIA)['listLabel'];\n }\n\n private getAllVisibleAndNonVisibleOptions() {\n return this.group ? this.flatOptions(this.options) : this.options || [];\n }\n\n visibleOptions = computed(() => {\n const options = this.getAllVisibleAndNonVisibleOptions();\n const isArrayOfObjects = ObjectUtils.isArray(options) && ObjectUtils.isObject(options[0]);\n\n if (this._filterValue()) {\n let filteredOptions;\n\n if (isArrayOfObjects) {\n filteredOptions = this.filterService.filter(options, this.searchFields(), this._filterValue(), this.filterMatchMode, this.filterLocale);\n } else {\n filteredOptions = options.filter((option) => option.toString().toLocaleLowerCase().includes(this._filterValue().toLocaleLowerCase()));\n }\n\n if (this.group) {\n const optionGroups = this.options || [];\n const filtered = [];\n\n optionGroups.forEach((group) => {\n const groupChildren = this.getOptionGroupChildren(group);\n const filteredItems = groupChildren.filter((item) => filteredOptions.includes(item));\n\n if (filteredItems.length > 0) filtered.push({ ...group, [typeof this.optionGroupChildren === 'string' ? this.optionGroupChildren : 'items']: [...filteredItems] });\n });\n\n return this.flatOptions(filtered);\n }\n\n return filteredOptions;\n }\n return options;\n });\n\n label = computed(() => {\n let label;\n const modelValue = this.modelValue();\n\n if (modelValue && modelValue.length && this.displaySelectedLabel) {\n if (ObjectUtils.isNotEmpty(this.maxSelectedLabels) && modelValue.length > this.maxSelectedLabels) {\n return this.getSelectedItemsLabel();\n } else {\n label = '';\n\n for (let i = 0; i < modelValue.length; i++) {\n if (i !== 0) {\n label += ', ';\n }\n\n label += this.getLabelByValue(modelValue[i]);\n }\n }\n } else {\n label = this.placeholder() || this.defaultLabel || '';\n }\n return label;\n });\n\n chipSelectedItems = computed(() => {\n return ObjectUtils.isNotEmpty(this.maxSelectedLabels) && this.modelValue() && this.modelValue().length > this.maxSelectedLabels ? this.modelValue().slice(0, this.maxSelectedLabels) : this.modelValue();\n });\n\n constructor(\n public el: ElementRef,\n public renderer: Renderer2,\n public cd: ChangeDetectorRef,\n public zone: NgZone,\n public filterService: FilterService,\n public config: caxConfig,\n public overlayService: OverlayService\n ) {\n effect(() => {\n const modelValue = this.modelValue();\n\n const visibleOptions = this.visibleOptions();\n if (visibleOptions && ObjectUtils.isNotEmpty(visibleOptions)) {\n if (this.optionValue && this.optionLabel && modelValue) {\n this.selectedOptions = visibleOptions.filter((option) => modelValue.includes(option[this.optionLabel]) || modelValue.includes(option[this.optionValue]));\n } else {\n this.selectedOptions = modelValue;\n }\n this.cd.markForCheck();\n }\n });\n }\n\n ngOnInit() {\n this.id = this.id || UniqueComponentId();\n this.autoUpdateModel();\n\n if (this.filterBy) {\n this.filterOptions = {\n filter: (value) => this.onFilterInputChange(value),\n reset: () => this.resetFilter()\n };\n }\n }\n\n maxSelectionLimitReached() {\n return ObjectUtils.isNotEmpty(this.selectionLimit) && this.modelValue() && this.modelValue().length === this.selectionLimit;\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 'selectedItems':\n this.selectedItemsTemplate = item.template;\n break;\n\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'filter':\n this.filterTemplate = item.template;\n break;\n\n case 'emptyfilter':\n this.emptyFilterTemplate = 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 'checkicon':\n this.checkIconTemplate = item.template;\n console.warn('checkicon is deprecated and will removed in v18. Use itemcheckboxicon or headercheckboxicon templates instead.');\n break;\n\n case 'headercheckboxicon':\n this.headerCheckboxIconTemplate = item.template;\n break;\n\n case 'loadingicon':\n this.loadingIconTemplate = item.template;\n break;\n\n case 'filtericon':\n this.filterIconTemplate = item.template;\n break;\n\n case 'removetokenicon':\n this.removeTokenIconTemplate = item.template;\n break;\n\n case 'closeicon':\n this.closeIconTemplate = 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 case 'itemcheckboxicon':\n this.itemCheckboxIconTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n ngAfterViewInit() {\n if (this.overlayVisible) {\n this.show();\n }\n }\n\n ngAfterViewChecked() {\n if (this.filtered) {\n this.zone.runOutsideAngular(() => {\n setTimeout(() => {\n this.overlayViewChild?.alignOverlay();\n }, 1);\n });\n this.filtered = false;\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 autoUpdateModel() {\n if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption()) {\n this.focusedOptionIndex.set(this.findFirstFocusedOptionIndex());\n const value = this.getOptionValue(this.visibleOptions()[this.focusedOptionIndex()]);\n this.onOptionSelect({ originalEvent: null, option: [value] });\n }\n }\n\n /**\n * Updates the model value.\n * @group Method\n */\n public updateModel(value, event?) {\n this.value = value;\n this.onModelChange(value);\n this.modelValue.set(value);\n }\n\n onInputClick(event) {\n event.stopPropagation();\n event.preventDefault();\n this.focusedOptionIndex.set(-1);\n }\n\n onOptionSelect(event, isFocus = false, index = -1) {\n const { originalEvent, option } = event;\n if (this.disabled || this.isOptionDisabled(option)) {\n return;\n }\n\n let selected = this.isSelected(option);\n let value = null;\n if (selected) {\n value = this.modelValue().filter((val) => !ObjectUtils.equals(val, this.getOptionValue(option), this.equalityKey()));\n this.onRemove.emit({ newValue: this.value, removed: this.getOptionValue(option) });\n } else {\n value = [...(this.modelValue() || []), this.getOptionValue(option)];\n }\n\n this.updateModel(value, originalEvent);\n index !== -1 && this.focusedOptionIndex.set(index);\n\n isFocus && DomHandler.focus(this.focusInputViewChild?.nativeElement);\n\n this.onChange.emit({\n originalEvent: { ...event, selected: !event.selected },\n value: value,\n itemValue: option\n });\n }\n\n findSelectedOptionIndex() {\n return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;\n }\n\n onOptionSelectRange(event, start = -1, end = -1) {\n start === -1 && (start = this.findNearestSelectedOptionIndex(end, true));\n end === -1 && (end = this.findNearestSelectedOptionIndex(start));\n\n if (start !== -1 && end !== -1) {\n const rangeStart = Math.min(start, end);\n const rangeEnd = Math.max(start, end);\n const value = this.visibleOptions()\n .slice(rangeStart, rangeEnd + 1)\n .filter((option) => this.isValidOption(option))\n .map((option) => this.getOptionValue(option));\n\n this.updateModel(value, event);\n }\n }\n\n searchFields() {\n return (this.filterBy || this.optionLabel || 'label').split(',');\n }\n\n findNearestSelectedOptionIndex(index, firstCheckUp = false) {\n let matchedOptionIndex = -1;\n\n if (this.hasSelectedOption()) {\n if (firstCheckUp) {\n matchedOptionIndex = this.findPrevSelectedOptionIndex(index);\n matchedOptionIndex = matchedOptionIndex === -1 ? this.findNextSelectedOptionIndex(index) : matchedOptionIndex;\n } else {\n matchedOptionIndex = this.findNextSelectedOptionIndex(index);\n matchedOptionIndex = matchedOptionIndex === -1 ? this.findPrevSelectedOptionIndex(index) : matchedOptionIndex;\n }\n }\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n }\n\n findPrevSelectedOptionIndex(index) {\n const matchedOptionIndex = this.hasSelectedOption() && index > 0 ? ObjectUtils.findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidSelectedOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : -1;\n }\n\n findFirstFocusedOptionIndex() {\n const selectedIndex = this.findFirstSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n }\n\n findFirstOptionIndex() {\n return this.visibleOptions().findIndex((option) => this.isValidOption(option));\n }\n\n findFirstSelectedOptionIndex() {\n return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;\n }\n\n findNextSelectedOptionIndex(index) {\n const matchedOptionIndex =\n this.hasSelectedOption() && index < this.visibleOptions().length - 1\n ? this.visibleOptions()\n .slice(index + 1)\n .findIndex((option) => this.isValidSelectedOption(option))\n : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : -1;\n }\n\n equalityKey() {\n return this.optionValue ? null : this.dataKey;\n }\n\n hasSelectedOption() {\n return ObjectUtils.isNotEmpty(this.modelValue());\n }\n\n isSelectionAllDisabled() {\n return this.showToggleAll && ObjectUtils.isEmpty(this.selectionLimit);\n }\n\n isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n }\n\n isOptionGroup(option) {\n return (this.group || this.optionGroupLabel) && option.optionGroup && option.group;\n }\n\n isValidOption(option) {\n return option && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n }\n\n isOptionDisabled(option: any) {\n if (this.maxSelectionLimitReached() && !this.isSelected(option)) {\n return true;\n }\n return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : option && option.disabled !== undefined ? option.disabled : false;\n }\n\n isSelected(option) {\n const optionValue = this.getOptionValue(option);\n return (this.modelValue() || []).some((value) => ObjectUtils.equals(value, optionValue, this.equalityKey()));\n }\n\n isOptionMatched(option) {\n return this.isValidOption(option) && this.getOptionLabel(option).toString().toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale));\n }\n\n isEmpty() {\n return !this._options() || (this.visibleOptions() && this.visibleOptions().length === 0);\n }\n\n getOptionIndex(index, scrollerOptions) {\n return this.virtualScrollerDisabled ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];\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 get ariaSetSize() {\n return this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length;\n }\n\n getLabelByValue(value) {\n const options = this.group ? this.flatOptions(this._options()) : this._options() || [];\n const matchedOption = options.find((option) => !this.isOptionGroup(option) && ObjectUtils.equals(this.getOptionValue(option), value, this.equalityKey()));\n return matchedOption ? this.getOptionLabel(matchedOption) : null;\n }\n\n getSelectedItemsLabel() {\n let pattern = /{(.*?)}/;\n let message = this.selectedItemsLabel ? this.selectedItemsLabel : this.config.getTranslation(TranslationKeys.SELECTION_MESSAGE);\n\n if (pattern.test(message)) {\n return message.replace(message.match(pattern)[0], this.modelValue().length + '');\n }\n\n return message;\n }\n\n getOptionLabel(option: any) {\n return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : option && option.label != undefined ? option.label : option;\n }\n\n getOptionValue(option: any) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : !this.optionLabel && option && option.value !== undefined ? option.value : option;\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 onKeyDown(event: KeyboardEvent) {\n if (this.disabled) {\n event.preventDefault();\n return;\n }\n\n const metaKey = event.metaKey || event.ctrlKey;\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 '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 'Space':\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 'ShiftLeft':\n case 'ShiftRight':\n this.onShiftKey();\n break;\n\n default:\n if (event.code === 'KeyA' && metaKey) {\n const value = this.visibleOptions()\n .filter((option) => this.isValidOption(option))\n .map((option) => this.getOptionValue(option));\n\n this.updateModel(value, event);\n\n event.preventDefault();\n break;\n }\n\n if (!metaKey && ObjectUtils.isPrintableCharacter(event.key)) {\n !this.overlayVisible && this.show();\n this.searchOptions(event, event.key);\n event.preventDefault();\n }\n\n break;\n }\n }\n\n onFilterKeyDown(event: KeyboardEvent) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event, true);\n break;\n\n case 'ArrowLeft':\n case 'ArrowRight':\n this.onArrowLeftKey(event, true);\n break;\n\n case 'Home':\n this.onHomeKey(event, true);\n break;\n\n case 'End':\n this.onEndKey(event, true);\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, true);\n break;\n\n default:\n break;\n }\n }\n\n onArrowLeftKey(event: KeyboardEvent, pressedInInputText: boolean = false) {\n pressedInInputText && this.focusedOptionIndex.set(-1);\n }\n\n onArrowDownKey(event) {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();\n\n if (event.shiftKey) {\n this.onOptionSelectRange(event, this.startRangeIndex(), optionIndex);\n }\n\n this.changeFocusedOptionIndex(event, optionIndex);\n !this.overlayVisible && this.show();\n event.preventDefault();\n event.stopPropagation();\n }\n\n onArrowUpKey(event, pressedInInputText = false) {\n if (event.altKey && !pressedInInputText) {\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 if (event.shiftKey) {\n this.onOptionSelectRange(event, optionIndex, this.startRangeIndex());\n }\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n !this.overlayVisible && this.show();\n event.preventDefault();\n }\n event.stopPropagation();\n }\n\n onHomeKey(event, pressedInInputText = false) {\n const { currentTarget } = event;\n\n if (pressedInInputText) {\n const len = currentTarget.value.length;\n\n currentTarget.setSelectionRange(0, event.shiftKey ? len : 0);\n this.focusedOptionIndex.set(-1);\n } else {\n let metaKey = event.metaKey || event.ctrlKey;\n let optionIndex = this.findFirstOptionIndex();\n\n if (event.shiftKey && metaKey) {\n this.onOptionSelectRange(event, optionIndex, this.startRangeIndex());\n }\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n !this.overlayVisible && this.show();\n }\n\n event.preventDefault();\n }\n\n onEndKey(event, pressedInInputText = false) {\n const { currentTarget } = event;\n\n if (pressedInInputText) {\n const len = currentTarget.value.length;\n currentTarget.setSelectionRange(event.shiftKey ? 0 : len, len);\n this.focusedOptionIndex.set(-1);\n } else {\n let metaKey = event.metaKey || event.ctrlKey;\n let optionIndex = this.findLastFocusedOptionIndex();\n\n if (event.shiftKey && metaKey) {\n this.onOptionSelectRange(event, this.startRangeIndex(), optionIndex);\n }\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n !this.overlayVisible && this.show();\n }\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 if (event.shiftKey) {\n this.onOptionSelectRange(event, this.focusedOptionIndex());\n } else {\n this.onOptionSelect({ originalEvent: event, option: this.visibleOptions()[this.focusedOptionIndex()] });\n }\n }\n }\n\n event.preventDefault();\n }\n\n onEscapeKey(event) {\n this.overlayVisible && this.hide(true);\n event.preventDefault();\n }\n\n onDeleteKey(event: KeyboardEvent) {\n if (this.showClear) {\n this.clear(event);\n event.preventDefault();\n }\n }\n\n onTabKey(event, pressedInInputText = false) {\n if (!pressedInInputText) {\n if (this.overlayVisible && this.hasFocusableElements()) {\n DomHandler.focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay.nativeElement : this.firstHiddenFocusableElementOnOverlay.nativeElement);\n\n event.preventDefault();\n } else {\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect({ originalEvent: event, option: this.visibleOptions()[this.focusedOptionIndex()] });\n }\n\n this.overlayVisible && this.hide(this.filter);\n }\n }\n }\n\n onShiftKey() {\n this.startRangeIndex.set(this.focusedOptionIndex());\n }\n\n onContainerClick(event: any) {\n if (this.disabled || this.loading || this.readonly || (event.target as Node).isSameNode(this.focusInputViewChild?.nativeElement)) {\n return;\n }\n\n if (event.target.tagName === 'INPUT' || event.target.getAttribute('data-pc-section') === 'clearicon' || event.target.closest('[data-pc-section=\"clearicon\"]')) {\n event.preventDefault();\n return;\n } else if (!this.overlayViewChild || !this.overlayViewChild.el.nativeElement.contains(event.target)) {\n if (this.clickInProgress) {\n return;\n }\n\n this.clickInProgress = true;\n\n setTimeout(() => {\n this.clickInProgress = false;\n }, 150);\n\n this.overlayVisible ? this.hide(true) : this.show(true);\n }\n this.focusInputViewChild?.nativeElement.focus({ preventScroll: true });\n this.isDropdownClicked = true;\n this.onClick.emit(event);\n this.cd.detectChanges();\n }\n\n onFirstHiddenFocus(event) {\n const focusableEl =\n event.relatedTarget === this.focusInputViewChild?.nativeElement\n ? DomHandler.getFirstFocusableElement(this.overlayViewChild?.overlayViewChild?.nativeElement, ':not([data-cax-hidden-focusable=\"true\"])')\n : this.focusInputViewChild?.nativeElement;\n\n DomHandler.focus(focusableEl);\n }\n\n onInputFocus(event: Event) {\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({ originalEvent: event });\n }\n\n onInputBlur(event: Event) {\n this.focused = false;\n this.isDropdownClicked = false;\n this.onBlur.emit({ originalEvent: event });\n\n if (!this.preventModelTouched) {\n this.onModelTouched();\n }\n this.preventModelTouched = false;\n }\n\n onFilterInputChange(event: KeyboardEvent) {\n let value: string = (event.target as HTMLInputElement).value;\n this._filterValue.set(value);\n this.focusedOptionIndex.set(-1);\n this.onFilter.emit({ originalEvent: event, filter: this._filterValue() });\n\n !this.virtualScrollerDisabled && this.scroller.scrollToIndex(0);\n setTimeout(() => {\n this.overlayViewChild.alignOverlay();\n });\n }\n\n onLastHiddenFocus(event) {\n const focusableEl =\n event.relatedTarget === this.focusInputViewChild?.nativeElement\n ? DomHandler.getLastFocusableElement(this.overlayViewChild?.overlayViewChild?.nativeElement, ':not([data-cax-hidden-focusable=\"true\"])')\n : this.focusInputViewChild?.nativeElement;\n\n DomHandler.focus(focusableEl);\n }\n\n onOptionMouseEnter(event, index) {\n if (this.focusOnHover) {\n this.changeFocusedOptionIndex(event, index);\n }\n }\n\n onHeaderCheckboxKeyDown(event) {\n if (this.disabled) {\n event.preventDefault();\n\n return;\n }\n\n switch (event.code) {\n case 'Space':\n this.onToggleAll(event);\n break;\n case 'Enter':\n this.onToggleAll(event);\n break;\n default:\n break;\n }\n }\n\n onFilterBlur(event) {\n this.focusedOptionIndex.set(-1);\n }\n\n onHeaderCheckboxFocus() {\n this.headerCheckboxFocus = true;\n }\n\n onHeaderCheckboxBlur() {\n this.headerCheckboxFocus = false;\n }\n\n onToggleAll(event) {\n if (this.disabled || this.readonly) {\n return;\n }\n\n if (this.selectAll != null) {\n this.onSelectAllChange.emit({\n originalEvent: event,\n checked: !this.allSelected()\n });\n } else {\n // pre-selected disabled options should always be selected.\n const selectedDisabledOptions = this.getAllVisibleAndNonVisibleOptions().filter(\n (option) => this.isSelected(option) && (this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : option && option.disabled !== undefined ? option.disabled : false)\n );\n\n const visibleOptions = this.allSelected()\n ? this.visibleOptions().filter((option) => !this.isValidOption(option) && this.isSelected(option))\n : this.visibleOptions().filter((option) => this.isSelected(option) || this.isValidOption(option));\n\n const optionValues = [...selectedDisabledOptions, ...visibleOptions].map((option) => this.getOptionValue(option));\n const value = [...new Set(optionValues)];\n\n this.updateModel(value, event);\n\n // because onToggleAll could have been called during filtering, this additional test needs to be performed before calling onSelectAllChange.emit\n if (!value.length || value.length === this.getAllVisibleAndNonVisibleOptions().length) {\n this.onSelectAllChange.emit({\n originalEvent: event,\n checked: !!value.length\n });\n }\n }\n\n if (this.partialSelected()) {\n this.selectedOptions = null;\n this.cd.markForCheck();\n }\n\n this.onChange.emit({ originalEvent: event, value: this.value });\n DomHandler.focus(this.headerCheckboxViewChild?.nativeElement);\n this.headerCheckboxFocus = true;\n\n event.preventDefault();\n event.stopPropagation();\n }\n\n changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex() !== index) {\n this.focusedOptionIndex.set(index);\n this.scrollInView();\n }\n }\n\n get virtualScrollerDisabled() {\n return !this.virtualScroll;\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 get focusedOptionId() {\n return this.focusedOptionIndex() !== -1 ? `${this.id}_${this.focusedOptionIndex()}` : null;\n }\n\n writeValue(value: any): void {\n this.value = value;\n if (!ObjectUtils.isEmpty(this.selectionLimit) && ObjectUtils.isEmpty(this.value)) {\n this.modelValue.set([]);\n } else {\n this.modelValue.set(this.value);\n }\n\n this.cd.markForCheck();\n }\n\n public registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n public 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 allSelected() {\n return this.selectAll !== null ? this.selectAll : ObjectUtils.isNotEmpty(this.visibleOptions()) && this.visibleOptions().every((option) => this.isOptionGroup(option) || this.isOptionDisabled(option) || this.isSelected(option));\n }\n\n partialSelected() {\n return this.selectedOptions && this.selectedOptions.length > 0 && this.selectedOptions.length < this.options.length;\n }\n\n /**\n * Displays the panel.\n * @group Method\n */\n public show(isFocus?) {\n this.overlayVisible = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n\n if (isFocus) {\n DomHandler.focus(this.focusInputViewChild?.nativeElement);\n }\n\n this.cd.markForCheck();\n }\n\n /**\n * Hides the panel.\n * @group Method\n */\n public hide(isFocus?) {\n this.overlayVisible = false;\n this.focusedOptionIndex.set(-1);\n\n if (this.filter && this.resetFilterOnHide) {\n this.resetFilter();\n }\n if (this.overlayOptions?.mode === 'modal') {\n DomHandler.unblockBodyScroll();\n }\n\n isFocus && DomHandler.focus(this.focusInputViewChild?.nativeElement);\n this.onPanelHide.emit();\n this.cd.markForCheck();\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n switch (event.toState) {\n case 'visible':\n this.itemsWrapper = DomHandler.findSingle(this.overlayViewChild?.overlayViewChild?.nativeElement, this.virtualScroll ? '.cax-scroller' : '.cax-multiselect-items-wrapper');\n this.virtualScroll && this.scroller?.setContentEl(this.itemsViewChild?.nativeElement);\n\n if (this._options() && this._options().length) {\n if (this.virtualScroll) {\n const selectedIndex = ObjectUtils.isNotEmpty(this.modelValue()) ? this.focusedOptionIndex() : -1;\n if (selectedIndex !== -1) {\n this.scroller?.scrollToIndex(selectedIndex);\n }\n } else {\n let selectedListItem = DomHandler.findSingle(this.itemsWrapper, '[data-cax-highlight=\"true\"]');\n\n if (selectedListItem) {\n selectedListItem.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n }\n }\n\n if (this.filterInputChild && this.filterInputChild.nativeElement) {\n this.preventModelTouched = true;\n\n if (this.autofocusFilter) {\n this.filterInputChild.nativeElement.focus();\n }\n }\n\n this.onPanelShow.emit();\n case 'void':\n this.itemsWrapper = null;\n this.onModelTouched();\n break;\n }\n }\n\n resetFilter() {\n if (this.filterInputChild && this.filterInputChild.nativeElement) {\n this.filterInputChild.nativeElement.value = '';\n }\n\n this._filterValue.set(null);\n this._filteredOptions = null;\n }\n\n close(event: Event) {\n this.hide();\n event.preventDefault();\n event.stopPropagation();\n }\n\n clear(event: Event) {\n this.value = null;\n this.updateModel(null, event);\n this.selectedOptions = null;\n this.onClear.emit();\n this._disableTooltip = true;\n\n event.stopPropagation();\n }\n\n labelContainerMouseLeave() {\n if (this._disableTooltip) this._disableTooltip = false;\n }\n\n removeOption(optionValue, event) {\n let value = this.modelValue().filter((val) => !ObjectUtils.equals(val, optionValue, this.equalityKey()));\n\n this.updateModel(value, event);\n this.onChange.emit({\n originalEvent: event,\n value: value,\n itemValue: optionValue\n });\n\n event && event.stopPropagation();\n }\n\n findNextItem(item: any): HTMLElement | null {\n let nextItem = item.nextElementSibling;\n\n if (nextItem) return DomHandler.hasClass(nextItem.children[0], 'cax-disabled') || DomHandler.isHidden(nextItem.children[0]) || DomHandler.hasClass(nextItem, 'cax-multiselect-item-group') ? this.findNextItem(nextItem) : nextItem.children[0];\n else return null;\n }\n\n findPrevItem(item: any): HTMLElement | null {\n let prevItem = item.previousElementSibling;\n\n if (prevItem) return DomHandler.hasClass(prevItem.children[0], 'cax-disabled') || DomHandler.isHidden(prevItem.children[0]) || DomHandler.hasClass(prevItem, 'cax-multiselect-item-group') ? this.findPrevItem(prevItem) : prevItem.children[0];\n else return null;\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 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 findLastSelectedOptionIndex() {\n return this.hasSelectedOption() ? ObjectUtils.findLastIndex(this.visibleOptions(), (option) => this.isValidSelectedOption(option)) : -1;\n }\n\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findLastSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n }\n\n findLastOptionIndex() {\n return ObjectUtils.findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));\n }\n\n searchOptions(event, char) {\n this.searchValue = (this.searchValue || '') + char;\n\n let optionIndex = -1;\n let matched = false;\n\n if (this.focusedOptionIndex() !== -1) {\n optionIndex = this.visibleOptions()\n .slice(this.focusedOptionIndex())\n .findIndex((option) => this.isOptionMatched(option));\n optionIndex =\n optionIndex === -1\n ? this.visibleOptions()\n .slice(0, this.focusedOptionIndex())\n .findIndex((option) => this.isOptionMatched(option))\n : optionIndex + this.focusedOptionIndex();\n } else {\n optionIndex = this.visibleOptions().findIndex((option) => this.isOptionMatched(option));\n }\n\n if (optionIndex !== -1) {\n matched = true;\n }\n\n if (optionIndex === -1 && this.focusedOptionIndex() === -1) {\n optionIndex = this.findFirstFocusedOptionIndex();\n }\n\n if (optionIndex !== -1) {\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n this.searchTimeout = setTimeout(() => {\n this.searchValue = '';\n this.searchTimeout = null;\n }, 500);\n\n return matched;\n }\n\n activateFilter() {\n if (this.hasFilter() && this._options) {\n if (this.group) {\n let filteredGroups = [];\n for (let optgroup of this.options as any[]) {\n let filteredSubOptions = this.filterService.filter(this.getOptionGroupChildren(optgroup), this.searchFields(), this.filterValue, this.filterMatchMode, this.filterLocale);\n if (filteredSubOptions && filteredSubOptions.length) {\n filteredGroups.push({ ...optgroup, ...{ [this.optionGroupChildren]: filteredSubOptions } });\n }\n }\n\n this._filteredOptions = filteredGroups;\n } else {\n this._filteredOptions = this.filterService.filter(this.options as any[], this.searchFields(), this.filterValue, this.filterMatchMode, this.filterLocale);\n }\n } else {\n this._filteredOptions = null;\n }\n }\n\n hasFocusableElements() {\n return DomHandler.getFocusableElements(this.overlayViewChild.overlayViewChild.nativeElement, ':not([data-cax-hidden-focusable=\"true\"])').length > 0;\n }\n\n hasFilter() {\n return this._filterValue() && this._filterValue().trim().length > 0;\n }\n}\n","<li\r\n caxRipple\r\n role=\"option\"\r\n [ngStyle]=\"{ height: itemSize + 'px' }\"\r\n class=\"cax-multiselect-item\"\r\n [ngClass]=\"{ 'cax-multiselect-item': true, 'cax-disabled': disabled, 'cax-focus': focused }\"\r\n [id]=\"id\"\r\n [attr.aria-label]=\"label\"\r\n [attr.aria-setsize]=\"ariaSetSize\"\r\n [attr.aria-posinset]=\"ariaPosInset\"\r\n [attr.aria-selected]=\"selected\"\r\n [attr.data-cax-focused]=\"focused\"\r\n [attr.data-cax-highlight]=\"selected\"\r\n [attr.data-cax-disabled]=\"disabled\"\r\n [attr.aria-checked]=\"selected\"\r\n (click)=\"onOptionClick($event)\"\r\n (mouseenter)=\"onOptionMouseEnter($event)\"\r\n>\r\n <div class=\"cax-checkbox cax-component\" [ngClass]=\"{ 'cax-variant-filled': config.inputStyle() === 'filled' }\">\r\n <div class=\"cax-checkbox-box\" [ngClass]=\"{ 'cax-highlight': selected }\">\r\n <ng-container *ngIf=\"selected\">\r\n <CheckIcon *ngIf=\"!checkIconTemplate && !itemCheckboxIconTemplate\" [styleClass]=\"'cax-checkbox-icon'\" [attr.aria-hidden]=\"true\" />\r\n <span *ngIf=\"checkIconTemplate\" class=\"cax-checkbox-icon\" [attr.aria-hidden]=\"true\">\r\n <ng-template *ngTemplateOutlet=\"checkIconTemplate\"></ng-template>\r\n </span>\r\n <span *ngIf=\"itemCheckboxIconTemplate\" class=\"cax-checkbox-icon\" [attr.aria-hidden]=\"true\">\r\n <ng-template *ngTemplateOutlet=\"itemCheckboxIconTemplate; context: { $implicit: selected }\"></ng-template>\r\n </span>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <span *ngIf=\"!template\">{{ label ?? 'empty' }}</span>\r\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: option }\"></ng-container>\r\n</li>\r\n","<div class=\"cax-dropdown-container\">\r\n <label *ngIf=\"labelText\" [ngClass]=\"labelTextClass\">{{ labelText }}</label>\r\n <div #container [attr.id]=\"id\" [ngClass]=\"containerClass\" [ngStyle]=\"style\" [class]=\"styleClass\" (click)=\"onContainerClick($event)\">\r\n <div class=\"cax-hidden-accessible\" [attr.data-cax-hidden-accessible]=\"true\">\r\n <input\r\n #focusInput\r\n [caxTooltip]=\"tooltip\"\r\n [tooltipPosition]=\"tooltipPosition\"\r\n [positionStyle]=\"tooltipPositionStyle\"\r\n [tooltipStyleClass]=\"tooltipStyleClass\"\r\n [attr.aria-disabled]=\"disabled\"\r\n [attr.id]=\"inputId\"\r\n role=\"combobox\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-haspopup]=\"'listbox'\"\r\n [attr.aria-expanded]=\"overlayVisible ?? false\"\r\n [attr.aria-controls]=\"overlayVisible ? id + '_list' : null\"\r\n [attr.tabindex]=\"!disabled ? tabindex : -1\"\r\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n [attr.value]=\"label() || 'empty'\"\r\n />\r\n </div>\r\n <div\r\n class=\"cax-multiselect-label-container\"\r\n [caxTooltip]=\"tooltip\"\r\n (mouseleave)=\"labelContainerMouseLeave()\"\r\n [tooltipDisabled]=\"_disableTooltip\"\r\n [tooltipPosition]=\"tooltipPosition\"\r\n [positionStyle]=\"tooltipPositionStyle\"\r\n [tooltipStyleClass]=\"tooltipStyleClass\"\r\n >\r\n <div [ngClass]=\"labelClass\">\r\n <ng-container *ngIf=\"!selectedItemsTemplate\">\r\n <ng-container *ngIf=\"display === 'comma'\">{{ label() || 'empty' }}</ng-container>\r\n <ng-container *ngIf=\"display === 'chip'\">\r\n <div #token *ngFor=\"let item of chipSelectedItems(); let i = index\" class=\"cax-multiselect-token\">\r\n <span class=\"cax-multiselect-token-label\">{{ getLabelByValue(item) }}</span>\r\n <ng-container *ngIf=\"!disabled\">\r\n <TimesCircleIcon\r\n *ngIf=\"!removeTokenIconTemplate\"\r\n [ngClass]=\"{ 'cax-disabled': isOptionDisabled(item) }\"\r\n [styleClass]=\"'cax-multiselect-token-icon'\"\r\n (click)=\"removeOption(item, event)\"\r\n [attr.data-pc-section]=\"'clearicon'\"\r\n [attr.aria-hidden]=\"true\"\r\n />\r\n <span *ngIf=\"removeTokenIconTemplate\" class=\"cax-multiselect-token-icon\" (click)=\"removeOption(item, event)\" [attr.data-pc-section]=\"'clearicon'\" [attr.aria-hidden]=\"true\">\r\n <ng-container *ngTemplateOutlet=\"removeTokenIconTemplate\"></ng-container>\r\n </span>\r\n </ng-container>\r\n </div>\r\n <ng-container *ngIf=\"!modelValue() || modelValue().length === 0\">{{ placeholder() || defaultLabel || 'empty' }}</ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngTemplateOutlet=\"selectedItemsTemplate; context: { $implicit: selectedOptions, removeChip: removeOption.bind(this) }\"></ng-container>\r\n </div>\r\n <ng-container *ngIf=\"isVisibleClearIcon\">\r\n <TimesIcon *ngIf=\"!clearIconTemplate\" [styleClass]=\"'cax-multiselect-clear-icon'\" (click)=\"clear($event)\" [attr.data-pc-section]=\"'clearicon'\" [attr.aria-hidden]=\"true\" />\r\n <span *ngIf=\"clearIconTemplate\" class=\"cax-multiselect-clear-icon\" (click)=\"clear($event)\" [attr.data-pc-section]=\"'clearicon'\" [attr.aria-hidden]=\"true\">\r\n <ng-template *ngTemplateOutlet=\"clearIconTemplate\"></ng-template>\r\n </span>\r\n </ng-container>\r\n </div>\r\n <div class=\"cax-multiselect-trigger\">\r\n <ng-container *ngIf=\"loading; else elseBlock\">\r\n <ng-container *ngIf=\"loadingIconTemplate\">\r\n <ng-container *ngTemplateOutlet=\"loadingIconTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!loadingIconTemplate\">\r\n <span *ngIf=\"loadingIcon\" [ngClass]=\"'cax-multiselect-trigger-icon pi-spin ' + loadingIcon\" aria-hidden=\"true\"></span>\r\n <span *ngIf=\"!loadingIcon\" [class]=\"'cax-multiselect-trigger-icon pi pi-spinner pi-spin'\" aria-hidden=\"true\"></span>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseBlock>\r\n <ng-container *ngIf=\"!dropdownIconTemplate\">\r\n <span *ngIf=\"dropdownIcon\" class=\"cax-multiselect-trigger-icon\" [ngClass]=\"dropdownIcon\" [attr.data-pc-section]=\"'triggericon'\" [attr.aria-hidden]=\"true\"></span>\r\n <!-- <ChevronDownIcon *ngIf=\"!dropdownIcon\" [styleClass]=\"'cax-multiselect-trigger-icon'\" [attr.data-pc-section]=\"'triggericon'\" [attr.aria-hidden]=\"true\" /> -->\r\n <i *ngIf=\"!dropdownIcon\" class=\"cax cax-alt-arrow-down\"></i>\r\n </ng-container>\r\n <span *ngIf=\"dropdownIconTemplate\" class=\"cax-multiselect-trigger-icon\" [attr.data-pc-section]=\"'triggericon'\" [attr.aria-hidden]=\"true\">\r\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate\"></ng-template>\r\n </span>\r\n </ng-template>\r\n </div>\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 [autoZIndex]=\"autoZIndex\"\r\n [baseZIndex]=\"baseZIndex\"\r\n [showTransitionOptions]=\"showTransitionOptions\"\r\n [hideTransitionOptions]=\"hideTransitionOptions\"\r\n (onAnimationStart)=\"onOverlayAnimationStart($event)\"\r\n (onHide)=\"hide()\"\r\n >\r\n <ng-template caxTemplate=\"content\">\r\n <div [attr.id]=\"id + '_list'\" [ngClass]=\"'cax-multiselect-panel cax-component'\" [ngStyle]=\"panelStyle\" [class]=\"panelStyleClass\">\r\n <span\r\n #firstHiddenFocusableEl\r\n role=\"presentation\"\r\n class=\"cax-hidden-accessible cax-hidden-focusable\"\r\n [attr.tabindex]=\"0\"\r\n (focus)=\"onFirstHiddenFocus($event)\"\r\n [attr.data-cax-hidden-accessible]=\"true\"\r\n [attr.data-cax-hidden-focusable]=\"true\"\r\n >\r\n </span>\r\n <div class=\"cax-multiselect-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"cax-header\"></ng-content>\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n <ng-container *ngIf=\"filterTemplate; else builtInFilterElement\">\r\n <ng-container *ngTemplateOutlet=\"filterTemplate; context: { options: filterOptions }\"></ng-container>\r\n </ng-container>\r\n <ng-template #builtInFilterElement>\r\n <div class=\"cax-multiselect-filter-container\" *ngIf=\"filter\">\r\n <input\r\n #filterInput\r\n type=\"text\"\r\n role=\"searchbox\"\r\n [attr.autocomplete]=\"autocomplete\"\r\n [attr.placeholder]=\"filterPlaceHolder\"\r\n role=\"searchbox\"\r\n [attr.aria-owns]=\"id + '_list'\"\r\n [attr.aria-activedescendant]=\"focusedOptionId\"\r\n [value]=\"_filterValue() || ''\"\r\n (input)=\"onFilterInputChange($event)\"\r\n (keydown)=\"onFilterKeyDown($event)\"\r\n (click)=\"onInputClick($event)\"\r\n (blur)=\"onFilterBlur($event)\"\r\n class=\"cax-multiselect-filter cax-inputtext cax-component\"\r\n [disabled]=\"disabled\"\r\n [attr.placeholder]=\"filterPlaceHolder\"\r\n [attr.aria-label]=\"ariaFilterLabel\"\r\n />\r\n <SearchIcon [styleClass]=\"'cax-multiselect-filter-icon'\" *ngIf=\"!filterIconTemplate\" />\r\n <span *ngIf=\"filterIconTemplate\" class=\"cax-multiselect-filter-icon\">\r\n <ng-template *ngTemplateOutlet=\"filterIconTemplate\"></ng-template>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div class=\"cax-multiselect-items-wrapper\" [ngStyle]=\"{ 'max-height': virtualScroll ? 'auto' : scrollHeight || 'auto' }\">\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 [tabindex]=\"-1\"\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-multiselect-items cax-component\" [ngClass]=\"scrollerOptions.contentStyleClass\" [ngStyle]=\"scrollerOptions.contentStyle\" role=\"listbox\" aria-multiselectable=\"true\" [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-multiselect-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 <cax-multiSelectItem\r\n [id]=\"id + '_' + getOptionIndex(i, scrollerOptions)\"\r\n [option]=\"option\"\r\n [selected]=\"isSelected(option)\"\r\n [label]=\"getOptionLabel(option)\"\r\n [disabled]=\"isOptionDisabled(option)\"\r\n [template]=\"itemTemplate\"\r\n [checkIconTemplate]=\"checkIconTemplate\"\r\n [itemCheckboxIconTemplate]=\"itemCheckboxIconTemplate\"\r\n [itemSize]=\"scrollerOptions.itemSize\"\r\n [focused]=\"focusedOptionIndex() === getOptionIndex(i, scrollerOptions)\"\r\n [ariaPosInset]=\"getAriaPosInset(getOptionIndex(i, scrollerOptions))\"\r\n [ariaSetSize]=\"ariaSetSize\"\r\n (onClick)=\"onOptionSelect($event, false, getOptionIndex(i, scrollerOptions))\"\r\n (onMouseEnter)=\"onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))\"\r\n ></cax-multiSelectItem>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <li *ngIf=\"hasFilter() && isEmpty()\" class=\"cax-multiselect-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\r\n <ng-container *ngIf=\"!emptyFilterTemplate && !emptyTemplate; else emptyFilter\"> {{ emptyFilterMessageLabel }} </ng-container>\r\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate || emptyTemplate\"></ng-container>\r\n </li>\r\n <li *ngIf=\"!hasFilter() && isEmpty()\" class=\"cax-multiselect-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\r\n <ng-container *ngIf=\"!emptyTemplate; else empty\"> {{ emptyMessageLabel }} </ng-container>\r\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n </div>\r\n <div class=\"cax-multiselect-footer\" *ngIf=\"footerFacet || footerTemplate\">\r\n <ng-content select=\"cax-footer\"></ng-content>\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n\r\n <span\r\n #lastHiddenFocusableEl\r\n role=\"presentation\"\r\n class=\"cax-hidden-accessible cax-hidden-focusable\"\r\n [attr.tabindex]=\"0\"\r\n (focus)=\"onLastHiddenFocus($event)\"\r\n [attr.data-cax-hidden-accessible]=\"true\"\r\n [attr.data-cax-hidden-focusable]=\"true\"\r\n ></span>\r\n </div>\r\n </ng-template>\r\n </cax-overlay>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from 'cax-design-system/api';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\nimport { CheckIcon } from 'cax-design-system/icons/check';\nimport { ChevronDownIcon } from 'cax-design-system/icons/chevrondown';\nimport { MinusIcon } from 'cax-design-system/icons/minus';\nimport { SearchIcon } from 'cax-design-system/icons/search';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { TimesCircleIcon } from 'cax-design-system/icons/timescircle';\nimport { OverlayModule } from 'cax-design-system/overlay';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { ScrollerModule } from 'cax-design-system/scroller';\nimport { TooltipModule } from 'cax-design-system/tooltip';\nimport { MultiSelect, MultiSelectItem } from './multiselect';\n\n@NgModule({\n imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule, CheckIcon, SearchIcon, TimesCircleIcon, TimesIcon, ChevronDownIcon, CheckIcon, MinusIcon],\n exports: [MultiSelect, OverlayModule, SharedModule, ScrollerModule],\n declarations: [MultiSelect, MultiSelectItem]\n})\nexport class MultiSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}