@pecb-ui/components 1.1.13 → 1.1.16
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/data-display/index.d.ts +1 -1
- package/feedback/index.d.ts +1 -1
- package/fesm2022/pecb-ui-components-data-display.mjs +2 -2
- package/fesm2022/pecb-ui-components-data-display.mjs.map +1 -1
- package/fesm2022/pecb-ui-components-feedback.mjs +1 -1
- package/fesm2022/pecb-ui-components-feedback.mjs.map +1 -1
- package/fesm2022/pecb-ui-components-forms.mjs +1 -1
- package/fesm2022/pecb-ui-components-forms.mjs.map +1 -1
- package/fesm2022/pecb-ui-components-layout.mjs +1 -1
- package/fesm2022/pecb-ui-components-layout.mjs.map +1 -1
- package/fesm2022/pecb-ui-components-overlays.mjs +1 -1
- package/fesm2022/pecb-ui-components-overlays.mjs.map +1 -1
- package/fesm2022/pecb-ui-components.mjs +3374 -1031
- package/fesm2022/pecb-ui-components.mjs.map +1 -1
- package/forms/index.d.ts +1 -1
- package/index.d.ts +1319 -121
- package/layout/index.d.ts +1 -1
- package/overlays/index.d.ts +1 -1
- package/package.json +1 -1
- package/styles/components/_overlays.scss +65 -0
- package/styles/main.scss +3 -0
package/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { ControlValueAccessor } from '@angular/forms';
|
|
|
7
7
|
import * as _pecb_ui_components from '@pecb-ui/components';
|
|
8
8
|
import { Observable } from 'rxjs';
|
|
9
9
|
|
|
10
|
-
type ButtonVariant = 'primary' | 'primary-outline' | 'primary-2' | 'primary-2-outline' | 'neutral' | 'neutral-outline' | 'secondary' | 'text' | 'text-muted' | 'text-brand' | 'destructive' | 'destructive-outline';
|
|
10
|
+
type ButtonVariant = 'primary' | 'primary-outline' | 'primary-2' | 'primary-2-outline' | 'neutral' | 'neutral-outline' | 'secondary' | 'text' | 'text-muted' | 'text-brand' | 'success' | 'destructive' | 'destructive-outline';
|
|
11
11
|
type ButtonSize = 'sm' | 'md' | 'lg' | 'xl';
|
|
12
12
|
type ButtonIconStyle = 'none' | 'leading' | 'trailing' | 'icon-only';
|
|
13
13
|
declare class ButtonComponent {
|
|
@@ -2128,7 +2128,7 @@ declare class ConfirmationComponent implements OnDestroy {
|
|
|
2128
2128
|
}
|
|
2129
2129
|
|
|
2130
2130
|
type AlertType = 'info' | 'success' | 'warning' | 'error';
|
|
2131
|
-
type AlertVariant = 'banner' | 'filled';
|
|
2131
|
+
type AlertVariant = 'banner' | 'filled' | 'callout';
|
|
2132
2132
|
declare class AlertComponent implements OnDestroy {
|
|
2133
2133
|
type: _angular_core.InputSignal<AlertType>;
|
|
2134
2134
|
variant: _angular_core.InputSignal<AlertVariant>;
|
|
@@ -2437,14 +2437,14 @@ declare class TooltipDirective implements OnDestroy {
|
|
|
2437
2437
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TooltipDirective, "[pecbTooltip]", never, { "pecbTooltip": { "alias": "pecbTooltip"; "required": false; "isSignal": true; }; "tooltipTitle": { "alias": "tooltipTitle"; "required": false; "isSignal": true; }; "tooltipTheme": { "alias": "tooltipTheme"; "required": false; "isSignal": true; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; "isSignal": true; }; "tooltipTrigger": { "alias": "tooltipTrigger"; "required": false; "isSignal": true; }; "tooltipPrimaryCta": { "alias": "tooltipPrimaryCta"; "required": false; "isSignal": true; }; "tooltipSecondaryCta": { "alias": "tooltipSecondaryCta"; "required": false; "isSignal": true; }; }, { "tooltipPrimaryCtaClick": "tooltipPrimaryCtaClick"; "tooltipSecondaryCtaClick": "tooltipSecondaryCtaClick"; }, never, never, true, never>;
|
|
2438
2438
|
}
|
|
2439
2439
|
|
|
2440
|
-
type MetricsCardVariation = '1' | '2' | '3' | '4' | '5' | '6';
|
|
2440
|
+
type MetricsCardVariation = '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8';
|
|
2441
2441
|
type MetricsCardType = 'data+cta' | 'data-only';
|
|
2442
2442
|
type MetricsCardOrientation = 'left-aligned' | 'center';
|
|
2443
2443
|
type MetricsCardBadgeStatus = 'success' | 'warning' | 'error' | 'info';
|
|
2444
|
-
type MetricsCardIconBg = 'white' | 'pending' | 'success' | 'error' | 'info' | 'purple';
|
|
2444
|
+
type MetricsCardIconBg = 'white' | 'gray' | 'pending' | 'success' | 'error' | 'info' | 'purple';
|
|
2445
2445
|
declare class MetricsCardComponent {
|
|
2446
2446
|
private sanitizer;
|
|
2447
|
-
/** Layout variation (1–
|
|
2447
|
+
/** Layout variation (1–8) matching the Figma design; 7 is the member-dashboard enroll card, 8 the compact stat tile (value → label, small icon top-right) */
|
|
2448
2448
|
variation: _angular_core.InputSignal<MetricsCardVariation>;
|
|
2449
2449
|
/** Whether to render a CTA button/link */
|
|
2450
2450
|
type: _angular_core.InputSignal<MetricsCardType>;
|
|
@@ -2483,7 +2483,7 @@ declare class MetricsCardComponent {
|
|
|
2483
2483
|
ctaClicked: _angular_core.OutputEmitterRef<void>;
|
|
2484
2484
|
safeIconSvg: _angular_core.Signal<_angular_platform_browser.SafeHtml | null>;
|
|
2485
2485
|
get hostClasses(): string;
|
|
2486
|
-
/** Footer CTA renders for variations 2, 3, 4 (left-aligned) and 6 (center) */
|
|
2486
|
+
/** Footer CTA renders for variations 2, 3, 4, 8 (left-aligned) and 6 (center) */
|
|
2487
2487
|
get showFooterCta(): boolean;
|
|
2488
2488
|
/** Inline CTA link renders for variations 1 and 5 */
|
|
2489
2489
|
get showInlineCta(): boolean;
|
|
@@ -2498,6 +2498,495 @@ declare class MetricsCardComponent {
|
|
|
2498
2498
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MetricsCardComponent, "pecb-metrics-card", never, { "variation": { "alias": "variation"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "hasBadge": { "alias": "hasBadge"; "required": false; "isSignal": true; }; "badgeText": { "alias": "badgeText"; "required": false; "isSignal": true; }; "badgeStatus": { "alias": "badgeStatus"; "required": false; "isSignal": true; }; "hasDescription": { "alias": "hasDescription"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "ctaText": { "alias": "ctaText"; "required": false; "isSignal": true; }; "hasIcon": { "alias": "hasIcon"; "required": false; "isSignal": true; }; "iconSvg": { "alias": "iconSvg"; "required": false; "isSignal": true; }; "iconBg": { "alias": "iconBg"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": false; "isSignal": true; }; "subtext": { "alias": "subtext"; "required": false; "isSignal": true; }; }, { "ctaClicked": "ctaClicked"; }, never, never, true, never>;
|
|
2499
2499
|
}
|
|
2500
2500
|
|
|
2501
|
+
/**
|
|
2502
|
+
* Badge variant type.
|
|
2503
|
+
* - `dot`: small 6px red dot indicator
|
|
2504
|
+
* - `count`: numbered badge (default or small size)
|
|
2505
|
+
* - `status`: colored dot + text label
|
|
2506
|
+
* - `soft`: dot-less pill — tinted background + colored text (uses `status` for the tone)
|
|
2507
|
+
* - `ribbon`: colored tag with bottom-right arrow fold
|
|
2508
|
+
*/
|
|
2509
|
+
type BadgeVariant = 'dot' | 'count' | 'status' | 'soft' | 'ribbon';
|
|
2510
|
+
/**
|
|
2511
|
+
* Count badge size.
|
|
2512
|
+
* - `default`: 20px height, 14px font
|
|
2513
|
+
* - `small`: 14px height, 12px font
|
|
2514
|
+
*/
|
|
2515
|
+
type BadgeSize = 'default' | 'small';
|
|
2516
|
+
/**
|
|
2517
|
+
* Status badge type — determines the dot color.
|
|
2518
|
+
*/
|
|
2519
|
+
type BadgeStatus = 'success' | 'error' | 'default' | 'processing' | 'warning';
|
|
2520
|
+
/**
|
|
2521
|
+
* Ribbon badge color.
|
|
2522
|
+
*/
|
|
2523
|
+
type RibbonColor = 'blue' | 'orange' | 'gray' | 'red' | 'purple' | 'green' | 'black';
|
|
2524
|
+
/**
|
|
2525
|
+
* Badge component matching the PECB Figma design system.
|
|
2526
|
+
*
|
|
2527
|
+
* Three sub-types: Basic (dot/count), Status (dot + label), Ribbon (colored tag).
|
|
2528
|
+
*
|
|
2529
|
+
* @example
|
|
2530
|
+
* ```html
|
|
2531
|
+
* <!-- Dot indicator -->
|
|
2532
|
+
* <pecb-badge variant="dot"></pecb-badge>
|
|
2533
|
+
*
|
|
2534
|
+
* <!-- Count badge -->
|
|
2535
|
+
* <pecb-badge variant="count" [count]="21"></pecb-badge>
|
|
2536
|
+
* <pecb-badge variant="count" [count]="5" size="small"></pecb-badge>
|
|
2537
|
+
*
|
|
2538
|
+
* <!-- Status badge -->
|
|
2539
|
+
* <pecb-badge variant="status" status="success"></pecb-badge>
|
|
2540
|
+
* <pecb-badge variant="status" status="error" label="Failed"></pecb-badge>
|
|
2541
|
+
*
|
|
2542
|
+
* <!-- Ribbon badge -->
|
|
2543
|
+
* <pecb-badge variant="ribbon" ribbonColor="blue" text="New"></pecb-badge>
|
|
2544
|
+
* ```
|
|
2545
|
+
*/
|
|
2546
|
+
declare class BadgeComponent {
|
|
2547
|
+
/** Unique element ID */
|
|
2548
|
+
id: _angular_core.InputSignal<string>;
|
|
2549
|
+
/** Badge variant */
|
|
2550
|
+
variant: _angular_core.InputSignal<BadgeVariant>;
|
|
2551
|
+
/** Count number (for variant='count') */
|
|
2552
|
+
count: _angular_core.InputSignal<number>;
|
|
2553
|
+
/** Max count before showing "99+" (for variant='count') */
|
|
2554
|
+
maxCount: _angular_core.InputSignal<number>;
|
|
2555
|
+
/** Count badge size */
|
|
2556
|
+
size: _angular_core.InputSignal<BadgeSize>;
|
|
2557
|
+
/** Status type (for variant='status') */
|
|
2558
|
+
status: _angular_core.InputSignal<BadgeStatus>;
|
|
2559
|
+
/** Label text (for variant='status'). Defaults to the status name. */
|
|
2560
|
+
label: _angular_core.InputSignal<string>;
|
|
2561
|
+
/** Whether to show the label text (for variant='status') */
|
|
2562
|
+
showLabel: _angular_core.InputSignal<boolean>;
|
|
2563
|
+
/** Ribbon color (for variant='ribbon') */
|
|
2564
|
+
ribbonColor: _angular_core.InputSignal<RibbonColor>;
|
|
2565
|
+
/** Ribbon/badge text (for variant='ribbon') */
|
|
2566
|
+
text: _angular_core.InputSignal<string>;
|
|
2567
|
+
/** Aria-label for the dot indicator (variant='dot'). */
|
|
2568
|
+
notificationAriaLabel: _angular_core.InputSignal<string>;
|
|
2569
|
+
/** Word appended after the count in the count badge's aria-label (variant='count'). */
|
|
2570
|
+
notificationsLabel: _angular_core.InputSignal<string>;
|
|
2571
|
+
/** Formatted count display */
|
|
2572
|
+
displayCount: _angular_core.Signal<string>;
|
|
2573
|
+
/** Status label — uses explicit label or falls back to status name */
|
|
2574
|
+
statusLabel: _angular_core.Signal<string>;
|
|
2575
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BadgeComponent, never>;
|
|
2576
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BadgeComponent, "pecb-badge", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "count": { "alias": "count"; "required": false; "isSignal": true; }; "maxCount": { "alias": "maxCount"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "showLabel": { "alias": "showLabel"; "required": false; "isSignal": true; }; "ribbonColor": { "alias": "ribbonColor"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "notificationAriaLabel": { "alias": "notificationAriaLabel"; "required": false; "isSignal": true; }; "notificationsLabel": { "alias": "notificationsLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2577
|
+
}
|
|
2578
|
+
|
|
2579
|
+
/** Tint applied to the head icon (and mapped to the status pill colour). */
|
|
2580
|
+
type CredentialCardTone = 'success' | 'warning' | 'error' | 'neutral';
|
|
2581
|
+
/** Plain label/value line in the card body (e.g. Issued / Expires). */
|
|
2582
|
+
interface CredentialCardMetaRow {
|
|
2583
|
+
label: string;
|
|
2584
|
+
value: string;
|
|
2585
|
+
}
|
|
2586
|
+
/** Progress line with a bar and an inline "+" action (e.g. earned credits, paid fees). */
|
|
2587
|
+
interface CredentialCardProgress {
|
|
2588
|
+
/** Echoed back on (progressAction) */
|
|
2589
|
+
id: string;
|
|
2590
|
+
label: string;
|
|
2591
|
+
/** Right-aligned counter text, e.g. "30/90" */
|
|
2592
|
+
valueText: string;
|
|
2593
|
+
/** 0-100; colours the bar: 100 green, >=50 orange, below red */
|
|
2594
|
+
percent: number;
|
|
2595
|
+
/** Disables the "+" button (e.g. requirement already met) */
|
|
2596
|
+
actionDisabled?: boolean;
|
|
2597
|
+
actionAriaLabel?: string;
|
|
2598
|
+
}
|
|
2599
|
+
/** Footer action button. */
|
|
2600
|
+
interface CredentialCardAction {
|
|
2601
|
+
/** Echoed back on (actionClick) */
|
|
2602
|
+
id: string;
|
|
2603
|
+
label: string;
|
|
2604
|
+
/** 'primary' = solid dark, 'ghost' = outline; defaults to 'ghost' */
|
|
2605
|
+
variant?: 'primary' | 'ghost';
|
|
2606
|
+
/** Raw SVG string rendered before the label */
|
|
2607
|
+
icon?: string;
|
|
2608
|
+
disabled?: boolean;
|
|
2609
|
+
}
|
|
2610
|
+
/**
|
|
2611
|
+
* Credential card — a summary tile for a credential/qualification.
|
|
2612
|
+
*
|
|
2613
|
+
* Composes the head (award icon + status pill + title), a digital-badge row with a Claim/View button, meta rows, progress bars with inline "+" actions, a
|
|
2614
|
+
* tinted notice (expired/suspended/revoked/pending reasons — supports <b> markup),
|
|
2615
|
+
* footer action buttons, an optional centered link and an optional muted footnote.
|
|
2616
|
+
* Purely presentational: every interaction surfaces through outputs.
|
|
2617
|
+
*/
|
|
2618
|
+
declare class CredentialCardComponent {
|
|
2619
|
+
private sanitizer;
|
|
2620
|
+
/** Credential title */
|
|
2621
|
+
title: _angular_core.InputSignal<string>;
|
|
2622
|
+
/** Head icon tint + status pill colour */
|
|
2623
|
+
tone: _angular_core.InputSignal<CredentialCardTone>;
|
|
2624
|
+
/** Status pill text; pill hidden when empty */
|
|
2625
|
+
statusLabel: _angular_core.InputSignal<string>;
|
|
2626
|
+
/** Show the badge (digital badge) row */
|
|
2627
|
+
showBadge: _angular_core.InputSignal<boolean>;
|
|
2628
|
+
/** Badge row label */
|
|
2629
|
+
badgeLabel: _angular_core.InputSignal<string>;
|
|
2630
|
+
/** Whether the digital badge has been claimed */
|
|
2631
|
+
badgeClaimed: _angular_core.InputSignal<boolean>;
|
|
2632
|
+
claimedLabel: _angular_core.InputSignal<string>;
|
|
2633
|
+
notClaimedLabel: _angular_core.InputSignal<string>;
|
|
2634
|
+
/** Claim/View button text; button hidden when empty */
|
|
2635
|
+
badgeButtonLabel: _angular_core.InputSignal<string>;
|
|
2636
|
+
/** Label/value lines (Issued, Expires, ...) */
|
|
2637
|
+
metaRows: _angular_core.InputSignal<CredentialCardMetaRow[]>;
|
|
2638
|
+
/** Progress lines (credits, fees, ...) */
|
|
2639
|
+
progressRows: _angular_core.InputSignal<CredentialCardProgress[]>;
|
|
2640
|
+
/** Notice text (supports <b>); hidden when empty */
|
|
2641
|
+
noticeText: _angular_core.InputSignal<string>;
|
|
2642
|
+
/** Notice tint */
|
|
2643
|
+
noticeTone: _angular_core.InputSignal<"error" | "warning">;
|
|
2644
|
+
/** Footer buttons */
|
|
2645
|
+
actions: _angular_core.InputSignal<CredentialCardAction[]>;
|
|
2646
|
+
/** 'row' = side by side, 'stack' = full-width column */
|
|
2647
|
+
actionsLayout: _angular_core.InputSignal<"row" | "stack">;
|
|
2648
|
+
/** Centered text link under the actions (e.g. a policy link); hidden when empty */
|
|
2649
|
+
linkLabel: _angular_core.InputSignal<string>;
|
|
2650
|
+
/** Muted centered footnote (e.g. an in-progress note); hidden when empty */
|
|
2651
|
+
footnote: _angular_core.InputSignal<string>;
|
|
2652
|
+
/** Claim/View button clicked */
|
|
2653
|
+
badgeAction: _angular_core.OutputEmitterRef<void>;
|
|
2654
|
+
/** A progress row's "+" clicked — emits the row id */
|
|
2655
|
+
progressAction: _angular_core.OutputEmitterRef<string>;
|
|
2656
|
+
/** A footer action clicked — emits the action id */
|
|
2657
|
+
actionClick: _angular_core.OutputEmitterRef<string>;
|
|
2658
|
+
/** The centered link clicked */
|
|
2659
|
+
linkClick: _angular_core.OutputEmitterRef<void>;
|
|
2660
|
+
readonly awardIcon: _angular_platform_browser.SafeHtml;
|
|
2661
|
+
readonly plusIcon: _angular_platform_browser.SafeHtml;
|
|
2662
|
+
readonly safeNotice: _angular_core.Signal<_angular_platform_browser.SafeHtml | null>;
|
|
2663
|
+
readonly pillStatus: _angular_core.Signal<BadgeStatus>;
|
|
2664
|
+
clampPercent(percent: number): number;
|
|
2665
|
+
barToneClass(percent: number): string;
|
|
2666
|
+
actionClass(action: CredentialCardAction): string;
|
|
2667
|
+
safeSvg(svg: string | undefined): _angular_platform_browser.SafeHtml | null;
|
|
2668
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CredentialCardComponent, never>;
|
|
2669
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CredentialCardComponent, "pecb-credential-card", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "tone": { "alias": "tone"; "required": false; "isSignal": true; }; "statusLabel": { "alias": "statusLabel"; "required": false; "isSignal": true; }; "showBadge": { "alias": "showBadge"; "required": false; "isSignal": true; }; "badgeLabel": { "alias": "badgeLabel"; "required": false; "isSignal": true; }; "badgeClaimed": { "alias": "badgeClaimed"; "required": false; "isSignal": true; }; "claimedLabel": { "alias": "claimedLabel"; "required": false; "isSignal": true; }; "notClaimedLabel": { "alias": "notClaimedLabel"; "required": false; "isSignal": true; }; "badgeButtonLabel": { "alias": "badgeButtonLabel"; "required": false; "isSignal": true; }; "metaRows": { "alias": "metaRows"; "required": false; "isSignal": true; }; "progressRows": { "alias": "progressRows"; "required": false; "isSignal": true; }; "noticeText": { "alias": "noticeText"; "required": false; "isSignal": true; }; "noticeTone": { "alias": "noticeTone"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "actionsLayout": { "alias": "actionsLayout"; "required": false; "isSignal": true; }; "linkLabel": { "alias": "linkLabel"; "required": false; "isSignal": true; }; "footnote": { "alias": "footnote"; "required": false; "isSignal": true; }; }, { "badgeAction": "badgeAction"; "progressAction": "progressAction"; "actionClick": "actionClick"; "linkClick": "linkClick"; }, never, never, true, never>;
|
|
2670
|
+
}
|
|
2671
|
+
|
|
2672
|
+
/**
|
|
2673
|
+
* Payment plan card — one selectable payment option (e.g. "Pay annually" vs
|
|
2674
|
+
* "Pay full cycle"): centered title/description, applied-benefit chips, an
|
|
2675
|
+
* old/new price pair, a tinted bullet box and a full-width action button.
|
|
2676
|
+
* `emphasized` renders the dark-border "best value" treatment with an optional
|
|
2677
|
+
* corner badge (e.g. "Save $65").
|
|
2678
|
+
*/
|
|
2679
|
+
declare class PaymentPlanCardComponent {
|
|
2680
|
+
private sanitizer;
|
|
2681
|
+
title: _angular_core.InputSignal<string>;
|
|
2682
|
+
/** Short line under the title */
|
|
2683
|
+
description: _angular_core.InputSignal<string>;
|
|
2684
|
+
/** Corner badge text (e.g. "Save $65"); hidden when empty */
|
|
2685
|
+
badgeText: _angular_core.InputSignal<string>;
|
|
2686
|
+
/** Small check-prefixed chips above the price (e.g. "Cap Applied") */
|
|
2687
|
+
appliedChips: _angular_core.InputSignal<string[]>;
|
|
2688
|
+
/** Struck-through price, hidden when empty (e.g. "$780.00") */
|
|
2689
|
+
oldPriceText: _angular_core.InputSignal<string>;
|
|
2690
|
+
/** Highlighted price (e.g. "$585.00") */
|
|
2691
|
+
priceText: _angular_core.InputSignal<string>;
|
|
2692
|
+
/** Muted line under the price */
|
|
2693
|
+
subText: _angular_core.InputSignal<string>;
|
|
2694
|
+
/** Tinted box bullet lines — support <b> markup */
|
|
2695
|
+
bullets: _angular_core.InputSignal<string[]>;
|
|
2696
|
+
buttonLabel: _angular_core.InputSignal<string>;
|
|
2697
|
+
buttonVariant: _angular_core.InputSignal<"primary" | "ghost">;
|
|
2698
|
+
buttonDisabled: _angular_core.InputSignal<boolean>;
|
|
2699
|
+
/** Dark-border "best value" treatment */
|
|
2700
|
+
emphasized: _angular_core.InputSignal<boolean>;
|
|
2701
|
+
action: _angular_core.OutputEmitterRef<void>;
|
|
2702
|
+
readonly safeBullets: _angular_core.Signal<_angular_platform_browser.SafeHtml[]>;
|
|
2703
|
+
get cardClasses(): string;
|
|
2704
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PaymentPlanCardComponent, never>;
|
|
2705
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PaymentPlanCardComponent, "pecb-payment-plan-card", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "badgeText": { "alias": "badgeText"; "required": false; "isSignal": true; }; "appliedChips": { "alias": "appliedChips"; "required": false; "isSignal": true; }; "oldPriceText": { "alias": "oldPriceText"; "required": false; "isSignal": true; }; "priceText": { "alias": "priceText"; "required": false; "isSignal": true; }; "subText": { "alias": "subText"; "required": false; "isSignal": true; }; "bullets": { "alias": "bullets"; "required": false; "isSignal": true; }; "buttonLabel": { "alias": "buttonLabel"; "required": false; "isSignal": true; }; "buttonVariant": { "alias": "buttonVariant"; "required": false; "isSignal": true; }; "buttonDisabled": { "alias": "buttonDisabled"; "required": false; "isSignal": true; }; "emphasized": { "alias": "emphasized"; "required": false; "isSignal": true; }; }, { "action": "action"; }, never, never, true, never>;
|
|
2706
|
+
}
|
|
2707
|
+
|
|
2708
|
+
/** One line of the payment summary. */
|
|
2709
|
+
interface PaymentSummaryRow {
|
|
2710
|
+
label: string;
|
|
2711
|
+
valueText: string;
|
|
2712
|
+
/** 'success' tints the value green (e.g. a discount) */
|
|
2713
|
+
highlight?: 'success' | 'none';
|
|
2714
|
+
/** Bold/large emphasis (e.g. the final total) */
|
|
2715
|
+
emphasis?: boolean;
|
|
2716
|
+
}
|
|
2717
|
+
/**
|
|
2718
|
+
* Payment summary panel — totals rows, an optional savings note, projected
|
|
2719
|
+
* content (e.g. a tax breakdown) and a full-width pay button. Presentational;
|
|
2720
|
+
* make it sticky from the consumer when needed.
|
|
2721
|
+
*/
|
|
2722
|
+
declare class PaymentSummaryComponent {
|
|
2723
|
+
heading: _angular_core.InputSignal<string>;
|
|
2724
|
+
rows: _angular_core.InputSignal<PaymentSummaryRow[]>;
|
|
2725
|
+
/** Muted line under the rows (e.g. "You save $65.00"); hidden when empty */
|
|
2726
|
+
saveNote: _angular_core.InputSignal<string>;
|
|
2727
|
+
buttonLabel: _angular_core.InputSignal<string>;
|
|
2728
|
+
buttonDisabled: _angular_core.InputSignal<boolean>;
|
|
2729
|
+
action: _angular_core.OutputEmitterRef<void>;
|
|
2730
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PaymentSummaryComponent, never>;
|
|
2731
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PaymentSummaryComponent, "pecb-payment-summary", never, { "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "saveNote": { "alias": "saveNote"; "required": false; "isSignal": true; }; "buttonLabel": { "alias": "buttonLabel"; "required": false; "isSignal": true; }; "buttonDisabled": { "alias": "buttonDisabled"; "required": false; "isSignal": true; }; }, { "action": "action"; }, never, ["*"], true, never>;
|
|
2732
|
+
}
|
|
2733
|
+
|
|
2734
|
+
/** One period checkbox of a schedule card. Fully controlled by the consumer. */
|
|
2735
|
+
interface PaymentScheduleCardPeriod {
|
|
2736
|
+
/** Echoed back on (periodToggle) */
|
|
2737
|
+
id: string | number;
|
|
2738
|
+
label: string;
|
|
2739
|
+
/** Controlled checked state */
|
|
2740
|
+
checked?: boolean;
|
|
2741
|
+
/** Already paid — checked and locked */
|
|
2742
|
+
paid?: boolean;
|
|
2743
|
+
/** Payment already initiated (open invoice) — locked and highlighted */
|
|
2744
|
+
pending?: boolean;
|
|
2745
|
+
disabled?: boolean;
|
|
2746
|
+
/** Tooltip (e.g. why this period is locked, or its invoice reference) */
|
|
2747
|
+
hint?: string;
|
|
2748
|
+
/** Small badge after the label (e.g. "Free") */
|
|
2749
|
+
badge?: string;
|
|
2750
|
+
}
|
|
2751
|
+
type PaymentScheduleCardTone = 'success' | 'warning' | 'error' | 'neutral';
|
|
2752
|
+
/** Meta column of the card header (e.g. Obtained in / Expires). */
|
|
2753
|
+
interface PaymentScheduleCardMeta {
|
|
2754
|
+
label: string;
|
|
2755
|
+
value: string;
|
|
2756
|
+
}
|
|
2757
|
+
/** Quick action rendered in the expanded body. */
|
|
2758
|
+
interface PaymentScheduleCardAction {
|
|
2759
|
+
id: string;
|
|
2760
|
+
label: string;
|
|
2761
|
+
variant?: 'primary' | 'ghost';
|
|
2762
|
+
disabled?: boolean;
|
|
2763
|
+
}
|
|
2764
|
+
/**
|
|
2765
|
+
* Payment schedule card — a collapsible per-item card (e.g. one credential)
|
|
2766
|
+
* with status-tinted border, meta columns, period checkboxes, quick actions
|
|
2767
|
+
* and a per-item total. Selection state is fully controlled by the consumer:
|
|
2768
|
+
* the card only reports (periodToggle) and never decides eligibility itself.
|
|
2769
|
+
*/
|
|
2770
|
+
declare class PaymentScheduleCardComponent {
|
|
2771
|
+
title: _angular_core.InputSignal<string>;
|
|
2772
|
+
/** Small chip next to the title (e.g. "Cycle 1") */
|
|
2773
|
+
tagLabel: _angular_core.InputSignal<string>;
|
|
2774
|
+
/** Border/status tint */
|
|
2775
|
+
tone: _angular_core.InputSignal<PaymentScheduleCardTone>;
|
|
2776
|
+
/** Leading round status icon tinted by tone */
|
|
2777
|
+
showStatusIcon: _angular_core.InputSignal<boolean>;
|
|
2778
|
+
/** Status pill text (e.g. "Overdue"); hidden when empty */
|
|
2779
|
+
statusLabel: _angular_core.InputSignal<string>;
|
|
2780
|
+
meta: _angular_core.InputSignal<PaymentScheduleCardMeta[]>;
|
|
2781
|
+
periods: _angular_core.InputSignal<PaymentScheduleCardPeriod[]>;
|
|
2782
|
+
actions: _angular_core.InputSignal<PaymentScheduleCardAction[]>;
|
|
2783
|
+
/** Per-item amount shown in the expanded body (e.g. "$260.00"); hidden when empty */
|
|
2784
|
+
totalText: _angular_core.InputSignal<string>;
|
|
2785
|
+
/** Expanded body heading (e.g. "Payment Options"); hidden when empty */
|
|
2786
|
+
bodyTitle: _angular_core.InputSignal<string>;
|
|
2787
|
+
/** Small label above the amount (e.g. "Amount") */
|
|
2788
|
+
amountLabel: _angular_core.InputSignal<string>;
|
|
2789
|
+
/** Line above the period checkboxes (e.g. "Years (select) - $130/year") */
|
|
2790
|
+
periodsLabel: _angular_core.InputSignal<string>;
|
|
2791
|
+
/** Muted hint under the periods (e.g. "Select all 3 years to unlock a 10% discount") */
|
|
2792
|
+
bodyHint: _angular_core.InputSignal<string>;
|
|
2793
|
+
/** Suffix appended to paid period labels (e.g. " · Included") */
|
|
2794
|
+
paidSuffix: _angular_core.InputSignal<string>;
|
|
2795
|
+
/** Collapsible open state; supports [(expanded)] */
|
|
2796
|
+
expanded: _angular_core.ModelSignal<boolean>;
|
|
2797
|
+
collapsible: _angular_core.InputSignal<boolean>;
|
|
2798
|
+
periodToggle: _angular_core.OutputEmitterRef<{
|
|
2799
|
+
id: string | number;
|
|
2800
|
+
checked: boolean;
|
|
2801
|
+
}>;
|
|
2802
|
+
actionClick: _angular_core.OutputEmitterRef<string>;
|
|
2803
|
+
toggleExpanded(): void;
|
|
2804
|
+
onPeriodChange(period: PaymentScheduleCardPeriod, checked: boolean): void;
|
|
2805
|
+
isChecked(period: PaymentScheduleCardPeriod): boolean;
|
|
2806
|
+
isLocked(period: PaymentScheduleCardPeriod): boolean;
|
|
2807
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PaymentScheduleCardComponent, never>;
|
|
2808
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PaymentScheduleCardComponent, "pecb-payment-schedule-card", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "tagLabel": { "alias": "tagLabel"; "required": false; "isSignal": true; }; "tone": { "alias": "tone"; "required": false; "isSignal": true; }; "showStatusIcon": { "alias": "showStatusIcon"; "required": false; "isSignal": true; }; "statusLabel": { "alias": "statusLabel"; "required": false; "isSignal": true; }; "meta": { "alias": "meta"; "required": false; "isSignal": true; }; "periods": { "alias": "periods"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "totalText": { "alias": "totalText"; "required": false; "isSignal": true; }; "bodyTitle": { "alias": "bodyTitle"; "required": false; "isSignal": true; }; "amountLabel": { "alias": "amountLabel"; "required": false; "isSignal": true; }; "periodsLabel": { "alias": "periodsLabel"; "required": false; "isSignal": true; }; "bodyHint": { "alias": "bodyHint"; "required": false; "isSignal": true; }; "paidSuffix": { "alias": "paidSuffix"; "required": false; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; }, { "expanded": "expandedChange"; "periodToggle": "periodToggle"; "actionClick": "actionClick"; }, never, never, true, never>;
|
|
2809
|
+
}
|
|
2810
|
+
|
|
2811
|
+
/** One selectable payment period (e.g. a period). */
|
|
2812
|
+
interface PeriodPaymentModalPeriod {
|
|
2813
|
+
/** Echoed back on (selectionChange) */
|
|
2814
|
+
id: string | number;
|
|
2815
|
+
/** e.g. "2026" or "2028 (Renewal)" */
|
|
2816
|
+
label: string;
|
|
2817
|
+
/** Already paid — shown checked and locked */
|
|
2818
|
+
paid?: boolean;
|
|
2819
|
+
/** Payment already initiated (e.g. an open invoice) — locked and highlighted */
|
|
2820
|
+
pending?: boolean;
|
|
2821
|
+
/** Force-disabled regardless of the sequential rule */
|
|
2822
|
+
disabled?: boolean;
|
|
2823
|
+
/** Tooltip shown on the period (e.g. the pending invoice reference) */
|
|
2824
|
+
hint?: string;
|
|
2825
|
+
}
|
|
2826
|
+
/**
|
|
2827
|
+
* Period payment modal — centered dialog to pick sequential payment periods
|
|
2828
|
+
* (e.g. the years to pay for a credential): a period unlocks once the previous
|
|
2829
|
+
* one is paid or selected, with an optional discount note, a primary
|
|
2830
|
+
* "Pay $X now" button and an optional secondary "pay all" action.
|
|
2831
|
+
*
|
|
2832
|
+
* Presentational: amounts are computed by the consumer (backend) and passed in
|
|
2833
|
+
* via `payLabel`; every interaction surfaces through outputs. Rendered in a CDK
|
|
2834
|
+
* overlay like `pecb-confirmation` (same backdrop/escape/focus handling).
|
|
2835
|
+
*/
|
|
2836
|
+
declare class PeriodPaymentModalComponent implements OnDestroy {
|
|
2837
|
+
private sanitizer;
|
|
2838
|
+
id: _angular_core.InputSignal<string>;
|
|
2839
|
+
/** Whether the dialog is visible. Supports [(isOpen)]. */
|
|
2840
|
+
isOpen: _angular_core.ModelSignal<boolean>;
|
|
2841
|
+
/** Dialog heading */
|
|
2842
|
+
title: _angular_core.InputSignal<string>;
|
|
2843
|
+
/** Intro line under the title — supports <b> markup */
|
|
2844
|
+
description: _angular_core.InputSignal<string>;
|
|
2845
|
+
/** Selectable periods, in payment order */
|
|
2846
|
+
periods: _angular_core.InputSignal<PeriodPaymentModalPeriod[]>;
|
|
2847
|
+
/** Shows a centered spinner instead of the periods while data loads */
|
|
2848
|
+
loading: _angular_core.InputSignal<boolean>;
|
|
2849
|
+
/**
|
|
2850
|
+
* Sequential selection: a period can only be picked when the previous one is
|
|
2851
|
+
* paid or selected; unselecting a period clears the later ones.
|
|
2852
|
+
*/
|
|
2853
|
+
sequential: _angular_core.InputSignal<boolean>;
|
|
2854
|
+
/** Optional tinted note (e.g. the all-years discount) — supports <b> markup */
|
|
2855
|
+
note: _angular_core.InputSignal<string>;
|
|
2856
|
+
/** Primary button label, e.g. "Pay $130.00 now" */
|
|
2857
|
+
payLabel: _angular_core.InputSignal<string>;
|
|
2858
|
+
/** Disables the primary button (e.g. nothing selected) */
|
|
2859
|
+
payDisabled: _angular_core.InputSignal<boolean>;
|
|
2860
|
+
/** Shows a loading state on the primary button */
|
|
2861
|
+
payLoading: _angular_core.InputSignal<boolean>;
|
|
2862
|
+
/** Secondary full-width action label; hidden when empty */
|
|
2863
|
+
payAllLabel: _angular_core.InputSignal<string>;
|
|
2864
|
+
/** Tooltip shown on periods locked by the sequential rule (e.g. "Select periods in order") */
|
|
2865
|
+
lockedHint: _angular_core.InputSignal<string>;
|
|
2866
|
+
/** Accessible label for the close (×) button. Override to localize. */
|
|
2867
|
+
closeAriaLabel: _angular_core.InputSignal<string>;
|
|
2868
|
+
closeOnBackdropClick: _angular_core.InputSignal<boolean>;
|
|
2869
|
+
closeOnEscape: _angular_core.InputSignal<boolean>;
|
|
2870
|
+
/** Selected period ids (excluding already-paid periods), in list order */
|
|
2871
|
+
selectionChange: _angular_core.OutputEmitterRef<(string | number)[]>;
|
|
2872
|
+
/** Primary button clicked */
|
|
2873
|
+
pay: _angular_core.OutputEmitterRef<void>;
|
|
2874
|
+
/** Secondary button clicked */
|
|
2875
|
+
payAll: _angular_core.OutputEmitterRef<void>;
|
|
2876
|
+
closed: _angular_core.OutputEmitterRef<void>;
|
|
2877
|
+
private readonly overlay;
|
|
2878
|
+
private readonly viewContainerRef;
|
|
2879
|
+
private dialogTemplate;
|
|
2880
|
+
private overlayRef;
|
|
2881
|
+
private portal;
|
|
2882
|
+
private subscriptions;
|
|
2883
|
+
private previousActiveElement;
|
|
2884
|
+
readonly selected: _angular_core.WritableSignal<ReadonlySet<string | number>>;
|
|
2885
|
+
readonly safeDescription: _angular_core.Signal<_angular_platform_browser.SafeHtml | null>;
|
|
2886
|
+
readonly safeNote: _angular_core.Signal<_angular_platform_browser.SafeHtml | null>;
|
|
2887
|
+
constructor();
|
|
2888
|
+
ngOnDestroy(): void;
|
|
2889
|
+
get titleId(): string;
|
|
2890
|
+
isChecked(period: PeriodPaymentModalPeriod): boolean;
|
|
2891
|
+
isDisabled(period: PeriodPaymentModalPeriod, index: number): boolean;
|
|
2892
|
+
/** Tooltip for one period: its own hint, or the sequential-lock hint. */
|
|
2893
|
+
hintFor(period: PeriodPaymentModalPeriod, index: number): string | null;
|
|
2894
|
+
toggle(period: PeriodPaymentModalPeriod, index: number, checked: boolean): void;
|
|
2895
|
+
private emitSelection;
|
|
2896
|
+
onPay(): void;
|
|
2897
|
+
onPayAll(): void;
|
|
2898
|
+
close(): void;
|
|
2899
|
+
private openOverlay;
|
|
2900
|
+
private destroyOverlay;
|
|
2901
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PeriodPaymentModalComponent, never>;
|
|
2902
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PeriodPaymentModalComponent, "pecb-period-payment-modal", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "periods": { "alias": "periods"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "sequential": { "alias": "sequential"; "required": false; "isSignal": true; }; "note": { "alias": "note"; "required": false; "isSignal": true; }; "payLabel": { "alias": "payLabel"; "required": false; "isSignal": true; }; "payDisabled": { "alias": "payDisabled"; "required": false; "isSignal": true; }; "payLoading": { "alias": "payLoading"; "required": false; "isSignal": true; }; "payAllLabel": { "alias": "payAllLabel"; "required": false; "isSignal": true; }; "lockedHint": { "alias": "lockedHint"; "required": false; "isSignal": true; }; "closeAriaLabel": { "alias": "closeAriaLabel"; "required": false; "isSignal": true; }; "closeOnBackdropClick": { "alias": "closeOnBackdropClick"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; }, { "isOpen": "isOpenChange"; "selectionChange": "selectionChange"; "pay": "pay"; "payAll": "payAll"; "closed": "closed"; }, never, never, true, never>;
|
|
2903
|
+
}
|
|
2904
|
+
|
|
2905
|
+
/**
|
|
2906
|
+
* Outlined form field — a bordered container with the label floating on the
|
|
2907
|
+
* border (fieldset/legend style). Project any control into it: native
|
|
2908
|
+
* input/select/textarea (they are styled borderless inside) or another
|
|
2909
|
+
* component such as `pecb-tag-select`.
|
|
2910
|
+
*/
|
|
2911
|
+
declare class OutlinedFieldComponent {
|
|
2912
|
+
label: _angular_core.InputSignal<string>;
|
|
2913
|
+
/** Renders the error border/label colour */
|
|
2914
|
+
error: _angular_core.InputSignal<boolean>;
|
|
2915
|
+
/** Message under the field; shown only when error is true */
|
|
2916
|
+
errorMessage: _angular_core.InputSignal<string>;
|
|
2917
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
2918
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OutlinedFieldComponent, never>;
|
|
2919
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<OutlinedFieldComponent, "pecb-outlined-field", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
2920
|
+
}
|
|
2921
|
+
|
|
2922
|
+
interface TagSelectOption {
|
|
2923
|
+
label: string;
|
|
2924
|
+
value: unknown;
|
|
2925
|
+
disabled?: boolean;
|
|
2926
|
+
}
|
|
2927
|
+
/**
|
|
2928
|
+
* Tag select — a multi-select whose trigger shows the chosen options as
|
|
2929
|
+
* removable chips, with a searchable option menu underneath. Borderless by
|
|
2930
|
+
* design so it can sit inside `pecb-outlined-field`; give it a border via the
|
|
2931
|
+
* host page when used standalone. Implements ControlValueAccessor
|
|
2932
|
+
* (value: unknown[]).
|
|
2933
|
+
*/
|
|
2934
|
+
declare class TagSelectComponent implements ControlValueAccessor {
|
|
2935
|
+
private host;
|
|
2936
|
+
options: _angular_core.InputSignal<TagSelectOption[]>;
|
|
2937
|
+
placeholder: _angular_core.InputSignal<string>;
|
|
2938
|
+
searchPlaceholder: _angular_core.InputSignal<string>;
|
|
2939
|
+
/** Empty-results text inside the menu */
|
|
2940
|
+
noResultsText: _angular_core.InputSignal<string>;
|
|
2941
|
+
removeAriaLabel: _angular_core.InputSignal<string>;
|
|
2942
|
+
selectionChange: _angular_core.OutputEmitterRef<unknown[]>;
|
|
2943
|
+
readonly open: _angular_core.WritableSignal<boolean>;
|
|
2944
|
+
readonly query: _angular_core.WritableSignal<string>;
|
|
2945
|
+
readonly selected: _angular_core.WritableSignal<unknown[]>;
|
|
2946
|
+
readonly disabled: _angular_core.WritableSignal<boolean>;
|
|
2947
|
+
private onChange;
|
|
2948
|
+
private onTouched;
|
|
2949
|
+
readonly selectedOptions: _angular_core.Signal<TagSelectOption[]>;
|
|
2950
|
+
readonly filteredOptions: _angular_core.Signal<TagSelectOption[]>;
|
|
2951
|
+
onDocumentClick(event: MouseEvent): void;
|
|
2952
|
+
onEscape(): void;
|
|
2953
|
+
toggleMenu(): void;
|
|
2954
|
+
isSelected(option: TagSelectOption): boolean;
|
|
2955
|
+
toggleOption(option: TagSelectOption): void;
|
|
2956
|
+
removeValue(value: unknown, event: Event): void;
|
|
2957
|
+
onSearch(event: Event): void;
|
|
2958
|
+
private commit;
|
|
2959
|
+
writeValue(value: unknown): void;
|
|
2960
|
+
registerOnChange(fn: (value: unknown[]) => void): void;
|
|
2961
|
+
registerOnTouched(fn: () => void): void;
|
|
2962
|
+
setDisabledState(isDisabled: boolean): void;
|
|
2963
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TagSelectComponent, never>;
|
|
2964
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TagSelectComponent, "pecb-tag-select", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "noResultsText": { "alias": "noResultsText"; "required": false; "isSignal": true; }; "removeAriaLabel": { "alias": "removeAriaLabel"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, never, never, true, never>;
|
|
2965
|
+
}
|
|
2966
|
+
|
|
2967
|
+
/**
|
|
2968
|
+
* Form section card — a numbered, collapsible container for one repeatable
|
|
2969
|
+
* form section (e.g. "Activity 1 of 3"): number badge, title, subtitle,
|
|
2970
|
+
* optional remove button and a collapse chevron; the form itself is projected.
|
|
2971
|
+
*/
|
|
2972
|
+
declare class FormSectionCardComponent {
|
|
2973
|
+
/** 1-based number shown in the badge */
|
|
2974
|
+
index: _angular_core.InputSignal<number>;
|
|
2975
|
+
title: _angular_core.InputSignal<string>;
|
|
2976
|
+
subtitle: _angular_core.InputSignal<string>;
|
|
2977
|
+
/** Shows the remove (trash) button */
|
|
2978
|
+
removable: _angular_core.InputSignal<boolean>;
|
|
2979
|
+
collapsible: _angular_core.InputSignal<boolean>;
|
|
2980
|
+
removeAriaLabel: _angular_core.InputSignal<string>;
|
|
2981
|
+
toggleAriaLabel: _angular_core.InputSignal<string>;
|
|
2982
|
+
/** Supports [(expanded)] */
|
|
2983
|
+
expanded: _angular_core.ModelSignal<boolean>;
|
|
2984
|
+
removed: _angular_core.OutputEmitterRef<void>;
|
|
2985
|
+
toggle(): void;
|
|
2986
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormSectionCardComponent, never>;
|
|
2987
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormSectionCardComponent, "pecb-form-section-card", never, { "index": { "alias": "index"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "removable": { "alias": "removable"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "removeAriaLabel": { "alias": "removeAriaLabel"; "required": false; "isSignal": true; }; "toggleAriaLabel": { "alias": "toggleAriaLabel"; "required": false; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; }, { "expanded": "expandedChange"; "removed": "removed"; }, never, ["*"], true, never>;
|
|
2988
|
+
}
|
|
2989
|
+
|
|
2501
2990
|
interface FloatButtonAction {
|
|
2502
2991
|
/** Unique identifier used for tracking and emitting click events */
|
|
2503
2992
|
id: string;
|
|
@@ -4204,6 +4693,511 @@ declare class CoursePlayerComponent {
|
|
|
4204
4693
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CoursePlayerComponent, "pecb-course-player", never, { "modules": { "alias": "modules"; "required": false; "isSignal": true; }; "transcript": { "alias": "transcript"; "required": false; "isSignal": true; }; "activeLessonId": { "alias": "activeLessonId"; "required": false; "isSignal": true; }; "playing": { "alias": "playing"; "required": false; "isSignal": true; }; "currentTime": { "alias": "currentTime"; "required": false; "isSignal": true; }; "panelTab": { "alias": "panelTab"; "required": false; "isSignal": true; }; "poster": { "alias": "poster"; "required": false; "isSignal": true; }; "src": { "alias": "src"; "required": false; "isSignal": true; }; "tracks": { "alias": "tracks"; "required": false; "isSignal": true; }; "stageLabel": { "alias": "stageLabel"; "required": false; "isSignal": true; }; "watermark": { "alias": "watermark"; "required": false; "isSignal": true; }; "aspectRatio": { "alias": "aspectRatio"; "required": false; "isSignal": true; }; "preload": { "alias": "preload"; "required": false; "isSignal": true; }; "crossOrigin": { "alias": "crossOrigin"; "required": false; "isSignal": true; }; "seekStep": { "alias": "seekStep"; "required": false; "isSignal": true; }; "videoLabels": { "alias": "videoLabels"; "required": false; "isSignal": true; }; "autoPlayOnSelect": { "alias": "autoPlayOnSelect"; "required": false; "isSignal": true; }; "showLessonTitle": { "alias": "showLessonTitle"; "required": false; "isSignal": true; }; "panelPosition": { "alias": "panelPosition"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; "accent": { "alias": "accent"; "required": false; "isSignal": true; }; "showTabs": { "alias": "showTabs"; "required": false; "isSignal": true; }; "showSearch": { "alias": "showSearch"; "required": false; "isSignal": true; }; "showProgress": { "alias": "showProgress"; "required": false; "isSignal": true; }; "soloSingleLessonModules": { "alias": "soloSingleLessonModules"; "required": false; "isSignal": true; }; "panelLabels": { "alias": "panelLabels"; "required": false; "isSignal": true; }; }, { "activeLessonId": "activeLessonIdChange"; "playing": "playingChange"; "currentTime": "currentTimeChange"; "panelTab": "panelTabChange"; "lessonSelect": "lessonSelect"; "lessonEnded": "lessonEnded"; "timeUpdate": "timeUpdate"; "certificateClick": "certificateClick"; "playerError": "playerError"; }, never, never, true, never>;
|
|
4205
4694
|
}
|
|
4206
4695
|
|
|
4696
|
+
/** One entry of the day switcher (mock `.sl-day` pills). */
|
|
4697
|
+
interface SlideViewerDay {
|
|
4698
|
+
/** Stable identifier handed back by `dayChange` / `activeDayId`. */
|
|
4699
|
+
id: string | number;
|
|
4700
|
+
/** Pill text, e.g. `Day 1`. */
|
|
4701
|
+
label: string;
|
|
4702
|
+
/** Free-form data for a custom day template. */
|
|
4703
|
+
meta?: Record<string, unknown>;
|
|
4704
|
+
}
|
|
4705
|
+
/**
|
|
4706
|
+
* One slide. The viewer only needs an image per slide — how the image is produced
|
|
4707
|
+
* (rendered from a PDF, exported from PowerPoint, served by a CDN) is up to the
|
|
4708
|
+
* consumer, which keeps the element free of any PDF dependency.
|
|
4709
|
+
*/
|
|
4710
|
+
interface SlideViewerSlide {
|
|
4711
|
+
/** Identifier, echoed in events and used for selection. Defaults to the 1-based index. */
|
|
4712
|
+
id?: string | number;
|
|
4713
|
+
/**
|
|
4714
|
+
* Large image shown on the stage. When missing the stage shows `thumbnail` and emits
|
|
4715
|
+
* `fullImageRequest` so the host can render it lazily.
|
|
4716
|
+
*/
|
|
4717
|
+
image?: string;
|
|
4718
|
+
/**
|
|
4719
|
+
* Small image shown in the sidebar. Falls back to `image`. While missing (a deck that
|
|
4720
|
+
* publishes every page first and renders thumbnails later) the tile shows a shimmer.
|
|
4721
|
+
*/
|
|
4722
|
+
thumbnail?: string;
|
|
4723
|
+
/** Accessible / searchable title. Defaults to `{slide} {n}` from the labels. */
|
|
4724
|
+
title?: string;
|
|
4725
|
+
/** Extracted text used by the keyword search (not rendered). */
|
|
4726
|
+
text?: string;
|
|
4727
|
+
/** Skipped by navigation while `skipHidden` is on; still listed in the sidebar (dimmed). */
|
|
4728
|
+
hidden?: boolean;
|
|
4729
|
+
/** Free-form data the consumer wants to carry along (templates receive it). */
|
|
4730
|
+
meta?: Record<string, unknown>;
|
|
4731
|
+
}
|
|
4732
|
+
/** Built-in tool buttons of the top bar, in the order they render. */
|
|
4733
|
+
type SlideViewerTool = 'notes' | 'feedback' | 'courseFiles' | 'downloadSlides';
|
|
4734
|
+
/** Where the thumbnail sidebar sits. */
|
|
4735
|
+
type SlideViewerSidebarPosition = 'end' | 'start' | 'none';
|
|
4736
|
+
/** Keyboard actions the viewer handles on its region. */
|
|
4737
|
+
type SlideViewerKeyAction = 'next' | 'previous' | 'first' | 'last' | 'fullscreen' | 'search' | 'zoomIn' | 'zoomOut' | 'zoomReset';
|
|
4738
|
+
/** Keys per action. Override any subset via the `keyMap` input; an empty array disables the action. */
|
|
4739
|
+
type SlideViewerKeyMap = Record<SlideViewerKeyAction, readonly string[]>;
|
|
4740
|
+
declare const DEFAULT_SLIDE_VIEWER_KEY_MAP: SlideViewerKeyMap;
|
|
4741
|
+
/** Payload of the `tool` output. */
|
|
4742
|
+
interface SlideViewerToolEvent {
|
|
4743
|
+
tool: SlideViewerTool;
|
|
4744
|
+
/** Slide shown when the tool was pressed (1-based). */
|
|
4745
|
+
page: number;
|
|
4746
|
+
}
|
|
4747
|
+
/** Payload of `slideChange`. */
|
|
4748
|
+
interface SlideViewerPageEvent {
|
|
4749
|
+
/** 1-based slide number. */
|
|
4750
|
+
page: number;
|
|
4751
|
+
total: number;
|
|
4752
|
+
slide: SlideViewerSlide | null;
|
|
4753
|
+
/** What triggered the change. */
|
|
4754
|
+
source: 'nav' | 'input' | 'thumbnail' | 'keyboard' | 'wheel' | 'day' | 'api';
|
|
4755
|
+
}
|
|
4756
|
+
/** Payload of `searchChange`. */
|
|
4757
|
+
interface SlideViewerSearchEvent {
|
|
4758
|
+
term: string;
|
|
4759
|
+
/** 1-based slide numbers that match (all slides when the term is empty). */
|
|
4760
|
+
matches: number[];
|
|
4761
|
+
}
|
|
4762
|
+
/** Payload of `slideMove` (drag & drop reorder in the sidebar). */
|
|
4763
|
+
interface SlideViewerMoveEvent {
|
|
4764
|
+
/** 1-based position the slide was dragged from. */
|
|
4765
|
+
from: number;
|
|
4766
|
+
/** 1-based position it was dropped at. */
|
|
4767
|
+
to: number;
|
|
4768
|
+
slide: SlideViewerSlide;
|
|
4769
|
+
}
|
|
4770
|
+
/** Context handed to a `pecbSlideViewerThumbnail` template. */
|
|
4771
|
+
interface SlideViewerThumbnailContext {
|
|
4772
|
+
$implicit: SlideViewerSlide;
|
|
4773
|
+
/** 1-based slide number. */
|
|
4774
|
+
index: number;
|
|
4775
|
+
active: boolean;
|
|
4776
|
+
selected: boolean;
|
|
4777
|
+
}
|
|
4778
|
+
/** Context handed to a `pecbSlideViewerDay` template. */
|
|
4779
|
+
interface SlideViewerDayContext {
|
|
4780
|
+
$implicit: SlideViewerDay;
|
|
4781
|
+
active: boolean;
|
|
4782
|
+
}
|
|
4783
|
+
/**
|
|
4784
|
+
* All user-visible strings. Override any subset via the `labels` input to
|
|
4785
|
+
* translate the viewer. `{n}` / `{total}` are substituted where noted.
|
|
4786
|
+
*/
|
|
4787
|
+
interface SlideViewerLabels {
|
|
4788
|
+
/** Region name for assistive tech. */
|
|
4789
|
+
viewer: string;
|
|
4790
|
+
/** Default slide title — `{n}` is the slide number. */
|
|
4791
|
+
slide: string;
|
|
4792
|
+
/** Separator text before the total, e.g. `/`. */
|
|
4793
|
+
of: string;
|
|
4794
|
+
/** Aria-label of the slide-number input. */
|
|
4795
|
+
slideNumber: string;
|
|
4796
|
+
first: string;
|
|
4797
|
+
previous: string;
|
|
4798
|
+
next: string;
|
|
4799
|
+
last: string;
|
|
4800
|
+
enterFullscreen: string;
|
|
4801
|
+
exitFullscreen: string;
|
|
4802
|
+
zoomIn: string;
|
|
4803
|
+
zoomOut: string;
|
|
4804
|
+
zoomReset: string;
|
|
4805
|
+
/** Note panel header. */
|
|
4806
|
+
note: string;
|
|
4807
|
+
days: string;
|
|
4808
|
+
thumbnails: string;
|
|
4809
|
+
searchPlaceholder: string;
|
|
4810
|
+
/** Shown while a keyword filters the list — `{n}` matches, `{total}` slides. */
|
|
4811
|
+
searchResults: string;
|
|
4812
|
+
noResults: string;
|
|
4813
|
+
loading: string;
|
|
4814
|
+
/** Aria-label of a tile checkbox in selection mode — `{n}` is the slide number. */
|
|
4815
|
+
selectSlide: string;
|
|
4816
|
+
/** Aria description of a draggable tile. */
|
|
4817
|
+
dragHint: string;
|
|
4818
|
+
/** Badge on a hidden slide's tile. */
|
|
4819
|
+
hidden: string;
|
|
4820
|
+
/** Stage message when there are no slides (and nothing is loading). */
|
|
4821
|
+
emptyTitle: string;
|
|
4822
|
+
emptyHint: string;
|
|
4823
|
+
/** Stage message while `error` is set. */
|
|
4824
|
+
errorTitle: string;
|
|
4825
|
+
errorHint: string;
|
|
4826
|
+
/** Retry button in the error state. */
|
|
4827
|
+
retry: string;
|
|
4828
|
+
/** Screen-reader announcement on slide change — `{n}` current, `{total}` count. */
|
|
4829
|
+
slideAnnouncement: string;
|
|
4830
|
+
/** Shown on the shimmering stage while `loadingProgress` is known — `{percent}` 0–100. */
|
|
4831
|
+
loadingProgress: string;
|
|
4832
|
+
notes: string;
|
|
4833
|
+
feedback: string;
|
|
4834
|
+
courseFiles: string;
|
|
4835
|
+
downloadSlides: string;
|
|
4836
|
+
/** Tooltip of the disabled download button. */
|
|
4837
|
+
downloadUnavailable: string;
|
|
4838
|
+
}
|
|
4839
|
+
declare const DEFAULT_SLIDE_VIEWER_LABELS: SlideViewerLabels;
|
|
4840
|
+
/** Default set and order of the top-bar tools. */
|
|
4841
|
+
declare const DEFAULT_SLIDE_VIEWER_TOOLS: readonly SlideViewerTool[];
|
|
4842
|
+
/** Zoom steps offered by the stage (1 = fit). */
|
|
4843
|
+
declare const DEFAULT_SLIDE_VIEWER_ZOOM_STEPS: readonly number[];
|
|
4844
|
+
/** Clamp a 1-based page into `[1, total]` (`1` when there are no slides). */
|
|
4845
|
+
declare function clampSlidePage(page: number, total: number): number;
|
|
4846
|
+
/**
|
|
4847
|
+
* Custom content rendered over each sidebar tile (badges, checkmarks, a drag handle…).
|
|
4848
|
+
* ```html
|
|
4849
|
+
* <ng-template pecbSlideViewerThumbnail let-slide let-n="index">
|
|
4850
|
+
* @if (slide.meta?.hasNotes) { <span class="badge">Notes</span> }
|
|
4851
|
+
* </ng-template>
|
|
4852
|
+
* ```
|
|
4853
|
+
*/
|
|
4854
|
+
declare class SlideViewerThumbnailDirective {
|
|
4855
|
+
readonly templateRef: TemplateRef<any>;
|
|
4856
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SlideViewerThumbnailDirective, never>;
|
|
4857
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SlideViewerThumbnailDirective, "ng-template[pecbSlideViewerThumbnail]", never, {}, {}, never, never, true, never>;
|
|
4858
|
+
}
|
|
4859
|
+
/**
|
|
4860
|
+
* Custom content of each day pill (status dot, counter…). The pill itself stays.
|
|
4861
|
+
* ```html
|
|
4862
|
+
* <ng-template pecbSlideViewerDay let-day let-active="active">{{ day.label }} · {{ day.meta?.count }}</ng-template>
|
|
4863
|
+
* ```
|
|
4864
|
+
*/
|
|
4865
|
+
declare class SlideViewerDayDirective {
|
|
4866
|
+
readonly templateRef: TemplateRef<any>;
|
|
4867
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SlideViewerDayDirective, never>;
|
|
4868
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SlideViewerDayDirective, "ng-template[pecbSlideViewerDay]", never, {}, {}, never, never, true, never>;
|
|
4869
|
+
}
|
|
4870
|
+
/**
|
|
4871
|
+
* PECB course slide viewer.
|
|
4872
|
+
*
|
|
4873
|
+
* Reproduces the "Open course" slide view of the PECB Profile redesign: a top
|
|
4874
|
+
* bar with day pills and tool buttons, a 16:10 stage, a navigation bar
|
|
4875
|
+
* (first / previous / next / last, slide-number input, projected version
|
|
4876
|
+
* select, zoom, fullscreen), a collapsible per-slide note and a sticky sidebar
|
|
4877
|
+
* with keyword search and thumbnails.
|
|
4878
|
+
*
|
|
4879
|
+
* The element is purely presentational: it receives days, slide images and a
|
|
4880
|
+
* note, keeps the current page / search / zoom / fullscreen / selection state
|
|
4881
|
+
* and emits every intent (`dayChange`, `slideChange`, `tool`, `slideMove`, …)
|
|
4882
|
+
* so the host app owns data, dialogs and persistence. No PDF library is
|
|
4883
|
+
* involved — feed it images; leave `image` out and answer `fullImageRequest`
|
|
4884
|
+
* to render large images lazily.
|
|
4885
|
+
*
|
|
4886
|
+
* Empty / broken decks: with no slides and nothing loading the stage shows `emptyTitle`
|
|
4887
|
+
* / `emptyHint`; with `error` set it shows `errorTitle` / `errorHint` and a retry button
|
|
4888
|
+
* (`retry` output). Both messages can be replaced through the `pecbSlideViewerEmpty` slot.
|
|
4889
|
+
*
|
|
4890
|
+
* Slots: `pecbSlideViewerToolsStart` / `pecbSlideViewerTools` (tool bar),
|
|
4891
|
+
* `pecbSlideViewerVersion` (navigation bar, right), `pecbSlideViewerStage`
|
|
4892
|
+
* (overlay on the stage), `pecbSlideViewerNote` (inside the note panel),
|
|
4893
|
+
* `pecbSlideViewerBelow` (under the stage column), `pecbSlideViewerSidebarHeader`
|
|
4894
|
+
* / `pecbSlideViewerSidebarFooter` (sidebar). Templates: `pecbSlideViewerThumbnail`,
|
|
4895
|
+
* `pecbSlideViewerDay`.
|
|
4896
|
+
*
|
|
4897
|
+
* @example
|
|
4898
|
+
* ```html
|
|
4899
|
+
* <pecb-slide-viewer
|
|
4900
|
+
* [days]="days" [(activeDayId)]="dayId" (dayChange)="loadDay($event)"
|
|
4901
|
+
* [slides]="slides" [(page)]="page" [note]="noteHtml"
|
|
4902
|
+
* (fullImageRequest)="renderFull($event)"
|
|
4903
|
+
* (tool)="onTool($event)" (slideChange)="track($event)">
|
|
4904
|
+
* <pecb-dropdown pecbSlideViewerVersion [options]="versions" [(ngModel)]="version" />
|
|
4905
|
+
* </pecb-slide-viewer>
|
|
4906
|
+
* ```
|
|
4907
|
+
*
|
|
4908
|
+
* Theming — override the CSS custom properties on the host:
|
|
4909
|
+
* ```css
|
|
4910
|
+
* pecb-slide-viewer { --pecb-slide-sidebar-width: 300px; --pecb-slide-active: #a11e29; }
|
|
4911
|
+
* ```
|
|
4912
|
+
*/
|
|
4913
|
+
declare class SlideViewerComponent {
|
|
4914
|
+
private readonly platformId;
|
|
4915
|
+
private readonly zone;
|
|
4916
|
+
private readonly destroyRef;
|
|
4917
|
+
private readonly isBrowser;
|
|
4918
|
+
/** Unique id used to wire ARIA relationships inside the template. */
|
|
4919
|
+
readonly uid: string;
|
|
4920
|
+
private readonly rootRef;
|
|
4921
|
+
private readonly stageRef;
|
|
4922
|
+
private readonly thumbsRef;
|
|
4923
|
+
private readonly searchRef;
|
|
4924
|
+
readonly thumbnailTemplate: _angular_core.Signal<SlideViewerThumbnailDirective | undefined>;
|
|
4925
|
+
readonly dayTemplate: _angular_core.Signal<SlideViewerDayDirective | undefined>;
|
|
4926
|
+
/** Day pills. The switcher is hidden when empty. */
|
|
4927
|
+
days: _angular_core.InputSignal<SlideViewerDay[]>;
|
|
4928
|
+
/** Slides of the active day, in order. */
|
|
4929
|
+
slides: _angular_core.InputSignal<SlideViewerSlide[]>;
|
|
4930
|
+
/**
|
|
4931
|
+
* Note for the current slide — an HTML string (sanitized by Angular) or a `SafeHtml`
|
|
4932
|
+
* the host already trusts. The panel is hidden when empty unless `showNote` is set
|
|
4933
|
+
* (e.g. when the note body is projected through `pecbSlideViewerNote`).
|
|
4934
|
+
*/
|
|
4935
|
+
note: _angular_core.InputSignal<string | SafeHtml | null | undefined>;
|
|
4936
|
+
/** Force the note panel on/off; `undefined` shows it whenever `note` has content. */
|
|
4937
|
+
showNote: _angular_core.InputSignal<boolean | undefined>;
|
|
4938
|
+
/** Slides are being prepared: the stage shows a veil and the list its skeletons. */
|
|
4939
|
+
loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4940
|
+
/** Download / preparation progress, 0–100, shown on the stage while loading. `null` hides it. */
|
|
4941
|
+
loadingProgress: _angular_core.InputSignal<number | null>;
|
|
4942
|
+
/**
|
|
4943
|
+
* The slides could not be produced (missing / broken file): the stage shows the error
|
|
4944
|
+
* message and a retry button (`retry` output) instead of the slides.
|
|
4945
|
+
*/
|
|
4946
|
+
error: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4947
|
+
/** Which built-in tool buttons render, in this order. */
|
|
4948
|
+
tools: _angular_core.InputSignal<readonly SlideViewerTool[]>;
|
|
4949
|
+
/** Enables the "Download Slides" tool. When false it renders disabled with a tooltip. @default true */
|
|
4950
|
+
canDownloadSlides: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4951
|
+
/** CSS `aspect-ratio` of the stage. @default '16 / 10' */
|
|
4952
|
+
stageAspectRatio: _angular_core.InputSignal<string>;
|
|
4953
|
+
/** Where the thumbnail sidebar sits. @default 'end' */
|
|
4954
|
+
sidebarPosition: _angular_core.InputSignal<SlideViewerSidebarPosition>;
|
|
4955
|
+
/** Show the thumbnail sidebar (shorthand for `sidebarPosition="none"`). @default true */
|
|
4956
|
+
showThumbnails: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4957
|
+
/** Show the keyword search above the thumbnails. @default true */
|
|
4958
|
+
showSearch: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4959
|
+
/** Show the slide-number input. @default true */
|
|
4960
|
+
showSlideInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4961
|
+
/** Show the fullscreen button. @default true */
|
|
4962
|
+
showFullscreen: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4963
|
+
/** Show the zoom buttons and allow zooming the stage. @default false */
|
|
4964
|
+
zoomable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4965
|
+
/** Zoom levels cycled by the zoom buttons / keys (1 = fit). */
|
|
4966
|
+
zoomSteps: _angular_core.InputSignal<readonly number[]>;
|
|
4967
|
+
/** Navigation skips slides flagged `hidden`. @default false */
|
|
4968
|
+
skipHidden: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4969
|
+
/** Tiles get a checkbox and `selectedIds` tracks the selection. @default false */
|
|
4970
|
+
selectable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4971
|
+
/** Tiles can be dragged to a new position; the host receives `slideMove`. @default false */
|
|
4972
|
+
reorderable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4973
|
+
/**
|
|
4974
|
+
* Above this many slides the sidebar is virtualised: only the tiles in view (plus
|
|
4975
|
+
* `overscan` on each side) exist in the DOM, a spacer keeps the scroll height. Built
|
|
4976
|
+
* for decks of several hundred slides. @default 40
|
|
4977
|
+
*/
|
|
4978
|
+
virtualizeAbove: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
4979
|
+
/** Tiles rendered beyond the visible window on each side. @default 6 */
|
|
4980
|
+
overscan: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
4981
|
+
/**
|
|
4982
|
+
* How many neighbours on each side of the current slide are requested
|
|
4983
|
+
* (`fullImageRequest`) and decoded ahead so arrows feel instant. @default 1
|
|
4984
|
+
*/
|
|
4985
|
+
prefetch: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
4986
|
+
/** Horizontal swipe on the stage moves slides (touch / pen). @default true */
|
|
4987
|
+
swipe: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4988
|
+
/** Handle keyboard shortcuts on the region. @default true */
|
|
4989
|
+
keyboard: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4990
|
+
/** Partial override of the keyboard shortcuts (see `DEFAULT_SLIDE_VIEWER_KEY_MAP`). */
|
|
4991
|
+
keyMap: _angular_core.InputSignal<Partial<SlideViewerKeyMap>>;
|
|
4992
|
+
/** Milliseconds the keyword search waits after typing. @default 250 */
|
|
4993
|
+
searchDebounce: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
4994
|
+
/** Partial override of the user-visible strings (i18n). */
|
|
4995
|
+
labels: _angular_core.InputSignal<Partial<SlideViewerLabels>>;
|
|
4996
|
+
/** Selected day. `null` selects nothing. */
|
|
4997
|
+
activeDayId: _angular_core.ModelSignal<string | number | null>;
|
|
4998
|
+
/** Current slide, 1-based. Clamped to the slide count. */
|
|
4999
|
+
page: _angular_core.ModelSignal<number>;
|
|
5000
|
+
/** Keyword filtering the thumbnails. */
|
|
5001
|
+
searchTerm: _angular_core.ModelSignal<string>;
|
|
5002
|
+
/** Whether the note panel is expanded. */
|
|
5003
|
+
noteOpen: _angular_core.ModelSignal<boolean>;
|
|
5004
|
+
/** Stage zoom factor (1 = fit). Only applied while `zoomable`. */
|
|
5005
|
+
zoom: _angular_core.ModelSignal<number>;
|
|
5006
|
+
/** Ids of the selected slides (selection mode). */
|
|
5007
|
+
selectedIds: _angular_core.ModelSignal<(string | number)[]>;
|
|
5008
|
+
/** A day pill was chosen. */
|
|
5009
|
+
dayChange: _angular_core.OutputEmitterRef<SlideViewerDay>;
|
|
5010
|
+
/** The current slide changed (any source), with the slide and what moved it. */
|
|
5011
|
+
slideChange: _angular_core.OutputEmitterRef<SlideViewerPageEvent>;
|
|
5012
|
+
/** A tool button was pressed. */
|
|
5013
|
+
tool: _angular_core.OutputEmitterRef<SlideViewerToolEvent>;
|
|
5014
|
+
/** The stage entered / left fullscreen. */
|
|
5015
|
+
fullscreenChange: _angular_core.OutputEmitterRef<boolean>;
|
|
5016
|
+
/** The keyword or its matches changed. */
|
|
5017
|
+
searchChange: _angular_core.OutputEmitterRef<SlideViewerSearchEvent>;
|
|
5018
|
+
/** The stage needs the full image of a page that only has a thumbnail (1-based). Emitted once per page. */
|
|
5019
|
+
fullImageRequest: _angular_core.OutputEmitterRef<number>;
|
|
5020
|
+
/** A tile was dropped at a new position (reorder mode). The host reorders `slides`. */
|
|
5021
|
+
slideMove: _angular_core.OutputEmitterRef<SlideViewerMoveEvent>;
|
|
5022
|
+
/** "Try again" pressed in the error state. */
|
|
5023
|
+
retry: _angular_core.OutputEmitterRef<void>;
|
|
5024
|
+
readonly isFullscreen: _angular_core.WritableSignal<boolean>;
|
|
5025
|
+
/** Stage image for the current page has finished loading. */
|
|
5026
|
+
readonly stageImageLoaded: _angular_core.WritableSignal<boolean>;
|
|
5027
|
+
/**
|
|
5028
|
+
* Source currently painted on the stage. It lags behind `stageSrc` while the next
|
|
5029
|
+
* image is decoded off screen, so a page change or a thumbnail→full-image upgrade
|
|
5030
|
+
* never blanks the stage (no blink, no spinner over a picture that is already there).
|
|
5031
|
+
*/
|
|
5032
|
+
readonly displayedSrc: _angular_core.WritableSignal<string | null>;
|
|
5033
|
+
/** A newer image than the displayed one is being decoded. */
|
|
5034
|
+
readonly stageBusy: _angular_core.WritableSignal<boolean>;
|
|
5035
|
+
/** Text in the number input while the user edits it (null = mirror `page`). */
|
|
5036
|
+
readonly pageDraft: _angular_core.WritableSignal<string | null>;
|
|
5037
|
+
/** Virtualised sidebar: index range (into `matches`) of the tiles in the DOM. */
|
|
5038
|
+
readonly windowRange: _angular_core.WritableSignal<{
|
|
5039
|
+
start: number;
|
|
5040
|
+
end: number;
|
|
5041
|
+
}>;
|
|
5042
|
+
/** Measured height of one tile incl. its gap, in px (a sensible guess until measured). */
|
|
5043
|
+
readonly tileStride: _angular_core.WritableSignal<number>;
|
|
5044
|
+
/** Announced to assistive tech on slide change. */
|
|
5045
|
+
readonly announcement: _angular_core.WritableSignal<string>;
|
|
5046
|
+
/** Tile currently dragged (1-based) and the drop target it hovers. */
|
|
5047
|
+
readonly dragFrom: _angular_core.WritableSignal<number | null>;
|
|
5048
|
+
readonly dragOver: _angular_core.WritableSignal<number | null>;
|
|
5049
|
+
private searchTimer;
|
|
5050
|
+
private lastEmittedPage;
|
|
5051
|
+
private lastStageSrc;
|
|
5052
|
+
private stageLoadToken;
|
|
5053
|
+
private requestedFullImages;
|
|
5054
|
+
private lastSlidesRef;
|
|
5055
|
+
private pendingSource;
|
|
5056
|
+
/** Decoded neighbour images kept warm (bounded so 700-slide decks don't pile up). */
|
|
5057
|
+
private readonly decodeCache;
|
|
5058
|
+
private scrollListener;
|
|
5059
|
+
private resizeObserver;
|
|
5060
|
+
private scrollRaf;
|
|
5061
|
+
private swipeStart;
|
|
5062
|
+
readonly text: _angular_core.Signal<SlideViewerLabels>;
|
|
5063
|
+
readonly keys: _angular_core.Signal<SlideViewerKeyMap>;
|
|
5064
|
+
readonly total: _angular_core.Signal<number>;
|
|
5065
|
+
/** `page` clamped into the current slide range. */
|
|
5066
|
+
readonly currentPage: _angular_core.Signal<number>;
|
|
5067
|
+
readonly currentSlide: _angular_core.Signal<SlideViewerSlide | null>;
|
|
5068
|
+
/** Stage image: full image, else the thumbnail while the full one is being produced. */
|
|
5069
|
+
readonly stageSrc: _angular_core.Signal<string | null>;
|
|
5070
|
+
/** The stage is showing a thumbnail in place of a missing full image. */
|
|
5071
|
+
readonly stageIsFallback: _angular_core.Signal<boolean>;
|
|
5072
|
+
readonly progressText: _angular_core.Signal<string>;
|
|
5073
|
+
/** Spinner veil: only while nothing is painted yet (first image) or the deck loads. */
|
|
5074
|
+
readonly stageVeil: _angular_core.Signal<boolean>;
|
|
5075
|
+
/** Skeleton shimmer on the stage: something is coming and nothing is painted yet. */
|
|
5076
|
+
readonly stageSkeleton: _angular_core.Signal<boolean>;
|
|
5077
|
+
/** Nothing to show and nothing on the way: the stage explains it. */
|
|
5078
|
+
readonly isEmpty: _angular_core.Signal<boolean>;
|
|
5079
|
+
readonly isFirst: _angular_core.Signal<boolean>;
|
|
5080
|
+
readonly isLast: _angular_core.Signal<boolean>;
|
|
5081
|
+
readonly navDisabled: _angular_core.Signal<boolean>;
|
|
5082
|
+
readonly pageInputValue: _angular_core.Signal<string>;
|
|
5083
|
+
/** The word before the number input ("Slide"), derived from the `slide` label. */
|
|
5084
|
+
readonly slideWord: _angular_core.Signal<string>;
|
|
5085
|
+
readonly hasNote: _angular_core.Signal<boolean>;
|
|
5086
|
+
readonly showDays: _angular_core.Signal<boolean>;
|
|
5087
|
+
readonly sidebar: _angular_core.Signal<SlideViewerSidebarPosition>;
|
|
5088
|
+
readonly showDownloadTool: _angular_core.Signal<boolean>;
|
|
5089
|
+
readonly zoomLevel: _angular_core.Signal<number>;
|
|
5090
|
+
readonly isZoomed: _angular_core.Signal<boolean>;
|
|
5091
|
+
readonly zoomPercent: _angular_core.Signal<number>;
|
|
5092
|
+
/** Virtualisation only kicks in for long decks. */
|
|
5093
|
+
readonly windowed: _angular_core.Signal<boolean>;
|
|
5094
|
+
/** Tiles to render: everything, or the current window of `matches` when virtualised. */
|
|
5095
|
+
readonly visibleTiles: _angular_core.Signal<number[]>;
|
|
5096
|
+
/** Spacer heights (px) above / below the rendered window. */
|
|
5097
|
+
readonly spacerTop: _angular_core.Signal<number>;
|
|
5098
|
+
readonly spacerBottom: _angular_core.Signal<number>;
|
|
5099
|
+
readonly selectedSet: _angular_core.Signal<Set<string | number>>;
|
|
5100
|
+
/** 1-based numbers of the slides matching the keyword (all when empty). */
|
|
5101
|
+
readonly matches: _angular_core.Signal<number[]>;
|
|
5102
|
+
readonly matchSet: _angular_core.Signal<Set<number>>;
|
|
5103
|
+
readonly isSearching: _angular_core.Signal<boolean>;
|
|
5104
|
+
readonly searchSummary: _angular_core.Signal<string>;
|
|
5105
|
+
/** Skeleton rows drawn in the sidebar while loading. */
|
|
5106
|
+
readonly skeletonRows: number[];
|
|
5107
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
5108
|
+
constructor();
|
|
5109
|
+
/** Go to a 1-based slide (clamped). Hidden slides are stepped over while `skipHidden`. */
|
|
5110
|
+
goTo(page: number, source?: SlideViewerPageEvent['source']): void;
|
|
5111
|
+
first(source?: SlideViewerPageEvent['source']): void;
|
|
5112
|
+
previous(source?: SlideViewerPageEvent['source']): void;
|
|
5113
|
+
next(source?: SlideViewerPageEvent['source']): void;
|
|
5114
|
+
last(source?: SlideViewerPageEvent['source']): void;
|
|
5115
|
+
/** Select a day: emits `dayChange`, resets the page and clears the search. */
|
|
5116
|
+
selectDay(day: SlideViewerDay): void;
|
|
5117
|
+
/** Press a built-in tool. The disabled download tool is ignored. */
|
|
5118
|
+
pressTool(tool: SlideViewerTool): void;
|
|
5119
|
+
toggleNote(): void;
|
|
5120
|
+
/** "Try again" in the error state. */
|
|
5121
|
+
requestRetry(): void;
|
|
5122
|
+
/** Enter / exit fullscreen on the stage. */
|
|
5123
|
+
toggleFullscreen(): Promise<void>;
|
|
5124
|
+
/** Next zoom step (wraps back to fit after the last one). */
|
|
5125
|
+
zoomIn(): void;
|
|
5126
|
+
zoomOut(): void;
|
|
5127
|
+
zoomReset(): void;
|
|
5128
|
+
/** Clear the keyword filter. */
|
|
5129
|
+
clearSearch(): void;
|
|
5130
|
+
/** Move keyboard focus to the search field. */
|
|
5131
|
+
focusSearch(): void;
|
|
5132
|
+
/** Toggle a slide in the selection (selection mode). */
|
|
5133
|
+
toggleSelected(slide: SlideViewerSlide, n: number): void;
|
|
5134
|
+
/** Select every (matching) slide, or clear the selection. */
|
|
5135
|
+
selectAll(selected?: boolean): void;
|
|
5136
|
+
onStageImageLoad(): void;
|
|
5137
|
+
onStageImageError(): void;
|
|
5138
|
+
onPageInput(event: Event): void;
|
|
5139
|
+
onPageCommit(event: Event): void;
|
|
5140
|
+
onPageInputKeydown(event: KeyboardEvent): void;
|
|
5141
|
+
onSearchInput(event: Event): void;
|
|
5142
|
+
onSearchKeydown(event: KeyboardEvent): void;
|
|
5143
|
+
onThumbnailClick(page: number): void;
|
|
5144
|
+
onTileCheckbox(event: Event, slide: SlideViewerSlide, n: number): void;
|
|
5145
|
+
/** Touch / pen swipe on the stage (not while zoomed: then the finger pans). */
|
|
5146
|
+
onStagePointerDown(event: PointerEvent): void;
|
|
5147
|
+
onStagePointerUp(event: PointerEvent): void;
|
|
5148
|
+
onStagePointerCancel(): void;
|
|
5149
|
+
/** Mouse wheel over the stage: zooms with Ctrl/⌘ while zoomable, navigates in fullscreen. */
|
|
5150
|
+
onStageWheel(event: WheelEvent): void;
|
|
5151
|
+
/** Keyboard shortcuts on the viewer region (see `keyMap`). */
|
|
5152
|
+
onRootKeydown(event: KeyboardEvent): void;
|
|
5153
|
+
onDocumentFullscreenChange(): void;
|
|
5154
|
+
onTileDragStart(event: DragEvent, n: number): void;
|
|
5155
|
+
onTileDragOver(event: DragEvent, n: number): void;
|
|
5156
|
+
onTileDrop(event: DragEvent, n: number): void;
|
|
5157
|
+
onTileDragEnd(): void;
|
|
5158
|
+
/** Accessible title of a slide (`title`, else `{slide} {n}`). */
|
|
5159
|
+
slideTitle(slide: SlideViewerSlide | null, n: number): string;
|
|
5160
|
+
slideId(slide: SlideViewerSlide, n: number): string | number;
|
|
5161
|
+
thumbnailSrc(slide: SlideViewerSlide): string | null;
|
|
5162
|
+
/** A tile whose thumbnail is still being produced (big decks publish pages first). */
|
|
5163
|
+
tilePending(slide: SlideViewerSlide): boolean;
|
|
5164
|
+
isSelected(slide: SlideViewerSlide, n: number): boolean;
|
|
5165
|
+
selectLabel(n: number): string;
|
|
5166
|
+
thumbnailContext(slide: SlideViewerSlide, n: number): SlideViewerThumbnailContext;
|
|
5167
|
+
dayContext(day: SlideViewerDay): SlideViewerDayContext;
|
|
5168
|
+
private isHidden;
|
|
5169
|
+
private nextVisible;
|
|
5170
|
+
private previousVisible;
|
|
5171
|
+
private actionForKey;
|
|
5172
|
+
private slideMatches;
|
|
5173
|
+
private format;
|
|
5174
|
+
/**
|
|
5175
|
+
* Show the current page in the number field again. Written to the DOM directly:
|
|
5176
|
+
* a number input sanitises junk to `''`, and the `[value]` binding would not
|
|
5177
|
+
* re-apply an unchanged `'20'` on top of it.
|
|
5178
|
+
*/
|
|
5179
|
+
private resetPageInput;
|
|
5180
|
+
private scrollActiveThumbnailIntoView;
|
|
5181
|
+
private attachSidebarListeners;
|
|
5182
|
+
private detachSidebarListeners;
|
|
5183
|
+
/** Coalesce scroll / resize / data changes into one window computation per frame. */
|
|
5184
|
+
private scheduleWindowUpdate;
|
|
5185
|
+
private updateWindow;
|
|
5186
|
+
/** Tile height incl. the list gap, measured from the first rendered tile. */
|
|
5187
|
+
private measureTile;
|
|
5188
|
+
/** Decode an image off screen so a later swap paints instantly. Bounded to 8 entries. */
|
|
5189
|
+
private warmDecode;
|
|
5190
|
+
/**
|
|
5191
|
+
* Paint `src` on the stage once it is decoded. While decoding, the previous image
|
|
5192
|
+
* stays on screen (`stageBusy` marks the transition); the first image, with nothing
|
|
5193
|
+
* to keep, shows the veil instead.
|
|
5194
|
+
*/
|
|
5195
|
+
private showStageSource;
|
|
5196
|
+
private clearSearchTimer;
|
|
5197
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SlideViewerComponent, never>;
|
|
5198
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SlideViewerComponent, "pecb-slide-viewer", never, { "days": { "alias": "days"; "required": false; "isSignal": true; }; "slides": { "alias": "slides"; "required": false; "isSignal": true; }; "note": { "alias": "note"; "required": false; "isSignal": true; }; "showNote": { "alias": "showNote"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingProgress": { "alias": "loadingProgress"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "tools": { "alias": "tools"; "required": false; "isSignal": true; }; "canDownloadSlides": { "alias": "canDownloadSlides"; "required": false; "isSignal": true; }; "stageAspectRatio": { "alias": "stageAspectRatio"; "required": false; "isSignal": true; }; "sidebarPosition": { "alias": "sidebarPosition"; "required": false; "isSignal": true; }; "showThumbnails": { "alias": "showThumbnails"; "required": false; "isSignal": true; }; "showSearch": { "alias": "showSearch"; "required": false; "isSignal": true; }; "showSlideInput": { "alias": "showSlideInput"; "required": false; "isSignal": true; }; "showFullscreen": { "alias": "showFullscreen"; "required": false; "isSignal": true; }; "zoomable": { "alias": "zoomable"; "required": false; "isSignal": true; }; "zoomSteps": { "alias": "zoomSteps"; "required": false; "isSignal": true; }; "skipHidden": { "alias": "skipHidden"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "reorderable": { "alias": "reorderable"; "required": false; "isSignal": true; }; "virtualizeAbove": { "alias": "virtualizeAbove"; "required": false; "isSignal": true; }; "overscan": { "alias": "overscan"; "required": false; "isSignal": true; }; "prefetch": { "alias": "prefetch"; "required": false; "isSignal": true; }; "swipe": { "alias": "swipe"; "required": false; "isSignal": true; }; "keyboard": { "alias": "keyboard"; "required": false; "isSignal": true; }; "keyMap": { "alias": "keyMap"; "required": false; "isSignal": true; }; "searchDebounce": { "alias": "searchDebounce"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "activeDayId": { "alias": "activeDayId"; "required": false; "isSignal": true; }; "page": { "alias": "page"; "required": false; "isSignal": true; }; "searchTerm": { "alias": "searchTerm"; "required": false; "isSignal": true; }; "noteOpen": { "alias": "noteOpen"; "required": false; "isSignal": true; }; "zoom": { "alias": "zoom"; "required": false; "isSignal": true; }; "selectedIds": { "alias": "selectedIds"; "required": false; "isSignal": true; }; }, { "activeDayId": "activeDayIdChange"; "page": "pageChange"; "searchTerm": "searchTermChange"; "noteOpen": "noteOpenChange"; "zoom": "zoomChange"; "selectedIds": "selectedIdsChange"; "dayChange": "dayChange"; "slideChange": "slideChange"; "tool": "tool"; "fullscreenChange": "fullscreenChange"; "searchChange": "searchChange"; "fullImageRequest": "fullImageRequest"; "slideMove": "slideMove"; "retry": "retry"; }, ["thumbnailTemplate", "dayTemplate"], ["[pecbSlideViewerToolsStart]", "[pecbSlideViewerTools]", "[pecbSlideViewerEmpty]", "[pecbSlideViewerStage]", "[pecbSlideViewerVersion]", "[pecbSlideViewerNote]", "[pecbSlideViewerBelow]", "[pecbSlideViewerSidebarHeader]", "[pecbSlideViewerSidebarFooter]"], true, never>;
|
|
5199
|
+
}
|
|
5200
|
+
|
|
4207
5201
|
/**
|
|
4208
5202
|
* Notification types supported by the service
|
|
4209
5203
|
*/
|
|
@@ -5620,39 +6614,6 @@ declare function tryAsync<T>(operation: () => Promise<T>, errorOptions?: ErrorOp
|
|
|
5620
6614
|
*/
|
|
5621
6615
|
declare function trySync<T>(operation: () => T, errorOptions?: ErrorOptions): [T, null] | [null, PecbError];
|
|
5622
6616
|
|
|
5623
|
-
/**
|
|
5624
|
-
* All available icon names in the PECB icon library.
|
|
5625
|
-
* Use with `<pecb-icon name="icon-name">` for built-in icons.
|
|
5626
|
-
*/
|
|
5627
|
-
type IconName = 'activity' | 'add-square-01' | 'add-square-02' | 'add-square-03' | 'add-square-04' | 'alarm-01' | 'alarm-02' | 'alarm-03' | 'alarm-04' | 'alarm-05' | 'alarm-06' | 'alarm-check' | 'alarm-minus' | 'alarm-off' | 'alarm-plus' | 'alert-circle' | 'alert-square' | 'alert-triangle' | 'align-center' | 'align-down-01' | 'align-down-02' | 'align-horizontal-center-01' | 'align-horizontal-center-02' | 'align-horizontal-center-03' | 'align-justify' | 'align-left' | 'align-left-01' | 'align-left-02' | 'align-right' | 'align-right-01' | 'align-right-02' | 'align-up-01' | 'align-up-02' | 'align-vertical-center-01' | 'align-vertical-center-02' | 'align-vertical-center-03' | 'annotation' | 'annotation-alert' | 'annotation-check' | 'annotation-information' | 'annotation-plus' | 'annotation-typing' | 'annotation-x' | 'atom' | 'attatchment-01' | 'attatchment-02' | 'audio-settings-01' | 'audio-settings-02' | 'bag-01' | 'bag-02' | 'bag-03' | 'bag-04' | 'bag-05' | 'bank' | 'bank-note-01' | 'bank-note-02' | 'bank-note-03' | 'bank-note-04' | 'bank-note-05' | 'bank-note-06' | 'bar-chart-01' | 'bar-chart-02' | 'bar-chart-03' | 'bar-chart-04' | 'bar-chart-05' | 'bar-chart-square-01' | 'bar-chart-square-02' | 'bar-chart-square-03' | 'bar-chart-square-down-01' | 'bar-chart-square-down-02' | 'bar-chart-square-up-01' | 'bar-group-01' | 'bar-group-02' | 'bar-group-03' | 'battery-01' | 'battery-02' | 'battery-03' | 'battery-04' | 'battery-empty' | 'battery-fill-01' | 'battery-fill-02' | 'battery-fill-04' | 'bell-01' | 'bell-02' | 'bell-03' | 'bell-04' | 'bell-off-01' | 'bell-off-02' | 'bell-ringing-01' | 'bell-ringing-02' | 'bell-ringing-03' | 'bell-ringing-04' | 'bezier-01' | 'bezier-02' | 'bluetooth-01' | 'bluetooth-02' | 'bold-01' | 'bold-02' | 'book-01' | 'book-02' | 'book-03' | 'book-04' | 'book-05' | 'book-06' | 'box' | 'brackets' | 'brackets-check' | 'brackets-minus' | 'brackets-plus' | 'brackets-slash' | 'brackets-typing' | 'calculator-01' | 'calculator-02' | 'calendar-01' | 'calendar-02' | 'calendar-03' | 'calendar-04' | 'calendar-05' | 'calendar-06' | 'calendar-07' | 'calendar-check' | 'calendar-minus' | 'calendar-number' | 'calendar-plus' | 'camera-01' | 'camera-02' | 'camera-lens' | 'camera-off' | 'cancel-left' | 'cancel-right' | 'car' | 'card-01' | 'card-02' | 'card-add' | 'card-check' | 'card-down' | 'card-edit' | 'card-lock' | 'card-minus' | 'card-number' | 'card-shield' | 'card-up' | 'card-x' | 'cart' | 'center' | 'chart-breakout-circle' | 'chart-breakout-square' | 'check-01' | 'check-02' | 'check-broken' | 'check-contained' | 'check-square-broken' | 'check-square-contained' | 'chevron-double-down' | 'chevron-double-left' | 'chevron-double-right' | 'chevron-double-up' | 'chevron-down' | 'chevron-left' | 'chevron-right' | 'chevron-up' | 'chromecast' | 'circle' | 'clock-01' | 'clock-backward' | 'clock-check' | 'clock-forward' | 'clock-plus' | 'cloud-01' | 'cloud-02' | 'cloud-03' | 'cloud-04' | 'cloud-lightning' | 'cloud-rain' | 'cloud-snow' | 'cloud-sun' | 'code-01' | 'code-02' | 'code-03' | 'code-04' | 'coin-broken' | 'coin-hand' | 'coin-number' | 'coin-unbroken' | 'coins' | 'coins-rotate' | 'color-picker' | 'color-swatch-01' | 'color-swatch-02' | 'colors-01' | 'colors-02' | 'column-horizontal-01' | 'column-horizontal-02' | 'column-horizontal-03' | 'column-vertical-01' | 'column-vertical-02' | 'column-vertical-03' | 'compare' | 'compass' | 'component' | 'computer' | 'contrast' | 'copy-left' | 'copy-right' | 'crop-01' | 'crop-02' | 'currency-bath' | 'currency-bitcoin' | 'currency-cent' | 'currency-coin-bath' | 'currency-coin-bitcoin' | 'currency-coin-cent' | 'currency-coin-dollar' | 'currency-coin-euro' | 'currency-coin-pound' | 'currency-coin-rubel' | 'currency-coin-rupee' | 'currency-coin-yen' | 'currency-dollar' | 'currency-euro' | 'currency-pound' | 'currency-rubel' | 'currency-rupee' | 'currency-yen' | 'cursor-01' | 'cursor-02' | 'cursor-03' | 'cursor-04' | 'cursor-05' | 'cursor-06' | 'cursor-grab' | 'cursor-grabbed' | 'cursor-pointer' | 'dash' | 'data-01' | 'data-02' | 'data-03' | 'data-04' | 'delete' | 'delivery' | 'diamond' | 'disc' | 'discount-circle' | 'discount-square' | 'discount-star-01' | 'discount-star-02' | 'discount-star-03' | 'divider' | 'dot-horizontal' | 'dot-vertical' | 'download' | 'download-01' | 'download-02' | 'drop' | 'edit-01' | 'edit-02' | 'edit-03' | 'edit-04' | 'edit-contained' | 'email' | 'embed' | 'equals' | 'equals-not' | 'eraser-01' | 'eraser-02' | 'expand' | 'expand-02' | 'eye-closed' | 'eye-open' | 'face-id-01' | 'face-id-02' | 'fast-backward' | 'fast-forward' | 'favourite' | 'feather-01' | 'feather-02' | 'file' | 'file-01' | 'file-02' | 'file-03' | 'file-04' | 'file-05' | 'file-06' | 'file-attach-01' | 'file-attach-02' | 'file-attach-03' | 'file-branch' | 'file-check-01' | 'file-check-02' | 'file-code' | 'file-down-01' | 'file-down-02' | 'file-edit-01' | 'file-edit-02' | 'file-eye-01' | 'file-eye-02' | 'file-lock-01' | 'file-lock-02' | 'file-lock-03' | 'file-minus-01' | 'file-minus-02' | 'file-multiple' | 'file-none' | 'file-plus-01' | 'file-plus-02' | 'file-question-01' | 'file-question-02' | 'file-return-01' | 'file-return-02' | 'file-search-01' | 'file-search-02' | 'file-shield-01' | 'file-shield-02' | 'file-shield-03' | 'file-shred' | 'file-up-01' | 'file-up-02' | 'file-x-02' | 'filter' | 'fingerpint-01' | 'fingerpint-02' | 'flame-01' | 'flash-off' | 'flash-on' | 'flex-align-bottom-01' | 'flex-align-center-01' | 'flex-align-left-01' | 'flex-align-right-01' | 'flex-align-spaced-01' | 'flex-align-top-01' | 'flex-columns' | 'flip-01' | 'flip-02' | 'flip-left' | 'flip-right' | 'folder' | 'folder-code' | 'folder-down-01' | 'folder-down-02' | 'folder-minus-01' | 'folder-open-01' | 'folder-open-02' | 'folder-open-03' | 'folder-plus-01' | 'folder-plus-02' | 'folder-search-01' | 'folder-search-02' | 'folder-shield' | 'folder-up-01' | 'folder-up-02' | 'folder-x-01' | 'folder-x-02' | 'gear' | 'gift-01' | 'gift-02' | 'git-branch-01' | 'git-branch-02' | 'git-branch-03' | 'git-branch-04' | 'git-branch-05' | 'glasses-01' | 'glasses-02' | 'globe' | 'globe-01' | 'globe-02' | 'globe-03' | 'globe-04' | 'globe-05' | 'graduation-cap-01' | 'graduation-cap-02' | 'grid-01' | 'grid-02' | 'grid-03' | 'grid-04-filled' | 'hash-01' | 'hash-02' | 'header-01' | 'header-02' | 'headphones' | 'heart' | 'help' | 'help-circle-contained' | 'help-square-contained' | 'hexagon' | 'home-01' | 'home-02' | 'home-03' | 'home-04' | 'home-05' | 'horizontal-chart-01' | 'horizontal-chart-02' | 'horizontal-chart-03' | 'hourglass-01' | 'hourglass-02' | 'hourglass-03' | 'image' | 'image-01' | 'image-02' | 'image-03' | 'image-04' | 'image-add' | 'image-avatar' | 'image-check' | 'image-down' | 'image-focus' | 'image-indent-left' | 'image-indent-right' | 'image-minus' | 'image-no-borders' | 'image-question' | 'image-up' | 'image-x' | 'inbox-01' | 'inbox-02' | 'indent-decrease' | 'indent-increase' | 'indent-left' | 'indent-right' | 'info-square-01-contained' | 'info-square-02-contained-filled' | 'information-circle-contained' | 'intersect' | 'iphone-02' | 'italics-01' | 'italics-02' | 'key-01' | 'key-02' | 'keyboard' | 'laptop-01' | 'laptop-02' | 'layers-01' | 'layers-02' | 'layers-03' | 'layers-04' | 'layers-05' | 'layout-01' | 'layout-02' | 'layout-03' | 'layout-04' | 'layout-bottom' | 'layout-grid-01' | 'layout-left' | 'layout-right' | 'layout-scale' | 'layout-top' | 'letter-spacing-01' | 'letter-spacing-02' | 'letter-spacing-03' | 'lightbulb-01' | 'lightbulb-02' | 'lightbulb-03' | 'lightning-01' | 'lightning-02' | 'lightning-circle-contained' | 'lightning-filled' | 'lightning-square-contained' | 'line-chart-down-01' | 'line-chart-down-02' | 'line-chart-up-01' | 'line-chart-up-02' | 'line-height' | 'link' | 'link-angled' | 'link-broken' | 'link-external' | 'list' | 'list-numbers' | 'loader-01' | 'loader-02' | 'lock-01' | 'lock-02' | 'lock-03' | 'lock-04' | 'lock-open-01' | 'lock-open-02' | 'lock-open-03' | 'lock-open-04' | 'logout-01' | 'logout-02' | 'logout-03' | 'logout-04' | 'luggage-01' | 'luggage-02' | 'luggage-03' | 'luggage-04' | 'mail-01' | 'mail-02' | 'mail-03' | 'mail-04' | 'mail-05' | 'map-01' | 'map-02' | 'map-03' | 'map-04' | 'marker-01' | 'marker-02' | 'marker-03' | 'marker-04' | 'marker-05' | 'marker-06' | 'maximise-01' | 'maximise-02' | 'media-strip-01' | 'media-strip-02' | 'menu-01' | 'menu-02' | 'menu-03' | 'menu-04' | 'menu-05' | 'message-alert-circle' | 'message-alert-plus' | 'message-chat-01' | 'message-circle' | 'message-notify-circle' | 'message-notify-square' | 'message-square' | 'message-square-information' | 'message-square-plus' | 'message-square-typing' | 'message-square-x' | 'message-text-01' | 'message-text-02' | 'message-typing' | 'message-x' | 'microphone-01' | 'microphone-02' | 'microphone-off-01' | 'microphone-off-02' | 'minimise-01' | 'minimise-02' | 'minus-circle-contained' | 'minus-square-contained' | 'moon-01' | 'moon-02' | 'mouse' | 'move' | 'note-01' | 'note-02' | 'notification-box' | 'notification-bubble' | 'notification-square-01' | 'notification-square-02' | 'octagon' | 'overlap' | 'package-01' | 'package-02' | 'package-check' | 'package-minus' | 'package-plus' | 'package-x' | 'paint-bucket-01' | 'paint-bucket-02' | 'palette' | 'paperclip' | 'paperclip-01' | 'paperclip-02' | 'passport' | 'password-01' | 'password-02' | 'pause-01' | 'pause-02' | 'pause-03' | 'pen-tool-01' | 'pen-tool-02' | 'pen-tool-03' | 'pen-tool-04' | 'pencil-01' | 'pencil-02' | 'pencil-03' | 'pentagon' | 'percent-01' | 'percent-02' | 'percent-03' | 'perspective' | 'phone' | 'phone-call-01' | 'phone-call-02' | 'phone-down' | 'phone-incoming-01' | 'phone-incoming-02' | 'phone-off' | 'phone-outgoing-01' | 'phone-outgoing-02' | 'phone-up' | 'phone-x' | 'pie-chart-01' | 'pie-chart-02' | 'pie-chart-03' | 'plane' | 'play-01' | 'play-02' | 'play-03' | 'plug-01' | 'plus-01' | 'plus-02' | 'plus-03' | 'pointer-01' | 'pointer-02' | 'power' | 'presentation-01' | 'presentation-02' | 'presentation-03' | 'progress' | 'quote' | 'receipt' | 'receipt-lines' | 'refresh-01' | 'rss' | 'ruler' | 'save-01' | 'save-02' | 'scale-01' | 'scale-02' | 'scale-03' | 'scan' | 'scissors-01' | 'scissors-02' | 'scissors-03' | 'scissors-04' | 'search-01' | 'search-02' | 'send-01' | 'send-02' | 'send-03' | 'server-01' | 'server-02' | 'server-03' | 'server-04' | 'server-05' | 'server-06' | 'server-down' | 'server-up' | 'settings' | 'share' | 'shield-01' | 'shield-02' | 'shield-check' | 'shield-plus' | 'shuffle' | 'signal' | 'skew' | 'skip-back' | 'skip-forward' | 'slash-01-backward' | 'slash-01-forward' | 'slash-02-forward' | 'smiley-happy' | 'smiley-happy-plus' | 'smiley-neutral' | 'smiley-sad' | 'smiley-wink' | 'snowflake' | 'sort-horizontal' | 'sort-vertical-01' | 'sort-vertical-02' | 'space-height' | 'space-horizontal' | 'space-vertical' | 'space-width' | 'speaker' | 'square' | 'star-01' | 'star-02' | 'stars' | 'stop-01' | 'stop-02' | 'stopwatch-01' | 'stopwatch-02' | 'stopwatch-03' | 'stopwatch-04' | 'stopwatch-05' | 'stopwatch-off' | 'stopwatch-snooze' | 'sun-01' | 'sun-02' | 'sun-03' | 'sun-down' | 'sun-up' | 'superscript' | 'table' | 'tag' | 'target-01' | 'target-02' | 'target-03' | 'target-04' | 'temperature-01' | 'temperature-02' | 'temperature-03' | 'temperature-04' | 'terminal' | 'text-input-01' | 'text-input-02' | 'thumb-down' | 'thumb-up' | 'ticket-01' | 'ticket-02' | 'toggle-right' | 'toogle-left' | 'train' | 'transform' | 'trash-01' | 'trash-02' | 'trash-03' | 'trash-04' | 'trend-down-01' | 'trend-down-02' | 'trend-up-01' | 'trend-up-02' | 'triangle' | 'truck' | 'tv' | 'type-01' | 'type-02' | 'type-03' | 'type-strike-01' | 'type-strike-02' | 'umbrella' | 'umbrella-01' | 'umbrella-02' | 'underline-01' | 'underline-02' | 'union' | 'upload-01' | 'upload-02' | 'upload-03' | 'upload-04' | 'user-profile-01' | 'user-profile-02' | 'user-profile-03' | 'user-profile-add-01' | 'user-profile-add-02' | 'user-profile-check' | 'user-profile-circle' | 'user-profile-down' | 'user-profile-group' | 'user-profile-left' | 'user-profile-minus' | 'user-profile-right' | 'user-profile-square' | 'user-profile-star' | 'user-profile-up' | 'user-profile-x' | 'users-profiles-01' | 'users-profiles-02' | 'users-profiles-03' | 'users-profiles-check' | 'users-profiles-down' | 'users-profiles-left' | 'users-profiles-minus' | 'users-profiles-plus' | 'users-profiles-right' | 'users-profiles-up' | 'users-profiles-x' | 'variant' | 'video-off' | 'video-on' | 'volume-01' | 'volume-02' | 'volume-03' | 'volume-04' | 'volume-05' | 'volume-06' | 'volume-07' | 'wallert-04' | 'wallet-01' | 'wallet-02' | 'wallet-03' | 'watch-01' | 'watch-02' | 'waveform' | 'webcam' | 'wifi-off' | 'wifi-on' | 'wind-01' | 'wind-02' | 'wind-03' | 'wrench' | 'x-01' | 'x-02' | 'x-03' | 'x-circle-contained' | 'x-square-contained' | 'youtube' | 'zoom-in' | 'zoom-out' | 'custom-warning-xs-neutral';
|
|
5628
|
-
|
|
5629
|
-
/**
|
|
5630
|
-
* Custom icon names — self-contained icons with built-in background and color.
|
|
5631
|
-
*
|
|
5632
|
-
* Naming: `custom-{state}-{size}-{style}`
|
|
5633
|
-
*
|
|
5634
|
-
* | State | Description |
|
|
5635
|
-
* |------------------|------------------------------------|
|
|
5636
|
-
* | check | Checkmark / completed |
|
|
5637
|
-
* | certificate | Certificate / credential |
|
|
5638
|
-
* | view | Eye / visibility |
|
|
5639
|
-
* | add | Plus / create |
|
|
5640
|
-
* | delete | Trash / remove |
|
|
5641
|
-
* | download | Download arrow |
|
|
5642
|
-
* | upload | Upload arrow |
|
|
5643
|
-
* | time | Clock / duration |
|
|
5644
|
-
* | slide | Presentation / slideshow |
|
|
5645
|
-
* | tools | Wrench / settings |
|
|
5646
|
-
* | doc | Document / file |
|
|
5647
|
-
* | info | Information circle |
|
|
5648
|
-
* | warning | Warning triangle |
|
|
5649
|
-
* | not-applicable | N/A / disabled |
|
|
5650
|
-
*
|
|
5651
|
-
* Sizes: xs (24), sm (32), md (40), lg (48), xl (56), 2xl (64)
|
|
5652
|
-
* Styles: active (colored), neutral (gray)
|
|
5653
|
-
*/
|
|
5654
|
-
type CustomIconName = 'custom-add-2xl-active' | 'custom-add-2xl-neutral' | 'custom-add-lg-active' | 'custom-add-lg-neutral' | 'custom-add-md-active' | 'custom-add-md-neutral' | 'custom-add-sm-active' | 'custom-add-sm-neutral' | 'custom-add-xl-active' | 'custom-add-xl-neutral' | 'custom-add-xs-active' | 'custom-add-xs-neutral' | 'custom-certificate-2xl-active' | 'custom-certificate-2xl-neutral' | 'custom-certificate-lg-active' | 'custom-certificate-lg-neutral' | 'custom-certificate-md-active' | 'custom-certificate-md-neutral' | 'custom-certificate-sm-active' | 'custom-certificate-sm-neutral' | 'custom-certificate-xl-active' | 'custom-certificate-xl-neutral' | 'custom-certificate-xs-active' | 'custom-certificate-xs-neutral' | 'custom-check-2xl-active' | 'custom-check-2xl-neutral' | 'custom-check-lg-active' | 'custom-check-lg-neutral' | 'custom-check-md-active' | 'custom-check-md-neutral' | 'custom-check-sm-active' | 'custom-check-sm-neutral' | 'custom-check-xl-active' | 'custom-check-xl-neutral' | 'custom-check-xs-active' | 'custom-check-xs-neutral' | 'custom-delete-2xl-active' | 'custom-delete-2xl-neutral' | 'custom-delete-lg-active' | 'custom-delete-lg-neutral' | 'custom-delete-md-active' | 'custom-delete-md-neutral' | 'custom-delete-sm-active' | 'custom-delete-sm-neutral' | 'custom-delete-xl-active' | 'custom-delete-xl-neutral' | 'custom-delete-xs-active' | 'custom-delete-xs-neutral' | 'custom-doc-2xl-active' | 'custom-doc-2xl-neutral' | 'custom-doc-lg-active' | 'custom-doc-lg-neutral' | 'custom-doc-md-active' | 'custom-doc-md-neutral' | 'custom-doc-sm-active' | 'custom-doc-sm-neutral' | 'custom-doc-xl-active' | 'custom-doc-xl-neutral' | 'custom-doc-xs-active' | 'custom-doc-xs-neutral' | 'custom-download-2xl-active' | 'custom-download-2xl-neutral' | 'custom-download-lg-active' | 'custom-download-lg-neutral' | 'custom-download-md-active' | 'custom-download-md-neutral' | 'custom-download-sm-active' | 'custom-download-sm-neutral' | 'custom-download-xl-active' | 'custom-download-xl-neutral' | 'custom-download-xs-active' | 'custom-download-xs-neutral' | 'custom-info-2xl-active' | 'custom-info-2xl-neutral' | 'custom-info-lg-active' | 'custom-info-lg-neutral' | 'custom-info-md-active' | 'custom-info-md-neutral' | 'custom-info-sm-active' | 'custom-info-sm-neutral' | 'custom-info-xl-active' | 'custom-info-xl-neutral' | 'custom-info-xs-active' | 'custom-info-xs-neutral' | 'custom-not-applicable-2xl-active' | 'custom-not-applicable-2xl-neutral' | 'custom-not-applicable-lg-active' | 'custom-not-applicable-lg-neutral' | 'custom-not-applicable-md-active' | 'custom-not-applicable-md-neutral' | 'custom-not-applicable-sm-active' | 'custom-not-applicable-sm-neutral' | 'custom-not-applicable-xl-active' | 'custom-not-applicable-xl-neutral' | 'custom-not-applicable-xs-active' | 'custom-not-applicable-xs-neutral' | 'custom-slide-2xl-active' | 'custom-slide-2xl-neutral' | 'custom-slide-lg-active' | 'custom-slide-lg-neutral' | 'custom-slide-md-active' | 'custom-slide-md-neutral' | 'custom-slide-sm-active' | 'custom-slide-sm-neutral' | 'custom-slide-xl-active' | 'custom-slide-xl-neutral' | 'custom-slide-xs-active' | 'custom-slide-xs-neutral' | 'custom-time-2xl-active' | 'custom-time-2xl-neutral' | 'custom-time-lg-active' | 'custom-time-lg-neutral' | 'custom-time-md-active' | 'custom-time-md-neutral' | 'custom-time-sm-active' | 'custom-time-sm-neutral' | 'custom-time-xl-active' | 'custom-time-xl-neutral' | 'custom-time-xs-active' | 'custom-time-xs-neutral' | 'custom-tools-2xl-active' | 'custom-tools-2xl-neutral' | 'custom-tools-lg-active' | 'custom-tools-lg-neutral' | 'custom-tools-md-active' | 'custom-tools-md-neutral' | 'custom-tools-sm-active' | 'custom-tools-sm-neutral' | 'custom-tools-xl-active' | 'custom-tools-xl-neutral' | 'custom-tools-xs-active' | 'custom-tools-xs-neutral' | 'custom-upload-2xl-active' | 'custom-upload-2xl-neutral' | 'custom-upload-lg-active' | 'custom-upload-lg-neutral' | 'custom-upload-md-active' | 'custom-upload-md-neutral' | 'custom-upload-sm-active' | 'custom-upload-sm-neutral' | 'custom-upload-xl-active' | 'custom-upload-xl-neutral' | 'custom-upload-xs-active' | 'custom-upload-xs-neutral' | 'custom-view-2xl-active' | 'custom-view-2xl-neutral' | 'custom-view-lg-active' | 'custom-view-lg-neutral' | 'custom-view-md-active' | 'custom-view-md-neutral' | 'custom-view-sm-active' | 'custom-view-sm-neutral' | 'custom-view-xl-active' | 'custom-view-xl-neutral' | 'custom-view-xs-active' | 'custom-view-xs-neutral' | 'custom-warning' | 'custom-warning-2xl-active' | 'custom-warning-2xl-neutral' | 'custom-warning-lg-active' | 'custom-warning-lg-neutral' | 'custom-warning-md-active' | 'custom-warning-md-neutral' | 'custom-warning-sm-active' | 'custom-warning-sm-neutral' | 'custom-warning-xl-active' | 'custom-warning-xl-neutral' | 'custom-warning-xs-active';
|
|
5655
|
-
|
|
5656
6617
|
/** Container size. The inner icon is always 50 % of the container. */
|
|
5657
6618
|
type IconSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
|
|
5658
6619
|
/**
|
|
@@ -5697,7 +6658,7 @@ declare class IconComponent {
|
|
|
5697
6658
|
* Registered icon name. When provided, the SVG is resolved from the
|
|
5698
6659
|
* `IconRegistry`. Takes highest priority.
|
|
5699
6660
|
*/
|
|
5700
|
-
name: _angular_core.InputSignal<IconName | CustomIconName | undefined>;
|
|
6661
|
+
name: _angular_core.InputSignal<"embed" | "link" | "progress" | "table" | "circle" | "filter" | "image" | "annotation" | "center" | "drop" | "activity" | "add-square-01" | "add-square-02" | "add-square-03" | "add-square-04" | "alarm-01" | "alarm-02" | "alarm-03" | "alarm-04" | "alarm-05" | "alarm-06" | "alarm-check" | "alarm-minus" | "alarm-off" | "alarm-plus" | "alert-circle" | "alert-square" | "alert-triangle" | "align-center" | "align-down-01" | "align-down-02" | "align-horizontal-center-01" | "align-horizontal-center-02" | "align-horizontal-center-03" | "align-justify" | "align-left" | "align-left-01" | "align-left-02" | "align-right" | "align-right-01" | "align-right-02" | "align-up-01" | "align-up-02" | "align-vertical-center-01" | "align-vertical-center-02" | "align-vertical-center-03" | "annotation-alert" | "annotation-check" | "annotation-information" | "annotation-plus" | "annotation-typing" | "annotation-x" | "atom" | "attatchment-01" | "attatchment-02" | "audio-settings-01" | "audio-settings-02" | "bag-01" | "bag-02" | "bag-03" | "bag-04" | "bag-05" | "bank" | "bank-note-01" | "bank-note-02" | "bank-note-03" | "bank-note-04" | "bank-note-05" | "bank-note-06" | "bar-chart-01" | "bar-chart-02" | "bar-chart-03" | "bar-chart-04" | "bar-chart-05" | "bar-chart-square-01" | "bar-chart-square-02" | "bar-chart-square-03" | "bar-chart-square-down-01" | "bar-chart-square-down-02" | "bar-chart-square-up-01" | "bar-group-01" | "bar-group-02" | "bar-group-03" | "battery-01" | "battery-02" | "battery-03" | "battery-04" | "battery-empty" | "battery-fill-01" | "battery-fill-02" | "battery-fill-04" | "bell-01" | "bell-02" | "bell-03" | "bell-04" | "bell-off-01" | "bell-off-02" | "bell-ringing-01" | "bell-ringing-02" | "bell-ringing-03" | "bell-ringing-04" | "bezier-01" | "bezier-02" | "bluetooth-01" | "bluetooth-02" | "bold-01" | "bold-02" | "book-01" | "book-02" | "book-03" | "book-04" | "book-05" | "book-06" | "box" | "brackets" | "brackets-check" | "brackets-minus" | "brackets-plus" | "brackets-slash" | "brackets-typing" | "calculator-01" | "calculator-02" | "calendar-01" | "calendar-02" | "calendar-03" | "calendar-04" | "calendar-05" | "calendar-06" | "calendar-07" | "calendar-check" | "calendar-minus" | "calendar-number" | "calendar-plus" | "camera-01" | "camera-02" | "camera-lens" | "camera-off" | "cancel-left" | "cancel-right" | "car" | "card-01" | "card-02" | "card-add" | "card-check" | "card-down" | "card-edit" | "card-lock" | "card-minus" | "card-number" | "card-shield" | "card-up" | "card-x" | "cart" | "chart-breakout-circle" | "chart-breakout-square" | "check-01" | "check-02" | "check-broken" | "check-contained" | "check-square-broken" | "check-square-contained" | "chevron-double-down" | "chevron-double-left" | "chevron-double-right" | "chevron-double-up" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "chromecast" | "clock-01" | "clock-backward" | "clock-check" | "clock-forward" | "clock-plus" | "cloud-01" | "cloud-02" | "cloud-03" | "cloud-04" | "cloud-lightning" | "cloud-rain" | "cloud-snow" | "cloud-sun" | "code-01" | "code-02" | "code-03" | "code-04" | "coin-broken" | "coin-hand" | "coin-number" | "coin-unbroken" | "coins" | "coins-rotate" | "color-picker" | "color-swatch-01" | "color-swatch-02" | "colors-01" | "colors-02" | "column-horizontal-01" | "column-horizontal-02" | "column-horizontal-03" | "column-vertical-01" | "column-vertical-02" | "column-vertical-03" | "compare" | "compass" | "component" | "computer" | "contrast" | "copy-left" | "copy-right" | "crop-01" | "crop-02" | "currency-bath" | "currency-bitcoin" | "currency-cent" | "currency-coin-bath" | "currency-coin-bitcoin" | "currency-coin-cent" | "currency-coin-dollar" | "currency-coin-euro" | "currency-coin-pound" | "currency-coin-rubel" | "currency-coin-rupee" | "currency-coin-yen" | "currency-dollar" | "currency-euro" | "currency-pound" | "currency-rubel" | "currency-rupee" | "currency-yen" | "cursor-01" | "cursor-02" | "cursor-03" | "cursor-04" | "cursor-05" | "cursor-06" | "cursor-grab" | "cursor-grabbed" | "cursor-pointer" | "dash" | "data-01" | "data-02" | "data-03" | "data-04" | "delete" | "delivery" | "diamond" | "disc" | "discount-circle" | "discount-square" | "discount-star-01" | "discount-star-02" | "discount-star-03" | "divider" | "dot-horizontal" | "dot-vertical" | "download" | "download-01" | "download-02" | "edit-01" | "edit-02" | "edit-03" | "edit-04" | "edit-contained" | "email" | "equals" | "equals-not" | "eraser-01" | "eraser-02" | "expand" | "expand-02" | "eye-closed" | "eye-open" | "face-id-01" | "face-id-02" | "fast-backward" | "fast-forward" | "favourite" | "feather-01" | "feather-02" | "file" | "file-01" | "file-02" | "file-03" | "file-04" | "file-05" | "file-06" | "file-attach-01" | "file-attach-02" | "file-attach-03" | "file-branch" | "file-check-01" | "file-check-02" | "file-code" | "file-down-01" | "file-down-02" | "file-edit-01" | "file-edit-02" | "file-eye-01" | "file-eye-02" | "file-lock-01" | "file-lock-02" | "file-lock-03" | "file-minus-01" | "file-minus-02" | "file-multiple" | "file-none" | "file-plus-01" | "file-plus-02" | "file-question-01" | "file-question-02" | "file-return-01" | "file-return-02" | "file-search-01" | "file-search-02" | "file-shield-01" | "file-shield-02" | "file-shield-03" | "file-shred" | "file-up-01" | "file-up-02" | "file-x-02" | "fingerpint-01" | "fingerpint-02" | "flame-01" | "flash-off" | "flash-on" | "flex-align-bottom-01" | "flex-align-center-01" | "flex-align-left-01" | "flex-align-right-01" | "flex-align-spaced-01" | "flex-align-top-01" | "flex-columns" | "flip-01" | "flip-02" | "flip-left" | "flip-right" | "folder" | "folder-code" | "folder-down-01" | "folder-down-02" | "folder-minus-01" | "folder-open-01" | "folder-open-02" | "folder-open-03" | "folder-plus-01" | "folder-plus-02" | "folder-search-01" | "folder-search-02" | "folder-shield" | "folder-up-01" | "folder-up-02" | "folder-x-01" | "folder-x-02" | "gear" | "gift-01" | "gift-02" | "git-branch-01" | "git-branch-02" | "git-branch-03" | "git-branch-04" | "git-branch-05" | "glasses-01" | "glasses-02" | "globe" | "globe-01" | "globe-02" | "globe-03" | "globe-04" | "globe-05" | "graduation-cap-01" | "graduation-cap-02" | "grid-01" | "grid-02" | "grid-03" | "grid-04-filled" | "hash-01" | "hash-02" | "header-01" | "header-02" | "headphones" | "heart" | "help" | "help-circle-contained" | "help-square-contained" | "hexagon" | "home-01" | "home-02" | "home-03" | "home-04" | "home-05" | "horizontal-chart-01" | "horizontal-chart-02" | "horizontal-chart-03" | "hourglass-01" | "hourglass-02" | "hourglass-03" | "image-01" | "image-02" | "image-03" | "image-04" | "image-add" | "image-avatar" | "image-check" | "image-down" | "image-focus" | "image-indent-left" | "image-indent-right" | "image-minus" | "image-no-borders" | "image-question" | "image-up" | "image-x" | "inbox-01" | "inbox-02" | "indent-decrease" | "indent-increase" | "indent-left" | "indent-right" | "info-square-01-contained" | "info-square-02-contained-filled" | "information-circle-contained" | "intersect" | "iphone-02" | "italics-01" | "italics-02" | "key-01" | "key-02" | "keyboard" | "laptop-01" | "laptop-02" | "layers-01" | "layers-02" | "layers-03" | "layers-04" | "layers-05" | "layout-01" | "layout-02" | "layout-03" | "layout-04" | "layout-bottom" | "layout-grid-01" | "layout-left" | "layout-right" | "layout-scale" | "layout-top" | "letter-spacing-01" | "letter-spacing-02" | "letter-spacing-03" | "lightbulb-01" | "lightbulb-02" | "lightbulb-03" | "lightning-01" | "lightning-02" | "lightning-circle-contained" | "lightning-filled" | "lightning-square-contained" | "line-chart-down-01" | "line-chart-down-02" | "line-chart-up-01" | "line-chart-up-02" | "line-height" | "link-angled" | "link-broken" | "link-external" | "list" | "list-numbers" | "loader-01" | "loader-02" | "lock-01" | "lock-02" | "lock-03" | "lock-04" | "lock-open-01" | "lock-open-02" | "lock-open-03" | "lock-open-04" | "logout-01" | "logout-02" | "logout-03" | "logout-04" | "luggage-01" | "luggage-02" | "luggage-03" | "luggage-04" | "mail-01" | "mail-02" | "mail-03" | "mail-04" | "mail-05" | "map-01" | "map-02" | "map-03" | "map-04" | "marker-01" | "marker-02" | "marker-03" | "marker-04" | "marker-05" | "marker-06" | "maximise-01" | "maximise-02" | "media-strip-01" | "media-strip-02" | "menu-01" | "menu-02" | "menu-03" | "menu-04" | "menu-05" | "message-alert-circle" | "message-alert-plus" | "message-chat-01" | "message-circle" | "message-notify-circle" | "message-notify-square" | "message-square" | "message-square-information" | "message-square-plus" | "message-square-typing" | "message-square-x" | "message-text-01" | "message-text-02" | "message-typing" | "message-x" | "microphone-01" | "microphone-02" | "microphone-off-01" | "microphone-off-02" | "minimise-01" | "minimise-02" | "minus-circle-contained" | "minus-square-contained" | "moon-01" | "moon-02" | "mouse" | "move" | "note-01" | "note-02" | "notification-box" | "notification-bubble" | "notification-square-01" | "notification-square-02" | "octagon" | "overlap" | "package-01" | "package-02" | "package-check" | "package-minus" | "package-plus" | "package-x" | "paint-bucket-01" | "paint-bucket-02" | "palette" | "paperclip" | "paperclip-01" | "paperclip-02" | "passport" | "password-01" | "password-02" | "pause-01" | "pause-02" | "pause-03" | "pen-tool-01" | "pen-tool-02" | "pen-tool-03" | "pen-tool-04" | "pencil-01" | "pencil-02" | "pencil-03" | "pentagon" | "percent-01" | "percent-02" | "percent-03" | "perspective" | "phone" | "phone-call-01" | "phone-call-02" | "phone-down" | "phone-incoming-01" | "phone-incoming-02" | "phone-off" | "phone-outgoing-01" | "phone-outgoing-02" | "phone-up" | "phone-x" | "pie-chart-01" | "pie-chart-02" | "pie-chart-03" | "plane" | "play-01" | "play-02" | "play-03" | "plug-01" | "plus-01" | "plus-02" | "plus-03" | "pointer-01" | "pointer-02" | "power" | "presentation-01" | "presentation-02" | "presentation-03" | "quote" | "receipt" | "receipt-lines" | "refresh-01" | "rss" | "ruler" | "save-01" | "save-02" | "scale-01" | "scale-02" | "scale-03" | "scan" | "scissors-01" | "scissors-02" | "scissors-03" | "scissors-04" | "search-01" | "search-02" | "send-01" | "send-02" | "send-03" | "server-01" | "server-02" | "server-03" | "server-04" | "server-05" | "server-06" | "server-down" | "server-up" | "settings" | "share" | "shield-01" | "shield-02" | "shield-check" | "shield-plus" | "shuffle" | "signal" | "skew" | "skip-back" | "skip-forward" | "slash-01-backward" | "slash-01-forward" | "slash-02-forward" | "smiley-happy" | "smiley-happy-plus" | "smiley-neutral" | "smiley-sad" | "smiley-wink" | "snowflake" | "sort-horizontal" | "sort-vertical-01" | "sort-vertical-02" | "space-height" | "space-horizontal" | "space-vertical" | "space-width" | "speaker" | "square" | "star-01" | "star-02" | "stars" | "stop-01" | "stop-02" | "stopwatch-01" | "stopwatch-02" | "stopwatch-03" | "stopwatch-04" | "stopwatch-05" | "stopwatch-off" | "stopwatch-snooze" | "sun-01" | "sun-02" | "sun-03" | "sun-down" | "sun-up" | "superscript" | "tag" | "target-01" | "target-02" | "target-03" | "target-04" | "temperature-01" | "temperature-02" | "temperature-03" | "temperature-04" | "terminal" | "text-input-01" | "text-input-02" | "thumb-down" | "thumb-up" | "ticket-01" | "ticket-02" | "toggle-right" | "toogle-left" | "train" | "transform" | "trash-01" | "trash-02" | "trash-03" | "trash-04" | "trend-down-01" | "trend-down-02" | "trend-up-01" | "trend-up-02" | "triangle" | "truck" | "tv" | "type-01" | "type-02" | "type-03" | "type-strike-01" | "type-strike-02" | "umbrella" | "umbrella-01" | "umbrella-02" | "underline-01" | "underline-02" | "union" | "upload-01" | "upload-02" | "upload-03" | "upload-04" | "user-profile-01" | "user-profile-02" | "user-profile-03" | "user-profile-add-01" | "user-profile-add-02" | "user-profile-check" | "user-profile-circle" | "user-profile-down" | "user-profile-group" | "user-profile-left" | "user-profile-minus" | "user-profile-right" | "user-profile-square" | "user-profile-star" | "user-profile-up" | "user-profile-x" | "users-profiles-01" | "users-profiles-02" | "users-profiles-03" | "users-profiles-check" | "users-profiles-down" | "users-profiles-left" | "users-profiles-minus" | "users-profiles-plus" | "users-profiles-right" | "users-profiles-up" | "users-profiles-x" | "variant" | "video-off" | "video-on" | "volume-01" | "volume-02" | "volume-03" | "volume-04" | "volume-05" | "volume-06" | "volume-07" | "wallert-04" | "wallet-01" | "wallet-02" | "wallet-03" | "watch-01" | "watch-02" | "waveform" | "webcam" | "wifi-off" | "wifi-on" | "wind-01" | "wind-02" | "wind-03" | "wrench" | "x-01" | "x-02" | "x-03" | "x-circle-contained" | "x-square-contained" | "youtube" | "zoom-in" | "zoom-out" | "custom-warning-xs-neutral" | "custom-add-2xl-active" | "custom-add-2xl-neutral" | "custom-add-lg-active" | "custom-add-lg-neutral" | "custom-add-md-active" | "custom-add-md-neutral" | "custom-add-sm-active" | "custom-add-sm-neutral" | "custom-add-xl-active" | "custom-add-xl-neutral" | "custom-add-xs-active" | "custom-add-xs-neutral" | "custom-amf-note-md-active" | "custom-amf-note-paid-md-active" | "custom-att-acc-md-active" | "custom-att-evaluate-md-active" | "custom-att-na-md-active" | "custom-cert-apply-md-active" | "custom-cert-refused-md-active" | "custom-cert-treatment-md-active" | "custom-cert-view-md-active" | "custom-certificate-2xl-active" | "custom-certificate-2xl-neutral" | "custom-certificate-lg-active" | "custom-certificate-lg-neutral" | "custom-certificate-md-active" | "custom-certificate-md-neutral" | "custom-certificate-sm-active" | "custom-certificate-sm-neutral" | "custom-certificate-xl-active" | "custom-certificate-xl-neutral" | "custom-certificate-xs-active" | "custom-certificate-xs-neutral" | "custom-check-2xl-active" | "custom-check-2xl-neutral" | "custom-check-lg-active" | "custom-check-lg-neutral" | "custom-check-md-active" | "custom-check-md-neutral" | "custom-check-sm-active" | "custom-check-sm-neutral" | "custom-check-xl-active" | "custom-check-xl-neutral" | "custom-check-xs-active" | "custom-check-xs-neutral" | "custom-content-classroom-md-active" | "custom-content-classroom-md-neutral" | "custom-content-elearning-md-active" | "custom-content-elearning-md-neutral" | "custom-content-liveonline-md-active" | "custom-content-liveonline-md-neutral" | "custom-content-selfstudy-md-active" | "custom-content-selfstudy-md-neutral" | "custom-content-technical-md-active" | "custom-content-technical-md-neutral" | "custom-delete-2xl-active" | "custom-delete-2xl-neutral" | "custom-delete-lg-active" | "custom-delete-lg-neutral" | "custom-delete-md-active" | "custom-delete-md-neutral" | "custom-delete-sm-active" | "custom-delete-sm-neutral" | "custom-delete-xl-active" | "custom-delete-xl-neutral" | "custom-delete-xs-active" | "custom-delete-xs-neutral" | "custom-doc-2xl-active" | "custom-doc-2xl-neutral" | "custom-doc-lg-active" | "custom-doc-lg-neutral" | "custom-doc-md-active" | "custom-doc-md-neutral" | "custom-doc-sm-active" | "custom-doc-sm-neutral" | "custom-doc-xl-active" | "custom-doc-xl-neutral" | "custom-doc-xs-active" | "custom-doc-xs-neutral" | "custom-download-2xl-active" | "custom-download-2xl-neutral" | "custom-download-lg-active" | "custom-download-lg-neutral" | "custom-download-md-active" | "custom-download-md-neutral" | "custom-download-sm-active" | "custom-download-sm-neutral" | "custom-download-xl-active" | "custom-download-xl-neutral" | "custom-download-xs-active" | "custom-download-xs-neutral" | "custom-exam-failed-md-active" | "custom-exam-missed-md-active" | "custom-exam-passed-md-active" | "custom-exam-schedule-md-active" | "custom-exam-scheduled-md-active" | "custom-exam-waiting-md-active" | "custom-info-2xl-active" | "custom-info-2xl-neutral" | "custom-info-lg-active" | "custom-info-lg-neutral" | "custom-info-md-active" | "custom-info-md-neutral" | "custom-info-sm-active" | "custom-info-sm-neutral" | "custom-info-xl-active" | "custom-info-xl-neutral" | "custom-info-xs-active" | "custom-info-xs-neutral" | "custom-not-applicable-2xl-active" | "custom-not-applicable-2xl-neutral" | "custom-not-applicable-lg-active" | "custom-not-applicable-lg-neutral" | "custom-not-applicable-md-active" | "custom-not-applicable-md-neutral" | "custom-not-applicable-sm-active" | "custom-not-applicable-sm-neutral" | "custom-not-applicable-xl-active" | "custom-not-applicable-xl-neutral" | "custom-not-applicable-xs-active" | "custom-not-applicable-xs-neutral" | "custom-slide-2xl-active" | "custom-slide-2xl-neutral" | "custom-slide-lg-active" | "custom-slide-lg-neutral" | "custom-slide-md-active" | "custom-slide-md-neutral" | "custom-slide-sm-active" | "custom-slide-sm-neutral" | "custom-slide-xl-active" | "custom-slide-xl-neutral" | "custom-slide-xs-active" | "custom-slide-xs-neutral" | "custom-time-2xl-active" | "custom-time-2xl-neutral" | "custom-time-lg-active" | "custom-time-lg-neutral" | "custom-time-md-active" | "custom-time-md-neutral" | "custom-time-sm-active" | "custom-time-sm-neutral" | "custom-time-xl-active" | "custom-time-xl-neutral" | "custom-time-xs-active" | "custom-time-xs-neutral" | "custom-tools-2xl-active" | "custom-tools-2xl-neutral" | "custom-tools-lg-active" | "custom-tools-lg-neutral" | "custom-tools-md-active" | "custom-tools-md-neutral" | "custom-tools-sm-active" | "custom-tools-sm-neutral" | "custom-tools-xl-active" | "custom-tools-xl-neutral" | "custom-tools-xs-active" | "custom-tools-xs-neutral" | "custom-upload-2xl-active" | "custom-upload-2xl-neutral" | "custom-upload-lg-active" | "custom-upload-lg-neutral" | "custom-upload-md-active" | "custom-upload-md-neutral" | "custom-upload-sm-active" | "custom-upload-sm-neutral" | "custom-upload-xl-active" | "custom-upload-xl-neutral" | "custom-upload-xs-active" | "custom-upload-xs-neutral" | "custom-view-2xl-active" | "custom-view-2xl-neutral" | "custom-view-lg-active" | "custom-view-lg-neutral" | "custom-view-md-active" | "custom-view-md-neutral" | "custom-view-sm-active" | "custom-view-sm-neutral" | "custom-view-xl-active" | "custom-view-xl-neutral" | "custom-view-xs-active" | "custom-view-xs-neutral" | "custom-warning-2xl-active" | "custom-warning-2xl-neutral" | "custom-warning-lg-active" | "custom-warning-lg-neutral" | "custom-warning-md-active" | "custom-warning-md-neutral" | "custom-warning-sm-active" | "custom-warning-sm-neutral" | "custom-warning-xl-active" | "custom-warning-xl-neutral" | "custom-warning-xs-active" | undefined>;
|
|
5701
6662
|
/**
|
|
5702
6663
|
* Inline SVG string to render inside the container.
|
|
5703
6664
|
* When provided, this takes precedence over projected content.
|
|
@@ -5738,6 +6699,12 @@ declare class IconComponent {
|
|
|
5738
6699
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<IconComponent, "pecb-icon", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "svgIcon": { "alias": "svgIcon"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
5739
6700
|
}
|
|
5740
6701
|
|
|
6702
|
+
/**
|
|
6703
|
+
* All available icon names in the PECB icon library.
|
|
6704
|
+
* Use with `<pecb-icon name="icon-name">` for built-in icons.
|
|
6705
|
+
*/
|
|
6706
|
+
type IconName = 'activity' | 'add-square-01' | 'add-square-02' | 'add-square-03' | 'add-square-04' | 'alarm-01' | 'alarm-02' | 'alarm-03' | 'alarm-04' | 'alarm-05' | 'alarm-06' | 'alarm-check' | 'alarm-minus' | 'alarm-off' | 'alarm-plus' | 'alert-circle' | 'alert-square' | 'alert-triangle' | 'align-center' | 'align-down-01' | 'align-down-02' | 'align-horizontal-center-01' | 'align-horizontal-center-02' | 'align-horizontal-center-03' | 'align-justify' | 'align-left' | 'align-left-01' | 'align-left-02' | 'align-right' | 'align-right-01' | 'align-right-02' | 'align-up-01' | 'align-up-02' | 'align-vertical-center-01' | 'align-vertical-center-02' | 'align-vertical-center-03' | 'annotation' | 'annotation-alert' | 'annotation-check' | 'annotation-information' | 'annotation-plus' | 'annotation-typing' | 'annotation-x' | 'atom' | 'attatchment-01' | 'attatchment-02' | 'audio-settings-01' | 'audio-settings-02' | 'bag-01' | 'bag-02' | 'bag-03' | 'bag-04' | 'bag-05' | 'bank' | 'bank-note-01' | 'bank-note-02' | 'bank-note-03' | 'bank-note-04' | 'bank-note-05' | 'bank-note-06' | 'bar-chart-01' | 'bar-chart-02' | 'bar-chart-03' | 'bar-chart-04' | 'bar-chart-05' | 'bar-chart-square-01' | 'bar-chart-square-02' | 'bar-chart-square-03' | 'bar-chart-square-down-01' | 'bar-chart-square-down-02' | 'bar-chart-square-up-01' | 'bar-group-01' | 'bar-group-02' | 'bar-group-03' | 'battery-01' | 'battery-02' | 'battery-03' | 'battery-04' | 'battery-empty' | 'battery-fill-01' | 'battery-fill-02' | 'battery-fill-04' | 'bell-01' | 'bell-02' | 'bell-03' | 'bell-04' | 'bell-off-01' | 'bell-off-02' | 'bell-ringing-01' | 'bell-ringing-02' | 'bell-ringing-03' | 'bell-ringing-04' | 'bezier-01' | 'bezier-02' | 'bluetooth-01' | 'bluetooth-02' | 'bold-01' | 'bold-02' | 'book-01' | 'book-02' | 'book-03' | 'book-04' | 'book-05' | 'book-06' | 'box' | 'brackets' | 'brackets-check' | 'brackets-minus' | 'brackets-plus' | 'brackets-slash' | 'brackets-typing' | 'calculator-01' | 'calculator-02' | 'calendar-01' | 'calendar-02' | 'calendar-03' | 'calendar-04' | 'calendar-05' | 'calendar-06' | 'calendar-07' | 'calendar-check' | 'calendar-minus' | 'calendar-number' | 'calendar-plus' | 'camera-01' | 'camera-02' | 'camera-lens' | 'camera-off' | 'cancel-left' | 'cancel-right' | 'car' | 'card-01' | 'card-02' | 'card-add' | 'card-check' | 'card-down' | 'card-edit' | 'card-lock' | 'card-minus' | 'card-number' | 'card-shield' | 'card-up' | 'card-x' | 'cart' | 'center' | 'chart-breakout-circle' | 'chart-breakout-square' | 'check-01' | 'check-02' | 'check-broken' | 'check-contained' | 'check-square-broken' | 'check-square-contained' | 'chevron-double-down' | 'chevron-double-left' | 'chevron-double-right' | 'chevron-double-up' | 'chevron-down' | 'chevron-left' | 'chevron-right' | 'chevron-up' | 'chromecast' | 'circle' | 'clock-01' | 'clock-backward' | 'clock-check' | 'clock-forward' | 'clock-plus' | 'cloud-01' | 'cloud-02' | 'cloud-03' | 'cloud-04' | 'cloud-lightning' | 'cloud-rain' | 'cloud-snow' | 'cloud-sun' | 'code-01' | 'code-02' | 'code-03' | 'code-04' | 'coin-broken' | 'coin-hand' | 'coin-number' | 'coin-unbroken' | 'coins' | 'coins-rotate' | 'color-picker' | 'color-swatch-01' | 'color-swatch-02' | 'colors-01' | 'colors-02' | 'column-horizontal-01' | 'column-horizontal-02' | 'column-horizontal-03' | 'column-vertical-01' | 'column-vertical-02' | 'column-vertical-03' | 'compare' | 'compass' | 'component' | 'computer' | 'contrast' | 'copy-left' | 'copy-right' | 'crop-01' | 'crop-02' | 'currency-bath' | 'currency-bitcoin' | 'currency-cent' | 'currency-coin-bath' | 'currency-coin-bitcoin' | 'currency-coin-cent' | 'currency-coin-dollar' | 'currency-coin-euro' | 'currency-coin-pound' | 'currency-coin-rubel' | 'currency-coin-rupee' | 'currency-coin-yen' | 'currency-dollar' | 'currency-euro' | 'currency-pound' | 'currency-rubel' | 'currency-rupee' | 'currency-yen' | 'cursor-01' | 'cursor-02' | 'cursor-03' | 'cursor-04' | 'cursor-05' | 'cursor-06' | 'cursor-grab' | 'cursor-grabbed' | 'cursor-pointer' | 'dash' | 'data-01' | 'data-02' | 'data-03' | 'data-04' | 'delete' | 'delivery' | 'diamond' | 'disc' | 'discount-circle' | 'discount-square' | 'discount-star-01' | 'discount-star-02' | 'discount-star-03' | 'divider' | 'dot-horizontal' | 'dot-vertical' | 'download' | 'download-01' | 'download-02' | 'drop' | 'edit-01' | 'edit-02' | 'edit-03' | 'edit-04' | 'edit-contained' | 'email' | 'embed' | 'equals' | 'equals-not' | 'eraser-01' | 'eraser-02' | 'expand' | 'expand-02' | 'eye-closed' | 'eye-open' | 'face-id-01' | 'face-id-02' | 'fast-backward' | 'fast-forward' | 'favourite' | 'feather-01' | 'feather-02' | 'file' | 'file-01' | 'file-02' | 'file-03' | 'file-04' | 'file-05' | 'file-06' | 'file-attach-01' | 'file-attach-02' | 'file-attach-03' | 'file-branch' | 'file-check-01' | 'file-check-02' | 'file-code' | 'file-down-01' | 'file-down-02' | 'file-edit-01' | 'file-edit-02' | 'file-eye-01' | 'file-eye-02' | 'file-lock-01' | 'file-lock-02' | 'file-lock-03' | 'file-minus-01' | 'file-minus-02' | 'file-multiple' | 'file-none' | 'file-plus-01' | 'file-plus-02' | 'file-question-01' | 'file-question-02' | 'file-return-01' | 'file-return-02' | 'file-search-01' | 'file-search-02' | 'file-shield-01' | 'file-shield-02' | 'file-shield-03' | 'file-shred' | 'file-up-01' | 'file-up-02' | 'file-x-02' | 'filter' | 'fingerpint-01' | 'fingerpint-02' | 'flame-01' | 'flash-off' | 'flash-on' | 'flex-align-bottom-01' | 'flex-align-center-01' | 'flex-align-left-01' | 'flex-align-right-01' | 'flex-align-spaced-01' | 'flex-align-top-01' | 'flex-columns' | 'flip-01' | 'flip-02' | 'flip-left' | 'flip-right' | 'folder' | 'folder-code' | 'folder-down-01' | 'folder-down-02' | 'folder-minus-01' | 'folder-open-01' | 'folder-open-02' | 'folder-open-03' | 'folder-plus-01' | 'folder-plus-02' | 'folder-search-01' | 'folder-search-02' | 'folder-shield' | 'folder-up-01' | 'folder-up-02' | 'folder-x-01' | 'folder-x-02' | 'gear' | 'gift-01' | 'gift-02' | 'git-branch-01' | 'git-branch-02' | 'git-branch-03' | 'git-branch-04' | 'git-branch-05' | 'glasses-01' | 'glasses-02' | 'globe' | 'globe-01' | 'globe-02' | 'globe-03' | 'globe-04' | 'globe-05' | 'graduation-cap-01' | 'graduation-cap-02' | 'grid-01' | 'grid-02' | 'grid-03' | 'grid-04-filled' | 'hash-01' | 'hash-02' | 'header-01' | 'header-02' | 'headphones' | 'heart' | 'help' | 'help-circle-contained' | 'help-square-contained' | 'hexagon' | 'home-01' | 'home-02' | 'home-03' | 'home-04' | 'home-05' | 'horizontal-chart-01' | 'horizontal-chart-02' | 'horizontal-chart-03' | 'hourglass-01' | 'hourglass-02' | 'hourglass-03' | 'image' | 'image-01' | 'image-02' | 'image-03' | 'image-04' | 'image-add' | 'image-avatar' | 'image-check' | 'image-down' | 'image-focus' | 'image-indent-left' | 'image-indent-right' | 'image-minus' | 'image-no-borders' | 'image-question' | 'image-up' | 'image-x' | 'inbox-01' | 'inbox-02' | 'indent-decrease' | 'indent-increase' | 'indent-left' | 'indent-right' | 'info-square-01-contained' | 'info-square-02-contained-filled' | 'information-circle-contained' | 'intersect' | 'iphone-02' | 'italics-01' | 'italics-02' | 'key-01' | 'key-02' | 'keyboard' | 'laptop-01' | 'laptop-02' | 'layers-01' | 'layers-02' | 'layers-03' | 'layers-04' | 'layers-05' | 'layout-01' | 'layout-02' | 'layout-03' | 'layout-04' | 'layout-bottom' | 'layout-grid-01' | 'layout-left' | 'layout-right' | 'layout-scale' | 'layout-top' | 'letter-spacing-01' | 'letter-spacing-02' | 'letter-spacing-03' | 'lightbulb-01' | 'lightbulb-02' | 'lightbulb-03' | 'lightning-01' | 'lightning-02' | 'lightning-circle-contained' | 'lightning-filled' | 'lightning-square-contained' | 'line-chart-down-01' | 'line-chart-down-02' | 'line-chart-up-01' | 'line-chart-up-02' | 'line-height' | 'link' | 'link-angled' | 'link-broken' | 'link-external' | 'list' | 'list-numbers' | 'loader-01' | 'loader-02' | 'lock-01' | 'lock-02' | 'lock-03' | 'lock-04' | 'lock-open-01' | 'lock-open-02' | 'lock-open-03' | 'lock-open-04' | 'logout-01' | 'logout-02' | 'logout-03' | 'logout-04' | 'luggage-01' | 'luggage-02' | 'luggage-03' | 'luggage-04' | 'mail-01' | 'mail-02' | 'mail-03' | 'mail-04' | 'mail-05' | 'map-01' | 'map-02' | 'map-03' | 'map-04' | 'marker-01' | 'marker-02' | 'marker-03' | 'marker-04' | 'marker-05' | 'marker-06' | 'maximise-01' | 'maximise-02' | 'media-strip-01' | 'media-strip-02' | 'menu-01' | 'menu-02' | 'menu-03' | 'menu-04' | 'menu-05' | 'message-alert-circle' | 'message-alert-plus' | 'message-chat-01' | 'message-circle' | 'message-notify-circle' | 'message-notify-square' | 'message-square' | 'message-square-information' | 'message-square-plus' | 'message-square-typing' | 'message-square-x' | 'message-text-01' | 'message-text-02' | 'message-typing' | 'message-x' | 'microphone-01' | 'microphone-02' | 'microphone-off-01' | 'microphone-off-02' | 'minimise-01' | 'minimise-02' | 'minus-circle-contained' | 'minus-square-contained' | 'moon-01' | 'moon-02' | 'mouse' | 'move' | 'note-01' | 'note-02' | 'notification-box' | 'notification-bubble' | 'notification-square-01' | 'notification-square-02' | 'octagon' | 'overlap' | 'package-01' | 'package-02' | 'package-check' | 'package-minus' | 'package-plus' | 'package-x' | 'paint-bucket-01' | 'paint-bucket-02' | 'palette' | 'paperclip' | 'paperclip-01' | 'paperclip-02' | 'passport' | 'password-01' | 'password-02' | 'pause-01' | 'pause-02' | 'pause-03' | 'pen-tool-01' | 'pen-tool-02' | 'pen-tool-03' | 'pen-tool-04' | 'pencil-01' | 'pencil-02' | 'pencil-03' | 'pentagon' | 'percent-01' | 'percent-02' | 'percent-03' | 'perspective' | 'phone' | 'phone-call-01' | 'phone-call-02' | 'phone-down' | 'phone-incoming-01' | 'phone-incoming-02' | 'phone-off' | 'phone-outgoing-01' | 'phone-outgoing-02' | 'phone-up' | 'phone-x' | 'pie-chart-01' | 'pie-chart-02' | 'pie-chart-03' | 'plane' | 'play-01' | 'play-02' | 'play-03' | 'plug-01' | 'plus-01' | 'plus-02' | 'plus-03' | 'pointer-01' | 'pointer-02' | 'power' | 'presentation-01' | 'presentation-02' | 'presentation-03' | 'progress' | 'quote' | 'receipt' | 'receipt-lines' | 'refresh-01' | 'rss' | 'ruler' | 'save-01' | 'save-02' | 'scale-01' | 'scale-02' | 'scale-03' | 'scan' | 'scissors-01' | 'scissors-02' | 'scissors-03' | 'scissors-04' | 'search-01' | 'search-02' | 'send-01' | 'send-02' | 'send-03' | 'server-01' | 'server-02' | 'server-03' | 'server-04' | 'server-05' | 'server-06' | 'server-down' | 'server-up' | 'settings' | 'share' | 'shield-01' | 'shield-02' | 'shield-check' | 'shield-plus' | 'shuffle' | 'signal' | 'skew' | 'skip-back' | 'skip-forward' | 'slash-01-backward' | 'slash-01-forward' | 'slash-02-forward' | 'smiley-happy' | 'smiley-happy-plus' | 'smiley-neutral' | 'smiley-sad' | 'smiley-wink' | 'snowflake' | 'sort-horizontal' | 'sort-vertical-01' | 'sort-vertical-02' | 'space-height' | 'space-horizontal' | 'space-vertical' | 'space-width' | 'speaker' | 'square' | 'star-01' | 'star-02' | 'stars' | 'stop-01' | 'stop-02' | 'stopwatch-01' | 'stopwatch-02' | 'stopwatch-03' | 'stopwatch-04' | 'stopwatch-05' | 'stopwatch-off' | 'stopwatch-snooze' | 'sun-01' | 'sun-02' | 'sun-03' | 'sun-down' | 'sun-up' | 'superscript' | 'table' | 'tag' | 'target-01' | 'target-02' | 'target-03' | 'target-04' | 'temperature-01' | 'temperature-02' | 'temperature-03' | 'temperature-04' | 'terminal' | 'text-input-01' | 'text-input-02' | 'thumb-down' | 'thumb-up' | 'ticket-01' | 'ticket-02' | 'toggle-right' | 'toogle-left' | 'train' | 'transform' | 'trash-01' | 'trash-02' | 'trash-03' | 'trash-04' | 'trend-down-01' | 'trend-down-02' | 'trend-up-01' | 'trend-up-02' | 'triangle' | 'truck' | 'tv' | 'type-01' | 'type-02' | 'type-03' | 'type-strike-01' | 'type-strike-02' | 'umbrella' | 'umbrella-01' | 'umbrella-02' | 'underline-01' | 'underline-02' | 'union' | 'upload-01' | 'upload-02' | 'upload-03' | 'upload-04' | 'user-profile-01' | 'user-profile-02' | 'user-profile-03' | 'user-profile-add-01' | 'user-profile-add-02' | 'user-profile-check' | 'user-profile-circle' | 'user-profile-down' | 'user-profile-group' | 'user-profile-left' | 'user-profile-minus' | 'user-profile-right' | 'user-profile-square' | 'user-profile-star' | 'user-profile-up' | 'user-profile-x' | 'users-profiles-01' | 'users-profiles-02' | 'users-profiles-03' | 'users-profiles-check' | 'users-profiles-down' | 'users-profiles-left' | 'users-profiles-minus' | 'users-profiles-plus' | 'users-profiles-right' | 'users-profiles-up' | 'users-profiles-x' | 'variant' | 'video-off' | 'video-on' | 'volume-01' | 'volume-02' | 'volume-03' | 'volume-04' | 'volume-05' | 'volume-06' | 'volume-07' | 'wallert-04' | 'wallet-01' | 'wallet-02' | 'wallet-03' | 'watch-01' | 'watch-02' | 'waveform' | 'webcam' | 'wifi-off' | 'wifi-on' | 'wind-01' | 'wind-02' | 'wind-03' | 'wrench' | 'x-01' | 'x-02' | 'x-03' | 'x-circle-contained' | 'x-square-contained' | 'youtube' | 'zoom-in' | 'zoom-out' | 'custom-warning-xs-neutral';
|
|
6707
|
+
|
|
5741
6708
|
/**
|
|
5742
6709
|
* Global registry for SVG icons.
|
|
5743
6710
|
*
|
|
@@ -5777,6 +6744,46 @@ declare class IconRegistry {
|
|
|
5777
6744
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<IconRegistry>;
|
|
5778
6745
|
}
|
|
5779
6746
|
|
|
6747
|
+
/**
|
|
6748
|
+
* Custom icon names — self-contained icons with built-in background and color.
|
|
6749
|
+
*
|
|
6750
|
+
* Naming: `custom-{state}-{size}-{style}`
|
|
6751
|
+
*
|
|
6752
|
+
* | State | Description |
|
|
6753
|
+
* |------------------|------------------------------------|
|
|
6754
|
+
* | check | Checkmark / completed |
|
|
6755
|
+
* | certificate | Certificate / credential |
|
|
6756
|
+
* | view | Eye / visibility |
|
|
6757
|
+
* | add | Plus / create |
|
|
6758
|
+
* | delete | Trash / remove |
|
|
6759
|
+
* | download | Download arrow |
|
|
6760
|
+
* | upload | Upload arrow |
|
|
6761
|
+
* | time | Clock / duration |
|
|
6762
|
+
* | slide | Presentation / slideshow |
|
|
6763
|
+
* | tools | Wrench / settings |
|
|
6764
|
+
* | doc | Document / file |
|
|
6765
|
+
* | info | Information circle |
|
|
6766
|
+
* | warning | Warning triangle |
|
|
6767
|
+
* | not-applicable | N/A / disabled |
|
|
6768
|
+
*
|
|
6769
|
+
* Sizes: xs (24), sm (32), md (40), lg (48), xl (56), 2xl (64)
|
|
6770
|
+
* Styles: active (colored), neutral (gray)
|
|
6771
|
+
*
|
|
6772
|
+
* Course-progress set (member dashboard tracker) — multi-color artwork icons
|
|
6773
|
+
* available in `md` only; `-off` source artwork maps to the `neutral` style:
|
|
6774
|
+
*
|
|
6775
|
+
* | State | Column |
|
|
6776
|
+
* |--------------------------------------------------------------------|-------------|
|
|
6777
|
+
* | content-classroom, content-selfstudy, content-elearning, | Content |
|
|
6778
|
+
* | content-liveonline, content-technical (active + neutral) | |
|
|
6779
|
+
* | att-acc, att-evaluate, att-na | Attendance |
|
|
6780
|
+
* | exam-passed, exam-schedule, exam-scheduled, exam-missed, | Exam |
|
|
6781
|
+
* | exam-failed, exam-waiting | |
|
|
6782
|
+
* | cert-view, cert-apply, cert-treatment, cert-refused | Certificate |
|
|
6783
|
+
* | amf-note, amf-note-paid | AMF/Renewal |
|
|
6784
|
+
*/
|
|
6785
|
+
type CustomIconName = 'custom-add-2xl-active' | 'custom-add-2xl-neutral' | 'custom-add-lg-active' | 'custom-add-lg-neutral' | 'custom-add-md-active' | 'custom-add-md-neutral' | 'custom-add-sm-active' | 'custom-add-sm-neutral' | 'custom-add-xl-active' | 'custom-add-xl-neutral' | 'custom-add-xs-active' | 'custom-add-xs-neutral' | 'custom-amf-note-md-active' | 'custom-amf-note-paid-md-active' | 'custom-att-acc-md-active' | 'custom-att-evaluate-md-active' | 'custom-att-na-md-active' | 'custom-cert-apply-md-active' | 'custom-cert-refused-md-active' | 'custom-cert-treatment-md-active' | 'custom-cert-view-md-active' | 'custom-certificate-2xl-active' | 'custom-certificate-2xl-neutral' | 'custom-certificate-lg-active' | 'custom-certificate-lg-neutral' | 'custom-certificate-md-active' | 'custom-certificate-md-neutral' | 'custom-certificate-sm-active' | 'custom-certificate-sm-neutral' | 'custom-certificate-xl-active' | 'custom-certificate-xl-neutral' | 'custom-certificate-xs-active' | 'custom-certificate-xs-neutral' | 'custom-check-2xl-active' | 'custom-check-2xl-neutral' | 'custom-check-lg-active' | 'custom-check-lg-neutral' | 'custom-check-md-active' | 'custom-check-md-neutral' | 'custom-check-sm-active' | 'custom-check-sm-neutral' | 'custom-check-xl-active' | 'custom-check-xl-neutral' | 'custom-check-xs-active' | 'custom-check-xs-neutral' | 'custom-content-classroom-md-active' | 'custom-content-classroom-md-neutral' | 'custom-content-elearning-md-active' | 'custom-content-elearning-md-neutral' | 'custom-content-liveonline-md-active' | 'custom-content-liveonline-md-neutral' | 'custom-content-selfstudy-md-active' | 'custom-content-selfstudy-md-neutral' | 'custom-content-technical-md-active' | 'custom-content-technical-md-neutral' | 'custom-delete-2xl-active' | 'custom-delete-2xl-neutral' | 'custom-delete-lg-active' | 'custom-delete-lg-neutral' | 'custom-delete-md-active' | 'custom-delete-md-neutral' | 'custom-delete-sm-active' | 'custom-delete-sm-neutral' | 'custom-delete-xl-active' | 'custom-delete-xl-neutral' | 'custom-delete-xs-active' | 'custom-delete-xs-neutral' | 'custom-doc-2xl-active' | 'custom-doc-2xl-neutral' | 'custom-doc-lg-active' | 'custom-doc-lg-neutral' | 'custom-doc-md-active' | 'custom-doc-md-neutral' | 'custom-doc-sm-active' | 'custom-doc-sm-neutral' | 'custom-doc-xl-active' | 'custom-doc-xl-neutral' | 'custom-doc-xs-active' | 'custom-doc-xs-neutral' | 'custom-download-2xl-active' | 'custom-download-2xl-neutral' | 'custom-download-lg-active' | 'custom-download-lg-neutral' | 'custom-download-md-active' | 'custom-download-md-neutral' | 'custom-download-sm-active' | 'custom-download-sm-neutral' | 'custom-download-xl-active' | 'custom-download-xl-neutral' | 'custom-download-xs-active' | 'custom-download-xs-neutral' | 'custom-exam-failed-md-active' | 'custom-exam-missed-md-active' | 'custom-exam-passed-md-active' | 'custom-exam-schedule-md-active' | 'custom-exam-scheduled-md-active' | 'custom-exam-waiting-md-active' | 'custom-info-2xl-active' | 'custom-info-2xl-neutral' | 'custom-info-lg-active' | 'custom-info-lg-neutral' | 'custom-info-md-active' | 'custom-info-md-neutral' | 'custom-info-sm-active' | 'custom-info-sm-neutral' | 'custom-info-xl-active' | 'custom-info-xl-neutral' | 'custom-info-xs-active' | 'custom-info-xs-neutral' | 'custom-not-applicable-2xl-active' | 'custom-not-applicable-2xl-neutral' | 'custom-not-applicable-lg-active' | 'custom-not-applicable-lg-neutral' | 'custom-not-applicable-md-active' | 'custom-not-applicable-md-neutral' | 'custom-not-applicable-sm-active' | 'custom-not-applicable-sm-neutral' | 'custom-not-applicable-xl-active' | 'custom-not-applicable-xl-neutral' | 'custom-not-applicable-xs-active' | 'custom-not-applicable-xs-neutral' | 'custom-slide-2xl-active' | 'custom-slide-2xl-neutral' | 'custom-slide-lg-active' | 'custom-slide-lg-neutral' | 'custom-slide-md-active' | 'custom-slide-md-neutral' | 'custom-slide-sm-active' | 'custom-slide-sm-neutral' | 'custom-slide-xl-active' | 'custom-slide-xl-neutral' | 'custom-slide-xs-active' | 'custom-slide-xs-neutral' | 'custom-time-2xl-active' | 'custom-time-2xl-neutral' | 'custom-time-lg-active' | 'custom-time-lg-neutral' | 'custom-time-md-active' | 'custom-time-md-neutral' | 'custom-time-sm-active' | 'custom-time-sm-neutral' | 'custom-time-xl-active' | 'custom-time-xl-neutral' | 'custom-time-xs-active' | 'custom-time-xs-neutral' | 'custom-tools-2xl-active' | 'custom-tools-2xl-neutral' | 'custom-tools-lg-active' | 'custom-tools-lg-neutral' | 'custom-tools-md-active' | 'custom-tools-md-neutral' | 'custom-tools-sm-active' | 'custom-tools-sm-neutral' | 'custom-tools-xl-active' | 'custom-tools-xl-neutral' | 'custom-tools-xs-active' | 'custom-tools-xs-neutral' | 'custom-upload-2xl-active' | 'custom-upload-2xl-neutral' | 'custom-upload-lg-active' | 'custom-upload-lg-neutral' | 'custom-upload-md-active' | 'custom-upload-md-neutral' | 'custom-upload-sm-active' | 'custom-upload-sm-neutral' | 'custom-upload-xl-active' | 'custom-upload-xl-neutral' | 'custom-upload-xs-active' | 'custom-upload-xs-neutral' | 'custom-view-2xl-active' | 'custom-view-2xl-neutral' | 'custom-view-lg-active' | 'custom-view-lg-neutral' | 'custom-view-md-active' | 'custom-view-md-neutral' | 'custom-view-sm-active' | 'custom-view-sm-neutral' | 'custom-view-xl-active' | 'custom-view-xl-neutral' | 'custom-view-xs-active' | 'custom-view-xs-neutral' | 'custom-warning-2xl-active' | 'custom-warning-2xl-neutral' | 'custom-warning-lg-active' | 'custom-warning-lg-neutral' | 'custom-warning-md-active' | 'custom-warning-md-neutral' | 'custom-warning-sm-active' | 'custom-warning-sm-neutral' | 'custom-warning-xl-active' | 'custom-warning-xl-neutral' | 'custom-warning-xs-active' | 'custom-warning-xs-neutral';
|
|
6786
|
+
|
|
5780
6787
|
/**
|
|
5781
6788
|
* Map of every PECB icon name to its inline SVG string.
|
|
5782
6789
|
*
|
|
@@ -5936,6 +6943,7 @@ declare class DashboardGridComponent {
|
|
|
5936
6943
|
type ProgressType = 'bar' | 'circle' | 'spinner';
|
|
5937
6944
|
type ProgressBarSize = 'sm' | 'lg';
|
|
5938
6945
|
type ProgressCircleSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
6946
|
+
type ProgressArcSize = 'sm' | 'md' | 'lg';
|
|
5939
6947
|
declare class SpinnerComponent {
|
|
5940
6948
|
id: _angular_core.InputSignal<string>;
|
|
5941
6949
|
size: _angular_core.InputSignal<number>;
|
|
@@ -5990,6 +6998,41 @@ declare class ProgressCircleComponent {
|
|
|
5990
6998
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProgressCircleComponent, never>;
|
|
5991
6999
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProgressCircleComponent, "pecb-progress-circle", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "showPercentage": { "alias": "showPercentage"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5992
7000
|
}
|
|
7001
|
+
/**
|
|
7002
|
+
* Half-round (180°) progress gauge with a "value/max" label under the arc —
|
|
7003
|
+
* e.g. the CPD column of the member dashboard's course progress tracker
|
|
7004
|
+
* ("170/180"). Green as soon as there is any progress, muted at zero.
|
|
7005
|
+
*
|
|
7006
|
+
* @example
|
|
7007
|
+
* <pecb-progress-arc [value]="170" [max]="180" />
|
|
7008
|
+
*/
|
|
7009
|
+
declare class ProgressArcComponent {
|
|
7010
|
+
id: _angular_core.InputSignal<string>;
|
|
7011
|
+
/** Current value (e.g. CPD credits earned) */
|
|
7012
|
+
value: _angular_core.InputSignal<number>;
|
|
7013
|
+
/** Target value the arc fills towards (e.g. CPD credits required) */
|
|
7014
|
+
max: _angular_core.InputSignal<number>;
|
|
7015
|
+
/** Show the "value/max" label under the arc */
|
|
7016
|
+
showLabel: _angular_core.InputSignal<boolean>;
|
|
7017
|
+
/** Gauge width: sm (48px), md (60px), lg (80px) */
|
|
7018
|
+
size: _angular_core.InputSignal<ProgressArcSize>;
|
|
7019
|
+
/** Custom fill color — overrides the automatic green/muted coloring */
|
|
7020
|
+
color: _angular_core.InputSignal<string>;
|
|
7021
|
+
ariaLabel: _angular_core.InputSignal<string>;
|
|
7022
|
+
private readonly arcLength;
|
|
7023
|
+
private readonly sizeMap;
|
|
7024
|
+
private readonly fontSizeMap;
|
|
7025
|
+
widthValue: _angular_core.Signal<number>;
|
|
7026
|
+
heightValue: _angular_core.Signal<number>;
|
|
7027
|
+
fontSize: _angular_core.Signal<number>;
|
|
7028
|
+
clampedValue: _angular_core.Signal<number>;
|
|
7029
|
+
percent: _angular_core.Signal<number>;
|
|
7030
|
+
dashArray: _angular_core.Signal<string>;
|
|
7031
|
+
fillColor: _angular_core.Signal<string>;
|
|
7032
|
+
get arcClasses(): string[];
|
|
7033
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProgressArcComponent, never>;
|
|
7034
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProgressArcComponent, "pecb-progress-arc", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "showLabel": { "alias": "showLabel"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
7035
|
+
}
|
|
5993
7036
|
|
|
5994
7037
|
type CodeInputState = 'default' | 'error';
|
|
5995
7038
|
type CodeInputDirection = 'horizontal' | 'vertical';
|
|
@@ -6988,83 +8031,6 @@ declare class ExpandableRowTableComponent {
|
|
|
6988
8031
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ExpandableRowTableComponent, "pecb-expandable-row-table", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "progressConfig": { "alias": "progressConfig"; "required": false; "isSignal": true; }; "expandable": { "alias": "expandable"; "required": false; "isSignal": true; }; "showToolbar": { "alias": "showToolbar"; "required": false; "isSignal": true; }; "actionLabel": { "alias": "actionLabel"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "showSearch": { "alias": "showSearch"; "required": false; "isSignal": true; }; "showFilter": { "alias": "showFilter"; "required": false; "isSignal": true; }; "showPagination": { "alias": "showPagination"; "required": false; "isSignal": true; }; "totalItems": { "alias": "totalItems"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "currentPage": { "alias": "currentPage"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "filterAriaLabel": { "alias": "filterAriaLabel"; "required": false; "isSignal": true; }; "expandHeaderLabel": { "alias": "expandHeaderLabel"; "required": false; "isSignal": true; }; "expandRowAriaLabel": { "alias": "expandRowAriaLabel"; "required": false; "isSignal": true; }; "collapseRowAriaLabel": { "alias": "collapseRowAriaLabel"; "required": false; "isSignal": true; }; "previousPageAriaLabel": { "alias": "previousPageAriaLabel"; "required": false; "isSignal": true; }; "nextPageAriaLabel": { "alias": "nextPageAriaLabel"; "required": false; "isSignal": true; }; "pageAriaLabel": { "alias": "pageAriaLabel"; "required": false; "isSignal": true; }; "itemsPerPageLabel": { "alias": "itemsPerPageLabel"; "required": false; "isSignal": true; }; "itemsInfoTemplate": { "alias": "itemsInfoTemplate"; "required": false; "isSignal": true; }; }, { "rowToggled": "rowToggled"; "actionClicked": "actionClicked"; "searchChanged": "searchChanged"; "filterClicked": "filterClicked"; "pageChanged": "pageChanged"; }, ["expandedRowTemplate"], ["[toolbarLeft]", "[toolbarRight]"], true, never>;
|
|
6989
8032
|
}
|
|
6990
8033
|
|
|
6991
|
-
/**
|
|
6992
|
-
* Badge variant type.
|
|
6993
|
-
* - `dot`: small 6px red dot indicator
|
|
6994
|
-
* - `count`: numbered badge (default or small size)
|
|
6995
|
-
* - `status`: colored dot + text label
|
|
6996
|
-
* - `ribbon`: colored tag with bottom-right arrow fold
|
|
6997
|
-
*/
|
|
6998
|
-
type BadgeVariant = 'dot' | 'count' | 'status' | 'ribbon';
|
|
6999
|
-
/**
|
|
7000
|
-
* Count badge size.
|
|
7001
|
-
* - `default`: 20px height, 14px font
|
|
7002
|
-
* - `small`: 14px height, 12px font
|
|
7003
|
-
*/
|
|
7004
|
-
type BadgeSize = 'default' | 'small';
|
|
7005
|
-
/**
|
|
7006
|
-
* Status badge type — determines the dot color.
|
|
7007
|
-
*/
|
|
7008
|
-
type BadgeStatus = 'success' | 'error' | 'default' | 'processing' | 'warning';
|
|
7009
|
-
/**
|
|
7010
|
-
* Ribbon badge color.
|
|
7011
|
-
*/
|
|
7012
|
-
type RibbonColor = 'blue' | 'orange' | 'gray' | 'red' | 'purple' | 'green' | 'black';
|
|
7013
|
-
/**
|
|
7014
|
-
* Badge component matching the PECB Figma design system.
|
|
7015
|
-
*
|
|
7016
|
-
* Three sub-types: Basic (dot/count), Status (dot + label), Ribbon (colored tag).
|
|
7017
|
-
*
|
|
7018
|
-
* @example
|
|
7019
|
-
* ```html
|
|
7020
|
-
* <!-- Dot indicator -->
|
|
7021
|
-
* <pecb-badge variant="dot"></pecb-badge>
|
|
7022
|
-
*
|
|
7023
|
-
* <!-- Count badge -->
|
|
7024
|
-
* <pecb-badge variant="count" [count]="21"></pecb-badge>
|
|
7025
|
-
* <pecb-badge variant="count" [count]="5" size="small"></pecb-badge>
|
|
7026
|
-
*
|
|
7027
|
-
* <!-- Status badge -->
|
|
7028
|
-
* <pecb-badge variant="status" status="success"></pecb-badge>
|
|
7029
|
-
* <pecb-badge variant="status" status="error" label="Failed"></pecb-badge>
|
|
7030
|
-
*
|
|
7031
|
-
* <!-- Ribbon badge -->
|
|
7032
|
-
* <pecb-badge variant="ribbon" ribbonColor="blue" text="New"></pecb-badge>
|
|
7033
|
-
* ```
|
|
7034
|
-
*/
|
|
7035
|
-
declare class BadgeComponent {
|
|
7036
|
-
/** Unique element ID */
|
|
7037
|
-
id: _angular_core.InputSignal<string>;
|
|
7038
|
-
/** Badge variant */
|
|
7039
|
-
variant: _angular_core.InputSignal<BadgeVariant>;
|
|
7040
|
-
/** Count number (for variant='count') */
|
|
7041
|
-
count: _angular_core.InputSignal<number>;
|
|
7042
|
-
/** Max count before showing "99+" (for variant='count') */
|
|
7043
|
-
maxCount: _angular_core.InputSignal<number>;
|
|
7044
|
-
/** Count badge size */
|
|
7045
|
-
size: _angular_core.InputSignal<BadgeSize>;
|
|
7046
|
-
/** Status type (for variant='status') */
|
|
7047
|
-
status: _angular_core.InputSignal<BadgeStatus>;
|
|
7048
|
-
/** Label text (for variant='status'). Defaults to the status name. */
|
|
7049
|
-
label: _angular_core.InputSignal<string>;
|
|
7050
|
-
/** Whether to show the label text (for variant='status') */
|
|
7051
|
-
showLabel: _angular_core.InputSignal<boolean>;
|
|
7052
|
-
/** Ribbon color (for variant='ribbon') */
|
|
7053
|
-
ribbonColor: _angular_core.InputSignal<RibbonColor>;
|
|
7054
|
-
/** Ribbon/badge text (for variant='ribbon') */
|
|
7055
|
-
text: _angular_core.InputSignal<string>;
|
|
7056
|
-
/** Aria-label for the dot indicator (variant='dot'). */
|
|
7057
|
-
notificationAriaLabel: _angular_core.InputSignal<string>;
|
|
7058
|
-
/** Word appended after the count in the count badge's aria-label (variant='count'). */
|
|
7059
|
-
notificationsLabel: _angular_core.InputSignal<string>;
|
|
7060
|
-
/** Formatted count display */
|
|
7061
|
-
displayCount: _angular_core.Signal<string>;
|
|
7062
|
-
/** Status label — uses explicit label or falls back to status name */
|
|
7063
|
-
statusLabel: _angular_core.Signal<string>;
|
|
7064
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BadgeComponent, never>;
|
|
7065
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BadgeComponent, "pecb-badge", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "count": { "alias": "count"; "required": false; "isSignal": true; }; "maxCount": { "alias": "maxCount"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "showLabel": { "alias": "showLabel"; "required": false; "isSignal": true; }; "ribbonColor": { "alias": "ribbonColor"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "notificationAriaLabel": { "alias": "notificationAriaLabel"; "required": false; "isSignal": true; }; "notificationsLabel": { "alias": "notificationsLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
7066
|
-
}
|
|
7067
|
-
|
|
7068
8034
|
/**
|
|
7069
8035
|
* Position of the sticky (affix) panel.
|
|
7070
8036
|
* - `left`: sticky panel on the left, scrollable content on the right
|
|
@@ -7935,7 +8901,7 @@ declare class FilterColumnsComponent implements OnInit, OnChanges, OnDestroy, Af
|
|
|
7935
8901
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FilterColumnsComponent, "pecb-filter-columns", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "closeOnBackdropClick": { "alias": "closeOnBackdropClick"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "filterFields": { "alias": "filterFields"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "activeTab": { "alias": "activeTab"; "required": false; "isSignal": true; }; "showSaveAsView": { "alias": "showSaveAsView"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "applyLabel": { "alias": "applyLabel"; "required": false; "isSignal": true; }; "cancelLabel": { "alias": "cancelLabel"; "required": false; "isSignal": true; }; "filtersTabLabel": { "alias": "filtersTabLabel"; "required": false; "isSignal": true; }; "columnsTabLabel": { "alias": "columnsTabLabel"; "required": false; "isSignal": true; }; "columnsDescription": { "alias": "columnsDescription"; "required": false; "isSignal": true; }; "selectAllLabel": { "alias": "selectAllLabel"; "required": false; "isSignal": true; }; "deselectAllLabel": { "alias": "deselectAllLabel"; "required": false; "isSignal": true; }; "resetLabel": { "alias": "resetLabel"; "required": false; "isSignal": true; }; "columnsWarning": { "alias": "columnsWarning"; "required": false; "isSignal": true; }; "saveAsViewLabel": { "alias": "saveAsViewLabel"; "required": false; "isSignal": true; }; "viewNameLabel": { "alias": "viewNameLabel"; "required": false; "isSignal": true; }; "setDefaultViewLabel": { "alias": "setDefaultViewLabel"; "required": false; "isSignal": true; }; }, { "isOpen": "isOpenChange"; "applied": "applied"; "cancelled": "cancelled"; "closed": "closed"; }, never, never, true, never>;
|
|
7936
8902
|
}
|
|
7937
8903
|
|
|
7938
|
-
type FileUploadVariant = 'dropzone' | 'inline';
|
|
8904
|
+
type FileUploadVariant = 'dropzone' | 'inline' | 'compact';
|
|
7939
8905
|
type FileUploadState = 'default' | 'uploading' | 'complete' | 'error';
|
|
7940
8906
|
interface UploadedFile {
|
|
7941
8907
|
id: string;
|
|
@@ -7956,6 +8922,10 @@ declare class FileUploadComponent implements OnInit {
|
|
|
7956
8922
|
id: _angular_core.InputSignal<string>;
|
|
7957
8923
|
/** Visual variant: dropzone (big area) or inline (compact row) */
|
|
7958
8924
|
variant: _angular_core.InputSignal<FileUploadVariant>;
|
|
8925
|
+
/** compact variant: text before the browse link */
|
|
8926
|
+
compactText: _angular_core.InputSignal<string>;
|
|
8927
|
+
/** compact variant: the highlighted browse link */
|
|
8928
|
+
compactBrowseLabel: _angular_core.InputSignal<string>;
|
|
7959
8929
|
/** Whether multiple files can be uploaded */
|
|
7960
8930
|
multiple: _angular_core.InputSignal<boolean>;
|
|
7961
8931
|
/** Accepted file types (e.g. '.pdf,.png,.jpg') */
|
|
@@ -8064,7 +9034,7 @@ declare class FileUploadComponent implements OnInit {
|
|
|
8064
9034
|
formatFileDate(date: Date): string;
|
|
8065
9035
|
getFileTypeColor(type: string): string;
|
|
8066
9036
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FileUploadComponent, never>;
|
|
8067
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileUploadComponent, "pecb-file-upload", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "maxFileSize": { "alias": "maxFileSize"; "required": false; "isSignal": true; }; "maxFiles": { "alias": "maxFiles"; "required": false; "isSignal": true; }; "uploadTitle": { "alias": "uploadTitle"; "required": false; "isSignal": true; }; "uploadDescription": { "alias": "uploadDescription"; "required": false; "isSignal": true; }; "maxSizeLabel": { "alias": "maxSizeLabel"; "required": false; "isSignal": true; }; "acceptedFormatsText": { "alias": "acceptedFormatsText"; "required": false; "isSignal": true; }; "browseLabel": { "alias": "browseLabel"; "required": false; "isSignal": true; }; "uploadLabel": { "alias": "uploadLabel"; "required": false; "isSignal": true; }; "clickToUploadText": { "alias": "clickToUploadText"; "required": false; "isSignal": true; }; "dragAndDropText": { "alias": "dragAndDropText"; "required": false; "isSignal": true; }; "orDividerText": { "alias": "orDividerText"; "required": false; "isSignal": true; }; "uploadingTitle": { "alias": "uploadingTitle"; "required": false; "isSignal": true; }; "clearUploadText": { "alias": "clearUploadText"; "required": false; "isSignal": true; }; "failedToUploadText": { "alias": "failedToUploadText"; "required": false; "isSignal": true; }; "defaultErrorMessage": { "alias": "defaultErrorMessage"; "required": false; "isSignal": true; }; "tryAgainText": { "alias": "tryAgainText"; "required": false; "isSignal": true; }; "uploadedFilesLabel": { "alias": "uploadedFilesLabel"; "required": false; "isSignal": true; }; "closeAriaLabel": { "alias": "closeAriaLabel"; "required": false; "isSignal": true; }; "cancelUploadAriaLabel": { "alias": "cancelUploadAriaLabel"; "required": false; "isSignal": true; }; "deleteFileAriaLabel": { "alias": "deleteFileAriaLabel"; "required": false; "isSignal": true; }; "downloadFileAriaLabel": { "alias": "downloadFileAriaLabel"; "required": false; "isSignal": true; }; "uploadedSuffix": { "alias": "uploadedSuffix"; "required": false; "isSignal": true; }; "uploadFileAriaLabelPrefix": { "alias": "uploadFileAriaLabelPrefix"; "required": false; "isSignal": true; }; "uploadFilesAriaLabelPrefix": { "alias": "uploadFilesAriaLabelPrefix"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "showHeader": { "alias": "showHeader"; "required": false; "isSignal": true; }; "initialFiles": { "alias": "initialFiles"; "required": false; "isSignal": true; }; }, { "filesSelected": "filesSelected"; "fileCancelled": "fileCancelled"; "fileRetry": "fileRetry"; "fileDeleted": "fileDeleted"; "fileDownload": "fileDownload"; "cleared": "cleared"; "closeClicked": "closeClicked"; }, never, never, true, never>;
|
|
9037
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileUploadComponent, "pecb-file-upload", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "compactText": { "alias": "compactText"; "required": false; "isSignal": true; }; "compactBrowseLabel": { "alias": "compactBrowseLabel"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "maxFileSize": { "alias": "maxFileSize"; "required": false; "isSignal": true; }; "maxFiles": { "alias": "maxFiles"; "required": false; "isSignal": true; }; "uploadTitle": { "alias": "uploadTitle"; "required": false; "isSignal": true; }; "uploadDescription": { "alias": "uploadDescription"; "required": false; "isSignal": true; }; "maxSizeLabel": { "alias": "maxSizeLabel"; "required": false; "isSignal": true; }; "acceptedFormatsText": { "alias": "acceptedFormatsText"; "required": false; "isSignal": true; }; "browseLabel": { "alias": "browseLabel"; "required": false; "isSignal": true; }; "uploadLabel": { "alias": "uploadLabel"; "required": false; "isSignal": true; }; "clickToUploadText": { "alias": "clickToUploadText"; "required": false; "isSignal": true; }; "dragAndDropText": { "alias": "dragAndDropText"; "required": false; "isSignal": true; }; "orDividerText": { "alias": "orDividerText"; "required": false; "isSignal": true; }; "uploadingTitle": { "alias": "uploadingTitle"; "required": false; "isSignal": true; }; "clearUploadText": { "alias": "clearUploadText"; "required": false; "isSignal": true; }; "failedToUploadText": { "alias": "failedToUploadText"; "required": false; "isSignal": true; }; "defaultErrorMessage": { "alias": "defaultErrorMessage"; "required": false; "isSignal": true; }; "tryAgainText": { "alias": "tryAgainText"; "required": false; "isSignal": true; }; "uploadedFilesLabel": { "alias": "uploadedFilesLabel"; "required": false; "isSignal": true; }; "closeAriaLabel": { "alias": "closeAriaLabel"; "required": false; "isSignal": true; }; "cancelUploadAriaLabel": { "alias": "cancelUploadAriaLabel"; "required": false; "isSignal": true; }; "deleteFileAriaLabel": { "alias": "deleteFileAriaLabel"; "required": false; "isSignal": true; }; "downloadFileAriaLabel": { "alias": "downloadFileAriaLabel"; "required": false; "isSignal": true; }; "uploadedSuffix": { "alias": "uploadedSuffix"; "required": false; "isSignal": true; }; "uploadFileAriaLabelPrefix": { "alias": "uploadFileAriaLabelPrefix"; "required": false; "isSignal": true; }; "uploadFilesAriaLabelPrefix": { "alias": "uploadFilesAriaLabelPrefix"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "showHeader": { "alias": "showHeader"; "required": false; "isSignal": true; }; "initialFiles": { "alias": "initialFiles"; "required": false; "isSignal": true; }; }, { "filesSelected": "filesSelected"; "fileCancelled": "fileCancelled"; "fileRetry": "fileRetry"; "fileDeleted": "fileDeleted"; "fileDownload": "fileDownload"; "cleared": "cleared"; "closeClicked": "closeClicked"; }, never, never, true, never>;
|
|
8068
9038
|
}
|
|
8069
9039
|
|
|
8070
9040
|
type ToolbarVariant = 'buttons' | 'tabs';
|
|
@@ -8364,5 +9334,233 @@ declare class TourComponent implements OnInit, OnChanges {
|
|
|
8364
9334
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TourComponent, "pecb-tour", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "indicatorType": { "alias": "indicatorType"; "required": false; "isSignal": true; }; "steps": { "alias": "steps"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "previousLabel": { "alias": "previousLabel"; "required": false; "isSignal": true; }; "nextLabel": { "alias": "nextLabel"; "required": false; "isSignal": true; }; "finishLabel": { "alias": "finishLabel"; "required": false; "isSignal": true; }; "closeAriaLabel": { "alias": "closeAriaLabel"; "required": false; "isSignal": true; }; "initialStep": { "alias": "initialStep"; "required": false; "isSignal": true; }; }, { "isOpen": "isOpenChange"; "closed": "closed"; "previousClicked": "previousClicked"; "nextClicked": "nextClicked"; "finished": "finished"; "stepChanged": "stepChanged"; }, never, never, true, never>;
|
|
8365
9335
|
}
|
|
8366
9336
|
|
|
8367
|
-
|
|
8368
|
-
|
|
9337
|
+
/**
|
|
9338
|
+
* Card size:
|
|
9339
|
+
* - 'default' — program cards (80px icon tile, 19px title, description)
|
|
9340
|
+
* - 'compact' — application cards (64px icon tile, 16px title)
|
|
9341
|
+
*/
|
|
9342
|
+
type HubCardSize = 'default' | 'compact';
|
|
9343
|
+
/**
|
|
9344
|
+
* Central Hub navigation card — an icon tile, a title, an optional
|
|
9345
|
+
* description and an optional status badge (e.g. "Soon").
|
|
9346
|
+
*
|
|
9347
|
+
* Renders as an `<a>` when [href] is set (and the card is enabled),
|
|
9348
|
+
* otherwise as a keyboard-accessible button-like element that emits
|
|
9349
|
+
* (cardClick).
|
|
9350
|
+
*
|
|
9351
|
+
* The icon can be provided three ways (first match wins):
|
|
9352
|
+
* 1. [iconSrc] — image URL (svg/png)
|
|
9353
|
+
* 2. [iconSvg] — raw SVG string (sanitized internally)
|
|
9354
|
+
* 3. projected content marked with the `hubCardIcon` attribute
|
|
9355
|
+
*/
|
|
9356
|
+
declare class HubCardComponent {
|
|
9357
|
+
private sanitizer;
|
|
9358
|
+
/** Card title (required) */
|
|
9359
|
+
title: _angular_core.InputSignal<string>;
|
|
9360
|
+
/** Supporting text under the title; hidden when empty */
|
|
9361
|
+
description: _angular_core.InputSignal<string>;
|
|
9362
|
+
/** 'default' for program cards, 'compact' for application cards */
|
|
9363
|
+
size: _angular_core.InputSignal<HubCardSize>;
|
|
9364
|
+
/** Badge shown in the top-right corner (e.g. "Soon"); hidden when empty */
|
|
9365
|
+
badgeText: _angular_core.InputSignal<string>;
|
|
9366
|
+
/** Disables interaction and dims the card */
|
|
9367
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
9368
|
+
/** When set, the card renders as a link */
|
|
9369
|
+
href: _angular_core.InputSignal<string>;
|
|
9370
|
+
/** Link target, e.g. "_blank" — only used together with [href] */
|
|
9371
|
+
target: _angular_core.InputSignal<string>;
|
|
9372
|
+
/** Icon image URL — rendered inside the icon tile */
|
|
9373
|
+
iconSrc: _angular_core.InputSignal<string>;
|
|
9374
|
+
/** Raw SVG string for the icon — used when [iconSrc] is empty */
|
|
9375
|
+
iconSvg: _angular_core.InputSignal<string>;
|
|
9376
|
+
/** Emitted on click / Enter / Space when the card has no [href] */
|
|
9377
|
+
cardClick: _angular_core.OutputEmitterRef<void>;
|
|
9378
|
+
/** Card renders as a link only when enabled and an href is provided */
|
|
9379
|
+
isLink: _angular_core.Signal<boolean>;
|
|
9380
|
+
/** rel="noopener noreferrer" is applied automatically for target="_blank" */
|
|
9381
|
+
rel: _angular_core.Signal<"noopener noreferrer" | null>;
|
|
9382
|
+
safeIconSvg: _angular_core.Signal<_angular_platform_browser.SafeHtml | null>;
|
|
9383
|
+
hostClasses: _angular_core.Signal<string>;
|
|
9384
|
+
onActivate(event: Event): void;
|
|
9385
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<HubCardComponent, never>;
|
|
9386
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<HubCardComponent, "pecb-hub-card", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "badgeText": { "alias": "badgeText"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; "iconSrc": { "alias": "iconSrc"; "required": false; "isSignal": true; }; "iconSvg": { "alias": "iconSvg"; "required": false; "isSignal": true; }; }, { "cardClick": "cardClick"; }, never, ["[hubCardIcon]"], true, never>;
|
|
9387
|
+
}
|
|
9388
|
+
|
|
9389
|
+
/**
|
|
9390
|
+
* Responsive grid wrapper for <pecb-hub-card> elements, with an optional
|
|
9391
|
+
* section heading (e.g. "Programs", "Applications").
|
|
9392
|
+
*
|
|
9393
|
+
* Columns adapt automatically to the available container width — no media
|
|
9394
|
+
* queries needed by the consumer: cards wrap once they would shrink below
|
|
9395
|
+
* [minCardWidth], down to a single column on narrow screens.
|
|
9396
|
+
*
|
|
9397
|
+
* @example
|
|
9398
|
+
* <pecb-hub-card-grid sectionTitle="Programs">
|
|
9399
|
+
* <pecb-hub-card title="Skills" description="..." iconSrc="..." />
|
|
9400
|
+
* <pecb-hub-card title="Store" description="..." iconSrc="..." />
|
|
9401
|
+
* </pecb-hub-card-grid>
|
|
9402
|
+
*/
|
|
9403
|
+
declare class HubCardGridComponent {
|
|
9404
|
+
/** Optional section heading rendered above the grid */
|
|
9405
|
+
sectionTitle: _angular_core.InputSignal<string>;
|
|
9406
|
+
/** Minimum card width in px before the grid wraps to fewer columns */
|
|
9407
|
+
minCardWidth: _angular_core.InputSignal<number>;
|
|
9408
|
+
/** Gap between cards in px */
|
|
9409
|
+
gap: _angular_core.InputSignal<number>;
|
|
9410
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<HubCardGridComponent, never>;
|
|
9411
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<HubCardGridComponent, "pecb-hub-card-grid", never, { "sectionTitle": { "alias": "sectionTitle"; "required": false; "isSignal": true; }; "minCardWidth": { "alias": "minCardWidth"; "required": false; "isSignal": true; }; "gap": { "alias": "gap"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
9412
|
+
}
|
|
9413
|
+
|
|
9414
|
+
/** Priority of a recommended action — drives the pill and default tones. */
|
|
9415
|
+
type ActionItemPriority = 'high' | 'medium' | 'low';
|
|
9416
|
+
/**
|
|
9417
|
+
* "Recommended action" row — a leading icon in a tinted tile, a bold title,
|
|
9418
|
+
* a muted description, a small priority pill (High/Medium/Low mapped to
|
|
9419
|
+
* error/warning/neutral tones) and a trailing CTA button.
|
|
9420
|
+
*
|
|
9421
|
+
* The icon tint, pill tone and CTA variant all derive from [priority] by
|
|
9422
|
+
* default; [ctaVariant] and [priorityLabel] override the derived values
|
|
9423
|
+
* (e.g. for translated labels).
|
|
9424
|
+
*
|
|
9425
|
+
* @example
|
|
9426
|
+
* <pecb-action-item
|
|
9427
|
+
* icon="refresh-01"
|
|
9428
|
+
* title="Renew ISO/IEC 27001 Lead Auditor"
|
|
9429
|
+
* description="Expires in 25 days — start early to avoid a lapse."
|
|
9430
|
+
* priority="high"
|
|
9431
|
+
* ctaLabel="Renew"
|
|
9432
|
+
* (ctaClicked)="renew()"
|
|
9433
|
+
* />
|
|
9434
|
+
*/
|
|
9435
|
+
declare class ActionItemComponent {
|
|
9436
|
+
/** Leading icon name (general or custom registry icon); hidden when empty */
|
|
9437
|
+
icon: _angular_core.InputSignal<"" | "embed" | "link" | "progress" | "table" | "circle" | "filter" | "image" | "annotation" | "center" | "drop" | "activity" | "add-square-01" | "add-square-02" | "add-square-03" | "add-square-04" | "alarm-01" | "alarm-02" | "alarm-03" | "alarm-04" | "alarm-05" | "alarm-06" | "alarm-check" | "alarm-minus" | "alarm-off" | "alarm-plus" | "alert-circle" | "alert-square" | "alert-triangle" | "align-center" | "align-down-01" | "align-down-02" | "align-horizontal-center-01" | "align-horizontal-center-02" | "align-horizontal-center-03" | "align-justify" | "align-left" | "align-left-01" | "align-left-02" | "align-right" | "align-right-01" | "align-right-02" | "align-up-01" | "align-up-02" | "align-vertical-center-01" | "align-vertical-center-02" | "align-vertical-center-03" | "annotation-alert" | "annotation-check" | "annotation-information" | "annotation-plus" | "annotation-typing" | "annotation-x" | "atom" | "attatchment-01" | "attatchment-02" | "audio-settings-01" | "audio-settings-02" | "bag-01" | "bag-02" | "bag-03" | "bag-04" | "bag-05" | "bank" | "bank-note-01" | "bank-note-02" | "bank-note-03" | "bank-note-04" | "bank-note-05" | "bank-note-06" | "bar-chart-01" | "bar-chart-02" | "bar-chart-03" | "bar-chart-04" | "bar-chart-05" | "bar-chart-square-01" | "bar-chart-square-02" | "bar-chart-square-03" | "bar-chart-square-down-01" | "bar-chart-square-down-02" | "bar-chart-square-up-01" | "bar-group-01" | "bar-group-02" | "bar-group-03" | "battery-01" | "battery-02" | "battery-03" | "battery-04" | "battery-empty" | "battery-fill-01" | "battery-fill-02" | "battery-fill-04" | "bell-01" | "bell-02" | "bell-03" | "bell-04" | "bell-off-01" | "bell-off-02" | "bell-ringing-01" | "bell-ringing-02" | "bell-ringing-03" | "bell-ringing-04" | "bezier-01" | "bezier-02" | "bluetooth-01" | "bluetooth-02" | "bold-01" | "bold-02" | "book-01" | "book-02" | "book-03" | "book-04" | "book-05" | "book-06" | "box" | "brackets" | "brackets-check" | "brackets-minus" | "brackets-plus" | "brackets-slash" | "brackets-typing" | "calculator-01" | "calculator-02" | "calendar-01" | "calendar-02" | "calendar-03" | "calendar-04" | "calendar-05" | "calendar-06" | "calendar-07" | "calendar-check" | "calendar-minus" | "calendar-number" | "calendar-plus" | "camera-01" | "camera-02" | "camera-lens" | "camera-off" | "cancel-left" | "cancel-right" | "car" | "card-01" | "card-02" | "card-add" | "card-check" | "card-down" | "card-edit" | "card-lock" | "card-minus" | "card-number" | "card-shield" | "card-up" | "card-x" | "cart" | "chart-breakout-circle" | "chart-breakout-square" | "check-01" | "check-02" | "check-broken" | "check-contained" | "check-square-broken" | "check-square-contained" | "chevron-double-down" | "chevron-double-left" | "chevron-double-right" | "chevron-double-up" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "chromecast" | "clock-01" | "clock-backward" | "clock-check" | "clock-forward" | "clock-plus" | "cloud-01" | "cloud-02" | "cloud-03" | "cloud-04" | "cloud-lightning" | "cloud-rain" | "cloud-snow" | "cloud-sun" | "code-01" | "code-02" | "code-03" | "code-04" | "coin-broken" | "coin-hand" | "coin-number" | "coin-unbroken" | "coins" | "coins-rotate" | "color-picker" | "color-swatch-01" | "color-swatch-02" | "colors-01" | "colors-02" | "column-horizontal-01" | "column-horizontal-02" | "column-horizontal-03" | "column-vertical-01" | "column-vertical-02" | "column-vertical-03" | "compare" | "compass" | "component" | "computer" | "contrast" | "copy-left" | "copy-right" | "crop-01" | "crop-02" | "currency-bath" | "currency-bitcoin" | "currency-cent" | "currency-coin-bath" | "currency-coin-bitcoin" | "currency-coin-cent" | "currency-coin-dollar" | "currency-coin-euro" | "currency-coin-pound" | "currency-coin-rubel" | "currency-coin-rupee" | "currency-coin-yen" | "currency-dollar" | "currency-euro" | "currency-pound" | "currency-rubel" | "currency-rupee" | "currency-yen" | "cursor-01" | "cursor-02" | "cursor-03" | "cursor-04" | "cursor-05" | "cursor-06" | "cursor-grab" | "cursor-grabbed" | "cursor-pointer" | "dash" | "data-01" | "data-02" | "data-03" | "data-04" | "delete" | "delivery" | "diamond" | "disc" | "discount-circle" | "discount-square" | "discount-star-01" | "discount-star-02" | "discount-star-03" | "divider" | "dot-horizontal" | "dot-vertical" | "download" | "download-01" | "download-02" | "edit-01" | "edit-02" | "edit-03" | "edit-04" | "edit-contained" | "email" | "equals" | "equals-not" | "eraser-01" | "eraser-02" | "expand" | "expand-02" | "eye-closed" | "eye-open" | "face-id-01" | "face-id-02" | "fast-backward" | "fast-forward" | "favourite" | "feather-01" | "feather-02" | "file" | "file-01" | "file-02" | "file-03" | "file-04" | "file-05" | "file-06" | "file-attach-01" | "file-attach-02" | "file-attach-03" | "file-branch" | "file-check-01" | "file-check-02" | "file-code" | "file-down-01" | "file-down-02" | "file-edit-01" | "file-edit-02" | "file-eye-01" | "file-eye-02" | "file-lock-01" | "file-lock-02" | "file-lock-03" | "file-minus-01" | "file-minus-02" | "file-multiple" | "file-none" | "file-plus-01" | "file-plus-02" | "file-question-01" | "file-question-02" | "file-return-01" | "file-return-02" | "file-search-01" | "file-search-02" | "file-shield-01" | "file-shield-02" | "file-shield-03" | "file-shred" | "file-up-01" | "file-up-02" | "file-x-02" | "fingerpint-01" | "fingerpint-02" | "flame-01" | "flash-off" | "flash-on" | "flex-align-bottom-01" | "flex-align-center-01" | "flex-align-left-01" | "flex-align-right-01" | "flex-align-spaced-01" | "flex-align-top-01" | "flex-columns" | "flip-01" | "flip-02" | "flip-left" | "flip-right" | "folder" | "folder-code" | "folder-down-01" | "folder-down-02" | "folder-minus-01" | "folder-open-01" | "folder-open-02" | "folder-open-03" | "folder-plus-01" | "folder-plus-02" | "folder-search-01" | "folder-search-02" | "folder-shield" | "folder-up-01" | "folder-up-02" | "folder-x-01" | "folder-x-02" | "gear" | "gift-01" | "gift-02" | "git-branch-01" | "git-branch-02" | "git-branch-03" | "git-branch-04" | "git-branch-05" | "glasses-01" | "glasses-02" | "globe" | "globe-01" | "globe-02" | "globe-03" | "globe-04" | "globe-05" | "graduation-cap-01" | "graduation-cap-02" | "grid-01" | "grid-02" | "grid-03" | "grid-04-filled" | "hash-01" | "hash-02" | "header-01" | "header-02" | "headphones" | "heart" | "help" | "help-circle-contained" | "help-square-contained" | "hexagon" | "home-01" | "home-02" | "home-03" | "home-04" | "home-05" | "horizontal-chart-01" | "horizontal-chart-02" | "horizontal-chart-03" | "hourglass-01" | "hourglass-02" | "hourglass-03" | "image-01" | "image-02" | "image-03" | "image-04" | "image-add" | "image-avatar" | "image-check" | "image-down" | "image-focus" | "image-indent-left" | "image-indent-right" | "image-minus" | "image-no-borders" | "image-question" | "image-up" | "image-x" | "inbox-01" | "inbox-02" | "indent-decrease" | "indent-increase" | "indent-left" | "indent-right" | "info-square-01-contained" | "info-square-02-contained-filled" | "information-circle-contained" | "intersect" | "iphone-02" | "italics-01" | "italics-02" | "key-01" | "key-02" | "keyboard" | "laptop-01" | "laptop-02" | "layers-01" | "layers-02" | "layers-03" | "layers-04" | "layers-05" | "layout-01" | "layout-02" | "layout-03" | "layout-04" | "layout-bottom" | "layout-grid-01" | "layout-left" | "layout-right" | "layout-scale" | "layout-top" | "letter-spacing-01" | "letter-spacing-02" | "letter-spacing-03" | "lightbulb-01" | "lightbulb-02" | "lightbulb-03" | "lightning-01" | "lightning-02" | "lightning-circle-contained" | "lightning-filled" | "lightning-square-contained" | "line-chart-down-01" | "line-chart-down-02" | "line-chart-up-01" | "line-chart-up-02" | "line-height" | "link-angled" | "link-broken" | "link-external" | "list" | "list-numbers" | "loader-01" | "loader-02" | "lock-01" | "lock-02" | "lock-03" | "lock-04" | "lock-open-01" | "lock-open-02" | "lock-open-03" | "lock-open-04" | "logout-01" | "logout-02" | "logout-03" | "logout-04" | "luggage-01" | "luggage-02" | "luggage-03" | "luggage-04" | "mail-01" | "mail-02" | "mail-03" | "mail-04" | "mail-05" | "map-01" | "map-02" | "map-03" | "map-04" | "marker-01" | "marker-02" | "marker-03" | "marker-04" | "marker-05" | "marker-06" | "maximise-01" | "maximise-02" | "media-strip-01" | "media-strip-02" | "menu-01" | "menu-02" | "menu-03" | "menu-04" | "menu-05" | "message-alert-circle" | "message-alert-plus" | "message-chat-01" | "message-circle" | "message-notify-circle" | "message-notify-square" | "message-square" | "message-square-information" | "message-square-plus" | "message-square-typing" | "message-square-x" | "message-text-01" | "message-text-02" | "message-typing" | "message-x" | "microphone-01" | "microphone-02" | "microphone-off-01" | "microphone-off-02" | "minimise-01" | "minimise-02" | "minus-circle-contained" | "minus-square-contained" | "moon-01" | "moon-02" | "mouse" | "move" | "note-01" | "note-02" | "notification-box" | "notification-bubble" | "notification-square-01" | "notification-square-02" | "octagon" | "overlap" | "package-01" | "package-02" | "package-check" | "package-minus" | "package-plus" | "package-x" | "paint-bucket-01" | "paint-bucket-02" | "palette" | "paperclip" | "paperclip-01" | "paperclip-02" | "passport" | "password-01" | "password-02" | "pause-01" | "pause-02" | "pause-03" | "pen-tool-01" | "pen-tool-02" | "pen-tool-03" | "pen-tool-04" | "pencil-01" | "pencil-02" | "pencil-03" | "pentagon" | "percent-01" | "percent-02" | "percent-03" | "perspective" | "phone" | "phone-call-01" | "phone-call-02" | "phone-down" | "phone-incoming-01" | "phone-incoming-02" | "phone-off" | "phone-outgoing-01" | "phone-outgoing-02" | "phone-up" | "phone-x" | "pie-chart-01" | "pie-chart-02" | "pie-chart-03" | "plane" | "play-01" | "play-02" | "play-03" | "plug-01" | "plus-01" | "plus-02" | "plus-03" | "pointer-01" | "pointer-02" | "power" | "presentation-01" | "presentation-02" | "presentation-03" | "quote" | "receipt" | "receipt-lines" | "refresh-01" | "rss" | "ruler" | "save-01" | "save-02" | "scale-01" | "scale-02" | "scale-03" | "scan" | "scissors-01" | "scissors-02" | "scissors-03" | "scissors-04" | "search-01" | "search-02" | "send-01" | "send-02" | "send-03" | "server-01" | "server-02" | "server-03" | "server-04" | "server-05" | "server-06" | "server-down" | "server-up" | "settings" | "share" | "shield-01" | "shield-02" | "shield-check" | "shield-plus" | "shuffle" | "signal" | "skew" | "skip-back" | "skip-forward" | "slash-01-backward" | "slash-01-forward" | "slash-02-forward" | "smiley-happy" | "smiley-happy-plus" | "smiley-neutral" | "smiley-sad" | "smiley-wink" | "snowflake" | "sort-horizontal" | "sort-vertical-01" | "sort-vertical-02" | "space-height" | "space-horizontal" | "space-vertical" | "space-width" | "speaker" | "square" | "star-01" | "star-02" | "stars" | "stop-01" | "stop-02" | "stopwatch-01" | "stopwatch-02" | "stopwatch-03" | "stopwatch-04" | "stopwatch-05" | "stopwatch-off" | "stopwatch-snooze" | "sun-01" | "sun-02" | "sun-03" | "sun-down" | "sun-up" | "superscript" | "tag" | "target-01" | "target-02" | "target-03" | "target-04" | "temperature-01" | "temperature-02" | "temperature-03" | "temperature-04" | "terminal" | "text-input-01" | "text-input-02" | "thumb-down" | "thumb-up" | "ticket-01" | "ticket-02" | "toggle-right" | "toogle-left" | "train" | "transform" | "trash-01" | "trash-02" | "trash-03" | "trash-04" | "trend-down-01" | "trend-down-02" | "trend-up-01" | "trend-up-02" | "triangle" | "truck" | "tv" | "type-01" | "type-02" | "type-03" | "type-strike-01" | "type-strike-02" | "umbrella" | "umbrella-01" | "umbrella-02" | "underline-01" | "underline-02" | "union" | "upload-01" | "upload-02" | "upload-03" | "upload-04" | "user-profile-01" | "user-profile-02" | "user-profile-03" | "user-profile-add-01" | "user-profile-add-02" | "user-profile-check" | "user-profile-circle" | "user-profile-down" | "user-profile-group" | "user-profile-left" | "user-profile-minus" | "user-profile-right" | "user-profile-square" | "user-profile-star" | "user-profile-up" | "user-profile-x" | "users-profiles-01" | "users-profiles-02" | "users-profiles-03" | "users-profiles-check" | "users-profiles-down" | "users-profiles-left" | "users-profiles-minus" | "users-profiles-plus" | "users-profiles-right" | "users-profiles-up" | "users-profiles-x" | "variant" | "video-off" | "video-on" | "volume-01" | "volume-02" | "volume-03" | "volume-04" | "volume-05" | "volume-06" | "volume-07" | "wallert-04" | "wallet-01" | "wallet-02" | "wallet-03" | "watch-01" | "watch-02" | "waveform" | "webcam" | "wifi-off" | "wifi-on" | "wind-01" | "wind-02" | "wind-03" | "wrench" | "x-01" | "x-02" | "x-03" | "x-circle-contained" | "x-square-contained" | "youtube" | "zoom-in" | "zoom-out" | "custom-warning-xs-neutral" | "custom-add-2xl-active" | "custom-add-2xl-neutral" | "custom-add-lg-active" | "custom-add-lg-neutral" | "custom-add-md-active" | "custom-add-md-neutral" | "custom-add-sm-active" | "custom-add-sm-neutral" | "custom-add-xl-active" | "custom-add-xl-neutral" | "custom-add-xs-active" | "custom-add-xs-neutral" | "custom-amf-note-md-active" | "custom-amf-note-paid-md-active" | "custom-att-acc-md-active" | "custom-att-evaluate-md-active" | "custom-att-na-md-active" | "custom-cert-apply-md-active" | "custom-cert-refused-md-active" | "custom-cert-treatment-md-active" | "custom-cert-view-md-active" | "custom-certificate-2xl-active" | "custom-certificate-2xl-neutral" | "custom-certificate-lg-active" | "custom-certificate-lg-neutral" | "custom-certificate-md-active" | "custom-certificate-md-neutral" | "custom-certificate-sm-active" | "custom-certificate-sm-neutral" | "custom-certificate-xl-active" | "custom-certificate-xl-neutral" | "custom-certificate-xs-active" | "custom-certificate-xs-neutral" | "custom-check-2xl-active" | "custom-check-2xl-neutral" | "custom-check-lg-active" | "custom-check-lg-neutral" | "custom-check-md-active" | "custom-check-md-neutral" | "custom-check-sm-active" | "custom-check-sm-neutral" | "custom-check-xl-active" | "custom-check-xl-neutral" | "custom-check-xs-active" | "custom-check-xs-neutral" | "custom-content-classroom-md-active" | "custom-content-classroom-md-neutral" | "custom-content-elearning-md-active" | "custom-content-elearning-md-neutral" | "custom-content-liveonline-md-active" | "custom-content-liveonline-md-neutral" | "custom-content-selfstudy-md-active" | "custom-content-selfstudy-md-neutral" | "custom-content-technical-md-active" | "custom-content-technical-md-neutral" | "custom-delete-2xl-active" | "custom-delete-2xl-neutral" | "custom-delete-lg-active" | "custom-delete-lg-neutral" | "custom-delete-md-active" | "custom-delete-md-neutral" | "custom-delete-sm-active" | "custom-delete-sm-neutral" | "custom-delete-xl-active" | "custom-delete-xl-neutral" | "custom-delete-xs-active" | "custom-delete-xs-neutral" | "custom-doc-2xl-active" | "custom-doc-2xl-neutral" | "custom-doc-lg-active" | "custom-doc-lg-neutral" | "custom-doc-md-active" | "custom-doc-md-neutral" | "custom-doc-sm-active" | "custom-doc-sm-neutral" | "custom-doc-xl-active" | "custom-doc-xl-neutral" | "custom-doc-xs-active" | "custom-doc-xs-neutral" | "custom-download-2xl-active" | "custom-download-2xl-neutral" | "custom-download-lg-active" | "custom-download-lg-neutral" | "custom-download-md-active" | "custom-download-md-neutral" | "custom-download-sm-active" | "custom-download-sm-neutral" | "custom-download-xl-active" | "custom-download-xl-neutral" | "custom-download-xs-active" | "custom-download-xs-neutral" | "custom-exam-failed-md-active" | "custom-exam-missed-md-active" | "custom-exam-passed-md-active" | "custom-exam-schedule-md-active" | "custom-exam-scheduled-md-active" | "custom-exam-waiting-md-active" | "custom-info-2xl-active" | "custom-info-2xl-neutral" | "custom-info-lg-active" | "custom-info-lg-neutral" | "custom-info-md-active" | "custom-info-md-neutral" | "custom-info-sm-active" | "custom-info-sm-neutral" | "custom-info-xl-active" | "custom-info-xl-neutral" | "custom-info-xs-active" | "custom-info-xs-neutral" | "custom-not-applicable-2xl-active" | "custom-not-applicable-2xl-neutral" | "custom-not-applicable-lg-active" | "custom-not-applicable-lg-neutral" | "custom-not-applicable-md-active" | "custom-not-applicable-md-neutral" | "custom-not-applicable-sm-active" | "custom-not-applicable-sm-neutral" | "custom-not-applicable-xl-active" | "custom-not-applicable-xl-neutral" | "custom-not-applicable-xs-active" | "custom-not-applicable-xs-neutral" | "custom-slide-2xl-active" | "custom-slide-2xl-neutral" | "custom-slide-lg-active" | "custom-slide-lg-neutral" | "custom-slide-md-active" | "custom-slide-md-neutral" | "custom-slide-sm-active" | "custom-slide-sm-neutral" | "custom-slide-xl-active" | "custom-slide-xl-neutral" | "custom-slide-xs-active" | "custom-slide-xs-neutral" | "custom-time-2xl-active" | "custom-time-2xl-neutral" | "custom-time-lg-active" | "custom-time-lg-neutral" | "custom-time-md-active" | "custom-time-md-neutral" | "custom-time-sm-active" | "custom-time-sm-neutral" | "custom-time-xl-active" | "custom-time-xl-neutral" | "custom-time-xs-active" | "custom-time-xs-neutral" | "custom-tools-2xl-active" | "custom-tools-2xl-neutral" | "custom-tools-lg-active" | "custom-tools-lg-neutral" | "custom-tools-md-active" | "custom-tools-md-neutral" | "custom-tools-sm-active" | "custom-tools-sm-neutral" | "custom-tools-xl-active" | "custom-tools-xl-neutral" | "custom-tools-xs-active" | "custom-tools-xs-neutral" | "custom-upload-2xl-active" | "custom-upload-2xl-neutral" | "custom-upload-lg-active" | "custom-upload-lg-neutral" | "custom-upload-md-active" | "custom-upload-md-neutral" | "custom-upload-sm-active" | "custom-upload-sm-neutral" | "custom-upload-xl-active" | "custom-upload-xl-neutral" | "custom-upload-xs-active" | "custom-upload-xs-neutral" | "custom-view-2xl-active" | "custom-view-2xl-neutral" | "custom-view-lg-active" | "custom-view-lg-neutral" | "custom-view-md-active" | "custom-view-md-neutral" | "custom-view-sm-active" | "custom-view-sm-neutral" | "custom-view-xl-active" | "custom-view-xl-neutral" | "custom-view-xs-active" | "custom-view-xs-neutral" | "custom-warning-2xl-active" | "custom-warning-2xl-neutral" | "custom-warning-lg-active" | "custom-warning-lg-neutral" | "custom-warning-md-active" | "custom-warning-md-neutral" | "custom-warning-sm-active" | "custom-warning-sm-neutral" | "custom-warning-xl-active" | "custom-warning-xl-neutral" | "custom-warning-xs-active">;
|
|
9438
|
+
/** Icon tile shape — the design uses a rounded-square tile */
|
|
9439
|
+
iconShape: _angular_core.InputSignal<IconShape>;
|
|
9440
|
+
/** Action title (required) */
|
|
9441
|
+
title: _angular_core.InputSignal<string>;
|
|
9442
|
+
/** Muted description line under the title; hidden when empty */
|
|
9443
|
+
description: _angular_core.InputSignal<string>;
|
|
9444
|
+
/** Priority — drives the pill tone, icon tint and default CTA variant */
|
|
9445
|
+
priority: _angular_core.InputSignal<ActionItemPriority>;
|
|
9446
|
+
/** Pill text override (e.g. a translated label); defaults per priority */
|
|
9447
|
+
priorityLabel: _angular_core.InputSignal<string>;
|
|
9448
|
+
/** Trailing CTA button label; the button is hidden when empty */
|
|
9449
|
+
ctaLabel: _angular_core.InputSignal<string>;
|
|
9450
|
+
/** CTA button variant override; defaults to destructive for high priority, primary-2 otherwise */
|
|
9451
|
+
ctaVariant: _angular_core.InputSignal<"" | ButtonVariant>;
|
|
9452
|
+
/** Emitted when the CTA button is clicked */
|
|
9453
|
+
ctaClicked: _angular_core.OutputEmitterRef<void>;
|
|
9454
|
+
statusType: _angular_core.Signal<"error" | "neutral" | "warning">;
|
|
9455
|
+
iconColor: _angular_core.Signal<IconColor>;
|
|
9456
|
+
priorityText: _angular_core.Signal<string>;
|
|
9457
|
+
ctaVariantValue: _angular_core.Signal<ButtonVariant>;
|
|
9458
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ActionItemComponent, never>;
|
|
9459
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ActionItemComponent, "pecb-action-item", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconShape": { "alias": "iconShape"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "priority": { "alias": "priority"; "required": false; "isSignal": true; }; "priorityLabel": { "alias": "priorityLabel"; "required": false; "isSignal": true; }; "ctaLabel": { "alias": "ctaLabel"; "required": false; "isSignal": true; }; "ctaVariant": { "alias": "ctaVariant"; "required": false; "isSignal": true; }; }, { "ctaClicked": "ctaClicked"; }, never, never, true, never>;
|
|
9460
|
+
}
|
|
9461
|
+
|
|
9462
|
+
/**
|
|
9463
|
+
* Compact list/timeline row — a small round icon, a bold title, a muted
|
|
9464
|
+
* subline and an optional right-aligned meta text (e.g. a timestamp).
|
|
9465
|
+
* Used for feeds like "News releases" and "Recent activity".
|
|
9466
|
+
*
|
|
9467
|
+
* Consecutive rows are divided by a 1px border automatically (the first row
|
|
9468
|
+
* has no divider); place the rows as direct siblings for this to apply.
|
|
9469
|
+
*
|
|
9470
|
+
* Renders as an `<a>` when [href] is set, otherwise as a plain row that
|
|
9471
|
+
* emits (itemClick) when interactive consumers need it.
|
|
9472
|
+
*
|
|
9473
|
+
* @example
|
|
9474
|
+
* <pecb-list-item
|
|
9475
|
+
* icon="bell-01"
|
|
9476
|
+
* title="PECB launches ISO/IEC 42001 Lead Implementer training course"
|
|
9477
|
+
* subtitle="Aug 18, 2026"
|
|
9478
|
+
* href="https://pecb.com/en/news"
|
|
9479
|
+
* target="_blank"
|
|
9480
|
+
* />
|
|
9481
|
+
*/
|
|
9482
|
+
declare class ListItemComponent {
|
|
9483
|
+
/** Leading icon name (general or custom registry icon); hidden when empty */
|
|
9484
|
+
icon: _angular_core.InputSignal<"" | "embed" | "link" | "progress" | "table" | "circle" | "filter" | "image" | "annotation" | "center" | "drop" | "activity" | "add-square-01" | "add-square-02" | "add-square-03" | "add-square-04" | "alarm-01" | "alarm-02" | "alarm-03" | "alarm-04" | "alarm-05" | "alarm-06" | "alarm-check" | "alarm-minus" | "alarm-off" | "alarm-plus" | "alert-circle" | "alert-square" | "alert-triangle" | "align-center" | "align-down-01" | "align-down-02" | "align-horizontal-center-01" | "align-horizontal-center-02" | "align-horizontal-center-03" | "align-justify" | "align-left" | "align-left-01" | "align-left-02" | "align-right" | "align-right-01" | "align-right-02" | "align-up-01" | "align-up-02" | "align-vertical-center-01" | "align-vertical-center-02" | "align-vertical-center-03" | "annotation-alert" | "annotation-check" | "annotation-information" | "annotation-plus" | "annotation-typing" | "annotation-x" | "atom" | "attatchment-01" | "attatchment-02" | "audio-settings-01" | "audio-settings-02" | "bag-01" | "bag-02" | "bag-03" | "bag-04" | "bag-05" | "bank" | "bank-note-01" | "bank-note-02" | "bank-note-03" | "bank-note-04" | "bank-note-05" | "bank-note-06" | "bar-chart-01" | "bar-chart-02" | "bar-chart-03" | "bar-chart-04" | "bar-chart-05" | "bar-chart-square-01" | "bar-chart-square-02" | "bar-chart-square-03" | "bar-chart-square-down-01" | "bar-chart-square-down-02" | "bar-chart-square-up-01" | "bar-group-01" | "bar-group-02" | "bar-group-03" | "battery-01" | "battery-02" | "battery-03" | "battery-04" | "battery-empty" | "battery-fill-01" | "battery-fill-02" | "battery-fill-04" | "bell-01" | "bell-02" | "bell-03" | "bell-04" | "bell-off-01" | "bell-off-02" | "bell-ringing-01" | "bell-ringing-02" | "bell-ringing-03" | "bell-ringing-04" | "bezier-01" | "bezier-02" | "bluetooth-01" | "bluetooth-02" | "bold-01" | "bold-02" | "book-01" | "book-02" | "book-03" | "book-04" | "book-05" | "book-06" | "box" | "brackets" | "brackets-check" | "brackets-minus" | "brackets-plus" | "brackets-slash" | "brackets-typing" | "calculator-01" | "calculator-02" | "calendar-01" | "calendar-02" | "calendar-03" | "calendar-04" | "calendar-05" | "calendar-06" | "calendar-07" | "calendar-check" | "calendar-minus" | "calendar-number" | "calendar-plus" | "camera-01" | "camera-02" | "camera-lens" | "camera-off" | "cancel-left" | "cancel-right" | "car" | "card-01" | "card-02" | "card-add" | "card-check" | "card-down" | "card-edit" | "card-lock" | "card-minus" | "card-number" | "card-shield" | "card-up" | "card-x" | "cart" | "chart-breakout-circle" | "chart-breakout-square" | "check-01" | "check-02" | "check-broken" | "check-contained" | "check-square-broken" | "check-square-contained" | "chevron-double-down" | "chevron-double-left" | "chevron-double-right" | "chevron-double-up" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "chromecast" | "clock-01" | "clock-backward" | "clock-check" | "clock-forward" | "clock-plus" | "cloud-01" | "cloud-02" | "cloud-03" | "cloud-04" | "cloud-lightning" | "cloud-rain" | "cloud-snow" | "cloud-sun" | "code-01" | "code-02" | "code-03" | "code-04" | "coin-broken" | "coin-hand" | "coin-number" | "coin-unbroken" | "coins" | "coins-rotate" | "color-picker" | "color-swatch-01" | "color-swatch-02" | "colors-01" | "colors-02" | "column-horizontal-01" | "column-horizontal-02" | "column-horizontal-03" | "column-vertical-01" | "column-vertical-02" | "column-vertical-03" | "compare" | "compass" | "component" | "computer" | "contrast" | "copy-left" | "copy-right" | "crop-01" | "crop-02" | "currency-bath" | "currency-bitcoin" | "currency-cent" | "currency-coin-bath" | "currency-coin-bitcoin" | "currency-coin-cent" | "currency-coin-dollar" | "currency-coin-euro" | "currency-coin-pound" | "currency-coin-rubel" | "currency-coin-rupee" | "currency-coin-yen" | "currency-dollar" | "currency-euro" | "currency-pound" | "currency-rubel" | "currency-rupee" | "currency-yen" | "cursor-01" | "cursor-02" | "cursor-03" | "cursor-04" | "cursor-05" | "cursor-06" | "cursor-grab" | "cursor-grabbed" | "cursor-pointer" | "dash" | "data-01" | "data-02" | "data-03" | "data-04" | "delete" | "delivery" | "diamond" | "disc" | "discount-circle" | "discount-square" | "discount-star-01" | "discount-star-02" | "discount-star-03" | "divider" | "dot-horizontal" | "dot-vertical" | "download" | "download-01" | "download-02" | "edit-01" | "edit-02" | "edit-03" | "edit-04" | "edit-contained" | "email" | "equals" | "equals-not" | "eraser-01" | "eraser-02" | "expand" | "expand-02" | "eye-closed" | "eye-open" | "face-id-01" | "face-id-02" | "fast-backward" | "fast-forward" | "favourite" | "feather-01" | "feather-02" | "file" | "file-01" | "file-02" | "file-03" | "file-04" | "file-05" | "file-06" | "file-attach-01" | "file-attach-02" | "file-attach-03" | "file-branch" | "file-check-01" | "file-check-02" | "file-code" | "file-down-01" | "file-down-02" | "file-edit-01" | "file-edit-02" | "file-eye-01" | "file-eye-02" | "file-lock-01" | "file-lock-02" | "file-lock-03" | "file-minus-01" | "file-minus-02" | "file-multiple" | "file-none" | "file-plus-01" | "file-plus-02" | "file-question-01" | "file-question-02" | "file-return-01" | "file-return-02" | "file-search-01" | "file-search-02" | "file-shield-01" | "file-shield-02" | "file-shield-03" | "file-shred" | "file-up-01" | "file-up-02" | "file-x-02" | "fingerpint-01" | "fingerpint-02" | "flame-01" | "flash-off" | "flash-on" | "flex-align-bottom-01" | "flex-align-center-01" | "flex-align-left-01" | "flex-align-right-01" | "flex-align-spaced-01" | "flex-align-top-01" | "flex-columns" | "flip-01" | "flip-02" | "flip-left" | "flip-right" | "folder" | "folder-code" | "folder-down-01" | "folder-down-02" | "folder-minus-01" | "folder-open-01" | "folder-open-02" | "folder-open-03" | "folder-plus-01" | "folder-plus-02" | "folder-search-01" | "folder-search-02" | "folder-shield" | "folder-up-01" | "folder-up-02" | "folder-x-01" | "folder-x-02" | "gear" | "gift-01" | "gift-02" | "git-branch-01" | "git-branch-02" | "git-branch-03" | "git-branch-04" | "git-branch-05" | "glasses-01" | "glasses-02" | "globe" | "globe-01" | "globe-02" | "globe-03" | "globe-04" | "globe-05" | "graduation-cap-01" | "graduation-cap-02" | "grid-01" | "grid-02" | "grid-03" | "grid-04-filled" | "hash-01" | "hash-02" | "header-01" | "header-02" | "headphones" | "heart" | "help" | "help-circle-contained" | "help-square-contained" | "hexagon" | "home-01" | "home-02" | "home-03" | "home-04" | "home-05" | "horizontal-chart-01" | "horizontal-chart-02" | "horizontal-chart-03" | "hourglass-01" | "hourglass-02" | "hourglass-03" | "image-01" | "image-02" | "image-03" | "image-04" | "image-add" | "image-avatar" | "image-check" | "image-down" | "image-focus" | "image-indent-left" | "image-indent-right" | "image-minus" | "image-no-borders" | "image-question" | "image-up" | "image-x" | "inbox-01" | "inbox-02" | "indent-decrease" | "indent-increase" | "indent-left" | "indent-right" | "info-square-01-contained" | "info-square-02-contained-filled" | "information-circle-contained" | "intersect" | "iphone-02" | "italics-01" | "italics-02" | "key-01" | "key-02" | "keyboard" | "laptop-01" | "laptop-02" | "layers-01" | "layers-02" | "layers-03" | "layers-04" | "layers-05" | "layout-01" | "layout-02" | "layout-03" | "layout-04" | "layout-bottom" | "layout-grid-01" | "layout-left" | "layout-right" | "layout-scale" | "layout-top" | "letter-spacing-01" | "letter-spacing-02" | "letter-spacing-03" | "lightbulb-01" | "lightbulb-02" | "lightbulb-03" | "lightning-01" | "lightning-02" | "lightning-circle-contained" | "lightning-filled" | "lightning-square-contained" | "line-chart-down-01" | "line-chart-down-02" | "line-chart-up-01" | "line-chart-up-02" | "line-height" | "link-angled" | "link-broken" | "link-external" | "list" | "list-numbers" | "loader-01" | "loader-02" | "lock-01" | "lock-02" | "lock-03" | "lock-04" | "lock-open-01" | "lock-open-02" | "lock-open-03" | "lock-open-04" | "logout-01" | "logout-02" | "logout-03" | "logout-04" | "luggage-01" | "luggage-02" | "luggage-03" | "luggage-04" | "mail-01" | "mail-02" | "mail-03" | "mail-04" | "mail-05" | "map-01" | "map-02" | "map-03" | "map-04" | "marker-01" | "marker-02" | "marker-03" | "marker-04" | "marker-05" | "marker-06" | "maximise-01" | "maximise-02" | "media-strip-01" | "media-strip-02" | "menu-01" | "menu-02" | "menu-03" | "menu-04" | "menu-05" | "message-alert-circle" | "message-alert-plus" | "message-chat-01" | "message-circle" | "message-notify-circle" | "message-notify-square" | "message-square" | "message-square-information" | "message-square-plus" | "message-square-typing" | "message-square-x" | "message-text-01" | "message-text-02" | "message-typing" | "message-x" | "microphone-01" | "microphone-02" | "microphone-off-01" | "microphone-off-02" | "minimise-01" | "minimise-02" | "minus-circle-contained" | "minus-square-contained" | "moon-01" | "moon-02" | "mouse" | "move" | "note-01" | "note-02" | "notification-box" | "notification-bubble" | "notification-square-01" | "notification-square-02" | "octagon" | "overlap" | "package-01" | "package-02" | "package-check" | "package-minus" | "package-plus" | "package-x" | "paint-bucket-01" | "paint-bucket-02" | "palette" | "paperclip" | "paperclip-01" | "paperclip-02" | "passport" | "password-01" | "password-02" | "pause-01" | "pause-02" | "pause-03" | "pen-tool-01" | "pen-tool-02" | "pen-tool-03" | "pen-tool-04" | "pencil-01" | "pencil-02" | "pencil-03" | "pentagon" | "percent-01" | "percent-02" | "percent-03" | "perspective" | "phone" | "phone-call-01" | "phone-call-02" | "phone-down" | "phone-incoming-01" | "phone-incoming-02" | "phone-off" | "phone-outgoing-01" | "phone-outgoing-02" | "phone-up" | "phone-x" | "pie-chart-01" | "pie-chart-02" | "pie-chart-03" | "plane" | "play-01" | "play-02" | "play-03" | "plug-01" | "plus-01" | "plus-02" | "plus-03" | "pointer-01" | "pointer-02" | "power" | "presentation-01" | "presentation-02" | "presentation-03" | "quote" | "receipt" | "receipt-lines" | "refresh-01" | "rss" | "ruler" | "save-01" | "save-02" | "scale-01" | "scale-02" | "scale-03" | "scan" | "scissors-01" | "scissors-02" | "scissors-03" | "scissors-04" | "search-01" | "search-02" | "send-01" | "send-02" | "send-03" | "server-01" | "server-02" | "server-03" | "server-04" | "server-05" | "server-06" | "server-down" | "server-up" | "settings" | "share" | "shield-01" | "shield-02" | "shield-check" | "shield-plus" | "shuffle" | "signal" | "skew" | "skip-back" | "skip-forward" | "slash-01-backward" | "slash-01-forward" | "slash-02-forward" | "smiley-happy" | "smiley-happy-plus" | "smiley-neutral" | "smiley-sad" | "smiley-wink" | "snowflake" | "sort-horizontal" | "sort-vertical-01" | "sort-vertical-02" | "space-height" | "space-horizontal" | "space-vertical" | "space-width" | "speaker" | "square" | "star-01" | "star-02" | "stars" | "stop-01" | "stop-02" | "stopwatch-01" | "stopwatch-02" | "stopwatch-03" | "stopwatch-04" | "stopwatch-05" | "stopwatch-off" | "stopwatch-snooze" | "sun-01" | "sun-02" | "sun-03" | "sun-down" | "sun-up" | "superscript" | "tag" | "target-01" | "target-02" | "target-03" | "target-04" | "temperature-01" | "temperature-02" | "temperature-03" | "temperature-04" | "terminal" | "text-input-01" | "text-input-02" | "thumb-down" | "thumb-up" | "ticket-01" | "ticket-02" | "toggle-right" | "toogle-left" | "train" | "transform" | "trash-01" | "trash-02" | "trash-03" | "trash-04" | "trend-down-01" | "trend-down-02" | "trend-up-01" | "trend-up-02" | "triangle" | "truck" | "tv" | "type-01" | "type-02" | "type-03" | "type-strike-01" | "type-strike-02" | "umbrella" | "umbrella-01" | "umbrella-02" | "underline-01" | "underline-02" | "union" | "upload-01" | "upload-02" | "upload-03" | "upload-04" | "user-profile-01" | "user-profile-02" | "user-profile-03" | "user-profile-add-01" | "user-profile-add-02" | "user-profile-check" | "user-profile-circle" | "user-profile-down" | "user-profile-group" | "user-profile-left" | "user-profile-minus" | "user-profile-right" | "user-profile-square" | "user-profile-star" | "user-profile-up" | "user-profile-x" | "users-profiles-01" | "users-profiles-02" | "users-profiles-03" | "users-profiles-check" | "users-profiles-down" | "users-profiles-left" | "users-profiles-minus" | "users-profiles-plus" | "users-profiles-right" | "users-profiles-up" | "users-profiles-x" | "variant" | "video-off" | "video-on" | "volume-01" | "volume-02" | "volume-03" | "volume-04" | "volume-05" | "volume-06" | "volume-07" | "wallert-04" | "wallet-01" | "wallet-02" | "wallet-03" | "watch-01" | "watch-02" | "waveform" | "webcam" | "wifi-off" | "wifi-on" | "wind-01" | "wind-02" | "wind-03" | "wrench" | "x-01" | "x-02" | "x-03" | "x-circle-contained" | "x-square-contained" | "youtube" | "zoom-in" | "zoom-out" | "custom-warning-xs-neutral" | "custom-add-2xl-active" | "custom-add-2xl-neutral" | "custom-add-lg-active" | "custom-add-lg-neutral" | "custom-add-md-active" | "custom-add-md-neutral" | "custom-add-sm-active" | "custom-add-sm-neutral" | "custom-add-xl-active" | "custom-add-xl-neutral" | "custom-add-xs-active" | "custom-add-xs-neutral" | "custom-amf-note-md-active" | "custom-amf-note-paid-md-active" | "custom-att-acc-md-active" | "custom-att-evaluate-md-active" | "custom-att-na-md-active" | "custom-cert-apply-md-active" | "custom-cert-refused-md-active" | "custom-cert-treatment-md-active" | "custom-cert-view-md-active" | "custom-certificate-2xl-active" | "custom-certificate-2xl-neutral" | "custom-certificate-lg-active" | "custom-certificate-lg-neutral" | "custom-certificate-md-active" | "custom-certificate-md-neutral" | "custom-certificate-sm-active" | "custom-certificate-sm-neutral" | "custom-certificate-xl-active" | "custom-certificate-xl-neutral" | "custom-certificate-xs-active" | "custom-certificate-xs-neutral" | "custom-check-2xl-active" | "custom-check-2xl-neutral" | "custom-check-lg-active" | "custom-check-lg-neutral" | "custom-check-md-active" | "custom-check-md-neutral" | "custom-check-sm-active" | "custom-check-sm-neutral" | "custom-check-xl-active" | "custom-check-xl-neutral" | "custom-check-xs-active" | "custom-check-xs-neutral" | "custom-content-classroom-md-active" | "custom-content-classroom-md-neutral" | "custom-content-elearning-md-active" | "custom-content-elearning-md-neutral" | "custom-content-liveonline-md-active" | "custom-content-liveonline-md-neutral" | "custom-content-selfstudy-md-active" | "custom-content-selfstudy-md-neutral" | "custom-content-technical-md-active" | "custom-content-technical-md-neutral" | "custom-delete-2xl-active" | "custom-delete-2xl-neutral" | "custom-delete-lg-active" | "custom-delete-lg-neutral" | "custom-delete-md-active" | "custom-delete-md-neutral" | "custom-delete-sm-active" | "custom-delete-sm-neutral" | "custom-delete-xl-active" | "custom-delete-xl-neutral" | "custom-delete-xs-active" | "custom-delete-xs-neutral" | "custom-doc-2xl-active" | "custom-doc-2xl-neutral" | "custom-doc-lg-active" | "custom-doc-lg-neutral" | "custom-doc-md-active" | "custom-doc-md-neutral" | "custom-doc-sm-active" | "custom-doc-sm-neutral" | "custom-doc-xl-active" | "custom-doc-xl-neutral" | "custom-doc-xs-active" | "custom-doc-xs-neutral" | "custom-download-2xl-active" | "custom-download-2xl-neutral" | "custom-download-lg-active" | "custom-download-lg-neutral" | "custom-download-md-active" | "custom-download-md-neutral" | "custom-download-sm-active" | "custom-download-sm-neutral" | "custom-download-xl-active" | "custom-download-xl-neutral" | "custom-download-xs-active" | "custom-download-xs-neutral" | "custom-exam-failed-md-active" | "custom-exam-missed-md-active" | "custom-exam-passed-md-active" | "custom-exam-schedule-md-active" | "custom-exam-scheduled-md-active" | "custom-exam-waiting-md-active" | "custom-info-2xl-active" | "custom-info-2xl-neutral" | "custom-info-lg-active" | "custom-info-lg-neutral" | "custom-info-md-active" | "custom-info-md-neutral" | "custom-info-sm-active" | "custom-info-sm-neutral" | "custom-info-xl-active" | "custom-info-xl-neutral" | "custom-info-xs-active" | "custom-info-xs-neutral" | "custom-not-applicable-2xl-active" | "custom-not-applicable-2xl-neutral" | "custom-not-applicable-lg-active" | "custom-not-applicable-lg-neutral" | "custom-not-applicable-md-active" | "custom-not-applicable-md-neutral" | "custom-not-applicable-sm-active" | "custom-not-applicable-sm-neutral" | "custom-not-applicable-xl-active" | "custom-not-applicable-xl-neutral" | "custom-not-applicable-xs-active" | "custom-not-applicable-xs-neutral" | "custom-slide-2xl-active" | "custom-slide-2xl-neutral" | "custom-slide-lg-active" | "custom-slide-lg-neutral" | "custom-slide-md-active" | "custom-slide-md-neutral" | "custom-slide-sm-active" | "custom-slide-sm-neutral" | "custom-slide-xl-active" | "custom-slide-xl-neutral" | "custom-slide-xs-active" | "custom-slide-xs-neutral" | "custom-time-2xl-active" | "custom-time-2xl-neutral" | "custom-time-lg-active" | "custom-time-lg-neutral" | "custom-time-md-active" | "custom-time-md-neutral" | "custom-time-sm-active" | "custom-time-sm-neutral" | "custom-time-xl-active" | "custom-time-xl-neutral" | "custom-time-xs-active" | "custom-time-xs-neutral" | "custom-tools-2xl-active" | "custom-tools-2xl-neutral" | "custom-tools-lg-active" | "custom-tools-lg-neutral" | "custom-tools-md-active" | "custom-tools-md-neutral" | "custom-tools-sm-active" | "custom-tools-sm-neutral" | "custom-tools-xl-active" | "custom-tools-xl-neutral" | "custom-tools-xs-active" | "custom-tools-xs-neutral" | "custom-upload-2xl-active" | "custom-upload-2xl-neutral" | "custom-upload-lg-active" | "custom-upload-lg-neutral" | "custom-upload-md-active" | "custom-upload-md-neutral" | "custom-upload-sm-active" | "custom-upload-sm-neutral" | "custom-upload-xl-active" | "custom-upload-xl-neutral" | "custom-upload-xs-active" | "custom-upload-xs-neutral" | "custom-view-2xl-active" | "custom-view-2xl-neutral" | "custom-view-lg-active" | "custom-view-lg-neutral" | "custom-view-md-active" | "custom-view-md-neutral" | "custom-view-sm-active" | "custom-view-sm-neutral" | "custom-view-xl-active" | "custom-view-xl-neutral" | "custom-view-xs-active" | "custom-view-xs-neutral" | "custom-warning-2xl-active" | "custom-warning-2xl-neutral" | "custom-warning-lg-active" | "custom-warning-lg-neutral" | "custom-warning-md-active" | "custom-warning-md-neutral" | "custom-warning-sm-active" | "custom-warning-sm-neutral" | "custom-warning-xl-active" | "custom-warning-xl-neutral" | "custom-warning-xs-active">;
|
|
9485
|
+
/** Icon tile color — e.g. 'gray' for activity feeds, 'error' for urgent rows */
|
|
9486
|
+
iconColor: _angular_core.InputSignal<IconColor>;
|
|
9487
|
+
/** Row title (required) */
|
|
9488
|
+
title: _angular_core.InputSignal<string>;
|
|
9489
|
+
/** Muted subline under the title; hidden when empty */
|
|
9490
|
+
subtitle: _angular_core.InputSignal<string>;
|
|
9491
|
+
/** Right-aligned meta text (e.g. "2 days ago"); hidden when empty */
|
|
9492
|
+
meta: _angular_core.InputSignal<string>;
|
|
9493
|
+
/** When set, the row renders as a link */
|
|
9494
|
+
href: _angular_core.InputSignal<string>;
|
|
9495
|
+
/** Link target, e.g. "_blank" — only used together with [href] */
|
|
9496
|
+
target: _angular_core.InputSignal<string>;
|
|
9497
|
+
/** Emitted on click when the row has no [href] */
|
|
9498
|
+
itemClick: _angular_core.OutputEmitterRef<void>;
|
|
9499
|
+
isLink: _angular_core.Signal<boolean>;
|
|
9500
|
+
/** rel="noopener noreferrer" is applied automatically for target="_blank" */
|
|
9501
|
+
rel: _angular_core.Signal<"noopener noreferrer" | null>;
|
|
9502
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListItemComponent, never>;
|
|
9503
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ListItemComponent, "pecb-list-item", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconColor": { "alias": "iconColor"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": true; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "meta": { "alias": "meta"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
|
|
9504
|
+
}
|
|
9505
|
+
|
|
9506
|
+
/**
|
|
9507
|
+
* Course/recommendation tile — a dark icon tile, an uppercase category tag
|
|
9508
|
+
* (brand red), a bold title, a muted meta line (e.g. "5 days · Advanced")
|
|
9509
|
+
* and a CTA link ("View course" with a trailing arrow), with hover elevation.
|
|
9510
|
+
*
|
|
9511
|
+
* The icon can be provided three ways (first match wins):
|
|
9512
|
+
* 1. [icon] — registry icon name (general or custom); black-stroke
|
|
9513
|
+
* registry icons are recolored white inside the dark tile
|
|
9514
|
+
* 2. [iconSrc] — image URL (svg/png)
|
|
9515
|
+
* 3. [iconSvg] — raw SVG string (sanitized internally)
|
|
9516
|
+
* The tile is hidden when none is set.
|
|
9517
|
+
*
|
|
9518
|
+
* Renders as an `<a>` when [href] is set, otherwise as a keyboard-accessible
|
|
9519
|
+
* button-like element that emits (cardClick).
|
|
9520
|
+
*
|
|
9521
|
+
* @example
|
|
9522
|
+
* <pecb-course-tile
|
|
9523
|
+
* icon="graduation-hat-01"
|
|
9524
|
+
* category="AI Management"
|
|
9525
|
+
* title="ISO/IEC 42001 Lead Implementer"
|
|
9526
|
+
* meta="5 days · Advanced"
|
|
9527
|
+
* href="https://pecb.com/en/education-and-certification-for-individuals"
|
|
9528
|
+
* target="_blank"
|
|
9529
|
+
* />
|
|
9530
|
+
*/
|
|
9531
|
+
declare class CourseTileComponent {
|
|
9532
|
+
private sanitizer;
|
|
9533
|
+
private registry;
|
|
9534
|
+
/** Registry icon name shown in the dark tile; see also [iconSrc]/[iconSvg] */
|
|
9535
|
+
icon: _angular_core.InputSignal<"" | "embed" | "link" | "progress" | "table" | "circle" | "filter" | "image" | "annotation" | "center" | "drop" | "activity" | "add-square-01" | "add-square-02" | "add-square-03" | "add-square-04" | "alarm-01" | "alarm-02" | "alarm-03" | "alarm-04" | "alarm-05" | "alarm-06" | "alarm-check" | "alarm-minus" | "alarm-off" | "alarm-plus" | "alert-circle" | "alert-square" | "alert-triangle" | "align-center" | "align-down-01" | "align-down-02" | "align-horizontal-center-01" | "align-horizontal-center-02" | "align-horizontal-center-03" | "align-justify" | "align-left" | "align-left-01" | "align-left-02" | "align-right" | "align-right-01" | "align-right-02" | "align-up-01" | "align-up-02" | "align-vertical-center-01" | "align-vertical-center-02" | "align-vertical-center-03" | "annotation-alert" | "annotation-check" | "annotation-information" | "annotation-plus" | "annotation-typing" | "annotation-x" | "atom" | "attatchment-01" | "attatchment-02" | "audio-settings-01" | "audio-settings-02" | "bag-01" | "bag-02" | "bag-03" | "bag-04" | "bag-05" | "bank" | "bank-note-01" | "bank-note-02" | "bank-note-03" | "bank-note-04" | "bank-note-05" | "bank-note-06" | "bar-chart-01" | "bar-chart-02" | "bar-chart-03" | "bar-chart-04" | "bar-chart-05" | "bar-chart-square-01" | "bar-chart-square-02" | "bar-chart-square-03" | "bar-chart-square-down-01" | "bar-chart-square-down-02" | "bar-chart-square-up-01" | "bar-group-01" | "bar-group-02" | "bar-group-03" | "battery-01" | "battery-02" | "battery-03" | "battery-04" | "battery-empty" | "battery-fill-01" | "battery-fill-02" | "battery-fill-04" | "bell-01" | "bell-02" | "bell-03" | "bell-04" | "bell-off-01" | "bell-off-02" | "bell-ringing-01" | "bell-ringing-02" | "bell-ringing-03" | "bell-ringing-04" | "bezier-01" | "bezier-02" | "bluetooth-01" | "bluetooth-02" | "bold-01" | "bold-02" | "book-01" | "book-02" | "book-03" | "book-04" | "book-05" | "book-06" | "box" | "brackets" | "brackets-check" | "brackets-minus" | "brackets-plus" | "brackets-slash" | "brackets-typing" | "calculator-01" | "calculator-02" | "calendar-01" | "calendar-02" | "calendar-03" | "calendar-04" | "calendar-05" | "calendar-06" | "calendar-07" | "calendar-check" | "calendar-minus" | "calendar-number" | "calendar-plus" | "camera-01" | "camera-02" | "camera-lens" | "camera-off" | "cancel-left" | "cancel-right" | "car" | "card-01" | "card-02" | "card-add" | "card-check" | "card-down" | "card-edit" | "card-lock" | "card-minus" | "card-number" | "card-shield" | "card-up" | "card-x" | "cart" | "chart-breakout-circle" | "chart-breakout-square" | "check-01" | "check-02" | "check-broken" | "check-contained" | "check-square-broken" | "check-square-contained" | "chevron-double-down" | "chevron-double-left" | "chevron-double-right" | "chevron-double-up" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "chromecast" | "clock-01" | "clock-backward" | "clock-check" | "clock-forward" | "clock-plus" | "cloud-01" | "cloud-02" | "cloud-03" | "cloud-04" | "cloud-lightning" | "cloud-rain" | "cloud-snow" | "cloud-sun" | "code-01" | "code-02" | "code-03" | "code-04" | "coin-broken" | "coin-hand" | "coin-number" | "coin-unbroken" | "coins" | "coins-rotate" | "color-picker" | "color-swatch-01" | "color-swatch-02" | "colors-01" | "colors-02" | "column-horizontal-01" | "column-horizontal-02" | "column-horizontal-03" | "column-vertical-01" | "column-vertical-02" | "column-vertical-03" | "compare" | "compass" | "component" | "computer" | "contrast" | "copy-left" | "copy-right" | "crop-01" | "crop-02" | "currency-bath" | "currency-bitcoin" | "currency-cent" | "currency-coin-bath" | "currency-coin-bitcoin" | "currency-coin-cent" | "currency-coin-dollar" | "currency-coin-euro" | "currency-coin-pound" | "currency-coin-rubel" | "currency-coin-rupee" | "currency-coin-yen" | "currency-dollar" | "currency-euro" | "currency-pound" | "currency-rubel" | "currency-rupee" | "currency-yen" | "cursor-01" | "cursor-02" | "cursor-03" | "cursor-04" | "cursor-05" | "cursor-06" | "cursor-grab" | "cursor-grabbed" | "cursor-pointer" | "dash" | "data-01" | "data-02" | "data-03" | "data-04" | "delete" | "delivery" | "diamond" | "disc" | "discount-circle" | "discount-square" | "discount-star-01" | "discount-star-02" | "discount-star-03" | "divider" | "dot-horizontal" | "dot-vertical" | "download" | "download-01" | "download-02" | "edit-01" | "edit-02" | "edit-03" | "edit-04" | "edit-contained" | "email" | "equals" | "equals-not" | "eraser-01" | "eraser-02" | "expand" | "expand-02" | "eye-closed" | "eye-open" | "face-id-01" | "face-id-02" | "fast-backward" | "fast-forward" | "favourite" | "feather-01" | "feather-02" | "file" | "file-01" | "file-02" | "file-03" | "file-04" | "file-05" | "file-06" | "file-attach-01" | "file-attach-02" | "file-attach-03" | "file-branch" | "file-check-01" | "file-check-02" | "file-code" | "file-down-01" | "file-down-02" | "file-edit-01" | "file-edit-02" | "file-eye-01" | "file-eye-02" | "file-lock-01" | "file-lock-02" | "file-lock-03" | "file-minus-01" | "file-minus-02" | "file-multiple" | "file-none" | "file-plus-01" | "file-plus-02" | "file-question-01" | "file-question-02" | "file-return-01" | "file-return-02" | "file-search-01" | "file-search-02" | "file-shield-01" | "file-shield-02" | "file-shield-03" | "file-shred" | "file-up-01" | "file-up-02" | "file-x-02" | "fingerpint-01" | "fingerpint-02" | "flame-01" | "flash-off" | "flash-on" | "flex-align-bottom-01" | "flex-align-center-01" | "flex-align-left-01" | "flex-align-right-01" | "flex-align-spaced-01" | "flex-align-top-01" | "flex-columns" | "flip-01" | "flip-02" | "flip-left" | "flip-right" | "folder" | "folder-code" | "folder-down-01" | "folder-down-02" | "folder-minus-01" | "folder-open-01" | "folder-open-02" | "folder-open-03" | "folder-plus-01" | "folder-plus-02" | "folder-search-01" | "folder-search-02" | "folder-shield" | "folder-up-01" | "folder-up-02" | "folder-x-01" | "folder-x-02" | "gear" | "gift-01" | "gift-02" | "git-branch-01" | "git-branch-02" | "git-branch-03" | "git-branch-04" | "git-branch-05" | "glasses-01" | "glasses-02" | "globe" | "globe-01" | "globe-02" | "globe-03" | "globe-04" | "globe-05" | "graduation-cap-01" | "graduation-cap-02" | "grid-01" | "grid-02" | "grid-03" | "grid-04-filled" | "hash-01" | "hash-02" | "header-01" | "header-02" | "headphones" | "heart" | "help" | "help-circle-contained" | "help-square-contained" | "hexagon" | "home-01" | "home-02" | "home-03" | "home-04" | "home-05" | "horizontal-chart-01" | "horizontal-chart-02" | "horizontal-chart-03" | "hourglass-01" | "hourglass-02" | "hourglass-03" | "image-01" | "image-02" | "image-03" | "image-04" | "image-add" | "image-avatar" | "image-check" | "image-down" | "image-focus" | "image-indent-left" | "image-indent-right" | "image-minus" | "image-no-borders" | "image-question" | "image-up" | "image-x" | "inbox-01" | "inbox-02" | "indent-decrease" | "indent-increase" | "indent-left" | "indent-right" | "info-square-01-contained" | "info-square-02-contained-filled" | "information-circle-contained" | "intersect" | "iphone-02" | "italics-01" | "italics-02" | "key-01" | "key-02" | "keyboard" | "laptop-01" | "laptop-02" | "layers-01" | "layers-02" | "layers-03" | "layers-04" | "layers-05" | "layout-01" | "layout-02" | "layout-03" | "layout-04" | "layout-bottom" | "layout-grid-01" | "layout-left" | "layout-right" | "layout-scale" | "layout-top" | "letter-spacing-01" | "letter-spacing-02" | "letter-spacing-03" | "lightbulb-01" | "lightbulb-02" | "lightbulb-03" | "lightning-01" | "lightning-02" | "lightning-circle-contained" | "lightning-filled" | "lightning-square-contained" | "line-chart-down-01" | "line-chart-down-02" | "line-chart-up-01" | "line-chart-up-02" | "line-height" | "link-angled" | "link-broken" | "link-external" | "list" | "list-numbers" | "loader-01" | "loader-02" | "lock-01" | "lock-02" | "lock-03" | "lock-04" | "lock-open-01" | "lock-open-02" | "lock-open-03" | "lock-open-04" | "logout-01" | "logout-02" | "logout-03" | "logout-04" | "luggage-01" | "luggage-02" | "luggage-03" | "luggage-04" | "mail-01" | "mail-02" | "mail-03" | "mail-04" | "mail-05" | "map-01" | "map-02" | "map-03" | "map-04" | "marker-01" | "marker-02" | "marker-03" | "marker-04" | "marker-05" | "marker-06" | "maximise-01" | "maximise-02" | "media-strip-01" | "media-strip-02" | "menu-01" | "menu-02" | "menu-03" | "menu-04" | "menu-05" | "message-alert-circle" | "message-alert-plus" | "message-chat-01" | "message-circle" | "message-notify-circle" | "message-notify-square" | "message-square" | "message-square-information" | "message-square-plus" | "message-square-typing" | "message-square-x" | "message-text-01" | "message-text-02" | "message-typing" | "message-x" | "microphone-01" | "microphone-02" | "microphone-off-01" | "microphone-off-02" | "minimise-01" | "minimise-02" | "minus-circle-contained" | "minus-square-contained" | "moon-01" | "moon-02" | "mouse" | "move" | "note-01" | "note-02" | "notification-box" | "notification-bubble" | "notification-square-01" | "notification-square-02" | "octagon" | "overlap" | "package-01" | "package-02" | "package-check" | "package-minus" | "package-plus" | "package-x" | "paint-bucket-01" | "paint-bucket-02" | "palette" | "paperclip" | "paperclip-01" | "paperclip-02" | "passport" | "password-01" | "password-02" | "pause-01" | "pause-02" | "pause-03" | "pen-tool-01" | "pen-tool-02" | "pen-tool-03" | "pen-tool-04" | "pencil-01" | "pencil-02" | "pencil-03" | "pentagon" | "percent-01" | "percent-02" | "percent-03" | "perspective" | "phone" | "phone-call-01" | "phone-call-02" | "phone-down" | "phone-incoming-01" | "phone-incoming-02" | "phone-off" | "phone-outgoing-01" | "phone-outgoing-02" | "phone-up" | "phone-x" | "pie-chart-01" | "pie-chart-02" | "pie-chart-03" | "plane" | "play-01" | "play-02" | "play-03" | "plug-01" | "plus-01" | "plus-02" | "plus-03" | "pointer-01" | "pointer-02" | "power" | "presentation-01" | "presentation-02" | "presentation-03" | "quote" | "receipt" | "receipt-lines" | "refresh-01" | "rss" | "ruler" | "save-01" | "save-02" | "scale-01" | "scale-02" | "scale-03" | "scan" | "scissors-01" | "scissors-02" | "scissors-03" | "scissors-04" | "search-01" | "search-02" | "send-01" | "send-02" | "send-03" | "server-01" | "server-02" | "server-03" | "server-04" | "server-05" | "server-06" | "server-down" | "server-up" | "settings" | "share" | "shield-01" | "shield-02" | "shield-check" | "shield-plus" | "shuffle" | "signal" | "skew" | "skip-back" | "skip-forward" | "slash-01-backward" | "slash-01-forward" | "slash-02-forward" | "smiley-happy" | "smiley-happy-plus" | "smiley-neutral" | "smiley-sad" | "smiley-wink" | "snowflake" | "sort-horizontal" | "sort-vertical-01" | "sort-vertical-02" | "space-height" | "space-horizontal" | "space-vertical" | "space-width" | "speaker" | "square" | "star-01" | "star-02" | "stars" | "stop-01" | "stop-02" | "stopwatch-01" | "stopwatch-02" | "stopwatch-03" | "stopwatch-04" | "stopwatch-05" | "stopwatch-off" | "stopwatch-snooze" | "sun-01" | "sun-02" | "sun-03" | "sun-down" | "sun-up" | "superscript" | "tag" | "target-01" | "target-02" | "target-03" | "target-04" | "temperature-01" | "temperature-02" | "temperature-03" | "temperature-04" | "terminal" | "text-input-01" | "text-input-02" | "thumb-down" | "thumb-up" | "ticket-01" | "ticket-02" | "toggle-right" | "toogle-left" | "train" | "transform" | "trash-01" | "trash-02" | "trash-03" | "trash-04" | "trend-down-01" | "trend-down-02" | "trend-up-01" | "trend-up-02" | "triangle" | "truck" | "tv" | "type-01" | "type-02" | "type-03" | "type-strike-01" | "type-strike-02" | "umbrella" | "umbrella-01" | "umbrella-02" | "underline-01" | "underline-02" | "union" | "upload-01" | "upload-02" | "upload-03" | "upload-04" | "user-profile-01" | "user-profile-02" | "user-profile-03" | "user-profile-add-01" | "user-profile-add-02" | "user-profile-check" | "user-profile-circle" | "user-profile-down" | "user-profile-group" | "user-profile-left" | "user-profile-minus" | "user-profile-right" | "user-profile-square" | "user-profile-star" | "user-profile-up" | "user-profile-x" | "users-profiles-01" | "users-profiles-02" | "users-profiles-03" | "users-profiles-check" | "users-profiles-down" | "users-profiles-left" | "users-profiles-minus" | "users-profiles-plus" | "users-profiles-right" | "users-profiles-up" | "users-profiles-x" | "variant" | "video-off" | "video-on" | "volume-01" | "volume-02" | "volume-03" | "volume-04" | "volume-05" | "volume-06" | "volume-07" | "wallert-04" | "wallet-01" | "wallet-02" | "wallet-03" | "watch-01" | "watch-02" | "waveform" | "webcam" | "wifi-off" | "wifi-on" | "wind-01" | "wind-02" | "wind-03" | "wrench" | "x-01" | "x-02" | "x-03" | "x-circle-contained" | "x-square-contained" | "youtube" | "zoom-in" | "zoom-out" | "custom-warning-xs-neutral" | "custom-add-2xl-active" | "custom-add-2xl-neutral" | "custom-add-lg-active" | "custom-add-lg-neutral" | "custom-add-md-active" | "custom-add-md-neutral" | "custom-add-sm-active" | "custom-add-sm-neutral" | "custom-add-xl-active" | "custom-add-xl-neutral" | "custom-add-xs-active" | "custom-add-xs-neutral" | "custom-amf-note-md-active" | "custom-amf-note-paid-md-active" | "custom-att-acc-md-active" | "custom-att-evaluate-md-active" | "custom-att-na-md-active" | "custom-cert-apply-md-active" | "custom-cert-refused-md-active" | "custom-cert-treatment-md-active" | "custom-cert-view-md-active" | "custom-certificate-2xl-active" | "custom-certificate-2xl-neutral" | "custom-certificate-lg-active" | "custom-certificate-lg-neutral" | "custom-certificate-md-active" | "custom-certificate-md-neutral" | "custom-certificate-sm-active" | "custom-certificate-sm-neutral" | "custom-certificate-xl-active" | "custom-certificate-xl-neutral" | "custom-certificate-xs-active" | "custom-certificate-xs-neutral" | "custom-check-2xl-active" | "custom-check-2xl-neutral" | "custom-check-lg-active" | "custom-check-lg-neutral" | "custom-check-md-active" | "custom-check-md-neutral" | "custom-check-sm-active" | "custom-check-sm-neutral" | "custom-check-xl-active" | "custom-check-xl-neutral" | "custom-check-xs-active" | "custom-check-xs-neutral" | "custom-content-classroom-md-active" | "custom-content-classroom-md-neutral" | "custom-content-elearning-md-active" | "custom-content-elearning-md-neutral" | "custom-content-liveonline-md-active" | "custom-content-liveonline-md-neutral" | "custom-content-selfstudy-md-active" | "custom-content-selfstudy-md-neutral" | "custom-content-technical-md-active" | "custom-content-technical-md-neutral" | "custom-delete-2xl-active" | "custom-delete-2xl-neutral" | "custom-delete-lg-active" | "custom-delete-lg-neutral" | "custom-delete-md-active" | "custom-delete-md-neutral" | "custom-delete-sm-active" | "custom-delete-sm-neutral" | "custom-delete-xl-active" | "custom-delete-xl-neutral" | "custom-delete-xs-active" | "custom-delete-xs-neutral" | "custom-doc-2xl-active" | "custom-doc-2xl-neutral" | "custom-doc-lg-active" | "custom-doc-lg-neutral" | "custom-doc-md-active" | "custom-doc-md-neutral" | "custom-doc-sm-active" | "custom-doc-sm-neutral" | "custom-doc-xl-active" | "custom-doc-xl-neutral" | "custom-doc-xs-active" | "custom-doc-xs-neutral" | "custom-download-2xl-active" | "custom-download-2xl-neutral" | "custom-download-lg-active" | "custom-download-lg-neutral" | "custom-download-md-active" | "custom-download-md-neutral" | "custom-download-sm-active" | "custom-download-sm-neutral" | "custom-download-xl-active" | "custom-download-xl-neutral" | "custom-download-xs-active" | "custom-download-xs-neutral" | "custom-exam-failed-md-active" | "custom-exam-missed-md-active" | "custom-exam-passed-md-active" | "custom-exam-schedule-md-active" | "custom-exam-scheduled-md-active" | "custom-exam-waiting-md-active" | "custom-info-2xl-active" | "custom-info-2xl-neutral" | "custom-info-lg-active" | "custom-info-lg-neutral" | "custom-info-md-active" | "custom-info-md-neutral" | "custom-info-sm-active" | "custom-info-sm-neutral" | "custom-info-xl-active" | "custom-info-xl-neutral" | "custom-info-xs-active" | "custom-info-xs-neutral" | "custom-not-applicable-2xl-active" | "custom-not-applicable-2xl-neutral" | "custom-not-applicable-lg-active" | "custom-not-applicable-lg-neutral" | "custom-not-applicable-md-active" | "custom-not-applicable-md-neutral" | "custom-not-applicable-sm-active" | "custom-not-applicable-sm-neutral" | "custom-not-applicable-xl-active" | "custom-not-applicable-xl-neutral" | "custom-not-applicable-xs-active" | "custom-not-applicable-xs-neutral" | "custom-slide-2xl-active" | "custom-slide-2xl-neutral" | "custom-slide-lg-active" | "custom-slide-lg-neutral" | "custom-slide-md-active" | "custom-slide-md-neutral" | "custom-slide-sm-active" | "custom-slide-sm-neutral" | "custom-slide-xl-active" | "custom-slide-xl-neutral" | "custom-slide-xs-active" | "custom-slide-xs-neutral" | "custom-time-2xl-active" | "custom-time-2xl-neutral" | "custom-time-lg-active" | "custom-time-lg-neutral" | "custom-time-md-active" | "custom-time-md-neutral" | "custom-time-sm-active" | "custom-time-sm-neutral" | "custom-time-xl-active" | "custom-time-xl-neutral" | "custom-time-xs-active" | "custom-time-xs-neutral" | "custom-tools-2xl-active" | "custom-tools-2xl-neutral" | "custom-tools-lg-active" | "custom-tools-lg-neutral" | "custom-tools-md-active" | "custom-tools-md-neutral" | "custom-tools-sm-active" | "custom-tools-sm-neutral" | "custom-tools-xl-active" | "custom-tools-xl-neutral" | "custom-tools-xs-active" | "custom-tools-xs-neutral" | "custom-upload-2xl-active" | "custom-upload-2xl-neutral" | "custom-upload-lg-active" | "custom-upload-lg-neutral" | "custom-upload-md-active" | "custom-upload-md-neutral" | "custom-upload-sm-active" | "custom-upload-sm-neutral" | "custom-upload-xl-active" | "custom-upload-xl-neutral" | "custom-upload-xs-active" | "custom-upload-xs-neutral" | "custom-view-2xl-active" | "custom-view-2xl-neutral" | "custom-view-lg-active" | "custom-view-lg-neutral" | "custom-view-md-active" | "custom-view-md-neutral" | "custom-view-sm-active" | "custom-view-sm-neutral" | "custom-view-xl-active" | "custom-view-xl-neutral" | "custom-view-xs-active" | "custom-view-xs-neutral" | "custom-warning-2xl-active" | "custom-warning-2xl-neutral" | "custom-warning-lg-active" | "custom-warning-lg-neutral" | "custom-warning-md-active" | "custom-warning-md-neutral" | "custom-warning-sm-active" | "custom-warning-sm-neutral" | "custom-warning-xl-active" | "custom-warning-xl-neutral" | "custom-warning-xs-active">;
|
|
9536
|
+
/** Icon image URL — used when [icon] is empty */
|
|
9537
|
+
iconSrc: _angular_core.InputSignal<string>;
|
|
9538
|
+
/** Raw SVG string for the icon — used when [icon] and [iconSrc] are empty */
|
|
9539
|
+
iconSvg: _angular_core.InputSignal<string>;
|
|
9540
|
+
/** Uppercase category tag above the title (e.g. "AI Management"); hidden when empty */
|
|
9541
|
+
category: _angular_core.InputSignal<string>;
|
|
9542
|
+
/** Course title (required) */
|
|
9543
|
+
title: _angular_core.InputSignal<string>;
|
|
9544
|
+
/** Muted meta line (e.g. "5 days · Advanced"); hidden when empty */
|
|
9545
|
+
meta: _angular_core.InputSignal<string>;
|
|
9546
|
+
/** CTA link text at the bottom of the tile */
|
|
9547
|
+
ctaLabel: _angular_core.InputSignal<string>;
|
|
9548
|
+
/** When set, the tile renders as a link */
|
|
9549
|
+
href: _angular_core.InputSignal<string>;
|
|
9550
|
+
/** Link target, e.g. "_blank" — only used together with [href] */
|
|
9551
|
+
target: _angular_core.InputSignal<string>;
|
|
9552
|
+
/** Emitted on click / Enter / Space when the tile has no [href] */
|
|
9553
|
+
cardClick: _angular_core.OutputEmitterRef<void>;
|
|
9554
|
+
isLink: _angular_core.Signal<boolean>;
|
|
9555
|
+
/** rel="noopener noreferrer" is applied automatically for target="_blank" */
|
|
9556
|
+
rel: _angular_core.Signal<"noopener noreferrer" | null>;
|
|
9557
|
+
/** The icon tile renders only when an icon source is provided */
|
|
9558
|
+
hasThumb: _angular_core.Signal<boolean>;
|
|
9559
|
+
safeThumbSvg: _angular_core.Signal<_angular_platform_browser.SafeHtml | null>;
|
|
9560
|
+
onActivate(event: Event): void;
|
|
9561
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CourseTileComponent, never>;
|
|
9562
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CourseTileComponent, "pecb-course-tile", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconSrc": { "alias": "iconSrc"; "required": false; "isSignal": true; }; "iconSvg": { "alias": "iconSvg"; "required": false; "isSignal": true; }; "category": { "alias": "category"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": true; "isSignal": true; }; "meta": { "alias": "meta"; "required": false; "isSignal": true; }; "ctaLabel": { "alias": "ctaLabel"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; }, { "cardClick": "cardClick"; }, never, never, true, never>;
|
|
9563
|
+
}
|
|
9564
|
+
|
|
9565
|
+
export { APP_HEADER_TRANSLATIONS, APP_SHELL_LOCALES, APP_SIDEBAR_MENU_ICONS, APP_SIDEBAR_MENU_TRANSLATIONS, APP_SIDEBAR_TRANSLATIONS, AccordionItemComponent, AccordionSmallComponent, ActionItemComponent, AddButtonComponent, AdminHeaderComponent, AdminHeaderFieldTemplateDirective, AffixComponent, AlertComponent, AnchorComponent, AppHeaderComponent, AppSidebarComponent, ApplicationStatusBarComponent, AuditorStatusComponent, AuthorDateTimeComponent, BackToTopComponent, BadgeComponent, BlurDirective, BottomSheetComponent, BreadcrumbsComponent, ButtonComponent, ButtonGroupComponent, ButtonGroupItemComponent, CancelUpdateButtonsComponent, CardBodyComponent, CardComponent, CardFooterComponent, CardHeaderComponent, CertificateUploadBarComponent, CheckDeleteIconComponent, CheckboxComponent, CheckboxDisplayComponent, CodeInputComponent, CodeSnippetComponent, ColorPaletteComponent, ConfirmationComponent, ContentTypeTagComponent, CourseContentPanelComponent, CoursePlayerComponent, CourseTileComponent, CredentialCardComponent, DEFAULT_APP_HEADER_LABELS, DEFAULT_APP_SIDEBAR_LABELS, DEFAULT_APP_SIDEBAR_LANGUAGES, DEFAULT_APP_SIDEBAR_MENU, DEFAULT_APP_SIDEBAR_ROLES, DEFAULT_COURSE_CONTENT_PANEL_LABELS, DEFAULT_LANGUAGES, DEFAULT_SLIDE_VIEWER_KEY_MAP, DEFAULT_SLIDE_VIEWER_LABELS, DEFAULT_SLIDE_VIEWER_TOOLS, DEFAULT_SLIDE_VIEWER_ZOOM_STEPS, DEFAULT_VIDEO_PLAYER_LABELS, DEFAULT_VIDEO_PLAYER_RATES, DashboardGridComponent, DatepickerComponent, DividerComponent, DropdownComponent, EMPTY_STATE_MAX_BUTTONS, EditButtonComponent, EditCoverPhotoComponent, EmptyStateComponent, ExpandableRowTableComponent, FileUploadComponent, FilterColumnsComponent, FloatButtonComponent, FloatButtonItemComponent, FormSectionCardComponent, FullscreenModalComponent, FullscreenModalContentDirective, FullscreenModalFooterDirective, FullscreenModalHeaderDirective, GeneralComponent, GridComponent, GridItemComponent, HeaderActionsComponent, HeaderComponent, HeaderDividerComponent, HeaderLanguageComponent, HeaderSearchComponent, HeaderUserComponent, HierarchicalTableComponent, HorizontalStepsComponent, HubCardComponent, HubCardGridComponent, IconComponent, IconRegistry, IconTagComponent, InformationBoxComponent, InputComponent, LanguageDropdownComponent, LinkButtonComponent, ListItemComponent, LoadingService, MediaComponent, MessageBubbleComponent, MessageItemComponent, MetricsCardComponent, MiniIconButtonComponent, NoResultsComponent, NoteSidebarItemComponent, NotesPanelComponent, NotificationService, NotificationStatusLinkComponent, OutlinedFieldComponent, PECB_COLOR_PALETTE, PECB_CUSTOM_ICONS, PECB_FONT_STYLES, PECB_ICONS, PECB_TYPE_SCALE, PaginationComponent, PaymentPlanCardComponent, PaymentScheduleCardComponent, PaymentSummaryComponent, PeriodPaymentModalComponent, PriceMethodComponent, ProfileComponent, ProfileElementsCardComponent, ProfileGroupComponent, ProgressArcComponent, ProgressBarComponent, ProgressCircleComponent, ProjectLayoutComponent, QuantitySelectorComponent, QuestionTypeTagComponent, RadioComponent, RadioDisplayComponent, RatingNumberComponent, ReasonForReturnComponent, RequestSentByComponent, RequestStatusBarComponent, ResultPageComponent, RightModalComponent, RightModalContentDirective, RightModalFooterDirective, RightModalHeaderDirective, ShadowDirective, SidebarComponent, SkeletonComponent, SlidePointsComponent, SlideViewerComponent, SlideViewerDayDirective, SlideViewerThumbnailDirective, SpacerComponent, SpinnerComponent, StandardsPdfCardComponent, StatisticsCardComponent, StatusComponent, StepperComponent, TabComponent, TableComponent, TagComponent, TagSelectComponent, TestimonialComponent, TextFormFieldComponent, ThemeService, ToggleComponent, ToolbarBarComponent, TooltipComponent, TooltipDirective, TourComponent, TranscriptLineComponent, TypographyComponent, UserWithEmailComponent, VerifyChecklistComponent, VideoPlayerComponent, VideoUploadBarComponent, VirtualTableComponent, addClass, announceToScreenReader, appHeaderLabels, appSidebarLabels, appSidebarMenu, appSidebarRoles, capitalize, clampSlidePage, closestElement, copyToClipboard, courseModuleStats, courseProgress, createAuthError, createAuthorizationError, createConfigError, createError, createNetworkError, createValidationError, disableBodyScroll, escapeHtml, findCourseLesson, findCourseModule, formatCount, formatCourseDuration, formatCourseTime, formatErrorForLog, formatErrorMessage, formatVideoTime, generateLinkedIds, generateUniqueId, getAriaCurrent, getButtonAriaAttributes, getComputedStyleValue, getDialogAriaAttributes, getFocusableElements, getInitials, getInputAriaAttributes, getOptionAriaAttributes, getProgressAriaAttributes, getScrollParent, getTabAriaAttributes, getVisuallyHiddenStyles, handleError, hasClass, isBlank, isBrowser, isElementVisible, isNotBlank, isPecbError, isRecoverableError, matchesSelector, parseLessonPartTitle, pluralize, prefersHighContrast, prefersReducedMotion, registerErrorHandler, removeClass, resolveAppShellLocale, resolveLessonStatus, scrollIntoView, slugify, stripHtml, toCamelCase, toKebabCase, toPascalCase, toSnakeCase, toggleClass, trapFocus, truncate, tryAsync, trySync, wrapError };
|
|
9566
|
+
export type { AccordionVariant, ActionItemPriority, AddButtonVariant, AdminHeaderAction, AdminHeaderActionType, AdminHeaderBadgeVariant, AdminHeaderField, AdminHeaderFieldType, AdminHeaderMetadata, AdminHeaderMetadataType, AdminHeaderProfile, AffixPosition, AlertType, AlertVariant, Alignment, AnchorDirection, AnchorItem, AnchorLevel, AnimationTiming, AppHeaderAction, AppHeaderChip, AppHeaderChipTone, AppHeaderLabels, AppHeaderNotification, AppShellLocale, AppShellTranslations, AppSidebarLabels, AppSidebarMenuItem, AppSidebarMenuOption, AppSidebarMenuOptionChange, AppSidebarMenuStrings, AppSidebarNavGroup, AppSidebarNavItem, AppSidebarProduct, AppSidebarRouterLink, AppSidebarUser, AppStatusColor, AriaAttributes, AriaLive, AriaRole, AuditorStatusType, BadgeSize, BadgeStatus, BadgeVariant, BlurSize, BreadcrumbItem, BreadcrumbSeparator, Breakpoint, ButtonGroupIconMode, ButtonGroupItemPosition, ButtonIconStyle, ButtonSize, ButtonVariant, CalendarDay, Callback, CardElevation, CardRadius, CardRole, CheckDeleteType, CheckboxDisplayState, CheckboxLabelPosition, ClosableWithHooks, CodeInputDirection, CodeInputState, CodeSnippetTheme, CodeSnippetVariant, ColorPaletteGroup, ColorPaletteItem, ColorVariant, Colorable, ColumnOption, ComponentSize, ConfirmationIconType, ContentStyle, ContentTagDisplay, ContentTagType, CourseContentPanelAccent, CourseContentPanelDensity, CourseContentPanelLabels, CourseContentPanelLayout, CourseContentPanelTab, CourseLesson, CourseLessonRunView, CourseLessonStatus, CourseLessonType, CourseLessonView, CourseModule, CourseModuleStats, CourseModuleView, CoursePlayerPanelPosition, CourseProgressStats, CourseTimelineRow, CourseTranscriptCue, CourseTranscriptRow, CredentialCardAction, CredentialCardMetaRow, CredentialCardProgress, CredentialCardTone, CustomIconName, DashboardGridGap, DashboardGridLayout, DatepickerSize, Direction, Disableable, DividerType, DropdownOption, DropdownSize, EditButtonVariant, ElevationLevel, EmptyStateButton, EmptyStateIconTheme, ErrorCategory, ErrorHandler, ErrorOptions, ErrorSeverity, EventHandler, ExpandableRowColumn, ExpandableRowPageEvent, ExpandableRowProgressConfig, ExtendedColorVariant, FieldItem, FieldStyle, FileUploadEvent, FileUploadState, FileUploadVariant, FilterColumnsActiveTab, FilterColumnsApplyEvent, FilterField, FilterFieldType, FilterState, FloatButtonAction, FloatButtonPosition, Focusable, FormControlBase, GridAlign, GridColumns, GridGap, GridItemSpan, GridPadding, GridVerticalAlign, HeaderActionButton, HeaderLanguageOption, HeaderSearchCategory, HeaderSearchType, HierarchicalTableAction, HierarchicalTableColumn, HierarchicalTablePageEvent, HubCardSize, IconColor, IconName, IconShape, IconSize, IconTagType, InformationBoxVariant, InputSize, InputType, LanguageDisplayMode, LanguageOption, LinkButtonType, Loadable, LoadingState, MarkedDate, MediaGroup, MediaItem, MediaSize, MediaType, MenuItem, MessageBubbleType, MessageDirection, MessageItemStatus, MetricsCardBadgeStatus, MetricsCardIconBg, MetricsCardOrientation, MetricsCardType, MetricsCardVariation, MiniIconAction, NonNullableProps, NoteGroup, NoteItem, NoteSidebarPosition, NoteSidebarState, Notification, NotificationConfig, NotificationPosition, NotificationStatusType, NotificationType, OptionalProps, Orientation, OverlayComponent, PageChangeEvent, PaginationSize, PaginationState, PaginationVariant, PaymentScheduleCardAction, PaymentScheduleCardMeta, PaymentScheduleCardPeriod, PaymentScheduleCardTone, PaymentSummaryRow, PdfCardVariant, PecbError, PecbTableColumn, PecbTableColumnComponent, PecbTableColumnType, PeriodPaymentModalPeriod, Position, ProfileBadge, ProfileGroupItem, ProfileGroupSize, ProfileIndicator, ProfileSize, ProfileType, ProgressArcSize, ProgressBarSize, ProgressCircleSize, ProgressType, QuestionTagDisplay, QuestionTagType, QuizType, RadioDisplayState, RadioLabelPosition, RadioVariant, RadiusScale, RatingStyle, RequestStatusIconType, RequireProps, ResultPageAction, ResultPageIcon, RibbonColor, RightModalSize, SearchMode, SelectableItem, ShadowHardSize, ShadowSize, ShadowSoftSize, ShadowType, SidebarMenuItem, SidebarSection, Size, Sizeable, SkeletonShape, SkeletonSize, SkeletonType, SlideViewerDay, SlideViewerDayContext, SlideViewerKeyAction, SlideViewerKeyMap, SlideViewerLabels, SlideViewerMoveEvent, SlideViewerPageEvent, SlideViewerSearchEvent, SlideViewerSidebarPosition, SlideViewerSlide, SlideViewerThumbnailContext, SlideViewerTool, SlideViewerToolEvent, SortState, SpacerSize, SpacingScale, StateVariant, StatisticsIconColor, StatusColor, StatusSize, StatusType, StatusVariant, StepItem, StepOrder, StepState, StepperDirection, StepperSize, StepperTailStyle, StepperType, TabItem, TabSize, TabStyle, TableAction, TableColumn, TableRowActionEvent, TableSelectionEvent, TableSize, TableSortEvent, TableStatusConfig, TableUserConfig, TableVariant, TagAction, TagSelectOption, TagStyle, Templatable, TestimonialData, TestimonialVariant, TextFormFieldType, ThemeConfig, ThemeMode, ThemeVariables, ToggleLabelPosition, ToggleSize, ToolbarButton, ToolbarTab, ToolbarVariant, TooltipPointerPosition, TooltipTheme, TourIndicatorType, TourPlacement, TourStep, TourType, TranscriptLineState, TreeNode, TypographyScaleEntry, TypographyStyleEntry, UploadedFile, Validatable, ValidationError, ValidationState, VerifyChecklistItem, VerifyItemStatus, VideoPlayerError, VideoPlayerLabels, VideoPlayerPreload, VideoPlayerSource, VideoPlayerTimeEvent, VideoPlayerTrack, VirtualTableColumn, VirtualTablePageEvent, VirtualTableProgressConfig };
|