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,626 +0,0 @@
1
- import { animate, style, transition, trigger } from '@angular/animations';
2
- import { DOCUMENT, isPlatformBrowser } from '@angular/common';
3
- import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Inject, Input, Output, PLATFORM_ID, Pipe, ViewChild, ViewEncapsulation, booleanAttribute, computed, forwardRef, numberAttribute, signal } from '@angular/core';
4
- import { CaxTemplate } from 'cax-design-system/api';
5
- import { ConnectedOverlayScrollHandler, DomHandler } from 'cax-design-system/dom';
6
- import { UniqueComponentId, ZIndexUtils } from 'cax-design-system/utils';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/platform-browser";
9
- import * as i2 from "@angular/common";
10
- import * as i3 from "@angular/router";
11
- import * as i4 from "cax-design-system/api";
12
- import * as i5 from "cax-design-system/tooltip";
13
- export class SafeHtmlPipe {
14
- platformId;
15
- sanitizer;
16
- constructor(platformId, sanitizer) {
17
- this.platformId = platformId;
18
- this.sanitizer = sanitizer;
19
- }
20
- transform(value) {
21
- if (!value || !isPlatformBrowser(this.platformId)) {
22
- return value;
23
- }
24
- return this.sanitizer.bypassSecurityTrustHtml(value);
25
- }
26
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: PLATFORM_ID }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
27
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: SafeHtmlPipe, name: "safeHtml" });
28
- }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: SafeHtmlPipe, decorators: [{
30
- type: Pipe,
31
- args: [{
32
- name: 'safeHtml'
33
- }]
34
- }], ctorParameters: () => [{ type: undefined, decorators: [{
35
- type: Inject,
36
- args: [PLATFORM_ID]
37
- }] }, { type: i1.DomSanitizer }] });
38
- export class MenuItemContent {
39
- item;
40
- itemTemplate;
41
- onMenuItemClick = new EventEmitter();
42
- menu;
43
- constructor(menu) {
44
- this.menu = menu;
45
- }
46
- onItemClick(event, item) {
47
- this.onMenuItemClick.emit({ originalEvent: event, item });
48
- }
49
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: MenuItemContent, deps: [{ token: forwardRef(() => Menu) }], target: i0.ɵɵFactoryTarget.Component });
50
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: MenuItemContent, selector: "[caxMenuItemContent]", inputs: { item: ["caxMenuItemContent", "item"], itemTemplate: "itemTemplate" }, outputs: { onMenuItemClick: "onMenuItemClick" }, host: { classAttribute: "cax-element" }, ngImport: i0, template: "<div [attr.data-pc-section]=\"'content'\" class=\"cax-menuitem-content\" (click)=\"onItemClick($event, item)\">\r\n <ng-container *ngIf=\"!itemTemplate\">\r\n <a\r\n *ngIf=\"!item?.routerLink\"\r\n [attr.title]=\"item.title\"\r\n [attr.href]=\"item.url || null\"\r\n [attr.data-automationid]=\"item.automationId\"\r\n [attr.tabindex]=\"-1\"\r\n [attr.data-pc-section]=\"'action'\"\r\n class=\"cax-menuitem-link\"\r\n [target]=\"item.target\"\r\n [ngClass]=\"{ 'cax-disabled': item.disabled }\"\r\n pRipple\r\n >\r\n <ng-container *ngTemplateOutlet=\"itemContent; context: { $implicit: item }\"></ng-container>\r\n </a>\r\n <a\r\n *ngIf=\"item?.routerLink\"\r\n [routerLink]=\"item.routerLink\"\r\n [attr.data-automationid]=\"item.automationId\"\r\n [attr.tabindex]=\"-1\"\r\n [attr.data-pc-section]=\"'action'\"\r\n [attr.title]=\"item.title\"\r\n [queryParams]=\"item.queryParams\"\r\n routerLinkActive=\"cax-menuitem-link-active\"\r\n [routerLinkActiveOptions]=\"item.routerLinkActiveOptions || { exact: false }\"\r\n class=\"cax-menuitem-link\"\r\n [target]=\"item.target\"\r\n [ngClass]=\"{ 'cax-disabled': item.disabled }\"\r\n [fragment]=\"item.fragment\"\r\n [queryParamsHandling]=\"item.queryParamsHandling\"\r\n [preserveFragment]=\"item.preserveFragment\"\r\n [skipLocationChange]=\"item.skipLocationChange\"\r\n [replaceUrl]=\"item.replaceUrl\"\r\n [state]=\"item.state\"\r\n pRipple\r\n >\r\n <ng-container *ngTemplateOutlet=\"itemContent; context: { $implicit: item }\"></ng-container>\r\n </a>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"itemTemplate\">\r\n <ng-template *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-template>\r\n </ng-container>\r\n\r\n <ng-template #itemContent>\r\n <span class=\"cax-menuitem-icon\" *ngIf=\"item.icon\" [ngClass]=\"item.icon\" [class]=\"item.iconClass\" [ngStyle]=\"item.iconStyle\"></span>\r\n <span class=\"cax-menuitem-text\" *ngIf=\"item.escape !== false; else htmlLabel\">{{ item.label }}</span>\r\n <ng-template #htmlLabel><span class=\"cax-menuitem-text\" [innerHTML]=\"item.label | safeHtml\"></span></ng-template>\r\n <span class=\"cax-menuitem-badge\" *ngIf=\"item.badge\" [ngClass]=\"item.badgeStyleClass\">{{ item.badge }}</span>\r\n </ng-template>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }], encapsulation: i0.ViewEncapsulation.None });
51
- }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: MenuItemContent, decorators: [{
53
- type: Component,
54
- args: [{ selector: '[caxMenuItemContent]', encapsulation: ViewEncapsulation.None, host: {
55
- class: 'cax-element'
56
- }, template: "<div [attr.data-pc-section]=\"'content'\" class=\"cax-menuitem-content\" (click)=\"onItemClick($event, item)\">\r\n <ng-container *ngIf=\"!itemTemplate\">\r\n <a\r\n *ngIf=\"!item?.routerLink\"\r\n [attr.title]=\"item.title\"\r\n [attr.href]=\"item.url || null\"\r\n [attr.data-automationid]=\"item.automationId\"\r\n [attr.tabindex]=\"-1\"\r\n [attr.data-pc-section]=\"'action'\"\r\n class=\"cax-menuitem-link\"\r\n [target]=\"item.target\"\r\n [ngClass]=\"{ 'cax-disabled': item.disabled }\"\r\n pRipple\r\n >\r\n <ng-container *ngTemplateOutlet=\"itemContent; context: { $implicit: item }\"></ng-container>\r\n </a>\r\n <a\r\n *ngIf=\"item?.routerLink\"\r\n [routerLink]=\"item.routerLink\"\r\n [attr.data-automationid]=\"item.automationId\"\r\n [attr.tabindex]=\"-1\"\r\n [attr.data-pc-section]=\"'action'\"\r\n [attr.title]=\"item.title\"\r\n [queryParams]=\"item.queryParams\"\r\n routerLinkActive=\"cax-menuitem-link-active\"\r\n [routerLinkActiveOptions]=\"item.routerLinkActiveOptions || { exact: false }\"\r\n class=\"cax-menuitem-link\"\r\n [target]=\"item.target\"\r\n [ngClass]=\"{ 'cax-disabled': item.disabled }\"\r\n [fragment]=\"item.fragment\"\r\n [queryParamsHandling]=\"item.queryParamsHandling\"\r\n [preserveFragment]=\"item.preserveFragment\"\r\n [skipLocationChange]=\"item.skipLocationChange\"\r\n [replaceUrl]=\"item.replaceUrl\"\r\n [state]=\"item.state\"\r\n pRipple\r\n >\r\n <ng-container *ngTemplateOutlet=\"itemContent; context: { $implicit: item }\"></ng-container>\r\n </a>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"itemTemplate\">\r\n <ng-template *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-template>\r\n </ng-container>\r\n\r\n <ng-template #itemContent>\r\n <span class=\"cax-menuitem-icon\" *ngIf=\"item.icon\" [ngClass]=\"item.icon\" [class]=\"item.iconClass\" [ngStyle]=\"item.iconStyle\"></span>\r\n <span class=\"cax-menuitem-text\" *ngIf=\"item.escape !== false; else htmlLabel\">{{ item.label }}</span>\r\n <ng-template #htmlLabel><span class=\"cax-menuitem-text\" [innerHTML]=\"item.label | safeHtml\"></span></ng-template>\r\n <span class=\"cax-menuitem-badge\" *ngIf=\"item.badge\" [ngClass]=\"item.badgeStyleClass\">{{ item.badge }}</span>\r\n </ng-template>\r\n</div>\r\n" }]
57
- }], ctorParameters: () => [{ type: Menu, decorators: [{
58
- type: Inject,
59
- args: [forwardRef(() => Menu)]
60
- }] }], propDecorators: { item: [{
61
- type: Input,
62
- args: ['caxMenuItemContent']
63
- }], itemTemplate: [{
64
- type: Input
65
- }], onMenuItemClick: [{
66
- type: Output
67
- }] } });
68
- /**
69
- * Menu is a navigation / command component that supports dynamic and static positioning.
70
- * @group Components
71
- */
72
- export class Menu {
73
- document;
74
- platformId;
75
- el;
76
- renderer;
77
- cd;
78
- config;
79
- overlayService;
80
- /**
81
- * An array of menuitems.
82
- * @group Props
83
- */
84
- model;
85
- /**
86
- * Defines if menu would displayed as a popup.
87
- * @group Props
88
- */
89
- popup;
90
- /**
91
- * Inline style of the component.
92
- * @group Props
93
- */
94
- style;
95
- /**
96
- * Style class of the component.
97
- * @group Props
98
- */
99
- styleClass;
100
- /**
101
- * 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).
102
- * @group Props
103
- */
104
- appendTo;
105
- /**
106
- * Whether to automatically manage layering.
107
- * @group Props
108
- */
109
- autoZIndex = true;
110
- /**
111
- * Base zIndex value to use in layering.
112
- * @group Props
113
- */
114
- baseZIndex = 0;
115
- /**
116
- * Transition options of the show animation.
117
- * @group Props
118
- */
119
- showTransitionOptions = '.12s cubic-bezier(0, 0, 0.2, 1)';
120
- /**
121
- * Transition options of the hide animation.
122
- * @group Props
123
- */
124
- hideTransitionOptions = '.1s linear';
125
- /**
126
- * Defines a string value that labels an interactive element.
127
- * @group Props
128
- */
129
- ariaLabel;
130
- /**
131
- * Identifier of the underlying input element.
132
- * @group Props
133
- */
134
- ariaLabelledBy;
135
- /**
136
- * Current id state as a string.
137
- * @group Props
138
- */
139
- id;
140
- /**
141
- * Index of the element in tabbing order.
142
- * @group Props
143
- */
144
- tabindex = 0;
145
- /**
146
- * Callback to invoke when overlay menu is shown.
147
- * @group Emits
148
- */
149
- onShow = new EventEmitter();
150
- /**
151
- * Callback to invoke when overlay menu is hidden.
152
- * @group Emits
153
- */
154
- onHide = new EventEmitter();
155
- /**
156
- * Callback to invoke when the list loses focus.
157
- * @param {Event} event - blur event.
158
- * @group Emits
159
- */
160
- onBlur = new EventEmitter();
161
- /**
162
- * Callback to invoke when the list receives focus.
163
- * @param {Event} event - focus event.
164
- * @group Emits
165
- */
166
- onFocus = new EventEmitter();
167
- listViewChild;
168
- containerViewChild;
169
- templates;
170
- startTemplate;
171
- endTemplate;
172
- itemTemplate;
173
- submenuHeaderTemplate;
174
- container;
175
- scrollHandler;
176
- documentClickListener;
177
- documentResizeListener;
178
- preventDocumentDefault;
179
- target;
180
- visible;
181
- focusedOptionId = computed(() => {
182
- return this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : null;
183
- });
184
- focusedOptionIndex = signal(-1);
185
- selectedOptionIndex = signal(-1);
186
- focused = false;
187
- overlayVisible = false;
188
- relativeAlign;
189
- constructor(document, platformId, el, renderer, cd, config, overlayService) {
190
- this.document = document;
191
- this.platformId = platformId;
192
- this.el = el;
193
- this.renderer = renderer;
194
- this.cd = cd;
195
- this.config = config;
196
- this.overlayService = overlayService;
197
- this.id = this.id || UniqueComponentId();
198
- }
199
- /**
200
- * Toggles the visibility of the popup menu.
201
- * @param {Event} event - Browser event.
202
- * @group Method
203
- */
204
- toggle(event) {
205
- if (this.visible)
206
- this.hide();
207
- else
208
- this.show(event);
209
- this.preventDocumentDefault = true;
210
- }
211
- /**
212
- * Displays the popup menu.
213
- * @param {Event} event - Browser event.
214
- * @group Method
215
- */
216
- show(event) {
217
- if (this.visible && this.target !== event.currentTarget) {
218
- this.hide();
219
- }
220
- this.target = event.currentTarget;
221
- this.relativeAlign = event.relativeAlign;
222
- this.visible = true;
223
- this.preventDocumentDefault = true;
224
- this.overlayVisible = true;
225
- this.cd.detectChanges();
226
- }
227
- ngOnInit() {
228
- if (!this.popup) {
229
- this.bindDocumentClickListener();
230
- }
231
- }
232
- ngAfterContentInit() {
233
- this.templates?.forEach((item) => {
234
- switch (item.getType()) {
235
- case 'start':
236
- this.startTemplate = item.template;
237
- break;
238
- case 'end':
239
- this.endTemplate = item.template;
240
- break;
241
- case 'itemTemplate':
242
- this.itemTemplate = item.template;
243
- break;
244
- case 'submenuheader':
245
- this.submenuHeaderTemplate = item.template;
246
- break;
247
- default:
248
- this.itemTemplate = item.template;
249
- break;
250
- }
251
- });
252
- }
253
- getTabIndexValue() {
254
- return this.tabindex !== undefined ? this.tabindex.toString() : null;
255
- }
256
- onOverlayAnimationStart(event) {
257
- switch (event.toState) {
258
- case 'visible':
259
- if (this.popup) {
260
- this.container = event.element;
261
- this.moveOnTop();
262
- this.onShow.emit({});
263
- this.appendOverlay();
264
- this.alignOverlay();
265
- this.bindDocumentClickListener();
266
- this.bindDocumentResizeListener();
267
- this.bindScrollListener();
268
- DomHandler.focus(this.listViewChild.nativeElement);
269
- this.preventDocumentDefault = true;
270
- }
271
- break;
272
- case 'void':
273
- this.onOverlayHide();
274
- this.onHide.emit({});
275
- break;
276
- }
277
- }
278
- onOverlayAnimationEnd(event) {
279
- switch (event.toState) {
280
- case 'void':
281
- if (this.autoZIndex) {
282
- ZIndexUtils.clear(event.element);
283
- }
284
- break;
285
- }
286
- }
287
- alignOverlay() {
288
- if (this.relativeAlign)
289
- DomHandler.relativePosition(this.container, this.target);
290
- else
291
- DomHandler.absolutePosition(this.container, this.target);
292
- }
293
- appendOverlay() {
294
- if (this.appendTo) {
295
- if (this.appendTo === 'body')
296
- this.renderer.appendChild(this.document.body, this.container);
297
- else
298
- DomHandler.appendChild(this.container, this.appendTo);
299
- }
300
- }
301
- restoreOverlayAppend() {
302
- if (this.container && this.appendTo) {
303
- this.renderer.appendChild(this.el.nativeElement, this.container);
304
- }
305
- }
306
- moveOnTop() {
307
- if (this.autoZIndex) {
308
- ZIndexUtils.set('menu', this.container, this.baseZIndex + this.config.zIndex.menu);
309
- }
310
- }
311
- /**
312
- * Hides the popup menu.
313
- * @group Method
314
- */
315
- hide() {
316
- this.visible = false;
317
- this.relativeAlign = false;
318
- this.cd.detectChanges();
319
- }
320
- onWindowResize() {
321
- if (this.visible && !DomHandler.isTouchDevice()) {
322
- this.hide();
323
- }
324
- }
325
- menuitemId(item, id, index, childIndex) {
326
- return item?.id ?? `${id}_${index}${childIndex !== undefined ? '_' + childIndex : ''}`;
327
- }
328
- isItemFocused(id) {
329
- return this.focusedOptionId() === id;
330
- }
331
- label(label) {
332
- return typeof label === 'function' ? label() : label;
333
- }
334
- disabled(disabled) {
335
- return typeof disabled === 'function' ? disabled() : typeof disabled === 'undefined' ? false : disabled;
336
- }
337
- activedescendant() {
338
- return this.focused ? this.focusedOptionId() : undefined;
339
- }
340
- onListFocus(event) {
341
- if (!this.focused) {
342
- this.focused = true;
343
- this.onFocus.emit(event);
344
- }
345
- }
346
- onListBlur(event) {
347
- if (this.focused) {
348
- this.focused = false;
349
- this.changeFocusedOptionIndex(-1);
350
- this.selectedOptionIndex.set(-1);
351
- this.focusedOptionIndex.set(-1);
352
- this.onBlur.emit(event);
353
- }
354
- }
355
- onListKeyDown(event) {
356
- switch (event.code) {
357
- case 'ArrowDown':
358
- this.onArrowDownKey(event);
359
- break;
360
- case 'ArrowUp':
361
- this.onArrowUpKey(event);
362
- break;
363
- case 'Home':
364
- this.onHomeKey(event);
365
- break;
366
- case 'End':
367
- this.onEndKey(event);
368
- break;
369
- case 'Enter':
370
- this.onEnterKey(event);
371
- break;
372
- case 'NumpadEnter':
373
- this.onEnterKey(event);
374
- break;
375
- case 'Space':
376
- this.onSpaceKey(event);
377
- break;
378
- case 'Escape':
379
- case 'Tab':
380
- if (this.popup) {
381
- DomHandler.focus(this.target);
382
- this.hide();
383
- }
384
- this.overlayVisible && this.hide();
385
- break;
386
- default:
387
- break;
388
- }
389
- }
390
- onArrowDownKey(event) {
391
- const optionIndex = this.findNextOptionIndex(this.focusedOptionIndex());
392
- this.changeFocusedOptionIndex(optionIndex);
393
- event.preventDefault();
394
- }
395
- onArrowUpKey(event) {
396
- if (event.altKey && this.popup) {
397
- DomHandler.focus(this.target);
398
- this.hide();
399
- event.preventDefault();
400
- }
401
- else {
402
- const optionIndex = this.findPrevOptionIndex(this.focusedOptionIndex());
403
- this.changeFocusedOptionIndex(optionIndex);
404
- event.preventDefault();
405
- }
406
- }
407
- onHomeKey(event) {
408
- this.changeFocusedOptionIndex(0);
409
- event.preventDefault();
410
- }
411
- onEndKey(event) {
412
- this.changeFocusedOptionIndex(DomHandler.find(this.containerViewChild.nativeElement, 'li[data-pc-section="menuitem"][data-cax-disabled="false"]').length - 1);
413
- event.preventDefault();
414
- }
415
- onEnterKey(event) {
416
- const element = DomHandler.findSingle(this.containerViewChild.nativeElement, `li[id="${`${this.focusedOptionIndex()}`}"]`);
417
- const anchorElement = element && DomHandler.findSingle(element, 'a');
418
- this.popup && DomHandler.focus(this.target);
419
- anchorElement ? anchorElement.click() : element && element.click();
420
- event.preventDefault();
421
- }
422
- onSpaceKey(event) {
423
- this.onEnterKey(event);
424
- }
425
- findNextOptionIndex(index) {
426
- const links = DomHandler.find(this.containerViewChild.nativeElement, 'li[data-pc-section="menuitem"][data-cax-disabled="false"]');
427
- const matchedOptionIndex = [...links].findIndex((link) => link.id === index);
428
- return matchedOptionIndex > -1 ? matchedOptionIndex + 1 : 0;
429
- }
430
- findPrevOptionIndex(index) {
431
- const links = DomHandler.find(this.containerViewChild.nativeElement, 'li[data-pc-section="menuitem"][data-cax-disabled="false"]');
432
- const matchedOptionIndex = [...links].findIndex((link) => link.id === index);
433
- return matchedOptionIndex > -1 ? matchedOptionIndex - 1 : 0;
434
- }
435
- changeFocusedOptionIndex(index) {
436
- const links = DomHandler.find(this.containerViewChild.nativeElement, 'li[data-pc-section="menuitem"][data-cax-disabled="false"]');
437
- if (links.length > 0) {
438
- let order = index >= links.length ? links.length - 1 : index < 0 ? 0 : index;
439
- order > -1 && this.focusedOptionIndex.set(links[order].getAttribute('id'));
440
- }
441
- }
442
- itemClick(event, id) {
443
- const { originalEvent, item } = event;
444
- if (!this.focused) {
445
- this.focused = true;
446
- this.onFocus.emit();
447
- }
448
- if (item.disabled) {
449
- originalEvent.preventDefault();
450
- return;
451
- }
452
- if (!item.url && !item.routerLink) {
453
- originalEvent.preventDefault();
454
- }
455
- if (item.command) {
456
- item.command({
457
- originalEvent: originalEvent,
458
- item: item
459
- });
460
- }
461
- if (this.popup) {
462
- this.hide();
463
- }
464
- if (!this.popup && this.focusedOptionIndex() !== id) {
465
- this.focusedOptionIndex.set(id);
466
- }
467
- }
468
- onOverlayClick(event) {
469
- if (this.popup) {
470
- this.overlayService.add({
471
- originalEvent: event,
472
- target: this.el.nativeElement
473
- });
474
- }
475
- this.preventDocumentDefault = true;
476
- }
477
- bindDocumentClickListener() {
478
- if (!this.documentClickListener && isPlatformBrowser(this.platformId)) {
479
- const documentTarget = this.el ? this.el.nativeElement.ownerDocument : 'document';
480
- this.documentClickListener = this.renderer.listen(documentTarget, 'click', (event) => {
481
- const isOutsideContainer = this.containerViewChild?.nativeElement && !this.containerViewChild?.nativeElement.contains(event.target);
482
- const isOutsideTarget = !(this.target && (this.target === event.target || this.target.contains(event.target)));
483
- if (!this.popup && isOutsideContainer && isOutsideTarget) {
484
- this.onListBlur(event);
485
- }
486
- if (this.preventDocumentDefault && this.overlayVisible && isOutsideContainer && isOutsideTarget) {
487
- this.hide();
488
- this.preventDocumentDefault = false;
489
- }
490
- });
491
- }
492
- }
493
- unbindDocumentClickListener() {
494
- if (this.documentClickListener) {
495
- this.documentClickListener();
496
- this.documentClickListener = null;
497
- }
498
- }
499
- bindDocumentResizeListener() {
500
- if (!this.documentResizeListener && isPlatformBrowser(this.platformId)) {
501
- const window = this.document.defaultView;
502
- this.documentResizeListener = this.renderer.listen(window, 'resize', this.onWindowResize.bind(this));
503
- }
504
- }
505
- unbindDocumentResizeListener() {
506
- if (this.documentResizeListener) {
507
- this.documentResizeListener();
508
- this.documentResizeListener = null;
509
- }
510
- }
511
- bindScrollListener() {
512
- if (!this.scrollHandler && isPlatformBrowser(this.platformId)) {
513
- this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, () => {
514
- if (this.visible) {
515
- this.hide();
516
- }
517
- });
518
- }
519
- this.scrollHandler?.bindScrollListener();
520
- }
521
- unbindScrollListener() {
522
- if (this.scrollHandler) {
523
- this.scrollHandler.unbindScrollListener();
524
- }
525
- }
526
- onOverlayHide() {
527
- this.unbindDocumentClickListener();
528
- this.unbindDocumentResizeListener();
529
- this.unbindScrollListener();
530
- this.preventDocumentDefault = false;
531
- }
532
- ngOnDestroy() {
533
- if (this.popup) {
534
- if (this.scrollHandler) {
535
- this.scrollHandler.destroy();
536
- this.scrollHandler = null;
537
- }
538
- if (this.container && this.autoZIndex) {
539
- ZIndexUtils.clear(this.container);
540
- }
541
- this.restoreOverlayAppend();
542
- this.onOverlayHide();
543
- }
544
- if (!this.popup) {
545
- this.unbindDocumentClickListener();
546
- }
547
- }
548
- hasSubMenu() {
549
- if (this.model) {
550
- for (var item of this.model) {
551
- if (item.items) {
552
- return true;
553
- }
554
- }
555
- }
556
- return false;
557
- }
558
- isItemHidden(item) {
559
- if (item.separator) {
560
- return item.visible === false || (item.items && item.items.some((subitem) => subitem.visible !== false));
561
- }
562
- return item.visible === false;
563
- }
564
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Menu, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i4.caxConfig }, { token: i4.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
565
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: Menu, selector: "cax-menu", inputs: { model: "model", popup: ["popup", "popup", booleanAttribute], style: "style", styleClass: "styleClass", appendTo: "appendTo", autoZIndex: ["autoZIndex", "autoZIndex", booleanAttribute], baseZIndex: ["baseZIndex", "baseZIndex", numberAttribute], showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", id: "id", tabindex: ["tabindex", "tabindex", numberAttribute] }, outputs: { onShow: "onShow", onHide: "onHide", onBlur: "onBlur", onFocus: "onFocus" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "listViewChild", first: true, predicate: ["list"], descendants: true }, { propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "<div\r\n #container\r\n [ngClass]=\"{ 'cax-menu cax-component': true, 'cax-menu-overlay': popup }\"\r\n [class]=\"styleClass\"\r\n [ngStyle]=\"style\"\r\n *ngIf=\"!popup || visible\"\r\n (click)=\"onOverlayClick($event)\"\r\n [@overlayAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\r\n [@.disabled]=\"popup !== true\"\r\n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\"\r\n (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\"\r\n [attr.data-pc-name]=\"'menu'\"\r\n [attr.id]=\"id\"\r\n>\r\n <div *ngIf=\"startTemplate\" class=\"cax-menu-start\" [attr.data-pc-section]=\"'start'\">\r\n <ng-container *ngTemplateOutlet=\"startTemplate\"></ng-container>\r\n </div>\r\n <ul\r\n #list\r\n class=\"cax-menu-list cax-reset\"\r\n role=\"menu\"\r\n [attr.id]=\"id + '_list'\"\r\n [attr.tabindex]=\"getTabIndexValue()\"\r\n [attr.data-pc-section]=\"'menu'\"\r\n [attr.aria-activedescendant]=\"activedescendant()\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledBy]=\"ariaLabelledBy\"\r\n (focus)=\"onListFocus($event)\"\r\n (blur)=\"onListBlur($event)\"\r\n (keydown)=\"onListKeyDown($event)\"\r\n >\r\n <ng-template ngFor let-submenu let-i=\"index\" [ngForOf]=\"model\" *ngIf=\"hasSubMenu()\">\r\n <li class=\"cax-menuitem-separator\" *ngIf=\"submenu.separator\" [ngClass]=\"{ 'cax-hidden': submenu.visible === false }\" role=\"separator\"></li>\r\n <li\r\n class=\"cax-submenu-header\"\r\n [attr.data-automationid]=\"submenu.automationId\"\r\n *ngIf=\"!submenu.separator && submenu.label\"\r\n [ngClass]=\"{ 'cax-hidden': submenu.visible === false, flex: submenu.visible }\"\r\n caxTooltip\r\n [tooltipOptions]=\"submenu.tooltipOptions\"\r\n role=\"none\"\r\n [attr.id]=\"menuitemId(submenu, id, i)\"\r\n >\r\n <span *ngIf=\"submenu.label\">\r\n <ng-container *ngIf=\"!submenuHeaderTemplate\">\r\n <span *ngIf=\"submenu.escape !== false; else htmlSubmenuLabel\">{{ submenu.label }}</span>\r\n <ng-template #htmlSubmenuLabel><span [innerHTML]=\"submenu.label | safeHtml\"></span></ng-template>\r\n </ng-container>\r\n <ng-container *ngTemplateOutlet=\"submenuHeaderTemplate; context: { $implicit: submenu }\"></ng-container>\r\n </span>\r\n </li>\r\n <ng-template ngFor let-item let-j=\"index\" [ngForOf]=\"submenu.items\">\r\n <li class=\"cax-menuitem-separator\" *ngIf=\"item.separator\" [ngClass]=\"{ 'cax-hidden': item.visible === false || submenu.visible === false }\" role=\"separator\"></li>\r\n <li\r\n class=\"cax-menuitem\"\r\n *ngIf=\"!item.separator && item.label\"\r\n [caxMenuItemContent]=\"item\"\r\n [itemTemplate]=\"itemTemplate\"\r\n [ngClass]=\"{ 'cax-hidden': item.visible === false || submenu.visible === false, 'cax-focus': focusedOptionId() && menuitemId(item, id, i, j) === focusedOptionId(), 'cax-disabled': disabled(item.disabled) }\"\r\n [ngStyle]=\"item.style\"\r\n [class]=\"item.styleClass\"\r\n (onMenuItemClick)=\"itemClick($event, menuitemId(item, id, i, j))\"\r\n caxTooltip\r\n [tooltipOptions]=\"item.tooltipOptions\"\r\n role=\"menuitem\"\r\n [attr.data-pc-section]=\"'menuitem'\"\r\n [attr.aria-label]=\"label(item.label)\"\r\n [attr.data-cax-focused]=\"isItemFocused(menuitemId(item, id, i, j))\"\r\n [attr.data-cax-disabled]=\"disabled(item.disabled)\"\r\n [attr.aria-disabled]=\"disabled(item.disabled)\"\r\n [attr.id]=\"menuitemId(item, id, i, j)\"\r\n ></li>\r\n </ng-template>\r\n </ng-template>\r\n <ng-template ngFor let-item let-i=\"index\" [ngForOf]=\"model\" *ngIf=\"!hasSubMenu()\">\r\n <li class=\"cax-menuitem-separator\" *ngIf=\"item.separator\" [ngClass]=\"{ 'cax-hidden': item.visible === false }\" role=\"separator\"></li>\r\n <li\r\n class=\"cax-menuitem\"\r\n *ngIf=\"!item.separator && item.label\"\r\n [caxMenuItemContent]=\"item\"\r\n [itemTemplate]=\"itemTemplate\"\r\n [ngClass]=\"{ 'cax-hidden': item.visible === false, 'cax-focus': focusedOptionId() && menuitemId(item, id, i, j) === focusedOptionId(), 'cax-disabled': disabled(item.disabled) }\"\r\n [ngStyle]=\"item.style\"\r\n [class]=\"item.styleClass\"\r\n (onMenuItemClick)=\"itemClick($event, menuitemId(item, id, i))\"\r\n caxTooltip\r\n [tooltipOptions]=\"item.tooltipOptions\"\r\n role=\"menuitem\"\r\n [attr.data-pc-section]=\"'menuitem'\"\r\n [attr.aria-label]=\"label(item.label)\"\r\n [attr.data-cax-focused]=\"isItemFocused(menuitemId(item, id, i))\"\r\n [attr.data-cax-disabled]=\"disabled(item.disabled)\"\r\n [attr.aria-disabled]=\"disabled(item.disabled)\"\r\n [attr.id]=\"menuitemId(item, id, i)\"\r\n ></li>\r\n </ng-template>\r\n </ul>\r\n <div *ngIf=\"endTemplate\" class=\"cax-menu-end\" [attr.data-pc-section]=\"'end'\">\r\n <ng-container *ngTemplateOutlet=\"endTemplate\"></ng-container>\r\n </div>\r\n</div>\r\n", styles: ["@layer cax{.cax-menu-overlay{position:absolute;top:0;left:0}.cax-menu ul{margin:0;padding:0;list-style:none}.cax-menu .cax-submenu-header{align-items:center}.cax-menu .cax-menuitem-link{cursor:pointer;display:flex;align-items:center;text-decoration:none;overflow:hidden;position:relative;gap:4px}.cax-menu .cax-menuitem-text{line-height:1}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i5.Tooltip, selector: "[caxTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "caxTooltip", "tooltipDisabled", "tooltipOptions", "linkUrl", "linkText"] }, { kind: "component", type: MenuItemContent, selector: "[caxMenuItemContent]", inputs: ["caxMenuItemContent", "itemTemplate"], outputs: ["onMenuItemClick"] }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }], animations: [trigger('overlayAnimation', [transition(':enter', [style({ opacity: 0, transform: 'scaleY(0.8)' }), animate('{{showTransitionParams}}')]), transition(':leave', [animate('{{hideTransitionParams}}', style({ opacity: 0 }))])])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
566
- }
567
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Menu, decorators: [{
568
- type: Component,
569
- args: [{ selector: 'cax-menu', animations: [trigger('overlayAnimation', [transition(':enter', [style({ opacity: 0, transform: 'scaleY(0.8)' }), animate('{{showTransitionParams}}')]), transition(':leave', [animate('{{hideTransitionParams}}', style({ opacity: 0 }))])])], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
570
- class: 'cax-element'
571
- }, template: "<div\r\n #container\r\n [ngClass]=\"{ 'cax-menu cax-component': true, 'cax-menu-overlay': popup }\"\r\n [class]=\"styleClass\"\r\n [ngStyle]=\"style\"\r\n *ngIf=\"!popup || visible\"\r\n (click)=\"onOverlayClick($event)\"\r\n [@overlayAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\r\n [@.disabled]=\"popup !== true\"\r\n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\"\r\n (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\"\r\n [attr.data-pc-name]=\"'menu'\"\r\n [attr.id]=\"id\"\r\n>\r\n <div *ngIf=\"startTemplate\" class=\"cax-menu-start\" [attr.data-pc-section]=\"'start'\">\r\n <ng-container *ngTemplateOutlet=\"startTemplate\"></ng-container>\r\n </div>\r\n <ul\r\n #list\r\n class=\"cax-menu-list cax-reset\"\r\n role=\"menu\"\r\n [attr.id]=\"id + '_list'\"\r\n [attr.tabindex]=\"getTabIndexValue()\"\r\n [attr.data-pc-section]=\"'menu'\"\r\n [attr.aria-activedescendant]=\"activedescendant()\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledBy]=\"ariaLabelledBy\"\r\n (focus)=\"onListFocus($event)\"\r\n (blur)=\"onListBlur($event)\"\r\n (keydown)=\"onListKeyDown($event)\"\r\n >\r\n <ng-template ngFor let-submenu let-i=\"index\" [ngForOf]=\"model\" *ngIf=\"hasSubMenu()\">\r\n <li class=\"cax-menuitem-separator\" *ngIf=\"submenu.separator\" [ngClass]=\"{ 'cax-hidden': submenu.visible === false }\" role=\"separator\"></li>\r\n <li\r\n class=\"cax-submenu-header\"\r\n [attr.data-automationid]=\"submenu.automationId\"\r\n *ngIf=\"!submenu.separator && submenu.label\"\r\n [ngClass]=\"{ 'cax-hidden': submenu.visible === false, flex: submenu.visible }\"\r\n caxTooltip\r\n [tooltipOptions]=\"submenu.tooltipOptions\"\r\n role=\"none\"\r\n [attr.id]=\"menuitemId(submenu, id, i)\"\r\n >\r\n <span *ngIf=\"submenu.label\">\r\n <ng-container *ngIf=\"!submenuHeaderTemplate\">\r\n <span *ngIf=\"submenu.escape !== false; else htmlSubmenuLabel\">{{ submenu.label }}</span>\r\n <ng-template #htmlSubmenuLabel><span [innerHTML]=\"submenu.label | safeHtml\"></span></ng-template>\r\n </ng-container>\r\n <ng-container *ngTemplateOutlet=\"submenuHeaderTemplate; context: { $implicit: submenu }\"></ng-container>\r\n </span>\r\n </li>\r\n <ng-template ngFor let-item let-j=\"index\" [ngForOf]=\"submenu.items\">\r\n <li class=\"cax-menuitem-separator\" *ngIf=\"item.separator\" [ngClass]=\"{ 'cax-hidden': item.visible === false || submenu.visible === false }\" role=\"separator\"></li>\r\n <li\r\n class=\"cax-menuitem\"\r\n *ngIf=\"!item.separator && item.label\"\r\n [caxMenuItemContent]=\"item\"\r\n [itemTemplate]=\"itemTemplate\"\r\n [ngClass]=\"{ 'cax-hidden': item.visible === false || submenu.visible === false, 'cax-focus': focusedOptionId() && menuitemId(item, id, i, j) === focusedOptionId(), 'cax-disabled': disabled(item.disabled) }\"\r\n [ngStyle]=\"item.style\"\r\n [class]=\"item.styleClass\"\r\n (onMenuItemClick)=\"itemClick($event, menuitemId(item, id, i, j))\"\r\n caxTooltip\r\n [tooltipOptions]=\"item.tooltipOptions\"\r\n role=\"menuitem\"\r\n [attr.data-pc-section]=\"'menuitem'\"\r\n [attr.aria-label]=\"label(item.label)\"\r\n [attr.data-cax-focused]=\"isItemFocused(menuitemId(item, id, i, j))\"\r\n [attr.data-cax-disabled]=\"disabled(item.disabled)\"\r\n [attr.aria-disabled]=\"disabled(item.disabled)\"\r\n [attr.id]=\"menuitemId(item, id, i, j)\"\r\n ></li>\r\n </ng-template>\r\n </ng-template>\r\n <ng-template ngFor let-item let-i=\"index\" [ngForOf]=\"model\" *ngIf=\"!hasSubMenu()\">\r\n <li class=\"cax-menuitem-separator\" *ngIf=\"item.separator\" [ngClass]=\"{ 'cax-hidden': item.visible === false }\" role=\"separator\"></li>\r\n <li\r\n class=\"cax-menuitem\"\r\n *ngIf=\"!item.separator && item.label\"\r\n [caxMenuItemContent]=\"item\"\r\n [itemTemplate]=\"itemTemplate\"\r\n [ngClass]=\"{ 'cax-hidden': item.visible === false, 'cax-focus': focusedOptionId() && menuitemId(item, id, i, j) === focusedOptionId(), 'cax-disabled': disabled(item.disabled) }\"\r\n [ngStyle]=\"item.style\"\r\n [class]=\"item.styleClass\"\r\n (onMenuItemClick)=\"itemClick($event, menuitemId(item, id, i))\"\r\n caxTooltip\r\n [tooltipOptions]=\"item.tooltipOptions\"\r\n role=\"menuitem\"\r\n [attr.data-pc-section]=\"'menuitem'\"\r\n [attr.aria-label]=\"label(item.label)\"\r\n [attr.data-cax-focused]=\"isItemFocused(menuitemId(item, id, i))\"\r\n [attr.data-cax-disabled]=\"disabled(item.disabled)\"\r\n [attr.aria-disabled]=\"disabled(item.disabled)\"\r\n [attr.id]=\"menuitemId(item, id, i)\"\r\n ></li>\r\n </ng-template>\r\n </ul>\r\n <div *ngIf=\"endTemplate\" class=\"cax-menu-end\" [attr.data-pc-section]=\"'end'\">\r\n <ng-container *ngTemplateOutlet=\"endTemplate\"></ng-container>\r\n </div>\r\n</div>\r\n", styles: ["@layer cax{.cax-menu-overlay{position:absolute;top:0;left:0}.cax-menu ul{margin:0;padding:0;list-style:none}.cax-menu .cax-submenu-header{align-items:center}.cax-menu .cax-menuitem-link{cursor:pointer;display:flex;align-items:center;text-decoration:none;overflow:hidden;position:relative;gap:4px}.cax-menu .cax-menuitem-text{line-height:1}}\n"] }]
572
- }], ctorParameters: () => [{ type: Document, decorators: [{
573
- type: Inject,
574
- args: [DOCUMENT]
575
- }] }, { type: undefined, decorators: [{
576
- type: Inject,
577
- args: [PLATFORM_ID]
578
- }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i4.caxConfig }, { type: i4.OverlayService }], propDecorators: { model: [{
579
- type: Input
580
- }], popup: [{
581
- type: Input,
582
- args: [{ transform: booleanAttribute }]
583
- }], style: [{
584
- type: Input
585
- }], styleClass: [{
586
- type: Input
587
- }], appendTo: [{
588
- type: Input
589
- }], autoZIndex: [{
590
- type: Input,
591
- args: [{ transform: booleanAttribute }]
592
- }], baseZIndex: [{
593
- type: Input,
594
- args: [{ transform: numberAttribute }]
595
- }], showTransitionOptions: [{
596
- type: Input
597
- }], hideTransitionOptions: [{
598
- type: Input
599
- }], ariaLabel: [{
600
- type: Input
601
- }], ariaLabelledBy: [{
602
- type: Input
603
- }], id: [{
604
- type: Input
605
- }], tabindex: [{
606
- type: Input,
607
- args: [{ transform: numberAttribute }]
608
- }], onShow: [{
609
- type: Output
610
- }], onHide: [{
611
- type: Output
612
- }], onBlur: [{
613
- type: Output
614
- }], onFocus: [{
615
- type: Output
616
- }], listViewChild: [{
617
- type: ViewChild,
618
- args: ['list']
619
- }], containerViewChild: [{
620
- type: ViewChild,
621
- args: ['container']
622
- }], templates: [{
623
- type: ContentChildren,
624
- args: [CaxTemplate]
625
- }] } });
626
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9tZW51L21lbnUudHMiLCIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvbWVudS9tZW51aXRlbS5odG1sIiwiLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL21lbnUvbWVudS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUYsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFDSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLElBQUksRUFLSixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsVUFBVSxFQUNWLGVBQWUsRUFDZixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUF1QyxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0FBS3pFLE1BQU0sT0FBTyxZQUFZO0lBRXFCO0lBQ3JCO0lBRnJCLFlBQzBDLFVBQWUsRUFDcEMsU0FBdUI7UUFERixlQUFVLEdBQVYsVUFBVSxDQUFLO1FBQ3BDLGNBQVMsR0FBVCxTQUFTLENBQWM7SUFDekMsQ0FBQztJQUVHLFNBQVMsQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENB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QUFoRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFLNUIscUJBQXFCO3NCQUE3QixLQUFLO2dCQUtHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFLRyxTQUFTO3NCQUFqQixLQUFLO2dCQUtHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBS0csRUFBRTtzQkFBVixLQUFLO2dCQUtpQyxRQUFRO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFLM0IsTUFBTTtzQkFBZixNQUFNO2dCQUtHLE1BQU07c0JBQWYsTUFBTTtnQkFNRyxNQUFNO3NCQUFmLE1BQU07Z0JBTUcsT0FBTztzQkFBaEIsTUFBTTtnQkFFWSxhQUFhO3NCQUEvQixTQUFTO3VCQUFDLE1BQU07Z0JBRU8sa0JBQWtCO3NCQUF6QyxTQUFTO3VCQUFDLFdBQVc7Z0JBRVEsU0FBUztzQkFBdEMsZUFBZTt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5pbWF0aW9uRXZlbnQsIGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBET0NVTUVOVCwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIFBMQVRGT1JNX0lELFxuICAgIFBpcGUsXG4gICAgUGlwZVRyYW5zZm9ybSxcbiAgICBRdWVyeUxpc3QsXG4gICAgUmVuZGVyZXIyLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIGNvbXB1dGVkLFxuICAgIGZvcndhcmRSZWYsXG4gICAgbnVtYmVyQXR0cmlidXRlLFxuICAgIHNpZ25hbFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IE1lbnVJdGVtLCBPdmVybGF5U2VydmljZSwgY2F4Q29uZmlnLCBDYXhUZW1wbGF0ZSB9IGZyb20gJ2NheC1kZXNpZ24tc3lzdGVtL2FwaSc7XG5pbXBvcnQgeyBDb25uZWN0ZWRPdmVybGF5U2Nyb2xsSGFuZGxlciwgRG9tSGFuZGxlciB9IGZyb20gJ2NheC1kZXNpZ24tc3lzdGVtL2RvbSc7XG5pbXBvcnQgeyBOdWxsYWJsZSwgVm9pZExpc3RlbmVyIH0gZnJvbSAnY2F4LWRlc2lnbi1zeXN0ZW0vdHMtaGVscGVycyc7XG5pbXBvcnQgeyBVbmlxdWVDb21wb25lbnRJZCwgWkluZGV4VXRpbHMgfSBmcm9tICdjYXgtZGVzaWduLXN5c3RlbS91dGlscyc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnc2FmZUh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFNhZmVIdG1sUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHJlYWRvbmx5IHBsYXRmb3JtSWQ6IGFueSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzYW5pdGl6ZXI6IERvbVNhbml0aXplclxuICAgICkge31cblxuICAgIHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZyk6IFNhZmVIdG1sIHtcbiAgICAgICAgaWYgKCF2YWx1ZSB8fCAhaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHZhbHVlKTtcbiAgICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnW2NheE1lbnVJdGVtQ29udGVudF0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tZW51aXRlbS5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdjYXgtZWxlbWVudCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIE1lbnVJdGVtQ29udGVudCB7XG4gICAgQElucHV0KCdjYXhNZW51SXRlbUNvbnRlbnQnKSBpdGVtOiBNZW51SXRlbSB8IHVuZGVmaW5lZDtcblxuICAgIEBJbnB1dCgpIGl0ZW1UZW1wbGF0ZTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgICBAT3V0cHV0KCkgb25NZW51SXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgbWVudTogTWVudTtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBNZW51KSkgbWVudTogTWVudSkge1xuICAgICAgICB0aGlzLm1lbnUgPSBtZW51IGFzIE1lbnU7XG4gICAgfVxuXG4gICAgb25JdGVtQ2xpY2soZXZlbnQsIGl0ZW0pIHtcbiAgICAgICAgdGhpcy5vbk1lbnVJdGVtQ2xpY2suZW1pdCh7IG9yaWdpbmFsRXZlbnQ6IGV2ZW50LCBpdGVtIH0pO1xuICAgIH1cbn1cbi8qKlxuICogTWVudSBpcyBhIG5hdmlnYXRpb24gLyBjb21tYW5kIGNvbXBvbmVudCB0aGF0IHN1cHBvcnRzIGR5bmFtaWMgYW5kIHN0YXRpYyBwb3NpdGlvbmluZy5cbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY2F4LW1lbnUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tZW51Lmh0bWwnLFxuICAgIGFuaW1hdGlvbnM6IFt0cmlnZ2VyKCdvdmVybGF5QW5pbWF0aW9uJywgW3RyYW5zaXRpb24oJzplbnRlcicsIFtzdHlsZSh7IG9wYWNpdHk6IDAsIHRyYW5zZm9ybTogJ3NjYWxlWSgwLjgpJyB9KSwgYW5pbWF0ZSgne3tzaG93VHJhbnNpdGlvblBhcmFtc319JyldKSwgdHJhbnNpdGlvbignOmxlYXZlJywgW2FuaW1hdGUoJ3t7aGlkZVRyYW5zaXRpb25QYXJhbXN9fScsIHN0eWxlKHsgb3BhY2l0eTogMCB9KSldKV0pXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0eWxlVXJsczogWycuL21lbnUuc2NzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdjYXgtZWxlbWVudCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIE1lbnUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIEFuIGFycmF5IG9mIG1lbnVpdGVtcy5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBtb2RlbDogTWVudUl0ZW1bXSB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIGlmIG1lbnUgd291bGQgZGlzcGxheWVkIGFzIGEgcG9wdXAuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHBvcHVwOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIElubGluZSBzdHlsZSBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0eWxlOiB7IFtrbGFzczogc3RyaW5nXTogYW55IH0gfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFN0eWxlIGNsYXNzIG9mIHRoZSBjb21wb25lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc3R5bGVDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFRhcmdldCBlbGVtZW50IHRvIGF0dGFjaCB0aGUgb3ZlcmxheSwgdmFsaWQgdmFsdWVzIGFyZSBcImJvZHlcIiBvciBhIGxvY2FsIG5nLXRlbXBsYXRlIHZhcmlhYmxlIG9mIGFub3RoZXIgZWxlbWVudCAobm90ZTogdXNlIGJpbmRpbmcgd2l0aCBicmFja2V0cyBmb3IgdGVtcGxhdGUgdmFyaWFibGVzLCBlLmcuIFthcHBlbmRUb109XCJteWRpdlwiIGZvciBhIGRpdiBlbGVtZW50IGhhdmluZyAjbXlkaXYgYXMgdmFyaWFibGUgbmFtZSkuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgYXBwZW5kVG86IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZiB8IFRlbXBsYXRlUmVmPGFueT4gfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkIHwgYW55O1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gYXV0b21hdGljYWxseSBtYW5hZ2UgbGF5ZXJpbmcuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGF1dG9aSW5kZXg6IGJvb2xlYW4gPSB0cnVlO1xuICAgIC8qKlxuICAgICAqIEJhc2UgekluZGV4IHZhbHVlIHRvIHVzZSBpbiBsYXllcmluZy5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSBiYXNlWkluZGV4OiBudW1iZXIgPSAwO1xuICAgIC8qKlxuICAgICAqIFRyYW5zaXRpb24gb3B0aW9ucyBvZiB0aGUgc2hvdyBhbmltYXRpb24uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc2hvd1RyYW5zaXRpb25PcHRpb25zOiBzdHJpbmcgPSAnLjEycyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSc7XG4gICAgLyoqXG4gICAgICogVHJhbnNpdGlvbiBvcHRpb25zIG9mIHRoZSBoaWRlIGFuaW1hdGlvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBoaWRlVHJhbnNpdGlvbk9wdGlvbnM6IHN0cmluZyA9ICcuMXMgbGluZWFyJztcbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIGEgc3RyaW5nIHZhbHVlIHRoYXQgbGFiZWxzIGFuIGludGVyYWN0aXZlIGVsZW1lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogSWRlbnRpZmllciBvZiB0aGUgdW5kZXJseWluZyBpbnB1dCBlbGVtZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGFyaWFMYWJlbGxlZEJ5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogQ3VycmVudCBpZCBzdGF0ZSBhcyBhIHN0cmluZy5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBpZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIEluZGV4IG9mIHRoZSBlbGVtZW50IGluIHRhYmJpbmcgb3JkZXIuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgdGFiaW5kZXg6IG51bWJlciA9IDA7XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gb3ZlcmxheSBtZW51IGlzIHNob3duLlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvblNob3c6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gb3ZlcmxheSBtZW51IGlzIGhpZGRlbi5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25IaWRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIHRoZSBsaXN0IGxvc2VzIGZvY3VzLlxuICAgICAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IC0gYmx1ciBldmVudC5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25CbHVyOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiB0aGUgbGlzdCByZWNlaXZlcyBmb2N1cy5cbiAgICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudCAtIGZvY3VzIGV2ZW50LlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbkZvY3VzOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2xpc3QnKSBsaXN0Vmlld0NoaWxkOiBOdWxsYWJsZTxFbGVtZW50UmVmPjtcblxuICAgIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicpIGNvbnRhaW5lclZpZXdDaGlsZDogTnVsbGFibGU8RWxlbWVudFJlZj47XG5cbiAgICBAQ29udGVudENoaWxkcmVuKENheFRlbXBsYXRlKSB0ZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxDYXhUZW1wbGF0ZT4gfCB1bmRlZmluZWQ7XG5cbiAgICBzdGFydFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgZW5kVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICBpdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICBzdWJtZW51SGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICBjb250YWluZXI6IEhUTUxEaXZFbGVtZW50IHwgdW5kZWZpbmVkO1xuXG4gICAgc2Nyb2xsSGFuZGxlcjogQ29ubmVjdGVkT3ZlcmxheVNjcm9sbEhhbmRsZXIgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4gICAgZG9jdW1lbnRDbGlja0xpc3RlbmVyOiBWb2lkTGlzdGVuZXI7XG5cbiAgICBkb2N1bWVudFJlc2l6ZUxpc3RlbmVyOiBWb2lkTGlzdGVuZXI7XG5cbiAgICBwcmV2ZW50RG9jdW1lbnREZWZhdWx0OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gICAgdGFyZ2V0OiBhbnk7XG5cbiAgICB2aXNpYmxlOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gICAgZm9jdXNlZE9wdGlvbklkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2N1c2VkT3B0aW9uSW5kZXgoKSAhPT0gLTEgPyB0aGlzLmZvY3VzZWRPcHRpb25JbmRleCgpIDogbnVsbDtcbiAgICB9KTtcblxuICAgIHB1YmxpYyBmb2N1c2VkT3B0aW9uSW5kZXg6IGFueSA9IHNpZ25hbDxhbnk+KC0xKTtcblxuICAgIHB1YmxpYyBzZWxlY3RlZE9wdGlvbkluZGV4OiBhbnkgPSBzaWduYWw8YW55PigtMSk7XG5cbiAgICBwdWJsaWMgZm9jdXNlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuXG4gICAgcHVibGljIG92ZXJsYXlWaXNpYmxlOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG5cbiAgICByZWxhdGl2ZUFsaWduOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueSxcbiAgICAgICAgcHVibGljIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHB1YmxpYyBjb25maWc6IGNheENvbmZpZyxcbiAgICAgICAgcHVibGljIG92ZXJsYXlTZXJ2aWNlOiBPdmVybGF5U2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLmlkID0gdGhpcy5pZCB8fCBVbmlxdWVDb21wb25lbnRJZCgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBUb2dnbGVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBwb3B1cCBtZW51LlxuICAgICAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IC0gQnJvd3NlciBldmVudC5cbiAgICAgKiBAZ3JvdXAgTWV0aG9kXG4gICAgICovXG4gICAgcHVibGljIHRvZ2dsZShldmVudDogRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMudmlzaWJsZSkgdGhpcy5oaWRlKCk7XG4gICAgICAgIGVsc2UgdGhpcy5zaG93KGV2ZW50KTtcblxuICAgICAgICB0aGlzLnByZXZlbnREb2N1bWVudERlZmF1bHQgPSB0cnVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBEaXNwbGF5cyB0aGUgcG9wdXAgbWVudS5cbiAgICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudCAtIEJyb3dzZXIgZXZlbnQuXG4gICAgICogQGdyb3VwIE1ldGhvZFxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93KGV2ZW50OiBhbnkpIHtcbiAgICAgICAgaWYgKHRoaXMudmlzaWJsZSAmJiB0aGlzLnRhcmdldCAhPT0gZXZlbnQuY3VycmVudFRhcmdldCkge1xuICAgICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRhcmdldCA9IGV2ZW50LmN1cnJlbnRUYXJnZXQ7XG4gICAgICAgIHRoaXMucmVsYXRpdmVBbGlnbiA9IGV2ZW50LnJlbGF0aXZlQWxpZ247XG4gICAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gICAgICAgIHRoaXMucHJldmVudERvY3VtZW50RGVmYXVsdCA9IHRydWU7XG4gICAgICAgIHRoaXMub3ZlcmxheVZpc2libGUgPSB0cnVlO1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnBvcHVwKSB7XG4gICAgICAgICAgICB0aGlzLmJpbmREb2N1bWVudENsaWNrTGlzdGVuZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZXM/LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAoaXRlbS5nZXRUeXBlKCkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdzdGFydCc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnZW5kJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbmRUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnaXRlbVRlbXBsYXRlJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ3N1Ym1lbnVoZWFkZXInOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnN1Ym1lbnVIZWFkZXJUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0VGFiSW5kZXhWYWx1ZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFiaW5kZXggIT09IHVuZGVmaW5lZCA/IHRoaXMudGFiaW5kZXgudG9TdHJpbmcoKSA6IG51bGw7XG4gICAgfVxuXG4gICAgb25PdmVybGF5QW5pbWF0aW9uU3RhcnQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQudG9TdGF0ZSkge1xuICAgICAgICAgICAgY2FzZSAndmlzaWJsZSc6XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucG9wdXApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXIgPSBldmVudC5lbGVtZW50O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVPblRvcCgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uU2hvdy5lbWl0KHt9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBlbmRPdmVybGF5KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25PdmVybGF5KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmluZERvY3VtZW50Q2xpY2tMaXN0ZW5lcigpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJpbmREb2N1bWVudFJlc2l6ZUxpc3RlbmVyKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgICAgICAgICAgICAgICAgIERvbUhhbmRsZXIuZm9jdXModGhpcy5saXN0Vmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnByZXZlbnREb2N1bWVudERlZmF1bHQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAndm9pZCc6XG4gICAgICAgICAgICAgICAgdGhpcy5vbk92ZXJsYXlIaWRlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkhpZGUuZW1pdCh7fSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk92ZXJsYXlBbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQudG9TdGF0ZSkge1xuICAgICAgICAgICAgY2FzZSAndm9pZCc6XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYXV0b1pJbmRleCkge1xuICAgICAgICAgICAgICAgICAgICBaSW5kZXhVdGlscy5jbGVhcihldmVudC5lbGVtZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhbGlnbk92ZXJsYXkoKSB7XG4gICAgICAgIGlmICh0aGlzLnJlbGF0aXZlQWxpZ24pIERvbUhhbmRsZXIucmVsYXRpdmVQb3NpdGlvbih0aGlzLmNvbnRhaW5lciwgdGhpcy50YXJnZXQpO1xuICAgICAgICBlbHNlIERvbUhhbmRsZXIuYWJzb2x1dGVQb3NpdGlvbih0aGlzLmNvbnRhaW5lciwgdGhpcy50YXJnZXQpO1xuICAgIH1cblxuICAgIGFwcGVuZE92ZXJsYXkoKSB7XG4gICAgICAgIGlmICh0aGlzLmFwcGVuZFRvKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5hcHBlbmRUbyA9PT0gJ2JvZHknKSB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZG9jdW1lbnQuYm9keSwgdGhpcy5jb250YWluZXIpO1xuICAgICAgICAgICAgZWxzZSBEb21IYW5kbGVyLmFwcGVuZENoaWxkKHRoaXMuY29udGFpbmVyLCB0aGlzLmFwcGVuZFRvKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlc3RvcmVPdmVybGF5QXBwZW5kKCkge1xuICAgICAgICBpZiAodGhpcy5jb250YWluZXIgJiYgdGhpcy5hcHBlbmRUbykge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIHRoaXMuY29udGFpbmVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG1vdmVPblRvcCgpIHtcbiAgICAgICAgaWYgKHRoaXMuYXV0b1pJbmRleCkge1xuICAgICAgICAgICAgWkluZGV4VXRpbHMuc2V0KCdtZW51JywgdGhpcy5jb250YWluZXIsIHRoaXMuYmFzZVpJbmRleCArIHRoaXMuY29uZmlnLnpJbmRleC5tZW51KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBIaWRlcyB0aGUgcG9wdXAgbWVudS5cbiAgICAgKiBAZ3JvdXAgTWV0aG9kXG4gICAgICovXG4gICAgcHVibGljIGhpZGUoKSB7XG4gICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJlbGF0aXZlQWxpZ24gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgb25XaW5kb3dSZXNpemUoKSB7XG4gICAgICAgIGlmICh0aGlzLnZpc2libGUgJiYgIURvbUhhbmRsZXIuaXNUb3VjaERldmljZSgpKSB7XG4gICAgICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG1lbnVpdGVtSWQoaXRlbTogTWVudUl0ZW0sIGlkOiBzdHJpbmcsIGluZGV4Pzogc3RyaW5nLCBjaGlsZEluZGV4Pzogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBpdGVtPy5pZCA/PyBgJHtpZH1fJHtpbmRleH0ke2NoaWxkSW5kZXggIT09IHVuZGVmaW5lZCA/ICdfJyArIGNoaWxkSW5kZXggOiAnJ31gO1xuICAgIH1cblxuICAgIGlzSXRlbUZvY3VzZWQoaWQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9jdXNlZE9wdGlvbklkKCkgPT09IGlkO1xuICAgIH1cblxuICAgIGxhYmVsKGxhYmVsOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBsYWJlbCA9PT0gJ2Z1bmN0aW9uJyA/IGxhYmVsKCkgOiBsYWJlbDtcbiAgICB9XG5cbiAgICBkaXNhYmxlZChkaXNhYmxlZDogYW55KSB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgZGlzYWJsZWQgPT09ICdmdW5jdGlvbicgPyBkaXNhYmxlZCgpIDogdHlwZW9mIGRpc2FibGVkID09PSAndW5kZWZpbmVkJyA/IGZhbHNlIDogZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgYWN0aXZlZGVzY2VuZGFudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9jdXNlZCA/IHRoaXMuZm9jdXNlZE9wdGlvbklkKCkgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgb25MaXN0Rm9jdXMoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5mb2N1c2VkKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5vbkZvY3VzLmVtaXQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25MaXN0Qmx1cihldmVudDogRm9jdXNFdmVudCB8IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZUZvY3VzZWRPcHRpb25JbmRleCgtMSk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uSW5kZXguc2V0KC0xKTtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZE9wdGlvbkluZGV4LnNldCgtMSk7XG4gICAgICAgICAgICB0aGlzLm9uQmx1ci5lbWl0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTGlzdEtleURvd24oZXZlbnQpIHtcbiAgICAgICAgc3dpdGNoIChldmVudC5jb2RlKSB7XG4gICAgICAgICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICAgICAgICAgIHRoaXMub25BcnJvd0Rvd25LZXkoZXZlbnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uQXJyb3dVcEtleShldmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ0hvbWUnOlxuICAgICAgICAgICAgICAgIHRoaXMub25Ib21lS2V5KGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnRW5kJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uRW5kS2V5KGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICAgICAgICAgIHRoaXMub25FbnRlcktleShldmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ051bXBhZEVudGVyJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uRW50ZXJLZXkoZXZlbnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlICdTcGFjZSc6XG4gICAgICAgICAgICAgICAgdGhpcy5vblNwYWNlS2V5KGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnRXNjYXBlJzpcbiAgICAgICAgICAgIGNhc2UgJ1RhYic6XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucG9wdXApIHtcbiAgICAgICAgICAgICAgICAgICAgRG9tSGFuZGxlci5mb2N1cyh0aGlzLnRhcmdldCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlWaXNpYmxlICYmIHRoaXMuaGlkZSgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BcnJvd0Rvd25LZXkoZXZlbnQpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9uSW5kZXggPSB0aGlzLmZpbmROZXh0T3B0aW9uSW5kZXgodGhpcy5mb2N1c2VkT3B0aW9uSW5kZXgoKSk7XG4gICAgICAgIHRoaXMuY2hhbmdlRm9jdXNlZE9wdGlvbkluZGV4KG9wdGlvbkluZGV4KTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBvbkFycm93VXBLZXkoZXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LmFsdEtleSAmJiB0aGlzLnBvcHVwKSB7XG4gICAgICAgICAgICBEb21IYW5kbGVyLmZvY3VzKHRoaXMudGFyZ2V0KTtcbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbkluZGV4ID0gdGhpcy5maW5kUHJldk9wdGlvbkluZGV4KHRoaXMuZm9jdXNlZE9wdGlvbkluZGV4KCkpO1xuXG4gICAgICAgICAgICB0aGlzLmNoYW5nZUZvY3VzZWRPcHRpb25JbmRleChvcHRpb25JbmRleCk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Ib21lS2V5KGV2ZW50KSB7XG4gICAgICAgIHRoaXMuY2hhbmdlRm9jdXNlZE9wdGlvbkluZGV4KDApO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIG9uRW5kS2V5KGV2ZW50KSB7XG4gICAgICAgIHRoaXMuY2hhbmdlRm9jdXNlZE9wdGlvbkluZGV4KERvbUhhbmRsZXIuZmluZCh0aGlzLmNvbnRhaW5lclZpZXdDaGlsZC5uYXRpdmVFbGVtZW50LCAnbGlbZGF0YS1wYy1zZWN0aW9uPVwibWVudWl0ZW1cIl1bZGF0YS1jYXgtZGlzYWJsZWQ9XCJmYWxzZVwiXScpLmxlbmd0aCAtIDEpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIG9uRW50ZXJLZXkoZXZlbnQpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IERvbUhhbmRsZXIuZmluZFNpbmdsZSh0aGlzLmNvbnRhaW5lclZpZXdDaGlsZC5uYXRpdmVFbGVtZW50LCBgbGlbaWQ9XCIke2Ake3RoaXMuZm9jdXNlZE9wdGlvbkluZGV4KCl9YH1cIl1gKTtcbiAgICAgICAgY29uc3QgYW5jaG9yRWxlbWVudCA9IGVsZW1lbnQgJiYgRG9tSGFuZGxlci5maW5kU2luZ2xlKGVsZW1lbnQsICdhJyk7XG5cbiAgICAgICAgdGhpcy5wb3B1cCAmJiBEb21IYW5kbGVyLmZvY3VzKHRoaXMudGFyZ2V0KTtcbiAgICAgICAgYW5jaG9yRWxlbWVudCA/IGFuY2hvckVsZW1lbnQuY2xpY2soKSA6IGVsZW1lbnQgJiYgZWxlbWVudC5jbGljaygpO1xuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgb25TcGFjZUtleShldmVudCkge1xuICAgICAgICB0aGlzLm9uRW50ZXJLZXkoZXZlbnQpO1xuICAgIH1cblxuICAgIGZpbmROZXh0T3B0aW9uSW5kZXgoaW5kZXgpIHtcbiAgICAgICAgY29uc3QgbGlua3MgPSBEb21IYW5kbGVyLmZpbmQodGhpcy5jb250YWluZXJWaWV3Q2hpbGQubmF0aXZlRWxlbWVudCwgJ2xpW2RhdGEtcGMtc2VjdGlvbj1cIm1lbnVpdGVtXCJdW2RhdGEtY2F4LWRpc2FibGVkPVwiZmFsc2VcIl0nKTtcbiAgICAgICAgY29uc3QgbWF0Y2hlZE9wdGlvbkluZGV4ID0gWy4uLmxpbmtzXS5maW5kSW5kZXgoKGxpbmspID0+IGxpbmsuaWQgPT09IGluZGV4KTtcblxuICAgICAgICByZXR1cm4gbWF0Y2hlZE9wdGlvbkluZGV4ID4gLTEgPyBtYXRjaGVkT3B0aW9uSW5kZXggKyAxIDogMDtcbiAgICB9XG5cbiAgICBmaW5kUHJldk9wdGlvbkluZGV4KGluZGV4KSB7XG4gICAgICAgIGNvbnN0IGxpbmtzID0gRG9tSGFuZGxlci5maW5kKHRoaXMuY29udGFpbmVyVmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQsICdsaVtkYXRhLXBjLXNlY3Rpb249XCJtZW51aXRlbVwiXVtkYXRhLWNheC1kaXNhYmxlZD1cImZhbHNlXCJdJyk7XG4gICAgICAgIGNvbnN0IG1hdGNoZWRPcHRpb25JbmRleCA9IFsuLi5saW5rc10uZmluZEluZGV4KChsaW5rKSA9PiBsaW5rLmlkID09PSBpbmRleCk7XG5cbiAgICAgICAgcmV0dXJuIG1hdGNoZWRPcHRpb25JbmRleCA+IC0xID8gbWF0Y2hlZE9wdGlvbkluZGV4IC0gMSA6IDA7XG4gICAgfVxuXG4gICAgY2hhbmdlRm9jdXNlZE9wdGlvbkluZGV4KGluZGV4KSB7XG4gICAgICAgIGNvbnN0IGxpbmtzID0gRG9tSGFuZGxlci5maW5kKHRoaXMuY29udGFpbmVyVmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQsICdsaVtkYXRhLXBjLXNlY3Rpb249XCJtZW51aXRlbVwiXVtkYXRhLWNheC1kaXNhYmxlZD1cImZhbHNlXCJdJyk7XG5cbiAgICAgICAgaWYgKGxpbmtzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGxldCBvcmRlciA9IGluZGV4ID49IGxpbmtzLmxlbmd0aCA/IGxpbmtzLmxlbmd0aCAtIDEgOiBpbmRleCA8IDAgPyAwIDogaW5kZXg7XG4gICAgICAgICAgICBvcmRlciA+IC0xICYmIHRoaXMuZm9jdXNlZE9wdGlvbkluZGV4LnNldChsaW5rc1tvcmRlcl0uZ2V0QXR0cmlidXRlKCdpZCcpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGl0ZW1DbGljayhldmVudDogYW55LCBpZDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHsgb3JpZ2luYWxFdmVudCwgaXRlbSB9ID0gZXZlbnQ7XG5cbiAgICAgICAgaWYgKCF0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLm9uRm9jdXMuZW1pdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGl0ZW0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghaXRlbS51cmwgJiYgIWl0ZW0ucm91dGVyTGluaykge1xuICAgICAgICAgICAgb3JpZ2luYWxFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGl0ZW0uY29tbWFuZCkge1xuICAgICAgICAgICAgaXRlbS5jb21tYW5kKHtcbiAgICAgICAgICAgICAgICBvcmlnaW5hbEV2ZW50OiBvcmlnaW5hbEV2ZW50LFxuICAgICAgICAgICAgICAgIGl0ZW06IGl0ZW1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucG9wdXApIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLnBvcHVwICYmIHRoaXMuZm9jdXNlZE9wdGlvbkluZGV4KCkgIT09IGlkKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzZWRPcHRpb25JbmRleC5zZXQoaWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25PdmVybGF5Q2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLnBvcHVwKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZlbnQsXG4gICAgICAgICAgICAgICAgdGFyZ2V0OiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcmV2ZW50RG9jdW1lbnREZWZhdWx0ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBiaW5kRG9jdW1lbnRDbGlja0xpc3RlbmVyKCkge1xuICAgICAgICBpZiAoIXRoaXMuZG9jdW1lbnRDbGlja0xpc3RlbmVyICYmIGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGRvY3VtZW50VGFyZ2V0OiBhbnkgPSB0aGlzLmVsID8gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm93bmVyRG9jdW1lbnQgOiAnZG9jdW1lbnQnO1xuXG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50Q2xpY2tMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKGRvY3VtZW50VGFyZ2V0LCAnY2xpY2snLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc091dHNpZGVDb250YWluZXIgPSB0aGlzLmNvbnRhaW5lclZpZXdDaGlsZD8ubmF0aXZlRWxlbWVudCAmJiAhdGhpcy5jb250YWluZXJWaWV3Q2hpbGQ/Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KTtcbiAgICAgICAgICAgICAgICBjb25zdCBpc091dHNpZGVUYXJnZXQgPSAhKHRoaXMudGFyZ2V0ICYmICh0aGlzLnRhcmdldCA9PT0gZXZlbnQudGFyZ2V0IHx8IHRoaXMudGFyZ2V0LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMucG9wdXAgJiYgaXNPdXRzaWRlQ29udGFpbmVyICYmIGlzT3V0c2lkZVRhcmdldCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uTGlzdEJsdXIoZXZlbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wcmV2ZW50RG9jdW1lbnREZWZhdWx0ICYmIHRoaXMub3ZlcmxheVZpc2libGUgJiYgaXNPdXRzaWRlQ29udGFpbmVyICYmIGlzT3V0c2lkZVRhcmdldCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcmV2ZW50RG9jdW1lbnREZWZhdWx0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bmJpbmREb2N1bWVudENsaWNrTGlzdGVuZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmRvY3VtZW50Q2xpY2tMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudENsaWNrTGlzdGVuZXIoKTtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRDbGlja0xpc3RlbmVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJpbmREb2N1bWVudFJlc2l6ZUxpc3RlbmVyKCkge1xuICAgICAgICBpZiAoIXRoaXMuZG9jdW1lbnRSZXNpemVMaXN0ZW5lciAmJiBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICBjb25zdCB3aW5kb3cgPSB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3O1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudFJlc2l6ZUxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4od2luZG93LCAncmVzaXplJywgdGhpcy5vbldpbmRvd1Jlc2l6ZS5iaW5kKHRoaXMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVuYmluZERvY3VtZW50UmVzaXplTGlzdGVuZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmRvY3VtZW50UmVzaXplTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRSZXNpemVMaXN0ZW5lcigpO1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudFJlc2l6ZUxpc3RlbmVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJpbmRTY3JvbGxMaXN0ZW5lcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNjcm9sbEhhbmRsZXIgJiYgaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxIYW5kbGVyID0gbmV3IENvbm5lY3RlZE92ZXJsYXlTY3JvbGxIYW5kbGVyKHRoaXMudGFyZ2V0LCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudmlzaWJsZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlcj8uYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgfVxuXG4gICAgdW5iaW5kU2Nyb2xsTGlzdGVuZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLnNjcm9sbEhhbmRsZXIpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlci51bmJpbmRTY3JvbGxMaXN0ZW5lcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25PdmVybGF5SGlkZSgpIHtcbiAgICAgICAgdGhpcy51bmJpbmREb2N1bWVudENsaWNrTGlzdGVuZXIoKTtcbiAgICAgICAgdGhpcy51bmJpbmREb2N1bWVudFJlc2l6ZUxpc3RlbmVyKCk7XG4gICAgICAgIHRoaXMudW5iaW5kU2Nyb2xsTGlzdGVuZXIoKTtcbiAgICAgICAgdGhpcy5wcmV2ZW50RG9jdW1lbnREZWZhdWx0ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLnBvcHVwKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zY3JvbGxIYW5kbGVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxIYW5kbGVyLmRlc3Ryb3koKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbEhhbmRsZXIgPSBudWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5jb250YWluZXIgJiYgdGhpcy5hdXRvWkluZGV4KSB7XG4gICAgICAgICAgICAgICAgWkluZGV4VXRpbHMuY2xlYXIodGhpcy5jb250YWluZXIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnJlc3RvcmVPdmVybGF5QXBwZW5kKCk7XG4gICAgICAgICAgICB0aGlzLm9uT3ZlcmxheUhpZGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5wb3B1cCkge1xuICAgICAgICAgICAgdGhpcy51bmJpbmREb2N1bWVudENsaWNrTGlzdGVuZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhc1N1Yk1lbnUoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLm1vZGVsKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpdGVtIG9mIHRoaXMubW9kZWwpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5pdGVtcykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlzSXRlbUhpZGRlbihpdGVtOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKGl0ZW0uc2VwYXJhdG9yKSB7XG4gICAgICAgICAgICByZXR1cm4gaXRlbS52aXNpYmxlID09PSBmYWxzZSB8fCAoaXRlbS5pdGVtcyAmJiBpdGVtLml0ZW1zLnNvbWUoKHN1Yml0ZW0pID0+IHN1Yml0ZW0udmlzaWJsZSAhPT0gZmFsc2UpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXRlbS52aXNpYmxlID09PSBmYWxzZTtcbiAgICB9XG59XG4iLCI8ZGl2IFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInY29udGVudCdcIiBjbGFzcz1cImNheC1tZW51aXRlbS1jb250ZW50XCIgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKCRldmVudCwgaXRlbSlcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbVRlbXBsYXRlXCI+XHJcbiAgICAgICAgPGFcclxuICAgICAgICAgICAgKm5nSWY9XCIhaXRlbT8ucm91dGVyTGlua1wiXHJcbiAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cIml0ZW0udGl0bGVcIlxyXG4gICAgICAgICAgICBbYXR0ci5ocmVmXT1cIml0ZW0udXJsIHx8IG51bGxcIlxyXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb25pZF09XCJpdGVtLmF1dG9tYXRpb25JZFwiXHJcbiAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cIi0xXCJcclxuICAgICAgICAgICAgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidhY3Rpb24nXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJjYXgtbWVudWl0ZW0tbGlua1wiXHJcbiAgICAgICAgICAgIFt0YXJnZXRdPVwiaXRlbS50YXJnZXRcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdjYXgtZGlzYWJsZWQnOiBpdGVtLmRpc2FibGVkIH1cIlxyXG4gICAgICAgICAgICBwUmlwcGxlXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbUNvbnRlbnQ7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2E+XHJcbiAgICAgICAgPGFcclxuICAgICAgICAgICAgKm5nSWY9XCJpdGVtPy5yb3V0ZXJMaW5rXCJcclxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS5yb3V0ZXJMaW5rXCJcclxuICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uaWRdPVwiaXRlbS5hdXRvbWF0aW9uSWRcIlxyXG4gICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCItMVwiXHJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInYWN0aW9uJ1wiXHJcbiAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cIml0ZW0udGl0bGVcIlxyXG4gICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwiaXRlbS5xdWVyeVBhcmFtc1wiXHJcbiAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJjYXgtbWVudWl0ZW0tbGluay1hY3RpdmVcIlxyXG4gICAgICAgICAgICBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwiaXRlbS5yb3V0ZXJMaW5rQWN0aXZlT3B0aW9ucyB8fCB7IGV4YWN0OiBmYWxzZSB9XCJcclxuICAgICAgICAgICAgY2xhc3M9XCJjYXgtbWVudWl0ZW0tbGlua1wiXHJcbiAgICAgICAgICAgIFt0YXJnZXRdPVwiaXRlbS50YXJnZXRcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdjYXgtZGlzYWJsZWQnOiBpdGVtLmRpc2FibGVkIH1cIlxyXG4gICAgICAgICAgICBbZnJhZ21lbnRdPVwiaXRlbS5mcmFnbWVudFwiXHJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc0hhbmRsaW5nXT1cIml0ZW0ucXVlcnlQYXJhbXNIYW5kbGluZ1wiXHJcbiAgICAgICAgICAgIFtwcmVzZXJ2ZUZyYWdtZW50XT1cIml0ZW0ucHJlc2VydmVGcmFnbWVudFwiXHJcbiAgICAgICAgICAgIFtza2lwTG9jYXRpb25DaGFuZ2VdPVwiaXRlbS5za2lwTG9jYXRpb25DaGFuZ2VcIlxyXG4gICAgICAgICAgICBbcmVwbGFjZVVybF09XCJpdGVtLnJlcGxhY2VVcmxcIlxyXG4gICAgICAgICAgICBbc3RhdGVdPVwiaXRlbS5zdGF0ZVwiXHJcbiAgICAgICAgICAgIHBSaXBwbGVcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtQ29udGVudDsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvYT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtVGVtcGxhdGVcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNpdGVtQ29udGVudD5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImNheC1tZW51aXRlbS1pY29uXCIgKm5nSWY9XCJpdGVtLmljb25cIiBbbmdDbGFzc109XCJpdGVtLmljb25cIiBbY2xhc3NdPVwiaXRlbS5pY29uQ2xhc3NcIiBbbmdTdHlsZV09XCJpdGVtLmljb25TdHlsZVwiPjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImNheC1tZW51aXRlbS10ZXh0XCIgKm5nSWY9XCJpdGVtLmVzY2FwZSAhPT0gZmFsc2U7IGVsc2UgaHRtbExhYmVsXCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2h0bWxMYWJlbD48c3BhbiBjbGFzcz1cImNheC1tZW51aXRlbS10ZXh0XCIgW2lubmVySFRNTF09XCJpdGVtLmxhYmVsIHwgc2FmZUh0bWxcIj48L3NwYW4+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImNheC1tZW51aXRlbS1iYWRnZVwiICpuZ0lmPVwiaXRlbS5iYWRnZVwiIFtuZ0NsYXNzXT1cIml0ZW0uYmFkZ2VTdHlsZUNsYXNzXCI+e3sgaXRlbS5iYWRnZSB9fTwvc3Bhbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PlxyXG4iLCI8ZGl2XHJcbiAgICAjY29udGFpbmVyXHJcbiAgICBbbmdDbGFzc109XCJ7ICdjYXgtbWVudSBjYXgtY29tcG9uZW50JzogdHJ1ZSwgJ2NheC1tZW51LW92ZXJsYXknOiBwb3B1cCB9XCJcclxuICAgIFtjbGFzc109XCJzdHlsZUNsYXNzXCJcclxuICAgIFtuZ1N0eWxlXT1cInN0eWxlXCJcclxuICAgICpuZ0lmPVwiIXBvcHVwIHx8IHZpc2libGVcIlxyXG4gICAgKGNsaWNrKT1cIm9uT3ZlcmxheUNsaWNrKCRldmVudClcIlxyXG4gICAgW0BvdmVybGF5QW5pbWF0aW9uXT1cInsgdmFsdWU6ICd2aXNpYmxlJywgcGFyYW1zOiB7IHNob3dUcmFuc2l0aW9uUGFyYW1zOiBzaG93VHJhbnNpdGlvbk9wdGlvbnMsIGhpZGVUcmFuc2l0aW9uUGFyYW1zOiBoaWRlVHJhbnNpdGlvbk9wdGlvbnMgfSB9XCJcclxuICAgIFtALmRpc2FibGVkXT1cInBvcHVwICE9PSB0cnVlXCJcclxuICAgIChAb3ZlcmxheUFuaW1hdGlvbi5zdGFydCk9XCJvbk92ZXJsYXlBbmltYXRpb25TdGFydCgkZXZlbnQpXCJcclxuICAgIChAb3ZlcmxheUFuaW1hdGlvbi5kb25lKT1cIm9uT3ZlcmxheUFuaW1hdGlvbkVuZCgkZXZlbnQpXCJcclxuICAgIFthdHRyLmRhdGEtcGMtbmFtZV09XCInbWVudSdcIlxyXG4gICAgW2F0dHIuaWRdPVwiaWRcIlxyXG4+XHJcbiAgICA8ZGl2ICpuZ0lmPVwic3RhcnRUZW1wbGF0ZVwiIGNsYXNzPVwiY2F4LW1lbnUtc3RhcnRcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ3N0YXJ0J1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdGFydFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDx1bFxyXG4gICAgICAgICNsaXN0XHJcbiAgICAgICAgY2xhc3M9XCJjYXgtbWVudS1saXN0IGNheC1yZXNldFwiXHJcbiAgICAgICAgcm9sZT1cIm1lbnVcIlxyXG4gICAgICAgIFthdHRyLmlkXT1cImlkICsgJ19saXN0J1wiXHJcbiAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwiZ2V0VGFiSW5kZXhWYWx1ZSgpXCJcclxuICAgICAgICBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ21lbnUnXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWFjdGl2ZWRlc2NlbmRhbnRdPVwiYWN0aXZlZGVzY2VuZGFudCgpXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZEJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcclxuICAgICAgICAoZm9jdXMpPVwib25MaXN0Rm9jdXMoJGV2ZW50KVwiXHJcbiAgICAgICAgKGJsdXIpPVwib25MaXN0Qmx1cigkZXZlbnQpXCJcclxuICAgICAgICAoa2V5ZG93bik9XCJvbkxpc3RLZXlEb3duKCRldmVudClcIlxyXG4gICAgPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtc3VibWVudSBsZXQtaT1cImluZGV4XCIgW25nRm9yT2ZdPVwibW9kZWxcIiAqbmdJZj1cImhhc1N1Yk1lbnUoKVwiPlxyXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJjYXgtbWVudWl0ZW0tc2VwYXJhdG9yXCIgKm5nSWY9XCJzdWJtZW51LnNlcGFyYXRvclwiIFtuZ0NsYXNzXT1cInsgJ2NheC1oaWRkZW4nOiBzdWJtZW51LnZpc2libGUgPT09IGZhbHNlIH1cIiByb2xlPVwic2VwYXJhdG9yXCI+PC9saT5cclxuICAgICAgICAgICAgPGxpXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNheC1zdWJtZW51LWhlYWRlclwiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb25pZF09XCJzdWJtZW51LmF1dG9tYXRpb25JZFwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFzdWJtZW51LnNlcGFyYXRvciAmJiBzdWJtZW51LmxhYmVsXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2NheC1oaWRkZW4nOiBzdWJtZW51LnZpc2libGUgPT09IGZhbHNlLCBmbGV4OiBzdWJtZW51LnZpc2libGUgfVwiXHJcbiAgICAgICAgICAgICAgICBjYXhUb29sdGlwXHJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcE9wdGlvbnNdPVwic3VibWVudS50b29sdGlwT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICByb2xlPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJtZW51aXRlbUlkKHN1Ym1lbnUsIGlkLCBpKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic3VibWVudS5sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc3VibWVudUhlYWRlclRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic3VibWVudS5lc2NhcGUgIT09IGZhbHNlOyBlbHNlIGh0bWxTdWJtZW51TGFiZWxcIj57eyBzdWJtZW51LmxhYmVsIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2h0bWxTdWJtZW51TGFiZWw+PHNwYW4gW2lubmVySFRNTF09XCJzdWJtZW51LmxhYmVsIHwgc2FmZUh0bWxcIj48L3NwYW4+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3VibWVudUhlYWRlclRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogc3VibWVudSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtaXRlbSBsZXQtaj1cImluZGV4XCIgW25nRm9yT2ZdPVwic3VibWVudS5pdGVtc1wiPlxyXG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiY2F4LW1lbnVpdGVtLXNlcGFyYXRvclwiICpuZ0lmPVwiaXRlbS5zZXBhcmF0b3JcIiBbbmdDbGFzc109XCJ7ICdjYXgtaGlkZGVuJzogaXRlbS52aXNpYmxlID09PSBmYWxzZSB8fCBzdWJtZW51LnZpc2libGUgPT09IGZhbHNlIH1cIiByb2xlPVwic2VwYXJhdG9yXCI+PC9saT5cclxuICAgICAgICAgICAgICAgIDxsaVxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2F4LW1lbnVpdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFpdGVtLnNlcGFyYXRvciAmJiBpdGVtLmxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2F4TWVudUl0ZW1Db250ZW50XT1cIml0ZW1cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtpdGVtVGVtcGxhdGVdPVwiaXRlbVRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdjYXgtaGlkZGVuJzogaXRlbS52aXNpYmxlID09PSBmYWxzZSB8fCBzdWJtZW51LnZpc2libGUgPT09IGZhbHNlLCAnY2F4LWZvY3VzJzogZm9jdXNlZE9wdGlvbklkKCkgJiYgbWVudWl0ZW1JZChpdGVtLCBpZCwgaSwgaikgPT09IGZvY3VzZWRPcHRpb25JZCgpLCAnY2F4LWRpc2FibGVkJzogZGlzYWJsZWQoaXRlbS5kaXNhYmxlZCkgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwiaXRlbS5zdHlsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIml0ZW0uc3R5bGVDbGFzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uTWVudUl0ZW1DbGljayk9XCJpdGVtQ2xpY2soJGV2ZW50LCBtZW51aXRlbUlkKGl0ZW0sIGlkLCBpLCBqKSlcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNheFRvb2x0aXBcclxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE9wdGlvbnNdPVwiaXRlbS50b29sdGlwT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ21lbnVpdGVtJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbChpdGVtLmxhYmVsKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1jYXgtZm9jdXNlZF09XCJpc0l0ZW1Gb2N1c2VkKG1lbnVpdGVtSWQoaXRlbSwgaWQsIGksIGopKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1jYXgtZGlzYWJsZWRdPVwiZGlzYWJsZWQoaXRlbS5kaXNhYmxlZClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWQoaXRlbS5kaXNhYmxlZClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cIm1lbnVpdGVtSWQoaXRlbSwgaWQsIGksIGopXCJcclxuICAgICAgICAgICAgICAgID48L2xpPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1pdGVtIGxldC1pPVwiaW5kZXhcIiBbbmdGb3JPZl09XCJtb2RlbFwiICpuZ0lmPVwiIWhhc1N1Yk1lbnUoKVwiPlxyXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJjYXgtbWVudWl0ZW0tc2VwYXJhdG9yXCIgKm5nSWY9XCJpdGVtLnNlcGFyYXRvclwiIFtuZ0NsYXNzXT1cInsgJ2NheC1oaWRkZW4nOiBpdGVtLnZpc2libGUgPT09IGZhbHNlIH1cIiByb2xlPVwic2VwYXJhdG9yXCI+PC9saT5cclxuICAgICAgICAgICAgPGxpXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNheC1tZW51aXRlbVwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFpdGVtLnNlcGFyYXRvciAmJiBpdGVtLmxhYmVsXCJcclxuICAgICAgICAgICAgICAgIFtjYXhNZW51SXRlbUNvbnRlbnRdPVwiaXRlbVwiXHJcbiAgICAgICAgICAgICAgICBbaXRlbVRlbXBsYXRlXT1cIml0ZW1UZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdjYXgtaGlkZGVuJzogaXRlbS52aXNpYmxlID09PSBmYWxzZSwgJ2NheC1mb2N1cyc6IGZvY3VzZWRPcHRpb25JZCgpICYmIG1lbnVpdGVtSWQoaXRlbSwgaWQsIGksIGopID09PSBmb2N1c2VkT3B0aW9uSWQoKSwgJ2NheC1kaXNhYmxlZCc6IGRpc2FibGVkKGl0ZW0uZGlzYWJsZWQpIH1cIlxyXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwiaXRlbS5zdHlsZVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3NdPVwiaXRlbS5zdHlsZUNsYXNzXCJcclxuICAgICAgICAgICAgICAgIChvbk1lbnVJdGVtQ2xpY2spPVwiaXRlbUNsaWNrKCRldmVudCwgbWVudWl0ZW1JZChpdGVtLCBpZCwgaSkpXCJcclxuICAgICAgICAgICAgICAgIGNheFRvb2x0aXBcclxuICAgICAgICAgICAgICAgIFt0b29sdGlwT3B0aW9uc109XCJpdGVtLnRvb2x0aXBPcHRpb25zXCJcclxuICAgICAgICAgICAgICAgIHJvbGU9XCJtZW51aXRlbVwiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ21lbnVpdGVtJ1wiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsKGl0ZW0ubGFiZWwpXCJcclxuICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtY2F4LWZvY3VzZWRdPVwiaXNJdGVtRm9jdXNlZChtZW51aXRlbUlkKGl0ZW0sIGlkLCBpKSlcIlxyXG4gICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1jYXgtZGlzYWJsZWRdPVwiZGlzYWJsZWQoaXRlbS5kaXNhYmxlZClcIlxyXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZChpdGVtLmRpc2FibGVkKVwiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJtZW51aXRlbUlkKGl0ZW0sIGlkLCBpKVwiXHJcbiAgICAgICAgICAgID48L2xpPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L3VsPlxyXG4gICAgPGRpdiAqbmdJZj1cImVuZFRlbXBsYXRlXCIgY2xhc3M9XCJjYXgtbWVudS1lbmRcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2VuZCdcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZW5kVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19