@radix-ng/primitives 0.51.0 → 1.0.0-beta.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 (186) 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 +95 -83
  13. package/fesm2022/radix-ng-primitives-calendar.mjs.map +1 -1
  14. package/fesm2022/radix-ng-primitives-checkbox.mjs +378 -54
  15. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  16. package/fesm2022/radix-ng-primitives-collapsible.mjs +182 -81
  17. package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
  18. package/fesm2022/radix-ng-primitives-collection.mjs +40 -57
  19. package/fesm2022/radix-ng-primitives-collection.mjs.map +1 -1
  20. package/fesm2022/radix-ng-primitives-config.mjs.map +1 -1
  21. package/fesm2022/radix-ng-primitives-context-menu.mjs +140 -424
  22. package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -1
  23. package/fesm2022/radix-ng-primitives-core.mjs +845 -744
  24. package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
  25. package/fesm2022/radix-ng-primitives-cropper.mjs +288 -308
  26. package/fesm2022/radix-ng-primitives-cropper.mjs.map +1 -1
  27. package/fesm2022/radix-ng-primitives-date-field.mjs +104 -58
  28. package/fesm2022/radix-ng-primitives-date-field.mjs.map +1 -1
  29. package/fesm2022/radix-ng-primitives-dialog.mjs +655 -327
  30. package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
  31. package/fesm2022/radix-ng-primitives-dismissable-layer.mjs +70 -46
  32. package/fesm2022/radix-ng-primitives-dismissable-layer.mjs.map +1 -1
  33. package/fesm2022/radix-ng-primitives-drawer.mjs +960 -0
  34. package/fesm2022/radix-ng-primitives-drawer.mjs.map +1 -0
  35. package/fesm2022/radix-ng-primitives-editable.mjs +304 -23
  36. package/fesm2022/radix-ng-primitives-editable.mjs.map +1 -1
  37. package/fesm2022/radix-ng-primitives-field.mjs +363 -0
  38. package/fesm2022/radix-ng-primitives-field.mjs.map +1 -0
  39. package/fesm2022/radix-ng-primitives-fieldset.mjs +79 -0
  40. package/fesm2022/radix-ng-primitives-fieldset.mjs.map +1 -0
  41. package/fesm2022/radix-ng-primitives-focus-scope.mjs +23 -8
  42. package/fesm2022/radix-ng-primitives-focus-scope.mjs.map +1 -1
  43. package/fesm2022/radix-ng-primitives-input.mjs +172 -0
  44. package/fesm2022/radix-ng-primitives-input.mjs.map +1 -0
  45. package/fesm2022/radix-ng-primitives-label.mjs +6 -6
  46. package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
  47. package/fesm2022/radix-ng-primitives-menu.mjs +1907 -363
  48. package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
  49. package/fesm2022/radix-ng-primitives-menubar.mjs +290 -162
  50. package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
  51. package/fesm2022/radix-ng-primitives-meter.mjs +271 -0
  52. package/fesm2022/radix-ng-primitives-meter.mjs.map +1 -0
  53. package/fesm2022/radix-ng-primitives-navigation-menu.mjs +1052 -1553
  54. package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
  55. package/fesm2022/radix-ng-primitives-number-field.mjs +1102 -367
  56. package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
  57. package/fesm2022/radix-ng-primitives-pagination.mjs.map +1 -1
  58. package/fesm2022/radix-ng-primitives-popover.mjs +978 -989
  59. package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
  60. package/fesm2022/radix-ng-primitives-popper.mjs +111 -44
  61. package/fesm2022/radix-ng-primitives-popper.mjs.map +1 -1
  62. package/fesm2022/radix-ng-primitives-portal.mjs +34 -10
  63. package/fesm2022/radix-ng-primitives-portal.mjs.map +1 -1
  64. package/fesm2022/radix-ng-primitives-presence.mjs +134 -246
  65. package/fesm2022/radix-ng-primitives-presence.mjs.map +1 -1
  66. package/fesm2022/radix-ng-primitives-preview-card.mjs +997 -0
  67. package/fesm2022/radix-ng-primitives-preview-card.mjs.map +1 -0
  68. package/fesm2022/radix-ng-primitives-progress.mjs +223 -84
  69. package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
  70. package/fesm2022/radix-ng-primitives-radio.mjs +191 -51
  71. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
  72. package/fesm2022/radix-ng-primitives-roving-focus.mjs +96 -50
  73. package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
  74. package/fesm2022/radix-ng-primitives-scroll-area.mjs +923 -0
  75. package/fesm2022/radix-ng-primitives-scroll-area.mjs.map +1 -0
  76. package/fesm2022/radix-ng-primitives-select.mjs +791 -509
  77. package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
  78. package/fesm2022/radix-ng-primitives-separator.mjs +12 -35
  79. package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
  80. package/fesm2022/radix-ng-primitives-slider.mjs +969 -717
  81. package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
  82. package/fesm2022/radix-ng-primitives-stepper.mjs +15 -19
  83. package/fesm2022/radix-ng-primitives-stepper.mjs.map +1 -1
  84. package/fesm2022/radix-ng-primitives-switch.mjs +125 -113
  85. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  86. package/fesm2022/radix-ng-primitives-tabs.mjs +390 -108
  87. package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
  88. package/fesm2022/radix-ng-primitives-time-field.mjs +55 -46
  89. package/fesm2022/radix-ng-primitives-time-field.mjs.map +1 -1
  90. package/fesm2022/radix-ng-primitives-toast.mjs +839 -0
  91. package/fesm2022/radix-ng-primitives-toast.mjs.map +1 -0
  92. package/fesm2022/radix-ng-primitives-toggle-group.mjs +121 -247
  93. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  94. package/fesm2022/radix-ng-primitives-toggle.mjs +98 -61
  95. package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
  96. package/fesm2022/radix-ng-primitives-toolbar.mjs +303 -92
  97. package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
  98. package/fesm2022/radix-ng-primitives-tooltip.mjs +699 -1072
  99. package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
  100. package/fesm2022/radix-ng-primitives-visually-hidden.mjs +25 -66
  101. package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +1 -1
  102. package/meter/README.md +3 -0
  103. package/navigation-menu/README.md +2 -1
  104. package/package.json +39 -18
  105. package/portal/README.md +2 -0
  106. package/preview-card/README.md +3 -0
  107. package/schematics/collection.json +1 -0
  108. package/schematics/ng-add/index.d.ts +3 -2
  109. package/schematics/ng-add/index.js +62 -31
  110. package/schematics/ng-add/index.js.map +1 -1
  111. package/schematics/ng-add/package-config.d.ts +4 -2
  112. package/schematics/ng-add/package-config.js +10 -2
  113. package/schematics/ng-add/package-config.js.map +1 -1
  114. package/schematics/ng-add/schema.d.ts +3 -0
  115. package/schematics/ng-add/schema.js +3 -0
  116. package/schematics/ng-add/schema.js.map +1 -0
  117. package/schematics/ng-add/schema.json +14 -0
  118. package/select/README.md +2 -0
  119. package/types/radix-ng-primitives-accordion.d.ts +51 -16
  120. package/types/radix-ng-primitives-alert-dialog.d.ts +95 -38
  121. package/types/radix-ng-primitives-arrow.d.ts +1 -1
  122. package/types/radix-ng-primitives-aspect-ratio.d.ts +1 -1
  123. package/types/radix-ng-primitives-avatar.d.ts +7 -11
  124. package/types/radix-ng-primitives-button.d.ts +73 -0
  125. package/types/radix-ng-primitives-calendar.d.ts +39 -20
  126. package/types/radix-ng-primitives-checkbox.d.ts +204 -35
  127. package/types/radix-ng-primitives-collapsible.d.ts +114 -40
  128. package/types/radix-ng-primitives-collection.d.ts +38 -34
  129. package/types/radix-ng-primitives-config.d.ts +1 -1
  130. package/types/radix-ng-primitives-context-menu.d.ts +61 -116
  131. package/types/radix-ng-primitives-core.d.ts +345 -235
  132. package/types/radix-ng-primitives-cropper.d.ts +89 -56
  133. package/types/radix-ng-primitives-date-field.d.ts +49 -28
  134. package/types/radix-ng-primitives-dialog.d.ts +283 -165
  135. package/types/radix-ng-primitives-dismissable-layer.d.ts +15 -7
  136. package/types/radix-ng-primitives-drawer.d.ts +426 -0
  137. package/types/radix-ng-primitives-editable.d.ts +91 -14
  138. package/types/radix-ng-primitives-field.d.ts +374 -0
  139. package/types/radix-ng-primitives-fieldset.d.ts +49 -0
  140. package/types/radix-ng-primitives-focus-scope.d.ts +15 -6
  141. package/types/radix-ng-primitives-input.d.ts +87 -0
  142. package/types/radix-ng-primitives-label.d.ts +0 -1
  143. package/types/radix-ng-primitives-menu.d.ts +584 -99
  144. package/types/radix-ng-primitives-menubar.d.ts +61 -50
  145. package/types/radix-ng-primitives-meter.d.ts +194 -0
  146. package/types/radix-ng-primitives-navigation-menu.d.ts +422 -340
  147. package/types/radix-ng-primitives-number-field.d.ts +405 -145
  148. package/types/radix-ng-primitives-pagination.d.ts +2 -2
  149. package/types/radix-ng-primitives-popover.d.ts +366 -351
  150. package/types/radix-ng-primitives-popper.d.ts +68 -11
  151. package/types/radix-ng-primitives-portal.d.ts +14 -6
  152. package/types/radix-ng-primitives-presence.d.ts +28 -76
  153. package/types/radix-ng-primitives-preview-card.d.ts +359 -0
  154. package/types/radix-ng-primitives-progress.d.ts +175 -48
  155. package/types/radix-ng-primitives-radio.d.ts +55 -25
  156. package/types/radix-ng-primitives-roving-focus.d.ts +33 -23
  157. package/types/radix-ng-primitives-scroll-area.d.ts +253 -0
  158. package/types/radix-ng-primitives-select.d.ts +475 -177
  159. package/types/radix-ng-primitives-separator.d.ts +7 -32
  160. package/types/radix-ng-primitives-slider.d.ts +315 -201
  161. package/types/radix-ng-primitives-stepper.d.ts +5 -7
  162. package/types/radix-ng-primitives-switch.d.ts +86 -71
  163. package/types/radix-ng-primitives-tabs.d.ts +213 -79
  164. package/types/radix-ng-primitives-time-field.d.ts +42 -27
  165. package/types/radix-ng-primitives-toast.d.ts +378 -0
  166. package/types/radix-ng-primitives-toggle-group.d.ts +86 -164
  167. package/types/radix-ng-primitives-toggle.d.ts +43 -53
  168. package/types/radix-ng-primitives-toolbar.d.ts +164 -38
  169. package/types/radix-ng-primitives-tooltip.d.ts +348 -384
  170. package/types/radix-ng-primitives-visually-hidden.d.ts +19 -19
  171. package/dropdown-menu/README.md +0 -1
  172. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +0 -581
  173. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs.map +0 -1
  174. package/fesm2022/radix-ng-primitives-hover-card.mjs +0 -1238
  175. package/fesm2022/radix-ng-primitives-hover-card.mjs.map +0 -1
  176. package/fesm2022/radix-ng-primitives-select2.mjs +0 -897
  177. package/fesm2022/radix-ng-primitives-select2.mjs.map +0 -1
  178. package/fesm2022/radix-ng-primitives-tooltip2.mjs +0 -735
  179. package/fesm2022/radix-ng-primitives-tooltip2.mjs.map +0 -1
  180. package/hover-card/README.md +0 -3
  181. package/select2/README.md +0 -3
  182. package/tooltip2/README.md +0 -3
  183. package/types/radix-ng-primitives-dropdown-menu.d.ts +0 -171
  184. package/types/radix-ng-primitives-hover-card.d.ts +0 -471
  185. package/types/radix-ng-primitives-select2.d.ts +0 -511
  186. package/types/radix-ng-primitives-tooltip2.d.ts +0 -325
@@ -1,57 +1,114 @@
1
1
  import * as i0 from '@angular/core';
2
- import { TemplateRef, ViewContainerRef } from '@angular/core';
3
- import * as i1 from '@angular/cdk/a11y';
2
+ import * as i1 from '@radix-ng/primitives/dialog';
3
+ import { RdxDialogHandle } from '@radix-ng/primitives/dialog';
4
4
 
5
- declare class RdxAlertDialogRootDirective {
6
- private readonly viewContainerRef;
7
- private readonly alertDialogService;
8
- set content(template: TemplateRef<any>);
9
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxAlertDialogRootDirective, never>;
10
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAlertDialogRootDirective, "[rdxAlertDialogRoot]", never, { "content": { "alias": "content"; "required": false; }; }, {}, never, never, true, never>;
5
+ /**
6
+ * An overlay displayed beneath the alert dialog popup.
7
+ */
8
+ declare class RdxAlertDialogBackdrop {
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxAlertDialogBackdrop, never>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAlertDialogBackdrop, "[rdxAlertDialogBackdrop]", ["rdxAlertDialogBackdrop"], {}, {}, never, never, true, [{ directive: typeof i1.RdxDialogBackdrop; inputs: {}; outputs: {}; }]>;
11
11
  }
12
12
 
13
- declare class RdxAlertDialogContentDirective {
14
- private readonly renderer;
15
- private readonly elementRef;
16
- set maxWidth(value: string);
17
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxAlertDialogContentDirective, never>;
18
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAlertDialogContentDirective, "[rdxAlertDialogContent]", never, { "maxWidth": { "alias": "maxWidth"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.CdkTrapFocus; inputs: {}; outputs: {}; }]>;
13
+ /**
14
+ * Groups all parts of the alert dialog.
15
+ *
16
+ * Composes the Dialog primitive and forces alert-dialog semantics: it is always modal, never
17
+ * dismisses on outside pointer / focus-out interactions (Escape still closes), and renders its
18
+ * popup with `role="alertdialog"`. Assemble it from the `rdxAlertDialog*` parts (Popup, Backdrop,
19
+ * Title, Description, Close, Portal, Viewport), which are thin wrappers around the dialog parts.
20
+ */
21
+ declare class RdxAlertDialogRoot {
22
+ private readonly dialog;
23
+ /** Whether the alert dialog is open (read-only mirror of the composed dialog state). */
24
+ readonly open: i0.ModelSignal<boolean>;
25
+ /** The active trigger's id. */
26
+ readonly triggerId: i0.ModelSignal<string | null>;
27
+ /** Payload of the active trigger. */
28
+ readonly payload: i0.WritableSignal<unknown>;
29
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxAlertDialogRoot, never>;
30
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAlertDialogRoot, "[rdxAlertDialogRoot]", ["rdxAlertDialogRoot"], {}, {}, never, never, true, [{ directive: typeof i1.RdxDialogRoot; inputs: { "open": "open"; "defaultOpen": "defaultOpen"; "triggerId": "triggerId"; "defaultTriggerId": "defaultTriggerId"; "handle": "handle"; }; outputs: { "openChange": "openChange"; "triggerIdChange": "triggerIdChange"; "onOpenChange": "onOpenChange"; "onOpenChangeComplete": "onOpenChangeComplete"; }; }]>;
19
31
  }
20
32
 
21
- declare class RdxAlertDialogCancelDirective {
22
- private readonly alertDialogService;
23
- onClick(): void;
24
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxAlertDialogCancelDirective, never>;
25
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAlertDialogCancelDirective, "[rdxAlertDialogCancel]", never, {}, {}, never, never, true, never>;
33
+ /**
34
+ * A button that opens the alert dialog. Behaves exactly like the dialog trigger.
35
+ */
36
+ declare class RdxAlertDialogTrigger {
37
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxAlertDialogTrigger, never>;
38
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAlertDialogTrigger, "button[rdxAlertDialogTrigger]", ["rdxAlertDialogTrigger"], {}, {}, never, never, true, [{ directive: typeof i1.RdxDialogTrigger; inputs: { "handle": "handle"; "payload": "payload"; "id": "id"; "disabled": "disabled"; }; outputs: {}; }]>;
26
39
  }
27
40
 
28
- declare class RdxAlertDialogTriggerDirective {
29
- private readonly alertDialogService;
30
- handleClick(): void;
31
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxAlertDialogTriggerDirective, never>;
32
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAlertDialogTriggerDirective, "[rdxAlertDialogTrigger]", never, {}, {}, never, never, true, never>;
41
+ /**
42
+ * Mounts the portal while the alert dialog is open and waits for CSS exit keyframes before unmounting.
43
+ */
44
+ declare class RdxAlertDialogPortalPresence {
45
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxAlertDialogPortalPresence, never>;
46
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAlertDialogPortalPresence, "ng-template[rdxAlertDialogPortalPresence]", never, {}, {}, never, never, true, [{ directive: typeof i1.RdxDialogPortalPresence; inputs: {}; outputs: {}; }]>;
33
47
  }
34
48
 
35
- declare class RdxAlertDialogTitleDirective {
36
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxAlertDialogTitleDirective, never>;
37
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAlertDialogTitleDirective, "[rdxAlertDialogTitle]", never, {}, {}, never, never, true, never>;
49
+ /**
50
+ * Moves the alert dialog to a different part of the DOM. Defaults to `document.body`.
51
+ */
52
+ declare class RdxAlertDialogPortal {
53
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxAlertDialogPortal, never>;
54
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAlertDialogPortal, "[rdxAlertDialogPortal]", ["rdxAlertDialogPortal"], {}, {}, never, never, true, [{ directive: typeof i1.RdxDialogPortal; inputs: { "container": "container"; }; outputs: {}; }]>;
38
55
  }
39
56
 
40
- declare class RdxAlertDialogService {
41
- private overlayRef;
42
- private readonly overlay;
43
- private dialogContent;
44
- setDialogContent(viewContainerRef: ViewContainerRef, template: TemplateRef<any>): void;
45
- open(): void;
46
- close(): void;
47
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxAlertDialogService, never>;
48
- static ɵprov: i0.ɵɵInjectableDeclaration<RdxAlertDialogService>;
57
+ /**
58
+ * A scrollable positioning container for the alert dialog popup.
59
+ */
60
+ declare class RdxAlertDialogViewport {
61
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxAlertDialogViewport, never>;
62
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAlertDialogViewport, "[rdxAlertDialogViewport]", ["rdxAlertDialogViewport"], {}, {}, never, never, true, [{ directive: typeof i1.RdxDialogViewport; inputs: {}; outputs: {}; }]>;
49
63
  }
50
64
 
65
+ /**
66
+ * A container for the alert dialog contents. Wraps the dialog popup, which reads alert semantics
67
+ * (role, modal, dismissal) from the alert root's variant.
68
+ */
69
+ declare class RdxAlertDialogPopup {
70
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxAlertDialogPopup, never>;
71
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAlertDialogPopup, "[rdxAlertDialogPopup]", ["rdxAlertDialogPopup"], {}, {}, never, never, true, [{ directive: typeof i1.RdxDialogPopup; inputs: {}; outputs: { "escapeKeyDown": "escapeKeyDown"; "pointerDownOutside": "pointerDownOutside"; "focusOutside": "focusOutside"; "interactOutside": "interactOutside"; "openAutoFocus": "openAutoFocus"; "closeAutoFocus": "closeAutoFocus"; }; }]>;
72
+ }
73
+
74
+ /**
75
+ * An accessible title for the alert dialog.
76
+ */
77
+ declare class RdxAlertDialogTitle {
78
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxAlertDialogTitle, never>;
79
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAlertDialogTitle, "[rdxAlertDialogTitle]", ["rdxAlertDialogTitle"], {}, {}, never, never, true, [{ directive: typeof i1.RdxDialogTitle; inputs: {}; outputs: {}; }]>;
80
+ }
81
+
82
+ /**
83
+ * An accessible description for the alert dialog.
84
+ */
85
+ declare class RdxAlertDialogDescription {
86
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxAlertDialogDescription, never>;
87
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAlertDialogDescription, "[rdxAlertDialogDescription]", ["rdxAlertDialogDescription"], {}, {}, never, never, true, [{ directive: typeof i1.RdxDialogDescription; inputs: {}; outputs: {}; }]>;
88
+ }
89
+
90
+ /**
91
+ * A button that closes the alert dialog.
92
+ */
93
+ declare class RdxAlertDialogClose {
94
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxAlertDialogClose, never>;
95
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAlertDialogClose, "button[rdxAlertDialogClose]", ["rdxAlertDialogClose"], {}, {}, never, never, true, [{ directive: typeof i1.RdxDialogClose; inputs: {}; outputs: {}; }]>;
96
+ }
97
+
98
+ /**
99
+ * Connects an alert dialog root with trigger elements rendered elsewhere in the DOM.
100
+ *
101
+ * Alert dialogs reuse the dialog handle implementation unchanged.
102
+ */
103
+ declare const RdxAlertDialogHandle: typeof RdxDialogHandle;
104
+ type RdxAlertDialogHandle<Payload = unknown> = RdxDialogHandle<Payload>;
105
+ declare function createRdxAlertDialogHandle<Payload = unknown>(): RdxAlertDialogHandle<Payload>;
106
+
107
+ declare const alertDialogImports: (typeof RdxAlertDialogBackdrop)[];
51
108
  declare class RdxAlertDialogModule {
52
109
  static ɵfac: i0.ɵɵFactoryDeclaration<RdxAlertDialogModule, never>;
53
- static ɵmod: i0.ɵɵNgModuleDeclaration<RdxAlertDialogModule, never, [typeof RdxAlertDialogRootDirective, typeof RdxAlertDialogContentDirective, typeof RdxAlertDialogCancelDirective, typeof RdxAlertDialogTriggerDirective, typeof RdxAlertDialogTitleDirective], [typeof RdxAlertDialogRootDirective, typeof RdxAlertDialogContentDirective, typeof RdxAlertDialogCancelDirective, typeof RdxAlertDialogTriggerDirective, typeof RdxAlertDialogTitleDirective]>;
110
+ static ɵmod: i0.ɵɵNgModuleDeclaration<RdxAlertDialogModule, never, [typeof RdxAlertDialogRoot, typeof RdxAlertDialogTrigger, typeof RdxAlertDialogPortalPresence, typeof RdxAlertDialogPortal, typeof RdxAlertDialogBackdrop, typeof RdxAlertDialogViewport, typeof RdxAlertDialogPopup, typeof RdxAlertDialogTitle, typeof RdxAlertDialogDescription, typeof RdxAlertDialogClose], [typeof RdxAlertDialogRoot, typeof RdxAlertDialogTrigger, typeof RdxAlertDialogPortalPresence, typeof RdxAlertDialogPortal, typeof RdxAlertDialogBackdrop, typeof RdxAlertDialogViewport, typeof RdxAlertDialogPopup, typeof RdxAlertDialogTitle, typeof RdxAlertDialogDescription, typeof RdxAlertDialogClose]>;
54
111
  static ɵinj: i0.ɵɵInjectorDeclaration<RdxAlertDialogModule>;
55
112
  }
56
113
 
57
- export { RdxAlertDialogCancelDirective, RdxAlertDialogContentDirective, RdxAlertDialogModule, RdxAlertDialogRootDirective, RdxAlertDialogService, RdxAlertDialogTitleDirective, RdxAlertDialogTriggerDirective };
114
+ export { RdxAlertDialogBackdrop, RdxAlertDialogClose, RdxAlertDialogDescription, RdxAlertDialogHandle, RdxAlertDialogModule, RdxAlertDialogPopup, RdxAlertDialogPortal, RdxAlertDialogPortalPresence, RdxAlertDialogRoot, RdxAlertDialogTitle, RdxAlertDialogTrigger, RdxAlertDialogViewport, alertDialogImports, createRdxAlertDialogHandle };
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { NumberInput } from '@angular/cdk/coercion';
2
+ import { NumberInput } from '@radix-ng/primitives/core';
3
3
 
4
4
  declare class RdxArrow {
5
5
  readonly width: _angular_core.InputSignalWithTransform<number, NumberInput>;
@@ -1,6 +1,6 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { AfterViewInit } from '@angular/core';
3
- import { NumberInput } from '@angular/cdk/coercion';
3
+ import { NumberInput } from '@radix-ng/primitives/core';
4
4
 
5
5
  /**
6
6
  * Directive to maintain an aspect ratio for an element.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { WritableSignal, OnInit, OnDestroy, InjectionToken, Provider } from '@angular/core';
2
+ import { WritableSignal, InjectionToken, Provider } from '@angular/core';
3
3
 
4
4
  type RdxImageLoadingStatus = 'idle' | 'loading' | 'loaded' | 'error';
5
5
  type HTMLAttributeReferrerPolicy = '' | 'no-referrer' | 'no-referrer-when-downgrade' | 'origin' | 'origin-when-cross-origin' | 'same-origin' | 'strict-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url';
@@ -28,7 +28,6 @@ declare class RdxAvatarFallbackDirective {
28
28
  */
29
29
  readonly delayMs: i0.InputSignal<number>;
30
30
  protected readonly canRender: i0.WritableSignal<boolean>;
31
- private timeout;
32
31
  constructor();
33
32
  static ɵfac: i0.ɵɵFactoryDeclaration<RdxAvatarFallbackDirective, never>;
34
33
  static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAvatarFallbackDirective, "span[rdxAvatarFallback]", ["rdxAvatarFallback"], { "delayMs": { "alias": "delayMs"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -37,7 +36,7 @@ declare class RdxAvatarFallbackDirective {
37
36
  /**
38
37
  * @group Components
39
38
  */
40
- declare class RdxAvatarImageDirective implements OnInit, OnDestroy {
39
+ declare class RdxAvatarImageDirective {
41
40
  private readonly platformId;
42
41
  protected readonly rootContext: AvatarContextToken;
43
42
  /**
@@ -52,11 +51,8 @@ declare class RdxAvatarImageDirective implements OnInit, OnDestroy {
52
51
  * @group Emits
53
52
  */
54
53
  readonly onLoadingStatusChange: i0.OutputEmitterRef<RdxImageLoadingStatus>;
55
- private readonly isMounted;
56
54
  private readonly loadingStatus;
57
55
  constructor();
58
- ngOnInit(): void;
59
- ngOnDestroy(): void;
60
56
  static ɵfac: i0.ɵɵFactoryDeclaration<RdxAvatarImageDirective, never>;
61
57
  static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAvatarImageDirective, "img[rdxAvatarImage]", ["rdxAvatarImage"], { "src": { "alias": "src"; "required": false; "isSignal": true; }; "referrerPolicy": { "alias": "referrerPolicy"; "required": false; "isSignal": true; }; }, { "onLoadingStatusChange": "onLoadingStatusChange"; }, never, never, true, never>;
62
58
  }
@@ -74,11 +70,11 @@ declare const RdxAvatarConfigToken: InjectionToken<RdxAvatarConfig>;
74
70
  declare function provideRdxAvatarConfig(config: Partial<RdxAvatarConfig>): Provider[];
75
71
  declare function injectAvatarConfig(): RdxAvatarConfig;
76
72
 
77
- declare class RdxCheckboxModule {
78
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxCheckboxModule, never>;
79
- static ɵmod: i0.ɵɵNgModuleDeclaration<RdxCheckboxModule, never, [typeof RdxAvatarRootDirective, typeof RdxAvatarFallbackDirective, typeof RdxAvatarImageDirective], [typeof RdxAvatarRootDirective, typeof RdxAvatarFallbackDirective, typeof RdxAvatarImageDirective]>;
80
- static ɵinj: i0.ɵɵInjectorDeclaration<RdxCheckboxModule>;
73
+ declare class RdxAvatarModule {
74
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxAvatarModule, never>;
75
+ static ɵmod: i0.ɵɵNgModuleDeclaration<RdxAvatarModule, never, [typeof RdxAvatarRootDirective, typeof RdxAvatarFallbackDirective, typeof RdxAvatarImageDirective], [typeof RdxAvatarRootDirective, typeof RdxAvatarFallbackDirective, typeof RdxAvatarImageDirective]>;
76
+ static ɵinj: i0.ɵɵInjectorDeclaration<RdxAvatarModule>;
81
77
  }
82
78
 
83
- export { RdxAvatarConfigToken, RdxAvatarFallbackDirective, RdxAvatarImageDirective, RdxAvatarRootDirective, RdxCheckboxModule, defaultAvatarConfig, injectAvatarConfig, provideRdxAvatarConfig };
79
+ export { RdxAvatarConfigToken, RdxAvatarFallbackDirective, RdxAvatarImageDirective, RdxAvatarModule, RdxAvatarRootDirective, defaultAvatarConfig, injectAvatarConfig, provideRdxAvatarConfig };
84
80
  export type { RdxAvatarConfig, RdxImageLoadingStatus };
@@ -0,0 +1,73 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { BooleanInput } from '@radix-ng/primitives/core';
3
+
4
+ type RdxButtonType = 'button' | 'submit' | 'reset';
5
+ interface RdxButtonProps {
6
+ /**
7
+ * Whether the button is disabled.
8
+ * @defaultValue false
9
+ */
10
+ disabled?: boolean;
11
+ /**
12
+ * Whether the button should remain focusable when disabled. When `true`,
13
+ * the disabled state is expressed with `aria-disabled` (instead of the
14
+ * native `disabled` attribute) so the control stays in the tab order while
15
+ * its activation is suppressed.
16
+ * @defaultValue false
17
+ */
18
+ focusableWhenDisabled?: boolean;
19
+ /**
20
+ * The `type` attribute applied to native `<button>` hosts.
21
+ * @defaultValue 'button'
22
+ */
23
+ type?: RdxButtonType;
24
+ }
25
+ /**
26
+ * Headless button behavior, modeled on Base UI's `useButton`.
27
+ *
28
+ * Renders accessible button semantics on a native `<button>` or on any other
29
+ * element (e.g. `<a>`, `<span>`). Carries no styles — state is exposed via
30
+ * `data-disabled` for consumers to style.
31
+ *
32
+ * @group Components
33
+ */
34
+ declare class RdxButtonDirective {
35
+ private readonly elementRef;
36
+ /**
37
+ * Whether the button is disabled.
38
+ * @group Props
39
+ */
40
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
41
+ /**
42
+ * Keep the button focusable while disabled (uses `aria-disabled`).
43
+ * @group Props
44
+ */
45
+ readonly focusableWhenDisabled: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
46
+ /**
47
+ * The `type` attribute applied to native `<button>` hosts.
48
+ * @group Props
49
+ */
50
+ readonly type: _angular_core.InputSignal<RdxButtonType>;
51
+ /**
52
+ * @ignore
53
+ */
54
+ protected readonly isNativeButton: _angular_core.Signal<boolean>;
55
+ /**
56
+ * @ignore
57
+ * Express disabled via `aria-disabled` on non-button hosts, or whenever the
58
+ * control must stay focusable.
59
+ */
60
+ protected readonly ariaDisabled: _angular_core.Signal<"true" | undefined>;
61
+ /**
62
+ * @ignore
63
+ */
64
+ protected readonly tabIndex: _angular_core.Signal<-1 | 0 | undefined>;
65
+ constructor();
66
+ private handleClick;
67
+ private handleKeydown;
68
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxButtonDirective, never>;
69
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxButtonDirective, "[rdxButton]", ["rdxButton"], { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "focusableWhenDisabled": { "alias": "focusableWhenDisabled"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
70
+ }
71
+
72
+ export { RdxButtonDirective };
73
+ export type { RdxButtonProps, RdxButtonType };
@@ -1,12 +1,12 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { AfterViewInit, WritableSignal, InputSignal, ModelSignal, Signal } from '@angular/core';
2
+ import { Signal, InputSignal, ModelSignal } from '@angular/core';
3
3
  import { DateValue } from '@internationalized/date';
4
- import { DateMatcher, Formatter, Month } from '@radix-ng/primitives/core';
5
- import { BooleanInput } from '@angular/cdk/coercion';
4
+ import { DateMatcher, Formatter, BooleanInput, Month } from '@radix-ng/primitives/core';
6
5
 
7
- declare class RdxCalendarCellTriggerDirective implements AfterViewInit {
6
+ declare class RdxCalendarCellTriggerDirective {
8
7
  private readonly rootContext;
9
8
  private readonly elementRef;
9
+ constructor();
10
10
  /**
11
11
  * The date value provided to the cell trigger
12
12
  */
@@ -36,10 +36,13 @@ declare class RdxCalendarCellTriggerDirective implements AfterViewInit {
36
36
  * @ignore
37
37
  */
38
38
  currentElement: HTMLElement;
39
- ngAfterViewInit(): void;
40
39
  protected onClick(): void;
40
+ /** Select the date unless the cell is disabled/unavailable or the calendar is readonly. */
41
+ private select;
41
42
  protected onArrowKey(event: Event): void;
42
43
  private shiftFocus;
44
+ /** Focus the cell at `index`, skipping over a disabled cell in the same direction. */
45
+ private focusCell;
43
46
  /**
44
47
  * @ignore
45
48
  */
@@ -60,17 +63,20 @@ interface CalendarRootContextToken {
60
63
  nextPage?: (nextPageFunc?: (date: DateValue) => DateValue) => void;
61
64
  prevPage?: (nextPageFunc?: (date: DateValue) => DateValue) => void;
62
65
  isNextButtonDisabled: (nextPageFunc?: (date: DateValue) => DateValue) => boolean;
63
- isPrevButtonDisabled: (nextPageFunc?: (date: DateValue) => DateValue) => boolean;
64
- headingValue: WritableSignal<string>;
66
+ isPrevButtonDisabled: (prevPageFunc?: (date: DateValue) => DateValue) => boolean;
67
+ headingValue: Signal<string>;
65
68
  dir: InputSignal<'ltr' | 'rtl'>;
66
- readonly: boolean;
69
+ readonly: Signal<boolean>;
67
70
  numberOfMonths: InputSignal<number>;
68
71
  placeholder: ModelSignal<DateValue>;
69
- pagedNavigation: boolean;
70
- disabled: InputSignal<boolean>;
71
- isDateSelected?: DateMatcher;
72
- isDateDisabled?: DateMatcher;
73
- isDateUnavailable: DateMatcher;
72
+ pagedNavigation: Signal<boolean>;
73
+ disabled: Signal<boolean>;
74
+ /** Resolved matcher: whether the given date is currently selected. */
75
+ isDateSelected: DateMatcher;
76
+ /** Resolved matcher: disabled = root `disabled` OR `isDateDisabled` input OR outside min/max. */
77
+ dateDisabled: DateMatcher;
78
+ /** Resolved matcher: unavailable = `isDateUnavailable` input. */
79
+ dateUnavailable: DateMatcher;
74
80
  formatter: Formatter;
75
81
  onDateChange: (date: DateValue) => void;
76
82
  currentElement: HTMLElement;
@@ -135,7 +141,7 @@ declare class RdxCalendarPrevDirective {
135
141
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxCalendarPrevDirective, "button[rdxCalendarPrev]", ["rdxCalendarPrev"], { "prevPage": { "alias": "prevPage"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
136
142
  }
137
143
 
138
- declare class RdxCalendarRootDirective implements AfterViewInit {
144
+ declare class RdxCalendarRootDirective {
139
145
  private readonly elementRef;
140
146
  /**
141
147
  * The controlled checked state of the calendar
@@ -146,7 +152,7 @@ declare class RdxCalendarRootDirective implements AfterViewInit {
146
152
  */
147
153
  readonly defaultPlaceholder: _angular_core.ModelSignal<DateValue | undefined>;
148
154
  readonly locale: _angular_core.InputSignal<string>;
149
- readonly defaultDate: DateValue;
155
+ readonly defaultDate: _angular_core.Signal<DateValue>;
150
156
  /**
151
157
  * The placeholder date, which is used to determine what month to display when no date is selected.
152
158
  * This updates as the user navigates the calendar and can be used to programmatically control the calendar view
@@ -224,11 +230,11 @@ declare class RdxCalendarRootDirective implements AfterViewInit {
224
230
  /**
225
231
  * @ignore
226
232
  */
227
- readonly headingValue: _angular_core.WritableSignal<string>;
233
+ readonly headingValue: _angular_core.Signal<string>;
228
234
  /**
229
235
  * @ignore
230
236
  */
231
- readonly fullCalendarLabel: _angular_core.WritableSignal<string>;
237
+ readonly fullCalendarLabel: _angular_core.Signal<string>;
232
238
  /**
233
239
  * @ignore
234
240
  */
@@ -246,13 +252,27 @@ declare class RdxCalendarRootDirective implements AfterViewInit {
246
252
  */
247
253
  isPrevButtonDisabled: (nextPageFunc?: (date: DateValue) => DateValue) => boolean;
248
254
  /**
255
+ * Resolved matchers from the composable, exposed to child parts via context.
249
256
  * @ignore
250
257
  */
251
- isDateSelected: DateMatcher;
258
+ dateDisabled: DateMatcher;
259
+ /**
260
+ * @ignore
261
+ */
262
+ dateUnavailable: DateMatcher;
263
+ /**
264
+ * Selection + validity state, recomputed when the value or the matchers change.
265
+ * @ignore
266
+ */
267
+ private readonly _state;
268
+ /**
269
+ * @ignore
270
+ */
271
+ readonly isDateSelected: DateMatcher;
252
272
  /**
253
273
  * @ignore
254
274
  */
255
- isInvalid: boolean;
275
+ readonly isInvalid: _angular_core.Signal<boolean>;
256
276
  /**
257
277
  * @ignore
258
278
  */
@@ -267,7 +287,6 @@ declare class RdxCalendarRootDirective implements AfterViewInit {
267
287
  currentElement: HTMLElement;
268
288
  private readonly calendar;
269
289
  constructor();
270
- ngAfterViewInit(): void;
271
290
  /**
272
291
  * @ignore
273
292
  */