@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,214 +1,512 @@
1
- import * as i0 from '@angular/core';
2
- import { AfterViewInit, OnDestroy, NgZone, OnInit, AfterContentInit, ElementRef, ChangeDetectorRef, EventEmitter, DestroyRef, QueryList } from '@angular/core';
3
- import { ActiveDescendantKeyManager, Highlightable } from '@angular/cdk/a11y';
4
- import { Directionality } from '@angular/cdk/bidi';
5
- import { Observable, Subject } from 'rxjs';
6
- import { SelectionModel } from '@angular/cdk/collections';
7
- import { Overlay, CdkConnectedOverlay, ConnectedPosition } from '@angular/cdk/overlay';
8
-
9
- declare class RdxSelectValueDirective {
10
- select: RdxSelectComponent;
11
- placeholder: string;
12
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxSelectValueDirective, never>;
13
- static ɵcmp: i0.ɵɵComponentDeclaration<RdxSelectValueDirective, "[rdxSelectValue]", ["rdxSelectValue"], { "placeholder": { "alias": "placeholder"; "required": false; }; }, {}, never, never, true, never>;
14
- }
15
-
16
- declare class RdxSelectTriggerDirective implements AfterViewInit, OnDestroy {
17
- readonly ngZone: NgZone;
18
- protected nativeElement: any;
19
- protected select: RdxSelectComponent;
20
- protected readonly value: i0.Signal<RdxSelectValueDirective>;
21
- private resizeObserver;
22
- ngAfterViewInit(): void;
23
- ngOnDestroy(): void;
24
- focus(): void;
25
- private observeTriggerResize;
26
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxSelectTriggerDirective, never>;
27
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxSelectTriggerDirective, "[rdxSelectTrigger]", never, {}, {}, ["value"], never, true, never>;
28
- }
29
-
30
- declare class RdxSelectComponent implements OnInit, AfterContentInit {
31
- protected overlay: Overlay;
32
- protected elementRef: ElementRef<any>;
33
- protected changeDetectorRef: ChangeDetectorRef;
34
- private readonly destroyRef;
35
- private readonly ngZone;
36
- protected readonly trigger: i0.Signal<RdxSelectTriggerDirective>;
37
- protected readonly content: i0.Signal<RdxSelectContentDirective>;
38
- readonly items: i0.Signal<readonly RdxSelectItemDirective[]>;
39
- readonly overlayDir: i0.Signal<CdkConnectedOverlay>;
1
+ import * as _angular_core from '@angular/core';
2
+ import { InjectionToken, OutputRef, ElementRef } from '@angular/core';
3
+ import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
4
+ import { AcceptableValue, Direction } from '@radix-ng/primitives/core';
5
+ import * as _radix_ng_primitives_select from '@radix-ng/primitives/select';
6
+ import * as i1 from '@radix-ng/primitives/focus-scope';
7
+ import * as i2 from '@radix-ng/primitives/dismissable-layer';
8
+ import * as i3 from '@radix-ng/primitives/collection';
9
+ import * as _radix_ng_primitives_types_radix_ng_primitives_core from '@radix-ng/primitives/types/radix-ng-primitives-core';
10
+ import * as i1$1 from '@radix-ng/primitives/popper';
11
+ import * as i1$2 from '@radix-ng/primitives/portal';
12
+ import { RdxPortalContainer } from '@radix-ng/primitives/portal';
13
+ import * as i1$3 from '@radix-ng/primitives/presence';
14
+
15
+ declare class RdxSelectLabel {
16
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectLabel, never>;
17
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectLabel, "[rdxSelectLabel]", never, {}, {}, never, never, true, never>;
18
+ }
19
+
20
+ declare const context$2: () => {
21
+ content: _angular_core.WritableSignal<HTMLElement | null>;
22
+ viewport: _angular_core.WritableSignal<HTMLElement | undefined>;
23
+ isPositioned: _angular_core.WritableSignal<boolean>;
24
+ selectedItem: _angular_core.WritableSignal<HTMLElement | undefined>;
25
+ selectedItemText: _angular_core.WritableSignal<HTMLElement | undefined>;
26
+ onViewportChange: (node: any) => void;
27
+ onItemLeave: () => void;
28
+ itemRefCallback: (node: any, value: any, disabled: boolean) => void;
29
+ itemTextRefCallback: (node: any, value: any, disabled: any) => void;
30
+ };
31
+ type RdxSelectContentContext = ReturnType<typeof context$2>;
32
+ declare const injectSelectContentContext: (optional?: boolean) => {
33
+ content: _angular_core.WritableSignal<HTMLElement | null>;
34
+ viewport: _angular_core.WritableSignal<HTMLElement | undefined>;
35
+ isPositioned: _angular_core.WritableSignal<boolean>;
36
+ selectedItem: _angular_core.WritableSignal<HTMLElement | undefined>;
37
+ selectedItemText: _angular_core.WritableSignal<HTMLElement | undefined>;
38
+ onViewportChange: (node: any) => void;
39
+ onItemLeave: () => void;
40
+ itemRefCallback: (node: any, value: any, disabled: boolean) => void;
41
+ itemTextRefCallback: (node: any, value: any, disabled: any) => void;
42
+ } | null;
43
+ declare const provideSelectContentContext: (useFactory: () => {
44
+ content: _angular_core.WritableSignal<HTMLElement | null>;
45
+ viewport: _angular_core.WritableSignal<HTMLElement | undefined>;
46
+ isPositioned: _angular_core.WritableSignal<boolean>;
47
+ selectedItem: _angular_core.WritableSignal<HTMLElement | undefined>;
48
+ selectedItemText: _angular_core.WritableSignal<HTMLElement | undefined>;
49
+ onViewportChange: (node: any) => void;
50
+ onItemLeave: () => void;
51
+ itemRefCallback: (node: any, value: any, disabled: boolean) => void;
52
+ itemTextRefCallback: (node: any, value: any, disabled: any) => void;
53
+ }) => _angular_core.Provider;
54
+ interface RdxPositionerImpl {
55
+ placed: OutputRef<any>;
56
+ }
57
+ declare const RDX_SELECT_POSITIONER_TOKEN: InjectionToken<RdxPositionerImpl>;
58
+ declare class RdxSelectContent {
59
+ private readonly dismissableLayer;
60
+ private readonly currentElement;
61
+ private readonly collection;
62
+ readonly rootContext: {
63
+ triggerElement: _angular_core.WritableSignal<HTMLElement | null>;
64
+ valueElement: _angular_core.WritableSignal<HTMLElement | null>;
65
+ triggerPointerDownPosRef: _angular_core.WritableSignal<{
66
+ x: number;
67
+ y: number;
68
+ } | null>;
69
+ contentId: string;
70
+ dir: _angular_core.InputSignal<_radix_ng_primitives_core.Direction>;
71
+ value: _angular_core.ModelSignal<_radix_ng_primitives_core.AcceptableValue | _radix_ng_primitives_core.AcceptableValue[] | undefined>;
72
+ multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
73
+ by: _angular_core.InputSignal<string | ((a: _radix_ng_primitives_core.AcceptableValue, b: _radix_ng_primitives_core.AcceptableValue) => boolean) | undefined>;
74
+ open: _angular_core.ModelSignal<boolean>;
75
+ disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
76
+ optionsSet: _angular_core.WritableSignal<Set<_radix_ng_primitives_select.SelectOption>>;
77
+ onOptionAdd: (option: any) => void;
78
+ onOptionRemove: (option: any) => void;
79
+ onValueChange: (value: _radix_ng_primitives_core.AcceptableValue) => void;
80
+ onTriggerChange: (node: any) => void;
81
+ onValueElementChange: (node: any) => void;
82
+ onOpenChange: (value: any) => void;
83
+ };
84
+ readonly selectedItem: _angular_core.WritableSignal<HTMLElement | undefined>;
85
+ readonly selectedItemText: _angular_core.WritableSignal<HTMLElement | undefined>;
86
+ readonly firstValidItemFoundRef: _angular_core.WritableSignal<boolean>;
87
+ readonly viewport: _angular_core.WritableSignal<HTMLElement | undefined>;
88
+ readonly isPositioned: _angular_core.WritableSignal<boolean>;
89
+ /**
90
+ * Event handler called when the escape key is down.
91
+ * Can be prevented.
92
+ */
93
+ readonly escapeKeyDown: OutputRef<KeyboardEvent>;
94
+ /**
95
+ * Event handler called when a `pointerdown` event happens outside of the `DismissableLayer`.
96
+ * Can be prevented.
97
+ */
98
+ readonly pointerDownOutside: OutputRef<PointerEvent>;
99
+ readonly content: _angular_core.WritableSignal<HTMLElement | null>;
100
+ set positioner(port: RdxPositionerImpl | undefined);
101
+ constructor();
102
+ focusSelectedItem(): void;
103
+ handleKeyDown(event: Event): void;
104
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectContent, never>;
105
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectContent, "[rdxSelectContent]", never, {}, { "escapeKeyDown": "escapeKeyDown"; "pointerDownOutside": "pointerDownOutside"; }, ["positioner"], never, true, [{ directive: typeof i1.RdxFocusScope; inputs: {}; outputs: {}; }, { directive: typeof i2.RdxDismissableLayer; inputs: {}; outputs: {}; }, { directive: typeof i3.RdxCollectionProvider; inputs: {}; outputs: {}; }]>;
106
+ }
107
+
108
+ declare class RdxSelectGroup {
109
+ readonly id: string;
110
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectGroup, never>;
111
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectGroup, "[rdxSelectGroup]", ["rdxSelectGroup"], {}, {}, never, never, true, never>;
112
+ }
113
+
114
+ declare const context$1: () => {
115
+ value: _angular_core.InputSignal<any>;
116
+ disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
117
+ isSelected: _angular_core.Signal<boolean>;
118
+ textId: string;
119
+ onItemTextChange: (node: any) => void;
120
+ };
121
+ type RdxSelectItemContext = ReturnType<typeof context$1>;
122
+ declare const injectSelectItemContext: (optional?: boolean) => {
123
+ value: _angular_core.InputSignal<any>;
124
+ disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
125
+ isSelected: _angular_core.Signal<boolean>;
126
+ textId: string;
127
+ onItemTextChange: (node: any) => void;
128
+ } | null;
129
+ declare const provideSelectItemContext: (useFactory: () => {
130
+ value: _angular_core.InputSignal<any>;
131
+ disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
132
+ isSelected: _angular_core.Signal<boolean>;
133
+ textId: string;
134
+ onItemTextChange: (node: any) => void;
135
+ }) => _angular_core.Provider;
136
+ type SelectEvent = CustomEvent<{
137
+ originalEvent: PointerEvent | KeyboardEvent;
138
+ value?: any;
139
+ }>;
140
+ declare class RdxSelectItem {
141
+ private readonly rootContext;
142
+ private readonly contentContext;
143
+ private readonly currentElement;
144
+ readonly value: _angular_core.InputSignal<any>;
145
+ readonly textValue: _angular_core.InputSignal<string>;
146
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
147
+ readonly textValue$: _angular_core.WritableSignal<string>;
148
+ readonly isSelected: _angular_core.Signal<boolean>;
149
+ readonly isFocused: _angular_core.WritableSignal<boolean>;
150
+ readonly textId: string;
151
+ private readonly afterNextRender;
152
+ private SELECT_SELECT;
153
+ onPointerDown(event: Event): void;
154
+ onPointerUp(event: PointerEvent | KeyboardEvent): void;
155
+ onPointerLeave(event: Event): void;
156
+ onPointerMove(event: Event): void;
157
+ handleKeyDown(event: Event): void;
158
+ handleSelectCustomEvent(event: PointerEvent | KeyboardEvent): Promise<void>;
159
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectItem, never>;
160
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectItem, "[rdxSelectItem]", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "textValue": { "alias": "textValue"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i3.RdxCollectionItem; inputs: { "value": "value"; }; outputs: {}; }]>;
161
+ }
162
+
163
+ declare class RdxSelectItemIndicator {
164
+ readonly itemContext: {
165
+ value: _angular_core.InputSignal<any>;
166
+ disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
167
+ isSelected: _angular_core.Signal<boolean>;
168
+ textId: string;
169
+ onItemTextChange: (node: any) => void;
170
+ };
171
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectItemIndicator, never>;
172
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectItemIndicator, "[rdxSelectItemIndicator]", never, {}, {}, never, never, true, never>;
173
+ }
174
+
175
+ declare class RdxSelectItemText {
176
+ private readonly elementRef;
177
+ readonly rootContext: {
178
+ triggerElement: _angular_core.WritableSignal<HTMLElement | null>;
179
+ valueElement: _angular_core.WritableSignal<HTMLElement | null>;
180
+ triggerPointerDownPosRef: _angular_core.WritableSignal<{
181
+ x: number;
182
+ y: number;
183
+ } | null>;
184
+ contentId: string;
185
+ dir: _angular_core.InputSignal<_radix_ng_primitives_types_radix_ng_primitives_core.Direction>;
186
+ value: _angular_core.ModelSignal<_radix_ng_primitives_types_radix_ng_primitives_core.AcceptableValue | _radix_ng_primitives_types_radix_ng_primitives_core.AcceptableValue[] | undefined>;
187
+ multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
188
+ by: _angular_core.InputSignal<string | ((a: _radix_ng_primitives_types_radix_ng_primitives_core.AcceptableValue, b: _radix_ng_primitives_types_radix_ng_primitives_core.AcceptableValue) => boolean) | undefined>;
189
+ open: _angular_core.ModelSignal<boolean>;
190
+ disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
191
+ optionsSet: _angular_core.WritableSignal<Set<_radix_ng_primitives_select.SelectOption>>;
192
+ onOptionAdd: (option: any) => void;
193
+ onOptionRemove: (option: any) => void;
194
+ onValueChange: (value: _radix_ng_primitives_types_radix_ng_primitives_core.AcceptableValue) => void;
195
+ onTriggerChange: (node: any) => void;
196
+ onValueElementChange: (node: any) => void;
197
+ onOpenChange: (value: any) => void;
198
+ };
199
+ readonly contentContext: {
200
+ content: _angular_core.WritableSignal<HTMLElement | null>;
201
+ viewport: _angular_core.WritableSignal<HTMLElement | undefined>;
202
+ isPositioned: _angular_core.WritableSignal<boolean>;
203
+ selectedItem: _angular_core.WritableSignal<HTMLElement | undefined>;
204
+ selectedItemText: _angular_core.WritableSignal<HTMLElement | undefined>;
205
+ onViewportChange: (node: any) => void;
206
+ onItemLeave: () => void;
207
+ itemRefCallback: (node: any, value: any, disabled: boolean) => void;
208
+ itemTextRefCallback: (node: any, value: any, disabled: any) => void;
209
+ };
210
+ readonly itemContext: {
211
+ value: _angular_core.InputSignal<any>;
212
+ disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
213
+ isSelected: _angular_core.Signal<boolean>;
214
+ textId: string;
215
+ onItemTextChange: (node: any) => void;
216
+ };
217
+ readonly optionProps: _angular_core.Signal<{
218
+ value: any;
219
+ disabled: boolean;
220
+ textContent: any;
221
+ }>;
222
+ constructor();
223
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectItemText, never>;
224
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectItemText, "[rdxSelectItemText]", never, {}, {}, never, never, true, never>;
225
+ }
226
+
227
+ declare class RdxSelectPopperPositionContent {
228
+ protected rootContext: {
229
+ triggerElement: _angular_core.WritableSignal<HTMLElement | null>;
230
+ valueElement: _angular_core.WritableSignal<HTMLElement | null>;
231
+ triggerPointerDownPosRef: _angular_core.WritableSignal<{
232
+ x: number;
233
+ y: number;
234
+ } | null>;
235
+ contentId: string;
236
+ dir: _angular_core.InputSignal<_radix_ng_primitives_types_radix_ng_primitives_core.Direction>;
237
+ value: _angular_core.ModelSignal<_radix_ng_primitives_types_radix_ng_primitives_core.AcceptableValue | _radix_ng_primitives_types_radix_ng_primitives_core.AcceptableValue[] | undefined>;
238
+ multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
239
+ by: _angular_core.InputSignal<string | ((a: _radix_ng_primitives_types_radix_ng_primitives_core.AcceptableValue, b: _radix_ng_primitives_types_radix_ng_primitives_core.AcceptableValue) => boolean) | undefined>;
240
+ open: _angular_core.ModelSignal<boolean>;
241
+ disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
242
+ optionsSet: _angular_core.WritableSignal<Set<_radix_ng_primitives_select.SelectOption>>;
243
+ onOptionAdd: (option: any) => void;
244
+ onOptionRemove: (option: any) => void;
245
+ onValueChange: (value: _radix_ng_primitives_types_radix_ng_primitives_core.AcceptableValue) => void;
246
+ onTriggerChange: (node: any) => void;
247
+ onValueElementChange: (node: any) => void;
248
+ onOpenChange: (value: any) => void;
249
+ };
250
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectPopperPositionContent, never>;
251
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectPopperPositionContent, "[rdxSelectPopperPositionContent]", never, {}, {}, never, never, true, [{ directive: typeof i1$1.RdxPopperContent; inputs: {}; outputs: {}; }]>;
252
+ }
253
+
254
+ declare class RdxSelectPopperPositionWrapper implements RdxPositionerImpl {
40
255
  /**
41
- * Tuple type for the trigger element size. Set by the trigger element itself.
42
- * The first element is the width and the second element is the height.
43
- * @returns The size of the trigger element.
256
+ * The preferred side of the anchor to render against when open.
257
+ * Will be reversed when collisions occur and avoidCollisions is enabled.
44
258
  */
45
- readonly triggerSize: i0.WritableSignal<[number, number]>;
259
+ readonly side: _angular_core.InputSignal<"top" | "right" | "bottom" | "left">;
46
260
  /**
47
- * The width of the trigger element.
48
- * @returns The width of the trigger element.
261
+ * The distance in pixels from the anchor.
49
262
  */
50
- readonly triggerWidth: i0.Signal<number>;
51
- /** Deals with the selection logic. */
52
- selectionModel: SelectionModel<RdxSelectItemDirective>;
263
+ readonly sideOffset: _angular_core.InputSignalWithTransform<number, unknown>;
53
264
  /**
54
- * This position config ensures that the top "start" corner of the overlay
55
- * is aligned with the top "start" of the origin by default (overlapping
56
- * the trigger completely). If the panel cannot fit below the trigger, it
57
- * will fall back to a position above the trigger.
265
+ * The preferred alignment against the anchor. May change when collisions occur.
58
266
  */
59
- positions: ConnectedPosition[];
60
- private closeSubscription;
267
+ readonly align: _angular_core.InputSignal<"start" | "center" | "end">;
61
268
  /**
62
- * @ignore
269
+ * An offset in pixels from the `start` or `end` alignment options.
63
270
  */
64
- readonly dir: Directionality | null;
271
+ readonly alignOffset: _angular_core.InputSignalWithTransform<number, unknown>;
65
272
  /**
66
- * @ignore
273
+ * The padding between the arrow and the edges of the content.
274
+ * If your content has border-radius, this will prevent it from overflowing the corners.
67
275
  */
68
- protected keyManager: ActiveDescendantKeyManager<RdxSelectItemDirective>;
276
+ readonly arrowPadding: _angular_core.InputSignalWithTransform<number, unknown>;
69
277
  /**
70
- * @ignore
278
+ * When `true`, overrides the `side` and `align` preferences to prevent collisions with boundary edges.
71
279
  */
72
- readonly id: string;
73
- defaultValue: string;
74
- name: string;
75
- defaultOpen: boolean;
76
- open: boolean;
77
- /** Whether the Select is disabled. */
78
- disabled: boolean;
79
- required: boolean;
280
+ readonly avoidCollisions: _angular_core.InputSignalWithTransform<boolean, unknown>;
80
281
  /**
81
- * The overlay width will be set to the trigger width if this is true.
82
- * Otherwise, the overlay width will be set to the width of the content.
282
+ * The element used as the collision boundary.
283
+ * By default this is the viewport, though you can provide additional element(s) to be included in this check.
83
284
  */
84
- matchTriggerWidth: boolean;
285
+ readonly collisionBoundary: _angular_core.InputSignal<ElementRef<HTMLElement> | ElementRef<HTMLElement>[] | undefined>;
85
286
  /**
86
- * The controlled value of the item to expand
287
+ * The distance in pixels from the boundary edges where collision detection should occur.
288
+ * Accepts a number (same for all sides), or a partial padding object, for example: `{ top: 20, left: 20 }`.
87
289
  */
88
- set value(value: string);
89
- get value(): string | null;
90
- private _value?;
91
- readonly onValueChange: EventEmitter<string>;
92
- readonly onOpenChange: EventEmitter<boolean>;
93
- readonly optionSelectionChanges: Observable<RdxSelectItemChange>;
94
- get selected(): string | null;
95
- ngOnInit(): void;
96
- ngAfterContentInit(): void;
290
+ readonly collisionPadding: _angular_core.InputSignal<number | Partial<Record<"top" | "right" | "bottom" | "left", number>>>;
97
291
  /**
98
- * Callback that is invoked when the overlay panel has been attached.
292
+ * The sticky behavior on the `align` axis.
293
+ * - `partial` will keep the content in the boundary as long as the trigger is at least partially in the boundary
294
+ * - `always` will keep the content in the boundary regardless.
99
295
  */
100
- onAttached(): void;
101
- onDetach(): void;
102
- /** Toggles the overlay panel open or closed. */
103
- toggle(): void;
104
- openPanel(): void;
105
- close(): void;
106
- updateActiveItem(item: RdxSelectItemDirective): void;
107
- private selectDefaultValue;
108
- private selectValue;
109
- private closingActions;
110
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxSelectComponent, never>;
111
- static ɵcmp: i0.ɵɵComponentDeclaration<RdxSelectComponent, "[rdxSelect]", never, { "defaultValue": { "alias": "defaultValue"; "required": false; }; "name": { "alias": "name"; "required": false; }; "defaultOpen": { "alias": "defaultOpen"; "required": false; }; "open": { "alias": "open"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; "matchTriggerWidth": { "alias": "matchTriggerWidth"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "onValueChange": "onValueChange"; "onOpenChange": "onOpenChange"; }, ["trigger", "content", "items"], ["[rdxSelectTrigger]", "[rdxSelectContent]"], true, never>;
112
- static ngAcceptInputType_defaultOpen: unknown;
113
- static ngAcceptInputType_open: unknown;
114
- static ngAcceptInputType_disabled: unknown;
115
- static ngAcceptInputType_required: unknown;
116
- static ngAcceptInputType_matchTriggerWidth: unknown;
117
- }
118
-
119
- declare class RdxSelectItemChange<T = RdxSelectItemDirective> {
120
- source: T;
121
- constructor(source: T);
122
- }
123
- declare class RdxSelectItemDirective implements Highlightable {
124
- protected readonly select: RdxSelectComponent;
125
- protected readonly content: RdxSelectContentDirective;
126
- readonly onSelectionChange: EventEmitter<RdxSelectItemChange<RdxSelectItemDirective>>;
127
- protected readonly nativeElement: any;
128
- highlighted: boolean;
129
- selected: boolean;
130
- get dataState(): string;
296
+ readonly sticky: _angular_core.InputSignal<"partial" | "always">;
131
297
  /**
132
- * The unique SelectItem id.
133
- * @ignore
298
+ * Whether to hide the content when the trigger becomes fully occluded.
134
299
  */
135
- readonly id: string;
136
- set value(value: string);
137
- get value(): string;
138
- private _value?;
139
- textValue: string | null;
140
- /** Whether the SelectItem is disabled. */
141
- set disabled(value: boolean);
142
- get disabled(): boolean;
143
- private _disabled;
144
- get viewValue(): string;
145
- constructor();
146
- /** Gets the label to be used when determining whether the option should be focused.
147
- * @ignore
300
+ readonly hideWhenDetached: _angular_core.InputSignalWithTransform<boolean, unknown>;
301
+ /**
302
+ * Whether to update the position of the floating element on every animation frame if required.
148
303
  */
149
- getLabel(): string;
304
+ readonly updatePositionStrategy: _angular_core.InputSignal<"always" | "optimized">;
150
305
  /**
151
- * `Selects the option while indicating the selection came from the user. Used to
152
- * determine if the select's view -> model callback should be invoked.`
153
- * @ignore
306
+ * Emits when the element is placed.
154
307
  */
155
- selectViaInteraction(): void;
156
- /** @ignore */
157
- handleKeydown(event: KeyboardEvent): void;
158
- /** @ignore */
159
- setActiveStyles(): void;
160
- /** @ignore */
161
- setInactiveStyles(): void;
162
- protected onPointerMove(): void;
163
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxSelectItemDirective, never>;
164
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxSelectItemDirective, "[rdxSelectItem]", ["rdxSelectItem"], { "value": { "alias": "value"; "required": false; }; "textValue": { "alias": "textValue"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, true, never>;
165
- static ngAcceptInputType_disabled: unknown;
166
- }
167
-
168
- declare class RdxSelectContentDirective implements AfterContentInit {
169
- protected readonly destroyRef: DestroyRef;
170
- protected readonly dir: Directionality | null;
171
- protected select: RdxSelectComponent;
172
- readonly highlighted: Subject<RdxSelectItemDirective>;
173
- keyManager: ActiveDescendantKeyManager<RdxSelectItemDirective>;
174
- options: QueryList<RdxSelectItemDirective>;
175
- constructor();
176
- initKeyManager(): ActiveDescendantKeyManager<RdxSelectItemDirective>;
177
- ngAfterContentInit(): void;
178
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxSelectContentDirective, never>;
179
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxSelectContentDirective, "[rdxSelectContent]", ["rdxSelectContent"], {}, {}, ["options"], never, true, never>;
308
+ readonly placed: _angular_core.OutputRef<void>;
309
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectPopperPositionWrapper, never>;
310
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectPopperPositionWrapper, "[rdxSelectPopperPositionWrapper]", never, { "side": { "alias": "side"; "required": false; "isSignal": true; }; "sideOffset": { "alias": "sideOffset"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "alignOffset": { "alias": "alignOffset"; "required": false; "isSignal": true; }; "arrowPadding": { "alias": "arrowPadding"; "required": false; "isSignal": true; }; "avoidCollisions": { "alias": "avoidCollisions"; "required": false; "isSignal": true; }; "collisionBoundary": { "alias": "collisionBoundary"; "required": false; "isSignal": true; }; "collisionPadding": { "alias": "collisionPadding"; "required": false; "isSignal": true; }; "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; "hideWhenDetached": { "alias": "hideWhenDetached"; "required": false; "isSignal": true; }; "updatePositionStrategy": { "alias": "updatePositionStrategy"; "required": false; "isSignal": true; }; }, { "placed": "placed"; }, never, never, true, [{ directive: typeof i1$1.RdxPopperContentWrapper; inputs: { "side": "side"; "sideOffset": "sideOffset"; "align": "align"; "alignOffset": "alignOffset"; "arrowPadding": "arrowPadding"; "avoidCollisions": "avoidCollisions"; "collisionBoundary": "collisionBoundary"; "collisionPadding": "collisionPadding"; "sticky": "sticky"; "hideWhenDetached": "hideWhenDetached"; "updatePositionStrategy": "updatePositionStrategy"; }; outputs: {}; }]>;
180
311
  }
181
312
 
182
- declare class RdxSelectGroupDirective {
183
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxSelectGroupDirective, never>;
184
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxSelectGroupDirective, "[rdxSelectGroup]", ["rdxSelectGroup"], {}, {}, never, never, true, never>;
313
+ declare class RdxSelectPortal {
314
+ /**
315
+ * Optional container to portal the content into. Defaults to `document.body` when not set.
316
+ */
317
+ readonly container: _angular_core.InputSignal<RdxPortalContainer | undefined>;
318
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectPortal, never>;
319
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectPortal, "[rdxSelectPortal]", never, { "container": { "alias": "container"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1$2.RdxPortal; inputs: { "container": "container"; }; outputs: {}; }]>;
185
320
  }
186
321
 
187
- declare class RdxSelectItemIndicatorDirective {
188
- protected item: RdxSelectItemDirective;
189
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxSelectItemIndicatorDirective, never>;
190
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxSelectItemIndicatorDirective, "[rdxSelectItemIndicator]", ["rdxSelectItemIndicator"], {}, {}, never, never, true, never>;
322
+ declare class RdxSelectPortalPresence {
323
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectPortalPresence, never>;
324
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectPortalPresence, "ng-template[rdxSelectPortalPresence]", never, {}, {}, never, never, true, [{ directive: typeof i1$3.RdxPresenceDirective; inputs: {}; outputs: {}; }]>;
191
325
  }
192
326
 
193
- declare class RdxSelectLabelDirective {
194
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxSelectLabelDirective, never>;
195
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxSelectLabelDirective, "[rdxSelectLabel]", ["rdxSelectLabel"], {}, {}, never, never, true, never>;
327
+ interface SelectOption {
328
+ value: any;
329
+ disabled?: boolean;
330
+ textContent: string;
331
+ }
332
+ declare const context: () => {
333
+ triggerElement: _angular_core.WritableSignal<HTMLElement | null>;
334
+ valueElement: _angular_core.WritableSignal<HTMLElement | null>;
335
+ triggerPointerDownPosRef: _angular_core.WritableSignal<{
336
+ x: number;
337
+ y: number;
338
+ } | null>;
339
+ contentId: string;
340
+ dir: _angular_core.InputSignal<Direction>;
341
+ value: _angular_core.ModelSignal<AcceptableValue | AcceptableValue[] | undefined>;
342
+ multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
343
+ by: _angular_core.InputSignal<string | ((a: AcceptableValue, b: AcceptableValue) => boolean) | undefined>;
344
+ open: _angular_core.ModelSignal<boolean>;
345
+ disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
346
+ optionsSet: _angular_core.WritableSignal<Set<SelectOption>>;
347
+ onOptionAdd: (option: any) => void;
348
+ onOptionRemove: (option: any) => void;
349
+ onValueChange: (value: AcceptableValue) => void;
350
+ onTriggerChange: (node: any) => void;
351
+ onValueElementChange: (node: any) => void;
352
+ onOpenChange: (value: any) => void;
353
+ };
354
+ type RdxSelectRootContext = ReturnType<typeof context>;
355
+ declare const injectSelectRootContext: (optional?: boolean) => {
356
+ triggerElement: _angular_core.WritableSignal<HTMLElement | null>;
357
+ valueElement: _angular_core.WritableSignal<HTMLElement | null>;
358
+ triggerPointerDownPosRef: _angular_core.WritableSignal<{
359
+ x: number;
360
+ y: number;
361
+ } | null>;
362
+ contentId: string;
363
+ dir: _angular_core.InputSignal<Direction>;
364
+ value: _angular_core.ModelSignal<AcceptableValue | AcceptableValue[] | undefined>;
365
+ multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
366
+ by: _angular_core.InputSignal<string | ((a: AcceptableValue, b: AcceptableValue) => boolean) | undefined>;
367
+ open: _angular_core.ModelSignal<boolean>;
368
+ disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
369
+ optionsSet: _angular_core.WritableSignal<Set<SelectOption>>;
370
+ onOptionAdd: (option: any) => void;
371
+ onOptionRemove: (option: any) => void;
372
+ onValueChange: (value: AcceptableValue) => void;
373
+ onTriggerChange: (node: any) => void;
374
+ onValueElementChange: (node: any) => void;
375
+ onOpenChange: (value: any) => void;
376
+ } | null;
377
+ declare const provideSelectRootContext: (useFactory: () => {
378
+ triggerElement: _angular_core.WritableSignal<HTMLElement | null>;
379
+ valueElement: _angular_core.WritableSignal<HTMLElement | null>;
380
+ triggerPointerDownPosRef: _angular_core.WritableSignal<{
381
+ x: number;
382
+ y: number;
383
+ } | null>;
384
+ contentId: string;
385
+ dir: _angular_core.InputSignal<Direction>;
386
+ value: _angular_core.ModelSignal<AcceptableValue | AcceptableValue[] | undefined>;
387
+ multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
388
+ by: _angular_core.InputSignal<string | ((a: AcceptableValue, b: AcceptableValue) => boolean) | undefined>;
389
+ open: _angular_core.ModelSignal<boolean>;
390
+ disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
391
+ optionsSet: _angular_core.WritableSignal<Set<SelectOption>>;
392
+ onOptionAdd: (option: any) => void;
393
+ onOptionRemove: (option: any) => void;
394
+ onValueChange: (value: AcceptableValue) => void;
395
+ onTriggerChange: (node: any) => void;
396
+ onValueElementChange: (node: any) => void;
397
+ onOpenChange: (value: any) => void;
398
+ }) => _angular_core.Provider;
399
+ declare class RdxSelectRoot {
400
+ readonly open: _angular_core.ModelSignal<boolean>;
401
+ readonly value: _angular_core.ModelSignal<AcceptableValue | AcceptableValue[] | undefined>;
402
+ readonly multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
403
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
404
+ readonly dir: _angular_core.InputSignal<Direction>;
405
+ /** Use this to compare objects by a particular field, or pass your own comparison function for complete control over how objects are compared. */
406
+ readonly by: _angular_core.InputSignal<string | ((a: AcceptableValue, b: AcceptableValue) => boolean) | undefined>;
407
+ readonly isEmptyModelValue: _angular_core.Signal<boolean>;
408
+ readonly optionsSet: _angular_core.WritableSignal<Set<SelectOption>>;
409
+ readonly nativeSelectKey: _angular_core.Signal<string>;
410
+ readonly triggerElement: _angular_core.WritableSignal<HTMLElement | null>;
411
+ readonly valueElement: _angular_core.WritableSignal<HTMLElement | null>;
412
+ readonly triggerPointerDownPosRef: _angular_core.WritableSignal<{
413
+ x: number;
414
+ y: number;
415
+ } | null>;
416
+ getOption(value: SelectOption['value']): SelectOption | undefined;
417
+ handleValueChange(value: AcceptableValue): void;
418
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectRoot, never>;
419
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectRoot, "[rdxSelectRoot]", ["rdxSelectRoot"], { "open": { "alias": "open"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "dir": { "alias": "dir"; "required": false; "isSignal": true; }; "by": { "alias": "by"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "value": "valueChange"; }, never, never, true, [{ directive: typeof i1$1.RdxPopper; inputs: {}; outputs: {}; }]>;
196
420
  }
197
421
 
198
- declare class RdxSelectSeparatorDirective {
199
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxSelectSeparatorDirective, never>;
200
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxSelectSeparatorDirective, "[rdxSelectSeparator]", ["rdxSelectSeparator"], {}, {}, never, never, true, never>;
422
+ declare class RdxSelectTrigger {
423
+ readonly rootContext: {
424
+ triggerElement: _angular_core.WritableSignal<HTMLElement | null>;
425
+ valueElement: _angular_core.WritableSignal<HTMLElement | null>;
426
+ triggerPointerDownPosRef: _angular_core.WritableSignal<{
427
+ x: number;
428
+ y: number;
429
+ } | null>;
430
+ contentId: string;
431
+ dir: _angular_core.InputSignal<_radix_ng_primitives_types_radix_ng_primitives_core.Direction>;
432
+ value: _angular_core.ModelSignal<_radix_ng_primitives_types_radix_ng_primitives_core.AcceptableValue | _radix_ng_primitives_types_radix_ng_primitives_core.AcceptableValue[] | undefined>;
433
+ multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
434
+ by: _angular_core.InputSignal<string | ((a: _radix_ng_primitives_types_radix_ng_primitives_core.AcceptableValue, b: _radix_ng_primitives_types_radix_ng_primitives_core.AcceptableValue) => boolean) | undefined>;
435
+ open: _angular_core.ModelSignal<boolean>;
436
+ disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
437
+ optionsSet: _angular_core.WritableSignal<Set<_radix_ng_primitives_select.SelectOption>>;
438
+ onOptionAdd: (option: any) => void;
439
+ onOptionRemove: (option: any) => void;
440
+ onValueChange: (value: _radix_ng_primitives_types_radix_ng_primitives_core.AcceptableValue) => void;
441
+ onTriggerChange: (node: any) => void;
442
+ onValueElementChange: (node: any) => void;
443
+ onOpenChange: (value: any) => void;
444
+ };
445
+ readonly elementRef: ElementRef<HTMLElement>;
446
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
447
+ readonly isDisabled: _angular_core.Signal<boolean>;
448
+ constructor();
449
+ handleOpen(): void;
450
+ handlePointerOpen(event: Event): void;
451
+ onClickHandler(event: Event): void;
452
+ onPointerDown(event: Event): void;
453
+ onPointerUp(event: Event): void;
454
+ onKeydown(event: Event): void;
455
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectTrigger, never>;
456
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectTrigger, "button[rdxSelectTrigger]", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1$1.RdxPopperAnchor; inputs: {}; outputs: {}; }]>;
201
457
  }
202
458
 
203
- declare class RdxSelectIconDirective {
204
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxSelectIconDirective, never>;
205
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxSelectIconDirective, "[rdxSelectIcon]", ["rdxSelectIcon"], {}, {}, never, never, true, never>;
459
+ declare class RdxSelectValue {
460
+ readonly rootContext: {
461
+ triggerElement: _angular_core.WritableSignal<HTMLElement | null>;
462
+ valueElement: _angular_core.WritableSignal<HTMLElement | null>;
463
+ triggerPointerDownPosRef: _angular_core.WritableSignal<{
464
+ x: number;
465
+ y: number;
466
+ } | null>;
467
+ contentId: string;
468
+ dir: _angular_core.InputSignal<_radix_ng_primitives_core.Direction>;
469
+ value: _angular_core.ModelSignal<AcceptableValue | AcceptableValue[] | undefined>;
470
+ multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
471
+ by: _angular_core.InputSignal<string | ((a: AcceptableValue, b: AcceptableValue) => boolean) | undefined>;
472
+ open: _angular_core.ModelSignal<boolean>;
473
+ disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
474
+ optionsSet: _angular_core.WritableSignal<Set<_radix_ng_primitives_select.SelectOption>>;
475
+ onOptionAdd: (option: any) => void;
476
+ onOptionRemove: (option: any) => void;
477
+ onValueChange: (value: AcceptableValue) => void;
478
+ onTriggerChange: (node: any) => void;
479
+ onValueElementChange: (node: any) => void;
480
+ onOpenChange: (value: any) => void;
481
+ };
482
+ readonly elementRef: ElementRef<HTMLElement>;
483
+ readonly placeholder: _angular_core.InputSignal<string | undefined>;
484
+ readonly slotText: _angular_core.Signal<string | undefined>;
485
+ readonly selectedLabel: _angular_core.Signal<string[]>;
486
+ constructor();
487
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectValue, never>;
488
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectValue, "span[rdxSelectValue]", ["rdxSelectedValue"], { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
206
489
  }
207
490
 
208
- declare class RdxSelectModule {
209
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxSelectModule, never>;
210
- static ɵmod: i0.ɵɵNgModuleDeclaration<RdxSelectModule, never, [typeof RdxSelectContentDirective, typeof RdxSelectGroupDirective, typeof RdxSelectItemDirective, typeof RdxSelectItemIndicatorDirective, typeof RdxSelectLabelDirective, typeof RdxSelectComponent, typeof RdxSelectSeparatorDirective, typeof RdxSelectTriggerDirective, typeof RdxSelectValueDirective, typeof RdxSelectIconDirective], [typeof RdxSelectContentDirective, typeof RdxSelectGroupDirective, typeof RdxSelectItemDirective, typeof RdxSelectItemIndicatorDirective, typeof RdxSelectLabelDirective, typeof RdxSelectComponent, typeof RdxSelectSeparatorDirective, typeof RdxSelectTriggerDirective, typeof RdxSelectValueDirective, typeof RdxSelectIconDirective]>;
211
- static ɵinj: i0.ɵɵInjectorDeclaration<RdxSelectModule>;
491
+ declare class RdxSelectViewport {
492
+ private readonly contentContext;
493
+ private readonly elementRef;
494
+ private readonly prevScrollTopRef;
495
+ constructor();
496
+ handleScroll(event: Event): void;
497
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectViewport, never>;
498
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectViewport, "[rdxSelectViewport]", never, {}, {}, never, never, true, never>;
212
499
  }
213
500
 
214
- export { RdxSelectComponent, RdxSelectContentDirective, RdxSelectGroupDirective, RdxSelectIconDirective, RdxSelectItemChange, RdxSelectItemDirective, RdxSelectItemIndicatorDirective, RdxSelectLabelDirective, RdxSelectModule, RdxSelectSeparatorDirective, RdxSelectTriggerDirective, RdxSelectValueDirective };
501
+ declare const OPEN_KEYS: string[];
502
+ declare const SELECTION_KEYS: string[];
503
+ declare const CONTENT_MARGIN = 10;
504
+ declare function valueComparator<T>(value: T | T[] | undefined, currentValue: T, comparator?: string | ((a: T, b: T) => boolean)): boolean;
505
+ declare function compare<T>(value?: T, currentValue?: T, comparator?: string | ((a: T, b: T) => boolean)): boolean;
506
+ declare function shouldShowPlaceholder(value?: AcceptableValue | AcceptableValue[]): boolean;
507
+ declare function focusFirst(candidates: HTMLElement[]): void;
508
+
509
+ declare const _importsSelect: (typeof RdxSelectLabel)[];
510
+
511
+ export { CONTENT_MARGIN, OPEN_KEYS, RDX_SELECT_POSITIONER_TOKEN, RdxSelectContent, RdxSelectGroup, RdxSelectItem, RdxSelectItemIndicator, RdxSelectItemText, RdxSelectLabel, RdxSelectPopperPositionContent, RdxSelectPopperPositionWrapper, RdxSelectPortal, RdxSelectPortalPresence, RdxSelectRoot, RdxSelectTrigger, RdxSelectValue, RdxSelectViewport, SELECTION_KEYS, _importsSelect, compare, focusFirst, injectSelectContentContext, injectSelectItemContext, injectSelectRootContext, provideSelectContentContext, provideSelectItemContext, provideSelectRootContext, shouldShowPlaceholder, valueComparator };
512
+ export type { RdxPositionerImpl, RdxSelectContentContext, RdxSelectItemContext, RdxSelectRootContext, SelectEvent, SelectOption };