@backstage/frontend-plugin-api 0.7.0 → 0.8.0-next.1
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 +106 -0
- package/dist/blueprints/ApiBlueprint.esm.js +1 -1
- package/dist/blueprints/ApiBlueprint.esm.js.map +1 -1
- package/dist/blueprints/IconBundleBlueprint.esm.js +1 -2
- package/dist/blueprints/IconBundleBlueprint.esm.js.map +1 -1
- package/dist/blueprints/ThemeBlueprint.esm.js +1 -2
- package/dist/blueprints/ThemeBlueprint.esm.js.map +1 -1
- package/dist/blueprints/TranslationBlueprint.esm.js +1 -1
- package/dist/blueprints/TranslationBlueprint.esm.js.map +1 -1
- package/dist/extensions/createComponentExtension.esm.js +14 -19
- package/dist/extensions/createComponentExtension.esm.js.map +1 -1
- package/dist/index.d.ts +466 -583
- package/dist/index.esm.js +1 -11
- package/dist/index.esm.js.map +1 -1
- package/dist/schema/createSchemaFromZod.esm.js.map +1 -1
- package/dist/wiring/createExtension.esm.js +21 -27
- package/dist/wiring/createExtension.esm.js.map +1 -1
- package/dist/wiring/createExtensionBlueprint.esm.js +58 -61
- package/dist/wiring/createExtensionBlueprint.esm.js.map +1 -1
- package/dist/wiring/createExtensionInput.esm.js +2 -1
- package/dist/wiring/createExtensionInput.esm.js.map +1 -1
- package/dist/wiring/createExtensionOverrides.esm.js.map +1 -1
- package/dist/wiring/createFrontendModule.esm.js +43 -0
- package/dist/wiring/createFrontendModule.esm.js.map +1 -0
- package/dist/wiring/createFrontendPlugin.esm.js +7 -2
- package/dist/wiring/createFrontendPlugin.esm.js.map +1 -1
- package/dist/wiring/resolveExtensionDefinition.esm.js.map +1 -1
- package/package.json +6 -6
- package/dist/extensions/createApiExtension.esm.js +0 -32
- package/dist/extensions/createApiExtension.esm.js.map +0 -1
- package/dist/extensions/createAppRootElementExtension.esm.js +0 -25
- package/dist/extensions/createAppRootElementExtension.esm.js.map +0 -1
- package/dist/extensions/createAppRootWrapperExtension.esm.js +0 -32
- package/dist/extensions/createAppRootWrapperExtension.esm.js.map +0 -1
- package/dist/extensions/createNavItemExtension.esm.js +0 -35
- package/dist/extensions/createNavItemExtension.esm.js.map +0 -1
- package/dist/extensions/createNavLogoExtension.esm.js +0 -30
- package/dist/extensions/createNavLogoExtension.esm.js.map +0 -1
- package/dist/extensions/createPageExtension.esm.js +0 -38
- package/dist/extensions/createPageExtension.esm.js.map +0 -1
- package/dist/extensions/createRouterExtension.esm.js +0 -32
- package/dist/extensions/createRouterExtension.esm.js.map +0 -1
- package/dist/extensions/createSignInPageExtension.esm.js +0 -44
- package/dist/extensions/createSignInPageExtension.esm.js.map +0 -1
- package/dist/extensions/createThemeExtension.esm.js +0 -22
- package/dist/extensions/createThemeExtension.esm.js.map +0 -1
- package/dist/extensions/createTranslationExtension.esm.js +0 -22
- package/dist/extensions/createTranslationExtension.esm.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import React__default, { ReactNode, JSX as JSX$1, ComponentType, PropsWithChildren } from 'react';
|
|
4
4
|
import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
|
|
5
|
-
import { ApiRef, AnyApiFactory, IconComponent as IconComponent$1, SignInPageProps, AppTheme
|
|
5
|
+
import { ApiHolder, ApiRef, AnyApiFactory, IconComponent as IconComponent$1, SignInPageProps, AppTheme } from '@backstage/core-plugin-api';
|
|
6
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';
|
|
7
|
-
import { z
|
|
7
|
+
import { z } from 'zod';
|
|
8
8
|
import { JsonObject } from '@backstage/types';
|
|
9
9
|
import { TranslationResource, TranslationMessages } from '@backstage/core-plugin-api/alpha';
|
|
10
10
|
export { TranslationMessages, TranslationMessagesOptions, TranslationRef, TranslationRefOptions, TranslationResource, TranslationResourceOptions, createTranslationMessages, createTranslationRef, createTranslationResource, useTranslationRef } from '@backstage/core-plugin-api/alpha';
|
|
@@ -262,18 +262,6 @@ declare const coreExtensionData: {
|
|
|
262
262
|
routeRef: ConfigurableExtensionDataRef<RouteRef<AnyRouteRefParams>, "core.routing.ref", {}>;
|
|
263
263
|
};
|
|
264
264
|
|
|
265
|
-
/** @public */
|
|
266
|
-
type PortableSchema<TOutput, TInput = TOutput> = {
|
|
267
|
-
parse: (input: TInput) => TOutput;
|
|
268
|
-
schema: JsonObject;
|
|
269
|
-
};
|
|
270
|
-
|
|
271
|
-
/**
|
|
272
|
-
* @public
|
|
273
|
-
* @deprecated Use the `config.schema` option of `createExtension` instead, or use `createExtensionBlueprint`.
|
|
274
|
-
*/
|
|
275
|
-
declare function createSchemaFromZod<TOutput, TInput>(schemaCreator: (zImpl: typeof z) => ZodSchema<TOutput, ZodTypeDef, TInput>): PortableSchema<TOutput, TInput>;
|
|
276
|
-
|
|
277
265
|
/**
|
|
278
266
|
* Utility type to expand type aliases into their equivalent type.
|
|
279
267
|
* @ignore
|
|
@@ -295,46 +283,32 @@ type CoreErrorBoundaryFallbackProps = {
|
|
|
295
283
|
};
|
|
296
284
|
|
|
297
285
|
/** @public */
|
|
298
|
-
interface ExtensionInput<
|
|
286
|
+
interface ExtensionInput<UExtensionData extends ExtensionDataRef<unknown, string, {
|
|
299
287
|
optional?: true;
|
|
300
288
|
}>, TConfig extends {
|
|
301
289
|
singleton: boolean;
|
|
302
290
|
optional: boolean;
|
|
303
291
|
}> {
|
|
304
292
|
$$type: '@backstage/ExtensionInput';
|
|
305
|
-
extensionData: Array<
|
|
306
|
-
config: TConfig;
|
|
307
|
-
}
|
|
308
|
-
/**
|
|
309
|
-
* @public
|
|
310
|
-
* @deprecated This type will be removed. Use `ExtensionInput` instead.
|
|
311
|
-
*/
|
|
312
|
-
interface LegacyExtensionInput<TExtensionDataMap extends AnyExtensionDataMap, TConfig extends {
|
|
313
|
-
singleton: boolean;
|
|
314
|
-
optional: boolean;
|
|
315
|
-
}> {
|
|
316
|
-
$$type: '@backstage/ExtensionInput';
|
|
317
|
-
extensionData: TExtensionDataMap;
|
|
293
|
+
extensionData: Array<UExtensionData>;
|
|
318
294
|
config: TConfig;
|
|
295
|
+
replaces?: Array<{
|
|
296
|
+
id: string;
|
|
297
|
+
input: string;
|
|
298
|
+
}>;
|
|
319
299
|
}
|
|
320
|
-
/**
|
|
321
|
-
* @public
|
|
322
|
-
* @deprecated Use the following form instead: `createExtensionInput([dataRef1, dataRef2])`
|
|
323
|
-
*/
|
|
324
|
-
declare function createExtensionInput<TExtensionDataMap extends AnyExtensionDataMap, TConfig extends {
|
|
325
|
-
singleton?: boolean;
|
|
326
|
-
optional?: boolean;
|
|
327
|
-
}>(extensionData: TExtensionDataMap, config?: TConfig): LegacyExtensionInput<TExtensionDataMap, {
|
|
328
|
-
singleton: TConfig['singleton'] extends true ? true : false;
|
|
329
|
-
optional: TConfig['optional'] extends true ? true : false;
|
|
330
|
-
}>;
|
|
331
300
|
/** @public */
|
|
332
301
|
declare function createExtensionInput<UExtensionData extends ExtensionDataRef<unknown, string, {
|
|
333
302
|
optional?: true;
|
|
334
303
|
}>, TConfig extends {
|
|
335
304
|
singleton?: boolean;
|
|
336
305
|
optional?: boolean;
|
|
337
|
-
}>(extensionData: Array<UExtensionData>, config?: TConfig
|
|
306
|
+
}>(extensionData: Array<UExtensionData>, config?: TConfig & {
|
|
307
|
+
replaces?: Array<{
|
|
308
|
+
id: string;
|
|
309
|
+
input: string;
|
|
310
|
+
}>;
|
|
311
|
+
}): ExtensionInput<UExtensionData, {
|
|
338
312
|
singleton: TConfig['singleton'] extends true ? true : false;
|
|
339
313
|
optional: TConfig['optional'] extends true ? true : false;
|
|
340
314
|
}>;
|
|
@@ -373,78 +347,22 @@ type ExtensionDataContainer<UExtensionData extends AnyExtensionDataRef> = Iterab
|
|
|
373
347
|
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
348
|
};
|
|
375
349
|
|
|
376
|
-
/**
|
|
377
|
-
* @public
|
|
378
|
-
* @deprecated Extension data maps will be removed.
|
|
379
|
-
*/
|
|
380
|
-
type AnyExtensionDataMap = {
|
|
381
|
-
[name in string]: AnyExtensionDataRef;
|
|
382
|
-
};
|
|
383
|
-
/**
|
|
384
|
-
* @public
|
|
385
|
-
* @deprecated This type will be removed.
|
|
386
|
-
*/
|
|
387
|
-
type AnyExtensionInputMap = {
|
|
388
|
-
[inputName in string]: LegacyExtensionInput<AnyExtensionDataMap, {
|
|
389
|
-
optional: boolean;
|
|
390
|
-
singleton: boolean;
|
|
391
|
-
}>;
|
|
392
|
-
};
|
|
393
|
-
/**
|
|
394
|
-
* Converts an extension data map into the matching concrete data values type.
|
|
395
|
-
* @public
|
|
396
|
-
* @deprecated Extension data maps will be removed.
|
|
397
|
-
*/
|
|
398
|
-
type ExtensionDataValues<TExtensionData extends AnyExtensionDataMap> = {
|
|
399
|
-
[DataName in keyof TExtensionData as TExtensionData[DataName]['config'] extends {
|
|
400
|
-
optional: true;
|
|
401
|
-
} ? never : DataName]: TExtensionData[DataName]['T'];
|
|
402
|
-
} & {
|
|
403
|
-
[DataName in keyof TExtensionData as TExtensionData[DataName]['config'] extends {
|
|
404
|
-
optional: true;
|
|
405
|
-
} ? DataName : never]?: TExtensionData[DataName]['T'];
|
|
406
|
-
};
|
|
407
350
|
/**
|
|
408
351
|
* Convert a single extension input into a matching resolved input.
|
|
409
352
|
* @public
|
|
410
353
|
*/
|
|
411
354
|
type ResolvedExtensionInput<TExtensionInput extends ExtensionInput<any, any>> = TExtensionInput['extensionData'] extends Array<AnyExtensionDataRef> ? {
|
|
412
355
|
node: AppNode;
|
|
413
|
-
} & ExtensionDataContainer<TExtensionInput['extensionData'][number]> :
|
|
414
|
-
node: AppNode;
|
|
415
|
-
output: ExtensionDataValues<TExtensionInput['extensionData']>;
|
|
416
|
-
} : never;
|
|
356
|
+
} & ExtensionDataContainer<TExtensionInput['extensionData'][number]> : never;
|
|
417
357
|
/**
|
|
418
358
|
* Converts an extension input map into a matching collection of resolved inputs.
|
|
419
359
|
* @public
|
|
420
360
|
*/
|
|
421
361
|
type ResolvedExtensionInputs<TInputs extends {
|
|
422
|
-
[name in string]: ExtensionInput<any, any
|
|
362
|
+
[name in string]: ExtensionInput<any, any>;
|
|
423
363
|
}> = {
|
|
424
364
|
[InputName in keyof TInputs]: false extends TInputs[InputName]['config']['singleton'] ? Array<Expand<ResolvedExtensionInput<TInputs[InputName]>>> : false extends TInputs[InputName]['config']['optional'] ? Expand<ResolvedExtensionInput<TInputs[InputName]>> : Expand<ResolvedExtensionInput<TInputs[InputName]> | undefined>;
|
|
425
365
|
};
|
|
426
|
-
/**
|
|
427
|
-
* @public
|
|
428
|
-
* @deprecated This way of structuring the options is deprecated, this type will be removed in the future
|
|
429
|
-
*/
|
|
430
|
-
interface LegacyCreateExtensionOptions<TOutput extends AnyExtensionDataMap, TInputs extends AnyExtensionInputMap, TConfig, TConfigInput> {
|
|
431
|
-
kind?: string;
|
|
432
|
-
namespace?: string;
|
|
433
|
-
name?: string;
|
|
434
|
-
attachTo: {
|
|
435
|
-
id: string;
|
|
436
|
-
input: string;
|
|
437
|
-
};
|
|
438
|
-
disabled?: boolean;
|
|
439
|
-
inputs?: TInputs;
|
|
440
|
-
output: TOutput;
|
|
441
|
-
configSchema?: PortableSchema<TConfig, TConfigInput>;
|
|
442
|
-
factory(context: {
|
|
443
|
-
node: AppNode;
|
|
444
|
-
config: TConfig;
|
|
445
|
-
inputs: Expand<ResolvedExtensionInputs<TInputs>>;
|
|
446
|
-
}): Expand<ExtensionDataValues<TOutput>>;
|
|
447
|
-
}
|
|
448
366
|
type ToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
|
|
449
367
|
type PopUnion<U> = ToIntersection<U extends any ? () => U : never> extends () => infer R ? [rest: Exclude<U, R>, next: R] : undefined;
|
|
450
368
|
/** @ignore */
|
|
@@ -475,6 +393,7 @@ type CreateExtensionOptions<TKind extends string | undefined, TNamespace extends
|
|
|
475
393
|
};
|
|
476
394
|
factory(context: {
|
|
477
395
|
node: AppNode;
|
|
396
|
+
apis: ApiHolder;
|
|
478
397
|
config: {
|
|
479
398
|
[key in keyof TConfigSchema]: z.infer<ReturnType<TConfigSchema[key]>>;
|
|
480
399
|
};
|
|
@@ -482,30 +401,28 @@ type CreateExtensionOptions<TKind extends string | undefined, TNamespace extends
|
|
|
482
401
|
}): Iterable<UFactoryOutput>;
|
|
483
402
|
} & VerifyExtensionFactoryOutput<UOutput, UFactoryOutput>;
|
|
484
403
|
/** @public */
|
|
485
|
-
|
|
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
|
-
} = {
|
|
404
|
+
type ExtensionDefinitionParameters = {
|
|
495
405
|
kind?: string;
|
|
496
406
|
namespace?: string;
|
|
497
407
|
name?: string;
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
readonly kind?: TIdParts['kind'];
|
|
501
|
-
readonly namespace?: TIdParts['namespace'];
|
|
502
|
-
readonly name?: TIdParts['name'];
|
|
503
|
-
readonly attachTo: {
|
|
504
|
-
id: string;
|
|
505
|
-
input: string;
|
|
408
|
+
configInput?: {
|
|
409
|
+
[K in string]: any;
|
|
506
410
|
};
|
|
507
|
-
|
|
508
|
-
|
|
411
|
+
config?: {
|
|
412
|
+
[K in string]: any;
|
|
413
|
+
};
|
|
414
|
+
output?: AnyExtensionDataRef;
|
|
415
|
+
inputs?: {
|
|
416
|
+
[KName in string]: ExtensionInput<AnyExtensionDataRef, {
|
|
417
|
+
optional: boolean;
|
|
418
|
+
singleton: boolean;
|
|
419
|
+
}>;
|
|
420
|
+
};
|
|
421
|
+
};
|
|
422
|
+
/** @public */
|
|
423
|
+
type ExtensionDefinition<T extends ExtensionDefinitionParameters = ExtensionDefinitionParameters> = {
|
|
424
|
+
$$type: '@backstage/ExtensionDefinition';
|
|
425
|
+
readonly T: T;
|
|
509
426
|
override<TExtensionConfigSchema extends {
|
|
510
427
|
[key in string]: (zImpl: typeof z) => z.ZodType;
|
|
511
428
|
}, UFactoryOutput extends ExtensionDataValue<any, any>, UNewOutput extends AnyExtensionDataRef, TExtraInputs extends {
|
|
@@ -520,30 +437,39 @@ interface ExtensionDefinition<TConfig, TConfigInput = TConfig, UOutput extends A
|
|
|
520
437
|
};
|
|
521
438
|
disabled?: boolean;
|
|
522
439
|
inputs?: TExtraInputs & {
|
|
523
|
-
[KName in keyof
|
|
440
|
+
[KName in keyof T['inputs']]?: `Error: Input '${KName & string}' is already defined in parent definition`;
|
|
524
441
|
};
|
|
525
442
|
output?: Array<UNewOutput>;
|
|
526
443
|
config?: {
|
|
527
444
|
schema: TExtensionConfigSchema & {
|
|
528
|
-
[KName in keyof
|
|
445
|
+
[KName in keyof T['config']]?: `Error: Config key '${KName & string}' is already defined in parent schema`;
|
|
529
446
|
};
|
|
530
447
|
};
|
|
531
448
|
factory(originalFactory: (context?: {
|
|
532
|
-
config?:
|
|
533
|
-
inputs?: ResolveInputValueOverrides<
|
|
534
|
-
}) => ExtensionDataContainer<
|
|
449
|
+
config?: T['config'];
|
|
450
|
+
inputs?: ResolveInputValueOverrides<NonNullable<T['inputs']>>;
|
|
451
|
+
}) => ExtensionDataContainer<NonNullable<T['output']>>, context: {
|
|
535
452
|
node: AppNode;
|
|
536
|
-
|
|
453
|
+
apis: ApiHolder;
|
|
454
|
+
config: T['config'] & {
|
|
537
455
|
[key in keyof TExtensionConfigSchema]: z.infer<ReturnType<TExtensionConfigSchema[key]>>;
|
|
538
456
|
};
|
|
539
|
-
inputs: Expand<ResolvedExtensionInputs<
|
|
457
|
+
inputs: Expand<ResolvedExtensionInputs<T['inputs'] & TExtraInputs>>;
|
|
540
458
|
}): Iterable<UFactoryOutput>;
|
|
541
|
-
} & VerifyExtensionFactoryOutput<AnyExtensionDataRef extends UNewOutput ?
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
459
|
+
} & VerifyExtensionFactoryOutput<AnyExtensionDataRef extends UNewOutput ? NonNullable<T['output']> : UNewOutput, UFactoryOutput>): ExtensionDefinition<{
|
|
460
|
+
kind: T['kind'];
|
|
461
|
+
namespace: T['namespace'];
|
|
462
|
+
name: T['name'];
|
|
463
|
+
output: AnyExtensionDataRef extends UNewOutput ? T['output'] : UNewOutput;
|
|
464
|
+
inputs: T['inputs'] & TExtraInputs;
|
|
465
|
+
config: T['config'] & {
|
|
466
|
+
[key in keyof TExtensionConfigSchema]: z.infer<ReturnType<TExtensionConfigSchema[key]>>;
|
|
467
|
+
};
|
|
468
|
+
configInput: T['configInput'] & z.input<z.ZodObject<{
|
|
469
|
+
[key in keyof TExtensionConfigSchema]: ReturnType<TExtensionConfigSchema[key]>;
|
|
470
|
+
}>>;
|
|
471
|
+
}>;
|
|
472
|
+
};
|
|
547
473
|
/** @public */
|
|
548
474
|
declare function createExtension<UOutput extends AnyExtensionDataRef, TInputs extends {
|
|
549
475
|
[inputName in string]: ExtensionInput<AnyExtensionDataRef, {
|
|
@@ -552,20 +478,49 @@ declare function createExtension<UOutput extends AnyExtensionDataRef, TInputs ex
|
|
|
552
478
|
}>;
|
|
553
479
|
}, TConfigSchema extends {
|
|
554
480
|
[key: string]: (zImpl: typeof z) => z.ZodType;
|
|
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,
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
481
|
+
}, 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, undefined, TName, UOutput, TInputs, TConfigSchema, UFactoryOutput>): ExtensionDefinition<{
|
|
482
|
+
config: string extends keyof TConfigSchema ? {} : {
|
|
483
|
+
[key in keyof TConfigSchema]: z.infer<ReturnType<TConfigSchema[key]>>;
|
|
484
|
+
};
|
|
485
|
+
configInput: string extends keyof TConfigSchema ? {} : z.input<z.ZodObject<{
|
|
486
|
+
[key in keyof TConfigSchema]: ReturnType<TConfigSchema[key]>;
|
|
487
|
+
}>>;
|
|
488
|
+
output: UOutput;
|
|
489
|
+
inputs: TInputs;
|
|
560
490
|
kind: string | undefined extends TKind ? undefined : TKind;
|
|
561
491
|
namespace: string | undefined extends TNamespace ? undefined : TNamespace;
|
|
562
492
|
name: string | undefined extends TName ? undefined : TName;
|
|
563
493
|
}>;
|
|
564
494
|
/**
|
|
565
495
|
* @public
|
|
566
|
-
* @deprecated
|
|
496
|
+
* @deprecated namespace is no longer required, you can safely remove this option and it will default to the `pluginId`. It will be removed in a future release.
|
|
567
497
|
*/
|
|
568
|
-
declare function createExtension<
|
|
498
|
+
declare function createExtension<UOutput extends AnyExtensionDataRef, TInputs extends {
|
|
499
|
+
[inputName in string]: ExtensionInput<AnyExtensionDataRef, {
|
|
500
|
+
optional: boolean;
|
|
501
|
+
singleton: boolean;
|
|
502
|
+
}>;
|
|
503
|
+
}, TConfigSchema extends {
|
|
504
|
+
[key: string]: (zImpl: typeof z) => z.ZodType;
|
|
505
|
+
}, 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<{
|
|
506
|
+
config: string extends keyof TConfigSchema ? {} : {
|
|
507
|
+
[key in keyof TConfigSchema]: z.infer<ReturnType<TConfigSchema[key]>>;
|
|
508
|
+
};
|
|
509
|
+
configInput: string extends keyof TConfigSchema ? {} : z.input<z.ZodObject<{
|
|
510
|
+
[key in keyof TConfigSchema]: ReturnType<TConfigSchema[key]>;
|
|
511
|
+
}>>;
|
|
512
|
+
output: UOutput;
|
|
513
|
+
inputs: TInputs;
|
|
514
|
+
kind: string | undefined extends TKind ? undefined : TKind;
|
|
515
|
+
namespace: string | undefined extends TNamespace ? undefined : TNamespace;
|
|
516
|
+
name: string | undefined extends TName ? undefined : TName;
|
|
517
|
+
}>;
|
|
518
|
+
|
|
519
|
+
/** @public */
|
|
520
|
+
type PortableSchema<TOutput, TInput = TOutput> = {
|
|
521
|
+
parse: (input: TInput) => TOutput;
|
|
522
|
+
schema: JsonObject;
|
|
523
|
+
};
|
|
569
524
|
|
|
570
525
|
/** @public */
|
|
571
526
|
interface Extension<TConfig, TConfigInput = TConfig> {
|
|
@@ -579,7 +534,7 @@ interface Extension<TConfig, TConfigInput = TConfig> {
|
|
|
579
534
|
readonly configSchema?: PortableSchema<TConfig, TConfigInput>;
|
|
580
535
|
}
|
|
581
536
|
/** @ignore */
|
|
582
|
-
type ResolveExtensionId<TExtension extends ExtensionDefinition
|
|
537
|
+
type ResolveExtensionId<TExtension extends ExtensionDefinition, TDefaultNamespace extends string | undefined> = TExtension extends ExtensionDefinition<{
|
|
583
538
|
kind: infer IKind extends string | undefined;
|
|
584
539
|
namespace: infer INamespace extends string | undefined;
|
|
585
540
|
name: infer IName extends string | undefined;
|
|
@@ -603,27 +558,37 @@ type AnyExternalRoutes = {
|
|
|
603
558
|
[name in string]: ExternalRouteRef;
|
|
604
559
|
};
|
|
605
560
|
/** @public */
|
|
606
|
-
interface
|
|
607
|
-
|
|
561
|
+
interface ExtensionOverrides {
|
|
562
|
+
readonly $$type: '@backstage/ExtensionOverrides';
|
|
563
|
+
}
|
|
564
|
+
/**
|
|
565
|
+
* @public
|
|
566
|
+
* @deprecated import from {@link @backstage/frontend-app-api#FrontendFeature} instead
|
|
567
|
+
*/
|
|
568
|
+
type FrontendFeature = FrontendPlugin | ExtensionOverrides;
|
|
569
|
+
|
|
570
|
+
/** @public */
|
|
571
|
+
interface FrontendPlugin<TRoutes extends AnyRoutes = AnyRoutes, TExternalRoutes extends AnyExternalRoutes = AnyExternalRoutes, TExtensionMap extends {
|
|
572
|
+
[id in string]: ExtensionDefinition;
|
|
608
573
|
} = {}> {
|
|
609
|
-
readonly $$type: '@backstage/
|
|
574
|
+
readonly $$type: '@backstage/FrontendPlugin';
|
|
610
575
|
readonly id: string;
|
|
611
576
|
readonly routes: TRoutes;
|
|
612
577
|
readonly externalRoutes: TExternalRoutes;
|
|
613
578
|
getExtension<TId extends keyof TExtensionMap>(id: TId): TExtensionMap[TId];
|
|
614
579
|
withOverrides(options: {
|
|
615
|
-
extensions: Array<ExtensionDefinition
|
|
616
|
-
}):
|
|
617
|
-
}
|
|
618
|
-
/** @public */
|
|
619
|
-
interface ExtensionOverrides {
|
|
620
|
-
readonly $$type: '@backstage/ExtensionOverrides';
|
|
580
|
+
extensions: Array<ExtensionDefinition>;
|
|
581
|
+
}): FrontendPlugin<TRoutes, TExternalRoutes, TExtensionMap>;
|
|
621
582
|
}
|
|
583
|
+
/**
|
|
584
|
+
* @public
|
|
585
|
+
* @deprecated Use {@link FrontendPlugin} instead.
|
|
586
|
+
*/
|
|
587
|
+
type BackstagePlugin<TRoutes extends AnyRoutes = AnyRoutes, TExternalRoutes extends AnyExternalRoutes = AnyExternalRoutes, TExtensionMap extends {
|
|
588
|
+
[id in string]: ExtensionDefinition;
|
|
589
|
+
} = {}> = FrontendPlugin<TRoutes, TExternalRoutes, TExtensionMap>;
|
|
622
590
|
/** @public */
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
/** @public */
|
|
626
|
-
interface PluginOptions<TId extends string, TRoutes extends AnyRoutes, TExternalRoutes extends AnyExternalRoutes, TExtensions extends readonly ExtensionDefinition<any, any>[]> {
|
|
591
|
+
interface PluginOptions<TId extends string, TRoutes extends AnyRoutes, TExternalRoutes extends AnyExternalRoutes, TExtensions extends readonly ExtensionDefinition[]> {
|
|
627
592
|
id: TId;
|
|
628
593
|
routes?: TRoutes;
|
|
629
594
|
externalRoutes?: TExternalRoutes;
|
|
@@ -631,7 +596,7 @@ interface PluginOptions<TId extends string, TRoutes extends AnyRoutes, TExternal
|
|
|
631
596
|
featureFlags?: FeatureFlagConfig[];
|
|
632
597
|
}
|
|
633
598
|
/** @public */
|
|
634
|
-
declare function createFrontendPlugin<TId extends string, TRoutes extends AnyRoutes = {}, TExternalRoutes extends AnyExternalRoutes = {}, TExtensions extends readonly ExtensionDefinition
|
|
599
|
+
declare function createFrontendPlugin<TId extends string, TRoutes extends AnyRoutes = {}, TExternalRoutes extends AnyExternalRoutes = {}, TExtensions extends readonly ExtensionDefinition[] = []>(options: PluginOptions<TId, TRoutes, TExternalRoutes, TExtensions>): FrontendPlugin<TRoutes, TExternalRoutes, {
|
|
635
600
|
[KExtension in TExtensions[number] as ResolveExtensionId<KExtension, TId>]: KExtension;
|
|
636
601
|
}>;
|
|
637
602
|
/**
|
|
@@ -641,11 +606,31 @@ declare function createFrontendPlugin<TId extends string, TRoutes extends AnyRou
|
|
|
641
606
|
declare const createPlugin: typeof createFrontendPlugin;
|
|
642
607
|
|
|
643
608
|
/** @public */
|
|
644
|
-
interface
|
|
645
|
-
|
|
609
|
+
interface CreateFrontendModuleOptions<TPluginId extends string, TExtensions extends readonly ExtensionDefinition[]> {
|
|
610
|
+
pluginId: TPluginId;
|
|
611
|
+
extensions?: TExtensions;
|
|
646
612
|
featureFlags?: FeatureFlagConfig[];
|
|
647
613
|
}
|
|
648
614
|
/** @public */
|
|
615
|
+
interface FrontendModule {
|
|
616
|
+
readonly $$type: '@backstage/FrontendModule';
|
|
617
|
+
readonly pluginId: string;
|
|
618
|
+
}
|
|
619
|
+
/** @public */
|
|
620
|
+
declare function createFrontendModule<TId extends string, TExtensions extends readonly ExtensionDefinition[] = []>(options: CreateFrontendModuleOptions<TId, TExtensions>): FrontendModule;
|
|
621
|
+
|
|
622
|
+
/**
|
|
623
|
+
* @deprecated Use {@link createFrontendModule} instead.
|
|
624
|
+
* @public
|
|
625
|
+
*/
|
|
626
|
+
interface ExtensionOverridesOptions {
|
|
627
|
+
extensions: ExtensionDefinition[];
|
|
628
|
+
featureFlags?: FeatureFlagConfig[];
|
|
629
|
+
}
|
|
630
|
+
/**
|
|
631
|
+
* @deprecated Use {@link createFrontendModule} instead.
|
|
632
|
+
* @public
|
|
633
|
+
*/
|
|
649
634
|
declare function createExtensionOverrides(options: ExtensionOverridesOptions): ExtensionOverrides;
|
|
650
635
|
|
|
651
636
|
/**
|
|
@@ -676,6 +661,7 @@ type CreateExtensionBlueprintOptions<TKind extends string, TNamespace extends st
|
|
|
676
661
|
};
|
|
677
662
|
factory(params: TParams, context: {
|
|
678
663
|
node: AppNode;
|
|
664
|
+
apis: ApiHolder;
|
|
679
665
|
config: {
|
|
680
666
|
[key in keyof TConfigSchema]: z.infer<ReturnType<TConfigSchema[key]>>;
|
|
681
667
|
};
|
|
@@ -683,26 +669,53 @@ type CreateExtensionBlueprintOptions<TKind extends string, TNamespace extends st
|
|
|
683
669
|
}): Iterable<UFactoryOutput>;
|
|
684
670
|
dataRefs?: TDataRefs;
|
|
685
671
|
} & VerifyExtensionFactoryOutput<UOutput, UFactoryOutput>;
|
|
686
|
-
/**
|
|
687
|
-
|
|
688
|
-
*/
|
|
689
|
-
interface ExtensionBlueprint<TIdParts extends {
|
|
672
|
+
/** @public */
|
|
673
|
+
type ExtensionBlueprintParameters = {
|
|
690
674
|
kind: string;
|
|
691
675
|
namespace?: string;
|
|
692
676
|
name?: string;
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
677
|
+
params?: object;
|
|
678
|
+
configInput?: {
|
|
679
|
+
[K in string]: any;
|
|
680
|
+
};
|
|
681
|
+
config?: {
|
|
682
|
+
[K in string]: any;
|
|
683
|
+
};
|
|
684
|
+
output?: AnyExtensionDataRef;
|
|
685
|
+
inputs?: {
|
|
686
|
+
[KName in string]: ExtensionInput<AnyExtensionDataRef, {
|
|
687
|
+
optional: boolean;
|
|
688
|
+
singleton: boolean;
|
|
689
|
+
}>;
|
|
690
|
+
};
|
|
691
|
+
dataRefs?: {
|
|
692
|
+
[name in string]: AnyExtensionDataRef;
|
|
693
|
+
};
|
|
694
|
+
};
|
|
695
|
+
/**
|
|
696
|
+
* @public
|
|
697
|
+
*/
|
|
698
|
+
interface ExtensionBlueprint<T extends ExtensionBlueprintParameters = ExtensionBlueprintParameters> {
|
|
699
|
+
dataRefs: T['dataRefs'];
|
|
700
|
+
make<TNewNamespace extends string | undefined, TNewName extends string | undefined>(args: {
|
|
701
|
+
namespace?: undefined;
|
|
702
|
+
name?: TNewName;
|
|
703
|
+
attachTo?: {
|
|
704
|
+
id: string;
|
|
705
|
+
input: string;
|
|
706
|
+
};
|
|
707
|
+
disabled?: boolean;
|
|
708
|
+
params: T['params'];
|
|
709
|
+
}): ExtensionDefinition<{
|
|
710
|
+
kind: T['kind'];
|
|
711
|
+
namespace: undefined;
|
|
712
|
+
name: string | undefined extends TNewName ? T['name'] : TNewName;
|
|
713
|
+
config: T['config'];
|
|
714
|
+
configInput: T['configInput'];
|
|
715
|
+
output: T['output'];
|
|
716
|
+
inputs: T['inputs'];
|
|
697
717
|
}>;
|
|
698
|
-
|
|
699
|
-
[key in string]: unknown;
|
|
700
|
-
}, TConfigInput extends {
|
|
701
|
-
[key in string]: unknown;
|
|
702
|
-
}, TDataRefs extends {
|
|
703
|
-
[name in string]: AnyExtensionDataRef;
|
|
704
|
-
}> {
|
|
705
|
-
dataRefs: TDataRefs;
|
|
718
|
+
/** @deprecated namespace is no longer required, you can safely remove this option and it will default to the `pluginId`. It will be removed in a future release. */
|
|
706
719
|
make<TNewNamespace extends string | undefined, TNewName extends string | undefined>(args: {
|
|
707
720
|
namespace?: TNewNamespace;
|
|
708
721
|
name?: TNewName;
|
|
@@ -711,11 +724,15 @@ interface ExtensionBlueprint<TIdParts extends {
|
|
|
711
724
|
input: string;
|
|
712
725
|
};
|
|
713
726
|
disabled?: boolean;
|
|
714
|
-
params:
|
|
715
|
-
}): ExtensionDefinition<
|
|
716
|
-
kind:
|
|
717
|
-
namespace: string | undefined extends TNewNamespace ?
|
|
718
|
-
name: string | undefined extends TNewName ?
|
|
727
|
+
params: T['params'];
|
|
728
|
+
}): ExtensionDefinition<{
|
|
729
|
+
kind: T['kind'];
|
|
730
|
+
namespace: string | undefined extends TNewNamespace ? T['namespace'] : TNewNamespace;
|
|
731
|
+
name: string | undefined extends TNewName ? T['name'] : TNewName;
|
|
732
|
+
config: T['config'];
|
|
733
|
+
configInput: T['configInput'];
|
|
734
|
+
output: T['output'];
|
|
735
|
+
inputs: T['inputs'];
|
|
719
736
|
}>;
|
|
720
737
|
/**
|
|
721
738
|
* Creates a new extension from the blueprint.
|
|
@@ -731,7 +748,56 @@ interface ExtensionBlueprint<TIdParts extends {
|
|
|
731
748
|
singleton: boolean;
|
|
732
749
|
}>;
|
|
733
750
|
}>(args: {
|
|
734
|
-
namespace?:
|
|
751
|
+
namespace?: undefined;
|
|
752
|
+
name?: TNewName;
|
|
753
|
+
attachTo?: {
|
|
754
|
+
id: string;
|
|
755
|
+
input: string;
|
|
756
|
+
};
|
|
757
|
+
disabled?: boolean;
|
|
758
|
+
inputs?: TExtraInputs & {
|
|
759
|
+
[KName in keyof T['inputs']]?: `Error: Input '${KName & string}' is already defined in parent definition`;
|
|
760
|
+
};
|
|
761
|
+
output?: Array<UNewOutput>;
|
|
762
|
+
config?: {
|
|
763
|
+
schema: TExtensionConfigSchema & {
|
|
764
|
+
[KName in keyof T['config']]?: `Error: Config key '${KName & string}' is already defined in parent schema`;
|
|
765
|
+
};
|
|
766
|
+
};
|
|
767
|
+
factory(originalFactory: (params: T['params'], context?: {
|
|
768
|
+
config?: T['config'];
|
|
769
|
+
inputs?: ResolveInputValueOverrides<NonNullable<T['inputs']>>;
|
|
770
|
+
}) => ExtensionDataContainer<NonNullable<T['output']>>, context: {
|
|
771
|
+
node: AppNode;
|
|
772
|
+
apis: ApiHolder;
|
|
773
|
+
config: T['config'] & {
|
|
774
|
+
[key in keyof TExtensionConfigSchema]: z.infer<ReturnType<TExtensionConfigSchema[key]>>;
|
|
775
|
+
};
|
|
776
|
+
inputs: Expand<ResolvedExtensionInputs<T['inputs'] & TExtraInputs>>;
|
|
777
|
+
}): Iterable<UFactoryOutput> & VerifyExtensionFactoryOutput<AnyExtensionDataRef extends UNewOutput ? NonNullable<T['output']> : UNewOutput, UFactoryOutput>;
|
|
778
|
+
}): ExtensionDefinition<{
|
|
779
|
+
config: (string extends keyof TExtensionConfigSchema ? {} : {
|
|
780
|
+
[key in keyof TExtensionConfigSchema]: z.infer<ReturnType<TExtensionConfigSchema[key]>>;
|
|
781
|
+
}) & T['config'];
|
|
782
|
+
configInput: (string extends keyof TExtensionConfigSchema ? {} : z.input<z.ZodObject<{
|
|
783
|
+
[key in keyof TExtensionConfigSchema]: ReturnType<TExtensionConfigSchema[key]>;
|
|
784
|
+
}>>) & T['configInput'];
|
|
785
|
+
output: AnyExtensionDataRef extends UNewOutput ? T['output'] : UNewOutput;
|
|
786
|
+
inputs: T['inputs'] & TExtraInputs;
|
|
787
|
+
kind: T['kind'];
|
|
788
|
+
namespace: undefined;
|
|
789
|
+
name: string | undefined extends TNewName ? T['name'] : TNewName;
|
|
790
|
+
}>;
|
|
791
|
+
/** @deprecated namespace is no longer required, you can safely remove this option and it will default to the `pluginId`. It will be removed in a future release. */
|
|
792
|
+
makeWithOverrides<TNewNamespace extends string | undefined, TNewName extends string | undefined, TExtensionConfigSchema extends {
|
|
793
|
+
[key in string]: (zImpl: typeof z) => z.ZodType;
|
|
794
|
+
}, UFactoryOutput extends ExtensionDataValue<any, any>, UNewOutput extends AnyExtensionDataRef, TExtraInputs extends {
|
|
795
|
+
[inputName in string]: ExtensionInput<AnyExtensionDataRef, {
|
|
796
|
+
optional: boolean;
|
|
797
|
+
singleton: boolean;
|
|
798
|
+
}>;
|
|
799
|
+
}>(args: {
|
|
800
|
+
namespace: TNewNamespace;
|
|
735
801
|
name?: TNewName;
|
|
736
802
|
attachTo?: {
|
|
737
803
|
id: string;
|
|
@@ -739,32 +805,37 @@ interface ExtensionBlueprint<TIdParts extends {
|
|
|
739
805
|
};
|
|
740
806
|
disabled?: boolean;
|
|
741
807
|
inputs?: TExtraInputs & {
|
|
742
|
-
[KName in keyof
|
|
808
|
+
[KName in keyof T['inputs']]?: `Error: Input '${KName & string}' is already defined in parent definition`;
|
|
743
809
|
};
|
|
744
810
|
output?: Array<UNewOutput>;
|
|
745
811
|
config?: {
|
|
746
812
|
schema: TExtensionConfigSchema & {
|
|
747
|
-
[KName in keyof
|
|
813
|
+
[KName in keyof T['config']]?: `Error: Config key '${KName & string}' is already defined in parent schema`;
|
|
748
814
|
};
|
|
749
815
|
};
|
|
750
|
-
factory(originalFactory: (params:
|
|
751
|
-
config?:
|
|
752
|
-
inputs?: ResolveInputValueOverrides<
|
|
753
|
-
}) => ExtensionDataContainer<
|
|
816
|
+
factory(originalFactory: (params: T['params'], context?: {
|
|
817
|
+
config?: T['config'];
|
|
818
|
+
inputs?: ResolveInputValueOverrides<NonNullable<T['inputs']>>;
|
|
819
|
+
}) => ExtensionDataContainer<NonNullable<T['output']>>, context: {
|
|
754
820
|
node: AppNode;
|
|
755
|
-
|
|
821
|
+
apis: ApiHolder;
|
|
822
|
+
config: T['config'] & {
|
|
756
823
|
[key in keyof TExtensionConfigSchema]: z.infer<ReturnType<TExtensionConfigSchema[key]>>;
|
|
757
824
|
};
|
|
758
|
-
inputs: Expand<ResolvedExtensionInputs<
|
|
759
|
-
}): Iterable<UFactoryOutput> & VerifyExtensionFactoryOutput<AnyExtensionDataRef extends UNewOutput ?
|
|
825
|
+
inputs: Expand<ResolvedExtensionInputs<T['inputs'] & TExtraInputs>>;
|
|
826
|
+
}): Iterable<UFactoryOutput> & VerifyExtensionFactoryOutput<AnyExtensionDataRef extends UNewOutput ? NonNullable<T['output']> : UNewOutput, UFactoryOutput>;
|
|
760
827
|
}): ExtensionDefinition<{
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
828
|
+
config: (string extends keyof TExtensionConfigSchema ? {} : {
|
|
829
|
+
[key in keyof TExtensionConfigSchema]: z.infer<ReturnType<TExtensionConfigSchema[key]>>;
|
|
830
|
+
}) & T['config'];
|
|
831
|
+
configInput: (string extends keyof TExtensionConfigSchema ? {} : z.input<z.ZodObject<{
|
|
832
|
+
[key in keyof TExtensionConfigSchema]: ReturnType<TExtensionConfigSchema[key]>;
|
|
833
|
+
}>>) & T['configInput'];
|
|
834
|
+
output: AnyExtensionDataRef extends UNewOutput ? T['output'] : UNewOutput;
|
|
835
|
+
inputs: T['inputs'] & TExtraInputs;
|
|
836
|
+
kind: T['kind'];
|
|
837
|
+
namespace: string | undefined extends TNewNamespace ? T['namespace'] : TNewNamespace;
|
|
838
|
+
name: string | undefined extends TNewName ? T['name'] : TNewName;
|
|
768
839
|
}>;
|
|
769
840
|
}
|
|
770
841
|
/**
|
|
@@ -773,7 +844,35 @@ interface ExtensionBlueprint<TIdParts extends {
|
|
|
773
844
|
*
|
|
774
845
|
* @public
|
|
775
846
|
*/
|
|
776
|
-
declare function createExtensionBlueprint<TParams, UOutput extends AnyExtensionDataRef, TInputs extends {
|
|
847
|
+
declare function createExtensionBlueprint<TParams extends object, UOutput extends AnyExtensionDataRef, TInputs extends {
|
|
848
|
+
[inputName in string]: ExtensionInput<AnyExtensionDataRef, {
|
|
849
|
+
optional: boolean;
|
|
850
|
+
singleton: boolean;
|
|
851
|
+
}>;
|
|
852
|
+
}, TConfigSchema extends {
|
|
853
|
+
[key in string]: (zImpl: typeof z) => z.ZodType;
|
|
854
|
+
}, UFactoryOutput extends ExtensionDataValue<any, any>, TKind extends string, TNamespace extends undefined = undefined, TName extends string | undefined = undefined, TDataRefs extends {
|
|
855
|
+
[name in string]: AnyExtensionDataRef;
|
|
856
|
+
} = never>(options: CreateExtensionBlueprintOptions<TKind, undefined, TName, TParams, UOutput, TInputs, TConfigSchema, UFactoryOutput, TDataRefs>): ExtensionBlueprint<{
|
|
857
|
+
kind: TKind;
|
|
858
|
+
namespace: undefined;
|
|
859
|
+
name: TName;
|
|
860
|
+
params: TParams;
|
|
861
|
+
output: UOutput;
|
|
862
|
+
inputs: string extends keyof TInputs ? {} : TInputs;
|
|
863
|
+
config: string extends keyof TConfigSchema ? {} : {
|
|
864
|
+
[key in keyof TConfigSchema]: z.infer<ReturnType<TConfigSchema[key]>>;
|
|
865
|
+
};
|
|
866
|
+
configInput: string extends keyof TConfigSchema ? {} : z.input<z.ZodObject<{
|
|
867
|
+
[key in keyof TConfigSchema]: ReturnType<TConfigSchema[key]>;
|
|
868
|
+
}>>;
|
|
869
|
+
dataRefs: TDataRefs;
|
|
870
|
+
}>;
|
|
871
|
+
/**
|
|
872
|
+
* @public
|
|
873
|
+
* @deprecated the namespace is no longer required, you can safely remove this option and it will default to the `pluginId`. It will be removed in a future release.
|
|
874
|
+
*/
|
|
875
|
+
declare function createExtensionBlueprint<TParams extends object, UOutput extends AnyExtensionDataRef, TInputs extends {
|
|
777
876
|
[inputName in string]: ExtensionInput<AnyExtensionDataRef, {
|
|
778
877
|
optional: boolean;
|
|
779
878
|
singleton: boolean;
|
|
@@ -786,11 +885,17 @@ declare function createExtensionBlueprint<TParams, UOutput extends AnyExtensionD
|
|
|
786
885
|
kind: TKind;
|
|
787
886
|
namespace: TNamespace;
|
|
788
887
|
name: TName;
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
888
|
+
params: TParams;
|
|
889
|
+
output: UOutput;
|
|
890
|
+
inputs: string extends keyof TInputs ? {} : TInputs;
|
|
891
|
+
config: string extends keyof TConfigSchema ? {} : {
|
|
892
|
+
[key in keyof TConfigSchema]: z.infer<ReturnType<TConfigSchema[key]>>;
|
|
893
|
+
};
|
|
894
|
+
configInput: string extends keyof TConfigSchema ? {} : z.input<z.ZodObject<{
|
|
895
|
+
[key in keyof TConfigSchema]: ReturnType<TConfigSchema[key]>;
|
|
896
|
+
}>>;
|
|
897
|
+
dataRefs: TDataRefs;
|
|
898
|
+
}>;
|
|
794
899
|
|
|
795
900
|
/**
|
|
796
901
|
* The specification for this {@link AppNode} in the {@link AppTree}.
|
|
@@ -1135,10 +1240,16 @@ declare const ApiBlueprint: ExtensionBlueprint<{
|
|
|
1135
1240
|
kind: "api";
|
|
1136
1241
|
namespace: undefined;
|
|
1137
1242
|
name: undefined;
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
}
|
|
1141
|
-
|
|
1243
|
+
params: {
|
|
1244
|
+
factory: AnyApiFactory;
|
|
1245
|
+
};
|
|
1246
|
+
output: ConfigurableExtensionDataRef<AnyApiFactory, "core.api.factory", {}>;
|
|
1247
|
+
inputs: {};
|
|
1248
|
+
config: {};
|
|
1249
|
+
configInput: {};
|
|
1250
|
+
dataRefs: {
|
|
1251
|
+
factory: ConfigurableExtensionDataRef<AnyApiFactory, "core.api.factory", {}>;
|
|
1252
|
+
};
|
|
1142
1253
|
}>;
|
|
1143
1254
|
|
|
1144
1255
|
/**
|
|
@@ -1151,9 +1262,15 @@ declare const AppRootElementBlueprint: ExtensionBlueprint<{
|
|
|
1151
1262
|
kind: "app-root-element";
|
|
1152
1263
|
namespace: undefined;
|
|
1153
1264
|
name: undefined;
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
}
|
|
1265
|
+
params: {
|
|
1266
|
+
element: JSX.Element | (() => JSX.Element);
|
|
1267
|
+
};
|
|
1268
|
+
output: ConfigurableExtensionDataRef<React.JSX.Element, "core.reactElement", {}>;
|
|
1269
|
+
inputs: {};
|
|
1270
|
+
config: {};
|
|
1271
|
+
configInput: {};
|
|
1272
|
+
dataRefs: never;
|
|
1273
|
+
}>;
|
|
1157
1274
|
|
|
1158
1275
|
/**
|
|
1159
1276
|
* Creates a extensions that render a React wrapper at the app root, enclosing
|
|
@@ -1166,37 +1283,49 @@ declare const AppRootWrapperBlueprint: ExtensionBlueprint<{
|
|
|
1166
1283
|
kind: "app-root-wrapper";
|
|
1167
1284
|
namespace: undefined;
|
|
1168
1285
|
name: undefined;
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
}
|
|
1172
|
-
|
|
1173
|
-
}>, "app.root.wrapper", {}>, {}, {}, {}, {
|
|
1174
|
-
component: ConfigurableExtensionDataRef<React__default.ComponentType<{
|
|
1286
|
+
params: {
|
|
1287
|
+
Component: ComponentType<PropsWithChildren<{}>>;
|
|
1288
|
+
};
|
|
1289
|
+
output: ConfigurableExtensionDataRef<React__default.ComponentType<{
|
|
1175
1290
|
children?: React__default.ReactNode;
|
|
1176
1291
|
}>, "app.root.wrapper", {}>;
|
|
1292
|
+
inputs: {};
|
|
1293
|
+
config: {};
|
|
1294
|
+
configInput: {};
|
|
1295
|
+
dataRefs: {
|
|
1296
|
+
component: ConfigurableExtensionDataRef<React__default.ComponentType<{
|
|
1297
|
+
children?: React__default.ReactNode;
|
|
1298
|
+
}>, "app.root.wrapper", {}>;
|
|
1299
|
+
};
|
|
1177
1300
|
}>;
|
|
1178
1301
|
|
|
1179
1302
|
/** @public */
|
|
1180
1303
|
declare const IconBundleBlueprint: ExtensionBlueprint<{
|
|
1181
1304
|
kind: "icon-bundle";
|
|
1182
|
-
namespace:
|
|
1305
|
+
namespace: undefined;
|
|
1183
1306
|
name: undefined;
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1307
|
+
params: {
|
|
1308
|
+
icons: {
|
|
1309
|
+
[x: string]: IconComponent;
|
|
1310
|
+
};
|
|
1187
1311
|
};
|
|
1188
|
-
|
|
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<{
|
|
1312
|
+
output: ConfigurableExtensionDataRef<{
|
|
1198
1313
|
[x: string]: IconComponent;
|
|
1199
1314
|
}, "core.icons", {}>;
|
|
1315
|
+
inputs: {};
|
|
1316
|
+
config: {
|
|
1317
|
+
icons: string;
|
|
1318
|
+
test: string;
|
|
1319
|
+
};
|
|
1320
|
+
configInput: {
|
|
1321
|
+
test: string;
|
|
1322
|
+
icons?: string | undefined;
|
|
1323
|
+
};
|
|
1324
|
+
dataRefs: {
|
|
1325
|
+
icons: ConfigurableExtensionDataRef<{
|
|
1326
|
+
[x: string]: IconComponent;
|
|
1327
|
+
}, "core.icons", {}>;
|
|
1328
|
+
};
|
|
1200
1329
|
}>;
|
|
1201
1330
|
|
|
1202
1331
|
/**
|
|
@@ -1208,20 +1337,26 @@ declare const NavItemBlueprint: ExtensionBlueprint<{
|
|
|
1208
1337
|
kind: "nav-item";
|
|
1209
1338
|
namespace: undefined;
|
|
1210
1339
|
name: undefined;
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
}
|
|
1216
|
-
|
|
1217
|
-
icon: IconComponent$1;
|
|
1218
|
-
routeRef: RouteRef<undefined>;
|
|
1219
|
-
}, "core.nav-item.target", {}>, {}, {}, {}, {
|
|
1220
|
-
target: ConfigurableExtensionDataRef<{
|
|
1340
|
+
params: {
|
|
1341
|
+
title: string;
|
|
1342
|
+
icon: IconComponent$1;
|
|
1343
|
+
routeRef: RouteRef<undefined>;
|
|
1344
|
+
};
|
|
1345
|
+
output: ConfigurableExtensionDataRef<{
|
|
1221
1346
|
title: string;
|
|
1222
1347
|
icon: IconComponent$1;
|
|
1223
1348
|
routeRef: RouteRef<undefined>;
|
|
1224
1349
|
}, "core.nav-item.target", {}>;
|
|
1350
|
+
inputs: {};
|
|
1351
|
+
config: {};
|
|
1352
|
+
configInput: {};
|
|
1353
|
+
dataRefs: {
|
|
1354
|
+
target: ConfigurableExtensionDataRef<{
|
|
1355
|
+
title: string;
|
|
1356
|
+
icon: IconComponent$1;
|
|
1357
|
+
routeRef: RouteRef<undefined>;
|
|
1358
|
+
}, "core.nav-item.target", {}>;
|
|
1359
|
+
};
|
|
1225
1360
|
}>;
|
|
1226
1361
|
|
|
1227
1362
|
/**
|
|
@@ -1233,17 +1368,23 @@ declare const NavLogoBlueprint: ExtensionBlueprint<{
|
|
|
1233
1368
|
kind: "nav-logo";
|
|
1234
1369
|
namespace: undefined;
|
|
1235
1370
|
name: undefined;
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
}
|
|
1240
|
-
|
|
1241
|
-
logoFull?: JSX.Element | undefined;
|
|
1242
|
-
}, "core.nav-logo.logo-elements", {}>, {}, {}, {}, {
|
|
1243
|
-
logoElements: ConfigurableExtensionDataRef<{
|
|
1371
|
+
params: {
|
|
1372
|
+
logoIcon: JSX.Element;
|
|
1373
|
+
logoFull: JSX.Element;
|
|
1374
|
+
};
|
|
1375
|
+
output: ConfigurableExtensionDataRef<{
|
|
1244
1376
|
logoIcon?: JSX.Element | undefined;
|
|
1245
1377
|
logoFull?: JSX.Element | undefined;
|
|
1246
1378
|
}, "core.nav-logo.logo-elements", {}>;
|
|
1379
|
+
inputs: {};
|
|
1380
|
+
config: {};
|
|
1381
|
+
configInput: {};
|
|
1382
|
+
dataRefs: {
|
|
1383
|
+
logoElements: ConfigurableExtensionDataRef<{
|
|
1384
|
+
logoIcon?: JSX.Element | undefined;
|
|
1385
|
+
logoFull?: JSX.Element | undefined;
|
|
1386
|
+
}, "core.nav-logo.logo-elements", {}>;
|
|
1387
|
+
};
|
|
1247
1388
|
}>;
|
|
1248
1389
|
|
|
1249
1390
|
/**
|
|
@@ -1255,31 +1396,43 @@ declare const PageBlueprint: ExtensionBlueprint<{
|
|
|
1255
1396
|
kind: "page";
|
|
1256
1397
|
namespace: undefined;
|
|
1257
1398
|
name: undefined;
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
}
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1399
|
+
params: {
|
|
1400
|
+
defaultPath: string;
|
|
1401
|
+
loader: () => Promise<JSX.Element>;
|
|
1402
|
+
routeRef?: RouteRef<AnyRouteRefParams> | undefined;
|
|
1403
|
+
};
|
|
1404
|
+
output: ConfigurableExtensionDataRef<React.JSX.Element, "core.reactElement", {}> | ConfigurableExtensionDataRef<string, "core.routing.path", {}> | ConfigurableExtensionDataRef<RouteRef<AnyRouteRefParams>, "core.routing.ref", {
|
|
1405
|
+
optional: true;
|
|
1406
|
+
}>;
|
|
1407
|
+
inputs: {};
|
|
1408
|
+
config: {
|
|
1409
|
+
path: string | undefined;
|
|
1410
|
+
};
|
|
1411
|
+
configInput: {
|
|
1412
|
+
path?: string | undefined;
|
|
1413
|
+
};
|
|
1414
|
+
dataRefs: never;
|
|
1415
|
+
}>;
|
|
1269
1416
|
|
|
1270
1417
|
/** @public */
|
|
1271
1418
|
declare const RouterBlueprint: ExtensionBlueprint<{
|
|
1272
1419
|
kind: "app-router-component";
|
|
1273
1420
|
namespace: undefined;
|
|
1274
1421
|
name: undefined;
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
}
|
|
1278
|
-
|
|
1279
|
-
}>, "app.router.wrapper", {}>, {}, {}, {}, {
|
|
1280
|
-
component: ConfigurableExtensionDataRef<ComponentType<{
|
|
1422
|
+
params: {
|
|
1423
|
+
Component: ComponentType<PropsWithChildren<{}>>;
|
|
1424
|
+
};
|
|
1425
|
+
output: ConfigurableExtensionDataRef<ComponentType<{
|
|
1281
1426
|
children?: React.ReactNode;
|
|
1282
1427
|
}>, "app.router.wrapper", {}>;
|
|
1428
|
+
inputs: {};
|
|
1429
|
+
config: {};
|
|
1430
|
+
configInput: {};
|
|
1431
|
+
dataRefs: {
|
|
1432
|
+
component: ConfigurableExtensionDataRef<ComponentType<{
|
|
1433
|
+
children?: React.ReactNode;
|
|
1434
|
+
}>, "app.router.wrapper", {}>;
|
|
1435
|
+
};
|
|
1283
1436
|
}>;
|
|
1284
1437
|
|
|
1285
1438
|
/**
|
|
@@ -1291,10 +1444,16 @@ declare const SignInPageBlueprint: ExtensionBlueprint<{
|
|
|
1291
1444
|
kind: "sign-in-page";
|
|
1292
1445
|
namespace: undefined;
|
|
1293
1446
|
name: undefined;
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
}
|
|
1297
|
-
|
|
1447
|
+
params: {
|
|
1448
|
+
loader: () => Promise<ComponentType<SignInPageProps>>;
|
|
1449
|
+
};
|
|
1450
|
+
output: ConfigurableExtensionDataRef<React__default.ComponentType<SignInPageProps>, "core.sign-in-page.component", {}>;
|
|
1451
|
+
inputs: {};
|
|
1452
|
+
config: {};
|
|
1453
|
+
configInput: {};
|
|
1454
|
+
dataRefs: {
|
|
1455
|
+
component: ConfigurableExtensionDataRef<React__default.ComponentType<SignInPageProps>, "core.sign-in-page.component", {}>;
|
|
1456
|
+
};
|
|
1298
1457
|
}>;
|
|
1299
1458
|
|
|
1300
1459
|
/**
|
|
@@ -1304,12 +1463,18 @@ declare const SignInPageBlueprint: ExtensionBlueprint<{
|
|
|
1304
1463
|
*/
|
|
1305
1464
|
declare const ThemeBlueprint: ExtensionBlueprint<{
|
|
1306
1465
|
kind: "theme";
|
|
1307
|
-
namespace:
|
|
1466
|
+
namespace: undefined;
|
|
1308
1467
|
name: undefined;
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
}
|
|
1312
|
-
|
|
1468
|
+
params: {
|
|
1469
|
+
theme: AppTheme;
|
|
1470
|
+
};
|
|
1471
|
+
output: ConfigurableExtensionDataRef<AppTheme, "core.theme.theme", {}>;
|
|
1472
|
+
inputs: {};
|
|
1473
|
+
config: {};
|
|
1474
|
+
configInput: {};
|
|
1475
|
+
dataRefs: {
|
|
1476
|
+
theme: ConfigurableExtensionDataRef<AppTheme, "core.theme.theme", {}>;
|
|
1477
|
+
};
|
|
1313
1478
|
}>;
|
|
1314
1479
|
|
|
1315
1480
|
/**
|
|
@@ -1321,308 +1486,48 @@ declare const TranslationBlueprint: ExtensionBlueprint<{
|
|
|
1321
1486
|
kind: "translation";
|
|
1322
1487
|
namespace: undefined;
|
|
1323
1488
|
name: undefined;
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
}
|
|
1327
|
-
|
|
1328
|
-
}, boolean>, "core.translation.translation", {}>, {}, {}, {}, {
|
|
1329
|
-
translation: ConfigurableExtensionDataRef<TranslationResource<string> | TranslationMessages<string, {
|
|
1489
|
+
params: {
|
|
1490
|
+
resource: TranslationResource | TranslationMessages;
|
|
1491
|
+
};
|
|
1492
|
+
output: ConfigurableExtensionDataRef<TranslationResource<string> | TranslationMessages<string, {
|
|
1330
1493
|
[x: string]: string;
|
|
1331
1494
|
}, boolean>, "core.translation.translation", {}>;
|
|
1332
|
-
}
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
api: AnyApiRef;
|
|
1340
|
-
factory: (options: {
|
|
1341
|
-
config: TConfig;
|
|
1342
|
-
inputs: Expand<ResolvedExtensionInputs<TInputs>>;
|
|
1343
|
-
}) => AnyApiFactory;
|
|
1344
|
-
} | {
|
|
1345
|
-
factory: AnyApiFactory;
|
|
1346
|
-
}) & {
|
|
1347
|
-
configSchema?: PortableSchema<TConfig>;
|
|
1348
|
-
inputs?: TInputs;
|
|
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
|
-
*/
|
|
1358
|
-
declare namespace createApiExtension {
|
|
1359
|
-
/**
|
|
1360
|
-
* @deprecated Use {@link ApiBlueprint} instead.
|
|
1361
|
-
*/
|
|
1362
|
-
const factoryDataRef: ConfigurableExtensionDataRef<AnyApiFactory, "core.api.factory", {}>;
|
|
1363
|
-
}
|
|
1364
|
-
|
|
1365
|
-
/**
|
|
1366
|
-
* Creates an extension that renders a React element at the app root, outside of
|
|
1367
|
-
* the app layout. This is useful for example for shared popups and similar.
|
|
1368
|
-
*
|
|
1369
|
-
* @public
|
|
1370
|
-
* @deprecated Use {@link AppRootElementBlueprint} instead.
|
|
1371
|
-
*/
|
|
1372
|
-
declare function createAppRootElementExtension<TConfig extends {}, TInputs extends AnyExtensionInputMap>(options: {
|
|
1373
|
-
namespace?: string;
|
|
1374
|
-
name?: string;
|
|
1375
|
-
attachTo?: {
|
|
1376
|
-
id: string;
|
|
1377
|
-
input: string;
|
|
1495
|
+
inputs: {};
|
|
1496
|
+
config: {};
|
|
1497
|
+
configInput: {};
|
|
1498
|
+
dataRefs: {
|
|
1499
|
+
translation: ConfigurableExtensionDataRef<TranslationResource<string> | TranslationMessages<string, {
|
|
1500
|
+
[x: string]: string;
|
|
1501
|
+
}, boolean>, "core.translation.translation", {}>;
|
|
1378
1502
|
};
|
|
1379
|
-
configSchema?: PortableSchema<TConfig>;
|
|
1380
|
-
disabled?: boolean;
|
|
1381
|
-
inputs?: TInputs;
|
|
1382
|
-
element: JSX$1.Element | ((options: {
|
|
1383
|
-
inputs: Expand<ResolvedExtensionInputs<TInputs>>;
|
|
1384
|
-
config: TConfig;
|
|
1385
|
-
}) => JSX$1.Element);
|
|
1386
|
-
}): ExtensionDefinition<TConfig>;
|
|
1387
|
-
|
|
1388
|
-
/**
|
|
1389
|
-
* Creates an extension that renders a React wrapper at the app root, enclosing
|
|
1390
|
-
* the app layout. This is useful for example for adding global React contexts
|
|
1391
|
-
* and similar.
|
|
1392
|
-
*
|
|
1393
|
-
* @public
|
|
1394
|
-
* @deprecated Use {@link AppRootWrapperBlueprint} instead.
|
|
1395
|
-
*/
|
|
1396
|
-
declare function createAppRootWrapperExtension<TConfig extends {}, TInputs extends AnyExtensionInputMap>(options: {
|
|
1397
|
-
namespace?: string;
|
|
1398
|
-
name?: string;
|
|
1399
|
-
attachTo?: {
|
|
1400
|
-
id: string;
|
|
1401
|
-
input: string;
|
|
1402
|
-
};
|
|
1403
|
-
configSchema?: PortableSchema<TConfig>;
|
|
1404
|
-
disabled?: boolean;
|
|
1405
|
-
inputs?: TInputs;
|
|
1406
|
-
Component: ComponentType<PropsWithChildren<{
|
|
1407
|
-
inputs: Expand<ResolvedExtensionInputs<TInputs>>;
|
|
1408
|
-
config: TConfig;
|
|
1409
|
-
}>>;
|
|
1410
|
-
}): ExtensionDefinition<TConfig>;
|
|
1411
|
-
/**
|
|
1412
|
-
* @public
|
|
1413
|
-
* @deprecated Use {@link AppRootWrapperBlueprint} instead.
|
|
1414
|
-
*/
|
|
1415
|
-
declare namespace createAppRootWrapperExtension {
|
|
1416
|
-
/**
|
|
1417
|
-
* @deprecated Use {@link AppRootWrapperBlueprint} instead.
|
|
1418
|
-
*/
|
|
1419
|
-
const componentDataRef: ConfigurableExtensionDataRef<React__default.ComponentType<{
|
|
1420
|
-
children?: React__default.ReactNode;
|
|
1421
|
-
}>, "app.root.wrapper", {}>;
|
|
1422
|
-
}
|
|
1423
|
-
|
|
1424
|
-
/**
|
|
1425
|
-
* Creates an extension that replaces the router implementation at the app root.
|
|
1426
|
-
* This is useful to be able to for example replace the BrowserRouter with a
|
|
1427
|
-
* MemoryRouter in tests, or to add additional props to a BrowserRouter.
|
|
1428
|
-
*
|
|
1429
|
-
* @public
|
|
1430
|
-
* @deprecated Use {@link RouterBlueprint} instead.
|
|
1431
|
-
*/
|
|
1432
|
-
declare function createRouterExtension<TConfig extends {}, TInputs extends AnyExtensionInputMap>(options: {
|
|
1433
|
-
namespace?: string;
|
|
1434
|
-
name?: string;
|
|
1435
|
-
attachTo?: {
|
|
1436
|
-
id: string;
|
|
1437
|
-
input: string;
|
|
1438
|
-
};
|
|
1439
|
-
configSchema?: PortableSchema<TConfig>;
|
|
1440
|
-
disabled?: boolean;
|
|
1441
|
-
inputs?: TInputs;
|
|
1442
|
-
Component: ComponentType<PropsWithChildren<{
|
|
1443
|
-
inputs: Expand<ResolvedExtensionInputs<TInputs>>;
|
|
1444
|
-
config: TConfig;
|
|
1445
|
-
}>>;
|
|
1446
|
-
}): ExtensionDefinition<TConfig>;
|
|
1447
|
-
/**
|
|
1448
|
-
* @public
|
|
1449
|
-
* @deprecated Use {@link RouterBlueprint} instead.
|
|
1450
|
-
*/
|
|
1451
|
-
declare namespace createRouterExtension {
|
|
1452
|
-
/**
|
|
1453
|
-
* @deprecated Use {@link RouterBlueprint} instead.
|
|
1454
|
-
*/
|
|
1455
|
-
const componentDataRef: ConfigurableExtensionDataRef<React__default.ComponentType<{
|
|
1456
|
-
children?: React__default.ReactNode;
|
|
1457
|
-
}>, "app.router.wrapper", {}>;
|
|
1458
|
-
}
|
|
1459
|
-
|
|
1460
|
-
/**
|
|
1461
|
-
* Helper for creating extensions for a routable React page component.
|
|
1462
|
-
*
|
|
1463
|
-
* @public
|
|
1464
|
-
* @deprecated Use {@link PageBlueprint} instead.
|
|
1465
|
-
*/
|
|
1466
|
-
declare function createPageExtension<TConfig extends {
|
|
1467
|
-
path: string;
|
|
1468
|
-
}, TInputs extends AnyExtensionInputMap>(options: ({
|
|
1469
|
-
defaultPath: string;
|
|
1470
|
-
} | {
|
|
1471
|
-
configSchema: PortableSchema<TConfig>;
|
|
1472
|
-
}) & {
|
|
1473
|
-
namespace?: string;
|
|
1474
|
-
name?: string;
|
|
1475
|
-
attachTo?: {
|
|
1476
|
-
id: string;
|
|
1477
|
-
input: string;
|
|
1478
|
-
};
|
|
1479
|
-
disabled?: boolean;
|
|
1480
|
-
inputs?: TInputs;
|
|
1481
|
-
routeRef?: RouteRef;
|
|
1482
|
-
loader: (options: {
|
|
1483
|
-
config: TConfig;
|
|
1484
|
-
inputs: Expand<ResolvedExtensionInputs<TInputs>>;
|
|
1485
|
-
}) => Promise<JSX.Element>;
|
|
1486
|
-
}): ExtensionDefinition<TConfig>;
|
|
1487
|
-
|
|
1488
|
-
/**
|
|
1489
|
-
* Helper for creating extensions for a nav item.
|
|
1490
|
-
*
|
|
1491
|
-
* @public
|
|
1492
|
-
* @deprecated Use {@link NavItemBlueprint} instead.
|
|
1493
|
-
*/
|
|
1494
|
-
declare function createNavItemExtension(options: {
|
|
1495
|
-
namespace?: string;
|
|
1496
|
-
name?: string;
|
|
1497
|
-
routeRef: RouteRef<undefined>;
|
|
1498
|
-
title: string;
|
|
1499
|
-
icon: IconComponent$1;
|
|
1500
|
-
}): ExtensionDefinition<{
|
|
1501
|
-
title: string;
|
|
1502
|
-
}, {
|
|
1503
|
-
title?: string | undefined;
|
|
1504
|
-
}, never, never, {
|
|
1505
|
-
kind?: string | undefined;
|
|
1506
|
-
namespace?: string | undefined;
|
|
1507
|
-
name?: string | undefined;
|
|
1508
1503
|
}>;
|
|
1509
|
-
/**
|
|
1510
|
-
* @public
|
|
1511
|
-
* @deprecated Use {@link NavItemBlueprint} instead.
|
|
1512
|
-
*/
|
|
1513
|
-
declare namespace createNavItemExtension {
|
|
1514
|
-
/**
|
|
1515
|
-
* @deprecated Use {@link NavItemBlueprint} instead.
|
|
1516
|
-
*/
|
|
1517
|
-
const targetDataRef: ConfigurableExtensionDataRef<{
|
|
1518
|
-
title: string;
|
|
1519
|
-
icon: IconComponent$1;
|
|
1520
|
-
routeRef: RouteRef<undefined>;
|
|
1521
|
-
}, "core.nav-item.target", {}>;
|
|
1522
|
-
}
|
|
1523
|
-
|
|
1524
|
-
/**
|
|
1525
|
-
* Helper for creating extensions for a nav logos.
|
|
1526
|
-
*
|
|
1527
|
-
* @public
|
|
1528
|
-
* @deprecated Use {@link NavLogoBlueprint} instead.
|
|
1529
|
-
*/
|
|
1530
|
-
declare function createNavLogoExtension(options: {
|
|
1531
|
-
name?: string;
|
|
1532
|
-
namespace?: string;
|
|
1533
|
-
logoIcon: JSX.Element;
|
|
1534
|
-
logoFull: JSX.Element;
|
|
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
|
-
*/
|
|
1544
|
-
declare namespace createNavLogoExtension {
|
|
1545
|
-
/**
|
|
1546
|
-
* @deprecated Use {@link NavLogoBlueprint} instead.
|
|
1547
|
-
*/
|
|
1548
|
-
const logoElementsDataRef: ConfigurableExtensionDataRef<{
|
|
1549
|
-
logoIcon?: JSX.Element | undefined;
|
|
1550
|
-
logoFull?: JSX.Element | undefined;
|
|
1551
|
-
}, "core.nav-logo.logo-elements", {}>;
|
|
1552
|
-
}
|
|
1553
|
-
|
|
1554
|
-
/**
|
|
1555
|
-
*
|
|
1556
|
-
* @public
|
|
1557
|
-
* @deprecated Use {@link SignInPageBlueprint} instead.
|
|
1558
|
-
*/
|
|
1559
|
-
declare function createSignInPageExtension<TConfig extends {}, TInputs extends AnyExtensionInputMap>(options: {
|
|
1560
|
-
namespace?: string;
|
|
1561
|
-
name?: string;
|
|
1562
|
-
attachTo?: {
|
|
1563
|
-
id: string;
|
|
1564
|
-
input: string;
|
|
1565
|
-
};
|
|
1566
|
-
configSchema?: PortableSchema<TConfig>;
|
|
1567
|
-
disabled?: boolean;
|
|
1568
|
-
inputs?: TInputs;
|
|
1569
|
-
loader: (options: {
|
|
1570
|
-
config: TConfig;
|
|
1571
|
-
inputs: Expand<ResolvedExtensionInputs<TInputs>>;
|
|
1572
|
-
}) => Promise<ComponentType<SignInPageProps>>;
|
|
1573
|
-
}): ExtensionDefinition<TConfig>;
|
|
1574
|
-
/**
|
|
1575
|
-
* @public
|
|
1576
|
-
* @deprecated Use {@link SignInPageBlueprint} instead.
|
|
1577
|
-
*/
|
|
1578
|
-
declare namespace createSignInPageExtension {
|
|
1579
|
-
/**
|
|
1580
|
-
* @deprecated Use {@link SignInPageBlueprint} instead.
|
|
1581
|
-
*/
|
|
1582
|
-
const componentDataRef: ConfigurableExtensionDataRef<React__default.ComponentType<SignInPageProps>, "core.sign-in-page.component", {}>;
|
|
1583
|
-
}
|
|
1584
|
-
|
|
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
|
-
*/
|
|
1598
|
-
declare namespace createThemeExtension {
|
|
1599
|
-
const themeDataRef: ConfigurableExtensionDataRef<AppTheme, "core.theme.theme", {}>;
|
|
1600
|
-
}
|
|
1601
1504
|
|
|
1602
1505
|
/** @public */
|
|
1603
|
-
declare function createComponentExtension<TProps extends {}
|
|
1506
|
+
declare function createComponentExtension<TProps extends {}>(options: {
|
|
1604
1507
|
ref: ComponentRef<TProps>;
|
|
1605
1508
|
name?: string;
|
|
1606
1509
|
disabled?: boolean;
|
|
1607
|
-
/** @deprecated these will be removed in the future */
|
|
1608
|
-
inputs?: TInputs;
|
|
1609
|
-
/** @deprecated these will be removed in the future */
|
|
1610
|
-
configSchema?: PortableSchema<TConfig>;
|
|
1611
1510
|
loader: {
|
|
1612
|
-
lazy: (
|
|
1613
|
-
config: TConfig;
|
|
1614
|
-
inputs: Expand<ResolvedExtensionInputs<TInputs>>;
|
|
1615
|
-
}) => Promise<ComponentType<TProps>>;
|
|
1511
|
+
lazy: () => Promise<ComponentType<TProps>>;
|
|
1616
1512
|
} | {
|
|
1617
|
-
sync: (
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1513
|
+
sync: () => ComponentType<TProps>;
|
|
1514
|
+
};
|
|
1515
|
+
}): ExtensionDefinition<{
|
|
1516
|
+
config: {};
|
|
1517
|
+
configInput: {};
|
|
1518
|
+
output: ConfigurableExtensionDataRef<{
|
|
1519
|
+
ref: ComponentRef;
|
|
1520
|
+
impl: ComponentType;
|
|
1521
|
+
}, "core.component.component", {}>;
|
|
1522
|
+
inputs: {
|
|
1523
|
+
[x: string]: ExtensionInput<AnyExtensionDataRef, {
|
|
1524
|
+
optional: boolean;
|
|
1525
|
+
singleton: boolean;
|
|
1526
|
+
}>;
|
|
1621
1527
|
};
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
name?: string | undefined;
|
|
1528
|
+
kind: "component";
|
|
1529
|
+
namespace: undefined;
|
|
1530
|
+
name: string;
|
|
1626
1531
|
}>;
|
|
1627
1532
|
/** @public */
|
|
1628
1533
|
declare namespace createComponentExtension {
|
|
@@ -1632,26 +1537,4 @@ declare namespace createComponentExtension {
|
|
|
1632
1537
|
}, "core.component.component", {}>;
|
|
1633
1538
|
}
|
|
1634
1539
|
|
|
1635
|
-
|
|
1636
|
-
* @public
|
|
1637
|
-
* @deprecated Use {@link TranslationBlueprint} instead.
|
|
1638
|
-
*/
|
|
1639
|
-
declare function createTranslationExtension(options: {
|
|
1640
|
-
name?: string;
|
|
1641
|
-
resource: TranslationResource | TranslationMessages;
|
|
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
|
-
*/
|
|
1651
|
-
declare namespace createTranslationExtension {
|
|
1652
|
-
const translationDataRef: ConfigurableExtensionDataRef<TranslationResource<string> | TranslationMessages<string, {
|
|
1653
|
-
[x: string]: string;
|
|
1654
|
-
}, boolean>, "core.translation.translation", {}>;
|
|
1655
|
-
}
|
|
1656
|
-
|
|
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 };
|
|
1540
|
+
export { type AnalyticsApi, AnalyticsContext, type AnalyticsContextValue, type AnalyticsEvent, type AnalyticsEventAttributes, type AnalyticsTracker, type AnyExtensionDataRef, 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 CreateFrontendModuleOptions, type Extension, type ExtensionBlueprint, type ExtensionBlueprintParameters, ExtensionBoundary, type ExtensionBoundaryProps, type ExtensionDataContainer, type ExtensionDataRef, type ExtensionDataRefToValue, type ExtensionDataValue, type ExtensionDefinition, type ExtensionDefinitionParameters, type ExtensionInput, type ExtensionOverrides, type ExtensionOverridesOptions, type ExternalRouteRef, type FeatureFlagConfig, type FrontendFeature, type FrontendModule, type FrontendPlugin, IconBundleBlueprint, type IconComponent, type IconsApi, 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, createComponentExtension, createComponentRef, createExtension, createExtensionBlueprint, createExtensionDataRef, createExtensionInput, createExtensionOverrides, createExternalRouteRef, createFrontendModule, createFrontendPlugin, createPlugin, createRouteRef, createSubRouteRef, iconsApiRef, routeResolutionApiRef, useAnalytics, useComponentRef, useRouteRef, useRouteRefParams };
|