ngx-strata 0.2.0 → 0.2.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.
Files changed (54) hide show
  1. package/assets/styles/base.scss +4 -0
  2. package/assets/styles/components/_breadcrumb.scss +68 -0
  3. package/assets/styles/components/action-menu.scss +13 -1
  4. package/assets/styles/components/card.scss +3 -2
  5. package/assets/styles/components/icon.scss +5 -0
  6. package/assets/styles/components/item.scss +11 -1
  7. package/assets/styles/components/modal.scss +26 -0
  8. package/assets/styles/components/overlay.scss +4 -0
  9. package/assets/styles/components/segmented-control.scss +17 -2
  10. package/assets/styles/components/select.scss +16 -26
  11. package/assets/styles/components/sidemenu.scss +7 -0
  12. package/assets/styles/components/tag.scss +1 -1
  13. package/assets/styles/components/toggle.scss +40 -13
  14. package/assets/styles/public-api.scss +1 -0
  15. package/assets/styles/shadows.scss +1 -0
  16. package/assets/styles/typography.scss +0 -1
  17. package/dist/strata/strata.css +1 -1
  18. package/fesm2022/ngx-strata.mjs +947 -645
  19. package/fesm2022/ngx-strata.mjs.map +1 -1
  20. package/package.json +5 -4
  21. package/skills/ngx-strata/SKILL.md +106 -0
  22. package/skills/ngx-strata/components/accordion.md +38 -0
  23. package/skills/ngx-strata/components/action-menu.md +36 -0
  24. package/skills/ngx-strata/components/alert.md +28 -0
  25. package/skills/ngx-strata/components/avatar.md +33 -0
  26. package/skills/ngx-strata/components/breadcrumb.md +32 -0
  27. package/skills/ngx-strata/components/button.md +34 -0
  28. package/skills/ngx-strata/components/card.md +30 -0
  29. package/skills/ngx-strata/components/checkbox.md +22 -0
  30. package/skills/ngx-strata/components/divider.md +19 -0
  31. package/skills/ngx-strata/components/icon.md +21 -0
  32. package/skills/ngx-strata/components/input-field.md +29 -0
  33. package/skills/ngx-strata/components/item.md +31 -0
  34. package/skills/ngx-strata/components/kbd.md +18 -0
  35. package/skills/ngx-strata/components/message-state.md +32 -0
  36. package/skills/ngx-strata/components/modal.md +96 -0
  37. package/skills/ngx-strata/components/notification.md +46 -0
  38. package/skills/ngx-strata/components/number-display.md +26 -0
  39. package/skills/ngx-strata/components/overlay.md +20 -0
  40. package/skills/ngx-strata/components/pagination.md +23 -0
  41. package/skills/ngx-strata/components/progress.md +46 -0
  42. package/skills/ngx-strata/components/radio.md +29 -0
  43. package/skills/ngx-strata/components/segmented-control.md +38 -0
  44. package/skills/ngx-strata/components/shell.md +18 -0
  45. package/skills/ngx-strata/components/sidemenu.md +41 -0
  46. package/skills/ngx-strata/components/single-select.md +45 -0
  47. package/skills/ngx-strata/components/slider.md +24 -0
  48. package/skills/ngx-strata/components/spinner.md +17 -0
  49. package/skills/ngx-strata/components/tabs.md +27 -0
  50. package/skills/ngx-strata/components/tag.md +17 -0
  51. package/skills/ngx-strata/components/text-stack.md +21 -0
  52. package/skills/ngx-strata/components/theming.md +19 -0
  53. package/skills/ngx-strata/components/toggle.md +22 -0
  54. package/types/ngx-strata.d.ts +121 -88
@@ -0,0 +1,46 @@
1
+ # ngx-strata: notification Feature
2
+
3
+ This file contains the AI documentation for the `notification` feature and its related components.
4
+
5
+ ## Notification (`<st-notification>`)
6
+ - **Selector**: `st-notification`
7
+ - **Imports**: `StrataNotificationComponent`
8
+
9
+ ## NotificationContainer (`<st-notification-container>`)
10
+ - **Selector**: `st-notification-container`
11
+ - **Imports**: `StrataNotificationContainerComponent`
12
+
13
+ ## Usage Example
14
+
15
+ Notifications are opened programmatically using the \`NotificationService\`. Do **NOT** use \`<st-notification>\` declaratively in your templates.
16
+
17
+ ### Triggering a Notification (TypeScript)
18
+ \`\`\`typescript
19
+ import { Component, inject } from '@angular/core';
20
+ import { NotificationService } from 'ngx-strata';
21
+
22
+ @Component({...})
23
+ export class MyComponent {
24
+ private notificationService = inject(NotificationService);
25
+
26
+ showSuccess() {
27
+ this.notificationService.open({
28
+ title: 'Upload Complete',
29
+ message: 'Your file has been successfully uploaded.',
30
+ theme: 'success',
31
+ icon: 'check_circle'
32
+ });
33
+ }
34
+
35
+ showError() {
36
+ this.notificationService.open({
37
+ title: 'Upload Failed',
38
+ message: 'There was a network error during upload.',
39
+ theme: 'danger',
40
+ icon: 'error'
41
+ });
42
+ }
43
+ }
44
+ \`\`\`
45
+
46
+ > **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,26 @@
1
+ # ngx-strata: number-display Feature
2
+
3
+ This file contains the AI documentation for the `number-display` feature and its related components.
4
+
5
+ ## NumberDisplay (`<st-number-display>`)
6
+ - **Selector**: `st-number-display`
7
+ - **Imports**: `StrataNumberDisplayComponent`
8
+ - **Inputs**:
9
+ - `[value] (number)`
10
+ - `[decimals] (number)`
11
+ - `[changedValue] (boolean)`
12
+ - `[showPlus] (boolean)`
13
+ - `[deemphasizeDecimals] (boolean)`
14
+
15
+ ## Usage Example
16
+
17
+ ```html
18
+ <st-number-display
19
+ [value]="1234.56"
20
+ [decimals]="2"
21
+ [showPlus]="true"
22
+ [deemphasizeDecimals]="true">
23
+ </st-number-display>
24
+ ```
25
+
26
+ > **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,20 @@
1
+ # ngx-strata: overlay Feature
2
+
3
+ This file contains the AI documentation for the `overlay` feature and its related components.
4
+
5
+ ## Overlay (`[stOverlay]`)
6
+ - **Selector**: `[stOverlay]`
7
+ - **Imports**: `StrataOverlayDirective`
8
+ - **Inputs**:
9
+ - `[stOverlay] (TemplateRef<unknown)`
10
+ - `[overlayPlacement] (Placement)`
11
+ - `[overlayOffset] (any)`
12
+
13
+ ## Usage Example
14
+
15
+ ```html
16
+ <!-- Core overlay primitive used internally by tooltips/action menus -->
17
+ <st-overlay></st-overlay>
18
+ ```
19
+
20
+ > **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,23 @@
1
+ # ngx-strata: pagination Feature
2
+
3
+ This file contains the AI documentation for the `pagination` feature and its related components.
4
+
5
+ ## Pagination (`<st-pagination>`)
6
+ - **Selector**: `st-pagination`
7
+ - **Imports**: `StrataPaginationComponent`
8
+ - **Inputs**:
9
+ - `[totalPages] (number)`
10
+ - `[hideNextPreviousAtStartEnd] (any)`
11
+ - **Outputs**:
12
+ - `(pageSelected)`
13
+
14
+ ## Usage Example
15
+
16
+ ```html
17
+ <st-pagination
18
+ [totalPages]="10"
19
+ (pageSelected)="loadPage($event)">
20
+ </st-pagination>
21
+ ```
22
+
23
+ > **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,46 @@
1
+ # ngx-strata: progress Feature
2
+
3
+ This file contains the AI documentation for the `progress` feature and its related components.
4
+
5
+ ## ProgressLinear (`<st-progress-linear>`)
6
+ - **Selector**: `st-progress-linear`
7
+ - **Imports**: `StrataProgressLinearComponent`
8
+ - **Inputs**:
9
+ - `[min] (any)`
10
+ - `[max] (any)`
11
+ - `[value] (number)`
12
+ - `[showLabel] (any)`
13
+ - `[labelFormat] (ProgressLinearLabelFormat)`
14
+ - `[growDirection] (ProgressLinearGrowDirection)`
15
+
16
+ ## ProgressRadial (`<st-progress-radial>`)
17
+ - **Selector**: `st-progress-radial`
18
+ - **Imports**: `StrataProgressRadialComponent`
19
+ - **Inputs**:
20
+ - `[min] (any)`
21
+ - `[max] (any)`
22
+ - `[value] (number)`
23
+ - `[showLabel] (any)`
24
+ - `[labelFormat] (ProgressRadialLabelFormat)`
25
+ - `[size] (any)`
26
+ - `[strokeWidth] (any)`
27
+
28
+ > **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.
29
+ ## Usage Example
30
+
31
+ ```html
32
+ <st-progress-linear
33
+ [value]="45"
34
+ [min]="0"
35
+ [max]="100"
36
+ [showLabel]="true">
37
+ </st-progress-linear>
38
+
39
+ <st-progress-radial
40
+ [value]="75"
41
+ [size]="'md'"
42
+ [strokeWidth]="4">
43
+ </st-progress-radial>
44
+ ```
45
+
46
+ > **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,29 @@
1
+ # ngx-strata: radio Feature
2
+
3
+ This file contains the AI documentation for the `radio` feature and its related components.
4
+
5
+ ## Radio (`<st-radio>`)
6
+ - **Selector**: `st-radio`
7
+ - **Imports**: `StrataRadioComponent`
8
+ - **Inputs**:
9
+ - `[value] (string)`
10
+ - `[label] (string | undefined)`
11
+ - `[disabled] (any)`
12
+ - **Outputs**:
13
+ - `(select)`
14
+
15
+ ## RadioGroup (`<st-radio-group>`)
16
+ - **Selector**: `st-radio-group`
17
+ - **Imports**: `StrataRadioGroupComponent`
18
+
19
+ ## Usage Example
20
+
21
+ ```html
22
+ <st-radio-group [(ngModel)]="selectedColor">
23
+ <st-radio value="red" label="Red"></st-radio>
24
+ <st-radio value="green" label="Green"></st-radio>
25
+ <st-radio value="blue" label="Blue" [disabled]="true"></st-radio>
26
+ </st-radio-group>
27
+ ```
28
+
29
+ > **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,38 @@
1
+ # ngx-strata: segmented-control Feature
2
+
3
+ This file contains the AI documentation for the `segmented-control` feature and its related components.
4
+
5
+ ## SegmentedControl (`<st-segmented-control>`)
6
+ - **Selector**: `st-segmented-control`
7
+ - **Imports**: `StrataSegmentedControlComponent`
8
+ - **Inputs**:
9
+ - `[fullWidth] (any)`
10
+
11
+ ## SegmentedControlItem (`<st-segmented-control-item>`)
12
+ - **Selector**: `st-segmented-control-item`
13
+ - **Imports**: `StrataSegmentedControlItemComponent`
14
+ - **Inputs**:
15
+ - `[text] (string)`
16
+ - `[disabled] (any)`
17
+ - **Outputs**:
18
+ - `(selectionChanged)`
19
+
20
+ ## Usage Example
21
+
22
+ ```html
23
+ <st-segmented-control [fullWidth]="false">
24
+ <st-segmented-control-item
25
+ text="List View"
26
+ [selected]="view === 'list'"
27
+ (selectionChanged)="view = 'list'">
28
+ </st-segmented-control-item>
29
+
30
+ <st-segmented-control-item
31
+ text="Grid View"
32
+ [selected]="view === 'grid'"
33
+ (selectionChanged)="view = 'grid'">
34
+ </st-segmented-control-item>
35
+ </st-segmented-control>
36
+ ```
37
+
38
+ > **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,18 @@
1
+ # ngx-strata: shell Feature
2
+
3
+ This file contains the AI documentation for the `shell` feature and its related components.
4
+
5
+ ## Shell (`<st-shell>`)
6
+ - **Selector**: `st-shell`
7
+ - **Imports**: `StrataShellComponent`
8
+
9
+ ## Usage Example
10
+
11
+ ```html
12
+ <st-shell>
13
+ <st-sidemenu slot="sidebar">...</st-sidemenu>
14
+ <div slot="content">Main App Content</div>
15
+ </st-shell>
16
+ ```
17
+
18
+ > **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,41 @@
1
+ # ngx-strata: sidemenu Feature
2
+
3
+ This file contains the AI documentation for the `sidemenu` feature and its related components.
4
+
5
+ ## SidemenuItem (`[stSidemenuItem]`)
6
+ - **Selector**: `[stSidemenuItem]`
7
+ - **Imports**: `StrataSidemenuItemDirective`
8
+ - **Inputs**:
9
+ - `[active] (boolean)`
10
+
11
+ ## Sidemenu (`<st-sidemenu>`)
12
+ - **Selector**: `st-sidemenu`
13
+ - **Imports**: `StrataSidemenuComponent`
14
+
15
+ ## SidemenuItemGroup (`<st-sidemenu-item-group>`)
16
+ - **Selector**: `st-sidemenu-item-group`
17
+ - **Imports**: `StrataSidemenuItemGroupComponent`
18
+ - **Inputs**:
19
+ - `[label] (string)`
20
+
21
+ ## SidemenuSection (`<st-sidemenu-section>`)
22
+ - **Selector**: `st-sidemenu-section`
23
+ - **Imports**: `StrataSidemenuSectionComponent`
24
+ - **Inputs**:
25
+ - `[label] (string)`
26
+
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
+ ## Usage Example
29
+
30
+ ```html
31
+ <st-sidemenu>
32
+ <st-sidemenu-section label="Main Menu">
33
+ <st-sidemenu-item-group label="Dashboard">
34
+ <st-item>Overview</st-item>
35
+ <st-item>Analytics</st-item>
36
+ </st-sidemenu-item-group>
37
+ </st-sidemenu-section>
38
+ </st-sidemenu>
39
+ ```
40
+
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.
@@ -0,0 +1,45 @@
1
+ # ngx-strata: single-select Feature
2
+
3
+ This file contains the AI documentation for the `single-select` feature and its related components.
4
+
5
+ ## SelectTrigger (`[stSelectTrigger]`)
6
+ - **Selector**: `[stSelectTrigger]`
7
+ - **Imports**: `StrataSelectTriggerDirective`
8
+
9
+ ## SelectItem (`<st-select-item>`)
10
+ - **Selector**: `st-select-item`
11
+ - **Imports**: `StrataSelectItemComponent`
12
+ - **Inputs**:
13
+ - `[value] (unknown)`
14
+ - `[text] (string)`
15
+ - **Outputs**:
16
+ - `(itemClicked)`
17
+
18
+ ## SingleSelect (`<st-single-select>`)
19
+ - **Selector**: `st-single-select`
20
+ - **Imports**: `StrataSingleSelectComponent`
21
+ - **Inputs**:
22
+ - `[placeholder] (string)`
23
+ - `[placement] (Placement)`
24
+ - `[fullWidth] (boolean)`
25
+ - `[label] (string)`
26
+ - `[name] (string)`
27
+ - `[searchable] (any)`
28
+ - `[searchPlaceholder] (any)`
29
+ - **Outputs**:
30
+ - `(itemSelected)`
31
+
32
+ ## Usage Example
33
+
34
+ ```html
35
+ <st-single-select
36
+ label="Country"
37
+ placeholder="Select a country"
38
+ [searchable]="true"
39
+ (itemSelected)="setCountry($event)">
40
+ <st-select-item value="us" text="United States"></st-select-item>
41
+ <st-select-item value="ca" text="Canada"></st-select-item>
42
+ </st-single-select>
43
+ ```
44
+
45
+ > **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,24 @@
1
+ # ngx-strata: slider Feature
2
+
3
+ This file contains the AI documentation for the `slider` feature and its related components.
4
+
5
+ ## Slider (`<st-slider>`)
6
+ - **Selector**: `st-slider`
7
+ - **Imports**: `StrataSliderComponent`
8
+ - **Inputs**:
9
+ - `[minimum] (number)`
10
+ - `[maximum] (number)`
11
+ - `[step] (number | 'none' | undefined)`
12
+
13
+ ## Usage Example
14
+
15
+ ```html
16
+ <st-slider
17
+ [minimum]="0"
18
+ [maximum]="100"
19
+ [step]="5"
20
+ [(ngModel)]="volume">
21
+ </st-slider>
22
+ ```
23
+
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.
@@ -0,0 +1,17 @@
1
+ # ngx-strata: spinner Feature
2
+
3
+ This file contains the AI documentation for the `spinner` feature and its related components.
4
+
5
+ ## Spinner (`<st-spinner>`)
6
+ - **Selector**: `st-spinner`
7
+ - **Imports**: `StrataSpinnerComponent`
8
+ - **Inputs**:
9
+ - `[size] (SpinnerSize)`
10
+
11
+ ## Usage Example
12
+
13
+ ```html
14
+ <st-spinner size="md"></st-spinner>
15
+ ```
16
+
17
+ > **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,27 @@
1
+ # ngx-strata: tabs Feature
2
+
3
+ This file contains the AI documentation for the `tabs` feature and its related components.
4
+
5
+ ## TabItem (`<st-tab-item>`)
6
+ - **Selector**: `st-tab-item`
7
+ - **Imports**: `StrataTabItemComponent`
8
+ - **Inputs**:
9
+ - `[text] (string)`
10
+ - `[disabled] (any)`
11
+ - **Outputs**:
12
+ - `(selectionChanged)`
13
+
14
+ ## Tabs (`<st-tabs>`)
15
+ - **Selector**: `st-tabs`
16
+ - **Imports**: `StrataTabsComponent`
17
+
18
+ ## Usage Example
19
+
20
+ ```html
21
+ <st-tabs>
22
+ <st-tab-item text="General" [selected]="tab === 'general'" (selectionChanged)="tab = 'general'"></st-tab-item>
23
+ <st-tab-item text="Security" [selected]="tab === 'security'" (selectionChanged)="tab = 'security'"></st-tab-item>
24
+ </st-tabs>
25
+ ```
26
+
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.
@@ -0,0 +1,17 @@
1
+ # ngx-strata: tag Feature
2
+
3
+ This file contains the AI documentation for the `tag` feature and its related components.
4
+
5
+ ## Tag (`<st-tag>`)
6
+ - **Selector**: `st-tag`
7
+ - **Imports**: `StrataTagComponent`
8
+ - **Inputs**:
9
+ - `[size] (TagSize)`
10
+
11
+ ## Usage Example
12
+
13
+ ```html
14
+ <st-tag size="md">New Feature</st-tag>
15
+ ```
16
+
17
+ > **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
+ # ngx-strata: text-stack Feature
2
+
3
+ This file contains the AI documentation for the `text-stack` feature and its related components.
4
+
5
+ ## TextStack (`<st-text-stack>`)
6
+ - **Selector**: `st-text-stack`
7
+ - **Imports**: `StrataTextStackComponent`
8
+ - **Inputs**:
9
+ - `[overflow] (TextStackOverflow)`
10
+
11
+ > **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.
12
+ ## Usage Example
13
+
14
+ ```html
15
+ <st-text-stack overflow="truncate">
16
+ <span class="st-body-m st-bold">Primary Text</span>
17
+ <span class="st-body-s">Secondary subtitle</span>
18
+ </st-text-stack>
19
+ ```
20
+
21
+ > **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,19 @@
1
+ # ngx-strata: theming Feature
2
+
3
+ This file contains the AI documentation for the `theming` feature and its related components.
4
+
5
+ ## Theme (`[stTheme]`)
6
+ - **Selector**: `[stTheme]`
7
+ - **Imports**: `StrataThemeDirective`
8
+ - **Inputs**:
9
+ - `[stTheme] (Theme)`
10
+
11
+ > **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.
12
+ ## Usage Example
13
+
14
+ ```html
15
+ <!-- Theming is typically applied via CSS variables, not declarative components -->
16
+ <div class="st-bg-raised st-text-primary">Content</div>
17
+ ```
18
+
19
+ > **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,22 @@
1
+ # ngx-strata: toggle Feature
2
+
3
+ This file contains the AI documentation for the `toggle` feature and its related components.
4
+
5
+ ## Toggle (`<st-toggle>`)
6
+ - **Selector**: `st-toggle`
7
+ - **Imports**: `StrataToggleComponent`
8
+ - **Inputs**:
9
+ - `[label] (string | undefined)`
10
+ - `[labelPosition] ('before' | 'after')`
11
+
12
+ ## Usage Example
13
+
14
+ ```html
15
+ <st-toggle
16
+ label="Enable Notifications"
17
+ labelPosition="after"
18
+ [(ngModel)]="notificationsEnabled">
19
+ </st-toggle>
20
+ ```
21
+
22
+ > **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.