@radix-ng/primitives 0.18.1 → 0.19.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/index.d.ts +1 -2
- package/avatar/src/avatar-fallback.directive.d.ts +11 -23
- package/avatar/src/avatar-image.directive.d.ts +10 -14
- package/avatar/src/avatar-root.directive.d.ts +5 -15
- package/checkbox/index.d.ts +11 -0
- package/checkbox/src/checkbox-button.directive.d.ts +1 -1
- package/checkbox/src/checkbox-indicator.directive.d.ts +1 -1
- package/checkbox/src/checkbox-input.directive.d.ts +1 -1
- package/checkbox/src/checkbox.directive.d.ts +1 -1
- package/compodoc/documentation.json +4895 -2139
- package/core/index.d.ts +2 -0
- package/core/src/control-value-accessor/index.d.ts +75 -0
- package/core/src/create-inject-context/assert-injector.d.ts +51 -0
- package/core/src/create-inject-context/index.d.ts +68 -0
- package/core/src/types.d.ts +23 -0
- package/esm2022/avatar/index.mjs +1 -1
- package/esm2022/avatar/src/avatar-fallback.directive.mjs +38 -40
- package/esm2022/avatar/src/avatar-image.directive.mjs +25 -26
- package/esm2022/avatar/src/avatar-root.directive.mjs +13 -25
- package/esm2022/checkbox/index.mjs +31 -1
- package/esm2022/checkbox/src/checkbox-button.directive.mjs +3 -3
- package/esm2022/checkbox/src/checkbox-indicator.directive.mjs +3 -3
- package/esm2022/checkbox/src/checkbox-input.directive.mjs +3 -3
- package/esm2022/checkbox/src/checkbox.directive.mjs +3 -3
- package/esm2022/core/index.mjs +3 -1
- package/esm2022/core/src/control-value-accessor/index.mjs +103 -0
- package/esm2022/core/src/create-inject-context/assert-injector.mjs +15 -0
- package/esm2022/core/src/create-inject-context/index.mjs +116 -0
- package/esm2022/core/src/types.mjs +2 -0
- package/esm2022/radio/index.mjs +2 -1
- package/esm2022/radio/src/radio-item-input.directive.mjs +37 -0
- package/esm2022/radio/src/radio-item.directive.mjs +55 -36
- package/esm2022/radio/src/radio-root.directive.mjs +24 -110
- package/esm2022/radio/src/radio-tokens.mjs +1 -1
- package/esm2022/roving-focus/index.mjs +3 -0
- package/esm2022/roving-focus/radix-ng-primitives-roving-focus.mjs +5 -0
- package/esm2022/roving-focus/src/roving-focus-group.directive.mjs +138 -0
- package/esm2022/roving-focus/src/roving-focus-item.directive.mjs +133 -0
- package/esm2022/roving-focus/src/utils.mjs +47 -0
- package/esm2022/select/src/select-item.directive.mjs +8 -2
- package/esm2022/slider/src/slider-orientation-context.service.mjs +3 -4
- package/esm2022/slider/src/slider-root.component.mjs +5 -2
- package/esm2022/toggle/src/toggle-input.directive.mjs +4 -3
- package/fesm2022/radix-ng-primitives-avatar.mjs +70 -85
- package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-checkbox.mjs +35 -10
- package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-core.mjs +230 -3
- package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-radio.mjs +142 -176
- package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-roving-focus.mjs +320 -0
- package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-select.mjs +7 -1
- package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-slider.mjs +6 -4
- package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle.mjs +3 -2
- package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
- package/package.json +7 -1
- package/radio/index.d.ts +1 -0
- package/radio/src/radio-item-input.directive.d.ts +12 -0
- package/radio/src/radio-item.directive.d.ts +23 -14
- package/radio/src/radio-root.directive.d.ts +15 -31
- package/radio/src/radio-tokens.d.ts +3 -3
- package/roving-focus/README.md +3 -0
- package/roving-focus/index.d.ts +3 -0
- package/roving-focus/src/roving-focus-group.directive.d.ts +50 -0
- package/roving-focus/src/roving-focus-item.directive.d.ts +50 -0
- package/roving-focus/src/utils.d.ts +19 -0
- package/select/src/select-item.directive.d.ts +7 -1
- package/slider/src/slider-root.component.d.ts +2 -0
- package/toggle/src/toggle-input.directive.d.ts +1 -1
@@ -6,12 +6,12 @@ export class RdxCheckboxIndicatorDirective {
|
|
6
6
|
this.checkbox = injectCheckbox();
|
7
7
|
}
|
8
8
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxCheckboxIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
9
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxCheckboxIndicatorDirective, isStandalone: true, selector: "[
|
9
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxCheckboxIndicatorDirective, isStandalone: true, selector: "[rdxCheckboxIndicator]", host: { properties: { "style.pointer-events": "\"none\"", "attr.aria-checked": "checkbox.indeterminate ? \"mixed\" : checkbox.checked", "attr.data-state": "checkbox.state", "attr.data-disabled": "checkbox.disabled ? \"\" : null" } }, ngImport: i0 }); }
|
10
10
|
}
|
11
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxCheckboxIndicatorDirective, decorators: [{
|
12
12
|
type: Directive,
|
13
13
|
args: [{
|
14
|
-
selector: '[
|
14
|
+
selector: '[rdxCheckboxIndicator]',
|
15
15
|
standalone: true,
|
16
16
|
host: {
|
17
17
|
'[style.pointer-events]': '"none"',
|
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
21
21
|
}
|
22
22
|
}]
|
23
23
|
}] });
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtaW5kaWNhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvY2hlY2tib3gvc3JjL2NoZWNrYm94LWluZGljYXRvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBWWxELE1BQU0sT0FBTyw2QkFBNkI7SUFWMUM7UUFXdUIsYUFBUSxHQUFHLGNBQWMsRUFBRSxDQUFDO0tBQ2xEOytHQUZZLDZCQUE2QjttR0FBN0IsNkJBQTZCOzs0RkFBN0IsNkJBQTZCO2tCQVZ6QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0Ysd0JBQXdCLEVBQUUsUUFBUTt3QkFDbEMscUJBQXFCLEVBQUUscURBQXFEO3dCQUM1RSxtQkFBbUIsRUFBRSxnQkFBZ0I7d0JBQ3JDLHNCQUFzQixFQUFFLCtCQUErQjtxQkFDMUQ7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdENoZWNrYm94IH0gZnJvbSAnLi9jaGVja2JveC50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeENoZWNrYm94SW5kaWNhdG9yXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbc3R5bGUucG9pbnRlci1ldmVudHNdJzogJ1wibm9uZVwiJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtY2hlY2tlZF0nOiAnY2hlY2tib3guaW5kZXRlcm1pbmF0ZSA/IFwibWl4ZWRcIiA6IGNoZWNrYm94LmNoZWNrZWQnLFxuICAgICAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiAnY2hlY2tib3guc3RhdGUnLFxuICAgICAgICAnW2F0dHIuZGF0YS1kaXNhYmxlZF0nOiAnY2hlY2tib3guZGlzYWJsZWQgPyBcIlwiIDogbnVsbCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeENoZWNrYm94SW5kaWNhdG9yRGlyZWN0aXZlIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hlY2tib3ggPSBpbmplY3RDaGVja2JveCgpO1xufVxuIl19
|
@@ -17,13 +17,13 @@ export class RdxCheckboxInputDirective {
|
|
17
17
|
});
|
18
18
|
}
|
19
19
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxCheckboxInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
20
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxCheckboxInputDirective, isStandalone: true, selector: "input[
|
20
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxCheckboxInputDirective, isStandalone: true, selector: "input[rdxCheckboxInput]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "checkbox", "tabindex": "-1" }, properties: { "checked": "checkbox.checked", "disabled": "checkbox.disabled", "required": "checkbox.required", "attr.id": "elementId()", "attr.aria-hidden": "true", "attr.aria-checked": "checkbox.indeterminate ? \"mixed\" : checkbox.checked", "attr.aria-required": "checkbox.required ? \"\" : null", "attr.data-state": "checkbox.state", "attr.data-disabled": "checkbox.disabled ? \"\" : null", "attr.value": "value()" } }, hostDirectives: [{ directive: i1.RdxVisuallyHiddenInputDirective, inputs: ["feature", "\"fully-hidden\""] }], ngImport: i0 }); }
|
21
21
|
}
|
22
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxCheckboxInputDirective, decorators: [{
|
23
23
|
type: Directive,
|
24
24
|
args: [{
|
25
25
|
standalone: true,
|
26
|
-
selector: 'input[
|
26
|
+
selector: 'input[rdxCheckboxInput]',
|
27
27
|
hostDirectives: [{ directive: RdxVisuallyHiddenInputDirective, inputs: ['feature: "fully-hidden"'] }],
|
28
28
|
host: {
|
29
29
|
type: 'checkbox',
|
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
41
41
|
}
|
42
42
|
}]
|
43
43
|
}] });
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9jaGVja2JveC9zcmMvY2hlY2tib3gtaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQXFCbEQsTUFBTSxPQUFPLHlCQUF5QjtJQW5CdEM7UUFvQnVCLGFBQVEsR0FBRyxjQUFjLEVBQUUsQ0FBQztRQUV0QyxPQUFFLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFFWCxjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFbEYsVUFBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDckMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDbEMsSUFBSSxLQUFLLEtBQUssZUFBZSxFQUFFLENBQUM7Z0JBQzVCLE9BQU8sRUFBRSxDQUFDO1lBQ2QsQ0FBQztZQUVELE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztLQUNOOytHQWZZLHlCQUF5QjttR0FBekIseUJBQXlCOzs0RkFBekIseUJBQXlCO2tCQW5CckMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsY0FBYyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxFQUFFLENBQUMseUJBQXlCLENBQUMsRUFBRSxDQUFDO29CQUNyRyxJQUFJLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLFFBQVEsRUFBRSxJQUFJO3dCQUNkLFdBQVcsRUFBRSxrQkFBa0I7d0JBQy9CLFlBQVksRUFBRSxtQkFBbUI7d0JBQ2pDLFlBQVksRUFBRSxtQkFBbUI7d0JBQ2pDLFdBQVcsRUFBRSxhQUFhO3dCQUMxQixvQkFBb0IsRUFBRSxNQUFNO3dCQUM1QixxQkFBcUIsRUFBRSxxREFBcUQ7d0JBQzVFLHNCQUFzQixFQUFFLCtCQUErQjt3QkFDdkQsbUJBQW1CLEVBQUUsZ0JBQWdCO3dCQUNyQyxzQkFBc0IsRUFBRSwrQkFBK0I7d0JBQ3ZELGNBQWMsRUFBRSxTQUFTO3FCQUM1QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBEaXJlY3RpdmUsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHhWaXN1YWxseUhpZGRlbklucHV0RGlyZWN0aXZlIH0gZnJvbSAnQHJhZGl4LW5nL3ByaW1pdGl2ZXMvdmlzdWFsbHktaGlkZGVuJztcbmltcG9ydCB7IGluamVjdENoZWNrYm94IH0gZnJvbSAnLi9jaGVja2JveC50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdpbnB1dFtyZHhDaGVja2JveElucHV0XScsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFt7IGRpcmVjdGl2ZTogUmR4VmlzdWFsbHlIaWRkZW5JbnB1dERpcmVjdGl2ZSwgaW5wdXRzOiBbJ2ZlYXR1cmU6IFwiZnVsbHktaGlkZGVuXCInXSB9XSxcbiAgICBob3N0OiB7XG4gICAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICAgIHRhYmluZGV4OiAnLTEnLFxuICAgICAgICAnW2NoZWNrZWRdJzogJ2NoZWNrYm94LmNoZWNrZWQnLFxuICAgICAgICAnW2Rpc2FibGVkXSc6ICdjaGVja2JveC5kaXNhYmxlZCcsXG4gICAgICAgICdbcmVxdWlyZWRdJzogJ2NoZWNrYm94LnJlcXVpcmVkJyxcbiAgICAgICAgJ1thdHRyLmlkXSc6ICdlbGVtZW50SWQoKScsXG4gICAgICAgICdbYXR0ci5hcmlhLWhpZGRlbl0nOiAndHJ1ZScsXG4gICAgICAgICdbYXR0ci5hcmlhLWNoZWNrZWRdJzogJ2NoZWNrYm94LmluZGV0ZXJtaW5hdGUgPyBcIm1peGVkXCIgOiBjaGVja2JveC5jaGVja2VkJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtcmVxdWlyZWRdJzogJ2NoZWNrYm94LnJlcXVpcmVkID8gXCJcIiA6IG51bGwnLFxuICAgICAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiAnY2hlY2tib3guc3RhdGUnLFxuICAgICAgICAnW2F0dHIuZGF0YS1kaXNhYmxlZF0nOiAnY2hlY2tib3guZGlzYWJsZWQgPyBcIlwiIDogbnVsbCcsXG4gICAgICAgICdbYXR0ci52YWx1ZV0nOiAndmFsdWUoKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeENoZWNrYm94SW5wdXREaXJlY3RpdmUge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjaGVja2JveCA9IGluamVjdENoZWNrYm94KCk7XG5cbiAgICByZWFkb25seSBpZCA9IGlucHV0PHN0cmluZz4oKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBlbGVtZW50SWQgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5pZCgpID8gdGhpcy5pZCgpIDogYHJkeC1jaGVja2JveC0ke3RoaXMuaWQoKX1gKSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmFsdWUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5jaGVja2JveC5zdGF0ZTtcbiAgICAgICAgaWYgKHN0YXRlID09PSAnaW5kZXRlcm1pbmF0ZScpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzdGF0ZSA/ICdvbicgOiAnb2ZmJztcbiAgICB9KTtcbn1cbiJdfQ==
|
@@ -98,7 +98,7 @@ export class RdxCheckboxDirective {
|
|
98
98
|
this.disabled = isDisabled;
|
99
99
|
}
|
100
100
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxCheckboxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
101
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.11", type: RdxCheckboxDirective, isStandalone: true, selector: "[
|
101
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.11", type: RdxCheckboxDirective, isStandalone: true, selector: "[rdxCheckboxRoot]", inputs: { checked: ["checked", "checked", booleanAttribute], indeterminate: ["indeterminate", "indeterminate", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], required: ["required", "required", booleanAttribute] }, outputs: { checkedChange: "checkedChange", indeterminateChange: "indeterminateChange" }, host: { listeners: { "keydown": "onKeyDown($event)", "click": "onClick($event)", "blur": "onBlur()" }, properties: { "disabled": "disabled", "attr.data-disabled": "disabled ? \"\" : null", "attr.data-state": "state" } }, providers: [
|
102
102
|
{ provide: RdxCheckboxToken, useExisting: RdxCheckboxDirective },
|
103
103
|
{ provide: NG_VALUE_ACCESSOR, useExisting: RdxCheckboxDirective, multi: true }
|
104
104
|
], usesOnChanges: true, ngImport: i0 }); }
|
@@ -106,7 +106,7 @@ export class RdxCheckboxDirective {
|
|
106
106
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxCheckboxDirective, decorators: [{
|
107
107
|
type: Directive,
|
108
108
|
args: [{
|
109
|
-
selector: '[
|
109
|
+
selector: '[rdxCheckboxRoot]',
|
110
110
|
standalone: true,
|
111
111
|
providers: [
|
112
112
|
{ provide: RdxCheckboxToken, useExisting: RdxCheckboxDirective },
|
@@ -138,4 +138,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
138
138
|
}], indeterminateChange: [{
|
139
139
|
type: Output
|
140
140
|
}] } });
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9jaGVja2JveC9zcmMvY2hlY2tib3guZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFxQnBELE1BQU0sT0FBTyxvQkFBb0I7SUFqQmpDO1FBa0JJOztXQUVHO1FBQ3FDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFeEQ7O1dBRUc7UUFDcUMsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFFOUQ7O1dBRUc7UUFDcUMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRXpEOztXQUVHO1FBQ2dCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUUvRDs7V0FFRztRQUNnQix3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0tBZ0d4RTtJQTlGRzs7T0FFRztJQUNILElBQUksS0FBSztRQUNMLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sZUFBZSxDQUFDO1FBQzNCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO0lBQ2xELENBQUM7SUFjUyxTQUFTLENBQUMsS0FBb0I7UUFDcEMscUVBQXFFO1FBQ3JFLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUN4QixLQUFLLENBQUMsY0FBYyxFQUFF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Qjt3QkFDaEMsU0FBUyxFQUFFLGlCQUFpQjt3QkFDNUIsUUFBUSxFQUFFLFVBQVU7cUJBQ3ZCO2lCQUNKOzhCQUsyQyxPQUFPO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUtFLGFBQWE7c0JBQXBELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBS0UsUUFBUTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFRSxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUtuQixhQUFhO3NCQUEvQixNQUFNO2dCQUtZLG1CQUFtQjtzQkFBckMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJvb2xlYW5BdHRyaWJ1dGUsIERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJkeENoZWNrYm94VG9rZW4gfSBmcm9tICcuL2NoZWNrYm94LnRva2VuJztcblxuZXhwb3J0IHR5cGUgQ2hlY2tib3hTdGF0ZSA9ICd1bmNoZWNrZWQnIHwgJ2NoZWNrZWQnIHwgJ2luZGV0ZXJtaW5hdGUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tDaGVja2JveFJvb3RdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IFJkeENoZWNrYm94VG9rZW4sIHVzZUV4aXN0aW5nOiBSZHhDaGVja2JveERpcmVjdGl2ZSB9LFxuICAgICAgICB7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogUmR4Q2hlY2tib3hEaXJlY3RpdmUsIG11bHRpOiB0cnVlIH1cbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tkaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICAgICAnW2F0dHIuZGF0YS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQgPyBcIlwiIDogbnVsbCcsXG4gICAgICAgICdbYXR0ci5kYXRhLXN0YXRlXSc6ICdzdGF0ZScsXG5cbiAgICAgICAgJyhrZXlkb3duKSc6ICdvbktleURvd24oJGV2ZW50KScsXG4gICAgICAgICcoY2xpY2spJzogJ29uQ2xpY2soJGV2ZW50KScsXG4gICAgICAgICcoYmx1ciknOiAnb25CbHVyKCknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBSZHhDaGVja2JveERpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkNoYW5nZXMge1xuICAgIC8qKlxuICAgICAqIFRoZSBjb250cm9sbGVkIGNoZWNrZWQgc3RhdGUgb2YgdGhlIGNoZWNrYm94LiBNdXN0IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBvbkNoZWNrZWRDaGFuZ2UuXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGNoZWNrZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgd2hldGhlciB0aGUgY2hlY2tib3ggaXMgaW5kZXRlcm1pbmF0ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB3aGV0aGVyIHRoZSBjaGVja2JveCBpcyBkaXNhYmxlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSByZXF1aXJlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBjaGVja2JveCBjaGVja2VkIHN0YXRlIGNoYW5nZXMuXG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IGNoZWNrZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGluZGV0ZXJtaW5hdGUgc3RhdGUgY2hhbmdlcy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgaW5kZXRlcm1pbmF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8qKlxuICAgICAqIERldGVybWluZSB0aGUgc3RhdGVcbiAgICAgKi9cbiAgICBnZXQgc3RhdGUoKTogQ2hlY2tib3hTdGF0ZSB7XG4gICAgICAgIGlmICh0aGlzLmluZGV0ZXJtaW5hdGUpIHtcbiAgICAgICAgICAgIHJldHVybiAnaW5kZXRlcm1pbmF0ZSc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tlZCA/ICdjaGVja2VkJyA6ICd1bmNoZWNrZWQnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN0b3JlIHRoZSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSBjYWxsZWQgd2hlbiB0aGUgY2hlY2tib3ggY2hlY2tlZCBzdGF0ZSBjaGFuZ2VzLlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHByaXZhdGUgb25DaGFuZ2U/OiAoY2hlY2tlZDogYm9vbGVhbikgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFN0b3JlIHRoZSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSBjYWxsZWQgd2hlbiB0aGUgY2hlY2tib3ggaXMgYmx1cnJlZC5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwcml2YXRlIG9uVG91Y2hlZD86ICgpID0+IHZvaWQ7XG5cbiAgICBwcm90ZWN0ZWQgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIC8vIEFjY29yZGluZyB0byBXQUkgQVJJQSwgQ2hlY2tib3hlcyBkb24ndCBhY3RpdmF0ZSBvbiBlbnRlciBrZXlwcmVzc1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ2xpY2soJGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNoZWNrZWQgPSB0aGlzLmluZGV0ZXJtaW5hdGUgPyB0cnVlIDogIXRoaXMuY2hlY2tlZDtcbiAgICAgICAgdGhpcy5jaGVja2VkQ2hhbmdlLmVtaXQodGhpcy5jaGVja2VkKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZT8uKHRoaXMuY2hlY2tlZCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaW5kZXRlcm1pbmF0ZSkge1xuICAgICAgICAgICAgdGhpcy5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmluZGV0ZXJtaW5hdGVDaGFuZ2UuZW1pdCh0aGlzLmluZGV0ZXJtaW5hdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQmx1cigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQ/LigpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXNbJ2NoZWNrZWQnXSAmJiAhY2hhbmdlc1snY2hlY2tlZCddLmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5jaGVja2VkQ2hhbmdlLmVtaXQodGhpcy5jaGVja2VkKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlc1snaW5kZXRlcm1pbmF0ZSddICYmICFjaGFuZ2VzWydpbmRldGVybWluYXRlJ10uaXNGaXJzdENoYW5nZSgpKSB7XG4gICAgICAgICAgICB0aGlzLmluZGV0ZXJtaW5hdGVDaGFuZ2UuZW1pdCh0aGlzLmluZGV0ZXJtaW5hdGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgY2hlY2tlZCBzdGF0ZSBvZiB0aGUgY2hlY2tib3guXG4gICAgICogQHBhcmFtIGNoZWNrZWQgVGhlIGNoZWNrZWQgc3RhdGUgb2YgdGhlIGNoZWNrYm94LlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHdyaXRlVmFsdWUoY2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmNoZWNrZWQgPSBjaGVja2VkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIGNhbGxlZCB3aGVuIHRoZSBjaGVja2JveCBjaGVja2VkIHN0YXRlIGNoYW5nZXMuXG4gICAgICogQHBhcmFtIGZuIFRoZSBjYWxsYmFjayBmdW5jdGlvbi5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoY2hlY2tlZDogYm9vbGVhbikgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVnaXN0ZXJzIGEgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCBzaG91bGQgYmUgY2FsbGVkIHdoZW4gdGhlIGNoZWNrYm94IGlzIGJsdXJyZWQuXG4gICAgICogQHBhcmFtIGZuIFRoZSBjYWxsYmFjayBmdW5jdGlvbi5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGRpc2FibGVkIHN0YXRlIG9mIHRoZSBjaGVja2JveC5cbiAgICAgKiBAcGFyYW0gaXNEaXNhYmxlZCBUaGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIGNoZWNrYm94LlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB9XG59XG4iXX0=
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9jaGVja2JveC9zcmMvY2hlY2tib3guZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFxQnBELE1BQU0sT0FBTyxvQkFBb0I7SUFqQmpDO1FBa0JJOztXQUVHO1FBQ3FDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFeEQ7O1dBRUc7UUFDcUMsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFFOUQ7O1dBRUc7UUFDcUMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRXpEOztXQUVHO1FBQ2dCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUUvRDs7V0FFRztRQUNnQix3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0tBZ0d4RTtJQTlGRzs7T0FFRztJQUNILElBQUksS0FBSztRQUNMLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sZUFBZSxDQUFDO1FBQzNCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO0lBQ2xELENBQUM7SUFjUyxTQUFTLENBQUMsS0FBb0I7UUFDcEMscUVBQXFFO1FBQ3JFLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUN4QixLQUFLLENBQUMsY0FBYyxFQUFF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Qjt3QkFDaEMsU0FBUyxFQUFFLGlCQUFpQjt3QkFDNUIsUUFBUSxFQUFFLFVBQVU7cUJBQ3ZCO2lCQUNKOzhCQUsyQyxPQUFPO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUtFLGFBQWE7c0JBQXBELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBS0UsUUFBUTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFRSxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUtuQixhQUFhO3NCQUEvQixNQUFNO2dCQUtZLG1CQUFtQjtzQkFBckMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJvb2xlYW5BdHRyaWJ1dGUsIERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJkeENoZWNrYm94VG9rZW4gfSBmcm9tICcuL2NoZWNrYm94LnRva2VuJztcblxuZXhwb3J0IHR5cGUgQ2hlY2tib3hTdGF0ZSA9ICd1bmNoZWNrZWQnIHwgJ2NoZWNrZWQnIHwgJ2luZGV0ZXJtaW5hdGUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhDaGVja2JveFJvb3RdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IFJkeENoZWNrYm94VG9rZW4sIHVzZUV4aXN0aW5nOiBSZHhDaGVja2JveERpcmVjdGl2ZSB9LFxuICAgICAgICB7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogUmR4Q2hlY2tib3hEaXJlY3RpdmUsIG11bHRpOiB0cnVlIH1cbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tkaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICAgICAnW2F0dHIuZGF0YS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQgPyBcIlwiIDogbnVsbCcsXG4gICAgICAgICdbYXR0ci5kYXRhLXN0YXRlXSc6ICdzdGF0ZScsXG5cbiAgICAgICAgJyhrZXlkb3duKSc6ICdvbktleURvd24oJGV2ZW50KScsXG4gICAgICAgICcoY2xpY2spJzogJ29uQ2xpY2soJGV2ZW50KScsXG4gICAgICAgICcoYmx1ciknOiAnb25CbHVyKCknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBSZHhDaGVja2JveERpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkNoYW5nZXMge1xuICAgIC8qKlxuICAgICAqIFRoZSBjb250cm9sbGVkIGNoZWNrZWQgc3RhdGUgb2YgdGhlIGNoZWNrYm94LiBNdXN0IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBvbkNoZWNrZWRDaGFuZ2UuXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGNoZWNrZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgd2hldGhlciB0aGUgY2hlY2tib3ggaXMgaW5kZXRlcm1pbmF0ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB3aGV0aGVyIHRoZSBjaGVja2JveCBpcyBkaXNhYmxlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSByZXF1aXJlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBjaGVja2JveCBjaGVja2VkIHN0YXRlIGNoYW5nZXMuXG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IGNoZWNrZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGluZGV0ZXJtaW5hdGUgc3RhdGUgY2hhbmdlcy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgaW5kZXRlcm1pbmF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8qKlxuICAgICAqIERldGVybWluZSB0aGUgc3RhdGVcbiAgICAgKi9cbiAgICBnZXQgc3RhdGUoKTogQ2hlY2tib3hTdGF0ZSB7XG4gICAgICAgIGlmICh0aGlzLmluZGV0ZXJtaW5hdGUpIHtcbiAgICAgICAgICAgIHJldHVybiAnaW5kZXRlcm1pbmF0ZSc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tlZCA/ICdjaGVja2VkJyA6ICd1bmNoZWNrZWQnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN0b3JlIHRoZSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSBjYWxsZWQgd2hlbiB0aGUgY2hlY2tib3ggY2hlY2tlZCBzdGF0ZSBjaGFuZ2VzLlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHByaXZhdGUgb25DaGFuZ2U/OiAoY2hlY2tlZDogYm9vbGVhbikgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFN0b3JlIHRoZSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSBjYWxsZWQgd2hlbiB0aGUgY2hlY2tib3ggaXMgYmx1cnJlZC5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwcml2YXRlIG9uVG91Y2hlZD86ICgpID0+IHZvaWQ7XG5cbiAgICBwcm90ZWN0ZWQgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIC8vIEFjY29yZGluZyB0byBXQUkgQVJJQSwgQ2hlY2tib3hlcyBkb24ndCBhY3RpdmF0ZSBvbiBlbnRlciBrZXlwcmVzc1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ2xpY2soJGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNoZWNrZWQgPSB0aGlzLmluZGV0ZXJtaW5hdGUgPyB0cnVlIDogIXRoaXMuY2hlY2tlZDtcbiAgICAgICAgdGhpcy5jaGVja2VkQ2hhbmdlLmVtaXQodGhpcy5jaGVja2VkKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZT8uKHRoaXMuY2hlY2tlZCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaW5kZXRlcm1pbmF0ZSkge1xuICAgICAgICAgICAgdGhpcy5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmluZGV0ZXJtaW5hdGVDaGFuZ2UuZW1pdCh0aGlzLmluZGV0ZXJtaW5hdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQmx1cigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQ/LigpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXNbJ2NoZWNrZWQnXSAmJiAhY2hhbmdlc1snY2hlY2tlZCddLmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5jaGVja2VkQ2hhbmdlLmVtaXQodGhpcy5jaGVja2VkKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlc1snaW5kZXRlcm1pbmF0ZSddICYmICFjaGFuZ2VzWydpbmRldGVybWluYXRlJ10uaXNGaXJzdENoYW5nZSgpKSB7XG4gICAgICAgICAgICB0aGlzLmluZGV0ZXJtaW5hdGVDaGFuZ2UuZW1pdCh0aGlzLmluZGV0ZXJtaW5hdGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgY2hlY2tlZCBzdGF0ZSBvZiB0aGUgY2hlY2tib3guXG4gICAgICogQHBhcmFtIGNoZWNrZWQgVGhlIGNoZWNrZWQgc3RhdGUgb2YgdGhlIGNoZWNrYm94LlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHdyaXRlVmFsdWUoY2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmNoZWNrZWQgPSBjaGVja2VkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIGNhbGxlZCB3aGVuIHRoZSBjaGVja2JveCBjaGVja2VkIHN0YXRlIGNoYW5nZXMuXG4gICAgICogQHBhcmFtIGZuIFRoZSBjYWxsYmFjayBmdW5jdGlvbi5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoY2hlY2tlZDogYm9vbGVhbikgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVnaXN0ZXJzIGEgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCBzaG91bGQgYmUgY2FsbGVkIHdoZW4gdGhlIGNoZWNrYm94IGlzIGJsdXJyZWQuXG4gICAgICogQHBhcmFtIGZuIFRoZSBjYWxsYmFjayBmdW5jdGlvbi5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGRpc2FibGVkIHN0YXRlIG9mIHRoZSBjaGVja2JveC5cbiAgICAgKiBAcGFyYW0gaXNEaXNhYmxlZCBUaGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIGNoZWNrYm94LlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB9XG59XG4iXX0=
|
package/esm2022/core/index.mjs
CHANGED
@@ -1,8 +1,10 @@
|
|
1
1
|
export * from './src/accessor/provide-value-accessor';
|
2
2
|
export * from './src/auto-focus.directive';
|
3
|
+
export * from './src/control-value-accessor';
|
4
|
+
export * from './src/create-inject-context';
|
3
5
|
export * from './src/document';
|
4
6
|
export * from './src/inject-ng-control';
|
5
7
|
export * from './src/is-client';
|
6
8
|
export * from './src/is-inside-form';
|
7
9
|
export * from './src/window';
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2NvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvYWNjZXNzb3IvcHJvdmlkZS12YWx1ZS1hY2Nlc3Nvcic7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hdXRvLWZvY3VzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9jb250cm9sLXZhbHVlLWFjY2Vzc29yJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2NyZWF0ZS1pbmplY3QtY29udGV4dCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9kb2N1bWVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9pbmplY3QtbmctY29udHJvbCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9pcy1jbGllbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvaXMtaW5zaWRlLWZvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvd2luZG93JztcbiJdfQ==
|
@@ -0,0 +1,103 @@
|
|
1
|
+
import { booleanAttribute, computed, DestroyRef, Directive, inject, Injector, model } from '@angular/core';
|
2
|
+
import { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';
|
3
|
+
import { NgControl, NgModel } from '@angular/forms';
|
4
|
+
import { createInjectionToken } from '../create-inject-context';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
const noop = () => undefined;
|
7
|
+
export const [injectCvaCompareTo, provideCvaCompareTo] = createInjectionToken(() => Object.is);
|
8
|
+
/**
|
9
|
+
* Provides a {@link RdxControlValueAccessorCompareTo comparator} based on a property of `T`.
|
10
|
+
*
|
11
|
+
* @example
|
12
|
+
* ```ts
|
13
|
+
* interface User {
|
14
|
+
* id: string;
|
15
|
+
* name: string;
|
16
|
+
* }
|
17
|
+
*
|
18
|
+
* provideCvaCompareToByProp<User>('id');
|
19
|
+
* ```
|
20
|
+
*/
|
21
|
+
export const provideCvaCompareToByProp = (prop) => provideCvaCompareTo((a, b) => Object.is(a?.[prop], b?.[prop]), true);
|
22
|
+
export class RdxControlValueAccessor {
|
23
|
+
/**
|
24
|
+
* `NgModel` sets up the control in `ngOnChanges`. Idk if bug or on purpose, but `writeValue` and `setDisabledState` are called before the inputs are set.
|
25
|
+
* {@link https://github.com/angular/angular/blob/main/packages/forms/src/directives/ng_model.ts#L223}
|
26
|
+
*
|
27
|
+
* @ignore
|
28
|
+
*/
|
29
|
+
get registered() {
|
30
|
+
return this.ngControl instanceof NgModel
|
31
|
+
? this.ngControl._registered
|
32
|
+
: true;
|
33
|
+
}
|
34
|
+
constructor() {
|
35
|
+
this.ngControl = inject(NgControl, { self: true, optional: true });
|
36
|
+
this.destroyRef = inject(DestroyRef);
|
37
|
+
this.injector = inject(Injector);
|
38
|
+
/**
|
39
|
+
* A comparator, which determines value changes. Should return true, if two values are considered semantic equal.
|
40
|
+
*
|
41
|
+
* Defaults to {@link Object.is} in order to align with change detection behavior for inputs.
|
42
|
+
*/
|
43
|
+
this.compareTo = injectCvaCompareTo();
|
44
|
+
/** Whether this is disabled. If a control is present, it reflects it's disabled state. */
|
45
|
+
this.inputDisabled = model(this.ngControl?.disabled ?? false, { alias: 'disabled' });
|
46
|
+
this.disabled = computed(() => booleanAttribute(this.inputDisabled()));
|
47
|
+
/** The value of this. If a control is present, it reflects it's value. */
|
48
|
+
this.value = model(this.ngControl?.value ?? undefined);
|
49
|
+
this._onChange = noop;
|
50
|
+
this._onTouched = noop;
|
51
|
+
if (this.ngControl != null)
|
52
|
+
this.ngControl.valueAccessor = this;
|
53
|
+
toObservable(this.value, { injector: this.injector })
|
54
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
55
|
+
.subscribe((value) => {
|
56
|
+
if (this.compareTo(this.ngControl?.value, value))
|
57
|
+
return;
|
58
|
+
this._onChange(value);
|
59
|
+
});
|
60
|
+
// sync disabled state
|
61
|
+
toObservable(this.inputDisabled, { injector: this.injector })
|
62
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
63
|
+
.subscribe((disabled) => {
|
64
|
+
if (this.ngControl == null || this.ngControl.control == null || this.ngControl.disabled === disabled)
|
65
|
+
return;
|
66
|
+
this.ngControl.control[disabled ? 'disable' : 'enable']();
|
67
|
+
});
|
68
|
+
}
|
69
|
+
/**
|
70
|
+
* This function should be called when this host is considered `touched`.
|
71
|
+
*
|
72
|
+
* NOTE: Whenever a `blur` event is triggered on this host, this function is called.
|
73
|
+
*
|
74
|
+
* @see {@link RdxControlValueAccessor.registerOnTouched}
|
75
|
+
* @see {@link RdxControlValueAccessor._ngControl}
|
76
|
+
*/
|
77
|
+
markAsTouched() {
|
78
|
+
this._onTouched();
|
79
|
+
}
|
80
|
+
setDisabledState(disabled) {
|
81
|
+
if (!this.registered)
|
82
|
+
return;
|
83
|
+
this.inputDisabled.set(disabled);
|
84
|
+
}
|
85
|
+
writeValue(value) {
|
86
|
+
if (!this.registered || this.compareTo(value, this.value()))
|
87
|
+
return;
|
88
|
+
this.value.set(value);
|
89
|
+
}
|
90
|
+
registerOnChange(onChange) {
|
91
|
+
this._onChange = onChange;
|
92
|
+
}
|
93
|
+
registerOnTouched(onTouched) {
|
94
|
+
this._onTouched = onTouched;
|
95
|
+
}
|
96
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxControlValueAccessor, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
97
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxControlValueAccessor, isStandalone: true, inputs: { inputDisabled: { classPropertyName: "inputDisabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { inputDisabled: "disabledChange", value: "valueChange" }, ngImport: i0 }); }
|
98
|
+
}
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxControlValueAccessor, decorators: [{
|
100
|
+
type: Directive,
|
101
|
+
args: [{ standalone: true }]
|
102
|
+
}], ctorParameters: () => [] });
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2NvcmUvc3JjL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RSxPQUFPLEVBQXdCLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFaEUsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDO0FBSTdCLE1BQU0sQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsbUJBQW1CLENBQUMsR0FBRyxvQkFBb0IsQ0FDekUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FDbEIsQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLENBQUksSUFBYSxFQUFFLEVBQUUsQ0FDMUQsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFHekUsTUFBTSxPQUFPLHVCQUF1QjtJQWlCaEM7Ozs7O09BS0c7SUFDSCxJQUFZLFVBQVU7UUFDbEIsT0FBTyxJQUFJLENBQUMsU0FBUyxZQUFZLE9BQU87WUFDcEMsQ0FB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QUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsUUFBZ0M7UUFDN0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDOUIsQ0FBQztJQUVELGlCQUFpQixDQUFDLFNBQXFCO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQ2hDLENBQUM7K0dBcEZRLHVCQUF1QjttR0FBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQURuQyxTQUFTO21CQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQmFzZWQgT246XG4gKiBDb3B5cmlnaHQgKGMpIGZsZWJlZSBBdXRob3JzLiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBjb21wdXRlZCwgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBpbmplY3QsIEluamVjdG9yLCBtb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkLCB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sLCBOZ01vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY3JlYXRlSW5qZWN0aW9uVG9rZW4gfSBmcm9tICcuLi9jcmVhdGUtaW5qZWN0LWNvbnRleHQnO1xuXG5jb25zdCBub29wID0gKCkgPT4gdW5kZWZpbmVkO1xuXG5leHBvcnQgdHlwZSBSZHhDb250cm9sVmFsdWVBY2Nlc3NvckNvbXBhcmVUbzxUID0gYW55PiA9IChhPzogVCwgYj86IFQpID0+IGJvb2xlYW47XG5cbmV4cG9ydCBjb25zdCBbaW5qZWN0Q3ZhQ29tcGFyZVRvLCBwcm92aWRlQ3ZhQ29tcGFyZVRvXSA9IGNyZWF0ZUluamVjdGlvblRva2VuPCgpID0+IFJkeENvbnRyb2xWYWx1ZUFjY2Vzc29yQ29tcGFyZVRvPihcbiAgICAoKSA9PiBPYmplY3QuaXNcbik7XG5cbi8qKlxuICogUHJvdmlkZXMgYSB7QGxpbmsgUmR4Q29udHJvbFZhbHVlQWNjZXNzb3JDb21wYXJlVG8gY29tcGFyYXRvcn0gYmFzZWQgb24gYSBwcm9wZXJ0eSBvZiBgVGAuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBpbnRlcmZhY2UgVXNlciB7XG4gKiBcdGlkOiBzdHJpbmc7XG4gKiBcdG5hbWU6IHN0cmluZztcbiAqIH1cbiAqXG4gKiBwcm92aWRlQ3ZhQ29tcGFyZVRvQnlQcm9wPFVzZXI+KCdpZCcpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBwcm92aWRlQ3ZhQ29tcGFyZVRvQnlQcm9wID0gPFQ+KHByb3A6IGtleW9mIFQpID0+XG4gICAgcHJvdmlkZUN2YUNvbXBhcmVUbygoYSwgYikgPT4gT2JqZWN0LmlzKGE/Lltwcm9wXSwgYj8uW3Byb3BdKSwgdHJ1ZSk7XG5cbkBEaXJlY3RpdmUoeyBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgUmR4Q29udHJvbFZhbHVlQWNjZXNzb3I8VmFsdWU+IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdDb250cm9sID0gaW5qZWN0KE5nQ29udHJvbCwgeyBzZWxmOiB0cnVlLCBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgICAvKipcbiAgICAgKiBBIGNvbXBhcmF0b3IsIHdoaWNoIGRldGVybWluZXMgdmFsdWUgY2hhbmdlcy4gU2hvdWxkIHJldHVybiB0cnVlLCBpZiB0d28gdmFsdWVzIGFyZSBjb25zaWRlcmVkIHNlbWFudGljIGVxdWFsLlxuICAgICAqXG4gICAgICogRGVmYXVsdHMgdG8ge0BsaW5rIE9iamVjdC5pc30gaW4gb3JkZXIgdG8gYWxpZ24gd2l0aCBjaGFuZ2UgZGV0ZWN0aW9uIGJlaGF2aW9yIGZvciBpbnB1dHMuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbXBhcmVUbzogUmR4Q29udHJvbFZhbHVlQWNjZXNzb3JDb21wYXJlVG88VmFsdWU+ID0gaW5qZWN0Q3ZhQ29tcGFyZVRvKCk7XG4gICAgLyoqIFdoZXRoZXIgdGhpcyBpcyBkaXNhYmxlZC4gSWYgYSBjb250cm9sIGlzIHByZXNlbnQsIGl0IHJlZmxlY3RzIGl0J3MgZGlzYWJsZWQgc3RhdGUuICovXG4gICAgcHVibGljIGlucHV0RGlzYWJsZWQgPSBtb2RlbDxCb29sZWFuSW5wdXQ+KHRoaXMubmdDb250cm9sPy5kaXNhYmxlZCA/PyBmYWxzZSwgeyBhbGlhczogJ2Rpc2FibGVkJyB9KTtcbiAgICBwdWJsaWMgZGlzYWJsZWQgPSBjb21wdXRlZCgoKSA9PiBib29sZWFuQXR0cmlidXRlKHRoaXMuaW5wdXREaXNhYmxlZCgpKSk7XG4gICAgLyoqIFRoZSB2YWx1ZSBvZiB0aGlzLiBJZiBhIGNvbnRyb2wgaXMgcHJlc2VudCwgaXQgcmVmbGVjdHMgaXQncyB2YWx1ZS4gKi9cbiAgICBwdWJsaWMgdmFsdWUgPSBtb2RlbDxWYWx1ZT4odGhpcy5uZ0NvbnRyb2w/LnZhbHVlID8/IHVuZGVmaW5lZCk7XG5cbiAgICAvKipcbiAgICAgKiBgTmdNb2RlbGAgc2V0cyB1cCB0aGUgY29udHJvbCBpbiBgbmdPbkNoYW5nZXNgLiBJZGsgaWYgYnVnIG9yIG9uIHB1cnBvc2UsIGJ1dCBgd3JpdGVWYWx1ZWAgYW5kIGBzZXREaXNhYmxlZFN0YXRlYCBhcmUgY2FsbGVkIGJlZm9yZSB0aGUgaW5wdXRzIGFyZSBzZXQuXG4gICAgICoge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvYmxvYi9tYWluL3BhY2thZ2VzL2Zvcm1zL3NyYy9kaXJlY3RpdmVzL25nX21vZGVsLnRzI0wyMjN9XG4gICAgICpcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXQgcmVnaXN0ZXJlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmdDb250cm9sIGluc3RhbmNlb2YgTmdNb2RlbFxuICAgICAgICAgICAgPyAodGhpcy5uZ0NvbnRyb2wgYXMgdW5rbm93biBhcyB7IF9yZWdpc3RlcmVkOiBib29sZWFuIH0pLl9yZWdpc3RlcmVkXG4gICAgICAgICAgICA6IHRydWU7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCAhPSBudWxsKSB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcblxuICAgICAgICB0b09ic2VydmFibGUodGhpcy52YWx1ZSwgeyBpbmplY3RvcjogdGhpcy5pbmplY3RvciB9KVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbXBhcmVUbyh0aGlzLm5nQ29udHJvbD8udmFsdWUsIHZhbHVlKSkgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2UodmFsdWUpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gc3luYyBkaXNhYmxlZCBzdGF0ZVxuICAgICAgICB0b09ic2VydmFibGUodGhpcy5pbnB1dERpc2FibGVkLCB7IGluamVjdG9yOiB0aGlzLmluamVjdG9yIH0pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRpc2FibGVkKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubmdDb250cm9sID09IG51bGwgfHwgdGhpcy5uZ0NvbnRyb2wuY29udHJvbCA9PSBudWxsIHx8IHRoaXMubmdDb250cm9sLmRpc2FibGVkID09PSBkaXNhYmxlZClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbFtkaXNhYmxlZCA/ICdkaXNhYmxlJyA6ICdlbmFibGUnXSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfb25DaGFuZ2U6ICh2YWx1ZTogVmFsdWUpID0+IHZvaWQgPSBub29wO1xuICAgIHByaXZhdGUgX29uVG91Y2hlZDogKCkgPT4gdm9pZCA9IG5vb3A7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgd2hlbiB0aGlzIGhvc3QgaXMgY29uc2lkZXJlZCBgdG91Y2hlZGAuXG4gICAgICpcbiAgICAgKiBOT1RFOiBXaGVuZXZlciBhIGBibHVyYCBldmVudCBpcyB0cmlnZ2VyZWQgb24gdGhpcyBob3N0LCB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZC5cbiAgICAgKlxuICAgICAqIEBzZWUge0BsaW5rIFJkeENvbnRyb2xWYWx1ZUFjY2Vzc29yLnJlZ2lzdGVyT25Ub3VjaGVkfVxuICAgICAqIEBzZWUge0BsaW5rIFJkeENvbnRyb2xWYWx1ZUFjY2Vzc29yLl9uZ0NvbnRyb2x9XG4gICAgICovXG4gICAgbWFya0FzVG91Y2hlZCgpIHtcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShkaXNhYmxlZDogYm9vbGVhbikge1xuICAgICAgICBpZiAoIXRoaXMucmVnaXN0ZXJlZCkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuaW5wdXREaXNhYmxlZC5zZXQoZGlzYWJsZWQpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IFZhbHVlKSB7XG4gICAgICAgIGlmICghdGhpcy5yZWdpc3RlcmVkIHx8IHRoaXMuY29tcGFyZVRvKHZhbHVlLCB0aGlzLnZhbHVlKCkpKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy52YWx1ZS5zZXQodmFsdWUpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6ICh2YWx1ZTogVmFsdWUpID0+IHZvaWQpIHtcbiAgICAgICAgdGhpcy5fb25DaGFuZ2UgPSBvbkNoYW5nZTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6ICgpID0+IHZvaWQpIHtcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuICAgIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,15 @@
|
|
1
|
+
/**
|
2
|
+
* This code is adapted from the original implementation by the ngxTension team.
|
3
|
+
* Source: https://github.com/ngxtension/ngxtension-platform/blob/main/libs/ngxtension/assert-injector/src/assert-injector.ts
|
4
|
+
*
|
5
|
+
* Copyright (c) ngxtension Authors. Licensed under the MIT License.
|
6
|
+
*/
|
7
|
+
import { assertInInjectionContext, inject, Injector, runInInjectionContext } from '@angular/core';
|
8
|
+
export function assertInjector(fn, injector, runner) {
|
9
|
+
!injector && assertInInjectionContext(fn);
|
10
|
+
const assertedInjector = injector ?? inject(Injector);
|
11
|
+
if (!runner)
|
12
|
+
return assertedInjector;
|
13
|
+
return runInInjectionContext(assertedInjector, runner);
|
14
|
+
}
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0LWluamVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9jb3JlL3NyYy9jcmVhdGUtaW5qZWN0LWNvbnRleHQvYXNzZXJ0LWluamVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBQ0gsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFrRGxHLE1BQU0sVUFBVSxjQUFjLENBQzFCLEVBQWdCLEVBQ2hCLFFBQTRCLEVBQzVCLE1BQXNCO0lBRXRCLENBQUMsUUFBUSxJQUFJLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRTFDLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV0RCxJQUFJLENBQUMsTUFBTTtRQUFFLE9BQU8sZ0JBQWdCLENBQUM7SUFFckMsT0FBTyxxQkFBcUIsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQXVCLENBQUM7QUFDakYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBjb2RlIGlzIGFkYXB0ZWQgZnJvbSB0aGUgb3JpZ2luYWwgaW1wbGVtZW50YXRpb24gYnkgdGhlIG5neFRlbnNpb24gdGVhbS5cbiAqIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL25neHRlbnNpb24vbmd4dGVuc2lvbi1wbGF0Zm9ybS9ibG9iL21haW4vbGlicy9uZ3h0ZW5zaW9uL2Fzc2VydC1pbmplY3Rvci9zcmMvYXNzZXJ0LWluamVjdG9yLnRzXG4gKlxuICogQ29weXJpZ2h0IChjKSBuZ3h0ZW5zaW9uIEF1dGhvcnMuIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0LCBpbmplY3QsIEluamVjdG9yLCBydW5JbkluamVjdGlvbkNvbnRleHQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE51bGxhYmxlLCBTYWZlRnVuY3Rpb24gfSBmcm9tICcuLi90eXBlcyc7XG5cbi8qKlxuICogYGFzc2VydEluamVjdG9yYCBleHRlbmRzIGBhc3NlcnRJbkluamVjdGlvbkNvbnRleHRgIHdpdGggYW4gb3B0aW9uYWwgYEluamVjdG9yYFxuICogQWZ0ZXIgYXNzZXJ0aW9uLCBgYXNzZXJ0SW5qZWN0b3JgIHJ1bnMgdGhlIGBydW5uZXJgIGZ1bmN0aW9uIHdpdGggdGhlIGd1YXJhbnRlZWQgYEluamVjdG9yYFxuICogd2hldGhlciBpdCBpcyB0aGUgZGVmYXVsdCBgSW5qZWN0b3JgIHdpdGhpbiB0aGUgY3VycmVudCAqKkluamVjdGlvbiBDb250ZXh0KipcbiAqIG9yIHRoZSBjdXN0b20gYEluamVjdG9yYCB0aGF0IHdhcyBwYXNzZWQgaW4uXG4gKlxuICogQHRlbXBsYXRlIHsoKSA9PiB1bmtub3dufSBSdW5uZXIgLSBSdW5uZXIgaXMgYSBmdW5jdGlvbiB0aGF0IGNhbiByZXR1cm4gYW55dGhpbmdcbiAqIEBwYXJhbSB7U2FmZUZ1bmN0aW9ufSBmbiAtIHRoZSBGdW5jdGlvbiB0byBwYXNzIGluIGBhc3NlcnRJbkluamVjdGlvbkNvbnRleHRgXG4gKiBAcGFyYW0ge051bGxhYmxlPEluamVjdG9yPn0gaW5qZWN0b3IgLSB0aGUgb3B0aW9uYWwgXCJjdXN0b21cIiBJbmplY3RvclxuICogQHBhcmFtIHtSdW5uZXJ9IHJ1bm5lciAtIHRoZSBydW5uZXIgZm5cbiAqIEByZXR1cm5zIHtSZXR1cm5UeXBlPFJ1bm5lcj59IHJlc3VsdCAtIHJldHVybnMgdGhlIHJlc3VsdCBvZiB0aGUgUnVubmVyXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBmdW5jdGlvbiBpbmplY3RWYWx1ZShpbmplY3Rvcj86IEluamVjdG9yKSB7XG4gKiAgcmV0dXJuIGFzc2VydEluamVjdG9yKGluamVjdFZhbHVlLCBpbmplY3RvciwgKCkgPT4gJ3ZhbHVlJyk7XG4gKiB9XG4gKlxuICogaW5qZWN0VmFsdWUoKTsgLy8gc3RyaW5nXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydEluamVjdG9yPFJ1bm5lciBleHRlbmRzICgpID0+IHVua25vd24+KFxuICAgIGZuOiBTYWZlRnVuY3Rpb24sXG4gICAgaW5qZWN0b3I6IE51bGxhYmxlPEluamVjdG9yPixcbiAgICBydW5uZXI6IFJ1bm5lclxuKTogUmV0dXJuVHlwZTxSdW5uZXI+O1xuLyoqXG4gKiBgYXNzZXJ0SW5qZWN0b3JgIGV4dGVuZHMgYGFzc2VydEluSW5qZWN0aW9uQ29udGV4dGAgd2l0aCBhbiBvcHRpb25hbCBgSW5qZWN0b3JgXG4gKiBBZnRlciBhc3NlcnRpb24sIGBhc3NlcnRJbmplY3RvcmAgcmV0dXJucyBhIGd1YXJhbnRlZWQgYEluamVjdG9yYCB3aGV0aGVyIGl0IGlzIHRoZSBkZWZhdWx0IGBJbmplY3RvcmBcbiAqIHdpdGhpbiB0aGUgY3VycmVudCAqKkluamVjdGlvbiBDb250ZXh0Kiogb3IgdGhlIGN1c3RvbSBgSW5qZWN0b3JgIHRoYXQgd2FzIHBhc3NlZCBpbi5cbiAqXG4gKiBAcGFyYW0ge1NhZmVGdW5jdGlvbn0gZm4gLSB0aGUgRnVuY3Rpb24gdG8gcGFzcyBpbiBgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0YFxuICogQHBhcmFtIHtOdWxsYWJsZTxJbmplY3Rvcj59IGluamVjdG9yIC0gdGhlIG9wdGlvbmFsIFwiY3VzdG9tXCIgSW5qZWN0b3JcbiAqIEByZXR1cm5zIEluamVjdG9yXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBmdW5jdGlvbiBpbmplY3REZXN0cm95KGluamVjdG9yPzogSW5qZWN0b3IpIHtcbiAqICBpbmplY3RvciA9IGFzc2VydEluamVjdG9yKGluamVjdERlc3Ryb3ksIGluamVjdG9yKTtcbiAqXG4gKiAgcmV0dXJuIHJ1bkluSW5qZWN0aW9uQ29udGV4dChpbmplY3RvciwgKCkgPT4ge1xuICogICAgLy8gY29kZVxuICogIH0pXG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydEluamVjdG9yKGZuOiBTYWZlRnVuY3Rpb24sIGluamVjdG9yOiBOdWxsYWJsZTxJbmplY3Rvcj4pOiBJbmplY3RvcjtcbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRJbmplY3RvcjxSdW5uZXIgZXh0ZW5kcyAoKSA9PiB1bmtub3duPihcbiAgICBmbjogU2FmZUZ1bmN0aW9uLFxuICAgIGluamVjdG9yOiBOdWxsYWJsZTxJbmplY3Rvcj4sXG4gICAgcnVubmVyPzogKCkgPT4gdW5rbm93blxuKTogSW5qZWN0b3IgfCBSZXR1cm5UeXBlPFJ1bm5lcj4ge1xuICAgICFpbmplY3RvciAmJiBhc3NlcnRJbkluamVjdGlvbkNvbnRleHQoZm4pO1xuXG4gICAgY29uc3QgYXNzZXJ0ZWRJbmplY3RvciA9IGluamVjdG9yID8/IGluamVjdChJbmplY3Rvcik7XG5cbiAgICBpZiAoIXJ1bm5lcikgcmV0dXJuIGFzc2VydGVkSW5qZWN0b3I7XG5cbiAgICByZXR1cm4gcnVuSW5JbmplY3Rpb25Db250ZXh0KGFzc2VydGVkSW5qZWN0b3IsIHJ1bm5lcikgYXMgUmV0dXJuVHlwZTxSdW5uZXI+O1xufVxuIl19
|
@@ -0,0 +1,116 @@
|
|
1
|
+
/**
|
2
|
+
*
|
3
|
+
* Copyright (c) ngxtension Authors. Licensed under the MIT License.
|
4
|
+
*/
|
5
|
+
import { ENVIRONMENT_INITIALIZER, InjectionToken, inject, runInInjectionContext } from '@angular/core';
|
6
|
+
import { assertInjector } from './assert-injector';
|
7
|
+
function createInjectFn(token) {
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
|
9
|
+
return function ({ injector, ...injectOptions } = {}) {
|
10
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
11
|
+
// @ts-expect-error
|
12
|
+
injector = assertInjector(this, injector);
|
13
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
14
|
+
// @ts-expect-error
|
15
|
+
return runInInjectionContext(injector, () => inject(token, injectOptions));
|
16
|
+
};
|
17
|
+
}
|
18
|
+
function createProvideFn(token, factory, opts = {}) {
|
19
|
+
const { deps = [], multi = false, extraProviders = [], isFunctionValue: isFunctionValueFromOpts = false } = opts;
|
20
|
+
return (value, isFunctionValue = isFunctionValueFromOpts) => {
|
21
|
+
let provider;
|
22
|
+
if (typeof value !== 'undefined') {
|
23
|
+
// TODO: (chau) maybe this can be made better
|
24
|
+
const factory = typeof value === 'function' ? (isFunctionValue ? () => value : value) : () => value;
|
25
|
+
provider = {
|
26
|
+
provide: token,
|
27
|
+
useFactory: factory,
|
28
|
+
multi
|
29
|
+
};
|
30
|
+
}
|
31
|
+
else {
|
32
|
+
provider = {
|
33
|
+
provide: token,
|
34
|
+
useFactory: factory,
|
35
|
+
deps: deps,
|
36
|
+
multi
|
37
|
+
};
|
38
|
+
}
|
39
|
+
return [extraProviders, provider];
|
40
|
+
};
|
41
|
+
}
|
42
|
+
/**
|
43
|
+
* `createInjectionToken` accepts a factory function and returns a tuple of `injectFn`, `provideFn`, and the `InjectionToken`
|
44
|
+
* that the factory function is for.
|
45
|
+
*
|
46
|
+
* @param {Function} factory - Factory Function that returns the value for the `InjectionToken`
|
47
|
+
* @param {CreateInjectionTokenOptions} options - object to control how the `InjectionToken` behaves
|
48
|
+
* @returns {CreateInjectionTokenReturn}
|
49
|
+
*
|
50
|
+
* @example
|
51
|
+
* ```ts
|
52
|
+
* const [injectCounter, provideCounter, COUNTER] = createInjectionToken(() => signal(0));
|
53
|
+
*
|
54
|
+
* export class Counter {
|
55
|
+
* counter = injectCounter(); // WritableSignal<number>
|
56
|
+
* }
|
57
|
+
* ```
|
58
|
+
*/
|
59
|
+
export function createInjectionToken(factory, options) {
|
60
|
+
const tokenName = factory.name || factory.toString();
|
61
|
+
const opts = options ?? { isRoot: true };
|
62
|
+
opts.isRoot ??= true;
|
63
|
+
// NOTE: multi tokens cannot be a root token. It has to be provided (provideFn needs to be invoked)
|
64
|
+
// for the 'multi' flag to work properly
|
65
|
+
if (opts.multi) {
|
66
|
+
opts.isRoot = false;
|
67
|
+
}
|
68
|
+
if (opts.isRoot) {
|
69
|
+
if (opts.token) {
|
70
|
+
throw new Error(`\
|
71
|
+
createInjectionToken is creating a root InjectionToken but an external token is passed in.
|
72
|
+
`);
|
73
|
+
}
|
74
|
+
const token = new InjectionToken(`Token for ${tokenName}`, {
|
75
|
+
factory: () => {
|
76
|
+
if (opts.deps && Array.isArray(opts.deps)) {
|
77
|
+
return factory(...opts.deps.map((dep) => {
|
78
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
79
|
+
// @ts-expect-error
|
80
|
+
dep = (Array.isArray(dep) ? dep.at(-1) : dep);
|
81
|
+
return inject(dep);
|
82
|
+
}));
|
83
|
+
}
|
84
|
+
return factory();
|
85
|
+
}
|
86
|
+
});
|
87
|
+
const injectFn = createInjectFn(token);
|
88
|
+
return [
|
89
|
+
injectFn,
|
90
|
+
createProvideFn(token, factory, opts),
|
91
|
+
token,
|
92
|
+
() => ({
|
93
|
+
provide: ENVIRONMENT_INITIALIZER,
|
94
|
+
useValue: () => injectFn(),
|
95
|
+
multi: true
|
96
|
+
})
|
97
|
+
];
|
98
|
+
}
|
99
|
+
const token = opts.token || new InjectionToken(`Token for ${tokenName}`);
|
100
|
+
return [
|
101
|
+
createInjectFn(token),
|
102
|
+
createProvideFn(token, factory, opts),
|
103
|
+
token,
|
104
|
+
() => []
|
105
|
+
];
|
106
|
+
}
|
107
|
+
export function createNoopInjectionToken(description, options) {
|
108
|
+
const token = options?.token || new InjectionToken(description);
|
109
|
+
return [
|
110
|
+
createInjectFn(token),
|
111
|
+
createProvideFn(token, () => null, (options || {})),
|
112
|
+
token,
|
113
|
+
() => []
|
114
|
+
];
|
115
|
+
}
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2NvcmUvc3JjL2NyZWF0ZS1pbmplY3QtY29udGV4dC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGNBQWMsRUFDZCxNQUFNLEVBQ04scUJBQXFCLEVBV3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQWdFbkQsU0FBUyxjQUFjLENBQVMsS0FBNkI7SUFDekQsc0VBQXNFO0lBQ3RFLE9BQU8sVUFBMEIsRUFBRSxRQUFRLEVBQUUsR0FBRyxhQUFhLEtBQThDLEVBQUU7UUFDekcsNkRBQTZEO1FBQzdELG1CQUFtQjtRQUNuQixRQUFRLEdBQUcsY0FBYyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMxQyw2REFBNkQ7UUFDN0QsbUJBQW1CO1FBQ25CLE9BQU8scUJBQXFCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsYUFBOEIsQ0FBQyxDQUFDLENBQUM7SUFDaEcsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVELFNBQVMsZUFBZSxDQUtwQixLQUE2QixFQUM3QixPQUFtQyxFQUNuQyxPQUF1RCxFQUFFO0lBRXpELE1BQU0sRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFLEtBQUssR0FBRyxLQUFLLEVBQUUsY0FBYyxHQUFHLEVBQUUsRUFBRSxlQUFlLEVBQUUsdUJBQXVCLEdBQUcsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBQ2pILE9BQU8sQ0FBQyxLQUErQixFQUFFLGVBQWUsR0FBRyx1QkFBdUIsRUFBRSxFQUFFO1FBQ2xGLElBQUksUUFBa0IsQ0FBQztRQUN2QixJQUFJLE9BQU8sS0FBSyxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQy9CLDZDQUE2QztZQUM3QyxNQUFNLE9BQU8sR0FBRyxPQUFPLEtBQUssS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFFcEcsUUFBUSxHQUFHO2dCQUNQLE9BQU8sRUFBRSxLQUFLO2dCQUNkLFVBQVUsRUFBRSxPQUFPO2dCQUNuQixLQUFLO2FBQ1IsQ0FBQztRQUNOLENBQUM7YUFBTSxDQUFDO1lBQ0osUUFBUSxHQUFHO2dCQUNQLE9BQU8sRUFBRSxLQUFLO2dCQUNkLFVBQVUsRUFBRSxPQUFPO2dCQUNuQixJQUFJLEVBQUUsSUFBK0I7Z0JBQ3JDLEtBQUs7YUFDUixDQUFDO1FBQ04sQ0FBQztRQUVELE9BQU8sQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdEMsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQVFsQyxPQUFpQixFQUFFLE9BQWtCO0lBQ25DLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JELE1BQU0sSUFBSSxHQUFHLE9BQU8sSUFBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQTBELENBQUM7SUFFbEcsSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUM7SUFFckIsbUdBQW1HO0lBQ25HLHdDQUF3QztJQUN4QyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQzs7Q0FFM0IsQ0FBQyxDQUFDO1FBQ0ssQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksY0FBYyxDQUFpQixhQUFhLFNBQVMsRUFBRSxFQUFFO1lBQ3ZFLE9BQU8sRUFBRSxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQ3hDLE9BQU8sT0FBTyxDQUNWLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTt3QkFDckIsNkRBQTZEO3dCQUM3RCxtQkFBbUI7d0JBQ25CLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFpQyxDQUFDO3dCQUM5RSxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDdkIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztnQkFDTixDQUFDO2dCQUNELE9BQU8sT0FBTyxFQUFFLENBQUM7WUFDckIsQ0FBQztTQUNKLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQWtELENBQUM7UUFFeEYsT0FBTztZQUNILFFBQVE7WUFDUixlQUFlLENBQ1gsS0FBSyxFQUNMLE9BQU8sRUFDUCxJQUFzRCxDQUNSO1lBQ2xELEtBQUs7WUFDTCxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUNILE9BQU8sRUFBRSx1QkFBdUI7Z0JBQ2hDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2FBQ2QsQ0FBQztTQUVMLENBQUM7SUFDTixDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLGNBQWMsQ0FBaUIsYUFBYSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3pGLE9BQU87UUFDSCxjQUFjLENBQUMsS0FBSyxDQUFrRDtRQUN0RSxlQUFlLENBQ1gsS0FBSyxFQUNMLE9BQU8sRUFDUCxJQUFzRCxDQUNSO1FBQ2xELEtBQUs7UUFDTCxHQUFHLEVBQUUsQ0FBQyxFQUFFO0tBQ1gsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBTXRDLFdBQW1CLEVBQUUsT0FBa0I7SUFHckMsTUFBTSxLQUFLLEdBQ04sT0FBdUQsRUFBRSxLQUFLLElBQUksSUFBSSxjQUFjLENBQVUsV0FBVyxDQUFDLENBQUM7SUFDaEgsT0FBTztRQUNILGNBQWMsQ0FBQyxLQUFLLENBQ1I7UUFDWixlQUFlLENBQ1gsS0FBSyxFQUNMLEdBQUcsRUFBRSxDQUFDLElBQUssRUFDWCxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQTJDLENBRWpEO1FBQ1osS0FBSztRQUNMLEdBQUcsRUFBRSxDQUFDLEVBQUU7S0FDa0MsQ0FBQztBQUNuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKlxuICogQ29weXJpZ2h0IChjKSBuZ3h0ZW5zaW9uIEF1dGhvcnMuIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtcbiAgICBFTlZJUk9OTUVOVF9JTklUSUFMSVpFUixcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBpbmplY3QsXG4gICAgcnVuSW5JbmplY3Rpb25Db250ZXh0LFxuICAgIHR5cGUgRW52aXJvbm1lbnRQcm92aWRlcnMsXG4gICAgdHlwZSBGYWN0b3J5UHJvdmlkZXIsXG4gICAgdHlwZSBIb3N0LFxuICAgIHR5cGUgSW5qZWN0T3B0aW9ucyxcbiAgICB0eXBlIEluamVjdG9yLFxuICAgIHR5cGUgT3B0aW9uYWwsXG4gICAgdHlwZSBQcm92aWRlcixcbiAgICB0eXBlIFNlbGYsXG4gICAgdHlwZSBTa2lwU2VsZixcbiAgICB0eXBlIFR5cGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhc3NlcnRJbmplY3RvciB9IGZyb20gJy4vYXNzZXJ0LWluamVjdG9yJztcblxudHlwZSBDcmVhdGVJbmplY3Rpb25Ub2tlbkRlcDxUVG9rZW5UeXBlPiA9XG4gICAgfCBUeXBlPFRUb2tlblR5cGU+XG4gICAgLy8gTk9URTogd2UgZG9uJ3QgaGF2ZSBhbiBBYnN0cmFjdFR5cGVcbiAgICB8IChhYnN0cmFjdCBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBUVG9rZW5UeXBlKVxuICAgIHwgSW5qZWN0aW9uVG9rZW48VFRva2VuVHlwZT47XG5cbnR5cGUgQ3JlYXRlSW5qZWN0aW9uVG9rZW5EZXBzPFxuICAgIFRGYWN0b3J5IGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnksXG4gICAgVEZhY3RvcnlEZXBzIGV4dGVuZHMgUGFyYW1ldGVyczxURmFjdG9yeT4gPSBQYXJhbWV0ZXJzPFRGYWN0b3J5PlxuPiA9IHtcbiAgICBbSW5kZXggaW4ga2V5b2YgVEZhY3RvcnlEZXBzXTpcbiAgICAgICAgfCBDcmVhdGVJbmplY3Rpb25Ub2tlbkRlcDxURmFjdG9yeURlcHNbSW5kZXhdPlxuICAgICAgICB8IFsuLi5tb2RpZmllcnM6IEFycmF5PE9wdGlvbmFsIHwgU2VsZiB8IFNraXBTZWxmIHwgSG9zdD4sIHRva2VuOiBDcmVhdGVJbmplY3Rpb25Ub2tlbkRlcDxURmFjdG9yeURlcHNbSW5kZXhdPl07XG59ICYgeyBsZW5ndGg6IFRGYWN0b3J5RGVwc1snbGVuZ3RoJ10gfTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlSW5qZWN0aW9uVG9rZW5PcHRpb25zPFxuICAgIFRGYWN0b3J5IGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnksXG4gICAgVEZhY3RvcnlEZXBzIGV4dGVuZHMgUGFyYW1ldGVyczxURmFjdG9yeT4gPSBQYXJhbWV0ZXJzPFRGYWN0b3J5PlxuPiA9XG4gICAgLy8gdGhpcyBtZWFucyBURnVuY3Rpb24gaGFzIG5vIHBhcmFtZXRlcnNcbiAgICAoVEZhY3RvcnlEZXBzWzBdIGV4dGVuZHMgdW5kZWZpbmVkXG4gICAgICAgID8geyBkZXBzPzogbmV2ZXIgfVxuICAgICAgICA6IHsgZGVwczogQ3JlYXRlSW5qZWN0aW9uVG9rZW5EZXBzPFRGYWN0b3J5LCBURmFjdG9yeURlcHM+IH0pICYge1xuICAgICAgICBpc1Jvb3Q/OiBib29sZWFuO1xuICAgICAgICBpc0Z1bmN0aW9uVmFsdWU/OiBib29sZWFuO1xuICAgICAgICBtdWx0aT86IGJvb2xlYW47XG4gICAgICAgIHRva2VuPzogSW5qZWN0aW9uVG9rZW48UmV0dXJuVHlwZTxURmFjdG9yeT4+O1xuICAgICAgICBleHRyYVByb3ZpZGVycz86IFByb3ZpZGVyIHwgRW52aXJvbm1lbnRQcm92aWRlcnM7XG4gICAgfTtcblxudHlwZSBDcmVhdGVQcm92aWRlRm5PcHRpb25zPFxuICAgIFRGYWN0b3J5IGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnksXG4gICAgVEZhY3RvcnlEZXBzIGV4dGVuZHMgUGFyYW1ldGVyczxURmFjdG9yeT4gPSBQYXJhbWV0ZXJzPFRGYWN0b3J5PlxuPiA9IFBpY2s8Q3JlYXRlSW5qZWN0aW9uVG9rZW5PcHRpb25zPFRGYWN0b3J5LCBURmFjdG9yeURlcHM+LCAnZGVwcycgfCAnZXh0cmFQcm92aWRlcnMnIHwgJ211bHRpJyB8ICdpc0Z1bmN0aW9uVmFsdWUnPjtcblxudHlwZSBJbmplY3RGbjxURmFjdG9yeVJldHVybj4gPSB7XG4gICAgKCk6IFRGYWN0b3J5UmV0dXJuO1xuICAgIChcbiAgICAgICAgaW5qZWN0T3B0aW9uczogSW5qZWN0T3B0aW9ucyAmIHsgb3B0aW9uYWw/OiBmYWxzZSB9ICYge1xuICAgICAgICAgICAgaW5qZWN0b3I/OiBJbmplY3RvcjtcbiAgICAgICAgfVxuICAgICk6IFRGYWN0b3J5UmV0dXJuO1xuICAgIChpbmplY3RPcHRpb25zOiBJbmplY3RPcHRpb25zICYgeyBpbmplY3Rvcj86IEluamVjdG9yIH0pOiBURmFjdG9yeVJldHVybiB8IG51bGw7XG59O1xuXG50eXBlIFByb3ZpZGVGbjxcbiAgICBUTm9vcCBleHRlbmRzIGJvb2xlYW4sXG4gICAgVEZhY3RvcnlSZXR1cm4sXG4gICAgVFJldHVybiA9IFRGYWN0b3J5UmV0dXJuIGV4dGVuZHMgQXJyYXk8aW5mZXIgSXRlbT4gPyBJdGVtIDogVEZhY3RvcnlSZXR1cm5cbj4gPSAoVE5vb3AgZXh0ZW5kcyB0cnVlID8gKHZhbHVlOiBUUmV0dXJuIHwgKCgpID0+IFRSZXR1cm4pKSA9PiBQcm92aWRlciA6ICgpID0+IFByb3ZpZGVyKSAmXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZnVuY3Rpb24tdHlwZVxuICAgIChUUmV0dXJuIGV4dGVuZHMgRnVuY3Rpb25cbiAgICAgICAgPyAodmFsdWU6IFRSZXR1cm4gfCAoKCkgPT4gVFJldHVybiksIGlzRnVuY3Rpb25WYWx1ZTogYm9vbGVhbikgPT4gUHJvdmlkZXJcbiAgICAgICAgOiAodmFsdWU6IFRSZXR1cm4gfCAoKCkgPT4gVFJldHVybikpID0+IFByb3ZpZGVyKTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlSW5qZWN0aW9uVG9rZW5SZXR1cm48VEZhY3RvcnlSZXR1cm4sIFROb29wIGV4dGVuZHMgYm9vbGVhbiA9IGZhbHNlPiA9IFtcbiAgICBJbmplY3RGbjxURmFjdG9yeVJldHVybj4sXG4gICAgUHJvdmlkZUZuPFROb29wLCBURmFjdG9yeVJldHVybj4sXG4gICAgSW5qZWN0aW9uVG9rZW48VEZhY3RvcnlSZXR1cm4+LFxuICAgICgpID0+IFByb3ZpZGVyXG5dO1xuXG5mdW5jdGlvbiBjcmVhdGVJbmplY3RGbjxUVmFsdWU+KHRva2VuOiBJbmplY3Rpb25Ub2tlbjxUVmFsdWU+KSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZnVuY3Rpb24tdHlwZVxuICAgIHJldHVybiBmdW5jdGlvbiAodGhpczogRnVuY3Rpb24sIHsgaW5qZWN0b3IsIC4uLmluamVjdE9wdGlvbnMgfTogSW5qZWN0T3B0aW9ucyAmIHsgaW5qZWN0b3I/OiBJbmplY3RvciB9ID0ge30pIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgIGluamVjdG9yID0gYXNzZXJ0SW5qZWN0b3IodGhpcywgaW5qZWN0b3IpO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgcmV0dXJuIHJ1bkluSW5qZWN0aW9uQ29udGV4dChpbmplY3RvciwgKCkgPT4gaW5qZWN0KHRva2VuLCBpbmplY3RPcHRpb25zIGFzIEluamVjdE9wdGlvbnMpKTtcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBjcmVhdGVQcm92aWRlRm48XG4gICAgVFZhbHVlLFxuICAgIFRGYWN0b3J5IGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnkgPSAoLi4uYXJnczogYW55W10pID0+IFRWYWx1ZSxcbiAgICBURmFjdG9yeURlcHMgZXh0ZW5kcyBQYXJhbWV0ZXJzPFRGYWN0b3J5PiA9IFBhcmFtZXRlcnM8VEZhY3Rvcnk+XG4+KFxuICAgIHRva2VuOiBJbmplY3Rpb25Ub2tlbjxUVmFsdWU+LFxuICAgIGZhY3Rvcnk6ICguLi5hcmdzOiBhbnlbXSkgPT4gVFZhbHVlLFxuICAgIG9wdHM6IENyZWF0ZVByb3ZpZGVGbk9wdGlvbnM8VEZhY3RvcnksIFRGYWN0b3J5RGVwcz4gPSB7fVxuKSB7XG4gICAgY29uc3QgeyBkZXBzID0gW10sIG11bHRpID0gZmFsc2UsIGV4dHJhUHJvdmlkZXJzID0gW10sIGlzRnVuY3Rpb25WYWx1ZTogaXNGdW5jdGlvblZhbHVlRnJvbU9wdHMgPSBmYWxzZSB9ID0gb3B0cztcbiAgICByZXR1cm4gKHZhbHVlPzogVFZhbHVlIHwgKCgpID0+IFRWYWx1ZSksIGlzRnVuY3Rpb25WYWx1ZSA9IGlzRnVuY3Rpb25WYWx1ZUZyb21PcHRzKSA9PiB7XG4gICAgICAgIGxldCBwcm92aWRlcjogUHJvdmlkZXI7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAvLyBUT0RPOiAoY2hhdSkgbWF5YmUgdGhpcyBjYW4gYmUgbWFkZSBiZXR0ZXJcbiAgICAgICAgICAgIGNvbnN0IGZhY3RvcnkgPSB0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbicgPyAoaXNGdW5jdGlvblZhbHVlID8gKCkgPT4gdmFsdWUgOiB2YWx1ZSkgOiAoKSA9PiB2YWx1ZTtcblxuICAgICAgICAgICAgcHJvdmlkZXIgPSB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogdG9rZW4sXG4gICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogZmFjdG9yeSxcbiAgICAgICAgICAgICAgICBtdWx0aVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHByb3ZpZGVyID0ge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IHRva2VuLFxuICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGZhY3RvcnksXG4gICAgICAgICAgICAgICAgZGVwczogZGVwcyBhcyBGYWN0b3J5UHJvdmlkZXJbJ2RlcHMnXSxcbiAgICAgICAgICAgICAgICBtdWx0aVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbZXh0cmFQcm92aWRlcnMsIHByb3ZpZGVyXTtcbiAgICB9O1xufVxuXG4vKipcbiAqIGBjcmVhdGVJbmplY3Rpb25Ub2tlbmAgYWNjZXB0cyBhIGZhY3RvcnkgZnVuY3Rpb24gYW5kIHJldHVybnMgYSB0dXBsZSBvZiBgaW5qZWN0Rm5gLCBgcHJvdmlkZUZuYCwgYW5kIHRoZSBgSW5qZWN0aW9uVG9rZW5gXG4gKiB0aGF0IHRoZSBmYWN0b3J5IGZ1bmN0aW9uIGlzIGZvci5cbiAqXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmYWN0b3J5IC0gRmFjdG9yeSBGdW5jdGlvbiB0aGF0IHJldHVybnMgdGhlIHZhbHVlIGZvciB0aGUgYEluamVjdGlvblRva2VuYFxuICogQHBhcmFtIHtDcmVhdGVJbmplY3Rpb25Ub2tlbk9wdGlvbnN9IG9wdGlvbnMgLSBvYmplY3QgdG8gY29udHJvbCBob3cgdGhlIGBJbmplY3Rpb25Ub2tlbmAgYmVoYXZlc1xuICogQHJldHVybnMge0NyZWF0ZUluamVjdGlvblRva2VuUmV0dXJufVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogY29uc3QgW2luamVjdENvdW50ZXIsIHByb3ZpZGVDb3VudGVyLCBDT1VOVEVSXSA9IGNyZWF0ZUluamVjdGlvblRva2VuKCgpID0+IHNpZ25hbCgwKSk7XG4gKlxuICogZXhwb3J0IGNsYXNzIENvdW50ZXIge1xuICogIGNvdW50ZXIgPSBpbmplY3RDb3VudGVyKCk7IC8vIFdyaXRhYmxlU2lnbmFsPG51bWJlcj5cbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSW5qZWN0aW9uVG9rZW48XG4gICAgVEZhY3RvcnkgZXh0ZW5kcyAoLi4uYXJnczogYW55W10pID0+IGFueSxcbiAgICBURmFjdG9yeURlcHMgZXh0ZW5kcyBQYXJhbWV0ZXJzPFRGYWN0b3J5PiA9IFBhcmFtZXRlcnM8VEZhY3Rvcnk+LFxuICAgIFRPcHRpb25zIGV4dGVuZHMgQ3JlYXRlSW5qZWN0aW9uVG9rZW5PcHRpb25zPFRGYWN0b3J5LCBURmFjdG9yeURlcHM+ID0gQ3JlYXRlSW5qZWN0aW9uVG9rZW5PcHRpb25zPFxuICAgICAgICBURmFjdG9yeSxcbiAgICAgICAgVEZhY3RvcnlEZXBzXG4gICAgPixcbiAgICBURmFjdG9yeVJldHVybiA9IFRPcHRpb25zWydtdWx0aSddIGV4dGVuZHMgdHJ1ZSA/IEFycmF5PFJldHVyblR5cGU8VEZhY3Rvcnk+PiA6IFJldHVyblR5cGU8VEZhY3Rvcnk+XG4+KGZhY3Rvcnk6IFRGYWN0b3J5LCBvcHRpb25zPzogVE9wdGlvbnMpOiBDcmVhdGVJbmplY3Rpb25Ub2tlblJldHVybjxURmFjdG9yeVJldHVybj4ge1xuICAgIGNvbnN0IHRva2VuTmFtZSA9IGZhY3RvcnkubmFtZSB8fCBmYWN0b3J5LnRvU3RyaW5nKCk7XG4gICAgY29uc3Qgb3B0cyA9IG9wdGlvbnMgPz8gKHsgaXNSb290OiB0cnVlIH0gYXMgQ3JlYXRlSW5qZWN0aW9uVG9rZW5PcHRpb25zPFRGYWN0b3J5LCBURmFjdG9yeURlcHM+KTtcblxuICAgIG9wdHMuaXNSb290ID8/PSB0cnVlO1xuXG4gICAgLy8gTk9URTogbXVsdGkgdG9rZW5zIGNhbm5vdCBiZSBhIHJvb3QgdG9rZW4uIEl0IGhhcyB0byBiZSBwcm92aWRlZCAocHJvdmlkZUZuIG5lZWRzIHRvIGJlIGludm9rZWQpXG4gICAgLy8gZm9yIHRoZSAnbXVsdGknIGZsYWcgdG8gd29yayBwcm9wZXJseVxuICAgIGlmIChvcHRzLm11bHRpKSB7XG4gICAgICAgIG9wdHMuaXNSb290ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKG9wdHMuaXNSb290KSB7XG4gICAgICAgIGlmIChvcHRzLnRva2VuKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFxcXG5jcmVhdGVJbmplY3Rpb25Ub2tlbiBpcyBjcmVhdGluZyBhIHJvb3QgSW5qZWN0aW9uVG9rZW4gYnV0IGFuIGV4dGVybmFsIHRva2VuIGlzIHBhc3NlZCBpbi5cbmApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48VEZhY3RvcnlSZXR1cm4+KGBUb2tlbiBmb3IgJHt0b2tlbk5hbWV9YCwge1xuICAgICAgICAgICAgZmFjdG9yeTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmRlcHMgJiYgQXJyYXkuaXNBcnJheShvcHRzLmRlcHMpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWN0b3J5KFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4ub3B0cy5kZXBzLm1hcCgoZGVwKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXAgPSAoQXJyYXkuaXNBcnJheShkZXApID8gZGVwLmF0KC0xKSA6IGRlcCkgYXMgQ3JlYXRlSW5qZWN0aW9uVG9rZW5EZXA8YW55PjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW5qZWN0KGRlcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZmFjdG9yeSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBpbmplY3RGbiA9IGNyZWF0ZUluamVjdEZuKHRva2VuKSBhcyBDcmVhdGVJbmplY3Rpb25Ub2tlblJldHVybjxURmFjdG9yeVJldHVybj5bMF07XG5cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIGluamVjdEZuLFxuICAgICAgICAgICAgY3JlYXRlUHJvdmlkZUZuKFxuICAgICAgICAgICAgICAgIHRva2VuLFxuICAgICAgICAgICAgICAgIGZhY3RvcnksXG4gICAgICAgICAgICAgICAgb3B0cyBhcyBDcmVhdGVQcm92aWRlRm5PcHRpb25zPFRGYWN0b3J5LCBURmFjdG9yeURlcHM+XG4gICAgICAgICAgICApIGFzIENyZWF0ZUluamVjdGlvblRva2VuUmV0dXJuPFRGYWN0b3J5UmV0dXJuPlsxXSxcbiAgICAgICAgICAgIHRva2VuLFxuICAgICAgICAgICAgKCkgPT4gKHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBFTlZJUk9OTUVOVF9JTklUSUFMSVpFUixcbiAgICAgICAgICAgICAgICB1c2VWYWx1ZTogKCkgPT4gaW5qZWN0Rm4oKSxcbiAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICAgICAgfSlcblxuICAgICAgICBdO1xuICAgIH1cblxuICAgIGNvbnN0IHRva2VuID0gb3B0cy50b2tlbiB8fCBuZXcgSW5qZWN0aW9uVG9rZW48VEZhY3RvcnlSZXR1cm4+KGBUb2tlbiBmb3IgJHt0b2tlbk5hbWV9YCk7XG4gICAgcmV0dXJuIFtcbiAgICAgICAgY3JlYXRlSW5qZWN0Rm4odG9rZW4pIGFzIENyZWF0ZUluamVjdGlvblRva2VuUmV0dXJuPFRGYWN0b3J5UmV0dXJuPlswXSxcbiAgICAgICAgY3JlYXRlUHJvdmlkZUZuKFxuICAgICAgICAgICAgdG9rZW4sXG4gICAgICAgICAgICBmYWN0b3J5LFxuICAgICAgICAgICAgb3B0cyBhcyBDcmVhdGVQcm92aWRlRm5PcHRpb25zPFRGYWN0b3J5LCBURmFjdG9yeURlcHM+XG4gICAgICAgICkgYXMgQ3JlYXRlSW5qZWN0aW9uVG9rZW5SZXR1cm48VEZhY3RvcnlSZXR1cm4+WzFdLFxuICAgICAgICB0b2tlbixcbiAgICAgICAgKCkgPT4gW11cbiAgICBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTm9vcEluamVjdGlvblRva2VuPFxuICAgIFRWYWx1ZSxcbiAgICBUTXVsdGkgZXh0ZW5kcyBib29sZWFuID0gZmFsc2UsXG4gICAgVE9wdGlvbnMgPSBQaWNrPENyZWF0ZUluamVjdGlvblRva2VuT3B0aW9uczwoKSA9PiB2b2lkLCBbXT4sICdleHRyYVByb3ZpZGVycyc+ICZcbiAgICAgICAgKFRWYWx1ZSBleHRlbmRzICguLi5hcmdzOiBhbnlbXSkgPT4gYW55ID8geyBpc0Z1bmN0aW9uVmFsdWU6IHRydWUgfSA6IHsgaXNGdW5jdGlvblZhbHVlPzogbmV2ZXIgfSkgJlxuICAgICAgICAoVE11bHRpIGV4dGVuZHMgdHJ1ZSA/IHsgbXVsdGk6IHRydWUgfSA6IHsgbXVsdGk/OiBuZXZlciB9KVxuPihkZXNjcmlwdGlvbjogc3RyaW5nLCBvcHRpb25zPzogVE9wdGlvbnMpIHtcbiAgICB0eXBlIFRSZXR1cm4gPSBUTXVsdGkgZXh0ZW5kcyB0cnVlID8gQXJyYXk8VFZhbHVlPiA6IFRWYWx1ZTtcblxuICAgIGNvbnN0IHRva2VuID1cbiAgICAgICAgKG9wdGlvbnMgYXMgQ3JlYXRlSW5qZWN0aW9uVG9rZW5PcHRpb25zPCgpID0+IHZvaWQsIFtdPik/LnRva2VuIHx8IG5ldyBJbmplY3Rpb25Ub2tlbjxUUmV0dXJuPihkZXNjcmlwdGlvbik7XG4gICAgcmV0dXJuIFtcbiAgICAgICAgY3JlYXRlSW5qZWN0Rm4odG9rZW4pIGFzIENyZWF0ZUluamVjdGlvblRva2VuUmV0dXJuPFRSZXR1cm4sXG4gICAgICAgICAgICB0cnVlPlswXSxcbiAgICAgICAgY3JlYXRlUHJvdmlkZUZuKFxuICAgICAgICAgICAgdG9rZW4sXG4gICAgICAgICAgICAoKSA9PiBudWxsISxcbiAgICAgICAgICAgIChvcHRpb25zIHx8IHt9KSBhcyBDcmVhdGVQcm92aWRlRm5PcHRpb25zPCgpID0+IHZvaWQsIFtdPlxuICAgICAgICApIGFzIENyZWF0ZUluamVjdGlvblRva2VuUmV0dXJuPFRSZXR1cm4sXG4gICAgICAgICAgICB0cnVlPlsxXSxcbiAgICAgICAgdG9rZW4sXG4gICAgICAgICgpID0+IFtdXG4gICAgXSBhcyBDcmVhdGVJbmplY3Rpb25Ub2tlblJldHVybjxUUmV0dXJuLCB0cnVlPjtcbn1cbiJdfQ==
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2NvcmUvc3JjL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE51bGxhYmxlIGZyb20gYFR5cGVgIGFkZHMgYG51bGxgIGFuZCBgdW5kZWZpbmVkYFxuICpcbiAqIEBleGFtcGxlIGBgYHRzXG4gKiAgLy8gRXhwZWN0OiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQgfCBudWxsXG4gKiAgdHlwZSBWYWx1ZSA9IE51bGxpbmc8c3RyaW5nIHwgbnVtYmVyPjtcbiAqIGBgYFxuICovXG5leHBvcnQgdHlwZSBOdWxsYWJsZTxUeXBlPiA9IG51bGwgfCBUeXBlIHwgdW5kZWZpbmVkO1xuXG4vKipcbiAqIFNhZmVGdW5jdGlvbiBpcyBhIHR5cGUgZm9yIGZ1bmN0aW9ucyB0aGF0IGFjY2VwdCBhbnkgbnVtYmVyIG9mIGFyZ3VtZW50cyBvZiB1bmtub3duIHR5cGVzXG4gKiBhbmQgcmV0dXJuIGEgdmFsdWUgb2YgYW4gdW5rbm93biB0eXBlLiBUaGlzIGlzIHVzZWZ1bCB3aGVuIHlvdSB3YW50IHRvIGRlZmluZSBhIGZ1bmN0aW9uXG4gKiB3aXRob3V0IGJlaW5nIHN0cmljdCBhYm91dCB0aGUgaW5wdXQgb3Igb3V0cHV0IHR5cGVzLCBtYWludGFpbmluZyBmbGV4aWJpbGl0eS5cbiAqXG4gKiBAZXhhbXBsZSBgYGB0c1xuICogIGNvbnN0IHNhZmVGbjogU2FmZUZ1bmN0aW9uID0gKC4uLmFyZ3MpID0+IHtcbiAqICAgIHJldHVybiBhcmdzLmxlbmd0aCA+IDAgPyBhcmdzWzBdIDogbnVsbDtcbiAqICB9O1xuICpcbiAqICBjb25zdCByZXN1bHQgPSBzYWZlRm4oMSwgJ2hlbGxvJyk7IC8vIHJlc3VsdDogMVxuICogYGBgXG4gKi9cbmV4cG9ydCB0eXBlIFNhZmVGdW5jdGlvbiA9ICguLi5hcmdzOiB1bmtub3duW10pID0+IHVua25vd247XG4iXX0=
|
package/esm2022/radio/index.mjs
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
export * from './src/radio-root.directive';
|
2
2
|
export * from './src/radio-indicator.directive';
|
3
|
+
export * from './src/radio-item-input.directive';
|
3
4
|
export * from './src/radio-item.directive';
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3JhZGlvL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9yYWRpby1yb290LmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc3JjL3JhZGlvLWluZGljYXRvci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvcmFkaW8taXRlbS1pbnB1dC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvcmFkaW8taXRlbS5kaXJlY3RpdmUnO1xuIl19
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import { computed, Directive, input } from '@angular/core';
|
2
|
+
import { RdxVisuallyHiddenDirective } from '@radix-ng/primitives/visually-hidden';
|
3
|
+
import { injectRadioItem } from './radio-item.directive';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
import * as i1 from "@radix-ng/primitives/visually-hidden";
|
6
|
+
export class RdxRadioItemInputDirective {
|
7
|
+
constructor() {
|
8
|
+
this.radioItem = injectRadioItem();
|
9
|
+
this.name = input();
|
10
|
+
this.value = computed(() => this.radioItem.value() || undefined);
|
11
|
+
this.checked = computed(() => this.radioItem.checked || undefined);
|
12
|
+
this.required = input(this.radioItem.required());
|
13
|
+
this.disabled = input(this.radioItem.disabled());
|
14
|
+
}
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxRadioItemInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
16
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxRadioItemInputDirective, isStandalone: true, selector: "[rdxRadioItemInput]", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "radio" }, properties: { "attr.name": "name()", "attr.required": "required()", "attr.disabled": "disabled() ? disabled() : undefined", "attr.checked": "checked()", "value": "value()" } }, exportAs: ["rdxRadioItemInput"], hostDirectives: [{ directive: i1.RdxVisuallyHiddenDirective, inputs: ["feature", "feature"] }], ngImport: i0 }); }
|
17
|
+
}
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxRadioItemInputDirective, decorators: [{
|
19
|
+
type: Directive,
|
20
|
+
args: [{
|
21
|
+
selector: '[rdxRadioItemInput]',
|
22
|
+
exportAs: 'rdxRadioItemInput',
|
23
|
+
standalone: true,
|
24
|
+
hostDirectives: [
|
25
|
+
{ directive: RdxVisuallyHiddenDirective, inputs: ['feature'] }
|
26
|
+
],
|
27
|
+
host: {
|
28
|
+
type: 'radio',
|
29
|
+
'[attr.name]': 'name()',
|
30
|
+
'[attr.required]': 'required()',
|
31
|
+
'[attr.disabled]': 'disabled() ? disabled() : undefined',
|
32
|
+
'[attr.checked]': 'checked()',
|
33
|
+
'[value]': 'value()'
|
34
|
+
}
|
35
|
+
}]
|
36
|
+
}] });
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8taXRlbS1pbnB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3JhZGlvL3NyYy9yYWRpby1pdGVtLWlucHV0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFpQnpELE1BQU0sT0FBTywwQkFBMEI7SUFmdkM7UUFnQnFCLGNBQVMsR0FBRyxlQUFlLEVBQUUsQ0FBQztRQUV0QyxTQUFJLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDdkIsVUFBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLFNBQVMsQ0FBQyxDQUFDO1FBQzVELFlBQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLElBQUksU0FBUyxDQUFDLENBQUM7UUFDOUQsYUFBUSxHQUFHLEtBQUssQ0FBc0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLGFBQVEsR0FBRyxLQUFLLENBQXNCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztLQUM3RTsrR0FSWSwwQkFBMEI7bUdBQTFCLDBCQUEwQjs7NEZBQTFCLDBCQUEwQjtrQkFmdEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsY0FBYyxFQUFFO3dCQUNaLEVBQUUsU0FBUyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFO3FCQUFDO29CQUNuRSxJQUFJLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLE9BQU87d0JBQ2IsYUFBYSxFQUFFLFFBQVE7d0JBQ3ZCLGlCQUFpQixFQUFFLFlBQVk7d0JBQy9CLGlCQUFpQixFQUFFLHFDQUFxQzt3QkFDeEQsZ0JBQWdCLEVBQUUsV0FBVzt3QkFDN0IsU0FBUyxFQUFFLFNBQVM7cUJBQ3ZCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIERpcmVjdGl2ZSwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkeFZpc3VhbGx5SGlkZGVuRGlyZWN0aXZlIH0gZnJvbSAnQHJhZGl4LW5nL3ByaW1pdGl2ZXMvdmlzdWFsbHktaGlkZGVuJztcbmltcG9ydCB7IGluamVjdFJhZGlvSXRlbSB9IGZyb20gJy4vcmFkaW8taXRlbS5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhSYWRpb0l0ZW1JbnB1dF0nLFxuICAgIGV4cG9ydEFzOiAncmR4UmFkaW9JdGVtSW5wdXQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAgeyBkaXJlY3RpdmU6IFJkeFZpc3VhbGx5SGlkZGVuRGlyZWN0aXZlLCBpbnB1dHM6IFsnZmVhdHVyZSddIH1dLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdHlwZTogJ3JhZGlvJyxcbiAgICAgICAgJ1thdHRyLm5hbWVdJzogJ25hbWUoKScsXG4gICAgICAgICdbYXR0ci5yZXF1aXJlZF0nOiAncmVxdWlyZWQoKScsXG4gICAgICAgICdbYXR0ci5kaXNhYmxlZF0nOiAnZGlzYWJsZWQoKSA/IGRpc2FibGVkKCkgOiB1bmRlZmluZWQnLFxuICAgICAgICAnW2F0dHIuY2hlY2tlZF0nOiAnY2hlY2tlZCgpJyxcbiAgICAgICAgJ1t2YWx1ZV0nOiAndmFsdWUoKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeFJhZGlvSXRlbUlucHV0RGlyZWN0aXZlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJhZGlvSXRlbSA9IGluamVjdFJhZGlvSXRlbSgpO1xuXG4gICAgcmVhZG9ubHkgbmFtZSA9IGlucHV0PHN0cmluZz4oKTtcbiAgICByZWFkb25seSB2YWx1ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmFkaW9JdGVtLnZhbHVlKCkgfHwgdW5kZWZpbmVkKTtcbiAgICByZWFkb25seSBjaGVja2VkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5yYWRpb0l0ZW0uY2hlY2tlZCB8fCB1bmRlZmluZWQpO1xuICAgIHJlYWRvbmx5IHJlcXVpcmVkID0gaW5wdXQ8Ym9vbGVhbiB8IHVuZGVmaW5lZD4odGhpcy5yYWRpb0l0ZW0ucmVxdWlyZWQoKSk7XG4gICAgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkPih0aGlzLnJhZGlvSXRlbS5kaXNhYmxlZCgpKTtcbn1cbiJdfQ==
|