@eui/ecl 17.0.0-next.6 → 17.0.0-next.8

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 (417) hide show
  1. package/assets/i18n-ecl/bg.json +1 -0
  2. package/assets/i18n-ecl/cs.json +1 -0
  3. package/assets/i18n-ecl/da.json +1 -0
  4. package/assets/i18n-ecl/de.json +1 -0
  5. package/assets/i18n-ecl/el.json +1 -0
  6. package/assets/i18n-ecl/en.json +1 -0
  7. package/assets/i18n-ecl/es.json +1 -0
  8. package/assets/i18n-ecl/et.json +1 -0
  9. package/assets/i18n-ecl/fi.json +1 -0
  10. package/assets/i18n-ecl/fr.json +1 -0
  11. package/assets/i18n-ecl/ga.json +1 -0
  12. package/assets/i18n-ecl/hr.json +1 -0
  13. package/assets/i18n-ecl/hu.json +1 -0
  14. package/assets/i18n-ecl/it.json +1 -0
  15. package/assets/i18n-ecl/lt.json +1 -0
  16. package/assets/i18n-ecl/lv.json +1 -0
  17. package/assets/i18n-ecl/mt.json +1 -0
  18. package/assets/i18n-ecl/nl.json +1 -0
  19. package/assets/i18n-ecl/pl.json +1 -0
  20. package/assets/i18n-ecl/pt.json +1 -0
  21. package/assets/i18n-ecl/ro.json +1 -0
  22. package/assets/i18n-ecl/sk.json +1 -0
  23. package/assets/i18n-ecl/sl.json +1 -0
  24. package/assets/i18n-ecl/sv.json +1 -0
  25. package/esm2022/lib/components/ecl-accordion/ecl-accordion-item.component.mjs +3 -3
  26. package/esm2022/lib/components/ecl-accordion/ecl-accordion.component.mjs +3 -3
  27. package/esm2022/lib/components/ecl-accordion/ecl-accordion.module.mjs +4 -4
  28. package/esm2022/lib/components/ecl-app/deprecated/common/ecl-app.component.mjs +6 -6
  29. package/esm2022/lib/components/ecl-app/deprecated/ecl-app-core/ecl-app-core.component.mjs +6 -6
  30. package/esm2022/lib/components/ecl-app/deprecated/ecl-app-core/ecl-app-core.module.mjs +4 -4
  31. package/esm2022/lib/components/ecl-app/deprecated/ecl-app-harmonised/ecl-app-harmonised.component.mjs +6 -6
  32. package/esm2022/lib/components/ecl-app/deprecated/ecl-app-harmonised/ecl-app-harmonised.module.mjs +4 -4
  33. package/esm2022/lib/components/ecl-app/deprecated/ecl-app-standardised/ecl-app-standardised.component.mjs +6 -6
  34. package/esm2022/lib/components/ecl-app/deprecated/ecl-app-standardised/ecl-app-standardised.module.mjs +4 -4
  35. package/esm2022/lib/components/ecl-app/ecl-app.component.mjs +5 -5
  36. package/esm2022/lib/components/ecl-app/ecl-app.module.mjs +4 -4
  37. package/esm2022/lib/components/ecl-banner/deprecated/ecl-hero-banner/ecl-hero-banner-credit.directive.mjs +3 -3
  38. package/esm2022/lib/components/ecl-banner/deprecated/ecl-hero-banner/ecl-hero-banner-cta-link.directive.mjs +5 -5
  39. package/esm2022/lib/components/ecl-banner/deprecated/ecl-hero-banner/ecl-hero-banner-description.directive.mjs +3 -3
  40. package/esm2022/lib/components/ecl-banner/deprecated/ecl-hero-banner/ecl-hero-banner-title.directive.mjs +3 -3
  41. package/esm2022/lib/components/ecl-banner/deprecated/ecl-hero-banner/ecl-hero-banner.component.mjs +4 -4
  42. package/esm2022/lib/components/ecl-banner/deprecated/ecl-hero-banner/ecl-hero-banner.module.mjs +4 -4
  43. package/esm2022/lib/components/ecl-banner/deprecated/ecl-page-banner/ecl-page-banner-credit.directive.mjs +3 -3
  44. package/esm2022/lib/components/ecl-banner/deprecated/ecl-page-banner/ecl-page-banner-cta-link.directive.mjs +5 -5
  45. package/esm2022/lib/components/ecl-banner/deprecated/ecl-page-banner/ecl-page-banner-description.directive.mjs +3 -3
  46. package/esm2022/lib/components/ecl-banner/deprecated/ecl-page-banner/ecl-page-banner-title.directive.mjs +3 -3
  47. package/esm2022/lib/components/ecl-banner/deprecated/ecl-page-banner/ecl-page-banner.component.mjs +4 -4
  48. package/esm2022/lib/components/ecl-banner/deprecated/ecl-page-banner/ecl-page-banner.module.mjs +4 -4
  49. package/esm2022/lib/components/ecl-banner/ecl-banner-credit.directive.mjs +3 -3
  50. package/esm2022/lib/components/ecl-banner/ecl-banner-description.directive.mjs +6 -6
  51. package/esm2022/lib/components/ecl-banner/ecl-banner-picture.directive.mjs +6 -6
  52. package/esm2022/lib/components/ecl-banner/ecl-banner-title.directive.mjs +6 -6
  53. package/esm2022/lib/components/ecl-banner/ecl-banner.component.mjs +4 -4
  54. package/esm2022/lib/components/ecl-banner/ecl-banner.module.mjs +4 -4
  55. package/esm2022/lib/components/ecl-base.directive.mjs +3 -3
  56. package/esm2022/lib/components/ecl-blockquote/ecl-blockquote-picture.directive.mjs +6 -6
  57. package/esm2022/lib/components/ecl-blockquote/ecl-blockquote.component.mjs +16 -6
  58. package/esm2022/lib/components/ecl-blockquote/ecl-blockquote.module.mjs +4 -4
  59. package/esm2022/lib/components/ecl-breadcrumb/deprecated/common/ecl-breadcrumb-segment.component.mjs +5 -5
  60. package/esm2022/lib/components/ecl-breadcrumb/deprecated/common/ecl-breadcrumb.component.mjs +5 -5
  61. package/esm2022/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-core/ecl-breadcrumb-core-segment.component.mjs +5 -5
  62. package/esm2022/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-core/ecl-breadcrumb-core.component.mjs +4 -4
  63. package/esm2022/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-core/ecl-breadcrumb-core.module.mjs +4 -4
  64. package/esm2022/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-harmonised/ecl-breadcrumb-harmonised-segment.component.mjs +5 -5
  65. package/esm2022/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-harmonised/ecl-breadcrumb-harmonised.component.mjs +4 -4
  66. package/esm2022/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-harmonised/ecl-breadcrumb-harmonised.module.mjs +4 -4
  67. package/esm2022/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-standardised/ecl-breadcrumb-standardised-segment.component.mjs +5 -5
  68. package/esm2022/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-standardised/ecl-breadcrumb-standardised.component.mjs +4 -4
  69. package/esm2022/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-standardised/ecl-breadcrumb-standardised.module.mjs +4 -4
  70. package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.mjs +5 -5
  71. package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.mjs +5 -5
  72. package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb.module.mjs +4 -4
  73. package/esm2022/lib/components/ecl-button/ecl-button-label.directive.mjs +3 -3
  74. package/esm2022/lib/components/ecl-button/ecl-button.component.mjs +5 -5
  75. package/esm2022/lib/components/ecl-button/ecl-button.module.mjs +4 -4
  76. package/esm2022/lib/components/ecl-card/ecl-card-body.component.mjs +3 -3
  77. package/esm2022/lib/components/ecl-card/ecl-card-image/ecl-card-image.component.mjs +3 -3
  78. package/esm2022/lib/components/ecl-card/ecl-card-picture.directive.mjs +6 -6
  79. package/esm2022/lib/components/ecl-card/ecl-card.component.mjs +3 -3
  80. package/esm2022/lib/components/ecl-card/ecl-card.module.mjs +4 -4
  81. package/esm2022/lib/components/ecl-carousel/ecl-carousel-item.component.mjs +3 -3
  82. package/esm2022/lib/components/ecl-carousel/ecl-carousel.component.mjs +7 -14
  83. package/esm2022/lib/components/ecl-carousel/ecl-carousel.module.mjs +4 -4
  84. package/esm2022/lib/components/ecl-category-filter/ecl-category-filter/ecl-category-filter.component.mjs +5 -5
  85. package/esm2022/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-item.component.mjs +4 -4
  86. package/esm2022/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-list.component.mjs +4 -4
  87. package/esm2022/lib/components/ecl-category-filter/ecl-category-filter.module.mjs +4 -4
  88. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox-help.component.mjs +3 -3
  89. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox-input.directive.mjs +6 -6
  90. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox-label.component.mjs +3 -3
  91. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox.directive.mjs +5 -4
  92. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox.module.mjs +22 -8
  93. package/esm2022/lib/components/ecl-content-block/ecl-content-block-elements.directive.mjs +51 -51
  94. package/esm2022/lib/components/ecl-content-block/ecl-content-block.component.mjs +3 -3
  95. package/esm2022/lib/components/ecl-content-block/ecl-content-block.module.mjs +4 -4
  96. package/esm2022/lib/components/ecl-content-item/ecl-content-item-image.directive.mjs +6 -6
  97. package/esm2022/lib/components/ecl-content-item/ecl-content-item.component.mjs +4 -4
  98. package/esm2022/lib/components/ecl-content-item/ecl-content-item.module.mjs +4 -4
  99. package/esm2022/lib/components/ecl-date-block/ecl-date-block.component.mjs +5 -5
  100. package/esm2022/lib/components/ecl-date-block/ecl-date-block.module.mjs +4 -4
  101. package/esm2022/lib/components/ecl-date-picker/ecl-date-picker.directive.mjs +5 -5
  102. package/esm2022/lib/components/ecl-date-picker/ecl-date-picker.module.mjs +4 -4
  103. package/esm2022/lib/components/ecl-expandable/ecl-expandable.component.mjs +3 -3
  104. package/esm2022/lib/components/ecl-expandable/ecl-expandable.module.mjs +4 -4
  105. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-description.component.mjs +3 -3
  106. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-item.component.mjs +3 -3
  107. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-title.component.mjs +3 -3
  108. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-value.component.mjs +3 -3
  109. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-view-all.component.mjs +3 -3
  110. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures.component.mjs +3 -3
  111. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures.module.mjs +4 -4
  112. package/esm2022/lib/components/ecl-featured/ecl-featured-item-description.component.mjs +3 -3
  113. package/esm2022/lib/components/ecl-featured/ecl-featured-item-link.directive.mjs +3 -3
  114. package/esm2022/lib/components/ecl-featured/ecl-featured-item.component.mjs +3 -3
  115. package/esm2022/lib/components/ecl-featured/ecl-featured.component.mjs +3 -3
  116. package/esm2022/lib/components/ecl-featured/ecl-featured.module.mjs +4 -4
  117. package/esm2022/lib/components/ecl-feedback-message/ecl-feedback-message.directive.mjs +4 -4
  118. package/esm2022/lib/components/ecl-feedback-message/ecl-feedback-message.module.mjs +4 -4
  119. package/esm2022/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.mjs +5 -5
  120. package/esm2022/lib/components/ecl-file/ecl-file-items/ecl-file-items.component.mjs +3 -3
  121. package/esm2022/lib/components/ecl-file/ecl-file-picture.directive.mjs +6 -6
  122. package/esm2022/lib/components/ecl-file/ecl-file-taxonomy/ecl-file-taxonomy.component.mjs +3 -3
  123. package/esm2022/lib/components/ecl-file/ecl-file.component.mjs +3 -3
  124. package/esm2022/lib/components/ecl-file/ecl-file.module.mjs +4 -4
  125. package/esm2022/lib/components/ecl-file-upload/ecl-file-upload.directive.mjs +6 -6
  126. package/esm2022/lib/components/ecl-file-upload/ecl-file-upload.module.mjs +4 -4
  127. package/esm2022/lib/components/ecl-form-group/ecl-form-group.component.mjs +3 -3
  128. package/esm2022/lib/components/ecl-form-group/ecl-form-group.module.mjs +4 -4
  129. package/esm2022/lib/components/ecl-form-label/ecl-form-label.component.mjs +3 -3
  130. package/esm2022/lib/components/ecl-form-label/ecl-form-label.module.mjs +4 -4
  131. package/esm2022/lib/components/ecl-gallery/ecl-gallery-footer.component.mjs +5 -5
  132. package/esm2022/lib/components/ecl-gallery/ecl-gallery-item.component.mjs +22 -7
  133. package/esm2022/lib/components/ecl-gallery/ecl-gallery-media.directive.mjs +8 -8
  134. package/esm2022/lib/components/ecl-gallery/ecl-gallery.component.mjs +91 -29
  135. package/esm2022/lib/components/ecl-gallery/ecl-gallery.module.mjs +4 -4
  136. package/esm2022/lib/components/ecl-help-block/ecl-help-block.directive.mjs +3 -3
  137. package/esm2022/lib/components/ecl-help-block/ecl-help-block.module.mjs +4 -4
  138. package/esm2022/lib/components/ecl-icon/ecl-icon.component.mjs +5 -5
  139. package/esm2022/lib/components/ecl-icon/ecl-icon.module.mjs +4 -4
  140. package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.mjs +3 -3
  141. package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.component.mjs +3 -3
  142. package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.module.mjs +4 -4
  143. package/esm2022/lib/components/ecl-label/ecl-label.directive.mjs +3 -3
  144. package/esm2022/lib/components/ecl-label/ecl-label.module.mjs +4 -4
  145. package/esm2022/lib/components/ecl-language-list/ecl-language-list-item.component.mjs +5 -5
  146. package/esm2022/lib/components/ecl-language-list/ecl-language-list.component.mjs +5 -5
  147. package/esm2022/lib/components/ecl-language-list/ecl-language-list.module.mjs +4 -4
  148. package/esm2022/lib/components/ecl-link/ecl-link-label.directive.mjs +3 -3
  149. package/esm2022/lib/components/ecl-link/ecl-link.directive.mjs +5 -5
  150. package/esm2022/lib/components/ecl-link/ecl-link.module.mjs +4 -4
  151. package/esm2022/lib/components/ecl-list/ecl-description-list-definition/ecl-description-list-definition.component.mjs +3 -3
  152. package/esm2022/lib/components/ecl-list/ecl-description-list-definition-item.directive.mjs +3 -3
  153. package/esm2022/lib/components/ecl-list/ecl-list.directive.mjs +20 -20
  154. package/esm2022/lib/components/ecl-list/ecl-list.module.mjs +4 -4
  155. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-icon.directive.mjs +3 -3
  156. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-image/ecl-list-illustration-image.component.mjs +3 -3
  157. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-item.component.mjs +4 -4
  158. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-picture.directive.mjs +6 -6
  159. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration.component.mjs +3 -3
  160. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration.module.mjs +4 -4
  161. package/esm2022/lib/components/ecl-media-container/ecl-media-container-iframe.directive.mjs +5 -5
  162. package/esm2022/lib/components/ecl-media-container/ecl-media-container-item.directive.mjs +5 -5
  163. package/esm2022/lib/components/ecl-media-container/ecl-media-container-picture.directive.mjs +3 -3
  164. package/esm2022/lib/components/ecl-media-container/ecl-media-container.component.mjs +16 -7
  165. package/esm2022/lib/components/ecl-media-container/ecl-media-container.module.mjs +4 -4
  166. package/esm2022/lib/components/ecl-menu/ecl-menu/ecl-menu-item.component.mjs +5 -5
  167. package/esm2022/lib/components/ecl-menu/ecl-menu/ecl-menu.component.mjs +9 -5
  168. package/esm2022/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.mjs +4 -4
  169. package/esm2022/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.mjs +5 -5
  170. package/esm2022/lib/components/ecl-menu/ecl-menu.module.mjs +4 -4
  171. package/esm2022/lib/components/ecl-message/ecl-message-title.directive.mjs +3 -3
  172. package/esm2022/lib/components/ecl-message/ecl-message.component.mjs +3 -3
  173. package/esm2022/lib/components/ecl-message/ecl-message.module.mjs +4 -4
  174. package/esm2022/lib/components/ecl-modal/ecl-modal-body.component.mjs +3 -3
  175. package/esm2022/lib/components/ecl-modal/ecl-modal-close.directive.mjs +3 -3
  176. package/esm2022/lib/components/ecl-modal/ecl-modal-footer.component.mjs +4 -4
  177. package/esm2022/lib/components/ecl-modal/ecl-modal-header.component.mjs +3 -3
  178. package/esm2022/lib/components/ecl-modal/ecl-modal-trigger.directive.mjs +3 -3
  179. package/esm2022/lib/components/ecl-modal/ecl-modal.component.mjs +4 -4
  180. package/esm2022/lib/components/ecl-modal/ecl-modal.module.mjs +4 -4
  181. package/esm2022/lib/components/ecl-multiselect/boldText.pipe.mjs +36 -0
  182. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-dropdown/ecl-multiselect-dropdown.component.mjs +449 -0
  183. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.mjs +92 -0
  184. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-optgroup/ecl-multiselect-optgroup.component.mjs +33 -0
  185. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-option/ecl-multiselect-option.component.mjs +130 -0
  186. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-option.directive.mjs +6 -15
  187. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect.component.mjs +88 -824
  188. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect.module.mjs +49 -7
  189. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list-image/ecl-navigation-list-image.component.mjs +3 -3
  190. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list-item.component.mjs +4 -4
  191. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list-picture.directive.mjs +6 -6
  192. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list.component.mjs +3 -3
  193. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list.module.mjs +4 -4
  194. package/esm2022/lib/components/ecl-news-ticker/ecl-news-ticker-item.component.mjs +5 -5
  195. package/esm2022/lib/components/ecl-news-ticker/ecl-news-ticker.component.mjs +5 -5
  196. package/esm2022/lib/components/ecl-news-ticker/ecl-news-ticker.module.mjs +4 -4
  197. package/esm2022/lib/components/ecl-page-header/deprecated/common/ecl-page-header.component.mjs +3 -3
  198. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-core/ecl-page-header-core-description.directive.mjs +9 -9
  199. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-core/ecl-page-header-core-meta.directive.mjs +6 -6
  200. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-core/ecl-page-header-core-title.directive.mjs +3 -3
  201. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-core/ecl-page-header-core.component.mjs +3 -3
  202. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-core/ecl-page-header-core.module.mjs +4 -4
  203. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-harmonised/ecl-page-header-harmonised-description.directive.mjs +9 -9
  204. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-harmonised/ecl-page-header-harmonised-meta.directive.mjs +6 -6
  205. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-harmonised/ecl-page-header-harmonised-title.directive.mjs +3 -3
  206. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-harmonised/ecl-page-header-harmonised.component.mjs +3 -3
  207. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-harmonised/ecl-page-header-harmonised.module.mjs +4 -4
  208. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-standardised/ecl-page-header-standardised-description.directive.mjs +9 -9
  209. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-standardised/ecl-page-header-standardised-meta.directive.mjs +6 -6
  210. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-standardised/ecl-page-header-standardised-title.directive.mjs +3 -3
  211. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-standardised/ecl-page-header-standardised.component.mjs +3 -3
  212. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-standardised/ecl-page-header-standardised.module.mjs +4 -4
  213. package/esm2022/lib/components/ecl-page-header/ecl-page-header-background.directive.mjs +6 -6
  214. package/esm2022/lib/components/ecl-page-header/ecl-page-header-description/ecl-page-header-description.component.mjs +3 -3
  215. package/esm2022/lib/components/ecl-page-header/ecl-page-header-description.directive.mjs +9 -9
  216. package/esm2022/lib/components/ecl-page-header/ecl-page-header-meta.directive.mjs +6 -6
  217. package/esm2022/lib/components/ecl-page-header/ecl-page-header-title.directive.mjs +3 -3
  218. package/esm2022/lib/components/ecl-page-header/ecl-page-header.component.mjs +3 -3
  219. package/esm2022/lib/components/ecl-page-header/ecl-page-header.module.mjs +4 -4
  220. package/esm2022/lib/components/ecl-pagination/ecl-pagination-item.component.mjs +3 -3
  221. package/esm2022/lib/components/ecl-pagination/ecl-pagination.component.mjs +3 -3
  222. package/esm2022/lib/components/ecl-pagination/ecl-pagination.module.mjs +4 -4
  223. package/esm2022/lib/components/ecl-popover/ecl-popover-content.directive.mjs +3 -3
  224. package/esm2022/lib/components/ecl-popover/ecl-popover-list.directive.mjs +9 -9
  225. package/esm2022/lib/components/ecl-popover/ecl-popover-toggle.directive.mjs +5 -5
  226. package/esm2022/lib/components/ecl-popover/ecl-popover.component.mjs +3 -3
  227. package/esm2022/lib/components/ecl-popover/ecl-popover.module.mjs +4 -4
  228. package/esm2022/lib/components/ecl-radio/ecl-radio-help.component.mjs +3 -3
  229. package/esm2022/lib/components/ecl-radio/ecl-radio-input.directive.mjs +6 -6
  230. package/esm2022/lib/components/ecl-radio/ecl-radio-label.component.mjs +3 -3
  231. package/esm2022/lib/components/ecl-radio/ecl-radio.directive.mjs +4 -4
  232. package/esm2022/lib/components/ecl-radio/ecl-radio.module.mjs +4 -4
  233. package/esm2022/lib/components/ecl-range/ecl-range-value.component.mjs +3 -3
  234. package/esm2022/lib/components/ecl-range/ecl-range.directive.mjs +6 -6
  235. package/esm2022/lib/components/ecl-range/ecl-range.module.mjs +4 -4
  236. package/esm2022/lib/components/ecl-rating-field/ecl-rating-field.component.mjs +5 -5
  237. package/esm2022/lib/components/ecl-rating-field/ecl-rating-field.module.mjs +4 -4
  238. package/esm2022/lib/components/ecl-search-form/ecl-search-form.component.mjs +3 -3
  239. package/esm2022/lib/components/ecl-search-form/ecl-search-form.module.mjs +4 -4
  240. package/esm2022/lib/components/ecl-select/ecl-select-container.component.mjs +3 -3
  241. package/esm2022/lib/components/ecl-select/ecl-select.directive.mjs +6 -6
  242. package/esm2022/lib/components/ecl-select/ecl-select.module.mjs +4 -4
  243. package/esm2022/lib/components/ecl-site-footer/deprecated/common/ecl-footer.component.mjs +5 -5
  244. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-core/ecl-footer-core.component.mjs +3 -3
  245. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-core/ecl-footer-core.module.mjs +4 -4
  246. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-core/ecl-footer-elements/ecl-footer-core-column.directive.mjs +3 -3
  247. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-core/ecl-footer-elements/ecl-footer-core-description.directive.mjs +3 -3
  248. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-core/ecl-footer-elements/ecl-footer-core-link.directive.mjs +3 -3
  249. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-core/ecl-footer-elements/ecl-footer-core-list.directive.mjs +6 -6
  250. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-core/ecl-footer-elements/ecl-footer-core-section.directive.mjs +3 -3
  251. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-core/ecl-footer-elements/ecl-footer-core-title.directive.mjs +6 -6
  252. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-harmonised/ecl-footer-elements/ecl-footer-harmonised-column.directive.mjs +9 -9
  253. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-harmonised/ecl-footer-elements/ecl-footer-harmonised-description.directive.mjs +3 -3
  254. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-harmonised/ecl-footer-elements/ecl-footer-harmonised-link.directive.mjs +9 -9
  255. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-harmonised/ecl-footer-elements/ecl-footer-harmonised-list.directive.mjs +15 -15
  256. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-harmonised/ecl-footer-elements/ecl-footer-harmonised-section.directive.mjs +3 -3
  257. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-harmonised/ecl-footer-elements/ecl-footer-harmonised-title.directive.mjs +6 -6
  258. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-harmonised/ecl-footer-harmonised.component.mjs +3 -3
  259. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-harmonised/ecl-footer-harmonised.module.mjs +4 -4
  260. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-standardised/ecl-footer-elements/ecl-footer-standardised-column.directive.mjs +9 -9
  261. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-standardised/ecl-footer-elements/ecl-footer-standardised-description.directive.mjs +3 -3
  262. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-standardised/ecl-footer-elements/ecl-footer-standardised-link.directive.mjs +9 -9
  263. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-standardised/ecl-footer-elements/ecl-footer-standardised-list.directive.mjs +6 -6
  264. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-standardised/ecl-footer-elements/ecl-footer-standardised-section.directive.mjs +3 -3
  265. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-standardised/ecl-footer-elements/ecl-footer-standardised-title.directive.mjs +6 -6
  266. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-standardised/ecl-footer-standardised.component.mjs +3 -3
  267. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-standardised/ecl-footer-standardised.module.mjs +4 -4
  268. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ec/ecl-site-footer-fixed-content.mjs +5 -5
  269. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-column.directive.mjs +9 -9
  270. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-description.directive.mjs +3 -3
  271. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-link.directive.mjs +15 -15
  272. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-list.directive.mjs +15 -15
  273. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-section.directive.mjs +3 -3
  274. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-title.directive.mjs +6 -6
  275. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/eu/ecl-site-footer-fixed-content.mjs +5 -5
  276. package/esm2022/lib/components/ecl-site-footer/ecl-site-footer.component.mjs +5 -5
  277. package/esm2022/lib/components/ecl-site-footer/ecl-site-footer.module.mjs +4 -4
  278. package/esm2022/lib/components/ecl-site-header/action/ecl-site-header-action.component.mjs +3 -3
  279. package/esm2022/lib/components/ecl-site-header/banner-top/ecl-site-header-banner-top.component.mjs +3 -3
  280. package/esm2022/lib/components/ecl-site-header/cta/ecl-site-header-cta.directive.mjs +3 -3
  281. package/esm2022/lib/components/ecl-site-header/deprecated/common/ecl-site-header-action.component.mjs +3 -3
  282. package/esm2022/lib/components/ecl-site-header/deprecated/common/ecl-site-header-banner-top.component.mjs +3 -3
  283. package/esm2022/lib/components/ecl-site-header/deprecated/common/ecl-site-header-language.component.mjs +3 -3
  284. package/esm2022/lib/components/ecl-site-header/deprecated/common/ecl-site-header-login.component.mjs +3 -3
  285. package/esm2022/lib/components/ecl-site-header/deprecated/common/ecl-site-header-search.component.mjs +3 -3
  286. package/esm2022/lib/components/ecl-site-header/deprecated/common/ecl-site-header.component.mjs +5 -5
  287. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-core/action/ecl-site-header-core-action.component.mjs +3 -3
  288. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-core/ecl-site-header-core.component.mjs +5 -5
  289. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-core/ecl-site-header-core.module.mjs +4 -4
  290. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-core/language/ecl-site-header-core-language.component.mjs +3 -3
  291. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-core/login/ecl-site-header-core-login-details.directive.mjs +6 -6
  292. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-core/login/ecl-site-header-core-login.component.mjs +3 -3
  293. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-core/search/ecl-site-header-core-search.component.mjs +3 -3
  294. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-harmonised/action/ecl-site-header-harmonised-action.component.mjs +3 -3
  295. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-harmonised/banner-top/ecl-site-header-harmonised-banner-top.component.mjs +3 -3
  296. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-harmonised/ecl-site-header-harmonised.component.mjs +5 -5
  297. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-harmonised/ecl-site-header-harmonised.module.mjs +4 -4
  298. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-harmonised/language/ecl-site-header-harmonised-language.component.mjs +3 -3
  299. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-harmonised/login/ecl-site-header-harmonised-login-details.directive.mjs +6 -6
  300. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-harmonised/login/ecl-site-header-harmonised-login.component.mjs +3 -3
  301. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-harmonised/search/ecl-site-header-harmonised-search.component.mjs +3 -3
  302. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-standardised/action/ecl-site-header-standardised-action.component.mjs +3 -3
  303. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-standardised/banner-top/ecl-site-header-standardised-banner-top.component.mjs +3 -3
  304. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-standardised/cta/ecl-site-header-standardised-cta.directive.mjs +3 -3
  305. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-standardised/ecl-site-header-standardised.component.mjs +5 -5
  306. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-standardised/ecl-site-header-standardised.module.mjs +4 -4
  307. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-standardised/language/ecl-site-header-standardised-language.component.mjs +3 -3
  308. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-standardised/login/ecl-site-header-standardised-login-details.directive.mjs +6 -6
  309. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-standardised/login/ecl-site-header-standardised-login.component.mjs +3 -3
  310. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-standardised/search/ecl-site-header-standardised-search.component.mjs +3 -3
  311. package/esm2022/lib/components/ecl-site-header/ecl-site-header-environment/ecl-site-header-environment.component.mjs +5 -5
  312. package/esm2022/lib/components/ecl-site-header/ecl-site-header.component.mjs +5 -5
  313. package/esm2022/lib/components/ecl-site-header/ecl-site-header.module.mjs +4 -4
  314. package/esm2022/lib/components/ecl-site-header/language/ecl-site-header-language-popover.component.mjs +5 -5
  315. package/esm2022/lib/components/ecl-site-header/language/ecl-site-header-language.component.mjs +22 -6
  316. package/esm2022/lib/components/ecl-site-header/login/ecl-site-header-login-details.directive.mjs +6 -6
  317. package/esm2022/lib/components/ecl-site-header/login/ecl-site-header-login.component.mjs +3 -3
  318. package/esm2022/lib/components/ecl-site-header/message/ecl-site-header-message.component.mjs +3 -3
  319. package/esm2022/lib/components/ecl-site-header/search/ecl-site-header-search.component.mjs +8 -4
  320. package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow-item.component.mjs +3 -3
  321. package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow-link.directive.mjs +3 -3
  322. package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow.component.mjs +3 -3
  323. package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow.module.mjs +4 -4
  324. package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share-item.component.mjs +3 -3
  325. package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share-link.directive.mjs +3 -3
  326. package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share.component.mjs +3 -3
  327. package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share.module.mjs +4 -4
  328. package/esm2022/lib/components/ecl-spinner/ecl-spinner-label.directive.mjs +3 -3
  329. package/esm2022/lib/components/ecl-spinner/ecl-spinner.component.mjs +3 -3
  330. package/esm2022/lib/components/ecl-spinner/ecl-spinner.module.mjs +4 -4
  331. package/esm2022/lib/components/ecl-sticky-container/ecl-sticky-container.component.mjs +3 -3
  332. package/esm2022/lib/components/ecl-sticky-container/ecl-sticky-container.module.mjs +4 -4
  333. package/esm2022/lib/components/ecl-table/ecl-table-sort-button.component.mjs +5 -5
  334. package/esm2022/lib/components/ecl-table/ecl-table.directive.mjs +41 -25
  335. package/esm2022/lib/components/ecl-table/ecl-table.module.mjs +11 -8
  336. package/esm2022/lib/components/ecl-tabs/ecl-tab-label.component.mjs +3 -3
  337. package/esm2022/lib/components/ecl-tabs/ecl-tab-more.component.mjs +5 -5
  338. package/esm2022/lib/components/ecl-tabs/ecl-tab.component.mjs +5 -5
  339. package/esm2022/lib/components/ecl-tabs/ecl-tabs.component.mjs +5 -5
  340. package/esm2022/lib/components/ecl-tabs/ecl-tabs.module.mjs +4 -4
  341. package/esm2022/lib/components/ecl-tag/ecl-tag.component.mjs +3 -3
  342. package/esm2022/lib/components/ecl-tag/ecl-tag.module.mjs +4 -4
  343. package/esm2022/lib/components/ecl-text-area/ecl-text-area.directive.mjs +6 -6
  344. package/esm2022/lib/components/ecl-text-area/ecl-text-area.module.mjs +4 -4
  345. package/esm2022/lib/components/ecl-text-input/ecl-text-input.directive.mjs +7 -6
  346. package/esm2022/lib/components/ecl-text-input/ecl-text-input.module.mjs +7 -8
  347. package/esm2022/lib/components/ecl-timeline/ecl-timeline-item-label.directive.mjs +3 -3
  348. package/esm2022/lib/components/ecl-timeline/ecl-timeline-item-title.directive.mjs +3 -3
  349. package/esm2022/lib/components/ecl-timeline/ecl-timeline-item-toggler.component.mjs +3 -3
  350. package/esm2022/lib/components/ecl-timeline/ecl-timeline-item.component.mjs +4 -4
  351. package/esm2022/lib/components/ecl-timeline/ecl-timeline.component.mjs +4 -4
  352. package/esm2022/lib/components/ecl-timeline/ecl-timeline.module.mjs +4 -4
  353. package/esm2022/lib/model/ecl-multiselect-option.model.mjs +2 -0
  354. package/esm2022/lib/services/ecl-default-language.service.mjs +5 -5
  355. package/esm2022/lib/services/ecl-theme.service.mjs +5 -5
  356. package/esm2022/lib/shared/ecl-all.module.mjs +4 -4
  357. package/esm2022/lib/utils/constants/constants.mjs +11 -0
  358. package/esm2022/lib/utils/constants/index.mjs +2 -0
  359. package/esm2022/lib/utils/directives/ecl-click-outside/ecl-click-outside.directive.mjs +5 -5
  360. package/esm2022/lib/utils/directives/ecl-hidden/ecl-hidden.directive.mjs +3 -3
  361. package/esm2022/lib/utils/directives/ecl-hidden/ecl-hidden.module.mjs +4 -4
  362. package/esm2022/lib/utils/index.mjs +2 -1
  363. package/fesm2022/eui-ecl.mjs +2409 -2269
  364. package/fesm2022/eui-ecl.mjs.map +1 -1
  365. package/lib/components/ecl-blockquote/ecl-blockquote.component.d.ts +12 -2
  366. package/lib/components/ecl-blockquote/ecl-blockquote.component.d.ts.map +1 -1
  367. package/lib/components/ecl-carousel/ecl-carousel.component.d.ts +2 -3
  368. package/lib/components/ecl-carousel/ecl-carousel.component.d.ts.map +1 -1
  369. package/lib/components/ecl-checkbox/ecl-checkbox.directive.d.ts +1 -1
  370. package/lib/components/ecl-checkbox/ecl-checkbox.directive.d.ts.map +1 -1
  371. package/lib/components/ecl-checkbox/ecl-checkbox.module.d.ts +7 -7
  372. package/lib/components/ecl-checkbox/ecl-checkbox.module.d.ts.map +1 -1
  373. package/lib/components/ecl-gallery/ecl-gallery-item.component.d.ts +11 -4
  374. package/lib/components/ecl-gallery/ecl-gallery-item.component.d.ts.map +1 -1
  375. package/lib/components/ecl-gallery/ecl-gallery.component.d.ts +39 -5
  376. package/lib/components/ecl-gallery/ecl-gallery.component.d.ts.map +1 -1
  377. package/lib/components/ecl-media-container/ecl-media-container.component.d.ts +7 -3
  378. package/lib/components/ecl-media-container/ecl-media-container.component.d.ts.map +1 -1
  379. package/lib/components/ecl-menu/ecl-menu/ecl-menu.component.d.ts +1 -0
  380. package/lib/components/ecl-menu/ecl-menu/ecl-menu.component.d.ts.map +1 -1
  381. package/lib/components/ecl-multiselect/boldText.pipe.d.ts +11 -0
  382. package/lib/components/ecl-multiselect/boldText.pipe.d.ts.map +1 -0
  383. package/lib/components/ecl-multiselect/ecl-multiselect-dropdown/ecl-multiselect-dropdown.component.d.ts +94 -0
  384. package/lib/components/ecl-multiselect/ecl-multiselect-dropdown/ecl-multiselect-dropdown.component.d.ts.map +1 -0
  385. package/lib/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.d.ts +26 -0
  386. package/lib/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.d.ts.map +1 -0
  387. package/lib/components/ecl-multiselect/ecl-multiselect-optgroup/ecl-multiselect-optgroup.component.d.ts +19 -0
  388. package/lib/components/ecl-multiselect/ecl-multiselect-optgroup/ecl-multiselect-optgroup.component.d.ts.map +1 -0
  389. package/lib/components/ecl-multiselect/ecl-multiselect-option/ecl-multiselect-option.component.d.ts +49 -0
  390. package/lib/components/ecl-multiselect/ecl-multiselect-option/ecl-multiselect-option.component.d.ts.map +1 -0
  391. package/lib/components/ecl-multiselect/ecl-multiselect-option.directive.d.ts +3 -6
  392. package/lib/components/ecl-multiselect/ecl-multiselect-option.directive.d.ts.map +1 -1
  393. package/lib/components/ecl-multiselect/ecl-multiselect.component.d.ts +19 -113
  394. package/lib/components/ecl-multiselect/ecl-multiselect.component.d.ts.map +1 -1
  395. package/lib/components/ecl-multiselect/ecl-multiselect.module.d.ts +12 -3
  396. package/lib/components/ecl-multiselect/ecl-multiselect.module.d.ts.map +1 -1
  397. package/lib/components/ecl-site-header/language/ecl-site-header-language.component.d.ts +4 -0
  398. package/lib/components/ecl-site-header/language/ecl-site-header-language.component.d.ts.map +1 -1
  399. package/lib/components/ecl-site-header/search/ecl-site-header-search.component.d.ts +1 -0
  400. package/lib/components/ecl-site-header/search/ecl-site-header-search.component.d.ts.map +1 -1
  401. package/lib/components/ecl-table/ecl-table.directive.d.ts +5 -0
  402. package/lib/components/ecl-table/ecl-table.directive.d.ts.map +1 -1
  403. package/lib/components/ecl-table/ecl-table.module.d.ts +1 -1
  404. package/lib/components/ecl-table/ecl-table.module.d.ts.map +1 -1
  405. package/lib/components/ecl-text-input/ecl-text-input.directive.d.ts +1 -1
  406. package/lib/components/ecl-text-input/ecl-text-input.directive.d.ts.map +1 -1
  407. package/lib/components/ecl-text-input/ecl-text-input.module.d.ts +3 -3
  408. package/lib/components/ecl-text-input/ecl-text-input.module.d.ts.map +1 -1
  409. package/lib/model/ecl-multiselect-option.model.d.ts +8 -0
  410. package/lib/model/ecl-multiselect-option.model.d.ts.map +1 -0
  411. package/lib/utils/constants/constants.d.ts +10 -0
  412. package/lib/utils/constants/constants.d.ts.map +1 -0
  413. package/lib/utils/constants/index.d.ts +2 -0
  414. package/lib/utils/constants/index.d.ts.map +1 -0
  415. package/lib/utils/index.d.ts +1 -0
  416. package/lib/utils/index.d.ts.map +1 -1
  417. package/package.json +1 -1
@@ -5,10 +5,10 @@ export class EclFilePictureDirective extends ECLBaseDirective {
5
5
  get cssClasses() {
6
6
  return [super.getCssClasses('ecl-picture ecl-file__picture')].join(' ').trim();
7
7
  }
8
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFilePictureDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
9
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-next.4", type: EclFilePictureDirective, selector: "picture[eclFilePicture]", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
8
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFilePictureDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
9
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-next.7", type: EclFilePictureDirective, selector: "picture[eclFilePicture]", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFilePictureDirective, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFilePictureDirective, decorators: [{
12
12
  type: Directive,
13
13
  args: [{
14
14
  selector: 'picture[eclFilePicture]',
@@ -22,10 +22,10 @@ export class EclFileImageDirective extends ECLBaseDirective {
22
22
  super(...arguments);
23
23
  this.className = true;
24
24
  }
25
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFileImageDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
26
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-next.4", type: EclFileImageDirective, selector: "img[eclFileImage]", host: { properties: { "class.ecl-file__image": "this.className" } }, usesInheritance: true, ngImport: i0 }); }
25
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFileImageDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
26
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-next.7", type: EclFileImageDirective, selector: "img[eclFileImage]", host: { properties: { "class.ecl-file__image": "this.className" } }, usesInheritance: true, ngImport: i0 }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFileImageDirective, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFileImageDirective, decorators: [{
29
29
  type: Directive,
30
30
  args: [{
31
31
  selector: 'img[eclFileImage]',
@@ -5,10 +5,10 @@ export class EclFileTaxonomyComponent extends ECLBaseDirective {
5
5
  get cssClasses() {
6
6
  return [super.getCssClasses('ecl-file__taxonomy')].join(' ').trim();
7
7
  }
8
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFileTaxonomyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
9
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.4", type: EclFileTaxonomyComponent, selector: "ecl-file-taxonomy", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
8
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFileTaxonomyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
9
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.7", type: EclFileTaxonomyComponent, selector: "ecl-file-taxonomy", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFileTaxonomyComponent, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFileTaxonomyComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{ selector: 'ecl-file-taxonomy', template: "<ng-content></ng-content>\n" }]
14
14
  }], propDecorators: { cssClasses: [{
@@ -37,13 +37,13 @@ export class EclFileComponent extends ECLBaseDirective {
37
37
  getDownloadFileName() {
38
38
  return this.downloadFileName || this.href.split('/').pop();
39
39
  }
40
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
41
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.4", type: EclFileComponent, selector: "ecl-file", inputs: { eclTitle: "eclTitle", description: "description", label: "label", labelInfo: "labelInfo", language: "language", detailMeta: "detailMeta", meta: "meta", thumbnailUrl: "thumbnailUrl", href: "href", downloadFileName: "downloadFileName", ariaLabel: ["aria-label", "ariaLabel"] }, outputs: { itemDownload: "itemDownload" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "pictureContent", first: true, predicate: EclFilePictureDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-file__container\">\n <ecl-icon *ngIf=\"!isThumbnail\" icon=\"file\" class=\"ecl-file__icon\" size=\"2xl\"></ecl-icon>\n <div *ngIf=\"isThumbnail\" class=\"ecl-file__detail\">\n <div class=\"ecl-file__detail-info\">\n <div class=\"ecl-file__label\" *ngIf=\"labelInfo\">\n <span eclLabel variant=\"highlight\">{{ labelInfo }}</span>\n </div>\n <div class=\"ecl-file__detail-meta\">\n <span class=\"ecl-file__detail-meta-item\" *ngFor=\"let el of detailMeta\">{{ el }}</span>\n </div>\n <div class=\"ecl-file__title\">{{ eclTitle }}</div>\n <div class=\"ecl-file__description\">{{ description }}</div>\n </div>\n <ng-content *ngIf=\"hasPictureContent\" select=\"[eclFilePicture]\"></ng-content>\n <picture *ngIf=\"!hasPictureContent\" class=\"ecl-picture ecl-file__picture\"\n ><img class=\"ecl-file__image\" [src]=\"thumbnailUrl\" alt=\"thumbnail\"\n /></picture>\n </div>\n <ng-content select=\"ecl-file-taxonomy\"></ng-content>\n <div class=\"ecl-file__info\">\n <div *ngIf=\"!isThumbnail\" class=\"ecl-file__title\">{{ eclTitle }}</div>\n <div class=\"ecl-file__language\">{{ language }}</div>\n <div class=\"ecl-file__meta\">{{ meta }}</div>\n </div>\n <a\n eclLink\n variant=\"standalone\"\n [href]=\"href\"\n [download]=\"getDownloadFileName()\"\n class=\"ecl-file__download\"\n (click)=\"onItemClick($event)\"\n [attr.aria-label]=\"ariaLabel\">\n <span eclLinkLabel>{{ label || 'ecl.common.DOWNLOAD' | translate }}</span>\n <ecl-icon icon=\"download\" size=\"fluid\"></ecl-icon>\n </a>\n</div>\n<ng-content></ng-content>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.EclLinkDirective, selector: "[eclLink]", inputs: ["variant", "isNegative", "isNoVisited"] }, { kind: "directive", type: i3.EclLinkLabelDirective, selector: "[eclLinkLabel]" }, { kind: "component", type: i4.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "isInverted", "ariaHidden", "focusable"] }, { kind: "directive", type: i5.EclLabelDirective, selector: "[eclLabel]", inputs: ["variant"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
40
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
41
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.7", type: EclFileComponent, selector: "ecl-file", inputs: { eclTitle: "eclTitle", description: "description", label: "label", labelInfo: "labelInfo", language: "language", detailMeta: "detailMeta", meta: "meta", thumbnailUrl: "thumbnailUrl", href: "href", downloadFileName: "downloadFileName", ariaLabel: ["aria-label", "ariaLabel"] }, outputs: { itemDownload: "itemDownload" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "pictureContent", first: true, predicate: EclFilePictureDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-file__container\">\n <ecl-icon *ngIf=\"!isThumbnail\" icon=\"file\" class=\"ecl-file__icon\" size=\"2xl\"></ecl-icon>\n <div *ngIf=\"isThumbnail\" class=\"ecl-file__detail\">\n <div class=\"ecl-file__detail-info\">\n <div class=\"ecl-file__label\" *ngIf=\"labelInfo\">\n <span eclLabel variant=\"highlight\">{{ labelInfo }}</span>\n </div>\n <div class=\"ecl-file__detail-meta\">\n <span class=\"ecl-file__detail-meta-item\" *ngFor=\"let el of detailMeta\">{{ el }}</span>\n </div>\n <div class=\"ecl-file__title\">{{ eclTitle }}</div>\n <div class=\"ecl-file__description\">{{ description }}</div>\n </div>\n <ng-content *ngIf=\"hasPictureContent\" select=\"[eclFilePicture]\"></ng-content>\n <picture *ngIf=\"!hasPictureContent\" class=\"ecl-picture ecl-file__picture\"\n ><img class=\"ecl-file__image\" [src]=\"thumbnailUrl\" alt=\"thumbnail\"\n /></picture>\n </div>\n <ng-content select=\"ecl-file-taxonomy\"></ng-content>\n <div class=\"ecl-file__info\">\n <div *ngIf=\"!isThumbnail\" class=\"ecl-file__title\">{{ eclTitle }}</div>\n <div class=\"ecl-file__language\">{{ language }}</div>\n <div class=\"ecl-file__meta\">{{ meta }}</div>\n </div>\n <a\n eclLink\n variant=\"standalone\"\n [href]=\"href\"\n [download]=\"getDownloadFileName()\"\n class=\"ecl-file__download\"\n (click)=\"onItemClick($event)\"\n [attr.aria-label]=\"ariaLabel\">\n <span eclLinkLabel>{{ label || 'ecl.common.DOWNLOAD' | translate }}</span>\n <ecl-icon icon=\"download\" size=\"fluid\"></ecl-icon>\n </a>\n</div>\n<ng-content></ng-content>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.EclLinkDirective, selector: "[eclLink]", inputs: ["variant", "isNegative", "isNoVisited"] }, { kind: "directive", type: i3.EclLinkLabelDirective, selector: "[eclLinkLabel]" }, { kind: "component", type: i4.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "isInverted", "ariaHidden", "focusable"] }, { kind: "directive", type: i5.EclLabelDirective, selector: "[eclLabel]", inputs: ["variant"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
42
42
  }
43
43
  __decorate([
44
44
  coerceArray
45
45
  ], EclFileComponent.prototype, "meta", void 0);
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFileComponent, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFileComponent, decorators: [{
47
47
  type: Component,
48
48
  args: [{ selector: 'ecl-file', template: "<div class=\"ecl-file__container\">\n <ecl-icon *ngIf=\"!isThumbnail\" icon=\"file\" class=\"ecl-file__icon\" size=\"2xl\"></ecl-icon>\n <div *ngIf=\"isThumbnail\" class=\"ecl-file__detail\">\n <div class=\"ecl-file__detail-info\">\n <div class=\"ecl-file__label\" *ngIf=\"labelInfo\">\n <span eclLabel variant=\"highlight\">{{ labelInfo }}</span>\n </div>\n <div class=\"ecl-file__detail-meta\">\n <span class=\"ecl-file__detail-meta-item\" *ngFor=\"let el of detailMeta\">{{ el }}</span>\n </div>\n <div class=\"ecl-file__title\">{{ eclTitle }}</div>\n <div class=\"ecl-file__description\">{{ description }}</div>\n </div>\n <ng-content *ngIf=\"hasPictureContent\" select=\"[eclFilePicture]\"></ng-content>\n <picture *ngIf=\"!hasPictureContent\" class=\"ecl-picture ecl-file__picture\"\n ><img class=\"ecl-file__image\" [src]=\"thumbnailUrl\" alt=\"thumbnail\"\n /></picture>\n </div>\n <ng-content select=\"ecl-file-taxonomy\"></ng-content>\n <div class=\"ecl-file__info\">\n <div *ngIf=\"!isThumbnail\" class=\"ecl-file__title\">{{ eclTitle }}</div>\n <div class=\"ecl-file__language\">{{ language }}</div>\n <div class=\"ecl-file__meta\">{{ meta }}</div>\n </div>\n <a\n eclLink\n variant=\"standalone\"\n [href]=\"href\"\n [download]=\"getDownloadFileName()\"\n class=\"ecl-file__download\"\n (click)=\"onItemClick($event)\"\n [attr.aria-label]=\"ariaLabel\">\n <span eclLinkLabel>{{ label || 'ecl.common.DOWNLOAD' | translate }}</span>\n <ecl-icon icon=\"download\" size=\"fluid\"></ecl-icon>\n </a>\n</div>\n<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }]
49
49
  }], propDecorators: { eclTitle: [{
@@ -20,8 +20,8 @@ const COMPONENTS = [
20
20
  EclFileImageDirective,
21
21
  ];
22
22
  export class EclFileComponentModule {
23
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFileComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
24
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFileComponentModule, declarations: [EclFileComponent,
23
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFileComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
24
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFileComponentModule, declarations: [EclFileComponent,
25
25
  EclFileItemsComponent,
26
26
  EclFileItemComponent,
27
27
  EclFileTaxonomyComponent,
@@ -37,14 +37,14 @@ export class EclFileComponentModule {
37
37
  EclFileTaxonomyComponent,
38
38
  EclFilePictureDirective,
39
39
  EclFileImageDirective] }); }
40
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFileComponentModule, imports: [CommonModule,
40
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFileComponentModule, imports: [CommonModule,
41
41
  EclLinkDirectiveModule,
42
42
  EclIconComponentModule,
43
43
  EclButtonComponentModule,
44
44
  EclLabelDirectiveModule,
45
45
  TranslateModule] }); }
46
46
  }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFileComponentModule, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFileComponentModule, decorators: [{
48
48
  type: NgModule,
49
49
  args: [{
50
50
  imports: [
@@ -166,8 +166,8 @@ export class EclFileUploadDirective extends ECLBaseDirective {
166
166
  const i = Math.floor(Math.log(bytes) / Math.log(k));
167
167
  return `${parseFloat((bytes / k ** i).toFixed(dm))} ${sizes[i]}`;
168
168
  }
169
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFileUploadDirective, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ElementRef }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Directive }); }
170
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-next.4", type: EclFileUploadDirective, selector: "[eclFileUpload]", inputs: { variant: "variant", isInvalid: "isInvalid", id: "id", disabled: "disabled", multiple: "multiple" }, outputs: { filesSelected: "filesSelected" }, host: { listeners: { "click": "onClick($event)", "change": "onFilesSelected($event)" }, properties: { "attr.id": "this.id", "attr.disabled": "this.disabled", "attr.multiple": "this.multiple", "attr.type": "this.type", "class": "this.cssClasses", "class.ecl-file-upload--invalid": "this.invalidState" } }, usesInheritance: true, ngImport: i0 }); }
169
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFileUploadDirective, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ElementRef }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Directive }); }
170
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-next.7", type: EclFileUploadDirective, selector: "[eclFileUpload]", inputs: { variant: "variant", isInvalid: "isInvalid", id: "id", disabled: "disabled", multiple: "multiple" }, outputs: { filesSelected: "filesSelected" }, host: { listeners: { "click": "onClick($event)", "change": "onFilesSelected($event)" }, properties: { "attr.id": "this.id", "attr.disabled": "this.disabled", "attr.multiple": "this.multiple", "attr.type": "this.type", "class": "this.cssClasses", "class.ecl-file-upload--invalid": "this.invalidState" } }, usesInheritance: true, ngImport: i0 }); }
171
171
  }
172
172
  __decorate([
173
173
  coerceBoolean
@@ -175,16 +175,16 @@ __decorate([
175
175
  __decorate([
176
176
  coerceBoolean
177
177
  ], EclFileUploadDirective.prototype, "multiple", void 0);
178
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFileUploadDirective, decorators: [{
178
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFileUploadDirective, decorators: [{
179
179
  type: Directive,
180
180
  args: [{
181
181
  selector: '[eclFileUpload]',
182
182
  }]
183
- }], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
183
+ }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
184
184
  type: Optional
185
185
  }, {
186
186
  type: Self
187
- }] }, { type: i0.ElementRef }, { type: i2.TranslateService }]; }, propDecorators: { variant: [{
187
+ }] }, { type: i0.ElementRef }, { type: i2.TranslateService }], propDecorators: { variant: [{
188
188
  type: Input
189
189
  }], isInvalid: [{
190
190
  type: Input
@@ -221,4 +221,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4",
221
221
  type: HostListener,
222
222
  args: ['change', ['$event']]
223
223
  }] } });
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWZpbGUtdXBsb2FkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtZmlsZS11cGxvYWQvZWNsLWZpbGUtdXBsb2FkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBSUosWUFBWSxFQUNaLE1BQU0sRUFDTixZQUFZLEdBRWYsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXpELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7QUFFMUMsTUFBTSxPQUFPLDhCQUErQixTQUFRLFlBQVk7SUFDNUQsWUFBbUIsS0FBMkI7UUFDMUMsS0FBSyxFQUFFLENBQUM7UUFETyxVQUFLLEdBQUwsS0FBSyxDQUFzQjtJQUU5QyxDQUFDO0NBQ0o7QUFLRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsZ0JBQWdCO0lBeUJ4RCxZQUNrQyxTQUFvQixFQUMxQyxFQUFjLEVBQ2QsU0FBMkI7UUFFbkMsS0FBSyxFQUFFLENBQUM7UUFKc0IsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUMxQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUEzQjlCLFlBQU8sR0FBVyxTQUFTLENBQUM7UUFDNUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQWExQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFrQyxDQUFDO1FBRW5ELFNBQUks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SW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBEb0NoZWNrLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgT25Jbml0LFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFY2xGaWxlVXBsb2FkIH0gZnJvbSAnLi4vLi4vbW9kZWwvZWNsLWZpbGUtdXBsb2FkLm1vZGVsJztcbmltcG9ydCB7IEVjbEJhc2VFdmVudCB9IGZyb20gJy4uLy4uL21vZGVsL2VjbC1iYXNlLmV2ZW50JztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhbiB9IGZyb20gJ0BldWkvYmFzZSc7XG5cbmV4cG9ydCBjbGFzcyBFY2xGaWxlVXBsb2FkRmlsZVNlbGVjdGVkRXZlbnQgZXh0ZW5kcyBFY2xCYXNlRXZlbnQge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBmaWxlczogQXJyYXk8RWNsRmlsZVVwbG9hZD4pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2VjbEZpbGVVcGxvYWRdJyxcbn0pXG5leHBvcnQgY2xhc3MgRWNsRmlsZVVwbG9hZERpcmVjdGl2ZSBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgRG9DaGVjayB7XG4gICAgQElucHV0KCkgdmFyaWFudDogc3RyaW5nID0gJ2RlZmF1bHQnO1xuICAgIEBJbnB1dCgpIGlzSW52YWxpZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIEBIb3N0QmluZGluZygnYXR0ci5pZCcpIGlkOiBzdHJpbmc7XG5cbiAgICBAY29lcmNlQm9vbGVhblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRpc2FibGVkJylcbiAgICBkaXNhYmxlZDogYm9vbGVhbiB8IGFueTtcblxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIubXVsdGlwbGUnKVxuICAgIG11bHRpcGxlOiBib29sZWFuIHwgYW55O1xuXG4gICAgQE91dHB1dCgpIGZpbGVzU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEVjbEZpbGVVcGxvYWRGaWxlU2VsZWN0ZWRFdmVudD4oKTtcblxuICAgIEBIb3N0QmluZGluZygnYXR0ci50eXBlJykgdHlwZTogc3RyaW5nID0gJ2ZpbGUnO1xuICAgIHByaXZhdGUgZmlsZUxpc3RFbDogSFRNTEVsZW1lbnQ7XG5cbiAgICBwcml2YXRlIGZpbGVzOiBFY2xGaWxlVXBsb2FkW10gPSBbXTtcbiAgICBwcml2YXRlIGJ1dHRvbkVsOiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIGxhYmVsRWw6IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHJvdGVjdGVkIG5nQ29udHJvbDogTmdDb250cm9sLFxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCkge1xuICAgICAgICByZXR1cm4gW3N1cGVyLmdldENzc0NsYXNzZXMoJ2VjbC1maWxlLXVwbG9hZCcpXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZWNsLWZpbGUtdXBsb2FkLS1pbnZhbGlkJylcbiAgICBnZXQgaW52YWxpZFN0YXRlKCkge1xuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5nQ29udHJvbC5zdGF0dXMgPT09ICdJTlZBTElEJyAmJiB0aGlzLm5nQ29udHJvbC50b3VjaGVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNJbnZhbGlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlRE9NU3RydWN0dXJlKCk7XG4gICAgICAgIHRoaXMuaGFuZGxlVHJhbnNsYXRpb25zKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIG5nRG9DaGVjaygpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9uRWwuc2V0QXR0cmlidXRlKCdkaXNhYmxlZCcsICcnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9uRWwucmVtb3ZlQXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKSBvbkNsaWNrKGV2dDogRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2hhbmdlJywgWyckZXZlbnQnXSkgb25GaWxlc1NlbGVjdGVkKGV2dDogRXZlbnQpIHtcbiAgICAgICAgY29uc3QgaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50ID0gZXZ0LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICBjb25zdCBmaWxlTGlzdDogRmlsZUxpc3QgPSBpbnB1dEVsZW1lbnQuZmlsZXM7XG4gICAgICAgIHRoaXMuZmlsZXMgPSB0aGlzLmdldEZpbGVNb2RlbHMoZmlsZUxpc3QpO1xuXG4gICAgICAgIGNvbnN0IGZpbGVFdmVudCA9IG5ldyBFY2xGaWxlVXBsb2FkRmlsZVNlbGVjdGVkRXZlbnQodGhpcy5maWxlcyk7XG4gICAgICAgIHRoaXMuZmlsZXNTZWxlY3RlZC5uZXh0KGZpbGVFdmVudCk7XG5cbiAgICAgICAgaWYgKCFmaWxlRXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVUcmFuc2xhdGlvbnMoKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTGlzdEl0ZW1zRE9NKHRoaXMuZmlsZXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVUcmFuc2xhdGlvbnMoKSB7XG4gICAgICAgIGNvbnN0IHVwbG9hZEJ1dHRvbkxhYmVsS2V5ID0gdGhpcy5nZXRpMThuVXBsb2FkQnV0dG9uTGFiZWxLZXkoKTtcblxuICAgICAgICB0aGlzLnRyYW5zbGF0ZVxuICAgICAgICAgICAgLnN0cmVhbSh1cGxvYWRCdXR0b25MYWJlbEtleSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHRyYW5zbGF0aW9uOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5idXR0b25FbCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJ1dHRvbkVsLnRleHRDb250ZW50ID0gdHJhbnNsYXRpb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRpMThuVXBsb2FkQnV0dG9uTGFiZWxLZXkoKSB7XG4gICAgICAgIGxldCBrZXk6IHN0cmluZyA9ICcnO1xuXG4gICAgICAgIGlmICh0aGlzLmZpbGVzICYmIHRoaXMuZmlsZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgIGtleSA9ICdlY2wuZmlsZS11cGxvYWQuUkVQTEFDRS1GSUxFUyc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGtleSA9ICdlY2wuZmlsZS11cGxvYWQuUkVQTEFDRS1GSUxFJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAga2V5ID0gJ2VjbC5maWxlLXVwbG9hZC5DSE9PU0UtRklMRVMnO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBrZXkgPSAnZWNsLmZpbGUtdXBsb2FkLkNIT09TRS1GSUxFJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBrZXk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVMaXN0SXRlbXNET00oZmlsZXM6IEVjbEZpbGVVcGxvYWRbXSkge1xuICAgICAgICB0aGlzLmZpbGVMaXN0RWwuaW5uZXJIVE1MID0gJyc7XG4gICAgICAgIGZpbGVzLmZvckVhY2goKGZpbGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmNyZWF0ZUZpbGVMaXN0SXRlbURPTUVsZW1lbnQoZmlsZSk7XG4gICAgICAgICAgICB0aGlzLmZpbGVMaXN0RWwuYXBwZW5kQ2hpbGQoaXRlbSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRE9NU3RydWN0dXJlKCkge1xuICAgICAgICBjb25zdCBsYWJlbEVsID0gdGhpcy5jcmVhdGVMYWJlbERPTUVsZW1lbnQoKTtcbiAgICAgICAgY29uc3QgaG9zdEVsID0gdGhpcy5nZXRIb3N0RE9NRWxlbWVudCgpO1xuICAgICAgICBjb25zdCBmaWxlTGlzdEVsID0gdGhpcy5jcmVhdGVGaWxlTGlzdERPTUVsZW1lbnQoKTtcblxuICAgICAgICBob3N0RWwuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCdhZnRlcmVuZCcsIGZpbGVMaXN0RWwpO1xuICAgICAgICBob3N0RWwuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCdhZnRlcmVuZCcsIGxhYmVsRWwpO1xuXG4gICAgICAgIHRoaXMuZmlsZUxpc3RFbCA9IGZpbGVMaXN0RWw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRIb3N0RE9NRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUxhYmVsRE9NRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHRoaXMuYnV0dG9uRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgIHRoaXMuYnV0dG9uRWwuY2xhc3NMaXN0LmFkZCgnZWNsLWJ1dHRvbicsICdlY2wtYnV0dG9uLS1wcmltYXJ5JywgJ2VjbC1maWxlLXVwbG9hZF9fYnV0dG9uJyk7XG5cbiAgICAgICAgdGhpcy5sYWJlbEVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGFiZWwnKTtcbiAgICAgICAgdGhpcy5sYWJlbEVsLnNldEF0dHJpYnV0ZSgnZm9yJywgdGhpcy5pZCk7XG4gICAgICAgIHRoaXMubGFiZWxFbC5jbGFzc0xpc3QuYWRkKCdlY2wtZmlsZS11cGxvYWRfX2J1dHRvbi1jb250YWluZXInKTtcblxuICAgICAgICB0aGlzLmxhYmVsRWwuYXBwZW5kQ2hpbGQodGhpcy5idXR0b25FbCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubGFiZWxFbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUZpbGVMaXN0RE9NRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd1bCcpO1xuICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2VjbC1maWxlLXVwbG9hZF9fbGlzdCcpO1xuXG4gICAgICAgIHJldHVybiBlbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRmlsZUxpc3RJdGVtRE9NRWxlbWVudChmaWxlVXBsb2FkOiBFY2xGaWxlVXBsb2FkKTogSFRNTEVsZW1lbnQge1xuICAgICAgICBjb25zdCBsaUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaScpO1xuICAgICAgICBsaUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnZWNsLWZpbGUtdXBsb2FkX19pdGVtJyk7XG5cbiAgICAgICAgY29uc3QgZmlsZU5hbWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICBmaWxlTmFtZUVsZW1lbnQudGV4dENvbnRlbnQgPSBmaWxlVXBsb2FkLm5hbWU7XG4gICAgICAgIGZpbGVOYW1lRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdlY2wtZmlsZS11cGxvYWRfX2l0ZW0tbmFtZScpO1xuXG4gICAgICAgIGNvbnN0IGZpbGVNZXRhRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgZmlsZU1ldGFFbGVtZW50LnRleHRDb250ZW50ID0gYCR7ZmlsZVVwbG9hZC5zaXplfSAtICR7ZmlsZVVwbG9hZC5leHRlbnNpb259YDtcbiAgICAgICAgZmlsZU1ldGFFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2VjbC1maWxlLXVwbG9hZF9faXRlbS1tZXRhJyk7XG5cbiAgICAgICAgbGlFbGVtZW50LmFwcGVuZENoaWxkKGZpbGVOYW1lRWxlbWVudCk7XG4gICAgICAgIGxpRWxlbWVudC5hcHBlbmRDaGlsZChmaWxlTWV0YUVsZW1lbnQpO1xuXG4gICAgICAgIHJldHVybiBsaUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGaWxlTW9kZWxzKGZpbGVMaXN0OiBGaWxlTGlzdCk6IEFycmF5PEVjbEZpbGVVcGxvYWQ+IHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oZmlsZUxpc3QpLm1hcCgoZikgPT4gKHtcbiAgICAgICAgICAgIG5hbWU6IGYubmFtZSxcbiAgICAgICAgICAgIGV4dGVuc2lvbjogdGhpcy5nZXRGaWxlbmFtZUV4dGVuc2lvbihmLm5hbWUpLFxuICAgICAgICAgICAgc2l6ZTogdGhpcy5mb3JtYXRCeXRlcyhmLnNpemUpLFxuICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGaWxlbmFtZUV4dGVuc2lvbihmaWxlbmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBmaWxlbmFtZS5zcGxpdCgnLicpLnBvcCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0Qnl0ZXMoYnl0ZXMsIGRlY2ltYWxzID0gMikge1xuICAgICAgICBpZiAoYnl0ZXMgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiAnMCBCeXRlcyc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBrID0gMTAyNDtcbiAgICAgICAgY29uc3QgZG0gPSBkZWNpbWFscyA8IDAgPyAwIDogZGVjaW1hbHM7XG4gICAgICAgIGNvbnN0IHNpemVzID0gWydCeXRlcycsICdrQicsICdNQicsICdHQicsICdUQicsICdQQicsICdFQicsICdaQicsICdZQiddO1xuXG4gICAgICAgIGNvbnN0IGkgPSBNYXRoLmZsb29yKE1hdGgubG9nKGJ5dGVzKSAvIE1hdGgubG9nKGspKTtcblxuICAgICAgICByZXR1cm4gYCR7cGFyc2VGbG9hdCgoYnl0ZXMgLyBrICoqIGkpLnRvRml4ZWQoZG0pKX0gJHtzaXplc1tpXX1gO1xuICAgIH1cbn1cbiJdfQ==
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWZpbGUtdXBsb2FkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtZmlsZS11cGxvYWQvZWNsLWZpbGUtdXBsb2FkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBSUosWUFBWSxFQUNaLE1BQU0sRUFDTixZQUFZLEdBRWYsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXpELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7QUFFMUMsTUFBTSxPQUFPLDhCQUErQixTQUFRLFlBQVk7SUFDNUQsWUFBbUIsS0FBMkI7UUFDMUMsS0FBSyxFQUFFLENBQUM7UUFETyxVQUFLLEdBQUwsS0FBSyxDQUFzQjtJQUU5QyxDQUFDO0NBQ0o7QUFLRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsZ0JBQWdCO0lBeUJ4RCxZQUNrQyxTQUFvQixFQUMxQyxFQUFjLEVBQ2QsU0FBMkI7UUFFbkMsS0FBSyxFQUFFLENBQUM7UUFKc0IsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUMxQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUEzQjlCLFlBQU8sR0FBVyxTQUFTLENBQUM7UUFDNUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQWExQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFrQyxDQUFDO1FBRW5ELFNBQUks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SW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBEb0NoZWNrLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgT25Jbml0LFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFY2xGaWxlVXBsb2FkIH0gZnJvbSAnLi4vLi4vbW9kZWwvZWNsLWZpbGUtdXBsb2FkLm1vZGVsJztcbmltcG9ydCB7IEVjbEJhc2VFdmVudCB9IGZyb20gJy4uLy4uL21vZGVsL2VjbC1iYXNlLmV2ZW50JztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhbiB9IGZyb20gJ0BldWkvYmFzZSc7XG5cbmV4cG9ydCBjbGFzcyBFY2xGaWxlVXBsb2FkRmlsZVNlbGVjdGVkRXZlbnQgZXh0ZW5kcyBFY2xCYXNlRXZlbnQge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBmaWxlczogQXJyYXk8RWNsRmlsZVVwbG9hZD4pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2VjbEZpbGVVcGxvYWRdJyxcbn0pXG5leHBvcnQgY2xhc3MgRWNsRmlsZVVwbG9hZERpcmVjdGl2ZSBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgRG9DaGVjayB7XG4gICAgQElucHV0KCkgdmFyaWFudDogc3RyaW5nID0gJ2RlZmF1bHQnO1xuICAgIEBJbnB1dCgpIGlzSW52YWxpZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIEBIb3N0QmluZGluZygnYXR0ci5pZCcpIGlkOiBzdHJpbmc7XG5cbiAgICBAY29lcmNlQm9vbGVhblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRpc2FibGVkJylcbiAgICBkaXNhYmxlZDogYm9vbGVhbiB8IGFueTtcblxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIubXVsdGlwbGUnKVxuICAgIG11bHRpcGxlOiBib29sZWFuIHwgYW55O1xuXG4gICAgQE91dHB1dCgpIGZpbGVzU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEVjbEZpbGVVcGxvYWRGaWxlU2VsZWN0ZWRFdmVudD4oKTtcblxuICAgIEBIb3N0QmluZGluZygnYXR0ci50eXBlJykgdHlwZTogc3RyaW5nID0gJ2ZpbGUnO1xuICAgIHByaXZhdGUgZmlsZUxpc3RFbDogSFRNTEVsZW1lbnQ7XG5cbiAgICBwcml2YXRlIGZpbGVzOiBFY2xGaWxlVXBsb2FkW10gPSBbXTtcbiAgICBwcml2YXRlIGJ1dHRvbkVsOiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIGxhYmVsRWw6IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHJvdGVjdGVkIG5nQ29udHJvbDogTmdDb250cm9sLFxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCkge1xuICAgICAgICByZXR1cm4gW3N1cGVyLmdldENzc0NsYXNzZXMoJ2VjbC1maWxlLXVwbG9hZCcpXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZWNsLWZpbGUtdXBsb2FkLS1pbnZhbGlkJylcbiAgICBnZXQgaW52YWxpZFN0YXRlKCkge1xuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5nQ29udHJvbC5zdGF0dXMgPT09ICdJTlZBTElEJyAmJiB0aGlzLm5nQ29udHJvbC50b3VjaGVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNJbnZhbGlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlRE9NU3RydWN0dXJlKCk7XG4gICAgICAgIHRoaXMuaGFuZGxlVHJhbnNsYXRpb25zKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIG5nRG9DaGVjaygpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9uRWwuc2V0QXR0cmlidXRlKCdkaXNhYmxlZCcsICcnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9uRWwucmVtb3ZlQXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKSBvbkNsaWNrKGV2dDogRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2hhbmdlJywgWyckZXZlbnQnXSkgb25GaWxlc1NlbGVjdGVkKGV2dDogRXZlbnQpIHtcbiAgICAgICAgY29uc3QgaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50ID0gZXZ0LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICBjb25zdCBmaWxlTGlzdDogRmlsZUxpc3QgPSBpbnB1dEVsZW1lbnQuZmlsZXM7XG4gICAgICAgIHRoaXMuZmlsZXMgPSB0aGlzLmdldEZpbGVNb2RlbHMoZmlsZUxpc3QpO1xuXG4gICAgICAgIGNvbnN0IGZpbGVFdmVudCA9IG5ldyBFY2xGaWxlVXBsb2FkRmlsZVNlbGVjdGVkRXZlbnQodGhpcy5maWxlcyk7XG4gICAgICAgIHRoaXMuZmlsZXNTZWxlY3RlZC5uZXh0KGZpbGVFdmVudCk7XG5cbiAgICAgICAgaWYgKCFmaWxlRXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVUcmFuc2xhdGlvbnMoKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTGlzdEl0ZW1zRE9NKHRoaXMuZmlsZXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVUcmFuc2xhdGlvbnMoKSB7XG4gICAgICAgIGNvbnN0IHVwbG9hZEJ1dHRvbkxhYmVsS2V5ID0gdGhpcy5nZXRpMThuVXBsb2FkQnV0dG9uTGFiZWxLZXkoKTtcblxuICAgICAgICB0aGlzLnRyYW5zbGF0ZVxuICAgICAgICAgICAgLnN0cmVhbSh1cGxvYWRCdXR0b25MYWJlbEtleSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHRyYW5zbGF0aW9uOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5idXR0b25FbCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJ1dHRvbkVsLnRleHRDb250ZW50ID0gdHJhbnNsYXRpb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRpMThuVXBsb2FkQnV0dG9uTGFiZWxLZXkoKSB7XG4gICAgICAgIGxldCBrZXk6IHN0cmluZyA9ICcnO1xuXG4gICAgICAgIGlmICh0aGlzLmZpbGVzICYmIHRoaXMuZmlsZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgIGtleSA9ICdlY2wuZmlsZS11cGxvYWQuUkVQTEFDRS1GSUxFUyc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGtleSA9ICdlY2wuZmlsZS11cGxvYWQuUkVQTEFDRS1GSUxFJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAga2V5ID0gJ2VjbC5maWxlLXVwbG9hZC5DSE9PU0UtRklMRVMnO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBrZXkgPSAnZWNsLmZpbGUtdXBsb2FkLkNIT09TRS1GSUxFJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBrZXk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVMaXN0SXRlbXNET00oZmlsZXM6IEVjbEZpbGVVcGxvYWRbXSkge1xuICAgICAgICB0aGlzLmZpbGVMaXN0RWwuaW5uZXJIVE1MID0gJyc7XG4gICAgICAgIGZpbGVzLmZvckVhY2goKGZpbGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmNyZWF0ZUZpbGVMaXN0SXRlbURPTUVsZW1lbnQoZmlsZSk7XG4gICAgICAgICAgICB0aGlzLmZpbGVMaXN0RWwuYXBwZW5kQ2hpbGQoaXRlbSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRE9NU3RydWN0dXJlKCkge1xuICAgICAgICBjb25zdCBsYWJlbEVsID0gdGhpcy5jcmVhdGVMYWJlbERPTUVsZW1lbnQoKTtcbiAgICAgICAgY29uc3QgaG9zdEVsID0gdGhpcy5nZXRIb3N0RE9NRWxlbWVudCgpO1xuICAgICAgICBjb25zdCBmaWxlTGlzdEVsID0gdGhpcy5jcmVhdGVGaWxlTGlzdERPTUVsZW1lbnQoKTtcblxuICAgICAgICBob3N0RWwuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCdhZnRlcmVuZCcsIGZpbGVMaXN0RWwpO1xuICAgICAgICBob3N0RWwuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCdhZnRlcmVuZCcsIGxhYmVsRWwpO1xuXG4gICAgICAgIHRoaXMuZmlsZUxpc3RFbCA9IGZpbGVMaXN0RWw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRIb3N0RE9NRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUxhYmVsRE9NRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHRoaXMuYnV0dG9uRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgIHRoaXMuYnV0dG9uRWwuY2xhc3NMaXN0LmFkZCgnZWNsLWJ1dHRvbicsICdlY2wtYnV0dG9uLS1wcmltYXJ5JywgJ2VjbC1maWxlLXVwbG9hZF9fYnV0dG9uJyk7XG5cbiAgICAgICAgdGhpcy5sYWJlbEVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGFiZWwnKTtcbiAgICAgICAgdGhpcy5sYWJlbEVsLnNldEF0dHJpYnV0ZSgnZm9yJywgdGhpcy5pZCk7XG4gICAgICAgIHRoaXMubGFiZWxFbC5jbGFzc0xpc3QuYWRkKCdlY2wtZmlsZS11cGxvYWRfX2J1dHRvbi1jb250YWluZXInKTtcblxuICAgICAgICB0aGlzLmxhYmVsRWwuYXBwZW5kQ2hpbGQodGhpcy5idXR0b25FbCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubGFiZWxFbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUZpbGVMaXN0RE9NRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd1bCcpO1xuICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2VjbC1maWxlLXVwbG9hZF9fbGlzdCcpO1xuXG4gICAgICAgIHJldHVybiBlbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRmlsZUxpc3RJdGVtRE9NRWxlbWVudChmaWxlVXBsb2FkOiBFY2xGaWxlVXBsb2FkKTogSFRNTEVsZW1lbnQge1xuICAgICAgICBjb25zdCBsaUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaScpO1xuICAgICAgICBsaUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnZWNsLWZpbGUtdXBsb2FkX19pdGVtJyk7XG5cbiAgICAgICAgY29uc3QgZmlsZU5hbWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICBmaWxlTmFtZUVsZW1lbnQudGV4dENvbnRlbnQgPSBmaWxlVXBsb2FkLm5hbWU7XG4gICAgICAgIGZpbGVOYW1lRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdlY2wtZmlsZS11cGxvYWRfX2l0ZW0tbmFtZScpO1xuXG4gICAgICAgIGNvbnN0IGZpbGVNZXRhRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgZmlsZU1ldGFFbGVtZW50LnRleHRDb250ZW50ID0gYCR7ZmlsZVVwbG9hZC5zaXplfSAtICR7ZmlsZVVwbG9hZC5leHRlbnNpb259YDtcbiAgICAgICAgZmlsZU1ldGFFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2VjbC1maWxlLXVwbG9hZF9faXRlbS1tZXRhJyk7XG5cbiAgICAgICAgbGlFbGVtZW50LmFwcGVuZENoaWxkKGZpbGVOYW1lRWxlbWVudCk7XG4gICAgICAgIGxpRWxlbWVudC5hcHBlbmRDaGlsZChmaWxlTWV0YUVsZW1lbnQpO1xuXG4gICAgICAgIHJldHVybiBsaUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGaWxlTW9kZWxzKGZpbGVMaXN0OiBGaWxlTGlzdCk6IEFycmF5PEVjbEZpbGVVcGxvYWQ+IHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oZmlsZUxpc3QpLm1hcCgoZikgPT4gKHtcbiAgICAgICAgICAgIG5hbWU6IGYubmFtZSxcbiAgICAgICAgICAgIGV4dGVuc2lvbjogdGhpcy5nZXRGaWxlbmFtZUV4dGVuc2lvbihmLm5hbWUpLFxuICAgICAgICAgICAgc2l6ZTogdGhpcy5mb3JtYXRCeXRlcyhmLnNpemUpLFxuICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGaWxlbmFtZUV4dGVuc2lvbihmaWxlbmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBmaWxlbmFtZS5zcGxpdCgnLicpLnBvcCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0Qnl0ZXMoYnl0ZXMsIGRlY2ltYWxzID0gMikge1xuICAgICAgICBpZiAoYnl0ZXMgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiAnMCBCeXRlcyc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBrID0gMTAyNDtcbiAgICAgICAgY29uc3QgZG0gPSBkZWNpbWFscyA8IDAgPyAwIDogZGVjaW1hbHM7XG4gICAgICAgIGNvbnN0IHNpemVzID0gWydCeXRlcycsICdrQicsICdNQicsICdHQicsICdUQicsICdQQicsICdFQicsICdaQicsICdZQiddO1xuXG4gICAgICAgIGNvbnN0IGkgPSBNYXRoLmZsb29yKE1hdGgubG9nKGJ5dGVzKSAvIE1hdGgubG9nKGspKTtcblxuICAgICAgICByZXR1cm4gYCR7cGFyc2VGbG9hdCgoYnl0ZXMgLyBrICoqIGkpLnRvRml4ZWQoZG0pKX0gJHtzaXplc1tpXX1gO1xuICAgIH1cbn1cbiJdfQ==
@@ -3,11 +3,11 @@ import { CommonModule } from '@angular/common';
3
3
  import { EclFileUploadDirective } from './ecl-file-upload.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  export class EclFileUploadDirectiveModule {
6
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFileUploadDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFileUploadDirectiveModule, declarations: [EclFileUploadDirective], imports: [CommonModule], exports: [EclFileUploadDirective] }); }
8
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFileUploadDirectiveModule, imports: [CommonModule] }); }
6
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFileUploadDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFileUploadDirectiveModule, declarations: [EclFileUploadDirective], imports: [CommonModule], exports: [EclFileUploadDirective] }); }
8
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFileUploadDirectiveModule, imports: [CommonModule] }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFileUploadDirectiveModule, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFileUploadDirectiveModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  imports: [CommonModule],
@@ -5,10 +5,10 @@ export class EclFormGroupComponent extends ECLBaseDirective {
5
5
  get cssClasses() {
6
6
  return [super.getCssClasses('ecl-form-group')].join(' ').trim();
7
7
  }
8
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFormGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
9
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.4", type: EclFormGroupComponent, selector: "[eclFormGroup], ecl-form-group", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
8
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFormGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
9
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.7", type: EclFormGroupComponent, selector: "[eclFormGroup], ecl-form-group", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFormGroupComponent, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFormGroupComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{ selector: '[eclFormGroup], ecl-form-group', template: "<ng-content></ng-content>\n" }]
14
14
  }], propDecorators: { cssClasses: [{
@@ -5,11 +5,11 @@ import { TranslateModule } from '@ngx-translate/core';
5
5
  import { EclFormGroupComponent } from './ecl-form-group.component';
6
6
  import * as i0 from "@angular/core";
7
7
  export class EclFormGroupComponentModule {
8
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFormGroupComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFormGroupComponentModule, declarations: [EclFormGroupComponent], imports: [CommonModule, EclFormLabelComponentModule, TranslateModule], exports: [EclFormGroupComponent] }); }
10
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFormGroupComponentModule, imports: [CommonModule, EclFormLabelComponentModule, TranslateModule] }); }
8
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFormGroupComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFormGroupComponentModule, declarations: [EclFormGroupComponent], imports: [CommonModule, EclFormLabelComponentModule, TranslateModule], exports: [EclFormGroupComponent] }); }
10
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFormGroupComponentModule, imports: [CommonModule, EclFormLabelComponentModule, TranslateModule] }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFormGroupComponentModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFormGroupComponentModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  imports: [CommonModule, EclFormLabelComponentModule, TranslateModule],
@@ -22,8 +22,8 @@ export class EclFormLabelComponent extends ECLBaseDirective {
22
22
  .join(' ')
23
23
  .trim();
24
24
  }
25
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFormLabelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
26
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.4", type: EclFormLabelComponent, selector: "[eclFormLabel]", inputs: { isOptional: "isOptional", isInvalid: "isInvalid", isDisabled: "isDisabled", isRequired: "isRequired" }, host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<span *ngIf=\"isOptional\" class=\"ecl-form-label__optional\"> ({{ 'ecl.form-label.OPTIONAL' | translate }})</span>\n<span *ngIf=\"isRequired\" class=\"ecl-form-label__required\">*</span>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFormLabelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
26
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.7", type: EclFormLabelComponent, selector: "[eclFormLabel]", inputs: { isOptional: "isOptional", isInvalid: "isInvalid", isDisabled: "isDisabled", isRequired: "isRequired" }, host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<span *ngIf=\"isOptional\" class=\"ecl-form-label__optional\"> ({{ 'ecl.form-label.OPTIONAL' | translate }})</span>\n<span *ngIf=\"isRequired\" class=\"ecl-form-label__required\">*</span>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
27
  }
28
28
  __decorate([
29
29
  coerceBoolean
@@ -37,7 +37,7 @@ __decorate([
37
37
  __decorate([
38
38
  coerceBoolean
39
39
  ], EclFormLabelComponent.prototype, "isRequired", void 0);
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFormLabelComponent, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFormLabelComponent, decorators: [{
41
41
  type: Component,
42
42
  args: [{ selector: '[eclFormLabel]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n<span *ngIf=\"isOptional\" class=\"ecl-form-label__optional\"> ({{ 'ecl.form-label.OPTIONAL' | translate }})</span>\n<span *ngIf=\"isRequired\" class=\"ecl-form-label__required\">*</span>\n" }]
43
43
  }], propDecorators: { isOptional: [{
@@ -4,11 +4,11 @@ import { EclFormLabelComponent } from './ecl-form-label.component';
4
4
  import { TranslateModule } from '@ngx-translate/core';
5
5
  import * as i0 from "@angular/core";
6
6
  export class EclFormLabelComponentModule {
7
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFormLabelComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFormLabelComponentModule, declarations: [EclFormLabelComponent], imports: [CommonModule, TranslateModule], exports: [EclFormLabelComponent] }); }
9
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFormLabelComponentModule, imports: [CommonModule, TranslateModule] }); }
7
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFormLabelComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFormLabelComponentModule, declarations: [EclFormLabelComponent], imports: [CommonModule, TranslateModule], exports: [EclFormLabelComponent] }); }
9
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFormLabelComponentModule, imports: [CommonModule, TranslateModule] }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclFormLabelComponentModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclFormLabelComponentModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  imports: [CommonModule, TranslateModule],
@@ -38,13 +38,13 @@ export class EclGalleryFooterComponent {
38
38
  this._isExpanded = !this._isExpanded;
39
39
  this.toggleItems.next(new EclGalleryToggleItemsEvent(this.isExpanded));
40
40
  }
41
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclGalleryFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
42
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.4", type: EclGalleryFooterComponent, selector: "ecl-gallery-footer", outputs: { toggleItems: "toggleItems" }, ngImport: i0, template: "<div class=\"ecl-gallery__footer\">\n <div class=\"ecl-gallery__info\">\n <strong class=\"ecl-gallery__info-total\">{{ itemsCount }}</strong>\n {{ 'ecl.gallery.MEDIA-FILES-COUNT' | translate }}\n <ng-container *ngIf=\"isShowToggleBtn\">\n <button *ngIf=\"!isExpanded\" eclButton variant=\"ghost\" class=\"ecl-gallery__view-all\" (click)=\"onToggle()\">\n {{ 'ecl.gallery.VIEW-ALL' | translate }}\n </button>\n <button *ngIf=\"isExpanded\" eclButton variant=\"ghost\" class=\"ecl-gallery__view-all\" (click)=\"onToggle()\">\n {{ 'ecl.common.BACK' | translate }}\n </button>\n </ng-container>\n </div>\n <hr class=\"ecl-gallery__footer-divider\" />\n <div class=\"ecl-gallery__footer-link\">\n <ng-content></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["variant", "containerStyleClass"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
41
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclGalleryFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
42
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.7", type: EclGalleryFooterComponent, selector: "ecl-gallery-footer", outputs: { toggleItems: "toggleItems" }, ngImport: i0, template: "<div class=\"ecl-gallery__footer\">\n <div class=\"ecl-gallery__info\">\n <strong class=\"ecl-gallery__info-total\">{{ itemsCount }}</strong>\n {{ 'ecl.gallery.MEDIA-FILES-COUNT' | translate }}\n <ng-container *ngIf=\"isShowToggleBtn\">\n <button *ngIf=\"!isExpanded\" eclButton variant=\"ghost\" class=\"ecl-gallery__view-all\" (click)=\"onToggle()\">\n {{ 'ecl.gallery.VIEW-ALL' | translate }}\n </button>\n <button *ngIf=\"isExpanded\" eclButton variant=\"ghost\" class=\"ecl-gallery__view-all\" (click)=\"onToggle()\">\n {{ 'ecl.common.COLLAPSE' | translate }}\n </button>\n </ng-container>\n </div>\n <hr class=\"ecl-gallery__footer-divider\" />\n <div class=\"ecl-gallery__footer-link\">\n <ng-content></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["variant", "containerStyleClass"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
43
43
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclGalleryFooterComponent, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclGalleryFooterComponent, decorators: [{
45
45
  type: Component,
46
- args: [{ selector: 'ecl-gallery-footer', template: "<div class=\"ecl-gallery__footer\">\n <div class=\"ecl-gallery__info\">\n <strong class=\"ecl-gallery__info-total\">{{ itemsCount }}</strong>\n {{ 'ecl.gallery.MEDIA-FILES-COUNT' | translate }}\n <ng-container *ngIf=\"isShowToggleBtn\">\n <button *ngIf=\"!isExpanded\" eclButton variant=\"ghost\" class=\"ecl-gallery__view-all\" (click)=\"onToggle()\">\n {{ 'ecl.gallery.VIEW-ALL' | translate }}\n </button>\n <button *ngIf=\"isExpanded\" eclButton variant=\"ghost\" class=\"ecl-gallery__view-all\" (click)=\"onToggle()\">\n {{ 'ecl.common.BACK' | translate }}\n </button>\n </ng-container>\n </div>\n <hr class=\"ecl-gallery__footer-divider\" />\n <div class=\"ecl-gallery__footer-link\">\n <ng-content></ng-content>\n </div>\n</div>\n" }]
46
+ args: [{ selector: 'ecl-gallery-footer', template: "<div class=\"ecl-gallery__footer\">\n <div class=\"ecl-gallery__info\">\n <strong class=\"ecl-gallery__info-total\">{{ itemsCount }}</strong>\n {{ 'ecl.gallery.MEDIA-FILES-COUNT' | translate }}\n <ng-container *ngIf=\"isShowToggleBtn\">\n <button *ngIf=\"!isExpanded\" eclButton variant=\"ghost\" class=\"ecl-gallery__view-all\" (click)=\"onToggle()\">\n {{ 'ecl.gallery.VIEW-ALL' | translate }}\n </button>\n <button *ngIf=\"isExpanded\" eclButton variant=\"ghost\" class=\"ecl-gallery__view-all\" (click)=\"onToggle()\">\n {{ 'ecl.common.COLLAPSE' | translate }}\n </button>\n </ng-container>\n </div>\n <hr class=\"ecl-gallery__footer-divider\" />\n <div class=\"ecl-gallery__footer-link\">\n <ng-content></ng-content>\n </div>\n</div>\n" }]
47
47
  }], propDecorators: { toggleItems: [{
48
48
  type: Output
49
49
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWdhbGxlcnktZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtZ2FsbGVyeS9lY2wtZ2FsbGVyeS1mb290ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1nYWxsZXJ5L2VjbC1nYWxsZXJ5LWZvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7QUFFM0MsTUFBTSxPQUFPLDBCQUEyQixTQUFRLFlBQVk7SUFDeEQsWUFBbUIsU0FBa0I7UUFDakMsS0FBSyxFQUFFLENBQUM7UUFETyxjQUFTLEdBQVQsU0FBUyxDQUFTO0lBRXJDLENBQUM7Q0FDSjtBQUtELE1BQU0sT0FBTyx5QkFBeUI7SUFKdEM7UUFLYyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUE4QixDQUFDO1FBd0IvRCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7S0FNcEM7SUE3QkcsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLFVBQVUsQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLEtBQWE7UUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7SUFDRCxJQUFJLGVBQWUsQ0FBQyxLQUFjO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQU1ELFFBQVE7UUFDSixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLDBCQUEwQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7d0lBL0JRLHlCQUF5Qjs0SEFBekIseUJBQXlCLG1HQ1p0Qyw4MUJBa0JBOztrR0ROYSx5QkFBeUI7a0JBSnJDLFNBQVM7K0JBQ0ksb0JBQW9COzhCQUlwQixXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWNsQmFzZUV2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgRWNsR2FsbGVyeVRvZ2dsZUl0ZW1zRXZlbnQgZXh0ZW5kcyBFY2xCYXNlRXZlbnQge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBleHBhbmRBbGw6IGJvb2xlYW4pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG59XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VjbC1nYWxsZXJ5LWZvb3RlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC1nYWxsZXJ5LWZvb3Rlci5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEVjbEdhbGxlcnlGb290ZXJDb21wb25lbnQge1xuICAgIEBPdXRwdXQoKSB0b2dnbGVJdGVtcyA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsR2FsbGVyeVRvZ2dsZUl0ZW1zRXZlbnQ+KCk7XG5cbiAgICBnZXQgaXNFeHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzRXhwYW5kZWQ7XG4gICAgfVxuICAgIHNldCBpc0V4cGFuZGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2lzRXhwYW5kZWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgaXRlbXNDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5faXRlbXNDb3VudDtcbiAgICB9XG4gICAgc2V0IGl0ZW1zQ291bnQodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9pdGVtc0NvdW50ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGlzU2hvd1RvZ2dsZUJ0bigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzU2hvd1RvZ2dsZUJ0bjtcbiAgICB9XG4gICAgc2V0IGlzU2hvd1RvZ2dsZUJ0bih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9pc1Nob3dUb2dnbGVCdG4gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9pdGVtc0NvdW50OiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfaXNFeHBhbmRlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2lzU2hvd1RvZ2dsZUJ0biA9IGZhbHNlO1xuXG4gICAgb25Ub2dnbGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2lzRXhwYW5kZWQgPSAhdGhpcy5faXNFeHBhbmRlZDtcbiAgICAgICAgdGhpcy50b2dnbGVJdGVtcy5uZXh0KG5ldyBFY2xHYWxsZXJ5VG9nZ2xlSXRlbXNFdmVudCh0aGlzLmlzRXhwYW5kZWQpKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZWNsLWdhbGxlcnlfX2Zvb3RlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJlY2wtZ2FsbGVyeV9faW5mb1wiPlxuICAgICAgICA8c3Ryb25nIGNsYXNzPVwiZWNsLWdhbGxlcnlfX2luZm8tdG90YWxcIj57eyBpdGVtc0NvdW50IH19PC9zdHJvbmc+XG4gICAgICAgIHt7ICdlY2wuZ2FsbGVyeS5NRURJQS1GSUxFUy1DT1VOVCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzU2hvd1RvZ2dsZUJ0blwiPlxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFpc0V4cGFuZGVkXCIgZWNsQnV0dG9uIHZhcmlhbnQ9XCJnaG9zdFwiIGNsYXNzPVwiZWNsLWdhbGxlcnlfX3ZpZXctYWxsXCIgKGNsaWNrKT1cIm9uVG9nZ2xlKClcIj5cbiAgICAgICAgICAgICAgICB7eyAnZWNsLmdhbGxlcnkuVklFVy1BTEwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJpc0V4cGFuZGVkXCIgZWNsQnV0dG9uIHZhcmlhbnQ9XCJnaG9zdFwiIGNsYXNzPVwiZWNsLWdhbGxlcnlfX3ZpZXctYWxsXCIgKGNsaWNrKT1cIm9uVG9nZ2xlKClcIj5cbiAgICAgICAgICAgICAgICB7eyAnZWNsLmNvbW1vbi5CQUNLJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxociBjbGFzcz1cImVjbC1nYWxsZXJ5X19mb290ZXItZGl2aWRlclwiIC8+XG4gICAgPGRpdiBjbGFzcz1cImVjbC1nYWxsZXJ5X19mb290ZXItbGlua1wiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWdhbGxlcnktZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtZ2FsbGVyeS9lY2wtZ2FsbGVyeS1mb290ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1nYWxsZXJ5L2VjbC1nYWxsZXJ5LWZvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7QUFFM0MsTUFBTSxPQUFPLDBCQUEyQixTQUFRLFlBQVk7SUFDeEQsWUFBbUIsU0FBa0I7UUFDakMsS0FBSyxFQUFFLENBQUM7UUFETyxjQUFTLEdBQVQsU0FBUyxDQUFTO0lBRXJDLENBQUM7Q0FDSjtBQUtELE1BQU0sT0FBTyx5QkFBeUI7SUFKdEM7UUFLYyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUE4QixDQUFDO1FBd0IvRCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7S0FNcEM7SUE3QkcsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLFVBQVUsQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLEtBQWE7UUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7SUFDRCxJQUFJLGVBQWUsQ0FBQyxLQUFjO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQU1ELFFBQVE7UUFDSixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLDBCQUEwQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7d0lBL0JRLHlCQUF5Qjs0SEFBekIseUJBQXlCLG1HQ1p0QyxrMkJBa0JBOztrR0ROYSx5QkFBeUI7a0JBSnJDLFNBQVM7K0JBQ0ksb0JBQW9COzhCQUlwQixXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWNsQmFzZUV2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgRWNsR2FsbGVyeVRvZ2dsZUl0ZW1zRXZlbnQgZXh0ZW5kcyBFY2xCYXNlRXZlbnQge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBleHBhbmRBbGw6IGJvb2xlYW4pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG59XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VjbC1nYWxsZXJ5LWZvb3RlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC1nYWxsZXJ5LWZvb3Rlci5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEVjbEdhbGxlcnlGb290ZXJDb21wb25lbnQge1xuICAgIEBPdXRwdXQoKSB0b2dnbGVJdGVtcyA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsR2FsbGVyeVRvZ2dsZUl0ZW1zRXZlbnQ+KCk7XG5cbiAgICBnZXQgaXNFeHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzRXhwYW5kZWQ7XG4gICAgfVxuICAgIHNldCBpc0V4cGFuZGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2lzRXhwYW5kZWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgaXRlbXNDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5faXRlbXNDb3VudDtcbiAgICB9XG4gICAgc2V0IGl0ZW1zQ291bnQodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9pdGVtc0NvdW50ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGlzU2hvd1RvZ2dsZUJ0bigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzU2hvd1RvZ2dsZUJ0bjtcbiAgICB9XG4gICAgc2V0IGlzU2hvd1RvZ2dsZUJ0bih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9pc1Nob3dUb2dnbGVCdG4gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9pdGVtc0NvdW50OiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfaXNFeHBhbmRlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2lzU2hvd1RvZ2dsZUJ0biA9IGZhbHNlO1xuXG4gICAgb25Ub2dnbGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2lzRXhwYW5kZWQgPSAhdGhpcy5faXNFeHBhbmRlZDtcbiAgICAgICAgdGhpcy50b2dnbGVJdGVtcy5uZXh0KG5ldyBFY2xHYWxsZXJ5VG9nZ2xlSXRlbXNFdmVudCh0aGlzLmlzRXhwYW5kZWQpKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZWNsLWdhbGxlcnlfX2Zvb3RlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJlY2wtZ2FsbGVyeV9faW5mb1wiPlxuICAgICAgICA8c3Ryb25nIGNsYXNzPVwiZWNsLWdhbGxlcnlfX2luZm8tdG90YWxcIj57eyBpdGVtc0NvdW50IH19PC9zdHJvbmc+XG4gICAgICAgIHt7ICdlY2wuZ2FsbGVyeS5NRURJQS1GSUxFUy1DT1VOVCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzU2hvd1RvZ2dsZUJ0blwiPlxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFpc0V4cGFuZGVkXCIgZWNsQnV0dG9uIHZhcmlhbnQ9XCJnaG9zdFwiIGNsYXNzPVwiZWNsLWdhbGxlcnlfX3ZpZXctYWxsXCIgKGNsaWNrKT1cIm9uVG9nZ2xlKClcIj5cbiAgICAgICAgICAgICAgICB7eyAnZWNsLmdhbGxlcnkuVklFVy1BTEwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJpc0V4cGFuZGVkXCIgZWNsQnV0dG9uIHZhcmlhbnQ9XCJnaG9zdFwiIGNsYXNzPVwiZWNsLWdhbGxlcnlfX3ZpZXctYWxsXCIgKGNsaWNrKT1cIm9uVG9nZ2xlKClcIj5cbiAgICAgICAgICAgICAgICB7eyAnZWNsLmNvbW1vbi5DT0xMQVBTRScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8aHIgY2xhc3M9XCJlY2wtZ2FsbGVyeV9fZm9vdGVyLWRpdmlkZXJcIiAvPlxuICAgIDxkaXYgY2xhc3M9XCJlY2wtZ2FsbGVyeV9fZm9vdGVyLWxpbmtcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,4 +1,6 @@
1
+ import { __decorate } from "tslib";
1
2
  import { Component, ContentChild, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';
3
+ import { coerceBoolean } from '@eui/base';
2
4
  import { EclBaseEvent } from '../../model/ecl-base.event';
3
5
  import { ECLBaseDirective } from '../ecl-base.directive';
4
6
  import { EclGalleryMediaDirective, EclGalleryPictureDirective } from './ecl-gallery-media.directive';
@@ -16,12 +18,16 @@ export class EclGalleryItemComponent extends ECLBaseDirective {
16
18
  super();
17
19
  this.domSanitizer = domSanitizer;
18
20
  this.el = el;
21
+ this.isShareable = true;
19
22
  this.mediaType = 'image';
20
23
  this.itemClick = new EventEmitter();
21
24
  this.role = 'listitem';
22
25
  this._isNoOverlay = false;
23
26
  this._isHidden = false;
24
27
  }
28
+ ngOnInit() {
29
+ this.externalVideoUrl = this.domSanitizer.bypassSecurityTrustResourceUrl(this.src);
30
+ }
25
31
  set isHidden(value) {
26
32
  this._isHidden = value;
27
33
  }
@@ -33,7 +39,7 @@ export class EclGalleryItemComponent extends ECLBaseDirective {
33
39
  return this.src;
34
40
  }
35
41
  getUrlExternalVideo() {
36
- return this.domSanitizer.bypassSecurityTrustResourceUrl(this.src);
42
+ return this.externalVideoUrl;
37
43
  }
38
44
  get isNoOverlay() {
39
45
  return this._isNoOverlay;
@@ -50,22 +56,31 @@ export class EclGalleryItemComponent extends ECLBaseDirective {
50
56
  get isExternalVideo() {
51
57
  return this.mediaType === 'externalVideo';
52
58
  }
59
+ /**
60
+ * @deprecated
61
+ * The name 'isDownloadable' is deprecated and should be removed as of version 17.
62
+ */
53
63
  get isDownloadable() {
54
64
  return this.mediaType !== 'externalVideo';
55
65
  }
56
- get isShareable() {
66
+ get isOpenInFullScreenPossible() {
57
67
  return this.mediaType !== 'externalVideo';
58
68
  }
59
69
  get hasPictureChild() {
60
70
  return !!this.pictureChild;
61
71
  }
62
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclGalleryItemComponent, deps: [{ token: i1.DomSanitizer }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
63
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.4", type: EclGalleryItemComponent, selector: "ecl-gallery-item", inputs: { mediaType: "mediaType", src: "src", label: "label", meta: "meta", description: "description", icon: "icon" }, outputs: { itemClick: "itemClick" }, host: { listeners: { "click": "onItemClick($event)" }, properties: { "class": "this.cssClasses", "attr.role": "this.role" } }, queries: [{ propertyName: "pictureChild", first: true, predicate: EclGalleryPictureDirective, descendants: true }, { propertyName: "mediaChild", first: true, predicate: EclGalleryMediaDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<a [href]=\"src\" class=\"ecl-gallery__item-link\" [attr.aria-label]=\"label\" [class.ecl-gallery__item__link--frozen]=\"isNoOverlay\">\n <figure class=\"ecl-gallery__image-container\">\n <div *ngIf=\"mediaType !== 'image'\" class=\"ecl-gallery__item-icon-wrapper\">\n <ecl-icon isInverted class=\"ecl-gallery__item-icon\" icon=\"play-filled\" size=\"l\"></ecl-icon>\n </div>\n <!-- TODO: Remove this code in 18 version -->\n <ng-container *ngIf=\"hasPictureChild\">\n <ng-content select=\"[eclGalleryPicture]\"></ng-content>\n </ng-container>\n <ng-container *ngIf=\"!hasPictureChild\">\n <picture *ngIf=\"isImage || isExternalVideo\" class=\"ecl-picture ecl-gallery__picture\">\n <ng-content *ngTemplateOutlet=\"galleryMedia\"></ng-content>\n </picture>\n <ng-container *ngIf=\"isVideo\"><ng-content *ngTemplateOutlet=\"galleryMedia\"></ng-content></ng-container>\n </ng-container>\n <!-- TODO: Remove the above code in 18 version -->\n <figcaption class=\"ecl-gallery__description\">\n {{ description }}\n <ecl-icon *ngIf=\"icon\" class=\"ecl-gallery__description-icon\" [icon]=\"icon\"></ecl-icon>\n <span class=\"ecl-gallery__meta\">\n {{ meta }}\n </span>\n </figcaption>\n </figure>\n</a>\n<ng-template #galleryMedia>\n <ng-content select=\"[eclGalleryMedia], [eclGalleryImage]\"></ng-content>\n</ng-template>\n", styles: [".ecl-gallery__description{width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "isInverted", "ariaHidden", "focusable"] }] }); }
72
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclGalleryItemComponent, deps: [{ token: i1.DomSanitizer }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
73
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.7", type: EclGalleryItemComponent, selector: "ecl-gallery-item", inputs: { isShareable: "isShareable", mediaType: "mediaType", src: "src", label: "label", meta: "meta", description: "description", icon: "icon" }, outputs: { itemClick: "itemClick" }, host: { listeners: { "click": "onItemClick($event)" }, properties: { "class": "this.cssClasses", "attr.role": "this.role" } }, queries: [{ propertyName: "pictureChild", first: true, predicate: EclGalleryPictureDirective, descendants: true }, { propertyName: "mediaChild", first: true, predicate: EclGalleryMediaDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<a [href]=\"src\" class=\"ecl-gallery__item-link\" [attr.aria-label]=\"label\" [class.ecl-gallery__item__link--frozen]=\"isNoOverlay\">\n <figure class=\"ecl-gallery__image-container\">\n <div *ngIf=\"mediaType !== 'image'\" class=\"ecl-gallery__item-icon-wrapper\">\n <ecl-icon isInverted class=\"ecl-gallery__item-icon\" icon=\"play-filled\" size=\"l\"></ecl-icon>\n </div>\n <!-- TODO: Remove this code in 18 version -->\n <ng-container *ngIf=\"hasPictureChild\">\n <ng-content select=\"[eclGalleryPicture]\"></ng-content>\n </ng-container>\n <ng-container *ngIf=\"!hasPictureChild\">\n <picture *ngIf=\"isImage || isExternalVideo\" class=\"ecl-picture ecl-gallery__picture\">\n <ng-content *ngTemplateOutlet=\"galleryMedia\"></ng-content>\n </picture>\n <ng-container *ngIf=\"isVideo\"><ng-content *ngTemplateOutlet=\"galleryMedia\"></ng-content></ng-container>\n </ng-container>\n <!-- TODO: Remove the above code in 18 version -->\n <figcaption class=\"ecl-gallery__description\">\n {{ description }}\n <ecl-icon *ngIf=\"icon\" class=\"ecl-gallery__description-icon\" [icon]=\"icon\"></ecl-icon>\n <span class=\"ecl-gallery__meta\">\n {{ meta }}\n </span>\n </figcaption>\n </figure>\n</a>\n<ng-template #galleryMedia>\n <ng-content select=\"[eclGalleryMedia], [eclGalleryImage]\"></ng-content>\n</ng-template>\n", styles: [".ecl-gallery__description{width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "isInverted", "ariaHidden", "focusable"] }] }); }
64
74
  }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclGalleryItemComponent, decorators: [{
75
+ __decorate([
76
+ coerceBoolean
77
+ ], EclGalleryItemComponent.prototype, "isShareable", void 0);
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EclGalleryItemComponent, decorators: [{
66
79
  type: Component,
67
80
  args: [{ selector: 'ecl-gallery-item', template: "<a [href]=\"src\" class=\"ecl-gallery__item-link\" [attr.aria-label]=\"label\" [class.ecl-gallery__item__link--frozen]=\"isNoOverlay\">\n <figure class=\"ecl-gallery__image-container\">\n <div *ngIf=\"mediaType !== 'image'\" class=\"ecl-gallery__item-icon-wrapper\">\n <ecl-icon isInverted class=\"ecl-gallery__item-icon\" icon=\"play-filled\" size=\"l\"></ecl-icon>\n </div>\n <!-- TODO: Remove this code in 18 version -->\n <ng-container *ngIf=\"hasPictureChild\">\n <ng-content select=\"[eclGalleryPicture]\"></ng-content>\n </ng-container>\n <ng-container *ngIf=\"!hasPictureChild\">\n <picture *ngIf=\"isImage || isExternalVideo\" class=\"ecl-picture ecl-gallery__picture\">\n <ng-content *ngTemplateOutlet=\"galleryMedia\"></ng-content>\n </picture>\n <ng-container *ngIf=\"isVideo\"><ng-content *ngTemplateOutlet=\"galleryMedia\"></ng-content></ng-container>\n </ng-container>\n <!-- TODO: Remove the above code in 18 version -->\n <figcaption class=\"ecl-gallery__description\">\n {{ description }}\n <ecl-icon *ngIf=\"icon\" class=\"ecl-gallery__description-icon\" [icon]=\"icon\"></ecl-icon>\n <span class=\"ecl-gallery__meta\">\n {{ meta }}\n </span>\n </figcaption>\n </figure>\n</a>\n<ng-template #galleryMedia>\n <ng-content select=\"[eclGalleryMedia], [eclGalleryImage]\"></ng-content>\n</ng-template>\n", styles: [".ecl-gallery__description{width:100%}\n"] }]
68
- }], ctorParameters: function () { return [{ type: i1.DomSanitizer }, { type: i0.ElementRef }]; }, propDecorators: { mediaType: [{
81
+ }], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: i0.ElementRef }], propDecorators: { isShareable: [{
82
+ type: Input
83
+ }], mediaType: [{
69
84
  type: Input
70
85
  }], src: [{
71
86
  type: Input
@@ -95,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4",
95
110
  type: HostListener,
96
111
  args: ['click', ['$event']]
97
112
  }] } });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWdhbGxlcnktaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLWdhbGxlcnkvZWNsLWdhbGxlcnktaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLWdhbGxlcnkvZWNsLWdhbGxlcnktaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBYyxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7QUFFckcsTUFBTSxPQUFPLHdCQUF5QixTQUFRLFlBQVk7Q0FBRztBQWE3RCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsZ0JBQWdCO0lBV3pELElBQ0ksVUFBVTtRQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxSCxDQUFDO0lBTUQsWUFDWSxZQUEwQixFQUMzQixFQUFjO1FBRXJCLEtBQUssRUFBRSxDQUFDO1FBSEEsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDM0IsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQXJCaEIsY0FBUyxHQUF3QyxPQUFPLENBQUM7UUFNeEQsY0FBUyxHQUFHLElBQUksWUFBWSxFQUE0QixDQUFDO1FBUXpDLFNBQUksR0FBRyxVQUFVLENBQUM7UUFFcEMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsY0FBUyxHQUFHLEtBQUssQ0FBQztJQU8xQixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBR0QsV0FBVyxDQUFDLEdBQWU7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSx3QkFBd0IsRUFBRSxDQUFDLENBQUM7UUFDcEQsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxlQUFlO1FBQ1gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxtQkFBbUI7UUFDZixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLEtBQWM7UUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxPQUFPLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxPQUFPLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxlQUFlLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQUksY0FBYztRQUNkLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxlQUFlLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxlQUFlLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNmLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDL0IsQ0FBQzt3SUEzRVEsdUJBQXVCOzRIQUF2Qix1QkFBdUIsOFhBUWxCLDBCQUEwQiw2RUFDMUIsd0JBQXdCLHVFQzdCMUMsdy9DQTRCQTs7a0dEUmEsdUJBQXVCO2tCQVhuQyxTQUFTOytCQUNJLGtCQUFrQjs0SEFXbkIsU0FBUztzQkFBakIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNO2dCQUNtQyxZQUFZO3NCQUFyRCxZQUFZO3VCQUFDLDBCQUEwQjtnQkFDQSxVQUFVO3NCQUFqRCxZQUFZO3VCQUFDLHdCQUF3QjtnQkFHbEMsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU87Z0JBSU0sSUFBSTtzQkFBN0IsV0FBVzt1QkFBQyxXQUFXO2dCQWlCeEIsV0FBVztzQkFEVixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVJlc291cmNlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBFY2xCYXNlRXZlbnQgfSBmcm9tICcuLi8uLi9tb2RlbC9lY2wtYmFzZS5ldmVudCc7XG5pbXBvcnQgeyBFY2xHYWxsZXJ5SXRlbSB9IGZyb20gJy4uLy4uL21vZGVsL2VjbC1nYWxsZXJ5LWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFY2xHYWxsZXJ5TWVkaWFEaXJlY3RpdmUsIEVjbEdhbGxlcnlQaWN0dXJlRGlyZWN0aXZlIH0gZnJvbSAnLi9lY2wtZ2FsbGVyeS1tZWRpYS5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY2xhc3MgRWNsR2FsbGVyeUl0ZW1DbGlja0V2ZW50IGV4dGVuZHMgRWNsQmFzZUV2ZW50IHt9XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWNsLWdhbGxlcnktaXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC1nYWxsZXJ5LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICAuZWNsLWdhbGxlcnlfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgYCxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xHYWxsZXJ5SXRlbUNvbXBvbmVudCBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBFY2xHYWxsZXJ5SXRlbSB7XG4gICAgQElucHV0KCkgbWVkaWFUeXBlOiAnaW1hZ2UnIHwgJ3ZpZGVvJyB8ICdleHRlcm5hbFZpZGVvJyA9ICdpbWFnZSc7XG4gICAgQElucHV0KCkgc3JjOiBzdHJpbmc7XG4gICAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBtZXRhOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XG4gICAgQE91dHB1dCgpIGl0ZW1DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsR2FsbGVyeUl0ZW1DbGlja0V2ZW50PigpO1xuICAgIEBDb250ZW50Q2hpbGQoRWNsR2FsbGVyeVBpY3R1cmVEaXJlY3RpdmUpIHBpY3R1cmVDaGlsZDogRWNsR2FsbGVyeVBpY3R1cmVEaXJlY3RpdmU7XG4gICAgQENvbnRlbnRDaGlsZChFY2xHYWxsZXJ5TWVkaWFEaXJlY3RpdmUpIG1lZGlhQ2hpbGQ6IEVjbEdhbGxlcnlNZWRpYURpcmVjdGl2ZTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLWdhbGxlcnlfX2l0ZW0nKSwgdGhpcy5faXNIaWRkZW4gPyAnZWNsLWdhbGxlcnlfX2l0ZW0tLWhpZGRlbicgOiAnJ10uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlID0gJ2xpc3RpdGVtJztcblxuICAgIHByaXZhdGUgX2lzTm9PdmVybGF5ID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfaXNIaWRkZW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICAgICBwdWJsaWMgZWw6IEVsZW1lbnRSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBzZXQgaXNIaWRkZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faXNIaWRkZW4gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgb25JdGVtQ2xpY2soZXZ0OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbUNsaWNrLm5leHQobmV3IEVjbEdhbGxlcnlJdGVtQ2xpY2tFdmVudCgpKTtcbiAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgZ2V0RG93bmxvYWRMaW5rKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnNyYztcbiAgICB9XG5cbiAgICBnZXRVcmxFeHRlcm5hbFZpZGVvKCk6IFNhZmVSZXNvdXJjZVVybCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodGhpcy5zcmMpO1xuICAgIH1cblxuICAgIGdldCBpc05vT3ZlcmxheSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzTm9PdmVybGF5O1xuICAgIH1cblxuICAgIHNldCBpc05vT3ZlcmxheSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9pc05vT3ZlcmxheSA9IHZhbHVlO1xuICAgIH1cblxuICAgIGdldCBpc0ltYWdlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5tZWRpYVR5cGUgPT09ICdpbWFnZSc7XG4gICAgfVxuXG4gICAgZ2V0IGlzVmlkZW8oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lZGlhVHlwZSA9PT0gJ3ZpZGVvJztcbiAgICB9XG5cbiAgICBnZXQgaXNFeHRlcm5hbFZpZGVvKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5tZWRpYVR5cGUgPT09ICdleHRlcm5hbFZpZGVvJztcbiAgICB9XG5cbiAgICBnZXQgaXNEb3dubG9hZGFibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lZGlhVHlwZSAhPT0gJ2V4dGVybmFsVmlkZW8nO1xuICAgIH1cblxuICAgIGdldCBpc1NoYXJlYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWVkaWFUeXBlICE9PSAnZXh0ZXJuYWxWaWRlbyc7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1BpY3R1cmVDaGlsZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5waWN0dXJlQ2hpbGQ7XG4gICAgfVxufVxuIiwiPGEgW2hyZWZdPVwic3JjXCIgY2xhc3M9XCJlY2wtZ2FsbGVyeV9faXRlbS1saW5rXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbFwiIFtjbGFzcy5lY2wtZ2FsbGVyeV9faXRlbV9fbGluay0tZnJvemVuXT1cImlzTm9PdmVybGF5XCI+XG4gICAgPGZpZ3VyZSBjbGFzcz1cImVjbC1nYWxsZXJ5X19pbWFnZS1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIm1lZGlhVHlwZSAhPT0gJ2ltYWdlJ1wiIGNsYXNzPVwiZWNsLWdhbGxlcnlfX2l0ZW0taWNvbi13cmFwcGVyXCI+XG4gICAgICAgICAgICA8ZWNsLWljb24gaXNJbnZlcnRlZCBjbGFzcz1cImVjbC1nYWxsZXJ5X19pdGVtLWljb25cIiBpY29uPVwicGxheS1maWxsZWRcIiBzaXplPVwibFwiPjwvZWNsLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIFRPRE86IFJlbW92ZSB0aGlzIGNvZGUgaW4gMTggdmVyc2lvbiAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc1BpY3R1cmVDaGlsZFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2VjbEdhbGxlcnlQaWN0dXJlXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaGFzUGljdHVyZUNoaWxkXCI+XG4gICAgICAgICAgICA8cGljdHVyZSAqbmdJZj1cImlzSW1hZ2UgfHwgaXNFeHRlcm5hbFZpZGVvXCIgY2xhc3M9XCJlY2wtcGljdHVyZSBlY2wtZ2FsbGVyeV9fcGljdHVyZVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50ICpuZ1RlbXBsYXRlT3V0bGV0PVwiZ2FsbGVyeU1lZGlhXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9waWN0dXJlPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVmlkZW9cIj48bmctY29udGVudCAqbmdUZW1wbGF0ZU91dGxldD1cImdhbGxlcnlNZWRpYVwiPjwvbmctY29udGVudD48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwhLS0gVE9ETzogUmVtb3ZlIHRoZSBhYm92ZSBjb2RlIGluIDE4IHZlcnNpb24gLS0+XG4gICAgICAgIDxmaWdjYXB0aW9uIGNsYXNzPVwiZWNsLWdhbGxlcnlfX2Rlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICB7eyBkZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgPGVjbC1pY29uICpuZ0lmPVwiaWNvblwiIGNsYXNzPVwiZWNsLWdhbGxlcnlfX2Rlc2NyaXB0aW9uLWljb25cIiBbaWNvbl09XCJpY29uXCI+PC9lY2wtaWNvbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLWdhbGxlcnlfX21ldGFcIj5cbiAgICAgICAgICAgICAgICB7eyBtZXRhIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZmlnY2FwdGlvbj5cbiAgICA8L2ZpZ3VyZT5cbjwvYT5cbjxuZy10ZW1wbGF0ZSAjZ2FsbGVyeU1lZGlhPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltlY2xHYWxsZXJ5TWVkaWFdLCBbZWNsR2FsbGVyeUltYWdlXVwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWdhbGxlcnktaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLWdhbGxlcnkvZWNsLWdhbGxlcnktaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLWdhbGxlcnkvZWNsLWdhbGxlcnktaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQWMsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwSSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7QUFFckcsTUFBTSxPQUFPLHdCQUF5QixTQUFRLFlBQVk7Q0FBRztBQWE3RCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsZ0JBQWdCO0lBWXpELElBQ0ksVUFBVTtRQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxSCxDQUFDO0lBT0QsWUFBb0IsWUFBMEIsRUFBUyxFQUFjO1FBQ2pFLEtBQUssRUFBRSxDQUFDO1FBRFEsaUJBQVksR0FBWixZQUFZLENBQWM7UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBckI3QyxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFDakQsY0FBUyxHQUF3QyxPQUFPLENBQUM7UUFNeEQsY0FBUyxHQUFHLElBQUksWUFBWSxFQUE0QixDQUFDO1FBUXpDLFNBQUksR0FBRyxVQUFVLENBQUM7UUFFcEMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsY0FBUyxHQUFHLEtBQUssQ0FBQztJQUsxQixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBR0QsV0FBVyxDQUFDLEdBQWU7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSx3QkFBd0IsRUFBRSxDQUFDLENBQUM7UUFDcEQsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxlQUFlO1FBQ1gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxtQkFBbUI7UUFDZixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLFdBQVcsQ0FBQyxLQUFjO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssT0FBTyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssT0FBTyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssZUFBZSxDQUFDO0lBQzlDLENBQUM7SUFDRDs7O09BR0c7SUFDSCxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssZUFBZSxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLDBCQUEwQjtRQUMxQixPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssZUFBZSxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDZixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQy9CLENBQUM7d0lBakZRLHVCQUF1Qjs0SEFBdkIsdUJBQXVCLDBaQVNsQiwwQkFBMEIsNkVBQzFCLHdCQUF3Qix1RUMvQjFDLHcvQ0E0QkE7O0FETjRCO0lBQXZCLGFBQWE7NERBQTRDO2tHQURqRCx1QkFBdUI7a0JBWG5DLFNBQVM7K0JBQ0ksa0JBQWtCOzBHQVdKLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ1osU0FBUztzQkFBakIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNO2dCQUNtQyxZQUFZO3NCQUFyRCxZQUFZO3VCQUFDLDBCQUEwQjtnQkFDQSxVQUFVO3NCQUFqRCxZQUFZO3VCQUFDLHdCQUF3QjtnQkFHbEMsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU87Z0JBSU0sSUFBSTtzQkFBN0IsV0FBVzt1QkFBQyxXQUFXO2dCQW1CeEIsV0FBVztzQkFEVixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlUmVzb3VyY2VVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW4gfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgRWNsQmFzZUV2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWwvZWNsLWJhc2UuZXZlbnQnO1xuaW1wb3J0IHsgRWNsR2FsbGVyeUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbC9lY2wtZ2FsbGVyeS1pdGVtLm1vZGVsJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRWNsR2FsbGVyeU1lZGlhRGlyZWN0aXZlLCBFY2xHYWxsZXJ5UGljdHVyZURpcmVjdGl2ZSB9IGZyb20gJy4vZWNsLWdhbGxlcnktbWVkaWEuZGlyZWN0aXZlJztcblxuZXhwb3J0IGNsYXNzIEVjbEdhbGxlcnlJdGVtQ2xpY2tFdmVudCBleHRlbmRzIEVjbEJhc2VFdmVudCB7fVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VjbC1nYWxsZXJ5LWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lY2wtZ2FsbGVyeS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgLmVjbC1nYWxsZXJ5X19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIGAsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRWNsR2FsbGVyeUl0ZW1Db21wb25lbnQgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgRWNsR2FsbGVyeUl0ZW0sIE9uSW5pdCB7XG4gICAgQGNvZXJjZUJvb2xlYW4gQElucHV0KCkgaXNTaGFyZWFibGU6IGJvb2xlYW4gfCBhbnkgPSB0cnVlO1xuICAgIEBJbnB1dCgpIG1lZGlhVHlwZTogJ2ltYWdlJyB8ICd2aWRlbycgfCAnZXh0ZXJuYWxWaWRlbycgPSAnaW1hZ2UnO1xuICAgIEBJbnB1dCgpIHNyYzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgbWV0YTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgQElucHV0KCkgaWNvbjogc3RyaW5nO1xuICAgIEBPdXRwdXQoKSBpdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEVjbEdhbGxlcnlJdGVtQ2xpY2tFdmVudD4oKTtcbiAgICBAQ29udGVudENoaWxkKEVjbEdhbGxlcnlQaWN0dXJlRGlyZWN0aXZlKSBwaWN0dXJlQ2hpbGQ6IEVjbEdhbGxlcnlQaWN0dXJlRGlyZWN0aXZlO1xuICAgIEBDb250ZW50Q2hpbGQoRWNsR2FsbGVyeU1lZGlhRGlyZWN0aXZlKSBtZWRpYUNoaWxkOiBFY2xHYWxsZXJ5TWVkaWFEaXJlY3RpdmU7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW3N1cGVyLmdldENzc0NsYXNzZXMoJ2VjbC1nYWxsZXJ5X19pdGVtJyksIHRoaXMuX2lzSGlkZGVuID8gJ2VjbC1nYWxsZXJ5X19pdGVtLS1oaWRkZW4nIDogJyddLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdsaXN0aXRlbSc7XG5cbiAgICBwcml2YXRlIF9pc05vT3ZlcmxheSA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2lzSGlkZGVuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBleHRlcm5hbFZpZGVvVXJsOiBTYWZlUmVzb3VyY2VVcmw7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLCBwdWJsaWMgZWw6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5leHRlcm5hbFZpZGVvVXJsID0gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHRoaXMuc3JjKTtcbiAgICB9XG5cbiAgICBzZXQgaXNIaWRkZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faXNIaWRkZW4gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgb25JdGVtQ2xpY2soZXZ0OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbUNsaWNrLm5leHQobmV3IEVjbEdhbGxlcnlJdGVtQ2xpY2tFdmVudCgpKTtcbiAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgZ2V0RG93bmxvYWRMaW5rKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnNyYztcbiAgICB9XG5cbiAgICBnZXRVcmxFeHRlcm5hbFZpZGVvKCk6IFNhZmVSZXNvdXJjZVVybCB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4dGVybmFsVmlkZW9Vcmw7XG4gICAgfVxuXG4gICAgZ2V0IGlzTm9PdmVybGF5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNOb092ZXJsYXk7XG4gICAgfVxuXG4gICAgc2V0IGlzTm9PdmVybGF5KHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2lzTm9PdmVybGF5ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGlzSW1hZ2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lZGlhVHlwZSA9PT0gJ2ltYWdlJztcbiAgICB9XG5cbiAgICBnZXQgaXNWaWRlbygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWVkaWFUeXBlID09PSAndmlkZW8nO1xuICAgIH1cblxuICAgIGdldCBpc0V4dGVybmFsVmlkZW8oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lZGlhVHlwZSA9PT0gJ2V4dGVybmFsVmlkZW8nO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqIFRoZSBuYW1lICdpc0Rvd25sb2FkYWJsZScgaXMgZGVwcmVjYXRlZCBhbmQgc2hvdWxkIGJlIHJlbW92ZWQgYXMgb2YgdmVyc2lvbiAxNy5cbiAgICAgKi9cbiAgICBnZXQgaXNEb3dubG9hZGFibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lZGlhVHlwZSAhPT0gJ2V4dGVybmFsVmlkZW8nO1xuICAgIH1cblxuICAgIGdldCBpc09wZW5JbkZ1bGxTY3JlZW5Qb3NzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWVkaWFUeXBlICE9PSAnZXh0ZXJuYWxWaWRlbyc7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1BpY3R1cmVDaGlsZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5waWN0dXJlQ2hpbGQ7XG4gICAgfVxufVxuIiwiPGEgW2hyZWZdPVwic3JjXCIgY2xhc3M9XCJlY2wtZ2FsbGVyeV9faXRlbS1saW5rXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbFwiIFtjbGFzcy5lY2wtZ2FsbGVyeV9faXRlbV9fbGluay0tZnJvemVuXT1cImlzTm9PdmVybGF5XCI+XG4gICAgPGZpZ3VyZSBjbGFzcz1cImVjbC1nYWxsZXJ5X19pbWFnZS1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIm1lZGlhVHlwZSAhPT0gJ2ltYWdlJ1wiIGNsYXNzPVwiZWNsLWdhbGxlcnlfX2l0ZW0taWNvbi13cmFwcGVyXCI+XG4gICAgICAgICAgICA8ZWNsLWljb24gaXNJbnZlcnRlZCBjbGFzcz1cImVjbC1nYWxsZXJ5X19pdGVtLWljb25cIiBpY29uPVwicGxheS1maWxsZWRcIiBzaXplPVwibFwiPjwvZWNsLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIFRPRE86IFJlbW92ZSB0aGlzIGNvZGUgaW4gMTggdmVyc2lvbiAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc1BpY3R1cmVDaGlsZFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2VjbEdhbGxlcnlQaWN0dXJlXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaGFzUGljdHVyZUNoaWxkXCI+XG4gICAgICAgICAgICA8cGljdHVyZSAqbmdJZj1cImlzSW1hZ2UgfHwgaXNFeHRlcm5hbFZpZGVvXCIgY2xhc3M9XCJlY2wtcGljdHVyZSBlY2wtZ2FsbGVyeV9fcGljdHVyZVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50ICpuZ1RlbXBsYXRlT3V0bGV0PVwiZ2FsbGVyeU1lZGlhXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9waWN0dXJlPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVmlkZW9cIj48bmctY29udGVudCAqbmdUZW1wbGF0ZU91dGxldD1cImdhbGxlcnlNZWRpYVwiPjwvbmctY29udGVudD48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwhLS0gVE9ETzogUmVtb3ZlIHRoZSBhYm92ZSBjb2RlIGluIDE4IHZlcnNpb24gLS0+XG4gICAgICAgIDxmaWdjYXB0aW9uIGNsYXNzPVwiZWNsLWdhbGxlcnlfX2Rlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICB7eyBkZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgPGVjbC1pY29uICpuZ0lmPVwiaWNvblwiIGNsYXNzPVwiZWNsLWdhbGxlcnlfX2Rlc2NyaXB0aW9uLWljb25cIiBbaWNvbl09XCJpY29uXCI+PC9lY2wtaWNvbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLWdhbGxlcnlfX21ldGFcIj5cbiAgICAgICAgICAgICAgICB7eyBtZXRhIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZmlnY2FwdGlvbj5cbiAgICA8L2ZpZ3VyZT5cbjwvYT5cbjxuZy10ZW1wbGF0ZSAjZ2FsbGVyeU1lZGlhPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltlY2xHYWxsZXJ5TWVkaWFdLCBbZWNsR2FsbGVyeUltYWdlXVwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=