@alfresco/adf-core 8.1.0-14485353256 → 8.1.0-14489297497

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (598) hide show
  1. package/api/lib/alfresco-api/alfresco-api.utils.d.ts +1 -1
  2. package/breadcrumbs/styles/_breadcrumb.theme.scss +4 -4
  3. package/custom-theme/material-theme.scss +4 -7
  4. package/custom-theme/theme/custom-theme-palettes.scss +8 -12
  5. package/custom-theme/theme/typography.scss +26 -26
  6. package/feature-flags/lib/providers/debug-feature-flags.provider.d.ts +4 -35
  7. package/fesm2022/adf-core.mjs +938 -956
  8. package/fesm2022/adf-core.mjs.map +1 -1
  9. package/fesm2022/alfresco-adf-core-api.mjs +3 -3
  10. package/fesm2022/alfresco-adf-core-auth.mjs +3 -3
  11. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs +10 -10
  12. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs.map +1 -1
  13. package/fesm2022/alfresco-adf-core-feature-flags.mjs +51 -56
  14. package/fesm2022/alfresco-adf-core-feature-flags.mjs.map +1 -1
  15. package/fesm2022/alfresco-adf-core-shell.mjs +8 -8
  16. package/fesm2022/alfresco-adf-core-shell.mjs.map +1 -1
  17. package/lib/card-view/components/base-card-view.d.ts +1 -1
  18. package/lib/datatable/data/data-table.schema.d.ts +1 -1
  19. package/lib/prebuilt-themes/adf-blue-orange.css +1 -1
  20. package/lib/prebuilt-themes/adf-blue-purple.css +1 -1
  21. package/lib/prebuilt-themes/adf-cyan-orange.css +1 -1
  22. package/lib/prebuilt-themes/adf-cyan-purple.css +1 -1
  23. package/lib/prebuilt-themes/adf-green-orange.css +1 -1
  24. package/lib/prebuilt-themes/adf-green-purple.css +1 -1
  25. package/lib/prebuilt-themes/adf-indigo-pink.css +1 -1
  26. package/lib/prebuilt-themes/adf-pink-bluegrey.css +1 -1
  27. package/lib/prebuilt-themes/adf-purple-green.css +1 -1
  28. package/lib/styles/_components-variables.scss +42 -42
  29. package/lib/styles/_index.scss +57 -57
  30. package/lib/styles/_typography.scss +13 -13
  31. package/lib/styles/prebuilt/adf-blue-orange.scss +7 -6
  32. package/lib/styles/prebuilt/adf-blue-purple.scss +7 -6
  33. package/lib/styles/prebuilt/adf-cyan-orange.scss +7 -6
  34. package/lib/styles/prebuilt/adf-cyan-purple.scss +7 -6
  35. package/lib/styles/prebuilt/adf-green-orange.scss +7 -6
  36. package/lib/styles/prebuilt/adf-green-purple.scss +7 -6
  37. package/lib/styles/prebuilt/adf-indigo-pink.scss +7 -6
  38. package/lib/styles/prebuilt/adf-pink-bluegrey.scss +7 -6
  39. package/lib/styles/prebuilt/adf-purple-green.scss +7 -6
  40. package/package.json +3 -15
  41. package/schematics/migrations/schematics/migrations/7_0_0/index.d.ts +1 -1
  42. package/schematics/migrations/schematics/migrations/7_0_0/index.js +2 -2
  43. package/schematics/migrations/schematics/migrations/7_0_0/index.js.map +1 -1
  44. package/esm2022/adf-core.mjs +0 -5
  45. package/esm2022/api/alfresco-adf-core-api.mjs +0 -5
  46. package/esm2022/api/index.mjs +0 -20
  47. package/esm2022/api/lib/adf-http-client.service.mjs +0 -311
  48. package/esm2022/api/lib/alfresco-api/alfresco-api.param-encoder.mjs +0 -33
  49. package/esm2022/api/lib/alfresco-api/alfresco-api.response-error.mjs +0 -25
  50. package/esm2022/api/lib/alfresco-api/alfresco-api.utils.mjs +0 -80
  51. package/esm2022/api/lib/interfaces.mjs +0 -18
  52. package/esm2022/api/lib/types.mjs +0 -18
  53. package/esm2022/auth/alfresco-adf-core-auth.mjs +0 -5
  54. package/esm2022/auth/authentication-interceptor/authentication.interceptor.mjs +0 -56
  55. package/esm2022/auth/authentication.mjs +0 -19
  56. package/esm2022/auth/index.mjs +0 -19
  57. package/esm2022/breadcrumbs/alfresco-adf-core-breadcrumbs.mjs +0 -5
  58. package/esm2022/breadcrumbs/components/breadcrumb/breadcrumb.component.mjs +0 -83
  59. package/esm2022/breadcrumbs/components/breadcrumb-item/breadcrumb-item.component.mjs +0 -42
  60. package/esm2022/breadcrumbs/directives/breadcrumb-focus.directive.mjs +0 -44
  61. package/esm2022/breadcrumbs/index.mjs +0 -19
  62. package/esm2022/feature-flags/alfresco-adf-core-feature-flags.mjs +0 -5
  63. package/esm2022/feature-flags/index.mjs +0 -29
  64. package/esm2022/feature-flags/lib/components/feature-flags-wrapper.mjs +0 -36
  65. package/esm2022/feature-flags/lib/components/feature-override-indicator.component.mjs +0 -56
  66. package/esm2022/feature-flags/lib/components/flags/flags.component.mjs +0 -130
  67. package/esm2022/feature-flags/lib/directives/features.directive.mjs +0 -63
  68. package/esm2022/feature-flags/lib/directives/not-features.directive.mjs +0 -63
  69. package/esm2022/feature-flags/lib/guards/is-feature-off.guard.mjs +0 -38
  70. package/esm2022/feature-flags/lib/guards/is-feature-on.guard.mjs +0 -38
  71. package/esm2022/feature-flags/lib/guards/is-flags-override-on.guard.mjs +0 -40
  72. package/esm2022/feature-flags/lib/interfaces/features.interface.mjs +0 -24
  73. package/esm2022/feature-flags/lib/mocks/features-service-mock.factory.mjs +0 -62
  74. package/esm2022/feature-flags/lib/providers/debug-feature-flags.provider.mjs +0 -51
  75. package/esm2022/feature-flags/lib/providers/dummy-feature-flags.provider.mjs +0 -36
  76. package/esm2022/feature-flags/lib/services/debug-features.service.mjs +0 -84
  77. package/esm2022/feature-flags/lib/services/dummy-features.service.mjs +0 -40
  78. package/esm2022/feature-flags/lib/services/flagset.parser.mjs +0 -38
  79. package/esm2022/feature-flags/lib/services/qa-features.helper.mjs +0 -62
  80. package/esm2022/feature-flags/lib/services/storage-features.service.mjs +0 -121
  81. package/esm2022/lib/about/about-extension-list/about-extension-list.component.mjs +0 -52
  82. package/esm2022/lib/about/about-license-list/about-license-list.component.mjs +0 -52
  83. package/esm2022/lib/about/about-module-list/module-list.component.mjs +0 -52
  84. package/esm2022/lib/about/about-package/package-list.component.mjs +0 -66
  85. package/esm2022/lib/about/about-panel.directive.mjs +0 -37
  86. package/esm2022/lib/about/about-repository-info/about-repository-info.component.mjs +0 -60
  87. package/esm2022/lib/about/about-repository-info/repository-info.interface.mjs +0 -18
  88. package/esm2022/lib/about/about-server-settings/about-server-settings.component.mjs +0 -43
  89. package/esm2022/lib/about/about-status-list/about-status-list.component.mjs +0 -52
  90. package/esm2022/lib/about/about.component.mjs +0 -35
  91. package/esm2022/lib/about/about.module.mjs +0 -75
  92. package/esm2022/lib/about/index.mjs +0 -18
  93. package/esm2022/lib/about/interfaces.mjs +0 -18
  94. package/esm2022/lib/about/public-api.mjs +0 -28
  95. package/esm2022/lib/app-config/app-config-storage-prefix.factory.mjs +0 -51
  96. package/esm2022/lib/app-config/app-config.loader.mjs +0 -37
  97. package/esm2022/lib/app-config/app-config.module.mjs +0 -33
  98. package/esm2022/lib/app-config/app-config.pipe.mjs +0 -38
  99. package/esm2022/lib/app-config/app-config.service.mjs +0 -243
  100. package/esm2022/lib/app-config/debug-app-config.service.mjs +0 -44
  101. package/esm2022/lib/app-config/index.mjs +0 -18
  102. package/esm2022/lib/app-config/public-api.mjs +0 -22
  103. package/esm2022/lib/auth/authentication-interceptor/auth-bearer.interceptor.mjs +0 -67
  104. package/esm2022/lib/auth/basic-auth/basic-alfresco-auth.service.mjs +0 -356
  105. package/esm2022/lib/auth/basic-auth/content-auth.mjs +0 -189
  106. package/esm2022/lib/auth/basic-auth/process-auth.mjs +0 -193
  107. package/esm2022/lib/auth/guard/auth-guard-bpm.service.mjs +0 -31
  108. package/esm2022/lib/auth/guard/auth-guard-ecm.service.mjs +0 -31
  109. package/esm2022/lib/auth/guard/auth-guard-sso-role.service.mjs +0 -57
  110. package/esm2022/lib/auth/guard/auth-guard.mjs +0 -53
  111. package/esm2022/lib/auth/guard/auth-guard.service.mjs +0 -113
  112. package/esm2022/lib/auth/index.mjs +0 -18
  113. package/esm2022/lib/auth/interfaces/authentication-service.interface.mjs +0 -18
  114. package/esm2022/lib/auth/interfaces/authentication.interface.mjs +0 -18
  115. package/esm2022/lib/auth/interfaces/identity-group.interface.mjs +0 -18
  116. package/esm2022/lib/auth/interfaces/identity-user.service.interface.mjs +0 -18
  117. package/esm2022/lib/auth/interfaces/openid-configuration.interface.mjs +0 -18
  118. package/esm2022/lib/auth/models/application-access.model.mjs +0 -18
  119. package/esm2022/lib/auth/models/identity-group.model.mjs +0 -18
  120. package/esm2022/lib/auth/models/identity-role.model.mjs +0 -30
  121. package/esm2022/lib/auth/models/identity-user.model.mjs +0 -18
  122. package/esm2022/lib/auth/models/oauth-config.model.mjs +0 -18
  123. package/esm2022/lib/auth/models/redirection.model.mjs +0 -28
  124. package/esm2022/lib/auth/models/user-access.model.mjs +0 -18
  125. package/esm2022/lib/auth/oidc/auth-config.mjs +0 -19
  126. package/esm2022/lib/auth/oidc/auth-config.service.mjs +0 -110
  127. package/esm2022/lib/auth/oidc/auth-routing.module.mjs +0 -34
  128. package/esm2022/lib/auth/oidc/auth.module.mjs +0 -112
  129. package/esm2022/lib/auth/oidc/auth.service.mjs +0 -22
  130. package/esm2022/lib/auth/oidc/oidc-auth.guard.mjs +0 -37
  131. package/esm2022/lib/auth/oidc/oidc-authentication.service.mjs +0 -202
  132. package/esm2022/lib/auth/oidc/public-api.mjs +0 -24
  133. package/esm2022/lib/auth/oidc/redirect-auth.service.mjs +0 -267
  134. package/esm2022/lib/auth/oidc/retry-login.service.mjs +0 -66
  135. package/esm2022/lib/auth/oidc/token.interceptor.mjs +0 -62
  136. package/esm2022/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.mjs +0 -31
  137. package/esm2022/lib/auth/public-api.mjs +0 -44
  138. package/esm2022/lib/auth/services/authentication.service.mjs +0 -190
  139. package/esm2022/lib/auth/services/base-authentication.service.mjs +0 -99
  140. package/esm2022/lib/auth/services/identity-group.service.mjs +0 -269
  141. package/esm2022/lib/auth/services/identity-role.service.mjs +0 -99
  142. package/esm2022/lib/auth/services/identity-user.service.mjs +0 -443
  143. package/esm2022/lib/auth/services/jwt-helper.service.mjs +0 -205
  144. package/esm2022/lib/auth/services/oauth2.service.mjs +0 -69
  145. package/esm2022/lib/auth/services/time-sync.service.mjs +0 -83
  146. package/esm2022/lib/auth/services/user-access.service.mjs +0 -110
  147. package/esm2022/lib/avatar/avatar.component.mjs +0 -51
  148. package/esm2022/lib/blank-page/blank-page.component.mjs +0 -31
  149. package/esm2022/lib/blank-page/blank-page.module.mjs +0 -33
  150. package/esm2022/lib/blank-page/index.mjs +0 -18
  151. package/esm2022/lib/blank-page/public-api.mjs +0 -19
  152. package/esm2022/lib/button/button.component.mjs +0 -61
  153. package/esm2022/lib/card-view/card-view.module.mjs +0 -80
  154. package/esm2022/lib/card-view/components/base-card-view.mjs +0 -51
  155. package/esm2022/lib/card-view/components/card-view/card-view.component.mjs +0 -66
  156. package/esm2022/lib/card-view/components/card-view-arrayitem/card-view-arrayitem.component.mjs +0 -56
  157. package/esm2022/lib/card-view/components/card-view-boolitem/card-view-boolitem.component.mjs +0 -40
  158. package/esm2022/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.mjs +0 -177
  159. package/esm2022/lib/card-view/components/card-view-item-dispatcher/card-view-item-dispatcher.component.mjs +0 -108
  160. package/esm2022/lib/card-view/components/card-view-keyvaluepairsitem/card-view-keyvaluepairsitem.component.mjs +0 -65
  161. package/esm2022/lib/card-view/components/card-view-mapitem/card-view-mapitem.component.mjs +0 -47
  162. package/esm2022/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.mjs +0 -138
  163. package/esm2022/lib/card-view/components/card-view-selectitem/select-filter-input/select-filter-input.component.mjs +0 -114
  164. package/esm2022/lib/card-view/components/card-view-textitem/card-view-textitem.component.mjs +0 -240
  165. package/esm2022/lib/card-view/components/card-view.components.mjs +0 -28
  166. package/esm2022/lib/card-view/index.mjs +0 -18
  167. package/esm2022/lib/card-view/interfaces/base-card-view-update.interface.mjs +0 -18
  168. package/esm2022/lib/card-view/interfaces/card-view-arrayitem-properties.interface.mjs +0 -18
  169. package/esm2022/lib/card-view/interfaces/card-view-boolitem-properties.interface.mjs +0 -18
  170. package/esm2022/lib/card-view/interfaces/card-view-dateitem-properties.interface.mjs +0 -18
  171. package/esm2022/lib/card-view/interfaces/card-view-item-properties.interface.mjs +0 -18
  172. package/esm2022/lib/card-view/interfaces/card-view-item-validator.interface.mjs +0 -18
  173. package/esm2022/lib/card-view/interfaces/card-view-item.interface.mjs +0 -18
  174. package/esm2022/lib/card-view/interfaces/card-view-keyvaluepairsitem-properties.interface.mjs +0 -18
  175. package/esm2022/lib/card-view/interfaces/card-view-selectitem-properties.interface.mjs +0 -18
  176. package/esm2022/lib/card-view/interfaces/card-view-textitem-pipe-property.interface.mjs +0 -18
  177. package/esm2022/lib/card-view/interfaces/card-view-textitem-properties.interface.mjs +0 -18
  178. package/esm2022/lib/card-view/interfaces/card-view.interfaces.mjs +0 -29
  179. package/esm2022/lib/card-view/interfaces/click-notification.interface.mjs +0 -18
  180. package/esm2022/lib/card-view/interfaces/update-notification.interface.mjs +0 -18
  181. package/esm2022/lib/card-view/models/card-view-arrayitem.model.mjs +0 -28
  182. package/esm2022/lib/card-view/models/card-view-baseitem.model.mjs +0 -64
  183. package/esm2022/lib/card-view/models/card-view-boolitem.model.mjs +0 -36
  184. package/esm2022/lib/card-view/models/card-view-dateitem.model.mjs +0 -58
  185. package/esm2022/lib/card-view/models/card-view-datetimeitem.model.mjs +0 -28
  186. package/esm2022/lib/card-view/models/card-view-floatitem.model.mjs +0 -33
  187. package/esm2022/lib/card-view/models/card-view-intitem.model.mjs +0 -36
  188. package/esm2022/lib/card-view/models/card-view-keyvaluepairs.model.mjs +0 -27
  189. package/esm2022/lib/card-view/models/card-view-longitem.model.mjs +0 -36
  190. package/esm2022/lib/card-view/models/card-view-mapitem.model.mjs +0 -32
  191. package/esm2022/lib/card-view/models/card-view-selectitem.model.mjs +0 -41
  192. package/esm2022/lib/card-view/models/card-view-textitem.model.mjs +0 -40
  193. package/esm2022/lib/card-view/models/card-view.models.mjs +0 -29
  194. package/esm2022/lib/card-view/public-api.mjs +0 -25
  195. package/esm2022/lib/card-view/services/card-item-types.service.mjs +0 -54
  196. package/esm2022/lib/card-view/services/card-view-update.service.mjs +0 -59
  197. package/esm2022/lib/card-view/services/card-view.services.mjs +0 -19
  198. package/esm2022/lib/card-view/validators/card-view-item-float.validator.mjs +0 -31
  199. package/esm2022/lib/card-view/validators/card-view-item-int.validator.mjs +0 -35
  200. package/esm2022/lib/card-view/validators/card-view-item-length.validator.mjs +0 -34
  201. package/esm2022/lib/card-view/validators/card-view-item-long.validator.mjs +0 -35
  202. package/esm2022/lib/card-view/validators/card-view-item-match.validator.mjs +0 -35
  203. package/esm2022/lib/card-view/validators/card-view-item-minmax.validator.mjs +0 -35
  204. package/esm2022/lib/card-view/validators/card-view-item-only-positive-int.validator.mjs +0 -32
  205. package/esm2022/lib/card-view/validators/card-view-item-only-positive-long.validator.mjs +0 -31
  206. package/esm2022/lib/card-view/validators/card-view.validators.mjs +0 -26
  207. package/esm2022/lib/card-view/validators/validators.map.mjs +0 -26
  208. package/esm2022/lib/clipboard/clipboard.directive.mjs +0 -99
  209. package/esm2022/lib/clipboard/clipboard.module.mjs +0 -34
  210. package/esm2022/lib/clipboard/clipboard.service.mjs +0 -103
  211. package/esm2022/lib/clipboard/index.mjs +0 -18
  212. package/esm2022/lib/clipboard/public-api.mjs +0 -21
  213. package/esm2022/lib/comments/comment-list/comment-list.component.mjs +0 -53
  214. package/esm2022/lib/comments/comment-list/comment-list.module.mjs +0 -33
  215. package/esm2022/lib/comments/comment-list/index.mjs +0 -18
  216. package/esm2022/lib/comments/comment-list/public-api.mjs +0 -19
  217. package/esm2022/lib/comments/comments.component.mjs +0 -128
  218. package/esm2022/lib/comments/comments.module.mjs +0 -33
  219. package/esm2022/lib/comments/index.mjs +0 -18
  220. package/esm2022/lib/comments/interfaces/comments-service.interface.mjs +0 -18
  221. package/esm2022/lib/comments/interfaces/comments.token.mjs +0 -19
  222. package/esm2022/lib/comments/public-api.mjs +0 -22
  223. package/esm2022/lib/common/index.mjs +0 -35
  224. package/esm2022/lib/common/interface/search-component.interface.mjs +0 -18
  225. package/esm2022/lib/common/mock/app-config.service.mock.mjs +0 -47
  226. package/esm2022/lib/common/models/default-languages.model.mjs +0 -36
  227. package/esm2022/lib/common/models/log-levels.model.mjs +0 -33
  228. package/esm2022/lib/common/models/user-info-mode.enum.mjs +0 -25
  229. package/esm2022/lib/common/services/cookie.service.mjs +0 -82
  230. package/esm2022/lib/common/services/download.service.mjs +0 -102
  231. package/esm2022/lib/common/services/dynamic-component-mapper.service.mjs +0 -89
  232. package/esm2022/lib/common/services/highlight-transform.service.mjs +0 -61
  233. package/esm2022/lib/common/services/language-item.interface.mjs +0 -18
  234. package/esm2022/lib/common/services/log.service.mjs +0 -171
  235. package/esm2022/lib/common/services/page-title.service.mjs +0 -63
  236. package/esm2022/lib/common/services/sort-by-category.service.mjs +0 -81
  237. package/esm2022/lib/common/services/storage.service.mjs +0 -143
  238. package/esm2022/lib/common/services/thumbnail.service.mjs +0 -194
  239. package/esm2022/lib/common/services/url.service.mjs +0 -45
  240. package/esm2022/lib/common/services/user-preferences.service.mjs +0 -238
  241. package/esm2022/lib/common/utils/date-fns-adapter.mjs +0 -115
  242. package/esm2022/lib/common/utils/date-fns-utils.mjs +0 -222
  243. package/esm2022/lib/common/utils/datetime-fns-adapter.mjs +0 -134
  244. package/esm2022/lib/common/utils/file-utils.mjs +0 -65
  245. package/esm2022/lib/common/utils/index.mjs +0 -18
  246. package/esm2022/lib/common/utils/moment-date-adapter.mjs +0 -202
  247. package/esm2022/lib/common/utils/moment-date-formats.model.mjs +0 -32
  248. package/esm2022/lib/common/utils/object-utils.mjs +0 -107
  249. package/esm2022/lib/common/utils/public-api.mjs +0 -25
  250. package/esm2022/lib/common/utils/string-utils.mjs +0 -45
  251. package/esm2022/lib/context-menu/animations.mjs +0 -33
  252. package/esm2022/lib/context-menu/context-menu-list.component.mjs +0 -92
  253. package/esm2022/lib/context-menu/context-menu-overlay.mjs +0 -25
  254. package/esm2022/lib/context-menu/context-menu-overlay.service.mjs +0 -109
  255. package/esm2022/lib/context-menu/context-menu.directive.mjs +0 -63
  256. package/esm2022/lib/context-menu/context-menu.module.mjs +0 -35
  257. package/esm2022/lib/context-menu/context-menu.tokens.mjs +0 -19
  258. package/esm2022/lib/context-menu/index.mjs +0 -18
  259. package/esm2022/lib/context-menu/interfaces.mjs +0 -18
  260. package/esm2022/lib/context-menu/public-api.mjs +0 -21
  261. package/esm2022/lib/core.module.mjs +0 -314
  262. package/esm2022/lib/datatable/components/amount-cell/amount-cell.component.mjs +0 -45
  263. package/esm2022/lib/datatable/components/boolean-cell/boolean-cell.component.mjs +0 -65
  264. package/esm2022/lib/datatable/components/columns-selector/columns-search-filter.pipe.mjs +0 -55
  265. package/esm2022/lib/datatable/components/columns-selector/columns-selector.component.mjs +0 -114
  266. package/esm2022/lib/datatable/components/data-cell.event.mjs +0 -31
  267. package/esm2022/lib/datatable/components/data-row-action.event.mjs +0 -34
  268. package/esm2022/lib/datatable/components/datatable/datatable.component.mjs +0 -915
  269. package/esm2022/lib/datatable/components/datatable-cell/datatable-cell.component.mjs +0 -126
  270. package/esm2022/lib/datatable/components/datatable-row/datatable-row.component.mjs +0 -98
  271. package/esm2022/lib/datatable/components/date-cell/date-cell.component.mjs +0 -78
  272. package/esm2022/lib/datatable/components/empty-list/empty-list.component.mjs +0 -60
  273. package/esm2022/lib/datatable/components/filesize-cell/filesize-cell.component.mjs +0 -49
  274. package/esm2022/lib/datatable/components/icon-cell/icon-cell.component.mjs +0 -67
  275. package/esm2022/lib/datatable/components/json-cell/json-cell.component.mjs +0 -86
  276. package/esm2022/lib/datatable/components/location-cell/location-cell.component.mjs +0 -69
  277. package/esm2022/lib/datatable/components/mocks/datatable.mock.mjs +0 -153
  278. package/esm2022/lib/datatable/components/number-cell/number-cell.component.mjs +0 -42
  279. package/esm2022/lib/datatable/data/data-column.model.mjs +0 -18
  280. package/esm2022/lib/datatable/data/data-row-event.model.mjs +0 -26
  281. package/esm2022/lib/datatable/data/data-row-update.model.mjs +0 -18
  282. package/esm2022/lib/datatable/data/data-row.model.mjs +0 -18
  283. package/esm2022/lib/datatable/data/data-sorting.model.mjs +0 -24
  284. package/esm2022/lib/datatable/data/data-table.schema.mjs +0 -132
  285. package/esm2022/lib/datatable/data/datatable-adapter.mjs +0 -18
  286. package/esm2022/lib/datatable/data/object-datacolumn.model.mjs +0 -46
  287. package/esm2022/lib/datatable/data/object-datarow.model.mjs +0 -38
  288. package/esm2022/lib/datatable/data/object-datatable-adapter.mjs +0 -134
  289. package/esm2022/lib/datatable/data-column/data-column-header.component.mjs +0 -45
  290. package/esm2022/lib/datatable/data-column/data-column-list.component.mjs +0 -36
  291. package/esm2022/lib/datatable/data-column/data-column.component.mjs +0 -114
  292. package/esm2022/lib/datatable/data-column/index.mjs +0 -18
  293. package/esm2022/lib/datatable/data-column/public-api.mjs +0 -20
  294. package/esm2022/lib/datatable/datatable.module.mjs +0 -161
  295. package/esm2022/lib/datatable/directives/custom-empty-content-template.directive.mjs +0 -35
  296. package/esm2022/lib/datatable/directives/custom-loading-template.directive.mjs +0 -30
  297. package/esm2022/lib/datatable/directives/custom-no-permission-template.directive.mjs +0 -35
  298. package/esm2022/lib/datatable/directives/drop-zone.directive.mjs +0 -89
  299. package/esm2022/lib/datatable/directives/header-filter-template.directive.mjs +0 -43
  300. package/esm2022/lib/datatable/directives/loading-template.directive.mjs +0 -46
  301. package/esm2022/lib/datatable/directives/main-data-table-action-template.directive.mjs +0 -43
  302. package/esm2022/lib/datatable/directives/no-content-template.directive.mjs +0 -46
  303. package/esm2022/lib/datatable/directives/no-permission-template.directive.mjs +0 -46
  304. package/esm2022/lib/datatable/directives/resizable/resizable.directive.mjs +0 -173
  305. package/esm2022/lib/datatable/directives/resizable/resize-handle.directive.mjs +0 -72
  306. package/esm2022/lib/datatable/directives/resizable/types.mjs +0 -18
  307. package/esm2022/lib/datatable/index.mjs +0 -18
  308. package/esm2022/lib/datatable/public-api.mjs +0 -55
  309. package/esm2022/lib/datatable/services/datatable.service.mjs +0 -33
  310. package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.mjs +0 -50
  311. package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.module.mjs +0 -38
  312. package/esm2022/lib/dialogs/dialog/dialog-data.interface.mjs +0 -18
  313. package/esm2022/lib/dialogs/dialog/dialog.component.mjs +0 -71
  314. package/esm2022/lib/dialogs/dialog/dialog.model.mjs +0 -22
  315. package/esm2022/lib/dialogs/dialog/index.mjs +0 -20
  316. package/esm2022/lib/dialogs/edit-json/edit-json.dialog.mjs +0 -51
  317. package/esm2022/lib/dialogs/edit-json/edit-json.dialog.module.mjs +0 -38
  318. package/esm2022/lib/dialogs/index.mjs +0 -18
  319. package/esm2022/lib/dialogs/public-api.mjs +0 -25
  320. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +0 -74
  321. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.model.mjs +0 -18
  322. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +0 -33
  323. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes.guard.mjs +0 -64
  324. package/esm2022/lib/directives/directive.module.mjs +0 -56
  325. package/esm2022/lib/directives/highlight.directive.mjs +0 -67
  326. package/esm2022/lib/directives/index.mjs +0 -18
  327. package/esm2022/lib/directives/infinite-select-scroll.directive.mjs +0 -67
  328. package/esm2022/lib/directives/logout.directive.mjs +0 -72
  329. package/esm2022/lib/directives/public-api.mjs +0 -24
  330. package/esm2022/lib/directives/tooltip-card/tooltip-card.component.mjs +0 -60
  331. package/esm2022/lib/directives/tooltip-card/tooltip-card.directive.mjs +0 -104
  332. package/esm2022/lib/directives/upload.directive.mjs +0 -241
  333. package/esm2022/lib/dynamic-chip-list/chip.mjs +0 -18
  334. package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.component.mjs +0 -205
  335. package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.module.mjs +0 -33
  336. package/esm2022/lib/dynamic-chip-list/index.mjs +0 -18
  337. package/esm2022/lib/dynamic-chip-list/public-api.mjs +0 -20
  338. package/esm2022/lib/events/base-ui.event.mjs +0 -21
  339. package/esm2022/lib/events/base.event.mjs +0 -29
  340. package/esm2022/lib/events/index.mjs +0 -18
  341. package/esm2022/lib/events/public-api.mjs +0 -19
  342. package/esm2022/lib/form/components/form-base.component.mjs +0 -229
  343. package/esm2022/lib/form/components/form-custom-button.directive.mjs +0 -30
  344. package/esm2022/lib/form/components/form-field/form-field.component.mjs +0 -142
  345. package/esm2022/lib/form/components/form-renderer.component.mjs +0 -171
  346. package/esm2022/lib/form/components/form-section/form-section.component.mjs +0 -46
  347. package/esm2022/lib/form/components/inplace-form-input/inplace-form-input.component.mjs +0 -37
  348. package/esm2022/lib/form/components/middlewares/decimal-middleware.service.mjs +0 -48
  349. package/esm2022/lib/form/components/middlewares/middleware.mjs +0 -19
  350. package/esm2022/lib/form/components/widgets/amount/amount.widget.mjs +0 -78
  351. package/esm2022/lib/form/components/widgets/base-viewer/base-viewer.widget.mjs +0 -60
  352. package/esm2022/lib/form/components/widgets/checkbox/checkbox.widget.mjs +0 -53
  353. package/esm2022/lib/form/components/widgets/core/container-column.model.mjs +0 -28
  354. package/esm2022/lib/form/components/widgets/core/container.model.mjs +0 -50
  355. package/esm2022/lib/form/components/widgets/core/content-link.model.mjs +0 -52
  356. package/esm2022/lib/form/components/widgets/core/displayable-cm-properties.model.mjs +0 -18
  357. package/esm2022/lib/form/components/widgets/core/error-message.model.mjs +0 -38
  358. package/esm2022/lib/form/components/widgets/core/external-content-link.mjs +0 -18
  359. package/esm2022/lib/form/components/widgets/core/external-content.mjs +0 -18
  360. package/esm2022/lib/form/components/widgets/core/form-field-file-source.mjs +0 -18
  361. package/esm2022/lib/form/components/widgets/core/form-field-metadata.mjs +0 -18
  362. package/esm2022/lib/form/components/widgets/core/form-field-option.mjs +0 -18
  363. package/esm2022/lib/form/components/widgets/core/form-field-rule.mjs +0 -18
  364. package/esm2022/lib/form/components/widgets/core/form-field-selected-folder.mjs +0 -18
  365. package/esm2022/lib/form/components/widgets/core/form-field-templates.mjs +0 -18
  366. package/esm2022/lib/form/components/widgets/core/form-field-types.mjs +0 -74
  367. package/esm2022/lib/form/components/widgets/core/form-field-utils.mjs +0 -23
  368. package/esm2022/lib/form/components/widgets/core/form-field-validator.mjs +0 -268
  369. package/esm2022/lib/form/components/widgets/core/form-field-variable-options.mjs +0 -18
  370. package/esm2022/lib/form/components/widgets/core/form-field.model.mjs +0 -482
  371. package/esm2022/lib/form/components/widgets/core/form-outcome-event.model.mjs +0 -32
  372. package/esm2022/lib/form/components/widgets/core/form-outcome.model.mjs +0 -38
  373. package/esm2022/lib/form/components/widgets/core/form-values.mjs +0 -18
  374. package/esm2022/lib/form/components/widgets/core/form-variable.model.mjs +0 -18
  375. package/esm2022/lib/form/components/widgets/core/form-widget.model.mjs +0 -33
  376. package/esm2022/lib/form/components/widgets/core/form.model.mjs +0 -384
  377. package/esm2022/lib/form/components/widgets/core/group.model.mjs +0 -18
  378. package/esm2022/lib/form/components/widgets/core/index.mjs +0 -49
  379. package/esm2022/lib/form/components/widgets/core/predefined-theme.mjs +0 -115
  380. package/esm2022/lib/form/components/widgets/core/process-form-model.interface.mjs +0 -18
  381. package/esm2022/lib/form/components/widgets/core/process-variable.model.mjs +0 -18
  382. package/esm2022/lib/form/components/widgets/core/tab.model.mjs +0 -34
  383. package/esm2022/lib/form/components/widgets/core/theme.model.mjs +0 -18
  384. package/esm2022/lib/form/components/widgets/core/upload-widget-content-link.model.mjs +0 -27
  385. package/esm2022/lib/form/components/widgets/core/widget-schema.model.mjs +0 -18
  386. package/esm2022/lib/form/components/widgets/date/date.widget.mjs +0 -163
  387. package/esm2022/lib/form/components/widgets/date-time/date-time.widget.mjs +0 -154
  388. package/esm2022/lib/form/components/widgets/decimal/decimal.component.mjs +0 -54
  389. package/esm2022/lib/form/components/widgets/display-text/display-text.schema.mjs +0 -86
  390. package/esm2022/lib/form/components/widgets/display-text/display-text.widget.mjs +0 -47
  391. package/esm2022/lib/form/components/widgets/display-text/index.mjs +0 -19
  392. package/esm2022/lib/form/components/widgets/error/error.component.mjs +0 -93
  393. package/esm2022/lib/form/components/widgets/header/header.schema.mjs +0 -86
  394. package/esm2022/lib/form/components/widgets/header/header.widget.mjs +0 -43
  395. package/esm2022/lib/form/components/widgets/header/index.mjs +0 -19
  396. package/esm2022/lib/form/components/widgets/hyperlink/hyperlink.widget.mjs +0 -71
  397. package/esm2022/lib/form/components/widgets/index.mjs +0 -71
  398. package/esm2022/lib/form/components/widgets/json/json.widget.mjs +0 -67
  399. package/esm2022/lib/form/components/widgets/multiline-text/multiline-text.widget.mjs +0 -56
  400. package/esm2022/lib/form/components/widgets/number/number.widget.mjs +0 -66
  401. package/esm2022/lib/form/components/widgets/reactive-widget.interface.mjs +0 -18
  402. package/esm2022/lib/form/components/widgets/text/text-mask.component.mjs +0 -215
  403. package/esm2022/lib/form/components/widgets/text/text.widget.mjs +0 -66
  404. package/esm2022/lib/form/components/widgets/unknown/unknown.widget.mjs +0 -63
  405. package/esm2022/lib/form/components/widgets/widget.component.mjs +0 -110
  406. package/esm2022/lib/form/events/form-error.event.mjs +0 -24
  407. package/esm2022/lib/form/events/form-field.event.mjs +0 -24
  408. package/esm2022/lib/form/events/form-rules.event.mjs +0 -25
  409. package/esm2022/lib/form/events/form-spinner.event.mjs +0 -23
  410. package/esm2022/lib/form/events/form.event.mjs +0 -29
  411. package/esm2022/lib/form/events/index.mjs +0 -24
  412. package/esm2022/lib/form/events/validate-form-field.event.mjs +0 -24
  413. package/esm2022/lib/form/events/validate-form.event.mjs +0 -25
  414. package/esm2022/lib/form/form-base.module.mjs +0 -90
  415. package/esm2022/lib/form/index.mjs +0 -18
  416. package/esm2022/lib/form/models/form-rules.model.mjs +0 -77
  417. package/esm2022/lib/form/models/task-process-variable.model.mjs +0 -19
  418. package/esm2022/lib/form/models/widget-visibility.model.mjs +0 -104
  419. package/esm2022/lib/form/pipes/field-style.pipe.mjs +0 -45
  420. package/esm2022/lib/form/pipes/index.mjs +0 -18
  421. package/esm2022/lib/form/public-api.mjs +0 -34
  422. package/esm2022/lib/form/services/form-rendering.service.mjs +0 -53
  423. package/esm2022/lib/form/services/form-validation-service.interface.mjs +0 -18
  424. package/esm2022/lib/form/services/form.service.mjs +0 -86
  425. package/esm2022/lib/form/services/widget-visibility.service.mjs +0 -294
  426. package/esm2022/lib/header/header.component.mjs +0 -73
  427. package/esm2022/lib/header/index.mjs +0 -18
  428. package/esm2022/lib/header/navbar/navbar-item.component.mjs +0 -37
  429. package/esm2022/lib/header/navbar/navbar.component.mjs +0 -36
  430. package/esm2022/lib/header/public-api.mjs +0 -20
  431. package/esm2022/lib/icon/icon.component.mjs +0 -51
  432. package/esm2022/lib/icon/icon.module.mjs +0 -36
  433. package/esm2022/lib/icon/index.mjs +0 -18
  434. package/esm2022/lib/icon/public-api.mjs +0 -19
  435. package/esm2022/lib/identity-user-info/identity-user-info.component.mjs +0 -87
  436. package/esm2022/lib/identity-user-info/identity-user-info.module.mjs +0 -33
  437. package/esm2022/lib/identity-user-info/index.mjs +0 -18
  438. package/esm2022/lib/identity-user-info/public-api.mjs +0 -19
  439. package/esm2022/lib/info-drawer/index.mjs +0 -18
  440. package/esm2022/lib/info-drawer/info-drawer-layout.component.mjs +0 -71
  441. package/esm2022/lib/info-drawer/info-drawer.component.mjs +0 -114
  442. package/esm2022/lib/info-drawer/info-drawer.module.mjs +0 -53
  443. package/esm2022/lib/info-drawer/public-api.mjs +0 -20
  444. package/esm2022/lib/interface/index.mjs +0 -18
  445. package/esm2022/lib/interface/injection.tokens.mjs +0 -19
  446. package/esm2022/lib/interface/public-api.mjs +0 -18
  447. package/esm2022/lib/language-menu/index.mjs +0 -18
  448. package/esm2022/lib/language-menu/language-menu.component.mjs +0 -61
  449. package/esm2022/lib/language-menu/language-menu.module.mjs +0 -35
  450. package/esm2022/lib/language-menu/language-picker.component.mjs +0 -78
  451. package/esm2022/lib/language-menu/public-api.mjs +0 -21
  452. package/esm2022/lib/language-menu/service/language.service.interface.mjs +0 -18
  453. package/esm2022/lib/language-menu/service/language.service.mjs +0 -34
  454. package/esm2022/lib/layout/components/header/header.component.mjs +0 -100
  455. package/esm2022/lib/layout/components/layout-container/layout-container.component.mjs +0 -180
  456. package/esm2022/lib/layout/components/sidebar-action/sidebar-action-menu.component.mjs +0 -82
  457. package/esm2022/lib/layout/components/sidenav-layout/sidenav-layout.component.mjs +0 -145
  458. package/esm2022/lib/layout/directives/sidenav-layout-content.directive.mjs +0 -33
  459. package/esm2022/lib/layout/directives/sidenav-layout-header.directive.mjs +0 -33
  460. package/esm2022/lib/layout/directives/sidenav-layout-navigation.directive.mjs +0 -33
  461. package/esm2022/lib/layout/index.mjs +0 -18
  462. package/esm2022/lib/layout/layout.module.mjs +0 -72
  463. package/esm2022/lib/layout/public-api.mjs +0 -25
  464. package/esm2022/lib/login/components/login/login.component.mjs +0 -368
  465. package/esm2022/lib/login/components/login-dialog/login-dialog-component-data.interface.mjs +0 -18
  466. package/esm2022/lib/login/components/login-dialog/login-dialog.component.mjs +0 -58
  467. package/esm2022/lib/login/components/login-dialog-panel/login-dialog-panel.component.mjs +0 -48
  468. package/esm2022/lib/login/directives/login-footer.directive.mjs +0 -41
  469. package/esm2022/lib/login/directives/login-header.directive.mjs +0 -41
  470. package/esm2022/lib/login/index.mjs +0 -18
  471. package/esm2022/lib/login/login.module.mjs +0 -54
  472. package/esm2022/lib/login/models/login-error.event.mjs +0 -22
  473. package/esm2022/lib/login/models/login-submit.event.mjs +0 -32
  474. package/esm2022/lib/login/models/login-success.event.mjs +0 -24
  475. package/esm2022/lib/login/public-api.mjs +0 -27
  476. package/esm2022/lib/material.module.mjs +0 -254
  477. package/esm2022/lib/mock/cookie.service.mock.mjs +0 -43
  478. package/esm2022/lib/mock/data-column.mock.mjs +0 -73
  479. package/esm2022/lib/mock/event.mock.mjs +0 -39
  480. package/esm2022/lib/mock/form/form-definition-readonly.mock.mjs +0 -225
  481. package/esm2022/lib/mock/form/form-definition-visibility.mock.mjs +0 -347
  482. package/esm2022/lib/mock/form/form-definition.mock.mjs +0 -403
  483. package/esm2022/lib/mock/form/form.component.mock.mjs +0 -275
  484. package/esm2022/lib/mock/form/form.service.mock.mjs +0 -248
  485. package/esm2022/lib/mock/form/widget-visibility.service.mock.mjs +0 -1835
  486. package/esm2022/lib/mock/index.mjs +0 -18
  487. package/esm2022/lib/mock/public-api.mjs +0 -27
  488. package/esm2022/lib/mock/translation.service.mock.mjs +0 -44
  489. package/esm2022/lib/models/comment.model.mjs +0 -51
  490. package/esm2022/lib/models/component.model.mjs +0 -24
  491. package/esm2022/lib/models/decimal-number.model.mjs +0 -26
  492. package/esm2022/lib/models/general-user.model.mjs +0 -24
  493. package/esm2022/lib/models/index.mjs +0 -18
  494. package/esm2022/lib/models/pagination.model.mjs +0 -29
  495. package/esm2022/lib/models/path.model.mjs +0 -24
  496. package/esm2022/lib/models/product-version.model.mjs +0 -28
  497. package/esm2022/lib/models/public-api.mjs +0 -24
  498. package/esm2022/lib/models/request-pagination.model.mjs +0 -25
  499. package/esm2022/lib/notifications/components/add-notification.stories.component.mjs +0 -44
  500. package/esm2022/lib/notifications/components/notification-history.component.mjs +0 -139
  501. package/esm2022/lib/notifications/helpers/notification.factory.mjs +0 -43
  502. package/esm2022/lib/notifications/index.mjs +0 -18
  503. package/esm2022/lib/notifications/models/notification.model.mjs +0 -25
  504. package/esm2022/lib/notifications/notification-history.module.mjs +0 -35
  505. package/esm2022/lib/notifications/public-api.mjs +0 -23
  506. package/esm2022/lib/notifications/services/notification.service.mjs +0 -166
  507. package/esm2022/lib/pagination/index.mjs +0 -18
  508. package/esm2022/lib/pagination/infinite-pagination.component.mjs +0 -112
  509. package/esm2022/lib/pagination/paginated-component.interface.mjs +0 -18
  510. package/esm2022/lib/pagination/pagination-component.interface.mjs +0 -18
  511. package/esm2022/lib/pagination/pagination.component.mjs +0 -263
  512. package/esm2022/lib/pagination/pagination.module.mjs +0 -35
  513. package/esm2022/lib/pagination/public-api.mjs +0 -22
  514. package/esm2022/lib/pipes/date-time.pipe.mjs +0 -46
  515. package/esm2022/lib/pipes/decimal-number.pipe.mjs +0 -78
  516. package/esm2022/lib/pipes/file-size.pipe.mjs +0 -54
  517. package/esm2022/lib/pipes/file-type.pipe.mjs +0 -40
  518. package/esm2022/lib/pipes/format-space.pipe.mjs +0 -39
  519. package/esm2022/lib/pipes/full-name.pipe.mjs +0 -43
  520. package/esm2022/lib/pipes/index.mjs +0 -18
  521. package/esm2022/lib/pipes/localized-date.pipe.mjs +0 -70
  522. package/esm2022/lib/pipes/multi-value.pipe.mjs +0 -37
  523. package/esm2022/lib/pipes/pipe.module.mjs +0 -83
  524. package/esm2022/lib/pipes/public-api.mjs +0 -30
  525. package/esm2022/lib/pipes/text-highlight.pipe.mjs +0 -39
  526. package/esm2022/lib/pipes/time-ago.pipe.mjs +0 -65
  527. package/esm2022/lib/pipes/truncate.pipe.mjs +0 -33
  528. package/esm2022/lib/pipes/user-initial.pipe.mjs +0 -52
  529. package/esm2022/lib/pipes/user-like.interface.mjs +0 -18
  530. package/esm2022/lib/progress/progress.component.mjs +0 -90
  531. package/esm2022/lib/search-text/animations.mjs +0 -32
  532. package/esm2022/lib/search-text/index.mjs +0 -18
  533. package/esm2022/lib/search-text/models/search-text-input.model.mjs +0 -23
  534. package/esm2022/lib/search-text/public-api.mjs +0 -22
  535. package/esm2022/lib/search-text/search-text-input.component.mjs +0 -294
  536. package/esm2022/lib/search-text/search-text-input.module.mjs +0 -35
  537. package/esm2022/lib/search-text/search-trigger.directive.mjs +0 -181
  538. package/esm2022/lib/snackbar-content/index.mjs +0 -18
  539. package/esm2022/lib/snackbar-content/public-api.mjs +0 -20
  540. package/esm2022/lib/snackbar-content/snack-bar-data.mjs +0 -18
  541. package/esm2022/lib/snackbar-content/snackbar-content.component.mjs +0 -48
  542. package/esm2022/lib/snackbar-content/snackbar-content.module.mjs +0 -38
  543. package/esm2022/lib/sorting-picker/index.mjs +0 -18
  544. package/esm2022/lib/sorting-picker/public-api.mjs +0 -18
  545. package/esm2022/lib/sorting-picker/sorting-picker.component.mjs +0 -68
  546. package/esm2022/lib/templates/empty-content/empty-content.component.mjs +0 -44
  547. package/esm2022/lib/templates/error-content/error-content.component.mjs +0 -62
  548. package/esm2022/lib/templates/index.mjs +0 -18
  549. package/esm2022/lib/templates/public-api.mjs +0 -20
  550. package/esm2022/lib/templates/template.module.mjs +0 -38
  551. package/esm2022/lib/testing/core.story.module.mjs +0 -39
  552. package/esm2022/lib/testing/core.testing.module.mjs +0 -35
  553. package/esm2022/lib/testing/index.mjs +0 -22
  554. package/esm2022/lib/testing/noop-auth.module.mjs +0 -80
  555. package/esm2022/lib/testing/noop-translate.module.mjs +0 -61
  556. package/esm2022/lib/testing/unit-testing-utils.mjs +0 -364
  557. package/esm2022/lib/toolbar/index.mjs +0 -18
  558. package/esm2022/lib/toolbar/public-api.mjs +0 -21
  559. package/esm2022/lib/toolbar/toolbar-divider.component.mjs +0 -27
  560. package/esm2022/lib/toolbar/toolbar-title.component.mjs +0 -32
  561. package/esm2022/lib/toolbar/toolbar.component.mjs +0 -40
  562. package/esm2022/lib/toolbar/toolbar.module.mjs +0 -36
  563. package/esm2022/lib/translation/index.mjs +0 -18
  564. package/esm2022/lib/translation/public-api.mjs +0 -19
  565. package/esm2022/lib/translation/translate-loader.service.mjs +0 -148
  566. package/esm2022/lib/translation/translation.service.mjs +0 -148
  567. package/esm2022/lib/viewer/components/download-prompt-dialog/download-prompt-dialog.component.mjs +0 -37
  568. package/esm2022/lib/viewer/components/img-viewer/img-viewer.component.mjs +0 -221
  569. package/esm2022/lib/viewer/components/media-player/media-player.component.mjs +0 -64
  570. package/esm2022/lib/viewer/components/pdf-viewer/pdf-viewer.component.mjs +0 -513
  571. package/esm2022/lib/viewer/components/pdf-viewer-password-dialog/pdf-viewer-password-dialog.mjs +0 -61
  572. package/esm2022/lib/viewer/components/pdf-viewer-thumb/pdf-viewer-thumb.component.mjs +0 -49
  573. package/esm2022/lib/viewer/components/pdf-viewer-thumbnails/pdf-viewer-thumbnails.component.mjs +0 -198
  574. package/esm2022/lib/viewer/components/txt-viewer/txt-viewer.component.mjs +0 -77
  575. package/esm2022/lib/viewer/components/unknown-format/unknown-format.component.mjs +0 -33
  576. package/esm2022/lib/viewer/components/viewer-more-actions.component.mjs +0 -34
  577. package/esm2022/lib/viewer/components/viewer-open-with.component.mjs +0 -34
  578. package/esm2022/lib/viewer/components/viewer-render/viewer-render.component.mjs +0 -211
  579. package/esm2022/lib/viewer/components/viewer-sidebar.component.mjs +0 -46
  580. package/esm2022/lib/viewer/components/viewer-toolbar-actions.component.mjs +0 -34
  581. package/esm2022/lib/viewer/components/viewer-toolbar-custom-actions.component.mjs +0 -34
  582. package/esm2022/lib/viewer/components/viewer-toolbar.component.mjs +0 -34
  583. package/esm2022/lib/viewer/components/viewer.component.mjs +0 -462
  584. package/esm2022/lib/viewer/directives/viewer-extension.directive.mjs +0 -67
  585. package/esm2022/lib/viewer/index.mjs +0 -18
  586. package/esm2022/lib/viewer/models/download-prompt.actions.mjs +0 -23
  587. package/esm2022/lib/viewer/models/viewer.model.mjs +0 -22
  588. package/esm2022/lib/viewer/public-api.mjs +0 -40
  589. package/esm2022/lib/viewer/services/rendering-queue.services.mjs +0 -179
  590. package/esm2022/lib/viewer/services/view-util.service.mjs +0 -149
  591. package/esm2022/lib/viewer/viewer.module.mjs +0 -112
  592. package/esm2022/public-api.mjs +0 -60
  593. package/esm2022/shell/alfresco-adf-core-shell.mjs +0 -5
  594. package/esm2022/shell/index.mjs +0 -20
  595. package/esm2022/shell/lib/components/shell/shell.component.mjs +0 -122
  596. package/esm2022/shell/lib/services/shell-app.service.mjs +0 -22
  597. package/esm2022/shell/lib/shell.module.mjs +0 -79
  598. package/esm2022/shell/lib/shell.routes.mjs +0 -25
@@ -1,229 +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 { Directive, EventEmitter, Input, Output } from '@angular/core';
18
- import { FormModel, FormOutcomeModel } from './widgets';
19
- import * as i0 from "@angular/core";
20
- // eslint-disable-next-line @angular-eslint/directive-class-suffix
21
- export class FormBaseComponent {
22
- constructor() {
23
- /** Toggle rendering of the form title. */
24
- this.showTitle = true;
25
- /** Toggle rendering of the `Complete` outcome button. */
26
- this.showCompleteButton = true;
27
- /** If true then the `Complete` outcome button is shown but it will be disabled. */
28
- this.disableCompleteButton = false;
29
- /** If true then the `Save` outcome button is shown but will be disabled. */
30
- this.disableSaveButton = false;
31
- /** If true then the `Start Process` outcome button is shown but it will be disabled. */
32
- this.disableStartProcessButton = false;
33
- /** Toggle rendering of the `Save` outcome button. */
34
- this.showSaveButton = true;
35
- /** Toggle readonly state of the form. Forces all form widgets to render as readonly if enabled. */
36
- this.readOnly = false;
37
- /** Toggle rendering of the `Refresh` button. */
38
- this.showRefreshButton = true;
39
- /** Toggle rendering of the validation icon next to the form title. */
40
- this.showValidationIcon = true;
41
- /** Emitted when the supplied form values have a validation error. */
42
- this.formError = new EventEmitter();
43
- /**
44
- * Emitted when any outcome is executed. Default behaviour can be prevented
45
- * via `event.preventDefault()`.
46
- */
47
- this.executeOutcome = new EventEmitter();
48
- /**
49
- * Emitted when any error occurs.
50
- */
51
- this.error = new EventEmitter();
52
- /**
53
- * Custom style that is backed by the form.theme.
54
- */
55
- this.formStyle = '';
56
- }
57
- static { this.SAVE_OUTCOME_ID = '$save'; }
58
- static { this.COMPLETE_OUTCOME_ID = '$complete'; }
59
- static { this.START_PROCESS_OUTCOME_ID = '$startProcess'; }
60
- static { this.CUSTOM_OUTCOME_ID = '$custom'; }
61
- static { this.COMPLETE_BUTTON_COLOR = 'primary'; }
62
- static { this.COMPLETE_OUTCOME_NAME = 'COMPLETE'; }
63
- get hasVisibleOutcomes() {
64
- return this.form?.outcomes?.some((outcome) => this.isOutcomeButtonVisible(outcome, this.form.readOnly));
65
- }
66
- get form() {
67
- return this._form;
68
- }
69
- /** Underlying form model instance. */
70
- set form(form) {
71
- this._form = form;
72
- if (form) {
73
- const theme = form.theme?.form;
74
- this.formStyle = theme ? this.flattenStyles(theme) : '';
75
- }
76
- else {
77
- this.formStyle = '';
78
- }
79
- }
80
- getParsedFormDefinition() {
81
- return this;
82
- }
83
- hasForm() {
84
- return !!this.form;
85
- }
86
- isTitleEnabled() {
87
- let titleEnabled = false;
88
- if (this.showTitle && this.form) {
89
- titleEnabled = true;
90
- }
91
- return titleEnabled;
92
- }
93
- getColorForOutcome(outcomeName) {
94
- return outcomeName === FormBaseComponent.COMPLETE_OUTCOME_NAME ? FormBaseComponent.COMPLETE_BUTTON_COLOR : null;
95
- }
96
- isOutcomeButtonEnabled(outcome) {
97
- if (this.form.readOnly) {
98
- return false;
99
- }
100
- if (outcome) {
101
- if (outcome.skipValidation) {
102
- return true;
103
- }
104
- if (outcome.name === FormOutcomeModel.SAVE_ACTION) {
105
- return !this.disableSaveButton;
106
- }
107
- if (outcome.name === FormOutcomeModel.COMPLETE_ACTION) {
108
- return this.disableCompleteButton ? false : this.form.isValid;
109
- }
110
- if (outcome.name === FormOutcomeModel.START_PROCESS_ACTION) {
111
- return this.disableStartProcessButton ? false : this.form.isValid;
112
- }
113
- return this.form.isValid;
114
- }
115
- return false;
116
- }
117
- isOutcomeButtonVisible(outcome, isFormReadOnly) {
118
- if (outcome?.name) {
119
- if (outcome.name === FormOutcomeModel.COMPLETE_ACTION) {
120
- return this.showCompleteButton;
121
- }
122
- if (isFormReadOnly) {
123
- return outcome.isSelected;
124
- }
125
- if (outcome.name === FormOutcomeModel.SAVE_ACTION) {
126
- return this.showSaveButton;
127
- }
128
- if (outcome.name === FormOutcomeModel.START_PROCESS_ACTION) {
129
- return false;
130
- }
131
- return true;
132
- }
133
- return false;
134
- }
135
- /**
136
- * Invoked when user clicks outcome button.
137
- *
138
- * @param outcome Form outcome model
139
- * @returns `true` if outcome button was clicked, otherwise `false`
140
- */
141
- onOutcomeClicked(outcome) {
142
- if (!this.readOnly && outcome && this.form) {
143
- if (!this.onExecuteOutcome(outcome)) {
144
- return false;
145
- }
146
- if (outcome.isSystem) {
147
- if (outcome.id === FormBaseComponent.SAVE_OUTCOME_ID) {
148
- this.disableSaveButton = true;
149
- this.saveTaskForm();
150
- return true;
151
- }
152
- if (outcome.id === FormBaseComponent.COMPLETE_OUTCOME_ID) {
153
- this.disableSaveButton = true;
154
- this.disableCompleteButton = true;
155
- this.completeTaskForm();
156
- return true;
157
- }
158
- if (outcome.id === FormBaseComponent.START_PROCESS_OUTCOME_ID) {
159
- this.completeTaskForm();
160
- return true;
161
- }
162
- if (outcome.id === FormBaseComponent.CUSTOM_OUTCOME_ID) {
163
- this.onTaskSaved(this.form);
164
- this.storeFormAsMetadata();
165
- return true;
166
- }
167
- }
168
- else {
169
- // Note: Activiti is using NAME field rather than ID for outcomes
170
- if (outcome.name) {
171
- this.completeTaskForm(outcome.name);
172
- return true;
173
- }
174
- }
175
- }
176
- return false;
177
- }
178
- handleError(err) {
179
- this.disableSaveButton = false;
180
- this.disableCompleteButton = false;
181
- this.error.emit(err);
182
- }
183
- flattenStyles(styles) {
184
- return Object.entries(styles)
185
- .map(([key, value]) => `${key}: ${value}`)
186
- .join(';');
187
- }
188
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: FormBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
189
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.3", type: FormBaseComponent, isStandalone: true, inputs: { path: "path", nameNode: "nameNode", showTitle: "showTitle", showCompleteButton: "showCompleteButton", disableCompleteButton: "disableCompleteButton", disableSaveButton: "disableSaveButton", disableStartProcessButton: "disableStartProcessButton", showSaveButton: "showSaveButton", readOnly: "readOnly", showRefreshButton: "showRefreshButton", showValidationIcon: "showValidationIcon", fieldValidators: "fieldValidators", form: "form" }, outputs: { formError: "formError", executeOutcome: "executeOutcome", error: "error" }, ngImport: i0 }); }
190
- }
191
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: FormBaseComponent, decorators: [{
192
- type: Directive,
193
- args: [{
194
- standalone: true
195
- }]
196
- }], propDecorators: { path: [{
197
- type: Input
198
- }], nameNode: [{
199
- type: Input
200
- }], showTitle: [{
201
- type: Input
202
- }], showCompleteButton: [{
203
- type: Input
204
- }], disableCompleteButton: [{
205
- type: Input
206
- }], disableSaveButton: [{
207
- type: Input
208
- }], disableStartProcessButton: [{
209
- type: Input
210
- }], showSaveButton: [{
211
- type: Input
212
- }], readOnly: [{
213
- type: Input
214
- }], showRefreshButton: [{
215
- type: Input
216
- }], showValidationIcon: [{
217
- type: Input
218
- }], fieldValidators: [{
219
- type: Input
220
- }], formError: [{
221
- type: Output
222
- }], executeOutcome: [{
223
- type: Output
224
- }], error: [{
225
- type: Output
226
- }], form: [{
227
- type: Input
228
- }] } });
229
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1iYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL2Zvcm0tYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQXNDLFNBQVMsRUFBb0IsZ0JBQWdCLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBSzlHLGtFQUFrRTtBQUNsRSxNQUFNLE9BQWdCLGlCQUFpQjtJQUp2QztRQXNCSSwwQ0FBMEM7UUFFMUMsY0FBUyxHQUFZLElBQUksQ0FBQztRQUUxQix5REFBeUQ7UUFFekQsdUJBQWtCLEdBQVksSUFBSSxDQUFDO1FBRW5DLG1GQUFtRjtRQUVuRiwwQkFBcUIsR0FBWSxLQUFLLENBQUM7UUFFdkMsNEVBQTRFO1FBRTVFLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUVuQyx3RkFBd0Y7UUFFeEYsOEJBQXlCLEdBQVksS0FBSyxDQUFDO1FBRTNDLHFEQUFxRDtRQUVyRCxtQkFBYyxHQUFZLElBQUksQ0FBQztRQUUvQixtR0FBbUc7UUFFbkcsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQixnREFBZ0Q7UUFFaEQsc0JBQWlCLEdBQVksSUFBSSxDQUFDO1FBRWxDLHNFQUFzRTtRQUV0RSx1QkFBa0IsR0FBWSxJQUFJLENBQUM7UUFNbkMscUVBQXFFO1FBRXJFLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUVqRDs7O1dBR0c7UUFFSCxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBRXREOztXQUVHO1FBRUgsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFaEM7O1dBRUc7UUFDSCxjQUFT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cUIsR0FBRyxLQUFLLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQWNPLGFBQWEsQ0FBQyxNQUFpQztRQUNuRCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO2FBQ3hCLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsS0FBSyxLQUFLLEVBQUUsQ0FBQzthQUN6QyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkIsQ0FBQzs4R0ExT2lCLGlCQUFpQjtrR0FBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4QkFjRyxJQUFJO3NCQURILEtBQUs7Z0JBS04sUUFBUTtzQkFEUCxLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBS04scUJBQXFCO3NCQURwQixLQUFLO2dCQUtOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFLTix5QkFBeUI7c0JBRHhCLEtBQUs7Z0JBS04sY0FBYztzQkFEYixLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSztnQkFLTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBS04sa0JBQWtCO3NCQURqQixLQUFLO2dCQUtOLGVBQWU7c0JBRGQsS0FBSztnQkFLTixTQUFTO3NCQURSLE1BQU07Z0JBUVAsY0FBYztzQkFEYixNQUFNO2dCQU9QLEtBQUs7c0JBREosTUFBTTtnQkFrQkgsSUFBSTtzQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBGb3JtRmllbGRNb2RlbCwgRm9ybUZpZWxkVmFsaWRhdG9yLCBGb3JtTW9kZWwsIEZvcm1PdXRjb21lRXZlbnQsIEZvcm1PdXRjb21lTW9kZWwgfSBmcm9tICcuL3dpZGdldHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtY2xhc3Mtc3VmZml4XG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRm9ybUJhc2VDb21wb25lbnQge1xuICAgIHByb3RlY3RlZCBfZm9ybTogRm9ybU1vZGVsO1xuXG4gICAgc3RhdGljIFNBVkVfT1VUQ09NRV9JRDogc3RyaW5nID0gJyRzYXZlJztcbiAgICBzdGF0aWMgQ09NUExFVEVfT1VUQ09NRV9JRDogc3RyaW5nID0gJyRjb21wbGV0ZSc7XG4gICAgc3RhdGljIFNUQVJUX1BST0NFU1NfT1VUQ09NRV9JRDogc3RyaW5nID0gJyRzdGFydFByb2Nlc3MnO1xuICAgIHN0YXRpYyBDVVNUT01fT1VUQ09NRV9JRDogc3RyaW5nID0gJyRjdXN0b20nO1xuICAgIHN0YXRpYyBDT01QTEVURV9CVVRUT05fQ09MT1I6IFRoZW1lUGFsZXR0ZSA9ICdwcmltYXJ5JztcbiAgICBzdGF0aWMgQ09NUExFVEVfT1VUQ09NRV9OQU1FOiBzdHJpbmcgPSAnQ09NUExFVEUnO1xuXG4gICAgLyoqIFBhdGggb2YgdGhlIGZvbGRlciB3aGVyZSB0aGUgbWV0YWRhdGEgd2lsbCBiZSBzdG9yZWQuICovXG4gICAgQElucHV0KClcbiAgICBwYXRoOiBzdHJpbmc7XG5cbiAgICAvKiogTmFtZSB0byBhc3NpZ24gdG8gdGhlIG5ldyBub2RlIHdoZXJlIHRoZSBtZXRhZGF0YSBhcmUgc3RvcmVkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbmFtZU5vZGU6IHN0cmluZztcblxuICAgIC8qKiBUb2dnbGUgcmVuZGVyaW5nIG9mIHRoZSBmb3JtIHRpdGxlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd1RpdGxlOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKiBUb2dnbGUgcmVuZGVyaW5nIG9mIHRoZSBgQ29tcGxldGVgIG91dGNvbWUgYnV0dG9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd0NvbXBsZXRlQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKiBJZiB0cnVlIHRoZW4gdGhlIGBDb21wbGV0ZWAgb3V0Y29tZSBidXR0b24gaXMgc2hvd24gYnV0IGl0IHdpbGwgYmUgZGlzYWJsZWQuICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlQ29tcGxldGVCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKiBJZiB0cnVlIHRoZW4gdGhlIGBTYXZlYCBvdXRjb21lIGJ1dHRvbiBpcyBzaG93biBidXQgd2lsbCBiZSBkaXNhYmxlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVTYXZlQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogSWYgdHJ1ZSB0aGVuIHRoZSBgU3RhcnQgUHJvY2Vzc2Agb3V0Y29tZSBidXR0b24gaXMgc2hvd24gYnV0IGl0IHdpbGwgYmUgZGlzYWJsZWQuICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlU3RhcnRQcm9jZXNzQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogVG9nZ2xlIHJlbmRlcmluZyBvZiB0aGUgYFNhdmVgIG91dGNvbWUgYnV0dG9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd1NhdmVCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqIFRvZ2dsZSByZWFkb25seSBzdGF0ZSBvZiB0aGUgZm9ybS4gRm9yY2VzIGFsbCBmb3JtIHdpZGdldHMgdG8gcmVuZGVyIGFzIHJlYWRvbmx5IGlmIGVuYWJsZWQuICovXG4gICAgQElucHV0KClcbiAgICByZWFkT25seTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqIFRvZ2dsZSByZW5kZXJpbmcgb2YgdGhlIGBSZWZyZXNoYCBidXR0b24uICovXG4gICAgQElucHV0KClcbiAgICBzaG93UmVmcmVzaEJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKiogVG9nZ2xlIHJlbmRlcmluZyBvZiB0aGUgdmFsaWRhdGlvbiBpY29uIG5leHQgdG8gdGhlIGZvcm0gdGl0bGUuICovXG4gICAgQElucHV0KClcbiAgICBzaG93VmFsaWRhdGlvbkljb246IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqIENvbnRhaW5zIGEgbGlzdCBvZiBmb3JtIGZpZWxkIHZhbGlkYXRvciBpbnN0YW5jZXMuICovXG4gICAgQElucHV0KClcbiAgICBmaWVsZFZhbGlkYXRvcnM6IEZvcm1GaWVsZFZhbGlkYXRvcltdO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgc3VwcGxpZWQgZm9ybSB2YWx1ZXMgaGF2ZSBhIHZhbGlkYXRpb24gZXJyb3IuICovXG4gICAgQE91dHB1dCgpXG4gICAgZm9ybUVycm9yID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtRmllbGRNb2RlbFtdPigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCB3aGVuIGFueSBvdXRjb21lIGlzIGV4ZWN1dGVkLiBEZWZhdWx0IGJlaGF2aW91ciBjYW4gYmUgcHJldmVudGVkXG4gICAgICogdmlhIGBldmVudC5wcmV2ZW50RGVmYXVsdCgpYC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBleGVjdXRlT3V0Y29tZSA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9ybU91dGNvbWVFdmVudD4oKTtcblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiBhbnkgZXJyb3Igb2NjdXJzLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGVycm9yID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gc3R5bGUgdGhhdCBpcyBiYWNrZWQgYnkgdGhlIGZvcm0udGhlbWUuXG4gICAgICovXG4gICAgZm9ybVN0eWxlOiBzdHJpbmcgPSAnJztcblxuICAgIGdldCBoYXNWaXNpYmxlT3V0Y29tZXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0/Lm91dGNvbWVzPy5zb21lKChvdXRjb21lKSA9PiB0aGlzLmlzT3V0Y29tZUJ1dHRvblZpc2libGUob3V0Y29tZSwgdGhpcy5mb3JtLnJlYWRPbmx5KSk7XG4gICAgfVxuXG4gICAgZ2V0IGZvcm0oKTogRm9ybU1vZGVsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm07XG4gICAgfVxuXG4gICAgLyoqIFVuZGVybHlpbmcgZm9ybSBtb2RlbCBpbnN0YW5jZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBmb3JtKGZvcm06IEZvcm1Nb2RlbCkge1xuICAgICAgICB0aGlzLl9mb3JtID0gZm9ybTtcblxuICAgICAgICBpZiAoZm9ybSkge1xuICAgICAgICAgICAgY29uc3QgdGhlbWUgPSBmb3JtLnRoZW1lPy5mb3JtO1xuICAgICAgICAgICAgdGhpcy5mb3JtU3R5bGUgPSB0aGVtZSA/IHRoaXMuZmxhdHRlblN0eWxlcyh0aGVtZSkgOiAnJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybVN0eWxlID0gJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRQYXJzZWRGb3JtRGVmaW5pdGlvbigpOiBGb3JtQmFzZUNvbXBvbmVudCB7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIGhhc0Zvcm0oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZm9ybTtcbiAgICB9XG5cbiAgICBpc1RpdGxlRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgbGV0IHRpdGxlRW5hYmxlZCA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5zaG93VGl0bGUgJiYgdGhpcy5mb3JtKSB7XG4gICAgICAgICAgICB0aXRsZUVuYWJsZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aXRsZUVuYWJsZWQ7XG4gICAgfVxuXG4gICAgZ2V0Q29sb3JGb3JPdXRjb21lKG91dGNvbWVOYW1lOiBzdHJpbmcpOiBUaGVtZVBhbGV0dGUge1xuICAgICAgICByZXR1cm4gb3V0Y29tZU5hbWUgPT09IEZvcm1CYXNlQ29tcG9uZW50LkNPTVBMRVRFX09VVENPTUVfTkFNRSA/IEZvcm1CYXNlQ29tcG9uZW50LkNPTVBMRVRFX0JVVFRPTl9DT0xPUiA6IG51bGw7XG4gICAgfVxuXG4gICAgaXNPdXRjb21lQnV0dG9uRW5hYmxlZChvdXRjb21lPzogRm9ybU91dGNvbWVNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5mb3JtLnJlYWRPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3V0Y29tZSkge1xuICAgICAgICAgICAgaWYgKG91dGNvbWUuc2tpcFZhbGlkYXRpb24pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChvdXRjb21lLm5hbWUgPT09IEZvcm1PdXRjb21lTW9kZWwuU0FWRV9BQ1RJT04pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIXRoaXMuZGlzYWJsZVNhdmVCdXR0b247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAob3V0Y29tZS5uYW1lID09PSBGb3JtT3V0Y29tZU1vZGVsLkNPTVBMRVRFX0FDVElPTikge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVDb21wbGV0ZUJ1dHRvbiA/IGZhbHNlIDogdGhpcy5mb3JtLmlzVmFsaWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAob3V0Y29tZS5uYW1lID09PSBGb3JtT3V0Y29tZU1vZGVsLlNUQVJUX1BST0NFU1NfQUNUSU9OKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZVN0YXJ0UHJvY2Vzc0J1dHRvbiA/IGZhbHNlIDogdGhpcy5mb3JtLmlzVmFsaWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5mb3JtLmlzVmFsaWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaXNPdXRjb21lQnV0dG9uVmlzaWJsZShvdXRjb21lOiBGb3JtT3V0Y29tZU1vZGVsLCBpc0Zvcm1SZWFkT25seTogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgICAgICBpZiAob3V0Y29tZT8ubmFtZSkge1xuICAgICAgICAgICAgaWYgKG91dGNvbWUubmFtZSA9PT0gRm9ybU91dGNvbWVNb2RlbC5DT01QTEVURV9BQ1RJT04pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zaG93Q29tcGxldGVCdXR0b247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNGb3JtUmVhZE9ubHkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gb3V0Y29tZS5pc1NlbGVjdGVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG91dGNvbWUubmFtZSA9PT0gRm9ybU91dGNvbWVNb2RlbC5TQVZFX0FDVElPTikge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNob3dTYXZlQnV0dG9uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG91dGNvbWUubmFtZSA9PT0gRm9ybU91dGNvbWVNb2RlbC5TVEFSVF9QUk9DRVNTX0FDVElPTikge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbnZva2VkIHdoZW4gdXNlciBjbGlja3Mgb3V0Y29tZSBidXR0b24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3V0Y29tZSBGb3JtIG91dGNvbWUgbW9kZWxcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgb3V0Y29tZSBidXR0b24gd2FzIGNsaWNrZWQsIG90aGVyd2lzZSBgZmFsc2VgXG4gICAgICovXG4gICAgb25PdXRjb21lQ2xpY2tlZChvdXRjb21lOiBGb3JtT3V0Y29tZU1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5yZWFkT25seSAmJiBvdXRjb21lICYmIHRoaXMuZm9ybSkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLm9uRXhlY3V0ZU91dGNvbWUob3V0Y29tZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvdXRjb21lLmlzU3lzdGVtKSB7XG4gICAgICAgICAgICAgICAgaWYgKG91dGNvbWUuaWQgPT09IEZvcm1CYXNlQ29tcG9uZW50LlNBVkVfT1VUQ09NRV9JRCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc2FibGVTYXZlQnV0dG9uID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zYXZlVGFza0Zvcm0oKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKG91dGNvbWUuaWQgPT09IEZvcm1CYXNlQ29tcG9uZW50LkNPTVBMRVRFX09VVENPTUVfSUQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlU2F2ZUJ1dHRvbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzYWJsZUNvbXBsZXRlQnV0dG9uID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wbGV0ZVRhc2tGb3JtKCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChvdXRjb21lLmlkID09PSBGb3JtQmFzZUNvbXBvbmVudC5TVEFSVF9QUk9DRVNTX09VVENPTUVfSUQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wbGV0ZVRhc2tGb3JtKCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChvdXRjb21lLmlkID09PSBGb3JtQmFzZUNvbXBvbmVudC5DVVNUT01fT1VUQ09NRV9JRCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uVGFza1NhdmVkKHRoaXMuZm9ybSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RvcmVGb3JtQXNNZXRhZGF0YSgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIE5vdGU6IEFjdGl2aXRpIGlzIHVzaW5nIE5BTUUgZmllbGQgcmF0aGVyIHRoYW4gSUQgZm9yIG91dGNvbWVzXG4gICAgICAgICAgICAgICAgaWYgKG91dGNvbWUubmFtZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbXBsZXRlVGFza0Zvcm0ob3V0Y29tZS5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGhhbmRsZUVycm9yKGVycjogYW55KTogYW55IHtcbiAgICAgICAgdGhpcy5kaXNhYmxlU2F2ZUJ1dHRvbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmRpc2FibGVDb21wbGV0ZUJ1dHRvbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyKTtcbiAgICB9XG5cbiAgICBhYnN0cmFjdCBvblJlZnJlc2hDbGlja2VkKCk6IHZvaWQ7XG5cbiAgICBhYnN0cmFjdCBzYXZlVGFza0Zvcm0oKTogdm9pZDtcblxuICAgIGFic3RyYWN0IGNvbXBsZXRlVGFza0Zvcm0ob3V0Y29tZT86IHN0cmluZyk6IHZvaWQ7XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb25UYXNrU2F2ZWQoZm9ybTogRm9ybU1vZGVsKTogdm9pZDtcblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBzdG9yZUZvcm1Bc01ldGFkYXRhKCk6IHZvaWQ7XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb25FeGVjdXRlT3V0Y29tZShvdXRjb21lOiBGb3JtT3V0Y29tZU1vZGVsKTogYm9vbGVhbjtcblxuICAgIHByaXZhdGUgZmxhdHRlblN0eWxlcyhzdHlsZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMoc3R5bGVzKVxuICAgICAgICAgICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgJHtrZXl9OiAke3ZhbHVlfWApXG4gICAgICAgICAgICAuam9pbignOycpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,30 +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 { Directive } from '@angular/core';
18
- import * as i0 from "@angular/core";
19
- export class StartFormCustomButtonDirective {
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: StartFormCustomButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
21
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.3", type: StartFormCustomButtonDirective, isStandalone: true, selector: "[adf-form-custom-button]", ngImport: i0 }); }
22
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: StartFormCustomButtonDirective, decorators: [{
24
- type: Directive,
25
- args: [{
26
- selector: '[adf-form-custom-button]',
27
- standalone: true
28
- }]
29
- }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jdXN0b20tYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL2Zvcm0tY3VzdG9tLWJ1dHRvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNMUMsTUFBTSxPQUFPLDhCQUE4Qjs4R0FBOUIsOEJBQThCO2tHQUE5Qiw4QkFBOEI7OzJGQUE5Qiw4QkFBOEI7a0JBSjFDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbYWRmLWZvcm0tY3VzdG9tLWJ1dHRvbl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgU3RhcnRGb3JtQ3VzdG9tQnV0dG9uRGlyZWN0aXZlIHt9XG4iXX0=
@@ -1,142 +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 { Compiler, Component, DestroyRef, inject, Input, NgModule, ViewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';
18
- import { FormRenderingService } from '../../services/form-rendering.service';
19
- import { WidgetVisibilityService } from '../../services/widget-visibility.service';
20
- import { FormFieldModel } from '../widgets/core/form-field.model';
21
- import { FieldStylePipe } from '../../pipes/field-style.pipe';
22
- import { FormFieldTypes } from '../widgets/core/form-field-types';
23
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
24
- import * as i0 from "@angular/core";
25
- export class FormFieldComponent {
26
- constructor() {
27
- /**
28
- * Contains all the necessary data needed to determine what UI Widget
29
- * to use when rendering the field in the form. You would typically not
30
- * create this data manually but instead create the form in APS and export
31
- * it to get to all the `FormFieldModel` definitions.
32
- */
33
- this.field = null;
34
- this.focus = false;
35
- this.formRenderingService = inject(FormRenderingService);
36
- this.visibilityService = inject(WidgetVisibilityService);
37
- this.destroyRef = inject(DestroyRef);
38
- this.compiler = inject(Compiler);
39
- }
40
- ngOnInit() {
41
- const w = window;
42
- if (w.adf === undefined) {
43
- w.adf = {};
44
- }
45
- const originalField = this.getField();
46
- if (originalField) {
47
- const customTemplate = this.field.form.customFieldTemplates[originalField.type];
48
- if (customTemplate && this.hasController(originalField.type)) {
49
- const factory = this.getComponentFactorySync(originalField.type, customTemplate);
50
- this.componentRef = this.container.createComponent(factory);
51
- const instance = this.componentRef.instance;
52
- if (instance) {
53
- instance.field = originalField;
54
- }
55
- }
56
- else {
57
- const componentType = this.formRenderingService.resolveComponentType(originalField);
58
- if (componentType) {
59
- this.componentRef = this.container.createComponent(componentType);
60
- const instance = this.componentRef.instance;
61
- instance.field = this.field;
62
- instance.fieldChanged.subscribe((field) => {
63
- if (field && this.field.form) {
64
- this.visibilityService.refreshVisibility(field.form);
65
- this.triggerFormFieldChanged(field);
66
- }
67
- });
68
- if (FormFieldTypes.isReactiveType(instance?.field?.type)) {
69
- this.updateReactiveFormControlOnFormRulesEvent(instance);
70
- }
71
- }
72
- }
73
- }
74
- }
75
- updateReactiveFormControlOnFormRulesEvent(instance) {
76
- instance?.formService.formRulesEvent.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
77
- instance?.updateReactiveFormControl();
78
- instance?.field?.form.validateForm(instance?.field);
79
- });
80
- }
81
- triggerFormFieldChanged(field) {
82
- field.form.onFormFieldChanged(field);
83
- }
84
- ngOnDestroy() {
85
- if (this.componentRef) {
86
- this.componentRef.destroy();
87
- this.componentRef = null;
88
- }
89
- }
90
- focusToggle() {
91
- setTimeout(() => {
92
- this.focus = !this.focus;
93
- });
94
- }
95
- getField() {
96
- if (this.field?.params) {
97
- const wrappedField = this.field.params.field;
98
- if (wrappedField?.type) {
99
- return wrappedField;
100
- }
101
- }
102
- return this.field;
103
- }
104
- hasController(type) {
105
- return adf?.components?.[type];
106
- }
107
- getComponentFactorySync(type, template) {
108
- const componentInfo = adf.components[type];
109
- if (componentInfo.factory) {
110
- return componentInfo.factory;
111
- }
112
- const metadata = {
113
- selector: `runtime-component-${type}`,
114
- template
115
- };
116
- const factory = this.createComponentFactorySync(this.compiler, metadata, componentInfo.class);
117
- componentInfo.factory = factory;
118
- return factory;
119
- }
120
- createComponentFactorySync(compiler, metadata, componentClass) {
121
- const cmpClass = componentClass || class RuntimeComponent {
122
- };
123
- const decoratedCmp = Component(metadata)(cmpClass);
124
- const moduleClass = class RuntimeComponentModule {
125
- };
126
- const decoratedNgModule = NgModule({ imports: [], declarations: [decoratedCmp] })(moduleClass);
127
- const module = compiler.compileModuleAndAllComponentsSync(decoratedNgModule);
128
- return module.componentFactories.find((x) => x.componentType === decoratedCmp);
129
- }
130
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
131
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: FormFieldComponent, isStandalone: true, selector: "adf-form-field", inputs: { field: "field" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div [id]=\"'field-' + field?.id + '-container'\"\n [style.display]=\"field?.isVisible ? 'block' : 'none'\"\n [style]=\"field | adfFieldStyle\"\n [class.adf-focus]=\"focus\"\n (focusin)=\"focusToggle()\"\n (focusout)=\"focusToggle()\">\n <div #container></div>\n</div>\n", dependencies: [{ kind: "pipe", type: FieldStylePipe, name: "adfFieldStyle" }], encapsulation: i0.ViewEncapsulation.None }); }
132
- }
133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: FormFieldComponent, decorators: [{
134
- type: Component,
135
- args: [{ selector: 'adf-form-field', standalone: true, encapsulation: ViewEncapsulation.None, imports: [FieldStylePipe], template: "<div [id]=\"'field-' + field?.id + '-container'\"\n [style.display]=\"field?.isVisible ? 'block' : 'none'\"\n [style]=\"field | adfFieldStyle\"\n [class.adf-focus]=\"focus\"\n (focusin)=\"focusToggle()\"\n (focusout)=\"focusToggle()\">\n <div #container></div>\n</div>\n" }]
136
- }], propDecorators: { container: [{
137
- type: ViewChild,
138
- args: ['container', { read: ViewContainerRef, static: true }]
139
- }], field: [{
140
- type: Input
141
- }] } });
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9mb3JtL2NvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUdULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFHUixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFXaEUsTUFBTSxPQUFPLGtCQUFrQjtJQVAvQjtRQVdJOzs7OztXQUtHO1FBRUgsVUFBSyxHQUFtQixJQUFJLENBQUM7UUFJN0IsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUVOLHlCQUFvQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3BELHNCQUFpQixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3BELGVBQVUsR0FB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OUYsYUFBYSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDaEMsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVPLDBCQUEwQixDQUFDLFFBQWtCLEVBQUUsUUFBbUIsRUFBRSxjQUFtQjtRQUMzRixNQUFNLFFBQVEsR0FBRyxjQUFjLElBQUksTUFBTSxnQkFBZ0I7U0FBRyxDQUFDO1FBQzdELE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxNQUFNLFdBQVcsR0FBRyxNQUFNLHNCQUFzQjtTQUFHLENBQUM7UUFDcEQsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvRixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsaUNBQWlDLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUU3RSxPQUFPLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLEtBQUssWUFBWSxDQUFDLENBQUM7SUFDbkYsQ0FBQzs4R0EzSFEsa0JBQWtCO2tHQUFsQixrQkFBa0IseUxBQ0ssZ0JBQWdCLDJDQ2pEcEQsdVNBUUEsdUNEc0NjLGNBQWM7OzJGQUVmLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDSSxnQkFBZ0IsY0FDZCxJQUFJLGlCQUVELGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxjQUFjLENBQUM7OEJBSXpCLFNBQVM7c0JBRFIsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFVaEUsS0FBSztzQkFESixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICAgIENvbXBpbGVyLFxuICAgIENvbXBvbmVudCxcbiAgICBDb21wb25lbnRGYWN0b3J5LFxuICAgIENvbXBvbmVudFJlZixcbiAgICBEZXN0cm95UmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ01vZHVsZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybVJlbmRlcmluZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb3JtLXJlbmRlcmluZy5zZXJ2aWNlJztcbmltcG9ydCB7IFdpZGdldFZpc2liaWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2lkZ2V0LXZpc2liaWxpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBGb3JtRmllbGRNb2RlbCB9IGZyb20gJy4uL3dpZGdldHMvY29yZS9mb3JtLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IEZpZWxkU3R5bGVQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvZmllbGQtc3R5bGUucGlwZSc7XG5pbXBvcnQgeyBGb3JtRmllbGRUeXBlcyB9IGZyb20gJy4uL3dpZGdldHMvY29yZS9mb3JtLWZpZWxkLXR5cGVzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuZGVjbGFyZSBjb25zdCBhZGY6IGFueTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtZm9ybS1maWVsZCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBpbXBvcnRzOiBbRmllbGRTdHlsZVBpcGVdXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICAgIGNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcblxuICAgIC8qKlxuICAgICAqIENvbnRhaW5zIGFsbCB0aGUgbmVjZXNzYXJ5IGRhdGEgbmVlZGVkIHRvIGRldGVybWluZSB3aGF0IFVJIFdpZGdldFxuICAgICAqIHRvIHVzZSB3aGVuIHJlbmRlcmluZyB0aGUgZmllbGQgaW4gdGhlIGZvcm0uIFlvdSB3b3VsZCB0eXBpY2FsbHkgbm90XG4gICAgICogY3JlYXRlIHRoaXMgZGF0YSBtYW51YWxseSBidXQgaW5zdGVhZCBjcmVhdGUgdGhlIGZvcm0gaW4gQVBTIGFuZCBleHBvcnRcbiAgICAgKiBpdCB0byBnZXQgdG8gYWxsIHRoZSBgRm9ybUZpZWxkTW9kZWxgIGRlZmluaXRpb25zLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmllbGQ6IEZvcm1GaWVsZE1vZGVsID0gbnVsbDtcblxuICAgIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT47XG5cbiAgICBmb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtUmVuZGVyaW5nU2VydmljZSA9IGluamVjdChGb3JtUmVuZGVyaW5nU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB2aXNpYmlsaXR5U2VydmljZSA9IGluamVjdChXaWRnZXRWaXNpYmlsaXR5U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tcGlsZXIgPSBpbmplY3QoQ29tcGlsZXIpO1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGNvbnN0IHc6IGFueSA9IHdpbmRvdztcbiAgICAgICAgaWYgKHcuYWRmID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHcuYWRmID0ge307XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb3JpZ2luYWxGaWVsZCA9IHRoaXMuZ2V0RmllbGQoKTtcbiAgICAgICAgaWYgKG9yaWdpbmFsRmllbGQpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1c3RvbVRlbXBsYXRlID0gdGhpcy5maWVsZC5mb3JtLmN1c3RvbUZpZWxkVGVtcGxhdGVzW29yaWdpbmFsRmllbGQudHlwZV07XG4gICAgICAgICAgICBpZiAoY3VzdG9tVGVtcGxhdGUgJiYgdGhpcy5oYXNDb250cm9sbGVyKG9yaWdpbmFsRmllbGQudHlwZSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5nZXRDb21wb25lbnRGYWN0b3J5U3luYyhvcmlnaW5hbEZpZWxkLnR5cGUsIGN1c3RvbVRlbXBsYXRlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcbiAgICAgICAgICAgICAgICBjb25zdCBpbnN0YW5jZTogYW55ID0gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlKSB7XG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLmZpZWxkID0gb3JpZ2luYWxGaWVsZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFR5cGUgPSB0aGlzLmZvcm1SZW5kZXJpbmdTZXJ2aWNlLnJlc29sdmVDb21wb25lbnRUeXBlKG9yaWdpbmFsRmllbGQpO1xuICAgICAgICAgICAgICAgIGlmIChjb21wb25lbnRUeXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy5jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudFR5cGUpO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLmZpZWxkID0gdGhpcy5maWVsZDtcblxuICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5maWVsZENoYW5nZWQuc3Vic2NyaWJlKChmaWVsZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkICYmIHRoaXMuZmllbGQuZm9ybSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmlzaWJpbGl0eVNlcnZpY2UucmVmcmVzaFZpc2liaWxpdHkoZmllbGQuZm9ybSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmlnZ2VyRm9ybUZpZWxkQ2hhbmdlZChmaWVsZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChGb3JtRmllbGRUeXBlcy5pc1JlYWN0aXZlVHlwZShpbnN0YW5jZT8uZmllbGQ/LnR5cGUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVJlYWN0aXZlRm9ybUNvbnRyb2xPbkZvcm1SdWxlc0V2ZW50KGluc3RhbmNlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUmVhY3RpdmVGb3JtQ29udHJvbE9uRm9ybVJ1bGVzRXZlbnQoaW5zdGFuY2U6IGFueSk6IHZvaWQge1xuICAgICAgICBpbnN0YW5jZT8uZm9ybVNlcnZpY2UuZm9ybVJ1bGVzRXZlbnQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGluc3RhbmNlPy51cGRhdGVSZWFjdGl2ZUZvcm1Db250cm9sKCk7XG4gICAgICAgICAgICBpbnN0YW5jZT8uZmllbGQ/LmZvcm0udmFsaWRhdGVGb3JtKGluc3RhbmNlPy5maWVsZCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdHJpZ2dlckZvcm1GaWVsZENoYW5nZWQoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogdm9pZCB7XG4gICAgICAgIGZpZWxkLmZvcm0ub25Gb3JtRmllbGRDaGFuZ2VkKGZpZWxkKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmb2N1c1RvZ2dsZSgpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzID0gIXRoaXMuZm9jdXM7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RmllbGQoKTogRm9ybUZpZWxkTW9kZWwge1xuICAgICAgICBpZiAodGhpcy5maWVsZD8ucGFyYW1zKSB7XG4gICAgICAgICAgICBjb25zdCB3cmFwcGVkRmllbGQgPSB0aGlzLmZpZWxkLnBhcmFtcy5maWVsZDtcbiAgICAgICAgICAgIGlmICh3cmFwcGVkRmllbGQ/LnR5cGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZEZpZWxkIGFzIEZvcm1GaWVsZE1vZGVsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzQ29udHJvbGxlcih0eXBlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGFkZj8uY29tcG9uZW50cz8uW3R5cGVdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q29tcG9uZW50RmFjdG9yeVN5bmModHlwZTogc3RyaW5nLCB0ZW1wbGF0ZTogc3RyaW5nKTogQ29tcG9uZW50RmFjdG9yeTxhbnk+IHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50SW5mbyA9IGFkZi5jb21wb25lbnRzW3R5cGVdO1xuXG4gICAgICAgIGlmIChjb21wb25lbnRJbmZvLmZhY3RvcnkpIHtcbiAgICAgICAgICAgIHJldHVybiBjb21wb25lbnRJbmZvLmZhY3Rvcnk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtZXRhZGF0YSA9IHtcbiAgICAgICAgICAgIHNlbGVjdG9yOiBgcnVudGltZS1jb21wb25lbnQtJHt0eXBlfWAsXG4gICAgICAgICAgICB0ZW1wbGF0ZVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLmNyZWF0ZUNvbXBvbmVudEZhY3RvcnlTeW5jKHRoaXMuY29tcGlsZXIsIG1ldGFkYXRhLCBjb21wb25lbnRJbmZvLmNsYXNzKTtcbiAgICAgICAgY29tcG9uZW50SW5mby5mYWN0b3J5ID0gZmFjdG9yeTtcbiAgICAgICAgcmV0dXJuIGZhY3Rvcnk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVDb21wb25lbnRGYWN0b3J5U3luYyhjb21waWxlcjogQ29tcGlsZXIsIG1ldGFkYXRhOiBDb21wb25lbnQsIGNvbXBvbmVudENsYXNzOiBhbnkpOiBDb21wb25lbnRGYWN0b3J5PGFueT4ge1xuICAgICAgICBjb25zdCBjbXBDbGFzcyA9IGNvbXBvbmVudENsYXNzIHx8IGNsYXNzIFJ1bnRpbWVDb21wb25lbnQge307XG4gICAgICAgIGNvbnN0IGRlY29yYXRlZENtcCA9IENvbXBvbmVudChtZXRhZGF0YSkoY21wQ2xhc3MpO1xuICAgICAgICBjb25zdCBtb2R1bGVDbGFzcyA9IGNsYXNzIFJ1bnRpbWVDb21wb25lbnRNb2R1bGUge307XG4gICAgICAgIGNvbnN0IGRlY29yYXRlZE5nTW9kdWxlID0gTmdNb2R1bGUoeyBpbXBvcnRzOiBbXSwgZGVjbGFyYXRpb25zOiBbZGVjb3JhdGVkQ21wXSB9KShtb2R1bGVDbGFzcyk7XG4gICAgICAgIGNvbnN0IG1vZHVsZSA9IGNvbXBpbGVyLmNvbXBpbGVNb2R1bGVBbmRBbGxDb21wb25lbnRzU3luYyhkZWNvcmF0ZWROZ01vZHVsZSk7XG5cbiAgICAgICAgcmV0dXJuIG1vZHVsZS5jb21wb25lbnRGYWN0b3JpZXMuZmluZCgoeCkgPT4geC5jb21wb25lbnRUeXBlID09PSBkZWNvcmF0ZWRDbXApO1xuICAgIH1cbn1cbiIsIjxkaXYgW2lkXT1cIidmaWVsZC0nICsgZmllbGQ/LmlkICsgJy1jb250YWluZXInXCJcbiAgICAgW3N0eWxlLmRpc3BsYXldPVwiZmllbGQ/LmlzVmlzaWJsZSA/ICdibG9jaycgOiAnbm9uZSdcIlxuICAgICBbc3R5bGVdPVwiZmllbGQgfCBhZGZGaWVsZFN0eWxlXCJcbiAgICAgW2NsYXNzLmFkZi1mb2N1c109XCJmb2N1c1wiXG4gICAgIChmb2N1c2luKT1cImZvY3VzVG9nZ2xlKClcIlxuICAgICAoZm9jdXNvdXQpPVwiZm9jdXNUb2dnbGUoKVwiPlxuICAgIDxkaXYgI2NvbnRhaW5lcj48L2Rpdj5cbjwvZGl2PlxuIl19