@radix-ng/primitives 1.0.5 → 1.0.7

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 (138) hide show
  1. package/aspect-ratio/README.md +1 -1
  2. package/fesm2022/radix-ng-primitives-accordion.mjs +40 -27
  3. package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
  4. package/fesm2022/radix-ng-primitives-alert-dialog.mjs +34 -34
  5. package/fesm2022/radix-ng-primitives-arrow.mjs +3 -3
  6. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs +11 -35
  7. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs.map +1 -1
  8. package/fesm2022/radix-ng-primitives-autocomplete.mjs +175 -125
  9. package/fesm2022/radix-ng-primitives-autocomplete.mjs.map +1 -1
  10. package/fesm2022/radix-ng-primitives-avatar.mjs +92 -35
  11. package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
  12. package/fesm2022/radix-ng-primitives-button.mjs +11 -7
  13. package/fesm2022/radix-ng-primitives-button.mjs.map +1 -1
  14. package/fesm2022/radix-ng-primitives-calendar.mjs +140 -90
  15. package/fesm2022/radix-ng-primitives-calendar.mjs.map +1 -1
  16. package/fesm2022/radix-ng-primitives-checkbox.mjs +63 -46
  17. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  18. package/fesm2022/radix-ng-primitives-collapsible.mjs +37 -25
  19. package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
  20. package/fesm2022/radix-ng-primitives-combobox.mjs +278 -177
  21. package/fesm2022/radix-ng-primitives-combobox.mjs.map +1 -1
  22. package/fesm2022/radix-ng-primitives-composite.mjs +50 -33
  23. package/fesm2022/radix-ng-primitives-composite.mjs.map +1 -1
  24. package/fesm2022/radix-ng-primitives-config.mjs +7 -5
  25. package/fesm2022/radix-ng-primitives-config.mjs.map +1 -1
  26. package/fesm2022/radix-ng-primitives-context-menu.mjs +48 -22
  27. package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -1
  28. package/fesm2022/radix-ng-primitives-core.mjs +44 -28
  29. package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
  30. package/fesm2022/radix-ng-primitives-cropper.mjs +73 -45
  31. package/fesm2022/radix-ng-primitives-cropper.mjs.map +1 -1
  32. package/fesm2022/radix-ng-primitives-date-field.mjs +70 -40
  33. package/fesm2022/radix-ng-primitives-date-field.mjs.map +1 -1
  34. package/fesm2022/radix-ng-primitives-dialog.mjs +93 -67
  35. package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
  36. package/fesm2022/radix-ng-primitives-direction-provider.mjs +5 -4
  37. package/fesm2022/radix-ng-primitives-direction-provider.mjs.map +1 -1
  38. package/fesm2022/radix-ng-primitives-dismissable-layer.mjs +20 -16
  39. package/fesm2022/radix-ng-primitives-dismissable-layer.mjs.map +1 -1
  40. package/fesm2022/radix-ng-primitives-drawer.mjs +107 -81
  41. package/fesm2022/radix-ng-primitives-drawer.mjs.map +1 -1
  42. package/fesm2022/radix-ng-primitives-editable.mjs +53 -39
  43. package/fesm2022/radix-ng-primitives-editable.mjs.map +1 -1
  44. package/fesm2022/radix-ng-primitives-field.mjs +76 -50
  45. package/fesm2022/radix-ng-primitives-field.mjs.map +1 -1
  46. package/fesm2022/radix-ng-primitives-fieldset.mjs +8 -7
  47. package/fesm2022/radix-ng-primitives-fieldset.mjs.map +1 -1
  48. package/fesm2022/radix-ng-primitives-floating-focus-manager.mjs +77 -40
  49. package/fesm2022/radix-ng-primitives-floating-focus-manager.mjs.map +1 -1
  50. package/fesm2022/radix-ng-primitives-focus-guards.mjs +3 -3
  51. package/fesm2022/radix-ng-primitives-focus-scope.mjs +7 -5
  52. package/fesm2022/radix-ng-primitives-focus-scope.mjs.map +1 -1
  53. package/fesm2022/radix-ng-primitives-form.mjs +26 -17
  54. package/fesm2022/radix-ng-primitives-form.mjs.map +1 -1
  55. package/fesm2022/radix-ng-primitives-input.mjs +41 -22
  56. package/fesm2022/radix-ng-primitives-input.mjs.map +1 -1
  57. package/fesm2022/radix-ng-primitives-label.mjs +11 -8
  58. package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
  59. package/fesm2022/radix-ng-primitives-menu.mjs +274 -154
  60. package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
  61. package/fesm2022/radix-ng-primitives-menubar.mjs +35 -17
  62. package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
  63. package/fesm2022/radix-ng-primitives-meter.mjs +41 -30
  64. package/fesm2022/radix-ng-primitives-meter.mjs.map +1 -1
  65. package/fesm2022/radix-ng-primitives-navigation-menu.mjs +220 -183
  66. package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
  67. package/fesm2022/radix-ng-primitives-number-field.mjs +93 -61
  68. package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
  69. package/fesm2022/radix-ng-primitives-pagination.mjs +48 -38
  70. package/fesm2022/radix-ng-primitives-pagination.mjs.map +1 -1
  71. package/fesm2022/radix-ng-primitives-popover.mjs +150 -107
  72. package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
  73. package/fesm2022/radix-ng-primitives-popper.mjs +79 -47
  74. package/fesm2022/radix-ng-primitives-popper.mjs.map +1 -1
  75. package/fesm2022/radix-ng-primitives-portal.mjs +20 -13
  76. package/fesm2022/radix-ng-primitives-portal.mjs.map +1 -1
  77. package/fesm2022/radix-ng-primitives-presence.mjs +3 -3
  78. package/fesm2022/radix-ng-primitives-preview-card.mjs +119 -74
  79. package/fesm2022/radix-ng-primitives-preview-card.mjs.map +1 -1
  80. package/fesm2022/radix-ng-primitives-progress.mjs +73 -46
  81. package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
  82. package/fesm2022/radix-ng-primitives-radio.mjs +58 -40
  83. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
  84. package/fesm2022/radix-ng-primitives-scroll-area.mjs +57 -41
  85. package/fesm2022/radix-ng-primitives-scroll-area.mjs.map +1 -1
  86. package/fesm2022/radix-ng-primitives-select.mjs +595 -102
  87. package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
  88. package/fesm2022/radix-ng-primitives-separator.mjs +11 -15
  89. package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
  90. package/fesm2022/radix-ng-primitives-slider.mjs +101 -64
  91. package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
  92. package/fesm2022/radix-ng-primitives-stepper.mjs +53 -39
  93. package/fesm2022/radix-ng-primitives-stepper.mjs.map +1 -1
  94. package/fesm2022/radix-ng-primitives-switch.mjs +25 -20
  95. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  96. package/fesm2022/radix-ng-primitives-tabs.mjs +76 -51
  97. package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
  98. package/fesm2022/radix-ng-primitives-time-field.mjs +72 -41
  99. package/fesm2022/radix-ng-primitives-time-field.mjs.map +1 -1
  100. package/fesm2022/radix-ng-primitives-toast.mjs +75 -56
  101. package/fesm2022/radix-ng-primitives-toast.mjs.map +1 -1
  102. package/fesm2022/radix-ng-primitives-toggle-group.mjs +39 -23
  103. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  104. package/fesm2022/radix-ng-primitives-toggle.mjs +36 -36
  105. package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
  106. package/fesm2022/radix-ng-primitives-toolbar.mjs +52 -31
  107. package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
  108. package/fesm2022/radix-ng-primitives-tooltip.mjs +118 -63
  109. package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
  110. package/fesm2022/radix-ng-primitives-visually-hidden.mjs +31 -20
  111. package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +1 -1
  112. package/package.json +2 -2
  113. package/types/radix-ng-primitives-accordion.d.ts +1 -0
  114. package/types/radix-ng-primitives-aspect-ratio.d.ts +10 -23
  115. package/types/radix-ng-primitives-autocomplete.d.ts +3 -1
  116. package/types/radix-ng-primitives-avatar.d.ts +51 -25
  117. package/types/radix-ng-primitives-checkbox.d.ts +26 -98
  118. package/types/radix-ng-primitives-combobox.d.ts +28 -9
  119. package/types/radix-ng-primitives-context-menu.d.ts +2 -0
  120. package/types/radix-ng-primitives-dialog.d.ts +6 -3
  121. package/types/radix-ng-primitives-field.d.ts +33 -207
  122. package/types/radix-ng-primitives-floating-focus-manager.d.ts +11 -0
  123. package/types/radix-ng-primitives-form.d.ts +24 -33
  124. package/types/radix-ng-primitives-label.d.ts +3 -2
  125. package/types/radix-ng-primitives-menu.d.ts +47 -15
  126. package/types/radix-ng-primitives-menubar.d.ts +6 -1
  127. package/types/radix-ng-primitives-navigation-menu.d.ts +8 -6
  128. package/types/radix-ng-primitives-number-field.d.ts +1 -1
  129. package/types/radix-ng-primitives-popover.d.ts +12 -4
  130. package/types/radix-ng-primitives-preview-card.d.ts +18 -5
  131. package/types/radix-ng-primitives-progress.d.ts +59 -121
  132. package/types/radix-ng-primitives-radio.d.ts +0 -1
  133. package/types/radix-ng-primitives-select.d.ts +186 -391
  134. package/types/radix-ng-primitives-separator.d.ts +0 -7
  135. package/types/radix-ng-primitives-toggle-group.d.ts +7 -3
  136. package/types/radix-ng-primitives-toggle.d.ts +8 -8
  137. package/types/radix-ng-primitives-toolbar.d.ts +2 -0
  138. package/types/radix-ng-primitives-tooltip.d.ts +17 -3
@@ -9,6 +9,7 @@ interface RdxMenubarContext {
9
9
  activeId: Signal<string | null>;
10
10
  isAnyOpen: Signal<boolean>;
11
11
  disabled: Signal<boolean>;
12
+ modal: Signal<boolean>;
12
13
  orientation: Signal<RdxMenubarOrientation>;
13
14
  registerItem: (id: string, el: HTMLElement, open: () => void, close: () => void, disabled: () => boolean) => () => void;
14
15
  activateItem: (id: string) => void;
@@ -32,12 +33,16 @@ declare class RdxMenubarRoot {
32
33
  private readonly itemsVersion;
33
34
  /** Whether every menubar trigger is disabled. */
34
35
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
36
+ /** Whether the child menus block outside interaction and lock scroll while open (Base UI default `true`). */
37
+ readonly modal: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
35
38
  /** Whether arrow-key navigation wraps at the first/last trigger. */
36
39
  readonly loopFocus: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
37
40
  /** The menubar orientation. */
38
41
  readonly orientation: _angular_core.InputSignal<RdxMenubarOrientation>;
39
42
  readonly activeId: _angular_core.WritableSignal<string | null>;
40
43
  readonly isAnyOpen: Signal<boolean>;
44
+ /** Whether a **nested submenu** is currently open (Base UI `data-has-submenu-open` — not top-level menus). */
45
+ readonly hasSubmenuOpen: Signal<boolean>;
41
46
  constructor();
42
47
  registerItem(id: string, el: HTMLElement, open: () => void, close: () => void, disabled: () => boolean): () => void;
43
48
  activateItem(id: string): void;
@@ -61,7 +66,7 @@ declare class RdxMenubarRoot {
61
66
  private syncDisabledIndices;
62
67
  private syncTabIndices;
63
68
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxMenubarRoot, never>;
64
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxMenubarRoot, "[rdxMenubarRoot]", ["rdxMenubarRoot"], { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "loopFocus": { "alias": "loopFocus"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; }, {}, ["menuRoots"], never, true, [{ directive: typeof i1.RdxCompositeRoot; inputs: {}; outputs: {}; }]>;
69
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxMenubarRoot, "[rdxMenubarRoot]", ["rdxMenubarRoot"], { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "modal": { "alias": "modal"; "required": false; "isSignal": true; }; "loopFocus": { "alias": "loopFocus"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; }, {}, ["menuRoots"], never, true, [{ directive: typeof i1.RdxCompositeRoot; inputs: {}; outputs: {}; }]>;
65
70
  }
66
71
 
67
72
  declare class RdxMenubarModule {
@@ -42,7 +42,7 @@ declare class RdxNavigationMenuPortalMisuseGuard {
42
42
 
43
43
  type NavigationMenuOrientation = 'horizontal' | 'vertical';
44
44
  type NavigationMenuDirection = 'ltr' | 'rtl';
45
- type RdxNavigationMenuOpenChangeReason = 'trigger-hover' | 'trigger-press' | 'list-navigation' | 'outside-press' | 'focus-out' | 'escape-key' | 'link-select' | 'list-leave' | 'none';
45
+ type RdxNavigationMenuOpenChangeReason = 'trigger-hover' | 'trigger-press' | 'list-navigation' | 'outside-press' | 'focus-out' | 'escape-key' | 'link-press' | 'list-leave' | 'none';
46
46
  type RdxNavigationMenuOpenChangeEventDetails = RdxCancelableChangeEventDetails<RdxNavigationMenuOpenChangeReason>;
47
47
  interface RdxNavigationMenuOpenChange {
48
48
  value: string | null;
@@ -237,10 +237,10 @@ declare class RdxNavigationMenuList {
237
237
  */
238
238
  declare class RdxNavigationMenuItem {
239
239
  private readonly rootContext;
240
- /**
241
- * A unique value that identifies the item. Falls back to a generated id.
242
- */
243
- readonly value: _angular_core.InputSignalWithTransform<string, string | undefined>;
240
+ /** A unique value that identifies the item. Falls back to a stable generated id. */
241
+ readonly valueInput: _angular_core.InputSignal<string | undefined>;
242
+ private readonly generatedValue;
243
+ readonly value: _angular_core.Signal<string>;
244
244
  /** The trigger element, set by the trigger directive. */
245
245
  readonly triggerRef: _angular_core.WritableSignal<HTMLElement | null>;
246
246
  /** Whether this item is the currently open one. */
@@ -248,7 +248,7 @@ declare class RdxNavigationMenuItem {
248
248
  readonly triggerId: _angular_core.Signal<string>;
249
249
  readonly contentId: _angular_core.Signal<string>;
250
250
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxNavigationMenuItem, never>;
251
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxNavigationMenuItem, "[rdxNavigationMenuItem]", ["rdxNavigationMenuItem"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
251
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxNavigationMenuItem, "[rdxNavigationMenuItem]", ["rdxNavigationMenuItem"], { "valueInput": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
252
252
  }
253
253
 
254
254
  /**
@@ -267,6 +267,8 @@ declare class RdxNavigationMenuTrigger {
267
267
  * Whether the content should also open when the trigger is hovered.
268
268
  */
269
269
  readonly openOnHover: _angular_core.InputSignalWithTransform<boolean, unknown>;
270
+ /** Whether the trigger is currently pressed (pointer down), for Base UI's `data-pressed`. */
271
+ protected readonly pressed: _angular_core.WritableSignal<boolean>;
270
272
  protected readonly open: _angular_core.Signal<boolean>;
271
273
  constructor();
272
274
  protected onClick(event: MouseEvent): void;
@@ -333,7 +333,7 @@ declare abstract class RdxNumberFieldButton {
333
333
  /** @ignore Disabled for display/focus purposes (own state, root disabled, or bound reached). */
334
334
  readonly buttonDisabled: _angular_core.Signal<boolean>;
335
335
  /** @ignore Disabled for interaction purposes (also blocked while read-only). */
336
- private readonly interactionDisabled;
336
+ readonly interactionDisabled: _angular_core.Signal<boolean>;
337
337
  private get direction();
338
338
  private get pressReason();
339
339
  /** @ignore */
@@ -48,6 +48,12 @@ declare class RdxPopoverHandle<Payload = unknown> {
48
48
  declare function createRdxPopoverHandle<Payload = unknown>(): RdxPopoverHandle<Payload>;
49
49
 
50
50
  type RdxPopoverModal = boolean | 'trap-focus';
51
+ /**
52
+ * Why the open/close happened instantly (no transition). Mirrors Base UI's `data-instant` value
53
+ * (`'click' | 'dismiss' | 'focus' | 'trigger-change'`) so consumers can disable transitions
54
+ * per-reason instead of only knowing that *some* instant change occurred.
55
+ */
56
+ type RdxPopoverInstantType = 'click' | 'dismiss' | 'focus' | 'trigger-change';
51
57
  type RdxPopoverOpenChangeReason = 'trigger-hover' | 'trigger-focus' | 'trigger-press' | 'outside-press' | 'escape-key' | 'close-press' | 'focus-out' | 'imperative-action' | 'none';
52
58
  type RdxPopoverOpenChangeEventDetails = RdxCancelableChangeEventDetails<RdxPopoverOpenChangeReason>;
53
59
  interface RdxPopoverOpenChange {
@@ -70,6 +76,7 @@ interface RdxPopoverRootContext {
70
76
  hasPopupClose: Signal<boolean>;
71
77
  isHoverActive: Signal<boolean>;
72
78
  instant: Signal<boolean>;
79
+ instantType: Signal<RdxPopoverInstantType | undefined>;
73
80
  openChangeReason: Signal<RdxPopoverOpenChangeReason>;
74
81
  isPointerDownOnTrigger: Signal<boolean>;
75
82
  /** Whether the current open was initiated by touch (ADR 0016 §3 — gates the anchored scroll lock). */
@@ -119,6 +126,7 @@ declare class RdxPopoverRoot {
119
126
  private readonly transition;
120
127
  readonly isHoverActive: _angular_core.WritableSignal<boolean>;
121
128
  readonly instant: _angular_core.WritableSignal<boolean>;
129
+ readonly instantType: _angular_core.WritableSignal<RdxPopoverInstantType | undefined>;
122
130
  readonly openChangeReason: _angular_core.WritableSignal<RdxPopoverOpenChangeReason>;
123
131
  readonly transitionStatus: Signal<RdxTransitionStatus>;
124
132
  /**
@@ -144,7 +152,7 @@ declare class RdxPopoverRoot {
144
152
  /**
145
153
  * Associates this root with detached trigger elements.
146
154
  */
147
- readonly handle: _angular_core.InputSignal<RdxPopoverHandle<any> | undefined>;
155
+ readonly handle: _angular_core.InputSignal<RdxPopoverHandle<unknown> | undefined>;
148
156
  readonly contentId: string;
149
157
  readonly beforeContentFocusGuard: _angular_core.WritableSignal<HTMLElement | null>;
150
158
  readonly descriptionId: _angular_core.WritableSignal<string | undefined>;
@@ -200,7 +208,7 @@ declare class RdxPopoverTrigger {
200
208
  /**
201
209
  * Associates this trigger with a detached popover root.
202
210
  */
203
- readonly handle: _angular_core.InputSignal<RdxPopoverHandle<any> | undefined>;
211
+ readonly handle: _angular_core.InputSignal<RdxPopoverHandle<unknown> | undefined>;
204
212
  /**
205
213
  * Data associated with this trigger while it is active.
206
214
  */
@@ -371,7 +379,7 @@ declare class RdxPopoverClose {
371
379
  * until its CSS animation or transition completes.
372
380
  */
373
381
  declare class RdxPopoverViewport {
374
- private readonly rootContext;
382
+ protected readonly rootContext: _radix_ng_primitives_popover.RdxPopoverRootContext;
375
383
  private readonly elementRef;
376
384
  private readonly destroyRef;
377
385
  private previous;
@@ -397,4 +405,4 @@ declare class RdxPopoverModule {
397
405
  }
398
406
 
399
407
  export { RdxPopoverArrow, RdxPopoverBackdrop, RdxPopoverClose, RdxPopoverDescription, RdxPopoverHandle, RdxPopoverModule, RdxPopoverPopup, RdxPopoverPortal, RdxPopoverPortalMisuseGuard, RdxPopoverPositioner, RdxPopoverRoot, RdxPopoverTitle, RdxPopoverTrigger, RdxPopoverViewport, createRdxPopoverHandle, injectRdxPopoverRootContext, popoverImports, provideRdxPopoverRootContext };
400
- export type { RdxPopoverModal, RdxPopoverOpenChange, RdxPopoverOpenChangeEventDetails, RdxPopoverOpenChangeReason, RdxPopoverRootContext, RdxPopoverTransitionStatus };
408
+ export type { RdxPopoverInstantType, RdxPopoverModal, RdxPopoverOpenChange, RdxPopoverOpenChangeEventDetails, RdxPopoverOpenChangeReason, RdxPopoverRootContext, RdxPopoverTransitionStatus };
@@ -46,6 +46,12 @@ declare class RdxPreviewCardHandle<Payload = unknown> {
46
46
  }
47
47
  declare function createRdxPreviewCardHandle<Payload = unknown>(): RdxPreviewCardHandle<Payload>;
48
48
 
49
+ /**
50
+ * Why an open/close happened instantly (no transition). Mirrors Base UI's preview-card `data-instant`:
51
+ * `'focus'` (opened by focus) or `'dismiss'` (closed by pressing the trigger or Escape). Hover
52
+ * opens/closes and outside-press closes are animated (`undefined`).
53
+ */
54
+ type RdxPreviewCardInstantType = 'dismiss' | 'focus';
49
55
  type RdxPreviewCardOpenChangeReason = 'trigger-hover' | 'trigger-focus' | 'trigger-press' | 'outside-press' | 'escape-key' | 'imperative-action' | 'none';
50
56
  type RdxPreviewCardOpenChangeEventDetails = RdxCancelableChangeEventDetails<RdxPreviewCardOpenChangeReason>;
51
57
  interface RdxPreviewCardOpenChange {
@@ -64,6 +70,8 @@ interface RdxPreviewCardRootContext {
64
70
  triggers: Signal<HTMLElement[]>;
65
71
  isHoverActive: Signal<boolean>;
66
72
  instant: Signal<boolean>;
73
+ /** Why the open/close was instant (Base UI `data-instant`), or `undefined` when it animates. */
74
+ instantType: Signal<RdxPreviewCardInstantType | undefined>;
67
75
  openChangeReason: Signal<RdxPreviewCardOpenChangeReason>;
68
76
  isPointerDownOnTrigger: Signal<boolean>;
69
77
  close: (reason?: RdxPreviewCardOpenChangeReason, event?: Event) => void;
@@ -128,7 +136,7 @@ declare class RdxPreviewCardRoot {
128
136
  /**
129
137
  * Associates this root with detached trigger elements.
130
138
  */
131
- readonly handle: _angular_core.InputSignal<RdxPreviewCardHandle<any> | undefined>;
139
+ readonly handle: _angular_core.InputSignal<RdxPreviewCardHandle<unknown> | undefined>;
132
140
  readonly contentId: string;
133
141
  readonly trigger: _angular_core.WritableSignal<HTMLElement | undefined>;
134
142
  readonly triggers: _angular_core.WritableSignal<HTMLElement[]>;
@@ -139,8 +147,13 @@ declare class RdxPreviewCardRoot {
139
147
  readonly onOpenChangeComplete: _angular_core.OutputEmitterRef<boolean>;
140
148
  private readonly registeredTriggers;
141
149
  private readonly viewportTriggerChange;
142
- readonly state: Signal<"open" | "closed">;
143
150
  readonly present: Signal<boolean>;
151
+ /**
152
+ * Base UI `data-instant` enum, derived from the instant flag + reason: `'focus'` for a focus open,
153
+ * `'dismiss'` for a trigger-press / Escape close, `undefined` otherwise — including an outside-press
154
+ * close and a trigger switch, which Base UI animates rather than marking instant.
155
+ */
156
+ readonly instantType: Signal<RdxPreviewCardInstantType | undefined>;
144
157
  constructor();
145
158
  show(trigger?: HTMLElement | undefined, payload?: unknown, triggerId?: string, reason?: RdxPreviewCardOpenChangeReason, event?: Event, fromHover?: boolean): void;
146
159
  close(reason?: RdxPreviewCardOpenChangeReason, event?: Event): void;
@@ -172,7 +185,7 @@ declare class RdxPreviewCardTrigger {
172
185
  /**
173
186
  * Associates this trigger with a detached preview-card root.
174
187
  */
175
- readonly handle: _angular_core.InputSignal<RdxPreviewCardHandle<any> | undefined>;
188
+ readonly handle: _angular_core.InputSignal<RdxPreviewCardHandle<unknown> | undefined>;
176
189
  /**
177
190
  * Data associated with this trigger while it is active.
178
191
  */
@@ -298,7 +311,7 @@ declare class RdxPreviewCardArrow {
298
311
  * until its CSS animation or transition completes.
299
312
  */
300
313
  declare class RdxPreviewCardViewport {
301
- private readonly rootContext;
314
+ protected readonly rootContext: _radix_ng_primitives_preview_card.RdxPreviewCardRootContext;
302
315
  private readonly elementRef;
303
316
  private readonly destroyRef;
304
317
  private previous;
@@ -324,4 +337,4 @@ declare class RdxPreviewCardModule {
324
337
  }
325
338
 
326
339
  export { RdxPreviewCardArrow, RdxPreviewCardBackdrop, RdxPreviewCardHandle, RdxPreviewCardModule, RdxPreviewCardPopup, RdxPreviewCardPortal, RdxPreviewCardPortalMisuseGuard, RdxPreviewCardPositioner, RdxPreviewCardRoot, RdxPreviewCardTrigger, RdxPreviewCardViewport, createRdxPreviewCardHandle, injectRdxPreviewCardRootContext, previewCardImports, provideRdxPreviewCardRootContext };
327
- export type { RdxPreviewCardOpenChange, RdxPreviewCardOpenChangeEventDetails, RdxPreviewCardOpenChangeReason, RdxPreviewCardRootContext, RdxPreviewCardTransitionStatus };
340
+ export type { RdxPreviewCardInstantType, RdxPreviewCardOpenChange, RdxPreviewCardOpenChangeEventDetails, RdxPreviewCardOpenChangeReason, RdxPreviewCardRootContext, RdxPreviewCardTransitionStatus };
@@ -1,4 +1,5 @@
1
- import * as _angular_core from '@angular/core';
1
+ import * as i0 from '@angular/core';
2
+ import { Signal } from '@angular/core';
2
3
  import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
3
4
  import * as _radix_ng_primitives_progress from '@radix-ng/primitives/progress';
4
5
 
@@ -10,46 +11,23 @@ interface ProgressProps {
10
11
  max?: number;
11
12
  valueLabel?: ProgressValueFormatter;
12
13
  }
13
- declare const progressRootContext: () => {
14
- labelId: _angular_core.InputSignal<string>;
15
- valueId: _angular_core.InputSignal<string>;
16
- minState: _angular_core.Signal<number>;
17
- maxState: _angular_core.Signal<number>;
18
- valueState: _angular_core.Signal<number | null>;
19
- percentageState: _angular_core.Signal<number | null>;
20
- valueLabelState: _angular_core.Signal<string | undefined>;
21
- progressState: _angular_core.Signal<ProgressState>;
22
- completeState: _angular_core.Signal<boolean>;
23
- progressingState: _angular_core.Signal<boolean>;
24
- indeterminateState: _angular_core.Signal<boolean>;
25
- };
26
- type RdxProgressRootContext = ReturnType<typeof progressRootContext>;
27
- declare const injectProgressRootContext: _radix_ng_primitives_core.InjectContext<{
28
- labelId: _angular_core.InputSignal<string>;
29
- valueId: _angular_core.InputSignal<string>;
30
- minState: _angular_core.Signal<number>;
31
- maxState: _angular_core.Signal<number>;
32
- valueState: _angular_core.Signal<number | null>;
33
- percentageState: _angular_core.Signal<number | null>;
34
- valueLabelState: _angular_core.Signal<string | undefined>;
35
- progressState: _angular_core.Signal<ProgressState>;
36
- completeState: _angular_core.Signal<boolean>;
37
- progressingState: _angular_core.Signal<boolean>;
38
- indeterminateState: _angular_core.Signal<boolean>;
39
- }>;
40
- declare const provideProgressRootContext: (useFactory: () => {
41
- labelId: _angular_core.InputSignal<string>;
42
- valueId: _angular_core.InputSignal<string>;
43
- minState: _angular_core.Signal<number>;
44
- maxState: _angular_core.Signal<number>;
45
- valueState: _angular_core.Signal<number | null>;
46
- percentageState: _angular_core.Signal<number | null>;
47
- valueLabelState: _angular_core.Signal<string | undefined>;
48
- progressState: _angular_core.Signal<ProgressState>;
49
- completeState: _angular_core.Signal<boolean>;
50
- progressingState: _angular_core.Signal<boolean>;
51
- indeterminateState: _angular_core.Signal<boolean>;
52
- }) => _angular_core.Provider;
14
+ interface RdxProgressRootContext {
15
+ labelId: Signal<string>;
16
+ valueId: Signal<string>;
17
+ minState: Signal<number>;
18
+ maxState: Signal<number>;
19
+ valueState: Signal<number | null>;
20
+ percentageState: Signal<number | null>;
21
+ valueLabelState: Signal<string | undefined>;
22
+ progressState: Signal<ProgressState>;
23
+ completeState: Signal<boolean>;
24
+ progressingState: Signal<boolean>;
25
+ indeterminateState: Signal<boolean>;
26
+ /** A Label part registers its presence; returns its unregister callback. */
27
+ registerLabel: () => () => void;
28
+ }
29
+ declare const injectProgressRootContext: _radix_ng_primitives_core.InjectContext<RdxProgressRootContext>;
30
+ declare const provideProgressRootContext: (useFactory: () => RdxProgressRootContext) => i0.Provider;
53
31
  /**
54
32
  * Provides progress state and accessibility attributes.
55
33
  *
@@ -62,43 +40,50 @@ declare class RdxProgressRootDirective {
62
40
  * @group Props
63
41
  * @defaultValue null
64
42
  */
65
- readonly value: _angular_core.InputSignalWithTransform<number | null, number | null>;
43
+ readonly value: i0.InputSignalWithTransform<number | null, number | null>;
66
44
  /**
67
45
  * Minimum progress value.
68
46
  *
69
47
  * @group Props
70
48
  * @defaultValue 0
71
49
  */
72
- readonly min: _angular_core.InputSignalWithTransform<number, unknown>;
50
+ readonly min: i0.InputSignalWithTransform<number, unknown>;
73
51
  /**
74
52
  * Maximum progress value.
75
53
  *
76
54
  * @group Props
77
55
  * @defaultValue 100
78
56
  */
79
- readonly max: _angular_core.InputSignalWithTransform<number, unknown>;
57
+ readonly max: i0.InputSignalWithTransform<number, unknown>;
80
58
  /**
81
59
  * Formats the current value for assistive technologies and `rdxProgressValue`.
82
60
  *
83
61
  * @group Props
84
62
  */
85
- readonly valueLabel: _angular_core.InputSignal<ProgressValueFormatter>;
86
- readonly labelId: _angular_core.InputSignal<string>;
87
- readonly valueId: _angular_core.InputSignal<string>;
88
- readonly minState: _angular_core.Signal<number>;
89
- readonly maxState: _angular_core.Signal<number>;
90
- readonly valueState: _angular_core.Signal<number | null>;
91
- readonly percentageState: _angular_core.Signal<number | null>;
92
- readonly valueLabelState: _angular_core.Signal<string | undefined>;
93
- readonly progressState: _angular_core.Signal<ProgressState>;
94
- readonly completeState: _angular_core.Signal<boolean>;
95
- readonly progressingState: _angular_core.Signal<boolean>;
96
- readonly indeterminateState: _angular_core.Signal<boolean>;
63
+ readonly valueLabel: i0.InputSignal<ProgressValueFormatter>;
64
+ readonly labelId: i0.InputSignal<string>;
65
+ readonly valueId: i0.InputSignal<string>;
66
+ readonly minState: Signal<number>;
67
+ readonly maxState: Signal<number>;
68
+ readonly valueState: Signal<number | null>;
69
+ readonly percentageState: Signal<number | null>;
70
+ readonly valueLabelState: Signal<string | undefined>;
71
+ /** `aria-valuetext`: the formatted label, or an explicit "indeterminate progress" (Base UI parity). */
72
+ readonly ariaValueText: Signal<string | undefined>;
73
+ readonly progressState: Signal<ProgressState>;
74
+ readonly completeState: Signal<boolean>;
75
+ readonly progressingState: Signal<boolean>;
76
+ readonly indeterminateState: Signal<boolean>;
97
77
  protected readonly dataAttr: (value: boolean) => "" | undefined;
78
+ private readonly labelCount;
79
+ /** Whether at least one `rdxProgressLabel` is currently mounted. */
80
+ readonly hasLabel: Signal<boolean>;
81
+ /** @ignore Called by `rdxProgressLabel` on mount; returns its unregister callback. */
82
+ registerLabel(): () => void;
98
83
  private valueTransform;
99
84
  private defaultValueLabel;
100
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxProgressRootDirective, never>;
101
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxProgressRootDirective, "[rdxProgressRoot]", ["rdxProgressRoot"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "valueLabel": { "alias": "valueLabel"; "required": false; "isSignal": true; }; "labelId": { "alias": "labelId"; "required": false; "isSignal": true; }; "valueId": { "alias": "valueId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
85
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxProgressRootDirective, never>;
86
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxProgressRootDirective, "[rdxProgressRoot]", ["rdxProgressRoot"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "valueLabel": { "alias": "valueLabel"; "required": false; "isSignal": true; }; "labelId": { "alias": "labelId"; "required": false; "isSignal": true; }; "valueId": { "alias": "valueId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
102
87
  }
103
88
 
104
89
  /**
@@ -107,22 +92,11 @@ declare class RdxProgressRootDirective {
107
92
  * @group Components
108
93
  */
109
94
  declare class RdxProgressLabelDirective {
110
- protected readonly progress: {
111
- labelId: _angular_core.InputSignal<string>;
112
- valueId: _angular_core.InputSignal<string>;
113
- minState: _angular_core.Signal<number>;
114
- maxState: _angular_core.Signal<number>;
115
- valueState: _angular_core.Signal<number | null>;
116
- percentageState: _angular_core.Signal<number | null>;
117
- valueLabelState: _angular_core.Signal<string | undefined>;
118
- progressState: _angular_core.Signal<_radix_ng_primitives_progress.ProgressState>;
119
- completeState: _angular_core.Signal<boolean>;
120
- progressingState: _angular_core.Signal<boolean>;
121
- indeterminateState: _angular_core.Signal<boolean>;
122
- };
95
+ protected readonly progress: _radix_ng_primitives_progress.RdxProgressRootContext;
123
96
  protected readonly dataAttr: (value: boolean) => "" | undefined;
124
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxProgressLabelDirective, never>;
125
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxProgressLabelDirective, "[rdxProgressLabel]", ["rdxProgressLabel"], {}, {}, never, never, true, never>;
97
+ constructor();
98
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxProgressLabelDirective, never>;
99
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxProgressLabelDirective, "[rdxProgressLabel]", ["rdxProgressLabel"], {}, {}, never, never, true, never>;
126
100
  }
127
101
 
128
102
  /**
@@ -131,22 +105,10 @@ declare class RdxProgressLabelDirective {
131
105
  * @group Components
132
106
  */
133
107
  declare class RdxProgressValueDirective {
134
- protected readonly progress: {
135
- labelId: _angular_core.InputSignal<string>;
136
- valueId: _angular_core.InputSignal<string>;
137
- minState: _angular_core.Signal<number>;
138
- maxState: _angular_core.Signal<number>;
139
- valueState: _angular_core.Signal<number | null>;
140
- percentageState: _angular_core.Signal<number | null>;
141
- valueLabelState: _angular_core.Signal<string | undefined>;
142
- progressState: _angular_core.Signal<_radix_ng_primitives_progress.ProgressState>;
143
- completeState: _angular_core.Signal<boolean>;
144
- progressingState: _angular_core.Signal<boolean>;
145
- indeterminateState: _angular_core.Signal<boolean>;
146
- };
108
+ protected readonly progress: _radix_ng_primitives_progress.RdxProgressRootContext;
147
109
  protected readonly dataAttr: (value: boolean) => "" | undefined;
148
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxProgressValueDirective, never>;
149
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxProgressValueDirective, "[rdxProgressValue]", ["rdxProgressValue"], {}, {}, never, never, true, never>;
110
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxProgressValueDirective, never>;
111
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxProgressValueDirective, "[rdxProgressValue]", ["rdxProgressValue"], {}, {}, never, never, true, never>;
150
112
  }
151
113
 
152
114
  /**
@@ -155,22 +117,10 @@ declare class RdxProgressValueDirective {
155
117
  * @group Components
156
118
  */
157
119
  declare class RdxProgressTrackDirective {
158
- protected readonly progress: {
159
- labelId: _angular_core.InputSignal<string>;
160
- valueId: _angular_core.InputSignal<string>;
161
- minState: _angular_core.Signal<number>;
162
- maxState: _angular_core.Signal<number>;
163
- valueState: _angular_core.Signal<number | null>;
164
- percentageState: _angular_core.Signal<number | null>;
165
- valueLabelState: _angular_core.Signal<string | undefined>;
166
- progressState: _angular_core.Signal<_radix_ng_primitives_progress.ProgressState>;
167
- completeState: _angular_core.Signal<boolean>;
168
- progressingState: _angular_core.Signal<boolean>;
169
- indeterminateState: _angular_core.Signal<boolean>;
170
- };
120
+ protected readonly progress: _radix_ng_primitives_progress.RdxProgressRootContext;
171
121
  protected readonly dataAttr: (value: boolean) => "" | undefined;
172
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxProgressTrackDirective, never>;
173
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxProgressTrackDirective, "[rdxProgressTrack]", ["rdxProgressTrack"], {}, {}, never, never, true, never>;
122
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxProgressTrackDirective, never>;
123
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxProgressTrackDirective, "[rdxProgressTrack]", ["rdxProgressTrack"], {}, {}, never, never, true, never>;
174
124
  }
175
125
 
176
126
  /**
@@ -179,28 +129,16 @@ declare class RdxProgressTrackDirective {
179
129
  * @group Components
180
130
  */
181
131
  declare class RdxProgressIndicatorDirective {
182
- protected readonly progress: {
183
- labelId: _angular_core.InputSignal<string>;
184
- valueId: _angular_core.InputSignal<string>;
185
- minState: _angular_core.Signal<number>;
186
- maxState: _angular_core.Signal<number>;
187
- valueState: _angular_core.Signal<number | null>;
188
- percentageState: _angular_core.Signal<number | null>;
189
- valueLabelState: _angular_core.Signal<string | undefined>;
190
- progressState: _angular_core.Signal<_radix_ng_primitives_progress.ProgressState>;
191
- completeState: _angular_core.Signal<boolean>;
192
- progressingState: _angular_core.Signal<boolean>;
193
- indeterminateState: _angular_core.Signal<boolean>;
194
- };
132
+ protected readonly progress: _radix_ng_primitives_progress.RdxProgressRootContext;
195
133
  protected readonly dataAttr: (value: boolean) => "" | undefined;
196
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxProgressIndicatorDirective, never>;
197
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxProgressIndicatorDirective, "[rdxProgressIndicator]", ["rdxProgressIndicator"], {}, {}, never, never, true, never>;
134
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxProgressIndicatorDirective, never>;
135
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxProgressIndicatorDirective, "[rdxProgressIndicator]", ["rdxProgressIndicator"], {}, {}, never, never, true, never>;
198
136
  }
199
137
 
200
138
  declare class RdxProgressModule {
201
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxProgressModule, never>;
202
- static ɵmod: _angular_core.ɵɵNgModuleDeclaration<RdxProgressModule, never, [typeof RdxProgressRootDirective, typeof RdxProgressLabelDirective, typeof RdxProgressValueDirective, typeof RdxProgressTrackDirective, typeof RdxProgressIndicatorDirective], [typeof RdxProgressRootDirective, typeof RdxProgressLabelDirective, typeof RdxProgressValueDirective, typeof RdxProgressTrackDirective, typeof RdxProgressIndicatorDirective]>;
203
- static ɵinj: _angular_core.ɵɵInjectorDeclaration<RdxProgressModule>;
139
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxProgressModule, never>;
140
+ static ɵmod: i0.ɵɵNgModuleDeclaration<RdxProgressModule, never, [typeof RdxProgressRootDirective, typeof RdxProgressLabelDirective, typeof RdxProgressValueDirective, typeof RdxProgressTrackDirective, typeof RdxProgressIndicatorDirective], [typeof RdxProgressRootDirective, typeof RdxProgressLabelDirective, typeof RdxProgressValueDirective, typeof RdxProgressTrackDirective, typeof RdxProgressIndicatorDirective]>;
141
+ static ɵinj: i0.ɵɵInjectorDeclaration<RdxProgressModule>;
204
142
  }
205
143
 
206
144
  export { RdxProgressIndicatorDirective, RdxProgressLabelDirective, RdxProgressModule, RdxProgressRootDirective, RdxProgressTrackDirective, RdxProgressValueDirective, injectProgressRootContext, provideProgressRootContext };
@@ -93,7 +93,6 @@ declare class RdxRadioGroupDirective implements ControlValueAccessor, RdxFormVal
93
93
  setDisabledState(isDisabled: boolean): void;
94
94
  setArrowNavigation(value: boolean): void;
95
95
  isArrowNavigation(): boolean;
96
- protected onKeydown(): void;
97
96
  /**
98
97
  * Marks the control touched when focus leaves the whole group (Base UI `RadioGroup` parity and the
99
98
  * ADR 0004 CVA strategy) — moving focus between items stays inside, so `relatedTarget` is checked.