@alfresco/adf-core 8.2.0-18186380146 → 8.2.1

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 (100) 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 +1313 -1252
  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 +11 -0
  49. package/lib/datatable/components/date-cell/date-cell.component.d.ts +6 -0
  50. package/lib/datatable/components/filesize-cell/filesize-cell.component.d.ts +2 -0
  51. package/lib/form/components/form-base.component.d.ts +1 -1
  52. package/lib/form/components/form-field/form-field.component.d.ts +5 -0
  53. package/lib/form/components/form-renderer.component.d.ts +7 -5
  54. package/lib/form/components/form-renderer.component.scss +44 -0
  55. package/lib/form/components/widgets/amount/amount.widget.d.ts +43 -4
  56. package/lib/form/components/widgets/base-viewer/base-viewer.widget.d.ts +16 -0
  57. package/lib/form/components/widgets/button/button.widget.d.ts +12 -0
  58. package/lib/form/components/widgets/button/button.widget.scss +14 -0
  59. package/lib/form/components/widgets/core/container-column.model.d.ts +2 -0
  60. package/lib/form/components/widgets/core/container-row.model.d.ts +26 -0
  61. package/lib/form/components/widgets/core/form-field-types.d.ts +5 -0
  62. package/lib/form/components/widgets/core/form-field-validator.d.ts +4 -0
  63. package/lib/form/components/widgets/core/form-field.model.d.ts +26 -2
  64. package/lib/form/components/widgets/core/form.model.d.ts +2 -1
  65. package/lib/{datatable/components/mocks/datatable.mock.d.ts → form/components/widgets/core/handlers/form-field-rule.handler.d.ts} +5 -5
  66. package/lib/{login/components/login-dialog/login-dialog-component-data.interface.d.ts → form/components/widgets/core/repeatable-section.model.d.ts} +8 -5
  67. package/lib/form/components/widgets/index.d.ts +4 -1
  68. package/lib/form/components/widgets/reactive-widget.interface.d.ts +4 -0
  69. package/lib/form/components/widgets/repeat/repeat.widget.d.ts +9 -0
  70. package/lib/form/components/widgets/repeat/repeat.widget.scss +36 -0
  71. package/lib/form/form-base.module.d.ts +3 -2
  72. package/lib/info-drawer/info-drawer.component.scss +6 -0
  73. package/lib/login/login.module.d.ts +3 -5
  74. package/lib/login/public-api.d.ts +0 -2
  75. package/lib/mock/public-api.d.ts +0 -1
  76. package/lib/mock/translation.service.mock.d.ts +1 -0
  77. package/lib/notifications/components/notification-history.component.d.ts +9 -3
  78. package/lib/notifications/notification-history.module.d.ts +2 -4
  79. package/lib/notifications/public-api.d.ts +0 -1
  80. package/lib/snackbar-content/snackbar-content.component.scss +4 -1
  81. package/lib/styles/{material.theme.scss → _globals.scss} +1 -1
  82. package/lib/styles/_index.scss +4 -126
  83. package/lib/styles/_mat-selectors.scss +3 -0
  84. package/lib/testing/index.d.ts +0 -1
  85. package/lib/testing/noop-translate.module.d.ts +1 -0
  86. package/lib/testing/unit-testing-utils.d.ts +4 -0
  87. package/lib/translation/translation.service.d.ts +6 -0
  88. package/package.json +4 -5
  89. package/schematics/migrations/schematics/migrations/7_0_0/index.d.ts +1 -2
  90. package/schematics/migrations/schematics/migrations/7_0_0/index.js +46 -59
  91. package/schematics/migrations/schematics/migrations/7_0_0/index.js.map +1 -1
  92. package/schematics/migrations/schematics/migrations/collection.json +0 -5
  93. package/lib/clipboard/clipboard.theme.scss +0 -19
  94. package/lib/login/components/login-dialog/login-dialog.component.d.ts +0 -15
  95. package/lib/login/components/login-dialog/login-dialog.component.scss +0 -4
  96. package/lib/mock/data-column.mock.d.ts +0 -51
  97. package/lib/notifications/components/add-notification.stories.component.d.ts +0 -10
  98. package/lib/styles/_theming.scss +0 -3
  99. package/lib/styles/_typography.scss +0 -18
  100. package/lib/testing/core.story.module.d.ts +0 -9
@@ -1,3 +1,5 @@
1
+ @use '../../../styles/mat-selectors' as ms;
2
+
1
3
  $adf-columns-selector-space: 12px;
2
4
 
3
5
  @mixin adf-columns-selector-side-padding {
@@ -8,101 +10,112 @@ $adf-columns-selector-space: 12px;
8
10
  padding: $adf-columns-selector-space 0;
9
11
  }
10
12
 
11
- .adf-columns-selector {
12
- @include adf-columns-selector-top-bottom-padding;
13
+ adf-datatable-column-selector {
14
+ .adf-columns-selector {
15
+ @include adf-columns-selector-top-bottom-padding;
13
16
 
14
- min-width: 277px;
17
+ min-width: 277px;
15
18
 
16
- &-header {
17
- @include adf-columns-selector-side-padding;
19
+ &-header {
20
+ @include adf-columns-selector-side-padding;
18
21
 
19
- display: flex;
20
- justify-content: space-between;
21
- align-items: center;
22
- }
22
+ display: flex;
23
+ justify-content: space-between;
24
+ align-items: center;
25
+ }
23
26
 
24
- &-header-label {
25
- font-size: var(--theme-body-1-font-size);
26
- }
27
+ &-header-label {
28
+ font-size: var(--theme-body-1-font-size);
29
+ }
27
30
 
28
- &-list-container {
29
- max-height: 350px;
30
- overflow: hidden auto;
31
- }
31
+ &-list-container {
32
+ max-height: 350px;
33
+ overflow: hidden auto;
34
+ margin-left: -16px;
35
+ }
32
36
 
33
- &-list-item {
34
- margin-top: 10px;
37
+ .adf-columns-selector-list-item {
38
+ margin-top: 10px;
35
39
 
36
- &:hover {
37
- background-color: var(--adf-theme-background-hover-color);
38
- }
39
- }
40
+ #{ms.$mat-list-item} {
41
+ display: flex;
42
+ flex-direction: row-reverse;
43
+ padding-left: 0;
44
+ height: 24px;
40
45
 
41
- &-list-content {
42
- white-space: nowrap;
43
- overflow: hidden;
44
- text-overflow: ellipsis;
45
- display: block;
46
- width: 210px;
47
- }
46
+ #{ms.$mat-list-item-end} {
47
+ margin-right: -5px;
48
+ }
49
+ }
50
+ }
48
51
 
49
- &-subtitle {
50
- color: var(--adf-theme-foreground-text-color);
51
- font-size: var(--theme-caption-font-size);
52
- opacity: 0.6;
53
- display: flex;
54
- column-gap: 3px;
55
- align-items: center;
56
- }
52
+ &-list-content {
53
+ white-space: nowrap;
54
+ overflow: hidden;
55
+ text-overflow: ellipsis;
56
+ display: block;
57
+ width: 210px;
58
+ color: var(--theme-secondary-text);
59
+ }
57
60
 
58
- &-subtitle-icon {
59
- margin-top: 3px;
60
- height: var(--theme-caption-font-size);
61
- width: var(--theme-caption-font-size);
62
- font-size: var(--theme-caption-font-size);
63
- }
61
+ &-subtitle {
62
+ color: var(--adf-theme-foreground-text-color);
63
+ font-size: var(--theme-caption-font-size);
64
+ opacity: 0.6;
65
+ display: flex;
66
+ column-gap: 3px;
67
+ align-items: center;
68
+ }
64
69
 
65
- &-column-checkbox {
66
- padding: 0 20px;
67
- }
70
+ &-subtitle-icon {
71
+ margin-top: 3px;
72
+ height: var(--theme-caption-font-size);
73
+ width: var(--theme-caption-font-size);
74
+ font-size: var(--theme-caption-font-size);
75
+ }
68
76
 
69
- &-footer {
70
- @include adf-columns-selector-side-padding;
77
+ &-column-checkbox {
78
+ padding: 0 20px;
79
+ }
71
80
 
72
- display: flex;
73
- justify-content: flex-end;
74
- }
81
+ &-footer {
82
+ @include adf-columns-selector-side-padding;
75
83
 
76
- &-divider {
77
- margin: 16px 0;
78
- }
84
+ display: flex;
85
+ justify-content: flex-end;
86
+ }
79
87
 
80
- &-search-input-container {
81
- @include adf-columns-selector-side-padding;
88
+ &-divider {
89
+ margin: 16px 0;
90
+ }
82
91
 
83
- position: relative;
84
- display: flex;
85
- align-items: center;
86
- margin-bottom: 15px;
87
- }
92
+ &-search-input-container {
93
+ @include adf-columns-selector-side-padding;
88
94
 
89
- &-search-input {
90
- padding: 10px 10px 10px 29px;
91
- width: 100%;
92
- outline: 0;
93
- border-radius: 6px;
94
- border: 1px solid var(--theme-background-color);
95
- background: var(--theme-background-color);
95
+ position: relative;
96
+ display: flex;
97
+ align-items: center;
98
+ margin-bottom: 9px;
99
+ }
96
100
 
97
- &:focus {
98
- outline: none;
101
+ &-search-input {
102
+ padding: 10px 10px 10px 29px;
103
+ width: 100%;
104
+ outline: 0;
105
+ border-radius: 6px;
106
+ border: 1px solid var(--theme-background-color);
107
+ background: var(--theme-background-color);
108
+
109
+ &:focus {
110
+ outline: none;
111
+ }
99
112
  }
100
- }
101
113
 
102
- &-search-input-icon {
103
- position: absolute;
104
- left: 17px;
105
- top: 10px;
106
- font-size: var(--theme-adf-icon-1-font-size);
114
+ &-search-input-icon {
115
+ position: absolute;
116
+ left: 17px;
117
+ top: 10px;
118
+ font-size: var(--theme-adf-icon-1-font-size);
119
+ }
107
120
  }
108
121
  }
@@ -37,10 +37,21 @@ export declare class DataTableCellComponent implements OnInit {
37
37
  protected destroyRef: DestroyRef;
38
38
  protected dataTableService: DataTableService;
39
39
  value$: BehaviorSubject<any>;
40
+ protected rawComputedTitle: import("@angular/core").WritableSignal<string>;
41
+ title: import("@angular/core").Signal<string>;
40
42
  ngOnInit(): void;
41
43
  protected updateValue(): void;
42
44
  private subscribeToRowUpdates;
43
45
  private getNestedPropertyValue;
46
+ /**
47
+ * Computes the title/tooltip for the cell based on the value.
48
+ * Override this in derived classes to provide custom tooltip logic.
49
+ * Note: The tooltip input always takes precedence (handled by title signal).
50
+ *
51
+ * @param value - The cell value to compute the title for
52
+ * @returns The computed title string, or empty string if no title should be shown
53
+ */
54
+ protected computeTitle(value: string): string;
44
55
  static ɵfac: i0.ɵɵFactoryDeclaration<DataTableCellComponent, never>;
45
56
  static ɵcmp: i0.ɵɵComponentDeclaration<DataTableCellComponent, "adf-datatable-cell", never, { "data": { "alias": "data"; "required": true; }; "column": { "alias": "column"; "required": true; }; "row": { "alias": "row"; "required": true; }; "copyContent": { "alias": "copyContent"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "resolverFn": { "alias": "resolverFn"; "required": false; }; }, {}, never, never, true, never>;
46
57
  }
@@ -22,11 +22,17 @@ export declare class DateCellComponent extends DataTableCellComponent implements
22
22
  dateConfig: DateConfig;
23
23
  config: DateConfig;
24
24
  private readonly appConfig;
25
+ private readonly localizedDatePipe;
26
+ private readonly userPreferencesService;
27
+ private readonly cdr;
28
+ private userLocale;
25
29
  readonly defaultDateConfig: DateConfig;
26
30
  ngOnInit(): void;
31
+ protected computeTitle(value: any): string;
27
32
  private setConfig;
28
33
  private setCustomConfig;
29
34
  private setDefaultConfig;
35
+ private normalizeLocale;
30
36
  private getDefaultFormat;
31
37
  private getDefaultLocale;
32
38
  private getDefaultTooltipFormat;
@@ -18,7 +18,9 @@ import { OnInit } from '@angular/core';
18
18
  import { DataTableCellComponent } from '../datatable-cell/datatable-cell.component';
19
19
  import * as i0 from "@angular/core";
20
20
  export declare class FileSizeCellComponent extends DataTableCellComponent implements OnInit {
21
+ private readonly fileSizePipe;
21
22
  ngOnInit(): void;
23
+ protected computeTitle(value: any): string;
22
24
  static ɵfac: i0.ɵɵFactoryDeclaration<FileSizeCellComponent, never>;
23
25
  static ɵcmp: i0.ɵɵComponentDeclaration<FileSizeCellComponent, "adf-filesize-cell", never, {}, {}, never, never, true, never>;
24
26
  }
@@ -96,7 +96,7 @@ export declare abstract class FormBaseComponent {
96
96
  handleError(err: any): any;
97
97
  abstract onRefreshClicked(): void;
98
98
  abstract saveTaskForm(): void;
99
- abstract completeTaskForm(outcome?: string): void;
99
+ abstract completeTaskForm(outcome?: string, outcomeId?: string): void;
100
100
  protected abstract onTaskSaved(form: FormModel): void;
101
101
  protected abstract storeFormAsMetadata(): void;
102
102
  protected abstract onExecuteOutcome(outcome: FormOutcomeModel): boolean;
@@ -17,6 +17,11 @@
17
17
  import { ComponentRef, OnDestroy, OnInit, ViewContainerRef } from '@angular/core';
18
18
  import { FormFieldModel } from '../widgets/core/form-field.model';
19
19
  import * as i0 from "@angular/core";
20
+ /**
21
+ * Component is a wrapper for widget components.
22
+ * It is responsible for instantiating the correct widget component
23
+ * based on the field type.
24
+ */
20
25
  export declare class FormFieldComponent implements OnInit, OnDestroy {
21
26
  container: ViewContainerRef;
22
27
  /**
@@ -1,18 +1,19 @@
1
1
  import { OnDestroy, OnInit } from '@angular/core';
2
- import { FormRulesManager } from '../models/form-rules.model';
3
2
  import { FormService } from '../services/form.service';
4
3
  import { FormFieldModelRenderMiddleware } from './middlewares/middleware';
5
4
  import { ContainerModel, FormFieldModel, FormModel, TabModel } from './widgets';
6
5
  import * as i0 from "@angular/core";
7
6
  export declare class FormRendererComponent<T> implements OnInit, OnDestroy {
8
- formService: FormService;
9
- private formRulesManager;
10
7
  private middlewareServices?;
8
+ readonly formService: FormService;
9
+ private readonly formRulesManager;
10
+ private readonly dialog;
11
+ private cdr;
11
12
  formDefinition: FormModel;
12
13
  readOnly: boolean;
13
14
  debugMode: boolean;
14
15
  fields: FormFieldModel[];
15
- constructor(formService: FormService, formRulesManager: FormRulesManager<T>, middlewareServices?: FormFieldModelRenderMiddleware[]);
16
+ constructor(middlewareServices?: FormFieldModelRenderMiddleware[]);
16
17
  ngOnInit(): void;
17
18
  ngOnDestroy(): void;
18
19
  hasTabs(): boolean;
@@ -26,6 +27,7 @@ export declare class FormRendererComponent<T> implements OnInit, OnDestroy {
26
27
  */
27
28
  getContainerFields(content: ContainerModel): FormFieldModel[];
28
29
  private getMaxColumnFieldSize;
30
+ displayDialogToRemoveRow(field: FormFieldModel, rowIndex: number): void;
29
31
  /**
30
32
  * Calculate the column width based on the numberOfColumns and current field's colspan property
31
33
  *
@@ -34,6 +36,6 @@ export declare class FormRendererComponent<T> implements OnInit, OnDestroy {
34
36
  */
35
37
  getColumnWidth(container: ContainerModel): string;
36
38
  private runMiddlewareServices;
37
- static ɵfac: i0.ɵɵFactoryDeclaration<FormRendererComponent<any>, [null, null, { optional: true; }]>;
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormRendererComponent<any>, [{ optional: true; }]>;
38
40
  static ɵcmp: i0.ɵɵComponentDeclaration<FormRendererComponent<any>, "adf-form-renderer", never, { "formDefinition": { "alias": "formDefinition"; "required": true; }; "readOnly": { "alias": "readOnly"; "required": false; }; }, {}, never, never, true, never>;
39
41
  }
@@ -97,6 +97,50 @@
97
97
  padding-left: 3px;
98
98
  padding-right: 3px;
99
99
  }
100
+
101
+ &-row {
102
+ display: flex;
103
+ flex-direction: row;
104
+ align-items: center;
105
+ justify-content: space-between;
106
+
107
+ &-remove-button {
108
+ padding: 0;
109
+ width: 30px;
110
+ height: 30px;
111
+ display: flex;
112
+ align-items: center;
113
+ justify-content: center;
114
+
115
+ #{ms.$mat-icon} {
116
+ display: flex;
117
+ justify-content: center;
118
+ align-items: center;
119
+ font-size: 18px;
120
+ }
121
+ }
122
+ }
123
+
124
+ &-container {
125
+ padding: 0 15px;
126
+
127
+ &-multiple {
128
+ border-bottom: 1px solid rgba(0, 0, 0, 0.54);
129
+ margin-bottom: 25px;
130
+ }
131
+
132
+ &-disabled {
133
+ &.adf-grid-list-container-multiple {
134
+ border-bottom: 1px solid
135
+ var(--mdc-text-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));
136
+ }
137
+
138
+ .adf-grid-list-row-label {
139
+ color: var(--mdc-text-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));
140
+ cursor: default;
141
+ }
142
+ }
143
+ }
100
144
  }
101
145
 
102
146
  @include flex.layout-bp(lt-md) {
@@ -1,20 +1,59 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { CurrencyPipe } from '@angular/common';
1
18
  import { OnInit, InjectionToken } from '@angular/core';
2
19
  import { FormService } from '../../../services/form.service';
3
20
  import { WidgetComponent } from '../widget.component';
21
+ import { Observable } from 'rxjs';
22
+ import { TranslationService } from '../../../../translation/translation.service';
4
23
  import * as i0 from "@angular/core";
5
24
  export interface AmountWidgetSettings {
6
25
  showReadonlyPlaceholder: boolean;
26
+ enableDisplayBasedOnLocale: boolean;
7
27
  }
8
- export declare const ADF_AMOUNT_SETTINGS: InjectionToken<AmountWidgetSettings>;
28
+ export declare const ADF_AMOUNT_SETTINGS: InjectionToken<AmountWidgetSettings | Observable<AmountWidgetSettings>>;
9
29
  export declare class AmountWidgetComponent extends WidgetComponent implements OnInit {
10
30
  formService: FormService;
11
- private settings;
31
+ private currencyPipe;
32
+ private translationService;
12
33
  static DEFAULT_CURRENCY: string;
13
34
  private showPlaceholder;
35
+ private readonly destroyRef;
36
+ amountWidgetValue: string;
14
37
  currency: string;
38
+ currencyDisplay: string | boolean;
39
+ decimalProperty: string;
40
+ enableDisplayBasedOnLocale: boolean;
41
+ isInputInFocus: boolean;
42
+ locale: string;
43
+ notShowDecimalDigits: string;
44
+ showDecimalDigits: string;
45
+ showReadonlyPlaceholder: boolean;
46
+ valueAsNumber: number;
15
47
  get placeholder(): string;
16
- constructor(formService: FormService, settings: AmountWidgetSettings);
48
+ constructor(formService: FormService, settings: Observable<AmountWidgetSettings> | AmountWidgetSettings, currencyPipe: CurrencyPipe, translationService: TranslationService);
17
49
  ngOnInit(): void;
18
- static ɵfac: i0.ɵɵFactoryDeclaration<AmountWidgetComponent, [null, { optional: true; }]>;
50
+ amountWidgetOnBlur(): void;
51
+ amountWidgetOnFocus(): void;
52
+ onFieldChangedAmountWidget(): void;
53
+ setInitialValues(): void;
54
+ subscribeToFieldChanges(): void;
55
+ updateValue(value: any): void;
56
+ updateSettingsBasedProperties(data: AmountWidgetSettings): void;
57
+ static ɵfac: i0.ɵɵFactoryDeclaration<AmountWidgetComponent, [null, { optional: true; }, null, null]>;
19
58
  static ɵcmp: i0.ɵɵComponentDeclaration<AmountWidgetComponent, "amount-widget", never, {}, {}, never, never, true, never>;
20
59
  }
@@ -1,3 +1,19 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
1
17
  import { OnInit } from '@angular/core';
2
18
  import { FormService } from '../../../services/form.service';
3
19
  import { WidgetComponent } from '../widget.component';
@@ -0,0 +1,12 @@
1
+ import { WidgetComponent } from '../widget.component';
2
+ import { FormService } from '../../../services/form.service';
3
+ import * as i0 from "@angular/core";
4
+ export declare class ButtonWidgetComponent extends WidgetComponent {
5
+ formService: FormService;
6
+ readonly tooltipShowDelay: number;
7
+ constructor(formService: FormService);
8
+ get hostClasses(): string;
9
+ onClick(event: Event): void;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<ButtonWidgetComponent, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<ButtonWidgetComponent, "button-widget", never, {}, {}, never, never, true, never>;
12
+ }
@@ -0,0 +1,14 @@
1
+ .adf-button-widget {
2
+ display: flex;
3
+ justify-content: center;
4
+ align-items: center;
5
+ height: 100%;
6
+ width: 100%;
7
+ min-height: 96px;
8
+
9
+ &__button {
10
+ margin-bottom: 32px;
11
+ word-break: break-word;
12
+ overflow: hidden;
13
+ }
14
+ }
@@ -16,9 +16,11 @@
16
16
  */
17
17
  import { FormFieldModel } from './form-field.model';
18
18
  export declare class ContainerColumnModel {
19
+ id: string;
19
20
  size: number;
20
21
  fields: FormFieldModel[];
21
22
  colspan: number;
22
23
  rowspan: number;
24
+ constructor();
23
25
  hasFields(): boolean;
24
26
  }
@@ -0,0 +1,26 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { ContainerColumnModel } from './container-column.model';
18
+ export declare class ContainerRowModel {
19
+ id: string;
20
+ isInitial: boolean;
21
+ columns: ContainerColumnModel[];
22
+ size: number;
23
+ colspan: number;
24
+ rowspan: number;
25
+ constructor(isInitial?: boolean);
26
+ }
@@ -14,9 +14,11 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
+ import { MaybeReactiveFormWidget, ReactiveFormWidget } from '../reactive-widget.interface';
17
18
  export declare class FormFieldTypes {
18
19
  static CONTAINER: string;
19
20
  static GROUP: string;
21
+ static REPEATABLE_SECTION: string;
20
22
  static SECTION: string;
21
23
  static DYNAMIC_TABLE: string;
22
24
  static TEXT: string;
@@ -47,6 +49,7 @@ export declare class FormFieldTypes {
47
49
  static JSON: string;
48
50
  static DATA_TABLE: string;
49
51
  static DISPLAY_EXTERNAL_PROPERTY: string;
52
+ static BUTTON: string;
50
53
  static READONLY_TYPES: string[];
51
54
  static VALIDATABLE_TYPES: string[];
52
55
  static REACTIVE_TYPES: string[];
@@ -54,7 +57,9 @@ export declare class FormFieldTypes {
54
57
  static isReadOnlyType(type: string): boolean;
55
58
  static isValidatableType(type: string): boolean;
56
59
  static isReactiveType(type: string): boolean;
60
+ static isReactiveWidget(instance: MaybeReactiveFormWidget): instance is ReactiveFormWidget;
57
61
  static isConstantValueType(type: string): boolean;
58
62
  static isContainerType(type: string): boolean;
59
63
  static isSectionType(type: string): boolean;
64
+ static isRepeatableSectionType(type: string): boolean;
60
65
  }
@@ -14,6 +14,7 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
+ import { FormFieldTypes } from './form-field-types';
17
18
  import { FormFieldModel } from './form-field.model';
18
19
  export interface FormFieldValidator {
19
20
  isSupported(field: FormFieldModel): boolean;
@@ -37,8 +38,11 @@ export declare class MinLengthFieldValidator implements FormFieldValidator {
37
38
  }
38
39
  export declare class MaxLengthFieldValidator implements FormFieldValidator {
39
40
  private supportedTypes;
41
+ private maxLength?;
42
+ constructor(supportedTypes?: FormFieldTypes[], maxLength?: number);
40
43
  isSupported(field: FormFieldModel): boolean;
41
44
  validate(field: FormFieldModel): boolean;
45
+ getMaxLength(field: FormFieldModel): number | undefined;
42
46
  }
43
47
  export declare class MinValueFieldValidator implements FormFieldValidator {
44
48
  private supportedTypes;
@@ -23,6 +23,8 @@ import { FormWidgetModel } from './form-widget.model';
23
23
  import { FormFieldRule } from './form-field-rule';
24
24
  import { VariableConfig } from './form-field-variable-options';
25
25
  import { DataColumn } from '../../../../datatable/data/data-column.model';
26
+ import { ContainerRowModel } from './container-row.model';
27
+ import { RepeatableSectionModel } from './repeatable-section.model';
26
28
  export type FieldOptionType = 'rest' | 'manual' | 'variable';
27
29
  export type FieldSelectionType = 'single' | 'multiple';
28
30
  export type FieldAlignmentType = 'vertical' | 'horizontal';
@@ -81,9 +83,11 @@ export declare class FormFieldModel extends FormWidgetModel {
81
83
  schemaDefinition: DataColumn[];
82
84
  externalProperty?: string;
83
85
  style?: string;
86
+ parent?: RepeatableSectionModel;
84
87
  numberOfColumns: number;
85
88
  fields: FormFieldModel[];
86
89
  columns: ContainerColumnModel[];
90
+ rows: ContainerRowModel[];
87
91
  emptyOption: FormFieldOption;
88
92
  validationSummary: ErrorMessageModel;
89
93
  get value(): any;
@@ -98,17 +102,37 @@ export declare class FormFieldModel extends FormWidgetModel {
98
102
  markAsValid(): void;
99
103
  validate(): boolean;
100
104
  private isFieldValidatable;
101
- constructor(form: any, json?: any);
105
+ constructor(form: any, json?: any, parent?: RepeatableSectionModel);
102
106
  private getEmptyOption;
103
107
  private setValueForReadonlyType;
104
108
  private getDefaultDateFormat;
109
+ private getId;
105
110
  private isTypeaheadFieldType;
106
111
  private getFieldNameWithLabel;
107
112
  private getProcessVariableValue;
108
113
  private containerFactory;
114
+ private setupParentConfig;
115
+ private repeatableSectionFactory;
116
+ private getNumberOfRows;
117
+ private createRow;
118
+ private createColumns;
119
+ private updateRepeatableSectionReadOnlyState;
120
+ private updateInnerSectionReadOnlyState;
121
+ private getRepeatableSectionFieldReadOnlyState;
122
+ private getUniqueId;
123
+ private updateChildrenFieldsRowIndex;
124
+ private createInitialValue;
125
+ private getFieldId;
109
126
  private updateContainerColspan;
110
- parseValue(json: any): any;
127
+ addRow(fields: any, form: any): void;
128
+ private shouldAddRow;
129
+ removeRow(index: number): void;
130
+ private shouldRemoveRow;
131
+ parseValue(json: any, initialValue?: any): any;
111
132
  updateForm(): void;
133
+ getFormValue(): any;
134
+ private updateValue;
135
+ private updateRepeatableSectionValue;
112
136
  /**
113
137
  * Check if the field type is invalid, requires a type to be a `container`
114
138
  *
@@ -64,7 +64,6 @@ export declare class FormModel implements ProcessFormModel {
64
64
  readonly confirmMessage: ConfirmMessage;
65
65
  readonly taskName: string;
66
66
  readonly processDefinitionId: string;
67
- readonly selectedOutcome: string;
68
67
  readonly enableFixedSpace: boolean;
69
68
  readonly displayMode: any;
70
69
  fieldsCache: FormFieldModel[];
@@ -77,6 +76,8 @@ export declare class FormModel implements ProcessFormModel {
77
76
  fieldValidators: FormFieldValidator[];
78
77
  customFieldTemplates: FormFieldTemplates;
79
78
  theme?: ThemeModel;
79
+ selectedOutcomeId?: string;
80
+ selectedOutcome: string;
80
81
  className: string;
81
82
  readOnly: boolean;
82
83
  isValid: boolean;
@@ -14,8 +14,8 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- import { PathInfo } from '../../../models/path.model';
18
- import { DataColumn } from '../../data/data-column.model';
19
- export declare const mockCarsData: any;
20
- export declare const mockCarsSchemaDefinition: DataColumn[];
21
- export declare const mockPathInfos: PathInfo[];
17
+ import { FormFieldRule } from '../form-field-rule';
18
+ import { RepeatableSectionModel } from '../repeatable-section.model';
19
+ export declare const formFieldRuleHandler: {
20
+ getRule: (id: string, rule?: FormFieldRule, parent?: RepeatableSectionModel) => FormFieldRule;
21
+ };