@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,167 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import { InjectionToken, OnInit, Signal } from "@angular/core";
|
|
3
|
+
/** Stable identity of one item, kept in DOM order for roving focus. */
|
|
4
|
+
interface RaqmToggleGroupItemRef {
|
|
5
|
+
/** Unique, non-empty item value used by the group's selection contract. */
|
|
6
|
+
readonly value: string;
|
|
7
|
+
/** Reactive: true when the item or its group is disabled. */
|
|
8
|
+
readonly disabled: Signal<boolean>;
|
|
9
|
+
/** The item's native `<button>` host, used only to move focus. */
|
|
10
|
+
readonly host: HTMLElement;
|
|
11
|
+
}
|
|
12
|
+
/** Typed contract published by the group; a dedicated token avoids a runtime module cycle. */
|
|
13
|
+
interface RaqmToggleGroupContext {
|
|
14
|
+
/** Parent appearance; the group's value always wins over the item default. */
|
|
15
|
+
readonly outline: Signal<boolean>;
|
|
16
|
+
/** Parent size; the group's value always wins over the item default. */
|
|
17
|
+
readonly activeSize: Signal<'default' | 'small' | 'large'>;
|
|
18
|
+
/** Parent axis, used to map arrow keys to the nearest direction. */
|
|
19
|
+
readonly vertical: Signal<boolean>;
|
|
20
|
+
readonly multiple: Signal<boolean>;
|
|
21
|
+
readonly disabled: Signal<boolean>;
|
|
22
|
+
isSelected(value: string): boolean;
|
|
23
|
+
/** Applies the group's selection rules to an activated item (no-op if disabled). */
|
|
24
|
+
activate(item: RaqmToggleGroupItemRef): void;
|
|
25
|
+
/** Registers an item for focus management; called once per item. */
|
|
26
|
+
register(item: RaqmToggleGroupItemRef): void;
|
|
27
|
+
/** Unregisters an item when it is destroyed; never changes the value. */
|
|
28
|
+
unregister(item: RaqmToggleGroupItemRef): void;
|
|
29
|
+
setActive(item: RaqmToggleGroupItemRef): void;
|
|
30
|
+
/** Whether the item is the group's single roving tab stop. */
|
|
31
|
+
isTabStop(item: RaqmToggleGroupItemRef): boolean;
|
|
32
|
+
/** Moves focus for a keyboard event without changing the selected value. */
|
|
33
|
+
moveFocus(item: RaqmToggleGroupItemRef, event: KeyboardEvent): void;
|
|
34
|
+
}
|
|
35
|
+
/** Injection token for the parent group; injected optionally so a standalone item still renders. */
|
|
36
|
+
declare const RAQM_TOGGLE_GROUP: InjectionToken<RaqmToggleGroupContext>;
|
|
37
|
+
/**
|
|
38
|
+
* Group container that owns selection for `button[raqm-toggle-group-item]`.
|
|
39
|
+
*
|
|
40
|
+
* @remarks
|
|
41
|
+
* The host carries `role="group"`; the application supplies the accessible name.
|
|
42
|
+
* The group owns the `value` model: single mode keeps at most one value and clears
|
|
43
|
+
* to `[]`, multiple mode toggles membership without duplicates. Unknown values stay
|
|
44
|
+
* in the model but render unselected.
|
|
45
|
+
* Roving focus: one enabled item is a tab stop; Arrow/Home/End move focus without
|
|
46
|
+
* changing the value, and Left/Right follow the resolved direction (RTL reverses).
|
|
47
|
+
*/
|
|
48
|
+
export declare class RaqmToggleGroupComponent implements RaqmToggleGroupContext {
|
|
49
|
+
private readonly host;
|
|
50
|
+
readonly outline: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
51
|
+
readonly small: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
52
|
+
readonly large: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
53
|
+
/** The resolved size; setting both attributes is rejected. */
|
|
54
|
+
readonly activeSize: import("@angular/core").Signal<"default" | "small" | "large">;
|
|
55
|
+
readonly vertical: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
56
|
+
readonly spacing: import("@angular/core").InputSignalWithTransform<number, unknown>;
|
|
57
|
+
readonly multiple: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
58
|
+
readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
59
|
+
readonly value: import("@angular/core").ModelSignal<readonly string[]>;
|
|
60
|
+
private readonly items;
|
|
61
|
+
private readonly active;
|
|
62
|
+
private readonly enabledItems;
|
|
63
|
+
private readonly tabStop;
|
|
64
|
+
/** Single mode reads only the first entry, which is never coerced or re-emitted. */
|
|
65
|
+
isSelected(value: string): boolean;
|
|
66
|
+
/** A disabled group or item is a no-op; multiple mode preserves selected order. */
|
|
67
|
+
activate(item: RaqmToggleGroupItemRef): void;
|
|
68
|
+
/** Registers in DOM order; constructor-time registration throws `NG0950` in development. */
|
|
69
|
+
register(item: RaqmToggleGroupItemRef): void;
|
|
70
|
+
/** Leaves selection untouched, so removal emits no change event. */
|
|
71
|
+
unregister(item: RaqmToggleGroupItemRef): void;
|
|
72
|
+
/** Marks an item as the roving focus target (on focus and on click). */
|
|
73
|
+
setActive(item: RaqmToggleGroupItemRef): void;
|
|
74
|
+
/** Whether the item is the group's single roving tab stop. */
|
|
75
|
+
isTabStop(item: RaqmToggleGroupItemRef): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Moves focus among enabled items without changing the value, wrapping at either end.
|
|
78
|
+
* Home/End jump to first/last; foreign keys are ignored without `preventDefault`.
|
|
79
|
+
*/
|
|
80
|
+
moveFocus(item: RaqmToggleGroupItemRef, event: KeyboardEvent): void;
|
|
81
|
+
private isRtl;
|
|
82
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmToggleGroupComponent, never>;
|
|
83
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RaqmToggleGroupComponent, "raqm-toggle-group", never, {
|
|
84
|
+
"outline": {
|
|
85
|
+
"alias": "outline";
|
|
86
|
+
"required": false;
|
|
87
|
+
"isSignal": true;
|
|
88
|
+
};
|
|
89
|
+
"small": {
|
|
90
|
+
"alias": "small";
|
|
91
|
+
"required": false;
|
|
92
|
+
"isSignal": true;
|
|
93
|
+
};
|
|
94
|
+
"large": {
|
|
95
|
+
"alias": "large";
|
|
96
|
+
"required": false;
|
|
97
|
+
"isSignal": true;
|
|
98
|
+
};
|
|
99
|
+
"vertical": {
|
|
100
|
+
"alias": "vertical";
|
|
101
|
+
"required": false;
|
|
102
|
+
"isSignal": true;
|
|
103
|
+
};
|
|
104
|
+
"spacing": {
|
|
105
|
+
"alias": "spacing";
|
|
106
|
+
"required": false;
|
|
107
|
+
"isSignal": true;
|
|
108
|
+
};
|
|
109
|
+
"multiple": {
|
|
110
|
+
"alias": "multiple";
|
|
111
|
+
"required": false;
|
|
112
|
+
"isSignal": true;
|
|
113
|
+
};
|
|
114
|
+
"disabled": {
|
|
115
|
+
"alias": "disabled";
|
|
116
|
+
"required": false;
|
|
117
|
+
"isSignal": true;
|
|
118
|
+
};
|
|
119
|
+
"value": {
|
|
120
|
+
"alias": "value";
|
|
121
|
+
"required": false;
|
|
122
|
+
"isSignal": true;
|
|
123
|
+
};
|
|
124
|
+
}, {
|
|
125
|
+
"value": "valueChange";
|
|
126
|
+
}, never, ["*"], true, never>;
|
|
127
|
+
}
|
|
128
|
+
/** Native toggle button whose pressed state derives from the parent group's selection. */
|
|
129
|
+
export declare class RaqmToggleGroupItemComponent implements OnInit {
|
|
130
|
+
private readonly host;
|
|
131
|
+
private readonly group;
|
|
132
|
+
private readonly destroyRef;
|
|
133
|
+
readonly value: import("@angular/core").InputSignal<string>;
|
|
134
|
+
readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
135
|
+
protected readonly isDisabled: Signal<boolean>;
|
|
136
|
+
protected readonly outline: Signal<boolean>;
|
|
137
|
+
protected readonly activeSize: Signal<"default" | "small" | "large">;
|
|
138
|
+
protected readonly pressed: Signal<boolean>;
|
|
139
|
+
private readonly ref;
|
|
140
|
+
protected readonly tabIndex: Signal<0 | -1>;
|
|
141
|
+
constructor();
|
|
142
|
+
/**
|
|
143
|
+
* Registers after required inputs are bound; constructor-time registration throws `NG0950` in development.
|
|
144
|
+
* Runs before host bindings, preserving DOM order and the roving tabindex.
|
|
145
|
+
*/
|
|
146
|
+
ngOnInit(): void;
|
|
147
|
+
/** Activates through the group; the guard is defensive because disabled buttons already suppress click. */
|
|
148
|
+
protected onClick(): void;
|
|
149
|
+
protected onFocus(): void;
|
|
150
|
+
/** Delegates arrow/Home/End focus movement to the group (value untouched). */
|
|
151
|
+
protected onKeydown(event: KeyboardEvent): void;
|
|
152
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmToggleGroupItemComponent, never>;
|
|
153
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RaqmToggleGroupItemComponent, "button[raqm-toggle-group-item]", never, {
|
|
154
|
+
"value": {
|
|
155
|
+
"alias": "value";
|
|
156
|
+
"required": true;
|
|
157
|
+
"isSignal": true;
|
|
158
|
+
};
|
|
159
|
+
"disabled": {
|
|
160
|
+
"alias": "disabled";
|
|
161
|
+
"required": false;
|
|
162
|
+
"isSignal": true;
|
|
163
|
+
};
|
|
164
|
+
}, {}, never, ["*"], true, never>;
|
|
165
|
+
}
|
|
166
|
+
export declare const RaqmToggleGroup: readonly [typeof RaqmToggleGroupComponent, typeof RaqmToggleGroupItemComponent];
|
|
167
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
/**
|
|
3
|
+
* Native `<button>` toggle with a two-way `pressed` model and a derived `aria-pressed`.
|
|
4
|
+
* `small`/`large` are mutually exclusive; the application owns the accessible name.
|
|
5
|
+
*/
|
|
6
|
+
export declare class RaqmToggle {
|
|
7
|
+
private readonly host;
|
|
8
|
+
readonly appearance: import("@angular/core").InputSignalWithTransform<"default" | "outline", unknown>;
|
|
9
|
+
readonly small: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
10
|
+
readonly large: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
11
|
+
/** The resolved size; setting both attributes is rejected. */
|
|
12
|
+
protected readonly activeSize: import("@angular/core").Signal<"default" | "small" | "large">;
|
|
13
|
+
readonly pressed: import("@angular/core").ModelSignal<boolean>;
|
|
14
|
+
constructor();
|
|
15
|
+
/** Toggles once per native activation; the guard is defensive because disabled buttons already suppress click. */
|
|
16
|
+
protected onToggleClick(): void;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmToggle, never>;
|
|
18
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RaqmToggle, "button[raqm-toggle]", never, {
|
|
19
|
+
"appearance": {
|
|
20
|
+
"alias": "raqm-toggle";
|
|
21
|
+
"required": false;
|
|
22
|
+
"isSignal": true;
|
|
23
|
+
};
|
|
24
|
+
"small": {
|
|
25
|
+
"alias": "small";
|
|
26
|
+
"required": false;
|
|
27
|
+
"isSignal": true;
|
|
28
|
+
};
|
|
29
|
+
"large": {
|
|
30
|
+
"alias": "large";
|
|
31
|
+
"required": false;
|
|
32
|
+
"isSignal": true;
|
|
33
|
+
};
|
|
34
|
+
"pressed": {
|
|
35
|
+
"alias": "pressed";
|
|
36
|
+
"required": false;
|
|
37
|
+
"isSignal": true;
|
|
38
|
+
};
|
|
39
|
+
}, {
|
|
40
|
+
"pressed": "pressedChange";
|
|
41
|
+
}, never, ["*"], true, never>;
|
|
42
|
+
}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import { InjectionToken, OnDestroy, OnInit, Signal, TemplateRef } from "@angular/core";
|
|
3
|
+
type RaqmTooltipSide = 'top' | 'bottom' | 'left' | 'right' | 'inline-start' | 'inline-end';
|
|
4
|
+
type RaqmTooltipAlign = 'start' | 'center' | 'end';
|
|
5
|
+
type RaqmTooltipPhysicalSide = 'top' | 'bottom' | 'left' | 'right';
|
|
6
|
+
declare const DEFAULT_SIDE: RaqmTooltipSide;
|
|
7
|
+
declare const DEFAULT_ALIGN: RaqmTooltipAlign;
|
|
8
|
+
declare const DEFAULT_SIDE_OFFSET = 4;
|
|
9
|
+
declare const DEFAULT_ALIGN_OFFSET = 0;
|
|
10
|
+
declare const VIEWPORT_MARGIN = 5;
|
|
11
|
+
declare const EXIT_ANIMATION_MS = 150;
|
|
12
|
+
declare const HOVER_GAP_MS = 100;
|
|
13
|
+
declare const PANE_CLASS = "raqm-tooltip-overlay-pane";
|
|
14
|
+
declare const CONTENT_CLASS = "raqm-tooltip-content";
|
|
15
|
+
declare const CONTENT_ENTERING_CLASS = "raqm-tooltip-content--entering";
|
|
16
|
+
declare const CONTENT_CLOSING_CLASS = "raqm-tooltip-content--closing";
|
|
17
|
+
declare function nextTooltipRootId(): string;
|
|
18
|
+
declare function prefersReducedMotion(): boolean;
|
|
19
|
+
declare function toSide(value: unknown): RaqmTooltipSide;
|
|
20
|
+
declare function toAlign(value: unknown): RaqmTooltipAlign;
|
|
21
|
+
declare function toDir(value: unknown): 'ltr' | 'rtl' | undefined;
|
|
22
|
+
declare function toOffset(fallback: number): (value: unknown) => number;
|
|
23
|
+
interface RaqmTooltipTriggerRef {
|
|
24
|
+
/** The native button or passive span the root anchors the tooltip to. */
|
|
25
|
+
readonly element: HTMLElement;
|
|
26
|
+
/** Live native disabled state, read by the root's open policy at event time. */
|
|
27
|
+
readonly disabled: boolean;
|
|
28
|
+
}
|
|
29
|
+
/** The interaction that requested the tooltip open. */
|
|
30
|
+
type RaqmTooltipOpenReason = 'mouse' | 'focus';
|
|
31
|
+
/** The interaction that requested the tooltip close. */
|
|
32
|
+
type RaqmTooltipCloseReason = 'mouse' | 'focus' | 'press' | 'escape';
|
|
33
|
+
interface RaqmTooltipContext {
|
|
34
|
+
/** Whether the tooltip is currently shown (enabled and attached). */
|
|
35
|
+
readonly open: Signal<boolean>;
|
|
36
|
+
/** The live content id while shown (the trigger's `aria-describedby` token), or `null`. */
|
|
37
|
+
readonly tooltipId: Signal<string | null>;
|
|
38
|
+
/** Registers the single trigger; called once per root. */
|
|
39
|
+
registerTrigger(ref: RaqmTooltipTriggerRef): void;
|
|
40
|
+
/** Unregisters the trigger on destroy; never changes open state. */
|
|
41
|
+
unregisterTrigger(ref: RaqmTooltipTriggerRef): void;
|
|
42
|
+
/** Registers the single content template; called once per root. */
|
|
43
|
+
registerContent(template: TemplateRef<unknown>): void;
|
|
44
|
+
/** Unregisters the content template on destroy. */
|
|
45
|
+
unregisterContent(template: TemplateRef<unknown>): void;
|
|
46
|
+
/** Requests opening from a hover or keyboard-focus interaction. */
|
|
47
|
+
requestOpen(ref: RaqmTooltipTriggerRef, reason: RaqmTooltipOpenReason): void;
|
|
48
|
+
/** Requests closing from a hover, blur, press or Escape interaction. */
|
|
49
|
+
requestClose(ref: RaqmTooltipTriggerRef, reason: RaqmTooltipCloseReason): void;
|
|
50
|
+
/** Cancels a pending hover-gap close when the pointer enters the content. */
|
|
51
|
+
cancelHoverClose(): void;
|
|
52
|
+
/** Schedules a bounded hover-gap close when the pointer leaves the content. */
|
|
53
|
+
scheduleHoverClose(): void;
|
|
54
|
+
}
|
|
55
|
+
/** One open tooltip registered with a provider, so the provider keeps a single active one. */
|
|
56
|
+
interface RaqmTooltipActive {
|
|
57
|
+
/** Immediately closes this tooltip without an exit animation (peer opened). */
|
|
58
|
+
closeForPeer(): void;
|
|
59
|
+
}
|
|
60
|
+
interface RaqmTooltipProviderContext {
|
|
61
|
+
/** The hover-open delay in milliseconds applied to descendant tooltips. */
|
|
62
|
+
readonly delay: Signal<number>;
|
|
63
|
+
/** Registers a newly open tooltip and closes the previous active one. */
|
|
64
|
+
registerActive(active: RaqmTooltipActive): void;
|
|
65
|
+
/** Clears the active registration when a tooltip closes or is destroyed. */
|
|
66
|
+
clearActive(active: RaqmTooltipActive): void;
|
|
67
|
+
}
|
|
68
|
+
/** Injection token for the parent Tooltip root; injected optionally, so a misplaced child reports rather than crashes. */
|
|
69
|
+
declare const RAQM_TOOLTIP: InjectionToken<RaqmTooltipContext>;
|
|
70
|
+
/** Injection token for the nearest Tooltip provider; without one a root uses a 0ms delay and has no sibling scope. */
|
|
71
|
+
declare const RAQM_TOOLTIP_PROVIDER: InjectionToken<RaqmTooltipProviderContext>;
|
|
72
|
+
export declare class RaqmTooltipComponent implements RaqmTooltipContext, OnDestroy {
|
|
73
|
+
private readonly host;
|
|
74
|
+
private readonly overlay;
|
|
75
|
+
private readonly viewContainerRef;
|
|
76
|
+
private readonly injector;
|
|
77
|
+
private readonly directionality;
|
|
78
|
+
private readonly viewportRuler;
|
|
79
|
+
private readonly scrollDispatcher;
|
|
80
|
+
private readonly document;
|
|
81
|
+
private readonly provider;
|
|
82
|
+
private readonly panelTemplate;
|
|
83
|
+
readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
84
|
+
readonly side: import("@angular/core").InputSignalWithTransform<RaqmTooltipSide, unknown>;
|
|
85
|
+
readonly align: import("@angular/core").InputSignalWithTransform<RaqmTooltipAlign, unknown>;
|
|
86
|
+
readonly sideOffset: import("@angular/core").InputSignalWithTransform<number, unknown>;
|
|
87
|
+
readonly alignOffset: import("@angular/core").InputSignalWithTransform<number, unknown>;
|
|
88
|
+
readonly dir: import("@angular/core").InputSignalWithTransform<"ltr" | "rtl" | undefined, unknown>;
|
|
89
|
+
private readonly position;
|
|
90
|
+
private readonly pane;
|
|
91
|
+
private readonly slot;
|
|
92
|
+
private readonly timers;
|
|
93
|
+
private readonly lifecycle;
|
|
94
|
+
private readonly delay;
|
|
95
|
+
private destroyed;
|
|
96
|
+
readonly open: import("@angular/core").WritableSignal<boolean>;
|
|
97
|
+
readonly tooltipId: import("@angular/core").WritableSignal<string | null>;
|
|
98
|
+
private readonly contentTemplate;
|
|
99
|
+
protected readonly panelDir: import("@angular/core").WritableSignal<"ltr" | "rtl">;
|
|
100
|
+
protected readonly resolvedSide: import("@angular/core").WritableSignal<RaqmTooltipPhysicalSide>;
|
|
101
|
+
protected readonly closing: import("@angular/core").WritableSignal<boolean>;
|
|
102
|
+
constructor();
|
|
103
|
+
ngOnDestroy(): void;
|
|
104
|
+
registerTrigger(ref: RaqmTooltipTriggerRef): void;
|
|
105
|
+
/** Unregisters the trigger; an open tooltip is closed rather than orphaned. */
|
|
106
|
+
unregisterTrigger(ref: RaqmTooltipTriggerRef): void;
|
|
107
|
+
registerContent(template: TemplateRef<unknown>): void;
|
|
108
|
+
/** Unregisters the content template; an open tooltip is closed rather than orphaned. */
|
|
109
|
+
unregisterContent(template: TemplateRef<unknown>): void;
|
|
110
|
+
requestOpen(ref: RaqmTooltipTriggerRef, reason: RaqmTooltipOpenReason): void;
|
|
111
|
+
requestClose(ref: RaqmTooltipTriggerRef, reason: 'mouse' | 'focus' | 'press' | 'escape'): void;
|
|
112
|
+
cancelHoverClose(): void;
|
|
113
|
+
scheduleHoverClose(): void;
|
|
114
|
+
closeForPeer(): void;
|
|
115
|
+
protected onContentPointerEnter(event: PointerEvent): void;
|
|
116
|
+
protected onContentPointerLeave(event: PointerEvent): void;
|
|
117
|
+
private applyPositionInputs;
|
|
118
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmTooltipComponent, never>;
|
|
119
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RaqmTooltipComponent, "raqm-tooltip", ["raqmTooltip"], {
|
|
120
|
+
"disabled": {
|
|
121
|
+
"alias": "disabled";
|
|
122
|
+
"required": false;
|
|
123
|
+
"isSignal": true;
|
|
124
|
+
};
|
|
125
|
+
"side": {
|
|
126
|
+
"alias": "side";
|
|
127
|
+
"required": false;
|
|
128
|
+
"isSignal": true;
|
|
129
|
+
};
|
|
130
|
+
"align": {
|
|
131
|
+
"alias": "align";
|
|
132
|
+
"required": false;
|
|
133
|
+
"isSignal": true;
|
|
134
|
+
};
|
|
135
|
+
"sideOffset": {
|
|
136
|
+
"alias": "sideOffset";
|
|
137
|
+
"required": false;
|
|
138
|
+
"isSignal": true;
|
|
139
|
+
};
|
|
140
|
+
"alignOffset": {
|
|
141
|
+
"alias": "alignOffset";
|
|
142
|
+
"required": false;
|
|
143
|
+
"isSignal": true;
|
|
144
|
+
};
|
|
145
|
+
"dir": {
|
|
146
|
+
"alias": "dir";
|
|
147
|
+
"required": false;
|
|
148
|
+
"isSignal": true;
|
|
149
|
+
};
|
|
150
|
+
}, {}, never, ["*"], true, never>;
|
|
151
|
+
}
|
|
152
|
+
export declare class RaqmTooltipProviderDirective implements RaqmTooltipProviderContext {
|
|
153
|
+
readonly delay: import("@angular/core").InputSignalWithTransform<number, unknown>;
|
|
154
|
+
private active;
|
|
155
|
+
/** Registers a newly open tooltip, closing the previous active one in this scope. */
|
|
156
|
+
registerActive(active: RaqmTooltipActive): void;
|
|
157
|
+
/** Clears the active registration only when it still belongs to this tooltip. */
|
|
158
|
+
clearActive(active: RaqmTooltipActive): void;
|
|
159
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmTooltipProviderDirective, never>;
|
|
160
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmTooltipProviderDirective, "[raqm-tooltip-provider]", ["raqmTooltipProvider"], {
|
|
161
|
+
"delay": {
|
|
162
|
+
"alias": "delay";
|
|
163
|
+
"required": false;
|
|
164
|
+
"isSignal": true;
|
|
165
|
+
};
|
|
166
|
+
}, {}, never, never, true, never>;
|
|
167
|
+
}
|
|
168
|
+
export declare class RaqmTooltipTriggerDirective implements OnInit {
|
|
169
|
+
private readonly host;
|
|
170
|
+
private readonly tooltip;
|
|
171
|
+
private readonly renderer;
|
|
172
|
+
private readonly destroyRef;
|
|
173
|
+
private ownedToken;
|
|
174
|
+
private readonly ref;
|
|
175
|
+
constructor();
|
|
176
|
+
/** Registers the trigger with the root once the directive is initialized. */
|
|
177
|
+
ngOnInit(): void;
|
|
178
|
+
/** Opens on mouse hover only; touch/pen hover is deliberately ignored. */
|
|
179
|
+
protected onPointerEnter(event: Event): void;
|
|
180
|
+
/** Requests the bounded hover-gap close on mouse leave. */
|
|
181
|
+
protected onPointerLeave(event: Event): void;
|
|
182
|
+
/** A primary press closes an open tooltip; touch presses are included. */
|
|
183
|
+
protected onPointerDown(event: Event): void;
|
|
184
|
+
/** Native keyboard focus opens immediately (the root applies any suppression). */
|
|
185
|
+
protected onFocus(): void;
|
|
186
|
+
/** Losing focus closes the tooltip and clears any focus suppression in the root. */
|
|
187
|
+
protected onBlur(): void;
|
|
188
|
+
/** Escape closes an open tooltip or dismisses a pending delayed open. */
|
|
189
|
+
protected onKeydown(event: Event): void;
|
|
190
|
+
/** A native/assistive click (including Enter/Space) closes an open tooltip. */
|
|
191
|
+
protected onClick(): void;
|
|
192
|
+
private syncDescribedBy;
|
|
193
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmTooltipTriggerDirective, never>;
|
|
194
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmTooltipTriggerDirective, "button[raqm-tooltip-trigger], span[raqm-tooltip-trigger]", never, {}, {}, never, never, true, never>;
|
|
195
|
+
}
|
|
196
|
+
export declare class RaqmTooltipContentDirective implements OnInit {
|
|
197
|
+
private readonly template;
|
|
198
|
+
private readonly tooltip;
|
|
199
|
+
private readonly destroyRef;
|
|
200
|
+
constructor();
|
|
201
|
+
/** Registers the content template with the root once initialized. */
|
|
202
|
+
ngOnInit(): void;
|
|
203
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RaqmTooltipContentDirective, never>;
|
|
204
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RaqmTooltipContentDirective, "ng-template[raqm-tooltip-content]", ["raqmTooltipContent"], {}, {}, never, never, true, never>;
|
|
205
|
+
}
|
|
206
|
+
export declare const RaqmTooltip: readonly [typeof RaqmTooltipComponent, typeof RaqmTooltipContentDirective, typeof RaqmTooltipProviderDirective, typeof RaqmTooltipTriggerDirective];
|
|
207
|
+
export type { RaqmTooltipTriggerRef };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export * from "@raqm/ui/accordion";
|
|
2
|
+
export * from "@raqm/ui/alert";
|
|
3
|
+
export * from "@raqm/ui/alert-dialog";
|
|
4
|
+
export * from "@raqm/ui/aspect-ratio";
|
|
5
|
+
export * from "@raqm/ui/avatar";
|
|
6
|
+
export * from "@raqm/ui/badge";
|
|
7
|
+
export * from "@raqm/ui/breadcrumb";
|
|
8
|
+
export * from "@raqm/ui/button";
|
|
9
|
+
export * from "@raqm/ui/button-group";
|
|
10
|
+
export * from "@raqm/ui/card";
|
|
11
|
+
export * from "@raqm/ui/checkbox";
|
|
12
|
+
export * from "@raqm/ui/collapsible";
|
|
13
|
+
export * from "@raqm/ui/combobox";
|
|
14
|
+
export * from "@raqm/ui/command";
|
|
15
|
+
export * from "@raqm/ui/context-menu";
|
|
16
|
+
export * from "@raqm/ui/dialog";
|
|
17
|
+
export * from "@raqm/ui/drawer";
|
|
18
|
+
export * from "@raqm/ui/dropdown-menu";
|
|
19
|
+
export * from "@raqm/ui/empty";
|
|
20
|
+
export * from "@raqm/ui/field";
|
|
21
|
+
export * from "@raqm/ui/hover-card";
|
|
22
|
+
export * from "@raqm/ui/input";
|
|
23
|
+
export * from "@raqm/ui/input-group";
|
|
24
|
+
export * from "@raqm/ui/input-otp";
|
|
25
|
+
export * from "@raqm/ui/item";
|
|
26
|
+
export * from "@raqm/ui/kbd";
|
|
27
|
+
export * from "@raqm/ui/label";
|
|
28
|
+
export * from "@raqm/ui/menubar";
|
|
29
|
+
export * from "@raqm/ui/native-select";
|
|
30
|
+
export * from "@raqm/ui/navigation-menu";
|
|
31
|
+
export * from "@raqm/ui/pagination";
|
|
32
|
+
export * from "@raqm/ui/popover";
|
|
33
|
+
export * from "@raqm/ui/progress";
|
|
34
|
+
export * from "@raqm/ui/radio-group";
|
|
35
|
+
export * from "@raqm/ui/scroll-area";
|
|
36
|
+
export * from "@raqm/ui/select";
|
|
37
|
+
export * from "@raqm/ui/separator";
|
|
38
|
+
export * from "@raqm/ui/sheet";
|
|
39
|
+
export * from "@raqm/ui/sidebar";
|
|
40
|
+
export * from "@raqm/ui/skeleton";
|
|
41
|
+
export * from "@raqm/ui/slider";
|
|
42
|
+
export * from "@raqm/ui/spinner";
|
|
43
|
+
export * from "@raqm/ui/switch";
|
|
44
|
+
export * from "@raqm/ui/table";
|
|
45
|
+
export * from "@raqm/ui/tabs";
|
|
46
|
+
export * from "@raqm/ui/textarea";
|
|
47
|
+
export * from "@raqm/ui/toast";
|
|
48
|
+
export * from "@raqm/ui/toggle";
|
|
49
|
+
export * from "@raqm/ui/toggle-group";
|
|
50
|
+
export * from "@raqm/ui/tooltip";
|