@design-factory/angular 21.1.0-next.1 → 21.1.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.
@@ -26,7 +26,14 @@ declare abstract class DfSidenavLinkBaseComponent {
26
26
  */
27
27
  readonly wrapperHasIconContent: _angular_core.InputSignal<boolean>;
28
28
  /**
29
- * Indicates if the link is currently active based on the Router state
29
+ * Explicitly sets the active state of the link. When provided, the link behaves
30
+ * as an external link (plain `<a href>`) and the Angular Router is not used.
31
+ * When `undefined` (default), the active state is determined by the Angular Router.
32
+ */
33
+ readonly active: _angular_core.InputSignal<boolean | undefined>;
34
+ /**
35
+ * Reflects the current active state of the link.
36
+ * Driven by the `active` input when provided, otherwise updated by the router via `(isActiveChange)`.
30
37
  */
31
38
  readonly isActiveLink: _angular_core.WritableSignal<boolean>;
32
39
  /**
@@ -45,7 +52,7 @@ declare abstract class DfSidenavLinkBaseComponent {
45
52
  protected readonly isVisible: _angular_core.Signal<boolean>;
46
53
  protected toggleSidenavOnSmallScreen(): boolean;
47
54
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfSidenavLinkBaseComponent, never>;
48
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DfSidenavLinkBaseComponent, never, never, { "linkPath": { "alias": "linkPath"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "wrapperHasIconContent": { "alias": "wrapperHasIconContent"; "required": false; "isSignal": true; }; "routerLinkActiveOptions": { "alias": "routerLinkActiveOptions"; "required": false; "isSignal": true; }; }, {}, ["iconContent"], never, true, never>;
55
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DfSidenavLinkBaseComponent, never, never, { "linkPath": { "alias": "linkPath"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "wrapperHasIconContent": { "alias": "wrapperHasIconContent"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "routerLinkActiveOptions": { "alias": "routerLinkActiveOptions"; "required": false; "isSignal": true; }; }, {}, ["iconContent"], never, true, never>;
49
56
  }
50
57
 
51
58
  /**
@@ -187,6 +194,12 @@ declare class DfSidenavLinkComponent {
187
194
  readonly routerLinkActiveOptions: _angular_core.InputSignal<IsActiveMatchOptions | {
188
195
  exact: boolean;
189
196
  }>;
197
+ /**
198
+ * Explicitly sets the active state of the link. When provided, the link renders as
199
+ * a plain `<a href>` (no Angular Router). When `undefined` (default), the Angular Router determines
200
+ * the active state.
201
+ */
202
+ readonly active: _angular_core.InputSignal<boolean | undefined>;
190
203
  /**
191
204
  * The parent wrapper item component (if any)
192
205
  */
@@ -203,7 +216,7 @@ declare class DfSidenavLinkComponent {
203
216
  protected readonly wrapperHasIconContent: _angular_core.Signal<boolean>;
204
217
  protected readonly sidenav: DfSidenavComponent;
205
218
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfSidenavLinkComponent, never>;
206
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfSidenavLinkComponent, "df-sidenav-link", never, { "linkPath": { "alias": "linkPath"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "routerLinkActiveOptions": { "alias": "routerLinkActiveOptions"; "required": false; "isSignal": true; }; }, {}, ["iconContentQuery"], ["[dfSidenavIcon]", "*"], true, never>;
219
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfSidenavLinkComponent, "df-sidenav-link", never, { "linkPath": { "alias": "linkPath"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "routerLinkActiveOptions": { "alias": "routerLinkActiveOptions"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; }, {}, ["iconContentQuery"], ["[dfSidenavIcon]", "*"], true, never>;
207
220
  }
208
221
 
209
222
  /**
@@ -20,6 +20,7 @@ type SideNavItem = {
20
20
  type SideNavLink = {
21
21
  label: Signal<string>;
22
22
  href: Signal<string>;
23
+ external: Signal<boolean>;
23
24
  routerLinkActiveOptions: Signal<IsActiveMatchOptions | {
24
25
  exact: boolean;
25
26
  }>;
@@ -172,9 +173,15 @@ declare class DfTopNavNavigationLink extends DfTopNavNavigationElement {
172
173
  */
173
174
  readonly label: _angular_core.InputSignal<string>;
174
175
  /**
175
- * The href of the navigation link, which will be used as the link target. It can be either an internal route or an external URL.
176
+ * The external href of the navigation link, which will be used as the link target. Use {@link routerLink} for internal links.
176
177
  */
177
- readonly href: _angular_core.InputSignal<string>;
178
+ readonly href: _angular_core.InputSignal<string | undefined>;
179
+ /**
180
+ * The internal router link of the navigation link, which will be used as the link target. Use {@link href} for external links.
181
+ */
182
+ readonly routerLink: _angular_core.InputSignal<string | undefined>;
183
+ protected readonly resolvedLink: _angular_core.Signal<string>;
184
+ protected readonly externalLink: _angular_core.Signal<boolean>;
178
185
  /**
179
186
  * The options to determine when the link is active based on the Router state. It can be either an object of type IsActiveMatchOptions or an object with an "exact" boolean property. When not provided, it defaults to { exact: false }.
180
187
  */
@@ -187,7 +194,7 @@ declare class DfTopNavNavigationLink extends DfTopNavNavigationElement {
187
194
  */
188
195
  readonly active: _angular_core.Signal<boolean>;
189
196
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfTopNavNavigationLink, never>;
190
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfTopNavNavigationLink, "df-topnav-navigation-link", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "href": { "alias": "href"; "required": true; "isSignal": true; }; "routerLinkActiveOptions": { "alias": "routerLinkActiveOptions"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
197
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfTopNavNavigationLink, "df-topnav-navigation-link", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "routerLink": { "alias": "routerLink"; "required": false; "isSignal": true; }; "routerLinkActiveOptions": { "alias": "routerLinkActiveOptions"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
191
198
  }
192
199
 
193
200
  /**
@@ -202,9 +209,9 @@ declare class DfTopNavNavigationItem extends DfTopNavNavigationElement {
202
209
  */
203
210
  readonly label: _angular_core.InputSignal<string>;
204
211
  /**
205
- * The href of the navigation item, which will be used as the link target. It can be either an internal route or an external URL.
212
+ * The routerLink of the navigation item, which will be used as the link target. It should be an internal route.
206
213
  */
207
- readonly href: _angular_core.InputSignal<string>;
214
+ readonly routerLink: _angular_core.InputSignal<string>;
208
215
  protected readonly childElements: _angular_core.Signal<readonly DfTopNavNavigationElement[]>;
209
216
  protected readonly deepChildLinks: _angular_core.Signal<readonly DfTopNavNavigationLink[]>;
210
217
  protected readonly rootChildLinks: _angular_core.Signal<DfTopNavNavigationLink[]>;
@@ -216,7 +223,7 @@ declare class DfTopNavNavigationItem extends DfTopNavNavigationElement {
216
223
  */
217
224
  readonly active: _angular_core.Signal<boolean>;
218
225
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfTopNavNavigationItem, never>;
219
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfTopNavNavigationItem, "df-topnav-navigation-item", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "href": { "alias": "href"; "required": true; "isSignal": true; }; }, {}, ["childElements", "deepChildLinks"], never, true, never>;
226
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfTopNavNavigationItem, "df-topnav-navigation-item", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "routerLink": { "alias": "routerLink"; "required": true; "isSignal": true; }; }, {}, ["childElements", "deepChildLinks"], never, true, never>;
220
227
  }
221
228
 
222
229
  /**