@alfresco/adf-core 8.4.0-19063861366 → 8.4.0-19066638615

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 (71) hide show
  1. package/bundles/assets/adf-core/i18n/en.json +13 -2
  2. package/fesm2022/adf-core.mjs +408 -210
  3. package/fesm2022/adf-core.mjs.map +1 -1
  4. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs +2 -2
  5. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs.map +1 -1
  6. package/fesm2022/alfresco-adf-core-feature-flags.mjs +2 -2
  7. package/fesm2022/alfresco-adf-core-feature-flags.mjs.map +1 -1
  8. package/lib/about/about-package/package-list.component.scss +10 -0
  9. package/lib/about/about-server-settings/about-server-settings.component.scss +2 -0
  10. package/lib/about/about.component.scss +4 -0
  11. package/lib/avatar/avatar.component.scss +9 -7
  12. package/lib/button/button.component.scss +13 -0
  13. package/lib/card-view/components/card-view/card-view.component.scss +26 -2
  14. package/lib/card-view/components/card-view-arrayitem/card-view-arrayitem.component.scss +11 -1
  15. package/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.scss +1 -0
  16. package/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.scss +7 -2
  17. package/lib/card-view/components/card-view-selectitem/select-filter-input/select-filter-input.component.scss +3 -0
  18. package/lib/card-view/components/card-view-textitem/card-view-textitem.component.scss +28 -1
  19. package/lib/clipboard/clipboard.theme.scss +3 -3
  20. package/lib/comments/comment-list/comment-list.component.scss +7 -5
  21. package/lib/comments/comments.component.scss +31 -2
  22. package/lib/datatable/components/columns-selector/columns-selector.component.scss +13 -6
  23. package/lib/datatable/components/datatable/datatable.component.scss +42 -29
  24. package/lib/dialogs/dialog/dialog.component.scss +2 -2
  25. package/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.component.scss +8 -11
  26. package/lib/directives/tooltip-card/tooltip-card.component.scss +9 -3
  27. package/lib/dynamic-chip-list/dynamic-chip-list.component.scss +4 -0
  28. package/lib/form/components/form-renderer.component.d.ts +7 -5
  29. package/lib/form/components/form-renderer.component.scss +54 -3
  30. package/lib/form/components/inplace-form-input/inplace-form-input.component.scss +19 -0
  31. package/lib/form/components/widgets/amount/amount.widget.scss +6 -0
  32. package/lib/form/components/widgets/core/container-column.model.d.ts +2 -0
  33. package/lib/form/components/widgets/core/container-row.model.d.ts +26 -0
  34. package/lib/form/components/widgets/core/form-field-types.d.ts +2 -0
  35. package/lib/form/components/widgets/core/form-field.model.d.ts +25 -2
  36. package/lib/form/components/widgets/date-time/date-time.widget.scss +1 -1
  37. package/lib/form/components/widgets/display-text/display-text.widget.scss +3 -0
  38. package/lib/form/components/widgets/form.theme.scss +42 -6
  39. package/lib/form/components/widgets/header/header.widget.scss +4 -2
  40. package/lib/form/components/widgets/hyperlink/hyperlink.widget.scss +1 -1
  41. package/lib/form/components/widgets/index.d.ts +1 -0
  42. package/lib/form/components/widgets/multiline-text/multiline-text.widget.scss +1 -1
  43. package/lib/form/components/widgets/repeat/repeat.widget.d.ts +10 -0
  44. package/lib/form/components/widgets/repeat/repeat.widget.scss +25 -0
  45. package/lib/header/header.component.scss +12 -12
  46. package/lib/header/navbar/navbar-item.component.scss +11 -3
  47. package/lib/identity-user-info/identity-user-info.component.scss +4 -4
  48. package/lib/info-drawer/info-drawer-layout.component.scss +5 -1
  49. package/lib/info-drawer/info-drawer.component.scss +21 -1
  50. package/lib/layout/components/header/header.component.scss +3 -3
  51. package/lib/layout/components/layout-container/layout-container.component.scss +3 -1
  52. package/lib/layout/components/sidebar-action/sidebar-action-menu.component.scss +8 -2
  53. package/lib/layout/components/sidenav-layout/sidenav-layout.component.scss +1 -0
  54. package/lib/login/components/login/login.component.scss +70 -12
  55. package/lib/notifications/components/notification-history.component.scss +17 -3
  56. package/lib/pagination/pagination.component.scss +6 -0
  57. package/lib/search-text/search-text-input.component.scss +6 -1
  58. package/lib/styles/_globals.scss +32 -3
  59. package/lib/styles/_mixins.scss +1 -1
  60. package/lib/templates/empty-content/empty-content.component.scss +6 -4
  61. package/lib/templates/error-content/error-content.component.scss +3 -2
  62. package/lib/toolbar/toolbar.component.scss +3 -0
  63. package/lib/viewer/components/img-viewer/img-viewer.component.scss +14 -2
  64. package/lib/viewer/components/pdf-viewer/pdf-viewer.component.scss +9 -8
  65. package/lib/viewer/components/pdf-viewer-password-dialog/pdf-viewer-password-dialog.scss +4 -0
  66. package/lib/viewer/components/pdf-viewer-thumbnails/pdf-viewer-thumbnails.component.scss +3 -3
  67. package/lib/viewer/components/txt-viewer/txt-viewer.component.scss +1 -1
  68. package/lib/viewer/components/unknown-format/unknown-format.component.scss +1 -0
  69. package/lib/viewer/components/viewer-render/viewer-render.component.scss +2 -2
  70. package/lib/viewer/components/viewer.component.scss +23 -11
  71. package/package.json +3 -3
@@ -3,9 +3,13 @@
3
3
  @use '../../../styles/mixins' as mixins;
4
4
  @use '../../../styles/mat-selectors' as ms;
5
5
 
6
+ $data-table-header-font-size: var(--theme-caption-font-size) !default;
7
+ $data-table-header-sort-icon-size: var(--theme-subheading-2-font-size) !default;
8
+ $data-table-row-height: var(--theme-display-3-font-size) !default;
6
9
  $data-table-column-spacing: 36px !default;
7
10
  $data-table-column-padding: 18px !default;
8
- $data-table-row-height: var(--mat-sys-display-large-size);
11
+ $data-table-card-padding: var(--theme-headline-line-height) !default;
12
+ $data-table-cell-top: calc($data-table-card-padding / 2);
9
13
  $data-table-thumbnail-width: 65px !default;
10
14
  $data-table-cell-min-width-1: 65px !default;
11
15
  $data-table-cell-min-width-2: 110px !default;
@@ -34,7 +38,7 @@ $data-table-cell-min-width-file-size: $data-table-cell-min-width-1 !default;
34
38
 
35
39
  &--divider {
36
40
  padding: 24px 0;
37
- border: 1px solid var(--mat-sys-outline-variant);
41
+ border: 1px solid var(--adf-theme-foreground-text-color-007);
38
42
  }
39
43
 
40
44
  &:hover {
@@ -53,8 +57,8 @@ $data-table-cell-min-width-file-size: $data-table-cell-min-width-1 !default;
53
57
  #{ms.$cdk-drag-preview} {
54
58
  display: flex;
55
59
  flex-direction: column;
56
- background-color: var(--mat-sys-surface);
57
- border: var(--mat-sys-outline-variant);
60
+ background-color: var(--adf-theme-background-card-color);
61
+ border: 1px solid var(--adf-theme-foreground-text-color-007);
58
62
  box-sizing: border-box;
59
63
  overflow-x: auto;
60
64
 
@@ -104,20 +108,20 @@ $data-table-cell-min-width-file-size: $data-table-cell-min-width-1 !default;
104
108
  &:not(.adf-datatable-data-loading) {
105
109
  &:hover,
106
110
  &:focus {
107
- background-color: var(--mat-sys-surface-container);
111
+ background-color: var(--adf-theme-background-hover-color);
108
112
  }
109
113
  }
110
114
 
111
115
  &:focus {
112
116
  outline-offset: -1px;
113
- outline: 1px solid var(--mat-sys-primary);
117
+ outline: 1px solid var(--theme-accent-color-a200);
114
118
  }
115
119
 
116
120
  .adf-cell-value,
117
121
  .adf-datatable-cell-header {
118
122
  &:focus {
119
123
  outline-offset: -1px;
120
- outline: 1px solid var(--mat-sys-primary);
124
+ outline: 1px solid var(--theme-accent-color-a200);
121
125
  }
122
126
  }
123
127
  }
@@ -129,7 +133,7 @@ $data-table-cell-min-width-file-size: $data-table-cell-min-width-1 !default;
129
133
  .adf-datatable-body {
130
134
  display: flex;
131
135
  flex-direction: column;
132
- background-color: var(--mat-sys-surface);
136
+ background-color: inherit;
133
137
  width: 100%;
134
138
  min-width: 100%;
135
139
 
@@ -145,7 +149,7 @@ $data-table-cell-min-width-file-size: $data-table-cell-min-width-1 !default;
145
149
  @include mixins.material-animation-default(0.28s);
146
150
 
147
151
  transition-property: background-color;
148
- border-top: 1px solid var(--mat-sys-outline);
152
+ border-top: 1px solid var(--adf-theme-foreground-text-color-007);
149
153
  min-height: $data-table-row-height;
150
154
  cursor: pointer;
151
155
 
@@ -153,7 +157,7 @@ $data-table-cell-min-width-file-size: $data-table-cell-min-width-1 !default;
153
157
 
154
158
  &.adf-is-selected,
155
159
  &.adf-is-selected:hover {
156
- background-color: var(--mat-sys-surface-container);
160
+ background-color: var(--adf-theme-background-selected-button-color);
157
161
  }
158
162
 
159
163
  &.adf-drag-row {
@@ -161,7 +165,7 @@ $data-table-cell-min-width-file-size: $data-table-cell-min-width-1 !default;
161
165
  }
162
166
 
163
167
  &:last-child {
164
- border-bottom: 1px solid var(--mat-sys-outline);
168
+ border-bottom: 1px solid var(--adf-theme-foreground-text-color-007);
165
169
  }
166
170
 
167
171
  label {
@@ -278,7 +282,7 @@ $data-table-cell-min-width-file-size: $data-table-cell-min-width-1 !default;
278
282
  }
279
283
 
280
284
  .adf-datatable-cell {
281
- color: var(--mat-sys-on-surface);
285
+ color: var(--adf-theme-foreground-text-color);
282
286
  min-height: inherit;
283
287
  }
284
288
 
@@ -373,10 +377,10 @@ $data-table-cell-min-width-file-size: $data-table-cell-min-width-1 !default;
373
377
  .adf-location-cell {
374
378
  a {
375
379
  text-decoration: none;
376
- color: var(--mat-sys-on-surface);
380
+ color: var(--adf-theme-foreground-text-color);
377
381
 
378
382
  &:hover {
379
- color: var(--mat-sys-primary);
383
+ color: var(--theme-accent-500);
380
384
  text-decoration: underline;
381
385
  }
382
386
  }
@@ -395,15 +399,15 @@ $data-table-cell-min-width-file-size: $data-table-cell-min-width-1 !default;
395
399
  }
396
400
 
397
401
  .adf-is-selected {
398
- background: var(--mat-sys-primary-container);
402
+ background: var(--adf-theme-primary-100);
399
403
  }
400
404
 
401
405
  .adf-datatable-link {
402
406
  text-decoration: none;
403
- color: var(--mat-sys-on-surface);
407
+ color: var(--adf-theme-foreground-text-color);
404
408
 
405
409
  &:hover {
406
- color: var(--mat-sys-secondary);
410
+ color: var(--theme-accent-500);
407
411
  text-decoration: underline;
408
412
  }
409
413
  }
@@ -495,13 +499,13 @@ $data-table-cell-min-width-file-size: $data-table-cell-min-width-1 !default;
495
499
  /* stylelint-disable media-feature-range-notation */
496
500
 
497
501
  /* mobile phone */
498
- @media all and (width <=768px) {
502
+ @media all and (width <= 768px) {
499
503
  .adf-desktop-only.adf-ellipsis-cell {
500
504
  display: none;
501
505
  }
502
506
  }
503
507
 
504
- @media (device-width <=768px) {
508
+ @media (device-width <= 768px) {
505
509
  .adf-desktop-only.adf-ellipsis-cell {
506
510
  display: none;
507
511
  }
@@ -519,7 +523,8 @@ $data-table-cell-min-width-file-size: $data-table-cell-min-width-1 !default;
519
523
  line-height: 24px;
520
524
  letter-spacing: 0;
521
525
  min-height: $data-table-row-height;
522
- font-size: var(--mat-sys-body-medium-size);
526
+ font-size: $data-table-header-font-size;
527
+ color: var(--adf-theme-foreground-text-color);
523
528
  box-sizing: border-box;
524
529
 
525
530
  &_subtitle {
@@ -536,11 +541,13 @@ $data-table-cell-min-width-file-size: $data-table-cell-min-width-1 !default;
536
541
 
537
542
  .adf-datatable__header--sorted-asc,
538
543
  .adf-datatable__header--sorted-desc {
544
+ color: var(--adf-theme-foreground-text-color);
539
545
  padding-right: 0.25rem;
540
546
 
541
547
  &::after {
542
548
  @include mixins.typo-icon;
543
549
 
550
+ font-size: $data-table-header-sort-icon-size;
544
551
  content: '\e5d8';
545
552
  left: 5px;
546
553
  right: 5px;
@@ -572,6 +579,7 @@ $data-table-cell-min-width-file-size: $data-table-cell-min-width-1 !default;
572
579
  }
573
580
 
574
581
  &--hovered {
582
+ background-color: var(--adf-theme-background-hover-color);
575
583
  border-radius: 6px;
576
584
  }
577
585
  }
@@ -598,6 +606,7 @@ $data-table-cell-min-width-file-size: $data-table-cell-min-width-1 !default;
598
606
  .adf-drop-header-cell-placeholder {
599
607
  display: flex;
600
608
  flex: 1;
609
+ background: var(--adf-theme-background-hover-color);
601
610
  border: dotted 1px rgba(0, 0, 0, 0.25);
602
611
  min-height: 55px;
603
612
  transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
@@ -624,11 +633,13 @@ $data-table-cell-min-width-file-size: $data-table-cell-min-width-1 !default;
624
633
  flex-direction: row;
625
634
  align-items: center;
626
635
  box-sizing: unset;
627
- border-top: 2px solid var(--mat-sys-primary);
636
+ background-color: var(--theme-background-color);
637
+ border-top: 2px solid var(--theme-selected-background-color);
628
638
  opacity: 1;
629
639
 
630
640
  &.adf-datatable-cell-header {
631
641
  border-radius: 6px;
642
+ background-color: var(--theme-background-color);
632
643
 
633
644
  @include mat.elevation-transition;
634
645
  @include mat.elevation(4);
@@ -654,8 +665,8 @@ $data-table-cell-min-width-file-size: $data-table-cell-min-width-1 !default;
654
665
  .adf-datatable-header {
655
666
  display: block;
656
667
  margin-right: 0;
657
- border-top: 1px solid var(--mat-sys-outline-variant);
658
- border-bottom: 1px solid var(--mat-sys-outline-variant);
668
+ border-top: 1px solid var(--adf-theme-foreground-text-color-007);
669
+ border-bottom: 1px solid var(--adf-theme-foreground-text-color-007);
659
670
  }
660
671
 
661
672
  .adf-datatable-body {
@@ -668,15 +679,15 @@ $data-table-cell-min-width-file-size: $data-table-cell-min-width-1 !default;
668
679
 
669
680
  .adf-upload__dragging {
670
681
  & > div {
671
- border-top: 1px dashed var(--mat-sys-secondary);
672
- border-bottom: 1px dashed var(--mat-sys-secondary);
682
+ border-top: 1px dashed var(--theme-accent-color-a200);
683
+ border-bottom: 1px dashed var(--theme-accent-color-a200);
673
684
 
674
685
  &:first-child {
675
- border-left: 1px dashed var(--mat-sys-secondary);
686
+ border-left: 1px dashed var(--theme-accent-color-a200);
676
687
  }
677
688
 
678
689
  &:last-child {
679
- border-right: 1px dashed var(--mat-sys-secondary);
690
+ border-right: 1px dashed var(--theme-accent-color-a200);
680
691
  }
681
692
  }
682
693
  }
@@ -691,6 +702,7 @@ $data-table-cell-min-width-file-size: $data-table-cell-min-width-1 !default;
691
702
  .adf-datatable-body[role='rowgroup'] {
692
703
  .adf-datatable-row {
693
704
  height: 100%;
705
+ background-color: var(--adf-theme-background-card-color);
694
706
  border: none;
695
707
 
696
708
  &:hover,
@@ -704,7 +716,7 @@ $data-table-cell-min-width-file-size: $data-table-cell-min-width-1 !default;
704
716
 
705
717
  .adf-datatable--empty--header-visible {
706
718
  .adf-datatable-header {
707
- border: 1px solid var(--mat-sys-outline-variant);
719
+ border: 1px solid var(--adf-theme-foreground-text-color-007);
708
720
  }
709
721
 
710
722
  .adf-datatable-body {
@@ -715,6 +727,7 @@ $data-table-cell-min-width-file-size: $data-table-cell-min-width-1 !default;
715
727
 
716
728
  .adf-datatable-row {
717
729
  height: 100%;
730
+ background-color: var(--adf-theme-background-card-color);
718
731
  border: none;
719
732
 
720
733
  &:hover,
@@ -726,7 +739,7 @@ $data-table-cell-min-width-file-size: $data-table-cell-min-width-1 !default;
726
739
  }
727
740
  }
728
741
 
729
- @media screen and (width <=380px) {
742
+ @media screen and (width <= 380px) {
730
743
  .adf-datatable-header {
731
744
  max-height: 50%;
732
745
  }
@@ -165,7 +165,7 @@ $dialog-padding: 24px;
165
165
  left: -$dialog-padding;
166
166
  display: block;
167
167
  height: 0;
168
- border-bottom: 1px solid var(--mat-sys-outline-variant);
168
+ border-bottom: 1px solid var(--adf-theme-foreground-divider-color);
169
169
  width: calc(100% + $dialog-padding * 2);
170
170
  }
171
171
  }
@@ -284,5 +284,5 @@ $dialog-padding: 24px;
284
284
  }
285
285
 
286
286
  .adf-additional-actions {
287
- color: var(--mat-sys-primary);
287
+ color: var(--theme-primary-color);
288
288
  }
@@ -1,5 +1,3 @@
1
- @use '@angular/material' as mat;
2
-
3
1
  .adf-unsaved-changes-dialog {
4
2
  .adf-unsaved-changes-dialog {
5
3
  &-header {
@@ -24,9 +22,14 @@
24
22
  &-content {
25
23
  padding: 0 8px 0 0;
26
24
  overflow: unset;
25
+ color: var(--adf-secondary-modal-text-color);
27
26
 
28
27
  &-checkbox {
29
28
  margin-top: 20px;
29
+
30
+ label {
31
+ color: var(--adf-secondary-modal-text-color);
32
+ }
30
33
  }
31
34
  }
32
35
 
@@ -38,19 +41,13 @@
38
41
  align-items: flex-end;
39
42
 
40
43
  &-cancel-button {
44
+ background-color: var(--adf-secondary-button-background);
41
45
  margin-right: 4px;
42
46
  }
43
47
 
44
48
  &-discard-changes-button {
45
- color: var(--mat-sys-on-error);
46
- background-color: var(--mat-sys-error);
47
-
48
- @include mat.button-overrides(
49
- (
50
- filled-label-text-color: var(--mat-sys-on-error),
51
- filled-container-color: var(--mat-sys-error)
52
- )
53
- );
49
+ color: white;
50
+ background-color: var(--adf-error-color);
54
51
  }
55
52
 
56
53
  &-cancel-button,
@@ -7,18 +7,20 @@
7
7
  div.adf-tooltip-card {
8
8
  @include mat.elevation(8);
9
9
 
10
- border: 1px solid var(--mat-sys-primary);
10
+ background-color: var(--adf-theme-background-card-color);
11
+ border: 1px solid var(--theme-primary-color);
11
12
  padding: 12px;
12
13
  border-radius: 6px;
13
14
 
14
15
  p,
15
16
  div {
16
- font-size: var(--mat-sys-body-small-size);
17
+ font-size: var(--theme-caption-font-size);
18
+ color: var(--adf-theme-foreground-text-color-075);
17
19
  margin: 0;
18
20
  }
19
21
 
20
22
  hr {
21
- border: 1px solid var(--mat-sys-primary);
23
+ border: 1px solid var(--theme-primary-color);
22
24
  margin: 6px 0;
23
25
  }
24
26
 
@@ -26,3 +28,7 @@ div.adf-tooltip-card {
26
28
  border-radius: 6px;
27
29
  }
28
30
  }
31
+
32
+ ::ng-deep .cdk-overlay-connected-position-bounding-box {
33
+ margin-top: 10px;
34
+ }
@@ -62,6 +62,10 @@
62
62
 
63
63
  #{ms.$mat-evolution-chip-action} {
64
64
  padding: 2px 12px;
65
+
66
+ #{ms.$mat-evolution-chip-text-label} {
67
+ color: var(--adf-theme-foreground-text-color-054);
68
+ }
65
69
  }
66
70
  }
67
71
  }
@@ -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,30 @@
97
97
  padding-left: 3px;
98
98
  padding-right: 3px;
99
99
  }
100
+
101
+ &-remove-row-button {
102
+ margin-top: 20px;
103
+
104
+ #{ms.$mat-icon} {
105
+ display: flex;
106
+ justify-content: center;
107
+ align-items: center;
108
+ font-size: 20px;
109
+ }
110
+ }
111
+
112
+ &-container {
113
+ padding: 0 10px;
114
+
115
+ &-label {
116
+ margin: 5px 0 5px -10px;
117
+ }
118
+
119
+ &-multiple {
120
+ border-bottom: 1px solid rgba(0, 0, 0, 0.54);
121
+ margin-bottom: 25px;
122
+ }
123
+ }
100
124
  }
101
125
 
102
126
  @include flex.layout-bp(lt-md) {
@@ -123,6 +147,25 @@
123
147
  top: 1.8em;
124
148
  }
125
149
 
150
+ #{ms.$mat-focused} {
151
+ width: 100%;
152
+
153
+ #{ms.$mat-text-field-focused} {
154
+ label {
155
+ color: var(--theme-primary-color);
156
+ }
157
+ }
158
+
159
+ label {
160
+ transition: transform 150ms linear;
161
+ background-color: 300ms cubic-bezier(0.55, 0, 0.55, 0.2);
162
+ }
163
+
164
+ #{ms.$mat-form-field-prefix} {
165
+ color: var(--theme-primary-color);
166
+ }
167
+ }
168
+
126
169
  #{ms.$mat-grid-tile} {
127
170
  overflow: visible;
128
171
  width: 80%;
@@ -159,6 +202,8 @@
159
202
  }
160
203
 
161
204
  & #{mat-tab-label-text} {
205
+ font-size: var(--theme-subheading-2-font-size);
206
+ line-height: var(--theme-headline-line-height);
162
207
  letter-spacing: -0.4px;
163
208
  text-align: left;
164
209
  color: rgba(0, 0, 0, 0.54);
@@ -177,7 +222,7 @@
177
222
  }
178
223
 
179
224
  &-form-title {
180
- font-size: var(--mat-sys-title-medium-size);
225
+ font-size: var(--theme-title-font-size);
181
226
  white-space: nowrap;
182
227
  overflow: hidden;
183
228
  text-overflow: ellipsis;
@@ -193,10 +238,10 @@
193
238
  position: absolute;
194
239
  right: 50px;
195
240
  top: 39px;
196
- color: var(--mat-sys-secondary);
241
+ color: var(--theme-accent-color);
197
242
 
198
243
  & .adf-invalid-color {
199
- color: var(--mat-sys-error);
244
+ color: var(--theme-warn-color);
200
245
  }
201
246
  }
202
247
 
@@ -259,4 +304,10 @@
259
304
 
260
305
  form-field {
261
306
  width: 100%;
307
+
308
+ #{ms.$mat-input-element} {
309
+ font-size: var(--theme-body-2-font-size);
310
+ padding-top: 8px;
311
+ line-height: normal;
312
+ }
262
313
  }
@@ -4,6 +4,16 @@
4
4
  $adf-inplace-input-padding: 7px;
5
5
 
6
6
  .adf-inplace-input-container {
7
+ &-error {
8
+ .adf-inplace-input {
9
+ border: 1px solid var(--theme-warn-color);
10
+ }
11
+ }
12
+
13
+ #{ms.$mat-line-ripple} {
14
+ display: none;
15
+ }
16
+
7
17
  #{ms.$mat-form-text-field-infix} {
8
18
  display: flex;
9
19
  border-top: 0;
@@ -21,5 +31,14 @@ $adf-inplace-input-padding: 7px;
21
31
  padding: $adf-inplace-input-padding;
22
32
  border: 1px solid transparent;
23
33
  border-radius: 4px;
34
+
35
+ &:focus {
36
+ border: 1px solid var(--theme-primary-color);
37
+ }
38
+
39
+ &:hover:not(:focus) {
40
+ border: 1px solid var(--adf-theme-background-hover-color);
41
+ background-color: var(--adf-theme-background-hover-color);
42
+ }
24
43
  }
25
44
  }
@@ -23,5 +23,11 @@
23
23
  .adf-input {
24
24
  margin-top: 3px;
25
25
  }
26
+
27
+ &:not(#{ms.$mat-focused}):not(#{ms.$mat-form-field-invalid}) {
28
+ .adf-amount-widget__prefix-spacing {
29
+ color: var(--adf-theme-foreground-secondary-text-color);
30
+ }
31
+ }
26
32
  }
27
33
  }
@@ -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
+ }
@@ -18,6 +18,7 @@ import { MaybeReactiveFormWidget, ReactiveFormWidget } from '../reactive-widget.
18
18
  export declare class FormFieldTypes {
19
19
  static CONTAINER: string;
20
20
  static GROUP: string;
21
+ static REPEATABLE_SECTION: string;
21
22
  static SECTION: string;
22
23
  static DYNAMIC_TABLE: string;
23
24
  static TEXT: string;
@@ -59,4 +60,5 @@ export declare class FormFieldTypes {
59
60
  static isConstantValueType(type: string): boolean;
60
61
  static isContainerType(type: string): boolean;
61
62
  static isSectionType(type: string): boolean;
63
+ static isRepeatableSectionType(type: string): boolean;
62
64
  }
@@ -23,9 +23,17 @@ 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';
26
27
  export type FieldOptionType = 'rest' | 'manual' | 'variable';
27
28
  export type FieldSelectionType = 'single' | 'multiple';
28
29
  export type FieldAlignmentType = 'vertical' | 'horizontal';
30
+ interface RepeatableSectionModel {
31
+ id: string;
32
+ uid: string;
33
+ fields: FormFieldModel[];
34
+ rowIndex: number;
35
+ value?: any;
36
+ }
29
37
  export declare class FormFieldModel extends FormWidgetModel {
30
38
  private _value;
31
39
  private _readOnly;
@@ -81,9 +89,11 @@ export declare class FormFieldModel extends FormWidgetModel {
81
89
  schemaDefinition: DataColumn[];
82
90
  externalProperty?: string;
83
91
  style?: string;
92
+ parent?: RepeatableSectionModel;
84
93
  numberOfColumns: number;
85
94
  fields: FormFieldModel[];
86
95
  columns: ContainerColumnModel[];
96
+ rows: ContainerRowModel[];
87
97
  emptyOption: FormFieldOption;
88
98
  validationSummary: ErrorMessageModel;
89
99
  get value(): any;
@@ -98,7 +108,7 @@ export declare class FormFieldModel extends FormWidgetModel {
98
108
  markAsValid(): void;
99
109
  validate(): boolean;
100
110
  private isFieldValidatable;
101
- constructor(form: any, json?: any);
111
+ constructor(form: any, json?: any, parent?: RepeatableSectionModel);
102
112
  private getEmptyOption;
103
113
  private setValueForReadonlyType;
104
114
  private getDefaultDateFormat;
@@ -106,9 +116,21 @@ export declare class FormFieldModel extends FormWidgetModel {
106
116
  private getFieldNameWithLabel;
107
117
  private getProcessVariableValue;
108
118
  private containerFactory;
119
+ private repeatableSectionFactory;
120
+ private getNumberOfRows;
121
+ private createRow;
122
+ private createColumns;
123
+ private getUniqueId;
124
+ private updateChildrenFieldsRowIndex;
125
+ private createInitialValue;
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
+ private updateRepeatableSectionValue;
112
134
  /**
113
135
  * Check if the field type is invalid, requires a type to be a `container`
114
136
  *
@@ -129,3 +151,4 @@ export declare class FormFieldModel extends FormWidgetModel {
129
151
  private isDateTimeField;
130
152
  private isCheckboxField;
131
153
  }
154
+ export {};
@@ -28,5 +28,5 @@
28
28
  }
29
29
 
30
30
  #{ms.$mat-datetimepicker-toggle} {
31
- color: var(--mat-sys-on-surface);
31
+ color: var(--adf-theme-foreground-icon-color);
32
32
  }