@radix-ng/primitives 1.0.0-beta.1 → 1.0.0-beta.3
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.
- package/LICENSE +1 -1
- package/README.md +76 -6
- package/fesm2022/radix-ng-primitives-accordion.mjs +2 -2
- package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-alert-dialog.mjs +30 -24
- package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-autocomplete.mjs +1786 -0
- package/fesm2022/radix-ng-primitives-autocomplete.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-calendar.mjs +14 -1
- package/fesm2022/radix-ng-primitives-calendar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-checkbox.mjs +2 -2
- package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-collapsible.mjs +1 -1
- package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-combobox.mjs +1983 -0
- package/fesm2022/radix-ng-primitives-combobox.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-context-menu.mjs +1 -1
- package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-core.mjs +480 -469
- package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-cropper.mjs +1 -1
- package/fesm2022/radix-ng-primitives-cropper.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-date-field.mjs +11 -0
- package/fesm2022/radix-ng-primitives-date-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-dialog.mjs +44 -46
- package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-drawer.mjs +154 -64
- package/fesm2022/radix-ng-primitives-drawer.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-editable.mjs +1 -1
- package/fesm2022/radix-ng-primitives-editable.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-field.mjs +86 -6
- package/fesm2022/radix-ng-primitives-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-fieldset.mjs +1 -1
- package/fesm2022/radix-ng-primitives-fieldset.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-focus-scope.mjs +1 -1
- package/fesm2022/radix-ng-primitives-focus-scope.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-form.mjs +207 -0
- package/fesm2022/radix-ng-primitives-form.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-input.mjs +85 -4
- package/fesm2022/radix-ng-primitives-input.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menu.mjs +44 -24
- package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menubar.mjs +1 -1
- package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-meter.mjs +1 -1
- package/fesm2022/radix-ng-primitives-meter.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-navigation-menu.mjs +39 -55
- package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-number-field.mjs +2 -2
- package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-popover.mjs +36 -51
- package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-popper.mjs +12 -6
- package/fesm2022/radix-ng-primitives-popper.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-portal.mjs +107 -17
- package/fesm2022/radix-ng-primitives-portal.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-presence.mjs +262 -79
- package/fesm2022/radix-ng-primitives-presence.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-preview-card.mjs +37 -51
- package/fesm2022/radix-ng-primitives-preview-card.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-progress.mjs +1 -1
- package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-roving-focus.mjs +1 -1
- package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-scroll-area.mjs +3 -3
- package/fesm2022/radix-ng-primitives-scroll-area.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-select.mjs +469 -258
- package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-slider.mjs +1 -1
- package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-switch.mjs +3 -2
- package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tabs.mjs +1 -1
- package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-time-field.mjs +27 -3
- package/fesm2022/radix-ng-primitives-time-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toast.mjs +1 -1
- package/fesm2022/radix-ng-primitives-toast.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle-group.mjs +1 -1
- package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toolbar.mjs +2 -2
- package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tooltip.mjs +39 -42
- package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
- package/package.json +13 -1
- package/schematics/ng-add/index.js +57 -0
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-add/schema.d.ts +1 -0
- package/schematics/ng-add/schema.json +6 -0
- package/types/radix-ng-primitives-alert-dialog.d.ts +17 -11
- package/types/radix-ng-primitives-autocomplete.d.ts +596 -0
- package/types/radix-ng-primitives-combobox.d.ts +1310 -0
- package/types/radix-ng-primitives-core.d.ts +148 -56
- package/types/radix-ng-primitives-dialog.d.ts +32 -25
- package/types/radix-ng-primitives-drawer.d.ts +49 -22
- package/types/radix-ng-primitives-field.d.ts +71 -2
- package/types/radix-ng-primitives-form.d.ts +124 -0
- package/types/radix-ng-primitives-input.d.ts +75 -5
- package/types/radix-ng-primitives-menu.d.ts +19 -10
- package/types/radix-ng-primitives-navigation-menu.d.ts +24 -26
- package/types/radix-ng-primitives-popover.d.ts +23 -23
- package/types/radix-ng-primitives-popper.d.ts +7 -1
- package/types/radix-ng-primitives-portal.d.ts +53 -8
- package/types/radix-ng-primitives-presence.d.ts +98 -17
- package/types/radix-ng-primitives-preview-card.d.ts +24 -23
- package/types/radix-ng-primitives-select.d.ts +294 -137
- package/types/radix-ng-primitives-tooltip.d.ts +26 -19
|
@@ -1,65 +1,30 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { InjectionToken, OutputRef, ElementRef } from '@angular/core';
|
|
3
3
|
import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
|
|
4
|
-
import { AcceptableValue, Direction } from '@radix-ng/primitives/core';
|
|
4
|
+
import { AcceptableValue, Direction, ItemValueComparator } from '@radix-ng/primitives/core';
|
|
5
5
|
import * as _radix_ng_primitives_select from '@radix-ng/primitives/select';
|
|
6
|
-
import * as i1 from '@radix-ng/primitives/
|
|
7
|
-
import
|
|
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';
|
|
6
|
+
import * as i1 from '@radix-ng/primitives/collection';
|
|
7
|
+
import { RdxCollectionItem } from '@radix-ng/primitives/collection';
|
|
10
8
|
import * as i1$1 from '@radix-ng/primitives/popper';
|
|
9
|
+
import * as i2 from '@radix-ng/primitives/focus-scope';
|
|
10
|
+
import * as i3 from '@radix-ng/primitives/dismissable-layer';
|
|
11
|
+
import * as _radix_ng_primitives_types_radix_ng_primitives_core from '@radix-ng/primitives/types/radix-ng-primitives-core';
|
|
12
|
+
import * as _radix_ng_primitives_types_radix_ng_primitives_collection from '@radix-ng/primitives/types/radix-ng-primitives-collection';
|
|
11
13
|
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
14
|
|
|
15
|
-
declare class
|
|
16
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<
|
|
17
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<
|
|
15
|
+
declare class RdxSelectGroupLabel {
|
|
16
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectGroupLabel, never>;
|
|
17
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectGroupLabel, "[rdxSelectGroupLabel]", never, {}, {}, never, never, true, never>;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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: _radix_ng_primitives_core.InjectContext<{
|
|
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
|
-
}>;
|
|
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: {
|
|
20
|
+
/**
|
|
21
|
+
* An overlay rendered beneath the popup in `modal` mode. Place it inside the portal/presence; style
|
|
22
|
+
* it `position: fixed; inset: 0`. Exposes `data-open` / `data-closed` for animation.
|
|
23
|
+
*
|
|
24
|
+
* @group Components
|
|
25
|
+
*/
|
|
26
|
+
declare class RdxSelectBackdrop {
|
|
27
|
+
protected readonly rootContext: {
|
|
63
28
|
triggerElement: _angular_core.WritableSignal<HTMLElement | null>;
|
|
64
29
|
valueElement: _angular_core.WritableSignal<HTMLElement | null>;
|
|
65
30
|
triggerPointerDownPosRef: _angular_core.WritableSignal<{
|
|
@@ -67,42 +32,27 @@ declare class RdxSelectContent {
|
|
|
67
32
|
y: number;
|
|
68
33
|
} | null>;
|
|
69
34
|
contentId: string;
|
|
70
|
-
dir: _angular_core.InputSignal<
|
|
71
|
-
value: _angular_core.ModelSignal<
|
|
35
|
+
dir: _angular_core.InputSignal<_radix_ng_primitives_types_radix_ng_primitives_core.Direction>;
|
|
36
|
+
value: _angular_core.ModelSignal<_radix_ng_primitives_types_radix_ng_primitives_core.AcceptableValue | _radix_ng_primitives_types_radix_ng_primitives_core.AcceptableValue[] | undefined>;
|
|
72
37
|
multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
73
|
-
|
|
38
|
+
isItemEqualToValue: _angular_core.InputSignal<_radix_ng_primitives_types_radix_ng_primitives_core.ItemValueComparator<_radix_ng_primitives_types_radix_ng_primitives_core.AcceptableValue> | undefined>;
|
|
39
|
+
itemToStringLabel: _angular_core.InputSignal<((value: _radix_ng_primitives_types_radix_ng_primitives_core.AcceptableValue) => string) | undefined>;
|
|
74
40
|
open: _angular_core.ModelSignal<boolean>;
|
|
75
41
|
disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
42
|
+
modal: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
43
|
+
isEmptyModelValue: _angular_core.Signal<boolean>;
|
|
44
|
+
transitionStatus: _angular_core.Signal<_radix_ng_primitives_types_radix_ng_primitives_core.RdxTransitionStatus>;
|
|
45
|
+
registerTransitionElement: (element: HTMLElement) => () => void;
|
|
76
46
|
optionsSet: _angular_core.WritableSignal<Set<_radix_ng_primitives_select.SelectOption>>;
|
|
77
47
|
onOptionAdd: (option: any) => void;
|
|
78
48
|
onOptionRemove: (option: any) => void;
|
|
79
|
-
onValueChange: (value:
|
|
49
|
+
onValueChange: (value: _radix_ng_primitives_types_radix_ng_primitives_core.AcceptableValue) => void;
|
|
80
50
|
onTriggerChange: (node: any) => void;
|
|
81
51
|
onValueElementChange: (node: any) => void;
|
|
82
52
|
onOpenChange: (value: any) => void;
|
|
83
53
|
};
|
|
84
|
-
|
|
85
|
-
|
|
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: {}; }]>;
|
|
54
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectBackdrop, never>;
|
|
55
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectBackdrop, "[rdxSelectBackdrop]", ["rdxSelectBackdrop"], {}, {}, never, never, true, never>;
|
|
106
56
|
}
|
|
107
57
|
|
|
108
58
|
declare class RdxSelectGroup {
|
|
@@ -111,14 +61,24 @@ declare class RdxSelectGroup {
|
|
|
111
61
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectGroup, "[rdxSelectGroup]", ["rdxSelectGroup"], {}, {}, never, never, true, never>;
|
|
112
62
|
}
|
|
113
63
|
|
|
114
|
-
|
|
64
|
+
/**
|
|
65
|
+
* Decorative icon inside the trigger (e.g. a chevron). Hidden from assistive technology.
|
|
66
|
+
*
|
|
67
|
+
* @group Components
|
|
68
|
+
*/
|
|
69
|
+
declare class RdxSelectIcon {
|
|
70
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectIcon, never>;
|
|
71
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectIcon, "[rdxSelectIcon]", ["rdxSelectIcon"], {}, {}, never, never, true, never>;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
declare const context$2: () => {
|
|
115
75
|
value: _angular_core.InputSignal<any>;
|
|
116
76
|
disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
117
77
|
isSelected: _angular_core.Signal<boolean>;
|
|
118
78
|
textId: string;
|
|
119
79
|
onItemTextChange: (node: any) => void;
|
|
120
80
|
};
|
|
121
|
-
type RdxSelectItemContext = ReturnType<typeof context$
|
|
81
|
+
type RdxSelectItemContext = ReturnType<typeof context$2>;
|
|
122
82
|
declare const injectSelectItemContext: _radix_ng_primitives_core.InjectContext<{
|
|
123
83
|
value: _angular_core.InputSignal<any>;
|
|
124
84
|
disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -140,24 +100,26 @@ type SelectEvent = CustomEvent<{
|
|
|
140
100
|
declare class RdxSelectItem {
|
|
141
101
|
private readonly rootContext;
|
|
142
102
|
private readonly contentContext;
|
|
103
|
+
private readonly collectionItem;
|
|
143
104
|
private readonly currentElement;
|
|
144
105
|
readonly value: _angular_core.InputSignal<any>;
|
|
145
106
|
readonly textValue: _angular_core.InputSignal<string>;
|
|
146
107
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
147
108
|
readonly textValue$: _angular_core.WritableSignal<string>;
|
|
148
109
|
readonly isSelected: _angular_core.Signal<boolean>;
|
|
149
|
-
|
|
110
|
+
/** Highlighted via the highlight model (keyboard / hover), not DOM focus. */
|
|
111
|
+
readonly isHighlighted: _angular_core.Signal<boolean>;
|
|
112
|
+
/** Item id, referenced by the popup's `aria-activedescendant`. */
|
|
113
|
+
readonly id: string;
|
|
150
114
|
readonly textId: string;
|
|
151
115
|
private readonly afterNextRender;
|
|
152
116
|
private SELECT_SELECT;
|
|
153
|
-
onPointerDown(event: Event): void;
|
|
154
117
|
onPointerUp(event: PointerEvent | KeyboardEvent): void;
|
|
155
118
|
onPointerLeave(event: Event): void;
|
|
156
119
|
onPointerMove(event: Event): void;
|
|
157
120
|
handleKeyDown(event: Event): void;
|
|
158
|
-
handleSelectCustomEvent(event: PointerEvent | KeyboardEvent): Promise<void>;
|
|
159
121
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectItem, never>;
|
|
160
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectItem, "[rdxSelectItem]",
|
|
122
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectItem, "[rdxSelectItem]", ["rdxSelectItem"], { "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 i1.RdxCollectionItem; inputs: { "value": "value"; "disabled": "disabled"; }; outputs: {}; }]>;
|
|
161
123
|
}
|
|
162
124
|
|
|
163
125
|
declare class RdxSelectItemIndicator {
|
|
@@ -185,9 +147,14 @@ declare class RdxSelectItemText {
|
|
|
185
147
|
dir: _angular_core.InputSignal<_radix_ng_primitives_types_radix_ng_primitives_core.Direction>;
|
|
186
148
|
value: _angular_core.ModelSignal<_radix_ng_primitives_types_radix_ng_primitives_core.AcceptableValue | _radix_ng_primitives_types_radix_ng_primitives_core.AcceptableValue[] | undefined>;
|
|
187
149
|
multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
188
|
-
|
|
150
|
+
isItemEqualToValue: _angular_core.InputSignal<_radix_ng_primitives_types_radix_ng_primitives_core.ItemValueComparator<_radix_ng_primitives_types_radix_ng_primitives_core.AcceptableValue> | undefined>;
|
|
151
|
+
itemToStringLabel: _angular_core.InputSignal<((value: _radix_ng_primitives_types_radix_ng_primitives_core.AcceptableValue) => string) | undefined>;
|
|
189
152
|
open: _angular_core.ModelSignal<boolean>;
|
|
190
153
|
disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
154
|
+
modal: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
155
|
+
isEmptyModelValue: _angular_core.Signal<boolean>;
|
|
156
|
+
transitionStatus: _angular_core.Signal<_radix_ng_primitives_types_radix_ng_primitives_core.RdxTransitionStatus>;
|
|
157
|
+
registerTransitionElement: (element: HTMLElement) => () => void;
|
|
191
158
|
optionsSet: _angular_core.WritableSignal<Set<_radix_ng_primitives_select.SelectOption>>;
|
|
192
159
|
onOptionAdd: (option: any) => void;
|
|
193
160
|
onOptionRemove: (option: any) => void;
|
|
@@ -202,6 +169,11 @@ declare class RdxSelectItemText {
|
|
|
202
169
|
isPositioned: _angular_core.WritableSignal<boolean>;
|
|
203
170
|
selectedItem: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
204
171
|
selectedItemText: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
172
|
+
highlightedItem: _angular_core.Signal<_radix_ng_primitives_types_radix_ng_primitives_collection.RdxCollectionItem<unknown> | null>;
|
|
173
|
+
isHighlighted: (item: _radix_ng_primitives_types_radix_ng_primitives_collection.RdxCollectionItem) => boolean;
|
|
174
|
+
highlightItem: (item: _radix_ng_primitives_types_radix_ng_primitives_collection.RdxCollectionItem) => void;
|
|
175
|
+
isKeyboardActive: () => boolean;
|
|
176
|
+
setKeyboardActive: (value: boolean) => void;
|
|
205
177
|
onViewportChange: (node: any) => void;
|
|
206
178
|
onItemLeave: () => void;
|
|
207
179
|
itemRefCallback: (node: any, value: any, disabled: boolean) => void;
|
|
@@ -224,8 +196,88 @@ declare class RdxSelectItemText {
|
|
|
224
196
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectItemText, "[rdxSelectItemText]", never, {}, {}, never, never, true, never>;
|
|
225
197
|
}
|
|
226
198
|
|
|
227
|
-
declare class
|
|
228
|
-
|
|
199
|
+
declare class RdxSelectList {
|
|
200
|
+
private readonly contentContext;
|
|
201
|
+
private readonly elementRef;
|
|
202
|
+
private readonly prevScrollTopRef;
|
|
203
|
+
constructor();
|
|
204
|
+
handleScroll(event: Event): void;
|
|
205
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectList, never>;
|
|
206
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectList, "[rdxSelectList]", never, {}, {}, never, never, true, never>;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
declare const context$1: () => {
|
|
210
|
+
content: _angular_core.WritableSignal<HTMLElement | null>;
|
|
211
|
+
viewport: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
212
|
+
isPositioned: _angular_core.WritableSignal<boolean>;
|
|
213
|
+
selectedItem: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
214
|
+
selectedItemText: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
215
|
+
highlightedItem: _angular_core.Signal<RdxCollectionItem<unknown> | null>;
|
|
216
|
+
isHighlighted: (item: RdxCollectionItem) => boolean;
|
|
217
|
+
highlightItem: (item: RdxCollectionItem) => void;
|
|
218
|
+
isKeyboardActive: () => boolean;
|
|
219
|
+
setKeyboardActive: (value: boolean) => void;
|
|
220
|
+
onViewportChange: (node: any) => void;
|
|
221
|
+
onItemLeave: () => void;
|
|
222
|
+
itemRefCallback: (node: any, value: any, disabled: boolean) => void;
|
|
223
|
+
itemTextRefCallback: (node: any, value: any, disabled: any) => void;
|
|
224
|
+
};
|
|
225
|
+
type RdxSelectPopupContext = ReturnType<typeof context$1>;
|
|
226
|
+
declare const injectSelectPopupContext: _radix_ng_primitives_core.InjectContext<{
|
|
227
|
+
content: _angular_core.WritableSignal<HTMLElement | null>;
|
|
228
|
+
viewport: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
229
|
+
isPositioned: _angular_core.WritableSignal<boolean>;
|
|
230
|
+
selectedItem: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
231
|
+
selectedItemText: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
232
|
+
highlightedItem: _angular_core.Signal<RdxCollectionItem<unknown> | null>;
|
|
233
|
+
isHighlighted: (item: RdxCollectionItem) => boolean;
|
|
234
|
+
highlightItem: (item: RdxCollectionItem) => void;
|
|
235
|
+
isKeyboardActive: () => boolean;
|
|
236
|
+
setKeyboardActive: (value: boolean) => void;
|
|
237
|
+
onViewportChange: (node: any) => void;
|
|
238
|
+
onItemLeave: () => void;
|
|
239
|
+
itemRefCallback: (node: any, value: any, disabled: boolean) => void;
|
|
240
|
+
itemTextRefCallback: (node: any, value: any, disabled: any) => void;
|
|
241
|
+
}>;
|
|
242
|
+
declare const provideSelectPopupContext: (useFactory: () => {
|
|
243
|
+
content: _angular_core.WritableSignal<HTMLElement | null>;
|
|
244
|
+
viewport: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
245
|
+
isPositioned: _angular_core.WritableSignal<boolean>;
|
|
246
|
+
selectedItem: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
247
|
+
selectedItemText: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
248
|
+
highlightedItem: _angular_core.Signal<RdxCollectionItem<unknown> | null>;
|
|
249
|
+
isHighlighted: (item: RdxCollectionItem) => boolean;
|
|
250
|
+
highlightItem: (item: RdxCollectionItem) => void;
|
|
251
|
+
isKeyboardActive: () => boolean;
|
|
252
|
+
setKeyboardActive: (value: boolean) => void;
|
|
253
|
+
onViewportChange: (node: any) => void;
|
|
254
|
+
onItemLeave: () => void;
|
|
255
|
+
itemRefCallback: (node: any, value: any, disabled: boolean) => void;
|
|
256
|
+
itemTextRefCallback: (node: any, value: any, disabled: any) => void;
|
|
257
|
+
}) => _angular_core.Provider;
|
|
258
|
+
interface RdxPositionerImpl {
|
|
259
|
+
placed: OutputRef<any>;
|
|
260
|
+
}
|
|
261
|
+
declare const RDX_SELECT_POSITIONER_TOKEN: InjectionToken<RdxPositionerImpl>;
|
|
262
|
+
/**
|
|
263
|
+
* The popup listbox. Holds DOM focus while open and navigates with the highlight model
|
|
264
|
+
* (`aria-activedescendant`) — items are not individually focusable.
|
|
265
|
+
*
|
|
266
|
+
* Since ADR 0010 §6 the popup is the **inner** element (the positioner is its ancestor): it carries
|
|
267
|
+
* `role="listbox"`, the `contentId`, and — via the composed {@link RdxPopperContent} — the
|
|
268
|
+
* `data-side` / `data-align` attributes and the until-positioned animation guard previously held by
|
|
269
|
+
* the deleted `rdxSelectPositionerContent`. `RdxPopperContent` also makes the popup the element the
|
|
270
|
+
* `RdxPopperContentWrapper` ancestor reads its content z-index from. In item-aligned mode there is no
|
|
271
|
+
* wrapper, so `RdxPopperContent` no-ops.
|
|
272
|
+
*
|
|
273
|
+
* @group Components
|
|
274
|
+
*/
|
|
275
|
+
declare class RdxSelectPopup {
|
|
276
|
+
private readonly dismissableLayer;
|
|
277
|
+
private readonly currentElement;
|
|
278
|
+
private readonly collection;
|
|
279
|
+
private readonly injector;
|
|
280
|
+
readonly rootContext: {
|
|
229
281
|
triggerElement: _angular_core.WritableSignal<HTMLElement | null>;
|
|
230
282
|
valueElement: _angular_core.WritableSignal<HTMLElement | null>;
|
|
231
283
|
triggerPointerDownPosRef: _angular_core.WritableSignal<{
|
|
@@ -233,25 +285,96 @@ declare class RdxSelectPopperPositionContent {
|
|
|
233
285
|
y: number;
|
|
234
286
|
} | null>;
|
|
235
287
|
contentId: string;
|
|
236
|
-
dir: _angular_core.InputSignal<
|
|
237
|
-
value: _angular_core.ModelSignal<
|
|
288
|
+
dir: _angular_core.InputSignal<_radix_ng_primitives_core.Direction>;
|
|
289
|
+
value: _angular_core.ModelSignal<AcceptableValue | AcceptableValue[] | undefined>;
|
|
238
290
|
multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
239
|
-
|
|
291
|
+
isItemEqualToValue: _angular_core.InputSignal<_radix_ng_primitives_core.ItemValueComparator<AcceptableValue> | undefined>;
|
|
292
|
+
itemToStringLabel: _angular_core.InputSignal<((value: AcceptableValue) => string) | undefined>;
|
|
240
293
|
open: _angular_core.ModelSignal<boolean>;
|
|
241
294
|
disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
295
|
+
modal: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
296
|
+
isEmptyModelValue: _angular_core.Signal<boolean>;
|
|
297
|
+
transitionStatus: _angular_core.Signal<_radix_ng_primitives_core.RdxTransitionStatus>;
|
|
298
|
+
registerTransitionElement: (element: HTMLElement) => () => void;
|
|
242
299
|
optionsSet: _angular_core.WritableSignal<Set<_radix_ng_primitives_select.SelectOption>>;
|
|
243
300
|
onOptionAdd: (option: any) => void;
|
|
244
301
|
onOptionRemove: (option: any) => void;
|
|
245
|
-
onValueChange: (value:
|
|
302
|
+
onValueChange: (value: AcceptableValue) => void;
|
|
246
303
|
onTriggerChange: (node: any) => void;
|
|
247
304
|
onValueElementChange: (node: any) => void;
|
|
248
305
|
onOpenChange: (value: any) => void;
|
|
249
306
|
};
|
|
250
|
-
|
|
251
|
-
|
|
307
|
+
/**
|
|
308
|
+
* The collected items (DOM order). Exposed so the `item-aligned` positioner — now the popup's
|
|
309
|
+
* **ancestor** — can read them without injecting {@link RdxCollectionProvider} (which the popup
|
|
310
|
+
* provides as a descendant, so an upward `inject` would not find it).
|
|
311
|
+
*/
|
|
312
|
+
readonly items: _angular_core.Signal<readonly RdxCollectionItem<any>[]>;
|
|
313
|
+
/**
|
|
314
|
+
* Highlight-model navigation over the collected items (DOM order). `loop` is disabled so arrow
|
|
315
|
+
* navigation stops at the first / last item instead of wrapping around — matching native
|
|
316
|
+
* `<select>` behavior.
|
|
317
|
+
*/
|
|
318
|
+
readonly highlight: _radix_ng_primitives_core.ListHighlight<RdxCollectionItem<unknown>>;
|
|
319
|
+
readonly selectedItem: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
320
|
+
readonly selectedItemText: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
321
|
+
readonly firstValidItemFoundRef: _angular_core.WritableSignal<boolean>;
|
|
322
|
+
readonly viewport: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
323
|
+
readonly isPositioned: _angular_core.WritableSignal<boolean>;
|
|
324
|
+
private keyboardActive;
|
|
325
|
+
/**
|
|
326
|
+
* Event handler called when the escape key is down.
|
|
327
|
+
* Can be prevented.
|
|
328
|
+
*/
|
|
329
|
+
readonly escapeKeyDown: OutputRef<KeyboardEvent>;
|
|
330
|
+
/**
|
|
331
|
+
* Event handler called when a `pointerdown` event happens outside of the `DismissableLayer`.
|
|
332
|
+
* Can be prevented.
|
|
333
|
+
*/
|
|
334
|
+
readonly pointerDownOutside: OutputRef<PointerEvent>;
|
|
335
|
+
readonly content: _angular_core.WritableSignal<HTMLElement | null>;
|
|
336
|
+
/**
|
|
337
|
+
* The positioner — now an **ancestor** element — provides {@link RDX_SELECT_POSITIONER_TOKEN}
|
|
338
|
+
* (Popper or item-aligned). We react to its `placed` to highlight and scroll the selected item
|
|
339
|
+
* into view and flag the popup as positioned.
|
|
340
|
+
*/
|
|
341
|
+
private readonly positioner;
|
|
342
|
+
constructor();
|
|
343
|
+
/** Highlights the selected item (or the first enabled one) when the popup opens. */
|
|
344
|
+
highlightSelectedItem(): void;
|
|
345
|
+
private scrollSelectedIntoView;
|
|
346
|
+
setKeyboardActive(value: boolean): void;
|
|
347
|
+
isKeyboardActive(): boolean;
|
|
348
|
+
handleKeyDown(event: Event): void;
|
|
349
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectPopup, never>;
|
|
350
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectPopup, "[rdxSelectPopup]", never, {}, { "escapeKeyDown": "escapeKeyDown"; "pointerDownOutside": "pointerDownOutside"; }, never, never, true, [{ directive: typeof i1$1.RdxPopperContent; inputs: {}; outputs: {}; }, { directive: typeof i2.RdxFocusScope; inputs: {}; outputs: {}; }, { directive: typeof i3.RdxDismissableLayer; inputs: {}; outputs: {}; }, { directive: typeof i1.RdxCollectionProvider; inputs: {}; outputs: {}; }]>;
|
|
252
351
|
}
|
|
253
352
|
|
|
254
|
-
|
|
353
|
+
/**
|
|
354
|
+
* Structural directive that teleports the select popup into a container (default `document.body`)
|
|
355
|
+
* while the select is open, and keeps it mounted until any CSS exit `@keyframes` finishes.
|
|
356
|
+
*
|
|
357
|
+
* Apply it with the `*` microsyntax on the popup — `<div *rdxSelectPortal rdxSelectPopup>` — or as an
|
|
358
|
+
* explicit `<ng-template rdxSelectPortal>`. For a custom container use the explicit form with
|
|
359
|
+
* `[container]`. Unlike the previous attribute portal it no longer parks an empty wrapper `<div>` in
|
|
360
|
+
* `document.body` while the select is closed.
|
|
361
|
+
*/
|
|
362
|
+
declare class RdxSelectPortal {
|
|
363
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectPortal, never>;
|
|
364
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectPortal, "ng-template[rdxSelectPortal]", ["rdxSelectPortal"], {}, {}, never, never, true, [{ directive: typeof i1$2.RdxPortalPresence; inputs: { "container": "container"; }; outputs: {}; }]>;
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* Dev-mode guard: `rdxSelectPortal` used to be an attribute directive on a `<div>`. It is now
|
|
368
|
+
* structural, so the old `<div rdxSelectPortal>` markup would silently stop portaling — fail loudly
|
|
369
|
+
* instead.
|
|
370
|
+
*/
|
|
371
|
+
declare class RdxSelectPortalMisuseGuard {
|
|
372
|
+
constructor();
|
|
373
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectPortalMisuseGuard, never>;
|
|
374
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectPortalMisuseGuard, "[rdxSelectPortal]:not(ng-template)", never, {}, {}, never, never, true, never>;
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
declare class RdxSelectPositioner implements RdxPositionerImpl {
|
|
255
378
|
/**
|
|
256
379
|
* The preferred side of the anchor to render against when open.
|
|
257
380
|
* Will be reversed when collisions occur and avoidCollisions is enabled.
|
|
@@ -264,7 +387,7 @@ declare class RdxSelectPopperPositionWrapper implements RdxPositionerImpl {
|
|
|
264
387
|
/**
|
|
265
388
|
* The preferred alignment against the anchor. May change when collisions occur.
|
|
266
389
|
*/
|
|
267
|
-
readonly align: _angular_core.InputSignal<"
|
|
390
|
+
readonly align: _angular_core.InputSignal<"center" | "end" | "start">;
|
|
268
391
|
/**
|
|
269
392
|
* An offset in pixels from the `start` or `end` alignment options.
|
|
270
393
|
*/
|
|
@@ -306,22 +429,8 @@ declare class RdxSelectPopperPositionWrapper implements RdxPositionerImpl {
|
|
|
306
429
|
* Emits when the element is placed.
|
|
307
430
|
*/
|
|
308
431
|
readonly placed: _angular_core.OutputRef<void>;
|
|
309
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<
|
|
310
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<
|
|
311
|
-
}
|
|
312
|
-
|
|
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: {}; }]>;
|
|
320
|
-
}
|
|
321
|
-
|
|
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: {}; }]>;
|
|
432
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectPositioner, never>;
|
|
433
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectPositioner, "[rdxSelectPositioner]", 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: {}; }]>;
|
|
325
434
|
}
|
|
326
435
|
|
|
327
436
|
interface SelectOption {
|
|
@@ -340,9 +449,14 @@ declare const context: () => {
|
|
|
340
449
|
dir: _angular_core.InputSignal<Direction>;
|
|
341
450
|
value: _angular_core.ModelSignal<AcceptableValue | AcceptableValue[] | undefined>;
|
|
342
451
|
multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
343
|
-
|
|
452
|
+
isItemEqualToValue: _angular_core.InputSignal<ItemValueComparator<AcceptableValue> | undefined>;
|
|
453
|
+
itemToStringLabel: _angular_core.InputSignal<((value: AcceptableValue) => string) | undefined>;
|
|
344
454
|
open: _angular_core.ModelSignal<boolean>;
|
|
345
455
|
disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
456
|
+
modal: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
457
|
+
isEmptyModelValue: _angular_core.Signal<boolean>;
|
|
458
|
+
transitionStatus: _angular_core.Signal<_radix_ng_primitives_core.RdxTransitionStatus>;
|
|
459
|
+
registerTransitionElement: (element: HTMLElement) => () => void;
|
|
346
460
|
optionsSet: _angular_core.WritableSignal<Set<SelectOption>>;
|
|
347
461
|
onOptionAdd: (option: any) => void;
|
|
348
462
|
onOptionRemove: (option: any) => void;
|
|
@@ -363,9 +477,14 @@ declare const injectSelectRootContext: _radix_ng_primitives_core.InjectContext<{
|
|
|
363
477
|
dir: _angular_core.InputSignal<Direction>;
|
|
364
478
|
value: _angular_core.ModelSignal<AcceptableValue | AcceptableValue[] | undefined>;
|
|
365
479
|
multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
366
|
-
|
|
480
|
+
isItemEqualToValue: _angular_core.InputSignal<ItemValueComparator<AcceptableValue> | undefined>;
|
|
481
|
+
itemToStringLabel: _angular_core.InputSignal<((value: AcceptableValue) => string) | undefined>;
|
|
367
482
|
open: _angular_core.ModelSignal<boolean>;
|
|
368
483
|
disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
484
|
+
modal: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
485
|
+
isEmptyModelValue: _angular_core.Signal<boolean>;
|
|
486
|
+
transitionStatus: _angular_core.Signal<_radix_ng_primitives_core.RdxTransitionStatus>;
|
|
487
|
+
registerTransitionElement: (element: HTMLElement) => () => void;
|
|
369
488
|
optionsSet: _angular_core.WritableSignal<Set<SelectOption>>;
|
|
370
489
|
onOptionAdd: (option: any) => void;
|
|
371
490
|
onOptionRemove: (option: any) => void;
|
|
@@ -385,9 +504,14 @@ declare const provideSelectRootContext: (useFactory: () => {
|
|
|
385
504
|
dir: _angular_core.InputSignal<Direction>;
|
|
386
505
|
value: _angular_core.ModelSignal<AcceptableValue | AcceptableValue[] | undefined>;
|
|
387
506
|
multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
388
|
-
|
|
507
|
+
isItemEqualToValue: _angular_core.InputSignal<ItemValueComparator<AcceptableValue> | undefined>;
|
|
508
|
+
itemToStringLabel: _angular_core.InputSignal<((value: AcceptableValue) => string) | undefined>;
|
|
389
509
|
open: _angular_core.ModelSignal<boolean>;
|
|
390
510
|
disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
511
|
+
modal: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
512
|
+
isEmptyModelValue: _angular_core.Signal<boolean>;
|
|
513
|
+
transitionStatus: _angular_core.Signal<_radix_ng_primitives_core.RdxTransitionStatus>;
|
|
514
|
+
registerTransitionElement: (element: HTMLElement) => () => void;
|
|
391
515
|
optionsSet: _angular_core.WritableSignal<Set<SelectOption>>;
|
|
392
516
|
onOptionAdd: (option: any) => void;
|
|
393
517
|
onOptionRemove: (option: any) => void;
|
|
@@ -401,10 +525,22 @@ declare class RdxSelectRoot {
|
|
|
401
525
|
readonly value: _angular_core.ModelSignal<AcceptableValue | AcceptableValue[] | undefined>;
|
|
402
526
|
readonly multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
403
527
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
528
|
+
/** Whether the popup is modal: locks page scroll and makes outside content inert while open. */
|
|
529
|
+
readonly modal: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
404
530
|
readonly dir: _angular_core.InputSignal<Direction>;
|
|
405
|
-
/**
|
|
406
|
-
readonly
|
|
531
|
+
/** How item values are compared for equality — a function `(a, b) => boolean` or an object key. */
|
|
532
|
+
readonly isItemEqualToValue: _angular_core.InputSignal<ItemValueComparator<AcceptableValue> | undefined>;
|
|
533
|
+
/** Converts a value to its display label (used by `RdxSelectValue`). */
|
|
534
|
+
readonly itemToStringLabel: _angular_core.InputSignal<((value: AcceptableValue) => string) | undefined>;
|
|
535
|
+
/** Emits after the open/close transition (including any exit animation) finishes. */
|
|
536
|
+
readonly onOpenChangeComplete: _angular_core.OutputEmitterRef<boolean>;
|
|
537
|
+
private readonly transition;
|
|
538
|
+
/** Open/close transition phase, for `data-starting-style` / `data-ending-style`. */
|
|
539
|
+
readonly transitionStatus: _angular_core.Signal<_radix_ng_primitives_core.RdxTransitionStatus>;
|
|
540
|
+
/** Registers the popup element whose animation determines transition completion. */
|
|
541
|
+
readonly registerTransitionElement: (element: HTMLElement) => () => void;
|
|
407
542
|
readonly isEmptyModelValue: _angular_core.Signal<boolean>;
|
|
543
|
+
constructor();
|
|
408
544
|
readonly optionsSet: _angular_core.WritableSignal<Set<SelectOption>>;
|
|
409
545
|
readonly nativeSelectKey: _angular_core.Signal<string>;
|
|
410
546
|
readonly triggerElement: _angular_core.WritableSignal<HTMLElement | null>;
|
|
@@ -416,7 +552,17 @@ declare class RdxSelectRoot {
|
|
|
416
552
|
getOption(value: SelectOption['value']): SelectOption | undefined;
|
|
417
553
|
handleValueChange(value: AcceptableValue): void;
|
|
418
554
|
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; }; "
|
|
555
|
+
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; }; "modal": { "alias": "modal"; "required": false; "isSignal": true; }; "dir": { "alias": "dir"; "required": false; "isSignal": true; }; "isItemEqualToValue": { "alias": "isItemEqualToValue"; "required": false; "isSignal": true; }; "itemToStringLabel": { "alias": "itemToStringLabel"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "value": "valueChange"; "onOpenChangeComplete": "onOpenChangeComplete"; }, never, never, true, [{ directive: typeof i1$1.RdxPopper; inputs: {}; outputs: {}; }]>;
|
|
556
|
+
}
|
|
557
|
+
|
|
558
|
+
/**
|
|
559
|
+
* A visual divider between groups of items.
|
|
560
|
+
*
|
|
561
|
+
* @group Components
|
|
562
|
+
*/
|
|
563
|
+
declare class RdxSelectSeparator {
|
|
564
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectSeparator, never>;
|
|
565
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectSeparator, "[rdxSelectSeparator]", ["rdxSelectSeparator"], {}, {}, never, never, true, never>;
|
|
420
566
|
}
|
|
421
567
|
|
|
422
568
|
declare class RdxSelectTrigger {
|
|
@@ -428,23 +574,36 @@ declare class RdxSelectTrigger {
|
|
|
428
574
|
y: number;
|
|
429
575
|
} | null>;
|
|
430
576
|
contentId: string;
|
|
431
|
-
dir: _angular_core.InputSignal<
|
|
432
|
-
value: _angular_core.ModelSignal<
|
|
577
|
+
dir: _angular_core.InputSignal<_radix_ng_primitives_core.Direction>;
|
|
578
|
+
value: _angular_core.ModelSignal<_radix_ng_primitives_core.AcceptableValue | _radix_ng_primitives_core.AcceptableValue[] | undefined>;
|
|
433
579
|
multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
434
|
-
|
|
580
|
+
isItemEqualToValue: _angular_core.InputSignal<_radix_ng_primitives_core.ItemValueComparator<_radix_ng_primitives_core.AcceptableValue> | undefined>;
|
|
581
|
+
itemToStringLabel: _angular_core.InputSignal<((value: _radix_ng_primitives_core.AcceptableValue) => string) | undefined>;
|
|
435
582
|
open: _angular_core.ModelSignal<boolean>;
|
|
436
583
|
disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
584
|
+
modal: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
585
|
+
isEmptyModelValue: _angular_core.Signal<boolean>;
|
|
586
|
+
transitionStatus: _angular_core.Signal<_radix_ng_primitives_core.RdxTransitionStatus>;
|
|
587
|
+
registerTransitionElement: (element: HTMLElement) => () => void;
|
|
437
588
|
optionsSet: _angular_core.WritableSignal<Set<_radix_ng_primitives_select.SelectOption>>;
|
|
438
589
|
onOptionAdd: (option: any) => void;
|
|
439
590
|
onOptionRemove: (option: any) => void;
|
|
440
|
-
onValueChange: (value:
|
|
591
|
+
onValueChange: (value: _radix_ng_primitives_core.AcceptableValue) => void;
|
|
441
592
|
onTriggerChange: (node: any) => void;
|
|
442
593
|
onValueElementChange: (node: any) => void;
|
|
443
594
|
onOpenChange: (value: any) => void;
|
|
444
595
|
};
|
|
445
596
|
readonly elementRef: ElementRef<HTMLElement>;
|
|
597
|
+
private readonly fieldRootContext;
|
|
598
|
+
/** The trigger id; Field labels and descriptions reference it for accessible relationships. */
|
|
599
|
+
readonly id: _angular_core.InputSignal<string>;
|
|
446
600
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
447
601
|
readonly isDisabled: _angular_core.Signal<boolean>;
|
|
602
|
+
protected readonly invalidState: _angular_core.Signal<boolean>;
|
|
603
|
+
protected readonly requiredState: _angular_core.Signal<boolean>;
|
|
604
|
+
protected readonly filledState: _angular_core.Signal<boolean>;
|
|
605
|
+
protected readonly focusedState: _angular_core.Signal<boolean>;
|
|
606
|
+
protected readonly describedBy: _angular_core.Signal<string | undefined>;
|
|
448
607
|
constructor();
|
|
449
608
|
handleOpen(): void;
|
|
450
609
|
handlePointerOpen(event: Event): void;
|
|
@@ -452,8 +611,11 @@ declare class RdxSelectTrigger {
|
|
|
452
611
|
onPointerDown(event: Event): void;
|
|
453
612
|
onPointerUp(event: Event): void;
|
|
454
613
|
onKeydown(event: Event): void;
|
|
614
|
+
onFocus(): void;
|
|
615
|
+
onBlur(): void;
|
|
616
|
+
protected readonly dataAttr: (value: boolean) => "" | undefined;
|
|
455
617
|
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: {}; }]>;
|
|
618
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectTrigger, "button[rdxSelectTrigger]", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1$1.RdxPopperAnchor; inputs: {}; outputs: {}; }]>;
|
|
457
619
|
}
|
|
458
620
|
|
|
459
621
|
declare class RdxSelectValue {
|
|
@@ -468,9 +630,14 @@ declare class RdxSelectValue {
|
|
|
468
630
|
dir: _angular_core.InputSignal<_radix_ng_primitives_core.Direction>;
|
|
469
631
|
value: _angular_core.ModelSignal<AcceptableValue | AcceptableValue[] | undefined>;
|
|
470
632
|
multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
471
|
-
|
|
633
|
+
isItemEqualToValue: _angular_core.InputSignal<_radix_ng_primitives_core.ItemValueComparator<AcceptableValue> | undefined>;
|
|
634
|
+
itemToStringLabel: _angular_core.InputSignal<((value: AcceptableValue) => string) | undefined>;
|
|
472
635
|
open: _angular_core.ModelSignal<boolean>;
|
|
473
636
|
disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
637
|
+
modal: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
638
|
+
isEmptyModelValue: _angular_core.Signal<boolean>;
|
|
639
|
+
transitionStatus: _angular_core.Signal<_radix_ng_primitives_core.RdxTransitionStatus>;
|
|
640
|
+
registerTransitionElement: (element: HTMLElement) => () => void;
|
|
474
641
|
optionsSet: _angular_core.WritableSignal<Set<_radix_ng_primitives_select.SelectOption>>;
|
|
475
642
|
onOptionAdd: (option: any) => void;
|
|
476
643
|
onOptionRemove: (option: any) => void;
|
|
@@ -488,16 +655,6 @@ declare class RdxSelectValue {
|
|
|
488
655
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectValue, "span[rdxSelectValue]", ["rdxSelectedValue"], { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
489
656
|
}
|
|
490
657
|
|
|
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>;
|
|
499
|
-
}
|
|
500
|
-
|
|
501
658
|
declare const OPEN_KEYS: string[];
|
|
502
659
|
declare const SELECTION_KEYS: string[];
|
|
503
660
|
declare const CONTENT_MARGIN = 10;
|
|
@@ -506,7 +663,7 @@ declare function compare<T>(value?: T, currentValue?: T, comparator?: string | (
|
|
|
506
663
|
declare function shouldShowPlaceholder(value?: AcceptableValue | AcceptableValue[]): boolean;
|
|
507
664
|
declare function focusFirst(candidates: HTMLElement[]): void;
|
|
508
665
|
|
|
509
|
-
declare const _importsSelect: (typeof
|
|
666
|
+
declare const _importsSelect: (typeof RdxSelectGroupLabel)[];
|
|
510
667
|
|
|
511
|
-
export { CONTENT_MARGIN, OPEN_KEYS, RDX_SELECT_POSITIONER_TOKEN,
|
|
512
|
-
export type { RdxPositionerImpl,
|
|
668
|
+
export { CONTENT_MARGIN, OPEN_KEYS, RDX_SELECT_POSITIONER_TOKEN, RdxSelectBackdrop, RdxSelectGroup, RdxSelectGroupLabel, RdxSelectIcon, RdxSelectItem, RdxSelectItemIndicator, RdxSelectItemText, RdxSelectList, RdxSelectPopup, RdxSelectPortal, RdxSelectPortalMisuseGuard, RdxSelectPositioner, RdxSelectRoot, RdxSelectSeparator, RdxSelectTrigger, RdxSelectValue, SELECTION_KEYS, _importsSelect, compare, focusFirst, injectSelectItemContext, injectSelectPopupContext, injectSelectRootContext, provideSelectItemContext, provideSelectPopupContext, provideSelectRootContext, shouldShowPlaceholder, valueComparator };
|
|
669
|
+
export type { RdxPositionerImpl, RdxSelectItemContext, RdxSelectPopupContext, RdxSelectRootContext, SelectEvent, SelectOption };
|