SwappableComponentBlueprint
Home > @backstage/frontend-plugin-api
> SwappableComponentBlueprint
Blueprint for creating swappable components from a SwappableComponentRef and a loader
Signature:
SwappableComponentBlueprint: import("../wiring").ExtensionBlueprint<{
kind: "component";
params: <Ref extends SwappableComponentRef<any>>(params: {
component: Ref extends SwappableComponentRef<any, infer IExternalComponentProps> ? {
ref: Ref;
} & ((props: IExternalComponentProps) => JSX.Element | null) : never;
loader: Ref extends SwappableComponentRef<infer IInnerComponentProps, any> ? (() => (props: IInnerComponentProps) => JSX.Element | null) | (() => Promise<(props: IInnerComponentProps) => JSX.Element | null>) : never;
}) => import("../wiring").ExtensionBlueprintParams<{
component: Ref extends SwappableComponentRef<any, infer IExternalComponentProps> ? {
ref: Ref;
} & ((props: IExternalComponentProps) => JSX.Element | null) : never;
loader: Ref extends SwappableComponentRef<infer IInnerComponentProps, any> ? (() => (props: IInnerComponentProps) => JSX.Element | null) | (() => Promise<(props: IInnerComponentProps) => JSX.Element | null>) : never;
}>;
output: import("../wiring").ExtensionDataRef<{
ref: SwappableComponentRef;
loader: (() => (props: {}) => JSX.Element | null) | (() => Promise<(props: {}) => JSX.Element | null>);
}, "core.swappableComponent", {}>;
inputs: {};
config: {};
configInput: {};
dataRefs: {
component: import("../wiring").ConfigurableExtensionDataRef<{
ref: SwappableComponentRef;
loader: (() => (props: {}) => JSX.Element | null) | (() => Promise<(props: {}) => JSX.Element | null>);
}, "core.swappableComponent", {}>;
};
}>