@weeehaoooz/talos-ui 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/fesm2022/{weeehaoooz-talos-ui-button-button-group.mjs → weeehaoooz-talos-ui-button.mjs} +115 -18
- package/fesm2022/weeehaoooz-talos-ui-button.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-data-display.mjs +3110 -0
- package/fesm2022/weeehaoooz-talos-ui-data-display.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-data-viz.mjs +2414 -0
- package/fesm2022/weeehaoooz-talos-ui-data-viz.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-dropdown.mjs +1039 -0
- package/fesm2022/weeehaoooz-talos-ui-dropdown.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-feedback.mjs +2885 -0
- package/fesm2022/weeehaoooz-talos-ui-feedback.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-form.mjs +10799 -0
- package/fesm2022/weeehaoooz-talos-ui-form.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-layout.mjs +1320 -11
- package/fesm2022/weeehaoooz-talos-ui-layout.mjs.map +1 -1
- package/fesm2022/weeehaoooz-talos-ui-nav.mjs +119 -72
- package/fesm2022/weeehaoooz-talos-ui-nav.mjs.map +1 -1
- package/fesm2022/weeehaoooz-talos-ui.mjs +22190 -15213
- package/fesm2022/weeehaoooz-talos-ui.mjs.map +1 -1
- package/package.json +20 -135
- package/styles/_breadcrumb.scss +16 -0
- package/styles/_button-group.scss +156 -7
- package/styles/_buttons.scss +156 -8
- package/styles/_dropdown.scss +438 -0
- package/styles/_form-controls.scss +13 -0
- package/styles/_progress-bar.scss +43 -0
- package/styles/_skeleton.scss +176 -0
- package/styles/_spinner.scss +58 -0
- package/styles/_variables.scss +37 -0
- package/styles/index.scss +6 -1
- package/types/weeehaoooz-talos-ui-button.d.ts +92 -0
- package/types/weeehaoooz-talos-ui-button.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-data-display.d.ts +1018 -0
- package/types/weeehaoooz-talos-ui-data-display.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-data-viz.d.ts +839 -0
- package/types/weeehaoooz-talos-ui-data-viz.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-dropdown.d.ts +187 -0
- package/types/weeehaoooz-talos-ui-dropdown.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-feedback.d.ts +1495 -0
- package/types/weeehaoooz-talos-ui-feedback.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-form.d.ts +2639 -0
- package/types/weeehaoooz-talos-ui-form.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-layout.d.ts +851 -3
- package/types/weeehaoooz-talos-ui-layout.d.ts.map +1 -1
- package/types/weeehaoooz-talos-ui-nav.d.ts +36 -10
- package/types/weeehaoooz-talos-ui-nav.d.ts.map +1 -1
- package/types/weeehaoooz-talos-ui.d.ts +6949 -4137
- package/types/weeehaoooz-talos-ui.d.ts.map +1 -1
- package/fesm2022/weeehaoooz-talos-ui-button-button-group.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-button-button.mjs +0 -93
- package/fesm2022/weeehaoooz-talos-ui-button-button.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-data-display-badge.mjs +0 -233
- package/fesm2022/weeehaoooz-talos-ui-data-display-badge.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-data-display-status-tag.mjs +0 -361
- package/fesm2022/weeehaoooz-talos-ui-data-display-status-tag.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-data-display-timeline.mjs +0 -312
- package/fesm2022/weeehaoooz-talos-ui-data-display-timeline.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-data-display-trend-indicator.mjs +0 -235
- package/fesm2022/weeehaoooz-talos-ui-data-display-trend-indicator.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-data-viz-category-bar.mjs +0 -462
- package/fesm2022/weeehaoooz-talos-ui-data-viz-category-bar.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-data-viz-heatmap.mjs +0 -805
- package/fesm2022/weeehaoooz-talos-ui-data-viz-heatmap.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-donut.mjs +0 -267
- package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-donut.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-gauge.mjs +0 -351
- package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-gauge.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-data-viz-sparkline.mjs +0 -566
- package/fesm2022/weeehaoooz-talos-ui-data-viz-sparkline.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-feedback-alert.mjs +0 -534
- package/fesm2022/weeehaoooz-talos-ui-feedback-alert.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-feedback-dialog.mjs +0 -446
- package/fesm2022/weeehaoooz-talos-ui-feedback-dialog.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-feedback-snackbar.mjs +0 -376
- package/fesm2022/weeehaoooz-talos-ui-feedback-snackbar.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-feedback-tooltip.mjs +0 -147
- package/fesm2022/weeehaoooz-talos-ui-feedback-tooltip.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-affix.mjs +0 -242
- package/fesm2022/weeehaoooz-talos-ui-form-affix.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-autocomplete.mjs +0 -514
- package/fesm2022/weeehaoooz-talos-ui-form-autocomplete.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-checkbox.mjs +0 -548
- package/fesm2022/weeehaoooz-talos-ui-form-checkbox.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-chips.mjs +0 -692
- package/fesm2022/weeehaoooz-talos-ui-form-chips.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-color-picker.mjs +0 -761
- package/fesm2022/weeehaoooz-talos-ui-form-color-picker.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-date-picker.mjs +0 -896
- package/fesm2022/weeehaoooz-talos-ui-form-date-picker.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-date-range-picker.mjs +0 -872
- package/fesm2022/weeehaoooz-talos-ui-form-date-range-picker.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-date-time-picker.mjs +0 -119
- package/fesm2022/weeehaoooz-talos-ui-form-date-time-picker.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-date-time-range-picker.mjs +0 -135
- package/fesm2022/weeehaoooz-talos-ui-form-date-time-range-picker.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-drop-zone.mjs +0 -666
- package/fesm2022/weeehaoooz-talos-ui-form-drop-zone.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-form-field.mjs +0 -147
- package/fesm2022/weeehaoooz-talos-ui-form-form-field.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-input.mjs +0 -33
- package/fesm2022/weeehaoooz-talos-ui-form-input.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-otp.mjs +0 -455
- package/fesm2022/weeehaoooz-talos-ui-form-otp.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-password-input.mjs +0 -379
- package/fesm2022/weeehaoooz-talos-ui-form-password-input.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-radio.mjs +0 -297
- package/fesm2022/weeehaoooz-talos-ui-form-radio.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-range-input.mjs +0 -661
- package/fesm2022/weeehaoooz-talos-ui-form-range-input.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-rating.mjs +0 -346
- package/fesm2022/weeehaoooz-talos-ui-form-rating.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-select-input.mjs +0 -896
- package/fesm2022/weeehaoooz-talos-ui-form-select-input.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-slide-toggle.mjs +0 -252
- package/fesm2022/weeehaoooz-talos-ui-form-slide-toggle.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-transfer-list.mjs +0 -916
- package/fesm2022/weeehaoooz-talos-ui-form-transfer-list.mjs.map +0 -1
- package/types/weeehaoooz-talos-ui-button-button-group.d.ts +0 -59
- package/types/weeehaoooz-talos-ui-button-button-group.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-button-button.d.ts +0 -38
- package/types/weeehaoooz-talos-ui-button-button.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-data-display-badge.d.ts +0 -119
- package/types/weeehaoooz-talos-ui-data-display-badge.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-data-display-status-tag.d.ts +0 -135
- package/types/weeehaoooz-talos-ui-data-display-status-tag.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-data-display-timeline.d.ts +0 -144
- package/types/weeehaoooz-talos-ui-data-display-timeline.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-data-display-trend-indicator.d.ts +0 -83
- package/types/weeehaoooz-talos-ui-data-display-trend-indicator.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-data-viz-category-bar.d.ts +0 -255
- package/types/weeehaoooz-talos-ui-data-viz-category-bar.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-data-viz-heatmap.d.ts +0 -204
- package/types/weeehaoooz-talos-ui-data-viz-heatmap.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-data-viz-mini-donut.d.ts +0 -101
- package/types/weeehaoooz-talos-ui-data-viz-mini-donut.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-data-viz-mini-gauge.d.ts +0 -138
- package/types/weeehaoooz-talos-ui-data-viz-mini-gauge.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-data-viz-sparkline.d.ts +0 -161
- package/types/weeehaoooz-talos-ui-data-viz-sparkline.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-feedback-alert.d.ts +0 -212
- package/types/weeehaoooz-talos-ui-feedback-alert.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-feedback-dialog.d.ts +0 -259
- package/types/weeehaoooz-talos-ui-feedback-dialog.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-feedback-snackbar.d.ts +0 -147
- package/types/weeehaoooz-talos-ui-feedback-snackbar.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-feedback-tooltip.d.ts +0 -32
- package/types/weeehaoooz-talos-ui-feedback-tooltip.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-affix.d.ts +0 -88
- package/types/weeehaoooz-talos-ui-form-affix.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-autocomplete.d.ts +0 -113
- package/types/weeehaoooz-talos-ui-form-autocomplete.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-checkbox.d.ts +0 -165
- package/types/weeehaoooz-talos-ui-form-checkbox.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-chips.d.ts +0 -152
- package/types/weeehaoooz-talos-ui-form-chips.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-color-picker.d.ts +0 -144
- package/types/weeehaoooz-talos-ui-form-color-picker.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-date-picker.d.ts +0 -138
- package/types/weeehaoooz-talos-ui-form-date-picker.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-date-range-picker.d.ts +0 -148
- package/types/weeehaoooz-talos-ui-form-date-range-picker.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-date-time-picker.d.ts +0 -44
- package/types/weeehaoooz-talos-ui-form-date-time-picker.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-date-time-range-picker.d.ts +0 -48
- package/types/weeehaoooz-talos-ui-form-date-time-range-picker.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-drop-zone.d.ts +0 -227
- package/types/weeehaoooz-talos-ui-form-drop-zone.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-form-field.d.ts +0 -42
- package/types/weeehaoooz-talos-ui-form-form-field.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-input.d.ts +0 -15
- package/types/weeehaoooz-talos-ui-form-input.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-otp.d.ts +0 -111
- package/types/weeehaoooz-talos-ui-form-otp.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-password-input.d.ts +0 -145
- package/types/weeehaoooz-talos-ui-form-password-input.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-radio.d.ts +0 -84
- package/types/weeehaoooz-talos-ui-form-radio.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-range-input.d.ts +0 -181
- package/types/weeehaoooz-talos-ui-form-range-input.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-rating.d.ts +0 -110
- package/types/weeehaoooz-talos-ui-form-rating.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-select-input.d.ts +0 -195
- package/types/weeehaoooz-talos-ui-form-select-input.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-slide-toggle.d.ts +0 -79
- package/types/weeehaoooz-talos-ui-form-slide-toggle.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-transfer-list.d.ts +0 -192
- package/types/weeehaoooz-talos-ui-form-transfer-list.d.ts.map +0 -1
|
@@ -0,0 +1,1495 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { TemplateRef, Type, InjectionToken, OnInit, OnDestroy } from '@angular/core';
|
|
3
|
+
import { DialogRef } from '@angular/cdk/dialog';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
5
|
+
import { ComponentType } from '@angular/cdk/portal';
|
|
6
|
+
import * as _weeehaoooz_talos_ui_feedback from '@weeehaoooz/talos-ui/feedback';
|
|
7
|
+
|
|
8
|
+
type TalosAlertVariant = 'default' | 'info' | 'success' | 'warning' | 'error' | 'primary' | 'critical';
|
|
9
|
+
type TalosAlertSeverity = 'success' | 'info' | 'warning' | 'error';
|
|
10
|
+
type TalosAlertAppearance = 'subtle' | 'outline' | 'filled' | 'accent' | 'left-border';
|
|
11
|
+
type TalosAlertSize = 'sm' | 'md' | 'lg';
|
|
12
|
+
interface TalosAlertConfig {
|
|
13
|
+
/** Optional unique identifier */
|
|
14
|
+
id?: string;
|
|
15
|
+
/** Title header text or custom TemplateRef */
|
|
16
|
+
title?: string | TemplateRef<unknown>;
|
|
17
|
+
/** Main message content or custom TemplateRef */
|
|
18
|
+
message?: string | TemplateRef<unknown>;
|
|
19
|
+
/** Visual variant theme */
|
|
20
|
+
variant?: TalosAlertVariant;
|
|
21
|
+
/** Severity state: 'success' (default), 'info', 'warning', 'error' */
|
|
22
|
+
severity?: TalosAlertSeverity;
|
|
23
|
+
/** Visual surface appearance style */
|
|
24
|
+
appearance?: TalosAlertAppearance;
|
|
25
|
+
/** Alert sizing */
|
|
26
|
+
size?: TalosAlertSize;
|
|
27
|
+
/** Whether to show an icon. Default: true */
|
|
28
|
+
showIcon?: boolean;
|
|
29
|
+
/** Custom Lucide icon component, TemplateRef, or null/false to hide */
|
|
30
|
+
icon?: Type<unknown> | TemplateRef<unknown> | boolean | null;
|
|
31
|
+
/** Whether to display a severity badge. Default: false */
|
|
32
|
+
showSeverityBadge?: boolean;
|
|
33
|
+
/** Whether the alert can be closed by the user. Default: false for inline, true for service */
|
|
34
|
+
dismissible?: boolean;
|
|
35
|
+
/** Action button text label (e.g., 'Retry', 'View Logs') */
|
|
36
|
+
actionLabel?: string;
|
|
37
|
+
/** Callback triggered when action button is clicked */
|
|
38
|
+
onAction?: () => void;
|
|
39
|
+
/** Callback triggered when alert is dismissed */
|
|
40
|
+
onDismiss?: () => void;
|
|
41
|
+
/** Custom CSS class to attach to the alert container */
|
|
42
|
+
customClass?: string;
|
|
43
|
+
/** Explicit border outline. Default: false */
|
|
44
|
+
bordered?: boolean;
|
|
45
|
+
/** Auto-dismiss duration in milliseconds */
|
|
46
|
+
duration?: number;
|
|
47
|
+
/** Arbitrary metadata attached to the instance */
|
|
48
|
+
data?: unknown;
|
|
49
|
+
}
|
|
50
|
+
interface TalosAlertRef {
|
|
51
|
+
id: string;
|
|
52
|
+
dismiss: () => void;
|
|
53
|
+
}
|
|
54
|
+
interface TalosAlertInstance extends TalosAlertConfig {
|
|
55
|
+
id: string;
|
|
56
|
+
createdAt: number;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
declare class TalosAlertService {
|
|
60
|
+
/** Reactive list of currently active programmatic alerts */
|
|
61
|
+
readonly alerts: _angular_core.WritableSignal<TalosAlertInstance[]>;
|
|
62
|
+
/** Reactive list of currently active top-level banner alerts */
|
|
63
|
+
readonly bannerAlerts: _angular_core.WritableSignal<TalosAlertInstance[]>;
|
|
64
|
+
private idCounter;
|
|
65
|
+
/** Default global configurations */
|
|
66
|
+
private defaultConfig;
|
|
67
|
+
/**
|
|
68
|
+
* Override default global configurations.
|
|
69
|
+
*/
|
|
70
|
+
setDefaultConfig(config: Partial<TalosAlertConfig>): void;
|
|
71
|
+
/**
|
|
72
|
+
* Main entry point to create a programmatic alert instance.
|
|
73
|
+
*/
|
|
74
|
+
show(messageOrConfig: string | TemplateRef<unknown> | TalosAlertConfig, configOverrides?: Partial<TalosAlertConfig>): TalosAlertRef;
|
|
75
|
+
/**
|
|
76
|
+
* Display a high-visibility global banner alert.
|
|
77
|
+
*/
|
|
78
|
+
banner(messageOrConfig: string | TemplateRef<unknown> | TalosAlertConfig, configOverrides?: Partial<TalosAlertConfig>): TalosAlertRef;
|
|
79
|
+
/** Convenience method for Success alerts (Default severity) */
|
|
80
|
+
success(message: string | TemplateRef<unknown>, config?: Partial<TalosAlertConfig>): TalosAlertRef;
|
|
81
|
+
/** Convenience method for Info alerts */
|
|
82
|
+
info(message: string | TemplateRef<unknown>, config?: Partial<TalosAlertConfig>): TalosAlertRef;
|
|
83
|
+
/** Convenience method for Warning alerts */
|
|
84
|
+
warning(message: string | TemplateRef<unknown>, config?: Partial<TalosAlertConfig>): TalosAlertRef;
|
|
85
|
+
/** Convenience method for Error alerts */
|
|
86
|
+
error(message: string | TemplateRef<unknown>, config?: Partial<TalosAlertConfig>): TalosAlertRef;
|
|
87
|
+
/**
|
|
88
|
+
* Dismiss a specific programmatic alert by ID, or the oldest if no ID is provided.
|
|
89
|
+
*/
|
|
90
|
+
dismiss(id?: string): void;
|
|
91
|
+
/**
|
|
92
|
+
* Dismiss a banner alert by ID.
|
|
93
|
+
*/
|
|
94
|
+
dismissBanner(id?: string): void;
|
|
95
|
+
/**
|
|
96
|
+
* Dismiss all currently active alerts and banners.
|
|
97
|
+
*/
|
|
98
|
+
dismissAll(): void;
|
|
99
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosAlertService, never>;
|
|
100
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<TalosAlertService>;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Structural / Slot directive for alert title projection.
|
|
105
|
+
*
|
|
106
|
+
* Usage:
|
|
107
|
+
* ```html
|
|
108
|
+
* <talos-alert>
|
|
109
|
+
* <div talosAlertTitle>System Maintenance</div>
|
|
110
|
+
* <div talosAlertDescription>All services will undergo updates tonight.</div>
|
|
111
|
+
* </talos-alert>
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
declare class TalosAlertTitleDirective {
|
|
115
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosAlertTitleDirective, never>;
|
|
116
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TalosAlertTitleDirective, "[talosAlertTitle], talos-alert-title", never, {}, {}, never, never, true, never>;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Slot directive for alert description / message body.
|
|
120
|
+
*/
|
|
121
|
+
declare class TalosAlertDescriptionDirective {
|
|
122
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosAlertDescriptionDirective, never>;
|
|
123
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TalosAlertDescriptionDirective, "[talosAlertDescription], talos-alert-description", never, {}, {}, never, never, true, never>;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Slot directive for custom alert actions / button group.
|
|
127
|
+
*/
|
|
128
|
+
declare class TalosAlertActionsDirective {
|
|
129
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosAlertActionsDirective, never>;
|
|
130
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TalosAlertActionsDirective, "[talosAlertActions], talos-alert-actions", never, {}, {}, never, never, true, never>;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Slot directive for custom alert icon.
|
|
134
|
+
*/
|
|
135
|
+
declare class TalosAlertIconDirective {
|
|
136
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosAlertIconDirective, never>;
|
|
137
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TalosAlertIconDirective, "[talosAlertIcon], talos-alert-icon", never, {}, {}, never, never, true, never>;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
declare class TalosAlertComponent {
|
|
141
|
+
/** Alert severity state: 'success' (default), 'info', 'warning', 'error' */
|
|
142
|
+
readonly severity: _angular_core.InputSignal<TalosAlertSeverity | undefined>;
|
|
143
|
+
/** Visual variant theme fallback */
|
|
144
|
+
readonly variant: _angular_core.InputSignal<TalosAlertVariant | undefined>;
|
|
145
|
+
/** Visual surface appearance style */
|
|
146
|
+
readonly appearance: _angular_core.InputSignal<TalosAlertAppearance>;
|
|
147
|
+
/** Sizing of padding and typography */
|
|
148
|
+
readonly size: _angular_core.InputSignal<TalosAlertSize>;
|
|
149
|
+
/** Header title text or custom TemplateRef */
|
|
150
|
+
readonly title: _angular_core.InputSignal<string | TemplateRef<unknown> | undefined>;
|
|
151
|
+
/** Main message content or custom TemplateRef */
|
|
152
|
+
readonly message: _angular_core.InputSignal<string | TemplateRef<unknown> | undefined>;
|
|
153
|
+
/** Whether to display the icon */
|
|
154
|
+
readonly showIcon: _angular_core.InputSignal<boolean>;
|
|
155
|
+
/** Custom Lucide icon component, TemplateRef, or boolean */
|
|
156
|
+
readonly icon: _angular_core.InputSignal<boolean | TemplateRef<unknown> | Type<unknown> | null | undefined>;
|
|
157
|
+
/** Whether to display a dedicated severity pill badge */
|
|
158
|
+
readonly showSeverityBadge: _angular_core.InputSignal<boolean>;
|
|
159
|
+
/** Whether the alert can be dismissed */
|
|
160
|
+
readonly dismissible: _angular_core.InputSignal<boolean>;
|
|
161
|
+
/** Action button text label */
|
|
162
|
+
readonly actionLabel: _angular_core.InputSignal<string | undefined>;
|
|
163
|
+
/** Optional explicit border outline */
|
|
164
|
+
readonly bordered: _angular_core.InputSignal<boolean>;
|
|
165
|
+
/** Additional CSS class */
|
|
166
|
+
readonly customClass: _angular_core.InputSignal<string>;
|
|
167
|
+
/** Emitted when dismiss close button is clicked */
|
|
168
|
+
readonly dismiss: _angular_core.OutputEmitterRef<void>;
|
|
169
|
+
/** Emitted when action button is clicked */
|
|
170
|
+
readonly action: _angular_core.OutputEmitterRef<void>;
|
|
171
|
+
/** Emitted when dismiss animation has finished and alert is removed */
|
|
172
|
+
readonly closed: _angular_core.OutputEmitterRef<void>;
|
|
173
|
+
protected readonly isDismissing: _angular_core.WritableSignal<boolean>;
|
|
174
|
+
protected readonly isDismissed: _angular_core.WritableSignal<boolean>;
|
|
175
|
+
/** Resolved visual variant considering severity */
|
|
176
|
+
readonly resolvedVariant: _angular_core.Signal<TalosAlertVariant>;
|
|
177
|
+
/** Severity display label for badge */
|
|
178
|
+
readonly severityLabel: _angular_core.Signal<string>;
|
|
179
|
+
readonly isTitleTemplate: _angular_core.Signal<boolean>;
|
|
180
|
+
readonly titleTemplate: _angular_core.Signal<TemplateRef<unknown>>;
|
|
181
|
+
readonly isMessageTemplate: _angular_core.Signal<boolean>;
|
|
182
|
+
readonly messageTemplate: _angular_core.Signal<TemplateRef<unknown>>;
|
|
183
|
+
readonly isIconTemplate: _angular_core.Signal<boolean>;
|
|
184
|
+
readonly iconTemplate: _angular_core.Signal<TemplateRef<unknown>>;
|
|
185
|
+
readonly customIconComponent: _angular_core.Signal<Type<unknown> | null>;
|
|
186
|
+
readonly ariaRole: _angular_core.Signal<"alert" | "status">;
|
|
187
|
+
readonly ariaLive: _angular_core.Signal<"assertive" | "polite">;
|
|
188
|
+
protected onActionClick(): void;
|
|
189
|
+
protected onCloseClick(): void;
|
|
190
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosAlertComponent, never>;
|
|
191
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TalosAlertComponent, "talos-alert", never, { "severity": { "alias": "severity"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "showIcon": { "alias": "showIcon"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "showSeverityBadge": { "alias": "showSeverityBadge"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "actionLabel": { "alias": "actionLabel"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "customClass": { "alias": "customClass"; "required": false; "isSignal": true; }; }, { "dismiss": "dismiss"; "action": "action"; "closed": "closed"; }, never, ["[talosAlertIcon], talos-alert-icon", "[talosAlertTitle], talos-alert-title", "[talosAlertDescription], talos-alert-description", "*", "[talosAlertActions], talos-alert-actions"], true, never>;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
declare class TalosAlertContainerComponent {
|
|
195
|
+
private readonly alertService;
|
|
196
|
+
/** Mode of alerts to render from the service ('inline', 'banner', or 'all') */
|
|
197
|
+
readonly type: _angular_core.InputSignal<"inline" | "banner" | "all">;
|
|
198
|
+
readonly targetAlerts: _angular_core.Signal<TalosAlertInstance[]>;
|
|
199
|
+
onDismiss(id: string): void;
|
|
200
|
+
onAction(item: TalosAlertInstance): void;
|
|
201
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosAlertContainerComponent, never>;
|
|
202
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TalosAlertContainerComponent, "talos-alert-container", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Convenience NgModule wrapping standalone alert components and directives.
|
|
207
|
+
*/
|
|
208
|
+
declare class TalosAlertModule {
|
|
209
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosAlertModule, never>;
|
|
210
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<TalosAlertModule, never, [typeof TalosAlertComponent, typeof TalosAlertContainerComponent, typeof TalosAlertTitleDirective, typeof TalosAlertDescriptionDirective, typeof TalosAlertActionsDirective, typeof TalosAlertIconDirective], [typeof TalosAlertComponent, typeof TalosAlertContainerComponent, typeof TalosAlertTitleDirective, typeof TalosAlertDescriptionDirective, typeof TalosAlertActionsDirective, typeof TalosAlertIconDirective]>;
|
|
211
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<TalosAlertModule>;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
/** Size options for the dialog modal */
|
|
215
|
+
type TalosDialogSize = 'auto' | 'sm' | 'md' | 'lg' | 'xl' | 'fullscreen';
|
|
216
|
+
/** Backdrop blur intensity options */
|
|
217
|
+
type TalosDialogBlur = boolean | 'none' | 'sm' | 'md' | 'lg';
|
|
218
|
+
/** Visual variant for dialog styling and icons */
|
|
219
|
+
type TalosDialogVariant = 'default' | 'primary' | 'danger' | 'warning' | 'info' | 'success';
|
|
220
|
+
/** Footer button alignment */
|
|
221
|
+
type TalosDialogFooterAlign = 'start' | 'center' | 'end' | 'space-between';
|
|
222
|
+
/** Content padding variants */
|
|
223
|
+
type TalosDialogPadding = 'none' | 'sm' | 'md' | 'lg';
|
|
224
|
+
/**
|
|
225
|
+
* Configuration options for opening a Talos Dialog.
|
|
226
|
+
*/
|
|
227
|
+
interface TalosDialogConfig<TData = unknown> {
|
|
228
|
+
/** Sizing preset: 'auto' (content-hugging), 'sm' (420px), 'md' (560px), 'lg' (768px), 'xl' (1024px), or 'fullscreen' */
|
|
229
|
+
size?: TalosDialogSize;
|
|
230
|
+
/** Blur background effect: true/'md' (standard frosted glass), 'sm' (light blur), 'lg' (heavy blur), or false/'none' */
|
|
231
|
+
backdropBlur?: TalosDialogBlur;
|
|
232
|
+
/** Explicit width override (e.g. '500px', '75vw') */
|
|
233
|
+
width?: string;
|
|
234
|
+
/** Explicit min-width override */
|
|
235
|
+
minWidth?: string;
|
|
236
|
+
/** Explicit max-width override */
|
|
237
|
+
maxWidth?: string;
|
|
238
|
+
/** Explicit height override (e.g. '600px', '80vh') */
|
|
239
|
+
height?: string;
|
|
240
|
+
/** Explicit min-height override */
|
|
241
|
+
minHeight?: string;
|
|
242
|
+
/** Explicit max-height override */
|
|
243
|
+
maxHeight?: string;
|
|
244
|
+
/** Custom CSS classes to append to the dialog panel */
|
|
245
|
+
panelClass?: string | string[];
|
|
246
|
+
/** Custom CSS classes to append to the dialog backdrop */
|
|
247
|
+
backdropClass?: string | string[];
|
|
248
|
+
/** Whether the dialog has a backdrop overlay. Defaults to true. */
|
|
249
|
+
hasBackdrop?: boolean;
|
|
250
|
+
/** Whether the user can dismiss the dialog by clicking the backdrop or pressing ESC. Defaults to false. */
|
|
251
|
+
disableClose?: boolean;
|
|
252
|
+
/** Whether pressing ESC closes the dialog. Defaults to true unless disableClose is true. */
|
|
253
|
+
closeOnEsc?: boolean;
|
|
254
|
+
/** Whether clicking the backdrop closes the dialog. Defaults to true unless disableClose is true. */
|
|
255
|
+
closeOnBackdropClick?: boolean;
|
|
256
|
+
/** Arbitrary data passed to the dialog component via TALOS_DIALOG_DATA */
|
|
257
|
+
data?: TData;
|
|
258
|
+
/** Accessible label for the dialog */
|
|
259
|
+
ariaLabel?: string;
|
|
260
|
+
/** ID of the element that labels the dialog */
|
|
261
|
+
ariaLabelledBy?: string;
|
|
262
|
+
/** ID of the element that describes the dialog */
|
|
263
|
+
ariaDescribedBy?: string;
|
|
264
|
+
/** ARIA role for the dialog element ('dialog' or 'alertdialog') */
|
|
265
|
+
role?: 'dialog' | 'alertdialog';
|
|
266
|
+
/** Whether focus should automatically be trapped and moved to the first focusable element */
|
|
267
|
+
autoFocus?: boolean | 'first-tabbable' | 'first-heading' | 'dialog';
|
|
268
|
+
/** Whether focus should be restored to the triggering element upon closure */
|
|
269
|
+
restoreFocus?: boolean;
|
|
270
|
+
/** Custom ID for the dialog */
|
|
271
|
+
id?: string;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Options for the confirm dialog convenience method.
|
|
275
|
+
*/
|
|
276
|
+
interface TalosConfirmDialogOptions {
|
|
277
|
+
title: string;
|
|
278
|
+
message: string | TemplateRef<unknown>;
|
|
279
|
+
confirmText?: string;
|
|
280
|
+
cancelText?: string;
|
|
281
|
+
variant?: TalosDialogVariant;
|
|
282
|
+
size?: TalosDialogSize;
|
|
283
|
+
backdropBlur?: TalosDialogBlur;
|
|
284
|
+
disableClose?: boolean;
|
|
285
|
+
showCancel?: boolean;
|
|
286
|
+
icon?: any;
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Options for the alert dialog convenience method.
|
|
290
|
+
*/
|
|
291
|
+
interface TalosAlertDialogOptions {
|
|
292
|
+
title: string;
|
|
293
|
+
message: string | TemplateRef<unknown>;
|
|
294
|
+
okText?: string;
|
|
295
|
+
variant?: TalosDialogVariant;
|
|
296
|
+
size?: TalosDialogSize;
|
|
297
|
+
backdropBlur?: TalosDialogBlur;
|
|
298
|
+
icon?: any;
|
|
299
|
+
}
|
|
300
|
+
/** Injection token for data passed to a dialog component */
|
|
301
|
+
declare const TALOS_DIALOG_DATA: InjectionToken<unknown>;
|
|
302
|
+
/** Injection token for dialog configuration */
|
|
303
|
+
declare const TALOS_DIALOG_CONFIG: InjectionToken<TalosDialogConfig<unknown>>;
|
|
304
|
+
/** Injection token for dialog reference */
|
|
305
|
+
declare const TALOS_DIALOG_REF: InjectionToken<unknown>;
|
|
306
|
+
|
|
307
|
+
/**
|
|
308
|
+
* Reference to an actively open dialog instance.
|
|
309
|
+
*/
|
|
310
|
+
declare class TalosDialogRef<R = unknown, D = unknown> {
|
|
311
|
+
readonly cdkDialogRef: DialogRef<R, unknown>;
|
|
312
|
+
readonly config: TalosDialogConfig<D>;
|
|
313
|
+
readonly data?: D | undefined;
|
|
314
|
+
constructor(cdkDialogRef: DialogRef<R, unknown>, config: TalosDialogConfig<D>, data?: D | undefined);
|
|
315
|
+
/** Unique identifier for the dialog */
|
|
316
|
+
get id(): string;
|
|
317
|
+
/** Observable that emits when the dialog is closed with the result value */
|
|
318
|
+
get closed(): Observable<R | undefined>;
|
|
319
|
+
/** Observable that emits when the backdrop overlay is clicked */
|
|
320
|
+
get backdropClick(): Observable<MouseEvent>;
|
|
321
|
+
/** Observable that emits keyboard events received by the dialog overlay */
|
|
322
|
+
get keydownEvents(): Observable<KeyboardEvent>;
|
|
323
|
+
/**
|
|
324
|
+
* Close the dialog, optionally returning a result value to the opener.
|
|
325
|
+
*/
|
|
326
|
+
close(result?: R): void;
|
|
327
|
+
/**
|
|
328
|
+
* Dynamically update the size of the dialog panel.
|
|
329
|
+
*/
|
|
330
|
+
updateSize(width?: string, height?: string): this;
|
|
331
|
+
/**
|
|
332
|
+
* Add CSS class(es) to the dialog overlay panel.
|
|
333
|
+
*/
|
|
334
|
+
addPanelClass(classes: string | string[]): this;
|
|
335
|
+
/**
|
|
336
|
+
* Remove CSS class(es) from the dialog overlay panel.
|
|
337
|
+
*/
|
|
338
|
+
removePanelClass(classes: string | string[]): this;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
declare class TalosDialogService {
|
|
342
|
+
private readonly cdkDialog;
|
|
343
|
+
private readonly injector;
|
|
344
|
+
/** Signal of currently open dialog references */
|
|
345
|
+
readonly openDialogs: _angular_core.WritableSignal<TalosDialogRef<unknown, unknown>[]>;
|
|
346
|
+
/**
|
|
347
|
+
* Open a component or template inside a modal dialog.
|
|
348
|
+
*/
|
|
349
|
+
open<R = unknown, D = unknown>(componentOrTemplate: ComponentType<unknown> | TemplateRef<unknown>, config?: TalosDialogConfig<D>): TalosDialogRef<R, D>;
|
|
350
|
+
/**
|
|
351
|
+
* Convenience helper to display a confirmation dialog.
|
|
352
|
+
*/
|
|
353
|
+
confirm(options: TalosConfirmDialogOptions): TalosDialogRef<boolean>;
|
|
354
|
+
/**
|
|
355
|
+
* Convenience helper to display an alert dialog.
|
|
356
|
+
*/
|
|
357
|
+
alert(options: TalosAlertDialogOptions): TalosDialogRef<void>;
|
|
358
|
+
/**
|
|
359
|
+
* Close all currently open dialogs.
|
|
360
|
+
*/
|
|
361
|
+
closeAll(): void;
|
|
362
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosDialogService, never>;
|
|
363
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<TalosDialogService>;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
/**
|
|
367
|
+
* Directive for the dialog title element.
|
|
368
|
+
* Automatically handles accessible ARIA labeling.
|
|
369
|
+
*/
|
|
370
|
+
declare class TalosDialogTitleDirective implements OnInit {
|
|
371
|
+
/** Optional custom ID for accessibility linking */
|
|
372
|
+
readonly id: _angular_core.InputSignal<string>;
|
|
373
|
+
private readonly dialogRef;
|
|
374
|
+
ngOnInit(): void;
|
|
375
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosDialogTitleDirective, never>;
|
|
376
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TalosDialogTitleDirective, "[talosDialogTitle]", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* Directive for the dialog description/subtitle element.
|
|
380
|
+
* Automatically handles accessible ARIA descriptions.
|
|
381
|
+
*/
|
|
382
|
+
declare class TalosDialogDescriptionDirective {
|
|
383
|
+
/** Optional custom ID for accessibility linking */
|
|
384
|
+
readonly id: _angular_core.InputSignal<string>;
|
|
385
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosDialogDescriptionDirective, never>;
|
|
386
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TalosDialogDescriptionDirective, "[talosDialogDescription]", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Directive placed on buttons inside a dialog to trigger dismissal.
|
|
390
|
+
* Passes the optional [talosDialogClose] value as the dialog result.
|
|
391
|
+
*/
|
|
392
|
+
declare class TalosDialogCloseDirective {
|
|
393
|
+
/** Value returned when closing the dialog */
|
|
394
|
+
readonly dialogResult: _angular_core.InputSignal<unknown>;
|
|
395
|
+
private readonly dialogRef;
|
|
396
|
+
protected onClick(event: MouseEvent): void;
|
|
397
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosDialogCloseDirective, never>;
|
|
398
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TalosDialogCloseDirective, "[talosDialogClose]", never, { "dialogResult": { "alias": "talosDialogClose"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
declare class TalosDialogHeaderComponent {
|
|
402
|
+
/** Main dialog title */
|
|
403
|
+
readonly title: _angular_core.InputSignal<string | undefined>;
|
|
404
|
+
/** Subtitle or helper description */
|
|
405
|
+
readonly subtitle: _angular_core.InputSignal<string | undefined>;
|
|
406
|
+
/** Visual accent variant */
|
|
407
|
+
readonly variant: _angular_core.InputSignal<TalosDialogVariant>;
|
|
408
|
+
/** Whether to show a bottom divider line */
|
|
409
|
+
readonly divider: _angular_core.InputSignal<boolean>;
|
|
410
|
+
/** Whether to show the top-right X close button */
|
|
411
|
+
readonly showCloseButton: _angular_core.InputSignal<boolean>;
|
|
412
|
+
/** Accessible label for the close button */
|
|
413
|
+
readonly closeButtonAriaLabel: _angular_core.InputSignal<string>;
|
|
414
|
+
/** Emitted when the close button is clicked */
|
|
415
|
+
readonly closeClick: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
416
|
+
private readonly dialogRef;
|
|
417
|
+
protected handleClose(event: MouseEvent): void;
|
|
418
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosDialogHeaderComponent, never>;
|
|
419
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TalosDialogHeaderComponent, "talos-dialog-header, [talosDialogHeader]", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "divider": { "alias": "divider"; "required": false; "isSignal": true; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; "isSignal": true; }; "closeButtonAriaLabel": { "alias": "closeButtonAriaLabel"; "required": false; "isSignal": true; }; }, { "closeClick": "closeClick"; }, never, ["[talos-dialog-icon], [dialog-icon], lucide-icon, svg", "[talosDialogTitle], h2, h3", "[talosDialogDescription], p", "[talos-dialog-header-actions]"], true, never>;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
declare class TalosDialogContentComponent {
|
|
423
|
+
/** Internal padding size */
|
|
424
|
+
readonly padding: _angular_core.InputSignal<TalosDialogPadding>;
|
|
425
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosDialogContentComponent, never>;
|
|
426
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TalosDialogContentComponent, "talos-dialog-content, [talosDialogContent]", never, { "padding": { "alias": "padding"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
declare class TalosDialogFooterComponent {
|
|
430
|
+
/** Button alignment in footer */
|
|
431
|
+
readonly align: _angular_core.InputSignal<TalosDialogFooterAlign>;
|
|
432
|
+
/** Whether to show a top divider border */
|
|
433
|
+
readonly divider: _angular_core.InputSignal<boolean>;
|
|
434
|
+
/** Whether the footer sticks to the bottom when content scrolls */
|
|
435
|
+
readonly sticky: _angular_core.InputSignal<boolean>;
|
|
436
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosDialogFooterComponent, never>;
|
|
437
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TalosDialogFooterComponent, "talos-dialog-footer, [talosDialogFooter]", never, { "align": { "alias": "align"; "required": false; "isSignal": true; }; "divider": { "alias": "divider"; "required": false; "isSignal": true; }; "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
declare class TalosConfirmDialogComponent {
|
|
441
|
+
readonly data: TalosConfirmDialogOptions;
|
|
442
|
+
private readonly dialogRef;
|
|
443
|
+
protected readonly title: string;
|
|
444
|
+
protected readonly message: string | _angular_core.TemplateRef<unknown>;
|
|
445
|
+
protected readonly isTemplateMessage: boolean;
|
|
446
|
+
protected readonly confirmText: string;
|
|
447
|
+
protected readonly cancelText: string;
|
|
448
|
+
protected readonly variant: _weeehaoooz_talos_ui_feedback.TalosDialogVariant;
|
|
449
|
+
protected readonly showCancel: boolean;
|
|
450
|
+
protected get confirmButtonVariant(): 'primary' | 'danger' | 'secondary';
|
|
451
|
+
protected onConfirm(): void;
|
|
452
|
+
protected onCancel(): void;
|
|
453
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosConfirmDialogComponent, never>;
|
|
454
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TalosConfirmDialogComponent, "talos-confirm-dialog", never, {}, {}, never, never, true, never>;
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
declare class TalosDialogModule {
|
|
458
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosDialogModule, never>;
|
|
459
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<TalosDialogModule, never, [typeof TalosDialogHeaderComponent, typeof TalosDialogContentComponent, typeof TalosDialogFooterComponent, typeof TalosConfirmDialogComponent, typeof TalosDialogTitleDirective, typeof TalosDialogDescriptionDirective, typeof TalosDialogCloseDirective], [typeof TalosDialogHeaderComponent, typeof TalosDialogContentComponent, typeof TalosDialogFooterComponent, typeof TalosConfirmDialogComponent, typeof TalosDialogTitleDirective, typeof TalosDialogDescriptionDirective, typeof TalosDialogCloseDirective]>;
|
|
460
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<TalosDialogModule>;
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
/**
|
|
464
|
+
* Operational mode of the progress bar.
|
|
465
|
+
* - 'determinate': Standard progress bar showing a discrete percentage from min to max.
|
|
466
|
+
* - 'indeterminate': Animated sliding activity bar for unknown durations or async background tasks.
|
|
467
|
+
* - 'buffer': Shows dual progress values (e.g. streaming buffered progress vs playback/uploaded).
|
|
468
|
+
* - 'query': Reversed indeterminate animation indicating a pending query or handshake.
|
|
469
|
+
*/
|
|
470
|
+
type TalosProgressBarMode = 'determinate' | 'indeterminate' | 'buffer' | 'query';
|
|
471
|
+
/**
|
|
472
|
+
* Visual semantic variant palette for the progress bar.
|
|
473
|
+
*/
|
|
474
|
+
type TalosProgressBarVariant = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'error' | 'info' | 'neutral' | 'gradient';
|
|
475
|
+
/**
|
|
476
|
+
* Standard sizing presets for the progress bar track height.
|
|
477
|
+
* - 'xs': 2px (subtle top-of-page hairline or compact table indicator)
|
|
478
|
+
* - 'sm': 4px (dense inline layout)
|
|
479
|
+
* - 'md': 8px (default standard track)
|
|
480
|
+
* - 'lg': 12px (prominent task progress)
|
|
481
|
+
* - 'xl': 16px (large display capable of containing inside labels)
|
|
482
|
+
*/
|
|
483
|
+
type TalosProgressBarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
484
|
+
/**
|
|
485
|
+
* Corner shape styling of the progress bar track and fill.
|
|
486
|
+
* - 'rounded': Full pill radius (default)
|
|
487
|
+
* - 'square': Sharp rectangular corners (0 radius)
|
|
488
|
+
* - 'subtle': Subtle corner radius (md token)
|
|
489
|
+
*/
|
|
490
|
+
type TalosProgressBarShape = 'rounded' | 'square' | 'subtle';
|
|
491
|
+
/**
|
|
492
|
+
* Placement of the numeric or formatted progress value.
|
|
493
|
+
* - 'end': Right side of an inline layout
|
|
494
|
+
* - 'start': Left side of an inline layout
|
|
495
|
+
* - 'top-end': Top right above the bar
|
|
496
|
+
* - 'bottom-end': Bottom right below the bar
|
|
497
|
+
* - 'inside': Centered inside the progress fill (recommended for size 'xl' or 'lg')
|
|
498
|
+
*/
|
|
499
|
+
type TalosProgressBarValuePosition = 'start' | 'end' | 'inside' | 'top-end' | 'bottom-end';
|
|
500
|
+
/**
|
|
501
|
+
* Placement of the progress text label.
|
|
502
|
+
* - 'top': Displayed above the track
|
|
503
|
+
* - 'inline': Displayed in the same row as the track
|
|
504
|
+
* - 'bottom': Displayed below the track
|
|
505
|
+
*/
|
|
506
|
+
type TalosProgressBarLabelPosition = 'top' | 'inline' | 'bottom';
|
|
507
|
+
/**
|
|
508
|
+
* Custom formatter callback function to transform numeric value and percentage into a readable string.
|
|
509
|
+
*/
|
|
510
|
+
type TalosProgressBarFormatter = (value: number, percentage: number) => string;
|
|
511
|
+
/**
|
|
512
|
+
* Clamps a numeric value between a minimum and maximum threshold.
|
|
513
|
+
*
|
|
514
|
+
* @param value The value to clamp
|
|
515
|
+
* @param min The lower bound (inclusive)
|
|
516
|
+
* @param max The upper bound (inclusive)
|
|
517
|
+
* @returns Clamped numerical value
|
|
518
|
+
*/
|
|
519
|
+
declare function clampProgress(value: number, min: number, max: number): number;
|
|
520
|
+
/**
|
|
521
|
+
* Calculates percentage completion (0 to 100) based on value, min, and max.
|
|
522
|
+
*
|
|
523
|
+
* @param value Current progress value
|
|
524
|
+
* @param min Minimum possible value
|
|
525
|
+
* @param max Maximum possible value
|
|
526
|
+
* @returns Scaled percentage between 0 and 100
|
|
527
|
+
*/
|
|
528
|
+
declare function calculatePercentage(value: number, min: number, max: number): number;
|
|
529
|
+
/**
|
|
530
|
+
* Normalizes CSS dimension input (number converted to px string, or raw string).
|
|
531
|
+
*
|
|
532
|
+
* @param value Dimension input as string or number
|
|
533
|
+
* @returns CSS dimension string or undefined
|
|
534
|
+
*/
|
|
535
|
+
declare function resolveProgressDimension(value: string | number | null | undefined): string | undefined;
|
|
536
|
+
|
|
537
|
+
/**
|
|
538
|
+
* Directive for projecting custom header label content into a `<talos-progress-bar>`.
|
|
539
|
+
*
|
|
540
|
+
* @example
|
|
541
|
+
* ```html
|
|
542
|
+
* <talos-progress-bar [value]="uploadProgress()">
|
|
543
|
+
* <div talosProgressLabel class="flex items-center gap-2">
|
|
544
|
+
* <span>Uploading assets</span>
|
|
545
|
+
* <span class="talos-badge talos-badge--sm talos-badge--info">Active</span>
|
|
546
|
+
* </div>
|
|
547
|
+
* </talos-progress-bar>
|
|
548
|
+
* ```
|
|
549
|
+
*/
|
|
550
|
+
declare class TalosProgressLabelDirective {
|
|
551
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosProgressLabelDirective, never>;
|
|
552
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TalosProgressLabelDirective, "[talosProgressLabel], talos-progress-label", never, {}, {}, never, never, true, never>;
|
|
553
|
+
}
|
|
554
|
+
/**
|
|
555
|
+
* Directive for projecting custom formatted value or badge indicator into a `<talos-progress-bar>`.
|
|
556
|
+
*
|
|
557
|
+
* @example
|
|
558
|
+
* ```html
|
|
559
|
+
* <talos-progress-bar [value]="75">
|
|
560
|
+
* <span talosProgressValue class="font-mono text-xs">750 / 1,000 MB</span>
|
|
561
|
+
* </talos-progress-bar>
|
|
562
|
+
* ```
|
|
563
|
+
*/
|
|
564
|
+
declare class TalosProgressValueDirective {
|
|
565
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosProgressValueDirective, never>;
|
|
566
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TalosProgressValueDirective, "[talosProgressValue], talos-progress-value", never, {}, {}, never, never, true, never>;
|
|
567
|
+
}
|
|
568
|
+
/**
|
|
569
|
+
* Directive for projecting auxiliary description, ETA, or subtext beneath a `<talos-progress-bar>`.
|
|
570
|
+
*
|
|
571
|
+
* @example
|
|
572
|
+
* ```html
|
|
573
|
+
* <talos-progress-bar [value]="42">
|
|
574
|
+
* <span talosProgressHint>Estimated time remaining: 2 minutes 45 seconds</span>
|
|
575
|
+
* </talos-progress-bar>
|
|
576
|
+
* ```
|
|
577
|
+
*/
|
|
578
|
+
declare class TalosProgressHintDirective {
|
|
579
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosProgressHintDirective, never>;
|
|
580
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TalosProgressHintDirective, "[talosProgressHint], talos-progress-hint", never, {}, {}, never, never, true, never>;
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
/**
|
|
584
|
+
* Modern, accessible linear progress bar component for asynchronous task completion,
|
|
585
|
+
* asset uploads, streaming buffer states, and metric progress visualization.
|
|
586
|
+
*
|
|
587
|
+
* Fully reactive via Angular signals, with support for indeterminate/buffer modes,
|
|
588
|
+
* striped animated fills, semantic color variants, custom sizes, inside/inline labels,
|
|
589
|
+
* and comprehensive WCAG AA accessibility attributes.
|
|
590
|
+
*
|
|
591
|
+
* @example
|
|
592
|
+
* ```html
|
|
593
|
+
* <!-- Determinate task progress -->
|
|
594
|
+
* <talos-progress-bar [value]="65" label="Uploading telemetry" showValue />
|
|
595
|
+
*
|
|
596
|
+
* <!-- Indeterminate background worker -->
|
|
597
|
+
* <talos-progress-bar mode="indeterminate" variant="info" size="sm" />
|
|
598
|
+
*
|
|
599
|
+
* <!-- Streaming buffer mode -->
|
|
600
|
+
* <talos-progress-bar mode="buffer" [value]="35" [bufferValue]="75" variant="primary" />
|
|
601
|
+
*
|
|
602
|
+
* <!-- Animated striped bar with inside label -->
|
|
603
|
+
* <talos-progress-bar [value]="82" size="xl" striped animated variant="success" [showValue]="true" valuePosition="inside" />
|
|
604
|
+
* ```
|
|
605
|
+
*/
|
|
606
|
+
declare class TalosProgressBarComponent {
|
|
607
|
+
/**
|
|
608
|
+
* Current progress value, evaluated between `min` and `max`.
|
|
609
|
+
* @default 0
|
|
610
|
+
*/
|
|
611
|
+
readonly value: _angular_core.InputSignal<number>;
|
|
612
|
+
/**
|
|
613
|
+
* Secondary buffer progress value for streaming or staged downloads.
|
|
614
|
+
* Only active when `mode` is 'buffer'.
|
|
615
|
+
*/
|
|
616
|
+
readonly bufferValue: _angular_core.InputSignal<number | undefined>;
|
|
617
|
+
/**
|
|
618
|
+
* Minimum possible numerical value.
|
|
619
|
+
* @default 0
|
|
620
|
+
*/
|
|
621
|
+
readonly min: _angular_core.InputSignal<number>;
|
|
622
|
+
/**
|
|
623
|
+
* Maximum possible numerical value.
|
|
624
|
+
* @default 100
|
|
625
|
+
*/
|
|
626
|
+
readonly max: _angular_core.InputSignal<number>;
|
|
627
|
+
/**
|
|
628
|
+
* Operational mode of the progress bar.
|
|
629
|
+
* @default 'determinate'
|
|
630
|
+
*/
|
|
631
|
+
readonly mode: _angular_core.InputSignal<TalosProgressBarMode>;
|
|
632
|
+
/**
|
|
633
|
+
* Semantic color theme variant.
|
|
634
|
+
* @default 'primary'
|
|
635
|
+
*/
|
|
636
|
+
readonly variant: _angular_core.InputSignal<TalosProgressBarVariant>;
|
|
637
|
+
/**
|
|
638
|
+
* Track height size preset.
|
|
639
|
+
* @default 'md'
|
|
640
|
+
*/
|
|
641
|
+
readonly size: _angular_core.InputSignal<TalosProgressBarSize>;
|
|
642
|
+
/**
|
|
643
|
+
* Corner rounding shape of the progress track.
|
|
644
|
+
* @default 'rounded'
|
|
645
|
+
*/
|
|
646
|
+
readonly shape: _angular_core.InputSignal<TalosProgressBarShape>;
|
|
647
|
+
/**
|
|
648
|
+
* Whether to display diagonal textured stripes across the fill.
|
|
649
|
+
* @default false
|
|
650
|
+
*/
|
|
651
|
+
readonly striped: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
652
|
+
/**
|
|
653
|
+
* Whether to continuously animate the striped texture pattern.
|
|
654
|
+
* @default false
|
|
655
|
+
*/
|
|
656
|
+
readonly animated: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
657
|
+
/**
|
|
658
|
+
* Whether to display the calculated or formatted progress value label.
|
|
659
|
+
* @default false
|
|
660
|
+
*/
|
|
661
|
+
readonly showValue: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
662
|
+
/**
|
|
663
|
+
* Positioning of the value indicator relative to the progress bar.
|
|
664
|
+
* @default 'end'
|
|
665
|
+
*/
|
|
666
|
+
readonly valuePosition: _angular_core.InputSignal<TalosProgressBarValuePosition>;
|
|
667
|
+
/**
|
|
668
|
+
* Optional custom formatting function for the displayed value.
|
|
669
|
+
* Receives current numerical value and calculated percentage.
|
|
670
|
+
*/
|
|
671
|
+
readonly valueFormatter: _angular_core.InputSignal<TalosProgressBarFormatter | undefined>;
|
|
672
|
+
/**
|
|
673
|
+
* Optional primary text label describing the progress context.
|
|
674
|
+
*/
|
|
675
|
+
readonly label: _angular_core.InputSignal<string | undefined>;
|
|
676
|
+
/**
|
|
677
|
+
* Placement of the text label relative to the track.
|
|
678
|
+
* @default 'top'
|
|
679
|
+
*/
|
|
680
|
+
readonly labelPosition: _angular_core.InputSignal<TalosProgressBarLabelPosition>;
|
|
681
|
+
/**
|
|
682
|
+
* Custom CSS color override for the fill bar (e.g. hex, rgb, or css variable).
|
|
683
|
+
*/
|
|
684
|
+
readonly color: _angular_core.InputSignal<string | undefined>;
|
|
685
|
+
/**
|
|
686
|
+
* Custom CSS background color override for the track.
|
|
687
|
+
*/
|
|
688
|
+
readonly trackColor: _angular_core.InputSignal<string | undefined>;
|
|
689
|
+
/**
|
|
690
|
+
* Custom CSS background color override for the buffer bar.
|
|
691
|
+
*/
|
|
692
|
+
readonly bufferColor: _angular_core.InputSignal<string | undefined>;
|
|
693
|
+
/**
|
|
694
|
+
* Custom explicit track height override (e.g., '14px', '1.25rem', or number in pixels).
|
|
695
|
+
*/
|
|
696
|
+
readonly height: _angular_core.InputSignal<string | number | undefined>;
|
|
697
|
+
/**
|
|
698
|
+
* Accessible description announced by screen readers.
|
|
699
|
+
* Falls back to `label` or 'Progress'.
|
|
700
|
+
*/
|
|
701
|
+
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
702
|
+
/**
|
|
703
|
+
* ID of an external DOM element that labels this progress bar.
|
|
704
|
+
*/
|
|
705
|
+
readonly ariaLabelledby: _angular_core.InputSignal<string | undefined>;
|
|
706
|
+
/** Numerical value safely clamped within [min, max] */
|
|
707
|
+
readonly clampedValue: _angular_core.Signal<number>;
|
|
708
|
+
/** Scaled percentage (0 - 100) of primary progress */
|
|
709
|
+
readonly percentage: _angular_core.Signal<number>;
|
|
710
|
+
/** Scaled percentage (0 - 100) of buffer progress */
|
|
711
|
+
readonly bufferPercentage: _angular_core.Signal<number>;
|
|
712
|
+
/** Whether the progress bar operates in buffer mode */
|
|
713
|
+
readonly isBuffer: _angular_core.Signal<boolean>;
|
|
714
|
+
/** Whether the progress bar operates in an indeterminate state */
|
|
715
|
+
readonly isIndeterminate: _angular_core.Signal<boolean>;
|
|
716
|
+
/** Formatted display string for the progress value */
|
|
717
|
+
readonly formattedValue: _angular_core.Signal<string>;
|
|
718
|
+
/** Resolved accessible label */
|
|
719
|
+
readonly resolvedAriaLabel: _angular_core.Signal<string>;
|
|
720
|
+
/** Resolved track height override */
|
|
721
|
+
readonly computedHeight: _angular_core.Signal<string | null>;
|
|
722
|
+
/** Whether the value is aligned inline (start or end) alongside the bar */
|
|
723
|
+
readonly isInlineValueLayout: _angular_core.Signal<boolean>;
|
|
724
|
+
/** Optional projected custom label directive */
|
|
725
|
+
readonly customLabel: _angular_core.Signal<TalosProgressLabelDirective | undefined>;
|
|
726
|
+
/** Optional projected custom value directive */
|
|
727
|
+
readonly customValue: _angular_core.Signal<TalosProgressValueDirective | undefined>;
|
|
728
|
+
/** Optional projected custom hint directive */
|
|
729
|
+
readonly customHint: _angular_core.Signal<TalosProgressHintDirective | undefined>;
|
|
730
|
+
/** Whether top header container should render */
|
|
731
|
+
readonly shouldRenderHeader: _angular_core.Signal<boolean>;
|
|
732
|
+
/** Whether bottom footer container should render */
|
|
733
|
+
readonly shouldRenderFooter: _angular_core.Signal<boolean>;
|
|
734
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosProgressBarComponent, never>;
|
|
735
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TalosProgressBarComponent, "talos-progress-bar, [talosProgressBar]", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "bufferValue": { "alias": "bufferValue"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "striped": { "alias": "striped"; "required": false; "isSignal": true; }; "animated": { "alias": "animated"; "required": false; "isSignal": true; }; "showValue": { "alias": "showValue"; "required": false; "isSignal": true; }; "valuePosition": { "alias": "valuePosition"; "required": false; "isSignal": true; }; "valueFormatter": { "alias": "valueFormatter"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "labelPosition": { "alias": "labelPosition"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "trackColor": { "alias": "trackColor"; "required": false; "isSignal": true; }; "bufferColor": { "alias": "bufferColor"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; }, {}, ["customLabel", "customValue", "customHint"], ["[talosProgressLabel], talos-progress-label", "[talosProgressValue], talos-progress-value", "[talosProgressHint], talos-progress-hint", "[talosProgressHint], talos-progress-hint"], true, never>;
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
declare class TalosProgressBarModule {
|
|
739
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosProgressBarModule, never>;
|
|
740
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<TalosProgressBarModule, never, [typeof TalosProgressBarComponent, typeof TalosProgressLabelDirective, typeof TalosProgressValueDirective, typeof TalosProgressHintDirective], [typeof TalosProgressBarComponent, typeof TalosProgressLabelDirective, typeof TalosProgressValueDirective, typeof TalosProgressHintDirective]>;
|
|
741
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<TalosProgressBarModule>;
|
|
742
|
+
}
|
|
743
|
+
|
|
744
|
+
/**
|
|
745
|
+
* Visual shape variant for the skeleton placeholder.
|
|
746
|
+
* - 'text': Standard typography line with slight corner rounding.
|
|
747
|
+
* - 'circular' / 'avatar': Perfectly circular element (e.g., avatars, icon indicators).
|
|
748
|
+
* - 'rectangular': Sharp or subtly rounded rectangular container (e.g., images, banners, card media).
|
|
749
|
+
* - 'rounded' / 'button': Rounded container with standard border radius (e.g., buttons, tags, chips).
|
|
750
|
+
* - 'card': Composite layout container placeholder.
|
|
751
|
+
*/
|
|
752
|
+
type TalosSkeletonVariant = 'text' | 'circular' | 'avatar' | 'rectangular' | 'rounded' | 'button' | 'card';
|
|
753
|
+
/**
|
|
754
|
+
* Animation style for the skeleton loading effect.
|
|
755
|
+
* - 'shimmer': Continuous sliding gradient wave shine.
|
|
756
|
+
* - 'pulse': Smooth opacity breathing effect.
|
|
757
|
+
* - 'none': Static placeholder without movement.
|
|
758
|
+
*/
|
|
759
|
+
type TalosSkeletonAnimation = 'shimmer' | 'pulse' | 'none';
|
|
760
|
+
/**
|
|
761
|
+
* Standard sizing presets for typography and circular skeleton loaders.
|
|
762
|
+
*/
|
|
763
|
+
type TalosSkeletonSize = 'xs' | 'sm' | 'md' | 'lg';
|
|
764
|
+
/**
|
|
765
|
+
* Configuration options for the skeleton loader directive.
|
|
766
|
+
*/
|
|
767
|
+
interface TalosSkeletonOptions {
|
|
768
|
+
/** Visual shape of the skeleton mask */
|
|
769
|
+
variant?: TalosSkeletonVariant;
|
|
770
|
+
/** Animation style */
|
|
771
|
+
animation?: TalosSkeletonAnimation;
|
|
772
|
+
/** Width override */
|
|
773
|
+
width?: string | number;
|
|
774
|
+
/** Height override */
|
|
775
|
+
height?: string | number;
|
|
776
|
+
/** Custom border radius override */
|
|
777
|
+
borderRadius?: string | number;
|
|
778
|
+
/** Custom accessible label */
|
|
779
|
+
ariaLabel?: string;
|
|
780
|
+
}
|
|
781
|
+
/**
|
|
782
|
+
* Normalizes CSS dimension input (number converted to px string, or raw string).
|
|
783
|
+
* @param value Dimension input as string or number
|
|
784
|
+
* @returns CSS dimension string or undefined
|
|
785
|
+
*/
|
|
786
|
+
declare function resolveCssDimension(value: string | number | null | undefined): string | undefined;
|
|
787
|
+
|
|
788
|
+
/**
|
|
789
|
+
* Directive that attaches skeleton loading state directly to any HTML tag or component.
|
|
790
|
+
*
|
|
791
|
+
* Conceals element content and text while preserving exact layout geometry and dimensions
|
|
792
|
+
* (0 Cumulative Layout Shift), while applying an animated shimmer or pulse placeholder mask.
|
|
793
|
+
*
|
|
794
|
+
* @example
|
|
795
|
+
* ```html
|
|
796
|
+
* <h3 [talosSkeleton]="isLoading()">{{ profile().name }}</h3>
|
|
797
|
+
* <button [talosSkeleton]="isSaving()" talosButton>Submit</button>
|
|
798
|
+
* <div [talosSkeleton]="loading()" talosSkeletonShape="circular" style="width: 48px; height: 48px;"></div>
|
|
799
|
+
* ```
|
|
800
|
+
*/
|
|
801
|
+
declare class TalosSkeletonDirective {
|
|
802
|
+
/**
|
|
803
|
+
* Whether the skeleton loading state is active.
|
|
804
|
+
* Accepts a boolean, string ('true'/'false'/empty attribute), or signal value.
|
|
805
|
+
*/
|
|
806
|
+
readonly talosSkeleton: _angular_core.InputSignal<string | boolean | null | undefined>;
|
|
807
|
+
/**
|
|
808
|
+
* Animation style when skeleton state is active.
|
|
809
|
+
* @default 'shimmer'
|
|
810
|
+
*/
|
|
811
|
+
readonly animation: _angular_core.InputSignal<TalosSkeletonAnimation>;
|
|
812
|
+
/**
|
|
813
|
+
* Visual shape variant of the attached skeleton mask.
|
|
814
|
+
* @default 'rounded'
|
|
815
|
+
*/
|
|
816
|
+
readonly shape: _angular_core.InputSignal<TalosSkeletonVariant>;
|
|
817
|
+
/**
|
|
818
|
+
* Visual shape alias for consistency with variant.
|
|
819
|
+
*/
|
|
820
|
+
readonly variant: _angular_core.InputSignal<TalosSkeletonVariant | undefined>;
|
|
821
|
+
/**
|
|
822
|
+
* Explicit width override while loading.
|
|
823
|
+
*/
|
|
824
|
+
readonly width: _angular_core.InputSignal<string | number | undefined>;
|
|
825
|
+
/**
|
|
826
|
+
* Explicit height override while loading.
|
|
827
|
+
*/
|
|
828
|
+
readonly height: _angular_core.InputSignal<string | number | undefined>;
|
|
829
|
+
/**
|
|
830
|
+
* Explicit border-radius override while loading.
|
|
831
|
+
*/
|
|
832
|
+
readonly borderRadius: _angular_core.InputSignal<string | number | undefined>;
|
|
833
|
+
/**
|
|
834
|
+
* Accessible description announced to assistive technology when busy.
|
|
835
|
+
* @default 'Loading content...'
|
|
836
|
+
*/
|
|
837
|
+
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
838
|
+
/** Resolved active state boolean */
|
|
839
|
+
readonly isActive: _angular_core.Signal<boolean>;
|
|
840
|
+
/** Resolved active shape variant */
|
|
841
|
+
readonly activeShape: _angular_core.Signal<TalosSkeletonVariant>;
|
|
842
|
+
readonly isCircular: _angular_core.Signal<boolean>;
|
|
843
|
+
readonly isRounded: _angular_core.Signal<boolean>;
|
|
844
|
+
readonly isRectangular: _angular_core.Signal<boolean>;
|
|
845
|
+
readonly computedWidth: _angular_core.Signal<string | null>;
|
|
846
|
+
readonly computedHeight: _angular_core.Signal<string | null>;
|
|
847
|
+
readonly computedRadius: _angular_core.Signal<string | null>;
|
|
848
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosSkeletonDirective, never>;
|
|
849
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TalosSkeletonDirective, "[talosSkeleton]", never, { "talosSkeleton": { "alias": "talosSkeleton"; "required": false; "isSignal": true; }; "animation": { "alias": "talosSkeletonAnimation"; "required": false; "isSignal": true; }; "shape": { "alias": "talosSkeletonShape"; "required": false; "isSignal": true; }; "variant": { "alias": "talosSkeletonVariant"; "required": false; "isSignal": true; }; "width": { "alias": "talosSkeletonWidth"; "required": false; "isSignal": true; }; "height": { "alias": "talosSkeletonHeight"; "required": false; "isSignal": true; }; "borderRadius": { "alias": "talosSkeletonRadius"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "talosSkeletonAriaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
850
|
+
}
|
|
851
|
+
|
|
852
|
+
/**
|
|
853
|
+
* Modern, accessible skeleton loader placeholder component for asynchronous data loading states.
|
|
854
|
+
*
|
|
855
|
+
* Supports various geometric shapes, fluid shimmer/pulse animations, multi-line typography
|
|
856
|
+
* simulation with customizable last line tapering, and automatic content projection toggle.
|
|
857
|
+
*
|
|
858
|
+
* @example
|
|
859
|
+
* ```html
|
|
860
|
+
* <!-- Single line or custom shape -->
|
|
861
|
+
* <talos-skeleton variant="text" width="180px" />
|
|
862
|
+
* <talos-skeleton variant="circular" width="48px" height="48px" />
|
|
863
|
+
*
|
|
864
|
+
* <!-- Multi-line paragraph -->
|
|
865
|
+
* <talos-skeleton variant="text" [count]="3" lastLineWidth="65%" />
|
|
866
|
+
*
|
|
867
|
+
* <!-- Conditional content wrapper -->
|
|
868
|
+
* <talos-skeleton [loading]="isLoading()">
|
|
869
|
+
* <div class="user-content">Loaded User Profile</div>
|
|
870
|
+
* </talos-skeleton>
|
|
871
|
+
* ```
|
|
872
|
+
*/
|
|
873
|
+
declare class TalosSkeletonComponent {
|
|
874
|
+
/**
|
|
875
|
+
* Visual shape variant of the skeleton.
|
|
876
|
+
* @default 'text'
|
|
877
|
+
*/
|
|
878
|
+
readonly variant: _angular_core.InputSignal<TalosSkeletonVariant>;
|
|
879
|
+
/**
|
|
880
|
+
* Animation style applied while loading.
|
|
881
|
+
* @default 'shimmer'
|
|
882
|
+
*/
|
|
883
|
+
readonly animation: _angular_core.InputSignal<TalosSkeletonAnimation>;
|
|
884
|
+
/**
|
|
885
|
+
* Sizing scale preset for text and circular variants.
|
|
886
|
+
* @default 'md'
|
|
887
|
+
*/
|
|
888
|
+
readonly size: _angular_core.InputSignal<TalosSkeletonSize>;
|
|
889
|
+
/**
|
|
890
|
+
* Explicit width override (e.g., '100%', '240px', or number in pixels).
|
|
891
|
+
*/
|
|
892
|
+
readonly width: _angular_core.InputSignal<string | number | undefined>;
|
|
893
|
+
/**
|
|
894
|
+
* Explicit height override (e.g., '2rem', '48px', or number in pixels).
|
|
895
|
+
*/
|
|
896
|
+
readonly height: _angular_core.InputSignal<string | number | undefined>;
|
|
897
|
+
/**
|
|
898
|
+
* Custom border radius override (e.g., '6px', '50%').
|
|
899
|
+
*/
|
|
900
|
+
readonly borderRadius: _angular_core.InputSignal<string | number | undefined>;
|
|
901
|
+
/**
|
|
902
|
+
* Number of lines to render for multi-line text placeholders.
|
|
903
|
+
* @default 1
|
|
904
|
+
*/
|
|
905
|
+
readonly count: _angular_core.InputSignal<number>;
|
|
906
|
+
/**
|
|
907
|
+
* Width of the last line when `count` > 1 (e.g. '60%' for realistic paragraph tapering).
|
|
908
|
+
* @default '60%'
|
|
909
|
+
*/
|
|
910
|
+
readonly lastLineWidth: _angular_core.InputSignal<string | number>;
|
|
911
|
+
/**
|
|
912
|
+
* Spacing gap between lines when `count` > 1.
|
|
913
|
+
* @default '0.5rem'
|
|
914
|
+
*/
|
|
915
|
+
readonly gap: _angular_core.InputSignal<string | number>;
|
|
916
|
+
/**
|
|
917
|
+
* Whether the skeleton is actively in a loading state.
|
|
918
|
+
* When false, the skeleton hides and projects inner `<ng-content>`.
|
|
919
|
+
* @default true
|
|
920
|
+
*/
|
|
921
|
+
readonly loading: _angular_core.InputSignal<boolean>;
|
|
922
|
+
/**
|
|
923
|
+
* Accessible description for screen readers during loading.
|
|
924
|
+
* @default 'Loading content...'
|
|
925
|
+
*/
|
|
926
|
+
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
927
|
+
/** Whether the component represents a circular shape (circle or avatar) */
|
|
928
|
+
readonly isCircular: _angular_core.Signal<boolean>;
|
|
929
|
+
/** Whether the component represents a rounded shape (rounded or button) */
|
|
930
|
+
readonly isRounded: _angular_core.Signal<boolean>;
|
|
931
|
+
/** Whether this is a multi-line text skeleton */
|
|
932
|
+
readonly isMultiLine: _angular_core.Signal<boolean>;
|
|
933
|
+
/** Normalized line array for multi-line rendering */
|
|
934
|
+
readonly lineIndices: _angular_core.Signal<number[]>;
|
|
935
|
+
/** Resolved CSS width string */
|
|
936
|
+
readonly computedWidth: _angular_core.Signal<string | null>;
|
|
937
|
+
/** Resolved CSS height string */
|
|
938
|
+
readonly computedHeight: _angular_core.Signal<string | null>;
|
|
939
|
+
/** Resolved CSS border radius string */
|
|
940
|
+
readonly computedRadius: _angular_core.Signal<string | null>;
|
|
941
|
+
/** Resolved CSS gap string */
|
|
942
|
+
readonly computedGap: _angular_core.Signal<string>;
|
|
943
|
+
/**
|
|
944
|
+
* Computes the width for an individual line in multi-line text mode.
|
|
945
|
+
* @param index Line index (0-based)
|
|
946
|
+
*/
|
|
947
|
+
getLineWidth(index: number): string;
|
|
948
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosSkeletonComponent, never>;
|
|
949
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TalosSkeletonComponent, "talos-skeleton", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "animation": { "alias": "animation"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "borderRadius": { "alias": "borderRadius"; "required": false; "isSignal": true; }; "count": { "alias": "count"; "required": false; "isSignal": true; }; "lastLineWidth": { "alias": "lastLineWidth"; "required": false; "isSignal": true; }; "gap": { "alias": "gap"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
950
|
+
}
|
|
951
|
+
|
|
952
|
+
declare class TalosSkeletonModule {
|
|
953
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosSkeletonModule, never>;
|
|
954
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<TalosSkeletonModule, never, [typeof TalosSkeletonComponent, typeof TalosSkeletonDirective], [typeof TalosSkeletonComponent, typeof TalosSkeletonDirective]>;
|
|
955
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<TalosSkeletonModule>;
|
|
956
|
+
}
|
|
957
|
+
|
|
958
|
+
type TalosSnackbarVariant = 'default' | 'info' | 'success' | 'warning' | 'error';
|
|
959
|
+
type TalosSnackbarPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
|
|
960
|
+
interface TalosSnackbarConfig {
|
|
961
|
+
/** Title text shown above message */
|
|
962
|
+
title?: string;
|
|
963
|
+
/** Main message text or custom Angular TemplateRef */
|
|
964
|
+
message: string | TemplateRef<unknown>;
|
|
965
|
+
/** Visual variant theme */
|
|
966
|
+
variant?: TalosSnackbarVariant;
|
|
967
|
+
/** Screen position placement */
|
|
968
|
+
position?: TalosSnackbarPosition;
|
|
969
|
+
/** Auto-dismiss duration in milliseconds. 0 or Infinity for persistent. Default: 4000ms */
|
|
970
|
+
duration?: number;
|
|
971
|
+
/** Whether to show a close button ('X'). Default: true */
|
|
972
|
+
dismissible?: boolean;
|
|
973
|
+
/** Text label for an action button (e.g., 'Undo', 'Retry') */
|
|
974
|
+
actionLabel?: string;
|
|
975
|
+
/** Callback fired when action button is clicked */
|
|
976
|
+
onAction?: () => void;
|
|
977
|
+
/** Callback fired when snackbar is dismissed */
|
|
978
|
+
onDismiss?: () => void;
|
|
979
|
+
/** Custom CSS class name to append to the snackbar element */
|
|
980
|
+
customClass?: string;
|
|
981
|
+
/** Whether to display a timer progress bar at the bottom. Default: true */
|
|
982
|
+
showProgressBar?: boolean;
|
|
983
|
+
/** Whether mouse hover pauses auto-dismiss countdown. Default: true */
|
|
984
|
+
pauseOnHover?: boolean;
|
|
985
|
+
/** Custom Lucide icon component or null/false to hide icon */
|
|
986
|
+
icon?: Type<unknown> | null | boolean;
|
|
987
|
+
/** Optional custom data context when using TemplateRef */
|
|
988
|
+
data?: unknown;
|
|
989
|
+
}
|
|
990
|
+
interface TalosSnackbarRef {
|
|
991
|
+
/** Unique ID of the snackbar instance */
|
|
992
|
+
readonly id: string;
|
|
993
|
+
/** Programmatically dismiss this snackbar */
|
|
994
|
+
dismiss: () => void;
|
|
995
|
+
}
|
|
996
|
+
interface TalosSnackbarInstance extends Required<Omit<TalosSnackbarConfig, 'title' | 'actionLabel' | 'onAction' | 'onDismiss' | 'customClass' | 'icon' | 'data'>> {
|
|
997
|
+
id: string;
|
|
998
|
+
title?: string;
|
|
999
|
+
actionLabel?: string;
|
|
1000
|
+
onAction?: () => void;
|
|
1001
|
+
onDismiss?: () => void;
|
|
1002
|
+
customClass?: string;
|
|
1003
|
+
icon?: Type<unknown> | null | boolean;
|
|
1004
|
+
data?: unknown;
|
|
1005
|
+
createdAt: number;
|
|
1006
|
+
isPaused: boolean;
|
|
1007
|
+
}
|
|
1008
|
+
|
|
1009
|
+
declare class TalosSnackbarService {
|
|
1010
|
+
private readonly overlay;
|
|
1011
|
+
private overlayRef;
|
|
1012
|
+
/** Reactive list of currently active snackbar instances */
|
|
1013
|
+
readonly snackbars: _angular_core.WritableSignal<TalosSnackbarInstance[]>;
|
|
1014
|
+
private idCounter;
|
|
1015
|
+
/** Global default configuration values */
|
|
1016
|
+
private defaultConfig;
|
|
1017
|
+
/**
|
|
1018
|
+
* Override default global configurations for all subsequent snackbars.
|
|
1019
|
+
*/
|
|
1020
|
+
setDefaultConfig(config: Partial<TalosSnackbarConfig>): void;
|
|
1021
|
+
/**
|
|
1022
|
+
* Main entry point to open a configured snackbar.
|
|
1023
|
+
*/
|
|
1024
|
+
show(messageOrConfig: string | TemplateRef<unknown> | TalosSnackbarConfig, configOverrides?: Partial<TalosSnackbarConfig>): TalosSnackbarRef;
|
|
1025
|
+
/** Convenience method for Success variant snackbars */
|
|
1026
|
+
success(message: string | TemplateRef<unknown>, config?: Partial<TalosSnackbarConfig>): TalosSnackbarRef;
|
|
1027
|
+
/** Convenience method for Error variant snackbars */
|
|
1028
|
+
error(message: string | TemplateRef<unknown>, config?: Partial<TalosSnackbarConfig>): TalosSnackbarRef;
|
|
1029
|
+
/** Convenience method for Warning variant snackbars */
|
|
1030
|
+
warning(message: string | TemplateRef<unknown>, config?: Partial<TalosSnackbarConfig>): TalosSnackbarRef;
|
|
1031
|
+
/** Convenience method for Info variant snackbars */
|
|
1032
|
+
info(message: string | TemplateRef<unknown>, config?: Partial<TalosSnackbarConfig>): TalosSnackbarRef;
|
|
1033
|
+
/**
|
|
1034
|
+
* Dismiss a specific snackbar by ID, or the oldest active snackbar if no ID is specified.
|
|
1035
|
+
*/
|
|
1036
|
+
dismiss(id?: string): void;
|
|
1037
|
+
/**
|
|
1038
|
+
* Dismiss all currently active snackbars.
|
|
1039
|
+
*/
|
|
1040
|
+
dismissAll(): void;
|
|
1041
|
+
private ensureOverlayCreated;
|
|
1042
|
+
private destroyOverlay;
|
|
1043
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosSnackbarService, never>;
|
|
1044
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<TalosSnackbarService>;
|
|
1045
|
+
}
|
|
1046
|
+
|
|
1047
|
+
declare class TalosSnackbarComponent implements OnInit, OnDestroy {
|
|
1048
|
+
/** Snackbar instance data */
|
|
1049
|
+
readonly instance: _angular_core.InputSignal<TalosSnackbarInstance>;
|
|
1050
|
+
/** Event emitted when snackbar requests dismissal */
|
|
1051
|
+
readonly dismiss: _angular_core.OutputEmitterRef<string>;
|
|
1052
|
+
/** Event emitted when snackbar action button is clicked */
|
|
1053
|
+
readonly action: _angular_core.OutputEmitterRef<string>;
|
|
1054
|
+
protected readonly isDismissing: _angular_core.WritableSignal<boolean>;
|
|
1055
|
+
protected readonly progressPercent: _angular_core.WritableSignal<number>;
|
|
1056
|
+
protected readonly Infinity: number;
|
|
1057
|
+
private timerId;
|
|
1058
|
+
private remainingMs;
|
|
1059
|
+
private lastTickMs;
|
|
1060
|
+
readonly isTopPosition: _angular_core.Signal<boolean>;
|
|
1061
|
+
readonly isTemplateMessage: _angular_core.Signal<boolean>;
|
|
1062
|
+
readonly templateMessage: _angular_core.Signal<TemplateRef<unknown>>;
|
|
1063
|
+
readonly customIconComponent: _angular_core.Signal<Type<unknown> | null>;
|
|
1064
|
+
readonly ariaRole: _angular_core.Signal<"alert" | "status">;
|
|
1065
|
+
readonly ariaLive: _angular_core.Signal<"assertive" | "polite">;
|
|
1066
|
+
ngOnInit(): void;
|
|
1067
|
+
ngOnDestroy(): void;
|
|
1068
|
+
private startTimer;
|
|
1069
|
+
private stopTimer;
|
|
1070
|
+
protected onMouseEnter(): void;
|
|
1071
|
+
protected onMouseLeave(): void;
|
|
1072
|
+
protected onActionClick(): void;
|
|
1073
|
+
protected onCloseClick(): void;
|
|
1074
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosSnackbarComponent, never>;
|
|
1075
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TalosSnackbarComponent, "talos-snackbar", never, { "instance": { "alias": "instance"; "required": true; "isSignal": true; }; }, { "dismiss": "dismiss"; "action": "action"; }, never, never, true, never>;
|
|
1076
|
+
}
|
|
1077
|
+
|
|
1078
|
+
declare class TalosSnackbarContainerComponent {
|
|
1079
|
+
private readonly snackbarService;
|
|
1080
|
+
readonly positions: TalosSnackbarPosition[];
|
|
1081
|
+
readonly groupedSnackbars: _angular_core.Signal<Record<TalosSnackbarPosition, TalosSnackbarInstance[]>>;
|
|
1082
|
+
onDismiss(id: string): void;
|
|
1083
|
+
onAction(id: string): void;
|
|
1084
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosSnackbarContainerComponent, never>;
|
|
1085
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TalosSnackbarContainerComponent, "talos-snackbar-container", never, {}, {}, never, never, true, never>;
|
|
1086
|
+
}
|
|
1087
|
+
|
|
1088
|
+
/**
|
|
1089
|
+
* Convenience NgModule wrapping standalone snackbar components.
|
|
1090
|
+
*
|
|
1091
|
+
* Allows developers who prefer `TalosSnackbarModule` to import all snackbar elements in one go.
|
|
1092
|
+
*/
|
|
1093
|
+
declare class TalosSnackbarModule {
|
|
1094
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosSnackbarModule, never>;
|
|
1095
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<TalosSnackbarModule, never, [typeof TalosSnackbarComponent, typeof TalosSnackbarContainerComponent], [typeof TalosSnackbarComponent, typeof TalosSnackbarContainerComponent]>;
|
|
1096
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<TalosSnackbarModule>;
|
|
1097
|
+
}
|
|
1098
|
+
|
|
1099
|
+
/**
|
|
1100
|
+
* Sizing presets for the loading spinner diameter.
|
|
1101
|
+
* - 'xs': 16px (dense inline buttons, form affix, tags)
|
|
1102
|
+
* - 'sm': 20px (standard compact buttons, table cells)
|
|
1103
|
+
* - 'md': 28px (default cards, content sections)
|
|
1104
|
+
* - 'lg': 40px (prominent view loader, dialogs)
|
|
1105
|
+
* - 'xl': 56px (full-page or hero loading states)
|
|
1106
|
+
*/
|
|
1107
|
+
type TalosSpinnerSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
1108
|
+
/**
|
|
1109
|
+
* Visual semantic variant palette for the loading spinner.
|
|
1110
|
+
*/
|
|
1111
|
+
type TalosSpinnerVariant = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'error' | 'info' | 'neutral' | 'subtle' | 'outline' | 'inherit';
|
|
1112
|
+
/**
|
|
1113
|
+
* Animation and visual rendering type for the loading spinner.
|
|
1114
|
+
* - 'circular': Modern SVG ring with animated rotating dash offset (default).
|
|
1115
|
+
* - 'dots': Three rhythmic pulsing / bouncing dots for compact inline loading.
|
|
1116
|
+
* - 'ring': Smooth dual-arc or segmented rotating ring.
|
|
1117
|
+
* - 'orbit': Modern dual-node orbital rotation for rich dashboards.
|
|
1118
|
+
*/
|
|
1119
|
+
type TalosSpinnerType = 'circular' | 'dots' | 'ring' | 'orbit';
|
|
1120
|
+
/**
|
|
1121
|
+
* Rotation and animation speed presets.
|
|
1122
|
+
* - 'slow': 1.5s per cycle
|
|
1123
|
+
* - 'normal': 0.85s per cycle (default)
|
|
1124
|
+
* - 'fast': 0.5s per cycle
|
|
1125
|
+
*/
|
|
1126
|
+
type TalosSpinnerSpeed = 'slow' | 'normal' | 'fast';
|
|
1127
|
+
/**
|
|
1128
|
+
* Placement of the optional label text relative to the spinner.
|
|
1129
|
+
* - 'bottom': Centered below the spinner (default for block/card layouts)
|
|
1130
|
+
* - 'top': Centered above the spinner
|
|
1131
|
+
* - 'end' / 'inline': Positioned to the right in an inline horizontal layout
|
|
1132
|
+
* - 'start': Positioned to the left in an inline horizontal layout
|
|
1133
|
+
*/
|
|
1134
|
+
type TalosSpinnerLabelPosition = 'top' | 'bottom' | 'start' | 'end' | 'inline';
|
|
1135
|
+
/**
|
|
1136
|
+
* Configuration options for the global spinner service and programmatic triggers.
|
|
1137
|
+
*/
|
|
1138
|
+
interface TalosSpinnerConfig {
|
|
1139
|
+
/** Text message or description to display */
|
|
1140
|
+
message?: string;
|
|
1141
|
+
/** Visual semantic variant */
|
|
1142
|
+
variant?: TalosSpinnerVariant;
|
|
1143
|
+
/** Size preset or custom dimension */
|
|
1144
|
+
size?: TalosSpinnerSize | string | number;
|
|
1145
|
+
/** Spinner rendering type */
|
|
1146
|
+
type?: TalosSpinnerType;
|
|
1147
|
+
/** Whether to apply a frosted glassmorphic backdrop blur */
|
|
1148
|
+
blur?: boolean;
|
|
1149
|
+
/** Whether to render over full screen viewport */
|
|
1150
|
+
fullscreen?: boolean;
|
|
1151
|
+
/** Custom accessible label */
|
|
1152
|
+
ariaLabel?: string;
|
|
1153
|
+
}
|
|
1154
|
+
/**
|
|
1155
|
+
* Maps standard sizing presets to pixel dimensions.
|
|
1156
|
+
*/
|
|
1157
|
+
declare const SPINNER_SIZE_MAP: Record<TalosSpinnerSize, number>;
|
|
1158
|
+
/**
|
|
1159
|
+
* Maps standard sizing presets to default stroke / track widths.
|
|
1160
|
+
*/
|
|
1161
|
+
declare const SPINNER_STROKE_MAP: Record<TalosSpinnerSize, number>;
|
|
1162
|
+
/**
|
|
1163
|
+
* Normalizes CSS dimension input (number converted to px string, or raw string).
|
|
1164
|
+
*
|
|
1165
|
+
* @param value Dimension input as string or number
|
|
1166
|
+
* @returns CSS dimension string or undefined
|
|
1167
|
+
*/
|
|
1168
|
+
declare function resolveSpinnerDimension(value: string | number | null | undefined): string | undefined;
|
|
1169
|
+
/**
|
|
1170
|
+
* Extracts a numeric pixel dimension or falls back to size preset lookup.
|
|
1171
|
+
*
|
|
1172
|
+
* @param size Preset or custom dimension
|
|
1173
|
+
* @returns Numeric pixel size
|
|
1174
|
+
*/
|
|
1175
|
+
declare function resolveNumericSize(size: TalosSpinnerSize | string | number | undefined): number;
|
|
1176
|
+
|
|
1177
|
+
/**
|
|
1178
|
+
* Structural / content directive for marking custom spinner label templates.
|
|
1179
|
+
*
|
|
1180
|
+
* @example
|
|
1181
|
+
* ```html
|
|
1182
|
+
* <talos-spinner>
|
|
1183
|
+
* <span *talosSpinnerLabel class="custom-label">
|
|
1184
|
+
* Syncing <strong>24/100</strong> files...
|
|
1185
|
+
* </span>
|
|
1186
|
+
* </talos-spinner>
|
|
1187
|
+
* ```
|
|
1188
|
+
*/
|
|
1189
|
+
declare class TalosSpinnerLabelDirective {
|
|
1190
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosSpinnerLabelDirective, never>;
|
|
1191
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TalosSpinnerLabelDirective, "[talosSpinnerLabel]", never, {}, {}, never, never, true, never>;
|
|
1192
|
+
}
|
|
1193
|
+
/**
|
|
1194
|
+
* Directive that attaches an accessible loading spinner overlay directly onto any container element
|
|
1195
|
+
* (e.g., card, panel, table, or form section).
|
|
1196
|
+
*
|
|
1197
|
+
* When active, it dims the host container, applies an optional blur effect, disables interactions,
|
|
1198
|
+
* and renders a centered spinner indicator with optional message.
|
|
1199
|
+
*
|
|
1200
|
+
* @example
|
|
1201
|
+
* ```html
|
|
1202
|
+
* <div [talosSpinnerOverlay]="isUpdating()" talosSpinnerMessage="Saving changes..." talosSpinnerVariant="primary">
|
|
1203
|
+
* <p>Card Content...</p>
|
|
1204
|
+
* </div>
|
|
1205
|
+
* ```
|
|
1206
|
+
*/
|
|
1207
|
+
declare class TalosSpinnerOverlayDirective implements OnDestroy {
|
|
1208
|
+
private readonly elementRef;
|
|
1209
|
+
private readonly renderer;
|
|
1210
|
+
private readonly appRef;
|
|
1211
|
+
private readonly envInjector;
|
|
1212
|
+
private overlayElement;
|
|
1213
|
+
private spinnerRef;
|
|
1214
|
+
/**
|
|
1215
|
+
* Whether the loading overlay is currently active.
|
|
1216
|
+
*/
|
|
1217
|
+
readonly talosSpinnerOverlay: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1218
|
+
/**
|
|
1219
|
+
* Alias input `talosLoading` for concise developer ergonomics.
|
|
1220
|
+
*/
|
|
1221
|
+
readonly talosLoading: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1222
|
+
/**
|
|
1223
|
+
* Optional loading message or status string to display below the spinner.
|
|
1224
|
+
*/
|
|
1225
|
+
readonly message: _angular_core.InputSignal<string | undefined>;
|
|
1226
|
+
/**
|
|
1227
|
+
* Semantic color variant for the attached spinner overlay.
|
|
1228
|
+
* @default 'primary'
|
|
1229
|
+
*/
|
|
1230
|
+
readonly variant: _angular_core.InputSignal<TalosSpinnerVariant>;
|
|
1231
|
+
/**
|
|
1232
|
+
* Size preset for the attached spinner indicator.
|
|
1233
|
+
* @default 'md'
|
|
1234
|
+
*/
|
|
1235
|
+
readonly size: _angular_core.InputSignal<TalosSpinnerSize>;
|
|
1236
|
+
/**
|
|
1237
|
+
* Animation rendering type for the attached spinner indicator.
|
|
1238
|
+
* @default 'circular'
|
|
1239
|
+
*/
|
|
1240
|
+
readonly type: _angular_core.InputSignal<TalosSpinnerType>;
|
|
1241
|
+
/**
|
|
1242
|
+
* Whether to apply a frosted glassmorphic backdrop blur effect.
|
|
1243
|
+
* @default true
|
|
1244
|
+
*/
|
|
1245
|
+
readonly blur: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1246
|
+
/**
|
|
1247
|
+
* Accessible description announced by assistive technologies.
|
|
1248
|
+
*/
|
|
1249
|
+
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
1250
|
+
constructor();
|
|
1251
|
+
/**
|
|
1252
|
+
* Computes whether the overlay is active from either primary input or alias.
|
|
1253
|
+
*/
|
|
1254
|
+
isActive(): boolean;
|
|
1255
|
+
private renderOverlay;
|
|
1256
|
+
private updateSpinnerInputs;
|
|
1257
|
+
private removeOverlay;
|
|
1258
|
+
ngOnDestroy(): void;
|
|
1259
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosSpinnerOverlayDirective, never>;
|
|
1260
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TalosSpinnerOverlayDirective, "[talosSpinnerOverlay], [talosLoading]", never, { "talosSpinnerOverlay": { "alias": "talosSpinnerOverlay"; "required": false; "isSignal": true; }; "talosLoading": { "alias": "talosLoading"; "required": false; "isSignal": true; }; "message": { "alias": "talosSpinnerMessage"; "required": false; "isSignal": true; }; "variant": { "alias": "talosSpinnerVariant"; "required": false; "isSignal": true; }; "size": { "alias": "talosSpinnerSize"; "required": false; "isSignal": true; }; "type": { "alias": "talosSpinnerType"; "required": false; "isSignal": true; }; "blur": { "alias": "talosSpinnerBlur"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "talosSpinnerAriaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1261
|
+
}
|
|
1262
|
+
|
|
1263
|
+
/**
|
|
1264
|
+
* Global singleton service for displaying full-page or application-level loading spinners.
|
|
1265
|
+
*
|
|
1266
|
+
* Implements reference-counting so concurrent asynchronous operations (such as parallel HTTP requests
|
|
1267
|
+
* or multi-stage workflow transitions) can safely call `show()` and `hide()` without prematurely
|
|
1268
|
+
* dismissing the indicator while other background tasks are still in progress.
|
|
1269
|
+
*
|
|
1270
|
+
* @example
|
|
1271
|
+
* ```typescript
|
|
1272
|
+
* const spinner = inject(TalosSpinnerService);
|
|
1273
|
+
*
|
|
1274
|
+
* // Basic usage
|
|
1275
|
+
* spinner.show('Syncing database...');
|
|
1276
|
+
* await syncData();
|
|
1277
|
+
* spinner.hide();
|
|
1278
|
+
*
|
|
1279
|
+
* // Advanced configuration
|
|
1280
|
+
* spinner.show({
|
|
1281
|
+
* message: 'Processing batch export...',
|
|
1282
|
+
* variant: 'primary',
|
|
1283
|
+
* size: 'lg',
|
|
1284
|
+
* blur: true
|
|
1285
|
+
* });
|
|
1286
|
+
* ```
|
|
1287
|
+
*/
|
|
1288
|
+
declare class TalosSpinnerService {
|
|
1289
|
+
/** Active concurrent request counter */
|
|
1290
|
+
private readonly requestCount;
|
|
1291
|
+
/** Current active spinner configuration */
|
|
1292
|
+
private readonly currentConfig;
|
|
1293
|
+
/** Whether the global spinner is currently active */
|
|
1294
|
+
readonly active: _angular_core.Signal<boolean>;
|
|
1295
|
+
/** The message currently displayed on the global spinner */
|
|
1296
|
+
readonly message: _angular_core.Signal<string | undefined>;
|
|
1297
|
+
/** The color variant currently used on the global spinner */
|
|
1298
|
+
readonly variant: _angular_core.Signal<TalosSpinnerVariant>;
|
|
1299
|
+
/** The size preset currently used on the global spinner */
|
|
1300
|
+
readonly size: _angular_core.Signal<string | number>;
|
|
1301
|
+
/** The animation type currently used on the global spinner */
|
|
1302
|
+
readonly type: _angular_core.Signal<TalosSpinnerType>;
|
|
1303
|
+
/** Whether backdrop blur is enabled for the global spinner */
|
|
1304
|
+
readonly blur: _angular_core.Signal<boolean>;
|
|
1305
|
+
/** Accessible label announced to screen readers */
|
|
1306
|
+
readonly ariaLabel: _angular_core.Signal<string>;
|
|
1307
|
+
/**
|
|
1308
|
+
* Activates the global loading spinner or increments the active operation counter.
|
|
1309
|
+
*
|
|
1310
|
+
* @param configOrMessage Optional configuration object or text message string
|
|
1311
|
+
*/
|
|
1312
|
+
show(configOrMessage?: TalosSpinnerConfig | string): void;
|
|
1313
|
+
/**
|
|
1314
|
+
* Decrements the active operation counter. Dismisses the global spinner once all operations have completed.
|
|
1315
|
+
*/
|
|
1316
|
+
hide(): void;
|
|
1317
|
+
/**
|
|
1318
|
+
* Immediately clears all active requests and forces the global spinner to hide.
|
|
1319
|
+
*/
|
|
1320
|
+
forceHide(): void;
|
|
1321
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosSpinnerService, never>;
|
|
1322
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<TalosSpinnerService>;
|
|
1323
|
+
}
|
|
1324
|
+
|
|
1325
|
+
/**
|
|
1326
|
+
* Modern, accessible loading spinner component for inline button indicators,
|
|
1327
|
+
* contextual card loading overlays, and global asynchronous feedback.
|
|
1328
|
+
*
|
|
1329
|
+
* Fully reactive via Angular signals with support for circular, dots, ring,
|
|
1330
|
+
* and orbital animations, standard sizing presets, semantic variants, and WCAG AA compliance.
|
|
1331
|
+
*
|
|
1332
|
+
* @example
|
|
1333
|
+
* ```html
|
|
1334
|
+
* <!-- Standard inline spinner -->
|
|
1335
|
+
* <talos-spinner size="sm" variant="primary" />
|
|
1336
|
+
*
|
|
1337
|
+
* <!-- Centered card overlay with custom label -->
|
|
1338
|
+
* <talos-spinner [overlay]="true" [loading]="isSyncing()" label="Synchronizing records...">
|
|
1339
|
+
* <div class="card-content">...</div>
|
|
1340
|
+
* </talos-spinner>
|
|
1341
|
+
*
|
|
1342
|
+
* <!-- Bouncing dots variant for button states -->
|
|
1343
|
+
* <talos-spinner type="dots" size="xs" variant="inherit" />
|
|
1344
|
+
* ```
|
|
1345
|
+
*/
|
|
1346
|
+
declare class TalosSpinnerComponent {
|
|
1347
|
+
/**
|
|
1348
|
+
* Visual semantic variant palette for the spinner stroke and accents.
|
|
1349
|
+
* @default 'primary'
|
|
1350
|
+
*/
|
|
1351
|
+
readonly variant: _angular_core.InputSignal<TalosSpinnerVariant>;
|
|
1352
|
+
/**
|
|
1353
|
+
* Sizing preset ('xs' | 'sm' | 'md' | 'lg' | 'xl') or custom numerical / CSS dimension.
|
|
1354
|
+
* @default 'md'
|
|
1355
|
+
*/
|
|
1356
|
+
readonly size: _angular_core.InputSignal<string | number>;
|
|
1357
|
+
/**
|
|
1358
|
+
* Animation visual rendering type.
|
|
1359
|
+
* @default 'circular'
|
|
1360
|
+
*/
|
|
1361
|
+
readonly type: _angular_core.InputSignal<TalosSpinnerType>;
|
|
1362
|
+
/**
|
|
1363
|
+
* Cycle animation speed preset.
|
|
1364
|
+
* @default 'normal'
|
|
1365
|
+
*/
|
|
1366
|
+
readonly speed: _angular_core.InputSignal<TalosSpinnerSpeed>;
|
|
1367
|
+
/**
|
|
1368
|
+
* Custom stroke width in pixels for SVG circular / ring animations.
|
|
1369
|
+
*/
|
|
1370
|
+
readonly strokeWidth: _angular_core.InputSignal<number | undefined>;
|
|
1371
|
+
/**
|
|
1372
|
+
* Custom CSS color override for the animated spinner fill.
|
|
1373
|
+
*/
|
|
1374
|
+
readonly color: _angular_core.InputSignal<string | undefined>;
|
|
1375
|
+
/**
|
|
1376
|
+
* Custom CSS background color override for the subtle circular track ring.
|
|
1377
|
+
*/
|
|
1378
|
+
readonly trackColor: _angular_core.InputSignal<string | undefined>;
|
|
1379
|
+
/**
|
|
1380
|
+
* Whether to render the secondary background track ring.
|
|
1381
|
+
* @default true
|
|
1382
|
+
*/
|
|
1383
|
+
readonly showTrack: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1384
|
+
/**
|
|
1385
|
+
* Optional visible text label displayed next to or below the spinner.
|
|
1386
|
+
*/
|
|
1387
|
+
readonly label: _angular_core.InputSignal<string | undefined>;
|
|
1388
|
+
/**
|
|
1389
|
+
* Position of the label text relative to the spinner indicator.
|
|
1390
|
+
* @default 'bottom'
|
|
1391
|
+
*/
|
|
1392
|
+
readonly labelPosition: _angular_core.InputSignal<TalosSpinnerLabelPosition>;
|
|
1393
|
+
/**
|
|
1394
|
+
* Whether this spinner functions as a container wrapper overlay over projected content.
|
|
1395
|
+
* @default false
|
|
1396
|
+
*/
|
|
1397
|
+
readonly overlay: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1398
|
+
/**
|
|
1399
|
+
* Active state when used as an overlay wrapper.
|
|
1400
|
+
* @default true
|
|
1401
|
+
*/
|
|
1402
|
+
readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1403
|
+
/**
|
|
1404
|
+
* Whether to apply a frosted glassmorphic backdrop blur to the container overlay.
|
|
1405
|
+
* @default false
|
|
1406
|
+
*/
|
|
1407
|
+
readonly blur: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1408
|
+
/**
|
|
1409
|
+
* Whether this overlay covers the full viewport screen.
|
|
1410
|
+
* @default false
|
|
1411
|
+
*/
|
|
1412
|
+
readonly fullscreen: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1413
|
+
/**
|
|
1414
|
+
* Accessible description announced to screen readers.
|
|
1415
|
+
* Defaults to `label` or 'Loading, please wait...'.
|
|
1416
|
+
*/
|
|
1417
|
+
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
1418
|
+
/** Projected custom label directive */
|
|
1419
|
+
readonly customLabel: _angular_core.Signal<TalosSpinnerLabelDirective | undefined>;
|
|
1420
|
+
/** Evaluated numeric pixel diameter */
|
|
1421
|
+
readonly numericSize: _angular_core.Signal<number>;
|
|
1422
|
+
/** Computed CSS dimension string (e.g., '28px') */
|
|
1423
|
+
readonly computedDimension: _angular_core.Signal<string | null>;
|
|
1424
|
+
/** Evaluated stroke width based on size or custom input */
|
|
1425
|
+
readonly computedStrokeWidth: _angular_core.Signal<number>;
|
|
1426
|
+
/** Radius of SVG circle taking stroke into account */
|
|
1427
|
+
readonly computedRadius: _angular_core.Signal<number>;
|
|
1428
|
+
/** Circumference of SVG circle for stroke dash animations */
|
|
1429
|
+
readonly computedCircumference: _angular_core.Signal<number>;
|
|
1430
|
+
/** Dash array for SVG circular arc */
|
|
1431
|
+
readonly computedDashArray: _angular_core.Signal<string>;
|
|
1432
|
+
/** Dash offset for initial arc position */
|
|
1433
|
+
readonly computedDashOffset: _angular_core.Signal<number>;
|
|
1434
|
+
/** Resolved accessible label */
|
|
1435
|
+
readonly resolvedAriaLabel: _angular_core.Signal<string>;
|
|
1436
|
+
/** Whether the label is arranged in horizontal inline layout with the spinner */
|
|
1437
|
+
readonly isInlineLayout: _angular_core.Signal<boolean>;
|
|
1438
|
+
/** Whether the overlay is actively showing */
|
|
1439
|
+
readonly isOverlayActive: _angular_core.Signal<boolean>;
|
|
1440
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosSpinnerComponent, never>;
|
|
1441
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TalosSpinnerComponent, "talos-spinner, talos-loading-spinner, [talosSpinner], [talosLoadingSpinner]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "speed": { "alias": "speed"; "required": false; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "trackColor": { "alias": "trackColor"; "required": false; "isSignal": true; }; "showTrack": { "alias": "showTrack"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "labelPosition": { "alias": "labelPosition"; "required": false; "isSignal": true; }; "overlay": { "alias": "overlay"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "blur": { "alias": "blur"; "required": false; "isSignal": true; }; "fullscreen": { "alias": "fullscreen"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, ["customLabel"], ["*", "[talosSpinnerLabel]"], true, never>;
|
|
1442
|
+
}
|
|
1443
|
+
/**
|
|
1444
|
+
* Global overlay component connected to `TalosSpinnerService`.
|
|
1445
|
+
*
|
|
1446
|
+
* Can be placed in the root template (`app.component.html`) to provide a reactive,
|
|
1447
|
+
* unified full-screen loading state for all global asynchronous background processes.
|
|
1448
|
+
*
|
|
1449
|
+
* @example
|
|
1450
|
+
* ```html
|
|
1451
|
+
* <!-- In app.component.html -->
|
|
1452
|
+
* <talos-global-spinner />
|
|
1453
|
+
* ```
|
|
1454
|
+
*/
|
|
1455
|
+
declare class TalosGlobalSpinnerComponent {
|
|
1456
|
+
readonly spinnerService: TalosSpinnerService;
|
|
1457
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosGlobalSpinnerComponent, never>;
|
|
1458
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TalosGlobalSpinnerComponent, "talos-global-spinner", never, {}, {}, never, never, true, never>;
|
|
1459
|
+
}
|
|
1460
|
+
|
|
1461
|
+
declare class TalosSpinnerModule {
|
|
1462
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosSpinnerModule, never>;
|
|
1463
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<TalosSpinnerModule, never, [typeof TalosSpinnerComponent, typeof TalosGlobalSpinnerComponent, typeof TalosSpinnerLabelDirective, typeof TalosSpinnerOverlayDirective], [typeof TalosSpinnerComponent, typeof TalosGlobalSpinnerComponent, typeof TalosSpinnerLabelDirective, typeof TalosSpinnerOverlayDirective]>;
|
|
1464
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<TalosSpinnerModule>;
|
|
1465
|
+
}
|
|
1466
|
+
|
|
1467
|
+
type TooltipPosition = 'top' | 'left' | 'right' | 'bottom' | 'auto';
|
|
1468
|
+
declare class TalosTooltipComponent {
|
|
1469
|
+
readonly text: _angular_core.InputSignal<string>;
|
|
1470
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosTooltipComponent, never>;
|
|
1471
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TalosTooltipComponent, "talos-tooltip-content", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1472
|
+
}
|
|
1473
|
+
declare class TalosTooltipDirective implements OnInit {
|
|
1474
|
+
private readonly elementRef;
|
|
1475
|
+
private readonly overlay;
|
|
1476
|
+
private readonly destroyRef;
|
|
1477
|
+
private readonly injector;
|
|
1478
|
+
private readonly focusMonitor;
|
|
1479
|
+
readonly tooltip: _angular_core.InputSignal<string>;
|
|
1480
|
+
readonly tooltipContent: _angular_core.InputSignal<string>;
|
|
1481
|
+
readonly position: _angular_core.InputSignal<TooltipPosition>;
|
|
1482
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
1483
|
+
private overlayRef;
|
|
1484
|
+
ngOnInit(): void;
|
|
1485
|
+
get tooltipText(): string;
|
|
1486
|
+
show(): void;
|
|
1487
|
+
hide(): void;
|
|
1488
|
+
private createPositionStrategy;
|
|
1489
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosTooltipDirective, never>;
|
|
1490
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TalosTooltipDirective, "[talosTooltip], [tooltip]", never, { "tooltip": { "alias": "talosTooltip"; "required": false; "isSignal": true; }; "tooltipContent": { "alias": "tooltip"; "required": false; "isSignal": true; }; "position": { "alias": "tooltipPosition"; "required": false; "isSignal": true; }; "disabled": { "alias": "tooltipDisabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1491
|
+
}
|
|
1492
|
+
|
|
1493
|
+
export { SPINNER_SIZE_MAP, SPINNER_STROKE_MAP, TALOS_DIALOG_CONFIG, TALOS_DIALOG_DATA, TALOS_DIALOG_REF, TalosAlertActionsDirective, TalosAlertComponent, TalosAlertContainerComponent, TalosAlertDescriptionDirective, TalosAlertIconDirective, TalosAlertModule, TalosAlertService, TalosAlertTitleDirective, TalosConfirmDialogComponent, TalosDialogCloseDirective, TalosDialogContentComponent, TalosDialogDescriptionDirective, TalosDialogFooterComponent, TalosDialogHeaderComponent, TalosDialogModule, TalosDialogRef, TalosDialogService, TalosDialogTitleDirective, TalosGlobalSpinnerComponent, TalosProgressBarComponent, TalosProgressBarModule, TalosProgressHintDirective, TalosProgressLabelDirective, TalosProgressValueDirective, TalosSkeletonComponent, TalosSkeletonDirective, TalosSkeletonModule, TalosSnackbarComponent, TalosSnackbarContainerComponent, TalosSnackbarModule, TalosSnackbarService, TalosSpinnerComponent, TalosSpinnerLabelDirective, TalosSpinnerModule, TalosSpinnerOverlayDirective, TalosSpinnerService, TalosTooltipComponent, TalosTooltipDirective, calculatePercentage, clampProgress, resolveCssDimension, resolveNumericSize, resolveProgressDimension, resolveSpinnerDimension };
|
|
1494
|
+
export type { TalosAlertAppearance, TalosAlertConfig, TalosAlertDialogOptions, TalosAlertInstance, TalosAlertRef, TalosAlertSeverity, TalosAlertSize, TalosAlertVariant, TalosConfirmDialogOptions, TalosDialogBlur, TalosDialogConfig, TalosDialogFooterAlign, TalosDialogPadding, TalosDialogSize, TalosDialogVariant, TalosProgressBarFormatter, TalosProgressBarLabelPosition, TalosProgressBarMode, TalosProgressBarShape, TalosProgressBarSize, TalosProgressBarValuePosition, TalosProgressBarVariant, TalosSkeletonAnimation, TalosSkeletonOptions, TalosSkeletonSize, TalosSkeletonVariant, TalosSnackbarConfig, TalosSnackbarInstance, TalosSnackbarPosition, TalosSnackbarRef, TalosSnackbarVariant, TalosSpinnerConfig, TalosSpinnerLabelPosition, TalosSpinnerSize, TalosSpinnerSpeed, TalosSpinnerType, TalosSpinnerVariant, TooltipPosition };
|
|
1495
|
+
//# sourceMappingURL=weeehaoooz-talos-ui-feedback.d.ts.map
|