ngx-strata 0.6.0 → 0.7.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.6.0",
3
+ "version": "0.7.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": {
@@ -89,7 +89,7 @@ for each component are stored in separate files.
89
89
 
90
90
  - **Accordion** (`st-accordion-group`): Read
91
91
  [`components/accordion.md`](components/accordion.md)
92
- - **Action-menu** (`st-action-menu`): Read
92
+ - **Action-menu** (`st-action-menu`, `[stContextMenu]`): Read
93
93
  [`components/action-menu.md`](components/action-menu.md)
94
94
  - **Alert** (`st-alert`): Read [`components/alert.md`](components/alert.md)
95
95
  - **Avatar** (`st-avatar`): Read [`components/avatar.md`](components/avatar.md)
@@ -99,6 +99,8 @@ for each component are stored in separate files.
99
99
  - **Button** (`[stButton]`): Read [`components/button.md`](components/button.md)
100
100
  - **Calendar** (`st-calendar`): Read [`components/calendar.md`](components/calendar.md)
101
101
  - **Card** (`st-card`): Read [`components/card.md`](components/card.md)
102
+ - **Chat** (`st-chat`, `st-chat-message`, `st-chat-group`, `st-chat-separator`, `st-chat-typing`): Read
103
+ [`components/chat.md`](components/chat.md)
102
104
  - **Checkbox** (`st-checkbox`): Read
103
105
  [`components/checkbox.md`](components/checkbox.md)
104
106
  - **Datepicker** (`st-datepicker`): Read [`components/datepicker.md`](components/datepicker.md)
@@ -152,6 +154,8 @@ for each component are stored in separate files.
152
154
  [`components/text-stack.md`](components/text-stack.md)
153
155
  - **Theming** (`[stTheme]`): Read
154
156
  [`components/theming.md`](components/theming.md)
155
- - **Time-picker** (`st-time-picker`): Read
156
- [`components/time-picker.md`](components/time-picker.md)
157
+ - **Timepicker** (`st-timepicker`): Read
158
+ [`components/timepicker.md`](components/timepicker.md)
159
+ - **Time-stepper** (`st-time-stepper`): Read
160
+ [`components/time-stepper.md`](components/time-stepper.md)
157
161
  - **Toggle** (`st-toggle`): Read [`components/toggle.md`](components/toggle.md)
@@ -6,9 +6,15 @@ This file contains the AI documentation for the `action-menu` feature and its re
6
6
  - **Selector**: `st-action-menu`
7
7
  - **Imports**: `StrataActionMenuComponent`
8
8
  - **Inputs**:
9
- - `[placement] (Placement)`
10
- - `[buttonSize] (ButtonSize)`
11
- - `[closeOnOutsideClick] (boolean)`
9
+ - `[placement] (Placement)`: Defaults to `'bottom-end'`.
10
+ - `[buttonSize] (ButtonSize)`: Defaults to `'md'`.
11
+ - `[closeOnOutsideClick] (boolean)`: Defaults to `true`.
12
+ - `[trigger] (boolean)`: Defaults to `true`. When `false`, the button trigger is not rendered (useful for context-only menus).
13
+ - **Methods**:
14
+ - `open()`: Opens the action menu.
15
+ - `close()`: Closes the action menu.
16
+ - `toggle()`: Toggles the action menu state.
17
+ - `openAt(position: { x: number; y: number } | MouseEvent | PointerEvent, placement?: Placement)`: Opens the menu at mouse/virtual element coordinates.
12
18
 
13
19
  ## ActionMenuItem (`<st-action-menu-item>`)
14
20
  - **Selector**: `st-action-menu-item`
@@ -19,6 +25,16 @@ This file contains the AI documentation for the `action-menu` feature and its re
19
25
  - **Outputs**:
20
26
  - `(menuItemClicked)`
21
27
 
28
+ ## ContextMenu Directive (`[stContextMenu]`)
29
+ - **Selector**: `[stContextMenu]`
30
+ - **Imports**: `StrataContextMenuDirective`
31
+ - **Inputs**:
32
+ - `[stContextMenu] (StrataActionMenuComponent)`: The target action menu to open on right-click.
33
+ - `[stContextMenuDisabled] (boolean)`: Disables context menu behavior (allows native browser context menu).
34
+ - `[stContextMenuPlacement] (Placement)`: Placement of menu relative to cursor (defaults to `'bottom-start'`).
35
+ - **Outputs**:
36
+ - `(contextMenuOpened)`: Emitted with `MouseEvent` when the context menu opens.
37
+
22
38
  ## Usage Example
23
39
 
24
40
  ```html
@@ -42,6 +58,22 @@ This file contains the AI documentation for the `action-menu` feature and its re
42
58
  Export
43
59
  </st-action-menu-item>
44
60
  </st-action-menu>
61
+
62
+ <!-- Context Menu Trigger on Element -->
63
+ <div [stContextMenu]="contextMenu" class="right-click-zone">
64
+ Right-click here to view actions
65
+ </div>
66
+
67
+ <st-action-menu #contextMenu [trigger]="false">
68
+ <st-action-menu-item (menuItemClicked)="copy()">
69
+ <st-icon name="copy" area="start"></st-icon>
70
+ Copy
71
+ </st-action-menu-item>
72
+ <st-action-menu-item (menuItemClicked)="delete()">
73
+ <st-icon name="trash" area="start"></st-icon>
74
+ Delete
75
+ </st-action-menu-item>
76
+ </st-action-menu>
45
77
  ```
46
78
 
47
79
 
@@ -0,0 +1,100 @@
1
+ # ngx-strata: chat Feature
2
+
3
+ This file contains the AI documentation for the `chat` feature suite and its components.
4
+
5
+ ## Chat (`<st-chat>`)
6
+ Flex container providing message flow direction and spacing scale.
7
+
8
+ - **Selector**: `st-chat`
9
+ - **Imports**: `StrataChatComponent`
10
+ - **Inputs**:
11
+ - `[spacing] (ChatSpacing)`: `'comfortable' | 'compact'` (default: `'comfortable'`)
12
+
13
+ ## Chat Message (`<st-chat-message>`)
14
+ Individual message bubble supporting sender variants, timestamps, status ticks, and media attachments.
15
+
16
+ - **Selector**: `st-chat-message`
17
+ - **Imports**: `StrataChatMessageComponent`
18
+ - **Inputs**:
19
+ - `[variant] (ChatMessageVariant)`: `'incoming' | 'outgoing'` (default: `'incoming'`)
20
+ - `[timestamp] (string | null)`: Timestamp text displayed below message (default: `null`)
21
+ - `[status] (ChatMessageStatus | null)`: Status indicator for outgoing messages: `'sent' | 'delivered' | 'read'` (default: `null`)
22
+ - `[showAvatar] (boolean)`: Whether projected avatar is visible. Supports boolean attribute (default: `true`)
23
+ - `[position] ('single' | 'first' | 'middle' | 'last')`: Positional curvature. Automatically handled inside `st-chat-group` (default: `'single'`)
24
+ - **Content Slots**:
25
+ - Default: Text body of the message
26
+ - `[slot="avatar"]`: User avatar element (`<st-avatar>`)
27
+ - `[slot="media"]`: Image or media preview element (`<img>`, `<video>`)
28
+ - `[slot="footer"]`: Custom footer overriding default timestamp/status layout
29
+
30
+ ## Chat Group (`<st-chat-group>`)
31
+ Groups consecutive messages from the same sender, collapsing adjacent border radii and showing the avatar only on the final message.
32
+
33
+ - **Selector**: `st-chat-group`
34
+ - **Imports**: `StrataChatGroupComponent`
35
+ - **Inputs**:
36
+ - `[variant] (ChatMessageVariant)`: `'incoming' | 'outgoing'` (default: `'incoming'`)
37
+
38
+ ## Chat Separator (`<st-chat-separator>`)
39
+ Decorative divider for date marks and system status messages.
40
+
41
+ - **Selector**: `st-chat-separator`
42
+ - **Imports**: `StrataChatSeparatorComponent`
43
+ - **Content Slots**:
44
+ - Default: Centered label (e.g. date or system message)
45
+
46
+ ## Chat Typing Indicator (`<st-chat-typing>`)
47
+ Animated three-dot bubble indicator representing active typing.
48
+
49
+ - **Selector**: `st-chat-typing`
50
+ - **Imports**: `StrataChatTypingComponent`
51
+ - **Inputs**:
52
+ - `[variant] (ChatMessageVariant)`: `'incoming' | 'outgoing'` (default: `'incoming'`)
53
+ - `[ariaLabel] (string)`: Accessible label for screen readers (default: `'Typing'`)
54
+ - **Content Slots**:
55
+ - `[slot="avatar"]`: Optional avatar element (`<st-avatar>`)
56
+
57
+ ---
58
+
59
+ ## Usage Examples
60
+
61
+ ### Basic Conversation
62
+ ```html
63
+ <st-chat spacing="comfortable">
64
+ <st-chat-separator>Today</st-chat-separator>
65
+
66
+ <st-chat-message variant="incoming" timestamp="10:14">
67
+ <st-avatar slot="avatar" size="sm" text="JD" />
68
+ Hi, is the report ready?
69
+ </st-chat-message>
70
+
71
+ <st-chat-message variant="outgoing" timestamp="10:15" status="read">
72
+ Yes, just sending it over now!
73
+ </st-chat-message>
74
+ </st-chat>
75
+ ```
76
+
77
+ ### Grouped Messages
78
+ ```html
79
+ <st-chat>
80
+ <st-chat-group variant="incoming">
81
+ <st-chat-message timestamp="14:20">First point</st-chat-message>
82
+ <st-chat-message timestamp="14:20">Second point</st-chat-message>
83
+ <st-chat-message timestamp="14:21">
84
+ <st-avatar slot="avatar" size="sm" text="AL" />
85
+ Final point with avatar
86
+ </st-chat-message>
87
+ </st-chat-group>
88
+ </st-chat>
89
+ ```
90
+
91
+ ### Media Attachment
92
+ ```html
93
+ <st-chat>
94
+ <st-chat-message variant="incoming" timestamp="16:00">
95
+ <st-avatar slot="avatar" size="sm" text="AL" />
96
+ <img slot="media" src="/path/to/image.png" alt="Screenshot" />
97
+ Here is the requested screenshot.
98
+ </st-chat-message>
99
+ </st-chat>
100
+ ```
@@ -39,6 +39,9 @@ The File Upload component provides a stylish, accessible dropzone for selecting
39
39
  | `disabled` | `input<boolean>` | `false` | Disable interactions |
40
40
  | `label` | `input<string>` | `'Choose a file or drag & drop it here'` | Primary prompt text |
41
41
  | `hint` | `input<string \| undefined>` | `undefined` | Secondary help text |
42
+ | `camera` | `input<boolean \| undefined>` | `undefined` | Tri-state flag: `undefined` auto-enables camera button for image uploads, `false` disables it, `true` forces it |
43
+ | `choosePhotoLabel` | `input<string>` | `'Choose Photo'` | Accessible text label for the gallery/browse button |
44
+ | `takePhotoLabel` | `input<string>` | `'Take Photo'` | Accessible text label for the camera button |
42
45
 
43
46
  ### Outputs
44
47
 
@@ -50,5 +53,6 @@ The File Upload component provides a stylish, accessible dropzone for selecting
50
53
 
51
54
  ### Methods
52
55
 
53
- - `browse()`: Opens the system file selection dialog.
56
+ - `browse(event?: Event)`: Opens the system file selection dialog.
57
+ - `browseCamera(event?: Event)`: Opens the native camera directly via `capture="environment"`.
54
58
  - `clear()`: Clears the native input value.
@@ -21,6 +21,6 @@ This file contains the AI documentation for the `icon` feature and its related c
21
21
  ```
22
22
 
23
23
  > **CRITICAL RULE FOR AI AGENTS regarding Icons:**
24
- > 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`, `more`, `check`, or `calendar`<!-- BASE_ICONS_END -->. If the icon you want to use is NOT registered, you must STOP and ask the user to add it.
24
+ > 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`, `more`, `check`, `calendar`, `clock`, `upload`, `camera`, `image`, `check-single`, or `check-double`<!-- BASE_ICONS_END -->. If the icon you want to use is NOT registered, you must STOP and ask the user to add it.
25
25
 
26
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,46 @@
1
+ # ngx-strata: time-stepper Feature
2
+
3
+ This file contains the AI documentation for the `st-time-stepper` inline component.
4
+
5
+ ## Time Stepper Component (`<st-time-stepper>`)
6
+ The embedded/inline column stepper widget for selecting hours, minutes, and seconds. Ideal for embedding directly into cards, modals, or custom layouts.
7
+
8
+ - **Selector**: `st-time-stepper`
9
+ - **Imports**: `StrataTimeStepperComponent`
10
+ - **Inputs & Models**:
11
+ - `[(value)] (string | Date | null)`: Two-way Signal model for time value (e.g., `'14:30'`, `'14:30:00'`, or a `Date` instance).
12
+ - `[format] ('12h' | '24h')`: Time notation format. Defaults to `'24h'`.
13
+ - `[showSeconds] (boolean)`: Whether seconds column is visible. Defaults to `false`.
14
+ - `[minuteStep] (number)`: Step interval for incrementing/decrementing minutes. Defaults to `1`.
15
+ - `[disabled] (boolean)`: Disables the time stepper controls.
16
+
17
+ ## Forms Integration
18
+ `StrataTimeStepperComponent` implements `ControlValueAccessor` and seamlessly supports both `[(ngModel)]` and Reactive Forms (`formControlName` / `[formControl]`).
19
+
20
+ ## Usage Examples
21
+
22
+ ### 1. 24-Hour Time Stepper
23
+ ```html
24
+ <st-time-stepper
25
+ [(value)]="selectedTime"
26
+ [minuteStep]="5"
27
+ />
28
+ ```
29
+
30
+ ### 2. Embedded in a Card
31
+ ```html
32
+ <st-card>
33
+ <st-time-stepper [(value)]="alarmTime" />
34
+ </st-card>
35
+ ```
36
+
37
+ ### 3. 12-Hour Format with Seconds
38
+ ```html
39
+ <st-time-stepper
40
+ [(value)]="appointmentTime"
41
+ format="12h"
42
+ [showSeconds]="true"
43
+ />
44
+ ```
45
+
46
+ > **Note to AI Agents**: Prioritize using these components over raw HTML equivalents. Use modern Angular Signals (input(), input.required(), model(), and output()) for all data/event bindings. Do not use legacy @Input() or @Output() decorators.
@@ -0,0 +1,60 @@
1
+ # ngx-strata: timepicker Feature
2
+
3
+ This file contains the AI documentation for the `st-timepicker` form control component.
4
+
5
+ ## Time Picker Form Control (`<st-timepicker>`)
6
+ A standalone form input component equipped with an input box, clock trigger icon, and dropdown overlay hosting the time selection controls.
7
+
8
+ - **Selector**: `st-timepicker`
9
+ - **Imports**: `StrataTimepickerComponent`
10
+ - **Inputs & Models**:
11
+ - `[(value)] (string | Date | null)`: Two-way Signal model for time value (e.g., `'14:30'`, `'14:30:00'`, or a `Date` instance).
12
+ - `[label] (string | undefined)`: Label text rendered above the input.
13
+ - `[placeholder] (string)`: Input placeholder text. Defaults to `'Select time'`.
14
+ - `[format] ('12h' | '24h')`: Display format and parsing mode. Defaults to `'24h'`.
15
+ - `[size] ('sm' | 'md' | 'lg')`: Visual control size. Defaults to `'md'`.
16
+ - `[showSeconds] (boolean)`: Whether to include seconds in display and dropdown. Defaults to `false`.
17
+ - `[minuteStep] (number)`: Step interval for minutes. Defaults to `1`.
18
+ - `[clearable] (boolean)`: Shows clear button when a value is selected. Defaults to `true`.
19
+ - `[disabled] (boolean)`: Disables the form control. Defaults to `false`.
20
+ - `[readonly] (boolean)`: Read-only mode. Defaults to `false`.
21
+ - `[fullWidth] (boolean)`: Expands control to full container width. Defaults to `false`.
22
+ - `[state] ('default' | 'error' | 'success' | 'warning')`: Feedback validation state.
23
+ - `[message] (string | undefined)`: Helper/validation message below the input.
24
+ - `(timeSelected)`: Emitted when time value changes.
25
+
26
+ ## Forms Integration
27
+ `StrataTimepickerComponent` implements `ControlValueAccessor` and seamlessly supports both `[(ngModel)]` and Reactive Forms (`formControlName` / `[formControl]`).
28
+
29
+ ## Usage Examples
30
+
31
+ ### 1. Basic 24-Hour Timepicker
32
+ ```html
33
+ <st-timepicker
34
+ label="Departure Time"
35
+ placeholder="Select departure time"
36
+ [(value)]="departureTime"
37
+ />
38
+ ```
39
+
40
+ ### 2. 12-Hour AM/PM Timepicker with Seconds
41
+ ```html
42
+ <st-timepicker
43
+ label="Appointment Time"
44
+ [(value)]="appointmentTime"
45
+ format="12h"
46
+ [showSeconds]="true"
47
+ />
48
+ ```
49
+
50
+ ### 3. Step Intervals and Size
51
+ ```html
52
+ <st-timepicker
53
+ size="sm"
54
+ label="Meeting Slot"
55
+ [minuteStep]="15"
56
+ [(value)]="meetingSlot"
57
+ />
58
+ ```
59
+
60
+ > **Note to AI Agents**: Prioritize using these components over raw HTML equivalents. Use modern Angular Signals (input(), input.required(), model(), and output()) for all data/event bindings. Do not use legacy @Input() or @Output() decorators.
@@ -1,6 +1,6 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { OnInit, OnDestroy, AfterContentInit, EnvironmentProviders, InjectionToken, Provider, PipeTransform, ElementRef, OnChanges, TemplateRef, Renderer2, AfterViewInit, AfterContentChecked, SimpleChanges, Type, ViewContainerRef, QueryList, OutputEmitterRef } from '@angular/core';
3
- import { Placement } from '@floating-ui/dom';
3
+ import { Placement, ReferenceElement } from '@floating-ui/dom';
4
4
  import * as _angular_platform_browser from '@angular/platform-browser';
5
5
  import { SafeHtml, DomSanitizer } from '@angular/platform-browser';
6
6
  import { ControlValueAccessor } from '@angular/forms';
@@ -263,6 +263,7 @@ declare class StrataOverlayDirective implements OnChanges, OnDestroy {
263
263
  overlayPlacement: _angular_core.InputSignal<Placement>;
264
264
  overlayOffset: _angular_core.InputSignal<number>;
265
265
  overlayFitViewport: _angular_core.InputSignal<boolean>;
266
+ overlayTarget: _angular_core.InputSignal<ReferenceElement | null>;
266
267
  private readonly element;
267
268
  private readonly viewContainerRef;
268
269
  private readonly config;
@@ -270,13 +271,14 @@ declare class StrataOverlayDirective implements OnChanges, OnDestroy {
270
271
  private cleanup?;
271
272
  private viewRef?;
272
273
  ngOnChanges(): void;
274
+ private getTarget;
273
275
  private create;
274
276
  private updatePosition;
275
277
  private destroy;
276
278
  getOverlayElement(): HTMLElement | undefined;
277
279
  ngOnDestroy(): void;
278
280
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrataOverlayDirective, never>;
279
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StrataOverlayDirective, "[stOverlay]", never, { "stOverlay": { "alias": "stOverlay"; "required": true; "isSignal": true; }; "overlayOpen": { "alias": "overlayOpen"; "required": false; "isSignal": true; }; "overlayPlacement": { "alias": "overlayPlacement"; "required": false; "isSignal": true; }; "overlayOffset": { "alias": "overlayOffset"; "required": false; "isSignal": true; }; "overlayFitViewport": { "alias": "overlayFitViewport"; "required": false; "isSignal": true; }; }, { "overlayOpen": "overlayOpenChange"; }, never, never, true, never>;
281
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StrataOverlayDirective, "[stOverlay]", never, { "stOverlay": { "alias": "stOverlay"; "required": true; "isSignal": true; }; "overlayOpen": { "alias": "overlayOpen"; "required": false; "isSignal": true; }; "overlayPlacement": { "alias": "overlayPlacement"; "required": false; "isSignal": true; }; "overlayOffset": { "alias": "overlayOffset"; "required": false; "isSignal": true; }; "overlayFitViewport": { "alias": "overlayFitViewport"; "required": false; "isSignal": true; }; "overlayTarget": { "alias": "overlayTarget"; "required": false; "isSignal": true; }; }, { "overlayOpen": "overlayOpenChange"; }, never, never, true, never>;
280
282
  }
281
283
 
282
284
  declare class StrataActionMenuComponent {
@@ -287,12 +289,37 @@ declare class StrataActionMenuComponent {
287
289
  placement: _angular_core.InputSignal<Placement>;
288
290
  buttonSize: _angular_core.InputSignal<ButtonSize>;
289
291
  closeOnOutsideClick: _angular_core.InputSignal<boolean>;
292
+ trigger: _angular_core.InputSignal<boolean>;
290
293
  elementRef: ElementRef<HTMLElement>;
291
294
  renderer: Renderer2;
292
295
  menuOpen: _angular_core.WritableSignal<boolean>;
296
+ customTarget: _angular_core.WritableSignal<ReferenceElement | null>;
297
+ contextMenuPlacement: _angular_core.WritableSignal<Placement | null>;
298
+ effectivePlacement: _angular_core.Signal<Placement>;
293
299
  constructor();
300
+ open(): void;
301
+ close(): void;
302
+ toggle(): void;
303
+ openAt(position: {
304
+ x: number;
305
+ y: number;
306
+ } | MouseEvent | PointerEvent, placement?: Placement): void;
294
307
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrataActionMenuComponent, never>;
295
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrataActionMenuComponent, "st-action-menu", never, { "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "buttonSize": { "alias": "buttonSize"; "required": false; "isSignal": true; }; "closeOnOutsideClick": { "alias": "closeOnOutsideClick"; "required": false; "isSignal": true; }; }, {}, ["projectedButton", "actionMenuItems"], ["button[stButton]", "st-action-menu-item"], true, never>;
308
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrataActionMenuComponent, "st-action-menu", never, { "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "buttonSize": { "alias": "buttonSize"; "required": false; "isSignal": true; }; "closeOnOutsideClick": { "alias": "closeOnOutsideClick"; "required": false; "isSignal": true; }; "trigger": { "alias": "trigger"; "required": false; "isSignal": true; }; }, {}, ["projectedButton", "actionMenuItems"], ["button[stButton]", "st-action-menu-item"], true, never>;
309
+ }
310
+
311
+ declare class StrataContextMenuDirective implements OnInit, OnDestroy {
312
+ stContextMenu: _angular_core.InputSignal<StrataActionMenuComponent | null | undefined>;
313
+ stContextMenuDisabled: _angular_core.InputSignal<boolean>;
314
+ stContextMenuPlacement: _angular_core.InputSignal<Placement>;
315
+ contextMenuOpened: _angular_core.OutputEmitterRef<MouseEvent>;
316
+ private readonly elementRef;
317
+ private readonly renderer;
318
+ private unlisten?;
319
+ ngOnInit(): void;
320
+ ngOnDestroy(): void;
321
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrataContextMenuDirective, never>;
322
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StrataContextMenuDirective, "[stContextMenu]", never, { "stContextMenu": { "alias": "stContextMenu"; "required": true; "isSignal": true; }; "stContextMenuDisabled": { "alias": "stContextMenuDisabled"; "required": false; "isSignal": true; }; "stContextMenuPlacement": { "alias": "stContextMenuPlacement"; "required": false; "isSignal": true; }; }, { "contextMenuOpened": "contextMenuOpened"; }, never, never, true, never>;
296
323
  }
297
324
 
298
325
  declare class StrataAlertComponent {
@@ -446,6 +473,58 @@ declare class StrataCheckboxComponent implements ControlValueAccessor {
446
473
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrataCheckboxComponent, "st-checkbox", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "colorMessage": { "alias": "colorMessage"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
447
474
  }
448
475
 
476
+ type ChatMessageVariant = 'incoming' | 'outgoing';
477
+ type ChatMessageStatus = 'sent' | 'delivered' | 'read';
478
+ type ChatSpacing = 'compact' | 'comfortable';
479
+
480
+ declare class StrataChatComponent {
481
+ spacing: _angular_core.InputSignal<ChatSpacing>;
482
+ hostClasses: _angular_core.Signal<string>;
483
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrataChatComponent, never>;
484
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrataChatComponent, "st-chat", never, { "spacing": { "alias": "spacing"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
485
+ }
486
+
487
+ declare class StrataChatMessageComponent {
488
+ variant: _angular_core.InputSignal<ChatMessageVariant>;
489
+ timestamp: _angular_core.InputSignal<string | null>;
490
+ status: _angular_core.InputSignal<ChatMessageStatus | null>;
491
+ showAvatar: _angular_core.InputSignalWithTransform<boolean, unknown>;
492
+ position: _angular_core.InputSignal<"single" | "first" | "middle" | "last">;
493
+ groupVariant: _angular_core.WritableSignal<ChatMessageVariant | null>;
494
+ groupPosition: _angular_core.WritableSignal<"single" | "first" | "middle" | "last" | null>;
495
+ groupShowAvatar: _angular_core.WritableSignal<boolean | null>;
496
+ groupPreserveAvatarSpace: _angular_core.WritableSignal<boolean>;
497
+ effectiveVariant: _angular_core.Signal<ChatMessageVariant>;
498
+ effectivePosition: _angular_core.Signal<"single" | "first" | "middle" | "last">;
499
+ effectiveShowAvatar: _angular_core.Signal<boolean>;
500
+ hostClasses: _angular_core.Signal<string>;
501
+ setGroupConfig(variant: ChatMessageVariant, position: 'single' | 'first' | 'middle' | 'last', showAvatar: boolean, preserveAvatarSpace: boolean): void;
502
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrataChatMessageComponent, never>;
503
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrataChatMessageComponent, "st-chat-message", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "timestamp": { "alias": "timestamp"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "showAvatar": { "alias": "showAvatar"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; }, {}, never, ["[slot=avatar]", "[slot=media]", "*", "[slot=footer]", "[slot=avatar]"], true, never>;
504
+ }
505
+
506
+ declare class StrataChatGroupComponent {
507
+ variant: _angular_core.InputSignal<ChatMessageVariant>;
508
+ messages: _angular_core.Signal<readonly StrataChatMessageComponent[]>;
509
+ hostClasses: _angular_core.Signal<string>;
510
+ constructor();
511
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrataChatGroupComponent, never>;
512
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrataChatGroupComponent, "st-chat-group", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, ["messages"], ["*"], true, never>;
513
+ }
514
+
515
+ declare class StrataChatSeparatorComponent {
516
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrataChatSeparatorComponent, never>;
517
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrataChatSeparatorComponent, "st-chat-separator", never, {}, {}, never, ["*"], true, never>;
518
+ }
519
+
520
+ declare class StrataChatTypingComponent {
521
+ variant: _angular_core.InputSignal<ChatMessageVariant>;
522
+ ariaLabel: _angular_core.InputSignal<string>;
523
+ hostClasses: _angular_core.Signal<string>;
524
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrataChatTypingComponent, never>;
525
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrataChatTypingComponent, "st-chat-typing", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, ["[slot=avatar]", "[slot=avatar]"], true, never>;
526
+ }
527
+
449
528
  type CalendarSize = 'sm' | 'md';
450
529
  type DatePickerSize = 'sm' | 'md' | 'lg';
451
530
  type CalendarMode = 'single' | 'range';
@@ -472,7 +551,7 @@ interface DateRangePreset {
472
551
  };
473
552
  }
474
553
 
475
- declare class StrataTimePickerComponent implements ControlValueAccessor {
554
+ declare class StrataTimeStepperComponent implements ControlValueAccessor {
476
555
  format: _angular_core.InputSignal<TimeFormat>;
477
556
  showSeconds: _angular_core.InputSignal<boolean>;
478
557
  minuteStep: _angular_core.InputSignal<number>;
@@ -508,8 +587,61 @@ declare class StrataTimePickerComponent implements ControlValueAccessor {
508
587
  registerOnChange(fn: (val: string | Date | null) => void): void;
509
588
  registerOnTouched(fn: () => void): void;
510
589
  setDisabledState(isDisabled: boolean): void;
511
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrataTimePickerComponent, never>;
512
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrataTimePickerComponent, "st-time-picker", never, { "format": { "alias": "format"; "required": false; "isSignal": true; }; "showSeconds": { "alias": "showSeconds"; "required": false; "isSignal": true; }; "minuteStep": { "alias": "minuteStep"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
590
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrataTimeStepperComponent, never>;
591
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrataTimeStepperComponent, "st-time-stepper", never, { "format": { "alias": "format"; "required": false; "isSignal": true; }; "showSeconds": { "alias": "showSeconds"; "required": false; "isSignal": true; }; "minuteStep": { "alias": "minuteStep"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
592
+ }
593
+
594
+ declare class StrataTimepickerComponent implements ControlValueAccessor {
595
+ private readonly defaultId;
596
+ label: _angular_core.InputSignal<string | undefined>;
597
+ id: _angular_core.InputSignal<string | undefined>;
598
+ name: _angular_core.InputSignal<string | undefined>;
599
+ placeholder: _angular_core.InputSignal<string>;
600
+ size: _angular_core.InputSignal<DatePickerSize>;
601
+ placement: _angular_core.InputSignal<Placement>;
602
+ format: _angular_core.InputSignal<TimeFormat>;
603
+ showSeconds: _angular_core.InputSignalWithTransform<boolean, unknown>;
604
+ minuteStep: _angular_core.InputSignal<number>;
605
+ clearable: _angular_core.InputSignalWithTransform<boolean, unknown>;
606
+ disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
607
+ readonly: _angular_core.InputSignalWithTransform<boolean, unknown>;
608
+ fullWidth: _angular_core.InputSignalWithTransform<boolean, unknown>;
609
+ state: _angular_core.InputSignal<InputControlState | undefined>;
610
+ error: _angular_core.InputSignalWithTransform<boolean, unknown>;
611
+ message: _angular_core.InputSignal<string | undefined>;
612
+ colorMessage: _angular_core.InputSignalWithTransform<boolean, unknown>;
613
+ value: _angular_core.ModelSignal<string | Date | null>;
614
+ timeSelected: _angular_core.OutputEmitterRef<string | Date | null>;
615
+ open: _angular_core.WritableSignal<boolean>;
616
+ textInputValue: _angular_core.WritableSignal<string>;
617
+ private cvaDisabled;
618
+ effectiveDisabled: _angular_core.Signal<boolean>;
619
+ effectiveId: _angular_core.Signal<string>;
620
+ readonly effectiveState: _angular_core.Signal<InputControlState>;
621
+ readonly isMessageError: _angular_core.Signal<boolean>;
622
+ readonly isMessageSuccess: _angular_core.Signal<boolean>;
623
+ readonly isMessageWarning: _angular_core.Signal<boolean>;
624
+ private onChange;
625
+ private onTouched;
626
+ private overlayDirective;
627
+ private elementRef;
628
+ private renderer;
629
+ private destroyRef;
630
+ constructor();
631
+ toggle(event?: Event): void;
632
+ onInputTextChange(value: string): void;
633
+ onInputBlur(): void;
634
+ onStepperTimeSelected(val: string | Date | null): void;
635
+ clear(event: Event): void;
636
+ private formatTimeValue;
637
+ private parseTimeString;
638
+ private updateTimeValue;
639
+ writeValue(val: string | Date | null): void;
640
+ registerOnChange(fn: (val: string | Date | null) => void): void;
641
+ registerOnTouched(fn: () => void): void;
642
+ setDisabledState(isDisabled: boolean): void;
643
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrataTimepickerComponent, never>;
644
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrataTimepickerComponent, "st-timepicker", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "showSeconds": { "alias": "showSeconds"; "required": false; "isSignal": true; }; "minuteStep": { "alias": "minuteStep"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "colorMessage": { "alias": "colorMessage"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "timeSelected": "timeSelected"; }, never, never, true, never>;
513
645
  }
514
646
 
515
647
  interface DateRange {
@@ -729,12 +861,16 @@ declare class StrataDividerComponent {
729
861
 
730
862
  declare class StrataFileUploadComponent {
731
863
  fileInput: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
864
+ cameraInput: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
732
865
  accept: _angular_core.InputSignal<string>;
733
866
  multiple: _angular_core.InputSignal<boolean>;
734
867
  maxFileSize: _angular_core.InputSignal<number | undefined>;
735
868
  disabled: _angular_core.InputSignal<boolean>;
736
869
  label: _angular_core.InputSignal<string>;
737
870
  hint: _angular_core.InputSignal<string | undefined>;
871
+ camera: _angular_core.InputSignalWithTransform<boolean | undefined, string | boolean | undefined>;
872
+ choosePhotoLabel: _angular_core.InputSignal<string>;
873
+ takePhotoLabel: _angular_core.InputSignal<string>;
738
874
  state: _angular_core.InputSignal<InputControlState | undefined>;
739
875
  error: _angular_core.InputSignalWithTransform<boolean, unknown>;
740
876
  message: _angular_core.InputSignal<string | undefined>;
@@ -744,6 +880,8 @@ declare class StrataFileUploadComponent {
744
880
  readonly isMessageError: _angular_core.Signal<boolean>;
745
881
  readonly isMessageSuccess: _angular_core.Signal<boolean>;
746
882
  readonly isMessageWarning: _angular_core.Signal<boolean>;
883
+ readonly isImageAccept: _angular_core.Signal<boolean>;
884
+ readonly showCamera: _angular_core.Signal<boolean>;
747
885
  fileSelect: _angular_core.OutputEmitterRef<File>;
748
886
  filesSelect: _angular_core.OutputEmitterRef<File[]>;
749
887
  fileRejected: _angular_core.OutputEmitterRef<{
@@ -765,12 +903,13 @@ declare class StrataFileUploadComponent {
765
903
  onDragLeave(event: DragEvent): void;
766
904
  onDrop(event: DragEvent): void;
767
905
  onFileChange(event: Event): void;
768
- browse(): void;
906
+ browse(event?: Event): void;
907
+ browseCamera(event?: Event): void;
769
908
  clear(): void;
770
909
  private processFiles;
771
910
  private matchesAccept;
772
911
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrataFileUploadComponent, never>;
773
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrataFileUploadComponent, "st-file-upload", never, { "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "maxFileSize": { "alias": "maxFileSize"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "colorMessage": { "alias": "colorMessage"; "required": false; "isSignal": true; }; }, { "fileSelect": "fileSelect"; "filesSelect": "filesSelect"; "fileRejected": "fileRejected"; }, never, ["[uploadIcon]", "*"], true, never>;
912
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrataFileUploadComponent, "st-file-upload", never, { "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "maxFileSize": { "alias": "maxFileSize"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "camera": { "alias": "camera"; "required": false; "isSignal": true; }; "choosePhotoLabel": { "alias": "choosePhotoLabel"; "required": false; "isSignal": true; }; "takePhotoLabel": { "alias": "takePhotoLabel"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "colorMessage": { "alias": "colorMessage"; "required": false; "isSignal": true; }; }, { "fileSelect": "fileSelect"; "filesSelect": "filesSelect"; "fileRejected": "fileRejected"; }, never, ["[uploadIcon]", "*"], true, never>;
774
913
  }
775
914
 
776
915
  declare abstract class IconLoader {
@@ -1822,5 +1961,5 @@ declare class StrataToggleComponent implements ControlValueAccessor {
1822
1961
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrataToggleComponent, "st-toggle", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "labelPosition": { "alias": "labelPosition"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "colorMessage": { "alias": "colorMessage"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; }, never, ["*"], true, [{ directive: typeof StrataActivatableDirective; inputs: { "disabled": "disabled"; }; outputs: { "activated": "activated"; }; }]>;
1823
1962
  }
1824
1963
 
1825
- export { BreakpointService, CapitalizePipe, DEFAULT_DATE_RANGE_PRESETS, DEFAULT_DURATION, DEFAULT_THEME, DarkmodeService, DeviceService, HotkeyService, HttpIconLoader, IconLoader, IconRegistry, IconRegistryService, ModalService, NotificationService, STRATA_CONFIG, StrataAccordionGroupComponent, StrataAccordionItemComponent, StrataActionMenuComponent, StrataActionMenuItemComponent, StrataActivatableDirective, StrataAlertComponent, StrataAlertContentComponent, StrataAutoResizeDirective, StrataAvatarComponent, StrataAvatarStackComponent, StrataBadgeComponent, StrataBreadcrumbComponent, StrataBreadcrumbItemComponent, StrataButtonDirective, StrataButtonGroupComponent, StrataCalendarComponent, StrataCardComponent, StrataCheckboxComponent, StrataDatePickerComponent, StrataDateRangePickerComponent, StrataDividerComponent, StrataFileUploadComponent, StrataIconComponent, StrataImageCropperComponent, StrataInputFieldComponent, StrataItemComponent, StrataItemListComponent, StrataKbdComponent, StrataMessageStateComponent, StrataModalBodyComponent, StrataModalComponent, StrataModalContainerComponent, StrataModalFooterComponent, StrataModalHeaderComponent, StrataModalRef, StrataNativeInputRefDirective, StrataNotificationComponent, StrataNotificationContainerComponent, StrataNumberDisplayComponent, StrataNumberStepperComponent, StrataOtpComponent, StrataOverlayDirective, StrataPaginationComponent, StrataProgressLinearComponent, StrataProgressRadialComponent, StrataRadioComponent, StrataRadioGroupComponent, StrataSegmentedControlComponent, StrataSegmentedControlItemComponent, StrataSelectItemComponent, StrataSelectTriggerDirective, StrataShellComponent, StrataSidemenuComponent, StrataSidemenuItemDirective, StrataSidemenuItemGroupComponent, StrataSidemenuSectionComponent, StrataSingleSelectComponent, StrataSkeletonComponent, StrataSliderComponent, StrataSpinnerComponent, StrataStepComponent, StrataStepperComponent, StrataTabItemComponent, StrataTabsComponent, StrataTagComponent, StrataTextStackComponent, StrataThemeDirective, StrataTimePickerComponent, StrataToggleComponent, StrataTooltipDirective, addDays, addMonths, addYears, createCalendarGrid, disableDateRange, disableDaysOfWeek, disableFutureDates, disablePastDates, disableWeekends, endOfDay, endOfMonth, formatDate, formatMonthTitle, getDayOfWeek, getDaysInMonth, getDefaultShortcutLabels, getLocaleDefaultDateFormat, getMonthNames, getWeekdayNames, isAfterDay, isApplePlatform, isBeforeDay, isSameDay, isSameMonth, isSameYear, isWeekend, isWithinDayRange, parseDate, provideBaseIcons, provideIcons, provideStrata, resolveIsApple, startOfDay, startOfMonth };
1826
- export type { AccordionVariant, AlertConfiguration, AvatarSize, AvatarStackSpacing, AvatarVariant, BadgePlacement, BadgeSize, BadgeVariant, ButtonGroupJustification, ButtonSize, ButtonVariant, CalendarDayCell, CalendarMode, CalendarSize, CalendarView, CardVariant, CropPosition, CropResult, CropShape, CurrentDarkmode, DarkmodeSetting, DatePickerSize, DateRange, DateRangePreset, HotkeyOptions, IconConfig, IconSize, InputControlState, InputFieldSize, ModalConfiguration, ModalFooterJustification, ModalPlacement, ModalSize, ModalVariant, NotificationAction, NotificationConfiguration, NotificationsWithIds, NumberStepperLayout, NumberStepperSize, OtpSize, OtpState, OtpType, PaginationItem, ProgressLinearGrowDirection, ProgressLinearLabelFormat, ProgressRadialLabelFormat, SegmentedControlSize, SingleSelectSize, SkeletonAnimation, SkeletonSize, SkeletonVariant, SpinnerSize, StepState, StepperOrientation, StepperSize, StepperTheme, StrataBreakpoint, StrataConfig, StrataNotificationRef, StrataOS, StrataPlatform, TagSize, TextStackOverflow, Theme, TimeFormat, TimePrecision, TooltipPlacement };
1964
+ export { BreakpointService, CapitalizePipe, DEFAULT_DATE_RANGE_PRESETS, DEFAULT_DURATION, DEFAULT_THEME, DarkmodeService, DeviceService, HotkeyService, HttpIconLoader, IconLoader, IconRegistry, IconRegistryService, ModalService, NotificationService, STRATA_CONFIG, StrataAccordionGroupComponent, StrataAccordionItemComponent, StrataActionMenuComponent, StrataActionMenuItemComponent, StrataActivatableDirective, StrataAlertComponent, StrataAlertContentComponent, StrataAutoResizeDirective, StrataAvatarComponent, StrataAvatarStackComponent, StrataBadgeComponent, StrataBreadcrumbComponent, StrataBreadcrumbItemComponent, StrataButtonDirective, StrataButtonGroupComponent, StrataCalendarComponent, StrataCardComponent, StrataChatComponent, StrataChatGroupComponent, StrataChatMessageComponent, StrataChatSeparatorComponent, StrataChatTypingComponent, StrataCheckboxComponent, StrataContextMenuDirective, StrataDatePickerComponent, StrataDateRangePickerComponent, StrataDividerComponent, StrataFileUploadComponent, StrataIconComponent, StrataImageCropperComponent, StrataInputFieldComponent, StrataItemComponent, StrataItemListComponent, StrataKbdComponent, StrataMessageStateComponent, StrataModalBodyComponent, StrataModalComponent, StrataModalContainerComponent, StrataModalFooterComponent, StrataModalHeaderComponent, StrataModalRef, StrataNativeInputRefDirective, StrataNotificationComponent, StrataNotificationContainerComponent, StrataNumberDisplayComponent, StrataNumberStepperComponent, StrataOtpComponent, StrataOverlayDirective, StrataPaginationComponent, StrataProgressLinearComponent, StrataProgressRadialComponent, StrataRadioComponent, StrataRadioGroupComponent, StrataSegmentedControlComponent, StrataSegmentedControlItemComponent, StrataSelectItemComponent, StrataSelectTriggerDirective, StrataShellComponent, StrataSidemenuComponent, StrataSidemenuItemDirective, StrataSidemenuItemGroupComponent, StrataSidemenuSectionComponent, StrataSingleSelectComponent, StrataSkeletonComponent, StrataSliderComponent, StrataSpinnerComponent, StrataStepComponent, StrataStepperComponent, StrataTabItemComponent, StrataTabsComponent, StrataTagComponent, StrataTextStackComponent, StrataThemeDirective, StrataTimeStepperComponent, StrataTimepickerComponent, StrataToggleComponent, StrataTooltipDirective, addDays, addMonths, addYears, createCalendarGrid, disableDateRange, disableDaysOfWeek, disableFutureDates, disablePastDates, disableWeekends, endOfDay, endOfMonth, formatDate, formatMonthTitle, getDayOfWeek, getDaysInMonth, getDefaultShortcutLabels, getLocaleDefaultDateFormat, getMonthNames, getWeekdayNames, isAfterDay, isApplePlatform, isBeforeDay, isSameDay, isSameMonth, isSameYear, isWeekend, isWithinDayRange, parseDate, provideBaseIcons, provideIcons, provideStrata, resolveIsApple, startOfDay, startOfMonth };
1965
+ export type { AccordionVariant, AlertConfiguration, AvatarSize, AvatarStackSpacing, AvatarVariant, BadgePlacement, BadgeSize, BadgeVariant, ButtonGroupJustification, ButtonSize, ButtonVariant, CalendarDayCell, CalendarMode, CalendarSize, CalendarView, CardVariant, ChatMessageStatus, ChatMessageVariant, ChatSpacing, CropPosition, CropResult, CropShape, CurrentDarkmode, DarkmodeSetting, DatePickerSize, DateRange, DateRangePreset, HotkeyOptions, IconConfig, IconSize, InputControlState, InputFieldSize, ModalConfiguration, ModalFooterJustification, ModalPlacement, ModalSize, ModalVariant, NotificationAction, NotificationConfiguration, NotificationsWithIds, NumberStepperLayout, NumberStepperSize, OtpSize, OtpState, OtpType, PaginationItem, ProgressLinearGrowDirection, ProgressLinearLabelFormat, ProgressRadialLabelFormat, SegmentedControlSize, SingleSelectSize, SkeletonAnimation, SkeletonSize, SkeletonVariant, SpinnerSize, StepState, StepperOrientation, StepperSize, StepperTheme, StrataBreakpoint, StrataConfig, StrataNotificationRef, StrataOS, StrataPlatform, TagSize, TextStackOverflow, Theme, TimeFormat, TimePrecision, TooltipPlacement };