@life-cockpit/angular-ui-kit 2.1.0 → 2.2.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": "@life-cockpit/angular-ui-kit",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "description": "Life Cockpit Design System - Angular UI component library",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -5598,6 +5598,12 @@ declare class ChatComponent implements AfterViewChecked {
5598
5598
  * messaging apps. Still scrolls to reveal the top once they overflow.
5599
5599
  */
5600
5600
  messageAnchor: _angular_core.InputSignal<"top" | "bottom">;
5601
+ /**
5602
+ * Width of the message thread and composer.
5603
+ * - `'full'` (default): messages span the full available width.
5604
+ * - `'narrow'`: a centered, readable column (~46rem) like a document-style chat.
5605
+ */
5606
+ contentWidth: _angular_core.InputSignal<"full" | "narrow">;
5601
5607
  /** Disable the input. */
5602
5608
  disabled: _angular_core.InputSignal<boolean>;
5603
5609
  /** Show avatars next to messages. */
@@ -5636,6 +5642,9 @@ declare class ChatComponent implements AfterViewChecked {
5636
5642
  private attachmentCounter;
5637
5643
  private scrollContainer;
5638
5644
  private fileInput?;
5645
+ private composerInput?;
5646
+ /** Upper bound for the auto-growing composer before it starts scrolling (px). */
5647
+ private static readonly INPUT_MAX_HEIGHT;
5639
5648
  protected readonly formattedMessages: _angular_core.Signal<{
5640
5649
  timestamp: Date | undefined;
5641
5650
  id: string;
@@ -5651,6 +5660,8 @@ declare class ChatComponent implements AfterViewChecked {
5651
5660
  }[]>;
5652
5661
  ngAfterViewChecked(): void;
5653
5662
  protected onInput(event: Event): void;
5663
+ /** Resize the textarea to fit its content so the composer hugs the text. */
5664
+ private autoGrow;
5654
5665
  protected onKeydown(event: KeyboardEvent): void;
5655
5666
  protected send(): void;
5656
5667
  protected openFilePicker(): void;
@@ -5664,7 +5675,7 @@ declare class ChatComponent implements AfterViewChecked {
5664
5675
  protected shouldRenderMarkdown(role: ChatMessageRole): boolean;
5665
5676
  private scrollToBottom;
5666
5677
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChatComponent, never>;
5667
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChatComponent, "lc-chat", never, { "messages": { "alias": "messages"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "isStreaming": { "alias": "isStreaming"; "required": false; "isSignal": true; }; "showHeader": { "alias": "showHeader"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "messageAnchor": { "alias": "messageAnchor"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "showAvatars": { "alias": "showAvatars"; "required": false; "isSignal": true; }; "showTimestamps": { "alias": "showTimestamps"; "required": false; "isSignal": true; }; "renderMarkdown": { "alias": "renderMarkdown"; "required": false; "isSignal": true; }; "allowFileUpload": { "alias": "allowFileUpload"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "maxFileSize": { "alias": "maxFileSize"; "required": false; "isSignal": true; }; }, { "messageSend": "messageSend"; "fileAttach": "fileAttach"; }, ["messageTemplate"], never, true, never>;
5678
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChatComponent, "lc-chat", never, { "messages": { "alias": "messages"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "isStreaming": { "alias": "isStreaming"; "required": false; "isSignal": true; }; "showHeader": { "alias": "showHeader"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "messageAnchor": { "alias": "messageAnchor"; "required": false; "isSignal": true; }; "contentWidth": { "alias": "contentWidth"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "showAvatars": { "alias": "showAvatars"; "required": false; "isSignal": true; }; "showTimestamps": { "alias": "showTimestamps"; "required": false; "isSignal": true; }; "renderMarkdown": { "alias": "renderMarkdown"; "required": false; "isSignal": true; }; "allowFileUpload": { "alias": "allowFileUpload"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "maxFileSize": { "alias": "maxFileSize"; "required": false; "isSignal": true; }; }, { "messageSend": "messageSend"; "fileAttach": "fileAttach"; }, ["messageTemplate"], never, true, never>;
5668
5679
  }
5669
5680
 
5670
5681
  type DocumentType = 'pdf' | 'markdown' | 'image' | 'text' | 'code' | 'auto';