@life-cockpit/angular-ui-kit 1.2.2 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@life-cockpit/angular-ui-kit",
3
- "version": "1.2.2",
3
+ "version": "1.3.0",
4
4
  "description": "Life Cockpit Design System - Angular UI component library",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -2,6 +2,7 @@ import * as _angular_core from '@angular/core';
2
2
  import { EventEmitter, ElementRef, OnInit, OnDestroy, AfterViewInit, QueryList, Signal, TemplateRef, AfterContentInit, AfterViewChecked } from '@angular/core';
3
3
  import { ControlValueAccessor } from '@angular/forms';
4
4
  import { SafeHtml, DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';
5
+ import { Observable } from 'rxjs';
5
6
 
6
7
  /**
7
8
  * Do not edit directly, this file was auto-generated.
@@ -6005,5 +6006,414 @@ declare class RichTextEditorComponent implements ControlValueAccessor, AfterView
6005
6006
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<RichTextEditorComponent, "lc-rich-text-editor", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "minHeight": { "alias": "minHeight"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "toolbar": { "alias": "toolbar"; "required": false; "isSignal": true; }; "showWordCount": { "alias": "showWordCount"; "required": false; "isSignal": true; }; }, { "contentChange": "contentChange"; }, never, never, true, never>;
6006
6007
  }
6007
6008
 
6008
- export { AccordionComponent, AlertComponent, AnimationDurationFast, AnimationEasingEaseIn, AnimationEasingEaseInOut, AnimationEasingEaseOut, AreaChartComponent, AvatarComponent, AvatarGroupComponent, BadgeComponent, BarChartComponent, BorderRadius2xl, BorderRadiusFull, BorderRadiusLg, BorderRadiusMd, BorderRadiusNone, BorderRadiusSm, BorderRadiusXl, BreadcrumbsComponent, ButtonComponent, CalendarComponent, CalloutComponent, CardComponent, ChatComponent, CheckboxComponent, ChipComponent, CodeBlockComponent, ColorAccentOrange, ColorAccentPurple, ColorAccentRed, ColorAccentRust, ColorAccentViolet, ColorErrorDark, ColorErrorDefault, ColorErrorLight, ColorInfoDark, ColorInfoDefault, ColorInfoLight, ColorNeutral100, ColorNeutral200, ColorNeutral300, ColorNeutral400, ColorNeutral50, ColorNeutral500, ColorNeutral600, ColorNeutral700, ColorNeutral800, ColorNeutral900, ColorPickerComponent, ColorPrimary100, ColorPrimary200, ColorPrimary300, ColorPrimary400, ColorPrimary50, ColorPrimary500, ColorPrimary600, ColorPrimary700, ColorPrimary800, ColorPrimary900, ColorSecondary100, ColorSecondary200, ColorSecondary300, ColorSecondary400, ColorSecondary50, ColorSecondary500, ColorSecondary600, ColorSecondary700, ColorSecondary800, ColorSecondary900, ColorSuccessDark, ColorSuccessDefault, ColorSuccessLight, ColorWarningDark, ColorWarningDefault, ColorWarningLight, ContainerComponent, DateRangePickerComponent, DatepickerComponent, DependencyViewerComponent, DiffViewerComponent, DividerComponent, DocumentViewerComponent, DonutChartComponent, DrawerComponent, Elevation1, Elevation2, Elevation3, Elevation4, EmailInputComponent, EmptyStateComponent, ErrorDisplayComponent, FieldGroupComponent, FileUploadComponent, FilterBarComponent, FooterComponent, FunnelChartComponent, GalleryComponent, GanttChartComponent, GaugeComponent, HeaderComponent, HeatmapComponent, HeroComponent, IconComponent, InputComponent, KanbanBoardComponent, LineChartComponent, ListComponent, ListItemTemplateDirective, LogoComponent, MenuComponent, ModalComponent, NotificationCenterComponent, NumberInputComponent, PaginationComponent, PasswordInputComponent, PieChartComponent, PopoverComponent, ProgressBarComponent, ProgressRingComponent, RadarChartComponent, RadioComponent, RatingComponent, RichTextEditorComponent, ScatterPlotComponent, SearchInputComponent, SectionComponent, SelectComponent, SidenavComponent, SizeInteractiveLgFontSize, SizeInteractiveLgHeight, SizeInteractiveLgPadding, SizeInteractiveMdFontSize, SizeInteractiveMdHeight, SizeInteractiveMdPadding, SizeInteractiveSmFontSize, SizeInteractiveSmHeight, SizeInteractiveSmPadding, SizeInteractiveXsFontSize, SizeInteractiveXsHeight, SizeInteractiveXsPadding, SizeMinTouchHeight, SizeMinTouchWidth, SkeletonComponent, SliderComponent, SpacerComponent, Spacing0, Spacing05, Spacing1, Spacing10, Spacing11, Spacing12, Spacing14, Spacing15, Spacing16, Spacing2, Spacing25, Spacing3, Spacing35, Spacing4, Spacing5, Spacing6, Spacing7, Spacing8, Spacing9, SparklineComponent, SpinnerComponent, StackComponent, StackedBarChartComponent, StatTrendComponent, StepperComponent, SwitchComponent, TabComponent, TableCellDirective, TableComponent, TabsComponent, TagInputComponent, TextareaComponent, ThemeService, TimelineComponent, ToastComponent, ToastService, ToggleGroupComponent, TooltipContentComponent, TooltipDirective, TypographyComponent, TypographyFontFamilyBase, TypographyFontFamilyMono, TypographyFontSize2xl, TypographyFontSize3xl, TypographyFontSize4xl, TypographyFontSize5xl, TypographyFontSize6xl, TypographyFontSizeBase, TypographyFontSizeLg, TypographyFontSizeSm, TypographyFontSizeXl, TypographyFontSizeXs, TypographyFontWeightBold, TypographyFontWeightMedium, TypographyFontWeightNormal, TypographyFontWeightSemibold, TypographyLineHeightNormal, TypographyLineHeightRelaxed, TypographyLineHeightTight, VerificationCodeInputComponent, WaterfallChartComponent };
6009
- export type { AlertVariant, AreaChartSeries, AvatarGroupItem, AvatarSize, AvatarStatus, BadgeSize, BadgeVariant, BarChartItem, BarChartOrientation, BreadcrumbItem, BreadcrumbSize, ButtonSize, ButtonType, ButtonVariant, CalendarEvent, CalendarView, CalloutVariant, CellEditEvent, ChatMessage, ChatMessageRole, ChatSendEvent, CheckboxSize, ChipSize, ChipVariant, CodeBlockLanguage, ContainerSize, DateRange, DateValue, DependencyDirection, DependencyEdgeDef, DependencyNode, DependencyNodeStatus, DependencyRelation, DiffViewMode, DividerOrientation, DividerSpacing, DividerVariant, DocumentType, DonutChartSize, DonutSegment, DrawerPosition, DrawerSize, EmptyStateSize, ErrorSeverity, FileUploadFile, FilterConfig, FilterOption, FilterValues, FooterLink, FooterSection, FooterVariant, FunnelStep, GalleryItem, GalleryLayout, GallerySize, GanttDependency, GanttTask, GaugeColor, GaugeSize, HeatmapCell, HeroColor, HeroSize, HeroVariant, IconSize, IconVariant, KanbanCard, KanbanColumn, KanbanLabel, KanbanMoveEvent, LineChartSeries, ListItem, ListOrientation, ListSize, ListVariant, MenuItem, ModalSize, NavigationItem, Notification, NotificationPriority, NotificationType, PaginationSize, PasswordRequirement, PasswordStrength, PieChartSize, PieSegment, PopoverPosition, PopoverTrigger, ProgressBarColor, ProgressBarSize, ProgressBarVariant, ProgressRingColor, ProgressRingSize, RadarChartSeries, RadioSize, RatingSize, RichTextEditorMode, ScatterPoint, ScatterSeries, SearchInputSize, SectionBackground, SectionSpacing, SelectOption, SelectOptionGroup, SelectValue, SelectionChangeEvent, SidenavMode, SidenavPosition, SkeletonVariant, SortEvent, SpacerSize, SparklineColor, SparklineCurve, SpinnerSize, StackAlign, StackDirection, StackGap, StackJustify, StackedBarCategory, StackedBarLegend, StackedBarOrientation, StatTrendDirection, StepState, StepperStep, TabOrientation, TableColumn, TableSize, TableVariant, ThemeConfig, ThemeMode, ThemeState, TimelineItem, TimelineOrientation, Toast, ToastAction, ToastConfig, ToastPosition, ToastVariant, ToggleOption, ToolbarAction, ToolbarConfig, TooltipPosition, WaterfallItem };
6009
+ interface MarkdownHeading {
6010
+ level: number;
6011
+ text: string;
6012
+ id: string;
6013
+ }
6014
+ interface MarkdownLinkClick {
6015
+ href: string;
6016
+ event: MouseEvent;
6017
+ }
6018
+ interface MarkdownRendered {
6019
+ headings: MarkdownHeading[];
6020
+ }
6021
+ interface RenderPart {
6022
+ type: 'html' | 'code';
6023
+ index: number;
6024
+ safeHtml?: SafeHtml;
6025
+ code?: string;
6026
+ lang?: string;
6027
+ }
6028
+ /**
6029
+ * Markdown renderer component.
6030
+ *
6031
+ * Renders GitHub-Flavored Markdown (GFM) to sanitized HTML with
6032
+ * optional syntax highlighting via `<lc-code-block>`.
6033
+ *
6034
+ * @example
6035
+ * ```html
6036
+ * <lc-markdown [content]="'# Hello World'" />
6037
+ * <lc-markdown [src]="'/docs/readme.md'" />
6038
+ * ```
6039
+ */
6040
+ declare class MarkdownComponent implements OnDestroy {
6041
+ private readonly sanitizer;
6042
+ private readonly http;
6043
+ private httpSub?;
6044
+ /** URL or path to load markdown from */
6045
+ readonly src: _angular_core.InputSignal<string | undefined>;
6046
+ /** Raw markdown string */
6047
+ readonly content: _angular_core.InputSignal<string | undefined>;
6048
+ /** Display variant */
6049
+ readonly variant: _angular_core.InputSignal<"default" | "compact">;
6050
+ /** Target for links */
6051
+ readonly linkTarget: _angular_core.InputSignal<"_blank" | "_self">;
6052
+ /** Whether to sanitize HTML output */
6053
+ readonly sanitize: _angular_core.InputSignal<boolean>;
6054
+ /** Whether to use code-block for fenced code */
6055
+ readonly syntaxHighlight: _angular_core.InputSignal<boolean>;
6056
+ /** Whether to show anchor links on headings */
6057
+ readonly showHeadingAnchors: _angular_core.InputSignal<boolean>;
6058
+ /** Base URL for resolving relative links/images */
6059
+ readonly baseUrl: _angular_core.InputSignal<string | undefined>;
6060
+ /** Emitted when a link is clicked */
6061
+ readonly linkClick: _angular_core.OutputEmitterRef<MarkdownLinkClick>;
6062
+ /** Emitted after rendering with heading TOC */
6063
+ readonly rendered: _angular_core.OutputEmitterRef<MarkdownRendered>;
6064
+ /** Internal resolved markdown source */
6065
+ protected resolvedMarkdown: _angular_core.WritableSignal<string>;
6066
+ /** Parsed result (computed once from resolvedMarkdown) */
6067
+ private parsed;
6068
+ /** Computed render parts (HTML chunks + code blocks interleaved) */
6069
+ protected renderParts: _angular_core.Signal<RenderPart[]>;
6070
+ protected containerClasses: _angular_core.Signal<string>;
6071
+ private headings;
6072
+ constructor();
6073
+ ngOnDestroy(): void;
6074
+ protected onLinkClick(event: MouseEvent): void;
6075
+ private loadFromUrl;
6076
+ private splitIntoParts;
6077
+ private parseMarkdown;
6078
+ private parseTables;
6079
+ private escapeHtml;
6080
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MarkdownComponent, never>;
6081
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MarkdownComponent, "lc-markdown", never, { "src": { "alias": "src"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "linkTarget": { "alias": "linkTarget"; "required": false; "isSignal": true; }; "sanitize": { "alias": "sanitize"; "required": false; "isSignal": true; }; "syntaxHighlight": { "alias": "syntaxHighlight"; "required": false; "isSignal": true; }; "showHeadingAnchors": { "alias": "showHeadingAnchors"; "required": false; "isSignal": true; }; "baseUrl": { "alias": "baseUrl"; "required": false; "isSignal": true; }; }, { "linkClick": "linkClick"; "rendered": "rendered"; }, never, never, true, never>;
6082
+ }
6083
+
6084
+ type LogLevel = 'debug' | 'info' | 'warn' | 'error';
6085
+ type LogViewerVariant = 'terminal' | 'log';
6086
+ interface LogLine {
6087
+ text: string;
6088
+ level?: LogLevel;
6089
+ timestamp?: Date;
6090
+ source?: string;
6091
+ meta?: Record<string, unknown>;
6092
+ }
6093
+ /**
6094
+ * Streaming log / terminal viewer component.
6095
+ *
6096
+ * Supports controlled (lines input) and streaming (stream$ observable) modes,
6097
+ * virtualized rendering for large buffers, ANSI color parsing, auto-scroll,
6098
+ * and filtering.
6099
+ *
6100
+ * @example
6101
+ * ```html
6102
+ * <lc-log-viewer [stream$]="logs$" autoScroll height="600px" variant="terminal" />
6103
+ * ```
6104
+ */
6105
+ declare class LogViewerComponent implements AfterViewInit, OnDestroy {
6106
+ scrollContainer?: ElementRef<HTMLElement>;
6107
+ private readonly ngZone;
6108
+ private streamSub?;
6109
+ private scrollListener?;
6110
+ /** Controlled mode: array of log lines */
6111
+ readonly lines: _angular_core.InputSignal<LogLine[]>;
6112
+ /** Streaming mode: observable of log lines */
6113
+ readonly stream$: _angular_core.InputSignal<Observable<LogLine | LogLine[]> | undefined>;
6114
+ /** Maximum lines to keep in buffer */
6115
+ readonly maxLines: _angular_core.InputSignal<number>;
6116
+ /** Auto-scroll to bottom on new lines */
6117
+ readonly autoScroll: _angular_core.InputSignal<boolean>;
6118
+ /** Show timestamps column */
6119
+ readonly showTimestamps: _angular_core.InputSignal<boolean>;
6120
+ /** Show line numbers */
6121
+ readonly showLineNumbers: _angular_core.InputSignal<boolean>;
6122
+ /** Parse ANSI color codes */
6123
+ readonly ansiColors: _angular_core.InputSignal<boolean>;
6124
+ /** Filter by log levels */
6125
+ readonly levelFilter: _angular_core.InputSignal<LogLevel[] | undefined>;
6126
+ /** Search query to highlight */
6127
+ readonly searchQuery: _angular_core.InputSignal<string | undefined>;
6128
+ /** Container height */
6129
+ readonly height: _angular_core.InputSignal<string>;
6130
+ /** Visual variant */
6131
+ readonly variant: _angular_core.InputSignal<LogViewerVariant>;
6132
+ /** Emitted when a line is clicked */
6133
+ readonly lineClick: _angular_core.OutputEmitterRef<LogLine>;
6134
+ /** Emitted on copy all */
6135
+ readonly copyAll: _angular_core.OutputEmitterRef<string>;
6136
+ /** Emitted when scroll state changes */
6137
+ readonly scrollStateChange: _angular_core.OutputEmitterRef<{
6138
+ atBottom: boolean;
6139
+ }>;
6140
+ /** Internal buffer of all lines */
6141
+ protected buffer: _angular_core.WritableSignal<LogLine[]>;
6142
+ /** Whether stream is paused */
6143
+ protected paused: _angular_core.WritableSignal<boolean>;
6144
+ /** Whether user is at bottom of scroll */
6145
+ protected atBottom: _angular_core.WritableSignal<boolean>;
6146
+ /** Internal search input */
6147
+ protected internalSearch: _angular_core.WritableSignal<string>;
6148
+ /** Internal level filter */
6149
+ protected internalLevelFilter: _angular_core.WritableSignal<Set<LogLevel>>;
6150
+ /** Show search bar */
6151
+ protected showSearch: _angular_core.WritableSignal<boolean>;
6152
+ /** Effective search query */
6153
+ protected effectiveSearch: _angular_core.Signal<string>;
6154
+ /** Filtered lines for display */
6155
+ protected filteredLines: _angular_core.Signal<LogLine[]>;
6156
+ /** Visible window of lines (virtualized) */
6157
+ protected scrollTop: _angular_core.WritableSignal<number>;
6158
+ protected readonly LINE_HEIGHT = 22;
6159
+ protected visibleRange: _angular_core.Signal<{
6160
+ start: number;
6161
+ end: number;
6162
+ total: number;
6163
+ totalHeight: number;
6164
+ }>;
6165
+ protected visibleLines: _angular_core.Signal<{
6166
+ _index: number;
6167
+ text: string;
6168
+ level?: LogLevel;
6169
+ timestamp?: Date;
6170
+ source?: string;
6171
+ meta?: Record<string, unknown>;
6172
+ }[]>;
6173
+ protected containerClasses: _angular_core.Signal<string>;
6174
+ /** Line counts per level for toolbar */
6175
+ protected levelCounts: _angular_core.Signal<{
6176
+ debug: number;
6177
+ info: number;
6178
+ warn: number;
6179
+ error: number;
6180
+ }>;
6181
+ constructor();
6182
+ ngAfterViewInit(): void;
6183
+ ngOnDestroy(): void;
6184
+ protected onScroll(): void;
6185
+ protected scrollToBottom(): void;
6186
+ protected togglePause(): void;
6187
+ protected clearBuffer(): void;
6188
+ protected onCopyAll(): Promise<void>;
6189
+ protected toggleSearch(): void;
6190
+ protected toggleLevelFilter(level: LogLevel): void;
6191
+ protected onLineClick(line: LogLine): void;
6192
+ protected onKeydown(event: KeyboardEvent): void;
6193
+ protected formatTimestamp(date?: Date): string;
6194
+ protected parseAnsi(text: string): string;
6195
+ protected highlightSearch(html: string): string;
6196
+ private escapeHtml;
6197
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<LogViewerComponent, never>;
6198
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<LogViewerComponent, "lc-log-viewer", never, { "lines": { "alias": "lines"; "required": false; "isSignal": true; }; "stream$": { "alias": "stream$"; "required": false; "isSignal": true; }; "maxLines": { "alias": "maxLines"; "required": false; "isSignal": true; }; "autoScroll": { "alias": "autoScroll"; "required": false; "isSignal": true; }; "showTimestamps": { "alias": "showTimestamps"; "required": false; "isSignal": true; }; "showLineNumbers": { "alias": "showLineNumbers"; "required": false; "isSignal": true; }; "ansiColors": { "alias": "ansiColors"; "required": false; "isSignal": true; }; "levelFilter": { "alias": "levelFilter"; "required": false; "isSignal": true; }; "searchQuery": { "alias": "searchQuery"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, { "lineClick": "lineClick"; "copyAll": "copyAll"; "scrollStateChange": "scrollStateChange"; }, never, never, true, never>;
6199
+ }
6200
+
6201
+ type ConfirmDialogVariant = 'default' | 'destructive' | 'warning';
6202
+ interface RequireTextConfig {
6203
+ prompt: string;
6204
+ expected: string;
6205
+ }
6206
+ /**
6207
+ * Confirm dialog component for confirming user actions.
6208
+ *
6209
+ * Builds on `<lc-modal>` to provide a standardized confirmation pattern
6210
+ * with optional destructive variant and text-matching confirmation.
6211
+ *
6212
+ * @example
6213
+ * ```html
6214
+ * <lc-confirm-dialog
6215
+ * [open]="showConfirm()"
6216
+ * variant="destructive"
6217
+ * title="Delete project?"
6218
+ * message="This cannot be undone."
6219
+ * (confirmed)="onDelete()"
6220
+ * (cancelled)="showConfirm.set(false)"
6221
+ * />
6222
+ * ```
6223
+ */
6224
+ declare class ConfirmDialogComponent {
6225
+ confirmInput?: ElementRef<HTMLInputElement>;
6226
+ /** Whether the dialog is open */
6227
+ readonly open: _angular_core.InputSignal<boolean>;
6228
+ /** Dialog variant */
6229
+ readonly variant: _angular_core.InputSignal<ConfirmDialogVariant>;
6230
+ /** Dialog title */
6231
+ readonly title: _angular_core.InputSignal<string>;
6232
+ /** Dialog message */
6233
+ readonly message: _angular_core.InputSignal<string>;
6234
+ /** Confirm button label */
6235
+ readonly confirmLabel: _angular_core.InputSignal<string>;
6236
+ /** Cancel button label */
6237
+ readonly cancelLabel: _angular_core.InputSignal<string>;
6238
+ /** Icon name (auto-set by variant if not provided) */
6239
+ readonly icon: _angular_core.InputSignal<string | undefined>;
6240
+ /** Require text match to enable confirm */
6241
+ readonly requireText: _angular_core.InputSignal<RequireTextConfig | undefined>;
6242
+ /** Emitted when user confirms */
6243
+ readonly confirmed: _angular_core.OutputEmitterRef<void>;
6244
+ /** Emitted when user cancels */
6245
+ readonly cancelled: _angular_core.OutputEmitterRef<void>;
6246
+ /** Internal text input value */
6247
+ protected inputValue: _angular_core.WritableSignal<string>;
6248
+ /** Resolved icon name */
6249
+ protected resolvedIcon: _angular_core.Signal<string>;
6250
+ /** Resolved icon color */
6251
+ protected iconColor: _angular_core.Signal<"var(--color-error-default, #ef4444)" | "var(--color-warning-default, #f59e0b)" | "var(--color-primary-600, #2563eb)">;
6252
+ /** Confirm button variant */
6253
+ protected confirmButtonVariant: _angular_core.Signal<"primary" | "danger" | "warning">;
6254
+ /** Whether confirm is allowed (text match check) */
6255
+ protected confirmAllowed: _angular_core.Signal<boolean>;
6256
+ constructor();
6257
+ protected onConfirm(): void;
6258
+ protected onCancel(): void;
6259
+ protected onModalClose(): void;
6260
+ protected onInputChange(value: string | number): void;
6261
+ protected onKeydown(event: KeyboardEvent): void;
6262
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConfirmDialogComponent, never>;
6263
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConfirmDialogComponent, "lc-confirm-dialog", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": true; "isSignal": true; }; "message": { "alias": "message"; "required": true; "isSignal": true; }; "confirmLabel": { "alias": "confirmLabel"; "required": false; "isSignal": true; }; "cancelLabel": { "alias": "cancelLabel"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "requireText": { "alias": "requireText"; "required": false; "isSignal": true; }; }, { "confirmed": "confirmed"; "cancelled": "cancelled"; }, never, never, true, never>;
6264
+ }
6265
+
6266
+ interface ConfirmOptions {
6267
+ title: string;
6268
+ message: string;
6269
+ confirmLabel?: string;
6270
+ cancelLabel?: string;
6271
+ variant?: ConfirmDialogVariant;
6272
+ icon?: string;
6273
+ requireText?: RequireTextConfig;
6274
+ }
6275
+ /**
6276
+ * Imperative confirm dialog service.
6277
+ *
6278
+ * @example
6279
+ * ```ts
6280
+ * const ok = await this.confirmService.confirm({
6281
+ * title: 'Delete item?',
6282
+ * message: 'This cannot be undone.',
6283
+ * });
6284
+ * if (ok) { ... }
6285
+ * ```
6286
+ */
6287
+ declare class ConfirmService {
6288
+ private readonly appRef;
6289
+ private readonly injector;
6290
+ /**
6291
+ * Show a confirmation dialog and return a promise that resolves
6292
+ * to true (confirmed) or false (cancelled).
6293
+ */
6294
+ confirm(opts: ConfirmOptions): Promise<boolean>;
6295
+ /**
6296
+ * Show a destructive confirmation dialog.
6297
+ * Shorthand for `confirm({ ...opts, variant: 'destructive' })`.
6298
+ */
6299
+ destructive(opts: Omit<ConfirmOptions, 'variant'>): Promise<boolean>;
6300
+ /**
6301
+ * Show a warning confirmation dialog.
6302
+ * Shorthand for `confirm({ ...opts, variant: 'warning' })`.
6303
+ */
6304
+ warning(opts: Omit<ConfirmOptions, 'variant'>): Promise<boolean>;
6305
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConfirmService, never>;
6306
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ConfirmService>;
6307
+ }
6308
+
6309
+ interface ComboboxOption {
6310
+ value: string;
6311
+ label: string;
6312
+ description?: string;
6313
+ icon?: string;
6314
+ group?: string;
6315
+ disabled?: boolean;
6316
+ }
6317
+ type ComboboxValue = ComboboxOption | ComboboxOption[] | null;
6318
+ type ComboboxSize = 'xs' | 'sm' | 'md' | 'lg';
6319
+ /**
6320
+ * Combobox / async autocomplete component.
6321
+ *
6322
+ * Supports free-text input with sync/async option suggestions,
6323
+ * single/multiple selection, create new entries, and keyboard navigation.
6324
+ *
6325
+ * @example
6326
+ * ```html
6327
+ * <lc-combobox
6328
+ * label="Assign to user"
6329
+ * [loadOptions]="searchUsers"
6330
+ * [(value)]="assignee"
6331
+ * allowCreate
6332
+ * />
6333
+ * ```
6334
+ */
6335
+ declare class ComboboxComponent implements ControlValueAccessor, OnDestroy {
6336
+ inputEl?: ElementRef<HTMLInputElement>;
6337
+ private readonly elRef;
6338
+ private querySubject;
6339
+ private asyncSub?;
6340
+ /** Sync options */
6341
+ readonly options: _angular_core.InputSignal<ComboboxOption[]>;
6342
+ /** Async option loader */
6343
+ readonly loadOptions: _angular_core.InputSignal<((query: string) => Observable<ComboboxOption[]>) | undefined>;
6344
+ /** Debounce for async queries */
6345
+ readonly debounceMs: _angular_core.InputSignal<number>;
6346
+ /** Minimum characters before triggering search */
6347
+ readonly minChars: _angular_core.InputSignal<number>;
6348
+ /** Placeholder text */
6349
+ readonly placeholder: _angular_core.InputSignal<string>;
6350
+ /** Label */
6351
+ readonly label: _angular_core.InputSignal<string | undefined>;
6352
+ /** Helper text */
6353
+ readonly helperText: _angular_core.InputSignal<string | undefined>;
6354
+ /** Error message */
6355
+ readonly error: _angular_core.InputSignal<string | undefined>;
6356
+ /** Disabled state */
6357
+ readonly disabled: _angular_core.InputSignal<boolean>;
6358
+ /** Allow multiple selections */
6359
+ readonly multiple: _angular_core.InputSignal<boolean>;
6360
+ /** Allow creating new entries */
6361
+ readonly allowCreate: _angular_core.InputSignal<boolean>;
6362
+ /** Show loading spinner (controlled) */
6363
+ readonly loading: _angular_core.InputSignal<boolean>;
6364
+ /** Empty state message */
6365
+ readonly emptyMessage: _angular_core.InputSignal<string>;
6366
+ /** Size */
6367
+ readonly size: _angular_core.InputSignal<ComboboxSize>;
6368
+ /** Value change event */
6369
+ readonly valueChange: _angular_core.OutputEmitterRef<ComboboxValue>;
6370
+ /** Query change event */
6371
+ readonly queryChange: _angular_core.OutputEmitterRef<string>;
6372
+ /** Option selected event */
6373
+ readonly optionSelected: _angular_core.OutputEmitterRef<ComboboxOption>;
6374
+ /** Created event (allowCreate) */
6375
+ readonly created: _angular_core.OutputEmitterRef<string>;
6376
+ /** Internal state */
6377
+ protected query: _angular_core.WritableSignal<string>;
6378
+ protected isOpen: _angular_core.WritableSignal<boolean>;
6379
+ protected highlightedIndex: _angular_core.WritableSignal<number>;
6380
+ protected asyncOptions: _angular_core.WritableSignal<ComboboxOption[]>;
6381
+ protected isLoading: _angular_core.WritableSignal<boolean>;
6382
+ /** Selected values */
6383
+ protected selectedSingle: _angular_core.WritableSignal<ComboboxOption | null>;
6384
+ protected selectedMultiple: _angular_core.WritableSignal<ComboboxOption[]>;
6385
+ /** Resolved visible options */
6386
+ protected visibleOptions: _angular_core.Signal<ComboboxOption[]>;
6387
+ /** Grouped options */
6388
+ protected groupedOptions: _angular_core.Signal<{
6389
+ label: string;
6390
+ items: ComboboxOption[];
6391
+ }[]>;
6392
+ /** Flat list for keyboard nav */
6393
+ protected flatOptions: _angular_core.Signal<ComboboxOption[]>;
6394
+ /** Whether to show "Create" option */
6395
+ protected showCreateOption: _angular_core.Signal<boolean>;
6396
+ /** Container classes */
6397
+ protected containerClasses: _angular_core.Signal<string>;
6398
+ private onChange;
6399
+ private onTouched;
6400
+ constructor();
6401
+ ngOnDestroy(): void;
6402
+ writeValue(value: ComboboxValue): void;
6403
+ registerOnChange(fn: (value: ComboboxValue) => void): void;
6404
+ registerOnTouched(fn: () => void): void;
6405
+ setDisabledState(isDisabled: boolean): void;
6406
+ protected onInputChange(event: Event): void;
6407
+ protected onInputFocus(): void;
6408
+ protected onInputBlur(): void;
6409
+ protected onKeydown(event: KeyboardEvent): void;
6410
+ protected selectOption(option: ComboboxOption): void;
6411
+ protected removeSelected(option: ComboboxOption): void;
6412
+ protected onCreateNew(): void;
6413
+ protected onDocumentClick(event: MouseEvent): void;
6414
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ComboboxComponent, never>;
6415
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ComboboxComponent, "lc-combobox", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "loadOptions": { "alias": "loadOptions"; "required": false; "isSignal": true; }; "debounceMs": { "alias": "debounceMs"; "required": false; "isSignal": true; }; "minChars": { "alias": "minChars"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "allowCreate": { "alias": "allowCreate"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "queryChange": "queryChange"; "optionSelected": "optionSelected"; "created": "created"; }, never, never, true, never>;
6416
+ }
6417
+
6418
+ export { AccordionComponent, AlertComponent, AnimationDurationFast, AnimationEasingEaseIn, AnimationEasingEaseInOut, AnimationEasingEaseOut, AreaChartComponent, AvatarComponent, AvatarGroupComponent, BadgeComponent, BarChartComponent, BorderRadius2xl, BorderRadiusFull, BorderRadiusLg, BorderRadiusMd, BorderRadiusNone, BorderRadiusSm, BorderRadiusXl, BreadcrumbsComponent, ButtonComponent, CalendarComponent, CalloutComponent, CardComponent, ChatComponent, CheckboxComponent, ChipComponent, CodeBlockComponent, ColorAccentOrange, ColorAccentPurple, ColorAccentRed, ColorAccentRust, ColorAccentViolet, ColorErrorDark, ColorErrorDefault, ColorErrorLight, ColorInfoDark, ColorInfoDefault, ColorInfoLight, ColorNeutral100, ColorNeutral200, ColorNeutral300, ColorNeutral400, ColorNeutral50, ColorNeutral500, ColorNeutral600, ColorNeutral700, ColorNeutral800, ColorNeutral900, ColorPickerComponent, ColorPrimary100, ColorPrimary200, ColorPrimary300, ColorPrimary400, ColorPrimary50, ColorPrimary500, ColorPrimary600, ColorPrimary700, ColorPrimary800, ColorPrimary900, ColorSecondary100, ColorSecondary200, ColorSecondary300, ColorSecondary400, ColorSecondary50, ColorSecondary500, ColorSecondary600, ColorSecondary700, ColorSecondary800, ColorSecondary900, ColorSuccessDark, ColorSuccessDefault, ColorSuccessLight, ColorWarningDark, ColorWarningDefault, ColorWarningLight, ComboboxComponent, ConfirmDialogComponent, ConfirmService, ContainerComponent, DateRangePickerComponent, DatepickerComponent, DependencyViewerComponent, DiffViewerComponent, DividerComponent, DocumentViewerComponent, DonutChartComponent, DrawerComponent, Elevation1, Elevation2, Elevation3, Elevation4, EmailInputComponent, EmptyStateComponent, ErrorDisplayComponent, FieldGroupComponent, FileUploadComponent, FilterBarComponent, FooterComponent, FunnelChartComponent, GalleryComponent, GanttChartComponent, GaugeComponent, HeaderComponent, HeatmapComponent, HeroComponent, IconComponent, InputComponent, KanbanBoardComponent, LineChartComponent, ListComponent, ListItemTemplateDirective, LogViewerComponent, LogoComponent, MarkdownComponent, MenuComponent, ModalComponent, NotificationCenterComponent, NumberInputComponent, PaginationComponent, PasswordInputComponent, PieChartComponent, PopoverComponent, ProgressBarComponent, ProgressRingComponent, RadarChartComponent, RadioComponent, RatingComponent, RichTextEditorComponent, ScatterPlotComponent, SearchInputComponent, SectionComponent, SelectComponent, SidenavComponent, SizeInteractiveLgFontSize, SizeInteractiveLgHeight, SizeInteractiveLgPadding, SizeInteractiveMdFontSize, SizeInteractiveMdHeight, SizeInteractiveMdPadding, SizeInteractiveSmFontSize, SizeInteractiveSmHeight, SizeInteractiveSmPadding, SizeInteractiveXsFontSize, SizeInteractiveXsHeight, SizeInteractiveXsPadding, SizeMinTouchHeight, SizeMinTouchWidth, SkeletonComponent, SliderComponent, SpacerComponent, Spacing0, Spacing05, Spacing1, Spacing10, Spacing11, Spacing12, Spacing14, Spacing15, Spacing16, Spacing2, Spacing25, Spacing3, Spacing35, Spacing4, Spacing5, Spacing6, Spacing7, Spacing8, Spacing9, SparklineComponent, SpinnerComponent, StackComponent, StackedBarChartComponent, StatTrendComponent, StepperComponent, SwitchComponent, TabComponent, TableCellDirective, TableComponent, TabsComponent, TagInputComponent, TextareaComponent, ThemeService, TimelineComponent, ToastComponent, ToastService, ToggleGroupComponent, TooltipContentComponent, TooltipDirective, TypographyComponent, TypographyFontFamilyBase, TypographyFontFamilyMono, TypographyFontSize2xl, TypographyFontSize3xl, TypographyFontSize4xl, TypographyFontSize5xl, TypographyFontSize6xl, TypographyFontSizeBase, TypographyFontSizeLg, TypographyFontSizeSm, TypographyFontSizeXl, TypographyFontSizeXs, TypographyFontWeightBold, TypographyFontWeightMedium, TypographyFontWeightNormal, TypographyFontWeightSemibold, TypographyLineHeightNormal, TypographyLineHeightRelaxed, TypographyLineHeightTight, VerificationCodeInputComponent, WaterfallChartComponent };
6419
+ export type { AlertVariant, AreaChartSeries, AvatarGroupItem, AvatarSize, AvatarStatus, BadgeSize, BadgeVariant, BarChartItem, BarChartOrientation, BreadcrumbItem, BreadcrumbSize, ButtonSize, ButtonType, ButtonVariant, CalendarEvent, CalendarView, CalloutVariant, CellEditEvent, ChatMessage, ChatMessageRole, ChatSendEvent, CheckboxSize, ChipSize, ChipVariant, CodeBlockLanguage, ComboboxOption, ComboboxSize, ComboboxValue, ConfirmDialogVariant, ConfirmOptions, ContainerSize, DateRange, DateValue, DependencyDirection, DependencyEdgeDef, DependencyNode, DependencyNodeStatus, DependencyRelation, DiffViewMode, DividerOrientation, DividerSpacing, DividerVariant, DocumentType, DonutChartSize, DonutSegment, DrawerPosition, DrawerSize, EmptyStateSize, ErrorSeverity, FileUploadFile, FilterConfig, FilterOption, FilterValues, FooterLink, FooterSection, FooterVariant, FunnelStep, GalleryItem, GalleryLayout, GallerySize, GanttDependency, GanttTask, GaugeColor, GaugeSize, HeatmapCell, HeroColor, HeroSize, HeroVariant, IconSize, IconVariant, KanbanCard, KanbanColumn, KanbanLabel, KanbanMoveEvent, LineChartSeries, ListItem, ListOrientation, ListSize, ListVariant, LogLevel, LogLine, LogViewerVariant, MarkdownHeading, MarkdownLinkClick, MarkdownRendered, MenuItem, ModalSize, NavigationItem, Notification, NotificationPriority, NotificationType, PaginationSize, PasswordRequirement, PasswordStrength, PieChartSize, PieSegment, PopoverPosition, PopoverTrigger, ProgressBarColor, ProgressBarSize, ProgressBarVariant, ProgressRingColor, ProgressRingSize, RadarChartSeries, RadioSize, RatingSize, RenderPart, RequireTextConfig, RichTextEditorMode, ScatterPoint, ScatterSeries, SearchInputSize, SectionBackground, SectionSpacing, SelectOption, SelectOptionGroup, SelectValue, SelectionChangeEvent, SidenavMode, SidenavPosition, SkeletonVariant, SortEvent, SpacerSize, SparklineColor, SparklineCurve, SpinnerSize, StackAlign, StackDirection, StackGap, StackJustify, StackedBarCategory, StackedBarLegend, StackedBarOrientation, StatTrendDirection, StepState, StepperStep, TabOrientation, TableColumn, TableSize, TableVariant, ThemeConfig, ThemeMode, ThemeState, TimelineItem, TimelineOrientation, Toast, ToastAction, ToastConfig, ToastPosition, ToastVariant, ToggleOption, ToolbarAction, ToolbarConfig, TooltipPosition, WaterfallItem };