@agorapulse/ui-components 15.1.29 → 16.0.0-rc.0

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 (386) hide show
  1. package/add-comment/add-comment.component.d.ts +3 -3
  2. package/agorapulse-ui-components-16.0.0-rc.0.tgz +0 -0
  3. package/avatar/avatar.component.d.ts +1 -1
  4. package/button/button.component.d.ts +2 -2
  5. package/checkbox/checkbox.component.d.ts +4 -4
  6. package/confirm-modal/confirm-modal.component.d.ts +2 -2
  7. package/datepicker/datepicker.component.d.ts +7 -7
  8. package/directives/base-button.directive.d.ts +2 -2
  9. package/directives/default-image.directive.d.ts +1 -1
  10. package/directives/ellipsis.directive.d.ts +1 -1
  11. package/directives/equal-validator.directive.d.ts +1 -1
  12. package/directives/frozen-gif.directive.d.ts +2 -2
  13. package/directives/multi-style-text.directive.d.ts +2 -2
  14. package/directives/truncate-tooltip.directive.d.ts +1 -1
  15. package/dots-stepper/dots-stepper.component.d.ts +6 -6
  16. package/esm2022/add-comment/add-comment.component.mjs +68 -0
  17. package/esm2022/avatar/avatar.component.mjs +209 -0
  18. package/esm2022/button/button.component.mjs +109 -0
  19. package/esm2022/checkbox/checkbox.component.mjs +169 -0
  20. package/esm2022/confirm-modal/confirm-modal.component.mjs +61 -0
  21. package/esm2022/datepicker/datepicker.component.mjs +271 -0
  22. package/esm2022/directives/autosize-textarea.directive.mjs +45 -0
  23. package/esm2022/directives/base-button.directive.mjs +47 -0
  24. package/esm2022/directives/default-image.directive.mjs +37 -0
  25. package/esm2022/directives/ellipsis.directive.mjs +90 -0
  26. package/esm2022/directives/equal-validator.directive.mjs +73 -0
  27. package/esm2022/directives/frozen-gif.directive.mjs +125 -0
  28. package/esm2022/directives/multi-style-text.directive.mjs +61 -0
  29. package/esm2022/directives/truncate-tooltip.directive.mjs +43 -0
  30. package/esm2022/dots-stepper/dots-stepper.component.mjs +43 -0
  31. package/esm2022/icon-button/icon-button.component.mjs +118 -0
  32. package/esm2022/index.mjs +42 -0
  33. package/esm2022/infobox/infobox.component.mjs +65 -0
  34. package/esm2022/labels/label-list.component.mjs +106 -0
  35. package/esm2022/labels/label.component.mjs +64 -0
  36. package/esm2022/labels-selector/labels-selector.component.mjs +107 -0
  37. package/esm2022/media-display-overlay/media-display-overlay-dialog.component.mjs +94 -0
  38. package/esm2022/modal/modal.component.mjs +119 -0
  39. package/{esm2020 → esm2022}/neo-datepicker/day-detail.model.mjs +1 -1
  40. package/esm2022/neo-datepicker/day-disabled.pipe.mjs +21 -0
  41. package/esm2022/neo-datepicker/neo-datepicker.component.mjs +243 -0
  42. package/esm2022/notification/notification.component.mjs +15 -0
  43. package/esm2022/paginator/paginator-button/paginator-button.component.mjs +51 -0
  44. package/esm2022/paginator/paginator.component.mjs +126 -0
  45. package/esm2022/password-input/password-input.component.mjs +77 -0
  46. package/esm2022/popmenu/options.mjs +17 -0
  47. package/esm2022/popmenu/popmenu-options.interface.mjs +2 -0
  48. package/esm2022/popmenu/popmenu-options.service.mjs +7 -0
  49. package/esm2022/popmenu/popmenu.component.mjs +384 -0
  50. package/esm2022/popmenu/popmenu.directive.mjs +292 -0
  51. package/esm2022/popmenu/popmenu.module.mjs +29 -0
  52. package/esm2022/radio/radio-control.registry.mjs +102 -0
  53. package/esm2022/radio/radio.component.mjs +218 -0
  54. package/esm2022/slide-toggle/slide-toggle.component.mjs +63 -0
  55. package/esm2022/snackbar/snackbar.component.mjs +27 -0
  56. package/esm2022/snackbars-thread/component/snackbars-thread.component.mjs +75 -0
  57. package/esm2022/snackbars-thread/model/snackbars-thread.model.mjs +54 -0
  58. package/{esm2020 → esm2022}/snackbars-thread/public_api.mjs +2 -2
  59. package/esm2022/snackbars-thread/service/snackbars-thread.service.mjs +45 -0
  60. package/esm2022/snackbars-thread/utils/const/snackbars-thread.const.mjs +13 -0
  61. package/esm2022/social-button/social-button.component.mjs +143 -0
  62. package/esm2022/split-button/split-button.component.mjs +126 -0
  63. package/esm2022/src/lib/agorapulse-ui-components.module.mjs +213 -0
  64. package/esm2022/stepper/stepper.component.mjs +38 -0
  65. package/esm2022/text-measurement/text-measurement.service.mjs +29 -0
  66. package/esm2022/toggle/toggle.component.mjs +203 -0
  67. package/esm2022/tooltip/tooltip.directive.mjs +397 -0
  68. package/esm2022/tooltip/tooltip.service.mjs +29 -0
  69. package/fesm2022/agorapulse-ui-components-add-comment.mjs +75 -0
  70. package/fesm2022/agorapulse-ui-components-add-comment.mjs.map +1 -0
  71. package/fesm2022/agorapulse-ui-components-avatar.mjs +216 -0
  72. package/fesm2022/agorapulse-ui-components-avatar.mjs.map +1 -0
  73. package/fesm2022/agorapulse-ui-components-button.mjs +116 -0
  74. package/fesm2022/agorapulse-ui-components-button.mjs.map +1 -0
  75. package/fesm2022/agorapulse-ui-components-checkbox.mjs +176 -0
  76. package/fesm2022/agorapulse-ui-components-checkbox.mjs.map +1 -0
  77. package/fesm2022/agorapulse-ui-components-confirm-modal.mjs +68 -0
  78. package/fesm2022/agorapulse-ui-components-confirm-modal.mjs.map +1 -0
  79. package/fesm2022/agorapulse-ui-components-datepicker.mjs +278 -0
  80. package/fesm2022/agorapulse-ui-components-datepicker.mjs.map +1 -0
  81. package/{fesm2020 → fesm2022}/agorapulse-ui-components-directives.mjs +104 -72
  82. package/fesm2022/agorapulse-ui-components-directives.mjs.map +1 -0
  83. package/fesm2022/agorapulse-ui-components-dots-stepper.mjs +50 -0
  84. package/fesm2022/agorapulse-ui-components-dots-stepper.mjs.map +1 -0
  85. package/fesm2022/agorapulse-ui-components-icon-button.mjs +125 -0
  86. package/fesm2022/agorapulse-ui-components-icon-button.mjs.map +1 -0
  87. package/fesm2022/agorapulse-ui-components-infobox.mjs +69 -0
  88. package/fesm2022/agorapulse-ui-components-infobox.mjs.map +1 -0
  89. package/fesm2022/agorapulse-ui-components-labels-selector.mjs +114 -0
  90. package/fesm2022/agorapulse-ui-components-labels-selector.mjs.map +1 -0
  91. package/fesm2022/agorapulse-ui-components-labels.mjs +173 -0
  92. package/fesm2022/agorapulse-ui-components-labels.mjs.map +1 -0
  93. package/fesm2022/agorapulse-ui-components-media-display-overlay.mjs +101 -0
  94. package/fesm2022/agorapulse-ui-components-media-display-overlay.mjs.map +1 -0
  95. package/fesm2022/agorapulse-ui-components-modal.mjs +126 -0
  96. package/fesm2022/agorapulse-ui-components-modal.mjs.map +1 -0
  97. package/fesm2022/agorapulse-ui-components-neo-datepicker.mjs +268 -0
  98. package/fesm2022/agorapulse-ui-components-neo-datepicker.mjs.map +1 -0
  99. package/fesm2022/agorapulse-ui-components-notification.mjs +22 -0
  100. package/fesm2022/agorapulse-ui-components-notification.mjs.map +1 -0
  101. package/fesm2022/agorapulse-ui-components-paginator.mjs +181 -0
  102. package/fesm2022/agorapulse-ui-components-paginator.mjs.map +1 -0
  103. package/fesm2022/agorapulse-ui-components-password-input.mjs +84 -0
  104. package/fesm2022/agorapulse-ui-components-password-input.mjs.map +1 -0
  105. package/{fesm2020 → fesm2022}/agorapulse-ui-components-popmenu.mjs +112 -83
  106. package/fesm2022/agorapulse-ui-components-popmenu.mjs.map +1 -0
  107. package/fesm2022/agorapulse-ui-components-radio.mjs +322 -0
  108. package/fesm2022/agorapulse-ui-components-radio.mjs.map +1 -0
  109. package/fesm2022/agorapulse-ui-components-slide-toggle.mjs +70 -0
  110. package/fesm2022/agorapulse-ui-components-slide-toggle.mjs.map +1 -0
  111. package/fesm2022/agorapulse-ui-components-snackbar.mjs +34 -0
  112. package/fesm2022/agorapulse-ui-components-snackbar.mjs.map +1 -0
  113. package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs +190 -0
  114. package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs.map +1 -0
  115. package/fesm2022/agorapulse-ui-components-social-button.mjs +150 -0
  116. package/fesm2022/agorapulse-ui-components-social-button.mjs.map +1 -0
  117. package/fesm2022/agorapulse-ui-components-split-button.mjs +133 -0
  118. package/fesm2022/agorapulse-ui-components-split-button.mjs.map +1 -0
  119. package/fesm2022/agorapulse-ui-components-stepper.mjs +45 -0
  120. package/fesm2022/agorapulse-ui-components-stepper.mjs.map +1 -0
  121. package/{fesm2020 → fesm2022}/agorapulse-ui-components-text-measurement.mjs +8 -7
  122. package/fesm2022/agorapulse-ui-components-text-measurement.mjs.map +1 -0
  123. package/fesm2022/agorapulse-ui-components-toggle.mjs +210 -0
  124. package/fesm2022/agorapulse-ui-components-toggle.mjs.map +1 -0
  125. package/{fesm2020 → fesm2022}/agorapulse-ui-components-tooltip.mjs +114 -75
  126. package/fesm2022/agorapulse-ui-components-tooltip.mjs.map +1 -0
  127. package/{fesm2015 → fesm2022}/agorapulse-ui-components.mjs +100 -103
  128. package/fesm2022/agorapulse-ui-components.mjs.map +1 -0
  129. package/icon-button/icon-button.component.d.ts +3 -3
  130. package/infobox/infobox.component.d.ts +2 -2
  131. package/labels/label-list.component.d.ts +2 -2
  132. package/labels/label.component.d.ts +3 -3
  133. package/labels-selector/labels-selector.component.d.ts +2 -2
  134. package/media-display-overlay/media-display-overlay-dialog.component.d.ts +1 -1
  135. package/modal/modal.component.d.ts +12 -12
  136. package/neo-datepicker/day-detail.model.d.ts +2 -2
  137. package/neo-datepicker/day-disabled.pipe.d.ts +1 -1
  138. package/neo-datepicker/neo-datepicker.component.d.ts +10 -7
  139. package/notification/notification.component.d.ts +1 -1
  140. package/package.json +107 -172
  141. package/paginator/paginator-button/paginator-button.component.d.ts +1 -1
  142. package/paginator/paginator.component.d.ts +1 -1
  143. package/password-input/password-input.component.d.ts +4 -4
  144. package/popmenu/popmenu-options.interface.d.ts +24 -19
  145. package/popmenu/popmenu.component.d.ts +10 -10
  146. package/popmenu/popmenu.directive.d.ts +23 -23
  147. package/radio/radio-control.registry.d.ts +2 -2
  148. package/radio/radio.component.d.ts +2 -2
  149. package/slide-toggle/slide-toggle.component.d.ts +1 -1
  150. package/snackbar/snackbar.component.d.ts +1 -1
  151. package/snackbars-thread/component/snackbars-thread.component.d.ts +2 -2
  152. package/snackbars-thread/model/snackbars-thread.model.d.ts +1 -1
  153. package/snackbars-thread/public_api.d.ts +1 -1
  154. package/snackbars-thread/service/snackbars-thread.service.d.ts +4 -4
  155. package/social-button/social-button.component.d.ts +3 -3
  156. package/split-button/split-button.component.d.ts +3 -3
  157. package/stepper/stepper.component.d.ts +2 -2
  158. package/toggle/toggle.component.d.ts +3 -3
  159. package/tooltip/tooltip.directive.d.ts +5 -5
  160. package/agorapulse-ui-components-15.1.29.tgz +0 -0
  161. package/esm2020/add-comment/add-comment.component.mjs +0 -69
  162. package/esm2020/avatar/avatar.component.mjs +0 -211
  163. package/esm2020/button/button.component.mjs +0 -104
  164. package/esm2020/checkbox/checkbox.component.mjs +0 -163
  165. package/esm2020/confirm-modal/confirm-modal.component.mjs +0 -60
  166. package/esm2020/datepicker/datepicker.component.mjs +0 -259
  167. package/esm2020/directives/autosize-textarea.directive.mjs +0 -44
  168. package/esm2020/directives/base-button.directive.mjs +0 -47
  169. package/esm2020/directives/default-image.directive.mjs +0 -32
  170. package/esm2020/directives/ellipsis.directive.mjs +0 -86
  171. package/esm2020/directives/equal-validator.directive.mjs +0 -66
  172. package/esm2020/directives/frozen-gif.directive.mjs +0 -116
  173. package/esm2020/directives/multi-style-text.directive.mjs +0 -58
  174. package/esm2020/directives/truncate-tooltip.directive.mjs +0 -40
  175. package/esm2020/dots-stepper/dots-stepper.component.mjs +0 -43
  176. package/esm2020/icon-button/icon-button.component.mjs +0 -112
  177. package/esm2020/index.mjs +0 -42
  178. package/esm2020/infobox/infobox.component.mjs +0 -70
  179. package/esm2020/labels/label-list.component.mjs +0 -101
  180. package/esm2020/labels/label.component.mjs +0 -58
  181. package/esm2020/labels-selector/labels-selector.component.mjs +0 -101
  182. package/esm2020/media-display-overlay/media-display-overlay-dialog.component.mjs +0 -94
  183. package/esm2020/modal/modal.component.mjs +0 -109
  184. package/esm2020/neo-datepicker/day-disabled.pipe.mjs +0 -21
  185. package/esm2020/neo-datepicker/neo-datepicker.component.mjs +0 -228
  186. package/esm2020/notification/notification.component.mjs +0 -17
  187. package/esm2020/paginator/paginator-button/paginator-button.component.mjs +0 -51
  188. package/esm2020/paginator/paginator.component.mjs +0 -124
  189. package/esm2020/password-input/password-input.component.mjs +0 -75
  190. package/esm2020/popmenu/options.mjs +0 -17
  191. package/esm2020/popmenu/popmenu-options.interface.mjs +0 -2
  192. package/esm2020/popmenu/popmenu-options.service.mjs +0 -7
  193. package/esm2020/popmenu/popmenu.component.mjs +0 -373
  194. package/esm2020/popmenu/popmenu.directive.mjs +0 -268
  195. package/esm2020/popmenu/popmenu.module.mjs +0 -35
  196. package/esm2020/radio/radio-control.registry.mjs +0 -104
  197. package/esm2020/radio/radio.component.mjs +0 -199
  198. package/esm2020/slide-toggle/slide-toggle.component.mjs +0 -65
  199. package/esm2020/snackbar/snackbar.component.mjs +0 -26
  200. package/esm2020/snackbars-thread/component/snackbars-thread.component.mjs +0 -79
  201. package/esm2020/snackbars-thread/model/snackbars-thread.model.mjs +0 -52
  202. package/esm2020/snackbars-thread/service/snackbars-thread.service.mjs +0 -41
  203. package/esm2020/snackbars-thread/utils/const/snackbars-thread.const.mjs +0 -13
  204. package/esm2020/social-button/social-button.component.mjs +0 -137
  205. package/esm2020/split-button/split-button.component.mjs +0 -112
  206. package/esm2020/src/lib/agorapulse-ui-components.module.mjs +0 -213
  207. package/esm2020/stepper/stepper.component.mjs +0 -36
  208. package/esm2020/text-measurement/text-measurement.service.mjs +0 -28
  209. package/esm2020/toggle/toggle.component.mjs +0 -190
  210. package/esm2020/tooltip/tooltip.directive.mjs +0 -358
  211. package/esm2020/tooltip/tooltip.service.mjs +0 -29
  212. package/fesm2015/agorapulse-ui-components-add-comment.mjs +0 -76
  213. package/fesm2015/agorapulse-ui-components-add-comment.mjs.map +0 -1
  214. package/fesm2015/agorapulse-ui-components-avatar.mjs +0 -218
  215. package/fesm2015/agorapulse-ui-components-avatar.mjs.map +0 -1
  216. package/fesm2015/agorapulse-ui-components-button.mjs +0 -111
  217. package/fesm2015/agorapulse-ui-components-button.mjs.map +0 -1
  218. package/fesm2015/agorapulse-ui-components-checkbox.mjs +0 -170
  219. package/fesm2015/agorapulse-ui-components-checkbox.mjs.map +0 -1
  220. package/fesm2015/agorapulse-ui-components-confirm-modal.mjs +0 -67
  221. package/fesm2015/agorapulse-ui-components-confirm-modal.mjs.map +0 -1
  222. package/fesm2015/agorapulse-ui-components-datepicker.mjs +0 -269
  223. package/fesm2015/agorapulse-ui-components-datepicker.mjs.map +0 -1
  224. package/fesm2015/agorapulse-ui-components-directives.mjs +0 -483
  225. package/fesm2015/agorapulse-ui-components-directives.mjs.map +0 -1
  226. package/fesm2015/agorapulse-ui-components-dots-stepper.mjs +0 -50
  227. package/fesm2015/agorapulse-ui-components-dots-stepper.mjs.map +0 -1
  228. package/fesm2015/agorapulse-ui-components-icon-button.mjs +0 -119
  229. package/fesm2015/agorapulse-ui-components-icon-button.mjs.map +0 -1
  230. package/fesm2015/agorapulse-ui-components-infobox.mjs +0 -74
  231. package/fesm2015/agorapulse-ui-components-infobox.mjs.map +0 -1
  232. package/fesm2015/agorapulse-ui-components-labels-selector.mjs +0 -109
  233. package/fesm2015/agorapulse-ui-components-labels-selector.mjs.map +0 -1
  234. package/fesm2015/agorapulse-ui-components-labels.mjs +0 -162
  235. package/fesm2015/agorapulse-ui-components-labels.mjs.map +0 -1
  236. package/fesm2015/agorapulse-ui-components-media-display-overlay.mjs +0 -103
  237. package/fesm2015/agorapulse-ui-components-media-display-overlay.mjs.map +0 -1
  238. package/fesm2015/agorapulse-ui-components-modal.mjs +0 -116
  239. package/fesm2015/agorapulse-ui-components-modal.mjs.map +0 -1
  240. package/fesm2015/agorapulse-ui-components-neo-datepicker.mjs +0 -253
  241. package/fesm2015/agorapulse-ui-components-neo-datepicker.mjs.map +0 -1
  242. package/fesm2015/agorapulse-ui-components-notification.mjs +0 -24
  243. package/fesm2015/agorapulse-ui-components-notification.mjs.map +0 -1
  244. package/fesm2015/agorapulse-ui-components-paginator.mjs +0 -179
  245. package/fesm2015/agorapulse-ui-components-paginator.mjs.map +0 -1
  246. package/fesm2015/agorapulse-ui-components-password-input.mjs +0 -82
  247. package/fesm2015/agorapulse-ui-components-password-input.mjs.map +0 -1
  248. package/fesm2015/agorapulse-ui-components-popmenu.mjs +0 -698
  249. package/fesm2015/agorapulse-ui-components-popmenu.mjs.map +0 -1
  250. package/fesm2015/agorapulse-ui-components-radio.mjs +0 -306
  251. package/fesm2015/agorapulse-ui-components-radio.mjs.map +0 -1
  252. package/fesm2015/agorapulse-ui-components-slide-toggle.mjs +0 -72
  253. package/fesm2015/agorapulse-ui-components-slide-toggle.mjs.map +0 -1
  254. package/fesm2015/agorapulse-ui-components-snackbar.mjs +0 -35
  255. package/fesm2015/agorapulse-ui-components-snackbar.mjs.map +0 -1
  256. package/fesm2015/agorapulse-ui-components-snackbars-thread.mjs +0 -188
  257. package/fesm2015/agorapulse-ui-components-snackbars-thread.mjs.map +0 -1
  258. package/fesm2015/agorapulse-ui-components-social-button.mjs +0 -144
  259. package/fesm2015/agorapulse-ui-components-social-button.mjs.map +0 -1
  260. package/fesm2015/agorapulse-ui-components-split-button.mjs +0 -119
  261. package/fesm2015/agorapulse-ui-components-split-button.mjs.map +0 -1
  262. package/fesm2015/agorapulse-ui-components-stepper.mjs +0 -44
  263. package/fesm2015/agorapulse-ui-components-stepper.mjs.map +0 -1
  264. package/fesm2015/agorapulse-ui-components-text-measurement.mjs +0 -35
  265. package/fesm2015/agorapulse-ui-components-text-measurement.mjs.map +0 -1
  266. package/fesm2015/agorapulse-ui-components-toggle.mjs +0 -197
  267. package/fesm2015/agorapulse-ui-components-toggle.mjs.map +0 -1
  268. package/fesm2015/agorapulse-ui-components-tooltip.mjs +0 -391
  269. package/fesm2015/agorapulse-ui-components-tooltip.mjs.map +0 -1
  270. package/fesm2015/agorapulse-ui-components.mjs.map +0 -1
  271. package/fesm2020/agorapulse-ui-components-add-comment.mjs +0 -76
  272. package/fesm2020/agorapulse-ui-components-add-comment.mjs.map +0 -1
  273. package/fesm2020/agorapulse-ui-components-avatar.mjs +0 -218
  274. package/fesm2020/agorapulse-ui-components-avatar.mjs.map +0 -1
  275. package/fesm2020/agorapulse-ui-components-button.mjs +0 -111
  276. package/fesm2020/agorapulse-ui-components-button.mjs.map +0 -1
  277. package/fesm2020/agorapulse-ui-components-checkbox.mjs +0 -170
  278. package/fesm2020/agorapulse-ui-components-checkbox.mjs.map +0 -1
  279. package/fesm2020/agorapulse-ui-components-confirm-modal.mjs +0 -67
  280. package/fesm2020/agorapulse-ui-components-confirm-modal.mjs.map +0 -1
  281. package/fesm2020/agorapulse-ui-components-datepicker.mjs +0 -266
  282. package/fesm2020/agorapulse-ui-components-datepicker.mjs.map +0 -1
  283. package/fesm2020/agorapulse-ui-components-directives.mjs.map +0 -1
  284. package/fesm2020/agorapulse-ui-components-dots-stepper.mjs +0 -50
  285. package/fesm2020/agorapulse-ui-components-dots-stepper.mjs.map +0 -1
  286. package/fesm2020/agorapulse-ui-components-icon-button.mjs +0 -119
  287. package/fesm2020/agorapulse-ui-components-icon-button.mjs.map +0 -1
  288. package/fesm2020/agorapulse-ui-components-infobox.mjs +0 -74
  289. package/fesm2020/agorapulse-ui-components-infobox.mjs.map +0 -1
  290. package/fesm2020/agorapulse-ui-components-labels-selector.mjs +0 -108
  291. package/fesm2020/agorapulse-ui-components-labels-selector.mjs.map +0 -1
  292. package/fesm2020/agorapulse-ui-components-labels.mjs +0 -162
  293. package/fesm2020/agorapulse-ui-components-labels.mjs.map +0 -1
  294. package/fesm2020/agorapulse-ui-components-media-display-overlay.mjs +0 -101
  295. package/fesm2020/agorapulse-ui-components-media-display-overlay.mjs.map +0 -1
  296. package/fesm2020/agorapulse-ui-components-modal.mjs +0 -116
  297. package/fesm2020/agorapulse-ui-components-modal.mjs.map +0 -1
  298. package/fesm2020/agorapulse-ui-components-neo-datepicker.mjs +0 -253
  299. package/fesm2020/agorapulse-ui-components-neo-datepicker.mjs.map +0 -1
  300. package/fesm2020/agorapulse-ui-components-notification.mjs +0 -24
  301. package/fesm2020/agorapulse-ui-components-notification.mjs.map +0 -1
  302. package/fesm2020/agorapulse-ui-components-paginator.mjs +0 -179
  303. package/fesm2020/agorapulse-ui-components-paginator.mjs.map +0 -1
  304. package/fesm2020/agorapulse-ui-components-password-input.mjs +0 -82
  305. package/fesm2020/agorapulse-ui-components-password-input.mjs.map +0 -1
  306. package/fesm2020/agorapulse-ui-components-popmenu.mjs.map +0 -1
  307. package/fesm2020/agorapulse-ui-components-radio.mjs +0 -305
  308. package/fesm2020/agorapulse-ui-components-radio.mjs.map +0 -1
  309. package/fesm2020/agorapulse-ui-components-slide-toggle.mjs +0 -72
  310. package/fesm2020/agorapulse-ui-components-slide-toggle.mjs.map +0 -1
  311. package/fesm2020/agorapulse-ui-components-snackbar.mjs +0 -33
  312. package/fesm2020/agorapulse-ui-components-snackbar.mjs.map +0 -1
  313. package/fesm2020/agorapulse-ui-components-snackbars-thread.mjs +0 -188
  314. package/fesm2020/agorapulse-ui-components-snackbars-thread.mjs.map +0 -1
  315. package/fesm2020/agorapulse-ui-components-social-button.mjs +0 -144
  316. package/fesm2020/agorapulse-ui-components-social-button.mjs.map +0 -1
  317. package/fesm2020/agorapulse-ui-components-split-button.mjs +0 -119
  318. package/fesm2020/agorapulse-ui-components-split-button.mjs.map +0 -1
  319. package/fesm2020/agorapulse-ui-components-stepper.mjs +0 -43
  320. package/fesm2020/agorapulse-ui-components-stepper.mjs.map +0 -1
  321. package/fesm2020/agorapulse-ui-components-text-measurement.mjs.map +0 -1
  322. package/fesm2020/agorapulse-ui-components-toggle.mjs +0 -197
  323. package/fesm2020/agorapulse-ui-components-toggle.mjs.map +0 -1
  324. package/fesm2020/agorapulse-ui-components-tooltip.mjs.map +0 -1
  325. package/fesm2020/agorapulse-ui-components.mjs +0 -252
  326. package/fesm2020/agorapulse-ui-components.mjs.map +0 -1
  327. /package/{esm2020 → esm2022}/add-comment/agorapulse-ui-components-add-comment.mjs +0 -0
  328. /package/{esm2020 → esm2022}/add-comment/public_api.mjs +0 -0
  329. /package/{esm2020 → esm2022}/agorapulse-ui-components.mjs +0 -0
  330. /package/{esm2020 → esm2022}/avatar/agorapulse-ui-components-avatar.mjs +0 -0
  331. /package/{esm2020 → esm2022}/avatar/public_api.mjs +0 -0
  332. /package/{esm2020 → esm2022}/button/agorapulse-ui-components-button.mjs +0 -0
  333. /package/{esm2020 → esm2022}/button/public_api.mjs +0 -0
  334. /package/{esm2020 → esm2022}/checkbox/agorapulse-ui-components-checkbox.mjs +0 -0
  335. /package/{esm2020 → esm2022}/checkbox/public_api.mjs +0 -0
  336. /package/{esm2020 → esm2022}/confirm-modal/agorapulse-ui-components-confirm-modal.mjs +0 -0
  337. /package/{esm2020 → esm2022}/confirm-modal/confirm-modal-texts.model.mjs +0 -0
  338. /package/{esm2020 → esm2022}/confirm-modal/public_api.mjs +0 -0
  339. /package/{esm2020 → esm2022}/datepicker/agorapulse-ui-components-datepicker.mjs +0 -0
  340. /package/{esm2020 → esm2022}/datepicker/public_api.mjs +0 -0
  341. /package/{esm2020 → esm2022}/directives/agorapulse-ui-components-directives.mjs +0 -0
  342. /package/{esm2020 → esm2022}/directives/public_api.mjs +0 -0
  343. /package/{esm2020 → esm2022}/dots-stepper/agorapulse-ui-components-dots-stepper.mjs +0 -0
  344. /package/{esm2020 → esm2022}/dots-stepper/public_api.mjs +0 -0
  345. /package/{esm2020 → esm2022}/icon-button/agorapulse-ui-components-icon-button.mjs +0 -0
  346. /package/{esm2020 → esm2022}/icon-button/public_api.mjs +0 -0
  347. /package/{esm2020 → esm2022}/infobox/agorapulse-ui-components-infobox.mjs +0 -0
  348. /package/{esm2020 → esm2022}/infobox/public_api.mjs +0 -0
  349. /package/{esm2020 → esm2022}/labels/agorapulse-ui-components-labels.mjs +0 -0
  350. /package/{esm2020 → esm2022}/labels/public_api.mjs +0 -0
  351. /package/{esm2020 → esm2022}/labels-selector/agorapulse-ui-components-labels-selector.mjs +0 -0
  352. /package/{esm2020 → esm2022}/labels-selector/public_api.mjs +0 -0
  353. /package/{esm2020 → esm2022}/media-display-overlay/agorapulse-ui-components-media-display-overlay.mjs +0 -0
  354. /package/{esm2020 → esm2022}/media-display-overlay/public_api.mjs +0 -0
  355. /package/{esm2020 → esm2022}/modal/agorapulse-ui-components-modal.mjs +0 -0
  356. /package/{esm2020 → esm2022}/modal/public_api.mjs +0 -0
  357. /package/{esm2020 → esm2022}/neo-datepicker/agorapulse-ui-components-neo-datepicker.mjs +0 -0
  358. /package/{esm2020 → esm2022}/neo-datepicker/public_api.mjs +0 -0
  359. /package/{esm2020 → esm2022}/notification/agorapulse-ui-components-notification.mjs +0 -0
  360. /package/{esm2020 → esm2022}/notification/public_api.mjs +0 -0
  361. /package/{esm2020 → esm2022}/paginator/agorapulse-ui-components-paginator.mjs +0 -0
  362. /package/{esm2020 → esm2022}/paginator/public_api.mjs +0 -0
  363. /package/{esm2020 → esm2022}/password-input/agorapulse-ui-components-password-input.mjs +0 -0
  364. /package/{esm2020 → esm2022}/password-input/public_api.mjs +0 -0
  365. /package/{esm2020 → esm2022}/popmenu/agorapulse-ui-components-popmenu.mjs +0 -0
  366. /package/{esm2020 → esm2022}/popmenu/public_api.mjs +0 -0
  367. /package/{esm2020 → esm2022}/radio/agorapulse-ui-components-radio.mjs +0 -0
  368. /package/{esm2020 → esm2022}/radio/public_api.mjs +0 -0
  369. /package/{esm2020 → esm2022}/slide-toggle/agorapulse-ui-components-slide-toggle.mjs +0 -0
  370. /package/{esm2020 → esm2022}/slide-toggle/public_api.mjs +0 -0
  371. /package/{esm2020 → esm2022}/snackbar/agorapulse-ui-components-snackbar.mjs +0 -0
  372. /package/{esm2020 → esm2022}/snackbar/public_api.mjs +0 -0
  373. /package/{esm2020 → esm2022}/snackbars-thread/agorapulse-ui-components-snackbars-thread.mjs +0 -0
  374. /package/{esm2020 → esm2022}/social-button/agorapulse-ui-components-social-button.mjs +0 -0
  375. /package/{esm2020 → esm2022}/social-button/public_api.mjs +0 -0
  376. /package/{esm2020 → esm2022}/split-button/agorapulse-ui-components-split-button.mjs +0 -0
  377. /package/{esm2020 → esm2022}/split-button/public_api.mjs +0 -0
  378. /package/{esm2020 → esm2022}/stepper/agorapulse-ui-components-stepper.mjs +0 -0
  379. /package/{esm2020 → esm2022}/stepper/public_api.mjs +0 -0
  380. /package/{esm2020 → esm2022}/stepper/step.model.mjs +0 -0
  381. /package/{esm2020 → esm2022}/text-measurement/agorapulse-ui-components-text-measurement.mjs +0 -0
  382. /package/{esm2020 → esm2022}/text-measurement/public_api.mjs +0 -0
  383. /package/{esm2020 → esm2022}/toggle/agorapulse-ui-components-toggle.mjs +0 -0
  384. /package/{esm2020 → esm2022}/toggle/public_api.mjs +0 -0
  385. /package/{esm2020 → esm2022}/tooltip/agorapulse-ui-components-tooltip.mjs +0 -0
  386. /package/{esm2020 → esm2022}/tooltip/public_api.mjs +0 -0
@@ -0,0 +1,292 @@
1
+ import { Directive, EventEmitter, HostListener, Inject, Input, Optional, Output, } from '@angular/core';
2
+ import { defaultOptions } from './options';
3
+ import { PopmenuOptionsService } from './popmenu-options.service';
4
+ import { PopmenuComponent } from './popmenu.component';
5
+ import * as i0 from "@angular/core";
6
+ export class PopmenuDirective {
7
+ initOptions;
8
+ renderer;
9
+ elementRef;
10
+ componentFactoryResolver;
11
+ appRef;
12
+ injector;
13
+ apPopmenuBorder = false;
14
+ apPopmenuDisabled = false;
15
+ apPopmenuBackground = true;
16
+ arrow = false;
17
+ arrowOffset;
18
+ arrowPosition;
19
+ close = false;
20
+ hasBackdrop = true;
21
+ backdropClass = '';
22
+ panelClass;
23
+ offset;
24
+ offsets;
25
+ placement = 'bottom';
26
+ pointer = true;
27
+ popMenuValue;
28
+ position;
29
+ rounded = false;
30
+ shadow = false;
31
+ menuClosed = new EventEmitter();
32
+ menuOpened = new EventEmitter();
33
+ componentElement;
34
+ hideTimeoutId;
35
+ destroyTimeoutId;
36
+ createTimeoutId;
37
+ showTimeoutId;
38
+ componentRef;
39
+ elementPosition;
40
+ componentSubscribe;
41
+ _defaultOptions;
42
+ _options = {};
43
+ get options() {
44
+ return this._options;
45
+ }
46
+ set options(value) {
47
+ if (value && defaultOptions) {
48
+ this._options = value;
49
+ }
50
+ }
51
+ get destroyDelay() {
52
+ return Number(this.getHideDelay()) + Number(this.options['animationDuration']);
53
+ }
54
+ get isDisplayOnHover() {
55
+ if (this.options['display'] === false) {
56
+ return false;
57
+ }
58
+ if (this.options['displayTouchscreen'] === false) {
59
+ return false;
60
+ }
61
+ if (this.options['trigger'] !== 'hover') {
62
+ return false;
63
+ }
64
+ return true;
65
+ }
66
+ get isTooltipDestroyed() {
67
+ return this.componentRef && this.componentRef.hostView.destroyed;
68
+ }
69
+ get tooltipPosition() {
70
+ if (this.options['position']) {
71
+ return this.options['position'];
72
+ }
73
+ else {
74
+ return this.elementPosition;
75
+ }
76
+ }
77
+ constructor(initOptions, renderer, elementRef, componentFactoryResolver, appRef, injector) {
78
+ this.initOptions = initOptions;
79
+ this.renderer = renderer;
80
+ this.elementRef = elementRef;
81
+ this.componentFactoryResolver = componentFactoryResolver;
82
+ this.appRef = appRef;
83
+ this.injector = injector;
84
+ }
85
+ appendComponentToBody(component, data = {}) {
86
+ this.componentRef = this.componentFactoryResolver.resolveComponentFactory(component).create(this.injector);
87
+ this.componentRef.instance.data = {
88
+ value: this.popMenuValue,
89
+ element: this.elementRef.nativeElement,
90
+ elementPosition: this.tooltipPosition,
91
+ options: this.options,
92
+ };
93
+ this.appRef.attachView(this.componentRef.hostView);
94
+ this.componentElement = this.componentRef.hostView.rootNodes[0];
95
+ document.body.appendChild(this.componentElement);
96
+ this.componentSubscribe = this.componentRef.instance.menuClosed.subscribe((event) => {
97
+ this.handleClose(event);
98
+ this.menuOpen = this.componentRef.instance.menuOpen;
99
+ });
100
+ this.componentSubscribe = this.componentRef.instance.menuOpened.subscribe((event) => {
101
+ this.handleOpen(event);
102
+ this.menuOpen = this.componentRef.instance.menuOpen;
103
+ });
104
+ }
105
+ menuOpenChange = new EventEmitter();
106
+ #menuOpen = false;
107
+ get menuOpen() {
108
+ return this.#menuOpen;
109
+ }
110
+ set menuOpen(menuOpen) {
111
+ this.menuOpenChange.emit(menuOpen);
112
+ this.#menuOpen = menuOpen;
113
+ if (this.#menuOpen) {
114
+ this.elementRef.nativeElement.classList.add('popmenu-open');
115
+ this.elementRef.nativeElement.classList.remove('popmenu-close');
116
+ }
117
+ else {
118
+ this.elementRef.nativeElement.classList.remove('popmenu-open');
119
+ this.elementRef.nativeElement.classList.add('popmenu-close');
120
+ }
121
+ }
122
+ handleClose(event) {
123
+ this.menuClosed.emit();
124
+ }
125
+ handleOpen(event) {
126
+ this.menuOpened.emit();
127
+ }
128
+ applyOptionsDefault(defaultOptions, options) {
129
+ this.options = Object.assign({}, defaultOptions, this.initOptions || {}, options);
130
+ }
131
+ clearTimeouts() {
132
+ if (this.createTimeoutId) {
133
+ clearTimeout(this.createTimeoutId);
134
+ }
135
+ if (this.showTimeoutId) {
136
+ clearTimeout(this.showTimeoutId);
137
+ }
138
+ if (this.hideTimeoutId) {
139
+ clearTimeout(this.hideTimeoutId);
140
+ }
141
+ if (this.destroyTimeoutId) {
142
+ clearTimeout(this.destroyTimeoutId);
143
+ }
144
+ }
145
+ createPopMenu() {
146
+ this.clearTimeouts();
147
+ this.createTimeoutId = window.setTimeout(() => {
148
+ this.appendComponentToBody(PopmenuComponent);
149
+ }, this.getShowDelay());
150
+ this.showTimeoutId = window.setTimeout(() => {
151
+ this.showTooltipElem();
152
+ }, this.getShowDelay());
153
+ }
154
+ getElementPosition() {
155
+ this.elementPosition = this.elementRef.nativeElement.getBoundingClientRect();
156
+ }
157
+ getHideDelay() {
158
+ return this.options['hideDelay'];
159
+ }
160
+ getProperties(changes) {
161
+ let properties = {};
162
+ for (const prop in changes) {
163
+ if (prop !== 'options' && prop !== 'tooltipValue') {
164
+ properties[prop] = changes[prop].currentValue;
165
+ }
166
+ if (prop === 'options') {
167
+ properties = changes[prop].currentValue;
168
+ }
169
+ }
170
+ return properties;
171
+ }
172
+ getShowDelay() {
173
+ return this.options['showDelay'];
174
+ }
175
+ ngOnChanges(changes) {
176
+ if (changes.pointer) {
177
+ if (!this.pointer) {
178
+ this.renderer.removeStyle(this.elementRef.nativeElement, 'cursor');
179
+ }
180
+ else {
181
+ this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer');
182
+ }
183
+ }
184
+ if (changes.close && changes.close.currentValue) {
185
+ this.hideTooltipElem();
186
+ }
187
+ const changedOptions = this.getProperties(changes);
188
+ this.applyOptionsDefault(this.options && Object.keys(this.options).length > 0 ? this.options : defaultOptions, changedOptions);
189
+ }
190
+ ngOnInit() {
191
+ if (this.pointer) {
192
+ this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer');
193
+ }
194
+ this.menuOpen = false;
195
+ }
196
+ onClick() {
197
+ if (this.apPopmenuDisabled) {
198
+ return;
199
+ }
200
+ this.show();
201
+ this.close = false;
202
+ }
203
+ show() {
204
+ this.getElementPosition();
205
+ if (!this.componentRef || this.isTooltipDestroyed) {
206
+ this.createPopMenu();
207
+ }
208
+ else if (!this.isTooltipDestroyed) {
209
+ this.showTooltipElem();
210
+ }
211
+ }
212
+ showTooltipElem() {
213
+ this.componentRef.instance.data = {
214
+ value: this.popMenuValue,
215
+ element: this.elementRef.nativeElement,
216
+ elementPosition: this.tooltipPosition,
217
+ options: this.options,
218
+ };
219
+ this.clearTimeouts();
220
+ this.componentRef.instance.show = true;
221
+ }
222
+ hideTooltipElem() {
223
+ if (this.componentRef) {
224
+ this.componentRef.instance.close = true;
225
+ }
226
+ }
227
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: PopmenuDirective, deps: [{ token: PopmenuOptionsService, optional: true }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
228
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.10", type: PopmenuDirective, isStandalone: true, selector: "[apPopmenu]", inputs: { apPopmenuBorder: "apPopmenuBorder", apPopmenuDisabled: "apPopmenuDisabled", apPopmenuBackground: "apPopmenuBackground", arrow: "arrow", arrowOffset: "arrowOffset", arrowPosition: "arrowPosition", close: "close", hasBackdrop: "hasBackdrop", backdropClass: "backdropClass", panelClass: "panelClass", offset: "offset", offsets: "offsets", placement: "placement", pointer: "pointer", popMenuValue: ["apPopmenu", "popMenuValue"], position: "position", rounded: "rounded", shadow: "shadow", options: "options", menuOpen: "menuOpen" }, outputs: { menuClosed: "menuClosed", menuOpened: "menuOpened", menuOpenChange: "menuOpenChange" }, host: { listeners: { "click": "onClick()" } }, usesOnChanges: true, ngImport: i0 });
229
+ }
230
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: PopmenuDirective, decorators: [{
231
+ type: Directive,
232
+ args: [{
233
+ selector: '[apPopmenu]',
234
+ standalone: true,
235
+ }]
236
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
237
+ type: Optional
238
+ }, {
239
+ type: Inject,
240
+ args: [PopmenuOptionsService]
241
+ }] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ComponentFactoryResolver }, { type: i0.ApplicationRef }, { type: i0.Injector }]; }, propDecorators: { apPopmenuBorder: [{
242
+ type: Input
243
+ }], apPopmenuDisabled: [{
244
+ type: Input
245
+ }], apPopmenuBackground: [{
246
+ type: Input
247
+ }], arrow: [{
248
+ type: Input
249
+ }], arrowOffset: [{
250
+ type: Input
251
+ }], arrowPosition: [{
252
+ type: Input
253
+ }], close: [{
254
+ type: Input
255
+ }], hasBackdrop: [{
256
+ type: Input
257
+ }], backdropClass: [{
258
+ type: Input
259
+ }], panelClass: [{
260
+ type: Input
261
+ }], offset: [{
262
+ type: Input
263
+ }], offsets: [{
264
+ type: Input
265
+ }], placement: [{
266
+ type: Input
267
+ }], pointer: [{
268
+ type: Input
269
+ }], popMenuValue: [{
270
+ type: Input,
271
+ args: ['apPopmenu']
272
+ }], position: [{
273
+ type: Input
274
+ }], rounded: [{
275
+ type: Input
276
+ }], shadow: [{
277
+ type: Input
278
+ }], menuClosed: [{
279
+ type: Output
280
+ }], menuOpened: [{
281
+ type: Output
282
+ }], options: [{
283
+ type: Input
284
+ }], menuOpenChange: [{
285
+ type: Output
286
+ }], menuOpen: [{
287
+ type: Input
288
+ }], onClick: [{
289
+ type: HostListener,
290
+ args: ['click']
291
+ }] } });
292
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wbWVudS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvcG9wbWVudS9zcmMvcG9wbWVudS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlILFNBQVMsRUFHVCxZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFFTixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sR0FHVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQWV2RCxNQUFNLE9BQU8sZ0JBQWdCO0lBNkU4QjtJQUM1QztJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBakZILGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDeEIsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQzFCLG1CQUFtQixHQUFHLElBQUksQ0FBQztJQUMzQixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ2QsV0FBVyxDQUFxQjtJQUNoQyxhQUFhLENBQXFCO0lBQ2xDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDZCxXQUFXLEdBQVksSUFBSSxDQUFDO0lBQzVCLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDbkIsVUFBVSxDQUFxQjtJQUMvQixNQUFNLENBQXFCO0lBQzNCLE9BQU8sQ0FBdUQ7SUFDOUQsU0FBUyxHQUFXLFFBQVEsQ0FBQztJQUM3QixPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ0osWUFBWSxDQUFvQjtJQUMzQyxRQUFRLENBQTRDO0lBQ3BELE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDaEIsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUNkLFVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUN4RCxVQUFV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QkFBckIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDYyxZQUFZO3NCQUEvQixLQUFLO3VCQUFDLFdBQVc7Z0JBQ1QsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFrQk0sT0FBTztzQkFBbkIsS0FBSztnQkFzRU4sY0FBYztzQkFEYixNQUFNO2dCQUtILFFBQVE7c0JBRFgsS0FBSztnQkE0R04sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFwcGxpY2F0aW9uUmVmLFxuICAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBDb21wb25lbnRSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMiwgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQb3BtZW51T3B0aW9ucyB9IGZyb20gJy4vcG9wbWVudS1vcHRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBkZWZhdWx0T3B0aW9ucyB9IGZyb20gJy4vb3B0aW9ucyc7XG5pbXBvcnQgeyBQb3BtZW51T3B0aW9uc1NlcnZpY2UgfSBmcm9tICcuL3BvcG1lbnUtb3B0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IFBvcG1lbnVDb21wb25lbnQgfSBmcm9tICcuL3BvcG1lbnUuY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBBZENvbXBvbmVudCB7XG4gICAgZGF0YTogYW55O1xuICAgIHNob3c6IGJvb2xlYW47XG4gICAgY2xvc2U6IGJvb2xlYW47XG4gICAgbWVudUNsb3NlZDogYW55O1xuICAgIG1lbnVPcGVuZWQ6IGFueTtcbiAgICBtZW51T3BlbjogYm9vbGVhbjtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbYXBQb3BtZW51XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgUG9wbWVudURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcbiAgICBASW5wdXQoKSBhcFBvcG1lbnVCb3JkZXIgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBhcFBvcG1lbnVEaXNhYmxlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGFwUG9wbWVudUJhY2tncm91bmQgPSB0cnVlO1xuICAgIEBJbnB1dCgpIGFycm93ID0gZmFsc2U7XG4gICAgQElucHV0KCkgYXJyb3dPZmZzZXQ6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBhcnJvd1Bvc2l0aW9uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgY2xvc2UgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBoYXNCYWNrZHJvcDogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgYmFja2Ryb3BDbGFzcyA9ICcnO1xuICAgIEBJbnB1dCgpIHBhbmVsQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBvZmZzZXQ6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBvZmZzZXRzOiB7IGRpc3RhbmNlPzogbnVtYmVyOyBza2lkZGluZz86IG51bWJlciB9IHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHBsYWNlbWVudDogc3RyaW5nID0gJ2JvdHRvbSc7XG4gICAgQElucHV0KCkgcG9pbnRlciA9IHRydWU7XG4gICAgQElucHV0KCdhcFBvcG1lbnUnKSBwb3BNZW51VmFsdWUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBJbnB1dCgpIHBvc2l0aW9uOiB7IHRvcDogbnVtYmVyOyBsZWZ0OiBudW1iZXIgfSB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSByb3VuZGVkID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2hhZG93ID0gZmFsc2U7XG4gICAgQE91dHB1dCgpIG1lbnVDbG9zZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIG1lbnVPcGVuZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBjb21wb25lbnRFbGVtZW50ITogSFRNTEVsZW1lbnQ7XG4gICAgaGlkZVRpbWVvdXRJZDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIGRlc3Ryb3lUaW1lb3V0SWQ6IG51bWJlciB8IHVuZGVmaW5lZFxuICAgIGNyZWF0ZVRpbWVvdXRJZDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIHNob3dUaW1lb3V0SWQ6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBjb21wb25lbnRSZWYhOiBDb21wb25lbnRSZWY8YW55PjtcbiAgICBlbGVtZW50UG9zaXRpb246IGFueTtcbiAgICBjb21wb25lbnRTdWJzY3JpYmU6IGFueTtcbiAgICBfZGVmYXVsdE9wdGlvbnM6IGFueTtcblxuICAgIF9vcHRpb25zOiBQb3BtZW51T3B0aW9ucyA9IHt9O1xuXG4gICAgZ2V0IG9wdGlvbnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcHRpb25zO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBvcHRpb25zKHZhbHVlOiBQb3BtZW51T3B0aW9ucykge1xuICAgICAgICBpZiAodmFsdWUgJiYgZGVmYXVsdE9wdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMuX29wdGlvbnMgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBkZXN0cm95RGVsYXkoKSB7XG4gICAgICAgIHJldHVybiBOdW1iZXIodGhpcy5nZXRIaWRlRGVsYXkoKSkgKyBOdW1iZXIodGhpcy5vcHRpb25zWydhbmltYXRpb25EdXJhdGlvbiddKTtcbiAgICB9XG5cbiAgICBnZXQgaXNEaXNwbGF5T25Ib3ZlcigpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMub3B0aW9uc1snZGlzcGxheSddID09PSBmYWxzZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMub3B0aW9uc1snZGlzcGxheVRvdWNoc2NyZWVuJ10gPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5vcHRpb25zWyd0cmlnZ2VyJ10gIT09ICdob3ZlcicpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGdldCBpc1Rvb2x0aXBEZXN0cm95ZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBvbmVudFJlZiAmJiB0aGlzLmNvbXBvbmVudFJlZi5ob3N0Vmlldy5kZXN0cm95ZWQ7XG4gICAgfVxuXG4gICAgZ2V0IHRvb2x0aXBQb3NpdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMub3B0aW9uc1sncG9zaXRpb24nXSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9uc1sncG9zaXRpb24nXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRQb3NpdGlvbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFBvcG1lbnVPcHRpb25zU2VydmljZSkgcHJpdmF0ZSBpbml0T3B0aW9uczogUG9wbWVudU9wdGlvbnMsXG4gICAgICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHt9XG5cbiAgICBhcHBlbmRDb21wb25lbnRUb0JvZHkoY29tcG9uZW50OiBhbnksIGRhdGE6IGFueSA9IHt9KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50KS5jcmVhdGUodGhpcy5pbmplY3Rvcik7XG5cbiAgICAgICAgKDxBZENvbXBvbmVudD50aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSkuZGF0YSA9IHtcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnBvcE1lbnVWYWx1ZSxcbiAgICAgICAgICAgIGVsZW1lbnQ6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgZWxlbWVudFBvc2l0aW9uOiB0aGlzLnRvb2x0aXBQb3NpdGlvbixcbiAgICAgICAgICAgIG9wdGlvbnM6IHRoaXMub3B0aW9ucyxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyh0aGlzLmNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgICAgIHRoaXMuY29tcG9uZW50RWxlbWVudCA9ICh0aGlzLmNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55Pikucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuY29tcG9uZW50RWxlbWVudCk7XG4gICAgICAgIHRoaXMuY29tcG9uZW50U3Vic2NyaWJlID0gKDxBZENvbXBvbmVudD50aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSkubWVudUNsb3NlZC5zdWJzY3JpYmUoKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2xvc2UoZXZlbnQpO1xuICAgICAgICAgICAgdGhpcy5tZW51T3BlbiA9ICg8QWRDb21wb25lbnQ+dGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UpLm1lbnVPcGVuO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb21wb25lbnRTdWJzY3JpYmUgPSAoPEFkQ29tcG9uZW50PnRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlKS5tZW51T3BlbmVkLnN1YnNjcmliZSgoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVPcGVuKGV2ZW50KTtcbiAgICAgICAgICAgIHRoaXMubWVudU9wZW4gPSAoPEFkQ29tcG9uZW50PnRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlKS5tZW51T3BlbjtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgbWVudU9wZW5DaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICAjbWVudU9wZW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IG1lbnVPcGVuKCkge1xuICAgICAgICByZXR1cm4gdGhpcy4jbWVudU9wZW47XG4gICAgfVxuXG4gICAgc2V0IG1lbnVPcGVuKG1lbnVPcGVuOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMubWVudU9wZW5DaGFuZ2UuZW1pdChtZW51T3Blbik7XG4gICAgICAgIHRoaXMuI21lbnVPcGVuID0gbWVudU9wZW47XG4gICAgICAgIGlmICh0aGlzLiNtZW51T3Blbikge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgncG9wbWVudS1vcGVuJyk7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdwb3BtZW51LWNsb3NlJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdwb3BtZW51LW9wZW4nKTtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3BvcG1lbnUtY2xvc2UnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZUNsb3NlKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5tZW51Q2xvc2VkLmVtaXQoKTtcbiAgICB9XG5cbiAgICBoYW5kbGVPcGVuKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5tZW51T3BlbmVkLmVtaXQoKTtcbiAgICB9XG5cbiAgICBhcHBseU9wdGlvbnNEZWZhdWx0KGRlZmF1bHRPcHRpb25zOiBQb3BtZW51T3B0aW9ucywgb3B0aW9uczogUG9wbWVudU9wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdE9wdGlvbnMsIHRoaXMuaW5pdE9wdGlvbnMgfHwge30sIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIGNsZWFyVGltZW91dHMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNyZWF0ZVRpbWVvdXRJZCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuY3JlYXRlVGltZW91dElkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNob3dUaW1lb3V0SWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnNob3dUaW1lb3V0SWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaGlkZVRpbWVvdXRJZCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuaGlkZVRpbWVvdXRJZCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5kZXN0cm95VGltZW91dElkKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5kZXN0cm95VGltZW91dElkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNyZWF0ZVBvcE1lbnUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xlYXJUaW1lb3V0cygpO1xuXG4gICAgICAgIHRoaXMuY3JlYXRlVGltZW91dElkID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hcHBlbmRDb21wb25lbnRUb0JvZHkoUG9wbWVudUNvbXBvbmVudCk7XG4gICAgICAgIH0sIHRoaXMuZ2V0U2hvd0RlbGF5KCkpO1xuXG4gICAgICAgIHRoaXMuc2hvd1RpbWVvdXRJZCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hvd1Rvb2x0aXBFbGVtKCk7XG4gICAgICAgIH0sIHRoaXMuZ2V0U2hvd0RlbGF5KCkpO1xuICAgIH1cblxuICAgIGdldEVsZW1lbnRQb3NpdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UG9zaXRpb24gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB9XG5cbiAgICBnZXRIaWRlRGVsYXkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnNbJ2hpZGVEZWxheSddO1xuICAgIH1cblxuICAgIGdldFByb3BlcnRpZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBsZXQgcHJvcGVydGllczogYW55ID0ge307XG5cbiAgICAgICAgZm9yIChjb25zdCBwcm9wIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIGlmIChwcm9wICE9PSAnb3B0aW9ucycgJiYgcHJvcCAhPT0gJ3Rvb2x0aXBWYWx1ZScpIHtcbiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzW3Byb3BdID0gY2hhbmdlc1twcm9wXS5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocHJvcCA9PT0gJ29wdGlvbnMnKSB7XG4gICAgICAgICAgICAgICAgcHJvcGVydGllcyA9IGNoYW5nZXNbcHJvcF0uY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwcm9wZXJ0aWVzO1xuICAgIH1cblxuICAgIGdldFNob3dEZWxheSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9uc1snc2hvd0RlbGF5J107XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlcy5wb2ludGVyKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMucG9pbnRlcikge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjdXJzb3InKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2N1cnNvcicsICdwb2ludGVyJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXMuY2xvc2UgJiYgY2hhbmdlcy5jbG9zZS5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZVRvb2x0aXBFbGVtKCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2hhbmdlZE9wdGlvbnMgPSB0aGlzLmdldFByb3BlcnRpZXMoY2hhbmdlcyk7XG4gICAgICAgIHRoaXMuYXBwbHlPcHRpb25zRGVmYXVsdCh0aGlzLm9wdGlvbnMgJiYgT2JqZWN0LmtleXModGhpcy5vcHRpb25zKS5sZW5ndGggPiAwID8gdGhpcy5vcHRpb25zIDogZGVmYXVsdE9wdGlvbnMsIGNoYW5nZWRPcHRpb25zKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucG9pbnRlcikge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2N1cnNvcicsICdwb2ludGVyJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5tZW51T3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBvbkNsaWNrKCkge1xuICAgICAgICBpZiAodGhpcy5hcFBvcG1lbnVEaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2hvdygpO1xuICAgICAgICB0aGlzLmNsb3NlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIHNob3coKSB7XG4gICAgICAgIHRoaXMuZ2V0RWxlbWVudFBvc2l0aW9uKCk7XG4gICAgICAgIGlmICghdGhpcy5jb21wb25lbnRSZWYgfHwgdGhpcy5pc1Rvb2x0aXBEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlUG9wTWVudSgpO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLmlzVG9vbHRpcERlc3Ryb3llZCkge1xuICAgICAgICAgICAgdGhpcy5zaG93VG9vbHRpcEVsZW0oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNob3dUb29sdGlwRWxlbSgpOiB2b2lkIHtcbiAgICAgICAgKDxBZENvbXBvbmVudD50aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSkuZGF0YSA9IHtcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnBvcE1lbnVWYWx1ZSxcbiAgICAgICAgICAgIGVsZW1lbnQ6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgZWxlbWVudFBvc2l0aW9uOiB0aGlzLnRvb2x0aXBQb3NpdGlvbixcbiAgICAgICAgICAgIG9wdGlvbnM6IHRoaXMub3B0aW9ucyxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5jbGVhclRpbWVvdXRzKCk7XG4gICAgICAgICg8QWRDb21wb25lbnQ+dGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UpLnNob3cgPSB0cnVlO1xuICAgIH1cblxuICAgIGhpZGVUb29sdGlwRWxlbSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgICAoPEFkQ29tcG9uZW50PnRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlKS5jbG9zZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { PopmenuDirective } from './popmenu.directive';
3
+ import { PopmenuOptionsService } from './popmenu-options.service';
4
+ import { PopmenuComponent } from './popmenu.component';
5
+ import * as i0 from "@angular/core";
6
+ export class PopmenuModule {
7
+ static forRoot(initOptions) {
8
+ return {
9
+ ngModule: PopmenuModule,
10
+ providers: [
11
+ {
12
+ provide: PopmenuOptionsService,
13
+ useValue: initOptions,
14
+ },
15
+ ],
16
+ };
17
+ }
18
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: PopmenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.10", ngImport: i0, type: PopmenuModule, imports: [PopmenuDirective, PopmenuComponent], exports: [PopmenuDirective] });
20
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: PopmenuModule, imports: [PopmenuComponent] });
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: PopmenuModule, decorators: [{
23
+ type: NgModule,
24
+ args: [{
25
+ imports: [PopmenuDirective, PopmenuComponent],
26
+ exports: [PopmenuDirective],
27
+ }]
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wbWVudS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvcG9wbWVudS9zcmMvcG9wbWVudS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBTXZELE1BQU0sT0FBTyxhQUFhO0lBQ3RCLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBMkI7UUFDdEMsT0FBTztZQUNILFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUscUJBQXFCO29CQUM5QixRQUFRLEVBQUUsV0FBVztpQkFDeEI7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDO3dHQVhRLGFBQWE7eUdBQWIsYUFBYSxZQUhaLGdCQUFnQixFQUFFLGdCQUFnQixhQUNsQyxnQkFBZ0I7eUdBRWpCLGFBQWEsWUFITSxnQkFBZ0I7OzRGQUduQyxhQUFhO2tCQUp6QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO29CQUM3QyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUG9wbWVudURpcmVjdGl2ZSB9IGZyb20gJy4vcG9wbWVudS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUG9wbWVudU9wdGlvbnMgfSBmcm9tICcuL3BvcG1lbnUtb3B0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9wbWVudU9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9wb3BtZW51LW9wdGlvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBQb3BtZW51Q29tcG9uZW50IH0gZnJvbSAnLi9wb3BtZW51LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1BvcG1lbnVEaXJlY3RpdmUsIFBvcG1lbnVDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtQb3BtZW51RGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgUG9wbWVudU1vZHVsZSB7XG4gICAgc3RhdGljIGZvclJvb3QoaW5pdE9wdGlvbnM6IFBvcG1lbnVPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxQb3BtZW51TW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogUG9wbWVudU1vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogUG9wbWVudU9wdGlvbnNTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogaW5pdE9wdGlvbnMsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
@@ -0,0 +1,102 @@
1
+ import { forwardRef, Injectable } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { RadioComponent } from './radio.component';
4
+ import * as i0 from "@angular/core";
5
+ export const RADIO_VALUE_ACCESSOR = {
6
+ provide: NG_VALUE_ACCESSOR,
7
+ useExisting: forwardRef(() => RadioComponent),
8
+ multi: true,
9
+ };
10
+ export class RadioControlRegistry {
11
+ accessors = [];
12
+ add(control, accessor) {
13
+ this.accessors.push([control, accessor]);
14
+ }
15
+ remove(accessor) {
16
+ this.accessors = this.accessors.filter(([, radioComponent]) => {
17
+ return radioComponent !== accessor;
18
+ });
19
+ }
20
+ select(accessor) {
21
+ this.accessors.forEach(([ngControl, radioComponent]) => {
22
+ if (this.isSameGroup(ngControl, radioComponent, accessor) && radioComponent !== accessor) {
23
+ radioComponent.writeValue(accessor.value);
24
+ }
25
+ });
26
+ }
27
+ getIndex(accessor) {
28
+ return this.accessors.findIndex(([, radioComponent]) => {
29
+ return radioComponent === accessor;
30
+ });
31
+ }
32
+ getNextRadio(accessor) {
33
+ const index = this.getIndex(accessor);
34
+ const nextIndex = index + 1;
35
+ if (nextIndex >= this.accessors.length) {
36
+ return this.accessors[0][1];
37
+ }
38
+ const nextRadio = this.accessors[nextIndex];
39
+ return nextRadio ? nextRadio[1] : null;
40
+ }
41
+ getPreviousRadio(accessor) {
42
+ const index = this.getIndex(accessor);
43
+ if (index === 0) {
44
+ return this.accessors[this.accessors.length - 1][1];
45
+ }
46
+ const previousIndex = index - 1;
47
+ const previousRadio = this.accessors[previousIndex];
48
+ return previousRadio ? previousRadio[1] : null;
49
+ }
50
+ blurAllGroup(accessor) {
51
+ this.accessors.forEach(([, radioComponent]) => {
52
+ if (this.isSameGroup(accessor.control, radioComponent, accessor)) {
53
+ radioComponent.inputElement.nativeElement.blur();
54
+ }
55
+ });
56
+ }
57
+ setNegativeTabIndexToAllExcept(accessor) {
58
+ this.accessors.forEach(([, radioComponent]) => {
59
+ if (this.isSameGroup(accessor.control, radioComponent, accessor)) {
60
+ if (accessor.radioId !== radioComponent.radioId) {
61
+ radioComponent.inputElement.nativeElement.tabIndex = -1;
62
+ }
63
+ else {
64
+ radioComponent.inputElement.nativeElement.tabIndex = 0;
65
+ }
66
+ }
67
+ });
68
+ }
69
+ focusPrevious(accessor) {
70
+ const previousRadio = this.getPreviousRadio(accessor);
71
+ if (previousRadio) {
72
+ previousRadio.inputElement.nativeElement.focus();
73
+ }
74
+ }
75
+ focusNext(accessor) {
76
+ const nextRadio = this.getNextRadio(accessor);
77
+ if (nextRadio) {
78
+ nextRadio.inputElement.nativeElement.focus();
79
+ }
80
+ }
81
+ getFirstCheckedRadio() {
82
+ const checkedRadio = this.accessors.find(([, radioComponent]) => {
83
+ return radioComponent.checked;
84
+ });
85
+ return checkedRadio ? checkedRadio[1] : null;
86
+ }
87
+ isSameGroup(ngControl, radioComponent, accessor) {
88
+ if (!ngControl.control) {
89
+ return false;
90
+ }
91
+ return radioComponent.name === accessor.name;
92
+ }
93
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: RadioControlRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
94
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: RadioControlRegistry, providedIn: 'root' });
95
+ }
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: RadioControlRegistry, decorators: [{
97
+ type: Injectable,
98
+ args: [{
99
+ providedIn: 'root',
100
+ }]
101
+ }] });
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tY29udHJvbC5yZWdpc3RyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9yYWRpby9zcmMvcmFkaW8tY29udHJvbC5yZWdpc3RyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBRW5ELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFhO0lBQzFDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7SUFDN0MsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBS0YsTUFBTSxPQUFPLG9CQUFvQjtJQUNyQixTQUFTLEdBQWtDLEVBQUUsQ0FBQztJQUV0RCxHQUFHLENBQUMsT0FBa0IsRUFBRSxRQUF3QjtRQUM1QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBd0I7UUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsRUFBRSxFQUFFO1lBQzFELE9BQU8sY0FBYyxLQUFLLFFBQVEsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBd0I7UUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUMsRUFBRSxFQUFFO1lBQ25ELElBQUksSUFBSSxDQUFD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Q0FBQyxDQUFDO1FBQ3RELElBQUksYUFBYSxFQUFFO1lBQ2YsYUFBYSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDcEQ7SUFDTCxDQUFDO0lBRUQsU0FBUyxDQUFDLFFBQXdCO1FBQzlCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUMsSUFBSSxTQUFTLEVBQUU7WUFDWCxTQUFTLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNoRDtJQUNMLENBQUM7SUFFRCxvQkFBb0I7UUFDaEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLEVBQUUsRUFBRTtZQUM1RCxPQUFPLGNBQWMsQ0FBQyxPQUFPLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDakQsQ0FBQztJQUVPLFdBQVcsQ0FBQyxTQUFvQixFQUFFLGNBQThCLEVBQUUsUUFBd0I7UUFDOUYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUU7WUFDcEIsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxPQUFPLGNBQWMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLElBQUksQ0FBQztJQUNqRCxDQUFDO3dHQTdGUSxvQkFBb0I7NEdBQXBCLG9CQUFvQixjQUZqQixNQUFNOzs0RkFFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9yd2FyZFJlZiwgSW5qZWN0YWJsZSwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4vcmFkaW8uY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IFJBRElPX1ZBTFVFX0FDQ0VTU09SOiBQcm92aWRlciA9IHtcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSYWRpb0NvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWUsXG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBSYWRpb0NvbnRyb2xSZWdpc3RyeSB7XG4gICAgcHJpdmF0ZSBhY2Nlc3NvcnM6IFtOZ0NvbnRyb2wsIFJhZGlvQ29tcG9uZW50XVtdID0gW107XG5cbiAgICBhZGQoY29udHJvbDogTmdDb250cm9sLCBhY2Nlc3NvcjogUmFkaW9Db21wb25lbnQpIHtcbiAgICAgICAgdGhpcy5hY2Nlc3NvcnMucHVzaChbY29udHJvbCwgYWNjZXNzb3JdKTtcbiAgICB9XG5cbiAgICByZW1vdmUoYWNjZXNzb3I6IFJhZGlvQ29tcG9uZW50KSB7XG4gICAgICAgIHRoaXMuYWNjZXNzb3JzID0gdGhpcy5hY2Nlc3NvcnMuZmlsdGVyKChbLCByYWRpb0NvbXBvbmVudF0pID0+IHtcbiAgICAgICAgICAgIHJldHVybiByYWRpb0NvbXBvbmVudCAhPT0gYWNjZXNzb3I7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNlbGVjdChhY2Nlc3NvcjogUmFkaW9Db21wb25lbnQpIHtcbiAgICAgICAgdGhpcy5hY2Nlc3NvcnMuZm9yRWFjaCgoW25nQ29udHJvbCwgcmFkaW9Db21wb25lbnRdKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc1NhbWVHcm91cChuZ0NvbnRyb2wsIHJhZGlvQ29tcG9uZW50LCBhY2Nlc3NvcikgJiYgcmFkaW9Db21wb25lbnQgIT09IGFjY2Vzc29yKSB7XG4gICAgICAgICAgICAgICAgcmFkaW9Db21wb25lbnQud3JpdGVWYWx1ZShhY2Nlc3Nvci52YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldEluZGV4KGFjY2Vzc29yOiBSYWRpb0NvbXBvbmVudCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjY2Vzc29ycy5maW5kSW5kZXgoKFssIHJhZGlvQ29tcG9uZW50XSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHJhZGlvQ29tcG9uZW50ID09PSBhY2Nlc3NvcjtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0TmV4dFJhZGlvKGFjY2Vzc29yOiBSYWRpb0NvbXBvbmVudCk6IFJhZGlvQ29tcG9uZW50IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRJbmRleChhY2Nlc3Nvcik7XG4gICAgICAgIGNvbnN0IG5leHRJbmRleCA9IGluZGV4ICsgMTtcbiAgICAgICAgaWYgKG5leHRJbmRleCA+PSB0aGlzLmFjY2Vzc29ycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmFjY2Vzc29yc1swXVsxXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXh0UmFkaW8gPSB0aGlzLmFjY2Vzc29yc1tuZXh0SW5kZXhdO1xuICAgICAgICByZXR1cm4gbmV4dFJhZGlvID8gbmV4dFJhZGlvWzFdIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXRQcmV2aW91c1JhZGlvKGFjY2Vzc29yOiBSYWRpb0NvbXBvbmVudCk6IFJhZGlvQ29tcG9uZW50IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRJbmRleChhY2Nlc3Nvcik7XG4gICAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWNjZXNzb3JzW3RoaXMuYWNjZXNzb3JzLmxlbmd0aCAtIDFdWzFdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHByZXZpb3VzSW5kZXggPSBpbmRleCAtIDE7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzUmFkaW8gPSB0aGlzLmFjY2Vzc29yc1twcmV2aW91c0luZGV4XTtcbiAgICAgICAgcmV0dXJuIHByZXZpb3VzUmFkaW8gPyBwcmV2aW91c1JhZGlvWzFdIDogbnVsbDtcbiAgICB9XG5cbiAgICBibHVyQWxsR3JvdXAoYWNjZXNzb3I6IFJhZGlvQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWNjZXNzb3JzLmZvckVhY2goKFssIHJhZGlvQ29tcG9uZW50XSkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNTYW1lR3JvdXAoYWNjZXNzb3IuY29udHJvbCwgcmFkaW9Db21wb25lbnQsIGFjY2Vzc29yKSkge1xuICAgICAgICAgICAgICAgIHJhZGlvQ29tcG9uZW50LmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmJsdXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2V0TmVnYXRpdmVUYWJJbmRleFRvQWxsRXhjZXB0KGFjY2Vzc29yOiBSYWRpb0NvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFjY2Vzc29ycy5mb3JFYWNoKChbLCByYWRpb0NvbXBvbmVudF0pID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzU2FtZUdyb3VwKGFjY2Vzc29yLmNvbnRyb2wsIHJhZGlvQ29tcG9uZW50LCBhY2Nlc3NvcikpIHtcbiAgICAgICAgICAgICAgICBpZiAoYWNjZXNzb3IucmFkaW9JZCAhPT0gcmFkaW9Db21wb25lbnQucmFkaW9JZCkge1xuICAgICAgICAgICAgICAgICAgICByYWRpb0NvbXBvbmVudC5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC50YWJJbmRleCA9IC0xO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJhZGlvQ29tcG9uZW50LmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnRhYkluZGV4ID0gMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGZvY3VzUHJldmlvdXMoYWNjZXNzb3I6IFJhZGlvQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzUmFkaW8gPSB0aGlzLmdldFByZXZpb3VzUmFkaW8oYWNjZXNzb3IpO1xuICAgICAgICBpZiAocHJldmlvdXNSYWRpbykge1xuICAgICAgICAgICAgcHJldmlvdXNSYWRpby5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZm9jdXNOZXh0KGFjY2Vzc29yOiBSYWRpb0NvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXh0UmFkaW8gPSB0aGlzLmdldE5leHRSYWRpbyhhY2Nlc3Nvcik7XG4gICAgICAgIGlmIChuZXh0UmFkaW8pIHtcbiAgICAgICAgICAgIG5leHRSYWRpby5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0Rmlyc3RDaGVja2VkUmFkaW8oKTogUmFkaW9Db21wb25lbnQgfCBudWxsIHtcbiAgICAgICAgY29uc3QgY2hlY2tlZFJhZGlvID0gdGhpcy5hY2Nlc3NvcnMuZmluZCgoWywgcmFkaW9Db21wb25lbnRdKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gcmFkaW9Db21wb25lbnQuY2hlY2tlZDtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBjaGVja2VkUmFkaW8gPyBjaGVja2VkUmFkaW9bMV0gOiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNTYW1lR3JvdXAobmdDb250cm9sOiBOZ0NvbnRyb2wsIHJhZGlvQ29tcG9uZW50OiBSYWRpb0NvbXBvbmVudCwgYWNjZXNzb3I6IFJhZGlvQ29tcG9uZW50KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghbmdDb250cm9sLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmFkaW9Db21wb25lbnQubmFtZSA9PT0gYWNjZXNzb3IubmFtZTtcbiAgICB9XG59XG4iXX0=