ngx-strata 0.2.4 → 0.3.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-strata",
3
- "version": "0.2.4",
3
+ "version": "0.3.0",
4
4
  "description": "A simple UI framework for quickly prototyping angular applications with a bit of flair.",
5
5
  "license": "MIT",
6
6
  "peerDependencies": {
@@ -28,6 +28,10 @@
28
28
  ".": {
29
29
  "types": "./types/ngx-strata.d.ts",
30
30
  "default": "./fesm2022/ngx-strata.mjs"
31
+ },
32
+ "./src/lib/testing": {
33
+ "types": "./types/ngx-strata-src-lib-testing.d.ts",
34
+ "default": "./fesm2022/ngx-strata-src-lib-testing.mjs"
31
35
  }
32
36
  },
33
37
  "module": "fesm2022/ngx-strata.mjs",
@@ -115,6 +115,7 @@ for each component are stored in separate files.
115
115
  [`components/spinner.md`](components/spinner.md)
116
116
  - **Tabs** (`st-tab-item`): Read [`components/tabs.md`](components/tabs.md)
117
117
  - **Tag** (`st-tag`): Read [`components/tag.md`](components/tag.md)
118
+ - **Testing** (`ngx-strata/testing`): Read [`components/testing.md`](components/testing.md)
118
119
  - **Text-stack** (`st-text-stack`): Read
119
120
  [`components/text-stack.md`](components/text-stack.md)
120
121
  - **Theming** (`[stTheme]`): Read
@@ -7,6 +7,7 @@ This file contains the AI documentation for the `action-menu` feature and its re
7
7
  - **Imports**: `StrataActionMenuComponent`
8
8
  - **Inputs**:
9
9
  - `[placement] (Placement)`
10
+ - `[closeOnOutsideClick] (boolean)`
10
11
 
11
12
  ## ActionMenuItem (`<st-action-menu-item>`)
12
13
  - **Selector**: `st-action-menu-item`
@@ -22,15 +23,25 @@ This file contains the AI documentation for the `action-menu` feature and its re
22
23
  ```html
23
24
  <!-- Default Icon Trigger -->
24
25
  <st-action-menu>
25
- <st-action-menu-item label="Edit" iconName="edit" (menuItemClicked)="edit()"></st-action-menu-item>
26
- <st-action-menu-item label="Delete" iconName="trash" (menuItemClicked)="delete()"></st-action-menu-item>
26
+ <st-action-menu-item (menuItemClicked)="edit()">
27
+ <st-icon name="edit" area="start"></st-icon>
28
+ Edit
29
+ </st-action-menu-item>
30
+ <st-action-menu-item (menuItemClicked)="delete()">
31
+ <st-icon name="trash" area="start"></st-icon>
32
+ Delete
33
+ </st-action-menu-item>
27
34
  </st-action-menu>
28
35
 
29
36
  <!-- Custom Button Trigger -->
30
37
  <st-action-menu>
31
38
  <button stButton variant="primary" trigger>Options</button>
32
- <st-action-menu-item label="Export" iconName="download" (menuItemClicked)="export()"></st-action-menu-item>
39
+ <st-action-menu-item (menuItemClicked)="export()">
40
+ <st-icon name="download" area="start"></st-icon>
41
+ Export
42
+ </st-action-menu-item>
33
43
  </st-action-menu>
34
44
  ```
35
45
 
46
+
36
47
  > **Note to AI Agents**: Prioritize using these components over raw HTML equivalents. Use modern Angular Signals (input(), input.required(), and output()) for all data/event bindings. Do not use legacy @Input() or @Output() decorators.
@@ -6,6 +6,7 @@ This file contains the AI documentation for the `checkbox` feature and its relat
6
6
  - **Selector**: `st-checkbox`
7
7
  - **Imports**: `StrataCheckboxComponent`
8
8
  - **Inputs**:
9
+ - `[(value)] (boolean | undefined)`
9
10
  - `[label] (string | undefined)`
10
11
  - `[name] (string | undefined)`
11
12
 
@@ -15,8 +16,9 @@ This file contains the AI documentation for the `checkbox` feature and its relat
15
16
  <st-checkbox
16
17
  label="I agree to the terms and conditions"
17
18
  name="terms"
18
- [(ngModel)]="acceptedTerms">
19
+ [(value)]="acceptedTerms">
19
20
  </st-checkbox>
20
21
  ```
21
22
 
23
+
22
24
  > **Note to AI Agents**: Prioritize using these components over raw HTML equivalents. Use modern Angular Signals (input(), input.required(), and output()) for all data/event bindings. Do not use legacy @Input() or @Output() decorators.
@@ -19,13 +19,14 @@ This file contains the AI documentation for the `item` feature and its related c
19
19
 
20
20
  ```html
21
21
  <st-item>
22
- <st-icon name="user" slot="start"></st-icon>
23
- <div slot="content">
22
+ <st-icon name="user" area="start"></st-icon>
23
+ <div>
24
24
  <h4>User Profile</h4>
25
25
  <p>Manage your account settings</p>
26
26
  </div>
27
- <st-icon name="chevron_right" slot="end"></st-icon>
27
+ <st-icon name="chevron_right" area="end"></st-icon>
28
28
  </st-item>
29
29
  ```
30
30
 
31
+
31
32
  > **Note to AI Agents**: Prioritize using these components over raw HTML equivalents. Use modern Angular Signals (input(), input.required(), and output()) for all data/event bindings. Do not use legacy @Input() or @Output() decorators.
@@ -1,41 +1,62 @@
1
1
  # ngx-strata: sidemenu Feature
2
2
 
3
- This file contains the AI documentation for the `sidemenu` feature and its related components.
3
+ This file contains the AI documentation for the `sidemenu` feature and its
4
+ related components.
4
5
 
5
6
  ## SidemenuItem (`[stSidemenuItem]`)
7
+
6
8
  - **Selector**: `[stSidemenuItem]`
7
9
  - **Imports**: `StrataSidemenuItemDirective`
8
10
  - **Inputs**:
9
11
  - `[active] (boolean)`
12
+ - `[secondaryActionIcon] (string)`
13
+ - **Outputs**:
14
+ - `(secondaryAction) (MouseEvent)`
10
15
 
11
16
  ## Sidemenu (`<st-sidemenu>`)
17
+
12
18
  - **Selector**: `st-sidemenu`
13
19
  - **Imports**: `StrataSidemenuComponent`
14
20
 
15
21
  ## SidemenuItemGroup (`<st-sidemenu-item-group>`)
22
+
16
23
  - **Selector**: `st-sidemenu-item-group`
17
24
  - **Imports**: `StrataSidemenuItemGroupComponent`
18
25
  - **Inputs**:
19
- - `[label] (string)`
26
+ - `[label] (string, required)`
27
+ - `[routerLink] (string | any[])`
28
+ - `[href] (string)`
29
+ - `[active] (boolean)`
20
30
 
21
31
  ## SidemenuSection (`<st-sidemenu-section>`)
32
+
22
33
  - **Selector**: `st-sidemenu-section`
23
34
  - **Imports**: `StrataSidemenuSectionComponent`
24
35
  - **Inputs**:
25
36
  - `[label] (string)`
26
37
 
27
- > **Note to AI Agents**: Prioritize using these components over raw HTML equivalents. Use modern Angular Signals (input(), input.required(), and output()) for all data/event bindings. Do not use legacy @Input() or @Output() decorators.
28
38
  ## Usage Example
29
39
 
30
40
  ```html
31
41
  <st-sidemenu>
32
42
  <st-sidemenu-section label="Main Menu">
43
+ <!-- Standard group toggle -->
33
44
  <st-sidemenu-item-group label="Dashboard">
34
- <st-item>Overview</st-item>
35
- <st-item>Analytics</st-item>
45
+ <a stSidemenuItem href="/overview">Overview</a>
46
+ <a stSidemenuItem href="/analytics">Analytics</a>
47
+ </st-sidemenu-item-group>
48
+
49
+ <!-- Navigable group header (click header navigates, chevron toggles sub-items) -->
50
+ <st-sidemenu-item-group label="Projects" routerLink="/projects">
51
+ <a stSidemenuItem routerLink="/projects/alpha">Alpha</a>
52
+ <a stSidemenuItem routerLink="/projects/beta">Beta</a>
36
53
  </st-sidemenu-item-group>
37
54
  </st-sidemenu-section>
38
55
  </st-sidemenu>
39
56
  ```
40
57
 
41
- > **Note to AI Agents**: Prioritize using these components over raw HTML equivalents. Use modern Angular Signals (input(), input.required(), and output()) for all data/event bindings. Do not use legacy @Input() or @Output() decorators.
58
+ > **Note to AI Agents**: Prioritize using these components over raw HTML
59
+ > equivalents. Use modern Angular Signals (input(), input.required(), and
60
+ > output()) for all data/event bindings. Do not use legacy @Input() or @Output()
61
+ > decorators.
62
+
@@ -0,0 +1,33 @@
1
+ # ngx-strata: Testing Utilities (`ngx-strata/testing`)
2
+
3
+ This file contains the documentation for testing helpers provided under `ngx-strata/testing`.
4
+
5
+ ## Overview
6
+
7
+ When writing unit tests for Angular components or services that use `ngx-strata` (specifically icons), use `ngx-strata/testing` providers to avoid HTTP requests and mock icon registry/loader dependencies.
8
+
9
+ ## Key Exports
10
+
11
+ - **`provideTestIconLoader()`**: Angular testing provider returning a synchronous stub SVG loader (`TestIconLoader`).
12
+ - **`provideTestIconRegistry()`**: Angular testing provider returning a test icon registry (`TestIconRegistry`).
13
+ - **`TestIconLoader`**: Class implementation of `IconLoader`.
14
+ - **`TestIconRegistry`**: Class implementation of `IconRegistry`.
15
+
16
+ ## Usage Example
17
+
18
+ ```typescript
19
+ import { TestBed } from '@angular/core/testing';
20
+ import { provideTestIconLoader, provideTestIconRegistry } from 'ngx-strata/testing';
21
+
22
+ describe('MyComponent', () => {
23
+ beforeEach(async () => {
24
+ await TestBed.configureTestingModule({
25
+ imports: [MyComponent],
26
+ providers: [
27
+ provideTestIconLoader(),
28
+ provideTestIconRegistry(),
29
+ ]
30
+ }).compileComponents();
31
+ });
32
+ });
33
+ ```
@@ -6,8 +6,10 @@ This file contains the AI documentation for the `toggle` feature and its related
6
6
  - **Selector**: `st-toggle`
7
7
  - **Imports**: `StrataToggleComponent`
8
8
  - **Inputs**:
9
+ - `[(checked)] (boolean)`
9
10
  - `[label] (string | undefined)`
10
11
  - `[labelPosition] ('before' | 'after')`
12
+ - `[disabled] (boolean)`
11
13
 
12
14
  ## Usage Example
13
15
 
@@ -15,8 +17,9 @@ This file contains the AI documentation for the `toggle` feature and its related
15
17
  <st-toggle
16
18
  label="Enable Notifications"
17
19
  labelPosition="after"
18
- [(ngModel)]="notificationsEnabled">
20
+ [(checked)]="notificationsEnabled">
19
21
  </st-toggle>
20
22
  ```
21
23
 
24
+
22
25
  > **Note to AI Agents**: Prioritize using these components over raw HTML equivalents. Use modern Angular Signals (input(), input.required(), and output()) for all data/event bindings. Do not use legacy @Input() or @Output() decorators.
@@ -0,0 +1,21 @@
1
+ import { SafeHtml } from '@angular/platform-browser';
2
+ import { Observable } from 'rxjs';
3
+ import { IconLoader, IconRegistry } from 'ngx-strata';
4
+
5
+ declare class TestIconLoader implements IconLoader {
6
+ loadSvg(_url: string): Observable<SafeHtml>;
7
+ }
8
+ declare function provideTestIconLoader(): {
9
+ provide: typeof IconLoader;
10
+ useClass: typeof TestIconLoader;
11
+ };
12
+
13
+ declare class TestIconRegistry implements IconRegistry {
14
+ getIcon(name: string): Observable<SafeHtml>;
15
+ }
16
+ declare function provideTestIconRegistry(): {
17
+ provide: typeof IconRegistry;
18
+ useClass: typeof TestIconRegistry;
19
+ };
20
+
21
+ export { TestIconLoader, TestIconRegistry, provideTestIconLoader, provideTestIconRegistry };
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { OnInit, OnDestroy, AfterContentInit, EnvironmentProviders, InjectionToken, Provider, ElementRef, Renderer2, AfterViewInit, TemplateRef, OnChanges, SimpleChanges, PipeTransform, QueryList, Type, ViewContainerRef } from '@angular/core';
2
+ import { OnInit, OnDestroy, AfterContentInit, EnvironmentProviders, InjectionToken, Provider, ElementRef, Renderer2, AfterViewInit, TemplateRef, OnChanges, SimpleChanges, PipeTransform, QueryList, OutputEmitterRef, Type, ViewContainerRef } from '@angular/core';
3
3
  import { Placement } from '@floating-ui/dom';
4
4
  import * as _angular_platform_browser from '@angular/platform-browser';
5
5
  import { SafeHtml, DomSanitizer } from '@angular/platform-browser';
@@ -10,6 +10,7 @@ import * as ngx_strata from 'ngx-strata';
10
10
 
11
11
  declare class StrataActivatableDirective {
12
12
  private _elementRef;
13
+ private _config;
13
14
  disabled: _angular_core.InputSignal<boolean>;
14
15
  interactable: _angular_core.ModelSignal<boolean>;
15
16
  activated: _angular_core.OutputEmitterRef<Event>;
@@ -123,6 +124,8 @@ interface StrataConfig {
123
124
  alt?: string;
124
125
  };
125
126
  overlayViewportBuffer?: number;
127
+ /** Keys (event.key or event.code) that trigger activation on activatable elements */
128
+ activationKeys?: string[];
126
129
  }
127
130
  declare const STRATA_CONFIG: InjectionToken<StrataConfig>;
128
131
 
@@ -144,11 +147,13 @@ declare class StrataActionMenuComponent {
144
147
  defaultButton: _angular_core.Signal<ElementRef<any> | undefined>;
145
148
  actionMenuItems: _angular_core.Signal<readonly StrataActionMenuItemComponent[]>;
146
149
  placement: _angular_core.InputSignal<Placement>;
150
+ closeOnOutsideClick: _angular_core.InputSignal<boolean>;
151
+ elementRef: ElementRef<HTMLElement>;
147
152
  renderer: Renderer2;
148
153
  menuOpen: _angular_core.WritableSignal<boolean>;
149
154
  constructor();
150
155
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrataActionMenuComponent, never>;
151
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrataActionMenuComponent, "st-action-menu", never, { "placement": { "alias": "placement"; "required": false; "isSignal": true; }; }, {}, ["projectedButton", "actionMenuItems"], ["button[stButton]", "st-action-menu-item"], true, never>;
156
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrataActionMenuComponent, "st-action-menu", never, { "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "closeOnOutsideClick": { "alias": "closeOnOutsideClick"; "required": false; "isSignal": true; }; }, {}, ["projectedButton", "actionMenuItems"], ["button[stButton]", "st-action-menu-item"], true, never>;
152
157
  }
153
158
 
154
159
  declare class StrataAlertComponent {
@@ -219,33 +224,23 @@ declare class StrataAvatarComponent implements AfterViewInit {
219
224
  }
220
225
  type AvatarSize = 'xs' | 'sm' | 'md' | 'lg';
221
226
 
222
- declare class StrataAvatarStackComponent implements AfterViewInit {
223
- avatarRefs: _angular_core.Signal<readonly ElementRef<any>[]>;
227
+ declare class StrataAvatarStackComponent {
224
228
  size: _angular_core.InputSignal<AvatarSize>;
225
229
  spacing: _angular_core.InputSignal<"loose" | "mid" | "tight">;
226
230
  firstOnFront: _angular_core.InputSignal<boolean>;
227
- get xsClass(): boolean;
228
- get smClass(): boolean;
229
- get mdClass(): boolean;
230
- get lgClass(): boolean;
231
- get firstOnFrontClass(): boolean;
232
- get looseClass(): boolean;
233
- get midClass(): boolean;
234
- get tightClass(): boolean;
235
- ngAfterViewInit(): void;
236
231
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrataAvatarStackComponent, never>;
237
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrataAvatarStackComponent, "st-avatar-stack", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "spacing": { "alias": "spacing"; "required": false; "isSignal": true; }; "firstOnFront": { "alias": "firstOnFront"; "required": false; "isSignal": true; }; }, {}, ["avatarRefs"], ["*"], true, never>;
232
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrataAvatarStackComponent, "st-avatar-stack", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "spacing": { "alias": "spacing"; "required": false; "isSignal": true; }; "firstOnFront": { "alias": "firstOnFront"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
238
233
  }
234
+ type AvatarStackSpacing = 'loose' | 'mid' | 'tight';
239
235
 
240
236
  declare class StrataButtonGroupComponent {
241
- renderer: Renderer2;
242
237
  justification: _angular_core.InputSignal<ButtonGroupJustification>;
243
238
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrataButtonGroupComponent, never>;
244
239
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrataButtonGroupComponent, "st-button-group", never, { "justification": { "alias": "justification"; "required": false; "isSignal": true; }; }, {}, never, ["[stButton], st-divider"], true, never>;
245
240
  }
246
241
  type ButtonGroupJustification = 'start' | 'center' | 'end' | 'expand' | 'stack';
247
242
 
248
- declare class StrataButtonDirective implements AfterContentInit {
243
+ declare class StrataButtonDirective implements AfterContentInit, OnDestroy {
249
244
  host: ElementRef<any>;
250
245
  variant: _angular_core.InputSignal<ButtonVariant>;
251
246
  size: _angular_core.InputSignal<ButtonSize>;
@@ -253,8 +248,11 @@ declare class StrataButtonDirective implements AfterContentInit {
253
248
  private iconAtStart;
254
249
  private iconAtEnd;
255
250
  private iconOnly;
251
+ private observer?;
256
252
  get classes(): string[];
257
253
  ngAfterContentInit(): void;
254
+ ngOnDestroy(): void;
255
+ private updateIconState;
258
256
  nodeIsStIcon(node: Node): boolean;
259
257
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrataButtonDirective, never>;
260
258
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StrataButtonDirective, "[stButton]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -306,6 +304,7 @@ declare class StrataSingleSelectComponent {
306
304
  open: _angular_core.WritableSignal<boolean>;
307
305
  placeholder: _angular_core.InputSignal<string>;
308
306
  placement: _angular_core.InputSignal<Placement>;
307
+ disabled: _angular_core.InputSignal<boolean>;
309
308
  fullWidth: _angular_core.InputSignal<boolean>;
310
309
  label: _angular_core.InputSignal<string | undefined>;
311
310
  name: _angular_core.InputSignal<string | undefined>;
@@ -326,7 +325,7 @@ declare class StrataSingleSelectComponent {
326
325
  private show;
327
326
  private hide;
328
327
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrataSingleSelectComponent, never>;
329
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrataSingleSelectComponent, "st-single-select", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "searchQuery": { "alias": "searchQuery"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; }, { "selected": "selectedChange"; "searchQuery": "searchQueryChange"; "itemSelected": "itemSelected"; }, ["selectItems", "triggerTemplate"], ["st-select-item"], true, never>;
328
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrataSingleSelectComponent, "st-single-select", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "searchQuery": { "alias": "searchQuery"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; }, { "selected": "selectedChange"; "searchQuery": "searchQueryChange"; "itemSelected": "itemSelected"; }, ["selectItems", "triggerTemplate"], ["st-select-item"], true, never>;
330
329
  }
331
330
 
332
331
  declare class StrataSelectTriggerDirective {
@@ -604,26 +603,40 @@ declare class StrataSidemenuSectionComponent {
604
603
 
605
604
  declare class StrataSidemenuItemGroupComponent implements AfterContentInit {
606
605
  label: _angular_core.InputSignal<string>;
606
+ routerLink: _angular_core.InputSignal<string | unknown[] | undefined>;
607
+ href: _angular_core.InputSignal<string | undefined>;
608
+ active: _angular_core.InputSignal<boolean | undefined>;
607
609
  expanded: _angular_core.WritableSignal<boolean>;
608
610
  hasActiveChild: _angular_core.WritableSignal<boolean>;
609
611
  private router;
610
612
  private destroyRef;
611
613
  routerLinks: QueryList<RouterLinkActive>;
614
+ get isHeaderActive(): boolean;
615
+ get isNavigable(): boolean;
612
616
  ngAfterContentInit(): void;
613
- toggle(): void;
617
+ toggle(event?: MouseEvent): void;
614
618
  private checkActiveState;
615
619
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrataSidemenuItemGroupComponent, never>;
616
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrataSidemenuItemGroupComponent, "st-sidemenu-item-group", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; }, {}, ["routerLinks"], ["*"], true, never>;
620
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrataSidemenuItemGroupComponent, "st-sidemenu-item-group", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "routerLink": { "alias": "routerLink"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; }, {}, ["routerLinks"], ["*"], true, never>;
617
621
  }
618
622
 
619
623
  declare class StrataSidemenuItemDirective {
620
624
  active: _angular_core.InputSignal<boolean>;
625
+ secondaryActionIcon: _angular_core.InputSignal<string | undefined>;
626
+ secondaryAction: OutputEmitterRef<MouseEvent>;
621
627
  private readonly elementRef;
628
+ private readonly renderer;
629
+ private readonly vcr;
630
+ private secondaryButtonEl;
631
+ private iconComponentRef;
632
+ private unlistenClick;
622
633
  constructor();
634
+ private updateSecondaryButton;
635
+ private removeSecondaryButton;
623
636
  readonly isSidemenuItem = true;
624
637
  get isSelected(): boolean;
625
638
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrataSidemenuItemDirective, never>;
626
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StrataSidemenuItemDirective, "[stSidemenuItem]", never, { "active": { "alias": "active"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
639
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StrataSidemenuItemDirective, "[stSidemenuItem]", never, { "active": { "alias": "active"; "required": false; "isSignal": true; }; "secondaryActionIcon": { "alias": "secondaryActionIcon"; "required": false; "isSignal": true; }; }, { "secondaryAction": "secondaryAction"; }, never, never, true, never>;
627
640
  }
628
641
 
629
642
  declare class StrataSliderComponent implements AfterViewInit, OnDestroy {
@@ -873,4 +886,4 @@ declare class StrataMessageStateComponent {
873
886
  }
874
887
 
875
888
  export { CapitalizePipe, DEFAULT_DURATION, DEFAULT_THEME, DarkmodeService, HotkeyService, HttpIconLoader, IconLoader, IconRegistry, IconRegistryService, ModalService, NotificationService, STRATA_CONFIG, StrataAccordionGroupComponent, StrataAccordionItemComponent, StrataActionMenuComponent, StrataActionMenuItemComponent, StrataActivatableDirective, StrataAlertComponent, StrataAlertContentComponent, StrataAutoResizeDirective, StrataAvatarComponent, StrataAvatarStackComponent, StrataBreadcrumbComponent, StrataBreadcrumbItemComponent, StrataButtonDirective, StrataButtonGroupComponent, StrataCardComponent, StrataCheckboxComponent, StrataDividerComponent, StrataIconComponent, StrataInputFieldComponent, StrataItemComponent, StrataItemListComponent, StrataKbdComponent, StrataMessageStateComponent, StrataModalComponent, StrataModalContainerComponent, StrataModalHeaderComponent, StrataModalRef, StrataNativeInputRefDirective, StrataNotificationComponent, StrataNotificationContainerComponent, StrataNumberDisplayComponent, StrataOverlayDirective, StrataPaginationComponent, StrataProgressLinearComponent, StrataProgressRadialComponent, StrataRadioComponent, StrataRadioGroupComponent, StrataSegmentedControlComponent, StrataSegmentedControlItemComponent, StrataSelectItemComponent, StrataSelectTriggerDirective, StrataShellComponent, StrataSidemenuComponent, StrataSidemenuItemDirective, StrataSidemenuItemGroupComponent, StrataSidemenuSectionComponent, StrataSingleSelectComponent, StrataSliderComponent, StrataSpinnerComponent, StrataTabItemComponent, StrataTabsComponent, StrataTagComponent, StrataTextStackComponent, StrataThemeDirective, StrataToggleComponent, StrataTooltipDirective, provideBaseIcons, provideIcons, provideStrata };
876
- export type { AlertConfiguration, AvatarSize, ButtonGroupJustification, ButtonSize, ButtonVariant, CardVariant, CurrentDarkmode, DarkmodeSetting, HotkeyOptions, IconConfig, IconSize, ModalConfiguration, ModalSize, NotificationConfiguration, NotificationsWithIds, PaginationItem, ProgressLinearGrowDirection, ProgressLinearLabelFormat, ProgressRadialLabelFormat, SpinnerSize, StrataConfig, TagSize, TextStackOverflow, Theme, TooltipPlacement };
889
+ export type { AlertConfiguration, AvatarSize, AvatarStackSpacing, ButtonGroupJustification, ButtonSize, ButtonVariant, CardVariant, CurrentDarkmode, DarkmodeSetting, HotkeyOptions, IconConfig, IconSize, ModalConfiguration, ModalSize, NotificationConfiguration, NotificationsWithIds, PaginationItem, ProgressLinearGrowDirection, ProgressLinearLabelFormat, ProgressRadialLabelFormat, SpinnerSize, StrataConfig, TagSize, TextStackOverflow, Theme, TooltipPlacement };