ngx-dynamic-entity 1.4.0 → 1.5.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-dynamic-entity",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
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": "^1.4.0",
11
+ "@dynamic-entity/core": "^1.5.0",
12
12
  "rxjs": "^7.0.0"
13
13
  },
14
14
  "keywords": [
@@ -798,8 +798,20 @@ declare class DynamicFormComponent implements OnInit, OnChanges, OnDestroy {
798
798
  ngOnInit(): void;
799
799
  ngOnChanges(changes: SimpleChanges): void;
800
800
  ngOnDestroy(): void;
801
- setActiveTab(tabId: string): void;
802
- setActiveSubTab(subTabId: string): void;
801
+ /**
802
+ * `focusPanel: false` is for a caller that is about to focus something more specific.
803
+ *
804
+ * Activating a tab moves focus into its panel, which is right for a keyboard user pressing
805
+ * a tab. A quick-jump also switches tabs, but then focuses the field it was aiming at — and
806
+ * the panel focus runs on `requestAnimationFrame`, after `afterNextRender`, so it landed
807
+ * second and took the focus back every time. Saying so is better than out-timing it.
808
+ */
809
+ setActiveTab(tabId: string, options?: {
810
+ focusPanel?: boolean;
811
+ }): void;
812
+ setActiveSubTab(subTabId: string, options?: {
813
+ focusPanel?: boolean;
814
+ }): void;
803
815
  getFieldSpan(field: NestedFieldConfig): string;
804
816
  /** A critical field stays read-only until the user deliberately unlocks it. */
805
817
  isFieldLocked(field: NestedFieldConfig): boolean;
@@ -866,9 +878,8 @@ declare class DynamicFormComponent implements OnInit, OnChanges, OnDestroy {
866
878
  * `flattenFormValues` keys by bare id, so one of the two silently wins and the rule reads
867
879
  * whichever landed there.
868
880
  *
869
- * `validateConfig` catches this for `showWhen` and cascade parents, which live in the
870
- * config. Rules do not: they arrive as a separate `@Input`, so the config alone cannot be
871
- * checked for them and this is the only place both are in hand.
881
+ * `validateConfig({ rules })` catches this statically. The check here remains because
882
+ * consumers that never call the validator still get a signal in development.
872
883
  */
873
884
  private warnAmbiguousRuleReferences;
874
885
  private static readonly warnedAmbiguousIds;