@agorapulse/ui-components 18.1.7 → 20.0.0-beta

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 (521) hide show
  1. package/action-dropdown/index.d.ts +102 -3
  2. package/add-comment/index.d.ts +24 -5
  3. package/agorapulse-ui-components-20.0.0-beta.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 +18 -18
  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 +5 -5
  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 -26
  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 +10 -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.mjs +154 -154
  69. package/fesm2022/agorapulse-ui-components-nav-selector.mjs.map +1 -1
  70. package/fesm2022/agorapulse-ui-components-neo-datepicker.mjs +8 -8
  71. package/fesm2022/agorapulse-ui-components-neo-datepicker.mjs.map +1 -1
  72. package/fesm2022/agorapulse-ui-components-notification.mjs +4 -4
  73. package/fesm2022/agorapulse-ui-components-notification.mjs.map +1 -1
  74. package/fesm2022/agorapulse-ui-components-paginator.mjs +7 -7
  75. package/fesm2022/agorapulse-ui-components-paginator.mjs.map +1 -1
  76. package/fesm2022/agorapulse-ui-components-password-input.mjs +4 -4
  77. package/fesm2022/agorapulse-ui-components-password-input.mjs.map +1 -1
  78. package/fesm2022/agorapulse-ui-components-phone-number-input.mjs +16 -16
  79. package/fesm2022/agorapulse-ui-components-phone-number-input.mjs.map +1 -1
  80. package/fesm2022/agorapulse-ui-components-popmenu.mjs +11 -11
  81. package/fesm2022/agorapulse-ui-components-popmenu.mjs.map +1 -1
  82. package/fesm2022/agorapulse-ui-components-radio.mjs +6 -6
  83. package/fesm2022/agorapulse-ui-components-radio.mjs.map +1 -1
  84. package/fesm2022/agorapulse-ui-components-range-slider.mjs +4 -4
  85. package/fesm2022/agorapulse-ui-components-range-slider.mjs.map +1 -1
  86. package/fesm2022/agorapulse-ui-components-select.mjs +65 -65
  87. package/fesm2022/agorapulse-ui-components-select.mjs.map +1 -1
  88. package/fesm2022/agorapulse-ui-components-slide-toggle.mjs +4 -4
  89. package/fesm2022/agorapulse-ui-components-slide-toggle.mjs.map +1 -1
  90. package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs +8 -8
  91. package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs.map +1 -1
  92. package/fesm2022/agorapulse-ui-components-social-button.mjs +4 -4
  93. package/fesm2022/agorapulse-ui-components-social-button.mjs.map +1 -1
  94. package/fesm2022/agorapulse-ui-components-split-button.mjs +5 -5
  95. package/fesm2022/agorapulse-ui-components-split-button.mjs.map +1 -1
  96. package/fesm2022/agorapulse-ui-components-status-card.mjs +3 -3
  97. package/fesm2022/agorapulse-ui-components-status-card.mjs.map +1 -1
  98. package/fesm2022/agorapulse-ui-components-status.mjs +4 -4
  99. package/fesm2022/agorapulse-ui-components-status.mjs.map +1 -1
  100. package/fesm2022/agorapulse-ui-components-stepper.mjs +4 -4
  101. package/fesm2022/agorapulse-ui-components-stepper.mjs.map +1 -1
  102. package/fesm2022/agorapulse-ui-components-tag.mjs +9 -9
  103. package/fesm2022/agorapulse-ui-components-tag.mjs.map +1 -1
  104. package/fesm2022/agorapulse-ui-components-text-measurement.mjs +3 -3
  105. package/fesm2022/agorapulse-ui-components-textarea.mjs +3 -3
  106. package/fesm2022/agorapulse-ui-components-toggle.mjs +4 -4
  107. package/fesm2022/agorapulse-ui-components-toggle.mjs.map +1 -1
  108. package/fesm2022/agorapulse-ui-components-tooltip.mjs +15 -15
  109. package/fesm2022/agorapulse-ui-components-tooltip.mjs.map +1 -1
  110. package/fesm2022/agorapulse-ui-components.mjs +4 -4
  111. package/fesm2022/agorapulse-ui-components.mjs.map +1 -1
  112. package/form-field/index.d.ts +8 -5
  113. package/form-message/index.d.ts +16 -5
  114. package/icon-button/index.d.ts +44 -5
  115. package/index.d.ts +50 -25
  116. package/infobox/index.d.ts +29 -5
  117. package/input/index.d.ts +10 -5
  118. package/input-group/index.d.ts +14 -5
  119. package/input-search/index.d.ts +35 -5
  120. package/labels/index.d.ts +59 -5
  121. package/labels-selector/index.d.ts +46 -5
  122. package/legacy/input/index.d.ts +64 -3
  123. package/legacy/select/index.d.ts +124 -3
  124. package/legacy/textarea/index.d.ts +54 -3
  125. package/media-display-overlay/index.d.ts +46 -5
  126. package/modal/index.d.ts +58 -5
  127. package/nav-selector/index.d.ts +362 -3
  128. package/neo-datepicker/index.d.ts +74 -5
  129. package/notification/index.d.ts +9 -5
  130. package/package.json +24 -124
  131. package/paginator/index.d.ts +57 -5
  132. package/password-input/index.d.ts +36 -5
  133. package/phone-number-input/index.d.ts +54 -5
  134. package/popmenu/index.d.ts +212 -3
  135. package/radio/index.d.ts +80 -5
  136. package/range-slider/index.d.ts +39 -5
  137. package/select/index.d.ts +214 -5
  138. package/slide-toggle/index.d.ts +23 -5
  139. package/snackbars-thread/index.d.ts +73 -3
  140. package/social-button/index.d.ts +34 -5
  141. package/split-button/index.d.ts +47 -5
  142. package/status/index.d.ts +13 -5
  143. package/status-card/index.d.ts +17 -5
  144. package/stepper/index.d.ts +26 -5
  145. package/tag/index.d.ts +28 -5
  146. package/text-measurement/index.d.ts +11 -5
  147. package/textarea/index.d.ts +14 -5
  148. package/toggle/index.d.ts +55 -5
  149. package/tooltip/index.d.ts +62 -5
  150. package/action-dropdown/action-dropdown-trigger.directive.d.ts +0 -17
  151. package/action-dropdown/action-dropdown.component.d.ts +0 -84
  152. package/action-dropdown/public_api.d.ts +0 -2
  153. package/add-comment/add-comment.component.d.ts +0 -21
  154. package/add-comment/public_api.d.ts +0 -1
  155. package/agorapulse-ui-components-18.1.7.tgz +0 -0
  156. package/autocomplete/autocomplete.component.d.ts +0 -40
  157. package/autocomplete/public_api.d.ts +0 -1
  158. package/avatar/avatar.component.d.ts +0 -61
  159. package/avatar/public_api.d.ts +0 -1
  160. package/badge/badge.component.d.ts +0 -7
  161. package/badge/public_api.d.ts +0 -1
  162. package/button/button.component.d.ts +0 -52
  163. package/button/public_api.d.ts +0 -1
  164. package/checkbox/checkbox.component.d.ts +0 -51
  165. package/checkbox/public_api.d.ts +0 -1
  166. package/close-button/close-button.component.d.ts +0 -11
  167. package/close-button/public_api.d.ts +0 -1
  168. package/confirm-modal/confirm-modal-texts.model.d.ts +0 -8
  169. package/confirm-modal/confirm-modal.component.d.ts +0 -20
  170. package/confirm-modal/public_api.d.ts +0 -2
  171. package/counter/counter.component.d.ts +0 -13
  172. package/counter/public_api.d.ts +0 -1
  173. package/datepicker/datepicker.component.d.ts +0 -100
  174. package/datepicker/public_api.d.ts +0 -1
  175. package/directives/autosize-textarea.directive.d.ts +0 -12
  176. package/directives/base-button.directive.d.ts +0 -13
  177. package/directives/checkbox.directive.d.ts +0 -32
  178. package/directives/default-image.directive.d.ts +0 -8
  179. package/directives/ellipsis.directive.d.ts +0 -29
  180. package/directives/equal-validator.directive.d.ts +0 -13
  181. package/directives/frozen-gif.directive.d.ts +0 -30
  182. package/directives/multi-style-text.directive.d.ts +0 -16
  183. package/directives/public_api.d.ts +0 -8
  184. package/dot-stepper/dot-stepper.component.d.ts +0 -20
  185. package/dot-stepper/public_api.d.ts +0 -1
  186. package/esm2022/action-dropdown/action-dropdown-trigger.directive.mjs +0 -54
  187. package/esm2022/action-dropdown/action-dropdown.component.mjs +0 -269
  188. package/esm2022/action-dropdown/agorapulse-ui-components-action-dropdown.mjs +0 -5
  189. package/esm2022/action-dropdown/public_api.mjs +0 -3
  190. package/esm2022/add-comment/add-comment.component.mjs +0 -72
  191. package/esm2022/add-comment/agorapulse-ui-components-add-comment.mjs +0 -5
  192. package/esm2022/add-comment/public_api.mjs +0 -2
  193. package/esm2022/agorapulse-ui-components.mjs +0 -5
  194. package/esm2022/autocomplete/agorapulse-ui-components-autocomplete.mjs +0 -5
  195. package/esm2022/autocomplete/autocomplete.component.mjs +0 -125
  196. package/esm2022/autocomplete/public_api.mjs +0 -2
  197. package/esm2022/avatar/agorapulse-ui-components-avatar.mjs +0 -5
  198. package/esm2022/avatar/avatar.component.mjs +0 -161
  199. package/esm2022/avatar/public_api.mjs +0 -2
  200. package/esm2022/badge/agorapulse-ui-components-badge.mjs +0 -5
  201. package/esm2022/badge/badge.component.mjs +0 -17
  202. package/esm2022/badge/public_api.mjs +0 -2
  203. package/esm2022/button/agorapulse-ui-components-button.mjs +0 -5
  204. package/esm2022/button/button.component.mjs +0 -105
  205. package/esm2022/button/public_api.mjs +0 -2
  206. package/esm2022/checkbox/agorapulse-ui-components-checkbox.mjs +0 -5
  207. package/esm2022/checkbox/checkbox.component.mjs +0 -177
  208. package/esm2022/checkbox/public_api.mjs +0 -2
  209. package/esm2022/close-button/agorapulse-ui-components-close-button.mjs +0 -5
  210. package/esm2022/close-button/close-button.component.mjs +0 -20
  211. package/esm2022/close-button/public_api.mjs +0 -2
  212. package/esm2022/confirm-modal/agorapulse-ui-components-confirm-modal.mjs +0 -5
  213. package/esm2022/confirm-modal/confirm-modal-texts.model.mjs +0 -2
  214. package/esm2022/confirm-modal/confirm-modal.component.mjs +0 -61
  215. package/esm2022/confirm-modal/public_api.mjs +0 -3
  216. package/esm2022/counter/agorapulse-ui-components-counter.mjs +0 -5
  217. package/esm2022/counter/counter.component.mjs +0 -32
  218. package/esm2022/counter/public_api.mjs +0 -2
  219. package/esm2022/datepicker/agorapulse-ui-components-datepicker.mjs +0 -5
  220. package/esm2022/datepicker/datepicker.component.mjs +0 -288
  221. package/esm2022/datepicker/public_api.mjs +0 -2
  222. package/esm2022/directives/agorapulse-ui-components-directives.mjs +0 -5
  223. package/esm2022/directives/autosize-textarea.directive.mjs +0 -45
  224. package/esm2022/directives/base-button.directive.mjs +0 -47
  225. package/esm2022/directives/checkbox.directive.mjs +0 -283
  226. package/esm2022/directives/default-image.directive.mjs +0 -37
  227. package/esm2022/directives/ellipsis.directive.mjs +0 -90
  228. package/esm2022/directives/equal-validator.directive.mjs +0 -73
  229. package/esm2022/directives/frozen-gif.directive.mjs +0 -125
  230. package/esm2022/directives/multi-style-text.directive.mjs +0 -61
  231. package/esm2022/directives/public_api.mjs +0 -9
  232. package/esm2022/dot-stepper/agorapulse-ui-components-dot-stepper.mjs +0 -5
  233. package/esm2022/dot-stepper/dot-stepper.component.mjs +0 -46
  234. package/esm2022/dot-stepper/public_api.mjs +0 -2
  235. package/esm2022/form-field/agorapulse-ui-components-form-field.mjs +0 -5
  236. package/esm2022/form-field/form-field.component.mjs +0 -11
  237. package/esm2022/form-field/public_api.mjs +0 -2
  238. package/esm2022/form-message/agorapulse-ui-components-form-message.mjs +0 -5
  239. package/esm2022/form-message/form-message.component.mjs +0 -34
  240. package/esm2022/form-message/public_api.mjs +0 -2
  241. package/esm2022/icon-button/agorapulse-ui-components-icon-button.mjs +0 -5
  242. package/esm2022/icon-button/icon-button.component.mjs +0 -123
  243. package/esm2022/icon-button/public_api.mjs +0 -2
  244. package/esm2022/index.mjs +0 -49
  245. package/esm2022/infobox/agorapulse-ui-components-infobox.mjs +0 -5
  246. package/esm2022/infobox/infobox.component.mjs +0 -72
  247. package/esm2022/infobox/public_api.mjs +0 -2
  248. package/esm2022/input/agorapulse-ui-components-input.mjs +0 -5
  249. package/esm2022/input/input.directive.mjs +0 -19
  250. package/esm2022/input/public_api.mjs +0 -2
  251. package/esm2022/input-group/agorapulse-ui-components-input-group.mjs +0 -5
  252. package/esm2022/input-group/input-group.component.mjs +0 -14
  253. package/esm2022/input-group/input-prefix/input-prefix.component.mjs +0 -11
  254. package/esm2022/input-group/public_api.mjs +0 -3
  255. package/esm2022/input-search/agorapulse-ui-components-input-search.mjs +0 -5
  256. package/esm2022/input-search/input-search.component.mjs +0 -78
  257. package/esm2022/input-search/public_api.mjs +0 -2
  258. package/esm2022/labels/agorapulse-ui-components-labels.mjs +0 -5
  259. package/esm2022/labels/label-list.component.mjs +0 -108
  260. package/esm2022/labels/label.component.mjs +0 -56
  261. package/esm2022/labels/public_api.mjs +0 -3
  262. package/esm2022/labels-selector/agorapulse-ui-components-labels-selector.mjs +0 -5
  263. package/esm2022/labels-selector/labels-selector.component.mjs +0 -122
  264. package/esm2022/labels-selector/public_api.mjs +0 -2
  265. package/esm2022/legacy/input/agorapulse-ui-components-legacy-input.mjs +0 -5
  266. package/esm2022/legacy/input/input.component.mjs +0 -189
  267. package/esm2022/legacy/input/public_api.mjs +0 -2
  268. package/esm2022/legacy/select/agorapulse-ui-components-legacy-select.mjs +0 -5
  269. package/esm2022/legacy/select/public_api.mjs +0 -2
  270. package/esm2022/legacy/select/select.component.mjs +0 -451
  271. package/esm2022/legacy/textarea/agorapulse-ui-components-legacy-textarea.mjs +0 -5
  272. package/esm2022/legacy/textarea/public_api.mjs +0 -2
  273. package/esm2022/legacy/textarea/textarea.component.mjs +0 -154
  274. package/esm2022/media-display-overlay/agorapulse-ui-components-media-display-overlay.mjs +0 -5
  275. package/esm2022/media-display-overlay/media-display-overlay-dialog.component.mjs +0 -122
  276. package/esm2022/media-display-overlay/public_api.mjs +0 -2
  277. package/esm2022/modal/agorapulse-ui-components-modal.mjs +0 -5
  278. package/esm2022/modal/modal.component.mjs +0 -116
  279. package/esm2022/modal/public_api.mjs +0 -2
  280. package/esm2022/nav-selector/agorapulse-ui-components-nav-selector.mjs +0 -5
  281. package/esm2022/nav-selector/directives/nav-selector-popover-trigger.directive.mjs +0 -71
  282. package/esm2022/nav-selector/directives/tree-node-accessibility.directive.mjs +0 -30
  283. package/esm2022/nav-selector/nav-selector-category/nav-selector-category.component.mjs +0 -129
  284. package/esm2022/nav-selector/nav-selector-category/nav-selector-category.presenter.mjs +0 -29
  285. package/esm2022/nav-selector/nav-selector-group/nav-selector-group.component.mjs +0 -174
  286. package/esm2022/nav-selector/nav-selector-group/nav-selector-group.presenter.mjs +0 -31
  287. package/esm2022/nav-selector/nav-selector-leaf/nav-selector-leaf.component.mjs +0 -241
  288. package/esm2022/nav-selector/nav-selector-leaf/nav-selector-leaf.presenter.mjs +0 -37
  289. package/esm2022/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.component.mjs +0 -43
  290. package/esm2022/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.presenter.mjs +0 -20
  291. package/esm2022/nav-selector/nav-selector-leaf-details/nav-selector-leaf-details.component.mjs +0 -95
  292. package/esm2022/nav-selector/nav-selector-leaf-details/nav-selector-leaf-details.presenter.mjs +0 -31
  293. package/esm2022/nav-selector/nav-selector-popover/nav-selector-popover-item.component.mjs +0 -65
  294. package/esm2022/nav-selector/nav-selector-popover/nav-selector-popover.component.mjs +0 -132
  295. package/esm2022/nav-selector/nav-selector.component.mjs +0 -204
  296. package/esm2022/nav-selector/nav-selector.mjs +0 -9
  297. package/esm2022/nav-selector/nav-selector.state.mjs +0 -214
  298. package/esm2022/nav-selector/public_api.mjs +0 -3
  299. package/esm2022/nav-selector/utils/leaf.utils.mjs +0 -44
  300. package/esm2022/nav-selector/utils/nav-selector.accessibility.mjs +0 -179
  301. package/esm2022/nav-selector/utils/nav-selector.builder.mjs +0 -271
  302. package/esm2022/nav-selector/utils/nav-selector.filter.mjs +0 -141
  303. package/esm2022/nav-selector/utils/nav-selector.folding.mjs +0 -282
  304. package/esm2022/nav-selector/utils/nav-selector.merger.mjs +0 -76
  305. package/esm2022/nav-selector/utils/nav-selector.minifying.mjs +0 -59
  306. package/esm2022/nav-selector/utils/nav-selector.multi-select.mjs +0 -215
  307. package/esm2022/nav-selector/utils/nav-selector.single-select.mjs +0 -119
  308. package/esm2022/nav-selector/utils/nav-selector.view-more.mjs +0 -98
  309. package/esm2022/neo-datepicker/agorapulse-ui-components-neo-datepicker.mjs +0 -5
  310. package/esm2022/neo-datepicker/day-detail.model.mjs +0 -2
  311. package/esm2022/neo-datepicker/day-disabled.pipe.mjs +0 -21
  312. package/esm2022/neo-datepicker/neo-datepicker.component.mjs +0 -241
  313. package/esm2022/neo-datepicker/public_api.mjs +0 -4
  314. package/esm2022/notification/agorapulse-ui-components-notification.mjs +0 -5
  315. package/esm2022/notification/notification.component.mjs +0 -15
  316. package/esm2022/notification/public_api.mjs +0 -2
  317. package/esm2022/paginator/agorapulse-ui-components-paginator.mjs +0 -5
  318. package/esm2022/paginator/paginator-button/paginator-button.component.mjs +0 -51
  319. package/esm2022/paginator/paginator.component.mjs +0 -114
  320. package/esm2022/paginator/public_api.mjs +0 -3
  321. package/esm2022/password-input/agorapulse-ui-components-password-input.mjs +0 -5
  322. package/esm2022/password-input/password-input.component.mjs +0 -78
  323. package/esm2022/password-input/public_api.mjs +0 -2
  324. package/esm2022/phone-number-input/agorapulse-ui-components-phone-number-input.mjs +0 -5
  325. package/esm2022/phone-number-input/phone-number-input.component.mjs +0 -195
  326. package/esm2022/phone-number-input/public_api.mjs +0 -2
  327. package/esm2022/popmenu/agorapulse-ui-components-popmenu.mjs +0 -5
  328. package/esm2022/popmenu/options.mjs +0 -17
  329. package/esm2022/popmenu/popmenu-options.interface.mjs +0 -2
  330. package/esm2022/popmenu/popmenu-options.service.mjs +0 -7
  331. package/esm2022/popmenu/popmenu.component.mjs +0 -383
  332. package/esm2022/popmenu/popmenu.directive.mjs +0 -296
  333. package/esm2022/popmenu/popmenu.module.mjs +0 -29
  334. package/esm2022/popmenu/public_api.mjs +0 -5
  335. package/esm2022/radio/agorapulse-ui-components-radio.mjs +0 -5
  336. package/esm2022/radio/public_api.mjs +0 -2
  337. package/esm2022/radio/radio.component.mjs +0 -319
  338. package/esm2022/range-slider/agorapulse-ui-components-range-slider.mjs +0 -5
  339. package/esm2022/range-slider/public_api.mjs +0 -2
  340. package/esm2022/range-slider/range-slider.component.mjs +0 -154
  341. package/esm2022/select/agorapulse-ui-components-select.mjs +0 -5
  342. package/esm2022/select/ap-select.module.mjs +0 -78
  343. package/esm2022/select/dropdown-group-item/dropdown-group-item.component.mjs +0 -51
  344. package/esm2022/select/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.mjs +0 -75
  345. package/esm2022/select/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.mjs +0 -79
  346. package/esm2022/select/dropdown-item-single-one-line/dropdown-item-single-one-line.component.mjs +0 -59
  347. package/esm2022/select/dropdown-item-single-two-lines/dropdown-item-single-two-lines.component.mjs +0 -60
  348. package/esm2022/select/dropdown-search-form/dropdown-search-form.component.mjs +0 -98
  349. package/esm2022/select/public_api.mjs +0 -13
  350. package/esm2022/select/select-base.directive.mjs +0 -69
  351. package/esm2022/select/select-label-multiple/select-label-multiple.component.mjs +0 -95
  352. package/esm2022/select/select-label-single/select-label-single.component.mjs +0 -33
  353. package/esm2022/select/select-multiple.directive.mjs +0 -35
  354. package/esm2022/select/select-single.directive.mjs +0 -34
  355. package/esm2022/slide-toggle/agorapulse-ui-components-slide-toggle.mjs +0 -5
  356. package/esm2022/slide-toggle/public_api.mjs +0 -2
  357. package/esm2022/slide-toggle/slide-toggle.component.mjs +0 -66
  358. package/esm2022/snackbars-thread/agorapulse-ui-components-snackbars-thread.mjs +0 -5
  359. package/esm2022/snackbars-thread/component/snackbars-thread.component.mjs +0 -93
  360. package/esm2022/snackbars-thread/model/snackbars-thread.model.mjs +0 -44
  361. package/esm2022/snackbars-thread/public_api.mjs +0 -4
  362. package/esm2022/snackbars-thread/service/snackbars-thread.service.mjs +0 -47
  363. package/esm2022/snackbars-thread/utils/const/snackbars-thread.const.mjs +0 -13
  364. package/esm2022/social-button/agorapulse-ui-components-social-button.mjs +0 -5
  365. package/esm2022/social-button/public_api.mjs +0 -2
  366. package/esm2022/social-button/social-button.component.mjs +0 -164
  367. package/esm2022/split-button/agorapulse-ui-components-split-button.mjs +0 -5
  368. package/esm2022/split-button/public_api.mjs +0 -2
  369. package/esm2022/split-button/split-button.component.mjs +0 -122
  370. package/esm2022/src/lib/agorapulse-ui-components.module.mjs +0 -200
  371. package/esm2022/status/agorapulse-ui-components-status.mjs +0 -5
  372. package/esm2022/status/public_api.mjs +0 -2
  373. package/esm2022/status/status.component.mjs +0 -21
  374. package/esm2022/status-card/agorapulse-ui-components-status-card.mjs +0 -5
  375. package/esm2022/status-card/public_api.mjs +0 -2
  376. package/esm2022/status-card/status-card.component.mjs +0 -23
  377. package/esm2022/stepper/agorapulse-ui-components-stepper.mjs +0 -5
  378. package/esm2022/stepper/public_api.mjs +0 -3
  379. package/esm2022/stepper/step.model.mjs +0 -2
  380. package/esm2022/stepper/stepper.component.mjs +0 -38
  381. package/esm2022/tag/agorapulse-ui-components-tag.mjs +0 -5
  382. package/esm2022/tag/public_api.mjs +0 -2
  383. package/esm2022/tag/tag.component.mjs +0 -35
  384. package/esm2022/text-measurement/agorapulse-ui-components-text-measurement.mjs +0 -5
  385. package/esm2022/text-measurement/public_api.mjs +0 -2
  386. package/esm2022/text-measurement/text-measurement.service.mjs +0 -29
  387. package/esm2022/textarea/agorapulse-ui-components-textarea.mjs +0 -5
  388. package/esm2022/textarea/public_api.mjs +0 -2
  389. package/esm2022/textarea/textarea.directive.mjs +0 -37
  390. package/esm2022/toggle/agorapulse-ui-components-toggle.mjs +0 -5
  391. package/esm2022/toggle/public_api.mjs +0 -2
  392. package/esm2022/toggle/toggle.component.mjs +0 -208
  393. package/esm2022/tooltip/agorapulse-ui-components-tooltip.mjs +0 -5
  394. package/esm2022/tooltip/public_api.mjs +0 -2
  395. package/esm2022/tooltip/tooltip.directive.mjs +0 -401
  396. package/esm2022/tooltip/tooltip.service.mjs +0 -29
  397. package/form-field/form-field.component.d.ts +0 -5
  398. package/form-field/public_api.d.ts +0 -1
  399. package/form-message/form-message.component.d.ts +0 -12
  400. package/form-message/public_api.d.ts +0 -1
  401. package/icon-button/icon-button.component.d.ts +0 -40
  402. package/icon-button/public_api.d.ts +0 -1
  403. package/infobox/infobox.component.d.ts +0 -26
  404. package/infobox/public_api.d.ts +0 -1
  405. package/input/input.directive.d.ts +0 -7
  406. package/input/public_api.d.ts +0 -1
  407. package/input-group/input-group.component.d.ts +0 -6
  408. package/input-group/input-prefix/input-prefix.component.d.ts +0 -5
  409. package/input-group/public_api.d.ts +0 -2
  410. package/input-search/input-search.component.d.ts +0 -32
  411. package/input-search/public_api.d.ts +0 -1
  412. package/labels/label-list.component.d.ts +0 -34
  413. package/labels/label.component.d.ts +0 -23
  414. package/labels/public_api.d.ts +0 -2
  415. package/labels-selector/labels-selector.component.d.ts +0 -42
  416. package/labels-selector/public_api.d.ts +0 -1
  417. package/legacy/input/input.component.d.ts +0 -64
  418. package/legacy/input/public_api.d.ts +0 -1
  419. package/legacy/select/public_api.d.ts +0 -1
  420. package/legacy/select/select.component.d.ts +0 -122
  421. package/legacy/textarea/public_api.d.ts +0 -1
  422. package/legacy/textarea/textarea.component.d.ts +0 -53
  423. package/media-display-overlay/media-display-overlay-dialog.component.d.ts +0 -42
  424. package/media-display-overlay/public_api.d.ts +0 -1
  425. package/modal/modal.component.d.ts +0 -54
  426. package/modal/public_api.d.ts +0 -1
  427. package/nav-selector/directives/nav-selector-popover-trigger.directive.d.ts +0 -25
  428. package/nav-selector/directives/tree-node-accessibility.directive.d.ts +0 -9
  429. package/nav-selector/nav-selector-category/nav-selector-category.component.d.ts +0 -28
  430. package/nav-selector/nav-selector-category/nav-selector-category.presenter.d.ts +0 -14
  431. package/nav-selector/nav-selector-group/nav-selector-group.component.d.ts +0 -37
  432. package/nav-selector/nav-selector-group/nav-selector-group.presenter.d.ts +0 -17
  433. package/nav-selector/nav-selector-leaf/nav-selector-leaf.component.d.ts +0 -48
  434. package/nav-selector/nav-selector-leaf/nav-selector-leaf.presenter.d.ts +0 -19
  435. package/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.component.d.ts +0 -13
  436. package/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.presenter.d.ts +0 -10
  437. package/nav-selector/nav-selector-leaf-details/nav-selector-leaf-details.component.d.ts +0 -24
  438. package/nav-selector/nav-selector-leaf-details/nav-selector-leaf-details.presenter.d.ts +0 -14
  439. package/nav-selector/nav-selector-popover/nav-selector-popover-item.component.d.ts +0 -14
  440. package/nav-selector/nav-selector-popover/nav-selector-popover.component.d.ts +0 -40
  441. package/nav-selector/nav-selector.component.d.ts +0 -39
  442. package/nav-selector/nav-selector.d.ts +0 -268
  443. package/nav-selector/nav-selector.state.d.ts +0 -49
  444. package/nav-selector/public_api.d.ts +0 -3
  445. package/nav-selector/utils/leaf.utils.d.ts +0 -20
  446. package/nav-selector/utils/nav-selector.accessibility.d.ts +0 -52
  447. package/nav-selector/utils/nav-selector.builder.d.ts +0 -32
  448. package/nav-selector/utils/nav-selector.filter.d.ts +0 -32
  449. package/nav-selector/utils/nav-selector.folding.d.ts +0 -73
  450. package/nav-selector/utils/nav-selector.merger.d.ts +0 -23
  451. package/nav-selector/utils/nav-selector.minifying.d.ts +0 -29
  452. package/nav-selector/utils/nav-selector.multi-select.d.ts +0 -54
  453. package/nav-selector/utils/nav-selector.single-select.d.ts +0 -17
  454. package/nav-selector/utils/nav-selector.view-more.d.ts +0 -30
  455. package/neo-datepicker/day-detail.model.d.ts +0 -9
  456. package/neo-datepicker/day-disabled.pipe.d.ts +0 -8
  457. package/neo-datepicker/neo-datepicker.component.d.ts +0 -61
  458. package/neo-datepicker/public_api.d.ts +0 -3
  459. package/notification/notification.component.d.ts +0 -6
  460. package/notification/public_api.d.ts +0 -1
  461. package/paginator/paginator-button/paginator-button.component.d.ts +0 -17
  462. package/paginator/paginator.component.d.ts +0 -38
  463. package/paginator/public_api.d.ts +0 -2
  464. package/password-input/password-input.component.d.ts +0 -33
  465. package/password-input/public_api.d.ts +0 -1
  466. package/phone-number-input/phone-number-input.component.d.ts +0 -50
  467. package/phone-number-input/public_api.d.ts +0 -1
  468. package/popmenu/options.d.ts +0 -16
  469. package/popmenu/popmenu-options.interface.d.ts +0 -48
  470. package/popmenu/popmenu-options.service.d.ts +0 -7
  471. package/popmenu/popmenu.component.d.ts +0 -66
  472. package/popmenu/popmenu.directive.d.ts +0 -90
  473. package/popmenu/popmenu.module.d.ts +0 -11
  474. package/popmenu/public_api.d.ts +0 -4
  475. package/radio/public_api.d.ts +0 -1
  476. package/radio/radio.component.d.ts +0 -77
  477. package/range-slider/public_api.d.ts +0 -1
  478. package/range-slider/range-slider.component.d.ts +0 -35
  479. package/select/ap-select.module.d.ts +0 -17
  480. package/select/dropdown-group-item/dropdown-group-item.component.d.ts +0 -16
  481. package/select/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.d.ts +0 -25
  482. package/select/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.d.ts +0 -26
  483. package/select/dropdown-item-single-one-line/dropdown-item-single-one-line.component.d.ts +0 -20
  484. package/select/dropdown-item-single-two-lines/dropdown-item-single-two-lines.component.d.ts +0 -20
  485. package/select/dropdown-search-form/dropdown-search-form.component.d.ts +0 -32
  486. package/select/public_api.d.ts +0 -12
  487. package/select/select-base.directive.d.ts +0 -18
  488. package/select/select-label-multiple/select-label-multiple.component.d.ts +0 -27
  489. package/select/select-label-single/select-label-single.component.d.ts +0 -12
  490. package/select/select-multiple.directive.d.ts +0 -10
  491. package/select/select-single.directive.d.ts +0 -10
  492. package/slide-toggle/public_api.d.ts +0 -1
  493. package/slide-toggle/slide-toggle.component.d.ts +0 -20
  494. package/snackbars-thread/component/snackbars-thread.component.d.ts +0 -24
  495. package/snackbars-thread/model/snackbars-thread.model.d.ts +0 -36
  496. package/snackbars-thread/public_api.d.ts +0 -3
  497. package/snackbars-thread/service/snackbars-thread.service.d.ts +0 -15
  498. package/snackbars-thread/utils/const/snackbars-thread.const.d.ts +0 -10
  499. package/social-button/public_api.d.ts +0 -1
  500. package/social-button/social-button.component.d.ts +0 -32
  501. package/split-button/public_api.d.ts +0 -1
  502. package/split-button/split-button.component.d.ts +0 -45
  503. package/src/lib/agorapulse-ui-components.module.d.ts +0 -29
  504. package/status/public_api.d.ts +0 -1
  505. package/status/status.component.d.ts +0 -9
  506. package/status-card/public_api.d.ts +0 -1
  507. package/status-card/status-card.component.d.ts +0 -13
  508. package/stepper/public_api.d.ts +0 -2
  509. package/stepper/step.model.d.ts +0 -6
  510. package/stepper/stepper.component.d.ts +0 -16
  511. package/tag/public_api.d.ts +0 -1
  512. package/tag/tag.component.d.ts +0 -24
  513. package/text-measurement/public_api.d.ts +0 -1
  514. package/text-measurement/text-measurement.service.d.ts +0 -8
  515. package/textarea/public_api.d.ts +0 -1
  516. package/textarea/textarea.directive.d.ts +0 -11
  517. package/toggle/public_api.d.ts +0 -1
  518. package/toggle/toggle.component.d.ts +0 -52
  519. package/tooltip/public_api.d.ts +0 -1
  520. package/tooltip/tooltip.directive.d.ts +0 -59
  521. package/tooltip/tooltip.service.d.ts +0 -11
@@ -1,241 +0,0 @@
1
- import { ActionDropdownComponent, ActionDropdownTriggerDirective } from '@agorapulse/ui-components/action-dropdown';
2
- import { AvatarComponent } from '@agorapulse/ui-components/avatar';
3
- import { CheckboxComponent } from '@agorapulse/ui-components/checkbox';
4
- import { CounterComponent } from '@agorapulse/ui-components/counter';
5
- import { TooltipDirective } from '@agorapulse/ui-components/tooltip';
6
- import { apChevronDown, apChevronUp, apErrorFill, apFeatureLock, SymbolComponent, withSymbols } from '@agorapulse/ui-symbol';
7
- import { apMore } from '@agorapulse/ui-symbol/icons';
8
- import { animate, keyframes, state, style, transition, trigger } from '@angular/animations';
9
- import { afterRender, ChangeDetectionStrategy, Component, computed, effect, input, output, signal, untracked, viewChild, } from '@angular/core';
10
- import { NavSelectorPopoverTriggerDirective } from '../directives/nav-selector-popover-trigger.directive';
11
- import { TreeNodeAccessibilityDirective } from '../directives/tree-node-accessibility.directive';
12
- import { NavSelectorLeafDetailComponent } from '../nav-selector-leaf-detail/nav-selector-leaf-detail.component';
13
- import { NavSelectorLeafDetailsComponent } from '../nav-selector-leaf-details/nav-selector-leaf-details.component';
14
- import { NavSelectorPopoverItemComponent } from '../nav-selector-popover/nav-selector-popover-item.component';
15
- import { NavSelectorPopoverComponent } from '../nav-selector-popover/nav-selector-popover.component';
16
- import { NavSelectorLeafPresenter } from './nav-selector-leaf.presenter';
17
- import * as i0 from "@angular/core";
18
- import * as i1 from "./nav-selector-leaf.presenter";
19
- export class NavSelectorLeafComponent {
20
- el;
21
- navSelectorLeafPresenter;
22
- leaf = input.required();
23
- actionClicked = output();
24
- initial = computed(() => this.leaf().alias[0].toUpperCase());
25
- foldSymbol = computed(() => (this.leaf().folded ? 'chevron-down' : 'chevron-up'));
26
- focused = signal(false);
27
- aliasEl = viewChild('alias');
28
- aliasBoundedClientRect = signal({
29
- offsetWidth: 0,
30
- offsetHeight: 0,
31
- scrollWidth: 0,
32
- scrollHeight: 0,
33
- });
34
- tooltipContent = computed(() => {
35
- const content = [];
36
- const el = this.aliasBoundedClientRect();
37
- if (!this.navSelectorLeafPresenter.expanded() || el.offsetWidth < el.scrollWidth || el.offsetHeight < el.scrollHeight) {
38
- content.push(this.leaf().alias);
39
- }
40
- const disableReason = this.leaf().disableReason;
41
- if (disableReason) {
42
- content.push(disableReason);
43
- }
44
- if (this.leaf().displayFeatureLocked) {
45
- content.push(this.navSelectorLeafPresenter.texts().featureLocked);
46
- }
47
- if (this.leaf().displayTokenInvalid) {
48
- content.push(this.navSelectorLeafPresenter.texts().tokenInvalid);
49
- }
50
- return content.join('<br>');
51
- });
52
- tooltipDisabled = computed(() => !this.tooltipContent().length || this.leaf().detailsDisplayable);
53
- foldedWithDelay = signal(false);
54
- network = computed(() => (this.leaf().network ? this.leaf().network : undefined));
55
- leafActions = computed(() => {
56
- return this.leaf().actions.map(action => ({
57
- name: action.name,
58
- label: action.label,
59
- startSymbolId: action.icon ?? undefined,
60
- disabled: action.status === 'disabled',
61
- featureLockEnabled: action.status === 'locked',
62
- }));
63
- });
64
- constructor(el, navSelectorLeafPresenter) {
65
- this.el = el;
66
- this.navSelectorLeafPresenter = navSelectorLeafPresenter;
67
- afterRender(() => untracked(() => {
68
- const newMaxHeight = this.computeMaxHeight();
69
- if (this.maxHeight() !== newMaxHeight) {
70
- this.maxHeight.set(newMaxHeight);
71
- }
72
- this.updateAliasBoundedClientRect();
73
- }));
74
- effect(() => {
75
- const folded = this.leaf().folded;
76
- untracked(() => {
77
- if (folded) {
78
- setTimeout(() => this.foldedWithDelay.set(true), 150);
79
- }
80
- else {
81
- this.foldedWithDelay.set(false);
82
- }
83
- });
84
- });
85
- }
86
- animationState = computed(() => (this.leaf().folded ? 'collapsed' : 'expanded'));
87
- maxHeight = signal('0px');
88
- onClick(event) {
89
- event.stopImmediatePropagation();
90
- this.navSelectorLeafPresenter.selectLeaf(this.leaf());
91
- }
92
- toggleFolding(event) {
93
- event.stopImmediatePropagation();
94
- this.navSelectorLeafPresenter.onLeafToggleFolding(this.leaf());
95
- }
96
- clickOnToggleFolding(event) {
97
- event.stopImmediatePropagation();
98
- // Remove the focus from the toggle folding so we do not have the :focus-within style on the leaf
99
- if (event.currentTarget && 'blur' in event.currentTarget && typeof event.currentTarget.blur === 'function') {
100
- event.currentTarget.blur();
101
- }
102
- this.navSelectorLeafPresenter.onLeafToggleFolding(this.leaf());
103
- }
104
- selectOnly(event) {
105
- event.stopImmediatePropagation();
106
- // (event.target as Element).blur();
107
- this.navSelectorLeafPresenter.selectOnlyLeaf(this.leaf());
108
- }
109
- clickOnSelectOnly(event) {
110
- event.stopImmediatePropagation();
111
- // Remove the focus from the select only so we do not have the :focus-within style on the leaf
112
- if (event.currentTarget && 'blur' in event.currentTarget && typeof event.currentTarget.blur === 'function') {
113
- event.currentTarget.blur();
114
- }
115
- this.navSelectorLeafPresenter.selectOnlyLeaf(this.leaf());
116
- }
117
- /**
118
- * For checkboxes, as they do not stop event propagation, we need to stop it manually
119
- */
120
- eventStopper(event) {
121
- event.stopImmediatePropagation();
122
- }
123
- onCheckboxToggle() {
124
- this.navSelectorLeafPresenter.selectLeaf(this.leaf());
125
- }
126
- onSpaceOrEnterPressed(event) {
127
- event.stopImmediatePropagation();
128
- if (document.activeElement === this.el.nativeElement.querySelector('.nav-selector-leaf')) {
129
- if (this.leaf().foldable) {
130
- this.toggleFolding(event);
131
- }
132
- else {
133
- this.navSelectorLeafPresenter.selectLeaf(this.leaf());
134
- }
135
- }
136
- }
137
- fold(event) {
138
- event.stopImmediatePropagation();
139
- this.navSelectorLeafPresenter.fold(this.leaf());
140
- }
141
- unfold(event) {
142
- event.stopImmediatePropagation();
143
- this.navSelectorLeafPresenter.unfold(this.leaf());
144
- }
145
- onDetailClicked(event, detail) {
146
- event.stopImmediatePropagation();
147
- this.navSelectorLeafPresenter.onLeafDetailClicked(detail);
148
- }
149
- onActionClicked(action) {
150
- this.actionClicked.emit({
151
- leafUid: this.leaf().uid,
152
- actionName: action.name ?? '',
153
- });
154
- }
155
- computeMaxHeight() {
156
- let maxHeight = this.el.nativeElement.clientHeight;
157
- if (this.leaf().folded) {
158
- maxHeight = this.el.nativeElement.clientHeight * this.leaf().details.length;
159
- }
160
- return `${maxHeight}px`;
161
- }
162
- updateAliasBoundedClientRect() {
163
- const el = this.aliasEl()?.nativeElement;
164
- if (el) {
165
- const boundedClientRect = {
166
- offsetWidth: el.offsetWidth,
167
- offsetHeight: el.offsetHeight,
168
- scrollWidth: el.scrollWidth,
169
- scrollHeight: el.scrollHeight,
170
- };
171
- if (JSON.stringify(this.aliasBoundedClientRect()) !== JSON.stringify(boundedClientRect)) {
172
- this.aliasBoundedClientRect.set(boundedClientRect);
173
- }
174
- }
175
- }
176
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorLeafComponent, deps: [{ token: i0.ElementRef }, { token: i1.NavSelectorLeafPresenter }], target: i0.ɵɵFactoryTarget.Component });
177
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: NavSelectorLeafComponent, isStandalone: true, selector: "ap-nav-selector-leaf", inputs: { leaf: { classPropertyName: "leaf", publicName: "leaf", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { actionClicked: "actionClicked" }, host: { attributes: { "role": "treeitem" }, listeners: { "keydown.arrowLeft": "fold($event)", "keydown.arrowRight": "unfold($event)" }, properties: { "class.minified": "!navSelectorLeafPresenter.expanded()" } }, providers: [withSymbols(apErrorFill, apFeatureLock, apChevronDown, apChevronUp, apMore), NavSelectorLeafPresenter], viewQueries: [{ propertyName: "aliasEl", first: true, predicate: ["alias"], descendants: true, isSignal: true }], ngImport: i0, template: "<!-- eslint-disable @angular-eslint/template/interactive-supports-focus -->\n@if (navSelectorLeafPresenter.expandedAfterDelay()) {\n <div\n class=\"nav-selector-leaf\"\n apTooltipPosition=\"right\"\n [attr.aria-selected]=\"leaf().selected\"\n [apTooltip]=\"tooltipContent()\"\n [apTooltipDisabled]=\"tooltipDisabled()\"\n [class.multiple-mode]=\"navSelectorLeafPresenter.isMultipleModeEnabled()\"\n [class.feature-locked]=\"leaf().displayFeatureLocked\"\n [class.selected]=\"leaf().selected\"\n [class.token-error]=\"leaf().displayTokenInvalid\"\n [class.disabled]=\"leaf().disabled\"\n [class.detail-selected]=\"leaf().detailSelected\"\n [class.actions-displayable]=\"leaf().actionsDisplayable && leaf().detailsDisplayable\"\n [class.details-displayable]=\"leaf().detailsDisplayable\"\n [apTreeNodeAccessibility]=\"leaf()\"\n (keydown.space)=\"onSpaceOrEnterPressed($event)\"\n (keydown.enter)=\"onSpaceOrEnterPressed($event)\"\n (focusin)=\"focused.set(true)\"\n (focusout)=\"focused.set(false)\"\n (click)=\"onClick($event)\">\n @if (navSelectorLeafPresenter.isMultipleModeEnabled()) {\n <ap-checkbox\n [name]=\"leaf().uid\"\n [checked]=\"leaf().selected\"\n [aria-label]=\"leaf().alias\"\n [disabled]=\"!leaf().selectable\"\n (click)=\"eventStopper($event)\"\n (change)=\"onCheckboxToggle()\" />\n }\n <ap-avatar\n size=\"24\"\n [profilePicture]=\"leaf().pictureUrl ?? undefined\"\n [network]=\"$any(leaf().network)\"\n [showInitials]=\"initial()\" />\n\n <span\n #alias\n class=\"caption\">\n {{ leaf().alias }}\n </span>\n\n <a\n class=\"standalone only-button\"\n role=\"button\"\n [attr.aria-label]=\"'Select only ' + leaf().alias\"\n [attr.tabindex]=\"leaf().accessibility.tabIndex\"\n (keydown.space)=\"selectOnly($event)\"\n (keydown.enter)=\"selectOnly($event)\"\n (click)=\"clickOnSelectOnly($event)\">\n {{ navSelectorLeafPresenter.texts().only }}\n </a>\n\n <div class=\"end-actions\">\n @if (leaf().actionsDisplayable) {\n <ap-symbol\n class=\"actions-menu\"\n size=\"sm\"\n symbolId=\"more\"\n [apActionDropdownTrigger]=\"actionDropdown\"\n [tabindex]=\"leaf().accessibility.tabIndex\"\n [attr.aria-label]=\"'Action menu ' + leaf().alias\" />\n <ap-action-dropdown\n #actionDropdown\n [items]=\"leafActions()\"\n (itemClick)=\"onActionClicked($event)\" />\n }\n\n @if (leaf().foldable) {\n <ap-symbol\n class=\"folding-button\"\n size=\"sm\"\n role=\"button\"\n [tabindex]=\"leaf().accessibility.tabIndex\"\n [attr.aria-label]=\"'Toggle ' + leaf().alias\"\n [symbolId]=\"foldSymbol()\"\n (click)=\"clickOnToggleFolding($event)\"\n (keydown.space)=\"toggleFolding($event)\"\n (keydown.enter)=\"toggleFolding($event)\" />\n }\n </div>\n\n @if (leaf().displayCounter) {\n <ap-counter\n color=\"orange\"\n size=\"normal\"\n [background]=\"false\">\n {{ leaf().counter }}\n </ap-counter>\n }\n @if (leaf().displayTokenInvalid) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\" />\n }\n @if (leaf().displayFeatureLocked) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"feature-lock\" />\n }\n </div>\n\n <div\n class=\"details-container\"\n [@accordion]=\"{\n value: animationState(),\n params: {\n maxHeight: maxHeight()\n }\n }\">\n @if (!foldedWithDelay()) {\n <ap-nav-selector-leaf-details\n [details]=\"leaf().details\"\n [leaf]=\"leaf()\" />\n }\n </div>\n} @else {\n <div\n #minified\n class=\"nav-selector-leaf\"\n apTooltipPosition=\"right\"\n [apNavSelectorPopoverTrigger]=\"minifiedPopover\"\n [apNavSelectorPopoverDisabled]=\"!leaf().detailsDisplayable\"\n [apNavSelectorPopoverTriggerMode]=\"{ click: false, hover: true }\"\n [class.feature-locked]=\"leaf().displayFeatureLocked\"\n [class.selected]=\"leaf().selected || leaf().detailSelected\"\n [class.token-error]=\"leaf().displayTokenInvalid\"\n [class.multiple-mode]=\"navSelectorLeafPresenter.isMultipleModeEnabled()\"\n [class.disabled]=\"leaf().disabled\"\n [apTooltip]=\"tooltipContent()\"\n [apTooltipDisabled]=\"tooltipDisabled()\"\n [apTreeNodeAccessibility]=\"leaf()\"\n (keydown.space)=\"onSpaceOrEnterPressed($event)\"\n (keydown.enter)=\"onSpaceOrEnterPressed($event)\"\n (click)=\"onClick($event)\">\n @if (navSelectorLeafPresenter.isMultipleModeEnabled()) {\n <ap-checkbox\n [name]=\"leaf().uid\"\n [checked]=\"leaf().selected\"\n [disabled]=\"!leaf().selectable\" />\n }\n\n <div class=\"avatar-container\">\n <ap-avatar\n size=\"24\"\n [profilePicture]=\"leaf().pictureUrl ?? undefined\"\n [network]=\"$any(leaf().network)\"\n [showInitials]=\"initial()\" />\n\n <div class=\"status\">\n @if (leaf().displayCounter) {\n <ap-counter\n class=\"counter-override\"\n color=\"orange\"\n size=\"normal\"\n [notif]=\"true\"\n [background]=\"true\">\n {{ leaf().counter }}\n </ap-counter>\n }\n @if (leaf().displayTokenInvalid) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\" />\n }\n @if (leaf().displayFeatureLocked) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"feature-lock\" />\n }\n </div>\n </div>\n\n <ap-nav-selector-popover\n #minifiedPopover\n placement=\"right\"\n [popoverTitle]=\"leaf().alias\"\n [offset]=\"{ mainAxis: 0, crossAxis: -36.5 }\">\n @for (detail of leaf().details; track detail.uid) {\n <ap-nav-selector-popover-item\n item\n [selected]=\"detail.selected\"\n [disabled]=\"detail.displayError\"\n [name]=\"detail.alias\"\n (click)=\"onDetailClicked($event, detail)\">\n <ap-nav-selector-leaf-detail\n [embedded]=\"true\"\n [detail]=\"detail\" />\n </ap-nav-selector-popover-item>\n }\n </ap-nav-selector-popover>\n </div>\n}\n", styles: [":host{display:flex;flex-shrink:0;align-self:stretch;flex-direction:column}:host .details-container{align-self:stretch}:host .nav-selector-leaf{position:relative;display:flex;padding:0 var(--ref-spacing-xxs);height:36px;align-items:center;gap:var(--ref-spacing-xxs);flex-shrink:0;flex-grow:1;align-self:stretch}:host .nav-selector-leaf ::ng-deep ap-checkbox .checkbox .checkbox-container{padding:0}:host .caption{-webkit-box-orient:vertical;-webkit-line-clamp:1;flex:1 0 0;overflow:hidden;white-space:nowrap;color:var(--ref-color-grey-100);text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-regular);line-height:var(--ref-font-line-height-xs)}:host ap-symbol[symbol-id=error_fill]{color:var(--ref-color-red-100)}:host ap-symbol[symbol-id=feature-lock]{color:var(--ref-color-purple-100)}:host ap-symbol[symbol-id=chevron-down],:host ap-symbol[symbol-id=chevron-up]{color:var(--ref-color-grey-80)}:host .end-actions{display:flex;align-items:center;gap:var(--ref-spacing-xxxs)}:host .folding-button,:host .actions-menu{display:none;width:24px;height:24px;justify-content:center;align-items:center;flex-shrink:0}:host .folding-button:hover,:host .actions-menu:hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .folding-button:active,:host .folding-button.nav-selector-popover-trigger--active,:host .actions-menu:active,:host .actions-menu.nav-selector-popover-trigger--active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-40)}:host .folding-button:focus-visible,:host .actions-menu:focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20);box-shadow:0 0 0 1px #fff,0 0 0 3px #178dfe}:host .nav-selector-leaf.details-displayable{cursor:pointer}:host .nav-selector-leaf.details-displayable.detail-selected .caption{font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs);color:var(--ref-color-grey-100)}:host .nav-selector-leaf.details-displayable:focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf.details-displayable:hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10)}:host .nav-selector-leaf.details-displayable:focus-within:not(:host .nav-selector-leaf.details-displayable.detail-selected){border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable){cursor:pointer}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):focus-within{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:not(.multiple-mode){border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:not(.multiple-mode) .caption{color:var(--ref-color-electric-blue-150)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected.multiple-mode .caption{color:var(--ref-color-grey-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected .caption{overflow:hidden;text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:hover ap-counter,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-within ap-counter,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-visible ap-counter{display:none}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:hover .only-button,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-within .only-button,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-visible .only-button{display:flex}:host .nav-selector-leaf.feature-locked:not(.multiple-mode){border-radius:var(--ref-border-radius-sm);outline:none;cursor:pointer}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):hover{background:var(--ref-color-purple-10)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):active{background:var(--ref-color-purple-20)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):focus-visible{background:var(--ref-color-purple-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-purple-100)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected{background:var(--ref-color-purple-20)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected .caption{overflow:hidden;color:var(--ref-color-purple-100);text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible .actions-menu,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within:not(:has(ap-nav-selector-leaf-detail:focus)):not(:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus) .actions-menu,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover .actions-menu{display:flex}:host .nav-selector-leaf.details-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible ap-counter,:host .nav-selector-leaf.details-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within:not(:has(ap-nav-selector-leaf-detail:focus)):not(:host .nav-selector-leaf.details-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus) ap-counter,:host .nav-selector-leaf.details-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover ap-counter{display:none}:host .nav-selector-leaf.details-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible .folding-button,:host .nav-selector-leaf.details-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within:not(:has(ap-nav-selector-leaf-detail:focus)):not(:host .nav-selector-leaf.details-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus) .folding-button,:host .nav-selector-leaf.details-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover .folding-button{display:flex}:host .nav-selector-leaf.feature-locked.multiple-mode ap-avatar,:host .nav-selector-leaf.feature-locked.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.feature-locked.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.token-error.multiple-mode ap-avatar,:host .nav-selector-leaf.token-error.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.token-error.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.disabled.multiple-mode ap-avatar,:host .nav-selector-leaf.disabled.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.disabled.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.disabled ap-avatar,:host .nav-selector-leaf.disabled .caption{opacity:.5}:host .nav-selector-leaf.disabled .caption{color:var(--ref-color-grey-40)}:host .status{position:absolute;right:-4px;top:-6px;background-color:var(--ref-color-white);border-radius:100%}:host .avatar-container{position:relative}:host.minified .counter-override{background-color:var(--ref-color-orange-150)}:host.minified .nav-selector-leaf{gap:var(--ref-spacing-xxxs);padding:var(--ref-spacing-xxxs)}:host.minified .nav-selector-leaf:not(.multiple-mode){justify-content:center}:host.minified ::ng-deep ap-checkbox .checkbox .checkbox-container{padding:0}:host .only-button{display:none;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}::ng-deep .nav-selector-leaf-menu{position:absolute;left:55px;top:-20%;width:225px}::ng-deep .nav-selector-leaf-menu .not-displayable{display:none}::ng-deep .nav-selector-leaf-menu .caption-bold{color:var(--ref-color-grey-100);font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}\n"], dependencies: [{ kind: "component", type: ActionDropdownComponent, selector: "ap-action-dropdown", inputs: ["items", "disabled", "largeModeEnabled", "showBackdrop", "customWidth", "defaultPosition"], outputs: ["itemClick", "opened", "closed"] }, { kind: "directive", type: ActionDropdownTriggerDirective, selector: "[apActionDropdownTrigger]", inputs: ["apActionDropdownTrigger"] }, { kind: "component", type: AvatarComponent, selector: "ap-avatar", inputs: ["profilePicture", "alt", "network", "size", "username", "showInitials", "bigNetwork", "anonymous", "online", "youtubeAvatarMode", "rounded"] }, { kind: "component", type: CounterComponent, selector: "ap-counter", inputs: ["color", "size", "notif", "background", "role"] }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "component", type: NavSelectorLeafDetailsComponent, selector: "ap-nav-selector-leaf-details", inputs: ["leaf", "details"] }, { kind: "component", type: CheckboxComponent, selector: "ap-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "disabled", "indeterminate", "checked", "required", "name"], outputs: ["change"] }, { kind: "directive", type: TooltipDirective, selector: "[apTooltip]", inputs: ["apTooltip", "apTooltipPosition", "apTooltipShowDelay", "apTooltipHideDelay", "apTooltipDuration", "apTooltipDisabled", "apTooltipTruncatedTextOnly", "apTooltipTemplateContext", "apTooltipVirtualScrollElement"] }, { kind: "component", type: NavSelectorLeafDetailComponent, selector: "ap-nav-selector-leaf-detail", inputs: ["detail", "embedded"] }, { kind: "directive", type: TreeNodeAccessibilityDirective, selector: "[apTreeNodeAccessibility]", inputs: ["apTreeNodeAccessibility"] }, { kind: "component", type: NavSelectorPopoverComponent, selector: "ap-nav-selector-popover", inputs: ["placement", "popoverTitle", "offset"] }, { kind: "directive", type: NavSelectorPopoverTriggerDirective, selector: "[apNavSelectorPopoverTrigger]", inputs: ["apNavSelectorPopoverTrigger", "apNavSelectorPopoverTriggerMode", "apNavSelectorPopoverDisabled"] }, { kind: "component", type: NavSelectorPopoverItemComponent, selector: "ap-nav-selector-popover-item", inputs: ["selected", "disabled", "locked", "id", "name", "ariaLabel"] }], animations: [
178
- /**
179
- * Overflow hidden is put only during the animation and on the collapsed state because if it is put on the expanded state then children’s border will be cut (hover / focus)
180
- */
181
- trigger('accordion', [
182
- state('collapsed', style({
183
- maxHeight: 0,
184
- overflow: 'hidden',
185
- })),
186
- state('expanded', style({
187
- maxHeight: 'initial',
188
- })),
189
- transition('collapsed => expanded', [
190
- animate('250ms cubic-bezier(.4, 0, .3, 1)', style({ overflow: 'hidden', maxHeight: '{{maxHeight}}' })),
191
- ]),
192
- transition('expanded => collapsed', [
193
- animate('250ms cubic-bezier(.4, 0, .3, 1)', keyframes([style({ overflow: 'hidden', maxHeight: '{{maxHeight}}' }), style({ maxHeight: 0 })])),
194
- ]),
195
- ]),
196
- ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
197
- }
198
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorLeafComponent, decorators: [{
199
- type: Component,
200
- args: [{ selector: 'ap-nav-selector-leaf', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
201
- ActionDropdownComponent,
202
- ActionDropdownTriggerDirective,
203
- AvatarComponent,
204
- CounterComponent,
205
- SymbolComponent,
206
- NavSelectorLeafDetailsComponent,
207
- CheckboxComponent,
208
- TooltipDirective,
209
- NavSelectorLeafDetailComponent,
210
- NavSelectorLeafDetailComponent,
211
- TreeNodeAccessibilityDirective,
212
- NavSelectorPopoverComponent,
213
- NavSelectorPopoverTriggerDirective,
214
- NavSelectorPopoverItemComponent,
215
- ], providers: [withSymbols(apErrorFill, apFeatureLock, apChevronDown, apChevronUp, apMore), NavSelectorLeafPresenter], host: {
216
- '[class.minified]': '!navSelectorLeafPresenter.expanded()',
217
- role: 'treeitem',
218
- '(keydown.arrowLeft)': 'fold($event)',
219
- '(keydown.arrowRight)': 'unfold($event)',
220
- }, animations: [
221
- /**
222
- * Overflow hidden is put only during the animation and on the collapsed state because if it is put on the expanded state then children’s border will be cut (hover / focus)
223
- */
224
- trigger('accordion', [
225
- state('collapsed', style({
226
- maxHeight: 0,
227
- overflow: 'hidden',
228
- })),
229
- state('expanded', style({
230
- maxHeight: 'initial',
231
- })),
232
- transition('collapsed => expanded', [
233
- animate('250ms cubic-bezier(.4, 0, .3, 1)', style({ overflow: 'hidden', maxHeight: '{{maxHeight}}' })),
234
- ]),
235
- transition('expanded => collapsed', [
236
- animate('250ms cubic-bezier(.4, 0, .3, 1)', keyframes([style({ overflow: 'hidden', maxHeight: '{{maxHeight}}' }), style({ maxHeight: 0 })])),
237
- ]),
238
- ]),
239
- ], template: "<!-- eslint-disable @angular-eslint/template/interactive-supports-focus -->\n@if (navSelectorLeafPresenter.expandedAfterDelay()) {\n <div\n class=\"nav-selector-leaf\"\n apTooltipPosition=\"right\"\n [attr.aria-selected]=\"leaf().selected\"\n [apTooltip]=\"tooltipContent()\"\n [apTooltipDisabled]=\"tooltipDisabled()\"\n [class.multiple-mode]=\"navSelectorLeafPresenter.isMultipleModeEnabled()\"\n [class.feature-locked]=\"leaf().displayFeatureLocked\"\n [class.selected]=\"leaf().selected\"\n [class.token-error]=\"leaf().displayTokenInvalid\"\n [class.disabled]=\"leaf().disabled\"\n [class.detail-selected]=\"leaf().detailSelected\"\n [class.actions-displayable]=\"leaf().actionsDisplayable && leaf().detailsDisplayable\"\n [class.details-displayable]=\"leaf().detailsDisplayable\"\n [apTreeNodeAccessibility]=\"leaf()\"\n (keydown.space)=\"onSpaceOrEnterPressed($event)\"\n (keydown.enter)=\"onSpaceOrEnterPressed($event)\"\n (focusin)=\"focused.set(true)\"\n (focusout)=\"focused.set(false)\"\n (click)=\"onClick($event)\">\n @if (navSelectorLeafPresenter.isMultipleModeEnabled()) {\n <ap-checkbox\n [name]=\"leaf().uid\"\n [checked]=\"leaf().selected\"\n [aria-label]=\"leaf().alias\"\n [disabled]=\"!leaf().selectable\"\n (click)=\"eventStopper($event)\"\n (change)=\"onCheckboxToggle()\" />\n }\n <ap-avatar\n size=\"24\"\n [profilePicture]=\"leaf().pictureUrl ?? undefined\"\n [network]=\"$any(leaf().network)\"\n [showInitials]=\"initial()\" />\n\n <span\n #alias\n class=\"caption\">\n {{ leaf().alias }}\n </span>\n\n <a\n class=\"standalone only-button\"\n role=\"button\"\n [attr.aria-label]=\"'Select only ' + leaf().alias\"\n [attr.tabindex]=\"leaf().accessibility.tabIndex\"\n (keydown.space)=\"selectOnly($event)\"\n (keydown.enter)=\"selectOnly($event)\"\n (click)=\"clickOnSelectOnly($event)\">\n {{ navSelectorLeafPresenter.texts().only }}\n </a>\n\n <div class=\"end-actions\">\n @if (leaf().actionsDisplayable) {\n <ap-symbol\n class=\"actions-menu\"\n size=\"sm\"\n symbolId=\"more\"\n [apActionDropdownTrigger]=\"actionDropdown\"\n [tabindex]=\"leaf().accessibility.tabIndex\"\n [attr.aria-label]=\"'Action menu ' + leaf().alias\" />\n <ap-action-dropdown\n #actionDropdown\n [items]=\"leafActions()\"\n (itemClick)=\"onActionClicked($event)\" />\n }\n\n @if (leaf().foldable) {\n <ap-symbol\n class=\"folding-button\"\n size=\"sm\"\n role=\"button\"\n [tabindex]=\"leaf().accessibility.tabIndex\"\n [attr.aria-label]=\"'Toggle ' + leaf().alias\"\n [symbolId]=\"foldSymbol()\"\n (click)=\"clickOnToggleFolding($event)\"\n (keydown.space)=\"toggleFolding($event)\"\n (keydown.enter)=\"toggleFolding($event)\" />\n }\n </div>\n\n @if (leaf().displayCounter) {\n <ap-counter\n color=\"orange\"\n size=\"normal\"\n [background]=\"false\">\n {{ leaf().counter }}\n </ap-counter>\n }\n @if (leaf().displayTokenInvalid) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\" />\n }\n @if (leaf().displayFeatureLocked) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"feature-lock\" />\n }\n </div>\n\n <div\n class=\"details-container\"\n [@accordion]=\"{\n value: animationState(),\n params: {\n maxHeight: maxHeight()\n }\n }\">\n @if (!foldedWithDelay()) {\n <ap-nav-selector-leaf-details\n [details]=\"leaf().details\"\n [leaf]=\"leaf()\" />\n }\n </div>\n} @else {\n <div\n #minified\n class=\"nav-selector-leaf\"\n apTooltipPosition=\"right\"\n [apNavSelectorPopoverTrigger]=\"minifiedPopover\"\n [apNavSelectorPopoverDisabled]=\"!leaf().detailsDisplayable\"\n [apNavSelectorPopoverTriggerMode]=\"{ click: false, hover: true }\"\n [class.feature-locked]=\"leaf().displayFeatureLocked\"\n [class.selected]=\"leaf().selected || leaf().detailSelected\"\n [class.token-error]=\"leaf().displayTokenInvalid\"\n [class.multiple-mode]=\"navSelectorLeafPresenter.isMultipleModeEnabled()\"\n [class.disabled]=\"leaf().disabled\"\n [apTooltip]=\"tooltipContent()\"\n [apTooltipDisabled]=\"tooltipDisabled()\"\n [apTreeNodeAccessibility]=\"leaf()\"\n (keydown.space)=\"onSpaceOrEnterPressed($event)\"\n (keydown.enter)=\"onSpaceOrEnterPressed($event)\"\n (click)=\"onClick($event)\">\n @if (navSelectorLeafPresenter.isMultipleModeEnabled()) {\n <ap-checkbox\n [name]=\"leaf().uid\"\n [checked]=\"leaf().selected\"\n [disabled]=\"!leaf().selectable\" />\n }\n\n <div class=\"avatar-container\">\n <ap-avatar\n size=\"24\"\n [profilePicture]=\"leaf().pictureUrl ?? undefined\"\n [network]=\"$any(leaf().network)\"\n [showInitials]=\"initial()\" />\n\n <div class=\"status\">\n @if (leaf().displayCounter) {\n <ap-counter\n class=\"counter-override\"\n color=\"orange\"\n size=\"normal\"\n [notif]=\"true\"\n [background]=\"true\">\n {{ leaf().counter }}\n </ap-counter>\n }\n @if (leaf().displayTokenInvalid) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\" />\n }\n @if (leaf().displayFeatureLocked) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"feature-lock\" />\n }\n </div>\n </div>\n\n <ap-nav-selector-popover\n #minifiedPopover\n placement=\"right\"\n [popoverTitle]=\"leaf().alias\"\n [offset]=\"{ mainAxis: 0, crossAxis: -36.5 }\">\n @for (detail of leaf().details; track detail.uid) {\n <ap-nav-selector-popover-item\n item\n [selected]=\"detail.selected\"\n [disabled]=\"detail.displayError\"\n [name]=\"detail.alias\"\n (click)=\"onDetailClicked($event, detail)\">\n <ap-nav-selector-leaf-detail\n [embedded]=\"true\"\n [detail]=\"detail\" />\n </ap-nav-selector-popover-item>\n }\n </ap-nav-selector-popover>\n </div>\n}\n", styles: [":host{display:flex;flex-shrink:0;align-self:stretch;flex-direction:column}:host .details-container{align-self:stretch}:host .nav-selector-leaf{position:relative;display:flex;padding:0 var(--ref-spacing-xxs);height:36px;align-items:center;gap:var(--ref-spacing-xxs);flex-shrink:0;flex-grow:1;align-self:stretch}:host .nav-selector-leaf ::ng-deep ap-checkbox .checkbox .checkbox-container{padding:0}:host .caption{-webkit-box-orient:vertical;-webkit-line-clamp:1;flex:1 0 0;overflow:hidden;white-space:nowrap;color:var(--ref-color-grey-100);text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-regular);line-height:var(--ref-font-line-height-xs)}:host ap-symbol[symbol-id=error_fill]{color:var(--ref-color-red-100)}:host ap-symbol[symbol-id=feature-lock]{color:var(--ref-color-purple-100)}:host ap-symbol[symbol-id=chevron-down],:host ap-symbol[symbol-id=chevron-up]{color:var(--ref-color-grey-80)}:host .end-actions{display:flex;align-items:center;gap:var(--ref-spacing-xxxs)}:host .folding-button,:host .actions-menu{display:none;width:24px;height:24px;justify-content:center;align-items:center;flex-shrink:0}:host .folding-button:hover,:host .actions-menu:hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .folding-button:active,:host .folding-button.nav-selector-popover-trigger--active,:host .actions-menu:active,:host .actions-menu.nav-selector-popover-trigger--active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-40)}:host .folding-button:focus-visible,:host .actions-menu:focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20);box-shadow:0 0 0 1px #fff,0 0 0 3px #178dfe}:host .nav-selector-leaf.details-displayable{cursor:pointer}:host .nav-selector-leaf.details-displayable.detail-selected .caption{font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs);color:var(--ref-color-grey-100)}:host .nav-selector-leaf.details-displayable:focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf.details-displayable:hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10)}:host .nav-selector-leaf.details-displayable:focus-within:not(:host .nav-selector-leaf.details-displayable.detail-selected){border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable){cursor:pointer}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):focus-within{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:not(.multiple-mode){border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:not(.multiple-mode) .caption{color:var(--ref-color-electric-blue-150)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected.multiple-mode .caption{color:var(--ref-color-grey-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected .caption{overflow:hidden;text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:hover ap-counter,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-within ap-counter,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-visible ap-counter{display:none}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:hover .only-button,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-within .only-button,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-visible .only-button{display:flex}:host .nav-selector-leaf.feature-locked:not(.multiple-mode){border-radius:var(--ref-border-radius-sm);outline:none;cursor:pointer}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):hover{background:var(--ref-color-purple-10)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):active{background:var(--ref-color-purple-20)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):focus-visible{background:var(--ref-color-purple-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-purple-100)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected{background:var(--ref-color-purple-20)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected .caption{overflow:hidden;color:var(--ref-color-purple-100);text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible .actions-menu,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within:not(:has(ap-nav-selector-leaf-detail:focus)):not(:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus) .actions-menu,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover .actions-menu{display:flex}:host .nav-selector-leaf.details-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible ap-counter,:host .nav-selector-leaf.details-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within:not(:has(ap-nav-selector-leaf-detail:focus)):not(:host .nav-selector-leaf.details-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus) ap-counter,:host .nav-selector-leaf.details-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover ap-counter{display:none}:host .nav-selector-leaf.details-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible .folding-button,:host .nav-selector-leaf.details-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within:not(:has(ap-nav-selector-leaf-detail:focus)):not(:host .nav-selector-leaf.details-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus) .folding-button,:host .nav-selector-leaf.details-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover .folding-button{display:flex}:host .nav-selector-leaf.feature-locked.multiple-mode ap-avatar,:host .nav-selector-leaf.feature-locked.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.feature-locked.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.token-error.multiple-mode ap-avatar,:host .nav-selector-leaf.token-error.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.token-error.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.disabled.multiple-mode ap-avatar,:host .nav-selector-leaf.disabled.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.disabled.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.disabled ap-avatar,:host .nav-selector-leaf.disabled .caption{opacity:.5}:host .nav-selector-leaf.disabled .caption{color:var(--ref-color-grey-40)}:host .status{position:absolute;right:-4px;top:-6px;background-color:var(--ref-color-white);border-radius:100%}:host .avatar-container{position:relative}:host.minified .counter-override{background-color:var(--ref-color-orange-150)}:host.minified .nav-selector-leaf{gap:var(--ref-spacing-xxxs);padding:var(--ref-spacing-xxxs)}:host.minified .nav-selector-leaf:not(.multiple-mode){justify-content:center}:host.minified ::ng-deep ap-checkbox .checkbox .checkbox-container{padding:0}:host .only-button{display:none;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}::ng-deep .nav-selector-leaf-menu{position:absolute;left:55px;top:-20%;width:225px}::ng-deep .nav-selector-leaf-menu .not-displayable{display:none}::ng-deep .nav-selector-leaf-menu .caption-bold{color:var(--ref-color-grey-100);font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}\n"] }]
240
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.NavSelectorLeafPresenter }] });
241
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLWxlYWYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25hdi1zZWxlY3Rvci9zcmMvbmF2LXNlbGVjdG9yLWxlYWYvbmF2LXNlbGVjdG9yLWxlYWYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25hdi1zZWxlY3Rvci9zcmMvbmF2LXNlbGVjdG9yLWxlYWYvbmF2LXNlbGVjdG9yLWxlYWYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFzQiw4QkFBOEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3hJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3SCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUYsT0FBTyxFQUNILFdBQVcsRUFDWCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBRU4sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsR0FDWixNQUFNLGVB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QkFBMkI7d0JBQzNCLGtDQUFrQzt3QkFDbEMsK0JBQStCO3FCQUNsQyxhQUNVLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsRUFBRSx3QkFBd0IsQ0FBQyxRQUM1Rzt3QkFDRixrQkFBa0IsRUFBRSxzQ0FBc0M7d0JBQzFELElBQUksRUFBRSxVQUFVO3dCQUNoQixxQkFBcUIsRUFBRSxjQUFjO3dCQUNyQyxzQkFBc0IsRUFBRSxnQkFBZ0I7cUJBQzNDLGNBQ1c7d0JBQ1I7OzJCQUVHO3dCQUNILE9BQU8sQ0FBQyxXQUFXLEVBQUU7NEJBQ2pCLEtBQUssQ0FDRCxXQUFXLEVBQ1gsS0FBSyxDQUFDO2dDQUNGLFNBQVMsRUFBRSxDQUFDO2dDQUNaLFFBQVEsRUFBRSxRQUFROzZCQUNyQixDQUFDLENBQ0w7NEJBQ0QsS0FBSyxDQUNELFVBQVUsRUFDVixLQUFLLENBQUM7Z0NBQ0YsU0FBUyxFQUFFLFNBQVM7NkJBQ3ZCLENBQUMsQ0FDTDs0QkFDRCxVQUFVLENBQUMsdUJBQXVCLEVBQUU7Z0NBQ2hDLE9BQU8sQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDOzZCQUN6RyxDQUFDOzRCQUNGLFVBQVUsQ0FBQyx1QkFBdUIsRUFBRTtnQ0FDaEMsT0FBTyxDQUNILGtDQUFrQyxFQUNsQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDbEc7NkJBQ0osQ0FBQzt5QkFDTCxDQUFDO3FCQUNMIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uRHJvcGRvd25Db21wb25lbnQsIEFjdGlvbkRyb3Bkb3duSXRlbSwgQWN0aW9uRHJvcGRvd25UcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktY29tcG9uZW50cy9hY3Rpb24tZHJvcGRvd24nO1xuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktY29tcG9uZW50cy9hdmF0YXInO1xuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL2NoZWNrYm94JztcbmltcG9ydCB7IENvdW50ZXJDb21wb25lbnQgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL2NvdW50ZXInO1xuaW1wb3J0IHsgVG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvdG9vbHRpcCc7XG5pbXBvcnQgeyBhcENoZXZyb25Eb3duLCBhcENoZXZyb25VcCwgYXBFcnJvckZpbGwsIGFwRmVhdHVyZUxvY2ssIFN5bWJvbENvbXBvbmVudCwgd2l0aFN5bWJvbHMgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1zeW1ib2wnO1xuaW1wb3J0IHsgYXBNb3JlIH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktc3ltYm9sL2ljb25zJztcbmltcG9ydCB7IGFuaW1hdGUsIGtleWZyYW1lcywgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICAgIGFmdGVyUmVuZGVyLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBlZmZlY3QsXG4gICAgRWxlbWVudFJlZixcbiAgICBpbnB1dCxcbiAgICBvdXRwdXQsXG4gICAgc2lnbmFsLFxuICAgIHVudHJhY2tlZCxcbiAgICB2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2U2VsZWN0b3JQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvbmF2LXNlbGVjdG9yLXBvcG92ZXItdHJpZ2dlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVHJlZU5vZGVBY2Nlc3NpYmlsaXR5RGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy90cmVlLW5vZGUtYWNjZXNzaWJpbGl0eS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYsIEludGVybmFsTmF2U2VsZWN0b3JMZWFmRGV0YWlscywgTmF2U2VsZWN0b3JMZWFmQWN0aW9uQ2xpY2tlZEV2ZW50IH0gZnJvbSAnLi4vbmF2LXNlbGVjdG9yJztcbmltcG9ydCB7IE5hdlNlbGVjdG9yTGVhZkRldGFpbENvbXBvbmVudCB9IGZyb20gJy4uL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbC9uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWwuY29tcG9uZW50JztcbmltcG9ydCB7IE5hdlNlbGVjdG9yTGVhZkRldGFpbHNDb21wb25lbnQgfSBmcm9tICcuLi9uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWxzL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbHMuY29tcG9uZW50JztcbmltcG9ydCB7IE5hdlNlbGVjdG9yUG9wb3Zlckl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9uYXYtc2VsZWN0b3ItcG9wb3Zlci9uYXYtc2VsZWN0b3ItcG9wb3Zlci1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXZTZWxlY3RvclBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuLi9uYXYtc2VsZWN0b3ItcG9wb3Zlci9uYXYtc2VsZWN0b3ItcG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyIH0gZnJvbSAnLi9uYXYtc2VsZWN0b3ItbGVhZi5wcmVzZW50ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwLW5hdi1zZWxlY3Rvci1sZWFmJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2LXNlbGVjdG9yLWxlYWYuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL25hdi1zZWxlY3Rvci1sZWFmLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEFjdGlvbkRyb3Bkb3duQ29tcG9uZW50LFxuICAgICAgICBBY3Rpb25Ecm9wZG93blRyaWdnZXJEaXJlY3RpdmUsXG4gICAgICAgIEF2YXRhckNvbXBvbmVudCxcbiAgICAgICAgQ291bnRlckNvbXBvbmVudCxcbiAgICAgICAgU3ltYm9sQ29tcG9uZW50LFxuICAgICAgICBOYXZTZWxlY3RvckxlYWZEZXRhaWxzQ29tcG9uZW50LFxuICAgICAgICBDaGVja2JveENvbXBvbmVudCxcbiAgICAgICAgVG9vbHRpcERpcmVjdGl2ZSxcbiAgICAgICAgTmF2U2VsZWN0b3JMZWFmRGV0YWlsQ29tcG9uZW50LFxuICAgICAgICBOYXZTZWxlY3RvckxlYWZEZXRhaWxDb21wb25lbnQsXG4gICAgICAgIFRyZWVOb2RlQWNjZXNzaWJpbGl0eURpcmVjdGl2ZSxcbiAgICAgICAgTmF2U2VsZWN0b3JQb3BvdmVyQ29tcG9uZW50LFxuICAgICAgICBOYXZTZWxlY3RvclBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlLFxuICAgICAgICBOYXZTZWxlY3RvclBvcG92ZXJJdGVtQ29tcG9uZW50LFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbd2l0aFN5bWJvbHMoYXBFcnJvckZpbGwsIGFwRmVhdHVyZUxvY2ssIGFwQ2hldnJvbkRvd24sIGFwQ2hldnJvblVwLCBhcE1vcmUpLCBOYXZTZWxlY3RvckxlYWZQcmVzZW50ZXJdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy5taW5pZmllZF0nOiAnIW5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5leHBhbmRlZCgpJyxcbiAgICAgICAgcm9sZTogJ3RyZWVpdGVtJyxcbiAgICAgICAgJyhrZXlkb3duLmFycm93TGVmdCknOiAnZm9sZCgkZXZlbnQpJyxcbiAgICAgICAgJyhrZXlkb3duLmFycm93UmlnaHQpJzogJ3VuZm9sZCgkZXZlbnQpJyxcbiAgICB9LFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIE92ZXJmbG93IGhpZGRlbiBpcyBwdXQgb25seSBkdXJpbmcgdGhlIGFuaW1hdGlvbiBhbmQgb24gdGhlIGNvbGxhcHNlZCBzdGF0ZSBiZWNhdXNlIGlmIGl0IGlzIHB1dCBvbiB0aGUgZXhwYW5kZWQgc3RhdGUgdGhlbiBjaGlsZHJlbuKAmXMgYm9yZGVyIHdpbGwgYmUgY3V0IChob3ZlciAvIGZvY3VzKVxuICAgICAgICAgKi9cbiAgICAgICAgdHJpZ2dlcignYWNjb3JkaW9uJywgW1xuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2NvbGxhcHNlZCcsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBtYXhIZWlnaHQ6IDAsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICdleHBhbmRlZCcsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBtYXhIZWlnaHQ6ICdpbml0aWFsJyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2NvbGxhcHNlZCA9PiBleHBhbmRlZCcsIFtcbiAgICAgICAgICAgICAgICBhbmltYXRlKCcyNTBtcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4zLCAxKScsIHN0eWxlKHsgb3ZlcmZsb3c6ICdoaWRkZW4nLCBtYXhIZWlnaHQ6ICd7e21heEhlaWdodH19JyB9KSksXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2V4cGFuZGVkID0+IGNvbGxhcHNlZCcsIFtcbiAgICAgICAgICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICAgICAgICAgICAnMjUwbXMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMywgMSknLFxuICAgICAgICAgICAgICAgICAgICBrZXlmcmFtZXMoW3N0eWxlKHsgb3ZlcmZsb3c6ICdoaWRkZW4nLCBtYXhIZWlnaHQ6ICd7e21heEhlaWdodH19JyB9KSwgc3R5bGUoeyBtYXhIZWlnaHQ6IDAgfSldKVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgXSksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTmF2U2VsZWN0b3JMZWFmQ29tcG9uZW50IHtcbiAgICBsZWFmID0gaW5wdXQucmVxdWlyZWQ8SW50ZXJuYWxOYXZTZWxlY3RvckxlYWY+KCk7XG5cbiAgICBhY3Rpb25DbGlja2VkID0gb3V0cHV0PE5hdlNlbGVjdG9yTGVhZkFjdGlvbkNsaWNrZWRFdmVudD4oKTtcblxuICAgIGluaXRpYWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmxlYWYoKS5hbGlhc1swXS50b1VwcGVyQ2FzZSgpKTtcbiAgICBmb2xkU3ltYm9sID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMubGVhZigpLmZvbGRlZCA/ICdjaGV2cm9uLWRvd24nIDogJ2NoZXZyb24tdXAnKSk7XG5cbiAgICBmb2N1c2VkID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIGFsaWFzRWwgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZj4oJ2FsaWFzJyk7XG4gICAgYWxpYXNCb3VuZGVkQ2xpZW50UmVjdCA9IHNpZ25hbDx7XG4gICAgICAgIG9mZnNldFdpZHRoOiBudW1iZXI7XG4gICAgICAgIG9mZnNldEhlaWdodDogbnVtYmVyO1xuICAgICAgICBzY3JvbGxXaWR0aDogbnVtYmVyO1xuICAgICAgICBzY3JvbGxIZWlnaHQ6IG51bWJlcjtcbiAgICB9Pih7XG4gICAgICAgIG9mZnNldFdpZHRoOiAwLFxuICAgICAgICBvZmZzZXRIZWlnaHQ6IDAsXG4gICAgICAgIHNjcm9sbFdpZHRoOiAwLFxuICAgICAgICBzY3JvbGxIZWlnaHQ6IDAsXG4gICAgfSk7XG5cbiAgICB0b29sdGlwQ29udGVudCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgY29udGVudCA9IFtdO1xuXG4gICAgICAgIGNvbnN0IGVsID0gdGhpcy5hbGlhc0JvdW5kZWRDbGllbnRSZWN0KCk7XG4gICAgICAgIGlmICghdGhpcy5uYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIuZXhwYW5kZWQoKSB8fCBlbC5vZmZzZXRXaWR0aCA8IGVsLnNjcm9sbFdpZHRoIHx8IGVsLm9mZnNldEhlaWdodCA8IGVsLnNjcm9sbEhlaWdodCkge1xuICAgICAgICAgICAgY29udGVudC5wdXNoKHRoaXMubGVhZigpLmFsaWFzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRpc2FibGVSZWFzb24gPSB0aGlzLmxlYWYoKS5kaXNhYmxlUmVhc29uO1xuICAgICAgICBpZiAoZGlzYWJsZVJlYXNvbikge1xuICAgICAgICAgICAgY29udGVudC5wdXNoKGRpc2FibGVSZWFzb24pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubGVhZigpLmRpc3BsYXlGZWF0dXJlTG9ja2VkKSB7XG4gICAgICAgICAgICBjb250ZW50LnB1c2godGhpcy5uYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIudGV4dHMoKS5mZWF0dXJlTG9ja2VkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmxlYWYoKS5kaXNwbGF5VG9rZW5JbnZhbGlkKSB7XG4gICAgICAgICAgICBjb250ZW50LnB1c2godGhpcy5uYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIudGV4dHMoKS50b2tlbkludmFsaWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvbnRlbnQuam9pbignPGJyPicpO1xuICAgIH0pO1xuICAgIHRvb2x0aXBEaXNhYmxlZCA9IGNvbXB1dGVkKCgpID0+ICF0aGlzLnRvb2x0aXBDb250ZW50KCkubGVuZ3RoIHx8IHRoaXMubGVhZigpLmRldGFpbHNEaXNwbGF5YWJsZSk7XG5cbiAgICBmb2xkZWRXaXRoRGVsYXkgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgbmV0d29yayA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmxlYWYoKS5uZXR3b3JrID8gdGhpcy5sZWFmKCkubmV0d29yayA6IHVuZGVmaW5lZCkpO1xuXG4gICAgbGVhZkFjdGlvbnMgPSBjb21wdXRlZDxBY3Rpb25Ecm9wZG93bkl0ZW1bXT4oKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sZWFmKCkuYWN0aW9ucy5tYXAoYWN0aW9uID0+ICh7XG4gICAgICAgICAgICBuYW1lOiBhY3Rpb24ubmFtZSxcbiAgICAgICAgICAgIGxhYmVsOiBhY3Rpb24ubGFiZWwsXG4gICAgICAgICAgICBzdGFydFN5bWJvbElkOiBhY3Rpb24uaWNvbiA/PyB1bmRlZmluZWQsXG4gICAgICAgICAgICBkaXNhYmxlZDogYWN0aW9uLnN0YXR1cyA9PT0gJ2Rpc2FibGVkJyxcbiAgICAgICAgICAgIGZlYXR1cmVMb2NrRW5hYmxlZDogYWN0aW9uLnN0YXR1cyA9PT0gJ2xvY2tlZCcsXG4gICAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwdWJsaWMgbmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyOiBOYXZTZWxlY3RvckxlYWZQcmVzZW50ZXJcbiAgICApIHtcbiAgICAgICAgYWZ0ZXJSZW5kZXIoKCkgPT5cbiAgICAgICAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3TWF4SGVpZ2h0ID0gdGhpcy5jb21wdXRlTWF4SGVpZ2h0KCk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubWF4SGVpZ2h0KCkgIT09IG5ld01heEhlaWdodCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1heEhlaWdodC5zZXQobmV3TWF4SGVpZ2h0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVBbGlhc0JvdW5kZWRDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmb2xkZWQgPSB0aGlzLmxlYWYoKS5mb2xkZWQ7XG4gICAgICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmb2xkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZvbGRlZFdpdGhEZWxheS5zZXQodHJ1ZSksIDE1MCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2xkZWRXaXRoRGVsYXkuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYW5pbWF0aW9uU3RhdGUgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5sZWFmKCkuZm9sZGVkID8gJ2NvbGxhcHNlZCcgOiAnZXhwYW5kZWQnKSk7XG5cbiAgICBtYXhIZWlnaHQgPSBzaWduYWwoJzBweCcpO1xuXG4gICAgb25DbGljayhldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMubmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLnNlbGVjdExlYWYodGhpcy5sZWFmKCkpO1xuICAgIH1cblxuICAgIHRvZ2dsZUZvbGRpbmcoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5vbkxlYWZUb2dnbGVGb2xkaW5nKHRoaXMubGVhZigpKTtcbiAgICB9XG5cbiAgICBjbGlja09uVG9nZ2xlRm9sZGluZyhldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIC8vIFJlbW92ZSB0aGUgZm9jdXMgZnJvbSB0aGUgdG9nZ2xlIGZvbGRpbmcgc28gd2UgZG8gbm90IGhhdmUgdGhlIDpmb2N1cy13aXRoaW4gc3R5bGUgb24gdGhlIGxlYWZcbiAgICAgICAgaWYgKGV2ZW50LmN1cnJlbnRUYXJnZXQgJiYgJ2JsdXInIGluIGV2ZW50LmN1cnJlbnRUYXJnZXQgJiYgdHlwZW9mIGV2ZW50LmN1cnJlbnRUYXJnZXQuYmx1ciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgZXZlbnQuY3VycmVudFRhcmdldC5ibHVyKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5uYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIub25MZWFmVG9nZ2xlRm9sZGluZyh0aGlzLmxlYWYoKSk7XG4gICAgfVxuXG4gICAgc2VsZWN0T25seShldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIC8vIChldmVudC50YXJnZXQgYXMgRWxlbWVudCkuYmx1cigpO1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5zZWxlY3RPbmx5TGVhZih0aGlzLmxlYWYoKSk7XG4gICAgfVxuXG4gICAgY2xpY2tPblNlbGVjdE9ubHkoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAvLyBSZW1vdmUgdGhlIGZvY3VzIGZyb20gdGhlIHNlbGVjdCBvbmx5IHNvIHdlIGRvIG5vdCBoYXZlIHRoZSA6Zm9jdXMtd2l0aGluIHN0eWxlIG9uIHRoZSBsZWFmXG4gICAgICAgIGlmIChldmVudC5jdXJyZW50VGFyZ2V0ICYmICdibHVyJyBpbiBldmVudC5jdXJyZW50VGFyZ2V0ICYmIHR5cGVvZiBldmVudC5jdXJyZW50VGFyZ2V0LmJsdXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGV2ZW50LmN1cnJlbnRUYXJnZXQuYmx1cigpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLnNlbGVjdE9ubHlMZWFmKHRoaXMubGVhZigpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGb3IgY2hlY2tib3hlcywgYXMgdGhleSBkbyBub3Qgc3RvcCBldmVudCBwcm9wYWdhdGlvbiwgd2UgbmVlZCB0byBzdG9wIGl0IG1hbnVhbGx5XG4gICAgICovXG4gICAgZXZlbnRTdG9wcGVyKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBvbkNoZWNrYm94VG9nZ2xlKCkge1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5zZWxlY3RMZWFmKHRoaXMubGVhZigpKTtcbiAgICB9XG5cbiAgICBvblNwYWNlT3JFbnRlclByZXNzZWQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5uYXYtc2VsZWN0b3ItbGVhZicpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5sZWFmKCkuZm9sZGFibGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZUZvbGRpbmcoZXZlbnQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5zZWxlY3RMZWFmKHRoaXMubGVhZigpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvbGQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5mb2xkKHRoaXMubGVhZigpKTtcbiAgICB9XG5cbiAgICB1bmZvbGQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci51bmZvbGQodGhpcy5sZWFmKCkpO1xuICAgIH1cblxuICAgIG9uRGV0YWlsQ2xpY2tlZChldmVudDogRXZlbnQsIGRldGFpbDogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZEZXRhaWxzKSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5vbkxlYWZEZXRhaWxDbGlja2VkKGRldGFpbCk7XG4gICAgfVxuXG4gICAgb25BY3Rpb25DbGlja2VkKGFjdGlvbjogQWN0aW9uRHJvcGRvd25JdGVtKSB7XG4gICAgICAgIHRoaXMuYWN0aW9uQ2xpY2tlZC5lbWl0KHtcbiAgICAgICAgICAgIGxlYWZVaWQ6IHRoaXMubGVhZigpLnVpZCxcbiAgICAgICAgICAgIGFjdGlvbk5hbWU6IGFjdGlvbi5uYW1lID8/ICcnLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbXB1dGVNYXhIZWlnaHQoKSB7XG4gICAgICAgIGxldCBtYXhIZWlnaHQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuICAgICAgICBpZiAodGhpcy5sZWFmKCkuZm9sZGVkKSB7XG4gICAgICAgICAgICBtYXhIZWlnaHQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0ICogdGhpcy5sZWFmKCkuZGV0YWlscy5sZW5ndGg7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGAke21heEhlaWdodH1weGA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVBbGlhc0JvdW5kZWRDbGllbnRSZWN0KCkge1xuICAgICAgICBjb25zdCBlbCA9IHRoaXMuYWxpYXNFbCgpPy5uYXRpdmVFbGVtZW50O1xuICAgICAgICBpZiAoZWwpIHtcbiAgICAgICAgICAgIGNvbnN0IGJvdW5kZWRDbGllbnRSZWN0ID0ge1xuICAgICAgICAgICAgICAgIG9mZnNldFdpZHRoOiBlbC5vZmZzZXRXaWR0aCxcbiAgICAgICAgICAgICAgICBvZmZzZXRIZWlnaHQ6IGVsLm9mZnNldEhlaWdodCxcbiAgICAgICAgICAgICAgICBzY3JvbGxXaWR0aDogZWwuc2Nyb2xsV2lkdGgsXG4gICAgICAgICAgICAgICAgc2Nyb2xsSGVpZ2h0OiBlbC5zY3JvbGxIZWlnaHQsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KHRoaXMuYWxpYXNCb3VuZGVkQ2xpZW50UmVjdCgpKSAhPT0gSlNPTi5zdHJpbmdpZnkoYm91bmRlZENsaWVudFJlY3QpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hbGlhc0JvdW5kZWRDbGllbnRSZWN0LnNldChib3VuZGVkQ2xpZW50UmVjdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8IS0tIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC90ZW1wbGF0ZS9pbnRlcmFjdGl2ZS1zdXBwb3J0cy1mb2N1cyAtLT5cbkBpZiAobmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLmV4cGFuZGVkQWZ0ZXJEZWxheSgpKSB7XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm5hdi1zZWxlY3Rvci1sZWFmXCJcbiAgICAgICAgYXBUb29sdGlwUG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwibGVhZigpLnNlbGVjdGVkXCJcbiAgICAgICAgW2FwVG9vbHRpcF09XCJ0b29sdGlwQ29udGVudCgpXCJcbiAgICAgICAgW2FwVG9vbHRpcERpc2FibGVkXT1cInRvb2x0aXBEaXNhYmxlZCgpXCJcbiAgICAgICAgW2NsYXNzLm11bHRpcGxlLW1vZGVdPVwibmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLmlzTXVsdGlwbGVNb2RlRW5hYmxlZCgpXCJcbiAgICAgICAgW2NsYXNzLmZlYXR1cmUtbG9ja2VkXT1cImxlYWYoKS5kaXNwbGF5RmVhdHVyZUxvY2tlZFwiXG4gICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJsZWFmKCkuc2VsZWN0ZWRcIlxuICAgICAgICBbY2xhc3MudG9rZW4tZXJyb3JdPVwibGVhZigpLmRpc3BsYXlUb2tlbkludmFsaWRcIlxuICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwibGVhZigpLmRpc2FibGVkXCJcbiAgICAgICAgW2NsYXNzLmRldGFpbC1zZWxlY3RlZF09XCJsZWFmKCkuZGV0YWlsU2VsZWN0ZWRcIlxuICAgICAgICBbY2xhc3MuYWN0aW9ucy1kaXNwbGF5YWJsZV09XCJsZWFmKCkuYWN0aW9uc0Rpc3BsYXlhYmxlICYmIGxlYWYoKS5kZXRhaWxzRGlzcGxheWFibGVcIlxuICAgICAgICBbY2xhc3MuZGV0YWlscy1kaXNwbGF5YWJsZV09XCJsZWFmKCkuZGV0YWlsc0Rpc3BsYXlhYmxlXCJcbiAgICAgICAgW2FwVHJlZU5vZGVBY2Nlc3NpYmlsaXR5XT1cImxlYWYoKVwiXG4gICAgICAgIChrZXlkb3duLnNwYWNlKT1cIm9uU3BhY2VPckVudGVyUHJlc3NlZCgkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25TcGFjZU9yRW50ZXJQcmVzc2VkKCRldmVudClcIlxuICAgICAgICAoZm9jdXNpbik9XCJmb2N1c2VkLnNldCh0cnVlKVwiXG4gICAgICAgIChmb2N1c291dCk9XCJmb2N1c2VkLnNldChmYWxzZSlcIlxuICAgICAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCI+XG4gICAgICAgIEBpZiAobmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLmlzTXVsdGlwbGVNb2RlRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICA8YXAtY2hlY2tib3hcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJsZWFmKCkudWlkXCJcbiAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJsZWFmKCkuc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgIFthcmlhLWxhYmVsXT1cImxlYWYoKS5hbGlhc1wiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFsZWFmKCkuc2VsZWN0YWJsZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImV2ZW50U3RvcHBlcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uQ2hlY2tib3hUb2dnbGUoKVwiIC8+XG4gICAgICAgIH1cbiAgICAgICAgPGFwLWF2YXRhclxuICAgICAgICAgICAgc2l6ZT1cIjI0XCJcbiAgICAgICAgICAgIFtwcm9maWxlUGljdHVyZV09XCJsZWFmKCkucGljdHVyZVVybCA/PyB1bmRlZmluZWRcIlxuICAgICAgICAgICAgW25ldHdvcmtdPVwiJGFueShsZWFmKCkubmV0d29yaylcIlxuICAgICAgICAgICAgW3Nob3dJbml0aWFsc109XCJpbml0aWFsKClcIiAvPlxuXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICAjYWxpYXNcbiAgICAgICAgICAgIGNsYXNzPVwiY2FwdGlvblwiPlxuICAgICAgICAgICAge3sgbGVhZigpLmFsaWFzIH19XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8YVxuICAgICAgICAgICAgY2xhc3M9XCJzdGFuZGFsb25lIG9ubHktYnV0dG9uXCJcbiAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInU2VsZWN0IG9ubHkgJyArIGxlYWYoKS5hbGlhc1wiXG4gICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJsZWFmKCkuYWNjZXNzaWJpbGl0eS50YWJJbmRleFwiXG4gICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJzZWxlY3RPbmx5KCRldmVudClcIlxuICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwic2VsZWN0T25seSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGlja09uU2VsZWN0T25seSgkZXZlbnQpXCI+XG4gICAgICAgICAgICB7eyBuYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIudGV4dHMoKS5vbmx5IH19XG4gICAgICAgIDwvYT5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW5kLWFjdGlvbnNcIj5cbiAgICAgICAgICAgIEBpZiAobGVhZigpLmFjdGlvbnNEaXNwbGF5YWJsZSkge1xuICAgICAgICAgICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb25zLW1lbnVcIlxuICAgICAgICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgICAgICAgICBzeW1ib2xJZD1cIm1vcmVcIlxuICAgICAgICAgICAgICAgICAgICBbYXBBY3Rpb25Ecm9wZG93blRyaWdnZXJdPVwiYWN0aW9uRHJvcGRvd25cIlxuICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwibGVhZigpLmFjY2Vzc2liaWxpdHkudGFiSW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBY3Rpb24gbWVudSAnICsgbGVhZigpLmFsaWFzXCIgLz5cbiAgICAgICAgICAgICAgICA8YXAtYWN0aW9uLWRyb3Bkb3duXG4gICAgICAgICAgICAgICAgICAgICNhY3Rpb25Ecm9wZG93blxuICAgICAgICAgICAgICAgICAgICBbaXRlbXNdPVwibGVhZkFjdGlvbnMoKVwiXG4gICAgICAgICAgICAgICAgICAgIChpdGVtQ2xpY2spPVwib25BY3Rpb25DbGlja2VkKCRldmVudClcIiAvPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKGxlYWYoKS5mb2xkYWJsZSkge1xuICAgICAgICAgICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb2xkaW5nLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwibGVhZigpLmFjY2Vzc2liaWxpdHkudGFiSW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidUb2dnbGUgJyArIGxlYWYoKS5hbGlhc1wiXG4gICAgICAgICAgICAgICAgICAgIFtzeW1ib2xJZF09XCJmb2xkU3ltYm9sKClcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tPblRvZ2dsZUZvbGRpbmcoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duLnNwYWNlKT1cInRvZ2dsZUZvbGRpbmcoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cInRvZ2dsZUZvbGRpbmcoJGV2ZW50KVwiIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBpZiAobGVhZigpLmRpc3BsYXlDb3VudGVyKSB7XG4gICAgICAgICAgICA8YXAtY291bnRlclxuICAgICAgICAgICAgICAgIGNvbG9yPVwib3JhbmdlXCJcbiAgICAgICAgICAgICAgICBzaXplPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICBbYmFja2dyb3VuZF09XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgIHt7IGxlYWYoKS5jb3VudGVyIH19XG4gICAgICAgICAgICA8L2FwLWNvdW50ZXI+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChsZWFmKCkuZGlzcGxheVRva2VuSW52YWxpZCkge1xuICAgICAgICAgICAgPGFwLXN5bWJvbFxuICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgc3ltYm9sSWQ9XCJlcnJvcl9maWxsXCIgLz5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGxlYWYoKS5kaXNwbGF5RmVhdHVyZUxvY2tlZCkge1xuICAgICAgICAgICAgPGFwLXN5bWJvbFxuICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgc3ltYm9sSWQ9XCJmZWF0dXJlLWxvY2tcIiAvPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZGV0YWlscy1jb250YWluZXJcIlxuICAgICAgICBbQGFjY29yZGlvbl09XCJ7XG4gICAgICAgICAgICB2YWx1ZTogYW5pbWF0aW9uU3RhdGUoKSxcbiAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgIG1heEhlaWdodDogbWF4SGVpZ2h0KClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVwiPlxuICAgICAgICBAaWYgKCFmb2xkZWRXaXRoRGVsYXkoKSkge1xuICAgICAgICAgICAgPGFwLW5hdi1zZWxlY3Rvci1sZWFmLWRldGFpbHNcbiAgICAgICAgICAgICAgICBbZGV0YWlsc109XCJsZWFmKCkuZGV0YWlsc1wiXG4gICAgICAgICAgICAgICAgW2xlYWZdPVwibGVhZigpXCIgLz5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxufSBAZWxzZSB7XG4gICAgPGRpdlxuICAgICAgICAjbWluaWZpZWRcbiAgICAgICAgY2xhc3M9XCJuYXYtc2VsZWN0b3ItbGVhZlwiXG4gICAgICAgIGFwVG9vbHRpcFBvc2l0aW9uPVwicmlnaHRcIlxuICAgICAgICBbYXBOYXZTZWxlY3RvclBvcG92ZXJUcmlnZ2VyXT1cIm1pbmlmaWVkUG9wb3ZlclwiXG4gICAgICAgIFthcE5hdlNlbGVjdG9yUG9wb3ZlckRpc2FibGVkXT1cIiFsZWFmKCkuZGV0YWlsc0Rpc3BsYXlhYmxlXCJcbiAgICAgICAgW2FwTmF2U2VsZWN0b3JQb3BvdmVyVHJpZ2dlck1vZGVdPVwieyBjbGljazogZmFsc2UsIGhvdmVyOiB0cnVlIH1cIlxuICAgICAgICBbY2xhc3MuZmVhdHVyZS1sb2NrZWRdPVwibGVhZigpLmRpc3BsYXlGZWF0dXJlTG9ja2VkXCJcbiAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImxlYWYoKS5zZWxlY3RlZCB8fCBsZWFmKCkuZGV0YWlsU2VsZWN0ZWRcIlxuICAgICAgICBbY2xhc3MudG9rZW4tZXJyb3JdPVwibGVhZigpLmRpc3BsYXlUb2tlbkludmFsaWRcIlxuICAgICAgICBbY2xhc3MubXVsdGlwbGUtbW9kZV09XCJuYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIuaXNNdWx0aXBsZU1vZGVFbmFibGVkKClcIlxuICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwibGVhZigpLmRpc2FibGVkXCJcbiAgICAgICAgW2FwVG9vbHRpcF09XCJ0b29sdGlwQ29udGVudCgpXCJcbiAgICAgICAgW2FwVG9vbHRpcERpc2FibGVkXT1cInRvb2x0aXBEaXNhYmxlZCgpXCJcbiAgICAgICAgW2FwVHJlZU5vZGVBY2Nlc3NpYmlsaXR5XT1cImxlYWYoKVwiXG4gICAgICAgIChrZXlkb3duLnNwYWNlKT1cIm9uU3BhY2VPckVudGVyUHJlc3NlZCgkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25TcGFjZU9yRW50ZXJQcmVzc2VkKCRldmVudClcIlxuICAgICAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCI+XG4gICAgICAgIEBpZiAobmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLmlzTXVsdGlwbGVNb2RlRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICA8YXAtY2hlY2tib3hcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJsZWFmKCkudWlkXCJcbiAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJsZWFmKCkuc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhbGVhZigpLnNlbGVjdGFibGVcIiAvPlxuICAgICAgICB9XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxhcC1hdmF0YXJcbiAgICAgICAgICAgICAgICBzaXplPVwiMjRcIlxuICAgICAgICAgICAgICAgIFtwcm9maWxlUGljdHVyZV09XCJsZWFmKCkucGljdHVyZVVybCA/PyB1bmRlZmluZWRcIlxuICAgICAgICAgICAgICAgIFtuZXR3b3JrXT1cIiRhbnkobGVhZigpLm5ldHdvcmspXCJcbiAgICAgICAgICAgICAgICBbc2hvd0luaXRpYWxzXT1cImluaXRpYWwoKVwiIC8+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXNcIj5cbiAgICAgICAgICAgICAgICBAaWYgKGxlYWYoKS5kaXNwbGF5Q291bnRlcikge1xuICAgICAgICAgICAgICAgICAgICA8YXAtY291bnRlclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb3VudGVyLW92ZXJyaWRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwib3JhbmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25vdGlmXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2JhY2tncm91bmRdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgbGVhZigpLmNvdW50ZXIgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9hcC1jb3VudGVyPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKGxlYWYoKS5kaXNwbGF5VG9rZW5JbnZhbGlkKSB7XG4gICAgICAgICAgICAgICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzeW1ib2xJZD1cImVycm9yX2ZpbGxcIiAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKGxlYWYoKS5kaXNwbGF5RmVhdHVyZUxvY2tlZCkge1xuICAgICAgICAgICAgICAgICAgICA8YXAtc3ltYm9sXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc3ltYm9sSWQ9XCJmZWF0dXJlLWxvY2tcIiAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8YXAtbmF2LXNlbGVjdG9yLXBvcG92ZXJcbiAgICAgICAgICAgICNtaW5pZmllZFBvcG92ZXJcbiAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgIFtwb3BvdmVyVGl0bGVdPVwibGVhZigpLmFsaWFzXCJcbiAgICAgICAgICAgIFtvZmZzZXRdPVwieyBtYWluQXhpczogMCwgY3Jvc3NBeGlzOiAtMzYuNSB9XCI+XG4gICAgICAgICAgICBAZm9yIChkZXRhaWwgb2YgbGVhZigpLmRldGFpbHM7IHRyYWNrIGRldGFpbC51aWQpIHtcbiAgICAgICAgICAgICAgICA8YXAtbmF2LXNlbGVjdG9yLXBvcG92ZXItaXRlbVxuICAgICAgICAgICAgICAgICAgICBpdGVtXG4gICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJkZXRhaWwuc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGV0YWlsLmRpc3BsYXlFcnJvclwiXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cImRldGFpbC5hbGlhc1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRldGFpbENsaWNrZWQoJGV2ZW50LCBkZXRhaWwpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxhcC1uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtlbWJlZGRlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkZXRhaWxdPVwiZGV0YWlsXCIgLz5cbiAgICAgICAgICAgICAgICA8L2FwLW5hdi1zZWxlY3Rvci1wb3BvdmVyLWl0ZW0+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvYXAtbmF2LXNlbGVjdG9yLXBvcG92ZXI+XG4gICAgPC9kaXY+XG59XG4iXX0=
@@ -1,37 +0,0 @@
1
- import { computed, Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../nav-selector.state";
4
- export class NavSelectorLeafPresenter {
5
- navSelectorState;
6
- expanded = computed(() => this.navSelectorState.expanded());
7
- texts = computed(() => this.navSelectorState.texts());
8
- isMultipleModeEnabled = computed(() => this.navSelectorState.isMultipleModeEnabled());
9
- expandedAfterDelay = computed(() => this.navSelectorState.expandedAfterDelay());
10
- constructor(navSelectorState) {
11
- this.navSelectorState = navSelectorState;
12
- }
13
- selectLeaf(leaf) {
14
- this.navSelectorState.onLeafClicked(leaf);
15
- }
16
- onLeafToggleFolding(leaf) {
17
- this.navSelectorState.onLeafToggleFolding(leaf);
18
- }
19
- selectOnlyLeaf(leaf) {
20
- this.navSelectorState.selectOnlyLeaf(leaf);
21
- }
22
- fold(leaf) {
23
- this.navSelectorState.fold(leaf);
24
- }
25
- unfold(leaf) {
26
- this.navSelectorState.unfold(leaf);
27
- }
28
- onLeafDetailClicked(detail) {
29
- this.navSelectorState.onLeafDetailClicked(detail);
30
- }
31
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorLeafPresenter, deps: [{ token: i1.NavSelectorState }], target: i0.ɵɵFactoryTarget.Injectable });
32
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorLeafPresenter });
33
- }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorLeafPresenter, decorators: [{
35
- type: Injectable
36
- }], ctorParameters: () => [{ type: i1.NavSelectorState }] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLWxlYWYucHJlc2VudGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25hdi1zZWxlY3Rvci9zcmMvbmF2LXNlbGVjdG9yLWxlYWYvbmF2LXNlbGVjdG9yLWxlYWYucHJlc2VudGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFLckQsTUFBTSxPQUFPLHdCQUF3QjtJQU1iO0lBTHBCLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDNUQsS0FBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN0RCxxQkFBcUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztJQUN0RixrQkFBa0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUVoRixZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFHLENBQUM7SUFFMUQsVUFBVSxDQUFDLElBQTZCO1FBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQTZCO1FBQzdDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQTZCO1FBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksQ0FBQyxJQUE2QjtRQUM5QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBNkI7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsTUFBc0M7UUFDdEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RELENBQUM7dUdBOUJRLHdCQUF3QjsyR0FBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEludGVybmFsTmF2U2VsZWN0b3JMZWFmLCBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZkRldGFpbHMgfSBmcm9tICcuLi9uYXYtc2VsZWN0b3InO1xuaW1wb3J0IHsgTmF2U2VsZWN0b3JTdGF0ZSB9IGZyb20gJy4uL25hdi1zZWxlY3Rvci5zdGF0ZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIge1xuICAgIGV4cGFuZGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5uYXZTZWxlY3RvclN0YXRlLmV4cGFuZGVkKCkpO1xuICAgIHRleHRzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5uYXZTZWxlY3RvclN0YXRlLnRleHRzKCkpO1xuICAgIGlzTXVsdGlwbGVNb2RlRW5hYmxlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMubmF2U2VsZWN0b3JTdGF0ZS5pc011bHRpcGxlTW9kZUVuYWJsZWQoKSk7XG4gICAgZXhwYW5kZWRBZnRlckRlbGF5ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5uYXZTZWxlY3RvclN0YXRlLmV4cGFuZGVkQWZ0ZXJEZWxheSgpKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbmF2U2VsZWN0b3JTdGF0ZTogTmF2U2VsZWN0b3JTdGF0ZSkge31cblxuICAgIHNlbGVjdExlYWYobGVhZjogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYpIHtcbiAgICAgICAgdGhpcy5uYXZTZWxlY3RvclN0YXRlLm9uTGVhZkNsaWNrZWQobGVhZik7XG4gICAgfVxuXG4gICAgb25MZWFmVG9nZ2xlRm9sZGluZyhsZWFmOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZikge1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yU3RhdGUub25MZWFmVG9nZ2xlRm9sZGluZyhsZWFmKTtcbiAgICB9XG5cbiAgICBzZWxlY3RPbmx5TGVhZihsZWFmOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZikge1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yU3RhdGUuc2VsZWN0T25seUxlYWYobGVhZik7XG4gICAgfVxuXG4gICAgZm9sZChsZWFmOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZikge1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yU3RhdGUuZm9sZChsZWFmKTtcbiAgICB9XG5cbiAgICB1bmZvbGQobGVhZjogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYpIHtcbiAgICAgICAgdGhpcy5uYXZTZWxlY3RvclN0YXRlLnVuZm9sZChsZWFmKTtcbiAgICB9XG5cbiAgICBvbkxlYWZEZXRhaWxDbGlja2VkKGRldGFpbDogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZEZXRhaWxzKSB7XG4gICAgICAgIHRoaXMubmF2U2VsZWN0b3JTdGF0ZS5vbkxlYWZEZXRhaWxDbGlja2VkKGRldGFpbCk7XG4gICAgfVxufVxuIl19
@@ -1,43 +0,0 @@
1
- import { CounterComponent } from '@agorapulse/ui-components/counter';
2
- import { TooltipDirective } from '@agorapulse/ui-components/tooltip';
3
- import { apErrorFill, SymbolComponent, withSymbols } from '@agorapulse/ui-symbol';
4
- import { ChangeDetectionStrategy, Component, input } from '@angular/core';
5
- import { TreeNodeAccessibilityDirective } from '../directives/tree-node-accessibility.directive';
6
- import { NavSelectorLeafDetailPresenter } from './nav-selector-leaf-detail.presenter';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "./nav-selector-leaf-detail.presenter";
9
- import * as i2 from "../directives/tree-node-accessibility.directive";
10
- export class NavSelectorLeafDetailComponent {
11
- navSelectorLeafDetailPresenter;
12
- detail = input.required();
13
- embedded = input(false);
14
- constructor(navSelectorLeafDetailPresenter) {
15
- this.navSelectorLeafDetailPresenter = navSelectorLeafDetailPresenter;
16
- }
17
- onClick(event) {
18
- if (!this.embedded()) {
19
- event.stopImmediatePropagation();
20
- this.navSelectorLeafDetailPresenter.onLeafDetailClicked(this.detail());
21
- }
22
- }
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorLeafDetailComponent, deps: [{ token: i1.NavSelectorLeafDetailPresenter }], target: i0.ɵɵFactoryTarget.Component });
24
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: NavSelectorLeafDetailComponent, isStandalone: true, selector: "ap-nav-selector-leaf-detail", inputs: { detail: { classPropertyName: "detail", publicName: "detail", isSignal: true, isRequired: true, transformFunction: null }, embedded: { classPropertyName: "embedded", publicName: "embedded", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick($event)", "keydown.enter": "onClick($event)", "keydown.space": "onClick($event)" }, properties: { "class.selected": "detail().selected", "class.embedded": "embedded()", "class.disabled": "detail().displayError" } }, providers: [withSymbols(apErrorFill), NavSelectorLeafDetailPresenter], hostDirectives: [{ directive: i2.TreeNodeAccessibilityDirective, inputs: ["apTreeNodeAccessibility", "detail"] }], ngImport: i0, template: "<span class=\"caption\">{{ detail().alias }}</span>\n\n@if (detail().displayCounter) {\n <ap-counter\n color=\"orange\"\n size=\"normal\"\n [background]=\"false\">\n {{ detail().counter }}\n </ap-counter>\n}\n@if (detail().displayError) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\"\n apTooltipPosition=\"right\"\n [apTooltip]=\"detail().errorReason\" />\n}\n", styles: [":host{display:flex;height:32px;padding:0 var(--ref-spacing-xxs);align-items:center;gap:var(--ref-spacing-xxs);align-self:stretch;flex-grow:1;overflow:hidden}:host.embedded{padding:0}:host.embedded .caption{font-size:var(--ref-font-size-sm)}:host ap-symbol[symbol-id=error_fill]{color:var(--ref-color-red-100)}:host .caption{flex-grow:1;overflow:hidden;color:var(--ref-color-grey-100);text-overflow:ellipsis;white-space:nowrap;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-regular);line-height:var(--ref-font-line-height-xs)}:host:not(.disabled):not(.embedded){cursor:pointer}:host:not(.disabled):not(.embedded):hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10)}:host:not(.disabled):not(.embedded):active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host:not(.disabled):not(.embedded):focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host:not(.disabled):not(.embedded).selected{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host:not(.disabled):not(.embedded).selected .caption{overflow:hidden;color:var(--ref-color-electric-blue-150);text-overflow:ellipsis;white-space:nowrap;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host:not(.disabled):not(.embedded).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host.disabled .caption{opacity:.5}:host.embedded.selected .caption{color:var(--ref-color-electric-blue-150);font-size:var(--ref-font-size-sm);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-sm)}\n"], dependencies: [{ kind: "component", type: CounterComponent, selector: "ap-counter", inputs: ["color", "size", "notif", "background", "role"] }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "directive", type: TooltipDirective, selector: "[apTooltip]", inputs: ["apTooltip", "apTooltipPosition", "apTooltipShowDelay", "apTooltipHideDelay", "apTooltipDuration", "apTooltipDisabled", "apTooltipTruncatedTextOnly", "apTooltipTemplateContext", "apTooltipVirtualScrollElement"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorLeafDetailComponent, decorators: [{
27
- type: Component,
28
- args: [{ selector: 'ap-nav-selector-leaf-detail', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CounterComponent, SymbolComponent, TooltipDirective], providers: [withSymbols(apErrorFill), NavSelectorLeafDetailPresenter], host: {
29
- '(click)': 'onClick($event)',
30
- '[class.selected]': 'detail().selected',
31
- '[class.embedded]': 'embedded()',
32
- '[class.disabled]': 'detail().displayError',
33
- '(keydown.enter)': 'onClick($event)',
34
- '(keydown.space)': 'onClick($event)',
35
- }, hostDirectives: [
36
- {
37
- directive: TreeNodeAccessibilityDirective,
38
- // Alias the input of the directive to detail the input detail will be used in the directive and in the component as well
39
- inputs: ['apTreeNodeAccessibility: detail'],
40
- },
41
- ], template: "<span class=\"caption\">{{ detail().alias }}</span>\n\n@if (detail().displayCounter) {\n <ap-counter\n color=\"orange\"\n size=\"normal\"\n [background]=\"false\">\n {{ detail().counter }}\n </ap-counter>\n}\n@if (detail().displayError) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\"\n apTooltipPosition=\"right\"\n [apTooltip]=\"detail().errorReason\" />\n}\n", styles: [":host{display:flex;height:32px;padding:0 var(--ref-spacing-xxs);align-items:center;gap:var(--ref-spacing-xxs);align-self:stretch;flex-grow:1;overflow:hidden}:host.embedded{padding:0}:host.embedded .caption{font-size:var(--ref-font-size-sm)}:host ap-symbol[symbol-id=error_fill]{color:var(--ref-color-red-100)}:host .caption{flex-grow:1;overflow:hidden;color:var(--ref-color-grey-100);text-overflow:ellipsis;white-space:nowrap;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-regular);line-height:var(--ref-font-line-height-xs)}:host:not(.disabled):not(.embedded){cursor:pointer}:host:not(.disabled):not(.embedded):hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10)}:host:not(.disabled):not(.embedded):active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host:not(.disabled):not(.embedded):focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host:not(.disabled):not(.embedded).selected{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host:not(.disabled):not(.embedded).selected .caption{overflow:hidden;color:var(--ref-color-electric-blue-150);text-overflow:ellipsis;white-space:nowrap;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host:not(.disabled):not(.embedded).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host.disabled .caption{opacity:.5}:host.embedded.selected .caption{color:var(--ref-color-electric-blue-150);font-size:var(--ref-font-size-sm);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-sm)}\n"] }]
42
- }], ctorParameters: () => [{ type: i1.NavSelectorLeafDetailPresenter }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9uYXYtc2VsZWN0b3Ivc3JjL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbC9uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25hdi1zZWxlY3Rvci9zcmMvbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUVqRyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7OztBQTBCdEYsTUFBTSxPQUFPLDhCQUE4QjtJQUtwQjtJQUpuQixNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBa0MsQ0FBQztJQUUxRCxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXhCLFlBQW1CLDhCQUE4RDtRQUE5RCxtQ0FBOEIsR0FBOUIsOEJBQThCLENBQWdDO0lBQUcsQ0FBQztJQUVyRixPQUFPLENBQUMsS0FBWTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDbkIsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLENBQUM7SUFDTCxDQUFDO3VHQVpRLDhCQUE4QjsyRkFBOUIsOEJBQThCLGdsQkFqQjVCLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFLDhCQUE4QixDQUFDLDZJQ2Z6RSxtYkFpQkEsbzlEREhjLGdCQUFnQixpSEFBRSxlQUFlLHNIQUFFLGdCQUFnQjs7MkZBa0JwRCw4QkFBOEI7a0JBeEIxQyxTQUFTOytCQUNJLDZCQUE2QixjQUczQixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLENBQUMsYUFDbkQsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEVBQUUsOEJBQThCLENBQUMsUUFDL0Q7d0JBQ0YsU0FBUyxFQUFFLGlCQUFpQjt3QkFDNUIsa0JBQWtCLEVBQUUsbUJBQW1CO3dCQUN2QyxrQkFBa0IsRUFBRSxZQUFZO3dCQUNoQyxrQkFBa0IsRUFBRSx1QkFBdUI7d0JBQzNDLGlCQUFpQixFQUFFLGlCQUFpQjt3QkFDcEMsaUJBQWlCLEVBQUUsaUJBQWlCO3FCQUN2QyxrQkFDZTt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsOEJBQThCOzRCQUN6Qyx5SEFBeUg7NEJBQ3pILE1BQU0sRUFBRSxDQUFDLGlDQUFpQyxDQUFDO3lCQUM5QztxQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvdW50ZXJDb21wb25lbnQgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL2NvdW50ZXInO1xuaW1wb3J0IHsgVG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvdG9vbHRpcCc7XG5pbXBvcnQgeyBhcEVycm9yRmlsbCwgU3ltYm9sQ29tcG9uZW50LCB3aXRoU3ltYm9scyB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLXN5bWJvbCc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJlZU5vZGVBY2Nlc3NpYmlsaXR5RGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy90cmVlLW5vZGUtYWNjZXNzaWJpbGl0eS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZEZXRhaWxzIH0gZnJvbSAnLi4vbmF2LXNlbGVjdG9yJztcbmltcG9ydCB7IE5hdlNlbGVjdG9yTGVhZkRldGFpbFByZXNlbnRlciB9IGZyb20gJy4vbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsLnByZXNlbnRlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXAtbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWwuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGltcG9ydHM6IFtDb3VudGVyQ29tcG9uZW50LCBTeW1ib2xDb21wb25lbnQsIFRvb2x0aXBEaXJlY3RpdmVdLFxuICAgIHByb3ZpZGVyczogW3dpdGhTeW1ib2xzKGFwRXJyb3JGaWxsKSwgTmF2U2VsZWN0b3JMZWFmRGV0YWlsUHJlc2VudGVyXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoY2xpY2spJzogJ29uQ2xpY2soJGV2ZW50KScsXG4gICAgICAgICdbY2xhc3Muc2VsZWN0ZWRdJzogJ2RldGFpbCgpLnNlbGVjdGVkJyxcbiAgICAgICAgJ1tjbGFzcy5lbWJlZGRlZF0nOiAnZW1iZWRkZWQoKScsXG4gICAgICAgICdbY2xhc3MuZGlzYWJsZWRdJzogJ2RldGFpbCgpLmRpc3BsYXlFcnJvcicsXG4gICAgICAgICcoa2V5ZG93bi5lbnRlciknOiAnb25DbGljaygkZXZlbnQpJyxcbiAgICAgICAgJyhrZXlkb3duLnNwYWNlKSc6ICdvbkNsaWNrKCRldmVudCknLFxuICAgIH0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBUcmVlTm9kZUFjY2Vzc2liaWxpdHlEaXJlY3RpdmUsXG4gICAgICAgICAgICAvLyBBbGlhcyB0aGUgaW5wdXQgb2YgdGhlIGRpcmVjdGl2ZSB0byBkZXRhaWwgdGhlIGlucHV0IGRldGFpbCB3aWxsIGJlIHVzZWQgaW4gdGhlIGRpcmVjdGl2ZSBhbmQgaW4gdGhlIGNvbXBvbmVudCBhcyB3ZWxsXG4gICAgICAgICAgICBpbnB1dHM6IFsnYXBUcmVlTm9kZUFjY2Vzc2liaWxpdHk6IGRldGFpbCddLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5hdlNlbGVjdG9yTGVhZkRldGFpbENvbXBvbmVudCB7XG4gICAgZGV0YWlsID0gaW5wdXQucmVxdWlyZWQ8SW50ZXJuYWxOYXZTZWxlY3RvckxlYWZEZXRhaWxzPigpO1xuXG4gICAgZW1iZWRkZWQgPSBpbnB1dChmYWxzZSk7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgbmF2U2VsZWN0b3JMZWFmRGV0YWlsUHJlc2VudGVyOiBOYXZTZWxlY3RvckxlYWZEZXRhaWxQcmVzZW50ZXIpIHt9XG5cbiAgICBvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuZW1iZWRkZWQoKSkge1xuICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZkRldGFpbFByZXNlbnRlci5vbkxlYWZEZXRhaWxDbGlja2VkKHRoaXMuZGV0YWlsKCkpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPHNwYW4gY2xhc3M9XCJjYXB0aW9uXCI+e3sgZGV0YWlsKCkuYWxpYXMgfX08L3NwYW4+XG5cbkBpZiAoZGV0YWlsKCkuZGlzcGxheUNvdW50ZXIpIHtcbiAgICA8YXAtY291bnRlclxuICAgICAgICBjb2xvcj1cIm9yYW5nZVwiXG4gICAgICAgIHNpemU9XCJub3JtYWxcIlxuICAgICAgICBbYmFja2dyb3VuZF09XCJmYWxzZVwiPlxuICAgICAgICB7eyBkZXRhaWwoKS5jb3VudGVyIH19XG4gICAgPC9hcC1jb3VudGVyPlxufVxuQGlmIChkZXRhaWwoKS5kaXNwbGF5RXJyb3IpIHtcbiAgICA8YXAtc3ltYm9sXG4gICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgIHN5bWJvbElkPVwiZXJyb3JfZmlsbFwiXG4gICAgICAgIGFwVG9vbHRpcFBvc2l0aW9uPVwicmlnaHRcIlxuICAgICAgICBbYXBUb29sdGlwXT1cImRldGFpbCgpLmVycm9yUmVhc29uXCIgLz5cbn1cbiJdfQ==
@@ -1,20 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../nav-selector.state";
4
- export class NavSelectorLeafDetailPresenter {
5
- navSelectorState;
6
- constructor(navSelectorState) {
7
- this.navSelectorState = navSelectorState;
8
- }
9
- onLeafDetailClicked(detail) {
10
- if (!detail.displayError) {
11
- this.navSelectorState.onLeafDetailClicked(detail);
12
- }
13
- }
14
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorLeafDetailPresenter, deps: [{ token: i1.NavSelectorState }], target: i0.ɵɵFactoryTarget.Injectable });
15
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorLeafDetailPresenter });
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorLeafDetailPresenter, decorators: [{
18
- type: Injectable
19
- }], ctorParameters: () => [{ type: i1.NavSelectorState }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsLnByZXNlbnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9uYXYtc2VsZWN0b3Ivc3JjL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbC9uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWwucHJlc2VudGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUszQyxNQUFNLE9BQU8sOEJBQThCO0lBQ25CO0lBQXBCLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQUcsQ0FBQztJQUUxRCxtQkFBbUIsQ0FBQyxNQUFzQztRQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0RCxDQUFDO0lBQ0wsQ0FBQzt1R0FQUSw4QkFBOEI7MkdBQTlCLDhCQUE4Qjs7MkZBQTlCLDhCQUE4QjtrQkFEMUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEludGVybmFsTmF2U2VsZWN0b3JMZWFmRGV0YWlscyB9IGZyb20gJy4uL25hdi1zZWxlY3Rvcic7XG5pbXBvcnQgeyBOYXZTZWxlY3RvclN0YXRlIH0gZnJvbSAnLi4vbmF2LXNlbGVjdG9yLnN0YXRlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5hdlNlbGVjdG9yTGVhZkRldGFpbFByZXNlbnRlciB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBuYXZTZWxlY3RvclN0YXRlOiBOYXZTZWxlY3RvclN0YXRlKSB7fVxuXG4gICAgb25MZWFmRGV0YWlsQ2xpY2tlZChkZXRhaWw6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmRGV0YWlscykge1xuICAgICAgICBpZiAoIWRldGFpbC5kaXNwbGF5RXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMubmF2U2VsZWN0b3JTdGF0ZS5vbkxlYWZEZXRhaWxDbGlja2VkKGRldGFpbCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=