@alfresco/adf-core 8.1.0-16500060130 → 8.1.0

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 (624) hide show
  1. package/bundles/assets/adf-core/i18n/de.json +14 -2
  2. package/bundles/assets/adf-core/i18n/en.json +13 -1
  3. package/bundles/assets/adf-core/i18n/es.json +14 -2
  4. package/bundles/assets/adf-core/i18n/fr.json +14 -2
  5. package/bundles/assets/adf-core/i18n/it.json +14 -2
  6. package/bundles/assets/adf-core/i18n/pl.json +13 -1
  7. package/bundles/assets/adf-core/i18n/pt.json +14 -2
  8. package/feature-flags/lib/components/flags/flags.component.d.ts +2 -2
  9. package/feature-flags/lib/providers/debug-feature-flags.provider.d.ts +4 -35
  10. package/fesm2022/adf-core.mjs +1391 -2841
  11. package/fesm2022/adf-core.mjs.map +1 -1
  12. package/fesm2022/alfresco-adf-core-api.mjs +5 -5
  13. package/fesm2022/alfresco-adf-core-api.mjs.map +1 -1
  14. package/fesm2022/alfresco-adf-core-auth.mjs +3 -3
  15. package/fesm2022/alfresco-adf-core-auth.mjs.map +1 -1
  16. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs +11 -11
  17. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs.map +1 -1
  18. package/fesm2022/alfresco-adf-core-feature-flags.mjs +52 -59
  19. package/fesm2022/alfresco-adf-core-feature-flags.mjs.map +1 -1
  20. package/fesm2022/alfresco-adf-core-shell.mjs +68 -14
  21. package/fesm2022/alfresco-adf-core-shell.mjs.map +1 -1
  22. package/lib/app-config/provide-app-config.d.ts +2 -2
  23. package/lib/app-config/public-api.d.ts +0 -2
  24. package/lib/auth/oidc/auth.module.d.ts +10 -13
  25. package/lib/{mock/form/form-definition-readonly.mock.d.ts → auth/oidc/auth.routes.d.ts} +2 -1
  26. package/lib/auth/oidc/public-api.d.ts +0 -1
  27. package/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.d.ts +1 -1
  28. package/lib/card-view/components/base-card-view.d.ts +1 -1
  29. package/lib/card-view/components/card-view/card-view.component.scss +12 -9
  30. package/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.scss +1 -2
  31. package/lib/card-view/components/card-view-textitem/card-view-textitem.component.scss +6 -5
  32. package/lib/core.module.d.ts +11 -0
  33. package/lib/datatable/components/datatable/datatable.component.scss +2 -1
  34. package/lib/datatable/data/data-table.schema.d.ts +1 -1
  35. package/lib/dialogs/confirm-dialog/confirm.dialog.d.ts +1 -1
  36. package/lib/dialogs/confirm-dialog/confirm.dialog.module.d.ts +2 -6
  37. package/lib/form/components/form-renderer.component.scss +25 -6
  38. package/lib/form/components/form-section/form-section.component.scss +23 -1
  39. package/lib/form/components/widgets/amount/amount.widget.scss +1 -2
  40. package/lib/form/components/widgets/date-time/date-time.widget.scss +1 -2
  41. package/lib/form/components/widgets/display-text/display-text.widget.scss +2 -0
  42. package/lib/mock/data-column.mock.d.ts +0 -2
  43. package/lib/mock/form/widget-visibility.service.mock.d.ts +0 -5
  44. package/lib/mock/public-api.d.ts +0 -4
  45. package/lib/{mock/form/form-definition-visibility.mock.d.ts → testing/app-config-testing.d.ts} +8 -2
  46. package/lib/testing/index.d.ts +1 -1
  47. package/lib/testing/noop-auth.module.d.ts +31 -4
  48. package/lib/testing/unit-testing-utils.d.ts +1 -11
  49. package/lib/translation/provide-i18n.d.ts +1 -1
  50. package/lib/viewer/components/img-viewer/img-viewer.component.d.ts +2 -2
  51. package/lib/viewer/components/viewer.component.d.ts +1 -1
  52. package/lib/viewer/services/rendering-queue.services.d.ts +2 -2
  53. package/package.json +3 -15
  54. package/shell/README.md +13 -3
  55. package/shell/index.d.ts +1 -0
  56. package/shell/lib/providers.d.ts +36 -0
  57. package/shell/lib/shell.module.d.ts +1 -1
  58. package/esm2022/adf-core.mjs +0 -5
  59. package/esm2022/api/alfresco-adf-core-api.mjs +0 -5
  60. package/esm2022/api/index.mjs +0 -20
  61. package/esm2022/api/lib/adf-http-client.service.mjs +0 -311
  62. package/esm2022/api/lib/alfresco-api/alfresco-api.param-encoder.mjs +0 -33
  63. package/esm2022/api/lib/alfresco-api/alfresco-api.response-error.mjs +0 -25
  64. package/esm2022/api/lib/alfresco-api/alfresco-api.utils.mjs +0 -80
  65. package/esm2022/api/lib/interfaces.mjs +0 -18
  66. package/esm2022/api/lib/types.mjs +0 -18
  67. package/esm2022/auth/alfresco-adf-core-auth.mjs +0 -5
  68. package/esm2022/auth/authentication-interceptor/authentication.interceptor.mjs +0 -56
  69. package/esm2022/auth/authentication.mjs +0 -19
  70. package/esm2022/auth/index.mjs +0 -19
  71. package/esm2022/breadcrumbs/alfresco-adf-core-breadcrumbs.mjs +0 -5
  72. package/esm2022/breadcrumbs/components/breadcrumb/breadcrumb.component.mjs +0 -82
  73. package/esm2022/breadcrumbs/components/breadcrumb-item/breadcrumb-item.component.mjs +0 -42
  74. package/esm2022/breadcrumbs/directives/breadcrumb-focus.directive.mjs +0 -44
  75. package/esm2022/breadcrumbs/index.mjs +0 -19
  76. package/esm2022/feature-flags/alfresco-adf-core-feature-flags.mjs +0 -5
  77. package/esm2022/feature-flags/index.mjs +0 -29
  78. package/esm2022/feature-flags/lib/components/feature-flags-wrapper.mjs +0 -36
  79. package/esm2022/feature-flags/lib/components/feature-override-indicator.component.mjs +0 -56
  80. package/esm2022/feature-flags/lib/components/flags/flags.component.mjs +0 -129
  81. package/esm2022/feature-flags/lib/directives/features.directive.mjs +0 -63
  82. package/esm2022/feature-flags/lib/directives/not-features.directive.mjs +0 -63
  83. package/esm2022/feature-flags/lib/guards/is-feature-off.guard.mjs +0 -38
  84. package/esm2022/feature-flags/lib/guards/is-feature-on.guard.mjs +0 -38
  85. package/esm2022/feature-flags/lib/guards/is-flags-override-on.guard.mjs +0 -40
  86. package/esm2022/feature-flags/lib/interfaces/features.interface.mjs +0 -24
  87. package/esm2022/feature-flags/lib/mocks/features-service-mock.factory.mjs +0 -62
  88. package/esm2022/feature-flags/lib/providers/debug-feature-flags.provider.mjs +0 -51
  89. package/esm2022/feature-flags/lib/providers/dummy-feature-flags.provider.mjs +0 -36
  90. package/esm2022/feature-flags/lib/services/debug-features.service.mjs +0 -94
  91. package/esm2022/feature-flags/lib/services/dummy-features.service.mjs +0 -40
  92. package/esm2022/feature-flags/lib/services/flagset.parser.mjs +0 -38
  93. package/esm2022/feature-flags/lib/services/qa-features.helper.mjs +0 -62
  94. package/esm2022/feature-flags/lib/services/storage-features.service.mjs +0 -126
  95. package/esm2022/lib/about/about-extension-list/about-extension-list.component.mjs +0 -51
  96. package/esm2022/lib/about/about-license-list/about-license-list.component.mjs +0 -51
  97. package/esm2022/lib/about/about-module-list/module-list.component.mjs +0 -51
  98. package/esm2022/lib/about/about-package/package-list.component.mjs +0 -65
  99. package/esm2022/lib/about/about-panel.directive.mjs +0 -37
  100. package/esm2022/lib/about/about-repository-info/about-repository-info.component.mjs +0 -59
  101. package/esm2022/lib/about/about-repository-info/repository-info.interface.mjs +0 -18
  102. package/esm2022/lib/about/about-server-settings/about-server-settings.component.mjs +0 -42
  103. package/esm2022/lib/about/about-status-list/about-status-list.component.mjs +0 -51
  104. package/esm2022/lib/about/about.component.mjs +0 -35
  105. package/esm2022/lib/about/about.module.mjs +0 -75
  106. package/esm2022/lib/about/index.mjs +0 -18
  107. package/esm2022/lib/about/interfaces.mjs +0 -18
  108. package/esm2022/lib/about/public-api.mjs +0 -28
  109. package/esm2022/lib/app-config/app-config-storage-prefix.factory.mjs +0 -51
  110. package/esm2022/lib/app-config/app-config.loader.mjs +0 -41
  111. package/esm2022/lib/app-config/app-config.module.mjs +0 -33
  112. package/esm2022/lib/app-config/app-config.pipe.mjs +0 -38
  113. package/esm2022/lib/app-config/app-config.service.mjs +0 -243
  114. package/esm2022/lib/app-config/debug-app-config.service.mjs +0 -44
  115. package/esm2022/lib/app-config/index.mjs +0 -18
  116. package/esm2022/lib/app-config/provide-app-config.mjs +0 -44
  117. package/esm2022/lib/app-config/public-api.mjs +0 -23
  118. package/esm2022/lib/auth/authentication-interceptor/auth-bearer.interceptor.mjs +0 -67
  119. package/esm2022/lib/auth/basic-auth/basic-alfresco-auth.service.mjs +0 -369
  120. package/esm2022/lib/auth/basic-auth/content-auth.mjs +0 -189
  121. package/esm2022/lib/auth/basic-auth/process-auth.mjs +0 -193
  122. package/esm2022/lib/auth/guard/auth-guard-bpm.service.mjs +0 -31
  123. package/esm2022/lib/auth/guard/auth-guard-ecm.service.mjs +0 -31
  124. package/esm2022/lib/auth/guard/auth-guard-sso-role.service.mjs +0 -57
  125. package/esm2022/lib/auth/guard/auth-guard.mjs +0 -53
  126. package/esm2022/lib/auth/guard/auth-guard.service.mjs +0 -113
  127. package/esm2022/lib/auth/index.mjs +0 -18
  128. package/esm2022/lib/auth/interfaces/authentication-service.interface.mjs +0 -18
  129. package/esm2022/lib/auth/interfaces/authentication.interface.mjs +0 -18
  130. package/esm2022/lib/auth/interfaces/identity-group.interface.mjs +0 -18
  131. package/esm2022/lib/auth/interfaces/identity-user.service.interface.mjs +0 -18
  132. package/esm2022/lib/auth/interfaces/openid-configuration.interface.mjs +0 -18
  133. package/esm2022/lib/auth/models/application-access.model.mjs +0 -18
  134. package/esm2022/lib/auth/models/identity-group.model.mjs +0 -18
  135. package/esm2022/lib/auth/models/identity-role.model.mjs +0 -30
  136. package/esm2022/lib/auth/models/identity-user.model.mjs +0 -18
  137. package/esm2022/lib/auth/models/oauth-config.model.mjs +0 -18
  138. package/esm2022/lib/auth/models/redirection.model.mjs +0 -28
  139. package/esm2022/lib/auth/models/user-access.model.mjs +0 -18
  140. package/esm2022/lib/auth/oidc/auth-config.mjs +0 -19
  141. package/esm2022/lib/auth/oidc/auth-config.service.mjs +0 -110
  142. package/esm2022/lib/auth/oidc/auth-routing.module.mjs +0 -34
  143. package/esm2022/lib/auth/oidc/auth.module.mjs +0 -112
  144. package/esm2022/lib/auth/oidc/auth.service.mjs +0 -22
  145. package/esm2022/lib/auth/oidc/oidc-auth.guard.mjs +0 -37
  146. package/esm2022/lib/auth/oidc/oidc-authentication.service.mjs +0 -204
  147. package/esm2022/lib/auth/oidc/public-api.mjs +0 -24
  148. package/esm2022/lib/auth/oidc/redirect-auth.service.mjs +0 -267
  149. package/esm2022/lib/auth/oidc/retry-login.service.mjs +0 -66
  150. package/esm2022/lib/auth/oidc/token.interceptor.mjs +0 -62
  151. package/esm2022/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.mjs +0 -31
  152. package/esm2022/lib/auth/public-api.mjs +0 -44
  153. package/esm2022/lib/auth/services/authentication.service.mjs +0 -190
  154. package/esm2022/lib/auth/services/base-authentication.service.mjs +0 -95
  155. package/esm2022/lib/auth/services/identity-group.service.mjs +0 -269
  156. package/esm2022/lib/auth/services/identity-role.service.mjs +0 -99
  157. package/esm2022/lib/auth/services/identity-user.service.mjs +0 -443
  158. package/esm2022/lib/auth/services/jwt-helper.service.mjs +0 -205
  159. package/esm2022/lib/auth/services/oauth2.service.mjs +0 -69
  160. package/esm2022/lib/auth/services/time-sync.service.mjs +0 -83
  161. package/esm2022/lib/auth/services/user-access.service.mjs +0 -110
  162. package/esm2022/lib/avatar/avatar.component.mjs +0 -51
  163. package/esm2022/lib/blank-page/blank-page.component.mjs +0 -31
  164. package/esm2022/lib/blank-page/blank-page.module.mjs +0 -33
  165. package/esm2022/lib/blank-page/index.mjs +0 -18
  166. package/esm2022/lib/blank-page/public-api.mjs +0 -19
  167. package/esm2022/lib/button/button.component.mjs +0 -61
  168. package/esm2022/lib/card-view/card-view.module.mjs +0 -80
  169. package/esm2022/lib/card-view/components/base-card-view.mjs +0 -51
  170. package/esm2022/lib/card-view/components/card-view/card-view.component.mjs +0 -66
  171. package/esm2022/lib/card-view/components/card-view-arrayitem/card-view-arrayitem.component.mjs +0 -55
  172. package/esm2022/lib/card-view/components/card-view-boolitem/card-view-boolitem.component.mjs +0 -39
  173. package/esm2022/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.mjs +0 -182
  174. package/esm2022/lib/card-view/components/card-view-item-dispatcher/card-view-item-dispatcher.component.mjs +0 -108
  175. package/esm2022/lib/card-view/components/card-view-keyvaluepairsitem/card-view-keyvaluepairsitem.component.mjs +0 -64
  176. package/esm2022/lib/card-view/components/card-view-mapitem/card-view-mapitem.component.mjs +0 -46
  177. package/esm2022/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.mjs +0 -137
  178. package/esm2022/lib/card-view/components/card-view-selectitem/select-filter-input/select-filter-input.component.mjs +0 -113
  179. package/esm2022/lib/card-view/components/card-view-textitem/card-view-textitem.component.mjs +0 -239
  180. package/esm2022/lib/card-view/components/card-view.components.mjs +0 -28
  181. package/esm2022/lib/card-view/index.mjs +0 -18
  182. package/esm2022/lib/card-view/interfaces/base-card-view-update.interface.mjs +0 -18
  183. package/esm2022/lib/card-view/interfaces/card-view-arrayitem-properties.interface.mjs +0 -18
  184. package/esm2022/lib/card-view/interfaces/card-view-boolitem-properties.interface.mjs +0 -18
  185. package/esm2022/lib/card-view/interfaces/card-view-dateitem-properties.interface.mjs +0 -18
  186. package/esm2022/lib/card-view/interfaces/card-view-item-properties.interface.mjs +0 -18
  187. package/esm2022/lib/card-view/interfaces/card-view-item-validator.interface.mjs +0 -18
  188. package/esm2022/lib/card-view/interfaces/card-view-item.interface.mjs +0 -18
  189. package/esm2022/lib/card-view/interfaces/card-view-keyvaluepairsitem-properties.interface.mjs +0 -18
  190. package/esm2022/lib/card-view/interfaces/card-view-selectitem-properties.interface.mjs +0 -18
  191. package/esm2022/lib/card-view/interfaces/card-view-textitem-pipe-property.interface.mjs +0 -18
  192. package/esm2022/lib/card-view/interfaces/card-view-textitem-properties.interface.mjs +0 -18
  193. package/esm2022/lib/card-view/interfaces/card-view.interfaces.mjs +0 -29
  194. package/esm2022/lib/card-view/interfaces/click-notification.interface.mjs +0 -18
  195. package/esm2022/lib/card-view/interfaces/update-notification.interface.mjs +0 -18
  196. package/esm2022/lib/card-view/models/card-view-arrayitem.model.mjs +0 -28
  197. package/esm2022/lib/card-view/models/card-view-baseitem.model.mjs +0 -64
  198. package/esm2022/lib/card-view/models/card-view-boolitem.model.mjs +0 -36
  199. package/esm2022/lib/card-view/models/card-view-dateitem.model.mjs +0 -58
  200. package/esm2022/lib/card-view/models/card-view-datetimeitem.model.mjs +0 -28
  201. package/esm2022/lib/card-view/models/card-view-floatitem.model.mjs +0 -33
  202. package/esm2022/lib/card-view/models/card-view-intitem.model.mjs +0 -36
  203. package/esm2022/lib/card-view/models/card-view-keyvaluepairs.model.mjs +0 -27
  204. package/esm2022/lib/card-view/models/card-view-longitem.model.mjs +0 -36
  205. package/esm2022/lib/card-view/models/card-view-mapitem.model.mjs +0 -32
  206. package/esm2022/lib/card-view/models/card-view-selectitem.model.mjs +0 -41
  207. package/esm2022/lib/card-view/models/card-view-textitem.model.mjs +0 -40
  208. package/esm2022/lib/card-view/models/card-view.models.mjs +0 -29
  209. package/esm2022/lib/card-view/public-api.mjs +0 -25
  210. package/esm2022/lib/card-view/services/card-item-types.service.mjs +0 -54
  211. package/esm2022/lib/card-view/services/card-view-update.service.mjs +0 -59
  212. package/esm2022/lib/card-view/services/card-view.services.mjs +0 -19
  213. package/esm2022/lib/card-view/validators/card-view-item-float.validator.mjs +0 -31
  214. package/esm2022/lib/card-view/validators/card-view-item-int.validator.mjs +0 -35
  215. package/esm2022/lib/card-view/validators/card-view-item-length.validator.mjs +0 -34
  216. package/esm2022/lib/card-view/validators/card-view-item-long.validator.mjs +0 -35
  217. package/esm2022/lib/card-view/validators/card-view-item-match.validator.mjs +0 -35
  218. package/esm2022/lib/card-view/validators/card-view-item-minmax.validator.mjs +0 -35
  219. package/esm2022/lib/card-view/validators/card-view-item-only-positive-int.validator.mjs +0 -32
  220. package/esm2022/lib/card-view/validators/card-view-item-only-positive-long.validator.mjs +0 -31
  221. package/esm2022/lib/card-view/validators/card-view.validators.mjs +0 -26
  222. package/esm2022/lib/card-view/validators/validators.map.mjs +0 -26
  223. package/esm2022/lib/clipboard/clipboard.directive.mjs +0 -98
  224. package/esm2022/lib/clipboard/clipboard.module.mjs +0 -34
  225. package/esm2022/lib/clipboard/clipboard.service.mjs +0 -103
  226. package/esm2022/lib/clipboard/index.mjs +0 -18
  227. package/esm2022/lib/clipboard/public-api.mjs +0 -21
  228. package/esm2022/lib/comments/comment-list/comment-list.component.mjs +0 -52
  229. package/esm2022/lib/comments/comment-list/comment-list.module.mjs +0 -33
  230. package/esm2022/lib/comments/comment-list/index.mjs +0 -18
  231. package/esm2022/lib/comments/comment-list/public-api.mjs +0 -19
  232. package/esm2022/lib/comments/comments.component.mjs +0 -132
  233. package/esm2022/lib/comments/comments.module.mjs +0 -33
  234. package/esm2022/lib/comments/index.mjs +0 -18
  235. package/esm2022/lib/comments/interfaces/comments-service.interface.mjs +0 -18
  236. package/esm2022/lib/comments/interfaces/comments.token.mjs +0 -19
  237. package/esm2022/lib/comments/public-api.mjs +0 -22
  238. package/esm2022/lib/common/index.mjs +0 -35
  239. package/esm2022/lib/common/interface/search-component.interface.mjs +0 -18
  240. package/esm2022/lib/common/mock/app-config.service.mock.mjs +0 -47
  241. package/esm2022/lib/common/models/default-languages.model.mjs +0 -36
  242. package/esm2022/lib/common/models/log-levels.model.mjs +0 -33
  243. package/esm2022/lib/common/models/user-info-mode.enum.mjs +0 -25
  244. package/esm2022/lib/common/services/cookie.service.mjs +0 -82
  245. package/esm2022/lib/common/services/download.service.mjs +0 -102
  246. package/esm2022/lib/common/services/dynamic-component-mapper.service.mjs +0 -89
  247. package/esm2022/lib/common/services/highlight-transform.service.mjs +0 -61
  248. package/esm2022/lib/common/services/language-item.interface.mjs +0 -18
  249. package/esm2022/lib/common/services/log.service.mjs +0 -171
  250. package/esm2022/lib/common/services/page-title.service.mjs +0 -63
  251. package/esm2022/lib/common/services/sort-by-category.service.mjs +0 -81
  252. package/esm2022/lib/common/services/storage.service.mjs +0 -143
  253. package/esm2022/lib/common/services/thumbnail.service.mjs +0 -194
  254. package/esm2022/lib/common/services/url.service.mjs +0 -45
  255. package/esm2022/lib/common/services/user-preferences.service.mjs +0 -238
  256. package/esm2022/lib/common/utils/date-fns-adapter.mjs +0 -115
  257. package/esm2022/lib/common/utils/date-fns-utils.mjs +0 -222
  258. package/esm2022/lib/common/utils/datetime-fns-adapter.mjs +0 -134
  259. package/esm2022/lib/common/utils/file-utils.mjs +0 -65
  260. package/esm2022/lib/common/utils/index.mjs +0 -18
  261. package/esm2022/lib/common/utils/moment-date-adapter.mjs +0 -202
  262. package/esm2022/lib/common/utils/moment-date-formats.model.mjs +0 -32
  263. package/esm2022/lib/common/utils/object-utils.mjs +0 -107
  264. package/esm2022/lib/common/utils/public-api.mjs +0 -25
  265. package/esm2022/lib/common/utils/string-utils.mjs +0 -45
  266. package/esm2022/lib/context-menu/animations.mjs +0 -33
  267. package/esm2022/lib/context-menu/context-menu-list.component.mjs +0 -91
  268. package/esm2022/lib/context-menu/context-menu-overlay.mjs +0 -25
  269. package/esm2022/lib/context-menu/context-menu-overlay.service.mjs +0 -109
  270. package/esm2022/lib/context-menu/context-menu.directive.mjs +0 -63
  271. package/esm2022/lib/context-menu/context-menu.module.mjs +0 -35
  272. package/esm2022/lib/context-menu/context-menu.tokens.mjs +0 -19
  273. package/esm2022/lib/context-menu/index.mjs +0 -18
  274. package/esm2022/lib/context-menu/interfaces.mjs +0 -18
  275. package/esm2022/lib/context-menu/public-api.mjs +0 -21
  276. package/esm2022/lib/core.module.mjs +0 -296
  277. package/esm2022/lib/datatable/components/amount-cell/amount-cell.component.mjs +0 -45
  278. package/esm2022/lib/datatable/components/boolean-cell/boolean-cell.component.mjs +0 -65
  279. package/esm2022/lib/datatable/components/columns-selector/columns-search-filter.pipe.mjs +0 -55
  280. package/esm2022/lib/datatable/components/columns-selector/columns-selector.component.mjs +0 -113
  281. package/esm2022/lib/datatable/components/data-cell.event.mjs +0 -31
  282. package/esm2022/lib/datatable/components/data-row-action.event.mjs +0 -34
  283. package/esm2022/lib/datatable/components/datatable/datatable.component.mjs +0 -914
  284. package/esm2022/lib/datatable/components/datatable-cell/datatable-cell.component.mjs +0 -126
  285. package/esm2022/lib/datatable/components/datatable-row/datatable-row.component.mjs +0 -98
  286. package/esm2022/lib/datatable/components/date-cell/date-cell.component.mjs +0 -78
  287. package/esm2022/lib/datatable/components/empty-list/empty-list.component.mjs +0 -60
  288. package/esm2022/lib/datatable/components/filesize-cell/filesize-cell.component.mjs +0 -49
  289. package/esm2022/lib/datatable/components/icon-cell/icon-cell.component.mjs +0 -67
  290. package/esm2022/lib/datatable/components/json-cell/json-cell.component.mjs +0 -86
  291. package/esm2022/lib/datatable/components/location-cell/location-cell.component.mjs +0 -69
  292. package/esm2022/lib/datatable/components/mocks/datatable.mock.mjs +0 -153
  293. package/esm2022/lib/datatable/components/number-cell/number-cell.component.mjs +0 -42
  294. package/esm2022/lib/datatable/data/data-column.model.mjs +0 -18
  295. package/esm2022/lib/datatable/data/data-row-event.model.mjs +0 -26
  296. package/esm2022/lib/datatable/data/data-row-update.model.mjs +0 -18
  297. package/esm2022/lib/datatable/data/data-row.model.mjs +0 -18
  298. package/esm2022/lib/datatable/data/data-sorting.model.mjs +0 -24
  299. package/esm2022/lib/datatable/data/data-table.schema.mjs +0 -132
  300. package/esm2022/lib/datatable/data/datatable-adapter.mjs +0 -18
  301. package/esm2022/lib/datatable/data/object-datacolumn.model.mjs +0 -46
  302. package/esm2022/lib/datatable/data/object-datarow.model.mjs +0 -41
  303. package/esm2022/lib/datatable/data/object-datatable-adapter.mjs +0 -134
  304. package/esm2022/lib/datatable/data-column/data-column-header.component.mjs +0 -45
  305. package/esm2022/lib/datatable/data-column/data-column-list.component.mjs +0 -36
  306. package/esm2022/lib/datatable/data-column/data-column.component.mjs +0 -114
  307. package/esm2022/lib/datatable/data-column/index.mjs +0 -18
  308. package/esm2022/lib/datatable/data-column/public-api.mjs +0 -20
  309. package/esm2022/lib/datatable/datatable.module.mjs +0 -161
  310. package/esm2022/lib/datatable/directives/custom-empty-content-template.directive.mjs +0 -35
  311. package/esm2022/lib/datatable/directives/custom-loading-template.directive.mjs +0 -30
  312. package/esm2022/lib/datatable/directives/custom-no-permission-template.directive.mjs +0 -35
  313. package/esm2022/lib/datatable/directives/drop-zone.directive.mjs +0 -89
  314. package/esm2022/lib/datatable/directives/header-filter-template.directive.mjs +0 -43
  315. package/esm2022/lib/datatable/directives/loading-template.directive.mjs +0 -46
  316. package/esm2022/lib/datatable/directives/main-data-table-action-template.directive.mjs +0 -43
  317. package/esm2022/lib/datatable/directives/no-content-template.directive.mjs +0 -46
  318. package/esm2022/lib/datatable/directives/no-permission-template.directive.mjs +0 -46
  319. package/esm2022/lib/datatable/directives/resizable/resizable.directive.mjs +0 -173
  320. package/esm2022/lib/datatable/directives/resizable/resize-handle.directive.mjs +0 -72
  321. package/esm2022/lib/datatable/directives/resizable/types.mjs +0 -18
  322. package/esm2022/lib/datatable/index.mjs +0 -18
  323. package/esm2022/lib/datatable/public-api.mjs +0 -55
  324. package/esm2022/lib/datatable/services/datatable.service.mjs +0 -33
  325. package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.mjs +0 -50
  326. package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.module.mjs +0 -38
  327. package/esm2022/lib/dialogs/dialog/dialog-data.interface.mjs +0 -18
  328. package/esm2022/lib/dialogs/dialog/dialog.component.mjs +0 -70
  329. package/esm2022/lib/dialogs/dialog/dialog.model.mjs +0 -22
  330. package/esm2022/lib/dialogs/dialog/index.mjs +0 -20
  331. package/esm2022/lib/dialogs/edit-json/edit-json.dialog.mjs +0 -52
  332. package/esm2022/lib/dialogs/edit-json/edit-json.dialog.module.mjs +0 -34
  333. package/esm2022/lib/dialogs/index.mjs +0 -18
  334. package/esm2022/lib/dialogs/public-api.mjs +0 -25
  335. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +0 -73
  336. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.model.mjs +0 -18
  337. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +0 -33
  338. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes.guard.mjs +0 -64
  339. package/esm2022/lib/directives/directive.module.mjs +0 -56
  340. package/esm2022/lib/directives/highlight.directive.mjs +0 -67
  341. package/esm2022/lib/directives/index.mjs +0 -18
  342. package/esm2022/lib/directives/infinite-select-scroll.directive.mjs +0 -67
  343. package/esm2022/lib/directives/logout.directive.mjs +0 -72
  344. package/esm2022/lib/directives/public-api.mjs +0 -24
  345. package/esm2022/lib/directives/tooltip-card/tooltip-card.component.mjs +0 -60
  346. package/esm2022/lib/directives/tooltip-card/tooltip-card.directive.mjs +0 -104
  347. package/esm2022/lib/directives/upload.directive.mjs +0 -241
  348. package/esm2022/lib/dynamic-chip-list/chip.mjs +0 -18
  349. package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.component.mjs +0 -204
  350. package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.module.mjs +0 -33
  351. package/esm2022/lib/dynamic-chip-list/index.mjs +0 -18
  352. package/esm2022/lib/dynamic-chip-list/public-api.mjs +0 -20
  353. package/esm2022/lib/events/base-ui.event.mjs +0 -21
  354. package/esm2022/lib/events/base.event.mjs +0 -29
  355. package/esm2022/lib/events/index.mjs +0 -18
  356. package/esm2022/lib/events/public-api.mjs +0 -19
  357. package/esm2022/lib/form/components/form-base.component.mjs +0 -224
  358. package/esm2022/lib/form/components/form-custom-button.directive.mjs +0 -30
  359. package/esm2022/lib/form/components/form-field/form-field.component.mjs +0 -142
  360. package/esm2022/lib/form/components/form-renderer.component.mjs +0 -161
  361. package/esm2022/lib/form/components/form-section/form-section.component.mjs +0 -46
  362. package/esm2022/lib/form/components/helpers/buttons-visibility.mjs +0 -37
  363. package/esm2022/lib/form/components/inplace-form-input/inplace-form-input.component.mjs +0 -37
  364. package/esm2022/lib/form/components/middlewares/decimal-middleware.service.mjs +0 -48
  365. package/esm2022/lib/form/components/middlewares/middleware.mjs +0 -19
  366. package/esm2022/lib/form/components/widgets/amount/amount.widget.mjs +0 -77
  367. package/esm2022/lib/form/components/widgets/base-viewer/base-viewer.widget.mjs +0 -59
  368. package/esm2022/lib/form/components/widgets/checkbox/checkbox.widget.mjs +0 -52
  369. package/esm2022/lib/form/components/widgets/core/container-column.model.mjs +0 -28
  370. package/esm2022/lib/form/components/widgets/core/container.model.mjs +0 -50
  371. package/esm2022/lib/form/components/widgets/core/content-link.model.mjs +0 -52
  372. package/esm2022/lib/form/components/widgets/core/displayable-cm-properties.model.mjs +0 -18
  373. package/esm2022/lib/form/components/widgets/core/error-message.model.mjs +0 -38
  374. package/esm2022/lib/form/components/widgets/core/external-content-link.mjs +0 -18
  375. package/esm2022/lib/form/components/widgets/core/external-content.mjs +0 -18
  376. package/esm2022/lib/form/components/widgets/core/form-field-file-source.mjs +0 -18
  377. package/esm2022/lib/form/components/widgets/core/form-field-metadata.mjs +0 -18
  378. package/esm2022/lib/form/components/widgets/core/form-field-option.mjs +0 -18
  379. package/esm2022/lib/form/components/widgets/core/form-field-rule.mjs +0 -18
  380. package/esm2022/lib/form/components/widgets/core/form-field-selected-folder.mjs +0 -18
  381. package/esm2022/lib/form/components/widgets/core/form-field-templates.mjs +0 -18
  382. package/esm2022/lib/form/components/widgets/core/form-field-types.mjs +0 -74
  383. package/esm2022/lib/form/components/widgets/core/form-field-utils.mjs +0 -23
  384. package/esm2022/lib/form/components/widgets/core/form-field-validator.mjs +0 -268
  385. package/esm2022/lib/form/components/widgets/core/form-field-variable-options.mjs +0 -18
  386. package/esm2022/lib/form/components/widgets/core/form-field.model.mjs +0 -490
  387. package/esm2022/lib/form/components/widgets/core/form-outcome-event.model.mjs +0 -32
  388. package/esm2022/lib/form/components/widgets/core/form-outcome.model.mjs +0 -38
  389. package/esm2022/lib/form/components/widgets/core/form-values.mjs +0 -18
  390. package/esm2022/lib/form/components/widgets/core/form-variable.model.mjs +0 -18
  391. package/esm2022/lib/form/components/widgets/core/form-widget.model.mjs +0 -33
  392. package/esm2022/lib/form/components/widgets/core/form.model.mjs +0 -387
  393. package/esm2022/lib/form/components/widgets/core/group.model.mjs +0 -18
  394. package/esm2022/lib/form/components/widgets/core/index.mjs +0 -49
  395. package/esm2022/lib/form/components/widgets/core/predefined-theme.mjs +0 -115
  396. package/esm2022/lib/form/components/widgets/core/process-form-model.interface.mjs +0 -18
  397. package/esm2022/lib/form/components/widgets/core/process-variable.model.mjs +0 -18
  398. package/esm2022/lib/form/components/widgets/core/tab.model.mjs +0 -34
  399. package/esm2022/lib/form/components/widgets/core/theme.model.mjs +0 -18
  400. package/esm2022/lib/form/components/widgets/core/upload-widget-content-link.model.mjs +0 -27
  401. package/esm2022/lib/form/components/widgets/core/widget-schema.model.mjs +0 -18
  402. package/esm2022/lib/form/components/widgets/date/date.widget.mjs +0 -162
  403. package/esm2022/lib/form/components/widgets/date-time/date-time.widget.mjs +0 -153
  404. package/esm2022/lib/form/components/widgets/decimal/decimal.component.mjs +0 -53
  405. package/esm2022/lib/form/components/widgets/display-text/display-text.schema.mjs +0 -86
  406. package/esm2022/lib/form/components/widgets/display-text/display-text.widget.mjs +0 -46
  407. package/esm2022/lib/form/components/widgets/display-text/index.mjs +0 -19
  408. package/esm2022/lib/form/components/widgets/error/error.component.mjs +0 -92
  409. package/esm2022/lib/form/components/widgets/header/header.schema.mjs +0 -86
  410. package/esm2022/lib/form/components/widgets/header/header.widget.mjs +0 -42
  411. package/esm2022/lib/form/components/widgets/header/index.mjs +0 -19
  412. package/esm2022/lib/form/components/widgets/hyperlink/hyperlink.widget.mjs +0 -69
  413. package/esm2022/lib/form/components/widgets/index.mjs +0 -71
  414. package/esm2022/lib/form/components/widgets/json/json.widget.mjs +0 -66
  415. package/esm2022/lib/form/components/widgets/multiline-text/multiline-text.widget.mjs +0 -55
  416. package/esm2022/lib/form/components/widgets/number/number.widget.mjs +0 -71
  417. package/esm2022/lib/form/components/widgets/reactive-widget.interface.mjs +0 -18
  418. package/esm2022/lib/form/components/widgets/text/text-mask.component.mjs +0 -221
  419. package/esm2022/lib/form/components/widgets/text/text.widget.mjs +0 -65
  420. package/esm2022/lib/form/components/widgets/unknown/unknown.widget.mjs +0 -63
  421. package/esm2022/lib/form/components/widgets/widget.component.mjs +0 -110
  422. package/esm2022/lib/form/events/form-error.event.mjs +0 -24
  423. package/esm2022/lib/form/events/form-field.event.mjs +0 -24
  424. package/esm2022/lib/form/events/form-rules.event.mjs +0 -25
  425. package/esm2022/lib/form/events/form-spinner.event.mjs +0 -23
  426. package/esm2022/lib/form/events/form.event.mjs +0 -29
  427. package/esm2022/lib/form/events/index.mjs +0 -24
  428. package/esm2022/lib/form/events/validate-form-field.event.mjs +0 -24
  429. package/esm2022/lib/form/events/validate-form.event.mjs +0 -25
  430. package/esm2022/lib/form/form-base.module.mjs +0 -75
  431. package/esm2022/lib/form/index.mjs +0 -18
  432. package/esm2022/lib/form/models/form-rules.model.mjs +0 -77
  433. package/esm2022/lib/form/models/task-process-variable.model.mjs +0 -19
  434. package/esm2022/lib/form/models/widget-visibility.model.mjs +0 -104
  435. package/esm2022/lib/form/pipes/field-style.pipe.mjs +0 -45
  436. package/esm2022/lib/form/pipes/index.mjs +0 -18
  437. package/esm2022/lib/form/public-api.mjs +0 -35
  438. package/esm2022/lib/form/services/form-rendering.service.mjs +0 -53
  439. package/esm2022/lib/form/services/form-validation-service.interface.mjs +0 -18
  440. package/esm2022/lib/form/services/form.service.mjs +0 -86
  441. package/esm2022/lib/form/services/widget-visibility.service.mjs +0 -294
  442. package/esm2022/lib/header/header.component.mjs +0 -73
  443. package/esm2022/lib/header/index.mjs +0 -18
  444. package/esm2022/lib/header/navbar/navbar-item.component.mjs +0 -37
  445. package/esm2022/lib/header/navbar/navbar.component.mjs +0 -36
  446. package/esm2022/lib/header/public-api.mjs +0 -20
  447. package/esm2022/lib/icon/icon.component.mjs +0 -51
  448. package/esm2022/lib/icon/icon.module.mjs +0 -36
  449. package/esm2022/lib/icon/index.mjs +0 -18
  450. package/esm2022/lib/icon/public-api.mjs +0 -19
  451. package/esm2022/lib/identity-user-info/identity-user-info.component.mjs +0 -86
  452. package/esm2022/lib/identity-user-info/identity-user-info.module.mjs +0 -33
  453. package/esm2022/lib/identity-user-info/index.mjs +0 -18
  454. package/esm2022/lib/identity-user-info/public-api.mjs +0 -19
  455. package/esm2022/lib/info-drawer/index.mjs +0 -18
  456. package/esm2022/lib/info-drawer/info-drawer-layout.component.mjs +0 -71
  457. package/esm2022/lib/info-drawer/info-drawer.component.mjs +0 -113
  458. package/esm2022/lib/info-drawer/info-drawer.module.mjs +0 -53
  459. package/esm2022/lib/info-drawer/public-api.mjs +0 -20
  460. package/esm2022/lib/interface/index.mjs +0 -18
  461. package/esm2022/lib/interface/injection.tokens.mjs +0 -19
  462. package/esm2022/lib/interface/public-api.mjs +0 -18
  463. package/esm2022/lib/landing-page/index.mjs +0 -18
  464. package/esm2022/lib/landing-page/provider.mjs +0 -30
  465. package/esm2022/lib/landing-page/public-api.mjs +0 -18
  466. package/esm2022/lib/language-menu/index.mjs +0 -18
  467. package/esm2022/lib/language-menu/language-menu.component.mjs +0 -61
  468. package/esm2022/lib/language-menu/language-menu.module.mjs +0 -35
  469. package/esm2022/lib/language-menu/language-picker.component.mjs +0 -77
  470. package/esm2022/lib/language-menu/public-api.mjs +0 -21
  471. package/esm2022/lib/language-menu/service/language.service.interface.mjs +0 -18
  472. package/esm2022/lib/language-menu/service/language.service.mjs +0 -34
  473. package/esm2022/lib/layout/components/header/header.component.mjs +0 -99
  474. package/esm2022/lib/layout/components/layout-container/layout-container.component.mjs +0 -180
  475. package/esm2022/lib/layout/components/sidebar-action/sidebar-action-menu.component.mjs +0 -82
  476. package/esm2022/lib/layout/components/sidenav-layout/sidenav-layout.component.mjs +0 -145
  477. package/esm2022/lib/layout/directives/sidenav-layout-content.directive.mjs +0 -33
  478. package/esm2022/lib/layout/directives/sidenav-layout-header.directive.mjs +0 -33
  479. package/esm2022/lib/layout/directives/sidenav-layout-navigation.directive.mjs +0 -33
  480. package/esm2022/lib/layout/index.mjs +0 -18
  481. package/esm2022/lib/layout/layout.module.mjs +0 -72
  482. package/esm2022/lib/layout/public-api.mjs +0 -25
  483. package/esm2022/lib/login/components/login/login.component.mjs +0 -367
  484. package/esm2022/lib/login/components/login-dialog/login-dialog-component-data.interface.mjs +0 -18
  485. package/esm2022/lib/login/components/login-dialog/login-dialog.component.mjs +0 -57
  486. package/esm2022/lib/login/components/login-dialog-panel/login-dialog-panel.component.mjs +0 -48
  487. package/esm2022/lib/login/directives/login-footer.directive.mjs +0 -41
  488. package/esm2022/lib/login/directives/login-header.directive.mjs +0 -41
  489. package/esm2022/lib/login/index.mjs +0 -18
  490. package/esm2022/lib/login/login.module.mjs +0 -54
  491. package/esm2022/lib/login/models/login-error.event.mjs +0 -22
  492. package/esm2022/lib/login/models/login-submit.event.mjs +0 -32
  493. package/esm2022/lib/login/models/login-success.event.mjs +0 -24
  494. package/esm2022/lib/login/public-api.mjs +0 -27
  495. package/esm2022/lib/material.module.mjs +0 -254
  496. package/esm2022/lib/mock/cookie.service.mock.mjs +0 -43
  497. package/esm2022/lib/mock/data-column.mock.mjs +0 -73
  498. package/esm2022/lib/mock/event.mock.mjs +0 -39
  499. package/esm2022/lib/mock/form/form-definition-readonly.mock.mjs +0 -225
  500. package/esm2022/lib/mock/form/form-definition-visibility.mock.mjs +0 -347
  501. package/esm2022/lib/mock/form/form-definition.mock.mjs +0 -403
  502. package/esm2022/lib/mock/form/form.component.mock.mjs +0 -275
  503. package/esm2022/lib/mock/form/form.service.mock.mjs +0 -248
  504. package/esm2022/lib/mock/form/widget-visibility.service.mock.mjs +0 -1835
  505. package/esm2022/lib/mock/index.mjs +0 -18
  506. package/esm2022/lib/mock/public-api.mjs +0 -27
  507. package/esm2022/lib/mock/translation.service.mock.mjs +0 -44
  508. package/esm2022/lib/models/comment.model.mjs +0 -51
  509. package/esm2022/lib/models/component.model.mjs +0 -24
  510. package/esm2022/lib/models/decimal-number.model.mjs +0 -26
  511. package/esm2022/lib/models/general-user.model.mjs +0 -24
  512. package/esm2022/lib/models/index.mjs +0 -18
  513. package/esm2022/lib/models/pagination.model.mjs +0 -29
  514. package/esm2022/lib/models/path.model.mjs +0 -24
  515. package/esm2022/lib/models/product-version.model.mjs +0 -28
  516. package/esm2022/lib/models/public-api.mjs +0 -24
  517. package/esm2022/lib/models/request-pagination.model.mjs +0 -25
  518. package/esm2022/lib/notifications/components/add-notification.stories.component.mjs +0 -44
  519. package/esm2022/lib/notifications/components/notification-history.component.mjs +0 -138
  520. package/esm2022/lib/notifications/helpers/notification.factory.mjs +0 -43
  521. package/esm2022/lib/notifications/index.mjs +0 -18
  522. package/esm2022/lib/notifications/models/notification.model.mjs +0 -25
  523. package/esm2022/lib/notifications/notification-history.module.mjs +0 -35
  524. package/esm2022/lib/notifications/public-api.mjs +0 -23
  525. package/esm2022/lib/notifications/services/notification.service.mjs +0 -166
  526. package/esm2022/lib/pagination/index.mjs +0 -18
  527. package/esm2022/lib/pagination/infinite-pagination.component.mjs +0 -111
  528. package/esm2022/lib/pagination/paginated-component.interface.mjs +0 -18
  529. package/esm2022/lib/pagination/pagination-component.interface.mjs +0 -18
  530. package/esm2022/lib/pagination/pagination.component.mjs +0 -263
  531. package/esm2022/lib/pagination/pagination.module.mjs +0 -35
  532. package/esm2022/lib/pagination/public-api.mjs +0 -22
  533. package/esm2022/lib/pipes/date-time.pipe.mjs +0 -46
  534. package/esm2022/lib/pipes/decimal-number.pipe.mjs +0 -78
  535. package/esm2022/lib/pipes/file-size.pipe.mjs +0 -54
  536. package/esm2022/lib/pipes/file-type.pipe.mjs +0 -40
  537. package/esm2022/lib/pipes/format-space.pipe.mjs +0 -39
  538. package/esm2022/lib/pipes/full-name.pipe.mjs +0 -43
  539. package/esm2022/lib/pipes/index.mjs +0 -18
  540. package/esm2022/lib/pipes/localized-date.pipe.mjs +0 -70
  541. package/esm2022/lib/pipes/multi-value.pipe.mjs +0 -37
  542. package/esm2022/lib/pipes/pipe.module.mjs +0 -83
  543. package/esm2022/lib/pipes/public-api.mjs +0 -30
  544. package/esm2022/lib/pipes/text-highlight.pipe.mjs +0 -39
  545. package/esm2022/lib/pipes/time-ago.pipe.mjs +0 -65
  546. package/esm2022/lib/pipes/truncate.pipe.mjs +0 -33
  547. package/esm2022/lib/pipes/user-initial.pipe.mjs +0 -52
  548. package/esm2022/lib/pipes/user-like.interface.mjs +0 -18
  549. package/esm2022/lib/progress/progress.component.mjs +0 -90
  550. package/esm2022/lib/search-text/animations.mjs +0 -32
  551. package/esm2022/lib/search-text/index.mjs +0 -18
  552. package/esm2022/lib/search-text/models/search-text-input.model.mjs +0 -23
  553. package/esm2022/lib/search-text/public-api.mjs +0 -22
  554. package/esm2022/lib/search-text/search-text-input.component.mjs +0 -283
  555. package/esm2022/lib/search-text/search-text-input.module.mjs +0 -35
  556. package/esm2022/lib/search-text/search-trigger.directive.mjs +0 -181
  557. package/esm2022/lib/snackbar-content/index.mjs +0 -18
  558. package/esm2022/lib/snackbar-content/public-api.mjs +0 -20
  559. package/esm2022/lib/snackbar-content/snack-bar-data.mjs +0 -18
  560. package/esm2022/lib/snackbar-content/snackbar-content.component.mjs +0 -49
  561. package/esm2022/lib/snackbar-content/snackbar-content.module.mjs +0 -33
  562. package/esm2022/lib/sorting-picker/index.mjs +0 -18
  563. package/esm2022/lib/sorting-picker/public-api.mjs +0 -18
  564. package/esm2022/lib/sorting-picker/sorting-picker.component.mjs +0 -67
  565. package/esm2022/lib/templates/empty-content/empty-content.component.mjs +0 -43
  566. package/esm2022/lib/templates/error-content/error-content.component.mjs +0 -61
  567. package/esm2022/lib/templates/index.mjs +0 -18
  568. package/esm2022/lib/templates/public-api.mjs +0 -20
  569. package/esm2022/lib/templates/template.module.mjs +0 -38
  570. package/esm2022/lib/testing/core.story.module.mjs +0 -39
  571. package/esm2022/lib/testing/core.testing.module.mjs +0 -36
  572. package/esm2022/lib/testing/index.mjs +0 -22
  573. package/esm2022/lib/testing/noop-auth.module.mjs +0 -80
  574. package/esm2022/lib/testing/noop-translate.module.mjs +0 -75
  575. package/esm2022/lib/testing/unit-testing-utils.mjs +0 -367
  576. package/esm2022/lib/toolbar/index.mjs +0 -18
  577. package/esm2022/lib/toolbar/public-api.mjs +0 -21
  578. package/esm2022/lib/toolbar/toolbar-divider.component.mjs +0 -27
  579. package/esm2022/lib/toolbar/toolbar-title.component.mjs +0 -32
  580. package/esm2022/lib/toolbar/toolbar.component.mjs +0 -39
  581. package/esm2022/lib/toolbar/toolbar.module.mjs +0 -36
  582. package/esm2022/lib/translation/index.mjs +0 -18
  583. package/esm2022/lib/translation/provide-i18n.mjs +0 -48
  584. package/esm2022/lib/translation/public-api.mjs +0 -20
  585. package/esm2022/lib/translation/translate-loader.service.mjs +0 -153
  586. package/esm2022/lib/translation/translation.service.mjs +0 -148
  587. package/esm2022/lib/viewer/components/download-prompt-dialog/download-prompt-dialog.component.mjs +0 -36
  588. package/esm2022/lib/viewer/components/img-viewer/img-viewer.component.mjs +0 -220
  589. package/esm2022/lib/viewer/components/media-player/media-player.component.mjs +0 -64
  590. package/esm2022/lib/viewer/components/pdf-viewer/pdf-viewer.component.mjs +0 -550
  591. package/esm2022/lib/viewer/components/pdf-viewer-password-dialog/pdf-viewer-password-dialog.mjs +0 -60
  592. package/esm2022/lib/viewer/components/pdf-viewer-thumb/pdf-viewer-thumb.component.mjs +0 -48
  593. package/esm2022/lib/viewer/components/pdf-viewer-thumbnails/pdf-viewer-thumbnails.component.mjs +0 -198
  594. package/esm2022/lib/viewer/components/txt-viewer/txt-viewer.component.mjs +0 -85
  595. package/esm2022/lib/viewer/components/unknown-format/unknown-format.component.mjs +0 -32
  596. package/esm2022/lib/viewer/components/viewer-more-actions.component.mjs +0 -34
  597. package/esm2022/lib/viewer/components/viewer-open-with.component.mjs +0 -34
  598. package/esm2022/lib/viewer/components/viewer-render/viewer-render.component.mjs +0 -216
  599. package/esm2022/lib/viewer/components/viewer-sidebar.component.mjs +0 -46
  600. package/esm2022/lib/viewer/components/viewer-toolbar-actions.component.mjs +0 -34
  601. package/esm2022/lib/viewer/components/viewer-toolbar-custom-actions.component.mjs +0 -34
  602. package/esm2022/lib/viewer/components/viewer-toolbar.component.mjs +0 -34
  603. package/esm2022/lib/viewer/components/viewer.component.mjs +0 -492
  604. package/esm2022/lib/viewer/directives/viewer-extension.directive.mjs +0 -67
  605. package/esm2022/lib/viewer/index.mjs +0 -18
  606. package/esm2022/lib/viewer/models/download-prompt.actions.mjs +0 -23
  607. package/esm2022/lib/viewer/models/viewer.model.mjs +0 -22
  608. package/esm2022/lib/viewer/public-api.mjs +0 -40
  609. package/esm2022/lib/viewer/services/rendering-queue.services.mjs +0 -179
  610. package/esm2022/lib/viewer/services/view-util.service.mjs +0 -149
  611. package/esm2022/lib/viewer/viewer.module.mjs +0 -110
  612. package/esm2022/public-api.mjs +0 -61
  613. package/esm2022/shell/alfresco-adf-core-shell.mjs +0 -5
  614. package/esm2022/shell/index.mjs +0 -21
  615. package/esm2022/shell/lib/components/shell/shell.component.mjs +0 -122
  616. package/esm2022/shell/lib/services/shell-app.service.mjs +0 -22
  617. package/esm2022/shell/lib/shell.module.mjs +0 -75
  618. package/esm2022/shell/lib/shell.routes.mjs +0 -50
  619. package/lib/app-config/app-config.module.d.ts +0 -8
  620. package/lib/app-config/debug-app-config.service.d.ts +0 -10
  621. package/lib/auth/oidc/auth-routing.module.d.ts +0 -6
  622. package/lib/mock/form/form-definition.mock.d.ts +0 -19
  623. package/lib/mock/form/form.component.mock.d.ts +0 -17
  624. package/lib/testing/core.testing.module.d.ts +0 -11
@@ -1 +1 @@
1
- {"version":3,"file":"alfresco-adf-core-feature-flags.mjs","sources":["../../../../lib/core/feature-flags/src/lib/interfaces/features.interface.ts","../../../../lib/core/feature-flags/src/lib/components/feature-override-indicator.component.ts","../../../../lib/core/feature-flags/src/lib/components/flags/flags.component.ts","../../../../lib/core/feature-flags/src/lib/components/flags/flags.component.html","../../../../lib/core/feature-flags/src/lib/components/feature-flags-wrapper.ts","../../../../lib/core/feature-flags/src/lib/directives/features.directive.ts","../../../../lib/core/feature-flags/src/lib/directives/not-features.directive.ts","../../../../lib/core/feature-flags/src/lib/guards/is-feature-on.guard.ts","../../../../lib/core/feature-flags/src/lib/guards/is-feature-off.guard.ts","../../../../lib/core/feature-flags/src/lib/guards/is-flags-override-on.guard.ts","../../../../lib/core/feature-flags/src/lib/services/dummy-features.service.ts","../../../../lib/core/feature-flags/src/lib/providers/dummy-feature-flags.provider.ts","../../../../lib/core/feature-flags/src/lib/services/flagset.parser.ts","../../../../lib/core/feature-flags/src/lib/services/storage-features.service.ts","../../../../lib/core/feature-flags/src/lib/services/debug-features.service.ts","../../../../lib/core/feature-flags/src/lib/services/qa-features.helper.ts","../../../../lib/core/feature-flags/src/lib/providers/debug-feature-flags.provider.ts","../../../../lib/core/feature-flags/src/lib/mocks/features-service-mock.factory.ts","../../../../lib/core/feature-flags/src/index.ts","../../../../lib/core/feature-flags/src/alfresco-adf-core-feature-flags.ts"],"sourcesContent":["/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { InjectionToken } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nexport const FeaturesServiceConfigToken = new InjectionToken<any>('FeatureServiceConfigToken');\nexport const FeaturesServiceToken = new InjectionToken<IFeaturesService>('FeaturesService');\nexport const WritableFeaturesServiceToken = new InjectionToken<IFeaturesService & IWritableFeaturesService>('WritableFeaturesServiceToken');\nexport const WritableFeaturesServiceConfigToken = new InjectionToken<WritableFeaturesServiceConfig>('WritableFeaturesServiceConfigToken');\nexport const OverridableFeaturesServiceToken = new InjectionToken<IFeaturesService>('OverridableFeaturesServiceToken');\nexport const FlagsOverrideToken = new InjectionToken<boolean>('FlagsOverrideToken');\n\nexport interface WritableFeaturesServiceConfig {\n storageKey?: string;\n}\nexport interface QaFeaturesHelperConfig {\n helperExposeKeyOnDocument?: string;\n}\n\nexport interface FlagChangeset {\n [key: string]: {\n current: any;\n previous: any;\n };\n}\n\nexport interface WritableFlagChangeset {\n [key: string]: {\n current: any;\n previous: any;\n fictive?: boolean;\n };\n}\n\nexport interface FlagSet {\n [key: string]: any;\n}\n\nexport interface IFeaturesService<T = FlagChangeset> {\n init(): Observable<T>;\n isOn$(key: string): Observable<boolean>;\n isOff$(key: string): Observable<boolean>;\n getFlags$(): Observable<T>;\n}\n\nexport interface IWritableFeaturesService {\n setFlag(key: string, value: any): void;\n resetFlags(flags: FlagSet): void;\n removeFlag(key: string): void;\n mergeFlags(flags: FlagChangeset): void;\n}\n\nexport type IDebugFeaturesService = Omit<IFeaturesService<WritableFlagChangeset>, 'init'> & {\n enable(on: boolean): void;\n isEnabled$(): Observable<boolean>;\n resetFlags(flags: FlagSet): void;\n};\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Input, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FeaturesServiceToken, IDebugFeaturesService } from '../interfaces/features.interface';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'adf-feature-flags-override-indicator',\n standalone: true,\n imports: [CommonModule],\n styles: [\n `\n .adf-activity-indicator {\n font-size: 0.885rem;\n }\n `,\n `\n .adf-activity-indicator .small {\n font-size: 0.7rem;\n }\n `,\n `\n .adf-activity-indicator .large {\n font-size: 1.2rem;\n }\n `\n ],\n template: `\n <span [ngClass]=\"['activity-indicator', size]\" *ngIf=\"isEnabled; else inActive\">🟢</span>\n <ng-template #inActive><span [ngClass]=\"['activity-indicator', size]\">🔴</span></ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FlagsOverrideComponent {\n isEnabled = false;\n\n @Input()\n size: 'small' | 'medium' | 'large' = 'medium';\n\n constructor(\n @Inject(FeaturesServiceToken)\n private featuresService: IDebugFeaturesService,\n changeDetectorRef: ChangeDetectorRef\n ) {\n if (this.featuresService.isEnabled$) {\n this.featuresService\n .isEnabled$()\n .pipe(takeUntilDestroyed())\n .subscribe((isEnabled) => {\n this.isEnabled = isEnabled;\n changeDetectorRef.markForCheck();\n });\n }\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ChangeDetectionStrategy, Component, Inject, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {\n FeaturesServiceToken,\n IDebugFeaturesService,\n IFeaturesService,\n IWritableFeaturesService,\n WritableFeaturesServiceToken,\n WritableFlagChangeset\n} from '../../interfaces/features.interface';\nimport { BehaviorSubject, combineLatest, Observable } from 'rxjs';\nimport { debounceTime, map, take, tap } from 'rxjs/operators';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatInputModule } from '@angular/material/input';\nimport { FormsModule } from '@angular/forms';\nimport { FlagsOverrideComponent } from '../feature-override-indicator.component';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'adf-feature-flags-overrides',\n standalone: true,\n imports: [\n FlagsOverrideComponent,\n CommonModule,\n FormsModule,\n MatTableModule,\n MatSlideToggleModule,\n MatToolbarModule,\n MatIconModule,\n MatButtonModule,\n MatInputModule,\n MatDialogModule,\n TranslatePipe\n ],\n templateUrl: './flags.component.html',\n styleUrls: ['./flags.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FlagsComponent {\n displayedColumns: string[] = ['icon', 'flag', 'value'];\n flags$: Observable<{ fictive: boolean; flag: string; value: any }[]>;\n isEnabled = false;\n\n inputValue = '';\n inputValue$ = new BehaviorSubject<string>('');\n showPlusButton$!: Observable<boolean>;\n writableFlagChangeset: WritableFlagChangeset = {};\n constructor(\n @Inject(FeaturesServiceToken)\n private featuresService: IDebugFeaturesService & IFeaturesService<WritableFlagChangeset>,\n @Inject(WritableFeaturesServiceToken)\n private writableFeaturesService: IWritableFeaturesService\n ) {\n if (this.featuresService.isEnabled$) {\n this.featuresService\n .isEnabled$()\n .pipe(takeUntilDestroyed())\n .subscribe((isEnabled) => {\n this.isEnabled = isEnabled;\n });\n }\n\n const flags$ = this.featuresService.getFlags$().pipe(\n tap((flags) => (this.writableFlagChangeset = flags)),\n map((flags) =>\n Object.keys(flags).map((key) => ({\n flag: key,\n value: flags[key].current,\n fictive: flags[key]?.fictive ?? false\n }))\n )\n );\n\n const debouncedInputValue$ = this.inputValue$.pipe(debounceTime(100));\n\n this.flags$ = combineLatest([flags$, debouncedInputValue$]).pipe(\n map(([flags, inputValue]) => {\n if (!inputValue) {\n return flags;\n }\n\n return flags.filter((flag) => flag.flag.includes(inputValue));\n })\n );\n\n this.showPlusButton$ = this.flags$.pipe(\n map((filteredFlags) => this.isEnabled && filteredFlags.length === 0 && this.inputValue.trim().length > 0)\n );\n }\n\n protected onChange(flag: string, value: boolean) {\n this.writableFeaturesService.setFlag(flag, value);\n }\n\n protected onEnable(value: boolean) {\n if (value) {\n this.writableFeaturesService.mergeFlags(this.writableFlagChangeset);\n }\n\n this.featuresService.enable(value);\n }\n\n protected onInputChange(text: string) {\n this.inputValue$.next(text);\n }\n\n protected onClearInput() {\n this.inputValue = '';\n this.inputValue$.next('');\n }\n\n protected onAdd(event: KeyboardEvent) {\n this.showPlusButton$.pipe(take(1)).subscribe((showPlusButton) => {\n if (showPlusButton && event.key === 'Enter' && event.shiftKey) {\n this.writableFeaturesService.setFlag(this.inputValue, false);\n }\n });\n }\n\n protected onAddButtonClick() {\n this.writableFeaturesService.setFlag(this.inputValue, false);\n }\n\n protected onDelete(flag: string) {\n this.writableFeaturesService.removeFlag(flag);\n }\n}\n","<mat-toolbar class=\"adf-feature-flags-overrides-header\">\n <div class=\"adf-feature-flags-overrides-header-text\" tabindex=\"0\">\n <adf-feature-flags-override-indicator\n class=\"adf-activity-indicator\"\n size='large' />\n <span>{{ \"CORE.FEATURE-FLAGS.OVERRIDES\" | translate }}</span>\n </div>\n <mat-slide-toggle\n [checked]=\"isEnabled\"\n (change)=\"onEnable($event.checked)\" />\n <button\n class=\"adf-feature-flags-overrides-header-close\"\n mat-icon-button\n mat-dialog-close>\n <mat-icon>close</mat-icon>\n </button>\n</mat-toolbar>\n\n<ng-container *ngIf=\"flags$ | async as flags\">\n <table mat-table [dataSource]=\"flags\" class=\"adf-feature-flags-overrides-table mat-elevation-z0\">\n <ng-container matColumnDef=\"icon\">\n <th mat-header-cell class=\"adf-icon-col adf-header-cell\" *matHeaderCellDef>\n <mat-icon class=\"material-icons-outlined adf-search-icon\">search</mat-icon>\n </th>\n <td mat-cell class=\"adf-icon-col\" *matCellDef=\"let element\">\n <button mat-icon-button *ngIf=\"element.fictive; else flagFromApi\" class=\"adf-fictive-flag-button\" (click)=\"onDelete(element.flag)\">\n <mat-icon class=\"material-icons-outlined adf-custom-flag-icon\" fontIcon=\"memory\" />\n <mat-icon class=\"material-icons-outlined adf-trash-icon\" fontIcon=\"delete\" />\n </button>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"flag\">\n <th mat-header-cell class=\"flag-col header-cell\" *matHeaderCellDef>\n <mat-form-field class=\"adf-flag-form-field\" appearance=\"fill\" floatLabel=\"auto\">\n <input class=\"flag-input\" [placeholder]=\"(isEnabled ? 'CORE.FEATURE-FLAGS.FILTER_OR_ADD_NEW' : 'CORE.FEATURE-FLAGS.FILTER') | translate\" matInput type=\"text\" [(ngModel)]=\"inputValue\" (keyup)=\"onInputChange(inputValue)\" (keypress)=\"onAdd($event)\">\n </mat-form-field>\n </th>\n <td mat-cell class=\"flag-col\" *matCellDef=\"let element\">{{ element.flag }}</td>\n </ng-container>\n\n <ng-container matColumnDef=\"value\">\n <th mat-header-cell class=\"adf-val-col header-cell\" *matHeaderCellDef>\n <div class=\"adf-input-field-buttons-container\">\n <button *ngIf=\"showPlusButton$ | async\" mat-icon-button title=\"{{'CORE.FEATURE-FLAGS.ADD_NEW' | translate}}\" color=\"accent\" (click)=\"onAddButtonClick()\">\n <mat-icon class=\"material-icons-outlined\" fontIcon=\"add_circle\" />\n </button>\n <button *ngIf=\"inputValue\" matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"onClearInput()\" class=\"adf-clear-button\">\n <mat-icon>cancel</mat-icon>\n </button>\n </div>\n </th>\n <td mat-cell class=\"adf-val-col\" *matCellDef=\"let element\">\n <mat-slide-toggle\n [checked]=\"element.value\"\n (change)=\"onChange(element.flag, $event.checked)\"\n [disabled]=\"!isEnabled\" />\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n </table>\n</ng-container>\n\n<ng-template #flagFromApi>\n <mat-icon class=\"material-icons-outlined\">cloud</mat-icon>\n</ng-template>\n\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component } from '@angular/core';\nimport { FlagsComponent } from './flags/flags.component';\n\n@Component({\n selector: 'adf-feature-flags-wrapper',\n standalone: true,\n imports: [FlagsComponent],\n template: `\n <div class=\"adf-feature-flags-wrapper\">\n <adf-feature-flags-overrides />\n </div>\n `,\n styles: [\n `\n .adf-feature-flags-wrapper {\n width: 100%;\n height: 100%;\n }\n `\n ]\n})\nexport class FeatureFlagsWrapperComponent {}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Directive, Inject, Input, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { BehaviorSubject, combineLatest } from 'rxjs';\nimport { FeaturesServiceToken, FlagChangeset, IFeaturesService } from '../interfaces/features.interface';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Directive({\n /* eslint-disable-next-line @angular-eslint/directive-selector */\n selector: '[adfForFeatures]',\n standalone: true\n})\nexport class FeaturesDirective {\n private hasView = false;\n private inputUpdate$ = new BehaviorSubject([] as string[]);\n \n @Input()\n set adfForFeatures(feature: string[] | string) {\n this.inputUpdate$.next(Array.isArray(feature) ? feature : [feature]);\n }\n\n constructor(\n @Inject(FeaturesServiceToken) private featuresService: IFeaturesService,\n private templateRef: TemplateRef<any>,\n private viewContainer: ViewContainerRef\n ) {\n combineLatest([this.featuresService.getFlags$(), this.inputUpdate$])\n .pipe(takeUntilDestroyed())\n .subscribe(([flags, features]: any) => this.updateView(flags, features));\n }\n\n private updateView(flags: FlagChangeset, features: string[]) {\n const shouldShow = features.every((feature) => flags[feature]?.current);\n\n if (shouldShow && !this.hasView) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n this.hasView = true;\n } else if (!shouldShow && this.hasView) {\n this.viewContainer.clear();\n this.hasView = false;\n }\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Directive, Inject, Input, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { BehaviorSubject, combineLatest } from 'rxjs';\nimport { FeaturesServiceToken, FlagChangeset, IFeaturesService } from '../interfaces/features.interface';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Directive({\n /* eslint-disable-next-line @angular-eslint/directive-selector */\n selector: '[adfNotForFeatures]',\n standalone: true\n})\nexport class NotFeaturesDirective {\n private hasView = false;\n private inputUpdate$ = new BehaviorSubject([] as string[]);\n\n @Input()\n set adfNotForFeatures(feature: string[] | string) {\n this.inputUpdate$.next(Array.isArray(feature) ? feature : [feature]);\n }\n\n constructor(\n @Inject(FeaturesServiceToken) private featuresService: IFeaturesService,\n private templateRef: TemplateRef<any>,\n private viewContainer: ViewContainerRef\n ) {\n combineLatest([this.featuresService.getFlags$(), this.inputUpdate$])\n .pipe(takeUntilDestroyed())\n .subscribe(([flags, features]: any) => this.updateView(flags, features));\n }\n\n private updateView(flags: FlagChangeset, features: string[]) {\n const shouldShow = features.every((feature) => !flags[feature]?.current);\n\n if (shouldShow && !this.hasView) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n this.hasView = true;\n } else if (!shouldShow && this.hasView) {\n this.viewContainer.clear();\n this.hasView = false;\n }\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Inject, Injectable, inject } from '@angular/core';\nimport { FeaturesServiceToken, IFeaturesService } from '../interfaces/features.interface';\nimport { Route } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nexport const isFeatureOn = (flag: string) => () => inject(FeaturesServiceToken).isOn$(flag);\n\n@Injectable({ providedIn: 'root' })\nexport class IsFeatureOn {\n constructor(@Inject(FeaturesServiceToken) private featuresServiceToken: IFeaturesService) {}\n\n canMatch(route: Route): Observable<boolean> {\n return this.featuresServiceToken.isOn$(route?.data?.['feature']);\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Inject, Injectable, inject } from '@angular/core';\nimport { FeaturesServiceToken, IFeaturesService } from '../interfaces/features.interface';\nimport { Route } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nexport const isFeatureOff = (flag: string) => () => inject(FeaturesServiceToken).isOff$(flag);\n\n@Injectable({ providedIn: 'root' })\nexport class IsFeatureOff {\n constructor(@Inject(FeaturesServiceToken) private featuresServiceToken: IFeaturesService) {}\n\n canMatch(route: Route): Observable<boolean> {\n return this.featuresServiceToken.isOff$(route?.data?.['feature']);\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Inject, Injectable, Optional, inject } from '@angular/core';\nimport { FlagsOverrideToken } from '../interfaces/features.interface';\n\nexport const isFlagsOverrideOn = () => () => inject(FlagsOverrideToken) ?? false;\n\n@Injectable({ providedIn: 'root' })\nexport class IsFlagsOverrideOn {\n constructor(@Optional() @Inject(FlagsOverrideToken) private devToolsToken: boolean) {}\n\n canMatch(): boolean {\n return !!this.devToolsToken;\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { IFeaturesService, FlagChangeset } from '../interfaces/features.interface';\n\n@Injectable()\nexport class DummyFeaturesService implements IFeaturesService {\n init(): Observable<FlagChangeset> {\n return of();\n }\n\n isOn$(): Observable<boolean> {\n return of(false);\n }\n\n isOff$(_key: string): Observable<boolean> {\n return of(true);\n }\n\n getFlags$(): Observable<FlagChangeset> {\n return of({});\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { IsFlagsOverrideOn } from '../guards/is-flags-override-on.guard';\nimport { IsFeatureOn } from '../guards/is-feature-on.guard';\nimport { IsFeatureOff } from '../guards/is-feature-off.guard';\nimport { FeaturesServiceToken, FlagsOverrideToken } from '../interfaces/features.interface';\nimport { DummyFeaturesService } from '../services/dummy-features.service';\n\n/**\n * Provides the dummy feature flags.\n *\n * @returns Environment Providers for Feature Flags.\n */\nexport function provideDummyFeatureFlags() {\n return [\n { provide: FeaturesServiceToken, useClass: DummyFeaturesService },\n { provide: FlagsOverrideToken, useValue: false },\n IsFeatureOn,\n IsFeatureOff,\n IsFlagsOverrideOn\n ];\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { WritableFlagChangeset } from '../interfaces/features.interface';\n\ninterface SerializedFlagSet {\n [key: string]: {\n current: boolean;\n fictive?: boolean;\n };\n}\n\nexport class FlagSetParser {\n static serialize(flags: WritableFlagChangeset): SerializedFlagSet {\n return Object.keys(flags).reduce(\n (acc, key) => ({\n ...acc,\n [key]: {\n current: flags[key].current,\n fictive: flags[key].fictive\n }\n }),\n {}\n );\n }\n\n static deserialize(serializedFlags: SerializedFlagSet): WritableFlagChangeset {\n return Object.keys(serializedFlags).reduce(\n (acc, key) => ({\n ...acc,\n [key]: {\n current: serializedFlags[key].current,\n previous: null,\n ...(serializedFlags[key].fictive ? { fictive: true } : {})\n }\n }),\n {}\n );\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { BehaviorSubject, combineLatest, Observable, of } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\nimport {\n FlagChangeset,\n IFeaturesService,\n FlagSet,\n IWritableFeaturesService,\n WritableFeaturesServiceConfigToken,\n WritableFlagChangeset,\n WritableFeaturesServiceConfig\n} from '../interfaces/features.interface';\nimport { FlagSetParser } from './flagset.parser';\n\n@Injectable({ providedIn: 'root' })\nexport class StorageFeaturesService implements IFeaturesService, IWritableFeaturesService {\n private currentFlagState: WritableFlagChangeset = {};\n private readonly flags = new BehaviorSubject<WritableFlagChangeset>({});\n private readonly flags$ = this.flags.asObservable();\n private readonly initSubject = new BehaviorSubject<boolean>(false);\n\n constructor(@Optional() @Inject(WritableFeaturesServiceConfigToken) private config?: WritableFeaturesServiceConfig) {\n combineLatest({\n flags: this.flags,\n init: this.waitForInitializationToFinish()\n }).subscribe(({ flags }) => {\n this.currentFlagState = flags;\n sessionStorage.setItem(this.storageKey, JSON.stringify(FlagSetParser.serialize(flags)));\n });\n }\n\n get storageKey(): string {\n return this.config?.storageKey || 'feature-flags';\n }\n\n init(): Observable<WritableFlagChangeset> {\n const storedFlags = JSON.parse(sessionStorage.getItem(this.storageKey) || '{}');\n const initialFlagChangeSet = FlagSetParser.deserialize(storedFlags);\n this.flags.next(initialFlagChangeSet);\n this.initSubject.next(true);\n return of(initialFlagChangeSet);\n }\n\n isOn$(key: string): Observable<boolean> {\n return this.flags$.pipe(map((flags) => !!flags[key]?.current));\n }\n\n isOff$(key: string): Observable<boolean> {\n return this.flags$.pipe(map((flags) => !flags[key]?.current));\n }\n\n getFlags$(): Observable<WritableFlagChangeset> {\n return this.flags$;\n }\n\n setFlag(key: string, value: any): void {\n let fictive = {};\n if (!this.currentFlagState[key]) {\n fictive = { fictive: true };\n } else {\n fictive = this.currentFlagState[key]?.fictive ? { fictive: true } : {};\n }\n\n this.flags.next({\n ...this.currentFlagState,\n [key]: {\n current: value,\n previous: this.currentFlagState[key]?.current ?? null,\n ...fictive\n }\n });\n }\n\n removeFlag(key: string): void {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [key]: _, ...flags } = this.currentFlagState;\n this.flags.next(flags);\n }\n\n resetFlags(flags: FlagSet): void {\n this.flags.next(\n Object.keys(flags).reduce(\n (acc, key) => ({\n ...acc,\n [key]: {\n current: flags[key],\n previous: null,\n fictive: true\n }\n }),\n {}\n )\n );\n }\n\n mergeFlags(flags: FlagChangeset): void {\n const mergedFlags: WritableFlagChangeset = Object.keys(flags).reduce((acc, key) => {\n const current = this.currentFlagState[key]?.current;\n return {\n ...acc,\n [key]: {\n current: current ?? flags[key].current,\n previous: current ?? null\n }\n };\n }, {});\n\n Object.keys(this.currentFlagState)\n .filter((key) => !flags[key])\n .forEach((key) => {\n mergedFlags[key] = {\n current: this.currentFlagState[key].current,\n previous: this.currentFlagState[key].previous,\n fictive: true\n };\n });\n\n this.flags.next(mergedFlags);\n }\n\n private waitForInitializationToFinish(): Observable<boolean> {\n return this.initSubject.pipe(filter((initialized) => !!initialized));\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { BehaviorSubject, Observable, combineLatest } from 'rxjs';\nimport { filter, switchMap } from 'rxjs/operators';\nimport {\n IDebugFeaturesService,\n IFeaturesService,\n FlagChangeset,\n OverridableFeaturesServiceToken,\n WritableFeaturesServiceToken,\n WritableFeaturesServiceConfigToken,\n WritableFeaturesServiceConfig,\n FlagSet,\n IWritableFeaturesService\n} from '../interfaces/features.interface';\n\n@Injectable()\nexport class DebugFeaturesService implements IDebugFeaturesService {\n private readonly isInDebugModeSubject = new BehaviorSubject<boolean>(false);\n private readonly isInDebugMode$ = this.isInDebugModeSubject.asObservable();\n private readonly initSubject = new BehaviorSubject<boolean>(false);\n\n get storageKey(): string {\n return `${this.config?.storageKey || 'feature-flags'}-override`;\n }\n\n constructor(\n @Inject(OverridableFeaturesServiceToken) private overriddenFeaturesService: IFeaturesService,\n @Inject(WritableFeaturesServiceToken) private writableFeaturesService: IFeaturesService & IWritableFeaturesService,\n @Optional() @Inject(WritableFeaturesServiceConfigToken) private config?: WritableFeaturesServiceConfig\n ) {\n this.init();\n\n combineLatest({\n debugMode: this.isInDebugModeSubject,\n init: this.waitForInitializationToFinish()\n }).subscribe(({ debugMode }) => {\n sessionStorage.setItem(this.storageKey, JSON.stringify(debugMode));\n });\n }\n\n isOn$(key: string): Observable<boolean> {\n return this.isInDebugMode$.pipe(\n switchMap((isInDebugMode) => (isInDebugMode ? this.writableFeaturesService : this.overriddenFeaturesService).isOn$(key))\n );\n }\n\n isOff$(key: string): Observable<boolean> {\n return this.isInDebugMode$.pipe(\n switchMap((isInDebugMode) => (isInDebugMode ? this.writableFeaturesService : this.overriddenFeaturesService).isOff$(key))\n );\n }\n\n /**\n * Gets the flags as an observable.\n *\n * @returns the observable that emits the flag changeset.\n */\n getFlags$(): Observable<FlagChangeset> {\n return this.isInDebugMode$.pipe(\n switchMap((isInDebugMode) => (isInDebugMode ? this.writableFeaturesService : this.overriddenFeaturesService).getFlags$())\n );\n }\n\n /**\n * Resets the specified flags.\n *\n * @param flags The flags to reset.\n */\n resetFlags(flags: FlagSet): void {\n this.writableFeaturesService.resetFlags(flags);\n }\n\n enable(on: boolean): void {\n this.isInDebugModeSubject.next(on);\n }\n\n isEnabled$(): Observable<boolean> {\n return this.isInDebugMode$;\n }\n\n private init() {\n const storedOverride = JSON.parse(sessionStorage.getItem(this.storageKey) || 'false');\n this.isInDebugModeSubject.next(storedOverride);\n this.initSubject.next(true);\n }\n\n private waitForInitializationToFinish(): Observable<boolean> {\n return this.initSubject.pipe(filter((initialized) => !!initialized));\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ApplicationRef, Inject, Injectable } from '@angular/core';\nimport { FeaturesServiceToken, FlagSet } from '../interfaces/features.interface';\nimport { DebugFeaturesService } from './debug-features.service';\n@Injectable()\nexport class QaFeaturesHelper {\n constructor(private applicationRef: ApplicationRef, @Inject(FeaturesServiceToken) private debugFeaturesService: DebugFeaturesService) {}\n\n isOn(key: string): boolean {\n let isOn = false;\n this.debugFeaturesService.isOn$(key).subscribe((on) => {\n isOn = on;\n });\n\n return isOn;\n }\n\n resetFlags(flags: FlagSet): void {\n this.debugFeaturesService.resetFlags(flags);\n this.applicationRef.tick();\n }\n\n enable(): void {\n this.debugFeaturesService.enable(true);\n this.applicationRef.tick();\n }\n\n disable(): void {\n this.debugFeaturesService.enable(false);\n this.applicationRef.tick();\n }\n\n isEnabled(): boolean {\n let enabled = false;\n this.debugFeaturesService.isEnabled$().subscribe((isEnabled) => {\n enabled = isEnabled;\n });\n return enabled;\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { APP_INITIALIZER } from '@angular/core';\nimport {\n FlagsOverrideToken,\n FeaturesServiceToken,\n QaFeaturesHelperConfig,\n WritableFeaturesServiceConfig,\n WritableFeaturesServiceConfigToken,\n WritableFeaturesServiceToken\n} from '../interfaces/features.interface';\nimport { StorageFeaturesService } from '../services/storage-features.service';\nimport { DebugFeaturesService } from '../services/debug-features.service';\nimport { QaFeaturesHelper } from '../services/qa-features.helper';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n *\n * @param config Configuration for the Feature Flags\n * @returns Environment Providers for Feature Flags\n */\nexport function provideDebugFeatureFlags(config: WritableFeaturesServiceConfig & QaFeaturesHelperConfig) {\n return [\n { provide: FlagsOverrideToken, useValue: true },\n { provide: FeaturesServiceToken, useClass: DebugFeaturesService },\n { provide: WritableFeaturesServiceConfigToken, useValue: config },\n { provide: WritableFeaturesServiceToken, useClass: StorageFeaturesService },\n { provide: QaFeaturesHelper, useClass: QaFeaturesHelper },\n {\n provide: APP_INITIALIZER,\n useFactory: (featuresService: StorageFeaturesService) => () => featuresService.init(),\n deps: [WritableFeaturesServiceToken],\n multi: true\n },\n {\n provide: APP_INITIALIZER,\n useFactory: (qaFeaturesHelper: QaFeaturesHelper, document: Document & { [key: string]: QaFeaturesHelper }) => () => {\n document[config.helperExposeKeyOnDocument ?? 'featureOverrides'] = qaFeaturesHelper;\n },\n deps: [QaFeaturesHelper, DOCUMENT],\n multi: true\n }\n ];\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { of } from 'rxjs';\nimport { FeaturesServiceToken, FlagChangeset, IFeaturesService } from '../interfaces/features.interface';\n\nexport interface MockFeatureFlags {\n [key: string]: boolean;\n}\n\nconst assertFeatureFlag = (flagChangeset: FlagChangeset, key: string): void => {\n const flagChangesetValue = flagChangeset[key];\n\n if (flagChangesetValue === undefined) {\n throw new Error(\n `ERROR FEATURE-FLAG\\n'${key}' feature is not mocked, please mock '${key}' using '${provideMockFeatureFlags.name}' helper in your test\\n`\n );\n }\n};\n\nconst mockFeaturesService = (flagChangeset: FlagChangeset): IFeaturesService => ({\n init: () => of(flagChangeset),\n isOn$: (key) => {\n assertFeatureFlag(flagChangeset, key);\n return of(flagChangeset[key].current);\n },\n isOff$: (key) => {\n assertFeatureFlag(flagChangeset, key);\n return of(!flagChangeset[key].current);\n },\n getFlags$: () => of(flagChangeset)\n});\n\nconst arrayToFlagChangeset = (featureFlags: string[]): FlagChangeset => {\n const flagChangeset: FlagChangeset = {};\n featureFlags.forEach((featureFlag) => {\n flagChangeset[featureFlag] = { current: true, previous: null };\n });\n return flagChangeset;\n};\n\nconst mockFeatureFlagsToFlagChangeset = (mockFeatureFlags: MockFeatureFlags) => {\n const flagChangeset: FlagChangeset = {};\n const featureFlags = Object.keys(mockFeatureFlags);\n featureFlags.forEach((featureFlag) => {\n flagChangeset[featureFlag] = { current: mockFeatureFlags[featureFlag], previous: null };\n });\n return flagChangeset;\n};\n\nexport const provideMockFeatureFlags = (featureFlag: MockFeatureFlags | string | string[]) => {\n if (typeof featureFlag === 'string') {\n featureFlag = [featureFlag];\n }\n\n const flagChangeset = Array.isArray(featureFlag) ? arrayToFlagChangeset(featureFlag) : mockFeatureFlagsToFlagChangeset(featureFlag);\n\n return {\n provide: FeaturesServiceToken,\n useValue: mockFeaturesService(flagChangeset)\n };\n};\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './lib/components/flags/flags.component';\nexport * from './lib/components/feature-override-indicator.component';\nexport * from './lib/components/feature-flags-wrapper';\nexport * from './lib/directives/features.directive';\nexport * from './lib/directives/not-features.directive';\nexport * from './lib/guards/is-feature-on.guard';\nexport * from './lib/guards/is-feature-off.guard';\nexport * from './lib/guards/is-flags-override-on.guard';\nexport * from './lib/providers/dummy-feature-flags.provider';\nexport * from './lib/providers/debug-feature-flags.provider';\nexport * from './lib/interfaces/features.interface';\nexport * from './lib/mocks/features-service-mock.factory';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alfresco-adf-core-feature-flags.mjs","sources":["../../../../lib/core/feature-flags/src/lib/interfaces/features.interface.ts","../../../../lib/core/feature-flags/src/lib/components/feature-override-indicator.component.ts","../../../../lib/core/feature-flags/src/lib/components/flags/flags.component.ts","../../../../lib/core/feature-flags/src/lib/components/flags/flags.component.html","../../../../lib/core/feature-flags/src/lib/components/feature-flags-wrapper.ts","../../../../lib/core/feature-flags/src/lib/directives/features.directive.ts","../../../../lib/core/feature-flags/src/lib/directives/not-features.directive.ts","../../../../lib/core/feature-flags/src/lib/guards/is-feature-on.guard.ts","../../../../lib/core/feature-flags/src/lib/guards/is-feature-off.guard.ts","../../../../lib/core/feature-flags/src/lib/guards/is-flags-override-on.guard.ts","../../../../lib/core/feature-flags/src/lib/services/dummy-features.service.ts","../../../../lib/core/feature-flags/src/lib/providers/dummy-feature-flags.provider.ts","../../../../lib/core/feature-flags/src/lib/services/flagset.parser.ts","../../../../lib/core/feature-flags/src/lib/services/storage-features.service.ts","../../../../lib/core/feature-flags/src/lib/services/debug-features.service.ts","../../../../lib/core/feature-flags/src/lib/services/qa-features.helper.ts","../../../../lib/core/feature-flags/src/lib/providers/debug-feature-flags.provider.ts","../../../../lib/core/feature-flags/src/lib/mocks/features-service-mock.factory.ts","../../../../lib/core/feature-flags/src/index.ts","../../../../lib/core/feature-flags/src/alfresco-adf-core-feature-flags.ts"],"sourcesContent":["/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { InjectionToken } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nexport const FeaturesServiceConfigToken = new InjectionToken<any>('FeatureServiceConfigToken');\nexport const FeaturesServiceToken = new InjectionToken<IFeaturesService>('FeaturesService');\nexport const WritableFeaturesServiceToken = new InjectionToken<IFeaturesService & IWritableFeaturesService>('WritableFeaturesServiceToken');\nexport const WritableFeaturesServiceConfigToken = new InjectionToken<WritableFeaturesServiceConfig>('WritableFeaturesServiceConfigToken');\nexport const OverridableFeaturesServiceToken = new InjectionToken<IFeaturesService>('OverridableFeaturesServiceToken');\nexport const FlagsOverrideToken = new InjectionToken<boolean>('FlagsOverrideToken');\n\nexport interface WritableFeaturesServiceConfig {\n storageKey?: string;\n}\nexport interface QaFeaturesHelperConfig {\n helperExposeKeyOnDocument?: string;\n}\n\nexport interface FlagChangeset {\n [key: string]: {\n current: any;\n previous: any;\n };\n}\n\nexport interface WritableFlagChangeset {\n [key: string]: {\n current: any;\n previous: any;\n fictive?: boolean;\n };\n}\n\nexport interface FlagSet {\n [key: string]: any;\n}\n\nexport interface IFeaturesService<T = FlagChangeset> {\n init(): Observable<T>;\n isOn$(key: string): Observable<boolean>;\n isOff$(key: string): Observable<boolean>;\n getFlags$(): Observable<T>;\n}\n\nexport interface IWritableFeaturesService {\n setFlag(key: string, value: any): void;\n resetFlags(flags: FlagSet): void;\n removeFlag(key: string): void;\n mergeFlags(flags: FlagChangeset): void;\n}\n\nexport type IDebugFeaturesService = Omit<IFeaturesService<WritableFlagChangeset>, 'init'> & {\n enable(on: boolean): void;\n isEnabled$(): Observable<boolean>;\n resetFlags(flags: FlagSet): void;\n};\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Input, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FeaturesServiceToken, IDebugFeaturesService } from '../interfaces/features.interface';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'adf-feature-flags-override-indicator',\n imports: [CommonModule],\n styles: [\n `\n .adf-activity-indicator {\n font-size: 0.885rem;\n }\n `,\n `\n .adf-activity-indicator .small {\n font-size: 0.7rem;\n }\n `,\n `\n .adf-activity-indicator .large {\n font-size: 1.2rem;\n }\n `\n ],\n template: `\n <span [ngClass]=\"['activity-indicator', size]\" *ngIf=\"isEnabled; else inActive\">🟢</span>\n <ng-template #inActive><span [ngClass]=\"['activity-indicator', size]\">🔴</span></ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FlagsOverrideComponent {\n isEnabled = false;\n\n @Input()\n size: 'small' | 'medium' | 'large' = 'medium';\n\n constructor(\n @Inject(FeaturesServiceToken)\n private featuresService: IDebugFeaturesService,\n changeDetectorRef: ChangeDetectorRef\n ) {\n if (this.featuresService.isEnabled$) {\n this.featuresService\n .isEnabled$()\n .pipe(takeUntilDestroyed())\n .subscribe((isEnabled) => {\n this.isEnabled = isEnabled;\n changeDetectorRef.markForCheck();\n });\n }\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ChangeDetectionStrategy, Component, Inject, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {\n FeaturesServiceToken,\n IDebugFeaturesService,\n IFeaturesService,\n IWritableFeaturesService,\n WritableFeaturesServiceToken,\n WritableFlagChangeset\n} from '../../interfaces/features.interface';\nimport { BehaviorSubject, combineLatest, Observable } from 'rxjs';\nimport { debounceTime, map, take, tap } from 'rxjs/operators';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatInputModule } from '@angular/material/input';\nimport { FormsModule } from '@angular/forms';\nimport { FlagsOverrideComponent } from '../feature-override-indicator.component';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'adf-feature-flags-overrides',\n imports: [\n FlagsOverrideComponent,\n CommonModule,\n FormsModule,\n MatTableModule,\n MatSlideToggleModule,\n MatToolbarModule,\n MatIconModule,\n MatButtonModule,\n MatInputModule,\n MatDialogModule,\n TranslatePipe\n ],\n templateUrl: './flags.component.html',\n styleUrls: ['./flags.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FlagsComponent {\n displayedColumns: string[] = ['icon', 'flag', 'value'];\n flags$: Observable<{ fictive: boolean; flag: string; value: any }[]>;\n isEnabled = false;\n\n inputValue = '';\n inputValue$ = new BehaviorSubject<string>('');\n showPlusButton$!: Observable<boolean>;\n writableFlagChangeset: WritableFlagChangeset = {};\n constructor(\n @Inject(FeaturesServiceToken)\n private featuresService: IDebugFeaturesService & IFeaturesService<WritableFlagChangeset>,\n @Inject(WritableFeaturesServiceToken)\n private writableFeaturesService: IWritableFeaturesService\n ) {\n if (this.featuresService.isEnabled$) {\n this.featuresService\n .isEnabled$()\n .pipe(takeUntilDestroyed())\n .subscribe((isEnabled) => {\n this.isEnabled = isEnabled;\n });\n }\n\n const flags$ = this.featuresService.getFlags$().pipe(\n tap((flags) => (this.writableFlagChangeset = flags)),\n map((flags) =>\n Object.keys(flags).map((key) => ({\n flag: key,\n value: flags[key].current,\n fictive: flags[key]?.fictive ?? false\n }))\n )\n );\n\n const debouncedInputValue$ = this.inputValue$.pipe(debounceTime(100));\n\n this.flags$ = combineLatest([flags$, debouncedInputValue$]).pipe(\n map(([flags, inputValue]) => {\n if (!inputValue) {\n return flags;\n }\n\n return flags.filter((flag) => flag.flag.includes(inputValue));\n })\n );\n\n this.showPlusButton$ = this.flags$.pipe(\n map((filteredFlags) => this.isEnabled && filteredFlags.length === 0 && this.inputValue.trim().length > 0)\n );\n }\n\n protected onChange(flag: string, value: boolean) {\n this.writableFeaturesService.setFlag(flag, value);\n }\n\n protected onEnable(value: boolean) {\n if (value) {\n this.writableFeaturesService.mergeFlags(this.writableFlagChangeset);\n }\n\n this.featuresService.enable(value);\n }\n\n onInputChange(text: string) {\n this.inputValue$.next(text);\n }\n\n onClearInput() {\n this.inputValue = '';\n this.inputValue$.next('');\n }\n\n protected onAdd(event: KeyboardEvent) {\n this.showPlusButton$.pipe(take(1)).subscribe((showPlusButton) => {\n if (showPlusButton && event.key === 'Enter' && event.shiftKey) {\n this.writableFeaturesService.setFlag(this.inputValue, false);\n }\n });\n }\n\n protected onAddButtonClick() {\n this.writableFeaturesService.setFlag(this.inputValue, false);\n }\n\n protected onDelete(flag: string) {\n this.writableFeaturesService.removeFlag(flag);\n }\n}\n","<mat-toolbar class=\"adf-feature-flags-overrides-header\">\n <div class=\"adf-feature-flags-overrides-header-text\" tabindex=\"0\">\n <adf-feature-flags-override-indicator\n class=\"adf-activity-indicator\"\n size='large' />\n <span>{{ \"CORE.FEATURE-FLAGS.OVERRIDES\" | translate }}</span>\n </div>\n <mat-slide-toggle\n [checked]=\"isEnabled\"\n (change)=\"onEnable($event.checked)\" />\n <button\n class=\"adf-feature-flags-overrides-header-close\"\n mat-icon-button\n mat-dialog-close>\n <mat-icon>close</mat-icon>\n </button>\n</mat-toolbar>\n\n<ng-container *ngIf=\"flags$ | async as flags\">\n <table mat-table [dataSource]=\"flags\" class=\"adf-feature-flags-overrides-table mat-elevation-z0\">\n <ng-container matColumnDef=\"icon\">\n <th mat-header-cell class=\"adf-icon-col adf-header-cell\" *matHeaderCellDef>\n <mat-icon class=\"material-icons-outlined adf-search-icon\">search</mat-icon>\n </th>\n <td mat-cell class=\"adf-icon-col\" *matCellDef=\"let element\">\n <button mat-icon-button *ngIf=\"element.fictive; else flagFromApi\" class=\"adf-fictive-flag-button\" (click)=\"onDelete(element.flag)\">\n <mat-icon class=\"material-icons-outlined adf-custom-flag-icon\" fontIcon=\"memory\" />\n <mat-icon class=\"material-icons-outlined adf-trash-icon\" fontIcon=\"delete\" />\n </button>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"flag\">\n <th mat-header-cell class=\"flag-col header-cell\" *matHeaderCellDef>\n <mat-form-field class=\"adf-flag-form-field\" appearance=\"fill\" floatLabel=\"auto\">\n <input class=\"flag-input\" [placeholder]=\"(isEnabled ? 'CORE.FEATURE-FLAGS.FILTER_OR_ADD_NEW' : 'CORE.FEATURE-FLAGS.FILTER') | translate\" matInput type=\"text\" [(ngModel)]=\"inputValue\" (keyup)=\"onInputChange(inputValue)\" (keypress)=\"onAdd($event)\">\n </mat-form-field>\n </th>\n <td mat-cell class=\"flag-col\" *matCellDef=\"let element\">{{ element.flag }}</td>\n </ng-container>\n\n <ng-container matColumnDef=\"value\">\n <th mat-header-cell class=\"adf-val-col header-cell\" *matHeaderCellDef>\n <div class=\"adf-input-field-buttons-container\">\n <button *ngIf=\"showPlusButton$ | async\" mat-icon-button title=\"{{'CORE.FEATURE-FLAGS.ADD_NEW' | translate}}\" color=\"accent\" (click)=\"onAddButtonClick()\">\n <mat-icon class=\"material-icons-outlined\" fontIcon=\"add_circle\" />\n </button>\n <button *ngIf=\"inputValue\" matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"onClearInput()\" class=\"adf-clear-button\">\n <mat-icon>cancel</mat-icon>\n </button>\n </div>\n </th>\n <td mat-cell class=\"adf-val-col\" *matCellDef=\"let element\">\n <mat-slide-toggle\n [checked]=\"element.value\"\n (change)=\"onChange(element.flag, $event.checked)\"\n [disabled]=\"!isEnabled\" />\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n </table>\n</ng-container>\n\n<ng-template #flagFromApi>\n <mat-icon class=\"material-icons-outlined\">cloud</mat-icon>\n</ng-template>\n\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component } from '@angular/core';\nimport { FlagsComponent } from './flags/flags.component';\n\n@Component({\n selector: 'adf-feature-flags-wrapper',\n imports: [FlagsComponent],\n template: `\n <div class=\"adf-feature-flags-wrapper\">\n <adf-feature-flags-overrides />\n </div>\n `,\n styles: [\n `\n .adf-feature-flags-wrapper {\n width: 100%;\n height: 100%;\n }\n `\n ]\n})\nexport class FeatureFlagsWrapperComponent {}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Directive, Inject, Input, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { BehaviorSubject, combineLatest } from 'rxjs';\nimport { FeaturesServiceToken, FlagChangeset, IFeaturesService } from '../interfaces/features.interface';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Directive({\n /* eslint-disable-next-line @angular-eslint/directive-selector */\n selector: '[adfForFeatures]'\n})\nexport class FeaturesDirective {\n private hasView = false;\n private inputUpdate$ = new BehaviorSubject([] as string[]);\n\n @Input()\n set adfForFeatures(feature: string[] | string) {\n this.inputUpdate$.next(Array.isArray(feature) ? feature : [feature]);\n }\n\n constructor(\n @Inject(FeaturesServiceToken) private featuresService: IFeaturesService,\n private templateRef: TemplateRef<any>,\n private viewContainer: ViewContainerRef\n ) {\n combineLatest([this.featuresService.getFlags$(), this.inputUpdate$])\n .pipe(takeUntilDestroyed())\n .subscribe(([flags, features]: any) => this.updateView(flags, features));\n }\n\n private updateView(flags: FlagChangeset, features: string[]) {\n const shouldShow = features.every((feature) => flags[feature]?.current);\n\n if (shouldShow && !this.hasView) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n this.hasView = true;\n } else if (!shouldShow && this.hasView) {\n this.viewContainer.clear();\n this.hasView = false;\n }\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Directive, Inject, Input, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { BehaviorSubject, combineLatest } from 'rxjs';\nimport { FeaturesServiceToken, FlagChangeset, IFeaturesService } from '../interfaces/features.interface';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Directive({\n /* eslint-disable-next-line @angular-eslint/directive-selector */\n selector: '[adfNotForFeatures]'\n})\nexport class NotFeaturesDirective {\n private hasView = false;\n private inputUpdate$ = new BehaviorSubject([] as string[]);\n\n @Input()\n set adfNotForFeatures(feature: string[] | string) {\n this.inputUpdate$.next(Array.isArray(feature) ? feature : [feature]);\n }\n\n constructor(\n @Inject(FeaturesServiceToken) private featuresService: IFeaturesService,\n private templateRef: TemplateRef<any>,\n private viewContainer: ViewContainerRef\n ) {\n combineLatest([this.featuresService.getFlags$(), this.inputUpdate$])\n .pipe(takeUntilDestroyed())\n .subscribe(([flags, features]: any) => this.updateView(flags, features));\n }\n\n private updateView(flags: FlagChangeset, features: string[]) {\n const shouldShow = features.every((feature) => !flags[feature]?.current);\n\n if (shouldShow && !this.hasView) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n this.hasView = true;\n } else if (!shouldShow && this.hasView) {\n this.viewContainer.clear();\n this.hasView = false;\n }\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Inject, Injectable, inject } from '@angular/core';\nimport { FeaturesServiceToken, IFeaturesService } from '../interfaces/features.interface';\nimport { Route } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nexport const isFeatureOn = (flag: string) => () => inject(FeaturesServiceToken).isOn$(flag);\n\n@Injectable({ providedIn: 'root' })\nexport class IsFeatureOn {\n constructor(@Inject(FeaturesServiceToken) private featuresServiceToken: IFeaturesService) {}\n\n canMatch(route: Route): Observable<boolean> {\n return this.featuresServiceToken.isOn$(route?.data?.['feature']);\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Inject, Injectable, inject } from '@angular/core';\nimport { FeaturesServiceToken, IFeaturesService } from '../interfaces/features.interface';\nimport { Route } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nexport const isFeatureOff = (flag: string) => () => inject(FeaturesServiceToken).isOff$(flag);\n\n@Injectable({ providedIn: 'root' })\nexport class IsFeatureOff {\n constructor(@Inject(FeaturesServiceToken) private featuresServiceToken: IFeaturesService) {}\n\n canMatch(route: Route): Observable<boolean> {\n return this.featuresServiceToken.isOff$(route?.data?.['feature']);\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Inject, Injectable, Optional, inject } from '@angular/core';\nimport { FlagsOverrideToken } from '../interfaces/features.interface';\n\nexport const isFlagsOverrideOn = () => () => inject(FlagsOverrideToken) ?? false;\n\n@Injectable({ providedIn: 'root' })\nexport class IsFlagsOverrideOn {\n constructor(@Optional() @Inject(FlagsOverrideToken) private devToolsToken: boolean) {}\n\n canMatch(): boolean {\n return !!this.devToolsToken;\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { IFeaturesService, FlagChangeset } from '../interfaces/features.interface';\n\n@Injectable()\nexport class DummyFeaturesService implements IFeaturesService {\n init(): Observable<FlagChangeset> {\n return of();\n }\n\n isOn$(): Observable<boolean> {\n return of(false);\n }\n\n isOff$(_key: string): Observable<boolean> {\n return of(true);\n }\n\n getFlags$(): Observable<FlagChangeset> {\n return of({});\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { IsFlagsOverrideOn } from '../guards/is-flags-override-on.guard';\nimport { IsFeatureOn } from '../guards/is-feature-on.guard';\nimport { IsFeatureOff } from '../guards/is-feature-off.guard';\nimport { FeaturesServiceToken, FlagsOverrideToken } from '../interfaces/features.interface';\nimport { DummyFeaturesService } from '../services/dummy-features.service';\n\n/**\n * Provides the dummy feature flags.\n *\n * @returns Environment Providers for Feature Flags.\n */\nexport function provideDummyFeatureFlags() {\n return [\n { provide: FeaturesServiceToken, useClass: DummyFeaturesService },\n { provide: FlagsOverrideToken, useValue: false },\n IsFeatureOn,\n IsFeatureOff,\n IsFlagsOverrideOn\n ];\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { WritableFlagChangeset } from '../interfaces/features.interface';\n\ninterface SerializedFlagSet {\n [key: string]: {\n current: boolean;\n fictive?: boolean;\n };\n}\n\nexport class FlagSetParser {\n static serialize(flags: WritableFlagChangeset): SerializedFlagSet {\n return Object.keys(flags).reduce(\n (acc, key) => ({\n ...acc,\n [key]: {\n current: flags[key].current,\n fictive: flags[key].fictive\n }\n }),\n {}\n );\n }\n\n static deserialize(serializedFlags: SerializedFlagSet): WritableFlagChangeset {\n return Object.keys(serializedFlags).reduce(\n (acc, key) => ({\n ...acc,\n [key]: {\n current: serializedFlags[key].current,\n previous: null,\n ...(serializedFlags[key].fictive ? { fictive: true } : {})\n }\n }),\n {}\n );\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { BehaviorSubject, combineLatest, Observable, of } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\nimport {\n FlagChangeset,\n IFeaturesService,\n FlagSet,\n IWritableFeaturesService,\n WritableFeaturesServiceConfigToken,\n WritableFlagChangeset,\n WritableFeaturesServiceConfig\n} from '../interfaces/features.interface';\nimport { FlagSetParser } from './flagset.parser';\n\n@Injectable({ providedIn: 'root' })\nexport class StorageFeaturesService implements IFeaturesService, IWritableFeaturesService {\n private currentFlagState: WritableFlagChangeset = {};\n private readonly flags = new BehaviorSubject<WritableFlagChangeset>({});\n private readonly flags$ = this.flags.asObservable();\n private readonly initSubject = new BehaviorSubject<boolean>(false);\n\n constructor(@Optional() @Inject(WritableFeaturesServiceConfigToken) private config?: WritableFeaturesServiceConfig) {\n combineLatest({\n flags: this.flags,\n init: this.waitForInitializationToFinish()\n }).subscribe(({ flags }) => {\n this.currentFlagState = flags;\n sessionStorage.setItem(this.storageKey, JSON.stringify(FlagSetParser.serialize(flags)));\n });\n }\n\n get storageKey(): string {\n return this.config?.storageKey || 'feature-flags';\n }\n\n init(): Observable<WritableFlagChangeset> {\n const storedFlags = JSON.parse(sessionStorage.getItem(this.storageKey) || '{}');\n const initialFlagChangeSet = FlagSetParser.deserialize(storedFlags);\n this.flags.next(initialFlagChangeSet);\n this.initSubject.next(true);\n return of(initialFlagChangeSet);\n }\n\n isOn$(key: string): Observable<boolean> {\n return this.flags$.pipe(map((flags) => !!flags[key]?.current));\n }\n\n isOff$(key: string): Observable<boolean> {\n return this.flags$.pipe(map((flags) => !flags[key]?.current));\n }\n\n getFlags$(): Observable<WritableFlagChangeset> {\n return this.flags$;\n }\n\n setFlag(key: string, value: any): void {\n let fictive = {};\n if (!this.currentFlagState[key]) {\n fictive = { fictive: true };\n } else {\n fictive = this.currentFlagState[key]?.fictive ? { fictive: true } : {};\n }\n\n this.flags.next({\n ...this.currentFlagState,\n [key]: {\n current: value,\n previous: this.currentFlagState[key]?.current ?? null,\n ...fictive\n }\n });\n }\n\n removeFlag(key: string): void {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [key]: _, ...flags } = this.currentFlagState;\n this.flags.next(flags);\n }\n\n resetFlags(flags: FlagSet): void {\n this.flags.next(\n Object.keys(flags).reduce(\n (acc, key) => ({\n ...acc,\n [key]: {\n current: flags[key],\n previous: null,\n fictive: true\n }\n }),\n {}\n )\n );\n }\n\n mergeFlags(flags: FlagChangeset): void {\n const mergedFlags: WritableFlagChangeset = Object.keys(flags).reduce((acc, key) => {\n const current = this.currentFlagState[key]?.current;\n return {\n ...acc,\n [key]: {\n current: current ?? flags[key].current,\n previous: current ?? null\n }\n };\n }, {});\n\n Object.keys(this.currentFlagState)\n .filter((key) => !flags[key])\n .forEach((key) => {\n mergedFlags[key] = {\n current: this.currentFlagState[key].current,\n previous: this.currentFlagState[key].previous,\n fictive: true\n };\n });\n\n this.flags.next(mergedFlags);\n }\n\n private waitForInitializationToFinish(): Observable<boolean> {\n return this.initSubject.pipe(filter((initialized) => !!initialized));\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { BehaviorSubject, Observable, combineLatest } from 'rxjs';\nimport { filter, switchMap } from 'rxjs/operators';\nimport {\n IDebugFeaturesService,\n IFeaturesService,\n FlagChangeset,\n OverridableFeaturesServiceToken,\n WritableFeaturesServiceToken,\n WritableFeaturesServiceConfigToken,\n WritableFeaturesServiceConfig,\n FlagSet,\n IWritableFeaturesService\n} from '../interfaces/features.interface';\n\n@Injectable()\nexport class DebugFeaturesService implements IDebugFeaturesService {\n private readonly isInDebugModeSubject = new BehaviorSubject<boolean>(false);\n private readonly isInDebugMode$ = this.isInDebugModeSubject.asObservable();\n private readonly initSubject = new BehaviorSubject<boolean>(false);\n\n get storageKey(): string {\n return `${this.config?.storageKey || 'feature-flags'}-override`;\n }\n\n constructor(\n @Inject(OverridableFeaturesServiceToken) private overriddenFeaturesService: IFeaturesService,\n @Inject(WritableFeaturesServiceToken) private writableFeaturesService: IFeaturesService & IWritableFeaturesService,\n @Optional() @Inject(WritableFeaturesServiceConfigToken) private config?: WritableFeaturesServiceConfig\n ) {\n this.init();\n\n combineLatest({\n debugMode: this.isInDebugModeSubject,\n init: this.waitForInitializationToFinish()\n }).subscribe(({ debugMode }) => {\n sessionStorage.setItem(this.storageKey, JSON.stringify(debugMode));\n });\n }\n\n isOn$(key: string): Observable<boolean> {\n return this.isInDebugMode$.pipe(\n switchMap((isInDebugMode) => (isInDebugMode ? this.writableFeaturesService : this.overriddenFeaturesService).isOn$(key))\n );\n }\n\n isOff$(key: string): Observable<boolean> {\n return this.isInDebugMode$.pipe(\n switchMap((isInDebugMode) => (isInDebugMode ? this.writableFeaturesService : this.overriddenFeaturesService).isOff$(key))\n );\n }\n\n /**\n * Gets the flags as an observable.\n *\n * @returns the observable that emits the flag changeset.\n */\n getFlags$(): Observable<FlagChangeset> {\n return this.isInDebugMode$.pipe(\n switchMap((isInDebugMode) => (isInDebugMode ? this.writableFeaturesService : this.overriddenFeaturesService).getFlags$())\n );\n }\n\n /**\n * Resets the specified flags.\n *\n * @param flags The flags to reset.\n */\n resetFlags(flags: FlagSet): void {\n this.writableFeaturesService.resetFlags(flags);\n }\n\n enable(on: boolean): void {\n this.isInDebugModeSubject.next(on);\n }\n\n isEnabled$(): Observable<boolean> {\n return this.isInDebugMode$;\n }\n\n private init() {\n const storedOverride = JSON.parse(sessionStorage.getItem(this.storageKey) || 'false');\n this.isInDebugModeSubject.next(storedOverride);\n this.initSubject.next(true);\n }\n\n private waitForInitializationToFinish(): Observable<boolean> {\n return this.initSubject.pipe(filter((initialized) => !!initialized));\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ApplicationRef, Inject, Injectable } from '@angular/core';\nimport { FeaturesServiceToken, FlagSet } from '../interfaces/features.interface';\nimport { DebugFeaturesService } from './debug-features.service';\n@Injectable()\nexport class QaFeaturesHelper {\n constructor(private applicationRef: ApplicationRef, @Inject(FeaturesServiceToken) private debugFeaturesService: DebugFeaturesService) {}\n\n isOn(key: string): boolean {\n let isOn = false;\n this.debugFeaturesService.isOn$(key).subscribe((on) => {\n isOn = on;\n });\n\n return isOn;\n }\n\n resetFlags(flags: FlagSet): void {\n this.debugFeaturesService.resetFlags(flags);\n this.applicationRef.tick();\n }\n\n enable(): void {\n this.debugFeaturesService.enable(true);\n this.applicationRef.tick();\n }\n\n disable(): void {\n this.debugFeaturesService.enable(false);\n this.applicationRef.tick();\n }\n\n isEnabled(): boolean {\n let enabled = false;\n this.debugFeaturesService.isEnabled$().subscribe((isEnabled) => {\n enabled = isEnabled;\n });\n return enabled;\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { inject, provideAppInitializer } from '@angular/core';\nimport {\n FlagsOverrideToken,\n FeaturesServiceToken,\n QaFeaturesHelperConfig,\n WritableFeaturesServiceConfig,\n WritableFeaturesServiceConfigToken,\n WritableFeaturesServiceToken,\n IFeaturesService\n} from '../interfaces/features.interface';\nimport { StorageFeaturesService } from '../services/storage-features.service';\nimport { DebugFeaturesService } from '../services/debug-features.service';\nimport { QaFeaturesHelper } from '../services/qa-features.helper';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n *\n * @param config Configuration for the Feature Flags\n * @returns Environment Providers for Feature Flags\n */\nexport function provideDebugFeatureFlags(config: WritableFeaturesServiceConfig & QaFeaturesHelperConfig) {\n return [\n { provide: FlagsOverrideToken, useValue: true },\n { provide: FeaturesServiceToken, useClass: DebugFeaturesService },\n { provide: WritableFeaturesServiceConfigToken, useValue: config },\n { provide: WritableFeaturesServiceToken, useClass: StorageFeaturesService },\n { provide: QaFeaturesHelper, useClass: QaFeaturesHelper },\n provideAppInitializer(() => {\n const initializerFn = (\n (featuresService: IFeaturesService) => () =>\n featuresService.init()\n )(inject(WritableFeaturesServiceToken));\n return initializerFn();\n }),\n provideAppInitializer(() => {\n const initializerFn = ((qaFeaturesHelper: QaFeaturesHelper, document: Document) => () => {\n document[config.helperExposeKeyOnDocument ?? 'featureOverrides'] = qaFeaturesHelper;\n })(inject(QaFeaturesHelper), inject(DOCUMENT));\n return initializerFn();\n })\n ];\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { of } from 'rxjs';\nimport { FeaturesServiceToken, FlagChangeset, IFeaturesService } from '../interfaces/features.interface';\n\nexport interface MockFeatureFlags {\n [key: string]: boolean;\n}\n\nconst assertFeatureFlag = (flagChangeset: FlagChangeset, key: string): void => {\n const flagChangesetValue = flagChangeset[key];\n\n if (flagChangesetValue === undefined) {\n throw new Error(\n `ERROR FEATURE-FLAG\\n'${key}' feature is not mocked, please mock '${key}' using '${provideMockFeatureFlags.name}' helper in your test\\n`\n );\n }\n};\n\nconst mockFeaturesService = (flagChangeset: FlagChangeset): IFeaturesService => ({\n init: () => of(flagChangeset),\n isOn$: (key) => {\n assertFeatureFlag(flagChangeset, key);\n return of(flagChangeset[key].current);\n },\n isOff$: (key) => {\n assertFeatureFlag(flagChangeset, key);\n return of(!flagChangeset[key].current);\n },\n getFlags$: () => of(flagChangeset)\n});\n\nconst arrayToFlagChangeset = (featureFlags: string[]): FlagChangeset => {\n const flagChangeset: FlagChangeset = {};\n featureFlags.forEach((featureFlag) => {\n flagChangeset[featureFlag] = { current: true, previous: null };\n });\n return flagChangeset;\n};\n\nconst mockFeatureFlagsToFlagChangeset = (mockFeatureFlags: MockFeatureFlags) => {\n const flagChangeset: FlagChangeset = {};\n const featureFlags = Object.keys(mockFeatureFlags);\n featureFlags.forEach((featureFlag) => {\n flagChangeset[featureFlag] = { current: mockFeatureFlags[featureFlag], previous: null };\n });\n return flagChangeset;\n};\n\nexport const provideMockFeatureFlags = (featureFlag: MockFeatureFlags | string | string[]) => {\n if (typeof featureFlag === 'string') {\n featureFlag = [featureFlag];\n }\n\n const flagChangeset = Array.isArray(featureFlag) ? arrayToFlagChangeset(featureFlag) : mockFeatureFlagsToFlagChangeset(featureFlag);\n\n return {\n provide: FeaturesServiceToken,\n useValue: mockFeaturesService(flagChangeset)\n };\n};\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './lib/components/flags/flags.component';\nexport * from './lib/components/feature-override-indicator.component';\nexport * from './lib/components/feature-flags-wrapper';\nexport * from './lib/directives/features.directive';\nexport * from './lib/directives/not-features.directive';\nexport * from './lib/guards/is-feature-on.guard';\nexport * from './lib/guards/is-feature-off.guard';\nexport * from './lib/guards/is-flags-override-on.guard';\nexport * from './lib/providers/dummy-feature-flags.provider';\nexport * from './lib/providers/debug-feature-flags.provider';\nexport * from './lib/interfaces/features.interface';\nexport * from './lib/mocks/features-service-mock.factory';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,14 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, DestroyRef, Component, ViewEncapsulation, Inject, Optional, ViewChild, NgModule } from '@angular/core';
2
+ import { InjectionToken, inject, DestroyRef, ViewChild, Inject, Optional, ViewEncapsulation, Component, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/router';
4
4
  import { NavigationEnd, RouterModule, provideRouter } from '@angular/router';
5
5
  import * as i2 from '@alfresco/adf-core';
6
- import { SidenavLayoutModule } from '@alfresco/adf-core';
6
+ import { SidenavLayoutHeaderDirective, SidenavLayoutNavigationDirective, SidenavLayoutContentDirective, SidenavLayoutComponent } from '@alfresco/adf-core';
7
7
  import { DynamicExtensionComponent } from '@alfresco/adf-extensions';
8
8
  import { map, withLatestFrom, filter } from 'rxjs/operators';
9
9
  import * as i3 from '@angular/cdk/layout';
10
- import * as i4 from '@angular/common';
11
- import { CommonModule } from '@angular/common';
12
10
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
13
11
 
14
12
  /*!
@@ -116,12 +114,19 @@ class ShellLayoutComponent {
116
114
  }
117
115
  return expand;
118
116
  }
119
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellLayoutComponent, deps: [{ token: i1.Router }, { token: i2.AppConfigService }, { token: i3.BreakpointObserver }, { token: SHELL_APP_SERVICE }, { token: SHELL_NAVBAR_MIN_WIDTH, optional: true }, { token: SHELL_NAVBAR_MAX_WIDTH, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
120
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ShellLayoutComponent, isStandalone: true, selector: "app-shell", host: { classAttribute: "app-shell" }, viewQueries: [{ propertyName: "layout", first: true, predicate: ["layout"], descendants: true, static: true }], ngImport: i0, template: "<adf-sidenav-layout\n #layout\n [sidenavMin]=\"sidenavMin\"\n [sidenavMax]=\"sidenavMax\"\n [stepOver]=\"600\"\n [hideSidenav]=\"hideSidenav\"\n [expandedSidenav]=\"expandedSidenav\"\n (expanded)=\"onExpanded($event)\"\n>\n <adf-sidenav-layout-header>\n <ng-template let-isMenuMinimized=\"isMenuMinimized\">\n <div\n role=\"heading\"\n aria-level=\"1\"\n *ngIf=\"!hideSidenav\"\n >\n <adf-dynamic-component id=\"app.layout.header\" [data]=\"{ layout }\" />\n </div>\n </ng-template>\n </adf-sidenav-layout-header>\n\n <adf-sidenav-layout-navigation>\n <ng-template let-isMenuMinimized=\"isMenuMinimized\">\n <div\n (swipeleft)=\"hideMenu($event)\"\n [attr.data-automation-id]=\"isMenuMinimized() ? 'collapsed' : 'expanded'\"\n >\n <adf-dynamic-component\n id=\"app.layout.sidenav\"\n [data]=\"{ layout, mode: layout.isMenuMinimized ? 'collapsed' : 'expanded'}\"\n />\n </div>\n </ng-template>\n </adf-sidenav-layout-navigation>\n\n <adf-sidenav-layout-content>\n <ng-template>\n <router-outlet />\n </ng-template>\n </adf-sidenav-layout-content>\n</adf-sidenav-layout>\n\n<adf-dynamic-component id=\"app.shell.sibling\" />\n\n<router-outlet name=\"viewer\" />\n", styles: [".app-shell{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0}.app-shell router-outlet[name=viewer]+*{width:100%;height:100%;z-index:999;position:absolute;top:0;right:0;background-color:#fff}.app-shell adf-file-uploading-dialog{z-index:1000}@media (max-width: 599.9px){.adf-app-title{display:none}}@media screen and (width <= 719px){.adf-app-logo{display:none}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SidenavLayoutModule }, { kind: "directive", type: i2.SidenavLayoutHeaderDirective, selector: "adf-sidenav-layout-header" }, { kind: "directive", type: i2.SidenavLayoutContentDirective, selector: "adf-sidenav-layout-content" }, { kind: "directive", type: i2.SidenavLayoutNavigationDirective, selector: "adf-sidenav-layout-navigation" }, { kind: "component", type: i2.SidenavLayoutComponent, selector: "adf-sidenav-layout", inputs: ["position", "sidenavMin", "sidenavMax", "stepOver", "hideSidenav", "expandedSidenav"], outputs: ["expanded"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: DynamicExtensionComponent, selector: "adf-dynamic-component", inputs: ["id", "data"] }], encapsulation: i0.ViewEncapsulation.None }); }
117
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ShellLayoutComponent, deps: [{ token: i1.Router }, { token: i2.AppConfigService }, { token: i3.BreakpointObserver }, { token: SHELL_APP_SERVICE }, { token: SHELL_NAVBAR_MIN_WIDTH, optional: true }, { token: SHELL_NAVBAR_MAX_WIDTH, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
118
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: ShellLayoutComponent, isStandalone: true, selector: "app-shell", host: { classAttribute: "app-shell" }, viewQueries: [{ propertyName: "layout", first: true, predicate: ["layout"], descendants: true, static: true }], ngImport: i0, template: "<adf-sidenav-layout\n #layout\n [sidenavMin]=\"sidenavMin\"\n [sidenavMax]=\"sidenavMax\"\n [stepOver]=\"600\"\n [hideSidenav]=\"hideSidenav\"\n [expandedSidenav]=\"expandedSidenav\"\n (expanded)=\"onExpanded($event)\"\n>\n <adf-sidenav-layout-header>\n <ng-template let-isMenuMinimized=\"isMenuMinimized\">\n @if (!hideSidenav) {\n <div\n role=\"heading\"\n aria-level=\"1\"\n >\n <adf-dynamic-component id=\"app.layout.header\" [data]=\"{ layout }\" />\n </div>\n }\n </ng-template>\n </adf-sidenav-layout-header>\n\n <adf-sidenav-layout-navigation>\n <ng-template let-isMenuMinimized=\"isMenuMinimized\">\n <div\n (swipeleft)=\"hideMenu($event)\"\n [attr.data-automation-id]=\"isMenuMinimized() ? 'collapsed' : 'expanded'\"\n >\n <adf-dynamic-component\n id=\"app.layout.sidenav\"\n [data]=\"{ layout, mode: layout.isMenuMinimized ? 'collapsed' : 'expanded'}\"\n />\n </div>\n </ng-template>\n </adf-sidenav-layout-navigation>\n\n <adf-sidenav-layout-content>\n <ng-template>\n <router-outlet />\n </ng-template>\n </adf-sidenav-layout-content>\n</adf-sidenav-layout>\n\n<adf-dynamic-component id=\"app.shell.sibling\" />\n\n<router-outlet name=\"viewer\" />\n", styles: [".app-shell{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0}.app-shell router-outlet[name=viewer]+*{width:100%;height:100%;z-index:999;position:absolute;top:0;right:0;background-color:#fff}.app-shell adf-file-uploading-dialog{z-index:1000}@media (max-width: 599.9px){.adf-app-title{display:none}}@media screen and (width <= 719px){.adf-app-logo{display:none}}\n"], dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: SidenavLayoutHeaderDirective, selector: "adf-sidenav-layout-header" }, { kind: "directive", type: SidenavLayoutNavigationDirective, selector: "adf-sidenav-layout-navigation" }, { kind: "directive", type: SidenavLayoutContentDirective, selector: "adf-sidenav-layout-content" }, { kind: "component", type: DynamicExtensionComponent, selector: "adf-dynamic-component", inputs: ["id", "data"] }, { kind: "component", type: SidenavLayoutComponent, selector: "adf-sidenav-layout", inputs: ["position", "sidenavMin", "sidenavMax", "stepOver", "hideSidenav", "expandedSidenav"], outputs: ["expanded"] }], encapsulation: i0.ViewEncapsulation.None }); }
121
119
  }
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellLayoutComponent, decorators: [{
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ShellLayoutComponent, decorators: [{
123
121
  type: Component,
124
- args: [{ selector: 'app-shell', standalone: true, imports: [CommonModule, SidenavLayoutModule, RouterModule, DynamicExtensionComponent], encapsulation: ViewEncapsulation.None, host: { class: 'app-shell' }, template: "<adf-sidenav-layout\n #layout\n [sidenavMin]=\"sidenavMin\"\n [sidenavMax]=\"sidenavMax\"\n [stepOver]=\"600\"\n [hideSidenav]=\"hideSidenav\"\n [expandedSidenav]=\"expandedSidenav\"\n (expanded)=\"onExpanded($event)\"\n>\n <adf-sidenav-layout-header>\n <ng-template let-isMenuMinimized=\"isMenuMinimized\">\n <div\n role=\"heading\"\n aria-level=\"1\"\n *ngIf=\"!hideSidenav\"\n >\n <adf-dynamic-component id=\"app.layout.header\" [data]=\"{ layout }\" />\n </div>\n </ng-template>\n </adf-sidenav-layout-header>\n\n <adf-sidenav-layout-navigation>\n <ng-template let-isMenuMinimized=\"isMenuMinimized\">\n <div\n (swipeleft)=\"hideMenu($event)\"\n [attr.data-automation-id]=\"isMenuMinimized() ? 'collapsed' : 'expanded'\"\n >\n <adf-dynamic-component\n id=\"app.layout.sidenav\"\n [data]=\"{ layout, mode: layout.isMenuMinimized ? 'collapsed' : 'expanded'}\"\n />\n </div>\n </ng-template>\n </adf-sidenav-layout-navigation>\n\n <adf-sidenav-layout-content>\n <ng-template>\n <router-outlet />\n </ng-template>\n </adf-sidenav-layout-content>\n</adf-sidenav-layout>\n\n<adf-dynamic-component id=\"app.shell.sibling\" />\n\n<router-outlet name=\"viewer\" />\n", styles: [".app-shell{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0}.app-shell router-outlet[name=viewer]+*{width:100%;height:100%;z-index:999;position:absolute;top:0;right:0;background-color:#fff}.app-shell adf-file-uploading-dialog{z-index:1000}@media (max-width: 599.9px){.adf-app-title{display:none}}@media screen and (width <= 719px){.adf-app-logo{display:none}}\n"] }]
122
+ args: [{ selector: 'app-shell', imports: [
123
+ RouterModule,
124
+ SidenavLayoutHeaderDirective,
125
+ SidenavLayoutNavigationDirective,
126
+ SidenavLayoutContentDirective,
127
+ DynamicExtensionComponent,
128
+ SidenavLayoutComponent
129
+ ], encapsulation: ViewEncapsulation.None, host: { class: 'app-shell' }, template: "<adf-sidenav-layout\n #layout\n [sidenavMin]=\"sidenavMin\"\n [sidenavMax]=\"sidenavMax\"\n [stepOver]=\"600\"\n [hideSidenav]=\"hideSidenav\"\n [expandedSidenav]=\"expandedSidenav\"\n (expanded)=\"onExpanded($event)\"\n>\n <adf-sidenav-layout-header>\n <ng-template let-isMenuMinimized=\"isMenuMinimized\">\n @if (!hideSidenav) {\n <div\n role=\"heading\"\n aria-level=\"1\"\n >\n <adf-dynamic-component id=\"app.layout.header\" [data]=\"{ layout }\" />\n </div>\n }\n </ng-template>\n </adf-sidenav-layout-header>\n\n <adf-sidenav-layout-navigation>\n <ng-template let-isMenuMinimized=\"isMenuMinimized\">\n <div\n (swipeleft)=\"hideMenu($event)\"\n [attr.data-automation-id]=\"isMenuMinimized() ? 'collapsed' : 'expanded'\"\n >\n <adf-dynamic-component\n id=\"app.layout.sidenav\"\n [data]=\"{ layout, mode: layout.isMenuMinimized ? 'collapsed' : 'expanded'}\"\n />\n </div>\n </ng-template>\n </adf-sidenav-layout-navigation>\n\n <adf-sidenav-layout-content>\n <ng-template>\n <router-outlet />\n </ng-template>\n </adf-sidenav-layout-content>\n</adf-sidenav-layout>\n\n<adf-dynamic-component id=\"app.shell.sibling\" />\n\n<router-outlet name=\"viewer\" />\n", styles: [".app-shell{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0}.app-shell router-outlet[name=viewer]+*{width:100%;height:100%;z-index:999;position:absolute;top:0;right:0;background-color:#fff}.app-shell adf-file-uploading-dialog{z-index:1000}@media (max-width: 599.9px){.adf-app-title{display:none}}@media screen and (width <= 719px){.adf-app-logo{display:none}}\n"] }]
125
130
  }], ctorParameters: () => [{ type: i1.Router }, { type: i2.AppConfigService }, { type: i3.BreakpointObserver }, { type: undefined, decorators: [{
126
131
  type: Inject,
127
132
  args: [SHELL_APP_SERVICE]
@@ -203,7 +208,7 @@ function provideShellRoutes(routes) {
203
208
  * See the License for the specific language governing permissions and
204
209
  * limitations under the License.
205
210
  */
206
- /** @deprecated use `provideShellRoutes` instead */
211
+ /** @deprecated use `provideShell` instead */
207
212
  class ShellModule {
208
213
  static withRoutes(routes) {
209
214
  if (Array.isArray(routes)) {
@@ -211,11 +216,11 @@ class ShellModule {
211
216
  }
212
217
  return getModuleForRouteConfig(routes);
213
218
  }
214
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
215
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ShellModule }); }
216
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellModule }); }
219
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ShellModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
220
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ShellModule }); }
221
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ShellModule }); }
217
222
  }
218
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellModule, decorators: [{
223
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ShellModule, decorators: [{
219
224
  type: NgModule
220
225
  }] });
221
226
  /**
@@ -258,6 +263,55 @@ function getModuleForRouteConfig(config) {
258
263
  };
259
264
  }
260
265
 
266
+ /*!
267
+ * @license
268
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
269
+ *
270
+ * Licensed under the Apache License, Version 2.0 (the "License");
271
+ * you may not use this file except in compliance with the License.
272
+ * You may obtain a copy of the License at
273
+ *
274
+ * http://www.apache.org/licenses/LICENSE-2.0
275
+ *
276
+ * Unless required by applicable law or agreed to in writing, software
277
+ * distributed under the License is distributed on an "AS IS" BASIS,
278
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
279
+ * See the License for the specific language governing permissions and
280
+ * limitations under the License.
281
+ */
282
+ /**
283
+ * Provides Shell-related api and providers
284
+ *
285
+ * @param opts Optional parameters
286
+ * @returns list of Angular providers
287
+ */
288
+ function provideShell(opts) {
289
+ const result = [provideShellRoutes(opts?.routes || [])];
290
+ if (opts?.appService) {
291
+ result.push({
292
+ provide: SHELL_APP_SERVICE,
293
+ useValue: opts.appService
294
+ });
295
+ }
296
+ if (opts?.authGuard) {
297
+ result.push({
298
+ provide: SHELL_AUTH_TOKEN,
299
+ useValue: opts.authGuard
300
+ });
301
+ }
302
+ if (opts?.navBar) {
303
+ result.push({
304
+ provide: SHELL_NAVBAR_MIN_WIDTH,
305
+ useValue: opts.navBar.minWidth ?? 70
306
+ });
307
+ result.push({
308
+ provide: SHELL_NAVBAR_MAX_WIDTH,
309
+ useValue: opts.navBar.maxWidth ?? 320
310
+ });
311
+ }
312
+ return result;
313
+ }
314
+
261
315
  /*!
262
316
  * @license
263
317
  * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -279,5 +333,5 @@ function getModuleForRouteConfig(config) {
279
333
  * Generated bundle index. Do not edit.
280
334
  */
281
335
 
282
- export { SHELL_APP_SERVICE, SHELL_AUTH_TOKEN, SHELL_LAYOUT_ROUTE, SHELL_NAVBAR_MAX_WIDTH, SHELL_NAVBAR_MIN_WIDTH, ShellLayoutComponent, ShellModule, provideShellRoutes };
336
+ export { SHELL_APP_SERVICE, SHELL_AUTH_TOKEN, SHELL_LAYOUT_ROUTE, SHELL_NAVBAR_MAX_WIDTH, SHELL_NAVBAR_MIN_WIDTH, ShellLayoutComponent, ShellModule, provideShell, provideShellRoutes };
283
337
  //# sourceMappingURL=alfresco-adf-core-shell.mjs.map