cax-design-system 2.8.2 → 2.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1726) hide show
  1. package/accordion/accordion.d.ts +224 -0
  2. package/accordion/accordion.interface.d.ts +49 -0
  3. package/accordion/accordion.module.d.ts +13 -0
  4. package/accordion/index.d.ts +3 -286
  5. package/accordion/public_api.d.ts +3 -0
  6. package/animate/animate.d.ts +40 -0
  7. package/animate/index.d.ts +3 -41
  8. package/animate/public_api.d.ts +1 -0
  9. package/animateonscroll/animateonscroll.d.ts +75 -0
  10. package/animateonscroll/index.d.ts +3 -75
  11. package/animateonscroll/public_api.d.ts +1 -0
  12. package/api/blockableui.d.ts +10 -0
  13. package/api/caxconfig.d.ts +24 -0
  14. package/api/confirmaeventtype.d.ts +8 -0
  15. package/api/confirmation.d.ts +96 -0
  16. package/api/confirmationservice.d.ts +30 -0
  17. package/api/contextmenuservice.d.ts +11 -0
  18. package/api/filtermatchmode.d.ts +22 -0
  19. package/api/filtermetadata.d.ts +18 -0
  20. package/api/filteroperator.d.ts +4 -0
  21. package/api/filterservice.d.ts +10 -0
  22. package/api/index.d.ts +3 -1856
  23. package/api/lazyloadevent.d.ts +47 -0
  24. package/api/lazyloadmeta.d.ts +19 -0
  25. package/api/megamenuitem.d.ts +130 -0
  26. package/api/menuitem.d.ts +176 -0
  27. package/api/message.d.ts +30 -0
  28. package/api/messageservice.d.ts +32 -0
  29. package/api/overlayoptions.d.ts +188 -0
  30. package/api/overlayservice.d.ts +9 -0
  31. package/api/primeicons.d.ts +313 -0
  32. package/api/public_api.d.ts +34 -0
  33. package/api/scrolleroptions.d.ts +116 -0
  34. package/api/selectitem.d.ts +12 -0
  35. package/api/selectitemgroup.d.ts +10 -0
  36. package/api/shared.d.ts +24 -0
  37. package/api/sortevent.d.ts +12 -0
  38. package/api/sortmeta.d.ts +8 -0
  39. package/api/tablestate.d.ts +60 -0
  40. package/api/themegeneratorservice.d.ts +12 -0
  41. package/api/tooltipoptions.d.ts +69 -0
  42. package/api/translation.d.ts +135 -0
  43. package/api/translationkeys.d.ts +50 -0
  44. package/api/treedragdropservice.d.ts +12 -0
  45. package/api/treenode.d.ts +91 -0
  46. package/api/treenodedragevent.d.ts +27 -0
  47. package/api/treetablenode.d.ts +36 -0
  48. package/autocomplete/autocomplete.d.ts +616 -0
  49. package/autocomplete/autocomplete.interface.d.ts +164 -0
  50. package/autocomplete/autocomplete.module.d.ts +20 -0
  51. package/autocomplete/index.d.ts +3 -799
  52. package/autocomplete/public_api.d.ts +3 -0
  53. package/autofocus/autofocus.d.ts +28 -0
  54. package/autofocus/index.d.ts +3 -29
  55. package/autofocus/public_api.d.ts +1 -0
  56. package/avatar/avatar.d.ts +73 -0
  57. package/avatar/avatar.module.d.ts +7 -0
  58. package/avatar/index.d.ts +3 -80
  59. package/avatar/public_api.d.ts +2 -0
  60. package/avatargroup/avatargroup.d.ts +21 -0
  61. package/avatargroup/avatargroup.module.d.ts +9 -0
  62. package/avatargroup/index.d.ts +3 -30
  63. package/avatargroup/public_api.d.ts +2 -0
  64. package/badge/badge.d.ts +21 -0
  65. package/badge/badge.directive.d.ts +35 -0
  66. package/badge/badge.module.d.ts +10 -0
  67. package/badge/index.d.ts +5 -67
  68. package/badge/public_api.d.ts +3 -0
  69. package/baseicon/baseicon.d.ts +15 -0
  70. package/baseicon/index.d.ts +5 -18
  71. package/baseicon/public_api.d.ts +1 -0
  72. package/blockui/blockui.d.ts +64 -0
  73. package/blockui/blockui.interface.d.ts +11 -0
  74. package/blockui/index.d.ts +3 -77
  75. package/blockui/public_api.d.ts +2 -0
  76. package/breadcrumb/breadcrumb.d.ts +55 -0
  77. package/breadcrumb/breadcrumb.interface.d.ts +38 -0
  78. package/breadcrumb/breadcrumb.module.d.ts +13 -0
  79. package/breadcrumb/index.d.ts +3 -105
  80. package/breadcrumb/public_api.d.ts +3 -0
  81. package/button/button.d.ts +85 -0
  82. package/button/button.directive.d.ts +49 -0
  83. package/button/button.interface.d.ts +30 -0
  84. package/button/button.module.d.ts +9 -0
  85. package/button/index.d.ts +3 -170
  86. package/button/public_api.d.ts +4 -0
  87. package/buttongroup/buttongroup.d.ts +11 -0
  88. package/buttongroup/index.d.ts +5 -14
  89. package/buttongroup/public_api.d.ts +1 -0
  90. package/calendar/calendar.d.ts +722 -0
  91. package/calendar/calendar.interface.d.ts +204 -0
  92. package/calendar/calendar.module.d.ts +9 -0
  93. package/calendar/index.d.ts +3 -935
  94. package/calendar/public_api.d.ts +3 -0
  95. package/card/card.d.ts +53 -0
  96. package/card/card.interface.d.ts +27 -0
  97. package/card/card.module.d.ts +11 -0
  98. package/card/index.d.ts +3 -92
  99. package/card/public_api.d.ts +3 -0
  100. package/carousel/carousel.d.ts +227 -0
  101. package/carousel/carousel.interface.d.ts +63 -0
  102. package/carousel/index.d.ts +3 -290
  103. package/carousel/public_api.d.ts +2 -0
  104. package/cascadeselect/cascadeselect.d.ts +435 -0
  105. package/cascadeselect/cascadeselect.interface.d.ts +115 -0
  106. package/cascadeselect/cascadeselect.module.d.ts +15 -0
  107. package/cascadeselect/index.d.ts +3 -564
  108. package/cascadeselect/public_api.d.ts +3 -0
  109. package/chart/chart.d.ts +87 -0
  110. package/chart/index.d.ts +3 -88
  111. package/chart/public_api.d.ts +1 -0
  112. package/checkbox/checkbox.d.ts +168 -0
  113. package/checkbox/checkbox.interface.d.ts +26 -0
  114. package/checkbox/checkbox.module.d.ts +10 -0
  115. package/checkbox/index.d.ts +3 -204
  116. package/checkbox/public_api.d.ts +3 -0
  117. package/chip/chip.d.ts +38 -0
  118. package/chip/chip.interface.d.ts +15 -0
  119. package/chip/chip.module.d.ts +10 -0
  120. package/chip/index.d.ts +3 -63
  121. package/chip/public_api.d.ts +3 -0
  122. package/chips/chips.d.ts +233 -0
  123. package/chips/chips.interface.d.ts +58 -0
  124. package/chips/chips.module.d.ts +14 -0
  125. package/chips/index.d.ts +3 -305
  126. package/chips/public_api.d.ts +3 -0
  127. package/colorpicker/colorpicker.d.ts +240 -0
  128. package/colorpicker/colorpicker.interface.d.ts +15 -0
  129. package/colorpicker/colorpicker.module.d.ts +9 -0
  130. package/colorpicker/index.d.ts +3 -265
  131. package/colorpicker/public_api.d.ts +3 -0
  132. package/commentbox/commentbox.d.ts +120 -0
  133. package/commentbox/commentbox.module.d.ts +17 -0
  134. package/commentbox/index.d.ts +5 -138
  135. package/commentbox/public_api.d.ts +2 -0
  136. package/confirmdialog/confirmdialog.d.ts +281 -0
  137. package/confirmdialog/confirmdialog.interface.d.ts +39 -0
  138. package/confirmdialog/confirmdialog.module.d.ts +15 -0
  139. package/confirmdialog/index.d.ts +3 -336
  140. package/confirmdialog/public_api.d.ts +3 -0
  141. package/confirmpopup/confirmpopup.d.ts +119 -0
  142. package/confirmpopup/confirmpopup.interface.d.ts +27 -0
  143. package/confirmpopup/index.d.ts +3 -148
  144. package/confirmpopup/public_api.d.ts +2 -0
  145. package/contextmenu/contextmenu.d.ts +260 -0
  146. package/contextmenu/index.d.ts +3 -261
  147. package/contextmenu/public_api.d.ts +1 -0
  148. package/dataview/dataview.d.ts +274 -0
  149. package/dataview/dataview.interface.d.ts +183 -0
  150. package/dataview/index.d.ts +3 -457
  151. package/dataview/public_api.d.ts +2 -0
  152. package/defer/defer.d.ts +39 -0
  153. package/defer/index.d.ts +3 -40
  154. package/defer/public_api.d.ts +1 -0
  155. package/dialog/dialog.d.ts +364 -0
  156. package/dialog/dialog.interface.d.ts +31 -0
  157. package/dialog/dialog.module.d.ts +15 -0
  158. package/dialog/index.d.ts +3 -411
  159. package/dialog/public_api.d.ts +3 -0
  160. package/divider/divider.d.ts +49 -0
  161. package/divider/divider.module.d.ts +7 -0
  162. package/divider/index.d.ts +3 -56
  163. package/divider/public_api.d.ts +2 -0
  164. package/dock/dock.d.ts +115 -0
  165. package/dock/dock.interface.d.ts +19 -0
  166. package/dock/index.d.ts +3 -136
  167. package/dock/public_api.d.ts +2 -0
  168. package/dom/connectedoverlayscrollhandler.d.ts +9 -0
  169. package/dom/domhandler.d.ts +95 -0
  170. package/dom/index.d.ts +3 -105
  171. package/dom/public_api.d.ts +2 -0
  172. package/dragdrop/dragdrop.d.ts +112 -0
  173. package/dragdrop/dragdrop.module.d.ts +8 -0
  174. package/dragdrop/index.d.ts +3 -120
  175. package/dragdrop/public_api.d.ts +2 -0
  176. package/dropdown/dropdown-item.d.ts +30 -0
  177. package/dropdown/dropdown.d.ts +628 -0
  178. package/dropdown/dropdown.interface.d.ts +154 -0
  179. package/dropdown/dropdown.module.d.ts +11 -0
  180. package/dropdown/index.d.ts +3 -818
  181. package/dropdown/public_api.d.ts +4 -0
  182. package/dynamicdialog/dialogservice.d.ts +35 -0
  183. package/dynamicdialog/dynamicdialog-config.d.ts +221 -0
  184. package/dynamicdialog/dynamicdialog-injector.d.ts +7 -0
  185. package/dynamicdialog/dynamicdialog-ref.d.ts +101 -0
  186. package/dynamicdialog/dynamicdialog.d.ts +124 -0
  187. package/dynamicdialog/dynamicdialogcontent.d.ts +8 -0
  188. package/dynamicdialog/index.d.ts +3 -490
  189. package/dynamicdialog/public_api.d.ts +6 -0
  190. package/editor/editor.d.ts +104 -0
  191. package/editor/editor.interface.d.ts +64 -0
  192. package/editor/editor.module.d.ts +9 -0
  193. package/editor/index.d.ts +3 -177
  194. package/editor/public_api.d.ts +3 -0
  195. package/esm2022/accordion/accordion.interface.mjs +2 -0
  196. package/esm2022/accordion/accordion.mjs +598 -0
  197. package/esm2022/accordion/accordion.module.mjs +23 -0
  198. package/esm2022/accordion/cax-design-system-accordion.mjs +5 -0
  199. package/esm2022/accordion/public_api.mjs +4 -0
  200. package/esm2022/animate/animate.mjs +101 -0
  201. package/esm2022/animate/cax-design-system-animate.mjs +5 -0
  202. package/esm2022/animate/public_api.mjs +2 -0
  203. package/esm2022/animateonscroll/animateonscroll.mjs +185 -0
  204. package/esm2022/animateonscroll/cax-design-system-animateonscroll.mjs +5 -0
  205. package/esm2022/animateonscroll/public_api.mjs +2 -0
  206. package/esm2022/api/blockableui.mjs +2 -0
  207. package/esm2022/api/cax-design-system-api.mjs +5 -0
  208. package/esm2022/api/caxconfig.mjs +163 -0
  209. package/esm2022/api/confirmaeventtype.mjs +10 -0
  210. package/esm2022/api/confirmation.mjs +2 -0
  211. package/esm2022/api/confirmationservice.mjs +43 -0
  212. package/esm2022/api/contextmenuservice.mjs +22 -0
  213. package/esm2022/api/filtermatchmode.mjs +23 -0
  214. package/esm2022/api/filtermetadata.mjs +2 -0
  215. package/esm2022/api/filteroperator.mjs +5 -0
  216. package/esm2022/api/filterservice.mjs +225 -0
  217. package/esm2022/api/lazyloadevent.mjs +2 -0
  218. package/esm2022/api/lazyloadmeta.mjs +2 -0
  219. package/esm2022/api/megamenuitem.mjs +2 -0
  220. package/esm2022/api/menuitem.mjs +2 -0
  221. package/esm2022/api/message.mjs +2 -0
  222. package/esm2022/api/messageservice.mjs +47 -0
  223. package/esm2022/api/overlayoptions.mjs +2 -0
  224. package/esm2022/api/overlayservice.mjs +19 -0
  225. package/esm2022/api/primeicons.mjs +314 -0
  226. package/esm2022/api/public_api.mjs +35 -0
  227. package/esm2022/api/scrolleroptions.mjs +2 -0
  228. package/esm2022/api/selectitem.mjs +2 -0
  229. package/esm2022/api/selectitemgroup.mjs +2 -0
  230. package/esm2022/api/shared.mjs +65 -0
  231. package/esm2022/api/sortevent.mjs +2 -0
  232. package/esm2022/api/sortmeta.mjs +2 -0
  233. package/esm2022/api/tablestate.mjs +2 -0
  234. package/esm2022/api/themegeneratorservice.mjs +109 -0
  235. package/esm2022/api/tooltipoptions.mjs +2 -0
  236. package/esm2022/api/translation.mjs +2 -0
  237. package/esm2022/api/translationkeys.mjs +51 -0
  238. package/esm2022/api/treedragdropservice.mjs +21 -0
  239. package/esm2022/api/treenode.mjs +2 -0
  240. package/esm2022/api/treenodedragevent.mjs +2 -0
  241. package/esm2022/api/treetablenode.mjs +2 -0
  242. package/esm2022/autocomplete/autocomplete.interface.mjs +2 -0
  243. package/esm2022/autocomplete/autocomplete.mjs +1462 -0
  244. package/esm2022/autocomplete/autocomplete.module.mjs +30 -0
  245. package/esm2022/autocomplete/cax-design-system-autocomplete.mjs +5 -0
  246. package/esm2022/autocomplete/public_api.mjs +4 -0
  247. package/esm2022/autofocus/autofocus.mjs +78 -0
  248. package/esm2022/autofocus/cax-design-system-autofocus.mjs +5 -0
  249. package/esm2022/autofocus/public_api.mjs +2 -0
  250. package/esm2022/avatar/avatar.mjs +104 -0
  251. package/esm2022/avatar/avatar.module.mjs +16 -0
  252. package/esm2022/avatar/cax-design-system-avatar.mjs +5 -0
  253. package/esm2022/avatar/public_api.mjs +3 -0
  254. package/esm2022/avatargroup/avatargroup.mjs +32 -0
  255. package/esm2022/avatargroup/avatargroup.module.mjs +19 -0
  256. package/esm2022/avatargroup/cax-design-system-avatargroup.mjs +5 -0
  257. package/esm2022/avatargroup/public_api.mjs +3 -0
  258. package/esm2022/badge/badge.directive.mjs +193 -0
  259. package/esm2022/badge/badge.mjs +50 -0
  260. package/esm2022/badge/badge.module.mjs +20 -0
  261. package/esm2022/badge/cax-design-system-badge.mjs +5 -0
  262. package/esm2022/badge/public_api.mjs +4 -0
  263. package/esm2022/baseicon/baseicon.mjs +45 -0
  264. package/esm2022/baseicon/cax-design-system-baseicon.mjs +5 -0
  265. package/esm2022/baseicon/public_api.mjs +2 -0
  266. package/esm2022/blockui/blockui.interface.mjs +2 -0
  267. package/esm2022/blockui/blockui.mjs +206 -0
  268. package/esm2022/blockui/cax-design-system-blockui.mjs +5 -0
  269. package/esm2022/blockui/public_api.mjs +3 -0
  270. package/esm2022/breadcrumb/breadcrumb.interface.mjs +2 -0
  271. package/esm2022/breadcrumb/breadcrumb.mjs +120 -0
  272. package/esm2022/breadcrumb/breadcrumb.module.mjs +23 -0
  273. package/esm2022/breadcrumb/cax-design-system-breadcrumb.mjs +5 -0
  274. package/esm2022/breadcrumb/public_api.mjs +4 -0
  275. package/esm2022/button/button.directive.mjs +259 -0
  276. package/esm2022/button/button.interface.mjs +2 -0
  277. package/esm2022/button/button.mjs +190 -0
  278. package/esm2022/button/button.module.mjs +18 -0
  279. package/esm2022/button/cax-design-system-button.mjs +5 -0
  280. package/esm2022/button/public_api.mjs +5 -0
  281. package/esm2022/buttongroup/buttongroup.mjs +38 -0
  282. package/esm2022/buttongroup/cax-design-system-buttongroup.mjs +5 -0
  283. package/esm2022/buttongroup/public_api.mjs +2 -0
  284. package/esm2022/calendar/calendar.interface.mjs +2 -0
  285. package/esm2022/calendar/calendar.mjs +3242 -0
  286. package/esm2022/calendar/calendar.module.mjs +18 -0
  287. package/esm2022/calendar/cax-design-system-calendar.mjs +5 -0
  288. package/esm2022/calendar/public_api.mjs +4 -0
  289. package/esm2022/card/card.interface.mjs +2 -0
  290. package/esm2022/card/card.mjs +117 -0
  291. package/esm2022/card/card.module.mjs +21 -0
  292. package/esm2022/card/cax-design-system-card.mjs +5 -0
  293. package/esm2022/card/public_api.mjs +4 -0
  294. package/esm2022/carousel/carousel.interface.mjs +2 -0
  295. package/esm2022/carousel/carousel.mjs +968 -0
  296. package/esm2022/carousel/cax-design-system-carousel.mjs +5 -0
  297. package/esm2022/carousel/public_api.mjs +3 -0
  298. package/esm2022/cascadeselect/cascadeselect.interface.mjs +2 -0
  299. package/esm2022/cascadeselect/cascadeselect.mjs +1135 -0
  300. package/esm2022/cascadeselect/cascadeselect.module.mjs +25 -0
  301. package/esm2022/cascadeselect/cax-design-system-cascadeselect.mjs +5 -0
  302. package/esm2022/cascadeselect/public_api.mjs +4 -0
  303. package/esm2022/cax-design-system.mjs +5 -0
  304. package/esm2022/chart/cax-design-system-chart.mjs +5 -0
  305. package/esm2022/chart/chart.mjs +236 -0
  306. package/esm2022/chart/public_api.mjs +2 -0
  307. package/esm2022/checkbox/cax-design-system-checkbox.mjs +5 -0
  308. package/esm2022/checkbox/checkbox.interface.mjs +2 -0
  309. package/esm2022/checkbox/checkbox.mjs +318 -0
  310. package/esm2022/checkbox/checkbox.module.mjs +20 -0
  311. package/esm2022/checkbox/public_api.mjs +4 -0
  312. package/esm2022/chip/cax-design-system-chip.mjs +5 -0
  313. package/esm2022/chip/chip.interface.mjs +2 -0
  314. package/esm2022/chip/chip.mjs +90 -0
  315. package/esm2022/chip/chip.module.mjs +20 -0
  316. package/esm2022/chip/public_api.mjs +4 -0
  317. package/esm2022/chips/cax-design-system-chips.mjs +5 -0
  318. package/esm2022/chips/chips.interface.mjs +2 -0
  319. package/esm2022/chips/chips.mjs +610 -0
  320. package/esm2022/chips/chips.module.mjs +23 -0
  321. package/esm2022/chips/public_api.mjs +4 -0
  322. package/esm2022/colorpicker/cax-design-system-colorpicker.mjs +5 -0
  323. package/esm2022/colorpicker/colorpicker.interface.mjs +2 -0
  324. package/esm2022/colorpicker/colorpicker.mjs +715 -0
  325. package/esm2022/colorpicker/colorpicker.module.mjs +19 -0
  326. package/esm2022/colorpicker/public_api.mjs +4 -0
  327. package/esm2022/commentbox/cax-design-system-commentbox.mjs +5 -0
  328. package/esm2022/commentbox/commentbox.mjs +575 -0
  329. package/esm2022/commentbox/commentbox.module.mjs +27 -0
  330. package/esm2022/commentbox/public_api.mjs +3 -0
  331. package/esm2022/confirmdialog/cax-design-system-confirmdialog.mjs +5 -0
  332. package/esm2022/confirmdialog/confirmdialog.interface.mjs +2 -0
  333. package/esm2022/confirmdialog/confirmdialog.mjs +720 -0
  334. package/esm2022/confirmdialog/confirmdialog.module.mjs +25 -0
  335. package/esm2022/confirmdialog/public_api.mjs +4 -0
  336. package/esm2022/confirmpopup/cax-design-system-confirmpopup.mjs +5 -0
  337. package/esm2022/confirmpopup/confirmpopup.interface.mjs +2 -0
  338. package/esm2022/confirmpopup/confirmpopup.mjs +499 -0
  339. package/esm2022/confirmpopup/public_api.mjs +3 -0
  340. package/esm2022/contextmenu/cax-design-system-contextmenu.mjs +5 -0
  341. package/esm2022/contextmenu/contextmenu.mjs +1304 -0
  342. package/esm2022/contextmenu/public_api.mjs +2 -0
  343. package/esm2022/dataview/cax-design-system-dataview.mjs +5 -0
  344. package/esm2022/dataview/dataview.interface.mjs +2 -0
  345. package/esm2022/dataview/dataview.mjs +723 -0
  346. package/esm2022/dataview/public_api.mjs +3 -0
  347. package/esm2022/defer/cax-design-system-defer.mjs +5 -0
  348. package/esm2022/defer/defer.mjs +111 -0
  349. package/esm2022/defer/public_api.mjs +2 -0
  350. package/esm2022/dialog/cax-design-system-dialog.mjs +5 -0
  351. package/esm2022/dialog/dialog.interface.mjs +2 -0
  352. package/esm2022/dialog/dialog.mjs +959 -0
  353. package/esm2022/dialog/dialog.module.mjs +25 -0
  354. package/esm2022/dialog/public_api.mjs +4 -0
  355. package/esm2022/divider/cax-design-system-divider.mjs +5 -0
  356. package/esm2022/divider/divider.mjs +69 -0
  357. package/esm2022/divider/divider.module.mjs +16 -0
  358. package/esm2022/divider/public_api.mjs +3 -0
  359. package/esm2022/dock/cax-design-system-dock.mjs +5 -0
  360. package/esm2022/dock/dock.interface.mjs +2 -0
  361. package/esm2022/dock/dock.mjs +431 -0
  362. package/esm2022/dock/public_api.mjs +3 -0
  363. package/esm2022/dom/cax-design-system-dom.mjs +5 -0
  364. package/esm2022/dom/connectedoverlayscrollhandler.mjs +30 -0
  365. package/esm2022/dom/domhandler.mjs +722 -0
  366. package/esm2022/dom/public_api.mjs +3 -0
  367. package/esm2022/dragdrop/cax-design-system-dragdrop.mjs +5 -0
  368. package/esm2022/dragdrop/dragdrop.mjs +309 -0
  369. package/esm2022/dragdrop/dragdrop.module.mjs +18 -0
  370. package/esm2022/dragdrop/public_api.mjs +3 -0
  371. package/esm2022/dropdown/cax-design-system-dropdown.mjs +5 -0
  372. package/esm2022/dropdown/dropdown-item.mjs +72 -0
  373. package/esm2022/dropdown/dropdown.interface.mjs +2 -0
  374. package/esm2022/dropdown/dropdown.mjs +1599 -0
  375. package/esm2022/dropdown/dropdown.module.mjs +20 -0
  376. package/esm2022/dropdown/public_api.mjs +5 -0
  377. package/esm2022/dynamicdialog/cax-design-system-dynamicdialog.mjs +5 -0
  378. package/esm2022/dynamicdialog/dialogservice.mjs +102 -0
  379. package/esm2022/dynamicdialog/dynamicdialog-config.mjs +187 -0
  380. package/esm2022/dynamicdialog/dynamicdialog-injector.mjs +15 -0
  381. package/esm2022/dynamicdialog/dynamicdialog-ref.mjs +119 -0
  382. package/esm2022/dynamicdialog/dynamicdialog.mjs +696 -0
  383. package/esm2022/dynamicdialog/dynamicdialogcontent.mjs +20 -0
  384. package/esm2022/dynamicdialog/public_api.mjs +7 -0
  385. package/esm2022/editor/cax-design-system-editor.mjs +5 -0
  386. package/esm2022/editor/editor.interface.mjs +2 -0
  387. package/esm2022/editor/editor.mjs +281 -0
  388. package/esm2022/editor/editor.module.mjs +19 -0
  389. package/esm2022/editor/public_api.mjs +4 -0
  390. package/esm2022/fieldset/cax-design-system-fieldset.mjs +5 -0
  391. package/esm2022/fieldset/fieldset.interface.mjs +2 -0
  392. package/esm2022/fieldset/fieldset.mjs +297 -0
  393. package/esm2022/fieldset/public_api.mjs +3 -0
  394. package/esm2022/fileupload/cax-design-system-fileupload.mjs +5 -0
  395. package/esm2022/fileupload/fileupload.interface.mjs +2 -0
  396. package/esm2022/fileupload/fileupload.mjs +1188 -0
  397. package/esm2022/fileupload/public_api.mjs +3 -0
  398. package/esm2022/floatlabel/cax-design-system-floatlabel.mjs +5 -0
  399. package/esm2022/floatlabel/floatlabel.mjs +28 -0
  400. package/esm2022/floatlabel/floatlabel.module.mjs +20 -0
  401. package/esm2022/floatlabel/public_api.mjs +3 -0
  402. package/esm2022/focustrap/cax-design-system-focustrap.mjs +5 -0
  403. package/esm2022/focustrap/focustrap.mjs +103 -0
  404. package/esm2022/focustrap/public_api.mjs +2 -0
  405. package/esm2022/galleria/cax-design-system-galleria.mjs +5 -0
  406. package/esm2022/galleria/galleria.interface.mjs +2 -0
  407. package/esm2022/galleria/galleria.mjs +1668 -0
  408. package/esm2022/galleria/public_api.mjs +3 -0
  409. package/esm2022/iconfield/cax-design-system-iconfield.mjs +5 -0
  410. package/esm2022/iconfield/iconfield.mjs +44 -0
  411. package/esm2022/iconfield/public_api.mjs +2 -0
  412. package/esm2022/icons/angledoubledown/angledoubledown.mjs +35 -0
  413. package/esm2022/icons/angledoubledown/cax-design-system-icons-angledoubledown.mjs +5 -0
  414. package/esm2022/icons/angledoubledown/public_api.mjs +2 -0
  415. package/esm2022/icons/angledoubleleft/angledoubleleft.mjs +35 -0
  416. package/esm2022/icons/angledoubleleft/cax-design-system-icons-angledoubleleft.mjs +5 -0
  417. package/esm2022/icons/angledoubleleft/public_api.mjs +2 -0
  418. package/esm2022/icons/angledoubleright/angledoubleright.mjs +35 -0
  419. package/esm2022/icons/angledoubleright/cax-design-system-icons-angledoubleright.mjs +5 -0
  420. package/esm2022/icons/angledoubleright/public_api.mjs +2 -0
  421. package/esm2022/icons/angledoubleup/angledoubleup.mjs +35 -0
  422. package/esm2022/icons/angledoubleup/cax-design-system-icons-angledoubleup.mjs +5 -0
  423. package/esm2022/icons/angledoubleup/public_api.mjs +2 -0
  424. package/esm2022/icons/angledown/angledown.mjs +31 -0
  425. package/esm2022/icons/angledown/cax-design-system-icons-angledown.mjs +5 -0
  426. package/esm2022/icons/angledown/public_api.mjs +2 -0
  427. package/esm2022/icons/angleleft/angleleft.mjs +31 -0
  428. package/esm2022/icons/angleleft/cax-design-system-icons-angleleft.mjs +5 -0
  429. package/esm2022/icons/angleleft/public_api.mjs +2 -0
  430. package/esm2022/icons/angleright/angleright.mjs +31 -0
  431. package/esm2022/icons/angleright/cax-design-system-icons-angleright.mjs +5 -0
  432. package/esm2022/icons/angleright/public_api.mjs +2 -0
  433. package/esm2022/icons/angleup/angleup.mjs +31 -0
  434. package/esm2022/icons/angleup/cax-design-system-icons-angleup.mjs +5 -0
  435. package/esm2022/icons/angleup/public_api.mjs +2 -0
  436. package/esm2022/icons/arrowdown/arrowdown.mjs +54 -0
  437. package/esm2022/icons/arrowdown/cax-design-system-icons-arrowdown.mjs +5 -0
  438. package/esm2022/icons/arrowdown/public_api.mjs +2 -0
  439. package/esm2022/icons/arrowdownleft/arrowdownleft.mjs +31 -0
  440. package/esm2022/icons/arrowdownleft/cax-design-system-icons-arrowdownleft.mjs +5 -0
  441. package/esm2022/icons/arrowdownleft/public_api.mjs +2 -0
  442. package/esm2022/icons/arrowdownright/arrowdownright.mjs +31 -0
  443. package/esm2022/icons/arrowdownright/cax-design-system-icons-arrowdownright.mjs +5 -0
  444. package/esm2022/icons/arrowdownright/public_api.mjs +2 -0
  445. package/esm2022/icons/arrowleft/arrowleft.mjs +54 -0
  446. package/esm2022/icons/arrowleft/cax-design-system-icons-arrowleft.mjs +5 -0
  447. package/esm2022/icons/arrowleft/public_api.mjs +2 -0
  448. package/esm2022/icons/arrowright/arrowright.mjs +35 -0
  449. package/esm2022/icons/arrowright/cax-design-system-icons-arrowright.mjs +5 -0
  450. package/esm2022/icons/arrowright/public_api.mjs +2 -0
  451. package/esm2022/icons/arrowup/arrowup.mjs +54 -0
  452. package/esm2022/icons/arrowup/cax-design-system-icons-arrowup.mjs +5 -0
  453. package/esm2022/icons/arrowup/public_api.mjs +2 -0
  454. package/esm2022/icons/ban/ban.mjs +50 -0
  455. package/esm2022/icons/ban/cax-design-system-icons-ban.mjs +5 -0
  456. package/esm2022/icons/ban/public_api.mjs +2 -0
  457. package/esm2022/icons/bars/bars.mjs +35 -0
  458. package/esm2022/icons/bars/cax-design-system-icons-bars.mjs +5 -0
  459. package/esm2022/icons/bars/public_api.mjs +2 -0
  460. package/esm2022/icons/blank/blank.mjs +25 -0
  461. package/esm2022/icons/blank/cax-design-system-icons-blank.mjs +5 -0
  462. package/esm2022/icons/blank/public_api.mjs +2 -0
  463. package/esm2022/icons/calendar/calendar.mjs +31 -0
  464. package/esm2022/icons/calendar/cax-design-system-icons-calendar.mjs +5 -0
  465. package/esm2022/icons/calendar/public_api.mjs +2 -0
  466. package/esm2022/icons/caretleft/caretleft.mjs +31 -0
  467. package/esm2022/icons/caretleft/cax-design-system-icons-caretleft.mjs +5 -0
  468. package/esm2022/icons/caretleft/public_api.mjs +2 -0
  469. package/esm2022/icons/caretright/caretright.mjs +31 -0
  470. package/esm2022/icons/caretright/cax-design-system-icons-caretright.mjs +5 -0
  471. package/esm2022/icons/caretright/public_api.mjs +2 -0
  472. package/esm2022/icons/check/cax-design-system-icons-check.mjs +5 -0
  473. package/esm2022/icons/check/check.mjs +31 -0
  474. package/esm2022/icons/check/public_api.mjs +2 -0
  475. package/esm2022/icons/chevrondown/cax-design-system-icons-chevrondown.mjs +5 -0
  476. package/esm2022/icons/chevrondown/chevrondown.mjs +31 -0
  477. package/esm2022/icons/chevrondown/public_api.mjs +2 -0
  478. package/esm2022/icons/chevronleft/cax-design-system-icons-chevronleft.mjs +5 -0
  479. package/esm2022/icons/chevronleft/chevronleft.mjs +31 -0
  480. package/esm2022/icons/chevronleft/public_api.mjs +2 -0
  481. package/esm2022/icons/chevronright/cax-design-system-icons-chevronright.mjs +5 -0
  482. package/esm2022/icons/chevronright/chevronright.mjs +31 -0
  483. package/esm2022/icons/chevronright/public_api.mjs +2 -0
  484. package/esm2022/icons/chevronup/cax-design-system-icons-chevronup.mjs +5 -0
  485. package/esm2022/icons/chevronup/chevronup.mjs +31 -0
  486. package/esm2022/icons/chevronup/public_api.mjs +2 -0
  487. package/esm2022/icons/exclamationtriangle/cax-design-system-icons-exclamationtriangle.mjs +5 -0
  488. package/esm2022/icons/exclamationtriangle/exclamationtriangle.mjs +66 -0
  489. package/esm2022/icons/exclamationtriangle/public_api.mjs +2 -0
  490. package/esm2022/icons/eye/cax-design-system-icons-eye.mjs +5 -0
  491. package/esm2022/icons/eye/eye.mjs +35 -0
  492. package/esm2022/icons/eye/public_api.mjs +2 -0
  493. package/esm2022/icons/eyeslash/cax-design-system-icons-eyeslash.mjs +5 -0
  494. package/esm2022/icons/eyeslash/eyeslash.mjs +54 -0
  495. package/esm2022/icons/eyeslash/public_api.mjs +2 -0
  496. package/esm2022/icons/filter/cax-design-system-icons-filter.mjs +5 -0
  497. package/esm2022/icons/filter/filter.mjs +50 -0
  498. package/esm2022/icons/filter/public_api.mjs +2 -0
  499. package/esm2022/icons/filterslash/cax-design-system-icons-filterslash.mjs +5 -0
  500. package/esm2022/icons/filterslash/filterslash.mjs +54 -0
  501. package/esm2022/icons/filterslash/public_api.mjs +2 -0
  502. package/esm2022/icons/home/cax-design-system-icons-home.mjs +5 -0
  503. package/esm2022/icons/home/home.mjs +54 -0
  504. package/esm2022/icons/home/public_api.mjs +2 -0
  505. package/esm2022/icons/infocircle/cax-design-system-icons-infocircle.mjs +5 -0
  506. package/esm2022/icons/infocircle/infocircle.mjs +54 -0
  507. package/esm2022/icons/infocircle/public_api.mjs +2 -0
  508. package/esm2022/icons/minus/cax-design-system-icons-minus.mjs +5 -0
  509. package/esm2022/icons/minus/minus.mjs +32 -0
  510. package/esm2022/icons/minus/public_api.mjs +2 -0
  511. package/esm2022/icons/pencil/cax-design-system-icons-pencil.mjs +5 -0
  512. package/esm2022/icons/pencil/pencil.mjs +50 -0
  513. package/esm2022/icons/pencil/public_api.mjs +2 -0
  514. package/esm2022/icons/plus/cax-design-system-icons-plus.mjs +5 -0
  515. package/esm2022/icons/plus/plus.mjs +50 -0
  516. package/esm2022/icons/plus/public_api.mjs +2 -0
  517. package/esm2022/icons/refresh/cax-design-system-icons-refresh.mjs +5 -0
  518. package/esm2022/icons/refresh/public_api.mjs +2 -0
  519. package/esm2022/icons/refresh/refresh.mjs +54 -0
  520. package/esm2022/icons/search/cax-design-system-icons-search.mjs +5 -0
  521. package/esm2022/icons/search/public_api.mjs +2 -0
  522. package/esm2022/icons/search/search.mjs +54 -0
  523. package/esm2022/icons/searchminus/cax-design-system-icons-searchminus.mjs +5 -0
  524. package/esm2022/icons/searchminus/public_api.mjs +2 -0
  525. package/esm2022/icons/searchminus/searchminus.mjs +54 -0
  526. package/esm2022/icons/searchplus/cax-design-system-icons-searchplus.mjs +5 -0
  527. package/esm2022/icons/searchplus/public_api.mjs +2 -0
  528. package/esm2022/icons/searchplus/searchplus.mjs +54 -0
  529. package/esm2022/icons/sortalt/cax-design-system-icons-sortalt.mjs +5 -0
  530. package/esm2022/icons/sortalt/public_api.mjs +2 -0
  531. package/esm2022/icons/sortalt/sortalt.mjs +62 -0
  532. package/esm2022/icons/sortamountdown/cax-design-system-icons-sortamountdown.mjs +5 -0
  533. package/esm2022/icons/sortamountdown/public_api.mjs +2 -0
  534. package/esm2022/icons/sortamountdown/sortamountdown.mjs +50 -0
  535. package/esm2022/icons/sortamountupalt/cax-design-system-icons-sortamountupalt.mjs +5 -0
  536. package/esm2022/icons/sortamountupalt/public_api.mjs +2 -0
  537. package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +50 -0
  538. package/esm2022/icons/spinner/cax-design-system-icons-spinner.mjs +5 -0
  539. package/esm2022/icons/spinner/public_api.mjs +2 -0
  540. package/esm2022/icons/spinner/spinner.mjs +50 -0
  541. package/esm2022/icons/star/cax-design-system-icons-star.mjs +5 -0
  542. package/esm2022/icons/star/public_api.mjs +2 -0
  543. package/esm2022/icons/star/star.mjs +50 -0
  544. package/esm2022/icons/starfill/cax-design-system-icons-starfill.mjs +5 -0
  545. package/esm2022/icons/starfill/public_api.mjs +2 -0
  546. package/esm2022/icons/starfill/starfill.mjs +50 -0
  547. package/esm2022/icons/thlarge/cax-design-system-icons-thlarge.mjs +5 -0
  548. package/esm2022/icons/thlarge/public_api.mjs +2 -0
  549. package/esm2022/icons/thlarge/thlarge.mjs +54 -0
  550. package/esm2022/icons/times/cax-design-system-icons-times.mjs +5 -0
  551. package/esm2022/icons/times/public_api.mjs +2 -0
  552. package/esm2022/icons/times/times.mjs +31 -0
  553. package/esm2022/icons/timescircle/cax-design-system-icons-timescircle.mjs +5 -0
  554. package/esm2022/icons/timescircle/public_api.mjs +2 -0
  555. package/esm2022/icons/timescircle/timescircle.mjs +54 -0
  556. package/esm2022/icons/trash/cax-design-system-icons-trash.mjs +5 -0
  557. package/esm2022/icons/trash/public_api.mjs +2 -0
  558. package/esm2022/icons/trash/trash.mjs +54 -0
  559. package/esm2022/icons/undo/cax-design-system-icons-undo.mjs +5 -0
  560. package/esm2022/icons/undo/public_api.mjs +2 -0
  561. package/esm2022/icons/undo/undo.mjs +54 -0
  562. package/esm2022/icons/upload/cax-design-system-icons-upload.mjs +5 -0
  563. package/esm2022/icons/upload/public_api.mjs +2 -0
  564. package/esm2022/icons/upload/upload.mjs +54 -0
  565. package/esm2022/icons/windowmaximize/cax-design-system-icons-windowmaximize.mjs +5 -0
  566. package/esm2022/icons/windowmaximize/public_api.mjs +2 -0
  567. package/esm2022/icons/windowmaximize/windowmaximize.mjs +54 -0
  568. package/esm2022/icons/windowminimize/cax-design-system-icons-windowminimize.mjs +5 -0
  569. package/esm2022/icons/windowminimize/public_api.mjs +2 -0
  570. package/esm2022/icons/windowminimize/windowminimize.mjs +54 -0
  571. package/esm2022/image/cax-design-system-image.mjs +5 -0
  572. package/esm2022/image/image.interface.mjs +2 -0
  573. package/esm2022/image/image.mjs +418 -0
  574. package/esm2022/image/image.module.mjs +17 -0
  575. package/esm2022/image/public_api.mjs +4 -0
  576. package/esm2022/inplace/cax-design-system-inplace.mjs +5 -0
  577. package/esm2022/inplace/inplace.interface.mjs +2 -0
  578. package/esm2022/inplace/inplace.mjs +243 -0
  579. package/esm2022/inplace/public_api.mjs +3 -0
  580. package/esm2022/inputgroup/cax-design-system-inputgroup.mjs +5 -0
  581. package/esm2022/inputgroup/inputgroup.mjs +55 -0
  582. package/esm2022/inputgroup/inputgroup.module.mjs +25 -0
  583. package/esm2022/inputgroup/public_api.mjs +3 -0
  584. package/esm2022/inputgroupaddon/cax-design-system-inputgroupaddon.mjs +5 -0
  585. package/esm2022/inputgroupaddon/inputgroupaddon.mjs +32 -0
  586. package/esm2022/inputgroupaddon/inputgroupaddon.module.mjs +24 -0
  587. package/esm2022/inputgroupaddon/public_api.mjs +3 -0
  588. package/esm2022/inputicon/cax-design-system-inputicon.mjs +5 -0
  589. package/esm2022/inputicon/inputicon.mjs +38 -0
  590. package/esm2022/inputicon/public_api.mjs +2 -0
  591. package/esm2022/inputmask/cax-design-system-inputmask.mjs +5 -0
  592. package/esm2022/inputmask/inputmask.interface.mjs +2 -0
  593. package/esm2022/inputmask/inputmask.mjs +848 -0
  594. package/esm2022/inputmask/inputmask.module.mjs +22 -0
  595. package/esm2022/inputmask/public_api.mjs +4 -0
  596. package/esm2022/inputnumber/cax-design-system-inputnumber.mjs +5 -0
  597. package/esm2022/inputnumber/inputnumber.interface.mjs +2 -0
  598. package/esm2022/inputnumber/inputnumber.mjs +1296 -0
  599. package/esm2022/inputnumber/inputnumber.module.mjs +17 -0
  600. package/esm2022/inputnumber/public_api.mjs +4 -0
  601. package/esm2022/inputotp/cax-design-system-inputotp.mjs +5 -0
  602. package/esm2022/inputotp/inputotp.interface.mjs +2 -0
  603. package/esm2022/inputotp/inputotp.mjs +381 -0
  604. package/esm2022/inputotp/public_api.mjs +3 -0
  605. package/esm2022/inputswitch/cax-design-system-inputswitch.mjs +5 -0
  606. package/esm2022/inputswitch/inputswitch.interface.mjs +2 -0
  607. package/esm2022/inputswitch/inputswitch.mjs +244 -0
  608. package/esm2022/inputswitch/public_api.mjs +3 -0
  609. package/esm2022/inputtext/cax-design-system-inputtext.mjs +5 -0
  610. package/esm2022/inputtext/inputtext.component.mjs +132 -0
  611. package/esm2022/inputtext/inputtext.directive.mjs +76 -0
  612. package/esm2022/inputtext/inputtext.module.mjs +20 -0
  613. package/esm2022/inputtext/public_api.mjs +4 -0
  614. package/esm2022/inputtextarea/cax-design-system-inputtextarea.mjs +5 -0
  615. package/esm2022/inputtextarea/inputtextarea.component.mjs +155 -0
  616. package/esm2022/inputtextarea/inputtextarea.directive.mjs +121 -0
  617. package/esm2022/inputtextarea/inputtextarea.module.mjs +20 -0
  618. package/esm2022/inputtextarea/public_api.mjs +4 -0
  619. package/esm2022/keyfilter/cax-design-system-keyfilter.mjs +5 -0
  620. package/esm2022/keyfilter/keyfilter.interface.mjs +2 -0
  621. package/esm2022/keyfilter/keyfilter.mjs +265 -0
  622. package/esm2022/keyfilter/public_api.mjs +3 -0
  623. package/esm2022/knob/cax-design-system-knob.mjs +5 -0
  624. package/esm2022/knob/knob.mjs +464 -0
  625. package/esm2022/knob/public_api.mjs +2 -0
  626. package/esm2022/listbox/cax-design-system-listbox.mjs +5 -0
  627. package/esm2022/listbox/listbox.interface.mjs +2 -0
  628. package/esm2022/listbox/listbox.mjs +1555 -0
  629. package/esm2022/listbox/public_api.mjs +3 -0
  630. package/esm2022/logo/cax-design-system-logo.mjs +5 -0
  631. package/esm2022/logo/logo.mjs +45 -0
  632. package/esm2022/logo/logo.module.mjs +16 -0
  633. package/esm2022/logo/public_api.mjs +3 -0
  634. package/esm2022/megamenu/cax-design-system-megamenu.mjs +5 -0
  635. package/esm2022/megamenu/megamenu.interface.mjs +2 -0
  636. package/esm2022/megamenu/megamenu.mjs +1190 -0
  637. package/esm2022/megamenu/public_api.mjs +3 -0
  638. package/esm2022/menu/cax-design-system-menu.mjs +5 -0
  639. package/esm2022/menu/menu.mjs +626 -0
  640. package/esm2022/menu/menu.module.mjs +22 -0
  641. package/esm2022/menu/public_api.mjs +3 -0
  642. package/esm2022/menubar/cax-design-system-menubar.mjs +5 -0
  643. package/esm2022/menubar/menubar.interface.mjs +2 -0
  644. package/esm2022/menubar/menubar.mjs +1249 -0
  645. package/esm2022/menubar/public_api.mjs +3 -0
  646. package/esm2022/message/cax-design-system-message.mjs +5 -0
  647. package/esm2022/message/message.mjs +112 -0
  648. package/esm2022/message/public_api.mjs +2 -0
  649. package/esm2022/messages/cax-design-system-messages.mjs +5 -0
  650. package/esm2022/messages/messages.interface.mjs +2 -0
  651. package/esm2022/messages/messages.mjs +283 -0
  652. package/esm2022/messages/messages.module.mjs +17 -0
  653. package/esm2022/messages/public_api.mjs +4 -0
  654. package/esm2022/metergroup/cax-design-system-metergroup.mjs +5 -0
  655. package/esm2022/metergroup/metergroup.interface.mjs +2 -0
  656. package/esm2022/metergroup/metergroup.mjs +280 -0
  657. package/esm2022/metergroup/public_api.mjs +3 -0
  658. package/esm2022/multiselect/cax-design-system-multiselect.mjs +5 -0
  659. package/esm2022/multiselect/multiselect.interface.mjs +2 -0
  660. package/esm2022/multiselect/multiselect.mjs +1875 -0
  661. package/esm2022/multiselect/multiselect.module.mjs +30 -0
  662. package/esm2022/multiselect/public_api.mjs +4 -0
  663. package/esm2022/navigation/cax-design-system-navigation.mjs +5 -0
  664. package/esm2022/navigation/navigation.interface.mjs +2 -0
  665. package/esm2022/navigation/navigation.mjs +399 -0
  666. package/esm2022/navigation/navigation.module.mjs +16 -0
  667. package/esm2022/navigation/public_api.mjs +3 -0
  668. package/esm2022/orderlist/cax-design-system-orderlist.mjs +5 -0
  669. package/esm2022/orderlist/orderlist.interface.mjs +2 -0
  670. package/esm2022/orderlist/orderlist.mjs +993 -0
  671. package/esm2022/orderlist/public_api.mjs +3 -0
  672. package/esm2022/organizationchart/cax-design-system-organizationchart.mjs +5 -0
  673. package/esm2022/organizationchart/organizationchart.interface.mjs +2 -0
  674. package/esm2022/organizationchart/organizationchart.mjs +416 -0
  675. package/esm2022/organizationchart/public_api.mjs +3 -0
  676. package/esm2022/overlay/cax-design-system-overlay.mjs +5 -0
  677. package/esm2022/overlay/overlay.mjs +579 -0
  678. package/esm2022/overlay/overlay.module.mjs +17 -0
  679. package/esm2022/overlay/public_api.mjs +3 -0
  680. package/esm2022/overlaypanel/cax-design-system-overlaypanel.mjs +5 -0
  681. package/esm2022/overlaypanel/overlaypanel.mjs +470 -0
  682. package/esm2022/overlaypanel/overlaypanel.module.mjs +17 -0
  683. package/esm2022/overlaypanel/public_api.mjs +3 -0
  684. package/esm2022/paginator/cax-design-system-paginator.mjs +5 -0
  685. package/esm2022/paginator/paginator.interface.mjs +2 -0
  686. package/esm2022/paginator/paginator.mjs +437 -0
  687. package/esm2022/paginator/paginator.module.mjs +27 -0
  688. package/esm2022/paginator/public_api.mjs +4 -0
  689. package/esm2022/panel/cax-design-system-panel.mjs +5 -0
  690. package/esm2022/panel/panel.interface.mjs +2 -0
  691. package/esm2022/panel/panel.mjs +393 -0
  692. package/esm2022/panel/public_api.mjs +3 -0
  693. package/esm2022/panelmenu/cax-design-system-panelmenu.mjs +5 -0
  694. package/esm2022/panelmenu/panelmenu.interface.mjs +2 -0
  695. package/esm2022/panelmenu/panelmenu.mjs +1276 -0
  696. package/esm2022/panelmenu/public_api.mjs +3 -0
  697. package/esm2022/password/cax-design-system-password.mjs +5 -0
  698. package/esm2022/password/password.mjs +1017 -0
  699. package/esm2022/password/public_api.mjs +2 -0
  700. package/esm2022/picklist/cax-design-system-picklist.mjs +5 -0
  701. package/esm2022/picklist/picklist.interface.mjs +2 -0
  702. package/esm2022/picklist/picklist.mjs +1909 -0
  703. package/esm2022/picklist/public_api.mjs +3 -0
  704. package/esm2022/progressbar/cax-design-system-progressbar.mjs +5 -0
  705. package/esm2022/progressbar/progressbar.mjs +86 -0
  706. package/esm2022/progressbar/progressbar.module.mjs +18 -0
  707. package/esm2022/progressbar/public_api.mjs +3 -0
  708. package/esm2022/progressspinner/cax-design-system-progressspinner.mjs +5 -0
  709. package/esm2022/progressspinner/progressspinner.mjs +112 -0
  710. package/esm2022/progressspinner/progressspinner.module.mjs +18 -0
  711. package/esm2022/progressspinner/public_api.mjs +3 -0
  712. package/esm2022/public_api.mjs +2 -0
  713. package/esm2022/radiobutton/cax-design-system-radiobutton.mjs +5 -0
  714. package/esm2022/radiobutton/public_api.mjs +4 -0
  715. package/esm2022/radiobutton/radiobutton.interface.mjs +2 -0
  716. package/esm2022/radiobutton/radiobutton.mjs +284 -0
  717. package/esm2022/radiobutton/radiobutton.module.mjs +16 -0
  718. package/esm2022/rating/cax-design-system-rating.mjs +5 -0
  719. package/esm2022/rating/public_api.mjs +3 -0
  720. package/esm2022/rating/rating.interface.mjs +2 -0
  721. package/esm2022/rating/rating.mjs +388 -0
  722. package/esm2022/ripple/cax-design-system-ripple.mjs +5 -0
  723. package/esm2022/ripple/public_api.mjs +3 -0
  724. package/esm2022/ripple/ripple.mjs +129 -0
  725. package/esm2022/ripple/ripple.module.mjs +16 -0
  726. package/esm2022/scroller/cax-design-system-scroller.mjs +5 -0
  727. package/esm2022/scroller/public_api.mjs +4 -0
  728. package/esm2022/scroller/scroller.interface.mjs +2 -0
  729. package/esm2022/scroller/scroller.mjs +981 -0
  730. package/esm2022/scroller/scroller.module.mjs +17 -0
  731. package/esm2022/scrollpanel/cax-design-system-scrollpanel.mjs +5 -0
  732. package/esm2022/scrollpanel/public_api.mjs +3 -0
  733. package/esm2022/scrollpanel/scrollpanel.interface.mjs +2 -0
  734. package/esm2022/scrollpanel/scrollpanel.mjs +501 -0
  735. package/esm2022/scrolltop/cax-design-system-scrolltop.mjs +5 -0
  736. package/esm2022/scrolltop/public_api.mjs +3 -0
  737. package/esm2022/scrolltop/scrolltop.interface.mjs +2 -0
  738. package/esm2022/scrolltop/scrolltop.mjs +282 -0
  739. package/esm2022/selectbutton/cax-design-system-selectbutton.mjs +5 -0
  740. package/esm2022/selectbutton/public_api.mjs +4 -0
  741. package/esm2022/selectbutton/selectbutton.interface.mjs +2 -0
  742. package/esm2022/selectbutton/selectbutton.mjs +303 -0
  743. package/esm2022/selectbutton/selectbutton.module.mjs +21 -0
  744. package/esm2022/sidebar/cax-design-system-sidebar.mjs +5 -0
  745. package/esm2022/sidebar/public_api.mjs +4 -0
  746. package/esm2022/sidebar/sidebar.interface.mjs +2 -0
  747. package/esm2022/sidebar/sidebar.mjs +488 -0
  748. package/esm2022/sidebar/sidebar.module.mjs +21 -0
  749. package/esm2022/skeleton/cax-design-system-skeleton.mjs +5 -0
  750. package/esm2022/skeleton/public_api.mjs +3 -0
  751. package/esm2022/skeleton/skeleton.mjs +87 -0
  752. package/esm2022/skeleton/skeleton.module.mjs +18 -0
  753. package/esm2022/slidemenu/cax-design-system-slidemenu.mjs +5 -0
  754. package/esm2022/slidemenu/public_api.mjs +3 -0
  755. package/esm2022/slidemenu/slidemenu.interface.mjs +2 -0
  756. package/esm2022/slidemenu/slidemenu.mjs +1501 -0
  757. package/esm2022/slider/cax-design-system-slider.mjs +5 -0
  758. package/esm2022/slider/public_api.mjs +3 -0
  759. package/esm2022/slider/slider.interface.mjs +2 -0
  760. package/esm2022/slider/slider.mjs +796 -0
  761. package/esm2022/speeddial/cax-design-system-speeddial.mjs +5 -0
  762. package/esm2022/speeddial/public_api.mjs +4 -0
  763. package/esm2022/speeddial/speeddial.interface.mjs +2 -0
  764. package/esm2022/speeddial/speeddial.mjs +611 -0
  765. package/esm2022/speeddial/speeddial.module.mjs +24 -0
  766. package/esm2022/spinner/cax-design-system-spinner.mjs +5 -0
  767. package/esm2022/spinner/public_api.mjs +2 -0
  768. package/esm2022/spinner/spinner.mjs +447 -0
  769. package/esm2022/splitbutton/cax-design-system-splitbutton.mjs +5 -0
  770. package/esm2022/splitbutton/public_api.mjs +4 -0
  771. package/esm2022/splitbutton/splitbutton.interface.mjs +2 -0
  772. package/esm2022/splitbutton/splitbutton.mjs +369 -0
  773. package/esm2022/splitbutton/splitbutton.module.mjs +23 -0
  774. package/esm2022/splitter/cax-design-system-splitter.mjs +5 -0
  775. package/esm2022/splitter/public_api.mjs +4 -0
  776. package/esm2022/splitter/splitter.interface.mjs +2 -0
  777. package/esm2022/splitter/splitter.mjs +490 -0
  778. package/esm2022/splitter/splitter.module.mjs +19 -0
  779. package/esm2022/stepper/cax-design-system-stepper.mjs +5 -0
  780. package/esm2022/stepper/public_api.mjs +3 -0
  781. package/esm2022/stepper/stepper.interface.mjs +2 -0
  782. package/esm2022/stepper/stepper.mjs +677 -0
  783. package/esm2022/steps/cax-design-system-steps.mjs +5 -0
  784. package/esm2022/steps/public_api.mjs +3 -0
  785. package/esm2022/steps/steps.mjs +207 -0
  786. package/esm2022/steps/steps.module.mjs +20 -0
  787. package/esm2022/styleclass/cax-design-system-styleclass.mjs +5 -0
  788. package/esm2022/styleclass/public_api.mjs +2 -0
  789. package/esm2022/styleclass/styleclass.mjs +316 -0
  790. package/esm2022/table/cax-design-system-table.mjs +5 -0
  791. package/esm2022/table/columnfilter.interface.mjs +2 -0
  792. package/esm2022/table/components/cell-editor/cell-editor.mjs +52 -0
  793. package/esm2022/table/components/column-filter/column-filter.mjs +865 -0
  794. package/esm2022/table/components/column-filter-form-element/column-filter-form-element.mjs +107 -0
  795. package/esm2022/table/components/sort-icon/sort-icon.mjs +78 -0
  796. package/esm2022/table/components/table-body/table-body.mjs +152 -0
  797. package/esm2022/table/components/table-checkbox/table-checkbox.mjs +83 -0
  798. package/esm2022/table/components/table-header-checkbox/table-header-checkbox.mjs +92 -0
  799. package/esm2022/table/components/table-radio-button/table-radio-button.mjs +79 -0
  800. package/esm2022/table/directives/cancel-editable-row.directive.mjs +32 -0
  801. package/esm2022/table/directives/cell-highlight.directive.mjs +42 -0
  802. package/esm2022/table/directives/content-menu-row.directive.mjs +70 -0
  803. package/esm2022/table/directives/dynamic-column-width.directive.mjs +34 -0
  804. package/esm2022/table/directives/editable-column.directive.mjs +344 -0
  805. package/esm2022/table/directives/editable-row.directive.mjs +32 -0
  806. package/esm2022/table/directives/frozen-column.directive.mjs +77 -0
  807. package/esm2022/table/directives/init-editable-row.directive.mjs +32 -0
  808. package/esm2022/table/directives/reorderable-column.directive.mjs +115 -0
  809. package/esm2022/table/directives/reorderable-row-handle.directive.mjs +25 -0
  810. package/esm2022/table/directives/reorderable-row.directive.mjs +122 -0
  811. package/esm2022/table/directives/resizable-column.directive.mjs +123 -0
  812. package/esm2022/table/directives/row-group-header.directive.mjs +26 -0
  813. package/esm2022/table/directives/row-toggler.directive.mjs +42 -0
  814. package/esm2022/table/directives/save-editable-row.directive.mjs +32 -0
  815. package/esm2022/table/directives/selectable-row-double-click.directive.mjs +71 -0
  816. package/esm2022/table/directives/selectable-row.directive.mjs +243 -0
  817. package/esm2022/table/directives/sortable-column.directive.mjs +90 -0
  818. package/esm2022/table/public_api.mjs +31 -0
  819. package/esm2022/table/table.interface.mjs +2 -0
  820. package/esm2022/table/table.mjs +2799 -0
  821. package/esm2022/table/table.module.mjs +157 -0
  822. package/esm2022/table/table.service.mjs +42 -0
  823. package/esm2022/tableconfiguration/cax-design-system-tableconfiguration.mjs +5 -0
  824. package/esm2022/tableconfiguration/public_api.mjs +3 -0
  825. package/esm2022/tableconfiguration/tableconfiguration.mjs +68 -0
  826. package/esm2022/tableconfiguration/tableconfiguration.module.mjs +16 -0
  827. package/esm2022/tabmenu/cax-design-system-tabmenu.mjs +5 -0
  828. package/esm2022/tabmenu/public_api.mjs +3 -0
  829. package/esm2022/tabmenu/tabmenu.interface.mjs +2 -0
  830. package/esm2022/tabmenu/tabmenu.mjs +576 -0
  831. package/esm2022/tabview/cax-design-system-tabview.mjs +5 -0
  832. package/esm2022/tabview/public_api.mjs +4 -0
  833. package/esm2022/tabview/tabview.interface.mjs +2 -0
  834. package/esm2022/tabview/tabview.mjs +913 -0
  835. package/esm2022/tabview/tabview.module.mjs +25 -0
  836. package/esm2022/tag/cax-design-system-tag.mjs +5 -0
  837. package/esm2022/tag/public_api.mjs +4 -0
  838. package/esm2022/tag/tag.interface.mjs +2 -0
  839. package/esm2022/tag/tag.mjs +95 -0
  840. package/esm2022/tag/tag.module.mjs +19 -0
  841. package/esm2022/terminal/cax-design-system-terminal.mjs +5 -0
  842. package/esm2022/terminal/public_api.mjs +3 -0
  843. package/esm2022/terminal/terminal.mjs +143 -0
  844. package/esm2022/terminal/terminalservice.mjs +25 -0
  845. package/esm2022/tieredmenu/cax-design-system-tieredmenu.mjs +5 -0
  846. package/esm2022/tieredmenu/public_api.mjs +4 -0
  847. package/esm2022/tieredmenu/tieredmenu.interface.mjs +2 -0
  848. package/esm2022/tieredmenu/tieredmenu.mjs +1289 -0
  849. package/esm2022/tieredmenu/tiredmenu.module.mjs +23 -0
  850. package/esm2022/timeline/cax-design-system-timeline.mjs +5 -0
  851. package/esm2022/timeline/public_api.mjs +4 -0
  852. package/esm2022/timeline/timeline.interface.mjs +2 -0
  853. package/esm2022/timeline/timeline.mjs +83 -0
  854. package/esm2022/timeline/timeline.module.mjs +19 -0
  855. package/esm2022/toast/cax-design-system-toast.mjs +5 -0
  856. package/esm2022/toast/public_api.mjs +4 -0
  857. package/esm2022/toast/toast.interface.mjs +2 -0
  858. package/esm2022/toast/toast.mjs +324 -0
  859. package/esm2022/toast/toast.module.mjs +18 -0
  860. package/esm2022/toast/toastitem.mjs +170 -0
  861. package/esm2022/togglebutton/cax-design-system-togglebutton.mjs +5 -0
  862. package/esm2022/togglebutton/public_api.mjs +3 -0
  863. package/esm2022/togglebutton/togglebutton.interface.mjs +2 -0
  864. package/esm2022/togglebutton/togglebutton.mjs +274 -0
  865. package/esm2022/toggleswitch/cax-design-system-toggleswitch.mjs +5 -0
  866. package/esm2022/toggleswitch/public_api.mjs +3 -0
  867. package/esm2022/toggleswitch/toggleswitch.mjs +37 -0
  868. package/esm2022/toggleswitch/toggleswitch.module.mjs +19 -0
  869. package/esm2022/toolbar/cax-design-system-toolbar.mjs +5 -0
  870. package/esm2022/toolbar/public_api.mjs +3 -0
  871. package/esm2022/toolbar/toolbar.interface.mjs +2 -0
  872. package/esm2022/toolbar/toolbar.mjs +111 -0
  873. package/esm2022/tooltip/cax-design-system-tooltip.mjs +5 -0
  874. package/esm2022/tooltip/public_api.mjs +3 -0
  875. package/esm2022/tooltip/tooltip.mjs +889 -0
  876. package/esm2022/tooltip/tooltip.module.mjs +20 -0
  877. package/esm2022/tree/cax-design-system-tree.mjs +5 -0
  878. package/esm2022/tree/public_api.mjs +4 -0
  879. package/esm2022/tree/tree.interface.mjs +2 -0
  880. package/esm2022/tree/tree.mjs +1544 -0
  881. package/esm2022/tree/tree.module.mjs +31 -0
  882. package/esm2022/treeselect/cax-design-system-treeselect.mjs +5 -0
  883. package/esm2022/treeselect/public_api.mjs +4 -0
  884. package/esm2022/treeselect/treeselect.interface.mjs +2 -0
  885. package/esm2022/treeselect/treeselect.mjs +865 -0
  886. package/esm2022/treeselect/treeselect.module.mjs +26 -0
  887. package/esm2022/treetable/cax-design-system-treetable.mjs +5 -0
  888. package/esm2022/treetable/public_api.mjs +3 -0
  889. package/esm2022/treetable/treetable.interface.mjs +2 -0
  890. package/esm2022/treetable/treetable.mjs +4111 -0
  891. package/esm2022/tristatecheckbox/cax-design-system-tristatecheckbox.mjs +5 -0
  892. package/esm2022/tristatecheckbox/public_api.mjs +4 -0
  893. package/esm2022/tristatecheckbox/tristatecheckbox.interface.mjs +2 -0
  894. package/esm2022/tristatecheckbox/tristatecheckbox.mjs +215 -0
  895. package/esm2022/tristatecheckbox/tristatecheckbox.module.mjs +17 -0
  896. package/esm2022/ts-helpers/cax-design-system-ts-helpers.mjs +5 -0
  897. package/esm2022/ts-helpers/public_api.mjs +2 -0
  898. package/esm2022/ts-helpers/ts-helpers.mjs +2 -0
  899. package/esm2022/upload/cax-design-system-upload.mjs +5 -0
  900. package/esm2022/upload/public_api.mjs +3 -0
  901. package/esm2022/upload/upload.component.mjs +372 -0
  902. package/esm2022/upload/upload.component.module.mjs +21 -0
  903. package/esm2022/utils/cax-design-system-utils.mjs +5 -0
  904. package/esm2022/utils/objectutils.mjs +258 -0
  905. package/esm2022/utils/public_api.mjs +5 -0
  906. package/esm2022/utils/uniquecomponentid.mjs +6 -0
  907. package/esm2022/utils/zindexutils.mjs +35 -0
  908. package/esm2022/virtualscroller/cax-design-system-virtualscroller.mjs +5 -0
  909. package/esm2022/virtualscroller/public_api.mjs +3 -0
  910. package/esm2022/virtualscroller/virtualscroller.interface.mjs +2 -0
  911. package/esm2022/virtualscroller/virtualscroller.mjs +215 -0
  912. package/fesm2022/cax-design-system-accordion.mjs +2 -2
  913. package/fesm2022/cax-design-system-accordion.mjs.map +1 -1
  914. package/fesm2022/cax-design-system-animate.mjs +1 -1
  915. package/fesm2022/cax-design-system-animate.mjs.map +1 -1
  916. package/fesm2022/cax-design-system-animateonscroll.mjs +1 -1
  917. package/fesm2022/cax-design-system-animateonscroll.mjs.map +1 -1
  918. package/fesm2022/cax-design-system-api.mjs +1 -1
  919. package/fesm2022/cax-design-system-api.mjs.map +1 -1
  920. package/fesm2022/cax-design-system-autocomplete.mjs +1 -1
  921. package/fesm2022/cax-design-system-autocomplete.mjs.map +1 -1
  922. package/fesm2022/cax-design-system-autofocus.mjs +1 -1
  923. package/fesm2022/cax-design-system-autofocus.mjs.map +1 -1
  924. package/fesm2022/cax-design-system-avatar.mjs +1 -1
  925. package/fesm2022/cax-design-system-avatar.mjs.map +1 -1
  926. package/fesm2022/cax-design-system-avatargroup.mjs +1 -1
  927. package/fesm2022/cax-design-system-avatargroup.mjs.map +1 -1
  928. package/fesm2022/cax-design-system-badge.mjs +1 -1
  929. package/fesm2022/cax-design-system-badge.mjs.map +1 -1
  930. package/fesm2022/cax-design-system-baseicon.mjs +1 -1
  931. package/fesm2022/cax-design-system-baseicon.mjs.map +1 -1
  932. package/fesm2022/cax-design-system-blockui.mjs +1 -1
  933. package/fesm2022/cax-design-system-blockui.mjs.map +1 -1
  934. package/fesm2022/cax-design-system-breadcrumb.mjs +1 -1
  935. package/fesm2022/cax-design-system-breadcrumb.mjs.map +1 -1
  936. package/fesm2022/cax-design-system-button.mjs +1 -1
  937. package/fesm2022/cax-design-system-button.mjs.map +1 -1
  938. package/fesm2022/cax-design-system-buttongroup.mjs +1 -1
  939. package/fesm2022/cax-design-system-buttongroup.mjs.map +1 -1
  940. package/fesm2022/cax-design-system-calendar.mjs +3 -3
  941. package/fesm2022/cax-design-system-calendar.mjs.map +1 -1
  942. package/fesm2022/cax-design-system-card.mjs +1 -1
  943. package/fesm2022/cax-design-system-card.mjs.map +1 -1
  944. package/fesm2022/cax-design-system-carousel.mjs +1 -1
  945. package/fesm2022/cax-design-system-carousel.mjs.map +1 -1
  946. package/fesm2022/cax-design-system-cascadeselect.mjs +1 -1
  947. package/fesm2022/cax-design-system-cascadeselect.mjs.map +1 -1
  948. package/fesm2022/cax-design-system-chart.mjs +1 -1
  949. package/fesm2022/cax-design-system-chart.mjs.map +1 -1
  950. package/fesm2022/cax-design-system-checkbox.mjs +1 -1
  951. package/fesm2022/cax-design-system-checkbox.mjs.map +1 -1
  952. package/fesm2022/cax-design-system-chip.mjs +1 -1
  953. package/fesm2022/cax-design-system-chip.mjs.map +1 -1
  954. package/fesm2022/cax-design-system-chips.mjs +2 -2
  955. package/fesm2022/cax-design-system-chips.mjs.map +1 -1
  956. package/fesm2022/cax-design-system-colorpicker.mjs +1 -1
  957. package/fesm2022/cax-design-system-colorpicker.mjs.map +1 -1
  958. package/fesm2022/cax-design-system-commentbox.mjs +3 -3
  959. package/fesm2022/cax-design-system-commentbox.mjs.map +1 -1
  960. package/fesm2022/cax-design-system-confirmdialog.mjs +1 -1
  961. package/fesm2022/cax-design-system-confirmdialog.mjs.map +1 -1
  962. package/fesm2022/cax-design-system-confirmpopup.mjs +2 -2
  963. package/fesm2022/cax-design-system-confirmpopup.mjs.map +1 -1
  964. package/fesm2022/cax-design-system-contextmenu.mjs +1 -1
  965. package/fesm2022/cax-design-system-contextmenu.mjs.map +1 -1
  966. package/fesm2022/cax-design-system-dataview.mjs +1 -1
  967. package/fesm2022/cax-design-system-dataview.mjs.map +1 -1
  968. package/fesm2022/cax-design-system-defer.mjs +1 -1
  969. package/fesm2022/cax-design-system-defer.mjs.map +1 -1
  970. package/fesm2022/cax-design-system-dialog.mjs +1 -1
  971. package/fesm2022/cax-design-system-dialog.mjs.map +1 -1
  972. package/fesm2022/cax-design-system-divider.mjs +1 -1
  973. package/fesm2022/cax-design-system-divider.mjs.map +1 -1
  974. package/fesm2022/cax-design-system-dock.mjs +1 -1
  975. package/fesm2022/cax-design-system-dock.mjs.map +1 -1
  976. package/fesm2022/cax-design-system-dom.mjs.map +1 -1
  977. package/fesm2022/cax-design-system-dragdrop.mjs +1 -1
  978. package/fesm2022/cax-design-system-dragdrop.mjs.map +1 -1
  979. package/fesm2022/cax-design-system-dropdown.mjs +2 -2
  980. package/fesm2022/cax-design-system-dropdown.mjs.map +1 -1
  981. package/fesm2022/cax-design-system-dynamicdialog.mjs +1 -1
  982. package/fesm2022/cax-design-system-dynamicdialog.mjs.map +1 -1
  983. package/fesm2022/cax-design-system-editor.mjs +1 -1
  984. package/fesm2022/cax-design-system-editor.mjs.map +1 -1
  985. package/fesm2022/cax-design-system-fieldset.mjs +2 -2
  986. package/fesm2022/cax-design-system-fieldset.mjs.map +1 -1
  987. package/fesm2022/cax-design-system-fileupload.mjs +1 -1
  988. package/fesm2022/cax-design-system-fileupload.mjs.map +1 -1
  989. package/fesm2022/cax-design-system-floatlabel.mjs +1 -1
  990. package/fesm2022/cax-design-system-floatlabel.mjs.map +1 -1
  991. package/fesm2022/cax-design-system-focustrap.mjs +1 -1
  992. package/fesm2022/cax-design-system-focustrap.mjs.map +1 -1
  993. package/fesm2022/cax-design-system-galleria.mjs +1 -1
  994. package/fesm2022/cax-design-system-galleria.mjs.map +1 -1
  995. package/fesm2022/cax-design-system-iconfield.mjs +1 -1
  996. package/fesm2022/cax-design-system-iconfield.mjs.map +1 -1
  997. package/fesm2022/cax-design-system-icons-angledoubledown.mjs.map +1 -1
  998. package/fesm2022/cax-design-system-icons-angledoubleleft.mjs.map +1 -1
  999. package/fesm2022/cax-design-system-icons-angledoubleright.mjs.map +1 -1
  1000. package/fesm2022/cax-design-system-icons-angledoubleup.mjs.map +1 -1
  1001. package/fesm2022/cax-design-system-icons-angledown.mjs.map +1 -1
  1002. package/fesm2022/cax-design-system-icons-angleleft.mjs.map +1 -1
  1003. package/fesm2022/cax-design-system-icons-angleright.mjs.map +1 -1
  1004. package/fesm2022/cax-design-system-icons-angleup.mjs.map +1 -1
  1005. package/fesm2022/cax-design-system-icons-arrowdown.mjs.map +1 -1
  1006. package/fesm2022/cax-design-system-icons-arrowdownleft.mjs.map +1 -1
  1007. package/fesm2022/cax-design-system-icons-arrowdownright.mjs.map +1 -1
  1008. package/fesm2022/cax-design-system-icons-arrowleft.mjs.map +1 -1
  1009. package/fesm2022/cax-design-system-icons-arrowright.mjs.map +1 -1
  1010. package/fesm2022/cax-design-system-icons-arrowup.mjs.map +1 -1
  1011. package/fesm2022/cax-design-system-icons-ban.mjs.map +1 -1
  1012. package/fesm2022/cax-design-system-icons-bars.mjs.map +1 -1
  1013. package/fesm2022/cax-design-system-icons-blank.mjs.map +1 -1
  1014. package/fesm2022/cax-design-system-icons-calendar.mjs.map +1 -1
  1015. package/fesm2022/cax-design-system-icons-caretleft.mjs.map +1 -1
  1016. package/fesm2022/cax-design-system-icons-caretright.mjs.map +1 -1
  1017. package/fesm2022/cax-design-system-icons-check.mjs.map +1 -1
  1018. package/fesm2022/cax-design-system-icons-chevrondown.mjs.map +1 -1
  1019. package/fesm2022/cax-design-system-icons-chevronleft.mjs.map +1 -1
  1020. package/fesm2022/cax-design-system-icons-chevronright.mjs.map +1 -1
  1021. package/fesm2022/cax-design-system-icons-chevronup.mjs.map +1 -1
  1022. package/fesm2022/cax-design-system-icons-exclamationtriangle.mjs.map +1 -1
  1023. package/fesm2022/cax-design-system-icons-eye.mjs.map +1 -1
  1024. package/fesm2022/cax-design-system-icons-eyeslash.mjs.map +1 -1
  1025. package/fesm2022/cax-design-system-icons-filter.mjs.map +1 -1
  1026. package/fesm2022/cax-design-system-icons-filterslash.mjs.map +1 -1
  1027. package/fesm2022/cax-design-system-icons-home.mjs.map +1 -1
  1028. package/fesm2022/cax-design-system-icons-infocircle.mjs.map +1 -1
  1029. package/fesm2022/cax-design-system-icons-minus.mjs.map +1 -1
  1030. package/fesm2022/cax-design-system-icons-pencil.mjs.map +1 -1
  1031. package/fesm2022/cax-design-system-icons-plus.mjs.map +1 -1
  1032. package/fesm2022/cax-design-system-icons-refresh.mjs.map +1 -1
  1033. package/fesm2022/cax-design-system-icons-search.mjs.map +1 -1
  1034. package/fesm2022/cax-design-system-icons-searchminus.mjs.map +1 -1
  1035. package/fesm2022/cax-design-system-icons-searchplus.mjs.map +1 -1
  1036. package/fesm2022/cax-design-system-icons-sortalt.mjs.map +1 -1
  1037. package/fesm2022/cax-design-system-icons-sortamountdown.mjs.map +1 -1
  1038. package/fesm2022/cax-design-system-icons-sortamountupalt.mjs.map +1 -1
  1039. package/fesm2022/cax-design-system-icons-spinner.mjs.map +1 -1
  1040. package/fesm2022/cax-design-system-icons-star.mjs.map +1 -1
  1041. package/fesm2022/cax-design-system-icons-starfill.mjs.map +1 -1
  1042. package/fesm2022/cax-design-system-icons-thlarge.mjs.map +1 -1
  1043. package/fesm2022/cax-design-system-icons-times.mjs.map +1 -1
  1044. package/fesm2022/cax-design-system-icons-timescircle.mjs.map +1 -1
  1045. package/fesm2022/cax-design-system-icons-trash.mjs.map +1 -1
  1046. package/fesm2022/cax-design-system-icons-undo.mjs.map +1 -1
  1047. package/fesm2022/cax-design-system-icons-upload.mjs.map +1 -1
  1048. package/fesm2022/cax-design-system-icons-windowmaximize.mjs.map +1 -1
  1049. package/fesm2022/cax-design-system-icons-windowminimize.mjs.map +1 -1
  1050. package/fesm2022/cax-design-system-image.mjs +2 -2
  1051. package/fesm2022/cax-design-system-image.mjs.map +1 -1
  1052. package/fesm2022/cax-design-system-inplace.mjs +1 -1
  1053. package/fesm2022/cax-design-system-inplace.mjs.map +1 -1
  1054. package/fesm2022/cax-design-system-inputgroup.mjs +1 -1
  1055. package/fesm2022/cax-design-system-inputgroup.mjs.map +1 -1
  1056. package/fesm2022/cax-design-system-inputgroupaddon.mjs +1 -1
  1057. package/fesm2022/cax-design-system-inputgroupaddon.mjs.map +1 -1
  1058. package/fesm2022/cax-design-system-inputicon.mjs +1 -1
  1059. package/fesm2022/cax-design-system-inputicon.mjs.map +1 -1
  1060. package/fesm2022/cax-design-system-inputmask.mjs +1 -1
  1061. package/fesm2022/cax-design-system-inputmask.mjs.map +1 -1
  1062. package/fesm2022/cax-design-system-inputnumber.mjs +1 -1
  1063. package/fesm2022/cax-design-system-inputnumber.mjs.map +1 -1
  1064. package/fesm2022/cax-design-system-inputotp.mjs +1 -1
  1065. package/fesm2022/cax-design-system-inputotp.mjs.map +1 -1
  1066. package/fesm2022/cax-design-system-inputswitch.mjs +1 -1
  1067. package/fesm2022/cax-design-system-inputswitch.mjs.map +1 -1
  1068. package/fesm2022/cax-design-system-inputtext.mjs +1 -1
  1069. package/fesm2022/cax-design-system-inputtext.mjs.map +1 -1
  1070. package/fesm2022/cax-design-system-inputtextarea.mjs +1 -1
  1071. package/fesm2022/cax-design-system-inputtextarea.mjs.map +1 -1
  1072. package/fesm2022/cax-design-system-keyfilter.mjs +1 -1
  1073. package/fesm2022/cax-design-system-keyfilter.mjs.map +1 -1
  1074. package/fesm2022/cax-design-system-knob.mjs +1 -1
  1075. package/fesm2022/cax-design-system-knob.mjs.map +1 -1
  1076. package/fesm2022/cax-design-system-listbox.mjs +1 -1
  1077. package/fesm2022/cax-design-system-listbox.mjs.map +1 -1
  1078. package/fesm2022/cax-design-system-logo.mjs +1 -1
  1079. package/fesm2022/cax-design-system-logo.mjs.map +1 -1
  1080. package/fesm2022/cax-design-system-megamenu.mjs +1 -1
  1081. package/fesm2022/cax-design-system-megamenu.mjs.map +1 -1
  1082. package/fesm2022/cax-design-system-menu.mjs +1 -1
  1083. package/fesm2022/cax-design-system-menu.mjs.map +1 -1
  1084. package/fesm2022/cax-design-system-menubar.mjs +1 -1
  1085. package/fesm2022/cax-design-system-menubar.mjs.map +1 -1
  1086. package/fesm2022/cax-design-system-message.mjs +1 -1
  1087. package/fesm2022/cax-design-system-message.mjs.map +1 -1
  1088. package/fesm2022/cax-design-system-messages.mjs +2 -2
  1089. package/fesm2022/cax-design-system-messages.mjs.map +1 -1
  1090. package/fesm2022/cax-design-system-metergroup.mjs +1 -1
  1091. package/fesm2022/cax-design-system-metergroup.mjs.map +1 -1
  1092. package/fesm2022/cax-design-system-multiselect.mjs +1 -1
  1093. package/fesm2022/cax-design-system-multiselect.mjs.map +1 -1
  1094. package/fesm2022/cax-design-system-navigation.mjs +1 -1
  1095. package/fesm2022/cax-design-system-navigation.mjs.map +1 -1
  1096. package/fesm2022/cax-design-system-orderlist.mjs +1 -1
  1097. package/fesm2022/cax-design-system-orderlist.mjs.map +1 -1
  1098. package/fesm2022/cax-design-system-organizationchart.mjs +2 -2
  1099. package/fesm2022/cax-design-system-organizationchart.mjs.map +1 -1
  1100. package/fesm2022/cax-design-system-overlay.mjs +2 -2
  1101. package/fesm2022/cax-design-system-overlay.mjs.map +1 -1
  1102. package/fesm2022/cax-design-system-overlaypanel.mjs +3 -3
  1103. package/fesm2022/cax-design-system-overlaypanel.mjs.map +1 -1
  1104. package/fesm2022/cax-design-system-paginator.mjs +1 -1
  1105. package/fesm2022/cax-design-system-paginator.mjs.map +1 -1
  1106. package/fesm2022/cax-design-system-panel.mjs +2 -2
  1107. package/fesm2022/cax-design-system-panel.mjs.map +1 -1
  1108. package/fesm2022/cax-design-system-panelmenu.mjs +2 -2
  1109. package/fesm2022/cax-design-system-panelmenu.mjs.map +1 -1
  1110. package/fesm2022/cax-design-system-password.mjs +1 -1
  1111. package/fesm2022/cax-design-system-password.mjs.map +1 -1
  1112. package/fesm2022/cax-design-system-picklist.mjs +1 -1
  1113. package/fesm2022/cax-design-system-picklist.mjs.map +1 -1
  1114. package/fesm2022/cax-design-system-progressbar.mjs +1 -1
  1115. package/fesm2022/cax-design-system-progressbar.mjs.map +1 -1
  1116. package/fesm2022/cax-design-system-progressspinner.mjs +1 -1
  1117. package/fesm2022/cax-design-system-progressspinner.mjs.map +1 -1
  1118. package/fesm2022/cax-design-system-radiobutton.mjs +1 -1
  1119. package/fesm2022/cax-design-system-radiobutton.mjs.map +1 -1
  1120. package/fesm2022/cax-design-system-rating.mjs +1 -1
  1121. package/fesm2022/cax-design-system-rating.mjs.map +1 -1
  1122. package/fesm2022/cax-design-system-ripple.mjs +1 -1
  1123. package/fesm2022/cax-design-system-ripple.mjs.map +1 -1
  1124. package/fesm2022/cax-design-system-scroller.mjs +2 -2
  1125. package/fesm2022/cax-design-system-scroller.mjs.map +1 -1
  1126. package/fesm2022/cax-design-system-scrollpanel.mjs +1 -1
  1127. package/fesm2022/cax-design-system-scrollpanel.mjs.map +1 -1
  1128. package/fesm2022/cax-design-system-scrolltop.mjs +2 -2
  1129. package/fesm2022/cax-design-system-scrolltop.mjs.map +1 -1
  1130. package/fesm2022/cax-design-system-selectbutton.mjs +1 -1
  1131. package/fesm2022/cax-design-system-selectbutton.mjs.map +1 -1
  1132. package/fesm2022/cax-design-system-sidebar.mjs +4 -4
  1133. package/fesm2022/cax-design-system-sidebar.mjs.map +1 -1
  1134. package/fesm2022/cax-design-system-skeleton.mjs +1 -1
  1135. package/fesm2022/cax-design-system-skeleton.mjs.map +1 -1
  1136. package/fesm2022/cax-design-system-slidemenu.mjs +1 -1
  1137. package/fesm2022/cax-design-system-slidemenu.mjs.map +1 -1
  1138. package/fesm2022/cax-design-system-slider.mjs +1 -1
  1139. package/fesm2022/cax-design-system-slider.mjs.map +1 -1
  1140. package/fesm2022/cax-design-system-speeddial.mjs +1 -1
  1141. package/fesm2022/cax-design-system-speeddial.mjs.map +1 -1
  1142. package/fesm2022/cax-design-system-spinner.mjs +1 -1
  1143. package/fesm2022/cax-design-system-spinner.mjs.map +1 -1
  1144. package/fesm2022/cax-design-system-splitbutton.mjs +1 -1
  1145. package/fesm2022/cax-design-system-splitbutton.mjs.map +1 -1
  1146. package/fesm2022/cax-design-system-splitter.mjs +1 -1
  1147. package/fesm2022/cax-design-system-splitter.mjs.map +1 -1
  1148. package/fesm2022/cax-design-system-stepper.mjs +2 -2
  1149. package/fesm2022/cax-design-system-stepper.mjs.map +1 -1
  1150. package/fesm2022/cax-design-system-steps.mjs +1 -1
  1151. package/fesm2022/cax-design-system-steps.mjs.map +1 -1
  1152. package/fesm2022/cax-design-system-styleclass.mjs +1 -1
  1153. package/fesm2022/cax-design-system-styleclass.mjs.map +1 -1
  1154. package/fesm2022/cax-design-system-table.mjs +1 -1
  1155. package/fesm2022/cax-design-system-table.mjs.map +1 -1
  1156. package/fesm2022/cax-design-system-tableconfiguration.mjs +1 -1
  1157. package/fesm2022/cax-design-system-tableconfiguration.mjs.map +1 -1
  1158. package/fesm2022/cax-design-system-tabmenu.mjs +1 -1
  1159. package/fesm2022/cax-design-system-tabmenu.mjs.map +1 -1
  1160. package/fesm2022/cax-design-system-tabview.mjs +1 -1
  1161. package/fesm2022/cax-design-system-tabview.mjs.map +1 -1
  1162. package/fesm2022/cax-design-system-tag.mjs +1 -1
  1163. package/fesm2022/cax-design-system-tag.mjs.map +1 -1
  1164. package/fesm2022/cax-design-system-terminal.mjs +1 -1
  1165. package/fesm2022/cax-design-system-terminal.mjs.map +1 -1
  1166. package/fesm2022/cax-design-system-tieredmenu.mjs +1 -1
  1167. package/fesm2022/cax-design-system-tieredmenu.mjs.map +1 -1
  1168. package/fesm2022/cax-design-system-timeline.mjs +1 -1
  1169. package/fesm2022/cax-design-system-timeline.mjs.map +1 -1
  1170. package/fesm2022/cax-design-system-toast.mjs +2 -2
  1171. package/fesm2022/cax-design-system-toast.mjs.map +1 -1
  1172. package/fesm2022/cax-design-system-togglebutton.mjs +1 -1
  1173. package/fesm2022/cax-design-system-togglebutton.mjs.map +1 -1
  1174. package/fesm2022/cax-design-system-toggleswitch.mjs +3 -3
  1175. package/fesm2022/cax-design-system-toggleswitch.mjs.map +1 -1
  1176. package/fesm2022/cax-design-system-toolbar.mjs +1 -1
  1177. package/fesm2022/cax-design-system-toolbar.mjs.map +1 -1
  1178. package/fesm2022/cax-design-system-tooltip.mjs +1 -1
  1179. package/fesm2022/cax-design-system-tooltip.mjs.map +1 -1
  1180. package/fesm2022/cax-design-system-tree.mjs +1 -1
  1181. package/fesm2022/cax-design-system-tree.mjs.map +1 -1
  1182. package/fesm2022/cax-design-system-treeselect.mjs +1 -1
  1183. package/fesm2022/cax-design-system-treeselect.mjs.map +1 -1
  1184. package/fesm2022/cax-design-system-treetable.mjs +1 -1
  1185. package/fesm2022/cax-design-system-treetable.mjs.map +1 -1
  1186. package/fesm2022/cax-design-system-tristatecheckbox.mjs +2 -2
  1187. package/fesm2022/cax-design-system-tristatecheckbox.mjs.map +1 -1
  1188. package/fesm2022/cax-design-system-upload.mjs +12 -7
  1189. package/fesm2022/cax-design-system-upload.mjs.map +1 -1
  1190. package/fesm2022/cax-design-system-utils.mjs.map +1 -1
  1191. package/fesm2022/cax-design-system-virtualscroller.mjs +1 -1
  1192. package/fesm2022/cax-design-system-virtualscroller.mjs.map +1 -1
  1193. package/fieldset/fieldset.d.ts +93 -0
  1194. package/fieldset/fieldset.interface.d.ts +46 -0
  1195. package/fieldset/index.d.ts +3 -140
  1196. package/fieldset/public_api.d.ts +2 -0
  1197. package/fileupload/fileupload.d.ts +380 -0
  1198. package/fileupload/fileupload.interface.d.ts +226 -0
  1199. package/fileupload/index.d.ts +3 -606
  1200. package/fileupload/public_api.d.ts +2 -0
  1201. package/floatlabel/floatlabel.d.ts +9 -0
  1202. package/floatlabel/floatlabel.module.d.ts +10 -0
  1203. package/floatlabel/index.d.ts +3 -19
  1204. package/floatlabel/public_api.d.ts +2 -0
  1205. package/focustrap/focustrap.d.ts +34 -0
  1206. package/focustrap/index.d.ts +3 -35
  1207. package/focustrap/public_api.d.ts +1 -0
  1208. package/galleria/galleria.d.ts +404 -0
  1209. package/galleria/galleria.interface.d.ts +97 -0
  1210. package/galleria/index.d.ts +3 -502
  1211. package/galleria/public_api.d.ts +2 -0
  1212. package/iconfield/iconfield.d.ts +25 -0
  1213. package/iconfield/index.d.ts +3 -26
  1214. package/iconfield/public_api.d.ts +1 -0
  1215. package/icons/angledoubledown/angledoubledown.d.ts +6 -0
  1216. package/icons/angledoubledown/index.d.ts +5 -9
  1217. package/icons/angledoubledown/public_api.d.ts +1 -0
  1218. package/icons/angledoubleleft/angledoubleleft.d.ts +6 -0
  1219. package/icons/angledoubleleft/index.d.ts +5 -9
  1220. package/icons/angledoubleleft/public_api.d.ts +1 -0
  1221. package/icons/angledoubleright/angledoubleright.d.ts +6 -0
  1222. package/icons/angledoubleright/index.d.ts +5 -9
  1223. package/icons/angledoubleright/public_api.d.ts +1 -0
  1224. package/icons/angledoubleup/angledoubleup.d.ts +6 -0
  1225. package/icons/angledoubleup/index.d.ts +5 -9
  1226. package/icons/angledoubleup/public_api.d.ts +1 -0
  1227. package/icons/angledown/angledown.d.ts +6 -0
  1228. package/icons/angledown/index.d.ts +5 -9
  1229. package/icons/angledown/public_api.d.ts +1 -0
  1230. package/icons/angleleft/angleleft.d.ts +6 -0
  1231. package/icons/angleleft/index.d.ts +5 -9
  1232. package/icons/angleleft/public_api.d.ts +1 -0
  1233. package/icons/angleright/angleright.d.ts +6 -0
  1234. package/icons/angleright/index.d.ts +5 -9
  1235. package/icons/angleright/public_api.d.ts +1 -0
  1236. package/icons/angleup/angleup.d.ts +6 -0
  1237. package/icons/angleup/index.d.ts +5 -9
  1238. package/icons/angleup/public_api.d.ts +1 -0
  1239. package/icons/arrowdown/arrowdown.d.ts +9 -0
  1240. package/icons/arrowdown/index.d.ts +5 -12
  1241. package/icons/arrowdown/public_api.d.ts +1 -0
  1242. package/icons/arrowdownleft/arrowdownleft.d.ts +6 -0
  1243. package/icons/arrowdownleft/index.d.ts +5 -9
  1244. package/icons/arrowdownleft/public_api.d.ts +1 -0
  1245. package/icons/arrowdownright/arrowdownright.d.ts +6 -0
  1246. package/icons/arrowdownright/index.d.ts +5 -9
  1247. package/icons/arrowdownright/public_api.d.ts +1 -0
  1248. package/icons/arrowleft/arrowleft.d.ts +8 -0
  1249. package/icons/arrowleft/index.d.ts +5 -11
  1250. package/icons/arrowleft/public_api.d.ts +1 -0
  1251. package/icons/arrowright/arrowright.d.ts +6 -0
  1252. package/icons/arrowright/index.d.ts +5 -9
  1253. package/icons/arrowright/public_api.d.ts +1 -0
  1254. package/icons/arrowup/arrowup.d.ts +8 -0
  1255. package/icons/arrowup/index.d.ts +5 -11
  1256. package/icons/arrowup/public_api.d.ts +1 -0
  1257. package/icons/ban/ban.d.ts +8 -0
  1258. package/icons/ban/index.d.ts +5 -11
  1259. package/icons/ban/public_api.d.ts +1 -0
  1260. package/icons/bars/bars.d.ts +6 -0
  1261. package/icons/bars/index.d.ts +5 -9
  1262. package/icons/bars/public_api.d.ts +1 -0
  1263. package/icons/blank/blank.d.ts +6 -0
  1264. package/icons/blank/index.d.ts +5 -9
  1265. package/icons/blank/public_api.d.ts +1 -0
  1266. package/icons/calendar/calendar.d.ts +6 -0
  1267. package/icons/calendar/index.d.ts +5 -9
  1268. package/icons/calendar/public_api.d.ts +1 -0
  1269. package/icons/caretleft/caretleft.d.ts +6 -0
  1270. package/icons/caretleft/index.d.ts +5 -9
  1271. package/icons/caretleft/public_api.d.ts +1 -0
  1272. package/icons/caretright/caretright.d.ts +6 -0
  1273. package/icons/caretright/index.d.ts +5 -9
  1274. package/icons/caretright/public_api.d.ts +1 -0
  1275. package/icons/check/check.d.ts +6 -0
  1276. package/icons/check/index.d.ts +5 -9
  1277. package/icons/check/public_api.d.ts +1 -0
  1278. package/icons/chevrondown/chevrondown.d.ts +6 -0
  1279. package/icons/chevrondown/index.d.ts +5 -9
  1280. package/icons/chevrondown/public_api.d.ts +1 -0
  1281. package/icons/chevronleft/chevronleft.d.ts +6 -0
  1282. package/icons/chevronleft/index.d.ts +5 -9
  1283. package/icons/chevronleft/public_api.d.ts +1 -0
  1284. package/icons/chevronright/chevronright.d.ts +6 -0
  1285. package/icons/chevronright/index.d.ts +5 -9
  1286. package/icons/chevronright/public_api.d.ts +1 -0
  1287. package/icons/chevronup/chevronup.d.ts +6 -0
  1288. package/icons/chevronup/index.d.ts +5 -9
  1289. package/icons/chevronup/public_api.d.ts +1 -0
  1290. package/icons/exclamationtriangle/exclamationtriangle.d.ts +9 -0
  1291. package/icons/exclamationtriangle/index.d.ts +5 -12
  1292. package/icons/exclamationtriangle/public_api.d.ts +1 -0
  1293. package/icons/eye/eye.d.ts +6 -0
  1294. package/icons/eye/index.d.ts +5 -9
  1295. package/icons/eye/public_api.d.ts +1 -0
  1296. package/icons/eyeslash/eyeslash.d.ts +8 -0
  1297. package/icons/eyeslash/index.d.ts +5 -11
  1298. package/icons/eyeslash/public_api.d.ts +1 -0
  1299. package/icons/filter/filter.d.ts +8 -0
  1300. package/icons/filter/index.d.ts +5 -11
  1301. package/icons/filter/public_api.d.ts +1 -0
  1302. package/icons/filterslash/filterslash.d.ts +8 -0
  1303. package/icons/filterslash/index.d.ts +5 -11
  1304. package/icons/filterslash/public_api.d.ts +1 -0
  1305. package/icons/home/home.d.ts +8 -0
  1306. package/icons/home/index.d.ts +5 -11
  1307. package/icons/home/public_api.d.ts +1 -0
  1308. package/icons/infocircle/index.d.ts +5 -11
  1309. package/icons/infocircle/infocircle.d.ts +8 -0
  1310. package/icons/infocircle/public_api.d.ts +1 -0
  1311. package/icons/minus/index.d.ts +5 -9
  1312. package/icons/minus/minus.d.ts +6 -0
  1313. package/icons/minus/public_api.d.ts +1 -0
  1314. package/icons/pencil/index.d.ts +5 -11
  1315. package/icons/pencil/pencil.d.ts +8 -0
  1316. package/icons/pencil/public_api.d.ts +1 -0
  1317. package/icons/plus/index.d.ts +5 -11
  1318. package/icons/plus/plus.d.ts +8 -0
  1319. package/icons/plus/public_api.d.ts +1 -0
  1320. package/icons/refresh/index.d.ts +5 -11
  1321. package/icons/refresh/public_api.d.ts +1 -0
  1322. package/icons/refresh/refresh.d.ts +8 -0
  1323. package/icons/search/index.d.ts +5 -11
  1324. package/icons/search/public_api.d.ts +1 -0
  1325. package/icons/search/search.d.ts +8 -0
  1326. package/icons/searchminus/index.d.ts +5 -11
  1327. package/icons/searchminus/public_api.d.ts +1 -0
  1328. package/icons/searchminus/searchminus.d.ts +8 -0
  1329. package/icons/searchplus/index.d.ts +5 -11
  1330. package/icons/searchplus/public_api.d.ts +1 -0
  1331. package/icons/searchplus/searchplus.d.ts +8 -0
  1332. package/icons/sortalt/index.d.ts +5 -11
  1333. package/icons/sortalt/public_api.d.ts +1 -0
  1334. package/icons/sortalt/sortalt.d.ts +8 -0
  1335. package/icons/sortamountdown/index.d.ts +5 -11
  1336. package/icons/sortamountdown/public_api.d.ts +1 -0
  1337. package/icons/sortamountdown/sortamountdown.d.ts +8 -0
  1338. package/icons/sortamountupalt/index.d.ts +5 -11
  1339. package/icons/sortamountupalt/public_api.d.ts +1 -0
  1340. package/icons/sortamountupalt/sortamountupalt.d.ts +8 -0
  1341. package/icons/spinner/index.d.ts +5 -11
  1342. package/icons/spinner/public_api.d.ts +1 -0
  1343. package/icons/spinner/spinner.d.ts +8 -0
  1344. package/icons/star/index.d.ts +5 -11
  1345. package/icons/star/public_api.d.ts +1 -0
  1346. package/icons/star/star.d.ts +8 -0
  1347. package/icons/starfill/index.d.ts +5 -11
  1348. package/icons/starfill/public_api.d.ts +1 -0
  1349. package/icons/starfill/starfill.d.ts +8 -0
  1350. package/icons/thlarge/index.d.ts +5 -11
  1351. package/icons/thlarge/public_api.d.ts +1 -0
  1352. package/icons/thlarge/thlarge.d.ts +8 -0
  1353. package/icons/times/index.d.ts +5 -9
  1354. package/icons/times/public_api.d.ts +1 -0
  1355. package/icons/times/times.d.ts +6 -0
  1356. package/icons/timescircle/index.d.ts +5 -11
  1357. package/icons/timescircle/public_api.d.ts +1 -0
  1358. package/icons/timescircle/timescircle.d.ts +8 -0
  1359. package/icons/trash/index.d.ts +5 -11
  1360. package/icons/trash/public_api.d.ts +1 -0
  1361. package/icons/trash/trash.d.ts +8 -0
  1362. package/icons/undo/index.d.ts +5 -11
  1363. package/icons/undo/public_api.d.ts +1 -0
  1364. package/icons/undo/undo.d.ts +8 -0
  1365. package/icons/upload/index.d.ts +5 -11
  1366. package/icons/upload/public_api.d.ts +1 -0
  1367. package/icons/upload/upload.d.ts +8 -0
  1368. package/icons/windowmaximize/index.d.ts +5 -11
  1369. package/icons/windowmaximize/public_api.d.ts +1 -0
  1370. package/icons/windowmaximize/windowmaximize.d.ts +8 -0
  1371. package/icons/windowminimize/index.d.ts +5 -11
  1372. package/icons/windowminimize/public_api.d.ts +1 -0
  1373. package/icons/windowminimize/windowminimize.d.ts +8 -0
  1374. package/image/image.d.ts +188 -0
  1375. package/image/image.interface.d.ts +31 -0
  1376. package/image/image.module.d.ts +8 -0
  1377. package/image/index.d.ts +3 -228
  1378. package/image/public_api.d.ts +3 -0
  1379. package/index.d.ts +5 -2
  1380. package/inplace/index.d.ts +3 -130
  1381. package/inplace/inplace.d.ts +109 -0
  1382. package/inplace/inplace.interface.d.ts +19 -0
  1383. package/inplace/public_api.d.ts +2 -0
  1384. package/inputgroup/index.d.ts +3 -48
  1385. package/inputgroup/inputgroup.d.ts +33 -0
  1386. package/inputgroup/inputgroup.module.d.ts +15 -0
  1387. package/inputgroup/public_api.d.ts +2 -0
  1388. package/inputgroupaddon/index.d.ts +3 -35
  1389. package/inputgroupaddon/inputgroupaddon.d.ts +21 -0
  1390. package/inputgroupaddon/inputgroupaddon.module.d.ts +14 -0
  1391. package/inputgroupaddon/public_api.d.ts +2 -0
  1392. package/inputicon/index.d.ts +3 -22
  1393. package/inputicon/inputicon.d.ts +21 -0
  1394. package/inputicon/public_api.d.ts +1 -0
  1395. package/inputmask/index.d.ts +3 -304
  1396. package/inputmask/inputmask.d.ts +273 -0
  1397. package/inputmask/inputmask.interface.d.ts +19 -0
  1398. package/inputmask/inputmask.module.d.ts +12 -0
  1399. package/inputmask/public_api.d.ts +3 -0
  1400. package/inputnumber/index.d.ts +3 -443
  1401. package/inputnumber/inputnumber.d.ts +397 -0
  1402. package/inputnumber/inputnumber.interface.d.ts +38 -0
  1403. package/inputnumber/inputnumber.module.d.ts +8 -0
  1404. package/inputnumber/public_api.d.ts +3 -0
  1405. package/inputotp/index.d.ts +3 -189
  1406. package/inputotp/inputotp.d.ts +123 -0
  1407. package/inputotp/inputotp.interface.d.ts +65 -0
  1408. package/inputotp/public_api.d.ts +2 -0
  1409. package/inputswitch/index.d.ts +3 -123
  1410. package/inputswitch/inputswitch.d.ts +106 -0
  1411. package/inputswitch/inputswitch.interface.d.ts +15 -0
  1412. package/inputswitch/public_api.d.ts +2 -0
  1413. package/inputtext/index.d.ts +5 -76
  1414. package/inputtext/inputtext.component.d.ts +43 -0
  1415. package/inputtext/inputtext.directive.d.ts +25 -0
  1416. package/inputtext/inputtext.module.d.ts +10 -0
  1417. package/inputtext/public_api.d.ts +3 -0
  1418. package/inputtextarea/index.d.ts +3 -112
  1419. package/inputtextarea/inputtextarea.component.d.ts +57 -0
  1420. package/inputtextarea/inputtextarea.directive.d.ts +47 -0
  1421. package/inputtextarea/inputtextarea.module.d.ts +10 -0
  1422. package/inputtextarea/public_api.d.ts +3 -0
  1423. package/keyfilter/index.d.ts +3 -65
  1424. package/keyfilter/keyfilter.d.ts +58 -0
  1425. package/keyfilter/keyfilter.interface.d.ts +5 -0
  1426. package/keyfilter/public_api.d.ts +2 -0
  1427. package/knob/index.d.ts +3 -179
  1428. package/knob/knob.d.ts +178 -0
  1429. package/knob/public_api.d.ts +1 -0
  1430. package/listbox/index.d.ts +3 -620
  1431. package/listbox/listbox.d.ts +463 -0
  1432. package/listbox/listbox.interface.d.ts +156 -0
  1433. package/listbox/public_api.d.ts +2 -0
  1434. package/logo/index.d.ts +5 -20
  1435. package/logo/logo.d.ts +11 -0
  1436. package/logo/logo.module.d.ts +7 -0
  1437. package/logo/public_api.d.ts +2 -0
  1438. package/megamenu/index.d.ts +3 -230
  1439. package/megamenu/megamenu.d.ts +198 -0
  1440. package/megamenu/megamenu.interface.d.ts +31 -0
  1441. package/megamenu/public_api.d.ts +2 -0
  1442. package/menu/index.d.ts +3 -222
  1443. package/menu/menu.d.ts +210 -0
  1444. package/menu/menu.module.d.ts +12 -0
  1445. package/menu/public_api.d.ts +2 -0
  1446. package/menubar/index.d.ts +3 -290
  1447. package/menubar/menubar.d.ts +248 -0
  1448. package/menubar/menubar.interface.d.ts +40 -0
  1449. package/menubar/public_api.d.ts +2 -0
  1450. package/message/index.d.ts +3 -53
  1451. package/message/message.d.ts +52 -0
  1452. package/message/public_api.d.ts +1 -0
  1453. package/messages/index.d.ts +3 -140
  1454. package/messages/messages.d.ts +115 -0
  1455. package/messages/messages.interface.d.ts +18 -0
  1456. package/messages/messages.module.d.ts +8 -0
  1457. package/messages/public_api.d.ts +3 -0
  1458. package/metergroup/index.d.ts +3 -224
  1459. package/metergroup/metergroup.d.ts +101 -0
  1460. package/metergroup/metergroup.interface.d.ts +122 -0
  1461. package/metergroup/public_api.d.ts +2 -0
  1462. package/multiselect/index.d.ts +3 -974
  1463. package/multiselect/multiselect.d.ts +710 -0
  1464. package/multiselect/multiselect.interface.d.ts +247 -0
  1465. package/multiselect/multiselect.module.d.ts +20 -0
  1466. package/multiselect/public_api.d.ts +3 -0
  1467. package/navigation/index.d.ts +5 -105
  1468. package/navigation/navigation.d.ts +70 -0
  1469. package/navigation/navigation.interface.d.ts +26 -0
  1470. package/navigation/navigation.module.d.ts +7 -0
  1471. package/navigation/public_api.d.ts +2 -0
  1472. package/orderlist/index.d.ts +3 -381
  1473. package/orderlist/orderlist.d.ts +270 -0
  1474. package/orderlist/orderlist.interface.d.ts +110 -0
  1475. package/orderlist/public_api.d.ts +2 -0
  1476. package/organizationchart/index.d.ts +3 -192
  1477. package/organizationchart/organizationchart.d.ts +132 -0
  1478. package/organizationchart/organizationchart.interface.d.ts +59 -0
  1479. package/organizationchart/public_api.d.ts +2 -0
  1480. package/overlay/index.d.ts +3 -246
  1481. package/overlay/overlay.d.ts +238 -0
  1482. package/overlay/overlay.module.d.ts +8 -0
  1483. package/overlay/public_api.d.ts +2 -0
  1484. package/overlaypanel/index.d.ts +3 -170
  1485. package/overlaypanel/overlaypanel.d.ts +162 -0
  1486. package/overlaypanel/overlaypanel.module.d.ts +8 -0
  1487. package/overlaypanel/public_api.d.ts +2 -0
  1488. package/package.json +699 -359
  1489. package/paginator/index.d.ts +3 -249
  1490. package/paginator/paginator.d.ts +195 -0
  1491. package/paginator/paginator.interface.d.ts +37 -0
  1492. package/paginator/paginator.module.d.ts +17 -0
  1493. package/paginator/public_api.d.ts +3 -0
  1494. package/panel/index.d.ts +3 -185
  1495. package/panel/panel.d.ts +126 -0
  1496. package/panel/panel.interface.d.ts +58 -0
  1497. package/panel/public_api.d.ts +2 -0
  1498. package/panelmenu/index.d.ts +3 -249
  1499. package/panelmenu/panelmenu.d.ts +225 -0
  1500. package/panelmenu/panelmenu.interface.d.ts +23 -0
  1501. package/panelmenu/public_api.d.ts +2 -0
  1502. package/password/index.d.ts +3 -342
  1503. package/password/password.d.ts +342 -0
  1504. package/password/public_api.d.ts +1 -0
  1505. package/picklist/index.d.ts +3 -696
  1506. package/picklist/picklist.d.ts +453 -0
  1507. package/picklist/picklist.interface.d.ts +242 -0
  1508. package/picklist/public_api.d.ts +2 -0
  1509. package/progressbar/index.d.ts +3 -61
  1510. package/progressbar/progressbar.d.ts +54 -0
  1511. package/progressbar/progressbar.module.d.ts +8 -0
  1512. package/progressbar/public_api.d.ts +2 -0
  1513. package/progressspinner/index.d.ts +3 -58
  1514. package/progressspinner/progressspinner.d.ts +50 -0
  1515. package/progressspinner/progressspinner.module.d.ts +8 -0
  1516. package/progressspinner/public_api.d.ts +2 -0
  1517. package/public_api.d.ts +2 -0
  1518. package/radiobutton/index.d.ts +3 -173
  1519. package/radiobutton/public_api.d.ts +3 -0
  1520. package/radiobutton/radiobutton.d.ts +150 -0
  1521. package/radiobutton/radiobutton.interface.d.ts +15 -0
  1522. package/radiobutton/radiobutton.module.d.ts +7 -0
  1523. package/rating/index.d.ts +3 -181
  1524. package/rating/public_api.d.ts +2 -0
  1525. package/rating/rating.d.ts +146 -0
  1526. package/rating/rating.interface.d.ts +34 -0
  1527. package/resources/components/colorpicker/images/color.png +0 -0
  1528. package/resources/components/colorpicker/images/hue.png +0 -0
  1529. package/resources/components/password/images/password-meter.png +0 -0
  1530. package/resources/components/toggleswitch/toggleswitch.scss +1 -1
  1531. package/resources/components/tree/images/line.gif +0 -0
  1532. package/resources/images/color.png +0 -0
  1533. package/resources/images/hue.png +0 -0
  1534. package/resources/images/line.gif +0 -0
  1535. package/resources/images/password-meter.png +0 -0
  1536. package/ripple/index.d.ts +3 -37
  1537. package/ripple/public_api.d.ts +2 -0
  1538. package/ripple/ripple.d.ts +30 -0
  1539. package/ripple/ripple.module.d.ts +7 -0
  1540. package/scroller/index.d.ts +3 -528
  1541. package/scroller/public_api.d.ts +3 -0
  1542. package/scroller/scroller.d.ts +343 -0
  1543. package/scroller/scroller.interface.d.ts +177 -0
  1544. package/scroller/scroller.module.d.ts +8 -0
  1545. package/scrollpanel/index.d.ts +3 -116
  1546. package/scrollpanel/public_api.d.ts +2 -0
  1547. package/scrollpanel/scrollpanel.d.ts +103 -0
  1548. package/scrollpanel/scrollpanel.interface.d.ts +11 -0
  1549. package/scrolltop/index.d.ts +3 -117
  1550. package/scrolltop/public_api.d.ts +2 -0
  1551. package/scrolltop/scrolltop.d.ts +97 -0
  1552. package/scrolltop/scrolltop.interface.d.ts +18 -0
  1553. package/selectbutton/index.d.ts +3 -184
  1554. package/selectbutton/public_api.d.ts +3 -0
  1555. package/selectbutton/selectbutton.d.ts +128 -0
  1556. package/selectbutton/selectbutton.interface.d.ts +45 -0
  1557. package/selectbutton/selectbutton.module.d.ts +11 -0
  1558. package/sidebar/index.d.ts +3 -213
  1559. package/sidebar/public_api.d.ts +3 -0
  1560. package/sidebar/sidebar.d.ts +173 -0
  1561. package/sidebar/sidebar.interface.d.ts +27 -0
  1562. package/sidebar/sidebar.module.d.ts +12 -0
  1563. package/skeleton/index.d.ts +3 -69
  1564. package/skeleton/public_api.d.ts +2 -0
  1565. package/skeleton/skeleton.d.ts +61 -0
  1566. package/skeleton/skeleton.module.d.ts +8 -0
  1567. package/slidemenu/index.d.ts +3 -339
  1568. package/slidemenu/public_api.d.ts +2 -0
  1569. package/slidemenu/slidemenu.d.ts +322 -0
  1570. package/slidemenu/slidemenu.interface.d.ts +15 -0
  1571. package/slider/index.d.ts +3 -214
  1572. package/slider/public_api.d.ts +2 -0
  1573. package/slider/slider.d.ts +174 -0
  1574. package/slider/slider.interface.d.ts +38 -0
  1575. package/speeddial/index.d.ts +3 -319
  1576. package/speeddial/public_api.d.ts +3 -0
  1577. package/speeddial/speeddial.d.ts +277 -0
  1578. package/speeddial/speeddial.interface.d.ts +28 -0
  1579. package/speeddial/speeddial.module.d.ts +14 -0
  1580. package/spinner/index.d.ts +5 -93
  1581. package/spinner/public_api.d.ts +1 -0
  1582. package/spinner/spinner.d.ts +90 -0
  1583. package/splitbutton/index.d.ts +3 -264
  1584. package/splitbutton/public_api.d.ts +3 -0
  1585. package/splitbutton/splitbutton.d.ts +222 -0
  1586. package/splitbutton/splitbutton.interface.d.ts +30 -0
  1587. package/splitbutton/splitbutton.module.d.ts +13 -0
  1588. package/splitter/index.d.ts +3 -201
  1589. package/splitter/public_api.d.ts +3 -0
  1590. package/splitter/splitter.d.ts +158 -0
  1591. package/splitter/splitter.interface.d.ts +34 -0
  1592. package/splitter/splitter.module.d.ts +9 -0
  1593. package/stepper/index.d.ts +3 -145
  1594. package/stepper/public_api.d.ts +2 -0
  1595. package/stepper/stepper.d.ts +117 -0
  1596. package/stepper/stepper.interface.d.ts +26 -0
  1597. package/steps/index.d.ts +3 -87
  1598. package/steps/public_api.d.ts +2 -0
  1599. package/steps/steps.d.ts +77 -0
  1600. package/steps/steps.module.d.ts +10 -0
  1601. package/styleclass/index.d.ts +3 -109
  1602. package/styleclass/public_api.d.ts +1 -0
  1603. package/styleclass/styleclass.d.ts +108 -0
  1604. package/table/columnfilter.interface.d.ts +247 -0
  1605. package/table/components/cell-editor/cell-editor.d.ts +20 -0
  1606. package/table/components/column-filter/column-filter.d.ts +291 -0
  1607. package/table/components/column-filter-form-element/column-filter-form-element.d.ts +37 -0
  1608. package/table/components/sort-icon/sort-icon.d.ts +22 -0
  1609. package/table/components/table-body/table-body.d.ts +36 -0
  1610. package/table/components/table-checkbox/table-checkbox.d.ts +32 -0
  1611. package/table/components/table-header-checkbox/table-header-checkbox.d.ts +29 -0
  1612. package/table/components/table-radio-button/table-radio-button.d.ts +29 -0
  1613. package/table/directives/cancel-editable-row.directive.d.ts +11 -0
  1614. package/table/directives/cell-highlight.directive.d.ts +14 -0
  1615. package/table/directives/content-menu-row.directive.d.ts +22 -0
  1616. package/table/directives/dynamic-column-width.directive.d.ts +12 -0
  1617. package/table/directives/editable-column.directive.d.ts +40 -0
  1618. package/table/directives/editable-row.directive.d.ts +12 -0
  1619. package/table/directives/frozen-column.directive.d.ts +16 -0
  1620. package/table/directives/init-editable-row.directive.d.ts +11 -0
  1621. package/table/directives/reorderable-column.directive.d.ts +32 -0
  1622. package/table/directives/reorderable-row-handle.directive.d.ts +9 -0
  1623. package/table/directives/reorderable-row.directive.d.ts +34 -0
  1624. package/table/directives/resizable-column.directive.d.ts +35 -0
  1625. package/table/directives/row-group-header.directive.d.ts +9 -0
  1626. package/table/directives/row-toggler.directive.d.ts +13 -0
  1627. package/table/directives/save-editable-row.directive.d.ts +11 -0
  1628. package/table/directives/selectable-row-double-click.directive.d.ts +22 -0
  1629. package/table/directives/selectable-row.directive.d.ts +37 -0
  1630. package/table/directives/sortable-column.directive.d.ts +24 -0
  1631. package/table/index.d.ts +3 -2556
  1632. package/table/public_api.d.ts +30 -0
  1633. package/table/table.d.ts +871 -0
  1634. package/table/table.interface.d.ts +623 -0
  1635. package/table/table.module.d.ts +34 -0
  1636. package/table/table.service.d.ts +24 -0
  1637. package/tableconfiguration/index.d.ts +5 -25
  1638. package/tableconfiguration/public_api.d.ts +2 -0
  1639. package/tableconfiguration/tableconfiguration.d.ts +16 -0
  1640. package/tableconfiguration/tableconfiguration.module.d.ts +7 -0
  1641. package/tabmenu/index.d.ts +3 -160
  1642. package/tabmenu/public_api.d.ts +2 -0
  1643. package/tabmenu/tabmenu.d.ts +126 -0
  1644. package/tabmenu/tabmenu.interface.d.ts +32 -0
  1645. package/tabview/index.d.ts +3 -357
  1646. package/tabview/public_api.d.ts +3 -0
  1647. package/tabview/tabview.d.ts +293 -0
  1648. package/tabview/tabview.interface.d.ts +49 -0
  1649. package/tabview/tabview.module.d.ts +15 -0
  1650. package/tag/index.d.ts +3 -82
  1651. package/tag/public_api.d.ts +3 -0
  1652. package/tag/tag.d.ts +61 -0
  1653. package/tag/tag.interface.d.ts +11 -0
  1654. package/tag/tag.module.d.ts +9 -0
  1655. package/terminal/index.d.ts +3 -68
  1656. package/terminal/public_api.d.ts +2 -0
  1657. package/terminal/terminal.d.ts +56 -0
  1658. package/terminal/terminalservice.d.ts +11 -0
  1659. package/tieredmenu/index.d.ts +3 -307
  1660. package/tieredmenu/public_api.d.ts +3 -0
  1661. package/tieredmenu/tieredmenu.d.ts +266 -0
  1662. package/tieredmenu/tieredmenu.interface.d.ts +27 -0
  1663. package/tieredmenu/tiredmenu.module.d.ts +13 -0
  1664. package/timeline/index.d.ts +3 -100
  1665. package/timeline/public_api.d.ts +3 -0
  1666. package/timeline/timeline.d.ts +47 -0
  1667. package/timeline/timeline.interface.d.ts +43 -0
  1668. package/timeline/timeline.module.d.ts +9 -0
  1669. package/toast/index.d.ts +3 -202
  1670. package/toast/public_api.d.ts +3 -0
  1671. package/toast/toast.d.ts +142 -0
  1672. package/toast/toast.interface.d.ts +52 -0
  1673. package/toast/toast.module.d.ts +9 -0
  1674. package/toast/toastitem.d.ts +37 -0
  1675. package/togglebutton/index.d.ts +3 -150
  1676. package/togglebutton/public_api.d.ts +2 -0
  1677. package/togglebutton/togglebutton.d.ts +115 -0
  1678. package/togglebutton/togglebutton.interface.d.ts +34 -0
  1679. package/toggleswitch/index.d.ts +5 -25
  1680. package/toggleswitch/public_api.d.ts +2 -0
  1681. package/toggleswitch/toggleswitch.d.ts +14 -0
  1682. package/toggleswitch/toggleswitch.module.d.ts +9 -0
  1683. package/toolbar/index.d.ts +3 -64
  1684. package/toolbar/public_api.d.ts +2 -0
  1685. package/toolbar/toolbar.d.ts +43 -0
  1686. package/toolbar/toolbar.interface.d.ts +19 -0
  1687. package/tooltip/index.d.ts +3 -218
  1688. package/tooltip/public_api.d.ts +2 -0
  1689. package/tooltip/tooltip.d.ts +208 -0
  1690. package/tooltip/tooltip.module.d.ts +10 -0
  1691. package/tree/index.d.ts +3 -673
  1692. package/tree/public_api.d.ts +3 -0
  1693. package/tree/tree.d.ts +461 -0
  1694. package/tree/tree.interface.d.ts +193 -0
  1695. package/tree/tree.module.d.ts +21 -0
  1696. package/treeselect/index.d.ts +3 -517
  1697. package/treeselect/public_api.d.ts +3 -0
  1698. package/treeselect/treeselect.d.ts +394 -0
  1699. package/treeselect/treeselect.interface.d.ts +108 -0
  1700. package/treeselect/treeselect.module.d.ts +16 -0
  1701. package/treetable/index.d.ts +3 -1461
  1702. package/treetable/public_api.d.ts +2 -0
  1703. package/treetable/treetable.d.ts +988 -0
  1704. package/treetable/treetable.interface.d.ts +472 -0
  1705. package/tristatecheckbox/index.d.ts +3 -155
  1706. package/tristatecheckbox/public_api.d.ts +3 -0
  1707. package/tristatecheckbox/tristatecheckbox.d.ts +117 -0
  1708. package/tristatecheckbox/tristatecheckbox.interface.d.ts +30 -0
  1709. package/tristatecheckbox/tristatecheckbox.module.d.ts +8 -0
  1710. package/ts-helpers/index.d.ts +5 -6
  1711. package/ts-helpers/public_api.d.ts +1 -0
  1712. package/ts-helpers/ts-helpers.d.ts +4 -0
  1713. package/upload/index.d.ts +5 -81
  1714. package/upload/public_api.d.ts +2 -0
  1715. package/upload/upload.component.d.ts +67 -0
  1716. package/upload/upload.component.module.d.ts +11 -0
  1717. package/utils/index.d.ts +5 -35
  1718. package/utils/objectutils.d.ts +24 -0
  1719. package/utils/public_api.d.ts +4 -0
  1720. package/utils/uniquecomponentid.d.ts +2 -0
  1721. package/utils/zindexutils.d.ts +7 -0
  1722. package/virtualscroller/index.d.ts +3 -161
  1723. package/virtualscroller/public_api.d.ts +2 -0
  1724. package/virtualscroller/virtualscroller.d.ts +89 -0
  1725. package/virtualscroller/virtualscroller.interface.d.ts +72 -0
  1726. package/cax-design-system-2.8.2.tgz +0 -0
@@ -0,0 +1,848 @@
1
+ /*
2
+ Port of jQuery MaskedInput by DigitalBush as a Native Angular2 Component in Typescript without jQuery
3
+ https://github.com/digitalBush/jquery.maskedinput/
4
+
5
+ Copyright (c) 2007-2014 Josh Bush (digitalbush.com)
6
+
7
+ Permission is hereby granted, free of charge, to any person
8
+ obtaining a copy of this software and associated documentation
9
+ files (the "Software"), to deal in the Software without
10
+ restriction, including without limitation the rights to use,
11
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
12
+ copies of the Software, and to permit persons to whom the
13
+ Software is furnished to do so, subject to the following
14
+ conditions:
15
+
16
+ The above copyright notice and this permission notice shall be
17
+ included in all copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26
+ OTHER DEALINGS IN THE SOFTWARE.
27
+ */
28
+ import { DOCUMENT, isPlatformBrowser } from '@angular/common';
29
+ import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Inject, Input, Output, PLATFORM_ID, ViewChild, ViewEncapsulation, booleanAttribute, forwardRef, numberAttribute } from '@angular/core';
30
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
31
+ import { CaxTemplate } from 'cax-design-system/api';
32
+ import { DomHandler } from 'cax-design-system/dom';
33
+ import * as i0 from "@angular/core";
34
+ import * as i1 from "cax-design-system/api";
35
+ import * as i2 from "@angular/common";
36
+ import * as i3 from "cax-design-system/icons/times";
37
+ export const INPUTMASK_VALUE_ACCESSOR = {
38
+ provide: NG_VALUE_ACCESSOR,
39
+ useExisting: forwardRef(() => InputMask),
40
+ multi: true
41
+ };
42
+ /**
43
+ * InputMask component is used to enter input in a certain format such as numeric, date, currency, email and phone.
44
+ * @group Components
45
+ */
46
+ export class InputMask {
47
+ document;
48
+ platformId;
49
+ el;
50
+ cd;
51
+ config;
52
+ /**
53
+ * HTML5 input type.
54
+ * @group Props
55
+ */
56
+ type = 'text';
57
+ /**
58
+ * Placeholder character in mask, default is underscore.
59
+ * @group Props
60
+ */
61
+ slotChar = '_';
62
+ /**
63
+ * Clears the incomplete value on blur.
64
+ * @group Props
65
+ */
66
+ autoClear = true;
67
+ /**
68
+ * When enabled, a clear icon is displayed to clear the value.
69
+ * @group Props
70
+ */
71
+ showClear = false;
72
+ /**
73
+ * Inline style of the input field.
74
+ * @group Props
75
+ */
76
+ style;
77
+ /**
78
+ * Identifier of the focus input to match a label defined for the component.
79
+ * @group Props
80
+ */
81
+ inputId;
82
+ /**
83
+ * Style class of the input field.
84
+ * @group Props
85
+ */
86
+ styleClass;
87
+ /**
88
+ * Advisory information to display on input.
89
+ * @group Props
90
+ */
91
+ placeholder;
92
+ /**
93
+ * Size of the input field.
94
+ * @group Props
95
+ */
96
+ size;
97
+ /**
98
+ * Maximum number of character allows in the input field.
99
+ * @group Props
100
+ */
101
+ maxlength;
102
+ /**
103
+ * Specifies tab order of the element.
104
+ * @group Props
105
+ */
106
+ tabindex;
107
+ /**
108
+ * Title text of the input text.
109
+ * @group Props
110
+ */
111
+ title;
112
+ /**
113
+ * Specifies the input variant of the component.
114
+ * @group Props
115
+ */
116
+ variant = 'outlined';
117
+ /**
118
+ * Used to define a string that labels the input element.
119
+ * @group Props
120
+ */
121
+ ariaLabel;
122
+ /**
123
+ * Establishes relationships between the component and label(s) where its value should be one or more element IDs.
124
+ * @group Props
125
+ */
126
+ ariaLabelledBy;
127
+ /**
128
+ * Used to indicate that user input is required on an element before a form can be submitted.
129
+ * @group Props
130
+ */
131
+ ariaRequired;
132
+ /**
133
+ * When present, it specifies that the element value cannot be altered.
134
+ * @group Props
135
+ */
136
+ disabled;
137
+ /**
138
+ * When present, it specifies that an input field is read-only.
139
+ * @group Props
140
+ */
141
+ readonly;
142
+ /**
143
+ * Defines if ngModel sets the raw unmasked value to bound value or the formatted mask value.
144
+ * @group Props
145
+ */
146
+ unmask;
147
+ /**
148
+ * Name of the input field.
149
+ * @group Props
150
+ */
151
+ name;
152
+ /**
153
+ * When present, it specifies that an input field must be filled out before submitting the form.
154
+ * @group Props
155
+ */
156
+ required;
157
+ /**
158
+ * Regex pattern for alpha characters
159
+ * @group Props
160
+ */
161
+ characterPattern = '[A-Za-z]';
162
+ /**
163
+ * When present, the input gets a focus automatically on load.
164
+ * @group Props
165
+ */
166
+ autofocus;
167
+ /**
168
+ * When present, the input gets a focus automatically on load.
169
+ * @group Props
170
+ * @deprecated Use autofocus property instead.
171
+ */
172
+ set autoFocus(value) {
173
+ this.autofocus = value;
174
+ console.warn('autoFocus is deprecated. Use autofocus property instead.');
175
+ }
176
+ /**
177
+ * Used to define a string that autocomplete attribute the current element.
178
+ * @group Props
179
+ */
180
+ autocomplete;
181
+ /**
182
+ * When present, it specifies that whether to clean buffer value from model.
183
+ * @group Props
184
+ */
185
+ keepBuffer = false;
186
+ /**
187
+ * Mask pattern.
188
+ * @group Props
189
+ */
190
+ get mask() {
191
+ return this._mask;
192
+ }
193
+ set mask(val) {
194
+ this._mask = val;
195
+ this.initMask();
196
+ this.writeValue('');
197
+ this.onModelChange(this.value);
198
+ }
199
+ /**
200
+ * Callback to invoke when the mask is completed.
201
+ * @group Emits
202
+ */
203
+ onComplete = new EventEmitter();
204
+ /**
205
+ * Callback to invoke when the component receives focus.
206
+ * @param {Event} event - Browser event.
207
+ * @group Emits
208
+ */
209
+ onFocus = new EventEmitter();
210
+ /**
211
+ * Callback to invoke when the component loses focus.
212
+ * @param {Event} event - Browser event.
213
+ * @group Emits
214
+ */
215
+ onBlur = new EventEmitter();
216
+ /**
217
+ * Callback to invoke on input.
218
+ * @param {Event} event - Browser event.
219
+ * @group Emits
220
+ */
221
+ onInput = new EventEmitter();
222
+ /**
223
+ * Callback to invoke on input key press.
224
+ * @param {Event} event - Browser event.
225
+ * @group Emits
226
+ */
227
+ onKeydown = new EventEmitter();
228
+ /**
229
+ * Callback to invoke when input field is cleared.
230
+ * @group Emits
231
+ */
232
+ onClear = new EventEmitter();
233
+ inputViewChild;
234
+ templates;
235
+ clearIconTemplate;
236
+ value;
237
+ _mask;
238
+ onModelChange = () => { };
239
+ onModelTouched = () => { };
240
+ input;
241
+ filled;
242
+ defs;
243
+ tests;
244
+ partialPosition;
245
+ firstNonMaskPos;
246
+ lastRequiredNonMaskPos;
247
+ len;
248
+ oldVal;
249
+ buffer;
250
+ defaultBuffer;
251
+ focusText;
252
+ caretTimeoutId;
253
+ androidChrome = true;
254
+ focused;
255
+ _variant = 'outlined';
256
+ label;
257
+ leftIcon = false;
258
+ rightIcon = false;
259
+ clearIcon = false;
260
+ leftIconClass = '';
261
+ rightIconClass = '';
262
+ invalid = false;
263
+ errorText;
264
+ successText;
265
+ heightsize = 'md';
266
+ get inputClass() {
267
+ return {
268
+ 'cax-inputmask': true
269
+ };
270
+ }
271
+ constructor(document, platformId, el, cd, config) {
272
+ this.document = document;
273
+ this.platformId = platformId;
274
+ this.el = el;
275
+ this.cd = cd;
276
+ this.config = config;
277
+ }
278
+ ngOnInit() {
279
+ if (isPlatformBrowser(this.platformId)) {
280
+ let ua = navigator.userAgent;
281
+ this.androidChrome = /chrome/i.test(ua) && /android/i.test(ua);
282
+ }
283
+ this.initMask();
284
+ }
285
+ ngAfterContentInit() {
286
+ this.templates.forEach((item) => {
287
+ switch (item.getType()) {
288
+ case 'clearicon':
289
+ this.clearIconTemplate = item.template;
290
+ break;
291
+ }
292
+ });
293
+ }
294
+ initMask() {
295
+ this.tests = [];
296
+ this.partialPosition = this.mask.length;
297
+ this.len = this.mask.length;
298
+ this.firstNonMaskPos = null;
299
+ this.defs = {
300
+ '9': '[0-9]',
301
+ a: this.characterPattern,
302
+ '*': `${this.characterPattern}|[0-9]`
303
+ };
304
+ let maskTokens = this.mask.split('');
305
+ for (let i = 0; i < maskTokens.length; i++) {
306
+ let c = maskTokens[i];
307
+ if (c == '?') {
308
+ this.len--;
309
+ this.partialPosition = i;
310
+ }
311
+ else if (this.defs[c]) {
312
+ this.tests.push(new RegExp(this.defs[c]));
313
+ if (this.firstNonMaskPos === null) {
314
+ this.firstNonMaskPos = this.tests.length - 1;
315
+ }
316
+ if (i < this.partialPosition) {
317
+ this.lastRequiredNonMaskPos = this.tests.length - 1;
318
+ }
319
+ }
320
+ else {
321
+ this.tests.push(null);
322
+ }
323
+ }
324
+ this.buffer = [];
325
+ for (let i = 0; i < maskTokens.length; i++) {
326
+ let c = maskTokens[i];
327
+ if (c != '?') {
328
+ if (this.defs[c])
329
+ this.buffer.push(this.getPlaceholder(i));
330
+ else
331
+ this.buffer.push(c);
332
+ }
333
+ }
334
+ this.defaultBuffer = this.buffer.join('');
335
+ }
336
+ writeValue(value) {
337
+ this.value = value;
338
+ if (this.inputViewChild && this.inputViewChild.nativeElement) {
339
+ if (this.value == undefined || this.value == null)
340
+ this.inputViewChild.nativeElement.value = '';
341
+ else
342
+ this.inputViewChild.nativeElement.value = this.value;
343
+ this.checkVal();
344
+ this.focusText = this.inputViewChild.nativeElement.value;
345
+ this.updateFilledState();
346
+ }
347
+ }
348
+ registerOnChange(fn) {
349
+ this.onModelChange = fn;
350
+ }
351
+ registerOnTouched(fn) {
352
+ this.onModelTouched = fn;
353
+ }
354
+ setDisabledState(val) {
355
+ this.disabled = val;
356
+ this.cd.markForCheck();
357
+ }
358
+ caret(first, last) {
359
+ let range, begin, end;
360
+ if (!this.inputViewChild?.nativeElement.offsetParent || this.inputViewChild.nativeElement !== this.inputViewChild.nativeElement.ownerDocument.activeElement) {
361
+ return;
362
+ }
363
+ if (typeof first == 'number') {
364
+ begin = first;
365
+ end = typeof last === 'number' ? last : begin;
366
+ if (this.inputViewChild.nativeElement.setSelectionRange) {
367
+ this.inputViewChild.nativeElement.setSelectionRange(begin, end);
368
+ }
369
+ else if (this.inputViewChild.nativeElement['createTextRange']) {
370
+ range = this.inputViewChild.nativeElement['createTextRange']();
371
+ range.collapse(true);
372
+ range.moveEnd('character', end);
373
+ range.moveStart('character', begin);
374
+ range.select();
375
+ }
376
+ }
377
+ else {
378
+ if (this.inputViewChild.nativeElement.setSelectionRange) {
379
+ begin = this.inputViewChild.nativeElement.selectionStart;
380
+ end = this.inputViewChild.nativeElement.selectionEnd;
381
+ }
382
+ else if (this.document && this.document['selection'].createRange) {
383
+ range = this.document.createRange();
384
+ begin = 0 - range.duplicate().moveStart('character', -100000);
385
+ end = begin + range.text.length;
386
+ }
387
+ return { begin: begin, end: end };
388
+ }
389
+ }
390
+ isCompleted() {
391
+ let completed;
392
+ for (let i = this.firstNonMaskPos; i <= this.lastRequiredNonMaskPos; i++) {
393
+ if (this.tests[i] && this.buffer[i] === this.getPlaceholder(i)) {
394
+ return false;
395
+ }
396
+ }
397
+ return true;
398
+ }
399
+ getPlaceholder(i) {
400
+ if (i < this.slotChar.length) {
401
+ return this.slotChar.charAt(i);
402
+ }
403
+ return this.slotChar.charAt(0);
404
+ }
405
+ seekNext(pos) {
406
+ while (++pos < this.len && !this.tests[pos])
407
+ ;
408
+ return pos;
409
+ }
410
+ seekPrev(pos) {
411
+ while (--pos >= 0 && !this.tests[pos])
412
+ ;
413
+ return pos;
414
+ }
415
+ shiftL(begin, end) {
416
+ let i, j;
417
+ if (begin < 0) {
418
+ return;
419
+ }
420
+ for (i = begin, j = this.seekNext(end); i < this.len; i++) {
421
+ if (this.tests[i]) {
422
+ if (j < this.len && this.tests[i].test(this.buffer[j])) {
423
+ this.buffer[i] = this.buffer[j];
424
+ this.buffer[j] = this.getPlaceholder(j);
425
+ }
426
+ else {
427
+ break;
428
+ }
429
+ j = this.seekNext(j);
430
+ }
431
+ }
432
+ this.writeBuffer();
433
+ this.caret(Math.max(this.firstNonMaskPos, begin));
434
+ }
435
+ shiftR(pos) {
436
+ let i, c, j, t;
437
+ for (i = pos, c = this.getPlaceholder(pos); i < this.len; i++) {
438
+ if (this.tests[i]) {
439
+ j = this.seekNext(i);
440
+ t = this.buffer[i];
441
+ this.buffer[i] = c;
442
+ if (j < this.len && this.tests[j].test(t)) {
443
+ c = t;
444
+ }
445
+ else {
446
+ break;
447
+ }
448
+ }
449
+ }
450
+ }
451
+ handleAndroidInput(e) {
452
+ var curVal = this.inputViewChild?.nativeElement.value;
453
+ var pos = this.caret();
454
+ if (this.oldVal && this.oldVal.length && this.oldVal.length > curVal.length) {
455
+ // a deletion or backspace happened
456
+ this.checkVal(true);
457
+ while (pos.begin > 0 && !this.tests[pos.begin - 1])
458
+ pos.begin--;
459
+ if (pos.begin === 0) {
460
+ while (pos.begin < this.firstNonMaskPos && !this.tests[pos.begin])
461
+ pos.begin++;
462
+ }
463
+ setTimeout(() => {
464
+ this.caret(pos.begin, pos.begin);
465
+ this.updateModel(e);
466
+ if (this.isCompleted()) {
467
+ this.onComplete.emit();
468
+ }
469
+ }, 0);
470
+ }
471
+ else {
472
+ this.checkVal(true);
473
+ while (pos.begin < this.len && !this.tests[pos.begin])
474
+ pos.begin++;
475
+ setTimeout(() => {
476
+ this.caret(pos.begin, pos.begin);
477
+ this.updateModel(e);
478
+ if (this.isCompleted()) {
479
+ this.onComplete.emit();
480
+ }
481
+ }, 0);
482
+ }
483
+ }
484
+ onInputBlur(e) {
485
+ this.focused = false;
486
+ this.onModelTouched();
487
+ if (!this.keepBuffer) {
488
+ this.checkVal();
489
+ }
490
+ this.updateFilledState();
491
+ this.onBlur.emit(e);
492
+ if (this.inputViewChild?.nativeElement.value != this.focusText || this.inputViewChild?.nativeElement.value != this.value) {
493
+ this.updateModel(e);
494
+ let event = this.document.createEvent('HTMLEvents');
495
+ event.initEvent('change', true, false);
496
+ this.inputViewChild?.nativeElement.dispatchEvent(event);
497
+ }
498
+ }
499
+ onInputKeydown(e) {
500
+ if (this.readonly) {
501
+ return;
502
+ }
503
+ let k = e.which || e.keyCode, pos, begin, end;
504
+ let iPhone;
505
+ if (isPlatformBrowser(this.platformId)) {
506
+ iPhone = /iphone/i.test(DomHandler.getUserAgent());
507
+ }
508
+ this.oldVal = this.inputViewChild?.nativeElement.value;
509
+ this.onKeydown.emit(e);
510
+ //backspace, delete, and escape get special treatment
511
+ if (k === 8 || k === 46 || (iPhone && k === 127)) {
512
+ pos = this.caret();
513
+ begin = pos.begin;
514
+ end = pos.end;
515
+ if (end - begin === 0) {
516
+ begin = k !== 46 ? this.seekPrev(begin) : (end = this.seekNext(begin - 1));
517
+ end = k === 46 ? this.seekNext(end) : end;
518
+ }
519
+ this.clearBuffer(begin, end);
520
+ if (this.keepBuffer) {
521
+ this.shiftL(begin, end - 2);
522
+ }
523
+ else {
524
+ this.shiftL(begin, end - 1);
525
+ }
526
+ this.updateModel(e);
527
+ this.onInput.emit(e);
528
+ e.preventDefault();
529
+ }
530
+ else if (k === 13) {
531
+ // enter
532
+ this.onInputBlur(e);
533
+ this.updateModel(e);
534
+ }
535
+ else if (k === 27) {
536
+ // escape
537
+ this.inputViewChild.nativeElement.value = this.focusText;
538
+ this.caret(0, this.checkVal());
539
+ this.updateModel(e);
540
+ e.preventDefault();
541
+ }
542
+ }
543
+ onKeyPress(e) {
544
+ if (this.readonly) {
545
+ return;
546
+ }
547
+ var k = e.which || e.keyCode, pos = this.caret(), p, c, next, completed;
548
+ if (e.ctrlKey || e.altKey || e.metaKey || k < 32 || (k > 34 && k < 41)) {
549
+ //Ignore
550
+ return;
551
+ }
552
+ else if (k && k !== 13) {
553
+ if (pos.end - pos.begin !== 0) {
554
+ this.clearBuffer(pos.begin, pos.end);
555
+ this.shiftL(pos.begin, pos.end - 1);
556
+ }
557
+ p = this.seekNext(pos.begin - 1);
558
+ if (p < this.len) {
559
+ c = String.fromCharCode(k);
560
+ if (this.tests[p].test(c)) {
561
+ this.shiftR(p);
562
+ this.buffer[p] = c;
563
+ this.writeBuffer();
564
+ next = this.seekNext(p);
565
+ if (DomHandler.isClient() && /android/i.test(DomHandler.getUserAgent())) {
566
+ let proxy = () => {
567
+ this.caret(next);
568
+ };
569
+ setTimeout(proxy, 0);
570
+ }
571
+ else {
572
+ this.caret(next);
573
+ }
574
+ if (pos.begin <= this.lastRequiredNonMaskPos) {
575
+ completed = this.isCompleted();
576
+ }
577
+ this.onInput.emit(e);
578
+ }
579
+ }
580
+ e.preventDefault();
581
+ }
582
+ this.updateModel(e);
583
+ this.updateFilledState();
584
+ if (completed) {
585
+ this.onComplete.emit();
586
+ }
587
+ }
588
+ clearBuffer(start, end) {
589
+ if (!this.keepBuffer) {
590
+ let i;
591
+ for (i = start; i < end && i < this.len; i++) {
592
+ if (this.tests[i]) {
593
+ this.buffer[i] = this.getPlaceholder(i);
594
+ }
595
+ }
596
+ }
597
+ }
598
+ writeBuffer() {
599
+ this.inputViewChild.nativeElement.value = this.buffer.join('');
600
+ }
601
+ checkVal(allow) {
602
+ //try to place characters where they belong
603
+ let test = this.inputViewChild?.nativeElement.value, lastMatch = -1, i, c, pos;
604
+ for (i = 0, pos = 0; i < this.len; i++) {
605
+ if (this.tests[i]) {
606
+ this.buffer[i] = this.getPlaceholder(i);
607
+ while (pos++ < test.length) {
608
+ c = test.charAt(pos - 1);
609
+ if (this.tests[i].test(c)) {
610
+ if (!this.keepBuffer) {
611
+ this.buffer[i] = c;
612
+ }
613
+ lastMatch = i;
614
+ break;
615
+ }
616
+ }
617
+ if (pos > test.length) {
618
+ this.clearBuffer(i + 1, this.len);
619
+ break;
620
+ }
621
+ }
622
+ else {
623
+ if (this.buffer[i] === test.charAt(pos)) {
624
+ pos++;
625
+ }
626
+ if (i < this.partialPosition) {
627
+ lastMatch = i;
628
+ }
629
+ }
630
+ }
631
+ if (allow) {
632
+ this.writeBuffer();
633
+ }
634
+ else if (lastMatch + 1 < this.partialPosition) {
635
+ if (this.autoClear || this.buffer.join('') === this.defaultBuffer) {
636
+ // Invalid value. Remove it and replace it with the
637
+ // mask, which is the default behavior.
638
+ if (this.inputViewChild?.nativeElement.value)
639
+ this.inputViewChild.nativeElement.value = '';
640
+ this.clearBuffer(0, this.len);
641
+ }
642
+ else {
643
+ // Invalid value, but we opt to show the value to the
644
+ // user and allow them to correct their mistake.
645
+ this.writeBuffer();
646
+ }
647
+ }
648
+ else {
649
+ this.writeBuffer();
650
+ this.inputViewChild.nativeElement.value = this.inputViewChild?.nativeElement.value.substring(0, lastMatch + 1);
651
+ }
652
+ return (this.partialPosition ? i : this.firstNonMaskPos);
653
+ }
654
+ onInputFocus(event) {
655
+ if (this.readonly) {
656
+ return;
657
+ }
658
+ this.focused = true;
659
+ clearTimeout(this.caretTimeoutId);
660
+ let pos;
661
+ this.focusText = this.inputViewChild?.nativeElement.value;
662
+ pos = this.keepBuffer ? this.inputViewChild?.nativeElement.value.length : this.checkVal();
663
+ this.caretTimeoutId = setTimeout(() => {
664
+ if (this.inputViewChild?.nativeElement !== this.inputViewChild?.nativeElement.ownerDocument.activeElement) {
665
+ return;
666
+ }
667
+ this.writeBuffer();
668
+ if (pos == this.mask?.replace('?', '').length) {
669
+ this.caret(0, pos);
670
+ }
671
+ else {
672
+ this.caret(pos);
673
+ }
674
+ }, 10);
675
+ this.onFocus.emit(event);
676
+ }
677
+ onInputChange(event) {
678
+ if (this.androidChrome)
679
+ this.handleAndroidInput(event);
680
+ else
681
+ this.handleInputChange(event);
682
+ this.onInput.emit(event);
683
+ }
684
+ handleInputChange(event) {
685
+ if (this.readonly || this.disabled) {
686
+ return;
687
+ }
688
+ setTimeout(() => {
689
+ var pos = this.checkVal(true);
690
+ this.caret(pos);
691
+ this.updateModel(event);
692
+ if (this.isCompleted()) {
693
+ this.onComplete.emit();
694
+ }
695
+ }, 0);
696
+ }
697
+ getUnmaskedValue() {
698
+ let unmaskedBuffer = [];
699
+ for (let i = 0; i < this.buffer.length; i++) {
700
+ let c = this.buffer[i];
701
+ if (this.tests[i] && c != this.getPlaceholder(i)) {
702
+ unmaskedBuffer.push(c);
703
+ }
704
+ }
705
+ return unmaskedBuffer.join('');
706
+ }
707
+ updateModel(e) {
708
+ const updatedValue = this.unmask ? this.getUnmaskedValue() : e.target.value;
709
+ if (updatedValue !== null || updatedValue !== undefined) {
710
+ this.value = updatedValue;
711
+ this.onModelChange(this.value);
712
+ }
713
+ }
714
+ updateFilledState() {
715
+ this.filled = this.inputViewChild?.nativeElement && this.inputViewChild.nativeElement.value != '';
716
+ }
717
+ focus() {
718
+ this.inputViewChild?.nativeElement.focus();
719
+ }
720
+ clear() {
721
+ this.inputViewChild.nativeElement.value = '';
722
+ this.value = null;
723
+ this.onModelChange(this.value);
724
+ this.onClear.emit();
725
+ }
726
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: InputMask, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.caxConfig }], target: i0.ɵɵFactoryTarget.Component });
727
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: InputMask, selector: "cax-inputMask", inputs: { type: "type", slotChar: "slotChar", autoClear: ["autoClear", "autoClear", booleanAttribute], showClear: ["showClear", "showClear", booleanAttribute], style: "style", inputId: "inputId", styleClass: "styleClass", placeholder: "placeholder", size: ["size", "size", numberAttribute], maxlength: ["maxlength", "maxlength", numberAttribute], tabindex: "tabindex", title: "title", variant: "variant", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", ariaRequired: ["ariaRequired", "ariaRequired", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], readonly: ["readonly", "readonly", booleanAttribute], unmask: ["unmask", "unmask", booleanAttribute], name: "name", required: ["required", "required", booleanAttribute], characterPattern: "characterPattern", autofocus: ["autofocus", "autofocus", booleanAttribute], autoFocus: ["autoFocus", "autoFocus", booleanAttribute], autocomplete: "autocomplete", keepBuffer: ["keepBuffer", "keepBuffer", booleanAttribute], mask: "mask", label: "label", leftIcon: "leftIcon", rightIcon: "rightIcon", clearIcon: "clearIcon", leftIconClass: "leftIconClass", rightIconClass: "rightIconClass", invalid: "invalid", errorText: "errorText", successText: "successText", heightsize: "heightsize" }, outputs: { onComplete: "onComplete", onFocus: "onFocus", onBlur: "onBlur", onInput: "onInput", onKeydown: "onKeydown", onClear: "onClear" }, host: { properties: { "class.cax-inputwrapper-filled": "filled", "class.cax-inputwrapper-focus": "focused", "class.cax-inputmask-clearable": "showClear && !disabled" }, classAttribute: "cax-element" }, providers: [INPUTMASK_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"cax-input-container\"\r\n [class]=\"styleClass\"\r\n [ngClass]=\"'cax-input-size-' + heightsize\"\r\n [ngStyle]=\"style\">\r\n <label *ngIf=\"label\" class=\"cax-label\" [ngClass]=\"{'disabled-opacity': disabled}\">{{ label }}</label>\r\n\r\n <div class=\"cax-input-wrapper\"\r\n [ngClass]=\"{\r\n 'with-left-icon': leftIcon,\r\n 'with-right-icon': rightIcon,\r\n 'with-clear-icon': clearIcon && value,\r\n 'input-disabled': disabled\r\n }\"\r\n >\r\n <!-- Left Icon -->\r\n <span *ngIf=\"leftIcon\"\r\n class=\"cax-icon-container cax-icon-left\">\r\n <i [ngClass]=\"leftIconClass\"></i>\r\n </span>\r\n\r\n <input\r\n #input\r\n [class]=\"styleClass\"\r\n [ngClass]=\"{\r\n 'cax-inputtext': true,\r\n 'cax-inputmask': true,\r\n 'cax-input-invalid': invalid,\r\n 'input-disabled': disabled,\r\n 'with-left-icon': leftIcon,\r\n 'with-right-icon': rightIcon || (clearIcon && value)\r\n }\"\r\n [attr.id]=\"inputId\"\r\n [attr.type]=\"type\"\r\n [attr.name]=\"name\"\r\n [ngStyle]=\"style\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.size]=\"size\"\r\n [attr.autocomplete]=\"autocomplete\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledBy]=\"ariaLabelledBy\"\r\n [attr.aria-required]=\"ariaRequired\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [attr.required]=\"required\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n (keydown)=\"onInputKeydown($event)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n (input)=\"onInputChange($event)\"\r\n (paste)=\"handleInputChange($event)\"\r\n [attr.data-pc-name]=\"'inputmask'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [attr.aria-describedby]=\"successText || invalid ? 'helper-text' : null\"\r\n />\r\n\r\n <!-- Clear Icon (before right icon) -->\r\n <span *ngIf=\"clearIcon && value\"\r\n class=\"cax-icon-container cax-clear-icon clickable-icon\"\r\n [ngClass]=\"{'no-right-icon': !rightIcon}\"\r\n (click)=\"clear()\">\r\n <i class=\"cax cax-close-circle\"></i>\r\n</span>\r\n\r\n<!-- Right Icon -->\r\n<span *ngIf=\"rightIcon\"\r\n class=\"cax-icon-container cax-icon-right\">\r\n <i [ngClass]=\"rightIconClass\"></i>\r\n</span>\r\n</div>\r\n\r\n<!-- Error Message with conditional opacity -->\r\n<small *ngIf=\"invalid\" id=\"helper-text\" class=\"cax-error disabled-opacity\" [ngClass]=\"{'disabled-opacity': disabled}\"> {{ errorText }} </small>\r\n\r\n<!-- Helper Text with conditional opacity -->\r\n<small *ngIf=\"successText && !invalid\" id=\"helper-text\" class=\"cax-helper-text\" [ngClass]=\"{'disabled-opacity': disabled}\"> {{ successText }} </small>\r\n</div>\r\n\r\n<ng-container *ngIf=\"value != null && filled && showClear && !disabled\">\r\n <TimesIcon *ngIf=\"!clearIconTemplate\" [styleClass]=\"'cax-inputmask-clear-icon'\" (click)=\"clear()\" [attr.data-pc-section]=\"'clearIcon'\" />\r\n <span *ngIf=\"clearIconTemplate\" class=\"p-inputmask-clear-icon\" (click)=\"clear()\" [attr.data-pc-section]=\"'clearIcon'\">\r\n <ng-template *ngTemplateOutlet=\"clearIconTemplate\"></ng-template>\r\n </span>\r\n</ng-container>\r\n", styles: ["@layer cax{.cax-inputmask-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.cax-inputmask-clearable{position:relative}}\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: "component", type: i3.TimesIcon, selector: "TimesIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
728
+ }
729
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: InputMask, decorators: [{
730
+ type: Component,
731
+ args: [{ selector: 'cax-inputMask', host: {
732
+ class: 'cax-element',
733
+ '[class.cax-inputwrapper-filled]': 'filled',
734
+ '[class.cax-inputwrapper-focus]': 'focused',
735
+ '[class.cax-inputmask-clearable]': 'showClear && !disabled'
736
+ }, providers: [INPUTMASK_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"cax-input-container\"\r\n [class]=\"styleClass\"\r\n [ngClass]=\"'cax-input-size-' + heightsize\"\r\n [ngStyle]=\"style\">\r\n <label *ngIf=\"label\" class=\"cax-label\" [ngClass]=\"{'disabled-opacity': disabled}\">{{ label }}</label>\r\n\r\n <div class=\"cax-input-wrapper\"\r\n [ngClass]=\"{\r\n 'with-left-icon': leftIcon,\r\n 'with-right-icon': rightIcon,\r\n 'with-clear-icon': clearIcon && value,\r\n 'input-disabled': disabled\r\n }\"\r\n >\r\n <!-- Left Icon -->\r\n <span *ngIf=\"leftIcon\"\r\n class=\"cax-icon-container cax-icon-left\">\r\n <i [ngClass]=\"leftIconClass\"></i>\r\n </span>\r\n\r\n <input\r\n #input\r\n [class]=\"styleClass\"\r\n [ngClass]=\"{\r\n 'cax-inputtext': true,\r\n 'cax-inputmask': true,\r\n 'cax-input-invalid': invalid,\r\n 'input-disabled': disabled,\r\n 'with-left-icon': leftIcon,\r\n 'with-right-icon': rightIcon || (clearIcon && value)\r\n }\"\r\n [attr.id]=\"inputId\"\r\n [attr.type]=\"type\"\r\n [attr.name]=\"name\"\r\n [ngStyle]=\"style\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.size]=\"size\"\r\n [attr.autocomplete]=\"autocomplete\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledBy]=\"ariaLabelledBy\"\r\n [attr.aria-required]=\"ariaRequired\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [attr.required]=\"required\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n (keydown)=\"onInputKeydown($event)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n (input)=\"onInputChange($event)\"\r\n (paste)=\"handleInputChange($event)\"\r\n [attr.data-pc-name]=\"'inputmask'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [attr.aria-describedby]=\"successText || invalid ? 'helper-text' : null\"\r\n />\r\n\r\n <!-- Clear Icon (before right icon) -->\r\n <span *ngIf=\"clearIcon && value\"\r\n class=\"cax-icon-container cax-clear-icon clickable-icon\"\r\n [ngClass]=\"{'no-right-icon': !rightIcon}\"\r\n (click)=\"clear()\">\r\n <i class=\"cax cax-close-circle\"></i>\r\n</span>\r\n\r\n<!-- Right Icon -->\r\n<span *ngIf=\"rightIcon\"\r\n class=\"cax-icon-container cax-icon-right\">\r\n <i [ngClass]=\"rightIconClass\"></i>\r\n</span>\r\n</div>\r\n\r\n<!-- Error Message with conditional opacity -->\r\n<small *ngIf=\"invalid\" id=\"helper-text\" class=\"cax-error disabled-opacity\" [ngClass]=\"{'disabled-opacity': disabled}\"> {{ errorText }} </small>\r\n\r\n<!-- Helper Text with conditional opacity -->\r\n<small *ngIf=\"successText && !invalid\" id=\"helper-text\" class=\"cax-helper-text\" [ngClass]=\"{'disabled-opacity': disabled}\"> {{ successText }} </small>\r\n</div>\r\n\r\n<ng-container *ngIf=\"value != null && filled && showClear && !disabled\">\r\n <TimesIcon *ngIf=\"!clearIconTemplate\" [styleClass]=\"'cax-inputmask-clear-icon'\" (click)=\"clear()\" [attr.data-pc-section]=\"'clearIcon'\" />\r\n <span *ngIf=\"clearIconTemplate\" class=\"p-inputmask-clear-icon\" (click)=\"clear()\" [attr.data-pc-section]=\"'clearIcon'\">\r\n <ng-template *ngTemplateOutlet=\"clearIconTemplate\"></ng-template>\r\n </span>\r\n</ng-container>\r\n", styles: ["@layer cax{.cax-inputmask-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.cax-inputmask-clearable{position:relative}}\n"] }]
737
+ }], ctorParameters: () => [{ type: Document, decorators: [{
738
+ type: Inject,
739
+ args: [DOCUMENT]
740
+ }] }, { type: undefined, decorators: [{
741
+ type: Inject,
742
+ args: [PLATFORM_ID]
743
+ }] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.caxConfig }], propDecorators: { type: [{
744
+ type: Input
745
+ }], slotChar: [{
746
+ type: Input
747
+ }], autoClear: [{
748
+ type: Input,
749
+ args: [{ transform: booleanAttribute }]
750
+ }], showClear: [{
751
+ type: Input,
752
+ args: [{ transform: booleanAttribute }]
753
+ }], style: [{
754
+ type: Input
755
+ }], inputId: [{
756
+ type: Input
757
+ }], styleClass: [{
758
+ type: Input
759
+ }], placeholder: [{
760
+ type: Input
761
+ }], size: [{
762
+ type: Input,
763
+ args: [{ transform: numberAttribute }]
764
+ }], maxlength: [{
765
+ type: Input,
766
+ args: [{ transform: numberAttribute }]
767
+ }], tabindex: [{
768
+ type: Input
769
+ }], title: [{
770
+ type: Input
771
+ }], variant: [{
772
+ type: Input
773
+ }], ariaLabel: [{
774
+ type: Input
775
+ }], ariaLabelledBy: [{
776
+ type: Input
777
+ }], ariaRequired: [{
778
+ type: Input,
779
+ args: [{ transform: booleanAttribute }]
780
+ }], disabled: [{
781
+ type: Input,
782
+ args: [{ transform: booleanAttribute }]
783
+ }], readonly: [{
784
+ type: Input,
785
+ args: [{ transform: booleanAttribute }]
786
+ }], unmask: [{
787
+ type: Input,
788
+ args: [{ transform: booleanAttribute }]
789
+ }], name: [{
790
+ type: Input
791
+ }], required: [{
792
+ type: Input,
793
+ args: [{ transform: booleanAttribute }]
794
+ }], characterPattern: [{
795
+ type: Input
796
+ }], autofocus: [{
797
+ type: Input,
798
+ args: [{ transform: booleanAttribute }]
799
+ }], autoFocus: [{
800
+ type: Input,
801
+ args: [{ transform: booleanAttribute }]
802
+ }], autocomplete: [{
803
+ type: Input
804
+ }], keepBuffer: [{
805
+ type: Input,
806
+ args: [{ transform: booleanAttribute }]
807
+ }], mask: [{
808
+ type: Input
809
+ }], onComplete: [{
810
+ type: Output
811
+ }], onFocus: [{
812
+ type: Output
813
+ }], onBlur: [{
814
+ type: Output
815
+ }], onInput: [{
816
+ type: Output
817
+ }], onKeydown: [{
818
+ type: Output
819
+ }], onClear: [{
820
+ type: Output
821
+ }], inputViewChild: [{
822
+ type: ViewChild,
823
+ args: ['input', { static: true }]
824
+ }], templates: [{
825
+ type: ContentChildren,
826
+ args: [CaxTemplate]
827
+ }], label: [{
828
+ type: Input
829
+ }], leftIcon: [{
830
+ type: Input
831
+ }], rightIcon: [{
832
+ type: Input
833
+ }], clearIcon: [{
834
+ type: Input
835
+ }], leftIconClass: [{
836
+ type: Input
837
+ }], rightIconClass: [{
838
+ type: Input
839
+ }], invalid: [{
840
+ type: Input
841
+ }], errorText: [{
842
+ type: Input
843
+ }], successText: [{
844
+ type: Input
845
+ }], heightsize: [{
846
+ type: Input
847
+ }] } });
848
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRtYXNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2lucHV0bWFzay9pbnB1dG1hc2sudHMiLCIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvaW5wdXRtYXNrL2lucHV0bWFzay5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQTBCRTtBQUNGLE9BQU8sRUFBZ0IsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUUsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsZUFBZSxFQUVmLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUdMLE1BQU0sRUFDTixXQUFXLEVBR1gsU0FBUyxFQUNULGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsVUFBVSxFQUNWLGVBQWUsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBYSxXQUFXLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFFN0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztBQU1uRCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBUTtJQUN6QyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDO0lBQ3hDLEtBQUssRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUNGOzs7R0FHRztBQWVILE1BQU0sT0FBTyxTQUFTO0lBd1BZO0lBQ0c7SUFDdEI7SUFDQTtJQUNBO0lBM1BYOzs7T0FHRztJQUNNLElBQUksR0FBVyxNQUFNLENBQUM7SUFDL0I7OztPQUdHO0lBQ00sUUFBUSxHQUFXLEdBQUcsQ0FBQztJQUNoQzs7O09BR0c7SUFDcUMsU0FBUyxHQUFZLElBQUks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Szt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFRN0IsWUFBWTtzQkFBcEIsS0FBSztnQkFLa0MsVUFBVTtzQkFBakQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFLekIsSUFBSTtzQkFBaEIsS0FBSztnQkFjSSxVQUFVO3NCQUFuQixNQUFNO2dCQU1HLE9BQU87c0JBQWhCLE1BQU07Z0JBTUcsTUFBTTtzQkFBZixNQUFNO2dCQU1HLE9BQU87c0JBQWhCLE1BQU07Z0JBTUcsU0FBUztzQkFBbEIsTUFBTTtnQkFLRyxPQUFPO3NCQUFoQixNQUFNO2dCQUUrQixjQUFjO3NCQUFuRCxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRU4sU0FBUztzQkFBdEMsZUFBZTt1QkFBQyxXQUFXO2dCQTRDbkIsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICAgIFBvcnQgb2YgalF1ZXJ5IE1hc2tlZElucHV0IGJ5IERpZ2l0YWxCdXNoIGFzIGEgTmF0aXZlIEFuZ3VsYXIyIENvbXBvbmVudCBpbiBUeXBlc2NyaXB0IHdpdGhvdXQgalF1ZXJ5XG4gICAgaHR0cHM6Ly9naXRodWIuY29tL2RpZ2l0YWxCdXNoL2pxdWVyeS5tYXNrZWRpbnB1dC9cblxuICAgIENvcHlyaWdodCAoYykgMjAwNy0yMDE0IEpvc2ggQnVzaCAoZGlnaXRhbGJ1c2guY29tKVxuXG4gICAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb25cbiAgICBvYnRhaW5pbmcgYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvblxuICAgIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dFxuICAgIHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLFxuICAgIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gICAgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4gICAgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmdcbiAgICBjb25kaXRpb25zOlxuXG4gICAgVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmVcbiAgICBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuICAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsXG4gICAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTXG4gICAgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkRcbiAgICBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVFxuICAgIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLFxuICAgIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuICAgIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1JcbiAgICBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG4qL1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBET0NVTUVOVCwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ01vZHVsZSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFBMQVRGT1JNX0lELFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBmb3J3YXJkUmVmLFxuICAgIG51bWJlckF0dHJpYnV0ZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNheENvbmZpZywgQ2F4VGVtcGxhdGUsIFNoYXJlZE1vZHVsZSB9IGZyb20gJ2NheC1kZXNpZ24tc3lzdGVtL2FwaSc7XG5pbXBvcnQgeyBBdXRvRm9jdXNNb2R1bGUgfSBmcm9tICdjYXgtZGVzaWduLXN5c3RlbS9hdXRvZm9jdXMnO1xuaW1wb3J0IHsgRG9tSGFuZGxlciB9IGZyb20gJ2NheC1kZXNpZ24tc3lzdGVtL2RvbSc7XG5pbXBvcnQgeyBUaW1lc0ljb24gfSBmcm9tICdjYXgtZGVzaWduLXN5c3RlbS9pY29ucy90aW1lcyc7XG5pbXBvcnQgeyBJbnB1dFRleHRNb2R1bGUgfSBmcm9tICdjYXgtZGVzaWduLXN5c3RlbS9pbnB1dHRleHQnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdjYXgtZGVzaWduLXN5c3RlbS90cy1oZWxwZXJzJztcbmltcG9ydCB7IENhcmV0IH0gZnJvbSAnLi9pbnB1dG1hc2suaW50ZXJmYWNlJztcblxuZXhwb3J0IGNvbnN0IElOUFVUTUFTS19WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElucHV0TWFzayksXG4gICAgbXVsdGk6IHRydWVcbn07XG4vKipcbiAqIElucHV0TWFzayBjb21wb25lbnQgaXMgdXNlZCB0byBlbnRlciBpbnB1dCBpbiBhIGNlcnRhaW4gZm9ybWF0IHN1Y2ggYXMgbnVtZXJpYywgZGF0ZSwgY3VycmVuY3ksIGVtYWlsIGFuZCBwaG9uZS5cbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY2F4LWlucHV0TWFzaycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0bWFzay5odG1sJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnY2F4LWVsZW1lbnQnLFxuICAgICAgICAnW2NsYXNzLmNheC1pbnB1dHdyYXBwZXItZmlsbGVkXSc6ICdmaWxsZWQnLFxuICAgICAgICAnW2NsYXNzLmNheC1pbnB1dHdyYXBwZXItZm9jdXNdJzogJ2ZvY3VzZWQnLFxuICAgICAgICAnW2NsYXNzLmNheC1pbnB1dG1hc2stY2xlYXJhYmxlXSc6ICdzaG93Q2xlYXIgJiYgIWRpc2FibGVkJ1xuICAgIH0sXG4gICAgcHJvdmlkZXJzOiBbSU5QVVRNQVNLX1ZBTFVFX0FDQ0VTU09SXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0bWFzay5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRNYXNrIGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgLyoqXG4gICAgICogSFRNTDUgaW5wdXQgdHlwZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0eXBlOiBzdHJpbmcgPSAndGV4dCc7XG4gICAgLyoqXG4gICAgICogUGxhY2Vob2xkZXIgY2hhcmFjdGVyIGluIG1hc2ssIGRlZmF1bHQgaXMgdW5kZXJzY29yZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzbG90Q2hhcjogc3RyaW5nID0gJ18nO1xuICAgIC8qKlxuICAgICAqIENsZWFycyB0aGUgaW5jb21wbGV0ZSB2YWx1ZSBvbiBibHVyLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBhdXRvQ2xlYXI6IGJvb2xlYW4gPSB0cnVlO1xuICAgIC8qKlxuICAgICAqIFdoZW4gZW5hYmxlZCwgYSBjbGVhciBpY29uIGlzIGRpc3BsYXllZCB0byBjbGVhciB0aGUgdmFsdWUuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dDbGVhcjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIElubGluZSBzdHlsZSBvZiB0aGUgaW5wdXQgZmllbGQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc3R5bGU6IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfSB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogSWRlbnRpZmllciBvZiB0aGUgZm9jdXMgaW5wdXQgdG8gbWF0Y2ggYSBsYWJlbCBkZWZpbmVkIGZvciB0aGUgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGlucHV0SWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBTdHlsZSBjbGFzcyBvZiB0aGUgaW5wdXQgZmllbGQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc3R5bGVDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIEFkdmlzb3J5IGluZm9ybWF0aW9uIHRvIGRpc3BsYXkgb24gaW5wdXQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBTaXplIG9mIHRoZSBpbnB1dCBmaWVsZC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSBzaXplOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogTWF4aW11bSBudW1iZXIgb2YgY2hhcmFjdGVyIGFsbG93cyBpbiB0aGUgaW5wdXQgZmllbGQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgbWF4bGVuZ3RoOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogU3BlY2lmaWVzIHRhYiBvcmRlciBvZiB0aGUgZWxlbWVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0YWJpbmRleDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFRpdGxlIHRleHQgb2YgdGhlIGlucHV0IHRleHQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgdGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBTcGVjaWZpZXMgdGhlIGlucHV0IHZhcmlhbnQgb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSB2YXJpYW50OiAnZmlsbGVkJyB8ICdvdXRsaW5lZCcgPSAnb3V0bGluZWQnO1xuICAgIC8qKlxuICAgICAqIFVzZWQgdG8gZGVmaW5lIGEgc3RyaW5nIHRoYXQgbGFiZWxzIHRoZSBpbnB1dCBlbGVtZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGFyaWFMYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIEVzdGFibGlzaGVzIHJlbGF0aW9uc2hpcHMgYmV0d2VlbiB0aGUgY29tcG9uZW50IGFuZCBsYWJlbChzKSB3aGVyZSBpdHMgdmFsdWUgc2hvdWxkIGJlIG9uZSBvciBtb3JlIGVsZW1lbnQgSURzLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGFyaWFMYWJlbGxlZEJ5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogVXNlZCB0byBpbmRpY2F0ZSB0aGF0IHVzZXIgaW5wdXQgaXMgcmVxdWlyZWQgb24gYW4gZWxlbWVudCBiZWZvcmUgYSBmb3JtIGNhbiBiZSBzdWJtaXR0ZWQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGFyaWFSZXF1aXJlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBXaGVuIHByZXNlbnQsIGl0IHNwZWNpZmllcyB0aGF0IHRoZSBlbGVtZW50IHZhbHVlIGNhbm5vdCBiZSBhbHRlcmVkLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBXaGVuIHByZXNlbnQsIGl0IHNwZWNpZmllcyB0aGF0IGFuIGlucHV0IGZpZWxkIGlzIHJlYWQtb25seS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcmVhZG9ubHk6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogRGVmaW5lcyBpZiBuZ01vZGVsIHNldHMgdGhlIHJhdyB1bm1hc2tlZCB2YWx1ZSB0byBib3VuZCB2YWx1ZSBvciB0aGUgZm9ybWF0dGVkIG1hc2sgdmFsdWUuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHVubWFzazogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBpbnB1dCBmaWVsZC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBuYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hlbiBwcmVzZW50LCBpdCBzcGVjaWZpZXMgdGhhdCBhbiBpbnB1dCBmaWVsZCBtdXN0IGJlIGZpbGxlZCBvdXQgYmVmb3JlIHN1Ym1pdHRpbmcgdGhlIGZvcm0uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHJlcXVpcmVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFJlZ2V4IHBhdHRlcm4gZm9yIGFscGhhIGNoYXJhY3RlcnNcbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBjaGFyYWN0ZXJQYXR0ZXJuOiBzdHJpbmcgPSAnW0EtWmEtel0nO1xuICAgIC8qKlxuICAgICAqIFdoZW4gcHJlc2VudCwgdGhlIGlucHV0IGdldHMgYSBmb2N1cyBhdXRvbWF0aWNhbGx5IG9uIGxvYWQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGF1dG9mb2N1czogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBXaGVuIHByZXNlbnQsIHRoZSBpbnB1dCBnZXRzIGEgZm9jdXMgYXV0b21hdGljYWxseSBvbiBsb2FkLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqIEBkZXByZWNhdGVkIFVzZSBhdXRvZm9jdXMgcHJvcGVydHkgaW5zdGVhZC5cbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2V0IGF1dG9Gb2N1cyh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLmF1dG9mb2N1cyA9IHZhbHVlO1xuICAgICAgICBjb25zb2xlLndhcm4oJ2F1dG9Gb2N1cyBpcyBkZXByZWNhdGVkLiBVc2UgYXV0b2ZvY3VzIHByb3BlcnR5IGluc3RlYWQuJyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFVzZWQgdG8gZGVmaW5lIGEgc3RyaW5nIHRoYXQgYXV0b2NvbXBsZXRlIGF0dHJpYnV0ZSB0aGUgY3VycmVudCBlbGVtZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGF1dG9jb21wbGV0ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFdoZW4gcHJlc2VudCwgaXQgc3BlY2lmaWVzIHRoYXQgd2hldGhlciB0byBjbGVhbiBidWZmZXIgdmFsdWUgZnJvbSBtb2RlbC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkga2VlcEJ1ZmZlcjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIE1hc2sgcGF0dGVybi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBnZXQgbWFzaygpOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21hc2s7XG4gICAgfVxuICAgIHNldCBtYXNrKHZhbDogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCkge1xuICAgICAgICB0aGlzLl9tYXNrID0gdmFsO1xuXG4gICAgICAgIHRoaXMuaW5pdE1hc2soKTtcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKCcnKTtcbiAgICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiB0aGUgbWFzayBpcyBjb21wbGV0ZWQuXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uQ29tcGxldGU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gdGhlIGNvbXBvbmVudCByZWNlaXZlcyBmb2N1cy5cbiAgICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudCAtIEJyb3dzZXIgZXZlbnQuXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uRm9jdXM6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIHRoZSBjb21wb25lbnQgbG9zZXMgZm9jdXMuXG4gICAgICogQHBhcmFtIHtFdmVudH0gZXZlbnQgLSBCcm93c2VyIGV2ZW50LlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbkJsdXI6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSBvbiBpbnB1dC5cbiAgICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudCAtIEJyb3dzZXIgZXZlbnQuXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uSW5wdXQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSBvbiBpbnB1dCBrZXkgcHJlc3MuXG4gICAgICogQHBhcmFtIHtFdmVudH0gZXZlbnQgLSBCcm93c2VyIGV2ZW50LlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbktleWRvd246IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIGlucHV0IGZpZWxkIGlzIGNsZWFyZWQuXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uQ2xlYXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pIGlucHV0Vmlld0NoaWxkOiBOdWxsYWJsZTxFbGVtZW50UmVmPjtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oQ2F4VGVtcGxhdGUpIHRlbXBsYXRlcyE6IFF1ZXJ5TGlzdDxDYXhUZW1wbGF0ZT47XG5cbiAgICBjbGVhckljb25UZW1wbGF0ZTogTnVsbGFibGU8VGVtcGxhdGVSZWY8YW55Pj47XG5cbiAgICB2YWx1ZTogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIF9tYXNrOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgb25Nb2RlbENoYW5nZTogRnVuY3Rpb24gPSAoKSA9PiB7fTtcblxuICAgIG9uTW9kZWxUb3VjaGVkOiBGdW5jdGlvbiA9ICgpID0+IHt9O1xuXG4gICAgaW5wdXQ6IE51bGxhYmxlPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgZmlsbGVkOiBOdWxsYWJsZTxib29sZWFuPjtcblxuICAgIGRlZnM6IE51bGxhYmxlPHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfT47XG5cbiAgICB0ZXN0czogUmVnRXhwW10gfCBhbnk7XG5cbiAgICBwYXJ0aWFsUG9zaXRpb246IE51bGxhYmxlPG51bWJlcj47XG5cbiAgICBmaXJzdE5vbk1hc2tQb3M6IE51bGxhYmxlPG51bWJlcj47XG5cbiAgICBsYXN0UmVxdWlyZWROb25NYXNrUG9zOiBOdWxsYWJsZTxudW1iZXI+O1xuXG4gICAgbGVuOiBOdWxsYWJsZTxudW1iZXI+O1xuXG4gICAgb2xkVmFsOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgYnVmZmVyOiBzdHJpbmdbXSB8IGFueTtcblxuICAgIGRlZmF1bHRCdWZmZXI6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICBmb2N1c1RleHQ6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICBjYXJldFRpbWVvdXRJZDogYW55O1xuXG4gICAgYW5kcm9pZENocm9tZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBmb2N1c2VkOiBOdWxsYWJsZTxib29sZWFuPjtcblxuICAgIF92YXJpYW50OiAnZmlsbGVkJyB8ICdvdXRsaW5lZCcgPSAnb3V0bGluZWQnO1xuXG4gICAgQElucHV0KCkgbGFiZWw/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgbGVmdEljb24/OiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcmlnaHRJY29uPzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGNsZWFySWNvbjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGxlZnRJY29uQ2xhc3M6IHN0cmluZyA9ICcnO1xuICAgIEBJbnB1dCgpIHJpZ2h0SWNvbkNsYXNzOiBzdHJpbmcgPSAnJztcbiAgICBASW5wdXQoKSBpbnZhbGlkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgZXJyb3JUZXh0Pzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHN1Y2Nlc3NUZXh0Pzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGhlaWdodHNpemU6ICdzbScgfCAnbWQnIHwgJ2xnJyA9ICdtZCc7XG5cbiAgICBnZXQgaW5wdXRDbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICdjYXgtaW5wdXRtYXNrJzogdHJ1ZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBhbnksXG4gICAgICAgIHB1YmxpYyBlbDogRWxlbWVudFJlZixcbiAgICAgICAgcHVibGljIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHVibGljIGNvbmZpZzogY2F4Q29uZmlnXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICBsZXQgdWEgPSBuYXZpZ2F0b3IudXNlckFnZW50O1xuICAgICAgICAgICAgdGhpcy5hbmRyb2lkQ2hyb21lID0gL2Nocm9tZS9pLnRlc3QodWEpICYmIC9hbmRyb2lkL2kudGVzdCh1YSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmluaXRNYXNrKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLnRlbXBsYXRlcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKGl0ZW0uZ2V0VHlwZSgpKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnY2xlYXJpY29uJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGVhckljb25UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpbml0TWFzaygpIHtcbiAgICAgICAgdGhpcy50ZXN0cyA9IFtdO1xuICAgICAgICB0aGlzLnBhcnRpYWxQb3NpdGlvbiA9ICh0aGlzLm1hc2sgYXMgc3RyaW5nKS5sZW5ndGg7XG4gICAgICAgIHRoaXMubGVuID0gKHRoaXMubWFzayBhcyBzdHJpbmcpLmxlbmd0aDtcbiAgICAgICAgdGhpcy5maXJzdE5vbk1hc2tQb3MgPSBudWxsO1xuICAgICAgICB0aGlzLmRlZnMgPSB7XG4gICAgICAgICAgICAnOSc6ICdbMC05XScsXG4gICAgICAgICAgICBhOiB0aGlzLmNoYXJhY3RlclBhdHRlcm4sXG4gICAgICAgICAgICAnKic6IGAke3RoaXMuY2hhcmFjdGVyUGF0dGVybn18WzAtOV1gXG4gICAgICAgIH07XG5cbiAgICAgICAgbGV0IG1hc2tUb2tlbnMgPSAodGhpcy5tYXNrIGFzIHN0cmluZykuc3BsaXQoJycpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1hc2tUb2tlbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGxldCBjID0gbWFza1Rva2Vuc1tpXTtcbiAgICAgICAgICAgIGlmIChjID09ICc/Jykge1xuICAgICAgICAgICAgICAgIHRoaXMubGVuLS07XG4gICAgICAgICAgICAgICAgdGhpcy5wYXJ0aWFsUG9zaXRpb24gPSBpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmRlZnNbY10pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRlc3RzLnB1c2gobmV3IFJlZ0V4cCh0aGlzLmRlZnNbY10pKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5maXJzdE5vbk1hc2tQb3MgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maXJzdE5vbk1hc2tQb3MgPSB0aGlzLnRlc3RzLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpIDwgdGhpcy5wYXJ0aWFsUG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXN0UmVxdWlyZWROb25NYXNrUG9zID0gdGhpcy50ZXN0cy5sZW5ndGggLSAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy50ZXN0cy5wdXNoKG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5idWZmZXIgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXNrVG9rZW5zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgYyA9IG1hc2tUb2tlbnNbaV07XG4gICAgICAgICAgICBpZiAoYyAhPSAnPycpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kZWZzW2NdKSB0aGlzLmJ1ZmZlci5wdXNoKHRoaXMuZ2V0UGxhY2Vob2xkZXIoaSkpO1xuICAgICAgICAgICAgICAgIGVsc2UgdGhpcy5idWZmZXIucHVzaChjKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRlZmF1bHRCdWZmZXIgPSB0aGlzLmJ1ZmZlci5qb2luKCcnKTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuXG4gICAgICAgIGlmICh0aGlzLmlucHV0Vmlld0NoaWxkICYmIHRoaXMuaW5wdXRWaWV3Q2hpbGQubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgaWYgKHRoaXMudmFsdWUgPT0gdW5kZWZpbmVkIHx8IHRoaXMudmFsdWUgPT0gbnVsbCkgdGhpcy5pbnB1dFZpZXdDaGlsZC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICAgICAgICBlbHNlIHRoaXMuaW5wdXRWaWV3Q2hpbGQubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMudmFsdWU7XG5cbiAgICAgICAgICAgIHRoaXMuY2hlY2tWYWwoKTtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNUZXh0ID0gdGhpcy5pbnB1dFZpZXdDaGlsZC5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVGaWxsZWRTdGF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogRnVuY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IEZ1bmN0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Nb2RlbFRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKHZhbDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gdmFsO1xuICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIGNhcmV0KGZpcnN0PzogbnVtYmVyLCBsYXN0PzogbnVtYmVyKTogQ2FyZXQgfCB1bmRlZmluZWQge1xuICAgICAgICBsZXQgcmFuZ2UsIGJlZ2luLCBlbmQ7XG5cbiAgICAgICAgaWYgKCF0aGlzLmlucHV0Vmlld0NoaWxkPy5uYXRpdmVFbGVtZW50Lm9mZnNldFBhcmVudCB8fCB0aGlzLmlucHV0Vmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQgIT09IHRoaXMuaW5wdXRWaWV3Q2hpbGQubmF0aXZlRWxlbWVudC5vd25lckRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgZmlyc3QgPT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIGJlZ2luID0gZmlyc3Q7XG4gICAgICAgICAgICBlbmQgPSB0eXBlb2YgbGFzdCA9PT0gJ251bWJlcicgPyBsYXN0IDogYmVnaW47XG4gICAgICAgICAgICBpZiAodGhpcy5pbnB1dFZpZXdDaGlsZC5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dFZpZXdDaGlsZC5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKGJlZ2luLCBlbmQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlucHV0Vmlld0NoaWxkLm5hdGl2ZUVsZW1lbnRbJ2NyZWF0ZVRleHRSYW5nZSddKSB7XG4gICAgICAgICAgICAgICAgcmFuZ2UgPSB0aGlzLmlucHV0Vmlld0NoaWxkLm5hdGl2ZUVsZW1lbnRbJ2NyZWF0ZVRleHRSYW5nZSddKCk7XG4gICAgICAgICAgICAgICAgcmFuZ2UuY29sbGFwc2UodHJ1ZSk7XG4gICAgICAgICAgICAgICAgcmFuZ2UubW92ZUVuZCgnY2hhcmFjdGVyJywgZW5kKTtcbiAgICAgICAgICAgICAgICByYW5nZS5tb3ZlU3RhcnQoJ2NoYXJhY3RlcicsIGJlZ2luKTtcbiAgICAgICAgICAgICAgICByYW5nZS5zZWxlY3QoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlucHV0Vmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UpIHtcbiAgICAgICAgICAgICAgICBiZWdpbiA9IHRoaXMuaW5wdXRWaWV3Q2hpbGQubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydDtcbiAgICAgICAgICAgICAgICBlbmQgPSB0aGlzLmlucHV0Vmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uRW5kO1xuICAgICAgICAgICAgfSBlbHNlIGlmICgodGhpcy5kb2N1bWVudCBhcyBhbnlbJ3NlbGVjdGlvbiddKSAmJiAodGhpcy5kb2N1bWVudCBhcyBhbnkpWydzZWxlY3Rpb24nXS5jcmVhdGVSYW5nZSkge1xuICAgICAgICAgICAgICAgIHJhbmdlID0gKHRoaXMuZG9jdW1lbnQgYXMgYW55WydzZWxlY3Rpb24nXSkuY3JlYXRlUmFuZ2UoKTtcbiAgICAgICAgICAgICAgICBiZWdpbiA9IDAgLSByYW5nZS5kdXBsaWNhdGUoKS5tb3ZlU3RhcnQoJ2NoYXJhY3RlcicsIC0xMDAwMDApO1xuICAgICAgICAgICAgICAgIGVuZCA9IGJlZ2luICsgcmFuZ2UudGV4dC5sZW5ndGg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB7IGJlZ2luOiBiZWdpbiwgZW5kOiBlbmQgfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzQ29tcGxldGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgY29tcGxldGVkOiBib29sZWFuO1xuICAgICAgICBmb3IgKGxldCBpID0gdGhpcy5maXJzdE5vbk1hc2tQb3MgYXMgbnVtYmVyOyBpIDw9ICh0aGlzLmxhc3RSZXF1aXJlZE5vbk1hc2tQb3MgYXMgbnVtYmVyKTsgaSsrKSB7XG4gICAgICAgICAgICBpZiAodGhpcy50ZXN0c1tpXSAmJiAodGhpcy5idWZmZXIgYXMgc3RyaW5nW10pW2ldID09PSB0aGlzLmdldFBsYWNlaG9sZGVyKGkpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgZ2V0UGxhY2Vob2xkZXIoaTogbnVtYmVyKSB7XG4gICAgICAgIGlmIChpIDwgdGhpcy5zbG90Q2hhci5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNsb3RDaGFyLmNoYXJBdChpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5zbG90Q2hhci5jaGFyQXQoMCk7XG4gICAgfVxuXG4gICAgc2Vla05leHQocG9zOiBudW1iZXIpIHtcbiAgICAgICAgd2hpbGUgKCsrcG9zIDwgKHRoaXMubGVuIGFzIG51bWJlcikgJiYgIXRoaXMudGVzdHNbcG9zXSk7XG4gICAgICAgIHJldHVybiBwb3M7XG4gICAgfVxuXG4gICAgc2Vla1ByZXYocG9zOiBudW1iZXIpIHtcbiAgICAgICAgd2hpbGUgKC0tcG9zID49IDAgJiYgIXRoaXMudGVzdHNbcG9zXSk7XG4gICAgICAgIHJldHVybiBwb3M7XG4gICAgfVxuXG4gICAgc2hpZnRMKGJlZ2luOiBudW1iZXIsIGVuZDogbnVtYmVyKSB7XG4gICAgICAgIGxldCBpLCBqO1xuXG4gICAgICAgIGlmIChiZWdpbiA8IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoaSA9IGJlZ2luLCBqID0gdGhpcy5zZWVrTmV4dChlbmQpOyBpIDwgKHRoaXMubGVuIGFzIG51bWJlcik7IGkrKykge1xuICAgICAgICAgICAgaWYgKHRoaXMudGVzdHNbaV0pIHtcbiAgICAgICAgICAgICAgICBpZiAoaiA8ICh0aGlzLmxlbiBhcyBudW1iZXIpICYmIHRoaXMudGVzdHNbaV0udGVzdCh0aGlzLmJ1ZmZlcltqXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5idWZmZXJbaV0gPSB0aGlzLmJ1ZmZlcltqXTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5idWZmZXJbal0gPSB0aGlzLmdldFBsYWNlaG9sZGVyKGopO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGogPSB0aGlzLnNlZWtOZXh0KGopO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMud3JpdGVCdWZmZXIoKTtcbiAgICAgICAgdGhpcy5jYXJldChNYXRoLm1heCh0aGlzLmZpcnN0Tm9uTWFza1BvcyBhcyBudW1iZXIsIGJlZ2luKSk7XG4gICAgfVxuXG4gICAgc2hpZnRSKHBvczogbnVtYmVyKSB7XG4gICAgICAgIGxldCBpLCBjLCBqLCB0O1xuXG4gICAgICAgIGZvciAoaSA9IHBvcywgYyA9IHRoaXMuZ2V0UGxhY2Vob2xkZXIocG9zKTsgaSA8ICh0aGlzLmxlbiBhcyBudW1iZXIpOyBpKyspIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRlc3RzW2ldKSB7XG4gICAgICAgICAgICAgICAgaiA9IHRoaXMuc2Vla05leHQoaSk7XG4gICAgICAgICAgICAgICAgdCA9IHRoaXMuYnVmZmVyW2ldO1xuICAgICAgICAgICAgICAgIHRoaXMuYnVmZmVyW2ldID0gYztcbiAgICAgICAgICAgICAgICBpZiAoaiA8ICh0aGlzLmxlbiBhcyBudW1iZXIpICYmIHRoaXMudGVzdHNbal0udGVzdCh0KSkge1xuICAgICAgICAgICAgICAgICAgICBjID0gdDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVBbmRyb2lkSW5wdXQoZTogRXZlbnQpIHtcbiAgICAgICAgdmFyIGN1clZhbCA9IHRoaXMuaW5wdXRWaWV3Q2hpbGQ/Lm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gICAgICAgIHZhciBwb3MgPSB0aGlzLmNhcmV0KCkgYXMgQ2FyZXQ7XG4gICAgICAgIGlmICh0aGlzLm9sZFZhbCAmJiB0aGlzLm9sZFZhbC5sZW5ndGggJiYgdGhpcy5vbGRWYWwubGVuZ3RoID4gY3VyVmFsLmxlbmd0aCkge1xuICAgICAgICAgICAgLy8gYSBkZWxldGlvbiBvciBiYWNrc3BhY2UgaGFwcGVuZWRcbiAgICAgICAgICAgIHRoaXMuY2hlY2tWYWwodHJ1ZSk7XG4gICAgICAgICAgICB3aGlsZSAocG9zLmJlZ2luID4gMCAmJiAhdGhpcy50ZXN0c1twb3MuYmVnaW4gLSAxXSkgcG9zLmJlZ2luLS07XG4gICAgICAgICAgICBpZiAocG9zLmJlZ2luID09PSAwKSB7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHBvcy5iZWdpbiA8ICh0aGlzLmZpcnN0Tm9uTWFza1BvcyBhcyBudW1iZXIpICYmICF0aGlzLnRlc3RzW3Bvcy5iZWdpbl0pIHBvcy5iZWdpbisrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhcmV0KHBvcy5iZWdpbiwgcG9zLmJlZ2luKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZU1vZGVsKGUpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzQ29tcGxldGVkKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkNvbXBsZXRlLmVtaXQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tWYWwodHJ1ZSk7XG4gICAgICAgICAgICB3aGlsZSAocG9zLmJlZ2luIDwgKHRoaXMubGVuIGFzIG51bWJlcikgJiYgIXRoaXMudGVzdHNbcG9zLmJlZ2luXSkgcG9zLmJlZ2luKys7XG5cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FyZXQocG9zLmJlZ2luLCBwb3MuYmVnaW4pO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlTW9kZWwoZSk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNDb21wbGV0ZWQoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uQ29tcGxldGUuZW1pdCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25JbnB1dEJsdXIoZTogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XG4gICAgICAgIHRoaXMub25Nb2RlbFRvdWNoZWQoKTtcbiAgICAgICAgaWYgKCF0aGlzLmtlZXBCdWZmZXIpIHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tWYWwoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVwZGF0ZUZpbGxlZFN0YXRlKCk7XG4gICAgICAgIHRoaXMub25CbHVyLmVtaXQoZSk7XG5cbiAgICAgICAgaWYgKHRoaXMuaW5wdXRWaWV3Q2hpbGQ/Lm5hdGl2ZUVsZW1lbnQudmFsdWUgIT0gdGhpcy5mb2N1c1RleHQgfHwgdGhpcy5pbnB1dFZpZXdDaGlsZD8ubmF0aXZlRWxlbWVudC52YWx1ZSAhPSB0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU1vZGVsKGUpO1xuICAgICAgICAgICAgbGV0IGV2ZW50ID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFdmVudCgnSFRNTEV2ZW50cycpO1xuICAgICAgICAgICAgZXZlbnQuaW5pdEV2ZW50KCdjaGFuZ2UnLCB0cnVlLCBmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLmlucHV0Vmlld0NoaWxkPy5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25JbnB1dEtleWRvd24oZTogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5yZWFkb25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGsgPSBlLndoaWNoIHx8IGUua2V5Q29kZSxcbiAgICAgICAgICAgIHBvcyxcbiAgICAgICAgICAgIGJlZ2luLFxuICAgICAgICAgICAgZW5kO1xuICAgICAgICBsZXQgaVBob25lO1xuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgaVBob25lID0gL2lwaG9uZS9pLnRlc3QoRG9tSGFuZGxlci5nZXRVc2VyQWdlbnQoKSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vbGRWYWwgPSB0aGlzLmlucHV0Vmlld0NoaWxkPy5uYXRpdmVFbGVtZW50LnZhbHVlO1xuXG4gICAgICAgIHRoaXMub25LZXlkb3duLmVtaXQoZSk7XG5cbiAgICAgICAgLy9iYWNrc3BhY2UsIGRlbGV0ZSwgYW5kIGVzY2FwZSBnZXQgc3BlY2lhbCB0cmVhdG1lbnRcbiAgICAgICAgaWYgKGsgPT09IDggfHwgayA9PT0gNDYgfHwgKGlQaG9uZSAmJiBrID09PSAxMjcpKSB7XG4gICAgICAgICAgICBwb3MgPSB0aGlzLmNhcmV0KCkgYXMgQ2FyZXQ7XG4gICAgICAgICAgICBiZWdpbiA9IHBvcy5iZWdpbjtcbiAgICAgICAgICAgIGVuZCA9IHBvcy5lbmQ7XG5cbiAgICAgICAgICAgIGlmIChlbmQgLSBiZWdpbiA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGJlZ2luID0gayAhPT0gNDYgPyB0aGlzLnNlZWtQcmV2KGJlZ2luKSA6IChlbmQgPSB0aGlzLnNlZWtOZXh0KGJlZ2luIC0gMSkpO1xuICAgICAgICAgICAgICAgIGVuZCA9IGsgPT09IDQ2ID8gdGhpcy5zZWVrTmV4dChlbmQpIDogZW5kO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmNsZWFyQnVmZmVyKGJlZ2luLCBlbmQpO1xuICAgICAgICAgICAgaWYgKHRoaXMua2VlcEJ1ZmZlcikge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hpZnRMKGJlZ2luLCBlbmQgLSAyKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaGlmdEwoYmVnaW4sIGVuZCAtIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy51cGRhdGVNb2RlbChlKTtcbiAgICAgICAgICAgIHRoaXMub25JbnB1dC5lbWl0KGUpO1xuXG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAoayA9PT0gMTMpIHtcbiAgICAgICAgICAgIC8vIGVudGVyXG4gICAgICAgICAgICB0aGlzLm9uSW5wdXRCbHVyKGUpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVNb2RlbChlKTtcbiAgICAgICAgfSBlbHNlIGlmIChrID09PSAyNykge1xuICAgICAgICAgICAgLy8gZXNjYXBlXG4gICAgICAgICAgICAodGhpcy5pbnB1dFZpZXdDaGlsZCBhcyBFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5mb2N1c1RleHQ7XG4gICAgICAgICAgICB0aGlzLmNhcmV0KDAsIHRoaXMuY2hlY2tWYWwoKSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU1vZGVsKGUpO1xuXG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbktleVByZXNzKGU6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZG9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBrID0gZS53aGljaCB8fCBlLmtleUNvZGUsXG4gICAgICAgICAgICBwb3MgPSB0aGlzLmNhcmV0KCkgYXMgQ2FyZXQsXG4gICAgICAgICAgICBwOiBudW1iZXIsXG4gICAgICAgICAgICBjOiBzdHJpbmcsXG4gICAgICAgICAgICBuZXh0OiBudW1iZXIsXG4gICAgICAgICAgICBjb21wbGV0ZWQhOiBib29sZWFuO1xuXG4gICAgICAgIGlmIChlLmN0cmxLZXkgfHwgZS5hbHRLZXkgfHwgZS5tZXRhS2V5IHx8IGsgPCAzMiB8fCAoayA+IDM0ICYmIGsgPCA0MSkpIHtcbiAgICAgICAgICAgIC8vSWdub3JlXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSBpZiAoayAmJiBrICE9PSAxMykge1xuICAgICAgICAgICAgaWYgKHBvcy5lbmQgLSBwb3MuYmVnaW4gIT09IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsZWFyQnVmZmVyKHBvcy5iZWdpbiwgcG9zLmVuZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zaGlmdEwocG9zLmJlZ2luLCBwb3MuZW5kIC0gMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAgPSB0aGlzLnNlZWtOZXh0KHBvcy5iZWdpbiAtIDEpO1xuICAgICAgICAgICAgaWYgKHAgPCAodGhpcy5sZW4gYXMgbnVtYmVyKSkge1xuICAgICAgICAgICAgICAgIGMgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGspO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRlc3RzW3BdLnRlc3QoYykpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaGlmdFIocCk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5idWZmZXJbcF0gPSBjO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlQnVmZmVyKCk7XG4gICAgICAgICAgICAgICAgICAgIG5leHQgPSB0aGlzLnNlZWtOZXh0KHApO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChEb21IYW5kbGVyLmlzQ2xpZW50KCkgJiYgL2FuZHJvaWQvaS50ZXN0KERvbUhhbmRsZXIuZ2V0VXNlckFnZW50KCkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgcHJveHkgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jYXJldChuZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQocHJveHksIDApO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jYXJldChuZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChwb3MuYmVnaW4gPD0gKHRoaXMubGFzdFJlcXVpcmVkTm9uTWFza1BvcyBhcyBudW1iZXIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZWQgPSB0aGlzLmlzQ29tcGxldGVkKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uSW5wdXQuZW1pdChlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZU1vZGVsKGUpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlRmlsbGVkU3RhdGUoKTtcblxuICAgICAgICBpZiAoY29tcGxldGVkKSB7XG4gICAgICAgICAgICB0aGlzLm9uQ29tcGxldGUuZW1pdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xlYXJCdWZmZXIoc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKCF0aGlzLmtlZXBCdWZmZXIpIHtcbiAgICAgICAgICAgIGxldCBpO1xuICAgICAgICAgICAgZm9yIChpID0gc3RhcnQ7IGkgPCBlbmQgJiYgaSA8ICh0aGlzLmxlbiBhcyBudW1iZXIpOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50ZXN0c1tpXSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJ1ZmZlcltpXSA9IHRoaXMuZ2V0UGxhY2Vob2xkZXIoaSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgd3JpdGVCdWZmZXIoKSB7XG4gICAgICAgICh0aGlzLmlucHV0Vmlld0NoaWxkIGFzIEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLmJ1ZmZlci5qb2luKCcnKTtcbiAgICB9XG5cbiAgICBjaGVja1ZhbChhbGxvdz86IGJvb2xlYW4pOiBudW1iZXIge1xuICAgICAgICAvL3RyeSB0byBwbGFjZSBjaGFyYWN0ZXJzIHdoZXJlIHRoZXkgYmVsb25nXG4gICAgICAgIGxldCB0ZXN0ID0gdGhpcy5pbnB1dFZpZXdDaGlsZD8ubmF0aXZlRWxlbWVudC52YWx1ZSxcbiAgICAgICAgICAgIGxhc3RNYXRjaCA9IC0xLFxuICAgICAgICAgICAgaSxcbiAgICAgICAgICAgIGMsXG4gICAgICAgICAgICBwb3M7XG5cbiAgICAgICAgZm9yIChpID0gMCwgcG9zID0gMDsgaSA8ICh0aGlzLmxlbiBhcyBudW1iZXIpOyBpKyspIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRlc3RzW2ldKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5idWZmZXJbaV0gPSB0aGlzLmdldFBsYWNlaG9sZGVyKGkpO1xuICAgICAgICAgICAgICAgIHdoaWxlIChwb3MrKyA8IHRlc3QubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIGMgPSB0ZXN0LmNoYXJBdChwb3MgLSAxKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudGVzdHNbaV0udGVzdChjKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmtlZXBCdWZmZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJ1ZmZlcltpXSA9IGM7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBsYXN0TWF0Y2ggPSBpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHBvcyA+IHRlc3QubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJCdWZmZXIoaSArIDEsIHRoaXMubGVuIGFzIG51bWJlcik7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYnVmZmVyW2ldID09PSB0ZXN0LmNoYXJBdChwb3MpKSB7XG4gICAgICAgICAgICAgICAgICAgIHBvcysrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaSA8ICh0aGlzLnBhcnRpYWxQb3NpdGlvbiBhcyBudW1iZXIpKSB7XG4gICAgICAgICAgICAgICAgICAgIGxhc3RNYXRjaCA9IGk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChhbGxvdykge1xuICAgICAgICAgICAgdGhpcy53cml0ZUJ1ZmZlcigpO1xuICAgICAgICB9IGVsc2UgaWYgKGxhc3RNYXRjaCArIDEgPCAodGhpcy5wYXJ0aWFsUG9zaXRpb24gYXMgbnVtYmVyKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuYXV0b0NsZWFyIHx8IHRoaXMuYnVmZmVyLmpvaW4oJycpID09PSB0aGlzLmRlZmF1bHRCdWZmZXIpIHtcbiAgICAgICAgICAgICAgICAvLyBJbnZhbGlkIHZhbHVlLiBSZW1vdmUgaXQgYW5kIHJlcGxhY2UgaXQgd2l0aCB0aGVcbiAgICAgICAgICAgICAgICAvLyBtYXNrLCB3aGljaCBpcyB0aGUgZGVmYXVsdCBiZWhhdmlvci5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pbnB1dFZpZXdDaGlsZD8ubmF0aXZlRWxlbWVudC52YWx1ZSkgdGhpcy5pbnB1dFZpZXdDaGlsZC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhckJ1ZmZlcigwLCB0aGlzLmxlbiBhcyBudW1iZXIpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBJbnZhbGlkIHZhbHVlLCBidXQgd2Ugb3B0IHRvIHNob3cgdGhlIHZhbHVlIHRvIHRoZVxuICAgICAgICAgICAgICAgIC8vIHVzZXIgYW5kIGFsbG93IHRoZW0gdG8gY29ycmVjdCB0aGVpciBtaXN0YWtlLlxuICAgICAgICAgICAgICAgIHRoaXMud3JpdGVCdWZmZXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMud3JpdGVCdWZmZXIoKTtcbiAgICAgICAgICAgICh0aGlzLmlucHV0Vmlld0NoaWxkIGFzIEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLmlucHV0Vmlld0NoaWxkPy5uYXRpdmVFbGVtZW50LnZhbHVlLnN1YnN0cmluZygwLCBsYXN0TWF0Y2ggKyAxKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKHRoaXMucGFydGlhbFBvc2l0aW9uID8gaSA6IHRoaXMuZmlyc3ROb25NYXNrUG9zKSBhcyBudW1iZXI7XG4gICAgfVxuXG4gICAgb25JbnB1dEZvY3VzKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5yZWFkb25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcblxuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5jYXJldFRpbWVvdXRJZCk7XG4gICAgICAgIGxldCBwb3M6IG51bWJlcjtcblxuICAgICAgICB0aGlzLmZvY3VzVGV4dCA9IHRoaXMuaW5wdXRWaWV3Q2hpbGQ/Lm5hdGl2ZUVsZW1lbnQudmFsdWU7XG5cbiAgICAgICAgcG9zID0gdGhpcy5rZWVwQnVmZmVyID8gdGhpcy5pbnB1dFZpZXdDaGlsZD8ubmF0aXZlRWxlbWVudC52YWx1ZS5sZW5ndGggOiB0aGlzLmNoZWNrVmFsKCk7XG5cbiAgICAgICAgdGhpcy5jYXJldFRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuaW5wdXRWaWV3Q2hpbGQ/Lm5hdGl2ZUVsZW1lbnQgIT09IHRoaXMuaW5wdXRWaWV3Q2hpbGQ/Lm5hdGl2ZUVsZW1lbnQub3duZXJEb2N1bWVudC5hY3RpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy53cml0ZUJ1ZmZlcigpO1xuICAgICAgICAgICAgaWYgKHBvcyA9PSB0aGlzLm1hc2s/LnJlcGxhY2UoJz8nLCAnJykubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXJldCgwLCBwb3MpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhcmV0KHBvcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDEwKTtcblxuICAgICAgICB0aGlzLm9uRm9jdXMuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgb25JbnB1dENoYW5nZShldmVudDogRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuYW5kcm9pZENocm9tZSkgdGhpcy5oYW5kbGVBbmRyb2lkSW5wdXQoZXZlbnQpO1xuICAgICAgICBlbHNlIHRoaXMuaGFuZGxlSW5wdXRDaGFuZ2UoZXZlbnQpO1xuXG4gICAgICAgIHRoaXMub25JbnB1dC5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbnB1dENoYW5nZShldmVudDogRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZG9ubHkgfHwgdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB2YXIgcG9zID0gdGhpcy5jaGVja1ZhbCh0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuY2FyZXQocG9zKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTW9kZWwoZXZlbnQpO1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNDb21wbGV0ZWQoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMub25Db21wbGV0ZS5lbWl0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDApO1xuICAgIH1cblxuICAgIGdldFVubWFza2VkVmFsdWUoKSB7XG4gICAgICAgIGxldCB1bm1hc2tlZEJ1ZmZlciA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuYnVmZmVyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgYyA9IHRoaXMuYnVmZmVyW2ldO1xuICAgICAgICAgICAgaWYgKHRoaXMudGVzdHNbaV0gJiYgYyAhPSB0aGlzLmdldFBsYWNlaG9sZGVyKGkpKSB7XG4gICAgICAgICAgICAgICAgdW5tYXNrZWRCdWZmZXIucHVzaChjKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1bm1hc2tlZEJ1ZmZlci5qb2luKCcnKTtcbiAgICB9XG5cbiAgICB1cGRhdGVNb2RlbChlOiBFdmVudCkge1xuICAgICAgICBjb25zdCB1cGRhdGVkVmFsdWUgPSB0aGlzLnVubWFzayA/IHRoaXMuZ2V0VW5tYXNrZWRWYWx1ZSgpIDogKGUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgICAgICBpZiAodXBkYXRlZFZhbHVlICE9PSBudWxsIHx8IHVwZGF0ZWRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdXBkYXRlZFZhbHVlO1xuICAgICAgICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlRmlsbGVkU3RhdGUoKSB7XG4gICAgICAgIHRoaXMuZmlsbGVkID0gdGhpcy5pbnB1dFZpZXdDaGlsZD8ubmF0aXZlRWxlbWVudCAmJiB0aGlzLmlucHV0Vmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQudmFsdWUgIT0gJyc7XG4gICAgfVxuXG4gICAgZm9jdXMoKSB7XG4gICAgICAgIHRoaXMuaW5wdXRWaWV3Q2hpbGQ/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBjbGVhcigpIHtcbiAgICAgICAgKHRoaXMuaW5wdXRWaWV3Q2hpbGQgYXMgRWxlbWVudFJlZikubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgICB0aGlzLm9uQ2xlYXIuZW1pdCgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXgtaW5wdXQtY29udGFpbmVyXCJcclxuICAgICBbY2xhc3NdPVwic3R5bGVDbGFzc1wiXHJcbiAgICAgW25nQ2xhc3NdPVwiJ2NheC1pbnB1dC1zaXplLScgKyBoZWlnaHRzaXplXCJcclxuICAgICBbbmdTdHlsZV09XCJzdHlsZVwiPlxyXG4gICAgPGxhYmVsICpuZ0lmPVwibGFiZWxcIiBjbGFzcz1cImNheC1sYWJlbFwiIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQtb3BhY2l0eSc6IGRpc2FibGVkfVwiPnt7IGxhYmVsIH19PC9sYWJlbD5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiY2F4LWlucHV0LXdyYXBwZXJcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgJ3dpdGgtbGVmdC1pY29uJzogbGVmdEljb24sXHJcbiAgICAgICAgICAgICd3aXRoLXJpZ2h0LWljb24nOiByaWdodEljb24sXHJcbiAgICAgICAgICAgICd3aXRoLWNsZWFyLWljb24nOiBjbGVhckljb24gJiYgdmFsdWUsXHJcbiAgICAgICAgICAgICdpbnB1dC1kaXNhYmxlZCc6IGRpc2FibGVkXHJcbiAgICAgICAgfVwiXHJcbiAgICA+XHJcbiAgICAgICAgPCEtLSBMZWZ0IEljb24gLS0+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJsZWZ0SWNvblwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjYXgtaWNvbi1jb250YWluZXIgY2F4LWljb24tbGVmdFwiPlxyXG4gICAgICAgICAgICA8aSBbbmdDbGFzc109XCJsZWZ0SWNvbkNsYXNzXCI+PC9pPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgI2lucHV0XHJcbiAgICAgICAgICBbY2xhc3NdPVwic3R5bGVDbGFzc1wiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgJ2NheC1pbnB1dHRleHQnOiB0cnVlLFxyXG4gICAgICAgICAgICAgICdjYXgtaW5wdXRtYXNrJzogdHJ1ZSxcclxuICAgICAgICAgICAgICAnY2F4LWlucHV0LWludmFsaWQnOiBpbnZhbGlkLFxyXG4gICAgICAgICAgICAgICdpbnB1dC1kaXNhYmxlZCc6IGRpc2FibGVkLFxyXG4gICAgICAgICAgICAgICd3aXRoLWxlZnQtaWNvbic6IGxlZnRJY29uLFxyXG4gICAgICAgICAgICAgICd3aXRoLXJpZ2h0LWljb24nOiByaWdodEljb24gfHwgKGNsZWFySWNvbiAmJiB2YWx1ZSlcclxuICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgW2F0dHIuaWRdPVwiaW5wdXRJZFwiXHJcbiAgICAgICAgICBbYXR0ci50eXBlXT1cInR5cGVcIlxyXG4gICAgICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcclxuICAgICAgICAgIFtuZ1N0eWxlXT1cInN0eWxlXCJcclxuICAgICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgIFthdHRyLnNpemVdPVwic2l6ZVwiXHJcbiAgICAgICAgICBbYXR0ci5hdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlXCJcclxuICAgICAgICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGhcIlxyXG4gICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiaW5kZXhcIlxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZEJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcclxuICAgICAgICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwiYXJpYVJlcXVpcmVkXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgW2F0dHIucmVxdWlyZWRdPVwicmVxdWlyZWRcIlxyXG4gICAgICAgICAgKGZvY3VzKT1cIm9uSW5wdXRGb2N1cygkZXZlbnQpXCJcclxuICAgICAgICAgIChibHVyKT1cIm9uSW5wdXRCbHVyKCRldmVudClcIlxyXG4gICAgICAgICAgKGtleWRvd24pPVwib25JbnB1dEtleWRvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAoa2V5cHJlc3MpPVwib25LZXlQcmVzcygkZXZlbnQpXCJcclxuICAgICAgICAgIChpbnB1dCk9XCJvbklucHV0Q2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgKHBhc3RlKT1cImhhbmRsZUlucHV0Q2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgW2F0dHIuZGF0YS1wYy1uYW1lXT1cIidpbnB1dG1hc2snXCJcclxuICAgICAgICAgIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCIncm9vdCdcIlxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJzdWNjZXNzVGV4dCB8fCBpbnZhbGlkID8gJ2hlbHBlci10ZXh0JyA6IG51bGxcIlxyXG4gICAgICAvPlxyXG5cclxuICAgIDwhLS0gQ2xlYXIgSWNvbiAoYmVmb3JlIHJpZ2h0IGljb24pIC0tPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJjbGVhckljb24gJiYgdmFsdWVcIlxyXG4gICAgY2xhc3M9XCJjYXgtaWNvbi1jb250YWluZXIgY2F4LWNsZWFyLWljb24gY2xpY2thYmxlLWljb25cIlxyXG4gICAgW25nQ2xhc3NdPVwieyduby1yaWdodC1pY29uJzogIXJpZ2h0SWNvbn1cIlxyXG4gICAgKGNsaWNrKT1cImNsZWFyKClcIj5cclxuICA8aSBjbGFzcz1cImNheCBjYXgtY2xvc2UtY2lyY2xlXCI+PC9pPlxyXG48L3NwYW4+XHJcblxyXG48IS0tIFJpZ2h0IEljb24gLS0+XHJcbjxzcGFuICpuZ0lmPVwicmlnaHRJY29uXCJcclxuICAgIGNsYXNzPVwiY2F4LWljb24tY29udGFpbmVyIGNheC1pY29uLXJpZ2h0XCI+XHJcbiAgPGkgW25nQ2xhc3NdPVwicmlnaHRJY29uQ2xhc3NcIj48L2k+XHJcbjwvc3Bhbj5cclxuPC9kaXY+XHJcblxyXG48IS0tIEVycm9yIE1lc3NhZ2Ugd2l0aCBjb25kaXRpb25hbCBvcGFjaXR5IC0tPlxyXG48c21hbGwgKm5nSWY9XCJpbnZhbGlkXCIgaWQ9XCJoZWxwZXItdGV4dFwiIGNsYXNzPVwiY2F4LWVycm9yIGRpc2FibGVkLW9wYWNpdHlcIiBbbmdDbGFzc109XCJ7J2Rpc2FibGVkLW9wYWNpdHknOiBkaXNhYmxlZH1cIj4ge3sgZXJyb3JUZXh0IH19IDwvc21hbGw+XHJcblxyXG48IS0tIEhlbHBlciBUZXh0IHdpdGggY29uZGl0aW9uYWwgb3BhY2l0eSAtLT5cclxuPHNtYWxsICpuZ0lmPVwic3VjY2Vzc1RleHQgJiYgIWludmFsaWRcIiBpZD1cImhlbHBlci10ZXh0XCIgY2xhc3M9XCJjYXgtaGVscGVyLXRleHRcIiBbbmdDbGFzc109XCJ7J2Rpc2FibGVkLW9wYWNpdHknOiBkaXNhYmxlZH1cIj4ge3sgc3VjY2Vzc1RleHQgfX0gPC9zbWFsbD5cclxuPC9kaXY+XHJcblxyXG48bmctY29udGFpbmVyICpuZ0lmPVwidmFsdWUgIT0gbnVsbCAmJiBmaWxsZWQgJiYgc2hvd0NsZWFyICYmICFkaXNhYmxlZFwiPlxyXG4gIDxUaW1lc0ljb24gKm5nSWY9XCIhY2xlYXJJY29uVGVtcGxhdGVcIiBbc3R5bGVDbGFzc109XCInY2F4LWlucHV0bWFzay1jbGVhci1pY29uJ1wiIChjbGljayk9XCJjbGVhcigpXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidjbGVhckljb24nXCIgLz5cclxuICA8c3BhbiAqbmdJZj1cImNsZWFySWNvblRlbXBsYXRlXCIgY2xhc3M9XCJwLWlucHV0bWFzay1jbGVhci1pY29uXCIgKGNsaWNrKT1cImNsZWFyKClcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2NsZWFySWNvbidcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2xlYXJJY29uVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxyXG4gIDwvc3Bhbj5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==