@radix-ng/primitives 0.20.0 → 0.20.2
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/compodoc/documentation.json +327 -96
- package/esm2022/popover/src/popover-arrow.directive.mjs +1 -1
- package/esm2022/popover/src/popover-close.directive.mjs +2 -2
- package/esm2022/popover/src/popover-content.directive.mjs +9 -17
- package/esm2022/popover/src/popover-root.directive.mjs +9 -4
- package/esm2022/popover/src/popover-trigger.directive.mjs +10 -9
- package/esm2022/popover/src/popover.constants.mjs +2 -2
- package/esm2022/radio/src/radio-indicator.directive.mjs +3 -3
- package/fesm2022/radix-ng-primitives-popover.mjs +26 -28
- package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-radio.mjs +2 -2
- package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
- package/package.json +7 -7
- package/popover/src/popover-close.directive.d.ts +1 -1
- package/popover/src/popover-content.directive.d.ts +0 -2
- package/popover/src/popover-root.directive.d.ts +2 -0
- package/popover/src/popover-trigger.directive.d.ts +6 -4
- package/popover/src/popover.constants.d.ts +1 -1
@@ -114,7 +114,7 @@ const POPOVER_POSITIONS = {
|
|
114
114
|
const DEFAULTS = {
|
115
115
|
offsets: {
|
116
116
|
side: 10,
|
117
|
-
align:
|
117
|
+
align: 0
|
118
118
|
}
|
119
119
|
};
|
120
120
|
|
@@ -342,7 +342,7 @@ class RdxPopoverCloseDirective {
|
|
342
342
|
/** @ignore */
|
343
343
|
this.popoverRoot = injectPopoverRoot();
|
344
344
|
/** @ignore */
|
345
|
-
this.elementRef = inject(
|
345
|
+
this.elementRef = inject(ElementRef);
|
346
346
|
/** @ignore */
|
347
347
|
this.renderer = inject(Renderer2);
|
348
348
|
this.onIsControlledExternallyEffect();
|
@@ -408,7 +408,7 @@ class RdxPopoverContentDirective {
|
|
408
408
|
const greatestDimensionFromTheArrow = Math.max(this.popoverRoot.popoverArrowDirective()?.width() ?? 0, this.popoverRoot.popoverArrowDirective()?.height() ?? 0);
|
409
409
|
const offsets = {
|
410
410
|
sideOffset: this.sideOffset() ?? (greatestDimensionFromTheArrow || DEFAULTS.offsets.side),
|
411
|
-
alignOffset: this.alignOffset() ??
|
411
|
+
alignOffset: this.alignOffset() ?? DEFAULTS.offsets.align
|
412
412
|
};
|
413
413
|
const basePosition = getContentPosition({
|
414
414
|
side: this.side(),
|
@@ -422,7 +422,7 @@ class RdxPopoverContentDirective {
|
|
422
422
|
* Alternate positions for better user experience along the X/Y axis (e.g. vertical/horizontal scrolling)
|
423
423
|
*/
|
424
424
|
const allPossibleConnectedPositions = getAllPossibleConnectedPositions();
|
425
|
-
allPossibleConnectedPositions.forEach((
|
425
|
+
allPossibleConnectedPositions.forEach((_, key) => {
|
426
426
|
const sideAndAlignArray = key.split('|');
|
427
427
|
if (sideAndAlignArray[0] !== this.side() ||
|
428
428
|
sideAndAlignArray[1] !== this.align()) {
|
@@ -454,12 +454,12 @@ class RdxPopoverContentDirective {
|
|
454
454
|
*/
|
455
455
|
this.onHide = output();
|
456
456
|
this.onPositionChangeEffect();
|
457
|
-
this.onControlledExternallyChangeEffect();
|
458
457
|
}
|
459
458
|
/** @ignore */
|
460
459
|
ngOnInit() {
|
461
460
|
this.setOrigin();
|
462
461
|
this.setScrollStrategy();
|
462
|
+
this.setDisableClose();
|
463
463
|
this.onAttach();
|
464
464
|
this.onDetach();
|
465
465
|
this.connectKeydownEscape();
|
@@ -503,6 +503,9 @@ class RdxPopoverContentDirective {
|
|
503
503
|
.asObservable()
|
504
504
|
.pipe(tap((event) => {
|
505
505
|
this.onPointerDownOutside.emit(event);
|
506
|
+
if (!event.defaultPrevented) {
|
507
|
+
this.popoverRoot.handleClose();
|
508
|
+
}
|
506
509
|
}), takeUntilDestroyed(this.destroyRef))
|
507
510
|
.subscribe();
|
508
511
|
}
|
@@ -535,7 +538,7 @@ class RdxPopoverContentDirective {
|
|
535
538
|
/** @ignore */
|
536
539
|
setDisableClose() {
|
537
540
|
const prevDisableClose = this.connectedOverlay.disableClose;
|
538
|
-
this.connectedOverlay.disableClose =
|
541
|
+
this.connectedOverlay.disableClose = true;
|
539
542
|
this.connectedOverlay.ngOnChanges({
|
540
543
|
disableClose: new SimpleChange(prevDisableClose, this.connectedOverlay.disableClose, false)
|
541
544
|
});
|
@@ -563,15 +566,6 @@ class RdxPopoverContentDirective {
|
|
563
566
|
});
|
564
567
|
});
|
565
568
|
}
|
566
|
-
/** @ignore */
|
567
|
-
onControlledExternallyChangeEffect() {
|
568
|
-
effect(() => {
|
569
|
-
this.popoverRoot.controlledExternally()();
|
570
|
-
untracked(() => {
|
571
|
-
this.setDisableClose();
|
572
|
-
});
|
573
|
-
});
|
574
|
-
}
|
575
569
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
576
570
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxPopoverContentDirective, isStandalone: true, selector: "[rdxPopoverContent]", inputs: { 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 }, disableAlternatePositions: { classPropertyName: "disableAlternatePositions", publicName: "disableAlternatePositions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onEscapeKeyDown: "onEscapeKeyDown", onPointerDownOutside: "onPointerDownOutside", onShow: "onShow", onHide: "onHide" }, hostDirectives: [{ directive: i1.CdkConnectedOverlay }], ngImport: i0 }); }
|
577
571
|
}
|
@@ -581,31 +575,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
581
575
|
selector: '[rdxPopoverContent]',
|
582
576
|
standalone: true,
|
583
577
|
hostDirectives: [
|
584
|
-
|
585
|
-
directive: CdkConnectedOverlay
|
586
|
-
}
|
578
|
+
CdkConnectedOverlay
|
587
579
|
]
|
588
580
|
}]
|
589
581
|
}], ctorParameters: () => [] });
|
590
582
|
|
591
|
-
let nextId = 0;
|
592
583
|
class RdxPopoverTriggerDirective {
|
593
584
|
constructor() {
|
594
|
-
this.id = input(`rdx-popover-root-${nextId++}`);
|
595
|
-
this.popoverId = computed(() => `rdx-popover-${this.id()}`);
|
596
585
|
/** @ignore */
|
597
586
|
this.popoverRoot = injectPopoverRoot();
|
598
587
|
/** @ignore */
|
599
|
-
this.elementRef = inject(
|
588
|
+
this.elementRef = inject(ElementRef);
|
600
589
|
/** @ignore */
|
601
590
|
this.overlayOrigin = inject(CdkOverlayOrigin);
|
591
|
+
/** @ignore */
|
592
|
+
this.name = computed(() => `rdx-popover-trigger-${this.popoverRoot.uniqueId()}`);
|
593
|
+
/** @ignore */
|
594
|
+
this.controlsId = computed(() => `rdx-popover-trigger-controls-${this.popoverRoot.uniqueId()}`);
|
602
595
|
}
|
603
596
|
/** @ignore */
|
604
597
|
onClick() {
|
605
598
|
this.popoverRoot.handleToggle();
|
606
599
|
}
|
607
600
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
608
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
601
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxPopoverTriggerDirective, isStandalone: true, selector: "[rdxPopoverTrigger]", host: { attributes: { "type": "button" }, listeners: { "click": "onClick()" }, properties: { "attr.id": "name()", "attr.aria-haspopup": "\"dialog\"", "attr.aria-expanded": "popoverRoot.isOpen()", "attr.aria-controls": "controlsId()", "attr.data-state": "popoverRoot.state()" } }, hostDirectives: [{ directive: i1.CdkOverlayOrigin }], ngImport: i0 }); }
|
609
602
|
}
|
610
603
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverTriggerDirective, decorators: [{
|
611
604
|
type: Directive,
|
@@ -615,18 +608,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
615
608
|
hostDirectives: [CdkOverlayOrigin],
|
616
609
|
host: {
|
617
610
|
type: 'button',
|
618
|
-
'[attr.id]': '
|
611
|
+
'[attr.id]': 'name()',
|
619
612
|
'[attr.aria-haspopup]': '"dialog"',
|
620
613
|
'[attr.aria-expanded]': 'popoverRoot.isOpen()',
|
621
|
-
'[attr.aria-controls]': '
|
614
|
+
'[attr.aria-controls]': 'controlsId()',
|
622
615
|
'[attr.data-state]': 'popoverRoot.state()',
|
623
616
|
'(click)': 'onClick()'
|
624
617
|
}
|
625
618
|
}]
|
626
619
|
}] });
|
627
620
|
|
621
|
+
let nextId = 0;
|
628
622
|
class RdxPopoverRootDirective {
|
629
623
|
constructor() {
|
624
|
+
this.uniqueId = signal(++nextId);
|
625
|
+
this.name = computed(() => `rdx-popover-root-${this.uniqueId()}`);
|
630
626
|
/**
|
631
627
|
* The open state of the popover when it is initially rendered. Use when you do not need to control its open state.
|
632
628
|
*/
|
@@ -697,9 +693,11 @@ class RdxPopoverRootDirective {
|
|
697
693
|
}
|
698
694
|
/** @ignore */
|
699
695
|
setOpen(open = false) {
|
700
|
-
|
701
|
-
|
702
|
-
|
696
|
+
this.document.dispatchEvent(new CustomEvent(`popover.${open ? 'open' : 'close'}`, {
|
697
|
+
detail: {
|
698
|
+
id: this.name()
|
699
|
+
}
|
700
|
+
}));
|
703
701
|
this.isOpen.set(open);
|
704
702
|
this.onOpenChange.emit(open);
|
705
703
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"radix-ng-primitives-popover.mjs","sources":["../../../packages/primitives/popover/src/popover-arrow.token.ts","../../../packages/primitives/popover/src/popover-root.token.ts","../../../packages/primitives/popover/src/popover-root.inject.ts","../../../packages/primitives/popover/src/popover.types.ts","../../../packages/primitives/popover/src/popover.constants.ts","../../../packages/primitives/popover/src/popover.utils.ts","../../../packages/primitives/popover/src/popover-arrow.directive.ts","../../../packages/primitives/popover/src/popover-close.directive.ts","../../../packages/primitives/popover/src/popover-content.directive.ts","../../../packages/primitives/popover/src/popover-trigger.directive.ts","../../../packages/primitives/popover/src/popover-root.directive.ts","../../../packages/primitives/popover/index.ts","../../../packages/primitives/popover/radix-ng-primitives-popover.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { RdxPopoverArrowDirective } from './popover-arrow.directive';\n\nexport const RdxPopoverArrowToken = new InjectionToken<RdxPopoverArrowDirective>('RdxPopoverArrowToken');\n","import { InjectionToken } from '@angular/core';\nimport { RdxPopoverRootDirective } from './popover-root.directive';\n\nexport const RdxPopoverRootToken = new InjectionToken<RdxPopoverRootDirective>('RdxPopoverRootToken');\n","import { assertInInjectionContext, inject, isDevMode } from '@angular/core';\nimport { RdxPopoverRootDirective } from './popover-root.directive';\nimport { RdxPopoverRootToken } from './popover-root.token';\n\nexport function injectPopoverRoot(): RdxPopoverRootDirective {\n isDevMode() && assertInInjectionContext(injectPopoverRoot);\n return inject(RdxPopoverRootToken);\n}\n","import { ConnectionPositionPair } from '@angular/cdk/overlay';\n\nexport enum RdxPopoverSide {\n Top = 'top',\n Right = 'right',\n Bottom = 'bottom',\n Left = 'left'\n}\n\nexport enum RdxPopoverAlign {\n Start = 'start',\n Center = 'center',\n End = 'end'\n}\n\nexport type RdxPopoverState = 'open' | 'closed';\n\nexport type RdxSideAndAlign = { side: RdxPopoverSide; align: RdxPopoverAlign };\nexport type RdxSideAndAlignOffsets = { sideOffset: number; alignOffset: number };\n\nexport type RdxPopoverPositions = {\n [key in RdxPopoverSide]: {\n [key in RdxPopoverAlign]: ConnectionPositionPair;\n };\n};\n\nexport type RdxAllPossibleConnectedPositions = ReadonlyMap<\n `${RdxPopoverSide}|${RdxPopoverAlign}`,\n ConnectionPositionPair\n>;\n\nexport type RdxArrowPositionParams = {\n top: string;\n bottom: string;\n left: string;\n right: string;\n transform: string;\n};\n","import { RdxPopoverAlign, RdxPopoverPositions, RdxPopoverSide } from './popover.types';\n\nexport const POPOVER_POSITIONS: RdxPopoverPositions = {\n [RdxPopoverSide.Top]: {\n [RdxPopoverAlign.Center]: {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom'\n },\n [RdxPopoverAlign.Start]: {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom'\n },\n [RdxPopoverAlign.End]: {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom'\n }\n },\n [RdxPopoverSide.Right]: {\n [RdxPopoverAlign.Center]: {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center'\n },\n [RdxPopoverAlign.Start]: {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top'\n },\n [RdxPopoverAlign.End]: {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom'\n }\n },\n [RdxPopoverSide.Bottom]: {\n [RdxPopoverAlign.Center]: {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top'\n },\n [RdxPopoverAlign.Start]: {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top'\n },\n [RdxPopoverAlign.End]: {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top'\n }\n },\n [RdxPopoverSide.Left]: {\n [RdxPopoverAlign.Center]: {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center'\n },\n [RdxPopoverAlign.Start]: {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top'\n },\n [RdxPopoverAlign.End]: {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom'\n }\n }\n} as const;\n\nexport const DEFAULTS = {\n offsets: {\n side: 10,\n align: 10\n }\n} as const;\n","import { ConnectedPosition, ConnectionPositionPair } from '@angular/cdk/overlay';\nimport { POPOVER_POSITIONS } from './popover.constants';\nimport {\n RdxAllPossibleConnectedPositions,\n RdxArrowPositionParams,\n RdxPopoverAlign,\n RdxPopoverSide,\n RdxSideAndAlign,\n RdxSideAndAlignOffsets\n} from './popover.types';\n\nlet allPossibleConnectedPositions: RdxAllPossibleConnectedPositions;\nexport function getAllPossibleConnectedPositions() {\n if (!allPossibleConnectedPositions) {\n allPossibleConnectedPositions = new Map();\n }\n if (allPossibleConnectedPositions.size < 1) {\n Object.keys(POPOVER_POSITIONS).forEach((side) => {\n Object.keys(POPOVER_POSITIONS[side as RdxPopoverSide] ?? {}).forEach((align) => {\n (allPossibleConnectedPositions as Map<any, any>).set(\n `${side as RdxPopoverSide}|${align as RdxPopoverAlign}`,\n POPOVER_POSITIONS[side as RdxPopoverSide][align as RdxPopoverAlign]\n );\n });\n });\n }\n return allPossibleConnectedPositions;\n}\n\nexport function getSideAndAlignFromAllPossibleConnectedPositions(position: ConnectionPositionPair): RdxSideAndAlign {\n const allPossibleConnectedPositions = getAllPossibleConnectedPositions();\n let sideAndAlign: RdxSideAndAlign | undefined;\n allPossibleConnectedPositions.forEach((value, key) => {\n if (\n position.originX === value.originX &&\n position.originY === value.originY &&\n position.overlayX === value.overlayX &&\n position.overlayY === value.overlayY\n ) {\n const sideAndAlignArray = key.split('|');\n sideAndAlign = {\n side: sideAndAlignArray[0] as RdxPopoverSide,\n align: sideAndAlignArray[1] as RdxPopoverAlign\n };\n }\n });\n if (!sideAndAlign) {\n throw Error(\n `[RdxPopover] cannot infer both side and align from the given position (${JSON.stringify(position)})`\n );\n }\n return sideAndAlign;\n}\n\nexport function getContentPosition(\n sideAndAlignWithOffsets: RdxSideAndAlign & RdxSideAndAlignOffsets\n): ConnectedPosition {\n const { side, align, sideOffset, alignOffset } = sideAndAlignWithOffsets;\n\n const position = {\n ...(POPOVER_POSITIONS[side]?.[align] ?? POPOVER_POSITIONS[RdxPopoverSide.Top][RdxPopoverAlign.Center])\n };\n\n if (sideOffset > 0) {\n let xFactor = 0;\n let yFactor = 0;\n\n switch (side) {\n case RdxPopoverSide.Top:\n yFactor = -1;\n break;\n case RdxPopoverSide.Bottom:\n yFactor = 1;\n break;\n case RdxPopoverSide.Left:\n xFactor = -1;\n break;\n case RdxPopoverSide.Right:\n xFactor = 1;\n break;\n }\n\n position.offsetX = xFactor * sideOffset;\n position.offsetY = yFactor * sideOffset;\n }\n\n if ([RdxPopoverAlign.Start, RdxPopoverAlign.End].includes(align) && alignOffset) {\n const alignOffsetFactor = align === RdxPopoverAlign.End ? -1 : 1;\n\n position.offsetX = alignOffsetFactor * alignOffset;\n }\n\n return position;\n}\n\nexport function getArrowPositionParams(\n sideAndAlign: RdxSideAndAlign,\n arrowWidthAndHeight: { width: number; height: number },\n triggerWidthAndHeight: { width: number; height: number }\n): RdxArrowPositionParams {\n const posParams = {\n top: '',\n bottom: '',\n left: '',\n right: '',\n transform: ''\n };\n\n if ([RdxPopoverSide.Top, RdxPopoverSide.Bottom].includes(sideAndAlign.side)) {\n if (sideAndAlign.side === RdxPopoverSide.Top) {\n posParams.top = '100%';\n } else {\n posParams.top = `-${arrowWidthAndHeight.height}px`;\n posParams.transform = `rotate(180deg)`;\n }\n\n if (sideAndAlign.align === RdxPopoverAlign.Start) {\n posParams.left = `${(triggerWidthAndHeight.width - arrowWidthAndHeight.width) / 2}px`;\n } else if (sideAndAlign.align === RdxPopoverAlign.Center) {\n posParams.left = `calc(50% - ${arrowWidthAndHeight.width / 2}px)`;\n } else if (sideAndAlign.align === RdxPopoverAlign.End) {\n posParams.right = `${(triggerWidthAndHeight.width - arrowWidthAndHeight.width) / 2}px`;\n }\n } else if ([RdxPopoverSide.Left, RdxPopoverSide.Right].includes(sideAndAlign.side)) {\n if (sideAndAlign.side === RdxPopoverSide.Left) {\n posParams.right = `-${arrowWidthAndHeight.width}px`;\n posParams.transform = `rotate(-90deg) translate(0, -50%)`;\n } else {\n posParams.left = `-${arrowWidthAndHeight.width}px`;\n posParams.transform = `rotate(90deg) translate(0, -50%)`;\n }\n\n if (sideAndAlign.align === RdxPopoverAlign.Start) {\n posParams.top = `${(triggerWidthAndHeight.height - arrowWidthAndHeight.height) / 2}px`;\n } else if (sideAndAlign.align === RdxPopoverAlign.Center) {\n posParams.top = `calc(50% - ${arrowWidthAndHeight.height / 2}px)`;\n } else if (sideAndAlign.align === RdxPopoverAlign.End) {\n posParams.bottom = `${(triggerWidthAndHeight.height - arrowWidthAndHeight.height) / 2}px`;\n }\n }\n\n return posParams;\n}\n","import { ConnectedOverlayPositionChange } from '@angular/cdk/overlay';\nimport {\n AfterViewInit,\n computed,\n Directive,\n effect,\n ElementRef,\n forwardRef,\n inject,\n input,\n Renderer2,\n signal,\n untracked\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { RdxPopoverArrowToken } from './popover-arrow.token';\nimport { injectPopoverRoot } from './popover-root.inject';\nimport { getArrowPositionParams, getSideAndAlignFromAllPossibleConnectedPositions } from './popover.utils';\n\n@Directive({\n selector: '[rdxPopoverArrow]',\n standalone: true,\n providers: [\n {\n provide: RdxPopoverArrowToken,\n useExisting: forwardRef(() => RdxPopoverArrowDirective)\n }\n ]\n})\nexport class RdxPopoverArrowDirective implements AfterViewInit {\n /** @ignore */\n private readonly renderer = inject(Renderer2);\n /** @ignore */\n private readonly popoverRoot = injectPopoverRoot();\n /** @ignore */\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /**\n * The width of the arrow in pixels.\n */\n readonly width = input<number>(10);\n\n /**\n * The height of the arrow in pixels.\n */\n readonly height = input<number>(5);\n\n /** @ignore */\n readonly arrowSvgElement = computed<HTMLElement>(() => {\n const width = this.width();\n const height = this.height();\n\n const svgElement = this.renderer.createElement('svg', 'svg');\n this.renderer.setAttribute(svgElement, 'viewBox', '0 0 30 10');\n this.renderer.setAttribute(svgElement, 'width', String(width));\n this.renderer.setAttribute(svgElement, 'height', String(height));\n const polygonElement = this.renderer.createElement('polygon', 'svg');\n this.renderer.setAttribute(polygonElement, 'points', '0,0 30,0 15,10');\n this.renderer.setAttribute(svgElement, 'preserveAspectRatio', 'none');\n this.renderer.appendChild(svgElement, polygonElement);\n\n return svgElement;\n });\n\n /** @ignore */\n private readonly currentArrowSvgElement = signal<HTMLOrSVGElement | undefined>(void 0);\n /** @ignore */\n private readonly position = toSignal(this.popoverRoot.popoverContentDirective().positionChange());\n\n /** @ignore */\n private triggerRect: DOMRect;\n\n constructor() {\n this.onArrowSvgElementChangeEffect();\n this.onContentPositionChangeEffect();\n }\n\n /** @ignore */\n ngAfterViewInit() {\n if (this.elementRef.nativeElement.parentElement) {\n this.renderer.setStyle(this.elementRef.nativeElement.parentElement, 'position', 'relative');\n }\n this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'absolute');\n this.renderer.setStyle(this.elementRef.nativeElement, 'boxSizing', '');\n this.renderer.setStyle(this.elementRef.nativeElement, 'fontSize', '0px');\n this.triggerRect = this.popoverRoot.popoverTriggerDirective().elementRef.nativeElement.getBoundingClientRect();\n }\n\n /** @ignore */\n private setPosition(position: ConnectedOverlayPositionChange) {\n const posParams = getArrowPositionParams(\n getSideAndAlignFromAllPossibleConnectedPositions(position.connectionPair),\n { width: this.width(), height: this.height() },\n { width: this.triggerRect.width, height: this.triggerRect.height }\n );\n\n this.renderer.setStyle(this.elementRef.nativeElement, 'top', posParams.top);\n this.renderer.setStyle(this.elementRef.nativeElement, 'bottom', posParams.bottom);\n this.renderer.setStyle(this.elementRef.nativeElement, 'left', posParams.left);\n this.renderer.setStyle(this.elementRef.nativeElement, 'right', posParams.right);\n this.renderer.setStyle(this.elementRef.nativeElement, 'transform', posParams.transform);\n }\n\n /** @ignore */\n private onArrowSvgElementChangeEffect() {\n effect(() => {\n const arrowElement = this.arrowSvgElement();\n untracked(() => {\n const currentArrowSvgElement = this.currentArrowSvgElement();\n if (currentArrowSvgElement) {\n this.renderer.removeChild(this.elementRef.nativeElement, currentArrowSvgElement);\n }\n this.currentArrowSvgElement.set(arrowElement);\n this.renderer.setStyle(this.elementRef.nativeElement, 'width', `${this.width()}px`);\n this.renderer.setStyle(this.elementRef.nativeElement, 'height', `${this.height()}px`);\n this.renderer.appendChild(this.elementRef.nativeElement, this.currentArrowSvgElement());\n });\n });\n }\n\n /** @ignore */\n private onContentPositionChangeEffect() {\n effect(() => {\n const position = this.position();\n untracked(() => {\n if (!position) {\n return;\n }\n this.setPosition(position);\n });\n });\n }\n}\n","import { Directive, effect, ElementRef, inject, Renderer2, untracked } from '@angular/core';\nimport { injectPopoverRoot } from './popover-root.inject';\n\n@Directive({\n selector: '[rdxPopoverClose]',\n standalone: true,\n host: {\n type: 'button',\n '(click)': 'popoverRoot.handleClose()'\n }\n})\nexport class RdxPopoverCloseDirective {\n /** @ignore */\n readonly popoverRoot = injectPopoverRoot();\n /** @ignore */\n readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef<HTMLElement>);\n /** @ignore */\n private readonly renderer = inject(Renderer2);\n\n constructor() {\n this.onIsControlledExternallyEffect();\n }\n\n /** @ignore */\n private onIsControlledExternallyEffect() {\n effect(() => {\n const isControlledExternally = this.popoverRoot.controlledExternally()();\n\n untracked(() => {\n this.renderer.setStyle(\n this.elementRef.nativeElement,\n 'display',\n isControlledExternally ? 'none' : null\n );\n });\n });\n }\n}\n","import { CdkConnectedOverlay, Overlay } from '@angular/cdk/overlay';\nimport {\n computed,\n DestroyRef,\n Directive,\n effect,\n inject,\n input,\n OnInit,\n output,\n SimpleChange,\n TemplateRef,\n untracked\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { filter, tap } from 'rxjs';\nimport { injectPopoverRoot } from './popover-root.inject';\nimport { DEFAULTS } from './popover.constants';\nimport { RdxPopoverAlign, RdxPopoverSide, RdxSideAndAlignOffsets } from './popover.types';\nimport { getAllPossibleConnectedPositions, getContentPosition } from './popover.utils';\n\n@Directive({\n selector: '[rdxPopoverContent]',\n standalone: true,\n hostDirectives: [\n {\n directive: CdkConnectedOverlay\n }\n ]\n})\nexport class RdxPopoverContentDirective implements OnInit {\n /** @ignore */\n readonly popoverRoot = injectPopoverRoot();\n /** @ignore */\n readonly templateRef = inject(TemplateRef);\n /** @ignore */\n readonly overlay = inject(Overlay);\n /** @ignore */\n readonly destroyRef = inject(DestroyRef);\n /** @ignore */\n private readonly connectedOverlay = inject(CdkConnectedOverlay);\n\n /**\n * The preferred side of the trigger to render against when open. Will be reversed when collisions occur and avoidCollisions is enabled.\n */\n readonly side = input<RdxPopoverSide>(RdxPopoverSide.Top);\n /**\n * The distance in pixels from the trigger.\n */\n readonly sideOffset = input<number | undefined>(void 0);\n\n /**\n * The preferred alignment against the trigger. May change when collisions occur.\n */\n readonly align = input<RdxPopoverAlign>(RdxPopoverAlign.Center);\n /**\n * An offset in pixels from the \"start\" or \"end\" alignment options.\n */\n readonly alignOffset = input<number | undefined>(void 0);\n\n /**\n * Whether to add some alternate positions of the content.\n */\n readonly disableAlternatePositions = input(false);\n\n /** @ingore */\n readonly positions = computed(() => {\n const greatestDimensionFromTheArrow = Math.max(\n this.popoverRoot.popoverArrowDirective()?.width() ?? 0,\n this.popoverRoot.popoverArrowDirective()?.height() ?? 0\n );\n const offsets: RdxSideAndAlignOffsets = {\n sideOffset: this.sideOffset() ?? (greatestDimensionFromTheArrow || DEFAULTS.offsets.side),\n alignOffset: this.alignOffset() ?? (greatestDimensionFromTheArrow || DEFAULTS.offsets.align)\n };\n const basePosition = getContentPosition({\n side: this.side(),\n align: this.align(),\n sideOffset: offsets.sideOffset,\n alignOffset: offsets.alignOffset\n });\n const positions = [basePosition];\n if (!this.disableAlternatePositions()) {\n /**\n * Alternate positions for better user experience along the X/Y axis (e.g. vertical/horizontal scrolling)\n */\n const allPossibleConnectedPositions = getAllPossibleConnectedPositions();\n allPossibleConnectedPositions.forEach((value, key) => {\n const sideAndAlignArray = key.split('|');\n if (\n (sideAndAlignArray[0] as RdxPopoverSide) !== this.side() ||\n (sideAndAlignArray[1] as RdxPopoverAlign) !== this.align()\n ) {\n positions.push(\n getContentPosition({\n side: sideAndAlignArray[0] as RdxPopoverSide,\n align: sideAndAlignArray[1] as RdxPopoverAlign,\n sideOffset: offsets.sideOffset,\n alignOffset: offsets.alignOffset\n })\n );\n }\n });\n }\n return positions;\n });\n\n /**\n * Event handler called when the escape key is down. It can be prevented by calling event.preventDefault.\n */\n readonly onEscapeKeyDown = output<KeyboardEvent>();\n\n /**\n * Event handler called when a pointer event occurs outside the bounds of the component. It can be prevented by calling event.preventDefault.\n */\n readonly onPointerDownOutside = output<MouseEvent>();\n\n /**\n * Event handler called when the overlay is atached\n */\n readonly onShow = output<void>();\n /**\n * Event handler called when the overlay is detached\n */\n readonly onHide = output<void>();\n\n constructor() {\n this.onPositionChangeEffect();\n this.onControlledExternallyChangeEffect();\n }\n\n /** @ignore */\n ngOnInit() {\n this.setOrigin();\n this.setScrollStrategy();\n this.onAttach();\n this.onDetach();\n this.connectKeydownEscape();\n this.connectOutsideClick();\n }\n\n /** @ignore */\n show() {\n const prevOpen = this.connectedOverlay.open;\n this.connectedOverlay.open = true;\n if (!prevOpen) {\n this.connectedOverlay.ngOnChanges({ open: new SimpleChange(prevOpen, true, false) });\n }\n }\n\n /** @ignore */\n hide() {\n const prevOpen = this.connectedOverlay.open;\n this.connectedOverlay.open = false;\n if (prevOpen) {\n this.connectedOverlay.ngOnChanges({ open: new SimpleChange(prevOpen, false, false) });\n }\n }\n\n /** @ignore */\n positionChange() {\n return this.connectedOverlay.positionChange.asObservable();\n }\n\n /** @ignore */\n private connectKeydownEscape() {\n this.connectedOverlay.overlayKeydown\n .asObservable()\n .pipe(\n filter((event) => event.key === 'Escape'),\n tap((event) => {\n this.onEscapeKeyDown.emit(event);\n if (!event.defaultPrevented) {\n this.popoverRoot.handleClose();\n }\n }),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe();\n }\n\n /** @ignore */\n private connectOutsideClick() {\n this.connectedOverlay.overlayOutsideClick\n .asObservable()\n .pipe(\n tap((event) => {\n this.onPointerDownOutside.emit(event);\n }),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe();\n }\n\n /** @ignore */\n private onAttach() {\n this.connectedOverlay.attach\n .asObservable()\n .pipe(\n tap(() => {\n this.onShow.emit();\n }),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe();\n }\n\n /** @ignore */\n private onDetach() {\n this.connectedOverlay.detach\n .asObservable()\n .pipe(\n tap(() => {\n this.onHide.emit();\n }),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe();\n }\n\n /** @ignore */\n private setScrollStrategy() {\n const prevScrollStrategy = this.connectedOverlay.scrollStrategy;\n this.connectedOverlay.scrollStrategy = this.overlay.scrollStrategies.reposition();\n this.connectedOverlay.ngOnChanges({\n scrollStrategy: new SimpleChange(prevScrollStrategy, this.connectedOverlay.scrollStrategy, false)\n });\n }\n\n /** @ignore */\n private setDisableClose() {\n const prevDisableClose = this.connectedOverlay.disableClose;\n this.connectedOverlay.disableClose = this.popoverRoot.controlledExternally()();\n this.connectedOverlay.ngOnChanges({\n disableClose: new SimpleChange(prevDisableClose, this.connectedOverlay.disableClose, false)\n });\n }\n\n /** @ignore */\n private setOrigin() {\n const prevOrigin = this.connectedOverlay.origin;\n this.connectedOverlay.origin = this.popoverRoot.popoverTriggerDirective().overlayOrigin;\n this.connectedOverlay.ngOnChanges({\n origin: new SimpleChange(prevOrigin, this.connectedOverlay.origin, false)\n });\n }\n\n /** @ignore */\n private onPositionChangeEffect() {\n effect(() => {\n const positions = this.positions();\n this.disableAlternatePositions();\n untracked(() => {\n const prevPositions = this.connectedOverlay.positions;\n this.connectedOverlay.positions = positions;\n this.connectedOverlay.ngOnChanges({\n positions: new SimpleChange(prevPositions, this.connectedOverlay.positions, false)\n });\n this.connectedOverlay.overlayRef?.updatePosition();\n });\n });\n }\n\n /** @ignore */\n private onControlledExternallyChangeEffect() {\n effect(() => {\n this.popoverRoot.controlledExternally()();\n untracked(() => {\n this.setDisableClose();\n });\n });\n }\n}\n","import { CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport { computed, Directive, ElementRef, inject, input } from '@angular/core';\nimport { injectPopoverRoot } from './popover-root.inject';\n\nlet nextId = 0;\n\n@Directive({\n selector: '[rdxPopoverTrigger]',\n standalone: true,\n hostDirectives: [CdkOverlayOrigin],\n host: {\n type: 'button',\n '[attr.id]': 'id()',\n '[attr.aria-haspopup]': '\"dialog\"',\n '[attr.aria-expanded]': 'popoverRoot.isOpen()',\n '[attr.aria-controls]': 'popoverId()',\n '[attr.data-state]': 'popoverRoot.state()',\n '(click)': 'onClick()'\n }\n})\nexport class RdxPopoverTriggerDirective {\n readonly id = input(`rdx-popover-root-${nextId++}`);\n readonly popoverId = computed(() => `rdx-popover-${this.id()}`);\n\n /** @ignore */\n readonly popoverRoot = injectPopoverRoot();\n /** @ignore */\n readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef<HTMLElement>);\n /** @ignore */\n readonly overlayOrigin = inject(CdkOverlayOrigin);\n\n /** @ignore */\n onClick(): void {\n this.popoverRoot.handleToggle();\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n computed,\n contentChild,\n Directive,\n effect,\n forwardRef,\n inject,\n input,\n OnInit,\n output,\n signal,\n untracked,\n ViewContainerRef\n} from '@angular/core';\nimport { RdxPopoverArrowToken } from './popover-arrow.token';\nimport { RdxPopoverContentDirective } from './popover-content.directive';\nimport { RdxPopoverRootToken } from './popover-root.token';\nimport { RdxPopoverTriggerDirective } from './popover-trigger.directive';\nimport { RdxPopoverState } from './popover.types';\n\n@Directive({\n selector: '[rdxPopoverRoot]',\n standalone: true,\n providers: [\n {\n provide: RdxPopoverRootToken,\n useExisting: forwardRef(() => RdxPopoverRootDirective)\n }\n ],\n exportAs: 'rdxPopoverRoot'\n})\nexport class RdxPopoverRootDirective implements OnInit {\n /**\n * The open state of the popover when it is initially rendered. Use when you do not need to control its open state.\n */\n readonly defaultOpen = input<boolean>(false);\n /**\n * The controlled open state of the popover. Must be used in conjunction with onOpenChange.\n */\n readonly open = input<boolean | undefined>();\n\n /**\n * Event handler called when the open state of the popover changes.\n */\n readonly onOpenChange = output<boolean>();\n\n /** @ignore */\n readonly popoverContentDirective = contentChild.required(RdxPopoverContentDirective);\n /** @ignore */\n readonly popoverTriggerDirective = contentChild.required(RdxPopoverTriggerDirective);\n /** @ignore */\n readonly popoverArrowDirective = contentChild(RdxPopoverArrowToken);\n\n /** @ignore */\n readonly viewContainerRef = inject(ViewContainerRef);\n /** @ignore */\n private readonly document = inject(DOCUMENT);\n\n /** @ignore */\n readonly isOpen = signal<boolean>(this.defaultOpen());\n /** @ignore */\n readonly state = computed<RdxPopoverState>(() => {\n const currentIsOpen = this.isOpen();\n if (currentIsOpen) {\n return 'open';\n }\n return 'closed';\n });\n\n /** @ignore */\n private isControlledExternally = computed(() => signal(this.open() !== void 0));\n\n constructor() {\n this.onOpenChangeEffect();\n this.onIsOpenChangeEffect();\n }\n\n /** @ignore */\n ngOnInit(): void {\n if (this.defaultOpen()) {\n this.handleOpen();\n }\n }\n\n /** @ignore */\n controlledExternally() {\n return this.isControlledExternally().asReadonly();\n }\n\n /** @ignore */\n handleOpen(): void {\n if (this.isControlledExternally()()) {\n return;\n }\n this.setOpen(true);\n }\n\n /** @ignore */\n handleClose(): void {\n if (this.isControlledExternally()()) {\n return;\n }\n this.setOpen(false);\n }\n\n /** @ignore */\n handleToggle(): void {\n if (this.isControlledExternally()()) {\n return;\n }\n this.isOpen() ? this.handleClose() : this.handleOpen();\n }\n\n /** @ignore */\n private setOpen(open = false): void {\n if (open) {\n this.document.dispatchEvent(new CustomEvent('popover.open'));\n }\n\n this.isOpen.set(open);\n this.onOpenChange.emit(open);\n }\n\n /** @ignore */\n private show(): void {\n this.popoverContentDirective().show();\n }\n\n /** @ignore */\n private hide(): void {\n this.popoverContentDirective().hide();\n }\n\n /** @ignore */\n private onIsOpenChangeEffect() {\n effect(() => {\n const isOpen = this.isOpen();\n\n untracked(() => {\n if (isOpen) {\n this.show();\n } else {\n this.hide();\n }\n });\n });\n }\n\n /** @ignore */\n private onOpenChangeEffect() {\n effect(() => {\n const currentOpen = this.open();\n\n untracked(() => {\n this.isControlledExternally().set(currentOpen !== void 0);\n if (this.isControlledExternally()()) {\n this.setOpen(currentOpen);\n }\n });\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RdxPopoverArrowDirective } from './src/popover-arrow.directive';\nimport { RdxPopoverCloseDirective } from './src/popover-close.directive';\nimport { RdxPopoverContentDirective } from './src/popover-content.directive';\nimport { RdxPopoverRootDirective } from './src/popover-root.directive';\nimport { RdxPopoverTriggerDirective } from './src/popover-trigger.directive';\n\nexport * from './src/popover-arrow.directive';\nexport * from './src/popover-close.directive';\nexport * from './src/popover-content.directive';\nexport * from './src/popover-root.directive';\nexport * from './src/popover-trigger.directive';\nexport * from './src/popover.types';\n\nconst _imports = [\n RdxPopoverArrowDirective,\n RdxPopoverCloseDirective,\n RdxPopoverContentDirective,\n RdxPopoverTriggerDirective,\n RdxPopoverRootDirective\n];\n\n@NgModule({\n imports: [..._imports],\n exports: [..._imports]\n})\nexport class RdxPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"radix-ng-primitives-popover.mjs","sources":["../../../packages/primitives/popover/src/popover-arrow.token.ts","../../../packages/primitives/popover/src/popover-root.token.ts","../../../packages/primitives/popover/src/popover-root.inject.ts","../../../packages/primitives/popover/src/popover.types.ts","../../../packages/primitives/popover/src/popover.constants.ts","../../../packages/primitives/popover/src/popover.utils.ts","../../../packages/primitives/popover/src/popover-arrow.directive.ts","../../../packages/primitives/popover/src/popover-close.directive.ts","../../../packages/primitives/popover/src/popover-content.directive.ts","../../../packages/primitives/popover/src/popover-trigger.directive.ts","../../../packages/primitives/popover/src/popover-root.directive.ts","../../../packages/primitives/popover/index.ts","../../../packages/primitives/popover/radix-ng-primitives-popover.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { RdxPopoverArrowDirective } from './popover-arrow.directive';\n\nexport const RdxPopoverArrowToken = new InjectionToken<RdxPopoverArrowDirective>('RdxPopoverArrowToken');\n","import { InjectionToken } from '@angular/core';\nimport { RdxPopoverRootDirective } from './popover-root.directive';\n\nexport const RdxPopoverRootToken = new InjectionToken<RdxPopoverRootDirective>('RdxPopoverRootToken');\n","import { assertInInjectionContext, inject, isDevMode } from '@angular/core';\nimport { RdxPopoverRootDirective } from './popover-root.directive';\nimport { RdxPopoverRootToken } from './popover-root.token';\n\nexport function injectPopoverRoot(): RdxPopoverRootDirective {\n isDevMode() && assertInInjectionContext(injectPopoverRoot);\n return inject(RdxPopoverRootToken);\n}\n","import { ConnectionPositionPair } from '@angular/cdk/overlay';\n\nexport enum RdxPopoverSide {\n Top = 'top',\n Right = 'right',\n Bottom = 'bottom',\n Left = 'left'\n}\n\nexport enum RdxPopoverAlign {\n Start = 'start',\n Center = 'center',\n End = 'end'\n}\n\nexport type RdxPopoverState = 'open' | 'closed';\n\nexport type RdxSideAndAlign = { side: RdxPopoverSide; align: RdxPopoverAlign };\nexport type RdxSideAndAlignOffsets = { sideOffset: number; alignOffset: number };\n\nexport type RdxPopoverPositions = {\n [key in RdxPopoverSide]: {\n [key in RdxPopoverAlign]: ConnectionPositionPair;\n };\n};\n\nexport type RdxAllPossibleConnectedPositions = ReadonlyMap<\n `${RdxPopoverSide}|${RdxPopoverAlign}`,\n ConnectionPositionPair\n>;\n\nexport type RdxArrowPositionParams = {\n top: string;\n bottom: string;\n left: string;\n right: string;\n transform: string;\n};\n","import { RdxPopoverAlign, RdxPopoverPositions, RdxPopoverSide } from './popover.types';\n\nexport const POPOVER_POSITIONS: RdxPopoverPositions = {\n [RdxPopoverSide.Top]: {\n [RdxPopoverAlign.Center]: {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom'\n },\n [RdxPopoverAlign.Start]: {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom'\n },\n [RdxPopoverAlign.End]: {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom'\n }\n },\n [RdxPopoverSide.Right]: {\n [RdxPopoverAlign.Center]: {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center'\n },\n [RdxPopoverAlign.Start]: {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top'\n },\n [RdxPopoverAlign.End]: {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom'\n }\n },\n [RdxPopoverSide.Bottom]: {\n [RdxPopoverAlign.Center]: {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top'\n },\n [RdxPopoverAlign.Start]: {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top'\n },\n [RdxPopoverAlign.End]: {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top'\n }\n },\n [RdxPopoverSide.Left]: {\n [RdxPopoverAlign.Center]: {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center'\n },\n [RdxPopoverAlign.Start]: {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top'\n },\n [RdxPopoverAlign.End]: {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom'\n }\n }\n} as const;\n\nexport const DEFAULTS = {\n offsets: {\n side: 10,\n align: 0\n }\n} as const;\n","import { ConnectedPosition, ConnectionPositionPair } from '@angular/cdk/overlay';\nimport { POPOVER_POSITIONS } from './popover.constants';\nimport {\n RdxAllPossibleConnectedPositions,\n RdxArrowPositionParams,\n RdxPopoverAlign,\n RdxPopoverSide,\n RdxSideAndAlign,\n RdxSideAndAlignOffsets\n} from './popover.types';\n\nlet allPossibleConnectedPositions: RdxAllPossibleConnectedPositions;\nexport function getAllPossibleConnectedPositions() {\n if (!allPossibleConnectedPositions) {\n allPossibleConnectedPositions = new Map();\n }\n if (allPossibleConnectedPositions.size < 1) {\n Object.keys(POPOVER_POSITIONS).forEach((side) => {\n Object.keys(POPOVER_POSITIONS[side as RdxPopoverSide] ?? {}).forEach((align) => {\n (allPossibleConnectedPositions as Map<any, any>).set(\n `${side as RdxPopoverSide}|${align as RdxPopoverAlign}`,\n POPOVER_POSITIONS[side as RdxPopoverSide][align as RdxPopoverAlign]\n );\n });\n });\n }\n return allPossibleConnectedPositions;\n}\n\nexport function getSideAndAlignFromAllPossibleConnectedPositions(position: ConnectionPositionPair): RdxSideAndAlign {\n const allPossibleConnectedPositions = getAllPossibleConnectedPositions();\n let sideAndAlign: RdxSideAndAlign | undefined;\n allPossibleConnectedPositions.forEach((value, key) => {\n if (\n position.originX === value.originX &&\n position.originY === value.originY &&\n position.overlayX === value.overlayX &&\n position.overlayY === value.overlayY\n ) {\n const sideAndAlignArray = key.split('|');\n sideAndAlign = {\n side: sideAndAlignArray[0] as RdxPopoverSide,\n align: sideAndAlignArray[1] as RdxPopoverAlign\n };\n }\n });\n if (!sideAndAlign) {\n throw Error(\n `[RdxPopover] cannot infer both side and align from the given position (${JSON.stringify(position)})`\n );\n }\n return sideAndAlign;\n}\n\nexport function getContentPosition(\n sideAndAlignWithOffsets: RdxSideAndAlign & RdxSideAndAlignOffsets\n): ConnectedPosition {\n const { side, align, sideOffset, alignOffset } = sideAndAlignWithOffsets;\n\n const position = {\n ...(POPOVER_POSITIONS[side]?.[align] ?? POPOVER_POSITIONS[RdxPopoverSide.Top][RdxPopoverAlign.Center])\n };\n\n if (sideOffset > 0) {\n let xFactor = 0;\n let yFactor = 0;\n\n switch (side) {\n case RdxPopoverSide.Top:\n yFactor = -1;\n break;\n case RdxPopoverSide.Bottom:\n yFactor = 1;\n break;\n case RdxPopoverSide.Left:\n xFactor = -1;\n break;\n case RdxPopoverSide.Right:\n xFactor = 1;\n break;\n }\n\n position.offsetX = xFactor * sideOffset;\n position.offsetY = yFactor * sideOffset;\n }\n\n if ([RdxPopoverAlign.Start, RdxPopoverAlign.End].includes(align) && alignOffset) {\n const alignOffsetFactor = align === RdxPopoverAlign.End ? -1 : 1;\n\n position.offsetX = alignOffsetFactor * alignOffset;\n }\n\n return position;\n}\n\nexport function getArrowPositionParams(\n sideAndAlign: RdxSideAndAlign,\n arrowWidthAndHeight: { width: number; height: number },\n triggerWidthAndHeight: { width: number; height: number }\n): RdxArrowPositionParams {\n const posParams = {\n top: '',\n bottom: '',\n left: '',\n right: '',\n transform: ''\n };\n\n if ([RdxPopoverSide.Top, RdxPopoverSide.Bottom].includes(sideAndAlign.side)) {\n if (sideAndAlign.side === RdxPopoverSide.Top) {\n posParams.top = '100%';\n } else {\n posParams.top = `-${arrowWidthAndHeight.height}px`;\n posParams.transform = `rotate(180deg)`;\n }\n\n if (sideAndAlign.align === RdxPopoverAlign.Start) {\n posParams.left = `${(triggerWidthAndHeight.width - arrowWidthAndHeight.width) / 2}px`;\n } else if (sideAndAlign.align === RdxPopoverAlign.Center) {\n posParams.left = `calc(50% - ${arrowWidthAndHeight.width / 2}px)`;\n } else if (sideAndAlign.align === RdxPopoverAlign.End) {\n posParams.right = `${(triggerWidthAndHeight.width - arrowWidthAndHeight.width) / 2}px`;\n }\n } else if ([RdxPopoverSide.Left, RdxPopoverSide.Right].includes(sideAndAlign.side)) {\n if (sideAndAlign.side === RdxPopoverSide.Left) {\n posParams.right = `-${arrowWidthAndHeight.width}px`;\n posParams.transform = `rotate(-90deg) translate(0, -50%)`;\n } else {\n posParams.left = `-${arrowWidthAndHeight.width}px`;\n posParams.transform = `rotate(90deg) translate(0, -50%)`;\n }\n\n if (sideAndAlign.align === RdxPopoverAlign.Start) {\n posParams.top = `${(triggerWidthAndHeight.height - arrowWidthAndHeight.height) / 2}px`;\n } else if (sideAndAlign.align === RdxPopoverAlign.Center) {\n posParams.top = `calc(50% - ${arrowWidthAndHeight.height / 2}px)`;\n } else if (sideAndAlign.align === RdxPopoverAlign.End) {\n posParams.bottom = `${(triggerWidthAndHeight.height - arrowWidthAndHeight.height) / 2}px`;\n }\n }\n\n return posParams;\n}\n","import { ConnectedOverlayPositionChange } from '@angular/cdk/overlay';\nimport {\n AfterViewInit,\n computed,\n Directive,\n effect,\n ElementRef,\n forwardRef,\n inject,\n input,\n Renderer2,\n signal,\n untracked\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { RdxPopoverArrowToken } from './popover-arrow.token';\nimport { injectPopoverRoot } from './popover-root.inject';\nimport { getArrowPositionParams, getSideAndAlignFromAllPossibleConnectedPositions } from './popover.utils';\n\n@Directive({\n selector: '[rdxPopoverArrow]',\n standalone: true,\n providers: [\n {\n provide: RdxPopoverArrowToken,\n useExisting: forwardRef(() => RdxPopoverArrowDirective)\n }\n ]\n})\nexport class RdxPopoverArrowDirective implements AfterViewInit {\n /** @ignore */\n private readonly renderer = inject(Renderer2);\n /** @ignore */\n private readonly popoverRoot = injectPopoverRoot();\n /** @ignore */\n private readonly elementRef = inject(ElementRef);\n\n /**\n * The width of the arrow in pixels.\n */\n readonly width = input<number>(10);\n\n /**\n * The height of the arrow in pixels.\n */\n readonly height = input<number>(5);\n\n /** @ignore */\n readonly arrowSvgElement = computed<HTMLElement>(() => {\n const width = this.width();\n const height = this.height();\n\n const svgElement = this.renderer.createElement('svg', 'svg');\n this.renderer.setAttribute(svgElement, 'viewBox', '0 0 30 10');\n this.renderer.setAttribute(svgElement, 'width', String(width));\n this.renderer.setAttribute(svgElement, 'height', String(height));\n const polygonElement = this.renderer.createElement('polygon', 'svg');\n this.renderer.setAttribute(polygonElement, 'points', '0,0 30,0 15,10');\n this.renderer.setAttribute(svgElement, 'preserveAspectRatio', 'none');\n this.renderer.appendChild(svgElement, polygonElement);\n\n return svgElement;\n });\n\n /** @ignore */\n private readonly currentArrowSvgElement = signal<HTMLOrSVGElement | undefined>(void 0);\n /** @ignore */\n private readonly position = toSignal(this.popoverRoot.popoverContentDirective().positionChange());\n\n /** @ignore */\n private triggerRect: DOMRect;\n\n constructor() {\n this.onArrowSvgElementChangeEffect();\n this.onContentPositionChangeEffect();\n }\n\n /** @ignore */\n ngAfterViewInit() {\n if (this.elementRef.nativeElement.parentElement) {\n this.renderer.setStyle(this.elementRef.nativeElement.parentElement, 'position', 'relative');\n }\n this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'absolute');\n this.renderer.setStyle(this.elementRef.nativeElement, 'boxSizing', '');\n this.renderer.setStyle(this.elementRef.nativeElement, 'fontSize', '0px');\n this.triggerRect = this.popoverRoot.popoverTriggerDirective().elementRef.nativeElement.getBoundingClientRect();\n }\n\n /** @ignore */\n private setPosition(position: ConnectedOverlayPositionChange) {\n const posParams = getArrowPositionParams(\n getSideAndAlignFromAllPossibleConnectedPositions(position.connectionPair),\n { width: this.width(), height: this.height() },\n { width: this.triggerRect.width, height: this.triggerRect.height }\n );\n\n this.renderer.setStyle(this.elementRef.nativeElement, 'top', posParams.top);\n this.renderer.setStyle(this.elementRef.nativeElement, 'bottom', posParams.bottom);\n this.renderer.setStyle(this.elementRef.nativeElement, 'left', posParams.left);\n this.renderer.setStyle(this.elementRef.nativeElement, 'right', posParams.right);\n this.renderer.setStyle(this.elementRef.nativeElement, 'transform', posParams.transform);\n }\n\n /** @ignore */\n private onArrowSvgElementChangeEffect() {\n effect(() => {\n const arrowElement = this.arrowSvgElement();\n untracked(() => {\n const currentArrowSvgElement = this.currentArrowSvgElement();\n if (currentArrowSvgElement) {\n this.renderer.removeChild(this.elementRef.nativeElement, currentArrowSvgElement);\n }\n this.currentArrowSvgElement.set(arrowElement);\n this.renderer.setStyle(this.elementRef.nativeElement, 'width', `${this.width()}px`);\n this.renderer.setStyle(this.elementRef.nativeElement, 'height', `${this.height()}px`);\n this.renderer.appendChild(this.elementRef.nativeElement, this.currentArrowSvgElement());\n });\n });\n }\n\n /** @ignore */\n private onContentPositionChangeEffect() {\n effect(() => {\n const position = this.position();\n untracked(() => {\n if (!position) {\n return;\n }\n this.setPosition(position);\n });\n });\n }\n}\n","import { Directive, effect, ElementRef, inject, Renderer2, untracked } from '@angular/core';\nimport { injectPopoverRoot } from './popover-root.inject';\n\n@Directive({\n selector: '[rdxPopoverClose]',\n standalone: true,\n host: {\n type: 'button',\n '(click)': 'popoverRoot.handleClose()'\n }\n})\nexport class RdxPopoverCloseDirective {\n /** @ignore */\n readonly popoverRoot = injectPopoverRoot();\n /** @ignore */\n readonly elementRef = inject(ElementRef);\n /** @ignore */\n private readonly renderer = inject(Renderer2);\n\n constructor() {\n this.onIsControlledExternallyEffect();\n }\n\n /** @ignore */\n private onIsControlledExternallyEffect() {\n effect(() => {\n const isControlledExternally = this.popoverRoot.controlledExternally()();\n\n untracked(() => {\n this.renderer.setStyle(\n this.elementRef.nativeElement,\n 'display',\n isControlledExternally ? 'none' : null\n );\n });\n });\n }\n}\n","import { CdkConnectedOverlay, Overlay } from '@angular/cdk/overlay';\nimport {\n computed,\n DestroyRef,\n Directive,\n effect,\n inject,\n input,\n OnInit,\n output,\n SimpleChange,\n TemplateRef,\n untracked\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { filter, tap } from 'rxjs';\nimport { injectPopoverRoot } from './popover-root.inject';\nimport { DEFAULTS } from './popover.constants';\nimport { RdxPopoverAlign, RdxPopoverSide, RdxSideAndAlignOffsets } from './popover.types';\nimport { getAllPossibleConnectedPositions, getContentPosition } from './popover.utils';\n\n@Directive({\n selector: '[rdxPopoverContent]',\n standalone: true,\n hostDirectives: [\n CdkConnectedOverlay\n ]\n})\nexport class RdxPopoverContentDirective implements OnInit {\n /** @ignore */\n readonly popoverRoot = injectPopoverRoot();\n /** @ignore */\n readonly templateRef = inject(TemplateRef);\n /** @ignore */\n readonly overlay = inject(Overlay);\n /** @ignore */\n readonly destroyRef = inject(DestroyRef);\n /** @ignore */\n private readonly connectedOverlay = inject(CdkConnectedOverlay);\n\n /**\n * The preferred side of the trigger to render against when open. Will be reversed when collisions occur and avoidCollisions is enabled.\n */\n readonly side = input<RdxPopoverSide>(RdxPopoverSide.Top);\n /**\n * The distance in pixels from the trigger.\n */\n readonly sideOffset = input<number | undefined>(void 0);\n\n /**\n * The preferred alignment against the trigger. May change when collisions occur.\n */\n readonly align = input<RdxPopoverAlign>(RdxPopoverAlign.Center);\n /**\n * An offset in pixels from the \"start\" or \"end\" alignment options.\n */\n readonly alignOffset = input<number | undefined>(void 0);\n\n /**\n * Whether to add some alternate positions of the content.\n */\n readonly disableAlternatePositions = input(false);\n\n /** @ingore */\n readonly positions = computed(() => {\n const greatestDimensionFromTheArrow = Math.max(\n this.popoverRoot.popoverArrowDirective()?.width() ?? 0,\n this.popoverRoot.popoverArrowDirective()?.height() ?? 0\n );\n const offsets: RdxSideAndAlignOffsets = {\n sideOffset: this.sideOffset() ?? (greatestDimensionFromTheArrow || DEFAULTS.offsets.side),\n alignOffset: this.alignOffset() ?? DEFAULTS.offsets.align\n };\n const basePosition = getContentPosition({\n side: this.side(),\n align: this.align(),\n sideOffset: offsets.sideOffset,\n alignOffset: offsets.alignOffset\n });\n const positions = [basePosition];\n if (!this.disableAlternatePositions()) {\n /**\n * Alternate positions for better user experience along the X/Y axis (e.g. vertical/horizontal scrolling)\n */\n const allPossibleConnectedPositions = getAllPossibleConnectedPositions();\n allPossibleConnectedPositions.forEach((_, key) => {\n const sideAndAlignArray = key.split('|');\n if (\n (sideAndAlignArray[0] as RdxPopoverSide) !== this.side() ||\n (sideAndAlignArray[1] as RdxPopoverAlign) !== this.align()\n ) {\n positions.push(\n getContentPosition({\n side: sideAndAlignArray[0] as RdxPopoverSide,\n align: sideAndAlignArray[1] as RdxPopoverAlign,\n sideOffset: offsets.sideOffset,\n alignOffset: offsets.alignOffset\n })\n );\n }\n });\n }\n return positions;\n });\n\n /**\n * Event handler called when the escape key is down. It can be prevented by calling event.preventDefault.\n */\n readonly onEscapeKeyDown = output<KeyboardEvent>();\n\n /**\n * Event handler called when a pointer event occurs outside the bounds of the component. It can be prevented by calling event.preventDefault.\n */\n readonly onPointerDownOutside = output<MouseEvent>();\n\n /**\n * Event handler called when the overlay is atached\n */\n readonly onShow = output<void>();\n /**\n * Event handler called when the overlay is detached\n */\n readonly onHide = output<void>();\n\n constructor() {\n this.onPositionChangeEffect();\n }\n\n /** @ignore */\n ngOnInit() {\n this.setOrigin();\n this.setScrollStrategy();\n this.setDisableClose();\n this.onAttach();\n this.onDetach();\n this.connectKeydownEscape();\n this.connectOutsideClick();\n }\n\n /** @ignore */\n show() {\n const prevOpen = this.connectedOverlay.open;\n this.connectedOverlay.open = true;\n if (!prevOpen) {\n this.connectedOverlay.ngOnChanges({ open: new SimpleChange(prevOpen, true, false) });\n }\n }\n\n /** @ignore */\n hide() {\n const prevOpen = this.connectedOverlay.open;\n this.connectedOverlay.open = false;\n if (prevOpen) {\n this.connectedOverlay.ngOnChanges({ open: new SimpleChange(prevOpen, false, false) });\n }\n }\n\n /** @ignore */\n positionChange() {\n return this.connectedOverlay.positionChange.asObservable();\n }\n\n /** @ignore */\n private connectKeydownEscape() {\n this.connectedOverlay.overlayKeydown\n .asObservable()\n .pipe(\n filter((event) => event.key === 'Escape'),\n tap((event) => {\n this.onEscapeKeyDown.emit(event);\n if (!event.defaultPrevented) {\n this.popoverRoot.handleClose();\n }\n }),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe();\n }\n\n /** @ignore */\n private connectOutsideClick() {\n this.connectedOverlay.overlayOutsideClick\n .asObservable()\n .pipe(\n tap((event) => {\n this.onPointerDownOutside.emit(event);\n if (!event.defaultPrevented) {\n this.popoverRoot.handleClose();\n }\n }),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe();\n }\n\n /** @ignore */\n private onAttach() {\n this.connectedOverlay.attach\n .asObservable()\n .pipe(\n tap(() => {\n this.onShow.emit();\n }),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe();\n }\n\n /** @ignore */\n private onDetach() {\n this.connectedOverlay.detach\n .asObservable()\n .pipe(\n tap(() => {\n this.onHide.emit();\n }),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe();\n }\n\n /** @ignore */\n private setScrollStrategy() {\n const prevScrollStrategy = this.connectedOverlay.scrollStrategy;\n this.connectedOverlay.scrollStrategy = this.overlay.scrollStrategies.reposition();\n this.connectedOverlay.ngOnChanges({\n scrollStrategy: new SimpleChange(prevScrollStrategy, this.connectedOverlay.scrollStrategy, false)\n });\n }\n\n /** @ignore */\n private setDisableClose() {\n const prevDisableClose = this.connectedOverlay.disableClose;\n this.connectedOverlay.disableClose = true;\n this.connectedOverlay.ngOnChanges({\n disableClose: new SimpleChange(prevDisableClose, this.connectedOverlay.disableClose, false)\n });\n }\n\n /** @ignore */\n private setOrigin() {\n const prevOrigin = this.connectedOverlay.origin;\n this.connectedOverlay.origin = this.popoverRoot.popoverTriggerDirective().overlayOrigin;\n this.connectedOverlay.ngOnChanges({\n origin: new SimpleChange(prevOrigin, this.connectedOverlay.origin, false)\n });\n }\n\n /** @ignore */\n private onPositionChangeEffect() {\n effect(() => {\n const positions = this.positions();\n this.disableAlternatePositions();\n untracked(() => {\n const prevPositions = this.connectedOverlay.positions;\n this.connectedOverlay.positions = positions;\n this.connectedOverlay.ngOnChanges({\n positions: new SimpleChange(prevPositions, this.connectedOverlay.positions, false)\n });\n this.connectedOverlay.overlayRef?.updatePosition();\n });\n });\n }\n}\n","import { CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport { computed, Directive, ElementRef, inject } from '@angular/core';\nimport { injectPopoverRoot } from './popover-root.inject';\n\n@Directive({\n selector: '[rdxPopoverTrigger]',\n standalone: true,\n hostDirectives: [CdkOverlayOrigin],\n host: {\n type: 'button',\n '[attr.id]': 'name()',\n '[attr.aria-haspopup]': '\"dialog\"',\n '[attr.aria-expanded]': 'popoverRoot.isOpen()',\n '[attr.aria-controls]': 'controlsId()',\n '[attr.data-state]': 'popoverRoot.state()',\n '(click)': 'onClick()'\n }\n})\nexport class RdxPopoverTriggerDirective {\n /** @ignore */\n readonly popoverRoot = injectPopoverRoot();\n /** @ignore */\n readonly elementRef = inject(ElementRef);\n /** @ignore */\n readonly overlayOrigin = inject(CdkOverlayOrigin);\n\n /** @ignore */\n readonly name = computed(() => `rdx-popover-trigger-${this.popoverRoot.uniqueId()}`);\n /** @ignore */\n readonly controlsId = computed(() => `rdx-popover-trigger-controls-${this.popoverRoot.uniqueId()}`);\n\n /** @ignore */\n onClick(): void {\n this.popoverRoot.handleToggle();\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n computed,\n contentChild,\n Directive,\n effect,\n forwardRef,\n inject,\n input,\n OnInit,\n output,\n signal,\n untracked,\n ViewContainerRef\n} from '@angular/core';\nimport { RdxPopoverArrowToken } from './popover-arrow.token';\nimport { RdxPopoverContentDirective } from './popover-content.directive';\nimport { RdxPopoverRootToken } from './popover-root.token';\nimport { RdxPopoverTriggerDirective } from './popover-trigger.directive';\nimport { RdxPopoverState } from './popover.types';\n\nlet nextId = 0;\n\n@Directive({\n selector: '[rdxPopoverRoot]',\n standalone: true,\n providers: [\n {\n provide: RdxPopoverRootToken,\n useExisting: forwardRef(() => RdxPopoverRootDirective)\n }\n ],\n exportAs: 'rdxPopoverRoot'\n})\nexport class RdxPopoverRootDirective implements OnInit {\n readonly uniqueId = signal(++nextId);\n readonly name = computed(() => `rdx-popover-root-${this.uniqueId()}`);\n\n /**\n * The open state of the popover when it is initially rendered. Use when you do not need to control its open state.\n */\n readonly defaultOpen = input<boolean>(false);\n /**\n * The controlled open state of the popover. Must be used in conjunction with onOpenChange.\n */\n readonly open = input<boolean | undefined>();\n\n /**\n * Event handler called when the open state of the popover changes.\n */\n readonly onOpenChange = output<boolean>();\n\n /** @ignore */\n readonly popoverContentDirective = contentChild.required(RdxPopoverContentDirective);\n /** @ignore */\n readonly popoverTriggerDirective = contentChild.required(RdxPopoverTriggerDirective);\n /** @ignore */\n readonly popoverArrowDirective = contentChild(RdxPopoverArrowToken);\n\n /** @ignore */\n readonly viewContainerRef = inject(ViewContainerRef);\n /** @ignore */\n private readonly document = inject(DOCUMENT);\n\n /** @ignore */\n readonly isOpen = signal<boolean>(this.defaultOpen());\n /** @ignore */\n readonly state = computed<RdxPopoverState>(() => {\n const currentIsOpen = this.isOpen();\n if (currentIsOpen) {\n return 'open';\n }\n return 'closed';\n });\n\n /** @ignore */\n private isControlledExternally = computed(() => signal(this.open() !== void 0));\n\n constructor() {\n this.onOpenChangeEffect();\n this.onIsOpenChangeEffect();\n }\n\n /** @ignore */\n ngOnInit(): void {\n if (this.defaultOpen()) {\n this.handleOpen();\n }\n }\n\n /** @ignore */\n controlledExternally() {\n return this.isControlledExternally().asReadonly();\n }\n\n /** @ignore */\n handleOpen(): void {\n if (this.isControlledExternally()()) {\n return;\n }\n this.setOpen(true);\n }\n\n /** @ignore */\n handleClose(): void {\n if (this.isControlledExternally()()) {\n return;\n }\n this.setOpen(false);\n }\n\n /** @ignore */\n handleToggle(): void {\n if (this.isControlledExternally()()) {\n return;\n }\n this.isOpen() ? this.handleClose() : this.handleOpen();\n }\n\n /** @ignore */\n private setOpen(open = false): void {\n this.document.dispatchEvent(\n new CustomEvent(`popover.${open ? 'open' : 'close'}`, {\n detail: {\n id: this.name()\n }\n })\n );\n\n this.isOpen.set(open);\n this.onOpenChange.emit(open);\n }\n\n /** @ignore */\n private show(): void {\n this.popoverContentDirective().show();\n }\n\n /** @ignore */\n private hide(): void {\n this.popoverContentDirective().hide();\n }\n\n /** @ignore */\n private onIsOpenChangeEffect() {\n effect(() => {\n const isOpen = this.isOpen();\n\n untracked(() => {\n if (isOpen) {\n this.show();\n } else {\n this.hide();\n }\n });\n });\n }\n\n /** @ignore */\n private onOpenChangeEffect() {\n effect(() => {\n const currentOpen = this.open();\n\n untracked(() => {\n this.isControlledExternally().set(currentOpen !== void 0);\n if (this.isControlledExternally()()) {\n this.setOpen(currentOpen);\n }\n });\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RdxPopoverArrowDirective } from './src/popover-arrow.directive';\nimport { RdxPopoverCloseDirective } from './src/popover-close.directive';\nimport { RdxPopoverContentDirective } from './src/popover-content.directive';\nimport { RdxPopoverRootDirective } from './src/popover-root.directive';\nimport { RdxPopoverTriggerDirective } from './src/popover-trigger.directive';\n\nexport * from './src/popover-arrow.directive';\nexport * from './src/popover-close.directive';\nexport * from './src/popover-content.directive';\nexport * from './src/popover-root.directive';\nexport * from './src/popover-trigger.directive';\nexport * from './src/popover.types';\n\nconst _imports = [\n RdxPopoverArrowDirective,\n RdxPopoverCloseDirective,\n RdxPopoverContentDirective,\n RdxPopoverTriggerDirective,\n RdxPopoverRootDirective\n];\n\n@NgModule({\n imports: [..._imports],\n exports: [..._imports]\n})\nexport class RdxPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -193,7 +193,7 @@ class RdxRadioIndicatorDirective {
|
|
193
193
|
this.radioItem = inject(RdxRadioItemDirective);
|
194
194
|
}
|
195
195
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxRadioIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
196
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxRadioIndicatorDirective, isStandalone: true, selector: "[rdxRadioIndicator]", host: { properties: { "attr.data-state": "radioItem.
|
196
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxRadioIndicatorDirective, isStandalone: true, selector: "[rdxRadioIndicator]", host: { properties: { "attr.data-state": "radioItem.checkedState() ? \"checked\" : \"unchecked\"", "attr.data-disabled": "radioItem.disabled ? \"\" : null" } }, exportAs: ["rdxRadioIndicator"], ngImport: i0 }); }
|
197
197
|
}
|
198
198
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxRadioIndicatorDirective, decorators: [{
|
199
199
|
type: Directive,
|
@@ -202,7 +202,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
202
202
|
exportAs: 'rdxRadioIndicator',
|
203
203
|
standalone: true,
|
204
204
|
host: {
|
205
|
-
'[attr.data-state]': 'radioItem.
|
205
|
+
'[attr.data-state]': 'radioItem.checkedState() ? "checked" : "unchecked"',
|
206
206
|
'[attr.data-disabled]': 'radioItem.disabled ? "" : null'
|
207
207
|
}
|
208
208
|
}]
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"radix-ng-primitives-radio.mjs","sources":["../../../packages/primitives/radio/src/radio-tokens.ts","../../../packages/primitives/radio/src/radio-root.directive.ts","../../../packages/primitives/radio/src/radio-item.directive.ts","../../../packages/primitives/radio/src/radio-indicator.directive.ts","../../../packages/primitives/radio/src/radio-item-input.directive.ts","../../../packages/primitives/radio/radix-ng-primitives-radio.ts"],"sourcesContent":["import { BooleanInput } from '@angular/cdk/coercion';\nimport { InjectionToken, InputSignalWithTransform, ModelSignal, Signal } from '@angular/core';\n\nexport interface RadioGroupProps {\n name?: string;\n disabled?: InputSignalWithTransform<boolean, BooleanInput>;\n defaultValue?: string;\n value: ModelSignal<string | null>;\n disableState: Signal<boolean>;\n}\n\nexport interface RadioGroupDirective extends RadioGroupProps {\n select(value: string | null): void;\n\n onTouched(): void;\n}\n\nexport const RDX_RADIO_GROUP = new InjectionToken<RadioGroupDirective>('RdxRadioGroup');\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, computed, Directive, input, Input, model, output, signal } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Orientation, RdxRovingFocusGroupDirective } from '@radix-ng/primitives/roving-focus';\nimport { RadioGroupDirective, RadioGroupProps, RDX_RADIO_GROUP } from './radio-tokens';\n\n@Directive({\n selector: '[rdxRadioRoot]',\n exportAs: 'rdxRadioRoot',\n standalone: true,\n providers: [\n { provide: RDX_RADIO_GROUP, useExisting: RdxRadioGroupDirective },\n { provide: NG_VALUE_ACCESSOR, useExisting: RdxRadioGroupDirective, multi: true }\n ],\n hostDirectives: [{ directive: RdxRovingFocusGroupDirective, inputs: ['dir', 'orientation', 'loop'] }],\n host: {\n role: 'radiogroup',\n '[attr.aria-orientation]': 'orientation()',\n '[attr.aria-required]': 'required()',\n '[attr.data-disabled]': 'disableState() ? \"\" : null',\n '(keydown)': 'onKeydown()'\n }\n})\nexport class RdxRadioGroupDirective implements RadioGroupProps, RadioGroupDirective, ControlValueAccessor {\n readonly value = model<string | null>(null);\n\n readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n @Input() defaultValue?: string;\n\n readonly required = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n readonly orientation = input<Orientation>();\n\n /**\n * Event handler called when the value changes.\n */\n readonly onValueChange = output<string>();\n\n private readonly disable = signal<boolean>(this.disabled());\n readonly disableState = computed(() => this.disable() || this.disabled());\n\n /**\n * The callback function to call when the value of the radio group changes.\n */\n private onChange: (value: string) => void = () => {\n /* Empty */\n };\n\n /**\n * The callback function to call when the radio group is touched.\n * @ignore\n */\n onTouched: () => void = () => {\n /* Empty */\n };\n\n /**\n * Select a radio item.\n * @param value The value of the radio item to select.\n * @ignore\n */\n select(value: string): void {\n this.value.set(value);\n this.onValueChange.emit(value);\n this.onChange?.(value);\n this.onTouched();\n }\n\n /**\n * Update the value of the radio group.\n * @param value The new value of the radio group.\n * @ignore\n */\n writeValue(value: string): void {\n this.value.set(value);\n }\n\n /**\n * Register a callback function to call when the value of the radio group changes.\n * @param fn The callback function to call when the value of the radio group changes.\n * @ignore\n */\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n /** @ignore */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /**\n * Set the disabled state of the radio group.\n * @param isDisabled Whether the radio group is disabled.\n * @ignore\n */\n setDisabledState(isDisabled: boolean): void {\n this.disable.set(isDisabled);\n }\n\n protected onKeydown(): void {\n if (this.disableState()) return;\n }\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n InjectionToken,\n input,\n OnInit,\n signal\n} from '@angular/core';\nimport { RdxRovingFocusItemDirective } from '@radix-ng/primitives/roving-focus';\nimport { RDX_RADIO_GROUP } from './radio-tokens';\n\nexport const RdxRadioItemToken = new InjectionToken<RdxRadioItemDirective>('RadioItemToken');\n\nexport function injectRadioItem(): RdxRadioItemDirective {\n return inject(RdxRadioItemToken);\n}\n\n@Directive({\n selector: '[rdxRadioItem]',\n exportAs: 'rdxRadioItem',\n standalone: true,\n providers: [{ provide: RdxRadioItemToken, useExisting: RdxRadioItemDirective }],\n hostDirectives: [\n { directive: RdxRovingFocusItemDirective, inputs: ['tabStopId: id', 'focusable', 'active', 'allowShiftKey'] }],\n\n host: {\n type: 'button',\n role: 'radio',\n '[attr.aria-checked]': 'checkedState()',\n '[attr.data-disabled]': 'disabledState() ? \"\" : null',\n '[attr.data-state]': 'checkedState() ? \"checked\" : \"unchecked\"',\n '[disabled]': 'disabledState()',\n '(click)': 'onClick()',\n '(keydown)': 'onKeyDown($event)',\n '(keyup)': 'onKeyUp()',\n '(focus)': 'onFocus()'\n }\n})\nexport class RdxRadioItemDirective implements OnInit {\n private readonly radioGroup = inject(RDX_RADIO_GROUP);\n private readonly elementRef = inject(ElementRef);\n\n readonly value = input.required<string>();\n\n readonly id = input<string>();\n\n readonly required = input<boolean>();\n\n readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n protected readonly disabledState = computed(() => this.radioGroup.disableState() || this.disabled());\n\n readonly checkedState = computed(() => this.radioGroup.value() === this.value());\n\n private readonly ARROW_KEYS = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n private readonly isArrowKeyPressedSignal = signal(false);\n\n /** @ignore */\n ngOnInit() {\n if (this.radioGroup.defaultValue === this.value()) {\n this.radioGroup.select(this.value());\n }\n }\n\n /** @ignore */\n onClick() {\n if (!this.disabledState()) {\n this.radioGroup.select(this.value());\n this.isArrowKeyPressedSignal.set(true);\n }\n }\n\n /** @ignore */\n onKeyDown(event: KeyboardEvent): void {\n if (this.ARROW_KEYS.includes(event.key)) {\n this.isArrowKeyPressedSignal.set(true);\n }\n }\n\n /** @ignore */\n onKeyUp() {\n this.isArrowKeyPressedSignal.set(false);\n }\n\n /** @ignore */\n onFocus() {\n this.radioGroup.select(this.value());\n setTimeout(() => {\n /**\n * When navigating with arrow keys, focus triggers on the radio item.\n * To \"check\" the radio, we programmatically trigger a click event.\n */\n if (this.isArrowKeyPressedSignal()) {\n this.elementRef.nativeElement.click();\n }\n }, 0);\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { RdxRadioItemDirective } from './radio-item.directive';\nimport { RDX_RADIO_GROUP, RadioGroupDirective } from './radio-tokens';\n\n@Directive({\n selector: '[rdxRadioIndicator]',\n exportAs: 'rdxRadioIndicator',\n standalone: true,\n host: {\n '[attr.data-state]': 'radioItem.checked ? \"checked\" : \"unchecked\"',\n '[attr.data-disabled]': 'radioItem.disabled ? \"\" : null'\n }\n})\nexport class RdxRadioIndicatorDirective {\n protected readonly radioGroup: RadioGroupDirective = inject(RDX_RADIO_GROUP);\n protected readonly radioItem: RdxRadioItemDirective = inject(RdxRadioItemDirective);\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { RdxVisuallyHiddenDirective } from '@radix-ng/primitives/visually-hidden';\nimport { injectRadioItem } from './radio-item.directive';\n\n@Directive({\n selector: '[rdxRadioItemInput]',\n exportAs: 'rdxRadioItemInput',\n standalone: true,\n hostDirectives: [\n { directive: RdxVisuallyHiddenDirective, inputs: ['feature'] }],\n host: {\n type: 'radio',\n '[attr.name]': 'name()',\n '[attr.required]': 'required()',\n '[attr.disabled]': 'disabled() ? disabled() : undefined',\n '[attr.checked]': 'checked()',\n '[value]': 'value()'\n }\n})\nexport class RdxRadioItemInputDirective {\n private readonly radioItem = injectRadioItem();\n\n readonly name = input<string>();\n readonly value = computed(() => this.radioItem.value() || undefined);\n readonly checked = computed(() => this.radioItem.checkedState() || undefined);\n readonly required = input<boolean | undefined>(this.radioItem.required());\n readonly disabled = input<boolean | undefined>(this.radioItem.disabled());\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"radix-ng-primitives-radio.mjs","sources":["../../../packages/primitives/radio/src/radio-tokens.ts","../../../packages/primitives/radio/src/radio-root.directive.ts","../../../packages/primitives/radio/src/radio-item.directive.ts","../../../packages/primitives/radio/src/radio-indicator.directive.ts","../../../packages/primitives/radio/src/radio-item-input.directive.ts","../../../packages/primitives/radio/radix-ng-primitives-radio.ts"],"sourcesContent":["import { BooleanInput } from '@angular/cdk/coercion';\nimport { InjectionToken, InputSignalWithTransform, ModelSignal, Signal } from '@angular/core';\n\nexport interface RadioGroupProps {\n name?: string;\n disabled?: InputSignalWithTransform<boolean, BooleanInput>;\n defaultValue?: string;\n value: ModelSignal<string | null>;\n disableState: Signal<boolean>;\n}\n\nexport interface RadioGroupDirective extends RadioGroupProps {\n select(value: string | null): void;\n\n onTouched(): void;\n}\n\nexport const RDX_RADIO_GROUP = new InjectionToken<RadioGroupDirective>('RdxRadioGroup');\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, computed, Directive, input, Input, model, output, signal } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Orientation, RdxRovingFocusGroupDirective } from '@radix-ng/primitives/roving-focus';\nimport { RadioGroupDirective, RadioGroupProps, RDX_RADIO_GROUP } from './radio-tokens';\n\n@Directive({\n selector: '[rdxRadioRoot]',\n exportAs: 'rdxRadioRoot',\n standalone: true,\n providers: [\n { provide: RDX_RADIO_GROUP, useExisting: RdxRadioGroupDirective },\n { provide: NG_VALUE_ACCESSOR, useExisting: RdxRadioGroupDirective, multi: true }\n ],\n hostDirectives: [{ directive: RdxRovingFocusGroupDirective, inputs: ['dir', 'orientation', 'loop'] }],\n host: {\n role: 'radiogroup',\n '[attr.aria-orientation]': 'orientation()',\n '[attr.aria-required]': 'required()',\n '[attr.data-disabled]': 'disableState() ? \"\" : null',\n '(keydown)': 'onKeydown()'\n }\n})\nexport class RdxRadioGroupDirective implements RadioGroupProps, RadioGroupDirective, ControlValueAccessor {\n readonly value = model<string | null>(null);\n\n readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n @Input() defaultValue?: string;\n\n readonly required = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n readonly orientation = input<Orientation>();\n\n /**\n * Event handler called when the value changes.\n */\n readonly onValueChange = output<string>();\n\n private readonly disable = signal<boolean>(this.disabled());\n readonly disableState = computed(() => this.disable() || this.disabled());\n\n /**\n * The callback function to call when the value of the radio group changes.\n */\n private onChange: (value: string) => void = () => {\n /* Empty */\n };\n\n /**\n * The callback function to call when the radio group is touched.\n * @ignore\n */\n onTouched: () => void = () => {\n /* Empty */\n };\n\n /**\n * Select a radio item.\n * @param value The value of the radio item to select.\n * @ignore\n */\n select(value: string): void {\n this.value.set(value);\n this.onValueChange.emit(value);\n this.onChange?.(value);\n this.onTouched();\n }\n\n /**\n * Update the value of the radio group.\n * @param value The new value of the radio group.\n * @ignore\n */\n writeValue(value: string): void {\n this.value.set(value);\n }\n\n /**\n * Register a callback function to call when the value of the radio group changes.\n * @param fn The callback function to call when the value of the radio group changes.\n * @ignore\n */\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n /** @ignore */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /**\n * Set the disabled state of the radio group.\n * @param isDisabled Whether the radio group is disabled.\n * @ignore\n */\n setDisabledState(isDisabled: boolean): void {\n this.disable.set(isDisabled);\n }\n\n protected onKeydown(): void {\n if (this.disableState()) return;\n }\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n InjectionToken,\n input,\n OnInit,\n signal\n} from '@angular/core';\nimport { RdxRovingFocusItemDirective } from '@radix-ng/primitives/roving-focus';\nimport { RDX_RADIO_GROUP } from './radio-tokens';\n\nexport const RdxRadioItemToken = new InjectionToken<RdxRadioItemDirective>('RadioItemToken');\n\nexport function injectRadioItem(): RdxRadioItemDirective {\n return inject(RdxRadioItemToken);\n}\n\n@Directive({\n selector: '[rdxRadioItem]',\n exportAs: 'rdxRadioItem',\n standalone: true,\n providers: [{ provide: RdxRadioItemToken, useExisting: RdxRadioItemDirective }],\n hostDirectives: [\n { directive: RdxRovingFocusItemDirective, inputs: ['tabStopId: id', 'focusable', 'active', 'allowShiftKey'] }],\n\n host: {\n type: 'button',\n role: 'radio',\n '[attr.aria-checked]': 'checkedState()',\n '[attr.data-disabled]': 'disabledState() ? \"\" : null',\n '[attr.data-state]': 'checkedState() ? \"checked\" : \"unchecked\"',\n '[disabled]': 'disabledState()',\n '(click)': 'onClick()',\n '(keydown)': 'onKeyDown($event)',\n '(keyup)': 'onKeyUp()',\n '(focus)': 'onFocus()'\n }\n})\nexport class RdxRadioItemDirective implements OnInit {\n private readonly radioGroup = inject(RDX_RADIO_GROUP);\n private readonly elementRef = inject(ElementRef);\n\n readonly value = input.required<string>();\n\n readonly id = input<string>();\n\n readonly required = input<boolean>();\n\n readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n protected readonly disabledState = computed(() => this.radioGroup.disableState() || this.disabled());\n\n readonly checkedState = computed(() => this.radioGroup.value() === this.value());\n\n private readonly ARROW_KEYS = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n private readonly isArrowKeyPressedSignal = signal(false);\n\n /** @ignore */\n ngOnInit() {\n if (this.radioGroup.defaultValue === this.value()) {\n this.radioGroup.select(this.value());\n }\n }\n\n /** @ignore */\n onClick() {\n if (!this.disabledState()) {\n this.radioGroup.select(this.value());\n this.isArrowKeyPressedSignal.set(true);\n }\n }\n\n /** @ignore */\n onKeyDown(event: KeyboardEvent): void {\n if (this.ARROW_KEYS.includes(event.key)) {\n this.isArrowKeyPressedSignal.set(true);\n }\n }\n\n /** @ignore */\n onKeyUp() {\n this.isArrowKeyPressedSignal.set(false);\n }\n\n /** @ignore */\n onFocus() {\n this.radioGroup.select(this.value());\n setTimeout(() => {\n /**\n * When navigating with arrow keys, focus triggers on the radio item.\n * To \"check\" the radio, we programmatically trigger a click event.\n */\n if (this.isArrowKeyPressedSignal()) {\n this.elementRef.nativeElement.click();\n }\n }, 0);\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { RdxRadioItemDirective } from './radio-item.directive';\nimport { RDX_RADIO_GROUP, RadioGroupDirective } from './radio-tokens';\n\n@Directive({\n selector: '[rdxRadioIndicator]',\n exportAs: 'rdxRadioIndicator',\n standalone: true,\n host: {\n '[attr.data-state]': 'radioItem.checkedState() ? \"checked\" : \"unchecked\"',\n '[attr.data-disabled]': 'radioItem.disabled ? \"\" : null'\n }\n})\nexport class RdxRadioIndicatorDirective {\n protected readonly radioGroup: RadioGroupDirective = inject(RDX_RADIO_GROUP);\n protected readonly radioItem: RdxRadioItemDirective = inject(RdxRadioItemDirective);\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { RdxVisuallyHiddenDirective } from '@radix-ng/primitives/visually-hidden';\nimport { injectRadioItem } from './radio-item.directive';\n\n@Directive({\n selector: '[rdxRadioItemInput]',\n exportAs: 'rdxRadioItemInput',\n standalone: true,\n hostDirectives: [\n { directive: RdxVisuallyHiddenDirective, inputs: ['feature'] }],\n host: {\n type: 'radio',\n '[attr.name]': 'name()',\n '[attr.required]': 'required()',\n '[attr.disabled]': 'disabled() ? disabled() : undefined',\n '[attr.checked]': 'checked()',\n '[value]': 'value()'\n }\n})\nexport class RdxRadioItemInputDirective {\n private readonly radioItem = injectRadioItem();\n\n readonly name = input<string>();\n readonly value = computed(() => this.radioItem.value() || undefined);\n readonly checked = computed(() => this.radioItem.checkedState() || undefined);\n readonly required = input<boolean | undefined>(this.radioItem.required());\n readonly disabled = input<boolean | undefined>(this.radioItem.disabled());\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@radix-ng/primitives",
|
3
|
-
"version": "0.20.
|
3
|
+
"version": "0.20.2",
|
4
4
|
"license": "MIT",
|
5
5
|
"publishConfig": {
|
6
6
|
"access": "public"
|
@@ -109,6 +109,12 @@
|
|
109
109
|
"esm": "./esm2022/menu/radix-ng-primitives-menu.mjs",
|
110
110
|
"default": "./fesm2022/radix-ng-primitives-menu.mjs"
|
111
111
|
},
|
112
|
+
"./menubar": {
|
113
|
+
"types": "./menubar/index.d.ts",
|
114
|
+
"esm2022": "./esm2022/menubar/radix-ng-primitives-menubar.mjs",
|
115
|
+
"esm": "./esm2022/menubar/radix-ng-primitives-menubar.mjs",
|
116
|
+
"default": "./fesm2022/radix-ng-primitives-menubar.mjs"
|
117
|
+
},
|
112
118
|
"./popover": {
|
113
119
|
"types": "./popover/index.d.ts",
|
114
120
|
"esm2022": "./esm2022/popover/radix-ng-primitives-popover.mjs",
|
@@ -121,12 +127,6 @@
|
|
121
127
|
"esm": "./esm2022/progress/radix-ng-primitives-progress.mjs",
|
122
128
|
"default": "./fesm2022/radix-ng-primitives-progress.mjs"
|
123
129
|
},
|
124
|
-
"./menubar": {
|
125
|
-
"types": "./menubar/index.d.ts",
|
126
|
-
"esm2022": "./esm2022/menubar/radix-ng-primitives-menubar.mjs",
|
127
|
-
"esm": "./esm2022/menubar/radix-ng-primitives-menubar.mjs",
|
128
|
-
"default": "./fesm2022/radix-ng-primitives-menubar.mjs"
|
129
|
-
},
|
130
130
|
"./radio": {
|
131
131
|
"types": "./radio/index.d.ts",
|
132
132
|
"esm2022": "./esm2022/radio/radix-ng-primitives-radio.mjs",
|
@@ -4,7 +4,7 @@ export declare class RdxPopoverCloseDirective {
|
|
4
4
|
/** @ignore */
|
5
5
|
readonly popoverRoot: import("@radix-ng/primitives/popover").RdxPopoverRootDirective;
|
6
6
|
/** @ignore */
|
7
|
-
readonly elementRef: ElementRef<
|
7
|
+
readonly elementRef: ElementRef<any>;
|
8
8
|
/** @ignore */
|
9
9
|
private readonly renderer;
|
10
10
|
constructor();
|