gravitas-ui 0.1.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.
@@ -0,0 +1,877 @@
1
+ import * as i0 from '@angular/core';
2
+ import { ElementRef, EventEmitter, OnChanges, SimpleChanges, ChangeDetectorRef, OnDestroy, AfterContentInit, QueryList, ApplicationRef, Renderer2, NgZone } from '@angular/core';
3
+ import { ControlValueAccessor, NgControl } from '@angular/forms';
4
+ import * as rxjs from 'rxjs';
5
+
6
+ type ButtonVariant = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'light' | 'dark' | 'link';
7
+ type ButtonSize = 'sm' | 'md' | 'lg';
8
+ type ButtonAppearance = 'solid' | 'soft' | 'outline' | 'ghost' | 'link';
9
+ declare class Button {
10
+ buttonElement?: ElementRef<HTMLButtonElement>;
11
+ /** Native button type attribute. */
12
+ type: 'button' | 'submit' | 'reset';
13
+ /** Visual style variant. Maps to Bootstrap variants (btn-*) with Gravitas styling. */
14
+ variant: ButtonVariant;
15
+ /** Visual treatment independent from semantic variant. */
16
+ appearance: ButtonAppearance;
17
+ /** Size variant. Maps to Bootstrap size classes (btn-sm / btn-lg). */
18
+ size: ButtonSize;
19
+ /** Disables the button. */
20
+ disabled: boolean;
21
+ /** Shows a busy state (disables button + shows spinner). */
22
+ loading: boolean;
23
+ /** If true, makes the button full width. */
24
+ fullWidth: boolean;
25
+ /** Optional label shown while loading (ex: "Saving..."). If empty, shows normal content. */
26
+ loadingText: string;
27
+ /** Extra CSS classes applied to the button element (ex: "mt-3 px-4"). */
28
+ className: string;
29
+ get nativeButton(): HTMLButtonElement | null;
30
+ get isDisabled(): boolean;
31
+ get btnClass(): string;
32
+ get resolvedAppearance(): ButtonAppearance;
33
+ focus(): void;
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<Button, never>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<Button, "gv-button", never, { "type": { "alias": "type"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "className": { "alias": "className"; "required": false; }; }, {}, never, ["[gvIconLeft]", "*", "[gvIconRight]"], true, never>;
36
+ }
37
+
38
+ declare class Card {
39
+ title: string | null;
40
+ subtitle: string | null;
41
+ /** Force header on/off. null = auto (shows if title/subtitle/actions exist) */
42
+ showHeader: boolean | null;
43
+ /** Makes the card fill its container height */
44
+ fullHeight: boolean;
45
+ /** Enables hover/press styles + click behavior */
46
+ interactive: boolean;
47
+ /** Disables interactions (no hover, no click, no keyboard activation) */
48
+ disabled: boolean;
49
+ /** Extra classes (Bootstrap utilities etc.) */
50
+ className: string;
51
+ cardClick: EventEmitter<MouseEvent | KeyboardEvent>;
52
+ /** Accessibility: only focusable when interactive and not disabled */
53
+ get roleAttr(): "button" | null;
54
+ get tabIndexAttr(): 0 | null;
55
+ get ariaDisabled(): string | null;
56
+ get hasHeader(): boolean;
57
+ get cardClass(): string;
58
+ onHostClick(event: MouseEvent): void;
59
+ onHostKeydown(event: KeyboardEvent): void;
60
+ static ɵfac: i0.ɵɵFactoryDeclaration<Card, never>;
61
+ static ɵcmp: i0.ɵɵComponentDeclaration<Card, "gv-card", never, { "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "fullHeight": { "alias": "fullHeight"; "required": false; }; "interactive": { "alias": "interactive"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "className": { "alias": "className"; "required": false; }; }, { "cardClick": "cardClick"; }, never, ["[gvCardActions]", "*", "[gvCardFooter]"], true, never>;
62
+ }
63
+
64
+ type InputSize = 'sm' | 'md' | 'lg';
65
+ type InputType = 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search' | 'date' | 'datetime-local';
66
+ declare class InputComponent implements ControlValueAccessor {
67
+ ngControl: NgControl;
68
+ private readonly generatedId;
69
+ id?: string;
70
+ label?: string;
71
+ placeholder: string;
72
+ hint?: string;
73
+ set helperText(value: string | undefined);
74
+ /** If set, overrides control-based validation UI */
75
+ error?: string;
76
+ type: InputType;
77
+ size: InputSize;
78
+ disabled: boolean;
79
+ readonly: boolean;
80
+ /** Bootstrap utilities */
81
+ className: string;
82
+ /** Show required asterisk (doesn't enforce validation) */
83
+ required: boolean;
84
+ /** Optional projected "prefix" / "suffix" areas */
85
+ hasPrefix: boolean;
86
+ hasSuffix: boolean;
87
+ value: string | number | null;
88
+ onChange: (value: any) => void;
89
+ onTouched: () => void;
90
+ constructor(ngControl: NgControl);
91
+ writeValue(value: any): void;
92
+ registerOnChange(fn: any): void;
93
+ registerOnTouched(fn: any): void;
94
+ setDisabledState(isDisabled: boolean): void;
95
+ private control;
96
+ readonly isInvalid: i0.Signal<boolean>;
97
+ get inputId(): string;
98
+ get describedBy(): string;
99
+ get fieldHelperText(): string | null;
100
+ get isDateLike(): boolean;
101
+ get inputClasses(): string;
102
+ get errorText(): string | null;
103
+ handleInput(value: string): void;
104
+ handleBlur(): void;
105
+ static ɵfac: i0.ɵɵFactoryDeclaration<InputComponent, [{ optional: true; self: true; }]>;
106
+ static ɵcmp: i0.ɵɵComponentDeclaration<InputComponent, "gv-input", never, { "id": { "alias": "id"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "error": { "alias": "error"; "required": false; }; "type": { "alias": "type"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "className": { "alias": "className"; "required": false; }; "required": { "alias": "required"; "required": false; }; "hasPrefix": { "alias": "hasPrefix"; "required": false; }; "hasSuffix": { "alias": "hasSuffix"; "required": false; }; }, {}, never, ["[gvPrefix]", "[gvSuffix]"], true, never>;
107
+ }
108
+
109
+ type GvSelectSize = 'sm' | 'md' | 'lg';
110
+ type SelectValue<T> = T | T[] | null;
111
+ interface GvSelectOption<T = any> {
112
+ label: string;
113
+ value: T;
114
+ disabled?: boolean;
115
+ }
116
+ declare class Select<T = any> implements ControlValueAccessor, OnChanges {
117
+ private host;
118
+ private readonly generatedId;
119
+ id?: string;
120
+ label: string;
121
+ helperText: string;
122
+ placeholder: string;
123
+ error: string | null;
124
+ required: boolean;
125
+ size: GvSelectSize;
126
+ fullWidth: boolean;
127
+ className: string;
128
+ multiple: boolean;
129
+ searchable: boolean;
130
+ searchPlaceholder: string;
131
+ noResultsText: string;
132
+ clearable: boolean;
133
+ compareWith?: (a: T, b: T) => boolean;
134
+ options: GvSelectOption<T>[];
135
+ loading: boolean;
136
+ loadingText: string;
137
+ value: SelectValue<T>;
138
+ disabled: boolean;
139
+ isOpen: boolean;
140
+ searchTerm: string;
141
+ private onChange;
142
+ private onTouched;
143
+ private valueMap;
144
+ constructor(host: ElementRef<HTMLElement>);
145
+ get hostFullWidth(): boolean;
146
+ ngOnChanges(changes: SimpleChanges): void;
147
+ writeValue(value: SelectValue<T>): void;
148
+ registerOnChange(fn: (value: SelectValue<T>) => void): void;
149
+ registerOnTouched(fn: () => void): void;
150
+ setDisabledState(isDisabled: boolean): void;
151
+ private rebuildValueMap;
152
+ getOptionKey(index: number): string;
153
+ private normalizeValueForMode;
154
+ stringifyValue(v: T): string;
155
+ private sameValue;
156
+ isSelected(v: T): boolean;
157
+ isOptionDisabled(opt: GvSelectOption<T>): boolean;
158
+ get filteredOptions(): GvSelectOption<T>[];
159
+ get selectedOptions(): GvSelectOption<T>[];
160
+ get displayLabel(): string;
161
+ get useCustomDropdown(): boolean;
162
+ get controlId(): string;
163
+ get labelId(): string | null;
164
+ get helperTextId(): string | null;
165
+ get errorId(): string | null;
166
+ get describedBy(): string | null;
167
+ get selectClass(): string;
168
+ get triggerClass(): string;
169
+ handleNativeChange(event: Event): void;
170
+ toggleOpen(): void;
171
+ open(): void;
172
+ close(): void;
173
+ selectOption(opt: GvSelectOption<T>): void;
174
+ removeSelected(opt: GvSelectOption<T>, event?: MouseEvent): void;
175
+ clear(event?: MouseEvent): void;
176
+ trackByIndex(index: number): number;
177
+ trackByValue: (_: number, opt: GvSelectOption<T>) => string;
178
+ handleBlur(): void;
179
+ onDocumentClick(event: MouseEvent): void;
180
+ onEscape(): void;
181
+ static ɵfac: i0.ɵɵFactoryDeclaration<Select<any>, never>;
182
+ static ɵcmp: i0.ɵɵComponentDeclaration<Select<any>, "gv-select", never, { "id": { "alias": "id"; "required": false; }; "label": { "alias": "label"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "error": { "alias": "error"; "required": false; }; "required": { "alias": "required"; "required": false; }; "size": { "alias": "size"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "className": { "alias": "className"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "searchable": { "alias": "searchable"; "required": false; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; }; "noResultsText": { "alias": "noResultsText"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "options": { "alias": "options"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, true, never>;
183
+ }
184
+
185
+ declare class FormField {
186
+ /** Visible label above the control */
187
+ label: string | null;
188
+ /** Optional supporting description shown between label and control */
189
+ description: string | null;
190
+ /** Shows a red asterisk next to label */
191
+ required: boolean;
192
+ /** Helper text (only shows when there is no error) */
193
+ helperText: string | null;
194
+ /** Error message (shows under the control) */
195
+ error: string | null;
196
+ /** Makes the field take full width */
197
+ fullWidth: boolean;
198
+ /**
199
+ * Use this to connect label->control and error/helper -> aria-describedby.
200
+ * Example: controlId="email"
201
+ */
202
+ controlId: string;
203
+ /** Optional: set to false to hide the label visually (keeps layout consistent) */
204
+ showLabel: boolean;
205
+ get hostClass(): string;
206
+ get describedById(): string;
207
+ get labelId(): string;
208
+ get hasError(): boolean;
209
+ get hasHelper(): boolean;
210
+ get hasDescription(): boolean;
211
+ get describedByText(): string;
212
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormField, never>;
213
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormField, "gv-form-field", never, { "label": { "alias": "label"; "required": false; }; "description": { "alias": "description"; "required": false; }; "required": { "alias": "required"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "error": { "alias": "error"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "controlId": { "alias": "controlId"; "required": false; }; "showLabel": { "alias": "showLabel"; "required": false; }; }, {}, never, ["[prefix]", "*", "[suffix]"], true, never>;
214
+ }
215
+
216
+ type GvCheckboxSize = 'sm' | 'md' | 'lg';
217
+ declare class Checkbox implements ControlValueAccessor {
218
+ private readonly cdr;
219
+ private readonly generatedId;
220
+ label: string;
221
+ description: string;
222
+ helperText: string;
223
+ errorText: string;
224
+ set error(value: string | null | undefined);
225
+ size: GvCheckboxSize;
226
+ inputId: string;
227
+ set id(value: string | null | undefined);
228
+ name?: string;
229
+ disabled: boolean;
230
+ required: boolean;
231
+ private _indeterminate;
232
+ set indeterminate(value: boolean);
233
+ get indeterminate(): boolean;
234
+ checkedChange: EventEmitter<boolean>;
235
+ inputRef?: ElementRef<HTMLInputElement>;
236
+ checked: boolean;
237
+ focused: boolean;
238
+ private onChange;
239
+ private onTouched;
240
+ constructor(cdr: ChangeDetectorRef);
241
+ get hostClasses(): string;
242
+ writeValue(value: boolean | null): void;
243
+ registerOnChange(fn: (value: boolean) => void): void;
244
+ registerOnTouched(fn: () => void): void;
245
+ setDisabledState(isDisabled: boolean): void;
246
+ handleInputChange(event: Event): void;
247
+ handleBlur(): void;
248
+ handleFocus(): void;
249
+ private syncIndeterminateState;
250
+ static ɵfac: i0.ɵɵFactoryDeclaration<Checkbox, never>;
251
+ static ɵcmp: i0.ɵɵComponentDeclaration<Checkbox, "gv-checkbox", never, { "label": { "alias": "label"; "required": false; }; "description": { "alias": "description"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "error": { "alias": "error"; "required": false; }; "size": { "alias": "size"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; "indeterminate": { "alias": "indeterminate"; "required": false; }; }, { "checkedChange": "checkedChange"; }, never, never, true, never>;
252
+ static ngAcceptInputType_disabled: unknown;
253
+ static ngAcceptInputType_required: unknown;
254
+ static ngAcceptInputType_indeterminate: unknown;
255
+ }
256
+
257
+ type GvRadioSize = 'sm' | 'md' | 'lg';
258
+ declare class Radio implements ControlValueAccessor {
259
+ private readonly cdr;
260
+ private readonly generatedId;
261
+ label: string;
262
+ description: string;
263
+ helperText: string;
264
+ errorText: string;
265
+ set error(value: string | null | undefined);
266
+ size: GvRadioSize;
267
+ inputId: string;
268
+ set id(value: string | null | undefined);
269
+ name?: string;
270
+ value: unknown;
271
+ disabled: boolean;
272
+ required: boolean;
273
+ valueChange: EventEmitter<unknown>;
274
+ inputRef?: ElementRef<HTMLInputElement>;
275
+ modelValue: unknown;
276
+ focused: boolean;
277
+ private onChange;
278
+ private onTouched;
279
+ constructor(cdr: ChangeDetectorRef);
280
+ get hostClasses(): string;
281
+ get checked(): boolean;
282
+ writeValue(value: unknown): void;
283
+ registerOnChange(fn: (value: unknown) => void): void;
284
+ registerOnTouched(fn: () => void): void;
285
+ setDisabledState(isDisabled: boolean): void;
286
+ handleInputChange(event: Event): void;
287
+ handleBlur(): void;
288
+ handleFocus(): void;
289
+ static ɵfac: i0.ɵɵFactoryDeclaration<Radio, never>;
290
+ static ɵcmp: i0.ɵɵComponentDeclaration<Radio, "gv-radio", never, { "label": { "alias": "label"; "required": false; }; "description": { "alias": "description"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "error": { "alias": "error"; "required": false; }; "size": { "alias": "size"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
291
+ static ngAcceptInputType_disabled: unknown;
292
+ static ngAcceptInputType_required: unknown;
293
+ }
294
+
295
+ type GvSwitchSize = 'sm' | 'md' | 'lg';
296
+ declare class Switch implements ControlValueAccessor {
297
+ private readonly cdr;
298
+ private readonly generatedId;
299
+ label: string;
300
+ description: string;
301
+ helperText: string;
302
+ errorText: string;
303
+ set error(value: string | null | undefined);
304
+ size: GvSwitchSize;
305
+ inputId: string;
306
+ set id(value: string | null | undefined);
307
+ name?: string;
308
+ disabled: boolean;
309
+ required: boolean;
310
+ checkedChange: EventEmitter<boolean>;
311
+ checked: boolean;
312
+ focused: boolean;
313
+ private onChange;
314
+ private onTouched;
315
+ constructor(cdr: ChangeDetectorRef);
316
+ get hostClasses(): string;
317
+ writeValue(value: boolean | null): void;
318
+ registerOnChange(fn: (value: boolean) => void): void;
319
+ registerOnTouched(fn: () => void): void;
320
+ setDisabledState(isDisabled: boolean): void;
321
+ handleInputChange(event: Event): void;
322
+ handleBlur(): void;
323
+ handleFocus(): void;
324
+ static ɵfac: i0.ɵɵFactoryDeclaration<Switch, never>;
325
+ static ɵcmp: i0.ɵɵComponentDeclaration<Switch, "gv-switch", never, { "label": { "alias": "label"; "required": false; }; "description": { "alias": "description"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "error": { "alias": "error"; "required": false; }; "size": { "alias": "size"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, { "checkedChange": "checkedChange"; }, never, never, true, never>;
326
+ static ngAcceptInputType_disabled: unknown;
327
+ static ngAcceptInputType_required: unknown;
328
+ }
329
+
330
+ type GvTextareaSize = 'sm' | 'md' | 'lg';
331
+ type GvTextareaResize = 'none' | 'vertical' | 'both';
332
+ declare class Textarea implements ControlValueAccessor {
333
+ private readonly cdr;
334
+ private readonly generatedId;
335
+ label: string;
336
+ description: string;
337
+ helperText: string;
338
+ errorText: string;
339
+ set error(value: string | null | undefined);
340
+ placeholder: string;
341
+ inputId: string;
342
+ set id(value: string | null | undefined);
343
+ name?: string;
344
+ rows: number;
345
+ size: GvTextareaSize;
346
+ resize: GvTextareaResize;
347
+ maxLength?: number;
348
+ disabled: boolean;
349
+ required: boolean;
350
+ readonly: boolean;
351
+ valueChange: EventEmitter<string>;
352
+ value: string;
353
+ focused: boolean;
354
+ private onChange;
355
+ private onTouched;
356
+ constructor(cdr: ChangeDetectorRef);
357
+ get hostClasses(): string;
358
+ get characterCount(): number;
359
+ get describedBy(): string | null;
360
+ writeValue(value: string | null): void;
361
+ registerOnChange(fn: (value: string) => void): void;
362
+ registerOnTouched(fn: () => void): void;
363
+ setDisabledState(isDisabled: boolean): void;
364
+ handleInput(event: Event): void;
365
+ handleFocus(): void;
366
+ handleBlur(): void;
367
+ static ɵfac: i0.ɵɵFactoryDeclaration<Textarea, never>;
368
+ static ɵcmp: i0.ɵɵComponentDeclaration<Textarea, "gv-textarea", never, { "label": { "alias": "label"; "required": false; }; "description": { "alias": "description"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "error": { "alias": "error"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "size": { "alias": "size"; "required": false; }; "resize": { "alias": "resize"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
369
+ static ngAcceptInputType_disabled: unknown;
370
+ static ngAcceptInputType_required: unknown;
371
+ static ngAcceptInputType_readonly: unknown;
372
+ }
373
+
374
+ type ModalSize = 'sm' | 'md' | 'lg' | 'xl';
375
+ type CloseReason = 'backdrop' | 'esc' | 'button';
376
+ declare class Modal implements OnChanges, OnDestroy {
377
+ open: boolean;
378
+ title?: string;
379
+ subtitle?: string;
380
+ size: ModalSize;
381
+ /** UX controls */
382
+ closeOnBackdrop: boolean;
383
+ closeOnEsc: boolean;
384
+ /** When true, disables closing + shows overlayed spinner area (optional UI in CSS) */
385
+ loading: boolean;
386
+ /** Allows extra utility classes on the panel (ex: "border-0") */
387
+ panelClass: string;
388
+ openChange: EventEmitter<boolean>;
389
+ closed: EventEmitter<CloseReason>;
390
+ panelRef?: ElementRef<HTMLElement>;
391
+ readonly titleId: string;
392
+ private prevBodyOverflow;
393
+ private prevFocused;
394
+ get sizeClass(): string;
395
+ get panelClasses(): string;
396
+ ngOnChanges(changes: SimpleChanges): void;
397
+ ngOnDestroy(): void;
398
+ /** Close triggers */
399
+ onBackdropMouseDown(): void;
400
+ onCloseButton(): void;
401
+ onDocKeydown(e: KeyboardEvent): void;
402
+ private requestClose;
403
+ private onOpen;
404
+ private onCloseCleanup;
405
+ private lockBodyScroll;
406
+ private unlockBodyScroll;
407
+ private trapFocus;
408
+ private getFocusable;
409
+ static ɵfac: i0.ɵɵFactoryDeclaration<Modal, never>;
410
+ static ɵcmp: i0.ɵɵComponentDeclaration<Modal, "gv-modal", never, { "open": { "alias": "open"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "size": { "alias": "size"; "required": false; }; "closeOnBackdrop": { "alias": "closeOnBackdrop"; "required": false; }; "closeOnEsc": { "alias": "closeOnEsc"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; }, { "openChange": "openChange"; "closed": "closed"; }, never, ["*", "[gvFooter]"], true, never>;
411
+ }
412
+
413
+ type ToastVariant = 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'dark';
414
+ type ToastPosition = 'top-end' | 'top-start' | 'top-center' | 'bottom-end' | 'bottom-start' | 'bottom-center';
415
+ interface ToastOptions {
416
+ id?: string;
417
+ title?: string;
418
+ message: string;
419
+ variant?: ToastVariant;
420
+ durationMs?: number;
421
+ dismissible?: boolean;
422
+ position?: ToastPosition;
423
+ ariaLive?: 'polite' | 'assertive';
424
+ }
425
+ interface ToastItem extends Required<Omit<ToastOptions, 'id'>> {
426
+ id: string;
427
+ createdAt: number;
428
+ }
429
+
430
+ declare class ToastService {
431
+ private readonly _toasts$;
432
+ readonly toasts$: rxjs.Observable<ToastItem[]>;
433
+ show(opts: ToastOptions): string;
434
+ dismiss(id: string): void;
435
+ clear(): void;
436
+ success(message: string, title?: string): string;
437
+ error(message: string, title?: string): string;
438
+ warning(message: string, title?: string): string;
439
+ info(message: string, title?: string): string;
440
+ static ɵfac: i0.ɵɵFactoryDeclaration<ToastService, never>;
441
+ static ɵprov: i0.ɵɵInjectableDeclaration<ToastService>;
442
+ }
443
+
444
+ declare class Toasts {
445
+ private readonly toastSvc;
446
+ readonly toasts$: rxjs.Observable<ToastItem[]>;
447
+ dismiss(id: string): void;
448
+ trackById(_: number, t: ToastItem): string;
449
+ positionClass(pos: ToastPosition): string;
450
+ static ɵfac: i0.ɵɵFactoryDeclaration<Toasts, never>;
451
+ static ɵcmp: i0.ɵɵComponentDeclaration<Toasts, "gv-toasts", never, {}, {}, never, never, true, never>;
452
+ }
453
+
454
+ declare class Tab {
455
+ private tabs;
456
+ private cdr;
457
+ value: string;
458
+ disabled: boolean;
459
+ private _active;
460
+ private _btn;
461
+ get active(): boolean;
462
+ set active(next: boolean);
463
+ get buttonEl(): HTMLButtonElement | null;
464
+ constructor(tabs: Tabs | null, cdr: ChangeDetectorRef);
465
+ get tabIndex(): 0 | -1;
466
+ onClick(): void;
467
+ onKeydown(e: KeyboardEvent): void;
468
+ static ɵfac: i0.ɵɵFactoryDeclaration<Tab, [{ optional: true; }, null]>;
469
+ static ɵcmp: i0.ɵɵComponentDeclaration<Tab, "gv-tab", never, { "value": { "alias": "value"; "required": true; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, ["*"], true, never>;
470
+ }
471
+
472
+ declare class TabPanel {
473
+ private cdr;
474
+ value: string;
475
+ private _active;
476
+ host: boolean;
477
+ get active(): boolean;
478
+ set active(next: boolean);
479
+ constructor(cdr: ChangeDetectorRef);
480
+ static ɵfac: i0.ɵɵFactoryDeclaration<TabPanel, never>;
481
+ static ɵcmp: i0.ɵɵComponentDeclaration<TabPanel, "gv-tab-panel", never, { "value": { "alias": "value"; "required": true; }; }, {}, never, ["*"], true, never>;
482
+ }
483
+
484
+ type TabsVariant = 'underline' | 'pill';
485
+ declare class Tabs implements AfterContentInit {
486
+ private hostEl;
487
+ value: string | null;
488
+ valueChange: EventEmitter<string>;
489
+ variant: TabsVariant;
490
+ get dataVariant(): TabsVariant;
491
+ tabs: QueryList<Tab>;
492
+ panels: QueryList<TabPanel>;
493
+ private zone;
494
+ private destroyRef;
495
+ constructor(hostEl: ElementRef<HTMLElement>);
496
+ ngAfterContentInit(): void;
497
+ setValue(next: string, emit?: boolean): void;
498
+ private syncChildren;
499
+ /** Wait until Angular finishes applying DOM updates, then measure */
500
+ private updateIndicatorAfterRender;
501
+ /** Measure active tab button + write CSS vars on the list */
502
+ private updateIndicatorNow;
503
+ static ɵfac: i0.ɵɵFactoryDeclaration<Tabs, never>;
504
+ static ɵcmp: i0.ɵɵComponentDeclaration<Tabs, "gv-tabs", never, { "value": { "alias": "value"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; }, { "valueChange": "valueChange"; }, ["tabs", "panels"], ["gv-tab-list", "gv-tab-panels"], true, never>;
505
+ }
506
+
507
+ declare class TabList {
508
+ hostClass: boolean;
509
+ static ɵfac: i0.ɵɵFactoryDeclaration<TabList, never>;
510
+ static ɵcmp: i0.ɵɵComponentDeclaration<TabList, "gv-tab-list", never, {}, {}, never, ["*"], true, never>;
511
+ }
512
+
513
+ declare class TabPanels {
514
+ static ɵfac: i0.ɵɵFactoryDeclaration<TabPanels, never>;
515
+ static ɵcmp: i0.ɵɵComponentDeclaration<TabPanels, "gv-tab-panels", never, {}, {}, never, ["*"], true, never>;
516
+ }
517
+
518
+ type GvLoaderVariant = 'spinner' | 'dots';
519
+ type GvLoaderSize = 'sm' | 'md' | 'lg';
520
+ declare class Loader {
521
+ variant: GvLoaderVariant;
522
+ size: GvLoaderSize;
523
+ label?: string;
524
+ inline: boolean;
525
+ overlay: boolean;
526
+ centered: boolean;
527
+ protected readonly baseClass = true;
528
+ get inlineClass(): boolean;
529
+ get overlayClass(): boolean;
530
+ get centeredClass(): boolean;
531
+ get spinnerClass(): boolean;
532
+ get dotsClass(): boolean;
533
+ get smClass(): boolean;
534
+ get mdClass(): boolean;
535
+ get lgClass(): boolean;
536
+ get ariaLabel(): string;
537
+ get showVisibleLabel(): boolean;
538
+ get dots(): number[];
539
+ static ɵfac: i0.ɵɵFactoryDeclaration<Loader, never>;
540
+ static ɵcmp: i0.ɵɵComponentDeclaration<Loader, "gv-loader", never, { "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "label": { "alias": "label"; "required": false; }; "inline": { "alias": "inline"; "required": false; }; "overlay": { "alias": "overlay"; "required": false; }; "centered": { "alias": "centered"; "required": false; }; }, {}, never, never, true, never>;
541
+ }
542
+
543
+ type GvTableSortDirection = 'asc' | 'desc' | null;
544
+ type GvTableFilterType = 'text' | 'select' | 'number-range' | 'date-range';
545
+ interface GvTableFilterOption {
546
+ label: string;
547
+ value: any;
548
+ }
549
+ interface GvTableColumnFilter {
550
+ type: GvTableFilterType;
551
+ options?: GvTableFilterOption[];
552
+ }
553
+ interface GvTableColumn<T = any> {
554
+ key: keyof T | string;
555
+ label: string;
556
+ sortable?: boolean;
557
+ searchable?: boolean;
558
+ width?: string;
559
+ align?: 'start' | 'center' | 'end';
560
+ filter?: GvTableColumnFilter;
561
+ }
562
+ interface GvTablePageSizeOption {
563
+ label: string;
564
+ value: number;
565
+ }
566
+ type GvNumberRangeFilterValue = {
567
+ min?: number | null;
568
+ max?: number | null;
569
+ };
570
+ type GvDateRangeFilterValue = {
571
+ from?: string | null;
572
+ to?: string | null;
573
+ };
574
+ type GvActiveFilterChip<T> = {
575
+ key: string;
576
+ label: string;
577
+ valueLabel: string;
578
+ column?: GvTableColumn<T>;
579
+ kind: 'global' | 'column';
580
+ };
581
+ declare class Table<T extends Record<string, any>> implements OnChanges {
582
+ columns: GvTableColumn<T>[];
583
+ rows: T[];
584
+ filterable: boolean;
585
+ showColumnFilters: boolean;
586
+ collapsibleFilters: boolean;
587
+ filtersExpanded: boolean;
588
+ filterPlaceholder: string;
589
+ pagination: boolean;
590
+ pageSize: number;
591
+ pageSizeOptions: GvTablePageSizeOption[];
592
+ rowLimit: number | null;
593
+ minBodyHeight: number;
594
+ loading: boolean;
595
+ emptyText: string;
596
+ emptyTitle: string;
597
+ emptyDescription: string;
598
+ loadingTitle: string;
599
+ loadingDescription: string;
600
+ className: string;
601
+ striped: boolean;
602
+ hover: boolean;
603
+ compact: boolean;
604
+ filterTerm: string;
605
+ currentPage: number;
606
+ sortKey: string | null;
607
+ sortDirection: GvTableSortDirection;
608
+ columnFilters: Record<string, any>;
609
+ areFiltersOpen: boolean;
610
+ ngOnChanges(changes: SimpleChanges): void;
611
+ get processedRows(): T[];
612
+ get pagedRows(): T[];
613
+ get totalRows(): number;
614
+ get totalPages(): number;
615
+ get startRow(): number;
616
+ get endRow(): number;
617
+ get tableClass(): string;
618
+ get filterColumns(): GvTableColumn<T>[];
619
+ get hasColumnFilters(): boolean;
620
+ get searchableColumns(): GvTableColumn<T>[];
621
+ get shouldShowFiltersPanel(): boolean;
622
+ get activeFilterCount(): number;
623
+ get activeFilterChips(): GvActiveFilterChip<T>[];
624
+ get resolvedEmptyDescription(): string;
625
+ onFilterChange(): void;
626
+ onColumnFilterChange(): void;
627
+ onPageSizeChange(value: string | number): void;
628
+ toggleFilters(): void;
629
+ clearFilterChip(chip: GvActiveFilterChip<T>): void;
630
+ toggleSort(column: GvTableColumn<T>): void;
631
+ getSortDirection(column: GvTableColumn<T>): GvTableSortDirection;
632
+ goToPage(page: number): void;
633
+ previousPage(): void;
634
+ nextPage(): void;
635
+ clearAllFilters(): void;
636
+ trackByIndex(index: number): number;
637
+ trackByColumn: (_: number, column: GvTableColumn<T>) => string;
638
+ trackByChip: (_: number, chip: GvActiveFilterChip<T>) => string;
639
+ getCellValue(row: T, key: keyof T | string): any;
640
+ getAlignClass(column: GvTableColumn<T>): string;
641
+ getFilterKey(column: GvTableColumn<T>): string;
642
+ getFilterType(column: GvTableColumn<T>): GvTableFilterType | null;
643
+ getTextFilterValue(column: GvTableColumn<T>): string;
644
+ setTextFilterValue(column: GvTableColumn<T>, value: string): void;
645
+ getSelectFilterValue(column: GvTableColumn<T>): any;
646
+ setSelectFilterValue(column: GvTableColumn<T>, value: any): void;
647
+ getNumberRangeFilterValue(column: GvTableColumn<T>): GvNumberRangeFilterValue;
648
+ setNumberRangeFilterMin(column: GvTableColumn<T>, value: string | number | null): void;
649
+ setNumberRangeFilterMax(column: GvTableColumn<T>, value: string | number | null): void;
650
+ getDateRangeFilterValue(column: GvTableColumn<T>): GvDateRangeFilterValue;
651
+ setDateRangeFilterFrom(column: GvTableColumn<T>, value: string | null): void;
652
+ setDateRangeFilterTo(column: GvTableColumn<T>, value: string | null): void;
653
+ private initializeColumnFilters;
654
+ private applyGlobalSearch;
655
+ private applyColumnFilters;
656
+ private compareValues;
657
+ private ensureValidPage;
658
+ static ɵfac: i0.ɵɵFactoryDeclaration<Table<any>, never>;
659
+ static ɵcmp: i0.ɵɵComponentDeclaration<Table<any>, "gv-table", never, { "columns": { "alias": "columns"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "filterable": { "alias": "filterable"; "required": false; }; "showColumnFilters": { "alias": "showColumnFilters"; "required": false; }; "collapsibleFilters": { "alias": "collapsibleFilters"; "required": false; }; "filtersExpanded": { "alias": "filtersExpanded"; "required": false; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; }; "pagination": { "alias": "pagination"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; }; "rowLimit": { "alias": "rowLimit"; "required": false; }; "minBodyHeight": { "alias": "minBodyHeight"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "emptyText": { "alias": "emptyText"; "required": false; }; "emptyTitle": { "alias": "emptyTitle"; "required": false; }; "emptyDescription": { "alias": "emptyDescription"; "required": false; }; "loadingTitle": { "alias": "loadingTitle"; "required": false; }; "loadingDescription": { "alias": "loadingDescription"; "required": false; }; "className": { "alias": "className"; "required": false; }; "striped": { "alias": "striped"; "required": false; }; "hover": { "alias": "hover"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; }, {}, never, never, true, never>;
660
+ }
661
+
662
+ type GvSkeletonVariant = 'text' | 'rect' | 'circle';
663
+ declare class Skeleton {
664
+ variant: GvSkeletonVariant;
665
+ width?: string;
666
+ height?: string;
667
+ lines: number;
668
+ animated: boolean;
669
+ protected readonly baseClass = true;
670
+ get animatedClass(): boolean;
671
+ get textClass(): boolean;
672
+ get rectClass(): boolean;
673
+ get circleClass(): boolean;
674
+ get skeletonWidth(): string | null;
675
+ get skeletonHeight(): string | null;
676
+ get resolvedLines(): number[];
677
+ get hostWidth(): string | null;
678
+ get hostHeight(): string | null;
679
+ lineWidth(index: number): string | null;
680
+ static ɵfac: i0.ɵɵFactoryDeclaration<Skeleton, never>;
681
+ static ɵcmp: i0.ɵɵComponentDeclaration<Skeleton, "gv-skeleton", never, { "variant": { "alias": "variant"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "lines": { "alias": "lines"; "required": false; }; "animated": { "alias": "animated"; "required": false; }; }, {}, never, never, true, never>;
682
+ }
683
+
684
+ type GvDropdownAlign = 'start' | 'end';
685
+ declare class DropdownTriggerDirective {
686
+ static ɵfac: i0.ɵɵFactoryDeclaration<DropdownTriggerDirective, never>;
687
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DropdownTriggerDirective, "[gvDropdownTrigger]", never, {}, {}, never, never, true, never>;
688
+ }
689
+ declare class DropdownMenuDirective {
690
+ static ɵfac: i0.ɵɵFactoryDeclaration<DropdownMenuDirective, never>;
691
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DropdownMenuDirective, "[gvDropdownMenu]", never, {}, {}, never, never, true, never>;
692
+ }
693
+ declare class Dropdown {
694
+ private readonly hostRef;
695
+ private readonly cdr;
696
+ align: GvDropdownAlign;
697
+ disabled: boolean;
698
+ closeOnItemClick: boolean;
699
+ protected readonly baseClass = true;
700
+ get openClass(): boolean;
701
+ get disabledClass(): boolean;
702
+ get alignEndClass(): boolean;
703
+ open: boolean;
704
+ constructor(hostRef: ElementRef<HTMLElement>, cdr: ChangeDetectorRef);
705
+ toggle(event?: Event): void;
706
+ closeMenu(): void;
707
+ onTriggerKeydown(event: KeyboardEvent): void;
708
+ onMenuClick(event: MouseEvent): void;
709
+ onMenuKeydown(event: KeyboardEvent): void;
710
+ onDocumentClick(event: MouseEvent): void;
711
+ static ɵfac: i0.ɵɵFactoryDeclaration<Dropdown, never>;
712
+ static ɵcmp: i0.ɵɵComponentDeclaration<Dropdown, "gv-dropdown", never, { "align": { "alias": "align"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "closeOnItemClick": { "alias": "closeOnItemClick"; "required": false; }; }, {}, never, ["[gvDropdownTrigger]", "[gvDropdownMenu]"], true, never>;
713
+ }
714
+
715
+ type GvAvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
716
+ type GvAvatarShape = 'circle' | 'rounded' | 'square';
717
+ type GvAvatarBackground = 'subtle' | 'primary' | 'neutral';
718
+ declare class Avatar {
719
+ src?: string;
720
+ alt?: string;
721
+ name?: string;
722
+ initials?: string;
723
+ size: GvAvatarSize;
724
+ shape: GvAvatarShape;
725
+ background: GvAvatarBackground;
726
+ imageFailed: boolean;
727
+ get hostClasses(): string;
728
+ get hasImage(): boolean;
729
+ get computedAlt(): string;
730
+ get displayInitials(): string;
731
+ get shouldShowInitials(): boolean;
732
+ get shouldShowProjectedContent(): boolean;
733
+ onImageError(): void;
734
+ static ɵfac: i0.ɵɵFactoryDeclaration<Avatar, never>;
735
+ static ɵcmp: i0.ɵɵComponentDeclaration<Avatar, "gv-avatar", never, { "src": { "alias": "src"; "required": false; }; "alt": { "alias": "alt"; "required": false; }; "name": { "alias": "name"; "required": false; }; "initials": { "alias": "initials"; "required": false; }; "size": { "alias": "size"; "required": false; }; "shape": { "alias": "shape"; "required": false; }; "background": { "alias": "background"; "required": false; }; }, {}, never, ["*"], true, never>;
736
+ }
737
+
738
+ type GvBadgeVariant = 'neutral' | 'primary' | 'success' | 'warning' | 'danger' | 'info';
739
+ type GvBadgeSize = 'sm' | 'md';
740
+ declare class Badge {
741
+ variant: GvBadgeVariant;
742
+ size: GvBadgeSize;
743
+ pill: boolean;
744
+ dot: boolean;
745
+ protected readonly baseClass = true;
746
+ get neutralClass(): boolean;
747
+ get primaryClass(): boolean;
748
+ get successClass(): boolean;
749
+ get warningClass(): boolean;
750
+ get dangerClass(): boolean;
751
+ get infoClass(): boolean;
752
+ get smClass(): boolean;
753
+ get mdClass(): boolean;
754
+ get pillClass(): boolean;
755
+ get dotClass(): boolean;
756
+ static ɵfac: i0.ɵɵFactoryDeclaration<Badge, never>;
757
+ static ɵcmp: i0.ɵɵComponentDeclaration<Badge, "gv-badge", never, { "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "pill": { "alias": "pill"; "required": false; }; "dot": { "alias": "dot"; "required": false; }; }, {}, never, ["*"], true, never>;
758
+ static ngAcceptInputType_pill: unknown;
759
+ static ngAcceptInputType_dot: unknown;
760
+ }
761
+
762
+ type GvAlertVariant = 'neutral' | 'info' | 'success' | 'warning' | 'danger';
763
+ declare class Alert {
764
+ variant: GvAlertVariant;
765
+ title?: string;
766
+ dismissible: boolean;
767
+ dismissed: EventEmitter<void>;
768
+ protected visible: boolean;
769
+ protected readonly baseClass = true;
770
+ get neutralClass(): boolean;
771
+ get infoClass(): boolean;
772
+ get successClass(): boolean;
773
+ get warningClass(): boolean;
774
+ get dangerClass(): boolean;
775
+ get role(): string;
776
+ onDismiss(): void;
777
+ static ɵfac: i0.ɵɵFactoryDeclaration<Alert, never>;
778
+ static ɵcmp: i0.ɵɵComponentDeclaration<Alert, "gv-alert", never, { "variant": { "alias": "variant"; "required": false; }; "title": { "alias": "title"; "required": false; }; "dismissible": { "alias": "dismissible"; "required": false; }; }, { "dismissed": "dismissed"; }, never, ["*"], true, never>;
779
+ static ngAcceptInputType_dismissible: unknown;
780
+ }
781
+
782
+ declare class Empty {
783
+ title: string;
784
+ description: string;
785
+ compact: boolean;
786
+ protected readonly baseClass = true;
787
+ get compactClass(): boolean;
788
+ static ɵfac: i0.ɵɵFactoryDeclaration<Empty, never>;
789
+ static ɵcmp: i0.ɵɵComponentDeclaration<Empty, "gv-empty", never, { "title": { "alias": "title"; "required": false; }; "description": { "alias": "description"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; }, {}, never, ["[gvEmptyActions]"], true, never>;
790
+ static ngAcceptInputType_compact: unknown;
791
+ }
792
+
793
+ type GvTooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
794
+ declare class GvTooltipPanelComponent {
795
+ text: string;
796
+ placement: GvTooltipPlacement;
797
+ maxWidth: number;
798
+ get hostClasses(): string;
799
+ get hostMaxWidth(): number;
800
+ static ɵfac: i0.ɵɵFactoryDeclaration<GvTooltipPanelComponent, never>;
801
+ static ɵcmp: i0.ɵɵComponentDeclaration<GvTooltipPanelComponent, "gv-tooltip-panel", never, { "text": { "alias": "text"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; }, {}, never, never, true, never>;
802
+ }
803
+
804
+ type GvTooltipTrigger = 'hover' | 'focus' | 'click' | 'manual';
805
+ declare class GvTooltipDirective implements OnDestroy {
806
+ private readonly elementRef;
807
+ private readonly appRef;
808
+ private readonly renderer;
809
+ private readonly ngZone;
810
+ private readonly document;
811
+ text: string;
812
+ gvTooltipPlacement: GvTooltipPlacement;
813
+ gvTooltipTrigger: GvTooltipTrigger;
814
+ gvTooltipDisabled: boolean;
815
+ gvTooltipOffset: number;
816
+ gvTooltipMaxWidth: number;
817
+ private tooltipRef;
818
+ private removeScrollListener;
819
+ private removeResizeListener;
820
+ private removeDocumentClickListener;
821
+ private readonly isOpen;
822
+ private readonly tooltipId;
823
+ constructor(elementRef: ElementRef<HTMLElement>, appRef: ApplicationRef, renderer: Renderer2, ngZone: NgZone, document: Document);
824
+ onMouseEnter(): void;
825
+ onMouseLeave(): void;
826
+ onFocusIn(): void;
827
+ onFocusOut(): void;
828
+ onHostClick(event: MouseEvent): void;
829
+ onEscape(): void;
830
+ show(): void;
831
+ hide(): void;
832
+ toggle(): void;
833
+ ngOnDestroy(): void;
834
+ private bindGlobalListeners;
835
+ private unbindGlobalListeners;
836
+ private positionTooltip;
837
+ static ɵfac: i0.ɵɵFactoryDeclaration<GvTooltipDirective, never>;
838
+ static ɵdir: i0.ɵɵDirectiveDeclaration<GvTooltipDirective, "[gvTooltip]", ["gvTooltip"], { "text": { "alias": "gvTooltip"; "required": false; }; "gvTooltipPlacement": { "alias": "gvTooltipPlacement"; "required": false; }; "gvTooltipTrigger": { "alias": "gvTooltipTrigger"; "required": false; }; "gvTooltipDisabled": { "alias": "gvTooltipDisabled"; "required": false; }; "gvTooltipOffset": { "alias": "gvTooltipOffset"; "required": false; }; "gvTooltipMaxWidth": { "alias": "gvTooltipMaxWidth"; "required": false; }; }, {}, never, never, true, never>;
839
+ static ngAcceptInputType_gvTooltipDisabled: unknown;
840
+ }
841
+
842
+ type GvIconButtonVariant = 'default' | 'ghost' | 'primary' | 'danger';
843
+ type GvIconButtonSize = 'sm' | 'md' | 'lg';
844
+ type GvIconButtonShape = 'rounded' | 'circle' | 'square';
845
+ type GvIconButtonType = 'button' | 'submit' | 'reset';
846
+ type GvIconButtonAppearance = 'solid' | 'soft' | 'outline' | 'ghost';
847
+ declare class IconButton {
848
+ ariaLabel: string;
849
+ variant: GvIconButtonVariant;
850
+ appearance: GvIconButtonAppearance;
851
+ size: GvIconButtonSize;
852
+ shape: GvIconButtonShape;
853
+ type: GvIconButtonType;
854
+ disabled: boolean;
855
+ active: boolean;
856
+ buttonClick: EventEmitter<MouseEvent>;
857
+ get hostClasses(): string;
858
+ onClick(event: MouseEvent): void;
859
+ static ɵfac: i0.ɵɵFactoryDeclaration<IconButton, never>;
860
+ static ɵcmp: i0.ɵɵComponentDeclaration<IconButton, "gv-icon-button", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "size": { "alias": "size"; "required": false; }; "shape": { "alias": "shape"; "required": false; }; "type": { "alias": "type"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "active": { "alias": "active"; "required": false; }; }, { "buttonClick": "buttonClick"; }, never, ["*"], true, never>;
861
+ static ngAcceptInputType_disabled: unknown;
862
+ static ngAcceptInputType_active: unknown;
863
+ }
864
+
865
+ type GvDividerOrientation = 'horizontal' | 'vertical';
866
+ declare class Divider {
867
+ orientation: GvDividerOrientation;
868
+ label?: string;
869
+ inset: boolean;
870
+ get hostClasses(): string;
871
+ static ɵfac: i0.ɵɵFactoryDeclaration<Divider, never>;
872
+ static ɵcmp: i0.ɵɵComponentDeclaration<Divider, "gv-divider", never, { "orientation": { "alias": "orientation"; "required": false; }; "label": { "alias": "label"; "required": false; }; "inset": { "alias": "inset"; "required": false; }; }, {}, never, never, true, never>;
873
+ static ngAcceptInputType_inset: unknown;
874
+ }
875
+
876
+ export { Alert, Avatar, Badge, Button, Card, Checkbox, Divider, Dropdown, DropdownMenuDirective, DropdownTriggerDirective, Empty, FormField, GvTooltipDirective, GvTooltipPanelComponent, IconButton, InputComponent, Loader, Modal, Radio, Select, Skeleton, Switch, Tab, TabList, TabPanel, TabPanels, Table, Tabs, Textarea, ToastService, Toasts };
877
+ export type { GvAlertVariant, GvAvatarBackground, GvAvatarShape, GvAvatarSize, GvBadgeSize, GvBadgeVariant, GvCheckboxSize, GvDividerOrientation, GvDropdownAlign, GvIconButtonAppearance, GvIconButtonShape, GvIconButtonSize, GvIconButtonType, GvIconButtonVariant, GvLoaderSize, GvLoaderVariant, GvRadioSize, GvSelectOption, GvSelectSize, GvSkeletonVariant, GvSwitchSize, GvTableColumn, GvTableColumnFilter, GvTableFilterOption, GvTableFilterType, GvTablePageSizeOption, GvTableSortDirection, GvTextareaResize, GvTextareaSize, GvTooltipPlacement, GvTooltipTrigger, SelectValue, TabsVariant, ToastItem, ToastOptions, ToastPosition, ToastVariant };