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
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "ngx-strata",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "A simple UI framework for quickly prototyping angular applications with a bit of flair.",
5
5
  "license": "MIT",
6
6
  "peerDependencies": {
7
- "@angular/common": "^21.2.0",
8
- "@angular/core": "^21.2.0",
7
+ "@angular/common": ">=22.0.0",
8
+ "@angular/core": ">=22.0.0",
9
9
  "@floating-ui/dom": "^1.1.0"
10
10
  },
11
11
  "dependencies": {
@@ -31,5 +31,6 @@
31
31
  }
32
32
  },
33
33
  "module": "fesm2022/ngx-strata.mjs",
34
- "typings": "types/ngx-strata.d.ts"
34
+ "typings": "types/ngx-strata.d.ts",
35
+ "type": "module"
35
36
  }
@@ -0,0 +1,106 @@
1
+ ---
2
+ name: ngx-strata
3
+ description: "Instructions for using the ngx-strata UI component library"
4
+ ---
5
+
6
+ # ngx-strata Component Manual (Index)
7
+
8
+ You are working in a project that uses **ngx-strata**, a modern Angular UI component library. Use this index to locate the specific component documentation you need.
9
+
10
+ ## Global Setup
11
+
12
+ ### 1. Style Setup
13
+ Ensure the core Strata CSS is included in your global styles (e.g., \`styles.scss\` or \`angular.json\`):
14
+ \`\`\`scss
15
+ @import 'ngx-strata/strata.css';
16
+ \`\`\`
17
+
18
+ ### 2. Provider Setup
19
+ The application should be configured with Strata. Use the global provider in \`app.config.ts\`:
20
+
21
+ \`\`\`typescript
22
+ import { provideStrata } from 'ngx-strata';
23
+
24
+ export const appConfig: ApplicationConfig = {
25
+ providers: [
26
+ provideStrata({
27
+ includeBaseIcons: true,
28
+ tooltipDelayMs: 500
29
+ })
30
+ ]
31
+ };
32
+ ```
33
+ Custom icons should be registered using the `provideIcons()` provider during bootstrap.
34
+
35
+ ### 3. Application Shell
36
+ Wrap your root application component (usually `app.component.html`) in the Strata Shell to ensure correct layout and overlay positioning. The `st-shell` automatically includes the notification and modal containers, so you do not need to add them manually.
37
+
38
+ ```html
39
+ <st-shell>
40
+ <!-- Optional Sidebar -->
41
+ <st-sidemenu slot="sidebar">...</st-sidemenu>
42
+
43
+ <!-- Main Content -->
44
+ <div slot="content">
45
+ <router-outlet></router-outlet>
46
+ </div>
47
+ </st-shell>
48
+ ```
49
+
50
+ ---
51
+
52
+ ## Theming & Variables
53
+
54
+ Do not hardcode colors or spacing values. Always use the built-in Strata CSS variables to ensure the app matches the active theme (light/dark mode).
55
+
56
+ **Key Color Variables:**
57
+ - `--st-color-bg-default`: Standard background.
58
+ - `--st-color-bg-raised`: Slightly elevated background (cards, modals).
59
+ - `--st-color-text-primary`: Standard text.
60
+ - `--st-color-text-secondary`: Muted/secondary text.
61
+ - `--st-color-text-tertiary`: Disabled/faded text.
62
+ - `--st-color-accent-default`: Primary brand accent color.
63
+
64
+ **Key Spacing Variables:**
65
+ - `--st-space-1` (4px) to `--st-space-10` (40px)
66
+
67
+ ---
68
+
69
+ ## Component Index
70
+
71
+ To save tokens and context window space, the detailed API and usage instructions for each component are stored in separate files.
72
+
73
+ **Before using a component, read its dedicated file:**
74
+
75
+ - **Accordion** (`st-accordion-group`): Read [`components/accordion.md`](components/accordion.md)
76
+ - **Action-menu** (`st-action-menu`): Read [`components/action-menu.md`](components/action-menu.md)
77
+ - **Alert** (`st-alert`): Read [`components/alert.md`](components/alert.md)
78
+ - **Avatar** (`st-avatar`): Read [`components/avatar.md`](components/avatar.md)
79
+ - **Breadcrumb** (`st-breadcrumb`): Read [`components/breadcrumb.md`](components/breadcrumb.md)
80
+ - **Button** (`[stButton]`): Read [`components/button.md`](components/button.md)
81
+ - **Card** (`st-card`): Read [`components/card.md`](components/card.md)
82
+ - **Checkbox** (`st-checkbox`): Read [`components/checkbox.md`](components/checkbox.md)
83
+ - **Divider** (`st-divider`): Read [`components/divider.md`](components/divider.md)
84
+ - **Icon** (`st-icon`): Read [`components/icon.md`](components/icon.md)
85
+ - **Input-field** (`[stAutoResize]`): Read [`components/input-field.md`](components/input-field.md)
86
+ - **Item** (`st-item`): Read [`components/item.md`](components/item.md)
87
+ - **Kbd** (`st-kbd`): Read [`components/kbd.md`](components/kbd.md)
88
+ - **Message-state** (`st-message-state`): Read [`components/message-state.md`](components/message-state.md)
89
+ - **Modal** (`st-alert-content`): Read [`components/modal.md`](components/modal.md)
90
+ - **Notification** (`st-notification`): Read [`components/notification.md`](components/notification.md)
91
+ - **Number-display** (`st-number-display`): Read [`components/number-display.md`](components/number-display.md)
92
+ - **Overlay** (`[stOverlay]`): Read [`components/overlay.md`](components/overlay.md)
93
+ - **Pagination** (`st-pagination`): Read [`components/pagination.md`](components/pagination.md)
94
+ - **Progress** (`st-progress-linear`): Read [`components/progress.md`](components/progress.md)
95
+ - **Radio** (`st-radio`): Read [`components/radio.md`](components/radio.md)
96
+ - **Segmented-control** (`st-segmented-control`): Read [`components/segmented-control.md`](components/segmented-control.md)
97
+ - **Shell** (`st-shell`): Read [`components/shell.md`](components/shell.md)
98
+ - **Sidemenu** (`[stSidemenuItem]`): Read [`components/sidemenu.md`](components/sidemenu.md)
99
+ - **Single-select** (`[stSelectTrigger]`): Read [`components/single-select.md`](components/single-select.md)
100
+ - **Slider** (`st-slider`): Read [`components/slider.md`](components/slider.md)
101
+ - **Spinner** (`st-spinner`): Read [`components/spinner.md`](components/spinner.md)
102
+ - **Tabs** (`st-tab-item`): Read [`components/tabs.md`](components/tabs.md)
103
+ - **Tag** (`st-tag`): Read [`components/tag.md`](components/tag.md)
104
+ - **Text-stack** (`st-text-stack`): Read [`components/text-stack.md`](components/text-stack.md)
105
+ - **Theming** (`[stTheme]`): Read [`components/theming.md`](components/theming.md)
106
+ - **Toggle** (`st-toggle`): Read [`components/toggle.md`](components/toggle.md)
@@ -0,0 +1,38 @@
1
+ # ngx-strata: accordion Feature
2
+
3
+ This file contains the AI documentation for the `accordion` feature and its related components.
4
+
5
+ ## AccordionGroup (`<st-accordion-group>`)
6
+ - **Selector**: `st-accordion-group`
7
+ - **Imports**: `StrataAccordionGroupComponent`
8
+ - **Inputs**:
9
+ - `[allowMultipleOpen] (boolean)`
10
+
11
+ ## AccordionItem (`<st-accordion-item>`)
12
+ - **Selector**: `st-accordion-item`
13
+ - **Imports**: `StrataAccordionItemComponent`
14
+ - **Inputs**:
15
+ - `[title] (string)`
16
+ - **Outputs**:
17
+ - `(toggled)`
18
+
19
+ ## Usage Example
20
+
21
+ ```html
22
+ <!-- Single Accordion -->
23
+ <st-accordion-item title="Single accordion">
24
+ <p>With some excellent content to be revealed</p>
25
+ </st-accordion-item>
26
+
27
+ <!-- Accordion Group -->
28
+ <st-accordion-group [allowMultipleOpen]="false">
29
+ <st-accordion-item title="Section 1">
30
+ <p>Content for section 1</p>
31
+ </st-accordion-item>
32
+ <st-accordion-item title="Section 2">
33
+ <p>Content for section 2</p>
34
+ </st-accordion-item>
35
+ </st-accordion-group>
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,36 @@
1
+ # ngx-strata: action-menu Feature
2
+
3
+ This file contains the AI documentation for the `action-menu` feature and its related components.
4
+
5
+ ## ActionMenu (`<st-action-menu>`)
6
+ - **Selector**: `st-action-menu`
7
+ - **Imports**: `StrataActionMenuComponent`
8
+ - **Inputs**:
9
+ - `[placement] (Placement)`
10
+
11
+ ## ActionMenuItem (`<st-action-menu-item>`)
12
+ - **Selector**: `st-action-menu-item`
13
+ - **Imports**: `StrataActionMenuItemComponent`
14
+ - **Inputs**:
15
+ - `[closeMenuOnClick] (any)`
16
+ - `[active] (any)`
17
+ - **Outputs**:
18
+ - `(menuItemClicked)`
19
+
20
+ ## Usage Example
21
+
22
+ ```html
23
+ <!-- Default Icon Trigger -->
24
+ <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>
27
+ </st-action-menu>
28
+
29
+ <!-- Custom Button Trigger -->
30
+ <st-action-menu>
31
+ <button stButton variant="primary" trigger>Options</button>
32
+ <st-action-menu-item label="Export" iconName="download" (menuItemClicked)="export()"></st-action-menu-item>
33
+ </st-action-menu>
34
+ ```
35
+
36
+ > **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,28 @@
1
+ # ngx-strata: alert Feature
2
+
3
+ This file contains the AI documentation for the `alert` feature and its related components.
4
+
5
+ ## Alert (`<st-alert>`)
6
+ - **Selector**: `st-alert`
7
+ - **Imports**: `StrataAlertComponent`
8
+ - **Inputs**:
9
+ - `[header] (string | undefined)`
10
+ - `[message] (string)`
11
+ - `[iconName] (string | undefined)`
12
+ - `[dismissible] (boolean)`
13
+ - **Outputs**:
14
+ - `(dismiss)`
15
+
16
+ ## Usage Example
17
+
18
+ ```html
19
+ <st-alert
20
+ header="Update Successful"
21
+ message="Your settings have been saved."
22
+ iconName="check_circle"
23
+ [dismissible]="true"
24
+ (dismiss)="hideAlert()">
25
+ </st-alert>
26
+ ```
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.
@@ -0,0 +1,33 @@
1
+ # ngx-strata: avatar Feature
2
+
3
+ This file contains the AI documentation for the `avatar` feature and its related components.
4
+
5
+ ## Avatar (`<st-avatar>`)
6
+ - **Selector**: `st-avatar`
7
+ - **Imports**: `StrataAvatarComponent`
8
+ - **Inputs**:
9
+ - `[text] (string | null)`
10
+
11
+ ## AvatarStack (`<st-avatar-stack>`)
12
+ - **Selector**: `st-avatar-stack`
13
+ - **Imports**: `StrataAvatarStackComponent`
14
+ - **Inputs**:
15
+ - `[size] (AvatarSize)`
16
+ - `[spacing] ('loose' | 'mid' | 'tight')`
17
+ - `[firstOnFront] (boolean)`
18
+
19
+ ## Usage Example
20
+
21
+ ```html
22
+ <!-- Single Avatar -->
23
+ <st-avatar text="John Doe"></st-avatar>
24
+
25
+ <!-- Avatar Stack -->
26
+ <st-avatar-stack size="md" spacing="mid" [firstOnFront]="true">
27
+ <st-avatar text="John Doe"></st-avatar>
28
+ <st-avatar text="Jane Smith"></st-avatar>
29
+ <st-avatar text="Bob Ross"></st-avatar>
30
+ </st-avatar-stack>
31
+ ```
32
+
33
+ > **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,32 @@
1
+ # ngx-strata: breadcrumb Feature
2
+
3
+ This file contains the AI documentation for the `breadcrumb` feature and its related components.
4
+
5
+ ## Breadcrumb (`<st-breadcrumb>`)
6
+ - **Selector**: `st-breadcrumb`
7
+ - **Imports**: `StrataBreadcrumbComponent`
8
+ - **Inputs**:
9
+ - `[separatorIcon] (string)`
10
+
11
+ ## BreadcrumbItem (`<st-breadcrumb-item>`)
12
+ - **Selector**: `st-breadcrumb-item`
13
+ - **Imports**: `StrataBreadcrumbItemComponent`
14
+ - **Inputs**:
15
+ - `[text] (string)`
16
+ - `[icon] (string)`
17
+ - `[interactable] (boolean)`
18
+ - `[disabled] (boolean)`
19
+ - **Outputs**:
20
+ - `(activated)`
21
+
22
+ ## Usage Example
23
+
24
+ ```html
25
+ <st-breadcrumb separatorIcon="chevron_right">
26
+ <st-breadcrumb-item text="Home" icon="home" (activated)="goHome()"></st-breadcrumb-item>
27
+ <st-breadcrumb-item text="Settings" (activated)="goSettings()"></st-breadcrumb-item>
28
+ <st-breadcrumb-item text="Profile" [disabled]="true"></st-breadcrumb-item>
29
+ </st-breadcrumb>
30
+ ```
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.
@@ -0,0 +1,34 @@
1
+ # ngx-strata: button Feature
2
+
3
+ This file contains the AI documentation for the `button` feature and its related components.
4
+
5
+ ## Button (`[stButton]`)
6
+ - **Selector**: `[stButton]`
7
+ - **Imports**: `StrataButtonDirective`
8
+ - **Inputs**:
9
+ - `[variant] (ButtonVariant)`
10
+ - `[size] (ButtonSize)`
11
+ - `[fullWidth] (boolean)`
12
+
13
+ ## ButtonGroup (`<st-button-group>`)
14
+ - **Selector**: `st-button-group`
15
+ - **Imports**: `StrataButtonGroupComponent`
16
+ - **Inputs**:
17
+ - `[justification] (ButtonGroupJustification)`
18
+
19
+ ## Usage Example
20
+
21
+ ```html
22
+ <button stButton variant="primary" size="md">Save</button>
23
+ <button stButton variant="secondary" size="sm">Cancel</button>
24
+ <button stButton variant="ghost" size="lg">Help</button>
25
+ <button stButton variant="danger" size="md">Delete</button>
26
+
27
+ <!-- Button Group -->
28
+ <st-button-group justification="center">
29
+ <button stButton variant="secondary">Cancel</button>
30
+ <button stButton variant="primary">Confirm</button>
31
+ </st-button-group>
32
+ ```
33
+
34
+ > **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,30 @@
1
+ # ngx-strata: card Feature
2
+
3
+ This file contains the AI documentation for the `card` feature and its related components.
4
+
5
+ ## Card (`<st-card>`)
6
+ - **Selector**: `st-card`
7
+ - **Imports**: `StrataCardComponent`
8
+ - **Inputs**:
9
+ - `[elevated] (boolean)`
10
+ - `[selectable] (boolean)`
11
+ - `[padding] (boolean)`
12
+ - `[variant] (CardVariant)`
13
+
14
+ > **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.
15
+
16
+ ## CSS Custom Properties
17
+ Every component exposes internal CSS custom properties for visual styling overrides:
18
+ - `--st-card-shadow`: Box-shadow of the elevated card (defaults to `var(--st-shadow-1)`).
19
+ - `--st-card-padding`: Inner padding of the card (defaults to `var(--st-size-xs)`).
20
+ - `--st-card-background-color`: Background color of the card (defaults to `var(--st-color-bg-subtle)`).
21
+
22
+ ## Usage Example
23
+
24
+ ```html
25
+ <st-card [elevated]="true" [selectable]="false" [padding]="true" variant="default">
26
+ <h3>Card Title</h3>
27
+ <p>This is the content inside the card.</p>
28
+ </st-card>
29
+ ```
30
+
@@ -0,0 +1,22 @@
1
+ # ngx-strata: checkbox Feature
2
+
3
+ This file contains the AI documentation for the `checkbox` feature and its related components.
4
+
5
+ ## Checkbox (`<st-checkbox>`)
6
+ - **Selector**: `st-checkbox`
7
+ - **Imports**: `StrataCheckboxComponent`
8
+ - **Inputs**:
9
+ - `[label] (string | undefined)`
10
+ - `[name] (string | undefined)`
11
+
12
+ ## Usage Example
13
+
14
+ ```html
15
+ <st-checkbox
16
+ label="I agree to the terms and conditions"
17
+ name="terms"
18
+ [(ngModel)]="acceptedTerms">
19
+ </st-checkbox>
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.
@@ -0,0 +1,19 @@
1
+ # ngx-strata: divider Feature
2
+
3
+ This file contains the AI documentation for the `divider` feature and its related components.
4
+
5
+ ## Divider (`<st-divider>`)
6
+ - **Selector**: `st-divider`
7
+ - **Imports**: `StrataDividerComponent`
8
+ - **Inputs**:
9
+ - `[label] (string)`
10
+ - `[margin] (any)`
11
+ - `[vertical] (any)`
12
+
13
+ ## Usage Example
14
+
15
+ ```html
16
+ <st-divider label="OR" [margin]="true" [vertical]="false"></st-divider>
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,21 @@
1
+ # ngx-strata: icon Feature
2
+
3
+ This file contains the AI documentation for the `icon` feature and its related components.
4
+
5
+ ## Icon (`<st-icon>`)
6
+ - **Selector**: `st-icon`
7
+ - **Imports**: `StrataIconComponent`
8
+ - **Inputs**:
9
+ - `[name] (string)`
10
+
11
+ ## Usage Example
12
+
13
+ \`\`\`html
14
+ <st-icon name="search" size="md"></st-icon>
15
+ <st-icon name="info" size="lg"></st-icon>
16
+ \`\`\`
17
+
18
+ > **CRITICAL RULE FOR AI AGENTS regarding Icons:**
19
+ > NEVER guess an icon name. Before using an \`<st-icon>\`, you MUST verify that the icon is registered in the host application (usually located in \`src/app/shared/icon.config.ts\`). Alternatively, you may use one of the **ngx-strata Base Icons**: <!-- BASE_ICONS_START -->`question`, `arrow-right`, `arrow-left`, `arrow-up`, `arrow-down`, `close`, `expand-up-down`, `clipboard`, or `more`<!-- BASE_ICONS_END -->. If the icon you want to use is NOT registered, you must STOP and ask the user to add it.
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,29 @@
1
+ # ngx-strata: input-field Feature
2
+
3
+ This file contains the AI documentation for the `input-field` feature and its related components.
4
+
5
+ ## AutoResize (`[stAutoResize]`)
6
+ - **Selector**: `[stAutoResize]`
7
+ - **Imports**: `StrataAutoResizeDirective`
8
+ - **Inputs**:
9
+ - `[minimumRows] (any)`
10
+ - `[maximumRows] (number)`
11
+
12
+ ## NativeInputRef (`input[stInput], textarea[stInput]`)
13
+ - **Selector**: `input[stInput], textarea[stInput]`
14
+ - **Imports**: `StrataNativeInputRefDirective`
15
+
16
+ ## InputField (`<st-input-field>`)
17
+ - **Selector**: `st-input-field`
18
+ - **Imports**: `StrataInputFieldComponent`
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.
21
+ ## Usage Example
22
+
23
+ ```html
24
+ <st-input-field>
25
+ <input type="text" stInput placeholder="Enter your name" [(ngModel)]="userName" />
26
+ </st-input-field>
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,31 @@
1
+ # ngx-strata: item Feature
2
+
3
+ This file contains the AI documentation for the `item` feature and its related components.
4
+
5
+ ## Item (`<st-item>`)
6
+ - **Selector**: `st-item`
7
+ - **Imports**: `StrataItemComponent`
8
+
9
+ ## ItemList (`<st-item-list>`)
10
+ - **Selector**: `st-item-list`
11
+ - **Imports**: `StrataItemListComponent`
12
+ - **Inputs**:
13
+ - `[items] (T[])`
14
+ - `[dividers] (boolean)`
15
+ - `[template] (TemplateRef<T)`
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.
18
+ ## Usage Example
19
+
20
+ ```html
21
+ <st-item>
22
+ <st-icon name="user" slot="start"></st-icon>
23
+ <div slot="content">
24
+ <h4>User Profile</h4>
25
+ <p>Manage your account settings</p>
26
+ </div>
27
+ <st-icon name="chevron_right" slot="end"></st-icon>
28
+ </st-item>
29
+ ```
30
+
31
+ > **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: kbd Feature
2
+
3
+ This file contains the AI documentation for the `kbd` feature and its related components.
4
+
5
+ ## Kbd (`<st-kbd>`)
6
+ - **Selector**: `st-kbd`
7
+ - **Imports**: `StrataKbdComponent`
8
+ - **Inputs**:
9
+ - `[keys] (string | string[])`
10
+
11
+ ## Usage Example
12
+
13
+ ```html
14
+ <st-kbd [keys]="['meta', 'k']"></st-kbd>
15
+ <st-kbd keys="enter"></st-kbd>
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,32 @@
1
+ # ngx-strata: message-state Feature
2
+
3
+ This file contains the AI documentation for the `message-state` feature and its related components.
4
+
5
+ ## MessageState (`<st-message-state>`)
6
+ - **Selector**: `st-message-state`
7
+ - **Imports**: `StrataMessageStateComponent`
8
+ - **Inputs**:
9
+ - `[header] (string)`
10
+ - `[subtitle] (string | undefined)`
11
+ - `[primaryActionText] (string | undefined)`
12
+ - `[primaryActionTheme] (Theme | undefined)`
13
+ - `[secondaryActionText] (string | undefined)`
14
+ - **Outputs**:
15
+ - `(primaryAction)`
16
+ - `(secondaryAction)`
17
+
18
+ ## Usage Example
19
+
20
+ ```html
21
+ <st-message-state
22
+ header="No Results Found"
23
+ subtitle="Try adjusting your search filters."
24
+ primaryActionText="Clear Filters"
25
+ secondaryActionText="Go Home"
26
+ (primaryAction)="clear()"
27
+ (secondaryAction)="goHome()">
28
+ <st-icon name="search" slot="icon" size="lg"></st-icon>
29
+ </st-message-state>
30
+ ```
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.
@@ -0,0 +1,96 @@
1
+ # ngx-strata: modal Feature
2
+
3
+ This file contains the AI documentation for the `modal` feature and its related components.
4
+
5
+ ## AlertContent (`<st-alert-content>`)
6
+ - **Selector**: `st-alert-content`
7
+ - **Imports**: `StrataAlertContentComponent`
8
+ - **Inputs**:
9
+ - `[title] (string)`
10
+ - `[message] (string)`
11
+ - `[icon] (string | undefined)`
12
+ - `[theme] (Theme)`
13
+ - `[affirmativeButton] (string)`
14
+ - `[cancelButton] (string | undefined)`
15
+
16
+ ## Modal (`<st-modal>`)
17
+ - **Selector**: `st-modal`
18
+ - **Imports**: `StrataModalComponent`
19
+ - **Inputs**:
20
+ - `[configuration] (ModalConfiguration)`
21
+
22
+ ## ModalContainer (`<st-modal-container>`)
23
+ - **Selector**: `st-modal-container`
24
+ - **Imports**: `StrataModalContainerComponent`
25
+
26
+ ## ModalHeader (`<st-modal-header>`)
27
+ - **Selector**: `st-modal-header`
28
+ - **Imports**: `StrataModalHeaderComponent`
29
+ - **Inputs**:
30
+ - `[title] (string | null | undefined)`
31
+ - `[showCloseButton] (boolean)`
32
+
33
+ ## Usage Example
34
+
35
+ Modals in \`ngx-strata\` are opened programmatically using the \`ModalService\`. Do **NOT** use \`<st-modal>\` declaratively in your templates.
36
+
37
+ ### 1. Opening a Modal (TypeScript)
38
+ \`\`\`typescript
39
+ import { Component, inject } from '@angular/core';
40
+ import { ModalService } from 'ngx-strata';
41
+ import { MyModalContentComponent } from './my-modal-content.component';
42
+
43
+ @Component({...})
44
+ export class MyComponent {
45
+ private modalService = inject(ModalService);
46
+
47
+ openSettings() {
48
+ this.modalService.showModal({
49
+ component: MyModalContentComponent,
50
+ title: 'User Settings',
51
+ size: 'lg'
52
+ });
53
+ }
54
+ }
55
+ ```
56
+
57
+ ### 2. The Modal Content Component
58
+ Inside your modal content component, inject `StrataModalRef` to close it. The modal's header and close button are automatically handled by the wrapper based on the configuration passed to `showModal()`.
59
+
60
+ ```typescript
61
+ import { Component, inject } from '@angular/core';
62
+ import { StrataModalRef } from 'ngx-strata';
63
+
64
+ @Component({
65
+ template: \`
66
+ <p>Adjust your preferences here.</p>
67
+ <st-button-group justification="end">
68
+ <button stButton variant="secondary" (click)="close()">Cancel</button>
69
+ <button stButton variant="primary" (click)="save()">Save</button>
70
+ </st-button-group>
71
+ \`
72
+ })
73
+ export class MyModalContentComponent {
74
+ private modalRef = inject(StrataModalRef);
75
+
76
+ close() {
77
+ this.modalRef.close();
78
+ }
79
+
80
+ save() {
81
+ // Save logic...
82
+ this.modalRef.close(true); // Can pass data back
83
+ }
84
+ }
85
+ ```
86
+
87
+ ## CSS Custom Properties
88
+ The modal component exposes internal CSS custom properties for styling and layout overrides:
89
+ - `--st-modal-bg-color`: Background color of the modal (defaults to `var(--st-color-bg-raised)`).
90
+ - `--st-modal-border-radius`: Border radius of the modal (defaults to `var(--st-border-radius-sm)`).
91
+ - `--st-modal-padding`: Inner padding of the modal (defaults to `var(--st-size-md)`).
92
+ - `--st-modal-covered-modal-filter`: CSS filter applied to covered modals (defaults to `brightness(70%)`).
93
+ - `--st-modal-viewport-margin`: Viewport safety margin when calculating max-height (defaults to `var(--st-size-md)`).
94
+
95
+ > **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.
96
+