@acontplus/ng-components 3.0.1 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/acontplus-ng-components.mjs +7326 -4620
- package/fesm2022/acontplus-ng-components.mjs.map +1 -1
- package/package.json +5 -2
- package/src/_index.scss +2 -0
- package/src/core/style/_breakpoints.scss +63 -0
- package/src/core/style/_variables.scss +9 -0
- package/src/core/theming/_all-theme.scss +16 -1
- package/src/core/theming/prebuilt/aqua.scss +1 -1
- package/src/core/theming/prebuilt/blue.scss +1 -1
- package/src/core/theming/prebuilt/cyan.scss +1 -1
- package/src/core/theming/prebuilt/green.scss +1 -1
- package/src/core/theming/prebuilt/orange.scss +1 -1
- package/src/core/theming/prebuilt/pink.scss +1 -1
- package/src/core/theming/prebuilt/purple.scss +1 -1
- package/src/core/theming/prebuilt/rose.scss +1 -1
- package/src/core/tokens/_global-variables.scss +53 -0
- package/src/lib/components/button/v2/button.scss +172 -12
- package/src/lib/components/card/card.scss +225 -0
- package/src/lib/components/context-menu/context-menu-panel.scss +283 -0
- package/src/lib/components/date-range-input/date-range-input.scss +4 -0
- package/src/lib/components/theme/header/header.scss +166 -0
- package/src/lib/components/theme/shell-layout/shell-layout.scss +237 -0
- package/src/lib/components/theme/sidebar/sidebar.scss +0 -0
- package/src/lib/components/theme/sidemenu/sidemenu.scss +169 -0
- package/src/lib/components/theme/topmenu/topmenu.scss +83 -0
- package/src/lib/components/theme/user-menu/user-menu.scss +194 -0
- package/src/lib/components/theme/user-panel/user-panel.scss +64 -0
- package/types/acontplus-ng-components.d.ts +1595 -37
- /package/src/lib/components/{theme-toggle → theme/theme-toggle}/theme-toggle.scss +0 -0
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { EventEmitter, TemplateRef,
|
|
2
|
+
import { EventEmitter, TemplateRef, InjectionToken, OnDestroy, OnInit, ElementRef, Type, AfterViewInit, Signal, ViewContainerRef, OnChanges, SimpleChanges, NgZone, QueryList, TrackByFunction, KeyValueChangeRecord, OutputEmitterRef, WritableSignal, ComponentRef, AfterContentInit, PipeTransform } from '@angular/core';
|
|
3
|
+
import * as rxjs from 'rxjs';
|
|
4
|
+
import { Observable, Subject } from 'rxjs';
|
|
3
5
|
import { MatDialogRef } from '@angular/material/dialog';
|
|
4
6
|
import { ScrollStrategy } from '@angular/cdk/overlay';
|
|
5
7
|
import { FormControl, ControlValueAccessor, FormGroup } from '@angular/forms';
|
|
@@ -16,8 +18,6 @@ import { MatBadgePosition, MatBadgeSize } from '@angular/material/badge';
|
|
|
16
18
|
import { MatButtonAppearance } from '@angular/material/button';
|
|
17
19
|
import { ThemePalette } from '@angular/material/core';
|
|
18
20
|
import { TooltipPosition, TooltipTouchGestures } from '@angular/material/tooltip';
|
|
19
|
-
import * as rxjs from 'rxjs';
|
|
20
|
-
import { Observable, Subject } from 'rxjs';
|
|
21
21
|
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
22
22
|
import { MatMenu, MatMenuTrigger } from '@angular/material/menu';
|
|
23
23
|
import { NgxDatexLocale, NgxDatexTheme, NgxDatexValue } from 'ngx-datex';
|
|
@@ -28,6 +28,8 @@ import { DialogRole, CdkDialogContainer, DialogRef } from '@angular/cdk/dialog';
|
|
|
28
28
|
import { DateRange, MatCalendar } from '@angular/material/datepicker';
|
|
29
29
|
import { MatCheckbox, MatCheckboxChange } from '@angular/material/checkbox';
|
|
30
30
|
import * as _acontplus_ng_components from '@acontplus/ng-components';
|
|
31
|
+
import { MatSidenav, MatSidenavContent } from '@angular/material/sidenav';
|
|
32
|
+
import { RouterLinkActive } from '@angular/router';
|
|
31
33
|
|
|
32
34
|
type AcpAlertType = 'default' | 'info' | 'success' | 'warning' | 'danger';
|
|
33
35
|
declare class AcpAlert {
|
|
@@ -241,6 +243,422 @@ declare class DynamicCard {
|
|
|
241
243
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicCard, "acp-dynamic-card", never, { "cardTitle": { "alias": "cardTitle"; "required": false; "isSignal": true; }; "cardSubtitle": { "alias": "cardSubtitle"; "required": false; "isSignal": true; }; "avatarImageUrl": { "alias": "avatarImageUrl"; "required": false; "isSignal": true; }; "isHeaderVisible": { "alias": "isHeaderVisible"; "required": false; "isSignal": true; }; "contentPadding": { "alias": "contentPadding"; "required": false; "isSignal": true; }; "hasDivider": { "alias": "hasDivider"; "required": false; "isSignal": true; }; "areActionsVisible": { "alias": "areActionsVisible"; "required": false; "isSignal": true; }; "primaryButtonText": { "alias": "primaryButtonText"; "required": false; "isSignal": true; }; "secondaryButtonText": { "alias": "secondaryButtonText"; "required": false; "isSignal": true; }; "primaryButtonIcon": { "alias": "primaryButtonIcon"; "required": false; "isSignal": true; }; "secondaryButtonIcon": { "alias": "secondaryButtonIcon"; "required": false; "isSignal": true; }; "buttonsPosition": { "alias": "buttonsPosition"; "required": false; "isSignal": true; }; }, { "primaryButtonClicked": "primaryButtonClicked"; "secondaryButtonClicked": "secondaryButtonClicked"; "cardClicked": "cardClicked"; "keyDown": "keyDown"; "keyUp": "keyUp"; "keyPress": "keyPress"; }, never, ["*"], true, never>;
|
|
242
244
|
}
|
|
243
245
|
|
|
246
|
+
/**
|
|
247
|
+
* Context Menu Types and Interfaces
|
|
248
|
+
* Defines the API contract for the ContextMenu component
|
|
249
|
+
*/
|
|
250
|
+
/**
|
|
251
|
+
* Represents a single item in the context menu
|
|
252
|
+
*/
|
|
253
|
+
interface AcpContextMenuItem {
|
|
254
|
+
/** Unique identifier for the menu item */
|
|
255
|
+
id?: string;
|
|
256
|
+
/** Display label for the menu item (not required for separators) */
|
|
257
|
+
label?: string;
|
|
258
|
+
/** Material Icon name or SVG icon identifier */
|
|
259
|
+
icon?: string;
|
|
260
|
+
/** Badge text or number to display */
|
|
261
|
+
badge?: string | number;
|
|
262
|
+
/** Keyboard shortcut text to display (e.g., 'Ctrl+S') */
|
|
263
|
+
shortcut?: string;
|
|
264
|
+
/** Whether the menu item is disabled */
|
|
265
|
+
disabled?: boolean;
|
|
266
|
+
/** Whether the menu item is visible */
|
|
267
|
+
visible?: boolean;
|
|
268
|
+
/** Whether this is a separator line (ignores other properties) */
|
|
269
|
+
separator?: boolean;
|
|
270
|
+
/** Nested menu items for submenu support */
|
|
271
|
+
children?: AcpContextMenuItem[];
|
|
272
|
+
/** Callback function when item is clicked */
|
|
273
|
+
command?: (context: AcpContextMenuItemContext) => void;
|
|
274
|
+
/** Router link for navigation */
|
|
275
|
+
routerLink?: any;
|
|
276
|
+
/** External URL to navigate to */
|
|
277
|
+
url?: string;
|
|
278
|
+
/** Target for URL navigation (_blank, _self, etc) */
|
|
279
|
+
target?: string;
|
|
280
|
+
/** Whether this is a dangerous action (e.g., delete) */
|
|
281
|
+
danger?: boolean;
|
|
282
|
+
/** Whether the item is in loading state */
|
|
283
|
+
loading?: boolean;
|
|
284
|
+
/** Tooltip text for the menu item */
|
|
285
|
+
tooltip?: string;
|
|
286
|
+
/** Custom data associated with the menu item */
|
|
287
|
+
data?: unknown;
|
|
288
|
+
/** CSS class to apply to the menu item */
|
|
289
|
+
class?: string;
|
|
290
|
+
/** Whether to close menu after executing command */
|
|
291
|
+
closeOnClick?: boolean;
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Context passed to the command callback
|
|
295
|
+
*/
|
|
296
|
+
interface AcpContextMenuItemContext {
|
|
297
|
+
/** The menu item that was clicked */
|
|
298
|
+
item: AcpContextMenuItem;
|
|
299
|
+
/** The event that triggered the action */
|
|
300
|
+
event: MouseEvent | KeyboardEvent;
|
|
301
|
+
/** The element that triggered the context menu */
|
|
302
|
+
element?: HTMLElement;
|
|
303
|
+
/** Custom data passed to the context menu */
|
|
304
|
+
data?: unknown;
|
|
305
|
+
/** Row data (for DataGrid integration) */
|
|
306
|
+
row?: unknown;
|
|
307
|
+
/** Column data (for DataGrid integration) */
|
|
308
|
+
column?: unknown;
|
|
309
|
+
/** Row index (for DataGrid integration) */
|
|
310
|
+
index?: number;
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Configuration for opening a context menu
|
|
314
|
+
*/
|
|
315
|
+
interface AcpContextMenuOpenConfig {
|
|
316
|
+
/** X coordinate for menu position */
|
|
317
|
+
x: number;
|
|
318
|
+
/** Y coordinate for menu position */
|
|
319
|
+
y: number;
|
|
320
|
+
/** Element to position relative to (if not using x/y) */
|
|
321
|
+
element?: HTMLElement;
|
|
322
|
+
/** Custom data to pass to menu items */
|
|
323
|
+
data?: unknown;
|
|
324
|
+
/** Close menu when clicking outside */
|
|
325
|
+
closeOnOutsideClick?: boolean;
|
|
326
|
+
/** Close menu when pressing Escape */
|
|
327
|
+
closeOnEscape?: boolean;
|
|
328
|
+
/** Custom CSS classes for the menu panel */
|
|
329
|
+
panelClass?: string | string[];
|
|
330
|
+
/** Z-index for the menu overlay */
|
|
331
|
+
zIndex?: number;
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* Configuration for the context menu trigger
|
|
335
|
+
*/
|
|
336
|
+
interface AcpContextMenuTriggerConfig {
|
|
337
|
+
/** Trigger on right-click (contextmenu event) */
|
|
338
|
+
rightClick?: boolean;
|
|
339
|
+
/** Trigger on left-click */
|
|
340
|
+
leftClick?: boolean;
|
|
341
|
+
/** Trigger on hover */
|
|
342
|
+
hover?: boolean;
|
|
343
|
+
/** Delay before opening on hover (ms) */
|
|
344
|
+
hoverDelay?: number;
|
|
345
|
+
/** Delay before closing on hover leave (ms) */
|
|
346
|
+
hoverLeaveDelay?: number;
|
|
347
|
+
/** Custom data to pass to menu items */
|
|
348
|
+
data?: unknown;
|
|
349
|
+
/** Close menu when clicking outside */
|
|
350
|
+
closeOnOutsideClick?: boolean;
|
|
351
|
+
/** Close menu when pressing Escape */
|
|
352
|
+
closeOnEscape?: boolean;
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Position strategy for the context menu
|
|
356
|
+
*/
|
|
357
|
+
type AcpContextMenuPosition = 'auto' | 'above' | 'below' | 'left' | 'right';
|
|
358
|
+
/**
|
|
359
|
+
* Reference to an open context menu
|
|
360
|
+
*/
|
|
361
|
+
interface AcpContextMenuRef {
|
|
362
|
+
/** Close the context menu */
|
|
363
|
+
close(): void;
|
|
364
|
+
/** Update menu items */
|
|
365
|
+
updateItems(items: AcpContextMenuItem[]): void;
|
|
366
|
+
/** Get current menu items */
|
|
367
|
+
getItems(): AcpContextMenuItem[];
|
|
368
|
+
/** Update context data */
|
|
369
|
+
updateData(data: unknown): void;
|
|
370
|
+
/** Get current context data */
|
|
371
|
+
getData(): unknown;
|
|
372
|
+
/** Check if menu is open */
|
|
373
|
+
isOpen(): boolean;
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
declare const CONTEXT_MENU_ITEMS: InjectionToken<AcpContextMenuItem[]>;
|
|
377
|
+
declare const CONTEXT_MENU_DATA: InjectionToken<unknown>;
|
|
378
|
+
/**
|
|
379
|
+
* Service to manage context menu instances
|
|
380
|
+
* Handles overlay creation, positioning, and lifecycle management
|
|
381
|
+
*/
|
|
382
|
+
declare class AcpContextMenuService {
|
|
383
|
+
private readonly overlay;
|
|
384
|
+
private readonly ngZone;
|
|
385
|
+
private readonly document;
|
|
386
|
+
private readonly injector;
|
|
387
|
+
private readonly openMenuRef;
|
|
388
|
+
private readonly menuItems;
|
|
389
|
+
private readonly contextData;
|
|
390
|
+
private readonly itemSelected$;
|
|
391
|
+
constructor();
|
|
392
|
+
/**
|
|
393
|
+
* Open a context menu at the specified position
|
|
394
|
+
*/
|
|
395
|
+
open(items: AcpContextMenuItem[], config: AcpContextMenuOpenConfig): Promise<AcpContextMenuRef>;
|
|
396
|
+
/**
|
|
397
|
+
* Close all open context menus
|
|
398
|
+
*/
|
|
399
|
+
closeAll(): void;
|
|
400
|
+
/**
|
|
401
|
+
* Check if any menu is open
|
|
402
|
+
*/
|
|
403
|
+
isOpen(): boolean;
|
|
404
|
+
/**
|
|
405
|
+
* Get the item selection subject
|
|
406
|
+
*/
|
|
407
|
+
getItemSelected$(): rxjs.Observable<AcpContextMenuItemContext>;
|
|
408
|
+
/**
|
|
409
|
+
* Emit item selection
|
|
410
|
+
*/
|
|
411
|
+
selectItem(context: AcpContextMenuItemContext): void;
|
|
412
|
+
/**
|
|
413
|
+
* Create overlay reference with position strategy
|
|
414
|
+
*/
|
|
415
|
+
private createOverlay;
|
|
416
|
+
/**
|
|
417
|
+
* Create position strategy for the overlay
|
|
418
|
+
*/
|
|
419
|
+
private createPositionStrategy;
|
|
420
|
+
/**
|
|
421
|
+
* Create injector for the menu component
|
|
422
|
+
*/
|
|
423
|
+
private createInjector;
|
|
424
|
+
/**
|
|
425
|
+
* Create menu reference object
|
|
426
|
+
*/
|
|
427
|
+
private createMenuRef;
|
|
428
|
+
/**
|
|
429
|
+
* Setup handler for closing menu on outside click
|
|
430
|
+
*/
|
|
431
|
+
private setupOutsideClickHandler;
|
|
432
|
+
/**
|
|
433
|
+
* Check if click is inside the menu
|
|
434
|
+
*/
|
|
435
|
+
private isClickInsideMenu;
|
|
436
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpContextMenuService, never>;
|
|
437
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AcpContextMenuService>;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
/**
|
|
441
|
+
* Directive to attach a context menu to any element
|
|
442
|
+
*
|
|
443
|
+
* @example
|
|
444
|
+
* ```html
|
|
445
|
+
* <div [acpContextMenu]="menuItems" [contextMenuData]="row">
|
|
446
|
+
* Right-click me
|
|
447
|
+
* </div>
|
|
448
|
+
* ```
|
|
449
|
+
*
|
|
450
|
+
* @example
|
|
451
|
+
* ```html
|
|
452
|
+
* <div
|
|
453
|
+
* [acpContextMenu]="items"
|
|
454
|
+
* [contextMenuTrigger]="{ leftClick: true }"
|
|
455
|
+
* (contextMenuItemSelected)="onItemSelected($event)">
|
|
456
|
+
* Left-click me
|
|
457
|
+
* </div>
|
|
458
|
+
* ```
|
|
459
|
+
*/
|
|
460
|
+
declare class AcpContextMenuDirective implements OnDestroy {
|
|
461
|
+
private readonly elementRef;
|
|
462
|
+
private readonly contextMenuService;
|
|
463
|
+
private destroy$;
|
|
464
|
+
private menuRef;
|
|
465
|
+
private hoverTimeout;
|
|
466
|
+
/** Menu items to display */
|
|
467
|
+
acpContextMenu: AcpContextMenuItem[];
|
|
468
|
+
/** Custom data to pass to menu items */
|
|
469
|
+
contextMenuData?: unknown;
|
|
470
|
+
/** Trigger configuration */
|
|
471
|
+
contextMenuTrigger: AcpContextMenuTriggerConfig;
|
|
472
|
+
/** Emitted when a menu item is selected */
|
|
473
|
+
contextMenuItemSelected: EventEmitter<AcpContextMenuItemContext>;
|
|
474
|
+
/** Emitted when menu is opened */
|
|
475
|
+
contextMenuOpened: EventEmitter<AcpContextMenuRef>;
|
|
476
|
+
/** Emitted when menu is closed */
|
|
477
|
+
contextMenuClosed: EventEmitter<void>;
|
|
478
|
+
constructor();
|
|
479
|
+
ngOnDestroy(): void;
|
|
480
|
+
/**
|
|
481
|
+
* Handle right-click
|
|
482
|
+
*/
|
|
483
|
+
onContextMenu(event: MouseEvent): void;
|
|
484
|
+
/**
|
|
485
|
+
* Handle left-click
|
|
486
|
+
*/
|
|
487
|
+
onClick(event: MouseEvent): void;
|
|
488
|
+
/**
|
|
489
|
+
* Handle mouse enter for hover trigger
|
|
490
|
+
*/
|
|
491
|
+
onMouseEnter(): void;
|
|
492
|
+
/**
|
|
493
|
+
* Handle mouse leave for hover trigger
|
|
494
|
+
*/
|
|
495
|
+
onMouseLeave(): void;
|
|
496
|
+
/**
|
|
497
|
+
* Open the context menu
|
|
498
|
+
*/
|
|
499
|
+
openMenu(x: number, y: number, _event: MouseEvent | KeyboardEvent, rowData?: unknown): void;
|
|
500
|
+
/**
|
|
501
|
+
* Close the context menu
|
|
502
|
+
*/
|
|
503
|
+
closeMenu(): void;
|
|
504
|
+
/**
|
|
505
|
+
* Update menu items
|
|
506
|
+
*/
|
|
507
|
+
updateItems(items: AcpContextMenuItem[]): void;
|
|
508
|
+
/**
|
|
509
|
+
* Update context data
|
|
510
|
+
*/
|
|
511
|
+
updateData(data: unknown): void;
|
|
512
|
+
/**
|
|
513
|
+
* Check if menu is open
|
|
514
|
+
*/
|
|
515
|
+
isOpen(): boolean;
|
|
516
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpContextMenuDirective, never>;
|
|
517
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AcpContextMenuDirective, "[acpContextMenu]", ["acpContextMenu"], { "acpContextMenu": { "alias": "acpContextMenu"; "required": false; }; "contextMenuData": { "alias": "contextMenuData"; "required": false; }; "contextMenuTrigger": { "alias": "contextMenuTrigger"; "required": false; }; }, { "contextMenuItemSelected": "contextMenuItemSelected"; "contextMenuOpened": "contextMenuOpened"; "contextMenuClosed": "contextMenuClosed"; }, never, never, true, never>;
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
/**
|
|
521
|
+
* Internal component that renders the context menu panel
|
|
522
|
+
* Not meant to be used directly - use ContextMenuService or ngContextMenu directive
|
|
523
|
+
*/
|
|
524
|
+
declare class AcpContextMenuPanel implements OnInit, OnDestroy {
|
|
525
|
+
private readonly contextMenuService;
|
|
526
|
+
private readonly ngZone;
|
|
527
|
+
private readonly elementRef;
|
|
528
|
+
menuContainer?: ElementRef;
|
|
529
|
+
items: _angular_core.WritableSignal<AcpContextMenuItem[]>;
|
|
530
|
+
contextData: _angular_core.WritableSignal<unknown>;
|
|
531
|
+
selectedIndex: _angular_core.WritableSignal<number>;
|
|
532
|
+
expandedIndex: _angular_core.WritableSignal<number>;
|
|
533
|
+
private destroy$;
|
|
534
|
+
visibleItems: _angular_core.Signal<AcpContextMenuItem[]>;
|
|
535
|
+
ngOnInit(): void;
|
|
536
|
+
ngOnDestroy(): void;
|
|
537
|
+
/**
|
|
538
|
+
* Handle keyboard navigation
|
|
539
|
+
*/
|
|
540
|
+
onKeyDown(event: KeyboardEvent): void;
|
|
541
|
+
/**
|
|
542
|
+
* Handle item click
|
|
543
|
+
*/
|
|
544
|
+
onItemClick(item: AcpContextMenuItem, event: MouseEvent): void;
|
|
545
|
+
/**
|
|
546
|
+
* Handle item hover
|
|
547
|
+
*/
|
|
548
|
+
onItemHover(index: number): void;
|
|
549
|
+
/**
|
|
550
|
+
* Check if item has children
|
|
551
|
+
*/
|
|
552
|
+
hasChildren(item: AcpContextMenuItem): boolean;
|
|
553
|
+
/**
|
|
554
|
+
* Get item classes
|
|
555
|
+
*/
|
|
556
|
+
getItemClasses(item: AcpContextMenuItem, index: number): Record<string, boolean>;
|
|
557
|
+
/**
|
|
558
|
+
* Select next item
|
|
559
|
+
*/
|
|
560
|
+
private selectNext;
|
|
561
|
+
/**
|
|
562
|
+
* Select previous item
|
|
563
|
+
*/
|
|
564
|
+
private selectPrevious;
|
|
565
|
+
/**
|
|
566
|
+
* Select first item
|
|
567
|
+
*/
|
|
568
|
+
private selectFirst;
|
|
569
|
+
/**
|
|
570
|
+
* Select last item
|
|
571
|
+
*/
|
|
572
|
+
private selectLast;
|
|
573
|
+
/**
|
|
574
|
+
* Expand selected item
|
|
575
|
+
*/
|
|
576
|
+
private expandSelected;
|
|
577
|
+
/**
|
|
578
|
+
* Collapse selected item
|
|
579
|
+
*/
|
|
580
|
+
private collapseSelected;
|
|
581
|
+
/**
|
|
582
|
+
* Activate selected item
|
|
583
|
+
*/
|
|
584
|
+
private activateSelected;
|
|
585
|
+
/**
|
|
586
|
+
* Track by function for items
|
|
587
|
+
*/
|
|
588
|
+
trackByIndex(index: number): number;
|
|
589
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpContextMenuPanel, never>;
|
|
590
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpContextMenuPanel, "acp-context-menu-panel", never, {}, {}, never, never, true, never>;
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
/**
|
|
594
|
+
* Declarative context menu component
|
|
595
|
+
*
|
|
596
|
+
* @example
|
|
597
|
+
* ```html
|
|
598
|
+
* <div #trigger>Right-click here</div>
|
|
599
|
+
* <acp-contextmenu #cm [model]="items" [target]="trigger" (onHide)="onHide()" />
|
|
600
|
+
*
|
|
601
|
+
* <button (click)="showMenu(event)">Show Menu</button>
|
|
602
|
+
* ```
|
|
603
|
+
*
|
|
604
|
+
* @example
|
|
605
|
+
* ```html
|
|
606
|
+
* <acp-contextmenu #cm [model]="items" (onHide)="onHide()" />
|
|
607
|
+
*
|
|
608
|
+
* <button (contextmenu)="onContextMenu($event)">Right-click</button>
|
|
609
|
+
* ```
|
|
610
|
+
*/
|
|
611
|
+
declare class AcpContextMenu implements OnDestroy {
|
|
612
|
+
private readonly contextMenuService;
|
|
613
|
+
private destroy$;
|
|
614
|
+
private menuRef;
|
|
615
|
+
/** Menu items to display */
|
|
616
|
+
readonly model: _angular_core.InputSignal<AcpContextMenuItem[]>;
|
|
617
|
+
/** Target element to attach the context menu to */
|
|
618
|
+
readonly target: _angular_core.InputSignal<HTMLElement | undefined>;
|
|
619
|
+
/** Emitted when menu is hidden/closed */
|
|
620
|
+
readonly hide: _angular_core.OutputEmitterRef<void>;
|
|
621
|
+
/** Emitted when a menu item is selected */
|
|
622
|
+
readonly itemSelected: _angular_core.OutputEmitterRef<AcpContextMenuItemContext>;
|
|
623
|
+
constructor();
|
|
624
|
+
ngOnDestroy(): void;
|
|
625
|
+
/**
|
|
626
|
+
* Show the context menu at the specified position
|
|
627
|
+
*
|
|
628
|
+
* @param event - Mouse event or custom event with clientX/clientY
|
|
629
|
+
* @param data - Optional data to pass to menu items (e.g., row data)
|
|
630
|
+
*/
|
|
631
|
+
show(event: MouseEvent | {
|
|
632
|
+
clientX: number;
|
|
633
|
+
clientY: number;
|
|
634
|
+
}, data?: unknown): void;
|
|
635
|
+
/**
|
|
636
|
+
* Show the context menu positioned relative to an element
|
|
637
|
+
*
|
|
638
|
+
* @param element - Element to position the menu relative to
|
|
639
|
+
* @param data - Optional data to pass to menu items
|
|
640
|
+
*/
|
|
641
|
+
showForElement(element: HTMLElement, data?: unknown): void;
|
|
642
|
+
/**
|
|
643
|
+
* Close the context menu
|
|
644
|
+
*/
|
|
645
|
+
close(): void;
|
|
646
|
+
/**
|
|
647
|
+
* Check if the menu is currently open
|
|
648
|
+
*/
|
|
649
|
+
isOpen(): boolean;
|
|
650
|
+
/**
|
|
651
|
+
* Update the menu items
|
|
652
|
+
*/
|
|
653
|
+
updateItems(items: AcpContextMenuItem[]): void;
|
|
654
|
+
/**
|
|
655
|
+
* Update the context data
|
|
656
|
+
*/
|
|
657
|
+
updateData(data: unknown): void;
|
|
658
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpContextMenu, never>;
|
|
659
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpContextMenu, "acp-contextmenu", ["acpContextMenu"], { "model": { "alias": "model"; "required": true; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; }, { "hide": "hide"; "itemSelected": "itemSelected"; }, never, never, true, never>;
|
|
660
|
+
}
|
|
661
|
+
|
|
244
662
|
type DialogSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'full';
|
|
245
663
|
/**
|
|
246
664
|
* @interface MatCustomDialogConfig
|
|
@@ -498,7 +916,7 @@ declare class DynamicSelect implements OnInit, OnDestroy {
|
|
|
498
916
|
clearable: _angular_core.InputSignal<boolean>;
|
|
499
917
|
searchable: _angular_core.InputSignal<boolean>;
|
|
500
918
|
virtualScroll: _angular_core.InputSignal<boolean>;
|
|
501
|
-
dropdownPosition: _angular_core.InputSignal<"auto" | "
|
|
919
|
+
dropdownPosition: _angular_core.InputSignal<"auto" | "top" | "bottom">;
|
|
502
920
|
closeOnSelect: _angular_core.InputSignal<boolean>;
|
|
503
921
|
hideSelected: _angular_core.InputSignal<boolean>;
|
|
504
922
|
multiple: _angular_core.InputSignal<boolean>;
|
|
@@ -725,12 +1143,16 @@ declare abstract class BaseButton {
|
|
|
725
1143
|
icon: _angular_core.InputSignal<string | undefined>;
|
|
726
1144
|
suffixIcon: _angular_core.InputSignal<string | undefined>;
|
|
727
1145
|
loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1146
|
+
showProgress: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1147
|
+
progressType: _angular_core.InputSignal<"text" | "spinner">;
|
|
1148
|
+
progressText: _angular_core.InputSignal<string>;
|
|
728
1149
|
disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
729
1150
|
disableRipple: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
730
1151
|
variant: _angular_core.InputSignal<AcpButtonVariant>;
|
|
731
1152
|
appearance: _angular_core.InputSignal<AcpButtonAppearance>;
|
|
732
1153
|
type: _angular_core.InputSignal<AcpButtonType>;
|
|
733
1154
|
extended: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1155
|
+
block: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
734
1156
|
size: _angular_core.InputSignal<"small" | "medium" | "large">;
|
|
735
1157
|
text: _angular_core.InputSignal<string | undefined>;
|
|
736
1158
|
hasText: _angular_core.Signal<boolean>;
|
|
@@ -740,10 +1162,11 @@ declare abstract class BaseButton {
|
|
|
740
1162
|
colorClass: _angular_core.Signal<string>;
|
|
741
1163
|
sizeClass: _angular_core.Signal<string>;
|
|
742
1164
|
squareClass: _angular_core.Signal<"" | "acp-square">;
|
|
1165
|
+
blockClass: _angular_core.Signal<"" | "acp-block">;
|
|
743
1166
|
isDisabled: _angular_core.Signal<boolean>;
|
|
744
1167
|
pointerEvents: _angular_core.Signal<"none" | "auto">;
|
|
745
1168
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BaseButton, never>;
|
|
746
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BaseButton, never, never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "square": { "alias": "square"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "suffixIcon": { "alias": "suffixIcon"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "disableRipple": { "alias": "disableRipple"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "extended": { "alias": "extended"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; "focused": "focused"; "blurred": "blurred"; }, never, never, true, never>;
|
|
1169
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BaseButton, never, never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "square": { "alias": "square"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "suffixIcon": { "alias": "suffixIcon"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "showProgress": { "alias": "showProgress"; "required": false; "isSignal": true; }; "progressType": { "alias": "progressType"; "required": false; "isSignal": true; }; "progressText": { "alias": "progressText"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "disableRipple": { "alias": "disableRipple"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "extended": { "alias": "extended"; "required": false; "isSignal": true; }; "block": { "alias": "block"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; "focused": "focused"; "blurred": "blurred"; }, never, never, true, never>;
|
|
747
1170
|
}
|
|
748
1171
|
|
|
749
1172
|
declare class AcpButton extends BaseButton {
|
|
@@ -907,7 +1330,7 @@ interface DataGridColumnButton<T = any> {
|
|
|
907
1330
|
color?: ThemePalette;
|
|
908
1331
|
class?: string;
|
|
909
1332
|
disabled?: boolean | ((rowData: T) => boolean);
|
|
910
|
-
click?: (rowData: T) => void;
|
|
1333
|
+
click?: (rowData: T, event: Event) => void;
|
|
911
1334
|
iif?: (rowData: T) => boolean;
|
|
912
1335
|
pop?: string | Observable<string> | DataGridColumnButtonPop;
|
|
913
1336
|
tooltip?: string | Observable<string> | DataGridColumnButtonTooltip;
|
|
@@ -1006,7 +1429,7 @@ interface DataGridMenuItem<T = any> {
|
|
|
1006
1429
|
svgIcon?: string;
|
|
1007
1430
|
class?: string;
|
|
1008
1431
|
disabled?: boolean | ((rowData: T) => boolean);
|
|
1009
|
-
click?: (rowData: T) => void;
|
|
1432
|
+
click?: (rowData: T, event: Event) => void;
|
|
1010
1433
|
iif?: (rowData: T) => boolean;
|
|
1011
1434
|
children?: DataGridMenuItem[];
|
|
1012
1435
|
}
|
|
@@ -1055,34 +1478,6 @@ declare class TabulatorTable implements OnChanges, AfterViewInit, OnDestroy {
|
|
|
1055
1478
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabulatorTable, "acp-tabulator-table", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "dataTree": { "alias": "dataTree"; "required": false; "isSignal": true; }; "dataTreeChildField": { "alias": "dataTreeChildField"; "required": false; "isSignal": true; }; "dataTreeStartExpanded": { "alias": "dataTreeStartExpanded"; "required": false; "isSignal": true; }; "dataTreeSelectPropagate": { "alias": "dataTreeSelectPropagate"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "reactiveData": { "alias": "reactiveData"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "autoResize": { "alias": "autoResize"; "required": false; "isSignal": true; }; "selectableRows": { "alias": "selectableRows"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "customClass": { "alias": "customClass"; "required": false; "isSignal": true; }; "rowFormatter": { "alias": "rowFormatter"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; }, { "rowDeleted": "rowDeleted"; "cellEdited": "cellEdited"; "rowClick": "rowClick"; "rowSelected": "rowSelected"; "tableReady": "tableReady"; }, never, never, true, never>;
|
|
1056
1479
|
}
|
|
1057
1480
|
|
|
1058
|
-
/**
|
|
1059
|
-
* A theme toggle button component that allows users to switch between
|
|
1060
|
-
* light and dark modes. Follows WAI-ARIA best practices for toggle buttons.
|
|
1061
|
-
*/
|
|
1062
|
-
declare class ThemeToggle {
|
|
1063
|
-
private readonly themeSwitcher;
|
|
1064
|
-
/** Icon to display when in dark mode (clicking will switch to light) */
|
|
1065
|
-
readonly lightModeIcon: _angular_core.InputSignal<string>;
|
|
1066
|
-
/** Icon to display when in light mode (clicking will switch to dark) */
|
|
1067
|
-
readonly darkModeIcon: _angular_core.InputSignal<string>;
|
|
1068
|
-
/** Accessible label for when in dark mode */
|
|
1069
|
-
readonly lightModeLabel: _angular_core.InputSignal<string>;
|
|
1070
|
-
/** Accessible label for when in light mode */
|
|
1071
|
-
readonly darkModeLabel: _angular_core.InputSignal<string>;
|
|
1072
|
-
/** Test ID for automated testing */
|
|
1073
|
-
readonly testId: _angular_core.InputSignal<string>;
|
|
1074
|
-
/** Current dark mode state as a signal */
|
|
1075
|
-
protected readonly isDarkMode: _angular_core.Signal<boolean>;
|
|
1076
|
-
/** Computed icon based on current theme */
|
|
1077
|
-
protected readonly currentIcon: _angular_core.Signal<string>;
|
|
1078
|
-
/** Computed accessible label based on current theme */
|
|
1079
|
-
protected readonly currentLabel: _angular_core.Signal<string>;
|
|
1080
|
-
/** Toggle between dark and light mode */
|
|
1081
|
-
toggleDarkMode(): void;
|
|
1082
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ThemeToggle, never>;
|
|
1083
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ThemeToggle, "acp-theme-toggle", never, { "lightModeIcon": { "alias": "lightModeIcon"; "required": false; "isSignal": true; }; "darkModeIcon": { "alias": "darkModeIcon"; "required": false; "isSignal": true; }; "lightModeLabel": { "alias": "lightModeLabel"; "required": false; "isSignal": true; }; "darkModeLabel": { "alias": "darkModeLabel"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1084
|
-
}
|
|
1085
|
-
|
|
1086
1481
|
declare class AcpGridSelectableCell {
|
|
1087
1482
|
ctrlKeyPressed: boolean;
|
|
1088
1483
|
shiftKeyPressed: boolean;
|
|
@@ -3016,6 +3411,100 @@ declare class AcpCheckboxGroup implements AfterViewInit, OnDestroy, ControlValue
|
|
|
3016
3411
|
static ngAcceptInputType_disabled: unknown;
|
|
3017
3412
|
}
|
|
3018
3413
|
|
|
3414
|
+
/**
|
|
3415
|
+
* Card appearance variants
|
|
3416
|
+
*/
|
|
3417
|
+
type AcpCardAppearance = 'default' | 'outlined' | 'elevated' | 'filled' | 'interactive' | 'compact';
|
|
3418
|
+
/**
|
|
3419
|
+
* Card elevation levels (Material Design)
|
|
3420
|
+
*/
|
|
3421
|
+
type AcpCardElevation = 0 | 1 | 2 | 3 | 4 | 5;
|
|
3422
|
+
/**
|
|
3423
|
+
* Card padding options
|
|
3424
|
+
*/
|
|
3425
|
+
type AcpCardPadding = 'none' | 'small' | 'medium' | 'large';
|
|
3426
|
+
/**
|
|
3427
|
+
* Card background color variants (Material Design)
|
|
3428
|
+
*/
|
|
3429
|
+
type AcpCardBackgroundColor = 'primary' | 'primary-container' | 'secondary' | 'secondary-container' | 'error' | 'error-container' | 'surface' | 'surface-variant' | 'surface-container-highest' | 'surface-container-high' | 'surface-container' | 'surface-container-low' | 'surface-container-lowest' | 'inverse-surface' | 'disabled-bg';
|
|
3430
|
+
/**
|
|
3431
|
+
* Card image aspect ratio
|
|
3432
|
+
*/
|
|
3433
|
+
type AcpCardImageRatio = '1:1' | '4:3' | '16:9' | '21:9' | '3:2' | '3:4';
|
|
3434
|
+
/**
|
|
3435
|
+
* Card configuration interface
|
|
3436
|
+
*/
|
|
3437
|
+
interface AcpCardConfig {
|
|
3438
|
+
appearance?: AcpCardAppearance;
|
|
3439
|
+
elevation?: AcpCardElevation;
|
|
3440
|
+
rounded?: boolean | number;
|
|
3441
|
+
hover?: boolean;
|
|
3442
|
+
clickable?: boolean;
|
|
3443
|
+
outlined?: boolean;
|
|
3444
|
+
loading?: boolean;
|
|
3445
|
+
disabled?: boolean;
|
|
3446
|
+
padding?: AcpCardPadding;
|
|
3447
|
+
imageRatio?: AcpCardImageRatio;
|
|
3448
|
+
fullHeight?: boolean;
|
|
3449
|
+
fullWidth?: boolean;
|
|
3450
|
+
}
|
|
3451
|
+
/**
|
|
3452
|
+
* Card badge configuration
|
|
3453
|
+
*/
|
|
3454
|
+
interface AcpCardBadge {
|
|
3455
|
+
content: string | number;
|
|
3456
|
+
color?: 'primary' | 'secondary' | 'accent' | 'error' | 'success' | 'warning' | 'info';
|
|
3457
|
+
position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
3458
|
+
}
|
|
3459
|
+
/**
|
|
3460
|
+
* Pass Through options for card sections
|
|
3461
|
+
* Allows customization of classes, styles, and attributes for each section
|
|
3462
|
+
*/
|
|
3463
|
+
interface AcpCardPassThroughSection {
|
|
3464
|
+
class?: string | string[] | Record<string, boolean>;
|
|
3465
|
+
style?: Record<string, string>;
|
|
3466
|
+
[key: string]: any;
|
|
3467
|
+
}
|
|
3468
|
+
interface AcpCardPassThroughOptions {
|
|
3469
|
+
root?: AcpCardPassThroughSection | undefined;
|
|
3470
|
+
header?: AcpCardPassThroughSection | undefined;
|
|
3471
|
+
media?: AcpCardPassThroughSection | undefined;
|
|
3472
|
+
avatar?: AcpCardPassThroughSection | undefined;
|
|
3473
|
+
title?: AcpCardPassThroughSection | undefined;
|
|
3474
|
+
subtitle?: AcpCardPassThroughSection | undefined;
|
|
3475
|
+
content?: AcpCardPassThroughSection | undefined;
|
|
3476
|
+
actions?: AcpCardPassThroughSection | undefined;
|
|
3477
|
+
footer?: AcpCardPassThroughSection | undefined;
|
|
3478
|
+
}
|
|
3479
|
+
|
|
3480
|
+
declare class AcpCard {
|
|
3481
|
+
readonly appearance: _angular_core.InputSignal<AcpCardAppearance>;
|
|
3482
|
+
readonly elevation: _angular_core.InputSignal<AcpCardElevation>;
|
|
3483
|
+
readonly rounded: _angular_core.InputSignal<number | boolean>;
|
|
3484
|
+
readonly hover: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3485
|
+
readonly clickable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3486
|
+
readonly outlined: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3487
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3488
|
+
readonly padding: _angular_core.InputSignal<AcpCardPadding>;
|
|
3489
|
+
readonly imageRatio: _angular_core.InputSignal<AcpCardImageRatio>;
|
|
3490
|
+
readonly fullHeight: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3491
|
+
readonly fullWidth: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3492
|
+
readonly backgroundColor: _angular_core.InputSignal<AcpCardBackgroundColor | undefined>;
|
|
3493
|
+
readonly passThrough: _angular_core.InputSignal<AcpCardPassThroughOptions>;
|
|
3494
|
+
headerTemplate: TemplateRef<any>;
|
|
3495
|
+
mediaTemplate: TemplateRef<any>;
|
|
3496
|
+
avatarTemplate: TemplateRef<any>;
|
|
3497
|
+
titleTemplate: TemplateRef<any>;
|
|
3498
|
+
subtitleTemplate: TemplateRef<any>;
|
|
3499
|
+
actionsTemplate: TemplateRef<any>;
|
|
3500
|
+
footerTemplate: TemplateRef<any>;
|
|
3501
|
+
get role(): string;
|
|
3502
|
+
get tabindex(): string | null;
|
|
3503
|
+
get ariaDisabled(): string | null;
|
|
3504
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpCard, never>;
|
|
3505
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpCard, "acp-card", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "elevation": { "alias": "elevation"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "hover": { "alias": "hover"; "required": false; "isSignal": true; }; "clickable": { "alias": "clickable"; "required": false; "isSignal": true; }; "outlined": { "alias": "outlined"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "padding": { "alias": "padding"; "required": false; "isSignal": true; }; "imageRatio": { "alias": "imageRatio"; "required": false; "isSignal": true; }; "fullHeight": { "alias": "fullHeight"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; "isSignal": true; }; "passThrough": { "alias": "passThrough"; "required": false; "isSignal": true; }; }, {}, ["headerTemplate", "mediaTemplate", "avatarTemplate", "titleTemplate", "subtitleTemplate", "actionsTemplate", "footerTemplate"], ["*"], true, never>;
|
|
3506
|
+
}
|
|
3507
|
+
|
|
3019
3508
|
type AcpKpiCardColor = 'primary' | 'secondary' | 'success' | 'success-light' | 'warning' | 'warning-light' | 'error' | 'error-light' | 'info' | 'info-light' | 'neutral' | 'white' | 'custom';
|
|
3020
3509
|
type AcpKpiCardVariant = 'default' | 'elevated' | 'outlined' | 'filled' | 'tonal';
|
|
3021
3510
|
type AcpKpiCardSize = 'xs' | 'sm' | 'md' | 'lg';
|
|
@@ -3118,6 +3607,1075 @@ declare const KPI_CARD_TOKENS: {
|
|
|
3118
3607
|
TREND_NONE: string;
|
|
3119
3608
|
};
|
|
3120
3609
|
|
|
3610
|
+
declare class Branding {
|
|
3611
|
+
readonly logo: _angular_core.InputSignal<string | null>;
|
|
3612
|
+
readonly name: _angular_core.InputSignal<string | null>;
|
|
3613
|
+
readonly showName: _angular_core.InputSignal<boolean>;
|
|
3614
|
+
readonly link: _angular_core.InputSignal<string>;
|
|
3615
|
+
readonly brandingClick: _angular_core.OutputEmitterRef<void>;
|
|
3616
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Branding, never>;
|
|
3617
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Branding, "acp-branding", never, { "logo": { "alias": "logo"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "showName": { "alias": "showName"; "required": false; "isSignal": true; }; "link": { "alias": "link"; "required": false; "isSignal": true; }; }, { "brandingClick": "brandingClick"; }, never, never, true, never>;
|
|
3618
|
+
}
|
|
3619
|
+
|
|
3620
|
+
/**
|
|
3621
|
+
* AcpHeader Component
|
|
3622
|
+
*
|
|
3623
|
+
* Enterprise-grade header component following compound components pattern.
|
|
3624
|
+
* This is a layout-only component that provides structure for header regions.
|
|
3625
|
+
*
|
|
3626
|
+
* @example
|
|
3627
|
+
* ```html
|
|
3628
|
+
* <acp-header [elevated]="true" [sticky]="true">
|
|
3629
|
+
* <acp-header-start>
|
|
3630
|
+
* <button mat-icon-button>menu</button>
|
|
3631
|
+
* </acp-header-start>
|
|
3632
|
+
* <acp-header-branding [logo]="logo" [name]="name" />
|
|
3633
|
+
* <acp-header-center>
|
|
3634
|
+
* <span>Center content</span>
|
|
3635
|
+
* </acp-header-center>
|
|
3636
|
+
* <acp-header-end>
|
|
3637
|
+
* <acp-header-actions [actions]="actions" />
|
|
3638
|
+
* <acp-user-menu [user]="user" />
|
|
3639
|
+
* </acp-header-end>
|
|
3640
|
+
* </acp-header>
|
|
3641
|
+
* ```
|
|
3642
|
+
*/
|
|
3643
|
+
declare class AcpHeader {
|
|
3644
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpHeader, never>;
|
|
3645
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpHeader, "acp-header", never, {}, {}, never, ["acp-header-start", "acp-header-branding", "acp-header-center", "acp-header-end"], true, never>;
|
|
3646
|
+
}
|
|
3647
|
+
|
|
3648
|
+
/**
|
|
3649
|
+
* AcpHeaderStart Component
|
|
3650
|
+
*
|
|
3651
|
+
* Left region of the header. Typically contains navigation toggle,
|
|
3652
|
+
* back button, or other primary actions.
|
|
3653
|
+
*
|
|
3654
|
+
* @example
|
|
3655
|
+
* ```html
|
|
3656
|
+
* <acp-header-start>
|
|
3657
|
+
* <button mat-icon-button (click)="toggleSidenav()">
|
|
3658
|
+
* <mat-icon>menu</mat-icon>
|
|
3659
|
+
* </button>
|
|
3660
|
+
* </acp-header-start>
|
|
3661
|
+
* ```
|
|
3662
|
+
*/
|
|
3663
|
+
declare class AcpHeaderStart {
|
|
3664
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpHeaderStart, never>;
|
|
3665
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpHeaderStart, "acp-header-start", never, {}, {}, never, ["*"], true, never>;
|
|
3666
|
+
}
|
|
3667
|
+
|
|
3668
|
+
/**
|
|
3669
|
+
* AcpHeaderBranding Component
|
|
3670
|
+
*
|
|
3671
|
+
* Branding region of the header. Renders logo and/or app name.
|
|
3672
|
+
*
|
|
3673
|
+
* @example
|
|
3674
|
+
* ```html
|
|
3675
|
+
* <acp-header-branding
|
|
3676
|
+
* [logo]="logo"
|
|
3677
|
+
* [name]="appName"
|
|
3678
|
+
* [showName]="true"
|
|
3679
|
+
* [link]="'/'"
|
|
3680
|
+
* (selected)="onBrandingClick()"
|
|
3681
|
+
* />
|
|
3682
|
+
* ```
|
|
3683
|
+
*/
|
|
3684
|
+
declare class AcpHeaderBranding {
|
|
3685
|
+
/**
|
|
3686
|
+
* URL or path to the logo image.
|
|
3687
|
+
*/
|
|
3688
|
+
readonly logo: _angular_core.InputSignal<string | undefined>;
|
|
3689
|
+
/**
|
|
3690
|
+
* Brand name to display.
|
|
3691
|
+
*/
|
|
3692
|
+
readonly name: _angular_core.InputSignal<string | undefined>;
|
|
3693
|
+
/**
|
|
3694
|
+
* Whether to show the brand name.
|
|
3695
|
+
* @default true
|
|
3696
|
+
*/
|
|
3697
|
+
readonly showName: _angular_core.InputSignal<boolean>;
|
|
3698
|
+
/**
|
|
3699
|
+
* URL to navigate to when branding is clicked.
|
|
3700
|
+
* @default '/'
|
|
3701
|
+
*/
|
|
3702
|
+
readonly link: _angular_core.InputSignal<string>;
|
|
3703
|
+
/**
|
|
3704
|
+
* Event emitted when branding is selected.
|
|
3705
|
+
*/
|
|
3706
|
+
readonly selected: _angular_core.OutputEmitterRef<void>;
|
|
3707
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpHeaderBranding, never>;
|
|
3708
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpHeaderBranding, "acp-header-branding", never, { "logo": { "alias": "logo"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "showName": { "alias": "showName"; "required": false; "isSignal": true; }; "link": { "alias": "link"; "required": false; "isSignal": true; }; }, { "selected": "selected"; }, never, never, true, never>;
|
|
3709
|
+
}
|
|
3710
|
+
|
|
3711
|
+
/**
|
|
3712
|
+
* AcpHeaderCenter Component
|
|
3713
|
+
*
|
|
3714
|
+
* Center region of the header. Typically contains breadcrumb,
|
|
3715
|
+
* workspace selector, or page title.
|
|
3716
|
+
*
|
|
3717
|
+
* @example
|
|
3718
|
+
* ```html
|
|
3719
|
+
* <acp-header-center>
|
|
3720
|
+
* <acp-header-breadcrumb [items]="breadcrumbs" />
|
|
3721
|
+
* </acp-header-center>
|
|
3722
|
+
* ```
|
|
3723
|
+
*/
|
|
3724
|
+
declare class AcpHeaderCenter {
|
|
3725
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpHeaderCenter, never>;
|
|
3726
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpHeaderCenter, "acp-header-center", never, {}, {}, never, ["*"], true, never>;
|
|
3727
|
+
}
|
|
3728
|
+
|
|
3729
|
+
/**
|
|
3730
|
+
* AcpHeaderEnd Component
|
|
3731
|
+
*
|
|
3732
|
+
* Right region of the header. Typically contains search, notifications,
|
|
3733
|
+
* user menu, theme switcher, and other secondary actions.
|
|
3734
|
+
*
|
|
3735
|
+
* @example
|
|
3736
|
+
* ```html
|
|
3737
|
+
* <acp-header-end>
|
|
3738
|
+
* <acp-header-search (search)="onSearch($event)" />
|
|
3739
|
+
* <acp-header-actions [actions]="actions" />
|
|
3740
|
+
* <acp-header-user-menu [user]="user" />
|
|
3741
|
+
* </acp-header-end>
|
|
3742
|
+
* ```
|
|
3743
|
+
*/
|
|
3744
|
+
declare class AcpHeaderEnd {
|
|
3745
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpHeaderEnd, never>;
|
|
3746
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpHeaderEnd, "acp-header-end", never, {}, {}, never, ["*"], true, never>;
|
|
3747
|
+
}
|
|
3748
|
+
|
|
3749
|
+
/**
|
|
3750
|
+
* AcpHeader Component Types
|
|
3751
|
+
*
|
|
3752
|
+
* Type definitions for the AcpHeader component following SOLID principles
|
|
3753
|
+
* and Clean Architecture for enterprise-grade component libraries.
|
|
3754
|
+
*/
|
|
3755
|
+
/**
|
|
3756
|
+
* Main configuration object for the AcpHeader component.
|
|
3757
|
+
* All configuration is centralized in this single interface to follow
|
|
3758
|
+
* Interface Segregation Principle and keep the API small and scalable.
|
|
3759
|
+
*/
|
|
3760
|
+
interface AcpHeaderConfig {
|
|
3761
|
+
/**
|
|
3762
|
+
* Array of actions to display in the header.
|
|
3763
|
+
* Actions are rendered in their specified position (left or right).
|
|
3764
|
+
*/
|
|
3765
|
+
actions?: AcpHeaderAction[];
|
|
3766
|
+
/**
|
|
3767
|
+
* Branding configuration for the header.
|
|
3768
|
+
* If not provided, no branding is displayed.
|
|
3769
|
+
*/
|
|
3770
|
+
branding?: AcpHeaderBrandingConfig;
|
|
3771
|
+
/**
|
|
3772
|
+
* User menu configuration.
|
|
3773
|
+
* If not provided, no user menu is displayed.
|
|
3774
|
+
*/
|
|
3775
|
+
userMenu?: AcpHeaderUserMenuConfig;
|
|
3776
|
+
/**
|
|
3777
|
+
* Whether to show elevation/shadow on the header.
|
|
3778
|
+
* @default false
|
|
3779
|
+
*/
|
|
3780
|
+
elevation?: boolean;
|
|
3781
|
+
/**
|
|
3782
|
+
* Whether the header should stick to the top of the viewport.
|
|
3783
|
+
* @default false
|
|
3784
|
+
*/
|
|
3785
|
+
sticky?: boolean;
|
|
3786
|
+
/**
|
|
3787
|
+
* Theme variant for the header.
|
|
3788
|
+
* @default 'auto'
|
|
3789
|
+
*/
|
|
3790
|
+
theme?: 'light' | 'dark' | 'auto';
|
|
3791
|
+
}
|
|
3792
|
+
/**
|
|
3793
|
+
* Represents an action button in the header.
|
|
3794
|
+
* Actions can be placed in the left or right region of the header.
|
|
3795
|
+
*/
|
|
3796
|
+
interface AcpHeaderAction {
|
|
3797
|
+
/**
|
|
3798
|
+
* Unique identifier for the action.
|
|
3799
|
+
* Used in event emissions to identify which action was clicked.
|
|
3800
|
+
*/
|
|
3801
|
+
id: string;
|
|
3802
|
+
/**
|
|
3803
|
+
* Material Design icon name to display.
|
|
3804
|
+
* If not provided, the label is used instead.
|
|
3805
|
+
*/
|
|
3806
|
+
icon?: string;
|
|
3807
|
+
/**
|
|
3808
|
+
* Text label for the action.
|
|
3809
|
+
* Used when icon is not provided or for accessibility.
|
|
3810
|
+
*/
|
|
3811
|
+
label?: string;
|
|
3812
|
+
/**
|
|
3813
|
+
* Tooltip text to display on hover.
|
|
3814
|
+
*/
|
|
3815
|
+
tooltip?: string;
|
|
3816
|
+
/**
|
|
3817
|
+
* Position where the action should be rendered.
|
|
3818
|
+
* @default 'right'
|
|
3819
|
+
*/
|
|
3820
|
+
position?: 'left' | 'right';
|
|
3821
|
+
/**
|
|
3822
|
+
* Whether the action is disabled.
|
|
3823
|
+
* @default false
|
|
3824
|
+
*/
|
|
3825
|
+
disabled?: boolean;
|
|
3826
|
+
/**
|
|
3827
|
+
* Whether the action is visible.
|
|
3828
|
+
* @default true
|
|
3829
|
+
*/
|
|
3830
|
+
visible?: boolean;
|
|
3831
|
+
/**
|
|
3832
|
+
* Optional badge to display on the action button.
|
|
3833
|
+
* Can be a number (for notification count) or a string.
|
|
3834
|
+
*/
|
|
3835
|
+
badge?: number | string;
|
|
3836
|
+
click?: ($event?: MouseEvent, action?: AcpHeaderAction) => void;
|
|
3837
|
+
}
|
|
3838
|
+
/**
|
|
3839
|
+
* Configuration for the branding section of the header.
|
|
3840
|
+
*/
|
|
3841
|
+
interface AcpHeaderBrandingConfig {
|
|
3842
|
+
/**
|
|
3843
|
+
* URL or path to the logo image.
|
|
3844
|
+
*/
|
|
3845
|
+
logo?: string;
|
|
3846
|
+
/**
|
|
3847
|
+
* Brand name to display.
|
|
3848
|
+
*/
|
|
3849
|
+
name?: string;
|
|
3850
|
+
/**
|
|
3851
|
+
* Whether to show the brand name.
|
|
3852
|
+
* @default true
|
|
3853
|
+
*/
|
|
3854
|
+
showName?: boolean;
|
|
3855
|
+
/**
|
|
3856
|
+
* URL to navigate to when branding is clicked.
|
|
3857
|
+
* @default '/'
|
|
3858
|
+
*/
|
|
3859
|
+
link?: string;
|
|
3860
|
+
}
|
|
3861
|
+
/**
|
|
3862
|
+
* Configuration for the user menu section of the header.
|
|
3863
|
+
*/
|
|
3864
|
+
interface AcpHeaderUserMenuConfig {
|
|
3865
|
+
/**
|
|
3866
|
+
* URL or path to the user avatar image.
|
|
3867
|
+
*/
|
|
3868
|
+
avatar?: string;
|
|
3869
|
+
/**
|
|
3870
|
+
* User's display name.
|
|
3871
|
+
*/
|
|
3872
|
+
name?: string;
|
|
3873
|
+
/**
|
|
3874
|
+
* User's email address.
|
|
3875
|
+
*/
|
|
3876
|
+
email?: string;
|
|
3877
|
+
/**
|
|
3878
|
+
* Menu items to display in the user menu dropdown.
|
|
3879
|
+
*/
|
|
3880
|
+
items?: AcpHeaderUserMenuItem[];
|
|
3881
|
+
}
|
|
3882
|
+
/**
|
|
3883
|
+
* Represents a single item in the user menu.
|
|
3884
|
+
*/
|
|
3885
|
+
interface AcpHeaderUserMenuItem {
|
|
3886
|
+
/**
|
|
3887
|
+
* Unique identifier for the menu item.
|
|
3888
|
+
*/
|
|
3889
|
+
id: string;
|
|
3890
|
+
/**
|
|
3891
|
+
* Display label for the menu item.
|
|
3892
|
+
*/
|
|
3893
|
+
label: string;
|
|
3894
|
+
/**
|
|
3895
|
+
* Material Design icon name to display.
|
|
3896
|
+
*/
|
|
3897
|
+
icon?: string;
|
|
3898
|
+
/**
|
|
3899
|
+
* Whether the menu item is disabled.
|
|
3900
|
+
* @default false
|
|
3901
|
+
*/
|
|
3902
|
+
disabled?: boolean;
|
|
3903
|
+
/**
|
|
3904
|
+
* Whether to display a divider below this item.
|
|
3905
|
+
* @default false
|
|
3906
|
+
*/
|
|
3907
|
+
divider?: boolean;
|
|
3908
|
+
/**
|
|
3909
|
+
* Callback function to execute when the item is clicked.
|
|
3910
|
+
* If provided, the item click event is not emitted.
|
|
3911
|
+
*/
|
|
3912
|
+
action?: () => void;
|
|
3913
|
+
}
|
|
3914
|
+
/**
|
|
3915
|
+
* Event payload emitted when a header action is clicked.
|
|
3916
|
+
*/
|
|
3917
|
+
interface AcpHeaderActionEvent {
|
|
3918
|
+
/**
|
|
3919
|
+
* The ID of the action that was clicked.
|
|
3920
|
+
*/
|
|
3921
|
+
actionId: string;
|
|
3922
|
+
/**
|
|
3923
|
+
* The event name associated with the action.
|
|
3924
|
+
*/
|
|
3925
|
+
event: string;
|
|
3926
|
+
/**
|
|
3927
|
+
* Optional data associated with the action.
|
|
3928
|
+
*/
|
|
3929
|
+
data?: any;
|
|
3930
|
+
}
|
|
3931
|
+
/**
|
|
3932
|
+
* Event payload emitted when a user menu item is clicked.
|
|
3933
|
+
*/
|
|
3934
|
+
interface AcpHeaderUserMenuItemEvent {
|
|
3935
|
+
/**
|
|
3936
|
+
* The ID of the menu item that was clicked.
|
|
3937
|
+
*/
|
|
3938
|
+
itemId: string;
|
|
3939
|
+
/**
|
|
3940
|
+
* The menu item that was clicked.
|
|
3941
|
+
*/
|
|
3942
|
+
item: AcpHeaderUserMenuItem;
|
|
3943
|
+
}
|
|
3944
|
+
|
|
3945
|
+
/**
|
|
3946
|
+
* AcpHeaderActions Component
|
|
3947
|
+
*
|
|
3948
|
+
* Helper component for rendering action buttons.
|
|
3949
|
+
*
|
|
3950
|
+
* @example
|
|
3951
|
+
* ```html
|
|
3952
|
+
* <acp-header-actions
|
|
3953
|
+
* [actions]="actions"
|
|
3954
|
+
* (action)="onAction($event)"
|
|
3955
|
+
* />
|
|
3956
|
+
* ```
|
|
3957
|
+
*/
|
|
3958
|
+
declare class AcpHeaderActions {
|
|
3959
|
+
/**
|
|
3960
|
+
* Array of actions to display. Can be a signal or a plain array.
|
|
3961
|
+
*/
|
|
3962
|
+
readonly actions: _angular_core.InputSignal<AcpHeaderAction[]>;
|
|
3963
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpHeaderActions, never>;
|
|
3964
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpHeaderActions, "acp-header-actions", never, { "actions": { "alias": "actions"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
3965
|
+
}
|
|
3966
|
+
|
|
3967
|
+
/**
|
|
3968
|
+
* Notification item interface
|
|
3969
|
+
*/
|
|
3970
|
+
interface AcpNotificationItem {
|
|
3971
|
+
id: string;
|
|
3972
|
+
title: string;
|
|
3973
|
+
message?: string;
|
|
3974
|
+
timestamp?: Date;
|
|
3975
|
+
read?: boolean;
|
|
3976
|
+
icon?: string;
|
|
3977
|
+
}
|
|
3978
|
+
/**
|
|
3979
|
+
* AcpHeaderNotifications Component
|
|
3980
|
+
*
|
|
3981
|
+
* Notification center for the header with badge and dropdown menu.
|
|
3982
|
+
*
|
|
3983
|
+
* @example
|
|
3984
|
+
* ```html
|
|
3985
|
+
* <acp-header-notifications
|
|
3986
|
+
* [notifications]="notifications"
|
|
3987
|
+
* [unreadCount]="unreadCount"
|
|
3988
|
+
* (notificationClick)="onNotificationClick($event)"
|
|
3989
|
+
* />
|
|
3990
|
+
* ```
|
|
3991
|
+
*/
|
|
3992
|
+
declare class AcpHeaderNotifications {
|
|
3993
|
+
/**
|
|
3994
|
+
* Array of notification items.
|
|
3995
|
+
*/
|
|
3996
|
+
readonly notifications: _angular_core.InputSignal<AcpNotificationItem[]>;
|
|
3997
|
+
/**
|
|
3998
|
+
* Number of unread notifications.
|
|
3999
|
+
*/
|
|
4000
|
+
readonly unreadCount: _angular_core.InputSignal<number>;
|
|
4001
|
+
/**
|
|
4002
|
+
* Event emitted when a notification is clicked.
|
|
4003
|
+
*/
|
|
4004
|
+
readonly notificationClick: _angular_core.OutputEmitterRef<AcpNotificationItem>;
|
|
4005
|
+
handleNotificationClick(notification: AcpNotificationItem): void;
|
|
4006
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpHeaderNotifications, never>;
|
|
4007
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpHeaderNotifications, "acp-header-notifications", never, { "notifications": { "alias": "notifications"; "required": false; "isSignal": true; }; "unreadCount": { "alias": "unreadCount"; "required": false; "isSignal": true; }; }, { "notificationClick": "notificationClick"; }, never, never, true, never>;
|
|
4008
|
+
}
|
|
4009
|
+
|
|
4010
|
+
/**
|
|
4011
|
+
* Workspace item interface
|
|
4012
|
+
*/
|
|
4013
|
+
interface AcpWorkspaceItem {
|
|
4014
|
+
id: string;
|
|
4015
|
+
name: string;
|
|
4016
|
+
icon?: string;
|
|
4017
|
+
active?: boolean;
|
|
4018
|
+
}
|
|
4019
|
+
/**
|
|
4020
|
+
* AcpHeaderWorkspace Component
|
|
4021
|
+
*
|
|
4022
|
+
* Workspace selector for the header.
|
|
4023
|
+
*
|
|
4024
|
+
* @example
|
|
4025
|
+
* ```html
|
|
4026
|
+
* <acp-header-workspace
|
|
4027
|
+
* [workspaces]="workspaces"
|
|
4028
|
+
* [currentWorkspace]="currentWorkspace"
|
|
4029
|
+
* (workspaceChange)="onWorkspaceChange($event)"
|
|
4030
|
+
* />
|
|
4031
|
+
* ```
|
|
4032
|
+
*/
|
|
4033
|
+
declare class AcpHeaderWorkspace {
|
|
4034
|
+
/**
|
|
4035
|
+
* Array of available workspaces.
|
|
4036
|
+
*/
|
|
4037
|
+
readonly workspaces: _angular_core.InputSignal<AcpWorkspaceItem[]>;
|
|
4038
|
+
/**
|
|
4039
|
+
* Currently selected workspace.
|
|
4040
|
+
*/
|
|
4041
|
+
readonly currentWorkspace: _angular_core.InputSignal<AcpWorkspaceItem | undefined>;
|
|
4042
|
+
/**
|
|
4043
|
+
* Event emitted when workspace is changed.
|
|
4044
|
+
*/
|
|
4045
|
+
readonly workspaceChange: _angular_core.OutputEmitterRef<AcpWorkspaceItem>;
|
|
4046
|
+
handleWorkspaceChange(workspace: AcpWorkspaceItem): void;
|
|
4047
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpHeaderWorkspace, never>;
|
|
4048
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpHeaderWorkspace, "acp-header-workspace", never, { "workspaces": { "alias": "workspaces"; "required": false; "isSignal": true; }; "currentWorkspace": { "alias": "currentWorkspace"; "required": false; "isSignal": true; }; }, { "workspaceChange": "workspaceChange"; }, never, never, true, never>;
|
|
4049
|
+
}
|
|
4050
|
+
|
|
4051
|
+
/**
|
|
4052
|
+
* Language item interface
|
|
4053
|
+
*/
|
|
4054
|
+
interface AcpLanguageItem {
|
|
4055
|
+
code: string;
|
|
4056
|
+
name: string;
|
|
4057
|
+
flag?: string;
|
|
4058
|
+
active?: boolean;
|
|
4059
|
+
}
|
|
4060
|
+
/**
|
|
4061
|
+
* AcpHeaderLanguage Component
|
|
4062
|
+
*
|
|
4063
|
+
* Language selector for the header.
|
|
4064
|
+
*
|
|
4065
|
+
* @example
|
|
4066
|
+
* ```html
|
|
4067
|
+
* <acp-header-language
|
|
4068
|
+
* [languages]="languages"
|
|
4069
|
+
* [currentLanguage]="currentLanguage"
|
|
4070
|
+
* (languageChange)="onLanguageChange($event)"
|
|
4071
|
+
* />
|
|
4072
|
+
* ```
|
|
4073
|
+
*/
|
|
4074
|
+
declare class AcpHeaderLanguage {
|
|
4075
|
+
/**
|
|
4076
|
+
* Array of available languages.
|
|
4077
|
+
*/
|
|
4078
|
+
readonly languages: _angular_core.InputSignal<AcpLanguageItem[]>;
|
|
4079
|
+
/**
|
|
4080
|
+
* Currently selected language.
|
|
4081
|
+
*/
|
|
4082
|
+
readonly currentLanguage: _angular_core.InputSignal<AcpLanguageItem | undefined>;
|
|
4083
|
+
/**
|
|
4084
|
+
* Event emitted when language is changed.
|
|
4085
|
+
*/
|
|
4086
|
+
readonly languageChange: _angular_core.OutputEmitterRef<AcpLanguageItem>;
|
|
4087
|
+
handleLanguageChange(language: AcpLanguageItem): void;
|
|
4088
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpHeaderLanguage, never>;
|
|
4089
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpHeaderLanguage, "acp-header-language", never, { "languages": { "alias": "languages"; "required": false; "isSignal": true; }; "currentLanguage": { "alias": "currentLanguage"; "required": false; "isSignal": true; }; }, { "languageChange": "languageChange"; }, never, never, true, never>;
|
|
4090
|
+
}
|
|
4091
|
+
|
|
4092
|
+
/**
|
|
4093
|
+
* Theme variant
|
|
4094
|
+
*/
|
|
4095
|
+
type AcpThemeVariant = 'light' | 'dark' | 'auto';
|
|
4096
|
+
/**
|
|
4097
|
+
* AcpHeaderTheme Component
|
|
4098
|
+
*
|
|
4099
|
+
* Theme switcher for the header.
|
|
4100
|
+
*
|
|
4101
|
+
* @example
|
|
4102
|
+
* ```html
|
|
4103
|
+
* <acp-header-theme
|
|
4104
|
+
* [currentTheme]="currentTheme"
|
|
4105
|
+
* (themeChange)="onThemeChange($event)"
|
|
4106
|
+
* />
|
|
4107
|
+
* ```
|
|
4108
|
+
*/
|
|
4109
|
+
declare class AcpHeaderTheme {
|
|
4110
|
+
/**
|
|
4111
|
+
* Currently selected theme.
|
|
4112
|
+
*/
|
|
4113
|
+
readonly currentTheme: _angular_core.InputSignal<AcpThemeVariant>;
|
|
4114
|
+
/**
|
|
4115
|
+
* Event emitted when theme is changed.
|
|
4116
|
+
*/
|
|
4117
|
+
readonly themeChange: _angular_core.OutputEmitterRef<AcpThemeVariant>;
|
|
4118
|
+
private readonly themeCycle;
|
|
4119
|
+
getThemeIcon: _angular_core.Signal<"light_mode" | "dark_mode" | "contrast">;
|
|
4120
|
+
toggleTheme(): void;
|
|
4121
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpHeaderTheme, never>;
|
|
4122
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpHeaderTheme, "acp-header-theme", never, { "currentTheme": { "alias": "currentTheme"; "required": false; "isSignal": true; }; }, { "themeChange": "themeChange"; }, never, never, true, never>;
|
|
4123
|
+
}
|
|
4124
|
+
|
|
4125
|
+
/**
|
|
4126
|
+
* A theme toggle button component that allows users to switch between
|
|
4127
|
+
* light and dark modes. Follows WAI-ARIA best practices for toggle buttons.
|
|
4128
|
+
*/
|
|
4129
|
+
declare class ThemeToggle {
|
|
4130
|
+
private readonly themeSwitcher;
|
|
4131
|
+
/** Icon to display when in dark mode (clicking will switch to light) */
|
|
4132
|
+
readonly lightModeIcon: _angular_core.InputSignal<string>;
|
|
4133
|
+
/** Icon to display when in light mode (clicking will switch to dark) */
|
|
4134
|
+
readonly darkModeIcon: _angular_core.InputSignal<string>;
|
|
4135
|
+
/** Accessible label for when in dark mode */
|
|
4136
|
+
readonly lightModeLabel: _angular_core.InputSignal<string>;
|
|
4137
|
+
/** Accessible label for when in light mode */
|
|
4138
|
+
readonly darkModeLabel: _angular_core.InputSignal<string>;
|
|
4139
|
+
/** Test ID for automated testing */
|
|
4140
|
+
readonly testId: _angular_core.InputSignal<string>;
|
|
4141
|
+
/** Current dark mode state as a signal */
|
|
4142
|
+
protected readonly isDarkMode: _angular_core.Signal<boolean>;
|
|
4143
|
+
/** Computed icon based on current theme */
|
|
4144
|
+
protected readonly currentIcon: _angular_core.Signal<string>;
|
|
4145
|
+
/** Computed accessible label based on current theme */
|
|
4146
|
+
protected readonly currentLabel: _angular_core.Signal<string>;
|
|
4147
|
+
/** Toggle between dark and light mode */
|
|
4148
|
+
toggleDarkMode(): void;
|
|
4149
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ThemeToggle, never>;
|
|
4150
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ThemeToggle, "acp-theme-toggle", never, { "lightModeIcon": { "alias": "lightModeIcon"; "required": false; "isSignal": true; }; "darkModeIcon": { "alias": "darkModeIcon"; "required": false; "isSignal": true; }; "lightModeLabel": { "alias": "lightModeLabel"; "required": false; "isSignal": true; }; "darkModeLabel": { "alias": "darkModeLabel"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4151
|
+
}
|
|
4152
|
+
|
|
4153
|
+
/**
|
|
4154
|
+
* Represents a single item in the user menu.
|
|
4155
|
+
*/
|
|
4156
|
+
interface UserMenuItem {
|
|
4157
|
+
/**
|
|
4158
|
+
* Unique identifier for the menu item.
|
|
4159
|
+
*/
|
|
4160
|
+
id: string;
|
|
4161
|
+
/**
|
|
4162
|
+
* Display label for the menu item.
|
|
4163
|
+
*/
|
|
4164
|
+
label: string;
|
|
4165
|
+
/**
|
|
4166
|
+
* Material Design icon name.
|
|
4167
|
+
*/
|
|
4168
|
+
icon: string;
|
|
4169
|
+
/**
|
|
4170
|
+
* Optional badge number (e.g., notification count).
|
|
4171
|
+
*/
|
|
4172
|
+
badge?: number;
|
|
4173
|
+
/**
|
|
4174
|
+
* Optional router link for navigation.
|
|
4175
|
+
*/
|
|
4176
|
+
routerLink?: string;
|
|
4177
|
+
/**
|
|
4178
|
+
* Whether this item represents a dangerous action (e.g., logout).
|
|
4179
|
+
* Affects styling (red color).
|
|
4180
|
+
*/
|
|
4181
|
+
danger?: boolean;
|
|
4182
|
+
/**
|
|
4183
|
+
* Optional click handler for custom actions.
|
|
4184
|
+
*/
|
|
4185
|
+
click?: (event: MouseEvent, item: UserMenuItem) => void;
|
|
4186
|
+
}
|
|
4187
|
+
/**
|
|
4188
|
+
* User profile information displayed in the menu header.
|
|
4189
|
+
*/
|
|
4190
|
+
interface UserProfile {
|
|
4191
|
+
/**
|
|
4192
|
+
* User's full name.
|
|
4193
|
+
*/
|
|
4194
|
+
name: string;
|
|
4195
|
+
/**
|
|
4196
|
+
* User's email address.
|
|
4197
|
+
*/
|
|
4198
|
+
email: string;
|
|
4199
|
+
/**
|
|
4200
|
+
* URL to user's avatar image.
|
|
4201
|
+
*/
|
|
4202
|
+
avatar: string;
|
|
4203
|
+
/**
|
|
4204
|
+
* User's plan/subscription tier (e.g., 'Pro', 'Free').
|
|
4205
|
+
*/
|
|
4206
|
+
plan?: string;
|
|
4207
|
+
}
|
|
4208
|
+
/**
|
|
4209
|
+
* Event emitted when a menu item is selected.
|
|
4210
|
+
*/
|
|
4211
|
+
interface UserMenuSelectedEvent {
|
|
4212
|
+
/**
|
|
4213
|
+
* The selected menu item.
|
|
4214
|
+
*/
|
|
4215
|
+
item: UserMenuItem;
|
|
4216
|
+
}
|
|
4217
|
+
|
|
4218
|
+
declare class UserMenu {
|
|
4219
|
+
/**
|
|
4220
|
+
* User profile information to display in the menu header.
|
|
4221
|
+
*/
|
|
4222
|
+
readonly user: _angular_core.InputSignal<UserProfile>;
|
|
4223
|
+
/**
|
|
4224
|
+
* Menu items to display.
|
|
4225
|
+
*/
|
|
4226
|
+
readonly items: _angular_core.InputSignal<UserMenuItem[]>;
|
|
4227
|
+
imageUrl: _angular_core.Signal<string>;
|
|
4228
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserMenu, never>;
|
|
4229
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserMenu, "acp-user-menu", never, { "user": { "alias": "user"; "required": true; "isSignal": true; }; "items": { "alias": "items"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4230
|
+
}
|
|
4231
|
+
|
|
4232
|
+
declare class UserPanel {
|
|
4233
|
+
readonly avatar: _angular_core.InputSignal<string | null>;
|
|
4234
|
+
readonly name: _angular_core.InputSignal<string>;
|
|
4235
|
+
readonly email: _angular_core.InputSignal<string>;
|
|
4236
|
+
readonly profileLink: _angular_core.InputSignal<string>;
|
|
4237
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserPanel, never>;
|
|
4238
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserPanel, "acp-user-panel", never, { "avatar": { "alias": "avatar"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "email": { "alias": "email"; "required": false; "isSignal": true; }; "profileLink": { "alias": "profileLink"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4239
|
+
}
|
|
4240
|
+
|
|
4241
|
+
interface MenuTag {
|
|
4242
|
+
color: string;
|
|
4243
|
+
value: string;
|
|
4244
|
+
}
|
|
4245
|
+
interface MenuPermissions {
|
|
4246
|
+
only?: string | string[];
|
|
4247
|
+
except?: string | string[];
|
|
4248
|
+
}
|
|
4249
|
+
interface MenuItem {
|
|
4250
|
+
route: string;
|
|
4251
|
+
name: string;
|
|
4252
|
+
type: 'link' | 'sub' | 'extLink' | 'extTabLink';
|
|
4253
|
+
icon?: string;
|
|
4254
|
+
label?: MenuTag;
|
|
4255
|
+
badge?: MenuTag;
|
|
4256
|
+
children?: MenuItem[];
|
|
4257
|
+
permissions?: MenuPermissions;
|
|
4258
|
+
}
|
|
4259
|
+
|
|
4260
|
+
declare class NavAccordionItemDirective implements OnInit, OnDestroy {
|
|
4261
|
+
private readonly nav;
|
|
4262
|
+
readonly route: _angular_core.InputSignal<string>;
|
|
4263
|
+
expanded: _angular_core.WritableSignal<boolean>;
|
|
4264
|
+
ngOnInit(): void;
|
|
4265
|
+
ngOnDestroy(): void;
|
|
4266
|
+
toggle(): void;
|
|
4267
|
+
setExpanded(value: boolean): void;
|
|
4268
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavAccordionItemDirective, never>;
|
|
4269
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NavAccordionItemDirective, "[acpNavAccordionItem]", ["acpNavAccordionItem"], { "route": { "alias": "route"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4270
|
+
}
|
|
4271
|
+
|
|
4272
|
+
declare class NavAccordionDirective {
|
|
4273
|
+
private readonly router;
|
|
4274
|
+
private navItems;
|
|
4275
|
+
constructor();
|
|
4276
|
+
addItem(item: NavAccordionItemDirective): void;
|
|
4277
|
+
removeItem(item: NavAccordionItemDirective): void;
|
|
4278
|
+
closeOtherItems(openedItem: NavAccordionItemDirective): void;
|
|
4279
|
+
checkOpenedItems(): void;
|
|
4280
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavAccordionDirective, never>;
|
|
4281
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NavAccordionDirective, "[acpNavAccordion]", ["acpNavAccordion"], {}, {}, never, never, true, never>;
|
|
4282
|
+
}
|
|
4283
|
+
|
|
4284
|
+
declare class NavAccordionToggleDirective {
|
|
4285
|
+
private readonly navItem;
|
|
4286
|
+
onClick(): void;
|
|
4287
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavAccordionToggleDirective, never>;
|
|
4288
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NavAccordionToggleDirective, "[acpNavAccordionToggle]", ["acpNavAccordionToggle"], {}, {}, never, never, true, never>;
|
|
4289
|
+
}
|
|
4290
|
+
|
|
4291
|
+
declare class SidemenuComponent {
|
|
4292
|
+
readonly menuItems: _angular_core.InputSignal<MenuItem[]>;
|
|
4293
|
+
buildRoute(routeArr: string[]): string;
|
|
4294
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SidemenuComponent, never>;
|
|
4295
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SidemenuComponent, "acp-sidemenu", never, { "menuItems": { "alias": "menuItems"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4296
|
+
}
|
|
4297
|
+
|
|
4298
|
+
/**
|
|
4299
|
+
* AcpSidebar Component
|
|
4300
|
+
*
|
|
4301
|
+
* Enterprise-grade sidebar component following compound components pattern.
|
|
4302
|
+
* This is a layout-only component that provides structure for sidebar regions.
|
|
4303
|
+
*
|
|
4304
|
+
* @example
|
|
4305
|
+
* ```html
|
|
4306
|
+
* <acp-sidebar [collapsed]="collapsed" [mode]="mode">
|
|
4307
|
+
* <acp-sidebar-header>
|
|
4308
|
+
* <acp-sidebar-branding>
|
|
4309
|
+
* <acp-sidebar-branding-content [logo]="logo" [name]="name" />
|
|
4310
|
+
* </acp-sidebar-branding>
|
|
4311
|
+
* <button mat-icon-button (click)="toggle()">menu</button>
|
|
4312
|
+
* </acp-sidebar-header>
|
|
4313
|
+
*
|
|
4314
|
+
* <acp-sidebar-user>
|
|
4315
|
+
* <acp-sidebar-user-content [avatar]="avatar" [name]="name" [email]="email" />
|
|
4316
|
+
* </acp-sidebar-user>
|
|
4317
|
+
*
|
|
4318
|
+
* <acp-sidebar-content>
|
|
4319
|
+
* <acp-sidemenu [menuItems]="menuItems" />
|
|
4320
|
+
* </acp-sidebar-content>
|
|
4321
|
+
* </acp-sidebar>
|
|
4322
|
+
* ```
|
|
4323
|
+
*/
|
|
4324
|
+
declare class AcpSidebar {
|
|
4325
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpSidebar, never>;
|
|
4326
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpSidebar, "acp-sidebar", never, {}, {}, never, ["acp-sidebar-header", "acp-sidebar-user", "acp-sidebar-content"], true, never>;
|
|
4327
|
+
}
|
|
4328
|
+
|
|
4329
|
+
/**
|
|
4330
|
+
* AcpSidebarHeader Component
|
|
4331
|
+
*
|
|
4332
|
+
* Top region of the sidebar. Typically contains branding, toggle button,
|
|
4333
|
+
* and close button for mobile.
|
|
4334
|
+
*
|
|
4335
|
+
* @example
|
|
4336
|
+
* ```html
|
|
4337
|
+
* <acp-sidebar-header>
|
|
4338
|
+
* <acp-sidebar-branding>
|
|
4339
|
+
* <acp-sidebar-branding-content [logo]="logo" [name]="name" />
|
|
4340
|
+
* </acp-sidebar-branding>
|
|
4341
|
+
* <button mat-icon-button (click)="toggle()">menu</button>
|
|
4342
|
+
* </acp-sidebar-header>
|
|
4343
|
+
* ```
|
|
4344
|
+
*/
|
|
4345
|
+
declare class AcpSidebarHeader {
|
|
4346
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpSidebarHeader, never>;
|
|
4347
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpSidebarHeader, "acp-sidebar-header", never, {}, {}, never, ["[start]", "[end]"], true, never>;
|
|
4348
|
+
}
|
|
4349
|
+
|
|
4350
|
+
declare class AcpSidebarBranding {
|
|
4351
|
+
readonly showName: _angular_core.InputSignal<boolean>;
|
|
4352
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpSidebarBranding, never>;
|
|
4353
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpSidebarBranding, "acp-sidebar-branding", never, { "showName": { "alias": "showName"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4354
|
+
}
|
|
4355
|
+
|
|
4356
|
+
declare class AcpSidebarUserPanel {
|
|
4357
|
+
/**
|
|
4358
|
+
* User avatar URL.
|
|
4359
|
+
* @default ''
|
|
4360
|
+
*/
|
|
4361
|
+
readonly avatar: _angular_core.InputSignal<string>;
|
|
4362
|
+
/**
|
|
4363
|
+
* User name.
|
|
4364
|
+
* @default ''
|
|
4365
|
+
*/
|
|
4366
|
+
readonly name: _angular_core.InputSignal<string>;
|
|
4367
|
+
/**
|
|
4368
|
+
* User email.
|
|
4369
|
+
* @default ''
|
|
4370
|
+
*/
|
|
4371
|
+
readonly email: _angular_core.InputSignal<string>;
|
|
4372
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpSidebarUserPanel, never>;
|
|
4373
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpSidebarUserPanel, "acp-sidebar-user-panel", never, { "avatar": { "alias": "avatar"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "email": { "alias": "email"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4374
|
+
}
|
|
4375
|
+
|
|
4376
|
+
/**
|
|
4377
|
+
* AcpSidebarContent Component
|
|
4378
|
+
*
|
|
4379
|
+
* Main content region of the sidebar. Typically contains the sidemenu
|
|
4380
|
+
* with navigation items.
|
|
4381
|
+
*
|
|
4382
|
+
* @example
|
|
4383
|
+
* ```html
|
|
4384
|
+
* <acp-sidebar-content>
|
|
4385
|
+
* <acp-sidemenu [menuItems]="menuItems" />
|
|
4386
|
+
* </acp-sidebar-content>
|
|
4387
|
+
* ```
|
|
4388
|
+
*/
|
|
4389
|
+
declare class AcpSidebarContent {
|
|
4390
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpSidebarContent, never>;
|
|
4391
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpSidebarContent, "acp-sidebar-content", never, {}, {}, never, ["[user-panel]", "[sidemenu]"], true, never>;
|
|
4392
|
+
}
|
|
4393
|
+
|
|
4394
|
+
declare class AcpSidebarToggle {
|
|
4395
|
+
readonly showToggle: _angular_core.InputSignal<boolean>;
|
|
4396
|
+
readonly toggleChecked: _angular_core.InputSignal<boolean>;
|
|
4397
|
+
readonly toggleCollapsed: _angular_core.OutputEmitterRef<void>;
|
|
4398
|
+
readonly closeSidenav: _angular_core.OutputEmitterRef<void>;
|
|
4399
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpSidebarToggle, never>;
|
|
4400
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpSidebarToggle, "acp-sidebar-toggle", never, { "showToggle": { "alias": "showToggle"; "required": false; "isSignal": true; }; "toggleChecked": { "alias": "toggleChecked"; "required": false; "isSignal": true; }; }, { "toggleCollapsed": "toggleCollapsed"; "closeSidenav": "closeSidenav"; }, never, never, true, never>;
|
|
4401
|
+
}
|
|
4402
|
+
|
|
4403
|
+
/**
|
|
4404
|
+
* `acpShellHeader` — replaces the entire header region.
|
|
4405
|
+
*
|
|
4406
|
+
* @example
|
|
4407
|
+
* ```html
|
|
4408
|
+
* <acp-shell-layout>
|
|
4409
|
+
* <ng-template acpShellHeader>
|
|
4410
|
+
* <app-custom-header />
|
|
4411
|
+
* </ng-template>
|
|
4412
|
+
* </acp-shell-layout>
|
|
4413
|
+
* ```
|
|
4414
|
+
*/
|
|
4415
|
+
declare class AcpShellSlotHeader {
|
|
4416
|
+
readonly templateRef: TemplateRef<any>;
|
|
4417
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpShellSlotHeader, never>;
|
|
4418
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AcpShellSlotHeader, "ng-template[acpShellHeader]", never, {}, {}, never, never, true, never>;
|
|
4419
|
+
}
|
|
4420
|
+
/**
|
|
4421
|
+
* `acpShellSidebar` — replaces the entire sidebar region.
|
|
4422
|
+
*
|
|
4423
|
+
* @example
|
|
4424
|
+
* ```html
|
|
4425
|
+
* <acp-shell-layout>
|
|
4426
|
+
* <ng-template acpShellSidebar>
|
|
4427
|
+
* <app-custom-sidebar />
|
|
4428
|
+
* </ng-template>
|
|
4429
|
+
* </acp-shell-layout>
|
|
4430
|
+
* ```
|
|
4431
|
+
*/
|
|
4432
|
+
declare class AcpShellSlotSidebar {
|
|
4433
|
+
readonly templateRef: TemplateRef<any>;
|
|
4434
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpShellSlotSidebar, never>;
|
|
4435
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AcpShellSlotSidebar, "ng-template[acpShellSidebar]", never, {}, {}, never, never, true, never>;
|
|
4436
|
+
}
|
|
4437
|
+
/**
|
|
4438
|
+
* `acpShellSidebarFooter` — projects content at the bottom of the sidebar
|
|
4439
|
+
* without replacing the whole sidebar (e.g. version badge, help link).
|
|
4440
|
+
*
|
|
4441
|
+
* @example
|
|
4442
|
+
* ```html
|
|
4443
|
+
* <acp-shell-layout>
|
|
4444
|
+
* <ng-template acpShellSidebarFooter>
|
|
4445
|
+
* <app-version-badge />
|
|
4446
|
+
* </ng-template>
|
|
4447
|
+
* </acp-shell-layout>
|
|
4448
|
+
* ```
|
|
4449
|
+
*/
|
|
4450
|
+
declare class AcpShellSlotSidebarFooter {
|
|
4451
|
+
readonly templateRef: TemplateRef<any>;
|
|
4452
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpShellSlotSidebarFooter, never>;
|
|
4453
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AcpShellSlotSidebarFooter, "ng-template[acpShellSidebarFooter]", never, {}, {}, never, never, true, never>;
|
|
4454
|
+
}
|
|
4455
|
+
/**
|
|
4456
|
+
* `acpShellToolbar` — projects extra content into the header toolbar
|
|
4457
|
+
* alongside the default actions (e.g. breadcrumb, search bar).
|
|
4458
|
+
*
|
|
4459
|
+
* @example
|
|
4460
|
+
* ```html
|
|
4461
|
+
* <acp-shell-layout>
|
|
4462
|
+
* <ng-template acpShellToolbar>
|
|
4463
|
+
* <app-breadcrumb />
|
|
4464
|
+
* </ng-template>
|
|
4465
|
+
* </acp-shell-layout>
|
|
4466
|
+
* ```
|
|
4467
|
+
*/
|
|
4468
|
+
declare class AcpShellSlotToolbar {
|
|
4469
|
+
readonly templateRef: TemplateRef<any>;
|
|
4470
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpShellSlotToolbar, never>;
|
|
4471
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AcpShellSlotToolbar, "ng-template[acpShellToolbar]", never, {}, {}, never, never, true, never>;
|
|
4472
|
+
}
|
|
4473
|
+
/**
|
|
4474
|
+
* `acpShellTopmenu` — projects horizontal top navigation into the page content.
|
|
4475
|
+
*
|
|
4476
|
+
* @example
|
|
4477
|
+
* ```html
|
|
4478
|
+
* <acp-shell-layout>
|
|
4479
|
+
* <ng-template acpShellTopmenu>
|
|
4480
|
+
* <app-topmenu />
|
|
4481
|
+
* </ng-template>
|
|
4482
|
+
* </acp-shell-layout>
|
|
4483
|
+
* ```
|
|
4484
|
+
*/
|
|
4485
|
+
declare class AcpShellSlotTopmenu {
|
|
4486
|
+
readonly templateRef: TemplateRef<any>;
|
|
4487
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpShellSlotTopmenu, never>;
|
|
4488
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AcpShellSlotTopmenu, "ng-template[acpShellTopmenu]", never, {}, {}, never, never, true, never>;
|
|
4489
|
+
}
|
|
4490
|
+
|
|
4491
|
+
/**
|
|
4492
|
+
* Navigation position of the sidenav.
|
|
4493
|
+
* - `side`: sidebar always visible alongside content
|
|
4494
|
+
* - `top`: navigation rendered in a top menu bar instead
|
|
4495
|
+
*/
|
|
4496
|
+
type AcpNavPos = 'side' | 'top';
|
|
4497
|
+
/**
|
|
4498
|
+
* Position of the header relative to the sidenav container.
|
|
4499
|
+
* - `above`: header spans full width above the sidenav container
|
|
4500
|
+
* - `fixed`: header is sticky inside the content area
|
|
4501
|
+
* - `below`: header scrolls with content
|
|
4502
|
+
*/
|
|
4503
|
+
type AcpHeaderPos = 'above' | 'fixed' | 'below' | 'static';
|
|
4504
|
+
/**
|
|
4505
|
+
* Layout direction (RTL/LTR support).
|
|
4506
|
+
*/
|
|
4507
|
+
type AcpDir = 'ltr' | 'rtl';
|
|
4508
|
+
|
|
4509
|
+
/**
|
|
4510
|
+
* AcpShellLayout
|
|
4511
|
+
*
|
|
4512
|
+
* Pure structural shell — provides the layout skeleton (header region,
|
|
4513
|
+
* sidenav, content area) with named ng-content slots so the host app
|
|
4514
|
+
* can project any component into any region without modifying the shell.
|
|
4515
|
+
*
|
|
4516
|
+
* ## Slot directives
|
|
4517
|
+
* - `acpShellHeader` — replaces the entire header bar
|
|
4518
|
+
* - `acpShellSidebar` — replaces the entire sidebar body
|
|
4519
|
+
* - `acpShellSidebarFooter` — appended at the bottom of the sidebar
|
|
4520
|
+
* - `acpShellToolbar` — injected inside the header center region
|
|
4521
|
+
*
|
|
4522
|
+
* ## Default content slot
|
|
4523
|
+
* Plain children (e.g. `<router-outlet />`) are projected into the
|
|
4524
|
+
* main page-content area.
|
|
4525
|
+
*
|
|
4526
|
+
* @example
|
|
4527
|
+
* ```html
|
|
4528
|
+
* <acp-shell-layout
|
|
4529
|
+
* [navPos]="options().navPos"
|
|
4530
|
+
* [headerPos]="options().headerPos"
|
|
4531
|
+
* [sidenavOpened]="options().sidenavOpened"
|
|
4532
|
+
* [sidenavCollapsed]="options().sidenavCollapsed"
|
|
4533
|
+
* [isMobile]="isMobile()"
|
|
4534
|
+
* [dir]="options().dir"
|
|
4535
|
+
* (sidenavOpenedChange)="onSidenavOpenedChange($event)"
|
|
4536
|
+
* >
|
|
4537
|
+
* <!-- header slot -->
|
|
4538
|
+
* <ng-template acpShellHeader>
|
|
4539
|
+
* <app-header (toggleSidenav)="layout.toggleSidenav()" />
|
|
4540
|
+
* </ng-template>
|
|
4541
|
+
*
|
|
4542
|
+
* <!-- sidebar slot -->
|
|
4543
|
+
* <ng-template acpShellSidebar>
|
|
4544
|
+
* <app-sidebar />
|
|
4545
|
+
* </ng-template>
|
|
4546
|
+
*
|
|
4547
|
+
* <!-- optional: footer inside sidebar -->
|
|
4548
|
+
* <ng-template acpShellSidebarFooter>
|
|
4549
|
+
* <app-version-badge />
|
|
4550
|
+
* </ng-template>
|
|
4551
|
+
*
|
|
4552
|
+
* <!-- page content -->
|
|
4553
|
+
* <router-outlet />
|
|
4554
|
+
* </acp-shell-layout>
|
|
4555
|
+
* ```
|
|
4556
|
+
*/
|
|
4557
|
+
declare class AcpShellLayout {
|
|
4558
|
+
/** Reference to the primary MatSidenav — exposed so the app can toggle it. */
|
|
4559
|
+
readonly sidenav: _angular_core.Signal<MatSidenav>;
|
|
4560
|
+
/** Reference to the MatSidenavContent — exposed for scroll control. */
|
|
4561
|
+
readonly content: _angular_core.Signal<MatSidenavContent>;
|
|
4562
|
+
/** Custom header projected by the app. Falls back to empty when absent. */
|
|
4563
|
+
readonly headerSlot: _angular_core.Signal<AcpShellSlotHeader | undefined>;
|
|
4564
|
+
/** Custom sidebar body projected by the app. Falls back to empty when absent. */
|
|
4565
|
+
readonly sidebarSlot: _angular_core.Signal<AcpShellSlotSidebar | undefined>;
|
|
4566
|
+
/** Optional footer appended inside the sidebar. */
|
|
4567
|
+
readonly sidebarFooterSlot: _angular_core.Signal<AcpShellSlotSidebarFooter | undefined>;
|
|
4568
|
+
/** Optional toolbar content injected into the header center. */
|
|
4569
|
+
readonly toolbarSlot: _angular_core.Signal<AcpShellSlotToolbar | undefined>;
|
|
4570
|
+
/** Optional top navigation projected above the main page content. */
|
|
4571
|
+
readonly topmenuSlot: _angular_core.Signal<AcpShellSlotTopmenu | undefined>;
|
|
4572
|
+
/** Optional secondary sidenav (e.g. notifications panel, position end). */
|
|
4573
|
+
/** Navigation position. @default 'side' */
|
|
4574
|
+
readonly navPos: _angular_core.InputSignal<AcpNavPos>;
|
|
4575
|
+
/** Header position relative to the sidenav. @default 'fixed' */
|
|
4576
|
+
readonly headerPos: _angular_core.InputSignal<AcpHeaderPos>;
|
|
4577
|
+
/** Whether the sidenav is open. @default true */
|
|
4578
|
+
readonly sidenavOpened: _angular_core.InputSignal<boolean>;
|
|
4579
|
+
/** Whether the sidenav is in collapsed/narrow mode. @default false */
|
|
4580
|
+
readonly sidenavCollapsed: _angular_core.InputSignal<boolean>;
|
|
4581
|
+
/** Whether the viewport is in mobile mode (switches sidenav to "over"). @default false */
|
|
4582
|
+
readonly isMobile: _angular_core.InputSignal<boolean>;
|
|
4583
|
+
/** Layout direction for RTL support. @default 'ltr' */
|
|
4584
|
+
readonly dir: _angular_core.InputSignal<AcpDir>;
|
|
4585
|
+
/** Emitted when the sidenav opened/closed state changes internally. */
|
|
4586
|
+
readonly sidenavOpenedChange: _angular_core.OutputEmitterRef<boolean>;
|
|
4587
|
+
/** 'over' on mobile so the sidebar floats above content. */
|
|
4588
|
+
readonly sidenavMode: _angular_core.Signal<"side" | "over">;
|
|
4589
|
+
/**
|
|
4590
|
+
* Whether to render the header-above zone.
|
|
4591
|
+
* True when `headerPos === 'above'` — spans full width outside the sidenav container.
|
|
4592
|
+
*/
|
|
4593
|
+
readonly showHeaderAbove: _angular_core.Signal<boolean>;
|
|
4594
|
+
/**
|
|
4595
|
+
* Whether to render the header inside the content area.
|
|
4596
|
+
* True for 'fixed' and 'below' positions.
|
|
4597
|
+
*/
|
|
4598
|
+
readonly showHeaderInContent: _angular_core.Signal<boolean>;
|
|
4599
|
+
/** CSS modifier classes bound to the root container element. */
|
|
4600
|
+
readonly containerClasses: _angular_core.Signal<{
|
|
4601
|
+
'acontplus-sidenav-collapsed': boolean;
|
|
4602
|
+
'acontplus-navbar-side': boolean;
|
|
4603
|
+
'acontplus-navbar-top': boolean;
|
|
4604
|
+
'acontplus-header-above': boolean;
|
|
4605
|
+
'acontplus-header-fixed': boolean;
|
|
4606
|
+
}>;
|
|
4607
|
+
/** Toggle the primary sidenav. Callable from parent via template ref. */
|
|
4608
|
+
toggleSidenav(): void;
|
|
4609
|
+
/** Close the primary sidenav. */
|
|
4610
|
+
closeSidenav(): void;
|
|
4611
|
+
/** Scroll the content area back to the top. */
|
|
4612
|
+
scrollToTop(): void;
|
|
4613
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpShellLayout, never>;
|
|
4614
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpShellLayout, "acp-shell-layout", never, { "navPos": { "alias": "navPos"; "required": false; "isSignal": true; }; "headerPos": { "alias": "headerPos"; "required": false; "isSignal": true; }; "sidenavOpened": { "alias": "sidenavOpened"; "required": false; "isSignal": true; }; "sidenavCollapsed": { "alias": "sidenavCollapsed"; "required": false; "isSignal": true; }; "isMobile": { "alias": "isMobile"; "required": false; "isSignal": true; }; "dir": { "alias": "dir"; "required": false; "isSignal": true; }; }, { "sidenavOpenedChange": "sidenavOpenedChange"; }, ["headerSlot", "sidebarSlot", "sidebarFooterSlot", "toolbarSlot", "topmenuSlot"], never, true, never>;
|
|
4615
|
+
}
|
|
4616
|
+
|
|
4617
|
+
interface AcpTopmenuTag {
|
|
4618
|
+
color: string;
|
|
4619
|
+
value: string;
|
|
4620
|
+
}
|
|
4621
|
+
interface AcpTopmenuPermissions {
|
|
4622
|
+
only?: string | string[];
|
|
4623
|
+
except?: string | string[];
|
|
4624
|
+
}
|
|
4625
|
+
interface AcpTopmenuChildItem {
|
|
4626
|
+
route: string;
|
|
4627
|
+
name: string;
|
|
4628
|
+
type: 'link' | 'sub' | 'extLink' | 'extTabLink';
|
|
4629
|
+
children?: AcpTopmenuChildItem[];
|
|
4630
|
+
permissions?: AcpTopmenuPermissions;
|
|
4631
|
+
active?: WritableSignal<boolean>;
|
|
4632
|
+
}
|
|
4633
|
+
interface AcpTopmenuItem {
|
|
4634
|
+
route: string;
|
|
4635
|
+
name: string;
|
|
4636
|
+
type: 'link' | 'sub' | 'extLink' | 'extTabLink';
|
|
4637
|
+
icon: string;
|
|
4638
|
+
label?: AcpTopmenuTag;
|
|
4639
|
+
badge?: AcpTopmenuTag;
|
|
4640
|
+
children?: AcpTopmenuChildItem[];
|
|
4641
|
+
permissions?: AcpTopmenuPermissions;
|
|
4642
|
+
active?: WritableSignal<boolean>;
|
|
4643
|
+
}
|
|
4644
|
+
|
|
4645
|
+
declare class AcpTopmenu {
|
|
4646
|
+
private readonly router;
|
|
4647
|
+
private readonly destroyRef;
|
|
4648
|
+
readonly items: _angular_core.InputSignal<AcpTopmenuItem[]>;
|
|
4649
|
+
readonly buildRoute: _angular_core.InputSignal<(routeArr: string[]) => string>;
|
|
4650
|
+
readonly routeChange: _angular_core.OutputEmitterRef<{
|
|
4651
|
+
rla: RouterLinkActive;
|
|
4652
|
+
item: AcpTopmenuItem | AcpTopmenuChildItem;
|
|
4653
|
+
}>;
|
|
4654
|
+
constructor();
|
|
4655
|
+
onRouteChange(rla: RouterLinkActive, menuItem: AcpTopmenuItem): void;
|
|
4656
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpTopmenu, never>;
|
|
4657
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpTopmenu, "acp-topmenu", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "buildRoute": { "alias": "buildRoute"; "required": false; "isSignal": true; }; }, { "routeChange": "routeChange"; }, never, never, true, never>;
|
|
4658
|
+
}
|
|
4659
|
+
|
|
4660
|
+
declare class AcpTopmenuPanel {
|
|
4661
|
+
private readonly router;
|
|
4662
|
+
private readonly destroyRef;
|
|
4663
|
+
readonly menuPanel: _angular_core.Signal<MatMenu>;
|
|
4664
|
+
readonly items: _angular_core.InputSignal<AcpTopmenuChildItem[]>;
|
|
4665
|
+
readonly parentRoute: _angular_core.InputSignal<string[]>;
|
|
4666
|
+
readonly level: _angular_core.InputSignal<number>;
|
|
4667
|
+
readonly buildRoute: _angular_core.InputSignal<(routeArr: string[]) => string>;
|
|
4668
|
+
readonly routeChange: _angular_core.OutputEmitterRef<{
|
|
4669
|
+
rla: RouterLinkActive;
|
|
4670
|
+
item: AcpTopmenuChildItem;
|
|
4671
|
+
}>;
|
|
4672
|
+
constructor();
|
|
4673
|
+
onRouterLinkClick(rla: RouterLinkActive): void;
|
|
4674
|
+
onRouteChange(rla: RouterLinkActive, menuItem: AcpTopmenuChildItem): void;
|
|
4675
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpTopmenuPanel, never>;
|
|
4676
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpTopmenuPanel, "acp-topmenu-panel", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "parentRoute": { "alias": "parentRoute"; "required": false; "isSignal": true; }; "level": { "alias": "level"; "required": false; "isSignal": true; }; "buildRoute": { "alias": "buildRoute"; "required": false; "isSignal": true; }; }, { "routeChange": "routeChange"; }, never, never, true, never>;
|
|
4677
|
+
}
|
|
4678
|
+
|
|
3121
4679
|
declare class ToUpperCase implements ControlValueAccessor {
|
|
3122
4680
|
private readonly el;
|
|
3123
4681
|
private readonly renderer;
|
|
@@ -3197,5 +4755,5 @@ declare class StatusDisplayPipe implements PipeTransform {
|
|
|
3197
4755
|
static ɵpipe: _angular_core.ɵɵPipeDeclaration<StatusDisplayPipe, "statusDisplay", true>;
|
|
3198
4756
|
}
|
|
3199
4757
|
|
|
3200
|
-
export { ACP_ACTIVE_DATE_DEBOUNCE, ACP_BADGE_COLORS, ACP_BADGE_SHAPES, ACP_BADGE_SIZES, ACP_BADGE_VARIANTS, ACP_DATE_OPTION_TYPE, ACP_DEFAULT_DATE_OPTIONS, ACP_DRAWER_DATA, ACP_DRAWER_DEFAULT_OPTIONS, ACP_POPOVER_CONTENT, ACP_POPOVER_DEFAULT_OPTIONS, ACP_POPOVER_SCROLL_STRATEGY, AcpAlert, AcpBadge, AcpButton, AcpCheckboxBase, AcpCheckboxGroup, AcpDateRangeInput, AcpDrawer, AcpDrawerConfig, AcpDrawerContainer, AcpDrawerRef, AcpKpiCard, AcpPopover, AcpPopoverContent, AcpPopoverTarget, AcpPopoverTrigger, AcpSelectDateOption, AdvancedDialogService, Button, DATA_GRID_DEFAULT_OPTIONS, DataGrid, DateRangePicker, DialogWrapper, DialogZIndexService, DynamicCard, DynamicSelect, GetTotalPipe, IconRegistryService, InputChip, KPI_CARD_TOKENS, KPI_CARD_TREND_CONFIGS, KeyboardNavigationService, OverlayService, Pagination, Spinner, StatusDisplayPipe, SvgIcon, TREND_CONFIGS, TabulatorTable, ThemeSwitcher, ThemeToggle, ToUpperCase, UserIcon, _AcpPopoverContentBase, formatValue };
|
|
3201
|
-
export type { AcpAlertType, AcpBadgeColor, AcpBadgeShape, AcpBadgeSize, AcpBadgeTrend, AcpBadgeTrendConfig, AcpBadgeVariant, AcpCheckboxGroupOption, AcpKpiCardColor, AcpKpiCardLayout, AcpKpiCardSize, AcpKpiCardTrend, AcpKpiCardTrendConfig, AcpKpiCardVariant, AcpPopoverDefaultOptions, AcpPopoverPanel, AcpPopoverPosition, AcpPopoverPositionEnd, AcpPopoverPositionStart, AcpPopoverTriggerEvent, AcpSelectedDateEvent, AutoFocusTarget, DataGridButtonType, DataGridCellTemplate, DataGridColumn, DataGridColumnButton, DataGridColumnButtonBadge, DataGridColumnButtonPop, DataGridColumnButtonTooltip, DataGridColumnPinOption, DataGridColumnPinValue, DataGridColumnTag, DataGridColumnTagValue, DataGridColumnType, DataGridColumnTypeParameter, DataGridDefaultOptions, DataGridMenuItem, DataGridRowClassFormatter, DataGridRowSelectionFormatter, DataGridSortProp, DateRangePickerOptions, DateRangeValue, DialogSize, DialogType, DialogWrapperConfig, DrawerPosition, FocusableElement, IAcpSelectDateOption, IconRegistryConfig, MatCustomDialogConfig, PaginationOptions, PopoverCloseReason, TabulatorColumn, TabulatorConfig, TabulatorEventHandlers, TabulatorTheme };
|
|
4758
|
+
export { ACP_ACTIVE_DATE_DEBOUNCE, ACP_BADGE_COLORS, ACP_BADGE_SHAPES, ACP_BADGE_SIZES, ACP_BADGE_VARIANTS, ACP_DATE_OPTION_TYPE, ACP_DEFAULT_DATE_OPTIONS, ACP_DRAWER_DATA, ACP_DRAWER_DEFAULT_OPTIONS, ACP_POPOVER_CONTENT, ACP_POPOVER_DEFAULT_OPTIONS, ACP_POPOVER_SCROLL_STRATEGY, AcpAlert, AcpBadge, AcpButton, AcpCard, AcpCheckboxBase, AcpCheckboxGroup, AcpContextMenu, AcpContextMenuDirective, AcpContextMenuPanel, AcpContextMenuService, AcpDateRangeInput, AcpDrawer, AcpDrawerConfig, AcpDrawerContainer, AcpDrawerRef, AcpHeader, AcpHeaderActions, AcpHeaderBranding, AcpHeaderCenter, AcpHeaderEnd, AcpHeaderLanguage, AcpHeaderNotifications, AcpHeaderStart, AcpHeaderTheme, AcpHeaderWorkspace, AcpKpiCard, AcpPopover, AcpPopoverContent, AcpPopoverTarget, AcpPopoverTrigger, AcpSelectDateOption, AcpShellLayout, AcpShellSlotHeader, AcpShellSlotSidebar, AcpShellSlotSidebarFooter, AcpShellSlotToolbar, AcpShellSlotTopmenu, AcpSidebar, AcpSidebarBranding, AcpSidebarContent, AcpSidebarHeader, AcpSidebarToggle, AcpSidebarUserPanel, AcpTopmenu, AcpTopmenuPanel, AdvancedDialogService, Branding, Button, CONTEXT_MENU_DATA, CONTEXT_MENU_ITEMS, DATA_GRID_DEFAULT_OPTIONS, DataGrid, DateRangePicker, DialogWrapper, DialogZIndexService, DynamicCard, DynamicSelect, GetTotalPipe, IconRegistryService, InputChip, KPI_CARD_TOKENS, KPI_CARD_TREND_CONFIGS, KeyboardNavigationService, NavAccordionDirective, NavAccordionItemDirective, NavAccordionToggleDirective, OverlayService, Pagination, SidemenuComponent, Spinner, StatusDisplayPipe, SvgIcon, TREND_CONFIGS, TabulatorTable, ThemeSwitcher, ThemeToggle, ToUpperCase, UserIcon, UserMenu, UserPanel, _AcpPopoverContentBase, formatValue };
|
|
4759
|
+
export type { AcpAlertType, AcpBadgeColor, AcpBadgeShape, AcpBadgeSize, AcpBadgeTrend, AcpBadgeTrendConfig, AcpBadgeVariant, AcpCardAppearance, AcpCardBackgroundColor, AcpCardBadge, AcpCardConfig, AcpCardElevation, AcpCardImageRatio, AcpCardPadding, AcpCardPassThroughOptions, AcpCardPassThroughSection, AcpCheckboxGroupOption, AcpContextMenuItem, AcpContextMenuItemContext, AcpContextMenuOpenConfig, AcpContextMenuPosition, AcpContextMenuRef, AcpContextMenuTriggerConfig, AcpDir, AcpHeaderAction, AcpHeaderActionEvent, AcpHeaderBrandingConfig, AcpHeaderConfig, AcpHeaderPos, AcpHeaderUserMenuConfig, AcpHeaderUserMenuItem, AcpHeaderUserMenuItemEvent, AcpKpiCardColor, AcpKpiCardLayout, AcpKpiCardSize, AcpKpiCardTrend, AcpKpiCardTrendConfig, AcpKpiCardVariant, AcpLanguageItem, AcpNavPos, AcpNotificationItem, AcpPopoverDefaultOptions, AcpPopoverPanel, AcpPopoverPosition, AcpPopoverPositionEnd, AcpPopoverPositionStart, AcpPopoverTriggerEvent, AcpSelectedDateEvent, AcpThemeVariant, AcpTopmenuChildItem, AcpTopmenuItem, AcpTopmenuPermissions, AcpTopmenuTag, AcpWorkspaceItem, AutoFocusTarget, DataGridButtonType, DataGridCellTemplate, DataGridColumn, DataGridColumnButton, DataGridColumnButtonBadge, DataGridColumnButtonPop, DataGridColumnButtonTooltip, DataGridColumnPinOption, DataGridColumnPinValue, DataGridColumnTag, DataGridColumnTagValue, DataGridColumnType, DataGridColumnTypeParameter, DataGridDefaultOptions, DataGridMenuItem, DataGridRowClassFormatter, DataGridRowSelectionFormatter, DataGridSortProp, DateRangePickerOptions, DateRangeValue, DialogSize, DialogType, DialogWrapperConfig, DrawerPosition, FocusableElement, IAcpSelectDateOption, IconRegistryConfig, MatCustomDialogConfig, MenuItem, MenuPermissions, MenuTag, PaginationOptions, PopoverCloseReason, TabulatorColumn, TabulatorConfig, TabulatorEventHandlers, TabulatorTheme, UserMenuItem, UserMenuSelectedEvent, UserProfile };
|