@radix-ng/primitives 1.0.0-beta.4 → 1.0.1
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/composite/README.md +3 -0
- package/fesm2022/radix-ng-primitives-accordion.mjs +12 -36
- package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-checkbox.mjs +33 -18
- package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-composite.mjs +515 -0
- package/fesm2022/radix-ng-primitives-composite.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-core.mjs +7 -0
- package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-dialog.mjs +54 -12
- package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-drawer.mjs +442 -2
- package/fesm2022/radix-ng-primitives-drawer.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-editable.mjs +12 -7
- package/fesm2022/radix-ng-primitives-editable.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-floating-focus-manager.mjs +294 -8
- package/fesm2022/radix-ng-primitives-floating-focus-manager.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-focus-scope.mjs +9 -0
- package/fesm2022/radix-ng-primitives-focus-scope.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menu.mjs +71 -20
- package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menubar.mjs +68 -36
- package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-navigation-menu.mjs +281 -88
- package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-number-field.mjs +7 -2
- package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-popover.mjs +117 -35
- package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-popper.mjs +73 -65
- package/fesm2022/radix-ng-primitives-popper.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-radio.mjs +77 -36
- package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-roving-focus.mjs +40 -8
- package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-scroll-area.mjs +56 -25
- package/fesm2022/radix-ng-primitives-scroll-area.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-select.mjs +62 -37
- package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-slider.mjs +259 -28
- package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-stepper.mjs +11 -7
- package/fesm2022/radix-ng-primitives-stepper.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-switch.mjs +10 -5
- package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tabs.mjs +64 -30
- package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle-group.mjs +69 -19
- package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle.mjs +37 -13
- package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toolbar.mjs +50 -24
- package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tooltip.mjs +180 -35
- package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
- package/navigation-menu/README.md +5 -2
- package/package.json +5 -1
- package/types/radix-ng-primitives-accordion.d.ts +9 -13
- package/types/radix-ng-primitives-checkbox.d.ts +27 -15
- package/types/radix-ng-primitives-composite.d.ts +152 -0
- package/types/radix-ng-primitives-core.d.ts +2 -0
- package/types/radix-ng-primitives-dialog.d.ts +13 -2
- package/types/radix-ng-primitives-drawer.d.ts +40 -2
- package/types/radix-ng-primitives-editable.d.ts +11 -5
- package/types/radix-ng-primitives-floating-focus-manager.d.ts +113 -16
- package/types/radix-ng-primitives-menu.d.ts +13 -5
- package/types/radix-ng-primitives-menubar.d.ts +10 -5
- package/types/radix-ng-primitives-navigation-menu.d.ts +65 -33
- package/types/radix-ng-primitives-number-field.d.ts +8 -3
- package/types/radix-ng-primitives-popover.d.ts +26 -10
- package/types/radix-ng-primitives-popper.d.ts +1 -0
- package/types/radix-ng-primitives-radio.d.ts +22 -13
- package/types/radix-ng-primitives-roving-focus.d.ts +15 -1
- package/types/radix-ng-primitives-scroll-area.d.ts +4 -1
- package/types/radix-ng-primitives-select.d.ts +16 -20
- package/types/radix-ng-primitives-slider.d.ts +60 -9
- package/types/radix-ng-primitives-stepper.d.ts +11 -4
- package/types/radix-ng-primitives-switch.d.ts +10 -4
- package/types/radix-ng-primitives-tabs.d.ts +20 -11
- package/types/radix-ng-primitives-toggle-group.d.ts +34 -17
- package/types/radix-ng-primitives-toggle.d.ts +14 -7
- package/types/radix-ng-primitives-toolbar.d.ts +22 -14
- package/types/radix-ng-primitives-tooltip.d.ts +38 -14
|
@@ -3,7 +3,7 @@ import { Signal } from '@angular/core';
|
|
|
3
3
|
import * as i1 from '@radix-ng/primitives/presence';
|
|
4
4
|
import * as _radix_ng_primitives_types_radix_ng_primitives_core from '@radix-ng/primitives/types/radix-ng-primitives-core';
|
|
5
5
|
import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
|
|
6
|
-
import { BooleanInput, RdxFormCheckboxControl } from '@radix-ng/primitives/core';
|
|
6
|
+
import { BooleanInput, RdxCancelableChangeEventDetails, RdxFormCheckboxControl } from '@radix-ng/primitives/core';
|
|
7
7
|
import { ControlValueAccessor } from '@angular/forms';
|
|
8
8
|
|
|
9
9
|
declare class RdxCheckboxIndicatorPresenceDirective {
|
|
@@ -23,7 +23,7 @@ declare class RdxCheckboxInputDirective {
|
|
|
23
23
|
form: _angular_core.InputSignal<string | undefined>;
|
|
24
24
|
readonly: _angular_core.InputSignalWithTransform<boolean, _radix_ng_primitives_types_radix_ng_primitives_core.BooleanInput>;
|
|
25
25
|
state: _angular_core.Signal<"indeterminate" | "checked" | "unchecked">;
|
|
26
|
-
toggle(): void;
|
|
26
|
+
toggle(event?: Event): void;
|
|
27
27
|
};
|
|
28
28
|
private readonly input;
|
|
29
29
|
constructor();
|
|
@@ -40,6 +40,12 @@ declare class RdxCheckboxInputDirective {
|
|
|
40
40
|
type CheckedState = boolean | 'indeterminate';
|
|
41
41
|
declare function isIndeterminate(checked?: CheckedState): checked is 'indeterminate';
|
|
42
42
|
declare function getState(checked: CheckedState): "indeterminate" | "checked" | "unchecked";
|
|
43
|
+
type RdxCheckboxCheckedChangeReason = 'trigger-press' | 'none';
|
|
44
|
+
type RdxCheckboxCheckedChangeEventDetails = RdxCancelableChangeEventDetails<RdxCheckboxCheckedChangeReason>;
|
|
45
|
+
interface RdxCheckboxCheckedChangeEvent {
|
|
46
|
+
checked: boolean;
|
|
47
|
+
eventDetails: RdxCheckboxCheckedChangeEventDetails;
|
|
48
|
+
}
|
|
43
49
|
declare const rootContext: () => {
|
|
44
50
|
checked: _angular_core.Signal<boolean>;
|
|
45
51
|
indeterminate: _angular_core.Signal<boolean>;
|
|
@@ -51,7 +57,7 @@ declare const rootContext: () => {
|
|
|
51
57
|
form: _angular_core.InputSignal<string | undefined>;
|
|
52
58
|
readonly: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
53
59
|
state: _angular_core.Signal<"indeterminate" | "checked" | "unchecked">;
|
|
54
|
-
toggle(): void;
|
|
60
|
+
toggle(event?: Event): void;
|
|
55
61
|
};
|
|
56
62
|
type CheckboxRootContext = ReturnType<typeof rootContext>;
|
|
57
63
|
declare const injectCheckboxRootContext: _radix_ng_primitives_core.InjectContext<{
|
|
@@ -65,7 +71,7 @@ declare const injectCheckboxRootContext: _radix_ng_primitives_core.InjectContext
|
|
|
65
71
|
form: _angular_core.InputSignal<string | undefined>;
|
|
66
72
|
readonly: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
67
73
|
state: _angular_core.Signal<"indeterminate" | "checked" | "unchecked">;
|
|
68
|
-
toggle(): void;
|
|
74
|
+
toggle(event?: Event): void;
|
|
69
75
|
}>;
|
|
70
76
|
declare const provideCheckboxRootContext: (useFactory: () => {
|
|
71
77
|
checked: _angular_core.Signal<boolean>;
|
|
@@ -78,7 +84,7 @@ declare const provideCheckboxRootContext: (useFactory: () => {
|
|
|
78
84
|
form: _angular_core.InputSignal<string | undefined>;
|
|
79
85
|
readonly: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
80
86
|
state: _angular_core.Signal<"indeterminate" | "checked" | "unchecked">;
|
|
81
|
-
toggle(): void;
|
|
87
|
+
toggle(event?: Event): void;
|
|
82
88
|
}) => _angular_core.Provider;
|
|
83
89
|
/**
|
|
84
90
|
* @group Components
|
|
@@ -156,7 +162,7 @@ declare class RdxCheckboxRootDirective implements RdxFormCheckboxControl {
|
|
|
156
162
|
* Event emitted when the checkbox checked state changes.
|
|
157
163
|
* @group Emits
|
|
158
164
|
*/
|
|
159
|
-
readonly onCheckedChange: _angular_core.
|
|
165
|
+
readonly onCheckedChange: _angular_core.OutputEmitterRef<RdxCheckboxCheckedChangeEvent>;
|
|
160
166
|
/**
|
|
161
167
|
* @ignore
|
|
162
168
|
* The effective checked state as a `boolean`. Inside a `rdxCheckboxGroup` it is derived from the
|
|
@@ -174,7 +180,7 @@ declare class RdxCheckboxRootDirective implements RdxFormCheckboxControl {
|
|
|
174
180
|
readonly disabledState: _angular_core.Signal<boolean>;
|
|
175
181
|
readonly state: _angular_core.Signal<"indeterminate" | "checked" | "unchecked">;
|
|
176
182
|
constructor();
|
|
177
|
-
toggle(): void;
|
|
183
|
+
toggle(event?: Event): void;
|
|
178
184
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxCheckboxRootDirective, never>;
|
|
179
185
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxCheckboxRootDirective, "[rdxCheckboxRoot]", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "submitValue": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "parent": { "alias": "parent"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "indeterminate": "indeterminateChange"; "onCheckedChange": "onCheckedChange"; }, never, never, true, [{ directive: typeof _radix_ng_primitives_core.RdxControlValueAccessor; inputs: { "value": "checked"; "disabled": "disabled"; }; outputs: {}; }]>;
|
|
180
186
|
}
|
|
@@ -197,7 +203,7 @@ declare class RdxCheckboxButtonDirective {
|
|
|
197
203
|
form: _angular_core.InputSignal<string | undefined>;
|
|
198
204
|
readonly: _angular_core.InputSignalWithTransform<boolean, _radix_ng_primitives_types_radix_ng_primitives_core.BooleanInput>;
|
|
199
205
|
state: _angular_core.Signal<"indeterminate" | "checked" | "unchecked">;
|
|
200
|
-
toggle(): void;
|
|
206
|
+
toggle(event?: Event): void;
|
|
201
207
|
};
|
|
202
208
|
private readonly group;
|
|
203
209
|
private readonly elementRef;
|
|
@@ -221,12 +227,18 @@ declare class RdxCheckboxIndicatorDirective {
|
|
|
221
227
|
form: _angular_core.InputSignal<string | undefined>;
|
|
222
228
|
readonly: _angular_core.InputSignalWithTransform<boolean, _radix_ng_primitives_types_radix_ng_primitives_core.BooleanInput>;
|
|
223
229
|
state: _angular_core.Signal<"indeterminate" | "checked" | "unchecked">;
|
|
224
|
-
toggle(): void;
|
|
230
|
+
toggle(event?: Event): void;
|
|
225
231
|
};
|
|
226
232
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxCheckboxIndicatorDirective, never>;
|
|
227
233
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxCheckboxIndicatorDirective, "[rdxCheckboxIndicator]", never, {}, {}, never, never, true, never>;
|
|
228
234
|
}
|
|
229
235
|
|
|
236
|
+
type RdxCheckboxGroupValueChangeReason = 'child-press' | 'parent-press' | 'none';
|
|
237
|
+
type RdxCheckboxGroupValueChangeEventDetails = RdxCancelableChangeEventDetails<RdxCheckboxGroupValueChangeReason>;
|
|
238
|
+
interface RdxCheckboxGroupValueChangeEvent {
|
|
239
|
+
value: string[];
|
|
240
|
+
eventDetails: RdxCheckboxGroupValueChangeEventDetails;
|
|
241
|
+
}
|
|
230
242
|
interface RdxCheckboxGroupContext {
|
|
231
243
|
/** The names of the currently checked checkboxes. */
|
|
232
244
|
value: Signal<string[]>;
|
|
@@ -241,9 +253,9 @@ interface RdxCheckboxGroupContext {
|
|
|
241
253
|
/** A stable id for a child's control element, derived from the group id and the child name. */
|
|
242
254
|
controlId: (name: string) => string;
|
|
243
255
|
/** Toggle a single child by name. */
|
|
244
|
-
toggleValue: (name: string) => void;
|
|
256
|
+
toggleValue: (name: string, event?: Event) => void;
|
|
245
257
|
/** Toggle every child on or off (used by a `parent` checkbox). */
|
|
246
|
-
toggleAll: () => void;
|
|
258
|
+
toggleAll: (event?: Event) => void;
|
|
247
259
|
/** Register a child's name and disabled state so the parent can preserve disabled items. */
|
|
248
260
|
registerChild: (name: string, disabled: Signal<boolean>) => () => void;
|
|
249
261
|
/** Register a child's control element id so the parent can reference it via `aria-controls`. */
|
|
@@ -267,7 +279,7 @@ declare class RdxCheckboxGroupDirective implements ControlValueAccessor {
|
|
|
267
279
|
/** Whether the whole group is disabled. */
|
|
268
280
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
269
281
|
/** Emits the new array of checked names whenever the value changes. */
|
|
270
|
-
readonly onValueChange: _angular_core.OutputEmitterRef<
|
|
282
|
+
readonly onValueChange: _angular_core.OutputEmitterRef<RdxCheckboxGroupValueChangeEvent>;
|
|
271
283
|
private readonly disabledByCva;
|
|
272
284
|
readonly disabledState: Signal<boolean>;
|
|
273
285
|
/** Derived state for a `parent` checkbox: `true` (all), `false` (none) or `'indeterminate'`. */
|
|
@@ -299,7 +311,7 @@ declare class RdxCheckboxGroupDirective implements ControlValueAccessor {
|
|
|
299
311
|
/** @ignore Register a child's control element id so the parent can list it in `aria-controls`. */
|
|
300
312
|
registerControl(name: string, id: string): () => void;
|
|
301
313
|
/** Add/remove a single child name from the value (a direct child change). */
|
|
302
|
-
toggleValue(name: string): void;
|
|
314
|
+
toggleValue(name: string, event?: Event): void;
|
|
303
315
|
/**
|
|
304
316
|
* Toggle from the `parent` checkbox. Mirrors Base UI's `useCheckboxGroupParent`:
|
|
305
317
|
*
|
|
@@ -309,7 +321,7 @@ declare class RdxCheckboxGroupDirective implements ControlValueAccessor {
|
|
|
309
321
|
*
|
|
310
322
|
* Disabled-but-checked children are always preserved (they cannot be toggled programmatically).
|
|
311
323
|
*/
|
|
312
|
-
toggleAll(): void;
|
|
324
|
+
toggleAll(event?: Event): void;
|
|
313
325
|
private isNameDisabled;
|
|
314
326
|
/** Seed the remembered selection from the current value the first time the parent is used. */
|
|
315
327
|
private ensureSeeded;
|
|
@@ -334,4 +346,4 @@ declare class RdxCheckboxModule {
|
|
|
334
346
|
}
|
|
335
347
|
|
|
336
348
|
export { RdxCheckboxButtonDirective, RdxCheckboxGroupDirective, RdxCheckboxIndicatorDirective, RdxCheckboxIndicatorPresenceDirective, RdxCheckboxInputDirective, RdxCheckboxModule, RdxCheckboxRootDirective, checkboxImports, getState, injectCheckboxGroupContext, injectCheckboxRootContext, isIndeterminate, provideCheckboxGroupContext, provideCheckboxRootContext };
|
|
337
|
-
export type { CheckboxRootContext, CheckedState, RdxCheckboxGroupContext };
|
|
349
|
+
export type { CheckboxRootContext, CheckedState, RdxCheckboxCheckedChangeEvent, RdxCheckboxCheckedChangeEventDetails, RdxCheckboxCheckedChangeReason, RdxCheckboxGroupContext, RdxCheckboxGroupValueChangeEvent, RdxCheckboxGroupValueChangeEventDetails, RdxCheckboxGroupValueChangeReason };
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { Signal, ElementRef } from '@angular/core';
|
|
3
|
+
import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
|
|
4
|
+
import { Direction, BooleanInput } from '@radix-ng/primitives/core';
|
|
5
|
+
|
|
6
|
+
type RdxCompositeOrientation = 'horizontal' | 'vertical' | 'both';
|
|
7
|
+
type RdxCompositeModifierKey = 'Shift' | 'Control' | 'Alt' | 'Meta';
|
|
8
|
+
type RdxCompositeItemMetadata = Record<string, unknown>;
|
|
9
|
+
interface RdxCompositeItemRegistration<Metadata extends RdxCompositeItemMetadata = RdxCompositeItemMetadata> {
|
|
10
|
+
element: HTMLElement;
|
|
11
|
+
metadata: Signal<Metadata | null | undefined>;
|
|
12
|
+
}
|
|
13
|
+
type RdxCompositeMetadata<Metadata extends RdxCompositeItemMetadata = RdxCompositeItemMetadata> = {
|
|
14
|
+
index: number;
|
|
15
|
+
} & Metadata;
|
|
16
|
+
interface RdxCompositeRootContext {
|
|
17
|
+
rootElement: HTMLElement;
|
|
18
|
+
highlightedIndex: Signal<number>;
|
|
19
|
+
highlightItemOnHover: Signal<boolean>;
|
|
20
|
+
orientation: Signal<RdxCompositeOrientation>;
|
|
21
|
+
dir: Signal<Direction>;
|
|
22
|
+
registerItem: <Metadata extends RdxCompositeItemMetadata>(item: RdxCompositeItemRegistration<Metadata>) => () => void;
|
|
23
|
+
indexOf: (element: HTMLElement) => number;
|
|
24
|
+
isIndexDisabled: (index: number) => boolean;
|
|
25
|
+
setHighlightedIndex: (index: number, shouldScrollIntoView?: boolean) => void;
|
|
26
|
+
relayKeyboardEvent: (event: KeyboardEvent) => void;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Internal Base UI-style composite item. Registers itself with the nearest composite root and
|
|
31
|
+
* receives the roving `tabindex` from the root's highlighted index.
|
|
32
|
+
*/
|
|
33
|
+
declare class RdxCompositeItem {
|
|
34
|
+
private readonly rootContext;
|
|
35
|
+
private readonly elementRef;
|
|
36
|
+
/** Arbitrary metadata included in the root's ordered item map. */
|
|
37
|
+
readonly metadataInput: _angular_core.InputSignal<RdxCompositeItemMetadata | null | undefined>;
|
|
38
|
+
private readonly _metadata;
|
|
39
|
+
readonly index: _angular_core.Signal<number>;
|
|
40
|
+
private readonly inRootElement;
|
|
41
|
+
protected readonly highlighted: _angular_core.Signal<boolean>;
|
|
42
|
+
protected readonly tabIndex: _angular_core.Signal<-1 | 0 | null>;
|
|
43
|
+
constructor();
|
|
44
|
+
setMetadata(value: RdxCompositeItemMetadata | null | undefined): void;
|
|
45
|
+
protected handleFocus(): void;
|
|
46
|
+
protected handleMouseMove(): void;
|
|
47
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxCompositeItem, never>;
|
|
48
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxCompositeItem, "[rdxCompositeItem]", ["rdxCompositeItem"], { "metadataInput": { "alias": "metadata"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
declare const injectRdxCompositeRootContext: _radix_ng_primitives_core.InjectContext<RdxCompositeRootContext>;
|
|
52
|
+
declare const provideRdxCompositeRootContext: (useFactory: () => RdxCompositeRootContext) => _angular_core.Provider;
|
|
53
|
+
/**
|
|
54
|
+
* Internal Base UI-style composite root for roving index and arrow-key navigation.
|
|
55
|
+
*/
|
|
56
|
+
declare class RdxCompositeRoot {
|
|
57
|
+
readonly elementRef: ElementRef<HTMLElement>;
|
|
58
|
+
private readonly registeredItems;
|
|
59
|
+
private hasSetInitialIndex;
|
|
60
|
+
/** The composite orientation. */
|
|
61
|
+
readonly orientationInput: _angular_core.InputSignal<RdxCompositeOrientation>;
|
|
62
|
+
private readonly _orientation;
|
|
63
|
+
readonly orientation: _angular_core.Signal<RdxCompositeOrientation>;
|
|
64
|
+
/** Text direction for horizontal arrow-key navigation. */
|
|
65
|
+
readonly dirInput: _angular_core.InputSignal<Direction | undefined>;
|
|
66
|
+
private readonly effectiveDir;
|
|
67
|
+
private readonly _dir;
|
|
68
|
+
readonly dir: _angular_core.Signal<Direction>;
|
|
69
|
+
/** Whether arrow-key navigation wraps at the first/last item. */
|
|
70
|
+
readonly loopFocusInput: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
71
|
+
private readonly _loopFocus;
|
|
72
|
+
readonly loopFocus: _angular_core.Signal<boolean>;
|
|
73
|
+
/** Enables Home and End keys. */
|
|
74
|
+
readonly enableHomeAndEndKeysInput: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
75
|
+
private readonly _enableHomeAndEndKeys;
|
|
76
|
+
readonly enableHomeAndEndKeys: _angular_core.Signal<boolean>;
|
|
77
|
+
/** Indices that are skipped by keyboard navigation. */
|
|
78
|
+
readonly disabledIndicesInput: _angular_core.InputSignal<readonly number[] | undefined>;
|
|
79
|
+
private readonly _disabledIndices;
|
|
80
|
+
readonly disabledIndices: _angular_core.Signal<readonly number[] | undefined>;
|
|
81
|
+
/** Modifier keys that should not block composite navigation. */
|
|
82
|
+
readonly modifierKeysInput: _angular_core.InputSignal<readonly RdxCompositeModifierKey[]>;
|
|
83
|
+
private readonly _modifierKeys;
|
|
84
|
+
readonly modifierKeys: _angular_core.Signal<readonly RdxCompositeModifierKey[]>;
|
|
85
|
+
/** Whether hovering an item should focus it. */
|
|
86
|
+
readonly highlightItemOnHover: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
87
|
+
/** Whether handled navigation keys stop propagation. */
|
|
88
|
+
readonly stopEventPropagation: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
89
|
+
/** The currently highlighted item index. */
|
|
90
|
+
readonly highlightedIndex: _angular_core.ModelSignal<number>;
|
|
91
|
+
/** Emits when this root changes the highlighted index. */
|
|
92
|
+
readonly onHighlightedIndexChange: _angular_core.OutputEmitterRef<number>;
|
|
93
|
+
/** Emits when the ordered item map changes. */
|
|
94
|
+
readonly onMapChange: _angular_core.OutputEmitterRef<Map<HTMLElement, RdxCompositeMetadata>>;
|
|
95
|
+
readonly items: _angular_core.Signal<RdxCompositeItemRegistration<RdxCompositeItemMetadata>[]>;
|
|
96
|
+
readonly itemMap: _angular_core.Signal<Map<HTMLElement, RdxCompositeMetadata>>;
|
|
97
|
+
constructor();
|
|
98
|
+
registerItem<Metadata extends RdxCompositeItemMetadata>(item: RdxCompositeItemRegistration<Metadata>): () => void;
|
|
99
|
+
indexOf(element: HTMLElement): number;
|
|
100
|
+
setOrientation(value: RdxCompositeOrientation): void;
|
|
101
|
+
setLoopFocus(value: boolean): void;
|
|
102
|
+
setDir(value: Direction): void;
|
|
103
|
+
setEnableHomeAndEndKeys(value: boolean): void;
|
|
104
|
+
setDisabledIndices(value: readonly number[] | undefined): void;
|
|
105
|
+
setModifierKeys(value: readonly RdxCompositeModifierKey[]): void;
|
|
106
|
+
isIndexDisabled(index: number): boolean;
|
|
107
|
+
setHighlightedIndex(index: number, shouldScrollIntoView?: boolean): void;
|
|
108
|
+
relayKeyboardEvent(event: KeyboardEvent): void;
|
|
109
|
+
protected handleKeydown(event: KeyboardEvent): void;
|
|
110
|
+
private handleCompositeKeydown;
|
|
111
|
+
private getNextIndex;
|
|
112
|
+
private elements;
|
|
113
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxCompositeRoot, never>;
|
|
114
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxCompositeRoot, "[rdxCompositeRoot]", ["rdxCompositeRoot"], { "orientationInput": { "alias": "orientation"; "required": false; "isSignal": true; }; "dirInput": { "alias": "dir"; "required": false; "isSignal": true; }; "loopFocusInput": { "alias": "loopFocus"; "required": false; "isSignal": true; }; "enableHomeAndEndKeysInput": { "alias": "enableHomeAndEndKeys"; "required": false; "isSignal": true; }; "disabledIndicesInput": { "alias": "disabledIndices"; "required": false; "isSignal": true; }; "modifierKeysInput": { "alias": "modifierKeys"; "required": false; "isSignal": true; }; "highlightItemOnHover": { "alias": "highlightItemOnHover"; "required": false; "isSignal": true; }; "stopEventPropagation": { "alias": "stopEventPropagation"; "required": false; "isSignal": true; }; "highlightedIndex": { "alias": "highlightedIndex"; "required": false; "isSignal": true; }; }, { "highlightedIndex": "highlightedIndexChange"; "onHighlightedIndexChange": "onHighlightedIndexChange"; "onMapChange": "onMapChange"; }, never, never, true, never>;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
declare const ACTIVE_COMPOSITE_ITEM = "data-composite-item-active";
|
|
118
|
+
declare const ARROW_KEYS: Set<string>;
|
|
119
|
+
declare const COMPOSITE_KEYS: Set<string>;
|
|
120
|
+
declare const MODIFIER_KEYS: RdxCompositeModifierKey[];
|
|
121
|
+
declare function sortByDocumentPosition<T extends {
|
|
122
|
+
element: HTMLElement;
|
|
123
|
+
}>(items: readonly T[]): T[];
|
|
124
|
+
declare function isModifierKeySet(event: KeyboardEvent, allowedModifierKeys: readonly RdxCompositeModifierKey[]): boolean;
|
|
125
|
+
declare function isNativeTextInput(target: EventTarget | null): target is HTMLInputElement | HTMLTextAreaElement;
|
|
126
|
+
declare function getCompositeNavigationKeys(orientation: RdxCompositeOrientation, dir: Direction): {
|
|
127
|
+
forwardKeys: string[];
|
|
128
|
+
backwardKeys: string[];
|
|
129
|
+
};
|
|
130
|
+
declare function shouldKeepNativeTextInputBehavior(event: KeyboardEvent, target: HTMLInputElement | HTMLTextAreaElement, orientation: RdxCompositeOrientation, dir: Direction): boolean;
|
|
131
|
+
declare function isIndexOutOfListBounds<T>(list: readonly T[], index: number): boolean;
|
|
132
|
+
declare function getMinListIndex(list: readonly HTMLElement[], disabledIndices?: readonly number[]): number;
|
|
133
|
+
declare function getMaxListIndex(list: readonly HTMLElement[], disabledIndices?: readonly number[]): number;
|
|
134
|
+
declare function findNonDisabledListIndex(list: readonly HTMLElement[], options?: {
|
|
135
|
+
startingIndex?: number;
|
|
136
|
+
decrement?: boolean;
|
|
137
|
+
disabledIndices?: readonly number[];
|
|
138
|
+
}): number;
|
|
139
|
+
declare function isListIndexDisabled(list: readonly HTMLElement[], index: number, disabledIndices?: readonly number[]): boolean;
|
|
140
|
+
declare function isElementDisabled(element: HTMLElement | null): boolean;
|
|
141
|
+
declare function isElementVisible(element: HTMLElement | null): boolean;
|
|
142
|
+
declare function scrollIntoViewIfNeeded(scrollContainer: HTMLElement | null, element: HTMLElement | null, direction: Direction, orientation: RdxCompositeOrientation): void;
|
|
143
|
+
|
|
144
|
+
declare const compositeImports: (typeof RdxCompositeRoot | typeof RdxCompositeItem)[];
|
|
145
|
+
declare class RdxCompositeModule {
|
|
146
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxCompositeModule, never>;
|
|
147
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<RdxCompositeModule, never, [typeof RdxCompositeRoot, typeof RdxCompositeItem], [typeof RdxCompositeRoot, typeof RdxCompositeItem]>;
|
|
148
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<RdxCompositeModule>;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
export { ACTIVE_COMPOSITE_ITEM, ARROW_KEYS, COMPOSITE_KEYS, MODIFIER_KEYS, RdxCompositeItem, RdxCompositeModule, RdxCompositeRoot, compositeImports, findNonDisabledListIndex, getCompositeNavigationKeys, getMaxListIndex, getMinListIndex, injectRdxCompositeRootContext, isElementDisabled, isElementVisible, isIndexOutOfListBounds, isListIndexDisabled, isModifierKeySet, isNativeTextInput, provideRdxCompositeRootContext, scrollIntoViewIfNeeded, shouldKeepNativeTextInputBehavior, sortByDocumentPosition };
|
|
152
|
+
export type { RdxCompositeItemMetadata, RdxCompositeItemRegistration, RdxCompositeMetadata, RdxCompositeModifierKey, RdxCompositeOrientation, RdxCompositeRootContext };
|
|
@@ -865,6 +865,8 @@ interface RdxCancelableChangeEventDetails<Reason extends string = string> {
|
|
|
865
865
|
trigger: HTMLElement | undefined;
|
|
866
866
|
cancel: () => void;
|
|
867
867
|
isCanceled: () => boolean;
|
|
868
|
+
allowPropagation: () => void;
|
|
869
|
+
readonly isPropagationAllowed: boolean;
|
|
868
870
|
preventUnmountOnClose: () => void;
|
|
869
871
|
}
|
|
870
872
|
interface RdxCancelableChangeEventTransaction<Reason extends string = string> {
|
|
@@ -4,9 +4,10 @@ import * as i1 from '@radix-ng/primitives/portal';
|
|
|
4
4
|
import { RdxPortalContainer } from '@radix-ng/primitives/portal';
|
|
5
5
|
import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
|
|
6
6
|
import { RdxTransitionStatus, BooleanInput, RdxCancelableChangeEventDetails, RdxFloatingRootContext } from '@radix-ng/primitives/core';
|
|
7
|
+
import * as _radix_ng_primitives_floating_focus_manager from '@radix-ng/primitives/floating-focus-manager';
|
|
8
|
+
import { RdxInteractionType } from '@radix-ng/primitives/floating-focus-manager';
|
|
7
9
|
import * as _radix_ng_primitives_dialog from '@radix-ng/primitives/dialog';
|
|
8
10
|
import { RdxOutsidePressDomEvent } from '@radix-ng/primitives/dismissable-layer';
|
|
9
|
-
import * as i2 from '@radix-ng/primitives/floating-focus-manager';
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* Structural directive that teleports the dialog content (backdrop + popup) into a container (default
|
|
@@ -106,6 +107,8 @@ interface RdxDialogRootContext {
|
|
|
106
107
|
trigger: Signal<HTMLElement | undefined>;
|
|
107
108
|
triggers: Signal<HTMLElement[]>;
|
|
108
109
|
payload: Signal<unknown>;
|
|
110
|
+
openInteractionType: Signal<RdxInteractionType>;
|
|
111
|
+
closeInteractionType: Signal<RdxInteractionType>;
|
|
109
112
|
/** Whether this dialog is nested in another; constant, fixed at construction. */
|
|
110
113
|
nested: boolean;
|
|
111
114
|
nestedDialogOpen: Signal<boolean>;
|
|
@@ -113,6 +116,7 @@ interface RdxDialogRootContext {
|
|
|
113
116
|
setDescriptionId: (id: string | undefined) => void;
|
|
114
117
|
registerTransitionElement: (element: HTMLElement) => () => void;
|
|
115
118
|
registerTrigger: (id: string, trigger: HTMLElement, payload: () => unknown) => () => void;
|
|
119
|
+
setTriggerOpenInteractionType: (type: RdxInteractionType) => void;
|
|
116
120
|
open: (trigger?: HTMLElement, payload?: unknown, triggerId?: string, reason?: RdxDialogOpenChangeReason, event?: Event) => void;
|
|
117
121
|
close: (reason?: RdxDialogOpenChangeReason, event?: Event) => void;
|
|
118
122
|
toggle: (triggerId: string, trigger: HTMLElement, payload?: unknown, event?: Event) => void;
|
|
@@ -178,7 +182,10 @@ declare class RdxDialogRoot {
|
|
|
178
182
|
readonly triggers: _angular_core.WritableSignal<HTMLElement[]>;
|
|
179
183
|
readonly payload: _angular_core.WritableSignal<unknown>;
|
|
180
184
|
readonly nestedOpenCount: _angular_core.WritableSignal<number>;
|
|
185
|
+
readonly openInteractionType: _angular_core.WritableSignal<RdxInteractionType>;
|
|
186
|
+
readonly closeInteractionType: _angular_core.WritableSignal<RdxInteractionType>;
|
|
181
187
|
private readonly preventUnmountOnClose;
|
|
188
|
+
private readonly pendingTriggerOpenInteractionType;
|
|
182
189
|
readonly present: Signal<boolean>;
|
|
183
190
|
/** Whether this dialog is rendered inside another dialog. Fixed at construction. */
|
|
184
191
|
readonly nested: boolean;
|
|
@@ -199,12 +206,14 @@ declare class RdxDialogRoot {
|
|
|
199
206
|
show(trigger?: HTMLElement | undefined, payload?: unknown, triggerId?: string, reason?: RdxDialogOpenChangeReason, event?: Event): void;
|
|
200
207
|
close(reason?: RdxDialogOpenChangeReason, event?: Event): void;
|
|
201
208
|
toggle(triggerId: string, trigger: HTMLElement, payload?: unknown, event?: Event): void;
|
|
209
|
+
setTriggerOpenInteractionType(type: RdxInteractionType): void;
|
|
202
210
|
registerTrigger(id: string, trigger: HTMLElement, payload: () => unknown): () => void;
|
|
203
211
|
/** Increments the nested-open counter and returns a release callback that decrements it. */
|
|
204
212
|
openNestedChild(): () => void;
|
|
205
213
|
private syncTriggerId;
|
|
206
214
|
private createOpenChangeEvent;
|
|
207
215
|
private emitOpenChangeComplete;
|
|
216
|
+
private consumeOpenInteractionType;
|
|
208
217
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxDialogRoot, never>;
|
|
209
218
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxDialogRoot, "[rdxDialogRoot]", ["rdxDialogRoot"], { "open": { "alias": "open"; "required": false; "isSignal": true; }; "defaultOpen": { "alias": "defaultOpen"; "required": false; "isSignal": true; }; "triggerId": { "alias": "triggerId"; "required": false; "isSignal": true; }; "defaultTriggerId": { "alias": "defaultTriggerId"; "required": false; "isSignal": true; }; "modal": { "alias": "modal"; "required": false; "isSignal": true; }; "disablePointerDismissal": { "alias": "disablePointerDismissal"; "required": false; "isSignal": true; }; "handle": { "alias": "handle"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "triggerId": "triggerIdChange"; "onOpenChange": "onOpenChange"; "onOpenChangeComplete": "onOpenChangeComplete"; }, never, never, true, never>;
|
|
210
219
|
}
|
|
@@ -235,8 +244,10 @@ declare class RdxDialogTrigger {
|
|
|
235
244
|
protected readonly triggerId: _angular_core.Signal<string>;
|
|
236
245
|
protected readonly rootContext: _angular_core.Signal<_radix_ng_primitives_dialog.RdxDialogRootContext | null>;
|
|
237
246
|
protected readonly isOpen: _angular_core.Signal<boolean>;
|
|
247
|
+
protected readonly triggerInteraction: _radix_ng_primitives_floating_focus_manager.RdxTriggerInteraction;
|
|
238
248
|
constructor();
|
|
239
249
|
protected handleClick(event: MouseEvent): void;
|
|
250
|
+
protected handlePointerDown(event: PointerEvent): void;
|
|
240
251
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxDialogTrigger, never>;
|
|
241
252
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxDialogTrigger, "button[rdxDialogTrigger]", ["rdxDialogTrigger"], { "handle": { "alias": "handle"; "required": false; "isSignal": true; }; "payload": { "alias": "payload"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
242
253
|
}
|
|
@@ -331,7 +342,7 @@ declare class RdxDialogPopup {
|
|
|
331
342
|
*/
|
|
332
343
|
protected onKeyDown(event: KeyboardEvent): void;
|
|
333
344
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxDialogPopup, never>;
|
|
334
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxDialogPopup, "[rdxDialogPopup]", ["rdxDialogPopup"], {}, { "escapeKeyDown": "escapeKeyDown"; "pointerDownOutside": "pointerDownOutside"; "focusOutside": "focusOutside"; "interactOutside": "interactOutside"; "openAutoFocus": "openAutoFocus"; "closeAutoFocus": "closeAutoFocus"; }, never, never, true, [{ directive: typeof _radix_ng_primitives_core.RdxFloatingNodeRegistration; inputs: {}; outputs: {}; }, { directive: typeof
|
|
345
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxDialogPopup, "[rdxDialogPopup]", ["rdxDialogPopup"], {}, { "escapeKeyDown": "escapeKeyDown"; "pointerDownOutside": "pointerDownOutside"; "focusOutside": "focusOutside"; "interactOutside": "interactOutside"; "openAutoFocus": "openAutoFocus"; "closeAutoFocus": "closeAutoFocus"; }, never, never, true, [{ directive: typeof _radix_ng_primitives_core.RdxFloatingNodeRegistration; inputs: {}; outputs: {}; }, { directive: typeof _radix_ng_primitives_floating_focus_manager.RdxFloatingFocusManager; inputs: {}; outputs: {}; }]>;
|
|
335
346
|
}
|
|
336
347
|
|
|
337
348
|
/**
|
|
@@ -198,6 +198,8 @@ interface RdxDrawerRootContext {
|
|
|
198
198
|
frontmostHeight: Signal<number>;
|
|
199
199
|
/** Reports the popup's measured size (px) so the provider can expose it. */
|
|
200
200
|
reportPopupHeight: (height: number) => void;
|
|
201
|
+
/** Whether the drawer is currently open. */
|
|
202
|
+
open: Signal<boolean>;
|
|
201
203
|
}
|
|
202
204
|
declare const injectRdxDrawerRootContext: _radix_ng_primitives_core.InjectContext<RdxDrawerRootContext>;
|
|
203
205
|
declare const provideRdxDrawerRootContext: (useFactory: () => RdxDrawerRootContext) => i0.Provider;
|
|
@@ -334,6 +336,42 @@ declare class RdxDrawerViewport {
|
|
|
334
336
|
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxDrawerViewport, "[rdxDrawerViewport]", ["rdxDrawerViewport"], {}, {}, never, never, true, [{ directive: typeof i1.RdxDialogViewport; inputs: {}; outputs: {}; }]>;
|
|
335
337
|
}
|
|
336
338
|
|
|
339
|
+
/**
|
|
340
|
+
* Provides mobile virtual-keyboard handling for bottom-sheet drawers with form fields.
|
|
341
|
+
*
|
|
342
|
+
* Put it on the drawer viewport that contains the popup. The directive writes
|
|
343
|
+
* `--drawer-keyboard-inset` to the host, keeps the focused keyboard input visible when
|
|
344
|
+
* `visualViewport` shrinks, adds temporary scroll slack to the nearest drawer scroller, and uses
|
|
345
|
+
* synchronous tap-to-focus on touch devices so iOS opens the software keyboard reliably.
|
|
346
|
+
*/
|
|
347
|
+
declare class RdxDrawerVirtualKeyboardProvider {
|
|
348
|
+
private readonly drawerContext;
|
|
349
|
+
private readonly elementRef;
|
|
350
|
+
private readonly destroyRef;
|
|
351
|
+
private readonly element;
|
|
352
|
+
private pendingKeyboardFocusMoved;
|
|
353
|
+
private keyboardTouchStart;
|
|
354
|
+
private focusedKeyboardTarget;
|
|
355
|
+
private keyboardScrollAdjustment;
|
|
356
|
+
private keyboardFocusFrame;
|
|
357
|
+
constructor();
|
|
358
|
+
protected onTouchStart(event: TouchEvent): void;
|
|
359
|
+
protected onTouchMove(event: TouchEvent): void;
|
|
360
|
+
protected onTouchEnd(event: TouchEvent): void;
|
|
361
|
+
protected resetTouchTrackingState(): void;
|
|
362
|
+
private captureFocusedKeyboardTarget;
|
|
363
|
+
private alignFocusedKeyboardTarget;
|
|
364
|
+
private scheduleKeyboardFocusAlignment;
|
|
365
|
+
private cancelKeyboardFocusFrame;
|
|
366
|
+
private clearFocusedKeyboardTarget;
|
|
367
|
+
private setDrawerKeyboardInset;
|
|
368
|
+
private resetDrawerKeyboardInset;
|
|
369
|
+
private setKeyboardScrollSlack;
|
|
370
|
+
private restoreKeyboardScrollAdjustment;
|
|
371
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdxDrawerVirtualKeyboardProvider, never>;
|
|
372
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxDrawerVirtualKeyboardProvider, "[rdxDrawerVirtualKeyboardProvider]", ["rdxDrawerVirtualKeyboardProvider"], {}, {}, never, never, true, never>;
|
|
373
|
+
}
|
|
374
|
+
|
|
337
375
|
/**
|
|
338
376
|
* A container for the drawer contents.
|
|
339
377
|
*
|
|
@@ -445,9 +483,9 @@ declare function createRdxDrawerHandle<Payload = unknown>(): RdxDrawerHandle<Pay
|
|
|
445
483
|
declare const drawerImports: (typeof RdxDrawerProviderDirective)[];
|
|
446
484
|
declare class RdxDrawerModule {
|
|
447
485
|
static ɵfac: i0.ɵɵFactoryDeclaration<RdxDrawerModule, never>;
|
|
448
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<RdxDrawerModule, never, [typeof RdxDrawerProviderDirective, typeof RdxDrawerRoot, typeof RdxDrawerTrigger, typeof RdxDrawerSwipeArea, typeof RdxDrawerPortal, typeof RdxDrawerPortalMisuseGuard, typeof RdxDrawerBackdrop, typeof RdxDrawerViewport, typeof RdxDrawerPopup, typeof RdxDrawerContent, typeof RdxDrawerTitle, typeof RdxDrawerDescription, typeof RdxDrawerClose, typeof RdxDrawerIndent, typeof RdxDrawerIndentBackground], [typeof RdxDrawerProviderDirective, typeof RdxDrawerRoot, typeof RdxDrawerTrigger, typeof RdxDrawerSwipeArea, typeof RdxDrawerPortal, typeof RdxDrawerPortalMisuseGuard, typeof RdxDrawerBackdrop, typeof RdxDrawerViewport, typeof RdxDrawerPopup, typeof RdxDrawerContent, typeof RdxDrawerTitle, typeof RdxDrawerDescription, typeof RdxDrawerClose, typeof RdxDrawerIndent, typeof RdxDrawerIndentBackground]>;
|
|
486
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<RdxDrawerModule, never, [typeof RdxDrawerProviderDirective, typeof RdxDrawerRoot, typeof RdxDrawerTrigger, typeof RdxDrawerSwipeArea, typeof RdxDrawerPortal, typeof RdxDrawerPortalMisuseGuard, typeof RdxDrawerBackdrop, typeof RdxDrawerViewport, typeof RdxDrawerVirtualKeyboardProvider, typeof RdxDrawerPopup, typeof RdxDrawerContent, typeof RdxDrawerTitle, typeof RdxDrawerDescription, typeof RdxDrawerClose, typeof RdxDrawerIndent, typeof RdxDrawerIndentBackground], [typeof RdxDrawerProviderDirective, typeof RdxDrawerRoot, typeof RdxDrawerTrigger, typeof RdxDrawerSwipeArea, typeof RdxDrawerPortal, typeof RdxDrawerPortalMisuseGuard, typeof RdxDrawerBackdrop, typeof RdxDrawerViewport, typeof RdxDrawerVirtualKeyboardProvider, typeof RdxDrawerPopup, typeof RdxDrawerContent, typeof RdxDrawerTitle, typeof RdxDrawerDescription, typeof RdxDrawerClose, typeof RdxDrawerIndent, typeof RdxDrawerIndentBackground]>;
|
|
449
487
|
static ɵinj: i0.ɵɵInjectorDeclaration<RdxDrawerModule>;
|
|
450
488
|
}
|
|
451
489
|
|
|
452
|
-
export { RdxDrawerBackdrop, RdxDrawerClose, RdxDrawerContent, RdxDrawerDescription, RdxDrawerHandle, RdxDrawerIndent, RdxDrawerIndentBackground, RdxDrawerModule, RdxDrawerPopup, RdxDrawerPortal, RdxDrawerPortalMisuseGuard, RdxDrawerProvider, RdxDrawerProviderDirective, RdxDrawerRoot, RdxDrawerSwipeArea, RdxDrawerTitle, RdxDrawerTrigger, RdxDrawerViewport, buildSnapEntries, createRdxDrawerHandle, dismissUnitVector, drawerImports, injectRdxDrawerRootContext, provideRdxDrawerProvider, provideRdxDrawerRootContext, resolveSnapTarget, snapPointReveal, useDrawerSwipe };
|
|
490
|
+
export { RdxDrawerBackdrop, RdxDrawerClose, RdxDrawerContent, RdxDrawerDescription, RdxDrawerHandle, RdxDrawerIndent, RdxDrawerIndentBackground, RdxDrawerModule, RdxDrawerPopup, RdxDrawerPortal, RdxDrawerPortalMisuseGuard, RdxDrawerProvider, RdxDrawerProviderDirective, RdxDrawerRoot, RdxDrawerSwipeArea, RdxDrawerTitle, RdxDrawerTrigger, RdxDrawerViewport, RdxDrawerVirtualKeyboardProvider, buildSnapEntries, createRdxDrawerHandle, dismissUnitVector, drawerImports, injectRdxDrawerRootContext, provideRdxDrawerProvider, provideRdxDrawerRootContext, resolveSnapTarget, snapPointReveal, useDrawerSwipe };
|
|
453
491
|
export type { RdxDrawerRegistration, RdxDrawerRelease, RdxDrawerRootContext, RdxDrawerSnapEntry, RdxDrawerSnapPoint, RdxDrawerSnapResolveOptions, RdxDrawerSnapTarget, RdxDrawerSwipeConfig, RdxDrawerSwipeDirection };
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { Signal, WritableSignal } from '@angular/core';
|
|
3
3
|
import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
|
|
4
|
-
import { BooleanInput, NumberInput } from '@radix-ng/primitives/core';
|
|
4
|
+
import { BooleanInput, NumberInput, RdxCancelableChangeEventDetails } from '@radix-ng/primitives/core';
|
|
5
5
|
import * as i1 from '@radix-ng/primitives/dismissable-layer';
|
|
6
6
|
import * as _radix_ng_primitives_editable from '@radix-ng/primitives/editable';
|
|
7
7
|
|
|
8
8
|
type EditableActivationMode = 'focus' | 'dblclick' | 'none';
|
|
9
9
|
type EditableSubmitMode = 'blur' | 'enter' | 'none' | 'both';
|
|
10
|
+
type RdxEditableValueChangeReason = 'submit' | 'none';
|
|
11
|
+
type RdxEditableValueChangeEventDetails = RdxCancelableChangeEventDetails<RdxEditableValueChangeReason>;
|
|
12
|
+
interface RdxEditableValueChangeEvent {
|
|
13
|
+
value: string;
|
|
14
|
+
eventDetails: RdxEditableValueChangeEventDetails;
|
|
15
|
+
}
|
|
10
16
|
type EditableRootContext = {
|
|
11
17
|
disabled: Signal<boolean>;
|
|
12
18
|
value: Signal<string | undefined>;
|
|
@@ -20,7 +26,7 @@ type EditableRootContext = {
|
|
|
20
26
|
activationMode: Signal<EditableActivationMode>;
|
|
21
27
|
edit: () => void;
|
|
22
28
|
cancel: () => void;
|
|
23
|
-
submit: () => void;
|
|
29
|
+
submit: (event?: Event) => void;
|
|
24
30
|
maxLength: Signal<number | undefined>;
|
|
25
31
|
required: Signal<boolean>;
|
|
26
32
|
startWithEditMode: Signal<boolean>;
|
|
@@ -57,7 +63,7 @@ declare class RdxEditableRoot {
|
|
|
57
63
|
readonly autoResize: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
58
64
|
readonly required: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
59
65
|
/** Emitted when the value is committed (on submit). */
|
|
60
|
-
readonly onValueChange: _angular_core.OutputEmitterRef<
|
|
66
|
+
readonly onValueChange: _angular_core.OutputEmitterRef<RdxEditableValueChangeEvent>;
|
|
61
67
|
readonly isEmpty: Signal<boolean>;
|
|
62
68
|
readonly $placeholder: Signal<{
|
|
63
69
|
edit: string;
|
|
@@ -75,7 +81,7 @@ declare class RdxEditableRoot {
|
|
|
75
81
|
constructor();
|
|
76
82
|
canActivateOnFocus(): boolean;
|
|
77
83
|
handleDismiss(): void;
|
|
78
|
-
submit(): void;
|
|
84
|
+
submit(event?: Event): void;
|
|
79
85
|
cancel(): void;
|
|
80
86
|
edit(): void;
|
|
81
87
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxEditableRoot, never>;
|
|
@@ -144,4 +150,4 @@ declare class RdxEditableModule {
|
|
|
144
150
|
}
|
|
145
151
|
|
|
146
152
|
export { RdxEditableArea, RdxEditableCancelTrigger, RdxEditableEditTrigger, RdxEditableInput, RdxEditableModule, RdxEditablePreview, RdxEditableRoot, RdxEditableSubmitTrigger, injectEditableRootContext, provideEditableRootContext };
|
|
147
|
-
export type { EditableActivationMode, EditableRootContext, EditableSubmitMode };
|
|
153
|
+
export type { EditableActivationMode, EditableRootContext, EditableSubmitMode, RdxEditableValueChangeEvent, RdxEditableValueChangeEventDetails, RdxEditableValueChangeReason };
|