@radix-ng/primitives 0.14.0 → 0.15.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/alert-dialog/index.d.ts +11 -0
- package/alert-dialog/src/alert-dialog-cancel.directive.d.ts +3 -3
- package/alert-dialog/src/alert-dialog-content.directive.d.ts +3 -3
- package/alert-dialog/src/alert-dialog-root.directive.d.ts +3 -3
- package/alert-dialog/src/alert-dialog-title.directive.d.ts +3 -3
- package/alert-dialog/src/alert-dialog-trigger.directive.d.ts +3 -3
- package/alert-dialog/src/alert-dialog.service.d.ts +3 -3
- package/aspect-ratio/README.md +1 -0
- package/aspect-ratio/index.d.ts +1 -0
- package/aspect-ratio/src/aspect-ratio.directive.d.ts +28 -0
- package/compodoc/documentation.json +878 -292
- package/core/index.d.ts +6 -0
- package/core/src/accessor/provide-value-accessor.d.ts +12 -0
- package/core/src/auto-focus.directive.d.ts +14 -0
- package/core/src/document.d.ts +1 -0
- package/core/src/inject-ng-control.d.ts +8 -0
- package/core/src/is-client.d.ts +1 -0
- package/core/src/window.d.ts +3 -0
- package/esm2022/alert-dialog/index.mjs +35 -1
- package/esm2022/alert-dialog/src/alert-dialog-cancel.directive.mjs +7 -7
- package/esm2022/alert-dialog/src/alert-dialog-content.directive.mjs +7 -7
- package/esm2022/alert-dialog/src/alert-dialog-root.directive.mjs +7 -7
- package/esm2022/alert-dialog/src/alert-dialog-title.directive.mjs +5 -5
- package/esm2022/alert-dialog/src/alert-dialog-trigger.directive.mjs +7 -7
- package/esm2022/alert-dialog/src/alert-dialog.service.mjs +5 -5
- package/esm2022/aspect-ratio/index.mjs +2 -0
- package/esm2022/aspect-ratio/radix-ng-primitives-aspect-ratio.mjs +5 -0
- package/esm2022/aspect-ratio/src/aspect-ratio.directive.mjs +53 -0
- package/esm2022/core/index.mjs +7 -0
- package/esm2022/core/radix-ng-primitives-core.mjs +5 -0
- package/esm2022/core/src/accessor/provide-value-accessor.mjs +19 -0
- package/esm2022/core/src/auto-focus.directive.mjs +80 -0
- package/esm2022/core/src/document.mjs +6 -0
- package/esm2022/core/src/inject-ng-control.mjs +17 -0
- package/esm2022/core/src/is-client.mjs +6 -0
- package/esm2022/core/src/window.mjs +15 -0
- package/esm2022/separator/src/separator.directive.mjs +33 -15
- package/esm2022/visually-hidden/index.mjs +4 -0
- package/esm2022/visually-hidden/radix-ng-primitives-visually-hidden.mjs +5 -0
- package/esm2022/visually-hidden/src/visually-hidden-input-bubble.directive.mjs +74 -0
- package/esm2022/visually-hidden/src/visually-hidden-input.directive.mjs +74 -0
- package/esm2022/visually-hidden/src/visually-hidden.directive.mjs +42 -0
- package/fesm2022/radix-ng-primitives-alert-dialog.mjs +59 -31
- package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-aspect-ratio.mjs +60 -0
- package/fesm2022/radix-ng-primitives-aspect-ratio.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-core.mjs +144 -0
- package/fesm2022/radix-ng-primitives-core.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-separator.mjs +32 -14
- package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-visually-hidden.mjs +189 -0
- package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +1 -0
- package/package.json +19 -1
- package/separator/src/separator.directive.d.ts +29 -5
- package/visually-hidden/README.md +3 -0
- package/visually-hidden/index.d.ts +3 -0
- package/visually-hidden/src/visually-hidden-input-bubble.directive.d.ts +21 -0
- package/visually-hidden/src/visually-hidden-input.directive.d.ts +19 -0
- package/visually-hidden/src/visually-hidden.directive.d.ts +15 -0
package/core/index.d.ts
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
import { Provider, Type } from '@angular/core';
|
2
|
+
/**
|
3
|
+
* Include in the providers section of a component which utilizes ControlValueAccessor to redundant code.
|
4
|
+
*
|
5
|
+
* ```ts
|
6
|
+
* @Directive({
|
7
|
+
* providers: [provideValueAccessor(ExampleDirective)]
|
8
|
+
*}
|
9
|
+
* export class ExampleDirective{}
|
10
|
+
* ```
|
11
|
+
*/
|
12
|
+
export declare function provideValueAccessor(type: Type<never>): Provider;
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
export declare class RdxAutoFocusDirective {
|
3
|
+
#private;
|
4
|
+
private _autoSelect;
|
5
|
+
/**
|
6
|
+
* @default false
|
7
|
+
*/
|
8
|
+
set autoFocus(value: boolean);
|
9
|
+
set autoSelect(value: boolean);
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdxAutoFocusDirective, never>;
|
11
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAutoFocusDirective, "[rdxAutoFocus]", never, { "autoFocus": { "alias": "rdxAutoFocus"; "required": false; }; "autoSelect": { "alias": "autoSelect"; "required": false; }; }, {}, never, never, true, never>;
|
12
|
+
static ngAcceptInputType_autoFocus: unknown;
|
13
|
+
static ngAcceptInputType_autoSelect: unknown;
|
14
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare function injectDocument(): Document;
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { FormControlDirective, FormControlName, NgModel } from '@angular/forms';
|
2
|
+
export declare function injectNgControl(params: {
|
3
|
+
optional: true;
|
4
|
+
}): FormControlDirective | FormControlName | NgModel | undefined;
|
5
|
+
export declare function injectNgControl(params: {
|
6
|
+
optional: false;
|
7
|
+
}): FormControlDirective | FormControlName | NgModel;
|
8
|
+
export declare function injectNgControl(): FormControlDirective | FormControlName | NgModel;
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare function injectIsClient(): boolean;
|
@@ -1,7 +1,41 @@
|
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { RdxAlertDialogCancelDirective } from './src/alert-dialog-cancel.directive';
|
3
|
+
import { RdxAlertDialogContentDirective } from './src/alert-dialog-content.directive';
|
4
|
+
import { RdxAlertDialogRootDirective } from './src/alert-dialog-root.directive';
|
5
|
+
import { RdxAlertDialogTitleDirective } from './src/alert-dialog-title.directive';
|
6
|
+
import { RdxAlertDialogTriggerDirective } from './src/alert-dialog-trigger.directive';
|
7
|
+
import * as i0 from "@angular/core";
|
1
8
|
export * from './src/alert-dialog-cancel.directive';
|
2
9
|
export * from './src/alert-dialog-content.directive';
|
3
10
|
export * from './src/alert-dialog-root.directive';
|
4
11
|
export * from './src/alert-dialog-title.directive';
|
5
12
|
export * from './src/alert-dialog-trigger.directive';
|
6
13
|
export * from './src/alert-dialog.service';
|
7
|
-
|
14
|
+
const _imports = [
|
15
|
+
RdxAlertDialogRootDirective,
|
16
|
+
RdxAlertDialogContentDirective,
|
17
|
+
RdxAlertDialogCancelDirective,
|
18
|
+
RdxAlertDialogTriggerDirective,
|
19
|
+
RdxAlertDialogTitleDirective
|
20
|
+
];
|
21
|
+
export class RdxAlertDialogModule {
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
23
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogModule, imports: [RdxAlertDialogRootDirective,
|
24
|
+
RdxAlertDialogContentDirective,
|
25
|
+
RdxAlertDialogCancelDirective,
|
26
|
+
RdxAlertDialogTriggerDirective,
|
27
|
+
RdxAlertDialogTitleDirective], exports: [RdxAlertDialogRootDirective,
|
28
|
+
RdxAlertDialogContentDirective,
|
29
|
+
RdxAlertDialogCancelDirective,
|
30
|
+
RdxAlertDialogTriggerDirective,
|
31
|
+
RdxAlertDialogTitleDirective] }); }
|
32
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogModule }); }
|
33
|
+
}
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogModule, decorators: [{
|
35
|
+
type: NgModule,
|
36
|
+
args: [{
|
37
|
+
imports: [..._imports],
|
38
|
+
exports: [..._imports]
|
39
|
+
}]
|
40
|
+
}] });
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2FsZXJ0LWRpYWxvZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQUV0RixjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsc0NBQXNDLENBQUM7QUFFckQsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxNQUFNLFFBQVEsR0FBRztJQUNiLDJCQUEyQjtJQUMzQiw4QkFBOEI7SUFDOUIsNkJBQTZCO0lBQzdCLDhCQUE4QjtJQUM5Qiw0QkFBNEI7Q0FDL0IsQ0FBQztBQU1GLE1BQU0sT0FBTyxvQkFBb0I7OEdBQXBCLG9CQUFvQjsrR0FBcEIsb0JBQW9CLFlBWDdCLDJCQUEyQjtZQUMzQiw4QkFBOEI7WUFDOUIsNkJBQTZCO1lBQzdCLDhCQUE4QjtZQUM5Qiw0QkFBNEIsYUFKNUIsMkJBQTJCO1lBQzNCLDhCQUE4QjtZQUM5Qiw2QkFBNkI7WUFDN0IsOEJBQThCO1lBQzlCLDRCQUE0QjsrR0FPbkIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQUpoQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDO29CQUN0QixPQUFPLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4QWxlcnREaWFsb2dDYW5jZWxEaXJlY3RpdmUgfSBmcm9tICcuL3NyYy9hbGVydC1kaWFsb2ctY2FuY2VsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBSZHhBbGVydERpYWxvZ0NvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuL3NyYy9hbGVydC1kaWFsb2ctY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmR4QWxlcnREaWFsb2dSb290RGlyZWN0aXZlIH0gZnJvbSAnLi9zcmMvYWxlcnQtZGlhbG9nLXJvb3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IFJkeEFsZXJ0RGlhbG9nVGl0bGVEaXJlY3RpdmUgfSBmcm9tICcuL3NyYy9hbGVydC1kaWFsb2ctdGl0bGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IFJkeEFsZXJ0RGlhbG9nVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4vc3JjL2FsZXJ0LWRpYWxvZy10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FsZXJ0LWRpYWxvZy1jYW5jZWwuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FsZXJ0LWRpYWxvZy1jb250ZW50LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hbGVydC1kaWFsb2ctcm9vdC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYWxlcnQtZGlhbG9nLXRpdGxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hbGVydC1kaWFsb2ctdHJpZ2dlci5kaXJlY3RpdmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hbGVydC1kaWFsb2cuc2VydmljZSc7XG5cbmNvbnN0IF9pbXBvcnRzID0gW1xuICAgIFJkeEFsZXJ0RGlhbG9nUm9vdERpcmVjdGl2ZSxcbiAgICBSZHhBbGVydERpYWxvZ0NvbnRlbnREaXJlY3RpdmUsXG4gICAgUmR4QWxlcnREaWFsb2dDYW5jZWxEaXJlY3RpdmUsXG4gICAgUmR4QWxlcnREaWFsb2dUcmlnZ2VyRGlyZWN0aXZlLFxuICAgIFJkeEFsZXJ0RGlhbG9nVGl0bGVEaXJlY3RpdmVcbl07XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogWy4uLl9pbXBvcnRzXSxcbiAgICBleHBvcnRzOiBbLi4uX2ltcG9ydHNdXG59KVxuZXhwb3J0IGNsYXNzIFJkeEFsZXJ0RGlhbG9nTW9kdWxlIHt9XG4iXX0=
|
@@ -1,17 +1,17 @@
|
|
1
1
|
import { Directive, inject } from '@angular/core';
|
2
|
-
import {
|
2
|
+
import { RdxAlertDialogService } from './alert-dialog.service';
|
3
3
|
import * as i0 from "@angular/core";
|
4
|
-
export class
|
4
|
+
export class RdxAlertDialogCancelDirective {
|
5
5
|
constructor() {
|
6
|
-
this.alertDialogService = inject(
|
6
|
+
this.alertDialogService = inject(RdxAlertDialogService);
|
7
7
|
}
|
8
8
|
onClick() {
|
9
9
|
this.alertDialogService.close();
|
10
10
|
}
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type:
|
12
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type:
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogCancelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
12
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: RdxAlertDialogCancelDirective, isStandalone: true, selector: "[rdxAlertDialogCancel]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
|
13
13
|
}
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type:
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogCancelDirective, decorators: [{
|
15
15
|
type: Directive,
|
16
16
|
args: [{
|
17
17
|
selector: '[rdxAlertDialogCancel]',
|
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
|
|
21
21
|
}
|
22
22
|
}]
|
23
23
|
}] });
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtZGlhbG9nLWNhbmNlbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2FsZXJ0LWRpYWxvZy9zcmMvYWxlcnQtZGlhbG9nLWNhbmNlbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBUy9ELE1BQU0sT0FBTyw2QkFBNkI7SUFQMUM7UUFRcUIsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7S0FLdkU7SUFIRyxPQUFPO1FBQ0gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BDLENBQUM7OEdBTFEsNkJBQTZCO2tHQUE3Qiw2QkFBNkI7OzJGQUE3Qiw2QkFBNkI7a0JBUHpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDRixTQUFTLEVBQUUsV0FBVztxQkFDekI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4QWxlcnREaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9hbGVydC1kaWFsb2cuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeEFsZXJ0RGlhbG9nQ2FuY2VsXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoY2xpY2spJzogJ29uQ2xpY2soKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeEFsZXJ0RGlhbG9nQ2FuY2VsRGlyZWN0aXZlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0RGlhbG9nU2VydmljZSA9IGluamVjdChSZHhBbGVydERpYWxvZ1NlcnZpY2UpO1xuXG4gICAgb25DbGljaygpIHtcbiAgICAgICAgdGhpcy5hbGVydERpYWxvZ1NlcnZpY2UuY2xvc2UoKTtcbiAgICB9XG59XG4iXX0=
|
@@ -2,7 +2,7 @@ import { CdkTrapFocus } from '@angular/cdk/a11y';
|
|
2
2
|
import { Directive, ElementRef, inject, Input, Renderer2 } from '@angular/core';
|
3
3
|
import * as i0 from "@angular/core";
|
4
4
|
import * as i1 from "@angular/cdk/a11y";
|
5
|
-
export class
|
5
|
+
export class RdxAlertDialogContentDirective {
|
6
6
|
constructor() {
|
7
7
|
this.renderer = inject(Renderer2);
|
8
8
|
this.elementRef = inject(ElementRef);
|
@@ -10,25 +10,25 @@ export class AlertDialogContentDirective {
|
|
10
10
|
set maxWidth(value) {
|
11
11
|
this.renderer.setStyle(this.elementRef.nativeElement, 'maxWidth', value);
|
12
12
|
}
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type:
|
14
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type:
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
14
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: RdxAlertDialogContentDirective, isStandalone: true, selector: "[rdxAlertDialogContent]", inputs: { maxWidth: "maxWidth" }, host: { properties: { "attr.data-state": "\"open\"", "attr.cdkTrapFocusAutoCapture": "true" } }, hostDirectives: [{ directive: i1.CdkTrapFocus }], ngImport: i0 }); }
|
15
15
|
}
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type:
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogContentDirective, decorators: [{
|
17
17
|
type: Directive,
|
18
18
|
args: [{
|
19
19
|
selector: '[rdxAlertDialogContent]',
|
20
|
+
standalone: true,
|
20
21
|
hostDirectives: [
|
21
22
|
{
|
22
23
|
directive: CdkTrapFocus
|
23
24
|
}
|
24
25
|
],
|
25
|
-
standalone: true,
|
26
26
|
host: {
|
27
|
-
'[attr.data-state]': 'open',
|
27
|
+
'[attr.data-state]': '"open"',
|
28
28
|
'[attr.cdkTrapFocusAutoCapture]': 'true'
|
29
29
|
}
|
30
30
|
}]
|
31
31
|
}], propDecorators: { maxWidth: [{
|
32
32
|
type: Input
|
33
33
|
}] } });
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtZGlhbG9nLWNvbnRlbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9hbGVydC1kaWFsb2cvc3JjL2FsZXJ0LWRpYWxvZy1jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQWVoRixNQUFNLE9BQU8sOEJBQThCO0lBYjNDO1FBY3FCLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQUtwRDtJQUhHLElBQWEsUUFBUSxDQUFDLEtBQWE7UUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdFLENBQUM7OEdBTlEsOEJBQThCO2tHQUE5Qiw4QkFBOEI7OzJGQUE5Qiw4QkFBOEI7a0JBYjFDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGNBQWMsRUFBRTt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsWUFBWTt5QkFDMUI7cUJBQ0o7b0JBQ0QsSUFBSSxFQUFFO3dCQUNGLG1CQUFtQixFQUFFLFFBQVE7d0JBQzdCLGdDQUFnQyxFQUFFLE1BQU07cUJBQzNDO2lCQUNKOzhCQUtnQixRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrVHJhcEZvY3VzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIElucHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4QWxlcnREaWFsb2dDb250ZW50XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IENka1RyYXBGb2N1c1xuICAgICAgICB9XG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLXN0YXRlXSc6ICdcIm9wZW5cIicsXG4gICAgICAgICdbYXR0ci5jZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZV0nOiAndHJ1ZSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeEFsZXJ0RGlhbG9nQ29udGVudERpcmVjdGl2ZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICAgIEBJbnB1dCgpIHNldCBtYXhXaWR0aCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtYXhXaWR0aCcsIHZhbHVlKTtcbiAgICB9XG59XG4iXX0=
|
@@ -1,18 +1,18 @@
|
|
1
1
|
import { Directive, inject, Input, TemplateRef, ViewContainerRef } from '@angular/core';
|
2
|
-
import {
|
2
|
+
import { RdxAlertDialogService } from './alert-dialog.service';
|
3
3
|
import * as i0 from "@angular/core";
|
4
|
-
export class
|
4
|
+
export class RdxAlertDialogRootDirective {
|
5
5
|
constructor() {
|
6
6
|
this.viewContainerRef = inject(ViewContainerRef);
|
7
|
-
this.alertDialogService = inject(
|
7
|
+
this.alertDialogService = inject(RdxAlertDialogService);
|
8
8
|
}
|
9
9
|
set content(template) {
|
10
10
|
this.alertDialogService.setDialogContent(this.viewContainerRef, template);
|
11
11
|
}
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type:
|
13
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type:
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
13
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: RdxAlertDialogRootDirective, isStandalone: true, selector: "[rdxAlertDialogRoot]", inputs: { content: "content" }, ngImport: i0 }); }
|
14
14
|
}
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type:
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogRootDirective, decorators: [{
|
16
16
|
type: Directive,
|
17
17
|
args: [{
|
18
18
|
selector: '[rdxAlertDialogRoot]',
|
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
|
|
21
21
|
}], propDecorators: { content: [{
|
22
22
|
type: Input
|
23
23
|
}] } });
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtZGlhbG9nLXJvb3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9hbGVydC1kaWFsb2cvc3JjL2FsZXJ0LWRpYWxvZy1yb290LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQU0vRCxNQUFNLE9BQU8sMkJBQTJCO0lBSnhDO1FBS3FCLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0tBS3ZFO0lBSEcsSUFBYSxPQUFPLENBQUMsUUFBMEI7UUFDM0MsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5RSxDQUFDOzhHQU5RLDJCQUEyQjtrR0FBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQUp2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4QkFLZ0IsT0FBTztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkeEFsZXJ0RGlhbG9nU2VydmljZSB9IGZyb20gJy4vYWxlcnQtZGlhbG9nLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhBbGVydERpYWxvZ1Jvb3RdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFJkeEFsZXJ0RGlhbG9nUm9vdERpcmVjdGl2ZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnREaWFsb2dTZXJ2aWNlID0gaW5qZWN0KFJkeEFsZXJ0RGlhbG9nU2VydmljZSk7XG5cbiAgICBASW5wdXQoKSBzZXQgY29udGVudCh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgICAgICB0aGlzLmFsZXJ0RGlhbG9nU2VydmljZS5zZXREaWFsb2dDb250ZW50KHRoaXMudmlld0NvbnRhaW5lclJlZiwgdGVtcGxhdGUpO1xuICAgIH1cbn1cbiJdfQ==
|
@@ -1,14 +1,14 @@
|
|
1
1
|
import { Directive } from '@angular/core';
|
2
2
|
import * as i0 from "@angular/core";
|
3
|
-
export class
|
4
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type:
|
5
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type:
|
3
|
+
export class RdxAlertDialogTitleDirective {
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
5
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: RdxAlertDialogTitleDirective, isStandalone: true, selector: "[rdxAlertDialogTitle]", ngImport: i0 }); }
|
6
6
|
}
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type:
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogTitleDirective, decorators: [{
|
8
8
|
type: Directive,
|
9
9
|
args: [{
|
10
10
|
selector: '[rdxAlertDialogTitle]',
|
11
11
|
standalone: true
|
12
12
|
}]
|
13
13
|
}] });
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtZGlhbG9nLXRpdGxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvYWxlcnQtZGlhbG9nL3NyYy9hbGVydC1kaWFsb2ctdGl0bGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTFDLE1BQU0sT0FBTyw0QkFBNEI7OEdBQTVCLDRCQUE0QjtrR0FBNUIsNEJBQTRCOzsyRkFBNUIsNEJBQTRCO2tCQUp4QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhBbGVydERpYWxvZ1RpdGxlXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBSZHhBbGVydERpYWxvZ1RpdGxlRGlyZWN0aXZlIHt9XG4iXX0=
|
@@ -1,17 +1,17 @@
|
|
1
1
|
import { Directive, inject } from '@angular/core';
|
2
|
-
import {
|
2
|
+
import { RdxAlertDialogService } from './alert-dialog.service';
|
3
3
|
import * as i0 from "@angular/core";
|
4
|
-
export class
|
4
|
+
export class RdxAlertDialogTriggerDirective {
|
5
5
|
constructor() {
|
6
|
-
this.alertDialogService = inject(
|
6
|
+
this.alertDialogService = inject(RdxAlertDialogService);
|
7
7
|
}
|
8
8
|
handleClick() {
|
9
9
|
this.alertDialogService.open();
|
10
10
|
}
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type:
|
12
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type:
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
12
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: RdxAlertDialogTriggerDirective, isStandalone: true, selector: "[rdxAlertDialogTrigger]", host: { listeners: { "click": "handleClick()" } }, ngImport: i0 }); }
|
13
13
|
}
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type:
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogTriggerDirective, decorators: [{
|
15
15
|
type: Directive,
|
16
16
|
args: [{
|
17
17
|
selector: '[rdxAlertDialogTrigger]',
|
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
|
|
21
21
|
}
|
22
22
|
}]
|
23
23
|
}] });
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtZGlhbG9nLXRyaWdnZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9hbGVydC1kaWFsb2cvc3JjL2FsZXJ0LWRpYWxvZy10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFTL0QsTUFBTSxPQUFPLDhCQUE4QjtJQVAzQztRQVFxQix1QkFBa0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztLQUt2RTtJQUhHLFdBQVc7UUFDUCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkMsQ0FBQzs4R0FMUSw4QkFBOEI7a0dBQTlCLDhCQUE4Qjs7MkZBQTlCLDhCQUE4QjtrQkFQMUMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNGLFNBQVMsRUFBRSxlQUFlO3FCQUM3QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHhBbGVydERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL2FsZXJ0LWRpYWxvZy5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4QWxlcnREaWFsb2dUcmlnZ2VyXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoY2xpY2spJzogJ2hhbmRsZUNsaWNrKCknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBSZHhBbGVydERpYWxvZ1RyaWdnZXJEaXJlY3RpdmUge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnREaWFsb2dTZXJ2aWNlID0gaW5qZWN0KFJkeEFsZXJ0RGlhbG9nU2VydmljZSk7XG5cbiAgICBoYW5kbGVDbGljaygpIHtcbiAgICAgICAgdGhpcy5hbGVydERpYWxvZ1NlcnZpY2Uub3BlbigpO1xuICAgIH1cbn1cbiJdfQ==
|
@@ -3,7 +3,7 @@ import { TemplatePortal } from '@angular/cdk/portal';
|
|
3
3
|
import { Injectable } from '@angular/core';
|
4
4
|
import * as i0 from "@angular/core";
|
5
5
|
import * as i1 from "@angular/cdk/overlay";
|
6
|
-
export class
|
6
|
+
export class RdxAlertDialogService {
|
7
7
|
constructor(overlay) {
|
8
8
|
this.overlay = overlay;
|
9
9
|
}
|
@@ -34,13 +34,13 @@ export class AlertDialogService {
|
|
34
34
|
this.overlayRef = null;
|
35
35
|
}
|
36
36
|
}
|
37
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type:
|
38
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type:
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogService, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
38
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogService, providedIn: 'root' }); }
|
39
39
|
}
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type:
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogService, decorators: [{
|
41
41
|
type: Injectable,
|
42
42
|
args: [{
|
43
43
|
providedIn: 'root'
|
44
44
|
}]
|
45
45
|
}], ctorParameters: () => [{ type: i1.Overlay }] });
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2FsZXJ0LWRpYWxvZy9zcmMvYWxlcnQtZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFpQyxNQUFNLGVBQWUsQ0FBQzs7O0FBSzFFLE1BQU0sT0FBTyxxQkFBcUI7SUFTOUIsWUFBb0IsT0FBZ0I7UUFBaEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztJQUFHLENBQUM7SUFFeEMsZ0JBQWdCLENBQUMsZ0JBQWtDLEVBQUUsUUFBMEI7UUFDM0UsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFJO1FBQ0EsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDakQsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDbEMsV0FBVyxFQUFFLElBQUk7WUFDakIsYUFBYSxFQUFFLDJCQUEyQjtZQUMxQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixFQUFFLENBQUMsZ0JBQWdCLEVBQUU7U0FDN0YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXZDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDaEQsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNwRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDakIsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQzNCLENBQUM7SUFDTCxDQUFDOzhHQTFDUSxxQkFBcUI7a0hBQXJCLHFCQUFxQixjQUZsQixNQUFNOzsyRkFFVCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFJkeEFsZXJ0RGlhbG9nU2VydmljZSB7XG4gICAgcHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICBwcml2YXRlIGRpYWxvZ0NvbnRlbnQ6XG4gICAgICAgIHwge1xuICAgICAgICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xuICAgICAgICAgICAgICB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICAgICAgICB9XG4gICAgICAgIHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5KSB7fVxuXG4gICAgc2V0RGlhbG9nQ29udGVudCh2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgICAgICB0aGlzLmRpYWxvZ0NvbnRlbnQgPSB7IHZpZXdDb250YWluZXJSZWYsIHRlbXBsYXRlIH07XG4gICAgfVxuXG4gICAgb3BlbigpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpYWxvZ0NvbnRlbnQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRGlhbG9nIGNvbnRlbnQgaXMgbm90IHNldCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh7XG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wJyxcbiAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLmNlbnRlckhvcml6b250YWxseSgpLmNlbnRlclZlcnRpY2FsbHkoKVxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCB0ZW1wbGF0ZVBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLmRpYWxvZ0NvbnRlbnQudGVtcGxhdGUsIHRoaXMuZGlhbG9nQ29udGVudC52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaCh0ZW1wbGF0ZVBvcnRhbCk7XG5cbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLmtleWRvd25FdmVudHMoKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJyB8fCBldmVudC5jb2RlID09PSAnRXNjYXBlJykge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2UoKSk7XG4gICAgfVxuXG4gICAgY2xvc2UoKSB7XG4gICAgICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export * from './src/aspect-ratio.directive';
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2FzcGVjdC1yYXRpby9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvYXNwZWN0LXJhdGlvLmRpcmVjdGl2ZSc7XG4iXX0=
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Generated bundle index. Do not edit.
|
3
|
+
*/
|
4
|
+
export * from './index';
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaXgtbmctcHJpbWl0aXZlcy1hc3BlY3QtcmF0aW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2FzcGVjdC1yYXRpby9yYWRpeC1uZy1wcmltaXRpdmVzLWFzcGVjdC1yYXRpby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
@@ -0,0 +1,53 @@
|
|
1
|
+
import { computed, Directive, ElementRef, inject, input, numberAttribute, Renderer2 } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
/**
|
4
|
+
* Directive to maintain an aspect ratio for an element.
|
5
|
+
* The element will have its `padding-bottom` dynamically calculated
|
6
|
+
* based on the provided aspect ratio to maintain the desired ratio.
|
7
|
+
* The content inside the element will be positioned absolutely.
|
8
|
+
*/
|
9
|
+
export class RdxAspectRatioDirective {
|
10
|
+
constructor() {
|
11
|
+
this.element = inject(ElementRef);
|
12
|
+
this.renderer = inject(Renderer2);
|
13
|
+
/**
|
14
|
+
* The desired aspect ratio (e.g., 16/9).
|
15
|
+
* By default, it is set to 1 (which results in a square, 1:1).
|
16
|
+
*/
|
17
|
+
this.ratio = input(1, { transform: numberAttribute });
|
18
|
+
/**
|
19
|
+
* Dynamically computed `padding-bottom` style for the element.
|
20
|
+
* This value is calculated based on the inverse of the aspect ratio.
|
21
|
+
*
|
22
|
+
* If the ratio is zero, it defaults to `0%` to avoid division by zero.
|
23
|
+
*/
|
24
|
+
this.paddingBottom = computed(() => {
|
25
|
+
const ratioValue = this.ratio();
|
26
|
+
return `${ratioValue !== 0 ? (1 / ratioValue) * 100 : 0}%`;
|
27
|
+
});
|
28
|
+
}
|
29
|
+
ngAfterViewInit() {
|
30
|
+
const content = this.element.nativeElement.firstElementChild;
|
31
|
+
if (content) {
|
32
|
+
// Set the content to cover the entire element with absolute positioning
|
33
|
+
this.renderer.setStyle(content, 'position', 'absolute');
|
34
|
+
this.renderer.setStyle(content, 'inset', '0');
|
35
|
+
}
|
36
|
+
}
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAspectRatioDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
38
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.1", type: RdxAspectRatioDirective, isStandalone: true, selector: "[rdxAspectRatio]", inputs: { ratio: { classPropertyName: "ratio", publicName: "ratio", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.position": "'relative'", "style.width": "'100%'", "style.padding-bottom": "paddingBottom()" } }, exportAs: ["rdxAspectRatio"], ngImport: i0 }); }
|
39
|
+
}
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAspectRatioDirective, decorators: [{
|
41
|
+
type: Directive,
|
42
|
+
args: [{
|
43
|
+
selector: '[rdxAspectRatio]',
|
44
|
+
exportAs: 'rdxAspectRatio',
|
45
|
+
standalone: true,
|
46
|
+
host: {
|
47
|
+
'[style.position]': `'relative'`,
|
48
|
+
'[style.width]': `'100%'`,
|
49
|
+
'[style.padding-bottom]': 'paddingBottom()'
|
50
|
+
}
|
51
|
+
}]
|
52
|
+
}] });
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNwZWN0LXJhdGlvLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvYXNwZWN0LXJhdGlvL3NyYy9hc3BlY3QtcmF0aW8uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFFSCxRQUFRLEVBQ1IsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLGVBQWUsRUFDZixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7O0FBRXZCOzs7OztHQUtHO0FBV0gsTUFBTSxPQUFPLHVCQUF1QjtJQVZwQztRQVdZLFlBQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0IsYUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVyQzs7O1dBR0c7UUFDTSxVQUFLLEdBQUcsS0FBSyxDQUFzQixDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUUvRTs7Ozs7V0FLRztRQUNnQixrQkFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDN0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2hDLE9BQU8sR0FBRyxVQUFVLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO0tBVU47SUFSRyxlQUFlO1FBQ1gsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUM7UUFDN0QsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNWLHdFQUF3RTtZQUN4RSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNMLENBQUM7OEdBNUJRLHVCQUF1QjtrR0FBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQVZuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0Ysa0JBQWtCLEVBQUUsWUFBWTt3QkFDaEMsZUFBZSxFQUFFLFFBQVE7d0JBQ3pCLHdCQUF3QixFQUFFLGlCQUFpQjtxQkFDOUM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOdW1iZXJJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgY29tcHV0ZWQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIG51bWJlckF0dHJpYnV0ZSxcbiAgICBSZW5kZXJlcjJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogRGlyZWN0aXZlIHRvIG1haW50YWluIGFuIGFzcGVjdCByYXRpbyBmb3IgYW4gZWxlbWVudC5cbiAqIFRoZSBlbGVtZW50IHdpbGwgaGF2ZSBpdHMgYHBhZGRpbmctYm90dG9tYCBkeW5hbWljYWxseSBjYWxjdWxhdGVkXG4gKiBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgYXNwZWN0IHJhdGlvIHRvIG1haW50YWluIHRoZSBkZXNpcmVkIHJhdGlvLlxuICogVGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBlbGVtZW50IHdpbGwgYmUgcG9zaXRpb25lZCBhYnNvbHV0ZWx5LlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhBc3BlY3RSYXRpb10nLFxuICAgIGV4cG9ydEFzOiAncmR4QXNwZWN0UmF0aW8nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICAnW3N0eWxlLnBvc2l0aW9uXSc6IGAncmVsYXRpdmUnYCxcbiAgICAgICAgJ1tzdHlsZS53aWR0aF0nOiBgJzEwMCUnYCxcbiAgICAgICAgJ1tzdHlsZS5wYWRkaW5nLWJvdHRvbV0nOiAncGFkZGluZ0JvdHRvbSgpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4QXNwZWN0UmF0aW9EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBwcml2YXRlIGVsZW1lbnQgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gICAgcHJpdmF0ZSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGRlc2lyZWQgYXNwZWN0IHJhdGlvIChlLmcuLCAxNi85KS5cbiAgICAgKiBCeSBkZWZhdWx0LCBpdCBpcyBzZXQgdG8gMSAod2hpY2ggcmVzdWx0cyBpbiBhIHNxdWFyZSwgMToxKS5cbiAgICAgKi9cbiAgICByZWFkb25seSByYXRpbyA9IGlucHV0PG51bWJlciwgTnVtYmVySW5wdXQ+KDEsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG5cbiAgICAvKipcbiAgICAgKiBEeW5hbWljYWxseSBjb21wdXRlZCBgcGFkZGluZy1ib3R0b21gIHN0eWxlIGZvciB0aGUgZWxlbWVudC5cbiAgICAgKiBUaGlzIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGludmVyc2Ugb2YgdGhlIGFzcGVjdCByYXRpby5cbiAgICAgKlxuICAgICAqIElmIHRoZSByYXRpbyBpcyB6ZXJvLCBpdCBkZWZhdWx0cyB0byBgMCVgIHRvIGF2b2lkIGRpdmlzaW9uIGJ5IHplcm8uXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhZGRpbmdCb3R0b20gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJhdGlvVmFsdWUgPSB0aGlzLnJhdGlvKCk7XG4gICAgICAgIHJldHVybiBgJHtyYXRpb1ZhbHVlICE9PSAwID8gKDEgLyByYXRpb1ZhbHVlKSAqIDEwMCA6IDB9JWA7XG4gICAgfSk7XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZDtcbiAgICAgICAgaWYgKGNvbnRlbnQpIHtcbiAgICAgICAgICAgIC8vIFNldCB0aGUgY29udGVudCB0byBjb3ZlciB0aGUgZW50aXJlIGVsZW1lbnQgd2l0aCBhYnNvbHV0ZSBwb3NpdGlvbmluZ1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShjb250ZW50LCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY29udGVudCwgJ2luc2V0JywgJzAnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,7 @@
|
|
1
|
+
export * from './src/accessor/provide-value-accessor';
|
2
|
+
export * from './src/auto-focus.directive';
|
3
|
+
export * from './src/document';
|
4
|
+
export * from './src/inject-ng-control';
|
5
|
+
export * from './src/is-client';
|
6
|
+
export * from './src/window';
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2NvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvYWNjZXNzb3IvcHJvdmlkZS12YWx1ZS1hY2Nlc3Nvcic7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hdXRvLWZvY3VzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9kb2N1bWVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9pbmplY3QtbmctY29udHJvbCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9pcy1jbGllbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvd2luZG93JztcbiJdfQ==
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Generated bundle index. Do not edit.
|
3
|
+
*/
|
4
|
+
export * from './index';
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaXgtbmctcHJpbWl0aXZlcy1jb3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9jb3JlL3JhZGl4LW5nLXByaW1pdGl2ZXMtY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
2
|
+
/**
|
3
|
+
* Include in the providers section of a component which utilizes ControlValueAccessor to redundant code.
|
4
|
+
*
|
5
|
+
* ```ts
|
6
|
+
* @Directive({
|
7
|
+
* providers: [provideValueAccessor(ExampleDirective)]
|
8
|
+
*}
|
9
|
+
* export class ExampleDirective{}
|
10
|
+
* ```
|
11
|
+
*/
|
12
|
+
export function provideValueAccessor(type) {
|
13
|
+
return {
|
14
|
+
provide: NG_VALUE_ACCESSOR,
|
15
|
+
useExisting: type,
|
16
|
+
multi: true
|
17
|
+
};
|
18
|
+
}
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS12YWx1ZS1hY2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvY29yZS9zcmMvYWNjZXNzb3IvcHJvdmlkZS12YWx1ZS1hY2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsSUFBaUI7SUFDbEQsT0FBTztRQUNILE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7S0FDZCxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBJbmNsdWRlIGluIHRoZSBwcm92aWRlcnMgc2VjdGlvbiBvZiBhIGNvbXBvbmVudCB3aGljaCB1dGlsaXplcyBDb250cm9sVmFsdWVBY2Nlc3NvciB0byByZWR1bmRhbnQgY29kZS5cbiAqXG4gKiBgYGB0c1xuICogQERpcmVjdGl2ZSh7XG4gKiAgIHByb3ZpZGVyczogW3Byb3ZpZGVWYWx1ZUFjY2Vzc29yKEV4YW1wbGVEaXJlY3RpdmUpXVxuICp9XG4gKiBleHBvcnQgY2xhc3MgRXhhbXBsZURpcmVjdGl2ZXt9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVWYWx1ZUFjY2Vzc29yKHR5cGU6IFR5cGU8bmV2ZXI+KTogUHJvdmlkZXIge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICB1c2VFeGlzdGluZzogdHlwZSxcbiAgICAgICAgbXVsdGk6IHRydWVcbiAgICB9O1xufVxuIl19
|
@@ -0,0 +1,80 @@
|
|
1
|
+
import { booleanAttribute, Directive, ElementRef, inject, Input, NgZone } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
/*
|
4
|
+
* <div [rdxAutoFocus]="true"></div>
|
5
|
+
*/
|
6
|
+
export class RdxAutoFocusDirective {
|
7
|
+
constructor() {
|
8
|
+
this.#elementRef = inject(ElementRef);
|
9
|
+
this.#ngZone = inject(NgZone);
|
10
|
+
this._autoSelect = false;
|
11
|
+
}
|
12
|
+
#elementRef;
|
13
|
+
#ngZone;
|
14
|
+
/**
|
15
|
+
* @default false
|
16
|
+
*/
|
17
|
+
set autoFocus(value) {
|
18
|
+
if (value) {
|
19
|
+
// Note: Running this outside Angular's zone because `element.focus()` does not trigger change detection.
|
20
|
+
this.#ngZone.runOutsideAngular(() =>
|
21
|
+
// Note: `element.focus()` causes re-layout which might lead to frame drops on slower devices.
|
22
|
+
// https://gist.github.com/paulirish/5d52fb081b3570c81e3a#setting-focus
|
23
|
+
// `setTimeout` is a macrotask executed within the current rendering frame.
|
24
|
+
// Animation tasks are executed in the next rendering frame.
|
25
|
+
reqAnimationFrame(() => {
|
26
|
+
this.#elementRef.nativeElement.focus();
|
27
|
+
if (this._autoSelect && this.#elementRef.nativeElement.select) {
|
28
|
+
this.#elementRef.nativeElement.select();
|
29
|
+
}
|
30
|
+
}));
|
31
|
+
}
|
32
|
+
}
|
33
|
+
// Setter for autoSelect attribute to enable text selection when autoFocus is true.
|
34
|
+
set autoSelect(value) {
|
35
|
+
this._autoSelect = value;
|
36
|
+
}
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAutoFocusDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
38
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.1", type: RdxAutoFocusDirective, isStandalone: true, selector: "[rdxAutoFocus]", inputs: { autoFocus: ["rdxAutoFocus", "autoFocus", booleanAttribute], autoSelect: ["autoSelect", "autoSelect", booleanAttribute] }, ngImport: i0 }); }
|
39
|
+
}
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAutoFocusDirective, decorators: [{
|
41
|
+
type: Directive,
|
42
|
+
args: [{
|
43
|
+
selector: '[rdxAutoFocus]',
|
44
|
+
standalone: true
|
45
|
+
}]
|
46
|
+
}], propDecorators: { autoFocus: [{
|
47
|
+
type: Input,
|
48
|
+
args: [{ alias: 'rdxAutoFocus', transform: booleanAttribute }]
|
49
|
+
}], autoSelect: [{
|
50
|
+
type: Input,
|
51
|
+
args: [{ transform: booleanAttribute }]
|
52
|
+
}] } });
|
53
|
+
const availablePrefixes = ['moz', 'ms', 'webkit'];
|
54
|
+
function requestAnimationFramePolyfill() {
|
55
|
+
let lastTime = 0;
|
56
|
+
return function (callback) {
|
57
|
+
const currTime = new Date().getTime();
|
58
|
+
const timeToCall = Math.max(0, 16 - (currTime - lastTime));
|
59
|
+
const id = setTimeout(() => {
|
60
|
+
callback(currTime + timeToCall);
|
61
|
+
}, timeToCall);
|
62
|
+
lastTime = currTime + timeToCall;
|
63
|
+
return id;
|
64
|
+
};
|
65
|
+
}
|
66
|
+
// Function to get the appropriate requestAnimationFrame method with fallback to polyfill.
|
67
|
+
function getRequestAnimationFrame() {
|
68
|
+
if (typeof window === 'undefined') {
|
69
|
+
return () => 0;
|
70
|
+
}
|
71
|
+
if (window.requestAnimationFrame) {
|
72
|
+
// https://github.com/vuejs/vue/issues/4465
|
73
|
+
return window.requestAnimationFrame.bind(window);
|
74
|
+
}
|
75
|
+
const prefix = availablePrefixes.filter((key) => `${key}RequestAnimationFrame` in window)[0];
|
76
|
+
return prefix ? window[`${prefix}RequestAnimationFrame`] : requestAnimationFramePolyfill();
|
77
|
+
}
|
78
|
+
// Get the requestAnimationFrame function or its polyfill.
|
79
|
+
const reqAnimationFrame = getRequestAnimationFrame();
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1mb2N1cy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2NvcmUvc3JjL2F1dG8tZm9jdXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUvRjs7R0FFRztBQU1ILE1BQU0sT0FBTyxxQkFBcUI7SUFKbEM7UUFLSSxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqQyxZQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWpCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0tBNkIvQjtJQWhDRyxXQUFXLENBQXNCO0lBQ2pDLE9BQU8sQ0FBa0I7SUFJekI7O09BRUc7SUFDSCxJQUNJLFNBQVMsQ0FBQyxLQUFjO1FBQ3hCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDUix5R0FBeUc7WUFDekcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDaEMsOEZBQThGO1lBQzlGLHVFQUF1RTtZQUN2RSwyRUFBMkU7WUFDM0UsNERBQTREO1lBQzVELGlCQUFpQixDQUFDLEdBQUcsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3ZDLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDNUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzVDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FDTCxDQUFDO1FBQ04sQ0FBQztJQUNMLENBQUM7SUFFRCxtRkFBbUY7SUFDbkYsSUFDSSxVQUFVLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUM3QixDQUFDOzhHQWhDUSxxQkFBcUI7a0dBQXJCLHFCQUFxQixxR0FTYSxnQkFBZ0IsNENBb0J2QyxnQkFBZ0I7OzJGQTdCM0IscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4QkFXTyxTQUFTO3NCQURaLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFxQnpELFVBQVU7c0JBRGIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTs7QUFNMUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFFbEQsU0FBUyw2QkFBNkI7SUFDbEMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBRWpCLE9BQU8sVUFBVSxRQUE4QjtRQUMzQyxNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRTNELE1BQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDdkIsUUFBUSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsQ0FBQztRQUNwQyxDQUFDLEVBQUUsVUFBVSxDQUFRLENBQUM7UUFFdEIsUUFBUSxHQUFHLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFFakMsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQsMEZBQTBGO0FBQzFGLFNBQVMsd0JBQXdCO0lBQzdCLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDaEMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDL0IsMkNBQTJDO1FBQzNDLE9BQU8sTUFBTSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsdUJBQXVCLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFN0YsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFFLE1BQWMsQ0FBQyxHQUFHLE1BQU0sdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztBQUN4RyxDQUFDO0FBRUQsMERBQTBEO0FBQzFELE1BQU0saUJBQWlCLEdBQUcsd0JBQXdCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJvb2xlYW5BdHRyaWJ1dGUsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbnB1dCwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qXG4gKiA8ZGl2IFtyZHhBdXRvRm9jdXNdPVwidHJ1ZVwiPjwvZGl2PlxuICovXG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeEF1dG9Gb2N1c10nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgUmR4QXV0b0ZvY3VzRGlyZWN0aXZlIHtcbiAgICAjZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgICAjbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgICBwcml2YXRlIF9hdXRvU2VsZWN0ID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IGFsaWFzOiAncmR4QXV0b0ZvY3VzJywgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgc2V0IGF1dG9Gb2N1cyh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIC8vIE5vdGU6IFJ1bm5pbmcgdGhpcyBvdXRzaWRlIEFuZ3VsYXIncyB6b25lIGJlY2F1c2UgYGVsZW1lbnQuZm9jdXMoKWAgZG9lcyBub3QgdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uLlxuICAgICAgICAgICAgdGhpcy4jbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+XG4gICAgICAgICAgICAgICAgLy8gTm90ZTogYGVsZW1lbnQuZm9jdXMoKWAgY2F1c2VzIHJlLWxheW91dCB3aGljaCBtaWdodCBsZWFkIHRvIGZyYW1lIGRyb3BzIG9uIHNsb3dlciBkZXZpY2VzLlxuICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL3BhdWxpcmlzaC81ZDUyZmIwODFiMzU3MGM4MWUzYSNzZXR0aW5nLWZvY3VzXG4gICAgICAgICAgICAgICAgLy8gYHNldFRpbWVvdXRgIGlzIGEgbWFjcm90YXNrIGV4ZWN1dGVkIHdpdGhpbiB0aGUgY3VycmVudCByZW5kZXJpbmcgZnJhbWUuXG4gICAgICAgICAgICAgICAgLy8gQW5pbWF0aW9uIHRhc2tzIGFyZSBleGVjdXRlZCBpbiB0aGUgbmV4dCByZW5kZXJpbmcgZnJhbWUuXG4gICAgICAgICAgICAgICAgcmVxQW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2F1dG9TZWxlY3QgJiYgdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNlbGVjdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNlbGVjdCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXR0ZXIgZm9yIGF1dG9TZWxlY3QgYXR0cmlidXRlIHRvIGVuYWJsZSB0ZXh0IHNlbGVjdGlvbiB3aGVuIGF1dG9Gb2N1cyBpcyB0cnVlLlxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHNldCBhdXRvU2VsZWN0KHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2F1dG9TZWxlY3QgPSB2YWx1ZTtcbiAgICB9XG59XG5cbmNvbnN0IGF2YWlsYWJsZVByZWZpeGVzID0gWydtb3onLCAnbXMnLCAnd2Via2l0J107XG5cbmZ1bmN0aW9uIHJlcXVlc3RBbmltYXRpb25GcmFtZVBvbHlmaWxsKCk6IHR5cGVvZiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUge1xuICAgIGxldCBsYXN0VGltZSA9IDA7XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gKGNhbGxiYWNrOiBGcmFtZVJlcXVlc3RDYWxsYmFjayk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGN1cnJUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgIGNvbnN0IHRpbWVUb0NhbGwgPSBNYXRoLm1heCgwLCAxNiAtIChjdXJyVGltZSAtIGxhc3RUaW1lKSk7XG5cbiAgICAgICAgY29uc3QgaWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNhbGxiYWNrKGN1cnJUaW1lICsgdGltZVRvQ2FsbCk7XG4gICAgICAgIH0sIHRpbWVUb0NhbGwpIGFzIGFueTtcblxuICAgICAgICBsYXN0VGltZSA9IGN1cnJUaW1lICsgdGltZVRvQ2FsbDtcblxuICAgICAgICByZXR1cm4gaWQ7XG4gICAgfTtcbn1cblxuLy8gRnVuY3Rpb24gdG8gZ2V0IHRoZSBhcHByb3ByaWF0ZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgbWV0aG9kIHdpdGggZmFsbGJhY2sgdG8gcG9seWZpbGwuXG5mdW5jdGlvbiBnZXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKTogdHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZSB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJldHVybiAoKSA9PiAwO1xuICAgIH1cbiAgICBpZiAod2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSkge1xuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdnVlanMvdnVlL2lzc3Vlcy80NDY1XG4gICAgICAgIHJldHVybiB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lLmJpbmQod2luZG93KTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmVmaXggPSBhdmFpbGFibGVQcmVmaXhlcy5maWx0ZXIoKGtleSkgPT4gYCR7a2V5fVJlcXVlc3RBbmltYXRpb25GcmFtZWAgaW4gd2luZG93KVswXTtcblxuICAgIHJldHVybiBwcmVmaXggPyAod2luZG93IGFzIGFueSlbYCR7cHJlZml4fVJlcXVlc3RBbmltYXRpb25GcmFtZWBdIDogcmVxdWVzdEFuaW1hdGlvbkZyYW1lUG9seWZpbGwoKTtcbn1cblxuLy8gR2V0IHRoZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgZnVuY3Rpb24gb3IgaXRzIHBvbHlmaWxsLlxuY29uc3QgcmVxQW5pbWF0aW9uRnJhbWUgPSBnZXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKTtcbiJdfQ==
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
2
|
+
import { inject } from '@angular/core';
|
3
|
+
export function injectDocument() {
|
4
|
+
return inject(DOCUMENT);
|
5
|
+
}
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2NvcmUvc3JjL2RvY3VtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE1BQU0sVUFBVSxjQUFjO0lBQzFCLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdERvY3VtZW50KCk6IERvY3VtZW50IHtcbiAgICByZXR1cm4gaW5qZWN0KERPQ1VNRU5UKTtcbn1cbiJdfQ==
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import { inject } from '@angular/core';
|
2
|
+
import { FormControlDirective, FormControlName, NgControl, NgModel } from '@angular/forms';
|
3
|
+
export function injectNgControl(params) {
|
4
|
+
const ngControl = inject(NgControl, { self: true, optional: true });
|
5
|
+
if (!params?.optional && !ngControl)
|
6
|
+
throw new Error('NgControl not found');
|
7
|
+
if (ngControl instanceof FormControlDirective ||
|
8
|
+
ngControl instanceof FormControlName ||
|
9
|
+
ngControl instanceof NgModel) {
|
10
|
+
return ngControl;
|
11
|
+
}
|
12
|
+
if (params?.optional) {
|
13
|
+
return undefined;
|
14
|
+
}
|
15
|
+
throw new Error('NgControl is not an instance of FormControlDirective, FormControlName or NgModel');
|
16
|
+
}
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0LW5nLWNvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2NvcmUvc3JjL2luamVjdC1uZy1jb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFRM0YsTUFBTSxVQUFVLGVBQWUsQ0FBQyxNQUFpRDtJQUM3RSxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUVwRSxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsSUFBSSxDQUFDLFNBQVM7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFFNUUsSUFDSSxTQUFTLFlBQVksb0JBQW9CO1FBQ3pDLFNBQVMsWUFBWSxlQUFlO1FBQ3BDLFNBQVMsWUFBWSxPQUFPLEVBQzlCLENBQUM7UUFDQyxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDbkIsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsa0ZBQWtGLENBQUMsQ0FBQztBQUN4RyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbERpcmVjdGl2ZSwgRm9ybUNvbnRyb2xOYW1lLCBOZ0NvbnRyb2wsIE5nTW9kZWwgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3ROZ0NvbnRyb2wocGFyYW1zOiB7XG4gICAgb3B0aW9uYWw6IHRydWU7XG59KTogRm9ybUNvbnRyb2xEaXJlY3RpdmUgfCBGb3JtQ29udHJvbE5hbWUgfCBOZ01vZGVsIHwgdW5kZWZpbmVkO1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdE5nQ29udHJvbChwYXJhbXM6IHsgb3B0aW9uYWw6IGZhbHNlIH0pOiBGb3JtQ29udHJvbERpcmVjdGl2ZSB8IEZvcm1Db250cm9sTmFtZSB8IE5nTW9kZWw7XG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0TmdDb250cm9sKCk6IEZvcm1Db250cm9sRGlyZWN0aXZlIHwgRm9ybUNvbnRyb2xOYW1lIHwgTmdNb2RlbDtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdE5nQ29udHJvbChwYXJhbXM/OiB7IG9wdGlvbmFsOiB0cnVlIH0gfCB7IG9wdGlvbmFsOiBmYWxzZSB9KSB7XG4gICAgY29uc3QgbmdDb250cm9sID0gaW5qZWN0KE5nQ29udHJvbCwgeyBzZWxmOiB0cnVlLCBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAgIGlmICghcGFyYW1zPy5vcHRpb25hbCAmJiAhbmdDb250cm9sKSB0aHJvdyBuZXcgRXJyb3IoJ05nQ29udHJvbCBub3QgZm91bmQnKTtcblxuICAgIGlmIChcbiAgICAgICAgbmdDb250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2xEaXJlY3RpdmUgfHxcbiAgICAgICAgbmdDb250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2xOYW1lIHx8XG4gICAgICAgIG5nQ29udHJvbCBpbnN0YW5jZW9mIE5nTW9kZWxcbiAgICApIHtcbiAgICAgICAgcmV0dXJuIG5nQ29udHJvbDtcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zPy5vcHRpb25hbCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcignTmdDb250cm9sIGlzIG5vdCBhbiBpbnN0YW5jZSBvZiBGb3JtQ29udHJvbERpcmVjdGl2ZSwgRm9ybUNvbnRyb2xOYW1lIG9yIE5nTW9kZWwnKTtcbn1cbiJdfQ==
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { Platform } from '@angular/cdk/platform';
|
2
|
+
import { inject } from '@angular/core';
|
3
|
+
export function injectIsClient() {
|
4
|
+
return inject(Platform).isBrowser;
|
5
|
+
}
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9jb3JlL3NyYy9pcy1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsTUFBTSxVQUFVLGNBQWM7SUFDMUIsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ3RDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdElzQ2xpZW50KCkge1xuICAgIHJldHVybiBpbmplY3QoUGxhdGZvcm0pLmlzQnJvd3Nlcjtcbn1cbiJdfQ==
|