@radix-ng/primitives 0.51.0 → 1.0.0-beta.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.
Files changed (178) hide show
  1. package/fesm2022/radix-ng-primitives-accordion.mjs +105 -38
  2. package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
  3. package/fesm2022/radix-ng-primitives-alert-dialog.mjs +221 -129
  4. package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -1
  5. package/fesm2022/radix-ng-primitives-arrow.mjs +20 -4
  6. package/fesm2022/radix-ng-primitives-arrow.mjs.map +1 -1
  7. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs.map +1 -1
  8. package/fesm2022/radix-ng-primitives-avatar.mjs +54 -61
  9. package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
  10. package/fesm2022/radix-ng-primitives-button.mjs +123 -0
  11. package/fesm2022/radix-ng-primitives-button.mjs.map +1 -0
  12. package/fesm2022/radix-ng-primitives-calendar.mjs.map +1 -1
  13. package/fesm2022/radix-ng-primitives-checkbox.mjs +378 -54
  14. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  15. package/fesm2022/radix-ng-primitives-collapsible.mjs +182 -81
  16. package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
  17. package/fesm2022/radix-ng-primitives-collection.mjs +40 -57
  18. package/fesm2022/radix-ng-primitives-collection.mjs.map +1 -1
  19. package/fesm2022/radix-ng-primitives-config.mjs.map +1 -1
  20. package/fesm2022/radix-ng-primitives-context-menu.mjs +140 -424
  21. package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -1
  22. package/fesm2022/radix-ng-primitives-core.mjs +735 -744
  23. package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
  24. package/fesm2022/radix-ng-primitives-cropper.mjs +1 -0
  25. package/fesm2022/radix-ng-primitives-cropper.mjs.map +1 -1
  26. package/fesm2022/radix-ng-primitives-date-field.mjs +51 -45
  27. package/fesm2022/radix-ng-primitives-date-field.mjs.map +1 -1
  28. package/fesm2022/radix-ng-primitives-dialog.mjs +655 -327
  29. package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
  30. package/fesm2022/radix-ng-primitives-dismissable-layer.mjs +70 -46
  31. package/fesm2022/radix-ng-primitives-dismissable-layer.mjs.map +1 -1
  32. package/fesm2022/radix-ng-primitives-drawer.mjs +1059 -0
  33. package/fesm2022/radix-ng-primitives-drawer.mjs.map +1 -0
  34. package/fesm2022/radix-ng-primitives-editable.mjs.map +1 -1
  35. package/fesm2022/radix-ng-primitives-field.mjs +363 -0
  36. package/fesm2022/radix-ng-primitives-field.mjs.map +1 -0
  37. package/fesm2022/radix-ng-primitives-fieldset.mjs +79 -0
  38. package/fesm2022/radix-ng-primitives-fieldset.mjs.map +1 -0
  39. package/fesm2022/radix-ng-primitives-focus-scope.mjs +23 -8
  40. package/fesm2022/radix-ng-primitives-focus-scope.mjs.map +1 -1
  41. package/fesm2022/radix-ng-primitives-input.mjs +172 -0
  42. package/fesm2022/radix-ng-primitives-input.mjs.map +1 -0
  43. package/fesm2022/radix-ng-primitives-label.mjs +6 -6
  44. package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
  45. package/fesm2022/radix-ng-primitives-menu.mjs +1480 -344
  46. package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
  47. package/fesm2022/radix-ng-primitives-menubar.mjs +290 -162
  48. package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
  49. package/fesm2022/radix-ng-primitives-meter.mjs +271 -0
  50. package/fesm2022/radix-ng-primitives-meter.mjs.map +1 -0
  51. package/fesm2022/radix-ng-primitives-navigation-menu.mjs +1052 -1553
  52. package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
  53. package/fesm2022/radix-ng-primitives-number-field.mjs +1102 -367
  54. package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
  55. package/fesm2022/radix-ng-primitives-pagination.mjs.map +1 -1
  56. package/fesm2022/radix-ng-primitives-popover.mjs +978 -989
  57. package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
  58. package/fesm2022/radix-ng-primitives-popper.mjs +91 -41
  59. package/fesm2022/radix-ng-primitives-popper.mjs.map +1 -1
  60. package/fesm2022/radix-ng-primitives-portal.mjs +34 -10
  61. package/fesm2022/radix-ng-primitives-portal.mjs.map +1 -1
  62. package/fesm2022/radix-ng-primitives-presence.mjs +134 -246
  63. package/fesm2022/radix-ng-primitives-presence.mjs.map +1 -1
  64. package/fesm2022/radix-ng-primitives-preview-card.mjs +997 -0
  65. package/fesm2022/radix-ng-primitives-preview-card.mjs.map +1 -0
  66. package/fesm2022/radix-ng-primitives-progress.mjs +223 -84
  67. package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
  68. package/fesm2022/radix-ng-primitives-radio.mjs +191 -51
  69. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
  70. package/fesm2022/radix-ng-primitives-roving-focus.mjs +96 -50
  71. package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
  72. package/fesm2022/radix-ng-primitives-select.mjs +791 -509
  73. package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
  74. package/fesm2022/radix-ng-primitives-separator.mjs +12 -35
  75. package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
  76. package/fesm2022/radix-ng-primitives-slider.mjs +969 -717
  77. package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
  78. package/fesm2022/radix-ng-primitives-stepper.mjs +15 -19
  79. package/fesm2022/radix-ng-primitives-stepper.mjs.map +1 -1
  80. package/fesm2022/radix-ng-primitives-switch.mjs +125 -113
  81. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  82. package/fesm2022/radix-ng-primitives-tabs.mjs +381 -108
  83. package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
  84. package/fesm2022/radix-ng-primitives-time-field.mjs +55 -46
  85. package/fesm2022/radix-ng-primitives-time-field.mjs.map +1 -1
  86. package/fesm2022/radix-ng-primitives-toggle-group.mjs +121 -247
  87. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  88. package/fesm2022/radix-ng-primitives-toggle.mjs +98 -61
  89. package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
  90. package/fesm2022/radix-ng-primitives-toolbar.mjs +303 -92
  91. package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
  92. package/fesm2022/radix-ng-primitives-tooltip.mjs +690 -1071
  93. package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
  94. package/fesm2022/radix-ng-primitives-visually-hidden.mjs +25 -66
  95. package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +1 -1
  96. package/meter/README.md +3 -0
  97. package/navigation-menu/README.md +2 -1
  98. package/package.json +31 -18
  99. package/portal/README.md +2 -0
  100. package/preview-card/README.md +3 -0
  101. package/schematics/collection.json +1 -0
  102. package/schematics/ng-add/index.d.ts +3 -2
  103. package/schematics/ng-add/index.js +62 -31
  104. package/schematics/ng-add/index.js.map +1 -1
  105. package/schematics/ng-add/package-config.d.ts +4 -2
  106. package/schematics/ng-add/package-config.js +10 -2
  107. package/schematics/ng-add/package-config.js.map +1 -1
  108. package/schematics/ng-add/schema.d.ts +3 -0
  109. package/schematics/ng-add/schema.js +3 -0
  110. package/schematics/ng-add/schema.js.map +1 -0
  111. package/schematics/ng-add/schema.json +14 -0
  112. package/select/README.md +2 -0
  113. package/types/radix-ng-primitives-accordion.d.ts +48 -14
  114. package/types/radix-ng-primitives-alert-dialog.d.ts +95 -38
  115. package/types/radix-ng-primitives-arrow.d.ts +1 -1
  116. package/types/radix-ng-primitives-aspect-ratio.d.ts +1 -1
  117. package/types/radix-ng-primitives-avatar.d.ts +7 -11
  118. package/types/radix-ng-primitives-button.d.ts +73 -0
  119. package/types/radix-ng-primitives-calendar.d.ts +1 -2
  120. package/types/radix-ng-primitives-checkbox.d.ts +201 -32
  121. package/types/radix-ng-primitives-collapsible.d.ts +112 -39
  122. package/types/radix-ng-primitives-collection.d.ts +38 -34
  123. package/types/radix-ng-primitives-config.d.ts +1 -1
  124. package/types/radix-ng-primitives-context-menu.d.ts +60 -116
  125. package/types/radix-ng-primitives-core.d.ts +307 -236
  126. package/types/radix-ng-primitives-cropper.d.ts +2 -2
  127. package/types/radix-ng-primitives-date-field.d.ts +38 -23
  128. package/types/radix-ng-primitives-dialog.d.ts +282 -165
  129. package/types/radix-ng-primitives-dismissable-layer.d.ts +15 -7
  130. package/types/radix-ng-primitives-drawer.d.ts +448 -0
  131. package/types/radix-ng-primitives-editable.d.ts +1 -1
  132. package/types/radix-ng-primitives-field.d.ts +373 -0
  133. package/types/radix-ng-primitives-fieldset.d.ts +48 -0
  134. package/types/radix-ng-primitives-focus-scope.d.ts +13 -5
  135. package/types/radix-ng-primitives-input.d.ts +87 -0
  136. package/types/radix-ng-primitives-label.d.ts +0 -1
  137. package/types/radix-ng-primitives-menu.d.ts +572 -99
  138. package/types/radix-ng-primitives-menubar.d.ts +60 -50
  139. package/types/radix-ng-primitives-meter.d.ts +193 -0
  140. package/types/radix-ng-primitives-navigation-menu.d.ts +422 -340
  141. package/types/radix-ng-primitives-number-field.d.ts +405 -145
  142. package/types/radix-ng-primitives-pagination.d.ts +2 -2
  143. package/types/radix-ng-primitives-popover.d.ts +365 -351
  144. package/types/radix-ng-primitives-popper.d.ts +49 -9
  145. package/types/radix-ng-primitives-portal.d.ts +14 -6
  146. package/types/radix-ng-primitives-presence.d.ts +28 -76
  147. package/types/radix-ng-primitives-preview-card.d.ts +359 -0
  148. package/types/radix-ng-primitives-progress.d.ts +174 -48
  149. package/types/radix-ng-primitives-radio.d.ts +55 -25
  150. package/types/radix-ng-primitives-roving-focus.d.ts +30 -21
  151. package/types/radix-ng-primitives-select.d.ts +475 -177
  152. package/types/radix-ng-primitives-separator.d.ts +7 -32
  153. package/types/radix-ng-primitives-slider.d.ts +315 -201
  154. package/types/radix-ng-primitives-stepper.d.ts +5 -7
  155. package/types/radix-ng-primitives-switch.d.ts +86 -71
  156. package/types/radix-ng-primitives-tabs.d.ts +213 -79
  157. package/types/radix-ng-primitives-time-field.d.ts +42 -27
  158. package/types/radix-ng-primitives-toggle-group.d.ts +85 -164
  159. package/types/radix-ng-primitives-toggle.d.ts +43 -53
  160. package/types/radix-ng-primitives-toolbar.d.ts +163 -38
  161. package/types/radix-ng-primitives-tooltip.d.ts +347 -384
  162. package/types/radix-ng-primitives-visually-hidden.d.ts +19 -19
  163. package/dropdown-menu/README.md +0 -1
  164. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +0 -581
  165. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs.map +0 -1
  166. package/fesm2022/radix-ng-primitives-hover-card.mjs +0 -1238
  167. package/fesm2022/radix-ng-primitives-hover-card.mjs.map +0 -1
  168. package/fesm2022/radix-ng-primitives-select2.mjs +0 -897
  169. package/fesm2022/radix-ng-primitives-select2.mjs.map +0 -1
  170. package/fesm2022/radix-ng-primitives-tooltip2.mjs +0 -735
  171. package/fesm2022/radix-ng-primitives-tooltip2.mjs.map +0 -1
  172. package/hover-card/README.md +0 -3
  173. package/select2/README.md +0 -3
  174. package/tooltip2/README.md +0 -3
  175. package/types/radix-ng-primitives-dropdown-menu.d.ts +0 -171
  176. package/types/radix-ng-primitives-hover-card.d.ts +0 -471
  177. package/types/radix-ng-primitives-select2.d.ts +0 -511
  178. package/types/radix-ng-primitives-tooltip2.d.ts +0 -325
@@ -1,206 +1,323 @@
1
- import * as i0 from '@angular/core';
2
- import { TemplateRef, EnvironmentProviders, Provider } from '@angular/core';
3
- import { AutoFocusTarget, DialogConfig, DialogRef } from '@angular/cdk/dialog';
4
- import { ComponentType } from '@angular/cdk/overlay';
5
- import { Observable } from 'rxjs';
1
+ import * as _angular_core from '@angular/core';
2
+ import { InjectionToken, Provider, Signal, ElementRef } from '@angular/core';
3
+ import * as i1 from '@radix-ng/primitives/presence';
4
+ import { RdxTransitionStatus, BooleanInput } from '@radix-ng/primitives/core';
6
5
  import * as _radix_ng_primitives_dialog from '@radix-ng/primitives/dialog';
6
+ import * as i1$1 from '@radix-ng/primitives/portal';
7
+ import { RdxPortalContainer } from '@radix-ng/primitives/portal';
8
+ import * as i1$2 from '@radix-ng/primitives/dismissable-layer';
9
+ import * as i2 from '@radix-ng/primitives/focus-scope';
7
10
 
8
- declare const ɵdialogData: unique symbol;
9
- declare const ɵdialogResult: unique symbol;
10
- type ɵDialogDataFlag = {
11
- [ɵdialogData]: unknown;
12
- };
13
- type ɵDialogResultFlag<R> = {
14
- [ɵdialogResult]: R;
15
- };
16
- type RdxDialogData<T> = {
17
- [K in keyof T]: T[K] extends ɵDialogDataFlag ? Omit<T[K], typeof ɵdialogData> : never;
18
- }[keyof T];
19
- type DialogRefProps<C> = {
20
- [K in keyof C]: C[K] extends ɵDialogResultFlag<unknown> ? K : never;
21
- }[keyof C] & keyof C;
22
- type RdxDialogResult<C> = DialogRefProps<C> extends never ? void : C[DialogRefProps<C>] extends ɵDialogResultFlag<infer T> ? T : void;
23
- type RdxDialogMode = 'default' | 'sheet' | 'sheet-bottom' | 'sheet-top' | 'sheet-left' | 'sheet-right';
24
- type RdxBaseDialogConfig<C> = {
25
- content: ComponentType<C> | TemplateRef<C>;
26
- data: RdxDialogData<C>;
27
- modal?: boolean;
28
- ariaLabel?: string;
29
- autoFocus?: AutoFocusTarget | 'first-input' | string;
30
- canClose?: (comp: C) => boolean | Observable<boolean>;
31
- canCloseWithBackdrop?: boolean;
32
- closeDelay?: number;
33
- cdkConfigOverride?: Partial<DialogConfig<C>>;
34
- mode?: RdxDialogMode;
35
- backdropClass?: string | string[];
36
- panelClasses?: string[];
37
- isAlert?: boolean;
38
- };
39
- type RdxDialogConfig<T> = RdxDialogData<T> extends never ? Omit<RdxBaseDialogConfig<T>, 'data'> : RdxBaseDialogConfig<T> & {
40
- data: Required<RdxDialogData<T>>;
41
- };
42
- type RdxDialogState = 'open' | 'closed';
43
- declare function getState(open: boolean): RdxDialogState;
11
+ /**
12
+ * Mounts the portal while the dialog is open and waits for CSS exit keyframes before unmounting.
13
+ */
14
+ declare class RdxDialogPortalPresence {
15
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxDialogPortalPresence, never>;
16
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxDialogPortalPresence, "ng-template[rdxDialogPortalPresence]", never, {}, {}, never, never, true, [{ directive: typeof i1.RdxPresenceDirective; inputs: {}; outputs: {}; }]>;
17
+ }
18
+
19
+ /**
20
+ * Connects a dialog root with trigger elements rendered elsewhere in the DOM, and exposes
21
+ * imperative `open`/`close`/`toggle` methods.
22
+ */
23
+ declare class RdxDialogHandle<Payload = unknown> {
24
+ private readonly rootContext;
25
+ private readonly triggers;
26
+ private readonly rootTriggerCleanups;
27
+ readonly isOpen: _angular_core.Signal<boolean>;
28
+ open(triggerId: string): void;
29
+ close(): void;
30
+ toggle(triggerId: string, event?: Event): void;
31
+ registerRoot(rootContext: RdxDialogRootContext): () => void;
32
+ registerTrigger(id: string, trigger: HTMLElement, payload: () => Payload | undefined): () => void;
33
+ context(): RdxDialogRootContext | undefined;
34
+ }
35
+ declare function createRdxDialogHandle<Payload = unknown>(): RdxDialogHandle<Payload>;
36
+
37
+ type RdxDialogRole = 'dialog' | 'alertdialog';
38
+ /**
39
+ * Behavioral profile for a dialog, supplied by a composing root (e.g. alert-dialog, drawer) to
40
+ * specialize the shared Dialog without new public dialog inputs.
41
+ *
42
+ * These are *force-only* overrides: a variant uses them to pin behavior regardless of the public
43
+ * inputs (as alert-dialog does). A variant that wants a configurable default instead simply leaves
44
+ * the flags off and lets the composing root proxy the `modal` / `disablePointerDismissal` inputs —
45
+ * that is how Drawer stays modal-by-default while remaining user-overridable.
46
+ *
47
+ * The three concerns are kept independent on purpose so future variants can mix them freely
48
+ * (e.g. a modal, non-dismissable drawer that is still `role="dialog"`):
49
+ * - `role` — ARIA role rendered on the popup.
50
+ * - `forceModal` — pin modality to `true` regardless of the `modal` input.
51
+ * - `forcePointerDismissalDisabled` — disable outside-press / focus-out dismissal (Escape still closes).
52
+ */
53
+ interface RdxDialogVariant {
54
+ role: RdxDialogRole;
55
+ forceModal: boolean;
56
+ forcePointerDismissalDisabled: boolean;
57
+ }
58
+ declare const RDX_DIALOG_VARIANT: InjectionToken<RdxDialogVariant>;
59
+ declare function provideRdxDialogVariant(variant: Partial<RdxDialogVariant>): Provider;
44
60
 
61
+ type RdxDialogModal = boolean | 'trap-focus';
62
+ type RdxDialogOpenChangeReason = 'trigger-press' | 'close-press' | 'outside-press' | 'focus-out' | 'escape-key' | 'swipe' | 'imperative-action' | 'none';
63
+ interface RdxDialogOpenChange {
64
+ open: boolean;
65
+ triggerId: string | null;
66
+ trigger: HTMLElement | undefined;
67
+ reason: RdxDialogOpenChangeReason;
68
+ event: Event;
69
+ }
70
+ interface RdxDialogRootContext {
71
+ contentId: string;
72
+ titleId: Signal<string | undefined>;
73
+ descriptionId: Signal<string | undefined>;
74
+ isOpen: Signal<boolean>;
75
+ /** Effective modality (the variant can pin this to `true`). */
76
+ modal: Signal<RdxDialogModal>;
77
+ /** Effective outside-press / focus-out dismissal flag (the variant can force it on). */
78
+ disablePointerDismissal: Signal<boolean>;
79
+ /** ARIA role for the popup; constant, fixed by the variant at construction. */
80
+ role: RdxDialogRole;
81
+ transitionStatus: Signal<RdxTransitionStatus>;
82
+ trigger: Signal<HTMLElement | undefined>;
83
+ triggers: Signal<HTMLElement[]>;
84
+ payload: Signal<unknown>;
85
+ /** Whether this dialog is nested in another; constant, fixed at construction. */
86
+ nested: boolean;
87
+ nestedDialogOpen: Signal<boolean>;
88
+ setTitleId: (id: string | undefined) => void;
89
+ setDescriptionId: (id: string | undefined) => void;
90
+ registerTransitionElement: (element: HTMLElement) => () => void;
91
+ registerTrigger: (id: string, trigger: HTMLElement, payload: () => unknown) => () => void;
92
+ open: (trigger?: HTMLElement, payload?: unknown, triggerId?: string, reason?: RdxDialogOpenChangeReason, event?: Event) => void;
93
+ close: (reason?: RdxDialogOpenChangeReason, event?: Event) => void;
94
+ toggle: (triggerId: string, trigger: HTMLElement, payload?: unknown, event?: Event) => void;
95
+ }
96
+ declare const injectRdxDialogRootContext: (optional?: boolean) => RdxDialogRootContext | null;
97
+ declare const provideRdxDialogRootContext: (useFactory: () => RdxDialogRootContext) => _angular_core.Provider;
45
98
  /**
46
- * @group Components
99
+ * Groups all parts of the dialog.
47
100
  */
48
- declare class RdxDialogTriggerDirective {
49
- private readonly dialogService;
101
+ declare class RdxDialogRoot {
102
+ private readonly destroyRef;
103
+ private readonly parentRoot;
104
+ private readonly variant;
105
+ private hasAppliedDefaultOpen;
106
+ private hasAppliedDefaultTriggerId;
107
+ private readonly registeredTriggers;
108
+ private readonly transition;
109
+ readonly transitionStatus: Signal<RdxTransitionStatus>;
110
+ readonly registerTransitionElement: (element: HTMLElement) => () => void;
50
111
  /**
51
- * @group Props
112
+ * Whether the dialog is currently open.
52
113
  */
53
- readonly id: i0.InputSignal<string>;
54
- readonly dialogId: i0.Signal<string>;
114
+ readonly open: _angular_core.ModelSignal<boolean>;
55
115
  /**
56
- * @group Props
116
+ * Whether the dialog is initially open.
57
117
  */
58
- dialog: TemplateRef<void>;
118
+ readonly defaultOpen: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
59
119
  /**
60
- * @group Props
120
+ * ID of the trigger associated with a controlled dialog.
61
121
  */
62
- dialogConfig: RdxDialogConfig<unknown>;
63
- readonly isOpen: i0.WritableSignal<boolean>;
64
- readonly state: i0.Signal<RdxDialogState>;
65
- private currentDialogRef;
66
- protected onClick(): void;
67
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxDialogTriggerDirective, never>;
68
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxDialogTriggerDirective, "[rdxDialogTrigger]", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "dialog": { "alias": "rdxDialogTrigger"; "required": true; }; "dialogConfig": { "alias": "rdxDialogConfig"; "required": false; }; }, {}, never, never, true, never>;
69
- }
70
-
71
- declare class RdxDialogContentDirective<C = unknown> {
72
- private readonly dialogRef;
73
- private readonly destroyRef;
74
- private readonly isOpen;
75
- readonly state: i0.Signal<_radix_ng_primitives_dialog.RdxDialogState>;
76
- constructor();
122
+ readonly triggerId: _angular_core.ModelSignal<string | null>;
77
123
  /**
78
- * Closes the dialog with a specified result.
79
- *
80
- * @param result The result to be passed back when closing the dialog
124
+ * ID of the trigger associated with an initially open uncontrolled dialog.
81
125
  */
82
- close(result: RdxDialogResult<C>): void;
126
+ readonly defaultTriggerId: _angular_core.InputSignal<string | null>;
83
127
  /**
84
- * Dismisses the dialog without a result.
128
+ * Determines if the dialog enters a modal state when open.
129
+ * - `true`: focus is trapped, page scroll is locked, outside pointer events are disabled.
130
+ * - `false`: interaction with the rest of the document is allowed.
131
+ * - `'trap-focus'`: focus is trapped, but scroll is not locked and outside pointer events remain enabled.
85
132
  */
86
- dismiss(): void;
87
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxDialogContentDirective<any>, never>;
88
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxDialogContentDirective<any>, "[rdxDialogContent]", never, {}, {}, never, never, true, never>;
89
- }
90
-
91
- declare class RdxDialogTitleDirective {
92
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxDialogTitleDirective, never>;
93
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxDialogTitleDirective, "[rdxDialogTitle]", never, {}, {}, never, never, true, never>;
133
+ readonly modal: _angular_core.InputSignalWithTransform<RdxDialogModal, BooleanInput>;
134
+ /**
135
+ * Determines whether the dialog should close on outside clicks.
136
+ */
137
+ readonly disablePointerDismissal: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
138
+ /**
139
+ * Associates this root with detached trigger elements rendered outside of it.
140
+ */
141
+ readonly handle: _angular_core.InputSignal<RdxDialogHandle<any> | undefined>;
142
+ /**
143
+ * Event handler called when the dialog is opened or closed.
144
+ */
145
+ readonly onOpenChange: _angular_core.OutputEmitterRef<RdxDialogOpenChange>;
146
+ /**
147
+ * Event handler called after any animations complete when the dialog is opened or closed.
148
+ */
149
+ readonly onOpenChangeComplete: _angular_core.OutputEmitterRef<boolean>;
150
+ readonly contentId: string;
151
+ readonly titleId: _angular_core.WritableSignal<string | undefined>;
152
+ readonly descriptionId: _angular_core.WritableSignal<string | undefined>;
153
+ readonly trigger: _angular_core.WritableSignal<HTMLElement | undefined>;
154
+ readonly triggers: _angular_core.WritableSignal<HTMLElement[]>;
155
+ readonly payload: _angular_core.WritableSignal<unknown>;
156
+ readonly nestedOpenCount: _angular_core.WritableSignal<number>;
157
+ /** Whether this dialog is rendered inside another dialog. Fixed at construction. */
158
+ readonly nested: boolean;
159
+ readonly nestedDialogOpen: Signal<boolean>;
160
+ /** ARIA role, fixed at construction by the dialog variant (`alertdialog` for alert dialogs). */
161
+ readonly role: RdxDialogRole;
162
+ /** Effective modality: the variant can pin it to `true` regardless of the `modal` input. */
163
+ readonly effectiveModal: Signal<RdxDialogModal>;
164
+ /** Effective dismissal flag: disabled when the input asks, or when the variant forces it (alerts). */
165
+ readonly effectiveDisablePointerDismissal: Signal<boolean>;
166
+ constructor();
167
+ show(trigger?: HTMLElement | undefined, payload?: unknown, triggerId?: string, reason?: RdxDialogOpenChangeReason, event?: Event): void;
168
+ close(reason?: RdxDialogOpenChangeReason, event?: Event): void;
169
+ toggle(triggerId: string, trigger: HTMLElement, payload?: unknown, event?: Event): void;
170
+ registerTrigger(id: string, trigger: HTMLElement, payload: () => unknown): () => void;
171
+ /** Increments the nested-open counter and returns a release callback that decrements it. */
172
+ openNestedChild(): () => void;
173
+ private syncTriggerId;
174
+ private emitOpenChange;
175
+ private emitOpenChangeComplete;
176
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxDialogRoot, never>;
177
+ 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>;
94
178
  }
95
179
 
96
- declare class RdxDialogCloseDirective {
97
- private readonly ref;
98
- protected onClick(): void;
99
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxDialogCloseDirective, never>;
100
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxDialogCloseDirective, "[rdxDialogClose]", never, {}, {}, never, never, true, never>;
180
+ /**
181
+ * A button that opens the dialog.
182
+ */
183
+ declare class RdxDialogTrigger {
184
+ private readonly parentRootContext;
185
+ readonly elementRef: ElementRef<HTMLElement>;
186
+ /**
187
+ * Associates this trigger with a detached dialog root.
188
+ */
189
+ readonly handle: _angular_core.InputSignal<RdxDialogHandle<any> | undefined>;
190
+ /**
191
+ * Data associated with this trigger while it is active.
192
+ */
193
+ readonly payload: _angular_core.InputSignal<unknown>;
194
+ /**
195
+ * ID used to identify this trigger when opening a detached or controlled dialog.
196
+ */
197
+ readonly id: _angular_core.InputSignal<string | undefined>;
198
+ /**
199
+ * Whether the trigger should ignore user interaction.
200
+ */
201
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
202
+ private readonly generatedId;
203
+ protected readonly triggerId: _angular_core.Signal<string>;
204
+ protected readonly rootContext: _angular_core.Signal<_radix_ng_primitives_dialog.RdxDialogRootContext | null>;
205
+ protected readonly isOpen: _angular_core.Signal<boolean>;
206
+ constructor();
207
+ protected handleClick(event: MouseEvent): void;
208
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxDialogTrigger, never>;
209
+ 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>;
101
210
  }
102
211
 
103
- declare class RdxDialogDescriptionDirective {
104
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxDialogDescriptionDirective, never>;
105
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxDialogDescriptionDirective, "[rdxDialogDescription]", never, {}, {}, never, never, true, never>;
212
+ /**
213
+ * Moves the dialog to a different part of the DOM.
214
+ */
215
+ declare class RdxDialogPortal {
216
+ protected readonly rootContext: _radix_ng_primitives_dialog.RdxDialogRootContext;
217
+ /**
218
+ * Optional container to portal the content into. Defaults to `document.body`.
219
+ */
220
+ readonly container: _angular_core.InputSignal<RdxPortalContainer | undefined>;
221
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxDialogPortal, never>;
222
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxDialogPortal, "[rdxDialogPortal]", ["rdxDialogPortal"], { "container": { "alias": "container"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1$1.RdxPortal; inputs: { "container": "container"; }; outputs: {}; }]>;
106
223
  }
107
224
 
108
- declare class RdxDialogDismissDirective {
109
- private readonly ref;
110
- protected onClick(): void;
111
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxDialogDismissDirective, never>;
112
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxDialogDismissDirective, "button[rdxDialogDismiss]", never, {}, {}, never, never, true, never>;
225
+ /**
226
+ * An overlay displayed beneath the dialog popup.
227
+ */
228
+ declare class RdxDialogBackdrop {
229
+ protected readonly rootContext: _radix_ng_primitives_dialog.RdxDialogRootContext;
230
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxDialogBackdrop, never>;
231
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxDialogBackdrop, "[rdxDialogBackdrop]", ["rdxDialogBackdrop"], {}, {}, never, never, true, never>;
113
232
  }
114
233
 
115
- declare const DISMISSED_VALUE: {};
116
234
  /**
117
- * Represents a reference to an open dialog.
118
- * Provides methods and observables to interact with and monitor the dialog's state.
119
- * @template C - The type of the dialog's content component
235
+ * A positioning container for the dialog popup that can be made scrollable.
236
+ *
237
+ * Place it inside the portal, around the popup, to scroll the popup when it is taller than the
238
+ * viewport (outside scroll). Pointer events pass through while the dialog is closed.
120
239
  */
121
- declare class RdxDialogRef<C = unknown> {
122
- readonly cdkRef: DialogRef<RdxDialogResult<C> | typeof DISMISSED_VALUE, C>;
123
- readonly config: RdxDialogConfig<C>;
124
- private _previousTimeout;
125
- private readonly _openSignal;
126
- readonly state: i0.Signal<"open" | "closed">;
127
- closed$: Observable<RdxDialogResult<C> | undefined>;
128
- dismissed$: Observable<void>;
129
- result$: Observable<RdxDialogResult<C>>;
130
- /**
131
- * @param cdkRef - Reference to the underlying CDK dialog
132
- * @param config - Configuration options for the dialog
133
- */
134
- constructor(cdkRef: DialogRef<RdxDialogResult<C> | typeof DISMISSED_VALUE, C>, config: RdxDialogConfig<C>);
135
- get instance(): C | null;
136
- /**
137
- * Attempts to dismiss the dialog
138
- * Checks the canClose condition before dismissing
139
- */
140
- dismiss(): void;
141
- close(result: RdxDialogResult<C>): void;
240
+ declare class RdxDialogViewport {
241
+ protected readonly rootContext: _radix_ng_primitives_dialog.RdxDialogRootContext;
242
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxDialogViewport, never>;
243
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxDialogViewport, "[rdxDialogViewport]", ["rdxDialogViewport"], {}, {}, never, never, true, never>;
142
244
  }
245
+
143
246
  /**
144
- * Represents a simplified interface for dialog interaction
145
- * Typically used by dialog content components
146
- * @template R - The type of the result when closing the dialog
247
+ * A container for the dialog contents.
147
248
  */
148
- type RdxDialogSelfRef<R> = {
149
- dismiss(): void;
150
- close(res: R): void;
151
- };
152
-
153
- declare function injectDialogData<TData>(): TData & ɵDialogDataFlag;
154
- declare function injectDialogRef<R = void>(): RdxDialogSelfRef<R> & ɵDialogResultFlag<R>;
249
+ declare class RdxDialogPopup {
250
+ protected readonly rootContext: _radix_ng_primitives_dialog.RdxDialogRootContext;
251
+ private readonly dismissableLayer;
252
+ private readonly focusScope;
253
+ private dismissDetails;
254
+ /**
255
+ * Event handler called when the escape key is down. Can be prevented.
256
+ */
257
+ readonly escapeKeyDown: _angular_core.OutputRef<KeyboardEvent>;
258
+ /**
259
+ * Event handler called when a pointerdown event happens outside of the popup. Can be prevented.
260
+ */
261
+ readonly pointerDownOutside: _angular_core.OutputRef<PointerEvent>;
262
+ /**
263
+ * Event handler called when focus moves outside of the popup. Can be prevented.
264
+ */
265
+ readonly focusOutside: _angular_core.OutputRef<FocusEvent>;
266
+ /**
267
+ * Event handler called when an interaction happens outside of the popup. Can be prevented.
268
+ */
269
+ readonly interactOutside: _angular_core.OutputRef<PointerEvent | FocusEvent>;
270
+ /**
271
+ * Event handler called before focus moves into the popup. Can be prevented.
272
+ */
273
+ readonly openAutoFocus: _angular_core.OutputRef<Event>;
274
+ /**
275
+ * Event handler called before focus returns after the popup is removed. Can be prevented.
276
+ */
277
+ readonly closeAutoFocus: _angular_core.OutputRef<Event>;
278
+ constructor();
279
+ private isEventOnTrigger;
280
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxDialogPopup, never>;
281
+ 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 i1$2.RdxDismissableLayer; inputs: {}; outputs: {}; }, { directive: typeof i2.RdxFocusScope; inputs: {}; outputs: {}; }]>;
282
+ }
155
283
 
156
284
  /**
157
- * Configures the RdxDialog module by providing necessary dependencies.
158
- *
159
- * This function sets up the environment providers required for the RdxDialog to function,
160
- * specifically importing the Angular CDK's DialogModule.
161
- *
162
- * @returns {EnvironmentProviders} An EnvironmentProviders instance containing the DialogModule.
285
+ * An accessible title for the dialog.
163
286
  */
164
- declare function provideRdxDialogConfig(): EnvironmentProviders;
287
+ declare class RdxDialogTitle {
288
+ private readonly rootContext;
289
+ readonly id: string;
290
+ constructor();
291
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxDialogTitle, never>;
292
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxDialogTitle, "[rdxDialogTitle]", ["rdxDialogTitle"], {}, {}, never, never, true, never>;
293
+ }
294
+
165
295
  /**
166
- * Provides the RdxDialogService for dependency injection.
167
- *
168
- * This function is used to make the RdxDialogService available for injection
169
- * in components, directives, or other services that require dialog functionality.
170
- *
171
- * @returns {Provider} A provider for the RdxDialogService.
296
+ * An accessible description for the dialog.
172
297
  */
173
- declare function provideRdxDialog(): Provider;
298
+ declare class RdxDialogDescription {
299
+ private readonly rootContext;
300
+ readonly id: string;
301
+ constructor();
302
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxDialogDescription, never>;
303
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxDialogDescription, "[rdxDialogDescription]", ["rdxDialogDescription"], {}, {}, never, never, true, never>;
304
+ }
174
305
 
175
306
  /**
176
- * Modality control: When `isModal` is set to `true`, the dialog will:
177
- *
178
- * - Have a backdrop that blocks interaction with the rest of the page
179
- * - Disable closing by clicking outside or pressing Escape
180
- * - Set `aria-modal="true"` for screen readers
181
- * - Automatically focus the first tabbable element in the dialog
182
- * - Restore focus to the element that opened the dialog when it's closed
183
- *
184
- *
185
- * When `isModal` is `false`, the dialog will:
186
- *
187
- * - Not have a backdrop, allowing interaction with the rest of the page
188
- * - Allow closing by clicking outside or pressing Escape
189
- * - Not set `aria-modal` attribute
190
- * - Not automatically manage focus
307
+ * A button that closes the dialog.
191
308
  */
192
- declare class RdxDialogService {
193
- #private;
194
- open<C>(config: RdxDialogConfig<C>): RdxDialogRef<C>;
195
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxDialogService, never>;
196
- static ɵprov: i0.ɵɵInjectableDeclaration<RdxDialogService>;
309
+ declare class RdxDialogClose {
310
+ protected readonly rootContext: _radix_ng_primitives_dialog.RdxDialogRootContext;
311
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxDialogClose, never>;
312
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxDialogClose, "button[rdxDialogClose]", ["rdxDialogClose"], {}, {}, never, never, true, never>;
197
313
  }
198
314
 
315
+ declare const dialogImports: (typeof RdxDialogPortalPresence)[];
199
316
  declare class RdxDialogModule {
200
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxDialogModule, never>;
201
- static ɵmod: i0.ɵɵNgModuleDeclaration<RdxDialogModule, never, [typeof RdxDialogTriggerDirective, typeof RdxDialogContentDirective, typeof RdxDialogTitleDirective, typeof RdxDialogCloseDirective, typeof RdxDialogDescriptionDirective, typeof RdxDialogDismissDirective], [typeof RdxDialogTriggerDirective, typeof RdxDialogContentDirective, typeof RdxDialogTitleDirective, typeof RdxDialogCloseDirective, typeof RdxDialogDescriptionDirective, typeof RdxDialogDismissDirective]>;
202
- static ɵinj: i0.ɵɵInjectorDeclaration<RdxDialogModule>;
317
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxDialogModule, never>;
318
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<RdxDialogModule, never, [typeof RdxDialogRoot, typeof RdxDialogTrigger, typeof RdxDialogPortalPresence, typeof RdxDialogPortal, typeof RdxDialogBackdrop, typeof RdxDialogViewport, typeof RdxDialogPopup, typeof RdxDialogTitle, typeof RdxDialogDescription, typeof RdxDialogClose], [typeof RdxDialogRoot, typeof RdxDialogTrigger, typeof RdxDialogPortalPresence, typeof RdxDialogPortal, typeof RdxDialogBackdrop, typeof RdxDialogViewport, typeof RdxDialogPopup, typeof RdxDialogTitle, typeof RdxDialogDescription, typeof RdxDialogClose]>;
319
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<RdxDialogModule>;
203
320
  }
204
321
 
205
- export { DISMISSED_VALUE, RdxDialogCloseDirective, RdxDialogContentDirective, RdxDialogDescriptionDirective, RdxDialogDismissDirective, RdxDialogModule, RdxDialogRef, RdxDialogService, RdxDialogTitleDirective, RdxDialogTriggerDirective, getState, injectDialogData, injectDialogRef, provideRdxDialog, provideRdxDialogConfig };
206
- export type { RdxDialogConfig, RdxDialogData, RdxDialogResult, RdxDialogSelfRef, RdxDialogState, ɵDialogDataFlag, ɵDialogResultFlag };
322
+ export { RDX_DIALOG_VARIANT, RdxDialogBackdrop, RdxDialogClose, RdxDialogDescription, RdxDialogHandle, RdxDialogModule, RdxDialogPopup, RdxDialogPortal, RdxDialogPortalPresence, RdxDialogRoot, RdxDialogTitle, RdxDialogTrigger, RdxDialogViewport, createRdxDialogHandle, dialogImports, injectRdxDialogRootContext, provideRdxDialogRootContext, provideRdxDialogVariant };
323
+ export type { RdxDialogModal, RdxDialogOpenChange, RdxDialogOpenChangeReason, RdxDialogRole, RdxDialogRootContext, RdxDialogVariant };
@@ -1,6 +1,6 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { InjectionToken, Signal, Provider } from '@angular/core';
3
- import { BooleanInput } from '@angular/cdk/coercion';
2
+ import { Signal, InjectionToken, Provider } from '@angular/core';
3
+ import { BooleanInput } from '@radix-ng/primitives/core';
4
4
 
5
5
  /**
6
6
  * Listens for when focus happens outside a DOM subtree.
@@ -33,7 +33,7 @@ declare class RdxPointerDownOutside {
33
33
  readonly pointerDownOutside: _angular_core.OutputEmitterRef<PointerEvent>;
34
34
  private readonly isPointerInsideDOMTree;
35
35
  private readonly handleAndDispatchPointerDownOutsideEvent;
36
- private handleClick;
36
+ private handleClick?;
37
37
  constructor();
38
38
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxPointerDownOutside, never>;
39
39
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxPointerDownOutside, "[rdxPointerDownOutside]", ["rdxPointerDownOutside"], { "enabledInput": { "alias": "enabled"; "required": false; "isSignal": true; }; }, { "pointerDownOutside": "pointerDownOutside"; }, never, never, true, never>;
@@ -42,7 +42,7 @@ declare class RdxEscapeKeyDown {
42
42
  private readonly elementRef;
43
43
  private readonly destroyRef;
44
44
  readonly escapeKeyDown: _angular_core.OutputEmitterRef<KeyboardEvent>;
45
- private readonly afterNextRender;
45
+ constructor();
46
46
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxEscapeKeyDown, never>;
47
47
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxEscapeKeyDown, "[rdxEscapeKeyDown]", ["rdxEscapeKeyDown"], {}, { "escapeKeyDown": "escapeKeyDown"; }, never, never, true, never>;
48
48
  }
@@ -86,13 +86,21 @@ declare class RdxDismissableLayer {
86
86
  * the `DismissableLayer`. Users will need to click twice on outside elements to
87
87
  * interact with them: once to close the `DismissableLayer`, and again to trigger the element.
88
88
  */
89
- readonly disableOutsidePointerEvents: _angular_core.InputSignalWithTransform<boolean, unknown>;
90
- readonly layers: _angular_core.Signal<_angular_core.WritableSignal<RdxDismissableLayer[]>>;
89
+ readonly disableOutsidePointerEvents: _angular_core.InputSignalWithTransform<boolean | undefined, BooleanInput>;
90
+ readonly isOutsidePointerEventsDisabled: _angular_core.Signal<boolean>;
91
91
  protected readonly isBodyPointerEventsDisabled: _angular_core.Signal<boolean>;
92
92
  protected readonly isPointerEventsEnabled: _angular_core.Signal<boolean>;
93
93
  private readonly index;
94
- private readonly afterNextRender;
94
+ /** The topmost layer in the stack — the only one that should react to the Escape key. */
95
+ private readonly isHighestLayer;
95
96
  constructor();
97
+ /**
98
+ * Toggles `pointer-events: none` on the document body while any layer has
99
+ * `disableOutsidePointerEvents`. Ownership is shared across all layers via
100
+ * {@link originalBodyPointerEvents}: the original value is saved only on the global
101
+ * `0 -> >0` transition and restored only when the count returns to `0`.
102
+ */
103
+ private setupBodyPointerEvents;
96
104
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxDismissableLayer, never>;
97
105
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxDismissableLayer, "[rdxDismissableLayer]", ["rdxDismissableLayer"], { "disableOutsidePointerEvents": { "alias": "disableOutsidePointerEvents"; "required": false; "isSignal": true; }; }, { "escapeKeyDown": "escapeKeyDown"; "pointerDownOutside": "pointerDownOutside"; "focusOutside": "focusOutside"; "interactOutside": "interactOutside"; "dismiss": "dismiss"; }, never, never, true, [{ directive: typeof RdxPointerDownOutside; inputs: {}; outputs: {}; }, { directive: typeof RdxFocusOutside; inputs: {}; outputs: {}; }, { directive: typeof RdxEscapeKeyDown; inputs: {}; outputs: {}; }]>;
98
106
  }