@alfresco/adf-core 8.1.0-16295248176 → 8.1.0-16342534841

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 (598) hide show
  1. package/bundles/assets/adf-core/i18n/de.json +1 -1
  2. package/bundles/assets/adf-core/i18n/es.json +1 -1
  3. package/bundles/assets/adf-core/i18n/fr.json +1 -1
  4. package/bundles/assets/adf-core/i18n/it.json +1 -1
  5. package/bundles/assets/adf-core/i18n/pl.json +1 -1
  6. package/bundles/assets/adf-core/i18n/pt.json +1 -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 +82 -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 +129 -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 +51 -0
  45. package/esm2022/lib/about/about-license-list/about-license-list.component.mjs +51 -0
  46. package/esm2022/lib/about/about-module-list/module-list.component.mjs +51 -0
  47. package/esm2022/lib/about/about-package/package-list.component.mjs +65 -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 +59 -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 +42 -0
  52. package/esm2022/lib/about/about-status-list/about-status-list.component.mjs +51 -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/provide-app-config.mjs +44 -0
  66. package/esm2022/lib/app-config/public-api.mjs +23 -0
  67. package/esm2022/lib/auth/authentication-interceptor/auth-bearer.interceptor.mjs +67 -0
  68. package/esm2022/lib/auth/basic-auth/basic-alfresco-auth.service.mjs +356 -0
  69. package/esm2022/lib/auth/basic-auth/content-auth.mjs +189 -0
  70. package/esm2022/lib/auth/basic-auth/process-auth.mjs +193 -0
  71. package/esm2022/lib/auth/guard/auth-guard-bpm.service.mjs +31 -0
  72. package/esm2022/lib/auth/guard/auth-guard-ecm.service.mjs +31 -0
  73. package/esm2022/lib/auth/guard/auth-guard-sso-role.service.mjs +57 -0
  74. package/esm2022/lib/auth/guard/auth-guard.mjs +53 -0
  75. package/esm2022/lib/auth/guard/auth-guard.service.mjs +113 -0
  76. package/esm2022/lib/auth/index.mjs +18 -0
  77. package/esm2022/lib/auth/interfaces/authentication-service.interface.mjs +18 -0
  78. package/esm2022/lib/auth/interfaces/authentication.interface.mjs +18 -0
  79. package/esm2022/lib/auth/interfaces/identity-group.interface.mjs +18 -0
  80. package/esm2022/lib/auth/interfaces/identity-user.service.interface.mjs +18 -0
  81. package/esm2022/lib/auth/interfaces/openid-configuration.interface.mjs +18 -0
  82. package/esm2022/lib/auth/models/application-access.model.mjs +18 -0
  83. package/esm2022/lib/auth/models/identity-group.model.mjs +18 -0
  84. package/esm2022/lib/auth/models/identity-role.model.mjs +30 -0
  85. package/esm2022/lib/auth/models/identity-user.model.mjs +18 -0
  86. package/esm2022/lib/auth/models/oauth-config.model.mjs +18 -0
  87. package/esm2022/lib/auth/models/redirection.model.mjs +28 -0
  88. package/esm2022/lib/auth/models/user-access.model.mjs +18 -0
  89. package/esm2022/lib/auth/oidc/auth-config.mjs +19 -0
  90. package/esm2022/lib/auth/oidc/auth-config.service.mjs +110 -0
  91. package/esm2022/lib/auth/oidc/auth-routing.module.mjs +34 -0
  92. package/esm2022/lib/auth/oidc/auth.module.mjs +112 -0
  93. package/esm2022/lib/auth/oidc/auth.service.mjs +22 -0
  94. package/esm2022/lib/auth/oidc/oidc-auth.guard.mjs +37 -0
  95. package/esm2022/lib/auth/oidc/oidc-authentication.service.mjs +202 -0
  96. package/esm2022/lib/auth/oidc/public-api.mjs +24 -0
  97. package/esm2022/lib/auth/oidc/redirect-auth.service.mjs +267 -0
  98. package/esm2022/lib/auth/oidc/retry-login.service.mjs +66 -0
  99. package/esm2022/lib/auth/oidc/token.interceptor.mjs +62 -0
  100. package/esm2022/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.mjs +31 -0
  101. package/esm2022/lib/auth/public-api.mjs +44 -0
  102. package/esm2022/lib/auth/services/authentication.service.mjs +190 -0
  103. package/esm2022/lib/auth/services/base-authentication.service.mjs +99 -0
  104. package/esm2022/lib/auth/services/identity-group.service.mjs +269 -0
  105. package/esm2022/lib/auth/services/identity-role.service.mjs +99 -0
  106. package/esm2022/lib/auth/services/identity-user.service.mjs +443 -0
  107. package/esm2022/lib/auth/services/jwt-helper.service.mjs +205 -0
  108. package/esm2022/lib/auth/services/oauth2.service.mjs +69 -0
  109. package/esm2022/lib/auth/services/time-sync.service.mjs +83 -0
  110. package/esm2022/lib/auth/services/user-access.service.mjs +110 -0
  111. package/esm2022/lib/avatar/avatar.component.mjs +51 -0
  112. package/esm2022/lib/blank-page/blank-page.component.mjs +31 -0
  113. package/esm2022/lib/blank-page/blank-page.module.mjs +33 -0
  114. package/esm2022/lib/blank-page/index.mjs +18 -0
  115. package/esm2022/lib/blank-page/public-api.mjs +19 -0
  116. package/esm2022/lib/button/button.component.mjs +61 -0
  117. package/esm2022/lib/card-view/card-view.module.mjs +80 -0
  118. package/esm2022/lib/card-view/components/base-card-view.mjs +51 -0
  119. package/esm2022/lib/card-view/components/card-view/card-view.component.mjs +66 -0
  120. package/esm2022/lib/card-view/components/card-view-arrayitem/card-view-arrayitem.component.mjs +55 -0
  121. package/esm2022/lib/card-view/components/card-view-boolitem/card-view-boolitem.component.mjs +39 -0
  122. package/esm2022/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.mjs +182 -0
  123. package/esm2022/lib/card-view/components/card-view-item-dispatcher/card-view-item-dispatcher.component.mjs +108 -0
  124. package/esm2022/lib/card-view/components/card-view-keyvaluepairsitem/card-view-keyvaluepairsitem.component.mjs +64 -0
  125. package/esm2022/lib/card-view/components/card-view-mapitem/card-view-mapitem.component.mjs +46 -0
  126. package/esm2022/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.mjs +137 -0
  127. package/esm2022/lib/card-view/components/card-view-selectitem/select-filter-input/select-filter-input.component.mjs +113 -0
  128. package/esm2022/lib/card-view/components/card-view-textitem/card-view-textitem.component.mjs +239 -0
  129. package/esm2022/lib/card-view/components/card-view.components.mjs +28 -0
  130. package/esm2022/lib/card-view/index.mjs +18 -0
  131. package/esm2022/lib/card-view/interfaces/base-card-view-update.interface.mjs +18 -0
  132. package/esm2022/lib/card-view/interfaces/card-view-arrayitem-properties.interface.mjs +18 -0
  133. package/esm2022/lib/card-view/interfaces/card-view-boolitem-properties.interface.mjs +18 -0
  134. package/esm2022/lib/card-view/interfaces/card-view-dateitem-properties.interface.mjs +18 -0
  135. package/esm2022/lib/card-view/interfaces/card-view-item-properties.interface.mjs +18 -0
  136. package/esm2022/lib/card-view/interfaces/card-view-item-validator.interface.mjs +18 -0
  137. package/esm2022/lib/card-view/interfaces/card-view-item.interface.mjs +18 -0
  138. package/esm2022/lib/card-view/interfaces/card-view-keyvaluepairsitem-properties.interface.mjs +18 -0
  139. package/esm2022/lib/card-view/interfaces/card-view-selectitem-properties.interface.mjs +18 -0
  140. package/esm2022/lib/card-view/interfaces/card-view-textitem-pipe-property.interface.mjs +18 -0
  141. package/esm2022/lib/card-view/interfaces/card-view-textitem-properties.interface.mjs +18 -0
  142. package/esm2022/lib/card-view/interfaces/card-view.interfaces.mjs +29 -0
  143. package/esm2022/lib/card-view/interfaces/click-notification.interface.mjs +18 -0
  144. package/esm2022/lib/card-view/interfaces/update-notification.interface.mjs +18 -0
  145. package/esm2022/lib/card-view/models/card-view-arrayitem.model.mjs +28 -0
  146. package/esm2022/lib/card-view/models/card-view-baseitem.model.mjs +64 -0
  147. package/esm2022/lib/card-view/models/card-view-boolitem.model.mjs +36 -0
  148. package/esm2022/lib/card-view/models/card-view-dateitem.model.mjs +58 -0
  149. package/esm2022/lib/card-view/models/card-view-datetimeitem.model.mjs +28 -0
  150. package/esm2022/lib/card-view/models/card-view-floatitem.model.mjs +33 -0
  151. package/esm2022/lib/card-view/models/card-view-intitem.model.mjs +36 -0
  152. package/esm2022/lib/card-view/models/card-view-keyvaluepairs.model.mjs +27 -0
  153. package/esm2022/lib/card-view/models/card-view-longitem.model.mjs +36 -0
  154. package/esm2022/lib/card-view/models/card-view-mapitem.model.mjs +32 -0
  155. package/esm2022/lib/card-view/models/card-view-selectitem.model.mjs +41 -0
  156. package/esm2022/lib/card-view/models/card-view-textitem.model.mjs +40 -0
  157. package/esm2022/lib/card-view/models/card-view.models.mjs +29 -0
  158. package/esm2022/lib/card-view/public-api.mjs +25 -0
  159. package/esm2022/lib/card-view/services/card-item-types.service.mjs +54 -0
  160. package/esm2022/lib/card-view/services/card-view-update.service.mjs +59 -0
  161. package/esm2022/lib/card-view/services/card-view.services.mjs +19 -0
  162. package/esm2022/lib/card-view/validators/card-view-item-float.validator.mjs +31 -0
  163. package/esm2022/lib/card-view/validators/card-view-item-int.validator.mjs +35 -0
  164. package/esm2022/lib/card-view/validators/card-view-item-length.validator.mjs +34 -0
  165. package/esm2022/lib/card-view/validators/card-view-item-long.validator.mjs +35 -0
  166. package/esm2022/lib/card-view/validators/card-view-item-match.validator.mjs +35 -0
  167. package/esm2022/lib/card-view/validators/card-view-item-minmax.validator.mjs +35 -0
  168. package/esm2022/lib/card-view/validators/card-view-item-only-positive-int.validator.mjs +32 -0
  169. package/esm2022/lib/card-view/validators/card-view-item-only-positive-long.validator.mjs +31 -0
  170. package/esm2022/lib/card-view/validators/card-view.validators.mjs +26 -0
  171. package/esm2022/lib/card-view/validators/validators.map.mjs +26 -0
  172. package/esm2022/lib/clipboard/clipboard.directive.mjs +98 -0
  173. package/esm2022/lib/clipboard/clipboard.module.mjs +34 -0
  174. package/esm2022/lib/clipboard/clipboard.service.mjs +103 -0
  175. package/esm2022/lib/clipboard/index.mjs +18 -0
  176. package/esm2022/lib/clipboard/public-api.mjs +21 -0
  177. package/esm2022/lib/comments/comment-list/comment-list.component.mjs +52 -0
  178. package/esm2022/lib/comments/comment-list/comment-list.module.mjs +33 -0
  179. package/esm2022/lib/comments/comment-list/index.mjs +18 -0
  180. package/esm2022/lib/comments/comment-list/public-api.mjs +19 -0
  181. package/esm2022/lib/comments/comments.component.mjs +132 -0
  182. package/esm2022/lib/comments/comments.module.mjs +33 -0
  183. package/esm2022/lib/comments/index.mjs +18 -0
  184. package/esm2022/lib/comments/interfaces/comments-service.interface.mjs +18 -0
  185. package/esm2022/lib/comments/interfaces/comments.token.mjs +19 -0
  186. package/esm2022/lib/comments/public-api.mjs +22 -0
  187. package/esm2022/lib/common/index.mjs +35 -0
  188. package/esm2022/lib/common/interface/search-component.interface.mjs +18 -0
  189. package/esm2022/lib/common/mock/app-config.service.mock.mjs +47 -0
  190. package/esm2022/lib/common/models/default-languages.model.mjs +36 -0
  191. package/esm2022/lib/common/models/log-levels.model.mjs +33 -0
  192. package/esm2022/lib/common/models/user-info-mode.enum.mjs +25 -0
  193. package/esm2022/lib/common/services/cookie.service.mjs +82 -0
  194. package/esm2022/lib/common/services/download.service.mjs +102 -0
  195. package/esm2022/lib/common/services/dynamic-component-mapper.service.mjs +89 -0
  196. package/esm2022/lib/common/services/highlight-transform.service.mjs +61 -0
  197. package/esm2022/lib/common/services/language-item.interface.mjs +18 -0
  198. package/esm2022/lib/common/services/log.service.mjs +171 -0
  199. package/esm2022/lib/common/services/page-title.service.mjs +63 -0
  200. package/esm2022/lib/common/services/sort-by-category.service.mjs +81 -0
  201. package/esm2022/lib/common/services/storage.service.mjs +143 -0
  202. package/esm2022/lib/common/services/thumbnail.service.mjs +194 -0
  203. package/esm2022/lib/common/services/url.service.mjs +45 -0
  204. package/esm2022/lib/common/services/user-preferences.service.mjs +238 -0
  205. package/esm2022/lib/common/utils/date-fns-adapter.mjs +115 -0
  206. package/esm2022/lib/common/utils/date-fns-utils.mjs +222 -0
  207. package/esm2022/lib/common/utils/datetime-fns-adapter.mjs +134 -0
  208. package/esm2022/lib/common/utils/file-utils.mjs +65 -0
  209. package/esm2022/lib/common/utils/index.mjs +18 -0
  210. package/esm2022/lib/common/utils/moment-date-adapter.mjs +202 -0
  211. package/esm2022/lib/common/utils/moment-date-formats.model.mjs +32 -0
  212. package/esm2022/lib/common/utils/object-utils.mjs +107 -0
  213. package/esm2022/lib/common/utils/public-api.mjs +25 -0
  214. package/esm2022/lib/common/utils/string-utils.mjs +45 -0
  215. package/esm2022/lib/context-menu/animations.mjs +33 -0
  216. package/esm2022/lib/context-menu/context-menu-list.component.mjs +91 -0
  217. package/esm2022/lib/context-menu/context-menu-overlay.mjs +25 -0
  218. package/esm2022/lib/context-menu/context-menu-overlay.service.mjs +109 -0
  219. package/esm2022/lib/context-menu/context-menu.directive.mjs +63 -0
  220. package/esm2022/lib/context-menu/context-menu.module.mjs +35 -0
  221. package/esm2022/lib/context-menu/context-menu.tokens.mjs +19 -0
  222. package/esm2022/lib/context-menu/index.mjs +18 -0
  223. package/esm2022/lib/context-menu/interfaces.mjs +18 -0
  224. package/esm2022/lib/context-menu/public-api.mjs +21 -0
  225. package/esm2022/lib/core.module.mjs +296 -0
  226. package/esm2022/lib/datatable/components/amount-cell/amount-cell.component.mjs +45 -0
  227. package/esm2022/lib/datatable/components/boolean-cell/boolean-cell.component.mjs +65 -0
  228. package/esm2022/lib/datatable/components/columns-selector/columns-search-filter.pipe.mjs +55 -0
  229. package/esm2022/lib/datatable/components/columns-selector/columns-selector.component.mjs +113 -0
  230. package/esm2022/lib/datatable/components/data-cell.event.mjs +31 -0
  231. package/esm2022/lib/datatable/components/data-row-action.event.mjs +34 -0
  232. package/esm2022/lib/datatable/components/datatable/datatable.component.mjs +914 -0
  233. package/esm2022/lib/datatable/components/datatable-cell/datatable-cell.component.mjs +126 -0
  234. package/esm2022/lib/datatable/components/datatable-row/datatable-row.component.mjs +98 -0
  235. package/esm2022/lib/datatable/components/date-cell/date-cell.component.mjs +78 -0
  236. package/esm2022/lib/datatable/components/empty-list/empty-list.component.mjs +60 -0
  237. package/esm2022/lib/datatable/components/filesize-cell/filesize-cell.component.mjs +49 -0
  238. package/esm2022/lib/datatable/components/icon-cell/icon-cell.component.mjs +67 -0
  239. package/esm2022/lib/datatable/components/json-cell/json-cell.component.mjs +86 -0
  240. package/esm2022/lib/datatable/components/location-cell/location-cell.component.mjs +69 -0
  241. package/esm2022/lib/datatable/components/mocks/datatable.mock.mjs +153 -0
  242. package/esm2022/lib/datatable/components/number-cell/number-cell.component.mjs +42 -0
  243. package/esm2022/lib/datatable/data/data-column.model.mjs +18 -0
  244. package/esm2022/lib/datatable/data/data-row-event.model.mjs +26 -0
  245. package/esm2022/lib/datatable/data/data-row-update.model.mjs +18 -0
  246. package/esm2022/lib/datatable/data/data-row.model.mjs +18 -0
  247. package/esm2022/lib/datatable/data/data-sorting.model.mjs +24 -0
  248. package/esm2022/lib/datatable/data/data-table.schema.mjs +132 -0
  249. package/esm2022/lib/datatable/data/datatable-adapter.mjs +18 -0
  250. package/esm2022/lib/datatable/data/object-datacolumn.model.mjs +46 -0
  251. package/esm2022/lib/datatable/data/object-datarow.model.mjs +41 -0
  252. package/esm2022/lib/datatable/data/object-datatable-adapter.mjs +134 -0
  253. package/esm2022/lib/datatable/data-column/data-column-header.component.mjs +45 -0
  254. package/esm2022/lib/datatable/data-column/data-column-list.component.mjs +36 -0
  255. package/esm2022/lib/datatable/data-column/data-column.component.mjs +114 -0
  256. package/esm2022/lib/datatable/data-column/index.mjs +18 -0
  257. package/esm2022/lib/datatable/data-column/public-api.mjs +20 -0
  258. package/esm2022/lib/datatable/datatable.module.mjs +161 -0
  259. package/esm2022/lib/datatable/directives/custom-empty-content-template.directive.mjs +35 -0
  260. package/esm2022/lib/datatable/directives/custom-loading-template.directive.mjs +30 -0
  261. package/esm2022/lib/datatable/directives/custom-no-permission-template.directive.mjs +35 -0
  262. package/esm2022/lib/datatable/directives/drop-zone.directive.mjs +89 -0
  263. package/esm2022/lib/datatable/directives/header-filter-template.directive.mjs +43 -0
  264. package/esm2022/lib/datatable/directives/loading-template.directive.mjs +46 -0
  265. package/esm2022/lib/datatable/directives/main-data-table-action-template.directive.mjs +43 -0
  266. package/esm2022/lib/datatable/directives/no-content-template.directive.mjs +46 -0
  267. package/esm2022/lib/datatable/directives/no-permission-template.directive.mjs +46 -0
  268. package/esm2022/lib/datatable/directives/resizable/resizable.directive.mjs +173 -0
  269. package/esm2022/lib/datatable/directives/resizable/resize-handle.directive.mjs +72 -0
  270. package/esm2022/lib/datatable/directives/resizable/types.mjs +18 -0
  271. package/esm2022/lib/datatable/index.mjs +18 -0
  272. package/esm2022/lib/datatable/public-api.mjs +55 -0
  273. package/esm2022/lib/datatable/services/datatable.service.mjs +33 -0
  274. package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.mjs +50 -0
  275. package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.module.mjs +38 -0
  276. package/esm2022/lib/dialogs/dialog/dialog-data.interface.mjs +18 -0
  277. package/esm2022/lib/dialogs/dialog/dialog.component.mjs +70 -0
  278. package/esm2022/lib/dialogs/dialog/dialog.model.mjs +22 -0
  279. package/esm2022/lib/dialogs/dialog/index.mjs +20 -0
  280. package/esm2022/lib/dialogs/edit-json/edit-json.dialog.mjs +52 -0
  281. package/esm2022/lib/dialogs/edit-json/edit-json.dialog.module.mjs +34 -0
  282. package/esm2022/lib/dialogs/index.mjs +18 -0
  283. package/esm2022/lib/dialogs/public-api.mjs +25 -0
  284. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +73 -0
  285. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.model.mjs +18 -0
  286. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +33 -0
  287. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes.guard.mjs +64 -0
  288. package/esm2022/lib/directives/directive.module.mjs +56 -0
  289. package/esm2022/lib/directives/highlight.directive.mjs +67 -0
  290. package/esm2022/lib/directives/index.mjs +18 -0
  291. package/esm2022/lib/directives/infinite-select-scroll.directive.mjs +67 -0
  292. package/esm2022/lib/directives/logout.directive.mjs +72 -0
  293. package/esm2022/lib/directives/public-api.mjs +24 -0
  294. package/esm2022/lib/directives/tooltip-card/tooltip-card.component.mjs +60 -0
  295. package/esm2022/lib/directives/tooltip-card/tooltip-card.directive.mjs +104 -0
  296. package/esm2022/lib/directives/upload.directive.mjs +241 -0
  297. package/esm2022/lib/dynamic-chip-list/chip.mjs +18 -0
  298. package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.component.mjs +204 -0
  299. package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.module.mjs +33 -0
  300. package/esm2022/lib/dynamic-chip-list/index.mjs +18 -0
  301. package/esm2022/lib/dynamic-chip-list/public-api.mjs +20 -0
  302. package/esm2022/lib/events/base-ui.event.mjs +21 -0
  303. package/esm2022/lib/events/base.event.mjs +29 -0
  304. package/esm2022/lib/events/index.mjs +18 -0
  305. package/esm2022/lib/events/public-api.mjs +19 -0
  306. package/esm2022/lib/form/components/form-base.component.mjs +212 -0
  307. package/esm2022/lib/form/components/form-custom-button.directive.mjs +30 -0
  308. package/esm2022/lib/form/components/form-field/form-field.component.mjs +142 -0
  309. package/esm2022/lib/form/components/form-renderer.component.mjs +161 -0
  310. package/esm2022/lib/form/components/form-section/form-section.component.mjs +46 -0
  311. package/esm2022/lib/form/components/helpers/buttons-visibility.mjs +37 -0
  312. package/esm2022/lib/form/components/inplace-form-input/inplace-form-input.component.mjs +37 -0
  313. package/esm2022/lib/form/components/middlewares/decimal-middleware.service.mjs +48 -0
  314. package/esm2022/lib/form/components/middlewares/middleware.mjs +19 -0
  315. package/esm2022/lib/form/components/widgets/amount/amount.widget.mjs +77 -0
  316. package/esm2022/lib/form/components/widgets/base-viewer/base-viewer.widget.mjs +59 -0
  317. package/esm2022/lib/form/components/widgets/checkbox/checkbox.widget.mjs +52 -0
  318. package/esm2022/lib/form/components/widgets/core/container-column.model.mjs +28 -0
  319. package/esm2022/lib/form/components/widgets/core/container.model.mjs +50 -0
  320. package/esm2022/lib/form/components/widgets/core/content-link.model.mjs +52 -0
  321. package/esm2022/lib/form/components/widgets/core/displayable-cm-properties.model.mjs +18 -0
  322. package/esm2022/lib/form/components/widgets/core/error-message.model.mjs +38 -0
  323. package/esm2022/lib/form/components/widgets/core/external-content-link.mjs +18 -0
  324. package/esm2022/lib/form/components/widgets/core/external-content.mjs +18 -0
  325. package/esm2022/lib/form/components/widgets/core/form-field-file-source.mjs +18 -0
  326. package/esm2022/lib/form/components/widgets/core/form-field-metadata.mjs +18 -0
  327. package/esm2022/lib/form/components/widgets/core/form-field-option.mjs +18 -0
  328. package/esm2022/lib/form/components/widgets/core/form-field-rule.mjs +18 -0
  329. package/esm2022/lib/form/components/widgets/core/form-field-selected-folder.mjs +18 -0
  330. package/esm2022/lib/form/components/widgets/core/form-field-templates.mjs +18 -0
  331. package/esm2022/lib/form/components/widgets/core/form-field-types.mjs +74 -0
  332. package/esm2022/lib/form/components/widgets/core/form-field-utils.mjs +23 -0
  333. package/esm2022/lib/form/components/widgets/core/form-field-validator.mjs +268 -0
  334. package/esm2022/lib/form/components/widgets/core/form-field-variable-options.mjs +18 -0
  335. package/esm2022/lib/form/components/widgets/core/form-field.model.mjs +490 -0
  336. package/esm2022/lib/form/components/widgets/core/form-outcome-event.model.mjs +32 -0
  337. package/esm2022/lib/form/components/widgets/core/form-outcome.model.mjs +38 -0
  338. package/esm2022/lib/form/components/widgets/core/form-values.mjs +18 -0
  339. package/esm2022/lib/form/components/widgets/core/form-variable.model.mjs +18 -0
  340. package/esm2022/lib/form/components/widgets/core/form-widget.model.mjs +33 -0
  341. package/esm2022/lib/form/components/widgets/core/form.model.mjs +387 -0
  342. package/esm2022/lib/form/components/widgets/core/group.model.mjs +18 -0
  343. package/esm2022/lib/form/components/widgets/core/index.mjs +49 -0
  344. package/esm2022/lib/form/components/widgets/core/predefined-theme.mjs +115 -0
  345. package/esm2022/lib/form/components/widgets/core/process-form-model.interface.mjs +18 -0
  346. package/esm2022/lib/form/components/widgets/core/process-variable.model.mjs +18 -0
  347. package/esm2022/lib/form/components/widgets/core/tab.model.mjs +34 -0
  348. package/esm2022/lib/form/components/widgets/core/theme.model.mjs +18 -0
  349. package/esm2022/lib/form/components/widgets/core/upload-widget-content-link.model.mjs +27 -0
  350. package/esm2022/lib/form/components/widgets/core/widget-schema.model.mjs +18 -0
  351. package/esm2022/lib/form/components/widgets/date/date.widget.mjs +162 -0
  352. package/esm2022/lib/form/components/widgets/date-time/date-time.widget.mjs +153 -0
  353. package/esm2022/lib/form/components/widgets/decimal/decimal.component.mjs +53 -0
  354. package/esm2022/lib/form/components/widgets/display-text/display-text.schema.mjs +86 -0
  355. package/esm2022/lib/form/components/widgets/display-text/display-text.widget.mjs +46 -0
  356. package/esm2022/lib/form/components/widgets/display-text/index.mjs +19 -0
  357. package/esm2022/lib/form/components/widgets/error/error.component.mjs +92 -0
  358. package/esm2022/lib/form/components/widgets/header/header.schema.mjs +86 -0
  359. package/esm2022/lib/form/components/widgets/header/header.widget.mjs +42 -0
  360. package/esm2022/lib/form/components/widgets/header/index.mjs +19 -0
  361. package/esm2022/lib/form/components/widgets/hyperlink/hyperlink.widget.mjs +69 -0
  362. package/esm2022/lib/form/components/widgets/index.mjs +71 -0
  363. package/esm2022/lib/form/components/widgets/json/json.widget.mjs +66 -0
  364. package/esm2022/lib/form/components/widgets/multiline-text/multiline-text.widget.mjs +55 -0
  365. package/esm2022/lib/form/components/widgets/number/number.widget.mjs +71 -0
  366. package/esm2022/lib/form/components/widgets/reactive-widget.interface.mjs +18 -0
  367. package/esm2022/lib/form/components/widgets/text/text-mask.component.mjs +215 -0
  368. package/esm2022/lib/form/components/widgets/text/text.widget.mjs +65 -0
  369. package/esm2022/lib/form/components/widgets/unknown/unknown.widget.mjs +63 -0
  370. package/esm2022/lib/form/components/widgets/widget.component.mjs +110 -0
  371. package/esm2022/lib/form/events/form-error.event.mjs +24 -0
  372. package/esm2022/lib/form/events/form-field.event.mjs +24 -0
  373. package/esm2022/lib/form/events/form-rules.event.mjs +25 -0
  374. package/esm2022/lib/form/events/form-spinner.event.mjs +23 -0
  375. package/esm2022/lib/form/events/form.event.mjs +29 -0
  376. package/esm2022/lib/form/events/index.mjs +24 -0
  377. package/esm2022/lib/form/events/validate-form-field.event.mjs +24 -0
  378. package/esm2022/lib/form/events/validate-form.event.mjs +25 -0
  379. package/esm2022/lib/form/form-base.module.mjs +75 -0
  380. package/esm2022/lib/form/index.mjs +18 -0
  381. package/esm2022/lib/form/models/form-rules.model.mjs +77 -0
  382. package/esm2022/lib/form/models/task-process-variable.model.mjs +19 -0
  383. package/esm2022/lib/form/models/widget-visibility.model.mjs +104 -0
  384. package/esm2022/lib/form/pipes/field-style.pipe.mjs +45 -0
  385. package/esm2022/lib/form/pipes/index.mjs +18 -0
  386. package/esm2022/lib/form/public-api.mjs +35 -0
  387. package/esm2022/lib/form/services/form-rendering.service.mjs +53 -0
  388. package/esm2022/lib/form/services/form-validation-service.interface.mjs +18 -0
  389. package/esm2022/lib/form/services/form.service.mjs +86 -0
  390. package/esm2022/lib/form/services/widget-visibility.service.mjs +294 -0
  391. package/esm2022/lib/header/header.component.mjs +73 -0
  392. package/esm2022/lib/header/index.mjs +18 -0
  393. package/esm2022/lib/header/navbar/navbar-item.component.mjs +37 -0
  394. package/esm2022/lib/header/navbar/navbar.component.mjs +36 -0
  395. package/esm2022/lib/header/public-api.mjs +20 -0
  396. package/esm2022/lib/icon/icon.component.mjs +51 -0
  397. package/esm2022/lib/icon/icon.module.mjs +36 -0
  398. package/esm2022/lib/icon/index.mjs +18 -0
  399. package/esm2022/lib/icon/public-api.mjs +19 -0
  400. package/esm2022/lib/identity-user-info/identity-user-info.component.mjs +86 -0
  401. package/esm2022/lib/identity-user-info/identity-user-info.module.mjs +33 -0
  402. package/esm2022/lib/identity-user-info/index.mjs +18 -0
  403. package/esm2022/lib/identity-user-info/public-api.mjs +19 -0
  404. package/esm2022/lib/info-drawer/index.mjs +18 -0
  405. package/esm2022/lib/info-drawer/info-drawer-layout.component.mjs +71 -0
  406. package/esm2022/lib/info-drawer/info-drawer.component.mjs +113 -0
  407. package/esm2022/lib/info-drawer/info-drawer.module.mjs +53 -0
  408. package/esm2022/lib/info-drawer/public-api.mjs +20 -0
  409. package/esm2022/lib/interface/index.mjs +18 -0
  410. package/esm2022/lib/interface/injection.tokens.mjs +19 -0
  411. package/esm2022/lib/interface/public-api.mjs +18 -0
  412. package/esm2022/lib/language-menu/index.mjs +18 -0
  413. package/esm2022/lib/language-menu/language-menu.component.mjs +61 -0
  414. package/esm2022/lib/language-menu/language-menu.module.mjs +35 -0
  415. package/esm2022/lib/language-menu/language-picker.component.mjs +77 -0
  416. package/esm2022/lib/language-menu/public-api.mjs +21 -0
  417. package/esm2022/lib/language-menu/service/language.service.interface.mjs +18 -0
  418. package/esm2022/lib/language-menu/service/language.service.mjs +34 -0
  419. package/esm2022/lib/layout/components/header/header.component.mjs +99 -0
  420. package/esm2022/lib/layout/components/layout-container/layout-container.component.mjs +180 -0
  421. package/esm2022/lib/layout/components/sidebar-action/sidebar-action-menu.component.mjs +82 -0
  422. package/esm2022/lib/layout/components/sidenav-layout/sidenav-layout.component.mjs +145 -0
  423. package/esm2022/lib/layout/directives/sidenav-layout-content.directive.mjs +33 -0
  424. package/esm2022/lib/layout/directives/sidenav-layout-header.directive.mjs +33 -0
  425. package/esm2022/lib/layout/directives/sidenav-layout-navigation.directive.mjs +33 -0
  426. package/esm2022/lib/layout/index.mjs +18 -0
  427. package/esm2022/lib/layout/layout.module.mjs +72 -0
  428. package/esm2022/lib/layout/public-api.mjs +25 -0
  429. package/esm2022/lib/login/components/login/login.component.mjs +367 -0
  430. package/esm2022/lib/login/components/login-dialog/login-dialog-component-data.interface.mjs +18 -0
  431. package/esm2022/lib/login/components/login-dialog/login-dialog.component.mjs +57 -0
  432. package/esm2022/lib/login/components/login-dialog-panel/login-dialog-panel.component.mjs +48 -0
  433. package/esm2022/lib/login/directives/login-footer.directive.mjs +41 -0
  434. package/esm2022/lib/login/directives/login-header.directive.mjs +41 -0
  435. package/esm2022/lib/login/index.mjs +18 -0
  436. package/esm2022/lib/login/login.module.mjs +54 -0
  437. package/esm2022/lib/login/models/login-error.event.mjs +22 -0
  438. package/esm2022/lib/login/models/login-submit.event.mjs +32 -0
  439. package/esm2022/lib/login/models/login-success.event.mjs +24 -0
  440. package/esm2022/lib/login/public-api.mjs +27 -0
  441. package/esm2022/lib/material.module.mjs +254 -0
  442. package/esm2022/lib/mock/cookie.service.mock.mjs +43 -0
  443. package/esm2022/lib/mock/data-column.mock.mjs +73 -0
  444. package/esm2022/lib/mock/event.mock.mjs +39 -0
  445. package/esm2022/lib/mock/form/form-definition-readonly.mock.mjs +225 -0
  446. package/esm2022/lib/mock/form/form-definition-visibility.mock.mjs +347 -0
  447. package/esm2022/lib/mock/form/form-definition.mock.mjs +403 -0
  448. package/esm2022/lib/mock/form/form.component.mock.mjs +275 -0
  449. package/esm2022/lib/mock/form/form.service.mock.mjs +248 -0
  450. package/esm2022/lib/mock/form/widget-visibility.service.mock.mjs +1835 -0
  451. package/esm2022/lib/mock/index.mjs +18 -0
  452. package/esm2022/lib/mock/public-api.mjs +27 -0
  453. package/esm2022/lib/mock/translation.service.mock.mjs +44 -0
  454. package/esm2022/lib/models/comment.model.mjs +51 -0
  455. package/esm2022/lib/models/component.model.mjs +24 -0
  456. package/esm2022/lib/models/decimal-number.model.mjs +26 -0
  457. package/esm2022/lib/models/general-user.model.mjs +24 -0
  458. package/esm2022/lib/models/index.mjs +18 -0
  459. package/esm2022/lib/models/pagination.model.mjs +29 -0
  460. package/esm2022/lib/models/path.model.mjs +24 -0
  461. package/esm2022/lib/models/product-version.model.mjs +28 -0
  462. package/esm2022/lib/models/public-api.mjs +24 -0
  463. package/esm2022/lib/models/request-pagination.model.mjs +25 -0
  464. package/esm2022/lib/notifications/components/add-notification.stories.component.mjs +44 -0
  465. package/esm2022/lib/notifications/components/notification-history.component.mjs +138 -0
  466. package/esm2022/lib/notifications/helpers/notification.factory.mjs +43 -0
  467. package/esm2022/lib/notifications/index.mjs +18 -0
  468. package/esm2022/lib/notifications/models/notification.model.mjs +25 -0
  469. package/esm2022/lib/notifications/notification-history.module.mjs +35 -0
  470. package/esm2022/lib/notifications/public-api.mjs +23 -0
  471. package/esm2022/lib/notifications/services/notification.service.mjs +166 -0
  472. package/esm2022/lib/pagination/index.mjs +18 -0
  473. package/esm2022/lib/pagination/infinite-pagination.component.mjs +111 -0
  474. package/esm2022/lib/pagination/paginated-component.interface.mjs +18 -0
  475. package/esm2022/lib/pagination/pagination-component.interface.mjs +18 -0
  476. package/esm2022/lib/pagination/pagination.component.mjs +263 -0
  477. package/esm2022/lib/pagination/pagination.module.mjs +35 -0
  478. package/esm2022/lib/pagination/public-api.mjs +22 -0
  479. package/esm2022/lib/pipes/date-time.pipe.mjs +46 -0
  480. package/esm2022/lib/pipes/decimal-number.pipe.mjs +78 -0
  481. package/esm2022/lib/pipes/file-size.pipe.mjs +54 -0
  482. package/esm2022/lib/pipes/file-type.pipe.mjs +40 -0
  483. package/esm2022/lib/pipes/format-space.pipe.mjs +39 -0
  484. package/esm2022/lib/pipes/full-name.pipe.mjs +43 -0
  485. package/esm2022/lib/pipes/index.mjs +18 -0
  486. package/esm2022/lib/pipes/localized-date.pipe.mjs +70 -0
  487. package/esm2022/lib/pipes/multi-value.pipe.mjs +37 -0
  488. package/esm2022/lib/pipes/pipe.module.mjs +83 -0
  489. package/esm2022/lib/pipes/public-api.mjs +30 -0
  490. package/esm2022/lib/pipes/text-highlight.pipe.mjs +39 -0
  491. package/esm2022/lib/pipes/time-ago.pipe.mjs +65 -0
  492. package/esm2022/lib/pipes/truncate.pipe.mjs +33 -0
  493. package/esm2022/lib/pipes/user-initial.pipe.mjs +52 -0
  494. package/esm2022/lib/pipes/user-like.interface.mjs +18 -0
  495. package/esm2022/lib/progress/progress.component.mjs +90 -0
  496. package/esm2022/lib/search-text/animations.mjs +32 -0
  497. package/esm2022/lib/search-text/index.mjs +18 -0
  498. package/esm2022/lib/search-text/models/search-text-input.model.mjs +23 -0
  499. package/esm2022/lib/search-text/public-api.mjs +22 -0
  500. package/esm2022/lib/search-text/search-text-input.component.mjs +283 -0
  501. package/esm2022/lib/search-text/search-text-input.module.mjs +35 -0
  502. package/esm2022/lib/search-text/search-trigger.directive.mjs +181 -0
  503. package/esm2022/lib/snackbar-content/index.mjs +18 -0
  504. package/esm2022/lib/snackbar-content/public-api.mjs +20 -0
  505. package/esm2022/lib/snackbar-content/snack-bar-data.mjs +18 -0
  506. package/esm2022/lib/snackbar-content/snackbar-content.component.mjs +49 -0
  507. package/esm2022/lib/snackbar-content/snackbar-content.module.mjs +33 -0
  508. package/esm2022/lib/sorting-picker/index.mjs +18 -0
  509. package/esm2022/lib/sorting-picker/public-api.mjs +18 -0
  510. package/esm2022/lib/sorting-picker/sorting-picker.component.mjs +67 -0
  511. package/esm2022/lib/templates/empty-content/empty-content.component.mjs +43 -0
  512. package/esm2022/lib/templates/error-content/error-content.component.mjs +61 -0
  513. package/esm2022/lib/templates/index.mjs +18 -0
  514. package/esm2022/lib/templates/public-api.mjs +20 -0
  515. package/esm2022/lib/templates/template.module.mjs +38 -0
  516. package/esm2022/lib/testing/core.story.module.mjs +39 -0
  517. package/esm2022/lib/testing/core.testing.module.mjs +36 -0
  518. package/esm2022/lib/testing/index.mjs +22 -0
  519. package/esm2022/lib/testing/noop-auth.module.mjs +80 -0
  520. package/esm2022/lib/testing/noop-translate.module.mjs +75 -0
  521. package/esm2022/lib/testing/unit-testing-utils.mjs +364 -0
  522. package/esm2022/lib/toolbar/index.mjs +18 -0
  523. package/esm2022/lib/toolbar/public-api.mjs +21 -0
  524. package/esm2022/lib/toolbar/toolbar-divider.component.mjs +27 -0
  525. package/esm2022/lib/toolbar/toolbar-title.component.mjs +32 -0
  526. package/esm2022/lib/toolbar/toolbar.component.mjs +39 -0
  527. package/esm2022/lib/toolbar/toolbar.module.mjs +36 -0
  528. package/esm2022/lib/translation/index.mjs +18 -0
  529. package/esm2022/lib/translation/public-api.mjs +19 -0
  530. package/esm2022/lib/translation/translate-loader.service.mjs +153 -0
  531. package/esm2022/lib/translation/translation.service.mjs +148 -0
  532. package/esm2022/lib/viewer/components/download-prompt-dialog/download-prompt-dialog.component.mjs +36 -0
  533. package/esm2022/lib/viewer/components/img-viewer/img-viewer.component.mjs +220 -0
  534. package/esm2022/lib/viewer/components/media-player/media-player.component.mjs +64 -0
  535. package/esm2022/lib/viewer/components/pdf-viewer/pdf-viewer.component.mjs +550 -0
  536. package/esm2022/lib/viewer/components/pdf-viewer-password-dialog/pdf-viewer-password-dialog.mjs +60 -0
  537. package/esm2022/lib/viewer/components/pdf-viewer-thumb/pdf-viewer-thumb.component.mjs +48 -0
  538. package/esm2022/lib/viewer/components/pdf-viewer-thumbnails/pdf-viewer-thumbnails.component.mjs +198 -0
  539. package/esm2022/lib/viewer/components/txt-viewer/txt-viewer.component.mjs +85 -0
  540. package/esm2022/lib/viewer/components/unknown-format/unknown-format.component.mjs +32 -0
  541. package/esm2022/lib/viewer/components/viewer-more-actions.component.mjs +34 -0
  542. package/esm2022/lib/viewer/components/viewer-open-with.component.mjs +34 -0
  543. package/esm2022/lib/viewer/components/viewer-render/viewer-render.component.mjs +216 -0
  544. package/esm2022/lib/viewer/components/viewer-sidebar.component.mjs +46 -0
  545. package/esm2022/lib/viewer/components/viewer-toolbar-actions.component.mjs +34 -0
  546. package/esm2022/lib/viewer/components/viewer-toolbar-custom-actions.component.mjs +34 -0
  547. package/esm2022/lib/viewer/components/viewer-toolbar.component.mjs +34 -0
  548. package/esm2022/lib/viewer/components/viewer.component.mjs +486 -0
  549. package/esm2022/lib/viewer/directives/viewer-extension.directive.mjs +67 -0
  550. package/esm2022/lib/viewer/index.mjs +18 -0
  551. package/esm2022/lib/viewer/models/download-prompt.actions.mjs +23 -0
  552. package/esm2022/lib/viewer/models/viewer.model.mjs +22 -0
  553. package/esm2022/lib/viewer/public-api.mjs +40 -0
  554. package/esm2022/lib/viewer/services/rendering-queue.services.mjs +179 -0
  555. package/esm2022/lib/viewer/services/view-util.service.mjs +149 -0
  556. package/esm2022/lib/viewer/viewer.module.mjs +110 -0
  557. package/esm2022/public-api.mjs +60 -0
  558. package/esm2022/shell/alfresco-adf-core-shell.mjs +5 -0
  559. package/esm2022/shell/index.mjs +21 -0
  560. package/esm2022/shell/lib/components/shell/shell.component.mjs +122 -0
  561. package/esm2022/shell/lib/services/shell-app.service.mjs +22 -0
  562. package/esm2022/shell/lib/shell.module.mjs +75 -0
  563. package/esm2022/shell/lib/shell.routes.mjs +50 -0
  564. package/feature-flags/lib/providers/debug-feature-flags.provider.d.ts +35 -4
  565. package/fesm2022/adf-core.mjs +1083 -1101
  566. package/fesm2022/adf-core.mjs.map +1 -1
  567. package/fesm2022/alfresco-adf-core-api.mjs +4 -4
  568. package/fesm2022/alfresco-adf-core-api.mjs.map +1 -1
  569. package/fesm2022/alfresco-adf-core-auth.mjs +3 -3
  570. package/fesm2022/alfresco-adf-core-auth.mjs.map +1 -1
  571. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs +11 -11
  572. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs.map +1 -1
  573. package/fesm2022/alfresco-adf-core-feature-flags.mjs +59 -52
  574. package/fesm2022/alfresco-adf-core-feature-flags.mjs.map +1 -1
  575. package/fesm2022/alfresco-adf-core-shell.mjs +14 -68
  576. package/fesm2022/alfresco-adf-core-shell.mjs.map +1 -1
  577. package/lib/app-config/provide-app-config.d.ts +2 -2
  578. package/lib/auth/oidc/auth.module.d.ts +4 -4
  579. package/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.d.ts +1 -1
  580. package/lib/card-view/components/base-card-view.d.ts +1 -1
  581. package/lib/card-view/components/card-view/card-view.component.scss +9 -12
  582. package/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.scss +2 -1
  583. package/lib/card-view/components/card-view-textitem/card-view-textitem.component.scss +5 -2
  584. package/lib/datatable/data/data-table.schema.d.ts +1 -1
  585. package/lib/dialogs/confirm-dialog/confirm.dialog.d.ts +1 -1
  586. package/lib/dialogs/confirm-dialog/confirm.dialog.module.d.ts +6 -2
  587. package/lib/form/components/form-renderer.component.scss +4 -5
  588. package/lib/translation/public-api.d.ts +0 -1
  589. package/package.json +15 -3
  590. package/public-api.d.ts +0 -1
  591. package/shell/README.md +3 -13
  592. package/shell/index.d.ts +0 -1
  593. package/shell/lib/shell.module.d.ts +1 -1
  594. package/lib/landing-page/index.d.ts +0 -17
  595. package/lib/landing-page/provider.d.ts +0 -24
  596. package/lib/landing-page/public-api.d.ts +0 -17
  597. package/lib/translation/provide-i18n.d.ts +0 -39
  598. package/shell/lib/providers.d.ts +0 -36
@@ -0,0 +1,283 @@
1
+ import { NgClass, NgIf } from '@angular/common';
2
+ import { Component, DestroyRef, ElementRef, EventEmitter, inject, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import { MatFormFieldModule } from '@angular/material/form-field';
6
+ import { MatIconModule } from '@angular/material/icon';
7
+ import { MatInputModule } from '@angular/material/input';
8
+ import { TranslatePipe } from '@ngx-translate/core';
9
+ import { Observable, Subject } from 'rxjs';
10
+ import { debounceTime, filter } from 'rxjs/operators';
11
+ import { UserPreferencesService } from '../common';
12
+ import { searchAnimation } from './animations';
13
+ import { SearchTextStateEnum } from './models/search-text-input.model';
14
+ import { SearchTriggerDirective } from './search-trigger.directive';
15
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
16
+ import * as i0 from "@angular/core";
17
+ import * as i1 from "../common";
18
+ import * as i2 from "@angular/material/button";
19
+ import * as i3 from "@angular/material/icon";
20
+ import * as i4 from "@angular/material/form-field";
21
+ import * as i5 from "@angular/material/input";
22
+ import * as i6 from "@angular/forms";
23
+ export class SearchTextInputComponent {
24
+ constructor(userPreferencesService) {
25
+ this.userPreferencesService = userPreferencesService;
26
+ /** Toggles auto-completion of the search input field. */
27
+ this.autocomplete = false;
28
+ /**
29
+ * Toggles whether to use an expanding search control. If false
30
+ * then a regular input is used.
31
+ */
32
+ this.expandable = true;
33
+ /** Type of the input field to render, e.g. "search" or "text" (default). */
34
+ this.inputType = 'text';
35
+ /** Toggles "find-as-you-type" suggestions for possible matches. */
36
+ this.liveSearchEnabled = true;
37
+ /** Trigger autocomplete results on input change. */
38
+ this.searchAutocomplete = false;
39
+ /** Search term preselected */
40
+ this.searchTerm = '';
41
+ /** Debounce time in milliseconds. */
42
+ this.debounceTime = 0;
43
+ /** Collapse search bar on submit. */
44
+ this.collapseOnSubmit = true;
45
+ /** Default state expanded or Collapsed. */
46
+ this.defaultState = SearchTextStateEnum.collapsed;
47
+ /** Toggles whether to collapse the search on blur. */
48
+ this.collapseOnBlur = true;
49
+ /** Toggles whether to show a clear button that closes the search */
50
+ this.showClearButton = false;
51
+ /** Placeholder text to show in the input field */
52
+ this.placeholder = '';
53
+ /** Label text to show over the input field */
54
+ this.label = '';
55
+ /** Hint label */
56
+ this.hintLabel = '';
57
+ /**
58
+ * Emitted when the search term is changed. The search term is provided
59
+ * in the 'value' property of the returned object. If the term is less
60
+ * than three characters in length then it is truncated to an empty
61
+ * string.
62
+ */
63
+ this.searchChange = new EventEmitter();
64
+ /**
65
+ * Emitted when the search is submitted by pressing the ENTER key.
66
+ * The search term is provided as the value of the event.
67
+ */
68
+ this.submit = new EventEmitter();
69
+ /** Emitted when the result list is selected */
70
+ this.selectResult = new EventEmitter();
71
+ /** Emitted when the result list is reset */
72
+ this.reset = new EventEmitter();
73
+ /** Emitted when the search visibility changes. True when the search is active, false when it is inactive */
74
+ this.searchVisibility = new EventEmitter();
75
+ this.animationStates = {
76
+ ltr: {
77
+ active: { value: 'active', params: { 'margin-left': 13 } },
78
+ inactive: { value: 'inactive', params: { transform: 'translateX(100%)' } }
79
+ },
80
+ rtl: {
81
+ active: { value: 'active', params: { 'margin-right': 13 } },
82
+ inactive: { value: 'inactive', params: { transform: 'translateX(-100%)' } }
83
+ }
84
+ };
85
+ this.dir = 'ltr';
86
+ this.toggleSearch = new Subject();
87
+ this.valueChange = new Subject();
88
+ this.toggle$ = this.toggleSearch.asObservable();
89
+ this.destroyRef = inject(DestroyRef);
90
+ this.toggleSubscription = this.toggle$.pipe(debounceTime(200), takeUntilDestroyed()).subscribe(() => {
91
+ if (this.expandable) {
92
+ this.subscriptAnimationState = this.toggleAnimation();
93
+ if (this.subscriptAnimationState.value === 'inactive') {
94
+ this.searchTerm = '';
95
+ this.reset.emit(true);
96
+ if (document.activeElement.id === this.searchInput.nativeElement.id) {
97
+ this.searchInput.nativeElement.blur();
98
+ }
99
+ }
100
+ this.emitVisibilitySearch();
101
+ }
102
+ });
103
+ }
104
+ ngOnInit() {
105
+ this.userPreferencesService
106
+ .select('textOrientation')
107
+ .pipe(takeUntilDestroyed(this.destroyRef))
108
+ .subscribe((direction) => {
109
+ this.dir = direction;
110
+ this.subscriptAnimationState = this.getDefaultState(this.dir);
111
+ });
112
+ this.subscriptAnimationState = this.getDefaultState(this.dir);
113
+ this.setValueChangeHandler();
114
+ this.setupFocusEventHandlers();
115
+ }
116
+ applySearchFocus(animationDoneEvent) {
117
+ if (animationDoneEvent.toState === 'active' && this.isDefaultStateCollapsed()) {
118
+ this.searchInput.nativeElement.focus();
119
+ }
120
+ }
121
+ getAutoComplete() {
122
+ return this.autocomplete ? 'on' : 'off';
123
+ }
124
+ toggleAnimation() {
125
+ if (this.dir === 'ltr') {
126
+ return this.subscriptAnimationState.value === 'inactive'
127
+ ? { value: 'active', params: { 'margin-left': 13 } }
128
+ : { value: 'inactive', params: { transform: 'translateX(100%)' } };
129
+ }
130
+ else {
131
+ return this.subscriptAnimationState.value === 'inactive'
132
+ ? { value: 'active', params: { 'margin-right': 13 } }
133
+ : { value: 'inactive', params: { transform: 'translateX(-100%)' } };
134
+ }
135
+ }
136
+ getDefaultState(dir) {
137
+ if (this.dir) {
138
+ return this.getAnimationState(dir);
139
+ }
140
+ return this.animationStates.ltr.inactive;
141
+ }
142
+ getAnimationState(dir) {
143
+ if (this.expandable && this.isDefaultStateExpanded()) {
144
+ return this.animationStates[dir].active;
145
+ }
146
+ else if (this.expandable) {
147
+ return this.animationStates[dir].inactive;
148
+ }
149
+ else {
150
+ return { value: 'no-animation' };
151
+ }
152
+ }
153
+ setupFocusEventHandlers() {
154
+ if (this.focusListener) {
155
+ const focusEvents = this.focusListener.pipe(debounceTime(50), filter(($event) => this.isSearchBarActive() && ($event.type === 'blur' || $event.type === 'focusout' || $event.type === 'focus')), takeUntilDestroyed(this.destroyRef));
156
+ this.focusSubscription = focusEvents.subscribe((event) => {
157
+ if (event.type === 'focus') {
158
+ this.searchInput.nativeElement.focus();
159
+ }
160
+ else {
161
+ this.toggleSearchBar();
162
+ }
163
+ });
164
+ }
165
+ }
166
+ setValueChangeHandler() {
167
+ this.valueChange.pipe(debounceTime(this.debounceTime), takeUntilDestroyed(this.destroyRef)).subscribe((value) => {
168
+ this.searchChange.emit(value);
169
+ });
170
+ }
171
+ selectFirstResult($event) {
172
+ this.selectResult.emit($event);
173
+ }
174
+ onBlur($event) {
175
+ if (this.collapseOnBlur && !$event.relatedTarget) {
176
+ this.resetSearch();
177
+ }
178
+ }
179
+ inputChange($event) {
180
+ this.valueChange.next($event);
181
+ }
182
+ toggleSearchBar() {
183
+ if (this.toggleSearch) {
184
+ this.toggleSearch.next({});
185
+ }
186
+ }
187
+ searchSubmit(event) {
188
+ this.submit.emit(event);
189
+ if (this.collapseOnSubmit) {
190
+ this.toggleSearchBar();
191
+ }
192
+ }
193
+ activateToolbar() {
194
+ if (!this.isSearchBarActive()) {
195
+ this.toggleSearchBar();
196
+ }
197
+ return false;
198
+ }
199
+ isSearchBarActive() {
200
+ return this.subscriptAnimationState.value === 'active';
201
+ }
202
+ ngOnDestroy() {
203
+ if (this.toggleSearch) {
204
+ this.toggleSubscription.unsubscribe();
205
+ this.toggleSearch.complete();
206
+ this.toggleSearch = null;
207
+ }
208
+ if (this.focusSubscription) {
209
+ this.focusSubscription.unsubscribe();
210
+ this.focusSubscription = null;
211
+ this.focusListener = null;
212
+ }
213
+ }
214
+ canShowClearSearch() {
215
+ return this.showClearButton && this.isSearchBarActive();
216
+ }
217
+ resetSearch() {
218
+ if (this.isSearchBarActive()) {
219
+ this.toggleSearchBar();
220
+ }
221
+ }
222
+ isDefaultStateCollapsed() {
223
+ return this.defaultState === SearchTextStateEnum.collapsed;
224
+ }
225
+ isDefaultStateExpanded() {
226
+ return this.defaultState === SearchTextStateEnum.expanded;
227
+ }
228
+ emitVisibilitySearch() {
229
+ this.searchVisibility.emit(this.isSearchBarActive());
230
+ }
231
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchTextInputComponent, deps: [{ token: i1.UserPreferencesService }], target: i0.ɵɵFactoryTarget.Component }); }
232
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SearchTextInputComponent, isStandalone: true, selector: "adf-search-text-input", inputs: { autocomplete: "autocomplete", expandable: "expandable", inputType: "inputType", liveSearchEnabled: "liveSearchEnabled", searchAutocomplete: "searchAutocomplete", searchTerm: "searchTerm", debounceTime: "debounceTime", focusListener: "focusListener", collapseOnSubmit: "collapseOnSubmit", defaultState: "defaultState", collapseOnBlur: "collapseOnBlur", showClearButton: "showClearButton", placeholder: "placeholder", label: "label", hintLabel: "hintLabel" }, outputs: { searchChange: "searchChange", submit: "submit", selectResult: "selectResult", reset: "reset", searchVisibility: "searchVisibility" }, host: { classAttribute: "adf-search-text-input" }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"adf-search-container\" [attr.state]=\"subscriptAnimationState.value\">\n <div class=\"adf-search-container-transition\"\n [@transitionMessages]=\"subscriptAnimationState\"\n (@transitionMessages.done)=\"applySearchFocus($event)\">\n <button mat-icon-button\n *ngIf=\"expandable\"\n id=\"adf-search-button\"\n class=\"adf-search-button\"\n [ngClass]=\"{'adf-search-button-inactive': subscriptAnimationState.value === 'inactive'}\"\n [title]=\"'SEARCH.BUTTON.TOOLTIP' | translate\"\n (click)=\"toggleSearchBar()\"\n (keyup.enter)=\"toggleSearchBar()\">\n <mat-icon [attr.aria-label]=\"'SEARCH.BUTTON.ARIA-LABEL' | translate\">search</mat-icon>\n </button>\n <mat-form-field class=\"adf-input-form-field-divider\" [hintLabel]=\"hintLabel\">\n <mat-label *ngIf='label'>{{label}}</mat-label>\n <input matInput\n #searchInput\n [attr.aria-label]=\"'SEARCH.INPUT.ARIA-LABEL' | translate\"\n [attr.type]=\"inputType\"\n [autocomplete]=\"getAutoComplete()\"\n id=\"adf-control-input\"\n [(ngModel)]=\"searchTerm\"\n [placeholder]=\"placeholder\"\n (focus)=\"activateToolbar()\"\n (blur)=\"onBlur($event)\"\n (keyup.escape)=\"toggleSearchBar()\"\n (keyup.arrowdown)=\"selectFirstResult($event)\"\n (ngModelChange)=\"inputChange($event)\"\n [searchAutocomplete]=\"searchAutocomplete ? searchAutocomplete : null\"\n (keyup.enter)=\"searchSubmit($event)\">\n <button mat-icon-button\n *ngIf=\"canShowClearSearch()\"\n matSuffix\n data-automation-id=\"adf-clear-search-button\"\n class=\"adf-clear-search-button\"\n [title]=\"'SEARCH.FILTER.BUTTONS.CLOSE' | translate\"\n (click)=\"resetSearch()\"\n (keyup.enter)=\"resetSearch()\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </div>\n</div>\n", styles: [".adf-search-container:has(.adf-input-form-field-divider){overflow:hidden}.adf-search-container .mat-mdc-form-field-subscript-wrapper{display:none}.adf-search-container .adf-search-container-transition{display:flex;align-items:center}.adf-search-container .adf-search-fixed-text{line-height:normal}.adf-search-container .adf-clear-search-button{font-size:var(--theme-button-font-size);cursor:pointer}.adf-search-container .adf-highlight{color:var(--adf-theme-primary-900)}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.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: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: SearchTriggerDirective, selector: "input[searchAutocomplete], textarea[searchAutocomplete]", inputs: ["searchAutocomplete", "autocomplete"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [searchAnimation], encapsulation: i0.ViewEncapsulation.None }); }
233
+ }
234
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchTextInputComponent, decorators: [{
235
+ type: Component,
236
+ args: [{ selector: 'adf-search-text-input', standalone: true, animations: [searchAnimation], encapsulation: ViewEncapsulation.None, imports: [MatButtonModule, MatIconModule, TranslatePipe, MatFormFieldModule, MatInputModule, FormsModule, SearchTriggerDirective, NgIf, NgClass], host: {
237
+ class: 'adf-search-text-input'
238
+ }, template: "<div class=\"adf-search-container\" [attr.state]=\"subscriptAnimationState.value\">\n <div class=\"adf-search-container-transition\"\n [@transitionMessages]=\"subscriptAnimationState\"\n (@transitionMessages.done)=\"applySearchFocus($event)\">\n <button mat-icon-button\n *ngIf=\"expandable\"\n id=\"adf-search-button\"\n class=\"adf-search-button\"\n [ngClass]=\"{'adf-search-button-inactive': subscriptAnimationState.value === 'inactive'}\"\n [title]=\"'SEARCH.BUTTON.TOOLTIP' | translate\"\n (click)=\"toggleSearchBar()\"\n (keyup.enter)=\"toggleSearchBar()\">\n <mat-icon [attr.aria-label]=\"'SEARCH.BUTTON.ARIA-LABEL' | translate\">search</mat-icon>\n </button>\n <mat-form-field class=\"adf-input-form-field-divider\" [hintLabel]=\"hintLabel\">\n <mat-label *ngIf='label'>{{label}}</mat-label>\n <input matInput\n #searchInput\n [attr.aria-label]=\"'SEARCH.INPUT.ARIA-LABEL' | translate\"\n [attr.type]=\"inputType\"\n [autocomplete]=\"getAutoComplete()\"\n id=\"adf-control-input\"\n [(ngModel)]=\"searchTerm\"\n [placeholder]=\"placeholder\"\n (focus)=\"activateToolbar()\"\n (blur)=\"onBlur($event)\"\n (keyup.escape)=\"toggleSearchBar()\"\n (keyup.arrowdown)=\"selectFirstResult($event)\"\n (ngModelChange)=\"inputChange($event)\"\n [searchAutocomplete]=\"searchAutocomplete ? searchAutocomplete : null\"\n (keyup.enter)=\"searchSubmit($event)\">\n <button mat-icon-button\n *ngIf=\"canShowClearSearch()\"\n matSuffix\n data-automation-id=\"adf-clear-search-button\"\n class=\"adf-clear-search-button\"\n [title]=\"'SEARCH.FILTER.BUTTONS.CLOSE' | translate\"\n (click)=\"resetSearch()\"\n (keyup.enter)=\"resetSearch()\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </div>\n</div>\n", styles: [".adf-search-container:has(.adf-input-form-field-divider){overflow:hidden}.adf-search-container .mat-mdc-form-field-subscript-wrapper{display:none}.adf-search-container .adf-search-container-transition{display:flex;align-items:center}.adf-search-container .adf-search-fixed-text{line-height:normal}.adf-search-container .adf-clear-search-button{font-size:var(--theme-button-font-size);cursor:pointer}.adf-search-container .adf-highlight{color:var(--adf-theme-primary-900)}\n"] }]
239
+ }], ctorParameters: () => [{ type: i1.UserPreferencesService }], propDecorators: { autocomplete: [{
240
+ type: Input
241
+ }], expandable: [{
242
+ type: Input
243
+ }], inputType: [{
244
+ type: Input
245
+ }], liveSearchEnabled: [{
246
+ type: Input
247
+ }], searchAutocomplete: [{
248
+ type: Input
249
+ }], searchTerm: [{
250
+ type: Input
251
+ }], debounceTime: [{
252
+ type: Input
253
+ }], focusListener: [{
254
+ type: Input
255
+ }], collapseOnSubmit: [{
256
+ type: Input
257
+ }], defaultState: [{
258
+ type: Input
259
+ }], collapseOnBlur: [{
260
+ type: Input
261
+ }], showClearButton: [{
262
+ type: Input
263
+ }], placeholder: [{
264
+ type: Input
265
+ }], label: [{
266
+ type: Input
267
+ }], hintLabel: [{
268
+ type: Input
269
+ }], searchChange: [{
270
+ type: Output
271
+ }], submit: [{
272
+ type: Output
273
+ }], selectResult: [{
274
+ type: Output
275
+ }], reset: [{
276
+ type: Output
277
+ }], searchVisibility: [{
278
+ type: Output
279
+ }], searchInput: [{
280
+ type: ViewChild,
281
+ args: ['searchInput', { static: true }]
282
+ }] } });
283
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXRleHQtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9zZWFyY2gtdGV4dC9zZWFyY2gtdGV4dC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL3NlYXJjaC10ZXh0L3NlYXJjaC10ZXh0LWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtCQSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBa0QsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2SCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7QUFjaEUsTUFBTSxPQUFPLHdCQUF3QjtJQXNIakMsWUFBb0Isc0JBQThDO1FBQTlDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFySGxFLHlEQUF5RDtRQUV6RCxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUU5Qjs7O1dBR0c7UUFFSCxlQUFVLEdBQVksSUFBSSxDQUFDO1FBRTNCLDRFQUE0RTtRQUU1RSxjQUFTLEdBQVcsTUFBTSxDQUFDO1FBRTNCLG1FQUFtRTtRQUVuRSxzQkFBaUIsR0FBWSxJQUFJLENBQUM7UUFFbEMsb0RBQW9EO1FBRXBELHVCQUFrQixHQUFRLEtBQUssQ0FBQztRQUVoQyw4QkFBOEI7UUFFOUIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUV4QixxQ0FBcUM7UUFFckMsaUJBQVksR0FBVyxDQUFDLENBQUM7UUFNekIscUNBQXFDO1FBRXJDLHFCQUFnQixHQUFZLElBQUksQ0FBQztRQUVqQywyQ0FBMkM7UUFFM0MsaUJBQVksR0FBd0IsbUJBQW1CLENBQUMsU0FBUyxDQUFDO1FBRWxFLHNEQUFzRDtRQUV0RCxtQkFBYyxHQUFZLElBQUksQ0FBQztRQUUvQixvRUFBb0U7UUFFcEUsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFFakMsa0RBQWtEO1FBRWxELGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBRXpCLDhDQUE4QztRQUU5QyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRW5CLGlCQUFpQjtRQUVqQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWY7Ozs7O1dBS0c7UUFFSCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFMUM7OztXQUdHO1FBRUgsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFakMsZ0RBQWdEO1FBRWhELGlCQUFZLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFckQsNkNBQTZDO1FBRTdDLFVBQUssR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVsRCw0R0FBNEc7UUFFNUcscUJBQWdCLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFPdEUsb0JBQWUsR0FBNkI7WUFDeEMsR0FBRyxFQUFFO2dCQUNELE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxFQUFFO2dCQUMxRCxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxFQUFFO2FBQzdFO1lBQ0QsR0FBRyxFQUFFO2dCQUNELE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBRSxFQUFFO2dCQUMzRCxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxFQUFFO2FBQzlFO1NBQ0osQ0FBQztRQUVNLFFBQUcsR0FBRyxLQUFLLENBQUM7UUFDWixpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7UUFFbEMsZ0JBQVcsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBRzVDLFlBQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTFCLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFHN0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNoRyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDdEQsSUFBSSxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxLQUFLLFVBQVUsRUFBRSxDQUFDO29CQUNwRCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztvQkFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3RCLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLENBQUM7d0JBQ2xFLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO29CQUMxQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDaEMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsc0JBQXNCO2FBQ3RCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQzthQUN6QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3pDLFNBQVMsQ0FBQyxDQUFDLFNBQW9CLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsR0FBRyxHQUFHLFNBQVMsQ0FBQztZQUNyQixJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEUsQ0FBQyxDQUFDLENBQUM7UUFFUCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELGdCQUFnQixDQUFDLGtCQUFrQjtRQUMvQixJQUFJLGtCQUFrQixDQUFDLE9BQU8sS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFLEVBQUUsQ0FBQztZQUM1RSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzVDLENBQUM7SUFFTyxlQUFlO1FBQ25CLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNyQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEtBQUssVUFBVTtnQkFDcEQsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLEVBQUU7Z0JBQ3BELENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLEVBQUUsQ0FBQztRQUMzRSxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssS0FBSyxVQUFVO2dCQUNwRCxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUUsRUFBRTtnQkFDckQsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDO1FBQzVFLENBQUM7SUFDTCxDQUFDO0lBRU8sZUFBZSxDQUFDLEdBQVc7UUFDL0IsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDWCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7SUFDN0MsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEdBQVc7UUFDakMsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLENBQUM7WUFDbkQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUM1QyxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDekIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUM5QyxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLENBQUM7UUFDckMsQ0FBQztJQUNMLENBQUM7SUFFTyx1QkFBdUI7UUFDM0IsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsTUFBTSxXQUFXLEdBQTJCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUMvRCxZQUFZLENBQUMsRUFBRSxDQUFDLEVBQ2hCLE1BQU0sQ0FDRixDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFVBQVUsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxDQUNqSSxFQUNELGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FDdEMsQ0FBQztZQUVGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBaUIsRUFBRSxFQUFFO2dCQUNqRSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFLENBQUM7b0JBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUMzQyxDQUFDO3FCQUFNLENBQUM7b0JBQ0osSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUMzQixDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQztJQUVPLHFCQUFxQjtRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQWEsRUFBRSxFQUFFO1lBQ3BILElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGlCQUFpQixDQUFDLE1BQU07UUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNO1FBQ1QsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QixDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFXO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0IsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMzQixDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDM0IsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxpQkFBaUI7UUFDYixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUFDO0lBQzNELENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7WUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDOUIsQ0FBQztJQUNMLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxPQUFPLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDNUQsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFDTCxDQUFDO0lBRU8sdUJBQXVCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxtQkFBbUIsQ0FBQyxTQUFTLENBQUM7SUFDL0QsQ0FBQztJQUVPLHNCQUFzQjtRQUMxQixPQUFPLElBQUksQ0FBQyxZQUFZLEtBQUssbUJBQW1CLENBQUMsUUFBUSxDQUFDO0lBQzlELENBQUM7SUFFTyxvQkFBb0I7UUFDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7K0dBN1JRLHdCQUF3QjttR0FBeEIsd0JBQXdCLG0yQkMxRHJDLDZ4RUE0Q0Esa2hCRFNjLGVBQWUsMklBQUUsYUFBYSwrS0FBRSxhQUFhLGlEQUFFLGtCQUFrQiwyYUFBRSxjQUFjLDBXQUFFLFdBQVcsK21CQUFFLHNCQUFzQixvSkFBRSxJQUFJLDZGQUFFLE9BQU8sc0VBRm5JLENBQUMsZUFBZSxDQUFDOzs0RkFPcEIsd0JBQXdCO2tCQVpwQyxTQUFTOytCQUNJLHVCQUF1QixjQUNyQixJQUFJLGNBR0osQ0FBQyxlQUFlLENBQUMsaUJBQ2QsaUJBQWlCLENBQUMsSUFBSSxXQUM1QixDQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxRQUMxSTt3QkFDRixLQUFLLEVBQUUsdUJBQXVCO3FCQUNqQzsyRkFLRCxZQUFZO3NCQURYLEtBQUs7Z0JBUU4sVUFBVTtzQkFEVCxLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBS04sa0JBQWtCO3NCQURqQixLQUFLO2dCQUtOLFVBQVU7c0JBRFQsS0FBSztnQkFLTixZQUFZO3NCQURYLEtBQUs7Z0JBS04sYUFBYTtzQkFEWixLQUFLO2dCQUtOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUtOLFlBQVk7c0JBRFgsS0FBSztnQkFLTixjQUFjO3NCQURiLEtBQUs7Z0JBS04sZUFBZTtzQkFEZCxLQUFLO2dCQUtOLFdBQVc7c0JBRFYsS0FBSztnQkFLTixLQUFLO3NCQURKLEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO2dCQVVOLFlBQVk7c0JBRFgsTUFBTTtnQkFRUCxNQUFNO3NCQURMLE1BQU07Z0JBS1AsWUFBWTtzQkFEWCxNQUFNO2dCQUtQLEtBQUs7c0JBREosTUFBTTtnQkFLUCxnQkFBZ0I7c0JBRGYsTUFBTTtnQkFJUCxXQUFXO3NCQURWLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBEZXN0cm95UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgc2VhcmNoQW5pbWF0aW9uIH0gZnJvbSAnLi9hbmltYXRpb25zJztcbmltcG9ydCB7IFNlYXJjaEFuaW1hdGlvbkRpcmVjdGlvbiwgU2VhcmNoQW5pbWF0aW9uU3RhdGUsIFNlYXJjaFRleHRTdGF0ZUVudW0gfSBmcm9tICcuL21vZGVscy9zZWFyY2gtdGV4dC1pbnB1dC5tb2RlbCc7XG5pbXBvcnQgeyBTZWFyY2hUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9zZWFyY2gtdHJpZ2dlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1zZWFyY2gtdGV4dC1pbnB1dCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLXRleHQtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlYXJjaC10ZXh0LWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgYW5pbWF0aW9uczogW3NlYXJjaEFuaW1hdGlvbl0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBpbXBvcnRzOiBbTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBUcmFuc2xhdGVQaXBlLCBNYXRGb3JtRmllbGRNb2R1bGUsIE1hdElucHV0TW9kdWxlLCBGb3Jtc01vZHVsZSwgU2VhcmNoVHJpZ2dlckRpcmVjdGl2ZSwgTmdJZiwgTmdDbGFzc10sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2FkZi1zZWFyY2gtdGV4dC1pbnB1dCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaFRleHRJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogVG9nZ2xlcyBhdXRvLWNvbXBsZXRpb24gb2YgdGhlIHNlYXJjaCBpbnB1dCBmaWVsZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGF1dG9jb21wbGV0ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogVG9nZ2xlcyB3aGV0aGVyIHRvIHVzZSBhbiBleHBhbmRpbmcgc2VhcmNoIGNvbnRyb2wuIElmIGZhbHNlXG4gICAgICogdGhlbiBhIHJlZ3VsYXIgaW5wdXQgaXMgdXNlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGV4cGFuZGFibGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqIFR5cGUgb2YgdGhlIGlucHV0IGZpZWxkIHRvIHJlbmRlciwgZS5nLiBcInNlYXJjaFwiIG9yIFwidGV4dFwiIChkZWZhdWx0KS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGlucHV0VHlwZTogc3RyaW5nID0gJ3RleHQnO1xuXG4gICAgLyoqIFRvZ2dsZXMgXCJmaW5kLWFzLXlvdS10eXBlXCIgc3VnZ2VzdGlvbnMgZm9yIHBvc3NpYmxlIG1hdGNoZXMuICovXG4gICAgQElucHV0KClcbiAgICBsaXZlU2VhcmNoRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKiogVHJpZ2dlciBhdXRvY29tcGxldGUgcmVzdWx0cyBvbiBpbnB1dCBjaGFuZ2UuICovXG4gICAgQElucHV0KClcbiAgICBzZWFyY2hBdXRvY29tcGxldGU6IGFueSA9IGZhbHNlO1xuXG4gICAgLyoqIFNlYXJjaCB0ZXJtIHByZXNlbGVjdGVkICovXG4gICAgQElucHV0KClcbiAgICBzZWFyY2hUZXJtOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKiBEZWJvdW5jZSB0aW1lIGluIG1pbGxpc2Vjb25kcy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRlYm91bmNlVGltZTogbnVtYmVyID0gMDtcblxuICAgIC8qKiBMaXN0ZW5lciBmb3IgcmVzdWx0cy1saXN0IGV2ZW50cyAoZm9jdXMsIGJsdXIgYW5kIGZvY3Vzb3V0KS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGZvY3VzTGlzdGVuZXI6IE9ic2VydmFibGU8Rm9jdXNFdmVudD47XG5cbiAgICAvKiogQ29sbGFwc2Ugc2VhcmNoIGJhciBvbiBzdWJtaXQuICovXG4gICAgQElucHV0KClcbiAgICBjb2xsYXBzZU9uU3VibWl0OiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKiBEZWZhdWx0IHN0YXRlIGV4cGFuZGVkIG9yIENvbGxhcHNlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRlZmF1bHRTdGF0ZTogU2VhcmNoVGV4dFN0YXRlRW51bSA9IFNlYXJjaFRleHRTdGF0ZUVudW0uY29sbGFwc2VkO1xuXG4gICAgLyoqIFRvZ2dsZXMgd2hldGhlciB0byBjb2xsYXBzZSB0aGUgc2VhcmNoIG9uIGJsdXIuICovXG4gICAgQElucHV0KClcbiAgICBjb2xsYXBzZU9uQmx1cjogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKiogVG9nZ2xlcyB3aGV0aGVyIHRvIHNob3cgYSBjbGVhciBidXR0b24gdGhhdCBjbG9zZXMgdGhlIHNlYXJjaCAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd0NsZWFyQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogUGxhY2Vob2xkZXIgdGV4dCB0byBzaG93IGluIHRoZSBpbnB1dCBmaWVsZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqIExhYmVsIHRleHQgdG8gc2hvdyBvdmVyIHRoZSBpbnB1dCBmaWVsZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgbGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqIEhpbnQgbGFiZWwgKi9cbiAgICBASW5wdXQoKVxuICAgIGhpbnRMYWJlbCA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCB3aGVuIHRoZSBzZWFyY2ggdGVybSBpcyBjaGFuZ2VkLiBUaGUgc2VhcmNoIHRlcm0gaXMgcHJvdmlkZWRcbiAgICAgKiBpbiB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiB0aGUgcmV0dXJuZWQgb2JqZWN0LiAgSWYgdGhlIHRlcm0gaXMgbGVzc1xuICAgICAqIHRoYW4gdGhyZWUgY2hhcmFjdGVycyBpbiBsZW5ndGggdGhlbiBpdCBpcyB0cnVuY2F0ZWQgdG8gYW4gZW1wdHlcbiAgICAgKiBzdHJpbmcuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgc2VhcmNoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0dGVkIHdoZW4gdGhlIHNlYXJjaCBpcyBzdWJtaXR0ZWQgYnkgcHJlc3NpbmcgdGhlIEVOVEVSIGtleS5cbiAgICAgKiBUaGUgc2VhcmNoIHRlcm0gaXMgcHJvdmlkZWQgYXMgdGhlIHZhbHVlIG9mIHRoZSBldmVudC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBzdWJtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKiAgRW1pdHRlZCB3aGVuIHRoZSByZXN1bHQgbGlzdCBpcyBzZWxlY3RlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHNlbGVjdFJlc3VsdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKiogIEVtaXR0ZWQgd2hlbiB0aGUgcmVzdWx0IGxpc3QgaXMgcmVzZXQgKi9cbiAgICBAT3V0cHV0KClcbiAgICByZXNldDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgc2VhcmNoIHZpc2liaWxpdHkgY2hhbmdlcy4gVHJ1ZSB3aGVuIHRoZSBzZWFyY2ggaXMgYWN0aXZlLCBmYWxzZSB3aGVuIGl0IGlzIGluYWN0aXZlICovXG4gICAgQE91dHB1dCgpXG4gICAgc2VhcmNoVmlzaWJpbGl0eTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQFZpZXdDaGlsZCgnc2VhcmNoSW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHNlYXJjaElucHV0OiBFbGVtZW50UmVmO1xuXG4gICAgc3Vic2NyaXB0QW5pbWF0aW9uU3RhdGU6IGFueTtcblxuICAgIGFuaW1hdGlvblN0YXRlczogU2VhcmNoQW5pbWF0aW9uRGlyZWN0aW9uID0ge1xuICAgICAgICBsdHI6IHtcbiAgICAgICAgICAgIGFjdGl2ZTogeyB2YWx1ZTogJ2FjdGl2ZScsIHBhcmFtczogeyAnbWFyZ2luLWxlZnQnOiAxMyB9IH0sXG4gICAgICAgICAgICBpbmFjdGl2ZTogeyB2YWx1ZTogJ2luYWN0aXZlJywgcGFyYW1zOiB7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknIH0gfVxuICAgICAgICB9LFxuICAgICAgICBydGw6IHtcbiAgICAgICAgICAgIGFjdGl2ZTogeyB2YWx1ZTogJ2FjdGl2ZScsIHBhcmFtczogeyAnbWFyZ2luLXJpZ2h0JzogMTMgfSB9LFxuICAgICAgICAgICAgaW5hY3RpdmU6IHsgdmFsdWU6ICdpbmFjdGl2ZScsIHBhcmFtczogeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC0xMDAlKScgfSB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBkaXIgPSAnbHRyJztcbiAgICBwcml2YXRlIHRvZ2dsZVNlYXJjaCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgICBwcml2YXRlIGZvY3VzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJpdmF0ZSB2YWx1ZUNoYW5nZSA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgICBwcml2YXRlIHRvZ2dsZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgdG9nZ2xlJCA9IHRoaXMudG9nZ2xlU2VhcmNoLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB1c2VyUHJlZmVyZW5jZXNTZXJ2aWNlOiBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMudG9nZ2xlU3Vic2NyaXB0aW9uID0gdGhpcy50b2dnbGUkLnBpcGUoZGVib3VuY2VUaW1lKDIwMCksIHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuZXhwYW5kYWJsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0QW5pbWF0aW9uU3RhdGUgPSB0aGlzLnRvZ2dsZUFuaW1hdGlvbigpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnN1YnNjcmlwdEFuaW1hdGlvblN0YXRlLnZhbHVlID09PSAnaW5hY3RpdmUnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoVGVybSA9ICcnO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc2V0LmVtaXQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkID09PSB0aGlzLnNlYXJjaElucHV0Lm5hdGl2ZUVsZW1lbnQuaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoSW5wdXQubmF0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5lbWl0VmlzaWJpbGl0eVNlYXJjaCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy51c2VyUHJlZmVyZW5jZXNTZXJ2aWNlXG4gICAgICAgICAgICAuc2VsZWN0KCd0ZXh0T3JpZW50YXRpb24nKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkaXJlY3Rpb246IERpcmVjdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGlyID0gZGlyZWN0aW9uO1xuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0QW5pbWF0aW9uU3RhdGUgPSB0aGlzLmdldERlZmF1bHRTdGF0ZSh0aGlzLmRpcik7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnN1YnNjcmlwdEFuaW1hdGlvblN0YXRlID0gdGhpcy5nZXREZWZhdWx0U3RhdGUodGhpcy5kaXIpO1xuICAgICAgICB0aGlzLnNldFZhbHVlQ2hhbmdlSGFuZGxlcigpO1xuICAgICAgICB0aGlzLnNldHVwRm9jdXNFdmVudEhhbmRsZXJzKCk7XG4gICAgfVxuXG4gICAgYXBwbHlTZWFyY2hGb2N1cyhhbmltYXRpb25Eb25lRXZlbnQpIHtcbiAgICAgICAgaWYgKGFuaW1hdGlvbkRvbmVFdmVudC50b1N0YXRlID09PSAnYWN0aXZlJyAmJiB0aGlzLmlzRGVmYXVsdFN0YXRlQ29sbGFwc2VkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0QXV0b0NvbXBsZXRlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZSA/ICdvbicgOiAnb2ZmJztcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvZ2dsZUFuaW1hdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlyID09PSAnbHRyJykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3Vic2NyaXB0QW5pbWF0aW9uU3RhdGUudmFsdWUgPT09ICdpbmFjdGl2ZSdcbiAgICAgICAgICAgICAgICA/IHsgdmFsdWU6ICdhY3RpdmUnLCBwYXJhbXM6IHsgJ21hcmdpbi1sZWZ0JzogMTMgfSB9XG4gICAgICAgICAgICAgICAgOiB7IHZhbHVlOiAnaW5hY3RpdmUnLCBwYXJhbXM6IHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScgfSB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3Vic2NyaXB0QW5pbWF0aW9uU3RhdGUudmFsdWUgPT09ICdpbmFjdGl2ZSdcbiAgICAgICAgICAgICAgICA/IHsgdmFsdWU6ICdhY3RpdmUnLCBwYXJhbXM6IHsgJ21hcmdpbi1yaWdodCc6IDEzIH0gfVxuICAgICAgICAgICAgICAgIDogeyB2YWx1ZTogJ2luYWN0aXZlJywgcGFyYW1zOiB7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJyB9IH07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERlZmF1bHRTdGF0ZShkaXI6IHN0cmluZyk6IFNlYXJjaEFuaW1hdGlvblN0YXRlIHtcbiAgICAgICAgaWYgKHRoaXMuZGlyKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRBbmltYXRpb25TdGF0ZShkaXIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmFuaW1hdGlvblN0YXRlcy5sdHIuaW5hY3RpdmU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRBbmltYXRpb25TdGF0ZShkaXI6IHN0cmluZyk6IFNlYXJjaEFuaW1hdGlvblN0YXRlIHtcbiAgICAgICAgaWYgKHRoaXMuZXhwYW5kYWJsZSAmJiB0aGlzLmlzRGVmYXVsdFN0YXRlRXhwYW5kZWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYW5pbWF0aW9uU3RhdGVzW2Rpcl0uYWN0aXZlO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZXhwYW5kYWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYW5pbWF0aW9uU3RhdGVzW2Rpcl0uaW5hY3RpdmU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4geyB2YWx1ZTogJ25vLWFuaW1hdGlvbicgfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBGb2N1c0V2ZW50SGFuZGxlcnMoKSB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGZvY3VzRXZlbnRzOiBPYnNlcnZhYmxlPEZvY3VzRXZlbnQ+ID0gdGhpcy5mb2N1c0xpc3RlbmVyLnBpcGUoXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDUwKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICgkZXZlbnQ6IGFueSkgPT4gdGhpcy5pc1NlYXJjaEJhckFjdGl2ZSgpICYmICgkZXZlbnQudHlwZSA9PT0gJ2JsdXInIHx8ICRldmVudC50eXBlID09PSAnZm9jdXNvdXQnIHx8ICRldmVudC50eXBlID09PSAnZm9jdXMnKVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHRoaXMuZm9jdXNTdWJzY3JpcHRpb24gPSBmb2N1c0V2ZW50cy5zdWJzY3JpYmUoKGV2ZW50OiBGb2N1c0V2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09ICdmb2N1cycpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hJbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b2dnbGVTZWFyY2hCYXIoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0VmFsdWVDaGFuZ2VIYW5kbGVyKCkge1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VUaW1lKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgodmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNlbGVjdEZpcnN0UmVzdWx0KCRldmVudCkge1xuICAgICAgICB0aGlzLnNlbGVjdFJlc3VsdC5lbWl0KCRldmVudCk7XG4gICAgfVxuXG4gICAgb25CbHVyKCRldmVudCkge1xuICAgICAgICBpZiAodGhpcy5jb2xsYXBzZU9uQmx1ciAmJiAhJGV2ZW50LnJlbGF0ZWRUYXJnZXQpIHtcbiAgICAgICAgICAgIHRoaXMucmVzZXRTZWFyY2goKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0Q2hhbmdlKCRldmVudDogYW55KSB7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UubmV4dCgkZXZlbnQpO1xuICAgIH1cblxuICAgIHRvZ2dsZVNlYXJjaEJhcigpIHtcbiAgICAgICAgaWYgKHRoaXMudG9nZ2xlU2VhcmNoKSB7XG4gICAgICAgICAgICB0aGlzLnRvZ2dsZVNlYXJjaC5uZXh0KHt9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlYXJjaFN1Ym1pdChldmVudDogYW55KSB7XG4gICAgICAgIHRoaXMuc3VibWl0LmVtaXQoZXZlbnQpO1xuICAgICAgICBpZiAodGhpcy5jb2xsYXBzZU9uU3VibWl0KSB7XG4gICAgICAgICAgICB0aGlzLnRvZ2dsZVNlYXJjaEJhcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYWN0aXZhdGVUb29sYmFyKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuaXNTZWFyY2hCYXJBY3RpdmUoKSkge1xuICAgICAgICAgICAgdGhpcy50b2dnbGVTZWFyY2hCYXIoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaXNTZWFyY2hCYXJBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN1YnNjcmlwdEFuaW1hdGlvblN0YXRlLnZhbHVlID09PSAnYWN0aXZlJztcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMudG9nZ2xlU2VhcmNoKSB7XG4gICAgICAgICAgICB0aGlzLnRvZ2dsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy50b2dnbGVTZWFyY2guY29tcGxldGUoKTtcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlU2VhcmNoID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmZvY3VzU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLmZvY3VzU3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjYW5TaG93Q2xlYXJTZWFyY2goKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNob3dDbGVhckJ1dHRvbiAmJiB0aGlzLmlzU2VhcmNoQmFyQWN0aXZlKCk7XG4gICAgfVxuXG4gICAgcmVzZXRTZWFyY2goKSB7XG4gICAgICAgIGlmICh0aGlzLmlzU2VhcmNoQmFyQWN0aXZlKCkpIHtcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlU2VhcmNoQmFyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlzRGVmYXVsdFN0YXRlQ29sbGFwc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0U3RhdGUgPT09IFNlYXJjaFRleHRTdGF0ZUVudW0uY29sbGFwc2VkO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNEZWZhdWx0U3RhdGVFeHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdFN0YXRlID09PSBTZWFyY2hUZXh0U3RhdGVFbnVtLmV4cGFuZGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgZW1pdFZpc2liaWxpdHlTZWFyY2goKSB7XG4gICAgICAgIHRoaXMuc2VhcmNoVmlzaWJpbGl0eS5lbWl0KHRoaXMuaXNTZWFyY2hCYXJBY3RpdmUoKSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFkZi1zZWFyY2gtY29udGFpbmVyXCIgW2F0dHIuc3RhdGVdPVwic3Vic2NyaXB0QW5pbWF0aW9uU3RhdGUudmFsdWVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWRmLXNlYXJjaC1jb250YWluZXItdHJhbnNpdGlvblwiXG4gICAgICAgIFtAdHJhbnNpdGlvbk1lc3NhZ2VzXT1cInN1YnNjcmlwdEFuaW1hdGlvblN0YXRlXCJcbiAgICAgICAgKEB0cmFuc2l0aW9uTWVzc2FnZXMuZG9uZSk9XCJhcHBseVNlYXJjaEZvY3VzKCRldmVudClcIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cImV4cGFuZGFibGVcIlxuICAgICAgICAgICAgICAgIGlkPVwiYWRmLXNlYXJjaC1idXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXNlYXJjaC1idXR0b25cIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYWRmLXNlYXJjaC1idXR0b24taW5hY3RpdmUnOiBzdWJzY3JpcHRBbmltYXRpb25TdGF0ZS52YWx1ZSA9PT0gJ2luYWN0aXZlJ31cIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCInU0VBUkNILkJVVFRPTi5UT09MVElQJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNlYXJjaEJhcigpXCJcbiAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwidG9nZ2xlU2VhcmNoQmFyKClcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBbYXR0ci5hcmlhLWxhYmVsXT1cIidTRUFSQ0guQlVUVE9OLkFSSUEtTEFCRUwnIHwgdHJhbnNsYXRlXCI+c2VhcmNoPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFkZi1pbnB1dC1mb3JtLWZpZWxkLWRpdmlkZXJcIiBbaGludExhYmVsXT1cImhpbnRMYWJlbFwiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbCAqbmdJZj0nbGFiZWwnPnt7bGFiZWx9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0XG4gICAgICAgICAgICAgICAgICAgI3NlYXJjaElucHV0XG4gICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInU0VBUkNILklOUFVULkFSSUEtTEFCRUwnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICBbYXR0ci50eXBlXT1cImlucHV0VHlwZVwiXG4gICAgICAgICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJnZXRBdXRvQ29tcGxldGUoKVwiXG4gICAgICAgICAgICAgICAgICAgaWQ9XCJhZGYtY29udHJvbC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXJtXCJcbiAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgICAgIChmb2N1cyk9XCJhY3RpdmF0ZVRvb2xiYXIoKVwiXG4gICAgICAgICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgIChrZXl1cC5lc2NhcGUpPVwidG9nZ2xlU2VhcmNoQmFyKClcIlxuICAgICAgICAgICAgICAgICAgIChrZXl1cC5hcnJvd2Rvd24pPVwic2VsZWN0Rmlyc3RSZXN1bHQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiaW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgW3NlYXJjaEF1dG9jb21wbGV0ZV09XCJzZWFyY2hBdXRvY29tcGxldGUgPyBzZWFyY2hBdXRvY29tcGxldGUgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwic2VhcmNoU3VibWl0KCRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNhblNob3dDbGVhclNlYXJjaCgpXCJcbiAgICAgICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1jbGVhci1zZWFyY2gtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtY2xlYXItc2VhcmNoLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInU0VBUkNILkZJTFRFUi5CVVRUT05TLkNMT1NFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZXNldFNlYXJjaCgpXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cInJlc2V0U2VhcmNoKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,35 @@
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 { NgModule } from '@angular/core';
18
+ import { SearchTextInputComponent } from './search-text-input.component';
19
+ import { SearchTriggerDirective } from './search-trigger.directive';
20
+ import * as i0 from "@angular/core";
21
+ export const SEARCH_TEXT_INPUT_DIRECTIVES = [SearchTextInputComponent, SearchTriggerDirective];
22
+ /** @deprecated use `...SEARCH_TEXT_INPUT_DIRECTIVES` or import the individual directives */
23
+ export class SearchTextModule {
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchTextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
25
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SearchTextModule, imports: [SearchTextInputComponent, SearchTriggerDirective], exports: [SearchTextInputComponent, SearchTriggerDirective] }); }
26
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchTextModule, imports: [SearchTextInputComponent] }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchTextModule, decorators: [{
29
+ type: NgModule,
30
+ args: [{
31
+ imports: [...SEARCH_TEXT_INPUT_DIRECTIVES],
32
+ exports: [...SEARCH_TEXT_INPUT_DIRECTIVES]
33
+ }]
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXRleHQtaW5wdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9zZWFyY2gtdGV4dC9zZWFyY2gtdGV4dC1pbnB1dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFcEUsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsQ0FBQyx3QkFBd0IsRUFBRSxzQkFBc0IsQ0FBVSxDQUFDO0FBRXhHLDRGQUE0RjtBQUs1RixNQUFNLE9BQU8sZ0JBQWdCOytHQUFoQixnQkFBZ0I7Z0hBQWhCLGdCQUFnQixZQVBnQix3QkFBd0IsRUFBRSxzQkFBc0IsYUFBaEQsd0JBQXdCLEVBQUUsc0JBQXNCO2dIQU9oRixnQkFBZ0IsWUFQZ0Isd0JBQXdCOzs0RkFPeEQsZ0JBQWdCO2tCQUo1QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLEdBQUcsNEJBQTRCLENBQUM7b0JBQzFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsNEJBQTRCLENBQUM7aUJBQzdDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VhcmNoVGV4dElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtdGV4dC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4vc2VhcmNoLXRyaWdnZXIuZGlyZWN0aXZlJztcblxuZXhwb3J0IGNvbnN0IFNFQVJDSF9URVhUX0lOUFVUX0RJUkVDVElWRVMgPSBbU2VhcmNoVGV4dElucHV0Q29tcG9uZW50LCBTZWFyY2hUcmlnZ2VyRGlyZWN0aXZlXSBhcyBjb25zdDtcblxuLyoqIEBkZXByZWNhdGVkIHVzZSBgLi4uU0VBUkNIX1RFWFRfSU5QVVRfRElSRUNUSVZFU2Agb3IgaW1wb3J0IHRoZSBpbmRpdmlkdWFsIGRpcmVjdGl2ZXMgKi9cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogWy4uLlNFQVJDSF9URVhUX0lOUFVUX0RJUkVDVElWRVNdLFxuICAgIGV4cG9ydHM6IFsuLi5TRUFSQ0hfVEVYVF9JTlBVVF9ESVJFQ1RJVkVTXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hUZXh0TW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,181 @@
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
+ /* eslint-disable @angular-eslint/no-input-rename, @typescript-eslint/no-use-before-define, @angular-eslint/no-input-rename */
18
+ import { ENTER, ESCAPE } from '@angular/cdk/keycodes';
19
+ import { ChangeDetectorRef, DestroyRef, Directive, ElementRef, forwardRef, inject, Inject, Input, NgZone, Optional } from '@angular/core';
20
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
21
+ import { DOCUMENT } from '@angular/common';
22
+ import { fromEvent, merge, of, Subject } from 'rxjs';
23
+ import { filter, switchMap } from 'rxjs/operators';
24
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
25
+ import * as i0 from "@angular/core";
26
+ export const SEARCH_AUTOCOMPLETE_VALUE_ACCESSOR = {
27
+ provide: NG_VALUE_ACCESSOR,
28
+ useExisting: forwardRef(() => SearchTriggerDirective),
29
+ multi: true
30
+ };
31
+ /**
32
+ * Directive selectors without adf- prefix will be deprecated on 3.0.0
33
+ */
34
+ export class SearchTriggerDirective {
35
+ constructor(element, ngZone, changeDetectorRef, document) {
36
+ this.element = element;
37
+ this.ngZone = ngZone;
38
+ this.changeDetectorRef = changeDetectorRef;
39
+ this.document = document;
40
+ this.autocomplete = 'off';
41
+ this._panelOpen = false;
42
+ this.escapeEventStream = new Subject();
43
+ this.onChange = () => { };
44
+ this.onTouched = () => { };
45
+ this.destroyRef = inject(DestroyRef);
46
+ }
47
+ ngOnDestroy() {
48
+ if (this.escapeEventStream) {
49
+ this.escapeEventStream = null;
50
+ }
51
+ if (this.closingActionsSubscription) {
52
+ this.closingActionsSubscription.unsubscribe();
53
+ }
54
+ }
55
+ get panelOpen() {
56
+ return this._panelOpen && this.searchPanel.showPanel;
57
+ }
58
+ openPanel() {
59
+ this.searchPanel.isOpen = this._panelOpen = true;
60
+ this.closingActionsSubscription = this.subscribeToClosingActions();
61
+ }
62
+ closePanel() {
63
+ if (this._panelOpen) {
64
+ this.closingActionsSubscription.unsubscribe();
65
+ this._panelOpen = false;
66
+ this.searchPanel.resetResults();
67
+ this.searchPanel.hidePanel();
68
+ this.changeDetectorRef.detectChanges();
69
+ }
70
+ }
71
+ get panelClosingActions() {
72
+ return merge(this.escapeEventStream, this.outsideClickStream);
73
+ }
74
+ get outsideClickStream() {
75
+ if (!this.document) {
76
+ return of(null);
77
+ }
78
+ return merge(fromEvent(this.document, 'click'), fromEvent(this.document, 'touchend')).pipe(filter((event) => {
79
+ const clickTarget = event.target;
80
+ return this._panelOpen && clickTarget !== this.element.nativeElement;
81
+ }), takeUntilDestroyed(this.destroyRef));
82
+ }
83
+ writeValue(value) {
84
+ Promise.resolve(null).then(() => this.setTriggerValue(value));
85
+ }
86
+ registerOnChange(fn) {
87
+ this.onChange = fn;
88
+ }
89
+ registerOnTouched(fn) {
90
+ this.onTouched = fn;
91
+ }
92
+ handleKeydown(event) {
93
+ const keyCode = event.keyCode;
94
+ if (keyCode === ESCAPE && this.panelOpen) {
95
+ this.escapeEventStream.next();
96
+ event.stopPropagation();
97
+ }
98
+ else if (keyCode === ENTER) {
99
+ this.escapeEventStream.next();
100
+ event.preventDefault();
101
+ }
102
+ }
103
+ handleInput(event) {
104
+ if (document.activeElement === event.target) {
105
+ const inputValue = event.target.value;
106
+ this.onChange(inputValue);
107
+ if (inputValue && this.searchPanel) {
108
+ this.searchPanel.keyPressedStream.next(inputValue);
109
+ this.openPanel();
110
+ }
111
+ else if (this.searchPanel) {
112
+ this.searchPanel.resetResults();
113
+ this.closePanel();
114
+ }
115
+ }
116
+ }
117
+ isPanelOptionClicked(event) {
118
+ let isPanelOption = false;
119
+ if (event && this.searchPanel) {
120
+ const clickTarget = event.target;
121
+ isPanelOption = !this.isNoResultOption() && !!this.searchPanel.panel && !!this.searchPanel.panel.nativeElement.contains(clickTarget);
122
+ }
123
+ return isPanelOption;
124
+ }
125
+ isNoResultOption() {
126
+ return this.searchPanel?.results?.list ? this.searchPanel.results.list.entries.length === 0 : true;
127
+ }
128
+ subscribeToClosingActions() {
129
+ const firstStable = this.ngZone.onStable.asObservable();
130
+ const optionChanges = this.searchPanel.keyPressedStream.asObservable();
131
+ return merge(firstStable, optionChanges)
132
+ .pipe(switchMap(() => {
133
+ this.searchPanel.setVisibility();
134
+ return this.panelClosingActions;
135
+ }), takeUntilDestroyed(this.destroyRef))
136
+ .subscribe((event) => this.setValueAndClose(event));
137
+ }
138
+ setTriggerValue(value) {
139
+ const toDisplay = this.searchPanel?.displayWith ? this.searchPanel.displayWith(value) : value;
140
+ this.element.nativeElement.value = toDisplay != null ? toDisplay : '';
141
+ }
142
+ setValueAndClose(event) {
143
+ if (this.isPanelOptionClicked(event) && !event.defaultPrevented) {
144
+ this.setTriggerValue(event.target.textContent.trim());
145
+ this.onChange(event.target.textContent.trim());
146
+ this.element.nativeElement.focus();
147
+ }
148
+ this.closePanel();
149
+ }
150
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchTriggerDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
151
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: SearchTriggerDirective, isStandalone: true, selector: "input[searchAutocomplete], textarea[searchAutocomplete]", inputs: { searchPanel: ["searchAutocomplete", "searchPanel"], autocomplete: "autocomplete" }, host: { attributes: { "role": "combobox", "aria-autocomplete": "list" }, listeners: { "blur": "onTouched()", "input": "handleInput($event)", "keydown": "handleKeydown($event)" }, properties: { "attr.autocomplete": "autocomplete", "attr.aria-expanded": "panelOpen.toString()" } }, providers: [SEARCH_AUTOCOMPLETE_VALUE_ACCESSOR], ngImport: i0 }); }
152
+ }
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchTriggerDirective, decorators: [{
154
+ type: Directive,
155
+ args: [{
156
+ // eslint-disable-next-line @angular-eslint/directive-selector
157
+ selector: `input[searchAutocomplete], textarea[searchAutocomplete]`,
158
+ standalone: true,
159
+ host: {
160
+ role: 'combobox',
161
+ '[attr.autocomplete]': 'autocomplete',
162
+ 'aria-autocomplete': 'list',
163
+ '[attr.aria-expanded]': 'panelOpen.toString()',
164
+ '(blur)': 'onTouched()',
165
+ '(input)': 'handleInput($event)',
166
+ '(keydown)': 'handleKeydown($event)'
167
+ },
168
+ providers: [SEARCH_AUTOCOMPLETE_VALUE_ACCESSOR]
169
+ }]
170
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
171
+ type: Optional
172
+ }, {
173
+ type: Inject,
174
+ args: [DOCUMENT]
175
+ }] }], propDecorators: { searchPanel: [{
176
+ type: Input,
177
+ args: ['searchAutocomplete']
178
+ }], autocomplete: [{
179
+ type: Input
180
+ }] } });
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXRyaWdnZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9zZWFyY2gtdGV4dC9zZWFyY2gtdHJpZ2dlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsOEhBQThIO0FBRTlILE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JKLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDL0UsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFaEUsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQVE7SUFDbkQsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO0lBQ3JELEtBQUssRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUVGOztHQUVHO0FBZ0JILE1BQU0sT0FBTyxzQkFBc0I7SUFpQi9CLFlBQ1ksT0FBbUIsRUFDbkIsTUFBYyxFQUNkLGlCQUFvQyxFQUNOLFFBQWE7UUFIM0MsWUFBTyxHQUFQ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QUFRLEVBQUUsYUFBYTt3QkFDdkIsU0FBUyxFQUFFLHFCQUFxQjt3QkFDaEMsV0FBVyxFQUFFLHVCQUF1QjtxQkFDdkM7b0JBQ0QsU0FBUyxFQUFFLENBQUMsa0NBQWtDLENBQUM7aUJBQ2xEOzswQkFzQlEsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxRQUFRO3lDQW5CaEMsV0FBVztzQkFEVixLQUFLO3VCQUFDLG9CQUFvQjtnQkFJM0IsWUFBWTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdXNlLWJlZm9yZS1kZWZpbmUsIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWUgKi9cblxuaW1wb3J0IHsgRU5URVIsIEVTQ0FQRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBpbmplY3QsIEluamVjdCwgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBtZXJnZSwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTZWFyY2hDb21wb25lbnRJbnRlcmZhY2UgfSBmcm9tICcuLi9jb21tb24vaW50ZXJmYWNlL3NlYXJjaC1jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuZXhwb3J0IGNvbnN0IFNFQVJDSF9BVVRPQ09NUExFVEVfVkFMVUVfQUNDRVNTT1I6IGFueSA9IHtcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWFyY2hUcmlnZ2VyRGlyZWN0aXZlKSxcbiAgICBtdWx0aTogdHJ1ZVxufTtcblxuLyoqXG4gKiBEaXJlY3RpdmUgc2VsZWN0b3JzIHdpdGhvdXQgYWRmLSBwcmVmaXggd2lsbCBiZSBkZXByZWNhdGVkIG9uIDMuMC4wXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6IGBpbnB1dFtzZWFyY2hBdXRvY29tcGxldGVdLCB0ZXh0YXJlYVtzZWFyY2hBdXRvY29tcGxldGVdYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgcm9sZTogJ2NvbWJvYm94JyxcbiAgICAgICAgJ1thdHRyLmF1dG9jb21wbGV0ZV0nOiAnYXV0b2NvbXBsZXRlJyxcbiAgICAgICAgJ2FyaWEtYXV0b2NvbXBsZXRlJzogJ2xpc3QnLFxuICAgICAgICAnW2F0dHIuYXJpYS1leHBhbmRlZF0nOiAncGFuZWxPcGVuLnRvU3RyaW5nKCknLFxuICAgICAgICAnKGJsdXIpJzogJ29uVG91Y2hlZCgpJyxcbiAgICAgICAgJyhpbnB1dCknOiAnaGFuZGxlSW5wdXQoJGV2ZW50KScsXG4gICAgICAgICcoa2V5ZG93biknOiAnaGFuZGxlS2V5ZG93bigkZXZlbnQpJ1xuICAgIH0sXG4gICAgcHJvdmlkZXJzOiBbU0VBUkNIX0FVVE9DT01QTEVURV9WQUxVRV9BQ0NFU1NPUl1cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoVHJpZ2dlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgnc2VhcmNoQXV0b2NvbXBsZXRlJylcbiAgICBzZWFyY2hQYW5lbDogU2VhcmNoQ29tcG9uZW50SW50ZXJmYWNlO1xuXG4gICAgQElucHV0KClcbiAgICBhdXRvY29tcGxldGU6IHN0cmluZyA9ICdvZmYnO1xuXG4gICAgcHJpdmF0ZSBfcGFuZWxPcGVuOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBjbG9zaW5nQWN0aW9uc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgZXNjYXBlRXZlbnRTdHJlYW0gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgb25DaGFuZ2U6ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICBvblRvdWNoZWQgPSAoKSA9PiB7fTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBhbnlcbiAgICApIHt9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZXNjYXBlRXZlbnRTdHJlYW0pIHtcbiAgICAgICAgICAgIHRoaXMuZXNjYXBlRXZlbnRTdHJlYW0gPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmNsb3NpbmdBY3Rpb25zU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NpbmdBY3Rpb25zU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgcGFuZWxPcGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFuZWxPcGVuICYmIHRoaXMuc2VhcmNoUGFuZWwuc2hvd1BhbmVsO1xuICAgIH1cblxuICAgIG9wZW5QYW5lbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWFyY2hQYW5lbC5pc09wZW4gPSB0aGlzLl9wYW5lbE9wZW4gPSB0cnVlO1xuICAgICAgICB0aGlzLmNsb3NpbmdBY3Rpb25zU3Vic2NyaXB0aW9uID0gdGhpcy5zdWJzY3JpYmVUb0Nsb3NpbmdBY3Rpb25zKCk7XG4gICAgfVxuXG4gICAgY2xvc2VQYW5lbCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3BhbmVsT3Blbikge1xuICAgICAgICAgICAgdGhpcy5jbG9zaW5nQWN0aW9uc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5fcGFuZWxPcGVuID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaFBhbmVsLnJlc2V0UmVzdWx0cygpO1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hQYW5lbC5oaWRlUGFuZWwoKTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IHBhbmVsQ2xvc2luZ0FjdGlvbnMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIG1lcmdlKHRoaXMuZXNjYXBlRXZlbnRTdHJlYW0sIHRoaXMub3V0c2lkZUNsaWNrU3RyZWFtKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBvdXRzaWRlQ2xpY2tTdHJlYW0oKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgaWYgKCF0aGlzLmRvY3VtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbWVyZ2UoZnJvbUV2ZW50KHRoaXMuZG9jdW1lbnQsICdjbGljaycpLCBmcm9tRXZlbnQodGhpcy5kb2N1bWVudCwgJ3RvdWNoZW5kJykpLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNsaWNrVGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9wYW5lbE9wZW4gJiYgY2xpY2tUYXJnZXQgIT09IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBQcm9taXNlLnJlc29sdmUobnVsbCkudGhlbigoKSA9PiB0aGlzLnNldFRyaWdnZXJWYWx1ZSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiBhbnkpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBoYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5rZXlDb2RlO1xuXG4gICAgICAgIGlmIChrZXlDb2RlID09PSBFU0NBUEUgJiYgdGhpcy5wYW5lbE9wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuZXNjYXBlRXZlbnRTdHJlYW0ubmV4dCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5Q29kZSA9PT0gRU5URVIpIHtcbiAgICAgICAgICAgIHRoaXMuZXNjYXBlRXZlbnRTdHJlYW0ubmV4dCgpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZUlucHV0KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBldmVudC50YXJnZXQpIHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0VmFsdWU6IHN0cmluZyA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKGlucHV0VmFsdWUpO1xuICAgICAgICAgICAgaWYgKGlucHV0VmFsdWUgJiYgdGhpcy5zZWFyY2hQYW5lbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoUGFuZWwua2V5UHJlc3NlZFN0cmVhbS5uZXh0KGlucHV0VmFsdWUpO1xuICAgICAgICAgICAgICAgIHRoaXMub3BlblBhbmVsKCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc2VhcmNoUGFuZWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaFBhbmVsLnJlc2V0UmVzdWx0cygpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VQYW5lbCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1BhbmVsT3B0aW9uQ2xpY2tlZChldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBsZXQgaXNQYW5lbE9wdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICAgICAgICBpZiAoZXZlbnQgJiYgdGhpcy5zZWFyY2hQYW5lbCkge1xuICAgICAgICAgICAgY29uc3QgY2xpY2tUYXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICBpc1BhbmVsT3B0aW9uID0gIXRoaXMuaXNOb1Jlc3VsdE9wdGlvbigpICYmICEhdGhpcy5zZWFyY2hQYW5lbC5wYW5lbCAmJiAhIXRoaXMuc2VhcmNoUGFuZWwucGFuZWwubmF0aXZlRWxlbWVudC5jb250YWlucyhjbGlja1RhcmdldCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzUGFuZWxPcHRpb247XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc05vUmVzdWx0T3B0aW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWFyY2hQYW5lbD8ucmVzdWx0cz8ubGlzdCA/IHRoaXMuc2VhcmNoUGFuZWwucmVzdWx0cy5saXN0LmVudHJpZXMubGVuZ3RoID09PSAwIDogdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN1YnNjcmliZVRvQ2xvc2luZ0FjdGlvbnMoKTogU3Vic2NyaXB0aW9uIHtcbiAgICAgICAgY29uc3QgZmlyc3RTdGFibGUgPSB0aGlzLm5nWm9uZS5vblN0YWJsZS5hc09ic2VydmFibGUoKTtcbiAgICAgICAgY29uc3Qgb3B0aW9uQ2hhbmdlcyA9IHRoaXMuc2VhcmNoUGFuZWwua2V5UHJlc3NlZFN0cmVhbS5hc09ic2VydmFibGUoKTtcblxuICAgICAgICByZXR1cm4gbWVyZ2UoZmlyc3RTdGFibGUsIG9wdGlvbkNoYW5nZXMpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaFBhbmVsLnNldFZpc2liaWxpdHkoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucGFuZWxDbG9zaW5nQWN0aW9ucztcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHRoaXMuc2V0VmFsdWVBbmRDbG9zZShldmVudCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0VHJpZ2dlclZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdG9EaXNwbGF5ID0gdGhpcy5zZWFyY2hQYW5lbD8uZGlzcGxheVdpdGggPyB0aGlzLnNlYXJjaFBhbmVsLmRpc3BsYXlXaXRoKHZhbHVlKSA6IHZhbHVlO1xuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRvRGlzcGxheSAhPSBudWxsID8gdG9EaXNwbGF5IDogJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRWYWx1ZUFuZENsb3NlKGV2ZW50OiBhbnkgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzUGFuZWxPcHRpb25DbGlja2VkKGV2ZW50KSAmJiAhZXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICAgICAgdGhpcy5zZXRUcmlnZ2VyVmFsdWUoZXZlbnQudGFyZ2V0LnRleHRDb250ZW50LnRyaW0oKSk7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKGV2ZW50LnRhcmdldC50ZXh0Q29udGVudC50cmltKCkpO1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNsb3NlUGFuZWwoKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,18 @@
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
+ export * from './public-api';
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL3NuYWNrYmFyLWNvbnRlbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=