@agorapulse/ui-components 18.1.13 → 18.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (533) hide show
  1. package/action-dropdown/index.d.ts +105 -3
  2. package/add-comment/index.d.ts +24 -5
  3. package/agorapulse-ui-components-18.2.0.tgz +0 -0
  4. package/autocomplete/index.d.ts +43 -5
  5. package/avatar/index.d.ts +64 -5
  6. package/badge/index.d.ts +11 -5
  7. package/button/index.d.ts +54 -5
  8. package/checkbox/index.d.ts +54 -5
  9. package/close-button/index.d.ts +14 -5
  10. package/confirm-modal/index.d.ts +32 -5
  11. package/counter/index.d.ts +17 -5
  12. package/datepicker/index.d.ts +99 -5
  13. package/directives/index.d.ts +149 -3
  14. package/dot-stepper/index.d.ts +23 -5
  15. package/fesm2022/agorapulse-ui-components-action-dropdown.mjs +22 -32
  16. package/fesm2022/agorapulse-ui-components-action-dropdown.mjs.map +1 -1
  17. package/fesm2022/agorapulse-ui-components-add-comment.mjs +5 -5
  18. package/fesm2022/agorapulse-ui-components-add-comment.mjs.map +1 -1
  19. package/fesm2022/agorapulse-ui-components-autocomplete.mjs +8 -8
  20. package/fesm2022/agorapulse-ui-components-autocomplete.mjs.map +1 -1
  21. package/fesm2022/agorapulse-ui-components-avatar.mjs +24 -24
  22. package/fesm2022/agorapulse-ui-components-avatar.mjs.map +1 -1
  23. package/fesm2022/agorapulse-ui-components-badge.mjs +4 -4
  24. package/fesm2022/agorapulse-ui-components-badge.mjs.map +1 -1
  25. package/fesm2022/agorapulse-ui-components-button.mjs +6 -6
  26. package/fesm2022/agorapulse-ui-components-button.mjs.map +1 -1
  27. package/fesm2022/agorapulse-ui-components-checkbox.mjs +4 -4
  28. package/fesm2022/agorapulse-ui-components-checkbox.mjs.map +1 -1
  29. package/fesm2022/agorapulse-ui-components-close-button.mjs +7 -7
  30. package/fesm2022/agorapulse-ui-components-close-button.mjs.map +1 -1
  31. package/fesm2022/agorapulse-ui-components-confirm-modal.mjs +4 -4
  32. package/fesm2022/agorapulse-ui-components-confirm-modal.mjs.map +1 -1
  33. package/fesm2022/agorapulse-ui-components-counter.mjs +9 -9
  34. package/fesm2022/agorapulse-ui-components-counter.mjs.map +1 -1
  35. package/fesm2022/agorapulse-ui-components-datepicker.mjs +6 -6
  36. package/fesm2022/agorapulse-ui-components-datepicker.mjs.map +1 -1
  37. package/fesm2022/agorapulse-ui-components-directives.mjs +26 -28
  38. package/fesm2022/agorapulse-ui-components-directives.mjs.map +1 -1
  39. package/fesm2022/agorapulse-ui-components-dot-stepper.mjs +4 -4
  40. package/fesm2022/agorapulse-ui-components-dot-stepper.mjs.map +1 -1
  41. package/fesm2022/agorapulse-ui-components-form-field.mjs +3 -3
  42. package/fesm2022/agorapulse-ui-components-form-field.mjs.map +1 -1
  43. package/fesm2022/agorapulse-ui-components-form-message.mjs +6 -6
  44. package/fesm2022/agorapulse-ui-components-form-message.mjs.map +1 -1
  45. package/fesm2022/agorapulse-ui-components-icon-button.mjs +5 -5
  46. package/fesm2022/agorapulse-ui-components-icon-button.mjs.map +1 -1
  47. package/fesm2022/agorapulse-ui-components-infobox.mjs +4 -4
  48. package/fesm2022/agorapulse-ui-components-infobox.mjs.map +1 -1
  49. package/fesm2022/agorapulse-ui-components-input-group.mjs +6 -6
  50. package/fesm2022/agorapulse-ui-components-input-group.mjs.map +1 -1
  51. package/fesm2022/agorapulse-ui-components-input-search.mjs +13 -10
  52. package/fesm2022/agorapulse-ui-components-input-search.mjs.map +1 -1
  53. package/fesm2022/agorapulse-ui-components-input.mjs +3 -3
  54. package/fesm2022/agorapulse-ui-components-labels-selector.mjs +4 -4
  55. package/fesm2022/agorapulse-ui-components-labels-selector.mjs.map +1 -1
  56. package/fesm2022/agorapulse-ui-components-labels.mjs +8 -8
  57. package/fesm2022/agorapulse-ui-components-labels.mjs.map +1 -1
  58. package/fesm2022/agorapulse-ui-components-legacy-input.mjs +5 -5
  59. package/fesm2022/agorapulse-ui-components-legacy-input.mjs.map +1 -1
  60. package/fesm2022/agorapulse-ui-components-legacy-select.mjs +17 -17
  61. package/fesm2022/agorapulse-ui-components-legacy-select.mjs.map +1 -1
  62. package/fesm2022/agorapulse-ui-components-legacy-textarea.mjs +5 -5
  63. package/fesm2022/agorapulse-ui-components-legacy-textarea.mjs.map +1 -1
  64. package/fesm2022/agorapulse-ui-components-media-display-overlay.mjs +4 -4
  65. package/fesm2022/agorapulse-ui-components-media-display-overlay.mjs.map +1 -1
  66. package/fesm2022/agorapulse-ui-components-modal.mjs +4 -4
  67. package/fesm2022/agorapulse-ui-components-modal.mjs.map +1 -1
  68. package/fesm2022/agorapulse-ui-components-nav-selector-testing.mjs.map +1 -1
  69. package/fesm2022/agorapulse-ui-components-nav-selector.mjs +164 -159
  70. package/fesm2022/agorapulse-ui-components-nav-selector.mjs.map +1 -1
  71. package/fesm2022/agorapulse-ui-components-neo-datepicker.mjs +8 -8
  72. package/fesm2022/agorapulse-ui-components-neo-datepicker.mjs.map +1 -1
  73. package/fesm2022/agorapulse-ui-components-notification.mjs +4 -4
  74. package/fesm2022/agorapulse-ui-components-notification.mjs.map +1 -1
  75. package/fesm2022/agorapulse-ui-components-paginator.mjs +7 -7
  76. package/fesm2022/agorapulse-ui-components-paginator.mjs.map +1 -1
  77. package/fesm2022/agorapulse-ui-components-password-input.mjs +4 -4
  78. package/fesm2022/agorapulse-ui-components-password-input.mjs.map +1 -1
  79. package/fesm2022/agorapulse-ui-components-phone-number-input.mjs +16 -16
  80. package/fesm2022/agorapulse-ui-components-phone-number-input.mjs.map +1 -1
  81. package/fesm2022/agorapulse-ui-components-popmenu.mjs +11 -11
  82. package/fesm2022/agorapulse-ui-components-popmenu.mjs.map +1 -1
  83. package/fesm2022/agorapulse-ui-components-providers.mjs +19 -0
  84. package/fesm2022/agorapulse-ui-components-providers.mjs.map +1 -0
  85. package/fesm2022/agorapulse-ui-components-radio.mjs +6 -6
  86. package/fesm2022/agorapulse-ui-components-radio.mjs.map +1 -1
  87. package/fesm2022/agorapulse-ui-components-range-slider.mjs +4 -4
  88. package/fesm2022/agorapulse-ui-components-range-slider.mjs.map +1 -1
  89. package/fesm2022/agorapulse-ui-components-select.mjs +65 -65
  90. package/fesm2022/agorapulse-ui-components-select.mjs.map +1 -1
  91. package/fesm2022/agorapulse-ui-components-slide-toggle.mjs +4 -4
  92. package/fesm2022/agorapulse-ui-components-slide-toggle.mjs.map +1 -1
  93. package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs +8 -8
  94. package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs.map +1 -1
  95. package/fesm2022/agorapulse-ui-components-social-button.mjs +4 -4
  96. package/fesm2022/agorapulse-ui-components-social-button.mjs.map +1 -1
  97. package/fesm2022/agorapulse-ui-components-split-button.mjs +5 -5
  98. package/fesm2022/agorapulse-ui-components-split-button.mjs.map +1 -1
  99. package/fesm2022/agorapulse-ui-components-status-card.mjs +3 -3
  100. package/fesm2022/agorapulse-ui-components-status-card.mjs.map +1 -1
  101. package/fesm2022/agorapulse-ui-components-status.mjs +4 -4
  102. package/fesm2022/agorapulse-ui-components-status.mjs.map +1 -1
  103. package/fesm2022/agorapulse-ui-components-stepper.mjs +4 -4
  104. package/fesm2022/agorapulse-ui-components-stepper.mjs.map +1 -1
  105. package/fesm2022/agorapulse-ui-components-tag.mjs +9 -9
  106. package/fesm2022/agorapulse-ui-components-tag.mjs.map +1 -1
  107. package/fesm2022/agorapulse-ui-components-text-measurement.mjs +3 -3
  108. package/fesm2022/agorapulse-ui-components-textarea.mjs +3 -3
  109. package/fesm2022/agorapulse-ui-components-toggle.mjs +4 -4
  110. package/fesm2022/agorapulse-ui-components-toggle.mjs.map +1 -1
  111. package/fesm2022/agorapulse-ui-components-tooltip.mjs +15 -15
  112. package/fesm2022/agorapulse-ui-components-tooltip.mjs.map +1 -1
  113. package/fesm2022/agorapulse-ui-components.mjs +4 -4
  114. package/fesm2022/agorapulse-ui-components.mjs.map +1 -1
  115. package/form-field/index.d.ts +8 -5
  116. package/form-message/index.d.ts +16 -5
  117. package/icon-button/index.d.ts +44 -5
  118. package/index.d.ts +50 -25
  119. package/infobox/index.d.ts +29 -5
  120. package/input/index.d.ts +10 -5
  121. package/input-group/index.d.ts +14 -5
  122. package/input-search/index.d.ts +35 -5
  123. package/labels/index.d.ts +59 -5
  124. package/labels-selector/index.d.ts +46 -5
  125. package/legacy/input/index.d.ts +64 -3
  126. package/legacy/select/index.d.ts +124 -3
  127. package/legacy/textarea/index.d.ts +54 -3
  128. package/media-display-overlay/index.d.ts +46 -5
  129. package/modal/index.d.ts +58 -5
  130. package/nav-selector/index.d.ts +372 -3
  131. package/nav-selector/testing/index.d.ts +67 -3
  132. package/neo-datepicker/index.d.ts +74 -5
  133. package/notification/index.d.ts +9 -5
  134. package/package.json +14 -112
  135. package/paginator/index.d.ts +57 -5
  136. package/password-input/index.d.ts +36 -5
  137. package/phone-number-input/index.d.ts +54 -5
  138. package/popmenu/index.d.ts +212 -3
  139. package/providers/index.d.ts +11 -0
  140. package/radio/index.d.ts +80 -5
  141. package/range-slider/index.d.ts +39 -5
  142. package/select/index.d.ts +214 -5
  143. package/slide-toggle/index.d.ts +23 -5
  144. package/snackbars-thread/index.d.ts +73 -3
  145. package/social-button/index.d.ts +34 -5
  146. package/split-button/index.d.ts +47 -5
  147. package/status/index.d.ts +13 -5
  148. package/status-card/index.d.ts +17 -5
  149. package/stepper/index.d.ts +26 -5
  150. package/tag/index.d.ts +28 -5
  151. package/text-measurement/index.d.ts +11 -5
  152. package/textarea/index.d.ts +14 -5
  153. package/toggle/index.d.ts +55 -5
  154. package/tooltip/index.d.ts +62 -5
  155. package/action-dropdown/action-dropdown-trigger.directive.d.ts +0 -17
  156. package/action-dropdown/action-dropdown.component.d.ts +0 -87
  157. package/action-dropdown/providers.d.ts +0 -8
  158. package/action-dropdown/public_api.d.ts +0 -3
  159. package/add-comment/add-comment.component.d.ts +0 -21
  160. package/add-comment/public_api.d.ts +0 -1
  161. package/agorapulse-ui-components-18.1.13.tgz +0 -0
  162. package/autocomplete/autocomplete.component.d.ts +0 -40
  163. package/autocomplete/public_api.d.ts +0 -1
  164. package/avatar/avatar.component.d.ts +0 -61
  165. package/avatar/public_api.d.ts +0 -1
  166. package/badge/badge.component.d.ts +0 -7
  167. package/badge/public_api.d.ts +0 -1
  168. package/button/button.component.d.ts +0 -52
  169. package/button/public_api.d.ts +0 -1
  170. package/checkbox/checkbox.component.d.ts +0 -51
  171. package/checkbox/public_api.d.ts +0 -1
  172. package/close-button/close-button.component.d.ts +0 -11
  173. package/close-button/public_api.d.ts +0 -1
  174. package/confirm-modal/confirm-modal-texts.model.d.ts +0 -8
  175. package/confirm-modal/confirm-modal.component.d.ts +0 -20
  176. package/confirm-modal/public_api.d.ts +0 -2
  177. package/counter/counter.component.d.ts +0 -13
  178. package/counter/public_api.d.ts +0 -1
  179. package/datepicker/datepicker.component.d.ts +0 -100
  180. package/datepicker/public_api.d.ts +0 -1
  181. package/directives/autosize-textarea.directive.d.ts +0 -12
  182. package/directives/base-button.directive.d.ts +0 -13
  183. package/directives/checkbox.directive.d.ts +0 -32
  184. package/directives/default-image.directive.d.ts +0 -8
  185. package/directives/ellipsis.directive.d.ts +0 -29
  186. package/directives/equal-validator.directive.d.ts +0 -13
  187. package/directives/frozen-gif.directive.d.ts +0 -30
  188. package/directives/multi-style-text.directive.d.ts +0 -16
  189. package/directives/public_api.d.ts +0 -8
  190. package/dot-stepper/dot-stepper.component.d.ts +0 -20
  191. package/dot-stepper/public_api.d.ts +0 -1
  192. package/esm2022/action-dropdown/action-dropdown-trigger.directive.mjs +0 -54
  193. package/esm2022/action-dropdown/action-dropdown.component.mjs +0 -272
  194. package/esm2022/action-dropdown/agorapulse-ui-components-action-dropdown.mjs +0 -5
  195. package/esm2022/action-dropdown/providers.mjs +0 -12
  196. package/esm2022/action-dropdown/public_api.mjs +0 -4
  197. package/esm2022/add-comment/add-comment.component.mjs +0 -72
  198. package/esm2022/add-comment/agorapulse-ui-components-add-comment.mjs +0 -5
  199. package/esm2022/add-comment/public_api.mjs +0 -2
  200. package/esm2022/agorapulse-ui-components.mjs +0 -5
  201. package/esm2022/autocomplete/agorapulse-ui-components-autocomplete.mjs +0 -5
  202. package/esm2022/autocomplete/autocomplete.component.mjs +0 -125
  203. package/esm2022/autocomplete/public_api.mjs +0 -2
  204. package/esm2022/avatar/agorapulse-ui-components-avatar.mjs +0 -5
  205. package/esm2022/avatar/avatar.component.mjs +0 -161
  206. package/esm2022/avatar/public_api.mjs +0 -2
  207. package/esm2022/badge/agorapulse-ui-components-badge.mjs +0 -5
  208. package/esm2022/badge/badge.component.mjs +0 -17
  209. package/esm2022/badge/public_api.mjs +0 -2
  210. package/esm2022/button/agorapulse-ui-components-button.mjs +0 -5
  211. package/esm2022/button/button.component.mjs +0 -105
  212. package/esm2022/button/public_api.mjs +0 -2
  213. package/esm2022/checkbox/agorapulse-ui-components-checkbox.mjs +0 -5
  214. package/esm2022/checkbox/checkbox.component.mjs +0 -177
  215. package/esm2022/checkbox/public_api.mjs +0 -2
  216. package/esm2022/close-button/agorapulse-ui-components-close-button.mjs +0 -5
  217. package/esm2022/close-button/close-button.component.mjs +0 -20
  218. package/esm2022/close-button/public_api.mjs +0 -2
  219. package/esm2022/confirm-modal/agorapulse-ui-components-confirm-modal.mjs +0 -5
  220. package/esm2022/confirm-modal/confirm-modal-texts.model.mjs +0 -2
  221. package/esm2022/confirm-modal/confirm-modal.component.mjs +0 -61
  222. package/esm2022/confirm-modal/public_api.mjs +0 -3
  223. package/esm2022/counter/agorapulse-ui-components-counter.mjs +0 -5
  224. package/esm2022/counter/counter.component.mjs +0 -32
  225. package/esm2022/counter/public_api.mjs +0 -2
  226. package/esm2022/datepicker/agorapulse-ui-components-datepicker.mjs +0 -5
  227. package/esm2022/datepicker/datepicker.component.mjs +0 -288
  228. package/esm2022/datepicker/public_api.mjs +0 -2
  229. package/esm2022/directives/agorapulse-ui-components-directives.mjs +0 -5
  230. package/esm2022/directives/autosize-textarea.directive.mjs +0 -45
  231. package/esm2022/directives/base-button.directive.mjs +0 -47
  232. package/esm2022/directives/checkbox.directive.mjs +0 -283
  233. package/esm2022/directives/default-image.directive.mjs +0 -37
  234. package/esm2022/directives/ellipsis.directive.mjs +0 -90
  235. package/esm2022/directives/equal-validator.directive.mjs +0 -73
  236. package/esm2022/directives/frozen-gif.directive.mjs +0 -125
  237. package/esm2022/directives/multi-style-text.directive.mjs +0 -61
  238. package/esm2022/directives/public_api.mjs +0 -9
  239. package/esm2022/dot-stepper/agorapulse-ui-components-dot-stepper.mjs +0 -5
  240. package/esm2022/dot-stepper/dot-stepper.component.mjs +0 -46
  241. package/esm2022/dot-stepper/public_api.mjs +0 -2
  242. package/esm2022/form-field/agorapulse-ui-components-form-field.mjs +0 -5
  243. package/esm2022/form-field/form-field.component.mjs +0 -11
  244. package/esm2022/form-field/public_api.mjs +0 -2
  245. package/esm2022/form-message/agorapulse-ui-components-form-message.mjs +0 -5
  246. package/esm2022/form-message/form-message.component.mjs +0 -34
  247. package/esm2022/form-message/public_api.mjs +0 -2
  248. package/esm2022/icon-button/agorapulse-ui-components-icon-button.mjs +0 -5
  249. package/esm2022/icon-button/icon-button.component.mjs +0 -123
  250. package/esm2022/icon-button/public_api.mjs +0 -2
  251. package/esm2022/index.mjs +0 -49
  252. package/esm2022/infobox/agorapulse-ui-components-infobox.mjs +0 -5
  253. package/esm2022/infobox/infobox.component.mjs +0 -72
  254. package/esm2022/infobox/public_api.mjs +0 -2
  255. package/esm2022/input/agorapulse-ui-components-input.mjs +0 -5
  256. package/esm2022/input/input.directive.mjs +0 -19
  257. package/esm2022/input/public_api.mjs +0 -2
  258. package/esm2022/input-group/agorapulse-ui-components-input-group.mjs +0 -5
  259. package/esm2022/input-group/input-group.component.mjs +0 -14
  260. package/esm2022/input-group/input-prefix/input-prefix.component.mjs +0 -11
  261. package/esm2022/input-group/public_api.mjs +0 -3
  262. package/esm2022/input-search/agorapulse-ui-components-input-search.mjs +0 -5
  263. package/esm2022/input-search/input-search.component.mjs +0 -78
  264. package/esm2022/input-search/public_api.mjs +0 -2
  265. package/esm2022/labels/agorapulse-ui-components-labels.mjs +0 -5
  266. package/esm2022/labels/label-list.component.mjs +0 -108
  267. package/esm2022/labels/label.component.mjs +0 -56
  268. package/esm2022/labels/public_api.mjs +0 -3
  269. package/esm2022/labels-selector/agorapulse-ui-components-labels-selector.mjs +0 -5
  270. package/esm2022/labels-selector/labels-selector.component.mjs +0 -122
  271. package/esm2022/labels-selector/public_api.mjs +0 -2
  272. package/esm2022/legacy/input/agorapulse-ui-components-legacy-input.mjs +0 -5
  273. package/esm2022/legacy/input/input.component.mjs +0 -189
  274. package/esm2022/legacy/input/public_api.mjs +0 -2
  275. package/esm2022/legacy/select/agorapulse-ui-components-legacy-select.mjs +0 -5
  276. package/esm2022/legacy/select/public_api.mjs +0 -2
  277. package/esm2022/legacy/select/select.component.mjs +0 -451
  278. package/esm2022/legacy/textarea/agorapulse-ui-components-legacy-textarea.mjs +0 -5
  279. package/esm2022/legacy/textarea/public_api.mjs +0 -2
  280. package/esm2022/legacy/textarea/textarea.component.mjs +0 -154
  281. package/esm2022/media-display-overlay/agorapulse-ui-components-media-display-overlay.mjs +0 -5
  282. package/esm2022/media-display-overlay/media-display-overlay-dialog.component.mjs +0 -122
  283. package/esm2022/media-display-overlay/public_api.mjs +0 -2
  284. package/esm2022/modal/agorapulse-ui-components-modal.mjs +0 -5
  285. package/esm2022/modal/modal.component.mjs +0 -116
  286. package/esm2022/modal/public_api.mjs +0 -2
  287. package/esm2022/nav-selector/agorapulse-ui-components-nav-selector.mjs +0 -5
  288. package/esm2022/nav-selector/directives/nav-selector-popover-trigger.directive.mjs +0 -71
  289. package/esm2022/nav-selector/directives/tree-node-accessibility.directive.mjs +0 -30
  290. package/esm2022/nav-selector/nav-selector-category/nav-selector-category.component.mjs +0 -129
  291. package/esm2022/nav-selector/nav-selector-category/nav-selector-category.presenter.mjs +0 -28
  292. package/esm2022/nav-selector/nav-selector-group/nav-selector-group.component.mjs +0 -174
  293. package/esm2022/nav-selector/nav-selector-group/nav-selector-group.presenter.mjs +0 -30
  294. package/esm2022/nav-selector/nav-selector-leaf/nav-selector-leaf.component.mjs +0 -242
  295. package/esm2022/nav-selector/nav-selector-leaf/nav-selector-leaf.presenter.mjs +0 -36
  296. package/esm2022/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.component.mjs +0 -43
  297. package/esm2022/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.presenter.mjs +0 -20
  298. package/esm2022/nav-selector/nav-selector-leaf-details/nav-selector-leaf-details.component.mjs +0 -95
  299. package/esm2022/nav-selector/nav-selector-leaf-details/nav-selector-leaf-details.presenter.mjs +0 -31
  300. package/esm2022/nav-selector/nav-selector-popover/nav-selector-popover-item.component.mjs +0 -65
  301. package/esm2022/nav-selector/nav-selector-popover/nav-selector-popover.component.mjs +0 -132
  302. package/esm2022/nav-selector/nav-selector.component.mjs +0 -201
  303. package/esm2022/nav-selector/nav-selector.mjs +0 -9
  304. package/esm2022/nav-selector/nav-selector.state.mjs +0 -207
  305. package/esm2022/nav-selector/public_api.mjs +0 -3
  306. package/esm2022/nav-selector/testing/agorapulse-ui-components-nav-selector-testing.mjs +0 -5
  307. package/esm2022/nav-selector/testing/nav-selector-entry.mock.mjs +0 -91
  308. package/esm2022/nav-selector/testing/public_api.mjs +0 -2
  309. package/esm2022/nav-selector/utils/leaf.utils.mjs +0 -44
  310. package/esm2022/nav-selector/utils/nav-selector.accessibility.mjs +0 -179
  311. package/esm2022/nav-selector/utils/nav-selector.builder.mjs +0 -271
  312. package/esm2022/nav-selector/utils/nav-selector.filter.mjs +0 -141
  313. package/esm2022/nav-selector/utils/nav-selector.folding.mjs +0 -284
  314. package/esm2022/nav-selector/utils/nav-selector.merger.mjs +0 -76
  315. package/esm2022/nav-selector/utils/nav-selector.minifying.mjs +0 -59
  316. package/esm2022/nav-selector/utils/nav-selector.multi-select.mjs +0 -208
  317. package/esm2022/nav-selector/utils/nav-selector.single-select.mjs +0 -113
  318. package/esm2022/nav-selector/utils/nav-selector.view-more.mjs +0 -98
  319. package/esm2022/neo-datepicker/agorapulse-ui-components-neo-datepicker.mjs +0 -5
  320. package/esm2022/neo-datepicker/day-detail.model.mjs +0 -2
  321. package/esm2022/neo-datepicker/day-disabled.pipe.mjs +0 -21
  322. package/esm2022/neo-datepicker/neo-datepicker.component.mjs +0 -241
  323. package/esm2022/neo-datepicker/public_api.mjs +0 -4
  324. package/esm2022/notification/agorapulse-ui-components-notification.mjs +0 -5
  325. package/esm2022/notification/notification.component.mjs +0 -15
  326. package/esm2022/notification/public_api.mjs +0 -2
  327. package/esm2022/paginator/agorapulse-ui-components-paginator.mjs +0 -5
  328. package/esm2022/paginator/paginator-button/paginator-button.component.mjs +0 -51
  329. package/esm2022/paginator/paginator.component.mjs +0 -114
  330. package/esm2022/paginator/public_api.mjs +0 -3
  331. package/esm2022/password-input/agorapulse-ui-components-password-input.mjs +0 -5
  332. package/esm2022/password-input/password-input.component.mjs +0 -78
  333. package/esm2022/password-input/public_api.mjs +0 -2
  334. package/esm2022/phone-number-input/agorapulse-ui-components-phone-number-input.mjs +0 -5
  335. package/esm2022/phone-number-input/phone-number-input.component.mjs +0 -195
  336. package/esm2022/phone-number-input/public_api.mjs +0 -2
  337. package/esm2022/popmenu/agorapulse-ui-components-popmenu.mjs +0 -5
  338. package/esm2022/popmenu/options.mjs +0 -17
  339. package/esm2022/popmenu/popmenu-options.interface.mjs +0 -2
  340. package/esm2022/popmenu/popmenu-options.service.mjs +0 -7
  341. package/esm2022/popmenu/popmenu.component.mjs +0 -383
  342. package/esm2022/popmenu/popmenu.directive.mjs +0 -296
  343. package/esm2022/popmenu/popmenu.module.mjs +0 -29
  344. package/esm2022/popmenu/public_api.mjs +0 -5
  345. package/esm2022/radio/agorapulse-ui-components-radio.mjs +0 -5
  346. package/esm2022/radio/public_api.mjs +0 -2
  347. package/esm2022/radio/radio.component.mjs +0 -319
  348. package/esm2022/range-slider/agorapulse-ui-components-range-slider.mjs +0 -5
  349. package/esm2022/range-slider/public_api.mjs +0 -2
  350. package/esm2022/range-slider/range-slider.component.mjs +0 -154
  351. package/esm2022/select/agorapulse-ui-components-select.mjs +0 -5
  352. package/esm2022/select/ap-select.module.mjs +0 -78
  353. package/esm2022/select/dropdown-group-item/dropdown-group-item.component.mjs +0 -51
  354. package/esm2022/select/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.mjs +0 -75
  355. package/esm2022/select/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.mjs +0 -79
  356. package/esm2022/select/dropdown-item-single-one-line/dropdown-item-single-one-line.component.mjs +0 -59
  357. package/esm2022/select/dropdown-item-single-two-lines/dropdown-item-single-two-lines.component.mjs +0 -60
  358. package/esm2022/select/dropdown-search-form/dropdown-search-form.component.mjs +0 -98
  359. package/esm2022/select/public_api.mjs +0 -13
  360. package/esm2022/select/select-base.directive.mjs +0 -69
  361. package/esm2022/select/select-label-multiple/select-label-multiple.component.mjs +0 -95
  362. package/esm2022/select/select-label-single/select-label-single.component.mjs +0 -33
  363. package/esm2022/select/select-multiple.directive.mjs +0 -35
  364. package/esm2022/select/select-single.directive.mjs +0 -34
  365. package/esm2022/slide-toggle/agorapulse-ui-components-slide-toggle.mjs +0 -5
  366. package/esm2022/slide-toggle/public_api.mjs +0 -2
  367. package/esm2022/slide-toggle/slide-toggle.component.mjs +0 -66
  368. package/esm2022/snackbars-thread/agorapulse-ui-components-snackbars-thread.mjs +0 -5
  369. package/esm2022/snackbars-thread/component/snackbars-thread.component.mjs +0 -93
  370. package/esm2022/snackbars-thread/model/snackbars-thread.model.mjs +0 -44
  371. package/esm2022/snackbars-thread/public_api.mjs +0 -4
  372. package/esm2022/snackbars-thread/service/snackbars-thread.service.mjs +0 -47
  373. package/esm2022/snackbars-thread/utils/const/snackbars-thread.const.mjs +0 -13
  374. package/esm2022/social-button/agorapulse-ui-components-social-button.mjs +0 -5
  375. package/esm2022/social-button/public_api.mjs +0 -2
  376. package/esm2022/social-button/social-button.component.mjs +0 -164
  377. package/esm2022/split-button/agorapulse-ui-components-split-button.mjs +0 -5
  378. package/esm2022/split-button/public_api.mjs +0 -2
  379. package/esm2022/split-button/split-button.component.mjs +0 -122
  380. package/esm2022/src/lib/agorapulse-ui-components.module.mjs +0 -200
  381. package/esm2022/status/agorapulse-ui-components-status.mjs +0 -5
  382. package/esm2022/status/public_api.mjs +0 -2
  383. package/esm2022/status/status.component.mjs +0 -21
  384. package/esm2022/status-card/agorapulse-ui-components-status-card.mjs +0 -5
  385. package/esm2022/status-card/public_api.mjs +0 -2
  386. package/esm2022/status-card/status-card.component.mjs +0 -23
  387. package/esm2022/stepper/agorapulse-ui-components-stepper.mjs +0 -5
  388. package/esm2022/stepper/public_api.mjs +0 -3
  389. package/esm2022/stepper/step.model.mjs +0 -2
  390. package/esm2022/stepper/stepper.component.mjs +0 -38
  391. package/esm2022/tag/agorapulse-ui-components-tag.mjs +0 -5
  392. package/esm2022/tag/public_api.mjs +0 -2
  393. package/esm2022/tag/tag.component.mjs +0 -35
  394. package/esm2022/text-measurement/agorapulse-ui-components-text-measurement.mjs +0 -5
  395. package/esm2022/text-measurement/public_api.mjs +0 -2
  396. package/esm2022/text-measurement/text-measurement.service.mjs +0 -29
  397. package/esm2022/textarea/agorapulse-ui-components-textarea.mjs +0 -5
  398. package/esm2022/textarea/public_api.mjs +0 -2
  399. package/esm2022/textarea/textarea.directive.mjs +0 -37
  400. package/esm2022/toggle/agorapulse-ui-components-toggle.mjs +0 -5
  401. package/esm2022/toggle/public_api.mjs +0 -2
  402. package/esm2022/toggle/toggle.component.mjs +0 -208
  403. package/esm2022/tooltip/agorapulse-ui-components-tooltip.mjs +0 -5
  404. package/esm2022/tooltip/public_api.mjs +0 -2
  405. package/esm2022/tooltip/tooltip.directive.mjs +0 -401
  406. package/esm2022/tooltip/tooltip.service.mjs +0 -29
  407. package/form-field/form-field.component.d.ts +0 -5
  408. package/form-field/public_api.d.ts +0 -1
  409. package/form-message/form-message.component.d.ts +0 -12
  410. package/form-message/public_api.d.ts +0 -1
  411. package/icon-button/icon-button.component.d.ts +0 -40
  412. package/icon-button/public_api.d.ts +0 -1
  413. package/infobox/infobox.component.d.ts +0 -26
  414. package/infobox/public_api.d.ts +0 -1
  415. package/input/input.directive.d.ts +0 -7
  416. package/input/public_api.d.ts +0 -1
  417. package/input-group/input-group.component.d.ts +0 -6
  418. package/input-group/input-prefix/input-prefix.component.d.ts +0 -5
  419. package/input-group/public_api.d.ts +0 -2
  420. package/input-search/input-search.component.d.ts +0 -32
  421. package/input-search/public_api.d.ts +0 -1
  422. package/labels/label-list.component.d.ts +0 -34
  423. package/labels/label.component.d.ts +0 -23
  424. package/labels/public_api.d.ts +0 -2
  425. package/labels-selector/labels-selector.component.d.ts +0 -42
  426. package/labels-selector/public_api.d.ts +0 -1
  427. package/legacy/input/input.component.d.ts +0 -64
  428. package/legacy/input/public_api.d.ts +0 -1
  429. package/legacy/select/public_api.d.ts +0 -1
  430. package/legacy/select/select.component.d.ts +0 -122
  431. package/legacy/textarea/public_api.d.ts +0 -1
  432. package/legacy/textarea/textarea.component.d.ts +0 -53
  433. package/media-display-overlay/media-display-overlay-dialog.component.d.ts +0 -42
  434. package/media-display-overlay/public_api.d.ts +0 -1
  435. package/modal/modal.component.d.ts +0 -54
  436. package/modal/public_api.d.ts +0 -1
  437. package/nav-selector/directives/nav-selector-popover-trigger.directive.d.ts +0 -25
  438. package/nav-selector/directives/tree-node-accessibility.directive.d.ts +0 -9
  439. package/nav-selector/nav-selector-category/nav-selector-category.component.d.ts +0 -28
  440. package/nav-selector/nav-selector-category/nav-selector-category.presenter.d.ts +0 -13
  441. package/nav-selector/nav-selector-group/nav-selector-group.component.d.ts +0 -37
  442. package/nav-selector/nav-selector-group/nav-selector-group.presenter.d.ts +0 -16
  443. package/nav-selector/nav-selector-leaf/nav-selector-leaf.component.d.ts +0 -48
  444. package/nav-selector/nav-selector-leaf/nav-selector-leaf.presenter.d.ts +0 -18
  445. package/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.component.d.ts +0 -13
  446. package/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.presenter.d.ts +0 -10
  447. package/nav-selector/nav-selector-leaf-details/nav-selector-leaf-details.component.d.ts +0 -24
  448. package/nav-selector/nav-selector-leaf-details/nav-selector-leaf-details.presenter.d.ts +0 -14
  449. package/nav-selector/nav-selector-popover/nav-selector-popover-item.component.d.ts +0 -14
  450. package/nav-selector/nav-selector-popover/nav-selector-popover.component.d.ts +0 -40
  451. package/nav-selector/nav-selector.component.d.ts +0 -40
  452. package/nav-selector/nav-selector.d.ts +0 -270
  453. package/nav-selector/nav-selector.state.d.ts +0 -47
  454. package/nav-selector/public_api.d.ts +0 -3
  455. package/nav-selector/testing/nav-selector-entry.mock.d.ts +0 -67
  456. package/nav-selector/testing/public_api.d.ts +0 -1
  457. package/nav-selector/utils/leaf.utils.d.ts +0 -20
  458. package/nav-selector/utils/nav-selector.accessibility.d.ts +0 -52
  459. package/nav-selector/utils/nav-selector.builder.d.ts +0 -32
  460. package/nav-selector/utils/nav-selector.filter.d.ts +0 -32
  461. package/nav-selector/utils/nav-selector.folding.d.ts +0 -73
  462. package/nav-selector/utils/nav-selector.merger.d.ts +0 -23
  463. package/nav-selector/utils/nav-selector.minifying.d.ts +0 -29
  464. package/nav-selector/utils/nav-selector.multi-select.d.ts +0 -54
  465. package/nav-selector/utils/nav-selector.single-select.d.ts +0 -17
  466. package/nav-selector/utils/nav-selector.view-more.d.ts +0 -30
  467. package/neo-datepicker/day-detail.model.d.ts +0 -9
  468. package/neo-datepicker/day-disabled.pipe.d.ts +0 -8
  469. package/neo-datepicker/neo-datepicker.component.d.ts +0 -61
  470. package/neo-datepicker/public_api.d.ts +0 -3
  471. package/notification/notification.component.d.ts +0 -6
  472. package/notification/public_api.d.ts +0 -1
  473. package/paginator/paginator-button/paginator-button.component.d.ts +0 -17
  474. package/paginator/paginator.component.d.ts +0 -38
  475. package/paginator/public_api.d.ts +0 -2
  476. package/password-input/password-input.component.d.ts +0 -33
  477. package/password-input/public_api.d.ts +0 -1
  478. package/phone-number-input/phone-number-input.component.d.ts +0 -50
  479. package/phone-number-input/public_api.d.ts +0 -1
  480. package/popmenu/options.d.ts +0 -16
  481. package/popmenu/popmenu-options.interface.d.ts +0 -48
  482. package/popmenu/popmenu-options.service.d.ts +0 -7
  483. package/popmenu/popmenu.component.d.ts +0 -66
  484. package/popmenu/popmenu.directive.d.ts +0 -90
  485. package/popmenu/popmenu.module.d.ts +0 -11
  486. package/popmenu/public_api.d.ts +0 -4
  487. package/radio/public_api.d.ts +0 -1
  488. package/radio/radio.component.d.ts +0 -77
  489. package/range-slider/public_api.d.ts +0 -1
  490. package/range-slider/range-slider.component.d.ts +0 -35
  491. package/select/ap-select.module.d.ts +0 -17
  492. package/select/dropdown-group-item/dropdown-group-item.component.d.ts +0 -16
  493. package/select/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.d.ts +0 -25
  494. package/select/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.d.ts +0 -26
  495. package/select/dropdown-item-single-one-line/dropdown-item-single-one-line.component.d.ts +0 -20
  496. package/select/dropdown-item-single-two-lines/dropdown-item-single-two-lines.component.d.ts +0 -20
  497. package/select/dropdown-search-form/dropdown-search-form.component.d.ts +0 -32
  498. package/select/public_api.d.ts +0 -12
  499. package/select/select-base.directive.d.ts +0 -18
  500. package/select/select-label-multiple/select-label-multiple.component.d.ts +0 -27
  501. package/select/select-label-single/select-label-single.component.d.ts +0 -12
  502. package/select/select-multiple.directive.d.ts +0 -10
  503. package/select/select-single.directive.d.ts +0 -10
  504. package/slide-toggle/public_api.d.ts +0 -1
  505. package/slide-toggle/slide-toggle.component.d.ts +0 -20
  506. package/snackbars-thread/component/snackbars-thread.component.d.ts +0 -24
  507. package/snackbars-thread/model/snackbars-thread.model.d.ts +0 -36
  508. package/snackbars-thread/public_api.d.ts +0 -3
  509. package/snackbars-thread/service/snackbars-thread.service.d.ts +0 -15
  510. package/snackbars-thread/utils/const/snackbars-thread.const.d.ts +0 -10
  511. package/social-button/public_api.d.ts +0 -1
  512. package/social-button/social-button.component.d.ts +0 -32
  513. package/split-button/public_api.d.ts +0 -1
  514. package/split-button/split-button.component.d.ts +0 -45
  515. package/src/lib/agorapulse-ui-components.module.d.ts +0 -29
  516. package/status/public_api.d.ts +0 -1
  517. package/status/status.component.d.ts +0 -9
  518. package/status-card/public_api.d.ts +0 -1
  519. package/status-card/status-card.component.d.ts +0 -13
  520. package/stepper/public_api.d.ts +0 -2
  521. package/stepper/step.model.d.ts +0 -6
  522. package/stepper/stepper.component.d.ts +0 -16
  523. package/tag/public_api.d.ts +0 -1
  524. package/tag/tag.component.d.ts +0 -24
  525. package/text-measurement/public_api.d.ts +0 -1
  526. package/text-measurement/text-measurement.service.d.ts +0 -8
  527. package/textarea/public_api.d.ts +0 -1
  528. package/textarea/textarea.directive.d.ts +0 -11
  529. package/toggle/public_api.d.ts +0 -1
  530. package/toggle/toggle.component.d.ts +0 -52
  531. package/tooltip/public_api.d.ts +0 -1
  532. package/tooltip/tooltip.directive.d.ts +0 -59
  533. package/tooltip/tooltip.service.d.ts +0 -11
@@ -1,283 +0,0 @@
1
- import { booleanAttribute, Directive, effect, ElementRef, inject, Input, Renderer2, signal } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class CheckboxDirective {
4
- elementRef = inject((ElementRef));
5
- renderer = inject(Renderer2);
6
- // State signals
7
- _checked = signal(false);
8
- _indeterminate = signal(false);
9
- // Input signal accessors that work with host bindings
10
- checked = this._checked.asReadonly();
11
- indeterminate = this._indeterminate.asReadonly();
12
- // Input setters with proper aliases for template binding
13
- // Couldn't be migrated to yet
14
- set checkedInput(checked) {
15
- this._checked.set(checked);
16
- this.updateNativeElementSync();
17
- }
18
- set indeterminateInput(indeterminate) {
19
- if (indeterminate) {
20
- this._checked.set(false);
21
- }
22
- this._indeterminate.set(indeterminate);
23
- this.updateNativeElementSync();
24
- }
25
- updateNativeElementSync() {
26
- const input = this.elementRef.nativeElement;
27
- if (input) {
28
- input.checked = this.checked();
29
- input.indeterminate = this.indeterminate();
30
- }
31
- }
32
- // Private properties
33
- listeners = [];
34
- styleElement;
35
- checkmarkSvg;
36
- indeterminateBar;
37
- constructor() {
38
- effect(() => {
39
- if (this.checkmarkSvg && this.indeterminateBar) {
40
- this.updateCheckmarkVisibility();
41
- }
42
- });
43
- }
44
- // Custom SVG content
45
- checkSvgContent = `
46
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="10" height="10" fill="white">
47
- <path fill-rule="evenodd" clip-rule="evenodd" d="M14.238 3.337a.92.92 0 0 1 .025 1.301l-7.7 8a.92.92 0 0 1-1.326 0l-3.5-3.636a.92.92 0 1 1 1.326-1.276L5.9 10.674l7.037-7.312a.92.92 0 0 1 1.301-.025Z" />
48
- </svg>
49
- `;
50
- ngOnInit() {
51
- this.createCheckboxStructure();
52
- this.setupEventListeners();
53
- }
54
- ngOnDestroy() {
55
- this.listeners.forEach(unlisten => unlisten());
56
- if (this.styleElement && this.styleElement.parentNode) {
57
- this.styleElement.parentNode.removeChild(this.styleElement);
58
- }
59
- if (this.checkmarkSvg && this.checkmarkSvg.parentNode) {
60
- this.checkmarkSvg.parentNode.removeChild(this.checkmarkSvg);
61
- }
62
- if (this.indeterminateBar && this.indeterminateBar.parentNode) {
63
- this.indeterminateBar.parentNode.removeChild(this.indeterminateBar);
64
- }
65
- }
66
- createCheckboxStructure() {
67
- const input = this.elementRef.nativeElement;
68
- const parent = input.parentElement;
69
- // Make input's parent use inline-flex for alignment and position relative
70
- if (parent) {
71
- this.renderer.setStyle(parent, 'display', 'inline-flex');
72
- this.renderer.setStyle(parent, 'align-items', 'center');
73
- this.renderer.setStyle(parent, 'gap', 'var(--ref-spacing-xxs)');
74
- this.renderer.setStyle(parent, 'position', 'relative');
75
- }
76
- this.renderer.addClass(input, 'ap-checkbox-styled');
77
- this.createCheckmarkSvg();
78
- this.createIndeterminateBar();
79
- this.applyCheckboxStyles();
80
- this.updateCheckmarkVisibility();
81
- }
82
- createOverlayElement(element) {
83
- const parent = this.elementRef.nativeElement.parentElement;
84
- // Apply common positioning styles
85
- this.renderer.setStyle(element, 'position', 'absolute');
86
- this.renderer.setStyle(element, 'top', '50%');
87
- this.renderer.setStyle(element, 'left', '8px'); // Center over 16px checkbox
88
- this.renderer.setStyle(element, 'transform', 'translate(-50%, -50%)');
89
- this.renderer.setStyle(element, 'pointer-events', 'none');
90
- this.renderer.setStyle(element, 'opacity', '0');
91
- this.renderer.setStyle(element, 'z-index', '1');
92
- // Append to parent
93
- this.renderer.appendChild(parent, element);
94
- }
95
- createCheckmarkSvg() {
96
- // Create SVG element from string
97
- const tempDiv = this.renderer.createElement('div');
98
- this.renderer.setProperty(tempDiv, 'innerHTML', this.checkSvgContent);
99
- this.checkmarkSvg = tempDiv.firstElementChild;
100
- this.createOverlayElement(this.checkmarkSvg);
101
- }
102
- createIndeterminateBar() {
103
- // Create the indeterminate bar element
104
- this.indeterminateBar = this.renderer.createElement('span');
105
- this.renderer.setStyle(this.indeterminateBar, 'height', '1.5px');
106
- this.renderer.setStyle(this.indeterminateBar, 'background', 'var(--ref-color-white)');
107
- this.renderer.setStyle(this.indeterminateBar, 'width', '8px');
108
- this.createOverlayElement(this.indeterminateBar);
109
- }
110
- updateCheckmarkVisibility() {
111
- if (this.checkmarkSvg) {
112
- const opacity = this.checked() && !this.indeterminate() ? '1' : '0';
113
- this.renderer.setStyle(this.checkmarkSvg, 'opacity', opacity);
114
- }
115
- if (this.indeterminateBar) {
116
- const opacity = this.indeterminate() && !this.checked() ? '1' : '0';
117
- this.renderer.setStyle(this.indeterminateBar, 'opacity', opacity);
118
- }
119
- }
120
- setupEventListeners() {
121
- const input = this.elementRef.nativeElement;
122
- // Input change listener (native checkbox change)
123
- const changeListener = this.renderer.listen(input, 'change', () => {
124
- this.onValueChange();
125
- });
126
- this.listeners.push(changeListener);
127
- // Listen for label clicks to ensure focus is maintained
128
- const parent = input.parentElement;
129
- if (parent) {
130
- const labelClickListener = this.renderer.listen(parent, 'click', (event) => {
131
- const target = event.target;
132
- // If clicking on a label that targets our input, ensure focus
133
- if (target.tagName === 'LABEL' && target.getAttribute('for') === input.id) {
134
- // Small delay to ensure the label click is processed first
135
- setTimeout(() => {
136
- input.focus();
137
- }, 0);
138
- }
139
- });
140
- this.listeners.push(labelClickListener);
141
- }
142
- }
143
- applyCheckboxStyles() {
144
- const styles = `
145
- /* Minimal checkbox styling */
146
- input[type="checkbox"].ap-checkbox-styled {
147
- appearance: none !important;
148
- -webkit-appearance: none !important;
149
- -moz-appearance: none !important;
150
-
151
- display: inline-block !important;
152
- width: 16px !important;
153
- height: 16px !important;
154
- min-width: 16px !important;
155
- min-height: 16px !important;
156
- margin: 0 !important;
157
- padding: 0 !important;
158
- border: 1px solid var(--ref-color-grey-60);
159
- border-radius: var(--sys-border-radius-sm);
160
- background: var(--ref-color-white);
161
- box-sizing: border-box;
162
- cursor: pointer;
163
- vertical-align: middle;
164
- }
165
-
166
- /* Hover state */
167
- input[type="checkbox"].ap-checkbox-styled:hover {
168
- border-color: var(--ref-color-grey-80);
169
- }
170
-
171
- /* Active/pressed state */
172
- input[type="checkbox"].ap-checkbox-styled:active {
173
- border-color: var(--ref-color-grey-100);
174
- }
175
-
176
- /* Checked state */
177
- input[type="checkbox"].ap-checkbox-styled:checked {
178
- background: var(--ref-color-electric-blue-100);
179
- border-color: var(--ref-color-electric-blue-100);
180
- }
181
-
182
- /* Checked hover state */
183
- input[type="checkbox"].ap-checkbox-styled:checked:hover {
184
- background: var(--ref-color-electric-blue-80);
185
- border-color: var(--ref-color-electric-blue-100);
186
- }
187
-
188
- /* Checked active/pressed state */
189
- input[type="checkbox"].ap-checkbox-styled:checked:active {
190
- background: var(--ref-color-electric-blue-60);
191
- border-color: var(--ref-color-electric-blue-100);
192
- }
193
-
194
- /* Indeterminate state */
195
- input[type="checkbox"].ap-checkbox-styled:indeterminate {
196
- background: var(--ref-color-electric-blue-100);
197
- border-color: var(--ref-color-electric-blue-100);
198
- }
199
-
200
- /* Disabled state */
201
- input[type="checkbox"].ap-checkbox-styled:disabled {
202
- border-color: var(--ref-color-grey-20);
203
- background: var(--ref-color-grey-10);
204
- cursor: default;
205
- }
206
-
207
- input[type="checkbox"].ap-checkbox-styled:disabled:checked {
208
- background: var(--ref-color-grey-20);
209
- }
210
-
211
- /* Focus state */
212
- @media (hover: hover) {
213
- input[type="checkbox"].ap-checkbox-styled:focus:not(.disabled) {
214
- outline: 3px solid var(--ref-color-electric-blue-100) !important;
215
- outline-offset: 1px !important;
216
- }
217
- }
218
-
219
- /* Label styling */
220
- input[type="checkbox"].ap-checkbox-styled + label {
221
- display: flex;
222
- align-items: center;
223
- font-family: var(--comp-forms-label-font-family);
224
- font-size: var(--comp-forms-label-size);
225
- font-weight: var(--comp-forms-label-font-weight);
226
- line-height: var(--comp-forms-label-line-height);
227
- color: var(--comp-forms-label-text-color);
228
- cursor: pointer;
229
- }
230
-
231
- /* Empty label styling */
232
- input[type="checkbox"].ap-checkbox-styled + label:empty {
233
- display: none;
234
- }
235
-
236
- /* Disabled label styling */
237
- input[type="checkbox"].ap-checkbox-styled:disabled + label {
238
- color: var(--ref-color-grey-60);
239
- cursor: default;
240
- }
241
- `;
242
- // Create and append style element
243
- this.styleElement = this.renderer.createElement('style');
244
- this.renderer.appendChild(this.styleElement, this.renderer.createText(styles));
245
- this.renderer.appendChild(document.head, this.styleElement);
246
- }
247
- onValueChange() {
248
- if (!this.elementRef.nativeElement.disabled) {
249
- const input = this.elementRef.nativeElement;
250
- if (this.indeterminate()) {
251
- // When indeterminate, clicking should go to checked state
252
- this._checked.set(true);
253
- this._indeterminate.set(false);
254
- input.checked = true;
255
- input.indeterminate = false;
256
- }
257
- else {
258
- // Normal toggle behavior
259
- this._checked.set(input.checked);
260
- }
261
- }
262
- }
263
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CheckboxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
264
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.9", type: CheckboxDirective, isStandalone: true, selector: "input[type=\"checkbox\"][apCheckbox]", inputs: { checkedInput: ["checked", "checkedInput"], indeterminateInput: ["indeterminate", "indeterminateInput", booleanAttribute] }, providers: [], ngImport: i0 });
265
- }
266
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CheckboxDirective, decorators: [{
267
- type: Directive,
268
- args: [{
269
- selector: 'input[type="checkbox"][apCheckbox]',
270
- standalone: true,
271
- providers: [],
272
- }]
273
- }], ctorParameters: () => [], propDecorators: { checkedInput: [{
274
- type: Input,
275
- args: ['checked']
276
- }], indeterminateInput: [{
277
- type: Input,
278
- args: [{
279
- transform: booleanAttribute,
280
- alias: 'indeterminate',
281
- }]
282
- }] } });
283
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL2RpcmVjdGl2ZXMvc3JjL2NoZWNrYm94LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxNQUFNLEVBQ04sVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBR0wsU0FBUyxFQUNULE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQzs7QUFPdkIsTUFBTSxPQUFPLGlCQUFpQjtJQUNULFVBQVUsR0FBRyxNQUFNLENBQUMsQ0FBQSxVQUE0QixDQUFBLENBQUMsQ0FBQztJQUNsRCxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRTlDLGdCQUFnQjtJQUNSLFFBQVEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsY0FBYyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUV2QyxzREFBc0Q7SUFDdEQsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDckMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFakQseURBQXlEO0lBQ3pELDhCQUE4QjtJQUM5QixJQUNJLFlBQVksQ0FBQyxPQUFnQjtRQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFJSSxrQkFBa0IsQ0FBQyxhQUFzQjtRQUN6QyxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FB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QUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JDLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQzt1R0F0U1EsaUJBQWlCOzJGQUFqQixpQkFBaUIseUxBcUJYLGdCQUFnQixnQkF2QnBCLEVBQUU7OzJGQUVKLGlCQUFpQjtrQkFMN0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0NBQW9DO29CQUM5QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFLEVBQUU7aUJBQ2hCO3dEQWdCTyxZQUFZO3NCQURmLEtBQUs7dUJBQUMsU0FBUztnQkFVWixrQkFBa0I7c0JBSnJCLEtBQUs7dUJBQUM7d0JBQ0gsU0FBUyxFQUFFLGdCQUFnQjt3QkFDM0IsS0FBSyxFQUFFLGVBQWU7cUJBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIERpcmVjdGl2ZSxcbiAgICBlZmZlY3QsXG4gICAgRWxlbWVudFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBSZW5kZXJlcjIsXG4gICAgc2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R5cGU9XCJjaGVja2JveFwiXVthcENoZWNrYm94XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVja2JveERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50Pik7XG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuXG4gICAgLy8gU3RhdGUgc2lnbmFsc1xuICAgIHByaXZhdGUgX2NoZWNrZWQgPSBzaWduYWwoZmFsc2UpO1xuICAgIHByaXZhdGUgX2luZGV0ZXJtaW5hdGUgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgLy8gSW5wdXQgc2lnbmFsIGFjY2Vzc29ycyB0aGF0IHdvcmsgd2l0aCBob3N0IGJpbmRpbmdzXG4gICAgY2hlY2tlZCA9IHRoaXMuX2NoZWNrZWQuYXNSZWFkb25seSgpO1xuICAgIGluZGV0ZXJtaW5hdGUgPSB0aGlzLl9pbmRldGVybWluYXRlLmFzUmVhZG9ubHkoKTtcblxuICAgIC8vIElucHV0IHNldHRlcnMgd2l0aCBwcm9wZXIgYWxpYXNlcyBmb3IgdGVtcGxhdGUgYmluZGluZ1xuICAgIC8vIENvdWxkbid0IGJlIG1pZ3JhdGVkIHRvIHlldFxuICAgIEBJbnB1dCgnY2hlY2tlZCcpXG4gICAgc2V0IGNoZWNrZWRJbnB1dChjaGVja2VkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2NoZWNrZWQuc2V0KGNoZWNrZWQpO1xuICAgICAgICB0aGlzLnVwZGF0ZU5hdGl2ZUVsZW1lbnRTeW5jKCk7XG4gICAgfVxuXG4gICAgQElucHV0KHtcbiAgICAgICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICAgICAgICBhbGlhczogJ2luZGV0ZXJtaW5hdGUnLFxuICAgIH0pXG4gICAgc2V0IGluZGV0ZXJtaW5hdGVJbnB1dChpbmRldGVybWluYXRlOiBib29sZWFuKSB7XG4gICAgICAgIGlmIChpbmRldGVybWluYXRlKSB7XG4gICAgICAgICAgICB0aGlzLl9jaGVja2VkLnNldChmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faW5kZXRlcm1pbmF0ZS5zZXQoaW5kZXRlcm1pbmF0ZSk7XG4gICAgICAgIHRoaXMudXBkYXRlTmF0aXZlRWxlbWVudFN5bmMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZU5hdGl2ZUVsZW1lbnRTeW5jKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbnB1dCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBpZiAoaW5wdXQpIHtcbiAgICAgICAgICAgIGlucHV0LmNoZWNrZWQgPSB0aGlzLmNoZWNrZWQoKTtcbiAgICAgICAgICAgIGlucHV0LmluZGV0ZXJtaW5hdGUgPSB0aGlzLmluZGV0ZXJtaW5hdGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByaXZhdGUgcHJvcGVydGllc1xuICAgIHByaXZhdGUgbGlzdGVuZXJzOiAoKCkgPT4gdm9pZClbXSA9IFtdO1xuICAgIHByaXZhdGUgc3R5bGVFbGVtZW50ITogSFRNTFN0eWxlRWxlbWVudDtcbiAgICBwcml2YXRlIGNoZWNrbWFya1N2ZyE6IFNWR0VsZW1lbnQ7XG4gICAgcHJpdmF0ZSBpbmRldGVybWluYXRlQmFyITogSFRNTEVsZW1lbnQ7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNoZWNrbWFya1N2ZyAmJiB0aGlzLmluZGV0ZXJtaW5hdGVCYXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNoZWNrbWFya1Zpc2liaWxpdHkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gQ3VzdG9tIFNWRyBjb250ZW50XG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGVja1N2Z0NvbnRlbnQgPSBgXG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTBcIiBmaWxsPVwid2hpdGVcIj5cbiAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xNC4yMzggMy4zMzdhLjkyLjkyIDAgMCAxIC4wMjUgMS4zMDFsLTcuNyA4YS45Mi45MiAwIDAgMS0xLjMyNiAwbC0zLjUtMy42MzZhLjkyLjkyIDAgMSAxIDEuMzI2LTEuMjc2TDUuOSAxMC42NzRsNy4wMzctNy4zMTJhLjkyLjkyIDAgMCAxIDEuMzAxLS4wMjVaXCIgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgYDtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmNyZWF0ZUNoZWNrYm94U3RydWN0dXJlKCk7XG4gICAgICAgIHRoaXMuc2V0dXBFdmVudExpc3RlbmVycygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxpc3RlbmVycy5mb3JFYWNoKHVubGlzdGVuID0+IHVubGlzdGVuKCkpO1xuICAgICAgICBpZiAodGhpcy5zdHlsZUVsZW1lbnQgJiYgdGhpcy5zdHlsZUVsZW1lbnQucGFyZW50Tm9kZSkge1xuICAgICAgICAgICAgdGhpcy5zdHlsZUVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnN0eWxlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY2hlY2ttYXJrU3ZnICYmIHRoaXMuY2hlY2ttYXJrU3ZnLnBhcmVudE5vZGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2ttYXJrU3ZnLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5jaGVja21hcmtTdmcpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmluZGV0ZXJtaW5hdGVCYXIgJiYgdGhpcy5pbmRldGVybWluYXRlQmFyLnBhcmVudE5vZGUpIHtcbiAgICAgICAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZUJhci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuaW5kZXRlcm1pbmF0ZUJhcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUNoZWNrYm94U3RydWN0dXJlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbnB1dCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBwYXJlbnQgPSBpbnB1dC5wYXJlbnRFbGVtZW50O1xuXG4gICAgICAgIC8vIE1ha2UgaW5wdXQncyBwYXJlbnQgdXNlIGlubGluZS1mbGV4IGZvciBhbGlnbm1lbnQgYW5kIHBvc2l0aW9uIHJlbGF0aXZlXG4gICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUocGFyZW50LCAnZGlzcGxheScsICdpbmxpbmUtZmxleCcpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShwYXJlbnQsICdhbGlnbi1pdGVtcycsICdjZW50ZXInKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUocGFyZW50LCAnZ2FwJywgJ3ZhcigtLXJlZi1zcGFjaW5nLXh4cyknKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUocGFyZW50LCAncG9zaXRpb24nLCAncmVsYXRpdmUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoaW5wdXQsICdhcC1jaGVja2JveC1zdHlsZWQnKTtcblxuICAgICAgICB0aGlzLmNyZWF0ZUNoZWNrbWFya1N2ZygpO1xuICAgICAgICB0aGlzLmNyZWF0ZUluZGV0ZXJtaW5hdGVCYXIoKTtcblxuICAgICAgICB0aGlzLmFwcGx5Q2hlY2tib3hTdHlsZXMoKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUNoZWNrbWFya1Zpc2liaWxpdHkoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZU92ZXJsYXlFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O1xuXG4gICAgICAgIC8vIEFwcGx5IGNvbW1vbiBwb3NpdGlvbmluZyBzdHlsZXNcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCAndG9wJywgJzUwJScpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGVsZW1lbnQsICdsZWZ0JywgJzhweCcpOyAvLyBDZW50ZXIgb3ZlciAxNnB4IGNoZWNrYm94XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudCwgJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUoLTUwJSwgLTUwJSknKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCAncG9pbnRlci1ldmVudHMnLCAnbm9uZScpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGVsZW1lbnQsICdvcGFjaXR5JywgJzAnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCAnei1pbmRleCcsICcxJyk7XG5cbiAgICAgICAgLy8gQXBwZW5kIHRvIHBhcmVudFxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHBhcmVudCwgZWxlbWVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVDaGVja21hcmtTdmcoKTogdm9pZCB7XG4gICAgICAgIC8vIENyZWF0ZSBTVkcgZWxlbWVudCBmcm9tIHN0cmluZ1xuICAgICAgICBjb25zdCB0ZW1wRGl2ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0ZW1wRGl2LCAnaW5uZXJIVE1MJywgdGhpcy5jaGVja1N2Z0NvbnRlbnQpO1xuICAgICAgICB0aGlzLmNoZWNrbWFya1N2ZyA9IHRlbXBEaXYuZmlyc3RFbGVtZW50Q2hpbGQgYXMgU1ZHRWxlbWVudDtcblxuICAgICAgICB0aGlzLmNyZWF0ZU92ZXJsYXlFbGVtZW50KHRoaXMuY2hlY2ttYXJrU3ZnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUluZGV0ZXJtaW5hdGVCYXIoKTogdm9pZCB7XG4gICAgICAgIC8vIENyZWF0ZSB0aGUgaW5kZXRlcm1pbmF0ZSBiYXIgZWxlbWVudFxuICAgICAgICB0aGlzLmluZGV0ZXJtaW5hdGVCYXIgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmluZGV0ZXJtaW5hdGVCYXIsICdoZWlnaHQnLCAnMS41cHgnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmluZGV0ZXJtaW5hdGVCYXIsICdiYWNrZ3JvdW5kJywgJ3ZhcigtLXJlZi1jb2xvci13aGl0ZSknKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmluZGV0ZXJtaW5hdGVCYXIsICd3aWR0aCcsICc4cHgnKTtcblxuICAgICAgICB0aGlzLmNyZWF0ZU92ZXJsYXlFbGVtZW50KHRoaXMuaW5kZXRlcm1pbmF0ZUJhcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDaGVja21hcmtWaXNpYmlsaXR5KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jaGVja21hcmtTdmcpIHtcbiAgICAgICAgICAgIGNvbnN0IG9wYWNpdHkgPSB0aGlzLmNoZWNrZWQoKSAmJiAhdGhpcy5pbmRldGVybWluYXRlKCkgPyAnMScgOiAnMCc7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY2hlY2ttYXJrU3ZnLCAnb3BhY2l0eScsIG9wYWNpdHkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmluZGV0ZXJtaW5hdGVCYXIpIHtcbiAgICAgICAgICAgIGNvbnN0IG9wYWNpdHkgPSB0aGlzLmluZGV0ZXJtaW5hdGUoKSAmJiAhdGhpcy5jaGVja2VkKCkgPyAnMScgOiAnMCc7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW5kZXRlcm1pbmF0ZUJhciwgJ29wYWNpdHknLCBvcGFjaXR5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBFdmVudExpc3RlbmVycygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW5wdXQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgICAgICAvLyBJbnB1dCBjaGFuZ2UgbGlzdGVuZXIgKG5hdGl2ZSBjaGVja2JveCBjaGFuZ2UpXG4gICAgICAgIGNvbnN0IGNoYW5nZUxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oaW5wdXQsICdjaGFuZ2UnLCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uVmFsdWVDaGFuZ2UoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubGlzdGVuZXJzLnB1c2goY2hhbmdlTGlzdGVuZXIpO1xuXG4gICAgICAgIC8vIExpc3RlbiBmb3IgbGFiZWwgY2xpY2tzIHRvIGVuc3VyZSBmb2N1cyBpcyBtYWludGFpbmVkXG4gICAgICAgIGNvbnN0IHBhcmVudCA9IGlucHV0LnBhcmVudEVsZW1lbnQ7XG4gICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsQ2xpY2tMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHBhcmVudCwgJ2NsaWNrJywgKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICAgIC8vIElmIGNsaWNraW5nIG9uIGEgbGFiZWwgdGhhdCB0YXJnZXRzIG91ciBpbnB1dCwgZW5zdXJlIGZvY3VzXG4gICAgICAgICAgICAgICAgaWYgKHRhcmdldC50YWdOYW1lID09PSAnTEFCRUwnICYmIHRhcmdldC5nZXRBdHRyaWJ1dGUoJ2ZvcicpID09PSBpbnB1dC5pZCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBTbWFsbCBkZWxheSB0byBlbnN1cmUgdGhlIGxhYmVsIGNsaWNrIGlzIHByb2Nlc3NlZCBmaXJzdFxuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5saXN0ZW5lcnMucHVzaChsYWJlbENsaWNrTGlzdGVuZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseUNoZWNrYm94U3R5bGVzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzdHlsZXMgPSBgXG4gICAgICAgICAgICAvKiBNaW5pbWFsIGNoZWNrYm94IHN0eWxpbmcgKi9cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXS5hcC1jaGVja2JveC1zdHlsZWQge1xuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTZweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE2cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcmVmLWNvbG9yLWdyZXktNjApO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXN5cy1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yZWYtY29sb3Itd2hpdGUpO1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8qIEhvdmVyIHN0YXRlICovXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0uYXAtY2hlY2tib3gtc3R5bGVkOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXJlZi1jb2xvci1ncmV5LTgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLyogQWN0aXZlL3ByZXNzZWQgc3RhdGUgKi9cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXS5hcC1jaGVja2JveC1zdHlsZWQ6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXJlZi1jb2xvci1ncmV5LTEwMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8qIENoZWNrZWQgc3RhdGUgKi9cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXS5hcC1jaGVja2JveC1zdHlsZWQ6Y2hlY2tlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcmVmLWNvbG9yLWVsZWN0cmljLWJsdWUtMTAwKTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXJlZi1jb2xvci1lbGVjdHJpYy1ibHVlLTEwMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8qIENoZWNrZWQgaG92ZXIgc3RhdGUgKi9cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXS5hcC1jaGVja2JveC1zdHlsZWQ6Y2hlY2tlZDpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcmVmLWNvbG9yLWVsZWN0cmljLWJsdWUtODApO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcmVmLWNvbG9yLWVsZWN0cmljLWJsdWUtMTAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLyogQ2hlY2tlZCBhY3RpdmUvcHJlc3NlZCBzdGF0ZSAqL1xuICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLmFwLWNoZWNrYm94LXN0eWxlZDpjaGVja2VkOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcmVmLWNvbG9yLWVsZWN0cmljLWJsdWUtNjApO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcmVmLWNvbG9yLWVsZWN0cmljLWJsdWUtMTAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLyogSW5kZXRlcm1pbmF0ZSBzdGF0ZSAqL1xuICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLmFwLWNoZWNrYm94LXN0eWxlZDppbmRldGVybWluYXRlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yZWYtY29sb3ItZWxlY3RyaWMtYmx1ZS0xMDApO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcmVmLWNvbG9yLWVsZWN0cmljLWJsdWUtMTAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLyogRGlzYWJsZWQgc3RhdGUgKi9cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXS5hcC1jaGVja2JveC1zdHlsZWQ6ZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcmVmLWNvbG9yLWdyZXktMjApO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXJlZi1jb2xvci1ncmV5LTEwKTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXS5hcC1jaGVja2JveC1zdHlsZWQ6ZGlzYWJsZWQ6Y2hlY2tlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcmVmLWNvbG9yLWdyZXktMjApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAvKiBGb2N1cyBzdGF0ZSAqL1xuICAgICAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0uYXAtY2hlY2tib3gtc3R5bGVkOmZvY3VzOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogM3B4IHNvbGlkIHZhcigtLXJlZi1jb2xvci1lbGVjdHJpYy1ibHVlLTEwMCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLyogTGFiZWwgc3R5bGluZyAqL1xuICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLmFwLWNoZWNrYm94LXN0eWxlZCArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWNvbXAtZm9ybXMtbGFiZWwtZm9udC1mYW1pbHkpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tY29tcC1mb3Jtcy1sYWJlbC1zaXplKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY29tcC1mb3Jtcy1sYWJlbC1mb250LXdlaWdodCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWNvbXAtZm9ybXMtbGFiZWwtbGluZS1oZWlnaHQpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb21wLWZvcm1zLWxhYmVsLXRleHQtY29sb3IpO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLyogRW1wdHkgbGFiZWwgc3R5bGluZyAqL1xuICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLmFwLWNoZWNrYm94LXN0eWxlZCArIGxhYmVsOmVtcHR5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAvKiBEaXNhYmxlZCBsYWJlbCBzdHlsaW5nICovXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0uYXAtY2hlY2tib3gtc3R5bGVkOmRpc2FibGVkICsgbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1yZWYtY29sb3ItZ3JleS02MCk7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICBgO1xuXG4gICAgICAgIC8vIENyZWF0ZSBhbmQgYXBwZW5kIHN0eWxlIGVsZW1lbnRcbiAgICAgICAgdGhpcy5zdHlsZUVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5zdHlsZUVsZW1lbnQsIHRoaXMucmVuZGVyZXIuY3JlYXRlVGV4dChzdHlsZXMpKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5oZWFkLCB0aGlzLnN0eWxlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblZhbHVlQ2hhbmdlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmRpc2FibGVkKSB7XG4gICAgICAgICAgICBjb25zdCBpbnB1dCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgICAgICBpZiAodGhpcy5pbmRldGVybWluYXRlKCkpIHtcbiAgICAgICAgICAgICAgICAvLyBXaGVuIGluZGV0ZXJtaW5hdGUsIGNsaWNraW5nIHNob3VsZCBnbyB0byBjaGVja2VkIHN0YXRlXG4gICAgICAgICAgICAgICAgdGhpcy5fY2hlY2tlZC5zZXQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5faW5kZXRlcm1pbmF0ZS5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIGlucHV0LmNoZWNrZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlucHV0LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gTm9ybWFsIHRvZ2dsZSBiZWhhdmlvclxuICAgICAgICAgICAgICAgIHRoaXMuX2NoZWNrZWQuc2V0KGlucHV0LmNoZWNrZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,37 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class DefaultImageDirective {
4
- src = '';
5
- default = '';
6
- updateUrl() {
7
- if (this.default) {
8
- this.src = this.default;
9
- }
10
- else {
11
- this.src = 'assets/lib-ui-components/img/default-avatar.png';
12
- }
13
- }
14
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DefaultImageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
15
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.9", type: DefaultImageDirective, isStandalone: true, selector: "img[default]", inputs: { src: "src", default: "default" }, host: { listeners: { "error": "updateUrl()" }, properties: { "src": "src" } }, ngImport: i0 });
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DefaultImageDirective, decorators: [{
18
- type: Directive,
19
- args: [{
20
- // eslint-disable-next-line @angular-eslint/directive-selector
21
- selector: 'img[default]',
22
- standalone: true,
23
- // eslint-disable-next-line @angular-eslint/no-host-metadata-property
24
- host: {
25
- '(error)': 'updateUrl()',
26
- '[src]': 'src',
27
- },
28
- }]
29
- }], propDecorators: { src: [{
30
- type: Input,
31
- args: [{
32
- required: true,
33
- }]
34
- }], default: [{
35
- type: Input
36
- }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1pbWFnZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvZGlyZWN0aXZlcy9zcmMvZGVmYXVsdC1pbWFnZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBWWpELE1BQU0sT0FBTyxxQkFBcUI7SUFJOUIsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNBLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFFdEIsU0FBUztRQUNMLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVCLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLEdBQUcsR0FBRyxpREFBaUQsQ0FBQztRQUNqRSxDQUFDO0lBQ0wsQ0FBQzt1R0FiUSxxQkFBcUI7MkZBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFWakMsU0FBUzttQkFBQztvQkFDUCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxjQUFjO29CQUN4QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIscUVBQXFFO29CQUNyRSxJQUFJLEVBQUU7d0JBQ0YsU0FBUyxFQUFFLGFBQWE7d0JBQ3hCLE9BQU8sRUFBRSxLQUFLO3FCQUNqQjtpQkFDSjs4QkFLRyxHQUFHO3NCQUhGLEtBQUs7dUJBQUM7d0JBQ0gsUUFBUSxFQUFFLElBQUk7cUJBQ2pCO2dCQUVRLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2ltZ1tkZWZhdWx0XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWhvc3QtbWV0YWRhdGEtcHJvcGVydHlcbiAgICBob3N0OiB7XG4gICAgICAgICcoZXJyb3IpJzogJ3VwZGF0ZVVybCgpJyxcbiAgICAgICAgJ1tzcmNdJzogJ3NyYycsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgRGVmYXVsdEltYWdlRGlyZWN0aXZlIHtcbiAgICBASW5wdXQoe1xuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICB9KVxuICAgIHNyYyA9ICcnO1xuICAgIEBJbnB1dCgpIGRlZmF1bHQgPSAnJztcblxuICAgIHVwZGF0ZVVybCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZGVmYXVsdCkge1xuICAgICAgICAgICAgdGhpcy5zcmMgPSB0aGlzLmRlZmF1bHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNyYyA9ICdhc3NldHMvbGliLXVpLWNvbXBvbmVudHMvaW1nL2RlZmF1bHQtYXZhdGFyLnBuZyc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,90 +0,0 @@
1
- import { Directive, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Removes excess text from element until it fits in elements
5
- * and appends a ellipsis symbol to end of text. This requires that
6
- * the elements height be fixed
7
- *
8
- * @example
9
- * ```html
10
- * <p apEllipsis>Ullamco esse laborum</p>
11
- * ```
12
- *
13
- */
14
- export class EllipsisDirective {
15
- el;
16
- apEllipsisSeparator = '';
17
- apEllipsisClip = false;
18
- apEllipsisIndex = -2;
19
- apEllipsisChar = '...';
20
- apEllipsisClickable = false;
21
- apEllipsisRemovedElementsCount = new EventEmitter();
22
- apEllipsisRemovedText = new EventEmitter();
23
- get hasOverflow() {
24
- const el = this.el.nativeElement;
25
- return el.scrollHeight > el.offsetHeight || el.scrollWidth > el.offsetWidth;
26
- }
27
- constructor(el) {
28
- this.el = el;
29
- }
30
- ngAfterContentChecked() {
31
- this.clipText();
32
- }
33
- clipText() {
34
- const el = this.el.nativeElement;
35
- let text = el.innerText;
36
- let removedText = '';
37
- if (this.apEllipsisIndex > -1) {
38
- removedText = text.substring(this.apEllipsisIndex, text.length - 1) + removedText;
39
- text = text.substring(0, this.apEllipsisIndex);
40
- el.innerText = `${text}${this.apEllipsisChar}`;
41
- if (this.apEllipsisClickable) {
42
- el.addEventListener('click', () => {
43
- el.innerText = `${text}${removedText}`;
44
- });
45
- }
46
- }
47
- else {
48
- while (this.hasOverflow && text.length > 0) {
49
- removedText = text[text.length - 1] + removedText;
50
- text = text.substring(0, text.length - 1);
51
- el.innerText = `${text}${this.apEllipsisChar}`;
52
- }
53
- }
54
- if (this.apEllipsisSeparator) {
55
- const removedElementsCount = removedText
56
- .split(this.apEllipsisSeparator)
57
- .filter(element => !!element && element.length > 0).length;
58
- if (removedElementsCount > 0) {
59
- this.apEllipsisRemovedElementsCount.emit(removedElementsCount);
60
- }
61
- }
62
- if (removedText && removedText.length > 0) {
63
- this.apEllipsisRemovedText.emit(removedText);
64
- }
65
- }
66
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: EllipsisDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
67
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.9", type: EllipsisDirective, isStandalone: true, selector: "[apEllipsis]", inputs: { apEllipsisSeparator: "apEllipsisSeparator", apEllipsisClip: "apEllipsisClip", apEllipsisIndex: "apEllipsisIndex", apEllipsisChar: "apEllipsisChar", apEllipsisClickable: "apEllipsisClickable" }, outputs: { apEllipsisRemovedElementsCount: "apEllipsisRemovedElementsCount", apEllipsisRemovedText: "apEllipsisRemovedText" }, ngImport: i0 });
68
- }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: EllipsisDirective, decorators: [{
70
- type: Directive,
71
- args: [{
72
- selector: '[apEllipsis]',
73
- standalone: true,
74
- }]
75
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { apEllipsisSeparator: [{
76
- type: Input
77
- }], apEllipsisClip: [{
78
- type: Input
79
- }], apEllipsisIndex: [{
80
- type: Input
81
- }], apEllipsisChar: [{
82
- type: Input
83
- }], apEllipsisClickable: [{
84
- type: Input
85
- }], apEllipsisRemovedElementsCount: [{
86
- type: Output
87
- }], apEllipsisRemovedText: [{
88
- type: Output
89
- }] } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL2RpcmVjdGl2ZXMvc3JjL2VsbGlwc2lzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFeEc7Ozs7Ozs7Ozs7R0FVRztBQUtILE1BQU0sT0FBTyxpQkFBaUI7SUFlTjtJQWRYLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztJQUN6QixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLGVBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNyQixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLG1CQUFtQixHQUFHLEtBQUssQ0FBQztJQUUzQiw4QkFBOEIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBQzVELHFCQUFxQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFFN0QsSUFBWSxXQUFXO1FBQ25CLE1BQU0sRUFBRSxHQUFnQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUM5QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7SUFDaEYsQ0FBQztJQUVELFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBQUcsQ0FBQztJQUV0QyxxQkFBcUI7UUFDakIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxRQUFRO1FBQ1osTUFBTSxFQUFFLEdBQWdCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQzlDLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUM7UUFDeEIsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzVCLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUM7WUFDbEYsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUMvQyxFQUFFLENBQUMsU0FBUyxHQUFHLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUUvQyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2dCQUMzQixFQUFFLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtvQkFDOUIsRUFBRSxDQUFDLFNBQVMsR0FBRyxHQUFHLElBQUksR0FBRyxXQUFXLEVBQUUsQ0FBQztnQkFDM0MsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDekMsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQztnQkFDbEQsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQzFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25ELENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUMzQixNQUFNLG9CQUFvQixHQUFHLFdBQVc7aUJBQ25DLEtBQUssQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7aUJBQy9CLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDL0QsSUFBSSxvQkFBb0IsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQ25FLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxXQUFXLElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pELENBQUM7SUFDTCxDQUFDO3VHQXREUSxpQkFBaUI7MkZBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFKN0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7aUJBQ25COytFQUVZLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUksOEJBQThCO3NCQUF2QyxNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudENoZWNrZWQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogUmVtb3ZlcyBleGNlc3MgdGV4dCBmcm9tIGVsZW1lbnQgdW50aWwgaXQgZml0cyBpbiBlbGVtZW50c1xuICogYW5kIGFwcGVuZHMgYSBlbGxpcHNpcyBzeW1ib2wgdG8gZW5kIG9mIHRleHQuIFRoaXMgcmVxdWlyZXMgdGhhdFxuICogdGhlIGVsZW1lbnRzIGhlaWdodCBiZSBmaXhlZFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8cCBhcEVsbGlwc2lzPlVsbGFtY28gZXNzZSBsYWJvcnVtPC9wPlxuICogYGBgXG4gKlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1thcEVsbGlwc2lzXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRWxsaXBzaXNEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRDaGVja2VkIHtcbiAgICBASW5wdXQoKSBhcEVsbGlwc2lzU2VwYXJhdG9yID0gJyc7XG4gICAgQElucHV0KCkgYXBFbGxpcHNpc0NsaXAgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBhcEVsbGlwc2lzSW5kZXggPSAtMjtcbiAgICBASW5wdXQoKSBhcEVsbGlwc2lzQ2hhciA9ICcuLi4nO1xuICAgIEBJbnB1dCgpIGFwRWxsaXBzaXNDbGlja2FibGUgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBhcEVsbGlwc2lzUmVtb3ZlZEVsZW1lbnRzQ291bnQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgICBAT3V0cHV0KCkgYXBFbGxpcHNpc1JlbW92ZWRUZXh0ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBwcml2YXRlIGdldCBoYXNPdmVyZmxvdygpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZWw6IEhUTUxFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICByZXR1cm4gZWwuc2Nyb2xsSGVpZ2h0ID4gZWwub2Zmc2V0SGVpZ2h0IHx8IGVsLnNjcm9sbFdpZHRoID4gZWwub2Zmc2V0V2lkdGg7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge31cblxuICAgIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICAgICAgdGhpcy5jbGlwVGV4dCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xpcFRleHQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVsOiBIVE1MRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICAgICAgbGV0IHRleHQgPSBlbC5pbm5lclRleHQ7XG4gICAgICAgIGxldCByZW1vdmVkVGV4dCA9ICcnO1xuICAgICAgICBpZiAodGhpcy5hcEVsbGlwc2lzSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgcmVtb3ZlZFRleHQgPSB0ZXh0LnN1YnN0cmluZyh0aGlzLmFwRWxsaXBzaXNJbmRleCwgdGV4dC5sZW5ndGggLSAxKSArIHJlbW92ZWRUZXh0O1xuICAgICAgICAgICAgdGV4dCA9IHRleHQuc3Vic3RyaW5nKDAsIHRoaXMuYXBFbGxpcHNpc0luZGV4KTtcbiAgICAgICAgICAgIGVsLmlubmVyVGV4dCA9IGAke3RleHR9JHt0aGlzLmFwRWxsaXBzaXNDaGFyfWA7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmFwRWxsaXBzaXNDbGlja2FibGUpIHtcbiAgICAgICAgICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZWwuaW5uZXJUZXh0ID0gYCR7dGV4dH0ke3JlbW92ZWRUZXh0fWA7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB3aGlsZSAodGhpcy5oYXNPdmVyZmxvdyAmJiB0ZXh0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICByZW1vdmVkVGV4dCA9IHRleHRbdGV4dC5sZW5ndGggLSAxXSArIHJlbW92ZWRUZXh0O1xuICAgICAgICAgICAgICAgIHRleHQgPSB0ZXh0LnN1YnN0cmluZygwLCB0ZXh0Lmxlbmd0aCAtIDEpO1xuICAgICAgICAgICAgICAgIGVsLmlubmVyVGV4dCA9IGAke3RleHR9JHt0aGlzLmFwRWxsaXBzaXNDaGFyfWA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5hcEVsbGlwc2lzU2VwYXJhdG9yKSB7XG4gICAgICAgICAgICBjb25zdCByZW1vdmVkRWxlbWVudHNDb3VudCA9IHJlbW92ZWRUZXh0XG4gICAgICAgICAgICAgICAgLnNwbGl0KHRoaXMuYXBFbGxpcHNpc1NlcGFyYXRvcilcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGVsZW1lbnQgPT4gISFlbGVtZW50ICYmIGVsZW1lbnQubGVuZ3RoID4gMCkubGVuZ3RoO1xuICAgICAgICAgICAgaWYgKHJlbW92ZWRFbGVtZW50c0NvdW50ID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYXBFbGxpcHNpc1JlbW92ZWRFbGVtZW50c0NvdW50LmVtaXQocmVtb3ZlZEVsZW1lbnRzQ291bnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChyZW1vdmVkVGV4dCAmJiByZW1vdmVkVGV4dC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmFwRWxsaXBzaXNSZW1vdmVkVGV4dC5lbWl0KHJlbW92ZWRUZXh0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,73 +0,0 @@
1
- // Based on https://scotch.io/tutorials/how-to-implement-a-custom-validator-directive-confirm-password-in-angular-2
2
- import { Attribute, Directive, forwardRef } from '@angular/core';
3
- import { NG_VALIDATORS } from '@angular/forms';
4
- import * as i0 from "@angular/core";
5
- export class EqualValidatorDirective {
6
- validateEqual;
7
- validateEqualReference;
8
- constructor(validateEqual, validateEqualReference) {
9
- this.validateEqual = validateEqual;
10
- this.validateEqualReference = validateEqualReference;
11
- }
12
- validate(self) {
13
- const other = self.root.get(this.validateEqual);
14
- if (other) {
15
- if (this.isReference()) {
16
- if (self.value === other.value) {
17
- if (other.errors) {
18
- delete other.errors['validateEqual'];
19
- if (!Object.keys(other.errors).length) {
20
- other.setErrors(null);
21
- }
22
- }
23
- else {
24
- other.setErrors(null);
25
- }
26
- }
27
- else {
28
- other.setErrors({ validateEqual: false });
29
- }
30
- }
31
- else if (self.value !== other.value) {
32
- return { validateEqual: false };
33
- }
34
- }
35
- return null;
36
- }
37
- isReference() {
38
- if (!this.validateEqualReference) {
39
- return false;
40
- }
41
- return this.validateEqualReference === 'true';
42
- }
43
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: EqualValidatorDirective, deps: [{ token: 'validateEqual', attribute: true }, { token: 'validateEqualReference', attribute: true }], target: i0.ɵɵFactoryTarget.Directive });
44
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.9", type: EqualValidatorDirective, isStandalone: true, selector: "[validateEqual][formControlName],[validateEqual][formControl],[validateEqual][ngModel]", providers: [
45
- {
46
- provide: NG_VALIDATORS,
47
- useExisting: forwardRef(() => EqualValidatorDirective),
48
- multi: true,
49
- },
50
- ], ngImport: i0 });
51
- }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: EqualValidatorDirective, decorators: [{
53
- type: Directive,
54
- args: [{
55
- // eslint-disable-next-line @angular-eslint/directive-selector
56
- selector: '[validateEqual][formControlName],[validateEqual][formControl],[validateEqual][ngModel]',
57
- providers: [
58
- {
59
- provide: NG_VALIDATORS,
60
- useExisting: forwardRef(() => EqualValidatorDirective),
61
- multi: true,
62
- },
63
- ],
64
- standalone: true,
65
- }]
66
- }], ctorParameters: () => [{ type: undefined, decorators: [{
67
- type: Attribute,
68
- args: ['validateEqual']
69
- }] }, { type: undefined, decorators: [{
70
- type: Attribute,
71
- args: ['validateEqualReference']
72
- }] }] });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXF1YWwtdmFsaWRhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9kaXJlY3RpdmVzL3NyYy9lcXVhbC12YWxpZGF0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1IQUFtSDtBQUNuSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFtQixhQUFhLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFjM0UsTUFBTSxPQUFPLHVCQUF1QjtJQUVPO0lBQ1M7SUFGaEQsWUFDdUMsYUFBcUIsRUFDWixzQkFBOEI7UUFEdkMsa0JBQWEsR0FBYixhQUFhLENBQVE7UUFDWiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQVE7SUFDM0UsQ0FBQztJQUVKLFFBQVEsQ0FBQyxJQUFxQjtRQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEQsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7Z0JBQ3JCLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQzdCLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO3dCQUNmLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQzt3QkFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDOzRCQUNwQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUMxQixDQUFDO29CQUNMLENBQUM7eUJBQU0sQ0FBQzt3QkFDSixLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUMxQixDQUFDO2dCQUNMLENBQUM7cUJBQU0sQ0FBQztvQkFDSixLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBQzlDLENBQUM7WUFDTCxDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3BDLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDcEMsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU8sV0FBVztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUMvQixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsc0JBQXNCLEtBQUssTUFBTSxDQUFDO0lBQ2xELENBQUM7dUdBbENRLHVCQUF1QixrQkFFakIsZUFBZSw4QkFDZix3QkFBd0I7MkZBSDlCLHVCQUF1QixxSUFUckI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDdEQsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKOzsyRkFHUSx1QkFBdUI7a0JBWm5DLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsd0ZBQXdGO29CQUNsRyxTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDOzRCQUN0RCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OzBCQUdRLFNBQVM7MkJBQUMsZUFBZTs7MEJBQ3pCLFNBQVM7MkJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQmFzZWQgb24gaHR0cHM6Ly9zY290Y2guaW8vdHV0b3JpYWxzL2hvdy10by1pbXBsZW1lbnQtYS1jdXN0b20tdmFsaWRhdG9yLWRpcmVjdGl2ZS1jb25maXJtLXBhc3N3b3JkLWluLWFuZ3VsYXItMlxuaW1wb3J0IHsgQXR0cmlidXRlLCBEaXJlY3RpdmUsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTkdfVkFMSURBVE9SUywgVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW3ZhbGlkYXRlRXF1YWxdW2Zvcm1Db250cm9sTmFtZV0sW3ZhbGlkYXRlRXF1YWxdW2Zvcm1Db250cm9sXSxbdmFsaWRhdGVFcXVhbF1bbmdNb2RlbF0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRXF1YWxWYWxpZGF0b3JEaXJlY3RpdmUpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBFcXVhbFZhbGlkYXRvckRpcmVjdGl2ZSBpbXBsZW1lbnRzIFZhbGlkYXRvciB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBBdHRyaWJ1dGUoJ3ZhbGlkYXRlRXF1YWwnKSBwdWJsaWMgdmFsaWRhdGVFcXVhbDogc3RyaW5nLFxuICAgICAgICBAQXR0cmlidXRlKCd2YWxpZGF0ZUVxdWFsUmVmZXJlbmNlJykgcHVibGljIHZhbGlkYXRlRXF1YWxSZWZlcmVuY2U6IHN0cmluZ1xuICAgICkge31cblxuICAgIHZhbGlkYXRlKHNlbGY6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsIHtcbiAgICAgICAgY29uc3Qgb3RoZXIgPSBzZWxmLnJvb3QuZ2V0KHRoaXMudmFsaWRhdGVFcXVhbCk7XG4gICAgICAgIGlmIChvdGhlcikge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNSZWZlcmVuY2UoKSkge1xuICAgICAgICAgICAgICAgIGlmIChzZWxmLnZhbHVlID09PSBvdGhlci52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAob3RoZXIuZXJyb3JzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgb3RoZXIuZXJyb3JzWyd2YWxpZGF0ZUVxdWFsJ107XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIU9iamVjdC5rZXlzKG90aGVyLmVycm9ycykubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIuc2V0RXJyb3JzKG51bGwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIuc2V0RXJyb3JzKG51bGwpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgb3RoZXIuc2V0RXJyb3JzKHsgdmFsaWRhdGVFcXVhbDogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChzZWxmLnZhbHVlICE9PSBvdGhlci52YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IHZhbGlkYXRlRXF1YWw6IGZhbHNlIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1JlZmVyZW5jZSgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLnZhbGlkYXRlRXF1YWxSZWZlcmVuY2UpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUVxdWFsUmVmZXJlbmNlID09PSAndHJ1ZSc7XG4gICAgfVxufVxuIl19