ngx-dynamic-entity 2.0.0 → 2.0.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-dynamic-entity",
3
- "version": "2.0.0",
3
+ "version": "2.0.2",
4
4
  "description": "Angular standalone UI library for rendering dynamic entity forms.",
5
5
  "//typings": "Local workspace resolution only: ng-packagr 21 writes types/ngx-dynamic-entity.d.ts into dist/package.json. Do NOT add a 'main' field here — ng-packagr does not generate one, so it would be copied verbatim and resolve wrongly in the published package.",
6
6
  "typings": "types/ngx-dynamic-entity.d.ts",
@@ -8,7 +8,7 @@
8
8
  "@angular/common": "^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0 || ^22.0.0",
9
9
  "@angular/core": "^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0 || ^22.0.0",
10
10
  "@angular/forms": "^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0 || ^22.0.0",
11
- "@dynamic-entity/core": "^2.0.0",
11
+ "@dynamic-entity/core": "^2.0.2",
12
12
  "rxjs": "^7.0.0"
13
13
  },
14
14
  "keywords": [
package/styles.css CHANGED
@@ -224,6 +224,7 @@
224
224
  flex-direction: column;
225
225
  gap: var(--ngx-field-gap);
226
226
  min-width: 0;
227
+ width: 100%;
227
228
  }
228
229
 
229
230
  .ngx-field__label {
@@ -1057,18 +1058,7 @@ textarea.ngx-field__input:focus {
1057
1058
  }
1058
1059
 
1059
1060
  /*
1060
- * A read-only record is a table of values, not a form.
1061
- *
1062
- * With every field at `span 12` the record view spent a full screen on six values — and no
1063
- * control is being sized here, so the width a text input needs is not the width a value
1064
- * needs. `auto-fit` packs them, and a long note still takes its own row when the content
1065
- * demands one.
1066
- */
1067
- /*
1068
- * Nothing is being asked of the reader, so nothing is required of them.
1069
- *
1070
- * The matching `.ngx-form--readonly` *grid* rule lives in the component's own styles, next to
1071
- * the grid it overrides — see the Layout note above.
1061
+ * In read-only mode, required markers are suppressed since no user input is expected.
1072
1062
  */
1073
1063
  .ngx-form--readonly .ngx-field__req {
1074
1064
  display: none;
@@ -3061,7 +3061,7 @@ declare class DropdownFieldComponent {
3061
3061
  }
3062
3062
 
3063
3063
  /** Radio field: a group of radio buttons built from field.options. */
3064
- declare class RadioFieldComponent {
3064
+ declare class RadioFieldComponent implements OnDestroy {
3065
3065
  /**
3066
3066
  * Unique to this component instance: an `array` renders the same field once per row, and a
3067
3067
  * DOM id may not repeat. See `field-dom-id.ts`.
@@ -3072,18 +3072,24 @@ declare class RadioFieldComponent {
3072
3072
  protected readonly maskedText: string;
3073
3073
  private readonly messages;
3074
3074
  private readonly lookups;
3075
+ private readonly cdr;
3075
3076
  private _field;
3076
3077
  private _language;
3078
+ private _control;
3079
+ private _controlSub?;
3080
+ ngOnDestroy(): void;
3077
3081
  /** Setter-based so options resolve however the input is set — see `refreshChoiceOptions`. */
3078
3082
  set field(value: NestedFieldConfig);
3079
3083
  get field(): NestedFieldConfig;
3080
3084
  set language(value: string);
3081
3085
  get language(): string;
3082
- control: AbstractControl;
3086
+ set control(value: AbstractControl);
3087
+ get control(): AbstractControl;
3083
3088
  readonly: boolean;
3084
3089
  masked: boolean;
3085
3090
  /** Inline `options`, or the field's named list resolved through the registry (§6.3). */
3086
3091
  readonly options: i0.WritableSignal<DropdownOption[]>;
3092
+ onSelect(option: DropdownOption): void;
3087
3093
  get label(): string;
3088
3094
  /**
3089
3095
  * The value this option stores — the option object itself.
@@ -3111,6 +3117,8 @@ declare class RadioFieldComponent {
3111
3117
  optionSlug(option: DropdownOption): string;
3112
3118
  getOptVal(option: DropdownOption): string | number | boolean;
3113
3119
  getOptLabel(option: DropdownOption): string;
3120
+ /** Whether the given option matches the control's current value. */
3121
+ isChecked(option: DropdownOption): boolean;
3114
3122
  /** Read-only display — synchronous, per §6.2. See `DropdownFieldComponent.getLabel`. */
3115
3123
  getSelectedLabel(): string;
3116
3124
  /**