@alfresco/adf-core 8.1.0-15604953499 → 8.1.0-15610296675

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 (578) hide show
  1. package/bundles/assets/adf-core/i18n/de.json +2 -1
  2. package/bundles/assets/adf-core/i18n/es.json +2 -1
  3. package/bundles/assets/adf-core/i18n/fr.json +2 -1
  4. package/bundles/assets/adf-core/i18n/it.json +2 -1
  5. package/bundles/assets/adf-core/i18n/pl.json +2 -1
  6. package/bundles/assets/adf-core/i18n/pt.json +2 -1
  7. package/esm2022/adf-core.mjs +5 -0
  8. package/esm2022/api/alfresco-adf-core-api.mjs +5 -0
  9. package/esm2022/api/index.mjs +20 -0
  10. package/esm2022/api/lib/adf-http-client.service.mjs +311 -0
  11. package/esm2022/api/lib/alfresco-api/alfresco-api.param-encoder.mjs +33 -0
  12. package/esm2022/api/lib/alfresco-api/alfresco-api.response-error.mjs +25 -0
  13. package/esm2022/api/lib/alfresco-api/alfresco-api.utils.mjs +80 -0
  14. package/esm2022/api/lib/interfaces.mjs +18 -0
  15. package/esm2022/api/lib/types.mjs +18 -0
  16. package/esm2022/auth/alfresco-adf-core-auth.mjs +5 -0
  17. package/esm2022/auth/authentication-interceptor/authentication.interceptor.mjs +56 -0
  18. package/esm2022/auth/authentication.mjs +19 -0
  19. package/esm2022/auth/index.mjs +19 -0
  20. package/esm2022/breadcrumbs/alfresco-adf-core-breadcrumbs.mjs +5 -0
  21. package/esm2022/breadcrumbs/components/breadcrumb/breadcrumb.component.mjs +83 -0
  22. package/esm2022/breadcrumbs/components/breadcrumb-item/breadcrumb-item.component.mjs +42 -0
  23. package/esm2022/breadcrumbs/directives/breadcrumb-focus.directive.mjs +44 -0
  24. package/esm2022/breadcrumbs/index.mjs +19 -0
  25. package/esm2022/feature-flags/alfresco-adf-core-feature-flags.mjs +5 -0
  26. package/esm2022/feature-flags/index.mjs +29 -0
  27. package/esm2022/feature-flags/lib/components/feature-flags-wrapper.mjs +36 -0
  28. package/esm2022/feature-flags/lib/components/feature-override-indicator.component.mjs +56 -0
  29. package/esm2022/feature-flags/lib/components/flags/flags.component.mjs +130 -0
  30. package/esm2022/feature-flags/lib/directives/features.directive.mjs +63 -0
  31. package/esm2022/feature-flags/lib/directives/not-features.directive.mjs +63 -0
  32. package/esm2022/feature-flags/lib/guards/is-feature-off.guard.mjs +38 -0
  33. package/esm2022/feature-flags/lib/guards/is-feature-on.guard.mjs +38 -0
  34. package/esm2022/feature-flags/lib/guards/is-flags-override-on.guard.mjs +40 -0
  35. package/esm2022/feature-flags/lib/interfaces/features.interface.mjs +24 -0
  36. package/esm2022/feature-flags/lib/mocks/features-service-mock.factory.mjs +62 -0
  37. package/esm2022/feature-flags/lib/providers/debug-feature-flags.provider.mjs +51 -0
  38. package/esm2022/feature-flags/lib/providers/dummy-feature-flags.provider.mjs +36 -0
  39. package/esm2022/feature-flags/lib/services/debug-features.service.mjs +94 -0
  40. package/esm2022/feature-flags/lib/services/dummy-features.service.mjs +40 -0
  41. package/esm2022/feature-flags/lib/services/flagset.parser.mjs +38 -0
  42. package/esm2022/feature-flags/lib/services/qa-features.helper.mjs +62 -0
  43. package/esm2022/feature-flags/lib/services/storage-features.service.mjs +126 -0
  44. package/esm2022/lib/about/about-extension-list/about-extension-list.component.mjs +52 -0
  45. package/esm2022/lib/about/about-license-list/about-license-list.component.mjs +52 -0
  46. package/esm2022/lib/about/about-module-list/module-list.component.mjs +52 -0
  47. package/esm2022/lib/about/about-package/package-list.component.mjs +66 -0
  48. package/esm2022/lib/about/about-panel.directive.mjs +37 -0
  49. package/esm2022/lib/about/about-repository-info/about-repository-info.component.mjs +60 -0
  50. package/esm2022/lib/about/about-repository-info/repository-info.interface.mjs +18 -0
  51. package/esm2022/lib/about/about-server-settings/about-server-settings.component.mjs +43 -0
  52. package/esm2022/lib/about/about-status-list/about-status-list.component.mjs +52 -0
  53. package/esm2022/lib/about/about.component.mjs +35 -0
  54. package/esm2022/lib/about/about.module.mjs +75 -0
  55. package/esm2022/lib/about/index.mjs +18 -0
  56. package/esm2022/lib/about/interfaces.mjs +18 -0
  57. package/esm2022/lib/about/public-api.mjs +28 -0
  58. package/esm2022/lib/app-config/app-config-storage-prefix.factory.mjs +51 -0
  59. package/esm2022/lib/app-config/app-config.loader.mjs +41 -0
  60. package/esm2022/lib/app-config/app-config.module.mjs +33 -0
  61. package/esm2022/lib/app-config/app-config.pipe.mjs +38 -0
  62. package/esm2022/lib/app-config/app-config.service.mjs +243 -0
  63. package/esm2022/lib/app-config/debug-app-config.service.mjs +44 -0
  64. package/esm2022/lib/app-config/index.mjs +18 -0
  65. package/esm2022/lib/app-config/public-api.mjs +22 -0
  66. package/esm2022/lib/auth/authentication-interceptor/auth-bearer.interceptor.mjs +67 -0
  67. package/esm2022/lib/auth/basic-auth/basic-alfresco-auth.service.mjs +356 -0
  68. package/esm2022/lib/auth/basic-auth/content-auth.mjs +189 -0
  69. package/esm2022/lib/auth/basic-auth/process-auth.mjs +193 -0
  70. package/esm2022/lib/auth/guard/auth-guard-bpm.service.mjs +31 -0
  71. package/esm2022/lib/auth/guard/auth-guard-ecm.service.mjs +31 -0
  72. package/esm2022/lib/auth/guard/auth-guard-sso-role.service.mjs +57 -0
  73. package/esm2022/lib/auth/guard/auth-guard.mjs +53 -0
  74. package/esm2022/lib/auth/guard/auth-guard.service.mjs +113 -0
  75. package/esm2022/lib/auth/index.mjs +18 -0
  76. package/esm2022/lib/auth/interfaces/authentication-service.interface.mjs +18 -0
  77. package/esm2022/lib/auth/interfaces/authentication.interface.mjs +18 -0
  78. package/esm2022/lib/auth/interfaces/identity-group.interface.mjs +18 -0
  79. package/esm2022/lib/auth/interfaces/identity-user.service.interface.mjs +18 -0
  80. package/esm2022/lib/auth/interfaces/openid-configuration.interface.mjs +18 -0
  81. package/esm2022/lib/auth/models/application-access.model.mjs +18 -0
  82. package/esm2022/lib/auth/models/identity-group.model.mjs +18 -0
  83. package/esm2022/lib/auth/models/identity-role.model.mjs +30 -0
  84. package/esm2022/lib/auth/models/identity-user.model.mjs +18 -0
  85. package/esm2022/lib/auth/models/oauth-config.model.mjs +18 -0
  86. package/esm2022/lib/auth/models/redirection.model.mjs +28 -0
  87. package/esm2022/lib/auth/models/user-access.model.mjs +18 -0
  88. package/esm2022/lib/auth/oidc/auth-config.mjs +19 -0
  89. package/esm2022/lib/auth/oidc/auth-config.service.mjs +110 -0
  90. package/esm2022/lib/auth/oidc/auth-routing.module.mjs +34 -0
  91. package/esm2022/lib/auth/oidc/auth.module.mjs +112 -0
  92. package/esm2022/lib/auth/oidc/auth.service.mjs +22 -0
  93. package/esm2022/lib/auth/oidc/oidc-auth.guard.mjs +37 -0
  94. package/esm2022/lib/auth/oidc/oidc-authentication.service.mjs +202 -0
  95. package/esm2022/lib/auth/oidc/public-api.mjs +24 -0
  96. package/esm2022/lib/auth/oidc/redirect-auth.service.mjs +267 -0
  97. package/esm2022/lib/auth/oidc/retry-login.service.mjs +66 -0
  98. package/esm2022/lib/auth/oidc/token.interceptor.mjs +62 -0
  99. package/esm2022/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.mjs +31 -0
  100. package/esm2022/lib/auth/public-api.mjs +44 -0
  101. package/esm2022/lib/auth/services/authentication.service.mjs +190 -0
  102. package/esm2022/lib/auth/services/base-authentication.service.mjs +99 -0
  103. package/esm2022/lib/auth/services/identity-group.service.mjs +269 -0
  104. package/esm2022/lib/auth/services/identity-role.service.mjs +99 -0
  105. package/esm2022/lib/auth/services/identity-user.service.mjs +443 -0
  106. package/esm2022/lib/auth/services/jwt-helper.service.mjs +205 -0
  107. package/esm2022/lib/auth/services/oauth2.service.mjs +69 -0
  108. package/esm2022/lib/auth/services/time-sync.service.mjs +83 -0
  109. package/esm2022/lib/auth/services/user-access.service.mjs +110 -0
  110. package/esm2022/lib/avatar/avatar.component.mjs +51 -0
  111. package/esm2022/lib/blank-page/blank-page.component.mjs +31 -0
  112. package/esm2022/lib/blank-page/blank-page.module.mjs +33 -0
  113. package/esm2022/lib/blank-page/index.mjs +18 -0
  114. package/esm2022/lib/blank-page/public-api.mjs +19 -0
  115. package/esm2022/lib/button/button.component.mjs +61 -0
  116. package/esm2022/lib/card-view/card-view.module.mjs +80 -0
  117. package/esm2022/lib/card-view/components/base-card-view.mjs +51 -0
  118. package/esm2022/lib/card-view/components/card-view/card-view.component.mjs +66 -0
  119. package/esm2022/lib/card-view/components/card-view-arrayitem/card-view-arrayitem.component.mjs +56 -0
  120. package/esm2022/lib/card-view/components/card-view-boolitem/card-view-boolitem.component.mjs +40 -0
  121. package/esm2022/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.mjs +177 -0
  122. package/esm2022/lib/card-view/components/card-view-item-dispatcher/card-view-item-dispatcher.component.mjs +108 -0
  123. package/esm2022/lib/card-view/components/card-view-keyvaluepairsitem/card-view-keyvaluepairsitem.component.mjs +65 -0
  124. package/esm2022/lib/card-view/components/card-view-mapitem/card-view-mapitem.component.mjs +47 -0
  125. package/esm2022/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.mjs +138 -0
  126. package/esm2022/lib/card-view/components/card-view-selectitem/select-filter-input/select-filter-input.component.mjs +114 -0
  127. package/esm2022/lib/card-view/components/card-view-textitem/card-view-textitem.component.mjs +240 -0
  128. package/esm2022/lib/card-view/components/card-view.components.mjs +28 -0
  129. package/esm2022/lib/card-view/index.mjs +18 -0
  130. package/esm2022/lib/card-view/interfaces/base-card-view-update.interface.mjs +18 -0
  131. package/esm2022/lib/card-view/interfaces/card-view-arrayitem-properties.interface.mjs +18 -0
  132. package/esm2022/lib/card-view/interfaces/card-view-boolitem-properties.interface.mjs +18 -0
  133. package/esm2022/lib/card-view/interfaces/card-view-dateitem-properties.interface.mjs +18 -0
  134. package/esm2022/lib/card-view/interfaces/card-view-item-properties.interface.mjs +18 -0
  135. package/esm2022/lib/card-view/interfaces/card-view-item-validator.interface.mjs +18 -0
  136. package/esm2022/lib/card-view/interfaces/card-view-item.interface.mjs +18 -0
  137. package/esm2022/lib/card-view/interfaces/card-view-keyvaluepairsitem-properties.interface.mjs +18 -0
  138. package/esm2022/lib/card-view/interfaces/card-view-selectitem-properties.interface.mjs +18 -0
  139. package/esm2022/lib/card-view/interfaces/card-view-textitem-pipe-property.interface.mjs +18 -0
  140. package/esm2022/lib/card-view/interfaces/card-view-textitem-properties.interface.mjs +18 -0
  141. package/esm2022/lib/card-view/interfaces/card-view.interfaces.mjs +29 -0
  142. package/esm2022/lib/card-view/interfaces/click-notification.interface.mjs +18 -0
  143. package/esm2022/lib/card-view/interfaces/update-notification.interface.mjs +18 -0
  144. package/esm2022/lib/card-view/models/card-view-arrayitem.model.mjs +28 -0
  145. package/esm2022/lib/card-view/models/card-view-baseitem.model.mjs +64 -0
  146. package/esm2022/lib/card-view/models/card-view-boolitem.model.mjs +36 -0
  147. package/esm2022/lib/card-view/models/card-view-dateitem.model.mjs +58 -0
  148. package/esm2022/lib/card-view/models/card-view-datetimeitem.model.mjs +28 -0
  149. package/esm2022/lib/card-view/models/card-view-floatitem.model.mjs +33 -0
  150. package/esm2022/lib/card-view/models/card-view-intitem.model.mjs +36 -0
  151. package/esm2022/lib/card-view/models/card-view-keyvaluepairs.model.mjs +27 -0
  152. package/esm2022/lib/card-view/models/card-view-longitem.model.mjs +36 -0
  153. package/esm2022/lib/card-view/models/card-view-mapitem.model.mjs +32 -0
  154. package/esm2022/lib/card-view/models/card-view-selectitem.model.mjs +41 -0
  155. package/esm2022/lib/card-view/models/card-view-textitem.model.mjs +40 -0
  156. package/esm2022/lib/card-view/models/card-view.models.mjs +29 -0
  157. package/esm2022/lib/card-view/public-api.mjs +25 -0
  158. package/esm2022/lib/card-view/services/card-item-types.service.mjs +54 -0
  159. package/esm2022/lib/card-view/services/card-view-update.service.mjs +59 -0
  160. package/esm2022/lib/card-view/services/card-view.services.mjs +19 -0
  161. package/esm2022/lib/card-view/validators/card-view-item-float.validator.mjs +31 -0
  162. package/esm2022/lib/card-view/validators/card-view-item-int.validator.mjs +35 -0
  163. package/esm2022/lib/card-view/validators/card-view-item-length.validator.mjs +34 -0
  164. package/esm2022/lib/card-view/validators/card-view-item-long.validator.mjs +35 -0
  165. package/esm2022/lib/card-view/validators/card-view-item-match.validator.mjs +35 -0
  166. package/esm2022/lib/card-view/validators/card-view-item-minmax.validator.mjs +35 -0
  167. package/esm2022/lib/card-view/validators/card-view-item-only-positive-int.validator.mjs +32 -0
  168. package/esm2022/lib/card-view/validators/card-view-item-only-positive-long.validator.mjs +31 -0
  169. package/esm2022/lib/card-view/validators/card-view.validators.mjs +26 -0
  170. package/esm2022/lib/card-view/validators/validators.map.mjs +26 -0
  171. package/esm2022/lib/clipboard/clipboard.directive.mjs +99 -0
  172. package/esm2022/lib/clipboard/clipboard.module.mjs +34 -0
  173. package/esm2022/lib/clipboard/clipboard.service.mjs +103 -0
  174. package/esm2022/lib/clipboard/index.mjs +18 -0
  175. package/esm2022/lib/clipboard/public-api.mjs +21 -0
  176. package/esm2022/lib/comments/comment-list/comment-list.component.mjs +53 -0
  177. package/esm2022/lib/comments/comment-list/comment-list.module.mjs +33 -0
  178. package/esm2022/lib/comments/comment-list/index.mjs +18 -0
  179. package/esm2022/lib/comments/comment-list/public-api.mjs +19 -0
  180. package/esm2022/lib/comments/comments.component.mjs +128 -0
  181. package/esm2022/lib/comments/comments.module.mjs +33 -0
  182. package/esm2022/lib/comments/index.mjs +18 -0
  183. package/esm2022/lib/comments/interfaces/comments-service.interface.mjs +18 -0
  184. package/esm2022/lib/comments/interfaces/comments.token.mjs +19 -0
  185. package/esm2022/lib/comments/public-api.mjs +22 -0
  186. package/esm2022/lib/common/index.mjs +35 -0
  187. package/esm2022/lib/common/interface/search-component.interface.mjs +18 -0
  188. package/esm2022/lib/common/mock/app-config.service.mock.mjs +47 -0
  189. package/esm2022/lib/common/models/default-languages.model.mjs +36 -0
  190. package/esm2022/lib/common/models/log-levels.model.mjs +33 -0
  191. package/esm2022/lib/common/models/user-info-mode.enum.mjs +25 -0
  192. package/esm2022/lib/common/services/cookie.service.mjs +82 -0
  193. package/esm2022/lib/common/services/download.service.mjs +102 -0
  194. package/esm2022/lib/common/services/dynamic-component-mapper.service.mjs +89 -0
  195. package/esm2022/lib/common/services/highlight-transform.service.mjs +61 -0
  196. package/esm2022/lib/common/services/language-item.interface.mjs +18 -0
  197. package/esm2022/lib/common/services/log.service.mjs +171 -0
  198. package/esm2022/lib/common/services/page-title.service.mjs +63 -0
  199. package/esm2022/lib/common/services/sort-by-category.service.mjs +81 -0
  200. package/esm2022/lib/common/services/storage.service.mjs +143 -0
  201. package/esm2022/lib/common/services/thumbnail.service.mjs +194 -0
  202. package/esm2022/lib/common/services/url.service.mjs +45 -0
  203. package/esm2022/lib/common/services/user-preferences.service.mjs +238 -0
  204. package/esm2022/lib/common/utils/date-fns-adapter.mjs +115 -0
  205. package/esm2022/lib/common/utils/date-fns-utils.mjs +222 -0
  206. package/esm2022/lib/common/utils/datetime-fns-adapter.mjs +134 -0
  207. package/esm2022/lib/common/utils/file-utils.mjs +65 -0
  208. package/esm2022/lib/common/utils/index.mjs +18 -0
  209. package/esm2022/lib/common/utils/moment-date-adapter.mjs +202 -0
  210. package/esm2022/lib/common/utils/moment-date-formats.model.mjs +32 -0
  211. package/esm2022/lib/common/utils/object-utils.mjs +107 -0
  212. package/esm2022/lib/common/utils/public-api.mjs +25 -0
  213. package/esm2022/lib/common/utils/string-utils.mjs +45 -0
  214. package/esm2022/lib/context-menu/animations.mjs +33 -0
  215. package/esm2022/lib/context-menu/context-menu-list.component.mjs +92 -0
  216. package/esm2022/lib/context-menu/context-menu-overlay.mjs +25 -0
  217. package/esm2022/lib/context-menu/context-menu-overlay.service.mjs +109 -0
  218. package/esm2022/lib/context-menu/context-menu.directive.mjs +63 -0
  219. package/esm2022/lib/context-menu/context-menu.module.mjs +35 -0
  220. package/esm2022/lib/context-menu/context-menu.tokens.mjs +19 -0
  221. package/esm2022/lib/context-menu/index.mjs +18 -0
  222. package/esm2022/lib/context-menu/interfaces.mjs +18 -0
  223. package/esm2022/lib/context-menu/public-api.mjs +21 -0
  224. package/esm2022/lib/core.module.mjs +314 -0
  225. package/esm2022/lib/datatable/components/amount-cell/amount-cell.component.mjs +45 -0
  226. package/esm2022/lib/datatable/components/boolean-cell/boolean-cell.component.mjs +65 -0
  227. package/esm2022/lib/datatable/components/columns-selector/columns-search-filter.pipe.mjs +55 -0
  228. package/esm2022/lib/datatable/components/columns-selector/columns-selector.component.mjs +114 -0
  229. package/esm2022/lib/datatable/components/data-cell.event.mjs +31 -0
  230. package/esm2022/lib/datatable/components/data-row-action.event.mjs +34 -0
  231. package/esm2022/lib/datatable/components/datatable/datatable.component.mjs +915 -0
  232. package/esm2022/lib/datatable/components/datatable-cell/datatable-cell.component.mjs +126 -0
  233. package/esm2022/lib/datatable/components/datatable-row/datatable-row.component.mjs +98 -0
  234. package/esm2022/lib/datatable/components/date-cell/date-cell.component.mjs +78 -0
  235. package/esm2022/lib/datatable/components/empty-list/empty-list.component.mjs +60 -0
  236. package/esm2022/lib/datatable/components/filesize-cell/filesize-cell.component.mjs +49 -0
  237. package/esm2022/lib/datatable/components/icon-cell/icon-cell.component.mjs +67 -0
  238. package/esm2022/lib/datatable/components/json-cell/json-cell.component.mjs +86 -0
  239. package/esm2022/lib/datatable/components/location-cell/location-cell.component.mjs +69 -0
  240. package/esm2022/lib/datatable/components/mocks/datatable.mock.mjs +153 -0
  241. package/esm2022/lib/datatable/components/number-cell/number-cell.component.mjs +42 -0
  242. package/esm2022/lib/datatable/data/data-column.model.mjs +18 -0
  243. package/esm2022/lib/datatable/data/data-row-event.model.mjs +26 -0
  244. package/esm2022/lib/datatable/data/data-row-update.model.mjs +18 -0
  245. package/esm2022/lib/datatable/data/data-row.model.mjs +18 -0
  246. package/esm2022/lib/datatable/data/data-sorting.model.mjs +24 -0
  247. package/esm2022/lib/datatable/data/data-table.schema.mjs +132 -0
  248. package/esm2022/lib/datatable/data/datatable-adapter.mjs +18 -0
  249. package/esm2022/lib/datatable/data/object-datacolumn.model.mjs +46 -0
  250. package/esm2022/lib/datatable/data/object-datarow.model.mjs +38 -0
  251. package/esm2022/lib/datatable/data/object-datatable-adapter.mjs +134 -0
  252. package/esm2022/lib/datatable/data-column/data-column-header.component.mjs +45 -0
  253. package/esm2022/lib/datatable/data-column/data-column-list.component.mjs +36 -0
  254. package/esm2022/lib/datatable/data-column/data-column.component.mjs +114 -0
  255. package/esm2022/lib/datatable/data-column/index.mjs +18 -0
  256. package/esm2022/lib/datatable/data-column/public-api.mjs +20 -0
  257. package/esm2022/lib/datatable/datatable.module.mjs +161 -0
  258. package/esm2022/lib/datatable/directives/custom-empty-content-template.directive.mjs +35 -0
  259. package/esm2022/lib/datatable/directives/custom-loading-template.directive.mjs +30 -0
  260. package/esm2022/lib/datatable/directives/custom-no-permission-template.directive.mjs +35 -0
  261. package/esm2022/lib/datatable/directives/drop-zone.directive.mjs +89 -0
  262. package/esm2022/lib/datatable/directives/header-filter-template.directive.mjs +43 -0
  263. package/esm2022/lib/datatable/directives/loading-template.directive.mjs +46 -0
  264. package/esm2022/lib/datatable/directives/main-data-table-action-template.directive.mjs +43 -0
  265. package/esm2022/lib/datatable/directives/no-content-template.directive.mjs +46 -0
  266. package/esm2022/lib/datatable/directives/no-permission-template.directive.mjs +46 -0
  267. package/esm2022/lib/datatable/directives/resizable/resizable.directive.mjs +173 -0
  268. package/esm2022/lib/datatable/directives/resizable/resize-handle.directive.mjs +72 -0
  269. package/esm2022/lib/datatable/directives/resizable/types.mjs +18 -0
  270. package/esm2022/lib/datatable/index.mjs +18 -0
  271. package/esm2022/lib/datatable/public-api.mjs +55 -0
  272. package/esm2022/lib/datatable/services/datatable.service.mjs +33 -0
  273. package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.mjs +50 -0
  274. package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.module.mjs +38 -0
  275. package/esm2022/lib/dialogs/dialog/dialog-data.interface.mjs +18 -0
  276. package/esm2022/lib/dialogs/dialog/dialog.component.mjs +71 -0
  277. package/esm2022/lib/dialogs/dialog/dialog.model.mjs +22 -0
  278. package/esm2022/lib/dialogs/dialog/index.mjs +20 -0
  279. package/esm2022/lib/dialogs/edit-json/edit-json.dialog.mjs +51 -0
  280. package/esm2022/lib/dialogs/edit-json/edit-json.dialog.module.mjs +38 -0
  281. package/esm2022/lib/dialogs/index.mjs +18 -0
  282. package/esm2022/lib/dialogs/public-api.mjs +25 -0
  283. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +74 -0
  284. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.model.mjs +18 -0
  285. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +33 -0
  286. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes.guard.mjs +64 -0
  287. package/esm2022/lib/directives/directive.module.mjs +56 -0
  288. package/esm2022/lib/directives/highlight.directive.mjs +67 -0
  289. package/esm2022/lib/directives/index.mjs +18 -0
  290. package/esm2022/lib/directives/infinite-select-scroll.directive.mjs +67 -0
  291. package/esm2022/lib/directives/logout.directive.mjs +72 -0
  292. package/esm2022/lib/directives/public-api.mjs +24 -0
  293. package/esm2022/lib/directives/tooltip-card/tooltip-card.component.mjs +60 -0
  294. package/esm2022/lib/directives/tooltip-card/tooltip-card.directive.mjs +104 -0
  295. package/esm2022/lib/directives/upload.directive.mjs +241 -0
  296. package/esm2022/lib/dynamic-chip-list/chip.mjs +18 -0
  297. package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.component.mjs +205 -0
  298. package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.module.mjs +33 -0
  299. package/esm2022/lib/dynamic-chip-list/index.mjs +18 -0
  300. package/esm2022/lib/dynamic-chip-list/public-api.mjs +20 -0
  301. package/esm2022/lib/events/base-ui.event.mjs +21 -0
  302. package/esm2022/lib/events/base.event.mjs +29 -0
  303. package/esm2022/lib/events/index.mjs +18 -0
  304. package/esm2022/lib/events/public-api.mjs +19 -0
  305. package/esm2022/lib/form/components/form-base.component.mjs +212 -0
  306. package/esm2022/lib/form/components/form-custom-button.directive.mjs +30 -0
  307. package/esm2022/lib/form/components/form-field/form-field.component.mjs +142 -0
  308. package/esm2022/lib/form/components/form-renderer.component.mjs +162 -0
  309. package/esm2022/lib/form/components/form-section/form-section.component.mjs +46 -0
  310. package/esm2022/lib/form/components/helpers/buttons-visibility.mjs +37 -0
  311. package/esm2022/lib/form/components/inplace-form-input/inplace-form-input.component.mjs +37 -0
  312. package/esm2022/lib/form/components/middlewares/decimal-middleware.service.mjs +48 -0
  313. package/esm2022/lib/form/components/middlewares/middleware.mjs +19 -0
  314. package/esm2022/lib/form/components/widgets/amount/amount.widget.mjs +78 -0
  315. package/esm2022/lib/form/components/widgets/base-viewer/base-viewer.widget.mjs +60 -0
  316. package/esm2022/lib/form/components/widgets/checkbox/checkbox.widget.mjs +53 -0
  317. package/esm2022/lib/form/components/widgets/core/container-column.model.mjs +28 -0
  318. package/esm2022/lib/form/components/widgets/core/container.model.mjs +50 -0
  319. package/esm2022/lib/form/components/widgets/core/content-link.model.mjs +52 -0
  320. package/esm2022/lib/form/components/widgets/core/displayable-cm-properties.model.mjs +18 -0
  321. package/esm2022/lib/form/components/widgets/core/error-message.model.mjs +38 -0
  322. package/esm2022/lib/form/components/widgets/core/external-content-link.mjs +18 -0
  323. package/esm2022/lib/form/components/widgets/core/external-content.mjs +18 -0
  324. package/esm2022/lib/form/components/widgets/core/form-field-file-source.mjs +18 -0
  325. package/esm2022/lib/form/components/widgets/core/form-field-metadata.mjs +18 -0
  326. package/esm2022/lib/form/components/widgets/core/form-field-option.mjs +18 -0
  327. package/esm2022/lib/form/components/widgets/core/form-field-rule.mjs +18 -0
  328. package/esm2022/lib/form/components/widgets/core/form-field-selected-folder.mjs +18 -0
  329. package/esm2022/lib/form/components/widgets/core/form-field-templates.mjs +18 -0
  330. package/esm2022/lib/form/components/widgets/core/form-field-types.mjs +74 -0
  331. package/esm2022/lib/form/components/widgets/core/form-field-utils.mjs +23 -0
  332. package/esm2022/lib/form/components/widgets/core/form-field-validator.mjs +268 -0
  333. package/esm2022/lib/form/components/widgets/core/form-field-variable-options.mjs +18 -0
  334. package/esm2022/lib/form/components/widgets/core/form-field.model.mjs +490 -0
  335. package/esm2022/lib/form/components/widgets/core/form-outcome-event.model.mjs +32 -0
  336. package/esm2022/lib/form/components/widgets/core/form-outcome.model.mjs +38 -0
  337. package/esm2022/lib/form/components/widgets/core/form-values.mjs +18 -0
  338. package/esm2022/lib/form/components/widgets/core/form-variable.model.mjs +18 -0
  339. package/esm2022/lib/form/components/widgets/core/form-widget.model.mjs +33 -0
  340. package/esm2022/lib/form/components/widgets/core/form.model.mjs +387 -0
  341. package/esm2022/lib/form/components/widgets/core/group.model.mjs +18 -0
  342. package/esm2022/lib/form/components/widgets/core/index.mjs +49 -0
  343. package/esm2022/lib/form/components/widgets/core/predefined-theme.mjs +115 -0
  344. package/esm2022/lib/form/components/widgets/core/process-form-model.interface.mjs +18 -0
  345. package/esm2022/lib/form/components/widgets/core/process-variable.model.mjs +18 -0
  346. package/esm2022/lib/form/components/widgets/core/tab.model.mjs +34 -0
  347. package/esm2022/lib/form/components/widgets/core/theme.model.mjs +18 -0
  348. package/esm2022/lib/form/components/widgets/core/upload-widget-content-link.model.mjs +27 -0
  349. package/esm2022/lib/form/components/widgets/core/widget-schema.model.mjs +18 -0
  350. package/esm2022/lib/form/components/widgets/date/date.widget.mjs +163 -0
  351. package/esm2022/lib/form/components/widgets/date-time/date-time.widget.mjs +154 -0
  352. package/esm2022/lib/form/components/widgets/decimal/decimal.component.mjs +54 -0
  353. package/esm2022/lib/form/components/widgets/display-text/display-text.schema.mjs +86 -0
  354. package/esm2022/lib/form/components/widgets/display-text/display-text.widget.mjs +47 -0
  355. package/esm2022/lib/form/components/widgets/display-text/index.mjs +19 -0
  356. package/esm2022/lib/form/components/widgets/error/error.component.mjs +93 -0
  357. package/esm2022/lib/form/components/widgets/header/header.schema.mjs +86 -0
  358. package/esm2022/lib/form/components/widgets/header/header.widget.mjs +43 -0
  359. package/esm2022/lib/form/components/widgets/header/index.mjs +19 -0
  360. package/esm2022/lib/form/components/widgets/hyperlink/hyperlink.widget.mjs +71 -0
  361. package/esm2022/lib/form/components/widgets/index.mjs +71 -0
  362. package/esm2022/lib/form/components/widgets/json/json.widget.mjs +67 -0
  363. package/esm2022/lib/form/components/widgets/multiline-text/multiline-text.widget.mjs +56 -0
  364. package/esm2022/lib/form/components/widgets/number/number.widget.mjs +72 -0
  365. package/esm2022/lib/form/components/widgets/reactive-widget.interface.mjs +18 -0
  366. package/esm2022/lib/form/components/widgets/text/text-mask.component.mjs +215 -0
  367. package/esm2022/lib/form/components/widgets/text/text.widget.mjs +66 -0
  368. package/esm2022/lib/form/components/widgets/unknown/unknown.widget.mjs +63 -0
  369. package/esm2022/lib/form/components/widgets/widget.component.mjs +110 -0
  370. package/esm2022/lib/form/events/form-error.event.mjs +24 -0
  371. package/esm2022/lib/form/events/form-field.event.mjs +24 -0
  372. package/esm2022/lib/form/events/form-rules.event.mjs +25 -0
  373. package/esm2022/lib/form/events/form-spinner.event.mjs +23 -0
  374. package/esm2022/lib/form/events/form.event.mjs +29 -0
  375. package/esm2022/lib/form/events/index.mjs +24 -0
  376. package/esm2022/lib/form/events/validate-form-field.event.mjs +24 -0
  377. package/esm2022/lib/form/events/validate-form.event.mjs +25 -0
  378. package/esm2022/lib/form/form-base.module.mjs +90 -0
  379. package/esm2022/lib/form/index.mjs +18 -0
  380. package/esm2022/lib/form/models/form-rules.model.mjs +77 -0
  381. package/esm2022/lib/form/models/task-process-variable.model.mjs +19 -0
  382. package/esm2022/lib/form/models/widget-visibility.model.mjs +104 -0
  383. package/esm2022/lib/form/pipes/field-style.pipe.mjs +45 -0
  384. package/esm2022/lib/form/pipes/index.mjs +18 -0
  385. package/esm2022/lib/form/public-api.mjs +35 -0
  386. package/esm2022/lib/form/services/form-rendering.service.mjs +53 -0
  387. package/esm2022/lib/form/services/form-validation-service.interface.mjs +18 -0
  388. package/esm2022/lib/form/services/form.service.mjs +86 -0
  389. package/esm2022/lib/form/services/widget-visibility.service.mjs +294 -0
  390. package/esm2022/lib/header/header.component.mjs +73 -0
  391. package/esm2022/lib/header/index.mjs +18 -0
  392. package/esm2022/lib/header/navbar/navbar-item.component.mjs +37 -0
  393. package/esm2022/lib/header/navbar/navbar.component.mjs +36 -0
  394. package/esm2022/lib/header/public-api.mjs +20 -0
  395. package/esm2022/lib/icon/icon.component.mjs +51 -0
  396. package/esm2022/lib/icon/icon.module.mjs +36 -0
  397. package/esm2022/lib/icon/index.mjs +18 -0
  398. package/esm2022/lib/icon/public-api.mjs +19 -0
  399. package/esm2022/lib/identity-user-info/identity-user-info.component.mjs +87 -0
  400. package/esm2022/lib/identity-user-info/identity-user-info.module.mjs +33 -0
  401. package/esm2022/lib/identity-user-info/index.mjs +18 -0
  402. package/esm2022/lib/identity-user-info/public-api.mjs +19 -0
  403. package/esm2022/lib/info-drawer/index.mjs +18 -0
  404. package/esm2022/lib/info-drawer/info-drawer-layout.component.mjs +71 -0
  405. package/esm2022/lib/info-drawer/info-drawer.component.mjs +114 -0
  406. package/esm2022/lib/info-drawer/info-drawer.module.mjs +53 -0
  407. package/esm2022/lib/info-drawer/public-api.mjs +20 -0
  408. package/esm2022/lib/interface/index.mjs +18 -0
  409. package/esm2022/lib/interface/injection.tokens.mjs +19 -0
  410. package/esm2022/lib/interface/public-api.mjs +18 -0
  411. package/esm2022/lib/language-menu/index.mjs +18 -0
  412. package/esm2022/lib/language-menu/language-menu.component.mjs +61 -0
  413. package/esm2022/lib/language-menu/language-menu.module.mjs +35 -0
  414. package/esm2022/lib/language-menu/language-picker.component.mjs +78 -0
  415. package/esm2022/lib/language-menu/public-api.mjs +21 -0
  416. package/esm2022/lib/language-menu/service/language.service.interface.mjs +18 -0
  417. package/esm2022/lib/language-menu/service/language.service.mjs +34 -0
  418. package/esm2022/lib/layout/components/header/header.component.mjs +100 -0
  419. package/esm2022/lib/layout/components/layout-container/layout-container.component.mjs +180 -0
  420. package/esm2022/lib/layout/components/sidebar-action/sidebar-action-menu.component.mjs +82 -0
  421. package/esm2022/lib/layout/components/sidenav-layout/sidenav-layout.component.mjs +145 -0
  422. package/esm2022/lib/layout/directives/sidenav-layout-content.directive.mjs +33 -0
  423. package/esm2022/lib/layout/directives/sidenav-layout-header.directive.mjs +33 -0
  424. package/esm2022/lib/layout/directives/sidenav-layout-navigation.directive.mjs +33 -0
  425. package/esm2022/lib/layout/index.mjs +18 -0
  426. package/esm2022/lib/layout/layout.module.mjs +72 -0
  427. package/esm2022/lib/layout/public-api.mjs +25 -0
  428. package/esm2022/lib/login/components/login/login.component.mjs +368 -0
  429. package/esm2022/lib/login/components/login-dialog/login-dialog-component-data.interface.mjs +18 -0
  430. package/esm2022/lib/login/components/login-dialog/login-dialog.component.mjs +58 -0
  431. package/esm2022/lib/login/components/login-dialog-panel/login-dialog-panel.component.mjs +48 -0
  432. package/esm2022/lib/login/directives/login-footer.directive.mjs +41 -0
  433. package/esm2022/lib/login/directives/login-header.directive.mjs +41 -0
  434. package/esm2022/lib/login/index.mjs +18 -0
  435. package/esm2022/lib/login/login.module.mjs +54 -0
  436. package/esm2022/lib/login/models/login-error.event.mjs +22 -0
  437. package/esm2022/lib/login/models/login-submit.event.mjs +32 -0
  438. package/esm2022/lib/login/models/login-success.event.mjs +24 -0
  439. package/esm2022/lib/login/public-api.mjs +27 -0
  440. package/esm2022/lib/material.module.mjs +254 -0
  441. package/esm2022/lib/mock/cookie.service.mock.mjs +43 -0
  442. package/esm2022/lib/mock/data-column.mock.mjs +73 -0
  443. package/esm2022/lib/mock/event.mock.mjs +39 -0
  444. package/esm2022/lib/mock/form/form-definition-readonly.mock.mjs +225 -0
  445. package/esm2022/lib/mock/form/form-definition-visibility.mock.mjs +347 -0
  446. package/esm2022/lib/mock/form/form-definition.mock.mjs +403 -0
  447. package/esm2022/lib/mock/form/form.component.mock.mjs +275 -0
  448. package/esm2022/lib/mock/form/form.service.mock.mjs +248 -0
  449. package/esm2022/lib/mock/form/widget-visibility.service.mock.mjs +1835 -0
  450. package/esm2022/lib/mock/index.mjs +18 -0
  451. package/esm2022/lib/mock/public-api.mjs +27 -0
  452. package/esm2022/lib/mock/translation.service.mock.mjs +44 -0
  453. package/esm2022/lib/models/comment.model.mjs +51 -0
  454. package/esm2022/lib/models/component.model.mjs +24 -0
  455. package/esm2022/lib/models/decimal-number.model.mjs +26 -0
  456. package/esm2022/lib/models/general-user.model.mjs +24 -0
  457. package/esm2022/lib/models/index.mjs +18 -0
  458. package/esm2022/lib/models/pagination.model.mjs +29 -0
  459. package/esm2022/lib/models/path.model.mjs +24 -0
  460. package/esm2022/lib/models/product-version.model.mjs +28 -0
  461. package/esm2022/lib/models/public-api.mjs +24 -0
  462. package/esm2022/lib/models/request-pagination.model.mjs +25 -0
  463. package/esm2022/lib/notifications/components/add-notification.stories.component.mjs +44 -0
  464. package/esm2022/lib/notifications/components/notification-history.component.mjs +139 -0
  465. package/esm2022/lib/notifications/helpers/notification.factory.mjs +43 -0
  466. package/esm2022/lib/notifications/index.mjs +18 -0
  467. package/esm2022/lib/notifications/models/notification.model.mjs +25 -0
  468. package/esm2022/lib/notifications/notification-history.module.mjs +35 -0
  469. package/esm2022/lib/notifications/public-api.mjs +23 -0
  470. package/esm2022/lib/notifications/services/notification.service.mjs +166 -0
  471. package/esm2022/lib/pagination/index.mjs +18 -0
  472. package/esm2022/lib/pagination/infinite-pagination.component.mjs +112 -0
  473. package/esm2022/lib/pagination/paginated-component.interface.mjs +18 -0
  474. package/esm2022/lib/pagination/pagination-component.interface.mjs +18 -0
  475. package/esm2022/lib/pagination/pagination.component.mjs +263 -0
  476. package/esm2022/lib/pagination/pagination.module.mjs +35 -0
  477. package/esm2022/lib/pagination/public-api.mjs +22 -0
  478. package/esm2022/lib/pipes/date-time.pipe.mjs +46 -0
  479. package/esm2022/lib/pipes/decimal-number.pipe.mjs +78 -0
  480. package/esm2022/lib/pipes/file-size.pipe.mjs +54 -0
  481. package/esm2022/lib/pipes/file-type.pipe.mjs +40 -0
  482. package/esm2022/lib/pipes/format-space.pipe.mjs +39 -0
  483. package/esm2022/lib/pipes/full-name.pipe.mjs +43 -0
  484. package/esm2022/lib/pipes/index.mjs +18 -0
  485. package/esm2022/lib/pipes/localized-date.pipe.mjs +70 -0
  486. package/esm2022/lib/pipes/multi-value.pipe.mjs +37 -0
  487. package/esm2022/lib/pipes/pipe.module.mjs +83 -0
  488. package/esm2022/lib/pipes/public-api.mjs +30 -0
  489. package/esm2022/lib/pipes/text-highlight.pipe.mjs +39 -0
  490. package/esm2022/lib/pipes/time-ago.pipe.mjs +65 -0
  491. package/esm2022/lib/pipes/truncate.pipe.mjs +33 -0
  492. package/esm2022/lib/pipes/user-initial.pipe.mjs +52 -0
  493. package/esm2022/lib/pipes/user-like.interface.mjs +18 -0
  494. package/esm2022/lib/progress/progress.component.mjs +90 -0
  495. package/esm2022/lib/search-text/animations.mjs +32 -0
  496. package/esm2022/lib/search-text/index.mjs +18 -0
  497. package/esm2022/lib/search-text/models/search-text-input.model.mjs +23 -0
  498. package/esm2022/lib/search-text/public-api.mjs +22 -0
  499. package/esm2022/lib/search-text/search-text-input.component.mjs +294 -0
  500. package/esm2022/lib/search-text/search-text-input.module.mjs +35 -0
  501. package/esm2022/lib/search-text/search-trigger.directive.mjs +181 -0
  502. package/esm2022/lib/snackbar-content/index.mjs +18 -0
  503. package/esm2022/lib/snackbar-content/public-api.mjs +20 -0
  504. package/esm2022/lib/snackbar-content/snack-bar-data.mjs +18 -0
  505. package/esm2022/lib/snackbar-content/snackbar-content.component.mjs +48 -0
  506. package/esm2022/lib/snackbar-content/snackbar-content.module.mjs +38 -0
  507. package/esm2022/lib/sorting-picker/index.mjs +18 -0
  508. package/esm2022/lib/sorting-picker/public-api.mjs +18 -0
  509. package/esm2022/lib/sorting-picker/sorting-picker.component.mjs +68 -0
  510. package/esm2022/lib/templates/empty-content/empty-content.component.mjs +44 -0
  511. package/esm2022/lib/templates/error-content/error-content.component.mjs +62 -0
  512. package/esm2022/lib/templates/index.mjs +18 -0
  513. package/esm2022/lib/templates/public-api.mjs +20 -0
  514. package/esm2022/lib/templates/template.module.mjs +38 -0
  515. package/esm2022/lib/testing/core.story.module.mjs +39 -0
  516. package/esm2022/lib/testing/core.testing.module.mjs +35 -0
  517. package/esm2022/lib/testing/index.mjs +22 -0
  518. package/esm2022/lib/testing/noop-auth.module.mjs +80 -0
  519. package/esm2022/lib/testing/noop-translate.module.mjs +61 -0
  520. package/esm2022/lib/testing/unit-testing-utils.mjs +364 -0
  521. package/esm2022/lib/toolbar/index.mjs +18 -0
  522. package/esm2022/lib/toolbar/public-api.mjs +21 -0
  523. package/esm2022/lib/toolbar/toolbar-divider.component.mjs +27 -0
  524. package/esm2022/lib/toolbar/toolbar-title.component.mjs +32 -0
  525. package/esm2022/lib/toolbar/toolbar.component.mjs +40 -0
  526. package/esm2022/lib/toolbar/toolbar.module.mjs +36 -0
  527. package/esm2022/lib/translation/index.mjs +18 -0
  528. package/esm2022/lib/translation/public-api.mjs +19 -0
  529. package/esm2022/lib/translation/translate-loader.service.mjs +148 -0
  530. package/esm2022/lib/translation/translation.service.mjs +148 -0
  531. package/esm2022/lib/viewer/components/download-prompt-dialog/download-prompt-dialog.component.mjs +37 -0
  532. package/esm2022/lib/viewer/components/img-viewer/img-viewer.component.mjs +221 -0
  533. package/esm2022/lib/viewer/components/media-player/media-player.component.mjs +64 -0
  534. package/esm2022/lib/viewer/components/pdf-viewer/pdf-viewer.component.mjs +551 -0
  535. package/esm2022/lib/viewer/components/pdf-viewer-password-dialog/pdf-viewer-password-dialog.mjs +61 -0
  536. package/esm2022/lib/viewer/components/pdf-viewer-thumb/pdf-viewer-thumb.component.mjs +49 -0
  537. package/esm2022/lib/viewer/components/pdf-viewer-thumbnails/pdf-viewer-thumbnails.component.mjs +198 -0
  538. package/esm2022/lib/viewer/components/txt-viewer/txt-viewer.component.mjs +85 -0
  539. package/esm2022/lib/viewer/components/unknown-format/unknown-format.component.mjs +33 -0
  540. package/esm2022/lib/viewer/components/viewer-more-actions.component.mjs +34 -0
  541. package/esm2022/lib/viewer/components/viewer-open-with.component.mjs +34 -0
  542. package/esm2022/lib/viewer/components/viewer-render/viewer-render.component.mjs +217 -0
  543. package/esm2022/lib/viewer/components/viewer-sidebar.component.mjs +46 -0
  544. package/esm2022/lib/viewer/components/viewer-toolbar-actions.component.mjs +34 -0
  545. package/esm2022/lib/viewer/components/viewer-toolbar-custom-actions.component.mjs +34 -0
  546. package/esm2022/lib/viewer/components/viewer-toolbar.component.mjs +34 -0
  547. package/esm2022/lib/viewer/components/viewer.component.mjs +477 -0
  548. package/esm2022/lib/viewer/directives/viewer-extension.directive.mjs +67 -0
  549. package/esm2022/lib/viewer/index.mjs +18 -0
  550. package/esm2022/lib/viewer/models/download-prompt.actions.mjs +23 -0
  551. package/esm2022/lib/viewer/models/viewer.model.mjs +22 -0
  552. package/esm2022/lib/viewer/public-api.mjs +40 -0
  553. package/esm2022/lib/viewer/services/rendering-queue.services.mjs +179 -0
  554. package/esm2022/lib/viewer/services/view-util.service.mjs +149 -0
  555. package/esm2022/lib/viewer/viewer.module.mjs +112 -0
  556. package/esm2022/public-api.mjs +60 -0
  557. package/esm2022/shell/alfresco-adf-core-shell.mjs +5 -0
  558. package/esm2022/shell/index.mjs +20 -0
  559. package/esm2022/shell/lib/components/shell/shell.component.mjs +122 -0
  560. package/esm2022/shell/lib/services/shell-app.service.mjs +22 -0
  561. package/esm2022/shell/lib/shell.module.mjs +79 -0
  562. package/esm2022/shell/lib/shell.routes.mjs +25 -0
  563. package/feature-flags/lib/providers/debug-feature-flags.provider.d.ts +35 -4
  564. package/fesm2022/adf-core.mjs +958 -939
  565. package/fesm2022/adf-core.mjs.map +1 -1
  566. package/fesm2022/alfresco-adf-core-api.mjs +4 -4
  567. package/fesm2022/alfresco-adf-core-api.mjs.map +1 -1
  568. package/fesm2022/alfresco-adf-core-auth.mjs +3 -3
  569. package/fesm2022/alfresco-adf-core-auth.mjs.map +1 -1
  570. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs +11 -11
  571. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs.map +1 -1
  572. package/fesm2022/alfresco-adf-core-feature-flags.mjs +56 -51
  573. package/fesm2022/alfresco-adf-core-feature-flags.mjs.map +1 -1
  574. package/fesm2022/alfresco-adf-core-shell.mjs +9 -9
  575. package/fesm2022/alfresco-adf-core-shell.mjs.map +1 -1
  576. package/lib/card-view/components/base-card-view.d.ts +1 -1
  577. package/lib/datatable/data/data-table.schema.d.ts +1 -1
  578. package/package.json +15 -3
@@ -0,0 +1,138 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { Component, Input, inject, ViewEncapsulation, DestroyRef } from '@angular/core';
18
+ import { BehaviorSubject, combineLatest, Observable } from 'rxjs';
19
+ import { MatSelectModule } from '@angular/material/select';
20
+ import { BaseCardView } from '../base-card-view';
21
+ import { AppConfigService } from '../../../app-config/app-config.service';
22
+ import { map, debounceTime, filter, first } from 'rxjs/operators';
23
+ import { CommonModule } from '@angular/common';
24
+ import { TranslateModule } from '@ngx-translate/core';
25
+ import { MatFormFieldModule } from '@angular/material/form-field';
26
+ import { SelectFilterInputComponent } from './select-filter-input/select-filter-input.component';
27
+ import { MatAutocompleteModule } from '@angular/material/autocomplete';
28
+ import { MatInputModule } from '@angular/material/input';
29
+ import { ReactiveFormsModule, UntypedFormControl } from '@angular/forms';
30
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
31
+ import * as i0 from "@angular/core";
32
+ import * as i1 from "@angular/common";
33
+ import * as i2 from "@ngx-translate/core";
34
+ import * as i3 from "@angular/material/form-field";
35
+ import * as i4 from "@angular/material/select";
36
+ import * as i5 from "@angular/material/core";
37
+ import * as i6 from "@angular/material/autocomplete";
38
+ import * as i7 from "@angular/material/input";
39
+ import * as i8 from "@angular/forms";
40
+ export class CardViewSelectItemComponent extends BaseCardView {
41
+ constructor() {
42
+ super(...arguments);
43
+ this.appConfig = inject(AppConfigService);
44
+ this.displayNoneOption = true;
45
+ this.displayEmpty = true;
46
+ this.filter$ = new BehaviorSubject('');
47
+ this.showInputFilter = false;
48
+ this.list$ = null;
49
+ this.templateType = '';
50
+ this.autocompleteControl = new UntypedFormControl();
51
+ this.destroyRef = inject(DestroyRef);
52
+ }
53
+ static { this.HIDE_FILTER_LIMIT = 5; }
54
+ ngOnChanges(changes) {
55
+ this.value = this.property.value;
56
+ if (changes.property?.firstChange) {
57
+ this.autocompleteControl.valueChanges
58
+ .pipe(filter((textInputValue) => textInputValue !== this.editedValue && textInputValue !== null), debounceTime(50), takeUntilDestroyed(this.destroyRef))
59
+ .subscribe((textInputValue) => {
60
+ this.editedValue = textInputValue;
61
+ this.cardViewUpdateService.autocompleteInputValue$.next(textInputValue);
62
+ });
63
+ }
64
+ if (changes.editable) {
65
+ if (this.isEditable) {
66
+ this.autocompleteControl.enable();
67
+ }
68
+ else {
69
+ this.autocompleteControl.disable();
70
+ }
71
+ }
72
+ }
73
+ ngOnInit() {
74
+ if (this.property.autocompleteBased) {
75
+ this.templateType = 'autocompleteBased';
76
+ }
77
+ this.getOptions()
78
+ .pipe(takeUntilDestroyed(this.destroyRef))
79
+ .subscribe((options) => {
80
+ this.showInputFilter = options.length > this.optionsLimit;
81
+ });
82
+ this.list$ = this.getList();
83
+ this.autocompleteControl.setValue(this.property.value);
84
+ }
85
+ onFilterInputChange(value) {
86
+ this.filter$.next(value.toString());
87
+ }
88
+ getOptions() {
89
+ return this.options$ || this.property.options$;
90
+ }
91
+ getList() {
92
+ return combineLatest([this.getOptions(), this.filter$]).pipe(map(([items, searchTerm]) => items.filter((item) => (filter ? item.label.toLowerCase().includes(searchTerm.toLowerCase()) : true))));
93
+ }
94
+ onOptionSelected(event) {
95
+ this.getOptions()
96
+ .pipe(first())
97
+ .subscribe((options) => {
98
+ const selectedOption = options.find((option) => option.key === event.option.value);
99
+ if (selectedOption) {
100
+ this.autocompleteControl.setValue(selectedOption.label);
101
+ this.cardViewUpdateService.update({ ...this.property }, selectedOption.key);
102
+ }
103
+ });
104
+ }
105
+ onChange(event) {
106
+ const selectedOption = event.value !== undefined ? event.value : null;
107
+ this.cardViewUpdateService.update({ ...this.property }, selectedOption);
108
+ this.property.value = selectedOption;
109
+ }
110
+ get showProperty() {
111
+ return this.displayEmpty || !this.property.isEmpty();
112
+ }
113
+ get optionsLimit() {
114
+ return this.appConfig.get('content-metadata.selectFilterLimit', CardViewSelectItemComponent.HIDE_FILTER_LIMIT);
115
+ }
116
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardViewSelectItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
117
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CardViewSelectItemComponent, isStandalone: true, selector: "adf-card-view-selectitem", inputs: { options$: "options$", displayNoneOption: "displayNoneOption", displayEmpty: "displayEmpty" }, host: { classAttribute: "adf-card-view-selectitem" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!property.isEmpty() || isEditable\">\n <div [ngSwitch]=\"templateType\">\n <div *ngSwitchDefault>\n <div\n [attr.data-automation-id]=\"'card-select-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{\n 'adf-property-value-editable': isEditable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >{{ property.label | translate }}\n </div>\n <div class=\"adf-property-field\">\n <div\n *ngIf=\"!isEditable\"\n class=\"adf-property-value adf-property-read-only\"\n [attr.data-automation-id]=\"'select-readonly-value-' + property.key\"\n data-automation-class=\"read-only-value\">{{ (property.displayValue | async) | translate }}\n </div>\n <div *ngIf=\"isEditable\">\n <mat-form-field class=\"adf-property-value\" [ngClass]=\"{'adf-property-value-editable': isEditable}\">\n <mat-select\n [(value)]=\"value\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty }\"\n panelClass=\"adf-select-filter\"\n (selectionChange)=\"onChange($event)\"\n data-automation-class=\"select-box\"\n [aria-label]=\"property.label | translate\">\n <adf-select-filter-input *ngIf=\"showInputFilter\" (change)=\"onFilterInputChange($event)\"/>\n <mat-option *ngIf=\"displayNoneOption\">{{ 'CORE.CARDVIEW.NONE' | translate }}</mat-option>\n <mat-option\n *ngFor=\"let option of list$ | async\"\n [value]=\"option.key\">\n {{ option.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n </div>\n <div *ngSwitchCase=\"'autocompleteBased'\">\n <mat-form-field\n class=\"adf-property-field adf-card-selectitem-autocomplete\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n [floatLabel]=\"'always'\">\n <mat-label\n *ngIf=\"showProperty || isEditable\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{\n 'adf-property-value-editable': isEditable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\">\n {{ property.label | translate }}\n </mat-label>\n <input\n matInput\n [matAutocomplete]=\"auto\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': isEditable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"autocompleteControl\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-value-' + property.key\"\n />\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\"\n (optionSelected)=\"onOptionSelected($event)\">\n <mat-option *ngFor=\"let option of property.options$ | async\" [value]=\"option.key\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-option-' + property.key\">\n {{ option.label }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n </div>\n</ng-container>\n", styles: [".adf-card-view-selectitem .adf-property-value{width:100%}.adf-card-view-selectitem .adf-select-filter-input{background:var(--adf-theme-background-card-color);position:sticky;top:0;left:0;right:0;z-index:1}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable{padding-left:0}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mdc-text-field--no-label .mat-mdc-form-field-infix{padding:0}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-text-field-wrapper{background-color:unset}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select{margin-top:0;border-radius:6px}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select .mat-mdc-select-value{color:var(--adf-metadata-action-button-clear-color)}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select .mat-mdc-select-trigger{padding:6px 12px 6px 6px}.adf-card-view-selectitem .adf-card-selectitem-autocomplete .adf-property-value-editable{padding-left:10px}.adf-card-view-selectitem .mat-mdc-form-field-subscript-wrapper{display:none}.adf-card-view-selectitem .adf-property-read-only{padding:6px 0;border-bottom:1px solid var(--adf-metadata-property-panel-border-color);color:var(--adf-metadata-property-panel-title-color)}.adf-card-view-selectitem .mdc-line-ripple{display:none}.adf-card-view-selectitem .adf-property-readonly-value{color:var(--adf-metadata-property-panel-label-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: SelectFilterInputComponent, selector: "adf-select-filter-input", outputs: ["change"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], encapsulation: i0.ViewEncapsulation.None }); }
118
+ }
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardViewSelectItemComponent, decorators: [{
120
+ type: Component,
121
+ args: [{ selector: 'adf-card-view-selectitem', standalone: true, imports: [
122
+ CommonModule,
123
+ TranslateModule,
124
+ MatFormFieldModule,
125
+ MatSelectModule,
126
+ SelectFilterInputComponent,
127
+ MatAutocompleteModule,
128
+ MatInputModule,
129
+ ReactiveFormsModule
130
+ ], encapsulation: ViewEncapsulation.None, host: { class: 'adf-card-view-selectitem' }, template: "<ng-container *ngIf=\"!property.isEmpty() || isEditable\">\n <div [ngSwitch]=\"templateType\">\n <div *ngSwitchDefault>\n <div\n [attr.data-automation-id]=\"'card-select-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{\n 'adf-property-value-editable': isEditable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >{{ property.label | translate }}\n </div>\n <div class=\"adf-property-field\">\n <div\n *ngIf=\"!isEditable\"\n class=\"adf-property-value adf-property-read-only\"\n [attr.data-automation-id]=\"'select-readonly-value-' + property.key\"\n data-automation-class=\"read-only-value\">{{ (property.displayValue | async) | translate }}\n </div>\n <div *ngIf=\"isEditable\">\n <mat-form-field class=\"adf-property-value\" [ngClass]=\"{'adf-property-value-editable': isEditable}\">\n <mat-select\n [(value)]=\"value\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty }\"\n panelClass=\"adf-select-filter\"\n (selectionChange)=\"onChange($event)\"\n data-automation-class=\"select-box\"\n [aria-label]=\"property.label | translate\">\n <adf-select-filter-input *ngIf=\"showInputFilter\" (change)=\"onFilterInputChange($event)\"/>\n <mat-option *ngIf=\"displayNoneOption\">{{ 'CORE.CARDVIEW.NONE' | translate }}</mat-option>\n <mat-option\n *ngFor=\"let option of list$ | async\"\n [value]=\"option.key\">\n {{ option.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n </div>\n <div *ngSwitchCase=\"'autocompleteBased'\">\n <mat-form-field\n class=\"adf-property-field adf-card-selectitem-autocomplete\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n [floatLabel]=\"'always'\">\n <mat-label\n *ngIf=\"showProperty || isEditable\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{\n 'adf-property-value-editable': isEditable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\">\n {{ property.label | translate }}\n </mat-label>\n <input\n matInput\n [matAutocomplete]=\"auto\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': isEditable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"autocompleteControl\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-value-' + property.key\"\n />\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\"\n (optionSelected)=\"onOptionSelected($event)\">\n <mat-option *ngFor=\"let option of property.options$ | async\" [value]=\"option.key\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-option-' + property.key\">\n {{ option.label }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n </div>\n</ng-container>\n", styles: [".adf-card-view-selectitem .adf-property-value{width:100%}.adf-card-view-selectitem .adf-select-filter-input{background:var(--adf-theme-background-card-color);position:sticky;top:0;left:0;right:0;z-index:1}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable{padding-left:0}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mdc-text-field--no-label .mat-mdc-form-field-infix{padding:0}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-text-field-wrapper{background-color:unset}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select{margin-top:0;border-radius:6px}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select .mat-mdc-select-value{color:var(--adf-metadata-action-button-clear-color)}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select .mat-mdc-select-trigger{padding:6px 12px 6px 6px}.adf-card-view-selectitem .adf-card-selectitem-autocomplete .adf-property-value-editable{padding-left:10px}.adf-card-view-selectitem .mat-mdc-form-field-subscript-wrapper{display:none}.adf-card-view-selectitem .adf-property-read-only{padding:6px 0;border-bottom:1px solid var(--adf-metadata-property-panel-border-color);color:var(--adf-metadata-property-panel-title-color)}.adf-card-view-selectitem .mdc-line-ripple{display:none}.adf-card-view-selectitem .adf-property-readonly-value{color:var(--adf-metadata-property-panel-label-color)}\n"] }]
131
+ }], propDecorators: { options$: [{
132
+ type: Input
133
+ }], displayNoneOption: [{
134
+ type: Input
135
+ }], displayEmpty: [{
136
+ type: Input
137
+ }] } });
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC12aWV3LXNlbGVjdGl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9jYXJkLXZpZXcvY29tcG9uZW50cy9jYXJkLXZpZXctc2VsZWN0aXRlbS9jYXJkLXZpZXctc2VsZWN0aXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2NhcmQtdmlldy9jb21wb25lbnRzL2NhcmQtdmlldy1zZWxlY3RpdGVtL2NhcmQtdmlldy1zZWxlY3RpdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsaUJBQWlCLEVBQWlCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxSCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbEUsT0FBTyxFQUFtQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLHFCQUFxQixFQUFnQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7OztBQW9CaEUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLFlBQXNEO0lBbEJ2Rzs7UUFtQlksY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBTTdDLHNCQUFpQixHQUFZLElBQUksQ0FBQztRQUdsQyxpQkFBWSxHQUFZLElBQUksQ0FBQztRQUc3QixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDMUMsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFDakMsVUFBSyxHQUE0RCxJQUFJLENBQUM7UUFDdEUsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsd0JBQW1CLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBRzlCLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0FnRnBEO2FBbEdVLHNCQUFpQixHQUFHLENBQUMsQUFBSixDQUFLO0lBb0I3QixXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUNqQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVk7aUJBQ2hDLElBQUksQ0FDRCxNQUFNLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLGNBQWMsS0FBSyxJQUFJLENBQUMsV0FBVyxJQUFJLGNBQWMsS0FBSyxJQUFJLENBQUMsRUFDMUYsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUNoQixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQ3RDO2lCQUNBLFNBQVMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFO2dCQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUM1RSxDQUFDLENBQUMsQ0FBQztRQUNYLENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3RDLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdkMsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsbUJBQW1CLENBQUM7UUFDNUMsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLEVBQUU7YUFDWixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3pDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQzlELENBQUMsQ0FBQyxDQUFDO1FBRVAsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxVQUFVO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO0lBQ25ELENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN4RCxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ3RJLENBQUM7SUFDTixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBbUM7UUFDaEQsSUFBSSxDQUFDLFVBQVUsRUFBRTthQUNaLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUNiLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ25CLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuRixJQUFJLGNBQWMsRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDeEQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBcUMsRUFBRSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkgsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFzQjtRQUMzQixNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3RFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQXFDLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDM0csSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsY0FBYyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFZLFlBQVk7UUFDcEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBUyxvQ0FBb0MsRUFBRSwyQkFBMkIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzNILENBQUM7K0dBbkdRLDJCQUEyQjttR0FBM0IsMkJBQTJCLDhSQ3BEeEMsazJJQWlGQSw2bEREM0NRLFlBQVksOHBCQUNaLGVBQWUsMkZBQ2Ysa0JBQWtCLDBTQUNsQixlQUFlLG9yQkFDZiwwQkFBMEIsd0ZBQzFCLHFCQUFxQix1ckJBQ3JCLGNBQWMsMFdBQ2QsbUJBQW1COzs0RkFPZCwyQkFBMkI7a0JBbEJ2QyxTQUFTOytCQUNJLDBCQUEwQixjQUN4QixJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZiwwQkFBMEI7d0JBQzFCLHFCQUFxQjt3QkFDckIsY0FBYzt3QkFDZCxtQkFBbUI7cUJBQ3RCLGlCQUdjLGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBRSxLQUFLLEVBQUUsMEJBQTBCLEVBQUU7OEJBTWxDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR04saUJBQWlCO3NCQURoQixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIGluamVjdCwgVmlld0VuY2Fwc3VsYXRpb24sIFNpbXBsZUNoYW5nZXMsIERlc3Ryb3lSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhcmRWaWV3U2VsZWN0SXRlbU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NhcmQtdmlldy1zZWxlY3RpdGVtLm1vZGVsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2FyZFZpZXdTZWxlY3RJdGVtT3B0aW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9jYXJkLXZpZXcuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNYXRTZWxlY3RDaGFuZ2UsIE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBCYXNlQ2FyZFZpZXcgfSBmcm9tICcuLi9iYXNlLWNhcmQtdmlldyc7XG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYXBwLWNvbmZpZy9hcHAtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgbWFwLCBkZWJvdW5jZVRpbWUsIGZpbHRlciwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IFNlbGVjdEZpbHRlcklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QtZmlsdGVyLWlucHV0L3NlbGVjdC1maWx0ZXItaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSwgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtY2FyZC12aWV3LXNlbGVjdGl0ZW0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICAgICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgICAgIFNlbGVjdEZpbHRlcklucHV0Q29tcG9uZW50LFxuICAgICAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2FyZC12aWV3LXNlbGVjdGl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NhcmQtdmlldy1zZWxlY3RpdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7IGNsYXNzOiAnYWRmLWNhcmQtdmlldy1zZWxlY3RpdGVtJyB9XG59KVxuZXhwb3J0IGNsYXNzIENhcmRWaWV3U2VsZWN0SXRlbUNvbXBvbmVudCBleHRlbmRzIEJhc2VDYXJkVmlldzxDYXJkVmlld1NlbGVjdEl0ZW1Nb2RlbDxzdHJpbmcgfCBudW1iZXI+PiBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBwcml2YXRlIGFwcENvbmZpZyA9IGluamVjdChBcHBDb25maWdTZXJ2aWNlKTtcbiAgICBzdGF0aWMgSElERV9GSUxURVJfTElNSVQgPSA1O1xuXG4gICAgQElucHV0KCkgb3B0aW9ucyQ6IE9ic2VydmFibGU8Q2FyZFZpZXdTZWxlY3RJdGVtT3B0aW9uPHN0cmluZyB8IG51bWJlcj5bXT47XG5cbiAgICBASW5wdXQoKVxuICAgIGRpc3BsYXlOb25lT3B0aW9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgZGlzcGxheUVtcHR5OiBib29sZWFuID0gdHJ1ZTtcblxuICAgIHZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XG4gICAgZmlsdGVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gICAgc2hvd0lucHV0RmlsdGVyOiBib29sZWFuID0gZmFsc2U7XG4gICAgbGlzdCQ6IE9ic2VydmFibGU8Q2FyZFZpZXdTZWxlY3RJdGVtT3B0aW9uPHN0cmluZyB8IG51bWJlcj5bXT4gPSBudWxsO1xuICAgIHRlbXBsYXRlVHlwZSA9ICcnO1xuICAgIGF1dG9jb21wbGV0ZUNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCk7XG4gICAgZWRpdGVkVmFsdWU6IHN0cmluZyB8IG51bWJlcjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMucHJvcGVydHkudmFsdWU7XG4gICAgICAgIGlmIChjaGFuZ2VzLnByb3BlcnR5Py5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5hdXRvY29tcGxldGVDb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKHRleHRJbnB1dFZhbHVlKSA9PiB0ZXh0SW5wdXRWYWx1ZSAhPT0gdGhpcy5lZGl0ZWRWYWx1ZSAmJiB0ZXh0SW5wdXRWYWx1ZSAhPT0gbnVsbCksXG4gICAgICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSg1MCksXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHRleHRJbnB1dFZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWRpdGVkVmFsdWUgPSB0ZXh0SW5wdXRWYWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYXJkVmlld1VwZGF0ZVNlcnZpY2UuYXV0b2NvbXBsZXRlSW5wdXRWYWx1ZSQubmV4dCh0ZXh0SW5wdXRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hhbmdlcy5lZGl0YWJsZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNFZGl0YWJsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29udHJvbC5lbmFibGUoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hdXRvY29tcGxldGVDb250cm9sLmRpc2FibGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5wcm9wZXJ0eS5hdXRvY29tcGxldGVCYXNlZCkge1xuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZVR5cGUgPSAnYXV0b2NvbXBsZXRlQmFzZWQnO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5nZXRPcHRpb25zKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgob3B0aW9ucykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvd0lucHV0RmlsdGVyID0gb3B0aW9ucy5sZW5ndGggPiB0aGlzLm9wdGlvbnNMaW1pdDtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubGlzdCQgPSB0aGlzLmdldExpc3QoKTtcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVDb250cm9sLnNldFZhbHVlKHRoaXMucHJvcGVydHkudmFsdWUpO1xuICAgIH1cblxuICAgIG9uRmlsdGVySW5wdXRDaGFuZ2UodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmZpbHRlciQubmV4dCh2YWx1ZS50b1N0cmluZygpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE9wdGlvbnMoKTogT2JzZXJ2YWJsZTxDYXJkVmlld1NlbGVjdEl0ZW1PcHRpb248c3RyaW5nIHwgbnVtYmVyPltdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMkIHx8IHRoaXMucHJvcGVydHkub3B0aW9ucyQ7XG4gICAgfVxuXG4gICAgZ2V0TGlzdCgpOiBPYnNlcnZhYmxlPENhcmRWaWV3U2VsZWN0SXRlbU9wdGlvbjxzdHJpbmcgfCBudW1iZXI+W10+IHtcbiAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW3RoaXMuZ2V0T3B0aW9ucygpLCB0aGlzLmZpbHRlciRdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbaXRlbXMsIHNlYXJjaFRlcm1dKSA9PiBpdGVtcy5maWx0ZXIoKGl0ZW0pID0+IChmaWx0ZXIgPyBpdGVtLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpKSA6IHRydWUpKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbk9wdGlvblNlbGVjdGVkKGV2ZW50OiBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50KSB7XG4gICAgICAgIHRoaXMuZ2V0T3B0aW9ucygpXG4gICAgICAgICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgob3B0aW9ucykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gb3B0aW9ucy5maW5kKChvcHRpb24pID0+IG9wdGlvbi5rZXkgPT09IGV2ZW50Lm9wdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29udHJvbC5zZXRWYWx1ZShzZWxlY3RlZE9wdGlvbi5sYWJlbCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2FyZFZpZXdVcGRhdGVTZXJ2aWNlLnVwZGF0ZSh7IC4uLnRoaXMucHJvcGVydHkgfSBhcyBDYXJkVmlld1NlbGVjdEl0ZW1Nb2RlbDxzdHJpbmc+LCBzZWxlY3RlZE9wdGlvbi5rZXkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uQ2hhbmdlKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSBldmVudC52YWx1ZSAhPT0gdW5kZWZpbmVkID8gZXZlbnQudmFsdWUgOiBudWxsO1xuICAgICAgICB0aGlzLmNhcmRWaWV3VXBkYXRlU2VydmljZS51cGRhdGUoeyAuLi50aGlzLnByb3BlcnR5IH0gYXMgQ2FyZFZpZXdTZWxlY3RJdGVtTW9kZWw8c3RyaW5nPiwgc2VsZWN0ZWRPcHRpb24pO1xuICAgICAgICB0aGlzLnByb3BlcnR5LnZhbHVlID0gc2VsZWN0ZWRPcHRpb247XG4gICAgfVxuXG4gICAgZ2V0IHNob3dQcm9wZXJ0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzcGxheUVtcHR5IHx8ICF0aGlzLnByb3BlcnR5LmlzRW1wdHkoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBvcHRpb25zTGltaXQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwQ29uZmlnLmdldDxudW1iZXI+KCdjb250ZW50LW1ldGFkYXRhLnNlbGVjdEZpbHRlckxpbWl0JywgQ2FyZFZpZXdTZWxlY3RJdGVtQ29tcG9uZW50LkhJREVfRklMVEVSX0xJTUlUKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIXByb3BlcnR5LmlzRW1wdHkoKSB8fCBpc0VkaXRhYmxlXCI+XG4gICAgPGRpdiBbbmdTd2l0Y2hdPVwidGVtcGxhdGVUeXBlXCI+XG4gICAgICAgIDxkaXYgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2NhcmQtc2VsZWN0LWxhYmVsLScgKyBwcm9wZXJ0eS5rZXlcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXByb3BlcnR5LWxhYmVsXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICdhZGYtcHJvcGVydHktdmFsdWUtZWRpdGFibGUnOiBpc0VkaXRhYmxlLFxuICAgICAgICAgICAgICAgICAgICAnYWRmLXByb3BlcnR5LXJlYWRvbmx5LXZhbHVlJzogaXNSZWFkb25seVByb3BlcnR5XG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICA+e3sgcHJvcGVydHkubGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1wcm9wZXJ0eS1maWVsZFwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhaXNFZGl0YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXByb3BlcnR5LXZhbHVlIGFkZi1wcm9wZXJ0eS1yZWFkLW9ubHlcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ3NlbGVjdC1yZWFkb25seS12YWx1ZS0nICsgcHJvcGVydHkua2V5XCJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWNsYXNzPVwicmVhZC1vbmx5LXZhbHVlXCI+e3sgKHByb3BlcnR5LmRpc3BsYXlWYWx1ZSB8IGFzeW5jKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0VkaXRhYmxlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFkZi1wcm9wZXJ0eS12YWx1ZVwiIFtuZ0NsYXNzXT1cInsnYWRmLXByb3BlcnR5LXZhbHVlLWVkaXRhYmxlJzogaXNFZGl0YWJsZX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2FkZi1wcm9wZXJ0eS1yZWFkb25seS12YWx1ZSc6IGlzUmVhZG9ubHlQcm9wZXJ0eSB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYW5lbENsYXNzPVwiYWRmLXNlbGVjdC1maWx0ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWNsYXNzPVwic2VsZWN0LWJveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FyaWEtbGFiZWxdPVwicHJvcGVydHkubGFiZWwgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YWRmLXNlbGVjdC1maWx0ZXItaW5wdXQgKm5nSWY9XCJzaG93SW5wdXRGaWx0ZXJcIiAoY2hhbmdlKT1cIm9uRmlsdGVySW5wdXRDaGFuZ2UoJGV2ZW50KVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cImRpc3BsYXlOb25lT3B0aW9uXCI+e3sgJ0NPUkUuQ0FSRFZJRVcuTk9ORScgfCB0cmFuc2xhdGUgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBsaXN0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbi5rZXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgb3B0aW9uLmxhYmVsIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInYXV0b2NvbXBsZXRlQmFzZWQnXCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGRcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1wcm9wZXJ0eS1maWVsZCBhZGYtY2FyZC1zZWxlY3RpdGVtLWF1dG9jb21wbGV0ZVwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnYWRmLXByb3BlcnR5LXJlYWQtb25seSc6ICFpc0VkaXRhYmxlIH1cIlxuICAgICAgICAgICAgICAgIFtmbG9hdExhYmVsXT1cIidhbHdheXMnXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbFxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dQcm9wZXJ0eSB8fCBpc0VkaXRhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidjYXJkLWF1dG9jb21wbGV0ZS1iYXNlZC1zZWxlY3RpdGVtLWxhYmVsLScgKyBwcm9wZXJ0eS5rZXlcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1wcm9wZXJ0eS1sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICdhZGYtcHJvcGVydHktdmFsdWUtZWRpdGFibGUnOiBpc0VkaXRhYmxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZi1wcm9wZXJ0eS1yZWFkb25seS12YWx1ZSc6IGlzUmVhZG9ubHlQcm9wZXJ0eVxuICAgICAgICAgICAgICAgICAgICB9XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHByb3BlcnR5LmxhYmVsIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXByb3BlcnR5LXZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZi1wcm9wZXJ0eS12YWx1ZS1lZGl0YWJsZSc6IGlzRWRpdGFibGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAnYWRmLXByb3BlcnR5LXJlYWRvbmx5LXZhbHVlJzogaXNSZWFkb25seVByb3BlcnR5XG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7IHByb3BlcnR5LmxhYmVsIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInByb3BlcnR5LmRlZmF1bHRcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInByb3BlcnR5LmxhYmVsIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImF1dG9jb21wbGV0ZUNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0NPUkUuTUVUQURBVEEuQUNUSU9OUy5DT1BZX1RPX0NMSVBCT0FSRCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2NhcmQtYXV0b2NvbXBsZXRlLWJhc2VkLXNlbGVjdGl0ZW0tdmFsdWUtJyArIHByb3BlcnR5LmtleVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZSBhdXRvQWN0aXZlRmlyc3RPcHRpb24gI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvcHRpb25TZWxlY3RlZCk9XCJvbk9wdGlvblNlbGVjdGVkKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBwcm9wZXJ0eS5vcHRpb25zJCB8IGFzeW5jXCIgW3ZhbHVlXT1cIm9wdGlvbi5rZXlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2NhcmQtYXV0b2NvbXBsZXRlLWJhc2VkLXNlbGVjdGl0ZW0tb3B0aW9uLScgKyBwcm9wZXJ0eS5rZXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9wdGlvbi5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -0,0 +1,114 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { Component, DestroyRef, ElementRef, EventEmitter, Inject, inject, Output, ViewChild, ViewEncapsulation } from '@angular/core';
18
+ import { MatSelect } from '@angular/material/select';
19
+ import { CommonModule } from '@angular/common';
20
+ import { MatFormFieldModule } from '@angular/material/form-field';
21
+ import { MatInputModule } from '@angular/material/input';
22
+ import { FormsModule } from '@angular/forms';
23
+ import { MatButtonModule } from '@angular/material/button';
24
+ import { MatIconModule } from '@angular/material/icon';
25
+ import { TranslateModule } from '@ngx-translate/core';
26
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
27
+ import * as i0 from "@angular/core";
28
+ import * as i1 from "@angular/common";
29
+ import * as i2 from "@angular/material/form-field";
30
+ import * as i3 from "@angular/material/input";
31
+ import * as i4 from "@angular/forms";
32
+ import * as i5 from "@angular/material/button";
33
+ import * as i6 from "@angular/material/icon";
34
+ import * as i7 from "@ngx-translate/core";
35
+ import * as i8 from "@angular/material/select";
36
+ export class SelectFilterInputComponent {
37
+ constructor(matSelect) {
38
+ this.matSelect = matSelect;
39
+ this.change = new EventEmitter();
40
+ this.term = '';
41
+ this.destroyRef = inject(DestroyRef);
42
+ }
43
+ onModelChange(value) {
44
+ this.change.next(value);
45
+ }
46
+ ngOnInit() {
47
+ this.change.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((val) => (this.term = val));
48
+ this.matSelect.openedChange.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((isOpened) => {
49
+ if (isOpened) {
50
+ this.selectFilterInput.nativeElement.focus();
51
+ }
52
+ else {
53
+ this.change.next('');
54
+ }
55
+ });
56
+ if (this.matSelect.ngControl) {
57
+ this.previousSelected = this.matSelect.ngControl.value;
58
+ this.matSelect.ngControl.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((values) => {
59
+ let restoreSelection = false;
60
+ if (this.matSelect.multiple && Array.isArray(this.previousSelected)) {
61
+ if (!Array.isArray(values)) {
62
+ values = [];
63
+ }
64
+ const options = this.matSelect.options.map((option) => option.value);
65
+ this.previousSelected.forEach((previous) => {
66
+ const isSelected = [...values, ...options].some((current) => this.matSelect.compareWith(current, previous));
67
+ if (!isSelected) {
68
+ values.push(previous);
69
+ restoreSelection = true;
70
+ }
71
+ });
72
+ }
73
+ this.previousSelected = values;
74
+ if (restoreSelection) {
75
+ // eslint-disable-next-line no-underscore-dangle
76
+ this.matSelect._onChange(values);
77
+ }
78
+ });
79
+ }
80
+ }
81
+ reset(event) {
82
+ if (event) {
83
+ event.stopPropagation();
84
+ }
85
+ this.change.next('');
86
+ this.selectFilterInput.nativeElement.focus();
87
+ }
88
+ handleKeydown($event) {
89
+ if (this.term) {
90
+ if ($event.code === 'Escape') {
91
+ $event.stopPropagation();
92
+ this.change.next('');
93
+ }
94
+ if ($event.target.tagName === 'INPUT' && $event.code === 'Tab') {
95
+ $event.stopPropagation();
96
+ }
97
+ }
98
+ }
99
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectFilterInputComponent, deps: [{ token: MatSelect }], target: i0.ɵɵFactoryTarget.Component }); }
100
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SelectFilterInputComponent, isStandalone: true, selector: "adf-select-filter-input", outputs: { change: "change" }, host: { classAttribute: "adf-select-filter-input" }, viewQueries: [{ propertyName: "selectFilterInput", first: true, predicate: ["selectFilterInput"], descendants: true, read: ElementRef }], ngImport: i0, template: "\n<div class=\"adf-select-filter-input-container\">\n <mat-form-field subscriptSizing=\"dynamic\">\n <input matInput\n autocomplete=\"off\"\n (keydown)=\"handleKeydown($event)\"\n [placeholder]=\"'SELECT_FILTER.INPUT.PLACEHOLDER' | translate\"\n #selectFilterInput\n [ngModel]=\"term\"\n (ngModelChange)=\"onModelChange($event)\"\n [attr.aria-label]=\"'SELECT_FILTER.INPUT.ARIA_LABEL' | translate\"\n (change)=\"$event.stopPropagation()\"\n />\n\n <button\n matSuffix\n mat-icon-button\n class=\"adf-select-filter-clear-button\"\n [attr.aria-label]=\"'SELECT_FILTER.BUTTON.ARIA_LABEL' | translate\"\n *ngIf=\"term\"\n (keydown.enter)=\"reset($event)\"\n (click)=\"reset()\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n</div>\n", styles: [".adf-select-filter-input{height:4em;display:flex}.adf-select-filter-input .adf-select-filter-input-container{width:100%;z-index:100;font-size:var(--theme-body-1-font-size);color:var(--adf-theme-foreground-text-color-087);line-height:3em;height:4em;padding:5px 16px 0;background:var(--adf-theme-background-card-color)}.adf-select-filter-input .mat-mdc-form-field{width:100%}.adf-select-filter-input .adf-select-filter-clear-button{padding:0}.mat-mdc-select-panel.adf-select-filter{transform:none;overflow-x:hidden;max-height:calc(256px + 4em)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
101
+ }
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectFilterInputComponent, decorators: [{
103
+ type: Component,
104
+ args: [{ selector: 'adf-select-filter-input', standalone: true, imports: [CommonModule, MatFormFieldModule, MatInputModule, FormsModule, MatButtonModule, MatIconModule, TranslateModule], host: { class: 'adf-select-filter-input' }, encapsulation: ViewEncapsulation.None, template: "\n<div class=\"adf-select-filter-input-container\">\n <mat-form-field subscriptSizing=\"dynamic\">\n <input matInput\n autocomplete=\"off\"\n (keydown)=\"handleKeydown($event)\"\n [placeholder]=\"'SELECT_FILTER.INPUT.PLACEHOLDER' | translate\"\n #selectFilterInput\n [ngModel]=\"term\"\n (ngModelChange)=\"onModelChange($event)\"\n [attr.aria-label]=\"'SELECT_FILTER.INPUT.ARIA_LABEL' | translate\"\n (change)=\"$event.stopPropagation()\"\n />\n\n <button\n matSuffix\n mat-icon-button\n class=\"adf-select-filter-clear-button\"\n [attr.aria-label]=\"'SELECT_FILTER.BUTTON.ARIA_LABEL' | translate\"\n *ngIf=\"term\"\n (keydown.enter)=\"reset($event)\"\n (click)=\"reset()\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n</div>\n", styles: [".adf-select-filter-input{height:4em;display:flex}.adf-select-filter-input .adf-select-filter-input-container{width:100%;z-index:100;font-size:var(--theme-body-1-font-size);color:var(--adf-theme-foreground-text-color-087);line-height:3em;height:4em;padding:5px 16px 0;background:var(--adf-theme-background-card-color)}.adf-select-filter-input .mat-mdc-form-field{width:100%}.adf-select-filter-input .adf-select-filter-clear-button{padding:0}.mat-mdc-select-panel.adf-select-filter{transform:none;overflow-x:hidden;max-height:calc(256px + 4em)}\n"] }]
105
+ }], ctorParameters: () => [{ type: i8.MatSelect, decorators: [{
106
+ type: Inject,
107
+ args: [MatSelect]
108
+ }] }], propDecorators: { selectFilterInput: [{
109
+ type: ViewChild,
110
+ args: ['selectFilterInput', { read: ElementRef, static: false }]
111
+ }], change: [{
112
+ type: Output
113
+ }] } });
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZpbHRlci1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2NhcmQtdmlldy9jb21wb25lbnRzL2NhcmQtdmlldy1zZWxlY3RpdGVtL3NlbGVjdC1maWx0ZXItaW5wdXQvc2VsZWN0LWZpbHRlci1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2NhcmQtdmlldy9jb21wb25lbnRzL2NhcmQtdmlldy1zZWxlY3RpdGVtL3NlbGVjdC1maWx0ZXItaW5wdXQvc2VsZWN0LWZpbHRlci1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixNQUFNLEVBRU4sTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxr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QWEsRUFBRSxlQUFlLENBQUMsUUFHbkgsRUFBRSxLQUFLLEVBQUUseUJBQXlCLEVBQUUsaUJBQzNCLGlCQUFpQixDQUFDLElBQUk7OzBCQVd4QixNQUFNOzJCQUFDLFNBQVM7eUNBUndDLGlCQUFpQjtzQkFBckYsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDekQsTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBEZXN0cm95UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdCxcbiAgICBpbmplY3QsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRTZWxlY3QgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtc2VsZWN0LWZpbHRlci1pbnB1dCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRGb3JtRmllbGRNb2R1bGUsIE1hdElucHV0TW9kdWxlLCBGb3Jtc01vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtZmlsdGVyLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtZmlsdGVyLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaG9zdDogeyBjbGFzczogJ2FkZi1zZWxlY3QtZmlsdGVyLWlucHV0JyB9LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0RmlsdGVySW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoJ3NlbGVjdEZpbHRlcklucHV0JywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IGZhbHNlIH0pIHNlbGVjdEZpbHRlcklucHV0OiBFbGVtZW50UmVmO1xuICAgIEBPdXRwdXQoKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIHRlcm0gPSAnJztcbiAgICBwcmV2aW91c1NlbGVjdGVkOiBhbnlbXTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoTWF0U2VsZWN0KSBwcml2YXRlIG1hdFNlbGVjdDogTWF0U2VsZWN0KSB7fVxuXG4gICAgb25Nb2RlbENoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuY2hhbmdlLm5leHQodmFsdWUpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmNoYW5nZS5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKHZhbDogc3RyaW5nKSA9PiAodGhpcy50ZXJtID0gdmFsKSk7XG5cbiAgICAgICAgdGhpcy5tYXRTZWxlY3Qub3BlbmVkQ2hhbmdlLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoaXNPcGVuZWQ6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgIGlmIChpc09wZW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0RmlsdGVySW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZS5uZXh0KCcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMubWF0U2VsZWN0Lm5nQ29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5wcmV2aW91c1NlbGVjdGVkID0gdGhpcy5tYXRTZWxlY3QubmdDb250cm9sLnZhbHVlO1xuICAgICAgICAgICAgdGhpcy5tYXRTZWxlY3QubmdDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKHZhbHVlcykgPT4ge1xuICAgICAgICAgICAgICAgIGxldCByZXN0b3JlU2VsZWN0aW9uID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubWF0U2VsZWN0Lm11bHRpcGxlICYmIEFycmF5LmlzQXJyYXkodGhpcy5wcmV2aW91c1NlbGVjdGVkKSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWVzKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzID0gW107XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMubWF0U2VsZWN0Lm9wdGlvbnMubWFwKChvcHRpb24pID0+IG9wdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJldmlvdXNTZWxlY3RlZC5mb3JFYWNoKChwcmV2aW91cykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNTZWxlY3RlZCA9IFsuLi52YWx1ZXMsIC4uLm9wdGlvbnNdLnNvbWUoKGN1cnJlbnQpID0+IHRoaXMubWF0U2VsZWN0LmNvbXBhcmVXaXRoKGN1cnJlbnQsIHByZXZpb3VzKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXMucHVzaChwcmV2aW91cyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdG9yZVNlbGVjdGlvbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMucHJldmlvdXNTZWxlY3RlZCA9IHZhbHVlcztcbiAgICAgICAgICAgICAgICBpZiAocmVzdG9yZVNlbGVjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZXJzY29yZS1kYW5nbGVcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXRTZWxlY3QuX29uQ2hhbmdlKHZhbHVlcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXNldChldmVudD86IEV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudCkge1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNoYW5nZS5uZXh0KCcnKTtcbiAgICAgICAgdGhpcy5zZWxlY3RGaWx0ZXJJbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgaGFuZGxlS2V5ZG93bigkZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMudGVybSkge1xuICAgICAgICAgICAgaWYgKCRldmVudC5jb2RlID09PSAnRXNjYXBlJykge1xuICAgICAgICAgICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZS5uZXh0KCcnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCgkZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnRhZ05hbWUgPT09ICdJTlBVVCcgJiYgJGV2ZW50LmNvZGUgPT09ICdUYWInKSB7XG4gICAgICAgICAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiXG48ZGl2IGNsYXNzPVwiYWRmLXNlbGVjdC1maWx0ZXItaW5wdXQtY29udGFpbmVyXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0XG4gICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgKGtleWRvd24pPVwiaGFuZGxlS2V5ZG93bigkZXZlbnQpXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU0VMRUNUX0ZJTFRFUi5JTlBVVC5QTEFDRUhPTERFUicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgI3NlbGVjdEZpbHRlcklucHV0XG4gICAgICAgICAgICBbbmdNb2RlbF09XCJ0ZXJtXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTW9kZWxDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidTRUxFQ1RfRklMVEVSLklOUFVULkFSSUFfTEFCRUwnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgLz5cblxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJhZGYtc2VsZWN0LWZpbHRlci1jbGVhci1idXR0b25cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInU0VMRUNUX0ZJTFRFUi5CVVRUT04uQVJJQV9MQUJFTCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgKm5nSWY9XCJ0ZXJtXCJcbiAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cInJlc2V0KCRldmVudClcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInJlc2V0KClcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG48L2Rpdj5cbiJdfQ==