@radix-ng/primitives 1.0.0-beta.2 → 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-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-combobox.mjs +107 -47
- package/fesm2022/radix-ng-primitives-combobox.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-dialog.mjs +43 -45
- package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-drawer.mjs +153 -63
- package/fesm2022/radix-ng-primitives-drawer.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menu.mjs +40 -20
- package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-navigation-menu.mjs +38 -54
- package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-popover.mjs +35 -50
- package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-popper.mjs +11 -5
- 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 +36 -50
- package/fesm2022/radix-ng-primitives-preview-card.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-select.mjs +106 -92
- package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tooltip.mjs +37 -40
- package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
- package/package.json +5 -1
- 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 +61 -16
- 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-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 +52 -55
- package/types/radix-ng-primitives-tooltip.d.ts +26 -19
|
@@ -2,13 +2,13 @@ import * as _angular_core from '@angular/core';
|
|
|
2
2
|
import { Signal, ElementRef } from '@angular/core';
|
|
3
3
|
import * as i1 from '@radix-ng/primitives/popper';
|
|
4
4
|
import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
|
|
5
|
-
import { AcceptableValue, Direction,
|
|
5
|
+
import { AcceptableValue, Direction, BooleanInput, ItemValueComparator } from '@radix-ng/primitives/core';
|
|
6
6
|
import { ControlValueAccessor } from '@angular/forms';
|
|
7
7
|
import * as _radix_ng_primitives_combobox from '@radix-ng/primitives/combobox';
|
|
8
8
|
import * as i1$1 from '@radix-ng/primitives/dismissable-layer';
|
|
9
9
|
import * as _radix_ng_primitives_types_radix_ng_primitives_core from '@radix-ng/primitives/types/radix-ng-primitives-core';
|
|
10
10
|
import * as i1$2 from '@radix-ng/primitives/portal';
|
|
11
|
-
import
|
|
11
|
+
import { RdxPortalContainer } from '@radix-ng/primitives/portal';
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Optional positioning anchor for the popup. Put it on the element the popup should align to — for
|
|
@@ -98,6 +98,8 @@ declare const context: () => {
|
|
|
98
98
|
highlightIndex: (index: number, reason: ComboboxHighlightReason) => void;
|
|
99
99
|
setHighlight: (item: ComboboxItemRef, reason: ComboboxHighlightReason) => void;
|
|
100
100
|
clearHighlight: () => void;
|
|
101
|
+
highlightItemOnHover: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
102
|
+
keepHighlight: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
101
103
|
inputElement: Signal<HTMLInputElement | null>;
|
|
102
104
|
setInputElement: (el: HTMLInputElement | null) => void;
|
|
103
105
|
registerTrigger: (el: HTMLElement | null) => HTMLElement | null;
|
|
@@ -157,6 +159,8 @@ declare const injectComboboxRootContext: _radix_ng_primitives_core.InjectContext
|
|
|
157
159
|
highlightIndex: (index: number, reason: ComboboxHighlightReason) => void;
|
|
158
160
|
setHighlight: (item: ComboboxItemRef, reason: ComboboxHighlightReason) => void;
|
|
159
161
|
clearHighlight: () => void;
|
|
162
|
+
highlightItemOnHover: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
163
|
+
keepHighlight: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
160
164
|
inputElement: Signal<HTMLInputElement | null>;
|
|
161
165
|
setInputElement: (el: HTMLInputElement | null) => void;
|
|
162
166
|
registerTrigger: (el: HTMLElement | null) => HTMLElement | null;
|
|
@@ -215,6 +219,8 @@ declare const provideComboboxRootContext: (useFactory: () => {
|
|
|
215
219
|
highlightIndex: (index: number, reason: ComboboxHighlightReason) => void;
|
|
216
220
|
setHighlight: (item: ComboboxItemRef, reason: ComboboxHighlightReason) => void;
|
|
217
221
|
clearHighlight: () => void;
|
|
222
|
+
highlightItemOnHover: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
223
|
+
keepHighlight: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
218
224
|
inputElement: Signal<HTMLInputElement | null>;
|
|
219
225
|
setInputElement: (el: HTMLInputElement | null) => void;
|
|
220
226
|
registerTrigger: (el: HTMLElement | null) => HTMLElement | null;
|
|
@@ -280,12 +286,24 @@ declare class RdxComboboxRoot implements ControlValueAccessor {
|
|
|
280
286
|
/**
|
|
281
287
|
* Auto-highlight behavior:
|
|
282
288
|
* - `false` (default): never auto-highlight;
|
|
283
|
-
* - `true` / `'input-change'`: highlight the first match as the query changes;
|
|
289
|
+
* - `true` (also the bare `autoHighlight` attribute) / `'input-change'`: highlight the first match as the query changes;
|
|
284
290
|
* - `'always'`: keep the first navigable item highlighted whenever the popup is open.
|
|
285
291
|
*/
|
|
286
|
-
readonly autoHighlight: _angular_core.
|
|
292
|
+
readonly autoHighlight: _angular_core.InputSignalWithTransform<boolean | "always" | "input-change", BooleanInput>;
|
|
287
293
|
/** Resolved auto-highlight mode. */
|
|
288
294
|
readonly autoHighlightMode: Signal<"always" | "input-change" | "off">;
|
|
295
|
+
/**
|
|
296
|
+
* Whether moving the pointer over an item highlights it. `true` (default) paints `data-highlighted`
|
|
297
|
+
* on hover; `false` suppresses hover-driven highlight entirely, letting CSS `:hover` stay distinct
|
|
298
|
+
* from the `data-highlighted` (keyboard) state. Clicking an item still selects it.
|
|
299
|
+
*/
|
|
300
|
+
readonly highlightItemOnHover: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
301
|
+
/**
|
|
302
|
+
* Whether a pointer-driven highlight is kept when the cursor leaves the list. `false` (default)
|
|
303
|
+
* clears the highlight on pointer-leave; `true` retains the last hovered item highlighted. Keyboard
|
|
304
|
+
* navigation and auto-highlight are unaffected.
|
|
305
|
+
*/
|
|
306
|
+
readonly keepHighlight: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
289
307
|
/** Whether clicking the input opens the popup. */
|
|
290
308
|
readonly openOnInputClick: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
291
309
|
/** Whether the popup is modal: locks page scroll and makes outside content inert while open. */
|
|
@@ -447,7 +465,7 @@ declare class RdxComboboxRoot implements ControlValueAccessor {
|
|
|
447
465
|
registerOnTouched(fn: () => void): void;
|
|
448
466
|
setDisabledState(isDisabled: boolean): void;
|
|
449
467
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxComboboxRoot, never>;
|
|
450
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxComboboxRoot, "[rdxComboboxRoot]", ["rdxComboboxRoot"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "inputValue": { "alias": "inputValue"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "defaultOpen": { "alias": "defaultOpen"; "required": false; "isSignal": true; }; "multipleInput": { "alias": "multiple"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "fillInputOnItemPress": { "alias": "fillInputOnItemPress"; "required": false; "isSignal": true; }; "dir": { "alias": "dir"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "loopFocus": { "alias": "loopFocus"; "required": false; "isSignal": true; }; "autoHighlight": { "alias": "autoHighlight"; "required": false; "isSignal": true; }; "openOnInputClick": { "alias": "openOnInputClick"; "required": false; "isSignal": true; }; "modal": { "alias": "modal"; "required": false; "isSignal": true; }; "submitOnItemClick": { "alias": "submitOnItemClick"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "limit": { "alias": "limit"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "virtualized": { "alias": "virtualized"; "required": false; "isSignal": true; }; "by": { "alias": "by"; "required": false; "isSignal": true; }; "itemToStringLabel": { "alias": "itemToStringLabel"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "inputValue": "inputValueChange"; "open": "openChange"; "onValueChange": "onValueChange"; "onInputValueChange": "onInputValueChange"; "onOpenChange": "onOpenChange"; "onItemHighlighted": "onItemHighlighted"; "onOpenChangeComplete": "onOpenChangeComplete"; }, never, never, true, [{ directive: typeof i1.RdxPopper; inputs: {}; outputs: {}; }]>;
|
|
468
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxComboboxRoot, "[rdxComboboxRoot]", ["rdxComboboxRoot"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "inputValue": { "alias": "inputValue"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "defaultOpen": { "alias": "defaultOpen"; "required": false; "isSignal": true; }; "multipleInput": { "alias": "multiple"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "fillInputOnItemPress": { "alias": "fillInputOnItemPress"; "required": false; "isSignal": true; }; "dir": { "alias": "dir"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "loopFocus": { "alias": "loopFocus"; "required": false; "isSignal": true; }; "autoHighlight": { "alias": "autoHighlight"; "required": false; "isSignal": true; }; "highlightItemOnHover": { "alias": "highlightItemOnHover"; "required": false; "isSignal": true; }; "keepHighlight": { "alias": "keepHighlight"; "required": false; "isSignal": true; }; "openOnInputClick": { "alias": "openOnInputClick"; "required": false; "isSignal": true; }; "modal": { "alias": "modal"; "required": false; "isSignal": true; }; "submitOnItemClick": { "alias": "submitOnItemClick"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "limit": { "alias": "limit"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "virtualized": { "alias": "virtualized"; "required": false; "isSignal": true; }; "by": { "alias": "by"; "required": false; "isSignal": true; }; "itemToStringLabel": { "alias": "itemToStringLabel"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "inputValue": "inputValueChange"; "open": "openChange"; "onValueChange": "onValueChange"; "onInputValueChange": "onInputValueChange"; "onOpenChange": "onOpenChange"; "onItemHighlighted": "onItemHighlighted"; "onOpenChangeComplete": "onOpenChangeComplete"; }, never, never, true, [{ directive: typeof i1.RdxPopper; inputs: {}; outputs: {}; }]>;
|
|
451
469
|
}
|
|
452
470
|
|
|
453
471
|
/**
|
|
@@ -509,6 +527,8 @@ declare class RdxComboboxInput {
|
|
|
509
527
|
highlightIndex: (index: number, reason: _radix_ng_primitives_combobox.ComboboxHighlightReason) => void;
|
|
510
528
|
setHighlight: (item: _radix_ng_primitives_combobox.ComboboxItemRef, reason: _radix_ng_primitives_combobox.ComboboxHighlightReason) => void;
|
|
511
529
|
clearHighlight: () => void;
|
|
530
|
+
highlightItemOnHover: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
531
|
+
keepHighlight: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
512
532
|
inputElement: _angular_core.Signal<HTMLInputElement | null>;
|
|
513
533
|
setInputElement: (el: HTMLInputElement | null) => void;
|
|
514
534
|
registerTrigger: (el: HTMLElement | null) => HTMLElement | null;
|
|
@@ -624,6 +644,8 @@ declare class RdxComboboxTrigger {
|
|
|
624
644
|
highlightIndex: (index: number, reason: _radix_ng_primitives_combobox.ComboboxHighlightReason) => void;
|
|
625
645
|
setHighlight: (item: _radix_ng_primitives_combobox.ComboboxItemRef, reason: _radix_ng_primitives_combobox.ComboboxHighlightReason) => void;
|
|
626
646
|
clearHighlight: () => void;
|
|
647
|
+
highlightItemOnHover: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
648
|
+
keepHighlight: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
627
649
|
inputElement: _angular_core.Signal<HTMLInputElement | null>;
|
|
628
650
|
setInputElement: (el: HTMLInputElement | null) => void;
|
|
629
651
|
registerTrigger: (el: HTMLElement | null) => HTMLElement | null;
|
|
@@ -705,6 +727,8 @@ declare class RdxComboboxClear {
|
|
|
705
727
|
highlightIndex: (index: number, reason: _radix_ng_primitives_combobox.ComboboxHighlightReason) => void;
|
|
706
728
|
setHighlight: (item: _radix_ng_primitives_combobox.ComboboxItemRef, reason: _radix_ng_primitives_combobox.ComboboxHighlightReason) => void;
|
|
707
729
|
clearHighlight: () => void;
|
|
730
|
+
highlightItemOnHover: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
731
|
+
keepHighlight: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
708
732
|
inputElement: _angular_core.Signal<HTMLInputElement | null>;
|
|
709
733
|
setInputElement: (el: HTMLInputElement | null) => void;
|
|
710
734
|
registerTrigger: (el: HTMLElement | null) => HTMLElement | null;
|
|
@@ -732,24 +756,36 @@ declare class RdxComboboxClear {
|
|
|
732
756
|
}
|
|
733
757
|
|
|
734
758
|
/**
|
|
735
|
-
*
|
|
759
|
+
* Structural directive that teleports the combobox popup into a container (default `document.body`)
|
|
760
|
+
* while the combobox is open, and keeps it mounted until any CSS exit `@keyframes` finishes.
|
|
761
|
+
*
|
|
762
|
+
* Apply it with the `*` microsyntax on the positioner —
|
|
763
|
+
* `<div *rdxComboboxPortal rdxComboboxPositioner>` — or as an explicit `<ng-template rdxComboboxPortal>`.
|
|
764
|
+
* For a custom container use the explicit form with `[container]`.
|
|
736
765
|
*
|
|
737
766
|
* @group Components
|
|
738
767
|
*/
|
|
739
768
|
declare class RdxComboboxPortal {
|
|
769
|
+
/**
|
|
770
|
+
* Optional container to portal the content into. Defaults to `document.body`. Declared here (and
|
|
771
|
+
* forwarded to the composed {@link RdxPortalPresence}) so the autocomplete portal can re-expose it
|
|
772
|
+
* through its own `hostDirectives`.
|
|
773
|
+
*/
|
|
774
|
+
readonly container: _angular_core.InputSignal<RdxPortalContainer | undefined>;
|
|
740
775
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxComboboxPortal, never>;
|
|
741
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxComboboxPortal, "[rdxComboboxPortal]", ["rdxComboboxPortal"], {}, {}, never, never, true, [{ directive: typeof i1$2.
|
|
776
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxComboboxPortal, "ng-template[rdxComboboxPortal]", ["rdxComboboxPortal"], { "container": { "alias": "container"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1$2.RdxPortalPresence; inputs: { "container": "container"; }; outputs: {}; }]>;
|
|
742
777
|
}
|
|
743
|
-
|
|
744
778
|
/**
|
|
745
|
-
*
|
|
746
|
-
*
|
|
779
|
+
* Dev-mode guard: `rdxComboboxPortal` used to be an attribute directive on a `<div>`. It is now
|
|
780
|
+
* structural, so the old `<div rdxComboboxPortal>` markup would silently stop portaling — fail loudly
|
|
781
|
+
* instead.
|
|
747
782
|
*
|
|
748
783
|
* @group Components
|
|
749
784
|
*/
|
|
750
|
-
declare class
|
|
751
|
-
|
|
752
|
-
static
|
|
785
|
+
declare class RdxComboboxPortalMisuseGuard {
|
|
786
|
+
constructor();
|
|
787
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxComboboxPortalMisuseGuard, never>;
|
|
788
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxComboboxPortalMisuseGuard, "[rdxComboboxPortal]:not(ng-template)", never, {}, {}, never, never, true, never>;
|
|
753
789
|
}
|
|
754
790
|
|
|
755
791
|
/**
|
|
@@ -798,6 +834,8 @@ declare class RdxComboboxBackdrop {
|
|
|
798
834
|
highlightIndex: (index: number, reason: _radix_ng_primitives_combobox.ComboboxHighlightReason) => void;
|
|
799
835
|
setHighlight: (item: _radix_ng_primitives_combobox.ComboboxItemRef, reason: _radix_ng_primitives_combobox.ComboboxHighlightReason) => void;
|
|
800
836
|
clearHighlight: () => void;
|
|
837
|
+
highlightItemOnHover: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
838
|
+
keepHighlight: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
801
839
|
inputElement: _angular_core.Signal<HTMLInputElement | null>;
|
|
802
840
|
setInputElement: (el: HTMLInputElement | null) => void;
|
|
803
841
|
registerTrigger: (el: HTMLElement | null) => HTMLElement | null;
|
|
@@ -831,7 +869,7 @@ declare class RdxComboboxBackdrop {
|
|
|
831
869
|
declare class RdxComboboxPositioner {
|
|
832
870
|
readonly side: _angular_core.InputSignal<"top" | "right" | "bottom" | "left">;
|
|
833
871
|
readonly sideOffset: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
834
|
-
readonly align: _angular_core.InputSignal<"center" | "
|
|
872
|
+
readonly align: _angular_core.InputSignal<"center" | "end" | "start">;
|
|
835
873
|
readonly alignOffset: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
836
874
|
readonly arrowPadding: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
837
875
|
readonly avoidCollisions: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -889,6 +927,8 @@ declare class RdxComboboxPopup {
|
|
|
889
927
|
highlightIndex: (index: number, reason: _radix_ng_primitives_combobox.ComboboxHighlightReason) => void;
|
|
890
928
|
setHighlight: (item: _radix_ng_primitives_combobox.ComboboxItemRef, reason: _radix_ng_primitives_combobox.ComboboxHighlightReason) => void;
|
|
891
929
|
clearHighlight: () => void;
|
|
930
|
+
highlightItemOnHover: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
931
|
+
keepHighlight: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
892
932
|
inputElement: _angular_core.Signal<HTMLInputElement | null>;
|
|
893
933
|
setInputElement: (el: HTMLInputElement | null) => void;
|
|
894
934
|
registerTrigger: (el: HTMLElement | null) => HTMLElement | null;
|
|
@@ -972,6 +1012,8 @@ declare class RdxComboboxList {
|
|
|
972
1012
|
highlightIndex: (index: number, reason: _radix_ng_primitives_combobox.ComboboxHighlightReason) => void;
|
|
973
1013
|
setHighlight: (item: _radix_ng_primitives_combobox.ComboboxItemRef, reason: _radix_ng_primitives_combobox.ComboboxHighlightReason) => void;
|
|
974
1014
|
clearHighlight: () => void;
|
|
1015
|
+
highlightItemOnHover: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1016
|
+
keepHighlight: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
975
1017
|
inputElement: _angular_core.Signal<HTMLInputElement | null>;
|
|
976
1018
|
setInputElement: (el: HTMLInputElement | null) => void;
|
|
977
1019
|
registerTrigger: (el: HTMLElement | null) => HTMLElement | null;
|
|
@@ -1051,6 +1093,7 @@ declare class RdxComboboxItem implements ComboboxItemRef {
|
|
|
1051
1093
|
onPointerDown(event: MouseEvent): void;
|
|
1052
1094
|
onPointerUp(): void;
|
|
1053
1095
|
onPointerMove(): void;
|
|
1096
|
+
onPointerLeave(event: PointerEvent): void;
|
|
1054
1097
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxComboboxItem, never>;
|
|
1055
1098
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxComboboxItem, "[rdxComboboxItem]", ["rdxComboboxItem"], { "value": { "alias": "value"; "required": true; "isSignal": true; }; "textValueInput": { "alias": "textValue"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "index": { "alias": "index"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1056
1099
|
}
|
|
@@ -1162,6 +1205,8 @@ declare class RdxComboboxEmpty {
|
|
|
1162
1205
|
highlightIndex: (index: number, reason: _radix_ng_primitives_combobox.ComboboxHighlightReason) => void;
|
|
1163
1206
|
setHighlight: (item: _radix_ng_primitives_combobox.ComboboxItemRef, reason: _radix_ng_primitives_combobox.ComboboxHighlightReason) => void;
|
|
1164
1207
|
clearHighlight: () => void;
|
|
1208
|
+
highlightItemOnHover: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1209
|
+
keepHighlight: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1165
1210
|
inputElement: _angular_core.Signal<HTMLInputElement | null>;
|
|
1166
1211
|
setInputElement: (el: HTMLInputElement | null) => void;
|
|
1167
1212
|
registerTrigger: (el: HTMLElement | null) => HTMLElement | null;
|
|
@@ -1257,9 +1302,9 @@ declare class RdxComboboxChipRemove {
|
|
|
1257
1302
|
declare const _importsCombobox: (typeof RdxComboboxAnchor)[];
|
|
1258
1303
|
declare class RdxComboboxModule {
|
|
1259
1304
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxComboboxModule, never>;
|
|
1260
|
-
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<RdxComboboxModule, never, [typeof RdxComboboxRoot, typeof RdxComboboxAnchor, typeof RdxComboboxLabel, typeof RdxComboboxInput, typeof RdxComboboxValue, typeof RdxComboboxTrigger, typeof RdxComboboxIcon, typeof RdxComboboxClear, typeof RdxComboboxPortal, typeof
|
|
1305
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<RdxComboboxModule, never, [typeof RdxComboboxRoot, typeof RdxComboboxAnchor, typeof RdxComboboxLabel, typeof RdxComboboxInput, typeof RdxComboboxValue, typeof RdxComboboxTrigger, typeof RdxComboboxIcon, typeof RdxComboboxClear, typeof RdxComboboxPortal, typeof RdxComboboxPortalMisuseGuard, typeof RdxComboboxBackdrop, typeof RdxComboboxPositioner, typeof RdxComboboxPopup, typeof RdxComboboxArrow, typeof RdxComboboxList, typeof RdxComboboxItem, typeof RdxComboboxItemIndicator, typeof RdxComboboxGroup, typeof RdxComboboxGroupLabel, typeof RdxComboboxEmpty, typeof RdxComboboxStatus, typeof RdxComboboxChips, typeof RdxComboboxChip, typeof RdxComboboxChipRemove], [typeof RdxComboboxRoot, typeof RdxComboboxAnchor, typeof RdxComboboxLabel, typeof RdxComboboxInput, typeof RdxComboboxValue, typeof RdxComboboxTrigger, typeof RdxComboboxIcon, typeof RdxComboboxClear, typeof RdxComboboxPortal, typeof RdxComboboxPortalMisuseGuard, typeof RdxComboboxBackdrop, typeof RdxComboboxPositioner, typeof RdxComboboxPopup, typeof RdxComboboxArrow, typeof RdxComboboxList, typeof RdxComboboxItem, typeof RdxComboboxItemIndicator, typeof RdxComboboxGroup, typeof RdxComboboxGroupLabel, typeof RdxComboboxEmpty, typeof RdxComboboxStatus, typeof RdxComboboxChips, typeof RdxComboboxChip, typeof RdxComboboxChipRemove]>;
|
|
1261
1306
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<RdxComboboxModule>;
|
|
1262
1307
|
}
|
|
1263
1308
|
|
|
1264
|
-
export { RdxComboboxAnchor, RdxComboboxArrow, RdxComboboxBackdrop, RdxComboboxChip, RdxComboboxChipRemove, RdxComboboxChips, RdxComboboxClear, RdxComboboxEmpty, RdxComboboxGroup, RdxComboboxGroupLabel, RdxComboboxIcon, RdxComboboxInput, RdxComboboxItem, RdxComboboxItemIndicator, RdxComboboxLabel, RdxComboboxList, RdxComboboxModule, RdxComboboxPopup, RdxComboboxPortal,
|
|
1309
|
+
export { RdxComboboxAnchor, RdxComboboxArrow, RdxComboboxBackdrop, RdxComboboxChip, RdxComboboxChipRemove, RdxComboboxChips, RdxComboboxClear, RdxComboboxEmpty, RdxComboboxGroup, RdxComboboxGroupLabel, RdxComboboxIcon, RdxComboboxInput, RdxComboboxItem, RdxComboboxItemIndicator, RdxComboboxLabel, RdxComboboxList, RdxComboboxModule, RdxComboboxPopup, RdxComboboxPortal, RdxComboboxPortalMisuseGuard, RdxComboboxPositioner, RdxComboboxRoot, RdxComboboxStatus, RdxComboboxTrigger, RdxComboboxValue, _importsCombobox, injectComboboxChipContext, injectComboboxGroupContext, injectComboboxItemContext, injectComboboxRootContext, provideComboboxChipContext, provideComboboxGroupContext, provideComboboxItemContext, provideComboboxRootContext };
|
|
1265
1310
|
export type { ComboboxFilter, ComboboxHighlightReason, ComboboxItemHighlightedDetails, ComboboxItemRef, ComboboxValue, RdxComboboxChipContext, RdxComboboxGroupContext, RdxComboboxItemContext, RdxComboboxRootContext };
|
|
@@ -1,20 +1,40 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { InjectionToken, Provider, Signal, ElementRef } from '@angular/core';
|
|
3
|
-
import * as i1 from '@radix-ng/primitives/
|
|
3
|
+
import * as i1 from '@radix-ng/primitives/portal';
|
|
4
|
+
import { RdxPortalContainer } from '@radix-ng/primitives/portal';
|
|
4
5
|
import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
|
|
5
6
|
import { RdxTransitionStatus, BooleanInput } from '@radix-ng/primitives/core';
|
|
6
7
|
import * as _radix_ng_primitives_dialog from '@radix-ng/primitives/dialog';
|
|
7
|
-
import * as i1$1 from '@radix-ng/primitives/
|
|
8
|
-
import { RdxPortalContainer } from '@radix-ng/primitives/portal';
|
|
9
|
-
import * as i1$2 from '@radix-ng/primitives/dismissable-layer';
|
|
8
|
+
import * as i1$1 from '@radix-ng/primitives/dismissable-layer';
|
|
10
9
|
import * as i2 from '@radix-ng/primitives/focus-scope';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
|
-
*
|
|
12
|
+
* Structural directive that teleports the dialog content (backdrop + popup) into a container (default
|
|
13
|
+
* `document.body`) while the dialog is open, and keeps it mounted until the CSS exit `@keyframes` on
|
|
14
|
+
* every root element finish.
|
|
15
|
+
*
|
|
16
|
+
* Dialog has two root nodes (backdrop + popup), so use the explicit `<ng-template rdxDialogPortal>`
|
|
17
|
+
* form. Pass `[container]` to portal into a different element.
|
|
18
|
+
*/
|
|
19
|
+
declare class RdxDialogPortal {
|
|
20
|
+
/**
|
|
21
|
+
* Optional container to portal the content into. Defaults to `document.body`. Declared here (and
|
|
22
|
+
* forwarded to the composed {@link RdxPortalPresence}) so that the drawer and alert-dialog portals
|
|
23
|
+
* can re-expose it through their own `hostDirectives`.
|
|
24
|
+
*/
|
|
25
|
+
readonly container: _angular_core.InputSignal<RdxPortalContainer | undefined>;
|
|
26
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxDialogPortal, never>;
|
|
27
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxDialogPortal, "ng-template[rdxDialogPortal]", ["rdxDialogPortal"], { "container": { "alias": "container"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.RdxPortalPresence; inputs: { "container": "container"; }; outputs: {}; }]>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Dev-mode guard: `rdxDialogPortal` used to be an attribute directive on a `<div>`. It is now
|
|
31
|
+
* structural, so the old `<div rdxDialogPortal>` markup would silently stop portaling — fail loudly
|
|
32
|
+
* instead.
|
|
14
33
|
*/
|
|
15
|
-
declare class
|
|
16
|
-
|
|
17
|
-
static
|
|
34
|
+
declare class RdxDialogPortalMisuseGuard {
|
|
35
|
+
constructor();
|
|
36
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxDialogPortalMisuseGuard, never>;
|
|
37
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxDialogPortalMisuseGuard, "[rdxDialogPortal]:not(ng-template)", never, {}, {}, never, never, true, never>;
|
|
18
38
|
}
|
|
19
39
|
|
|
20
40
|
/**
|
|
@@ -210,19 +230,6 @@ declare class RdxDialogTrigger {
|
|
|
210
230
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxDialogTrigger, "button[rdxDialogTrigger]", ["rdxDialogTrigger"], { "handle": { "alias": "handle"; "required": false; "isSignal": true; }; "payload": { "alias": "payload"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
211
231
|
}
|
|
212
232
|
|
|
213
|
-
/**
|
|
214
|
-
* Moves the dialog to a different part of the DOM.
|
|
215
|
-
*/
|
|
216
|
-
declare class RdxDialogPortal {
|
|
217
|
-
protected readonly rootContext: _radix_ng_primitives_dialog.RdxDialogRootContext;
|
|
218
|
-
/**
|
|
219
|
-
* Optional container to portal the content into. Defaults to `document.body`.
|
|
220
|
-
*/
|
|
221
|
-
readonly container: _angular_core.InputSignal<RdxPortalContainer | undefined>;
|
|
222
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxDialogPortal, never>;
|
|
223
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxDialogPortal, "[rdxDialogPortal]", ["rdxDialogPortal"], { "container": { "alias": "container"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1$1.RdxPortal; inputs: { "container": "container"; }; outputs: {}; }]>;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
233
|
/**
|
|
227
234
|
* An overlay displayed beneath the dialog popup.
|
|
228
235
|
*/
|
|
@@ -279,7 +286,7 @@ declare class RdxDialogPopup {
|
|
|
279
286
|
constructor();
|
|
280
287
|
private isEventOnTrigger;
|
|
281
288
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxDialogPopup, never>;
|
|
282
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxDialogPopup, "[rdxDialogPopup]", ["rdxDialogPopup"], {}, { "escapeKeyDown": "escapeKeyDown"; "pointerDownOutside": "pointerDownOutside"; "focusOutside": "focusOutside"; "interactOutside": "interactOutside"; "openAutoFocus": "openAutoFocus"; "closeAutoFocus": "closeAutoFocus"; }, never, never, true, [{ directive: typeof i1$
|
|
289
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxDialogPopup, "[rdxDialogPopup]", ["rdxDialogPopup"], {}, { "escapeKeyDown": "escapeKeyDown"; "pointerDownOutside": "pointerDownOutside"; "focusOutside": "focusOutside"; "interactOutside": "interactOutside"; "openAutoFocus": "openAutoFocus"; "closeAutoFocus": "closeAutoFocus"; }, never, never, true, [{ directive: typeof i1$1.RdxDismissableLayer; inputs: {}; outputs: {}; }, { directive: typeof i2.RdxFocusScope; inputs: {}; outputs: {}; }]>;
|
|
283
290
|
}
|
|
284
291
|
|
|
285
292
|
/**
|
|
@@ -313,12 +320,12 @@ declare class RdxDialogClose {
|
|
|
313
320
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxDialogClose, "button[rdxDialogClose]", ["rdxDialogClose"], {}, {}, never, never, true, never>;
|
|
314
321
|
}
|
|
315
322
|
|
|
316
|
-
declare const dialogImports: (typeof
|
|
323
|
+
declare const dialogImports: (typeof RdxDialogPortalMisuseGuard)[];
|
|
317
324
|
declare class RdxDialogModule {
|
|
318
325
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxDialogModule, never>;
|
|
319
|
-
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<RdxDialogModule, never, [typeof RdxDialogRoot, typeof RdxDialogTrigger, typeof
|
|
326
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<RdxDialogModule, never, [typeof RdxDialogRoot, typeof RdxDialogTrigger, typeof RdxDialogPortal, typeof RdxDialogPortalMisuseGuard, typeof RdxDialogBackdrop, typeof RdxDialogViewport, typeof RdxDialogPopup, typeof RdxDialogTitle, typeof RdxDialogDescription, typeof RdxDialogClose], [typeof RdxDialogRoot, typeof RdxDialogTrigger, typeof RdxDialogPortal, typeof RdxDialogPortalMisuseGuard, typeof RdxDialogBackdrop, typeof RdxDialogViewport, typeof RdxDialogPopup, typeof RdxDialogTitle, typeof RdxDialogDescription, typeof RdxDialogClose]>;
|
|
320
327
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<RdxDialogModule>;
|
|
321
328
|
}
|
|
322
329
|
|
|
323
|
-
export { RDX_DIALOG_VARIANT, RdxDialogBackdrop, RdxDialogClose, RdxDialogDescription, RdxDialogHandle, RdxDialogModule, RdxDialogPopup, RdxDialogPortal,
|
|
330
|
+
export { RDX_DIALOG_VARIANT, RdxDialogBackdrop, RdxDialogClose, RdxDialogDescription, RdxDialogHandle, RdxDialogModule, RdxDialogPopup, RdxDialogPortal, RdxDialogPortalMisuseGuard, RdxDialogRoot, RdxDialogTitle, RdxDialogTrigger, RdxDialogViewport, createRdxDialogHandle, dialogImports, injectRdxDialogRootContext, provideRdxDialogRootContext, provideRdxDialogVariant };
|
|
324
331
|
export type { RdxDialogModal, RdxDialogOpenChange, RdxDialogOpenChangeReason, RdxDialogRole, RdxDialogRootContext, RdxDialogVariant };
|
|
@@ -13,6 +13,8 @@ interface RdxDrawerRegistration {
|
|
|
13
13
|
id: string;
|
|
14
14
|
/** The drawer popup's measured size (px) along its dismiss axis. */
|
|
15
15
|
height: Signal<number>;
|
|
16
|
+
/** 0..1 live dismiss progress of this drawer. */
|
|
17
|
+
swipeProgress: Signal<number>;
|
|
16
18
|
}
|
|
17
19
|
/**
|
|
18
20
|
* App-level coordinator that tracks every open drawer so background content can react to them
|
|
@@ -30,6 +32,8 @@ declare class RdxDrawerProvider {
|
|
|
30
32
|
readonly frontmost: Signal<RdxDrawerRegistration | null>;
|
|
31
33
|
/** The frontmost drawer's measured size (px), or `0` when none is open. */
|
|
32
34
|
readonly frontmostHeight: Signal<number>;
|
|
35
|
+
/** The frontmost drawer's live dismiss progress, or `0` when none is open. */
|
|
36
|
+
readonly swipeProgress: Signal<number>;
|
|
33
37
|
/** Register an open drawer; returns a disposer that removes it. */
|
|
34
38
|
register(registration: RdxDrawerRegistration): () => void;
|
|
35
39
|
static ɵfac: i0.ɵɵFactoryDeclaration<RdxDrawerProvider, never>;
|
|
@@ -62,6 +66,10 @@ type RdxDrawerRelease = {
|
|
|
62
66
|
interface RdxDrawerSwipeConfig {
|
|
63
67
|
/** The popup element the gesture lives on (CSS variables + data attributes are written here). */
|
|
64
68
|
element: () => HTMLElement;
|
|
69
|
+
/** Gesture boundary used to discover scrollable ancestors around the popup. */
|
|
70
|
+
boundary?: () => HTMLElement;
|
|
71
|
+
/** Visible size along the dismiss axis, used to normalize live swipe progress. */
|
|
72
|
+
size?: () => number;
|
|
65
73
|
/** Active swipe direction. */
|
|
66
74
|
direction: Signal<RdxDrawerSwipeDirection>;
|
|
67
75
|
/** Whether the gesture is currently armed (typically `open`). */
|
|
@@ -109,8 +117,8 @@ declare function useDrawerSwipe(config: RdxDrawerSwipeConfig): void;
|
|
|
109
117
|
* - a string — `'148px'` (pixels), `'30rem'` (root-em), `'40%'` (fraction of size), or a bare number
|
|
110
118
|
* as above.
|
|
111
119
|
*
|
|
112
|
-
* Order the `snapPoints` array ascending by openness; the
|
|
113
|
-
*
|
|
120
|
+
* Order the `snapPoints` array ascending by openness; the first entry is the default the drawer opens
|
|
121
|
+
* to when `defaultSnapPoint` is not set.
|
|
114
122
|
*/
|
|
115
123
|
type RdxDrawerSnapPoint = number | string;
|
|
116
124
|
/**
|
|
@@ -166,6 +174,12 @@ interface RdxDrawerRootContext {
|
|
|
166
174
|
swipeProgress: Signal<number>;
|
|
167
175
|
/** Reports gesture progress from the popup's swipe engine. */
|
|
168
176
|
setSwipeProgress: (value: number) => void;
|
|
177
|
+
/** Whether the drawer is currently being revealed from a SwipeArea. */
|
|
178
|
+
openingSwipeActive: Signal<boolean>;
|
|
179
|
+
/** Pointer travel (px) inward from the SwipeArea while revealing the drawer. */
|
|
180
|
+
openingSwipeDistance: Signal<number>;
|
|
181
|
+
/** Starts or updates the SwipeArea reveal gesture. */
|
|
182
|
+
setOpeningSwipe: (active: boolean, distance: number) => void;
|
|
169
183
|
/** Configured snap points (empty when the drawer has none). */
|
|
170
184
|
snapPoints: Signal<readonly RdxDrawerSnapPoint[]>;
|
|
171
185
|
/** Whether the drawer rests at discrete snap points. */
|
|
@@ -208,12 +222,12 @@ declare class RdxDrawerRoot {
|
|
|
208
222
|
readonly swipeDirection: i0.InputSignal<RdxDrawerSwipeDirection>;
|
|
209
223
|
/**
|
|
210
224
|
* Resting positions the drawer snaps to along the dismiss axis. Order ascending by openness; the
|
|
211
|
-
*
|
|
225
|
+
* first entry is the default the drawer opens to. Omit for a plain open/closed drawer.
|
|
212
226
|
*/
|
|
213
227
|
readonly snapPoints: i0.InputSignal<readonly RdxDrawerSnapPoint[] | undefined>;
|
|
214
228
|
/** The active snap point (controlled / uncontrolled with `[(snapPoint)]`). */
|
|
215
229
|
readonly snapPoint: i0.ModelSignal<RdxDrawerSnapPoint | null>;
|
|
216
|
-
/** The snap point the drawer opens to when uncontrolled; defaults to the
|
|
230
|
+
/** The snap point the drawer opens to when uncontrolled; defaults to the first point. */
|
|
217
231
|
readonly defaultSnapPoint: i0.InputSignal<RdxDrawerSnapPoint | undefined>;
|
|
218
232
|
/** Step at most one snap point per release instead of letting velocity skip points. */
|
|
219
233
|
readonly snapToSequentialPoints: i0.InputSignalWithTransform<boolean, BooleanInput>;
|
|
@@ -221,6 +235,9 @@ declare class RdxDrawerRoot {
|
|
|
221
235
|
readonly onSnapPointChange: i0.OutputEmitterRef<RdxDrawerSnapPoint>;
|
|
222
236
|
/** 0..1 progress of the active dismiss gesture, written by the popup's swipe engine. */
|
|
223
237
|
readonly swipeProgress: i0.WritableSignal<number>;
|
|
238
|
+
/** Live SwipeArea reveal state; the popup converts distance into its measured-axis movement. */
|
|
239
|
+
readonly openingSwipeActive: i0.WritableSignal<boolean>;
|
|
240
|
+
readonly openingSwipeDistance: i0.WritableSignal<number>;
|
|
224
241
|
readonly normalizedSnapPoints: Signal<readonly RdxDrawerSnapPoint[]>;
|
|
225
242
|
readonly hasSnapPoints: Signal<boolean>;
|
|
226
243
|
/** Whether a drawer nested inside this one is open (reuses the dialog's nesting detection). */
|
|
@@ -252,41 +269,47 @@ declare class RdxDrawerTrigger {
|
|
|
252
269
|
/**
|
|
253
270
|
* An off-canvas region (typically pinned to a screen edge) that opens the drawer when swiped inward.
|
|
254
271
|
*
|
|
255
|
-
*
|
|
256
|
-
*
|
|
257
|
-
* pointer-drag lifecycle so capture/cancel handling stays consistent with the popup gesture.
|
|
272
|
+
* Opens the drawer at the start of a drag so its popup can follow the pointer live. Releasing past
|
|
273
|
+
* the threshold settles open; releasing before it or cancelling animates the drawer back out.
|
|
258
274
|
*/
|
|
259
275
|
declare class RdxDrawerSwipeArea {
|
|
260
276
|
private readonly drawerContext;
|
|
261
277
|
private readonly dialogContext;
|
|
262
|
-
/** Direction the
|
|
278
|
+
/** Direction the opening gesture travels; defaults to the opposite of the root's dismiss direction. */
|
|
263
279
|
readonly swipeDirection: i0.InputSignal<RdxDrawerSwipeDirection | undefined>;
|
|
264
280
|
/** Whether the swipe area should ignore user interaction. */
|
|
265
281
|
readonly disabled: i0.InputSignalWithTransform<boolean, BooleanInput>;
|
|
266
282
|
protected readonly isOpen: i0.Signal<boolean>;
|
|
267
283
|
protected readonly direction: i0.Signal<RdxDrawerSwipeDirection>;
|
|
284
|
+
protected readonly resolvedTouchAction: i0.Signal<"pan-y" | "pan-x">;
|
|
268
285
|
protected readonly swiping: i0.WritableSignal<boolean>;
|
|
269
286
|
private startX;
|
|
270
287
|
private startY;
|
|
288
|
+
private distance;
|
|
271
289
|
constructor();
|
|
272
290
|
static ɵfac: i0.ɵɵFactoryDeclaration<RdxDrawerSwipeArea, never>;
|
|
273
291
|
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxDrawerSwipeArea, "[rdxDrawerSwipeArea]", ["rdxDrawerSwipeArea"], { "swipeDirection": { "alias": "swipeDirection"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
274
292
|
}
|
|
275
293
|
|
|
276
294
|
/**
|
|
277
|
-
*
|
|
295
|
+
* Structural directive that teleports the drawer content (backdrop + popup) into a container (default
|
|
296
|
+
* `document.body`) while the drawer is open, keeping it mounted until its CSS exit `@keyframes`
|
|
297
|
+
* finish. It composes the structural {@link RdxDialogPortal}, inheriting the dialog presence context.
|
|
298
|
+
*
|
|
299
|
+
* Use the explicit `<ng-template rdxDrawerPortal>` form; pass `[container]` for a custom target.
|
|
278
300
|
*/
|
|
279
|
-
declare class
|
|
280
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
281
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<
|
|
301
|
+
declare class RdxDrawerPortal {
|
|
302
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdxDrawerPortal, never>;
|
|
303
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxDrawerPortal, "ng-template[rdxDrawerPortal]", ["rdxDrawerPortal"], {}, {}, never, never, true, [{ directive: typeof i1.RdxDialogPortal; inputs: { "container": "container"; }; outputs: {}; }]>;
|
|
282
304
|
}
|
|
283
|
-
|
|
284
305
|
/**
|
|
285
|
-
*
|
|
306
|
+
* Dev-mode guard: `rdxDrawerPortal` is now structural, so the old `<div rdxDrawerPortal>` markup would
|
|
307
|
+
* silently stop portaling — fail loudly instead.
|
|
286
308
|
*/
|
|
287
|
-
declare class
|
|
288
|
-
|
|
289
|
-
static
|
|
309
|
+
declare class RdxDrawerPortalMisuseGuard {
|
|
310
|
+
constructor();
|
|
311
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdxDrawerPortalMisuseGuard, never>;
|
|
312
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxDrawerPortalMisuseGuard, "[rdxDrawerPortal]:not(ng-template)", never, {}, {}, never, never, true, never>;
|
|
290
313
|
}
|
|
291
314
|
|
|
292
315
|
/**
|
|
@@ -336,6 +359,9 @@ declare class RdxDrawerPopup {
|
|
|
336
359
|
protected readonly frontmostHeightPx: i0.Signal<string | null>;
|
|
337
360
|
constructor();
|
|
338
361
|
private axisSize;
|
|
362
|
+
private axisElementSize;
|
|
363
|
+
private swipeBoundary;
|
|
364
|
+
private visibleAxisSize;
|
|
339
365
|
private resolveRelease;
|
|
340
366
|
static ɵfac: i0.ɵɵFactoryDeclaration<RdxDrawerPopup, never>;
|
|
341
367
|
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxDrawerPopup, "[rdxDrawerPopup]", ["rdxDrawerPopup"], {}, {}, never, never, true, [{ directive: typeof i1.RdxDialogPopup; inputs: {}; outputs: { "escapeKeyDown": "escapeKeyDown"; "pointerDownOutside": "pointerDownOutside"; "focusOutside": "focusOutside"; "interactOutside": "interactOutside"; "openAutoFocus": "openAutoFocus"; "closeAutoFocus": "closeAutoFocus"; }; }]>;
|
|
@@ -384,6 +410,7 @@ declare class RdxDrawerClose {
|
|
|
384
410
|
* Reads the nearest {@link RdxDrawerProvider} and exposes styling hooks; the visual transform is
|
|
385
411
|
* consumer CSS (headless):
|
|
386
412
|
* - `[data-active]` — present while at least one drawer is open.
|
|
413
|
+
* - `--drawer-swipe-progress` — 0..1 live dismiss progress of the frontmost drawer.
|
|
387
414
|
* - `--nested-drawers` — the number of open drawers.
|
|
388
415
|
* - `--drawer-frontmost-height` — the frontmost drawer's measured size, in pixels.
|
|
389
416
|
*/
|
|
@@ -396,9 +423,9 @@ declare class RdxDrawerIndent {
|
|
|
396
423
|
/**
|
|
397
424
|
* The page background layer that scales/indents while any drawer is open.
|
|
398
425
|
*
|
|
399
|
-
* Behaves like {@link RdxDrawerIndent} (same `[data-active]` / `--
|
|
400
|
-
* `--drawer-frontmost-height` contract); kept as a distinct part so the page
|
|
401
|
-
* indented content can be styled independently, mirroring Base UI.
|
|
426
|
+
* Behaves like {@link RdxDrawerIndent} (same `[data-active]` / `--drawer-swipe-progress` /
|
|
427
|
+
* `--nested-drawers` / `--drawer-frontmost-height` contract); kept as a distinct part so the page
|
|
428
|
+
* backdrop and the indented content can be styled independently, mirroring Base UI.
|
|
402
429
|
*/
|
|
403
430
|
declare class RdxDrawerIndentBackground {
|
|
404
431
|
protected readonly provider: RdxDrawerProvider | null;
|
|
@@ -418,9 +445,9 @@ declare function createRdxDrawerHandle<Payload = unknown>(): RdxDrawerHandle<Pay
|
|
|
418
445
|
declare const drawerImports: (typeof RdxDrawerProviderDirective)[];
|
|
419
446
|
declare class RdxDrawerModule {
|
|
420
447
|
static ɵfac: i0.ɵɵFactoryDeclaration<RdxDrawerModule, never>;
|
|
421
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<RdxDrawerModule, never, [typeof RdxDrawerProviderDirective, typeof RdxDrawerRoot, typeof RdxDrawerTrigger, typeof RdxDrawerSwipeArea, typeof
|
|
448
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<RdxDrawerModule, never, [typeof RdxDrawerProviderDirective, typeof RdxDrawerRoot, typeof RdxDrawerTrigger, typeof RdxDrawerSwipeArea, typeof RdxDrawerPortal, typeof RdxDrawerPortalMisuseGuard, typeof RdxDrawerBackdrop, typeof RdxDrawerViewport, typeof RdxDrawerPopup, typeof RdxDrawerContent, typeof RdxDrawerTitle, typeof RdxDrawerDescription, typeof RdxDrawerClose, typeof RdxDrawerIndent, typeof RdxDrawerIndentBackground], [typeof RdxDrawerProviderDirective, typeof RdxDrawerRoot, typeof RdxDrawerTrigger, typeof RdxDrawerSwipeArea, typeof RdxDrawerPortal, typeof RdxDrawerPortalMisuseGuard, typeof RdxDrawerBackdrop, typeof RdxDrawerViewport, typeof RdxDrawerPopup, typeof RdxDrawerContent, typeof RdxDrawerTitle, typeof RdxDrawerDescription, typeof RdxDrawerClose, typeof RdxDrawerIndent, typeof RdxDrawerIndentBackground]>;
|
|
422
449
|
static ɵinj: i0.ɵɵInjectorDeclaration<RdxDrawerModule>;
|
|
423
450
|
}
|
|
424
451
|
|
|
425
|
-
export { RdxDrawerBackdrop, RdxDrawerClose, RdxDrawerContent, RdxDrawerDescription, RdxDrawerHandle, RdxDrawerIndent, RdxDrawerIndentBackground, RdxDrawerModule, RdxDrawerPopup, RdxDrawerPortal,
|
|
452
|
+
export { RdxDrawerBackdrop, RdxDrawerClose, RdxDrawerContent, RdxDrawerDescription, RdxDrawerHandle, RdxDrawerIndent, RdxDrawerIndentBackground, RdxDrawerModule, RdxDrawerPopup, RdxDrawerPortal, RdxDrawerPortalMisuseGuard, RdxDrawerProvider, RdxDrawerProviderDirective, RdxDrawerRoot, RdxDrawerSwipeArea, RdxDrawerTitle, RdxDrawerTrigger, RdxDrawerViewport, buildSnapEntries, createRdxDrawerHandle, dismissUnitVector, drawerImports, injectRdxDrawerRootContext, provideRdxDrawerProvider, provideRdxDrawerRootContext, resolveSnapTarget, snapPointReveal, useDrawerSwipe };
|
|
426
453
|
export type { RdxDrawerRegistration, RdxDrawerRelease, RdxDrawerRootContext, RdxDrawerSnapEntry, RdxDrawerSnapPoint, RdxDrawerSnapResolveOptions, RdxDrawerSnapTarget, RdxDrawerSwipeConfig, RdxDrawerSwipeDirection };
|
|
@@ -7,7 +7,6 @@ import { RdxPopperContentWrapper, RdxPopperAnchorElement } from '@radix-ng/primi
|
|
|
7
7
|
import * as _radix_ng_primitives_menu from '@radix-ng/primitives/menu';
|
|
8
8
|
import * as i2 from '@radix-ng/primitives/dismissable-layer';
|
|
9
9
|
import * as i1$1 from '@radix-ng/primitives/portal';
|
|
10
|
-
import { RdxPortalContainer } from '@radix-ng/primitives/portal';
|
|
11
10
|
import * as i3 from '@radix-ng/primitives/focus-scope';
|
|
12
11
|
|
|
13
12
|
type RdxMenuTransitionStatus = 'starting' | 'ending' | undefined;
|
|
@@ -230,16 +229,26 @@ declare class RdxMenuSubTrigger {
|
|
|
230
229
|
}
|
|
231
230
|
|
|
232
231
|
/**
|
|
233
|
-
*
|
|
234
|
-
*
|
|
232
|
+
* Structural directive that teleports the menu popup into a container (default `document.body`) while
|
|
233
|
+
* the menu is open, and keeps it mounted until any CSS exit `@keyframes` finishes.
|
|
234
|
+
*
|
|
235
|
+
* This replaces the consumer-owned `@if (root.open())` mount: it adds both teleporting *and*
|
|
236
|
+
* exit-animation support. Apply it with the `*` microsyntax on the positioner —
|
|
237
|
+
* `<div *rdxMenuPortal rdxMenuPositioner>` — or as an explicit `<ng-template rdxMenuPortal>`. For a
|
|
238
|
+
* custom container, or a backdrop alongside the positioner (multi-root), use the explicit form.
|
|
235
239
|
*/
|
|
236
240
|
declare class RdxMenuPortal {
|
|
237
|
-
/**
|
|
238
|
-
* Optional container to portal the content into. Defaults to `document.body`.
|
|
239
|
-
*/
|
|
240
|
-
readonly container: _angular_core.InputSignal<RdxPortalContainer | undefined>;
|
|
241
241
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxMenuPortal, never>;
|
|
242
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxMenuPortal, "[rdxMenuPortal]", ["rdxMenuPortal"], {
|
|
242
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxMenuPortal, "ng-template[rdxMenuPortal]", ["rdxMenuPortal"], {}, {}, never, never, true, [{ directive: typeof i1$1.RdxPortalPresence; inputs: { "container": "container"; }; outputs: {}; }]>;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Dev-mode guard: `rdxMenuPortal` is a structural directive. The old `<div rdxMenuPortal>` markup
|
|
246
|
+
* would silently stop portaling — fail loudly instead.
|
|
247
|
+
*/
|
|
248
|
+
declare class RdxMenuPortalMisuseGuard {
|
|
249
|
+
constructor();
|
|
250
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxMenuPortalMisuseGuard, never>;
|
|
251
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxMenuPortalMisuseGuard, "[rdxMenuPortal]:not(ng-template)", never, {}, {}, never, never, true, never>;
|
|
243
252
|
}
|
|
244
253
|
|
|
245
254
|
/**
|
|
@@ -616,9 +625,9 @@ declare class RdxMenuRadioItemIndicator {
|
|
|
616
625
|
|
|
617
626
|
declare class RdxMenuModule {
|
|
618
627
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxMenuModule, never>;
|
|
619
|
-
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<RdxMenuModule, never, [typeof RdxMenuRoot, typeof RdxMenuTrigger, typeof RdxMenuSubTrigger, typeof RdxMenuPortal, typeof RdxMenuPositioner, typeof RdxMenuPopup, typeof RdxMenuViewport, typeof RdxMenuBackdrop, typeof RdxMenuArrow, typeof RdxMenuItem, typeof RdxMenuLinkItem, typeof RdxMenuGroup, typeof RdxMenuGroupLabel, typeof RdxMenuSeparator, typeof RdxMenuCheckboxItem, typeof RdxMenuCheckboxItemIndicator, typeof RdxMenuRadioGroup, typeof RdxMenuRadioItem, typeof RdxMenuRadioItemIndicator], [typeof RdxMenuRoot, typeof RdxMenuTrigger, typeof RdxMenuSubTrigger, typeof RdxMenuPortal, typeof RdxMenuPositioner, typeof RdxMenuPopup, typeof RdxMenuViewport, typeof RdxMenuBackdrop, typeof RdxMenuArrow, typeof RdxMenuItem, typeof RdxMenuLinkItem, typeof RdxMenuGroup, typeof RdxMenuGroupLabel, typeof RdxMenuSeparator, typeof RdxMenuCheckboxItem, typeof RdxMenuCheckboxItemIndicator, typeof RdxMenuRadioGroup, typeof RdxMenuRadioItem, typeof RdxMenuRadioItemIndicator]>;
|
|
628
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<RdxMenuModule, never, [typeof RdxMenuRoot, typeof RdxMenuTrigger, typeof RdxMenuSubTrigger, typeof RdxMenuPortal, typeof RdxMenuPortalMisuseGuard, typeof RdxMenuPositioner, typeof RdxMenuPopup, typeof RdxMenuViewport, typeof RdxMenuBackdrop, typeof RdxMenuArrow, typeof RdxMenuItem, typeof RdxMenuLinkItem, typeof RdxMenuGroup, typeof RdxMenuGroupLabel, typeof RdxMenuSeparator, typeof RdxMenuCheckboxItem, typeof RdxMenuCheckboxItemIndicator, typeof RdxMenuRadioGroup, typeof RdxMenuRadioItem, typeof RdxMenuRadioItemIndicator], [typeof RdxMenuRoot, typeof RdxMenuTrigger, typeof RdxMenuSubTrigger, typeof RdxMenuPortal, typeof RdxMenuPortalMisuseGuard, typeof RdxMenuPositioner, typeof RdxMenuPopup, typeof RdxMenuViewport, typeof RdxMenuBackdrop, typeof RdxMenuArrow, typeof RdxMenuItem, typeof RdxMenuLinkItem, typeof RdxMenuGroup, typeof RdxMenuGroupLabel, typeof RdxMenuSeparator, typeof RdxMenuCheckboxItem, typeof RdxMenuCheckboxItemIndicator, typeof RdxMenuRadioGroup, typeof RdxMenuRadioItem, typeof RdxMenuRadioItemIndicator]>;
|
|
620
629
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<RdxMenuModule>;
|
|
621
630
|
}
|
|
622
631
|
|
|
623
|
-
export { RdxMenuArrow, RdxMenuBackdrop, RdxMenuCheckboxItem, RdxMenuCheckboxItemIndicator, RdxMenuGroup, RdxMenuGroupLabel, RdxMenuItem, RdxMenuLinkItem, RdxMenuModule, RdxMenuPopup, RdxMenuPortal, RdxMenuPositioner, RdxMenuRadioGroup, RdxMenuRadioItem, RdxMenuRadioItemIndicator, RdxMenuRoot, RdxMenuSeparator, RdxMenuSubTrigger, RdxMenuTrigger, RdxMenuViewport, getCheckedState, injectRdxMenuCheckboxItemContext, injectRdxMenuRadioGroupContext, injectRdxMenuRadioItemContext, injectRdxMenuRootContext, isIndeterminate, provideRdxMenuCheckboxItemContext, provideRdxMenuRadioGroupContext, provideRdxMenuRadioItemContext, provideRdxMenuRootContext };
|
|
632
|
+
export { RdxMenuArrow, RdxMenuBackdrop, RdxMenuCheckboxItem, RdxMenuCheckboxItemIndicator, RdxMenuGroup, RdxMenuGroupLabel, RdxMenuItem, RdxMenuLinkItem, RdxMenuModule, RdxMenuPopup, RdxMenuPortal, RdxMenuPortalMisuseGuard, RdxMenuPositioner, RdxMenuRadioGroup, RdxMenuRadioItem, RdxMenuRadioItemIndicator, RdxMenuRoot, RdxMenuSeparator, RdxMenuSubTrigger, RdxMenuTrigger, RdxMenuViewport, getCheckedState, injectRdxMenuCheckboxItemContext, injectRdxMenuRadioGroupContext, injectRdxMenuRadioItemContext, injectRdxMenuRootContext, isIndeterminate, provideRdxMenuCheckboxItemContext, provideRdxMenuRadioGroupContext, provideRdxMenuRadioItemContext, provideRdxMenuRootContext };
|
|
624
633
|
export type { CheckedState, RdxMenuAutoFocus, RdxMenuAutoFocusInput, RdxMenuCheckboxItemContext, RdxMenuOrientation, RdxMenuRadioGroupContext, RdxMenuRadioItemContext, RdxMenuRootContext, RdxMenuTransitionStatus, RdxMenuTriggerInteraction, RdxMenuTriggerInteractionHandler };
|