@agorapulse/ui-components 18.1.13 → 18.2.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 (533) hide show
  1. package/action-dropdown/index.d.ts +105 -3
  2. package/add-comment/index.d.ts +24 -5
  3. package/agorapulse-ui-components-18.2.0.tgz +0 -0
  4. package/autocomplete/index.d.ts +43 -5
  5. package/avatar/index.d.ts +64 -5
  6. package/badge/index.d.ts +11 -5
  7. package/button/index.d.ts +54 -5
  8. package/checkbox/index.d.ts +54 -5
  9. package/close-button/index.d.ts +14 -5
  10. package/confirm-modal/index.d.ts +32 -5
  11. package/counter/index.d.ts +17 -5
  12. package/datepicker/index.d.ts +99 -5
  13. package/directives/index.d.ts +149 -3
  14. package/dot-stepper/index.d.ts +23 -5
  15. package/fesm2022/agorapulse-ui-components-action-dropdown.mjs +22 -32
  16. package/fesm2022/agorapulse-ui-components-action-dropdown.mjs.map +1 -1
  17. package/fesm2022/agorapulse-ui-components-add-comment.mjs +5 -5
  18. package/fesm2022/agorapulse-ui-components-add-comment.mjs.map +1 -1
  19. package/fesm2022/agorapulse-ui-components-autocomplete.mjs +8 -8
  20. package/fesm2022/agorapulse-ui-components-autocomplete.mjs.map +1 -1
  21. package/fesm2022/agorapulse-ui-components-avatar.mjs +24 -24
  22. package/fesm2022/agorapulse-ui-components-avatar.mjs.map +1 -1
  23. package/fesm2022/agorapulse-ui-components-badge.mjs +4 -4
  24. package/fesm2022/agorapulse-ui-components-badge.mjs.map +1 -1
  25. package/fesm2022/agorapulse-ui-components-button.mjs +6 -6
  26. package/fesm2022/agorapulse-ui-components-button.mjs.map +1 -1
  27. package/fesm2022/agorapulse-ui-components-checkbox.mjs +4 -4
  28. package/fesm2022/agorapulse-ui-components-checkbox.mjs.map +1 -1
  29. package/fesm2022/agorapulse-ui-components-close-button.mjs +7 -7
  30. package/fesm2022/agorapulse-ui-components-close-button.mjs.map +1 -1
  31. package/fesm2022/agorapulse-ui-components-confirm-modal.mjs +4 -4
  32. package/fesm2022/agorapulse-ui-components-confirm-modal.mjs.map +1 -1
  33. package/fesm2022/agorapulse-ui-components-counter.mjs +9 -9
  34. package/fesm2022/agorapulse-ui-components-counter.mjs.map +1 -1
  35. package/fesm2022/agorapulse-ui-components-datepicker.mjs +6 -6
  36. package/fesm2022/agorapulse-ui-components-datepicker.mjs.map +1 -1
  37. package/fesm2022/agorapulse-ui-components-directives.mjs +26 -28
  38. package/fesm2022/agorapulse-ui-components-directives.mjs.map +1 -1
  39. package/fesm2022/agorapulse-ui-components-dot-stepper.mjs +4 -4
  40. package/fesm2022/agorapulse-ui-components-dot-stepper.mjs.map +1 -1
  41. package/fesm2022/agorapulse-ui-components-form-field.mjs +3 -3
  42. package/fesm2022/agorapulse-ui-components-form-field.mjs.map +1 -1
  43. package/fesm2022/agorapulse-ui-components-form-message.mjs +6 -6
  44. package/fesm2022/agorapulse-ui-components-form-message.mjs.map +1 -1
  45. package/fesm2022/agorapulse-ui-components-icon-button.mjs +5 -5
  46. package/fesm2022/agorapulse-ui-components-icon-button.mjs.map +1 -1
  47. package/fesm2022/agorapulse-ui-components-infobox.mjs +4 -4
  48. package/fesm2022/agorapulse-ui-components-infobox.mjs.map +1 -1
  49. package/fesm2022/agorapulse-ui-components-input-group.mjs +6 -6
  50. package/fesm2022/agorapulse-ui-components-input-group.mjs.map +1 -1
  51. package/fesm2022/agorapulse-ui-components-input-search.mjs +13 -10
  52. package/fesm2022/agorapulse-ui-components-input-search.mjs.map +1 -1
  53. package/fesm2022/agorapulse-ui-components-input.mjs +3 -3
  54. package/fesm2022/agorapulse-ui-components-labels-selector.mjs +4 -4
  55. package/fesm2022/agorapulse-ui-components-labels-selector.mjs.map +1 -1
  56. package/fesm2022/agorapulse-ui-components-labels.mjs +8 -8
  57. package/fesm2022/agorapulse-ui-components-labels.mjs.map +1 -1
  58. package/fesm2022/agorapulse-ui-components-legacy-input.mjs +5 -5
  59. package/fesm2022/agorapulse-ui-components-legacy-input.mjs.map +1 -1
  60. package/fesm2022/agorapulse-ui-components-legacy-select.mjs +17 -17
  61. package/fesm2022/agorapulse-ui-components-legacy-select.mjs.map +1 -1
  62. package/fesm2022/agorapulse-ui-components-legacy-textarea.mjs +5 -5
  63. package/fesm2022/agorapulse-ui-components-legacy-textarea.mjs.map +1 -1
  64. package/fesm2022/agorapulse-ui-components-media-display-overlay.mjs +4 -4
  65. package/fesm2022/agorapulse-ui-components-media-display-overlay.mjs.map +1 -1
  66. package/fesm2022/agorapulse-ui-components-modal.mjs +4 -4
  67. package/fesm2022/agorapulse-ui-components-modal.mjs.map +1 -1
  68. package/fesm2022/agorapulse-ui-components-nav-selector-testing.mjs.map +1 -1
  69. package/fesm2022/agorapulse-ui-components-nav-selector.mjs +164 -159
  70. package/fesm2022/agorapulse-ui-components-nav-selector.mjs.map +1 -1
  71. package/fesm2022/agorapulse-ui-components-neo-datepicker.mjs +8 -8
  72. package/fesm2022/agorapulse-ui-components-neo-datepicker.mjs.map +1 -1
  73. package/fesm2022/agorapulse-ui-components-notification.mjs +4 -4
  74. package/fesm2022/agorapulse-ui-components-notification.mjs.map +1 -1
  75. package/fesm2022/agorapulse-ui-components-paginator.mjs +7 -7
  76. package/fesm2022/agorapulse-ui-components-paginator.mjs.map +1 -1
  77. package/fesm2022/agorapulse-ui-components-password-input.mjs +4 -4
  78. package/fesm2022/agorapulse-ui-components-password-input.mjs.map +1 -1
  79. package/fesm2022/agorapulse-ui-components-phone-number-input.mjs +16 -16
  80. package/fesm2022/agorapulse-ui-components-phone-number-input.mjs.map +1 -1
  81. package/fesm2022/agorapulse-ui-components-popmenu.mjs +11 -11
  82. package/fesm2022/agorapulse-ui-components-popmenu.mjs.map +1 -1
  83. package/fesm2022/agorapulse-ui-components-providers.mjs +19 -0
  84. package/fesm2022/agorapulse-ui-components-providers.mjs.map +1 -0
  85. package/fesm2022/agorapulse-ui-components-radio.mjs +6 -6
  86. package/fesm2022/agorapulse-ui-components-radio.mjs.map +1 -1
  87. package/fesm2022/agorapulse-ui-components-range-slider.mjs +4 -4
  88. package/fesm2022/agorapulse-ui-components-range-slider.mjs.map +1 -1
  89. package/fesm2022/agorapulse-ui-components-select.mjs +65 -65
  90. package/fesm2022/agorapulse-ui-components-select.mjs.map +1 -1
  91. package/fesm2022/agorapulse-ui-components-slide-toggle.mjs +4 -4
  92. package/fesm2022/agorapulse-ui-components-slide-toggle.mjs.map +1 -1
  93. package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs +8 -8
  94. package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs.map +1 -1
  95. package/fesm2022/agorapulse-ui-components-social-button.mjs +4 -4
  96. package/fesm2022/agorapulse-ui-components-social-button.mjs.map +1 -1
  97. package/fesm2022/agorapulse-ui-components-split-button.mjs +5 -5
  98. package/fesm2022/agorapulse-ui-components-split-button.mjs.map +1 -1
  99. package/fesm2022/agorapulse-ui-components-status-card.mjs +3 -3
  100. package/fesm2022/agorapulse-ui-components-status-card.mjs.map +1 -1
  101. package/fesm2022/agorapulse-ui-components-status.mjs +4 -4
  102. package/fesm2022/agorapulse-ui-components-status.mjs.map +1 -1
  103. package/fesm2022/agorapulse-ui-components-stepper.mjs +4 -4
  104. package/fesm2022/agorapulse-ui-components-stepper.mjs.map +1 -1
  105. package/fesm2022/agorapulse-ui-components-tag.mjs +9 -9
  106. package/fesm2022/agorapulse-ui-components-tag.mjs.map +1 -1
  107. package/fesm2022/agorapulse-ui-components-text-measurement.mjs +3 -3
  108. package/fesm2022/agorapulse-ui-components-textarea.mjs +3 -3
  109. package/fesm2022/agorapulse-ui-components-toggle.mjs +4 -4
  110. package/fesm2022/agorapulse-ui-components-toggle.mjs.map +1 -1
  111. package/fesm2022/agorapulse-ui-components-tooltip.mjs +15 -15
  112. package/fesm2022/agorapulse-ui-components-tooltip.mjs.map +1 -1
  113. package/fesm2022/agorapulse-ui-components.mjs +4 -4
  114. package/fesm2022/agorapulse-ui-components.mjs.map +1 -1
  115. package/form-field/index.d.ts +8 -5
  116. package/form-message/index.d.ts +16 -5
  117. package/icon-button/index.d.ts +44 -5
  118. package/index.d.ts +50 -25
  119. package/infobox/index.d.ts +29 -5
  120. package/input/index.d.ts +10 -5
  121. package/input-group/index.d.ts +14 -5
  122. package/input-search/index.d.ts +35 -5
  123. package/labels/index.d.ts +59 -5
  124. package/labels-selector/index.d.ts +46 -5
  125. package/legacy/input/index.d.ts +64 -3
  126. package/legacy/select/index.d.ts +124 -3
  127. package/legacy/textarea/index.d.ts +54 -3
  128. package/media-display-overlay/index.d.ts +46 -5
  129. package/modal/index.d.ts +58 -5
  130. package/nav-selector/index.d.ts +372 -3
  131. package/nav-selector/testing/index.d.ts +67 -3
  132. package/neo-datepicker/index.d.ts +74 -5
  133. package/notification/index.d.ts +9 -5
  134. package/package.json +14 -112
  135. package/paginator/index.d.ts +57 -5
  136. package/password-input/index.d.ts +36 -5
  137. package/phone-number-input/index.d.ts +54 -5
  138. package/popmenu/index.d.ts +212 -3
  139. package/providers/index.d.ts +11 -0
  140. package/radio/index.d.ts +80 -5
  141. package/range-slider/index.d.ts +39 -5
  142. package/select/index.d.ts +214 -5
  143. package/slide-toggle/index.d.ts +23 -5
  144. package/snackbars-thread/index.d.ts +73 -3
  145. package/social-button/index.d.ts +34 -5
  146. package/split-button/index.d.ts +47 -5
  147. package/status/index.d.ts +13 -5
  148. package/status-card/index.d.ts +17 -5
  149. package/stepper/index.d.ts +26 -5
  150. package/tag/index.d.ts +28 -5
  151. package/text-measurement/index.d.ts +11 -5
  152. package/textarea/index.d.ts +14 -5
  153. package/toggle/index.d.ts +55 -5
  154. package/tooltip/index.d.ts +62 -5
  155. package/action-dropdown/action-dropdown-trigger.directive.d.ts +0 -17
  156. package/action-dropdown/action-dropdown.component.d.ts +0 -87
  157. package/action-dropdown/providers.d.ts +0 -8
  158. package/action-dropdown/public_api.d.ts +0 -3
  159. package/add-comment/add-comment.component.d.ts +0 -21
  160. package/add-comment/public_api.d.ts +0 -1
  161. package/agorapulse-ui-components-18.1.13.tgz +0 -0
  162. package/autocomplete/autocomplete.component.d.ts +0 -40
  163. package/autocomplete/public_api.d.ts +0 -1
  164. package/avatar/avatar.component.d.ts +0 -61
  165. package/avatar/public_api.d.ts +0 -1
  166. package/badge/badge.component.d.ts +0 -7
  167. package/badge/public_api.d.ts +0 -1
  168. package/button/button.component.d.ts +0 -52
  169. package/button/public_api.d.ts +0 -1
  170. package/checkbox/checkbox.component.d.ts +0 -51
  171. package/checkbox/public_api.d.ts +0 -1
  172. package/close-button/close-button.component.d.ts +0 -11
  173. package/close-button/public_api.d.ts +0 -1
  174. package/confirm-modal/confirm-modal-texts.model.d.ts +0 -8
  175. package/confirm-modal/confirm-modal.component.d.ts +0 -20
  176. package/confirm-modal/public_api.d.ts +0 -2
  177. package/counter/counter.component.d.ts +0 -13
  178. package/counter/public_api.d.ts +0 -1
  179. package/datepicker/datepicker.component.d.ts +0 -100
  180. package/datepicker/public_api.d.ts +0 -1
  181. package/directives/autosize-textarea.directive.d.ts +0 -12
  182. package/directives/base-button.directive.d.ts +0 -13
  183. package/directives/checkbox.directive.d.ts +0 -32
  184. package/directives/default-image.directive.d.ts +0 -8
  185. package/directives/ellipsis.directive.d.ts +0 -29
  186. package/directives/equal-validator.directive.d.ts +0 -13
  187. package/directives/frozen-gif.directive.d.ts +0 -30
  188. package/directives/multi-style-text.directive.d.ts +0 -16
  189. package/directives/public_api.d.ts +0 -8
  190. package/dot-stepper/dot-stepper.component.d.ts +0 -20
  191. package/dot-stepper/public_api.d.ts +0 -1
  192. package/esm2022/action-dropdown/action-dropdown-trigger.directive.mjs +0 -54
  193. package/esm2022/action-dropdown/action-dropdown.component.mjs +0 -272
  194. package/esm2022/action-dropdown/agorapulse-ui-components-action-dropdown.mjs +0 -5
  195. package/esm2022/action-dropdown/providers.mjs +0 -12
  196. package/esm2022/action-dropdown/public_api.mjs +0 -4
  197. package/esm2022/add-comment/add-comment.component.mjs +0 -72
  198. package/esm2022/add-comment/agorapulse-ui-components-add-comment.mjs +0 -5
  199. package/esm2022/add-comment/public_api.mjs +0 -2
  200. package/esm2022/agorapulse-ui-components.mjs +0 -5
  201. package/esm2022/autocomplete/agorapulse-ui-components-autocomplete.mjs +0 -5
  202. package/esm2022/autocomplete/autocomplete.component.mjs +0 -125
  203. package/esm2022/autocomplete/public_api.mjs +0 -2
  204. package/esm2022/avatar/agorapulse-ui-components-avatar.mjs +0 -5
  205. package/esm2022/avatar/avatar.component.mjs +0 -161
  206. package/esm2022/avatar/public_api.mjs +0 -2
  207. package/esm2022/badge/agorapulse-ui-components-badge.mjs +0 -5
  208. package/esm2022/badge/badge.component.mjs +0 -17
  209. package/esm2022/badge/public_api.mjs +0 -2
  210. package/esm2022/button/agorapulse-ui-components-button.mjs +0 -5
  211. package/esm2022/button/button.component.mjs +0 -105
  212. package/esm2022/button/public_api.mjs +0 -2
  213. package/esm2022/checkbox/agorapulse-ui-components-checkbox.mjs +0 -5
  214. package/esm2022/checkbox/checkbox.component.mjs +0 -177
  215. package/esm2022/checkbox/public_api.mjs +0 -2
  216. package/esm2022/close-button/agorapulse-ui-components-close-button.mjs +0 -5
  217. package/esm2022/close-button/close-button.component.mjs +0 -20
  218. package/esm2022/close-button/public_api.mjs +0 -2
  219. package/esm2022/confirm-modal/agorapulse-ui-components-confirm-modal.mjs +0 -5
  220. package/esm2022/confirm-modal/confirm-modal-texts.model.mjs +0 -2
  221. package/esm2022/confirm-modal/confirm-modal.component.mjs +0 -61
  222. package/esm2022/confirm-modal/public_api.mjs +0 -3
  223. package/esm2022/counter/agorapulse-ui-components-counter.mjs +0 -5
  224. package/esm2022/counter/counter.component.mjs +0 -32
  225. package/esm2022/counter/public_api.mjs +0 -2
  226. package/esm2022/datepicker/agorapulse-ui-components-datepicker.mjs +0 -5
  227. package/esm2022/datepicker/datepicker.component.mjs +0 -288
  228. package/esm2022/datepicker/public_api.mjs +0 -2
  229. package/esm2022/directives/agorapulse-ui-components-directives.mjs +0 -5
  230. package/esm2022/directives/autosize-textarea.directive.mjs +0 -45
  231. package/esm2022/directives/base-button.directive.mjs +0 -47
  232. package/esm2022/directives/checkbox.directive.mjs +0 -283
  233. package/esm2022/directives/default-image.directive.mjs +0 -37
  234. package/esm2022/directives/ellipsis.directive.mjs +0 -90
  235. package/esm2022/directives/equal-validator.directive.mjs +0 -73
  236. package/esm2022/directives/frozen-gif.directive.mjs +0 -125
  237. package/esm2022/directives/multi-style-text.directive.mjs +0 -61
  238. package/esm2022/directives/public_api.mjs +0 -9
  239. package/esm2022/dot-stepper/agorapulse-ui-components-dot-stepper.mjs +0 -5
  240. package/esm2022/dot-stepper/dot-stepper.component.mjs +0 -46
  241. package/esm2022/dot-stepper/public_api.mjs +0 -2
  242. package/esm2022/form-field/agorapulse-ui-components-form-field.mjs +0 -5
  243. package/esm2022/form-field/form-field.component.mjs +0 -11
  244. package/esm2022/form-field/public_api.mjs +0 -2
  245. package/esm2022/form-message/agorapulse-ui-components-form-message.mjs +0 -5
  246. package/esm2022/form-message/form-message.component.mjs +0 -34
  247. package/esm2022/form-message/public_api.mjs +0 -2
  248. package/esm2022/icon-button/agorapulse-ui-components-icon-button.mjs +0 -5
  249. package/esm2022/icon-button/icon-button.component.mjs +0 -123
  250. package/esm2022/icon-button/public_api.mjs +0 -2
  251. package/esm2022/index.mjs +0 -49
  252. package/esm2022/infobox/agorapulse-ui-components-infobox.mjs +0 -5
  253. package/esm2022/infobox/infobox.component.mjs +0 -72
  254. package/esm2022/infobox/public_api.mjs +0 -2
  255. package/esm2022/input/agorapulse-ui-components-input.mjs +0 -5
  256. package/esm2022/input/input.directive.mjs +0 -19
  257. package/esm2022/input/public_api.mjs +0 -2
  258. package/esm2022/input-group/agorapulse-ui-components-input-group.mjs +0 -5
  259. package/esm2022/input-group/input-group.component.mjs +0 -14
  260. package/esm2022/input-group/input-prefix/input-prefix.component.mjs +0 -11
  261. package/esm2022/input-group/public_api.mjs +0 -3
  262. package/esm2022/input-search/agorapulse-ui-components-input-search.mjs +0 -5
  263. package/esm2022/input-search/input-search.component.mjs +0 -78
  264. package/esm2022/input-search/public_api.mjs +0 -2
  265. package/esm2022/labels/agorapulse-ui-components-labels.mjs +0 -5
  266. package/esm2022/labels/label-list.component.mjs +0 -108
  267. package/esm2022/labels/label.component.mjs +0 -56
  268. package/esm2022/labels/public_api.mjs +0 -3
  269. package/esm2022/labels-selector/agorapulse-ui-components-labels-selector.mjs +0 -5
  270. package/esm2022/labels-selector/labels-selector.component.mjs +0 -122
  271. package/esm2022/labels-selector/public_api.mjs +0 -2
  272. package/esm2022/legacy/input/agorapulse-ui-components-legacy-input.mjs +0 -5
  273. package/esm2022/legacy/input/input.component.mjs +0 -189
  274. package/esm2022/legacy/input/public_api.mjs +0 -2
  275. package/esm2022/legacy/select/agorapulse-ui-components-legacy-select.mjs +0 -5
  276. package/esm2022/legacy/select/public_api.mjs +0 -2
  277. package/esm2022/legacy/select/select.component.mjs +0 -451
  278. package/esm2022/legacy/textarea/agorapulse-ui-components-legacy-textarea.mjs +0 -5
  279. package/esm2022/legacy/textarea/public_api.mjs +0 -2
  280. package/esm2022/legacy/textarea/textarea.component.mjs +0 -154
  281. package/esm2022/media-display-overlay/agorapulse-ui-components-media-display-overlay.mjs +0 -5
  282. package/esm2022/media-display-overlay/media-display-overlay-dialog.component.mjs +0 -122
  283. package/esm2022/media-display-overlay/public_api.mjs +0 -2
  284. package/esm2022/modal/agorapulse-ui-components-modal.mjs +0 -5
  285. package/esm2022/modal/modal.component.mjs +0 -116
  286. package/esm2022/modal/public_api.mjs +0 -2
  287. package/esm2022/nav-selector/agorapulse-ui-components-nav-selector.mjs +0 -5
  288. package/esm2022/nav-selector/directives/nav-selector-popover-trigger.directive.mjs +0 -71
  289. package/esm2022/nav-selector/directives/tree-node-accessibility.directive.mjs +0 -30
  290. package/esm2022/nav-selector/nav-selector-category/nav-selector-category.component.mjs +0 -129
  291. package/esm2022/nav-selector/nav-selector-category/nav-selector-category.presenter.mjs +0 -28
  292. package/esm2022/nav-selector/nav-selector-group/nav-selector-group.component.mjs +0 -174
  293. package/esm2022/nav-selector/nav-selector-group/nav-selector-group.presenter.mjs +0 -30
  294. package/esm2022/nav-selector/nav-selector-leaf/nav-selector-leaf.component.mjs +0 -242
  295. package/esm2022/nav-selector/nav-selector-leaf/nav-selector-leaf.presenter.mjs +0 -36
  296. package/esm2022/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.component.mjs +0 -43
  297. package/esm2022/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.presenter.mjs +0 -20
  298. package/esm2022/nav-selector/nav-selector-leaf-details/nav-selector-leaf-details.component.mjs +0 -95
  299. package/esm2022/nav-selector/nav-selector-leaf-details/nav-selector-leaf-details.presenter.mjs +0 -31
  300. package/esm2022/nav-selector/nav-selector-popover/nav-selector-popover-item.component.mjs +0 -65
  301. package/esm2022/nav-selector/nav-selector-popover/nav-selector-popover.component.mjs +0 -132
  302. package/esm2022/nav-selector/nav-selector.component.mjs +0 -201
  303. package/esm2022/nav-selector/nav-selector.mjs +0 -9
  304. package/esm2022/nav-selector/nav-selector.state.mjs +0 -207
  305. package/esm2022/nav-selector/public_api.mjs +0 -3
  306. package/esm2022/nav-selector/testing/agorapulse-ui-components-nav-selector-testing.mjs +0 -5
  307. package/esm2022/nav-selector/testing/nav-selector-entry.mock.mjs +0 -91
  308. package/esm2022/nav-selector/testing/public_api.mjs +0 -2
  309. package/esm2022/nav-selector/utils/leaf.utils.mjs +0 -44
  310. package/esm2022/nav-selector/utils/nav-selector.accessibility.mjs +0 -179
  311. package/esm2022/nav-selector/utils/nav-selector.builder.mjs +0 -271
  312. package/esm2022/nav-selector/utils/nav-selector.filter.mjs +0 -141
  313. package/esm2022/nav-selector/utils/nav-selector.folding.mjs +0 -284
  314. package/esm2022/nav-selector/utils/nav-selector.merger.mjs +0 -76
  315. package/esm2022/nav-selector/utils/nav-selector.minifying.mjs +0 -59
  316. package/esm2022/nav-selector/utils/nav-selector.multi-select.mjs +0 -208
  317. package/esm2022/nav-selector/utils/nav-selector.single-select.mjs +0 -113
  318. package/esm2022/nav-selector/utils/nav-selector.view-more.mjs +0 -98
  319. package/esm2022/neo-datepicker/agorapulse-ui-components-neo-datepicker.mjs +0 -5
  320. package/esm2022/neo-datepicker/day-detail.model.mjs +0 -2
  321. package/esm2022/neo-datepicker/day-disabled.pipe.mjs +0 -21
  322. package/esm2022/neo-datepicker/neo-datepicker.component.mjs +0 -241
  323. package/esm2022/neo-datepicker/public_api.mjs +0 -4
  324. package/esm2022/notification/agorapulse-ui-components-notification.mjs +0 -5
  325. package/esm2022/notification/notification.component.mjs +0 -15
  326. package/esm2022/notification/public_api.mjs +0 -2
  327. package/esm2022/paginator/agorapulse-ui-components-paginator.mjs +0 -5
  328. package/esm2022/paginator/paginator-button/paginator-button.component.mjs +0 -51
  329. package/esm2022/paginator/paginator.component.mjs +0 -114
  330. package/esm2022/paginator/public_api.mjs +0 -3
  331. package/esm2022/password-input/agorapulse-ui-components-password-input.mjs +0 -5
  332. package/esm2022/password-input/password-input.component.mjs +0 -78
  333. package/esm2022/password-input/public_api.mjs +0 -2
  334. package/esm2022/phone-number-input/agorapulse-ui-components-phone-number-input.mjs +0 -5
  335. package/esm2022/phone-number-input/phone-number-input.component.mjs +0 -195
  336. package/esm2022/phone-number-input/public_api.mjs +0 -2
  337. package/esm2022/popmenu/agorapulse-ui-components-popmenu.mjs +0 -5
  338. package/esm2022/popmenu/options.mjs +0 -17
  339. package/esm2022/popmenu/popmenu-options.interface.mjs +0 -2
  340. package/esm2022/popmenu/popmenu-options.service.mjs +0 -7
  341. package/esm2022/popmenu/popmenu.component.mjs +0 -383
  342. package/esm2022/popmenu/popmenu.directive.mjs +0 -296
  343. package/esm2022/popmenu/popmenu.module.mjs +0 -29
  344. package/esm2022/popmenu/public_api.mjs +0 -5
  345. package/esm2022/radio/agorapulse-ui-components-radio.mjs +0 -5
  346. package/esm2022/radio/public_api.mjs +0 -2
  347. package/esm2022/radio/radio.component.mjs +0 -319
  348. package/esm2022/range-slider/agorapulse-ui-components-range-slider.mjs +0 -5
  349. package/esm2022/range-slider/public_api.mjs +0 -2
  350. package/esm2022/range-slider/range-slider.component.mjs +0 -154
  351. package/esm2022/select/agorapulse-ui-components-select.mjs +0 -5
  352. package/esm2022/select/ap-select.module.mjs +0 -78
  353. package/esm2022/select/dropdown-group-item/dropdown-group-item.component.mjs +0 -51
  354. package/esm2022/select/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.mjs +0 -75
  355. package/esm2022/select/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.mjs +0 -79
  356. package/esm2022/select/dropdown-item-single-one-line/dropdown-item-single-one-line.component.mjs +0 -59
  357. package/esm2022/select/dropdown-item-single-two-lines/dropdown-item-single-two-lines.component.mjs +0 -60
  358. package/esm2022/select/dropdown-search-form/dropdown-search-form.component.mjs +0 -98
  359. package/esm2022/select/public_api.mjs +0 -13
  360. package/esm2022/select/select-base.directive.mjs +0 -69
  361. package/esm2022/select/select-label-multiple/select-label-multiple.component.mjs +0 -95
  362. package/esm2022/select/select-label-single/select-label-single.component.mjs +0 -33
  363. package/esm2022/select/select-multiple.directive.mjs +0 -35
  364. package/esm2022/select/select-single.directive.mjs +0 -34
  365. package/esm2022/slide-toggle/agorapulse-ui-components-slide-toggle.mjs +0 -5
  366. package/esm2022/slide-toggle/public_api.mjs +0 -2
  367. package/esm2022/slide-toggle/slide-toggle.component.mjs +0 -66
  368. package/esm2022/snackbars-thread/agorapulse-ui-components-snackbars-thread.mjs +0 -5
  369. package/esm2022/snackbars-thread/component/snackbars-thread.component.mjs +0 -93
  370. package/esm2022/snackbars-thread/model/snackbars-thread.model.mjs +0 -44
  371. package/esm2022/snackbars-thread/public_api.mjs +0 -4
  372. package/esm2022/snackbars-thread/service/snackbars-thread.service.mjs +0 -47
  373. package/esm2022/snackbars-thread/utils/const/snackbars-thread.const.mjs +0 -13
  374. package/esm2022/social-button/agorapulse-ui-components-social-button.mjs +0 -5
  375. package/esm2022/social-button/public_api.mjs +0 -2
  376. package/esm2022/social-button/social-button.component.mjs +0 -164
  377. package/esm2022/split-button/agorapulse-ui-components-split-button.mjs +0 -5
  378. package/esm2022/split-button/public_api.mjs +0 -2
  379. package/esm2022/split-button/split-button.component.mjs +0 -122
  380. package/esm2022/src/lib/agorapulse-ui-components.module.mjs +0 -200
  381. package/esm2022/status/agorapulse-ui-components-status.mjs +0 -5
  382. package/esm2022/status/public_api.mjs +0 -2
  383. package/esm2022/status/status.component.mjs +0 -21
  384. package/esm2022/status-card/agorapulse-ui-components-status-card.mjs +0 -5
  385. package/esm2022/status-card/public_api.mjs +0 -2
  386. package/esm2022/status-card/status-card.component.mjs +0 -23
  387. package/esm2022/stepper/agorapulse-ui-components-stepper.mjs +0 -5
  388. package/esm2022/stepper/public_api.mjs +0 -3
  389. package/esm2022/stepper/step.model.mjs +0 -2
  390. package/esm2022/stepper/stepper.component.mjs +0 -38
  391. package/esm2022/tag/agorapulse-ui-components-tag.mjs +0 -5
  392. package/esm2022/tag/public_api.mjs +0 -2
  393. package/esm2022/tag/tag.component.mjs +0 -35
  394. package/esm2022/text-measurement/agorapulse-ui-components-text-measurement.mjs +0 -5
  395. package/esm2022/text-measurement/public_api.mjs +0 -2
  396. package/esm2022/text-measurement/text-measurement.service.mjs +0 -29
  397. package/esm2022/textarea/agorapulse-ui-components-textarea.mjs +0 -5
  398. package/esm2022/textarea/public_api.mjs +0 -2
  399. package/esm2022/textarea/textarea.directive.mjs +0 -37
  400. package/esm2022/toggle/agorapulse-ui-components-toggle.mjs +0 -5
  401. package/esm2022/toggle/public_api.mjs +0 -2
  402. package/esm2022/toggle/toggle.component.mjs +0 -208
  403. package/esm2022/tooltip/agorapulse-ui-components-tooltip.mjs +0 -5
  404. package/esm2022/tooltip/public_api.mjs +0 -2
  405. package/esm2022/tooltip/tooltip.directive.mjs +0 -401
  406. package/esm2022/tooltip/tooltip.service.mjs +0 -29
  407. package/form-field/form-field.component.d.ts +0 -5
  408. package/form-field/public_api.d.ts +0 -1
  409. package/form-message/form-message.component.d.ts +0 -12
  410. package/form-message/public_api.d.ts +0 -1
  411. package/icon-button/icon-button.component.d.ts +0 -40
  412. package/icon-button/public_api.d.ts +0 -1
  413. package/infobox/infobox.component.d.ts +0 -26
  414. package/infobox/public_api.d.ts +0 -1
  415. package/input/input.directive.d.ts +0 -7
  416. package/input/public_api.d.ts +0 -1
  417. package/input-group/input-group.component.d.ts +0 -6
  418. package/input-group/input-prefix/input-prefix.component.d.ts +0 -5
  419. package/input-group/public_api.d.ts +0 -2
  420. package/input-search/input-search.component.d.ts +0 -32
  421. package/input-search/public_api.d.ts +0 -1
  422. package/labels/label-list.component.d.ts +0 -34
  423. package/labels/label.component.d.ts +0 -23
  424. package/labels/public_api.d.ts +0 -2
  425. package/labels-selector/labels-selector.component.d.ts +0 -42
  426. package/labels-selector/public_api.d.ts +0 -1
  427. package/legacy/input/input.component.d.ts +0 -64
  428. package/legacy/input/public_api.d.ts +0 -1
  429. package/legacy/select/public_api.d.ts +0 -1
  430. package/legacy/select/select.component.d.ts +0 -122
  431. package/legacy/textarea/public_api.d.ts +0 -1
  432. package/legacy/textarea/textarea.component.d.ts +0 -53
  433. package/media-display-overlay/media-display-overlay-dialog.component.d.ts +0 -42
  434. package/media-display-overlay/public_api.d.ts +0 -1
  435. package/modal/modal.component.d.ts +0 -54
  436. package/modal/public_api.d.ts +0 -1
  437. package/nav-selector/directives/nav-selector-popover-trigger.directive.d.ts +0 -25
  438. package/nav-selector/directives/tree-node-accessibility.directive.d.ts +0 -9
  439. package/nav-selector/nav-selector-category/nav-selector-category.component.d.ts +0 -28
  440. package/nav-selector/nav-selector-category/nav-selector-category.presenter.d.ts +0 -13
  441. package/nav-selector/nav-selector-group/nav-selector-group.component.d.ts +0 -37
  442. package/nav-selector/nav-selector-group/nav-selector-group.presenter.d.ts +0 -16
  443. package/nav-selector/nav-selector-leaf/nav-selector-leaf.component.d.ts +0 -48
  444. package/nav-selector/nav-selector-leaf/nav-selector-leaf.presenter.d.ts +0 -18
  445. package/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.component.d.ts +0 -13
  446. package/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.presenter.d.ts +0 -10
  447. package/nav-selector/nav-selector-leaf-details/nav-selector-leaf-details.component.d.ts +0 -24
  448. package/nav-selector/nav-selector-leaf-details/nav-selector-leaf-details.presenter.d.ts +0 -14
  449. package/nav-selector/nav-selector-popover/nav-selector-popover-item.component.d.ts +0 -14
  450. package/nav-selector/nav-selector-popover/nav-selector-popover.component.d.ts +0 -40
  451. package/nav-selector/nav-selector.component.d.ts +0 -40
  452. package/nav-selector/nav-selector.d.ts +0 -270
  453. package/nav-selector/nav-selector.state.d.ts +0 -47
  454. package/nav-selector/public_api.d.ts +0 -3
  455. package/nav-selector/testing/nav-selector-entry.mock.d.ts +0 -67
  456. package/nav-selector/testing/public_api.d.ts +0 -1
  457. package/nav-selector/utils/leaf.utils.d.ts +0 -20
  458. package/nav-selector/utils/nav-selector.accessibility.d.ts +0 -52
  459. package/nav-selector/utils/nav-selector.builder.d.ts +0 -32
  460. package/nav-selector/utils/nav-selector.filter.d.ts +0 -32
  461. package/nav-selector/utils/nav-selector.folding.d.ts +0 -73
  462. package/nav-selector/utils/nav-selector.merger.d.ts +0 -23
  463. package/nav-selector/utils/nav-selector.minifying.d.ts +0 -29
  464. package/nav-selector/utils/nav-selector.multi-select.d.ts +0 -54
  465. package/nav-selector/utils/nav-selector.single-select.d.ts +0 -17
  466. package/nav-selector/utils/nav-selector.view-more.d.ts +0 -30
  467. package/neo-datepicker/day-detail.model.d.ts +0 -9
  468. package/neo-datepicker/day-disabled.pipe.d.ts +0 -8
  469. package/neo-datepicker/neo-datepicker.component.d.ts +0 -61
  470. package/neo-datepicker/public_api.d.ts +0 -3
  471. package/notification/notification.component.d.ts +0 -6
  472. package/notification/public_api.d.ts +0 -1
  473. package/paginator/paginator-button/paginator-button.component.d.ts +0 -17
  474. package/paginator/paginator.component.d.ts +0 -38
  475. package/paginator/public_api.d.ts +0 -2
  476. package/password-input/password-input.component.d.ts +0 -33
  477. package/password-input/public_api.d.ts +0 -1
  478. package/phone-number-input/phone-number-input.component.d.ts +0 -50
  479. package/phone-number-input/public_api.d.ts +0 -1
  480. package/popmenu/options.d.ts +0 -16
  481. package/popmenu/popmenu-options.interface.d.ts +0 -48
  482. package/popmenu/popmenu-options.service.d.ts +0 -7
  483. package/popmenu/popmenu.component.d.ts +0 -66
  484. package/popmenu/popmenu.directive.d.ts +0 -90
  485. package/popmenu/popmenu.module.d.ts +0 -11
  486. package/popmenu/public_api.d.ts +0 -4
  487. package/radio/public_api.d.ts +0 -1
  488. package/radio/radio.component.d.ts +0 -77
  489. package/range-slider/public_api.d.ts +0 -1
  490. package/range-slider/range-slider.component.d.ts +0 -35
  491. package/select/ap-select.module.d.ts +0 -17
  492. package/select/dropdown-group-item/dropdown-group-item.component.d.ts +0 -16
  493. package/select/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.d.ts +0 -25
  494. package/select/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.d.ts +0 -26
  495. package/select/dropdown-item-single-one-line/dropdown-item-single-one-line.component.d.ts +0 -20
  496. package/select/dropdown-item-single-two-lines/dropdown-item-single-two-lines.component.d.ts +0 -20
  497. package/select/dropdown-search-form/dropdown-search-form.component.d.ts +0 -32
  498. package/select/public_api.d.ts +0 -12
  499. package/select/select-base.directive.d.ts +0 -18
  500. package/select/select-label-multiple/select-label-multiple.component.d.ts +0 -27
  501. package/select/select-label-single/select-label-single.component.d.ts +0 -12
  502. package/select/select-multiple.directive.d.ts +0 -10
  503. package/select/select-single.directive.d.ts +0 -10
  504. package/slide-toggle/public_api.d.ts +0 -1
  505. package/slide-toggle/slide-toggle.component.d.ts +0 -20
  506. package/snackbars-thread/component/snackbars-thread.component.d.ts +0 -24
  507. package/snackbars-thread/model/snackbars-thread.model.d.ts +0 -36
  508. package/snackbars-thread/public_api.d.ts +0 -3
  509. package/snackbars-thread/service/snackbars-thread.service.d.ts +0 -15
  510. package/snackbars-thread/utils/const/snackbars-thread.const.d.ts +0 -10
  511. package/social-button/public_api.d.ts +0 -1
  512. package/social-button/social-button.component.d.ts +0 -32
  513. package/split-button/public_api.d.ts +0 -1
  514. package/split-button/split-button.component.d.ts +0 -45
  515. package/src/lib/agorapulse-ui-components.module.d.ts +0 -29
  516. package/status/public_api.d.ts +0 -1
  517. package/status/status.component.d.ts +0 -9
  518. package/status-card/public_api.d.ts +0 -1
  519. package/status-card/status-card.component.d.ts +0 -13
  520. package/stepper/public_api.d.ts +0 -2
  521. package/stepper/step.model.d.ts +0 -6
  522. package/stepper/stepper.component.d.ts +0 -16
  523. package/tag/public_api.d.ts +0 -1
  524. package/tag/tag.component.d.ts +0 -24
  525. package/text-measurement/public_api.d.ts +0 -1
  526. package/text-measurement/text-measurement.service.d.ts +0 -8
  527. package/textarea/public_api.d.ts +0 -1
  528. package/textarea/textarea.directive.d.ts +0 -11
  529. package/toggle/public_api.d.ts +0 -1
  530. package/toggle/toggle.component.d.ts +0 -52
  531. package/tooltip/public_api.d.ts +0 -1
  532. package/tooltip/tooltip.directive.d.ts +0 -59
  533. package/tooltip/tooltip.service.d.ts +0 -11
@@ -1,401 +0,0 @@
1
- import { DestroyRef, Directive, ElementRef, NgZone, TemplateRef, ViewContainerRef, inject, input, } from '@angular/core';
2
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
- import DOMPurify from 'dompurify';
4
- import { TooltipService } from './tooltip.service';
5
- import * as i0 from "@angular/core";
6
- export class TooltipDirective {
7
- elementRef = inject(ElementRef);
8
- zone = inject(NgZone);
9
- viewContainerRef = inject(ViewContainerRef);
10
- destroyRef = inject(DestroyRef);
11
- apTooltip = input.required();
12
- apTooltipPosition = input('top');
13
- apTooltipShowDelay = input(80);
14
- apTooltipHideDelay = input(0);
15
- apTooltipDuration = input(0);
16
- apTooltipDisabled = input(false);
17
- apTooltipTruncatedTextOnly = input(false);
18
- apTooltipTemplateContext = input();
19
- apTooltipVirtualScrollElement = input();
20
- clickListener = undefined;
21
- container = undefined;
22
- hideTimeout;
23
- mouseEnterListener = undefined;
24
- mouseLeaveListener = undefined;
25
- nativeElement = this.elementRef.nativeElement;
26
- showTimeout;
27
- tooltipText;
28
- ngOnInit() {
29
- const apTooltipVirtualScrollElement = this.apTooltipVirtualScrollElement();
30
- if (apTooltipVirtualScrollElement) {
31
- apTooltipVirtualScrollElement.renderedRangeStream.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(range => {
32
- if (range.start === 0 && range.end === 0) {
33
- this.deactivate();
34
- }
35
- });
36
- }
37
- }
38
- ngAfterViewInit() {
39
- this.zone.runOutsideAngular(() => {
40
- this.mouseEnterListener = this.onMouseEnter.bind(this);
41
- this.mouseLeaveListener = this.onMouseLeave.bind(this);
42
- this.clickListener = this.onInputClick.bind(this);
43
- this.nativeElement.addEventListener('mouseenter', this.mouseEnterListener);
44
- this.nativeElement.addEventListener('click', this.clickListener);
45
- this.nativeElement.addEventListener('mouseleave', this.mouseLeaveListener);
46
- });
47
- }
48
- ngOnDestroy() {
49
- if (this.container) {
50
- this.deactivate();
51
- }
52
- if (this.mouseEnterListener) {
53
- this.nativeElement.removeEventListener('mouseenter', this.mouseEnterListener);
54
- }
55
- if (this.clickListener) {
56
- this.nativeElement.removeEventListener('click', this.clickListener);
57
- }
58
- if (this.mouseLeaveListener) {
59
- this.nativeElement.removeEventListener('mouseleave', this.mouseLeaveListener);
60
- }
61
- this.mouseEnterListener = undefined;
62
- this.mouseLeaveListener = undefined;
63
- this.clickListener = undefined;
64
- }
65
- onMouseEnter() {
66
- if (!this.container) {
67
- this.activate();
68
- }
69
- }
70
- onMouseLeave() {
71
- this.deactivate();
72
- }
73
- onInputClick() {
74
- this.deactivate();
75
- }
76
- activate() {
77
- this.clearHideTimeout();
78
- if (this.apTooltipShowDelay()) {
79
- this.showTimeout = window.setTimeout(() => {
80
- this.show();
81
- }, this.apTooltipShowDelay());
82
- }
83
- else {
84
- this.show();
85
- }
86
- if (this.apTooltipDuration()) {
87
- const duration = this.apTooltipShowDelay() ? this.apTooltipDuration() + this.apTooltipShowDelay() : this.apTooltipDuration();
88
- this.hideTimeout = window.setTimeout(() => {
89
- this.remove();
90
- }, duration);
91
- }
92
- }
93
- deactivate() {
94
- this.clearShowTimeout();
95
- if (this.apTooltipHideDelay()) {
96
- this.clearHideTimeout();
97
- this.hideTimeout = window.setTimeout(() => {
98
- this.remove();
99
- }, this.apTooltipHideDelay());
100
- }
101
- else {
102
- this.remove();
103
- }
104
- }
105
- show() {
106
- if (this.apTooltipTruncatedTextOnly() && this.elementRef.nativeElement.scrollWidth === this.elementRef.nativeElement.clientWidth) {
107
- return;
108
- }
109
- if (!this.apTooltip() || this.apTooltipDisabled()) {
110
- return;
111
- }
112
- this.create();
113
- this.align();
114
- }
115
- create() {
116
- if (this.container) {
117
- this.clearHideTimeout();
118
- this.remove();
119
- }
120
- this.container = document.createElement('div');
121
- this.container.setAttribute('role', 'tooltip');
122
- const contentContainer = document.createElement('div');
123
- contentContainer.classList.add('ap-content-container');
124
- const svgNamespace = 'http://www.w3.org/2000/svg';
125
- const arrowSvg = document.createElementNS(svgNamespace, 'svg');
126
- arrowSvg.classList.add('ap-tooltip-arrow');
127
- arrowSvg.setAttribute('xmlns', svgNamespace);
128
- arrowSvg.setAttribute('viewBox', '0 0 16 8');
129
- arrowSvg.setAttribute('fill', 'none');
130
- const path = document.createElementNS(svgNamespace, 'path');
131
- path.setAttribute('d', 'M6.68299 1.15238C7.43705 0.492586 8.56296 0.492588 9.31701 1.15238L16 7L0 7L6.68299 1.15238Z');
132
- arrowSvg.appendChild(path);
133
- this.tooltipText = document.createElement('div');
134
- this.tooltipText.className = 'ap-tooltip-text';
135
- this.updateText();
136
- contentContainer.appendChild(this.tooltipText);
137
- contentContainer.appendChild(arrowSvg);
138
- this.container.appendChild(contentContainer);
139
- document.body.appendChild(this.container);
140
- this.container.classList.add('ap-tooltip');
141
- if (this.apTooltip() instanceof TemplateRef) {
142
- this.container.classList.add('ap-tooltip-custom-template');
143
- }
144
- this.setCssVariables();
145
- }
146
- align() {
147
- switch (this.apTooltipPosition()) {
148
- case 'top-left':
149
- this.alignTopLeft();
150
- if (this.isOutOfBounds()) {
151
- this.alignBottom();
152
- if (this.isOutOfBounds()) {
153
- this.alignRight();
154
- if (this.isOutOfBounds()) {
155
- this.alignLeft();
156
- }
157
- }
158
- }
159
- break;
160
- case 'top-right':
161
- this.alignTopRight();
162
- if (this.isOutOfBounds()) {
163
- this.alignBottom();
164
- if (this.isOutOfBounds()) {
165
- this.alignRight();
166
- if (this.isOutOfBounds()) {
167
- this.alignLeft();
168
- }
169
- }
170
- }
171
- break;
172
- case 'top':
173
- this.alignTop();
174
- if (this.isOutOfBounds()) {
175
- this.alignBottom();
176
- if (this.isOutOfBounds()) {
177
- this.alignRight();
178
- if (this.isOutOfBounds()) {
179
- this.alignLeft();
180
- }
181
- }
182
- }
183
- break;
184
- case 'bottom':
185
- this.alignBottom();
186
- if (this.isOutOfBounds()) {
187
- this.alignTop();
188
- if (this.isOutOfBounds()) {
189
- this.alignRight();
190
- if (this.isOutOfBounds()) {
191
- this.alignLeft();
192
- }
193
- }
194
- }
195
- break;
196
- case 'bottom-left':
197
- this.alignBottomLeft();
198
- if (this.isOutOfBounds()) {
199
- this.alignTop();
200
- if (this.isOutOfBounds()) {
201
- this.alignRight();
202
- if (this.isOutOfBounds()) {
203
- this.alignLeft();
204
- }
205
- }
206
- }
207
- break;
208
- case 'bottom-right':
209
- this.alignBottomRight();
210
- if (this.isOutOfBounds()) {
211
- this.alignTop();
212
- if (this.isOutOfBounds()) {
213
- this.alignRight();
214
- if (this.isOutOfBounds()) {
215
- this.alignLeft();
216
- }
217
- }
218
- }
219
- break;
220
- case 'left':
221
- this.alignLeft();
222
- if (this.isOutOfBounds()) {
223
- this.alignRight();
224
- if (this.isOutOfBounds()) {
225
- this.alignTop();
226
- if (this.isOutOfBounds()) {
227
- this.alignBottom();
228
- }
229
- }
230
- }
231
- break;
232
- case 'right':
233
- this.alignRight();
234
- if (this.isOutOfBounds()) {
235
- this.alignLeft();
236
- if (this.isOutOfBounds()) {
237
- this.alignTop();
238
- if (this.isOutOfBounds()) {
239
- this.alignBottom();
240
- }
241
- }
242
- }
243
- break;
244
- }
245
- }
246
- alignRight() {
247
- this.preAlign('right');
248
- if (this.container) {
249
- const hostOffset = this.getHostOffset();
250
- const left = hostOffset.left + TooltipService.getOuterWidth(this.nativeElement) + TooltipService.defaultOffset;
251
- const top = hostOffset.top + (TooltipService.getOuterHeight(this.nativeElement) - TooltipService.getOuterHeight(this.container)) / 2;
252
- this.container.style.left = left + 'px';
253
- this.container.style.top = top + 'px';
254
- }
255
- }
256
- alignLeft() {
257
- this.preAlign('left');
258
- if (this.container) {
259
- const hostOffset = this.getHostOffset();
260
- const left = hostOffset.left - TooltipService.getOuterWidth(this.container) - TooltipService.defaultOffset;
261
- const top = hostOffset.top + (TooltipService.getOuterHeight(this.nativeElement) - TooltipService.getOuterHeight(this.container)) / 2;
262
- this.container.style.left = left + 'px';
263
- this.container.style.top = top + 'px';
264
- }
265
- }
266
- alignTop() {
267
- this.preAlign('top');
268
- if (this.container) {
269
- const hostOffset = this.getHostOffset();
270
- const left = hostOffset.left + (TooltipService.getOuterWidth(this.nativeElement) - TooltipService.getOuterWidth(this.container)) / 2;
271
- const top = hostOffset.top - TooltipService.getOuterHeight(this.container) - TooltipService.defaultOffset;
272
- this.container.style.left = left + 'px';
273
- this.container.style.top = top + 'px';
274
- }
275
- }
276
- alignTopLeft() {
277
- this.preAlign('top-left');
278
- if (this.container) {
279
- const hostOffset = this.getHostOffset();
280
- const left = hostOffset.left;
281
- const top = hostOffset.top - TooltipService.getOuterHeight(this.container) - TooltipService.defaultOffset;
282
- this.container.style.left = left + 'px';
283
- this.container.style.top = top + 'px';
284
- }
285
- }
286
- alignTopRight() {
287
- this.preAlign('top-right');
288
- if (this.container) {
289
- const hostOffset = this.getHostOffset();
290
- const left = hostOffset.left + TooltipService.getOuterWidth(this.nativeElement) - TooltipService.getOuterWidth(this.container);
291
- const top = hostOffset.top - TooltipService.getOuterHeight(this.container) - TooltipService.defaultOffset;
292
- this.container.style.left = left + 'px';
293
- this.container.style.top = top + 'px';
294
- }
295
- }
296
- alignBottom() {
297
- this.preAlign('bottom');
298
- if (this.container) {
299
- const hostOffset = this.getHostOffset();
300
- const left = hostOffset.left + (TooltipService.getOuterWidth(this.nativeElement) - TooltipService.getOuterWidth(this.container)) / 2;
301
- const top = hostOffset.top + TooltipService.getOuterHeight(this.nativeElement) + TooltipService.defaultOffset;
302
- this.container.style.left = left + 'px';
303
- this.container.style.top = top + 'px';
304
- }
305
- }
306
- alignBottomLeft() {
307
- this.preAlign('bottom-left');
308
- if (this.container) {
309
- const hostOffset = this.getHostOffset();
310
- const left = hostOffset.left;
311
- const top = hostOffset.top + TooltipService.getOuterHeight(this.nativeElement) + TooltipService.defaultOffset;
312
- this.container.style.left = left + 'px';
313
- this.container.style.top = top + 'px';
314
- }
315
- }
316
- alignBottomRight() {
317
- this.preAlign('bottom-right');
318
- if (this.container) {
319
- const hostOffset = this.getHostOffset();
320
- const left = hostOffset.left + (TooltipService.getOuterWidth(this.nativeElement) - TooltipService.getOuterWidth(this.container));
321
- const top = hostOffset.top + TooltipService.getOuterHeight(this.nativeElement) + TooltipService.defaultOffset;
322
- this.container.style.left = left + 'px';
323
- this.container.style.top = top + 'px';
324
- }
325
- }
326
- preAlign(position) {
327
- if (this.container) {
328
- this.container.style.left = -999 + 'px';
329
- this.container.style.top = -999 + 'px';
330
- const defaultClassName = 'ap-tooltip-' + position;
331
- this.container.classList.add(defaultClassName);
332
- }
333
- }
334
- getHostOffset() {
335
- const offset = this.nativeElement.getBoundingClientRect();
336
- const targetLeft = offset.left + TooltipService.getWindowScrollLeft();
337
- const targetTop = offset.top + TooltipService.getWindowScrollTop();
338
- return { left: targetLeft, top: targetTop };
339
- }
340
- isOutOfBounds() {
341
- if (this.container) {
342
- const offset = this.container.getBoundingClientRect();
343
- const targetTop = offset.top;
344
- const targetLeft = offset.left;
345
- const width = TooltipService.getOuterWidth(this.container);
346
- const height = TooltipService.getOuterHeight(this.container);
347
- const viewport = TooltipService.getViewport();
348
- return targetLeft + width > viewport.width || targetLeft < 0 || targetTop < 0 || targetTop + height > viewport.height;
349
- }
350
- else {
351
- return false;
352
- }
353
- }
354
- remove() {
355
- if (this.container && this.container.parentElement) {
356
- document.body.removeChild(this.container);
357
- }
358
- this.clearTimeouts();
359
- this.container = undefined;
360
- }
361
- clearShowTimeout() {
362
- if (this.showTimeout) {
363
- clearTimeout(this.showTimeout);
364
- this.showTimeout = undefined;
365
- }
366
- }
367
- clearHideTimeout() {
368
- if (this.hideTimeout) {
369
- clearTimeout(this.hideTimeout);
370
- this.hideTimeout = undefined;
371
- }
372
- }
373
- clearTimeouts() {
374
- this.clearShowTimeout();
375
- this.clearHideTimeout();
376
- }
377
- updateText() {
378
- const apTooltip = this.apTooltip();
379
- if (apTooltip instanceof TemplateRef) {
380
- const embeddedViewRef = this.viewContainerRef.createEmbeddedView(apTooltip);
381
- embeddedViewRef.context = this.apTooltipTemplateContext();
382
- embeddedViewRef.detectChanges();
383
- embeddedViewRef.rootNodes.forEach(node => this.tooltipText?.appendChild(node));
384
- }
385
- else if (this.tooltipText) {
386
- this.tooltipText.innerHTML = apTooltip ? DOMPurify.sanitize(apTooltip) : '';
387
- }
388
- }
389
- setCssVariables() {
390
- if (this.container) {
391
- this.container.style.setProperty('--ap-tooltip-height', this.container.offsetHeight + 'px');
392
- }
393
- }
394
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
395
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.9", type: TooltipDirective, isStandalone: true, selector: "[apTooltip]", inputs: { apTooltip: { classPropertyName: "apTooltip", publicName: "apTooltip", isSignal: true, isRequired: true, transformFunction: null }, apTooltipPosition: { classPropertyName: "apTooltipPosition", publicName: "apTooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, apTooltipShowDelay: { classPropertyName: "apTooltipShowDelay", publicName: "apTooltipShowDelay", isSignal: true, isRequired: false, transformFunction: null }, apTooltipHideDelay: { classPropertyName: "apTooltipHideDelay", publicName: "apTooltipHideDelay", isSignal: true, isRequired: false, transformFunction: null }, apTooltipDuration: { classPropertyName: "apTooltipDuration", publicName: "apTooltipDuration", isSignal: true, isRequired: false, transformFunction: null }, apTooltipDisabled: { classPropertyName: "apTooltipDisabled", publicName: "apTooltipDisabled", isSignal: true, isRequired: false, transformFunction: null }, apTooltipTruncatedTextOnly: { classPropertyName: "apTooltipTruncatedTextOnly", publicName: "apTooltipTruncatedTextOnly", isSignal: true, isRequired: false, transformFunction: null }, apTooltipTemplateContext: { classPropertyName: "apTooltipTemplateContext", publicName: "apTooltipTemplateContext", isSignal: true, isRequired: false, transformFunction: null }, apTooltipVirtualScrollElement: { classPropertyName: "apTooltipVirtualScrollElement", publicName: "apTooltipVirtualScrollElement", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
396
- }
397
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TooltipDirective, decorators: [{
398
- type: Directive,
399
- args: [{ selector: '[apTooltip]', standalone: true }]
400
- }] });
401
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvdG9vbHRpcC9zcmMvdG9vbHRpcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUVILFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFHTixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLE1BQU0sRUFDTixLQUFLLEdBQ1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxTQUFTLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFHbkQsTUFBTSxPQUFPLGdCQUFnQjtJQUNSLFVBQVUsR0FBZSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDNUMsSUFBSSxHQUFXLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixnQkFBZ0IsR0FBcUIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDOUQsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVqRCxTQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBd0QsQ0FBQztJQUNuRixpQkFBaUIsR0FBRyxLQUFLLENBQWtHLEtBQUssQ0FBQyxDQUFDO0lBQ2xJLGtCQUFrQixHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUN2QyxrQkFBa0IsR0FBRyxLQUFLLENBQVMsQ0FBQyxDQUFDLENBQUM7SUFDdEMsaUJBQWlCLEdBQUcsS0FBSyxDQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLGlCQUFpQixHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUMxQywwQkFBMEIsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDbkQsd0JBQXdCLEdBQUcsS0FBSyxFQUFPLENBQUM7SUFDeEMsNkJBQTZCLEdBQUcsS0FBSyxFQUE0QixDQUFDO0lBRWxFLGFBQWEsR0FBNkIsU0FBUyxDQUFDO0lBRXBELFNBQVMsR0FBNEIsU0FBUyxDQUFDO0lBRS9DLFdBQVcsQ0FBcUI7SUFFaEMsa0JBQWtCLEdBQTZCLFNBQVMsQ0FBQztJQUV6RCxrQkFBa0IsR0FBNkIsU0FBUyxDQUFDO0lBRXpELGFBQWEsR0FBZ0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFFM0QsV0FBVyxDQUFxQjtJQUVoQyxXQUFXLENBQTBCO0lBRXJDLFFBQVE7UUFDSixNQUFNLDZCQUE2QixHQUFHLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1FBQzNFLElBQUksNkJBQTZCLEVBQUUsQ0FBQztZQUNoQyw2QkFBNkIsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUMxRyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQ3ZDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDdEIsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDN0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQzNFLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUMvRSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3RCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2xGLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDbEYsQ0FBQztRQUNELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxTQUFTLENBQUM7UUFDcEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztRQUNwQyxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3BCLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUN0QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEIsQ0FBQyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFDbEMsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEIsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQztZQUMzQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzdILElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3RDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsQixDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDakIsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3RDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsQixDQUFDLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztRQUNsQyxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsQixDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUk7UUFDQSxJQUFJLElBQUksQ0FBQywwQkFBMEIsRUFBRSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMvSCxPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQztZQUNoRCxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsQixDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUMvQyxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkQsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRXZELE1BQU0sWUFBWSxHQUFHLDRCQUE0QixDQUFDO1FBQ2xELE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQy9ELFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDM0MsUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDN0MsUUFBUSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDN0MsUUFBUSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdEMsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsOEZBQThGLENBQUMsQ0FBQztRQUN2SCxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTNCLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQztRQUMvQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFbEIsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM3QyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTNDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxZQUFZLFdBQVcsRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFDRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELEtBQUs7UUFDRCxRQUFRLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUM7WUFDL0IsS0FBSyxVQUFVO2dCQUNYLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztvQkFDdkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUNuQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO3dCQUN2QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7d0JBQ2xCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7NEJBQ3ZCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzt3QkFDckIsQ0FBQztvQkFDTCxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsTUFBTTtZQUNWLEtBQUssV0FBVztnQkFDWixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7b0JBQ3ZCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDbkIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQzt3QkFDdkIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO3dCQUNsQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDOzRCQUN2QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7d0JBQ3JCLENBQUM7b0JBQ0wsQ0FBQztnQkFDTCxDQUFDO2dCQUNELE1BQU07WUFDVixLQUFLLEtBQUs7Z0JBQ04sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNoQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO29CQUN2QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQ25CLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7d0JBQ3ZCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzt3QkFFbEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQzs0QkFDdkIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO3dCQUNyQixDQUFDO29CQUNMLENBQUM7Z0JBQ0wsQ0FBQztnQkFDRCxNQUFNO1lBRVYsS0FBSyxRQUFRO2dCQUNULElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztvQkFDdkIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNoQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO3dCQUN2QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7d0JBRWxCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7NEJBQ3ZCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzt3QkFDckIsQ0FBQztvQkFDTCxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsTUFBTTtZQUVWLEtBQUssYUFBYTtnQkFDZCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7b0JBQ3ZCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDaEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQzt3QkFDdkIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO3dCQUVsQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDOzRCQUN2QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7d0JBQ3JCLENBQUM7b0JBQ0wsQ0FBQztnQkFDTCxDQUFDO2dCQUNELE1BQU07WUFFVixLQUFLLGNBQWM7Z0JBQ2YsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3hCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7b0JBQ3ZCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDaEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQzt3QkFDdkIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO3dCQUVsQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDOzRCQUN2QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7d0JBQ3JCLENBQUM7b0JBQ0wsQ0FBQztnQkFDTCxDQUFDO2dCQUNELE1BQU07WUFFVixLQUFLLE1BQU07Z0JBQ1AsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNqQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO29CQUN2QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7b0JBRWxCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7d0JBQ3ZCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzt3QkFFaEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQzs0QkFDdkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO3dCQUN2QixDQUFDO29CQUNMLENBQUM7Z0JBQ0wsQ0FBQztnQkFDRCxNQUFNO1lBRVYsS0FBSyxPQUFPO2dCQUNSLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztvQkFDdkIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUVqQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO3dCQUN2QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7d0JBRWhCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7NEJBQ3ZCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzt3QkFDdkIsQ0FBQztvQkFDTCxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsTUFBTTtRQUNkLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQztZQUMvRyxNQUFNLEdBQUcsR0FDTCxVQUFVLENBQUMsR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsY0FBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDN0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7WUFDeEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUM7UUFDMUMsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTO1FBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDeEMsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDO1lBQzNHLE1BQU0sR0FBRyxHQUNMLFVBQVUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM3SCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztZQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztRQUMxQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN4QyxNQUFNLElBQUksR0FDTixVQUFVLENBQUMsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDNUgsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLEdBQUcsR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDO1lBQzFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQzFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDN0IsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLEdBQUcsR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDO1lBQzFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQzFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0IsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDL0gsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLEdBQUcsR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDO1lBQzFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQzFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sSUFBSSxHQUNOLFVBQVUsQ0FBQyxJ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QUFFLENBQUM7UUFDaEYsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ2hHLENBQUM7SUFDTCxDQUFDO3VHQWpjUSxnQkFBZ0I7MkZBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFENUIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgTmdab25lLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBpbmplY3QsXG4gICAgaW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IERPTVB1cmlmeSBmcm9tICdkb21wdXJpZnknO1xuaW1wb3J0IHsgVG9vbHRpcFNlcnZpY2UgfSBmcm9tICcuL3Rvb2x0aXAuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1thcFRvb2x0aXBdJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgem9uZTogTmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIGFwVG9vbHRpcCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZyB8IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PiB8IHVuZGVmaW5lZCB8IG51bGw+KCk7XG4gICAgYXBUb29sdGlwUG9zaXRpb24gPSBpbnB1dDwncmlnaHQnIHwgJ2xlZnQnIHwgJ3RvcCcgfCAnYm90dG9tJyB8ICdib3R0b20tbGVmdCcgfCAnYm90dG9tLXJpZ2h0JyB8ICd0b3AtbGVmdCcgfCAndG9wLXJpZ2h0Jz4oJ3RvcCcpO1xuICAgIGFwVG9vbHRpcFNob3dEZWxheSA9IGlucHV0PG51bWJlcj4oODApO1xuICAgIGFwVG9vbHRpcEhpZGVEZWxheSA9IGlucHV0PG51bWJlcj4oMCk7XG4gICAgYXBUb29sdGlwRHVyYXRpb24gPSBpbnB1dDxudW1iZXI+KDApO1xuICAgIGFwVG9vbHRpcERpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIGFwVG9vbHRpcFRydW5jYXRlZFRleHRPbmx5ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIGFwVG9vbHRpcFRlbXBsYXRlQ29udGV4dCA9IGlucHV0PGFueT4oKTtcbiAgICBhcFRvb2x0aXBWaXJ0dWFsU2Nyb2xsRWxlbWVudCA9IGlucHV0PENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydD4oKTtcblxuICAgIGNsaWNrTGlzdGVuZXI6ICgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgIGNvbnRhaW5lcjogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICBoaWRlVGltZW91dDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gICAgbW91c2VFbnRlckxpc3RlbmVyOiAoKCkgPT4gdm9pZCkgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICBtb3VzZUxlYXZlTGlzdGVuZXI6ICgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgIG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBzaG93VGltZW91dDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gICAgdG9vbHRpcFRleHQ6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFwVG9vbHRpcFZpcnR1YWxTY3JvbGxFbGVtZW50ID0gdGhpcy5hcFRvb2x0aXBWaXJ0dWFsU2Nyb2xsRWxlbWVudCgpO1xuICAgICAgICBpZiAoYXBUb29sdGlwVmlydHVhbFNjcm9sbEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGFwVG9vbHRpcFZpcnR1YWxTY3JvbGxFbGVtZW50LnJlbmRlcmVkUmFuZ2VTdHJlYW0ucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKHJhbmdlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmFuZ2Uuc3RhcnQgPT09IDAgJiYgcmFuZ2UuZW5kID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVhY3RpdmF0ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5tb3VzZUVudGVyTGlzdGVuZXIgPSB0aGlzLm9uTW91c2VFbnRlci5iaW5kKHRoaXMpO1xuICAgICAgICAgICAgdGhpcy5tb3VzZUxlYXZlTGlzdGVuZXIgPSB0aGlzLm9uTW91c2VMZWF2ZS5iaW5kKHRoaXMpO1xuICAgICAgICAgICAgdGhpcy5jbGlja0xpc3RlbmVyID0gdGhpcy5vbklucHV0Q2xpY2suYmluZCh0aGlzKTtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgdGhpcy5tb3VzZUVudGVyTGlzdGVuZXIpO1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5jbGlja0xpc3RlbmVyKTtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgdGhpcy5tb3VzZUxlYXZlTGlzdGVuZXIpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGFpbmVyKSB7XG4gICAgICAgICAgICB0aGlzLmRlYWN0aXZhdGUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5tb3VzZUVudGVyTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgdGhpcy5tb3VzZUVudGVyTGlzdGVuZXIpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmNsaWNrTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuY2xpY2tMaXN0ZW5lcik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubW91c2VMZWF2ZUxpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIHRoaXMubW91c2VMZWF2ZUxpc3RlbmVyKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1vdXNlRW50ZXJMaXN0ZW5lciA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5tb3VzZUxlYXZlTGlzdGVuZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuY2xpY2tMaXN0ZW5lciA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBvbk1vdXNlRW50ZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5jb250YWluZXIpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZhdGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTW91c2VMZWF2ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZWFjdGl2YXRlKCk7XG4gICAgfVxuXG4gICAgb25JbnB1dENsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlYWN0aXZhdGUoKTtcbiAgICB9XG5cbiAgICBhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhckhpZGVUaW1lb3V0KCk7XG4gICAgICAgIGlmICh0aGlzLmFwVG9vbHRpcFNob3dEZWxheSgpKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dUaW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvdygpO1xuICAgICAgICAgICAgfSwgdGhpcy5hcFRvb2x0aXBTaG93RGVsYXkoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNob3coKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmFwVG9vbHRpcER1cmF0aW9uKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGR1cmF0aW9uID0gdGhpcy5hcFRvb2x0aXBTaG93RGVsYXkoKSA/IHRoaXMuYXBUb29sdGlwRHVyYXRpb24oKSArIHRoaXMuYXBUb29sdGlwU2hvd0RlbGF5KCkgOiB0aGlzLmFwVG9vbHRpcER1cmF0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLmhpZGVUaW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlKCk7XG4gICAgICAgICAgICB9LCBkdXJhdGlvbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkZWFjdGl2YXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsZWFyU2hvd1RpbWVvdXQoKTtcbiAgICAgICAgaWYgKHRoaXMuYXBUb29sdGlwSGlkZURlbGF5KCkpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJIaWRlVGltZW91dCgpO1xuICAgICAgICAgICAgdGhpcy5oaWRlVGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZSgpO1xuICAgICAgICAgICAgfSwgdGhpcy5hcFRvb2x0aXBIaWRlRGVsYXkoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2hvdygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYXBUb29sdGlwVHJ1bmNhdGVkVGV4dE9ubHkoKSAmJiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aCA9PT0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuYXBUb29sdGlwKCkgfHwgdGhpcy5hcFRvb2x0aXBEaXNhYmxlZCgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNyZWF0ZSgpO1xuICAgICAgICB0aGlzLmFsaWduKCk7XG4gICAgfVxuXG4gICAgY3JlYXRlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250YWluZXIpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJIaWRlVGltZW91dCgpO1xuICAgICAgICAgICAgdGhpcy5yZW1vdmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRoaXMuY29udGFpbmVyLnNldEF0dHJpYnV0ZSgncm9sZScsICd0b29sdGlwJyk7XG4gICAgICAgIGNvbnN0IGNvbnRlbnRDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgY29udGVudENvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCdhcC1jb250ZW50LWNvbnRhaW5lcicpO1xuXG4gICAgICAgIGNvbnN0IHN2Z05hbWVzcGFjZSA9ICdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc7XG4gICAgICAgIGNvbnN0IGFycm93U3ZnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHN2Z05hbWVzcGFjZSwgJ3N2ZycpO1xuICAgICAgICBhcnJvd1N2Zy5jbGFzc0xpc3QuYWRkKCdhcC10b29sdGlwLWFycm93Jyk7XG4gICAgICAgIGFycm93U3ZnLnNldEF0dHJpYnV0ZSgneG1sbnMnLCBzdmdOYW1lc3BhY2UpO1xuICAgICAgICBhcnJvd1N2Zy5zZXRBdHRyaWJ1dGUoJ3ZpZXdCb3gnLCAnMCAwIDE2IDgnKTtcbiAgICAgICAgYXJyb3dTdmcuc2V0QXR0cmlidXRlKCdmaWxsJywgJ25vbmUnKTtcbiAgICAgICAgY29uc3QgcGF0aCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhzdmdOYW1lc3BhY2UsICdwYXRoJyk7XG4gICAgICAgIHBhdGguc2V0QXR0cmlidXRlKCdkJywgJ002LjY4Mjk5IDEuMTUyMzhDNy40MzcwNSAwLjQ5MjU4NiA4LjU2Mjk2IDAuNDkyNTg4IDkuMzE3MDEgMS4xNTIzOEwxNiA3TDAgN0w2LjY4Mjk5IDEuMTUyMzhaJyk7XG4gICAgICAgIGFycm93U3ZnLmFwcGVuZENoaWxkKHBhdGgpO1xuXG4gICAgICAgIHRoaXMudG9vbHRpcFRleHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy50b29sdGlwVGV4dC5jbGFzc05hbWUgPSAnYXAtdG9vbHRpcC10ZXh0JztcbiAgICAgICAgdGhpcy51cGRhdGVUZXh0KCk7XG5cbiAgICAgICAgY29udGVudENvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLnRvb2x0aXBUZXh0KTtcbiAgICAgICAgY29udGVudENvbnRhaW5lci5hcHBlbmRDaGlsZChhcnJvd1N2Zyk7XG4gICAgICAgIHRoaXMuY29udGFpbmVyLmFwcGVuZENoaWxkKGNvbnRlbnRDb250YWluZXIpO1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuY29udGFpbmVyKTtcbiAgICAgICAgdGhpcy5jb250YWluZXIuY2xhc3NMaXN0LmFkZCgnYXAtdG9vbHRpcCcpO1xuXG4gICAgICAgIGlmICh0aGlzLmFwVG9vbHRpcCgpIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLmNsYXNzTGlzdC5hZGQoJ2FwLXRvb2x0aXAtY3VzdG9tLXRlbXBsYXRlJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRDc3NWYXJpYWJsZXMoKTtcbiAgICB9XG5cbiAgICBhbGlnbigpOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLmFwVG9vbHRpcFBvc2l0aW9uKCkpIHtcbiAgICAgICAgICAgIGNhc2UgJ3RvcC1sZWZ0JzpcbiAgICAgICAgICAgICAgICB0aGlzLmFsaWduVG9wTGVmdCgpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzT3V0T2ZCb3VuZHMoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsaWduQm90dG9tKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzT3V0T2ZCb3VuZHMoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGlnblJpZ2h0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc091dE9mQm91bmRzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFsaWduTGVmdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAndG9wLXJpZ2h0JzpcbiAgICAgICAgICAgICAgICB0aGlzLmFsaWduVG9wUmlnaHQoKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc091dE9mQm91bmRzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGlnbkJvdHRvbSgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc091dE9mQm91bmRzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25SaWdodCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNPdXRPZkJvdW5kcygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGlnbkxlZnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgICAgICAgICAgdGhpcy5hbGlnblRvcCgpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzT3V0T2ZCb3VuZHMoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsaWduQm90dG9tKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzT3V0T2ZCb3VuZHMoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGlnblJpZ2h0KCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzT3V0T2ZCb3VuZHMoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25MZWZ0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgICAgICAgICAgdGhpcy5hbGlnbkJvdHRvbSgpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzT3V0T2ZCb3VuZHMoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsaWduVG9wKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzT3V0T2ZCb3VuZHMoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGlnblJpZ2h0KCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzT3V0T2ZCb3VuZHMoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25MZWZ0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ2JvdHRvbS1sZWZ0JzpcbiAgICAgICAgICAgICAgICB0aGlzLmFsaWduQm90dG9tTGVmdCgpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzT3V0T2ZCb3VuZHMoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsaWduVG9wKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzT3V0T2ZCb3VuZHMoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGlnblJpZ2h0KCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzT3V0T2ZCb3VuZHMoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25MZWZ0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ2JvdHRvbS1yaWdodCc6XG4gICAgICAgICAgICAgICAgdGhpcy5hbGlnbkJvdHRvbVJpZ2h0KCk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNPdXRPZkJvdW5kcygpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25Ub3AoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNPdXRPZkJvdW5kcygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFsaWduUmlnaHQoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNPdXRPZkJvdW5kcygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGlnbkxlZnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgICAgICAgdGhpcy5hbGlnbkxlZnQoKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc091dE9mQm91bmRzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGlnblJpZ2h0KCk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNPdXRPZkJvdW5kcygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFsaWduVG9wKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzT3V0T2ZCb3VuZHMoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25Cb3R0b20oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25SaWdodCgpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzT3V0T2ZCb3VuZHMoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsaWduTGVmdCgpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzT3V0T2ZCb3VuZHMoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGlnblRvcCgpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc091dE9mQm91bmRzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFsaWduQm90dG9tKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhbGlnblJpZ2h0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnByZUFsaWduKCdyaWdodCcpO1xuICAgICAgICBpZiAodGhpcy5jb250YWluZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGhvc3RPZmZzZXQgPSB0aGlzLmdldEhvc3RPZmZzZXQoKTtcbiAgICAgICAgICAgIGNvbnN0IGxlZnQgPSBob3N0T2Zmc2V0LmxlZnQgKyBUb29sdGlwU2VydmljZS5nZXRPdXRlcldpZHRoKHRoaXMubmF0aXZlRWxlbWVudCkgKyBUb29sdGlwU2VydmljZS5kZWZhdWx0T2Zmc2V0O1xuICAgICAgICAgICAgY29uc3QgdG9wID1cbiAgICAgICAgICAgICAgICBob3N0T2Zmc2V0LnRvcCArIChUb29sdGlwU2VydmljZS5nZXRPdXRlckhlaWdodCh0aGlzLm5hdGl2ZUVsZW1lbnQpIC0gVG9vbHRpcFNlcnZpY2UuZ2V0T3V0ZXJIZWlnaHQodGhpcy5jb250YWluZXIpKSAvIDI7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5zdHlsZS5sZWZ0ID0gbGVmdCArICdweCc7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5zdHlsZS50b3AgPSB0b3AgKyAncHgnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYWxpZ25MZWZ0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnByZUFsaWduKCdsZWZ0Jyk7XG4gICAgICAgIGlmICh0aGlzLmNvbnRhaW5lcikge1xuICAgICAgICAgICAgY29uc3QgaG9zdE9mZnNldCA9IHRoaXMuZ2V0SG9zdE9mZnNldCgpO1xuICAgICAgICAgICAgY29uc3QgbGVmdCA9IGhvc3RPZmZzZXQubGVmdCAtIFRvb2x0aXBTZXJ2aWNlLmdldE91dGVyV2lkdGgodGhpcy5jb250YWluZXIpIC0gVG9vbHRpcFNlcnZpY2UuZGVmYXVsdE9mZnNldDtcbiAgICAgICAgICAgIGNvbnN0IHRvcCA9XG4gICAgICAgICAgICAgICAgaG9zdE9mZnNldC50b3AgKyAoVG9vbHRpcFNlcnZpY2UuZ2V0T3V0ZXJIZWlnaHQodGhpcy5uYXRpdmVFbGVtZW50KSAtIFRvb2x0aXBTZXJ2aWNlLmdldE91dGVySGVpZ2h0KHRoaXMuY29udGFpbmVyKSkgLyAyO1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXIuc3R5bGUubGVmdCA9IGxlZnQgKyAncHgnO1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXIuc3R5bGUudG9wID0gdG9wICsgJ3B4JztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFsaWduVG9wKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnByZUFsaWduKCd0b3AnKTtcbiAgICAgICAgaWYgKHRoaXMuY29udGFpbmVyKSB7XG4gICAgICAgICAgICBjb25zdCBob3N0T2Zmc2V0ID0gdGhpcy5nZXRIb3N0T2Zmc2V0KCk7XG4gICAgICAgICAgICBjb25zdCBsZWZ0ID1cbiAgICAgICAgICAgICAgICBob3N0T2Zmc2V0LmxlZnQgKyAoVG9vbHRpcFNlcnZpY2UuZ2V0T3V0ZXJXaWR0aCh0aGlzLm5hdGl2ZUVsZW1lbnQpIC0gVG9vbHRpcFNlcnZpY2UuZ2V0T3V0ZXJXaWR0aCh0aGlzLmNvbnRhaW5lcikpIC8gMjtcbiAgICAgICAgICAgIGNvbnN0IHRvcCA9IGhvc3RPZmZzZXQudG9wIC0gVG9vbHRpcFNlcnZpY2UuZ2V0T3V0ZXJIZWlnaHQodGhpcy5jb250YWluZXIpIC0gVG9vbHRpcFNlcnZpY2UuZGVmYXVsdE9mZnNldDtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLnN0eWxlLmxlZnQgPSBsZWZ0ICsgJ3B4JztcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLnN0eWxlLnRvcCA9IHRvcCArICdweCc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhbGlnblRvcExlZnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJlQWxpZ24oJ3RvcC1sZWZ0Jyk7XG4gICAgICAgIGlmICh0aGlzLmNvbnRhaW5lcikge1xuICAgICAgICAgICAgY29uc3QgaG9zdE9mZnNldCA9IHRoaXMuZ2V0SG9zdE9mZnNldCgpO1xuICAgICAgICAgICAgY29uc3QgbGVmdCA9IGhvc3RPZmZzZXQubGVmdDtcbiAgICAgICAgICAgIGNvbnN0IHRvcCA9IGhvc3RPZmZzZXQudG9wIC0gVG9vbHRpcFNlcnZpY2UuZ2V0T3V0ZXJIZWlnaHQodGhpcy5jb250YWluZXIpIC0gVG9vbHRpcFNlcnZpY2UuZGVmYXVsdE9mZnNldDtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLnN0eWxlLmxlZnQgPSBsZWZ0ICsgJ3B4JztcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLnN0eWxlLnRvcCA9IHRvcCArICdweCc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhbGlnblRvcFJpZ2h0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnByZUFsaWduKCd0b3AtcmlnaHQnKTtcbiAgICAgICAgaWYgKHRoaXMuY29udGFpbmVyKSB7XG4gICAgICAgICAgICBjb25zdCBob3N0T2Zmc2V0ID0gdGhpcy5nZXRIb3N0T2Zmc2V0KCk7XG4gICAgICAgICAgICBjb25zdCBsZWZ0ID0gaG9zdE9mZnNldC5sZWZ0ICsgVG9vbHRpcFNlcnZpY2UuZ2V0T3V0ZXJXaWR0aCh0aGlzLm5hdGl2ZUVsZW1lbnQpIC0gVG9vbHRpcFNlcnZpY2UuZ2V0T3V0ZXJXaWR0aCh0aGlzLmNvbnRhaW5lcik7XG4gICAgICAgICAgICBjb25zdCB0b3AgPSBob3N0T2Zmc2V0LnRvcCAtIFRvb2x0aXBTZXJ2aWNlLmdldE91dGVySGVpZ2h0KHRoaXMuY29udGFpbmVyKSAtIFRvb2x0aXBTZXJ2aWNlLmRlZmF1bHRPZmZzZXQ7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5zdHlsZS5sZWZ0ID0gbGVmdCArICdweCc7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5zdHlsZS50b3AgPSB0b3AgKyAncHgnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYWxpZ25Cb3R0b20oKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJlQWxpZ24oJ2JvdHRvbScpO1xuICAgICAgICBpZiAodGhpcy5jb250YWluZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGhvc3RPZmZzZXQgPSB0aGlzLmdldEhvc3RPZmZzZXQoKTtcbiAgICAgICAgICAgIGNvbnN0IGxlZnQgPVxuICAgICAgICAgICAgICAgIGhvc3RPZmZzZXQubGVmdCArIChUb29sdGlwU2VydmljZS5nZXRPdXRlcldpZHRoKHRoaXMubmF0aXZlRWxlbWVudCkgLSBUb29sdGlwU2VydmljZS5nZXRPdXRlcldpZHRoKHRoaXMuY29udGFpbmVyKSkgLyAyO1xuICAgICAgICAgICAgY29uc3QgdG9wID0gaG9zdE9mZnNldC50b3AgKyBUb29sdGlwU2VydmljZS5nZXRPdXRlckhlaWdodCh0aGlzLm5hdGl2ZUVsZW1lbnQpICsgVG9vbHRpcFNlcnZpY2UuZGVmYXVsdE9mZnNldDtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLnN0eWxlLmxlZnQgPSBsZWZ0ICsgJ3B4JztcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLnN0eWxlLnRvcCA9IHRvcCArICdweCc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhbGlnbkJvdHRvbUxlZnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJlQWxpZ24oJ2JvdHRvbS1sZWZ0Jyk7XG4gICAgICAgIGlmICh0aGlzLmNvbnRhaW5lcikge1xuICAgICAgICAgICAgY29uc3QgaG9zdE9mZnNldCA9IHRoaXMuZ2V0SG9zdE9mZnNldCgpO1xuICAgICAgICAgICAgY29uc3QgbGVmdCA9IGhvc3RPZmZzZXQubGVmdDtcbiAgICAgICAgICAgIGNvbnN0IHRvcCA9IGhvc3RPZmZzZXQudG9wICsgVG9vbHRpcFNlcnZpY2UuZ2V0T3V0ZXJIZWlnaHQodGhpcy5uYXRpdmVFbGVtZW50KSArIFRvb2x0aXBTZXJ2aWNlLmRlZmF1bHRPZmZzZXQ7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5zdHlsZS5sZWZ0ID0gbGVmdCArICdweCc7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5zdHlsZS50b3AgPSB0b3AgKyAncHgnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYWxpZ25Cb3R0b21SaWdodCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcmVBbGlnbignYm90dG9tLXJpZ2h0Jyk7XG4gICAgICAgIGlmICh0aGlzLmNvbnRhaW5lcikge1xuICAgICAgICAgICAgY29uc3QgaG9zdE9mZnNldCA9IHRoaXMuZ2V0SG9zdE9mZnNldCgpO1xuICAgICAgICAgICAgY29uc3QgbGVmdCA9XG4gICAgICAgICAgICAgICAgaG9zdE9mZnNldC5sZWZ0ICsgKFRvb2x0aXBTZXJ2aWNlLmdldE91dGVyV2lkdGgodGhpcy5uYXRpdmVFbGVtZW50KSAtIFRvb2x0aXBTZXJ2aWNlLmdldE91dGVyV2lkdGgodGhpcy5jb250YWluZXIpKTtcbiAgICAgICAgICAgIGNvbnN0IHRvcCA9IGhvc3RPZmZzZXQudG9wICsgVG9vbHRpcFNlcnZpY2UuZ2V0T3V0ZXJIZWlnaHQodGhpcy5uYXRpdmVFbGVtZW50KSArIFRvb2x0aXBTZXJ2aWNlLmRlZmF1bHRPZmZzZXQ7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5zdHlsZS5sZWZ0ID0gbGVmdCArICdweCc7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5zdHlsZS50b3AgPSB0b3AgKyAncHgnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJlQWxpZ24ocG9zaXRpb246IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5jb250YWluZXIpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLnN0eWxlLmxlZnQgPSAtOTk5ICsgJ3B4JztcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLnN0eWxlLnRvcCA9IC05OTkgKyAncHgnO1xuXG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0Q2xhc3NOYW1lID0gJ2FwLXRvb2x0aXAtJyArIHBvc2l0aW9uO1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXIuY2xhc3NMaXN0LmFkZChkZWZhdWx0Q2xhc3NOYW1lKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEhvc3RPZmZzZXQoKSB7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IHRoaXMubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgdGFyZ2V0TGVmdCA9IG9mZnNldC5sZWZ0ICsgVG9vbHRpcFNlcnZpY2UuZ2V0V2luZG93U2Nyb2xsTGVmdCgpO1xuICAgICAgICBjb25zdCB0YXJnZXRUb3AgPSBvZmZzZXQudG9wICsgVG9vbHRpcFNlcnZpY2UuZ2V0V2luZG93U2Nyb2xsVG9wKCk7XG5cbiAgICAgICAgcmV0dXJuIHsgbGVmdDogdGFyZ2V0TGVmdCwgdG9wOiB0YXJnZXRUb3AgfTtcbiAgICB9XG5cbiAgICBpc091dE9mQm91bmRzKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5jb250YWluZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuY29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0VG9wID0gb2Zmc2V0LnRvcDtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldExlZnQgPSBvZmZzZXQubGVmdDtcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gVG9vbHRpcFNlcnZpY2UuZ2V0T3V0ZXJXaWR0aCh0aGlzLmNvbnRhaW5lcik7XG4gICAgICAgICAgICBjb25zdCBoZWlnaHQgPSBUb29sdGlwU2VydmljZS5nZXRPdXRlckhlaWdodCh0aGlzLmNvbnRhaW5lcik7XG4gICAgICAgICAgICBjb25zdCB2aWV3cG9ydCA9IFRvb2x0aXBTZXJ2aWNlLmdldFZpZXdwb3J0KCk7XG5cbiAgICAgICAgICAgIHJldHVybiB0YXJnZXRMZWZ0ICsgd2lkdGggPiB2aWV3cG9ydC53aWR0aCB8fCB0YXJnZXRMZWZ0IDwgMCB8fCB0YXJnZXRUb3AgPCAwIHx8IHRhcmdldFRvcCArIGhlaWdodCA+IHZpZXdwb3J0LmhlaWdodDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbW92ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGFpbmVyICYmIHRoaXMuY29udGFpbmVyLnBhcmVudEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGhpcy5jb250YWluZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jbGVhclRpbWVvdXRzKCk7XG4gICAgICAgIHRoaXMuY29udGFpbmVyID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNsZWFyU2hvd1RpbWVvdXQoKSB7XG4gICAgICAgIGlmICh0aGlzLnNob3dUaW1lb3V0KSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5zaG93VGltZW91dCk7XG4gICAgICAgICAgICB0aGlzLnNob3dUaW1lb3V0ID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xlYXJIaWRlVGltZW91dCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaGlkZVRpbWVvdXQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmhpZGVUaW1lb3V0KTtcbiAgICAgICAgICAgIHRoaXMuaGlkZVRpbWVvdXQgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbGVhclRpbWVvdXRzKCkge1xuICAgICAgICB0aGlzLmNsZWFyU2hvd1RpbWVvdXQoKTtcbiAgICAgICAgdGhpcy5jbGVhckhpZGVUaW1lb3V0KCk7XG4gICAgfVxuXG4gICAgdXBkYXRlVGV4dCgpIHtcbiAgICAgICAgY29uc3QgYXBUb29sdGlwID0gdGhpcy5hcFRvb2x0aXAoKTtcbiAgICAgICAgaWYgKGFwVG9vbHRpcCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgICBjb25zdCBlbWJlZGRlZFZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KGFwVG9vbHRpcCk7XG4gICAgICAgICAgICBlbWJlZGRlZFZpZXdSZWYuY29udGV4dCA9IHRoaXMuYXBUb29sdGlwVGVtcGxhdGVDb250ZXh0KCk7XG4gICAgICAgICAgICBlbWJlZGRlZFZpZXdSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgZW1iZWRkZWRWaWV3UmVmLnJvb3ROb2Rlcy5mb3JFYWNoKG5vZGUgPT4gdGhpcy50b29sdGlwVGV4dD8uYXBwZW5kQ2hpbGQobm9kZSkpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudG9vbHRpcFRleHQpIHtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcFRleHQuaW5uZXJIVE1MID0gYXBUb29sdGlwID8gRE9NUHVyaWZ5LnNhbml0aXplKGFwVG9vbHRpcCkgOiAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldENzc1ZhcmlhYmxlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGFpbmVyKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1hcC10b29sdGlwLWhlaWdodCcsIHRoaXMuY29udGFpbmVyLm9mZnNldEhlaWdodCArICdweCcpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,29 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class TooltipService {
4
- static defaultOffset = 12;
5
- static getOuterWidth(el) {
6
- return el.offsetWidth;
7
- }
8
- static getOuterHeight(el) {
9
- return el.offsetHeight;
10
- }
11
- static getViewport() {
12
- const win = window, d = document, e = d.documentElement, g = d.getElementsByTagName('body')[0], w = win.innerWidth || e.clientWidth || g.clientWidth, h = win.innerHeight || e.clientHeight || g.clientHeight;
13
- return { width: w, height: h };
14
- }
15
- static getWindowScrollLeft() {
16
- const doc = document.documentElement;
17
- return (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);
18
- }
19
- static getWindowScrollTop() {
20
- const doc = document.documentElement;
21
- return (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);
22
- }
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TooltipService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
24
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TooltipService });
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TooltipService, decorators: [{
27
- type: Injectable
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3Rvb2x0aXAvc3JjL3Rvb2x0aXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8sY0FBYztJQUN2QixNQUFNLENBQVUsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUVuQyxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQWU7UUFDaEMsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLEVBQWU7UUFDakMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVztRQUNkLE1BQU0sR0FBRyxHQUFHLE1BQU0sRUFDZCxDQUFDLEdBQUcsUUFBUSxFQUNaLENBQUMsR0FBRyxDQUFDLENBQUMsZUFBZSxFQUNyQixDQUFDLEdBQUcsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNyQyxDQUFDLEdBQUcsR0FBRyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQ3BELENBQUMsR0FBRyxHQUFHLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUU1RCxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxtQkFBbUI7UUFDdEIsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUNyQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxNQUFNLENBQUMsa0JBQWtCO1FBQ3JCLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUM7UUFDckMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO3VHQTlCUSxjQUFjOzJHQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUb29sdGlwU2VydmljZSB7XG4gICAgc3RhdGljIHJlYWRvbmx5IGRlZmF1bHRPZmZzZXQgPSAxMjtcblxuICAgIHN0YXRpYyBnZXRPdXRlcldpZHRoKGVsOiBIVE1MRWxlbWVudCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBlbC5vZmZzZXRXaWR0aDtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0T3V0ZXJIZWlnaHQoZWw6IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGVsLm9mZnNldEhlaWdodDtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0Vmlld3BvcnQoKTogYW55IHtcbiAgICAgICAgY29uc3Qgd2luID0gd2luZG93LFxuICAgICAgICAgICAgZCA9IGRvY3VtZW50LFxuICAgICAgICAgICAgZSA9IGQuZG9jdW1lbnRFbGVtZW50LFxuICAgICAgICAgICAgZyA9IGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXSxcbiAgICAgICAgICAgIHcgPSB3aW4uaW5uZXJXaWR0aCB8fCBlLmNsaWVudFdpZHRoIHx8IGcuY2xpZW50V2lkdGgsXG4gICAgICAgICAgICBoID0gd2luLmlubmVySGVpZ2h0IHx8IGUuY2xpZW50SGVpZ2h0IHx8IGcuY2xpZW50SGVpZ2h0O1xuXG4gICAgICAgIHJldHVybiB7IHdpZHRoOiB3LCBoZWlnaHQ6IGggfTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0V2luZG93U2Nyb2xsTGVmdCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBkb2MgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICAgIHJldHVybiAod2luZG93LnBhZ2VYT2Zmc2V0IHx8IGRvYy5zY3JvbGxMZWZ0KSAtIChkb2MuY2xpZW50TGVmdCB8fCAwKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0V2luZG93U2Nyb2xsVG9wKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGRvYyA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICAgICAgcmV0dXJuICh3aW5kb3cucGFnZVlPZmZzZXQgfHwgZG9jLnNjcm9sbFRvcCkgLSAoZG9jLmNsaWVudFRvcCB8fCAwKTtcbiAgICB9XG59XG4iXX0=
@@ -1,5 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class FormFieldComponent {
3
- static ɵfac: i0.ɵɵFactoryDeclaration<FormFieldComponent, never>;
4
- static ɵcmp: i0.ɵɵComponentDeclaration<FormFieldComponent, "ap-form-field", never, {}, {}, never, ["label", "*", "ap-form-message"], true, never>;
5
- }
@@ -1 +0,0 @@
1
- export * from './form-field.component';
@@ -1,12 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export type MessageType = 'error' | 'success';
3
- export declare class FormMessageComponent {
4
- set messageType(messageType: MessageType);
5
- message: string;
6
- messageTypeSignal: import("@angular/core").WritableSignal<MessageType>;
7
- symbolIdSignal: import("@angular/core").Signal<"error_fill" | "rounded-check_fill">;
8
- private symbolRegistry;
9
- constructor();
10
- static ɵfac: i0.ɵɵFactoryDeclaration<FormMessageComponent, never>;
11
- static ɵcmp: i0.ɵɵComponentDeclaration<FormMessageComponent, "ap-form-message", never, { "messageType": { "alias": "messageType"; "required": true; }; "message": { "alias": "message"; "required": true; }; }, {}, never, never, true, never>;
12
- }
@@ -1 +0,0 @@
1
- export * from './form-message.component';
@@ -1,40 +0,0 @@
1
- import { SymbolComponent, SymbolRegistry } from '@agorapulse/ui-symbol';
2
- import { ElementRef, EventEmitter } from '@angular/core';
3
- import { MatMenuPanel } from '@angular/material/menu';
4
- import * as i0 from "@angular/core";
5
- export type ButtonType = 'flat' | 'stroked-transparent' | 'stroked';
6
- export type ButtonColor = 'none' | 'blue' | 'red' | 'green';
7
- export declare class IconButtonComponent {
8
- private symbolRegistry;
9
- private elementRef;
10
- ariaLabel: string;
11
- name: string;
12
- color: ButtonColor;
13
- disabled: boolean;
14
- menuTrigger: MatMenuPanel | null;
15
- symbolId: import("@angular/core").InputSignal<string | undefined>;
16
- set locked(locked: boolean);
17
- get locked(): boolean;
18
- set loading(loading: boolean);
19
- get loading(): boolean;
20
- type: ButtonType;
21
- onClick: EventEmitter<MouseEvent>;
22
- onFocus: EventEmitter<FocusEvent>;
23
- onBlur: EventEmitter<FocusEvent>;
24
- menuOpened: EventEmitter<void>;
25
- menuClosed: EventEmitter<void>;
26
- symbolComponent: SymbolComponent;
27
- buttonElement: ElementRef<HTMLButtonElement>;
28
- private _loading;
29
- private _locked;
30
- hostDataTest: string | undefined;
31
- focused: boolean;
32
- constructor(symbolRegistry: SymbolRegistry, elementRef: ElementRef);
33
- onClickHandle($event: MouseEvent): void;
34
- onBlurHandle($event: FocusEvent): void;
35
- onFocusHandle($event: FocusEvent): void;
36
- onSpaceKeyUp(event: KeyboardEvent): void;
37
- static ɵfac: i0.ɵɵFactoryDeclaration<IconButtonComponent, never>;
38
- static ɵcmp: i0.ɵɵComponentDeclaration<IconButtonComponent, "ap-icon-button", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "name": { "alias": "name"; "required": false; }; "color": { "alias": "color"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "menuTrigger": { "alias": "menuTrigger"; "required": false; }; "symbolId": { "alias": "symbolId"; "required": false; "isSignal": true; }; "locked": { "alias": "locked"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "type": { "alias": "type"; "required": false; }; }, { "onClick": "onClick"; "onFocus": "onFocus"; "onBlur": "onBlur"; "menuOpened": "menuOpened"; "menuClosed": "menuClosed"; }, ["symbolComponent"], ["*"], true, never>;
39
- static ngAcceptInputType_disabled: unknown;
40
- }
@@ -1 +0,0 @@
1
- export * from './icon-button.component';
@@ -1,26 +0,0 @@
1
- import { agorapulseSymbol } from '@agorapulse/ui-symbol';
2
- import { EventEmitter } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- export declare class InfoboxComponent {
5
- private readonly symbolRegistry;
6
- private readonly elementRef;
7
- buttonId: string | null;
8
- buttonLabel: string | undefined;
9
- buttonDataTrack: string | null;
10
- closable: boolean;
11
- title?: string;
12
- type: 'info' | 'warning' | 'error' | 'success';
13
- buttonClicked: EventEmitter<void>;
14
- closed: EventEmitter<void>;
15
- displayDirection: 'horizontal' | 'vertical';
16
- defaultButtonId: string;
17
- readonly symbolIds: {
18
- [k: string]: agorapulseSymbol;
19
- };
20
- constructor();
21
- onClickButton(): void;
22
- onCloseInfobox(): void;
23
- static ɵfac: i0.ɵɵFactoryDeclaration<InfoboxComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<InfoboxComponent, "ap-infobox", never, { "buttonId": { "alias": "buttonId"; "required": false; }; "buttonLabel": { "alias": "buttonLabel"; "required": false; }; "buttonDataTrack": { "alias": "buttonDataTrack"; "required": false; }; "closable": { "alias": "closable"; "required": false; }; "title": { "alias": "title"; "required": false; }; "type": { "alias": "type"; "required": false; }; }, { "buttonClicked": "buttonClicked"; "closed": "closed"; }, never, ["*"], true, never>;
25
- static ngAcceptInputType_closable: unknown;
26
- }
@@ -1 +0,0 @@
1
- export * from './infobox.component';
@@ -1,7 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class InputDirective {
3
- private elementRef;
4
- input: HTMLInputElement;
5
- static ɵfac: i0.ɵɵFactoryDeclaration<InputDirective, never>;
6
- static ɵdir: i0.ɵɵDirectiveDeclaration<InputDirective, "[apInput]", never, {}, {}, never, never, true, never>;
7
- }
@@ -1 +0,0 @@
1
- export { InputDirective } from './input.directive';
@@ -1,6 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class InputGroupComponent {
3
- symbolPosition: 'left' | 'right';
4
- static ɵfac: i0.ɵɵFactoryDeclaration<InputGroupComponent, never>;
5
- static ɵcmp: i0.ɵɵComponentDeclaration<InputGroupComponent, "ap-input-group", never, { "symbolPosition": { "alias": "symbolPosition"; "required": false; }; }, {}, never, ["ap-input-prefix", "ap-symbol", "*"], true, never>;
6
- }