@kms-ngx-ui/presentational 20.3.0 → 20.3.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.
package/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { OnInit, EventEmitter, DoCheck, Renderer2, ElementRef, ApplicationRef, ChangeDetectorRef, NgZone, OnChanges, AfterViewInit, WritableSignal, Signal, SimpleChanges, TemplateRef, OnDestroy, PipeTransform, AfterContentChecked, InputSignal, Type } from '@angular/core';
3
3
  import * as i39 from '@angular/forms';
4
- import { ControlValueAccessor, UntypedFormGroup, NgControl, UntypedFormControl, FormControl, FormArray, Validator, ValidationErrors, AsyncValidatorFn, ValidatorFn, FormGroup } from '@angular/forms';
4
+ import { ControlValueAccessor, UntypedFormGroup, NgControl, AbstractControl, UntypedFormControl, FormControl, FormArray, Validator, ValidationErrors, AsyncValidatorFn, ValidatorFn, FormGroup } from '@angular/forms';
5
5
  import * as i35 from '@angular/material/checkbox';
6
6
  import { MatCheckboxChange } from '@angular/material/checkbox';
7
7
  import { Subscription, Observable } from 'rxjs';
@@ -137,7 +137,10 @@ declare class FormControlParentComponent extends FormParentComponent implements
137
137
  internalValue: string;
138
138
  private injector;
139
139
  private _ngControl;
140
+ private readonly _externalControl;
140
141
  get ngControl(): NgControl | null;
142
+ /** The external FormControl — from NgControl (template usage) or the injection token (dynamic creation). */
143
+ get parentControl(): AbstractControl | null;
141
144
  constructor(renderer: Renderer2);
142
145
  ngOnInit(): void;
143
146
  ngDoCheck(): void;
@@ -189,6 +192,8 @@ declare class DropdownFromDataComponent extends FormControlParentComponent imple
189
192
  label: _angular_core.InputSignal<string>;
190
193
  required: _angular_core.InputSignal<boolean>;
191
194
  useEnumIndexAsValue: _angular_core.InputSignal<boolean>;
195
+ /** Derives required state from the explicit input OR the bound control's validators. */
196
+ isRequired(): boolean;
192
197
  multiple: _angular_core.InputSignal<boolean>;
193
198
  selectAllText: _angular_core.InputSignal<string>;
194
199
  disableOptions: _angular_core.InputSignal<boolean>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kms-ngx-ui/presentational",
3
- "version": "20.3.0",
3
+ "version": "20.3.1",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "^20.2.14",
6
6
  "@angular/common": "^20.3.15",
@@ -1,15 +1,15 @@
1
1
  @mixin card-theme() {
2
2
  .card {
3
- --card-shadow-color: var(--kms-tertiary-500);
4
- --card-shadow: 0px 3px 4px 0px var(--card-shadow-color);
5
- --card-background-color: var(--kms-white);
6
- --card-hover-border-color: var(--kms-secondary);
7
- --card-image-height: 180px;
3
+ --kms-card-shadow-color: var(--kms-tertiary-500);
4
+ --kms-card-shadow: 0px 3px 4px 0px var(--kms-card-shadow-color);
5
+ --kms-card-background-color: var(--kms-white);
6
+ --kms-card-hover-border-color: var(--kms-secondary);
7
+ --kms-card-image-height: 180px;
8
8
 
9
9
  overflow: hidden;
10
- box-shadow: var(--card-shadow);
11
- border-radius: 8px;
12
- background-color: var(--card-background-color);
10
+ box-shadow: var(--kms-card-shadow);
11
+ border-radius: var(--kms-border-radius);
12
+ background-color: var(--kms-card-background-color);
13
13
  position: relative;
14
14
  padding: 0;
15
15
  display: flex;
@@ -18,13 +18,13 @@
18
18
 
19
19
  &.hoverEffect {
20
20
  &:hover {
21
- outline: 1px solid var(--card-hover-border-color);
21
+ outline: 1px solid var(--kms-card-hover-border-color);
22
22
  }
23
23
  }
24
24
 
25
25
  &-image {
26
26
  background-color: var(--kms-white);
27
- height: var(--card-image-height);
27
+ height: var(--kms-card-image-height);
28
28
  background-size: cover;
29
29
  justify-content: center;
30
30
  width: auto;
@@ -43,7 +43,7 @@
43
43
  font-weight: bold;
44
44
  font-size: 18px;
45
45
 
46
- margin: 0 0 16px 0px;
46
+ margin: 0 0 $base-spacing * 2 0;
47
47
  }
48
48
  }
49
49
  }
@@ -7,7 +7,7 @@
7
7
 
8
8
  .dropdown-from-data {
9
9
  &__checkbox {
10
- padding: 0 16px;
10
+ padding: 0 $base-spacing * 2;
11
11
  margin: 0;
12
12
  height: 3em;
13
13
  line-height: 3em;
@@ -41,7 +41,7 @@
41
41
  }
42
42
 
43
43
  &__arrow {
44
- margin-right: $base-spacing;
44
+ margin-right: $base-spacing * 2;
45
45
  }
46
46
  }
47
47
  }
@@ -3,11 +3,11 @@
3
3
  --mat-button-filled-container-shape: 24px;
4
4
  --mat-button-protected-container-shape: 24px;
5
5
  --mat-button-text-container-shape: 24px;
6
- --kms-button-border-radius: 24px;
6
+ --kms-button-border-radius: 4px;
7
7
  }
8
8
 
9
9
  .kms-button {
10
- border-radius: 4px !important;
10
+ border-radius: var(--kms-button-border-radius) !important;
11
11
 
12
12
  // Basic button (text button)
13
13
  &--basic-primary {
@@ -70,7 +70,7 @@
70
70
  }
71
71
 
72
72
  &--rounded {
73
- border-radius: var(--kms-button-border-radius) !important;
73
+ --kms-button-border-radius: 24px;
74
74
  }
75
75
 
76
76
  .kms-button__spinner {
@@ -1,6 +1,6 @@
1
1
  @mixin confirmation-dialog-component-theme() {
2
2
  .mat-mdc-dialog-surface {
3
- padding: 24px;
3
+ padding: $base-spacing * 3;
4
4
  > *:first-child,
5
5
  .dialog-container {
6
6
  height: 100%;
@@ -8,7 +8,7 @@
8
8
  flex-direction: column;
9
9
 
10
10
  .dialog-header {
11
- margin-bottom: 24px;
11
+ margin-bottom: $base-spacing * 3;
12
12
  }
13
13
 
14
14
  .dialog-content {
@@ -19,7 +19,7 @@
19
19
  .dialog-footer {
20
20
  display: flex;
21
21
  justify-content: space-between;
22
- margin-top: 24px;
22
+ margin-top: $base-spacing * 3;
23
23
  }
24
24
  }
25
25
  }
@@ -22,8 +22,8 @@
22
22
 
23
23
  .kms-accordion__header {
24
24
  height: auto;
25
- padding-top: $base-spacing-hoz;
26
- padding-bottom: $base-spacing-hoz;
25
+ padding-top: $base-spacing * 3;
26
+ padding-bottom: $base-spacing * 3;
27
27
  }
28
28
 
29
29
  &__title {
@@ -3,10 +3,10 @@
3
3
  display: flex;
4
4
  flex-direction: row;
5
5
  align-items: center;
6
- gap: 16px;
6
+ gap: $base-spacing * 2;
7
7
  width: fit-content;
8
8
  background-color: var(--kms-tertiary-800);
9
- padding: 4px 8px;
9
+ padding: $base-spacing * 0.5 $base-spacing;
10
10
  border-radius: 24px;
11
11
 
12
12
  strong {
@@ -12,7 +12,7 @@
12
12
  &__strength-item {
13
13
  display: flex;
14
14
  align-items: center;
15
- gap: 8px;
15
+ gap: $base-spacing;
16
16
  }
17
17
  }
18
18
  }
@@ -1,7 +1,7 @@
1
1
  @mixin radiogroup-theme() {
2
2
  .radiogroup {
3
3
  kms-tooltip-icon.margin-left {
4
- margin: 8px !important;
4
+ margin: $base-spacing !important;
5
5
  }
6
6
  .radiobutton-container {
7
7
  display: flex;
@@ -5,11 +5,11 @@
5
5
  }
6
6
 
7
7
  &__prefix {
8
- margin-left: $base-spacing;
8
+ margin-left: $base-spacing * 2;
9
9
  }
10
10
 
11
11
  &__suffix {
12
- margin-right: $base-spacing;
12
+ margin-right: $base-spacing * 2;
13
13
  }
14
14
  }
15
15
  }
@@ -1,7 +1,7 @@
1
1
  @mixin time-input-theme() {
2
2
  .kms-time-input {
3
3
  &__suffix {
4
- margin-right: 16px;
4
+ margin-right: $base-spacing * 2;
5
5
  }
6
6
  }
7
7
  }
@@ -2,7 +2,7 @@
2
2
  .mat-mdc-radio-group {
3
3
  display: flex;
4
4
  .mat-mdc-radio-button {
5
- padding-right: 16px;
5
+ padding-right: $base-spacing * 2;
6
6
  color: var(--kms-primary-100);
7
7
 
8
8
  &.disabled {
@@ -11,7 +11,7 @@
11
11
  }
12
12
  .mat-radio-button-vertical {
13
13
  display: flex;
14
- padding-bottom: 16px;
14
+ padding-bottom: $base-spacing * 2;
15
15
  }
16
16
  }
17
17
  }
@@ -1,3 +1,5 @@
1
+ @import '../../../../../../styles/default-values';
2
+
1
3
  :host {
2
4
  display: block;
3
5
  }
@@ -5,5 +7,5 @@
5
7
  .kms-form-actions {
6
8
  display: flex;
7
9
  justify-content: flex-end;
8
- padding: 8px 0;
10
+ padding: $base-spacing 0;
9
11
  }
@@ -1,3 +1,5 @@
1
+ @import '../../../../../../styles/default-values';
2
+
1
3
  :host {
2
4
  display: block;
3
5
  }
@@ -10,8 +12,8 @@
10
12
  &__label-row {
11
13
  display: flex;
12
14
  align-items: center;
13
- gap: 4px;
14
- margin-bottom: 4px;
15
+ gap: $base-spacing * 0.5;
16
+ margin-bottom: $base-spacing * 0.5;
15
17
  }
16
18
 
17
19
  &__group-label {
@@ -23,7 +25,7 @@
23
25
  &__row {
24
26
  display: flex;
25
27
  align-items: flex-start;
26
- gap: 4px;
28
+ gap: $base-spacing * 0.5;
27
29
  }
28
30
 
29
31
  &__control {
@@ -34,12 +36,12 @@
34
36
  &__tooltip {
35
37
  flex-shrink: 0;
36
38
  cursor: help;
37
- padding-top: 16px;
39
+ padding-top: $base-spacing * 2;
38
40
  }
39
41
 
40
42
  &__errors {
41
- padding: 0 16px;
42
- margin-top: 4px;
43
+ padding: 0 $base-spacing * 2;
44
+ margin-top: $base-spacing * 0.5;
43
45
  }
44
46
 
45
47
  &__error {
@@ -67,7 +69,7 @@
67
69
  kms-numeric-input {
68
70
  display: flex;
69
71
  align-items: center;
70
- gap: 12px;
72
+ gap: $base-spacing * 1.5;
71
73
  }
72
74
 
73
75
  // Disabled styling via CSS custom property
@@ -1,3 +1,5 @@
1
+ @import '../../../../../../styles/default-values';
2
+
1
3
  :host {
2
4
  display: block;
3
5
  }
@@ -11,10 +13,10 @@
11
13
  &__legend {
12
14
  display: flex;
13
15
  align-items: center;
14
- gap: 4px;
16
+ gap: $base-spacing * 0.5;
15
17
  font-size: 16px;
16
18
  font-weight: 500;
17
- padding: 0 0 8px;
19
+ padding: 0 0 $base-spacing;
18
20
  width: 100%;
19
21
  }
20
22
 
@@ -0,0 +1,4 @@
1
+ :root {
2
+ --kms-border-radius: 8px;
3
+ --kms-shadow: 0px 3px 4px 0px var(--kms-tertiary-500);
4
+ }
@@ -8,10 +8,5 @@ $responsive-breakpoint-xxxl: 1920px !default;
8
8
  $responsive-breakpoint: $responsive-breakpoint-s !default;
9
9
 
10
10
  // spacing
11
- $base-spacing: 16px !default;
12
- $base-spacing-vert: 16px !default;
13
- $base-spacing-hoz: 24px !default;
14
- $base-spacing-vert-half: 8px !default;
15
- $base-spacing-hoz-half: 12px !default;
16
- $base-spacing-vert-double: 32px !default;
17
- $base-spacing-hoz-double: 48px !default;
11
+ // Single base unit — derive other spacing values by multiplying (e.g. $base-spacing * 2, * 3).
12
+ $base-spacing: 8px !default;
@@ -6,6 +6,7 @@
6
6
 
7
7
  // Variables
8
8
  @import '_colors.scss';
9
+ @import '_tokens.scss';
9
10
 
10
11
  // Components
11
12
 
@@ -6,7 +6,7 @@
6
6
  top: 0;
7
7
  left: 0;
8
8
  border-radius: 10px;
9
- padding: 16px;
9
+ padding: $base-spacing * 2;
10
10
  background-color: var(--kms-white);
11
11
  box-shadow: 0px 6px 4px var(--kms-tertiary-500);
12
12
  max-width: 200px;