@backstage/frontend-plugin-api 0.7.0-next.2 → 0.7.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/CHANGELOG.md +244 -0
- package/dist/blueprints/ApiBlueprint.esm.js +23 -0
- package/dist/blueprints/ApiBlueprint.esm.js.map +1 -0
- package/dist/blueprints/AppRootElementBlueprint.esm.js +18 -0
- package/dist/blueprints/AppRootElementBlueprint.esm.js.map +1 -0
- package/dist/blueprints/AppRootWrapperBlueprint.esm.js +25 -0
- package/dist/blueprints/AppRootWrapperBlueprint.esm.js.map +1 -0
- package/dist/blueprints/IconBundleBlueprint.esm.js.map +1 -0
- package/dist/blueprints/NavItemBlueprint.esm.js +34 -0
- package/dist/blueprints/NavItemBlueprint.esm.js.map +1 -0
- package/dist/blueprints/NavLogoBlueprint.esm.js +27 -0
- package/dist/blueprints/NavLogoBlueprint.esm.js.map +1 -0
- package/dist/blueprints/PageBlueprint.esm.js +34 -0
- package/dist/blueprints/PageBlueprint.esm.js.map +1 -0
- package/dist/blueprints/RouterBlueprint.esm.js +21 -0
- package/dist/blueprints/RouterBlueprint.esm.js.map +1 -0
- package/dist/blueprints/SignInPageBlueprint.esm.js +28 -0
- package/dist/blueprints/SignInPageBlueprint.esm.js.map +1 -0
- package/dist/blueprints/ThemeBlueprint.esm.js +22 -0
- package/dist/blueprints/ThemeBlueprint.esm.js.map +1 -0
- package/dist/blueprints/TranslationBlueprint.esm.js +21 -0
- package/dist/blueprints/TranslationBlueprint.esm.js.map +1 -0
- package/dist/components/ExtensionBoundary.esm.js +10 -1
- package/dist/components/ExtensionBoundary.esm.js.map +1 -1
- package/dist/extensions/createApiExtension.esm.js +3 -5
- package/dist/extensions/createApiExtension.esm.js.map +1 -1
- package/dist/extensions/createAppRootElementExtension.esm.js.map +1 -1
- package/dist/extensions/createAppRootWrapperExtension.esm.js +3 -3
- package/dist/extensions/createAppRootWrapperExtension.esm.js.map +1 -1
- package/dist/extensions/createComponentExtension.esm.js.map +1 -1
- package/dist/extensions/createNavItemExtension.esm.js +3 -3
- package/dist/extensions/createNavItemExtension.esm.js.map +1 -1
- package/dist/extensions/createNavLogoExtension.esm.js +3 -3
- package/dist/extensions/createNavLogoExtension.esm.js.map +1 -1
- package/dist/extensions/createPageExtension.esm.js.map +1 -1
- package/dist/extensions/createRouterExtension.esm.js +3 -3
- package/dist/extensions/createRouterExtension.esm.js.map +1 -1
- package/dist/extensions/createSignInPageExtension.esm.js +12 -2
- package/dist/extensions/createSignInPageExtension.esm.js.map +1 -1
- package/dist/extensions/createThemeExtension.esm.js +3 -5
- package/dist/extensions/createThemeExtension.esm.js.map +1 -1
- package/dist/extensions/createTranslationExtension.esm.js +3 -3
- package/dist/extensions/createTranslationExtension.esm.js.map +1 -1
- package/dist/index.d.ts +517 -128
- package/dist/index.esm.js +12 -2
- package/dist/index.esm.js.map +1 -1
- package/dist/wiring/createExtension.esm.js +75 -8
- package/dist/wiring/createExtension.esm.js.map +1 -1
- package/dist/wiring/createExtensionBlueprint.esm.js +38 -27
- package/dist/wiring/createExtensionBlueprint.esm.js.map +1 -1
- package/dist/wiring/createExtensionDataContainer.esm.js +31 -0
- package/dist/wiring/createExtensionDataContainer.esm.js.map +1 -0
- package/dist/wiring/createExtensionDataRef.esm.js.map +1 -1
- package/dist/wiring/createFrontendPlugin.esm.js +59 -0
- package/dist/wiring/createFrontendPlugin.esm.js.map +1 -0
- package/dist/wiring/resolveExtensionDefinition.esm.js +7 -1
- package/dist/wiring/resolveExtensionDefinition.esm.js.map +1 -1
- package/dist/wiring/resolveInputOverrides.esm.js +76 -0
- package/dist/wiring/resolveInputOverrides.esm.js.map +1 -0
- package/package.json +6 -6
- package/dist/extensions/IconBundleBlueprint.esm.js.map +0 -1
- package/dist/wiring/createPlugin.esm.js +0 -35
- package/dist/wiring/createPlugin.esm.js.map +0 -1
- /package/dist/{extensions → blueprints}/IconBundleBlueprint.esm.js +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import React__default, { ReactNode, JSX as JSX$1, ComponentType, PropsWithChildren } from 'react';
|
|
3
4
|
import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
|
|
4
|
-
import { ApiRef,
|
|
5
|
+
import { ApiRef, AnyApiFactory, IconComponent as IconComponent$1, SignInPageProps, AppTheme, AnyApiRef } from '@backstage/core-plugin-api';
|
|
5
6
|
export { AlertApi, AlertMessage, AnyApiFactory, AnyApiRef, ApiFactory, ApiHolder, ApiRef, ApiRefConfig, AppTheme, AppThemeApi, AuthProviderInfo, AuthRequestOptions, BackstageIdentityApi, BackstageIdentityResponse, BackstageUserIdentity, ConfigApi, DiscoveryApi, ErrorApi, ErrorApiError, ErrorApiErrorContext, FeatureFlag, FeatureFlagState, FeatureFlagsApi, FeatureFlagsSaveOptions, FetchApi, IdentityApi, OAuthApi, OAuthRequestApi, OAuthRequester, OAuthRequesterOptions, OAuthScope, OpenIdConnectApi, PendingOAuthRequest, ProfileInfo, ProfileInfoApi, SessionApi, SessionState, StorageApi, StorageValueSnapshot, TypesToApiRefs, alertApiRef, appThemeApiRef, atlassianAuthApiRef, bitbucketAuthApiRef, bitbucketServerAuthApiRef, configApiRef, createApiFactory, createApiRef, discoveryApiRef, errorApiRef, featureFlagsApiRef, fetchApiRef, githubAuthApiRef, gitlabAuthApiRef, googleAuthApiRef, identityApiRef, microsoftAuthApiRef, oauthRequestApiRef, oktaAuthApiRef, oneloginAuthApiRef, storageApiRef, useApi, useApiHolder, vmwareCloudAuthApiRef, withApis } from '@backstage/core-plugin-api';
|
|
6
|
-
import { JsonObject } from '@backstage/types';
|
|
7
7
|
import { z, ZodSchema, ZodTypeDef } from 'zod';
|
|
8
|
+
import { JsonObject } from '@backstage/types';
|
|
8
9
|
import { TranslationResource, TranslationMessages } from '@backstage/core-plugin-api/alpha';
|
|
9
10
|
export { TranslationMessages, TranslationMessagesOptions, TranslationRef, TranslationRefOptions, TranslationResource, TranslationResourceOptions, createTranslationMessages, createTranslationRef, createTranslationResource, useTranslationRef } from '@backstage/core-plugin-api/alpha';
|
|
10
11
|
|
|
@@ -46,7 +47,7 @@ type AnalyticsContextValue = CommonAnalyticsContext & {
|
|
|
46
47
|
declare const AnalyticsContext: (options: {
|
|
47
48
|
attributes: Partial<AnalyticsContextValue>;
|
|
48
49
|
children: ReactNode;
|
|
49
|
-
}) =>
|
|
50
|
+
}) => React__default.JSX.Element;
|
|
50
51
|
|
|
51
52
|
/**
|
|
52
53
|
* Catch-all type for route params.
|
|
@@ -237,7 +238,7 @@ type AnyExtensionDataRef = ExtensionDataRef<unknown, string, {
|
|
|
237
238
|
interface ConfigurableExtensionDataRef<TData, TId extends string, TConfig extends {
|
|
238
239
|
optional?: true;
|
|
239
240
|
} = {}> extends ExtensionDataRef<TData, TId, TConfig> {
|
|
240
|
-
optional(): ConfigurableExtensionDataRef<TData, TId,
|
|
241
|
+
optional(): ConfigurableExtensionDataRef<TData, TId, TConfig & {
|
|
241
242
|
optional: true;
|
|
242
243
|
}>;
|
|
243
244
|
(t: TData): ExtensionDataValue<TData, TId>;
|
|
@@ -338,6 +339,40 @@ declare function createExtensionInput<UExtensionData extends ExtensionDataRef<un
|
|
|
338
339
|
optional: TConfig['optional'] extends true ? true : false;
|
|
339
340
|
}>;
|
|
340
341
|
|
|
342
|
+
/** @public */
|
|
343
|
+
type ResolveInputValueOverrides<TInputs extends {
|
|
344
|
+
[inputName in string]: ExtensionInput<AnyExtensionDataRef, {
|
|
345
|
+
optional: boolean;
|
|
346
|
+
singleton: boolean;
|
|
347
|
+
}>;
|
|
348
|
+
} = {
|
|
349
|
+
[inputName in string]: ExtensionInput<AnyExtensionDataRef, {
|
|
350
|
+
optional: boolean;
|
|
351
|
+
singleton: boolean;
|
|
352
|
+
}>;
|
|
353
|
+
}> = Expand<{
|
|
354
|
+
[KName in keyof TInputs as TInputs[KName] extends ExtensionInput<any, {
|
|
355
|
+
optional: infer IOptional extends boolean;
|
|
356
|
+
singleton: boolean;
|
|
357
|
+
}> ? IOptional extends true ? never : KName : never]: TInputs[KName] extends ExtensionInput<infer IDataRefs, {
|
|
358
|
+
optional: boolean;
|
|
359
|
+
singleton: infer ISingleton extends boolean;
|
|
360
|
+
}> ? ISingleton extends true ? Iterable<ExtensionDataRefToValue<IDataRefs>> : Array<Iterable<ExtensionDataRefToValue<IDataRefs>>> : never;
|
|
361
|
+
} & {
|
|
362
|
+
[KName in keyof TInputs as TInputs[KName] extends ExtensionInput<any, {
|
|
363
|
+
optional: infer IOptional extends boolean;
|
|
364
|
+
singleton: boolean;
|
|
365
|
+
}> ? IOptional extends true ? KName : never : never]?: TInputs[KName] extends ExtensionInput<infer IDataRefs, {
|
|
366
|
+
optional: boolean;
|
|
367
|
+
singleton: infer ISingleton extends boolean;
|
|
368
|
+
}> ? ISingleton extends true ? Iterable<ExtensionDataRefToValue<IDataRefs>> : Array<Iterable<ExtensionDataRefToValue<IDataRefs>>> : never;
|
|
369
|
+
}>;
|
|
370
|
+
|
|
371
|
+
/** @public */
|
|
372
|
+
type ExtensionDataContainer<UExtensionData extends AnyExtensionDataRef> = Iterable<UExtensionData extends ExtensionDataRef<infer IData, infer IId, infer IConfig> ? IConfig['optional'] extends true ? never : ExtensionDataValue<IData, IId> : never> & {
|
|
373
|
+
get<TId extends UExtensionData['id']>(ref: ExtensionDataRef<any, TId, any>): UExtensionData extends ExtensionDataRef<infer IData, TId, infer IConfig> ? IConfig['optional'] extends true ? IData | undefined : IData : never;
|
|
374
|
+
};
|
|
375
|
+
|
|
341
376
|
/**
|
|
342
377
|
* @public
|
|
343
378
|
* @deprecated Extension data maps will be removed.
|
|
@@ -369,10 +404,6 @@ type ExtensionDataValues<TExtensionData extends AnyExtensionDataMap> = {
|
|
|
369
404
|
optional: true;
|
|
370
405
|
} ? DataName : never]?: TExtensionData[DataName]['T'];
|
|
371
406
|
};
|
|
372
|
-
/** @public */
|
|
373
|
-
type ExtensionDataContainer<UExtensionData extends AnyExtensionDataRef> = {
|
|
374
|
-
get<TId extends UExtensionData['id']>(ref: ExtensionDataRef<any, TId, any>): UExtensionData extends ExtensionDataRef<infer IData, TId, infer IConfig> ? IConfig['optional'] extends true ? IData | undefined : IData : never;
|
|
375
|
-
};
|
|
376
407
|
/**
|
|
377
408
|
* Convert a single extension input into a matching resolved input.
|
|
378
409
|
* @public
|
|
@@ -396,9 +427,7 @@ type ResolvedExtensionInputs<TInputs extends {
|
|
|
396
427
|
* @public
|
|
397
428
|
* @deprecated This way of structuring the options is deprecated, this type will be removed in the future
|
|
398
429
|
*/
|
|
399
|
-
interface LegacyCreateExtensionOptions<TOutput extends AnyExtensionDataMap, TInputs extends AnyExtensionInputMap, TConfig, TConfigInput
|
|
400
|
-
[key: string]: (zImpl: typeof z) => z.ZodType;
|
|
401
|
-
}> {
|
|
430
|
+
interface LegacyCreateExtensionOptions<TOutput extends AnyExtensionDataMap, TInputs extends AnyExtensionInputMap, TConfig, TConfigInput> {
|
|
402
431
|
kind?: string;
|
|
403
432
|
namespace?: string;
|
|
404
433
|
name?: string;
|
|
@@ -409,37 +438,31 @@ interface LegacyCreateExtensionOptions<TOutput extends AnyExtensionDataMap, TInp
|
|
|
409
438
|
disabled?: boolean;
|
|
410
439
|
inputs?: TInputs;
|
|
411
440
|
output: TOutput;
|
|
412
|
-
/** @deprecated - use `config.schema` instead */
|
|
413
441
|
configSchema?: PortableSchema<TConfig, TConfigInput>;
|
|
414
|
-
config?: {
|
|
415
|
-
schema: TConfigSchema;
|
|
416
|
-
};
|
|
417
442
|
factory(context: {
|
|
418
443
|
node: AppNode;
|
|
419
|
-
config: TConfig
|
|
420
|
-
[key in keyof TConfigSchema]: z.infer<ReturnType<TConfigSchema[key]>>;
|
|
421
|
-
});
|
|
444
|
+
config: TConfig;
|
|
422
445
|
inputs: Expand<ResolvedExtensionInputs<TInputs>>;
|
|
423
446
|
}): Expand<ExtensionDataValues<TOutput>>;
|
|
424
447
|
}
|
|
448
|
+
type ToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
|
|
449
|
+
type PopUnion<U> = ToIntersection<U extends any ? () => U : never> extends () => infer R ? [rest: Exclude<U, R>, next: R] : undefined;
|
|
425
450
|
/** @ignore */
|
|
426
|
-
type
|
|
427
|
-
|
|
428
|
-
} : {
|
|
429
|
-
'Error: The extension factory is missing the following output(s)': Exclude<IRequiredOutputIds, UFactoryOutput['id']>;
|
|
430
|
-
} : never;
|
|
451
|
+
type JoinStringUnion<U, TDiv extends string = ', ', TResult extends string = ''> = PopUnion<U> extends [infer IRest extends string, infer INext extends string] ? TResult extends '' ? JoinStringUnion<IRest, TDiv, INext> : JoinStringUnion<IRest, TDiv, `${TResult}${TDiv}${INext}`> : TResult;
|
|
452
|
+
/** @ignore */
|
|
453
|
+
type VerifyExtensionFactoryOutput<UDeclaredOutput extends AnyExtensionDataRef, UFactoryOutput extends ExtensionDataValue<any, any>> = (UDeclaredOutput extends any ? UDeclaredOutput['config']['optional'] extends true ? never : UDeclaredOutput['id'] : never) extends infer IRequiredOutputIds ? [IRequiredOutputIds] extends [UFactoryOutput['id']] ? [UFactoryOutput['id']] extends [UDeclaredOutput['id']] ? {} : `Error: The extension factory has undeclared output(s): ${JoinStringUnion<Exclude<UFactoryOutput['id'], UDeclaredOutput['id']>>}` : `Error: The extension factory is missing the following output(s): ${JoinStringUnion<Exclude<IRequiredOutputIds, UFactoryOutput['id']>>}` : never;
|
|
431
454
|
/** @public */
|
|
432
|
-
type CreateExtensionOptions<UOutput extends AnyExtensionDataRef, TInputs extends {
|
|
455
|
+
type CreateExtensionOptions<TKind extends string | undefined, TNamespace extends string | undefined, TName extends string | undefined, UOutput extends AnyExtensionDataRef, TInputs extends {
|
|
433
456
|
[inputName in string]: ExtensionInput<AnyExtensionDataRef, {
|
|
434
457
|
optional: boolean;
|
|
435
458
|
singleton: boolean;
|
|
436
459
|
}>;
|
|
437
|
-
},
|
|
460
|
+
}, TConfigSchema extends {
|
|
438
461
|
[key: string]: (zImpl: typeof z) => z.ZodType;
|
|
439
462
|
}, UFactoryOutput extends ExtensionDataValue<any, any>> = {
|
|
440
|
-
kind?:
|
|
441
|
-
namespace?:
|
|
442
|
-
name?:
|
|
463
|
+
kind?: TKind;
|
|
464
|
+
namespace?: TNamespace;
|
|
465
|
+
name?: TName;
|
|
443
466
|
attachTo: {
|
|
444
467
|
id: string;
|
|
445
468
|
input: string;
|
|
@@ -447,31 +470,79 @@ type CreateExtensionOptions<UOutput extends AnyExtensionDataRef, TInputs extends
|
|
|
447
470
|
disabled?: boolean;
|
|
448
471
|
inputs?: TInputs;
|
|
449
472
|
output: Array<UOutput>;
|
|
450
|
-
/** @deprecated - use `config.schema` instead */
|
|
451
|
-
configSchema?: PortableSchema<TConfig, TConfigInput>;
|
|
452
473
|
config?: {
|
|
453
474
|
schema: TConfigSchema;
|
|
454
475
|
};
|
|
455
476
|
factory(context: {
|
|
456
477
|
node: AppNode;
|
|
457
|
-
config:
|
|
478
|
+
config: {
|
|
458
479
|
[key in keyof TConfigSchema]: z.infer<ReturnType<TConfigSchema[key]>>;
|
|
459
|
-
}
|
|
480
|
+
};
|
|
460
481
|
inputs: Expand<ResolvedExtensionInputs<TInputs>>;
|
|
461
482
|
}): Iterable<UFactoryOutput>;
|
|
462
483
|
} & VerifyExtensionFactoryOutput<UOutput, UFactoryOutput>;
|
|
463
484
|
/** @public */
|
|
464
|
-
interface ExtensionDefinition<TConfig, TConfigInput = TConfig
|
|
485
|
+
interface ExtensionDefinition<TConfig, TConfigInput = TConfig, UOutput extends AnyExtensionDataRef = AnyExtensionDataRef, TInputs extends {
|
|
486
|
+
[inputName in string]: ExtensionInput<AnyExtensionDataRef, {
|
|
487
|
+
optional: boolean;
|
|
488
|
+
singleton: boolean;
|
|
489
|
+
}>;
|
|
490
|
+
} = {}, TIdParts extends {
|
|
491
|
+
kind?: string;
|
|
492
|
+
namespace?: string;
|
|
493
|
+
name?: string;
|
|
494
|
+
} = {
|
|
495
|
+
kind?: string;
|
|
496
|
+
namespace?: string;
|
|
497
|
+
name?: string;
|
|
498
|
+
}> {
|
|
465
499
|
$$type: '@backstage/ExtensionDefinition';
|
|
466
|
-
readonly kind?:
|
|
467
|
-
readonly namespace?:
|
|
468
|
-
readonly name?:
|
|
500
|
+
readonly kind?: TIdParts['kind'];
|
|
501
|
+
readonly namespace?: TIdParts['namespace'];
|
|
502
|
+
readonly name?: TIdParts['name'];
|
|
469
503
|
readonly attachTo: {
|
|
470
504
|
id: string;
|
|
471
505
|
input: string;
|
|
472
506
|
};
|
|
473
507
|
readonly disabled: boolean;
|
|
474
508
|
readonly configSchema?: PortableSchema<TConfig, TConfigInput>;
|
|
509
|
+
override<TExtensionConfigSchema extends {
|
|
510
|
+
[key in string]: (zImpl: typeof z) => z.ZodType;
|
|
511
|
+
}, UFactoryOutput extends ExtensionDataValue<any, any>, UNewOutput extends AnyExtensionDataRef, TExtraInputs extends {
|
|
512
|
+
[inputName in string]: ExtensionInput<AnyExtensionDataRef, {
|
|
513
|
+
optional: boolean;
|
|
514
|
+
singleton: boolean;
|
|
515
|
+
}>;
|
|
516
|
+
}>(args: {
|
|
517
|
+
attachTo?: {
|
|
518
|
+
id: string;
|
|
519
|
+
input: string;
|
|
520
|
+
};
|
|
521
|
+
disabled?: boolean;
|
|
522
|
+
inputs?: TExtraInputs & {
|
|
523
|
+
[KName in keyof TInputs]?: `Error: Input '${KName & string}' is already defined in parent definition`;
|
|
524
|
+
};
|
|
525
|
+
output?: Array<UNewOutput>;
|
|
526
|
+
config?: {
|
|
527
|
+
schema: TExtensionConfigSchema & {
|
|
528
|
+
[KName in keyof TConfig]?: `Error: Config key '${KName & string}' is already defined in parent schema`;
|
|
529
|
+
};
|
|
530
|
+
};
|
|
531
|
+
factory(originalFactory: (context?: {
|
|
532
|
+
config?: TConfig;
|
|
533
|
+
inputs?: ResolveInputValueOverrides<TInputs>;
|
|
534
|
+
}) => ExtensionDataContainer<UOutput>, context: {
|
|
535
|
+
node: AppNode;
|
|
536
|
+
config: TConfig & {
|
|
537
|
+
[key in keyof TExtensionConfigSchema]: z.infer<ReturnType<TExtensionConfigSchema[key]>>;
|
|
538
|
+
};
|
|
539
|
+
inputs: Expand<ResolvedExtensionInputs<TInputs & TExtraInputs>>;
|
|
540
|
+
}): Iterable<UFactoryOutput>;
|
|
541
|
+
} & VerifyExtensionFactoryOutput<AnyExtensionDataRef extends UNewOutput ? UOutput : UNewOutput, UFactoryOutput>): ExtensionDefinition<{
|
|
542
|
+
[key in keyof TExtensionConfigSchema]: z.infer<ReturnType<TExtensionConfigSchema[key]>>;
|
|
543
|
+
} & TConfig, z.input<z.ZodObject<{
|
|
544
|
+
[key in keyof TExtensionConfigSchema]: ReturnType<TExtensionConfigSchema[key]>;
|
|
545
|
+
}>> & TConfigInput, AnyExtensionDataRef extends UNewOutput ? UOutput : UNewOutput, TInputs & TExtraInputs, TIdParts>;
|
|
475
546
|
}
|
|
476
547
|
/** @public */
|
|
477
548
|
declare function createExtension<UOutput extends AnyExtensionDataRef, TInputs extends {
|
|
@@ -479,24 +550,22 @@ declare function createExtension<UOutput extends AnyExtensionDataRef, TInputs ex
|
|
|
479
550
|
optional: boolean;
|
|
480
551
|
singleton: boolean;
|
|
481
552
|
}>;
|
|
482
|
-
},
|
|
553
|
+
}, TConfigSchema extends {
|
|
483
554
|
[key: string]: (zImpl: typeof z) => z.ZodType;
|
|
484
|
-
}, UFactoryOutput extends ExtensionDataValue<any, any
|
|
555
|
+
}, UFactoryOutput extends ExtensionDataValue<any, any>, const TKind extends string | undefined = undefined, const TNamespace extends string | undefined = undefined, const TName extends string | undefined = undefined>(options: CreateExtensionOptions<TKind, TNamespace, TName, UOutput, TInputs, TConfigSchema, UFactoryOutput>): ExtensionDefinition<{
|
|
485
556
|
[key in keyof TConfigSchema]: z.infer<ReturnType<TConfigSchema[key]>>;
|
|
486
|
-
}
|
|
557
|
+
}, z.input<z.ZodObject<{
|
|
487
558
|
[key in keyof TConfigSchema]: ReturnType<TConfigSchema[key]>;
|
|
488
|
-
}
|
|
559
|
+
}>>, UOutput, TInputs, {
|
|
560
|
+
kind: string | undefined extends TKind ? undefined : TKind;
|
|
561
|
+
namespace: string | undefined extends TNamespace ? undefined : TNamespace;
|
|
562
|
+
name: string | undefined extends TName ? undefined : TName;
|
|
563
|
+
}>;
|
|
489
564
|
/**
|
|
490
565
|
* @public
|
|
491
566
|
* @deprecated - use the array format of `output` instead, see TODO-doc-link
|
|
492
567
|
*/
|
|
493
|
-
declare function createExtension<TOutput extends AnyExtensionDataMap, TInputs extends AnyExtensionInputMap, TConfig, TConfigInput,
|
|
494
|
-
[key: string]: (zImpl: typeof z) => z.ZodType;
|
|
495
|
-
}>(options: LegacyCreateExtensionOptions<TOutput, TInputs, TConfig, TConfigInput, TConfigSchema>): ExtensionDefinition<TConfig & (string extends keyof TConfigSchema ? {} : {
|
|
496
|
-
[key in keyof TConfigSchema]: z.infer<ReturnType<TConfigSchema[key]>>;
|
|
497
|
-
}), TConfigInput & (string extends keyof TConfigSchema ? {} : z.input<z.ZodObject<{
|
|
498
|
-
[key in keyof TConfigSchema]: ReturnType<TConfigSchema[key]>;
|
|
499
|
-
}>>)>;
|
|
568
|
+
declare function createExtension<TOutput extends AnyExtensionDataMap, TInputs extends AnyExtensionInputMap, TConfig, TConfigInput>(options: LegacyCreateExtensionOptions<TOutput, TInputs, TConfig, TConfigInput>): ExtensionDefinition<TConfig, TConfigInput, never, never>;
|
|
500
569
|
|
|
501
570
|
/** @public */
|
|
502
571
|
interface Extension<TConfig, TConfigInput = TConfig> {
|
|
@@ -509,6 +578,12 @@ interface Extension<TConfig, TConfigInput = TConfig> {
|
|
|
509
578
|
readonly disabled: boolean;
|
|
510
579
|
readonly configSchema?: PortableSchema<TConfig, TConfigInput>;
|
|
511
580
|
}
|
|
581
|
+
/** @ignore */
|
|
582
|
+
type ResolveExtensionId<TExtension extends ExtensionDefinition<any>, TDefaultNamespace extends string | undefined> = TExtension extends ExtensionDefinition<any, any, any, any, {
|
|
583
|
+
kind: infer IKind extends string | undefined;
|
|
584
|
+
namespace: infer INamespace extends string | undefined;
|
|
585
|
+
name: infer IName extends string | undefined;
|
|
586
|
+
}> ? [string | undefined] extends [IKind | INamespace | IName] ? never : ((undefined extends TDefaultNamespace ? INamespace : TDefaultNamespace) extends infer ISelectedNamespace extends string ? undefined extends IName ? ISelectedNamespace : `${ISelectedNamespace}/${IName}` : IName) extends infer INamePart extends string ? IKind extends string ? `${IKind}:${INamePart}` : INamePart : never : never;
|
|
512
587
|
|
|
513
588
|
/**
|
|
514
589
|
* Feature flag configuration.
|
|
@@ -528,11 +603,17 @@ type AnyExternalRoutes = {
|
|
|
528
603
|
[name in string]: ExternalRouteRef;
|
|
529
604
|
};
|
|
530
605
|
/** @public */
|
|
531
|
-
interface BackstagePlugin<
|
|
606
|
+
interface BackstagePlugin<TRoutes extends AnyRoutes = AnyRoutes, TExternalRoutes extends AnyExternalRoutes = AnyExternalRoutes, TExtensionMap extends {
|
|
607
|
+
[id in string]: ExtensionDefinition<any, any>;
|
|
608
|
+
} = {}> {
|
|
532
609
|
readonly $$type: '@backstage/BackstagePlugin';
|
|
533
610
|
readonly id: string;
|
|
534
|
-
readonly routes:
|
|
535
|
-
readonly externalRoutes:
|
|
611
|
+
readonly routes: TRoutes;
|
|
612
|
+
readonly externalRoutes: TExternalRoutes;
|
|
613
|
+
getExtension<TId extends keyof TExtensionMap>(id: TId): TExtensionMap[TId];
|
|
614
|
+
withOverrides(options: {
|
|
615
|
+
extensions: Array<ExtensionDefinition<any, any>>;
|
|
616
|
+
}): BackstagePlugin<TRoutes, TExternalRoutes, TExtensionMap>;
|
|
536
617
|
}
|
|
537
618
|
/** @public */
|
|
538
619
|
interface ExtensionOverrides {
|
|
@@ -542,15 +623,22 @@ interface ExtensionOverrides {
|
|
|
542
623
|
type FrontendFeature = BackstagePlugin | ExtensionOverrides;
|
|
543
624
|
|
|
544
625
|
/** @public */
|
|
545
|
-
interface PluginOptions<
|
|
546
|
-
id:
|
|
547
|
-
routes?:
|
|
548
|
-
externalRoutes?:
|
|
549
|
-
extensions?:
|
|
626
|
+
interface PluginOptions<TId extends string, TRoutes extends AnyRoutes, TExternalRoutes extends AnyExternalRoutes, TExtensions extends readonly ExtensionDefinition<any, any>[]> {
|
|
627
|
+
id: TId;
|
|
628
|
+
routes?: TRoutes;
|
|
629
|
+
externalRoutes?: TExternalRoutes;
|
|
630
|
+
extensions?: TExtensions;
|
|
550
631
|
featureFlags?: FeatureFlagConfig[];
|
|
551
632
|
}
|
|
552
633
|
/** @public */
|
|
553
|
-
declare function
|
|
634
|
+
declare function createFrontendPlugin<TId extends string, TRoutes extends AnyRoutes = {}, TExternalRoutes extends AnyExternalRoutes = {}, TExtensions extends readonly ExtensionDefinition<any, any>[] = []>(options: PluginOptions<TId, TRoutes, TExternalRoutes, TExtensions>): BackstagePlugin<TRoutes, TExternalRoutes, {
|
|
635
|
+
[KExtension in TExtensions[number] as ResolveExtensionId<KExtension, TId>]: KExtension;
|
|
636
|
+
}>;
|
|
637
|
+
/**
|
|
638
|
+
* @public
|
|
639
|
+
* @deprecated Use {@link createFrontendPlugin} instead.
|
|
640
|
+
*/
|
|
641
|
+
declare const createPlugin: typeof createFrontendPlugin;
|
|
554
642
|
|
|
555
643
|
/** @public */
|
|
556
644
|
interface ExtensionOverridesOptions {
|
|
@@ -563,7 +651,7 @@ declare function createExtensionOverrides(options: ExtensionOverridesOptions): E
|
|
|
563
651
|
/**
|
|
564
652
|
* @public
|
|
565
653
|
*/
|
|
566
|
-
type CreateExtensionBlueprintOptions<TParams, UOutput extends AnyExtensionDataRef, TInputs extends {
|
|
654
|
+
type CreateExtensionBlueprintOptions<TKind extends string, TNamespace extends string | undefined, TName extends string | undefined, TParams, UOutput extends AnyExtensionDataRef, TInputs extends {
|
|
567
655
|
[inputName in string]: ExtensionInput<AnyExtensionDataRef, {
|
|
568
656
|
optional: boolean;
|
|
569
657
|
singleton: boolean;
|
|
@@ -573,8 +661,8 @@ type CreateExtensionBlueprintOptions<TParams, UOutput extends AnyExtensionDataRe
|
|
|
573
661
|
}, UFactoryOutput extends ExtensionDataValue<any, any>, TDataRefs extends {
|
|
574
662
|
[name in string]: AnyExtensionDataRef;
|
|
575
663
|
}> = {
|
|
576
|
-
kind:
|
|
577
|
-
namespace?:
|
|
664
|
+
kind: TKind;
|
|
665
|
+
namespace?: TNamespace;
|
|
578
666
|
attachTo: {
|
|
579
667
|
id: string;
|
|
580
668
|
input: string;
|
|
@@ -582,9 +670,9 @@ type CreateExtensionBlueprintOptions<TParams, UOutput extends AnyExtensionDataRe
|
|
|
582
670
|
disabled?: boolean;
|
|
583
671
|
inputs?: TInputs;
|
|
584
672
|
output: Array<UOutput>;
|
|
585
|
-
name?:
|
|
673
|
+
name?: TName;
|
|
586
674
|
config?: {
|
|
587
|
-
schema: TConfigSchema
|
|
675
|
+
schema: TConfigSchema;
|
|
588
676
|
};
|
|
589
677
|
factory(params: TParams, context: {
|
|
590
678
|
node: AppNode;
|
|
@@ -598,12 +686,16 @@ type CreateExtensionBlueprintOptions<TParams, UOutput extends AnyExtensionDataRe
|
|
|
598
686
|
/**
|
|
599
687
|
* @public
|
|
600
688
|
*/
|
|
601
|
-
interface ExtensionBlueprint<
|
|
689
|
+
interface ExtensionBlueprint<TIdParts extends {
|
|
690
|
+
kind: string;
|
|
691
|
+
namespace?: string;
|
|
692
|
+
name?: string;
|
|
693
|
+
}, TParams, UOutput extends AnyExtensionDataRef, TInputs extends {
|
|
602
694
|
[inputName in string]: ExtensionInput<AnyExtensionDataRef, {
|
|
603
695
|
optional: boolean;
|
|
604
696
|
singleton: boolean;
|
|
605
697
|
}>;
|
|
606
|
-
},
|
|
698
|
+
}, TConfig extends {
|
|
607
699
|
[key in string]: unknown;
|
|
608
700
|
}, TConfigInput extends {
|
|
609
701
|
[key in string]: unknown;
|
|
@@ -611,47 +703,69 @@ interface ExtensionBlueprint<TParams, UOutput extends AnyExtensionDataRef, TInpu
|
|
|
611
703
|
[name in string]: AnyExtensionDataRef;
|
|
612
704
|
}> {
|
|
613
705
|
dataRefs: TDataRefs;
|
|
706
|
+
make<TNewNamespace extends string | undefined, TNewName extends string | undefined>(args: {
|
|
707
|
+
namespace?: TNewNamespace;
|
|
708
|
+
name?: TNewName;
|
|
709
|
+
attachTo?: {
|
|
710
|
+
id: string;
|
|
711
|
+
input: string;
|
|
712
|
+
};
|
|
713
|
+
disabled?: boolean;
|
|
714
|
+
params: TParams;
|
|
715
|
+
}): ExtensionDefinition<TConfig, TConfigInput, UOutput, TInputs, {
|
|
716
|
+
kind: TIdParts['kind'];
|
|
717
|
+
namespace: string | undefined extends TNewNamespace ? TIdParts['namespace'] : TNewNamespace;
|
|
718
|
+
name: string | undefined extends TNewName ? TIdParts['name'] : TNewName;
|
|
719
|
+
}>;
|
|
614
720
|
/**
|
|
615
721
|
* Creates a new extension from the blueprint.
|
|
616
722
|
*
|
|
617
723
|
* You must either pass `params` directly, or define a `factory` that can
|
|
618
724
|
* optionally call the original factory with the same params.
|
|
619
725
|
*/
|
|
620
|
-
|
|
726
|
+
makeWithOverrides<TNewNamespace extends string | undefined, TNewName extends string | undefined, TExtensionConfigSchema extends {
|
|
621
727
|
[key in string]: (zImpl: typeof z) => z.ZodType;
|
|
622
|
-
}, UFactoryOutput extends ExtensionDataValue<any, any
|
|
623
|
-
|
|
624
|
-
|
|
728
|
+
}, UFactoryOutput extends ExtensionDataValue<any, any>, UNewOutput extends AnyExtensionDataRef, TExtraInputs extends {
|
|
729
|
+
[inputName in string]: ExtensionInput<AnyExtensionDataRef, {
|
|
730
|
+
optional: boolean;
|
|
731
|
+
singleton: boolean;
|
|
732
|
+
}>;
|
|
733
|
+
}>(args: {
|
|
734
|
+
namespace?: TNewNamespace;
|
|
735
|
+
name?: TNewName;
|
|
625
736
|
attachTo?: {
|
|
626
737
|
id: string;
|
|
627
738
|
input: string;
|
|
628
739
|
};
|
|
629
740
|
disabled?: boolean;
|
|
630
|
-
inputs?:
|
|
631
|
-
|
|
741
|
+
inputs?: TExtraInputs & {
|
|
742
|
+
[KName in keyof TInputs]?: `Error: Input '${KName & string}' is already defined in parent definition`;
|
|
743
|
+
};
|
|
744
|
+
output?: Array<UNewOutput>;
|
|
632
745
|
config?: {
|
|
633
746
|
schema: TExtensionConfigSchema & {
|
|
634
747
|
[KName in keyof TConfig]?: `Error: Config key '${KName & string}' is already defined in parent schema`;
|
|
635
748
|
};
|
|
636
749
|
};
|
|
637
|
-
} & (({
|
|
638
750
|
factory(originalFactory: (params: TParams, context?: {
|
|
639
751
|
config?: TConfig;
|
|
640
|
-
inputs?:
|
|
641
|
-
}) =>
|
|
752
|
+
inputs?: ResolveInputValueOverrides<TInputs>;
|
|
753
|
+
}) => ExtensionDataContainer<UOutput>, context: {
|
|
642
754
|
node: AppNode;
|
|
643
755
|
config: TConfig & {
|
|
644
756
|
[key in keyof TExtensionConfigSchema]: z.infer<ReturnType<TExtensionConfigSchema[key]>>;
|
|
645
757
|
};
|
|
646
|
-
inputs: Expand<ResolvedExtensionInputs<TInputs>>;
|
|
647
|
-
}): Iterable<UFactoryOutput>;
|
|
648
|
-
}
|
|
649
|
-
params: TParams;
|
|
650
|
-
})): ExtensionDefinition<{
|
|
758
|
+
inputs: Expand<ResolvedExtensionInputs<TInputs & TExtraInputs>>;
|
|
759
|
+
}): Iterable<UFactoryOutput> & VerifyExtensionFactoryOutput<AnyExtensionDataRef extends UNewOutput ? UOutput : UNewOutput, UFactoryOutput>;
|
|
760
|
+
}): ExtensionDefinition<{
|
|
651
761
|
[key in keyof TExtensionConfigSchema]: z.infer<ReturnType<TExtensionConfigSchema[key]>>;
|
|
652
762
|
} & TConfig, z.input<z.ZodObject<{
|
|
653
763
|
[key in keyof TExtensionConfigSchema]: ReturnType<TExtensionConfigSchema[key]>;
|
|
654
|
-
}>> & TConfigInput
|
|
764
|
+
}>> & TConfigInput, AnyExtensionDataRef extends UNewOutput ? UOutput : UNewOutput, TInputs & TExtraInputs, {
|
|
765
|
+
kind: TIdParts['kind'];
|
|
766
|
+
namespace: string | undefined extends TNewNamespace ? TIdParts['namespace'] : TNewNamespace;
|
|
767
|
+
name: string | undefined extends TNewName ? TIdParts['name'] : TNewName;
|
|
768
|
+
}>;
|
|
655
769
|
}
|
|
656
770
|
/**
|
|
657
771
|
* A simpler replacement for wrapping up `createExtension` inside a kind or type. This allows for a cleaner API for creating
|
|
@@ -664,11 +778,15 @@ declare function createExtensionBlueprint<TParams, UOutput extends AnyExtensionD
|
|
|
664
778
|
optional: boolean;
|
|
665
779
|
singleton: boolean;
|
|
666
780
|
}>;
|
|
667
|
-
},
|
|
781
|
+
}, TConfigSchema extends {
|
|
668
782
|
[key in string]: (zImpl: typeof z) => z.ZodType;
|
|
669
|
-
}, UFactoryOutput extends ExtensionDataValue<any, any>, TDataRefs extends {
|
|
783
|
+
}, UFactoryOutput extends ExtensionDataValue<any, any>, TKind extends string, TNamespace extends string | undefined = undefined, TName extends string | undefined = undefined, TDataRefs extends {
|
|
670
784
|
[name in string]: AnyExtensionDataRef;
|
|
671
|
-
} = never>(options: CreateExtensionBlueprintOptions<TParams, UOutput, TInputs, TConfigSchema, UFactoryOutput, TDataRefs>): ExtensionBlueprint<
|
|
785
|
+
} = never>(options: CreateExtensionBlueprintOptions<TKind, TNamespace, TName, TParams, UOutput, TInputs, TConfigSchema, UFactoryOutput, TDataRefs>): ExtensionBlueprint<{
|
|
786
|
+
kind: TKind;
|
|
787
|
+
namespace: TNamespace;
|
|
788
|
+
name: TName;
|
|
789
|
+
}, TParams, UOutput, string extends keyof TInputs ? {} : TInputs, string extends keyof TConfigSchema ? {} : {
|
|
672
790
|
[key in keyof TConfigSchema]: z.infer<ReturnType<TConfigSchema[key]>>;
|
|
673
791
|
}, string extends keyof TConfigSchema ? {} : z.input<z.ZodObject<{
|
|
674
792
|
[key in keyof TConfigSchema]: ReturnType<TConfigSchema[key]>;
|
|
@@ -784,7 +902,11 @@ interface ExtensionBoundaryProps {
|
|
|
784
902
|
children: ReactNode;
|
|
785
903
|
}
|
|
786
904
|
/** @public */
|
|
787
|
-
declare function ExtensionBoundary(props: ExtensionBoundaryProps):
|
|
905
|
+
declare function ExtensionBoundary(props: ExtensionBoundaryProps): React__default.JSX.Element;
|
|
906
|
+
/** @public */
|
|
907
|
+
declare namespace ExtensionBoundary {
|
|
908
|
+
function lazy(appNode: AppNode, lazyElement: () => Promise<JSX.Element>): JSX.Element;
|
|
909
|
+
}
|
|
788
910
|
|
|
789
911
|
/** @public */
|
|
790
912
|
type ComponentRef<T extends {} = {}> = {
|
|
@@ -1004,7 +1126,215 @@ declare const analyticsApiRef: ApiRef<AnalyticsApi>;
|
|
|
1004
1126
|
*/
|
|
1005
1127
|
declare function useAnalytics(): AnalyticsTracker;
|
|
1006
1128
|
|
|
1129
|
+
/**
|
|
1130
|
+
* Creates utility API extensions.
|
|
1131
|
+
*
|
|
1132
|
+
* @public
|
|
1133
|
+
*/
|
|
1134
|
+
declare const ApiBlueprint: ExtensionBlueprint<{
|
|
1135
|
+
kind: "api";
|
|
1136
|
+
namespace: undefined;
|
|
1137
|
+
name: undefined;
|
|
1138
|
+
}, {
|
|
1139
|
+
factory: AnyApiFactory;
|
|
1140
|
+
}, ConfigurableExtensionDataRef<AnyApiFactory, "core.api.factory", {}>, {}, {}, {}, {
|
|
1141
|
+
factory: ConfigurableExtensionDataRef<AnyApiFactory, "core.api.factory", {}>;
|
|
1142
|
+
}>;
|
|
1143
|
+
|
|
1144
|
+
/**
|
|
1145
|
+
* Creates extensions that render a React element at the app root, outside of
|
|
1146
|
+
* the app layout. This is useful for example for shared popups and similar.
|
|
1147
|
+
*
|
|
1148
|
+
* @public
|
|
1149
|
+
*/
|
|
1150
|
+
declare const AppRootElementBlueprint: ExtensionBlueprint<{
|
|
1151
|
+
kind: "app-root-element";
|
|
1152
|
+
namespace: undefined;
|
|
1153
|
+
name: undefined;
|
|
1154
|
+
}, {
|
|
1155
|
+
element: JSX.Element | (() => JSX.Element);
|
|
1156
|
+
}, ConfigurableExtensionDataRef<React.JSX.Element, "core.reactElement", {}>, {}, {}, {}, never>;
|
|
1157
|
+
|
|
1158
|
+
/**
|
|
1159
|
+
* Creates a extensions that render a React wrapper at the app root, enclosing
|
|
1160
|
+
* the app layout. This is useful for example for adding global React contexts
|
|
1161
|
+
* and similar.
|
|
1162
|
+
*
|
|
1163
|
+
* @public
|
|
1164
|
+
*/
|
|
1165
|
+
declare const AppRootWrapperBlueprint: ExtensionBlueprint<{
|
|
1166
|
+
kind: "app-root-wrapper";
|
|
1167
|
+
namespace: undefined;
|
|
1168
|
+
name: undefined;
|
|
1169
|
+
}, {
|
|
1170
|
+
Component: ComponentType<PropsWithChildren<{}>>;
|
|
1171
|
+
}, ConfigurableExtensionDataRef<React__default.ComponentType<{
|
|
1172
|
+
children?: React__default.ReactNode;
|
|
1173
|
+
}>, "app.root.wrapper", {}>, {}, {}, {}, {
|
|
1174
|
+
component: ConfigurableExtensionDataRef<React__default.ComponentType<{
|
|
1175
|
+
children?: React__default.ReactNode;
|
|
1176
|
+
}>, "app.root.wrapper", {}>;
|
|
1177
|
+
}>;
|
|
1178
|
+
|
|
1179
|
+
/** @public */
|
|
1180
|
+
declare const IconBundleBlueprint: ExtensionBlueprint<{
|
|
1181
|
+
kind: "icon-bundle";
|
|
1182
|
+
namespace: "app";
|
|
1183
|
+
name: undefined;
|
|
1184
|
+
}, {
|
|
1185
|
+
icons: {
|
|
1186
|
+
[x: string]: IconComponent;
|
|
1187
|
+
};
|
|
1188
|
+
}, ConfigurableExtensionDataRef<{
|
|
1189
|
+
[x: string]: IconComponent;
|
|
1190
|
+
}, "core.icons", {}>, {}, {
|
|
1191
|
+
icons: string;
|
|
1192
|
+
test: string;
|
|
1193
|
+
}, {
|
|
1194
|
+
test: string;
|
|
1195
|
+
icons?: string | undefined;
|
|
1196
|
+
}, {
|
|
1197
|
+
icons: ConfigurableExtensionDataRef<{
|
|
1198
|
+
[x: string]: IconComponent;
|
|
1199
|
+
}, "core.icons", {}>;
|
|
1200
|
+
}>;
|
|
1201
|
+
|
|
1202
|
+
/**
|
|
1203
|
+
* Creates extensions that make up the items of the nav bar.
|
|
1204
|
+
*
|
|
1205
|
+
* @public
|
|
1206
|
+
*/
|
|
1207
|
+
declare const NavItemBlueprint: ExtensionBlueprint<{
|
|
1208
|
+
kind: "nav-item";
|
|
1209
|
+
namespace: undefined;
|
|
1210
|
+
name: undefined;
|
|
1211
|
+
}, {
|
|
1212
|
+
title: string;
|
|
1213
|
+
icon: IconComponent$1;
|
|
1214
|
+
routeRef: RouteRef<undefined>;
|
|
1215
|
+
}, ConfigurableExtensionDataRef<{
|
|
1216
|
+
title: string;
|
|
1217
|
+
icon: IconComponent$1;
|
|
1218
|
+
routeRef: RouteRef<undefined>;
|
|
1219
|
+
}, "core.nav-item.target", {}>, {}, {}, {}, {
|
|
1220
|
+
target: ConfigurableExtensionDataRef<{
|
|
1221
|
+
title: string;
|
|
1222
|
+
icon: IconComponent$1;
|
|
1223
|
+
routeRef: RouteRef<undefined>;
|
|
1224
|
+
}, "core.nav-item.target", {}>;
|
|
1225
|
+
}>;
|
|
1226
|
+
|
|
1227
|
+
/**
|
|
1228
|
+
* Creates an extension that replaces the logo in the nav bar with your own.
|
|
1229
|
+
*
|
|
1230
|
+
* @public
|
|
1231
|
+
*/
|
|
1232
|
+
declare const NavLogoBlueprint: ExtensionBlueprint<{
|
|
1233
|
+
kind: "nav-logo";
|
|
1234
|
+
namespace: undefined;
|
|
1235
|
+
name: undefined;
|
|
1236
|
+
}, {
|
|
1237
|
+
logoIcon: JSX.Element;
|
|
1238
|
+
logoFull: JSX.Element;
|
|
1239
|
+
}, ConfigurableExtensionDataRef<{
|
|
1240
|
+
logoIcon?: JSX.Element | undefined;
|
|
1241
|
+
logoFull?: JSX.Element | undefined;
|
|
1242
|
+
}, "core.nav-logo.logo-elements", {}>, {}, {}, {}, {
|
|
1243
|
+
logoElements: ConfigurableExtensionDataRef<{
|
|
1244
|
+
logoIcon?: JSX.Element | undefined;
|
|
1245
|
+
logoFull?: JSX.Element | undefined;
|
|
1246
|
+
}, "core.nav-logo.logo-elements", {}>;
|
|
1247
|
+
}>;
|
|
1248
|
+
|
|
1249
|
+
/**
|
|
1250
|
+
* Createx extensions that are routable React page components.
|
|
1251
|
+
*
|
|
1252
|
+
* @public
|
|
1253
|
+
*/
|
|
1254
|
+
declare const PageBlueprint: ExtensionBlueprint<{
|
|
1255
|
+
kind: "page";
|
|
1256
|
+
namespace: undefined;
|
|
1257
|
+
name: undefined;
|
|
1258
|
+
}, {
|
|
1259
|
+
defaultPath: string;
|
|
1260
|
+
loader: () => Promise<JSX.Element>;
|
|
1261
|
+
routeRef?: RouteRef<AnyRouteRefParams> | undefined;
|
|
1262
|
+
}, ConfigurableExtensionDataRef<React.JSX.Element, "core.reactElement", {}> | ConfigurableExtensionDataRef<string, "core.routing.path", {}> | ConfigurableExtensionDataRef<RouteRef<AnyRouteRefParams>, "core.routing.ref", {
|
|
1263
|
+
optional: true;
|
|
1264
|
+
}>, {}, {
|
|
1265
|
+
path: string | undefined;
|
|
1266
|
+
}, {
|
|
1267
|
+
path?: string | undefined;
|
|
1268
|
+
}, never>;
|
|
1269
|
+
|
|
1007
1270
|
/** @public */
|
|
1271
|
+
declare const RouterBlueprint: ExtensionBlueprint<{
|
|
1272
|
+
kind: "app-router-component";
|
|
1273
|
+
namespace: undefined;
|
|
1274
|
+
name: undefined;
|
|
1275
|
+
}, {
|
|
1276
|
+
Component: ComponentType<PropsWithChildren<{}>>;
|
|
1277
|
+
}, ConfigurableExtensionDataRef<ComponentType<{
|
|
1278
|
+
children?: React.ReactNode;
|
|
1279
|
+
}>, "app.router.wrapper", {}>, {}, {}, {}, {
|
|
1280
|
+
component: ConfigurableExtensionDataRef<ComponentType<{
|
|
1281
|
+
children?: React.ReactNode;
|
|
1282
|
+
}>, "app.router.wrapper", {}>;
|
|
1283
|
+
}>;
|
|
1284
|
+
|
|
1285
|
+
/**
|
|
1286
|
+
* Creates an extension that replaces the sign in page.
|
|
1287
|
+
*
|
|
1288
|
+
* @public
|
|
1289
|
+
*/
|
|
1290
|
+
declare const SignInPageBlueprint: ExtensionBlueprint<{
|
|
1291
|
+
kind: "sign-in-page";
|
|
1292
|
+
namespace: undefined;
|
|
1293
|
+
name: undefined;
|
|
1294
|
+
}, {
|
|
1295
|
+
loader: () => Promise<ComponentType<SignInPageProps>>;
|
|
1296
|
+
}, ConfigurableExtensionDataRef<React__default.ComponentType<SignInPageProps>, "core.sign-in-page.component", {}>, {}, {}, {}, {
|
|
1297
|
+
component: ConfigurableExtensionDataRef<React__default.ComponentType<SignInPageProps>, "core.sign-in-page.component", {}>;
|
|
1298
|
+
}>;
|
|
1299
|
+
|
|
1300
|
+
/**
|
|
1301
|
+
* Creates an extension that adds/replaces an app theme.
|
|
1302
|
+
*
|
|
1303
|
+
* @public
|
|
1304
|
+
*/
|
|
1305
|
+
declare const ThemeBlueprint: ExtensionBlueprint<{
|
|
1306
|
+
kind: "theme";
|
|
1307
|
+
namespace: "app";
|
|
1308
|
+
name: undefined;
|
|
1309
|
+
}, {
|
|
1310
|
+
theme: AppTheme;
|
|
1311
|
+
}, ConfigurableExtensionDataRef<AppTheme, "core.theme.theme", {}>, {}, {}, {}, {
|
|
1312
|
+
theme: ConfigurableExtensionDataRef<AppTheme, "core.theme.theme", {}>;
|
|
1313
|
+
}>;
|
|
1314
|
+
|
|
1315
|
+
/**
|
|
1316
|
+
* Creates an extension that adds translations to your app.
|
|
1317
|
+
*
|
|
1318
|
+
* @public
|
|
1319
|
+
*/
|
|
1320
|
+
declare const TranslationBlueprint: ExtensionBlueprint<{
|
|
1321
|
+
kind: "translation";
|
|
1322
|
+
namespace: undefined;
|
|
1323
|
+
name: undefined;
|
|
1324
|
+
}, {
|
|
1325
|
+
resource: TranslationResource | TranslationMessages;
|
|
1326
|
+
}, ConfigurableExtensionDataRef<TranslationResource<string> | TranslationMessages<string, {
|
|
1327
|
+
[x: string]: string;
|
|
1328
|
+
}, boolean>, "core.translation.translation", {}>, {}, {}, {}, {
|
|
1329
|
+
translation: ConfigurableExtensionDataRef<TranslationResource<string> | TranslationMessages<string, {
|
|
1330
|
+
[x: string]: string;
|
|
1331
|
+
}, boolean>, "core.translation.translation", {}>;
|
|
1332
|
+
}>;
|
|
1333
|
+
|
|
1334
|
+
/**
|
|
1335
|
+
* @public
|
|
1336
|
+
* @deprecated Use {@link ApiBlueprint} instead.
|
|
1337
|
+
*/
|
|
1008
1338
|
declare function createApiExtension<TConfig extends {}, TInputs extends AnyExtensionInputMap>(options: ({
|
|
1009
1339
|
api: AnyApiRef;
|
|
1010
1340
|
factory: (options: {
|
|
@@ -1016,9 +1346,19 @@ declare function createApiExtension<TConfig extends {}, TInputs extends AnyExten
|
|
|
1016
1346
|
}) & {
|
|
1017
1347
|
configSchema?: PortableSchema<TConfig>;
|
|
1018
1348
|
inputs?: TInputs;
|
|
1019
|
-
}): ExtensionDefinition<TConfig
|
|
1020
|
-
|
|
1349
|
+
}): ExtensionDefinition<TConfig, TConfig, never, never, {
|
|
1350
|
+
kind?: string | undefined;
|
|
1351
|
+
namespace?: string | undefined;
|
|
1352
|
+
name?: string | undefined;
|
|
1353
|
+
}>;
|
|
1354
|
+
/**
|
|
1355
|
+
* @public
|
|
1356
|
+
* @deprecated Use {@link ApiBlueprint} instead.
|
|
1357
|
+
*/
|
|
1021
1358
|
declare namespace createApiExtension {
|
|
1359
|
+
/**
|
|
1360
|
+
* @deprecated Use {@link ApiBlueprint} instead.
|
|
1361
|
+
*/
|
|
1022
1362
|
const factoryDataRef: ConfigurableExtensionDataRef<AnyApiFactory, "core.api.factory", {}>;
|
|
1023
1363
|
}
|
|
1024
1364
|
|
|
@@ -1027,6 +1367,7 @@ declare namespace createApiExtension {
|
|
|
1027
1367
|
* the app layout. This is useful for example for shared popups and similar.
|
|
1028
1368
|
*
|
|
1029
1369
|
* @public
|
|
1370
|
+
* @deprecated Use {@link AppRootElementBlueprint} instead.
|
|
1030
1371
|
*/
|
|
1031
1372
|
declare function createAppRootElementExtension<TConfig extends {}, TInputs extends AnyExtensionInputMap>(options: {
|
|
1032
1373
|
namespace?: string;
|
|
@@ -1050,6 +1391,7 @@ declare function createAppRootElementExtension<TConfig extends {}, TInputs exten
|
|
|
1050
1391
|
* and similar.
|
|
1051
1392
|
*
|
|
1052
1393
|
* @public
|
|
1394
|
+
* @deprecated Use {@link AppRootWrapperBlueprint} instead.
|
|
1053
1395
|
*/
|
|
1054
1396
|
declare function createAppRootWrapperExtension<TConfig extends {}, TInputs extends AnyExtensionInputMap>(options: {
|
|
1055
1397
|
namespace?: string;
|
|
@@ -1066,10 +1408,16 @@ declare function createAppRootWrapperExtension<TConfig extends {}, TInputs exten
|
|
|
1066
1408
|
config: TConfig;
|
|
1067
1409
|
}>>;
|
|
1068
1410
|
}): ExtensionDefinition<TConfig>;
|
|
1069
|
-
/**
|
|
1411
|
+
/**
|
|
1412
|
+
* @public
|
|
1413
|
+
* @deprecated Use {@link AppRootWrapperBlueprint} instead.
|
|
1414
|
+
*/
|
|
1070
1415
|
declare namespace createAppRootWrapperExtension {
|
|
1071
|
-
|
|
1072
|
-
|
|
1416
|
+
/**
|
|
1417
|
+
* @deprecated Use {@link AppRootWrapperBlueprint} instead.
|
|
1418
|
+
*/
|
|
1419
|
+
const componentDataRef: ConfigurableExtensionDataRef<React__default.ComponentType<{
|
|
1420
|
+
children?: React__default.ReactNode;
|
|
1073
1421
|
}>, "app.root.wrapper", {}>;
|
|
1074
1422
|
}
|
|
1075
1423
|
|
|
@@ -1079,6 +1427,7 @@ declare namespace createAppRootWrapperExtension {
|
|
|
1079
1427
|
* MemoryRouter in tests, or to add additional props to a BrowserRouter.
|
|
1080
1428
|
*
|
|
1081
1429
|
* @public
|
|
1430
|
+
* @deprecated Use {@link RouterBlueprint} instead.
|
|
1082
1431
|
*/
|
|
1083
1432
|
declare function createRouterExtension<TConfig extends {}, TInputs extends AnyExtensionInputMap>(options: {
|
|
1084
1433
|
namespace?: string;
|
|
@@ -1095,10 +1444,16 @@ declare function createRouterExtension<TConfig extends {}, TInputs extends AnyEx
|
|
|
1095
1444
|
config: TConfig;
|
|
1096
1445
|
}>>;
|
|
1097
1446
|
}): ExtensionDefinition<TConfig>;
|
|
1098
|
-
/**
|
|
1447
|
+
/**
|
|
1448
|
+
* @public
|
|
1449
|
+
* @deprecated Use {@link RouterBlueprint} instead.
|
|
1450
|
+
*/
|
|
1099
1451
|
declare namespace createRouterExtension {
|
|
1100
|
-
|
|
1101
|
-
|
|
1452
|
+
/**
|
|
1453
|
+
* @deprecated Use {@link RouterBlueprint} instead.
|
|
1454
|
+
*/
|
|
1455
|
+
const componentDataRef: ConfigurableExtensionDataRef<React__default.ComponentType<{
|
|
1456
|
+
children?: React__default.ReactNode;
|
|
1102
1457
|
}>, "app.router.wrapper", {}>;
|
|
1103
1458
|
}
|
|
1104
1459
|
|
|
@@ -1106,6 +1461,7 @@ declare namespace createRouterExtension {
|
|
|
1106
1461
|
* Helper for creating extensions for a routable React page component.
|
|
1107
1462
|
*
|
|
1108
1463
|
* @public
|
|
1464
|
+
* @deprecated Use {@link PageBlueprint} instead.
|
|
1109
1465
|
*/
|
|
1110
1466
|
declare function createPageExtension<TConfig extends {
|
|
1111
1467
|
path: string;
|
|
@@ -1131,7 +1487,9 @@ declare function createPageExtension<TConfig extends {
|
|
|
1131
1487
|
|
|
1132
1488
|
/**
|
|
1133
1489
|
* Helper for creating extensions for a nav item.
|
|
1490
|
+
*
|
|
1134
1491
|
* @public
|
|
1492
|
+
* @deprecated Use {@link NavItemBlueprint} instead.
|
|
1135
1493
|
*/
|
|
1136
1494
|
declare function createNavItemExtension(options: {
|
|
1137
1495
|
namespace?: string;
|
|
@@ -1143,9 +1501,19 @@ declare function createNavItemExtension(options: {
|
|
|
1143
1501
|
title: string;
|
|
1144
1502
|
}, {
|
|
1145
1503
|
title?: string | undefined;
|
|
1504
|
+
}, never, never, {
|
|
1505
|
+
kind?: string | undefined;
|
|
1506
|
+
namespace?: string | undefined;
|
|
1507
|
+
name?: string | undefined;
|
|
1146
1508
|
}>;
|
|
1147
|
-
/**
|
|
1509
|
+
/**
|
|
1510
|
+
* @public
|
|
1511
|
+
* @deprecated Use {@link NavItemBlueprint} instead.
|
|
1512
|
+
*/
|
|
1148
1513
|
declare namespace createNavItemExtension {
|
|
1514
|
+
/**
|
|
1515
|
+
* @deprecated Use {@link NavItemBlueprint} instead.
|
|
1516
|
+
*/
|
|
1149
1517
|
const targetDataRef: ConfigurableExtensionDataRef<{
|
|
1150
1518
|
title: string;
|
|
1151
1519
|
icon: IconComponent$1;
|
|
@@ -1155,16 +1523,28 @@ declare namespace createNavItemExtension {
|
|
|
1155
1523
|
|
|
1156
1524
|
/**
|
|
1157
1525
|
* Helper for creating extensions for a nav logos.
|
|
1526
|
+
*
|
|
1158
1527
|
* @public
|
|
1528
|
+
* @deprecated Use {@link NavLogoBlueprint} instead.
|
|
1159
1529
|
*/
|
|
1160
1530
|
declare function createNavLogoExtension(options: {
|
|
1161
1531
|
name?: string;
|
|
1162
1532
|
namespace?: string;
|
|
1163
1533
|
logoIcon: JSX.Element;
|
|
1164
1534
|
logoFull: JSX.Element;
|
|
1165
|
-
}): ExtensionDefinition<
|
|
1166
|
-
|
|
1535
|
+
}): ExtensionDefinition<unknown, unknown, never, never, {
|
|
1536
|
+
kind?: string | undefined;
|
|
1537
|
+
namespace?: string | undefined;
|
|
1538
|
+
name?: string | undefined;
|
|
1539
|
+
}>;
|
|
1540
|
+
/**
|
|
1541
|
+
* @public
|
|
1542
|
+
* @deprecated Use {@link NavLogoBlueprint} instead.
|
|
1543
|
+
*/
|
|
1167
1544
|
declare namespace createNavLogoExtension {
|
|
1545
|
+
/**
|
|
1546
|
+
* @deprecated Use {@link NavLogoBlueprint} instead.
|
|
1547
|
+
*/
|
|
1168
1548
|
const logoElementsDataRef: ConfigurableExtensionDataRef<{
|
|
1169
1549
|
logoIcon?: JSX.Element | undefined;
|
|
1170
1550
|
logoFull?: JSX.Element | undefined;
|
|
@@ -1174,6 +1554,7 @@ declare namespace createNavLogoExtension {
|
|
|
1174
1554
|
/**
|
|
1175
1555
|
*
|
|
1176
1556
|
* @public
|
|
1557
|
+
* @deprecated Use {@link SignInPageBlueprint} instead.
|
|
1177
1558
|
*/
|
|
1178
1559
|
declare function createSignInPageExtension<TConfig extends {}, TInputs extends AnyExtensionInputMap>(options: {
|
|
1179
1560
|
namespace?: string;
|
|
@@ -1190,14 +1571,30 @@ declare function createSignInPageExtension<TConfig extends {}, TInputs extends A
|
|
|
1190
1571
|
inputs: Expand<ResolvedExtensionInputs<TInputs>>;
|
|
1191
1572
|
}) => Promise<ComponentType<SignInPageProps>>;
|
|
1192
1573
|
}): ExtensionDefinition<TConfig>;
|
|
1193
|
-
/**
|
|
1574
|
+
/**
|
|
1575
|
+
* @public
|
|
1576
|
+
* @deprecated Use {@link SignInPageBlueprint} instead.
|
|
1577
|
+
*/
|
|
1194
1578
|
declare namespace createSignInPageExtension {
|
|
1195
|
-
|
|
1579
|
+
/**
|
|
1580
|
+
* @deprecated Use {@link SignInPageBlueprint} instead.
|
|
1581
|
+
*/
|
|
1582
|
+
const componentDataRef: ConfigurableExtensionDataRef<React__default.ComponentType<SignInPageProps>, "core.sign-in-page.component", {}>;
|
|
1196
1583
|
}
|
|
1197
1584
|
|
|
1198
|
-
/**
|
|
1199
|
-
|
|
1200
|
-
|
|
1585
|
+
/**
|
|
1586
|
+
* @public
|
|
1587
|
+
* @deprecated Use {@link ThemeBlueprint} instead.
|
|
1588
|
+
*/
|
|
1589
|
+
declare function createThemeExtension(theme: AppTheme): ExtensionDefinition<unknown, unknown, never, never, {
|
|
1590
|
+
kind?: string | undefined;
|
|
1591
|
+
namespace?: string | undefined;
|
|
1592
|
+
name?: string | undefined;
|
|
1593
|
+
}>;
|
|
1594
|
+
/**
|
|
1595
|
+
* @public
|
|
1596
|
+
* @deprecated Use {@link ThemeBlueprint} instead.
|
|
1597
|
+
*/
|
|
1201
1598
|
declare namespace createThemeExtension {
|
|
1202
1599
|
const themeDataRef: ConfigurableExtensionDataRef<AppTheme, "core.theme.theme", {}>;
|
|
1203
1600
|
}
|
|
@@ -1207,7 +1604,9 @@ declare function createComponentExtension<TProps extends {}, TConfig extends {},
|
|
|
1207
1604
|
ref: ComponentRef<TProps>;
|
|
1208
1605
|
name?: string;
|
|
1209
1606
|
disabled?: boolean;
|
|
1607
|
+
/** @deprecated these will be removed in the future */
|
|
1210
1608
|
inputs?: TInputs;
|
|
1609
|
+
/** @deprecated these will be removed in the future */
|
|
1211
1610
|
configSchema?: PortableSchema<TConfig>;
|
|
1212
1611
|
loader: {
|
|
1213
1612
|
lazy: (values: {
|
|
@@ -1220,7 +1619,11 @@ declare function createComponentExtension<TProps extends {}, TConfig extends {},
|
|
|
1220
1619
|
inputs: Expand<ResolvedExtensionInputs<TInputs>>;
|
|
1221
1620
|
}) => ComponentType<TProps>;
|
|
1222
1621
|
};
|
|
1223
|
-
}): ExtensionDefinition<TConfig
|
|
1622
|
+
}): ExtensionDefinition<TConfig, TConfig, never, never, {
|
|
1623
|
+
kind?: string | undefined;
|
|
1624
|
+
namespace?: string | undefined;
|
|
1625
|
+
name?: string | undefined;
|
|
1626
|
+
}>;
|
|
1224
1627
|
/** @public */
|
|
1225
1628
|
declare namespace createComponentExtension {
|
|
1226
1629
|
const componentDataRef: ConfigurableExtensionDataRef<{
|
|
@@ -1229,40 +1632,26 @@ declare namespace createComponentExtension {
|
|
|
1229
1632
|
}, "core.component.component", {}>;
|
|
1230
1633
|
}
|
|
1231
1634
|
|
|
1232
|
-
/**
|
|
1635
|
+
/**
|
|
1636
|
+
* @public
|
|
1637
|
+
* @deprecated Use {@link TranslationBlueprint} instead.
|
|
1638
|
+
*/
|
|
1233
1639
|
declare function createTranslationExtension(options: {
|
|
1234
1640
|
name?: string;
|
|
1235
1641
|
resource: TranslationResource | TranslationMessages;
|
|
1236
|
-
}): ExtensionDefinition<
|
|
1237
|
-
|
|
1642
|
+
}): ExtensionDefinition<unknown, unknown, never, never, {
|
|
1643
|
+
kind?: string | undefined;
|
|
1644
|
+
namespace?: string | undefined;
|
|
1645
|
+
name?: string | undefined;
|
|
1646
|
+
}>;
|
|
1647
|
+
/**
|
|
1648
|
+
* @public
|
|
1649
|
+
* @deprecated Use {@link TranslationBlueprint} instead.
|
|
1650
|
+
*/
|
|
1238
1651
|
declare namespace createTranslationExtension {
|
|
1239
1652
|
const translationDataRef: ConfigurableExtensionDataRef<TranslationResource<string> | TranslationMessages<string, {
|
|
1240
1653
|
[x: string]: string;
|
|
1241
1654
|
}, boolean>, "core.translation.translation", {}>;
|
|
1242
1655
|
}
|
|
1243
1656
|
|
|
1244
|
-
|
|
1245
|
-
declare const IconBundleBlueprint: ExtensionBlueprint<{
|
|
1246
|
-
icons: {
|
|
1247
|
-
[x: string]: IconComponent;
|
|
1248
|
-
};
|
|
1249
|
-
}, ConfigurableExtensionDataRef<{
|
|
1250
|
-
[x: string]: IconComponent;
|
|
1251
|
-
}, "core.icons", {}>, {
|
|
1252
|
-
[x: string]: ExtensionInput<AnyExtensionDataRef, {
|
|
1253
|
-
optional: boolean;
|
|
1254
|
-
singleton: boolean;
|
|
1255
|
-
}>;
|
|
1256
|
-
}, AnyExtensionDataRef, {
|
|
1257
|
-
icons: string;
|
|
1258
|
-
test: string;
|
|
1259
|
-
}, {
|
|
1260
|
-
test: string;
|
|
1261
|
-
icons?: string | undefined;
|
|
1262
|
-
}, {
|
|
1263
|
-
icons: ConfigurableExtensionDataRef<{
|
|
1264
|
-
[x: string]: IconComponent;
|
|
1265
|
-
}, "core.icons", {}>;
|
|
1266
|
-
}>;
|
|
1267
|
-
|
|
1268
|
-
export { type AnalyticsApi, AnalyticsContext, type AnalyticsContextValue, type AnalyticsEvent, type AnalyticsEventAttributes, type AnalyticsTracker, type AnyExtensionDataMap, type AnyExtensionDataRef, type AnyExtensionInputMap, type AnyExternalRoutes, type AnyRouteRefParams, type AnyRoutes, type AppNode, type AppNodeEdges, type AppNodeInstance, type AppNodeSpec, type AppTree, type AppTreeApi, type BackstagePlugin, type CommonAnalyticsContext, type ComponentRef, type ComponentsApi, type ConfigurableExtensionDataRef, type CoreErrorBoundaryFallbackProps, type CoreNotFoundErrorPageProps, type CoreProgressProps, type CreateExtensionBlueprintOptions, type CreateExtensionOptions, type Extension, type ExtensionBlueprint, ExtensionBoundary, type ExtensionBoundaryProps, type ExtensionDataContainer, type ExtensionDataRef, type ExtensionDataRefToValue, type ExtensionDataValue, type ExtensionDataValues, type ExtensionDefinition, type ExtensionInput, type ExtensionOverrides, type ExtensionOverridesOptions, type ExternalRouteRef, type FeatureFlagConfig, type FrontendFeature, IconBundleBlueprint, type IconComponent, type IconsApi, type LegacyCreateExtensionOptions, type LegacyExtensionInput, type PluginOptions, type PortableSchema, type ResolvedExtensionInput, type ResolvedExtensionInputs, type RouteFunc, type RouteRef, type RouteResolutionApi, type RouteResolutionApiResolveOptions, type SubRouteRef, analyticsApiRef, appTreeApiRef, componentsApiRef, coreComponentRefs, coreExtensionData, createApiExtension, createAppRootElementExtension, createAppRootWrapperExtension, createComponentExtension, createComponentRef, createExtension, createExtensionBlueprint, createExtensionDataRef, createExtensionInput, createExtensionOverrides, createExternalRouteRef, createNavItemExtension, createNavLogoExtension, createPageExtension, createPlugin, createRouteRef, createRouterExtension, createSchemaFromZod, createSignInPageExtension, createSubRouteRef, createThemeExtension, createTranslationExtension, iconsApiRef, routeResolutionApiRef, useAnalytics, useComponentRef, useRouteRef, useRouteRefParams };
|
|
1657
|
+
export { type AnalyticsApi, AnalyticsContext, type AnalyticsContextValue, type AnalyticsEvent, type AnalyticsEventAttributes, type AnalyticsTracker, type AnyExtensionDataMap, type AnyExtensionDataRef, type AnyExtensionInputMap, type AnyExternalRoutes, type AnyRouteRefParams, type AnyRoutes, ApiBlueprint, type AppNode, type AppNodeEdges, type AppNodeInstance, type AppNodeSpec, AppRootElementBlueprint, AppRootWrapperBlueprint, type AppTree, type AppTreeApi, type BackstagePlugin, type CommonAnalyticsContext, type ComponentRef, type ComponentsApi, type ConfigurableExtensionDataRef, type CoreErrorBoundaryFallbackProps, type CoreNotFoundErrorPageProps, type CoreProgressProps, type CreateExtensionBlueprintOptions, type CreateExtensionOptions, type Extension, type ExtensionBlueprint, ExtensionBoundary, type ExtensionBoundaryProps, type ExtensionDataContainer, type ExtensionDataRef, type ExtensionDataRefToValue, type ExtensionDataValue, type ExtensionDataValues, type ExtensionDefinition, type ExtensionInput, type ExtensionOverrides, type ExtensionOverridesOptions, type ExternalRouteRef, type FeatureFlagConfig, type FrontendFeature, IconBundleBlueprint, type IconComponent, type IconsApi, type LegacyCreateExtensionOptions, type LegacyExtensionInput, NavItemBlueprint, NavLogoBlueprint, PageBlueprint, type PluginOptions, type PortableSchema, type ResolveInputValueOverrides, type ResolvedExtensionInput, type ResolvedExtensionInputs, type RouteFunc, type RouteRef, type RouteResolutionApi, type RouteResolutionApiResolveOptions, RouterBlueprint, SignInPageBlueprint, type SubRouteRef, ThemeBlueprint, TranslationBlueprint, analyticsApiRef, appTreeApiRef, componentsApiRef, coreComponentRefs, coreExtensionData, createApiExtension, createAppRootElementExtension, createAppRootWrapperExtension, createComponentExtension, createComponentRef, createExtension, createExtensionBlueprint, createExtensionDataRef, createExtensionInput, createExtensionOverrides, createExternalRouteRef, createFrontendPlugin, createNavItemExtension, createNavLogoExtension, createPageExtension, createPlugin, createRouteRef, createRouterExtension, createSchemaFromZod, createSignInPageExtension, createSubRouteRef, createThemeExtension, createTranslationExtension, iconsApiRef, routeResolutionApiRef, useAnalytics, useComponentRef, useRouteRef, useRouteRefParams };
|