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

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