@alfresco/adf-core 8.2.0-18186380146 → 8.2.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 (98) hide show
  1. package/README.md +0 -16
  2. package/api/lib/adf-http-client.service.d.ts +9 -9
  3. package/api/lib/alfresco-api/alfresco-api.utils.d.ts +1 -1
  4. package/app.config.schema.json +0 -3
  5. package/bundles/assets/adf-core/i18n/ar.json +0 -5
  6. package/bundles/assets/adf-core/i18n/cs.json +0 -5
  7. package/bundles/assets/adf-core/i18n/da.json +0 -5
  8. package/bundles/assets/adf-core/i18n/de.json +19 -9
  9. package/bundles/assets/adf-core/i18n/en.json +22 -12
  10. package/bundles/assets/adf-core/i18n/es.json +19 -9
  11. package/bundles/assets/adf-core/i18n/fi.json +0 -5
  12. package/bundles/assets/adf-core/i18n/fr.json +19 -9
  13. package/bundles/assets/adf-core/i18n/it.json +19 -9
  14. package/bundles/assets/adf-core/i18n/ja.json +0 -5
  15. package/bundles/assets/adf-core/i18n/nb.json +0 -5
  16. package/bundles/assets/adf-core/i18n/nl.json +0 -5
  17. package/bundles/assets/adf-core/i18n/pl.json +19 -9
  18. package/bundles/assets/adf-core/i18n/pt-BR.json +0 -5
  19. package/bundles/assets/adf-core/i18n/pt.json +19 -9
  20. package/bundles/assets/adf-core/i18n/ru.json +0 -5
  21. package/bundles/assets/adf-core/i18n/sv.json +0 -5
  22. package/bundles/assets/adf-core/i18n/zh-CN.json +0 -5
  23. package/custom-theme/material-theme.scss +13 -13
  24. package/custom-theme/theme/custom-palette-creator.scss +23 -25
  25. package/custom-theme/theme/custom-theme-palettes.scss +7 -7
  26. package/custom-theme/theme/theme-data.scss +13 -13
  27. package/custom-theme/theme/typography.scss +5 -5
  28. package/fesm2022/adf-core.mjs +1226 -1212
  29. package/fesm2022/adf-core.mjs.map +1 -1
  30. package/fesm2022/alfresco-adf-core-api.mjs +40 -27
  31. package/fesm2022/alfresco-adf-core-api.mjs.map +1 -1
  32. package/fesm2022/alfresco-adf-core-shell.mjs +5 -1
  33. package/fesm2022/alfresco-adf-core-shell.mjs.map +1 -1
  34. package/lib/auth/basic-auth/basic-alfresco-auth.service.d.ts +2 -24
  35. package/lib/auth/interfaces/authentication-service.interface.d.ts +7 -13
  36. package/lib/auth/models/oauth-config.model.d.ts +0 -1
  37. package/lib/auth/oidc/oidc-authentication.service.d.ts +0 -20
  38. package/lib/auth/services/authentication.service.d.ts +10 -28
  39. package/lib/auth/services/base-authentication.service.d.ts +6 -14
  40. package/lib/card-view/components/card-view/card-view.component.scss +2 -1
  41. package/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.scss +59 -34
  42. package/lib/card-view/components/card-view-textitem/card-view-textitem.component.scss +8 -0
  43. package/lib/clipboard/clipboard.directive.d.ts +10 -11
  44. package/lib/clipboard/clipboard.module.d.ts +5 -4
  45. package/lib/core.module.d.ts +44 -46
  46. package/lib/datatable/components/columns-selector/columns-selector.component.d.ts +2 -1
  47. package/lib/datatable/components/columns-selector/columns-selector.component.scss +89 -76
  48. package/lib/datatable/components/datatable-cell/datatable-cell.component.d.ts +2 -0
  49. package/lib/form/components/form-base.component.d.ts +1 -1
  50. package/lib/form/components/form-field/form-field.component.d.ts +5 -0
  51. package/lib/form/components/form-renderer.component.d.ts +7 -5
  52. package/lib/form/components/form-renderer.component.scss +44 -0
  53. package/lib/form/components/widgets/amount/amount.widget.d.ts +43 -4
  54. package/lib/form/components/widgets/base-viewer/base-viewer.widget.d.ts +16 -0
  55. package/lib/form/components/widgets/button/button.widget.d.ts +12 -0
  56. package/lib/form/components/widgets/button/button.widget.scss +14 -0
  57. package/lib/form/components/widgets/core/container-column.model.d.ts +2 -0
  58. package/lib/form/components/widgets/core/container-row.model.d.ts +26 -0
  59. package/lib/form/components/widgets/core/form-field-types.d.ts +5 -0
  60. package/lib/form/components/widgets/core/form-field-validator.d.ts +4 -0
  61. package/lib/form/components/widgets/core/form-field.model.d.ts +26 -2
  62. package/lib/form/components/widgets/core/form.model.d.ts +2 -1
  63. package/lib/{datatable/components/mocks/datatable.mock.d.ts → form/components/widgets/core/handlers/form-field-rule.handler.d.ts} +5 -5
  64. package/lib/{login/components/login-dialog/login-dialog-component-data.interface.d.ts → form/components/widgets/core/repeatable-section.model.d.ts} +8 -5
  65. package/lib/form/components/widgets/index.d.ts +4 -1
  66. package/lib/form/components/widgets/reactive-widget.interface.d.ts +4 -0
  67. package/lib/form/components/widgets/repeat/repeat.widget.d.ts +9 -0
  68. package/lib/form/components/widgets/repeat/repeat.widget.scss +36 -0
  69. package/lib/form/form-base.module.d.ts +3 -2
  70. package/lib/info-drawer/info-drawer.component.scss +6 -0
  71. package/lib/login/login.module.d.ts +3 -5
  72. package/lib/login/public-api.d.ts +0 -2
  73. package/lib/mock/public-api.d.ts +0 -1
  74. package/lib/mock/translation.service.mock.d.ts +1 -0
  75. package/lib/notifications/components/notification-history.component.d.ts +9 -3
  76. package/lib/notifications/notification-history.module.d.ts +2 -4
  77. package/lib/notifications/public-api.d.ts +0 -1
  78. package/lib/snackbar-content/snackbar-content.component.scss +4 -1
  79. package/lib/styles/{material.theme.scss → _globals.scss} +1 -1
  80. package/lib/styles/_index.scss +4 -126
  81. package/lib/styles/_mat-selectors.scss +3 -0
  82. package/lib/testing/index.d.ts +0 -1
  83. package/lib/testing/noop-translate.module.d.ts +1 -0
  84. package/lib/testing/unit-testing-utils.d.ts +4 -0
  85. package/lib/translation/translation.service.d.ts +6 -0
  86. package/package.json +4 -5
  87. package/schematics/migrations/schematics/migrations/7_0_0/index.d.ts +1 -2
  88. package/schematics/migrations/schematics/migrations/7_0_0/index.js +46 -59
  89. package/schematics/migrations/schematics/migrations/7_0_0/index.js.map +1 -1
  90. package/schematics/migrations/schematics/migrations/collection.json +0 -5
  91. package/lib/clipboard/clipboard.theme.scss +0 -19
  92. package/lib/login/components/login-dialog/login-dialog.component.d.ts +0 -15
  93. package/lib/login/components/login-dialog/login-dialog.component.scss +0 -4
  94. package/lib/mock/data-column.mock.d.ts +0 -51
  95. package/lib/notifications/components/add-notification.stories.component.d.ts +0 -10
  96. package/lib/styles/_theming.scss +0 -3
  97. package/lib/styles/_typography.scss +0 -18
  98. package/lib/testing/core.story.module.d.ts +0 -9
@@ -1,14 +1,14 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Input, ChangeDetectionStrategy, ViewEncapsulation, Component, inject, Injectable, TemplateRef, ContentChild, Directive, ContentChildren, RendererFactory2, Optional, Inject, NgModule, HostBinding, Pipe, InjectionToken, provideAppInitializer, EventEmitter, HostListener, ViewChild, Output, ViewChildren, DestroyRef, QueryList, DEFAULT_CURRENCY_CODE, SecurityContext, ElementRef, ViewContainerRef, forwardRef, Compiler, Injector } from '@angular/core';
2
+ import { Input, ChangeDetectionStrategy, ViewEncapsulation, Component, inject, Injectable, TemplateRef, ContentChild, Directive, ContentChildren, RendererFactory2, Optional, Inject, NgModule, HostBinding, Pipe, InjectionToken, provideAppInitializer, EventEmitter, HostListener, ViewChild, Output, ViewChildren, DestroyRef, QueryList, Self, DEFAULT_CURRENCY_CODE, SecurityContext, ElementRef, ViewContainerRef, forwardRef, Compiler, ChangeDetectorRef, Injector } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
- import { CommonModule, DOCUMENT, NgIf, NgClass, NgForOf, AsyncPipe, NgTemplateOutlet, NgStyle, DecimalPipe, DatePipe, NgFor } from '@angular/common';
4
+ import { CommonModule, DOCUMENT, NgIf, NgClass, NgForOf, AsyncPipe, NgTemplateOutlet, NgStyle, DecimalPipe, DatePipe, CurrencyPipe, NgFor } from '@angular/common';
5
5
  import * as i2 from '@angular/material/table';
6
6
  import { MatTableModule, MatTableDataSource } from '@angular/material/table';
7
7
  import * as i1$1 from '@ngx-translate/core';
8
- import { TranslatePipe, provideTranslateService, TranslateLoader, TranslateModule } from '@ngx-translate/core';
8
+ import { TranslatePipe, provideTranslateService, TranslateLoader } from '@ngx-translate/core';
9
9
  import * as i1$8 from '@angular/common/http';
10
10
  import { HttpClient, HttpHeaders, HttpResponse, provideHttpClient, HTTP_INTERCEPTORS, withInterceptorsFromDi, withXsrfConfiguration } from '@angular/common/http';
11
- import { ReplaySubject, BehaviorSubject, of, Subject, switchMap as switchMap$1, from, fromEvent, Observable, throwError, combineLatest, defer, EMPTY, race, forkJoin, merge } from 'rxjs';
11
+ import { ReplaySubject, BehaviorSubject, of, Subject, switchMap as switchMap$1, from, fromEvent, Observable, throwError, firstValueFrom, combineLatest, defer, EMPTY, race, forkJoin, merge, isObservable, filter as filter$1 } from 'rxjs';
12
12
  import { map, distinctUntilChanged, take, switchMap, delay, catchError, skipWhile, filter, first, timeout, shareReplay, mergeMap, tap, retry, takeUntil, debounceTime, share, pairwise, buffer } from 'rxjs/operators';
13
13
  import * as i1$4 from '@alfresco/adf-extensions';
14
14
  import { ExtensionService, mergeObjects, ExtensionsModule, PreviewExtensionComponent } from '@alfresco/adf-extensions';
@@ -62,7 +62,6 @@ import * as i2$6 from '@angular/material/checkbox';
62
62
  import { MatCheckboxModule } from '@angular/material/checkbox';
63
63
  import * as i1$a from 'angular-oauth2-oidc';
64
64
  import { OAuthStorage, AuthConfig, OAuthService, OAuthErrorEvent, OAuthLogger, OAuthSuccessEvent, AUTH_CONFIG, provideOAuthClient } from 'angular-oauth2-oidc';
65
- import ee from 'event-emitter';
66
65
  import { Minimatch } from 'minimatch';
67
66
  import { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';
68
67
  import { AuthenticationInterceptor, Authentication } from '@alfresco/adf-core/auth';
@@ -70,8 +69,12 @@ import * as i2$7 from '@angular/material/tabs';
70
69
  import { MatTabsModule } from '@angular/material/tabs';
71
70
  import * as i1$b from '@angular/material/snack-bar';
72
71
  import { MAT_SNACK_BAR_DATA, MatSnackBarModule } from '@angular/material/snack-bar';
72
+ import * as i2$8 from '@angular/material/tooltip';
73
+ import { MatTooltip, MatTooltipModule } from '@angular/material/tooltip';
73
74
  import * as i4$1 from '@angular/material/divider';
74
75
  import { MatDividerModule } from '@angular/material/divider';
76
+ import * as i2$9 from '@angular/material/list';
77
+ import { MatSelectionList, MatListOption, MatListModule } from '@angular/material/list';
75
78
  import { moveItemInArray, CdkDropList, CdkDrag, CdkDragHandle } from '@angular/cdk/drag-drop';
76
79
  import * as i1$c from '@angular/cdk/overlay';
77
80
  import { OverlayConfig } from '@angular/cdk/overlay';
@@ -86,8 +89,6 @@ import * as i3$4 from '@angular/material/datepicker';
86
89
  import { MatDatepickerModule } from '@angular/material/datepicker';
87
90
  import * as i4$2 from '@angular/material/autocomplete';
88
91
  import { MatAutocompleteModule } from '@angular/material/autocomplete';
89
- import * as i2$8 from '@angular/material/list';
90
- import { MatListModule } from '@angular/material/list';
91
92
  import * as i1$d from '@angular/material/sidenav';
92
93
  import { MatSidenavModule, MatSidenav } from '@angular/material/sidenav';
93
94
  import * as i1$e from '@angular/cdk/layout';
@@ -95,10 +96,6 @@ import { Breakpoints } from '@angular/cdk/layout';
95
96
  import '@alfresco/js-api';
96
97
  import * as i6$1 from '@angular/material/badge';
97
98
  import { MatBadgeModule } from '@angular/material/badge';
98
- import { MatGridListModule } from '@angular/material/grid-list';
99
- import { MatRadioModule } from '@angular/material/radio';
100
- import { MatSlideToggleModule } from '@angular/material/slide-toggle';
101
- import { provideAnimations } from '@angular/platform-browser/animations';
102
99
  import { HttpClientTestingModule } from '@angular/common/http/testing';
103
100
  import { MatSelectHarness } from '@angular/material/select/testing';
104
101
  import { MatChipHarness, MatChipListboxHarness, MatChipGridHarness } from '@angular/material/chips/testing';
@@ -112,6 +109,10 @@ import { MatTabGroupHarness } from '@angular/material/tabs/testing';
112
109
  import { MatToolbarHarness } from '@angular/material/toolbar/testing';
113
110
  import { MatSnackBarHarness } from '@angular/material/snack-bar/testing';
114
111
  import { MatProgressBarHarness } from '@angular/material/progress-bar/testing';
112
+ import { MatListOptionHarness } from '@angular/material/list/testing';
113
+ import { MatGridListModule } from '@angular/material/grid-list';
114
+ import { MatRadioModule } from '@angular/material/radio';
115
+ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
115
116
 
116
117
  /*!
117
118
  * @license
@@ -1593,6 +1594,7 @@ class DateFnsUtils {
1593
1594
  case 'pl':
1594
1595
  dateFnsLocale = pl;
1595
1596
  break;
1597
+ case 'pt':
1596
1598
  case 'pt-BR':
1597
1599
  dateFnsLocale = ptBR;
1598
1600
  break;
@@ -3185,6 +3187,21 @@ class TranslationService {
3185
3187
  get(key, interpolateParams) {
3186
3188
  return this.translate.get(key, interpolateParams);
3187
3189
  }
3190
+ /**
3191
+ * Determines the preferred locale for the current user.
3192
+ *
3193
+ * @returns Locale identifier resolved from the browser or the default translation locale
3194
+ */
3195
+ getLocale() {
3196
+ const defaultLocale = this.userLang || this.defaultLang;
3197
+ if (typeof window?.navigator === 'undefined') {
3198
+ return defaultLocale;
3199
+ }
3200
+ const wn = window.navigator;
3201
+ let lang = wn.languages ? wn.languages[0] : defaultLocale;
3202
+ lang = lang || wn.language;
3203
+ return lang;
3204
+ }
3188
3205
  /**
3189
3206
  * Directly returns the translation for the supplied key.
3190
3207
  *
@@ -7232,7 +7249,6 @@ class BaseAuthenticationService {
7232
7249
  this.onError = new ReplaySubject(1);
7233
7250
  this.onLogin = new ReplaySubject(1);
7234
7251
  this.onLogout = new ReplaySubject(1);
7235
- ee(this);
7236
7252
  }
7237
7253
  /**
7238
7254
  * Adds the auth token to an HTTP header using the 'bearer' scheme.
@@ -7553,7 +7569,7 @@ class AuthConfigService {
7553
7569
  return this._authConfig;
7554
7570
  }
7555
7571
  loadConfig() {
7556
- return this.appConfigService.onLoad.pipe(take(1)).toPromise().then(this.loadAppConfig.bind(this));
7572
+ return firstValueFrom(this.appConfigService.onLoad.pipe(take(1))).then(this.loadAppConfig.bind(this));
7557
7573
  }
7558
7574
  loadAppConfig() {
7559
7575
  const oauth2 = this.appConfigService.oauth2;
@@ -7572,7 +7588,7 @@ class AuthConfigService {
7572
7588
  postLogoutRedirectUri: this.generatePostLogoutUri(origin, oauth2.redirectUriLogout),
7573
7589
  clientId: oauth2.clientId,
7574
7590
  scope: oauth2.scope,
7575
- dummyClientSecret: oauth2.secret || '',
7591
+ dummyClientSecret: 'dummyClientSecret',
7576
7592
  logoutUrl: oauth2.logoutUrl,
7577
7593
  customQueryParams,
7578
7594
  ...(oauth2.codeFlow && { responseType: 'code' }),
@@ -7677,26 +7693,6 @@ class OidcAuthenticationService extends BaseAuthenticationService {
7677
7693
  */
7678
7694
  this.shouldPerformSsoLogin$ = combineLatest([this.auth.authenticated$, this.auth.isDiscoveryDocumentLoaded$]).pipe(map(([authenticated, isDiscoveryDocumentLoaded]) => !authenticated && isDiscoveryDocumentLoaded));
7679
7695
  }
7680
- /**
7681
- * @deprecated use `isLoggedIn` instead
7682
- * @returns true if the ECM provider is logged in
7683
- */
7684
- isEcmLoggedIn() {
7685
- if (this.isECMProvider() || this.isALLProvider()) {
7686
- return this.isLoggedIn();
7687
- }
7688
- return false;
7689
- }
7690
- /**
7691
- * @deprecated use `isLoggedIn` instead
7692
- * @returns true if the BPM provider is logged in
7693
- */
7694
- isBpmLoggedIn() {
7695
- if (this.isBPMProvider() || this.isALLProvider()) {
7696
- return this.isLoggedIn();
7697
- }
7698
- return false;
7699
- }
7700
7696
  isLoggedIn() {
7701
7697
  return this.oauthService.hasValidAccessToken() && this.oauthService.hasValidIdToken();
7702
7698
  }
@@ -7742,20 +7738,6 @@ class OidcAuthenticationService extends BaseAuthenticationService {
7742
7738
  getUsername() {
7743
7739
  return this.jwtHelperService.getValueFromLocalToken(JwtHelperService.USER_PREFERRED_USERNAME);
7744
7740
  }
7745
- /**
7746
- * @deprecated use `getUsername` instead
7747
- * @returns the logged username
7748
- */
7749
- getEcmUsername() {
7750
- return this.getUsername();
7751
- }
7752
- /**
7753
- * @deprecated use `getUsername` instead
7754
- * @returns the logged username
7755
- */
7756
- getBpmUsername() {
7757
- return this.getUsername();
7758
- }
7759
7741
  ssoLogin(redirectUrl) {
7760
7742
  this.auth.login(redirectUrl);
7761
7743
  }
@@ -8368,26 +8350,6 @@ class BasicAlfrescoAuthService extends BaseAuthenticationService {
8368
8350
  return '';
8369
8351
  }
8370
8352
  }
8371
- /**
8372
- * @deprecated
8373
- * @returns content auth token
8374
- */
8375
- getTicketEcm() {
8376
- return this.contentAuth.getToken();
8377
- }
8378
- /**
8379
- * @deprecated
8380
- * @returns process auth token
8381
- */
8382
- getTicketBpm() {
8383
- return this.processAuth.getToken();
8384
- }
8385
- isBpmLoggedIn() {
8386
- return this.processAuth.isLoggedIn();
8387
- }
8388
- isEcmLoggedIn() {
8389
- return this.contentAuth.isLoggedIn();
8390
- }
8391
8353
  isLoggedIn() {
8392
8354
  const authWithCredentials = this.isKerberosEnabled();
8393
8355
  if (this.isBPMProvider()) {
@@ -8459,20 +8421,6 @@ class BasicAlfrescoAuthService extends BaseAuthenticationService {
8459
8421
  hasSelectedProviderAll(provider) {
8460
8422
  return this.redirectUrl && (this.redirectUrl.provider === 'ALL' || provider === 'ALL');
8461
8423
  }
8462
- /**
8463
- * @deprecated use `getUsername()` instead
8464
- * @returns the username of the authenticated user
8465
- */
8466
- getBpmUsername() {
8467
- return this.processAuth.getUsername();
8468
- }
8469
- /**
8470
- * @deprecated use `getUsername()` instead
8471
- * @returns the username of the authenticated user
8472
- */
8473
- getEcmUsername() {
8474
- return this.contentAuth.getUsername();
8475
- }
8476
8424
  /**
8477
8425
  * Gets the username of the authenticated user.
8478
8426
  *
@@ -9041,30 +8989,6 @@ class AuthenticationService {
9041
8989
  return from(this.basicAlfrescoAuthService.logout());
9042
8990
  }
9043
8991
  }
9044
- /**
9045
- * @deprecated use `isLoggedIn` instead
9046
- * @returns true if the ECM provider is logged in
9047
- */
9048
- isEcmLoggedIn() {
9049
- if (this.isOauth()) {
9050
- return this.oidcAuthenticationService.isLoggedIn();
9051
- }
9052
- else {
9053
- return this.basicAlfrescoAuthService.isEcmLoggedIn();
9054
- }
9055
- }
9056
- /**
9057
- * @deprecated use `isLoggedIn` instead
9058
- * @returns true if the BPM provider is logged in
9059
- */
9060
- isBpmLoggedIn() {
9061
- if (this.isOauth()) {
9062
- return this.oidcAuthenticationService.isLoggedIn();
9063
- }
9064
- else {
9065
- return this.basicAlfrescoAuthService.isBpmLoggedIn();
9066
- }
9067
- }
9068
8992
  reset() {
9069
8993
  if (this.isOauth()) {
9070
8994
  return this.oidcAuthenticationService.reset();
@@ -9094,20 +9018,6 @@ class AuthenticationService {
9094
9018
  return this.basicAlfrescoAuthService.getUsername();
9095
9019
  }
9096
9020
  }
9097
- /**
9098
- * @deprecated use `getUsername` instead
9099
- * @returns the logged username
9100
- */
9101
- getEcmUsername() {
9102
- return this.getUsername();
9103
- }
9104
- /**
9105
- * @deprecated use `getUsername` instead
9106
- * @returns the logged username
9107
- */
9108
- getBpmUsername() {
9109
- return this.getUsername();
9110
- }
9111
9021
  getAuthHeaders(requestUrl, headers) {
9112
9022
  if (this.isOauth()) {
9113
9023
  return this.oidcAuthenticationService.getAuthHeaders(requestUrl, headers);
@@ -9360,7 +9270,7 @@ const AuthGuardEcm = async (_, state) => {
9360
9270
  if (authenticationService.isLoggedIn() && authenticationService.isOauth() && authGuardBaseService.isLoginFragmentPresent()) {
9361
9271
  return authGuardBaseService.redirectSSOSuccessURL();
9362
9272
  }
9363
- if (authenticationService.isEcmLoggedIn() || authGuardBaseService.withCredentials) {
9273
+ if (authenticationService.isLoggedIn() || authGuardBaseService.withCredentials) {
9364
9274
  return true;
9365
9275
  }
9366
9276
  return authGuardBaseService.redirectToUrl(state.url);
@@ -9905,7 +9815,7 @@ class IdentityUserService {
9905
9815
  async getUsersByRolesWithCurrentUser(roleNames) {
9906
9816
  const filteredUsers = [];
9907
9817
  if (roleNames && roleNames.length > 0) {
9908
- const users = await this.getUsers().toPromise();
9818
+ const users = await firstValueFrom(this.getUsers());
9909
9819
  for (let i = 0; i < users.length; i++) {
9910
9820
  const hasAnyRole = await this.userHasAnyRole(users[i].id, roleNames);
9911
9821
  if (hasAnyRole) {
@@ -9925,7 +9835,7 @@ class IdentityUserService {
9925
9835
  const filteredUsers = [];
9926
9836
  if (roleNames && roleNames.length > 0) {
9927
9837
  const currentUser = this.getCurrentUserInfo();
9928
- let users = await this.getUsers().toPromise();
9838
+ let users = await firstValueFrom(this.getUsers());
9929
9839
  users = users.filter(({ username }) => username !== currentUser.username);
9930
9840
  for (let i = 0; i < users.length; i++) {
9931
9841
  const hasAnyRole = await this.userHasAnyRole(users[i].id, roleNames);
@@ -9937,7 +9847,7 @@ class IdentityUserService {
9937
9847
  return filteredUsers;
9938
9848
  }
9939
9849
  async userHasAnyRole(userId, roleNames) {
9940
- const userRoles = await this.getUserRoles(userId).toPromise();
9850
+ const userRoles = await firstValueFrom(this.getUserRoles(userId));
9941
9851
  const hasAnyRole = roleNames.some((roleName) => {
9942
9852
  const filteredRoles = userRoles.filter((userRole) => userRole.name.toLocaleLowerCase() === roleName.toLocaleLowerCase());
9943
9853
  return filteredRoles.length > 0;
@@ -11652,94 +11562,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
11652
11562
  * See the License for the specific language governing permissions and
11653
11563
  * limitations under the License.
11654
11564
  */
11655
- class LoginDialogComponent {
11656
- constructor(data) {
11657
- this.data = data;
11658
- this.buttonActionName = '';
11659
- this.buttonActionName = data.actionName ? `LOGIN.DIALOG.${data.actionName.toUpperCase()}` : 'LOGIN.DIALOG.CHOOSE';
11660
- }
11661
- close() {
11662
- this.data.logged.complete();
11663
- }
11664
- submitForm() {
11665
- this.loginPanel.submitForm();
11666
- }
11667
- onLoginSuccess(event) {
11668
- this.data.logged.next(event);
11669
- this.close();
11670
- }
11671
- isFormValid() {
11672
- return this.loginPanel ? this.loginPanel.isValid() : false;
11673
- }
11674
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: LoginDialogComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
11675
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: LoginDialogComponent, isStandalone: true, selector: "adf-login-dialog", viewQueries: [{ propertyName: "loginPanel", first: true, predicate: ["adfLoginPanel"], descendants: true, static: true }], ngImport: i0, template: "<header mat-dialog-title\n data-automation-id=\"login-dialog-title\">\n {{ data?.title }}\n</header>\n\n<mat-dialog-content class=\"adf-login-dialog-content\">\n <adf-login-dialog-panel #adfLoginPanel (success)=\"onLoginSuccess($event)\" />\n</mat-dialog-content>\n\n<mat-dialog-actions class=\"adf-login-dialog-content-actions\" align=\"end\">\n <button mat-button (click)=\"close()\"\n data-automation-id=\"login-dialog-actions-cancel\">\n {{ 'LOGIN.DIALOG.CANCEL' | translate }}\n </button>\n\n <button mat-button\n class=\"choose-action\"\n data-automation-id=\"login-dialog-actions-perform\"\n [disabled]=\"!isFormValid()\"\n (click)=\"submitForm()\">\n {{ buttonActionName | translate }}\n </button>\n</mat-dialog-actions>\n", styles: [".adf-login-dialog-content adf-login .adf-login-content .adf-login-card-wide{padding:0;box-shadow:none}\n"], dependencies: [{ kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1$7.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$7.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$7.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: LoginDialogPanelComponent, selector: "adf-login-dialog-panel", outputs: ["success"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None }); }
11676
- }
11677
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: LoginDialogComponent, decorators: [{
11678
- type: Component,
11679
- args: [{ selector: 'adf-login-dialog', imports: [MatDialogModule, LoginDialogPanelComponent, TranslatePipe, MatButtonModule], encapsulation: ViewEncapsulation.None, template: "<header mat-dialog-title\n data-automation-id=\"login-dialog-title\">\n {{ data?.title }}\n</header>\n\n<mat-dialog-content class=\"adf-login-dialog-content\">\n <adf-login-dialog-panel #adfLoginPanel (success)=\"onLoginSuccess($event)\" />\n</mat-dialog-content>\n\n<mat-dialog-actions class=\"adf-login-dialog-content-actions\" align=\"end\">\n <button mat-button (click)=\"close()\"\n data-automation-id=\"login-dialog-actions-cancel\">\n {{ 'LOGIN.DIALOG.CANCEL' | translate }}\n </button>\n\n <button mat-button\n class=\"choose-action\"\n data-automation-id=\"login-dialog-actions-perform\"\n [disabled]=\"!isFormValid()\"\n (click)=\"submitForm()\">\n {{ buttonActionName | translate }}\n </button>\n</mat-dialog-actions>\n", styles: [".adf-login-dialog-content adf-login .adf-login-content .adf-login-card-wide{padding:0;box-shadow:none}\n"] }]
11680
- }], ctorParameters: () => [{ type: undefined, decorators: [{
11681
- type: Inject,
11682
- args: [MAT_DIALOG_DATA]
11683
- }] }], propDecorators: { loginPanel: [{
11684
- type: ViewChild,
11685
- args: ['adfLoginPanel', { static: true }]
11686
- }] } });
11687
-
11688
- /*!
11689
- * @license
11690
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
11691
- *
11692
- * Licensed under the Apache License, Version 2.0 (the "License");
11693
- * you may not use this file except in compliance with the License.
11694
- * You may obtain a copy of the License at
11695
- *
11696
- * http://www.apache.org/licenses/LICENSE-2.0
11697
- *
11698
- * Unless required by applicable law or agreed to in writing, software
11699
- * distributed under the License is distributed on an "AS IS" BASIS,
11700
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11701
- * See the License for the specific language governing permissions and
11702
- * limitations under the License.
11703
- */
11704
-
11705
- /*!
11706
- * @license
11707
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
11708
- *
11709
- * Licensed under the Apache License, Version 2.0 (the "License");
11710
- * you may not use this file except in compliance with the License.
11711
- * You may obtain a copy of the License at
11712
- *
11713
- * http://www.apache.org/licenses/LICENSE-2.0
11714
- *
11715
- * Unless required by applicable law or agreed to in writing, software
11716
- * distributed under the License is distributed on an "AS IS" BASIS,
11717
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11718
- * See the License for the specific language governing permissions and
11719
- * limitations under the License.
11720
- */
11721
- const LOGIN_DIRECTIVES = [
11722
- LoginComponent,
11723
- LoginFooterDirective,
11724
- LoginHeaderDirective,
11725
- LoginDialogComponent,
11726
- LoginDialogPanelComponent
11727
- ];
11565
+ const LOGIN_DIRECTIVES = [LoginComponent, LoginFooterDirective, LoginHeaderDirective, LoginDialogPanelComponent];
11728
11566
  /** @deprecated use `...LOGIN_DIRECTIVES` or import the standalone directives directly */
11729
11567
  class LoginModule {
11730
11568
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: LoginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11731
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: LoginModule, imports: [LoginComponent,
11732
- LoginFooterDirective,
11733
- LoginHeaderDirective,
11734
- LoginDialogComponent,
11735
- LoginDialogPanelComponent], exports: [LoginComponent,
11736
- LoginFooterDirective,
11737
- LoginHeaderDirective,
11738
- LoginDialogComponent,
11739
- LoginDialogPanelComponent] }); }
11740
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: LoginModule, imports: [LoginComponent,
11741
- LoginDialogComponent,
11742
- LoginDialogPanelComponent] }); }
11569
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: LoginModule, imports: [LoginComponent, LoginFooterDirective, LoginHeaderDirective, LoginDialogPanelComponent], exports: [LoginComponent, LoginFooterDirective, LoginHeaderDirective, LoginDialogPanelComponent] }); }
11570
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: LoginModule, imports: [LoginComponent, LoginDialogPanelComponent] }); }
11743
11571
  }
11744
11572
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: LoginModule, decorators: [{
11745
11573
  type: NgModule,
@@ -12186,7 +12014,7 @@ class InfoDrawerComponent {
12186
12014
  this.currentTab.emit(event.index);
12187
12015
  }
12188
12016
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: InfoDrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12189
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: InfoDrawerComponent, isStandalone: true, selector: "adf-info-drawer", inputs: { title: "title", icon: "icon", selectedIndex: "selectedIndex", showHeader: "showHeader" }, outputs: { currentTab: "currentTab" }, host: { listeners: { "keydown": "onKeyDown($event)", "keyup": "onKeyUp($event)" }, classAttribute: "adf-info-drawer" }, queries: [{ propertyName: "contentBlocks", predicate: InfoDrawerTabComponent }], ngImport: i0, template: "<adf-info-drawer-layout [showHeader]=\"showHeader\">\n <img *ngIf=\"icon\" class=\"adf-info-drawer-icon\" alt=\"{{ 'INFO_DRAWER.ICON' | translate }}\" src=\"{{ icon }}\" info-drawer-node-icon>\n <div *ngIf=\"title\" role=\"heading\" aria-level=\"1\" title=\"{{ title | translate }}\" info-drawer-title>{{ title | translate }}</div>\n\n <ng-content *ngIf=\"!title\" info-drawer-title select=\"[info-drawer-title]\" />\n <ng-content info-drawer-buttons select=\"[info-drawer-buttons]\" />\n <ng-container info-drawer-content *ngIf=\"showTabLayout(); then tabLayout else singleLayout\" />\n\n <ng-template #tabLayout>\n <mat-tab-group [(selectedIndex)]=\"selectedIndex\" class=\"adf-info-drawer-tabs\" (selectedTabChange)=\"onTabChange($event)\" [animationDuration]=\"0\">\n <mat-tab *ngFor=\"let contentBlock of contentBlocks\"\n #tab\n [labelClass]=\"[\n 'adf-info-drawer-tab',\n tab.isActive ? 'adf-info-drawer-tab--active' : '',\n ]\"\n [label]=\"contentBlock.label | translate\"\n class=\"adf-info-drawer-tab\">\n\n <ng-template mat-tab-label>\n <mat-icon *ngIf=\"contentBlock.icon\">{{ contentBlock.icon }}</mat-icon>\n <span *ngIf=\"contentBlock.label\">{{ contentBlock.label | translate }}</span>\n </ng-template>\n\n <ng-container *ngTemplateOutlet=\"contentBlock.content\" />\n </mat-tab>\n </mat-tab-group>\n </ng-template>\n\n <ng-template #singleLayout>\n <ng-content select=\"[info-drawer-content]\" />\n </ng-template>\n</adf-info-drawer-layout>\n", styles: [".adf-info-drawer .adf-metadata-properties-panel{display:block;margin:0}.adf-info-drawer .mdc-tab__text-label{min-width:0}.adf-info-drawer .adf-info-drawer-layout .adf-info-drawer-icon{display:inline-block;vertical-align:middle;margin-right:10px}.adf-info-drawer .adf-info-drawer-layout-content{padding:0}.adf-info-drawer .adf-info-drawer-layout-content>:not(.adf-info-drawer-tabs){padding:10px}.adf-info-drawer .adf-info-drawer-layout-content>:not(.adf-info-drawer-tabs)>*{margin-bottom:20px;display:block}.adf-info-drawer .adf-info-drawer-layout-content .adf-info-drawer-tabs .mat-mdc-card-content>*{margin-bottom:20px;display:block}.adf-info-drawer .adf-info-drawer-layout-content .adf-info-drawer-tabs .mat-mdc-card-content>*:last-child{margin-bottom:0}.adf-info-drawer .adf-info-drawer-layout-content .adf-info-drawer-tabs .mdc-tab__text-label{flex-grow:1}.adf-info-drawer .adf-info-drawer-layout-content .adf-info-drawer-tabs .mdc-tab__text-label .mat-icon+span{padding-left:5px}.adf-info-drawer .adf-info-drawer-layout-content .adf-info-drawer-tabs .mat-mdc-tab-body{overflow-y:hidden}.adf-info-drawer .adf-info-drawer-layout-content .adf-info-drawer-tabs .mat-mdc-card-content{overflow:auto}.adf-info-drawer-tabs .mat-mdc-tab-label-container{border-bottom:1px solid rgba(0,0,0,.12)}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab{color:var(--theme-accent-color);background-color:var(--adf-theme-background-card-color);border-bottom:unset;opacity:1}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab.mat-mdc-tab{flex-grow:1}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab:has(span){height:32px}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab--active{color:var(--theme-primary-color);background-color:var(--adf-theme-background-card-color);border-bottom:1px solid unset}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab--active:focus{color:var(--adf-theme-foreground-text-color);border-bottom:unset}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab:hover:not([class*=--disabled],[class*=--active]){color:var(--theme-accent-color);background-color:var(--adf-theme-background-card-color);border-bottom:unset}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab--disabled{color:var(--adf-info-drawer-tab-disabled-color);background-color:var(--adf-info-drawer-tab-disabled-background);border-bottom:var(--adf-info-drawer-tab-disabled-bottom-line)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: InfoDrawerLayoutComponent, selector: "adf-info-drawer-layout", inputs: ["showHeader"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i2$7.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i2$7.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i2$7.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: InfoDrawerTitleDirective, selector: "[adf-info-drawer-title], [info-drawer-title]" }, { kind: "directive", type: InfoDrawerContentDirective, selector: "[adf-info-drawer-content], [info-drawer-content]" }], encapsulation: i0.ViewEncapsulation.None }); }
12017
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: InfoDrawerComponent, isStandalone: true, selector: "adf-info-drawer", inputs: { title: "title", icon: "icon", selectedIndex: "selectedIndex", showHeader: "showHeader" }, outputs: { currentTab: "currentTab" }, host: { listeners: { "keydown": "onKeyDown($event)", "keyup": "onKeyUp($event)" }, classAttribute: "adf-info-drawer" }, queries: [{ propertyName: "contentBlocks", predicate: InfoDrawerTabComponent }], ngImport: i0, template: "<adf-info-drawer-layout [showHeader]=\"showHeader\">\n <img *ngIf=\"icon\" class=\"adf-info-drawer-icon\" alt=\"{{ 'INFO_DRAWER.ICON' | translate }}\" src=\"{{ icon }}\" info-drawer-node-icon>\n <div *ngIf=\"title\" role=\"heading\" aria-level=\"1\" title=\"{{ title | translate }}\" info-drawer-title>{{ title | translate }}</div>\n\n <ng-content *ngIf=\"!title\" info-drawer-title select=\"[info-drawer-title]\" />\n <ng-content info-drawer-buttons select=\"[info-drawer-buttons]\" />\n <ng-container info-drawer-content *ngIf=\"showTabLayout(); then tabLayout else singleLayout\" />\n\n <ng-template #tabLayout>\n <mat-tab-group [(selectedIndex)]=\"selectedIndex\" class=\"adf-info-drawer-tabs\" (selectedTabChange)=\"onTabChange($event)\" [animationDuration]=\"0\">\n <mat-tab *ngFor=\"let contentBlock of contentBlocks\"\n #tab\n [labelClass]=\"[\n 'adf-info-drawer-tab',\n tab.isActive ? 'adf-info-drawer-tab--active' : '',\n ]\"\n [label]=\"contentBlock.label | translate\"\n class=\"adf-info-drawer-tab\">\n\n <ng-template mat-tab-label>\n <mat-icon *ngIf=\"contentBlock.icon\">{{ contentBlock.icon }}</mat-icon>\n <span *ngIf=\"contentBlock.label\">{{ contentBlock.label | translate }}</span>\n </ng-template>\n\n <ng-container *ngTemplateOutlet=\"contentBlock.content\" />\n </mat-tab>\n </mat-tab-group>\n </ng-template>\n\n <ng-template #singleLayout>\n <ng-content select=\"[info-drawer-content]\" />\n </ng-template>\n</adf-info-drawer-layout>\n", styles: [".adf-info-drawer .adf-metadata-properties-panel{display:block;margin:0}.adf-info-drawer .mdc-tab__text-label{min-width:0}.adf-info-drawer .adf-info-drawer-layout .adf-info-drawer-icon{display:inline-block;vertical-align:middle;margin-right:10px}.adf-info-drawer .adf-info-drawer-layout-content{padding:0}.adf-info-drawer .adf-info-drawer-layout-content>:not(.adf-info-drawer-tabs){padding:10px}.adf-info-drawer .adf-info-drawer-layout-content>:not(.adf-info-drawer-tabs)>*{margin-bottom:20px;display:block}.adf-info-drawer .adf-info-drawer-layout-content .adf-info-drawer-tabs .mat-mdc-card-content>*{margin-bottom:20px;display:block}.adf-info-drawer .adf-info-drawer-layout-content .adf-info-drawer-tabs .mat-mdc-card-content>*:last-child{margin-bottom:0}.adf-info-drawer .adf-info-drawer-layout-content .adf-info-drawer-tabs .mdc-tab__text-label{flex-grow:1}.adf-info-drawer .adf-info-drawer-layout-content .adf-info-drawer-tabs .mdc-tab__text-label .mat-icon+span{padding-left:5px}.adf-info-drawer .adf-info-drawer-layout-content .adf-info-drawer-tabs .mat-mdc-tab-body{overflow-y:hidden}.adf-info-drawer .adf-info-drawer-layout-content .adf-info-drawer-tabs .mat-mdc-card-content{overflow:auto}.adf-info-drawer-tabs .mat-mdc-tab-label-container{border-bottom:1px solid rgba(0,0,0,.12)}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab{color:var(--theme-accent-color);background-color:var(--adf-theme-background-card-color);border-bottom:unset;opacity:1}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab.mat-mdc-tab{flex-grow:1}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab:has(span){height:32px}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab:focus-visible{outline:2px solid var(--theme-blue-button-color);border-radius:4px;outline-offset:-2px}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab--active{color:var(--theme-primary-color);background-color:var(--adf-theme-background-card-color);border-bottom:1px solid unset}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab--active:focus{color:var(--adf-theme-foreground-text-color);border-bottom:unset}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab:hover:not([class*=--disabled],[class*=--active]){color:var(--theme-accent-color);background-color:var(--adf-theme-background-card-color);border-bottom:unset}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab--disabled{color:var(--adf-info-drawer-tab-disabled-color);background-color:var(--adf-info-drawer-tab-disabled-background);border-bottom:var(--adf-info-drawer-tab-disabled-bottom-line)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: InfoDrawerLayoutComponent, selector: "adf-info-drawer-layout", inputs: ["showHeader"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i2$7.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i2$7.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i2$7.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: InfoDrawerTitleDirective, selector: "[adf-info-drawer-title], [info-drawer-title]" }, { kind: "directive", type: InfoDrawerContentDirective, selector: "[adf-info-drawer-content], [info-drawer-content]" }], encapsulation: i0.ViewEncapsulation.None }); }
12190
12018
  }
12191
12019
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: InfoDrawerComponent, decorators: [{
12192
12020
  type: Component,
@@ -12200,7 +12028,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
12200
12028
  InfoDrawerTitleDirective,
12201
12029
  InfoDrawerContentDirective,
12202
12030
  InfoDrawerTabComponent
12203
- ], encapsulation: ViewEncapsulation.None, host: { class: 'adf-info-drawer' }, template: "<adf-info-drawer-layout [showHeader]=\"showHeader\">\n <img *ngIf=\"icon\" class=\"adf-info-drawer-icon\" alt=\"{{ 'INFO_DRAWER.ICON' | translate }}\" src=\"{{ icon }}\" info-drawer-node-icon>\n <div *ngIf=\"title\" role=\"heading\" aria-level=\"1\" title=\"{{ title | translate }}\" info-drawer-title>{{ title | translate }}</div>\n\n <ng-content *ngIf=\"!title\" info-drawer-title select=\"[info-drawer-title]\" />\n <ng-content info-drawer-buttons select=\"[info-drawer-buttons]\" />\n <ng-container info-drawer-content *ngIf=\"showTabLayout(); then tabLayout else singleLayout\" />\n\n <ng-template #tabLayout>\n <mat-tab-group [(selectedIndex)]=\"selectedIndex\" class=\"adf-info-drawer-tabs\" (selectedTabChange)=\"onTabChange($event)\" [animationDuration]=\"0\">\n <mat-tab *ngFor=\"let contentBlock of contentBlocks\"\n #tab\n [labelClass]=\"[\n 'adf-info-drawer-tab',\n tab.isActive ? 'adf-info-drawer-tab--active' : '',\n ]\"\n [label]=\"contentBlock.label | translate\"\n class=\"adf-info-drawer-tab\">\n\n <ng-template mat-tab-label>\n <mat-icon *ngIf=\"contentBlock.icon\">{{ contentBlock.icon }}</mat-icon>\n <span *ngIf=\"contentBlock.label\">{{ contentBlock.label | translate }}</span>\n </ng-template>\n\n <ng-container *ngTemplateOutlet=\"contentBlock.content\" />\n </mat-tab>\n </mat-tab-group>\n </ng-template>\n\n <ng-template #singleLayout>\n <ng-content select=\"[info-drawer-content]\" />\n </ng-template>\n</adf-info-drawer-layout>\n", styles: [".adf-info-drawer .adf-metadata-properties-panel{display:block;margin:0}.adf-info-drawer .mdc-tab__text-label{min-width:0}.adf-info-drawer .adf-info-drawer-layout .adf-info-drawer-icon{display:inline-block;vertical-align:middle;margin-right:10px}.adf-info-drawer .adf-info-drawer-layout-content{padding:0}.adf-info-drawer .adf-info-drawer-layout-content>:not(.adf-info-drawer-tabs){padding:10px}.adf-info-drawer .adf-info-drawer-layout-content>:not(.adf-info-drawer-tabs)>*{margin-bottom:20px;display:block}.adf-info-drawer .adf-info-drawer-layout-content .adf-info-drawer-tabs .mat-mdc-card-content>*{margin-bottom:20px;display:block}.adf-info-drawer .adf-info-drawer-layout-content .adf-info-drawer-tabs .mat-mdc-card-content>*:last-child{margin-bottom:0}.adf-info-drawer .adf-info-drawer-layout-content .adf-info-drawer-tabs .mdc-tab__text-label{flex-grow:1}.adf-info-drawer .adf-info-drawer-layout-content .adf-info-drawer-tabs .mdc-tab__text-label .mat-icon+span{padding-left:5px}.adf-info-drawer .adf-info-drawer-layout-content .adf-info-drawer-tabs .mat-mdc-tab-body{overflow-y:hidden}.adf-info-drawer .adf-info-drawer-layout-content .adf-info-drawer-tabs .mat-mdc-card-content{overflow:auto}.adf-info-drawer-tabs .mat-mdc-tab-label-container{border-bottom:1px solid rgba(0,0,0,.12)}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab{color:var(--theme-accent-color);background-color:var(--adf-theme-background-card-color);border-bottom:unset;opacity:1}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab.mat-mdc-tab{flex-grow:1}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab:has(span){height:32px}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab--active{color:var(--theme-primary-color);background-color:var(--adf-theme-background-card-color);border-bottom:1px solid unset}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab--active:focus{color:var(--adf-theme-foreground-text-color);border-bottom:unset}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab:hover:not([class*=--disabled],[class*=--active]){color:var(--theme-accent-color);background-color:var(--adf-theme-background-card-color);border-bottom:unset}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab--disabled{color:var(--adf-info-drawer-tab-disabled-color);background-color:var(--adf-info-drawer-tab-disabled-background);border-bottom:var(--adf-info-drawer-tab-disabled-bottom-line)}\n"] }]
12031
+ ], encapsulation: ViewEncapsulation.None, host: { class: 'adf-info-drawer' }, template: "<adf-info-drawer-layout [showHeader]=\"showHeader\">\n <img *ngIf=\"icon\" class=\"adf-info-drawer-icon\" alt=\"{{ 'INFO_DRAWER.ICON' | translate }}\" src=\"{{ icon }}\" info-drawer-node-icon>\n <div *ngIf=\"title\" role=\"heading\" aria-level=\"1\" title=\"{{ title | translate }}\" info-drawer-title>{{ title | translate }}</div>\n\n <ng-content *ngIf=\"!title\" info-drawer-title select=\"[info-drawer-title]\" />\n <ng-content info-drawer-buttons select=\"[info-drawer-buttons]\" />\n <ng-container info-drawer-content *ngIf=\"showTabLayout(); then tabLayout else singleLayout\" />\n\n <ng-template #tabLayout>\n <mat-tab-group [(selectedIndex)]=\"selectedIndex\" class=\"adf-info-drawer-tabs\" (selectedTabChange)=\"onTabChange($event)\" [animationDuration]=\"0\">\n <mat-tab *ngFor=\"let contentBlock of contentBlocks\"\n #tab\n [labelClass]=\"[\n 'adf-info-drawer-tab',\n tab.isActive ? 'adf-info-drawer-tab--active' : '',\n ]\"\n [label]=\"contentBlock.label | translate\"\n class=\"adf-info-drawer-tab\">\n\n <ng-template mat-tab-label>\n <mat-icon *ngIf=\"contentBlock.icon\">{{ contentBlock.icon }}</mat-icon>\n <span *ngIf=\"contentBlock.label\">{{ contentBlock.label | translate }}</span>\n </ng-template>\n\n <ng-container *ngTemplateOutlet=\"contentBlock.content\" />\n </mat-tab>\n </mat-tab-group>\n </ng-template>\n\n <ng-template #singleLayout>\n <ng-content select=\"[info-drawer-content]\" />\n </ng-template>\n</adf-info-drawer-layout>\n", styles: [".adf-info-drawer .adf-metadata-properties-panel{display:block;margin:0}.adf-info-drawer .mdc-tab__text-label{min-width:0}.adf-info-drawer .adf-info-drawer-layout .adf-info-drawer-icon{display:inline-block;vertical-align:middle;margin-right:10px}.adf-info-drawer .adf-info-drawer-layout-content{padding:0}.adf-info-drawer .adf-info-drawer-layout-content>:not(.adf-info-drawer-tabs){padding:10px}.adf-info-drawer .adf-info-drawer-layout-content>:not(.adf-info-drawer-tabs)>*{margin-bottom:20px;display:block}.adf-info-drawer .adf-info-drawer-layout-content .adf-info-drawer-tabs .mat-mdc-card-content>*{margin-bottom:20px;display:block}.adf-info-drawer .adf-info-drawer-layout-content .adf-info-drawer-tabs .mat-mdc-card-content>*:last-child{margin-bottom:0}.adf-info-drawer .adf-info-drawer-layout-content .adf-info-drawer-tabs .mdc-tab__text-label{flex-grow:1}.adf-info-drawer .adf-info-drawer-layout-content .adf-info-drawer-tabs .mdc-tab__text-label .mat-icon+span{padding-left:5px}.adf-info-drawer .adf-info-drawer-layout-content .adf-info-drawer-tabs .mat-mdc-tab-body{overflow-y:hidden}.adf-info-drawer .adf-info-drawer-layout-content .adf-info-drawer-tabs .mat-mdc-card-content{overflow:auto}.adf-info-drawer-tabs .mat-mdc-tab-label-container{border-bottom:1px solid rgba(0,0,0,.12)}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab{color:var(--theme-accent-color);background-color:var(--adf-theme-background-card-color);border-bottom:unset;opacity:1}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab.mat-mdc-tab{flex-grow:1}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab:has(span){height:32px}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab:focus-visible{outline:2px solid var(--theme-blue-button-color);border-radius:4px;outline-offset:-2px}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab--active{color:var(--theme-primary-color);background-color:var(--adf-theme-background-card-color);border-bottom:1px solid unset}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab--active:focus{color:var(--adf-theme-foreground-text-color);border-bottom:unset}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab:hover:not([class*=--disabled],[class*=--active]){color:var(--theme-accent-color);background-color:var(--adf-theme-background-card-color);border-bottom:unset}.adf-info-drawer-tabs div[role=tab].adf-info-drawer-tab--disabled{color:var(--adf-info-drawer-tab-disabled-color);background-color:var(--adf-info-drawer-tab-disabled-background);border-bottom:var(--adf-info-drawer-tab-disabled-bottom-line)}\n"] }]
12204
12032
  }], propDecorators: { title: [{
12205
12033
  type: Input
12206
12034
  }], icon: [{
@@ -13128,7 +12956,7 @@ class DataColumnComponent {
13128
12956
  }
13129
12957
  ngOnInit() {
13130
12958
  if (!this.srTitle && this.key === '$thumbnail') {
13131
- this.srTitle = 'Thumbnail';
12959
+ this.srTitle = 'ADF-DOCUMENT-LIST.LAYOUT.THUMBNAIL';
13132
12960
  }
13133
12961
  }
13134
12962
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DataColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
@@ -13423,13 +13251,13 @@ class SnackbarContentComponent {
13423
13251
  this.data.callActionOnIconClick ? this.snackBarRef.dismissWithAction() : this.snackBarRef.dismiss();
13424
13252
  }
13425
13253
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: SnackbarContentComponent, deps: [{ token: i1$b.MatSnackBarRef }, { token: MAT_SNACK_BAR_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
13426
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: SnackbarContentComponent, isStandalone: true, selector: "adf-snackbar-content", host: { classAttribute: "mat-simple-snackbar" }, ngImport: i0, template: "<p class=\"adf-snackbar-message-content\" data-automation-id=\"adf-snackbar-message-content\" aria-hidden=\"true\">\n @if (data.decorativeIcon) {\n <mat-icon data-automation-id=\"adf-snackbar-decorative-icon\">{{ data.decorativeIcon }}</mat-icon>\n }\n {{ data.message }}\n</p>\n\n@if (data.showAction) {\n <div class=\"adf-snackbar-message-content-action\" aria-hidden=\"true\">\n @if (data.actionLabel) {\n <button mat-button (click)=\"snackBarRef.dismissWithAction()\" class=\"adf-snackbar-message-content-action-button\"\n data-automation-id=\"adf-snackbar-message-content-action-button\">\n {{data.actionLabel}}\n </button>\n }\n @if (data.actionIcon) {\n <button mat-button (click)=\"onIconClicked()\" class=\"adf-snackbar-message-content-action-icon\"\n [attr.aria-label]=\"data.actionIconAriaLabel | translate\">\n <mat-icon>{{ data.actionIcon }}</mat-icon>\n </button>\n }\n </div>\n}\n", styles: [":host{display:flex;align-items:center;justify-content:space-between}:host .adf-snackbar-message-content{display:flex;align-items:center;margin:0}:host .adf-snackbar-message-content mat-icon{margin-right:8px}:host .adf-snackbar-message-content-action{margin-left:24px;display:flex;flex-direction:row}:host .adf-snackbar-message-content-action .mat-mdc-button{min-width:0;margin:-8px;height:unset}:host .adf-snackbar-message-content-action .mat-mdc-button.adf-snackbar-message-content-action-button{margin-right:8px;padding-left:16px;padding-right:16px;width:auto;-webkit-font-smoothing:subpixel-antialiased}:host .adf-snackbar-message-content-action .mat-mdc-button.adf-snackbar-message-content-action-icon{padding:0;width:auto}:host .adf-snackbar-message-content-action .mat-mdc-button.adf-snackbar-message-content-action-icon mat-icon{height:24px;width:24px;font-size:24px;margin-right:0;margin-top:4px}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
13254
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: SnackbarContentComponent, isStandalone: true, selector: "adf-snackbar-content", host: { classAttribute: "mat-simple-snackbar" }, ngImport: i0, template: "<p class=\"adf-snackbar-message-content\" data-automation-id=\"adf-snackbar-message-content\" aria-hidden=\"true\">\n @if (data.decorativeIcon) {\n <mat-icon data-automation-id=\"adf-snackbar-decorative-icon\">{{ data.decorativeIcon }}</mat-icon>\n }\n {{ data.message }}\n</p>\n\n@if (data.showAction) {\n <div class=\"adf-snackbar-message-content-action\" aria-hidden=\"true\">\n @if (data.actionLabel) {\n <button mat-button (click)=\"snackBarRef.dismissWithAction()\" class=\"adf-snackbar-message-content-action-button\"\n data-automation-id=\"adf-snackbar-message-content-action-button\">\n {{data.actionLabel}}\n </button>\n }\n @if (data.actionIcon) {\n <button mat-button (click)=\"onIconClicked()\" class=\"adf-snackbar-message-content-action-icon\"\n [attr.aria-label]=\"data.actionIconAriaLabel | translate\">\n <mat-icon>{{ data.actionIcon }}</mat-icon>\n </button>\n }\n </div>\n}\n", styles: [":host{display:flex;align-items:center;justify-content:space-between}:host .adf-snackbar-message-content{display:flex;align-items:center;margin:0;overflow-wrap:anywhere;gap:8px}:host .adf-snackbar-message-content mat-icon{flex:0 0 auto;align-self:flex-start}:host .adf-snackbar-message-content-action{margin-left:24px;display:flex;flex-direction:row}:host .adf-snackbar-message-content-action .mat-mdc-button{min-width:0;margin:-8px;height:unset}:host .adf-snackbar-message-content-action .mat-mdc-button.adf-snackbar-message-content-action-button{margin-right:8px;padding-left:16px;padding-right:16px;width:auto;-webkit-font-smoothing:subpixel-antialiased}:host .adf-snackbar-message-content-action .mat-mdc-button.adf-snackbar-message-content-action-icon{padding:0;width:auto}:host .adf-snackbar-message-content-action .mat-mdc-button.adf-snackbar-message-content-action-icon mat-icon{height:24px;width:24px;font-size:24px;margin-right:0;margin-top:4px}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
13427
13255
  }
13428
13256
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: SnackbarContentComponent, decorators: [{
13429
13257
  type: Component,
13430
13258
  args: [{ selector: 'adf-snackbar-content', imports: [MatIconModule, TranslatePipe, MatButtonModule], host: {
13431
13259
  class: 'mat-simple-snackbar'
13432
- }, template: "<p class=\"adf-snackbar-message-content\" data-automation-id=\"adf-snackbar-message-content\" aria-hidden=\"true\">\n @if (data.decorativeIcon) {\n <mat-icon data-automation-id=\"adf-snackbar-decorative-icon\">{{ data.decorativeIcon }}</mat-icon>\n }\n {{ data.message }}\n</p>\n\n@if (data.showAction) {\n <div class=\"adf-snackbar-message-content-action\" aria-hidden=\"true\">\n @if (data.actionLabel) {\n <button mat-button (click)=\"snackBarRef.dismissWithAction()\" class=\"adf-snackbar-message-content-action-button\"\n data-automation-id=\"adf-snackbar-message-content-action-button\">\n {{data.actionLabel}}\n </button>\n }\n @if (data.actionIcon) {\n <button mat-button (click)=\"onIconClicked()\" class=\"adf-snackbar-message-content-action-icon\"\n [attr.aria-label]=\"data.actionIconAriaLabel | translate\">\n <mat-icon>{{ data.actionIcon }}</mat-icon>\n </button>\n }\n </div>\n}\n", styles: [":host{display:flex;align-items:center;justify-content:space-between}:host .adf-snackbar-message-content{display:flex;align-items:center;margin:0}:host .adf-snackbar-message-content mat-icon{margin-right:8px}:host .adf-snackbar-message-content-action{margin-left:24px;display:flex;flex-direction:row}:host .adf-snackbar-message-content-action .mat-mdc-button{min-width:0;margin:-8px;height:unset}:host .adf-snackbar-message-content-action .mat-mdc-button.adf-snackbar-message-content-action-button{margin-right:8px;padding-left:16px;padding-right:16px;width:auto;-webkit-font-smoothing:subpixel-antialiased}:host .adf-snackbar-message-content-action .mat-mdc-button.adf-snackbar-message-content-action-icon{padding:0;width:auto}:host .adf-snackbar-message-content-action .mat-mdc-button.adf-snackbar-message-content-action-icon mat-icon{height:24px;width:24px;font-size:24px;margin-right:0;margin-top:4px}\n"] }]
13260
+ }, template: "<p class=\"adf-snackbar-message-content\" data-automation-id=\"adf-snackbar-message-content\" aria-hidden=\"true\">\n @if (data.decorativeIcon) {\n <mat-icon data-automation-id=\"adf-snackbar-decorative-icon\">{{ data.decorativeIcon }}</mat-icon>\n }\n {{ data.message }}\n</p>\n\n@if (data.showAction) {\n <div class=\"adf-snackbar-message-content-action\" aria-hidden=\"true\">\n @if (data.actionLabel) {\n <button mat-button (click)=\"snackBarRef.dismissWithAction()\" class=\"adf-snackbar-message-content-action-button\"\n data-automation-id=\"adf-snackbar-message-content-action-button\">\n {{data.actionLabel}}\n </button>\n }\n @if (data.actionIcon) {\n <button mat-button (click)=\"onIconClicked()\" class=\"adf-snackbar-message-content-action-icon\"\n [attr.aria-label]=\"data.actionIconAriaLabel | translate\">\n <mat-icon>{{ data.actionIcon }}</mat-icon>\n </button>\n }\n </div>\n}\n", styles: [":host{display:flex;align-items:center;justify-content:space-between}:host .adf-snackbar-message-content{display:flex;align-items:center;margin:0;overflow-wrap:anywhere;gap:8px}:host .adf-snackbar-message-content mat-icon{flex:0 0 auto;align-self:flex-start}:host .adf-snackbar-message-content-action{margin-left:24px;display:flex;flex-direction:row}:host .adf-snackbar-message-content-action .mat-mdc-button{min-width:0;margin:-8px;height:unset}:host .adf-snackbar-message-content-action .mat-mdc-button.adf-snackbar-message-content-action-button{margin-right:8px;padding-left:16px;padding-right:16px;width:auto;-webkit-font-smoothing:subpixel-antialiased}:host .adf-snackbar-message-content-action .mat-mdc-button.adf-snackbar-message-content-action-icon{padding:0;width:auto}:host .adf-snackbar-message-content-action .mat-mdc-button.adf-snackbar-message-content-action-icon mat-icon{height:24px;width:24px;font-size:24px;margin-right:0;margin-top:4px}\n"] }]
13433
13261
  }], ctorParameters: () => [{ type: i1$b.MatSnackBarRef }, { type: undefined, decorators: [{
13434
13262
  type: Inject,
13435
13263
  args: [MAT_SNACK_BAR_DATA]
@@ -13715,8 +13543,6 @@ class ClipboardService {
13715
13543
  copyToClipboard(target, message) {
13716
13544
  if (this.isTargetValid(target)) {
13717
13545
  try {
13718
- target.select();
13719
- target.setSelectionRange(0, target.value.length);
13720
13546
  if (navigator.clipboard) {
13721
13547
  navigator.clipboard.writeText(target.value);
13722
13548
  }
@@ -13788,18 +13614,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
13788
13614
  * limitations under the License.
13789
13615
  */
13790
13616
  class ClipboardDirective {
13791
- constructor(clipboardService, viewContainerRef) {
13617
+ constructor(clipboardService, viewContainerRef, matTooltip, translate) {
13792
13618
  this.clipboardService = clipboardService;
13793
13619
  this.viewContainerRef = viewContainerRef;
13620
+ this.matTooltip = matTooltip;
13621
+ this.translate = translate;
13794
13622
  }
13795
13623
  showTooltip() {
13796
- if (this.placeholder) {
13797
- const componentRef = this.viewContainerRef.createComponent(ClipboardComponent).instance;
13798
- componentRef.placeholder = this.placeholder;
13799
- }
13624
+ const messageKey = this.placeholder || 'CLIPBOARD.CLICK_TO_COPY';
13625
+ const translated = this.translate ? this.translate.instant(messageKey) : messageKey;
13626
+ this.matTooltip.message = translated;
13627
+ this.matTooltip.position = 'below';
13628
+ this.matTooltip.show();
13800
13629
  }
13801
13630
  closeTooltip() {
13802
- this.viewContainerRef.remove();
13631
+ this.matTooltip.hide();
13803
13632
  }
13804
13633
  copyToClipboard(event) {
13805
13634
  event.preventDefault();
@@ -13815,16 +13644,22 @@ class ClipboardDirective {
13815
13644
  copyContentToClipboard(content) {
13816
13645
  this.clipboardService.copyContentToClipboard(content, this.message);
13817
13646
  }
13818
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClipboardDirective, deps: [{ token: ClipboardService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
13819
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ClipboardDirective, isStandalone: true, selector: "[adf-clipboard]", inputs: { placeholder: ["adf-clipboard", "placeholder"], target: "target", message: ["clipboard-notification", "message"] }, host: { listeners: { "mouseenter": "showTooltip()", "mouseleave": "closeTooltip()", "keydown.enter": "copyToClipboard($event)", "click": "copyToClipboard($event)" } }, exportAs: ["adfClipboard"], ngImport: i0 }); }
13647
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClipboardDirective, deps: [{ token: ClipboardService }, { token: i0.ViewContainerRef }, { token: i2$8.MatTooltip, self: true }, { token: i1$1.TranslateService, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
13648
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ClipboardDirective, isStandalone: true, selector: "[adf-clipboard]", inputs: { placeholder: ["adf-clipboard", "placeholder"], target: "target", message: ["clipboard-notification", "message"] }, host: { listeners: { "mouseenter": "showTooltip()", "mouseleave": "closeTooltip()", "keydown.enter": "copyToClipboard($event)", "click": "copyToClipboard($event)" } }, exportAs: ["adfClipboard"], hostDirectives: [{ directive: i2$8.MatTooltip }], ngImport: i0 }); }
13820
13649
  }
13821
13650
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClipboardDirective, decorators: [{
13822
13651
  type: Directive,
13823
13652
  args: [{
13824
13653
  selector: '[adf-clipboard]',
13825
- exportAs: 'adfClipboard'
13654
+ exportAs: 'adfClipboard',
13655
+ standalone: true,
13656
+ hostDirectives: [MatTooltip]
13826
13657
  }]
13827
- }], ctorParameters: () => [{ type: ClipboardService }, { type: i0.ViewContainerRef }], propDecorators: { placeholder: [{
13658
+ }], ctorParameters: () => [{ type: ClipboardService }, { type: i0.ViewContainerRef }, { type: i2$8.MatTooltip, decorators: [{
13659
+ type: Self
13660
+ }] }, { type: i1$1.TranslateService, decorators: [{
13661
+ type: Optional
13662
+ }] }], propDecorators: { placeholder: [{
13828
13663
  type: Input,
13829
13664
  args: ['adf-clipboard']
13830
13665
  }], target: [{
@@ -13845,22 +13680,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
13845
13680
  type: HostListener,
13846
13681
  args: ['click', ['$event']]
13847
13682
  }] } });
13848
- class ClipboardComponent {
13849
- ngOnInit() {
13850
- this.placeholder = this.placeholder || 'CLIPBOARD.CLICK_TO_COPY';
13851
- }
13852
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClipboardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13853
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClipboardComponent, isStandalone: true, selector: "adf-copy-content-tooltip", ngImport: i0, template: `<span class="adf-copy-tooltip">{{ placeholder | translate }} </span>`, isInline: true, dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
13854
- }
13855
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClipboardComponent, decorators: [{
13856
- type: Component,
13857
- args: [{
13858
- selector: 'adf-copy-content-tooltip',
13859
- imports: [TranslatePipe],
13860
- template: `<span class="adf-copy-tooltip">{{ placeholder | translate }} </span>`,
13861
- encapsulation: ViewEncapsulation.None
13862
- }]
13863
- }] });
13864
13683
 
13865
13684
  /*!
13866
13685
  * @license
@@ -13885,6 +13704,7 @@ class DataTableCellComponent {
13885
13704
  this.destroyRef = inject(DestroyRef);
13886
13705
  this.dataTableService = inject(DataTableService, { optional: true });
13887
13706
  this.value$ = new BehaviorSubject('');
13707
+ this.computedTitle = '';
13888
13708
  }
13889
13709
  ngOnInit() {
13890
13710
  this.updateValue();
@@ -13894,9 +13714,7 @@ class DataTableCellComponent {
13894
13714
  if (this.column?.key && this.row && this.data) {
13895
13715
  const value = this.data.getValue(this.row, this.column, this.resolverFn);
13896
13716
  this.value$.next(value);
13897
- if (!this.tooltip) {
13898
- this.tooltip = value;
13899
- }
13717
+ this.computedTitle = this.computeTitle(value);
13900
13718
  }
13901
13719
  }
13902
13720
  subscribeToRowUpdates() {
@@ -13914,6 +13732,17 @@ class DataTableCellComponent {
13914
13732
  getNestedPropertyValue(obj, path) {
13915
13733
  return path.split('.').reduce((source, key) => (source ? source[key] : ''), obj);
13916
13734
  }
13735
+ computeTitle(value) {
13736
+ if (this.tooltip) {
13737
+ return this.tooltip;
13738
+ }
13739
+ const rawValue = value;
13740
+ const max = this.column?.maxTextLength;
13741
+ if (typeof max === 'number' && max > 0 && rawValue?.length > max) {
13742
+ return rawValue;
13743
+ }
13744
+ return '';
13745
+ }
13917
13746
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DataTableCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13918
13747
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: DataTableCellComponent, isStandalone: true, selector: "adf-datatable-cell", inputs: { data: "data", column: "column", row: "row", copyContent: "copyContent", tooltip: "tooltip", resolverFn: "resolverFn" }, host: { classAttribute: "adf-datatable-content-cell" }, ngImport: i0, template: `
13919
13748
  <ng-container>
@@ -13922,14 +13751,14 @@ class DataTableCellComponent {
13922
13751
  adf-clipboard="CLIPBOARD.CLICK_TO_COPY"
13923
13752
  [clipboard-notification]="'CLIPBOARD.SUCCESS_COPY'"
13924
13753
  [attr.aria-label]="value$ | async"
13925
- [title]="tooltip"
13754
+ [title]="tooltip ? tooltip : computedTitle"
13926
13755
  class="adf-datatable-cell-value"
13927
- >{{ column?.maxTextLength ? (value$ | async | truncate : column?.maxTextLength) : (value$ | async) }}</span
13756
+ >{{ column?.maxTextLength ? (value$ | async | truncate: column?.maxTextLength) : (value$ | async) }}</span
13928
13757
  >
13929
13758
  </ng-container>
13930
13759
  <ng-template #defaultCell>
13931
- <span [title]="tooltip" class="adf-datatable-cell-value">{{
13932
- column?.maxTextLength ? (value$ | async | truncate : column?.maxTextLength) : (value$ | async)
13760
+ <span [title]="tooltip ? tooltip : computedTitle" class="adf-datatable-cell-value">{{
13761
+ column?.maxTextLength ? (value$ | async | truncate: column?.maxTextLength) : (value$ | async)
13933
13762
  }}</span>
13934
13763
  </ng-template>
13935
13764
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: ClipboardDirective, selector: "[adf-clipboard]", inputs: ["adf-clipboard", "target", "clipboard-notification"], exportAs: ["adfClipboard"] }, { kind: "pipe", type: TruncatePipe, name: "truncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
@@ -13947,14 +13776,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
13947
13776
  adf-clipboard="CLIPBOARD.CLICK_TO_COPY"
13948
13777
  [clipboard-notification]="'CLIPBOARD.SUCCESS_COPY'"
13949
13778
  [attr.aria-label]="value$ | async"
13950
- [title]="tooltip"
13779
+ [title]="tooltip ? tooltip : computedTitle"
13951
13780
  class="adf-datatable-cell-value"
13952
- >{{ column?.maxTextLength ? (value$ | async | truncate : column?.maxTextLength) : (value$ | async) }}</span
13781
+ >{{ column?.maxTextLength ? (value$ | async | truncate: column?.maxTextLength) : (value$ | async) }}</span
13953
13782
  >
13954
13783
  </ng-container>
13955
13784
  <ng-template #defaultCell>
13956
- <span [title]="tooltip" class="adf-datatable-cell-value">{{
13957
- column?.maxTextLength ? (value$ | async | truncate : column?.maxTextLength) : (value$ | async)
13785
+ <span [title]="tooltip ? tooltip : computedTitle" class="adf-datatable-cell-value">{{
13786
+ column?.maxTextLength ? (value$ | async | truncate: column?.maxTextLength) : (value$ | async)
13958
13787
  }}</span>
13959
13788
  </ng-template>
13960
13789
  `,
@@ -14168,8 +13997,8 @@ class ColumnsSelectorComponent {
14168
13997
  closeMenu() {
14169
13998
  this.mainMenuTrigger.closeMenu();
14170
13999
  }
14171
- changeColumnVisibility(dataColumn) {
14172
- const selectedColumn = this.columnItems.find((column) => column.id === dataColumn.id);
14000
+ changeColumnVisibility(event) {
14001
+ const selectedColumn = this.columnItems.find((column) => column.id === event.options[0].value);
14173
14002
  selectedColumn.isHidden = !selectedColumn.isHidden;
14174
14003
  }
14175
14004
  apply() {
@@ -14195,7 +14024,7 @@ class ColumnsSelectorComponent {
14195
14024
  return columns;
14196
14025
  }
14197
14026
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ColumnsSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14198
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ColumnsSelectorComponent, isStandalone: true, selector: "adf-datatable-column-selector", inputs: { columns: "columns", mainMenuTrigger: "mainMenuTrigger", columnsSorting: "columnsSorting", maxColumnsVisible: "maxColumnsVisible" }, outputs: { submitColumnsVisibility: "submitColumnsVisibility" }, ngImport: i0, template: "<div\n class=\"adf-columns-selector\"\n role=\"presentation\"\n data-automation-id=\"adf-columns-selector\"\n (keyup.enter)=\"$event.stopPropagation()\"\n (click)=\"$event.stopPropagation();\"\n>\n <div class=\"adf-columns-selector-header\">\n <span class=\"adf-columns-selector-header-label\">\n {{\"ADF-DATATABLE.COLUMNS_SELECTOR.COLUMNS\" | translate}}\n </span>\n\n <button\n data-automation-id=\"adf-columns-selector-close-button\"\n mat-icon-button\n role=\"menuitem\"\n [attr.aria-label]=\"'CLOSE' | translate\"\n (click)=\"closeMenu()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </div>\n\n <mat-divider class=\"adf-columns-selector-divider\" />\n\n <div class=\"adf-columns-selector-search-input-container\">\n <mat-icon\n class=\"adf-columns-selector-search-input-icon\">\n search\n </mat-icon>\n\n <input\n [formControl]=\"searchInputControl\"\n class=\"adf-columns-selector-search-input\"\n data-automation-id=\"adf-columns-selector-search-input\"\n type=\"text\"\n role=\"menuitem\"\n [placeholder]='\"ADF-DATATABLE.COLUMNS_SELECTOR.SEARCH\" | translate'>\n </div>\n\n <div class=\"adf-columns-selector-list-container\">\n <div *ngFor=\"let column of (columnItems | columnsSearchFilter: searchQuery)\" class=\"adf-columns-selector-list-item\">\n <mat-checkbox\n color=\"primary\"\n class=\"adf-columns-selector-column-checkbox\"\n [attr.data-automation-id]=\"'adf-columns-selector-column-checkbox-' + column.title\"\n [checked]=\"!column.isHidden\"\n role=\"menuitem\"\n [disabled]=\"isCheckboxDisabled(column)\"\n (keydown.enter)=\"changeColumnVisibility(column)\"\n (change)=\"changeColumnVisibility(column)\">\n <div class=\"adf-columns-selector-list-content\">\n {{column.title | translate}}\n </div>\n <div\n *ngIf=\"column.subtitle\"\n class=\"\n adf-columns-selector-list-content\n adf-columns-selector-subtitle\n \"\n >\n <span>\n {{column.subtitle | translate}}\n </span>\n </div>\n </mat-checkbox>\n </div>\n </div>\n\n <mat-divider class=\"adf-columns-selector-divider\" />\n\n <div class=\"adf-columns-selector-footer\">\n <button\n mat-flat-button\n role=\"menuitem\"\n data-automation-id=\"adf-columns-selector-apply-button\"\n color=\"primary\"\n (click)=\"apply()\">\n {{\"ADF-DATATABLE.COLUMNS_SELECTOR.APPLY\" | translate}}\n </button>\n </div>\n</div>\n", styles: [".adf-columns-selector{padding:12px 0;min-width:277px}.adf-columns-selector-header{padding:0 12px;display:flex;justify-content:space-between;align-items:center}.adf-columns-selector-header-label{font-size:var(--theme-body-1-font-size)}.adf-columns-selector-list-container{max-height:350px;overflow:hidden auto}.adf-columns-selector-list-item{margin-top:10px}.adf-columns-selector-list-item:hover{background-color:var(--adf-theme-background-hover-color)}.adf-columns-selector-list-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:210px}.adf-columns-selector-subtitle{color:var(--adf-theme-foreground-text-color);font-size:var(--theme-caption-font-size);opacity:.6;display:flex;column-gap:3px;align-items:center}.adf-columns-selector-subtitle-icon{margin-top:3px;height:var(--theme-caption-font-size);width:var(--theme-caption-font-size);font-size:var(--theme-caption-font-size)}.adf-columns-selector-column-checkbox{padding:0 20px}.adf-columns-selector-footer{padding:0 12px;display:flex;justify-content:flex-end}.adf-columns-selector-divider{margin:16px 0}.adf-columns-selector-search-input-container{padding:0 12px;position:relative;display:flex;align-items:center;margin-bottom:15px}.adf-columns-selector-search-input{padding:10px 10px 10px 29px;width:100%;outline:0;border-radius:6px;border:1px solid var(--theme-background-color);background:var(--theme-background-color)}.adf-columns-selector-search-input:focus{outline:none}.adf-columns-selector-search-input-icon{position:absolute;left:17px;top:10px;font-size:var(--theme-adf-icon-1-font-size)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i4$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2$6.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "pipe", type: ColumnsSearchFilterPipe, name: "columnsSearchFilter" }], encapsulation: i0.ViewEncapsulation.None }); }
14027
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ColumnsSelectorComponent, isStandalone: true, selector: "adf-datatable-column-selector", inputs: { columns: "columns", mainMenuTrigger: "mainMenuTrigger", columnsSorting: "columnsSorting", maxColumnsVisible: "maxColumnsVisible" }, outputs: { submitColumnsVisibility: "submitColumnsVisibility" }, ngImport: i0, template: "<div\n class=\"adf-columns-selector\"\n role=\"presentation\"\n data-automation-id=\"adf-columns-selector\"\n (keyup.enter)=\"$event.stopPropagation()\"\n (click)=\"$event.stopPropagation();\"\n>\n <div class=\"adf-columns-selector-header\">\n <span class=\"adf-columns-selector-header-label\">\n {{\"ADF-DATATABLE.COLUMNS_SELECTOR.COLUMNS\" | translate}}\n </span>\n\n <button\n data-automation-id=\"adf-columns-selector-close-button\"\n mat-icon-button\n [attr.aria-label]=\"'CLOSE' | translate\"\n (click)=\"closeMenu()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </div>\n\n <mat-divider class=\"adf-columns-selector-divider\" />\n\n <div class=\"adf-columns-selector-search-input-container\">\n <mat-icon\n class=\"adf-columns-selector-search-input-icon\">\n search\n </mat-icon>\n\n <input\n [formControl]=\"searchInputControl\"\n class=\"adf-columns-selector-search-input\"\n data-automation-id=\"adf-columns-selector-search-input\"\n type=\"text\"\n [placeholder]='\"ADF-DATATABLE.COLUMNS_SELECTOR.SEARCH\" | translate'>\n </div>\n\n <mat-selection-list\n class=\"adf-columns-selector-list-container\"\n (selectionChange)=\"changeColumnVisibility($event)\"\n [attr.aria-label]='\"ADF-DATATABLE.COLUMNS_SELECTOR.COLUMNS_VISIBILITY\" | translate'>\n <div *ngFor=\"let column of (columnItems | columnsSearchFilter: searchQuery)\" class=\"adf-columns-selector-list-item\">\n <mat-list-option\n color=\"primary\"\n class=\"adf-columns-selector-column-checkbox\"\n [attr.data-automation-id]=\"'adf-columns-selector-column-checkbox-' + column.title\"\n [selected]=\"!column.isHidden\"\n [disabled]=\"isCheckboxDisabled(column)\"\n [value]=\"column.id\">\n <div class=\"adf-columns-selector-list-content\">\n {{column.title | translate}}\n </div>\n <div\n *ngIf=\"column.subtitle\"\n class=\"\n adf-columns-selector-list-content\n adf-columns-selector-subtitle\n \"\n >\n <span>\n {{column.subtitle | translate}}\n </span>\n </div>\n </mat-list-option>\n </div>\n </mat-selection-list>\n\n <mat-divider class=\"adf-columns-selector-divider\" />\n\n <div class=\"adf-columns-selector-footer\">\n <button\n mat-flat-button\n data-automation-id=\"adf-columns-selector-apply-button\"\n color=\"primary\"\n (click)=\"apply()\">\n {{\"ADF-DATATABLE.COLUMNS_SELECTOR.APPLY\" | translate}}\n </button>\n </div>\n</div>\n", styles: ["adf-datatable-column-selector .adf-columns-selector{padding:12px 0;min-width:277px}adf-datatable-column-selector .adf-columns-selector-header{padding:0 12px;display:flex;justify-content:space-between;align-items:center}adf-datatable-column-selector .adf-columns-selector-header-label{font-size:var(--theme-body-1-font-size)}adf-datatable-column-selector .adf-columns-selector-list-container{max-height:350px;overflow:hidden auto;margin-left:-16px}adf-datatable-column-selector .adf-columns-selector .adf-columns-selector-list-item{margin-top:10px}adf-datatable-column-selector .adf-columns-selector .adf-columns-selector-list-item .mdc-list-item{display:flex;flex-direction:row-reverse;padding-left:0;height:24px}adf-datatable-column-selector .adf-columns-selector .adf-columns-selector-list-item .mdc-list-item .mdc-list-item__end{margin-right:-5px}adf-datatable-column-selector .adf-columns-selector-list-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:210px;color:var(--theme-secondary-text)}adf-datatable-column-selector .adf-columns-selector-subtitle{color:var(--adf-theme-foreground-text-color);font-size:var(--theme-caption-font-size);opacity:.6;display:flex;column-gap:3px;align-items:center}adf-datatable-column-selector .adf-columns-selector-subtitle-icon{margin-top:3px;height:var(--theme-caption-font-size);width:var(--theme-caption-font-size);font-size:var(--theme-caption-font-size)}adf-datatable-column-selector .adf-columns-selector-column-checkbox{padding:0 20px}adf-datatable-column-selector .adf-columns-selector-footer{padding:0 12px;display:flex;justify-content:flex-end}adf-datatable-column-selector .adf-columns-selector-divider{margin:16px 0}adf-datatable-column-selector .adf-columns-selector-search-input-container{padding:0 12px;position:relative;display:flex;align-items:center;margin-bottom:9px}adf-datatable-column-selector .adf-columns-selector-search-input{padding:10px 10px 10px 29px;width:100%;outline:0;border-radius:6px;border:1px solid var(--theme-background-color);background:var(--theme-background-color)}adf-datatable-column-selector .adf-columns-selector-search-input:focus{outline:none}adf-datatable-column-selector .adf-columns-selector-search-input-icon{position:absolute;left:17px;top:10px;font-size:var(--theme-adf-icon-1-font-size)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i4$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "pipe", type: ColumnsSearchFilterPipe, name: "columnsSearchFilter" }, { kind: "component", type: MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }], encapsulation: i0.ViewEncapsulation.None }); }
14199
14028
  }
14200
14029
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ColumnsSelectorComponent, decorators: [{
14201
14030
  type: Component,
@@ -14207,8 +14036,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
14207
14036
  MatDividerModule,
14208
14037
  ReactiveFormsModule,
14209
14038
  MatCheckboxModule,
14210
- ColumnsSearchFilterPipe
14211
- ], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"adf-columns-selector\"\n role=\"presentation\"\n data-automation-id=\"adf-columns-selector\"\n (keyup.enter)=\"$event.stopPropagation()\"\n (click)=\"$event.stopPropagation();\"\n>\n <div class=\"adf-columns-selector-header\">\n <span class=\"adf-columns-selector-header-label\">\n {{\"ADF-DATATABLE.COLUMNS_SELECTOR.COLUMNS\" | translate}}\n </span>\n\n <button\n data-automation-id=\"adf-columns-selector-close-button\"\n mat-icon-button\n role=\"menuitem\"\n [attr.aria-label]=\"'CLOSE' | translate\"\n (click)=\"closeMenu()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </div>\n\n <mat-divider class=\"adf-columns-selector-divider\" />\n\n <div class=\"adf-columns-selector-search-input-container\">\n <mat-icon\n class=\"adf-columns-selector-search-input-icon\">\n search\n </mat-icon>\n\n <input\n [formControl]=\"searchInputControl\"\n class=\"adf-columns-selector-search-input\"\n data-automation-id=\"adf-columns-selector-search-input\"\n type=\"text\"\n role=\"menuitem\"\n [placeholder]='\"ADF-DATATABLE.COLUMNS_SELECTOR.SEARCH\" | translate'>\n </div>\n\n <div class=\"adf-columns-selector-list-container\">\n <div *ngFor=\"let column of (columnItems | columnsSearchFilter: searchQuery)\" class=\"adf-columns-selector-list-item\">\n <mat-checkbox\n color=\"primary\"\n class=\"adf-columns-selector-column-checkbox\"\n [attr.data-automation-id]=\"'adf-columns-selector-column-checkbox-' + column.title\"\n [checked]=\"!column.isHidden\"\n role=\"menuitem\"\n [disabled]=\"isCheckboxDisabled(column)\"\n (keydown.enter)=\"changeColumnVisibility(column)\"\n (change)=\"changeColumnVisibility(column)\">\n <div class=\"adf-columns-selector-list-content\">\n {{column.title | translate}}\n </div>\n <div\n *ngIf=\"column.subtitle\"\n class=\"\n adf-columns-selector-list-content\n adf-columns-selector-subtitle\n \"\n >\n <span>\n {{column.subtitle | translate}}\n </span>\n </div>\n </mat-checkbox>\n </div>\n </div>\n\n <mat-divider class=\"adf-columns-selector-divider\" />\n\n <div class=\"adf-columns-selector-footer\">\n <button\n mat-flat-button\n role=\"menuitem\"\n data-automation-id=\"adf-columns-selector-apply-button\"\n color=\"primary\"\n (click)=\"apply()\">\n {{\"ADF-DATATABLE.COLUMNS_SELECTOR.APPLY\" | translate}}\n </button>\n </div>\n</div>\n", styles: [".adf-columns-selector{padding:12px 0;min-width:277px}.adf-columns-selector-header{padding:0 12px;display:flex;justify-content:space-between;align-items:center}.adf-columns-selector-header-label{font-size:var(--theme-body-1-font-size)}.adf-columns-selector-list-container{max-height:350px;overflow:hidden auto}.adf-columns-selector-list-item{margin-top:10px}.adf-columns-selector-list-item:hover{background-color:var(--adf-theme-background-hover-color)}.adf-columns-selector-list-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:210px}.adf-columns-selector-subtitle{color:var(--adf-theme-foreground-text-color);font-size:var(--theme-caption-font-size);opacity:.6;display:flex;column-gap:3px;align-items:center}.adf-columns-selector-subtitle-icon{margin-top:3px;height:var(--theme-caption-font-size);width:var(--theme-caption-font-size);font-size:var(--theme-caption-font-size)}.adf-columns-selector-column-checkbox{padding:0 20px}.adf-columns-selector-footer{padding:0 12px;display:flex;justify-content:flex-end}.adf-columns-selector-divider{margin:16px 0}.adf-columns-selector-search-input-container{padding:0 12px;position:relative;display:flex;align-items:center;margin-bottom:15px}.adf-columns-selector-search-input{padding:10px 10px 10px 29px;width:100%;outline:0;border-radius:6px;border:1px solid var(--theme-background-color);background:var(--theme-background-color)}.adf-columns-selector-search-input:focus{outline:none}.adf-columns-selector-search-input-icon{position:absolute;left:17px;top:10px;font-size:var(--theme-adf-icon-1-font-size)}\n"] }]
14039
+ ColumnsSearchFilterPipe,
14040
+ MatSelectionList,
14041
+ MatListOption
14042
+ ], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"adf-columns-selector\"\n role=\"presentation\"\n data-automation-id=\"adf-columns-selector\"\n (keyup.enter)=\"$event.stopPropagation()\"\n (click)=\"$event.stopPropagation();\"\n>\n <div class=\"adf-columns-selector-header\">\n <span class=\"adf-columns-selector-header-label\">\n {{\"ADF-DATATABLE.COLUMNS_SELECTOR.COLUMNS\" | translate}}\n </span>\n\n <button\n data-automation-id=\"adf-columns-selector-close-button\"\n mat-icon-button\n [attr.aria-label]=\"'CLOSE' | translate\"\n (click)=\"closeMenu()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </div>\n\n <mat-divider class=\"adf-columns-selector-divider\" />\n\n <div class=\"adf-columns-selector-search-input-container\">\n <mat-icon\n class=\"adf-columns-selector-search-input-icon\">\n search\n </mat-icon>\n\n <input\n [formControl]=\"searchInputControl\"\n class=\"adf-columns-selector-search-input\"\n data-automation-id=\"adf-columns-selector-search-input\"\n type=\"text\"\n [placeholder]='\"ADF-DATATABLE.COLUMNS_SELECTOR.SEARCH\" | translate'>\n </div>\n\n <mat-selection-list\n class=\"adf-columns-selector-list-container\"\n (selectionChange)=\"changeColumnVisibility($event)\"\n [attr.aria-label]='\"ADF-DATATABLE.COLUMNS_SELECTOR.COLUMNS_VISIBILITY\" | translate'>\n <div *ngFor=\"let column of (columnItems | columnsSearchFilter: searchQuery)\" class=\"adf-columns-selector-list-item\">\n <mat-list-option\n color=\"primary\"\n class=\"adf-columns-selector-column-checkbox\"\n [attr.data-automation-id]=\"'adf-columns-selector-column-checkbox-' + column.title\"\n [selected]=\"!column.isHidden\"\n [disabled]=\"isCheckboxDisabled(column)\"\n [value]=\"column.id\">\n <div class=\"adf-columns-selector-list-content\">\n {{column.title | translate}}\n </div>\n <div\n *ngIf=\"column.subtitle\"\n class=\"\n adf-columns-selector-list-content\n adf-columns-selector-subtitle\n \"\n >\n <span>\n {{column.subtitle | translate}}\n </span>\n </div>\n </mat-list-option>\n </div>\n </mat-selection-list>\n\n <mat-divider class=\"adf-columns-selector-divider\" />\n\n <div class=\"adf-columns-selector-footer\">\n <button\n mat-flat-button\n data-automation-id=\"adf-columns-selector-apply-button\"\n color=\"primary\"\n (click)=\"apply()\">\n {{\"ADF-DATATABLE.COLUMNS_SELECTOR.APPLY\" | translate}}\n </button>\n </div>\n</div>\n", styles: ["adf-datatable-column-selector .adf-columns-selector{padding:12px 0;min-width:277px}adf-datatable-column-selector .adf-columns-selector-header{padding:0 12px;display:flex;justify-content:space-between;align-items:center}adf-datatable-column-selector .adf-columns-selector-header-label{font-size:var(--theme-body-1-font-size)}adf-datatable-column-selector .adf-columns-selector-list-container{max-height:350px;overflow:hidden auto;margin-left:-16px}adf-datatable-column-selector .adf-columns-selector .adf-columns-selector-list-item{margin-top:10px}adf-datatable-column-selector .adf-columns-selector .adf-columns-selector-list-item .mdc-list-item{display:flex;flex-direction:row-reverse;padding-left:0;height:24px}adf-datatable-column-selector .adf-columns-selector .adf-columns-selector-list-item .mdc-list-item .mdc-list-item__end{margin-right:-5px}adf-datatable-column-selector .adf-columns-selector-list-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:210px;color:var(--theme-secondary-text)}adf-datatable-column-selector .adf-columns-selector-subtitle{color:var(--adf-theme-foreground-text-color);font-size:var(--theme-caption-font-size);opacity:.6;display:flex;column-gap:3px;align-items:center}adf-datatable-column-selector .adf-columns-selector-subtitle-icon{margin-top:3px;height:var(--theme-caption-font-size);width:var(--theme-caption-font-size);font-size:var(--theme-caption-font-size)}adf-datatable-column-selector .adf-columns-selector-column-checkbox{padding:0 20px}adf-datatable-column-selector .adf-columns-selector-footer{padding:0 12px;display:flex;justify-content:flex-end}adf-datatable-column-selector .adf-columns-selector-divider{margin:16px 0}adf-datatable-column-selector .adf-columns-selector-search-input-container{padding:0 12px;position:relative;display:flex;align-items:center;margin-bottom:9px}adf-datatable-column-selector .adf-columns-selector-search-input{padding:10px 10px 10px 29px;width:100%;outline:0;border-radius:6px;border:1px solid var(--theme-background-color);background:var(--theme-background-color)}adf-datatable-column-selector .adf-columns-selector-search-input:focus{outline:none}adf-datatable-column-selector .adf-columns-selector-search-input-icon{position:absolute;left:17px;top:10px;font-size:var(--theme-adf-icon-1-font-size)}\n"] }]
14212
14043
  }], propDecorators: { columns: [{
14213
14044
  type: Input
14214
14045
  }], mainMenuTrigger: [{
@@ -17217,7 +17048,7 @@ class DataTableComponent {
17217
17048
  return this.resizingColumnIndex >= 0;
17218
17049
  }
17219
17050
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DataTableComponent, deps: [{ token: i0.ElementRef }, { token: i0.IterableDiffers }, { token: i1$3.MatIconRegistry }, { token: i1$5.DomSanitizer }, { token: i3$2.ConfigurableFocusTrapFactory }], target: i0.ɵɵFactoryTarget.Component }); }
17220
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: DataTableComponent, isStandalone: true, selector: "adf-datatable", inputs: { data: "data", rows: "rows", sorting: "sorting", columns: "columns", selectionMode: "selectionMode", multiselect: "multiselect", mainTableAction: "mainTableAction", actions: "actions", showMainDatatableActions: "showMainDatatableActions", showProvidedActions: "showProvidedActions", actionsPosition: "actionsPosition", actionsVisibleOnHover: "actionsVisibleOnHover", fallbackThumbnail: "fallbackThumbnail", contextMenu: "contextMenu", rowStyle: "rowStyle", rowStyleClass: "rowStyleClass", showHeader: "showHeader", stickyHeader: "stickyHeader", loading: "loading", noPermission: "noPermission", rowMenuCacheEnabled: "rowMenuCacheEnabled", resolverFn: "resolverFn", allowFiltering: "allowFiltering", isResizingEnabled: "isResizingEnabled", blurOnResize: "blurOnResize", displayCheckboxesOnHover: "displayCheckboxesOnHover", enableDragRows: "enableDragRows" }, outputs: { rowClick: "rowClick", rowDblClick: "rowDblClick", showRowContextMenu: "showRowContextMenu", showRowActionsMenu: "showRowActionsMenu", executeRowAction: "executeRowAction", columnOrderChanged: "columnOrderChanged", columnsWidthChanged: "columnsWidthChanged", selectedItemsCountChanged: "selectedItemsCountChanged", dragDropped: "dragDropped" }, host: { listeners: { "keyup": "onKeydown($event)" }, classAttribute: "adf-datatable" }, queries: [{ propertyName: "columnList", first: true, predicate: DataColumnListComponent, descendants: true }], viewQueries: [{ propertyName: "mainMenuTemplate", first: true, predicate: ["mainMenuTemplate"], descendants: true }, { propertyName: "rowsList", predicate: DataTableRowComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n role=\"grid\"\n *ngIf=\"data\"\n class=\"adf-datatable-list\"\n [class.adf-sticky-header]=\"isStickyHeaderEnabled()\"\n [class.adf-datatable--empty]=\"(isEmpty() && !isHeaderVisible()) || loading\"\n [class.adf-datatable--empty--header-visible]=\"isEmpty() && isHeaderVisible()\"\n>\n <div *ngIf=\"isHeaderVisible()\" class=\"adf-datatable-header\" role=\"rowgroup\" [ngClass]=\"{ 'adf-sr-only': !isHeaderVisible() }\">\n <adf-datatable-row\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n [cdkDropListSortPredicate]=\"filterDisabledColumns\"\n data-automation-id=\"datatable-row-header\"\n [disabled]=\"!isHeaderVisible()\"\n class=\"adf-datatable-row\"\n role=\"row\">\n\n\n <!-- Drag -->\n <div *ngIf=\"enableDragRows\" class=\"adf-datatable-cell-header adf-drag-column\">\n <span class=\"adf-sr-only\">{{ 'ADF-DATATABLE.ACCESSIBILITY.DRAG' | translate }}</span>\n </div>\n\n <!-- Actions (left) -->\n <div *ngIf=\"actions && actionsPosition === 'left'\" class=\"adf-actions-column adf-datatable-cell-header\">\n <span class=\"adf-sr-only\">{{ 'ADF-DATATABLE.ACCESSIBILITY.ACTIONS' | translate }}</span>\n </div>\n\n <!-- Columns -->\n <div *ngIf=\"multiselect\" class=\"adf-datatable-cell-header adf-datatable-checkbox\">\n <mat-checkbox [indeterminate]=\"isSelectAllIndeterminate\"\n [checked]=\"isSelectAllChecked\"\n (change)=\"onSelectAllClick($event)\"\n class=\"adf-checkbox-sr-only\"\n [aria-label]=\"'ADF-DATATABLE.ACCESSIBILITY.SELECT_ALL' | translate\">\n {{ 'ADF-DATATABLE.ACCESSIBILITY.SELECT_ALL' | translate }}\n </mat-checkbox>\n </div>\n\n <ng-container\n *ngFor=\"\n let col of getVisibleColumns();\n let columnIndex = index\n let lastColumn = last\"\n >\n <div\n class=\"adf-datatable-cell--{{col.type || 'text'}} {{col.cssClass}} adf-datatable-cell-header adf-datatable-cell-data\"\n *ngIf=\"col.title || !showProvidedActions\"\n [attr.data-automation-id]=\"'auto_id_' + col.key\"\n [ngClass]=\"{\n 'adf-sortable': col.sortable,\n 'adf-datatable__cursor--pointer': !isResizing,\n 'adf-datatable__header--sorted-asc': isColumnSorted(col, 'asc'),\n 'adf-datatable__header--sorted-desc': isColumnSorted(col, 'desc')}\"\n [ngStyle]=\"(col.width) && !lastColumn && {'flex': getFlexValue(col)}\"\n [attr.aria-label]=\"(col.title | translate) + (col.subtitle ? ' ' + col.subtitle : '')\"\n (click)=\"onColumnHeaderClick(col, $event)\"\n (keyup.enter)=\"onColumnHeaderClick(col, $event)\"\n role=\"columnheader\"\n [attr.tabindex]=\"isHeaderVisible() ? 0 : null\"\n [attr.aria-sort]=\"col.sortable ? (getAriaSort(col) | translate) : null\"\n cdkDrag\n cdkDragLockAxis=\"x\"\n (cdkDragStarted)=\"isDraggingHeaderColumn = true\"\n (cdkDragDropped)=\"onDropHeaderColumn($event)\"\n [cdkDragDisabled]=\"!col.draggable\"\n (mouseenter)=\"hoveredHeaderColumnIndex = columnIndex\"\n (mouseleave)=\"hoveredHeaderColumnIndex = -1\"\n adf-drop-zone dropTarget=\"header\"\n [dropColumn]=\"col\"\n >\n\n <div\n adf-resizable\n #resizableElement=\"adf-resizable\"\n [coverPadding]=\"10\"\n (resizing)=\"onResizing($event, columnIndex)\"\n (resizeStart)=\"resizingColumnIndex = columnIndex\"\n (resizeEnd)=\"onResizingEnd()\"\n [attr.data-automation-id]=\"'auto_header_content_id_' + col.key\"\n class=\"adf-datatable-cell-header-content\"\n [ngClass]=\"{ 'adf-datatable-cell-header-content--hovered':\n hoveredHeaderColumnIndex === columnIndex &&\n !isDraggingHeaderColumn &&\n !isResizing && col.sortable}\"\n >\n <ng-container *ngIf=\"!col.header\">\n <span\n *ngIf=\"col.title\"\n title=\"{{col.title | translate}}\"\n class=\"adf-datatable-cell-value\"\n >\n {{col.title | translate}}\n </span>\n\n <span\n *ngIf=\"col.subtitle\"\n title=\"{{col.subtitle | translate}}\"\n class=\"adf-datatable-cell-value adf-datatable-cell-header_subtitle\"\n >\n ({{col.subtitle | translate}})\n </span>\n\n <span *ngIf=\"col.title && col.sortable && isDraggingHeaderColumn\" class=\"adf-sr-only\" aria-live=\"polite\">\n {{ getSortLiveAnnouncement(col) | translate: { string: col.title | translate } }}\n </span>\n\n <span *ngIf=\"!col.title && !col.sortable && !headerFilterTemplate\" [attr.title]=\"'ADF-DATATABLE.ACCESSIBILITY.EMPTY_HEADER' | translate\"></span>\n </ng-container>\n\n <div *ngIf=\"col.header\" class=\"adf-datatable-cell-value\">\n <ng-template [ngTemplateOutlet]=\"col.header\" [ngTemplateOutletContext]=\"{$implicit: col}\" />\n </div>\n\n <span\n [class.adf-datatable__header--sorted-asc]=\"isColumnSorted(col, 'asc')\"\n [class.adf-datatable__header--sorted-desc]=\"isColumnSorted(col, 'desc')\">\n </span>\n\n <ng-template *ngIf=\"allowFiltering\" [ngTemplateOutlet]=\"headerFilterTemplate\" [ngTemplateOutletContext]=\"{$implicit: col}\" />\n\n <span\n *ngIf=\"col.draggable\"\n cdkDragHandle\n [ngClass]=\"{ 'adf-datatable-cell-header-drag-icon': !isResizing }\"\n >\n <adf-icon\n *ngIf=\"hoveredHeaderColumnIndex === columnIndex && !isResizing\"\n value=\"adf:drag_indicator\"\n class=\"adf-datatable-cell-header-drag-icon-visible\"\n [attr.data-automation-id]=\"'adf-datatable-cell-header-drag-icon-'+col.key\" />\n </span>\n </div>\n <div\n *ngIf=\"isResizingEnabled && col.resizable && !lastColumn\"\n [ngClass]=\"hoveredHeaderColumnIndex === columnIndex && !isResizing || resizingColumnIndex === columnIndex ? 'adf-datatable__resize-handle-visible' : 'adf-datatable__resize-handle-hidden'\"\n adf-resize-handle\n tabindex=\"0\"\n role=\"button\"\n (click)=\"$event.stopPropagation()\"\n (keyup.enter)=\"$event.stopPropagation()\"\n class=\"adf-datatable__resize-handle\"\n [resizableContainer]=\"resizableElement\">\n <div class=\"adf-datatable__resize-handle--divider\"></div>\n </div>\n <div class=\"adf-drop-header-cell-placeholder\" *cdkDragPlaceholder></div>\n </div>\n </ng-container>\n\n <!-- Header actions (right) -->\n <div\n *ngIf=\"(actions && actionsPosition === 'right') ||\n (mainActionTemplate && showMainDatatableActions)\"\n class=\"adf-actions-column adf-datatable-actions-menu adf-datatable-cell-header adf-datatable__actions-cell\"\n [class.adf-datatable-actions-menu-provided]=\"showProvidedActions\"\n >\n <ng-container *ngIf=\"mainActionTemplate\">\n <button\n data-automation-id=\"adf-datatable-main-menu-button\"\n title=\"{{ 'ADF-DATATABLE.CONTENT-ACTIONS.SELECT_COLUMNS' | translate }}\"\n mat-icon-button\n #mainMenuTrigger=\"matMenuTrigger\"\n (click)=\"onMainMenuOpen()\"\n [matMenuTriggerFor]=\"mainMenu\">\n <mat-icon>view_week_outline</mat-icon>\n </button>\n <mat-menu #mainMenu (closed)=\"onMainMenuClosed()\">\n <div #mainMenuTemplate role=\"presentation\" (keydown.tab)=\"$event.stopPropagation()\">\n <ng-container\n [ngTemplateOutlet]=\"mainActionTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: mainMenuTrigger\n }\" />\n </div>\n </mat-menu>\n <span class=\"adf-sr-only\">{{ 'ADF-DATATABLE.ACCESSIBILITY.ACTIONS' | translate }}</span>\n </ng-container>\n </div>\n\n </adf-datatable-row>\n </div>\n\n <div\n *ngIf=\"!loading; else loadingRowTemplate\"\n class=\"adf-datatable-body\"\n [ngClass]=\"{ 'adf-blur-datatable-body': blurOnResize && (isDraggingHeaderColumn || isResizing), 'adf-datatable-body__draggable': enableDragRows && !isDraggingRow, 'adf-datatable-body__dragging': isDraggingRow }\"\n cdkDropList\n [cdkDropListDisabled]=\"!enableDragRows\"\n role=\"rowgroup\">\n <ng-container *ngIf=\"!noPermission; else noPermissionsRowTemplate\">\n <adf-datatable-row *ngFor=\"let row of data.getRows(); let idx = index\"\n cdkDrag\n [cdkDragDisabled]=\"!enableDragRows\"\n (cdkDragDropped)=\"onDragDrop($event)\"\n (cdkDragStarted)=\"onDragStart()\"\n (cdkDragEnded)=\"onDragEnd()\"\n [cdkDragBoundary]=\"'.adf-datatable-body'\"\n [row]=\"row\"\n (select)=\"onEnterKeyPressed(row, $event)\"\n (keyup)=\"onRowKeyUp(row, $event)\"\n (keydown)=\"onRowEnterKeyDown(row, $event)\"\n [adf-upload]=\"rowAllowsDrop(row)\"\n [adf-upload-data]=\"row\"\n [ngStyle]=\"rowStyle\"\n [ngClass]=\"getRowStyle(row)\"\n [class.adf-datatable-row__dragging]=\"isDraggingRow\"\n [attr.data-automation-id]=\"'datatable-row-' + idx\"\n (contextmenu)=\"markRowAsContextMenuSource(row)\">\n <!-- Drag button -->\n <div *ngIf=\"enableDragRows\"\n role=\"gridcell\"\n class=\"adf-datatable-cell adf-datatable__actions-cell adf-datatable-hover-only\">\n <button mat-icon-button\n [attr.aria-label]=\"'ADF-DATATABLE.ACCESSIBILITY.DRAG' | translate\">\n <mat-icon>drag_indicator</mat-icon>\n </button>\n </div>\n\n <!-- Actions (left) -->\n <div *ngIf=\"actions && actionsPosition === 'left'\" role=\"gridcell\" class=\"adf-datatable-cell\">\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" #actionsMenuTrigger=\"matMenuTrigger\"\n [ngClass]=\"getHideActionsWithoutHoverClass(actionsMenuTrigger)\"\n [title]=\"'ADF-DATATABLE.CONTENT-ACTIONS.TOOLTIP' | translate\"\n [attr.id]=\"'action_menu_left_' + idx\"\n [attr.data-automation-id]=\"'action_menu_' + idx\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngFor=\"let action of getRowActions(row)\"\n [attr.data-automation-id]=\"action.title\"\n [disabled]=\"action.disabled\"\n (click)=\"onExecuteRowAction(row, action)\">\n <mat-icon *ngIf=\"action.icon\">{{ action.icon }}</mat-icon>\n <span>{{ action.title | translate }}</span>\n </button>\n </mat-menu>\n </div>\n\n <label *ngIf=\"multiselect\"\n (keydown.enter)=\"onEnterKeyPressed(row, $any($event))\"\n (click)=\"onCheckboxLabelClick(row, $event)\"\n [for]=\"'select-file-' + idx\"\n class=\"adf-datatable-cell adf-datatable-checkbox adf-datatable-checkbox-single\"\n tabindex=\"0\">\n <mat-checkbox\n [id]=\"'select-file-' + idx\"\n [disabled]=\"!row?.isSelectable\"\n [class.adf-datatable-checkbox-selected]=\"row.isSelected\"\n [class.adf-datatable-hover-only]=\"displayCheckboxesOnHover\"\n [checked]=\"row.isSelected\"\n [attr.aria-checked]=\"row.isSelected\"\n [aria-label]=\"'ADF-DATATABLE.ACCESSIBILITY.SELECT_FILE' | translate\"\n data-adf-datatable-row-checkbox\n (change)=\"onCheckboxChange(row, $event)\"\n class=\"adf-checkbox-sr-only\">\n {{ 'ADF-DATATABLE.ACCESSIBILITY.SELECT_FILE' | translate }}\n </mat-checkbox>\n </label>\n\n <div\n *ngFor=\"let col of getVisibleColumns(); let lastColumn = last;\"\n role=\"gridcell\"\n class=\"adf-datatable-cell adf-datatable-cell--{{col.type || 'text'}} {{col.cssClass}} adf-datatable-cell-data\"\n [attr.title]=\"col.title | translate\"\n [attr.data-automation-id]=\"getAutomationValue(row)\"\n [attr.aria-selected]=\"row.isSelected\"\n [attr.aria-label]=\"col.title ? (col.title | translate) : null\"\n (click)=\"onRowClick(row, $event)\"\n tabindex=\"0\"\n (keydown.enter)=\"onEnterKeyPressed(row, $any($event))\"\n [adf-context-menu]=\"getContextMenuActions(row, col)\"\n [adf-context-menu-enabled]=\"contextMenu\"\n adf-drop-zone dropTarget=\"cell\" [dropColumn]=\"col\" [dropRow]=\"row\"\n [ngStyle]=\"(col.width) && !lastColumn && {'flex': getFlexValue(col)}\"\n >\n <div *ngIf=\"!col.template\" class=\"adf-datatable-cell-container\">\n <ng-container [ngSwitch]=\"data.getColumnType(row, col)\">\n <div *ngSwitchCase=\"'image'\" class=\"adf-cell-value\">\n <mat-icon *ngIf=\"isIconValue(row, col); else no_iconvalue\">{{ asIconValue(row, col) }}\n </mat-icon>\n <ng-template #no_iconvalue>\n <mat-icon class=\"adf-datatable-selected\"\n *ngIf=\"row.isSelected && !multiselect; else no_selected_row\" svgIcon=\"selected\" />\n <ng-template #no_selected_row>\n <img class=\"adf-datatable-center-img-ie\"\n [attr.aria-label]=\"(data.getValue(row, col) | fileType) === 'disable' ?\n ('ADF-DATATABLE.ACCESSIBILITY.ICON_DISABLED' | translate) :\n 'ADF-DATATABLE.ACCESSIBILITY.ICON_TEXT' | translate:{\n type: 'ADF-DATATABLE.FILE_TYPE.' + (data.getValue(row, col) | fileType | uppercase) | translate\n }\"\n [attr.alt]=\"(data.getValue(row, col) | fileType) === 'disable' ?\n ('ADF-DATATABLE.ACCESSIBILITY.ICON_DISABLED' | translate) :\n 'ADF-DATATABLE.ACCESSIBILITY.ICON_TEXT' | translate:{\n type: 'ADF-DATATABLE.FILE_TYPE.' + (data.getValue(row, col) | fileType | uppercase) | translate\n }\"\n src=\"{{ data.getValue(row, col) }}\"\n (error)=\"onImageLoadingError($event, row)\">\n </ng-template>\n </ng-template>\n </div>\n\n <div *ngSwitchCase=\"'icon'\" class=\"adf-cell-value\">\n <adf-icon-cell\n [data]=\"data\"\n [column]=\"col\"\n [row]=\"row\"\n [resolverFn]=\"resolverFn\"\n [tooltip]=\"getCellTooltip(row, col)\"\n />\n </div>\n <div\n *ngSwitchCase=\"'date'\"\n class=\"adf-cell-value adf-cell-date\"\n [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\"\n [attr.data-automation-id]=\"'date_' + (data.getValue(row, col, resolverFn) | adfLocalizedDate: 'medium') \">\n <adf-date-cell class=\"adf-datatable-center-date-column-ie\"\n [data]=\"data\"\n [column]=\"col\"\n [row]=\"row\"\n [resolverFn]=\"resolverFn\"\n [tooltip]=\"getCellTooltip(row, col)\"\n [dateConfig]=\"col.dateConfig\" />\n </div>\n\n <div *ngSwitchCase=\"'location'\" [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\" class=\"adf-cell-value\"\n [attr.data-automation-id]=\"'location' + data.getValue(row, col, resolverFn)\">\n <adf-location-cell\n [data]=\"data\"\n [column]=\"col\"\n [row]=\"row\"\n [resolverFn]=\"resolverFn\"\n [tooltip]=\"getCellTooltip(row, col)\" />\n </div>\n <div *ngSwitchCase=\"'fileSize'\" [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\" class=\"adf-cell-value\"\n [attr.data-automation-id]=\"'fileSize_' + data.getValue(row, col, resolverFn)\">\n <adf-filesize-cell class=\"adf-datatable-center-size-column-ie\"\n [data]=\"data\"\n [column]=\"col\"\n [row]=\"row\"\n [resolverFn]=\"resolverFn\"\n [tooltip]=\"getCellTooltip(row, col)\" />\n </div>\n <div *ngSwitchCase=\"'text'\" [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\" class=\"adf-cell-value\"\n [attr.data-automation-id]=\"'text_' + data.getValue(row, col, resolverFn)\">\n <adf-datatable-cell\n [copyContent]=\"col.copyContent\"\n [data]=\"data\"\n [column]=\"col\"\n [row]=\"row\"\n [resolverFn]=\"resolverFn\"\n [tooltip]=\"getCellTooltip(row, col)\" />\n </div>\n <div *ngSwitchCase=\"'boolean'\" [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\" class=\"adf-cell-value\"\n [attr.data-automation-id]=\"'boolean_' + data.getValue(row, col, resolverFn)\">\n <adf-boolean-cell\n [data]=\"data\"\n [column]=\"col\"\n [row]=\"row\"\n [resolverFn]=\"resolverFn\"\n [tooltip]=\"getCellTooltip(row, col)\" />\n </div>\n <div *ngSwitchCase=\"'json'\" [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\" class=\"adf-cell-value\">\n <adf-json-cell\n [editable]=\"col.editable\"\n [data]=\"data\"\n [column]=\"col\"\n [resolverFn]=\"resolverFn\"\n [row]=\"row\" />\n </div>\n <div *ngSwitchCase=\"'amount'\"\n class=\"adf-cell-value\"\n [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\"\n [attr.data-automation-id]=\"'amount_' + data.getValue(row, col, resolverFn)\">\n <adf-amount-cell\n [data]=\"data\"\n [column]=\"col\"\n [resolverFn]=\"resolverFn\"\n [row]=\"row\"\n [currencyConfig]=\"col.currencyConfig\" />\n </div>\n <div *ngSwitchCase=\"'number'\"\n class=\"adf-cell-value\"\n [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\"\n [attr.data-automation-id]=\"'number_' + data.getValue(row, col, resolverFn)\">\n <adf-number-cell\n [data]=\"data\"\n [column]=\"col\"\n [resolverFn]=\"resolverFn\"\n [row]=\"row\"\n [decimalConfig]=\"col.decimalConfig\" />\n </div>\n <span *ngSwitchDefault class=\"adf-cell-value\">\n <!-- empty cell for unknown column type -->\n </span>\n </ng-container>\n </div>\n <div *ngIf=\"col.template\" class=\"adf-datatable-cell-container\">\n <div class=\"adf-cell-value\" [attr.tabindex]=\"col.focus ? 0 : null\">\n <ng-container\n [ngTemplateOutlet]=\"col.template\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data, row: row, col: col }, value: data.getValue(row, col, resolverFn) }\" />\n </div>\n </div>\n </div>\n\n <!-- Row actions (right) -->\n <div *ngIf=\"\n !showProvidedActions &&\n ((actions && actionsPosition === 'right') ||\n (mainActionTemplate && showMainDatatableActions))\"\n role=\"gridcell\"\n tabindex=\"0\"\n class=\"adf-datatable-cell adf-datatable__actions-cell adf-datatable-center-actions-column-ie adf-datatable-actions-menu\">\n\n <ng-container *ngIf=\"(actions && actionsPosition === 'right')\">\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" #actionsMenuTrigger=\"matMenuTrigger\"\n [ngClass]=\"getHideActionsWithoutHoverClass(actionsMenuTrigger)\"\n [attr.aria-label]=\"'ADF-DATATABLE.ACCESSIBILITY.ROW_OPTION_BUTTON' | translate\"\n [title]=\"'ADF-DATATABLE.CONTENT-ACTIONS.TOOLTIP' | translate\"\n [attr.id]=\"'action_menu_right_' + idx\"\n [attr.data-automation-id]=\"'action_menu_' + idx\"\n (keydown.enter)=\"actionsMenuTrigger.openMenu()\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngFor=\"let action of getRowActions(row)\"\n [attr.data-automation-id]=\"action.title\"\n [attr.aria-label]=\"action.title | translate\"\n [disabled]=\"action.disabled\"\n (click)=\"onExecuteRowAction(row, action)\">\n <mat-icon *ngIf=\"action.icon\">{{ action.icon }}</mat-icon>\n <span>{{ action.title | translate }}</span>\n </button>\n </mat-menu>\n </ng-container>\n </div>\n </adf-datatable-row>\n <div *ngIf=\"isEmpty()\" role=\"row\" class=\"adf-datatable-row\">\n <div class=\"adf-no-content-container adf-datatable-cell\" role=\"gridcell\">\n <ng-template *ngIf=\"noContentTemplate\"\n ngFor [ngForOf]=\"[data]\"\n [ngForTemplate]=\"noContentTemplate\" />\n <ng-content select=\"adf-empty-list\" />\n </div>\n </div>\n </ng-container>\n\n <ng-template #noPermissionsRowTemplate>\n <div\n role=\"row\"\n class=\"adf-datatable-row adf-no-permission__row\">\n <div class=\"adf-no-permission__cell adf-no-content-container adf-datatable-cell\">\n <ng-template *ngIf=\"noPermissionTemplate\"\n ngFor [ngForOf]=\"[data]\"\n [ngForTemplate]=\"noPermissionTemplate\" />\n </div>\n </div>\n </ng-template>\n </div>\n <ng-template #loadingRowTemplate>\n <div class=\"adf-datatable-row adf-datatable-data-loading\">\n <div class=\"adf-no-content-container adf-datatable-cell\">\n <ng-template *ngIf=\"loadingTemplate\"\n ngFor [ngForOf]=\"[data]\"\n [ngForTemplate]=\"loadingTemplate\" />\n </div>\n </div>\n </ng-template>\n</div>\n", styles: [".adf-datatable{overflow-y:scroll;height:100%;display:block}.adf-datatable .adf-full-width{width:100%}.adf-datatable__resize-handle{padding:0 2px}.adf-datatable__resize-handle-visible{visibility:visible}.adf-datatable__resize-handle-hidden{visibility:hidden}.adf-datatable__resize-handle--divider{padding:24px 0;border:1px solid var(--adf-theme-foreground-text-color-007)}.adf-datatable__resize-handle:hover{cursor:col-resize}.adf-datatable__cursor--pointer:hover{cursor:pointer}.adf-datatable-list,.cdk-drag-preview{display:flex;flex-direction:column;background-color:var(--adf-theme-background-card-color);border:1px solid var(--adf-theme-foreground-text-color-007);box-sizing:border-box;overflow-x:auto}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.adf-datatable-list .adf-datatable-center-size-column-ie,.cdk-drag-preview .adf-datatable-center-size-column-ie{padding-top:17px}.adf-datatable-list .adf-datatable__actions-cell.adf-datatable-center-actions-column-ie,.cdk-drag-preview .adf-datatable__actions-cell.adf-datatable-center-actions-column-ie{padding-top:7px}.adf-datatable-list .adf-cell-date.adf-datatable-center-date-column-ie,.cdk-drag-preview .adf-cell-date.adf-datatable-center-date-column-ie{position:relative}.adf-datatable-list .adf-cell-date.adf-datatable-center-date-column-ie .adf-datatable-cell-value,.cdk-drag-preview .adf-cell-date.adf-datatable-center-date-column-ie .adf-datatable-cell-value{width:100%}.adf-datatable-list .adf-datatable-center-img-ie,.cdk-drag-preview .adf-datatable-center-img-ie{padding:0;min-width:0;width:24px;height:56px}}.adf-datatable-list .adf-datatable-header,.cdk-drag-preview .adf-datatable-header{display:flex;flex-direction:column;width:fit-content;min-width:100%;box-sizing:border-box}.adf-datatable-list .adf-datatable-header .adf-datatable-row,.cdk-drag-preview .adf-datatable-header .adf-datatable-row{padding-right:15px}.adf-datatable-list .adf-datatable-header .adf-datatable-row:hover,.adf-datatable-list .adf-datatable-header .adf-datatable-row:focus,.cdk-drag-preview .adf-datatable-header .adf-datatable-row:hover,.cdk-drag-preview .adf-datatable-header .adf-datatable-row:focus{background-color:inherit}.adf-datatable-list .adf-datatable-row:not(.adf-datatable-data-loading):hover,.adf-datatable-list .adf-datatable-row:not(.adf-datatable-data-loading):focus,.cdk-drag-preview .adf-datatable-row:not(.adf-datatable-data-loading):hover,.cdk-drag-preview .adf-datatable-row:not(.adf-datatable-data-loading):focus{background-color:var(--adf-theme-background-hover-color)}.adf-datatable-list .adf-datatable-row:focus,.cdk-drag-preview .adf-datatable-row:focus{outline-offset:-1px;outline:1px solid var(--theme-accent-color-a200)}.adf-datatable-list .adf-datatable-row .adf-cell-value:focus,.adf-datatable-list .adf-datatable-row .adf-datatable-cell-header:focus,.cdk-drag-preview .adf-datatable-row .adf-cell-value:focus,.cdk-drag-preview .adf-datatable-row .adf-datatable-cell-header:focus{outline-offset:-1px;outline:1px solid var(--theme-accent-color-a200)}.adf-datatable-list .adf-blur-datatable-body,.cdk-drag-preview .adf-blur-datatable-body{filter:blur(3px)}.adf-datatable-list .adf-datatable-body,.cdk-drag-preview .adf-datatable-body{display:flex;flex-direction:column;background-color:inherit;width:100%;min-width:100%}.adf-datatable-list .adf-datatable-body.adf-datatable-body__draggable,.cdk-drag-preview .adf-datatable-body.adf-datatable-body__draggable{cursor:grab}.adf-datatable-list .adf-datatable-body.adf-datatable-body__dragging,.cdk-drag-preview .adf-datatable-body.adf-datatable-body__dragging{cursor:grabbing}.adf-datatable-list .adf-datatable-body .adf-datatable-row,.cdk-drag-preview .adf-datatable-body .adf-datatable-row{transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:background-color;border-top:1px solid var(--adf-theme-foreground-text-color-007);min-height:var(--theme-display-3-font-size);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.adf-datatable-list .adf-datatable-body .adf-datatable-row.adf-is-selected,.adf-datatable-list .adf-datatable-body .adf-datatable-row.adf-is-selected:hover,.cdk-drag-preview .adf-datatable-body .adf-datatable-row.adf-is-selected,.cdk-drag-preview .adf-datatable-body .adf-datatable-row.adf-is-selected:hover{background-color:var(--adf-theme-background-selected-button-color)}.adf-datatable-list .adf-datatable-body .adf-datatable-row.adf-drag-row,.cdk-drag-preview .adf-datatable-body .adf-datatable-row.adf-drag-row{cursor:grab}.adf-datatable-list .adf-datatable-body .adf-datatable-row:last-child,.cdk-drag-preview .adf-datatable-body .adf-datatable-row:last-child{border-bottom:1px solid var(--adf-theme-foreground-text-color-007)}.adf-datatable-list .adf-datatable-body .adf-datatable-row label,.cdk-drag-preview .adf-datatable-body .adf-datatable-row label{cursor:inherit}.adf-datatable-list .adf-datatable-row,.cdk-drag-preview .adf-datatable-row{display:flex;align-items:center}.adf-datatable-list .adf-datatable-row:hover .adf-datatable-hover-only,.cdk-drag-preview .adf-datatable-row:hover .adf-datatable-hover-only{visibility:visible}.adf-datatable-list .adf-datatable-row .adf-datatable-hover-only,.cdk-drag-preview .adf-datatable-row .adf-datatable-hover-only{visibility:hidden}.adf-datatable-list .adf-datatable-row .adf-datatable-hover-only.adf-datatable-checkbox-selected,.cdk-drag-preview .adf-datatable-row .adf-datatable-hover-only.adf-datatable-checkbox-selected{visibility:visible}.adf-datatable-list .adf-datatable-row .adf-datatable-checkbox,.cdk-drag-preview .adf-datatable-row .adf-datatable-checkbox{max-width:65px;width:65px}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.adf-datatable-list .adf-datatable-row .adf-datatable-checkbox,.cdk-drag-preview .adf-datatable-row .adf-datatable-checkbox{padding-top:15px}}.adf-datatable-list .adf-datatable-cell,.adf-datatable-list .adf-datatable-cell-header,.cdk-drag-preview .adf-datatable-cell,.cdk-drag-preview .adf-datatable-cell-header{text-align:left;box-sizing:border-box;min-width:65px}.adf-datatable-list .adf-datatable-cell--text,.adf-datatable-list .adf-datatable-cell-header--text,.cdk-drag-preview .adf-datatable-cell--text,.cdk-drag-preview .adf-datatable-cell-header--text{text-align:left;position:relative}.adf-datatable-list .adf-datatable-cell--date,.adf-datatable-list .adf-datatable-cell-header--date,.cdk-drag-preview .adf-datatable-cell--date,.cdk-drag-preview .adf-datatable-cell-header--date{text-align:left}.adf-datatable-list .adf-datatable-cell--number,.adf-datatable-list .adf-datatable-cell-header--number,.cdk-drag-preview .adf-datatable-cell--number,.cdk-drag-preview .adf-datatable-cell-header--number{text-align:right}.adf-datatable-list .adf-datatable-cell--image,.adf-datatable-list .adf-datatable-cell--icon,.adf-datatable-list .adf-datatable-cell-header--image,.adf-datatable-list .adf-datatable-cell-header--icon,.cdk-drag-preview .adf-datatable-cell--image,.cdk-drag-preview .adf-datatable-cell--icon,.cdk-drag-preview .adf-datatable-cell-header--image,.cdk-drag-preview .adf-datatable-cell-header--icon{padding-left:24px;padding-right:24px;width:65px;min-width:65px;text-align:left}.adf-datatable-list .adf-datatable-cell--fileSize,.adf-datatable-list .adf-datatable-cell-header--fileSize,.cdk-drag-preview .adf-datatable-cell--fileSize,.cdk-drag-preview .adf-datatable-cell-header--fileSize{min-width:65px}.adf-datatable-list .adf-datatable-cell button .mat-icon,.adf-datatable-list .adf-datatable-cell-header button .mat-icon,.cdk-drag-preview .adf-datatable-cell button .mat-icon,.cdk-drag-preview .adf-datatable-cell-header button .mat-icon{margin-top:-10px}.adf-datatable-list .adf-datatable-cell-header.adf-expand-cell-1,.adf-datatable-list .adf-datatable-cell.adf-expand-cell-1,.cdk-drag-preview .adf-datatable-cell-header.adf-expand-cell-1,.cdk-drag-preview .adf-datatable-cell.adf-expand-cell-1{flex-grow:1}.adf-datatable-list .adf-datatable-cell-header.adf-expand-cell-2,.adf-datatable-list .adf-datatable-cell.adf-expand-cell-2,.cdk-drag-preview .adf-datatable-cell-header.adf-expand-cell-2,.cdk-drag-preview .adf-datatable-cell.adf-expand-cell-2{flex-grow:2}.adf-datatable-list .adf-datatable-cell-header.adf-expand-cell-3,.adf-datatable-list .adf-datatable-cell.adf-expand-cell-3,.cdk-drag-preview .adf-datatable-cell-header.adf-expand-cell-3,.cdk-drag-preview .adf-datatable-cell.adf-expand-cell-3{flex-grow:3}.adf-datatable-list .adf-datatable-cell-header.adf-expand-cell-4,.adf-datatable-list .adf-datatable-cell.adf-expand-cell-4,.cdk-drag-preview .adf-datatable-cell-header.adf-expand-cell-4,.cdk-drag-preview .adf-datatable-cell.adf-expand-cell-4{flex-grow:4}.adf-datatable-list .adf-datatable-cell-header.adf-expand-cell-5,.adf-datatable-list .adf-datatable-cell.adf-expand-cell-5,.cdk-drag-preview .adf-datatable-cell-header.adf-expand-cell-5,.cdk-drag-preview .adf-datatable-cell.adf-expand-cell-5{flex-grow:5}.adf-datatable-list .adf-datatable-cell-header.adf-no-grow-cell,.adf-datatable-list .adf-datatable-cell.adf-no-grow-cell,.cdk-drag-preview .adf-datatable-cell-header.adf-no-grow-cell,.cdk-drag-preview .adf-datatable-cell.adf-no-grow-cell{flex-grow:0;min-width:100px}.adf-datatable-list .adf-datatable-cell-header.adf-min-width-cell,.adf-datatable-list .adf-datatable-cell.adf-min-width-cell,.cdk-drag-preview .adf-datatable-cell-header.adf-min-width-cell,.cdk-drag-preview .adf-datatable-cell.adf-min-width-cell{min-width:110px}.adf-datatable-list .adf-datatable-cell,.cdk-drag-preview .adf-datatable-cell{color:var(--adf-theme-foreground-text-color);min-height:inherit}.adf-datatable-list .adf-datatable-cell,.adf-datatable-list .adf-datatable-cell-header,.cdk-drag-preview .adf-datatable-cell,.cdk-drag-preview .adf-datatable-cell-header{flex:1;padding:0;align-items:center;display:flex;align-self:stretch}.adf-datatable-list .adf-datatable-cell:first-child,.adf-datatable-list .adf-datatable-cell-header:first-child,.cdk-drag-preview .adf-datatable-cell:first-child,.cdk-drag-preview .adf-datatable-cell-header:first-child{margin-left:15px;box-sizing:content-box}.adf-datatable-list .adf-datatable-cell.adf-drag-column,.adf-datatable-list .adf-datatable-cell-header.adf-drag-column,.cdk-drag-preview .adf-datatable-cell.adf-drag-column,.cdk-drag-preview .adf-datatable-cell-header.adf-drag-column{flex:0}.adf-datatable-list .adf-datatable-cell .adf-datatable-cell-container,.adf-datatable-list .adf-datatable-cell-header .adf-datatable-cell-container,.cdk-drag-preview .adf-datatable-cell .adf-datatable-cell-container,.cdk-drag-preview .adf-datatable-cell-header .adf-datatable-cell-container{overflow:hidden;min-height:inherit;align-items:center;display:flex;width:100%;padding:0 10px}.adf-datatable-list .adf-datatable-cell .adf-datatable-cell-value,.adf-datatable-list .adf-datatable-cell-header .adf-datatable-cell-value,.cdk-drag-preview .adf-datatable-cell .adf-datatable-cell-value,.cdk-drag-preview .adf-datatable-cell-header .adf-datatable-cell-value{word-break:break-word;display:block}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.adf-datatable-list .adf-datatable-cell .adf-datatable-cell-value,.adf-datatable-list .adf-datatable-cell-header .adf-datatable-cell-value,.cdk-drag-preview .adf-datatable-cell .adf-datatable-cell-value,.cdk-drag-preview .adf-datatable-cell-header .adf-datatable-cell-value{padding:17px 10px 10px}}.adf-datatable-list .adf-datatable-row .adf-datatable-actions-menu,.cdk-drag-preview .adf-datatable-row .adf-datatable-actions-menu{margin-left:auto;justify-content:end;padding-right:15px}.adf-datatable-list .adf-datatable-row .adf-datatable-actions-menu:focus-visible .adf-datatable-hide-actions-without-hover,.adf-datatable-list .adf-datatable-row .adf-datatable-actions-menu:focus-within .adf-datatable-hide-actions-without-hover,.cdk-drag-preview .adf-datatable-row .adf-datatable-actions-menu:focus-visible .adf-datatable-hide-actions-without-hover,.cdk-drag-preview .adf-datatable-row .adf-datatable-actions-menu:focus-within .adf-datatable-hide-actions-without-hover{visibility:visible}.adf-datatable-list .adf-datatable-row .adf-datatable-actions-menu-provided,.cdk-drag-preview .adf-datatable-row .adf-datatable-actions-menu-provided{max-width:100px!important;justify-content:center;padding-right:0}.adf-datatable-list .adf-datatable-checkbox,.cdk-drag-preview .adf-datatable-checkbox{display:flex;justify-content:center}.adf-datatable-list .adf-cell-value,.cdk-drag-preview .adf-cell-value{display:flex;min-height:inherit;align-items:center;word-break:break-all;width:100%}.adf-datatable-list .adf-datatable__actions-cell,.adf-datatable-list .adf-datatable-cell--image,.cdk-drag-preview .adf-datatable__actions-cell,.cdk-drag-preview .adf-datatable-cell--image{max-width:65px;display:flex}.adf-datatable-list .adf-datatable__actions-cell .adf-cell-value,.adf-datatable-list .adf-datatable-cell--image .adf-cell-value,.cdk-drag-preview .adf-datatable__actions-cell .adf-cell-value,.cdk-drag-preview .adf-datatable-cell--image .adf-cell-value{width:unset}.adf-datatable-list .adf-datatable-row:not(:hover) .adf-datatable-hide-actions-without-hover,.cdk-drag-preview .adf-datatable-row:not(:hover) .adf-datatable-hide-actions-without-hover{visibility:hidden}.adf-datatable-list .adf-datatable-cell--image,.cdk-drag-preview .adf-datatable-cell--image{max-width:65px}.adf-datatable-list .adf-location-cell a,.cdk-drag-preview .adf-location-cell a{text-decoration:none;color:var(--adf-theme-foreground-text-color)}.adf-datatable-list .adf-location-cell a:hover,.cdk-drag-preview .adf-location-cell a:hover{color:var(--theme-accent-500);text-decoration:underline}.adf-datatable-list .adf-sr-only,.cdk-drag-preview .adf-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.adf-datatable-list .adf-is-selected,.cdk-drag-preview .adf-is-selected{background:var(--adf-theme-primary-100)}.adf-datatable-list .adf-datatable-link,.cdk-drag-preview .adf-datatable-link{text-decoration:none;color:var(--adf-theme-foreground-text-color)}.adf-datatable-list .adf-datatable-link:hover,.cdk-drag-preview .adf-datatable-link:hover{color:var(--theme-accent-500);text-decoration:underline}.adf-datatable-list .adf-dynamic-column .adf-datatable-link:hover,.cdk-drag-preview .adf-dynamic-column .adf-datatable-link:hover{text-decoration:none}.adf-datatable-list .adf-dynamic-column .adf-datatable-link:hover .adf-datatable-cell-value,.cdk-drag-preview .adf-dynamic-column .adf-datatable-link:hover .adf-datatable-cell-value{text-decoration:underline}.adf-datatable-list .adf-ellipsis-cell,.cdk-drag-preview .adf-ellipsis-cell{position:sticky;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.adf-datatable-list .adf-ellipsis-cell.adf-datatable-cell-header,.adf-datatable-list .adf-ellipsis-cell .adf-datatable-content-cell,.cdk-drag-preview .adf-ellipsis-cell.adf-datatable-cell-header,.cdk-drag-preview .adf-ellipsis-cell .adf-datatable-content-cell{max-width:calc(100% - .1px);overflow:hidden;text-overflow:ellipsis}.adf-datatable-list .adf-ellipsis-cell.adf-datatable-cell-header .adf-datatable-cell-value,.adf-datatable-list .adf-ellipsis-cell .adf-datatable-content-cell .adf-datatable-cell-value,.cdk-drag-preview .adf-ellipsis-cell.adf-datatable-cell-header .adf-datatable-cell-value,.cdk-drag-preview .adf-ellipsis-cell .adf-datatable-content-cell .adf-datatable-cell-value{overflow:hidden;text-overflow:ellipsis}.adf-datatable-list .adf-ellipsis-cell .adf-datatable-content-cell,.cdk-drag-preview .adf-ellipsis-cell .adf-datatable-content-cell{overflow:unset}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.adf-datatable-list .adf-ellipsis-cell .adf-cell-value,.cdk-drag-preview .adf-ellipsis-cell .adf-cell-value{top:100%}}.adf-datatable-list .adf-ellipsis-cell>div:after,.cdk-drag-preview .adf-ellipsis-cell>div:after{content:attr(title);overflow:hidden;height:0;display:block}.adf-datatable-list .adf-no-content-container.adf-datatable-cell,.cdk-drag-preview .adf-no-content-container.adf-datatable-cell{padding:0;border:none;width:100%;justify-content:center}.adf-datatable-list .adf-no-content-container.adf-datatable-cell>img,.cdk-drag-preview .adf-no-content-container.adf-datatable-cell>img{width:100%}.adf-datatable-list .adf-loading-content-container,.cdk-drag-preview .adf-loading-content-container{padding:0;width:100%}.adf-datatable-list .adf-loading-content-container>img,.cdk-drag-preview .adf-loading-content-container>img{width:100%}.adf-datatable-list .adf-no-permission__row:hover,.cdk-drag-preview .adf-no-permission__row:hover{cursor:default;background-color:inherit}.adf-datatable-list .adf-no-permission__cell.adf-datatable-cell,.cdk-drag-preview .adf-no-permission__cell.adf-datatable-cell{padding:0}.adf-datatable-list .adf-hidden,.cdk-drag-preview .adf-hidden{display:none}@media all and (width <= 768px){.adf-datatable-list .adf-desktop-only.adf-ellipsis-cell,.cdk-drag-preview .adf-desktop-only.adf-ellipsis-cell{display:none}}@media (device-width <= 768px){.adf-datatable-list .adf-desktop-only.adf-ellipsis-cell,.cdk-drag-preview .adf-desktop-only.adf-ellipsis-cell{display:none}}.adf-datatable-cell-header{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:flex;align-items:center;text-overflow:ellipsis;font-weight:700;line-height:24px;letter-spacing:0;min-height:var(--theme-display-3-font-size);font-size:var(--theme-caption-font-size);color:var(--adf-theme-foreground-text-color);box-sizing:border-box}.adf-datatable-cell-header_subtitle{margin-left:3px;opacity:.6}.adf-datatable-cell-header.adf-sortable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center}.adf-datatable-cell-header .adf-datatable__header--sorted-asc,.adf-datatable-cell-header .adf-datatable__header--sorted-desc{color:var(--adf-theme-foreground-text-color);padding-right:.25rem}.adf-datatable-cell-header .adf-datatable__header--sorted-asc:after,.adf-datatable-cell-header .adf-datatable__header--sorted-desc:after{font-family:Material Icons;font-weight:400;font-style:normal;font-size:var(--theme-headline-font-size);line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;word-wrap:normal;font-feature-settings:\"liga\";font-size:var(--theme-subheading-2-font-size);content:\"\\e5d8\";left:5px;right:5px;position:relative;vertical-align:middle}.adf-datatable-cell-header .adf-datatable__header--sorted-desc:after{content:\"\\e5db\"}.adf-datatable-cell-header .adf-datatable-cell--fileSize.adf-datatable__header--sorted-asc:before,.adf-datatable-cell-header .adf-datatable-cell--fileSize.adf-datatable__header--sorted-desc:before{left:-3px;right:-3px}.adf-datatable-cell-header .adf-datatable-cell-header-content{display:flex;flex-grow:1;align-items:center;margin:0 2px;padding:0 8px}.adf-datatable-cell-header .adf-datatable-cell-header-content .adf-datatable-cell-header-drag-icon-placeholder{padding:0;margin:0}.adf-datatable-cell-header .adf-datatable-cell-header-content--hovered{background-color:var(--adf-theme-background-hover-color);border-radius:6px}.adf-datatable-cell-header .adf-datatable-cell-header-drag-icon{margin-left:auto;cursor:move;margin-right:-.5rem;padding-left:-.5rem}.adf-datatable-cell-header .adf-datatable-cell-header-drag-icon-visible{display:flex}.adf-datatable-cell-header .adf-datatable-cell-value{padding-top:10px;padding-bottom:10px;line-height:24px;word-break:break-word}.adf-drop-header-cell-placeholder{display:flex;flex:1;background:var(--adf-theme-background-hover-color);border:dotted 1px rgba(0,0,0,.25);min-height:55px;transition:transform .25s cubic-bezier(0,0,.2,1)}.adf-datatable-cell-header.adf-ellipsis-cell .adf-datatable-cell-header-content{white-space:nowrap;overflow:hidden}.adf-datatable-cell-header.adf-ellipsis-cell .adf-datatable-cell-header-content--hovered .adf-datatable-cell-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdk-drag-preview{min-height:var(--theme-display-3-font-size);display:flex;flex-direction:row;align-items:center;box-sizing:unset;background-color:var(--theme-background-color);border-top:2px solid var(--theme-selected-background-color);opacity:1}.cdk-drag-preview.adf-datatable-cell-header{border-radius:6px;background-color:var(--theme-background-color);transition:box-shadow .28s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.adf-checkbox-sr-only .mdc-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.adf-sticky-header{border-top:0;height:100%}.adf-sticky-header .adf-datatable-header{display:block;margin-right:0;border-top:1px solid var(--adf-theme-foreground-text-color-007);border-bottom:1px solid var(--adf-theme-foreground-text-color-007)}.adf-sticky-header .adf-datatable-body{display:block;flex:1;overflow:hidden auto;margin-top:-1px}.adf-upload__dragging>div{border-top:1px dashed var(--theme-accent-color-a200);border-bottom:1px dashed var(--theme-accent-color-a200)}.adf-upload__dragging>div:first-child{border-left:1px dashed var(--theme-accent-color-a200)}.adf-upload__dragging>div:last-child{border-right:1px dashed var(--theme-accent-color-a200)}.adf-datatable--empty{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;justify-content:center;align-items:center;height:inherit}.adf-datatable--empty .adf-datatable-body[role=rowgroup] .adf-datatable-row{height:100%;background-color:var(--adf-theme-background-card-color);border:none}.adf-datatable--empty .adf-datatable-body[role=rowgroup] .adf-datatable-row:hover,.adf-datatable--empty .adf-datatable-body[role=rowgroup] .adf-datatable-row:focus{background-color:unset;cursor:default}.adf-datatable--empty--header-visible .adf-datatable-header{border:1px solid var(--adf-theme-foreground-text-color-007)}.adf-datatable--empty--header-visible .adf-datatable-body{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;justify-content:center;align-items:center}.adf-datatable--empty--header-visible .adf-datatable-body .adf-datatable-row{height:100%;background-color:var(--adf-theme-background-card-color);border:none}.adf-datatable--empty--header-visible .adf-datatable-body .adf-datatable-row:hover,.adf-datatable--empty--header-visible .adf-datatable-body .adf-datatable-row:focus{background-color:unset;cursor:default}@media screen and (width <= 380px){.adf-datatable-header{max-height:50%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1.UpperCasePipe, name: "uppercase" }, { kind: "component", type: DataTableRowComponent, selector: "adf-datatable-row", inputs: ["row", "disabled"], outputs: ["select"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2$6.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: DropZoneDirective, selector: "[adf-drop-zone]", inputs: ["dropTarget", "dropRow", "dropColumn"] }, { kind: "directive", type: ResizableDirective, selector: "[adf-resizable]", inputs: ["coverPadding"], outputs: ["resizeStart", "resizing", "resizeEnd"], exportAs: ["adf-resizable"] }, { kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value"] }, { kind: "directive", type: ResizeHandleDirective, selector: "[adf-resize-handle]", inputs: ["resizableContainer"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i7.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i7.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i7.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: UploadDirective, selector: "[adf-upload]", inputs: ["adf-upload", "adf-upload-data", "mode", "multiple", "accept", "directory"] }, { kind: "directive", type: ContextMenuDirective, selector: "[adf-context-menu]", inputs: ["adf-context-menu", "adf-context-menu-enabled"] }, { kind: "pipe", type: FileTypePipe, name: "fileType" }, { kind: "component", type: IconCellComponent, selector: "adf-icon-cell" }, { kind: "pipe", type: LocalizedDatePipe, name: "adfLocalizedDate" }, { kind: "component", type: DateCellComponent, selector: "adf-date-cell", inputs: ["dateConfig"] }, { kind: "component", type: LocationCellComponent, selector: "adf-location-cell", inputs: ["link"] }, { kind: "component", type: FileSizeCellComponent, selector: "adf-filesize-cell" }, { kind: "component", type: DataTableCellComponent, selector: "adf-datatable-cell", inputs: ["data", "column", "row", "copyContent", "tooltip", "resolverFn"] }, { kind: "component", type: BooleanCellComponent, selector: "adf-boolean-cell" }, { kind: "component", type: JsonCellComponent, selector: "adf-json-cell", inputs: ["editable"] }, { kind: "component", type: AmountCellComponent, selector: "adf-amount-cell", inputs: ["currencyConfig"] }, { kind: "component", type: NumberCellComponent, selector: "adf-number-cell", inputs: ["decimalConfig"] }], encapsulation: i0.ViewEncapsulation.None }); }
17051
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: DataTableComponent, isStandalone: true, selector: "adf-datatable", inputs: { data: "data", rows: "rows", sorting: "sorting", columns: "columns", selectionMode: "selectionMode", multiselect: "multiselect", mainTableAction: "mainTableAction", actions: "actions", showMainDatatableActions: "showMainDatatableActions", showProvidedActions: "showProvidedActions", actionsPosition: "actionsPosition", actionsVisibleOnHover: "actionsVisibleOnHover", fallbackThumbnail: "fallbackThumbnail", contextMenu: "contextMenu", rowStyle: "rowStyle", rowStyleClass: "rowStyleClass", showHeader: "showHeader", stickyHeader: "stickyHeader", loading: "loading", noPermission: "noPermission", rowMenuCacheEnabled: "rowMenuCacheEnabled", resolverFn: "resolverFn", allowFiltering: "allowFiltering", isResizingEnabled: "isResizingEnabled", blurOnResize: "blurOnResize", displayCheckboxesOnHover: "displayCheckboxesOnHover", enableDragRows: "enableDragRows" }, outputs: { rowClick: "rowClick", rowDblClick: "rowDblClick", showRowContextMenu: "showRowContextMenu", showRowActionsMenu: "showRowActionsMenu", executeRowAction: "executeRowAction", columnOrderChanged: "columnOrderChanged", columnsWidthChanged: "columnsWidthChanged", selectedItemsCountChanged: "selectedItemsCountChanged", dragDropped: "dragDropped" }, host: { listeners: { "keyup": "onKeydown($event)" }, classAttribute: "adf-datatable" }, queries: [{ propertyName: "columnList", first: true, predicate: DataColumnListComponent, descendants: true }], viewQueries: [{ propertyName: "mainMenuTemplate", first: true, predicate: ["mainMenuTemplate"], descendants: true }, { propertyName: "rowsList", predicate: DataTableRowComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n role=\"grid\"\n *ngIf=\"data\"\n class=\"adf-datatable-list\"\n [class.adf-sticky-header]=\"isStickyHeaderEnabled()\"\n [class.adf-datatable--empty]=\"(isEmpty() && !isHeaderVisible()) || loading\"\n [class.adf-datatable--empty--header-visible]=\"isEmpty() && isHeaderVisible()\"\n>\n <div *ngIf=\"isHeaderVisible()\" class=\"adf-datatable-header\" role=\"rowgroup\" [ngClass]=\"{ 'adf-sr-only': !isHeaderVisible() }\">\n <adf-datatable-row\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n [cdkDropListSortPredicate]=\"filterDisabledColumns\"\n data-automation-id=\"datatable-row-header\"\n [disabled]=\"!isHeaderVisible()\"\n class=\"adf-datatable-row\"\n role=\"row\">\n\n\n <!-- Drag -->\n <div *ngIf=\"enableDragRows\" class=\"adf-datatable-cell-header adf-drag-column\">\n <span class=\"adf-sr-only\">{{ 'ADF-DATATABLE.ACCESSIBILITY.DRAG' | translate }}</span>\n </div>\n\n <!-- Actions (left) -->\n <div *ngIf=\"actions && actionsPosition === 'left'\" class=\"adf-actions-column adf-datatable-cell-header\">\n <span class=\"adf-sr-only\">{{ 'ADF-DATATABLE.ACCESSIBILITY.ACTIONS' | translate }}</span>\n </div>\n\n <!-- Columns -->\n <div *ngIf=\"multiselect\" class=\"adf-datatable-cell-header adf-datatable-checkbox\">\n <mat-checkbox [indeterminate]=\"isSelectAllIndeterminate\"\n [checked]=\"isSelectAllChecked\"\n (change)=\"onSelectAllClick($event)\"\n class=\"adf-checkbox-sr-only\"\n [aria-label]=\"'ADF-DATATABLE.ACCESSIBILITY.SELECT_ALL' | translate\">\n {{ 'ADF-DATATABLE.ACCESSIBILITY.SELECT_ALL' | translate }}\n </mat-checkbox>\n </div>\n\n <ng-container\n *ngFor=\"\n let col of getVisibleColumns();\n let columnIndex = index\n let lastColumn = last\"\n >\n <div\n class=\"adf-datatable-cell--{{col.type || 'text'}} {{col.cssClass}} adf-datatable-cell-header adf-datatable-cell-data\"\n *ngIf=\"col.title || !showProvidedActions\"\n [attr.data-automation-id]=\"'auto_id_' + col.key\"\n [ngClass]=\"{\n 'adf-sortable': col.sortable,\n 'adf-datatable__cursor--pointer': !isResizing,\n 'adf-datatable__header--sorted-asc': isColumnSorted(col, 'asc'),\n 'adf-datatable__header--sorted-desc': isColumnSorted(col, 'desc')}\"\n [ngStyle]=\"(col.width) && !lastColumn && {'flex': getFlexValue(col)}\"\n [attr.aria-label]=\"col.srTitle ? (col.srTitle | translate) : (col.title | translate) + (col.subtitle ? ' ' + (col.subtitle | translate) : '')\"\n (click)=\"onColumnHeaderClick(col, $event)\"\n (keyup.enter)=\"onColumnHeaderClick(col, $event)\"\n role=\"columnheader\"\n [attr.tabindex]=\"isHeaderVisible() ? 0 : null\"\n [attr.aria-sort]=\"col.sortable ? (getAriaSort(col) | translate) : null\"\n cdkDrag\n cdkDragLockAxis=\"x\"\n (cdkDragStarted)=\"isDraggingHeaderColumn = true\"\n (cdkDragDropped)=\"onDropHeaderColumn($event)\"\n [cdkDragDisabled]=\"!col.draggable\"\n (mouseenter)=\"hoveredHeaderColumnIndex = columnIndex\"\n (mouseleave)=\"hoveredHeaderColumnIndex = -1\"\n adf-drop-zone dropTarget=\"header\"\n [dropColumn]=\"col\"\n >\n\n <div\n adf-resizable\n #resizableElement=\"adf-resizable\"\n [coverPadding]=\"10\"\n (resizing)=\"onResizing($event, columnIndex)\"\n (resizeStart)=\"resizingColumnIndex = columnIndex\"\n (resizeEnd)=\"onResizingEnd()\"\n [attr.data-automation-id]=\"'auto_header_content_id_' + col.key\"\n class=\"adf-datatable-cell-header-content\"\n [ngClass]=\"{ 'adf-datatable-cell-header-content--hovered':\n hoveredHeaderColumnIndex === columnIndex &&\n !isDraggingHeaderColumn &&\n !isResizing && col.sortable}\"\n >\n <ng-container *ngIf=\"!col.header\">\n <span\n *ngIf=\"col.title\"\n title=\"{{col.title | translate}}\"\n class=\"adf-datatable-cell-value\"\n >\n {{col.title | translate}}\n </span>\n\n <span\n *ngIf=\"col.subtitle\"\n title=\"{{col.subtitle | translate}}\"\n class=\"adf-datatable-cell-value adf-datatable-cell-header_subtitle\"\n >\n ({{col.subtitle | translate}})\n </span>\n\n <span *ngIf=\"col.title && col.sortable && isDraggingHeaderColumn\" class=\"adf-sr-only\" aria-live=\"polite\">\n {{ getSortLiveAnnouncement(col) | translate: { string: col.title | translate } }}\n </span>\n\n <span *ngIf=\"!col.title && !col.sortable && !headerFilterTemplate\" [attr.title]=\"'ADF-DATATABLE.ACCESSIBILITY.EMPTY_HEADER' | translate\"></span>\n </ng-container>\n\n <div *ngIf=\"col.header\" class=\"adf-datatable-cell-value\">\n <ng-template [ngTemplateOutlet]=\"col.header\" [ngTemplateOutletContext]=\"{$implicit: col}\" />\n </div>\n\n <span\n [class.adf-datatable__header--sorted-asc]=\"isColumnSorted(col, 'asc')\"\n [class.adf-datatable__header--sorted-desc]=\"isColumnSorted(col, 'desc')\">\n </span>\n\n <ng-template *ngIf=\"allowFiltering\" [ngTemplateOutlet]=\"headerFilterTemplate\" [ngTemplateOutletContext]=\"{$implicit: col}\" />\n\n <span\n *ngIf=\"col.draggable\"\n cdkDragHandle\n [ngClass]=\"{ 'adf-datatable-cell-header-drag-icon': !isResizing }\"\n >\n <adf-icon\n *ngIf=\"hoveredHeaderColumnIndex === columnIndex && !isResizing\"\n value=\"adf:drag_indicator\"\n class=\"adf-datatable-cell-header-drag-icon-visible\"\n [attr.data-automation-id]=\"'adf-datatable-cell-header-drag-icon-'+col.key\" />\n </span>\n </div>\n <div\n *ngIf=\"isResizingEnabled && col.resizable && !lastColumn\"\n [ngClass]=\"hoveredHeaderColumnIndex === columnIndex && !isResizing || resizingColumnIndex === columnIndex ? 'adf-datatable__resize-handle-visible' : 'adf-datatable__resize-handle-hidden'\"\n adf-resize-handle\n tabindex=\"0\"\n role=\"button\"\n (click)=\"$event.stopPropagation()\"\n (keyup.enter)=\"$event.stopPropagation()\"\n class=\"adf-datatable__resize-handle\"\n [resizableContainer]=\"resizableElement\">\n <div class=\"adf-datatable__resize-handle--divider\"></div>\n </div>\n <div class=\"adf-drop-header-cell-placeholder\" *cdkDragPlaceholder></div>\n </div>\n </ng-container>\n\n <!-- Header actions (right) -->\n <div\n *ngIf=\"(actions && actionsPosition === 'right') ||\n (mainActionTemplate && showMainDatatableActions)\"\n class=\"adf-actions-column adf-datatable-actions-menu adf-datatable-cell-header adf-datatable__actions-cell\"\n [class.adf-datatable-actions-menu-provided]=\"showProvidedActions\"\n >\n <ng-container *ngIf=\"mainActionTemplate\">\n <button\n data-automation-id=\"adf-datatable-main-menu-button\"\n title=\"{{ 'ADF-DATATABLE.CONTENT-ACTIONS.SELECT_COLUMNS' | translate }}\"\n mat-icon-button\n #mainMenuTrigger=\"matMenuTrigger\"\n (click)=\"onMainMenuOpen()\"\n [matMenuTriggerFor]=\"mainMenu\">\n <mat-icon>view_week_outline</mat-icon>\n </button>\n <mat-menu #mainMenu (closed)=\"onMainMenuClosed()\">\n <div #mainMenuTemplate role=\"presentation\" (keydown.tab)=\"$event.stopPropagation()\">\n <ng-container\n [ngTemplateOutlet]=\"mainActionTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: mainMenuTrigger\n }\" />\n </div>\n </mat-menu>\n <span class=\"adf-sr-only\">{{ 'ADF-DATATABLE.ACCESSIBILITY.ACTIONS' | translate }}</span>\n </ng-container>\n </div>\n\n </adf-datatable-row>\n </div>\n\n <div\n *ngIf=\"!loading; else loadingRowTemplate\"\n class=\"adf-datatable-body\"\n [ngClass]=\"{ 'adf-blur-datatable-body': blurOnResize && (isDraggingHeaderColumn || isResizing), 'adf-datatable-body__draggable': enableDragRows && !isDraggingRow, 'adf-datatable-body__dragging': isDraggingRow }\"\n cdkDropList\n [cdkDropListDisabled]=\"!enableDragRows\"\n role=\"rowgroup\">\n <ng-container *ngIf=\"!noPermission; else noPermissionsRowTemplate\">\n <adf-datatable-row *ngFor=\"let row of data.getRows(); let idx = index\"\n cdkDrag\n [cdkDragDisabled]=\"!enableDragRows\"\n (cdkDragDropped)=\"onDragDrop($event)\"\n (cdkDragStarted)=\"onDragStart()\"\n (cdkDragEnded)=\"onDragEnd()\"\n [cdkDragBoundary]=\"'.adf-datatable-body'\"\n [row]=\"row\"\n (select)=\"onEnterKeyPressed(row, $event)\"\n (keyup)=\"onRowKeyUp(row, $event)\"\n (keydown)=\"onRowEnterKeyDown(row, $event)\"\n [adf-upload]=\"rowAllowsDrop(row)\"\n [adf-upload-data]=\"row\"\n [ngStyle]=\"rowStyle\"\n [ngClass]=\"getRowStyle(row)\"\n [class.adf-datatable-row__dragging]=\"isDraggingRow\"\n [attr.data-automation-id]=\"'datatable-row-' + idx\"\n (contextmenu)=\"markRowAsContextMenuSource(row)\">\n <!-- Drag button -->\n <div *ngIf=\"enableDragRows\"\n role=\"gridcell\"\n class=\"adf-datatable-cell adf-datatable__actions-cell adf-datatable-hover-only\">\n <button mat-icon-button\n [attr.aria-label]=\"'ADF-DATATABLE.ACCESSIBILITY.DRAG' | translate\">\n <mat-icon>drag_indicator</mat-icon>\n </button>\n </div>\n\n <!-- Actions (left) -->\n <div *ngIf=\"actions && actionsPosition === 'left'\" role=\"gridcell\" class=\"adf-datatable-cell\">\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" #actionsMenuTrigger=\"matMenuTrigger\"\n [ngClass]=\"getHideActionsWithoutHoverClass(actionsMenuTrigger)\"\n [title]=\"'ADF-DATATABLE.CONTENT-ACTIONS.TOOLTIP' | translate\"\n [attr.id]=\"'action_menu_left_' + idx\"\n [attr.data-automation-id]=\"'action_menu_' + idx\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngFor=\"let action of getRowActions(row)\"\n [attr.data-automation-id]=\"action.title\"\n [disabled]=\"action.disabled\"\n (click)=\"onExecuteRowAction(row, action)\">\n <mat-icon *ngIf=\"action.icon\">{{ action.icon }}</mat-icon>\n <span>{{ action.title | translate }}</span>\n </button>\n </mat-menu>\n </div>\n\n <label *ngIf=\"multiselect\"\n (keydown.enter)=\"onEnterKeyPressed(row, $any($event))\"\n (click)=\"onCheckboxLabelClick(row, $event)\"\n [for]=\"'select-file-' + idx\"\n class=\"adf-datatable-cell adf-datatable-checkbox adf-datatable-checkbox-single\"\n tabindex=\"0\">\n <mat-checkbox\n [id]=\"'select-file-' + idx\"\n [disabled]=\"!row?.isSelectable\"\n [class.adf-datatable-checkbox-selected]=\"row.isSelected\"\n [class.adf-datatable-hover-only]=\"displayCheckboxesOnHover\"\n [checked]=\"row.isSelected\"\n [attr.aria-checked]=\"row.isSelected\"\n [aria-label]=\"'ADF-DATATABLE.ACCESSIBILITY.SELECT_FILE' | translate\"\n data-adf-datatable-row-checkbox\n (change)=\"onCheckboxChange(row, $event)\"\n (keydown.enter)=\"$event.stopPropagation()\"\n class=\"adf-checkbox-sr-only\"\n >\n {{ 'ADF-DATATABLE.ACCESSIBILITY.SELECT_FILE' | translate }}\n </mat-checkbox>\n </label>\n\n <div\n *ngFor=\"let col of getVisibleColumns(); let lastColumn = last;\"\n role=\"gridcell\"\n class=\"adf-datatable-cell adf-datatable-cell--{{col.type || 'text'}} {{col.cssClass}} adf-datatable-cell-data\"\n [attr.title]=\"col.title | translate\"\n [attr.data-automation-id]=\"getAutomationValue(row)\"\n [attr.aria-selected]=\"row.isSelected\"\n [attr.aria-label]=\"col.title ? (col.title | translate) : null\"\n (click)=\"onRowClick(row, $event)\"\n tabindex=\"0\"\n (keydown.enter)=\"onEnterKeyPressed(row, $any($event))\"\n [adf-context-menu]=\"getContextMenuActions(row, col)\"\n [adf-context-menu-enabled]=\"contextMenu\"\n adf-drop-zone dropTarget=\"cell\" [dropColumn]=\"col\" [dropRow]=\"row\"\n [ngStyle]=\"(col.width) && !lastColumn && {'flex': getFlexValue(col)}\"\n >\n <div *ngIf=\"!col.template\" class=\"adf-datatable-cell-container\">\n <ng-container [ngSwitch]=\"data.getColumnType(row, col)\">\n <div *ngSwitchCase=\"'image'\" class=\"adf-cell-value\">\n <mat-icon\n [attr.aria-label]=\"col.srTitle? (col.srTitle | translate) : null\"\n [attr.aria-hidden]=\"!asIconValue(row, col)\"\n *ngIf=\"isIconValue(row, col); else no_iconvalue\">\n {{ asIconValue(row, col) }}\n </mat-icon>\n <ng-template #no_iconvalue>\n <mat-icon class=\"adf-datatable-selected\"\n *ngIf=\"row.isSelected && !multiselect; else no_selected_row\" svgIcon=\"selected\" />\n <ng-template #no_selected_row>\n <img class=\"adf-datatable-center-img-ie\"\n [attr.aria-label]=\"(data.getValue(row, col) | fileType) === 'disable' ?\n ('ADF-DATATABLE.ACCESSIBILITY.ICON_DISABLED' | translate) :\n 'ADF-DATATABLE.ACCESSIBILITY.ICON_TEXT' | translate:{\n type: 'ADF-DATATABLE.FILE_TYPE.' + (data.getValue(row, col) | fileType | uppercase) | translate\n }\"\n [attr.alt]=\"(data.getValue(row, col) | fileType) === 'disable' ?\n ('ADF-DATATABLE.ACCESSIBILITY.ICON_DISABLED' | translate) :\n 'ADF-DATATABLE.ACCESSIBILITY.ICON_TEXT' | translate:{\n type: 'ADF-DATATABLE.FILE_TYPE.' + (data.getValue(row, col) | fileType | uppercase) | translate\n }\"\n src=\"{{ data.getValue(row, col) }}\"\n (error)=\"onImageLoadingError($event, row)\">\n </ng-template>\n </ng-template>\n </div>\n\n <div *ngSwitchCase=\"'icon'\" class=\"adf-cell-value\">\n <adf-icon-cell\n [data]=\"data\"\n [column]=\"col\"\n [row]=\"row\"\n [resolverFn]=\"resolverFn\"\n [tooltip]=\"getCellTooltip(row, col)\"\n />\n </div>\n <div\n *ngSwitchCase=\"'date'\"\n class=\"adf-cell-value adf-cell-date\"\n [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\"\n [attr.data-automation-id]=\"'date_' + (data.getValue(row, col, resolverFn) | adfLocalizedDate: 'medium') \">\n <adf-date-cell class=\"adf-datatable-center-date-column-ie\"\n [data]=\"data\"\n [column]=\"col\"\n [row]=\"row\"\n [resolverFn]=\"resolverFn\"\n [tooltip]=\"getCellTooltip(row, col)\"\n [dateConfig]=\"col.dateConfig\" />\n </div>\n\n <div *ngSwitchCase=\"'location'\" [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\" class=\"adf-cell-value\"\n [attr.data-automation-id]=\"'location' + data.getValue(row, col, resolverFn)\">\n <adf-location-cell\n [data]=\"data\"\n [column]=\"col\"\n [row]=\"row\"\n [resolverFn]=\"resolverFn\"\n [tooltip]=\"getCellTooltip(row, col)\" />\n </div>\n <div *ngSwitchCase=\"'fileSize'\" [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\" class=\"adf-cell-value\"\n [attr.data-automation-id]=\"'fileSize_' + data.getValue(row, col, resolverFn)\">\n <adf-filesize-cell class=\"adf-datatable-center-size-column-ie\"\n [data]=\"data\"\n [column]=\"col\"\n [row]=\"row\"\n [resolverFn]=\"resolverFn\"\n [tooltip]=\"getCellTooltip(row, col)\" />\n </div>\n <div *ngSwitchCase=\"'text'\" [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\" class=\"adf-cell-value\"\n [attr.data-automation-id]=\"'text_' + data.getValue(row, col, resolverFn)\">\n <adf-datatable-cell\n [copyContent]=\"col.copyContent\"\n [data]=\"data\"\n [column]=\"col\"\n [row]=\"row\"\n [resolverFn]=\"resolverFn\"\n [tooltip]=\"getCellTooltip(row, col)\" />\n </div>\n <div *ngSwitchCase=\"'boolean'\" [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\" class=\"adf-cell-value\"\n [attr.data-automation-id]=\"'boolean_' + data.getValue(row, col, resolverFn)\">\n <adf-boolean-cell\n [data]=\"data\"\n [column]=\"col\"\n [row]=\"row\"\n [resolverFn]=\"resolverFn\"\n [tooltip]=\"getCellTooltip(row, col)\" />\n </div>\n <div *ngSwitchCase=\"'json'\" [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\" class=\"adf-cell-value\">\n <adf-json-cell\n [editable]=\"col.editable\"\n [data]=\"data\"\n [column]=\"col\"\n [resolverFn]=\"resolverFn\"\n [row]=\"row\" />\n </div>\n <div *ngSwitchCase=\"'amount'\"\n class=\"adf-cell-value\"\n [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\"\n [attr.data-automation-id]=\"'amount_' + data.getValue(row, col, resolverFn)\">\n <adf-amount-cell\n [data]=\"data\"\n [column]=\"col\"\n [resolverFn]=\"resolverFn\"\n [row]=\"row\"\n [currencyConfig]=\"col.currencyConfig\" />\n </div>\n <div *ngSwitchCase=\"'number'\"\n class=\"adf-cell-value\"\n [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\"\n [attr.data-automation-id]=\"'number_' + data.getValue(row, col, resolverFn)\">\n <adf-number-cell\n [data]=\"data\"\n [column]=\"col\"\n [resolverFn]=\"resolverFn\"\n [row]=\"row\"\n [decimalConfig]=\"col.decimalConfig\" />\n </div>\n <span *ngSwitchDefault class=\"adf-cell-value\">\n <!-- empty cell for unknown column type -->\n </span>\n </ng-container>\n </div>\n <div *ngIf=\"col.template\" class=\"adf-datatable-cell-container\">\n <div class=\"adf-cell-value\" [attr.tabindex]=\"col.focus ? 0 : null\">\n <ng-container\n [ngTemplateOutlet]=\"col.template\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data, row: row, col: col }, value: data.getValue(row, col, resolverFn) }\" />\n </div>\n </div>\n </div>\n\n <!-- Row actions (right) -->\n <div *ngIf=\"\n !showProvidedActions &&\n ((actions && actionsPosition === 'right') ||\n (mainActionTemplate && showMainDatatableActions))\"\n role=\"gridcell\"\n tabindex=\"0\"\n class=\"adf-datatable-cell adf-datatable__actions-cell adf-datatable-center-actions-column-ie adf-datatable-actions-menu\">\n\n <ng-container *ngIf=\"(actions && actionsPosition === 'right')\">\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" #actionsMenuTrigger=\"matMenuTrigger\"\n [ngClass]=\"getHideActionsWithoutHoverClass(actionsMenuTrigger)\"\n [attr.aria-label]=\"'ADF-DATATABLE.ACCESSIBILITY.ROW_OPTION_BUTTON' | translate\"\n [title]=\"'ADF-DATATABLE.CONTENT-ACTIONS.TOOLTIP' | translate\"\n [attr.id]=\"'action_menu_right_' + idx\"\n [attr.data-automation-id]=\"'action_menu_' + idx\"\n (keydown.enter)=\"actionsMenuTrigger.openMenu()\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngFor=\"let action of getRowActions(row)\"\n [attr.data-automation-id]=\"action.title\"\n [attr.aria-label]=\"action.title | translate\"\n [disabled]=\"action.disabled\"\n (click)=\"onExecuteRowAction(row, action)\">\n <mat-icon *ngIf=\"action.icon\">{{ action.icon }}</mat-icon>\n <span>{{ action.title | translate }}</span>\n </button>\n </mat-menu>\n </ng-container>\n </div>\n </adf-datatable-row>\n <div *ngIf=\"isEmpty()\" role=\"row\" class=\"adf-datatable-row\">\n <div class=\"adf-no-content-container adf-datatable-cell\" role=\"gridcell\">\n <ng-template *ngIf=\"noContentTemplate\"\n ngFor [ngForOf]=\"[data]\"\n [ngForTemplate]=\"noContentTemplate\" />\n <ng-content select=\"adf-empty-list\" />\n </div>\n </div>\n </ng-container>\n\n <ng-template #noPermissionsRowTemplate>\n <div\n role=\"row\"\n class=\"adf-datatable-row adf-no-permission__row\">\n <div class=\"adf-no-permission__cell adf-no-content-container adf-datatable-cell\">\n <ng-template *ngIf=\"noPermissionTemplate\"\n ngFor [ngForOf]=\"[data]\"\n [ngForTemplate]=\"noPermissionTemplate\" />\n </div>\n </div>\n </ng-template>\n </div>\n <ng-template #loadingRowTemplate>\n <div class=\"adf-datatable-row adf-datatable-data-loading\">\n <div class=\"adf-no-content-container adf-datatable-cell\">\n <ng-template *ngIf=\"loadingTemplate\"\n ngFor [ngForOf]=\"[data]\"\n [ngForTemplate]=\"loadingTemplate\" />\n </div>\n </div>\n </ng-template>\n</div>\n", styles: [".adf-datatable{overflow-y:scroll;height:100%;display:block}.adf-datatable .adf-full-width{width:100%}.adf-datatable__resize-handle{padding:0 2px}.adf-datatable__resize-handle-visible{visibility:visible}.adf-datatable__resize-handle-hidden{visibility:hidden}.adf-datatable__resize-handle--divider{padding:24px 0;border:1px solid var(--adf-theme-foreground-text-color-007)}.adf-datatable__resize-handle:hover{cursor:col-resize}.adf-datatable__cursor--pointer:hover{cursor:pointer}.adf-datatable-list,.cdk-drag-preview{display:flex;flex-direction:column;background-color:var(--adf-theme-background-card-color);border:1px solid var(--adf-theme-foreground-text-color-007);box-sizing:border-box;overflow-x:auto}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.adf-datatable-list .adf-datatable-center-size-column-ie,.cdk-drag-preview .adf-datatable-center-size-column-ie{padding-top:17px}.adf-datatable-list .adf-datatable__actions-cell.adf-datatable-center-actions-column-ie,.cdk-drag-preview .adf-datatable__actions-cell.adf-datatable-center-actions-column-ie{padding-top:7px}.adf-datatable-list .adf-cell-date.adf-datatable-center-date-column-ie,.cdk-drag-preview .adf-cell-date.adf-datatable-center-date-column-ie{position:relative}.adf-datatable-list .adf-cell-date.adf-datatable-center-date-column-ie .adf-datatable-cell-value,.cdk-drag-preview .adf-cell-date.adf-datatable-center-date-column-ie .adf-datatable-cell-value{width:100%}.adf-datatable-list .adf-datatable-center-img-ie,.cdk-drag-preview .adf-datatable-center-img-ie{padding:0;min-width:0;width:24px;height:56px}}.adf-datatable-list .adf-datatable-header,.cdk-drag-preview .adf-datatable-header{display:flex;flex-direction:column;width:fit-content;min-width:100%;box-sizing:border-box}.adf-datatable-list .adf-datatable-header .adf-datatable-row,.cdk-drag-preview .adf-datatable-header .adf-datatable-row{padding-right:15px}.adf-datatable-list .adf-datatable-header .adf-datatable-row:hover,.adf-datatable-list .adf-datatable-header .adf-datatable-row:focus,.cdk-drag-preview .adf-datatable-header .adf-datatable-row:hover,.cdk-drag-preview .adf-datatable-header .adf-datatable-row:focus{background-color:inherit}.adf-datatable-list .adf-datatable-row:not(.adf-datatable-data-loading):hover,.adf-datatable-list .adf-datatable-row:not(.adf-datatable-data-loading):focus,.cdk-drag-preview .adf-datatable-row:not(.adf-datatable-data-loading):hover,.cdk-drag-preview .adf-datatable-row:not(.adf-datatable-data-loading):focus{background-color:var(--adf-theme-background-hover-color)}.adf-datatable-list .adf-datatable-row:focus,.cdk-drag-preview .adf-datatable-row:focus{outline-offset:-1px;outline:1px solid var(--theme-accent-color-a200)}.adf-datatable-list .adf-datatable-row .adf-cell-value:focus,.adf-datatable-list .adf-datatable-row .adf-datatable-cell-header:focus,.cdk-drag-preview .adf-datatable-row .adf-cell-value:focus,.cdk-drag-preview .adf-datatable-row .adf-datatable-cell-header:focus{outline-offset:-1px;outline:1px solid var(--theme-accent-color-a200)}.adf-datatable-list .adf-blur-datatable-body,.cdk-drag-preview .adf-blur-datatable-body{filter:blur(3px)}.adf-datatable-list .adf-datatable-body,.cdk-drag-preview .adf-datatable-body{display:flex;flex-direction:column;background-color:inherit;width:100%;min-width:100%}.adf-datatable-list .adf-datatable-body.adf-datatable-body__draggable,.cdk-drag-preview .adf-datatable-body.adf-datatable-body__draggable{cursor:grab}.adf-datatable-list .adf-datatable-body.adf-datatable-body__dragging,.cdk-drag-preview .adf-datatable-body.adf-datatable-body__dragging{cursor:grabbing}.adf-datatable-list .adf-datatable-body .adf-datatable-row,.cdk-drag-preview .adf-datatable-body .adf-datatable-row{transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:background-color;border-top:1px solid var(--adf-theme-foreground-text-color-007);min-height:var(--theme-display-3-font-size);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.adf-datatable-list .adf-datatable-body .adf-datatable-row.adf-is-selected,.adf-datatable-list .adf-datatable-body .adf-datatable-row.adf-is-selected:hover,.cdk-drag-preview .adf-datatable-body .adf-datatable-row.adf-is-selected,.cdk-drag-preview .adf-datatable-body .adf-datatable-row.adf-is-selected:hover{background-color:var(--adf-theme-background-selected-button-color)}.adf-datatable-list .adf-datatable-body .adf-datatable-row.adf-drag-row,.cdk-drag-preview .adf-datatable-body .adf-datatable-row.adf-drag-row{cursor:grab}.adf-datatable-list .adf-datatable-body .adf-datatable-row:last-child,.cdk-drag-preview .adf-datatable-body .adf-datatable-row:last-child{border-bottom:1px solid var(--adf-theme-foreground-text-color-007)}.adf-datatable-list .adf-datatable-body .adf-datatable-row label,.cdk-drag-preview .adf-datatable-body .adf-datatable-row label{cursor:inherit}.adf-datatable-list .adf-datatable-row,.cdk-drag-preview .adf-datatable-row{display:flex;align-items:center}.adf-datatable-list .adf-datatable-row:hover .adf-datatable-hover-only,.cdk-drag-preview .adf-datatable-row:hover .adf-datatable-hover-only{visibility:visible}.adf-datatable-list .adf-datatable-row .adf-datatable-hover-only,.cdk-drag-preview .adf-datatable-row .adf-datatable-hover-only{visibility:hidden}.adf-datatable-list .adf-datatable-row .adf-datatable-hover-only.adf-datatable-checkbox-selected,.cdk-drag-preview .adf-datatable-row .adf-datatable-hover-only.adf-datatable-checkbox-selected{visibility:visible}.adf-datatable-list .adf-datatable-row .adf-datatable-checkbox,.cdk-drag-preview .adf-datatable-row .adf-datatable-checkbox{max-width:65px;width:65px}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.adf-datatable-list .adf-datatable-row .adf-datatable-checkbox,.cdk-drag-preview .adf-datatable-row .adf-datatable-checkbox{padding-top:15px}}.adf-datatable-list .adf-datatable-cell,.adf-datatable-list .adf-datatable-cell-header,.cdk-drag-preview .adf-datatable-cell,.cdk-drag-preview .adf-datatable-cell-header{text-align:left;box-sizing:border-box;min-width:65px}.adf-datatable-list .adf-datatable-cell--text,.adf-datatable-list .adf-datatable-cell-header--text,.cdk-drag-preview .adf-datatable-cell--text,.cdk-drag-preview .adf-datatable-cell-header--text{text-align:left;position:relative}.adf-datatable-list .adf-datatable-cell--date,.adf-datatable-list .adf-datatable-cell-header--date,.cdk-drag-preview .adf-datatable-cell--date,.cdk-drag-preview .adf-datatable-cell-header--date{text-align:left}.adf-datatable-list .adf-datatable-cell--number,.adf-datatable-list .adf-datatable-cell-header--number,.cdk-drag-preview .adf-datatable-cell--number,.cdk-drag-preview .adf-datatable-cell-header--number{text-align:right}.adf-datatable-list .adf-datatable-cell--image,.adf-datatable-list .adf-datatable-cell--icon,.adf-datatable-list .adf-datatable-cell-header--image,.adf-datatable-list .adf-datatable-cell-header--icon,.cdk-drag-preview .adf-datatable-cell--image,.cdk-drag-preview .adf-datatable-cell--icon,.cdk-drag-preview .adf-datatable-cell-header--image,.cdk-drag-preview .adf-datatable-cell-header--icon{padding-left:24px;padding-right:24px;width:65px;min-width:65px;text-align:left}.adf-datatable-list .adf-datatable-cell--fileSize,.adf-datatable-list .adf-datatable-cell-header--fileSize,.cdk-drag-preview .adf-datatable-cell--fileSize,.cdk-drag-preview .adf-datatable-cell-header--fileSize{min-width:65px}.adf-datatable-list .adf-datatable-cell button .mat-icon,.adf-datatable-list .adf-datatable-cell-header button .mat-icon,.cdk-drag-preview .adf-datatable-cell button .mat-icon,.cdk-drag-preview .adf-datatable-cell-header button .mat-icon{margin-top:-10px}.adf-datatable-list .adf-datatable-cell-header.adf-expand-cell-1,.adf-datatable-list .adf-datatable-cell.adf-expand-cell-1,.cdk-drag-preview .adf-datatable-cell-header.adf-expand-cell-1,.cdk-drag-preview .adf-datatable-cell.adf-expand-cell-1{flex-grow:1}.adf-datatable-list .adf-datatable-cell-header.adf-expand-cell-2,.adf-datatable-list .adf-datatable-cell.adf-expand-cell-2,.cdk-drag-preview .adf-datatable-cell-header.adf-expand-cell-2,.cdk-drag-preview .adf-datatable-cell.adf-expand-cell-2{flex-grow:2}.adf-datatable-list .adf-datatable-cell-header.adf-expand-cell-3,.adf-datatable-list .adf-datatable-cell.adf-expand-cell-3,.cdk-drag-preview .adf-datatable-cell-header.adf-expand-cell-3,.cdk-drag-preview .adf-datatable-cell.adf-expand-cell-3{flex-grow:3}.adf-datatable-list .adf-datatable-cell-header.adf-expand-cell-4,.adf-datatable-list .adf-datatable-cell.adf-expand-cell-4,.cdk-drag-preview .adf-datatable-cell-header.adf-expand-cell-4,.cdk-drag-preview .adf-datatable-cell.adf-expand-cell-4{flex-grow:4}.adf-datatable-list .adf-datatable-cell-header.adf-expand-cell-5,.adf-datatable-list .adf-datatable-cell.adf-expand-cell-5,.cdk-drag-preview .adf-datatable-cell-header.adf-expand-cell-5,.cdk-drag-preview .adf-datatable-cell.adf-expand-cell-5{flex-grow:5}.adf-datatable-list .adf-datatable-cell-header.adf-no-grow-cell,.adf-datatable-list .adf-datatable-cell.adf-no-grow-cell,.cdk-drag-preview .adf-datatable-cell-header.adf-no-grow-cell,.cdk-drag-preview .adf-datatable-cell.adf-no-grow-cell{flex-grow:0;min-width:100px}.adf-datatable-list .adf-datatable-cell-header.adf-min-width-cell,.adf-datatable-list .adf-datatable-cell.adf-min-width-cell,.cdk-drag-preview .adf-datatable-cell-header.adf-min-width-cell,.cdk-drag-preview .adf-datatable-cell.adf-min-width-cell{min-width:110px}.adf-datatable-list .adf-datatable-cell,.cdk-drag-preview .adf-datatable-cell{color:var(--adf-theme-foreground-text-color);min-height:inherit}.adf-datatable-list .adf-datatable-cell,.adf-datatable-list .adf-datatable-cell-header,.cdk-drag-preview .adf-datatable-cell,.cdk-drag-preview .adf-datatable-cell-header{flex:1;padding:0;align-items:center;display:flex;align-self:stretch}.adf-datatable-list .adf-datatable-cell:first-child,.adf-datatable-list .adf-datatable-cell-header:first-child,.cdk-drag-preview .adf-datatable-cell:first-child,.cdk-drag-preview .adf-datatable-cell-header:first-child{margin-left:15px;box-sizing:content-box}.adf-datatable-list .adf-datatable-cell.adf-drag-column,.adf-datatable-list .adf-datatable-cell-header.adf-drag-column,.cdk-drag-preview .adf-datatable-cell.adf-drag-column,.cdk-drag-preview .adf-datatable-cell-header.adf-drag-column{flex:0}.adf-datatable-list .adf-datatable-cell .adf-datatable-cell-container,.adf-datatable-list .adf-datatable-cell-header .adf-datatable-cell-container,.cdk-drag-preview .adf-datatable-cell .adf-datatable-cell-container,.cdk-drag-preview .adf-datatable-cell-header .adf-datatable-cell-container{overflow:hidden;min-height:inherit;align-items:center;display:flex;width:100%;padding:0 10px}.adf-datatable-list .adf-datatable-cell .adf-datatable-cell-value,.adf-datatable-list .adf-datatable-cell-header .adf-datatable-cell-value,.cdk-drag-preview .adf-datatable-cell .adf-datatable-cell-value,.cdk-drag-preview .adf-datatable-cell-header .adf-datatable-cell-value{word-break:break-word;display:block}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.adf-datatable-list .adf-datatable-cell .adf-datatable-cell-value,.adf-datatable-list .adf-datatable-cell-header .adf-datatable-cell-value,.cdk-drag-preview .adf-datatable-cell .adf-datatable-cell-value,.cdk-drag-preview .adf-datatable-cell-header .adf-datatable-cell-value{padding:17px 10px 10px}}.adf-datatable-list .adf-datatable-row .adf-datatable-actions-menu,.cdk-drag-preview .adf-datatable-row .adf-datatable-actions-menu{margin-left:auto;justify-content:end;padding-right:15px}.adf-datatable-list .adf-datatable-row .adf-datatable-actions-menu:focus-visible .adf-datatable-hide-actions-without-hover,.adf-datatable-list .adf-datatable-row .adf-datatable-actions-menu:focus-within .adf-datatable-hide-actions-without-hover,.cdk-drag-preview .adf-datatable-row .adf-datatable-actions-menu:focus-visible .adf-datatable-hide-actions-without-hover,.cdk-drag-preview .adf-datatable-row .adf-datatable-actions-menu:focus-within .adf-datatable-hide-actions-without-hover{visibility:visible}.adf-datatable-list .adf-datatable-row .adf-datatable-actions-menu-provided,.cdk-drag-preview .adf-datatable-row .adf-datatable-actions-menu-provided{max-width:100px!important;justify-content:center;padding-right:0}.adf-datatable-list .adf-datatable-checkbox,.cdk-drag-preview .adf-datatable-checkbox{display:flex;justify-content:center}.adf-datatable-list .adf-cell-value,.cdk-drag-preview .adf-cell-value{display:flex;min-height:inherit;align-items:center;word-break:break-all;width:100%}.adf-datatable-list .adf-datatable__actions-cell,.adf-datatable-list .adf-datatable-cell--image,.cdk-drag-preview .adf-datatable__actions-cell,.cdk-drag-preview .adf-datatable-cell--image{max-width:65px;display:flex}.adf-datatable-list .adf-datatable__actions-cell .adf-cell-value,.adf-datatable-list .adf-datatable-cell--image .adf-cell-value,.cdk-drag-preview .adf-datatable__actions-cell .adf-cell-value,.cdk-drag-preview .adf-datatable-cell--image .adf-cell-value{width:unset}.adf-datatable-list .adf-datatable-row:not(:hover) .adf-datatable-hide-actions-without-hover,.cdk-drag-preview .adf-datatable-row:not(:hover) .adf-datatable-hide-actions-without-hover{visibility:hidden}.adf-datatable-list .adf-datatable-cell--image,.cdk-drag-preview .adf-datatable-cell--image{max-width:65px}.adf-datatable-list .adf-location-cell a,.cdk-drag-preview .adf-location-cell a{text-decoration:none;color:var(--adf-theme-foreground-text-color)}.adf-datatable-list .adf-location-cell a:hover,.cdk-drag-preview .adf-location-cell a:hover{color:var(--theme-accent-500);text-decoration:underline}.adf-datatable-list .adf-sr-only,.cdk-drag-preview .adf-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.adf-datatable-list .adf-is-selected,.cdk-drag-preview .adf-is-selected{background:var(--adf-theme-primary-100)}.adf-datatable-list .adf-datatable-link,.cdk-drag-preview .adf-datatable-link{text-decoration:none;color:var(--adf-theme-foreground-text-color)}.adf-datatable-list .adf-datatable-link:hover,.cdk-drag-preview .adf-datatable-link:hover{color:var(--theme-accent-500);text-decoration:underline}.adf-datatable-list .adf-dynamic-column .adf-datatable-link:hover,.cdk-drag-preview .adf-dynamic-column .adf-datatable-link:hover{text-decoration:none}.adf-datatable-list .adf-dynamic-column .adf-datatable-link:hover .adf-datatable-cell-value,.cdk-drag-preview .adf-dynamic-column .adf-datatable-link:hover .adf-datatable-cell-value{text-decoration:underline}.adf-datatable-list .adf-ellipsis-cell,.cdk-drag-preview .adf-ellipsis-cell{position:sticky;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.adf-datatable-list .adf-ellipsis-cell.adf-datatable-cell-header,.adf-datatable-list .adf-ellipsis-cell .adf-datatable-content-cell,.cdk-drag-preview .adf-ellipsis-cell.adf-datatable-cell-header,.cdk-drag-preview .adf-ellipsis-cell .adf-datatable-content-cell{max-width:calc(100% - .1px);overflow:hidden;text-overflow:ellipsis}.adf-datatable-list .adf-ellipsis-cell.adf-datatable-cell-header .adf-datatable-cell-value,.adf-datatable-list .adf-ellipsis-cell .adf-datatable-content-cell .adf-datatable-cell-value,.cdk-drag-preview .adf-ellipsis-cell.adf-datatable-cell-header .adf-datatable-cell-value,.cdk-drag-preview .adf-ellipsis-cell .adf-datatable-content-cell .adf-datatable-cell-value{overflow:hidden;text-overflow:ellipsis}.adf-datatable-list .adf-ellipsis-cell .adf-datatable-content-cell,.cdk-drag-preview .adf-ellipsis-cell .adf-datatable-content-cell{overflow:unset}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.adf-datatable-list .adf-ellipsis-cell .adf-cell-value,.cdk-drag-preview .adf-ellipsis-cell .adf-cell-value{top:100%}}.adf-datatable-list .adf-ellipsis-cell>div:after,.cdk-drag-preview .adf-ellipsis-cell>div:after{content:attr(title);overflow:hidden;height:0;display:block}.adf-datatable-list .adf-no-content-container.adf-datatable-cell,.cdk-drag-preview .adf-no-content-container.adf-datatable-cell{padding:0;border:none;width:100%;justify-content:center}.adf-datatable-list .adf-no-content-container.adf-datatable-cell>img,.cdk-drag-preview .adf-no-content-container.adf-datatable-cell>img{width:100%}.adf-datatable-list .adf-loading-content-container,.cdk-drag-preview .adf-loading-content-container{padding:0;width:100%}.adf-datatable-list .adf-loading-content-container>img,.cdk-drag-preview .adf-loading-content-container>img{width:100%}.adf-datatable-list .adf-no-permission__row:hover,.cdk-drag-preview .adf-no-permission__row:hover{cursor:default;background-color:inherit}.adf-datatable-list .adf-no-permission__cell.adf-datatable-cell,.cdk-drag-preview .adf-no-permission__cell.adf-datatable-cell{padding:0}.adf-datatable-list .adf-hidden,.cdk-drag-preview .adf-hidden{display:none}@media all and (width <= 768px){.adf-datatable-list .adf-desktop-only.adf-ellipsis-cell,.cdk-drag-preview .adf-desktop-only.adf-ellipsis-cell{display:none}}@media (device-width <= 768px){.adf-datatable-list .adf-desktop-only.adf-ellipsis-cell,.cdk-drag-preview .adf-desktop-only.adf-ellipsis-cell{display:none}}.adf-datatable-cell-header{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:flex;align-items:center;text-overflow:ellipsis;font-weight:700;line-height:24px;letter-spacing:0;min-height:var(--theme-display-3-font-size);font-size:var(--theme-caption-font-size);color:var(--adf-theme-foreground-text-color);box-sizing:border-box}.adf-datatable-cell-header_subtitle{margin-left:3px;opacity:.6}.adf-datatable-cell-header.adf-sortable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center}.adf-datatable-cell-header .adf-datatable__header--sorted-asc,.adf-datatable-cell-header .adf-datatable__header--sorted-desc{color:var(--adf-theme-foreground-text-color);padding-right:.25rem}.adf-datatable-cell-header .adf-datatable__header--sorted-asc:after,.adf-datatable-cell-header .adf-datatable__header--sorted-desc:after{font-family:Material Icons;font-weight:400;font-style:normal;font-size:var(--theme-headline-font-size);line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;word-wrap:normal;font-feature-settings:\"liga\";font-size:var(--theme-subheading-2-font-size);content:\"\\e5d8\";left:5px;right:5px;position:relative;vertical-align:middle}.adf-datatable-cell-header .adf-datatable__header--sorted-desc:after{content:\"\\e5db\"}.adf-datatable-cell-header .adf-datatable-cell--fileSize.adf-datatable__header--sorted-asc:before,.adf-datatable-cell-header .adf-datatable-cell--fileSize.adf-datatable__header--sorted-desc:before{left:-3px;right:-3px}.adf-datatable-cell-header .adf-datatable-cell-header-content{display:flex;flex-grow:1;align-items:center;margin:0 2px;padding:0 8px}.adf-datatable-cell-header .adf-datatable-cell-header-content .adf-datatable-cell-header-drag-icon-placeholder{padding:0;margin:0}.adf-datatable-cell-header .adf-datatable-cell-header-content--hovered{background-color:var(--adf-theme-background-hover-color);border-radius:6px}.adf-datatable-cell-header .adf-datatable-cell-header-drag-icon{margin-left:auto;cursor:move;margin-right:-.5rem;padding-left:-.5rem}.adf-datatable-cell-header .adf-datatable-cell-header-drag-icon-visible{display:flex}.adf-datatable-cell-header .adf-datatable-cell-value{padding-top:10px;padding-bottom:10px;line-height:24px;word-break:break-word}.adf-drop-header-cell-placeholder{display:flex;flex:1;background:var(--adf-theme-background-hover-color);border:dotted 1px rgba(0,0,0,.25);min-height:55px;transition:transform .25s cubic-bezier(0,0,.2,1)}.adf-datatable-cell-header.adf-ellipsis-cell .adf-datatable-cell-header-content{white-space:nowrap;overflow:hidden}.adf-datatable-cell-header.adf-ellipsis-cell .adf-datatable-cell-header-content--hovered .adf-datatable-cell-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdk-drag-preview{min-height:var(--theme-display-3-font-size);display:flex;flex-direction:row;align-items:center;box-sizing:unset;background-color:var(--theme-background-color);border-top:2px solid var(--theme-selected-background-color);opacity:1}.cdk-drag-preview.adf-datatable-cell-header{border-radius:6px;background-color:var(--theme-background-color);transition:box-shadow .28s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.adf-checkbox-sr-only .mdc-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.adf-sticky-header{border-top:0;height:100%}.adf-sticky-header .adf-datatable-header{display:block;margin-right:0;border-top:1px solid var(--adf-theme-foreground-text-color-007);border-bottom:1px solid var(--adf-theme-foreground-text-color-007)}.adf-sticky-header .adf-datatable-body{display:block;flex:1;overflow:hidden auto;margin-top:-1px}.adf-upload__dragging>div{border-top:1px dashed var(--theme-accent-color-a200);border-bottom:1px dashed var(--theme-accent-color-a200)}.adf-upload__dragging>div:first-child{border-left:1px dashed var(--theme-accent-color-a200)}.adf-upload__dragging>div:last-child{border-right:1px dashed var(--theme-accent-color-a200)}.adf-datatable--empty{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;justify-content:center;align-items:center;height:inherit}.adf-datatable--empty .adf-datatable-body[role=rowgroup] .adf-datatable-row{height:100%;background-color:var(--adf-theme-background-card-color);border:none}.adf-datatable--empty .adf-datatable-body[role=rowgroup] .adf-datatable-row:hover,.adf-datatable--empty .adf-datatable-body[role=rowgroup] .adf-datatable-row:focus{background-color:unset;cursor:default}.adf-datatable--empty--header-visible .adf-datatable-header{border:1px solid var(--adf-theme-foreground-text-color-007)}.adf-datatable--empty--header-visible .adf-datatable-body{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;justify-content:center;align-items:center}.adf-datatable--empty--header-visible .adf-datatable-body .adf-datatable-row{height:100%;background-color:var(--adf-theme-background-card-color);border:none}.adf-datatable--empty--header-visible .adf-datatable-body .adf-datatable-row:hover,.adf-datatable--empty--header-visible .adf-datatable-body .adf-datatable-row:focus{background-color:unset;cursor:default}@media screen and (width <= 380px){.adf-datatable-header{max-height:50%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1.UpperCasePipe, name: "uppercase" }, { kind: "component", type: DataTableRowComponent, selector: "adf-datatable-row", inputs: ["row", "disabled"], outputs: ["select"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2$6.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: DropZoneDirective, selector: "[adf-drop-zone]", inputs: ["dropTarget", "dropRow", "dropColumn"] }, { kind: "directive", type: ResizableDirective, selector: "[adf-resizable]", inputs: ["coverPadding"], outputs: ["resizeStart", "resizing", "resizeEnd"], exportAs: ["adf-resizable"] }, { kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value"] }, { kind: "directive", type: ResizeHandleDirective, selector: "[adf-resize-handle]", inputs: ["resizableContainer"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i7.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i7.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i7.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: UploadDirective, selector: "[adf-upload]", inputs: ["adf-upload", "adf-upload-data", "mode", "multiple", "accept", "directory"] }, { kind: "directive", type: ContextMenuDirective, selector: "[adf-context-menu]", inputs: ["adf-context-menu", "adf-context-menu-enabled"] }, { kind: "pipe", type: FileTypePipe, name: "fileType" }, { kind: "component", type: IconCellComponent, selector: "adf-icon-cell" }, { kind: "pipe", type: LocalizedDatePipe, name: "adfLocalizedDate" }, { kind: "component", type: DateCellComponent, selector: "adf-date-cell", inputs: ["dateConfig"] }, { kind: "component", type: LocationCellComponent, selector: "adf-location-cell", inputs: ["link"] }, { kind: "component", type: FileSizeCellComponent, selector: "adf-filesize-cell" }, { kind: "component", type: DataTableCellComponent, selector: "adf-datatable-cell", inputs: ["data", "column", "row", "copyContent", "tooltip", "resolverFn"] }, { kind: "component", type: BooleanCellComponent, selector: "adf-boolean-cell" }, { kind: "component", type: JsonCellComponent, selector: "adf-json-cell", inputs: ["editable"] }, { kind: "component", type: AmountCellComponent, selector: "adf-amount-cell", inputs: ["currencyConfig"] }, { kind: "component", type: NumberCellComponent, selector: "adf-number-cell", inputs: ["decimalConfig"] }], encapsulation: i0.ViewEncapsulation.None }); }
17221
17052
  }
17222
17053
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DataTableComponent, decorators: [{
17223
17054
  type: Component,
@@ -17249,7 +17080,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
17249
17080
  JsonCellComponent,
17250
17081
  AmountCellComponent,
17251
17082
  NumberCellComponent
17252
- ], encapsulation: ViewEncapsulation.None, host: { class: 'adf-datatable' }, template: "<div\n role=\"grid\"\n *ngIf=\"data\"\n class=\"adf-datatable-list\"\n [class.adf-sticky-header]=\"isStickyHeaderEnabled()\"\n [class.adf-datatable--empty]=\"(isEmpty() && !isHeaderVisible()) || loading\"\n [class.adf-datatable--empty--header-visible]=\"isEmpty() && isHeaderVisible()\"\n>\n <div *ngIf=\"isHeaderVisible()\" class=\"adf-datatable-header\" role=\"rowgroup\" [ngClass]=\"{ 'adf-sr-only': !isHeaderVisible() }\">\n <adf-datatable-row\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n [cdkDropListSortPredicate]=\"filterDisabledColumns\"\n data-automation-id=\"datatable-row-header\"\n [disabled]=\"!isHeaderVisible()\"\n class=\"adf-datatable-row\"\n role=\"row\">\n\n\n <!-- Drag -->\n <div *ngIf=\"enableDragRows\" class=\"adf-datatable-cell-header adf-drag-column\">\n <span class=\"adf-sr-only\">{{ 'ADF-DATATABLE.ACCESSIBILITY.DRAG' | translate }}</span>\n </div>\n\n <!-- Actions (left) -->\n <div *ngIf=\"actions && actionsPosition === 'left'\" class=\"adf-actions-column adf-datatable-cell-header\">\n <span class=\"adf-sr-only\">{{ 'ADF-DATATABLE.ACCESSIBILITY.ACTIONS' | translate }}</span>\n </div>\n\n <!-- Columns -->\n <div *ngIf=\"multiselect\" class=\"adf-datatable-cell-header adf-datatable-checkbox\">\n <mat-checkbox [indeterminate]=\"isSelectAllIndeterminate\"\n [checked]=\"isSelectAllChecked\"\n (change)=\"onSelectAllClick($event)\"\n class=\"adf-checkbox-sr-only\"\n [aria-label]=\"'ADF-DATATABLE.ACCESSIBILITY.SELECT_ALL' | translate\">\n {{ 'ADF-DATATABLE.ACCESSIBILITY.SELECT_ALL' | translate }}\n </mat-checkbox>\n </div>\n\n <ng-container\n *ngFor=\"\n let col of getVisibleColumns();\n let columnIndex = index\n let lastColumn = last\"\n >\n <div\n class=\"adf-datatable-cell--{{col.type || 'text'}} {{col.cssClass}} adf-datatable-cell-header adf-datatable-cell-data\"\n *ngIf=\"col.title || !showProvidedActions\"\n [attr.data-automation-id]=\"'auto_id_' + col.key\"\n [ngClass]=\"{\n 'adf-sortable': col.sortable,\n 'adf-datatable__cursor--pointer': !isResizing,\n 'adf-datatable__header--sorted-asc': isColumnSorted(col, 'asc'),\n 'adf-datatable__header--sorted-desc': isColumnSorted(col, 'desc')}\"\n [ngStyle]=\"(col.width) && !lastColumn && {'flex': getFlexValue(col)}\"\n [attr.aria-label]=\"(col.title | translate) + (col.subtitle ? ' ' + col.subtitle : '')\"\n (click)=\"onColumnHeaderClick(col, $event)\"\n (keyup.enter)=\"onColumnHeaderClick(col, $event)\"\n role=\"columnheader\"\n [attr.tabindex]=\"isHeaderVisible() ? 0 : null\"\n [attr.aria-sort]=\"col.sortable ? (getAriaSort(col) | translate) : null\"\n cdkDrag\n cdkDragLockAxis=\"x\"\n (cdkDragStarted)=\"isDraggingHeaderColumn = true\"\n (cdkDragDropped)=\"onDropHeaderColumn($event)\"\n [cdkDragDisabled]=\"!col.draggable\"\n (mouseenter)=\"hoveredHeaderColumnIndex = columnIndex\"\n (mouseleave)=\"hoveredHeaderColumnIndex = -1\"\n adf-drop-zone dropTarget=\"header\"\n [dropColumn]=\"col\"\n >\n\n <div\n adf-resizable\n #resizableElement=\"adf-resizable\"\n [coverPadding]=\"10\"\n (resizing)=\"onResizing($event, columnIndex)\"\n (resizeStart)=\"resizingColumnIndex = columnIndex\"\n (resizeEnd)=\"onResizingEnd()\"\n [attr.data-automation-id]=\"'auto_header_content_id_' + col.key\"\n class=\"adf-datatable-cell-header-content\"\n [ngClass]=\"{ 'adf-datatable-cell-header-content--hovered':\n hoveredHeaderColumnIndex === columnIndex &&\n !isDraggingHeaderColumn &&\n !isResizing && col.sortable}\"\n >\n <ng-container *ngIf=\"!col.header\">\n <span\n *ngIf=\"col.title\"\n title=\"{{col.title | translate}}\"\n class=\"adf-datatable-cell-value\"\n >\n {{col.title | translate}}\n </span>\n\n <span\n *ngIf=\"col.subtitle\"\n title=\"{{col.subtitle | translate}}\"\n class=\"adf-datatable-cell-value adf-datatable-cell-header_subtitle\"\n >\n ({{col.subtitle | translate}})\n </span>\n\n <span *ngIf=\"col.title && col.sortable && isDraggingHeaderColumn\" class=\"adf-sr-only\" aria-live=\"polite\">\n {{ getSortLiveAnnouncement(col) | translate: { string: col.title | translate } }}\n </span>\n\n <span *ngIf=\"!col.title && !col.sortable && !headerFilterTemplate\" [attr.title]=\"'ADF-DATATABLE.ACCESSIBILITY.EMPTY_HEADER' | translate\"></span>\n </ng-container>\n\n <div *ngIf=\"col.header\" class=\"adf-datatable-cell-value\">\n <ng-template [ngTemplateOutlet]=\"col.header\" [ngTemplateOutletContext]=\"{$implicit: col}\" />\n </div>\n\n <span\n [class.adf-datatable__header--sorted-asc]=\"isColumnSorted(col, 'asc')\"\n [class.adf-datatable__header--sorted-desc]=\"isColumnSorted(col, 'desc')\">\n </span>\n\n <ng-template *ngIf=\"allowFiltering\" [ngTemplateOutlet]=\"headerFilterTemplate\" [ngTemplateOutletContext]=\"{$implicit: col}\" />\n\n <span\n *ngIf=\"col.draggable\"\n cdkDragHandle\n [ngClass]=\"{ 'adf-datatable-cell-header-drag-icon': !isResizing }\"\n >\n <adf-icon\n *ngIf=\"hoveredHeaderColumnIndex === columnIndex && !isResizing\"\n value=\"adf:drag_indicator\"\n class=\"adf-datatable-cell-header-drag-icon-visible\"\n [attr.data-automation-id]=\"'adf-datatable-cell-header-drag-icon-'+col.key\" />\n </span>\n </div>\n <div\n *ngIf=\"isResizingEnabled && col.resizable && !lastColumn\"\n [ngClass]=\"hoveredHeaderColumnIndex === columnIndex && !isResizing || resizingColumnIndex === columnIndex ? 'adf-datatable__resize-handle-visible' : 'adf-datatable__resize-handle-hidden'\"\n adf-resize-handle\n tabindex=\"0\"\n role=\"button\"\n (click)=\"$event.stopPropagation()\"\n (keyup.enter)=\"$event.stopPropagation()\"\n class=\"adf-datatable__resize-handle\"\n [resizableContainer]=\"resizableElement\">\n <div class=\"adf-datatable__resize-handle--divider\"></div>\n </div>\n <div class=\"adf-drop-header-cell-placeholder\" *cdkDragPlaceholder></div>\n </div>\n </ng-container>\n\n <!-- Header actions (right) -->\n <div\n *ngIf=\"(actions && actionsPosition === 'right') ||\n (mainActionTemplate && showMainDatatableActions)\"\n class=\"adf-actions-column adf-datatable-actions-menu adf-datatable-cell-header adf-datatable__actions-cell\"\n [class.adf-datatable-actions-menu-provided]=\"showProvidedActions\"\n >\n <ng-container *ngIf=\"mainActionTemplate\">\n <button\n data-automation-id=\"adf-datatable-main-menu-button\"\n title=\"{{ 'ADF-DATATABLE.CONTENT-ACTIONS.SELECT_COLUMNS' | translate }}\"\n mat-icon-button\n #mainMenuTrigger=\"matMenuTrigger\"\n (click)=\"onMainMenuOpen()\"\n [matMenuTriggerFor]=\"mainMenu\">\n <mat-icon>view_week_outline</mat-icon>\n </button>\n <mat-menu #mainMenu (closed)=\"onMainMenuClosed()\">\n <div #mainMenuTemplate role=\"presentation\" (keydown.tab)=\"$event.stopPropagation()\">\n <ng-container\n [ngTemplateOutlet]=\"mainActionTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: mainMenuTrigger\n }\" />\n </div>\n </mat-menu>\n <span class=\"adf-sr-only\">{{ 'ADF-DATATABLE.ACCESSIBILITY.ACTIONS' | translate }}</span>\n </ng-container>\n </div>\n\n </adf-datatable-row>\n </div>\n\n <div\n *ngIf=\"!loading; else loadingRowTemplate\"\n class=\"adf-datatable-body\"\n [ngClass]=\"{ 'adf-blur-datatable-body': blurOnResize && (isDraggingHeaderColumn || isResizing), 'adf-datatable-body__draggable': enableDragRows && !isDraggingRow, 'adf-datatable-body__dragging': isDraggingRow }\"\n cdkDropList\n [cdkDropListDisabled]=\"!enableDragRows\"\n role=\"rowgroup\">\n <ng-container *ngIf=\"!noPermission; else noPermissionsRowTemplate\">\n <adf-datatable-row *ngFor=\"let row of data.getRows(); let idx = index\"\n cdkDrag\n [cdkDragDisabled]=\"!enableDragRows\"\n (cdkDragDropped)=\"onDragDrop($event)\"\n (cdkDragStarted)=\"onDragStart()\"\n (cdkDragEnded)=\"onDragEnd()\"\n [cdkDragBoundary]=\"'.adf-datatable-body'\"\n [row]=\"row\"\n (select)=\"onEnterKeyPressed(row, $event)\"\n (keyup)=\"onRowKeyUp(row, $event)\"\n (keydown)=\"onRowEnterKeyDown(row, $event)\"\n [adf-upload]=\"rowAllowsDrop(row)\"\n [adf-upload-data]=\"row\"\n [ngStyle]=\"rowStyle\"\n [ngClass]=\"getRowStyle(row)\"\n [class.adf-datatable-row__dragging]=\"isDraggingRow\"\n [attr.data-automation-id]=\"'datatable-row-' + idx\"\n (contextmenu)=\"markRowAsContextMenuSource(row)\">\n <!-- Drag button -->\n <div *ngIf=\"enableDragRows\"\n role=\"gridcell\"\n class=\"adf-datatable-cell adf-datatable__actions-cell adf-datatable-hover-only\">\n <button mat-icon-button\n [attr.aria-label]=\"'ADF-DATATABLE.ACCESSIBILITY.DRAG' | translate\">\n <mat-icon>drag_indicator</mat-icon>\n </button>\n </div>\n\n <!-- Actions (left) -->\n <div *ngIf=\"actions && actionsPosition === 'left'\" role=\"gridcell\" class=\"adf-datatable-cell\">\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" #actionsMenuTrigger=\"matMenuTrigger\"\n [ngClass]=\"getHideActionsWithoutHoverClass(actionsMenuTrigger)\"\n [title]=\"'ADF-DATATABLE.CONTENT-ACTIONS.TOOLTIP' | translate\"\n [attr.id]=\"'action_menu_left_' + idx\"\n [attr.data-automation-id]=\"'action_menu_' + idx\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngFor=\"let action of getRowActions(row)\"\n [attr.data-automation-id]=\"action.title\"\n [disabled]=\"action.disabled\"\n (click)=\"onExecuteRowAction(row, action)\">\n <mat-icon *ngIf=\"action.icon\">{{ action.icon }}</mat-icon>\n <span>{{ action.title | translate }}</span>\n </button>\n </mat-menu>\n </div>\n\n <label *ngIf=\"multiselect\"\n (keydown.enter)=\"onEnterKeyPressed(row, $any($event))\"\n (click)=\"onCheckboxLabelClick(row, $event)\"\n [for]=\"'select-file-' + idx\"\n class=\"adf-datatable-cell adf-datatable-checkbox adf-datatable-checkbox-single\"\n tabindex=\"0\">\n <mat-checkbox\n [id]=\"'select-file-' + idx\"\n [disabled]=\"!row?.isSelectable\"\n [class.adf-datatable-checkbox-selected]=\"row.isSelected\"\n [class.adf-datatable-hover-only]=\"displayCheckboxesOnHover\"\n [checked]=\"row.isSelected\"\n [attr.aria-checked]=\"row.isSelected\"\n [aria-label]=\"'ADF-DATATABLE.ACCESSIBILITY.SELECT_FILE' | translate\"\n data-adf-datatable-row-checkbox\n (change)=\"onCheckboxChange(row, $event)\"\n class=\"adf-checkbox-sr-only\">\n {{ 'ADF-DATATABLE.ACCESSIBILITY.SELECT_FILE' | translate }}\n </mat-checkbox>\n </label>\n\n <div\n *ngFor=\"let col of getVisibleColumns(); let lastColumn = last;\"\n role=\"gridcell\"\n class=\"adf-datatable-cell adf-datatable-cell--{{col.type || 'text'}} {{col.cssClass}} adf-datatable-cell-data\"\n [attr.title]=\"col.title | translate\"\n [attr.data-automation-id]=\"getAutomationValue(row)\"\n [attr.aria-selected]=\"row.isSelected\"\n [attr.aria-label]=\"col.title ? (col.title | translate) : null\"\n (click)=\"onRowClick(row, $event)\"\n tabindex=\"0\"\n (keydown.enter)=\"onEnterKeyPressed(row, $any($event))\"\n [adf-context-menu]=\"getContextMenuActions(row, col)\"\n [adf-context-menu-enabled]=\"contextMenu\"\n adf-drop-zone dropTarget=\"cell\" [dropColumn]=\"col\" [dropRow]=\"row\"\n [ngStyle]=\"(col.width) && !lastColumn && {'flex': getFlexValue(col)}\"\n >\n <div *ngIf=\"!col.template\" class=\"adf-datatable-cell-container\">\n <ng-container [ngSwitch]=\"data.getColumnType(row, col)\">\n <div *ngSwitchCase=\"'image'\" class=\"adf-cell-value\">\n <mat-icon *ngIf=\"isIconValue(row, col); else no_iconvalue\">{{ asIconValue(row, col) }}\n </mat-icon>\n <ng-template #no_iconvalue>\n <mat-icon class=\"adf-datatable-selected\"\n *ngIf=\"row.isSelected && !multiselect; else no_selected_row\" svgIcon=\"selected\" />\n <ng-template #no_selected_row>\n <img class=\"adf-datatable-center-img-ie\"\n [attr.aria-label]=\"(data.getValue(row, col) | fileType) === 'disable' ?\n ('ADF-DATATABLE.ACCESSIBILITY.ICON_DISABLED' | translate) :\n 'ADF-DATATABLE.ACCESSIBILITY.ICON_TEXT' | translate:{\n type: 'ADF-DATATABLE.FILE_TYPE.' + (data.getValue(row, col) | fileType | uppercase) | translate\n }\"\n [attr.alt]=\"(data.getValue(row, col) | fileType) === 'disable' ?\n ('ADF-DATATABLE.ACCESSIBILITY.ICON_DISABLED' | translate) :\n 'ADF-DATATABLE.ACCESSIBILITY.ICON_TEXT' | translate:{\n type: 'ADF-DATATABLE.FILE_TYPE.' + (data.getValue(row, col) | fileType | uppercase) | translate\n }\"\n src=\"{{ data.getValue(row, col) }}\"\n (error)=\"onImageLoadingError($event, row)\">\n </ng-template>\n </ng-template>\n </div>\n\n <div *ngSwitchCase=\"'icon'\" class=\"adf-cell-value\">\n <adf-icon-cell\n [data]=\"data\"\n [column]=\"col\"\n [row]=\"row\"\n [resolverFn]=\"resolverFn\"\n [tooltip]=\"getCellTooltip(row, col)\"\n />\n </div>\n <div\n *ngSwitchCase=\"'date'\"\n class=\"adf-cell-value adf-cell-date\"\n [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\"\n [attr.data-automation-id]=\"'date_' + (data.getValue(row, col, resolverFn) | adfLocalizedDate: 'medium') \">\n <adf-date-cell class=\"adf-datatable-center-date-column-ie\"\n [data]=\"data\"\n [column]=\"col\"\n [row]=\"row\"\n [resolverFn]=\"resolverFn\"\n [tooltip]=\"getCellTooltip(row, col)\"\n [dateConfig]=\"col.dateConfig\" />\n </div>\n\n <div *ngSwitchCase=\"'location'\" [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\" class=\"adf-cell-value\"\n [attr.data-automation-id]=\"'location' + data.getValue(row, col, resolverFn)\">\n <adf-location-cell\n [data]=\"data\"\n [column]=\"col\"\n [row]=\"row\"\n [resolverFn]=\"resolverFn\"\n [tooltip]=\"getCellTooltip(row, col)\" />\n </div>\n <div *ngSwitchCase=\"'fileSize'\" [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\" class=\"adf-cell-value\"\n [attr.data-automation-id]=\"'fileSize_' + data.getValue(row, col, resolverFn)\">\n <adf-filesize-cell class=\"adf-datatable-center-size-column-ie\"\n [data]=\"data\"\n [column]=\"col\"\n [row]=\"row\"\n [resolverFn]=\"resolverFn\"\n [tooltip]=\"getCellTooltip(row, col)\" />\n </div>\n <div *ngSwitchCase=\"'text'\" [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\" class=\"adf-cell-value\"\n [attr.data-automation-id]=\"'text_' + data.getValue(row, col, resolverFn)\">\n <adf-datatable-cell\n [copyContent]=\"col.copyContent\"\n [data]=\"data\"\n [column]=\"col\"\n [row]=\"row\"\n [resolverFn]=\"resolverFn\"\n [tooltip]=\"getCellTooltip(row, col)\" />\n </div>\n <div *ngSwitchCase=\"'boolean'\" [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\" class=\"adf-cell-value\"\n [attr.data-automation-id]=\"'boolean_' + data.getValue(row, col, resolverFn)\">\n <adf-boolean-cell\n [data]=\"data\"\n [column]=\"col\"\n [row]=\"row\"\n [resolverFn]=\"resolverFn\"\n [tooltip]=\"getCellTooltip(row, col)\" />\n </div>\n <div *ngSwitchCase=\"'json'\" [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\" class=\"adf-cell-value\">\n <adf-json-cell\n [editable]=\"col.editable\"\n [data]=\"data\"\n [column]=\"col\"\n [resolverFn]=\"resolverFn\"\n [row]=\"row\" />\n </div>\n <div *ngSwitchCase=\"'amount'\"\n class=\"adf-cell-value\"\n [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\"\n [attr.data-automation-id]=\"'amount_' + data.getValue(row, col, resolverFn)\">\n <adf-amount-cell\n [data]=\"data\"\n [column]=\"col\"\n [resolverFn]=\"resolverFn\"\n [row]=\"row\"\n [currencyConfig]=\"col.currencyConfig\" />\n </div>\n <div *ngSwitchCase=\"'number'\"\n class=\"adf-cell-value\"\n [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\"\n [attr.data-automation-id]=\"'number_' + data.getValue(row, col, resolverFn)\">\n <adf-number-cell\n [data]=\"data\"\n [column]=\"col\"\n [resolverFn]=\"resolverFn\"\n [row]=\"row\"\n [decimalConfig]=\"col.decimalConfig\" />\n </div>\n <span *ngSwitchDefault class=\"adf-cell-value\">\n <!-- empty cell for unknown column type -->\n </span>\n </ng-container>\n </div>\n <div *ngIf=\"col.template\" class=\"adf-datatable-cell-container\">\n <div class=\"adf-cell-value\" [attr.tabindex]=\"col.focus ? 0 : null\">\n <ng-container\n [ngTemplateOutlet]=\"col.template\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data, row: row, col: col }, value: data.getValue(row, col, resolverFn) }\" />\n </div>\n </div>\n </div>\n\n <!-- Row actions (right) -->\n <div *ngIf=\"\n !showProvidedActions &&\n ((actions && actionsPosition === 'right') ||\n (mainActionTemplate && showMainDatatableActions))\"\n role=\"gridcell\"\n tabindex=\"0\"\n class=\"adf-datatable-cell adf-datatable__actions-cell adf-datatable-center-actions-column-ie adf-datatable-actions-menu\">\n\n <ng-container *ngIf=\"(actions && actionsPosition === 'right')\">\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" #actionsMenuTrigger=\"matMenuTrigger\"\n [ngClass]=\"getHideActionsWithoutHoverClass(actionsMenuTrigger)\"\n [attr.aria-label]=\"'ADF-DATATABLE.ACCESSIBILITY.ROW_OPTION_BUTTON' | translate\"\n [title]=\"'ADF-DATATABLE.CONTENT-ACTIONS.TOOLTIP' | translate\"\n [attr.id]=\"'action_menu_right_' + idx\"\n [attr.data-automation-id]=\"'action_menu_' + idx\"\n (keydown.enter)=\"actionsMenuTrigger.openMenu()\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngFor=\"let action of getRowActions(row)\"\n [attr.data-automation-id]=\"action.title\"\n [attr.aria-label]=\"action.title | translate\"\n [disabled]=\"action.disabled\"\n (click)=\"onExecuteRowAction(row, action)\">\n <mat-icon *ngIf=\"action.icon\">{{ action.icon }}</mat-icon>\n <span>{{ action.title | translate }}</span>\n </button>\n </mat-menu>\n </ng-container>\n </div>\n </adf-datatable-row>\n <div *ngIf=\"isEmpty()\" role=\"row\" class=\"adf-datatable-row\">\n <div class=\"adf-no-content-container adf-datatable-cell\" role=\"gridcell\">\n <ng-template *ngIf=\"noContentTemplate\"\n ngFor [ngForOf]=\"[data]\"\n [ngForTemplate]=\"noContentTemplate\" />\n <ng-content select=\"adf-empty-list\" />\n </div>\n </div>\n </ng-container>\n\n <ng-template #noPermissionsRowTemplate>\n <div\n role=\"row\"\n class=\"adf-datatable-row adf-no-permission__row\">\n <div class=\"adf-no-permission__cell adf-no-content-container adf-datatable-cell\">\n <ng-template *ngIf=\"noPermissionTemplate\"\n ngFor [ngForOf]=\"[data]\"\n [ngForTemplate]=\"noPermissionTemplate\" />\n </div>\n </div>\n </ng-template>\n </div>\n <ng-template #loadingRowTemplate>\n <div class=\"adf-datatable-row adf-datatable-data-loading\">\n <div class=\"adf-no-content-container adf-datatable-cell\">\n <ng-template *ngIf=\"loadingTemplate\"\n ngFor [ngForOf]=\"[data]\"\n [ngForTemplate]=\"loadingTemplate\" />\n </div>\n </div>\n </ng-template>\n</div>\n", styles: [".adf-datatable{overflow-y:scroll;height:100%;display:block}.adf-datatable .adf-full-width{width:100%}.adf-datatable__resize-handle{padding:0 2px}.adf-datatable__resize-handle-visible{visibility:visible}.adf-datatable__resize-handle-hidden{visibility:hidden}.adf-datatable__resize-handle--divider{padding:24px 0;border:1px solid var(--adf-theme-foreground-text-color-007)}.adf-datatable__resize-handle:hover{cursor:col-resize}.adf-datatable__cursor--pointer:hover{cursor:pointer}.adf-datatable-list,.cdk-drag-preview{display:flex;flex-direction:column;background-color:var(--adf-theme-background-card-color);border:1px solid var(--adf-theme-foreground-text-color-007);box-sizing:border-box;overflow-x:auto}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.adf-datatable-list .adf-datatable-center-size-column-ie,.cdk-drag-preview .adf-datatable-center-size-column-ie{padding-top:17px}.adf-datatable-list .adf-datatable__actions-cell.adf-datatable-center-actions-column-ie,.cdk-drag-preview .adf-datatable__actions-cell.adf-datatable-center-actions-column-ie{padding-top:7px}.adf-datatable-list .adf-cell-date.adf-datatable-center-date-column-ie,.cdk-drag-preview .adf-cell-date.adf-datatable-center-date-column-ie{position:relative}.adf-datatable-list .adf-cell-date.adf-datatable-center-date-column-ie .adf-datatable-cell-value,.cdk-drag-preview .adf-cell-date.adf-datatable-center-date-column-ie .adf-datatable-cell-value{width:100%}.adf-datatable-list .adf-datatable-center-img-ie,.cdk-drag-preview .adf-datatable-center-img-ie{padding:0;min-width:0;width:24px;height:56px}}.adf-datatable-list .adf-datatable-header,.cdk-drag-preview .adf-datatable-header{display:flex;flex-direction:column;width:fit-content;min-width:100%;box-sizing:border-box}.adf-datatable-list .adf-datatable-header .adf-datatable-row,.cdk-drag-preview .adf-datatable-header .adf-datatable-row{padding-right:15px}.adf-datatable-list .adf-datatable-header .adf-datatable-row:hover,.adf-datatable-list .adf-datatable-header .adf-datatable-row:focus,.cdk-drag-preview .adf-datatable-header .adf-datatable-row:hover,.cdk-drag-preview .adf-datatable-header .adf-datatable-row:focus{background-color:inherit}.adf-datatable-list .adf-datatable-row:not(.adf-datatable-data-loading):hover,.adf-datatable-list .adf-datatable-row:not(.adf-datatable-data-loading):focus,.cdk-drag-preview .adf-datatable-row:not(.adf-datatable-data-loading):hover,.cdk-drag-preview .adf-datatable-row:not(.adf-datatable-data-loading):focus{background-color:var(--adf-theme-background-hover-color)}.adf-datatable-list .adf-datatable-row:focus,.cdk-drag-preview .adf-datatable-row:focus{outline-offset:-1px;outline:1px solid var(--theme-accent-color-a200)}.adf-datatable-list .adf-datatable-row .adf-cell-value:focus,.adf-datatable-list .adf-datatable-row .adf-datatable-cell-header:focus,.cdk-drag-preview .adf-datatable-row .adf-cell-value:focus,.cdk-drag-preview .adf-datatable-row .adf-datatable-cell-header:focus{outline-offset:-1px;outline:1px solid var(--theme-accent-color-a200)}.adf-datatable-list .adf-blur-datatable-body,.cdk-drag-preview .adf-blur-datatable-body{filter:blur(3px)}.adf-datatable-list .adf-datatable-body,.cdk-drag-preview .adf-datatable-body{display:flex;flex-direction:column;background-color:inherit;width:100%;min-width:100%}.adf-datatable-list .adf-datatable-body.adf-datatable-body__draggable,.cdk-drag-preview .adf-datatable-body.adf-datatable-body__draggable{cursor:grab}.adf-datatable-list .adf-datatable-body.adf-datatable-body__dragging,.cdk-drag-preview .adf-datatable-body.adf-datatable-body__dragging{cursor:grabbing}.adf-datatable-list .adf-datatable-body .adf-datatable-row,.cdk-drag-preview .adf-datatable-body .adf-datatable-row{transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:background-color;border-top:1px solid var(--adf-theme-foreground-text-color-007);min-height:var(--theme-display-3-font-size);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.adf-datatable-list .adf-datatable-body .adf-datatable-row.adf-is-selected,.adf-datatable-list .adf-datatable-body .adf-datatable-row.adf-is-selected:hover,.cdk-drag-preview .adf-datatable-body .adf-datatable-row.adf-is-selected,.cdk-drag-preview .adf-datatable-body .adf-datatable-row.adf-is-selected:hover{background-color:var(--adf-theme-background-selected-button-color)}.adf-datatable-list .adf-datatable-body .adf-datatable-row.adf-drag-row,.cdk-drag-preview .adf-datatable-body .adf-datatable-row.adf-drag-row{cursor:grab}.adf-datatable-list .adf-datatable-body .adf-datatable-row:last-child,.cdk-drag-preview .adf-datatable-body .adf-datatable-row:last-child{border-bottom:1px solid var(--adf-theme-foreground-text-color-007)}.adf-datatable-list .adf-datatable-body .adf-datatable-row label,.cdk-drag-preview .adf-datatable-body .adf-datatable-row label{cursor:inherit}.adf-datatable-list .adf-datatable-row,.cdk-drag-preview .adf-datatable-row{display:flex;align-items:center}.adf-datatable-list .adf-datatable-row:hover .adf-datatable-hover-only,.cdk-drag-preview .adf-datatable-row:hover .adf-datatable-hover-only{visibility:visible}.adf-datatable-list .adf-datatable-row .adf-datatable-hover-only,.cdk-drag-preview .adf-datatable-row .adf-datatable-hover-only{visibility:hidden}.adf-datatable-list .adf-datatable-row .adf-datatable-hover-only.adf-datatable-checkbox-selected,.cdk-drag-preview .adf-datatable-row .adf-datatable-hover-only.adf-datatable-checkbox-selected{visibility:visible}.adf-datatable-list .adf-datatable-row .adf-datatable-checkbox,.cdk-drag-preview .adf-datatable-row .adf-datatable-checkbox{max-width:65px;width:65px}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.adf-datatable-list .adf-datatable-row .adf-datatable-checkbox,.cdk-drag-preview .adf-datatable-row .adf-datatable-checkbox{padding-top:15px}}.adf-datatable-list .adf-datatable-cell,.adf-datatable-list .adf-datatable-cell-header,.cdk-drag-preview .adf-datatable-cell,.cdk-drag-preview .adf-datatable-cell-header{text-align:left;box-sizing:border-box;min-width:65px}.adf-datatable-list .adf-datatable-cell--text,.adf-datatable-list .adf-datatable-cell-header--text,.cdk-drag-preview .adf-datatable-cell--text,.cdk-drag-preview .adf-datatable-cell-header--text{text-align:left;position:relative}.adf-datatable-list .adf-datatable-cell--date,.adf-datatable-list .adf-datatable-cell-header--date,.cdk-drag-preview .adf-datatable-cell--date,.cdk-drag-preview .adf-datatable-cell-header--date{text-align:left}.adf-datatable-list .adf-datatable-cell--number,.adf-datatable-list .adf-datatable-cell-header--number,.cdk-drag-preview .adf-datatable-cell--number,.cdk-drag-preview .adf-datatable-cell-header--number{text-align:right}.adf-datatable-list .adf-datatable-cell--image,.adf-datatable-list .adf-datatable-cell--icon,.adf-datatable-list .adf-datatable-cell-header--image,.adf-datatable-list .adf-datatable-cell-header--icon,.cdk-drag-preview .adf-datatable-cell--image,.cdk-drag-preview .adf-datatable-cell--icon,.cdk-drag-preview .adf-datatable-cell-header--image,.cdk-drag-preview .adf-datatable-cell-header--icon{padding-left:24px;padding-right:24px;width:65px;min-width:65px;text-align:left}.adf-datatable-list .adf-datatable-cell--fileSize,.adf-datatable-list .adf-datatable-cell-header--fileSize,.cdk-drag-preview .adf-datatable-cell--fileSize,.cdk-drag-preview .adf-datatable-cell-header--fileSize{min-width:65px}.adf-datatable-list .adf-datatable-cell button .mat-icon,.adf-datatable-list .adf-datatable-cell-header button .mat-icon,.cdk-drag-preview .adf-datatable-cell button .mat-icon,.cdk-drag-preview .adf-datatable-cell-header button .mat-icon{margin-top:-10px}.adf-datatable-list .adf-datatable-cell-header.adf-expand-cell-1,.adf-datatable-list .adf-datatable-cell.adf-expand-cell-1,.cdk-drag-preview .adf-datatable-cell-header.adf-expand-cell-1,.cdk-drag-preview .adf-datatable-cell.adf-expand-cell-1{flex-grow:1}.adf-datatable-list .adf-datatable-cell-header.adf-expand-cell-2,.adf-datatable-list .adf-datatable-cell.adf-expand-cell-2,.cdk-drag-preview .adf-datatable-cell-header.adf-expand-cell-2,.cdk-drag-preview .adf-datatable-cell.adf-expand-cell-2{flex-grow:2}.adf-datatable-list .adf-datatable-cell-header.adf-expand-cell-3,.adf-datatable-list .adf-datatable-cell.adf-expand-cell-3,.cdk-drag-preview .adf-datatable-cell-header.adf-expand-cell-3,.cdk-drag-preview .adf-datatable-cell.adf-expand-cell-3{flex-grow:3}.adf-datatable-list .adf-datatable-cell-header.adf-expand-cell-4,.adf-datatable-list .adf-datatable-cell.adf-expand-cell-4,.cdk-drag-preview .adf-datatable-cell-header.adf-expand-cell-4,.cdk-drag-preview .adf-datatable-cell.adf-expand-cell-4{flex-grow:4}.adf-datatable-list .adf-datatable-cell-header.adf-expand-cell-5,.adf-datatable-list .adf-datatable-cell.adf-expand-cell-5,.cdk-drag-preview .adf-datatable-cell-header.adf-expand-cell-5,.cdk-drag-preview .adf-datatable-cell.adf-expand-cell-5{flex-grow:5}.adf-datatable-list .adf-datatable-cell-header.adf-no-grow-cell,.adf-datatable-list .adf-datatable-cell.adf-no-grow-cell,.cdk-drag-preview .adf-datatable-cell-header.adf-no-grow-cell,.cdk-drag-preview .adf-datatable-cell.adf-no-grow-cell{flex-grow:0;min-width:100px}.adf-datatable-list .adf-datatable-cell-header.adf-min-width-cell,.adf-datatable-list .adf-datatable-cell.adf-min-width-cell,.cdk-drag-preview .adf-datatable-cell-header.adf-min-width-cell,.cdk-drag-preview .adf-datatable-cell.adf-min-width-cell{min-width:110px}.adf-datatable-list .adf-datatable-cell,.cdk-drag-preview .adf-datatable-cell{color:var(--adf-theme-foreground-text-color);min-height:inherit}.adf-datatable-list .adf-datatable-cell,.adf-datatable-list .adf-datatable-cell-header,.cdk-drag-preview .adf-datatable-cell,.cdk-drag-preview .adf-datatable-cell-header{flex:1;padding:0;align-items:center;display:flex;align-self:stretch}.adf-datatable-list .adf-datatable-cell:first-child,.adf-datatable-list .adf-datatable-cell-header:first-child,.cdk-drag-preview .adf-datatable-cell:first-child,.cdk-drag-preview .adf-datatable-cell-header:first-child{margin-left:15px;box-sizing:content-box}.adf-datatable-list .adf-datatable-cell.adf-drag-column,.adf-datatable-list .adf-datatable-cell-header.adf-drag-column,.cdk-drag-preview .adf-datatable-cell.adf-drag-column,.cdk-drag-preview .adf-datatable-cell-header.adf-drag-column{flex:0}.adf-datatable-list .adf-datatable-cell .adf-datatable-cell-container,.adf-datatable-list .adf-datatable-cell-header .adf-datatable-cell-container,.cdk-drag-preview .adf-datatable-cell .adf-datatable-cell-container,.cdk-drag-preview .adf-datatable-cell-header .adf-datatable-cell-container{overflow:hidden;min-height:inherit;align-items:center;display:flex;width:100%;padding:0 10px}.adf-datatable-list .adf-datatable-cell .adf-datatable-cell-value,.adf-datatable-list .adf-datatable-cell-header .adf-datatable-cell-value,.cdk-drag-preview .adf-datatable-cell .adf-datatable-cell-value,.cdk-drag-preview .adf-datatable-cell-header .adf-datatable-cell-value{word-break:break-word;display:block}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.adf-datatable-list .adf-datatable-cell .adf-datatable-cell-value,.adf-datatable-list .adf-datatable-cell-header .adf-datatable-cell-value,.cdk-drag-preview .adf-datatable-cell .adf-datatable-cell-value,.cdk-drag-preview .adf-datatable-cell-header .adf-datatable-cell-value{padding:17px 10px 10px}}.adf-datatable-list .adf-datatable-row .adf-datatable-actions-menu,.cdk-drag-preview .adf-datatable-row .adf-datatable-actions-menu{margin-left:auto;justify-content:end;padding-right:15px}.adf-datatable-list .adf-datatable-row .adf-datatable-actions-menu:focus-visible .adf-datatable-hide-actions-without-hover,.adf-datatable-list .adf-datatable-row .adf-datatable-actions-menu:focus-within .adf-datatable-hide-actions-without-hover,.cdk-drag-preview .adf-datatable-row .adf-datatable-actions-menu:focus-visible .adf-datatable-hide-actions-without-hover,.cdk-drag-preview .adf-datatable-row .adf-datatable-actions-menu:focus-within .adf-datatable-hide-actions-without-hover{visibility:visible}.adf-datatable-list .adf-datatable-row .adf-datatable-actions-menu-provided,.cdk-drag-preview .adf-datatable-row .adf-datatable-actions-menu-provided{max-width:100px!important;justify-content:center;padding-right:0}.adf-datatable-list .adf-datatable-checkbox,.cdk-drag-preview .adf-datatable-checkbox{display:flex;justify-content:center}.adf-datatable-list .adf-cell-value,.cdk-drag-preview .adf-cell-value{display:flex;min-height:inherit;align-items:center;word-break:break-all;width:100%}.adf-datatable-list .adf-datatable__actions-cell,.adf-datatable-list .adf-datatable-cell--image,.cdk-drag-preview .adf-datatable__actions-cell,.cdk-drag-preview .adf-datatable-cell--image{max-width:65px;display:flex}.adf-datatable-list .adf-datatable__actions-cell .adf-cell-value,.adf-datatable-list .adf-datatable-cell--image .adf-cell-value,.cdk-drag-preview .adf-datatable__actions-cell .adf-cell-value,.cdk-drag-preview .adf-datatable-cell--image .adf-cell-value{width:unset}.adf-datatable-list .adf-datatable-row:not(:hover) .adf-datatable-hide-actions-without-hover,.cdk-drag-preview .adf-datatable-row:not(:hover) .adf-datatable-hide-actions-without-hover{visibility:hidden}.adf-datatable-list .adf-datatable-cell--image,.cdk-drag-preview .adf-datatable-cell--image{max-width:65px}.adf-datatable-list .adf-location-cell a,.cdk-drag-preview .adf-location-cell a{text-decoration:none;color:var(--adf-theme-foreground-text-color)}.adf-datatable-list .adf-location-cell a:hover,.cdk-drag-preview .adf-location-cell a:hover{color:var(--theme-accent-500);text-decoration:underline}.adf-datatable-list .adf-sr-only,.cdk-drag-preview .adf-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.adf-datatable-list .adf-is-selected,.cdk-drag-preview .adf-is-selected{background:var(--adf-theme-primary-100)}.adf-datatable-list .adf-datatable-link,.cdk-drag-preview .adf-datatable-link{text-decoration:none;color:var(--adf-theme-foreground-text-color)}.adf-datatable-list .adf-datatable-link:hover,.cdk-drag-preview .adf-datatable-link:hover{color:var(--theme-accent-500);text-decoration:underline}.adf-datatable-list .adf-dynamic-column .adf-datatable-link:hover,.cdk-drag-preview .adf-dynamic-column .adf-datatable-link:hover{text-decoration:none}.adf-datatable-list .adf-dynamic-column .adf-datatable-link:hover .adf-datatable-cell-value,.cdk-drag-preview .adf-dynamic-column .adf-datatable-link:hover .adf-datatable-cell-value{text-decoration:underline}.adf-datatable-list .adf-ellipsis-cell,.cdk-drag-preview .adf-ellipsis-cell{position:sticky;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.adf-datatable-list .adf-ellipsis-cell.adf-datatable-cell-header,.adf-datatable-list .adf-ellipsis-cell .adf-datatable-content-cell,.cdk-drag-preview .adf-ellipsis-cell.adf-datatable-cell-header,.cdk-drag-preview .adf-ellipsis-cell .adf-datatable-content-cell{max-width:calc(100% - .1px);overflow:hidden;text-overflow:ellipsis}.adf-datatable-list .adf-ellipsis-cell.adf-datatable-cell-header .adf-datatable-cell-value,.adf-datatable-list .adf-ellipsis-cell .adf-datatable-content-cell .adf-datatable-cell-value,.cdk-drag-preview .adf-ellipsis-cell.adf-datatable-cell-header .adf-datatable-cell-value,.cdk-drag-preview .adf-ellipsis-cell .adf-datatable-content-cell .adf-datatable-cell-value{overflow:hidden;text-overflow:ellipsis}.adf-datatable-list .adf-ellipsis-cell .adf-datatable-content-cell,.cdk-drag-preview .adf-ellipsis-cell .adf-datatable-content-cell{overflow:unset}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.adf-datatable-list .adf-ellipsis-cell .adf-cell-value,.cdk-drag-preview .adf-ellipsis-cell .adf-cell-value{top:100%}}.adf-datatable-list .adf-ellipsis-cell>div:after,.cdk-drag-preview .adf-ellipsis-cell>div:after{content:attr(title);overflow:hidden;height:0;display:block}.adf-datatable-list .adf-no-content-container.adf-datatable-cell,.cdk-drag-preview .adf-no-content-container.adf-datatable-cell{padding:0;border:none;width:100%;justify-content:center}.adf-datatable-list .adf-no-content-container.adf-datatable-cell>img,.cdk-drag-preview .adf-no-content-container.adf-datatable-cell>img{width:100%}.adf-datatable-list .adf-loading-content-container,.cdk-drag-preview .adf-loading-content-container{padding:0;width:100%}.adf-datatable-list .adf-loading-content-container>img,.cdk-drag-preview .adf-loading-content-container>img{width:100%}.adf-datatable-list .adf-no-permission__row:hover,.cdk-drag-preview .adf-no-permission__row:hover{cursor:default;background-color:inherit}.adf-datatable-list .adf-no-permission__cell.adf-datatable-cell,.cdk-drag-preview .adf-no-permission__cell.adf-datatable-cell{padding:0}.adf-datatable-list .adf-hidden,.cdk-drag-preview .adf-hidden{display:none}@media all and (width <= 768px){.adf-datatable-list .adf-desktop-only.adf-ellipsis-cell,.cdk-drag-preview .adf-desktop-only.adf-ellipsis-cell{display:none}}@media (device-width <= 768px){.adf-datatable-list .adf-desktop-only.adf-ellipsis-cell,.cdk-drag-preview .adf-desktop-only.adf-ellipsis-cell{display:none}}.adf-datatable-cell-header{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:flex;align-items:center;text-overflow:ellipsis;font-weight:700;line-height:24px;letter-spacing:0;min-height:var(--theme-display-3-font-size);font-size:var(--theme-caption-font-size);color:var(--adf-theme-foreground-text-color);box-sizing:border-box}.adf-datatable-cell-header_subtitle{margin-left:3px;opacity:.6}.adf-datatable-cell-header.adf-sortable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center}.adf-datatable-cell-header .adf-datatable__header--sorted-asc,.adf-datatable-cell-header .adf-datatable__header--sorted-desc{color:var(--adf-theme-foreground-text-color);padding-right:.25rem}.adf-datatable-cell-header .adf-datatable__header--sorted-asc:after,.adf-datatable-cell-header .adf-datatable__header--sorted-desc:after{font-family:Material Icons;font-weight:400;font-style:normal;font-size:var(--theme-headline-font-size);line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;word-wrap:normal;font-feature-settings:\"liga\";font-size:var(--theme-subheading-2-font-size);content:\"\\e5d8\";left:5px;right:5px;position:relative;vertical-align:middle}.adf-datatable-cell-header .adf-datatable__header--sorted-desc:after{content:\"\\e5db\"}.adf-datatable-cell-header .adf-datatable-cell--fileSize.adf-datatable__header--sorted-asc:before,.adf-datatable-cell-header .adf-datatable-cell--fileSize.adf-datatable__header--sorted-desc:before{left:-3px;right:-3px}.adf-datatable-cell-header .adf-datatable-cell-header-content{display:flex;flex-grow:1;align-items:center;margin:0 2px;padding:0 8px}.adf-datatable-cell-header .adf-datatable-cell-header-content .adf-datatable-cell-header-drag-icon-placeholder{padding:0;margin:0}.adf-datatable-cell-header .adf-datatable-cell-header-content--hovered{background-color:var(--adf-theme-background-hover-color);border-radius:6px}.adf-datatable-cell-header .adf-datatable-cell-header-drag-icon{margin-left:auto;cursor:move;margin-right:-.5rem;padding-left:-.5rem}.adf-datatable-cell-header .adf-datatable-cell-header-drag-icon-visible{display:flex}.adf-datatable-cell-header .adf-datatable-cell-value{padding-top:10px;padding-bottom:10px;line-height:24px;word-break:break-word}.adf-drop-header-cell-placeholder{display:flex;flex:1;background:var(--adf-theme-background-hover-color);border:dotted 1px rgba(0,0,0,.25);min-height:55px;transition:transform .25s cubic-bezier(0,0,.2,1)}.adf-datatable-cell-header.adf-ellipsis-cell .adf-datatable-cell-header-content{white-space:nowrap;overflow:hidden}.adf-datatable-cell-header.adf-ellipsis-cell .adf-datatable-cell-header-content--hovered .adf-datatable-cell-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdk-drag-preview{min-height:var(--theme-display-3-font-size);display:flex;flex-direction:row;align-items:center;box-sizing:unset;background-color:var(--theme-background-color);border-top:2px solid var(--theme-selected-background-color);opacity:1}.cdk-drag-preview.adf-datatable-cell-header{border-radius:6px;background-color:var(--theme-background-color);transition:box-shadow .28s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.adf-checkbox-sr-only .mdc-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.adf-sticky-header{border-top:0;height:100%}.adf-sticky-header .adf-datatable-header{display:block;margin-right:0;border-top:1px solid var(--adf-theme-foreground-text-color-007);border-bottom:1px solid var(--adf-theme-foreground-text-color-007)}.adf-sticky-header .adf-datatable-body{display:block;flex:1;overflow:hidden auto;margin-top:-1px}.adf-upload__dragging>div{border-top:1px dashed var(--theme-accent-color-a200);border-bottom:1px dashed var(--theme-accent-color-a200)}.adf-upload__dragging>div:first-child{border-left:1px dashed var(--theme-accent-color-a200)}.adf-upload__dragging>div:last-child{border-right:1px dashed var(--theme-accent-color-a200)}.adf-datatable--empty{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;justify-content:center;align-items:center;height:inherit}.adf-datatable--empty .adf-datatable-body[role=rowgroup] .adf-datatable-row{height:100%;background-color:var(--adf-theme-background-card-color);border:none}.adf-datatable--empty .adf-datatable-body[role=rowgroup] .adf-datatable-row:hover,.adf-datatable--empty .adf-datatable-body[role=rowgroup] .adf-datatable-row:focus{background-color:unset;cursor:default}.adf-datatable--empty--header-visible .adf-datatable-header{border:1px solid var(--adf-theme-foreground-text-color-007)}.adf-datatable--empty--header-visible .adf-datatable-body{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;justify-content:center;align-items:center}.adf-datatable--empty--header-visible .adf-datatable-body .adf-datatable-row{height:100%;background-color:var(--adf-theme-background-card-color);border:none}.adf-datatable--empty--header-visible .adf-datatable-body .adf-datatable-row:hover,.adf-datatable--empty--header-visible .adf-datatable-body .adf-datatable-row:focus{background-color:unset;cursor:default}@media screen and (width <= 380px){.adf-datatable-header{max-height:50%}}\n"] }]
17083
+ ], encapsulation: ViewEncapsulation.None, host: { class: 'adf-datatable' }, template: "<div\n role=\"grid\"\n *ngIf=\"data\"\n class=\"adf-datatable-list\"\n [class.adf-sticky-header]=\"isStickyHeaderEnabled()\"\n [class.adf-datatable--empty]=\"(isEmpty() && !isHeaderVisible()) || loading\"\n [class.adf-datatable--empty--header-visible]=\"isEmpty() && isHeaderVisible()\"\n>\n <div *ngIf=\"isHeaderVisible()\" class=\"adf-datatable-header\" role=\"rowgroup\" [ngClass]=\"{ 'adf-sr-only': !isHeaderVisible() }\">\n <adf-datatable-row\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n [cdkDropListSortPredicate]=\"filterDisabledColumns\"\n data-automation-id=\"datatable-row-header\"\n [disabled]=\"!isHeaderVisible()\"\n class=\"adf-datatable-row\"\n role=\"row\">\n\n\n <!-- Drag -->\n <div *ngIf=\"enableDragRows\" class=\"adf-datatable-cell-header adf-drag-column\">\n <span class=\"adf-sr-only\">{{ 'ADF-DATATABLE.ACCESSIBILITY.DRAG' | translate }}</span>\n </div>\n\n <!-- Actions (left) -->\n <div *ngIf=\"actions && actionsPosition === 'left'\" class=\"adf-actions-column adf-datatable-cell-header\">\n <span class=\"adf-sr-only\">{{ 'ADF-DATATABLE.ACCESSIBILITY.ACTIONS' | translate }}</span>\n </div>\n\n <!-- Columns -->\n <div *ngIf=\"multiselect\" class=\"adf-datatable-cell-header adf-datatable-checkbox\">\n <mat-checkbox [indeterminate]=\"isSelectAllIndeterminate\"\n [checked]=\"isSelectAllChecked\"\n (change)=\"onSelectAllClick($event)\"\n class=\"adf-checkbox-sr-only\"\n [aria-label]=\"'ADF-DATATABLE.ACCESSIBILITY.SELECT_ALL' | translate\">\n {{ 'ADF-DATATABLE.ACCESSIBILITY.SELECT_ALL' | translate }}\n </mat-checkbox>\n </div>\n\n <ng-container\n *ngFor=\"\n let col of getVisibleColumns();\n let columnIndex = index\n let lastColumn = last\"\n >\n <div\n class=\"adf-datatable-cell--{{col.type || 'text'}} {{col.cssClass}} adf-datatable-cell-header adf-datatable-cell-data\"\n *ngIf=\"col.title || !showProvidedActions\"\n [attr.data-automation-id]=\"'auto_id_' + col.key\"\n [ngClass]=\"{\n 'adf-sortable': col.sortable,\n 'adf-datatable__cursor--pointer': !isResizing,\n 'adf-datatable__header--sorted-asc': isColumnSorted(col, 'asc'),\n 'adf-datatable__header--sorted-desc': isColumnSorted(col, 'desc')}\"\n [ngStyle]=\"(col.width) && !lastColumn && {'flex': getFlexValue(col)}\"\n [attr.aria-label]=\"col.srTitle ? (col.srTitle | translate) : (col.title | translate) + (col.subtitle ? ' ' + (col.subtitle | translate) : '')\"\n (click)=\"onColumnHeaderClick(col, $event)\"\n (keyup.enter)=\"onColumnHeaderClick(col, $event)\"\n role=\"columnheader\"\n [attr.tabindex]=\"isHeaderVisible() ? 0 : null\"\n [attr.aria-sort]=\"col.sortable ? (getAriaSort(col) | translate) : null\"\n cdkDrag\n cdkDragLockAxis=\"x\"\n (cdkDragStarted)=\"isDraggingHeaderColumn = true\"\n (cdkDragDropped)=\"onDropHeaderColumn($event)\"\n [cdkDragDisabled]=\"!col.draggable\"\n (mouseenter)=\"hoveredHeaderColumnIndex = columnIndex\"\n (mouseleave)=\"hoveredHeaderColumnIndex = -1\"\n adf-drop-zone dropTarget=\"header\"\n [dropColumn]=\"col\"\n >\n\n <div\n adf-resizable\n #resizableElement=\"adf-resizable\"\n [coverPadding]=\"10\"\n (resizing)=\"onResizing($event, columnIndex)\"\n (resizeStart)=\"resizingColumnIndex = columnIndex\"\n (resizeEnd)=\"onResizingEnd()\"\n [attr.data-automation-id]=\"'auto_header_content_id_' + col.key\"\n class=\"adf-datatable-cell-header-content\"\n [ngClass]=\"{ 'adf-datatable-cell-header-content--hovered':\n hoveredHeaderColumnIndex === columnIndex &&\n !isDraggingHeaderColumn &&\n !isResizing && col.sortable}\"\n >\n <ng-container *ngIf=\"!col.header\">\n <span\n *ngIf=\"col.title\"\n title=\"{{col.title | translate}}\"\n class=\"adf-datatable-cell-value\"\n >\n {{col.title | translate}}\n </span>\n\n <span\n *ngIf=\"col.subtitle\"\n title=\"{{col.subtitle | translate}}\"\n class=\"adf-datatable-cell-value adf-datatable-cell-header_subtitle\"\n >\n ({{col.subtitle | translate}})\n </span>\n\n <span *ngIf=\"col.title && col.sortable && isDraggingHeaderColumn\" class=\"adf-sr-only\" aria-live=\"polite\">\n {{ getSortLiveAnnouncement(col) | translate: { string: col.title | translate } }}\n </span>\n\n <span *ngIf=\"!col.title && !col.sortable && !headerFilterTemplate\" [attr.title]=\"'ADF-DATATABLE.ACCESSIBILITY.EMPTY_HEADER' | translate\"></span>\n </ng-container>\n\n <div *ngIf=\"col.header\" class=\"adf-datatable-cell-value\">\n <ng-template [ngTemplateOutlet]=\"col.header\" [ngTemplateOutletContext]=\"{$implicit: col}\" />\n </div>\n\n <span\n [class.adf-datatable__header--sorted-asc]=\"isColumnSorted(col, 'asc')\"\n [class.adf-datatable__header--sorted-desc]=\"isColumnSorted(col, 'desc')\">\n </span>\n\n <ng-template *ngIf=\"allowFiltering\" [ngTemplateOutlet]=\"headerFilterTemplate\" [ngTemplateOutletContext]=\"{$implicit: col}\" />\n\n <span\n *ngIf=\"col.draggable\"\n cdkDragHandle\n [ngClass]=\"{ 'adf-datatable-cell-header-drag-icon': !isResizing }\"\n >\n <adf-icon\n *ngIf=\"hoveredHeaderColumnIndex === columnIndex && !isResizing\"\n value=\"adf:drag_indicator\"\n class=\"adf-datatable-cell-header-drag-icon-visible\"\n [attr.data-automation-id]=\"'adf-datatable-cell-header-drag-icon-'+col.key\" />\n </span>\n </div>\n <div\n *ngIf=\"isResizingEnabled && col.resizable && !lastColumn\"\n [ngClass]=\"hoveredHeaderColumnIndex === columnIndex && !isResizing || resizingColumnIndex === columnIndex ? 'adf-datatable__resize-handle-visible' : 'adf-datatable__resize-handle-hidden'\"\n adf-resize-handle\n tabindex=\"0\"\n role=\"button\"\n (click)=\"$event.stopPropagation()\"\n (keyup.enter)=\"$event.stopPropagation()\"\n class=\"adf-datatable__resize-handle\"\n [resizableContainer]=\"resizableElement\">\n <div class=\"adf-datatable__resize-handle--divider\"></div>\n </div>\n <div class=\"adf-drop-header-cell-placeholder\" *cdkDragPlaceholder></div>\n </div>\n </ng-container>\n\n <!-- Header actions (right) -->\n <div\n *ngIf=\"(actions && actionsPosition === 'right') ||\n (mainActionTemplate && showMainDatatableActions)\"\n class=\"adf-actions-column adf-datatable-actions-menu adf-datatable-cell-header adf-datatable__actions-cell\"\n [class.adf-datatable-actions-menu-provided]=\"showProvidedActions\"\n >\n <ng-container *ngIf=\"mainActionTemplate\">\n <button\n data-automation-id=\"adf-datatable-main-menu-button\"\n title=\"{{ 'ADF-DATATABLE.CONTENT-ACTIONS.SELECT_COLUMNS' | translate }}\"\n mat-icon-button\n #mainMenuTrigger=\"matMenuTrigger\"\n (click)=\"onMainMenuOpen()\"\n [matMenuTriggerFor]=\"mainMenu\">\n <mat-icon>view_week_outline</mat-icon>\n </button>\n <mat-menu #mainMenu (closed)=\"onMainMenuClosed()\">\n <div #mainMenuTemplate role=\"presentation\" (keydown.tab)=\"$event.stopPropagation()\">\n <ng-container\n [ngTemplateOutlet]=\"mainActionTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: mainMenuTrigger\n }\" />\n </div>\n </mat-menu>\n <span class=\"adf-sr-only\">{{ 'ADF-DATATABLE.ACCESSIBILITY.ACTIONS' | translate }}</span>\n </ng-container>\n </div>\n\n </adf-datatable-row>\n </div>\n\n <div\n *ngIf=\"!loading; else loadingRowTemplate\"\n class=\"adf-datatable-body\"\n [ngClass]=\"{ 'adf-blur-datatable-body': blurOnResize && (isDraggingHeaderColumn || isResizing), 'adf-datatable-body__draggable': enableDragRows && !isDraggingRow, 'adf-datatable-body__dragging': isDraggingRow }\"\n cdkDropList\n [cdkDropListDisabled]=\"!enableDragRows\"\n role=\"rowgroup\">\n <ng-container *ngIf=\"!noPermission; else noPermissionsRowTemplate\">\n <adf-datatable-row *ngFor=\"let row of data.getRows(); let idx = index\"\n cdkDrag\n [cdkDragDisabled]=\"!enableDragRows\"\n (cdkDragDropped)=\"onDragDrop($event)\"\n (cdkDragStarted)=\"onDragStart()\"\n (cdkDragEnded)=\"onDragEnd()\"\n [cdkDragBoundary]=\"'.adf-datatable-body'\"\n [row]=\"row\"\n (select)=\"onEnterKeyPressed(row, $event)\"\n (keyup)=\"onRowKeyUp(row, $event)\"\n (keydown)=\"onRowEnterKeyDown(row, $event)\"\n [adf-upload]=\"rowAllowsDrop(row)\"\n [adf-upload-data]=\"row\"\n [ngStyle]=\"rowStyle\"\n [ngClass]=\"getRowStyle(row)\"\n [class.adf-datatable-row__dragging]=\"isDraggingRow\"\n [attr.data-automation-id]=\"'datatable-row-' + idx\"\n (contextmenu)=\"markRowAsContextMenuSource(row)\">\n <!-- Drag button -->\n <div *ngIf=\"enableDragRows\"\n role=\"gridcell\"\n class=\"adf-datatable-cell adf-datatable__actions-cell adf-datatable-hover-only\">\n <button mat-icon-button\n [attr.aria-label]=\"'ADF-DATATABLE.ACCESSIBILITY.DRAG' | translate\">\n <mat-icon>drag_indicator</mat-icon>\n </button>\n </div>\n\n <!-- Actions (left) -->\n <div *ngIf=\"actions && actionsPosition === 'left'\" role=\"gridcell\" class=\"adf-datatable-cell\">\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" #actionsMenuTrigger=\"matMenuTrigger\"\n [ngClass]=\"getHideActionsWithoutHoverClass(actionsMenuTrigger)\"\n [title]=\"'ADF-DATATABLE.CONTENT-ACTIONS.TOOLTIP' | translate\"\n [attr.id]=\"'action_menu_left_' + idx\"\n [attr.data-automation-id]=\"'action_menu_' + idx\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngFor=\"let action of getRowActions(row)\"\n [attr.data-automation-id]=\"action.title\"\n [disabled]=\"action.disabled\"\n (click)=\"onExecuteRowAction(row, action)\">\n <mat-icon *ngIf=\"action.icon\">{{ action.icon }}</mat-icon>\n <span>{{ action.title | translate }}</span>\n </button>\n </mat-menu>\n </div>\n\n <label *ngIf=\"multiselect\"\n (keydown.enter)=\"onEnterKeyPressed(row, $any($event))\"\n (click)=\"onCheckboxLabelClick(row, $event)\"\n [for]=\"'select-file-' + idx\"\n class=\"adf-datatable-cell adf-datatable-checkbox adf-datatable-checkbox-single\"\n tabindex=\"0\">\n <mat-checkbox\n [id]=\"'select-file-' + idx\"\n [disabled]=\"!row?.isSelectable\"\n [class.adf-datatable-checkbox-selected]=\"row.isSelected\"\n [class.adf-datatable-hover-only]=\"displayCheckboxesOnHover\"\n [checked]=\"row.isSelected\"\n [attr.aria-checked]=\"row.isSelected\"\n [aria-label]=\"'ADF-DATATABLE.ACCESSIBILITY.SELECT_FILE' | translate\"\n data-adf-datatable-row-checkbox\n (change)=\"onCheckboxChange(row, $event)\"\n (keydown.enter)=\"$event.stopPropagation()\"\n class=\"adf-checkbox-sr-only\"\n >\n {{ 'ADF-DATATABLE.ACCESSIBILITY.SELECT_FILE' | translate }}\n </mat-checkbox>\n </label>\n\n <div\n *ngFor=\"let col of getVisibleColumns(); let lastColumn = last;\"\n role=\"gridcell\"\n class=\"adf-datatable-cell adf-datatable-cell--{{col.type || 'text'}} {{col.cssClass}} adf-datatable-cell-data\"\n [attr.title]=\"col.title | translate\"\n [attr.data-automation-id]=\"getAutomationValue(row)\"\n [attr.aria-selected]=\"row.isSelected\"\n [attr.aria-label]=\"col.title ? (col.title | translate) : null\"\n (click)=\"onRowClick(row, $event)\"\n tabindex=\"0\"\n (keydown.enter)=\"onEnterKeyPressed(row, $any($event))\"\n [adf-context-menu]=\"getContextMenuActions(row, col)\"\n [adf-context-menu-enabled]=\"contextMenu\"\n adf-drop-zone dropTarget=\"cell\" [dropColumn]=\"col\" [dropRow]=\"row\"\n [ngStyle]=\"(col.width) && !lastColumn && {'flex': getFlexValue(col)}\"\n >\n <div *ngIf=\"!col.template\" class=\"adf-datatable-cell-container\">\n <ng-container [ngSwitch]=\"data.getColumnType(row, col)\">\n <div *ngSwitchCase=\"'image'\" class=\"adf-cell-value\">\n <mat-icon\n [attr.aria-label]=\"col.srTitle? (col.srTitle | translate) : null\"\n [attr.aria-hidden]=\"!asIconValue(row, col)\"\n *ngIf=\"isIconValue(row, col); else no_iconvalue\">\n {{ asIconValue(row, col) }}\n </mat-icon>\n <ng-template #no_iconvalue>\n <mat-icon class=\"adf-datatable-selected\"\n *ngIf=\"row.isSelected && !multiselect; else no_selected_row\" svgIcon=\"selected\" />\n <ng-template #no_selected_row>\n <img class=\"adf-datatable-center-img-ie\"\n [attr.aria-label]=\"(data.getValue(row, col) | fileType) === 'disable' ?\n ('ADF-DATATABLE.ACCESSIBILITY.ICON_DISABLED' | translate) :\n 'ADF-DATATABLE.ACCESSIBILITY.ICON_TEXT' | translate:{\n type: 'ADF-DATATABLE.FILE_TYPE.' + (data.getValue(row, col) | fileType | uppercase) | translate\n }\"\n [attr.alt]=\"(data.getValue(row, col) | fileType) === 'disable' ?\n ('ADF-DATATABLE.ACCESSIBILITY.ICON_DISABLED' | translate) :\n 'ADF-DATATABLE.ACCESSIBILITY.ICON_TEXT' | translate:{\n type: 'ADF-DATATABLE.FILE_TYPE.' + (data.getValue(row, col) | fileType | uppercase) | translate\n }\"\n src=\"{{ data.getValue(row, col) }}\"\n (error)=\"onImageLoadingError($event, row)\">\n </ng-template>\n </ng-template>\n </div>\n\n <div *ngSwitchCase=\"'icon'\" class=\"adf-cell-value\">\n <adf-icon-cell\n [data]=\"data\"\n [column]=\"col\"\n [row]=\"row\"\n [resolverFn]=\"resolverFn\"\n [tooltip]=\"getCellTooltip(row, col)\"\n />\n </div>\n <div\n *ngSwitchCase=\"'date'\"\n class=\"adf-cell-value adf-cell-date\"\n [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\"\n [attr.data-automation-id]=\"'date_' + (data.getValue(row, col, resolverFn) | adfLocalizedDate: 'medium') \">\n <adf-date-cell class=\"adf-datatable-center-date-column-ie\"\n [data]=\"data\"\n [column]=\"col\"\n [row]=\"row\"\n [resolverFn]=\"resolverFn\"\n [tooltip]=\"getCellTooltip(row, col)\"\n [dateConfig]=\"col.dateConfig\" />\n </div>\n\n <div *ngSwitchCase=\"'location'\" [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\" class=\"adf-cell-value\"\n [attr.data-automation-id]=\"'location' + data.getValue(row, col, resolverFn)\">\n <adf-location-cell\n [data]=\"data\"\n [column]=\"col\"\n [row]=\"row\"\n [resolverFn]=\"resolverFn\"\n [tooltip]=\"getCellTooltip(row, col)\" />\n </div>\n <div *ngSwitchCase=\"'fileSize'\" [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\" class=\"adf-cell-value\"\n [attr.data-automation-id]=\"'fileSize_' + data.getValue(row, col, resolverFn)\">\n <adf-filesize-cell class=\"adf-datatable-center-size-column-ie\"\n [data]=\"data\"\n [column]=\"col\"\n [row]=\"row\"\n [resolverFn]=\"resolverFn\"\n [tooltip]=\"getCellTooltip(row, col)\" />\n </div>\n <div *ngSwitchCase=\"'text'\" [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\" class=\"adf-cell-value\"\n [attr.data-automation-id]=\"'text_' + data.getValue(row, col, resolverFn)\">\n <adf-datatable-cell\n [copyContent]=\"col.copyContent\"\n [data]=\"data\"\n [column]=\"col\"\n [row]=\"row\"\n [resolverFn]=\"resolverFn\"\n [tooltip]=\"getCellTooltip(row, col)\" />\n </div>\n <div *ngSwitchCase=\"'boolean'\" [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\" class=\"adf-cell-value\"\n [attr.data-automation-id]=\"'boolean_' + data.getValue(row, col, resolverFn)\">\n <adf-boolean-cell\n [data]=\"data\"\n [column]=\"col\"\n [row]=\"row\"\n [resolverFn]=\"resolverFn\"\n [tooltip]=\"getCellTooltip(row, col)\" />\n </div>\n <div *ngSwitchCase=\"'json'\" [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\" class=\"adf-cell-value\">\n <adf-json-cell\n [editable]=\"col.editable\"\n [data]=\"data\"\n [column]=\"col\"\n [resolverFn]=\"resolverFn\"\n [row]=\"row\" />\n </div>\n <div *ngSwitchCase=\"'amount'\"\n class=\"adf-cell-value\"\n [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\"\n [attr.data-automation-id]=\"'amount_' + data.getValue(row, col, resolverFn)\">\n <adf-amount-cell\n [data]=\"data\"\n [column]=\"col\"\n [resolverFn]=\"resolverFn\"\n [row]=\"row\"\n [currencyConfig]=\"col.currencyConfig\" />\n </div>\n <div *ngSwitchCase=\"'number'\"\n class=\"adf-cell-value\"\n [attr.tabindex]=\"data.getValue(row, col, resolverFn)? 0 : -1\"\n [attr.data-automation-id]=\"'number_' + data.getValue(row, col, resolverFn)\">\n <adf-number-cell\n [data]=\"data\"\n [column]=\"col\"\n [resolverFn]=\"resolverFn\"\n [row]=\"row\"\n [decimalConfig]=\"col.decimalConfig\" />\n </div>\n <span *ngSwitchDefault class=\"adf-cell-value\">\n <!-- empty cell for unknown column type -->\n </span>\n </ng-container>\n </div>\n <div *ngIf=\"col.template\" class=\"adf-datatable-cell-container\">\n <div class=\"adf-cell-value\" [attr.tabindex]=\"col.focus ? 0 : null\">\n <ng-container\n [ngTemplateOutlet]=\"col.template\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data, row: row, col: col }, value: data.getValue(row, col, resolverFn) }\" />\n </div>\n </div>\n </div>\n\n <!-- Row actions (right) -->\n <div *ngIf=\"\n !showProvidedActions &&\n ((actions && actionsPosition === 'right') ||\n (mainActionTemplate && showMainDatatableActions))\"\n role=\"gridcell\"\n tabindex=\"0\"\n class=\"adf-datatable-cell adf-datatable__actions-cell adf-datatable-center-actions-column-ie adf-datatable-actions-menu\">\n\n <ng-container *ngIf=\"(actions && actionsPosition === 'right')\">\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" #actionsMenuTrigger=\"matMenuTrigger\"\n [ngClass]=\"getHideActionsWithoutHoverClass(actionsMenuTrigger)\"\n [attr.aria-label]=\"'ADF-DATATABLE.ACCESSIBILITY.ROW_OPTION_BUTTON' | translate\"\n [title]=\"'ADF-DATATABLE.CONTENT-ACTIONS.TOOLTIP' | translate\"\n [attr.id]=\"'action_menu_right_' + idx\"\n [attr.data-automation-id]=\"'action_menu_' + idx\"\n (keydown.enter)=\"actionsMenuTrigger.openMenu()\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngFor=\"let action of getRowActions(row)\"\n [attr.data-automation-id]=\"action.title\"\n [attr.aria-label]=\"action.title | translate\"\n [disabled]=\"action.disabled\"\n (click)=\"onExecuteRowAction(row, action)\">\n <mat-icon *ngIf=\"action.icon\">{{ action.icon }}</mat-icon>\n <span>{{ action.title | translate }}</span>\n </button>\n </mat-menu>\n </ng-container>\n </div>\n </adf-datatable-row>\n <div *ngIf=\"isEmpty()\" role=\"row\" class=\"adf-datatable-row\">\n <div class=\"adf-no-content-container adf-datatable-cell\" role=\"gridcell\">\n <ng-template *ngIf=\"noContentTemplate\"\n ngFor [ngForOf]=\"[data]\"\n [ngForTemplate]=\"noContentTemplate\" />\n <ng-content select=\"adf-empty-list\" />\n </div>\n </div>\n </ng-container>\n\n <ng-template #noPermissionsRowTemplate>\n <div\n role=\"row\"\n class=\"adf-datatable-row adf-no-permission__row\">\n <div class=\"adf-no-permission__cell adf-no-content-container adf-datatable-cell\">\n <ng-template *ngIf=\"noPermissionTemplate\"\n ngFor [ngForOf]=\"[data]\"\n [ngForTemplate]=\"noPermissionTemplate\" />\n </div>\n </div>\n </ng-template>\n </div>\n <ng-template #loadingRowTemplate>\n <div class=\"adf-datatable-row adf-datatable-data-loading\">\n <div class=\"adf-no-content-container adf-datatable-cell\">\n <ng-template *ngIf=\"loadingTemplate\"\n ngFor [ngForOf]=\"[data]\"\n [ngForTemplate]=\"loadingTemplate\" />\n </div>\n </div>\n </ng-template>\n</div>\n", styles: [".adf-datatable{overflow-y:scroll;height:100%;display:block}.adf-datatable .adf-full-width{width:100%}.adf-datatable__resize-handle{padding:0 2px}.adf-datatable__resize-handle-visible{visibility:visible}.adf-datatable__resize-handle-hidden{visibility:hidden}.adf-datatable__resize-handle--divider{padding:24px 0;border:1px solid var(--adf-theme-foreground-text-color-007)}.adf-datatable__resize-handle:hover{cursor:col-resize}.adf-datatable__cursor--pointer:hover{cursor:pointer}.adf-datatable-list,.cdk-drag-preview{display:flex;flex-direction:column;background-color:var(--adf-theme-background-card-color);border:1px solid var(--adf-theme-foreground-text-color-007);box-sizing:border-box;overflow-x:auto}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.adf-datatable-list .adf-datatable-center-size-column-ie,.cdk-drag-preview .adf-datatable-center-size-column-ie{padding-top:17px}.adf-datatable-list .adf-datatable__actions-cell.adf-datatable-center-actions-column-ie,.cdk-drag-preview .adf-datatable__actions-cell.adf-datatable-center-actions-column-ie{padding-top:7px}.adf-datatable-list .adf-cell-date.adf-datatable-center-date-column-ie,.cdk-drag-preview .adf-cell-date.adf-datatable-center-date-column-ie{position:relative}.adf-datatable-list .adf-cell-date.adf-datatable-center-date-column-ie .adf-datatable-cell-value,.cdk-drag-preview .adf-cell-date.adf-datatable-center-date-column-ie .adf-datatable-cell-value{width:100%}.adf-datatable-list .adf-datatable-center-img-ie,.cdk-drag-preview .adf-datatable-center-img-ie{padding:0;min-width:0;width:24px;height:56px}}.adf-datatable-list .adf-datatable-header,.cdk-drag-preview .adf-datatable-header{display:flex;flex-direction:column;width:fit-content;min-width:100%;box-sizing:border-box}.adf-datatable-list .adf-datatable-header .adf-datatable-row,.cdk-drag-preview .adf-datatable-header .adf-datatable-row{padding-right:15px}.adf-datatable-list .adf-datatable-header .adf-datatable-row:hover,.adf-datatable-list .adf-datatable-header .adf-datatable-row:focus,.cdk-drag-preview .adf-datatable-header .adf-datatable-row:hover,.cdk-drag-preview .adf-datatable-header .adf-datatable-row:focus{background-color:inherit}.adf-datatable-list .adf-datatable-row:not(.adf-datatable-data-loading):hover,.adf-datatable-list .adf-datatable-row:not(.adf-datatable-data-loading):focus,.cdk-drag-preview .adf-datatable-row:not(.adf-datatable-data-loading):hover,.cdk-drag-preview .adf-datatable-row:not(.adf-datatable-data-loading):focus{background-color:var(--adf-theme-background-hover-color)}.adf-datatable-list .adf-datatable-row:focus,.cdk-drag-preview .adf-datatable-row:focus{outline-offset:-1px;outline:1px solid var(--theme-accent-color-a200)}.adf-datatable-list .adf-datatable-row .adf-cell-value:focus,.adf-datatable-list .adf-datatable-row .adf-datatable-cell-header:focus,.cdk-drag-preview .adf-datatable-row .adf-cell-value:focus,.cdk-drag-preview .adf-datatable-row .adf-datatable-cell-header:focus{outline-offset:-1px;outline:1px solid var(--theme-accent-color-a200)}.adf-datatable-list .adf-blur-datatable-body,.cdk-drag-preview .adf-blur-datatable-body{filter:blur(3px)}.adf-datatable-list .adf-datatable-body,.cdk-drag-preview .adf-datatable-body{display:flex;flex-direction:column;background-color:inherit;width:100%;min-width:100%}.adf-datatable-list .adf-datatable-body.adf-datatable-body__draggable,.cdk-drag-preview .adf-datatable-body.adf-datatable-body__draggable{cursor:grab}.adf-datatable-list .adf-datatable-body.adf-datatable-body__dragging,.cdk-drag-preview .adf-datatable-body.adf-datatable-body__dragging{cursor:grabbing}.adf-datatable-list .adf-datatable-body .adf-datatable-row,.cdk-drag-preview .adf-datatable-body .adf-datatable-row{transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:background-color;border-top:1px solid var(--adf-theme-foreground-text-color-007);min-height:var(--theme-display-3-font-size);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.adf-datatable-list .adf-datatable-body .adf-datatable-row.adf-is-selected,.adf-datatable-list .adf-datatable-body .adf-datatable-row.adf-is-selected:hover,.cdk-drag-preview .adf-datatable-body .adf-datatable-row.adf-is-selected,.cdk-drag-preview .adf-datatable-body .adf-datatable-row.adf-is-selected:hover{background-color:var(--adf-theme-background-selected-button-color)}.adf-datatable-list .adf-datatable-body .adf-datatable-row.adf-drag-row,.cdk-drag-preview .adf-datatable-body .adf-datatable-row.adf-drag-row{cursor:grab}.adf-datatable-list .adf-datatable-body .adf-datatable-row:last-child,.cdk-drag-preview .adf-datatable-body .adf-datatable-row:last-child{border-bottom:1px solid var(--adf-theme-foreground-text-color-007)}.adf-datatable-list .adf-datatable-body .adf-datatable-row label,.cdk-drag-preview .adf-datatable-body .adf-datatable-row label{cursor:inherit}.adf-datatable-list .adf-datatable-row,.cdk-drag-preview .adf-datatable-row{display:flex;align-items:center}.adf-datatable-list .adf-datatable-row:hover .adf-datatable-hover-only,.cdk-drag-preview .adf-datatable-row:hover .adf-datatable-hover-only{visibility:visible}.adf-datatable-list .adf-datatable-row .adf-datatable-hover-only,.cdk-drag-preview .adf-datatable-row .adf-datatable-hover-only{visibility:hidden}.adf-datatable-list .adf-datatable-row .adf-datatable-hover-only.adf-datatable-checkbox-selected,.cdk-drag-preview .adf-datatable-row .adf-datatable-hover-only.adf-datatable-checkbox-selected{visibility:visible}.adf-datatable-list .adf-datatable-row .adf-datatable-checkbox,.cdk-drag-preview .adf-datatable-row .adf-datatable-checkbox{max-width:65px;width:65px}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.adf-datatable-list .adf-datatable-row .adf-datatable-checkbox,.cdk-drag-preview .adf-datatable-row .adf-datatable-checkbox{padding-top:15px}}.adf-datatable-list .adf-datatable-cell,.adf-datatable-list .adf-datatable-cell-header,.cdk-drag-preview .adf-datatable-cell,.cdk-drag-preview .adf-datatable-cell-header{text-align:left;box-sizing:border-box;min-width:65px}.adf-datatable-list .adf-datatable-cell--text,.adf-datatable-list .adf-datatable-cell-header--text,.cdk-drag-preview .adf-datatable-cell--text,.cdk-drag-preview .adf-datatable-cell-header--text{text-align:left;position:relative}.adf-datatable-list .adf-datatable-cell--date,.adf-datatable-list .adf-datatable-cell-header--date,.cdk-drag-preview .adf-datatable-cell--date,.cdk-drag-preview .adf-datatable-cell-header--date{text-align:left}.adf-datatable-list .adf-datatable-cell--number,.adf-datatable-list .adf-datatable-cell-header--number,.cdk-drag-preview .adf-datatable-cell--number,.cdk-drag-preview .adf-datatable-cell-header--number{text-align:right}.adf-datatable-list .adf-datatable-cell--image,.adf-datatable-list .adf-datatable-cell--icon,.adf-datatable-list .adf-datatable-cell-header--image,.adf-datatable-list .adf-datatable-cell-header--icon,.cdk-drag-preview .adf-datatable-cell--image,.cdk-drag-preview .adf-datatable-cell--icon,.cdk-drag-preview .adf-datatable-cell-header--image,.cdk-drag-preview .adf-datatable-cell-header--icon{padding-left:24px;padding-right:24px;width:65px;min-width:65px;text-align:left}.adf-datatable-list .adf-datatable-cell--fileSize,.adf-datatable-list .adf-datatable-cell-header--fileSize,.cdk-drag-preview .adf-datatable-cell--fileSize,.cdk-drag-preview .adf-datatable-cell-header--fileSize{min-width:65px}.adf-datatable-list .adf-datatable-cell button .mat-icon,.adf-datatable-list .adf-datatable-cell-header button .mat-icon,.cdk-drag-preview .adf-datatable-cell button .mat-icon,.cdk-drag-preview .adf-datatable-cell-header button .mat-icon{margin-top:-10px}.adf-datatable-list .adf-datatable-cell-header.adf-expand-cell-1,.adf-datatable-list .adf-datatable-cell.adf-expand-cell-1,.cdk-drag-preview .adf-datatable-cell-header.adf-expand-cell-1,.cdk-drag-preview .adf-datatable-cell.adf-expand-cell-1{flex-grow:1}.adf-datatable-list .adf-datatable-cell-header.adf-expand-cell-2,.adf-datatable-list .adf-datatable-cell.adf-expand-cell-2,.cdk-drag-preview .adf-datatable-cell-header.adf-expand-cell-2,.cdk-drag-preview .adf-datatable-cell.adf-expand-cell-2{flex-grow:2}.adf-datatable-list .adf-datatable-cell-header.adf-expand-cell-3,.adf-datatable-list .adf-datatable-cell.adf-expand-cell-3,.cdk-drag-preview .adf-datatable-cell-header.adf-expand-cell-3,.cdk-drag-preview .adf-datatable-cell.adf-expand-cell-3{flex-grow:3}.adf-datatable-list .adf-datatable-cell-header.adf-expand-cell-4,.adf-datatable-list .adf-datatable-cell.adf-expand-cell-4,.cdk-drag-preview .adf-datatable-cell-header.adf-expand-cell-4,.cdk-drag-preview .adf-datatable-cell.adf-expand-cell-4{flex-grow:4}.adf-datatable-list .adf-datatable-cell-header.adf-expand-cell-5,.adf-datatable-list .adf-datatable-cell.adf-expand-cell-5,.cdk-drag-preview .adf-datatable-cell-header.adf-expand-cell-5,.cdk-drag-preview .adf-datatable-cell.adf-expand-cell-5{flex-grow:5}.adf-datatable-list .adf-datatable-cell-header.adf-no-grow-cell,.adf-datatable-list .adf-datatable-cell.adf-no-grow-cell,.cdk-drag-preview .adf-datatable-cell-header.adf-no-grow-cell,.cdk-drag-preview .adf-datatable-cell.adf-no-grow-cell{flex-grow:0;min-width:100px}.adf-datatable-list .adf-datatable-cell-header.adf-min-width-cell,.adf-datatable-list .adf-datatable-cell.adf-min-width-cell,.cdk-drag-preview .adf-datatable-cell-header.adf-min-width-cell,.cdk-drag-preview .adf-datatable-cell.adf-min-width-cell{min-width:110px}.adf-datatable-list .adf-datatable-cell,.cdk-drag-preview .adf-datatable-cell{color:var(--adf-theme-foreground-text-color);min-height:inherit}.adf-datatable-list .adf-datatable-cell,.adf-datatable-list .adf-datatable-cell-header,.cdk-drag-preview .adf-datatable-cell,.cdk-drag-preview .adf-datatable-cell-header{flex:1;padding:0;align-items:center;display:flex;align-self:stretch}.adf-datatable-list .adf-datatable-cell:first-child,.adf-datatable-list .adf-datatable-cell-header:first-child,.cdk-drag-preview .adf-datatable-cell:first-child,.cdk-drag-preview .adf-datatable-cell-header:first-child{margin-left:15px;box-sizing:content-box}.adf-datatable-list .adf-datatable-cell.adf-drag-column,.adf-datatable-list .adf-datatable-cell-header.adf-drag-column,.cdk-drag-preview .adf-datatable-cell.adf-drag-column,.cdk-drag-preview .adf-datatable-cell-header.adf-drag-column{flex:0}.adf-datatable-list .adf-datatable-cell .adf-datatable-cell-container,.adf-datatable-list .adf-datatable-cell-header .adf-datatable-cell-container,.cdk-drag-preview .adf-datatable-cell .adf-datatable-cell-container,.cdk-drag-preview .adf-datatable-cell-header .adf-datatable-cell-container{overflow:hidden;min-height:inherit;align-items:center;display:flex;width:100%;padding:0 10px}.adf-datatable-list .adf-datatable-cell .adf-datatable-cell-value,.adf-datatable-list .adf-datatable-cell-header .adf-datatable-cell-value,.cdk-drag-preview .adf-datatable-cell .adf-datatable-cell-value,.cdk-drag-preview .adf-datatable-cell-header .adf-datatable-cell-value{word-break:break-word;display:block}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.adf-datatable-list .adf-datatable-cell .adf-datatable-cell-value,.adf-datatable-list .adf-datatable-cell-header .adf-datatable-cell-value,.cdk-drag-preview .adf-datatable-cell .adf-datatable-cell-value,.cdk-drag-preview .adf-datatable-cell-header .adf-datatable-cell-value{padding:17px 10px 10px}}.adf-datatable-list .adf-datatable-row .adf-datatable-actions-menu,.cdk-drag-preview .adf-datatable-row .adf-datatable-actions-menu{margin-left:auto;justify-content:end;padding-right:15px}.adf-datatable-list .adf-datatable-row .adf-datatable-actions-menu:focus-visible .adf-datatable-hide-actions-without-hover,.adf-datatable-list .adf-datatable-row .adf-datatable-actions-menu:focus-within .adf-datatable-hide-actions-without-hover,.cdk-drag-preview .adf-datatable-row .adf-datatable-actions-menu:focus-visible .adf-datatable-hide-actions-without-hover,.cdk-drag-preview .adf-datatable-row .adf-datatable-actions-menu:focus-within .adf-datatable-hide-actions-without-hover{visibility:visible}.adf-datatable-list .adf-datatable-row .adf-datatable-actions-menu-provided,.cdk-drag-preview .adf-datatable-row .adf-datatable-actions-menu-provided{max-width:100px!important;justify-content:center;padding-right:0}.adf-datatable-list .adf-datatable-checkbox,.cdk-drag-preview .adf-datatable-checkbox{display:flex;justify-content:center}.adf-datatable-list .adf-cell-value,.cdk-drag-preview .adf-cell-value{display:flex;min-height:inherit;align-items:center;word-break:break-all;width:100%}.adf-datatable-list .adf-datatable__actions-cell,.adf-datatable-list .adf-datatable-cell--image,.cdk-drag-preview .adf-datatable__actions-cell,.cdk-drag-preview .adf-datatable-cell--image{max-width:65px;display:flex}.adf-datatable-list .adf-datatable__actions-cell .adf-cell-value,.adf-datatable-list .adf-datatable-cell--image .adf-cell-value,.cdk-drag-preview .adf-datatable__actions-cell .adf-cell-value,.cdk-drag-preview .adf-datatable-cell--image .adf-cell-value{width:unset}.adf-datatable-list .adf-datatable-row:not(:hover) .adf-datatable-hide-actions-without-hover,.cdk-drag-preview .adf-datatable-row:not(:hover) .adf-datatable-hide-actions-without-hover{visibility:hidden}.adf-datatable-list .adf-datatable-cell--image,.cdk-drag-preview .adf-datatable-cell--image{max-width:65px}.adf-datatable-list .adf-location-cell a,.cdk-drag-preview .adf-location-cell a{text-decoration:none;color:var(--adf-theme-foreground-text-color)}.adf-datatable-list .adf-location-cell a:hover,.cdk-drag-preview .adf-location-cell a:hover{color:var(--theme-accent-500);text-decoration:underline}.adf-datatable-list .adf-sr-only,.cdk-drag-preview .adf-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.adf-datatable-list .adf-is-selected,.cdk-drag-preview .adf-is-selected{background:var(--adf-theme-primary-100)}.adf-datatable-list .adf-datatable-link,.cdk-drag-preview .adf-datatable-link{text-decoration:none;color:var(--adf-theme-foreground-text-color)}.adf-datatable-list .adf-datatable-link:hover,.cdk-drag-preview .adf-datatable-link:hover{color:var(--theme-accent-500);text-decoration:underline}.adf-datatable-list .adf-dynamic-column .adf-datatable-link:hover,.cdk-drag-preview .adf-dynamic-column .adf-datatable-link:hover{text-decoration:none}.adf-datatable-list .adf-dynamic-column .adf-datatable-link:hover .adf-datatable-cell-value,.cdk-drag-preview .adf-dynamic-column .adf-datatable-link:hover .adf-datatable-cell-value{text-decoration:underline}.adf-datatable-list .adf-ellipsis-cell,.cdk-drag-preview .adf-ellipsis-cell{position:sticky;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.adf-datatable-list .adf-ellipsis-cell.adf-datatable-cell-header,.adf-datatable-list .adf-ellipsis-cell .adf-datatable-content-cell,.cdk-drag-preview .adf-ellipsis-cell.adf-datatable-cell-header,.cdk-drag-preview .adf-ellipsis-cell .adf-datatable-content-cell{max-width:calc(100% - .1px);overflow:hidden;text-overflow:ellipsis}.adf-datatable-list .adf-ellipsis-cell.adf-datatable-cell-header .adf-datatable-cell-value,.adf-datatable-list .adf-ellipsis-cell .adf-datatable-content-cell .adf-datatable-cell-value,.cdk-drag-preview .adf-ellipsis-cell.adf-datatable-cell-header .adf-datatable-cell-value,.cdk-drag-preview .adf-ellipsis-cell .adf-datatable-content-cell .adf-datatable-cell-value{overflow:hidden;text-overflow:ellipsis}.adf-datatable-list .adf-ellipsis-cell .adf-datatable-content-cell,.cdk-drag-preview .adf-ellipsis-cell .adf-datatable-content-cell{overflow:unset}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.adf-datatable-list .adf-ellipsis-cell .adf-cell-value,.cdk-drag-preview .adf-ellipsis-cell .adf-cell-value{top:100%}}.adf-datatable-list .adf-ellipsis-cell>div:after,.cdk-drag-preview .adf-ellipsis-cell>div:after{content:attr(title);overflow:hidden;height:0;display:block}.adf-datatable-list .adf-no-content-container.adf-datatable-cell,.cdk-drag-preview .adf-no-content-container.adf-datatable-cell{padding:0;border:none;width:100%;justify-content:center}.adf-datatable-list .adf-no-content-container.adf-datatable-cell>img,.cdk-drag-preview .adf-no-content-container.adf-datatable-cell>img{width:100%}.adf-datatable-list .adf-loading-content-container,.cdk-drag-preview .adf-loading-content-container{padding:0;width:100%}.adf-datatable-list .adf-loading-content-container>img,.cdk-drag-preview .adf-loading-content-container>img{width:100%}.adf-datatable-list .adf-no-permission__row:hover,.cdk-drag-preview .adf-no-permission__row:hover{cursor:default;background-color:inherit}.adf-datatable-list .adf-no-permission__cell.adf-datatable-cell,.cdk-drag-preview .adf-no-permission__cell.adf-datatable-cell{padding:0}.adf-datatable-list .adf-hidden,.cdk-drag-preview .adf-hidden{display:none}@media all and (width <= 768px){.adf-datatable-list .adf-desktop-only.adf-ellipsis-cell,.cdk-drag-preview .adf-desktop-only.adf-ellipsis-cell{display:none}}@media (device-width <= 768px){.adf-datatable-list .adf-desktop-only.adf-ellipsis-cell,.cdk-drag-preview .adf-desktop-only.adf-ellipsis-cell{display:none}}.adf-datatable-cell-header{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:flex;align-items:center;text-overflow:ellipsis;font-weight:700;line-height:24px;letter-spacing:0;min-height:var(--theme-display-3-font-size);font-size:var(--theme-caption-font-size);color:var(--adf-theme-foreground-text-color);box-sizing:border-box}.adf-datatable-cell-header_subtitle{margin-left:3px;opacity:.6}.adf-datatable-cell-header.adf-sortable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center}.adf-datatable-cell-header .adf-datatable__header--sorted-asc,.adf-datatable-cell-header .adf-datatable__header--sorted-desc{color:var(--adf-theme-foreground-text-color);padding-right:.25rem}.adf-datatable-cell-header .adf-datatable__header--sorted-asc:after,.adf-datatable-cell-header .adf-datatable__header--sorted-desc:after{font-family:Material Icons;font-weight:400;font-style:normal;font-size:var(--theme-headline-font-size);line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;word-wrap:normal;font-feature-settings:\"liga\";font-size:var(--theme-subheading-2-font-size);content:\"\\e5d8\";left:5px;right:5px;position:relative;vertical-align:middle}.adf-datatable-cell-header .adf-datatable__header--sorted-desc:after{content:\"\\e5db\"}.adf-datatable-cell-header .adf-datatable-cell--fileSize.adf-datatable__header--sorted-asc:before,.adf-datatable-cell-header .adf-datatable-cell--fileSize.adf-datatable__header--sorted-desc:before{left:-3px;right:-3px}.adf-datatable-cell-header .adf-datatable-cell-header-content{display:flex;flex-grow:1;align-items:center;margin:0 2px;padding:0 8px}.adf-datatable-cell-header .adf-datatable-cell-header-content .adf-datatable-cell-header-drag-icon-placeholder{padding:0;margin:0}.adf-datatable-cell-header .adf-datatable-cell-header-content--hovered{background-color:var(--adf-theme-background-hover-color);border-radius:6px}.adf-datatable-cell-header .adf-datatable-cell-header-drag-icon{margin-left:auto;cursor:move;margin-right:-.5rem;padding-left:-.5rem}.adf-datatable-cell-header .adf-datatable-cell-header-drag-icon-visible{display:flex}.adf-datatable-cell-header .adf-datatable-cell-value{padding-top:10px;padding-bottom:10px;line-height:24px;word-break:break-word}.adf-drop-header-cell-placeholder{display:flex;flex:1;background:var(--adf-theme-background-hover-color);border:dotted 1px rgba(0,0,0,.25);min-height:55px;transition:transform .25s cubic-bezier(0,0,.2,1)}.adf-datatable-cell-header.adf-ellipsis-cell .adf-datatable-cell-header-content{white-space:nowrap;overflow:hidden}.adf-datatable-cell-header.adf-ellipsis-cell .adf-datatable-cell-header-content--hovered .adf-datatable-cell-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdk-drag-preview{min-height:var(--theme-display-3-font-size);display:flex;flex-direction:row;align-items:center;box-sizing:unset;background-color:var(--theme-background-color);border-top:2px solid var(--theme-selected-background-color);opacity:1}.cdk-drag-preview.adf-datatable-cell-header{border-radius:6px;background-color:var(--theme-background-color);transition:box-shadow .28s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.adf-checkbox-sr-only .mdc-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.adf-sticky-header{border-top:0;height:100%}.adf-sticky-header .adf-datatable-header{display:block;margin-right:0;border-top:1px solid var(--adf-theme-foreground-text-color-007);border-bottom:1px solid var(--adf-theme-foreground-text-color-007)}.adf-sticky-header .adf-datatable-body{display:block;flex:1;overflow:hidden auto;margin-top:-1px}.adf-upload__dragging>div{border-top:1px dashed var(--theme-accent-color-a200);border-bottom:1px dashed var(--theme-accent-color-a200)}.adf-upload__dragging>div:first-child{border-left:1px dashed var(--theme-accent-color-a200)}.adf-upload__dragging>div:last-child{border-right:1px dashed var(--theme-accent-color-a200)}.adf-datatable--empty{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;justify-content:center;align-items:center;height:inherit}.adf-datatable--empty .adf-datatable-body[role=rowgroup] .adf-datatable-row{height:100%;background-color:var(--adf-theme-background-card-color);border:none}.adf-datatable--empty .adf-datatable-body[role=rowgroup] .adf-datatable-row:hover,.adf-datatable--empty .adf-datatable-body[role=rowgroup] .adf-datatable-row:focus{background-color:unset;cursor:default}.adf-datatable--empty--header-visible .adf-datatable-header{border:1px solid var(--adf-theme-foreground-text-color-007)}.adf-datatable--empty--header-visible .adf-datatable-body{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;justify-content:center;align-items:center}.adf-datatable--empty--header-visible .adf-datatable-body .adf-datatable-row{height:100%;background-color:var(--adf-theme-background-card-color);border:none}.adf-datatable--empty--header-visible .adf-datatable-body .adf-datatable-row:hover,.adf-datatable--empty--header-visible .adf-datatable-body .adf-datatable-row:focus{background-color:unset;cursor:default}@media screen and (width <= 380px){.adf-datatable-header{max-height:50%}}\n"] }]
17253
17084
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.IterableDiffers }, { type: i1$3.MatIconRegistry }, { type: i1$5.DomSanitizer }, { type: i3$2.ConfigurableFocusTrapFactory }], propDecorators: { rowsList: [{
17254
17085
  type: ViewChildren,
17255
17086
  args: [DataTableRowComponent]
@@ -18316,7 +18147,7 @@ class CardViewTextItemComponent extends BaseCardView {
18316
18147
  return String(Math.trunc(Number(value)));
18317
18148
  }
18318
18149
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CardViewTextItemComponent, deps: [{ token: ClipboardService }, { token: TranslationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
18319
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: CardViewTextItemComponent, isStandalone: true, selector: "adf-card-view-textitem", inputs: { displayEmpty: "displayEmpty", copyToClipboardAction: "copyToClipboardAction", useChipsForMultiValueProperty: "useChipsForMultiValueProperty", multiValueSeparator: "multiValueSeparator", displayLabelForChips: "displayLabelForChips" }, host: { classAttribute: "adf-card-view-textitem" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div [ngSwitch]=\"templateType\">\n <div *ngSwitchDefault>\n <mat-form-field\n subscriptSizing=\"dynamic\"\n [floatLabel]=\"'always'\"\n class=\"adf-property-field adf-card-textitem-field\"\n [ngClass]=\"{\n 'adf-property-read-only': !isEditable\n }\"\n >\n <mat-label\n *ngIf=\"showProperty || isEditable\"\n [attr.data-automation-id]=\"'card-textitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >\n {{ property.label | translate }}\n </mat-label>\n\n <input\n matInput\n *ngIf=\"!property.multiline\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty,\n 'adf-property-value-has-error': isEditable && hasErrors,\n 'adf-property-value-not-editable': !editable\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"textInput\"\n (dblclick)=\"copyToClipboard(property.displayValue)\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n [attr.data-automation-id]=\"'card-textitem-value-' + property.key\"\n (keydown)=\"undoText($event)\"\n />\n <textarea\n matInput\n *ngIf=\"property.multiline\"\n title=\"{{ property.label | translate }}\"\n [cdkTextareaAutosize]=\"true\"\n [cdkAutosizeMinRows]=\"1\"\n [cdkAutosizeMaxRows]=\"5\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"textInput\"\n [attr.data-automation-id]=\"'card-textitem-value-' + property.key\"\n >\n </textarea>\n </mat-form-field>\n </div>\n\n <div\n *ngSwitchCase=\"'chipsTemplate'\"\n class=\"adf-property-field adf-textitem-chip-list-container\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n >\n <mat-label\n *ngIf=\"showLabelForChips\"\n [attr.data-automation-id]=\"'card-textitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{ 'adf-property-value-editable': editable }\"\n >\n {{ property.label | translate }}\n </mat-label>\n <mat-chip-grid #chipElement class=\"adf-textitem-chip-list\">\n <mat-chip-row *ngFor=\"let propertyValue of editedValue; let idx = index\" [removable]=\"isEditable\" (removed)=\"removeValueFromList(idx)\">\n {{ propertyValue }}\n <mat-icon *ngIf=\"isEditable\" matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n </mat-chip-grid>\n\n <mat-form-field\n *ngIf=\"isEditable\"\n class=\"adf-property-field adf-textitem-chip-list-input\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n >\n <input\n matInput\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"editedValue ? '' : (property.default | translate)\"\n [attr.aria-label]=\"property.label | translate\"\n [matChipInputFor]=\"chipElement\"\n [matChipInputAddOnBlur]=\"true\"\n (matChipInputTokenEnd)=\"addValueToList($event)\"\n [attr.data-automation-id]=\"'card-textitem-editchipinput-' + property.key\"\n />\n </mat-form-field>\n </div>\n\n <div\n *ngSwitchCase=\"'clickableTemplate'\"\n role=\"button\"\n class=\"adf-textitem-clickable\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n [attr.data-automation-id]=\"'card-textitem-toggle-' + property.key\"\n tabindex=\"0\"\n (keyup.enter)=\"clicked()\"\n (click)=\"clicked()\"\n >\n <mat-form-field class=\"adf-property-field adf-card-textitem-field \" [floatLabel]=\"property.default ? 'always' : null\">\n <mat-label\n *ngIf=\"showProperty || isEditable\"\n [attr.data-automation-id]=\"'card-textitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{ 'adf-property-value-editable': editable }\"\n >\n {{ property.label | translate }}\n </mat-label>\n <input\n matInput\n [type]=\"property.inputType\"\n class=\"adf-property-value\"\n title=\"{{ property.label | translate }}\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-textitem-clickable-value': isClickable,\n 'adf-property-readonly-value': isReadonlyProperty,\n 'adf-property-value-has-error': isEditable && hasErrors,\n 'adf-property-value-has-icon-suffix': showClickableIcon\n }\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [(ngModel)]=\"editedValue\"\n (blur)=\"update()\"\n (keydown.enter)=\"update()\"\n [readonly]=\"!isEditable\"\n [attr.data-automation-id]=\"'card-textitem-value-' + property.key\"\n />\n <button\n mat-icon-button\n matSuffix\n *ngIf=\"showClickableIcon\"\n class=\"adf-textitem-action\"\n [attr.title]=\"'CORE.METADATA.ACTIONS.EDIT' | translate\"\n [attr.data-automation-id]=\"'card-textitem-clickable-icon-' + property.key\"\n >\n <mat-icon class=\"adf-textitem-icon\">{{ property?.icon }}</mat-icon>\n </button>\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'emptyTemplate'\">\n <span class=\"adf-textitem-default-value\">{{ property.default | translate }}</span>\n </div>\n\n <mat-error *ngIf=\"isEditable && hasErrors\" class=\"adf-textitem-error\" [attr.data-automation-id]=\"'card-textitem-error-' + property.key\">\n <ul>\n <li *ngFor=\"let error of errors\">{{ error.message | translate : error }}</li>\n </ul>\n </mat-error>\n</div>\n", styles: [".adf-card-view-textitem .adf-textitem-error{font-size:var(--theme-caption-font-size);padding-top:6px}.adf-card-view-textitem .adf-textitem-error:before{display:none}.adf-card-view-textitem .adf-textitem-error ul{margin:0;padding:0;list-style-type:none}.adf-card-view-textitem .adf-textitem-error ul li{margin:0;padding:0}.adf-card-view-textitem .adf-textitem-action{width:30px;height:30px;padding:0;line-height:20px;color:var(--adf-theme-foreground-text-color-025)}.adf-card-view-textitem .adf-textitem-action:hover,.adf-card-view-textitem .adf-textitem-action:focus{color:var(--adf-theme-foreground-text-color)}.adf-card-view-textitem .adf-textitem-action .mat-mdc-button-touch-target{width:30px;height:30px}.adf-card-view-textitem .mat-mdc-form-field-icon-suffix{position:absolute;right:1px;bottom:7px}.adf-card-view-textitem .adf-textitem-chip-list-container .mat-mdc-floating-label{margin-top:6px}.adf-card-view-textitem .adf-textitem-clickable{cursor:pointer;padding-top:3px}.adf-card-view-textitem .adf-textitem-clickable .adf-textitem-action:hover{color:var(--adf-theme-foreground-text-color)}.adf-card-view-textitem .adf-textitem-clickable .adf-property-field .mat-mdc-input-element{color:var(--theme-primary-color);cursor:pointer}.adf-card-view-textitem .adf-textitem-default-value{color:var(--adf-theme-foreground-text-color-054)}.adf-card-view-textitem .adf-property-read-only:not(:has(.adf-property-readonly-value)){border-bottom:1px solid var(--adf-metadata-property-panel-border-color)}.adf-card-view-textitem .adf-property-value-not-editable{color:var(--adf-metadata-property-panel-title-color)}.adf-card-view-textitem .adf-property-value-has-icon-suffix{padding-right:34px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adf-card-view-textitem .mdc-line-ripple:before,.adf-card-view-textitem .mdc-line-ripple:after{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2$4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i6.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i8.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i8.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i8.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i8.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatSnackBarModule }], encapsulation: i0.ViewEncapsulation.None }); }
18150
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: CardViewTextItemComponent, isStandalone: true, selector: "adf-card-view-textitem", inputs: { displayEmpty: "displayEmpty", copyToClipboardAction: "copyToClipboardAction", useChipsForMultiValueProperty: "useChipsForMultiValueProperty", multiValueSeparator: "multiValueSeparator", displayLabelForChips: "displayLabelForChips" }, host: { classAttribute: "adf-card-view-textitem" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div [ngSwitch]=\"templateType\">\n <div *ngSwitchDefault>\n <mat-form-field\n subscriptSizing=\"dynamic\"\n [floatLabel]=\"'always'\"\n class=\"adf-property-field adf-card-textitem-field\"\n [ngClass]=\"{\n 'adf-property-read-only': !isEditable\n }\"\n >\n <mat-label\n *ngIf=\"showProperty || isEditable\"\n [attr.data-automation-id]=\"'card-textitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >\n {{ property.label | translate }}\n </mat-label>\n\n <input\n matInput\n *ngIf=\"!property.multiline\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty,\n 'adf-property-value-has-error': isEditable && hasErrors,\n 'adf-property-value-not-editable': !editable\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"textInput\"\n (dblclick)=\"copyToClipboard(property.displayValue)\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n [attr.data-automation-id]=\"'card-textitem-value-' + property.key\"\n (keydown)=\"undoText($event)\"\n />\n <textarea\n matInput\n *ngIf=\"property.multiline\"\n title=\"{{ property.label | translate }}\"\n [cdkTextareaAutosize]=\"true\"\n [cdkAutosizeMinRows]=\"1\"\n [cdkAutosizeMaxRows]=\"5\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"textInput\"\n [attr.data-automation-id]=\"'card-textitem-value-' + property.key\"\n >\n </textarea>\n </mat-form-field>\n </div>\n\n <div\n *ngSwitchCase=\"'chipsTemplate'\"\n class=\"adf-property-field adf-textitem-chip-list-container\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n >\n <mat-label\n *ngIf=\"showLabelForChips\"\n [attr.data-automation-id]=\"'card-textitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{ 'adf-property-value-editable': editable }\"\n >\n {{ property.label | translate }}\n </mat-label>\n <mat-chip-grid #chipElement class=\"adf-textitem-chip-list\">\n <mat-chip-row *ngFor=\"let propertyValue of editedValue; let idx = index\" [removable]=\"isEditable\" (removed)=\"removeValueFromList(idx)\">\n {{ propertyValue }}\n <mat-icon *ngIf=\"isEditable\" matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n </mat-chip-grid>\n\n <mat-form-field\n *ngIf=\"isEditable\"\n [floatLabel]=\"'always'\"\n class=\"adf-property-field adf-textitem-chip-list-input\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n >\n <input\n matInput\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"editedValue ? '' : (property.default | translate)\"\n [attr.aria-label]=\"property.label | translate\"\n [matChipInputFor]=\"chipElement\"\n [matChipInputAddOnBlur]=\"true\"\n (matChipInputTokenEnd)=\"addValueToList($event)\"\n [attr.data-automation-id]=\"'card-textitem-editchipinput-' + property.key\"\n />\n </mat-form-field>\n </div>\n\n <div\n *ngSwitchCase=\"'clickableTemplate'\"\n role=\"button\"\n class=\"adf-textitem-clickable\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n [attr.data-automation-id]=\"'card-textitem-toggle-' + property.key\"\n tabindex=\"0\"\n (keyup.enter)=\"clicked()\"\n (click)=\"clicked()\"\n >\n <mat-form-field class=\"adf-property-field adf-card-textitem-field\" [floatLabel]=\"'always'\">\n <mat-label\n *ngIf=\"showProperty || isEditable\"\n [attr.data-automation-id]=\"'card-textitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{ 'adf-property-value-editable': editable }\"\n >\n {{ property.label | translate }}\n </mat-label>\n <input\n matInput\n [type]=\"property.inputType\"\n class=\"adf-property-value\"\n title=\"{{ property.label | translate }}\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-textitem-clickable-value': isClickable,\n 'adf-property-readonly-value': isReadonlyProperty,\n 'adf-property-value-has-error': isEditable && hasErrors,\n 'adf-property-value-has-icon-suffix': showClickableIcon\n }\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [(ngModel)]=\"editedValue\"\n (blur)=\"update()\"\n (keydown.enter)=\"update()\"\n [readonly]=\"!isEditable\"\n [attr.data-automation-id]=\"'card-textitem-value-' + property.key\"\n />\n <button\n mat-icon-button\n matSuffix\n *ngIf=\"showClickableIcon\"\n class=\"adf-textitem-action\"\n [attr.title]=\"'CORE.METADATA.ACTIONS.EDIT' | translate\"\n [attr.data-automation-id]=\"'card-textitem-clickable-icon-' + property.key\"\n >\n <mat-icon class=\"adf-textitem-icon\">{{ property?.icon }}</mat-icon>\n </button>\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'emptyTemplate'\">\n <span class=\"adf-textitem-default-value\">{{ property.default | translate }}</span>\n </div>\n\n <mat-error *ngIf=\"isEditable && hasErrors\" class=\"adf-textitem-error\" [attr.data-automation-id]=\"'card-textitem-error-' + property.key\">\n <ul>\n <li *ngFor=\"let error of errors\">{{ error.message | translate : error }}</li>\n </ul>\n </mat-error>\n</div>\n", styles: [".adf-card-view-textitem .adf-textitem-error{font-size:var(--theme-caption-font-size);padding-top:6px}.adf-card-view-textitem .adf-textitem-error:before{display:none}.adf-card-view-textitem .adf-textitem-error ul{margin:0;padding:0;list-style-type:none}.adf-card-view-textitem .adf-textitem-error ul li{margin:0;padding:0}.adf-card-view-textitem .adf-textitem-action{width:30px;height:30px;padding:0;line-height:20px;color:var(--adf-theme-foreground-text-color-025)}.adf-card-view-textitem .adf-textitem-action:hover,.adf-card-view-textitem .adf-textitem-action:focus{color:var(--adf-theme-foreground-text-color)}.adf-card-view-textitem .adf-textitem-action .mat-mdc-button-touch-target{width:30px;height:30px}.adf-card-view-textitem .mat-mdc-form-field-icon-suffix{position:absolute;right:1px;bottom:7px}.adf-card-view-textitem .adf-textitem-chip-list-container .mat-mdc-floating-label{margin-top:6px}.adf-card-view-textitem .adf-textitem-chip-list-container .mat-mdc-form-field-infix{padding-top:0}.adf-card-view-textitem .adf-textitem-chip-list-container .mat-mdc-form-field-infix .adf-property-value{margin-left:0}.adf-card-view-textitem .adf-textitem-clickable{cursor:pointer;padding-top:3px}.adf-card-view-textitem .adf-textitem-clickable .adf-textitem-action:hover{color:var(--adf-theme-foreground-text-color)}.adf-card-view-textitem .adf-textitem-clickable .adf-property-field .mat-mdc-input-element{color:var(--theme-primary-color);cursor:pointer}.adf-card-view-textitem .adf-textitem-default-value{color:var(--adf-theme-foreground-text-color-054)}.adf-card-view-textitem .adf-property-read-only:not(:has(.adf-property-readonly-value)){border-bottom:1px solid var(--adf-metadata-property-panel-border-color)}.adf-card-view-textitem .adf-property-value-not-editable{color:var(--adf-metadata-property-panel-title-color)}.adf-card-view-textitem .adf-property-value-has-icon-suffix{padding-right:34px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adf-card-view-textitem .mdc-line-ripple:before,.adf-card-view-textitem .mdc-line-ripple:after{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2$4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i6.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i8.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i8.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i8.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i8.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatSnackBarModule }], encapsulation: i0.ViewEncapsulation.None }); }
18320
18151
  }
18321
18152
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CardViewTextItemComponent, decorators: [{
18322
18153
  type: Component,
@@ -18331,7 +18162,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
18331
18162
  FormsModule,
18332
18163
  MatButtonModule,
18333
18164
  MatSnackBarModule
18334
- ], encapsulation: ViewEncapsulation.None, host: { class: 'adf-card-view-textitem' }, template: "<div [ngSwitch]=\"templateType\">\n <div *ngSwitchDefault>\n <mat-form-field\n subscriptSizing=\"dynamic\"\n [floatLabel]=\"'always'\"\n class=\"adf-property-field adf-card-textitem-field\"\n [ngClass]=\"{\n 'adf-property-read-only': !isEditable\n }\"\n >\n <mat-label\n *ngIf=\"showProperty || isEditable\"\n [attr.data-automation-id]=\"'card-textitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >\n {{ property.label | translate }}\n </mat-label>\n\n <input\n matInput\n *ngIf=\"!property.multiline\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty,\n 'adf-property-value-has-error': isEditable && hasErrors,\n 'adf-property-value-not-editable': !editable\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"textInput\"\n (dblclick)=\"copyToClipboard(property.displayValue)\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n [attr.data-automation-id]=\"'card-textitem-value-' + property.key\"\n (keydown)=\"undoText($event)\"\n />\n <textarea\n matInput\n *ngIf=\"property.multiline\"\n title=\"{{ property.label | translate }}\"\n [cdkTextareaAutosize]=\"true\"\n [cdkAutosizeMinRows]=\"1\"\n [cdkAutosizeMaxRows]=\"5\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"textInput\"\n [attr.data-automation-id]=\"'card-textitem-value-' + property.key\"\n >\n </textarea>\n </mat-form-field>\n </div>\n\n <div\n *ngSwitchCase=\"'chipsTemplate'\"\n class=\"adf-property-field adf-textitem-chip-list-container\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n >\n <mat-label\n *ngIf=\"showLabelForChips\"\n [attr.data-automation-id]=\"'card-textitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{ 'adf-property-value-editable': editable }\"\n >\n {{ property.label | translate }}\n </mat-label>\n <mat-chip-grid #chipElement class=\"adf-textitem-chip-list\">\n <mat-chip-row *ngFor=\"let propertyValue of editedValue; let idx = index\" [removable]=\"isEditable\" (removed)=\"removeValueFromList(idx)\">\n {{ propertyValue }}\n <mat-icon *ngIf=\"isEditable\" matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n </mat-chip-grid>\n\n <mat-form-field\n *ngIf=\"isEditable\"\n class=\"adf-property-field adf-textitem-chip-list-input\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n >\n <input\n matInput\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"editedValue ? '' : (property.default | translate)\"\n [attr.aria-label]=\"property.label | translate\"\n [matChipInputFor]=\"chipElement\"\n [matChipInputAddOnBlur]=\"true\"\n (matChipInputTokenEnd)=\"addValueToList($event)\"\n [attr.data-automation-id]=\"'card-textitem-editchipinput-' + property.key\"\n />\n </mat-form-field>\n </div>\n\n <div\n *ngSwitchCase=\"'clickableTemplate'\"\n role=\"button\"\n class=\"adf-textitem-clickable\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n [attr.data-automation-id]=\"'card-textitem-toggle-' + property.key\"\n tabindex=\"0\"\n (keyup.enter)=\"clicked()\"\n (click)=\"clicked()\"\n >\n <mat-form-field class=\"adf-property-field adf-card-textitem-field \" [floatLabel]=\"property.default ? 'always' : null\">\n <mat-label\n *ngIf=\"showProperty || isEditable\"\n [attr.data-automation-id]=\"'card-textitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{ 'adf-property-value-editable': editable }\"\n >\n {{ property.label | translate }}\n </mat-label>\n <input\n matInput\n [type]=\"property.inputType\"\n class=\"adf-property-value\"\n title=\"{{ property.label | translate }}\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-textitem-clickable-value': isClickable,\n 'adf-property-readonly-value': isReadonlyProperty,\n 'adf-property-value-has-error': isEditable && hasErrors,\n 'adf-property-value-has-icon-suffix': showClickableIcon\n }\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [(ngModel)]=\"editedValue\"\n (blur)=\"update()\"\n (keydown.enter)=\"update()\"\n [readonly]=\"!isEditable\"\n [attr.data-automation-id]=\"'card-textitem-value-' + property.key\"\n />\n <button\n mat-icon-button\n matSuffix\n *ngIf=\"showClickableIcon\"\n class=\"adf-textitem-action\"\n [attr.title]=\"'CORE.METADATA.ACTIONS.EDIT' | translate\"\n [attr.data-automation-id]=\"'card-textitem-clickable-icon-' + property.key\"\n >\n <mat-icon class=\"adf-textitem-icon\">{{ property?.icon }}</mat-icon>\n </button>\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'emptyTemplate'\">\n <span class=\"adf-textitem-default-value\">{{ property.default | translate }}</span>\n </div>\n\n <mat-error *ngIf=\"isEditable && hasErrors\" class=\"adf-textitem-error\" [attr.data-automation-id]=\"'card-textitem-error-' + property.key\">\n <ul>\n <li *ngFor=\"let error of errors\">{{ error.message | translate : error }}</li>\n </ul>\n </mat-error>\n</div>\n", styles: [".adf-card-view-textitem .adf-textitem-error{font-size:var(--theme-caption-font-size);padding-top:6px}.adf-card-view-textitem .adf-textitem-error:before{display:none}.adf-card-view-textitem .adf-textitem-error ul{margin:0;padding:0;list-style-type:none}.adf-card-view-textitem .adf-textitem-error ul li{margin:0;padding:0}.adf-card-view-textitem .adf-textitem-action{width:30px;height:30px;padding:0;line-height:20px;color:var(--adf-theme-foreground-text-color-025)}.adf-card-view-textitem .adf-textitem-action:hover,.adf-card-view-textitem .adf-textitem-action:focus{color:var(--adf-theme-foreground-text-color)}.adf-card-view-textitem .adf-textitem-action .mat-mdc-button-touch-target{width:30px;height:30px}.adf-card-view-textitem .mat-mdc-form-field-icon-suffix{position:absolute;right:1px;bottom:7px}.adf-card-view-textitem .adf-textitem-chip-list-container .mat-mdc-floating-label{margin-top:6px}.adf-card-view-textitem .adf-textitem-clickable{cursor:pointer;padding-top:3px}.adf-card-view-textitem .adf-textitem-clickable .adf-textitem-action:hover{color:var(--adf-theme-foreground-text-color)}.adf-card-view-textitem .adf-textitem-clickable .adf-property-field .mat-mdc-input-element{color:var(--theme-primary-color);cursor:pointer}.adf-card-view-textitem .adf-textitem-default-value{color:var(--adf-theme-foreground-text-color-054)}.adf-card-view-textitem .adf-property-read-only:not(:has(.adf-property-readonly-value)){border-bottom:1px solid var(--adf-metadata-property-panel-border-color)}.adf-card-view-textitem .adf-property-value-not-editable{color:var(--adf-metadata-property-panel-title-color)}.adf-card-view-textitem .adf-property-value-has-icon-suffix{padding-right:34px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adf-card-view-textitem .mdc-line-ripple:before,.adf-card-view-textitem .mdc-line-ripple:after{display:none}\n"] }]
18165
+ ], encapsulation: ViewEncapsulation.None, host: { class: 'adf-card-view-textitem' }, template: "<div [ngSwitch]=\"templateType\">\n <div *ngSwitchDefault>\n <mat-form-field\n subscriptSizing=\"dynamic\"\n [floatLabel]=\"'always'\"\n class=\"adf-property-field adf-card-textitem-field\"\n [ngClass]=\"{\n 'adf-property-read-only': !isEditable\n }\"\n >\n <mat-label\n *ngIf=\"showProperty || isEditable\"\n [attr.data-automation-id]=\"'card-textitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >\n {{ property.label | translate }}\n </mat-label>\n\n <input\n matInput\n *ngIf=\"!property.multiline\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty,\n 'adf-property-value-has-error': isEditable && hasErrors,\n 'adf-property-value-not-editable': !editable\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"textInput\"\n (dblclick)=\"copyToClipboard(property.displayValue)\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n [attr.data-automation-id]=\"'card-textitem-value-' + property.key\"\n (keydown)=\"undoText($event)\"\n />\n <textarea\n matInput\n *ngIf=\"property.multiline\"\n title=\"{{ property.label | translate }}\"\n [cdkTextareaAutosize]=\"true\"\n [cdkAutosizeMinRows]=\"1\"\n [cdkAutosizeMaxRows]=\"5\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"textInput\"\n [attr.data-automation-id]=\"'card-textitem-value-' + property.key\"\n >\n </textarea>\n </mat-form-field>\n </div>\n\n <div\n *ngSwitchCase=\"'chipsTemplate'\"\n class=\"adf-property-field adf-textitem-chip-list-container\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n >\n <mat-label\n *ngIf=\"showLabelForChips\"\n [attr.data-automation-id]=\"'card-textitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{ 'adf-property-value-editable': editable }\"\n >\n {{ property.label | translate }}\n </mat-label>\n <mat-chip-grid #chipElement class=\"adf-textitem-chip-list\">\n <mat-chip-row *ngFor=\"let propertyValue of editedValue; let idx = index\" [removable]=\"isEditable\" (removed)=\"removeValueFromList(idx)\">\n {{ propertyValue }}\n <mat-icon *ngIf=\"isEditable\" matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n </mat-chip-grid>\n\n <mat-form-field\n *ngIf=\"isEditable\"\n [floatLabel]=\"'always'\"\n class=\"adf-property-field adf-textitem-chip-list-input\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n >\n <input\n matInput\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"editedValue ? '' : (property.default | translate)\"\n [attr.aria-label]=\"property.label | translate\"\n [matChipInputFor]=\"chipElement\"\n [matChipInputAddOnBlur]=\"true\"\n (matChipInputTokenEnd)=\"addValueToList($event)\"\n [attr.data-automation-id]=\"'card-textitem-editchipinput-' + property.key\"\n />\n </mat-form-field>\n </div>\n\n <div\n *ngSwitchCase=\"'clickableTemplate'\"\n role=\"button\"\n class=\"adf-textitem-clickable\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n [attr.data-automation-id]=\"'card-textitem-toggle-' + property.key\"\n tabindex=\"0\"\n (keyup.enter)=\"clicked()\"\n (click)=\"clicked()\"\n >\n <mat-form-field class=\"adf-property-field adf-card-textitem-field\" [floatLabel]=\"'always'\">\n <mat-label\n *ngIf=\"showProperty || isEditable\"\n [attr.data-automation-id]=\"'card-textitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{ 'adf-property-value-editable': editable }\"\n >\n {{ property.label | translate }}\n </mat-label>\n <input\n matInput\n [type]=\"property.inputType\"\n class=\"adf-property-value\"\n title=\"{{ property.label | translate }}\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-textitem-clickable-value': isClickable,\n 'adf-property-readonly-value': isReadonlyProperty,\n 'adf-property-value-has-error': isEditable && hasErrors,\n 'adf-property-value-has-icon-suffix': showClickableIcon\n }\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [(ngModel)]=\"editedValue\"\n (blur)=\"update()\"\n (keydown.enter)=\"update()\"\n [readonly]=\"!isEditable\"\n [attr.data-automation-id]=\"'card-textitem-value-' + property.key\"\n />\n <button\n mat-icon-button\n matSuffix\n *ngIf=\"showClickableIcon\"\n class=\"adf-textitem-action\"\n [attr.title]=\"'CORE.METADATA.ACTIONS.EDIT' | translate\"\n [attr.data-automation-id]=\"'card-textitem-clickable-icon-' + property.key\"\n >\n <mat-icon class=\"adf-textitem-icon\">{{ property?.icon }}</mat-icon>\n </button>\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'emptyTemplate'\">\n <span class=\"adf-textitem-default-value\">{{ property.default | translate }}</span>\n </div>\n\n <mat-error *ngIf=\"isEditable && hasErrors\" class=\"adf-textitem-error\" [attr.data-automation-id]=\"'card-textitem-error-' + property.key\">\n <ul>\n <li *ngFor=\"let error of errors\">{{ error.message | translate : error }}</li>\n </ul>\n </mat-error>\n</div>\n", styles: [".adf-card-view-textitem .adf-textitem-error{font-size:var(--theme-caption-font-size);padding-top:6px}.adf-card-view-textitem .adf-textitem-error:before{display:none}.adf-card-view-textitem .adf-textitem-error ul{margin:0;padding:0;list-style-type:none}.adf-card-view-textitem .adf-textitem-error ul li{margin:0;padding:0}.adf-card-view-textitem .adf-textitem-action{width:30px;height:30px;padding:0;line-height:20px;color:var(--adf-theme-foreground-text-color-025)}.adf-card-view-textitem .adf-textitem-action:hover,.adf-card-view-textitem .adf-textitem-action:focus{color:var(--adf-theme-foreground-text-color)}.adf-card-view-textitem .adf-textitem-action .mat-mdc-button-touch-target{width:30px;height:30px}.adf-card-view-textitem .mat-mdc-form-field-icon-suffix{position:absolute;right:1px;bottom:7px}.adf-card-view-textitem .adf-textitem-chip-list-container .mat-mdc-floating-label{margin-top:6px}.adf-card-view-textitem .adf-textitem-chip-list-container .mat-mdc-form-field-infix{padding-top:0}.adf-card-view-textitem .adf-textitem-chip-list-container .mat-mdc-form-field-infix .adf-property-value{margin-left:0}.adf-card-view-textitem .adf-textitem-clickable{cursor:pointer;padding-top:3px}.adf-card-view-textitem .adf-textitem-clickable .adf-textitem-action:hover{color:var(--adf-theme-foreground-text-color)}.adf-card-view-textitem .adf-textitem-clickable .adf-property-field .mat-mdc-input-element{color:var(--theme-primary-color);cursor:pointer}.adf-card-view-textitem .adf-textitem-default-value{color:var(--adf-theme-foreground-text-color-054)}.adf-card-view-textitem .adf-property-read-only:not(:has(.adf-property-readonly-value)){border-bottom:1px solid var(--adf-metadata-property-panel-border-color)}.adf-card-view-textitem .adf-property-value-not-editable{color:var(--adf-metadata-property-panel-title-color)}.adf-card-view-textitem .adf-property-value-has-icon-suffix{padding-right:34px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adf-card-view-textitem .mdc-line-ripple:before,.adf-card-view-textitem .mdc-line-ripple:after{display:none}\n"] }]
18335
18166
  }], ctorParameters: () => [{ type: ClipboardService }, { type: TranslationService }, { type: i0.ChangeDetectorRef }], propDecorators: { displayEmpty: [{
18336
18167
  type: Input
18337
18168
  }], copyToClipboardAction: [{
@@ -18464,7 +18295,7 @@ class CardViewDateItemComponent extends BaseCardView {
18464
18295
  { provide: MAT_DATETIME_FORMATS, useValue: ADF_DATETIME_FORMATS },
18465
18296
  { provide: DateAdapter, useClass: AdfDateFnsAdapter },
18466
18297
  { provide: DatetimeAdapter, useClass: AdfDateTimeFnsAdapter }
18467
- ], viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["datetimePicker"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-label\n class=\"adf-property-label\"\n [attr.data-automation-id]=\"'card-dateitem-label-' + property.key\"\n *ngIf=\"showProperty && !isEditable\"\n [attr.for]=\"'card-view-dateitem-' + property.key\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty, 'adf-property-value-editable': editable }\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n>\n {{ property.label | translate }}\n</mat-label>\n\n<div class=\"adf-property-value\" [ngClass]=\"{ 'adf-property-value-editable': editable, 'adf-property-readonly-value': isReadonlyProperty }\">\n <span *ngIf=\"!isEditable && !property.multivalued\" [attr.data-automation-id]=\"'card-' + property.type + '-value-' + property.key\">\n <span\n *ngIf=\"showProperty\"\n [attr.data-automation-id]=\"'card-dateitem-' + property.key\"\n (dblclick)=\"copyToClipboard(property.displayValue)\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n >{{ property.displayValue }}</span\n >\n </span>\n <mat-form-field *ngIf=\"isEditable && !property.multivalued\" class=\"adf-dateitem-editable hxp-input\" [floatLabel]=\"property.default ? 'always' : null\">\n <mat-label\n class=\"adf-property-label\"\n [attr.data-automation-id]=\"'card-dateitem-label-' + property.key\"\n *ngIf=\"isEditable\"\n [attr.for]=\"'card-view-dateitem-' + property.key\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty, 'adf-property-value-editable': editable }\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n >\n {{ property.label | translate }}\n </mat-label>\n <div class=\"adf-dateitem-editable-controls\">\n <span\n class=\"adf-datepicker-span-button\"\n [attr.data-automation-id]=\"'datepicker-label-toggle-' + property.key\"\n (click)=\"showDatePicker()\"\n tabindex=\"0\"\n role=\"button\"\n (keyup.enter)=\"showDatePicker()\"\n >\n <span *ngIf=\"showProperty; else elseEmptyValueBlock\" [attr.data-automation-id]=\"'card-' + property.type + '-value-' + property.key\">\n {{ property.displayValue }}</span\n >\n </span>\n </div>\n <input\n matInput\n class=\"adf-invisible-date-input\"\n [attr.tabIndex]=\"-1\"\n [matDatetimepicker]=\"datetimePicker\"\n [value]=\"valueDate\"\n (dateChange)=\"onDateChanged($event)\"\n [attr.id]=\"'card-view-dateitem-' + property.key\"\n />\n <mat-icon\n matIconSuffix\n *ngIf=\"showClearAction\"\n class=\"adf-date-reset-icon\"\n (click)=\"onDateClear()\"\n [attr.title]=\"'CORE.METADATA.ACTIONS.CLEAR' | translate\"\n [attr.data-automation-id]=\"'datepicker-date-clear-' + property.key\"\n >\n clear\n </mat-icon>\n <mat-datetimepicker-toggle\n matIconSuffix\n [attr.tabindex]=\"-1\"\n [attr.title]=\"'CORE.METADATA.ACTIONS.EDIT' | translate\"\n [attr.data-automation-id]=\"'datepickertoggle-' + property.key\"\n [for]=\"datetimePicker\"\n />\n\n <mat-datetimepicker\n #datetimePicker\n [type]=\"$any(property).type\"\n [timeInterval]=\"5\"\n [attr.data-automation-id]=\"'datepicker-' + property.key\"\n [startAt]=\"valueDate\"\n />\n </mat-form-field>\n <ng-template #elseEmptyValueBlock>\n {{ property.default | translate }}\n </ng-template>\n\n <div *ngIf=\"property.multivalued\" class=\"adf-property-field adf-dateitem-chip-list-container adf-dateitem-editable\">\n <mat-chip-listbox #chipList class=\"adf-textitem-chip-list\">\n <mat-chip-option\n *ngFor=\"let propertyValue of property.displayValue; let idx = index\"\n [removable]=\"isEditable\"\n (removed)=\"removeValueFromList(idx)\"\n >\n {{ propertyValue }}\n <mat-icon *ngIf=\"isEditable\" matChipRemove>cancel</mat-icon>\n </mat-chip-option>\n </mat-chip-listbox>\n\n <div\n *ngIf=\"isEditable\"\n class=\"adf-property-field adf-dateitem-editable-controls\"\n (click)=\"showDatePicker()\"\n tabindex=\"0\"\n role=\"button\"\n (keyup.enter)=\"showDatePicker()\"\n >\n <input\n class=\"adf-invisible-date-input\"\n [attr.tabIndex]=\"-1\"\n [matDatetimepicker]=\"datetimePicker\"\n (dateChange)=\"addDateToList($event)\"\n [attr.id]=\"'card-view-dateitem-' + property.key\"\n />\n <mat-datetimepicker-toggle\n [attr.tabindex]=\"-1\"\n matSuffix\n [attr.title]=\"'CORE.METADATA.ACTIONS.EDIT' | translate\"\n [attr.data-automation-id]=\"'datepickertoggle-' + property.key\"\n [for]=\"datetimePicker\"\n />\n <mat-datetimepicker\n #datetimePicker\n [type]=\"$any(property).type\"\n [timeInterval]=\"5\"\n [attr.data-automation-id]=\"'datepicker-' + property.key\"\n [startAt]=\"valueDate\"\n />\n </div>\n </div>\n</div>\n", styles: [".adf-card-view-dateitem .adf-property-value{padding-top:6px;padding-bottom:6px;line-height:20px;color:var(--adf-metadata-property-panel-title-color);margin-top:10px}.adf-card-view-dateitem .adf-property-value.adf-property-value-editable{display:flex;align-items:center;border-radius:6px;border-bottom:inherit;margin-bottom:18px}.adf-card-view-dateitem .adf-property-value.adf-property-readonly-value{padding:0 0 0 12px}.adf-card-view-dateitem .adf-invisible-date-input{height:2px;width:0;overflow:hidden;opacity:0;border:none;margin:0;padding:0;float:right}.adf-card-view-dateitem .adf-dateitem-chip-list-container.adf-property-field{margin-bottom:-7px;border-bottom:0;cursor:pointer}.adf-card-view-dateitem .adf-dateitem-editable{cursor:pointer;width:100%}.adf-card-view-dateitem .adf-dateitem-editable-controls{display:flex;align-items:center;justify-content:space-between}.adf-card-view-dateitem .adf-dateitem-editable-controls .mat-icon{opacity:.5}.adf-card-view-dateitem .adf-dateitem-editable-controls .mat-icon:hover{opacity:1}.adf-card-view-dateitem .adf-dateitem-editable-controls mat-datetimepicker-toggle{transform:scale(.8)}.adf-card-view-dateitem .adf-dateitem-editable-controls .adf-datepicker-span-button{flex:1 0 auto;font-size:14px}.adf-card-view-dateitem .adf-dateitem-editable-controls .adf-date-reset-icon{position:relative}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDatetimepickerModule }, { kind: "component", type: i7$1.MatDatetimepickerComponent, selector: "mat-datetimepicker", inputs: ["multiYearSelector", "twelvehour", "startView", "mode", "timeInterval", "ariaNextMonthLabel", "ariaPrevMonthLabel", "ariaNextYearLabel", "ariaPrevYearLabel", "preventSameDateTimeSelection", "panelClass", "startAt", "openOnFocus", "type", "touchUi", "disabled"], outputs: ["selectedChanged", "opened", "closed", "viewChanged"], exportAs: ["matDatetimepicker"] }, { kind: "component", type: i7$1.MatDatetimepickerToggleComponent, selector: "mat-datetimepicker-toggle", inputs: ["for", "disabled"], exportAs: ["matDatetimepickerToggle"] }, { kind: "directive", type: i7$1.MatDatetimepickerInputDirective, selector: "input[matDatetimepicker]", inputs: ["matDatetimepicker", "matDatepickerFilter", "value", "min", "max", "disabled"], outputs: ["dateChange", "dateInput"], exportAs: ["matDatepickerInput"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i8.MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i8.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["selectable", "selected"], outputs: ["selectionChange"] }, { kind: "directive", type: i8.MatChipRemove, selector: "[matChipRemove]" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i2$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "ngmodule", type: MatSnackBarModule }, { kind: "ngmodule", type: ReactiveFormsModule }], encapsulation: i0.ViewEncapsulation.None }); }
18298
+ ], viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["datetimePicker"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-label\n class=\"adf-property-label\"\n [attr.data-automation-id]=\"'card-dateitem-label-' + property.key\"\n *ngIf=\"showProperty && !isEditable\"\n [attr.for]=\"'card-view-dateitem-' + property.key\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty, 'adf-property-value-editable': editable }\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n>\n {{ property.label | translate }}\n</mat-label>\n\n<div class=\"adf-property-value\" [ngClass]=\"{ 'adf-property-value-editable': editable, 'adf-property-readonly-value': isReadonlyProperty }\">\n <span *ngIf=\"!isEditable && !property.multivalued\" [attr.data-automation-id]=\"'card-' + property.type + '-value-' + property.key\">\n <span\n *ngIf=\"showProperty\"\n [attr.data-automation-id]=\"'card-dateitem-' + property.key\"\n (dblclick)=\"copyToClipboard(property.displayValue)\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n >{{ property.displayValue }}</span\n >\n </span>\n <mat-form-field *ngIf=\"isEditable && !property.multivalued\" class=\"adf-property-field adf-dateitem-editable hxp-input\" [floatLabel]=\"property.default ? 'always' : null\">\n <mat-label\n class=\"adf-property-label\"\n [attr.data-automation-id]=\"'card-dateitem-label-' + property.key\"\n *ngIf=\"isEditable\"\n [attr.for]=\"'card-view-dateitem-' + property.key\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty, 'adf-property-value-editable': editable }\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n >\n {{ property.label | translate }}\n </mat-label>\n <div class=\"adf-dateitem-editable-controls\">\n <span\n class=\"adf-datepicker-span-button\"\n [attr.data-automation-id]=\"'datepicker-label-toggle-' + property.key\"\n (click)=\"showDatePicker()\"\n tabindex=\"0\"\n role=\"button\"\n (keyup.enter)=\"showDatePicker()\"\n >\n <span *ngIf=\"showProperty; else elseEmptyValueBlock\" [attr.data-automation-id]=\"'card-' + property.type + '-value-' + property.key\">\n {{ property.displayValue }}</span\n >\n </span>\n </div>\n <input\n matInput\n class=\"adf-invisible-date-input\"\n [attr.tabIndex]=\"-1\"\n [matDatetimepicker]=\"datetimePicker\"\n [value]=\"valueDate\"\n (dateChange)=\"onDateChanged($event)\"\n [attr.id]=\"'card-view-dateitem-' + property.key\"\n />\n <mat-icon\n matIconSuffix\n *ngIf=\"showClearAction\"\n class=\"adf-date-reset-icon\"\n (click)=\"onDateClear()\"\n [attr.title]=\"'CORE.METADATA.ACTIONS.CLEAR' | translate\"\n [attr.data-automation-id]=\"'datepicker-date-clear-' + property.key\"\n >\n clear\n </mat-icon>\n <mat-datetimepicker-toggle\n matIconSuffix\n [attr.tabindex]=\"-1\"\n [attr.title]=\"'CORE.METADATA.ACTIONS.EDIT' | translate\"\n [attr.data-automation-id]=\"'datepickertoggle-' + property.key\"\n [for]=\"datetimePicker\"\n class=\"adf-dateitem-picker-toggle\"\n />\n\n <mat-datetimepicker\n #datetimePicker\n [type]=\"$any(property).type\"\n [timeInterval]=\"5\"\n [attr.data-automation-id]=\"'datepicker-' + property.key\"\n [startAt]=\"valueDate\"\n />\n </mat-form-field>\n <ng-template #elseEmptyValueBlock>\n {{ property.default | translate }}\n </ng-template>\n\n <div *ngIf=\"property.multivalued\" class=\"adf-property-field adf-dateitem-chip-list-container adf-dateitem-editable\">\n <mat-chip-listbox #chipList class=\"adf-textitem-chip-list\">\n <mat-chip-option\n *ngFor=\"let propertyValue of property.displayValue; let idx = index\"\n [removable]=\"isEditable\"\n (removed)=\"removeValueFromList(idx)\"\n >\n {{ propertyValue }}\n <mat-icon *ngIf=\"isEditable\" matChipRemove>cancel</mat-icon>\n </mat-chip-option>\n </mat-chip-listbox>\n\n <div\n *ngIf=\"isEditable\"\n class=\"adf-property-field adf-dateitem-editable-controls\"\n (click)=\"showDatePicker()\"\n tabindex=\"0\"\n role=\"button\"\n (keyup.enter)=\"showDatePicker()\"\n >\n <input\n class=\"adf-invisible-date-input\"\n [attr.tabIndex]=\"-1\"\n [matDatetimepicker]=\"datetimePicker\"\n (dateChange)=\"addDateToList($event)\"\n [attr.id]=\"'card-view-dateitem-' + property.key\"\n />\n <mat-datetimepicker-toggle\n [attr.tabindex]=\"-1\"\n matSuffix\n [attr.title]=\"'CORE.METADATA.ACTIONS.EDIT' | translate\"\n [attr.data-automation-id]=\"'datepickertoggle-' + property.key\"\n [for]=\"datetimePicker\"\n />\n <mat-datetimepicker\n #datetimePicker\n [type]=\"$any(property).type\"\n [timeInterval]=\"5\"\n [attr.data-automation-id]=\"'datepicker-' + property.key\"\n [startAt]=\"valueDate\"\n />\n </div>\n </div>\n</div>\n", styles: [".adf-card-view-dateitem{display:flow-root}.adf-card-view-dateitem .adf-dateitem-editable{cursor:pointer;width:100%}.adf-card-view-dateitem .adf-dateitem-editable-controls{display:flex;align-items:center;justify-content:space-between;top:6px;position:relative;left:12px;height:20px}.adf-card-view-dateitem .adf-dateitem-editable-controls .mat-icon{opacity:.5}.adf-card-view-dateitem .adf-dateitem-editable-controls .mat-icon:hover{opacity:1}.adf-card-view-dateitem .adf-dateitem-editable-controls mat-datetimepicker-toggle{transform:scale(.8)}.adf-card-view-dateitem .adf-dateitem-editable-controls .adf-datepicker-span-button{flex:1 0 auto;font-size:14px;top:10px;position:relative}.adf-card-view-dateitem .adf-dateitem-editable .mdc-line-ripple,.adf-card-view-dateitem .adf-dateitem-editable .mat-mdc-form-field-subscript-wrapper{display:none}.adf-card-view-dateitem .adf-property-value{padding-top:6px;padding-bottom:6px;line-height:20px;color:var(--adf-metadata-property-panel-title-color);margin-top:10px}.adf-card-view-dateitem .adf-property-value.adf-property-value-editable{display:flex;align-items:center;border-radius:6px;border-bottom:inherit;padding-left:0}.adf-card-view-dateitem .adf-property-value.adf-property-value-editable:not(.adf-property-readonly-value){margin-top:35px}.adf-card-view-dateitem .adf-property-value.adf-property-value-editable .adf-date-reset-icon{position:relative;padding:0}.adf-card-view-dateitem .adf-property-value.adf-property-value-editable .adf-dateitem-picker-toggle{position:relative}.adf-card-view-dateitem .adf-property-value.adf-property-readonly-value{padding:0 0 0 12px}.adf-card-view-dateitem .adf-invisible-date-input{height:2px;width:0;overflow:hidden;opacity:0;border:none;margin:0;padding:0;float:right}.adf-card-view-dateitem .adf-invisible-date-input.mat-mdc-input-element.mat-mdc-form-field-input-control{margin-top:35px}.adf-card-view-dateitem .adf-dateitem-chip-list-container.adf-property-field{margin-bottom:-7px;border-bottom:0;cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDatetimepickerModule }, { kind: "component", type: i7$1.MatDatetimepickerComponent, selector: "mat-datetimepicker", inputs: ["multiYearSelector", "twelvehour", "startView", "mode", "timeInterval", "ariaNextMonthLabel", "ariaPrevMonthLabel", "ariaNextYearLabel", "ariaPrevYearLabel", "preventSameDateTimeSelection", "panelClass", "startAt", "openOnFocus", "type", "touchUi", "disabled"], outputs: ["selectedChanged", "opened", "closed", "viewChanged"], exportAs: ["matDatetimepicker"] }, { kind: "component", type: i7$1.MatDatetimepickerToggleComponent, selector: "mat-datetimepicker-toggle", inputs: ["for", "disabled"], exportAs: ["matDatetimepickerToggle"] }, { kind: "directive", type: i7$1.MatDatetimepickerInputDirective, selector: "input[matDatetimepicker]", inputs: ["matDatetimepicker", "matDatepickerFilter", "value", "min", "max", "disabled"], outputs: ["dateChange", "dateInput"], exportAs: ["matDatepickerInput"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i8.MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i8.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["selectable", "selected"], outputs: ["selectionChange"] }, { kind: "directive", type: i8.MatChipRemove, selector: "[matChipRemove]" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i2$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "ngmodule", type: MatSnackBarModule }, { kind: "ngmodule", type: ReactiveFormsModule }], encapsulation: i0.ViewEncapsulation.None }); }
18468
18299
  }
18469
18300
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CardViewDateItemComponent, decorators: [{
18470
18301
  type: Component,
@@ -18484,7 +18315,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
18484
18315
  MatDatepickerModule,
18485
18316
  MatSnackBarModule,
18486
18317
  ReactiveFormsModule
18487
- ], encapsulation: ViewEncapsulation.None, host: { class: 'adf-card-view-dateitem' }, template: "<mat-label\n class=\"adf-property-label\"\n [attr.data-automation-id]=\"'card-dateitem-label-' + property.key\"\n *ngIf=\"showProperty && !isEditable\"\n [attr.for]=\"'card-view-dateitem-' + property.key\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty, 'adf-property-value-editable': editable }\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n>\n {{ property.label | translate }}\n</mat-label>\n\n<div class=\"adf-property-value\" [ngClass]=\"{ 'adf-property-value-editable': editable, 'adf-property-readonly-value': isReadonlyProperty }\">\n <span *ngIf=\"!isEditable && !property.multivalued\" [attr.data-automation-id]=\"'card-' + property.type + '-value-' + property.key\">\n <span\n *ngIf=\"showProperty\"\n [attr.data-automation-id]=\"'card-dateitem-' + property.key\"\n (dblclick)=\"copyToClipboard(property.displayValue)\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n >{{ property.displayValue }}</span\n >\n </span>\n <mat-form-field *ngIf=\"isEditable && !property.multivalued\" class=\"adf-dateitem-editable hxp-input\" [floatLabel]=\"property.default ? 'always' : null\">\n <mat-label\n class=\"adf-property-label\"\n [attr.data-automation-id]=\"'card-dateitem-label-' + property.key\"\n *ngIf=\"isEditable\"\n [attr.for]=\"'card-view-dateitem-' + property.key\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty, 'adf-property-value-editable': editable }\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n >\n {{ property.label | translate }}\n </mat-label>\n <div class=\"adf-dateitem-editable-controls\">\n <span\n class=\"adf-datepicker-span-button\"\n [attr.data-automation-id]=\"'datepicker-label-toggle-' + property.key\"\n (click)=\"showDatePicker()\"\n tabindex=\"0\"\n role=\"button\"\n (keyup.enter)=\"showDatePicker()\"\n >\n <span *ngIf=\"showProperty; else elseEmptyValueBlock\" [attr.data-automation-id]=\"'card-' + property.type + '-value-' + property.key\">\n {{ property.displayValue }}</span\n >\n </span>\n </div>\n <input\n matInput\n class=\"adf-invisible-date-input\"\n [attr.tabIndex]=\"-1\"\n [matDatetimepicker]=\"datetimePicker\"\n [value]=\"valueDate\"\n (dateChange)=\"onDateChanged($event)\"\n [attr.id]=\"'card-view-dateitem-' + property.key\"\n />\n <mat-icon\n matIconSuffix\n *ngIf=\"showClearAction\"\n class=\"adf-date-reset-icon\"\n (click)=\"onDateClear()\"\n [attr.title]=\"'CORE.METADATA.ACTIONS.CLEAR' | translate\"\n [attr.data-automation-id]=\"'datepicker-date-clear-' + property.key\"\n >\n clear\n </mat-icon>\n <mat-datetimepicker-toggle\n matIconSuffix\n [attr.tabindex]=\"-1\"\n [attr.title]=\"'CORE.METADATA.ACTIONS.EDIT' | translate\"\n [attr.data-automation-id]=\"'datepickertoggle-' + property.key\"\n [for]=\"datetimePicker\"\n />\n\n <mat-datetimepicker\n #datetimePicker\n [type]=\"$any(property).type\"\n [timeInterval]=\"5\"\n [attr.data-automation-id]=\"'datepicker-' + property.key\"\n [startAt]=\"valueDate\"\n />\n </mat-form-field>\n <ng-template #elseEmptyValueBlock>\n {{ property.default | translate }}\n </ng-template>\n\n <div *ngIf=\"property.multivalued\" class=\"adf-property-field adf-dateitem-chip-list-container adf-dateitem-editable\">\n <mat-chip-listbox #chipList class=\"adf-textitem-chip-list\">\n <mat-chip-option\n *ngFor=\"let propertyValue of property.displayValue; let idx = index\"\n [removable]=\"isEditable\"\n (removed)=\"removeValueFromList(idx)\"\n >\n {{ propertyValue }}\n <mat-icon *ngIf=\"isEditable\" matChipRemove>cancel</mat-icon>\n </mat-chip-option>\n </mat-chip-listbox>\n\n <div\n *ngIf=\"isEditable\"\n class=\"adf-property-field adf-dateitem-editable-controls\"\n (click)=\"showDatePicker()\"\n tabindex=\"0\"\n role=\"button\"\n (keyup.enter)=\"showDatePicker()\"\n >\n <input\n class=\"adf-invisible-date-input\"\n [attr.tabIndex]=\"-1\"\n [matDatetimepicker]=\"datetimePicker\"\n (dateChange)=\"addDateToList($event)\"\n [attr.id]=\"'card-view-dateitem-' + property.key\"\n />\n <mat-datetimepicker-toggle\n [attr.tabindex]=\"-1\"\n matSuffix\n [attr.title]=\"'CORE.METADATA.ACTIONS.EDIT' | translate\"\n [attr.data-automation-id]=\"'datepickertoggle-' + property.key\"\n [for]=\"datetimePicker\"\n />\n <mat-datetimepicker\n #datetimePicker\n [type]=\"$any(property).type\"\n [timeInterval]=\"5\"\n [attr.data-automation-id]=\"'datepicker-' + property.key\"\n [startAt]=\"valueDate\"\n />\n </div>\n </div>\n</div>\n", styles: [".adf-card-view-dateitem .adf-property-value{padding-top:6px;padding-bottom:6px;line-height:20px;color:var(--adf-metadata-property-panel-title-color);margin-top:10px}.adf-card-view-dateitem .adf-property-value.adf-property-value-editable{display:flex;align-items:center;border-radius:6px;border-bottom:inherit;margin-bottom:18px}.adf-card-view-dateitem .adf-property-value.adf-property-readonly-value{padding:0 0 0 12px}.adf-card-view-dateitem .adf-invisible-date-input{height:2px;width:0;overflow:hidden;opacity:0;border:none;margin:0;padding:0;float:right}.adf-card-view-dateitem .adf-dateitem-chip-list-container.adf-property-field{margin-bottom:-7px;border-bottom:0;cursor:pointer}.adf-card-view-dateitem .adf-dateitem-editable{cursor:pointer;width:100%}.adf-card-view-dateitem .adf-dateitem-editable-controls{display:flex;align-items:center;justify-content:space-between}.adf-card-view-dateitem .adf-dateitem-editable-controls .mat-icon{opacity:.5}.adf-card-view-dateitem .adf-dateitem-editable-controls .mat-icon:hover{opacity:1}.adf-card-view-dateitem .adf-dateitem-editable-controls mat-datetimepicker-toggle{transform:scale(.8)}.adf-card-view-dateitem .adf-dateitem-editable-controls .adf-datepicker-span-button{flex:1 0 auto;font-size:14px}.adf-card-view-dateitem .adf-dateitem-editable-controls .adf-date-reset-icon{position:relative}\n"] }]
18318
+ ], encapsulation: ViewEncapsulation.None, host: { class: 'adf-card-view-dateitem' }, template: "<mat-label\n class=\"adf-property-label\"\n [attr.data-automation-id]=\"'card-dateitem-label-' + property.key\"\n *ngIf=\"showProperty && !isEditable\"\n [attr.for]=\"'card-view-dateitem-' + property.key\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty, 'adf-property-value-editable': editable }\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n>\n {{ property.label | translate }}\n</mat-label>\n\n<div class=\"adf-property-value\" [ngClass]=\"{ 'adf-property-value-editable': editable, 'adf-property-readonly-value': isReadonlyProperty }\">\n <span *ngIf=\"!isEditable && !property.multivalued\" [attr.data-automation-id]=\"'card-' + property.type + '-value-' + property.key\">\n <span\n *ngIf=\"showProperty\"\n [attr.data-automation-id]=\"'card-dateitem-' + property.key\"\n (dblclick)=\"copyToClipboard(property.displayValue)\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n >{{ property.displayValue }}</span\n >\n </span>\n <mat-form-field *ngIf=\"isEditable && !property.multivalued\" class=\"adf-property-field adf-dateitem-editable hxp-input\" [floatLabel]=\"property.default ? 'always' : null\">\n <mat-label\n class=\"adf-property-label\"\n [attr.data-automation-id]=\"'card-dateitem-label-' + property.key\"\n *ngIf=\"isEditable\"\n [attr.for]=\"'card-view-dateitem-' + property.key\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty, 'adf-property-value-editable': editable }\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n >\n {{ property.label | translate }}\n </mat-label>\n <div class=\"adf-dateitem-editable-controls\">\n <span\n class=\"adf-datepicker-span-button\"\n [attr.data-automation-id]=\"'datepicker-label-toggle-' + property.key\"\n (click)=\"showDatePicker()\"\n tabindex=\"0\"\n role=\"button\"\n (keyup.enter)=\"showDatePicker()\"\n >\n <span *ngIf=\"showProperty; else elseEmptyValueBlock\" [attr.data-automation-id]=\"'card-' + property.type + '-value-' + property.key\">\n {{ property.displayValue }}</span\n >\n </span>\n </div>\n <input\n matInput\n class=\"adf-invisible-date-input\"\n [attr.tabIndex]=\"-1\"\n [matDatetimepicker]=\"datetimePicker\"\n [value]=\"valueDate\"\n (dateChange)=\"onDateChanged($event)\"\n [attr.id]=\"'card-view-dateitem-' + property.key\"\n />\n <mat-icon\n matIconSuffix\n *ngIf=\"showClearAction\"\n class=\"adf-date-reset-icon\"\n (click)=\"onDateClear()\"\n [attr.title]=\"'CORE.METADATA.ACTIONS.CLEAR' | translate\"\n [attr.data-automation-id]=\"'datepicker-date-clear-' + property.key\"\n >\n clear\n </mat-icon>\n <mat-datetimepicker-toggle\n matIconSuffix\n [attr.tabindex]=\"-1\"\n [attr.title]=\"'CORE.METADATA.ACTIONS.EDIT' | translate\"\n [attr.data-automation-id]=\"'datepickertoggle-' + property.key\"\n [for]=\"datetimePicker\"\n class=\"adf-dateitem-picker-toggle\"\n />\n\n <mat-datetimepicker\n #datetimePicker\n [type]=\"$any(property).type\"\n [timeInterval]=\"5\"\n [attr.data-automation-id]=\"'datepicker-' + property.key\"\n [startAt]=\"valueDate\"\n />\n </mat-form-field>\n <ng-template #elseEmptyValueBlock>\n {{ property.default | translate }}\n </ng-template>\n\n <div *ngIf=\"property.multivalued\" class=\"adf-property-field adf-dateitem-chip-list-container adf-dateitem-editable\">\n <mat-chip-listbox #chipList class=\"adf-textitem-chip-list\">\n <mat-chip-option\n *ngFor=\"let propertyValue of property.displayValue; let idx = index\"\n [removable]=\"isEditable\"\n (removed)=\"removeValueFromList(idx)\"\n >\n {{ propertyValue }}\n <mat-icon *ngIf=\"isEditable\" matChipRemove>cancel</mat-icon>\n </mat-chip-option>\n </mat-chip-listbox>\n\n <div\n *ngIf=\"isEditable\"\n class=\"adf-property-field adf-dateitem-editable-controls\"\n (click)=\"showDatePicker()\"\n tabindex=\"0\"\n role=\"button\"\n (keyup.enter)=\"showDatePicker()\"\n >\n <input\n class=\"adf-invisible-date-input\"\n [attr.tabIndex]=\"-1\"\n [matDatetimepicker]=\"datetimePicker\"\n (dateChange)=\"addDateToList($event)\"\n [attr.id]=\"'card-view-dateitem-' + property.key\"\n />\n <mat-datetimepicker-toggle\n [attr.tabindex]=\"-1\"\n matSuffix\n [attr.title]=\"'CORE.METADATA.ACTIONS.EDIT' | translate\"\n [attr.data-automation-id]=\"'datepickertoggle-' + property.key\"\n [for]=\"datetimePicker\"\n />\n <mat-datetimepicker\n #datetimePicker\n [type]=\"$any(property).type\"\n [timeInterval]=\"5\"\n [attr.data-automation-id]=\"'datepicker-' + property.key\"\n [startAt]=\"valueDate\"\n />\n </div>\n </div>\n</div>\n", styles: [".adf-card-view-dateitem{display:flow-root}.adf-card-view-dateitem .adf-dateitem-editable{cursor:pointer;width:100%}.adf-card-view-dateitem .adf-dateitem-editable-controls{display:flex;align-items:center;justify-content:space-between;top:6px;position:relative;left:12px;height:20px}.adf-card-view-dateitem .adf-dateitem-editable-controls .mat-icon{opacity:.5}.adf-card-view-dateitem .adf-dateitem-editable-controls .mat-icon:hover{opacity:1}.adf-card-view-dateitem .adf-dateitem-editable-controls mat-datetimepicker-toggle{transform:scale(.8)}.adf-card-view-dateitem .adf-dateitem-editable-controls .adf-datepicker-span-button{flex:1 0 auto;font-size:14px;top:10px;position:relative}.adf-card-view-dateitem .adf-dateitem-editable .mdc-line-ripple,.adf-card-view-dateitem .adf-dateitem-editable .mat-mdc-form-field-subscript-wrapper{display:none}.adf-card-view-dateitem .adf-property-value{padding-top:6px;padding-bottom:6px;line-height:20px;color:var(--adf-metadata-property-panel-title-color);margin-top:10px}.adf-card-view-dateitem .adf-property-value.adf-property-value-editable{display:flex;align-items:center;border-radius:6px;border-bottom:inherit;padding-left:0}.adf-card-view-dateitem .adf-property-value.adf-property-value-editable:not(.adf-property-readonly-value){margin-top:35px}.adf-card-view-dateitem .adf-property-value.adf-property-value-editable .adf-date-reset-icon{position:relative;padding:0}.adf-card-view-dateitem .adf-property-value.adf-property-value-editable .adf-dateitem-picker-toggle{position:relative}.adf-card-view-dateitem .adf-property-value.adf-property-readonly-value{padding:0 0 0 12px}.adf-card-view-dateitem .adf-invisible-date-input{height:2px;width:0;overflow:hidden;opacity:0;border:none;margin:0;padding:0;float:right}.adf-card-view-dateitem .adf-invisible-date-input.mat-mdc-input-element.mat-mdc-form-field-input-control{margin-top:35px}.adf-card-view-dateitem .adf-dateitem-chip-list-container.adf-property-field{margin-bottom:-7px;border-bottom:0;cursor:pointer}\n"] }]
18488
18319
  }], ctorParameters: () => [{ type: i1$2.DateAdapter }, { type: UserPreferencesService }, { type: ClipboardService }, { type: TranslationService }], propDecorators: { displayEmpty: [{
18489
18320
  type: Input
18490
18321
  }], displayClearAction: [{
@@ -19042,11 +18873,11 @@ class CardViewComponent {
19042
18873
  this.displayLabelForChips = false;
19043
18874
  }
19044
18875
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CardViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19045
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: CardViewComponent, isStandalone: true, selector: "adf-card-view", inputs: { properties: "properties", editable: "editable", displayEmpty: "displayEmpty", displayNoneOption: "displayNoneOption", displayClearAction: "displayClearAction", copyToClipboardAction: "copyToClipboardAction", useChipsForMultiValueProperty: "useChipsForMultiValueProperty", multiValueSeparator: "multiValueSeparator", displayLabelForChips: "displayLabelForChips" }, ngImport: i0, template: "<div class=\"adf-property-list\">\n <div *ngFor=\"let property of properties\" class=\"adf-property-container\">\n <div [attr.data-automation-id]=\"'header-'+property.key\" class=\"adf-property\">\n <adf-card-view-item-dispatcher\n [property]=\"property\"\n [editable]=\"editable\"\n [displayEmpty]=\"displayEmpty\"\n [displayNoneOption]=\"property['displayNoneOption'] !== undefined ? property['displayNoneOption'] : displayNoneOption\"\n [displayClearAction]=\"displayClearAction\"\n [copyToClipboardAction]=\"copyToClipboardAction\"\n [useChipsForMultiValueProperty]=\"useChipsForMultiValueProperty\"\n [multiValueSeparator]=\"multiValueSeparator\"\n [displayLabelForChips]=\"displayLabelForChips\" />\n </div>\n </div>\n</div>\n", styles: [".adf-property-list{border:unset;border-color:var(--adf-theme-foreground-divider-color);border-radius:0}.adf-property-list .adf-property-label{color:var(--adf-metadata-property-panel-text-color);display:flex;line-height:20px}.adf-property-list .adf-property-label.adf-property-readonly-value{color:var(--adf-metadata-property-panel-label-color)}.adf-property-list .adf-property-label.adf-property-value-editable{color:var(--adf-metadata-property-panel-title-color)}.adf-property-list .adf-property-container{margin-bottom:12px}.adf-property-list .adf-property .adf-property-field{width:100%}.adf-property-list .adf-property .adf-property-field .mat-form-field-underline{display:none}.adf-property-list .adf-property .adf-property-field .mat-mdc-input-element{text-overflow:ellipsis;line-height:20px}.adf-property-list .adf-property .adf-property-field .mat-mdc-input-element.adf-property-value-editable{padding:6px 0 6px 12px}.adf-property-list .adf-property .adf-property-field .mat-mdc-input-element.adf-property-value-editable:disabled{color:var(--adf-metadata-property-panel-label-color)}.adf-property-list .adf-property .adf-property-field .adf-card-view__key-value-pairs__row .mat-mdc-input-element{margin-top:0;padding-left:12px}.adf-property-list .adf-property .adf-property-field .mat-mdc-form-text-infix{border-top-width:0}.adf-property-list .adf-property .adf-property-field .mat-mdc-form-field-flex{padding-top:0}.adf-property-list .adf-property .adf-property-field .mat-mdc-text-field-wrapper{background-color:inherit;padding-bottom:0;padding-left:0;padding-right:0}.adf-property-list .adf-property .adf-property-field .mat-mdc-floating-label{padding:0;justify-content:center;display:flex;flex-direction:column;height:20px}.adf-property-list .adf-property .adf-property-field .mat-mdc-floating-label.adf-property-field-label--empty{transform:translateY(-1.3437em) scale(1)}.adf-property-list .adf-property .adf-card-view-textitem .adf-property-field{padding-top:0}.adf-property-list .adf-property-value.adf-property-value-editable{background-color:var(--adf-metadata-buttons-background-color);box-sizing:border-box;border-radius:6px;height:32px;padding-left:10px}.adf-property-list .adf-property-value.adf-property-value-editable .mat-mdc-input-element{color:var(--adf-metadata-action-button-clear-color);padding:5px 0 6px 12px;margin:5px 0 0}.adf-property-list .adf-property-value.adf-property-readonly-value,.adf-property-list .adf-property-value.adf-property-readonly-value .mat-mdc-input-element{color:var(--adf-metadata-property-panel-label-color)}.adf-property-list .adf-property-value-has-error{border:1px solid var(--theme-warn-color)}.adf-property-list .adf-property-value-input{background-color:var(--adf-metadata-buttons-background-color);box-sizing:border-box;border-radius:6px;padding:6px 0;margin:0;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: CardViewItemDispatcherComponent, selector: "adf-card-view-item-dispatcher", inputs: ["property", "editable", "displayEmpty", "displayNoneOption", "displayClearAction", "copyToClipboardAction", "useChipsForMultiValueProperty", "multiValueSeparator", "displayLabelForChips"] }], encapsulation: i0.ViewEncapsulation.None }); }
18876
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: CardViewComponent, isStandalone: true, selector: "adf-card-view", inputs: { properties: "properties", editable: "editable", displayEmpty: "displayEmpty", displayNoneOption: "displayNoneOption", displayClearAction: "displayClearAction", copyToClipboardAction: "copyToClipboardAction", useChipsForMultiValueProperty: "useChipsForMultiValueProperty", multiValueSeparator: "multiValueSeparator", displayLabelForChips: "displayLabelForChips" }, ngImport: i0, template: "<div class=\"adf-property-list\">\n <div *ngFor=\"let property of properties\" class=\"adf-property-container\">\n <div [attr.data-automation-id]=\"'header-'+property.key\" class=\"adf-property\">\n <adf-card-view-item-dispatcher\n [property]=\"property\"\n [editable]=\"editable\"\n [displayEmpty]=\"displayEmpty\"\n [displayNoneOption]=\"property['displayNoneOption'] !== undefined ? property['displayNoneOption'] : displayNoneOption\"\n [displayClearAction]=\"displayClearAction\"\n [copyToClipboardAction]=\"copyToClipboardAction\"\n [useChipsForMultiValueProperty]=\"useChipsForMultiValueProperty\"\n [multiValueSeparator]=\"multiValueSeparator\"\n [displayLabelForChips]=\"displayLabelForChips\" />\n </div>\n </div>\n</div>\n", styles: [".adf-property-list{border:unset;border-color:var(--adf-theme-foreground-divider-color);border-radius:0}.adf-property-list .adf-property-label{color:var(--adf-metadata-property-panel-text-color);display:flex;line-height:20px;margin-bottom:4px}.adf-property-list .adf-property-label.adf-property-readonly-value{color:var(--adf-metadata-property-panel-label-color)}.adf-property-list .adf-property-label.adf-property-value-editable{color:var(--adf-metadata-property-panel-title-color)}.adf-property-list .adf-property-container{margin-bottom:12px}.adf-property-list .adf-property .adf-property-field{width:100%}.adf-property-list .adf-property .adf-property-field .mat-form-field-underline{display:none}.adf-property-list .adf-property .adf-property-field .mat-mdc-input-element{text-overflow:ellipsis;line-height:20px}.adf-property-list .adf-property .adf-property-field .mat-mdc-input-element.adf-property-value-editable{padding:6px 0 6px 12px}.adf-property-list .adf-property .adf-property-field .mat-mdc-input-element.adf-property-value-editable:disabled{color:var(--adf-metadata-property-panel-label-color)}.adf-property-list .adf-property .adf-property-field .adf-card-view__key-value-pairs__row .mat-mdc-input-element{margin-top:0;padding-left:12px}.adf-property-list .adf-property .adf-property-field .mat-mdc-form-text-infix{border-top-width:0}.adf-property-list .adf-property .adf-property-field .mat-mdc-form-field-flex{padding-top:0}.adf-property-list .adf-property .adf-property-field .mat-mdc-text-field-wrapper{background-color:inherit;padding-bottom:0;padding-left:0;padding-right:0}.adf-property-list .adf-property .adf-property-field .mat-mdc-floating-label{padding:0;justify-content:center;display:flex;flex-direction:column;height:20px}.adf-property-list .adf-property .adf-property-field .mat-mdc-floating-label.adf-property-field-label--empty{transform:translateY(-1.3437em) scale(1)}.adf-property-list .adf-property .adf-card-view-textitem .adf-property-field{padding-top:0}.adf-property-list .adf-property-value.adf-property-value-editable{background-color:var(--adf-metadata-buttons-background-color);box-sizing:border-box;border-radius:6px;height:32px;padding-left:10px}.adf-property-list .adf-property-value.adf-property-value-editable .mat-mdc-input-element{color:var(--adf-metadata-action-button-clear-color);padding:5px 0 6px 12px;margin:5px 0 0}.adf-property-list .adf-property-value.adf-property-readonly-value,.adf-property-list .adf-property-value.adf-property-readonly-value .mat-mdc-input-element{color:var(--adf-metadata-property-panel-label-color)}.adf-property-list .adf-property-value-has-error{border:1px solid var(--theme-warn-color)}.adf-property-list .adf-property-value-input{background-color:var(--adf-metadata-buttons-background-color);box-sizing:border-box;border-radius:6px;padding:6px 0;margin:0;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: CardViewItemDispatcherComponent, selector: "adf-card-view-item-dispatcher", inputs: ["property", "editable", "displayEmpty", "displayNoneOption", "displayClearAction", "copyToClipboardAction", "useChipsForMultiValueProperty", "multiValueSeparator", "displayLabelForChips"] }], encapsulation: i0.ViewEncapsulation.None }); }
19046
18877
  }
19047
18878
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CardViewComponent, decorators: [{
19048
18879
  type: Component,
19049
- args: [{ selector: 'adf-card-view', imports: [CommonModule, CardViewItemDispatcherComponent], encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-property-list\">\n <div *ngFor=\"let property of properties\" class=\"adf-property-container\">\n <div [attr.data-automation-id]=\"'header-'+property.key\" class=\"adf-property\">\n <adf-card-view-item-dispatcher\n [property]=\"property\"\n [editable]=\"editable\"\n [displayEmpty]=\"displayEmpty\"\n [displayNoneOption]=\"property['displayNoneOption'] !== undefined ? property['displayNoneOption'] : displayNoneOption\"\n [displayClearAction]=\"displayClearAction\"\n [copyToClipboardAction]=\"copyToClipboardAction\"\n [useChipsForMultiValueProperty]=\"useChipsForMultiValueProperty\"\n [multiValueSeparator]=\"multiValueSeparator\"\n [displayLabelForChips]=\"displayLabelForChips\" />\n </div>\n </div>\n</div>\n", styles: [".adf-property-list{border:unset;border-color:var(--adf-theme-foreground-divider-color);border-radius:0}.adf-property-list .adf-property-label{color:var(--adf-metadata-property-panel-text-color);display:flex;line-height:20px}.adf-property-list .adf-property-label.adf-property-readonly-value{color:var(--adf-metadata-property-panel-label-color)}.adf-property-list .adf-property-label.adf-property-value-editable{color:var(--adf-metadata-property-panel-title-color)}.adf-property-list .adf-property-container{margin-bottom:12px}.adf-property-list .adf-property .adf-property-field{width:100%}.adf-property-list .adf-property .adf-property-field .mat-form-field-underline{display:none}.adf-property-list .adf-property .adf-property-field .mat-mdc-input-element{text-overflow:ellipsis;line-height:20px}.adf-property-list .adf-property .adf-property-field .mat-mdc-input-element.adf-property-value-editable{padding:6px 0 6px 12px}.adf-property-list .adf-property .adf-property-field .mat-mdc-input-element.adf-property-value-editable:disabled{color:var(--adf-metadata-property-panel-label-color)}.adf-property-list .adf-property .adf-property-field .adf-card-view__key-value-pairs__row .mat-mdc-input-element{margin-top:0;padding-left:12px}.adf-property-list .adf-property .adf-property-field .mat-mdc-form-text-infix{border-top-width:0}.adf-property-list .adf-property .adf-property-field .mat-mdc-form-field-flex{padding-top:0}.adf-property-list .adf-property .adf-property-field .mat-mdc-text-field-wrapper{background-color:inherit;padding-bottom:0;padding-left:0;padding-right:0}.adf-property-list .adf-property .adf-property-field .mat-mdc-floating-label{padding:0;justify-content:center;display:flex;flex-direction:column;height:20px}.adf-property-list .adf-property .adf-property-field .mat-mdc-floating-label.adf-property-field-label--empty{transform:translateY(-1.3437em) scale(1)}.adf-property-list .adf-property .adf-card-view-textitem .adf-property-field{padding-top:0}.adf-property-list .adf-property-value.adf-property-value-editable{background-color:var(--adf-metadata-buttons-background-color);box-sizing:border-box;border-radius:6px;height:32px;padding-left:10px}.adf-property-list .adf-property-value.adf-property-value-editable .mat-mdc-input-element{color:var(--adf-metadata-action-button-clear-color);padding:5px 0 6px 12px;margin:5px 0 0}.adf-property-list .adf-property-value.adf-property-readonly-value,.adf-property-list .adf-property-value.adf-property-readonly-value .mat-mdc-input-element{color:var(--adf-metadata-property-panel-label-color)}.adf-property-list .adf-property-value-has-error{border:1px solid var(--theme-warn-color)}.adf-property-list .adf-property-value-input{background-color:var(--adf-metadata-buttons-background-color);box-sizing:border-box;border-radius:6px;padding:6px 0;margin:0;width:100%}\n"] }]
18880
+ args: [{ selector: 'adf-card-view', imports: [CommonModule, CardViewItemDispatcherComponent], encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-property-list\">\n <div *ngFor=\"let property of properties\" class=\"adf-property-container\">\n <div [attr.data-automation-id]=\"'header-'+property.key\" class=\"adf-property\">\n <adf-card-view-item-dispatcher\n [property]=\"property\"\n [editable]=\"editable\"\n [displayEmpty]=\"displayEmpty\"\n [displayNoneOption]=\"property['displayNoneOption'] !== undefined ? property['displayNoneOption'] : displayNoneOption\"\n [displayClearAction]=\"displayClearAction\"\n [copyToClipboardAction]=\"copyToClipboardAction\"\n [useChipsForMultiValueProperty]=\"useChipsForMultiValueProperty\"\n [multiValueSeparator]=\"multiValueSeparator\"\n [displayLabelForChips]=\"displayLabelForChips\" />\n </div>\n </div>\n</div>\n", styles: [".adf-property-list{border:unset;border-color:var(--adf-theme-foreground-divider-color);border-radius:0}.adf-property-list .adf-property-label{color:var(--adf-metadata-property-panel-text-color);display:flex;line-height:20px;margin-bottom:4px}.adf-property-list .adf-property-label.adf-property-readonly-value{color:var(--adf-metadata-property-panel-label-color)}.adf-property-list .adf-property-label.adf-property-value-editable{color:var(--adf-metadata-property-panel-title-color)}.adf-property-list .adf-property-container{margin-bottom:12px}.adf-property-list .adf-property .adf-property-field{width:100%}.adf-property-list .adf-property .adf-property-field .mat-form-field-underline{display:none}.adf-property-list .adf-property .adf-property-field .mat-mdc-input-element{text-overflow:ellipsis;line-height:20px}.adf-property-list .adf-property .adf-property-field .mat-mdc-input-element.adf-property-value-editable{padding:6px 0 6px 12px}.adf-property-list .adf-property .adf-property-field .mat-mdc-input-element.adf-property-value-editable:disabled{color:var(--adf-metadata-property-panel-label-color)}.adf-property-list .adf-property .adf-property-field .adf-card-view__key-value-pairs__row .mat-mdc-input-element{margin-top:0;padding-left:12px}.adf-property-list .adf-property .adf-property-field .mat-mdc-form-text-infix{border-top-width:0}.adf-property-list .adf-property .adf-property-field .mat-mdc-form-field-flex{padding-top:0}.adf-property-list .adf-property .adf-property-field .mat-mdc-text-field-wrapper{background-color:inherit;padding-bottom:0;padding-left:0;padding-right:0}.adf-property-list .adf-property .adf-property-field .mat-mdc-floating-label{padding:0;justify-content:center;display:flex;flex-direction:column;height:20px}.adf-property-list .adf-property .adf-property-field .mat-mdc-floating-label.adf-property-field-label--empty{transform:translateY(-1.3437em) scale(1)}.adf-property-list .adf-property .adf-card-view-textitem .adf-property-field{padding-top:0}.adf-property-list .adf-property-value.adf-property-value-editable{background-color:var(--adf-metadata-buttons-background-color);box-sizing:border-box;border-radius:6px;height:32px;padding-left:10px}.adf-property-list .adf-property-value.adf-property-value-editable .mat-mdc-input-element{color:var(--adf-metadata-action-button-clear-color);padding:5px 0 6px 12px;margin:5px 0 0}.adf-property-list .adf-property-value.adf-property-readonly-value,.adf-property-list .adf-property-value.adf-property-readonly-value .mat-mdc-input-element{color:var(--adf-metadata-property-panel-label-color)}.adf-property-list .adf-property-value-has-error{border:1px solid var(--theme-warn-color)}.adf-property-list .adf-property-value-input{background-color:var(--adf-metadata-buttons-background-color);box-sizing:border-box;border-radius:6px;padding:6px 0;margin:0;width:100%}\n"] }]
19050
18881
  }], propDecorators: { properties: [{
19051
18882
  type: Input,
19052
18883
  args: [{ required: true }]
@@ -20340,6 +20171,7 @@ class FormWidgetModel {
20340
20171
  class FormFieldTypes {
20341
20172
  static { this.CONTAINER = 'container'; }
20342
20173
  static { this.GROUP = 'group'; }
20174
+ static { this.REPEATABLE_SECTION = 'repeatable-section'; }
20343
20175
  static { this.SECTION = 'section'; }
20344
20176
  static { this.DYNAMIC_TABLE = 'dynamic-table'; }
20345
20177
  static { this.TEXT = 'text'; }
@@ -20370,6 +20202,7 @@ class FormFieldTypes {
20370
20202
  static { this.JSON = 'json'; }
20371
20203
  static { this.DATA_TABLE = 'data-table'; }
20372
20204
  static { this.DISPLAY_EXTERNAL_PROPERTY = 'display-external-property'; }
20205
+ static { this.BUTTON = 'button'; }
20373
20206
  static { this.READONLY_TYPES = [FormFieldTypes.HYPERLINK, FormFieldTypes.DISPLAY_VALUE, FormFieldTypes.READONLY_TEXT, FormFieldTypes.GROUP]; }
20374
20207
  static { this.VALIDATABLE_TYPES = [FormFieldTypes.DISPLAY_EXTERNAL_PROPERTY]; }
20375
20208
  static { this.REACTIVE_TYPES = [FormFieldTypes.DATE, FormFieldTypes.DATETIME, FormFieldTypes.DROPDOWN]; }
@@ -20383,6 +20216,9 @@ class FormFieldTypes {
20383
20216
  static isReactiveType(type) {
20384
20217
  return FormFieldTypes.REACTIVE_TYPES.includes(type);
20385
20218
  }
20219
+ static isReactiveWidget(instance) {
20220
+ return FormFieldTypes.REACTIVE_TYPES.includes(instance?.field?.type);
20221
+ }
20386
20222
  static isConstantValueType(type) {
20387
20223
  return FormFieldTypes.CONSTANT_VALUE_TYPES.includes(type);
20388
20224
  }
@@ -20392,6 +20228,9 @@ class FormFieldTypes {
20392
20228
  static isSectionType(type) {
20393
20229
  return type === FormFieldTypes.SECTION;
20394
20230
  }
20231
+ static isRepeatableSectionType(type) {
20232
+ return type === FormFieldTypes.REPEATABLE_SECTION;
20233
+ }
20395
20234
  }
20396
20235
 
20397
20236
  /*!
@@ -20568,6 +20407,7 @@ class ContainerColumnModel {
20568
20407
  this.fields = [];
20569
20408
  this.colspan = 1;
20570
20409
  this.rowspan = 1;
20410
+ this.id = window.crypto.getRandomValues(new Uint32Array(1))[0].toString();
20571
20411
  }
20572
20412
  hasFields() {
20573
20413
  return !!this.fields?.length;
@@ -20635,6 +20475,82 @@ const isNumberValue = (value) => {
20635
20475
  return !isNaN(+value);
20636
20476
  };
20637
20477
 
20478
+ /*!
20479
+ * @license
20480
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
20481
+ *
20482
+ * Licensed under the Apache License, Version 2.0 (the "License");
20483
+ * you may not use this file except in compliance with the License.
20484
+ * You may obtain a copy of the License at
20485
+ *
20486
+ * http://www.apache.org/licenses/LICENSE-2.0
20487
+ *
20488
+ * Unless required by applicable law or agreed to in writing, software
20489
+ * distributed under the License is distributed on an "AS IS" BASIS,
20490
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20491
+ * See the License for the specific language governing permissions and
20492
+ * limitations under the License.
20493
+ */
20494
+ class ContainerRowModel {
20495
+ constructor(isInitial = false) {
20496
+ this.columns = [];
20497
+ this.size = 12;
20498
+ this.colspan = 1;
20499
+ this.rowspan = 1;
20500
+ this.isInitial = isInitial;
20501
+ this.id = window.crypto.getRandomValues(new Uint32Array(1))[0].toString();
20502
+ }
20503
+ }
20504
+
20505
+ /*!
20506
+ * @license
20507
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
20508
+ *
20509
+ * Licensed under the Apache License, Version 2.0 (the "License");
20510
+ * you may not use this file except in compliance with the License.
20511
+ * You may obtain a copy of the License at
20512
+ *
20513
+ * http://www.apache.org/licenses/LICENSE-2.0
20514
+ *
20515
+ * Unless required by applicable law or agreed to in writing, software
20516
+ * distributed under the License is distributed on an "AS IS" BASIS,
20517
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20518
+ * See the License for the specific language governing permissions and
20519
+ * limitations under the License.
20520
+ */
20521
+ const ROW_ID_PREFIX = '-Row';
20522
+
20523
+ /*!
20524
+ * @license
20525
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
20526
+ *
20527
+ * Licensed under the Apache License, Version 2.0 (the "License");
20528
+ * you may not use this file except in compliance with the License.
20529
+ * You may obtain a copy of the License at
20530
+ *
20531
+ * http://www.apache.org/licenses/LICENSE-2.0
20532
+ *
20533
+ * Unless required by applicable law or agreed to in writing, software
20534
+ * distributed under the License is distributed on an "AS IS" BASIS,
20535
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20536
+ * See the License for the specific language governing permissions and
20537
+ * limitations under the License.
20538
+ */
20539
+ const getRule = (id, rule, parent) => rule && parent
20540
+ ? {
20541
+ ...rule,
20542
+ ruleOn: getRepeatableSectionChildRuleOn(id, rule.ruleOn ?? '')
20543
+ }
20544
+ : rule;
20545
+ const getRepeatableSectionChildRuleOn = (id, ruleOn) => ruleOn + ROW_ID_PREFIX + getRowId(id);
20546
+ const getRowId = (id) => {
20547
+ const split = id.split(ROW_ID_PREFIX);
20548
+ return split.length > 1 ? split[1] : '';
20549
+ };
20550
+ const formFieldRuleHandler = {
20551
+ getRule
20552
+ };
20553
+
20638
20554
  /*!
20639
20555
  * @license
20640
20556
  * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -20671,6 +20587,10 @@ class FormFieldModel extends FormWidgetModel {
20671
20587
  }
20672
20588
  set readOnly(readOnly) {
20673
20589
  this._readOnly = readOnly;
20590
+ if (this.type === FormFieldTypes.REPEATABLE_SECTION) {
20591
+ this.updateRepeatableSectionReadOnlyState(readOnly);
20592
+ return;
20593
+ }
20674
20594
  this.updateForm();
20675
20595
  }
20676
20596
  get required() {
@@ -20709,7 +20629,7 @@ class FormFieldModel extends FormWidgetModel {
20709
20629
  isFieldValidatable() {
20710
20630
  return !this.readOnly || FormFieldTypes.isValidatableType(this.type);
20711
20631
  }
20712
- constructor(form, json) {
20632
+ constructor(form, json, parent) {
20713
20633
  super(form, json);
20714
20634
  this._readOnly = false;
20715
20635
  this._isValid = true;
@@ -20738,9 +20658,10 @@ class FormFieldModel extends FormWidgetModel {
20738
20658
  this.numberOfColumns = 1;
20739
20659
  this.fields = [];
20740
20660
  this.columns = [];
20661
+ this.rows = [];
20741
20662
  if (json) {
20742
20663
  this.fieldType = json.fieldType;
20743
- this.id = json.id;
20664
+ this.id = this.getId(json.id, parent);
20744
20665
  this.name = json.name;
20745
20666
  this.type = json.type;
20746
20667
  this.roles = json.roles;
@@ -20778,15 +20699,16 @@ class FormFieldModel extends FormWidgetModel {
20778
20699
  this.tooltip = json.tooltip || '';
20779
20700
  this.selectionType = json.selectionType;
20780
20701
  this.alignmentType = json.alignmentType;
20781
- this.rule = json.rule;
20702
+ this.rule = formFieldRuleHandler.getRule(this.id, json.rule, parent);
20782
20703
  this.selectLoggedUser = json.selectLoggedUser;
20783
20704
  this.groupsRestriction = json.groupsRestriction?.groups;
20784
20705
  this.variableConfig = json.variableConfig;
20785
20706
  this.schemaDefinition = json.schemaDefinition;
20786
20707
  this.precision = json.precision;
20787
20708
  this.externalProperty = json.externalProperty;
20788
- this._value = this.parseValue(json);
20709
+ this._value = this.parseValue(json, parent?.value);
20789
20710
  this.style = json.style;
20711
+ this.parent = parent;
20790
20712
  if (json.placeholder && json.placeholder !== '' && json.placeholder !== 'null') {
20791
20713
  this.placeholder = json.placeholder;
20792
20714
  }
@@ -20798,6 +20720,9 @@ class FormFieldModel extends FormWidgetModel {
20798
20720
  if (FormFieldTypes.isContainerType(this.type) || FormFieldTypes.isSectionType(this.type)) {
20799
20721
  this.containerFactory(json, form);
20800
20722
  }
20723
+ if (FormFieldTypes.isRepeatableSectionType(this.type)) {
20724
+ this.repeatableSectionFactory(json, form);
20725
+ }
20801
20726
  }
20802
20727
  if (form?.json) {
20803
20728
  this.leftLabels = form.json.leftLabels || false;
@@ -20820,6 +20745,9 @@ class FormFieldModel extends FormWidgetModel {
20820
20745
  }
20821
20746
  return originalType === FormFieldTypes.DATETIME ? this.defaultDateTimeFormat : this.defaultDateFormat;
20822
20747
  }
20748
+ getId(id, parent) {
20749
+ return parent ? parent.uid : id;
20750
+ }
20823
20751
  isTypeaheadFieldType(type) {
20824
20752
  return type === 'typeahead';
20825
20753
  }
@@ -20844,7 +20772,7 @@ class FormFieldModel extends FormWidgetModel {
20844
20772
  return;
20845
20773
  }
20846
20774
  const col = new ContainerColumnModel();
20847
- col.fields = (fields[currentField] || []).map((field) => new FormFieldModel(form, field));
20775
+ col.fields = (fields[currentField] || []).map((field) => new FormFieldModel(form, field, this.setupParentConfig(field)));
20848
20776
  col.rowspan = fields[currentField].length;
20849
20777
  if (!FormFieldTypes.isSectionType(this.type)) {
20850
20778
  this.updateContainerColspan(col.fields);
@@ -20853,17 +20781,143 @@ class FormFieldModel extends FormWidgetModel {
20853
20781
  this.columns.push(col);
20854
20782
  });
20855
20783
  }
20784
+ setupParentConfig(field) {
20785
+ if (this.parent) {
20786
+ return {
20787
+ ...this.parent,
20788
+ uid: this.getUniqueId(field, this.parent.uid.split(ROW_ID_PREFIX)[1]),
20789
+ value: this.parent.value?.[field.id]
20790
+ };
20791
+ }
20792
+ return undefined;
20793
+ }
20794
+ repeatableSectionFactory(json, form) {
20795
+ const { numberOfColumns = 1, params, value, fields = {} } = json;
20796
+ this.numberOfColumns = numberOfColumns;
20797
+ this.fields = fields;
20798
+ this.rowspan = 1;
20799
+ this.colspan = 1;
20800
+ this.rows = [];
20801
+ for (let i = 0; i < this.getNumberOfRows(params.initialNumberOfRows, params.maxNumberOfRows, value); i++) {
20802
+ this.rows.push(this.createRow(fields, form, i, value?.[i], i < params?.initialNumberOfRows));
20803
+ }
20804
+ this.columns = this.rows[0].columns;
20805
+ }
20806
+ getNumberOfRows(initialNrRows = 1, maxNrRows, value) {
20807
+ return value?.length ? (maxNrRows ? Math.min(value.length, maxNrRows) : value.length) : initialNrRows;
20808
+ }
20809
+ createRow(fields, form, index, value, isInitial = false) {
20810
+ const row = new ContainerRowModel(isInitial);
20811
+ row.columns.push(...this.createColumns(fields, form, row.id, index, value));
20812
+ return row;
20813
+ }
20814
+ createColumns(fields, form, rowId, index, value) {
20815
+ const columns = [];
20816
+ Object.keys(fields).forEach((currentField) => {
20817
+ if (!Object.prototype.hasOwnProperty.call(fields, currentField)) {
20818
+ return;
20819
+ }
20820
+ const col = new ContainerColumnModel();
20821
+ col.fields = (fields[currentField] || []).map((field) => new FormFieldModel(form, field, {
20822
+ id: this.id,
20823
+ uid: this.getUniqueId(field, rowId),
20824
+ fields: this.fields,
20825
+ rowIndex: index ?? 0,
20826
+ value: field.type === FormFieldTypes.SECTION ? value : value?.[field.id]
20827
+ }));
20828
+ col.rowspan = fields[currentField].length;
20829
+ if (!FormFieldTypes.isSectionType(this.type)) {
20830
+ this.updateContainerColspan(col.fields);
20831
+ }
20832
+ this.rowspan = Math.max(this.rowspan, col.rowspan);
20833
+ columns.push(col);
20834
+ });
20835
+ return columns;
20836
+ }
20837
+ updateRepeatableSectionReadOnlyState(state) {
20838
+ for (const row of this.rows) {
20839
+ for (const column of row.columns) {
20840
+ for (const field of column.fields) {
20841
+ if (field.type === FormFieldTypes.SECTION) {
20842
+ this.updateInnerSectionReadOnlyState(field, state);
20843
+ }
20844
+ field.readOnly = this.getRepeatableSectionFieldReadOnlyState(field, state);
20845
+ }
20846
+ }
20847
+ }
20848
+ }
20849
+ updateInnerSectionReadOnlyState(section, state) {
20850
+ for (const column of section.columns) {
20851
+ for (const field of column.fields) {
20852
+ field.readOnly = this.getRepeatableSectionFieldReadOnlyState(field, state);
20853
+ }
20854
+ }
20855
+ }
20856
+ getRepeatableSectionFieldReadOnlyState(field, state) {
20857
+ return state || field.json.readOnly;
20858
+ }
20859
+ getUniqueId(field, rowId) {
20860
+ return field.id + ROW_ID_PREFIX + rowId;
20861
+ }
20862
+ updateChildrenFieldsRowIndex() {
20863
+ this.rows.forEach((row, index) => {
20864
+ for (const column of row.columns) {
20865
+ for (const field of column.fields) {
20866
+ field.parent.rowIndex = index;
20867
+ }
20868
+ }
20869
+ });
20870
+ }
20871
+ createInitialValue(fields) {
20872
+ return Object.keys(fields)
20873
+ .map((currentField) => (fields[currentField] || []).map((field) => this.getFieldId(field)))
20874
+ .flat(2)
20875
+ .reduce((acc, curr) => ((acc[curr] = null), acc), {});
20876
+ }
20877
+ getFieldId(field) {
20878
+ if (field.type === FormFieldTypes.SECTION) {
20879
+ const fields = field.fields;
20880
+ return Object.keys(fields)
20881
+ .map((currentField) => (fields[currentField] || []).map((e) => e.id))
20882
+ .flat(1);
20883
+ }
20884
+ return field.id;
20885
+ }
20856
20886
  updateContainerColspan(fields) {
20857
20887
  fields.forEach((colField) => {
20858
20888
  this.colspan = Math.max(this.colspan, colField.colspan);
20859
20889
  });
20860
20890
  }
20861
- parseValue(json) {
20862
- const value = Object.prototype.hasOwnProperty.call(json, 'value') && json.value !== undefined ? json.value : null;
20863
- /*
20864
- This is needed due to Activiti issue related to reading dropdown values as value string
20865
- but saving back as object: { id: <id>, name: <name> }
20866
- */
20891
+ addRow(fields, form) {
20892
+ if (!this.shouldAddRow()) {
20893
+ return;
20894
+ }
20895
+ this.rows.push(this.createRow(fields, form, this.rows.length));
20896
+ }
20897
+ shouldAddRow() {
20898
+ return !this.params.maxNumberOfRows || this.rows.length < this.params.maxNumberOfRows;
20899
+ }
20900
+ removeRow(index) {
20901
+ if (!this.shouldRemoveRow(index)) {
20902
+ return;
20903
+ }
20904
+ this.rows.splice(index, 1);
20905
+ this.updateChildrenFieldsRowIndex();
20906
+ if (!this.form.values[this.id]) {
20907
+ return;
20908
+ }
20909
+ this.form.values[this.id].splice(index, 1);
20910
+ this.form.onFormFieldChanged(this);
20911
+ }
20912
+ shouldRemoveRow(index) {
20913
+ return this.rows.length > index;
20914
+ }
20915
+ parseValue(json, initialValue) {
20916
+ const value = initialValue ?? (Object.prototype.hasOwnProperty.call(json, 'value') && json.value !== undefined ? json.value : null);
20917
+ /*
20918
+ This is needed due to Activiti issue related to reading dropdown values as value string
20919
+ but saving back as object: { id: <id>, name: <name> }
20920
+ */
20867
20921
  if (json.type === FormFieldTypes.DROPDOWN) {
20868
20922
  if (this.hasEmptyValue) {
20869
20923
  if (!this.emptyOption) {
@@ -20928,7 +20982,7 @@ class FormFieldModel extends FormWidgetModel {
20928
20982
  return value;
20929
20983
  }
20930
20984
  if (this.isCheckboxField(json)) {
20931
- return json.value === 'true' || json.value === true;
20985
+ return json.value === 'true' || json.value === true || initialValue === true || initialValue === 'true';
20932
20986
  }
20933
20987
  return value;
20934
20988
  }
@@ -20936,69 +20990,64 @@ class FormFieldModel extends FormWidgetModel {
20936
20990
  if (!this.form) {
20937
20991
  return;
20938
20992
  }
20993
+ const formValue = this.getFormValue();
20994
+ if (this.parent) {
20995
+ this.updateRepeatableSectionValue(formValue);
20996
+ }
20997
+ else {
20998
+ this.updateValue(formValue);
20999
+ }
21000
+ this.form.onFormFieldChanged(this);
21001
+ }
21002
+ getFormValue() {
20939
21003
  switch (this.type) {
20940
21004
  case FormFieldTypes.DROPDOWN: {
20941
21005
  if (!this.value) {
20942
- this.form.values[this.id] = null;
20943
- break;
21006
+ return null;
20944
21007
  }
20945
21008
  /*
20946
21009
  This is needed due to Activiti reading dropdown values as string
20947
21010
  but saving back as object: { id: <id>, name: <name> }
20948
21011
  */
20949
21012
  if (Array.isArray(this.value)) {
20950
- this.form.values[this.id] = this.value;
20951
- break;
21013
+ return this.value;
20952
21014
  }
20953
21015
  if (typeof this.value === 'string') {
20954
21016
  if (this.value === 'empty' || this.value === '') {
20955
- this.form.values[this.id] = null;
20956
- break;
21017
+ return null;
20957
21018
  }
20958
21019
  const matchingOption = this.options.find((opt) => opt.id === this.value);
20959
- this.form.values[this.id] = matchingOption || null;
21020
+ return matchingOption || null;
20960
21021
  }
20961
21022
  if (typeof this.value === 'object') {
20962
21023
  if (this.value.id === 'empty' || this.value.id === '') {
20963
- this.form.values[this.id] = null;
20964
- break;
21024
+ return null;
20965
21025
  }
20966
21026
  const matchingOption = this.options.find((opt) => opt.id === this.value.id);
20967
- this.form.values[this.id] = matchingOption;
21027
+ return matchingOption;
20968
21028
  }
20969
- break;
21029
+ return null;
20970
21030
  }
20971
21031
  case FormFieldTypes.RADIO_BUTTONS: {
20972
21032
  const radioButton = this.options.find((opt) => opt.id === this.value);
20973
21033
  if (this.optionType === 'rest') {
20974
- this.form.values[this.id] = radioButton
20975
- ? { ...radioButton, options: this.options }
20976
- : { id: null, name: null, options: this.options };
20977
- }
20978
- else {
20979
- this.form.values[this.id] = radioButton ? { ...radioButton } : null;
21034
+ return radioButton ? { ...radioButton, options: this.options } : { id: null, name: null, options: this.options };
20980
21035
  }
20981
- break;
21036
+ return radioButton ? { ...radioButton } : null;
20982
21037
  }
20983
21038
  case FormFieldTypes.UPLOAD: {
20984
21039
  this.form.hasUpload = true;
20985
21040
  if (this.value && this.value.length > 0) {
20986
- this.form.values[this.id] = Array.isArray(this.value) ? this.value.map((elem) => elem.id).join(',') : [this.value];
20987
- }
20988
- else {
20989
- this.form.values[this.id] = null;
21041
+ return Array.isArray(this.value) ? this.value.map((elem) => elem.id).join(',') : [this.value];
20990
21042
  }
20991
- break;
21043
+ return null;
20992
21044
  }
20993
21045
  case FormFieldTypes.TYPEAHEAD: {
20994
21046
  const typeAheadEntry = this.options.filter((opt) => opt.id === this.value || opt.name === this.value);
20995
21047
  if (typeAheadEntry.length > 0) {
20996
- this.form.values[this.id] = typeAheadEntry[0];
20997
- }
20998
- else if (this.options.length > 0) {
20999
- this.form.values[this.id] = null;
21048
+ return typeAheadEntry[0];
21000
21049
  }
21001
- break;
21050
+ return null;
21002
21051
  }
21003
21052
  case FormFieldTypes.DATE: {
21004
21053
  if (typeof this.value === 'string' && this.value === 'today') {
@@ -21013,13 +21062,10 @@ class FormFieldModel extends FormWidgetModel {
21013
21062
  }
21014
21063
  if (isValid(dateValue)) {
21015
21064
  const datePart = DateFnsUtils.formatDate(dateValue, 'yyyy-MM-dd');
21016
- this.form.values[this.id] = `${datePart}T00:00:00.000Z`;
21017
- }
21018
- else {
21019
- this.form.values[this.id] = null;
21020
- this._value = this.value;
21065
+ return `${datePart}T00:00:00.000Z`;
21021
21066
  }
21022
- break;
21067
+ this._value = this.value;
21068
+ return null;
21023
21069
  }
21024
21070
  case FormFieldTypes.DATETIME: {
21025
21071
  if (typeof this.value === 'string' && this.value === 'now') {
@@ -21027,44 +21073,60 @@ class FormFieldModel extends FormWidgetModel {
21027
21073
  }
21028
21074
  const dateTimeValue = this.value !== null ? DateFnsUtils.getDate(this.value) : null;
21029
21075
  if (isValid(dateTimeValue)) {
21030
- this.form.values[this.id] = dateTimeValue.toISOString();
21031
- }
21032
- else {
21033
- this.form.values[this.id] = null;
21034
- this._value = this.value;
21076
+ return dateTimeValue.toISOString();
21035
21077
  }
21036
- break;
21078
+ this._value = this.value;
21079
+ return null;
21037
21080
  }
21038
21081
  case FormFieldTypes.NUMBER: {
21039
- this.form.values[this.id] = this.enableFractions ? parseFloat(this.value) : parseInt(this.value, 10);
21040
- break;
21082
+ return this.enableFractions ? parseFloat(this.value) : parseInt(this.value, 10);
21041
21083
  }
21042
21084
  case FormFieldTypes.AMOUNT: {
21043
- this.form.values[this.id] = this.enableFractions ? parseFloat(this.value) : parseInt(this.value, 10);
21044
- break;
21085
+ return this.enableFractions ? parseFloat(this.value) : parseInt(this.value, 10);
21045
21086
  }
21046
21087
  case FormFieldTypes.DECIMAL: {
21047
- this.form.values[this.id] = parseFloat(this.value);
21048
- break;
21088
+ return parseFloat(this.value);
21049
21089
  }
21050
21090
  case FormFieldTypes.BOOLEAN: {
21051
- this.form.values[this.id] = this.value !== null && this.value !== undefined ? this.value : false;
21052
- break;
21091
+ return this.value !== null && this.value !== undefined ? this.value : false;
21053
21092
  }
21054
21093
  case FormFieldTypes.PEOPLE: {
21055
- this.form.values[this.id] = this.value ? this.value : null;
21056
- break;
21094
+ return this.value ? this.value : null;
21057
21095
  }
21058
21096
  case FormFieldTypes.FUNCTIONAL_GROUP: {
21059
- this.form.values[this.id] = this.value ? this.value : null;
21060
- break;
21097
+ return this.value ? this.value : null;
21098
+ }
21099
+ case FormFieldTypes.REPEATABLE_SECTION: {
21100
+ this.repeatableSectionFactory({
21101
+ ...this.json,
21102
+ value: this.value
21103
+ }, this.form);
21104
+ return this.value ? this.value : this.form.values[this.id];
21061
21105
  }
21062
21106
  default:
21063
21107
  if (this.shouldUpdateFormValues(this.type)) {
21064
- this.form.values[this.id] = this.value;
21108
+ return this.value;
21065
21109
  }
21110
+ return undefined;
21066
21111
  }
21067
- this.form.onFormFieldChanged(this);
21112
+ }
21113
+ updateValue(value) {
21114
+ if (value === undefined) {
21115
+ return;
21116
+ }
21117
+ this.form.values[this.id] = value;
21118
+ }
21119
+ updateRepeatableSectionValue(value) {
21120
+ if (this.type === FormFieldTypes.SECTION) {
21121
+ return;
21122
+ }
21123
+ if (!this.form.values[this.parent.id]) {
21124
+ this.form.values[this.parent.id] = [];
21125
+ }
21126
+ if (!this.form.values[this.parent.id][this.parent.rowIndex]) {
21127
+ this.form.values[this.parent.id][this.parent.rowIndex] = this.createInitialValue(this.parent.fields);
21128
+ }
21129
+ this.form.values[this.parent.id][this.parent.rowIndex][this.id.split(ROW_ID_PREFIX)[0]] = value;
21068
21130
  }
21069
21131
  /**
21070
21132
  * Check if the field type is invalid, requires a type to be a `container`
@@ -21297,23 +21359,27 @@ class MinLengthFieldValidator {
21297
21359
  }
21298
21360
  }
21299
21361
  class MaxLengthFieldValidator {
21300
- constructor() {
21301
- this.supportedTypes = [FormFieldTypes.TEXT, FormFieldTypes.MULTILINE_TEXT];
21362
+ constructor(supportedTypes = [FormFieldTypes.TEXT, FormFieldTypes.MULTILINE_TEXT], maxLength) {
21363
+ this.supportedTypes = supportedTypes;
21364
+ this.maxLength = maxLength;
21302
21365
  }
21303
21366
  isSupported(field) {
21304
- return field && this.supportedTypes.indexOf(field.type) > -1 && field.maxLength > 0;
21367
+ return field && this.supportedTypes.indexOf(field.type) > -1 && this.getMaxLength(field) > 0;
21305
21368
  }
21306
21369
  validate(field) {
21307
21370
  if (this.isSupported(field) && field.value && field.isVisible) {
21308
- if (field.value.length <= field.maxLength) {
21371
+ if (field.value.toString().length <= this.getMaxLength(field)) {
21309
21372
  return true;
21310
21373
  }
21311
21374
  field.validationSummary.message = `FORM.FIELD.VALIDATOR.NO_LONGER_THAN`;
21312
- field.validationSummary.attributes.set('maxLength', field.maxLength.toLocaleString());
21375
+ field.validationSummary.attributes.set('maxLength', this.getMaxLength(field).toLocaleString());
21313
21376
  return false;
21314
21377
  }
21315
21378
  return true;
21316
21379
  }
21380
+ getMaxLength(field) {
21381
+ return this.maxLength ?? field.maxLength;
21382
+ }
21317
21383
  }
21318
21384
  class MinValueFieldValidator {
21319
21385
  constructor() {
@@ -21444,6 +21510,7 @@ const FORM_FIELD_VALIDATORS = [
21444
21510
  new NumberFieldValidator(),
21445
21511
  new MinLengthFieldValidator(),
21446
21512
  new MaxLengthFieldValidator(),
21513
+ new MaxLengthFieldValidator([FormFieldTypes.NUMBER], 10),
21447
21514
  new MinValueFieldValidator(),
21448
21515
  new MaxValueFieldValidator(),
21449
21516
  new RegExFieldValidator(),
@@ -22584,7 +22651,7 @@ class WidgetComponent {
22584
22651
  this.touched = true;
22585
22652
  }
22586
22653
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: WidgetComponent, deps: [{ token: FormService }], target: i0.ɵɵFactoryTarget.Component }); }
22587
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: WidgetComponent, isStandalone: true, selector: "base-widget", inputs: { readOnly: "readOnly", field: "field" }, outputs: { fieldChanged: "fieldChanged", widgetError: "widgetError" }, host: { listeners: { "click": "event($event)", "blur": "event($event)", "change": "event($event)", "focus": "event($event)", "focusin": "event($event)", "focusout": "event($event)", "input": "event($event)", "invalid": "event($event)", "select": "event($event)" } }, ngImport: i0, template: '', isInline: true, encapsulation: i0.ViewEncapsulation.None }); }
22654
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: WidgetComponent, isStandalone: true, selector: "base-widget", inputs: { readOnly: "readOnly", field: "field" }, outputs: { fieldChanged: "fieldChanged", widgetError: "widgetError" }, host: { listeners: { "blur": "event($event)", "change": "event($event)", "focus": "event($event)", "focusin": "event($event)", "focusout": "event($event)", "input": "event($event)", "invalid": "event($event)", "select": "event($event)" } }, ngImport: i0, template: '', isInline: true, encapsulation: i0.ViewEncapsulation.None }); }
22588
22655
  }
22589
22656
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: WidgetComponent, decorators: [{
22590
22657
  type: Component,
@@ -22592,7 +22659,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
22592
22659
  selector: 'base-widget',
22593
22660
  template: '',
22594
22661
  host: {
22595
- '(click)': 'event($event)',
22596
22662
  '(blur)': 'event($event)',
22597
22663
  '(change)': 'event($event)',
22598
22664
  '(focus)': 'event($event)',
@@ -22644,7 +22710,7 @@ class UnknownWidgetComponent extends WidgetComponent {
22644
22710
  <span class="adf-unknown-text">Unknown type: {{ field.type }}</span>
22645
22711
  </mat-list-item>
22646
22712
  </mat-list>
22647
- `, isInline: true, styles: [".adf-unknown-text{margin-left:10px;color:red}.adf-unknown-widget{margin:42px}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "component", type: i2$8.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i2$8.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], encapsulation: i0.ViewEncapsulation.None }); }
22713
+ `, isInline: true, styles: [".adf-unknown-text{margin-left:10px;color:red}.adf-unknown-widget{margin:42px}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "component", type: i2$9.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i2$9.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], encapsulation: i0.ViewEncapsulation.None }); }
22648
22714
  }
22649
22715
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: UnknownWidgetComponent, decorators: [{
22650
22716
  type: Component,
@@ -22770,27 +22836,108 @@ const ADF_AMOUNT_SETTINGS = new InjectionToken('adf-amount-settings');
22770
22836
  class AmountWidgetComponent extends WidgetComponent {
22771
22837
  static { this.DEFAULT_CURRENCY = '$'; }
22772
22838
  get placeholder() {
22773
- return this.showPlaceholder ? this.field.placeholder : '';
22839
+ if (!this.showPlaceholder)
22840
+ return '';
22841
+ return this.enableDisplayBasedOnLocale
22842
+ ? this.currencyPipe.transform(this.field.placeholder, this.currency, this.currencyDisplay, this.decimalProperty, this.locale)
22843
+ : this.field.placeholder;
22774
22844
  }
22775
- constructor(formService, settings) {
22845
+ constructor(formService, settings, currencyPipe, translationService) {
22776
22846
  super(formService);
22777
22847
  this.formService = formService;
22778
- this.settings = settings;
22848
+ this.currencyPipe = currencyPipe;
22849
+ this.translationService = translationService;
22779
22850
  this.showPlaceholder = true;
22851
+ this.destroyRef = inject(DestroyRef);
22780
22852
  this.currency = AmountWidgetComponent.DEFAULT_CURRENCY;
22853
+ this.currencyDisplay = 'symbol';
22854
+ this.isInputInFocus = false;
22855
+ this.notShowDecimalDigits = '1.0-0';
22856
+ this.showDecimalDigits = '1.2-2';
22857
+ if (isObservable(settings)) {
22858
+ settings.pipe(takeUntilDestroyed()).subscribe((data) => {
22859
+ this.updateSettingsBasedProperties(data);
22860
+ });
22861
+ }
22862
+ else {
22863
+ this.updateSettingsBasedProperties(settings);
22864
+ }
22781
22865
  }
22782
22866
  ngOnInit() {
22783
22867
  if (this.field) {
22784
22868
  if (this.field.currency) {
22785
22869
  this.currency = this.field.currency;
22786
22870
  }
22871
+ else {
22872
+ if (this.enableDisplayBasedOnLocale) {
22873
+ this.currency = '';
22874
+ this.currencyDisplay = '';
22875
+ }
22876
+ }
22787
22877
  if (this.field.readOnly) {
22788
- this.showPlaceholder = this.settings?.showReadonlyPlaceholder;
22878
+ this.showPlaceholder = this.showReadonlyPlaceholder;
22879
+ }
22880
+ this.subscribeToFieldChanges();
22881
+ this.setInitialValues();
22882
+ }
22883
+ }
22884
+ amountWidgetOnBlur() {
22885
+ this.isInputInFocus = false;
22886
+ if (this.enableDisplayBasedOnLocale) {
22887
+ if (this.amountWidgetValue) {
22888
+ this.valueAsNumber = parseFloat(this.amountWidgetValue);
22889
+ this.amountWidgetValue = this.currencyPipe.transform(this.amountWidgetValue, this.currency, this.currencyDisplay, this.decimalProperty, this.locale);
22890
+ }
22891
+ else {
22892
+ this.valueAsNumber = null;
22893
+ this.amountWidgetValue = null;
22789
22894
  }
22790
22895
  }
22896
+ this.markAsTouched();
22897
+ }
22898
+ amountWidgetOnFocus() {
22899
+ this.isInputInFocus = true;
22900
+ if (this.enableDisplayBasedOnLocale) {
22901
+ const hasValue = this.valueAsNumber === 0 || this.valueAsNumber;
22902
+ this.amountWidgetValue = hasValue ? this.valueAsNumber.toString() : null;
22903
+ }
22904
+ }
22905
+ onFieldChangedAmountWidget() {
22906
+ this.field.value = this.amountWidgetValue;
22907
+ super.onFieldChanged(this.field);
22908
+ }
22909
+ setInitialValues() {
22910
+ if (this.enableDisplayBasedOnLocale) {
22911
+ this.decimalProperty = this.field.enableFractions ? this.showDecimalDigits : this.notShowDecimalDigits;
22912
+ this.locale = this.translationService.getLocale();
22913
+ this.updateValue(this.field.value);
22914
+ }
22915
+ else {
22916
+ this.amountWidgetValue = this.field.value;
22917
+ }
22918
+ }
22919
+ subscribeToFieldChanges() {
22920
+ this.formService.formFieldValueChanged
22921
+ .pipe(filter$1((ev) => ev.field.id === this.field.id), takeUntilDestroyed(this.destroyRef))
22922
+ .subscribe((ev) => {
22923
+ if (!this.isInputInFocus && this.enableDisplayBasedOnLocale) {
22924
+ this.updateValue(ev.field.value);
22925
+ }
22926
+ else if (!this.isInputInFocus) {
22927
+ this.amountWidgetValue = ev.field.value;
22928
+ }
22929
+ });
22930
+ }
22931
+ updateValue(value) {
22932
+ this.valueAsNumber = value;
22933
+ this.amountWidgetValue = this.currencyPipe.transform(value, this.currency, this.currencyDisplay, this.decimalProperty, this.locale);
22934
+ }
22935
+ updateSettingsBasedProperties(data) {
22936
+ this.enableDisplayBasedOnLocale = data?.enableDisplayBasedOnLocale ?? false;
22937
+ this.showReadonlyPlaceholder = data?.showReadonlyPlaceholder;
22791
22938
  }
22792
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: AmountWidgetComponent, deps: [{ token: FormService }, { token: ADF_AMOUNT_SETTINGS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
22793
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: AmountWidgetComponent, isStandalone: true, selector: "amount-widget", host: { listeners: { "click": "event($event)", "blur": "event($event)", "change": "event($event)", "focus": "event($event)", "focusin": "event($event)", "focusout": "event($event)", "input": "event($event)", "invalid": "event($event)", "select": "event($event)" } }, usesInheritance: true, ngImport: i0, template: "<div\n class=\"adf-amount-widget__container adf-amount-widget {{field.className}}\"\n [class.adf-invalid]=\"!field.isValid && isTouched()\"\n [class.adf-readonly]=\"field.readOnly\"\n [class.adf-left-label-input-container]=\"field.leftLabels\"\n>\n <div *ngIf=\"field.leftLabels\">\n <label class=\"adf-label adf-left-label\" [attr.for]=\"field.id\"\n >{{field.name | translate }}<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span></label\n >\n </div>\n <div class=\"adf-amount-widget-container\">\n <mat-form-field class=\"adf-amount-widget__input adf-form-field-input\" [floatLabel]=\"placeholder ? 'always' : null\">\n @if ( (field.name || field?.required) && !field.leftLabels) { <mat-label class=\"adf-label\" [attr.for]=\"field.id\">{{field.name | translate }}</mat-label> }\n <span matTextPrefix class=\"adf-amount-widget__prefix-spacing\">{{ currency }}&nbsp;</span>\n <input\n matInput\n [title]=\"field.tooltip\"\n class=\"adf-input\"\n type=\"text\"\n [id]=\"field.id\"\n [required]=\"field.required && field.isVisible\"\n [placeholder]=\"placeholder\"\n [value]=\"field.value\"\n [(ngModel)]=\"field.value\"\n (ngModelChange)=\"onFieldChanged(field)\"\n [disabled]=\"field.readOnly\"\n (blur)=\"markAsTouched()\"\n />\n </mat-form-field>\n <div class=\"adf-error-messages-container\">\n <error-widget [error]=\"field.validationSummary\" />\n <error-widget\n *ngIf=\"isInvalidFieldRequired() && isTouched()\"\n required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\"\n />\n </div>\n </div>\n</div>\n", styles: [".adf-amount-widget{width:100%}.adf-amount-widget .adf-left-label{line-height:36px}.adf-amount-widget-container{display:grid;align-items:flex-start}.adf-amount-widget__input .mat-focused{transition:none}.adf-amount-widget__input .adf-input{margin-top:3px}.adf-amount-widget__input:not(.mat-focused):not(.mat-form-field-invalid) .adf-amount-widget__prefix-spacing{color:var(--adf-theme-foreground-secondary-text-color)}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$4.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ErrorWidgetComponent, selector: "error-widget", inputs: ["error", "required"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
22939
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: AmountWidgetComponent, deps: [{ token: FormService }, { token: ADF_AMOUNT_SETTINGS, optional: true }, { token: i1.CurrencyPipe }, { token: TranslationService }], target: i0.ɵɵFactoryTarget.Component }); }
22940
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: AmountWidgetComponent, isStandalone: true, selector: "amount-widget", host: { listeners: { "click": "event($event)", "blur": "event($event)", "change": "event($event)", "focus": "event($event)", "focusin": "event($event)", "focusout": "event($event)", "input": "event($event)", "invalid": "event($event)", "select": "event($event)" } }, providers: [CurrencyPipe], usesInheritance: true, ngImport: i0, template: "<div\n class=\"adf-amount-widget__container adf-amount-widget {{field.className}}\"\n [class.adf-invalid]=\"!field.isValid && isTouched()\"\n [class.adf-readonly]=\"field.readOnly\"\n [class.adf-left-label-input-container]=\"field.leftLabels\"\n>\n <div *ngIf=\"field.leftLabels\">\n <label class=\"adf-label adf-left-label\" [attr.for]=\"field.id\"\n >{{field.name | translate }}<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span></label\n >\n </div>\n <div class=\"adf-amount-widget-container\">\n <mat-form-field class=\"adf-amount-widget__input adf-form-field-input\" [floatLabel]=\"placeholder ? 'always' : null\">\n @if ( (field.name || field?.required) && !field.leftLabels) { <mat-label class=\"adf-label\" [attr.for]=\"field.id\">{{field.name | translate }}</mat-label> }\n @if(!enableDisplayBasedOnLocale) {\n <span matTextPrefix class=\"adf-amount-widget__prefix-spacing\">{{ currency }}&nbsp;</span>\n }\n <input\n matInput\n [title]=\"field.tooltip\"\n class=\"adf-input\"\n type=\"text\"\n [id]=\"field.id\"\n [required]=\"field.required && field.isVisible\"\n [placeholder]=\"placeholder\"\n [value]=\"amountWidgetValue\"\n [(ngModel)]=\"amountWidgetValue\"\n (ngModelChange)=\"onFieldChangedAmountWidget()\"\n [disabled]=\"field.readOnly\"\n (focus)=\"amountWidgetOnFocus()\"\n (blur)=\"amountWidgetOnBlur()\"\n />\n </mat-form-field>\n <div class=\"adf-error-messages-container\">\n <error-widget [error]=\"field.validationSummary\" />\n <error-widget\n *ngIf=\"isInvalidFieldRequired() && isTouched()\"\n required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\"\n />\n </div>\n </div>\n</div>\n", styles: [".adf-amount-widget{width:100%}.adf-amount-widget .adf-left-label{line-height:36px}.adf-amount-widget-container{display:grid;align-items:flex-start}.adf-amount-widget__input .mat-focused{transition:none}.adf-amount-widget__input .adf-input{margin-top:3px}.adf-amount-widget__input:not(.mat-focused):not(.mat-form-field-invalid) .adf-amount-widget__prefix-spacing{color:var(--adf-theme-foreground-secondary-text-color)}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$4.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ErrorWidgetComponent, selector: "error-widget", inputs: ["error", "required"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
22794
22941
  }
22795
22942
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: AmountWidgetComponent, decorators: [{
22796
22943
  type: Component,
@@ -22804,13 +22951,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
22804
22951
  '(input)': 'event($event)',
22805
22952
  '(invalid)': 'event($event)',
22806
22953
  '(select)': 'event($event)'
22807
- }, imports: [MatFormFieldModule, MatInputModule, FormsModule, ErrorWidgetComponent, TranslatePipe, NgIf], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"adf-amount-widget__container adf-amount-widget {{field.className}}\"\n [class.adf-invalid]=\"!field.isValid && isTouched()\"\n [class.adf-readonly]=\"field.readOnly\"\n [class.adf-left-label-input-container]=\"field.leftLabels\"\n>\n <div *ngIf=\"field.leftLabels\">\n <label class=\"adf-label adf-left-label\" [attr.for]=\"field.id\"\n >{{field.name | translate }}<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span></label\n >\n </div>\n <div class=\"adf-amount-widget-container\">\n <mat-form-field class=\"adf-amount-widget__input adf-form-field-input\" [floatLabel]=\"placeholder ? 'always' : null\">\n @if ( (field.name || field?.required) && !field.leftLabels) { <mat-label class=\"adf-label\" [attr.for]=\"field.id\">{{field.name | translate }}</mat-label> }\n <span matTextPrefix class=\"adf-amount-widget__prefix-spacing\">{{ currency }}&nbsp;</span>\n <input\n matInput\n [title]=\"field.tooltip\"\n class=\"adf-input\"\n type=\"text\"\n [id]=\"field.id\"\n [required]=\"field.required && field.isVisible\"\n [placeholder]=\"placeholder\"\n [value]=\"field.value\"\n [(ngModel)]=\"field.value\"\n (ngModelChange)=\"onFieldChanged(field)\"\n [disabled]=\"field.readOnly\"\n (blur)=\"markAsTouched()\"\n />\n </mat-form-field>\n <div class=\"adf-error-messages-container\">\n <error-widget [error]=\"field.validationSummary\" />\n <error-widget\n *ngIf=\"isInvalidFieldRequired() && isTouched()\"\n required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\"\n />\n </div>\n </div>\n</div>\n", styles: [".adf-amount-widget{width:100%}.adf-amount-widget .adf-left-label{line-height:36px}.adf-amount-widget-container{display:grid;align-items:flex-start}.adf-amount-widget__input .mat-focused{transition:none}.adf-amount-widget__input .adf-input{margin-top:3px}.adf-amount-widget__input:not(.mat-focused):not(.mat-form-field-invalid) .adf-amount-widget__prefix-spacing{color:var(--adf-theme-foreground-secondary-text-color)}\n"] }]
22954
+ }, imports: [MatFormFieldModule, MatInputModule, FormsModule, ErrorWidgetComponent, TranslatePipe, NgIf], providers: [CurrencyPipe], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"adf-amount-widget__container adf-amount-widget {{field.className}}\"\n [class.adf-invalid]=\"!field.isValid && isTouched()\"\n [class.adf-readonly]=\"field.readOnly\"\n [class.adf-left-label-input-container]=\"field.leftLabels\"\n>\n <div *ngIf=\"field.leftLabels\">\n <label class=\"adf-label adf-left-label\" [attr.for]=\"field.id\"\n >{{field.name | translate }}<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span></label\n >\n </div>\n <div class=\"adf-amount-widget-container\">\n <mat-form-field class=\"adf-amount-widget__input adf-form-field-input\" [floatLabel]=\"placeholder ? 'always' : null\">\n @if ( (field.name || field?.required) && !field.leftLabels) { <mat-label class=\"adf-label\" [attr.for]=\"field.id\">{{field.name | translate }}</mat-label> }\n @if(!enableDisplayBasedOnLocale) {\n <span matTextPrefix class=\"adf-amount-widget__prefix-spacing\">{{ currency }}&nbsp;</span>\n }\n <input\n matInput\n [title]=\"field.tooltip\"\n class=\"adf-input\"\n type=\"text\"\n [id]=\"field.id\"\n [required]=\"field.required && field.isVisible\"\n [placeholder]=\"placeholder\"\n [value]=\"amountWidgetValue\"\n [(ngModel)]=\"amountWidgetValue\"\n (ngModelChange)=\"onFieldChangedAmountWidget()\"\n [disabled]=\"field.readOnly\"\n (focus)=\"amountWidgetOnFocus()\"\n (blur)=\"amountWidgetOnBlur()\"\n />\n </mat-form-field>\n <div class=\"adf-error-messages-container\">\n <error-widget [error]=\"field.validationSummary\" />\n <error-widget\n *ngIf=\"isInvalidFieldRequired() && isTouched()\"\n required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\"\n />\n </div>\n </div>\n</div>\n", styles: [".adf-amount-widget{width:100%}.adf-amount-widget .adf-left-label{line-height:36px}.adf-amount-widget-container{display:grid;align-items:flex-start}.adf-amount-widget__input .mat-focused{transition:none}.adf-amount-widget__input .adf-input{margin-top:3px}.adf-amount-widget__input:not(.mat-focused):not(.mat-form-field-invalid) .adf-amount-widget__prefix-spacing{color:var(--adf-theme-foreground-secondary-text-color)}\n"] }]
22808
22955
  }], ctorParameters: () => [{ type: FormService }, { type: undefined, decorators: [{
22956
+ type: Optional
22957
+ }, {
22809
22958
  type: Inject,
22810
22959
  args: [ADF_AMOUNT_SETTINGS]
22811
- }, {
22812
- type: Optional
22813
- }] }] });
22960
+ }] }, { type: i1.CurrencyPipe }, { type: TranslationService }] });
22814
22961
 
22815
22962
  /*!
22816
22963
  * @license
@@ -23576,7 +23723,7 @@ class DateTimeWidgetComponent extends WidgetComponent {
23576
23723
  }
23577
23724
  }
23578
23725
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DateTimeWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
23579
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: DateTimeWidgetComponent, isStandalone: true, selector: "date-time-widget", providers: [
23726
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: DateTimeWidgetComponent, isStandalone: true, selector: "date-time-widget", host: { listeners: { "click": "event($event)" } }, providers: [
23580
23727
  { provide: MAT_DATE_FORMATS, useValue: ADF_DATE_FORMATS },
23581
23728
  { provide: MAT_DATETIME_FORMATS, useValue: ADF_DATETIME_FORMATS },
23582
23729
  { provide: DateAdapter, useClass: AdfDateFnsAdapter },
@@ -23590,7 +23737,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
23590
23737
  { provide: MAT_DATETIME_FORMATS, useValue: ADF_DATETIME_FORMATS },
23591
23738
  { provide: DateAdapter, useClass: AdfDateFnsAdapter },
23592
23739
  { provide: DatetimeAdapter, useClass: AdfDateTimeFnsAdapter }
23593
- ], imports: [NgIf, TranslatePipe, MatFormFieldModule, MatInputModule, MatDatetimepickerModule, ReactiveFormsModule, ErrorWidgetComponent], encapsulation: ViewEncapsulation.None, template: "<div class=\"{{ field.className }}\"\n id=\"data-time-widget\"\n [class.adf-invalid]=\"datetimeInputControl.invalid && datetimeInputControl.touched\"\n [class.adf-left-label-input-container]=\"field.leftLabels\">\n <div *ngIf=\"field.leftLabels\">\n <label class=\"adf-label adf-left-label\" [attr.for]=\"field.id\">\n {{ field.name | translate }} ({{ field.dateDisplayFormat }})<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span>\n </label>\n </div>\n <div class=\"adf-date-time-widget-container\">\n <mat-form-field class=\"adf-date-time-widget adf-form-field-input\"\n [class.adf-left-label-input-datepicker]=\"field.leftLabels\"\n [floatLabel]=\"field.placeholder ? 'always' : null\">\n @if( (field.name || field?.required) && !field.leftLabels) {\n <mat-label class=\"adf-label\" [attr.for]=\"field.id\">\n {{ field.name | translate }} ({{ field.dateDisplayFormat }})\n </mat-label>\n }\n <input matInput\n class=\"adf-input\"\n [matDatetimepicker]=\"datetimePicker\"\n [readonly]=\"field.readOnly\"\n [required]=\"field.required && field.isVisible\"\n [id]=\"field.id\"\n [formControl]=\"datetimeInputControl\"\n (keydown.enter)=\"datetimePicker.open()\"\n [placeholder]=\"field.placeholder\"\n [title]=\"field.tooltip\"\n [min]=\"minDate\"\n [max]=\"maxDate\">\n <mat-datetimepicker-toggle matSuffix [for]=\"datetimePicker\"\n [disabled]=\"field.readOnly\" />\n <mat-datetimepicker #datetimePicker\n data-automation-id=\"adf-date-time-widget-picker\"\n type=\"datetime\"\n [touchUi]=\"true\"\n [timeInterval]=\"5\"\n [disabled]=\"field.readOnly\" />\n </mat-form-field>\n <div class=\"adf-error-messages-container\">\n <error-widget *ngIf=\"datetimeInputControl.invalid && datetimeInputControl.touched\" [error]=\"field.validationSummary\" />\n </div>\n </div>\n</div>\n", styles: [".adf-date-time-widget-container{display:grid;align-items:flex-start}.adf-date-time-widget .mat-mdc-form-field-text-suffix{top:26px}.adf-date-time-widget .mat-mdc-floating-label{top:20px}.adf-left-label-input-datepicker .mat-mdc-form-field-text-suffix{top:0}.adf-left-label-input-datepicker .mat-mdc-form-text-infix{width:100%}.mat-datetimepicker-toggle{color:var(--adf-theme-foreground-icon-color)}\n"] }]
23740
+ ], host: {
23741
+ '(click)': 'event($event)'
23742
+ }, imports: [NgIf, TranslatePipe, MatFormFieldModule, MatInputModule, MatDatetimepickerModule, ReactiveFormsModule, ErrorWidgetComponent], encapsulation: ViewEncapsulation.None, template: "<div class=\"{{ field.className }}\"\n id=\"data-time-widget\"\n [class.adf-invalid]=\"datetimeInputControl.invalid && datetimeInputControl.touched\"\n [class.adf-left-label-input-container]=\"field.leftLabels\">\n <div *ngIf=\"field.leftLabels\">\n <label class=\"adf-label adf-left-label\" [attr.for]=\"field.id\">\n {{ field.name | translate }} ({{ field.dateDisplayFormat }})<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span>\n </label>\n </div>\n <div class=\"adf-date-time-widget-container\">\n <mat-form-field class=\"adf-date-time-widget adf-form-field-input\"\n [class.adf-left-label-input-datepicker]=\"field.leftLabels\"\n [floatLabel]=\"field.placeholder ? 'always' : null\">\n @if( (field.name || field?.required) && !field.leftLabels) {\n <mat-label class=\"adf-label\" [attr.for]=\"field.id\">\n {{ field.name | translate }} ({{ field.dateDisplayFormat }})\n </mat-label>\n }\n <input matInput\n class=\"adf-input\"\n [matDatetimepicker]=\"datetimePicker\"\n [readonly]=\"field.readOnly\"\n [required]=\"field.required && field.isVisible\"\n [id]=\"field.id\"\n [formControl]=\"datetimeInputControl\"\n (keydown.enter)=\"datetimePicker.open()\"\n [placeholder]=\"field.placeholder\"\n [title]=\"field.tooltip\"\n [min]=\"minDate\"\n [max]=\"maxDate\">\n <mat-datetimepicker-toggle matSuffix [for]=\"datetimePicker\"\n [disabled]=\"field.readOnly\" />\n <mat-datetimepicker #datetimePicker\n data-automation-id=\"adf-date-time-widget-picker\"\n type=\"datetime\"\n [touchUi]=\"true\"\n [timeInterval]=\"5\"\n [disabled]=\"field.readOnly\" />\n </mat-form-field>\n <div class=\"adf-error-messages-container\">\n <error-widget *ngIf=\"datetimeInputControl.invalid && datetimeInputControl.touched\" [error]=\"field.validationSummary\" />\n </div>\n </div>\n</div>\n", styles: [".adf-date-time-widget-container{display:grid;align-items:flex-start}.adf-date-time-widget .mat-mdc-form-field-text-suffix{top:26px}.adf-date-time-widget .mat-mdc-floating-label{top:20px}.adf-left-label-input-datepicker .mat-mdc-form-field-text-suffix{top:0}.adf-left-label-input-datepicker .mat-mdc-form-text-infix{width:100%}.mat-datetimepicker-toggle{color:var(--adf-theme-foreground-icon-color)}\n"] }]
23594
23743
  }] });
23595
23744
 
23596
23745
  /*!
@@ -23680,21 +23829,13 @@ class BaseViewerWidgetComponent extends WidgetComponent {
23680
23829
  }
23681
23830
  }
23682
23831
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseViewerWidgetComponent, deps: [{ token: FormService }], target: i0.ɵɵFactoryTarget.Component }); }
23683
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: BaseViewerWidgetComponent, isStandalone: true, selector: "base-viewer-widget", host: { listeners: { "click": "event($event)", "blur": "event($event)", "change": "event($event)", "focus": "event($event)", "focusin": "event($event)", "focusout": "event($event)", "input": "event($event)", "invalid": "event($event)", "select": "event($event)" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"adf-base-viewer-widget {{ field.className }}\"\n [class.adf-invalid]=\"!field.isValid\"\n [class.adf-readonly]=\"field.readOnly\">\n <label class=\"adf-label\" [attr.for]=\"field.id\">\n {{ field.name | translate }}\n <span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span></label>\n <adf-viewer [urlFile]=\"field.value.urlFile\"\n [blobFile]=\"field.value.blobFile\"\n [fileName]=\"field.value.fileName\"\n [showViewer]=\"field.value?.blobFile || field.value?.urlFile\"\n [allowGoBack]=\"false\" />\n <div class=\"adf-error-messages-container\">\n <error-widget [error]=\"field.validationSummary\" />\n </div>\n</div>\n", styles: ["base-viewer-widget{height:100%;width:100%}base-viewer-widget .adf-base-viewer-widget{height:100%;width:100%}base-viewer-widget .adf-base-viewer-widget adf-viewer.adf-viewer{position:relative}base-viewer-widget .adf-base-viewer-widget adf-viewer.adf-viewer .adf-viewer-container .adf-viewer-content>div{height:90vh}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: ViewerComponent, selector: "adf-viewer", inputs: ["urlFile", "blobFile", "showViewer", "allowGoBack", "allowFullScreen", "showToolbar", "overlayMode", "allowNavigate", "canNavigateBefore", "canNavigateNext", "allowLeftSidebar", "allowRightSidebar", "showRightSidebar", "showLeftSidebar", "sidebarRightTemplate", "sidebarLeftTemplate", "readOnly", "allowedEditActions", "tracks", "mimeType", "sidebarRightTemplateContext", "sidebarLeftTemplateContext", "closeButtonPosition", "hideInfoButton", "viewerExtensions", "nodeId", "nodeMimeType", "customError", "showToolbarDividers", "title", "fileName"], outputs: ["downloadFile", "navigateBefore", "navigateNext", "showViewerChange", "submitFile"] }, { kind: "component", type: ErrorWidgetComponent, selector: "error-widget", inputs: ["error", "required"] }], encapsulation: i0.ViewEncapsulation.None }); }
23832
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: BaseViewerWidgetComponent, isStandalone: true, selector: "base-viewer-widget", host: { listeners: { "click": "event($event)" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"adf-base-viewer-widget {{ field.className }}\"\n [class.adf-invalid]=\"!field.isValid\"\n [class.adf-readonly]=\"field.readOnly\">\n <label class=\"adf-label\" [attr.for]=\"field.id\">\n {{ field.name | translate }}\n <span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span></label>\n <adf-viewer [urlFile]=\"field.value.urlFile\"\n [blobFile]=\"field.value.blobFile\"\n [fileName]=\"field.value.fileName\"\n [showViewer]=\"field.value?.blobFile || field.value?.urlFile\"\n [allowGoBack]=\"false\" />\n <div class=\"adf-error-messages-container\">\n <error-widget [error]=\"field.validationSummary\" />\n </div>\n</div>\n", styles: ["base-viewer-widget{height:100%;width:100%}base-viewer-widget .adf-base-viewer-widget{height:100%;width:100%}base-viewer-widget .adf-base-viewer-widget adf-viewer.adf-viewer{position:relative}base-viewer-widget .adf-base-viewer-widget adf-viewer.adf-viewer .adf-viewer-container .adf-viewer-content>div{height:90vh}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: ViewerComponent, selector: "adf-viewer", inputs: ["urlFile", "blobFile", "showViewer", "allowGoBack", "allowFullScreen", "showToolbar", "overlayMode", "allowNavigate", "canNavigateBefore", "canNavigateNext", "allowLeftSidebar", "allowRightSidebar", "showRightSidebar", "showLeftSidebar", "sidebarRightTemplate", "sidebarLeftTemplate", "readOnly", "allowedEditActions", "tracks", "mimeType", "sidebarRightTemplateContext", "sidebarLeftTemplateContext", "closeButtonPosition", "hideInfoButton", "viewerExtensions", "nodeId", "nodeMimeType", "customError", "showToolbarDividers", "title", "fileName"], outputs: ["downloadFile", "navigateBefore", "navigateNext", "showViewerChange", "submitFile"] }, { kind: "component", type: ErrorWidgetComponent, selector: "error-widget", inputs: ["error", "required"] }], encapsulation: i0.ViewEncapsulation.None }); }
23684
23833
  }
23685
23834
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseViewerWidgetComponent, decorators: [{
23686
23835
  type: Component,
23687
23836
  args: [{ selector: 'base-viewer-widget', host: {
23688
- '(click)': 'event($event)',
23689
- '(blur)': 'event($event)',
23690
- '(change)': 'event($event)',
23691
- '(focus)': 'event($event)',
23692
- '(focusin)': 'event($event)',
23693
- '(focusout)': 'event($event)',
23694
- '(input)': 'event($event)',
23695
- '(invalid)': 'event($event)',
23696
- '(select)': 'event($event)'
23697
- }, imports: [NgIf, TranslatePipe, ViewerComponent, ErrorWidgetComponent], encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-base-viewer-widget {{ field.className }}\"\n [class.adf-invalid]=\"!field.isValid\"\n [class.adf-readonly]=\"field.readOnly\">\n <label class=\"adf-label\" [attr.for]=\"field.id\">\n {{ field.name | translate }}\n <span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span></label>\n <adf-viewer [urlFile]=\"field.value.urlFile\"\n [blobFile]=\"field.value.blobFile\"\n [fileName]=\"field.value.fileName\"\n [showViewer]=\"field.value?.blobFile || field.value?.urlFile\"\n [allowGoBack]=\"false\" />\n <div class=\"adf-error-messages-container\">\n <error-widget [error]=\"field.validationSummary\" />\n </div>\n</div>\n", styles: ["base-viewer-widget{height:100%;width:100%}base-viewer-widget .adf-base-viewer-widget{height:100%;width:100%}base-viewer-widget .adf-base-viewer-widget adf-viewer.adf-viewer{position:relative}base-viewer-widget .adf-base-viewer-widget adf-viewer.adf-viewer .adf-viewer-container .adf-viewer-content>div{height:90vh}\n"] }]
23837
+ '(click)': 'event($event)'
23838
+ }, imports: [TranslatePipe, ViewerComponent, ErrorWidgetComponent], encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-base-viewer-widget {{ field.className }}\"\n [class.adf-invalid]=\"!field.isValid\"\n [class.adf-readonly]=\"field.readOnly\">\n <label class=\"adf-label\" [attr.for]=\"field.id\">\n {{ field.name | translate }}\n <span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span></label>\n <adf-viewer [urlFile]=\"field.value.urlFile\"\n [blobFile]=\"field.value.blobFile\"\n [fileName]=\"field.value.fileName\"\n [showViewer]=\"field.value?.blobFile || field.value?.urlFile\"\n [allowGoBack]=\"false\" />\n <div class=\"adf-error-messages-container\">\n <error-widget [error]=\"field.validationSummary\" />\n </div>\n</div>\n", styles: ["base-viewer-widget{height:100%;width:100%}base-viewer-widget .adf-base-viewer-widget{height:100%;width:100%}base-viewer-widget .adf-base-viewer-widget adf-viewer.adf-viewer{position:relative}base-viewer-widget .adf-base-viewer-widget adf-viewer.adf-viewer .adf-viewer-container .adf-viewer-content>div{height:90vh}\n"] }]
23698
23839
  }], ctorParameters: () => [{ type: FormService }] });
23699
23840
 
23700
23841
  /*!
@@ -23736,6 +23877,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
23736
23877
  }, imports: [NgIf, TranslatePipe, MatFormFieldModule, MatInputModule, FormsModule, ErrorWidgetComponent], encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-textfield adf-decimal-widget {{ field.className }}\"\n [class.adf-invalid]=\"!field.isValid && isTouched()\"\n [class.adf-readonly]=\"field.readOnly\"\n [class.adf-left-label-input-container]=\"field.leftLabels\">\n <div *ngIf=\"field.leftLabels\">\n <label class=\"adf-label adf-left-label\" [attr.for]=\"field.id\">\n {{ field.name | translate }}<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span>\n </label>\n </div>\n\n <div class=\"adf-decimal-widget-container\">\n <mat-form-field class=\"adf-form-field-input\" [floatLabel]=\"field.placeholder ? 'always' : null\">\n @if ( (field.name || field?.required) && !field.leftLabels) { <mat-label class=\"adf-label\" [attr.for]=\"field.id\">{{ field.name | translate }}</mat-label> }\n <input matInput\n class=\"adf-input\"\n type=\"text\"\n pattern=\"-?[0-9]*(\\.[0-9]*)?\"\n [id]=\"field.id\"\n [required]=\"field.required && field.isVisible\"\n [(ngModel)]=\"field.value\"\n (ngModelChange)=\"onFieldChanged(field)\"\n [disabled]=\"field.readOnly\"\n [placeholder]=\"field.placeholder\"\n [title]=\"field.tooltip\"\n (blur)=\"markAsTouched()\" />\n </mat-form-field>\n\n <div class=\"adf-error-messages-container\">\n <error-widget [error]=\"field.validationSummary\" />\n <error-widget\n *ngIf=\"isInvalidFieldRequired() && isTouched()\"\n required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\"\n />\n </div>\n </div>\n</div>\n", styles: [".adf-decimal-widget{width:100%}.adf-decimal-widget-container{display:flex;align-items:flex-start;flex-direction:column}.adf-decimal-widget .adf-label{top:20px}\n"] }]
23737
23878
  }], ctorParameters: () => [{ type: FormService }] });
23738
23879
 
23880
+ /*!
23881
+ * @license
23882
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
23883
+ *
23884
+ * Licensed under the Apache License, Version 2.0 (the "License");
23885
+ * you may not use this file except in compliance with the License.
23886
+ * You may obtain a copy of the License at
23887
+ *
23888
+ * http://www.apache.org/licenses/LICENSE-2.0
23889
+ *
23890
+ * Unless required by applicable law or agreed to in writing, software
23891
+ * distributed under the License is distributed on an "AS IS" BASIS,
23892
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23893
+ * See the License for the specific language governing permissions and
23894
+ * limitations under the License.
23895
+ */
23896
+ /* eslint-disable @angular-eslint/component-selector */
23897
+ class ButtonWidgetComponent extends WidgetComponent {
23898
+ constructor(formService) {
23899
+ super(formService);
23900
+ this.formService = formService;
23901
+ this.tooltipShowDelay = 500;
23902
+ }
23903
+ get hostClasses() {
23904
+ return `adf-button-widget ${this.field?.className || ''}`;
23905
+ }
23906
+ onClick(event) {
23907
+ this.event(event);
23908
+ }
23909
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ButtonWidgetComponent, deps: [{ token: FormService }], target: i0.ɵɵFactoryTarget.Component }); }
23910
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ButtonWidgetComponent, isStandalone: true, selector: "button-widget", host: { properties: { "class": "hostClasses" } }, usesInheritance: true, ngImport: i0, template: "<button\n mat-flat-button\n class=\"adf-button-widget__button\"\n [color]=\"'primary'\"\n [matTooltip]=\"field?.tooltip\"\n [matTooltipShowDelay]=\"tooltipShowDelay\"\n [disabled]=\"field?.readOnly ?? false\"\n (click)=\"onClick($event)\"\n>\n {{ field?.name | translate }}\n</button>\n", styles: [".adf-button-widget{display:flex;justify-content:center;align-items:center;height:100%;width:100%;min-height:96px}.adf-button-widget__button{margin-bottom:32px;word-break:break-word;overflow:hidden}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2$8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
23911
+ }
23912
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ButtonWidgetComponent, decorators: [{
23913
+ type: Component,
23914
+ args: [{ selector: 'button-widget', host: {
23915
+ '[class]': 'hostClasses'
23916
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [TranslatePipe, MatButtonModule, MatTooltipModule], template: "<button\n mat-flat-button\n class=\"adf-button-widget__button\"\n [color]=\"'primary'\"\n [matTooltip]=\"field?.tooltip\"\n [matTooltipShowDelay]=\"tooltipShowDelay\"\n [disabled]=\"field?.readOnly ?? false\"\n (click)=\"onClick($event)\"\n>\n {{ field?.name | translate }}\n</button>\n", styles: [".adf-button-widget{display:flex;justify-content:center;align-items:center;height:100%;width:100%;min-height:96px}.adf-button-widget__button{margin-bottom:32px;word-break:break-word;overflow:hidden}\n"] }]
23917
+ }], ctorParameters: () => [{ type: FormService }] });
23918
+
23739
23919
  /*!
23740
23920
  * @license
23741
23921
  * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -24032,6 +24212,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
24032
24212
  * limitations under the License.
24033
24213
  */
24034
24214
 
24215
+ /*!
24216
+ * @license
24217
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
24218
+ *
24219
+ * Licensed under the Apache License, Version 2.0 (the "License");
24220
+ * you may not use this file except in compliance with the License.
24221
+ * You may obtain a copy of the License at
24222
+ *
24223
+ * http://www.apache.org/licenses/LICENSE-2.0
24224
+ *
24225
+ * Unless required by applicable law or agreed to in writing, software
24226
+ * distributed under the License is distributed on an "AS IS" BASIS,
24227
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
24228
+ * See the License for the specific language governing permissions and
24229
+ * limitations under the License.
24230
+ */
24231
+ class RepeatWidgetComponent {
24232
+ constructor() {
24233
+ this.isEditor = true;
24234
+ }
24235
+ addRow() {
24236
+ this.element.field.addRow(this.element.json.fields, this.element.form);
24237
+ }
24238
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: RepeatWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24239
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: RepeatWidgetComponent, isStandalone: true, selector: "adf-repeat-widget", inputs: { element: "element", isEditor: "isEditor" }, ngImport: i0, template: "<div [style]=\"element | adfFieldStyle\" class=\"adf-container-widget-repeat\" [class.adf-readonly]=\"element.field.readOnly\">\n <h4\n id=\"container-repeat\"\n class=\"adf-container-widget-repeat__text\"\n >\n <span [id]=\"'container-repeat-label-' + element?.id\" role=\"button\" tabindex=\"0\">\n {{ element.name | translate }}\n </span>\n </h4>\n\n <ng-content />\n\n @if (!isEditor) {\n @let shouldDisplayAddRowButton = !element.field.params.maxNumberOfRows || (element.field.params.maxNumberOfRows > element.field.rows.length);\n @if (shouldDisplayAddRowButton) {\n <button \n mat-button\n color=\"primary\"\n class=\"adf-container-widget-row-action\"\n [disabled]=\"element.field.readOnly\"\n (click)=\"addRow()\"\n >\n <mat-icon>add</mat-icon> {{ 'FORM.FIELD.REPEATABLE_SECTION.ADD_ROW' | translate }}\n </button>\n } @else {\n <span class=\"adf-container-widget-row-action adf-container-widget-row-limit\">{{ 'FORM.FIELD.REPEATABLE_SECTION.ROW_LIMIT_REACHED' | translate: { limit: element.field.params.maxNumberOfRows } }}</span>\n }\n }\n</div>\n", styles: [".adf-container-widget-repeat__text{border-bottom:1px solid rgba(0,0,0,.87);padding-bottom:10px;cursor:default;-webkit-user-select:none;user-select:none;font-size:var(--adf-header-font-size);font-weight:var(--adf-header-font-weight);color:var(--adf-header-color);line-height:normal}.adf-container-widget-row-action{margin-left:10px}.adf-container-widget-row-limit{color:#000000ab;font-size:12px}.adf-readonly .adf-container-widget-repeat__text{color:var(--mdc-text-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));border-bottom:1px solid var(--mdc-text-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));cursor:default}.adf-readonly .adf-container-widget-row-limit{color:var(--mdc-text-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));font-size:12px}\n"], dependencies: [{ kind: "pipe", type: FieldStylePipe, name: "adfFieldStyle" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
24240
+ }
24241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: RepeatWidgetComponent, decorators: [{
24242
+ type: Component,
24243
+ args: [{ selector: 'adf-repeat-widget', encapsulation: ViewEncapsulation.None, imports: [FieldStylePipe, MatIconModule, MatButtonModule, TranslatePipe], template: "<div [style]=\"element | adfFieldStyle\" class=\"adf-container-widget-repeat\" [class.adf-readonly]=\"element.field.readOnly\">\n <h4\n id=\"container-repeat\"\n class=\"adf-container-widget-repeat__text\"\n >\n <span [id]=\"'container-repeat-label-' + element?.id\" role=\"button\" tabindex=\"0\">\n {{ element.name | translate }}\n </span>\n </h4>\n\n <ng-content />\n\n @if (!isEditor) {\n @let shouldDisplayAddRowButton = !element.field.params.maxNumberOfRows || (element.field.params.maxNumberOfRows > element.field.rows.length);\n @if (shouldDisplayAddRowButton) {\n <button \n mat-button\n color=\"primary\"\n class=\"adf-container-widget-row-action\"\n [disabled]=\"element.field.readOnly\"\n (click)=\"addRow()\"\n >\n <mat-icon>add</mat-icon> {{ 'FORM.FIELD.REPEATABLE_SECTION.ADD_ROW' | translate }}\n </button>\n } @else {\n <span class=\"adf-container-widget-row-action adf-container-widget-row-limit\">{{ 'FORM.FIELD.REPEATABLE_SECTION.ROW_LIMIT_REACHED' | translate: { limit: element.field.params.maxNumberOfRows } }}</span>\n }\n }\n</div>\n", styles: [".adf-container-widget-repeat__text{border-bottom:1px solid rgba(0,0,0,.87);padding-bottom:10px;cursor:default;-webkit-user-select:none;user-select:none;font-size:var(--adf-header-font-size);font-weight:var(--adf-header-font-weight);color:var(--adf-header-color);line-height:normal}.adf-container-widget-row-action{margin-left:10px}.adf-container-widget-row-limit{color:#000000ab;font-size:12px}.adf-readonly .adf-container-widget-repeat__text{color:var(--mdc-text-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));border-bottom:1px solid var(--mdc-text-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));cursor:default}.adf-readonly .adf-container-widget-row-limit{color:var(--mdc-text-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));font-size:12px}\n"] }]
24244
+ }], propDecorators: { element: [{
24245
+ type: Input
24246
+ }], isEditor: [{
24247
+ type: Input
24248
+ }] } });
24249
+
24035
24250
  /*!
24036
24251
  * @license
24037
24252
  * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -24062,7 +24277,8 @@ const WIDGET_DIRECTIVES = [
24062
24277
  ErrorWidgetComponent,
24063
24278
  DateTimeWidgetComponent,
24064
24279
  JsonWidgetComponent,
24065
- BaseViewerWidgetComponent
24280
+ BaseViewerWidgetComponent,
24281
+ ButtonWidgetComponent
24066
24282
  ];
24067
24283
  const MASK_DIRECTIVE = [InputMaskDirective];
24068
24284
 
@@ -24101,7 +24317,8 @@ class FormRenderingService extends DynamicComponentMapper {
24101
24317
  [FormFieldTypes.JSON]: DynamicComponentResolver.fromType(JsonWidgetComponent),
24102
24318
  [FormFieldTypes.DISPLAY_VALUE]: DynamicComponentResolver.fromType(TextWidgetComponent),
24103
24319
  [FormFieldTypes.DATETIME]: DynamicComponentResolver.fromType(DateTimeWidgetComponent),
24104
- [FormFieldTypes.VIEWER]: DynamicComponentResolver.fromType(BaseViewerWidgetComponent)
24320
+ [FormFieldTypes.VIEWER]: DynamicComponentResolver.fromType(BaseViewerWidgetComponent),
24321
+ [FormFieldTypes.BUTTON]: DynamicComponentResolver.fromType(ButtonWidgetComponent)
24105
24322
  };
24106
24323
  }
24107
24324
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: FormRenderingService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -24420,6 +24637,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
24420
24637
  * See the License for the specific language governing permissions and
24421
24638
  * limitations under the License.
24422
24639
  */
24640
+ /**
24641
+ * Component is a wrapper for widget components.
24642
+ * It is responsible for instantiating the correct widget component
24643
+ * based on the field type.
24644
+ */
24423
24645
  class FormFieldComponent {
24424
24646
  constructor() {
24425
24647
  /**
@@ -24463,7 +24685,7 @@ class FormFieldComponent {
24463
24685
  this.triggerFormFieldChanged(field);
24464
24686
  }
24465
24687
  });
24466
- if (FormFieldTypes.isReactiveType(instance?.field?.type)) {
24688
+ if (FormFieldTypes.isReactiveWidget(instance)) {
24467
24689
  this.updateReactiveFormControlOnFormRulesEvent(instance);
24468
24690
  }
24469
24691
  }
@@ -24734,8 +24956,8 @@ class FormBaseComponent {
24734
24956
  }
24735
24957
  else {
24736
24958
  // Note: Activiti is using NAME field rather than ID for outcomes
24737
- if (outcome.name) {
24738
- this.completeTaskForm(outcome.name);
24959
+ if (outcome.name && outcome.id) {
24960
+ this.completeTaskForm(outcome.name, outcome.id);
24739
24961
  return true;
24740
24962
  }
24741
24963
  }
@@ -25027,6 +25249,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
25027
25249
  type: Injectable
25028
25250
  }] });
25029
25251
 
25252
+ /*!
25253
+ * @license
25254
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
25255
+ *
25256
+ * Licensed under the Apache License, Version 2.0 (the "License");
25257
+ * you may not use this file except in compliance with the License.
25258
+ * You may obtain a copy of the License at
25259
+ *
25260
+ * http://www.apache.org/licenses/LICENSE-2.0
25261
+ *
25262
+ * Unless required by applicable law or agreed to in writing, software
25263
+ * distributed under the License is distributed on an "AS IS" BASIS,
25264
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
25265
+ * See the License for the specific language governing permissions and
25266
+ * limitations under the License.
25267
+ */
25268
+ class ConfirmDialogComponent {
25269
+ constructor(data, sanitizer) {
25270
+ this.sanitizer = sanitizer;
25271
+ data = data || {};
25272
+ this.title = data.title || 'ADF_CONFIRM_DIALOG.TITLE';
25273
+ this.message = data.message || 'ADF_CONFIRM_DIALOG.MESSAGE';
25274
+ this.yesLabel = data.yesLabel || 'ADF_CONFIRM_DIALOG.YES_LABEL';
25275
+ this.thirdOptionLabel = data.thirdOptionLabel;
25276
+ this.noLabel = data.noLabel || 'ADF_CONFIRM_DIALOG.NO_LABEL';
25277
+ this.htmlContent = data.htmlContent;
25278
+ }
25279
+ sanitizedHtmlContent() {
25280
+ return this.sanitizer.sanitize(SecurityContext.HTML, this.htmlContent);
25281
+ }
25282
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1$5.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
25283
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ConfirmDialogComponent, isStandalone: true, selector: "adf-confirm-dialog", host: { classAttribute: "adf-confirm-dialog" }, ngImport: i0, template: "<h1 mat-dialog-title data-automation-id=\"adf-confirm-dialog-title\">{{ title | translate }}</h1>\n<mat-dialog-content>\n <div class=\"adf-confirm-dialog-content\">\n <p *ngIf=\"!htmlContent; else customContent\" data-automation-id=\"adf-confirm-dialog-base-message\">{{ message | translate }}</p>\n <ng-template #customContent>\n <span [innerHTML]=\"sanitizedHtmlContent()\" data-automation-id=\"adf-confirm-dialog-custom-content\"></span>\n </ng-template>\n </div>\n</mat-dialog-content>\n<mat-dialog-actions>\n <span class=\"adf-dialog-spacer\" data-automation-id=\"adf-confirm-dialog-spacer\"></span>\n <button\n id=\"adf-confirm-cancel\"\n class=\"adf-confirm-dialog-button\"\n mat-button\n [mat-dialog-close]=\"false\"\n data-automation-id=\"adf-confirm-dialog-reject\"\n >\n {{ noLabel | translate }}\n </button>\n <button\n *ngIf=\"thirdOptionLabel\"\n id=\"adf-confirm-all\"\n class=\"adf-confirm-dialog-button\"\n mat-button\n [mat-dialog-close]=\"thirdOptionLabel\"\n data-automation-id=\"adf-confirm-dialog-confirm-all\"\n >\n {{ thirdOptionLabel | translate }}\n </button>\n <button\n id=\"adf-confirm-accept\"\n class=\"adf-confirm-dialog-button\"\n mat-button\n color=\"primary\"\n data-automation-id=\"adf-confirm-dialog-confirmation\"\n [mat-dialog-close]=\"true\"\n cdkFocusInitial\n >\n {{ yesLabel | translate }}\n </button>\n</mat-dialog-actions>\n", styles: [".adf-dialog-spacer{flex:1 1 auto}.adf-confirm-dialog .adf-confirm-dialog-button{text-transform:uppercase}.adf-confirm-dialog .adf-confirm-dialog-content{width:100%}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1$7.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$7.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$7.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$7.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None }); }
25284
+ }
25285
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
25286
+ type: Component,
25287
+ args: [{ selector: 'adf-confirm-dialog', host: { class: 'adf-confirm-dialog' }, encapsulation: ViewEncapsulation.None, standalone: true, imports: [TranslatePipe, MatDialogModule, NgIf, MatButtonModule], template: "<h1 mat-dialog-title data-automation-id=\"adf-confirm-dialog-title\">{{ title | translate }}</h1>\n<mat-dialog-content>\n <div class=\"adf-confirm-dialog-content\">\n <p *ngIf=\"!htmlContent; else customContent\" data-automation-id=\"adf-confirm-dialog-base-message\">{{ message | translate }}</p>\n <ng-template #customContent>\n <span [innerHTML]=\"sanitizedHtmlContent()\" data-automation-id=\"adf-confirm-dialog-custom-content\"></span>\n </ng-template>\n </div>\n</mat-dialog-content>\n<mat-dialog-actions>\n <span class=\"adf-dialog-spacer\" data-automation-id=\"adf-confirm-dialog-spacer\"></span>\n <button\n id=\"adf-confirm-cancel\"\n class=\"adf-confirm-dialog-button\"\n mat-button\n [mat-dialog-close]=\"false\"\n data-automation-id=\"adf-confirm-dialog-reject\"\n >\n {{ noLabel | translate }}\n </button>\n <button\n *ngIf=\"thirdOptionLabel\"\n id=\"adf-confirm-all\"\n class=\"adf-confirm-dialog-button\"\n mat-button\n [mat-dialog-close]=\"thirdOptionLabel\"\n data-automation-id=\"adf-confirm-dialog-confirm-all\"\n >\n {{ thirdOptionLabel | translate }}\n </button>\n <button\n id=\"adf-confirm-accept\"\n class=\"adf-confirm-dialog-button\"\n mat-button\n color=\"primary\"\n data-automation-id=\"adf-confirm-dialog-confirmation\"\n [mat-dialog-close]=\"true\"\n cdkFocusInitial\n >\n {{ yesLabel | translate }}\n </button>\n</mat-dialog-actions>\n", styles: [".adf-dialog-spacer{flex:1 1 auto}.adf-confirm-dialog .adf-confirm-dialog-button{text-transform:uppercase}.adf-confirm-dialog .adf-confirm-dialog-content{width:100%}\n"] }]
25288
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
25289
+ type: Inject,
25290
+ args: [MAT_DIALOG_DATA]
25291
+ }] }, { type: i1$5.DomSanitizer }] });
25292
+
25030
25293
  /*!
25031
25294
  * @license
25032
25295
  * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -25044,10 +25307,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
25044
25307
  * limitations under the License.
25045
25308
  */
25046
25309
  class FormRendererComponent {
25047
- constructor(formService, formRulesManager, middlewareServices) {
25048
- this.formService = formService;
25049
- this.formRulesManager = formRulesManager;
25310
+ constructor(middlewareServices) {
25050
25311
  this.middlewareServices = middlewareServices;
25312
+ this.formService = inject(FormService);
25313
+ this.formRulesManager = inject((FormRulesManager));
25314
+ this.dialog = inject(MatDialog);
25315
+ this.cdr = inject(ChangeDetectorRef);
25051
25316
  this.readOnly = false;
25052
25317
  }
25053
25318
  ngOnInit() {
@@ -25103,6 +25368,26 @@ class FormRendererComponent {
25103
25368
  }
25104
25369
  return maxFieldSize;
25105
25370
  }
25371
+ displayDialogToRemoveRow(field, rowIndex) {
25372
+ this.dialog
25373
+ .open(ConfirmDialogComponent, {
25374
+ data: {
25375
+ title: 'FORM.FORM_RENDERER.REMOVE_ROW_DIALOG.TITLE',
25376
+ message: 'FORM.FORM_RENDERER.REMOVE_ROW_DIALOG.MESSAGE',
25377
+ yesLabel: 'FORM.FORM_RENDERER.REMOVE_ROW_DIALOG.YES_LABEL',
25378
+ noLabel: 'FORM.FORM_RENDERER.REMOVE_ROW_DIALOG.NO_LABEL'
25379
+ },
25380
+ minWidth: '500px',
25381
+ closeOnNavigation: true
25382
+ })
25383
+ .beforeClosed()
25384
+ .subscribe((shouldRemove) => {
25385
+ if (shouldRemove) {
25386
+ field.removeRow(rowIndex);
25387
+ this.cdr.detectChanges();
25388
+ }
25389
+ });
25390
+ }
25106
25391
  /**
25107
25392
  * Calculate the column width based on the numberOfColumns and current field's colspan property
25108
25393
  *
@@ -25126,8 +25411,8 @@ class FormRendererComponent {
25126
25411
  });
25127
25412
  }
25128
25413
  }
25129
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: FormRendererComponent, deps: [{ token: FormService }, { token: FormRulesManager }, { token: FORM_FIELD_MODEL_RENDER_MIDDLEWARE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
25130
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: FormRendererComponent, isStandalone: true, selector: "adf-form-renderer", inputs: { formDefinition: "formDefinition", readOnly: "readOnly" }, providers: [
25414
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: FormRendererComponent, deps: [{ token: FORM_FIELD_MODEL_RENDER_MIDDLEWARE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
25415
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: FormRendererComponent, isStandalone: true, selector: "adf-form-renderer", inputs: { formDefinition: "formDefinition", readOnly: "readOnly" }, providers: [
25131
25416
  {
25132
25417
  provide: FormRulesManager,
25133
25418
  useFactory: formRulesManagerFactory,
@@ -25138,7 +25423,7 @@ class FormRendererComponent {
25138
25423
  useClass: DecimalRenderMiddlewareService,
25139
25424
  multi: true
25140
25425
  }
25141
- ], ngImport: i0, template: "<div id=\"adf-form-renderer\" class=\"{{ formDefinition.className }} adf-form-renderer\"\n [ngClass]=\"{ 'adf-readonly-form': formDefinition.readOnly }\">\n <div *ngIf=\"formDefinition.hasTabs()\">\n <div *ngIf=\"hasTabs()\" class=\"alfresco-tabs-widget\">\n <mat-tab-group [preserveContent]=\"true\">\n <mat-tab *ngFor=\"let tab of visibleTabs()\" [label]=\"tab.title | translate \">\n <ng-template matTabContent>\n <div class=\"adf-form-tab-content\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: tab.fields }\" />\n </div>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n </div>\n\n <div *ngIf=\"!formDefinition.hasTabs() && formDefinition.hasFields()\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: formDefinition.fields }\" />\n </div>\n</div>\n\n<ng-template #render let-fieldToRender=\"fieldToRender\">\n <div *ngFor=\"let currentRootElement of fieldToRender\">\n <div *ngIf=\"currentRootElement.type === 'section'\" [id]=\"'field-' + currentRootElement?.id + '-container'\" class=\"adf-container-widget\">\n <adf-form-section [field]=\"currentRootElement\" />\n </div>\n\n <div *ngIf=\"currentRootElement.type === 'container' || currentRootElement.type === 'group'\"\n [id]=\"'field-' + currentRootElement?.id + '-container'\"\n class=\"adf-container-widget\"\n [hidden]=\"!currentRootElement?.isVisible\">\n <adf-header-widget [element]=\"currentRootElement\" />\n <div *ngIf=\"currentRootElement?.form?.enableFixedSpace; else fixingTemplate\">\n <div class=\"adf-grid-list\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + getNumberOfColumns(currentRootElement) + ', 1fr)' }\"\n *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-item\"\n *ngFor=\"let field of getContainerFields(currentRootElement)\"\n [ngStyle]=\"{ 'grid-area': 'auto / auto / span ' + (field?.rowspan || 1) + ' / span ' + (field?.colspan || 1) }\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </div>\n </div>\n\n <ng-template #fixingTemplate>\n <section class=\"adf-grid-list-column-view\" *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-single-column\"\n *ngFor=\"let column of currentRootElement?.columns\"\n [style.width.%]=\"getColumnWidth(currentRootElement)\"\n >\n <ng-container *ngFor=\"let field of column?.fields\">\n <ng-container *ngIf=\"field.type === 'section'; else formField\">\n <adf-form-section [field]=\"field\"/>\n </ng-container>\n <ng-template #formField>\n <div class=\"adf-grid-list-column-view-item\">\n <adf-form-field [field]=\"field\"/>\n </div>\n </ng-template>\n </ng-container>\n </div>\n </section>\n </ng-template>\n\n <ng-template #columnViewItem let-column=\"column\">\n <div class=\"adf-grid-list-column-view-item\" *ngFor=\"let field of column?.fields\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </ng-template>\n </div>\n\n <div *ngIf=\"currentRootElement.type === 'dynamic-table'\" class=\"adf-container-widget\">\n <adf-form-field [field]=\"currentRootElement\" />\n </div>\n\n <div class=\"adf-container-widget\"\n *ngIf=\"currentRootElement.type === 'readonly' && currentRootElement.field.params.field.type === 'dynamic-table'\">\n <adf-form-field [field]=\"currentRootElement.field\"/>\n </div>\n </div>\n</ng-template>\n", styles: [".adf-hidden{display:none}.adf-field-list{padding:0;list-style-type:none;width:100%;height:100%}.adf-form-renderer .mat-mdc-form-field-infix{width:auto}.alfresco-tabs-widget{width:100%}.alfresco-tabs-widget .adf-form-tab-content{margin-top:1em}.alfresco-tabs-widget .adf-form-tab-group{width:100%}.alfresco-tabs-widget .mat-mdc-tab-body{margin-bottom:8em}@media (max-width: 959.9px){.alfresco-tabs-widget .mat-mdc-tab-body{margin-bottom:0}}.alfresco-tabs-widget .mat-mdc-tab-header{z-index:2;margin:0;background-color:#fff;position:absolute;width:98%;margin-left:0!important;margin-right:10px!important;top:0}.alfresco-tabs-widget .mat-mdc-tab-body-wrapper{padding-top:5%}.mat-mdc-card-content:first-child{padding-top:1em}.adf-container-widget .adf-grid-list{display:grid}.adf-container-widget .adf-grid-list-column-view{display:flex;margin-right:-1%;width:100%;gap:8px}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-column-view{display:flow}}.adf-container-widget .adf-grid-list-column-view-item{width:100%;box-sizing:border-box}.adf-container-widget .adf-grid-list-column-view .adf-radio-buttons-widget{padding-left:12px}.adf-container-widget .adf-grid-list-single-column{display:flex;flex-direction:column;flex:1 1 auto}.adf-container-widget .adf-grid-list-item{box-sizing:border-box;padding-left:3px;padding-right:3px}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-item{flex:1 0 100%}.adf-container-widget .adf-grid-list--column-view{flex-direction:column}.adf-container-widget .adf-grid-list-single-column{display:block;width:90%!important}.adf-container-widget .adf-grid-list-column-view-item{flex:1 0 auto}}.adf-container-widget mat-input-placeholder{top:1.8em}.adf-container-widget .mat-focused{width:100%}.adf-container-widget .mat-focused .mdc-text-field--focused label{color:var(--theme-primary-color)}.adf-container-widget .mat-focused label{transition:transform .15s linear;background-color:.3s cubic-bezier(.55,0,.55,.2)}.adf-container-widget .mat-focused .mat-mdc-form-field-text-prefix{color:var(--theme-primary-color)}.adf-container-widget .mat-grid-tile{overflow:visible;width:80%}.adf-container-widget adf-form-field,.adf-container-widget mat-form-field{width:100%}.adf-form-container{max-width:100%;max-height:100%}.adf-form-container .mat-mdc-card{padding:16px 24px;overflow:hidden}.adf-form-container .mat-mdc-tab-header{position:fixed;z-index:1000}.adf-form-container .mat-mdc-card-header-text{margin:0}.adf-form-container .mat-mdc-card-content{overflow:hidden;padding-top:0}.adf-form-container mat-tab-label-text{font-size:var(--theme-subheading-2-font-size);line-height:var(--theme-headline-line-height);letter-spacing:-.4px;text-align:left;color:#0000008a;text-transform:uppercase}.adf-form-container .mdc-tab-indicator .mdc-tab-indicator__content--underline{border-top-width:4px}.adf-form-container .mat-mdc-text-field-wrapper{margin:0 12px 0 0}.adf-form-title{font-size:var(--theme-title-font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adf-form-reload-button{position:absolute;right:12px;top:30px}.adf-form-validation-button{position:absolute;right:50px;top:39px;color:var(--theme-accent-color)}.adf-form-validation-button .adf-invalid-color{color:var(--theme-warn-color)}.adf-form-hide-button{display:none}.adf-task-title{text-align:center}.adf-form-mat-card-actions{padding-bottom:25px;padding-right:25px}.adf-form-mat-card-actions .mat-mdc-button{height:36px;border-radius:5px;width:auto;padding:0 16px;margin:0 8px;white-space:nowrap}.adf-form-mat-card-actions .mdc-button__label{min-width:58px}.adf-left-label-input-container{display:flex}.adf-left-label-input-container div:nth-child(2){flex:1}.adf-left-label-input-container .mat-mdc-floating-label{top:auto;bottom:0}.adf-left-label{line-height:64px;margin-right:15px}.adf-error-messages-container{min-height:35px}.adf-error-messages-container-visible{visibility:visible}.adf-error-messages-container-hidden{visibility:hidden}form-field{width:100%}form-field .mat-mdc-input-element{font-size:var(--theme-body-2-font-size);padding-top:8px;line-height:normal}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i2$7.MatTabContent, selector: "[matTabContent]" }, { kind: "component", type: i2$7.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i2$7.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: FormFieldComponent, selector: "adf-form-field", inputs: ["field"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: HeaderWidgetComponent, selector: "adf-header-widget", inputs: ["element"] }, { kind: "component", type: FormSectionComponent, selector: "adf-form-section", inputs: ["field"] }], encapsulation: i0.ViewEncapsulation.None }); }
25426
+ ], ngImport: i0, template: "<div id=\"adf-form-renderer\" class=\"{{ formDefinition.className }} adf-form-renderer\"\n [ngClass]=\"{ 'adf-readonly-form': formDefinition.readOnly }\">\n <div *ngIf=\"formDefinition.hasTabs()\">\n <div *ngIf=\"hasTabs()\" class=\"alfresco-tabs-widget\">\n <mat-tab-group [preserveContent]=\"true\">\n <mat-tab *ngFor=\"let tab of visibleTabs()\" [label]=\"tab.title | translate \">\n <ng-template matTabContent>\n <div class=\"adf-form-tab-content\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: tab.fields }\" />\n </div>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n </div>\n\n <div *ngIf=\"!formDefinition.hasTabs() && formDefinition.hasFields()\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: formDefinition.fields }\" />\n </div>\n</div>\n\n<ng-template #render let-fieldToRender=\"fieldToRender\">\n <div *ngFor=\"let currentRootElement of fieldToRender\">\n <div *ngIf=\"currentRootElement.type === 'section'\" [id]=\"'field-' + currentRootElement?.id + '-container'\" class=\"adf-container-widget\">\n <adf-form-section [field]=\"currentRootElement\" />\n </div>\n\n <div *ngIf=\"currentRootElement.type === 'container' || currentRootElement.type === 'group'\"\n [id]=\"'field-' + currentRootElement?.id + '-container'\"\n class=\"adf-container-widget\"\n [hidden]=\"!currentRootElement?.isVisible\">\n <adf-header-widget [element]=\"currentRootElement\" />\n <div *ngIf=\"currentRootElement?.form?.enableFixedSpace; else fixingTemplate\">\n <div class=\"adf-grid-list\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + getNumberOfColumns(currentRootElement) + ', 1fr)' }\"\n *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-item\"\n *ngFor=\"let field of getContainerFields(currentRootElement)\"\n [ngStyle]=\"{ 'grid-area': 'auto / auto / span ' + (field?.rowspan || 1) + ' / span ' + (field?.colspan || 1) }\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </div>\n </div>\n\n <ng-template #fixingTemplate>\n <section class=\"adf-grid-list-column-view\" *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-single-column\"\n *ngFor=\"let column of currentRootElement?.columns\"\n [style.width.%]=\"getColumnWidth(currentRootElement)\"\n >\n <ng-container *ngFor=\"let field of column?.fields\">\n <ng-container *ngIf=\"field.type === 'section'; else formField\">\n <adf-form-section [field]=\"field\"/>\n </ng-container>\n <ng-template #formField>\n <div class=\"adf-grid-list-column-view-item\">\n <adf-form-field [field]=\"field\"/>\n </div>\n </ng-template>\n </ng-container>\n </div>\n </section>\n </ng-template>\n\n <ng-template #columnViewItem let-column=\"column\">\n <div class=\"adf-grid-list-column-view-item\" *ngFor=\"let field of column?.fields\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </ng-template>\n </div>\n\n @if (currentRootElement.type === 'repeatable-section') {\n <div \n [id]=\"'field-' + currentRootElement?.id + '-container'\"\n class=\"adf-container-widget\"\n [hidden]=\"!currentRootElement?.isVisible\"\n >\n <adf-repeat-widget [element]=\"currentRootElement\" [isEditor]=\"false\">\n @for (row of currentRootElement.field.rows; track row.id; let rowIndex = $index) {\n @let hasMultipleRows = currentRootElement.field.rows.length > 1;\n <div \n class=\"adf-grid-list-container\"\n [class.adf-grid-list-container-multiple]=\"hasMultipleRows\"\n [class.adf-grid-list-container-disabled]=\"currentRootElement.field.readOnly\"\n > \n <div class=\"adf-grid-list-row\">\n <span class=\"adf-grid-list-row-label\">{{ 'FORM.FORM_RENDERER.ROW_LABEL' | translate: {number: rowIndex + 1} }}</span>\n\n @let shouldDisplayRemoveRowButton = !currentRootElement.field.rows[rowIndex].isInitial || (currentRootElement.field.rows[rowIndex].isInitial && currentRootElement.field.params.allowInitialRowsDelete);\n @if (shouldDisplayRemoveRowButton) {\n <button \n mat-icon-button\n class=\"adf-grid-list-row-remove-button\"\n [disabled]=\"currentRootElement.field.readOnly\"\n [matTooltip]=\"'FORM.FORM_RENDERER.DELETE_ROW' | translate\"\n (click)=\"displayDialogToRemoveRow(currentRootElement.field, rowIndex)\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </div>\n <section class=\"adf-grid-list-column-view\">\n @for (column of row.columns; track $index) {\n <div \n class=\"adf-grid-list-single-column\"\n [style.width.%]=\"getColumnWidth(currentRootElement)\"\n >\n @for (field of column?.fields; track $index) {\n @if (field.type === 'section') {\n <adf-form-section [field]=\"field\"/>\n } @else {\n <div class=\"adf-grid-list-column-view-item\">\n <adf-form-field [field]=\"field\"/>\n </div>\n }\n }\n </div>\n }\n </section>\n </div>\n }\n </adf-repeat-widget>\n </div>\n }\n\n <div *ngIf=\"currentRootElement.type === 'dynamic-table'\" class=\"adf-container-widget\">\n <adf-form-field [field]=\"currentRootElement\" />\n </div>\n\n <div class=\"adf-container-widget\"\n *ngIf=\"currentRootElement.type === 'readonly' && currentRootElement.field.params.field.type === 'dynamic-table'\">\n <adf-form-field [field]=\"currentRootElement.field\"/>\n </div>\n </div>\n</ng-template>\n", styles: [".adf-hidden{display:none}.adf-field-list{padding:0;list-style-type:none;width:100%;height:100%}.adf-form-renderer .mat-mdc-form-field-infix{width:auto}.alfresco-tabs-widget{width:100%}.alfresco-tabs-widget .adf-form-tab-content{margin-top:1em}.alfresco-tabs-widget .adf-form-tab-group{width:100%}.alfresco-tabs-widget .mat-mdc-tab-body{margin-bottom:8em}@media (max-width: 959.9px){.alfresco-tabs-widget .mat-mdc-tab-body{margin-bottom:0}}.alfresco-tabs-widget .mat-mdc-tab-header{z-index:2;margin:0;background-color:#fff;position:absolute;width:98%;margin-left:0!important;margin-right:10px!important;top:0}.alfresco-tabs-widget .mat-mdc-tab-body-wrapper{padding-top:5%}.mat-mdc-card-content:first-child{padding-top:1em}.adf-container-widget .adf-grid-list{display:grid}.adf-container-widget .adf-grid-list-column-view{display:flex;margin-right:-1%;width:100%;gap:8px}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-column-view{display:flow}}.adf-container-widget .adf-grid-list-column-view-item{width:100%;box-sizing:border-box}.adf-container-widget .adf-grid-list-column-view .adf-radio-buttons-widget{padding-left:12px}.adf-container-widget .adf-grid-list-single-column{display:flex;flex-direction:column;flex:1 1 auto}.adf-container-widget .adf-grid-list-item{box-sizing:border-box;padding-left:3px;padding-right:3px}.adf-container-widget .adf-grid-list-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.adf-container-widget .adf-grid-list-row-remove-button{padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.adf-container-widget .adf-grid-list-row-remove-button .mat-icon{display:flex;justify-content:center;align-items:center;font-size:18px}.adf-container-widget .adf-grid-list-container{padding:0 15px}.adf-container-widget .adf-grid-list-container-multiple{border-bottom:1px solid rgba(0,0,0,.54);margin-bottom:25px}.adf-container-widget .adf-grid-list-container-disabled.adf-grid-list-container-multiple{border-bottom:1px solid var(--mdc-text-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.adf-container-widget .adf-grid-list-container-disabled .adf-grid-list-row-label{color:var(--mdc-text-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));cursor:default}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-item{flex:1 0 100%}.adf-container-widget .adf-grid-list--column-view{flex-direction:column}.adf-container-widget .adf-grid-list-single-column{display:block;width:90%!important}.adf-container-widget .adf-grid-list-column-view-item{flex:1 0 auto}}.adf-container-widget mat-input-placeholder{top:1.8em}.adf-container-widget .mat-focused{width:100%}.adf-container-widget .mat-focused .mdc-text-field--focused label{color:var(--theme-primary-color)}.adf-container-widget .mat-focused label{transition:transform .15s linear;background-color:.3s cubic-bezier(.55,0,.55,.2)}.adf-container-widget .mat-focused .mat-mdc-form-field-text-prefix{color:var(--theme-primary-color)}.adf-container-widget .mat-grid-tile{overflow:visible;width:80%}.adf-container-widget adf-form-field,.adf-container-widget mat-form-field{width:100%}.adf-form-container{max-width:100%;max-height:100%}.adf-form-container .mat-mdc-card{padding:16px 24px;overflow:hidden}.adf-form-container .mat-mdc-tab-header{position:fixed;z-index:1000}.adf-form-container .mat-mdc-card-header-text{margin:0}.adf-form-container .mat-mdc-card-content{overflow:hidden;padding-top:0}.adf-form-container mat-tab-label-text{font-size:var(--theme-subheading-2-font-size);line-height:var(--theme-headline-line-height);letter-spacing:-.4px;text-align:left;color:#0000008a;text-transform:uppercase}.adf-form-container .mdc-tab-indicator .mdc-tab-indicator__content--underline{border-top-width:4px}.adf-form-container .mat-mdc-text-field-wrapper{margin:0 12px 0 0}.adf-form-title{font-size:var(--theme-title-font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adf-form-reload-button{position:absolute;right:12px;top:30px}.adf-form-validation-button{position:absolute;right:50px;top:39px;color:var(--theme-accent-color)}.adf-form-validation-button .adf-invalid-color{color:var(--theme-warn-color)}.adf-form-hide-button{display:none}.adf-task-title{text-align:center}.adf-form-mat-card-actions{padding-bottom:25px;padding-right:25px}.adf-form-mat-card-actions .mat-mdc-button{height:36px;border-radius:5px;width:auto;padding:0 16px;margin:0 8px;white-space:nowrap}.adf-form-mat-card-actions .mdc-button__label{min-width:58px}.adf-left-label-input-container{display:flex}.adf-left-label-input-container div:nth-child(2){flex:1}.adf-left-label-input-container .mat-mdc-floating-label{top:auto;bottom:0}.adf-left-label{line-height:64px;margin-right:15px}.adf-error-messages-container{min-height:35px}.adf-error-messages-container-visible{visibility:visible}.adf-error-messages-container-hidden{visibility:hidden}form-field{width:100%}form-field .mat-mdc-input-element{font-size:var(--theme-body-2-font-size);padding-top:8px;line-height:normal}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i2$7.MatTabContent, selector: "[matTabContent]" }, { kind: "component", type: i2$7.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i2$7.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: FormFieldComponent, selector: "adf-form-field", inputs: ["field"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: HeaderWidgetComponent, selector: "adf-header-widget", inputs: ["element"] }, { kind: "component", type: FormSectionComponent, selector: "adf-form-section", inputs: ["field"] }, { kind: "component", type: RepeatWidgetComponent, selector: "adf-repeat-widget", inputs: ["element", "isEditor"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2$8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], encapsulation: i0.ViewEncapsulation.None }); }
25142
25427
  }
25143
25428
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: FormRendererComponent, decorators: [{
25144
25429
  type: Component,
@@ -25166,9 +25451,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
25166
25451
  FormsModule,
25167
25452
  NgClass,
25168
25453
  HeaderWidgetComponent,
25169
- FormSectionComponent
25170
- ], encapsulation: ViewEncapsulation.None, template: "<div id=\"adf-form-renderer\" class=\"{{ formDefinition.className }} adf-form-renderer\"\n [ngClass]=\"{ 'adf-readonly-form': formDefinition.readOnly }\">\n <div *ngIf=\"formDefinition.hasTabs()\">\n <div *ngIf=\"hasTabs()\" class=\"alfresco-tabs-widget\">\n <mat-tab-group [preserveContent]=\"true\">\n <mat-tab *ngFor=\"let tab of visibleTabs()\" [label]=\"tab.title | translate \">\n <ng-template matTabContent>\n <div class=\"adf-form-tab-content\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: tab.fields }\" />\n </div>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n </div>\n\n <div *ngIf=\"!formDefinition.hasTabs() && formDefinition.hasFields()\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: formDefinition.fields }\" />\n </div>\n</div>\n\n<ng-template #render let-fieldToRender=\"fieldToRender\">\n <div *ngFor=\"let currentRootElement of fieldToRender\">\n <div *ngIf=\"currentRootElement.type === 'section'\" [id]=\"'field-' + currentRootElement?.id + '-container'\" class=\"adf-container-widget\">\n <adf-form-section [field]=\"currentRootElement\" />\n </div>\n\n <div *ngIf=\"currentRootElement.type === 'container' || currentRootElement.type === 'group'\"\n [id]=\"'field-' + currentRootElement?.id + '-container'\"\n class=\"adf-container-widget\"\n [hidden]=\"!currentRootElement?.isVisible\">\n <adf-header-widget [element]=\"currentRootElement\" />\n <div *ngIf=\"currentRootElement?.form?.enableFixedSpace; else fixingTemplate\">\n <div class=\"adf-grid-list\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + getNumberOfColumns(currentRootElement) + ', 1fr)' }\"\n *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-item\"\n *ngFor=\"let field of getContainerFields(currentRootElement)\"\n [ngStyle]=\"{ 'grid-area': 'auto / auto / span ' + (field?.rowspan || 1) + ' / span ' + (field?.colspan || 1) }\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </div>\n </div>\n\n <ng-template #fixingTemplate>\n <section class=\"adf-grid-list-column-view\" *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-single-column\"\n *ngFor=\"let column of currentRootElement?.columns\"\n [style.width.%]=\"getColumnWidth(currentRootElement)\"\n >\n <ng-container *ngFor=\"let field of column?.fields\">\n <ng-container *ngIf=\"field.type === 'section'; else formField\">\n <adf-form-section [field]=\"field\"/>\n </ng-container>\n <ng-template #formField>\n <div class=\"adf-grid-list-column-view-item\">\n <adf-form-field [field]=\"field\"/>\n </div>\n </ng-template>\n </ng-container>\n </div>\n </section>\n </ng-template>\n\n <ng-template #columnViewItem let-column=\"column\">\n <div class=\"adf-grid-list-column-view-item\" *ngFor=\"let field of column?.fields\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </ng-template>\n </div>\n\n <div *ngIf=\"currentRootElement.type === 'dynamic-table'\" class=\"adf-container-widget\">\n <adf-form-field [field]=\"currentRootElement\" />\n </div>\n\n <div class=\"adf-container-widget\"\n *ngIf=\"currentRootElement.type === 'readonly' && currentRootElement.field.params.field.type === 'dynamic-table'\">\n <adf-form-field [field]=\"currentRootElement.field\"/>\n </div>\n </div>\n</ng-template>\n", styles: [".adf-hidden{display:none}.adf-field-list{padding:0;list-style-type:none;width:100%;height:100%}.adf-form-renderer .mat-mdc-form-field-infix{width:auto}.alfresco-tabs-widget{width:100%}.alfresco-tabs-widget .adf-form-tab-content{margin-top:1em}.alfresco-tabs-widget .adf-form-tab-group{width:100%}.alfresco-tabs-widget .mat-mdc-tab-body{margin-bottom:8em}@media (max-width: 959.9px){.alfresco-tabs-widget .mat-mdc-tab-body{margin-bottom:0}}.alfresco-tabs-widget .mat-mdc-tab-header{z-index:2;margin:0;background-color:#fff;position:absolute;width:98%;margin-left:0!important;margin-right:10px!important;top:0}.alfresco-tabs-widget .mat-mdc-tab-body-wrapper{padding-top:5%}.mat-mdc-card-content:first-child{padding-top:1em}.adf-container-widget .adf-grid-list{display:grid}.adf-container-widget .adf-grid-list-column-view{display:flex;margin-right:-1%;width:100%;gap:8px}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-column-view{display:flow}}.adf-container-widget .adf-grid-list-column-view-item{width:100%;box-sizing:border-box}.adf-container-widget .adf-grid-list-column-view .adf-radio-buttons-widget{padding-left:12px}.adf-container-widget .adf-grid-list-single-column{display:flex;flex-direction:column;flex:1 1 auto}.adf-container-widget .adf-grid-list-item{box-sizing:border-box;padding-left:3px;padding-right:3px}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-item{flex:1 0 100%}.adf-container-widget .adf-grid-list--column-view{flex-direction:column}.adf-container-widget .adf-grid-list-single-column{display:block;width:90%!important}.adf-container-widget .adf-grid-list-column-view-item{flex:1 0 auto}}.adf-container-widget mat-input-placeholder{top:1.8em}.adf-container-widget .mat-focused{width:100%}.adf-container-widget .mat-focused .mdc-text-field--focused label{color:var(--theme-primary-color)}.adf-container-widget .mat-focused label{transition:transform .15s linear;background-color:.3s cubic-bezier(.55,0,.55,.2)}.adf-container-widget .mat-focused .mat-mdc-form-field-text-prefix{color:var(--theme-primary-color)}.adf-container-widget .mat-grid-tile{overflow:visible;width:80%}.adf-container-widget adf-form-field,.adf-container-widget mat-form-field{width:100%}.adf-form-container{max-width:100%;max-height:100%}.adf-form-container .mat-mdc-card{padding:16px 24px;overflow:hidden}.adf-form-container .mat-mdc-tab-header{position:fixed;z-index:1000}.adf-form-container .mat-mdc-card-header-text{margin:0}.adf-form-container .mat-mdc-card-content{overflow:hidden;padding-top:0}.adf-form-container mat-tab-label-text{font-size:var(--theme-subheading-2-font-size);line-height:var(--theme-headline-line-height);letter-spacing:-.4px;text-align:left;color:#0000008a;text-transform:uppercase}.adf-form-container .mdc-tab-indicator .mdc-tab-indicator__content--underline{border-top-width:4px}.adf-form-container .mat-mdc-text-field-wrapper{margin:0 12px 0 0}.adf-form-title{font-size:var(--theme-title-font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adf-form-reload-button{position:absolute;right:12px;top:30px}.adf-form-validation-button{position:absolute;right:50px;top:39px;color:var(--theme-accent-color)}.adf-form-validation-button .adf-invalid-color{color:var(--theme-warn-color)}.adf-form-hide-button{display:none}.adf-task-title{text-align:center}.adf-form-mat-card-actions{padding-bottom:25px;padding-right:25px}.adf-form-mat-card-actions .mat-mdc-button{height:36px;border-radius:5px;width:auto;padding:0 16px;margin:0 8px;white-space:nowrap}.adf-form-mat-card-actions .mdc-button__label{min-width:58px}.adf-left-label-input-container{display:flex}.adf-left-label-input-container div:nth-child(2){flex:1}.adf-left-label-input-container .mat-mdc-floating-label{top:auto;bottom:0}.adf-left-label{line-height:64px;margin-right:15px}.adf-error-messages-container{min-height:35px}.adf-error-messages-container-visible{visibility:visible}.adf-error-messages-container-hidden{visibility:hidden}form-field{width:100%}form-field .mat-mdc-input-element{font-size:var(--theme-body-2-font-size);padding-top:8px;line-height:normal}\n"] }]
25171
- }], ctorParameters: () => [{ type: FormService }, { type: FormRulesManager }, { type: undefined, decorators: [{
25454
+ FormSectionComponent,
25455
+ RepeatWidgetComponent,
25456
+ MatTooltipModule
25457
+ ], encapsulation: ViewEncapsulation.None, template: "<div id=\"adf-form-renderer\" class=\"{{ formDefinition.className }} adf-form-renderer\"\n [ngClass]=\"{ 'adf-readonly-form': formDefinition.readOnly }\">\n <div *ngIf=\"formDefinition.hasTabs()\">\n <div *ngIf=\"hasTabs()\" class=\"alfresco-tabs-widget\">\n <mat-tab-group [preserveContent]=\"true\">\n <mat-tab *ngFor=\"let tab of visibleTabs()\" [label]=\"tab.title | translate \">\n <ng-template matTabContent>\n <div class=\"adf-form-tab-content\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: tab.fields }\" />\n </div>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n </div>\n\n <div *ngIf=\"!formDefinition.hasTabs() && formDefinition.hasFields()\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: formDefinition.fields }\" />\n </div>\n</div>\n\n<ng-template #render let-fieldToRender=\"fieldToRender\">\n <div *ngFor=\"let currentRootElement of fieldToRender\">\n <div *ngIf=\"currentRootElement.type === 'section'\" [id]=\"'field-' + currentRootElement?.id + '-container'\" class=\"adf-container-widget\">\n <adf-form-section [field]=\"currentRootElement\" />\n </div>\n\n <div *ngIf=\"currentRootElement.type === 'container' || currentRootElement.type === 'group'\"\n [id]=\"'field-' + currentRootElement?.id + '-container'\"\n class=\"adf-container-widget\"\n [hidden]=\"!currentRootElement?.isVisible\">\n <adf-header-widget [element]=\"currentRootElement\" />\n <div *ngIf=\"currentRootElement?.form?.enableFixedSpace; else fixingTemplate\">\n <div class=\"adf-grid-list\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + getNumberOfColumns(currentRootElement) + ', 1fr)' }\"\n *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-item\"\n *ngFor=\"let field of getContainerFields(currentRootElement)\"\n [ngStyle]=\"{ 'grid-area': 'auto / auto / span ' + (field?.rowspan || 1) + ' / span ' + (field?.colspan || 1) }\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </div>\n </div>\n\n <ng-template #fixingTemplate>\n <section class=\"adf-grid-list-column-view\" *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-single-column\"\n *ngFor=\"let column of currentRootElement?.columns\"\n [style.width.%]=\"getColumnWidth(currentRootElement)\"\n >\n <ng-container *ngFor=\"let field of column?.fields\">\n <ng-container *ngIf=\"field.type === 'section'; else formField\">\n <adf-form-section [field]=\"field\"/>\n </ng-container>\n <ng-template #formField>\n <div class=\"adf-grid-list-column-view-item\">\n <adf-form-field [field]=\"field\"/>\n </div>\n </ng-template>\n </ng-container>\n </div>\n </section>\n </ng-template>\n\n <ng-template #columnViewItem let-column=\"column\">\n <div class=\"adf-grid-list-column-view-item\" *ngFor=\"let field of column?.fields\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </ng-template>\n </div>\n\n @if (currentRootElement.type === 'repeatable-section') {\n <div \n [id]=\"'field-' + currentRootElement?.id + '-container'\"\n class=\"adf-container-widget\"\n [hidden]=\"!currentRootElement?.isVisible\"\n >\n <adf-repeat-widget [element]=\"currentRootElement\" [isEditor]=\"false\">\n @for (row of currentRootElement.field.rows; track row.id; let rowIndex = $index) {\n @let hasMultipleRows = currentRootElement.field.rows.length > 1;\n <div \n class=\"adf-grid-list-container\"\n [class.adf-grid-list-container-multiple]=\"hasMultipleRows\"\n [class.adf-grid-list-container-disabled]=\"currentRootElement.field.readOnly\"\n > \n <div class=\"adf-grid-list-row\">\n <span class=\"adf-grid-list-row-label\">{{ 'FORM.FORM_RENDERER.ROW_LABEL' | translate: {number: rowIndex + 1} }}</span>\n\n @let shouldDisplayRemoveRowButton = !currentRootElement.field.rows[rowIndex].isInitial || (currentRootElement.field.rows[rowIndex].isInitial && currentRootElement.field.params.allowInitialRowsDelete);\n @if (shouldDisplayRemoveRowButton) {\n <button \n mat-icon-button\n class=\"adf-grid-list-row-remove-button\"\n [disabled]=\"currentRootElement.field.readOnly\"\n [matTooltip]=\"'FORM.FORM_RENDERER.DELETE_ROW' | translate\"\n (click)=\"displayDialogToRemoveRow(currentRootElement.field, rowIndex)\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </div>\n <section class=\"adf-grid-list-column-view\">\n @for (column of row.columns; track $index) {\n <div \n class=\"adf-grid-list-single-column\"\n [style.width.%]=\"getColumnWidth(currentRootElement)\"\n >\n @for (field of column?.fields; track $index) {\n @if (field.type === 'section') {\n <adf-form-section [field]=\"field\"/>\n } @else {\n <div class=\"adf-grid-list-column-view-item\">\n <adf-form-field [field]=\"field\"/>\n </div>\n }\n }\n </div>\n }\n </section>\n </div>\n }\n </adf-repeat-widget>\n </div>\n }\n\n <div *ngIf=\"currentRootElement.type === 'dynamic-table'\" class=\"adf-container-widget\">\n <adf-form-field [field]=\"currentRootElement\" />\n </div>\n\n <div class=\"adf-container-widget\"\n *ngIf=\"currentRootElement.type === 'readonly' && currentRootElement.field.params.field.type === 'dynamic-table'\">\n <adf-form-field [field]=\"currentRootElement.field\"/>\n </div>\n </div>\n</ng-template>\n", styles: [".adf-hidden{display:none}.adf-field-list{padding:0;list-style-type:none;width:100%;height:100%}.adf-form-renderer .mat-mdc-form-field-infix{width:auto}.alfresco-tabs-widget{width:100%}.alfresco-tabs-widget .adf-form-tab-content{margin-top:1em}.alfresco-tabs-widget .adf-form-tab-group{width:100%}.alfresco-tabs-widget .mat-mdc-tab-body{margin-bottom:8em}@media (max-width: 959.9px){.alfresco-tabs-widget .mat-mdc-tab-body{margin-bottom:0}}.alfresco-tabs-widget .mat-mdc-tab-header{z-index:2;margin:0;background-color:#fff;position:absolute;width:98%;margin-left:0!important;margin-right:10px!important;top:0}.alfresco-tabs-widget .mat-mdc-tab-body-wrapper{padding-top:5%}.mat-mdc-card-content:first-child{padding-top:1em}.adf-container-widget .adf-grid-list{display:grid}.adf-container-widget .adf-grid-list-column-view{display:flex;margin-right:-1%;width:100%;gap:8px}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-column-view{display:flow}}.adf-container-widget .adf-grid-list-column-view-item{width:100%;box-sizing:border-box}.adf-container-widget .adf-grid-list-column-view .adf-radio-buttons-widget{padding-left:12px}.adf-container-widget .adf-grid-list-single-column{display:flex;flex-direction:column;flex:1 1 auto}.adf-container-widget .adf-grid-list-item{box-sizing:border-box;padding-left:3px;padding-right:3px}.adf-container-widget .adf-grid-list-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.adf-container-widget .adf-grid-list-row-remove-button{padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.adf-container-widget .adf-grid-list-row-remove-button .mat-icon{display:flex;justify-content:center;align-items:center;font-size:18px}.adf-container-widget .adf-grid-list-container{padding:0 15px}.adf-container-widget .adf-grid-list-container-multiple{border-bottom:1px solid rgba(0,0,0,.54);margin-bottom:25px}.adf-container-widget .adf-grid-list-container-disabled.adf-grid-list-container-multiple{border-bottom:1px solid var(--mdc-text-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.adf-container-widget .adf-grid-list-container-disabled .adf-grid-list-row-label{color:var(--mdc-text-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));cursor:default}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-item{flex:1 0 100%}.adf-container-widget .adf-grid-list--column-view{flex-direction:column}.adf-container-widget .adf-grid-list-single-column{display:block;width:90%!important}.adf-container-widget .adf-grid-list-column-view-item{flex:1 0 auto}}.adf-container-widget mat-input-placeholder{top:1.8em}.adf-container-widget .mat-focused{width:100%}.adf-container-widget .mat-focused .mdc-text-field--focused label{color:var(--theme-primary-color)}.adf-container-widget .mat-focused label{transition:transform .15s linear;background-color:.3s cubic-bezier(.55,0,.55,.2)}.adf-container-widget .mat-focused .mat-mdc-form-field-text-prefix{color:var(--theme-primary-color)}.adf-container-widget .mat-grid-tile{overflow:visible;width:80%}.adf-container-widget adf-form-field,.adf-container-widget mat-form-field{width:100%}.adf-form-container{max-width:100%;max-height:100%}.adf-form-container .mat-mdc-card{padding:16px 24px;overflow:hidden}.adf-form-container .mat-mdc-tab-header{position:fixed;z-index:1000}.adf-form-container .mat-mdc-card-header-text{margin:0}.adf-form-container .mat-mdc-card-content{overflow:hidden;padding-top:0}.adf-form-container mat-tab-label-text{font-size:var(--theme-subheading-2-font-size);line-height:var(--theme-headline-line-height);letter-spacing:-.4px;text-align:left;color:#0000008a;text-transform:uppercase}.adf-form-container .mdc-tab-indicator .mdc-tab-indicator__content--underline{border-top-width:4px}.adf-form-container .mat-mdc-text-field-wrapper{margin:0 12px 0 0}.adf-form-title{font-size:var(--theme-title-font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adf-form-reload-button{position:absolute;right:12px;top:30px}.adf-form-validation-button{position:absolute;right:50px;top:39px;color:var(--theme-accent-color)}.adf-form-validation-button .adf-invalid-color{color:var(--theme-warn-color)}.adf-form-hide-button{display:none}.adf-task-title{text-align:center}.adf-form-mat-card-actions{padding-bottom:25px;padding-right:25px}.adf-form-mat-card-actions .mat-mdc-button{height:36px;border-radius:5px;width:auto;padding:0 16px;margin:0 8px;white-space:nowrap}.adf-form-mat-card-actions .mdc-button__label{min-width:58px}.adf-left-label-input-container{display:flex}.adf-left-label-input-container div:nth-child(2){flex:1}.adf-left-label-input-container .mat-mdc-floating-label{top:auto;bottom:0}.adf-left-label{line-height:64px;margin-right:15px}.adf-error-messages-container{min-height:35px}.adf-error-messages-container-visible{visibility:visible}.adf-error-messages-container-hidden{visibility:hidden}form-field{width:100%}form-field .mat-mdc-input-element{font-size:var(--theme-body-2-font-size);padding-top:8px;line-height:normal}\n"] }]
25458
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
25172
25459
  type: Optional
25173
25460
  }, {
25174
25461
  type: Inject,
@@ -25237,12 +25524,12 @@ class FormBaseModule {
25237
25524
  FormRendererComponent,
25238
25525
  WidgetComponent,
25239
25526
  StartFormCustomButtonDirective,
25240
- InplaceFormInputComponent, UnknownWidgetComponent, TextWidgetComponent, NumberWidgetComponent, DecimalWidgetComponent, CheckboxWidgetComponent, MultilineTextWidgetComponentComponent, HyperlinkWidgetComponent, DisplayTextWidgetComponent, DateWidgetComponent, AmountWidgetComponent, ErrorWidgetComponent, DateTimeWidgetComponent, JsonWidgetComponent, BaseViewerWidgetComponent, InputMaskDirective], exports: [FormFieldComponent,
25527
+ InplaceFormInputComponent, UnknownWidgetComponent, TextWidgetComponent, NumberWidgetComponent, DecimalWidgetComponent, CheckboxWidgetComponent, MultilineTextWidgetComponentComponent, HyperlinkWidgetComponent, DisplayTextWidgetComponent, DateWidgetComponent, AmountWidgetComponent, ErrorWidgetComponent, DateTimeWidgetComponent, JsonWidgetComponent, BaseViewerWidgetComponent, ButtonWidgetComponent, InputMaskDirective], exports: [FormFieldComponent,
25241
25528
  FormRendererComponent,
25242
- StartFormCustomButtonDirective, UnknownWidgetComponent, TextWidgetComponent, NumberWidgetComponent, DecimalWidgetComponent, CheckboxWidgetComponent, MultilineTextWidgetComponentComponent, HyperlinkWidgetComponent, DisplayTextWidgetComponent, DateWidgetComponent, AmountWidgetComponent, ErrorWidgetComponent, DateTimeWidgetComponent, JsonWidgetComponent, BaseViewerWidgetComponent, InplaceFormInputComponent,
25529
+ StartFormCustomButtonDirective, UnknownWidgetComponent, TextWidgetComponent, NumberWidgetComponent, DecimalWidgetComponent, CheckboxWidgetComponent, MultilineTextWidgetComponentComponent, HyperlinkWidgetComponent, DisplayTextWidgetComponent, DateWidgetComponent, AmountWidgetComponent, ErrorWidgetComponent, DateTimeWidgetComponent, JsonWidgetComponent, BaseViewerWidgetComponent, ButtonWidgetComponent, InplaceFormInputComponent,
25243
25530
  WidgetComponent] }); }
25244
25531
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: FormBaseModule, imports: [FormRendererComponent,
25245
- InplaceFormInputComponent, UnknownWidgetComponent, TextWidgetComponent, NumberWidgetComponent, DecimalWidgetComponent, CheckboxWidgetComponent, MultilineTextWidgetComponentComponent, DateWidgetComponent, AmountWidgetComponent, ErrorWidgetComponent, DateTimeWidgetComponent, JsonWidgetComponent, BaseViewerWidgetComponent] }); }
25532
+ InplaceFormInputComponent, UnknownWidgetComponent, TextWidgetComponent, NumberWidgetComponent, DecimalWidgetComponent, CheckboxWidgetComponent, MultilineTextWidgetComponentComponent, DateWidgetComponent, AmountWidgetComponent, ErrorWidgetComponent, DateTimeWidgetComponent, JsonWidgetComponent, BaseViewerWidgetComponent, ButtonWidgetComponent] }); }
25246
25533
  }
25247
25534
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: FormBaseModule, decorators: [{
25248
25535
  type: NgModule,
@@ -26014,7 +26301,7 @@ class CommentListComponent {
26014
26301
  return this.commentsService.getUserImage(userId);
26015
26302
  }
26016
26303
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CommentListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26017
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: CommentListComponent, isStandalone: true, selector: "adf-comment-list", inputs: { comments: "comments" }, outputs: { clickRow: "clickRow" }, ngImport: i0, template: " <mat-list class=\"adf-comment-list\">\n <mat-list-item *ngFor=\"let comment of comments\"\n (click)=\"selectComment(comment)\"\n class=\"adf-comment-list-item\">\n <div class=\"adf-comment-img-container\">\n <div *ngIf=\"!comment.hasAvatarPicture\" class=\"adf-comment-user-icon\">{{ comment.userInitials }}</div>\n <img *ngIf=\"comment.hasAvatarPicture\" class=\"adf-people-img\"\n [alt]=\"'COMMENTS.PROFILE_IMAGE' | translate\"\n [src]=\"getUserImage(comment.createdBy.id.toString())\" />\n </div>\n <div class=\"adf-comment-contents\">\n <div matLine class=\"adf-comment-user-name\">{{ comment.userDisplayName }}</div>\n <div matLine class=\"adf-comment-message\">{{ comment.message }}</div>\n <div matLine class=\"adf-comment-message-time\">{{ comment.created | adfTimeAgo }}</div>\n </div>\n </mat-list-item>\n</mat-list>\n", styles: [".adf-comment-list{padding-bottom:0}.adf-comment-list .adf-comment-img-container{width:40px;height:100%;display:flex;align-self:flex-start;padding-top:18px}.adf-comment-list .adf-comment-list-item:has(.adf-comment-img-container){white-space:initial;display:table-row-group;padding-top:12px;overflow:hidden;height:100%;background-position:center}.adf-comment-list .adf-comment-list-item:has(.adf-comment-img-container) .adf-comment-contents{width:100%;padding-top:12px;padding-left:5px}.adf-comment-list .adf-comment-list-item:has(.adf-comment-img-container) .adf-comment-contents .adf-comment-message{width:100%;padding:2px 10px;white-space:pre-line;font-size:var(--theme-body-1-font-size);letter-spacing:-.2px;line-height:1.43;color:var(--adf-theme-foreground-text-color)}.adf-comment-list .adf-comment-user-icon{padding:10px 5px;width:30px;background-color:var(--theme-primary-color);color:var(--theme-primary-color-default-contrast);border-radius:50%;font-size:var(--theme-subheading-2-font-size);text-align:center;height:20px;background-size:cover}.adf-comment-list .adf-comment-user-name{width:100%;padding:2px 10px;font-weight:600;font-size:var(--theme-body-1-font-size)}.adf-comment-list .adf-comment-message-time{margin-top:5px;width:100%;padding:2px 10px;font-size:unset;color:var(--adf-theme-foreground-text-color)}.adf-comment-list .adf-people-img{border-radius:90%;width:40px;height:40px;vertical-align:middle}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i2$8.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i2$8.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "ngmodule", type: MatLineModule }, { kind: "directive", type: i1$2.MatLine, selector: "[mat-line], [matLine]" }, { kind: "pipe", type: TimeAgoPipe, name: "adfTimeAgo" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
26304
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: CommentListComponent, isStandalone: true, selector: "adf-comment-list", inputs: { comments: "comments" }, outputs: { clickRow: "clickRow" }, ngImport: i0, template: " <mat-list class=\"adf-comment-list\">\n <mat-list-item *ngFor=\"let comment of comments\"\n (click)=\"selectComment(comment)\"\n class=\"adf-comment-list-item\">\n <div class=\"adf-comment-img-container\">\n <div *ngIf=\"!comment.hasAvatarPicture\" class=\"adf-comment-user-icon\">{{ comment.userInitials }}</div>\n <img *ngIf=\"comment.hasAvatarPicture\" class=\"adf-people-img\"\n [alt]=\"'COMMENTS.PROFILE_IMAGE' | translate\"\n [src]=\"getUserImage(comment.createdBy.id.toString())\" />\n </div>\n <div class=\"adf-comment-contents\">\n <div matLine class=\"adf-comment-user-name\">{{ comment.userDisplayName }}</div>\n <div matLine class=\"adf-comment-message\">{{ comment.message }}</div>\n <div matLine class=\"adf-comment-message-time\">{{ comment.created | adfTimeAgo }}</div>\n </div>\n </mat-list-item>\n</mat-list>\n", styles: [".adf-comment-list{padding-bottom:0}.adf-comment-list .adf-comment-img-container{width:40px;height:100%;display:flex;align-self:flex-start;padding-top:18px}.adf-comment-list .adf-comment-list-item:has(.adf-comment-img-container){white-space:initial;display:table-row-group;padding-top:12px;overflow:hidden;height:100%;background-position:center}.adf-comment-list .adf-comment-list-item:has(.adf-comment-img-container) .adf-comment-contents{width:100%;padding-top:12px;padding-left:5px}.adf-comment-list .adf-comment-list-item:has(.adf-comment-img-container) .adf-comment-contents .adf-comment-message{width:100%;padding:2px 10px;white-space:pre-line;font-size:var(--theme-body-1-font-size);letter-spacing:-.2px;line-height:1.43;color:var(--adf-theme-foreground-text-color)}.adf-comment-list .adf-comment-user-icon{padding:10px 5px;width:30px;background-color:var(--theme-primary-color);color:var(--theme-primary-color-default-contrast);border-radius:50%;font-size:var(--theme-subheading-2-font-size);text-align:center;height:20px;background-size:cover}.adf-comment-list .adf-comment-user-name{width:100%;padding:2px 10px;font-weight:600;font-size:var(--theme-body-1-font-size)}.adf-comment-list .adf-comment-message-time{margin-top:5px;width:100%;padding:2px 10px;font-size:unset;color:var(--adf-theme-foreground-text-color)}.adf-comment-list .adf-people-img{border-radius:90%;width:40px;height:40px;vertical-align:middle}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i2$9.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i2$9.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "ngmodule", type: MatLineModule }, { kind: "directive", type: i1$2.MatLine, selector: "[mat-line], [matLine]" }, { kind: "pipe", type: TimeAgoPipe, name: "adfTimeAgo" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
26018
26305
  }
26019
26306
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CommentListComponent, decorators: [{
26020
26307
  type: Component,
@@ -26696,11 +26983,11 @@ class DynamicChipListComponent {
26696
26983
  }
26697
26984
  }
26698
26985
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DynamicChipListComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
26699
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: DynamicChipListComponent, isStandalone: true, selector: "adf-dynamic-chip-list", inputs: { pagination: "pagination", chips: "chips", showDelete: "showDelete", disableDelete: "disableDelete", limitChipsDisplayed: "limitChipsDisplayed", roundUpChips: "roundUpChips" }, outputs: { displayNext: "displayNext", removedChip: "removedChip" }, viewQueries: [{ propertyName: "containerView", first: true, predicate: ["nodeListContainer"], descendants: true }, { propertyName: "matChips", predicate: MatChip, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"adf-dynamic-chip-list-container\"\n [class.adf-dynamic-chip-list-flex-column]=\"limitChipsDisplayed && (!calculationsDone || columnFlexDirection)\"\n [class.adf-dynamic-chip-list-button-in-next-line]=\"moveLoadMoreButtonToNextRow\"\n [class.adf-dynamic-chip-list-paginated]=\"paginationData\"\n #nodeListContainer>\n <mat-chip-set\n [class.adf-dynamic-chip-list-full-width]=\"limitChipsDisplayed && !calculationsDone\"\n role=\"listbox\"\n [attr.aria-label]=\"'METADATA.BASIC.TAGS' | translate\">\n <mat-chip\n class=\"adf-dynamic-chip-list-chip\"\n *ngFor=\"let chip of chipsToDisplay; let idx = index\"\n [style.border-radius]=\"roundUpChips ? '20px' : '10px'\"\n [style.font-weight]=\"'bold'\"\n (removed)=\"removedChip.emit(chip.id)\">\n <span id=\"adf-dynamic-chip-list-chip-name-{{ idx }}\">{{ chip.name }}</span>\n <mat-icon *ngIf=\"showDelete\"\n id=\"adf-dynamic-chip-list-delete-{{ chip.name }}\"\n class=\"adf-dynamic-chip-list-delete-icon\"\n [disabled]=\"disableDelete\"\n matChipRemove>\n close\n </mat-icon>\n </mat-chip>\n </mat-chip-set>\n <button\n data-automation-id=\"adf-dynamic-chip-list-view-more-button\"\n mat-button\n [hidden]=\"chipsToDisplay?.length === 0 || !limitChipsDisplayed\"\n [style.left.px]=\"viewMoreButtonLeftOffset\"\n [style.top.px]=\"!!pagination ? viewMoreButtonTop : ''\"\n class=\"adf-dynamic-chip-list-view-more-button\"\n [class.adf-dynamic-chip-list-hidden-btn]=\"!calculationsDone\"\n (click)=\"displayNextChips($event)\">\n {{\n paginationData ? ('DYNAMIC_CHIP_LIST.LOAD_MORE' | translate) :\n ('TAG_NODE_LIST.VIEW_MORE' | translate: { count: undisplayedChipsCount })\n }}\n </button>\n</div>\n", styles: [".adf-dynamic-chip-list-container{display:flex;flex-direction:row;width:inherit;padding-top:12px;padding-bottom:12px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-view-more-button{margin-left:5px;position:absolute;padding:0 16px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-view-more-button[hidden]{visibility:hidden}.adf-dynamic-chip-list-container.adf-dynamic-chip-list-flex-column{flex-direction:column}.adf-dynamic-chip-list-container.adf-dynamic-chip-list-flex-column .adf-dynamic-chip-list-view-more-button{position:relative}.adf-dynamic-chip-list-container.adf-dynamic-chip-list-paginated .adf-dynamic-chip-list-view-more-button{margin-left:24px}.adf-dynamic-chip-list-container.adf-dynamic-chip-list-button-in-next-line{align-items:unset;padding-bottom:54px}.adf-dynamic-chip-list-container:not(.adf-dynamic-chip-list-paginated){align-items:center}.adf-dynamic-chip-list-container:not(.adf-dynamic-chip-list-paginated):not(.adf-dynamic-chip-list-flex-column) .adf-dynamic-chip-list-view-more-button{margin-left:4px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-full-width{width:100%}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-hidden-btn{visibility:hidden}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-chip{word-break:break-word;margin-top:0;margin-bottom:0;padding:6px 11px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-chip .mdc-evolution-chip__action{padding:2px 12px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-chip .mdc-evolution-chip__action .mdc-evolution-chip__text-label{color:var(--adf-theme-foreground-text-color-054)}\n"], dependencies: [{ kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i8.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: i8.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i8.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None }); }
26986
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: DynamicChipListComponent, isStandalone: true, selector: "adf-dynamic-chip-list", inputs: { pagination: "pagination", chips: "chips", showDelete: "showDelete", disableDelete: "disableDelete", limitChipsDisplayed: "limitChipsDisplayed", roundUpChips: "roundUpChips" }, outputs: { displayNext: "displayNext", removedChip: "removedChip" }, viewQueries: [{ propertyName: "containerView", first: true, predicate: ["nodeListContainer"], descendants: true }, { propertyName: "matChips", predicate: MatChip, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"adf-dynamic-chip-list-container\"\n [class.adf-dynamic-chip-list-flex-column]=\"limitChipsDisplayed && (!calculationsDone || columnFlexDirection)\"\n [class.adf-dynamic-chip-list-button-in-next-line]=\"moveLoadMoreButtonToNextRow\"\n [class.adf-dynamic-chip-list-paginated]=\"paginationData\"\n #nodeListContainer>\n <mat-chip-set\n [class.adf-dynamic-chip-list-full-width]=\"limitChipsDisplayed && !calculationsDone\"\n role=\"list\"\n [attr.aria-label]=\"'METADATA.BASIC.TAGS' | translate\">\n <mat-chip\n *ngFor=\"let chip of chipsToDisplay; let idx = index\"\n class=\"adf-dynamic-chip-list-chip\"\n [style.border-radius]=\"roundUpChips ? '20px' : '10px'\"\n [style.font-weight]=\"'bold'\"\n role=\"listitem\"\n tabIndex=\"0\"\n [attr.aria-label]=\"chip.name\"\n (removed)=\"removedChip.emit(chip.id)\">\n <span id=\"adf-dynamic-chip-list-chip-name-{{ idx }}\">{{ chip.name }}</span>\n <mat-icon *ngIf=\"showDelete\"\n id=\"adf-dynamic-chip-list-delete-{{ chip.name }}\"\n class=\"adf-dynamic-chip-list-delete-icon\"\n [disabled]=\"disableDelete\"\n matChipRemove>\n close\n </mat-icon>\n </mat-chip>\n </mat-chip-set>\n <button\n data-automation-id=\"adf-dynamic-chip-list-view-more-button\"\n mat-button\n [hidden]=\"chipsToDisplay?.length === 0 || !limitChipsDisplayed\"\n [style.left.px]=\"viewMoreButtonLeftOffset\"\n [style.top.px]=\"!!pagination ? viewMoreButtonTop : ''\"\n class=\"adf-dynamic-chip-list-view-more-button\"\n [class.adf-dynamic-chip-list-hidden-btn]=\"!calculationsDone\"\n (click)=\"displayNextChips($event)\">\n {{\n paginationData ? ('DYNAMIC_CHIP_LIST.LOAD_MORE' | translate) :\n ('TAG_NODE_LIST.VIEW_MORE' | translate: { count: undisplayedChipsCount })\n }}\n </button>\n</div>\n", styles: [".adf-dynamic-chip-list-container{display:flex;flex-direction:row;width:inherit;padding-top:12px;padding-bottom:12px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-view-more-button{margin-left:5px;position:absolute;padding:0 16px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-view-more-button[hidden]{visibility:hidden}.adf-dynamic-chip-list-container.adf-dynamic-chip-list-flex-column{flex-direction:column}.adf-dynamic-chip-list-container.adf-dynamic-chip-list-flex-column .adf-dynamic-chip-list-view-more-button{position:relative}.adf-dynamic-chip-list-container.adf-dynamic-chip-list-paginated .adf-dynamic-chip-list-view-more-button{margin-left:24px}.adf-dynamic-chip-list-container.adf-dynamic-chip-list-button-in-next-line{align-items:unset;padding-bottom:54px}.adf-dynamic-chip-list-container:not(.adf-dynamic-chip-list-paginated){align-items:center}.adf-dynamic-chip-list-container:not(.adf-dynamic-chip-list-paginated):not(.adf-dynamic-chip-list-flex-column) .adf-dynamic-chip-list-view-more-button{margin-left:4px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-full-width{width:100%}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-hidden-btn{visibility:hidden}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-chip{word-break:break-word;margin-top:0;margin-bottom:0;padding:6px 11px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-chip .mdc-evolution-chip__action{padding:2px 12px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-chip .mdc-evolution-chip__action .mdc-evolution-chip__text-label{color:var(--adf-theme-foreground-text-color-054)}\n"], dependencies: [{ kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i8.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: i8.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i8.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None }); }
26700
26987
  }
26701
26988
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DynamicChipListComponent, decorators: [{
26702
26989
  type: Component,
26703
- args: [{ selector: 'adf-dynamic-chip-list', imports: [MatChipsModule, TranslatePipe, NgForOf, MatIconModule, NgIf, MatButtonModule], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"adf-dynamic-chip-list-container\"\n [class.adf-dynamic-chip-list-flex-column]=\"limitChipsDisplayed && (!calculationsDone || columnFlexDirection)\"\n [class.adf-dynamic-chip-list-button-in-next-line]=\"moveLoadMoreButtonToNextRow\"\n [class.adf-dynamic-chip-list-paginated]=\"paginationData\"\n #nodeListContainer>\n <mat-chip-set\n [class.adf-dynamic-chip-list-full-width]=\"limitChipsDisplayed && !calculationsDone\"\n role=\"listbox\"\n [attr.aria-label]=\"'METADATA.BASIC.TAGS' | translate\">\n <mat-chip\n class=\"adf-dynamic-chip-list-chip\"\n *ngFor=\"let chip of chipsToDisplay; let idx = index\"\n [style.border-radius]=\"roundUpChips ? '20px' : '10px'\"\n [style.font-weight]=\"'bold'\"\n (removed)=\"removedChip.emit(chip.id)\">\n <span id=\"adf-dynamic-chip-list-chip-name-{{ idx }}\">{{ chip.name }}</span>\n <mat-icon *ngIf=\"showDelete\"\n id=\"adf-dynamic-chip-list-delete-{{ chip.name }}\"\n class=\"adf-dynamic-chip-list-delete-icon\"\n [disabled]=\"disableDelete\"\n matChipRemove>\n close\n </mat-icon>\n </mat-chip>\n </mat-chip-set>\n <button\n data-automation-id=\"adf-dynamic-chip-list-view-more-button\"\n mat-button\n [hidden]=\"chipsToDisplay?.length === 0 || !limitChipsDisplayed\"\n [style.left.px]=\"viewMoreButtonLeftOffset\"\n [style.top.px]=\"!!pagination ? viewMoreButtonTop : ''\"\n class=\"adf-dynamic-chip-list-view-more-button\"\n [class.adf-dynamic-chip-list-hidden-btn]=\"!calculationsDone\"\n (click)=\"displayNextChips($event)\">\n {{\n paginationData ? ('DYNAMIC_CHIP_LIST.LOAD_MORE' | translate) :\n ('TAG_NODE_LIST.VIEW_MORE' | translate: { count: undisplayedChipsCount })\n }}\n </button>\n</div>\n", styles: [".adf-dynamic-chip-list-container{display:flex;flex-direction:row;width:inherit;padding-top:12px;padding-bottom:12px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-view-more-button{margin-left:5px;position:absolute;padding:0 16px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-view-more-button[hidden]{visibility:hidden}.adf-dynamic-chip-list-container.adf-dynamic-chip-list-flex-column{flex-direction:column}.adf-dynamic-chip-list-container.adf-dynamic-chip-list-flex-column .adf-dynamic-chip-list-view-more-button{position:relative}.adf-dynamic-chip-list-container.adf-dynamic-chip-list-paginated .adf-dynamic-chip-list-view-more-button{margin-left:24px}.adf-dynamic-chip-list-container.adf-dynamic-chip-list-button-in-next-line{align-items:unset;padding-bottom:54px}.adf-dynamic-chip-list-container:not(.adf-dynamic-chip-list-paginated){align-items:center}.adf-dynamic-chip-list-container:not(.adf-dynamic-chip-list-paginated):not(.adf-dynamic-chip-list-flex-column) .adf-dynamic-chip-list-view-more-button{margin-left:4px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-full-width{width:100%}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-hidden-btn{visibility:hidden}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-chip{word-break:break-word;margin-top:0;margin-bottom:0;padding:6px 11px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-chip .mdc-evolution-chip__action{padding:2px 12px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-chip .mdc-evolution-chip__action .mdc-evolution-chip__text-label{color:var(--adf-theme-foreground-text-color-054)}\n"] }]
26990
+ args: [{ selector: 'adf-dynamic-chip-list', imports: [MatChipsModule, TranslatePipe, NgForOf, MatIconModule, NgIf, MatButtonModule], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"adf-dynamic-chip-list-container\"\n [class.adf-dynamic-chip-list-flex-column]=\"limitChipsDisplayed && (!calculationsDone || columnFlexDirection)\"\n [class.adf-dynamic-chip-list-button-in-next-line]=\"moveLoadMoreButtonToNextRow\"\n [class.adf-dynamic-chip-list-paginated]=\"paginationData\"\n #nodeListContainer>\n <mat-chip-set\n [class.adf-dynamic-chip-list-full-width]=\"limitChipsDisplayed && !calculationsDone\"\n role=\"list\"\n [attr.aria-label]=\"'METADATA.BASIC.TAGS' | translate\">\n <mat-chip\n *ngFor=\"let chip of chipsToDisplay; let idx = index\"\n class=\"adf-dynamic-chip-list-chip\"\n [style.border-radius]=\"roundUpChips ? '20px' : '10px'\"\n [style.font-weight]=\"'bold'\"\n role=\"listitem\"\n tabIndex=\"0\"\n [attr.aria-label]=\"chip.name\"\n (removed)=\"removedChip.emit(chip.id)\">\n <span id=\"adf-dynamic-chip-list-chip-name-{{ idx }}\">{{ chip.name }}</span>\n <mat-icon *ngIf=\"showDelete\"\n id=\"adf-dynamic-chip-list-delete-{{ chip.name }}\"\n class=\"adf-dynamic-chip-list-delete-icon\"\n [disabled]=\"disableDelete\"\n matChipRemove>\n close\n </mat-icon>\n </mat-chip>\n </mat-chip-set>\n <button\n data-automation-id=\"adf-dynamic-chip-list-view-more-button\"\n mat-button\n [hidden]=\"chipsToDisplay?.length === 0 || !limitChipsDisplayed\"\n [style.left.px]=\"viewMoreButtonLeftOffset\"\n [style.top.px]=\"!!pagination ? viewMoreButtonTop : ''\"\n class=\"adf-dynamic-chip-list-view-more-button\"\n [class.adf-dynamic-chip-list-hidden-btn]=\"!calculationsDone\"\n (click)=\"displayNextChips($event)\">\n {{\n paginationData ? ('DYNAMIC_CHIP_LIST.LOAD_MORE' | translate) :\n ('TAG_NODE_LIST.VIEW_MORE' | translate: { count: undisplayedChipsCount })\n }}\n </button>\n</div>\n", styles: [".adf-dynamic-chip-list-container{display:flex;flex-direction:row;width:inherit;padding-top:12px;padding-bottom:12px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-view-more-button{margin-left:5px;position:absolute;padding:0 16px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-view-more-button[hidden]{visibility:hidden}.adf-dynamic-chip-list-container.adf-dynamic-chip-list-flex-column{flex-direction:column}.adf-dynamic-chip-list-container.adf-dynamic-chip-list-flex-column .adf-dynamic-chip-list-view-more-button{position:relative}.adf-dynamic-chip-list-container.adf-dynamic-chip-list-paginated .adf-dynamic-chip-list-view-more-button{margin-left:24px}.adf-dynamic-chip-list-container.adf-dynamic-chip-list-button-in-next-line{align-items:unset;padding-bottom:54px}.adf-dynamic-chip-list-container:not(.adf-dynamic-chip-list-paginated){align-items:center}.adf-dynamic-chip-list-container:not(.adf-dynamic-chip-list-paginated):not(.adf-dynamic-chip-list-flex-column) .adf-dynamic-chip-list-view-more-button{margin-left:4px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-full-width{width:100%}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-hidden-btn{visibility:hidden}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-chip{word-break:break-word;margin-top:0;margin-bottom:0;padding:6px 11px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-chip .mdc-evolution-chip__action{padding:2px 12px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-chip .mdc-evolution-chip__action .mdc-evolution-chip__text-label{color:var(--adf-theme-foreground-text-color-054)}\n"] }]
26704
26991
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { pagination: [{
26705
26992
  type: Input
26706
26993
  }], chips: [{
@@ -26823,18 +27110,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
26823
27110
  * See the License for the specific language governing permissions and
26824
27111
  * limitations under the License.
26825
27112
  */
26826
- const CLIPBOARD_DIRECTIVES = [ClipboardDirective, ClipboardComponent];
27113
+ const CLIPBOARD_DIRECTIVES = [ClipboardDirective];
26827
27114
  /** @deprecated use `...CLIPBOARD_DIRECTIVES` or import standalone directives */
26828
27115
  class ClipboardModule {
26829
27116
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClipboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
26830
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClipboardModule, imports: [ClipboardDirective, ClipboardComponent], exports: [ClipboardDirective, ClipboardComponent] }); }
26831
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClipboardModule }); }
27117
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClipboardModule, imports: [MatTooltipModule, ClipboardDirective], exports: [MatTooltipModule, ClipboardDirective] }); }
27118
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClipboardModule, imports: [MatTooltipModule, MatTooltipModule] }); }
26832
27119
  }
26833
27120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClipboardModule, decorators: [{
26834
27121
  type: NgModule,
26835
27122
  args: [{
26836
- imports: [...CLIPBOARD_DIRECTIVES],
26837
- exports: [...CLIPBOARD_DIRECTIVES]
27123
+ imports: [MatTooltipModule, ...CLIPBOARD_DIRECTIVES],
27124
+ exports: [MatTooltipModule, ...CLIPBOARD_DIRECTIVES]
26838
27125
  }]
26839
27126
  }] });
26840
27127
 
@@ -27045,47 +27332,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
27045
27332
  }]
27046
27333
  }], ctorParameters: () => [{ type: i1$7.MatDialog }, { type: AuthenticationService }, { type: AuthGuardService }] });
27047
27334
 
27048
- /*!
27049
- * @license
27050
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
27051
- *
27052
- * Licensed under the Apache License, Version 2.0 (the "License");
27053
- * you may not use this file except in compliance with the License.
27054
- * You may obtain a copy of the License at
27055
- *
27056
- * http://www.apache.org/licenses/LICENSE-2.0
27057
- *
27058
- * Unless required by applicable law or agreed to in writing, software
27059
- * distributed under the License is distributed on an "AS IS" BASIS,
27060
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
27061
- * See the License for the specific language governing permissions and
27062
- * limitations under the License.
27063
- */
27064
- class ConfirmDialogComponent {
27065
- constructor(data, sanitizer) {
27066
- this.sanitizer = sanitizer;
27067
- data = data || {};
27068
- this.title = data.title || 'ADF_CONFIRM_DIALOG.TITLE';
27069
- this.message = data.message || 'ADF_CONFIRM_DIALOG.MESSAGE';
27070
- this.yesLabel = data.yesLabel || 'ADF_CONFIRM_DIALOG.YES_LABEL';
27071
- this.thirdOptionLabel = data.thirdOptionLabel;
27072
- this.noLabel = data.noLabel || 'ADF_CONFIRM_DIALOG.NO_LABEL';
27073
- this.htmlContent = data.htmlContent;
27074
- }
27075
- sanitizedHtmlContent() {
27076
- return this.sanitizer.sanitize(SecurityContext.HTML, this.htmlContent);
27077
- }
27078
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1$5.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
27079
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ConfirmDialogComponent, isStandalone: true, selector: "adf-confirm-dialog", host: { classAttribute: "adf-confirm-dialog" }, ngImport: i0, template: "<h1 mat-dialog-title data-automation-id=\"adf-confirm-dialog-title\">{{ title | translate }}</h1>\n<mat-dialog-content>\n <div class=\"adf-confirm-dialog-content\">\n <p *ngIf=\"!htmlContent; else customContent\" data-automation-id=\"adf-confirm-dialog-base-message\">\n {{ message | translate }}\n </p>\n <ng-template #customContent>\n <span [innerHTML]=\"sanitizedHtmlContent()\" data-automation-id=\"adf-confirm-dialog-custom-content\"></span>\n </ng-template>\n </div>\n</mat-dialog-content>\n<mat-dialog-actions>\n <span class=\"adf-dialog-spacer\" data-automation-id=\"adf-confirm-dialog-spacer\"></span>\n <button id=\"adf-confirm-accept\"\n class=\"adf-confirm-dialog-button\"\n mat-button\n color=\"primary\"\n data-automation-id=\"adf-confirm-dialog-confirmation\"\n [mat-dialog-close]=\"true\">\n {{ yesLabel | translate }}\n </button>\n <button *ngIf=\"thirdOptionLabel\"\n id=\"adf-confirm-all\"\n class=\"adf-confirm-dialog-button\"\n mat-button\n [mat-dialog-close]=\"thirdOptionLabel\"\n data-automation-id=\"adf-confirm-dialog-confirm-all\">{{ thirdOptionLabel | translate }}\n </button>\n <button id=\"adf-confirm-cancel\"\n class=\"adf-confirm-dialog-button\"\n mat-button\n [mat-dialog-close]=\"false\"\n data-automation-id=\"adf-confirm-dialog-reject\"\n cdkFocusInitial>\n {{ noLabel | translate }}\n </button>\n</mat-dialog-actions>\n", styles: [".adf-dialog-spacer{flex:1 1 auto}.adf-confirm-dialog .adf-confirm-dialog-button{text-transform:uppercase}.adf-confirm-dialog .adf-confirm-dialog-content{width:100%}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1$7.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$7.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$7.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$7.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None }); }
27080
- }
27081
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
27082
- type: Component,
27083
- args: [{ selector: 'adf-confirm-dialog', host: { class: 'adf-confirm-dialog' }, encapsulation: ViewEncapsulation.None, standalone: true, imports: [TranslatePipe, MatDialogModule, NgIf, MatButtonModule], template: "<h1 mat-dialog-title data-automation-id=\"adf-confirm-dialog-title\">{{ title | translate }}</h1>\n<mat-dialog-content>\n <div class=\"adf-confirm-dialog-content\">\n <p *ngIf=\"!htmlContent; else customContent\" data-automation-id=\"adf-confirm-dialog-base-message\">\n {{ message | translate }}\n </p>\n <ng-template #customContent>\n <span [innerHTML]=\"sanitizedHtmlContent()\" data-automation-id=\"adf-confirm-dialog-custom-content\"></span>\n </ng-template>\n </div>\n</mat-dialog-content>\n<mat-dialog-actions>\n <span class=\"adf-dialog-spacer\" data-automation-id=\"adf-confirm-dialog-spacer\"></span>\n <button id=\"adf-confirm-accept\"\n class=\"adf-confirm-dialog-button\"\n mat-button\n color=\"primary\"\n data-automation-id=\"adf-confirm-dialog-confirmation\"\n [mat-dialog-close]=\"true\">\n {{ yesLabel | translate }}\n </button>\n <button *ngIf=\"thirdOptionLabel\"\n id=\"adf-confirm-all\"\n class=\"adf-confirm-dialog-button\"\n mat-button\n [mat-dialog-close]=\"thirdOptionLabel\"\n data-automation-id=\"adf-confirm-dialog-confirm-all\">{{ thirdOptionLabel | translate }}\n </button>\n <button id=\"adf-confirm-cancel\"\n class=\"adf-confirm-dialog-button\"\n mat-button\n [mat-dialog-close]=\"false\"\n data-automation-id=\"adf-confirm-dialog-reject\"\n cdkFocusInitial>\n {{ noLabel | translate }}\n </button>\n</mat-dialog-actions>\n", styles: [".adf-dialog-spacer{flex:1 1 auto}.adf-confirm-dialog .adf-confirm-dialog-button{text-transform:uppercase}.adf-confirm-dialog .adf-confirm-dialog-content{width:100%}\n"] }]
27084
- }], ctorParameters: () => [{ type: undefined, decorators: [{
27085
- type: Inject,
27086
- args: [MAT_DIALOG_DATA]
27087
- }] }, { type: i1$5.DomSanitizer }] });
27088
-
27089
27335
  /*!
27090
27336
  * @license
27091
27337
  * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -27318,6 +27564,7 @@ class NotificationHistoryComponent {
27318
27564
  }
27319
27565
  onMenuOpened() {
27320
27566
  this.createPagination();
27567
+ setTimeout(() => this.initializeFocusManager(0));
27321
27568
  }
27322
27569
  markAsRead() {
27323
27570
  this.notifications = [];
@@ -27339,6 +27586,7 @@ class NotificationHistoryComponent {
27339
27586
  this.pagination.skipCount = this.pagination.maxItems + this.pagination.skipCount;
27340
27587
  this.pagination.hasMoreItems = this.notifications.length > this.pagination.skipCount;
27341
27588
  this.paginatedNotifications = this.notifications.slice(0, this.pagination.skipCount);
27589
+ setTimeout(() => this.initializeFocusManager(this.focusKeyManager.activeItemIndex));
27342
27590
  }
27343
27591
  hasMoreNotifications() {
27344
27592
  return this.pagination?.hasMoreItems;
@@ -27350,8 +27598,26 @@ class NotificationHistoryComponent {
27350
27598
  this.trigger.closeMenu();
27351
27599
  }
27352
27600
  }
27601
+ manageFocus(event) {
27602
+ if (event.key === 'ArrowUp') {
27603
+ this.focusKeyManager.setPreviousItemActive();
27604
+ event.stopPropagation();
27605
+ }
27606
+ else if (event.key === 'ArrowDown') {
27607
+ event.stopPropagation();
27608
+ this.focusKeyManager.setNextItemActive();
27609
+ }
27610
+ }
27611
+ initializeFocusManager(activeIndex) {
27612
+ this.focusKeyManager = new FocusKeyManager([
27613
+ this.markAsReadButton,
27614
+ ...this.menuItems,
27615
+ ...(this.hasMoreNotifications() ? [this.loadMoreButton] : [])
27616
+ ]).withWrap();
27617
+ this.focusKeyManager.setActiveItem(activeIndex);
27618
+ }
27353
27619
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NotificationHistoryComponent, deps: [{ token: NotificationService }, { token: StorageService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
27354
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: NotificationHistoryComponent, isStandalone: true, selector: "adf-notification-history", inputs: { menuPositionX: "menuPositionX", menuPositionY: "menuPositionY", maxNotifications: "maxNotifications" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true, static: true }], ngImport: i0, template: "<button mat-button\n [matMenuTriggerFor]=\"menu\"\n aria-hidden=\"false\"\n [attr.aria-label]=\"'NOTIFICATIONS.OPEN_HISTORY' | translate\"\n title=\"{{ 'NOTIFICATIONS.OPEN_HISTORY' | translate }}\"\n class=\"adf-notification-history-menu_button\"\n id=\"adf-notification-history-open-button\"\n (menuOpened)=\"onMenuOpened()\">\n <mat-icon matBadge=\"&#8288;\"\n [matBadgeHidden]=\"!notifications.length\"\n class=\"adf-notification-history-menu_button-icon\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\">notifications\n </mat-icon>\n</button>\n\n<mat-menu #menu=\"matMenu\"\n [xPosition]=\"menuPositionX\"\n [yPosition]=\"menuPositionY\"\n id=\"adf-notification-history-menu\"\n class=\"adf-notification-history-menu adf-notification-history-menu-panel\">\n <div class=\"adf-notification-history-list-header\">\n <span class=\"adf-notification-history-menu-title\">{{ 'NOTIFICATIONS.TITLE' | translate }}</span>\n <button mat-menu-item\n *ngIf=\"notifications.length\"\n id=\"adf-notification-history-mark-as-read\"\n class=\"adf-notification-history-mark-as-read\"\n title=\"{{ 'NOTIFICATIONS.MARK_AS_READ' | translate }}\"\n (click)=\"markAsRead()\">\n <mat-icon class=\"adf-notification-history-mark-as-read-icon\">done_all</mat-icon>\n </button>\n </div>\n\n <mat-divider/>\n\n <div class=\"adf-notification-history-item-list\">\n <ng-container *ngIf=\"notifications.length; else empty_list_template\">\n <button mat-menu-item\n *ngFor=\"let notification of paginatedNotifications\"\n (click)=\"onNotificationClick(notification, $event)\"\n class=\"adf-notification-history-menu-item\">\n <div class=\"adf-notification-history-menu-item-content\">\n <div *ngIf=\"notification.initiator; else no_avatar\"\n [outerHTML]=\"notification.initiator | usernameInitials : 'adf-notification-initiator-pic'\"></div>\n <ng-template #no_avatar>\n <mat-icon class=\"adf-notification-history-menu-initiator\">\n {{ notification.icon }}\n </mat-icon>\n </ng-template>\n <div class=\"adf-notification-history-menu-item-content-message\">\n <p class=\"adf-notification-history-menu-text adf-notification-history-menu-message\"\n *ngFor=\"let message of notification.messages\"\n [title]=\"message\">{{ message }}</p>\n <p class=\"adf-notification-history-menu-text adf-notification-history-menu-date\"\n > {{ notification.datetime | adfTimeAgo }} </p>\n </div>\n </div>\n </button>\n </ng-container>\n <ng-template #empty_list_template>\n <p mat-menu-item id=\"adf-notification-history-component-no-message\"\n class=\"adf-notification-history-menu-no-message-text\">\n {{ 'NOTIFICATIONS.NO_MESSAGE' | translate }}\n </p>\n </ng-template>\n </div>\n\n <mat-divider/>\n\n <div class=\"adf-notification-history-load-more\" *ngIf=\"hasMoreNotifications()\">\n <button mat-menu-item (click)=\"loadMore($event)\">\n {{ 'NOTIFICATIONS.LOAD_MORE' | translate }}\n </button>\n </div>\n</mat-menu>\n", styles: [".adf-notification-history-menu-title{font-size:14px;-webkit-font-smoothing:subpixel-antialiased}.adf-notification-history-menu_button.mat-mdc-button{border-radius:90%;padding:0;min-width:40px;height:40px;margin-top:1px}.adf-notification-history-menu_button.mat-mdc-button .adf-notification-history-menu_button-icon{margin-right:0;font-size:24px;height:24px;width:24px;color:var(--theme-text-color)}.adf-notification-history-menu .adf-notification-history-list-header{padding:10.5px 16px;display:flex;justify-content:space-between;align-items:center}.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read{display:flex;padding:10px;width:auto;margin:4px 0}.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read:hover,.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read:focus,.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read:active{background:none}.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read-icon{margin:0;color:inherit}.adf-notification-history-menu .adf-notification-history-menu-title{line-height:28px}.adf-notification-history-menu .adf-notification-history-item-list{padding-top:8px}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-item{cursor:pointer;height:72px;align-items:center;display:block;padding:0 14px}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-item-content{height:100%;display:flex;align-items:center}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-item-content-message{display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;overflow:hidden;padding:0 0 0 16px}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-item-content-message p{line-height:normal;margin:0;color:var(--theme-sidenav-user-menu-color)}.adf-notification-history-menu .adf-notification-history-menu-item:focus{outline:none;background:var(--adf-theme-background-hover-color)}.adf-notification-history-menu .adf-notification-history-menu-item:hover{background-color:var(--adf-theme-background-hover-color)}.adf-notification-history-menu .adf-notification-history-menu-message:is(p){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--theme-body-1-font-size)}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-no-message-text{color:var(--theme-sidenav-user-menu-color);margin:0;padding:12px 16px;opacity:inherit;border:none}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-no-message-text span{font-size:16px;-webkit-font-smoothing:subpixel-antialiased}.adf-notification-history-menu .adf-notification-history-menu-date.adf-notification-history-menu-text:is(p){font-size:var(--theme-caption-font-size);text-indent:3px}.adf-notification-history-menu .adf-notification-history-menu-initiator{margin:4px}.adf-notification-initiator-pic{min-width:40px;background:var(--theme-accent-color);display:inline-block;height:40px;border-radius:100px;text-align:center;font-weight:bolder;font-size:var(--theme-adf-picture-1-font-size);text-transform:uppercase;vertical-align:middle;line-height:40px;color:var(--adf-theme-mat-grey-color-a200)}.adf-notification-history-load-more{display:flex;justify-content:center;padding:10px}.adf-notification-history-load-more button{justify-content:center;width:100%;min-height:36px}.mat-mdc-menu-panel.adf-notification-history-menu.adf-notification-history-menu-panel{min-width:320px;max-height:500px}.mat-mdc-menu-panel.adf-notification-history-menu.adf-notification-history-menu-panel .mat-mdc-menu-content{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i7.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i7.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i7.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i6$1.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i4$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: TimeAgoPipe, name: "adfTimeAgo" }, { kind: "pipe", type: InitialUsernamePipe, name: "usernameInitials" }, { kind: "ngmodule", type: MatSnackBarModule }], encapsulation: i0.ViewEncapsulation.None }); }
27620
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: NotificationHistoryComponent, isStandalone: true, selector: "adf-notification-history", inputs: { menuPositionX: "menuPositionX", menuPositionY: "menuPositionY", maxNotifications: "maxNotifications" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true, static: true }, { propertyName: "markAsReadButton", first: true, predicate: ["markAsReadButton"], descendants: true }, { propertyName: "loadMoreButton", first: true, predicate: ["loadMoreButton"], descendants: true }, { propertyName: "menuItems", predicate: MatMenuItem, descendants: true }], ngImport: i0, template: "<button mat-button\n [matMenuTriggerFor]=\"menu\"\n aria-hidden=\"false\"\n [attr.aria-label]=\"('NOTIFICATIONS.' + (notifications.length ? 'UNREAD_MESSAGES' : 'NO_MESSAGE') | translate) + ' ' + ('NOTIFICATIONS.OPEN_HISTORY' | translate)\"\n title=\"{{ 'NOTIFICATIONS.OPEN_HISTORY' | translate }}\"\n class=\"adf-notification-history-menu_button\"\n id=\"adf-notification-history-open-button\"\n (menuOpened)=\"onMenuOpened()\">\n <mat-icon matBadge=\"&#8288;\"\n [matBadgeHidden]=\"!notifications.length\"\n class=\"adf-notification-history-menu_button-icon\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\">notifications\n </mat-icon>\n</button>\n\n<mat-menu #menu=\"matMenu\"\n [xPosition]=\"menuPositionX\"\n [yPosition]=\"menuPositionY\"\n id=\"adf-notification-history-menu\"\n class=\"adf-notification-history-menu adf-notification-history-menu-panel\">\n <div class=\"adf-notification-history-list-header\" aria-hidden=\"true\">\n <span class=\"adf-notification-history-menu-title\">{{ 'NOTIFICATIONS.TITLE' | translate }}</span>\n <button mat-icon-button\n *ngIf=\"notifications.length\"\n data-automation-id=\"adf-notification-history-mark-as-read\"\n class=\"adf-notification-history-mark-as-read\"\n title=\"{{ 'NOTIFICATIONS.MARK_AS_READ' | translate }}\"\n (click)=\"markAsRead()\"\n #markAsReadButton\n (keydown)=\"manageFocus($event)\">\n <mat-icon class=\"adf-notification-history-mark-as-read-icon\">done_all</mat-icon>\n </button>\n </div>\n\n <mat-divider/>\n\n <div class=\"adf-notification-history-item-list\">\n <ng-container *ngIf=\"notifications.length; else empty_list_template\">\n <button mat-menu-item\n *ngFor=\"let notification of paginatedNotifications\"\n (click)=\"onNotificationClick(notification, $event)\"\n class=\"adf-notification-history-menu-item\"\n (keydown)=\"manageFocus($event)\">\n <div class=\"adf-notification-history-menu-item-content\">\n <div *ngIf=\"notification.initiator; else no_avatar\"\n [outerHTML]=\"notification.initiator | usernameInitials : 'adf-notification-initiator-pic'\"></div>\n <ng-template #no_avatar>\n <mat-icon class=\"adf-notification-history-menu-initiator\">\n {{ notification.icon }}\n </mat-icon>\n </ng-template>\n <div class=\"adf-notification-history-menu-item-content-message\">\n <p class=\"adf-notification-history-menu-text adf-notification-history-menu-message\"\n *ngFor=\"let message of notification.messages\"\n [title]=\"message\">{{ message }}</p>\n <p class=\"adf-notification-history-menu-text adf-notification-history-menu-date\"\n > {{ notification.datetime | adfTimeAgo }} </p>\n </div>\n </div>\n </button>\n </ng-container>\n <ng-template #empty_list_template>\n <p mat-menu-item id=\"adf-notification-history-component-no-message\"\n class=\"adf-notification-history-menu-no-message-text\">\n {{ 'NOTIFICATIONS.NO_MESSAGE' | translate }}\n </p>\n </ng-template>\n </div>\n\n <mat-divider/>\n\n <div\n class=\"adf-notification-history-load-more\"\n *ngIf=\"hasMoreNotifications()\"\n aria-hidden=\"true\">\n <button\n data-automation-id=\"adf-notification-history-load-more\"\n mat-button\n (click)=\"loadMore($event)\"\n #loadMoreButton\n (keydown)=\"manageFocus($event)\">\n {{ 'NOTIFICATIONS.LOAD_MORE' | translate }}\n </button>\n </div>\n</mat-menu>\n", styles: [".adf-notification-history-menu-title{font-size:14px;-webkit-font-smoothing:subpixel-antialiased}.adf-notification-history-menu_button.mat-mdc-button{border-radius:90%;padding:0;min-width:40px;height:40px;margin-top:1px}.adf-notification-history-menu_button.mat-mdc-button .adf-notification-history-menu_button-icon{margin-right:0;font-size:24px;height:24px;width:24px;color:var(--theme-text-color)}.adf-notification-history-menu .adf-notification-history-list-header{padding:10.5px 16px;display:flex;justify-content:space-between;align-items:center}.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read{display:flex;padding:10px;width:auto;margin:4px 0}.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read:hover,.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read:focus,.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read:active{background:none}.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read-icon{margin:0;color:inherit}.adf-notification-history-menu .adf-notification-history-menu-title{line-height:28px}.adf-notification-history-menu .adf-notification-history-item-list{padding-top:8px}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-item{cursor:pointer;height:72px;align-items:center;display:block;padding:0 14px}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-item-content{height:100%;display:flex;align-items:center}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-item-content-message{display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;overflow:hidden;padding:0 0 0 16px}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-item-content-message p{line-height:normal;margin:0;color:var(--theme-sidenav-user-menu-color)}.adf-notification-history-menu .adf-notification-history-menu-item:focus{outline:none;background:var(--adf-theme-background-hover-color)}.adf-notification-history-menu .adf-notification-history-menu-item:hover{background-color:var(--adf-theme-background-hover-color)}.adf-notification-history-menu .adf-notification-history-menu-message:is(p){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--theme-body-1-font-size)}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-no-message-text{color:var(--theme-sidenav-user-menu-color);margin:0;padding:12px 16px;opacity:inherit;border:none}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-no-message-text span{font-size:16px;-webkit-font-smoothing:subpixel-antialiased}.adf-notification-history-menu .adf-notification-history-menu-date.adf-notification-history-menu-text:is(p){font-size:var(--theme-caption-font-size);text-indent:3px}.adf-notification-history-menu .adf-notification-history-menu-initiator{margin:4px}.adf-notification-initiator-pic{min-width:40px;background:var(--theme-accent-color);display:inline-block;height:40px;border-radius:100px;text-align:center;font-weight:bolder;font-size:var(--theme-adf-picture-1-font-size);text-transform:uppercase;vertical-align:middle;line-height:40px;color:var(--adf-theme-mat-grey-color-a200)}.adf-notification-history-load-more{display:flex;justify-content:center;padding:10px}.adf-notification-history-load-more button{justify-content:center;width:100%;min-height:36px}.mat-mdc-menu-panel.adf-notification-history-menu.adf-notification-history-menu-panel{min-width:320px;max-height:500px}.mat-mdc-menu-panel.adf-notification-history-menu.adf-notification-history-menu-panel .mat-mdc-menu-content{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i7.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i7.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i7.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i6$1.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i4$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: TimeAgoPipe, name: "adfTimeAgo" }, { kind: "pipe", type: InitialUsernamePipe, name: "usernameInitials" }, { kind: "ngmodule", type: MatSnackBarModule }], encapsulation: i0.ViewEncapsulation.None }); }
27355
27621
  }
27356
27622
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NotificationHistoryComponent, decorators: [{
27357
27623
  type: Component,
@@ -27367,7 +27633,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
27367
27633
  TimeAgoPipe,
27368
27634
  InitialUsernamePipe,
27369
27635
  MatSnackBarModule
27370
- ], encapsulation: ViewEncapsulation.None, template: "<button mat-button\n [matMenuTriggerFor]=\"menu\"\n aria-hidden=\"false\"\n [attr.aria-label]=\"'NOTIFICATIONS.OPEN_HISTORY' | translate\"\n title=\"{{ 'NOTIFICATIONS.OPEN_HISTORY' | translate }}\"\n class=\"adf-notification-history-menu_button\"\n id=\"adf-notification-history-open-button\"\n (menuOpened)=\"onMenuOpened()\">\n <mat-icon matBadge=\"&#8288;\"\n [matBadgeHidden]=\"!notifications.length\"\n class=\"adf-notification-history-menu_button-icon\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\">notifications\n </mat-icon>\n</button>\n\n<mat-menu #menu=\"matMenu\"\n [xPosition]=\"menuPositionX\"\n [yPosition]=\"menuPositionY\"\n id=\"adf-notification-history-menu\"\n class=\"adf-notification-history-menu adf-notification-history-menu-panel\">\n <div class=\"adf-notification-history-list-header\">\n <span class=\"adf-notification-history-menu-title\">{{ 'NOTIFICATIONS.TITLE' | translate }}</span>\n <button mat-menu-item\n *ngIf=\"notifications.length\"\n id=\"adf-notification-history-mark-as-read\"\n class=\"adf-notification-history-mark-as-read\"\n title=\"{{ 'NOTIFICATIONS.MARK_AS_READ' | translate }}\"\n (click)=\"markAsRead()\">\n <mat-icon class=\"adf-notification-history-mark-as-read-icon\">done_all</mat-icon>\n </button>\n </div>\n\n <mat-divider/>\n\n <div class=\"adf-notification-history-item-list\">\n <ng-container *ngIf=\"notifications.length; else empty_list_template\">\n <button mat-menu-item\n *ngFor=\"let notification of paginatedNotifications\"\n (click)=\"onNotificationClick(notification, $event)\"\n class=\"adf-notification-history-menu-item\">\n <div class=\"adf-notification-history-menu-item-content\">\n <div *ngIf=\"notification.initiator; else no_avatar\"\n [outerHTML]=\"notification.initiator | usernameInitials : 'adf-notification-initiator-pic'\"></div>\n <ng-template #no_avatar>\n <mat-icon class=\"adf-notification-history-menu-initiator\">\n {{ notification.icon }}\n </mat-icon>\n </ng-template>\n <div class=\"adf-notification-history-menu-item-content-message\">\n <p class=\"adf-notification-history-menu-text adf-notification-history-menu-message\"\n *ngFor=\"let message of notification.messages\"\n [title]=\"message\">{{ message }}</p>\n <p class=\"adf-notification-history-menu-text adf-notification-history-menu-date\"\n > {{ notification.datetime | adfTimeAgo }} </p>\n </div>\n </div>\n </button>\n </ng-container>\n <ng-template #empty_list_template>\n <p mat-menu-item id=\"adf-notification-history-component-no-message\"\n class=\"adf-notification-history-menu-no-message-text\">\n {{ 'NOTIFICATIONS.NO_MESSAGE' | translate }}\n </p>\n </ng-template>\n </div>\n\n <mat-divider/>\n\n <div class=\"adf-notification-history-load-more\" *ngIf=\"hasMoreNotifications()\">\n <button mat-menu-item (click)=\"loadMore($event)\">\n {{ 'NOTIFICATIONS.LOAD_MORE' | translate }}\n </button>\n </div>\n</mat-menu>\n", styles: [".adf-notification-history-menu-title{font-size:14px;-webkit-font-smoothing:subpixel-antialiased}.adf-notification-history-menu_button.mat-mdc-button{border-radius:90%;padding:0;min-width:40px;height:40px;margin-top:1px}.adf-notification-history-menu_button.mat-mdc-button .adf-notification-history-menu_button-icon{margin-right:0;font-size:24px;height:24px;width:24px;color:var(--theme-text-color)}.adf-notification-history-menu .adf-notification-history-list-header{padding:10.5px 16px;display:flex;justify-content:space-between;align-items:center}.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read{display:flex;padding:10px;width:auto;margin:4px 0}.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read:hover,.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read:focus,.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read:active{background:none}.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read-icon{margin:0;color:inherit}.adf-notification-history-menu .adf-notification-history-menu-title{line-height:28px}.adf-notification-history-menu .adf-notification-history-item-list{padding-top:8px}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-item{cursor:pointer;height:72px;align-items:center;display:block;padding:0 14px}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-item-content{height:100%;display:flex;align-items:center}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-item-content-message{display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;overflow:hidden;padding:0 0 0 16px}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-item-content-message p{line-height:normal;margin:0;color:var(--theme-sidenav-user-menu-color)}.adf-notification-history-menu .adf-notification-history-menu-item:focus{outline:none;background:var(--adf-theme-background-hover-color)}.adf-notification-history-menu .adf-notification-history-menu-item:hover{background-color:var(--adf-theme-background-hover-color)}.adf-notification-history-menu .adf-notification-history-menu-message:is(p){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--theme-body-1-font-size)}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-no-message-text{color:var(--theme-sidenav-user-menu-color);margin:0;padding:12px 16px;opacity:inherit;border:none}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-no-message-text span{font-size:16px;-webkit-font-smoothing:subpixel-antialiased}.adf-notification-history-menu .adf-notification-history-menu-date.adf-notification-history-menu-text:is(p){font-size:var(--theme-caption-font-size);text-indent:3px}.adf-notification-history-menu .adf-notification-history-menu-initiator{margin:4px}.adf-notification-initiator-pic{min-width:40px;background:var(--theme-accent-color);display:inline-block;height:40px;border-radius:100px;text-align:center;font-weight:bolder;font-size:var(--theme-adf-picture-1-font-size);text-transform:uppercase;vertical-align:middle;line-height:40px;color:var(--adf-theme-mat-grey-color-a200)}.adf-notification-history-load-more{display:flex;justify-content:center;padding:10px}.adf-notification-history-load-more button{justify-content:center;width:100%;min-height:36px}.mat-mdc-menu-panel.adf-notification-history-menu.adf-notification-history-menu-panel{min-width:320px;max-height:500px}.mat-mdc-menu-panel.adf-notification-history-menu.adf-notification-history-menu-panel .mat-mdc-menu-content{padding:0}\n"] }]
27636
+ ], encapsulation: ViewEncapsulation.None, template: "<button mat-button\n [matMenuTriggerFor]=\"menu\"\n aria-hidden=\"false\"\n [attr.aria-label]=\"('NOTIFICATIONS.' + (notifications.length ? 'UNREAD_MESSAGES' : 'NO_MESSAGE') | translate) + ' ' + ('NOTIFICATIONS.OPEN_HISTORY' | translate)\"\n title=\"{{ 'NOTIFICATIONS.OPEN_HISTORY' | translate }}\"\n class=\"adf-notification-history-menu_button\"\n id=\"adf-notification-history-open-button\"\n (menuOpened)=\"onMenuOpened()\">\n <mat-icon matBadge=\"&#8288;\"\n [matBadgeHidden]=\"!notifications.length\"\n class=\"adf-notification-history-menu_button-icon\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\">notifications\n </mat-icon>\n</button>\n\n<mat-menu #menu=\"matMenu\"\n [xPosition]=\"menuPositionX\"\n [yPosition]=\"menuPositionY\"\n id=\"adf-notification-history-menu\"\n class=\"adf-notification-history-menu adf-notification-history-menu-panel\">\n <div class=\"adf-notification-history-list-header\" aria-hidden=\"true\">\n <span class=\"adf-notification-history-menu-title\">{{ 'NOTIFICATIONS.TITLE' | translate }}</span>\n <button mat-icon-button\n *ngIf=\"notifications.length\"\n data-automation-id=\"adf-notification-history-mark-as-read\"\n class=\"adf-notification-history-mark-as-read\"\n title=\"{{ 'NOTIFICATIONS.MARK_AS_READ' | translate }}\"\n (click)=\"markAsRead()\"\n #markAsReadButton\n (keydown)=\"manageFocus($event)\">\n <mat-icon class=\"adf-notification-history-mark-as-read-icon\">done_all</mat-icon>\n </button>\n </div>\n\n <mat-divider/>\n\n <div class=\"adf-notification-history-item-list\">\n <ng-container *ngIf=\"notifications.length; else empty_list_template\">\n <button mat-menu-item\n *ngFor=\"let notification of paginatedNotifications\"\n (click)=\"onNotificationClick(notification, $event)\"\n class=\"adf-notification-history-menu-item\"\n (keydown)=\"manageFocus($event)\">\n <div class=\"adf-notification-history-menu-item-content\">\n <div *ngIf=\"notification.initiator; else no_avatar\"\n [outerHTML]=\"notification.initiator | usernameInitials : 'adf-notification-initiator-pic'\"></div>\n <ng-template #no_avatar>\n <mat-icon class=\"adf-notification-history-menu-initiator\">\n {{ notification.icon }}\n </mat-icon>\n </ng-template>\n <div class=\"adf-notification-history-menu-item-content-message\">\n <p class=\"adf-notification-history-menu-text adf-notification-history-menu-message\"\n *ngFor=\"let message of notification.messages\"\n [title]=\"message\">{{ message }}</p>\n <p class=\"adf-notification-history-menu-text adf-notification-history-menu-date\"\n > {{ notification.datetime | adfTimeAgo }} </p>\n </div>\n </div>\n </button>\n </ng-container>\n <ng-template #empty_list_template>\n <p mat-menu-item id=\"adf-notification-history-component-no-message\"\n class=\"adf-notification-history-menu-no-message-text\">\n {{ 'NOTIFICATIONS.NO_MESSAGE' | translate }}\n </p>\n </ng-template>\n </div>\n\n <mat-divider/>\n\n <div\n class=\"adf-notification-history-load-more\"\n *ngIf=\"hasMoreNotifications()\"\n aria-hidden=\"true\">\n <button\n data-automation-id=\"adf-notification-history-load-more\"\n mat-button\n (click)=\"loadMore($event)\"\n #loadMoreButton\n (keydown)=\"manageFocus($event)\">\n {{ 'NOTIFICATIONS.LOAD_MORE' | translate }}\n </button>\n </div>\n</mat-menu>\n", styles: [".adf-notification-history-menu-title{font-size:14px;-webkit-font-smoothing:subpixel-antialiased}.adf-notification-history-menu_button.mat-mdc-button{border-radius:90%;padding:0;min-width:40px;height:40px;margin-top:1px}.adf-notification-history-menu_button.mat-mdc-button .adf-notification-history-menu_button-icon{margin-right:0;font-size:24px;height:24px;width:24px;color:var(--theme-text-color)}.adf-notification-history-menu .adf-notification-history-list-header{padding:10.5px 16px;display:flex;justify-content:space-between;align-items:center}.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read{display:flex;padding:10px;width:auto;margin:4px 0}.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read:hover,.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read:focus,.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read:active{background:none}.adf-notification-history-menu .adf-notification-history-list-header .adf-notification-history-mark-as-read-icon{margin:0;color:inherit}.adf-notification-history-menu .adf-notification-history-menu-title{line-height:28px}.adf-notification-history-menu .adf-notification-history-item-list{padding-top:8px}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-item{cursor:pointer;height:72px;align-items:center;display:block;padding:0 14px}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-item-content{height:100%;display:flex;align-items:center}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-item-content-message{display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;overflow:hidden;padding:0 0 0 16px}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-item-content-message p{line-height:normal;margin:0;color:var(--theme-sidenav-user-menu-color)}.adf-notification-history-menu .adf-notification-history-menu-item:focus{outline:none;background:var(--adf-theme-background-hover-color)}.adf-notification-history-menu .adf-notification-history-menu-item:hover{background-color:var(--adf-theme-background-hover-color)}.adf-notification-history-menu .adf-notification-history-menu-message:is(p){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--theme-body-1-font-size)}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-no-message-text{color:var(--theme-sidenav-user-menu-color);margin:0;padding:12px 16px;opacity:inherit;border:none}.adf-notification-history-menu .adf-notification-history-item-list .adf-notification-history-menu-no-message-text span{font-size:16px;-webkit-font-smoothing:subpixel-antialiased}.adf-notification-history-menu .adf-notification-history-menu-date.adf-notification-history-menu-text:is(p){font-size:var(--theme-caption-font-size);text-indent:3px}.adf-notification-history-menu .adf-notification-history-menu-initiator{margin:4px}.adf-notification-initiator-pic{min-width:40px;background:var(--theme-accent-color);display:inline-block;height:40px;border-radius:100px;text-align:center;font-weight:bolder;font-size:var(--theme-adf-picture-1-font-size);text-transform:uppercase;vertical-align:middle;line-height:40px;color:var(--adf-theme-mat-grey-color-a200)}.adf-notification-history-load-more{display:flex;justify-content:center;padding:10px}.adf-notification-history-load-more button{justify-content:center;width:100%;min-height:36px}.mat-mdc-menu-panel.adf-notification-history-menu.adf-notification-history-menu-panel{min-width:320px;max-height:500px}.mat-mdc-menu-panel.adf-notification-history-menu.adf-notification-history-menu-panel .mat-mdc-menu-content{padding:0}\n"] }]
27371
27637
  }], ctorParameters: () => [{ type: NotificationService }, { type: StorageService }, { type: i0.ChangeDetectorRef }], propDecorators: { trigger: [{
27372
27638
  type: ViewChild,
27373
27639
  args: [MatMenuTrigger, { static: true }]
@@ -27377,44 +27643,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
27377
27643
  type: Input
27378
27644
  }], maxNotifications: [{
27379
27645
  type: Input
27380
- }] } });
27381
-
27382
- /*!
27383
- * @license
27384
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
27385
- *
27386
- * Licensed under the Apache License, Version 2.0 (the "License");
27387
- * you may not use this file except in compliance with the License.
27388
- * You may obtain a copy of the License at
27389
- *
27390
- * http://www.apache.org/licenses/LICENSE-2.0
27391
- *
27392
- * Unless required by applicable law or agreed to in writing, software
27393
- * distributed under the License is distributed on an "AS IS" BASIS,
27394
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
27395
- * See the License for the specific language governing permissions and
27396
- * limitations under the License.
27397
- */
27398
- class AddNotificationStorybookComponent {
27399
- constructor(notificationService) {
27400
- this.notificationService = notificationService;
27401
- this.infoCounter = 1;
27402
- }
27403
- showInfo() {
27404
- this.notificationService.showInfo(`Example notification ${this.infoCounter}`);
27405
- this.infoCounter++;
27406
- }
27407
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: AddNotificationStorybookComponent, deps: [{ token: NotificationService }], target: i0.ɵɵFactoryTarget.Component }); }
27408
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: AddNotificationStorybookComponent, isStandalone: true, selector: "adf-add-notification-storybook", ngImport: i0, template: ` <button mat-raised-button (click)="showInfo()">Add Notification</button>`, isInline: true, dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
27409
- }
27410
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: AddNotificationStorybookComponent, decorators: [{
27411
- type: Component,
27412
- args: [{
27413
- selector: 'adf-add-notification-storybook',
27414
- imports: [MatButtonModule],
27415
- template: ` <button mat-raised-button (click)="showInfo()">Add Notification</button>`
27416
- }]
27417
- }], ctorParameters: () => [{ type: NotificationService }] });
27646
+ }], markAsReadButton: [{
27647
+ type: ViewChild,
27648
+ args: ['markAsReadButton']
27649
+ }], loadMoreButton: [{
27650
+ type: ViewChild,
27651
+ args: ['loadMoreButton']
27652
+ }], menuItems: [{
27653
+ type: ViewChildren,
27654
+ args: [MatMenuItem]
27655
+ }] } });
27418
27656
 
27419
27657
  /*!
27420
27658
  * @license
@@ -27432,11 +27670,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
27432
27670
  * See the License for the specific language governing permissions and
27433
27671
  * limitations under the License.
27434
27672
  */
27435
- const NOTIFICATION_HISTORY_DIRECTIVES = [NotificationHistoryComponent, AddNotificationStorybookComponent];
27673
+ const NOTIFICATION_HISTORY_DIRECTIVES = [NotificationHistoryComponent];
27436
27674
  /** @deprecated use `...NOTIFICATION_HISTORY_DIRECTIVES` or import the individual directives */
27437
27675
  class NotificationHistoryModule {
27438
27676
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NotificationHistoryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
27439
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: NotificationHistoryModule, imports: [NotificationHistoryComponent, AddNotificationStorybookComponent], exports: [NotificationHistoryComponent, AddNotificationStorybookComponent] }); }
27677
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: NotificationHistoryModule, imports: [NotificationHistoryComponent], exports: [NotificationHistoryComponent] }); }
27440
27678
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NotificationHistoryModule, imports: [NOTIFICATION_HISTORY_DIRECTIVES] }); }
27441
27679
  }
27442
27680
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NotificationHistoryModule, decorators: [{
@@ -28498,6 +28736,7 @@ class TranslationMock {
28498
28736
  get(key) {
28499
28737
  return of(key);
28500
28738
  }
28739
+ getLocale() { }
28501
28740
  instant(key) {
28502
28741
  return key;
28503
28742
  }
@@ -30600,142 +30839,6 @@ const tabInvalidFormVisibility = {
30600
30839
  * See the License for the specific language governing permissions and
30601
30840
  * limitations under the License.
30602
30841
  */
30603
- const mockCarsData = [
30604
- {
30605
- car_id: 1,
30606
- car_name: 'Fiat 126p (Process)',
30607
- car_price: 599.0,
30608
- fuel_consumption: 5.25789,
30609
- is_available: 'false',
30610
- production_start: '1972-04-23',
30611
- description: 'The Fiat 126 (Type 126) is a four-passenger, rear-engine, city car manufactured and marketed by Fiat over a twenty-eight year production run from 1972 until 2000, over a single generation.',
30612
- icon: 'airport_shuttle',
30613
- wikipedia_link: 'https://en.wikipedia.org/wiki/Fiat_126'
30614
- },
30615
- {
30616
- car_id: 2,
30617
- car_name: 'Citroen Xsara Picasso (Process)',
30618
- car_price: 10000,
30619
- fuel_consumption: 4.9,
30620
- is_available: 'true',
30621
- production_start: '2004-02-10T12:25:43.511Z',
30622
- description: 'The Citroën Xsara Picasso is a car produced by Citroën from 1999 to 2012. It has a five-seater five-door compact MPV design.',
30623
- icon: 'local_shipping',
30624
- wikipedia_link: 'https://en.wikipedia.org/wiki/Citro%C3%ABn_Xsara_Picasso'
30625
- },
30626
- {
30627
- car_id: 3,
30628
- car_name: 'Audi A3 (Process)',
30629
- car_price: 15000.12345,
30630
- fuel_consumption: 6,
30631
- is_available: 'true',
30632
- production_start: '1998-06-25T12:25:20',
30633
- description: 'The Audi A3 is a subcompact executive/small family car (C-segment) manufactured and marketed by the German automaker Audi AG since September 1996, currently in its fourth generation.',
30634
- icon: 'directions_car',
30635
- wikipedia_link: 'https://en.wikipedia.org/wiki/Audi_A3'
30636
- }
30637
- ];
30638
- const mockCarsSchemaDefinition = [
30639
- {
30640
- type: 'icon',
30641
- key: 'icon',
30642
- title: '',
30643
- sortable: true,
30644
- draggable: true
30645
- },
30646
- {
30647
- type: 'text',
30648
- key: 'car_id',
30649
- title: 'Car ID',
30650
- sortable: true,
30651
- draggable: true
30652
- },
30653
- {
30654
- type: 'text',
30655
- key: 'car_name',
30656
- title: 'Car Name',
30657
- sortable: true,
30658
- draggable: true
30659
- },
30660
- {
30661
- type: 'amount',
30662
- key: 'car_price',
30663
- title: 'Car Price',
30664
- sortable: true,
30665
- draggable: true,
30666
- currencyConfig: {
30667
- code: 'USA',
30668
- display: 'code',
30669
- digitsInfo: '1.0-2',
30670
- locale: 'en-US'
30671
- }
30672
- },
30673
- {
30674
- type: 'number',
30675
- key: 'fuel_consumption',
30676
- title: 'Fuel Consumption (l/100km)',
30677
- sortable: true,
30678
- draggable: true,
30679
- decimalConfig: {
30680
- digitsInfo: '1.0-3',
30681
- locale: 'en-US'
30682
- }
30683
- },
30684
- {
30685
- type: 'boolean',
30686
- key: 'is_available',
30687
- title: 'Available?',
30688
- sortable: true,
30689
- draggable: true
30690
- },
30691
- {
30692
- type: 'date',
30693
- key: 'production_start',
30694
- title: 'Production Start',
30695
- sortable: true,
30696
- draggable: true
30697
- },
30698
- {
30699
- type: 'json',
30700
- key: 'description',
30701
- title: 'Description',
30702
- sortable: true,
30703
- draggable: true
30704
- },
30705
- {
30706
- type: 'location',
30707
- format: '/somewhere',
30708
- key: 'wikipedia_link',
30709
- title: 'Wikipedia',
30710
- sortable: true,
30711
- draggable: true
30712
- }
30713
- ];
30714
- const mockPathInfos = [
30715
- {
30716
- elements: [
30717
- { id: '1', name: 'User files', nodeType: 'folder' },
30718
- { id: '2', name: 'Favorite', nodeType: 'folder' },
30719
- { id: '3', name: 'Movies', nodeType: 'folder' }
30720
- ],
30721
- name: '/User files/Favorite/Movies'
30722
- },
30723
- {
30724
- elements: [
30725
- { id: '1', name: 'User files', nodeType: 'folder' },
30726
- { id: '4', name: 'Photos', nodeType: 'folder' }
30727
- ],
30728
- name: '/User files/Photos'
30729
- },
30730
- {
30731
- elements: [
30732
- { id: '1', name: 'User files', nodeType: 'folder' },
30733
- { id: '2', name: 'Favorite', nodeType: 'folder' },
30734
- { id: '5', name: 'Series', nodeType: 'folder' }
30735
- ],
30736
- name: '/User files/Favorite/Series'
30737
- }
30738
- ];
30739
30842
 
30740
30843
  /*!
30741
30844
  * @license
@@ -30753,40 +30856,6 @@ const mockPathInfos = [
30753
30856
  * See the License for the specific language governing permissions and
30754
30857
  * limitations under the License.
30755
30858
  */
30756
- const textColumnRows = [{ firstname: 'John' }, { firstname: 'Henry' }, { firstname: 'David' }, { firstname: 'Thomas' }];
30757
- const dateColumnRows = [
30758
- { createdOn: new Date(2016, 6, 1, 11, 8, 4) },
30759
- { createdOn: new Date(2018, 4, 3, 12, 8, 4) },
30760
- { createdOn: new Date(2021, 2, 3, 9, 8, 4) }
30761
- ];
30762
- const aMinuteInMilliseconds = 60 * 1000;
30763
- const anHourInMilliseconds = 60 * aMinuteInMilliseconds;
30764
- const aDayInMilliseconds = 24 * anHourInMilliseconds;
30765
- const dateColumnTimeAgoRows = [
30766
- { modifiedOn: new Date() },
30767
- { modifiedOn: new Date(Date.now() - 44 * aMinuteInMilliseconds) },
30768
- { modifiedOn: new Date(Date.now() - 45 * aMinuteInMilliseconds) },
30769
- { modifiedOn: new Date(Date.now() - 23 * anHourInMilliseconds) },
30770
- { modifiedOn: new Date(Date.now() - 7 * aDayInMilliseconds) },
30771
- { modifiedOn: new Date(Date.now() - 8 * aDayInMilliseconds) }
30772
- ];
30773
- const locationColumnRows = [
30774
- {
30775
- path: mockPathInfos[0]
30776
- },
30777
- {
30778
- path: mockPathInfos[1]
30779
- },
30780
- {
30781
- path: mockPathInfos[2]
30782
- }
30783
- ];
30784
- const booleanColumnRows = [{ bool: 'true' }, { bool: 'false' }, { bool: true }, { bool: false }];
30785
- const iconColumnRows = [{ icon: 'alarm' }, { icon: 'folder_open' }, { icon: 'accessibility' }];
30786
- const imageColumnRows = [{ image: 'material-icons://image' }, { image: 'material-icons://image' }, { image: 'material-icons://image' }];
30787
- const fileSizeColumnRows = [{ size: 12313 }, { size: 23 }, { size: 42421412421 }];
30788
- const amountColumnRows = [{ price: 1230 }, { price: 422.55 }, { price: 50000.7855332 }, { price: 0.123 }, { price: -2022.3321 }];
30789
- const jsonColumnRows = [{ rowInfo: { id: 1, name: 'row1' } }, { rowInfo: { id: 2, name: 'row2' } }, { rowInfo: { id: 3, name: 'row3' } }];
30790
30859
 
30791
30860
  /*!
30792
30861
  * @license
@@ -30804,6 +30873,59 @@ const jsonColumnRows = [{ rowInfo: { id: 1, name: 'row1' } }, { rowInfo: { id: 2
30804
30873
  * See the License for the specific language governing permissions and
30805
30874
  * limitations under the License.
30806
30875
  */
30876
+ class NoopTranslationService {
30877
+ constructor() {
30878
+ this.defaultLang = 'en';
30879
+ this.translate = {
30880
+ onLangChange: new EventEmitter()
30881
+ };
30882
+ }
30883
+ addTranslationFolder() { }
30884
+ onTranslationChanged() { }
30885
+ use() { }
30886
+ loadTranslation() { }
30887
+ get(key) {
30888
+ return of(key);
30889
+ }
30890
+ getLocale() { }
30891
+ instant(key) {
30892
+ return key;
30893
+ }
30894
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NoopTranslationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
30895
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NoopTranslationService, providedIn: 'root' }); }
30896
+ }
30897
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NoopTranslationService, decorators: [{
30898
+ type: Injectable,
30899
+ args: [{ providedIn: 'root' }]
30900
+ }] });
30901
+ class NoopTranslateModule {
30902
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NoopTranslateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
30903
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: NoopTranslateModule, imports: [HttpClientTestingModule] }); }
30904
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NoopTranslateModule, providers: [
30905
+ { provide: TranslationService, useClass: NoopTranslationService },
30906
+ provideTranslateService({
30907
+ loader: {
30908
+ provide: TranslateLoader,
30909
+ useClass: NoopTranslationService
30910
+ }
30911
+ })
30912
+ ], imports: [HttpClientTestingModule] }); }
30913
+ }
30914
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NoopTranslateModule, decorators: [{
30915
+ type: NgModule,
30916
+ args: [{
30917
+ imports: [HttpClientTestingModule],
30918
+ providers: [
30919
+ { provide: TranslationService, useClass: NoopTranslationService },
30920
+ provideTranslateService({
30921
+ loader: {
30922
+ provide: TranslateLoader,
30923
+ useClass: NoopTranslationService
30924
+ }
30925
+ })
30926
+ ]
30927
+ }]
30928
+ }] });
30807
30929
 
30808
30930
  /*!
30809
30931
  * @license
@@ -30821,537 +30943,56 @@ const jsonColumnRows = [{ rowInfo: { id: 1, name: 'row1' } }, { rowInfo: { id: 2
30821
30943
  * See the License for the specific language governing permissions and
30822
30944
  * limitations under the License.
30823
30945
  */
30824
-
30825
- /*!
30826
- * @license
30827
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
30828
- *
30829
- * Licensed under the Apache License, Version 2.0 (the "License");
30830
- * you may not use this file except in compliance with the License.
30831
- * You may obtain a copy of the License at
30832
- *
30833
- * http://www.apache.org/licenses/LICENSE-2.0
30834
- *
30835
- * Unless required by applicable law or agreed to in writing, software
30836
- * distributed under the License is distributed on an "AS IS" BASIS,
30837
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
30838
- * See the License for the specific language governing permissions and
30839
- * limitations under the License.
30840
- */
30841
- /** @deprecated This module is deprecated and will be removed in a future release. */
30842
- class MaterialModule {
30843
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: MaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
30844
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: MaterialModule, imports: [CommonModule,
30845
- FormsModule,
30846
- ReactiveFormsModule,
30847
- MatAutocompleteModule,
30848
- MatButtonModule,
30849
- MatCardModule,
30850
- MatCheckboxModule,
30851
- MatChipsModule,
30852
- MatDatepickerModule,
30853
- MatDialogModule,
30854
- MatGridListModule,
30855
- MatIconModule,
30856
- MatInputModule,
30857
- MatListModule,
30858
- MatNativeDateModule,
30859
- MatOptionModule,
30860
- MatProgressSpinnerModule,
30861
- MatRadioModule,
30862
- MatRippleModule,
30863
- MatSelectModule,
30864
- MatSlideToggleModule,
30865
- MatTableModule,
30866
- MatTabsModule,
30867
- MatMenuModule,
30868
- MatProgressBarModule,
30869
- MatSidenavModule,
30870
- MatSnackBarModule,
30871
- MatToolbarModule,
30872
- MatDatetimepickerModule,
30873
- MatNativeDatetimeModule,
30874
- MatExpansionModule,
30875
- MatBadgeModule,
30876
- MatFormFieldModule], exports: [CommonModule,
30877
- FormsModule,
30878
- ReactiveFormsModule,
30879
- MatAutocompleteModule,
30880
- MatButtonModule,
30881
- MatCardModule,
30882
- MatCheckboxModule,
30883
- MatChipsModule,
30884
- MatDatepickerModule,
30885
- MatDialogModule,
30886
- MatGridListModule,
30887
- MatIconModule,
30888
- MatInputModule,
30889
- MatListModule,
30890
- MatNativeDateModule,
30891
- MatOptionModule,
30892
- MatProgressSpinnerModule,
30893
- MatRadioModule,
30894
- MatRippleModule,
30895
- MatSelectModule,
30896
- MatSlideToggleModule,
30897
- MatTableModule,
30898
- MatTabsModule,
30899
- MatMenuModule,
30900
- MatProgressBarModule,
30901
- MatSidenavModule,
30902
- MatSnackBarModule,
30903
- MatToolbarModule,
30904
- MatDatetimepickerModule,
30905
- MatNativeDatetimeModule,
30906
- MatExpansionModule,
30907
- MatBadgeModule] }); }
30908
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: MaterialModule, imports: [CommonModule,
30909
- FormsModule,
30910
- ReactiveFormsModule,
30911
- MatAutocompleteModule,
30912
- MatButtonModule,
30913
- MatCardModule,
30914
- MatCheckboxModule,
30915
- MatChipsModule,
30916
- MatDatepickerModule,
30917
- MatDialogModule,
30918
- MatGridListModule,
30919
- MatIconModule,
30920
- MatInputModule,
30921
- MatListModule,
30922
- MatNativeDateModule,
30923
- MatOptionModule,
30924
- MatProgressSpinnerModule,
30925
- MatRadioModule,
30926
- MatRippleModule,
30927
- MatSelectModule,
30928
- MatSlideToggleModule,
30929
- MatTableModule,
30930
- MatTabsModule,
30931
- MatMenuModule,
30932
- MatProgressBarModule,
30933
- MatSidenavModule,
30934
- MatSnackBarModule,
30935
- MatToolbarModule,
30936
- MatDatetimepickerModule,
30937
- MatNativeDatetimeModule,
30938
- MatExpansionModule,
30939
- MatBadgeModule,
30940
- MatFormFieldModule, CommonModule,
30941
- FormsModule,
30942
- ReactiveFormsModule,
30943
- MatAutocompleteModule,
30944
- MatButtonModule,
30945
- MatCardModule,
30946
- MatCheckboxModule,
30947
- MatChipsModule,
30948
- MatDatepickerModule,
30949
- MatDialogModule,
30950
- MatGridListModule,
30951
- MatIconModule,
30952
- MatInputModule,
30953
- MatListModule,
30954
- MatNativeDateModule,
30955
- MatOptionModule,
30956
- MatProgressSpinnerModule,
30957
- MatRadioModule,
30958
- MatRippleModule,
30959
- MatSelectModule,
30960
- MatSlideToggleModule,
30961
- MatTableModule,
30962
- MatTabsModule,
30963
- MatMenuModule,
30964
- MatProgressBarModule,
30965
- MatSidenavModule,
30966
- MatSnackBarModule,
30967
- MatToolbarModule,
30968
- MatDatetimepickerModule,
30969
- MatNativeDatetimeModule,
30970
- MatExpansionModule,
30971
- MatBadgeModule] }); }
30972
- }
30973
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: MaterialModule, decorators: [{
30974
- type: NgModule,
30975
- args: [{
30976
- imports: [
30977
- CommonModule,
30978
- FormsModule,
30979
- ReactiveFormsModule,
30980
- MatAutocompleteModule,
30981
- MatButtonModule,
30982
- MatCardModule,
30983
- MatCheckboxModule,
30984
- MatChipsModule,
30985
- MatDatepickerModule,
30986
- MatDialogModule,
30987
- MatGridListModule,
30988
- MatIconModule,
30989
- MatInputModule,
30990
- MatListModule,
30991
- MatNativeDateModule,
30992
- MatOptionModule,
30993
- MatProgressSpinnerModule,
30994
- MatRadioModule,
30995
- MatRippleModule,
30996
- MatSelectModule,
30997
- MatSlideToggleModule,
30998
- MatTableModule,
30999
- MatTabsModule,
31000
- MatMenuModule,
31001
- MatProgressBarModule,
31002
- MatSidenavModule,
31003
- MatSnackBarModule,
31004
- MatToolbarModule,
31005
- MatDatetimepickerModule,
31006
- MatNativeDatetimeModule,
31007
- MatExpansionModule,
31008
- MatBadgeModule,
31009
- MatFormFieldModule
31010
- ],
31011
- exports: [
31012
- CommonModule,
31013
- FormsModule,
31014
- ReactiveFormsModule,
31015
- MatAutocompleteModule,
31016
- MatButtonModule,
31017
- MatCardModule,
31018
- MatCheckboxModule,
31019
- MatChipsModule,
31020
- MatDatepickerModule,
31021
- MatDialogModule,
31022
- MatGridListModule,
31023
- MatIconModule,
31024
- MatInputModule,
31025
- MatListModule,
31026
- MatNativeDateModule,
31027
- MatOptionModule,
31028
- MatProgressSpinnerModule,
31029
- MatRadioModule,
31030
- MatRippleModule,
31031
- MatSelectModule,
31032
- MatSlideToggleModule,
31033
- MatTableModule,
31034
- MatTabsModule,
31035
- MatMenuModule,
31036
- MatProgressBarModule,
31037
- MatSidenavModule,
31038
- MatSnackBarModule,
31039
- MatToolbarModule,
31040
- MatDatetimepickerModule,
31041
- MatNativeDatetimeModule,
31042
- MatExpansionModule,
31043
- MatBadgeModule
31044
- ]
31045
- }]
31046
- }] });
31047
-
31048
- /*!
31049
- * @license
31050
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
31051
- *
31052
- * Licensed under the Apache License, Version 2.0 (the "License");
31053
- * you may not use this file except in compliance with the License.
31054
- * You may obtain a copy of the License at
31055
- *
31056
- * http://www.apache.org/licenses/LICENSE-2.0
31057
- *
31058
- * Unless required by applicable law or agreed to in writing, software
31059
- * distributed under the License is distributed on an "AS IS" BASIS,
31060
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31061
- * See the License for the specific language governing permissions and
31062
- * limitations under the License.
31063
- */
31064
- /**
31065
- * @deprecated this module is deprecated and will be removed
31066
- * Use the following combination instead:
31067
- * ```typescript
31068
- * providers: [
31069
- * provideI18N(...),
31070
- * provideAppConfig(),
31071
- * provideCoreAuth(...)
31072
- * ]
31073
- * ```
31074
- */
31075
- class CoreModule {
31076
- static forRoot() {
31077
- return {
31078
- ngModule: CoreModule,
31079
- providers: [
31080
- provideTranslateService({
31081
- loader: {
31082
- provide: TranslateLoader,
31083
- useClass: TranslateLoaderService,
31084
- deps: [HttpClient]
31085
- },
31086
- defaultLanguage: 'en'
31087
- }),
31088
- provideAppConfig()
31089
- ]
31090
- };
31091
- }
31092
- /**
31093
- * @deprecated this api is deprecated, import `CoreModule` instead
31094
- * @returns ModuleWithProviders<CoreModule>
31095
- */
31096
- static forChild() {
31097
- return {
31098
- ngModule: CoreModule
31099
- };
31100
- }
31101
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
31102
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: CoreModule, imports: [AboutExtensionListComponent, AboutLicenseListComponent, ModuleListComponent, AboutRepositoryInfoComponent, PackageListComponent, AboutStatusListComponent, AboutServerSettingsComponent, AboutPanelDirective, AboutComponent, PdfPasswordDialogComponent, ViewerRenderComponent, ImgViewerComponent, TxtViewerComponent, MediaPlayerComponent, PdfViewerComponent, PdfThumbComponent, PdfThumbListComponent, ViewerExtensionDirective, UnknownFormatComponent, ViewerToolbarComponent, ViewerSidebarComponent, ViewerOpenWithComponent, ViewerMoreActionsComponent, ViewerToolbarActionsComponent, ViewerComponent, ViewerToolbarCustomActionsComponent, DownloadPromptDialogComponent, SidenavLayoutHeaderDirective, SidenavLayoutContentDirective, SidenavLayoutNavigationDirective, SidebarMenuDirective, SidebarMenuExpandIconDirective, SidebarMenuTitleIconDirective, HeaderLayoutComponent, SidebarActionMenuComponent, LayoutContainerComponent, SidenavLayoutComponent, LocalizedDatePipe, TimeAgoPipe, FileSizePipe, HighlightPipe, FullNamePipe, FormatSpacePipe, FileTypePipe, MultiValuePipe, DecimalNumberPipe, DateTimePipe, InitialUsernamePipe, TruncatePipe, IdentityUserInfoComponent, HighlightDirective, LogoutDirective, UploadDirective, TooltipCardDirective, TooltipCardComponent, InfiniteSelectScrollDirective, AppConfigPipe, InfinitePaginationComponent, PaginationComponent, ToolbarComponent, ToolbarTitleComponent, ToolbarDividerComponent, ContextMenuListComponent, ContextMenuDirective, CardViewComponent, CardViewBoolItemComponent, CardViewDateItemComponent, CardViewMapItemComponent, CardViewTextItemComponent, CardViewKeyValuePairsItemComponent, CardViewSelectItemComponent, CardViewItemDispatcherComponent, CardViewArrayItemComponent, SelectFilterInputComponent, FormBaseModule,
31103
- CommentsComponent,
31104
- CommentListComponent, ClipboardDirective, ClipboardComponent, LoginComponent, LoginFooterDirective, LoginHeaderDirective, LoginDialogComponent, LoginDialogPanelComponent, LanguageMenuComponent, LanguagePickerComponent, InfoDrawerLayoutComponent, InfoDrawerTabComponent, InfoDrawerComponent, InfoDrawerTitleDirective, InfoDrawerButtonsDirective, InfoDrawerContentDirective, BooleanCellComponent, AmountCellComponent, NumberCellComponent, LocationCellComponent, DateCellComponent, IconCellComponent, ColumnsSelectorComponent, DataColumnComponent, DataColumnListComponent, DateColumnHeaderComponent, LocalizedDatePipe, ResizableDirective, ResizeHandleDirective, DropZoneDirective, EmptyListComponent, EmptyListHeaderDirective, EmptyListBodyDirective, EmptyListFooterDirective, FileSizeCellComponent, JsonCellComponent, NoContentTemplateDirective, NoPermissionTemplateDirective, LoadingContentTemplateDirective, HeaderFilterTemplateDirective, CustomEmptyContentTemplateDirective, CustomLoadingContentTemplateDirective, CustomNoPermissionTemplateDirective, MainMenuDataTableTemplateDirective, DataTableRowComponent, DataTableCellComponent, DataTableComponent, ErrorContentComponent, EmptyContentComponent, IconComponent,
31105
- SortingPickerComponent, NotificationHistoryComponent, AddNotificationStorybookComponent, SearchTextInputComponent, SearchTriggerDirective, BlankPageComponent,
31106
- UnsavedChangesDialogComponent,
31107
- DynamicChipListComponent,
31108
- MaterialModule], exports: [AboutExtensionListComponent, AboutLicenseListComponent, ModuleListComponent, AboutRepositoryInfoComponent, PackageListComponent, AboutStatusListComponent, AboutServerSettingsComponent, AboutPanelDirective, AboutComponent, PdfPasswordDialogComponent, ViewerRenderComponent, ImgViewerComponent, TxtViewerComponent, MediaPlayerComponent, PdfViewerComponent, PdfThumbComponent, PdfThumbListComponent, ViewerExtensionDirective, UnknownFormatComponent, ViewerToolbarComponent, ViewerSidebarComponent, ViewerOpenWithComponent, ViewerMoreActionsComponent, ViewerToolbarActionsComponent, ViewerComponent, ViewerToolbarCustomActionsComponent, DownloadPromptDialogComponent, SidenavLayoutHeaderDirective, SidenavLayoutContentDirective, SidenavLayoutNavigationDirective, SidebarMenuDirective, SidebarMenuExpandIconDirective, SidebarMenuTitleIconDirective, HeaderLayoutComponent, SidebarActionMenuComponent, LayoutContainerComponent, SidenavLayoutComponent, LocalizedDatePipe, TimeAgoPipe, FileSizePipe, HighlightPipe, FullNamePipe, FormatSpacePipe, FileTypePipe, MultiValuePipe, DecimalNumberPipe, DateTimePipe, InitialUsernamePipe, TruncatePipe, HighlightDirective, LogoutDirective, UploadDirective, TooltipCardDirective, TooltipCardComponent, InfiniteSelectScrollDirective, ClipboardDirective, ClipboardComponent, IdentityUserInfoComponent,
31109
- AppConfigPipe, InfinitePaginationComponent, PaginationComponent, ToolbarComponent, ToolbarTitleComponent, ToolbarDividerComponent, ContextMenuListComponent, ContextMenuDirective, CardViewComponent, CardViewBoolItemComponent, CardViewDateItemComponent, CardViewMapItemComponent, CardViewTextItemComponent, CardViewKeyValuePairsItemComponent, CardViewSelectItemComponent, CardViewItemDispatcherComponent, CardViewArrayItemComponent, SelectFilterInputComponent, FormBaseModule,
31110
- CommentsComponent,
31111
- CommentListComponent, LoginComponent, LoginFooterDirective, LoginHeaderDirective, LoginDialogComponent, LoginDialogPanelComponent, LanguageMenuComponent, LanguagePickerComponent, InfoDrawerLayoutComponent, InfoDrawerTabComponent, InfoDrawerComponent, InfoDrawerTitleDirective, InfoDrawerButtonsDirective, InfoDrawerContentDirective, BooleanCellComponent, AmountCellComponent, NumberCellComponent, LocationCellComponent, DateCellComponent, IconCellComponent, ColumnsSelectorComponent, DataColumnComponent, DataColumnListComponent, DateColumnHeaderComponent, LocalizedDatePipe, ResizableDirective, ResizeHandleDirective, DropZoneDirective, EmptyListComponent, EmptyListHeaderDirective, EmptyListBodyDirective, EmptyListFooterDirective, FileSizeCellComponent, JsonCellComponent, NoContentTemplateDirective, NoPermissionTemplateDirective, LoadingContentTemplateDirective, HeaderFilterTemplateDirective, CustomEmptyContentTemplateDirective, CustomLoadingContentTemplateDirective, CustomNoPermissionTemplateDirective, MainMenuDataTableTemplateDirective, DataTableRowComponent, DataTableCellComponent, DataTableComponent, ErrorContentComponent, EmptyContentComponent, SortingPickerComponent,
31112
- IconComponent, NotificationHistoryComponent, AddNotificationStorybookComponent, SearchTextInputComponent, SearchTriggerDirective, BlankPageComponent,
31113
- UnsavedChangesDialogComponent,
31114
- DynamicChipListComponent,
31115
- MaterialModule] }); }
31116
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CoreModule, providers: [...CORE_PIPES], imports: [AboutExtensionListComponent, AboutLicenseListComponent, ModuleListComponent, AboutRepositoryInfoComponent, PackageListComponent, AboutStatusListComponent, AboutServerSettingsComponent, AboutComponent, PdfPasswordDialogComponent, ViewerRenderComponent, ImgViewerComponent, PdfViewerComponent, UnknownFormatComponent, ViewerComponent, DownloadPromptDialogComponent, HeaderLayoutComponent, SidebarActionMenuComponent, LayoutContainerComponent, SidenavLayoutComponent, IdentityUserInfoComponent, TooltipCardComponent, PAGINATION_DIRECTIVES, ToolbarComponent, ContextMenuListComponent, CardViewComponent, CardViewBoolItemComponent, CardViewDateItemComponent, CardViewMapItemComponent, CardViewTextItemComponent, CardViewKeyValuePairsItemComponent, CardViewSelectItemComponent, CardViewArrayItemComponent, SelectFilterInputComponent, FormBaseModule,
31117
- CommentsComponent,
31118
- CommentListComponent, LoginComponent, LoginDialogComponent, LoginDialogPanelComponent, LANGUAGE_MENU_DIRECTIVES, InfoDrawerLayoutComponent, InfoDrawerComponent, BooleanCellComponent, AmountCellComponent, NumberCellComponent, LocationCellComponent, DateCellComponent, IconCellComponent, ColumnsSelectorComponent, FileSizeCellComponent, JsonCellComponent, DataTableCellComponent, DataTableComponent, TEMPLATE_DIRECTIVES, IconComponent,
31119
- SortingPickerComponent, NOTIFICATION_HISTORY_DIRECTIVES, SearchTextInputComponent, UnsavedChangesDialogComponent,
31120
- DynamicChipListComponent,
31121
- MaterialModule, FormBaseModule,
31122
- MaterialModule] }); }
31123
- }
31124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CoreModule, decorators: [{
31125
- type: NgModule,
31126
- args: [{
31127
- imports: [
31128
- ...ABOUT_DIRECTIVES,
31129
- ...VIEWER_DIRECTIVES,
31130
- ...LAYOUT_DIRECTIVES,
31131
- ...CORE_PIPES,
31132
- IdentityUserInfoComponent,
31133
- ...CORE_DIRECTIVES,
31134
- AppConfigPipe,
31135
- ...PAGINATION_DIRECTIVES,
31136
- ...TOOLBAR_DIRECTIVES,
31137
- ...CONTEXT_MENU_DIRECTIVES,
31138
- ...CARD_VIEW_DIRECTIVES,
31139
- FormBaseModule,
31140
- CommentsComponent,
31141
- CommentListComponent,
31142
- ...CLIPBOARD_DIRECTIVES,
31143
- ...LOGIN_DIRECTIVES,
31144
- ...LANGUAGE_MENU_DIRECTIVES,
31145
- ...INFO_DRAWER_DIRECTIVES,
31146
- ...DATATABLE_DIRECTIVES,
31147
- ...TEMPLATE_DIRECTIVES,
31148
- IconComponent,
31149
- SortingPickerComponent,
31150
- ...NOTIFICATION_HISTORY_DIRECTIVES,
31151
- ...SEARCH_TEXT_INPUT_DIRECTIVES,
31152
- BlankPageComponent,
31153
- UnsavedChangesDialogComponent,
31154
- DynamicChipListComponent,
31155
- MaterialModule
31156
- ],
31157
- providers: [...CORE_PIPES],
31158
- exports: [
31159
- ...ABOUT_DIRECTIVES,
31160
- ...VIEWER_DIRECTIVES,
31161
- ...LAYOUT_DIRECTIVES,
31162
- ...CORE_PIPES,
31163
- ...CORE_DIRECTIVES,
31164
- ...CLIPBOARD_DIRECTIVES,
31165
- IdentityUserInfoComponent,
31166
- AppConfigPipe,
31167
- ...PAGINATION_DIRECTIVES,
31168
- ...TOOLBAR_DIRECTIVES,
31169
- ...CONTEXT_MENU_DIRECTIVES,
31170
- ...CARD_VIEW_DIRECTIVES,
31171
- FormBaseModule,
31172
- CommentsComponent,
31173
- CommentListComponent,
31174
- ...LOGIN_DIRECTIVES,
31175
- ...LANGUAGE_MENU_DIRECTIVES,
31176
- ...INFO_DRAWER_DIRECTIVES,
31177
- ...DATATABLE_DIRECTIVES,
31178
- ...TEMPLATE_DIRECTIVES,
31179
- SortingPickerComponent,
31180
- IconComponent,
31181
- ...NOTIFICATION_HISTORY_DIRECTIVES,
31182
- ...SEARCH_TEXT_INPUT_DIRECTIVES,
31183
- BlankPageComponent,
31184
- UnsavedChangesDialogComponent,
31185
- DynamicChipListComponent,
31186
- MaterialModule
31187
- ]
31188
- }]
31189
- }] });
31190
-
31191
- /*!
31192
- * @license
31193
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
31194
- *
31195
- * Licensed under the Apache License, Version 2.0 (the "License");
31196
- * you may not use this file except in compliance with the License.
31197
- * You may obtain a copy of the License at
31198
- *
31199
- * http://www.apache.org/licenses/LICENSE-2.0
31200
- *
31201
- * Unless required by applicable law or agreed to in writing, software
31202
- * distributed under the License is distributed on an "AS IS" BASIS,
31203
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31204
- * See the License for the specific language governing permissions and
31205
- * limitations under the License.
31206
- */
31207
- class CoreStoryModule {
31208
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CoreStoryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
31209
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: CoreStoryModule, imports: [AuthModule, i1$1.TranslateModule, CoreModule] }); }
31210
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CoreStoryModule, providers: [provideTranslations('adf-core', 'assets/adf-core'), provideAnimations()], imports: [AuthModule.forRoot(), TranslateModule.forRoot(), CoreModule.forRoot()] }); }
31211
- }
31212
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CoreStoryModule, decorators: [{
31213
- type: NgModule,
31214
- args: [{
31215
- imports: [AuthModule.forRoot(), TranslateModule.forRoot(), CoreModule.forRoot()],
31216
- providers: [provideTranslations('adf-core', 'assets/adf-core'), provideAnimations()]
31217
- }]
31218
- }] });
31219
-
31220
- /*!
31221
- * @license
31222
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
31223
- *
31224
- * Licensed under the Apache License, Version 2.0 (the "License");
31225
- * you may not use this file except in compliance with the License.
31226
- * You may obtain a copy of the License at
31227
- *
31228
- * http://www.apache.org/licenses/LICENSE-2.0
31229
- *
31230
- * Unless required by applicable law or agreed to in writing, software
31231
- * distributed under the License is distributed on an "AS IS" BASIS,
31232
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31233
- * See the License for the specific language governing permissions and
31234
- * limitations under the License.
31235
- */
31236
- class NoopTranslationService {
31237
- constructor() {
31238
- this.defaultLang = 'en';
31239
- this.translate = {
31240
- onLangChange: new EventEmitter()
31241
- };
31242
- }
31243
- addTranslationFolder() { }
31244
- onTranslationChanged() { }
31245
- use() { }
31246
- loadTranslation() { }
31247
- get(key) {
31248
- return of(key);
31249
- }
31250
- instant(key) {
31251
- return key;
31252
- }
31253
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NoopTranslationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
31254
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NoopTranslationService, providedIn: 'root' }); }
31255
- }
31256
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NoopTranslationService, decorators: [{
31257
- type: Injectable,
31258
- args: [{ providedIn: 'root' }]
31259
- }] });
31260
- class NoopTranslateModule {
31261
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NoopTranslateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
31262
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: NoopTranslateModule, imports: [HttpClientTestingModule] }); }
31263
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NoopTranslateModule, providers: [
31264
- { provide: TranslationService, useClass: NoopTranslationService },
31265
- provideTranslateService({
31266
- loader: {
31267
- provide: TranslateLoader,
31268
- useClass: NoopTranslationService
31269
- }
31270
- })
31271
- ], imports: [HttpClientTestingModule] }); }
31272
- }
31273
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NoopTranslateModule, decorators: [{
31274
- type: NgModule,
31275
- args: [{
31276
- imports: [HttpClientTestingModule],
31277
- providers: [
31278
- { provide: TranslationService, useClass: NoopTranslationService },
31279
- provideTranslateService({
31280
- loader: {
31281
- provide: TranslateLoader,
31282
- useClass: NoopTranslationService
31283
- }
31284
- })
31285
- ]
31286
- }]
31287
- }] });
31288
-
31289
- /*!
31290
- * @license
31291
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
31292
- *
31293
- * Licensed under the Apache License, Version 2.0 (the "License");
31294
- * you may not use this file except in compliance with the License.
31295
- * You may obtain a copy of the License at
31296
- *
31297
- * http://www.apache.org/licenses/LICENSE-2.0
31298
- *
31299
- * Unless required by applicable law or agreed to in writing, software
31300
- * distributed under the License is distributed on an "AS IS" BASIS,
31301
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31302
- * See the License for the specific language governing permissions and
31303
- * limitations under the License.
31304
- */
31305
- class NoopRedirectAuthService extends RedirectAuthService {
31306
- constructor() {
31307
- super(...arguments);
31308
- this.onLogin = EMPTY;
31309
- this.onTokenReceived = of();
31310
- }
31311
- init() {
31312
- return Promise.resolve(true);
31313
- }
31314
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NoopRedirectAuthService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
31315
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NoopRedirectAuthService, providedIn: 'root' }); }
31316
- }
31317
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NoopRedirectAuthService, decorators: [{
31318
- type: Injectable,
31319
- args: [{ providedIn: 'root' }]
31320
- }] });
31321
- /**
31322
- * Provides testing api for Core Auth layer
31323
- *
31324
- * Example:
31325
- * ```typescript
31326
- * TestBed.configureTestingModule({
31327
- * providers: [provideCoreAuthTesting()]
31328
- * });
31329
- * ```
31330
- *
31331
- * @returns list of Angular providers
31332
- */
31333
- function provideCoreAuthTesting() {
31334
- return [
31335
- provideCoreAuth({ useHash: true }),
31336
- { provide: AppConfigService, useClass: AppConfigServiceMock },
31337
- { provide: CookieService, useClass: CookieServiceMock },
31338
- { provide: RedirectAuthService, useClass: NoopRedirectAuthService },
31339
- provideAppConfig(),
31340
- { provide: JWT_STORAGE_SERVICE, useClass: StorageService }
31341
- ];
31342
- }
31343
- /* @deprecated use `provideCoreAuthTesting()` instead */
31344
- class NoopAuthModule {
31345
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NoopAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
31346
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: NoopAuthModule }); }
31347
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NoopAuthModule, providers: [...provideCoreAuthTesting()] }); }
31348
- }
31349
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NoopAuthModule, decorators: [{
31350
- type: NgModule,
31351
- args: [{
31352
- providers: [...provideCoreAuthTesting()]
31353
- }]
31354
- }] });
30946
+ class NoopRedirectAuthService extends RedirectAuthService {
30947
+ constructor() {
30948
+ super(...arguments);
30949
+ this.onLogin = EMPTY;
30950
+ this.onTokenReceived = of();
30951
+ }
30952
+ init() {
30953
+ return Promise.resolve(true);
30954
+ }
30955
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NoopRedirectAuthService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
30956
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NoopRedirectAuthService, providedIn: 'root' }); }
30957
+ }
30958
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NoopRedirectAuthService, decorators: [{
30959
+ type: Injectable,
30960
+ args: [{ providedIn: 'root' }]
30961
+ }] });
30962
+ /**
30963
+ * Provides testing api for Core Auth layer
30964
+ *
30965
+ * Example:
30966
+ * ```typescript
30967
+ * TestBed.configureTestingModule({
30968
+ * providers: [provideCoreAuthTesting()]
30969
+ * });
30970
+ * ```
30971
+ *
30972
+ * @returns list of Angular providers
30973
+ */
30974
+ function provideCoreAuthTesting() {
30975
+ return [
30976
+ provideCoreAuth({ useHash: true }),
30977
+ { provide: AppConfigService, useClass: AppConfigServiceMock },
30978
+ { provide: CookieService, useClass: CookieServiceMock },
30979
+ { provide: RedirectAuthService, useClass: NoopRedirectAuthService },
30980
+ provideAppConfig(),
30981
+ { provide: JWT_STORAGE_SERVICE, useClass: StorageService }
30982
+ ];
30983
+ }
30984
+ /* @deprecated use `provideCoreAuthTesting()` instead */
30985
+ class NoopAuthModule {
30986
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NoopAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
30987
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: NoopAuthModule }); }
30988
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NoopAuthModule, providers: [...provideCoreAuthTesting()] }); }
30989
+ }
30990
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NoopAuthModule, decorators: [{
30991
+ type: NgModule,
30992
+ args: [{
30993
+ providers: [...provideCoreAuthTesting()]
30994
+ }]
30995
+ }] });
31355
30996
 
31356
30997
  /*!
31357
30998
  * @license
@@ -31675,7 +31316,296 @@ class UnitTestingUtils {
31675
31316
  const progress = await this.loader.getHarness(MatProgressBarHarness);
31676
31317
  return progress.host();
31677
31318
  }
31319
+ /** MatListOption related methods */
31320
+ async getMatListOption() {
31321
+ return this.loader.getHarness(MatListOptionHarness);
31322
+ }
31323
+ async getAllMatListOptions() {
31324
+ return this.loader.getAllHarnesses(MatListOptionHarness);
31325
+ }
31326
+ }
31327
+
31328
+ /*!
31329
+ * @license
31330
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
31331
+ *
31332
+ * Licensed under the Apache License, Version 2.0 (the "License");
31333
+ * you may not use this file except in compliance with the License.
31334
+ * You may obtain a copy of the License at
31335
+ *
31336
+ * http://www.apache.org/licenses/LICENSE-2.0
31337
+ *
31338
+ * Unless required by applicable law or agreed to in writing, software
31339
+ * distributed under the License is distributed on an "AS IS" BASIS,
31340
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31341
+ * See the License for the specific language governing permissions and
31342
+ * limitations under the License.
31343
+ */
31344
+ /**
31345
+ * Provides testing api for application config.
31346
+ *
31347
+ * @param config Custom application configuration data
31348
+ * @returns Angular providers
31349
+ */
31350
+ function provideAppConfigTesting(config) {
31351
+ config = config ?? {
31352
+ application: {
31353
+ name: 'Alfresco ADF Application',
31354
+ storagePrefix: 'ADF_APP'
31355
+ },
31356
+ ecmHost: 'http://{hostname}{:port}/ecm',
31357
+ bpmHost: 'http://{hostname}{:port}/bpm',
31358
+ logLevel: 'silent'
31359
+ };
31360
+ return [
31361
+ provideAppInitializer(() => {
31362
+ const service = inject(AppConfigService);
31363
+ service.config = config;
31364
+ service.status = Status.LOADED;
31365
+ return Promise.resolve();
31366
+ })
31367
+ ];
31368
+ }
31369
+
31370
+ /*!
31371
+ * @license
31372
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
31373
+ *
31374
+ * Licensed under the Apache License, Version 2.0 (the "License");
31375
+ * you may not use this file except in compliance with the License.
31376
+ * You may obtain a copy of the License at
31377
+ *
31378
+ * http://www.apache.org/licenses/LICENSE-2.0
31379
+ *
31380
+ * Unless required by applicable law or agreed to in writing, software
31381
+ * distributed under the License is distributed on an "AS IS" BASIS,
31382
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31383
+ * See the License for the specific language governing permissions and
31384
+ * limitations under the License.
31385
+ */
31386
+
31387
+ /*!
31388
+ * @license
31389
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
31390
+ *
31391
+ * Licensed under the Apache License, Version 2.0 (the "License");
31392
+ * you may not use this file except in compliance with the License.
31393
+ * You may obtain a copy of the License at
31394
+ *
31395
+ * http://www.apache.org/licenses/LICENSE-2.0
31396
+ *
31397
+ * Unless required by applicable law or agreed to in writing, software
31398
+ * distributed under the License is distributed on an "AS IS" BASIS,
31399
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31400
+ * See the License for the specific language governing permissions and
31401
+ * limitations under the License.
31402
+ */
31403
+ /** @deprecated This module is deprecated and will be removed in a future release. */
31404
+ class MaterialModule {
31405
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: MaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
31406
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: MaterialModule, imports: [CommonModule,
31407
+ FormsModule,
31408
+ ReactiveFormsModule,
31409
+ MatAutocompleteModule,
31410
+ MatButtonModule,
31411
+ MatCardModule,
31412
+ MatCheckboxModule,
31413
+ MatChipsModule,
31414
+ MatDatepickerModule,
31415
+ MatDialogModule,
31416
+ MatGridListModule,
31417
+ MatIconModule,
31418
+ MatInputModule,
31419
+ MatListModule,
31420
+ MatNativeDateModule,
31421
+ MatOptionModule,
31422
+ MatProgressSpinnerModule,
31423
+ MatRadioModule,
31424
+ MatRippleModule,
31425
+ MatSelectModule,
31426
+ MatSlideToggleModule,
31427
+ MatTableModule,
31428
+ MatTabsModule,
31429
+ MatMenuModule,
31430
+ MatProgressBarModule,
31431
+ MatSidenavModule,
31432
+ MatSnackBarModule,
31433
+ MatToolbarModule,
31434
+ MatDatetimepickerModule,
31435
+ MatNativeDatetimeModule,
31436
+ MatExpansionModule,
31437
+ MatBadgeModule,
31438
+ MatFormFieldModule], exports: [CommonModule,
31439
+ FormsModule,
31440
+ ReactiveFormsModule,
31441
+ MatAutocompleteModule,
31442
+ MatButtonModule,
31443
+ MatCardModule,
31444
+ MatCheckboxModule,
31445
+ MatChipsModule,
31446
+ MatDatepickerModule,
31447
+ MatDialogModule,
31448
+ MatGridListModule,
31449
+ MatIconModule,
31450
+ MatInputModule,
31451
+ MatListModule,
31452
+ MatNativeDateModule,
31453
+ MatOptionModule,
31454
+ MatProgressSpinnerModule,
31455
+ MatRadioModule,
31456
+ MatRippleModule,
31457
+ MatSelectModule,
31458
+ MatSlideToggleModule,
31459
+ MatTableModule,
31460
+ MatTabsModule,
31461
+ MatMenuModule,
31462
+ MatProgressBarModule,
31463
+ MatSidenavModule,
31464
+ MatSnackBarModule,
31465
+ MatToolbarModule,
31466
+ MatDatetimepickerModule,
31467
+ MatNativeDatetimeModule,
31468
+ MatExpansionModule,
31469
+ MatBadgeModule] }); }
31470
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: MaterialModule, imports: [CommonModule,
31471
+ FormsModule,
31472
+ ReactiveFormsModule,
31473
+ MatAutocompleteModule,
31474
+ MatButtonModule,
31475
+ MatCardModule,
31476
+ MatCheckboxModule,
31477
+ MatChipsModule,
31478
+ MatDatepickerModule,
31479
+ MatDialogModule,
31480
+ MatGridListModule,
31481
+ MatIconModule,
31482
+ MatInputModule,
31483
+ MatListModule,
31484
+ MatNativeDateModule,
31485
+ MatOptionModule,
31486
+ MatProgressSpinnerModule,
31487
+ MatRadioModule,
31488
+ MatRippleModule,
31489
+ MatSelectModule,
31490
+ MatSlideToggleModule,
31491
+ MatTableModule,
31492
+ MatTabsModule,
31493
+ MatMenuModule,
31494
+ MatProgressBarModule,
31495
+ MatSidenavModule,
31496
+ MatSnackBarModule,
31497
+ MatToolbarModule,
31498
+ MatDatetimepickerModule,
31499
+ MatNativeDatetimeModule,
31500
+ MatExpansionModule,
31501
+ MatBadgeModule,
31502
+ MatFormFieldModule, CommonModule,
31503
+ FormsModule,
31504
+ ReactiveFormsModule,
31505
+ MatAutocompleteModule,
31506
+ MatButtonModule,
31507
+ MatCardModule,
31508
+ MatCheckboxModule,
31509
+ MatChipsModule,
31510
+ MatDatepickerModule,
31511
+ MatDialogModule,
31512
+ MatGridListModule,
31513
+ MatIconModule,
31514
+ MatInputModule,
31515
+ MatListModule,
31516
+ MatNativeDateModule,
31517
+ MatOptionModule,
31518
+ MatProgressSpinnerModule,
31519
+ MatRadioModule,
31520
+ MatRippleModule,
31521
+ MatSelectModule,
31522
+ MatSlideToggleModule,
31523
+ MatTableModule,
31524
+ MatTabsModule,
31525
+ MatMenuModule,
31526
+ MatProgressBarModule,
31527
+ MatSidenavModule,
31528
+ MatSnackBarModule,
31529
+ MatToolbarModule,
31530
+ MatDatetimepickerModule,
31531
+ MatNativeDatetimeModule,
31532
+ MatExpansionModule,
31533
+ MatBadgeModule] }); }
31678
31534
  }
31535
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: MaterialModule, decorators: [{
31536
+ type: NgModule,
31537
+ args: [{
31538
+ imports: [
31539
+ CommonModule,
31540
+ FormsModule,
31541
+ ReactiveFormsModule,
31542
+ MatAutocompleteModule,
31543
+ MatButtonModule,
31544
+ MatCardModule,
31545
+ MatCheckboxModule,
31546
+ MatChipsModule,
31547
+ MatDatepickerModule,
31548
+ MatDialogModule,
31549
+ MatGridListModule,
31550
+ MatIconModule,
31551
+ MatInputModule,
31552
+ MatListModule,
31553
+ MatNativeDateModule,
31554
+ MatOptionModule,
31555
+ MatProgressSpinnerModule,
31556
+ MatRadioModule,
31557
+ MatRippleModule,
31558
+ MatSelectModule,
31559
+ MatSlideToggleModule,
31560
+ MatTableModule,
31561
+ MatTabsModule,
31562
+ MatMenuModule,
31563
+ MatProgressBarModule,
31564
+ MatSidenavModule,
31565
+ MatSnackBarModule,
31566
+ MatToolbarModule,
31567
+ MatDatetimepickerModule,
31568
+ MatNativeDatetimeModule,
31569
+ MatExpansionModule,
31570
+ MatBadgeModule,
31571
+ MatFormFieldModule
31572
+ ],
31573
+ exports: [
31574
+ CommonModule,
31575
+ FormsModule,
31576
+ ReactiveFormsModule,
31577
+ MatAutocompleteModule,
31578
+ MatButtonModule,
31579
+ MatCardModule,
31580
+ MatCheckboxModule,
31581
+ MatChipsModule,
31582
+ MatDatepickerModule,
31583
+ MatDialogModule,
31584
+ MatGridListModule,
31585
+ MatIconModule,
31586
+ MatInputModule,
31587
+ MatListModule,
31588
+ MatNativeDateModule,
31589
+ MatOptionModule,
31590
+ MatProgressSpinnerModule,
31591
+ MatRadioModule,
31592
+ MatRippleModule,
31593
+ MatSelectModule,
31594
+ MatSlideToggleModule,
31595
+ MatTableModule,
31596
+ MatTabsModule,
31597
+ MatMenuModule,
31598
+ MatProgressBarModule,
31599
+ MatSidenavModule,
31600
+ MatSnackBarModule,
31601
+ MatToolbarModule,
31602
+ MatDatetimepickerModule,
31603
+ MatNativeDatetimeModule,
31604
+ MatExpansionModule,
31605
+ MatBadgeModule
31606
+ ]
31607
+ }]
31608
+ }] });
31679
31609
 
31680
31610
  /*!
31681
31611
  * @license
@@ -31694,47 +31624,131 @@ class UnitTestingUtils {
31694
31624
  * limitations under the License.
31695
31625
  */
31696
31626
  /**
31697
- * Provides testing api for application config.
31698
- *
31699
- * @param config Custom application configuration data
31700
- * @returns Angular providers
31627
+ * @deprecated this module is deprecated and will be removed
31628
+ * Use the following combination instead:
31629
+ * ```typescript
31630
+ * providers: [
31631
+ * provideI18N(...),
31632
+ * provideAppConfig(),
31633
+ * provideCoreAuth(...)
31634
+ * ]
31635
+ * ```
31701
31636
  */
31702
- function provideAppConfigTesting(config) {
31703
- config = config ?? {
31704
- application: {
31705
- name: 'Alfresco ADF Application',
31706
- storagePrefix: 'ADF_APP'
31707
- },
31708
- ecmHost: 'http://{hostname}{:port}/ecm',
31709
- bpmHost: 'http://{hostname}{:port}/bpm',
31710
- logLevel: 'silent'
31711
- };
31712
- return [
31713
- provideAppInitializer(() => {
31714
- const service = inject(AppConfigService);
31715
- service.config = config;
31716
- service.status = Status.LOADED;
31717
- return Promise.resolve();
31718
- })
31719
- ];
31637
+ class CoreModule {
31638
+ static forRoot() {
31639
+ return {
31640
+ ngModule: CoreModule,
31641
+ providers: [
31642
+ provideTranslateService({
31643
+ loader: {
31644
+ provide: TranslateLoader,
31645
+ useClass: TranslateLoaderService,
31646
+ deps: [HttpClient]
31647
+ },
31648
+ defaultLanguage: 'en'
31649
+ }),
31650
+ provideAppConfig()
31651
+ ]
31652
+ };
31653
+ }
31654
+ /**
31655
+ * @deprecated this api is deprecated, import `CoreModule` instead
31656
+ * @returns ModuleWithProviders<CoreModule>
31657
+ */
31658
+ static forChild() {
31659
+ return {
31660
+ ngModule: CoreModule
31661
+ };
31662
+ }
31663
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
31664
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: CoreModule, imports: [AboutExtensionListComponent, AboutLicenseListComponent, ModuleListComponent, AboutRepositoryInfoComponent, PackageListComponent, AboutStatusListComponent, AboutServerSettingsComponent, AboutPanelDirective, AboutComponent, PdfPasswordDialogComponent, ViewerRenderComponent, ImgViewerComponent, TxtViewerComponent, MediaPlayerComponent, PdfViewerComponent, PdfThumbComponent, PdfThumbListComponent, ViewerExtensionDirective, UnknownFormatComponent, ViewerToolbarComponent, ViewerSidebarComponent, ViewerOpenWithComponent, ViewerMoreActionsComponent, ViewerToolbarActionsComponent, ViewerComponent, ViewerToolbarCustomActionsComponent, DownloadPromptDialogComponent, SidenavLayoutHeaderDirective, SidenavLayoutContentDirective, SidenavLayoutNavigationDirective, SidebarMenuDirective, SidebarMenuExpandIconDirective, SidebarMenuTitleIconDirective, HeaderLayoutComponent, SidebarActionMenuComponent, LayoutContainerComponent, SidenavLayoutComponent, LocalizedDatePipe, TimeAgoPipe, FileSizePipe, HighlightPipe, FullNamePipe, FormatSpacePipe, FileTypePipe, MultiValuePipe, DecimalNumberPipe, DateTimePipe, InitialUsernamePipe, TruncatePipe, IdentityUserInfoComponent, HighlightDirective, LogoutDirective, UploadDirective, TooltipCardDirective, TooltipCardComponent, InfiniteSelectScrollDirective, AppConfigPipe, InfinitePaginationComponent, PaginationComponent, ToolbarComponent, ToolbarTitleComponent, ToolbarDividerComponent, ContextMenuListComponent, ContextMenuDirective, CardViewComponent, CardViewBoolItemComponent, CardViewDateItemComponent, CardViewMapItemComponent, CardViewTextItemComponent, CardViewKeyValuePairsItemComponent, CardViewSelectItemComponent, CardViewItemDispatcherComponent, CardViewArrayItemComponent, SelectFilterInputComponent, FormBaseModule,
31665
+ CommentsComponent,
31666
+ CommentListComponent, ClipboardDirective, LoginComponent, LoginFooterDirective, LoginHeaderDirective, LoginDialogPanelComponent, LanguageMenuComponent, LanguagePickerComponent, InfoDrawerLayoutComponent, InfoDrawerTabComponent, InfoDrawerComponent, InfoDrawerTitleDirective, InfoDrawerButtonsDirective, InfoDrawerContentDirective, BooleanCellComponent, AmountCellComponent, NumberCellComponent, LocationCellComponent, DateCellComponent, IconCellComponent, ColumnsSelectorComponent, DataColumnComponent, DataColumnListComponent, DateColumnHeaderComponent, LocalizedDatePipe, ResizableDirective, ResizeHandleDirective, DropZoneDirective, EmptyListComponent, EmptyListHeaderDirective, EmptyListBodyDirective, EmptyListFooterDirective, FileSizeCellComponent, JsonCellComponent, NoContentTemplateDirective, NoPermissionTemplateDirective, LoadingContentTemplateDirective, HeaderFilterTemplateDirective, CustomEmptyContentTemplateDirective, CustomLoadingContentTemplateDirective, CustomNoPermissionTemplateDirective, MainMenuDataTableTemplateDirective, DataTableRowComponent, DataTableCellComponent, DataTableComponent, ErrorContentComponent, EmptyContentComponent, IconComponent,
31667
+ SortingPickerComponent, NotificationHistoryComponent, SearchTextInputComponent, SearchTriggerDirective, BlankPageComponent,
31668
+ UnsavedChangesDialogComponent,
31669
+ DynamicChipListComponent,
31670
+ MaterialModule], exports: [AboutExtensionListComponent, AboutLicenseListComponent, ModuleListComponent, AboutRepositoryInfoComponent, PackageListComponent, AboutStatusListComponent, AboutServerSettingsComponent, AboutPanelDirective, AboutComponent, PdfPasswordDialogComponent, ViewerRenderComponent, ImgViewerComponent, TxtViewerComponent, MediaPlayerComponent, PdfViewerComponent, PdfThumbComponent, PdfThumbListComponent, ViewerExtensionDirective, UnknownFormatComponent, ViewerToolbarComponent, ViewerSidebarComponent, ViewerOpenWithComponent, ViewerMoreActionsComponent, ViewerToolbarActionsComponent, ViewerComponent, ViewerToolbarCustomActionsComponent, DownloadPromptDialogComponent, SidenavLayoutHeaderDirective, SidenavLayoutContentDirective, SidenavLayoutNavigationDirective, SidebarMenuDirective, SidebarMenuExpandIconDirective, SidebarMenuTitleIconDirective, HeaderLayoutComponent, SidebarActionMenuComponent, LayoutContainerComponent, SidenavLayoutComponent, LocalizedDatePipe, TimeAgoPipe, FileSizePipe, HighlightPipe, FullNamePipe, FormatSpacePipe, FileTypePipe, MultiValuePipe, DecimalNumberPipe, DateTimePipe, InitialUsernamePipe, TruncatePipe, HighlightDirective, LogoutDirective, UploadDirective, TooltipCardDirective, TooltipCardComponent, InfiniteSelectScrollDirective, ClipboardDirective, IdentityUserInfoComponent,
31671
+ AppConfigPipe, InfinitePaginationComponent, PaginationComponent, ToolbarComponent, ToolbarTitleComponent, ToolbarDividerComponent, ContextMenuListComponent, ContextMenuDirective, CardViewComponent, CardViewBoolItemComponent, CardViewDateItemComponent, CardViewMapItemComponent, CardViewTextItemComponent, CardViewKeyValuePairsItemComponent, CardViewSelectItemComponent, CardViewItemDispatcherComponent, CardViewArrayItemComponent, SelectFilterInputComponent, FormBaseModule,
31672
+ CommentsComponent,
31673
+ CommentListComponent, LoginComponent, LoginFooterDirective, LoginHeaderDirective, LoginDialogPanelComponent, LanguageMenuComponent, LanguagePickerComponent, InfoDrawerLayoutComponent, InfoDrawerTabComponent, InfoDrawerComponent, InfoDrawerTitleDirective, InfoDrawerButtonsDirective, InfoDrawerContentDirective, BooleanCellComponent, AmountCellComponent, NumberCellComponent, LocationCellComponent, DateCellComponent, IconCellComponent, ColumnsSelectorComponent, DataColumnComponent, DataColumnListComponent, DateColumnHeaderComponent, LocalizedDatePipe, ResizableDirective, ResizeHandleDirective, DropZoneDirective, EmptyListComponent, EmptyListHeaderDirective, EmptyListBodyDirective, EmptyListFooterDirective, FileSizeCellComponent, JsonCellComponent, NoContentTemplateDirective, NoPermissionTemplateDirective, LoadingContentTemplateDirective, HeaderFilterTemplateDirective, CustomEmptyContentTemplateDirective, CustomLoadingContentTemplateDirective, CustomNoPermissionTemplateDirective, MainMenuDataTableTemplateDirective, DataTableRowComponent, DataTableCellComponent, DataTableComponent, ErrorContentComponent, EmptyContentComponent, SortingPickerComponent,
31674
+ IconComponent, NotificationHistoryComponent, SearchTextInputComponent, SearchTriggerDirective, BlankPageComponent,
31675
+ UnsavedChangesDialogComponent,
31676
+ DynamicChipListComponent,
31677
+ MaterialModule] }); }
31678
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CoreModule, providers: [...CORE_PIPES], imports: [AboutExtensionListComponent, AboutLicenseListComponent, ModuleListComponent, AboutRepositoryInfoComponent, PackageListComponent, AboutStatusListComponent, AboutServerSettingsComponent, AboutComponent, PdfPasswordDialogComponent, ViewerRenderComponent, ImgViewerComponent, PdfViewerComponent, UnknownFormatComponent, ViewerComponent, DownloadPromptDialogComponent, HeaderLayoutComponent, SidebarActionMenuComponent, LayoutContainerComponent, SidenavLayoutComponent, IdentityUserInfoComponent, TooltipCardComponent, PAGINATION_DIRECTIVES, ToolbarComponent, ContextMenuListComponent, CardViewComponent, CardViewBoolItemComponent, CardViewDateItemComponent, CardViewMapItemComponent, CardViewTextItemComponent, CardViewKeyValuePairsItemComponent, CardViewSelectItemComponent, CardViewArrayItemComponent, SelectFilterInputComponent, FormBaseModule,
31679
+ CommentsComponent,
31680
+ CommentListComponent, LoginComponent, LoginDialogPanelComponent, LANGUAGE_MENU_DIRECTIVES, InfoDrawerLayoutComponent, InfoDrawerComponent, BooleanCellComponent, AmountCellComponent, NumberCellComponent, LocationCellComponent, DateCellComponent, IconCellComponent, ColumnsSelectorComponent, FileSizeCellComponent, JsonCellComponent, DataTableCellComponent, DataTableComponent, TEMPLATE_DIRECTIVES, IconComponent,
31681
+ SortingPickerComponent, NOTIFICATION_HISTORY_DIRECTIVES, SearchTextInputComponent, UnsavedChangesDialogComponent,
31682
+ DynamicChipListComponent,
31683
+ MaterialModule, FormBaseModule,
31684
+ MaterialModule] }); }
31720
31685
  }
31721
-
31722
- /*!
31723
- * @license
31724
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
31725
- *
31726
- * Licensed under the Apache License, Version 2.0 (the "License");
31727
- * you may not use this file except in compliance with the License.
31728
- * You may obtain a copy of the License at
31729
- *
31730
- * http://www.apache.org/licenses/LICENSE-2.0
31731
- *
31732
- * Unless required by applicable law or agreed to in writing, software
31733
- * distributed under the License is distributed on an "AS IS" BASIS,
31734
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31735
- * See the License for the specific language governing permissions and
31736
- * limitations under the License.
31737
- */
31686
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CoreModule, decorators: [{
31687
+ type: NgModule,
31688
+ args: [{
31689
+ imports: [
31690
+ ...ABOUT_DIRECTIVES,
31691
+ ...VIEWER_DIRECTIVES,
31692
+ ...LAYOUT_DIRECTIVES,
31693
+ ...CORE_PIPES,
31694
+ IdentityUserInfoComponent,
31695
+ ...CORE_DIRECTIVES,
31696
+ AppConfigPipe,
31697
+ ...PAGINATION_DIRECTIVES,
31698
+ ...TOOLBAR_DIRECTIVES,
31699
+ ...CONTEXT_MENU_DIRECTIVES,
31700
+ ...CARD_VIEW_DIRECTIVES,
31701
+ FormBaseModule,
31702
+ CommentsComponent,
31703
+ CommentListComponent,
31704
+ ...CLIPBOARD_DIRECTIVES,
31705
+ ...LOGIN_DIRECTIVES,
31706
+ ...LANGUAGE_MENU_DIRECTIVES,
31707
+ ...INFO_DRAWER_DIRECTIVES,
31708
+ ...DATATABLE_DIRECTIVES,
31709
+ ...TEMPLATE_DIRECTIVES,
31710
+ IconComponent,
31711
+ SortingPickerComponent,
31712
+ ...NOTIFICATION_HISTORY_DIRECTIVES,
31713
+ ...SEARCH_TEXT_INPUT_DIRECTIVES,
31714
+ BlankPageComponent,
31715
+ UnsavedChangesDialogComponent,
31716
+ DynamicChipListComponent,
31717
+ MaterialModule
31718
+ ],
31719
+ providers: [...CORE_PIPES],
31720
+ exports: [
31721
+ ...ABOUT_DIRECTIVES,
31722
+ ...VIEWER_DIRECTIVES,
31723
+ ...LAYOUT_DIRECTIVES,
31724
+ ...CORE_PIPES,
31725
+ ...CORE_DIRECTIVES,
31726
+ ...CLIPBOARD_DIRECTIVES,
31727
+ IdentityUserInfoComponent,
31728
+ AppConfigPipe,
31729
+ ...PAGINATION_DIRECTIVES,
31730
+ ...TOOLBAR_DIRECTIVES,
31731
+ ...CONTEXT_MENU_DIRECTIVES,
31732
+ ...CARD_VIEW_DIRECTIVES,
31733
+ FormBaseModule,
31734
+ CommentsComponent,
31735
+ CommentListComponent,
31736
+ ...LOGIN_DIRECTIVES,
31737
+ ...LANGUAGE_MENU_DIRECTIVES,
31738
+ ...INFO_DRAWER_DIRECTIVES,
31739
+ ...DATATABLE_DIRECTIVES,
31740
+ ...TEMPLATE_DIRECTIVES,
31741
+ SortingPickerComponent,
31742
+ IconComponent,
31743
+ ...NOTIFICATION_HISTORY_DIRECTIVES,
31744
+ ...SEARCH_TEXT_INPUT_DIRECTIVES,
31745
+ BlankPageComponent,
31746
+ UnsavedChangesDialogComponent,
31747
+ DynamicChipListComponent,
31748
+ MaterialModule
31749
+ ]
31750
+ }]
31751
+ }] });
31738
31752
 
31739
31753
  /*!
31740
31754
  * @license
@@ -31757,5 +31771,5 @@ function provideAppConfigTesting(config) {
31757
31771
  * Generated bundle index. Do not edit.
31758
31772
  */
31759
31773
 
31760
- export { ABOUT_DIRECTIVES, ADF_AMOUNT_SETTINGS, ADF_COMMENTS_SERVICE, ADF_DATETIME_FORMATS, ADF_DATE_FORMATS, AboutComponent, AboutExtensionListComponent, AboutLicenseListComponent, AboutModule, AboutPanelDirective, AboutRepositoryInfoComponent, AboutServerSettingsComponent, AboutStatusListComponent, AddNotificationStorybookComponent, AdfDateFnsAdapter, AdfDateTimeFnsAdapter, AmountCellComponent, AmountWidgetComponent, AppConfigPipe, AppConfigService, AppConfigServiceMock, AppConfigValues, AuthBearerInterceptor, AuthGuard, AuthGuardBpm, AuthGuardEcm, AuthGuardService, AuthGuardSsoRoleService, AuthModule, AuthService, AuthenticationConfirmationComponent, AuthenticationService, AvatarComponent, BaseEvent, BaseUIEvent, BaseViewerWidgetComponent, BasicAlfrescoAuthService, BlankPageComponent, BlankPageModule, BooleanCellComponent, BpmProductVersionModel, ButtonComponent, ByPassFormRuleManager, CARD_VIEW_DIRECTIVES, CLIPBOARD_DIRECTIVES, CONTEXT_MENU_DIRECTIVES, CORE_DIRECTIVES, CORE_PIPES, CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CardItemTypeService, CardViewArrayItemComponent, CardViewArrayItemModel, CardViewBaseItemModel, CardViewBoolItemComponent, CardViewBoolItemModel, CardViewComponent, CardViewDateItemComponent, CardViewDateItemModel, CardViewDatetimeItemModel, CardViewFloatItemModel, CardViewIntItemModel, CardViewItemDispatcherComponent, CardViewItemFloatValidator, CardViewItemIntValidator, CardViewItemLengthValidator, CardViewItemLongValidator, CardViewItemMatchValidator, CardViewItemMinMaxValidator, CardViewItemPositiveIntValidator, CardViewItemPositiveLongValidator, CardViewKeyValuePairsItemComponent, CardViewKeyValuePairsItemModel, CardViewLongItemModel, CardViewMapItemComponent, CardViewMapItemModel, CardViewModule, CardViewSelectItemComponent, CardViewSelectItemModel, CardViewTextItemComponent, CardViewTextItemModel, CardViewUpdateService, CheckboxWidgetComponent, ClipboardComponent, ClipboardDirective, ClipboardModule, ClipboardService, CloseButtonPosition, ColumnsSelectorComponent, CommentListComponent, CommentListModule, CommentModel, CommentsComponent, CommentsModule, ConfirmDialogComponent, ConfirmDialogModule, ContainerColumnModel, ContainerModel, ContentAuth, ContentLinkModel, ContextMenuDirective, ContextMenuListComponent, ContextMenuModule, ContextMenuOverlayService, CookieService, CookieServiceMock, CoreModule, CoreStoryModule, CustomEmptyContentTemplateDirective, CustomLoadingContentTemplateDirective, CustomNoPermissionTemplateDirective, DATATABLE_DIRECTIVES, DEFAULT_DATE_FORMAT, DEFAULT_LANGUAGE_LIST, DEFAULT_PAGINATION, DIALOG_COMPONENT_DATA, DataCellEvent, DataCellEventModel, DataColumnComponent, DataColumnListComponent, DataRowActionEvent, DataRowActionModel, DataRowEvent, DataSorting, DataTableCellComponent, DataTableComponent, DataTableModule, DataTableRowComponent, DataTableSchema, DataTableService, DateCellComponent, DateColumnHeaderComponent, DateFnsUtils, DateTimePipe, DateTimeWidgetComponent, DateWidgetComponent, DecimalFieldValidator, DecimalNumberModel, DecimalNumberPipe, DecimalRenderMiddlewareService, DecimalWidgetComponent, DialogComponent, DialogSize, DirectiveModule, DisplayTextWidgetComponent, DownloadPromptActions, DownloadPromptDialogComponent, DownloadService, DropZoneDirective, DynamicChipListComponent, DynamicChipListModule, DynamicComponentMapper, DynamicComponentResolver, EXTENDIBLE_COMPONENT, EditJsonDialogComponent, EditJsonDialogModule, EmptyContentComponent, EmptyListBodyDirective, EmptyListComponent, EmptyListFooterDirective, EmptyListHeaderDirective, ErrorContentComponent, ErrorMessageModel, ErrorWidgetComponent, EventMock, FORM_FIELD_MODEL_RENDER_MIDDLEWARE, FORM_FIELD_VALIDATORS, FORM_RULES_MANAGER, FORM_SERVICE_FIELD_VALIDATORS_TOKEN, FieldStylePipe, FileSizeCellComponent, FileSizePipe, FileTypePipe, FileUtils, FixedValueFieldValidator, FormBaseComponent, FormBaseModule, FormErrorEvent, FormEvent, FormFieldComponent, FormFieldEvent, FormFieldModel, FormFieldTypes, FormModel, FormOutcomeEvent, FormOutcomeModel, FormRendererComponent, FormRenderingService, FormRulesEvent, FormRulesManager, FormService, FormSpinnerEvent, FormWidgetModel, FormatSpacePipe, FullNamePipe, HeaderComponent, HeaderFilterTemplateDirective, HeaderLayoutComponent, HeaderWidgetComponent, HighlightDirective, HighlightPipe, HighlightTransformService, HyperlinkWidgetComponent, INFO_DRAWER_DIRECTIVES, IconCellComponent, IconComponent, IconModule, IdentityGroupService, IdentityRoleModel, IdentityRoleService, IdentityUserInfoComponent, IdentityUserInfoModule, IdentityUserService, ImgViewerComponent, InfinitePaginationComponent, InfiniteSelectScrollDirective, InfoDrawerButtonsDirective, InfoDrawerComponent, InfoDrawerContentDirective, InfoDrawerLayoutComponent, InfoDrawerModule, InfoDrawerTabComponent, InfoDrawerTitleDirective, InitialUsernamePipe, InplaceFormInputComponent, InputMaskDirective, JSON_TYPE, JWT_STORAGE_SERVICE, JsonCellComponent, JsonWidgetComponent, JwtHelperService, LANDING_PAGE_TOKEN, LANGUAGE_MENU_DIRECTIVES, LAYOUT_DIRECTIVES, LOGIN_DIRECTIVES, LanguageMenuComponent, LanguageMenuModule, LanguagePickerComponent, LanguageService, LayoutContainerComponent, LoadingContentTemplateDirective, LocalizedDatePipe, LocationCellComponent, LogLevelsEnum, LogService, LoginComponent, LoginDialogComponent, LoginDialogPanelComponent, LoginErrorEvent, LoginFooterDirective, LoginHeaderDirective, LoginModule, LoginSubmitEvent, LoginSuccessEvent, LogoutDirective, MASK_DIRECTIVE, MOMENT_DATE_FORMATS, MainMenuDataTableTemplateDirective, MaterialModule, MaxLengthFieldValidator, MaxValueFieldValidator, MediaPlayerComponent, MinLengthFieldValidator, MinValueFieldValidator, ModuleListComponent, MomentDateAdapter, MultiValuePipe, MultilineTextWidgetComponentComponent, NOTIFICATION_HISTORY_DIRECTIVES, NOTIFICATION_TYPE, NavbarComponent, NavbarItemComponent, NoContentTemplateDirective, NoPermissionTemplateDirective, NoopAuthModule, NoopRedirectAuthService, NoopTranslateModule, NoopTranslationService, NotificationHistoryComponent, NotificationHistoryModule, NotificationService, NumberCellComponent, NumberFieldValidator, NumberWidgetComponent, OAuth2Service, ObjectDataColumn, ObjectDataRow, ObjectDataTableAdapter, ObjectUtils, OidcAuthGuard, OidcAuthenticationService, PAGINATION_DIRECTIVES, PDFJS_MODULE, PDFJS_VIEWER_MODULE, PackageListComponent, PageTitleService, PaginationComponent, PaginationModel, PaginationModule, PathInfo, PdfPasswordDialogComponent, PdfThumbComponent, PdfThumbListComponent, PdfViewerComponent, PipeModule, ProcessAuth, ProgressComponent, RedirectAuthService, RedirectionModel, RegExFieldValidator, RequestPaginationModel, RequiredFieldValidator, ResizableDirective, ResizeHandleDirective, SEARCH_AUTOCOMPLETE_VALUE_ACCESSOR, SEARCH_TEXT_INPUT_DIRECTIVES, STORAGE_PREFIX_FACTORY_SERVICE, SearchTextInputComponent, SearchTextModule, SearchTextStateEnum, SearchTriggerDirective, SelectFilterInputComponent, ShowHeaderMode, SidebarActionMenuComponent, SidebarMenuDirective, SidebarMenuExpandIconDirective, SidebarMenuTitleIconDirective, SidenavLayoutComponent, SidenavLayoutContentDirective, SidenavLayoutHeaderDirective, SidenavLayoutModule, SidenavLayoutNavigationDirective, SnackbarContentComponent, SnackbarContentModule, SortByCategoryMapperService, SortingPickerComponent, StartFormCustomButtonDirective, Status, StoragePrefixFactory, StorageService, StringUtils, TEMPLATE_DIRECTIVES, TOOLBAR_DIRECTIVES, TRANSLATION_PROVIDER, TabModel, TaskProcessVariableModel, TemplateModule, TextWidgetComponent, ThumbnailService, TimeAgoPipe, ToolbarComponent, ToolbarDividerComponent, ToolbarModule, ToolbarTitleComponent, TooltipCardComponent, TooltipCardDirective, TranslateLoaderService, TranslationMock, TranslationService, TruncatePipe, TxtViewerComponent, UnitTestingUtils, UnknownFormatComponent, UnknownWidgetComponent, UnsavedChangesDialogComponent, UnsavedChangesDialogModule, UnsavedChangesGuard, UploadDirective, UploadWidgetContentLinkModel, UploadWidgetContentLinkModelOptions, UrlService, User, UserAccessService, UserInfoMode, UserPreferenceValues, UserPreferencesService, VIEWER_DIRECTIVES, ValidateFormEvent, ValidateFormFieldEvent, ViewUtilService, ViewerComponent, ViewerExtensionDirective, ViewerModule, ViewerMoreActionsComponent, ViewerOpenWithComponent, ViewerRenderComponent, ViewerSidebarComponent, ViewerToolbarActionsComponent, ViewerToolbarComponent, ViewerToolbarCustomActionsComponent, WIDGET_DIRECTIVES, WidgetComponent, WidgetVisibilityService, amountColumnRows, booleanColumnRows, complexVisibilityJsonNotVisible, complexVisibilityJsonVisible, dateColumnRows, dateColumnTimeAgoRows, displayTextSchema, error, fakeFormChainedVisibilityJson, fakeFormCheckBoxVisibilityJson, fakeFormJson, fileSizeColumnRows, formModelTabs, formRulesManagerFactory, formTest, formValues, headerSchema, iconColumnRows, imageColumnRows, info, isNumberValue, isOutcomeButtonVisible, jsonColumnRows, locationColumnRows, logLevels, oauthStorageFactory, predefinedTheme, provideAppConfig, provideAppConfigTesting, provideCoreAuth, provideCoreAuthTesting, provideI18N, provideLandingPage, provideTranslations, rootInitiator, searchAnimation, tabInvalidFormVisibility, tabVisibilityJsonMock, textColumnRows, transformKeyToObject, warning };
31774
+ export { ABOUT_DIRECTIVES, ADF_AMOUNT_SETTINGS, ADF_COMMENTS_SERVICE, ADF_DATETIME_FORMATS, ADF_DATE_FORMATS, AboutComponent, AboutExtensionListComponent, AboutLicenseListComponent, AboutModule, AboutPanelDirective, AboutRepositoryInfoComponent, AboutServerSettingsComponent, AboutStatusListComponent, AdfDateFnsAdapter, AdfDateTimeFnsAdapter, AmountCellComponent, AmountWidgetComponent, AppConfigPipe, AppConfigService, AppConfigServiceMock, AppConfigValues, AuthBearerInterceptor, AuthGuard, AuthGuardBpm, AuthGuardEcm, AuthGuardService, AuthGuardSsoRoleService, AuthModule, AuthService, AuthenticationConfirmationComponent, AuthenticationService, AvatarComponent, BaseEvent, BaseUIEvent, BaseViewerWidgetComponent, BasicAlfrescoAuthService, BlankPageComponent, BlankPageModule, BooleanCellComponent, BpmProductVersionModel, ButtonComponent, ButtonWidgetComponent, ByPassFormRuleManager, CARD_VIEW_DIRECTIVES, CLIPBOARD_DIRECTIVES, CONTEXT_MENU_DIRECTIVES, CORE_DIRECTIVES, CORE_PIPES, CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CardItemTypeService, CardViewArrayItemComponent, CardViewArrayItemModel, CardViewBaseItemModel, CardViewBoolItemComponent, CardViewBoolItemModel, CardViewComponent, CardViewDateItemComponent, CardViewDateItemModel, CardViewDatetimeItemModel, CardViewFloatItemModel, CardViewIntItemModel, CardViewItemDispatcherComponent, CardViewItemFloatValidator, CardViewItemIntValidator, CardViewItemLengthValidator, CardViewItemLongValidator, CardViewItemMatchValidator, CardViewItemMinMaxValidator, CardViewItemPositiveIntValidator, CardViewItemPositiveLongValidator, CardViewKeyValuePairsItemComponent, CardViewKeyValuePairsItemModel, CardViewLongItemModel, CardViewMapItemComponent, CardViewMapItemModel, CardViewModule, CardViewSelectItemComponent, CardViewSelectItemModel, CardViewTextItemComponent, CardViewTextItemModel, CardViewUpdateService, CheckboxWidgetComponent, ClipboardDirective, ClipboardModule, ClipboardService, CloseButtonPosition, ColumnsSelectorComponent, CommentListComponent, CommentListModule, CommentModel, CommentsComponent, CommentsModule, ConfirmDialogComponent, ConfirmDialogModule, ContainerColumnModel, ContainerModel, ContentAuth, ContentLinkModel, ContextMenuDirective, ContextMenuListComponent, ContextMenuModule, ContextMenuOverlayService, CookieService, CookieServiceMock, CoreModule, CustomEmptyContentTemplateDirective, CustomLoadingContentTemplateDirective, CustomNoPermissionTemplateDirective, DATATABLE_DIRECTIVES, DEFAULT_DATE_FORMAT, DEFAULT_LANGUAGE_LIST, DEFAULT_PAGINATION, DIALOG_COMPONENT_DATA, DataCellEvent, DataCellEventModel, DataColumnComponent, DataColumnListComponent, DataRowActionEvent, DataRowActionModel, DataRowEvent, DataSorting, DataTableCellComponent, DataTableComponent, DataTableModule, DataTableRowComponent, DataTableSchema, DataTableService, DateCellComponent, DateColumnHeaderComponent, DateFnsUtils, DateTimePipe, DateTimeWidgetComponent, DateWidgetComponent, DecimalFieldValidator, DecimalNumberModel, DecimalNumberPipe, DecimalRenderMiddlewareService, DecimalWidgetComponent, DialogComponent, DialogSize, DirectiveModule, DisplayTextWidgetComponent, DownloadPromptActions, DownloadPromptDialogComponent, DownloadService, DropZoneDirective, DynamicChipListComponent, DynamicChipListModule, DynamicComponentMapper, DynamicComponentResolver, EXTENDIBLE_COMPONENT, EditJsonDialogComponent, EditJsonDialogModule, EmptyContentComponent, EmptyListBodyDirective, EmptyListComponent, EmptyListFooterDirective, EmptyListHeaderDirective, ErrorContentComponent, ErrorMessageModel, ErrorWidgetComponent, EventMock, FORM_FIELD_MODEL_RENDER_MIDDLEWARE, FORM_FIELD_VALIDATORS, FORM_RULES_MANAGER, FORM_SERVICE_FIELD_VALIDATORS_TOKEN, FieldStylePipe, FileSizeCellComponent, FileSizePipe, FileTypePipe, FileUtils, FixedValueFieldValidator, FormBaseComponent, FormBaseModule, FormErrorEvent, FormEvent, FormFieldComponent, FormFieldEvent, FormFieldModel, FormFieldTypes, FormModel, FormOutcomeEvent, FormOutcomeModel, FormRendererComponent, FormRenderingService, FormRulesEvent, FormRulesManager, FormService, FormSpinnerEvent, FormWidgetModel, FormatSpacePipe, FullNamePipe, HeaderComponent, HeaderFilterTemplateDirective, HeaderLayoutComponent, HeaderWidgetComponent, HighlightDirective, HighlightPipe, HighlightTransformService, HyperlinkWidgetComponent, INFO_DRAWER_DIRECTIVES, IconCellComponent, IconComponent, IconModule, IdentityGroupService, IdentityRoleModel, IdentityRoleService, IdentityUserInfoComponent, IdentityUserInfoModule, IdentityUserService, ImgViewerComponent, InfinitePaginationComponent, InfiniteSelectScrollDirective, InfoDrawerButtonsDirective, InfoDrawerComponent, InfoDrawerContentDirective, InfoDrawerLayoutComponent, InfoDrawerModule, InfoDrawerTabComponent, InfoDrawerTitleDirective, InitialUsernamePipe, InplaceFormInputComponent, InputMaskDirective, JSON_TYPE, JWT_STORAGE_SERVICE, JsonCellComponent, JsonWidgetComponent, JwtHelperService, LANDING_PAGE_TOKEN, LANGUAGE_MENU_DIRECTIVES, LAYOUT_DIRECTIVES, LOGIN_DIRECTIVES, LanguageMenuComponent, LanguageMenuModule, LanguagePickerComponent, LanguageService, LayoutContainerComponent, LoadingContentTemplateDirective, LocalizedDatePipe, LocationCellComponent, LogLevelsEnum, LogService, LoginComponent, LoginDialogPanelComponent, LoginErrorEvent, LoginFooterDirective, LoginHeaderDirective, LoginModule, LoginSubmitEvent, LoginSuccessEvent, LogoutDirective, MASK_DIRECTIVE, MOMENT_DATE_FORMATS, MainMenuDataTableTemplateDirective, MaterialModule, MaxLengthFieldValidator, MaxValueFieldValidator, MediaPlayerComponent, MinLengthFieldValidator, MinValueFieldValidator, ModuleListComponent, MomentDateAdapter, MultiValuePipe, MultilineTextWidgetComponentComponent, NOTIFICATION_HISTORY_DIRECTIVES, NOTIFICATION_TYPE, NavbarComponent, NavbarItemComponent, NoContentTemplateDirective, NoPermissionTemplateDirective, NoopAuthModule, NoopRedirectAuthService, NoopTranslateModule, NoopTranslationService, NotificationHistoryComponent, NotificationHistoryModule, NotificationService, NumberCellComponent, NumberFieldValidator, NumberWidgetComponent, OAuth2Service, ObjectDataColumn, ObjectDataRow, ObjectDataTableAdapter, ObjectUtils, OidcAuthGuard, OidcAuthenticationService, PAGINATION_DIRECTIVES, PDFJS_MODULE, PDFJS_VIEWER_MODULE, PackageListComponent, PageTitleService, PaginationComponent, PaginationModel, PaginationModule, PathInfo, PdfPasswordDialogComponent, PdfThumbComponent, PdfThumbListComponent, PdfViewerComponent, PipeModule, ProcessAuth, ProgressComponent, RedirectAuthService, RedirectionModel, RegExFieldValidator, RepeatWidgetComponent, RequestPaginationModel, RequiredFieldValidator, ResizableDirective, ResizeHandleDirective, SEARCH_AUTOCOMPLETE_VALUE_ACCESSOR, SEARCH_TEXT_INPUT_DIRECTIVES, STORAGE_PREFIX_FACTORY_SERVICE, SearchTextInputComponent, SearchTextModule, SearchTextStateEnum, SearchTriggerDirective, SelectFilterInputComponent, ShowHeaderMode, SidebarActionMenuComponent, SidebarMenuDirective, SidebarMenuExpandIconDirective, SidebarMenuTitleIconDirective, SidenavLayoutComponent, SidenavLayoutContentDirective, SidenavLayoutHeaderDirective, SidenavLayoutModule, SidenavLayoutNavigationDirective, SnackbarContentComponent, SnackbarContentModule, SortByCategoryMapperService, SortingPickerComponent, StartFormCustomButtonDirective, Status, StoragePrefixFactory, StorageService, StringUtils, TEMPLATE_DIRECTIVES, TOOLBAR_DIRECTIVES, TRANSLATION_PROVIDER, TabModel, TaskProcessVariableModel, TemplateModule, TextWidgetComponent, ThumbnailService, TimeAgoPipe, ToolbarComponent, ToolbarDividerComponent, ToolbarModule, ToolbarTitleComponent, TooltipCardComponent, TooltipCardDirective, TranslateLoaderService, TranslationMock, TranslationService, TruncatePipe, TxtViewerComponent, UnitTestingUtils, UnknownFormatComponent, UnknownWidgetComponent, UnsavedChangesDialogComponent, UnsavedChangesDialogModule, UnsavedChangesGuard, UploadDirective, UploadWidgetContentLinkModel, UploadWidgetContentLinkModelOptions, UrlService, User, UserAccessService, UserInfoMode, UserPreferenceValues, UserPreferencesService, VIEWER_DIRECTIVES, ValidateFormEvent, ValidateFormFieldEvent, ViewUtilService, ViewerComponent, ViewerExtensionDirective, ViewerModule, ViewerMoreActionsComponent, ViewerOpenWithComponent, ViewerRenderComponent, ViewerSidebarComponent, ViewerToolbarActionsComponent, ViewerToolbarComponent, ViewerToolbarCustomActionsComponent, WIDGET_DIRECTIVES, WidgetComponent, WidgetVisibilityService, complexVisibilityJsonNotVisible, complexVisibilityJsonVisible, displayTextSchema, error, fakeFormChainedVisibilityJson, fakeFormCheckBoxVisibilityJson, fakeFormJson, formModelTabs, formRulesManagerFactory, formTest, formValues, headerSchema, info, isNumberValue, isOutcomeButtonVisible, logLevels, oauthStorageFactory, predefinedTheme, provideAppConfig, provideAppConfigTesting, provideCoreAuth, provideCoreAuthTesting, provideI18N, provideLandingPage, provideTranslations, rootInitiator, searchAnimation, tabInvalidFormVisibility, tabVisibilityJsonMock, transformKeyToObject, warning };
31761
31775
  //# sourceMappingURL=adf-core.mjs.map