diff --git a/npm/ng-packs/packages/core/src/lib/directives/replaceable-template.directive.ts b/npm/ng-packs/packages/core/src/lib/directives/replaceable-template.directive.ts index 7ddccdd69a..91f666137f 100644 --- a/npm/ng-packs/packages/core/src/lib/directives/replaceable-template.directive.ts +++ b/npm/ng-packs/packages/core/src/lib/directives/replaceable-template.directive.ts @@ -24,7 +24,7 @@ import snq from 'snq'; @Directive({ selector: '[abpReplaceableTemplate]' }) export class ReplaceableTemplateDirective implements OnInit, OnDestroy, OnChanges { @Input('abpReplaceableTemplate') - data: { inputs: any; outputs: any; componentKey: string }; + data: ReplaceableComponents.ReplaceableTemplateDirectiveInput; providedData = { inputs: {}, outputs: {} } as ReplaceableComponents.ReplaceableTemplateData< any, diff --git a/npm/ng-packs/packages/core/src/lib/models/replaceable-components.ts b/npm/ng-packs/packages/core/src/lib/models/replaceable-components.ts index 9b6ae02d78..1c59ff3a05 100644 --- a/npm/ng-packs/packages/core/src/lib/models/replaceable-components.ts +++ b/npm/ng-packs/packages/core/src/lib/models/replaceable-components.ts @@ -12,6 +12,15 @@ export namespace ReplaceableComponents { key: string; } + export interface ReplaceableTemplateDirectiveInput< + I, + O extends { [K in keyof O]: EventEmitter | Subject } + > { + inputs: { -readonly [K in keyof I]: { value: I[K]; twoWay?: boolean } }; + outputs: { -readonly [K in keyof O]: (value: ABP.ExtractFromOutput) => void }; + componentKey: string; + } + export interface ReplaceableTemplateData< I, O extends { [K in keyof O]: EventEmitter | Subject }