@edmicro/olkit 1.0.5 → 1.0.10
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/fesm2022/edmicro-olkit.mjs +3823 -648
- package/fesm2022/edmicro-olkit.mjs.map +1 -1
- package/olkit.css +1 -1
- package/package.json +2 -1
- package/types/edmicro-olkit.d.ts +1029 -46
- package/types/edmicro-olkit.d.ts.map +1 -1
- package/version.txt +2 -2
package/types/edmicro-olkit.d.ts
CHANGED
|
@@ -1,40 +1,78 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { OnDestroy, ElementRef, QueryList, TemplateRef } from '@angular/core';
|
|
2
|
+
import { OnInit, OnDestroy, ElementRef, QueryList, TemplateRef } from '@angular/core';
|
|
3
3
|
import { ControlValueAccessor } from '@angular/forms';
|
|
4
4
|
import * as _edmicro_olkit from '@edmicro/olkit';
|
|
5
5
|
import { SafeHtml } from '@angular/platform-browser';
|
|
6
6
|
import { Observable } from 'rxjs';
|
|
7
7
|
|
|
8
|
-
declare class
|
|
9
|
-
readonly
|
|
8
|
+
declare class OlAccordionItemComponent {
|
|
9
|
+
private readonly parentAccordion;
|
|
10
10
|
readonly title: _angular_core.InputSignal<string>;
|
|
11
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
12
|
+
readonly itemId: _angular_core.InputSignal<string>;
|
|
11
13
|
readonly isOpen: _angular_core.ModelSignal<boolean>;
|
|
12
14
|
readonly opened: _angular_core.OutputEmitterRef<void>;
|
|
13
15
|
readonly closed: _angular_core.OutputEmitterRef<void>;
|
|
14
|
-
|
|
16
|
+
readonly isSeparated: _angular_core.Signal<boolean>;
|
|
17
|
+
readonly isFlush: _angular_core.Signal<boolean>;
|
|
18
|
+
readonly headerId: _angular_core.Signal<string>;
|
|
19
|
+
readonly contentId: _angular_core.Signal<string>;
|
|
20
|
+
readonly headerClasses: _angular_core.Signal<string>;
|
|
21
|
+
readonly chevronClasses: _angular_core.Signal<string>;
|
|
22
|
+
readonly contentClasses: _angular_core.Signal<string>;
|
|
23
|
+
readonly bodyClasses: _angular_core.Signal<"px-0 pt-1 pb-4 text-base text-gray-600 dark:text-gray-300 leading-relaxed" | "border-t border-gray-200 dark:border-slate-700 px-5 py-4 text-base text-gray-600 dark:text-gray-300 bg-white dark:bg-slate-900 leading-relaxed">;
|
|
24
|
+
toggle(): void;
|
|
15
25
|
open(): void;
|
|
16
26
|
close(): void;
|
|
17
|
-
|
|
18
|
-
static
|
|
19
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AccordionItemComponent, "ol-accordion-item", never, { "itemId": { "alias": "itemId"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; }, { "isOpen": "isOpenChange"; "opened": "opened"; "closed": "closed"; }, never, ["[icon]", "*"], true, never>;
|
|
27
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OlAccordionItemComponent, never>;
|
|
28
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<OlAccordionItemComponent, "ol-accordion-item", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "itemId": { "alias": "itemId"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; }, { "isOpen": "isOpenChange"; "opened": "opened"; "closed": "closed"; }, never, ["*"], true, never>;
|
|
20
29
|
}
|
|
21
30
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
readonly
|
|
25
|
-
readonly
|
|
31
|
+
type AccordionVariant = 'bordered' | 'flush' | 'separated';
|
|
32
|
+
declare class OlAccordionComponent {
|
|
33
|
+
readonly multiple: _angular_core.InputSignal<boolean>;
|
|
34
|
+
readonly variant: _angular_core.InputSignal<AccordionVariant>;
|
|
35
|
+
readonly items: _angular_core.Signal<readonly OlAccordionItemComponent[]>;
|
|
36
|
+
readonly accordionClasses: _angular_core.Signal<"border border-gray-200 dark:border-slate-700 rounded-xl overflow-hidden bg-white dark:bg-slate-900 shadow-2xs divide-y divide-gray-200 dark:divide-slate-700" | "border-b border-gray-200 dark:border-slate-700 divide-y divide-gray-200 dark:divide-slate-700 bg-transparent" | "space-y-3">;
|
|
37
|
+
handleItemOpened(openedItem: OlAccordionItemComponent): void;
|
|
26
38
|
/**
|
|
27
|
-
*
|
|
39
|
+
* Keyboard navigation
|
|
28
40
|
*/
|
|
29
|
-
|
|
30
|
-
getItem(indexOrId: number | string):
|
|
41
|
+
handleKeyboard(event: KeyboardEvent): void;
|
|
42
|
+
getItem(indexOrId: number | string): OlAccordionItemComponent | undefined;
|
|
31
43
|
open(indexOrId: number | string): void;
|
|
32
44
|
close(indexOrId: number | string): void;
|
|
33
45
|
toggle(indexOrId: number | string): void;
|
|
34
46
|
openAll(): void;
|
|
35
47
|
closeAll(): void;
|
|
36
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<
|
|
37
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<
|
|
48
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OlAccordionComponent, never>;
|
|
49
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<OlAccordionComponent, "ol-accordion", never, { "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, ["items"], ["*"], true, never>;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
type AlertType = 'info' | 'success' | 'warning' | 'danger' | 'neutral';
|
|
53
|
+
type AlertVariant$1 = 'subtle' | 'solid' | 'bordered' | 'accent-left';
|
|
54
|
+
type AlertRounded = 'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
|
55
|
+
declare class OlAlertComponent {
|
|
56
|
+
readonly type: _angular_core.InputSignal<AlertType>;
|
|
57
|
+
readonly variant: _angular_core.InputSignal<AlertVariant$1>;
|
|
58
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
59
|
+
readonly icon: _angular_core.InputSignal<string | boolean>;
|
|
60
|
+
readonly dismissible: _angular_core.InputSignal<boolean>;
|
|
61
|
+
readonly rounded: _angular_core.InputSignal<AlertRounded>;
|
|
62
|
+
readonly onDismiss: _angular_core.OutputEmitterRef<void>;
|
|
63
|
+
readonly visible: _angular_core.WritableSignal<boolean>;
|
|
64
|
+
readonly showIcon: _angular_core.Signal<boolean>;
|
|
65
|
+
readonly iconName: _angular_core.Signal<string>;
|
|
66
|
+
readonly alertClasses: _angular_core.Signal<string>;
|
|
67
|
+
readonly iconClasses: _angular_core.Signal<string>;
|
|
68
|
+
readonly closeButtonClasses: _angular_core.Signal<"ms-auto -mx-1.5 -my-1.5 rounded-lg p-1.5 inline-flex items-center justify-center shrink-0 transition-colors focus:outline-none focus:ring-2 text-white/80 hover:text-white hover:bg-white/20 focus:ring-white/50" | "ms-auto -mx-1.5 -my-1.5 rounded-lg p-1.5 inline-flex items-center justify-center shrink-0 transition-colors focus:outline-none focus:ring-2 text-emerald-600 hover:bg-emerald-100 focus:ring-emerald-200 dark:text-emerald-400 dark:hover:bg-emerald-900/30 dark:focus:ring-emerald-800" | "ms-auto -mx-1.5 -my-1.5 rounded-lg p-1.5 inline-flex items-center justify-center shrink-0 transition-colors focus:outline-none focus:ring-2 text-amber-600 hover:bg-amber-100 focus:ring-amber-200 dark:text-amber-400 dark:hover:bg-amber-900/30 dark:focus:ring-amber-800" | "ms-auto -mx-1.5 -my-1.5 rounded-lg p-1.5 inline-flex items-center justify-center shrink-0 transition-colors focus:outline-none focus:ring-2 text-rose-600 hover:bg-rose-100 focus:ring-rose-200 dark:text-rose-400 dark:hover:bg-rose-900/30 dark:focus:ring-rose-800" | "ms-auto -mx-1.5 -my-1.5 rounded-lg p-1.5 inline-flex items-center justify-center shrink-0 transition-colors focus:outline-none focus:ring-2 text-brand-600 hover:bg-brand-100 focus:ring-brand-200 dark:text-brand-400 dark:hover:bg-brand-900/30 dark:focus:ring-brand-800" | "ms-auto -mx-1.5 -my-1.5 rounded-lg p-1.5 inline-flex items-center justify-center shrink-0 transition-colors focus:outline-none focus:ring-2 text-gray-600 hover:bg-gray-100 focus:ring-gray-200 dark:text-gray-400 dark:hover:bg-slate-700 dark:focus:ring-slate-600">;
|
|
69
|
+
private applyColorClasses;
|
|
70
|
+
private applySubtleColors;
|
|
71
|
+
private applySolidColors;
|
|
72
|
+
private applyBorderedColors;
|
|
73
|
+
dismiss(): void;
|
|
74
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OlAlertComponent, never>;
|
|
75
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<OlAlertComponent, "ol-alert", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; }, { "onDismiss": "onDismiss"; }, never, ["*", "[alertActions]"], true, never>;
|
|
38
76
|
}
|
|
39
77
|
|
|
40
78
|
type AlertColor = 'info' | 'danger' | 'success' | 'warning' | 'dark';
|
|
@@ -121,12 +159,56 @@ declare class BadgeComponent {
|
|
|
121
159
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BadgeComponent, "ol-badge", never, { "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "dot": { "alias": "dot"; "required": false; "isSignal": true; }; "leftIcon": { "alias": "leftIcon"; "required": false; "isSignal": true; }; "rightIcon": { "alias": "rightIcon"; "required": false; "isSignal": true; }; "avatar": { "alias": "avatar"; "required": false; "isSignal": true; }; "avatarText": { "alias": "avatarText"; "required": false; "isSignal": true; }; "secondaryText": { "alias": "secondaryText"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "removable": { "alias": "removable"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; }, { "dismiss": "dismiss"; }, never, ["*"], true, never>;
|
|
122
160
|
}
|
|
123
161
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
162
|
+
type BannerVariant = 'brand' | 'gradient' | 'warning' | 'dark' | 'subtle';
|
|
163
|
+
type BannerPosition = 'top-fixed' | 'top-sticky' | 'inline' | 'bottom-floating';
|
|
164
|
+
/**
|
|
165
|
+
* Banner Component - Full-width announcement component
|
|
166
|
+
*
|
|
167
|
+
* @example
|
|
168
|
+
* ```html
|
|
169
|
+
* <ol-banner>
|
|
170
|
+
* Ôn Luyện ra mắt kho học liệu số mới cho giáo viên
|
|
171
|
+
* </ol-banner>
|
|
172
|
+
*
|
|
173
|
+
* <ol-banner
|
|
174
|
+
* variant="gradient"
|
|
175
|
+
* [showBadge]="true"
|
|
176
|
+
* badgeText="Mới"
|
|
177
|
+
* icon="bullhorn">
|
|
178
|
+
* Tính năng AI chấm bài tự động đã có mặt!
|
|
179
|
+
* </ol-banner>
|
|
180
|
+
*
|
|
181
|
+
* <ol-banner
|
|
182
|
+
* variant="warning"
|
|
183
|
+
* position="bottom-floating"
|
|
184
|
+
* storageKey="maintenance-2024-09"
|
|
185
|
+
* (onDismiss)="handleDismiss()">
|
|
186
|
+
* <span>Hệ thống sẽ bảo trì vào 20:00 tối nay</span>
|
|
187
|
+
* <button bannerCta class="btn btn-sm btn-warning">
|
|
188
|
+
* Gia hạn ngay
|
|
189
|
+
* </button>
|
|
190
|
+
* </ol-banner>
|
|
191
|
+
* ```
|
|
192
|
+
*/
|
|
193
|
+
declare class OlBannerComponent implements OnInit {
|
|
194
|
+
readonly variant: _angular_core.InputSignal<BannerVariant>;
|
|
195
|
+
readonly position: _angular_core.InputSignal<BannerPosition>;
|
|
196
|
+
readonly storageKey: _angular_core.InputSignal<string>;
|
|
197
|
+
readonly dismissible: _angular_core.InputSignal<boolean>;
|
|
198
|
+
readonly showBadge: _angular_core.InputSignal<boolean>;
|
|
199
|
+
readonly badgeText: _angular_core.InputSignal<string>;
|
|
200
|
+
readonly icon: _angular_core.InputSignal<string>;
|
|
201
|
+
readonly onDismiss: _angular_core.OutputEmitterRef<void>;
|
|
202
|
+
readonly visible: _angular_core.WritableSignal<boolean>;
|
|
203
|
+
readonly bannerClasses: _angular_core.Signal<string>;
|
|
204
|
+
readonly badgeClasses: _angular_core.Signal<string>;
|
|
205
|
+
readonly dismissButtonClasses: _angular_core.Signal<"text-amber-600 hover:bg-amber-100 dark:text-amber-200 dark:hover:bg-amber-900/40" | "text-gray-500 hover:bg-gray-200 dark:text-slate-400 dark:hover:bg-slate-700" | "text-white/70 hover:bg-white/10 hover:text-white">;
|
|
206
|
+
ngOnInit(): void;
|
|
127
207
|
dismiss(): void;
|
|
128
|
-
|
|
129
|
-
|
|
208
|
+
private getStoredDismissState;
|
|
209
|
+
private setStoredDismissState;
|
|
210
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OlBannerComponent, never>;
|
|
211
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<OlBannerComponent, "ol-banner", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "storageKey": { "alias": "storageKey"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "showBadge": { "alias": "showBadge"; "required": false; "isSignal": true; }; "badgeText": { "alias": "badgeText"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, { "onDismiss": "onDismiss"; }, never, ["*", "[bannerCta]"], true, never>;
|
|
130
212
|
}
|
|
131
213
|
|
|
132
214
|
type BreadcrumbVariant = 'default' | 'background' | 'with-dropdown' | 'with-group-buttons' | 'only-buttons' | 'with-badge';
|
|
@@ -342,7 +424,7 @@ declare class DatepickerStateService {
|
|
|
342
424
|
};
|
|
343
425
|
clear(): void;
|
|
344
426
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatepickerStateService, never>;
|
|
345
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
427
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
346
428
|
}
|
|
347
429
|
|
|
348
430
|
declare class DatepickerComponent implements ControlValueAccessor {
|
|
@@ -365,10 +447,14 @@ declare class DatepickerComponent implements ControlValueAccessor {
|
|
|
365
447
|
readonly size: _angular_core.InputSignal<DatepickerSize>;
|
|
366
448
|
readonly clearable: _angular_core.InputSignal<boolean>;
|
|
367
449
|
readonly dateChange: _angular_core.OutputEmitterRef<Date | null>;
|
|
450
|
+
readonly timestampChange: _angular_core.OutputEmitterRef<number | null>;
|
|
451
|
+
readonly isoChange: _angular_core.OutputEmitterRef<string | null>;
|
|
452
|
+
readonly formattedChange: _angular_core.OutputEmitterRef<string>;
|
|
368
453
|
readonly isOpen: _angular_core.WritableSignal<boolean>;
|
|
369
454
|
readonly inputValue: _angular_core.WritableSignal<string>;
|
|
370
455
|
private onChange;
|
|
371
456
|
private onTouched;
|
|
457
|
+
private emitAllChanges;
|
|
372
458
|
constructor();
|
|
373
459
|
readonly inputSizeClasses: _angular_core.Signal<"py-2 px-3 ps-9 text-xs rounded-lg" | "py-3.5 px-4 ps-11 text-base rounded-xl" | "py-2.5 px-3.5 ps-10 text-sm rounded-xl">;
|
|
374
460
|
readonly iconSizeClasses: _angular_core.Signal<"w-3.5 h-3.5 text-gray-500 inset-s-3" | "w-5 h-5 text-gray-500 inset-s-3.5" | "w-4 h-4 text-gray-500 inset-s-3.5">;
|
|
@@ -385,7 +471,7 @@ declare class DatepickerComponent implements ControlValueAccessor {
|
|
|
385
471
|
onDocumentClick(event: MouseEvent): void;
|
|
386
472
|
onEscape(): void;
|
|
387
473
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatepickerComponent, never>;
|
|
388
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatepickerComponent, "ol-datepicker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "daysDisabled": { "alias": "daysDisabled"; "required": false; "isSignal": true; }; "datesDisabled": { "alias": "datesDisabled"; "required": false; "isSignal": true; }; "datesEnabled": { "alias": "datesEnabled"; "required": false; "isSignal": true; }; "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "inline": { "alias": "inline"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "dateChange": "dateChange"; }, never, never, true, never>;
|
|
474
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatepickerComponent, "ol-datepicker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "daysDisabled": { "alias": "daysDisabled"; "required": false; "isSignal": true; }; "datesDisabled": { "alias": "datesDisabled"; "required": false; "isSignal": true; }; "datesEnabled": { "alias": "datesEnabled"; "required": false; "isSignal": true; }; "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "inline": { "alias": "inline"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "dateChange": "dateChange"; "timestampChange": "timestampChange"; "isoChange": "isoChange"; "formattedChange": "formattedChange"; }, never, never, true, never>;
|
|
389
475
|
}
|
|
390
476
|
|
|
391
477
|
declare class DateRangePickerComponent implements ControlValueAccessor {
|
|
@@ -429,6 +515,8 @@ declare class DateRangePickerComponent implements ControlValueAccessor {
|
|
|
429
515
|
togglePopup(event?: MouseEvent): void;
|
|
430
516
|
closePopup(): void;
|
|
431
517
|
onValueSelected(val: Date | [Date | null, Date | null]): void;
|
|
518
|
+
onPopupApply(): void;
|
|
519
|
+
onPopupCancel(): void;
|
|
432
520
|
onPopupClear(): void;
|
|
433
521
|
onStartInputChange(val: string): void;
|
|
434
522
|
onEndInputChange(val: string): void;
|
|
@@ -497,10 +585,17 @@ declare class DatepickerFooterComponent {
|
|
|
497
585
|
readonly state: DatepickerStateService;
|
|
498
586
|
readonly clearClick: _angular_core.OutputEmitterRef<void>;
|
|
499
587
|
readonly todayClick: _angular_core.OutputEmitterRef<void>;
|
|
588
|
+
readonly applyClick: _angular_core.OutputEmitterRef<void>;
|
|
589
|
+
readonly cancelClick: _angular_core.OutputEmitterRef<void>;
|
|
590
|
+
readonly isRangeMode: _angular_core.Signal<boolean>;
|
|
591
|
+
readonly rangeSummaryText: _angular_core.Signal<string>;
|
|
592
|
+
readonly canApply: _angular_core.Signal<boolean>;
|
|
500
593
|
onClear(): void;
|
|
501
594
|
onToday(): void;
|
|
595
|
+
onApply(): void;
|
|
596
|
+
onCancel(): void;
|
|
502
597
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatepickerFooterComponent, never>;
|
|
503
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatepickerFooterComponent, "ol-datepicker-footer", never, {}, { "clearClick": "clearClick"; "todayClick": "todayClick"; }, never, never, true, never>;
|
|
598
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatepickerFooterComponent, "ol-datepicker-footer", never, {}, { "clearClick": "clearClick"; "todayClick": "todayClick"; "applyClick": "applyClick"; "cancelClick": "cancelClick"; }, never, never, true, never>;
|
|
504
599
|
}
|
|
505
600
|
|
|
506
601
|
declare class DatepickerPopupComponent {
|
|
@@ -510,12 +605,16 @@ declare class DatepickerPopupComponent {
|
|
|
510
605
|
readonly presets: _angular_core.InputSignal<DatepickerPreset[]>;
|
|
511
606
|
readonly valueChange: _angular_core.OutputEmitterRef<Date | [Date | null, Date | null]>;
|
|
512
607
|
readonly clearClick: _angular_core.OutputEmitterRef<void>;
|
|
608
|
+
readonly applyClick: _angular_core.OutputEmitterRef<void>;
|
|
609
|
+
readonly cancelClick: _angular_core.OutputEmitterRef<void>;
|
|
513
610
|
onDaySelected(date: Date): void;
|
|
514
611
|
onFooterToday(): void;
|
|
515
612
|
onFooterClear(): void;
|
|
613
|
+
onFooterApply(): void;
|
|
614
|
+
onFooterCancel(): void;
|
|
516
615
|
applyPreset(preset: DatepickerPreset): void;
|
|
517
616
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatepickerPopupComponent, never>;
|
|
518
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatepickerPopupComponent, "ol-datepicker-popup", never, { "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "dualMonth": { "alias": "dualMonth"; "required": false; "isSignal": true; }; "presets": { "alias": "presets"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "clearClick": "clearClick"; }, never, never, true, never>;
|
|
617
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatepickerPopupComponent, "ol-datepicker-popup", never, { "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "dualMonth": { "alias": "dualMonth"; "required": false; "isSignal": true; }; "presets": { "alias": "presets"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "clearClick": "clearClick"; "applyClick": "applyClick"; "cancelClick": "cancelClick"; }, never, never, true, never>;
|
|
519
618
|
}
|
|
520
619
|
|
|
521
620
|
declare const WEEKDAYS_SHORT_VI: string[];
|
|
@@ -951,6 +1050,12 @@ declare class RichTextEditorComponent {
|
|
|
951
1050
|
type TimepickerFormat = '24h' | '12h';
|
|
952
1051
|
type TimepickerSize = 'sm' | 'md' | 'lg';
|
|
953
1052
|
type TimepickerState = 'default' | 'error' | 'success';
|
|
1053
|
+
interface TimeObject {
|
|
1054
|
+
hour: number;
|
|
1055
|
+
minute: number;
|
|
1056
|
+
period?: 'AM' | 'PM';
|
|
1057
|
+
formatted: string;
|
|
1058
|
+
}
|
|
954
1059
|
declare class TimepickerComponent implements ControlValueAccessor {
|
|
955
1060
|
private readonly elementRef;
|
|
956
1061
|
readonly value: _angular_core.ModelSignal<string>;
|
|
@@ -968,6 +1073,9 @@ declare class TimepickerComponent implements ControlValueAccessor {
|
|
|
968
1073
|
readonly id: _angular_core.InputSignal<string>;
|
|
969
1074
|
readonly minuteStep: _angular_core.InputSignal<number>;
|
|
970
1075
|
readonly showPresets: _angular_core.InputSignal<boolean>;
|
|
1076
|
+
readonly addonType: _angular_core.InputSignal<"none" | "left" | "right">;
|
|
1077
|
+
readonly addonText: _angular_core.InputSignal<string>;
|
|
1078
|
+
readonly addonIcon: _angular_core.InputSignal<string>;
|
|
971
1079
|
private readonly generatedId;
|
|
972
1080
|
protected readonly inputId: _angular_core.Signal<string>;
|
|
973
1081
|
readonly isOpen: _angular_core.WritableSignal<boolean>;
|
|
@@ -978,11 +1086,19 @@ declare class TimepickerComponent implements ControlValueAccessor {
|
|
|
978
1086
|
readonly hours24: number[];
|
|
979
1087
|
readonly hours12: number[];
|
|
980
1088
|
readonly minutes: number[];
|
|
1089
|
+
readonly hourContainerRef: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
|
|
1090
|
+
readonly minuteContainerRef: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
|
|
1091
|
+
readonly timeChange: _angular_core.OutputEmitterRef<string>;
|
|
1092
|
+
readonly timestampChange: _angular_core.OutputEmitterRef<number | null>;
|
|
1093
|
+
readonly isoChange: _angular_core.OutputEmitterRef<string | null>;
|
|
1094
|
+
readonly timeObjectChange: _angular_core.OutputEmitterRef<TimeObject | null>;
|
|
981
1095
|
private onChange;
|
|
982
1096
|
private onTouched;
|
|
1097
|
+
private emitAllChanges;
|
|
983
1098
|
constructor(elementRef: ElementRef);
|
|
984
1099
|
onDocumentClick(event: MouseEvent): void;
|
|
985
1100
|
toggleDropdown(): void;
|
|
1101
|
+
private scrollToSelected;
|
|
986
1102
|
private parseCurrentValue;
|
|
987
1103
|
selectHour(h: number): void;
|
|
988
1104
|
selectMinute(m: number): void;
|
|
@@ -998,7 +1114,7 @@ declare class TimepickerComponent implements ControlValueAccessor {
|
|
|
998
1114
|
registerOnTouched(fn: any): void;
|
|
999
1115
|
setDisabledState?(isDisabled: boolean): void;
|
|
1000
1116
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TimepickerComponent, never>;
|
|
1001
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TimepickerComponent, "ol-timepicker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "showAsterisk": { "alias": "showAsterisk"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "errorText": { "alias": "errorText"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "minuteStep": { "alias": "minuteStep"; "required": false; "isSignal": true; }; "showPresets": { "alias": "showPresets"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
|
|
1117
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TimepickerComponent, "ol-timepicker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "showAsterisk": { "alias": "showAsterisk"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "errorText": { "alias": "errorText"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "minuteStep": { "alias": "minuteStep"; "required": false; "isSignal": true; }; "showPresets": { "alias": "showPresets"; "required": false; "isSignal": true; }; "addonType": { "alias": "addonType"; "required": false; "isSignal": true; }; "addonText": { "alias": "addonText"; "required": false; "isSignal": true; }; "addonIcon": { "alias": "addonIcon"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "timeChange": "timeChange"; "timestampChange": "timestampChange"; "isoChange": "isoChange"; "timeObjectChange": "timeObjectChange"; }, never, never, true, never>;
|
|
1002
1118
|
}
|
|
1003
1119
|
|
|
1004
1120
|
type AutocompleteSize = 'sm' | 'md' | 'lg';
|
|
@@ -1276,25 +1392,216 @@ declare class SidebarSubmenuComponent {
|
|
|
1276
1392
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SidebarSubmenuComponent, "ol-sidebar-submenu", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "badgeTheme": { "alias": "badgeTheme"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; }, { "isOpen": "isOpenChange"; }, never, ["*"], true, never>;
|
|
1277
1393
|
}
|
|
1278
1394
|
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1395
|
+
/**
|
|
1396
|
+
* OlSkeleton - Loading placeholder component
|
|
1397
|
+
*
|
|
1398
|
+
* Hiển thị skeleton loader cho content đang tải với nhiều variants và animations
|
|
1399
|
+
*
|
|
1400
|
+
* @example
|
|
1401
|
+
* // Text skeleton
|
|
1402
|
+
* <ol-skeleton type="text" />
|
|
1403
|
+
*
|
|
1404
|
+
* // Avatar skeleton
|
|
1405
|
+
* <ol-skeleton type="avatar" rounded="full" />
|
|
1406
|
+
*
|
|
1407
|
+
* // Card skeleton
|
|
1408
|
+
* <ol-skeleton type="card" height="200px" />
|
|
1409
|
+
*
|
|
1410
|
+
* // Multiple text lines
|
|
1411
|
+
* @for (i of [1,2,3,4]; track i) {
|
|
1412
|
+
* <ol-skeleton type="text" [width]="i === 4 ? '60%' : '100%'" />
|
|
1413
|
+
* }
|
|
1414
|
+
*/
|
|
1415
|
+
declare class OlSkeletonComponent {
|
|
1416
|
+
/**
|
|
1417
|
+
* Loại skeleton
|
|
1418
|
+
* - text: Thanh ngang cho text line
|
|
1419
|
+
* - avatar: Hình tròn cho avatar
|
|
1420
|
+
* - card: Khối chữ nhật cho card
|
|
1421
|
+
* - button: Nhỏ hơn cho button
|
|
1422
|
+
* - image: Tỷ lệ 16:9 hoặc 4:3
|
|
1423
|
+
* - custom: Tùy chỉnh width/height
|
|
1424
|
+
*/
|
|
1425
|
+
type: _angular_core.InputSignal<"image" | "custom" | "avatar" | "button" | "text" | "card">;
|
|
1426
|
+
/**
|
|
1427
|
+
* Chiều rộng của skeleton
|
|
1428
|
+
* Mặc định: 100% (hoặc theo preset của type)
|
|
1429
|
+
*/
|
|
1430
|
+
width: _angular_core.InputSignal<string | undefined>;
|
|
1431
|
+
/**
|
|
1432
|
+
* Chiều cao của skeleton
|
|
1433
|
+
* Mặc định: theo preset của type
|
|
1434
|
+
*/
|
|
1435
|
+
height: _angular_core.InputSignal<string | undefined>;
|
|
1436
|
+
/**
|
|
1437
|
+
* Bo tròn góc
|
|
1438
|
+
* - none: rounded-none
|
|
1439
|
+
* - sm: rounded-sm
|
|
1440
|
+
* - md: rounded-md (default)
|
|
1441
|
+
* - lg: rounded-lg
|
|
1442
|
+
* - xl: rounded-xl
|
|
1443
|
+
* - full: rounded-full (cho avatar)
|
|
1444
|
+
*/
|
|
1445
|
+
rounded: _angular_core.InputSignal<"sm" | "md" | "lg" | "xl" | "none" | "full">;
|
|
1446
|
+
/**
|
|
1447
|
+
* Loại animation
|
|
1448
|
+
* - pulse: Nhấp nháy opacity (default)
|
|
1449
|
+
* - wave: Gradient di chuyển ngang
|
|
1450
|
+
* - none: Static không animation
|
|
1451
|
+
*/
|
|
1452
|
+
animation: _angular_core.InputSignal<"none" | "pulse" | "wave">;
|
|
1453
|
+
/**
|
|
1454
|
+
* Aspect ratio cho image type
|
|
1455
|
+
* - 16/9: Landscape (default)
|
|
1456
|
+
* - 4/3: Standard
|
|
1457
|
+
*/
|
|
1458
|
+
aspectRatio: _angular_core.InputSignal<"16/9" | "4/3">;
|
|
1459
|
+
/**
|
|
1460
|
+
* Computed classes cho skeleton
|
|
1461
|
+
*/
|
|
1462
|
+
skeletonClasses: _angular_core.Signal<string>;
|
|
1463
|
+
/**
|
|
1464
|
+
* Computed styles cho skeleton
|
|
1465
|
+
*/
|
|
1466
|
+
skeletonStyles: _angular_core.Signal<Record<string, string>>;
|
|
1467
|
+
/**
|
|
1468
|
+
* Get rounded class based on type and input
|
|
1469
|
+
*/
|
|
1470
|
+
private getRoundedClass;
|
|
1471
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OlSkeletonComponent, never>;
|
|
1472
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<OlSkeletonComponent, "ol-skeleton", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "animation": { "alias": "animation"; "required": false; "isSignal": true; }; "aspectRatio": { "alias": "aspectRatio"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1282
1473
|
}
|
|
1283
1474
|
|
|
1284
|
-
|
|
1285
|
-
|
|
1475
|
+
type SpeedDialDirection = 'top' | 'bottom' | 'left' | 'right';
|
|
1476
|
+
type SpeedDialType = 'default' | 'rounded' | 'menu';
|
|
1477
|
+
type SpeedDialTrigger = 'click' | 'hover';
|
|
1478
|
+
type SpeedDialColor = 'brand' | 'neutral' | 'success' | 'danger' | 'warning';
|
|
1479
|
+
interface SpeedDialAction {
|
|
1480
|
+
id?: string;
|
|
1481
|
+
label: string;
|
|
1482
|
+
icon?: string;
|
|
1483
|
+
svgPath?: string;
|
|
1484
|
+
tooltip?: string;
|
|
1485
|
+
disabled?: boolean;
|
|
1486
|
+
class?: string;
|
|
1487
|
+
onClick?: () => void;
|
|
1488
|
+
}
|
|
1489
|
+
|
|
1490
|
+
declare class OlSpeedDialComponent {
|
|
1491
|
+
private readonly elementRef;
|
|
1492
|
+
direction: _angular_core.InputSignal<SpeedDialDirection>;
|
|
1493
|
+
type: _angular_core.InputSignal<SpeedDialType>;
|
|
1494
|
+
trigger: _angular_core.InputSignal<SpeedDialTrigger>;
|
|
1495
|
+
color: _angular_core.InputSignal<SpeedDialColor>;
|
|
1496
|
+
icon: _angular_core.InputSignal<string>;
|
|
1497
|
+
ariaLabel: _angular_core.InputSignal<string>;
|
|
1498
|
+
tooltip: _angular_core.InputSignal<string | undefined>;
|
|
1499
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
1500
|
+
backdrop: _angular_core.InputSignal<boolean>;
|
|
1501
|
+
closeOnClickOutside: _angular_core.InputSignal<boolean>;
|
|
1502
|
+
closeOnEscape: _angular_core.InputSignal<boolean>;
|
|
1503
|
+
actions: _angular_core.InputSignal<SpeedDialAction[]>;
|
|
1504
|
+
customClass: _angular_core.InputSignal<string>;
|
|
1505
|
+
isOpen: _angular_core.ModelSignal<boolean>;
|
|
1506
|
+
onOpen: _angular_core.OutputEmitterRef<void>;
|
|
1507
|
+
onClose: _angular_core.OutputEmitterRef<void>;
|
|
1508
|
+
actionClick: _angular_core.OutputEmitterRef<SpeedDialAction>;
|
|
1509
|
+
private hoverTimeout?;
|
|
1510
|
+
containerClasses: _angular_core.Signal<string>;
|
|
1511
|
+
itemsContainerClasses: _angular_core.Signal<string>;
|
|
1512
|
+
triggerButtonClasses: _angular_core.Signal<string>;
|
|
1513
|
+
tooltipPositionForItems: _angular_core.Signal<"left" | "top">;
|
|
1286
1514
|
toggle(): void;
|
|
1287
|
-
|
|
1288
|
-
|
|
1515
|
+
open(): void;
|
|
1516
|
+
close(): void;
|
|
1517
|
+
handleAction(action: SpeedDialAction, event: MouseEvent): void;
|
|
1518
|
+
onMouseEnter(): void;
|
|
1519
|
+
onMouseLeave(): void;
|
|
1520
|
+
onBackdropMouseEnter(): void;
|
|
1521
|
+
onDocumentClick(event: MouseEvent): void;
|
|
1522
|
+
onEscape(): void;
|
|
1523
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OlSpeedDialComponent, never>;
|
|
1524
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<OlSpeedDialComponent, "ol-speed-dial", never, { "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "trigger": { "alias": "trigger"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "backdrop": { "alias": "backdrop"; "required": false; "isSignal": true; }; "closeOnClickOutside": { "alias": "closeOnClickOutside"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "customClass": { "alias": "class"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; }, { "isOpen": "isOpenChange"; "onOpen": "onOpen"; "onClose": "onClose"; "actionClick": "actionClick"; }, never, ["*"], true, never>;
|
|
1525
|
+
}
|
|
1526
|
+
|
|
1527
|
+
declare class OlSpeedDialItemComponent {
|
|
1528
|
+
label: _angular_core.InputSignal<string>;
|
|
1529
|
+
icon: _angular_core.InputSignal<string | undefined>;
|
|
1530
|
+
tooltip: _angular_core.InputSignal<string | undefined>;
|
|
1531
|
+
tooltipPosition: _angular_core.InputSignal<"left" | "right" | "top" | "bottom">;
|
|
1532
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
1533
|
+
type: _angular_core.InputSignal<SpeedDialType>;
|
|
1534
|
+
customClass: _angular_core.InputSignal<string>;
|
|
1535
|
+
onClick: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
1536
|
+
handleClick(event: MouseEvent): void;
|
|
1537
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OlSpeedDialItemComponent, never>;
|
|
1538
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<OlSpeedDialItemComponent, "ol-speed-dial-item", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "customClass": { "alias": "class"; "required": false; "isSignal": true; }; }, { "onClick": "onClick"; }, never, ["*"], true, never>;
|
|
1289
1539
|
}
|
|
1290
1540
|
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1541
|
+
/**
|
|
1542
|
+
* OlSpinner - Loading spinner component
|
|
1543
|
+
*
|
|
1544
|
+
* Hiển thị loading indicator với nhiều variants và sizes
|
|
1545
|
+
*
|
|
1546
|
+
* @example
|
|
1547
|
+
* // Circle spinner (default)
|
|
1548
|
+
* <ol-spinner />
|
|
1549
|
+
*
|
|
1550
|
+
* // Dots spinner
|
|
1551
|
+
* <ol-spinner variant="dots" size="lg" color="brand" />
|
|
1552
|
+
*
|
|
1553
|
+
* // Pulse spinner
|
|
1554
|
+
* <ol-spinner variant="pulse" size="xl" color="success" />
|
|
1555
|
+
*/
|
|
1556
|
+
declare class OlSpinnerComponent {
|
|
1557
|
+
/**
|
|
1558
|
+
* Variant của spinner
|
|
1559
|
+
* - circle: Vòng tròn xoay với viền khuyết (default)
|
|
1560
|
+
* - dots: 3 chấm tròn nhấp nhô
|
|
1561
|
+
* - pulse: Hình tròn nhấp nháy scale
|
|
1562
|
+
*/
|
|
1563
|
+
variant: _angular_core.InputSignal<"circle" | "pulse" | "dots">;
|
|
1564
|
+
/**
|
|
1565
|
+
* Kích thước spinner
|
|
1566
|
+
* - xs: 12px (w-3 h-3)
|
|
1567
|
+
* - sm: 16px (w-4 h-4)
|
|
1568
|
+
* - md: 24px (w-6 h-6) - default
|
|
1569
|
+
* - lg: 36px (w-9 h-9)
|
|
1570
|
+
* - xl: 48px (w-12 h-12)
|
|
1571
|
+
*/
|
|
1572
|
+
size: _angular_core.InputSignal<"xs" | "sm" | "md" | "lg" | "xl">;
|
|
1573
|
+
/**
|
|
1574
|
+
* Màu sắc của spinner
|
|
1575
|
+
* - brand: border-brand-600 (default)
|
|
1576
|
+
* - white: border-white
|
|
1577
|
+
* - success: border-emerald-600
|
|
1578
|
+
* - warning: border-amber-500
|
|
1579
|
+
* - danger: border-rose-600
|
|
1580
|
+
* - gray: border-gray-400
|
|
1581
|
+
*/
|
|
1582
|
+
color: _angular_core.InputSignal<"brand" | "danger" | "success" | "warning" | "white" | "gray">;
|
|
1583
|
+
/**
|
|
1584
|
+
* Aria label cho accessibility
|
|
1585
|
+
*/
|
|
1586
|
+
ariaLabel: _angular_core.InputSignal<string>;
|
|
1587
|
+
/**
|
|
1588
|
+
* Computed classes cho spinner container
|
|
1589
|
+
*/
|
|
1590
|
+
spinnerClasses: _angular_core.Signal<string>;
|
|
1591
|
+
/**
|
|
1592
|
+
* Computed classes cho size
|
|
1593
|
+
*/
|
|
1594
|
+
sizeClasses: _angular_core.Signal<"w-4 h-4" | "w-6 h-6" | "w-12 h-12" | "w-3 h-3" | "w-9 h-9">;
|
|
1595
|
+
/**
|
|
1596
|
+
* Computed classes cho dots
|
|
1597
|
+
*/
|
|
1598
|
+
dotClasses: _angular_core.Signal<string>;
|
|
1599
|
+
/**
|
|
1600
|
+
* Computed classes cho pulse
|
|
1601
|
+
*/
|
|
1602
|
+
pulseClasses: _angular_core.Signal<string>;
|
|
1603
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OlSpinnerComponent, never>;
|
|
1604
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<OlSpinnerComponent, "ol-spinner", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1298
1605
|
}
|
|
1299
1606
|
|
|
1300
1607
|
declare class TableComponent {
|
|
@@ -1383,6 +1690,76 @@ declare class ToastComponent implements OnDestroy {
|
|
|
1383
1690
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ToastComponent, "ol-toast", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "duration": { "alias": "duration"; "required": false; "isSignal": true; }; "isVisible": { "alias": "isVisible"; "required": false; "isSignal": true; }; }, { "isVisible": "isVisibleChange"; "closed": "closed"; }, never, ["*"], true, never>;
|
|
1384
1691
|
}
|
|
1385
1692
|
|
|
1693
|
+
interface ToastConfig {
|
|
1694
|
+
id?: string;
|
|
1695
|
+
type?: 'success' | 'danger' | 'warning' | 'info' | 'neutral';
|
|
1696
|
+
title?: string;
|
|
1697
|
+
message: string;
|
|
1698
|
+
duration?: number;
|
|
1699
|
+
position?: ToastPosition;
|
|
1700
|
+
actionLabel?: string;
|
|
1701
|
+
onAction?: () => void;
|
|
1702
|
+
showProgress?: boolean;
|
|
1703
|
+
avatar?: string;
|
|
1704
|
+
icon?: string | boolean;
|
|
1705
|
+
dismissible?: boolean;
|
|
1706
|
+
}
|
|
1707
|
+
type ToastPosition = 'top-right' | 'top-left' | 'top-center' | 'bottom-right' | 'bottom-left' | 'bottom-center';
|
|
1708
|
+
interface Toast extends ToastConfig {
|
|
1709
|
+
id: string;
|
|
1710
|
+
createdAt: number;
|
|
1711
|
+
}
|
|
1712
|
+
|
|
1713
|
+
declare class OlToastService {
|
|
1714
|
+
private toasts;
|
|
1715
|
+
private maxToasts;
|
|
1716
|
+
private defaultDuration;
|
|
1717
|
+
readonly toasts$: _angular_core.Signal<Toast[]>;
|
|
1718
|
+
show(config: ToastConfig): string;
|
|
1719
|
+
success(message: string, config?: Partial<ToastConfig>): string;
|
|
1720
|
+
error(message: string, config?: Partial<ToastConfig>): string;
|
|
1721
|
+
warning(message: string, config?: Partial<ToastConfig>): string;
|
|
1722
|
+
info(message: string, config?: Partial<ToastConfig>): string;
|
|
1723
|
+
dismiss(id: string): void;
|
|
1724
|
+
clear(position?: ToastPosition): void;
|
|
1725
|
+
private addToast;
|
|
1726
|
+
private scheduleAutoDismiss;
|
|
1727
|
+
private generateId;
|
|
1728
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OlToastService, never>;
|
|
1729
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
1730
|
+
}
|
|
1731
|
+
|
|
1732
|
+
declare class OlToastComponent implements OnInit, OnDestroy {
|
|
1733
|
+
config: _angular_core.InputSignal<Toast>;
|
|
1734
|
+
dismiss: _angular_core.OutputEmitterRef<void>;
|
|
1735
|
+
progress: _angular_core.WritableSignal<number>;
|
|
1736
|
+
private progressInterval?;
|
|
1737
|
+
private isPaused;
|
|
1738
|
+
toastClasses: _angular_core.Signal<string>;
|
|
1739
|
+
showIcon: _angular_core.Signal<boolean>;
|
|
1740
|
+
iconName: _angular_core.Signal<string>;
|
|
1741
|
+
iconClasses: _angular_core.Signal<string>;
|
|
1742
|
+
progressBarClasses: _angular_core.Signal<string>;
|
|
1743
|
+
ngOnInit(): void;
|
|
1744
|
+
ngOnDestroy(): void;
|
|
1745
|
+
onMouseEnter(): void;
|
|
1746
|
+
onMouseLeave(): void;
|
|
1747
|
+
handleDismiss(): void;
|
|
1748
|
+
handleAction(): void;
|
|
1749
|
+
private startProgress;
|
|
1750
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OlToastComponent, never>;
|
|
1751
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<OlToastComponent, "ol-toast", never, { "config": { "alias": "config"; "required": true; "isSignal": true; }; }, { "dismiss": "dismiss"; }, never, never, true, never>;
|
|
1752
|
+
}
|
|
1753
|
+
|
|
1754
|
+
declare class OlToastContainerComponent {
|
|
1755
|
+
toastService: OlToastService;
|
|
1756
|
+
positions: ToastPosition[];
|
|
1757
|
+
getToastsByPosition(position: ToastPosition): _edmicro_olkit.Toast[];
|
|
1758
|
+
getContainerClasses(position: ToastPosition): string;
|
|
1759
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OlToastContainerComponent, never>;
|
|
1760
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<OlToastContainerComponent, "ol-toast-container", never, {}, {}, never, never, true, never>;
|
|
1761
|
+
}
|
|
1762
|
+
|
|
1386
1763
|
type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
|
|
1387
1764
|
type TooltipTrigger = 'hover' | 'click';
|
|
1388
1765
|
type TooltipTheme = 'dark' | 'light';
|
|
@@ -1406,6 +1783,120 @@ declare class TooltipComponent {
|
|
|
1406
1783
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TooltipComponent, "ol-tooltip", never, { "content": { "alias": "content"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "trigger": { "alias": "trigger"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; }, { "opened": "opened"; "closed": "closed"; }, never, ["*"], true, never>;
|
|
1407
1784
|
}
|
|
1408
1785
|
|
|
1786
|
+
/**
|
|
1787
|
+
* Tooltip Directive
|
|
1788
|
+
* Provides accessible tooltips with Floating UI positioning
|
|
1789
|
+
*
|
|
1790
|
+
* @example
|
|
1791
|
+
* ```html
|
|
1792
|
+
* <button olTooltip="Lưu câu hỏi">
|
|
1793
|
+
* <ol-icon name="save" />
|
|
1794
|
+
* </button>
|
|
1795
|
+
*
|
|
1796
|
+
* <span olTooltip="Điểm cao nhất" tooltipPosition="bottom">9.5/10</span>
|
|
1797
|
+
*
|
|
1798
|
+
* <div olTooltip="Thông tin" tooltipTheme="light">Hover me</div>
|
|
1799
|
+
* ```
|
|
1800
|
+
*/
|
|
1801
|
+
declare class OlTooltipDirective implements OnDestroy {
|
|
1802
|
+
private readonly elementRef;
|
|
1803
|
+
private readonly renderer;
|
|
1804
|
+
private readonly appRef;
|
|
1805
|
+
private readonly injector;
|
|
1806
|
+
private readonly positioningService;
|
|
1807
|
+
/** Tooltip content */
|
|
1808
|
+
olTooltip: _angular_core.InputSignal<string>;
|
|
1809
|
+
/** Tooltip position */
|
|
1810
|
+
tooltipPosition: _angular_core.InputSignal<"left" | "right" | "top" | "bottom">;
|
|
1811
|
+
/** Tooltip theme */
|
|
1812
|
+
tooltipTheme: _angular_core.InputSignal<"brand" | "dark" | "light">;
|
|
1813
|
+
/** Delay before showing tooltip (ms) */
|
|
1814
|
+
tooltipDelay: _angular_core.InputSignal<number>;
|
|
1815
|
+
/** Disable tooltip */
|
|
1816
|
+
tooltipDisabled: _angular_core.InputSignal<boolean>;
|
|
1817
|
+
/** Show arrow */
|
|
1818
|
+
tooltipArrow: _angular_core.InputSignal<boolean>;
|
|
1819
|
+
private showTimeout?;
|
|
1820
|
+
private hideTimeout?;
|
|
1821
|
+
private touchTimeout?;
|
|
1822
|
+
private tooltipComponent?;
|
|
1823
|
+
private tooltipElement?;
|
|
1824
|
+
private cleanupAutoUpdate?;
|
|
1825
|
+
private tooltipId;
|
|
1826
|
+
private mouseEnterListener?;
|
|
1827
|
+
private mouseLeaveListener?;
|
|
1828
|
+
private focusListener?;
|
|
1829
|
+
private blurListener?;
|
|
1830
|
+
private touchStartListener?;
|
|
1831
|
+
private touchEndListener?;
|
|
1832
|
+
constructor();
|
|
1833
|
+
ngOnDestroy(): void;
|
|
1834
|
+
/**
|
|
1835
|
+
* Setup event listeners for tooltip triggers
|
|
1836
|
+
*/
|
|
1837
|
+
private setupListeners;
|
|
1838
|
+
/**
|
|
1839
|
+
* Remove event listeners
|
|
1840
|
+
*/
|
|
1841
|
+
private removeListeners;
|
|
1842
|
+
/**
|
|
1843
|
+
* Schedule tooltip show with delay
|
|
1844
|
+
*/
|
|
1845
|
+
private scheduleShow;
|
|
1846
|
+
/**
|
|
1847
|
+
* Schedule tooltip hide with delay
|
|
1848
|
+
*/
|
|
1849
|
+
private scheduleHide;
|
|
1850
|
+
/**
|
|
1851
|
+
* Show tooltip
|
|
1852
|
+
*/
|
|
1853
|
+
private show;
|
|
1854
|
+
/**
|
|
1855
|
+
* Hide tooltip
|
|
1856
|
+
*/
|
|
1857
|
+
private hide;
|
|
1858
|
+
/**
|
|
1859
|
+
* Destroy tooltip component
|
|
1860
|
+
*/
|
|
1861
|
+
private destroyTooltip;
|
|
1862
|
+
/**
|
|
1863
|
+
* Position tooltip using Floating UI
|
|
1864
|
+
*/
|
|
1865
|
+
private positionTooltip;
|
|
1866
|
+
/**
|
|
1867
|
+
* Cleanup all resources
|
|
1868
|
+
*/
|
|
1869
|
+
private cleanup;
|
|
1870
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OlTooltipDirective, never>;
|
|
1871
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<OlTooltipDirective, "[olTooltip]", never, { "olTooltip": { "alias": "olTooltip"; "required": true; "isSignal": true; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; "isSignal": true; }; "tooltipTheme": { "alias": "tooltipTheme"; "required": false; "isSignal": true; }; "tooltipDelay": { "alias": "tooltipDelay"; "required": false; "isSignal": true; }; "tooltipDisabled": { "alias": "tooltipDisabled"; "required": false; "isSignal": true; }; "tooltipArrow": { "alias": "tooltipArrow"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1872
|
+
}
|
|
1873
|
+
|
|
1874
|
+
/**
|
|
1875
|
+
* Internal Tooltip Component
|
|
1876
|
+
* Renders the actual tooltip content with theme and arrow support
|
|
1877
|
+
* Used internally by OlTooltipDirective
|
|
1878
|
+
*/
|
|
1879
|
+
declare class OlTooltipComponent {
|
|
1880
|
+
/** Tooltip content text */
|
|
1881
|
+
content: _angular_core.InputSignal<string>;
|
|
1882
|
+
/** Theme variant */
|
|
1883
|
+
theme: _angular_core.InputSignal<"brand" | "dark" | "light">;
|
|
1884
|
+
/** Tooltip ID for ARIA */
|
|
1885
|
+
tooltipId: _angular_core.InputSignal<string>;
|
|
1886
|
+
/** Show arrow */
|
|
1887
|
+
arrow: _angular_core.InputSignal<boolean>;
|
|
1888
|
+
/**
|
|
1889
|
+
* Computed tooltip classes based on theme
|
|
1890
|
+
*/
|
|
1891
|
+
tooltipClasses: _angular_core.Signal<string>;
|
|
1892
|
+
/**
|
|
1893
|
+
* Computed arrow classes based on theme
|
|
1894
|
+
*/
|
|
1895
|
+
arrowClasses: _angular_core.Signal<string>;
|
|
1896
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OlTooltipComponent, never>;
|
|
1897
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<OlTooltipComponent, "ol-tooltip-internal", never, { "content": { "alias": "content"; "required": true; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "tooltipId": { "alias": "tooltipId"; "required": false; "isSignal": true; }; "arrow": { "alias": "arrow"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1898
|
+
}
|
|
1899
|
+
|
|
1409
1900
|
type IconSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | number;
|
|
1410
1901
|
type IconColor = 'current' | 'brand' | 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'white' | 'muted' | string;
|
|
1411
1902
|
type IconVariant = 'linear' | 'bold' | 'line-duotone' | 'file-type' | 'brand' | 'custom' | string;
|
|
@@ -1452,7 +1943,8 @@ declare class OlIconService {
|
|
|
1452
1943
|
*/
|
|
1453
1944
|
private loadManifest;
|
|
1454
1945
|
/**
|
|
1455
|
-
* Lấy SVG SafeHtml tức thì đồng bộ 0ms từ In-Memory Pre-bundled Registry
|
|
1946
|
+
* Lấy SVG SafeHtml tức thì đồng bộ 0ms từ In-Memory Pre-bundled Registry (OL_ICONS)
|
|
1947
|
+
* Tất cả icons được lưu trong OL_ICONS (icons.data.ts) - nguồn dữ liệu duy nhất, hỗ trợ tree-shaking.
|
|
1456
1948
|
*/
|
|
1457
1949
|
getIconSync(name: string, variant?: string): SafeHtml | null;
|
|
1458
1950
|
/**
|
|
@@ -1460,13 +1952,17 @@ declare class OlIconService {
|
|
|
1460
1952
|
*/
|
|
1461
1953
|
getIcon(name: string, variant?: string): Observable<SafeHtml | null>;
|
|
1462
1954
|
private fetchIconSvg;
|
|
1463
|
-
|
|
1955
|
+
/**
|
|
1956
|
+
* Alias map: ánh xạ tên icon thay thế sang tên chuẩn trong OL_ICONS.
|
|
1957
|
+
* Các icons trong builtinSvgMap cũ đã được hợp nhất trực tiếp vào OL_ICONS (icons.data.ts)
|
|
1958
|
+
* để chuẩn hoá về một nguồn dữ liệu duy nhất, hỗ trợ tree-shaking.
|
|
1959
|
+
*/
|
|
1464
1960
|
private readonly aliasMap;
|
|
1465
1961
|
private getCandidateUrls;
|
|
1466
1962
|
private normalizeKey;
|
|
1467
1963
|
private cleanSvg;
|
|
1468
1964
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OlIconService, never>;
|
|
1469
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
1965
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
1470
1966
|
}
|
|
1471
1967
|
|
|
1472
1968
|
/**
|
|
@@ -1503,7 +1999,7 @@ declare class BottomNavComponent {
|
|
|
1503
1999
|
readonly bordered: _angular_core.InputSignal<boolean>;
|
|
1504
2000
|
readonly shadow: _angular_core.InputSignal<boolean>;
|
|
1505
2001
|
readonly safeArea: _angular_core.InputSignal<boolean>;
|
|
1506
|
-
readonly position: _angular_core.InputSignal<"
|
|
2002
|
+
readonly position: _angular_core.InputSignal<"fixed" | "relative">;
|
|
1507
2003
|
readonly navClasses: _angular_core.Signal<string>;
|
|
1508
2004
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BottomNavComponent, never>;
|
|
1509
2005
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BottomNavComponent, "ol-bottom-nav", never, { "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "shadow": { "alias": "shadow"; "required": false; "isSignal": true; }; "safeArea": { "alias": "safeArea"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
@@ -1568,6 +2064,493 @@ declare class StepperComponent {
|
|
|
1568
2064
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StepperComponent, "ol-stepper", never, { "currentStep": { "alias": "currentStep"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "breakpoint": { "alias": "breakpoint"; "required": false; "isSignal": true; }; "linear": { "alias": "linear"; "required": false; "isSignal": true; }; "clickable": { "alias": "clickable"; "required": false; "isSignal": true; }; }, { "currentStep": "currentStepChange"; "stepChange": "stepChange"; }, ["steps"], ["*"], true, never>;
|
|
1569
2065
|
}
|
|
1570
2066
|
|
|
1571
|
-
|
|
1572
|
-
|
|
2067
|
+
interface OlTreeNode {
|
|
2068
|
+
id: string;
|
|
2069
|
+
label: string;
|
|
2070
|
+
icon?: string;
|
|
2071
|
+
count?: number;
|
|
2072
|
+
badge?: string;
|
|
2073
|
+
badgeTheme?: 'brand' | 'green' | 'yellow' | 'red' | 'gray';
|
|
2074
|
+
children?: OlTreeNode[];
|
|
2075
|
+
expanded?: boolean;
|
|
2076
|
+
selected?: boolean;
|
|
2077
|
+
disabled?: boolean;
|
|
2078
|
+
data?: any;
|
|
2079
|
+
}
|
|
2080
|
+
|
|
2081
|
+
declare class TreeComponent {
|
|
2082
|
+
readonly nodes: _angular_core.ModelSignal<OlTreeNode[]>;
|
|
2083
|
+
readonly checkable: _angular_core.InputSignal<boolean>;
|
|
2084
|
+
readonly selectionMode: _angular_core.InputSignal<"single" | "multiple">;
|
|
2085
|
+
readonly bordered: _angular_core.InputSignal<boolean>;
|
|
2086
|
+
readonly toggleIcon: _angular_core.InputSignal<"plus-minus" | "chevron">;
|
|
2087
|
+
readonly nodeSelect: _angular_core.OutputEmitterRef<OlTreeNode>;
|
|
2088
|
+
readonly nodeCheck: _angular_core.OutputEmitterRef<{
|
|
2089
|
+
node: OlTreeNode;
|
|
2090
|
+
checked: boolean;
|
|
2091
|
+
}>;
|
|
2092
|
+
handleNodeClick(node: OlTreeNode): void;
|
|
2093
|
+
handleNodeCheck(event: {
|
|
2094
|
+
node: OlTreeNode;
|
|
2095
|
+
checked: boolean;
|
|
2096
|
+
}): void;
|
|
2097
|
+
handleToggleExpand(node: OlTreeNode): void;
|
|
2098
|
+
private updateNodeCheckCascade;
|
|
2099
|
+
private updateNodeExpanded;
|
|
2100
|
+
private setAllDescendantsSelected;
|
|
2101
|
+
private setSelectedNodeSingle;
|
|
2102
|
+
private cloneTree;
|
|
2103
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TreeComponent, never>;
|
|
2104
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TreeComponent, "ol-tree", never, { "nodes": { "alias": "nodes"; "required": false; "isSignal": true; }; "checkable": { "alias": "checkable"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "toggleIcon": { "alias": "toggleIcon"; "required": false; "isSignal": true; }; }, { "nodes": "nodesChange"; "nodeSelect": "nodeSelect"; "nodeCheck": "nodeCheck"; }, never, never, true, never>;
|
|
2105
|
+
}
|
|
2106
|
+
|
|
2107
|
+
declare class TreeNodeComponent {
|
|
2108
|
+
readonly node: _angular_core.InputSignal<OlTreeNode>;
|
|
2109
|
+
readonly checkable: _angular_core.InputSignal<boolean>;
|
|
2110
|
+
readonly selectionMode: _angular_core.InputSignal<"single" | "multiple">;
|
|
2111
|
+
readonly toggleIcon: _angular_core.InputSignal<"plus-minus" | "chevron">;
|
|
2112
|
+
readonly level: _angular_core.InputSignal<number>;
|
|
2113
|
+
readonly nodeClick: _angular_core.OutputEmitterRef<OlTreeNode>;
|
|
2114
|
+
readonly nodeCheck: _angular_core.OutputEmitterRef<{
|
|
2115
|
+
node: OlTreeNode;
|
|
2116
|
+
checked: boolean;
|
|
2117
|
+
}>;
|
|
2118
|
+
readonly toggleExpand: _angular_core.OutputEmitterRef<OlTreeNode>;
|
|
2119
|
+
handleToggle(event: MouseEvent): void;
|
|
2120
|
+
handleClick(): void;
|
|
2121
|
+
handleCheck(event: Event): void;
|
|
2122
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TreeNodeComponent, never>;
|
|
2123
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TreeNodeComponent, "ol-tree-node", never, { "node": { "alias": "node"; "required": true; "isSignal": true; }; "checkable": { "alias": "checkable"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "toggleIcon": { "alias": "toggleIcon"; "required": false; "isSignal": true; }; "level": { "alias": "level"; "required": false; "isSignal": true; }; }, { "nodeClick": "nodeClick"; "nodeCheck": "nodeCheck"; "toggleExpand": "toggleExpand"; }, never, never, true, never>;
|
|
2124
|
+
}
|
|
2125
|
+
|
|
2126
|
+
type ChartType = 'line' | 'smooth-line' | 'area' | 'smooth-area' | 'step-line' | 'bar' | 'stacked-bar' | 'horizontal-bar' | 'stacked-horizontal-bar' | 'diverging-bar' | 'pie' | 'donut' | 'rose' | 'radar' | 'gauge' | 'radial' | 'scatter' | 'heatmap' | 'boxplot';
|
|
2127
|
+
/** Cấu hình chuỗi dữ liệu (Dành cho Line, Bar, Stacked Bar, Area, Radar) */
|
|
2128
|
+
interface ChartSeries {
|
|
2129
|
+
/** Tên chuỗi hiển thị trên Legend và Tooltip */
|
|
2130
|
+
name: string;
|
|
2131
|
+
/** Mảng giá trị tương ứng từng danh mục (categories) */
|
|
2132
|
+
data: number[];
|
|
2133
|
+
/** Màu sắc đặc trưng cho chuỗi (mã HEX, HSL hoặc tên biến CSS) */
|
|
2134
|
+
color?: string;
|
|
2135
|
+
/** Độ dày nét vẽ cho biểu đồ đường (mặc định 2.5) */
|
|
2136
|
+
strokeWidth?: number;
|
|
2137
|
+
/** Nét đứt (ví dụ: '4 4') */
|
|
2138
|
+
strokeDasharray?: string;
|
|
2139
|
+
}
|
|
2140
|
+
/** Cấu hình phân đoạn điểm dữ liệu (Dành cho Pie, Donut, Rose, Gauge) */
|
|
2141
|
+
interface ChartDataPoint {
|
|
2142
|
+
/** Nhãn mô tả phân đoạn */
|
|
2143
|
+
label: string;
|
|
2144
|
+
/** Giá trị số của phân đoạn */
|
|
2145
|
+
value: number;
|
|
2146
|
+
/** Màu sắc phân đoạn (nếu không cung cấp sẽ lấy theo bảng màu mặc định) */
|
|
2147
|
+
color?: string;
|
|
2148
|
+
/** Chú thích bổ sung hiển thị trên tooltip hoặc legend */
|
|
2149
|
+
subLabel?: string;
|
|
2150
|
+
}
|
|
2151
|
+
/** Cấu hình trục đánh giá đa chiều cho biểu đồ Radar */
|
|
2152
|
+
interface RadarIndicator {
|
|
2153
|
+
/** Tên tiêu chí đánh giá (ví dụ: 'Tư duy logic', 'Tính toán nhanh') */
|
|
2154
|
+
name: string;
|
|
2155
|
+
/** Giá trị tối đa của thang điểm (mặc định: 100) */
|
|
2156
|
+
max?: number;
|
|
2157
|
+
}
|
|
2158
|
+
/** Điểm dữ liệu toạ độ cho biểu đồ phân tán Scatter */
|
|
2159
|
+
interface ScatterDataPoint {
|
|
2160
|
+
/** Toạ độ trục hoành (X) */
|
|
2161
|
+
x: number;
|
|
2162
|
+
/** Toạ độ trục tung (Y) */
|
|
2163
|
+
y: number;
|
|
2164
|
+
/** Kích thước điểm tròn (mặc định 6) */
|
|
2165
|
+
size?: number;
|
|
2166
|
+
/** Nhãn tên của đối tượng dữ liệu */
|
|
2167
|
+
label?: string;
|
|
2168
|
+
/** Màu sắc riêng của điểm */
|
|
2169
|
+
color?: string;
|
|
2170
|
+
}
|
|
2171
|
+
/** Chuỗi dữ liệu phân tán */
|
|
2172
|
+
interface ScatterSeries {
|
|
2173
|
+
/** Tên nhóm phân tán */
|
|
2174
|
+
name: string;
|
|
2175
|
+
/** Danh sách các điểm toạ độ */
|
|
2176
|
+
data: ScatterDataPoint[];
|
|
2177
|
+
/** Màu mặc định của nhóm */
|
|
2178
|
+
color?: string;
|
|
2179
|
+
}
|
|
2180
|
+
/** Dữ liệu bản đồ nhiệt Heatmap theo ma trận 2 chiều */
|
|
2181
|
+
interface HeatmapData {
|
|
2182
|
+
/** Danh sách nhãn cột (Trục X: ví dụ thứ trong tuần T2 -> CN) */
|
|
2183
|
+
xLabels: string[];
|
|
2184
|
+
/** Danh sách nhãn hàng (Trục Y: ví dụ khung giờ 08:00, 12:00, 18:00...) */
|
|
2185
|
+
yLabels: string[];
|
|
2186
|
+
/** Ma trận giá trị [hàng][cột] tương ứng yLabels x xLabels */
|
|
2187
|
+
matrix: number[][];
|
|
2188
|
+
/** Giá trị nhỏ nhất thang đo nhiệt (mặc định: 0) */
|
|
2189
|
+
min?: number;
|
|
2190
|
+
/** Giá trị lớn nhất thang đo nhiệt (mặc định: tự động tính) */
|
|
2191
|
+
max?: number;
|
|
2192
|
+
/** Đơn vị đo hiển thị khi hover tooltip (ví dụ: 'lượt', 'câu', 'phút') */
|
|
2193
|
+
unit?: string;
|
|
2194
|
+
}
|
|
2195
|
+
/** Điểm dữ liệu biểu đồ hộp Boxplot (Thống kê phân vị điểm số) */
|
|
2196
|
+
interface BoxplotDataPoint {
|
|
2197
|
+
/** Nhãn nhóm (ví dụ: 'Lớp 12A1', 'Đề số 01') */
|
|
2198
|
+
label: string;
|
|
2199
|
+
/** Giá trị nhỏ nhất */
|
|
2200
|
+
min: number;
|
|
2201
|
+
/** Tứ phân vị thứ nhất (Q1 - 25%) */
|
|
2202
|
+
q1: number;
|
|
2203
|
+
/** Trung vị (Median - 50%) */
|
|
2204
|
+
median: number;
|
|
2205
|
+
/** Tứ phân vị thứ ba (Q3 - 75%) */
|
|
2206
|
+
q3: number;
|
|
2207
|
+
/** Giá trị lớn nhất */
|
|
2208
|
+
max: number;
|
|
2209
|
+
/** Các điểm ngoại lai (nếu có) */
|
|
2210
|
+
outliers?: number[];
|
|
2211
|
+
/** Màu sắc biểu diễn hộp */
|
|
2212
|
+
color?: string;
|
|
2213
|
+
}
|
|
2214
|
+
|
|
2215
|
+
declare class ChartComponent {
|
|
2216
|
+
/** Chủng loại biểu đồ */
|
|
2217
|
+
readonly type: _angular_core.InputSignal<ChartType>;
|
|
2218
|
+
/** Tiêu đề chính */
|
|
2219
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
2220
|
+
/** Tiêu đề phụ / mô tả */
|
|
2221
|
+
readonly subtitle: _angular_core.InputSignal<string>;
|
|
2222
|
+
/** Danh sách nhãn phân loại trục hoành */
|
|
2223
|
+
readonly categories: _angular_core.InputSignal<string[]>;
|
|
2224
|
+
/** Chuỗi dữ liệu số (Line, Bar, Stacked, Area, Radar) */
|
|
2225
|
+
readonly series: _angular_core.InputSignal<ChartSeries[]>;
|
|
2226
|
+
/** Dữ liệu phân đoạn (Pie, Donut, Rose) */
|
|
2227
|
+
readonly dataPoints: _angular_core.InputSignal<ChartDataPoint[]>;
|
|
2228
|
+
/** Chỉ số đa chiều (Radar) */
|
|
2229
|
+
readonly indicators: _angular_core.InputSignal<RadarIndicator[]>;
|
|
2230
|
+
/** Chuỗi dữ liệu phân tán (Scatter) */
|
|
2231
|
+
readonly scatterSeries: _angular_core.InputSignal<ScatterSeries[]>;
|
|
2232
|
+
/** Ma trận nhiệt độ dữ liệu (Heatmap) */
|
|
2233
|
+
readonly heatmapData: _angular_core.InputSignal<HeatmapData | null>;
|
|
2234
|
+
/** Dữ liệu biểu đồ hộp (Boxplot) */
|
|
2235
|
+
readonly boxplotData: _angular_core.InputSignal<BoxplotDataPoint[]>;
|
|
2236
|
+
/** Giá trị đo lường tiến độ (Gauge / Radial) */
|
|
2237
|
+
readonly value: _angular_core.InputSignal<number>;
|
|
2238
|
+
/** Giá trị tối đa (Gauge / Radial) */
|
|
2239
|
+
readonly max: _angular_core.InputSignal<number>;
|
|
2240
|
+
/** Chiều cao khung biểu đồ (px) */
|
|
2241
|
+
readonly height: _angular_core.InputSignal<number>;
|
|
2242
|
+
/** Hiển thị chú thích bảng màu (Legend) */
|
|
2243
|
+
readonly showLegend: _angular_core.InputSignal<boolean>;
|
|
2244
|
+
/** Hiển thị đường gióng toạ độ (Grid) */
|
|
2245
|
+
readonly showGrid: _angular_core.InputSignal<boolean>;
|
|
2246
|
+
/** Tiêu đề nhãn trục hoành (X-Axis) - ví dụ: "Thời gian", "Tháng", "Số phút" */
|
|
2247
|
+
readonly xAxisTitle: _angular_core.InputSignal<string>;
|
|
2248
|
+
/** Tiêu đề nhãn trục tung (Y-Axis) - ví dụ: "Điểm số", "Số lượng (câu)", "Tỷ lệ (%)" */
|
|
2249
|
+
readonly yAxisTitle: _angular_core.InputSignal<string>;
|
|
2250
|
+
/** Đơn vị hiển thị sau số liệu */
|
|
2251
|
+
readonly unit: _angular_core.InputSignal<string>;
|
|
2252
|
+
readonly defaultPalette: string[];
|
|
2253
|
+
readonly activeTooltip: _angular_core.WritableSignal<{
|
|
2254
|
+
x: number;
|
|
2255
|
+
y: number;
|
|
2256
|
+
title: string;
|
|
2257
|
+
items: {
|
|
2258
|
+
label: string;
|
|
2259
|
+
value: string | number;
|
|
2260
|
+
color?: string;
|
|
2261
|
+
}[];
|
|
2262
|
+
} | null>;
|
|
2263
|
+
readonly hiddenItems: _angular_core.WritableSignal<Set<string>>;
|
|
2264
|
+
toggleLegendItem(name: string): void;
|
|
2265
|
+
isItemHidden(name: string): boolean;
|
|
2266
|
+
readonly seriesLegendList: _angular_core.Signal<{
|
|
2267
|
+
name: string;
|
|
2268
|
+
color: string;
|
|
2269
|
+
hidden: boolean;
|
|
2270
|
+
}[]>;
|
|
2271
|
+
readonly radarLegendList: _angular_core.Signal<{
|
|
2272
|
+
name: string;
|
|
2273
|
+
color: string;
|
|
2274
|
+
hidden: boolean;
|
|
2275
|
+
}[]>;
|
|
2276
|
+
readonly scatterLegendList: _angular_core.Signal<{
|
|
2277
|
+
name: string;
|
|
2278
|
+
color: string;
|
|
2279
|
+
hidden: boolean;
|
|
2280
|
+
}[]>;
|
|
2281
|
+
readonly yAxisMin: _angular_core.Signal<number>;
|
|
2282
|
+
readonly yAxisMax: _angular_core.Signal<number>;
|
|
2283
|
+
readonly yGridSteps: _angular_core.Signal<number[]>;
|
|
2284
|
+
readonly svgWidth = 560;
|
|
2285
|
+
readonly svgHeight = 230;
|
|
2286
|
+
readonly padding: {
|
|
2287
|
+
top: number;
|
|
2288
|
+
right: number;
|
|
2289
|
+
bottom: number;
|
|
2290
|
+
left: number;
|
|
2291
|
+
};
|
|
2292
|
+
readonly innerWidth: _angular_core.Signal<number>;
|
|
2293
|
+
readonly innerHeight: _angular_core.Signal<number>;
|
|
2294
|
+
readonly linePaths: _angular_core.Signal<{
|
|
2295
|
+
name: string;
|
|
2296
|
+
color: string;
|
|
2297
|
+
strokeWidth: number;
|
|
2298
|
+
strokeDasharray: string | undefined;
|
|
2299
|
+
linePathD: string;
|
|
2300
|
+
areaPathD: string;
|
|
2301
|
+
points: {
|
|
2302
|
+
x: number;
|
|
2303
|
+
y: number;
|
|
2304
|
+
value: number;
|
|
2305
|
+
category: string;
|
|
2306
|
+
}[];
|
|
2307
|
+
}[]>;
|
|
2308
|
+
private getSmoothSvgPath;
|
|
2309
|
+
readonly columnsComputed: _angular_core.Signal<{
|
|
2310
|
+
categories: {
|
|
2311
|
+
label: string;
|
|
2312
|
+
displayLabel: string;
|
|
2313
|
+
centerX: number;
|
|
2314
|
+
}[];
|
|
2315
|
+
bars: {
|
|
2316
|
+
categoryIndex: number;
|
|
2317
|
+
seriesIndex: number;
|
|
2318
|
+
name: string;
|
|
2319
|
+
value: number;
|
|
2320
|
+
x: number;
|
|
2321
|
+
y: number;
|
|
2322
|
+
width: number;
|
|
2323
|
+
height: number;
|
|
2324
|
+
color: string;
|
|
2325
|
+
}[];
|
|
2326
|
+
}>;
|
|
2327
|
+
readonly stackedColumnsComputed: _angular_core.Signal<{
|
|
2328
|
+
categories: {
|
|
2329
|
+
label: string;
|
|
2330
|
+
displayLabel: string;
|
|
2331
|
+
centerX: number;
|
|
2332
|
+
}[];
|
|
2333
|
+
segments: {
|
|
2334
|
+
categoryIndex: number;
|
|
2335
|
+
seriesIndex: number;
|
|
2336
|
+
name: string;
|
|
2337
|
+
value: number;
|
|
2338
|
+
x: number;
|
|
2339
|
+
y: number;
|
|
2340
|
+
width: number;
|
|
2341
|
+
height: number;
|
|
2342
|
+
color: string;
|
|
2343
|
+
}[];
|
|
2344
|
+
}>;
|
|
2345
|
+
readonly totalDonutValue: _angular_core.Signal<number>;
|
|
2346
|
+
readonly donutSegments: _angular_core.Signal<{
|
|
2347
|
+
label: string;
|
|
2348
|
+
value: number;
|
|
2349
|
+
percentage: number;
|
|
2350
|
+
color: string;
|
|
2351
|
+
strokeDasharray: string;
|
|
2352
|
+
strokeDashoffset: number;
|
|
2353
|
+
}[]>;
|
|
2354
|
+
readonly pieSlices: _angular_core.Signal<{
|
|
2355
|
+
label: string;
|
|
2356
|
+
value: number;
|
|
2357
|
+
percentage: number;
|
|
2358
|
+
color: string;
|
|
2359
|
+
pathD: string;
|
|
2360
|
+
}[]>;
|
|
2361
|
+
readonly pieBreakdownItems: _angular_core.Signal<{
|
|
2362
|
+
label: string;
|
|
2363
|
+
value: number;
|
|
2364
|
+
percentage: number;
|
|
2365
|
+
color: string;
|
|
2366
|
+
hidden: boolean;
|
|
2367
|
+
}[]>;
|
|
2368
|
+
readonly gaugePercentage: _angular_core.Signal<number>;
|
|
2369
|
+
readonly gaugeOffset: _angular_core.Signal<number>;
|
|
2370
|
+
readonly radialOffset: _angular_core.Signal<number>;
|
|
2371
|
+
readonly radarIndicatorsList: _angular_core.Signal<RadarIndicator[]>;
|
|
2372
|
+
readonly radarGridRings: _angular_core.Signal<string[]>;
|
|
2373
|
+
readonly radarAxes: _angular_core.Signal<{
|
|
2374
|
+
name: string;
|
|
2375
|
+
x1: number;
|
|
2376
|
+
y1: number;
|
|
2377
|
+
x2: number;
|
|
2378
|
+
y2: number;
|
|
2379
|
+
labelX: number;
|
|
2380
|
+
labelY: number;
|
|
2381
|
+
anchor: string;
|
|
2382
|
+
}[]>;
|
|
2383
|
+
readonly radarSeriesPolygons: _angular_core.Signal<{
|
|
2384
|
+
name: string;
|
|
2385
|
+
color: string;
|
|
2386
|
+
points: {
|
|
2387
|
+
x: number;
|
|
2388
|
+
y: number;
|
|
2389
|
+
value: number;
|
|
2390
|
+
name: string;
|
|
2391
|
+
}[];
|
|
2392
|
+
polygonStr: string;
|
|
2393
|
+
}[]>;
|
|
2394
|
+
readonly scatterDataComputed: _angular_core.Signal<{
|
|
2395
|
+
seriesList: {
|
|
2396
|
+
name: string;
|
|
2397
|
+
color: string;
|
|
2398
|
+
points: {
|
|
2399
|
+
cx: number;
|
|
2400
|
+
cy: number;
|
|
2401
|
+
r: number;
|
|
2402
|
+
color: string;
|
|
2403
|
+
x: number;
|
|
2404
|
+
y: number;
|
|
2405
|
+
size?: number;
|
|
2406
|
+
label?: string;
|
|
2407
|
+
}[];
|
|
2408
|
+
}[];
|
|
2409
|
+
xMin: number;
|
|
2410
|
+
xMax: number;
|
|
2411
|
+
yMin: number;
|
|
2412
|
+
yMax: number;
|
|
2413
|
+
xTicks: {
|
|
2414
|
+
val: number;
|
|
2415
|
+
x: number;
|
|
2416
|
+
}[];
|
|
2417
|
+
yTicks: {
|
|
2418
|
+
val: number;
|
|
2419
|
+
y: number;
|
|
2420
|
+
}[];
|
|
2421
|
+
}>;
|
|
2422
|
+
readonly heatmapComputed: _angular_core.Signal<{
|
|
2423
|
+
xLabels: string[];
|
|
2424
|
+
yLabels: string[];
|
|
2425
|
+
unit: string;
|
|
2426
|
+
cells: {
|
|
2427
|
+
row: number;
|
|
2428
|
+
col: number;
|
|
2429
|
+
yLabel: string;
|
|
2430
|
+
xLabel: string;
|
|
2431
|
+
value: number;
|
|
2432
|
+
ratio: number;
|
|
2433
|
+
opacity: number;
|
|
2434
|
+
}[];
|
|
2435
|
+
} | null>;
|
|
2436
|
+
readonly boxplotComputed: _angular_core.Signal<{
|
|
2437
|
+
label: string;
|
|
2438
|
+
color: string;
|
|
2439
|
+
centerX: number;
|
|
2440
|
+
boxX: number;
|
|
2441
|
+
boxWidth: number;
|
|
2442
|
+
yMin: number;
|
|
2443
|
+
yQ1: number;
|
|
2444
|
+
yMedian: number;
|
|
2445
|
+
yQ3: number;
|
|
2446
|
+
yMax: number;
|
|
2447
|
+
raw: BoxplotDataPoint;
|
|
2448
|
+
}[]>;
|
|
2449
|
+
readonly horizontalBarsComputed: _angular_core.Signal<({
|
|
2450
|
+
category: string;
|
|
2451
|
+
total: number;
|
|
2452
|
+
segments: {
|
|
2453
|
+
name: string;
|
|
2454
|
+
value: number;
|
|
2455
|
+
widthPct: number;
|
|
2456
|
+
leftPct: number;
|
|
2457
|
+
color: string;
|
|
2458
|
+
}[];
|
|
2459
|
+
isStacked: boolean;
|
|
2460
|
+
items?: undefined;
|
|
2461
|
+
zeroPct?: undefined;
|
|
2462
|
+
isDiverging?: undefined;
|
|
2463
|
+
isGrouped?: undefined;
|
|
2464
|
+
} | {
|
|
2465
|
+
category: string;
|
|
2466
|
+
items: {
|
|
2467
|
+
name: string;
|
|
2468
|
+
value: number;
|
|
2469
|
+
widthPct: number;
|
|
2470
|
+
leftPct: number;
|
|
2471
|
+
color: string;
|
|
2472
|
+
}[];
|
|
2473
|
+
zeroPct: number;
|
|
2474
|
+
isDiverging: boolean;
|
|
2475
|
+
total?: undefined;
|
|
2476
|
+
segments?: undefined;
|
|
2477
|
+
isStacked?: undefined;
|
|
2478
|
+
isGrouped?: undefined;
|
|
2479
|
+
} | {
|
|
2480
|
+
category: string;
|
|
2481
|
+
items: {
|
|
2482
|
+
name: string;
|
|
2483
|
+
value: number;
|
|
2484
|
+
widthPct: number;
|
|
2485
|
+
color: string;
|
|
2486
|
+
}[];
|
|
2487
|
+
isGrouped: boolean;
|
|
2488
|
+
total?: undefined;
|
|
2489
|
+
segments?: undefined;
|
|
2490
|
+
isStacked?: undefined;
|
|
2491
|
+
zeroPct?: undefined;
|
|
2492
|
+
isDiverging?: undefined;
|
|
2493
|
+
})[]>;
|
|
2494
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartComponent, never>;
|
|
2495
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartComponent, "ol-chart", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "categories": { "alias": "categories"; "required": false; "isSignal": true; }; "series": { "alias": "series"; "required": false; "isSignal": true; }; "dataPoints": { "alias": "dataPoints"; "required": false; "isSignal": true; }; "indicators": { "alias": "indicators"; "required": false; "isSignal": true; }; "scatterSeries": { "alias": "scatterSeries"; "required": false; "isSignal": true; }; "heatmapData": { "alias": "heatmapData"; "required": false; "isSignal": true; }; "boxplotData": { "alias": "boxplotData"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "showLegend": { "alias": "showLegend"; "required": false; "isSignal": true; }; "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; "xAxisTitle": { "alias": "xAxisTitle"; "required": false; "isSignal": true; }; "yAxisTitle": { "alias": "yAxisTitle"; "required": false; "isSignal": true; }; "unit": { "alias": "unit"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2496
|
+
}
|
|
2497
|
+
|
|
2498
|
+
type ChatSender = 'user' | 'bot' | 'other';
|
|
2499
|
+
declare class ChatBubbleComponent {
|
|
2500
|
+
readonly sender: _angular_core.InputSignal<ChatSender>;
|
|
2501
|
+
readonly senderName: _angular_core.InputSignal<string>;
|
|
2502
|
+
readonly time: _angular_core.InputSignal<string>;
|
|
2503
|
+
readonly avatar: _angular_core.InputSignal<string>;
|
|
2504
|
+
readonly avatarText: _angular_core.InputSignal<string>;
|
|
2505
|
+
readonly status: _angular_core.InputSignal<"sending" | "sent" | "read" | "delivered">;
|
|
2506
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChatBubbleComponent, never>;
|
|
2507
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChatBubbleComponent, "ol-chat-bubble", never, { "sender": { "alias": "sender"; "required": false; "isSignal": true; }; "senderName": { "alias": "senderName"; "required": false; "isSignal": true; }; "time": { "alias": "time"; "required": false; "isSignal": true; }; "avatar": { "alias": "avatar"; "required": false; "isSignal": true; }; "avatarText": { "alias": "avatarText"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; }, {}, never, ["*", "*", "*"], true, never>;
|
|
2508
|
+
}
|
|
2509
|
+
|
|
2510
|
+
declare class ChatContainerComponent {
|
|
2511
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
2512
|
+
readonly status: _angular_core.InputSignal<string>;
|
|
2513
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChatContainerComponent, never>;
|
|
2514
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChatContainerComponent, "ol-chat-container", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; }, {}, never, ["[slot=header-actions]", "*", "[slot=footer]"], true, never>;
|
|
2515
|
+
}
|
|
2516
|
+
|
|
2517
|
+
type DeviceType = 'browser' | 'iphone' | 'tablet';
|
|
2518
|
+
declare class DeviceMockupComponent {
|
|
2519
|
+
readonly device: _angular_core.InputSignal<DeviceType>;
|
|
2520
|
+
readonly url: _angular_core.InputSignal<string>;
|
|
2521
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DeviceMockupComponent, never>;
|
|
2522
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DeviceMockupComponent, "ol-device-mockup", never, { "device": { "alias": "device"; "required": false; "isSignal": true; }; "url": { "alias": "url"; "required": false; "isSignal": true; }; }, {}, never, ["*", "*", "*"], true, never>;
|
|
2523
|
+
}
|
|
2524
|
+
|
|
2525
|
+
declare class GalleryComponent {
|
|
2526
|
+
readonly cols: _angular_core.InputSignal<2 | 3 | 4 | 5>;
|
|
2527
|
+
readonly gap: _angular_core.InputSignal<"sm" | "md" | "lg">;
|
|
2528
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<GalleryComponent, never>;
|
|
2529
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<GalleryComponent, "ol-gallery", never, { "cols": { "alias": "cols"; "required": false; "isSignal": true; }; "gap": { "alias": "gap"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
2530
|
+
}
|
|
2531
|
+
|
|
2532
|
+
declare class GalleryItemComponent {
|
|
2533
|
+
readonly src: _angular_core.InputSignal<string>;
|
|
2534
|
+
readonly alt: _angular_core.InputSignal<string>;
|
|
2535
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
2536
|
+
readonly subtitle: _angular_core.InputSignal<string>;
|
|
2537
|
+
readonly ratio: _angular_core.InputSignal<"video" | "square" | "auto" | "portrait">;
|
|
2538
|
+
readonly itemClick: _angular_core.OutputEmitterRef<void>;
|
|
2539
|
+
handleClick(): void;
|
|
2540
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<GalleryItemComponent, never>;
|
|
2541
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<GalleryItemComponent, "ol-gallery-item", never, { "src": { "alias": "src"; "required": true; "isSignal": true; }; "alt": { "alias": "alt"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "ratio": { "alias": "ratio"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
|
|
2542
|
+
}
|
|
2543
|
+
|
|
2544
|
+
type JumbotronVariant = 'brand' | 'dark' | 'gradient' | 'light';
|
|
2545
|
+
declare class JumbotronComponent {
|
|
2546
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
2547
|
+
readonly subtitle: _angular_core.InputSignal<string>;
|
|
2548
|
+
readonly badgeText: _angular_core.InputSignal<string>;
|
|
2549
|
+
readonly variant: _angular_core.InputSignal<JumbotronVariant>;
|
|
2550
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<JumbotronComponent, never>;
|
|
2551
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<JumbotronComponent, "ol-jumbotron", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "badgeText": { "alias": "badgeText"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, ["[slot=badge-icon]", "[slot=actions]", "*"], true, never>;
|
|
2552
|
+
}
|
|
2553
|
+
|
|
2554
|
+
export { AlertComponent, AutocompleteComponent, AvatarComponent, AvatarGroupComponent, BadgeComponent, BottomNavComponent, BottomNavItemComponent, BreadcrumbComponent, BreadcrumbItemComponent, ButtonComponent, ButtonGroupComponent, CardComponent, CarouselComponent, CarouselSlideComponent, ChartComponent, ChatBubbleComponent, ChatContainerComponent, CheckboxComponent, ClipboardComponent, CollapseComponent, DateRangePickerComponent, DatepickerComponent, DatepickerDirective, DatepickerFooterComponent, DatepickerHeaderComponent, DatepickerPopupComponent, DatepickerStateService, DayViewComponent, DeviceMockupComponent, DownloadAppButtonComponent, DrawerComponent, DropdownComponent, DropdownItemComponent, FileInputComponent, FloatingLabelComponent, FooterComponent, GalleryComponent, GalleryItemComponent, IconComponent, IconShapeComponent, InputComponent, InputCounterComponent, JumbotronComponent, KbdComponent, ListGroupComponent, ListGroupItemComponent, MONTHS_FULL_EN, MONTHS_FULL_VI, MONTHS_SHORT_VI, ModalComponent, MonthViewComponent, NavDropdownComponent, NavbarComponent, NavbarItemComponent, OL_ICONS, OlAccordionComponent, OlAccordionItemComponent, OlAlertComponent, OlBannerComponent, OlIconService, OlSkeletonComponent, OlSpeedDialComponent, OlSpeedDialItemComponent, OlSpinnerComponent, OlToastComponent, OlToastContainerComponent, OlToastService, OlTooltipComponent, OlTooltipDirective, OtpInputComponent, PaginationComponent, PopoverComponent, ProgressComponent, RadioComponent, RangeComponent, RatingComponent, RichTextEditorComponent, SelectComponent, SidebarComponent, SidebarGroupComponent, SidebarItemComponent, SidebarSubmenuComponent, StepItemComponent, StepperComponent, TabItemComponent, TableComponent, TabsComponent, TagInputComponent, TextareaComponent, TimelineComponent, TimelineItemComponent, TimepickerComponent, ToastComponent, ToggleComponent, TooltipComponent, TreeComponent, TreeNodeComponent, WEEKDAYS_SHORT_EN, WEEKDAYS_SHORT_VI, YearViewComponent, cloneDate, endOfDay, formatDate, generateMonthMatrix, generateMonthsMatrix, generateYearsMatrix, isBetween, isDateDisabled, isSameDay, isSameMonth, isSameYear, isToday, parseDate, startOfDay };
|
|
2555
|
+
export type { AccordionVariant, AlertColor, AlertRounded, AlertType, AlertVariant$1 as AlertVariant, AppDevice, AppTheme, AutocompleteOption, AutocompleteSize, AutocompleteState, AvatarShape, AvatarSize, AvatarStatus, BadgeShape, BadgeSize, BadgeTheme, BadgeType, BannerPosition, BannerVariant, BoxplotDataPoint, BreadcrumbItemStatus, BreadcrumbSeparator, BreadcrumbVariant, ButtonColor, ButtonGroupColor, ButtonGroupOrientation, ButtonGroupSize, ButtonSize, CardPadding, CardRadius, CardShadow, CardVariant, ChartDataPoint, ChartSeries, ChartType, ChatSender, CheckboxSize, DateCustomClass, DateRange, DatepickerPreset, DatepickerSelectionMode, DatepickerSize, DatepickerViewMode, DayCell, DeviceType, DrawerPlacement, DropdownAutoClose, DropdownPlacement, DropdownTrigger, FileInputSize, FloatingLabelSize, FloatingLabelState, FloatingLabelVariant, HeatmapData, IconColor, IconDefinition, IconManifestEntry, IconShapeColor, IconShapeSize, IconShapeType, IconSize, IconVariant, InputCounterSize, InputSize, InputState, JumbotronVariant, ModalPlacement, ModalSize, MonthCell, OlTreeNode, PaginationType, PaginationVariant, PopoverPlacement, ProgressColor, ProgressSize, RadarIndicator, RadioSize, ScatterDataPoint, ScatterSeries, SelectOption, SelectSize, SelectState, SpeedDialAction, SpeedDialColor, SpeedDialDirection, SpeedDialTrigger, SpeedDialType, StepState, StepperBreakpoint, StepperOrientation, StepperVariant, TabsSize, TabsVariant, TextareaState, TimeObject, TimepickerFormat, TimepickerSize, TimepickerState, Toast, ToastConfig, ToastPosition, ToastType, ToggleColor, ToggleSize, TooltipPlacement, TooltipTheme, TooltipTrigger, YearCell };
|
|
1573
2556
|
//# sourceMappingURL=edmicro-olkit.d.ts.map
|