@masmarino/gabarit 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,786 @@
1
+ import * as _angular_platform_browser from '@angular/platform-browser';
2
+ import * as _angular_core from '@angular/core';
3
+ import { OnDestroy, TemplateRef, ElementRef, InjectionToken, Signal } from '@angular/core';
4
+ import { ControlValueAccessor } from '@angular/forms';
5
+
6
+ declare const GABARIT_VERSION = "0.1.0";
7
+
8
+ declare class Icon {
9
+ private readonly sanitizer;
10
+ private readonly registry;
11
+ name: _angular_core.InputSignal<string>;
12
+ protected readonly svgContent: _angular_core.Signal<_angular_platform_browser.SafeHtml | null>;
13
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<Icon, never>;
14
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<Icon, "gbt-icon", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
15
+ }
16
+
17
+ declare class IconRegistry {
18
+ private readonly icons;
19
+ register(name: string, svgInnerMarkup: string): void;
20
+ registerAll(icons: Record<string, string>): void;
21
+ get(name: string): string | null;
22
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IconRegistry, never>;
23
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<IconRegistry>;
24
+ }
25
+
26
+ declare class AppShell {
27
+ navLabel: _angular_core.InputSignal<string>;
28
+ skipLabel: _angular_core.InputSignal<string>;
29
+ openMenuLabel: _angular_core.InputSignal<string>;
30
+ closeMenuLabel: _angular_core.InputSignal<string>;
31
+ private readonly id;
32
+ protected readonly mainId: string;
33
+ protected readonly navId: string;
34
+ protected readonly menuOpen: _angular_core.WritableSignal<boolean>;
35
+ protected readonly menuLabel: _angular_core.Signal<string>;
36
+ private readonly toggleButton;
37
+ private readonly nav;
38
+ protected toggleMenu(): void;
39
+ protected close(): void;
40
+ protected onEscape(): void;
41
+ protected onNavKeydown(event: KeyboardEvent): void;
42
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AppShell, never>;
43
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AppShell, "gbt-app-shell", never, { "navLabel": { "alias": "navLabel"; "required": true; "isSignal": true; }; "skipLabel": { "alias": "skipLabel"; "required": true; "isSignal": true; }; "openMenuLabel": { "alias": "openMenuLabel"; "required": true; "isSignal": true; }; "closeMenuLabel": { "alias": "closeMenuLabel"; "required": true; "isSignal": true; }; }, {}, never, ["[shell-brand]", "[shell-nav]", "[shell-header]", "*"], true, never>;
44
+ }
45
+
46
+ declare class Button {
47
+ variant: _angular_core.InputSignal<"primary" | "secondary" | "danger">;
48
+ size: _angular_core.InputSignal<"small" | "medium" | "large">;
49
+ type: _angular_core.InputSignal<"button" | "submit">;
50
+ text: _angular_core.InputSignal<string>;
51
+ iconName: _angular_core.InputSignal<string | null>;
52
+ ariaLabel: _angular_core.InputSignal<string | null>;
53
+ loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
54
+ loadingLabel: _angular_core.InputSignal<string>;
55
+ disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
56
+ clicked: _angular_core.OutputEmitterRef<void>;
57
+ protected handleClick(): void;
58
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<Button, never>;
59
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<Button, "gbt-button", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "iconName": { "alias": "iconName"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingLabel": { "alias": "loadingLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, never, never, true, never>;
60
+ }
61
+
62
+ declare class Card {
63
+ hoverable: _angular_core.InputSignalWithTransform<boolean, unknown>;
64
+ heading: _angular_core.InputSignal<string>;
65
+ icon: _angular_core.InputSignal<string>;
66
+ headingLevel: _angular_core.InputSignal<2 | 1 | 3 | 4 | 5 | 6>;
67
+ protected readonly cardClass: _angular_core.Signal<string>;
68
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<Card, never>;
69
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<Card, "gbt-card", never, { "hoverable": { "alias": "hoverable"; "required": false; "isSignal": true; }; "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "headingLevel": { "alias": "headingLevel"; "required": false; "isSignal": true; }; }, {}, never, ["[card-header-actions]", "*"], true, never>;
70
+ }
71
+
72
+ declare class GbtInput implements ControlValueAccessor {
73
+ id: _angular_core.InputSignal<string>;
74
+ label: _angular_core.InputSignal<string>;
75
+ type: _angular_core.InputSignal<"text" | "password">;
76
+ required: _angular_core.InputSignalWithTransform<boolean, unknown>;
77
+ disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
78
+ placeholder: _angular_core.InputSignal<string>;
79
+ errorMessage: _angular_core.InputSignal<string | null>;
80
+ autocomplete: _angular_core.InputSignal<string>;
81
+ showPasswordLabel: _angular_core.InputSignal<string>;
82
+ hidePasswordLabel: _angular_core.InputSignal<string>;
83
+ protected readonly value: _angular_core.WritableSignal<string>;
84
+ protected readonly passwordVisible: _angular_core.WritableSignal<boolean>;
85
+ protected readonly effectiveType: _angular_core.Signal<"text" | "password">;
86
+ private readonly formDisabled;
87
+ protected readonly isDisabled: _angular_core.Signal<boolean>;
88
+ private onChange;
89
+ private onTouched;
90
+ writeValue(value: string): void;
91
+ registerOnChange(fn: (value: string) => void): void;
92
+ registerOnTouched(fn: () => void): void;
93
+ setDisabledState(isDisabled: boolean): void;
94
+ protected onInput(event: Event): void;
95
+ protected onBlur(): void;
96
+ protected togglePasswordVisibility(): void;
97
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<GbtInput, never>;
98
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<GbtInput, "gbt-input", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "showPasswordLabel": { "alias": "showPasswordLabel"; "required": false; "isSignal": true; }; "hidePasswordLabel": { "alias": "hidePasswordLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
99
+ }
100
+
101
+ declare class Checkbox implements ControlValueAccessor {
102
+ id: _angular_core.InputSignal<string>;
103
+ label: _angular_core.InputSignal<string>;
104
+ disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
105
+ protected readonly checked: _angular_core.WritableSignal<boolean>;
106
+ private readonly formDisabled;
107
+ protected readonly isDisabled: _angular_core.Signal<boolean>;
108
+ private onChange;
109
+ private onTouched;
110
+ writeValue(value: boolean): void;
111
+ registerOnChange(fn: (value: boolean) => void): void;
112
+ registerOnTouched(fn: () => void): void;
113
+ setDisabledState(isDisabled: boolean): void;
114
+ protected onToggle(event: Event): void;
115
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<Checkbox, never>;
116
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<Checkbox, "gbt-checkbox", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
117
+ }
118
+
119
+ interface SelectOption<T = string> {
120
+ value: T;
121
+ label: string;
122
+ icon?: string;
123
+ }
124
+ declare class Select<T = string> implements ControlValueAccessor {
125
+ private readonly elementRef;
126
+ id: _angular_core.InputSignal<string>;
127
+ label: _angular_core.InputSignal<string>;
128
+ options: _angular_core.InputSignal<SelectOption<T>[]>;
129
+ multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
130
+ placeholder: _angular_core.InputSignal<string>;
131
+ disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
132
+ required: _angular_core.InputSignalWithTransform<boolean, unknown>;
133
+ errorMessage: _angular_core.InputSignal<string | null>;
134
+ selectedCountLabel: _angular_core.InputSignal<(count: number) => string>;
135
+ protected readonly open: _angular_core.WritableSignal<boolean>;
136
+ protected readonly activeIndex: _angular_core.WritableSignal<number>;
137
+ protected readonly selected: _angular_core.WritableSignal<T[]>;
138
+ protected readonly panelStyle: _angular_core.WritableSignal<{
139
+ top: string;
140
+ left: string;
141
+ width: string;
142
+ } | null>;
143
+ private readonly formDisabled;
144
+ protected readonly labelId: _angular_core.Signal<string>;
145
+ protected readonly isDisabled: _angular_core.Signal<boolean>;
146
+ private onChange;
147
+ private onTouched;
148
+ setDisabledState(isDisabled: boolean): void;
149
+ writeValue(value: T | T[] | null): void;
150
+ registerOnChange(fn: (value: T | T[] | null) => void): void;
151
+ registerOnTouched(fn: () => void): void;
152
+ protected readonly selectedOptions: _angular_core.Signal<SelectOption<T>[]>;
153
+ protected readonly triggerLabel: _angular_core.Signal<string>;
154
+ protected readonly triggerIcon: _angular_core.Signal<string | undefined>;
155
+ protected readonly activeOptionId: _angular_core.Signal<string | null>;
156
+ protected isSelected(value: T): boolean;
157
+ protected toggleOpen(): void;
158
+ protected updatePanelPosition(): void;
159
+ protected selectOption(value: T): void;
160
+ protected handleClickOutside(event: MouseEvent): void;
161
+ protected onKeydown(event: KeyboardEvent): void;
162
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<Select<any>, never>;
163
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<Select<any>, "gbt-select", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": true; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "selectedCountLabel": { "alias": "selectedCountLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
164
+ }
165
+
166
+ declare class Modal implements OnDestroy {
167
+ isOpen: _angular_core.InputSignal<boolean>;
168
+ heading: _angular_core.InputSignal<string>;
169
+ headingLevel: _angular_core.InputSignal<2 | 1 | 3 | 4 | 5 | 6>;
170
+ closeLabel: _angular_core.InputSignal<string>;
171
+ closed: _angular_core.OutputEmitterRef<void>;
172
+ private readonly dialog;
173
+ private previouslyFocused;
174
+ constructor();
175
+ ngOnDestroy(): void;
176
+ protected onEscape(): void;
177
+ protected onBackdropClick(event: MouseEvent): void;
178
+ protected onDialogKeydown(event: KeyboardEvent): void;
179
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<Modal, never>;
180
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<Modal, "gbt-modal", never, { "isOpen": { "alias": "isOpen"; "required": true; "isSignal": true; }; "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "headingLevel": { "alias": "headingLevel"; "required": false; "isSignal": true; }; "closeLabel": { "alias": "closeLabel"; "required": false; "isSignal": true; }; }, { "closed": "closed"; }, never, ["*"], true, never>;
181
+ }
182
+
183
+ interface TableColumn<T> {
184
+ key: Extract<keyof T, string>;
185
+ label: string;
186
+ format?: (row: T) => string;
187
+ }
188
+ declare class Table<T extends object> {
189
+ data: _angular_core.InputSignal<T[]>;
190
+ columns: _angular_core.InputSignal<TableColumn<T>[]>;
191
+ trackBy: _angular_core.InputSignal<((row: T) => unknown) | null>;
192
+ emptyMessage: _angular_core.InputSignal<string>;
193
+ caption: _angular_core.InputSignal<string>;
194
+ clickableRows: _angular_core.InputSignalWithTransform<boolean, unknown>;
195
+ rowClick: _angular_core.OutputEmitterRef<T>;
196
+ protected trackRow: (index: number, row: T) => unknown;
197
+ protected onRowKeydown(event: KeyboardEvent, row: T): void;
198
+ protected cellValue(row: T, column: TableColumn<T>): unknown;
199
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<Table<any>, never>;
200
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<Table<any>, "gbt-table", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "caption": { "alias": "caption"; "required": true; "isSignal": true; }; "clickableRows": { "alias": "clickableRows"; "required": false; "isSignal": true; }; }, { "rowClick": "rowClick"; }, never, never, true, never>;
201
+ }
202
+
203
+ interface SearchResultCategory<T = unknown> {
204
+ label: string;
205
+ icon?: string;
206
+ items: T[];
207
+ }
208
+ declare class SearchBar<T = unknown> {
209
+ private readonly elementRef;
210
+ id: _angular_core.InputSignal<string>;
211
+ results: _angular_core.InputSignal<T[] | null>;
212
+ groupedResults: _angular_core.InputSignal<SearchResultCategory<T>[] | null>;
213
+ placeholder: _angular_core.InputSignal<string>;
214
+ ariaLabel: _angular_core.InputSignal<string>;
215
+ displayFn: _angular_core.InputSignal<(item: T) => string>;
216
+ itemTemplate: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
217
+ keepQueryOnSelect: _angular_core.InputSignal<boolean>;
218
+ noResultsMessage: _angular_core.InputSignal<string>;
219
+ noResultsHint: _angular_core.InputSignal<string>;
220
+ clearLabel: _angular_core.InputSignal<string>;
221
+ resultsAnnouncement: _angular_core.InputSignal<(count: number) => string>;
222
+ navigateHint: _angular_core.InputSignal<string>;
223
+ selectHint: _angular_core.InputSignal<string>;
224
+ closeHint: _angular_core.InputSignal<string>;
225
+ queryChange: _angular_core.OutputEmitterRef<string>;
226
+ itemSelected: _angular_core.OutputEmitterRef<T>;
227
+ clear: _angular_core.OutputEmitterRef<void>;
228
+ protected readonly isFocused: _angular_core.WritableSignal<boolean>;
229
+ protected readonly showResults: _angular_core.WritableSignal<boolean>;
230
+ protected readonly searchQuery: _angular_core.WritableSignal<string>;
231
+ protected readonly activeIndex: _angular_core.WritableSignal<number>;
232
+ protected readonly searchInput: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
233
+ private readonly hasGroupedResultsInput;
234
+ protected readonly allVisibleItems: _angular_core.Signal<T[]>;
235
+ protected readonly showOverlay: _angular_core.Signal<boolean>;
236
+ protected readonly panelId: _angular_core.Signal<string>;
237
+ protected itemDomId(index: number): string;
238
+ protected readonly indexedGroupedResults: _angular_core.Signal<{
239
+ indexedItems: {
240
+ item: T;
241
+ index: number;
242
+ formatted: string;
243
+ }[];
244
+ label: string;
245
+ icon?: string;
246
+ items: T[];
247
+ }[] | null>;
248
+ protected readonly indexedResults: _angular_core.Signal<{
249
+ item: T;
250
+ index: number;
251
+ formatted: string;
252
+ }[]>;
253
+ protected readonly activeItemDomId: _angular_core.Signal<string | null>;
254
+ protected readonly resultCount: _angular_core.Signal<number>;
255
+ protected readonly hasGroupedResults: _angular_core.Signal<boolean>;
256
+ protected readonly hasNoResults: _angular_core.Signal<boolean>;
257
+ protected onNavigationKeydown(event: KeyboardEvent): void;
258
+ protected handleClickOutside(event: MouseEvent): void;
259
+ focusSearch(): void;
260
+ protected blurSearch(): void;
261
+ protected onFocus(): void;
262
+ protected onBlur(): void;
263
+ protected onInput(event: Event): void;
264
+ protected onClear(): void;
265
+ protected onSelect(item: T): void;
266
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SearchBar<any>, never>;
267
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SearchBar<any>, "gbt-search-bar", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "results": { "alias": "results"; "required": false; "isSignal": true; }; "groupedResults": { "alias": "groupedResults"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "displayFn": { "alias": "displayFn"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; "keepQueryOnSelect": { "alias": "keepQueryOnSelect"; "required": false; "isSignal": true; }; "noResultsMessage": { "alias": "noResultsMessage"; "required": false; "isSignal": true; }; "noResultsHint": { "alias": "noResultsHint"; "required": false; "isSignal": true; }; "clearLabel": { "alias": "clearLabel"; "required": false; "isSignal": true; }; "resultsAnnouncement": { "alias": "resultsAnnouncement"; "required": false; "isSignal": true; }; "navigateHint": { "alias": "navigateHint"; "required": false; "isSignal": true; }; "selectHint": { "alias": "selectHint"; "required": false; "isSignal": true; }; "closeHint": { "alias": "closeHint"; "required": false; "isSignal": true; }; }, { "queryChange": "queryChange"; "itemSelected": "itemSelected"; "clear": "clear"; }, never, never, true, never>;
268
+ }
269
+
270
+ declare class Tab {
271
+ label: _angular_core.InputSignal<string>;
272
+ protected readonly active: _angular_core.WritableSignal<boolean>;
273
+ protected readonly index: _angular_core.WritableSignal<number>;
274
+ protected readonly groupId: _angular_core.WritableSignal<string>;
275
+ setState(index: number, active: boolean, groupId: string): void;
276
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<Tab, never>;
277
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<Tab, "gbt-tab", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
278
+ }
279
+
280
+ declare class Tabs {
281
+ id: _angular_core.InputSignal<string>;
282
+ protected readonly tabs: _angular_core.Signal<readonly Tab[]>;
283
+ private readonly triggers;
284
+ protected readonly activeIndex: _angular_core.WritableSignal<number>;
285
+ constructor();
286
+ protected select(index: number): void;
287
+ protected onKeydown(event: KeyboardEvent, index: number): void;
288
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<Tabs, never>;
289
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<Tabs, "gbt-tabs", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, ["tabs"], ["*"], true, never>;
290
+ }
291
+
292
+ interface Scale<T> {
293
+ map(value: T): number;
294
+ invert(pixel: number): T;
295
+ readonly domain: [T, T];
296
+ readonly range: [number, number];
297
+ }
298
+ declare function linearScale(domain: [number, number], range: [number, number]): Scale<number>;
299
+ declare function timeScale(domain: [Date, Date], range: [number, number]): Scale<Date>;
300
+ interface BandScale {
301
+ map(value: string): number;
302
+ invert(pixel: number): string | null;
303
+ readonly bandwidth: number;
304
+ readonly domain: string[];
305
+ readonly range: [number, number];
306
+ }
307
+ declare function bandScale(domain: string[], range: [number, number], padding?: number): BandScale;
308
+
309
+ declare function niceTicks(min: number, max: number, count: number): number[];
310
+ type TimeUnit = 'second' | 'minute' | 'hour' | 'day' | 'month' | 'year';
311
+ interface TimeTicks {
312
+ readonly values: Date[];
313
+ readonly unit: TimeUnit;
314
+ format(date: Date, locale: string): string;
315
+ }
316
+ declare function timeTicks(start: Date, end: Date, pixelWidth: number): TimeTicks;
317
+
318
+ declare function formatNumber(value: number, locale: string, decimals?: number): string;
319
+ declare function formatCompact(value: number, locale: string): string;
320
+ declare function formatDuration(ms: number, locale: string): string;
321
+ declare function formatPercent(ratio: number, locale: string, decimals?: number): string;
322
+
323
+ interface Point {
324
+ x: number;
325
+ y: number;
326
+ }
327
+ declare function linePath(points: Point[]): string;
328
+ declare function areaPath(points: Point[], baseline: number): string;
329
+
330
+ declare function nearestIndex(sorted: number[], target: number): number;
331
+
332
+ interface ChartMargin {
333
+ top: number;
334
+ right: number;
335
+ bottom: number;
336
+ left: number;
337
+ }
338
+ interface ChartBox {
339
+ readonly width: number;
340
+ readonly height: number;
341
+ readonly margin: ChartMargin;
342
+ readonly innerWidth: number;
343
+ readonly innerHeight: number;
344
+ }
345
+ type LinearAxisSpec = {
346
+ kind: 'linear';
347
+ domain: [number, number];
348
+ };
349
+ type PointValue = number | Date | string;
350
+ type AxisSpec = LinearAxisSpec | {
351
+ kind: 'time';
352
+ domain: [Date, Date];
353
+ } | {
354
+ kind: 'band';
355
+ domain: string[];
356
+ padding?: number;
357
+ };
358
+ interface ChartReader {
359
+ readonly box: Signal<ChartBox>;
360
+ readonly xSpec: Signal<AxisSpec>;
361
+ readonly ySpec: Signal<LinearAxisSpec>;
362
+ readonly xScale: Signal<Scale<number> | Scale<Date> | BandScale>;
363
+ readonly yScale: Signal<Scale<number>>;
364
+ readonly activeIndex: Signal<number | null>;
365
+ readonly pointValues: Signal<PointValue[]>;
366
+ readonly activePosition: Signal<number | null>;
367
+ }
368
+ declare const CHART_CONTEXT: InjectionToken<ChartReader>;
369
+
370
+ declare class ChartFrame {
371
+ private readonly context;
372
+ label: _angular_core.InputSignal<string>;
373
+ heading: _angular_core.InputSignal<string>;
374
+ headingLevel: _angular_core.InputSignal<2 | 1 | 3 | 4 | 5 | 6>;
375
+ headline: _angular_core.InputSignal<string>;
376
+ trend: _angular_core.InputSignal<string>;
377
+ x: _angular_core.InputSignal<AxisSpec>;
378
+ y: _angular_core.InputSignal<LinearAxisSpec>;
379
+ margin: _angular_core.InputSignal<Partial<ChartMargin>>;
380
+ size: _angular_core.InputSignal<{
381
+ width: number;
382
+ height: number;
383
+ } | null>;
384
+ pointValues: _angular_core.InputSignal<PointValue[]>;
385
+ readonly activeIndexChange: _angular_core.OutputEmitterRef<number | null>;
386
+ private readonly surface;
387
+ private readonly measured;
388
+ protected readonly ready: _angular_core.Signal<boolean>;
389
+ protected readonly viewBox: _angular_core.Signal<string>;
390
+ protected readonly innerTransform: _angular_core.Signal<string>;
391
+ protected readonly activePosition: _angular_core.Signal<number | null>;
392
+ protected readonly innerHeight: _angular_core.Signal<number>;
393
+ constructor();
394
+ protected onKeydown(event: KeyboardEvent): void;
395
+ protected onBlur(): void;
396
+ protected onPointerMove(event: PointerEvent | MouseEvent): void;
397
+ protected onPointerLeave(event: PointerEvent | MouseEvent): void;
398
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartFrame, never>;
399
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartFrame, "gbt-chart-frame", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "headingLevel": { "alias": "headingLevel"; "required": false; "isSignal": true; }; "headline": { "alias": "headline"; "required": false; "isSignal": true; }; "trend": { "alias": "trend"; "required": false; "isSignal": true; }; "x": { "alias": "x"; "required": true; "isSignal": true; }; "y": { "alias": "y"; "required": true; "isSignal": true; }; "margin": { "alias": "margin"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "pointValues": { "alias": "pointValues"; "required": false; "isSignal": true; }; }, { "activeIndexChange": "activeIndexChange"; }, never, ["[gbtChartLayer]", "gbt-chart-tooltip", "gbt-chart-empty", "gbt-chart-table"], true, never>;
400
+ }
401
+
402
+ interface Tick {
403
+ key: string;
404
+ x: number;
405
+ y: number;
406
+ label: string;
407
+ date: string | null;
408
+ anchor: 'start' | 'middle' | 'end';
409
+ }
410
+ declare class ChartAxis {
411
+ private readonly context;
412
+ axis: _angular_core.InputSignal<"x" | "y">;
413
+ locale: _angular_core.InputSignal<string>;
414
+ tickCount: _angular_core.InputSignal<number>;
415
+ format: _angular_core.InputSignal<((value: never) => string) | null>;
416
+ grid: _angular_core.InputSignalWithTransform<boolean, unknown>;
417
+ protected readonly groupTransform: _angular_core.Signal<string>;
418
+ protected readonly ticks: _angular_core.Signal<Tick[]>;
419
+ protected readonly gridLines: _angular_core.Signal<number[]>;
420
+ protected readonly innerWidth: _angular_core.Signal<number>;
421
+ private yTicks;
422
+ private xTicks;
423
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartAxis, never>;
424
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartAxis, "g[gbtChartAxis]", never, { "axis": { "alias": "axis"; "required": true; "isSignal": true; }; "locale": { "alias": "locale"; "required": true; "isSignal": true; }; "tickCount": { "alias": "tickCount"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "grid": { "alias": "grid"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
425
+ }
426
+
427
+ interface TooltipRow {
428
+ label: string;
429
+ value: string;
430
+ series?: 1 | 2 | 3;
431
+ pattern?: 'solid' | 'dashed' | 'dotted';
432
+ }
433
+ interface TooltipPoint<X> {
434
+ x: X;
435
+ header: string;
436
+ rows: TooltipRow[];
437
+ }
438
+ declare class ChartTooltip<X> {
439
+ private readonly context;
440
+ points: _angular_core.InputSignal<TooltipPoint<X>[]>;
441
+ protected readonly active: _angular_core.Signal<TooltipPoint<X> | null>;
442
+ protected readonly left: _angular_core.Signal<number>;
443
+ protected readonly anchor: _angular_core.Signal<"start" | "middle" | "end">;
444
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartTooltip<any>, never>;
445
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartTooltip<any>, "gbt-chart-tooltip", never, { "points": { "alias": "points"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
446
+ }
447
+
448
+ interface LegendEntry {
449
+ label: string;
450
+ pattern?: 'solid' | 'dashed' | 'dotted';
451
+ value?: string;
452
+ }
453
+ declare class ChartLegend {
454
+ entries: _angular_core.InputSignal<LegendEntry[]>;
455
+ protected dashArray(pattern: LegendEntry['pattern']): string;
456
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartLegend, never>;
457
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartLegend, "gbt-chart-legend", never, { "entries": { "alias": "entries"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
458
+ }
459
+
460
+ declare class ChartEmpty {
461
+ message: _angular_core.InputSignal<string>;
462
+ actionLabel: _angular_core.InputSignal<string>;
463
+ action: _angular_core.OutputEmitterRef<void>;
464
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartEmpty, never>;
465
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartEmpty, "gbt-chart-empty", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; "actionLabel": { "alias": "actionLabel"; "required": false; "isSignal": true; }; }, { "action": "action"; }, never, never, true, never>;
466
+ }
467
+
468
+ declare class ChartTable {
469
+ caption: _angular_core.InputSignal<string>;
470
+ columns: _angular_core.InputSignal<string[]>;
471
+ rows: _angular_core.InputSignal<(string | number)[][]>;
472
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartTable, never>;
473
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartTable, "gbt-chart-table", never, { "caption": { "alias": "caption"; "required": true; "isSignal": true; }; "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "rows": { "alias": "rows"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
474
+ }
475
+
476
+ interface ChartPoint<X> {
477
+ x: X;
478
+ y: number;
479
+ display?: string;
480
+ }
481
+ interface ChartSeries<X> {
482
+ label: string;
483
+ points: ChartPoint<X>[];
484
+ pattern?: 'solid' | 'dashed' | 'dotted';
485
+ }
486
+ interface ChartInterval {
487
+ start: Date;
488
+ end: Date;
489
+ label: string;
490
+ }
491
+ declare function niceYDomain<X>(series: ChartSeries<X>[], includeZero: boolean, tickCount: number): [number, number];
492
+ declare function niceXDomain(series: ChartSeries<number>[], tickCount: number): [number, number];
493
+
494
+ declare class LineChart<X extends number | Date> {
495
+ series: _angular_core.InputSignal<ChartSeries<X>[]>;
496
+ xKind: _angular_core.InputSignal<"time" | "linear">;
497
+ locale: _angular_core.InputSignal<string>;
498
+ label: _angular_core.InputSignal<string>;
499
+ tableCaption: _angular_core.InputSignal<string>;
500
+ xColumn: _angular_core.InputSignal<string>;
501
+ emptyMessage: _angular_core.InputSignal<string>;
502
+ area: _angular_core.InputSignal<boolean>;
503
+ yZero: _angular_core.InputSignal<boolean>;
504
+ yTickCount: _angular_core.InputSignal<number>;
505
+ xTickCount: _angular_core.InputSignal<number>;
506
+ size: _angular_core.InputSignal<{
507
+ width: number;
508
+ height: number;
509
+ } | null>;
510
+ heading: _angular_core.InputSignal<string>;
511
+ headingLevel: _angular_core.InputSignal<2 | 1 | 3 | 4 | 5 | 6>;
512
+ headline: _angular_core.InputSignal<string>;
513
+ trend: _angular_core.InputSignal<string>;
514
+ protected readonly activeIndex: _angular_core.WritableSignal<number | null>;
515
+ protected readonly hasData: _angular_core.Signal<boolean>;
516
+ protected readonly xSpec: _angular_core.Signal<AxisSpec>;
517
+ protected readonly ySpec: _angular_core.Signal<LinearAxisSpec>;
518
+ protected readonly legendEntries: _angular_core.Signal<LegendEntry[]>;
519
+ protected readonly publicXValues: _angular_core.Signal<PointValue[]>;
520
+ protected readonly tooltipPoints: _angular_core.Signal<TooltipPoint<X>[]>;
521
+ protected readonly tableColumns: _angular_core.Signal<string[]>;
522
+ protected readonly tableRows: _angular_core.Signal<(string | number)[][]>;
523
+ private readonly formatX;
524
+ private readonly xValues;
525
+ private findPoint;
526
+ private displayValue;
527
+ constructor();
528
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<LineChart<any>, never>;
529
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<LineChart<any>, "gbt-line-chart", never, { "series": { "alias": "series"; "required": true; "isSignal": true; }; "xKind": { "alias": "xKind"; "required": true; "isSignal": true; }; "locale": { "alias": "locale"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "tableCaption": { "alias": "tableCaption"; "required": true; "isSignal": true; }; "xColumn": { "alias": "xColumn"; "required": true; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": true; "isSignal": true; }; "area": { "alias": "area"; "required": false; "isSignal": true; }; "yZero": { "alias": "yZero"; "required": false; "isSignal": true; }; "yTickCount": { "alias": "yTickCount"; "required": false; "isSignal": true; }; "xTickCount": { "alias": "xTickCount"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "headingLevel": { "alias": "headingLevel"; "required": false; "isSignal": true; }; "headline": { "alias": "headline"; "required": false; "isSignal": true; }; "trend": { "alias": "trend"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
530
+ }
531
+
532
+ interface RenderedSeries {
533
+ label: string;
534
+ strokePath: string;
535
+ fillPath: string;
536
+ colorIndex: number;
537
+ dashArray: string;
538
+ }
539
+ interface ActiveDot {
540
+ x: number;
541
+ y: number;
542
+ colorIndex: number;
543
+ }
544
+ declare class LineSeries<X> {
545
+ series: _angular_core.InputSignal<ChartSeries<X>[]>;
546
+ area: _angular_core.InputSignal<boolean>;
547
+ private readonly context;
548
+ protected readonly renderedLines: _angular_core.Signal<RenderedSeries[]>;
549
+ protected readonly activeDots: _angular_core.Signal<ActiveDot[]>;
550
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<LineSeries<any>, never>;
551
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<LineSeries<any>, "g[gbtLineSeries]", never, { "series": { "alias": "series"; "required": true; "isSignal": true; }; "area": { "alias": "area"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
552
+ }
553
+
554
+ declare class BarChart {
555
+ series: _angular_core.InputSignal<ChartSeries<string>>;
556
+ locale: _angular_core.InputSignal<string>;
557
+ label: _angular_core.InputSignal<string>;
558
+ tableCaption: _angular_core.InputSignal<string>;
559
+ xColumn: _angular_core.InputSignal<string>;
560
+ emptyMessage: _angular_core.InputSignal<string>;
561
+ yTickCount: _angular_core.InputSignal<number>;
562
+ size: _angular_core.InputSignal<{
563
+ width: number;
564
+ height: number;
565
+ } | null>;
566
+ heading: _angular_core.InputSignal<string>;
567
+ headingLevel: _angular_core.InputSignal<2 | 1 | 3 | 4 | 5 | 6>;
568
+ headline: _angular_core.InputSignal<string>;
569
+ trend: _angular_core.InputSignal<string>;
570
+ protected readonly hasData: _angular_core.Signal<boolean>;
571
+ protected readonly publicXValues: _angular_core.Signal<PointValue[]>;
572
+ protected readonly xSpec: _angular_core.Signal<AxisSpec>;
573
+ protected readonly ySpec: _angular_core.Signal<LinearAxisSpec>;
574
+ private displayValue;
575
+ protected readonly tooltipPoints: _angular_core.Signal<TooltipPoint<string>[]>;
576
+ protected readonly tableColumns: _angular_core.Signal<string[]>;
577
+ protected readonly tableRows: _angular_core.Signal<(string | number)[][]>;
578
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BarChart, never>;
579
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BarChart, "gbt-bar-chart", never, { "series": { "alias": "series"; "required": true; "isSignal": true; }; "locale": { "alias": "locale"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "tableCaption": { "alias": "tableCaption"; "required": true; "isSignal": true; }; "xColumn": { "alias": "xColumn"; "required": true; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": true; "isSignal": true; }; "yTickCount": { "alias": "yTickCount"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "headingLevel": { "alias": "headingLevel"; "required": false; "isSignal": true; }; "headline": { "alias": "headline"; "required": false; "isSignal": true; }; "trend": { "alias": "trend"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
580
+ }
581
+
582
+ interface RenderedBar {
583
+ category: string;
584
+ x: number;
585
+ y: number;
586
+ width: number;
587
+ height: number;
588
+ }
589
+ declare class BarSeries {
590
+ private readonly context;
591
+ series: _angular_core.InputSignal<ChartSeries<string>>;
592
+ protected readonly activeIndex: _angular_core.Signal<number | null>;
593
+ protected readonly bars: _angular_core.Signal<RenderedBar[]>;
594
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BarSeries, never>;
595
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BarSeries, "g[gbtBarSeries]", never, { "series": { "alias": "series"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
596
+ }
597
+
598
+ declare class TimelineChart {
599
+ series: _angular_core.InputSignal<ChartSeries<Date>>;
600
+ intervals: _angular_core.InputSignal<ChartInterval[]>;
601
+ locale: _angular_core.InputSignal<string>;
602
+ label: _angular_core.InputSignal<string>;
603
+ tableCaption: _angular_core.InputSignal<string>;
604
+ intervalsCaption: _angular_core.InputSignal<string>;
605
+ xColumn: _angular_core.InputSignal<string>;
606
+ emptyMessage: _angular_core.InputSignal<string>;
607
+ yZero: _angular_core.InputSignal<boolean>;
608
+ yTickCount: _angular_core.InputSignal<number>;
609
+ size: _angular_core.InputSignal<{
610
+ width: number;
611
+ height: number;
612
+ } | null>;
613
+ heading: _angular_core.InputSignal<string>;
614
+ headingLevel: _angular_core.InputSignal<2 | 1 | 3 | 4 | 5 | 6>;
615
+ headline: _angular_core.InputSignal<string>;
616
+ trend: _angular_core.InputSignal<string>;
617
+ protected readonly hasData: _angular_core.Signal<boolean>;
618
+ protected readonly publicXValues: _angular_core.Signal<PointValue[]>;
619
+ protected readonly xSpec: _angular_core.Signal<AxisSpec>;
620
+ protected readonly ySpec: _angular_core.Signal<LinearAxisSpec>;
621
+ protected readonly tooltipPoints: _angular_core.Signal<TooltipPoint<Date>[]>;
622
+ protected readonly tableColumns: _angular_core.Signal<string[]>;
623
+ protected readonly tableRows: _angular_core.Signal<(string | number)[][]>;
624
+ protected readonly intervalColumns: _angular_core.Signal<string[]>;
625
+ protected readonly intervalRows: _angular_core.Signal<(string | number)[][]>;
626
+ private readonly formatInstant;
627
+ private displayValue;
628
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TimelineChart, never>;
629
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TimelineChart, "gbt-timeline-chart", never, { "series": { "alias": "series"; "required": true; "isSignal": true; }; "intervals": { "alias": "intervals"; "required": true; "isSignal": true; }; "locale": { "alias": "locale"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "tableCaption": { "alias": "tableCaption"; "required": true; "isSignal": true; }; "intervalsCaption": { "alias": "intervalsCaption"; "required": true; "isSignal": true; }; "xColumn": { "alias": "xColumn"; "required": true; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": true; "isSignal": true; }; "yZero": { "alias": "yZero"; "required": false; "isSignal": true; }; "yTickCount": { "alias": "yTickCount"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "headingLevel": { "alias": "headingLevel"; "required": false; "isSignal": true; }; "headline": { "alias": "headline"; "required": false; "isSignal": true; }; "trend": { "alias": "trend"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
630
+ }
631
+
632
+ interface RenderedBand {
633
+ label: string;
634
+ x: number;
635
+ width: number;
636
+ labeled: boolean;
637
+ active: boolean;
638
+ strokeWidth: number;
639
+ }
640
+ declare class TimelineSeries {
641
+ series: _angular_core.InputSignal<ChartSeries<Date>>;
642
+ intervals: _angular_core.InputSignal<ChartInterval[]>;
643
+ private readonly context;
644
+ protected readonly height: _angular_core.Signal<number>;
645
+ protected readonly strokePath: _angular_core.Signal<string>;
646
+ private readonly activeInstant;
647
+ protected readonly activePoint: _angular_core.Signal<{
648
+ x: number;
649
+ y: number;
650
+ } | null>;
651
+ protected readonly bands: _angular_core.Signal<RenderedBand[]>;
652
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TimelineSeries, never>;
653
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TimelineSeries, "g[gbtTimelineSeries]", never, { "series": { "alias": "series"; "required": true; "isSignal": true; }; "intervals": { "alias": "intervals"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
654
+ }
655
+
656
+ declare class Sparkline {
657
+ values: _angular_core.InputSignal<number[]>;
658
+ tableCaption: _angular_core.InputSignal<string>;
659
+ xColumn: _angular_core.InputSignal<string>;
660
+ yColumn: _angular_core.InputSignal<string>;
661
+ locale: _angular_core.InputSignal<string>;
662
+ emptyMessage: _angular_core.InputSignal<string>;
663
+ width: _angular_core.InputSignal<number>;
664
+ height: _angular_core.InputSignal<number>;
665
+ protected readonly activeIndex: _angular_core.WritableSignal<number | null>;
666
+ protected readonly viewBox: _angular_core.Signal<string>;
667
+ protected readonly columns: _angular_core.Signal<string[]>;
668
+ protected readonly tableRows: _angular_core.Signal<(string | number)[][]>;
669
+ private readonly scales;
670
+ protected readonly path: _angular_core.Signal<string | null>;
671
+ protected readonly positions: _angular_core.Signal<number[]>;
672
+ protected readonly dot: _angular_core.Signal<{
673
+ x: number;
674
+ y: number;
675
+ } | null>;
676
+ protected readonly tooltip: _angular_core.Signal<string | null>;
677
+ protected onPointerMove(event: PointerEvent | MouseEvent): void;
678
+ protected onPointerLeave(event: PointerEvent | MouseEvent): void;
679
+ protected onBlur(): void;
680
+ protected onKeydown(event: KeyboardEvent): void;
681
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<Sparkline, never>;
682
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<Sparkline, "gbt-sparkline", never, { "values": { "alias": "values"; "required": true; "isSignal": true; }; "tableCaption": { "alias": "tableCaption"; "required": true; "isSignal": true; }; "xColumn": { "alias": "xColumn"; "required": true; "isSignal": true; }; "yColumn": { "alias": "yColumn"; "required": true; "isSignal": true; }; "locale": { "alias": "locale"; "required": true; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": true; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
683
+ }
684
+
685
+ declare class GaugeBar {
686
+ value: _angular_core.InputSignal<number>;
687
+ max: _angular_core.InputSignal<number>;
688
+ label: _angular_core.InputSignal<string>;
689
+ formattedValue: _angular_core.InputSignal<string>;
690
+ warningLabel: _angular_core.InputSignal<string>;
691
+ criticalLabel: _angular_core.InputSignal<string>;
692
+ thresholds: _angular_core.InputSignal<{
693
+ warning: number;
694
+ critical: number;
695
+ }>;
696
+ protected readonly percentage: _angular_core.Signal<number>;
697
+ protected readonly severity: _angular_core.Signal<"warning" | "critical" | null>;
698
+ protected readonly severityLabel: _angular_core.Signal<string | null>;
699
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<GaugeBar, never>;
700
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<GaugeBar, "gbt-gauge-bar", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "max": { "alias": "max"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "formattedValue": { "alias": "formattedValue"; "required": true; "isSignal": true; }; "warningLabel": { "alias": "warningLabel"; "required": true; "isSignal": true; }; "criticalLabel": { "alias": "criticalLabel"; "required": true; "isSignal": true; }; "thresholds": { "alias": "thresholds"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
701
+ }
702
+
703
+ interface DimensionRow {
704
+ label: string;
705
+ value: number;
706
+ }
707
+ interface RenderedRow {
708
+ label: string;
709
+ formattedValue: string;
710
+ part: number;
711
+ }
712
+ declare class DimensionCard {
713
+ rows: _angular_core.InputSignal<DimensionRow[]>;
714
+ caption: _angular_core.InputSignal<string>;
715
+ labelColumn: _angular_core.InputSignal<string>;
716
+ valueColumn: _angular_core.InputSignal<string>;
717
+ emptyMessage: _angular_core.InputSignal<string>;
718
+ locale: _angular_core.InputSignal<string>;
719
+ protected readonly activeIndex: _angular_core.WritableSignal<number | null>;
720
+ protected readonly renderedRows: _angular_core.Signal<RenderedRow[]>;
721
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DimensionCard, never>;
722
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DimensionCard, "gbt-dimension-card", never, { "rows": { "alias": "rows"; "required": true; "isSignal": true; }; "caption": { "alias": "caption"; "required": true; "isSignal": true; }; "labelColumn": { "alias": "labelColumn"; "required": true; "isSignal": true; }; "valueColumn": { "alias": "valueColumn"; "required": true; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": true; "isSignal": true; }; "locale": { "alias": "locale"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
723
+ }
724
+
725
+ interface FunnelStep {
726
+ label: string;
727
+ value: number;
728
+ }
729
+ interface RenderedStep {
730
+ label: string;
731
+ formattedValue: string;
732
+ part: number;
733
+ conversionFromPrevious: string;
734
+ }
735
+ declare class FunnelChart {
736
+ steps: _angular_core.InputSignal<FunnelStep[]>;
737
+ label: _angular_core.InputSignal<string>;
738
+ locale: _angular_core.InputSignal<string>;
739
+ emptyMessage: _angular_core.InputSignal<string>;
740
+ tableCaption: _angular_core.InputSignal<string>;
741
+ stepColumn: _angular_core.InputSignal<string>;
742
+ valueColumn: _angular_core.InputSignal<string>;
743
+ conversionColumn: _angular_core.InputSignal<string>;
744
+ stepAnnouncement: _angular_core.InputSignal<(label: string, conversion: string) => string>;
745
+ private readonly reference;
746
+ protected readonly activeIndex: _angular_core.WritableSignal<number | null>;
747
+ protected onMouseLeave(event: MouseEvent): void;
748
+ protected readonly renderedSteps: _angular_core.Signal<RenderedStep[]>;
749
+ protected readonly activeStep: _angular_core.Signal<RenderedStep | null>;
750
+ protected readonly columns: _angular_core.Signal<string[]>;
751
+ protected readonly tableRows: _angular_core.Signal<(string | number)[][]>;
752
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FunnelChart, never>;
753
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FunnelChart, "gbt-funnel-chart", never, { "steps": { "alias": "steps"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "locale": { "alias": "locale"; "required": true; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": true; "isSignal": true; }; "tableCaption": { "alias": "tableCaption"; "required": true; "isSignal": true; }; "stepColumn": { "alias": "stepColumn"; "required": true; "isSignal": true; }; "valueColumn": { "alias": "valueColumn"; "required": true; "isSignal": true; }; "conversionColumn": { "alias": "conversionColumn"; "required": true; "isSignal": true; }; "stepAnnouncement": { "alias": "stepAnnouncement"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
754
+ }
755
+
756
+ interface PopupPosition {
757
+ top: string;
758
+ left: string | null;
759
+ right: string | null;
760
+ }
761
+ declare class Menu {
762
+ private readonly elementRef;
763
+ private readonly injector;
764
+ label: _angular_core.InputSignal<string>;
765
+ align: _angular_core.InputSignal<"start" | "end">;
766
+ protected readonly open: _angular_core.WritableSignal<boolean>;
767
+ protected readonly position: _angular_core.WritableSignal<PopupPosition | null>;
768
+ private readonly trigger;
769
+ private readonly list;
770
+ protected toggle(): void;
771
+ protected close(returnFocus: boolean): void;
772
+ protected onTriggerKeydown(event: KeyboardEvent): void;
773
+ protected onListKeydown(event: KeyboardEvent): void;
774
+ protected onListClick(): void;
775
+ protected onDocumentClick(event: MouseEvent): void;
776
+ protected onFocusOut(event: FocusEvent): void;
777
+ protected updatePosition(): void;
778
+ private items;
779
+ private focus;
780
+ private focusAfterRender;
781
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<Menu, never>;
782
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<Menu, "gbt-menu", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
783
+ }
784
+
785
+ export { AppShell, BarChart, BarSeries, Button, CHART_CONTEXT, Card, ChartAxis, ChartEmpty, ChartFrame, ChartLegend, ChartTable, ChartTooltip, Checkbox, DimensionCard, FunnelChart, GABARIT_VERSION, GaugeBar, GbtInput, Icon, IconRegistry, LineChart, LineSeries, Menu, Modal, SearchBar, Select, Sparkline, Tab, Table, Tabs, TimelineChart, TimelineSeries, areaPath, bandScale, formatCompact, formatDuration, formatNumber, formatPercent, linePath, linearScale, nearestIndex, niceTicks, niceXDomain, niceYDomain, timeScale, timeTicks };
786
+ export type { AxisSpec, BandScale, ChartBox, ChartInterval, ChartMargin, ChartPoint, ChartReader, ChartSeries, DimensionRow, FunnelStep, LegendEntry, LinearAxisSpec, Point, PointValue, Scale, SearchResultCategory, SelectOption, TableColumn, TimeTicks, TimeUnit, TooltipPoint, TooltipRow };