@raqm/ui 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/LICENSE +21 -0
- package/NOTICE.md +28 -0
- package/README.md +125 -3
- package/combobox/README.md +17 -0
- package/fesm2022/raqm-ui-accordion.mjs +414 -0
- package/fesm2022/raqm-ui-accordion.mjs.map +1 -0
- package/fesm2022/raqm-ui-alert-dialog.mjs +457 -0
- package/fesm2022/raqm-ui-alert-dialog.mjs.map +1 -0
- package/fesm2022/raqm-ui-alert.mjs +195 -0
- package/fesm2022/raqm-ui-alert.mjs.map +1 -0
- package/fesm2022/raqm-ui-aspect-ratio.mjs +66 -0
- package/fesm2022/raqm-ui-aspect-ratio.mjs.map +1 -0
- package/fesm2022/raqm-ui-attachment.mjs +435 -0
- package/fesm2022/raqm-ui-attachment.mjs.map +1 -0
- package/fesm2022/raqm-ui-avatar.mjs +337 -0
- package/fesm2022/raqm-ui-avatar.mjs.map +1 -0
- package/fesm2022/raqm-ui-badge.mjs +68 -0
- package/fesm2022/raqm-ui-badge.mjs.map +1 -0
- package/fesm2022/raqm-ui-breadcrumb.mjs +309 -0
- package/fesm2022/raqm-ui-breadcrumb.mjs.map +1 -0
- package/fesm2022/raqm-ui-button-group.mjs +138 -0
- package/fesm2022/raqm-ui-button-group.mjs.map +1 -0
- package/fesm2022/raqm-ui-button.mjs +295 -0
- package/fesm2022/raqm-ui-button.mjs.map +1 -0
- package/fesm2022/raqm-ui-calendar.mjs +1394 -0
- package/fesm2022/raqm-ui-calendar.mjs.map +1 -0
- package/fesm2022/raqm-ui-card.mjs +331 -0
- package/fesm2022/raqm-ui-card.mjs.map +1 -0
- package/fesm2022/raqm-ui-carousel.mjs +410 -0
- package/fesm2022/raqm-ui-carousel.mjs.map +1 -0
- package/fesm2022/raqm-ui-checkbox.mjs +86 -0
- package/fesm2022/raqm-ui-checkbox.mjs.map +1 -0
- package/fesm2022/raqm-ui-collapsible.mjs +266 -0
- package/fesm2022/raqm-ui-collapsible.mjs.map +1 -0
- package/fesm2022/raqm-ui-combobox.mjs +1584 -0
- package/fesm2022/raqm-ui-combobox.mjs.map +1 -0
- package/fesm2022/raqm-ui-command.mjs +1210 -0
- package/fesm2022/raqm-ui-command.mjs.map +1 -0
- package/fesm2022/raqm-ui-context-menu.mjs +723 -0
- package/fesm2022/raqm-ui-context-menu.mjs.map +1 -0
- package/fesm2022/raqm-ui-dialog.mjs +1214 -0
- package/fesm2022/raqm-ui-dialog.mjs.map +1 -0
- package/fesm2022/raqm-ui-drawer.mjs +687 -0
- package/fesm2022/raqm-ui-drawer.mjs.map +1 -0
- package/fesm2022/raqm-ui-dropdown-menu.mjs +1168 -0
- package/fesm2022/raqm-ui-dropdown-menu.mjs.map +1 -0
- package/fesm2022/raqm-ui-empty.mjs +272 -0
- package/fesm2022/raqm-ui-empty.mjs.map +1 -0
- package/fesm2022/raqm-ui-field.mjs +517 -0
- package/fesm2022/raqm-ui-field.mjs.map +1 -0
- package/fesm2022/raqm-ui-hover-card.mjs +828 -0
- package/fesm2022/raqm-ui-hover-card.mjs.map +1 -0
- package/fesm2022/raqm-ui-input-group.mjs +270 -0
- package/fesm2022/raqm-ui-input-group.mjs.map +1 -0
- package/fesm2022/raqm-ui-input-otp.mjs +788 -0
- package/fesm2022/raqm-ui-input-otp.mjs.map +1 -0
- package/fesm2022/raqm-ui-input.mjs +73 -0
- package/fesm2022/raqm-ui-input.mjs.map +1 -0
- package/fesm2022/raqm-ui-item.mjs +495 -0
- package/fesm2022/raqm-ui-item.mjs.map +1 -0
- package/fesm2022/raqm-ui-kbd.mjs +80 -0
- package/fesm2022/raqm-ui-kbd.mjs.map +1 -0
- package/fesm2022/raqm-ui-label.mjs +44 -0
- package/fesm2022/raqm-ui-label.mjs.map +1 -0
- package/fesm2022/raqm-ui-menubar.mjs +536 -0
- package/fesm2022/raqm-ui-menubar.mjs.map +1 -0
- package/fesm2022/raqm-ui-native-select.mjs +131 -0
- package/fesm2022/raqm-ui-native-select.mjs.map +1 -0
- package/fesm2022/raqm-ui-navigation-menu.mjs +1399 -0
- package/fesm2022/raqm-ui-navigation-menu.mjs.map +1 -0
- package/fesm2022/raqm-ui-overlay-internal.mjs +185 -0
- package/fesm2022/raqm-ui-overlay-internal.mjs.map +1 -0
- package/fesm2022/raqm-ui-pagination.mjs +440 -0
- package/fesm2022/raqm-ui-pagination.mjs.map +1 -0
- package/fesm2022/raqm-ui-popover.mjs +1495 -0
- package/fesm2022/raqm-ui-popover.mjs.map +1 -0
- package/fesm2022/raqm-ui-progress.mjs +369 -0
- package/fesm2022/raqm-ui-progress.mjs.map +1 -0
- package/fesm2022/raqm-ui-questionnaire.mjs +1005 -0
- package/fesm2022/raqm-ui-questionnaire.mjs.map +1 -0
- package/fesm2022/raqm-ui-radio-group.mjs +151 -0
- package/fesm2022/raqm-ui-radio-group.mjs.map +1 -0
- package/fesm2022/raqm-ui-resizable.mjs +439 -0
- package/fesm2022/raqm-ui-resizable.mjs.map +1 -0
- package/fesm2022/raqm-ui-scroll-area.mjs +510 -0
- package/fesm2022/raqm-ui-scroll-area.mjs.map +1 -0
- package/fesm2022/raqm-ui-select.mjs +1073 -0
- package/fesm2022/raqm-ui-select.mjs.map +1 -0
- package/fesm2022/raqm-ui-separator.mjs +103 -0
- package/fesm2022/raqm-ui-separator.mjs.map +1 -0
- package/fesm2022/raqm-ui-sheet.mjs +411 -0
- package/fesm2022/raqm-ui-sheet.mjs.map +1 -0
- package/fesm2022/raqm-ui-sidebar.mjs +1784 -0
- package/fesm2022/raqm-ui-sidebar.mjs.map +1 -0
- package/fesm2022/raqm-ui-skeleton.mjs +50 -0
- package/fesm2022/raqm-ui-skeleton.mjs.map +1 -0
- package/fesm2022/raqm-ui-slider.mjs +609 -0
- package/fesm2022/raqm-ui-slider.mjs.map +1 -0
- package/fesm2022/raqm-ui-spinner.mjs +137 -0
- package/fesm2022/raqm-ui-spinner.mjs.map +1 -0
- package/fesm2022/raqm-ui-switch.mjs +109 -0
- package/fesm2022/raqm-ui-switch.mjs.map +1 -0
- package/fesm2022/raqm-ui-table.mjs +271 -0
- package/fesm2022/raqm-ui-table.mjs.map +1 -0
- package/fesm2022/raqm-ui-tabs.mjs +536 -0
- package/fesm2022/raqm-ui-tabs.mjs.map +1 -0
- package/fesm2022/raqm-ui-textarea.mjs +37 -0
- package/fesm2022/raqm-ui-textarea.mjs.map +1 -0
- package/fesm2022/raqm-ui-toast.mjs +918 -0
- package/fesm2022/raqm-ui-toast.mjs.map +1 -0
- package/fesm2022/raqm-ui-toggle-group.mjs +462 -0
- package/fesm2022/raqm-ui-toggle-group.mjs.map +1 -0
- package/fesm2022/raqm-ui-toggle.mjs +158 -0
- package/fesm2022/raqm-ui-toggle.mjs.map +1 -0
- package/fesm2022/raqm-ui-tooltip.mjs +1226 -0
- package/fesm2022/raqm-ui-tooltip.mjs.map +1 -0
- package/fesm2022/raqm-ui.mjs +50 -0
- package/input-otp/README.md +12 -0
- package/package.json +275 -3
- package/styles/theme.css +4322 -0
- package/types/raqm-ui-accordion.d.ts +124 -0
- package/types/raqm-ui-alert-dialog.d.ts +81 -0
- package/types/raqm-ui-alert.d.ts +29 -0
- package/types/raqm-ui-aspect-ratio.d.ts +13 -0
- package/types/raqm-ui-attachment.d.ts +72 -0
- package/types/raqm-ui-avatar.d.ts +67 -0
- package/types/raqm-ui-badge.d.ts +20 -0
- package/types/raqm-ui-breadcrumb.d.ts +35 -0
- package/types/raqm-ui-button-group.d.ts +27 -0
- package/types/raqm-ui-button.d.ts +80 -0
- package/types/raqm-ui-calendar.d.ts +359 -0
- package/types/raqm-ui-card.d.ts +34 -0
- package/types/raqm-ui-carousel.d.ts +81 -0
- package/types/raqm-ui-checkbox.d.ts +24 -0
- package/types/raqm-ui-collapsible.d.ts +72 -0
- package/types/raqm-ui-combobox.d.ts +405 -0
- package/types/raqm-ui-command.d.ts +256 -0
- package/types/raqm-ui-context-menu.d.ts +196 -0
- package/types/raqm-ui-dialog.d.ts +232 -0
- package/types/raqm-ui-drawer.d.ts +121 -0
- package/types/raqm-ui-dropdown-menu.d.ts +319 -0
- package/types/raqm-ui-empty.d.ts +35 -0
- package/types/raqm-ui-field.d.ts +88 -0
- package/types/raqm-ui-hover-card.d.ts +139 -0
- package/types/raqm-ui-input-group.d.ts +45 -0
- package/types/raqm-ui-input-otp.d.ts +197 -0
- package/types/raqm-ui-input.d.ts +16 -0
- package/types/raqm-ui-item.d.ts +71 -0
- package/types/raqm-ui-kbd.d.ts +12 -0
- package/types/raqm-ui-label.d.ts +6 -0
- package/types/raqm-ui-menubar.d.ts +159 -0
- package/types/raqm-ui-native-select.d.ts +23 -0
- package/types/raqm-ui-navigation-menu.d.ts +230 -0
- package/types/raqm-ui-overlay-internal.d.ts +5 -0
- package/types/raqm-ui-pagination.d.ts +84 -0
- package/types/raqm-ui-popover.d.ts +235 -0
- package/types/raqm-ui-progress.d.ts +79 -0
- package/types/raqm-ui-questionnaire.d.ts +217 -0
- package/types/raqm-ui-radio-group.d.ts +48 -0
- package/types/raqm-ui-resizable.d.ts +98 -0
- package/types/raqm-ui-scroll-area.d.ts +132 -0
- package/types/raqm-ui-select.d.ts +205 -0
- package/types/raqm-ui-separator.d.ts +21 -0
- package/types/raqm-ui-sheet.d.ts +79 -0
- package/types/raqm-ui-sidebar.d.ts +285 -0
- package/types/raqm-ui-skeleton.d.ts +6 -0
- package/types/raqm-ui-slider.d.ts +129 -0
- package/types/raqm-ui-spinner.d.ts +32 -0
- package/types/raqm-ui-switch.d.ts +32 -0
- package/types/raqm-ui-table.d.ts +36 -0
- package/types/raqm-ui-tabs.d.ts +154 -0
- package/types/raqm-ui-textarea.d.ts +6 -0
- package/types/raqm-ui-toast.d.ts +190 -0
- package/types/raqm-ui-toggle-group.d.ts +167 -0
- package/types/raqm-ui-toggle.d.ts +42 -0
- package/types/raqm-ui-tooltip.d.ts +207 -0
- package/types/raqm-ui.d.ts +50 -0
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import { InjectionToken, OnDestroy, OnInit, Signal, TemplateRef } from "@angular/core";
|
|
3
|
+
/** Stable reference to one registered top-level item: a trigger or a direct link. */
|
|
4
|
+
interface RaqmNavigationMenuTopLevelRef {
|
|
5
|
+
/** The native element the root anchors the overlay to and focuses. */
|
|
6
|
+
readonly element: HTMLElement;
|
|
7
|
+
readonly triggerValue: string | null;
|
|
8
|
+
readonly content: Signal<TemplateRef<unknown> | null>;
|
|
9
|
+
readonly disabled: boolean;
|
|
10
|
+
focus(): void;
|
|
11
|
+
}
|
|
12
|
+
/** The typed contract a navigation menu root publishes to its descendants. */
|
|
13
|
+
interface RaqmNavigationMenuContext {
|
|
14
|
+
readonly open: Signal<boolean>;
|
|
15
|
+
readonly activeValue: Signal<string | null>;
|
|
16
|
+
readonly panelId: Signal<string | null>;
|
|
17
|
+
isActive(value: string): boolean;
|
|
18
|
+
registerTopLevel(ref: RaqmNavigationMenuTopLevelRef): void;
|
|
19
|
+
unregisterTopLevel(ref: RaqmNavigationMenuTopLevelRef): void;
|
|
20
|
+
/** Records a panel link element for the open panel's logical Tab boundaries. */
|
|
21
|
+
registerPanelLink(element: HTMLElement): void;
|
|
22
|
+
unregisterPanelLink(element: HTMLElement): void;
|
|
23
|
+
/** Opens the disclosure for a trigger as a user action (may emit). */
|
|
24
|
+
openFromTrigger(ref: RaqmNavigationMenuTopLevelRef, focusContent: 'first' | 'last' | 'none'): void;
|
|
25
|
+
/** Toggles the disclosure for a trigger as a user action (may emit). */
|
|
26
|
+
toggleFromTrigger(ref: RaqmNavigationMenuTopLevelRef): void;
|
|
27
|
+
/** Closes the open disclosure as a user action (Escape/link/outside). */
|
|
28
|
+
closeFromUser(): void;
|
|
29
|
+
/** Delays a pointer-open for a hovered trigger (the single shared open timer). */
|
|
30
|
+
scheduleHoverOpen(ref: RaqmNavigationMenuTopLevelRef): void;
|
|
31
|
+
cancelHoverOpen(): void;
|
|
32
|
+
scheduleHoverClose(): void;
|
|
33
|
+
/** Whether a pointer destination belongs to a detached owned overlay. */
|
|
34
|
+
isInsideDetachedOverlay(node: Node | null): boolean;
|
|
35
|
+
cancelHoverClose(): void;
|
|
36
|
+
moveFocusAcrossTopLevel(event: KeyboardEvent, ref: RaqmNavigationMenuTopLevelRef): void;
|
|
37
|
+
handleTopLevelTab(event: KeyboardEvent, ref: RaqmNavigationMenuTopLevelRef): void;
|
|
38
|
+
handlePanelTab(event: KeyboardEvent, element: HTMLElement): void;
|
|
39
|
+
focusContent(focus: 'first' | 'last'): void;
|
|
40
|
+
}
|
|
41
|
+
/** Injection token for the parent navigation menu root; injected optionally. */
|
|
42
|
+
declare const RAQM_NAVIGATION_MENU: InjectionToken<RaqmNavigationMenuContext>;
|
|
43
|
+
/** A nav host coordinating one active disclosure trigger and its shared popup panel. */
|
|
44
|
+
export declare class RaqmNavigationMenuComponent implements RaqmNavigationMenuContext, OnInit, OnDestroy {
|
|
45
|
+
private readonly host;
|
|
46
|
+
private readonly overlay;
|
|
47
|
+
private readonly viewContainerRef;
|
|
48
|
+
private readonly injector;
|
|
49
|
+
private readonly directionality;
|
|
50
|
+
private readonly panelTemplate;
|
|
51
|
+
readonly value: import("@angular/core").ModelSignal<string | null>;
|
|
52
|
+
/** Panel alignment against the trigger's logical edge. */
|
|
53
|
+
readonly align: import("@angular/core").InputSignal<"start" | "end">;
|
|
54
|
+
/** Explicit direction for the panel; falls back to the nearest one. */
|
|
55
|
+
readonly dir: import("@angular/core").InputSignal<"ltr" | "rtl" | undefined>;
|
|
56
|
+
private readonly state;
|
|
57
|
+
private readonly items;
|
|
58
|
+
/** Whether any disclosure is open. */
|
|
59
|
+
readonly open: import("@angular/core").Signal<boolean>;
|
|
60
|
+
/** The active trigger value, or `null`. */
|
|
61
|
+
readonly activeValue: import("@angular/core").Signal<string | null>;
|
|
62
|
+
/** The id of the live panel element (the `aria-controls` target). */
|
|
63
|
+
readonly panelId: import("@angular/core").WritableSignal<string | null>;
|
|
64
|
+
readonly overlayDir: import("@angular/core").WritableSignal<"ltr" | "rtl">;
|
|
65
|
+
readonly currentTemplate: import("@angular/core").WritableSignal<TemplateRef<unknown> | null>;
|
|
66
|
+
readonly previousTemplate: import("@angular/core").WritableSignal<TemplateRef<unknown> | null>;
|
|
67
|
+
readonly activationDirection: import("@angular/core").WritableSignal<"left" | "right" | null>;
|
|
68
|
+
readonly side: import("@angular/core").WritableSignal<"bottom" | "top">;
|
|
69
|
+
readonly closing: import("@angular/core").WritableSignal<boolean>;
|
|
70
|
+
private readonly position;
|
|
71
|
+
private readonly pane;
|
|
72
|
+
private readonly dismissal;
|
|
73
|
+
private readonly keyboard;
|
|
74
|
+
private readonly layer;
|
|
75
|
+
readonly resolvedDir: import("@angular/core").Signal<"ltr" | "rtl">;
|
|
76
|
+
constructor();
|
|
77
|
+
ngOnInit(): void;
|
|
78
|
+
/** Destroys the key manager and releases every overlay/timer/observer. */
|
|
79
|
+
ngOnDestroy(): void;
|
|
80
|
+
/** Whether the given trigger value is the root's active disclosure. */
|
|
81
|
+
isActive(value: string): boolean;
|
|
82
|
+
/** Registers a top-level item, reporting duplicate/empty values in development. */
|
|
83
|
+
registerTopLevel(ref: RaqmNavigationMenuTopLevelRef): void;
|
|
84
|
+
/** Unregisters a top-level item; never changes the value. */
|
|
85
|
+
unregisterTopLevel(ref: RaqmNavigationMenuTopLevelRef): void;
|
|
86
|
+
/** Registers a panel link for the open panel's logical Tab boundaries. */
|
|
87
|
+
registerPanelLink(element: HTMLElement): void;
|
|
88
|
+
/** Removes a panel link registered for Tab-boundary handling. */
|
|
89
|
+
unregisterPanelLink(element: HTMLElement): void;
|
|
90
|
+
openFromTrigger(ref: RaqmNavigationMenuTopLevelRef, focusContent: 'first' | 'last' | 'none'): void;
|
|
91
|
+
/** Toggles a trigger's disclosure as a user action. */
|
|
92
|
+
toggleFromTrigger(ref: RaqmNavigationMenuTopLevelRef): void;
|
|
93
|
+
/** Closes the open disclosure as a user action (Escape/link/outside). */
|
|
94
|
+
closeFromUser(): void;
|
|
95
|
+
/** Delays a pointer-open for a hovered trigger (the single shared open timer). */
|
|
96
|
+
scheduleHoverOpen(ref: RaqmNavigationMenuTopLevelRef): void;
|
|
97
|
+
cancelHoverOpen(): void;
|
|
98
|
+
scheduleHoverClose(): void;
|
|
99
|
+
cancelHoverClose(): void;
|
|
100
|
+
moveFocusAcrossTopLevel(event: KeyboardEvent, ref: RaqmNavigationMenuTopLevelRef): void;
|
|
101
|
+
handleTopLevelTab(event: KeyboardEvent, ref: RaqmNavigationMenuTopLevelRef): void;
|
|
102
|
+
handlePanelTab(event: KeyboardEvent, element: HTMLElement): void;
|
|
103
|
+
/** Focuses the first or last link inside the open panel. */
|
|
104
|
+
focusContent(focus: 'first' | 'last'): void;
|
|
105
|
+
/** Records the focused top-level item as the key manager's active item. */
|
|
106
|
+
protected onFocusIn(event: FocusEvent): void;
|
|
107
|
+
/** Closes the panel only when focus leaves both the root and its overlay. */
|
|
108
|
+
protected onFocusOut(event: FocusEvent): void;
|
|
109
|
+
/** Panel-level focus-out; same rule as the host. */
|
|
110
|
+
protected onPanelFocusOut(event: FocusEvent): void;
|
|
111
|
+
/** Cancels a pending pointer-close when the pointer enters the panel. */
|
|
112
|
+
protected onPanelPointerEnter(): void;
|
|
113
|
+
/** Schedules a pointer-close when the pointer leaves the panel. */
|
|
114
|
+
protected onPanelPointerLeave(event: PointerEvent): void;
|
|
115
|
+
/** Detached destinations must not arm the trigger's hover-close timer. */
|
|
116
|
+
isInsideDetachedOverlay(node: Node | null): boolean;
|
|
117
|
+
private setUserValue;
|
|
118
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmNavigationMenuComponent, never>;
|
|
119
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RaqmNavigationMenuComponent, "nav[raqm-navigation-menu]", never, {
|
|
120
|
+
"value": {
|
|
121
|
+
"alias": "value";
|
|
122
|
+
"required": false;
|
|
123
|
+
"isSignal": true;
|
|
124
|
+
};
|
|
125
|
+
"align": {
|
|
126
|
+
"alias": "align";
|
|
127
|
+
"required": false;
|
|
128
|
+
"isSignal": true;
|
|
129
|
+
};
|
|
130
|
+
"dir": {
|
|
131
|
+
"alias": "dir";
|
|
132
|
+
"required": false;
|
|
133
|
+
"isSignal": true;
|
|
134
|
+
};
|
|
135
|
+
}, {
|
|
136
|
+
"value": "valueChange";
|
|
137
|
+
}, never, ["*"], true, never>;
|
|
138
|
+
}
|
|
139
|
+
/** The ul holding the navigation menu items, keeping native list semantics. */
|
|
140
|
+
export declare class RaqmNavigationMenuListDirective {
|
|
141
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmNavigationMenuListDirective, never>;
|
|
142
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmNavigationMenuListDirective, "ul[raqm-navigation-menu-list]", never, {}, {}, never, never, true, never>;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Navigation menu trigger: a native `<button>` opening one disclosure panel.
|
|
146
|
+
*
|
|
147
|
+
* @remarks
|
|
148
|
+
* Panel content comes from the nested `ng-template[raqm-navigation-menu-content]`
|
|
149
|
+
* (read by a content query), not a `TemplateRef` input. Sets the real
|
|
150
|
+
* `aria-expanded`/`aria-controls` disclosure state; no `menubar`/`menu` role and no
|
|
151
|
+
* `aria-haspopup`. Arrow Down/Enter/Space open at the first link, Arrow Up at the
|
|
152
|
+
* last, Left/Right move across items, Escape restores focus. Registration happens in
|
|
153
|
+
* `ngOnInit`, after the required `value` is bound.
|
|
154
|
+
*/
|
|
155
|
+
export declare class RaqmNavigationMenuTriggerDirective implements OnInit {
|
|
156
|
+
private readonly host;
|
|
157
|
+
private readonly menu;
|
|
158
|
+
private readonly destroyRef;
|
|
159
|
+
readonly value: import("@angular/core").InputSignal<string>;
|
|
160
|
+
private readonly contentDirective;
|
|
161
|
+
private readonly contentTemplate;
|
|
162
|
+
/** A disabled trigger never opens and is skipped by focus. */
|
|
163
|
+
readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
164
|
+
readonly active: import("@angular/core").Signal<boolean>;
|
|
165
|
+
readonly panelId: import("@angular/core").Signal<string | null>;
|
|
166
|
+
private readonly ref;
|
|
167
|
+
constructor();
|
|
168
|
+
ngOnInit(): void;
|
|
169
|
+
protected onClick(): void;
|
|
170
|
+
/** Routes every trigger keyboard interaction to the root's policy. */
|
|
171
|
+
protected onKeydown(event: KeyboardEvent): void;
|
|
172
|
+
/** Schedules a delayed pointer-open; touch pointers never hover-open. */
|
|
173
|
+
protected onPointerEnter(event: PointerEvent): void;
|
|
174
|
+
/** Schedules a delayed pointer-close; the panel's own enter cancels it. */
|
|
175
|
+
protected onPointerLeave(event: PointerEvent): void;
|
|
176
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmNavigationMenuTriggerDirective, never>;
|
|
177
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmNavigationMenuTriggerDirective, "button[raqm-navigation-menu-trigger]", never, {
|
|
178
|
+
"value": {
|
|
179
|
+
"alias": "value";
|
|
180
|
+
"required": true;
|
|
181
|
+
"isSignal": true;
|
|
182
|
+
};
|
|
183
|
+
"disabled": {
|
|
184
|
+
"alias": "disabled";
|
|
185
|
+
"required": false;
|
|
186
|
+
"isSignal": true;
|
|
187
|
+
};
|
|
188
|
+
}, {}, ["contentDirective"], never, true, never>;
|
|
189
|
+
}
|
|
190
|
+
/** The ng-template holding one trigger panel content; supplies content identity only. */
|
|
191
|
+
export declare class RaqmNavigationMenuContentDirective {
|
|
192
|
+
readonly content: TemplateRef<unknown>;
|
|
193
|
+
private readonly menu;
|
|
194
|
+
constructor();
|
|
195
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmNavigationMenuContentDirective, never>;
|
|
196
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmNavigationMenuContentDirective, "ng-template[raqm-navigation-menu-content]", ["raqmNavigationMenuContent"], {}, {}, never, never, true, never>;
|
|
197
|
+
}
|
|
198
|
+
/** A native link; only an ordinary unmodified primary activation closes the menu. */
|
|
199
|
+
export declare class RaqmNavigationMenuLinkDirective implements OnInit {
|
|
200
|
+
private readonly host;
|
|
201
|
+
private readonly menu;
|
|
202
|
+
private readonly destroyRef;
|
|
203
|
+
readonly active: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
204
|
+
constructor();
|
|
205
|
+
ngOnInit(): void;
|
|
206
|
+
protected onClick(event: MouseEvent): void;
|
|
207
|
+
protected onKeydown(event: KeyboardEvent): void;
|
|
208
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmNavigationMenuLinkDirective, never>;
|
|
209
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmNavigationMenuLinkDirective, "a[raqm-navigation-menu-link]", never, {
|
|
210
|
+
"active": {
|
|
211
|
+
"alias": "active";
|
|
212
|
+
"required": false;
|
|
213
|
+
"isSignal": true;
|
|
214
|
+
};
|
|
215
|
+
}, {}, never, never, true, never>;
|
|
216
|
+
}
|
|
217
|
+
/** A native top-level link styled like a trigger, with no popup. */
|
|
218
|
+
export declare class RaqmNavigationMenuTopLinkDirective implements OnInit {
|
|
219
|
+
private readonly host;
|
|
220
|
+
private readonly menu;
|
|
221
|
+
private readonly destroyRef;
|
|
222
|
+
private readonly ref;
|
|
223
|
+
constructor();
|
|
224
|
+
ngOnInit(): void;
|
|
225
|
+
protected onKeydown(event: KeyboardEvent): void;
|
|
226
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmNavigationMenuTopLinkDirective, never>;
|
|
227
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmNavigationMenuTopLinkDirective, "a[raqm-navigation-menu-top-link]", never, {}, {}, never, never, true, never>;
|
|
228
|
+
}
|
|
229
|
+
export declare const RaqmNavigationMenu: readonly [typeof RaqmNavigationMenuComponent, typeof RaqmNavigationMenuListDirective, typeof RaqmNavigationMenuTriggerDirective, typeof RaqmNavigationMenuContentDirective, typeof RaqmNavigationMenuLinkDirective, typeof RaqmNavigationMenuTopLinkDirective];
|
|
230
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { OverlayRef } from "@angular/cdk/overlay";
|
|
2
|
+
/** @internal Register an attached pane until its overlay detaches. */
|
|
3
|
+
export declare function registerOverlayOwnership(origin: HTMLElement, ref: OverlayRef, includeBackdrop?: boolean): () => void;
|
|
4
|
+
/** @internal Includes transitively owned panes whose origins remain connected. */
|
|
5
|
+
export declare function containsOwnedOverlay(root: HTMLElement, target: Node | null): boolean;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
/**
|
|
3
|
+
* `<nav>` landmark wrapping one page trail; the application supplies the name and current-page state.
|
|
4
|
+
*/
|
|
5
|
+
export declare class RaqmPaginationComponent {
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmPaginationComponent, never>;
|
|
7
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RaqmPaginationComponent, "nav[raqm-pagination]", never, {}, {}, never, ["*"], true, never>;
|
|
8
|
+
}
|
|
9
|
+
/** `<ul>` trail; the library owns the list chrome so consumers need not reset it. */
|
|
10
|
+
export declare class RaqmPaginationContentComponent {
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmPaginationContentComponent, never>;
|
|
12
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RaqmPaginationContentComponent, "ul[raqm-pagination-content]", never, {}, {}, never, ["*"], true, never>;
|
|
13
|
+
}
|
|
14
|
+
/** `<li>` trail step; the projected link, previous, next or ellipsis is application-owned. */
|
|
15
|
+
export declare class RaqmPaginationItemComponent {
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmPaginationItemComponent, never>;
|
|
17
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RaqmPaginationItemComponent, "li[raqm-pagination-item]", never, {}, {}, never, ["*"], true, never>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Real anchor reusing the Button classes; `active` selects the outline appearance and `aria-current="page"`.
|
|
21
|
+
* `labelled` selects the wider size; the default is the icon size.
|
|
22
|
+
*/
|
|
23
|
+
export declare class RaqmPaginationLinkComponent {
|
|
24
|
+
readonly active: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
25
|
+
readonly labelled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmPaginationLinkComponent, never>;
|
|
27
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RaqmPaginationLinkComponent, "a[raqm-pagination-link]", never, {
|
|
28
|
+
"active": {
|
|
29
|
+
"alias": "active";
|
|
30
|
+
"required": false;
|
|
31
|
+
"isSignal": true;
|
|
32
|
+
};
|
|
33
|
+
"labelled": {
|
|
34
|
+
"alias": "labelled";
|
|
35
|
+
"required": false;
|
|
36
|
+
"isSignal": true;
|
|
37
|
+
};
|
|
38
|
+
}, {}, never, ["*"], true, never>;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Anchor that steps back; the chevron carries `start` and the reduced padding wins by stylesheet order.
|
|
42
|
+
* `label` overrides `aria-label` so the control stays named while the text is hidden; the chevron mirrors in RTL.
|
|
43
|
+
*/
|
|
44
|
+
export declare class RaqmPaginationPreviousComponent {
|
|
45
|
+
readonly label: import("@angular/core").InputSignal<string | null>;
|
|
46
|
+
readonly text: import("@angular/core").InputSignal<string>;
|
|
47
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmPaginationPreviousComponent, never>;
|
|
48
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RaqmPaginationPreviousComponent, "a[raqm-pagination-previous]", never, {
|
|
49
|
+
"label": {
|
|
50
|
+
"alias": "aria-label";
|
|
51
|
+
"required": false;
|
|
52
|
+
"isSignal": true;
|
|
53
|
+
};
|
|
54
|
+
"text": {
|
|
55
|
+
"alias": "text";
|
|
56
|
+
"required": true;
|
|
57
|
+
"isSignal": true;
|
|
58
|
+
};
|
|
59
|
+
}, {}, never, never, true, never>;
|
|
60
|
+
}
|
|
61
|
+
/** Mirrors Previous with an `end` chevron. */
|
|
62
|
+
export declare class RaqmPaginationNextComponent {
|
|
63
|
+
readonly label: import("@angular/core").InputSignal<string | null>;
|
|
64
|
+
readonly text: import("@angular/core").InputSignal<string>;
|
|
65
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmPaginationNextComponent, never>;
|
|
66
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RaqmPaginationNextComponent, "a[raqm-pagination-next]", never, {
|
|
67
|
+
"label": {
|
|
68
|
+
"alias": "aria-label";
|
|
69
|
+
"required": false;
|
|
70
|
+
"isSignal": true;
|
|
71
|
+
};
|
|
72
|
+
"text": {
|
|
73
|
+
"alias": "text";
|
|
74
|
+
"required": true;
|
|
75
|
+
"isSignal": true;
|
|
76
|
+
};
|
|
77
|
+
}, {}, never, never, true, never>;
|
|
78
|
+
}
|
|
79
|
+
/** Decorative `aria-hidden` indicator with no tab stop or state. */
|
|
80
|
+
export declare class RaqmPaginationEllipsisComponent {
|
|
81
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmPaginationEllipsisComponent, never>;
|
|
82
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RaqmPaginationEllipsisComponent, "span[raqm-pagination-ellipsis]", never, {}, {}, never, never, true, never>;
|
|
83
|
+
}
|
|
84
|
+
export declare const RaqmPagination: readonly [typeof RaqmPaginationComponent, typeof RaqmPaginationContentComponent, typeof RaqmPaginationItemComponent, typeof RaqmPaginationLinkComponent, typeof RaqmPaginationPreviousComponent, typeof RaqmPaginationNextComponent, typeof RaqmPaginationEllipsisComponent];
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { Directionality } from "@angular/cdk/bidi";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import { InjectionToken, OnDestroy, OnInit, Signal, TemplateRef } from "@angular/core";
|
|
4
|
+
/** Side values, plus the two direction-resolved logical sides. */
|
|
5
|
+
type RaqmPopoverSide = 'top' | 'bottom' | 'left' | 'right' | 'inline-start' | 'inline-end';
|
|
6
|
+
type RaqmPopoverAlign = 'start' | 'center' | 'end';
|
|
7
|
+
type RaqmPopoverPhysicalSide = 'top' | 'bottom' | 'left' | 'right';
|
|
8
|
+
declare const DEFAULT_SIDE: RaqmPopoverSide;
|
|
9
|
+
declare const DEFAULT_ALIGN: RaqmPopoverAlign;
|
|
10
|
+
declare const DEFAULT_SIDE_OFFSET = 4;
|
|
11
|
+
declare const DEFAULT_ALIGN_OFFSET = 0;
|
|
12
|
+
declare const DEFAULT_WIDTH = "18rem";
|
|
13
|
+
declare const VIEWPORT_MARGIN = 5;
|
|
14
|
+
declare const EXIT_ANIMATION_MS = 100;
|
|
15
|
+
declare const PANE_CLASS = "raqm-popover-overlay-pane";
|
|
16
|
+
declare const FOCUSABLE_SELECTOR = "a[href], button, input, select, textarea, [tabindex], [contenteditable=\"true\"]";
|
|
17
|
+
interface PopoverBoxSize {
|
|
18
|
+
width: number;
|
|
19
|
+
height: number;
|
|
20
|
+
}
|
|
21
|
+
declare function sameBoxSize(a: PopoverBoxSize | undefined, b: PopoverBoxSize | undefined): boolean;
|
|
22
|
+
declare function prefersReducedMotion(): boolean;
|
|
23
|
+
declare function toSide(value: unknown): RaqmPopoverSide;
|
|
24
|
+
declare function toAlign(value: unknown): RaqmPopoverAlign;
|
|
25
|
+
declare function toDir(value: unknown): 'ltr' | 'rtl' | undefined;
|
|
26
|
+
declare function toOffset(fallback: number): (value: unknown) => number;
|
|
27
|
+
declare function resolvePopoverDirection(dir: 'ltr' | 'rtl' | undefined, element: HTMLElement, directionality: Directionality | null): 'ltr' | 'rtl';
|
|
28
|
+
interface RaqmPopoverTriggerRef {
|
|
29
|
+
/** The native `<button>` the root anchors the overlay to and restores focus to. */
|
|
30
|
+
readonly element: HTMLButtonElement;
|
|
31
|
+
/** Live native disabled state, read by the root's open policy at event time. */
|
|
32
|
+
readonly disabled: boolean;
|
|
33
|
+
/** Focuses the trigger; used to restore focus on Escape. */
|
|
34
|
+
focus(): void;
|
|
35
|
+
}
|
|
36
|
+
interface RaqmPopoverContext {
|
|
37
|
+
/** Whether the popup is currently open (an enabled `open` model). */
|
|
38
|
+
readonly open: Signal<boolean>;
|
|
39
|
+
/** The id of the live popup element (the `aria-controls` target), or `null`. */
|
|
40
|
+
readonly panelId: Signal<string | null>;
|
|
41
|
+
/** Registers the single trigger; called once per root. */
|
|
42
|
+
registerTrigger(ref: RaqmPopoverTriggerRef): void;
|
|
43
|
+
/** Unregisters the trigger on destroy; never changes open state. */
|
|
44
|
+
unregisterTrigger(ref: RaqmPopoverTriggerRef): void;
|
|
45
|
+
/** Registers the single content template; called once per root. */
|
|
46
|
+
registerContent(template: TemplateRef<unknown>): void;
|
|
47
|
+
/** Unregisters the content template on destroy. */
|
|
48
|
+
unregisterContent(template: TemplateRef<unknown>): void;
|
|
49
|
+
/** Registers a popped title element so the root can point `aria-labelledby` at it. */
|
|
50
|
+
registerTitle(element: HTMLElement): void;
|
|
51
|
+
/** Removes a popped title element on destroy. */
|
|
52
|
+
unregisterTitle(element: HTMLElement): void;
|
|
53
|
+
/** Registers a popped description element so the root can point `aria-describedby` at it. */
|
|
54
|
+
registerDescription(element: HTMLElement): void;
|
|
55
|
+
/** Removes a popped description element on destroy. */
|
|
56
|
+
unregisterDescription(element: HTMLElement): void;
|
|
57
|
+
/** Toggles the popup from a trigger activation (never opens a disabled root). */
|
|
58
|
+
toggleFromTrigger(ref: RaqmPopoverTriggerRef): void;
|
|
59
|
+
/** Closes the popup as a user action (outside press / Escape / trigger toggle). */
|
|
60
|
+
closeFromUser(): void;
|
|
61
|
+
/** Moves focus to the first focusable control inside the open popup, else the popup itself. */
|
|
62
|
+
focusFirstInPanel(): void;
|
|
63
|
+
/** Routes Tab on the trigger into the open popup's first control. */
|
|
64
|
+
onTriggerTab(event: KeyboardEvent): void;
|
|
65
|
+
}
|
|
66
|
+
declare const RAQM_POPOVER: InjectionToken<RaqmPopoverContext>;
|
|
67
|
+
export declare class RaqmPopoverComponent implements RaqmPopoverContext, OnDestroy {
|
|
68
|
+
private readonly host;
|
|
69
|
+
private readonly overlay;
|
|
70
|
+
private readonly viewContainerRef;
|
|
71
|
+
private readonly injector;
|
|
72
|
+
private readonly directionality;
|
|
73
|
+
private readonly viewportRuler;
|
|
74
|
+
private readonly scrollDispatcher;
|
|
75
|
+
private readonly checker;
|
|
76
|
+
private readonly panelTemplate;
|
|
77
|
+
readonly openValue: import("@angular/core").ModelSignal<boolean>;
|
|
78
|
+
readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
79
|
+
/** The preferred side of the trigger; logical sides resolve against `dir`. */
|
|
80
|
+
readonly side: import("@angular/core").InputSignalWithTransform<RaqmPopoverSide, unknown>;
|
|
81
|
+
readonly align: import("@angular/core").InputSignalWithTransform<RaqmPopoverAlign, unknown>;
|
|
82
|
+
readonly sideOffset: import("@angular/core").InputSignalWithTransform<number, unknown>;
|
|
83
|
+
readonly alignOffset: import("@angular/core").InputSignalWithTransform<number, unknown>;
|
|
84
|
+
readonly dir: import("@angular/core").InputSignalWithTransform<"ltr" | "rtl" | undefined, unknown>;
|
|
85
|
+
readonly width: import("@angular/core").InputSignal<string>;
|
|
86
|
+
readonly panelClass: import("@angular/core").InputSignal<string | undefined>;
|
|
87
|
+
/** An explicit accessible name used when no title slot is registered. */
|
|
88
|
+
readonly label: import("@angular/core").InputSignal<string | undefined>;
|
|
89
|
+
private readonly state;
|
|
90
|
+
private readonly registration;
|
|
91
|
+
private readonly canOpen;
|
|
92
|
+
/** Open AND enabled AND actually attached; the trigger's `aria-expanded` source. */
|
|
93
|
+
readonly open: import("@angular/core").Signal<boolean>;
|
|
94
|
+
readonly panelId: import("@angular/core").WritableSignal<string | null>;
|
|
95
|
+
readonly resolvedSide: import("@angular/core").WritableSignal<RaqmPopoverPhysicalSide>;
|
|
96
|
+
readonly transformOrigin: import("@angular/core").WritableSignal<string>;
|
|
97
|
+
readonly closing: import("@angular/core").WritableSignal<boolean>;
|
|
98
|
+
protected readonly panelDir: import("@angular/core").WritableSignal<"ltr" | "rtl">;
|
|
99
|
+
protected readonly contentTemplate: import("@angular/core").WritableSignal<TemplateRef<unknown> | null>;
|
|
100
|
+
private readonly sizing;
|
|
101
|
+
private readonly position;
|
|
102
|
+
private readonly layer;
|
|
103
|
+
private readonly keyboard;
|
|
104
|
+
private readonly dismissal;
|
|
105
|
+
constructor();
|
|
106
|
+
ngOnDestroy(): void;
|
|
107
|
+
registerTrigger(ref: RaqmPopoverTriggerRef): void;
|
|
108
|
+
unregisterTrigger(ref: RaqmPopoverTriggerRef): void;
|
|
109
|
+
registerContent(template: TemplateRef<unknown>): void;
|
|
110
|
+
unregisterContent(template: TemplateRef<unknown>): void;
|
|
111
|
+
registerTitle(element: HTMLElement): void;
|
|
112
|
+
unregisterTitle(element: HTMLElement): void;
|
|
113
|
+
registerDescription(element: HTMLElement): void;
|
|
114
|
+
unregisterDescription(element: HTMLElement): void;
|
|
115
|
+
toggleFromTrigger(ref: RaqmPopoverTriggerRef): void;
|
|
116
|
+
closeFromUser(): void;
|
|
117
|
+
/** Dismisses on application navigation; clears `open` even when disabled. */
|
|
118
|
+
close(): void;
|
|
119
|
+
focusFirstInPanel(): void;
|
|
120
|
+
onTriggerTab(event: KeyboardEvent): void;
|
|
121
|
+
protected onFocusOut(event: FocusEvent): void;
|
|
122
|
+
protected onPanelFocusOut(event: FocusEvent): void;
|
|
123
|
+
protected onPanelKeydown(event: KeyboardEvent): void;
|
|
124
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmPopoverComponent, never>;
|
|
125
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RaqmPopoverComponent, "raqm-popover", ["raqmPopover"], {
|
|
126
|
+
"openValue": {
|
|
127
|
+
"alias": "open";
|
|
128
|
+
"required": false;
|
|
129
|
+
"isSignal": true;
|
|
130
|
+
};
|
|
131
|
+
"disabled": {
|
|
132
|
+
"alias": "disabled";
|
|
133
|
+
"required": false;
|
|
134
|
+
"isSignal": true;
|
|
135
|
+
};
|
|
136
|
+
"side": {
|
|
137
|
+
"alias": "side";
|
|
138
|
+
"required": false;
|
|
139
|
+
"isSignal": true;
|
|
140
|
+
};
|
|
141
|
+
"align": {
|
|
142
|
+
"alias": "align";
|
|
143
|
+
"required": false;
|
|
144
|
+
"isSignal": true;
|
|
145
|
+
};
|
|
146
|
+
"sideOffset": {
|
|
147
|
+
"alias": "sideOffset";
|
|
148
|
+
"required": false;
|
|
149
|
+
"isSignal": true;
|
|
150
|
+
};
|
|
151
|
+
"alignOffset": {
|
|
152
|
+
"alias": "alignOffset";
|
|
153
|
+
"required": false;
|
|
154
|
+
"isSignal": true;
|
|
155
|
+
};
|
|
156
|
+
"dir": {
|
|
157
|
+
"alias": "dir";
|
|
158
|
+
"required": false;
|
|
159
|
+
"isSignal": true;
|
|
160
|
+
};
|
|
161
|
+
"width": {
|
|
162
|
+
"alias": "width";
|
|
163
|
+
"required": false;
|
|
164
|
+
"isSignal": true;
|
|
165
|
+
};
|
|
166
|
+
"panelClass": {
|
|
167
|
+
"alias": "panelClass";
|
|
168
|
+
"required": false;
|
|
169
|
+
"isSignal": true;
|
|
170
|
+
};
|
|
171
|
+
"label": {
|
|
172
|
+
"alias": "label";
|
|
173
|
+
"required": false;
|
|
174
|
+
"isSignal": true;
|
|
175
|
+
};
|
|
176
|
+
}, {
|
|
177
|
+
"openValue": "openChange";
|
|
178
|
+
}, never, ["*"], true, never>;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Popover trigger: the one native `<button>` that opens the popup.
|
|
182
|
+
*
|
|
183
|
+
* @remarks
|
|
184
|
+
* No `aria-haspopup`, because the nonmodal surface has no dialog role. Escape closes and
|
|
185
|
+
* leaves focus on the trigger; Tab enters the popup's first control.
|
|
186
|
+
*/
|
|
187
|
+
export declare class RaqmPopoverTriggerDirective implements OnInit {
|
|
188
|
+
private readonly host;
|
|
189
|
+
private readonly popover;
|
|
190
|
+
private readonly destroyRef;
|
|
191
|
+
readonly open: import("@angular/core").Signal<boolean>;
|
|
192
|
+
readonly panelId: import("@angular/core").Signal<string | null>;
|
|
193
|
+
private readonly ref;
|
|
194
|
+
constructor();
|
|
195
|
+
ngOnInit(): void;
|
|
196
|
+
/** Toggles on a native click (pointer, Enter or Space); disabled is a no-op. */
|
|
197
|
+
protected onClick(): void;
|
|
198
|
+
/** Routes Escape to close and Tab into the open popup's logical order. */
|
|
199
|
+
protected onKeydown(event: KeyboardEvent): void;
|
|
200
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmPopoverTriggerDirective, never>;
|
|
201
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmPopoverTriggerDirective, "button[raqm-popover-trigger]", never, {}, {}, never, never, true, never>;
|
|
202
|
+
}
|
|
203
|
+
export declare class RaqmPopoverContentDirective implements OnInit {
|
|
204
|
+
private readonly template;
|
|
205
|
+
private readonly popover;
|
|
206
|
+
private readonly destroyRef;
|
|
207
|
+
constructor();
|
|
208
|
+
ngOnInit(): void;
|
|
209
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmPopoverContentDirective, never>;
|
|
210
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmPopoverContentDirective, "ng-template[raqm-popover-content]", ["raqmPopoverContent"], {}, {}, never, never, true, never>;
|
|
211
|
+
}
|
|
212
|
+
export declare class RaqmPopoverHeaderDirective {
|
|
213
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmPopoverHeaderDirective, never>;
|
|
214
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmPopoverHeaderDirective, "[raqm-popover-header]", never, {}, {}, never, never, true, never>;
|
|
215
|
+
}
|
|
216
|
+
export declare class RaqmPopoverTitleDirective implements OnInit {
|
|
217
|
+
private readonly host;
|
|
218
|
+
private readonly popover;
|
|
219
|
+
private readonly destroyRef;
|
|
220
|
+
constructor();
|
|
221
|
+
ngOnInit(): void;
|
|
222
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmPopoverTitleDirective, never>;
|
|
223
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmPopoverTitleDirective, "[raqm-popover-title]", never, {}, {}, never, never, true, never>;
|
|
224
|
+
}
|
|
225
|
+
export declare class RaqmPopoverDescriptionDirective implements OnInit {
|
|
226
|
+
private readonly host;
|
|
227
|
+
private readonly popover;
|
|
228
|
+
private readonly destroyRef;
|
|
229
|
+
constructor();
|
|
230
|
+
ngOnInit(): void;
|
|
231
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmPopoverDescriptionDirective, never>;
|
|
232
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmPopoverDescriptionDirective, "[raqm-popover-description]", never, {}, {}, never, never, true, never>;
|
|
233
|
+
}
|
|
234
|
+
export declare const RaqmPopover: readonly [typeof RaqmPopoverComponent, typeof RaqmPopoverTriggerDirective, typeof RaqmPopoverContentDirective, typeof RaqmPopoverHeaderDirective, typeof RaqmPopoverTitleDirective, typeof RaqmPopoverDescriptionDirective];
|
|
235
|
+
export {};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import { InjectionToken, OnInit, Signal } from "@angular/core";
|
|
3
|
+
interface RaqmProgressContext {
|
|
4
|
+
/** `null` means the bar is indeterminate. */
|
|
5
|
+
readonly value: Signal<number | null>;
|
|
6
|
+
readonly min: Signal<number>;
|
|
7
|
+
readonly max: Signal<number>;
|
|
8
|
+
/** Clamped fill percentage in `0..100`, or `null` while indeterminate. */
|
|
9
|
+
readonly percentage: Signal<number | null>;
|
|
10
|
+
/** The id the root points `aria-labelledby` at, or `null`. */
|
|
11
|
+
readonly labelId: Signal<string | null>;
|
|
12
|
+
registerLabel(id: string): void;
|
|
13
|
+
unregisterLabel(id: string): void;
|
|
14
|
+
}
|
|
15
|
+
/** Parts inject this optionally, so a misplaced part reports a dev error instead of crashing. */
|
|
16
|
+
declare const RAQM_PROGRESS: InjectionToken<RaqmProgressContext>;
|
|
17
|
+
/** No ARIA role here: only the root is the progressbar. */
|
|
18
|
+
export declare class RaqmProgressTrackComponent {
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmProgressTrackComponent, never>;
|
|
20
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RaqmProgressTrackComponent, "raqm-progress-track", never, {}, {}, never, ["*"], true, never>;
|
|
21
|
+
}
|
|
22
|
+
/** The fill is this host's own box; indeterminate writes no inline style, collapsing its size. */
|
|
23
|
+
export declare class RaqmProgressIndicatorComponent {
|
|
24
|
+
private readonly progress;
|
|
25
|
+
protected readonly indicatorStyle: Signal<Record<string, string> | null>;
|
|
26
|
+
constructor();
|
|
27
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmProgressIndicatorComponent, never>;
|
|
28
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RaqmProgressIndicatorComponent, "raqm-progress-indicator", never, {}, {}, never, never, true, never>;
|
|
29
|
+
}
|
|
30
|
+
/** Its owned id is registered with the root, which points `aria-labelledby` at it. */
|
|
31
|
+
export declare class RaqmProgressLabelComponent implements OnInit {
|
|
32
|
+
private readonly progress;
|
|
33
|
+
private readonly destroyRef;
|
|
34
|
+
readonly id: string;
|
|
35
|
+
constructor();
|
|
36
|
+
ngOnInit(): void;
|
|
37
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmProgressLabelComponent, never>;
|
|
38
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RaqmProgressLabelComponent, "raqm-progress-label", never, {}, {}, never, ["*"], true, never>;
|
|
39
|
+
}
|
|
40
|
+
/** `aria-hidden`: the root reports the value, and the readout is empty while indeterminate. */
|
|
41
|
+
export declare class RaqmProgressValueComponent {
|
|
42
|
+
private readonly progress;
|
|
43
|
+
protected readonly text: Signal<string>;
|
|
44
|
+
constructor();
|
|
45
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmProgressValueComponent, never>;
|
|
46
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RaqmProgressValueComponent, "raqm-progress-value", never, {}, {}, never, never, true, never>;
|
|
47
|
+
}
|
|
48
|
+
/** Owns the task state and its ARIA attributes; `aria-valuenow` is published only for a finite value. */
|
|
49
|
+
export declare class RaqmProgressComponent implements RaqmProgressContext {
|
|
50
|
+
readonly value: import("@angular/core").InputSignal<number | null>;
|
|
51
|
+
readonly min: import("@angular/core").InputSignal<number>;
|
|
52
|
+
readonly max: import("@angular/core").InputSignal<number>;
|
|
53
|
+
private readonly registeredLabelId;
|
|
54
|
+
readonly labelId: Signal<string | null>;
|
|
55
|
+
readonly percentage: Signal<number | null>;
|
|
56
|
+
protected readonly ariaValueNow: Signal<number | null>;
|
|
57
|
+
registerLabel(id: string): void;
|
|
58
|
+
unregisterLabel(id: string): void;
|
|
59
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmProgressComponent, never>;
|
|
60
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RaqmProgressComponent, "raqm-progress", never, {
|
|
61
|
+
"value": {
|
|
62
|
+
"alias": "value";
|
|
63
|
+
"required": false;
|
|
64
|
+
"isSignal": true;
|
|
65
|
+
};
|
|
66
|
+
"min": {
|
|
67
|
+
"alias": "min";
|
|
68
|
+
"required": false;
|
|
69
|
+
"isSignal": true;
|
|
70
|
+
};
|
|
71
|
+
"max": {
|
|
72
|
+
"alias": "max";
|
|
73
|
+
"required": false;
|
|
74
|
+
"isSignal": true;
|
|
75
|
+
};
|
|
76
|
+
}, {}, never, ["*"], true, never>;
|
|
77
|
+
}
|
|
78
|
+
export declare const RaqmProgress: readonly [typeof RaqmProgressComponent, typeof RaqmProgressTrackComponent, typeof RaqmProgressIndicatorComponent, typeof RaqmProgressLabelComponent, typeof RaqmProgressValueComponent];
|
|
79
|
+
export {};
|