@radix-ng/primitives 0.2.0 → 0.4.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/avatar/README.md +1 -0
- package/avatar/index.d.ts +4 -0
- package/avatar/src/avatar-fallback.directive.d.ts +34 -0
- package/avatar/src/avatar-image.directive.d.ts +17 -0
- package/avatar/src/avatar.config.d.ts +12 -0
- package/avatar/src/avatar.directive.d.ts +22 -0
- package/avatar/src/avatar.token.d.ts +4 -0
- package/checkbox/index.d.ts +1 -1
- package/checkbox/src/checkbox-indicator.directive.d.ts +4 -4
- package/checkbox/src/checkbox.directive.d.ts +3 -3
- package/checkbox/src/checkbox.token.d.ts +3 -3
- package/esm2022/avatar/index.mjs +5 -0
- package/esm2022/avatar/radix-ng-primitives-avatar.mjs +5 -0
- package/esm2022/avatar/src/avatar-fallback.directive.mjs +61 -0
- package/esm2022/avatar/src/avatar-image.directive.mjs +50 -0
- package/esm2022/avatar/src/avatar.config.mjs +17 -0
- package/esm2022/avatar/src/avatar.directive.mjs +38 -0
- package/esm2022/avatar/src/avatar.token.mjs +6 -0
- package/esm2022/checkbox/index.mjs +2 -2
- package/esm2022/checkbox/src/checkbox-indicator.directive.mjs +5 -5
- package/esm2022/checkbox/src/checkbox.directive.mjs +11 -11
- package/esm2022/checkbox/src/checkbox.token.mjs +4 -4
- package/esm2022/label/src/label.directive.mjs +5 -5
- package/esm2022/overlay/index.mjs +5 -0
- package/esm2022/overlay/radix-ng-primitives-overlay.mjs +5 -0
- package/esm2022/overlay/src/overlay-arrow.directive.mjs +59 -0
- package/esm2022/overlay/src/overlay-arrow.token.mjs +3 -0
- package/esm2022/overlay/src/overlay-trigger.directive.mjs +279 -0
- package/esm2022/overlay/src/overlay-trigger.token.mjs +9 -0
- package/esm2022/overlay/src/overlay.directive.mjs +51 -0
- package/esm2022/overlay/src/overlay.token.mjs +3 -0
- package/esm2022/progress/src/progress-indicator.directive.mjs +5 -5
- package/esm2022/progress/src/progress.directive.mjs +7 -7
- package/esm2022/progress/src/progress.token.mjs +4 -4
- package/esm2022/radio/index.mjs +2 -2
- package/esm2022/radio/src/radio-group.directive.mjs +14 -14
- package/esm2022/radio/src/radio-group.token.mjs +4 -4
- package/esm2022/radio/src/radio-indicator.directive.mjs +5 -5
- package/esm2022/radio/src/radio-item.directive.mjs +11 -11
- package/esm2022/radio/src/radio-item.token.mjs +4 -4
- package/esm2022/roving-focus/src/roving-focus-group.directive.mjs +8 -8
- package/esm2022/roving-focus/src/roving-focus-group.token.mjs +4 -4
- package/esm2022/roving-focus/src/roving-focus-item.directive.mjs +8 -8
- package/esm2022/roving-focus/src/roving-focus-item.token.mjs +4 -4
- package/esm2022/separator/src/separator.directive.mjs +6 -6
- package/esm2022/switch/index.mjs +2 -2
- package/esm2022/switch/src/switch-thumb.directive.mjs +5 -5
- package/esm2022/switch/src/switch.directive.mjs +11 -11
- package/esm2022/switch/src/switch.token.mjs +4 -4
- package/esm2022/toggle/index.mjs +2 -0
- package/esm2022/toggle/radix-ng-primitives-toggle.mjs +5 -0
- package/esm2022/toggle/src/toggle.directive.mjs +65 -0
- package/esm2022/tooltip/index.mjs +5 -0
- package/esm2022/tooltip/radix-ng-primitives-tooltip.mjs +5 -0
- package/esm2022/tooltip/src/tooltip-arrow.directive.mjs +17 -0
- package/esm2022/tooltip/src/tooltip-trigger.directive.mjs +148 -0
- package/esm2022/tooltip/src/tooltip-trigger.token.mjs +6 -0
- package/esm2022/tooltip/src/tooltip.config.mjs +31 -0
- package/esm2022/tooltip/src/tooltip.directive.mjs +46 -0
- package/esm2022/visually-hidden/src/visually-hidden.directive.mjs +5 -5
- package/fesm2022/radix-ng-primitives-avatar.mjs +167 -0
- package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-checkbox.mjs +32 -32
- package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-label.mjs +5 -5
- package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-overlay.mjs +399 -0
- package/fesm2022/radix-ng-primitives-overlay.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-progress.mjs +12 -12
- package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-radio.mjs +48 -48
- package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-roving-focus.mjs +15 -15
- package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-separator.mjs +5 -5
- package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-switch.mjs +34 -34
- package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle.mjs +72 -0
- package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-tooltip.mjs +242 -0
- package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-visually-hidden.mjs +5 -5
- package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +1 -1
- package/label/src/label.directive.d.ts +3 -3
- package/overlay/README.md +1 -0
- package/overlay/index.d.ts +4 -0
- package/overlay/src/overlay-arrow.directive.d.ts +29 -0
- package/overlay/src/overlay-arrow.token.d.ts +3 -0
- package/overlay/src/overlay-trigger.directive.d.ts +163 -0
- package/overlay/src/overlay-trigger.token.d.ts +7 -0
- package/overlay/src/overlay.directive.d.ts +29 -0
- package/overlay/src/overlay.token.d.ts +3 -0
- package/package.json +29 -4
- package/progress/src/progress-indicator.directive.d.ts +4 -4
- package/progress/src/progress.directive.d.ts +3 -3
- package/progress/src/progress.token.d.ts +3 -3
- package/radio/index.d.ts +1 -1
- package/radio/src/radio-group.directive.d.ts +3 -3
- package/radio/src/radio-group.token.d.ts +3 -3
- package/radio/src/radio-indicator.directive.d.ts +5 -5
- package/radio/src/radio-item.directive.d.ts +4 -4
- package/radio/src/radio-item.token.d.ts +3 -3
- package/roving-focus/src/roving-focus-group.directive.d.ts +7 -7
- package/roving-focus/src/roving-focus-group.token.d.ts +3 -3
- package/roving-focus/src/roving-focus-item.directive.d.ts +3 -3
- package/roving-focus/src/roving-focus-item.token.d.ts +3 -3
- package/separator/src/separator.directive.d.ts +3 -3
- package/switch/index.d.ts +1 -1
- package/switch/src/switch-thumb.directive.d.ts +4 -4
- package/switch/src/switch.directive.d.ts +3 -3
- package/switch/src/switch.token.d.ts +3 -3
- package/toggle/README.md +3 -0
- package/toggle/index.d.ts +1 -0
- package/toggle/src/toggle.directive.d.ts +30 -0
- package/tooltip/README.md +1 -0
- package/tooltip/index.d.ts +4 -0
- package/tooltip/src/tooltip-arrow.directive.d.ts +6 -0
- package/tooltip/src/tooltip-trigger.directive.d.ts +79 -0
- package/tooltip/src/tooltip-trigger.token.d.ts +4 -0
- package/tooltip/src/tooltip.config.d.ts +46 -0
- package/tooltip/src/tooltip.directive.d.ts +17 -0
- package/visually-hidden/src/visually-hidden.directive.d.ts +3 -3
@@ -0,0 +1,59 @@
|
|
1
|
+
import { Directive, ElementRef, inject } from '@angular/core';
|
2
|
+
import { RdxOverlayArrowToken } from './overlay-arrow.token';
|
3
|
+
import { injectOverlayTrigger } from './overlay-trigger.token';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
export class RdxOverlayArrowDirective {
|
6
|
+
constructor() {
|
7
|
+
/**
|
8
|
+
* Access the arrow element
|
9
|
+
*/
|
10
|
+
this.elementRef = inject((ElementRef));
|
11
|
+
/**
|
12
|
+
* Access the overlay trigger
|
13
|
+
*/
|
14
|
+
this.overlayTrigger = injectOverlayTrigger();
|
15
|
+
}
|
16
|
+
/**
|
17
|
+
* Register the arrow on init
|
18
|
+
* @internal
|
19
|
+
*/
|
20
|
+
ngOnInit() {
|
21
|
+
this.overlayTrigger.registerArrow(this);
|
22
|
+
}
|
23
|
+
/**
|
24
|
+
* Unregister the arrow on destroy
|
25
|
+
* @internal
|
26
|
+
*/
|
27
|
+
ngOnDestroy() {
|
28
|
+
this.overlayTrigger.unregisterArrow();
|
29
|
+
}
|
30
|
+
/**
|
31
|
+
* Define the position of the arrow.
|
32
|
+
*/
|
33
|
+
setPosition(placement, arrowX, arrowY) {
|
34
|
+
const staticSide = {
|
35
|
+
top: 'bottom',
|
36
|
+
right: 'left',
|
37
|
+
bottom: 'top',
|
38
|
+
left: 'right'
|
39
|
+
}[placement.split('-')[0]];
|
40
|
+
Object.assign(this.elementRef.nativeElement.style, {
|
41
|
+
left: arrowX != null ? `${arrowX}px` : '',
|
42
|
+
top: arrowY != null ? `${arrowY}px` : '',
|
43
|
+
right: '',
|
44
|
+
bottom: '',
|
45
|
+
[staticSide]: `-${this.elementRef.nativeElement.offsetWidth / 2}px`
|
46
|
+
});
|
47
|
+
}
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxOverlayArrowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
49
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: RdxOverlayArrowDirective, isStandalone: true, selector: "[rdxOverlayArrow]", providers: [{ provide: RdxOverlayArrowToken, useExisting: RdxOverlayArrowDirective }], ngImport: i0 }); }
|
50
|
+
}
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxOverlayArrowDirective, decorators: [{
|
52
|
+
type: Directive,
|
53
|
+
args: [{
|
54
|
+
selector: '[rdxOverlayArrow]',
|
55
|
+
standalone: true,
|
56
|
+
providers: [{ provide: RdxOverlayArrowToken, useExisting: RdxOverlayArrowDirective }]
|
57
|
+
}]
|
58
|
+
}] });
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1hcnJvdy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL292ZXJsYXkvc3JjL292ZXJsYXktYXJyb3cuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFJakYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBTy9ELE1BQU0sT0FBTyx3QkFBd0I7SUFMckM7UUFNSTs7V0FFRztRQUNNLGVBQVUsR0FBRyxNQUFNLENBQUMsQ0FBQSxVQUF1QixDQUFBLENBQUMsQ0FBQztRQUV0RDs7V0FFRztRQUNjLG1CQUFjLEdBQUcsb0JBQW9CLEVBQUUsQ0FBQztLQXFDNUQ7SUFuQ0c7OztPQUdHO0lBQ0gsUUFBUTtRQUNKLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXLENBQUMsU0FBb0IsRUFBRSxNQUFlLEVBQUUsTUFBZTtRQUM5RCxNQUFNLFVBQVUsR0FBRztZQUNmLEdBQUcsRUFBRSxRQUFRO1lBQ2IsS0FBSyxFQUFFLE1BQU07WUFDYixNQUFNLEVBQUUsS0FBSztZQUNiLElBQUksRUFBRSxPQUFPO1NBQ2hCLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBVyxDQUFDO1FBRXJDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFO1lBQy9DLElBQUksRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3pDLEdBQUcsRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hDLEtBQUssRUFBRSxFQUFFO1lBQ1QsTUFBTSxFQUFFLEVBQUU7WUFDVixDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSTtTQUN0RSxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQTdDUSx3QkFBd0I7a0dBQXhCLHdCQUF3QixnRUFGdEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQzs7MkZBRTVFLHdCQUF3QjtrQkFMcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVywwQkFBMEIsRUFBRSxDQUFDO2lCQUN4RiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQbGFjZW1lbnQgfSBmcm9tICdAZmxvYXRpbmctdWkvZG9tJztcblxuaW1wb3J0IHsgUmR4T3ZlcmxheUFycm93VG9rZW4gfSBmcm9tICcuL292ZXJsYXktYXJyb3cudG9rZW4nO1xuaW1wb3J0IHsgaW5qZWN0T3ZlcmxheVRyaWdnZXIgfSBmcm9tICcuL292ZXJsYXktdHJpZ2dlci50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeE92ZXJsYXlBcnJvd10nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBSZHhPdmVybGF5QXJyb3dUb2tlbiwgdXNlRXhpc3Rpbmc6IFJkeE92ZXJsYXlBcnJvd0RpcmVjdGl2ZSB9XVxufSlcbmV4cG9ydCBjbGFzcyBSZHhPdmVybGF5QXJyb3dEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICogQWNjZXNzIHRoZSBhcnJvdyBlbGVtZW50XG4gICAgICovXG4gICAgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik7XG5cbiAgICAvKipcbiAgICAgKiBBY2Nlc3MgdGhlIG92ZXJsYXkgdHJpZ2dlclxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3ZlcmxheVRyaWdnZXIgPSBpbmplY3RPdmVybGF5VHJpZ2dlcigpO1xuXG4gICAgLyoqXG4gICAgICogUmVnaXN0ZXIgdGhlIGFycm93IG9uIGluaXRcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vdmVybGF5VHJpZ2dlci5yZWdpc3RlckFycm93KHRoaXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVucmVnaXN0ZXIgdGhlIGFycm93IG9uIGRlc3Ryb3lcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vdmVybGF5VHJpZ2dlci51bnJlZ2lzdGVyQXJyb3coKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmUgdGhlIHBvc2l0aW9uIG9mIHRoZSBhcnJvdy5cbiAgICAgKi9cbiAgICBzZXRQb3NpdGlvbihwbGFjZW1lbnQ6IFBsYWNlbWVudCwgYXJyb3dYPzogbnVtYmVyLCBhcnJvd1k/OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc3RhdGljU2lkZSA9IHtcbiAgICAgICAgICAgIHRvcDogJ2JvdHRvbScsXG4gICAgICAgICAgICByaWdodDogJ2xlZnQnLFxuICAgICAgICAgICAgYm90dG9tOiAndG9wJyxcbiAgICAgICAgICAgIGxlZnQ6ICdyaWdodCdcbiAgICAgICAgfVtwbGFjZW1lbnQuc3BsaXQoJy0nKVswXV0gYXMgc3RyaW5nO1xuXG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUsIHtcbiAgICAgICAgICAgIGxlZnQ6IGFycm93WCAhPSBudWxsID8gYCR7YXJyb3dYfXB4YCA6ICcnLFxuICAgICAgICAgICAgdG9wOiBhcnJvd1kgIT0gbnVsbCA/IGAke2Fycm93WX1weGAgOiAnJyxcbiAgICAgICAgICAgIHJpZ2h0OiAnJyxcbiAgICAgICAgICAgIGJvdHRvbTogJycsXG4gICAgICAgICAgICBbc3RhdGljU2lkZV06IGAtJHt0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCAvIDJ9cHhgXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,3 @@
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
2
|
+
export const RdxOverlayArrowToken = new InjectionToken('RdxOverlayArrowToken');
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1hcnJvdy50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvb3ZlcmxheS9zcmMvb3ZlcmxheS1hcnJvdy50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSS9DLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksY0FBYyxDQUNsRCxzQkFBc0IsQ0FDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB0eXBlIHsgUmR4T3ZlcmxheUFycm93RGlyZWN0aXZlIH0gZnJvbSAnLi9vdmVybGF5LWFycm93LmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBSZHhPdmVybGF5QXJyb3dUb2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxSZHhPdmVybGF5QXJyb3dEaXJlY3RpdmU+KFxuICAgICdSZHhPdmVybGF5QXJyb3dUb2tlbidcbik7XG4iXX0=
|
@@ -0,0 +1,279 @@
|
|
1
|
+
/* eslint-disable @angular-eslint/no-input-rename */
|
2
|
+
import { DomPortalOutlet, TemplatePortal } from '@angular/cdk/portal';
|
3
|
+
import { ApplicationRef, booleanAttribute, ComponentFactoryResolver, Directive, ElementRef, inject, Injector, Input, numberAttribute, TemplateRef, ViewContainerRef } from '@angular/core';
|
4
|
+
import { arrow, autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom';
|
5
|
+
import { RdxOverlayTriggerToken } from './overlay-trigger.token';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
export class RdxOverlayTriggerDirective {
|
8
|
+
constructor() {
|
9
|
+
/**
|
10
|
+
* Access the application ref
|
11
|
+
*/
|
12
|
+
this.appRef = inject(ApplicationRef);
|
13
|
+
/**
|
14
|
+
* Access the component factory resolver
|
15
|
+
*/
|
16
|
+
this.componentFactoryResolver = inject(ComponentFactoryResolver);
|
17
|
+
/**
|
18
|
+
* Access the injector
|
19
|
+
*/
|
20
|
+
this.injector = inject(Injector);
|
21
|
+
/**
|
22
|
+
* Access the trigger element
|
23
|
+
*/
|
24
|
+
this.trigger = inject((ElementRef));
|
25
|
+
/**
|
26
|
+
* Access the view container
|
27
|
+
*/
|
28
|
+
this.viewContainer = inject(ViewContainerRef);
|
29
|
+
/**
|
30
|
+
* Define if the trigger should be disabled.
|
31
|
+
* @default false
|
32
|
+
*/
|
33
|
+
this.disabled = false;
|
34
|
+
/**
|
35
|
+
* Define the placement of the overlay relative to the trigger.
|
36
|
+
* @default 'bottom'
|
37
|
+
*/
|
38
|
+
this.placement = 'top';
|
39
|
+
/**
|
40
|
+
* Define the offset of the overlay relative to the trigger.
|
41
|
+
* @default 4
|
42
|
+
*/
|
43
|
+
this.offset = 4;
|
44
|
+
/**
|
45
|
+
* Define the delay before the overlay is displayed.
|
46
|
+
* @default 0
|
47
|
+
*/
|
48
|
+
this.showDelay = 0;
|
49
|
+
/**
|
50
|
+
* Define the delay before the overlay is hidden.
|
51
|
+
* @default 0
|
52
|
+
*/
|
53
|
+
this.hideDelay = 0;
|
54
|
+
/**
|
55
|
+
* Define whether the overlay should shift when the overlay is near the edge of the viewport.
|
56
|
+
* @default true
|
57
|
+
*/
|
58
|
+
this.shift = true;
|
59
|
+
/**
|
60
|
+
* Define whether the overlay should flip when there is not enough space for the overlay.
|
61
|
+
* @default true
|
62
|
+
*/
|
63
|
+
this.flip = true;
|
64
|
+
/**
|
65
|
+
* Define the container in to which the overlay should be attached.
|
66
|
+
* @default document.body
|
67
|
+
*/
|
68
|
+
this.container = document.body;
|
69
|
+
/**
|
70
|
+
* Store the overlay content instance.
|
71
|
+
*/
|
72
|
+
this.overlay = null;
|
73
|
+
/**
|
74
|
+
* Store the overlay arrow instance.
|
75
|
+
*/
|
76
|
+
this.arrow = null;
|
77
|
+
/**
|
78
|
+
* Store the view ref
|
79
|
+
*/
|
80
|
+
this.viewRef = null;
|
81
|
+
/**
|
82
|
+
* Store the show delay timeout
|
83
|
+
*/
|
84
|
+
this.showDelayTimeout = null;
|
85
|
+
/**
|
86
|
+
* Store the hide delay timeout
|
87
|
+
*/
|
88
|
+
this.hideDelayTimeout = null;
|
89
|
+
/**
|
90
|
+
* Store additional providers to register on the overlay.
|
91
|
+
*/
|
92
|
+
this.providers = [];
|
93
|
+
}
|
94
|
+
/**
|
95
|
+
* Determine the state of the overlay.
|
96
|
+
*/
|
97
|
+
get isOpen() {
|
98
|
+
return !!this.viewRef;
|
99
|
+
}
|
100
|
+
/**
|
101
|
+
* Determine the state of the overlay.
|
102
|
+
*/
|
103
|
+
get state() {
|
104
|
+
if (this.showDelayTimeout) {
|
105
|
+
return 'opening';
|
106
|
+
}
|
107
|
+
if (this.hideDelayTimeout) {
|
108
|
+
return 'closing';
|
109
|
+
}
|
110
|
+
return this.isOpen ? 'open' : 'closed';
|
111
|
+
}
|
112
|
+
/**
|
113
|
+
* Create the overlay.
|
114
|
+
*/
|
115
|
+
createOverlay() {
|
116
|
+
const domPortal = new DomPortalOutlet(this.container, this.componentFactoryResolver, this.appRef, this.injector);
|
117
|
+
const templatePortal = new TemplatePortal(this.templateRef, this.viewContainer, undefined, Injector.create({
|
118
|
+
parent: this.injector,
|
119
|
+
providers: [
|
120
|
+
{
|
121
|
+
provide: RdxOverlayTriggerToken,
|
122
|
+
useValue: this
|
123
|
+
},
|
124
|
+
...this.providers
|
125
|
+
]
|
126
|
+
}));
|
127
|
+
this.viewRef = domPortal.attach(templatePortal);
|
128
|
+
this.viewRef.detectChanges();
|
129
|
+
this.updateOverlayPosition();
|
130
|
+
this.showDelayTimeout = null;
|
131
|
+
}
|
132
|
+
/**
|
133
|
+
* Update the overlay position.
|
134
|
+
*/
|
135
|
+
updateOverlayPosition() {
|
136
|
+
if (!this.viewRef) {
|
137
|
+
return;
|
138
|
+
}
|
139
|
+
const overlayElement = this.viewRef.rootNodes[0];
|
140
|
+
const middleware = [];
|
141
|
+
if (this.offset) {
|
142
|
+
middleware.push(offset(this.offset));
|
143
|
+
}
|
144
|
+
if (this.shift) {
|
145
|
+
middleware.push(shift());
|
146
|
+
}
|
147
|
+
if (this.flip) {
|
148
|
+
middleware.push(flip());
|
149
|
+
}
|
150
|
+
// if there is an arrow defined, we need to add the arrow middleware
|
151
|
+
if (this.arrow) {
|
152
|
+
middleware.push(arrow({ element: this.arrow.elementRef.nativeElement }));
|
153
|
+
}
|
154
|
+
this.dispose = autoUpdate(this.trigger.nativeElement, overlayElement, async () => {
|
155
|
+
const position = await computePosition(this.trigger.nativeElement, overlayElement, {
|
156
|
+
placement: this.placement,
|
157
|
+
middleware
|
158
|
+
});
|
159
|
+
this.overlay?.setPosition(position.x, position.y);
|
160
|
+
if (position.middlewareData.arrow) {
|
161
|
+
this.arrow?.setPosition(this.placement, position.middlewareData.arrow.x, position.middlewareData.arrow.y);
|
162
|
+
}
|
163
|
+
});
|
164
|
+
}
|
165
|
+
/**
|
166
|
+
* Destroy the overlay.
|
167
|
+
*/
|
168
|
+
destroyOverlay() {
|
169
|
+
this.viewRef?.destroy();
|
170
|
+
this.viewRef = null;
|
171
|
+
this.dispose?.();
|
172
|
+
this.hideDelayTimeout = null;
|
173
|
+
}
|
174
|
+
/**
|
175
|
+
* Show the overlay.
|
176
|
+
*/
|
177
|
+
show() {
|
178
|
+
if (this.disabled || this.isOpen) {
|
179
|
+
return;
|
180
|
+
}
|
181
|
+
if (this.hideDelayTimeout) {
|
182
|
+
clearTimeout(this.hideDelayTimeout);
|
183
|
+
this.hideDelayTimeout = null;
|
184
|
+
}
|
185
|
+
this.showDelayTimeout = window.setTimeout(() => this.createOverlay(), this.showDelay);
|
186
|
+
}
|
187
|
+
/**
|
188
|
+
* Hide the overlay.
|
189
|
+
*/
|
190
|
+
hide() {
|
191
|
+
if (!this.isOpen) {
|
192
|
+
return;
|
193
|
+
}
|
194
|
+
if (this.showDelayTimeout) {
|
195
|
+
clearTimeout(this.showDelayTimeout);
|
196
|
+
this.showDelayTimeout = null;
|
197
|
+
}
|
198
|
+
this.hideDelayTimeout = window.setTimeout(() => this.destroyOverlay(), this.hideDelay);
|
199
|
+
}
|
200
|
+
/**
|
201
|
+
* Register the overlay.
|
202
|
+
* @param overlay The overlay to register.
|
203
|
+
* @internal
|
204
|
+
*/
|
205
|
+
registerOverlay(overlay) {
|
206
|
+
this.overlay = overlay;
|
207
|
+
}
|
208
|
+
/**
|
209
|
+
* Unregister the overlay.
|
210
|
+
* @internal
|
211
|
+
*/
|
212
|
+
unregisterOverlay() {
|
213
|
+
this.overlay = null;
|
214
|
+
}
|
215
|
+
/**
|
216
|
+
* Register the arrow.
|
217
|
+
* @param arrow The arrow to register.
|
218
|
+
* @internal
|
219
|
+
*/
|
220
|
+
registerArrow(arrow) {
|
221
|
+
this.arrow = arrow;
|
222
|
+
}
|
223
|
+
/**
|
224
|
+
* Unregister the arrow.
|
225
|
+
* @internal
|
226
|
+
*/
|
227
|
+
unregisterArrow() {
|
228
|
+
this.arrow = null;
|
229
|
+
}
|
230
|
+
/**
|
231
|
+
* Register a provider on the overlay.
|
232
|
+
* @param provider The provider to register.
|
233
|
+
* @internal
|
234
|
+
*/
|
235
|
+
registerProvider(provider) {
|
236
|
+
this.providers.push(provider);
|
237
|
+
}
|
238
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxOverlayTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
239
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.3", type: RdxOverlayTriggerDirective, isStandalone: true, selector: "[rdxOverlayTrigger]", inputs: { templateRef: ["rdxOverlayTrigger", "templateRef"], disabled: ["rdxOverlayDisabled", "disabled", booleanAttribute], placement: ["rdxOverlayPlacement", "placement"], offset: ["rdxOverlayOffset", "offset", numberAttribute], showDelay: ["rdxOverlayShowDelay", "showDelay", numberAttribute], hideDelay: ["rdxOverlayHideDelay", "hideDelay", numberAttribute], shift: ["rdxOverlayShift", "shift", booleanAttribute], flip: ["rdxOverlayFlip", "flip", booleanAttribute], container: ["rdxOverlayContainer", "container"] }, host: { properties: { "attr.data-state": "state" } }, exportAs: ["rdxOverlayTrigger"], ngImport: i0 }); }
|
240
|
+
}
|
241
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxOverlayTriggerDirective, decorators: [{
|
242
|
+
type: Directive,
|
243
|
+
args: [{
|
244
|
+
selector: '[rdxOverlayTrigger]',
|
245
|
+
standalone: true,
|
246
|
+
exportAs: 'rdxOverlayTrigger',
|
247
|
+
host: {
|
248
|
+
'[attr.data-state]': 'state'
|
249
|
+
}
|
250
|
+
}]
|
251
|
+
}], propDecorators: { templateRef: [{
|
252
|
+
type: Input,
|
253
|
+
args: [{ alias: 'rdxOverlayTrigger', required: true }]
|
254
|
+
}], disabled: [{
|
255
|
+
type: Input,
|
256
|
+
args: [{ alias: 'rdxOverlayDisabled', transform: booleanAttribute }]
|
257
|
+
}], placement: [{
|
258
|
+
type: Input,
|
259
|
+
args: ['rdxOverlayPlacement']
|
260
|
+
}], offset: [{
|
261
|
+
type: Input,
|
262
|
+
args: [{ alias: 'rdxOverlayOffset', transform: numberAttribute }]
|
263
|
+
}], showDelay: [{
|
264
|
+
type: Input,
|
265
|
+
args: [{ alias: 'rdxOverlayShowDelay', transform: numberAttribute }]
|
266
|
+
}], hideDelay: [{
|
267
|
+
type: Input,
|
268
|
+
args: [{ alias: 'rdxOverlayHideDelay', transform: numberAttribute }]
|
269
|
+
}], shift: [{
|
270
|
+
type: Input,
|
271
|
+
args: [{ alias: 'rdxOverlayShift', transform: booleanAttribute }]
|
272
|
+
}], flip: [{
|
273
|
+
type: Input,
|
274
|
+
args: [{ alias: 'rdxOverlayFlip', transform: booleanAttribute }]
|
275
|
+
}], container: [{
|
276
|
+
type: Input,
|
277
|
+
args: ['rdxOverlayContainer']
|
278
|
+
}] } });
|
279
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvb3ZlcmxheS9zcmMvb3ZlcmxheS10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvREFBb0Q7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQ0gsY0FBYyxFQUNkLGdCQUFnQixFQUNoQix3QkFBd0IsRUFDeEIsU0FBUyxFQUNULFVBQVUsRUFFVixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxlQUFlLEVBRWYsV0FBVyxFQUNYLGdCQUFnQixFQUNuQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0gsS0FBSyxFQUNMLFVBQVUsRUFDVixlQUFlLEVBQ2YsSUFBSSxFQUVKLE1BQU0sRUFFTixLQUFLLEVBQ1IsTUFBTSxrQkFBa0IsQ0FBQztBQUcxQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFXakUsTUFBTSxPQUFPLDBCQUEwQjtJQVJ2QztRQVNJOztXQUVHO1FBQ2MsV0FBTSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVqRDs7V0FFRztRQUNjLDZCQUF3QixHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBRTdFOztXQUVHO1FBQ2MsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU3Qzs7V0FFRztRQUNjLFlBQU8sR0FBRyxNQUFNLENBQUMsQ0FBQSxVQUF1QixDQUFBLENBQUMsQ0FBQztRQUUzRDs7V0FFRztRQUNjLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFPMUQ7OztXQUdHO1FBQ2tFLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFdEY7OztXQUdHO1FBQzJCLGNB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S0FBSyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBTUQsS0FBSztzQkFBdEUsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBTUMsSUFBSTtzQkFBcEUsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBTWpDLFNBQVM7c0JBQXRDLEtBQUs7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZSAqL1xuaW1wb3J0IHsgRG9tUG9ydGFsT3V0bGV0LCBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgICBBcHBsaWNhdGlvblJlZixcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFbWJlZGRlZFZpZXdSZWYsXG4gICAgaW5qZWN0LFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIG51bWJlckF0dHJpYnV0ZSxcbiAgICBTdGF0aWNQcm92aWRlcixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICAgIGFycm93LFxuICAgIGF1dG9VcGRhdGUsXG4gICAgY29tcHV0ZVBvc2l0aW9uLFxuICAgIGZsaXAsXG4gICAgTWlkZGxld2FyZSxcbiAgICBvZmZzZXQsXG4gICAgUGxhY2VtZW50LFxuICAgIHNoaWZ0XG59IGZyb20gJ0BmbG9hdGluZy11aS9kb20nO1xuXG5pbXBvcnQgdHlwZSB7IFJkeE92ZXJsYXlBcnJvd0RpcmVjdGl2ZSB9IGZyb20gJy4vb3ZlcmxheS1hcnJvdy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmR4T3ZlcmxheVRyaWdnZXJUb2tlbiB9IGZyb20gJy4vb3ZlcmxheS10cmlnZ2VyLnRva2VuJztcbmltcG9ydCB0eXBlIHsgUmR4T3ZlcmxheURpcmVjdGl2ZSB9IGZyb20gJy4vb3ZlcmxheS5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhPdmVybGF5VHJpZ2dlcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgZXhwb3J0QXM6ICdyZHhPdmVybGF5VHJpZ2dlcicsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiAnc3RhdGUnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBSZHhPdmVybGF5VHJpZ2dlckRpcmVjdGl2ZSB7XG4gICAgLyoqXG4gICAgICogQWNjZXNzIHRoZSBhcHBsaWNhdGlvbiByZWZcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcFJlZiA9IGluamVjdChBcHBsaWNhdGlvblJlZik7XG5cbiAgICAvKipcbiAgICAgKiBBY2Nlc3MgdGhlIGNvbXBvbmVudCBmYWN0b3J5IHJlc29sdmVyXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgPSBpbmplY3QoQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKTtcblxuICAgIC8qKlxuICAgICAqIEFjY2VzcyB0aGUgaW5qZWN0b3JcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICAgIC8qKlxuICAgICAqIEFjY2VzcyB0aGUgdHJpZ2dlciBlbGVtZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmlnZ2VyID0gaW5qZWN0KEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KTtcblxuICAgIC8qKlxuICAgICAqIEFjY2VzcyB0aGUgdmlldyBjb250YWluZXJcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXIgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmUgdGhlIG92ZXJsYXkgdG8gZGlzcGxheSB3aGVuIHRoZSB0cmlnZ2VyIGlzIGFjdGl2YXRlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoeyBhbGlhczogJ3JkeE92ZXJsYXlUcmlnZ2VyJywgcmVxdWlyZWQ6IHRydWUgfSkgdGVtcGxhdGVSZWYhOiBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICAgIC8qKlxuICAgICAqIERlZmluZSBpZiB0aGUgdHJpZ2dlciBzaG91bGQgYmUgZGlzYWJsZWQuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyBhbGlhczogJ3JkeE92ZXJsYXlEaXNhYmxlZCcsIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lIHRoZSBwbGFjZW1lbnQgb2YgdGhlIG92ZXJsYXkgcmVsYXRpdmUgdG8gdGhlIHRyaWdnZXIuXG4gICAgICogQGRlZmF1bHQgJ2JvdHRvbSdcbiAgICAgKi9cbiAgICBASW5wdXQoJ3JkeE92ZXJsYXlQbGFjZW1lbnQnKSBwbGFjZW1lbnQ6IFBsYWNlbWVudCA9ICd0b3AnO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lIHRoZSBvZmZzZXQgb2YgdGhlIG92ZXJsYXkgcmVsYXRpdmUgdG8gdGhlIHRyaWdnZXIuXG4gICAgICogQGRlZmF1bHQgNFxuICAgICAqL1xuICAgIEBJbnB1dCh7IGFsaWFzOiAncmR4T3ZlcmxheU9mZnNldCcsIHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIG9mZnNldCA9IDQ7XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmUgdGhlIGRlbGF5IGJlZm9yZSB0aGUgb3ZlcmxheSBpcyBkaXNwbGF5ZWQuXG4gICAgICogQGRlZmF1bHQgMFxuICAgICAqL1xuICAgIEBJbnB1dCh7IGFsaWFzOiAncmR4T3ZlcmxheVNob3dEZWxheScsIHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHNob3dEZWxheSA9IDA7XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmUgdGhlIGRlbGF5IGJlZm9yZSB0aGUgb3ZlcmxheSBpcyBoaWRkZW4uXG4gICAgICogQGRlZmF1bHQgMFxuICAgICAqL1xuICAgIEBJbnB1dCh7IGFsaWFzOiAncmR4T3ZlcmxheUhpZGVEZWxheScsIHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIGhpZGVEZWxheSA9IDA7XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmUgd2hldGhlciB0aGUgb3ZlcmxheSBzaG91bGQgc2hpZnQgd2hlbiB0aGUgb3ZlcmxheSBpcyBuZWFyIHRoZSBlZGdlIG9mIHRoZSB2aWV3cG9ydC5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgQElucHV0KHsgYWxpYXM6ICdyZHhPdmVybGF5U2hpZnQnLCB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hpZnQgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lIHdoZXRoZXIgdGhlIG92ZXJsYXkgc2hvdWxkIGZsaXAgd2hlbiB0aGVyZSBpcyBub3QgZW5vdWdoIHNwYWNlIGZvciB0aGUgb3ZlcmxheS5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgQElucHV0KHsgYWxpYXM6ICdyZHhPdmVybGF5RmxpcCcsIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBmbGlwID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIERlZmluZSB0aGUgY29udGFpbmVyIGluIHRvIHdoaWNoIHRoZSBvdmVybGF5IHNob3VsZCBiZSBhdHRhY2hlZC5cbiAgICAgKiBAZGVmYXVsdCBkb2N1bWVudC5ib2R5XG4gICAgICovXG4gICAgQElucHV0KCdyZHhPdmVybGF5Q29udGFpbmVyJykgY29udGFpbmVyOiBIVE1MRWxlbWVudCA9IGRvY3VtZW50LmJvZHk7XG5cbiAgICAvKipcbiAgICAgKiBTdG9yZSB0aGUgb3ZlcmxheSBjb250ZW50IGluc3RhbmNlLlxuICAgICAqL1xuICAgIHByaXZhdGUgb3ZlcmxheTogUmR4T3ZlcmxheURpcmVjdGl2ZSB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogU3RvcmUgdGhlIG92ZXJsYXkgYXJyb3cgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHJpdmF0ZSBhcnJvdzogUmR4T3ZlcmxheUFycm93RGlyZWN0aXZlIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBTdG9yZSB0aGUgdmlldyByZWZcbiAgICAgKi9cbiAgICBwcml2YXRlIHZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjx2b2lkPiB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogU3RvcmUgdGhlIHNob3cgZGVsYXkgdGltZW91dFxuICAgICAqL1xuICAgIHByaXZhdGUgc2hvd0RlbGF5VGltZW91dDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBTdG9yZSB0aGUgaGlkZSBkZWxheSB0aW1lb3V0XG4gICAgICovXG4gICAgcHJpdmF0ZSBoaWRlRGVsYXlUaW1lb3V0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFN0b3JlIHRoZSBkaXNwb3NlIGZ1bmN0aW9uXG4gICAgICovXG4gICAgcHJpdmF0ZSBkaXNwb3NlPzogKCkgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFN0b3JlIGFkZGl0aW9uYWwgcHJvdmlkZXJzIHRvIHJlZ2lzdGVyIG9uIHRoZSBvdmVybGF5LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvdmlkZXJzOiBTdGF0aWNQcm92aWRlcltdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmUgdGhlIHN0YXRlIG9mIHRoZSBvdmVybGF5LlxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy52aWV3UmVmO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERldGVybWluZSB0aGUgc3RhdGUgb2YgdGhlIG92ZXJsYXkuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldCBzdGF0ZSgpOiAnY2xvc2VkJyB8ICdvcGVuaW5nJyB8ICdvcGVuJyB8ICdjbG9zaW5nJyB7XG4gICAgICAgIGlmICh0aGlzLnNob3dEZWxheVRpbWVvdXQpIHtcbiAgICAgICAgICAgIHJldHVybiAnb3BlbmluZyc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5oaWRlRGVsYXlUaW1lb3V0KSB7XG4gICAgICAgICAgICByZXR1cm4gJ2Nsb3NpbmcnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPcGVuID8gJ29wZW4nIDogJ2Nsb3NlZCc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlIHRoZSBvdmVybGF5LlxuICAgICAqL1xuICAgIHByaXZhdGUgY3JlYXRlT3ZlcmxheSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZG9tUG9ydGFsID0gbmV3IERvbVBvcnRhbE91dGxldChcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLFxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgICAgICB0aGlzLmFwcFJlZixcbiAgICAgICAgICAgIHRoaXMuaW5qZWN0b3JcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCB0ZW1wbGF0ZVBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbChcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVSZWYsXG4gICAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXIsXG4gICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvcixcbiAgICAgICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogUmR4T3ZlcmxheVRyaWdnZXJUb2tlbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiB0aGlzXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMucHJvdmlkZXJzXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnZpZXdSZWYgPSBkb21Qb3J0YWwuYXR0YWNoKHRlbXBsYXRlUG9ydGFsKTtcbiAgICAgICAgdGhpcy52aWV3UmVmLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZU92ZXJsYXlQb3NpdGlvbigpO1xuICAgICAgICB0aGlzLnNob3dEZWxheVRpbWVvdXQgPSBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSB0aGUgb3ZlcmxheSBwb3NpdGlvbi5cbiAgICAgKi9cbiAgICBwcml2YXRlIHVwZGF0ZU92ZXJsYXlQb3NpdGlvbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnZpZXdSZWYpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG92ZXJsYXlFbGVtZW50ID0gdGhpcy52aWV3UmVmLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgICBjb25zdCBtaWRkbGV3YXJlOiBNaWRkbGV3YXJlW10gPSBbXTtcblxuICAgICAgICBpZiAodGhpcy5vZmZzZXQpIHtcbiAgICAgICAgICAgIG1pZGRsZXdhcmUucHVzaChvZmZzZXQodGhpcy5vZmZzZXQpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNoaWZ0KSB7XG4gICAgICAgICAgICBtaWRkbGV3YXJlLnB1c2goc2hpZnQoKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5mbGlwKSB7XG4gICAgICAgICAgICBtaWRkbGV3YXJlLnB1c2goZmxpcCgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGlmIHRoZXJlIGlzIGFuIGFycm93IGRlZmluZWQsIHdlIG5lZWQgdG8gYWRkIHRoZSBhcnJvdyBtaWRkbGV3YXJlXG4gICAgICAgIGlmICh0aGlzLmFycm93KSB7XG4gICAgICAgICAgICBtaWRkbGV3YXJlLnB1c2goYXJyb3coeyBlbGVtZW50OiB0aGlzLmFycm93LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCB9KSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRpc3Bvc2UgPSBhdXRvVXBkYXRlKHRoaXMudHJpZ2dlci5uYXRpdmVFbGVtZW50LCBvdmVybGF5RWxlbWVudCwgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcG9zaXRpb24gPSBhd2FpdCBjb21wdXRlUG9zaXRpb24odGhpcy50cmlnZ2VyLm5hdGl2ZUVsZW1lbnQsIG92ZXJsYXlFbGVtZW50LCB7XG4gICAgICAgICAgICAgICAgcGxhY2VtZW50OiB0aGlzLnBsYWNlbWVudCxcbiAgICAgICAgICAgICAgICBtaWRkbGV3YXJlXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5vdmVybGF5Py5zZXRQb3NpdGlvbihwb3NpdGlvbi54LCBwb3NpdGlvbi55KTtcblxuICAgICAgICAgICAgaWYgKHBvc2l0aW9uLm1pZGRsZXdhcmVEYXRhLmFycm93KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvdz8uc2V0UG9zaXRpb24oXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGxhY2VtZW50LFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbi5taWRkbGV3YXJlRGF0YS5hcnJvdy54LFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbi5taWRkbGV3YXJlRGF0YS5hcnJvdy55XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVzdHJveSB0aGUgb3ZlcmxheS5cbiAgICAgKi9cbiAgICBwcml2YXRlIGRlc3Ryb3lPdmVybGF5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnZpZXdSZWY/LmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy52aWV3UmVmID0gbnVsbDtcblxuICAgICAgICB0aGlzLmRpc3Bvc2U/LigpO1xuICAgICAgICB0aGlzLmhpZGVEZWxheVRpbWVvdXQgPSBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJsYXkuXG4gICAgICovXG4gICAgc2hvdygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5pc09wZW4pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmhpZGVEZWxheVRpbWVvdXQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmhpZGVEZWxheVRpbWVvdXQpO1xuICAgICAgICAgICAgdGhpcy5oaWRlRGVsYXlUaW1lb3V0ID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2hvd0RlbGF5VGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHRoaXMuY3JlYXRlT3ZlcmxheSgpLCB0aGlzLnNob3dEZWxheSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmxheS5cbiAgICAgKi9cbiAgICBoaWRlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNPcGVuKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5zaG93RGVsYXlUaW1lb3V0KSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5zaG93RGVsYXlUaW1lb3V0KTtcbiAgICAgICAgICAgIHRoaXMuc2hvd0RlbGF5VGltZW91dCA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhpZGVEZWxheVRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB0aGlzLmRlc3Ryb3lPdmVybGF5KCksIHRoaXMuaGlkZURlbGF5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWdpc3RlciB0aGUgb3ZlcmxheS5cbiAgICAgKiBAcGFyYW0gb3ZlcmxheSBUaGUgb3ZlcmxheSB0byByZWdpc3Rlci5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICByZWdpc3Rlck92ZXJsYXkob3ZlcmxheTogUmR4T3ZlcmxheURpcmVjdGl2ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLm92ZXJsYXkgPSBvdmVybGF5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVucmVnaXN0ZXIgdGhlIG92ZXJsYXkuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgdW5yZWdpc3Rlck92ZXJsYXkoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3ZlcmxheSA9IG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVnaXN0ZXIgdGhlIGFycm93LlxuICAgICAqIEBwYXJhbSBhcnJvdyBUaGUgYXJyb3cgdG8gcmVnaXN0ZXIuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcmVnaXN0ZXJBcnJvdyhhcnJvdzogUmR4T3ZlcmxheUFycm93RGlyZWN0aXZlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYXJyb3cgPSBhcnJvdztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVbnJlZ2lzdGVyIHRoZSBhcnJvdy5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICB1bnJlZ2lzdGVyQXJyb3coKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYXJyb3cgPSBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZ2lzdGVyIGEgcHJvdmlkZXIgb24gdGhlIG92ZXJsYXkuXG4gICAgICogQHBhcmFtIHByb3ZpZGVyIFRoZSBwcm92aWRlciB0byByZWdpc3Rlci5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICByZWdpc3RlclByb3ZpZGVyKHByb3ZpZGVyOiBTdGF0aWNQcm92aWRlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnByb3ZpZGVycy5wdXNoKHByb3ZpZGVyKTtcbiAgICB9XG59XG4iXX0=
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { inject, InjectionToken } from '@angular/core';
|
2
|
+
export const RdxOverlayTriggerToken = new InjectionToken('RdxOverlayTriggerToken');
|
3
|
+
/**
|
4
|
+
* Inject the overlay trigger directive
|
5
|
+
*/
|
6
|
+
export function injectOverlayTrigger() {
|
7
|
+
return inject(RdxOverlayTriggerToken);
|
8
|
+
}
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS10cmlnZ2VyLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9vdmVybGF5L3NyYy9vdmVybGF5LXRyaWdnZXIudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJdkQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQ3BELHdCQUF3QixDQUMzQixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CO0lBQ2hDLE9BQU8sTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFDMUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHR5cGUgeyBSZHhPdmVybGF5VHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4vb3ZlcmxheS10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBSZHhPdmVybGF5VHJpZ2dlclRva2VuID0gbmV3IEluamVjdGlvblRva2VuPFJkeE92ZXJsYXlUcmlnZ2VyRGlyZWN0aXZlPihcbiAgICAnUmR4T3ZlcmxheVRyaWdnZXJUb2tlbidcbik7XG5cbi8qKlxuICogSW5qZWN0IHRoZSBvdmVybGF5IHRyaWdnZXIgZGlyZWN0aXZlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RPdmVybGF5VHJpZ2dlcigpOiBSZHhPdmVybGF5VHJpZ2dlckRpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIGluamVjdChSZHhPdmVybGF5VHJpZ2dlclRva2VuKTtcbn1cbiJdfQ==
|
@@ -0,0 +1,51 @@
|
|
1
|
+
import { Directive, ElementRef, inject } from '@angular/core';
|
2
|
+
import { injectOverlayTrigger } from './overlay-trigger.token';
|
3
|
+
import { RdxOverlayToken } from './overlay.token';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
export class RdxOverlayDirective {
|
6
|
+
constructor() {
|
7
|
+
/**
|
8
|
+
* Access the overlay element
|
9
|
+
*/
|
10
|
+
this.elementRef = inject((ElementRef));
|
11
|
+
/**
|
12
|
+
* Access the overlay trigger
|
13
|
+
*/
|
14
|
+
this.overlayTrigger = injectOverlayTrigger();
|
15
|
+
}
|
16
|
+
/**
|
17
|
+
* Register the overlay on init
|
18
|
+
*/
|
19
|
+
ngOnInit() {
|
20
|
+
this.overlayTrigger.registerOverlay(this);
|
21
|
+
}
|
22
|
+
/**
|
23
|
+
* Unregister the overlay on destroy
|
24
|
+
*/
|
25
|
+
ngOnDestroy() {
|
26
|
+
this.overlayTrigger.unregisterOverlay();
|
27
|
+
}
|
28
|
+
/**
|
29
|
+
* Set the position of the overlay
|
30
|
+
* @param x The x position
|
31
|
+
* @param y The y position
|
32
|
+
* @internal
|
33
|
+
*/
|
34
|
+
setPosition(x, y) {
|
35
|
+
Object.assign(this.elementRef.nativeElement.style, {
|
36
|
+
left: `${x}px`,
|
37
|
+
top: `${y}px`
|
38
|
+
});
|
39
|
+
}
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxOverlayDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
41
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: RdxOverlayDirective, isStandalone: true, selector: "[rdxOverlay]", providers: [{ provide: RdxOverlayToken, useExisting: RdxOverlayDirective }], ngImport: i0 }); }
|
42
|
+
}
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxOverlayDirective, decorators: [{
|
44
|
+
type: Directive,
|
45
|
+
args: [{
|
46
|
+
selector: '[rdxOverlay]',
|
47
|
+
standalone: true,
|
48
|
+
providers: [{ provide: RdxOverlayToken, useExisting: RdxOverlayDirective }]
|
49
|
+
}]
|
50
|
+
}] });
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL292ZXJsYXkvc3JjL292ZXJsYXkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFakYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQU9sRCxNQUFNLE9BQU8sbUJBQW1CO0lBTGhDO1FBTUk7O1dBRUc7UUFDYyxlQUFVLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBdUIsQ0FBQSxDQUFDLENBQUM7UUFFOUQ7O1dBRUc7UUFDYyxtQkFBYyxHQUFHLG9CQUFvQixFQUFFLENBQUM7S0E0QjVEO0lBMUJHOztPQUVHO0lBQ0gsUUFBUTtRQUNKLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDUCxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsV0FBVyxDQUFDLENBQVUsRUFBRSxDQUFVO1FBQzlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFO1lBQy9DLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSTtZQUNkLEdBQUcsRUFBRSxHQUFHLENBQUMsSUFBSTtTQUNoQixDQUFDLENBQUM7SUFDUCxDQUFDOzhHQXBDUSxtQkFBbUI7a0dBQW5CLG1CQUFtQiwyREFGakIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLENBQUM7OzJGQUVsRSxtQkFBbUI7a0JBTC9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxxQkFBcUIsRUFBRSxDQUFDO2lCQUM5RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBpbmplY3RPdmVybGF5VHJpZ2dlciB9IGZyb20gJy4vb3ZlcmxheS10cmlnZ2VyLnRva2VuJztcbmltcG9ydCB7IFJkeE92ZXJsYXlUb2tlbiB9IGZyb20gJy4vb3ZlcmxheS50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeE92ZXJsYXldJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogUmR4T3ZlcmxheVRva2VuLCB1c2VFeGlzdGluZzogUmR4T3ZlcmxheURpcmVjdGl2ZSB9XVxufSlcbmV4cG9ydCBjbGFzcyBSZHhPdmVybGF5RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIEFjY2VzcyB0aGUgb3ZlcmxheSBlbGVtZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KTtcblxuICAgIC8qKlxuICAgICAqIEFjY2VzcyB0aGUgb3ZlcmxheSB0cmlnZ2VyXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBvdmVybGF5VHJpZ2dlciA9IGluamVjdE92ZXJsYXlUcmlnZ2VyKCk7XG5cbiAgICAvKipcbiAgICAgKiBSZWdpc3RlciB0aGUgb3ZlcmxheSBvbiBpbml0XG4gICAgICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3ZlcmxheVRyaWdnZXIucmVnaXN0ZXJPdmVybGF5KHRoaXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVucmVnaXN0ZXIgdGhlIG92ZXJsYXkgb24gZGVzdHJveVxuICAgICAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm92ZXJsYXlUcmlnZ2VyLnVucmVnaXN0ZXJPdmVybGF5KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBwb3NpdGlvbiBvZiB0aGUgb3ZlcmxheVxuICAgICAqIEBwYXJhbSB4IFRoZSB4IHBvc2l0aW9uXG4gICAgICogQHBhcmFtIHkgVGhlIHkgcG9zaXRpb25cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBzZXRQb3NpdGlvbih4PzogbnVtYmVyLCB5PzogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUsIHtcbiAgICAgICAgICAgIGxlZnQ6IGAke3h9cHhgLFxuICAgICAgICAgICAgdG9wOiBgJHt5fXB4YFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
@@ -0,0 +1,3 @@
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
2
|
+
export const RdxOverlayToken = new InjectionToken('RdxOverlayToken');
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvb3ZlcmxheS9zcmMvb3ZlcmxheS50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSS9DLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBc0IsaUJBQWlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB0eXBlIHsgUmR4T3ZlcmxheURpcmVjdGl2ZSB9IGZyb20gJy4vb3ZlcmxheS5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgUmR4T3ZlcmxheVRva2VuID0gbmV3IEluamVjdGlvblRva2VuPFJkeE92ZXJsYXlEaXJlY3RpdmU+KCdSZHhPdmVybGF5VG9rZW4nKTtcbiJdfQ==
|
@@ -1,14 +1,14 @@
|
|
1
1
|
import { Directive } from '@angular/core';
|
2
2
|
import { injectProgress } from './progress.token';
|
3
3
|
import * as i0 from "@angular/core";
|
4
|
-
export class
|
4
|
+
export class RdxProgressIndicatorDirective {
|
5
5
|
constructor() {
|
6
6
|
this.progress = injectProgress();
|
7
7
|
}
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type:
|
9
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type:
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxProgressIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
9
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: RdxProgressIndicatorDirective, isStandalone: true, selector: "[rdxProgressIndicator]", host: { properties: { "attr.data-state": "progress.state", "attr.data-value": "progress.value", "attr.data-max": "progress.max" } }, ngImport: i0 }); }
|
10
10
|
}
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type:
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxProgressIndicatorDirective, decorators: [{
|
12
12
|
type: Directive,
|
13
13
|
args: [{
|
14
14
|
selector: '[rdxProgressIndicator]',
|
@@ -20,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
20
20
|
}
|
21
21
|
}]
|
22
22
|
}] });
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvcHJvZ3Jlc3Mvc3JjL3Byb2dyZXNzLWluZGljYXRvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBV2xELE1BQU0sT0FBTyw2QkFBNkI7SUFUMUM7UUFVdUIsYUFBUSxHQUFHLGNBQWMsRUFBRSxDQUFDO0tBQ2xEOzhHQUZZLDZCQUE2QjtrR0FBN0IsNkJBQTZCOzsyRkFBN0IsNkJBQTZCO2tCQVR6QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsbUJBQW1CLEVBQUUsZ0JBQWdCO3dCQUNyQyxtQkFBbUIsRUFBRSxnQkFBZ0I7d0JBQ3JDLGlCQUFpQixFQUFFLGNBQWM7cUJBQ3BDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGluamVjdFByb2dyZXNzIH0gZnJvbSAnLi9wcm9ncmVzcy50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFByb2dyZXNzSW5kaWNhdG9yXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLXN0YXRlXSc6ICdwcm9ncmVzcy5zdGF0ZScsXG4gICAgICAgICdbYXR0ci5kYXRhLXZhbHVlXSc6ICdwcm9ncmVzcy52YWx1ZScsXG4gICAgICAgICdbYXR0ci5kYXRhLW1heF0nOiAncHJvZ3Jlc3MubWF4J1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4UHJvZ3Jlc3NJbmRpY2F0b3JEaXJlY3RpdmUge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBwcm9ncmVzcyA9IGluamVjdFByb2dyZXNzKCk7XG59XG4iXX0=
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { Directive, Input, numberAttribute } from '@angular/core';
|
2
|
-
import {
|
2
|
+
import { RdxProgressToken } from './progress.token';
|
3
3
|
import * as i0 from "@angular/core";
|
4
|
-
export class
|
4
|
+
export class RdxProgressDirective {
|
5
5
|
constructor() {
|
6
6
|
/**
|
7
7
|
* Define the progress value.
|
@@ -29,15 +29,15 @@ export class ProgressDirective {
|
|
29
29
|
? 'complete'
|
30
30
|
: 'loading';
|
31
31
|
}
|
32
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type:
|
33
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.3", type:
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxProgressDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
33
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.3", type: RdxProgressDirective, isStandalone: true, selector: "[rdxProgress]", inputs: { value: ["rdxProgressValue", "value", numberAttribute], max: ["rdxProgressMax", "max", numberAttribute], valueLabel: ["rdxProgressValueLabel", "valueLabel"] }, host: { attributes: { "role": "progressbar" }, properties: { "attr.aria-valuemax": "max", "attr.aria-valuemin": "0", "attr.aria-valuenow": "value", "attr.aria-valuetext": "valueLabel(value, max)", "attr.data-state": "state", "attr.data-value": "value", "attr.data-max": "max" } }, providers: [{ provide: RdxProgressToken, useExisting: RdxProgressDirective }], ngImport: i0 }); }
|
34
34
|
}
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type:
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxProgressDirective, decorators: [{
|
36
36
|
type: Directive,
|
37
37
|
args: [{
|
38
38
|
selector: '[rdxProgress]',
|
39
39
|
standalone: true,
|
40
|
-
providers: [{ provide:
|
40
|
+
providers: [{ provide: RdxProgressToken, useExisting: RdxProgressDirective }],
|
41
41
|
host: {
|
42
42
|
role: 'progressbar',
|
43
43
|
'[attr.aria-valuemax]': 'max',
|
@@ -59,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
59
59
|
type: Input,
|
60
60
|
args: ['rdxProgressValueLabel']
|
61
61
|
}] } });
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9wcm9ncmVzcy9zcmMvcHJvZ3Jlc3MuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFpQnBELE1BQU0sT0FBTyxvQkFBb0I7SUFmakM7UUFnQkk7O1dBRUc7UUFDK0QsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUU1RTs7O1dBR0c7UUFDNkQsUUFBRyxHQUFHLEdBQUcsQ0FBQztRQUUxRTs7V0FFRztRQUM2QixlQUFVLEdBQTJDLENBQ2pGLEtBQUssRUFDTCxHQUFHLEVBQ0wsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDO0tBYzlDO0lBWkc7Ozs7T0FJRztJQUNILElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJO1lBQ3JCLENBQUMsQ0FBQyxlQUFlO1lBQ2pCLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxHQUFHO2dCQUN2QixDQUFDLENBQUMsVUFBVTtnQkFDWixDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3RCLENBQUM7OEdBL0JRLG9CQUFvQjtrR0FBcEIsb0JBQW9CLGdHQUlrQixlQUFlLGtDQU1qQixlQUFlLDhWQXRCakQsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQzs7MkZBWXBFLG9CQUFvQjtrQkFmaEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsc0JBQXNCLEVBQUUsQ0FBQztvQkFDN0UsSUFBSSxFQUFFO3dCQUNGLElBQUksRUFBRSxhQUFhO3dCQUNuQixzQkFBc0IsRUFBRSxLQUFLO3dCQUM3QixzQkFBc0IsRUFBRSxHQUFHO3dCQUMzQixzQkFBc0IsRUFBRSxPQUFPO3dCQUMvQix1QkFBdUIsRUFBRSx3QkFBd0I7d0JBQ2pELG1CQUFtQixFQUFFLE9BQU87d0JBQzVCLG1CQUFtQixFQUFFLE9BQU87d0JBQzVCLGlCQUFpQixFQUFFLEtBQUs7cUJBQzNCO2lCQUNKOzhCQUtxRSxLQUFLO3NCQUF0RSxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBTUEsR0FBRztzQkFBbEUsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUs5QixVQUFVO3NCQUF6QyxLQUFLO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIG51bWJlckF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBSZHhQcm9ncmVzc1Rva2VuIH0gZnJvbSAnLi9wcm9ncmVzcy50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFByb2dyZXNzXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFJkeFByb2dyZXNzVG9rZW4sIHVzZUV4aXN0aW5nOiBSZHhQcm9ncmVzc0RpcmVjdGl2ZSB9XSxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICdwcm9ncmVzc2JhcicsXG4gICAgICAgICdbYXR0ci5hcmlhLXZhbHVlbWF4XSc6ICdtYXgnLFxuICAgICAgICAnW2F0dHIuYXJpYS12YWx1ZW1pbl0nOiAnMCcsXG4gICAgICAgICdbYXR0ci5hcmlhLXZhbHVlbm93XSc6ICd2YWx1ZScsXG4gICAgICAgICdbYXR0ci5hcmlhLXZhbHVldGV4dF0nOiAndmFsdWVMYWJlbCh2YWx1ZSwgbWF4KScsXG4gICAgICAgICdbYXR0ci5kYXRhLXN0YXRlXSc6ICdzdGF0ZScsXG4gICAgICAgICdbYXR0ci5kYXRhLXZhbHVlXSc6ICd2YWx1ZScsXG4gICAgICAgICdbYXR0ci5kYXRhLW1heF0nOiAnbWF4J1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4UHJvZ3Jlc3NEaXJlY3RpdmUge1xuICAgIC8qKlxuICAgICAqIERlZmluZSB0aGUgcHJvZ3Jlc3MgdmFsdWUuXG4gICAgICovXG4gICAgQElucHV0KHsgYWxpYXM6ICdyZHhQcm9ncmVzc1ZhbHVlJywgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgdmFsdWUgPSAwO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lIHRoZSBwcm9ncmVzcyBtYXggdmFsdWUuXG4gICAgICogQGRlZmF1bHQgMTAwXG4gICAgICovXG4gICAgQElucHV0KHsgYWxpYXM6ICdyZHhQcm9ncmVzc01heCcsIHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIG1heCA9IDEwMDtcblxuICAgIC8qKlxuICAgICAqIERlZmluZSBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgcHJvZ3Jlc3MgdmFsdWUgbGFiZWwuXG4gICAgICovXG4gICAgQElucHV0KCdyZHhQcm9ncmVzc1ZhbHVlTGFiZWwnKSB2YWx1ZUxhYmVsOiAodmFsdWU6IG51bWJlciwgbWF4OiBudW1iZXIpID0+IHN0cmluZyA9IChcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIG1heFxuICAgICkgPT4gYCR7TWF0aC5yb3VuZCgodmFsdWUgLyBtYXgpICogMTAwKX0lYDtcblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgc3RhdGUgb2YgdGhlIHByb2dyZXNzIGJhci5cbiAgICAgKiBAcmV0dXJucyAnaW5kZXRlcm1pbmF0ZScgfCAnbG9hZGluZycgfCAnY29tcGxldGUnXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgZ2V0IHN0YXRlKCk6ICdpbmRldGVybWluYXRlJyB8ICdsb2FkaW5nJyB8ICdjb21wbGV0ZScge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSA9PSBudWxsXG4gICAgICAgICAgICA/ICdpbmRldGVybWluYXRlJ1xuICAgICAgICAgICAgOiB0aGlzLnZhbHVlID09PSB0aGlzLm1heFxuICAgICAgICAgICAgICA/ICdjb21wbGV0ZSdcbiAgICAgICAgICAgICAgOiAnbG9hZGluZyc7XG4gICAgfVxufVxuIl19
|
@@ -1,6 +1,6 @@
|
|
1
|
-
import {
|
2
|
-
export const
|
1
|
+
import { inject, InjectionToken } from '@angular/core';
|
2
|
+
export const RdxProgressToken = new InjectionToken('RdxProgressDirective');
|
3
3
|
export function injectProgress() {
|
4
|
-
return inject(
|
4
|
+
return inject(RdxProgressToken);
|
5
5
|
}
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3Byb2dyZXNzL3NyYy9wcm9ncmVzcy50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUl2RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBdUIsc0JBQXNCLENBQUMsQ0FBQztBQUVqRyxNQUFNLFVBQVUsY0FBYztJQUMxQixPQUFPLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB0eXBlIHsgUmR4UHJvZ3Jlc3NEaXJlY3RpdmUgfSBmcm9tICcuL3Byb2dyZXNzLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBSZHhQcm9ncmVzc1Rva2VuID0gbmV3IEluamVjdGlvblRva2VuPFJkeFByb2dyZXNzRGlyZWN0aXZlPignUmR4UHJvZ3Jlc3NEaXJlY3RpdmUnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFByb2dyZXNzKCk6IFJkeFByb2dyZXNzRGlyZWN0aXZlIHtcbiAgICByZXR1cm4gaW5qZWN0KFJkeFByb2dyZXNzVG9rZW4pO1xufVxuIl19
|
package/esm2022/radio/index.mjs
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
export * from './src/radio-group.directive';
|
2
|
-
export * from './src/radio-item.directive';
|
3
2
|
export * from './src/radio-group.token';
|
4
3
|
export * from './src/radio-indicator.directive';
|
4
|
+
export * from './src/radio-item.directive';
|
5
5
|
export * from './src/radio-item.token';
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3JhZGlvL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL3JhZGlvLWdyb3VwLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9yYWRpby1ncm91cC50b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9yYWRpby1pbmRpY2F0b3IuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3JhZGlvLWl0ZW0uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3JhZGlvLWl0ZW0udG9rZW4nO1xuIl19
|