@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.
Files changed (83) hide show
  1. package/composite/README.md +3 -0
  2. package/fesm2022/radix-ng-primitives-accordion.mjs +12 -36
  3. package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
  4. package/fesm2022/radix-ng-primitives-checkbox.mjs +33 -18
  5. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  6. package/fesm2022/radix-ng-primitives-composite.mjs +515 -0
  7. package/fesm2022/radix-ng-primitives-composite.mjs.map +1 -0
  8. package/fesm2022/radix-ng-primitives-core.mjs +7 -0
  9. package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
  10. package/fesm2022/radix-ng-primitives-dialog.mjs +54 -12
  11. package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
  12. package/fesm2022/radix-ng-primitives-drawer.mjs +442 -2
  13. package/fesm2022/radix-ng-primitives-drawer.mjs.map +1 -1
  14. package/fesm2022/radix-ng-primitives-editable.mjs +12 -7
  15. package/fesm2022/radix-ng-primitives-editable.mjs.map +1 -1
  16. package/fesm2022/radix-ng-primitives-floating-focus-manager.mjs +294 -8
  17. package/fesm2022/radix-ng-primitives-floating-focus-manager.mjs.map +1 -1
  18. package/fesm2022/radix-ng-primitives-focus-scope.mjs +9 -0
  19. package/fesm2022/radix-ng-primitives-focus-scope.mjs.map +1 -1
  20. package/fesm2022/radix-ng-primitives-menu.mjs +71 -20
  21. package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
  22. package/fesm2022/radix-ng-primitives-menubar.mjs +68 -36
  23. package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
  24. package/fesm2022/radix-ng-primitives-navigation-menu.mjs +281 -88
  25. package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
  26. package/fesm2022/radix-ng-primitives-number-field.mjs +7 -2
  27. package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
  28. package/fesm2022/radix-ng-primitives-popover.mjs +117 -35
  29. package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
  30. package/fesm2022/radix-ng-primitives-popper.mjs +73 -65
  31. package/fesm2022/radix-ng-primitives-popper.mjs.map +1 -1
  32. package/fesm2022/radix-ng-primitives-radio.mjs +77 -36
  33. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
  34. package/fesm2022/radix-ng-primitives-roving-focus.mjs +40 -8
  35. package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
  36. package/fesm2022/radix-ng-primitives-scroll-area.mjs +56 -25
  37. package/fesm2022/radix-ng-primitives-scroll-area.mjs.map +1 -1
  38. package/fesm2022/radix-ng-primitives-select.mjs +62 -37
  39. package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
  40. package/fesm2022/radix-ng-primitives-slider.mjs +259 -28
  41. package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
  42. package/fesm2022/radix-ng-primitives-stepper.mjs +11 -7
  43. package/fesm2022/radix-ng-primitives-stepper.mjs.map +1 -1
  44. package/fesm2022/radix-ng-primitives-switch.mjs +10 -5
  45. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  46. package/fesm2022/radix-ng-primitives-tabs.mjs +64 -30
  47. package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
  48. package/fesm2022/radix-ng-primitives-toggle-group.mjs +69 -19
  49. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  50. package/fesm2022/radix-ng-primitives-toggle.mjs +37 -13
  51. package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
  52. package/fesm2022/radix-ng-primitives-toolbar.mjs +50 -24
  53. package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
  54. package/fesm2022/radix-ng-primitives-tooltip.mjs +180 -35
  55. package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
  56. package/navigation-menu/README.md +5 -2
  57. package/package.json +5 -1
  58. package/types/radix-ng-primitives-accordion.d.ts +9 -13
  59. package/types/radix-ng-primitives-checkbox.d.ts +27 -15
  60. package/types/radix-ng-primitives-composite.d.ts +152 -0
  61. package/types/radix-ng-primitives-core.d.ts +2 -0
  62. package/types/radix-ng-primitives-dialog.d.ts +13 -2
  63. package/types/radix-ng-primitives-drawer.d.ts +40 -2
  64. package/types/radix-ng-primitives-editable.d.ts +11 -5
  65. package/types/radix-ng-primitives-floating-focus-manager.d.ts +113 -16
  66. package/types/radix-ng-primitives-menu.d.ts +13 -5
  67. package/types/radix-ng-primitives-menubar.d.ts +10 -5
  68. package/types/radix-ng-primitives-navigation-menu.d.ts +65 -33
  69. package/types/radix-ng-primitives-number-field.d.ts +8 -3
  70. package/types/radix-ng-primitives-popover.d.ts +26 -10
  71. package/types/radix-ng-primitives-popper.d.ts +1 -0
  72. package/types/radix-ng-primitives-radio.d.ts +22 -13
  73. package/types/radix-ng-primitives-roving-focus.d.ts +15 -1
  74. package/types/radix-ng-primitives-scroll-area.d.ts +4 -1
  75. package/types/radix-ng-primitives-select.d.ts +16 -20
  76. package/types/radix-ng-primitives-slider.d.ts +60 -9
  77. package/types/radix-ng-primitives-stepper.d.ts +11 -4
  78. package/types/radix-ng-primitives-switch.d.ts +10 -4
  79. package/types/radix-ng-primitives-tabs.d.ts +20 -11
  80. package/types/radix-ng-primitives-toggle-group.d.ts +34 -17
  81. package/types/radix-ng-primitives-toggle.d.ts +14 -7
  82. package/types/radix-ng-primitives-toolbar.d.ts +22 -14
  83. 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.OutputRef<any>;
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<string[]>;
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 i2.RdxFloatingFocusManager; inputs: {}; outputs: {}; }]>;
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<string>;
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 };