@radix-ng/primitives 0.50.0 → 1.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/collection/README.md +1 -0
- package/fesm2022/radix-ng-primitives-accordion.mjs +134 -66
- package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-alert-dialog.mjs +224 -132
- package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-arrow.mjs +26 -10
- package/fesm2022/radix-ng-primitives-arrow.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-aspect-ratio.mjs +6 -6
- package/fesm2022/radix-ng-primitives-aspect-ratio.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-avatar.mjs +68 -75
- package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-button.mjs +123 -0
- package/fesm2022/radix-ng-primitives-button.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-calendar.mjs +104 -103
- package/fesm2022/radix-ng-primitives-calendar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-checkbox.mjs +414 -80
- package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-collapsible.mjs +193 -92
- package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-collection.mjs +72 -0
- package/fesm2022/radix-ng-primitives-collection.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-config.mjs +5 -5
- package/fesm2022/radix-ng-primitives-config.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-context-menu.mjs +143 -427
- package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-core.mjs +757 -757
- package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-cropper.mjs +55 -53
- package/fesm2022/radix-ng-primitives-cropper.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-date-field.mjs +93 -86
- package/fesm2022/radix-ng-primitives-date-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-dialog.mjs +658 -330
- package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-dismissable-layer.mjs +98 -76
- package/fesm2022/radix-ng-primitives-dismissable-layer.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-drawer.mjs +1059 -0
- package/fesm2022/radix-ng-primitives-drawer.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-editable.mjs +20 -20
- package/fesm2022/radix-ng-primitives-editable.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-field.mjs +363 -0
- package/fesm2022/radix-ng-primitives-field.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-fieldset.mjs +79 -0
- package/fesm2022/radix-ng-primitives-fieldset.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-focus-guards.mjs +3 -3
- package/fesm2022/radix-ng-primitives-focus-guards.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-focus-scope.mjs +29 -14
- package/fesm2022/radix-ng-primitives-focus-scope.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-input.mjs +172 -0
- package/fesm2022/radix-ng-primitives-input.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-label.mjs +11 -11
- package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menu.mjs +1484 -353
- package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menubar.mjs +290 -162
- package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-meter.mjs +271 -0
- package/fesm2022/radix-ng-primitives-meter.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-navigation-menu.mjs +1060 -1553
- package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-number-field.mjs +1102 -366
- package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-pagination.mjs +51 -51
- package/fesm2022/radix-ng-primitives-pagination.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-popover.mjs +980 -995
- package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-popper.mjs +137 -82
- package/fesm2022/radix-ng-primitives-popper.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-portal.mjs +40 -16
- package/fesm2022/radix-ng-primitives-portal.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-presence.mjs +134 -246
- package/fesm2022/radix-ng-primitives-presence.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-preview-card.mjs +997 -0
- package/fesm2022/radix-ng-primitives-preview-card.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-progress.mjs +231 -92
- package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-radio.mjs +211 -70
- package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-roving-focus.mjs +127 -77
- package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-select.mjs +791 -511
- package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-separator.mjs +16 -45
- package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-slider.mjs +976 -720
- package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-stepper.mjs +69 -71
- package/fesm2022/radix-ng-primitives-stepper.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-switch.mjs +128 -124
- package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tabs.mjs +388 -115
- package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-time-field.mjs +111 -117
- package/fesm2022/radix-ng-primitives-time-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle-group.mjs +122 -248
- package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle.mjs +99 -62
- package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toolbar.mjs +307 -94
- package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tooltip.mjs +690 -1079
- package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-visually-hidden.mjs +46 -87
- package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives.mjs.map +1 -1
- package/meter/README.md +3 -0
- package/navigation-menu/README.md +2 -1
- package/package.json +85 -63
- package/portal/README.md +2 -0
- package/preview-card/README.md +3 -0
- package/schematics/collection.json +1 -0
- package/schematics/ng-add/index.d.ts +3 -2
- package/schematics/ng-add/index.js +62 -31
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-add/package-config.d.ts +4 -2
- package/schematics/ng-add/package-config.js +10 -2
- package/schematics/ng-add/package-config.js.map +1 -1
- package/schematics/ng-add/schema.d.ts +3 -0
- package/schematics/ng-add/schema.js +3 -0
- package/schematics/ng-add/schema.js.map +1 -0
- package/schematics/ng-add/schema.json +14 -0
- package/select/README.md +2 -0
- package/{accordion/index.d.ts → types/radix-ng-primitives-accordion.d.ts} +102 -67
- package/types/radix-ng-primitives-alert-dialog.d.ts +114 -0
- package/{arrow/index.d.ts → types/radix-ng-primitives-arrow.d.ts} +1 -1
- package/{aspect-ratio/index.d.ts → types/radix-ng-primitives-aspect-ratio.d.ts} +1 -1
- package/{avatar/index.d.ts → types/radix-ng-primitives-avatar.d.ts} +7 -11
- package/types/radix-ng-primitives-button.d.ts +73 -0
- package/{calendar/index.d.ts → types/radix-ng-primitives-calendar.d.ts} +2 -3
- package/types/radix-ng-primitives-checkbox.d.ts +337 -0
- package/types/radix-ng-primitives-collapsible.d.ts +159 -0
- package/types/radix-ng-primitives-collection.d.ts +44 -0
- package/{config/index.d.ts → types/radix-ng-primitives-config.d.ts} +1 -1
- package/types/radix-ng-primitives-context-menu.d.ts +73 -0
- package/{core/index.d.ts → types/radix-ng-primitives-core.d.ts} +311 -236
- package/{cropper/index.d.ts → types/radix-ng-primitives-cropper.d.ts} +6 -5
- package/{date-field/index.d.ts → types/radix-ng-primitives-date-field.d.ts} +42 -27
- package/types/radix-ng-primitives-dialog.d.ts +323 -0
- package/{dismissable-layer/index.d.ts → types/radix-ng-primitives-dismissable-layer.d.ts} +15 -7
- package/types/radix-ng-primitives-drawer.d.ts +448 -0
- package/{editable/index.d.ts → types/radix-ng-primitives-editable.d.ts} +1 -1
- package/types/radix-ng-primitives-field.d.ts +373 -0
- package/types/radix-ng-primitives-fieldset.d.ts +48 -0
- package/{focus-scope/index.d.ts → types/radix-ng-primitives-focus-scope.d.ts} +13 -5
- package/types/radix-ng-primitives-input.d.ts +87 -0
- package/{label/index.d.ts → types/radix-ng-primitives-label.d.ts} +0 -1
- package/types/radix-ng-primitives-menu.d.ts +612 -0
- package/types/radix-ng-primitives-menubar.d.ts +66 -0
- package/types/radix-ng-primitives-meter.d.ts +193 -0
- package/types/radix-ng-primitives-navigation-menu.d.ts +488 -0
- package/types/radix-ng-primitives-number-field.d.ts +464 -0
- package/{pagination/index.d.ts → types/radix-ng-primitives-pagination.d.ts} +2 -2
- package/types/radix-ng-primitives-popover.d.ts +416 -0
- package/{popper/index.d.ts → types/radix-ng-primitives-popper.d.ts} +50 -9
- package/types/radix-ng-primitives-portal.d.ts +30 -0
- package/types/radix-ng-primitives-presence.d.ts +55 -0
- package/types/radix-ng-primitives-preview-card.d.ts +359 -0
- package/types/radix-ng-primitives-progress.d.ts +206 -0
- package/{radio/index.d.ts → types/radix-ng-primitives-radio.d.ts} +56 -26
- package/{roving-focus/index.d.ts → types/radix-ng-primitives-roving-focus.d.ts} +38 -27
- package/types/radix-ng-primitives-select.d.ts +512 -0
- package/types/radix-ng-primitives-separator.d.ts +38 -0
- package/types/radix-ng-primitives-slider.d.ts +377 -0
- package/{stepper/index.d.ts → types/radix-ng-primitives-stepper.d.ts} +21 -22
- package/types/radix-ng-primitives-switch.d.ts +121 -0
- package/types/radix-ng-primitives-tabs.d.ts +247 -0
- package/{time-field/index.d.ts → types/radix-ng-primitives-time-field.d.ts} +46 -31
- package/types/radix-ng-primitives-toggle-group.d.ts +116 -0
- package/types/radix-ng-primitives-toggle.d.ts +65 -0
- package/types/radix-ng-primitives-toolbar.d.ts +180 -0
- package/types/radix-ng-primitives-tooltip.d.ts +395 -0
- package/{visually-hidden/index.d.ts → types/radix-ng-primitives-visually-hidden.d.ts} +19 -19
- package/alert-dialog/index.d.ts +0 -57
- package/checkbox/index.d.ts +0 -164
- package/collapsible/index.d.ts +0 -85
- package/context-menu/index.d.ts +0 -129
- package/dialog/index.d.ts +0 -205
- package/dropdown-menu/README.md +0 -1
- package/dropdown-menu/index.d.ts +0 -171
- package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +0 -583
- package/fesm2022/radix-ng-primitives-dropdown-menu.mjs.map +0 -1
- package/fesm2022/radix-ng-primitives-hover-card.mjs +0 -1246
- package/fesm2022/radix-ng-primitives-hover-card.mjs.map +0 -1
- package/fesm2022/radix-ng-primitives-tooltip2.mjs +0 -740
- package/fesm2022/radix-ng-primitives-tooltip2.mjs.map +0 -1
- package/hover-card/README.md +0 -3
- package/hover-card/index.d.ts +0 -472
- package/menu/index.d.ts +0 -139
- package/menubar/index.d.ts +0 -56
- package/navigation-menu/index.d.ts +0 -405
- package/number-field/index.d.ts +0 -203
- package/popover/index.d.ts +0 -403
- package/portal/index.d.ts +0 -22
- package/presence/index.d.ts +0 -103
- package/progress/index.d.ts +0 -79
- package/select/index.d.ts +0 -214
- package/separator/index.d.ts +0 -63
- package/slider/index.d.ts +0 -263
- package/switch/index.d.ts +0 -105
- package/tabs/index.d.ts +0 -112
- package/toggle/index.d.ts +0 -75
- package/toggle-group/index.d.ts +0 -194
- package/toolbar/index.d.ts +0 -55
- package/tooltip/index.d.ts +0 -433
- package/tooltip2/README.md +0 -3
- package/tooltip2/index.d.ts +0 -325
- /package/{focus-guards/index.d.ts → types/radix-ng-primitives-focus-guards.d.ts} +0 -0
- /package/{index.d.ts → types/radix-ng-primitives.d.ts} +0 -0
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, ElementRef, Directive, contentChild, computed,
|
|
2
|
+
import { inject, ElementRef, Directive, contentChild, signal, computed, InjectionToken, Injector, PLATFORM_ID, input, numberAttribute, booleanAttribute, output, forwardRef, resource, afterRenderEffect, afterNextRender, EnvironmentInjector, effect, createComponent, inputBinding } from '@angular/core';
|
|
3
3
|
import { RdxArrow } from '@radix-ng/primitives/arrow';
|
|
4
4
|
import { isPlatformBrowser } from '@angular/common';
|
|
5
|
-
import { computePosition, offset, shift, flip, size, arrow, hide,
|
|
6
|
-
import { createContext, elementSize } from '@radix-ng/primitives/core';
|
|
5
|
+
import { computePosition, offset, shift, limitShift, flip, size, arrow, hide, autoUpdate } from '@floating-ui/dom';
|
|
6
|
+
import { createContext, elementSize, watch } from '@radix-ng/primitives/core';
|
|
7
7
|
|
|
8
8
|
class RdxPopperAnchor {
|
|
9
9
|
constructor() {
|
|
10
10
|
this.elementRef = inject(ElementRef);
|
|
11
11
|
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
13
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxPopperAnchor, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
13
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: RdxPopperAnchor, isStandalone: true, selector: "[rdxPopperAnchor]", ngImport: i0 }); }
|
|
14
14
|
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxPopperAnchor, decorators: [{
|
|
16
16
|
type: Directive,
|
|
17
17
|
args: [{
|
|
18
18
|
selector: '[rdxPopperAnchor]'
|
|
@@ -21,17 +21,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
21
21
|
|
|
22
22
|
class RdxPopper {
|
|
23
23
|
constructor() {
|
|
24
|
-
this.anchor = contentChild
|
|
24
|
+
this.anchor = contentChild(RdxPopperAnchor, ...(ngDevMode ? [{ debugName: "anchor" }] : /* istanbul ignore next */ []));
|
|
25
|
+
this.anchorOverride = signal(undefined, ...(ngDevMode ? [{ debugName: "anchorOverride" }] : /* istanbul ignore next */ []));
|
|
25
26
|
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
27
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "
|
|
27
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxPopper, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
28
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.2.9", type: RdxPopper, isStandalone: true, selector: "[rdxPopperRoot]", queries: [{ propertyName: "anchor", first: true, predicate: RdxPopperAnchor, descendants: true, isSignal: true }], ngImport: i0 }); }
|
|
28
29
|
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxPopper, decorators: [{
|
|
30
31
|
type: Directive,
|
|
31
32
|
args: [{
|
|
32
33
|
selector: '[rdxPopperRoot]'
|
|
33
34
|
}]
|
|
34
|
-
}] });
|
|
35
|
+
}], propDecorators: { anchor: [{ type: i0.ContentChild, args: [i0.forwardRef(() => RdxPopperAnchor), { isSignal: true }] }] } });
|
|
35
36
|
|
|
36
37
|
class RdxPopperContent {
|
|
37
38
|
constructor() {
|
|
@@ -42,12 +43,12 @@ class RdxPopperContent {
|
|
|
42
43
|
*/
|
|
43
44
|
this.style = computed(() => ({
|
|
44
45
|
animation: !this.popperContentWrapper.isPositioned() ? 'none' : undefined
|
|
45
|
-
}), ...(ngDevMode ? [{ debugName: "style" }] : []));
|
|
46
|
+
}), ...(ngDevMode ? [{ debugName: "style" }] : /* istanbul ignore next */ []));
|
|
46
47
|
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
48
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxPopperContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
49
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: RdxPopperContent, isStandalone: true, selector: "[rdxPopperContent]", host: { properties: { "attr.data-side": "popperContentWrapper.placedSide()", "attr.data-align": "popperContentWrapper.placedAlign()", "style": "style()" } }, ngImport: i0 }); }
|
|
49
50
|
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxPopperContent, decorators: [{
|
|
51
52
|
type: Directive,
|
|
52
53
|
args: [{
|
|
53
54
|
selector: '[rdxPopperContent]',
|
|
@@ -59,6 +60,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
59
60
|
}]
|
|
60
61
|
}] });
|
|
61
62
|
|
|
63
|
+
const RdxPopperContentConfigToken = new InjectionToken('RdxPopperContentConfig', {
|
|
64
|
+
factory: () => ({})
|
|
65
|
+
});
|
|
66
|
+
function provideRdxPopperContentConfig(config) {
|
|
67
|
+
return { provide: RdxPopperContentConfigToken, useValue: config };
|
|
68
|
+
}
|
|
69
|
+
|
|
62
70
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
63
71
|
const SIDE_OPTIONS = ['top', 'right', 'bottom', 'left'];
|
|
64
72
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -115,77 +123,86 @@ const context = () => {
|
|
|
115
123
|
arrowX: popperContentWrapper.arrowX,
|
|
116
124
|
arrowY: popperContentWrapper.arrowY,
|
|
117
125
|
shouldHideArrow: popperContentWrapper.shouldHideArrow,
|
|
118
|
-
isPositioned: popperContentWrapper.isPositioned
|
|
126
|
+
isPositioned: popperContentWrapper.isPositioned,
|
|
127
|
+
anchorHidden: popperContentWrapper.anchorHidden
|
|
119
128
|
};
|
|
120
129
|
};
|
|
121
130
|
const [injectPopperContentWrapperContext, providePopperContentWrapperContext] = createContext('PopperContentWrapperContext');
|
|
122
131
|
class RdxPopperContentWrapper {
|
|
123
132
|
constructor() {
|
|
124
133
|
this.elementRef = inject(ElementRef);
|
|
125
|
-
this.destroyRef = inject(DestroyRef);
|
|
126
134
|
this.injector = inject(Injector);
|
|
127
135
|
this.context = inject(RdxPopper);
|
|
128
136
|
this.isBrowser = isPlatformBrowser(inject(PLATFORM_ID));
|
|
137
|
+
/** Optional positioning defaults provided by a composing primitive (e.g. tooltip). */
|
|
138
|
+
this.config = inject(RdxPopperContentConfigToken);
|
|
139
|
+
/**
|
|
140
|
+
* An element to position the popup against. Defaults to the popper anchor.
|
|
141
|
+
*/
|
|
142
|
+
this.anchor = input(...(ngDevMode ? [undefined, { debugName: "anchor" }] : /* istanbul ignore next */ []));
|
|
129
143
|
/**
|
|
130
144
|
* The preferred side of the anchor to render against when open.
|
|
131
145
|
* Will be reversed when collisions occur and avoidCollisions is enabled.
|
|
132
146
|
*/
|
|
133
|
-
this.side = input('bottom', ...(ngDevMode ? [{ debugName: "side" }] : []));
|
|
147
|
+
this.side = input(this.config.side ?? 'bottom', ...(ngDevMode ? [{ debugName: "side" }] : /* istanbul ignore next */ []));
|
|
134
148
|
/**
|
|
135
149
|
* Distance between the anchor and the popup in pixels.
|
|
136
150
|
*/
|
|
137
|
-
this.sideOffset = input(0, ...(ngDevMode ?
|
|
151
|
+
this.sideOffset = input(this.config.sideOffset ?? 0, { ...(ngDevMode ? { debugName: "sideOffset" } : /* istanbul ignore next */ {}), transform: numberAttribute });
|
|
138
152
|
/**
|
|
139
153
|
* How to align the popup relative to the specified side. May change when collisions occur.
|
|
140
154
|
*/
|
|
141
|
-
this.align = input('center', ...(ngDevMode ? [{ debugName: "align" }] : []));
|
|
155
|
+
this.align = input(this.config.align ?? 'center', ...(ngDevMode ? [{ debugName: "align" }] : /* istanbul ignore next */ []));
|
|
142
156
|
/** An offset in pixels from the `start` or `end` alignment options. */
|
|
143
|
-
this.alignOffset = input(0, ...(ngDevMode ?
|
|
157
|
+
this.alignOffset = input(this.config.alignOffset ?? 0, { ...(ngDevMode ? { debugName: "alignOffset" } : /* istanbul ignore next */ {}), transform: numberAttribute });
|
|
144
158
|
/**
|
|
145
159
|
* Minimum distance to maintain between the arrow and the edges of the popup.
|
|
146
160
|
* If your content has border-radius, this will prevent it from overflowing the corners.
|
|
147
161
|
*/
|
|
148
|
-
this.arrowPadding = input(0, ...(ngDevMode ?
|
|
162
|
+
this.arrowPadding = input(this.config.arrowPadding ?? 0, { ...(ngDevMode ? { debugName: "arrowPadding" } : /* istanbul ignore next */ {}), transform: numberAttribute });
|
|
149
163
|
/** When `true`, overrides the `side` and `align` preferences to prevent collisions with boundary edges. */
|
|
150
|
-
this.avoidCollisions = input(true, ...(ngDevMode ?
|
|
164
|
+
this.avoidCollisions = input(this.config.avoidCollisions ?? true, { ...(ngDevMode ? { debugName: "avoidCollisions" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
151
165
|
/**
|
|
152
166
|
* The element used as the collision boundary.
|
|
153
167
|
* By default this is the viewport, though you can provide additional element(s) to be included in this check.
|
|
154
168
|
*/
|
|
155
|
-
this.collisionBoundary = input(...(ngDevMode ? [undefined, { debugName: "collisionBoundary" }] : []));
|
|
169
|
+
this.collisionBoundary = input(...(ngDevMode ? [undefined, { debugName: "collisionBoundary" }] : /* istanbul ignore next */ []));
|
|
156
170
|
/**
|
|
157
171
|
* The distance in pixels from the boundary edges where collision detection should occur.
|
|
158
172
|
* Accepts a number (same for all sides), or a partial padding object, for example: `{ top: 20, left: 20 }`.
|
|
159
173
|
*/
|
|
160
|
-
this.collisionPadding = input(0, ...(ngDevMode ? [{ debugName: "collisionPadding" }] : []));
|
|
174
|
+
this.collisionPadding = input(this.config.collisionPadding ?? 0, ...(ngDevMode ? [{ debugName: "collisionPadding" }] : /* istanbul ignore next */ []));
|
|
161
175
|
/**
|
|
162
176
|
* The sticky behavior on the align axis. `partial` will keep the
|
|
163
177
|
* content in the boundary as long as the trigger is at least partially
|
|
164
178
|
* in the boundary whilst "always" will keep the content in the boundary
|
|
165
179
|
* regardless.
|
|
166
180
|
*/
|
|
167
|
-
this.sticky = input('partial', ...(ngDevMode ? [{ debugName: "sticky" }] : []));
|
|
181
|
+
this.sticky = input(this.config.sticky ?? 'partial', ...(ngDevMode ? [{ debugName: "sticky" }] : /* istanbul ignore next */ []));
|
|
168
182
|
/**
|
|
169
183
|
* Whether to hide the content when the trigger becomes fully occluded.
|
|
170
184
|
*/
|
|
171
|
-
this.hideWhenDetached = input(false, ...(ngDevMode ?
|
|
185
|
+
this.hideWhenDetached = input(this.config.hideWhenDetached ?? false, { ...(ngDevMode ? { debugName: "hideWhenDetached" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
172
186
|
/**
|
|
173
187
|
* The type of CSS position property to use.
|
|
174
188
|
*/
|
|
175
|
-
this.positionStrategy = input('fixed', ...(ngDevMode ? [{ debugName: "positionStrategy" }] : []));
|
|
189
|
+
this.positionStrategy = input(this.config.positionStrategy ?? 'fixed', ...(ngDevMode ? [{ debugName: "positionStrategy" }] : /* istanbul ignore next */ []));
|
|
176
190
|
/**
|
|
177
191
|
* Strategy to update the position of the floating element on every animation frame.
|
|
178
192
|
*/
|
|
179
|
-
this.updatePositionStrategy = input('
|
|
193
|
+
this.updatePositionStrategy = input(this.config.updatePositionStrategy ?? 'optimized', ...(ngDevMode ? [{ debugName: "updatePositionStrategy" }] : /* istanbul ignore next */ []));
|
|
180
194
|
/**
|
|
181
195
|
* Emits when the element is placed.
|
|
182
196
|
*/
|
|
183
197
|
this.placed = output();
|
|
184
|
-
this.arrow = contentChild(forwardRef(() => RdxPopperArrow), ...(ngDevMode ? [{ debugName: "arrow" }] : []));
|
|
185
|
-
this.shouldHideArrow = computed(() => this.position.value()?.middlewareData['arrow']?.centerOffset !== 0, ...(ngDevMode ? [{ debugName: "shouldHideArrow" }] : []));
|
|
186
|
-
|
|
187
|
-
this.
|
|
188
|
-
this.
|
|
198
|
+
this.arrow = contentChild(forwardRef(() => RdxPopperArrow), ...(ngDevMode ? [{ debugName: "arrow" }] : /* istanbul ignore next */ []));
|
|
199
|
+
this.shouldHideArrow = computed(() => this.position.value()?.middlewareData['arrow']?.centerOffset !== 0, ...(ngDevMode ? [{ debugName: "shouldHideArrow" }] : /* istanbul ignore next */ []));
|
|
200
|
+
/** Whether the arrow could not be centered on the anchor because the popup was shifted. */
|
|
201
|
+
this.arrowUncentered = computed(() => (this.position.value()?.middlewareData['arrow']?.centerOffset ?? 0) !== 0, ...(ngDevMode ? [{ debugName: "arrowUncentered" }] : /* istanbul ignore next */ []));
|
|
202
|
+
this.arrowX = computed(() => this.position.value()?.middlewareData['arrow']?.x, ...(ngDevMode ? [{ debugName: "arrowX" }] : /* istanbul ignore next */ []));
|
|
203
|
+
this.arrowY = computed(() => this.position.value()?.middlewareData['arrow']?.y, ...(ngDevMode ? [{ debugName: "arrowY" }] : /* istanbul ignore next */ []));
|
|
204
|
+
this.anchorHidden = computed(() => this.position.value()?.middlewareData.hide?.referenceHidden === true, ...(ngDevMode ? [{ debugName: "anchorHidden" }] : /* istanbul ignore next */ []));
|
|
205
|
+
this.desiredPlacement = computed(() => (this.side() + (this.align() !== 'center' ? '-' + this.align() : '')), ...(ngDevMode ? [{ debugName: "desiredPlacement" }] : /* istanbul ignore next */ []));
|
|
189
206
|
this.arrowSize = computed(() => {
|
|
190
207
|
const arrowElementRef = this.arrow()?.elementRef;
|
|
191
208
|
if (!arrowElementRef) {
|
|
@@ -198,7 +215,7 @@ class RdxPopperContentWrapper {
|
|
|
198
215
|
elementRef: arrowElementRef,
|
|
199
216
|
injector: this.injector
|
|
200
217
|
});
|
|
201
|
-
}, ...(ngDevMode ? [{ debugName: "arrowSize" }] : []));
|
|
218
|
+
}, ...(ngDevMode ? [{ debugName: "arrowSize" }] : /* istanbul ignore next */ []));
|
|
202
219
|
this.boundary = computed(() => {
|
|
203
220
|
const boundary = this.collisionBoundary();
|
|
204
221
|
if (Array.isArray(boundary)) {
|
|
@@ -208,34 +225,63 @@ class RdxPopperContentWrapper {
|
|
|
208
225
|
return [];
|
|
209
226
|
}
|
|
210
227
|
return [boundary.nativeElement];
|
|
211
|
-
}, ...(ngDevMode ? [{ debugName: "boundary" }] : []));
|
|
212
|
-
this.hasExplicitBoundaries = computed(() => this.boundary().length > 0, ...(ngDevMode ? [{ debugName: "hasExplicitBoundaries" }] : []));
|
|
228
|
+
}, ...(ngDevMode ? [{ debugName: "boundary" }] : /* istanbul ignore next */ []));
|
|
229
|
+
this.hasExplicitBoundaries = computed(() => this.boundary().length > 0, ...(ngDevMode ? [{ debugName: "hasExplicitBoundaries" }] : /* istanbul ignore next */ []));
|
|
213
230
|
this.detectOverflowOptions = computed(() => ({
|
|
214
231
|
padding: this.collisionPadding(),
|
|
215
232
|
boundary: this.boundary().filter(isNotNull),
|
|
216
233
|
// with `strategy: 'fixed'`, this is the only way to get it to respect boundaries
|
|
217
234
|
altBoundary: this.hasExplicitBoundaries()
|
|
218
|
-
}), ...(ngDevMode ? [{ debugName: "detectOverflowOptions" }] : []));
|
|
219
|
-
this.
|
|
220
|
-
|
|
221
|
-
|
|
235
|
+
}), ...(ngDevMode ? [{ debugName: "detectOverflowOptions" }] : /* istanbul ignore next */ []));
|
|
236
|
+
this.resolvedAnchor = computed(() => {
|
|
237
|
+
const anchor = this.anchor();
|
|
238
|
+
const resolvedAnchor = typeof anchor === 'function' ? anchor() : anchor;
|
|
239
|
+
if (resolvedAnchor instanceof ElementRef) {
|
|
240
|
+
return resolvedAnchor.nativeElement;
|
|
241
|
+
}
|
|
242
|
+
if (resolvedAnchor) {
|
|
243
|
+
return resolvedAnchor;
|
|
244
|
+
}
|
|
245
|
+
const fallbackAnchor = this.context.anchorOverride() ?? this.context.anchor()?.elementRef.nativeElement;
|
|
246
|
+
if (!fallbackAnchor) {
|
|
247
|
+
throw new Error('RdxPopperContentWrapper requires an anchor.');
|
|
248
|
+
}
|
|
249
|
+
return fallbackAnchor;
|
|
250
|
+
}, ...(ngDevMode ? [{ debugName: "resolvedAnchor" }] : /* istanbul ignore next */ []));
|
|
251
|
+
this.position = resource({ ...(ngDevMode ? { debugName: "position" } : /* istanbul ignore next */ {}), params: () => ({
|
|
252
|
+
anchor: this.resolvedAnchor(),
|
|
222
253
|
strategy: this.positionStrategy(),
|
|
223
254
|
placement: this.desiredPlacement(),
|
|
255
|
+
sideOffset: this.sideOffset(),
|
|
256
|
+
alignOffset: this.alignOffset(),
|
|
257
|
+
arrowHeight: this.arrowSize()().height,
|
|
258
|
+
arrowWidth: this.arrowSize()().width,
|
|
259
|
+
avoidCollisions: this.avoidCollisions(),
|
|
260
|
+
sticky: this.sticky(),
|
|
261
|
+
detectOverflowOptions: this.detectOverflowOptions(),
|
|
262
|
+
arrow: this.arrow(),
|
|
263
|
+
arrowPadding: this.arrowPadding(),
|
|
264
|
+
hideWhenDetached: this.hideWhenDetached()
|
|
265
|
+
}),
|
|
266
|
+
loader: ({ params }) => computePosition(params.anchor, this.elementRef.nativeElement, {
|
|
267
|
+
// default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues
|
|
268
|
+
strategy: params.strategy,
|
|
269
|
+
placement: params.placement,
|
|
224
270
|
middleware: [
|
|
225
271
|
offset({
|
|
226
|
-
mainAxis:
|
|
227
|
-
alignmentAxis:
|
|
272
|
+
mainAxis: params.sideOffset + params.arrowHeight || 0,
|
|
273
|
+
alignmentAxis: params.alignOffset
|
|
228
274
|
}),
|
|
229
|
-
|
|
275
|
+
params.avoidCollisions &&
|
|
230
276
|
shift({
|
|
231
277
|
mainAxis: true,
|
|
232
278
|
crossAxis: false,
|
|
233
|
-
limiter:
|
|
234
|
-
...
|
|
279
|
+
limiter: params.sticky === 'partial' ? limitShift() : undefined,
|
|
280
|
+
...params.detectOverflowOptions
|
|
235
281
|
}),
|
|
236
|
-
|
|
282
|
+
params.avoidCollisions && flip({ ...params.detectOverflowOptions }),
|
|
237
283
|
size({
|
|
238
|
-
...
|
|
284
|
+
...params.detectOverflowOptions,
|
|
239
285
|
apply: ({ elements, rects, availableWidth, availableHeight }) => {
|
|
240
286
|
const { width: anchorWidth, height: anchorHeight } = rects.reference;
|
|
241
287
|
const contentStyle = elements.floating.style;
|
|
@@ -245,27 +291,26 @@ class RdxPopperContentWrapper {
|
|
|
245
291
|
contentStyle.setProperty('--radix-popper-anchor-height', `${anchorHeight}px`);
|
|
246
292
|
}
|
|
247
293
|
}),
|
|
248
|
-
|
|
294
|
+
params.arrow &&
|
|
249
295
|
arrow({
|
|
250
|
-
element:
|
|
251
|
-
padding:
|
|
296
|
+
element: params.arrow.elementRef.nativeElement,
|
|
297
|
+
padding: params.arrowPadding
|
|
252
298
|
}),
|
|
253
299
|
transformOrigin({
|
|
254
|
-
arrowWidth:
|
|
255
|
-
arrowHeight:
|
|
300
|
+
arrowWidth: params.arrowWidth,
|
|
301
|
+
arrowHeight: params.arrowHeight
|
|
256
302
|
}),
|
|
257
|
-
|
|
303
|
+
params.hideWhenDetached &&
|
|
258
304
|
hide({
|
|
259
305
|
strategy: 'referenceHidden',
|
|
260
|
-
...
|
|
306
|
+
...params.detectOverflowOptions
|
|
261
307
|
})
|
|
262
308
|
]
|
|
263
|
-
})
|
|
264
|
-
});
|
|
309
|
+
}) });
|
|
265
310
|
/**
|
|
266
311
|
* Whether the panel is positioned.
|
|
267
312
|
*/
|
|
268
|
-
this.isPositioned = computed(() => this.position.hasValue(), ...(ngDevMode ? [{ debugName: "isPositioned" }] : []));
|
|
313
|
+
this.isPositioned = computed(() => this.position.hasValue(), ...(ngDevMode ? [{ debugName: "isPositioned" }] : /* istanbul ignore next */ []));
|
|
269
314
|
/**
|
|
270
315
|
* The current placement of the panel.
|
|
271
316
|
*/
|
|
@@ -279,15 +324,15 @@ class RdxPopperContentWrapper {
|
|
|
279
324
|
side: side,
|
|
280
325
|
align: align
|
|
281
326
|
};
|
|
282
|
-
}, ...(ngDevMode ? [{ debugName: "placement" }] : []));
|
|
327
|
+
}, ...(ngDevMode ? [{ debugName: "placement" }] : /* istanbul ignore next */ []));
|
|
283
328
|
/**
|
|
284
329
|
* The side the panel is currently placed against.
|
|
285
330
|
*/
|
|
286
|
-
this.placedSide = computed(() => this.placement()?.side, ...(ngDevMode ? [{ debugName: "placedSide" }] : []));
|
|
331
|
+
this.placedSide = computed(() => this.placement()?.side, ...(ngDevMode ? [{ debugName: "placedSide" }] : /* istanbul ignore next */ []));
|
|
287
332
|
/**
|
|
288
333
|
* The current alignment of the panel.
|
|
289
334
|
*/
|
|
290
|
-
this.placedAlign = computed(() => this.placement()?.align, ...(ngDevMode ? [{ debugName: "placedAlign" }] : []));
|
|
335
|
+
this.placedAlign = computed(() => this.placement()?.align, ...(ngDevMode ? [{ debugName: "placedAlign" }] : /* istanbul ignore next */ []));
|
|
291
336
|
this.contentElementRef = contentChild.required(RdxPopperContent, {
|
|
292
337
|
read: ElementRef
|
|
293
338
|
});
|
|
@@ -296,7 +341,7 @@ class RdxPopperContentWrapper {
|
|
|
296
341
|
return 0;
|
|
297
342
|
}
|
|
298
343
|
return getComputedStyle(this.contentElementRef().nativeElement).zIndex;
|
|
299
|
-
}, ...(ngDevMode ? [{ debugName: "contentZIndex" }] : []));
|
|
344
|
+
}, ...(ngDevMode ? [{ debugName: "contentZIndex" }] : /* istanbul ignore next */ []));
|
|
300
345
|
this.style = computed(() => {
|
|
301
346
|
const pos = this.position.value();
|
|
302
347
|
const x = pos?.x;
|
|
@@ -313,6 +358,8 @@ class RdxPopperContentWrapper {
|
|
|
313
358
|
pos?.middlewareData['transformOrigin']?.x,
|
|
314
359
|
pos?.middlewareData['transformOrigin']?.y
|
|
315
360
|
].join(' '),
|
|
361
|
+
'--radix-popper-content-wrapper-width': `${this.elementRef.nativeElement.offsetWidth}px`,
|
|
362
|
+
'--radix-popper-content-wrapper-height': `${this.elementRef.nativeElement.offsetHeight}px`,
|
|
316
363
|
visibility: ready ? 'visible' : 'hidden',
|
|
317
364
|
pointerEvents: ready ? 'auto' : 'none',
|
|
318
365
|
// hide the content if using the hide middleware and should be hidden
|
|
@@ -323,21 +370,27 @@ class RdxPopperContentWrapper {
|
|
|
323
370
|
pointerEvents: 'none'
|
|
324
371
|
})
|
|
325
372
|
};
|
|
326
|
-
}, ...(ngDevMode ? [{ debugName: "style" }] : []));
|
|
327
|
-
this.
|
|
373
|
+
}, ...(ngDevMode ? [{ debugName: "style" }] : /* istanbul ignore next */ []));
|
|
374
|
+
this.afterRenderEffect = afterRenderEffect((onCleanup) => {
|
|
328
375
|
this.position.reload();
|
|
329
|
-
const cleanup = autoUpdate(this.
|
|
376
|
+
const cleanup = autoUpdate(this.resolvedAnchor(), this.elementRef.nativeElement, () => this.position.reload(), {
|
|
330
377
|
animationFrame: this.updatePositionStrategy() === 'always'
|
|
331
378
|
});
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
379
|
+
onCleanup(cleanup);
|
|
380
|
+
});
|
|
381
|
+
watch([this.isPositioned], ([isPositioned]) => {
|
|
382
|
+
if (!isPositioned) {
|
|
383
|
+
return;
|
|
384
|
+
}
|
|
385
|
+
afterNextRender(() => {
|
|
386
|
+
this.placed.emit();
|
|
387
|
+
}, { injector: this.injector });
|
|
335
388
|
});
|
|
336
389
|
}
|
|
337
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
338
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "
|
|
390
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxPopperContentWrapper, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
391
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.2.9", type: RdxPopperContentWrapper, isStandalone: true, selector: "[rdxPopperContentWrapper]", inputs: { anchor: { classPropertyName: "anchor", publicName: "anchor", isSignal: true, isRequired: false, transformFunction: null }, side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null }, sideOffset: { classPropertyName: "sideOffset", publicName: "sideOffset", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, alignOffset: { classPropertyName: "alignOffset", publicName: "alignOffset", isSignal: true, isRequired: false, transformFunction: null }, arrowPadding: { classPropertyName: "arrowPadding", publicName: "arrowPadding", isSignal: true, isRequired: false, transformFunction: null }, avoidCollisions: { classPropertyName: "avoidCollisions", publicName: "avoidCollisions", isSignal: true, isRequired: false, transformFunction: null }, collisionBoundary: { classPropertyName: "collisionBoundary", publicName: "collisionBoundary", isSignal: true, isRequired: false, transformFunction: null }, collisionPadding: { classPropertyName: "collisionPadding", publicName: "collisionPadding", isSignal: true, isRequired: false, transformFunction: null }, sticky: { classPropertyName: "sticky", publicName: "sticky", isSignal: true, isRequired: false, transformFunction: null }, hideWhenDetached: { classPropertyName: "hideWhenDetached", publicName: "hideWhenDetached", isSignal: true, isRequired: false, transformFunction: null }, positionStrategy: { classPropertyName: "positionStrategy", publicName: "positionStrategy", isSignal: true, isRequired: false, transformFunction: null }, updatePositionStrategy: { classPropertyName: "updatePositionStrategy", publicName: "updatePositionStrategy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { placed: "placed" }, host: { attributes: { "data-radix-popper-content-wrapper": "" }, properties: { "style": "style()" } }, providers: [providePopperContentWrapperContext(context)], queries: [{ propertyName: "arrow", first: true, predicate: i0.forwardRef(() => RdxPopperArrow), descendants: true, isSignal: true }, { propertyName: "contentElementRef", first: true, predicate: RdxPopperContent, descendants: true, read: ElementRef, isSignal: true }], ngImport: i0 }); }
|
|
339
392
|
}
|
|
340
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
393
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxPopperContentWrapper, decorators: [{
|
|
341
394
|
type: Directive,
|
|
342
395
|
args: [{
|
|
343
396
|
selector: '[rdxPopperContentWrapper]',
|
|
@@ -347,7 +400,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
347
400
|
'[style]': 'style()'
|
|
348
401
|
}
|
|
349
402
|
}]
|
|
350
|
-
}] })
|
|
403
|
+
}], ctorParameters: () => [], propDecorators: { anchor: [{ type: i0.Input, args: [{ isSignal: true, alias: "anchor", required: false }] }], side: [{ type: i0.Input, args: [{ isSignal: true, alias: "side", required: false }] }], sideOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "sideOffset", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], alignOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "alignOffset", required: false }] }], arrowPadding: [{ type: i0.Input, args: [{ isSignal: true, alias: "arrowPadding", required: false }] }], avoidCollisions: [{ type: i0.Input, args: [{ isSignal: true, alias: "avoidCollisions", required: false }] }], collisionBoundary: [{ type: i0.Input, args: [{ isSignal: true, alias: "collisionBoundary", required: false }] }], collisionPadding: [{ type: i0.Input, args: [{ isSignal: true, alias: "collisionPadding", required: false }] }], sticky: [{ type: i0.Input, args: [{ isSignal: true, alias: "sticky", required: false }] }], hideWhenDetached: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideWhenDetached", required: false }] }], positionStrategy: [{ type: i0.Input, args: [{ isSignal: true, alias: "positionStrategy", required: false }] }], updatePositionStrategy: [{ type: i0.Input, args: [{ isSignal: true, alias: "updatePositionStrategy", required: false }] }], placed: [{ type: i0.Output, args: ["placed"] }], arrow: [{ type: i0.ContentChild, args: [forwardRef(() => RdxPopperArrow), { isSignal: true }] }], contentElementRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => RdxPopperContent), { ...{
|
|
404
|
+
read: ElementRef
|
|
405
|
+
}, isSignal: true }] }] } });
|
|
351
406
|
|
|
352
407
|
const OPPOSITE_SIDE = {
|
|
353
408
|
top: 'bottom',
|
|
@@ -360,9 +415,9 @@ class RdxPopperArrow {
|
|
|
360
415
|
this.popperContentContext = injectPopperContentWrapperContext();
|
|
361
416
|
this.environmentInjector = inject(EnvironmentInjector);
|
|
362
417
|
this.elementRef = inject(ElementRef);
|
|
363
|
-
this.width = input(10, ...(ngDevMode ?
|
|
364
|
-
this.height = input(5, ...(ngDevMode ?
|
|
365
|
-
this.baseSide = computed(() => OPPOSITE_SIDE[this.popperContentContext.placedSide()], ...(ngDevMode ? [{ debugName: "baseSide" }] : []));
|
|
418
|
+
this.width = input(10, { ...(ngDevMode ? { debugName: "width" } : /* istanbul ignore next */ {}), transform: numberAttribute });
|
|
419
|
+
this.height = input(5, { ...(ngDevMode ? { debugName: "height" } : /* istanbul ignore next */ {}), transform: numberAttribute });
|
|
420
|
+
this.baseSide = computed(() => OPPOSITE_SIDE[this.popperContentContext.placedSide()], ...(ngDevMode ? [{ debugName: "baseSide" }] : /* istanbul ignore next */ []));
|
|
366
421
|
this.style = computed(() => {
|
|
367
422
|
return {
|
|
368
423
|
position: 'absolute',
|
|
@@ -383,7 +438,7 @@ class RdxPopperArrow {
|
|
|
383
438
|
}[this.popperContentContext.placedSide()],
|
|
384
439
|
visibility: this.popperContentContext.shouldHideArrow() ? 'hidden' : undefined
|
|
385
440
|
};
|
|
386
|
-
}, ...(ngDevMode ? [{ debugName: "style" }] : []));
|
|
441
|
+
}, ...(ngDevMode ? [{ debugName: "style" }] : /* istanbul ignore next */ []));
|
|
387
442
|
this.onCleanup = effect((onCleanup) => {
|
|
388
443
|
const component = createComponent(RdxArrow, {
|
|
389
444
|
environmentInjector: this.environmentInjector,
|
|
@@ -393,12 +448,12 @@ class RdxPopperArrow {
|
|
|
393
448
|
});
|
|
394
449
|
component.changeDetectorRef.detectChanges();
|
|
395
450
|
onCleanup(() => component.destroy());
|
|
396
|
-
}, ...(ngDevMode ? [{ debugName: "onCleanup" }] : []));
|
|
451
|
+
}, ...(ngDevMode ? [{ debugName: "onCleanup" }] : /* istanbul ignore next */ []));
|
|
397
452
|
}
|
|
398
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
399
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
453
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxPopperArrow, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
454
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.9", type: RdxPopperArrow, isStandalone: true, selector: "[rdxPopperArrow]", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style": "style()" } }, ngImport: i0 }); }
|
|
400
455
|
}
|
|
401
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
456
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxPopperArrow, decorators: [{
|
|
402
457
|
type: Directive,
|
|
403
458
|
args: [{
|
|
404
459
|
selector: '[rdxPopperArrow]',
|
|
@@ -406,7 +461,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
406
461
|
'[style]': 'style()'
|
|
407
462
|
}
|
|
408
463
|
}]
|
|
409
|
-
}] });
|
|
464
|
+
}], propDecorators: { width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }] } });
|
|
410
465
|
|
|
411
466
|
const popperImports = [RdxPopper, RdxPopperArrow, RdxPopperContentWrapper, RdxPopperContent, RdxPopperAnchor];
|
|
412
467
|
|
|
@@ -414,5 +469,5 @@ const popperImports = [RdxPopper, RdxPopperArrow, RdxPopperContentWrapper, RdxPo
|
|
|
414
469
|
* Generated bundle index. Do not edit.
|
|
415
470
|
*/
|
|
416
471
|
|
|
417
|
-
export { RdxPopper, RdxPopperAnchor, RdxPopperArrow, RdxPopperContent, RdxPopperContentWrapper, getSideAndAlignFromPlacement, injectPopperContentWrapperContext, isNotNull, popperImports, providePopperContentWrapperContext, transformOrigin };
|
|
472
|
+
export { RdxPopper, RdxPopperAnchor, RdxPopperArrow, RdxPopperContent, RdxPopperContentConfigToken, RdxPopperContentWrapper, getSideAndAlignFromPlacement, injectPopperContentWrapperContext, isNotNull, popperImports, providePopperContentWrapperContext, provideRdxPopperContentConfig, transformOrigin };
|
|
418
473
|
//# sourceMappingURL=radix-ng-primitives-popper.mjs.map
|