@dxos/app-framework 0.8.4-staging.60fe92afc8 → 0.9.1-main.c7dcc2e112
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/dist/lib/browser/{capability-BOPAKKWG.mjs → capability-Z4MRP3CP.mjs} +9 -9
- package/dist/lib/browser/{chunk-CO3XLNUX.mjs → chunk-37PG7XJC.mjs} +18 -18
- package/dist/lib/browser/chunk-37PG7XJC.mjs.map +7 -0
- package/dist/lib/browser/{chunk-66IXTIVK.mjs → chunk-3NQLTQCP.mjs} +6 -7
- package/dist/lib/browser/chunk-3NQLTQCP.mjs.map +7 -0
- package/dist/lib/browser/{chunk-KZUDO43J.mjs → chunk-3UTDRCKX.mjs} +31 -23
- package/dist/lib/browser/chunk-3UTDRCKX.mjs.map +7 -0
- package/dist/lib/browser/chunk-53HJHMS5.mjs +7 -0
- package/dist/lib/browser/chunk-53HJHMS5.mjs.map +7 -0
- package/dist/lib/browser/{chunk-IW44C7UL.mjs → chunk-CMINFVA5.mjs} +1 -1
- package/dist/lib/browser/chunk-CMINFVA5.mjs.map +7 -0
- package/dist/lib/browser/{chunk-Y66ELD4U.mjs → chunk-DFVSOBV2.mjs} +17 -7
- package/dist/lib/browser/chunk-DFVSOBV2.mjs.map +7 -0
- package/dist/lib/browser/{chunk-DC3WRPBV.mjs → chunk-S2ZBYQPI.mjs} +45 -12
- package/dist/lib/browser/chunk-S2ZBYQPI.mjs.map +7 -0
- package/dist/lib/browser/{chunk-HFLKXMT7.mjs → chunk-SWECIICH.mjs} +57 -41
- package/dist/lib/browser/chunk-SWECIICH.mjs.map +7 -0
- package/dist/lib/browser/{chunk-5GY3YOEL.mjs → chunk-VF37YTXJ.mjs} +5 -5
- package/dist/lib/browser/chunk-VF37YTXJ.mjs.map +7 -0
- package/dist/lib/browser/{chunk-XHS5KDNX.mjs → chunk-W4BHZING.mjs} +25 -25
- package/dist/lib/browser/chunk-W4BHZING.mjs.map +7 -0
- package/dist/lib/browser/{chunk-FO3IYSLV.mjs → chunk-YUVQIOTB.mjs} +29 -37
- package/dist/lib/browser/chunk-YUVQIOTB.mjs.map +7 -0
- package/dist/lib/browser/cli/index.mjs +9 -9
- package/dist/lib/browser/cli/index.mjs.map +2 -2
- package/dist/lib/browser/common/activation-events.mjs +7 -7
- package/dist/lib/browser/common/capabilities.mjs +7 -7
- package/dist/lib/browser/config/index.mjs +8 -0
- package/dist/lib/browser/config/index.mjs.map +7 -0
- package/dist/lib/browser/core/activation-event.mjs +1 -1
- package/dist/lib/browser/core/capability.mjs +1 -1
- package/dist/lib/browser/core/plugin-manager.mjs +4 -4
- package/dist/lib/browser/core/plugin.mjs +12 -2
- package/dist/lib/browser/core/url-loader.mjs +3 -3
- package/dist/lib/browser/index.mjs +14 -10
- package/dist/lib/browser/index.mjs.map +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{process-manager-capability-GXNUO7AR.mjs → process-manager-capability-RDROCCQD.mjs} +9 -9
- package/dist/lib/browser/testing/index.mjs +15 -15
- package/dist/lib/browser/testing/index.mjs.map +3 -3
- package/dist/lib/browser/testing/react.mjs +11 -11
- package/dist/lib/browser/testing/react.mjs.map +3 -3
- package/dist/lib/browser/ui/index.mjs +16 -10
- package/dist/lib/node-esm/{capability-KZWRTX7R.mjs → capability-34Z6NPVR.mjs} +9 -9
- package/dist/lib/node-esm/chunk-2UPUZXGU.mjs +9 -0
- package/dist/lib/node-esm/chunk-2UPUZXGU.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-FSVGKTF6.mjs → chunk-A4O42ZO3.mjs} +17 -7
- package/dist/lib/node-esm/chunk-A4O42ZO3.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-CTKEZHKF.mjs → chunk-AIDZMJ3U.mjs} +1 -1
- package/dist/lib/node-esm/chunk-AIDZMJ3U.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-XOCUANHO.mjs → chunk-BMW6P6QA.mjs} +6 -7
- package/dist/lib/node-esm/chunk-BMW6P6QA.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-A5CHGAZE.mjs → chunk-H7T7XXLS.mjs} +57 -41
- package/dist/lib/node-esm/chunk-H7T7XXLS.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-NULBHQYS.mjs → chunk-LUK3FCTH.mjs} +18 -18
- package/dist/lib/node-esm/chunk-LUK3FCTH.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-XGBUKRCK.mjs → chunk-TEQSMP2O.mjs} +31 -23
- package/dist/lib/node-esm/chunk-TEQSMP2O.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-KFZEB6BV.mjs → chunk-TLKYZKPW.mjs} +5 -5
- package/dist/lib/node-esm/chunk-TLKYZKPW.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-WK7OIQKI.mjs → chunk-VCPGX7WN.mjs} +29 -37
- package/dist/lib/node-esm/chunk-VCPGX7WN.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-XIGPWXCQ.mjs → chunk-WERVO5EK.mjs} +45 -12
- package/dist/lib/node-esm/chunk-WERVO5EK.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-SX5NVETP.mjs → chunk-ZRTG4TSS.mjs} +25 -25
- package/dist/lib/node-esm/chunk-ZRTG4TSS.mjs.map +7 -0
- package/dist/lib/node-esm/cli/index.mjs +9 -9
- package/dist/lib/node-esm/cli/index.mjs.map +2 -2
- package/dist/lib/node-esm/common/activation-events.mjs +7 -7
- package/dist/lib/node-esm/common/capabilities.mjs +7 -7
- package/dist/lib/node-esm/config/index.mjs +9 -0
- package/dist/lib/node-esm/config/index.mjs.map +7 -0
- package/dist/lib/node-esm/core/activation-event.mjs +1 -1
- package/dist/lib/node-esm/core/capability.mjs +1 -1
- package/dist/lib/node-esm/core/plugin-manager.mjs +4 -4
- package/dist/lib/node-esm/core/plugin.mjs +12 -2
- package/dist/lib/node-esm/core/url-loader.mjs +3 -3
- package/dist/lib/node-esm/index.mjs +14 -10
- package/dist/lib/node-esm/index.mjs.map +1 -1
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{process-manager-capability-TX5TA6YN.mjs → process-manager-capability-6OCXSKUW.mjs} +9 -9
- package/dist/lib/node-esm/testing/index.mjs +15 -15
- package/dist/lib/node-esm/testing/index.mjs.map +3 -3
- package/dist/lib/node-esm/testing/react.mjs +11 -11
- package/dist/lib/node-esm/testing/react.mjs.map +3 -3
- package/dist/lib/node-esm/ui/index.mjs +16 -10
- package/dist/plugin/node-esm/index.mjs +406 -71
- package/dist/plugin/node-esm/index.mjs.map +4 -4
- package/dist/plugin/node-esm/meta.json +1 -1
- package/dist/types/src/cli/cli.d.ts +1 -1
- package/dist/types/src/common/activation-events.d.ts.map +1 -1
- package/dist/types/src/common/capabilities.d.ts.map +1 -1
- package/dist/types/src/config/index.d.ts +2 -0
- package/dist/types/src/config/index.d.ts.map +1 -0
- package/dist/types/src/core/activation-event.d.ts +9 -6
- package/dist/types/src/core/activation-event.d.ts.map +1 -1
- package/dist/types/src/core/capability.d.ts +6 -2
- package/dist/types/src/core/capability.d.ts.map +1 -1
- package/dist/types/src/core/edge-registry-plugin-provider.d.ts +6 -11
- package/dist/types/src/core/edge-registry-plugin-provider.d.ts.map +1 -1
- package/dist/types/src/core/plugin-manager.d.ts.map +1 -1
- package/dist/types/src/core/plugin-manifest.d.ts +25 -7
- package/dist/types/src/core/plugin-manifest.d.ts.map +1 -1
- package/dist/types/src/core/plugin.d.ts +81 -91
- package/dist/types/src/core/plugin.d.ts.map +1 -1
- package/dist/types/src/core/registry.d.ts +17 -57
- package/dist/types/src/core/registry.d.ts.map +1 -1
- package/dist/types/src/core/url-loader.d.ts +2 -2
- package/dist/types/src/core/url-loader.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/plugin-process-manager/meta.d.ts +28 -2
- package/dist/types/src/plugin-process-manager/meta.d.ts.map +1 -1
- package/dist/types/src/testing/harness.d.ts +1 -1
- package/dist/types/src/testing/harness.d.ts.map +1 -1
- package/dist/types/src/testing/react.d.ts +6 -5
- package/dist/types/src/testing/react.d.ts.map +1 -1
- package/dist/types/src/testing/withPluginManager.d.ts.map +1 -1
- package/dist/types/src/testing/withPluginManager.stories.d.ts.map +1 -1
- package/dist/types/src/ui/components/PluginManager/PluginManagerProvider.d.ts +6 -0
- package/dist/types/src/ui/components/PluginManager/PluginManagerProvider.d.ts.map +1 -1
- package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts +6 -10
- package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts.map +1 -1
- package/dist/types/src/ui/components/Surface/SurfaceComponent.stories.d.ts.map +1 -1
- package/dist/types/src/ui/components/Surface/context.d.ts +6 -2
- package/dist/types/src/ui/components/Surface/context.d.ts.map +1 -1
- package/dist/types/src/ui/components/Surface/index.d.ts +10 -3
- package/dist/types/src/ui/components/Surface/index.d.ts.map +1 -1
- package/dist/types/src/ui/components/Surface/types.d.ts +50 -70
- package/dist/types/src/ui/components/Surface/types.d.ts.map +1 -1
- package/dist/types/src/ui/hooks/useApp.d.ts +1 -1
- package/dist/types/src/ui/hooks/useCapabilities.d.ts +11 -1
- package/dist/types/src/ui/hooks/useCapabilities.d.ts.map +1 -1
- package/dist/types/src/vite-plugin/composer/index.d.ts +11 -4
- package/dist/types/src/vite-plugin/composer/index.d.ts.map +1 -1
- package/dist/types/src/vite-plugin/index.d.ts +1 -0
- package/dist/types/src/vite-plugin/index.d.ts.map +1 -1
- package/dist/types/src/vite-plugin/load.d.ts +16 -0
- package/dist/types/src/vite-plugin/load.d.ts.map +1 -0
- package/dist/types/src/vite-plugin/manifest.d.ts +16 -4
- package/dist/types/src/vite-plugin/manifest.d.ts.map +1 -1
- package/dist/types/src/vite-plugin/packages.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/docs/registry-spec.md +331 -0
- package/moon.yml +1 -0
- package/package.json +32 -27
- package/src/cli/cli.ts +2 -2
- package/src/common/activation-events.ts +3 -3
- package/src/common/capabilities.ts +16 -16
- package/src/config/index.ts +5 -0
- package/src/core/activation-event.ts +15 -8
- package/src/core/capability.ts +15 -4
- package/src/core/edge-registry-plugin-provider.ts +41 -42
- package/src/core/plugin-manager.test.ts +133 -137
- package/src/core/plugin-manager.ts +25 -19
- package/src/core/plugin-manifest.test.ts +5 -5
- package/src/core/plugin-manifest.ts +13 -10
- package/src/core/plugin.ts +58 -114
- package/src/core/registry.ts +20 -60
- package/src/core/url-loader.test.ts +2 -2
- package/src/core/url-loader.ts +23 -19
- package/src/index.ts +1 -0
- package/src/testing/harness.ts +5 -3
- package/src/testing/react.test.tsx +4 -2
- package/src/testing/react.tsx +9 -8
- package/src/testing/service.ts +2 -2
- package/src/testing/withPluginManager.stories.tsx +4 -2
- package/src/testing/withPluginManager.tsx +3 -1
- package/src/ui/components/PluginManager/PluginManagerProvider.ts +7 -0
- package/src/ui/components/Surface/SurfaceComponent.stories.tsx +11 -14
- package/src/ui/components/Surface/SurfaceComponent.tsx +84 -74
- package/src/ui/components/Surface/context.ts +6 -3
- package/src/ui/components/Surface/index.ts +12 -1
- package/src/ui/components/Surface/types.test.ts +39 -49
- package/src/ui/components/Surface/types.ts +95 -60
- package/src/ui/hooks/useApp.test.tsx +1 -1
- package/src/ui/hooks/useApp.tsx +2 -2
- package/src/ui/hooks/useCapabilities.ts +24 -2
- package/src/vite-plugin/composer/index.ts +134 -61
- package/src/vite-plugin/index.ts +1 -0
- package/src/vite-plugin/load.ts +57 -0
- package/src/vite-plugin/manifest.test.ts +3 -3
- package/src/vite-plugin/manifest.ts +21 -10
- package/src/vite-plugin/packages.ts +0 -1
- package/dist/lib/browser/chunk-5GY3YOEL.mjs.map +0 -7
- package/dist/lib/browser/chunk-66IXTIVK.mjs.map +0 -7
- package/dist/lib/browser/chunk-CO3XLNUX.mjs.map +0 -7
- package/dist/lib/browser/chunk-DC3WRPBV.mjs.map +0 -7
- package/dist/lib/browser/chunk-FO3IYSLV.mjs.map +0 -7
- package/dist/lib/browser/chunk-HFLKXMT7.mjs.map +0 -7
- package/dist/lib/browser/chunk-IW44C7UL.mjs.map +0 -7
- package/dist/lib/browser/chunk-KZUDO43J.mjs.map +0 -7
- package/dist/lib/browser/chunk-XHS5KDNX.mjs.map +0 -7
- package/dist/lib/browser/chunk-Y66ELD4U.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-A5CHGAZE.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-CTKEZHKF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-FSVGKTF6.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-KFZEB6BV.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-NULBHQYS.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-SX5NVETP.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-WK7OIQKI.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-XGBUKRCK.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-XIGPWXCQ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-XOCUANHO.mjs.map +0 -7
- /package/dist/lib/browser/{capability-BOPAKKWG.mjs.map → capability-Z4MRP3CP.mjs.map} +0 -0
- /package/dist/lib/browser/{process-manager-capability-GXNUO7AR.mjs.map → process-manager-capability-RDROCCQD.mjs.map} +0 -0
- /package/dist/lib/node-esm/{capability-KZWRTX7R.mjs.map → capability-34Z6NPVR.mjs.map} +0 -0
- /package/dist/lib/node-esm/{process-manager-capability-TX5TA6YN.mjs.map → process-manager-capability-6OCXSKUW.mjs.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/core/plugin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/core/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,51 +1,12 @@
|
|
|
1
1
|
import { Atom, type Registry as AtomRegistry } from '@effect-atom/atom-react';
|
|
2
2
|
import * as Effect from 'effect/Effect';
|
|
3
|
+
import type * as Plugin from './plugin';
|
|
3
4
|
/**
|
|
4
|
-
* A registry
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* Implementations of {@link PluginProvider} (e.g. {@link EdgeRegistryPluginProvider})
|
|
9
|
-
* are responsible for mapping their wire-format entries to this shape.
|
|
5
|
+
* A registry catalog entry is a {@link Plugin.Meta} (profile + the latest release), the same
|
|
6
|
+
* runtime type bundled plugins use. {@link PluginProvider} implementations (e.g.
|
|
7
|
+
* {@link EdgeRegistryPluginProvider}) map their wire-format entries (`PluginView`) to this shape.
|
|
8
|
+
* A single installable version is a {@link Plugin.Release}.
|
|
10
9
|
*/
|
|
11
|
-
export type Plugin = {
|
|
12
|
-
id: string;
|
|
13
|
-
name: string;
|
|
14
|
-
description?: string;
|
|
15
|
-
homePage?: string;
|
|
16
|
-
source?: string;
|
|
17
|
-
screenshots?: string[];
|
|
18
|
-
tags?: string[];
|
|
19
|
-
icon?: string;
|
|
20
|
-
iconHue?: string;
|
|
21
|
-
/**
|
|
22
|
-
* IDs of plugins this entry declares as runtime dependencies. Mirrors
|
|
23
|
-
* {@link Plugin.Meta.dependsOn}. Surfaced in the catalog so the manager can
|
|
24
|
-
* resolve and auto-install transitive deps before they are first loaded.
|
|
25
|
-
*/
|
|
26
|
-
dependsOn?: string[];
|
|
27
|
-
/** URL to dynamic-import the latest version of this plugin module. */
|
|
28
|
-
moduleUrl: string;
|
|
29
|
-
/** GitHub repository slug, e.g. `owner/name`. Used to fetch version history. */
|
|
30
|
-
repo: string;
|
|
31
|
-
/**
|
|
32
|
-
* Latest known version string, e.g. `v1.2.0`.
|
|
33
|
-
* Corresponds to releaseTag in the wire-format PluginEntry; named `version` here
|
|
34
|
-
* because the plugin manager layer speaks versions, not release tags.
|
|
35
|
-
*/
|
|
36
|
-
version: string;
|
|
37
|
-
};
|
|
38
|
-
/**
|
|
39
|
-
* A single installable version of a registry plugin.
|
|
40
|
-
*/
|
|
41
|
-
export type PluginVersion = {
|
|
42
|
-
/** Version string, e.g. `v1.2.0`. */
|
|
43
|
-
tag: string;
|
|
44
|
-
/** URL to dynamic-import this specific version of the plugin module. */
|
|
45
|
-
moduleUrl: string;
|
|
46
|
-
/** Unix ms of when this version was published (optional; omitted when unknown). */
|
|
47
|
-
releasedAt?: number;
|
|
48
|
-
};
|
|
49
10
|
/**
|
|
50
11
|
* Abstraction over the plugin registry catalog backend.
|
|
51
12
|
* Implementations may call Edge, a local cache, or a stub.
|
|
@@ -57,21 +18,20 @@ export type PluginVersion = {
|
|
|
57
18
|
*/
|
|
58
19
|
export interface PluginProvider {
|
|
59
20
|
/**
|
|
60
|
-
* Returns all
|
|
21
|
+
* Returns all registry plugins (latest version of each).
|
|
61
22
|
*/
|
|
62
|
-
listPlugins(): Effect.Effect<readonly Plugin[], Error>;
|
|
23
|
+
listPlugins(): Effect.Effect<readonly Plugin.Meta[], Error>;
|
|
63
24
|
/**
|
|
64
|
-
* Returns all known versions of a plugin identified by its
|
|
65
|
-
*
|
|
66
|
-
* return at least one entry representing the current/latest release.
|
|
25
|
+
* Returns all known versions of a plugin, identified by its composer plugin id (NSID).
|
|
26
|
+
* Ordered newest-first. Must return at least one entry.
|
|
67
27
|
*/
|
|
68
|
-
listVersions(
|
|
28
|
+
listVersions(id: string): Effect.Effect<readonly Plugin.Release[], Error>;
|
|
69
29
|
/**
|
|
70
|
-
* Returns a single plugin entry for the given
|
|
30
|
+
* Returns a single plugin entry for the given id.
|
|
71
31
|
* If `version` is omitted, returns the latest.
|
|
72
|
-
* Fails if the
|
|
32
|
+
* Fails if the plugin or version is not found.
|
|
73
33
|
*/
|
|
74
|
-
getPlugin(
|
|
34
|
+
getPlugin(id: string, version?: string): Effect.Effect<Plugin.Meta, Error>;
|
|
75
35
|
}
|
|
76
36
|
/**
|
|
77
37
|
* Atomic snapshot of the registry catalog as observed by the host.
|
|
@@ -79,7 +39,7 @@ export interface PluginProvider {
|
|
|
79
39
|
* (loading state, list contents, last error).
|
|
80
40
|
*/
|
|
81
41
|
export type PluginsState = {
|
|
82
|
-
entries: readonly Plugin[];
|
|
42
|
+
entries: readonly Plugin.Meta[];
|
|
83
43
|
loading: boolean;
|
|
84
44
|
error: Error | null;
|
|
85
45
|
};
|
|
@@ -98,10 +58,10 @@ export declare class Manager {
|
|
|
98
58
|
readonly plugins: Atom.Writable<PluginsState>;
|
|
99
59
|
constructor(provider: PluginProvider | undefined, atomRegistry: AtomRegistry.Registry);
|
|
100
60
|
/** Forwards to the underlying provider. */
|
|
101
|
-
listPlugins(): Effect.Effect<readonly Plugin[], Error>;
|
|
61
|
+
listPlugins(): Effect.Effect<readonly Plugin.Meta[], Error>;
|
|
102
62
|
/** Forwards to the underlying provider. */
|
|
103
|
-
listVersions(
|
|
63
|
+
listVersions(id: string): Effect.Effect<readonly Plugin.Release[], Error>;
|
|
104
64
|
/** Forwards to the underlying provider. */
|
|
105
|
-
getPlugin(
|
|
65
|
+
getPlugin(id: string, version?: string): Effect.Effect<Plugin.Meta, Error>;
|
|
106
66
|
}
|
|
107
67
|
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/core/registry.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/core/registry.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,OAAO,KAAK,KAAK,MAAM,MAAM,UAAU,CAAC;AAExC;;;;;GAKG;AAEH;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;IAE5D;;;OAGG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;IAE1E;;;;OAIG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;CAC5E;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,SAAS,MAAM,CAAC,IAAI,EAAE,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB,CAAC;AAgBF;;;;;;;;;GASG;AACH,qBAAa,OAAO;;IAClB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAG9C,YAAY,QAAQ,EAAE,cAAc,GAAG,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC,QAAQ,EAmBpF;IAED,2CAA2C;IAC3C,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAE1D;IAED,2CAA2C;IAC3C,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAExE;IAED,2CAA2C;IAC3C,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAEzE;CACF"}
|
|
@@ -71,7 +71,7 @@ export type PreloadOptions = Options & {
|
|
|
71
71
|
*
|
|
72
72
|
* `url` is the URL of the plugin manifest (`plugin.json`), not the entry module.
|
|
73
73
|
*/
|
|
74
|
-
export type
|
|
74
|
+
export type RemotePluginView = {
|
|
75
75
|
id: string;
|
|
76
76
|
url: string;
|
|
77
77
|
/** Installed version string, e.g. `v1.0.0`. Populated after install from a community catalog entry. */
|
|
@@ -86,7 +86,7 @@ export declare const isLocalUrl: (locator: string) => boolean;
|
|
|
86
86
|
* Useful for UI code that needs to know which loaded plugins were installed from a URL
|
|
87
87
|
* (e.g. to surface a tag on remote or localhost-hosted plugins).
|
|
88
88
|
*/
|
|
89
|
-
export declare const getRemoteEntries: (options?: Options) => readonly
|
|
89
|
+
export declare const getRemoteEntries: (options?: Options) => readonly RemotePluginView[];
|
|
90
90
|
/**
|
|
91
91
|
* Updates the persisted installed version for an already-stored remote plugin entry.
|
|
92
92
|
* Does nothing if the plugin has not been persisted yet.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-loader.d.ts","sourceRoot":"","sources":["../../../../src/core/url-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,gBAAgB,MAAM,sBAAsB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKzD;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,0BAAyE;CAAG;AAEvH;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAChC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC;CAChC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG;IACrC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1D,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"url-loader.d.ts","sourceRoot":"","sources":["../../../../src/core/url-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,gBAAgB,MAAM,sBAAsB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKzD;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,0BAAyE;CAAG;AAEvH;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAChC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC;CAChC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG;IACrC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1D,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,uGAAuG;IACvG,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAsDF;;GAEG;AACH,eAAO,MAAM,UAAU,YAAa,MAAM,KAAG,OAQ5C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,aAAa,OAAO,KAAQ,SAAS,gBAAgB,EAIjF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,OAAQ,MAAM,WAAW,MAAM,YAAW,OAAO,KAAQ,IAcxF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,OAAQ,MAAM,YAAW,OAAO,KAAQ,MAAM,GAAG,SAIhF,CAAC;AA2GF;;;;GAIG;AACH,eAAO,MAAM,OAAO,aAAa,cAAc,KAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,CA2CvF,CAAC;AAEL;;;;;;GAMG;AACH,eAAO,MAAM,IAAI,mBAAoB,MAAM,CAAC,MAAM,EAAE,YAAW,OAAO,eAKnD,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,qBAAqB,CA0BxG,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,aAAc,MAAM,YAAW,OAAO,KAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAczF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,0BAA0B,CAAC"}
|
|
@@ -1,3 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export declare const meta: {
|
|
2
|
+
readonly profile: {
|
|
3
|
+
readonly key: string;
|
|
4
|
+
readonly name: string;
|
|
5
|
+
readonly description?: string | undefined;
|
|
6
|
+
readonly homePage?: string | undefined;
|
|
7
|
+
readonly source?: string | undefined;
|
|
8
|
+
readonly tags?: readonly string[] | undefined;
|
|
9
|
+
readonly screenshots?: readonly {
|
|
10
|
+
readonly light?: string | undefined;
|
|
11
|
+
readonly dark?: string | undefined;
|
|
12
|
+
}[] | undefined;
|
|
13
|
+
readonly icon?: {
|
|
14
|
+
readonly key: string;
|
|
15
|
+
readonly hue?: string | undefined;
|
|
16
|
+
} | undefined;
|
|
17
|
+
readonly dependsOn?: readonly string[] | undefined;
|
|
18
|
+
readonly spec?: string | undefined;
|
|
19
|
+
readonly author?: string | undefined;
|
|
20
|
+
};
|
|
21
|
+
readonly release?: {
|
|
22
|
+
readonly version: string;
|
|
23
|
+
readonly moduleUrl: string;
|
|
24
|
+
readonly dependencies?: {
|
|
25
|
+
readonly [x: string]: string;
|
|
26
|
+
} | undefined;
|
|
27
|
+
} | undefined;
|
|
28
|
+
};
|
|
3
29
|
//# sourceMappingURL=meta.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../src/plugin-process-manager/meta.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../src/plugin-process-manager/meta.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOf,CAAC"}
|
|
@@ -5,7 +5,7 @@ import { Capabilities } from '../common';
|
|
|
5
5
|
import { ActivationEvent, type Capability, type CapabilityManager, type Plugin, PluginManager } from '../core';
|
|
6
6
|
export type TestAppOptions = {
|
|
7
7
|
/**
|
|
8
|
-
* Plugins to register. Plugins whose `meta.tags` includes `'system'` are treated as core
|
|
8
|
+
* Plugins to register. Plugins whose `meta.profile.tags` includes `'system'` are treated as core
|
|
9
9
|
* (force-enabled). For test convenience, plugins without a `'system'` tag are enabled by
|
|
10
10
|
* default unless `enabled` is provided.
|
|
11
11
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../../../../src/testing/harness.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../../../../src/testing/harness.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type RenderOptions, type RenderResult } from '@testing-library/react';
|
|
2
2
|
import { type FC, type PropsWithChildren, type ReactNode } from 'react';
|
|
3
|
+
import { type RoleToken } from '../ui/components/Surface/types';
|
|
3
4
|
import { type TestHarness } from './harness';
|
|
4
5
|
export type HarnessRenderOptions = Omit<RenderOptions, 'wrapper'> & {
|
|
5
6
|
/** Additional providers to wrap around the harness tree (applied innermost first). */
|
|
@@ -10,9 +11,9 @@ export type HarnessRenderOptions = Omit<RenderOptions, 'wrapper'> & {
|
|
|
10
11
|
* `Capabilities.ReactContext`.
|
|
11
12
|
*/
|
|
12
13
|
export declare const render: (harness: TestHarness, ui: ReactNode, options?: HarnessRenderOptions) => RenderResult;
|
|
13
|
-
export type RenderSurfaceProps = {
|
|
14
|
-
|
|
15
|
-
data?:
|
|
14
|
+
export type RenderSurfaceProps<TToken extends RoleToken<any>> = {
|
|
15
|
+
type: TToken;
|
|
16
|
+
data?: TToken extends RoleToken<infer D> ? D : never;
|
|
16
17
|
limit?: number;
|
|
17
18
|
fallback?: FC<{
|
|
18
19
|
error: Error;
|
|
@@ -21,7 +22,7 @@ export type RenderSurfaceProps = {
|
|
|
21
22
|
placeholder?: ReactNode;
|
|
22
23
|
};
|
|
23
24
|
/**
|
|
24
|
-
* Renders a `Surface` with the given role/data inside the harness provider tree.
|
|
25
|
+
* Renders a `Surface` with the given role token/data inside the harness provider tree.
|
|
25
26
|
*/
|
|
26
|
-
export declare const renderSurface: (harness: TestHarness, props: RenderSurfaceProps
|
|
27
|
+
export declare const renderSurface: <TToken extends RoleToken<any>>(harness: TestHarness, props: RenderSurfaceProps<TToken>, options?: HarnessRenderOptions) => RenderResult;
|
|
27
28
|
//# sourceMappingURL=react.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../../src/testing/react.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAuB,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACpG,OAAc,EAAE,KAAK,EAAE,EAAY,KAAK,iBAAiB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AASzF,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG;IAClE,sFAAsF;IACtF,aAAa,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;CACzC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,MAAM,YAAa,WAAW,MAAM,SAAS,YAAY,oBAAoB,KAAG,YAQ5F,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../../src/testing/react.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAuB,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACpG,OAAc,EAAE,KAAK,EAAE,EAAY,KAAK,iBAAiB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AASzF,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG;IAClE,sFAAsF;IACtF,aAAa,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;CACzC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,MAAM,YAAa,WAAW,MAAM,SAAS,YAAY,oBAAoB,KAAG,YAQ5F,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,MAAM,SAAS,SAAS,CAAC,GAAG,CAAC,IAAI;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,EAAE,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IAC5C,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,SAAS,SAAS,CAAC,GAAG,CAAC,WAChD,WAAW,SACb,kBAAkB,CAAC,MAAM,CAAC,YACvB,oBAAoB,KAC7B,YAOF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withPluginManager.d.ts","sourceRoot":"","sources":["../../../../src/testing/withPluginManager.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAQrE,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,YAAY,CAAC;AAGlE,OAAO,EAAE,KAAK,eAAe,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAyB,MAAM,SAAS,CAAC;AAC1G,OAAO,EAAE,KAAK,aAAa,EAAU,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"withPluginManager.d.ts","sourceRoot":"","sources":["../../../../src/testing/withPluginManager.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAQrE,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,YAAY,CAAC;AAGlE,OAAO,EAAE,KAAK,eAAe,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAyB,MAAM,SAAS,CAAC;AAC1G,OAAO,EAAE,KAAK,aAAa,EAAU,MAAM,OAAO,CAAC;AA0CnD,MAAM,MAAM,wBAAwB,GAAG,aAAa,GAAG;IACrD,kBAAkB;IAClB,YAAY,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACpF,kBAAkB;IAClB,UAAU,CAAC,EAAE,CAAC,eAAe,CAAC,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC;CAC3D,CAAC;AAEF,MAAM,MAAM,4BAA4B,CAAC,IAAI,GAAG,IAAI,IAChD,wBAAwB,GACxB,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,wBAAwB,CAAC,CAAC;AAEhE;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,IAAI,SAAS,4BAA4B,CAAC,IAAI,CAAC,KAAQ,SAuCxF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withPluginManager.stories.d.ts","sourceRoot":"","sources":["../../../../src/testing/withPluginManager.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"withPluginManager.stories.d.ts","sourceRoot":"","sources":["../../../../src/testing/withPluginManager.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAqB1B,QAAA,MAAM,IAAI;;;;CAkB2B,CAAC;eAEvB,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
|
|
@@ -3,6 +3,12 @@ import { type PluginManager } from '../../../core';
|
|
|
3
3
|
* Get the plugin manager.
|
|
4
4
|
*/
|
|
5
5
|
export declare const usePluginManager: () => PluginManager.PluginManager;
|
|
6
|
+
/**
|
|
7
|
+
* Get the plugin manager if present, or `undefined` when rendered outside a {@link PluginManagerProvider}
|
|
8
|
+
* (e.g. a standalone component story). Lets components treat plugin capabilities as a progressive
|
|
9
|
+
* enhancement rather than a hard requirement.
|
|
10
|
+
*/
|
|
11
|
+
export declare const useOptionalPluginManager: () => PluginManager.PluginManager | undefined;
|
|
6
12
|
/**
|
|
7
13
|
* Context provider for a plugin manager.
|
|
8
14
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginManagerProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/PluginManager/PluginManagerProvider.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAInD;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAO,aAAa,CAAC,aACoC,CAAC;AAEvF;;GAEG;AACH,eAAO,MAAM,qBAAqB,mEAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"PluginManagerProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/PluginManager/PluginManagerProvider.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAInD;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAO,aAAa,CAAC,aACoC,CAAC;AAEvF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,QAAO,aAAa,CAAC,aAAa,GAAG,SAA6C,CAAC;AAExH;;GAEG;AACH,eAAO,MAAM,qBAAqB,mEAAgC,CAAC"}
|
|
@@ -1,24 +1,20 @@
|
|
|
1
1
|
import React, { type NamedExoticComponent, type RefAttributes } from 'react';
|
|
2
2
|
import { type CapabilityManager } from '../../../core';
|
|
3
|
-
import { type
|
|
3
|
+
import { type RoleToken, type TokenData, type TypedProps } from './types';
|
|
4
4
|
/**
|
|
5
5
|
* A surface is a named region of the screen that can be populated by plugins.
|
|
6
|
+
* The `type` prop is a {@link RoleToken} that defines which region and its
|
|
7
|
+
* associated data contract.
|
|
6
8
|
*/
|
|
7
|
-
export declare const SurfaceComponent: (<TToken extends RoleToken<any>>(props: TypedProps<TToken> & RefAttributes<HTMLElement>) => React.ReactNode) & NamedExoticComponent<
|
|
9
|
+
export declare const SurfaceComponent: (<TToken extends RoleToken<any>>(props: TypedProps<TToken> & RefAttributes<HTMLElement>) => React.ReactNode) & NamedExoticComponent<TypedProps<RoleToken<any>> & RefAttributes<HTMLElement>>;
|
|
8
10
|
/**
|
|
9
11
|
* @returns `true` if there is a contributed surface which matches the specified role & data, `false` otherwise.
|
|
10
12
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* declared contract (e.g. `AppSurface.Section` requires `attendableId`).
|
|
14
|
-
* - Legacy: pass a string `role` and `data` is untyped.
|
|
13
|
+
* Typed: pass a `type` role token and `data` is constrained to the token's
|
|
14
|
+
* declared contract (e.g. `AppSurface.Section` requires `attendableId`).
|
|
15
15
|
*/
|
|
16
16
|
export declare function isSurfaceAvailable<TToken extends RoleToken<any>>(capabilityManager: CapabilityManager.CapabilityManager, args: {
|
|
17
17
|
type: TToken;
|
|
18
18
|
data?: TokenData<TToken>;
|
|
19
|
-
role?: never;
|
|
20
|
-
}): boolean;
|
|
21
|
-
export declare function isSurfaceAvailable(capabilityManager: CapabilityManager.CapabilityManager, args: Pick<Props, 'role' | 'data'> & {
|
|
22
|
-
type?: undefined;
|
|
23
19
|
}): boolean;
|
|
24
20
|
//# sourceMappingURL=SurfaceComponent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SurfaceComponent.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Surface/SurfaceComponent.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"SurfaceComponent.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Surface/SurfaceComponent.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAGZ,KAAK,oBAAoB,EAEzB,KAAK,aAAa,EAOnB,MAAM,OAAO,CAAC;AAQf,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAKvD,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,UAAU,EAEhB,MAAM,SAAS,CAAC;AAmKjB;;;;GAIG;AAEH,eAAO,MAAM,gBAAgB,EA6CxB,CAAC,CAAC,MAAM,SAAS,SAAS,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,GAC/G,oBAAoB,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;AAwChF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,SAAS,SAAS,CAAC,GAAG,CAAC,EAC9D,iBAAiB,EAAE,iBAAiB,CAAC,iBAAiB,EACtD,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;CAAE,GAC/C,OAAO,CAWT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SurfaceComponent.stories.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Surface/SurfaceComponent.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,
|
|
1
|
+
{"version":3,"file":"SurfaceComponent.stories.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Surface/SurfaceComponent.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAmD,MAAM,OAAO,CAAC;AA0HxE,QAAA,MAAM,IAAI;;;;;QAKN,MAAM;;CAE2B,CAAC;eAEvB,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { type Context } from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
export type SurfaceContext = {
|
|
3
|
+
id?: string;
|
|
4
|
+
/** The resolved role NSID (e.g. `org.dxos.role.article`). */
|
|
5
|
+
role: string;
|
|
6
|
+
data?: Record<string, any>;
|
|
7
|
+
};
|
|
4
8
|
export declare const SurfaceContext: Context<SurfaceContext | undefined>;
|
|
5
9
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Surface/context.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAiB,MAAM,OAAO,CAAC;AAEpD,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Surface/context.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAiB,MAAM,OAAO,CAAC;AAEpD,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B,CAAC;AAGF,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,cAAc,GAAG,SAAS,CAAwD,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { DXN } from '@dxos/keys';
|
|
1
2
|
import { SurfaceContext } from './context';
|
|
2
3
|
import { isSurfaceAvailable } from './SurfaceComponent';
|
|
3
4
|
import { type Definition as SurfaceDefinition, type RoleToken as SurfaceRoleToken, type SurfaceBinding as SurfaceBindingType, type SurfaceFilter as SurfaceFilterType, type TokenData as SurfaceTokenData, type TypedProps as SurfaceTypedProps, create as createSurface, createWeb as createWebSurface } from './types';
|
|
@@ -13,8 +14,10 @@ export declare namespace Surface {
|
|
|
13
14
|
data?: any;
|
|
14
15
|
}>;
|
|
15
16
|
placeholder?: import("react").ReactNode;
|
|
16
|
-
|
|
17
|
-
type
|
|
17
|
+
id?: string;
|
|
18
|
+
type: SurfaceRoleToken<any>;
|
|
19
|
+
data?: any;
|
|
20
|
+
limit?: number | undefined;
|
|
18
21
|
} & {
|
|
19
22
|
[x: string]: any;
|
|
20
23
|
} & import("react").RefAttributes<HTMLElement>>;
|
|
@@ -24,7 +27,11 @@ export declare namespace Surface {
|
|
|
24
27
|
type Filter<TData> = SurfaceFilterType<TData>;
|
|
25
28
|
type TokenData<T> = SurfaceTokenData<T>;
|
|
26
29
|
type TypedProps<TToken extends SurfaceRoleToken<any>> = SurfaceTypedProps<TToken>;
|
|
27
|
-
|
|
30
|
+
/** Mints a typed role token. The NSID is validated at compile time via {@link DXN.Name}. */
|
|
31
|
+
const makeType: {
|
|
32
|
+
<TData = unknown, T extends string = string>(nsid: [DXN.Name<T>] extends [never] ? `Invalid NSID "${T}": final segment must be camelCase (no hyphens)` : T): SurfaceRoleToken<TData>;
|
|
33
|
+
};
|
|
34
|
+
const makeFilter: <TData>(token: SurfaceRoleToken<TData>, guard?: (data: TData) => boolean) => SurfaceFilterType<TData>;
|
|
28
35
|
const isFilter: (value: unknown) => value is SurfaceFilterType<any>;
|
|
29
36
|
const ProfilerProvider: ({ children }: import("react").PropsWithChildren) => import("react").JSX.Element;
|
|
30
37
|
const useProfilerCallback: () => import("react").ProfilerOnRenderCallback | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Surface/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Surface/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAoB,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAQ1E,OAAO,EACL,KAAK,UAAU,IAAI,iBAAiB,EACpC,KAAK,SAAS,IAAI,gBAAgB,EAClC,KAAK,cAAc,IAAI,kBAAkB,EACzC,KAAK,aAAa,IAAI,iBAAiB,EACvC,KAAK,SAAS,IAAI,gBAAgB,EAClC,KAAK,UAAU,IAAI,iBAAiB,EACpC,MAAM,IAAI,aAAa,EACvB,SAAS,IAAI,gBAAgB,EAI9B,MAAM,SAAS,CAAC;AAEjB,yBAAiB,OAAO,CAAC,CAAC;IACxB,KAAY,UAAU,GAAG,iBAAiB,CAAC;IACpC,MAAM,MAAM,sBAAgB,CAAC;IAC7B,MAAM,SAAS,yBAAmB,CAAC;IAE1C,KAAY,OAAO,GAAG,cAAc,CAAC;IAC9B,MAAM,OAAO,qDAAiB,CAAC;IAE/B,MAAM,OAAO;;;;;;;;;;;;mDAAmB,CAAC;IACjC,MAAM,WAAW,2BAAqB,CAAC;IAE9C,KAAY,SAAS,CAAC,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACvD,KAAY,OAAO,GAAG,kBAAkB,CAAC;IACzC,KAAY,MAAM,CAAC,KAAK,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACrD,KAAY,SAAS,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC/C,KAAY,UAAU,CAAC,MAAM,SAAS,gBAAgB,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAEzF,4FAA4F;IACrF,MAAM,QAAQ,EAAE;QACrB,CAAC,KAAK,GAAG,OAAO,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,EACzC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,iBAAiB,CAAC,iDAAiD,GAAG,CAAC,GAC5G,gBAAgB,CAAC,KAAK,CAAC,CAAC;KACf,CAAC;IAER,MAAM,UAAU,uGAAe,CAAC;IAChC,MAAM,QAAQ,qDAAoB,CAAC;IAEnC,MAAM,gBAAgB,kFAA0B,CAAC;IACjD,MAAM,mBAAmB,4DAA6B,CAAC;IACvD,MAAM,kBAAkB,0EAA4B,CAAC;IACrD,MAAM,gBAAgB,iEAA0B,CAAC;IACjD,MAAM,gBAAgB,gCAA0B,CAAC;CACzD;AAED,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import type { FC, PropsWithChildren, ReactNode,
|
|
1
|
+
import type { FC, PropsWithChildren, ReactNode, Ref } from 'react';
|
|
2
|
+
import type { DXN } from '@dxos/keys';
|
|
2
3
|
import type { MakeOptional, Position } from '@dxos/util';
|
|
3
4
|
/**
|
|
4
|
-
* A typed role token. Carries a role
|
|
5
|
+
* A typed role token. Carries a role NSID for runtime dispatch plus a phantom
|
|
5
6
|
* data type so consumers using `type={SomeToken}` and providers using
|
|
6
7
|
* `AppSurface.object(SomeToken, ...)` share a single type-level contract.
|
|
7
8
|
*
|
|
8
|
-
* Mint via {@link makeType}.
|
|
9
|
+
* Mint via {@link makeType}. The `role` field holds the bare NSID (e.g.
|
|
10
|
+
* `org.dxos.role.article`) — the dispatch key, `data-role` attribute value,
|
|
11
|
+
* and what `.role` comparisons inside matched components see.
|
|
9
12
|
*/
|
|
10
13
|
export type RoleToken<TData> = {
|
|
11
14
|
readonly role: string;
|
|
@@ -13,8 +16,8 @@ export type RoleToken<TData> = {
|
|
|
13
16
|
readonly _phantom?: TData;
|
|
14
17
|
};
|
|
15
18
|
/**
|
|
16
|
-
* One entry in a {@link SurfaceFilter} — a role plus the guard that
|
|
17
|
-
* the data shape when the Surface dispatcher is matching that role.
|
|
19
|
+
* One entry in a {@link SurfaceFilter} — a role NSID plus the guard that
|
|
20
|
+
* validates the data shape when the Surface dispatcher is matching that role.
|
|
18
21
|
*/
|
|
19
22
|
export type SurfaceBinding = {
|
|
20
23
|
readonly role: string;
|
|
@@ -40,16 +43,31 @@ export type TokenData<T> = T extends RoleToken<infer D> ? D : never;
|
|
|
40
43
|
*/
|
|
41
44
|
export declare const isSurfaceFilter: (value: unknown) => value is SurfaceFilter<any>;
|
|
42
45
|
/**
|
|
43
|
-
* Mints a typed role token.
|
|
44
|
-
*
|
|
46
|
+
* Mints a typed role token. The NSID is validated at compile time via
|
|
47
|
+
* {@link DXN.Name}: the final segment must be camelCase (no hyphens).
|
|
48
|
+
* Dynamic NSIDs (template-literal / runtime strings) are validated at runtime.
|
|
49
|
+
*
|
|
50
|
+
* Identity is structural; all tokens with the same `role` string are
|
|
51
|
+
* interchangeable at runtime.
|
|
45
52
|
*/
|
|
46
|
-
export declare const makeType:
|
|
53
|
+
export declare const makeType: {
|
|
54
|
+
<TData = unknown, T extends string = string>(nsid: [DXN.Name<T>] extends [never] ? `Invalid NSID "${T}": final segment must be camelCase (no hyphens)` : T): RoleToken<TData>;
|
|
55
|
+
};
|
|
47
56
|
/**
|
|
48
|
-
*
|
|
57
|
+
* Creates a {@link SurfaceFilter} from a role token and an optional guard.
|
|
49
58
|
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
59
|
+
* When `guard` is omitted the filter matches any data at the token's role
|
|
60
|
+
* (role-only dispatch). Pass a guard to add runtime data-shape validation on
|
|
61
|
+
* top of the role match.
|
|
62
|
+
*
|
|
63
|
+
* This is the framework-level primitive; `@dxos/app-toolkit` builds richer
|
|
64
|
+
* domain-aware helpers (ECHO schema checks, literal matching, etc.) on top of it.
|
|
65
|
+
*/
|
|
66
|
+
export declare const makeFilter: <TData>(token: RoleToken<TData>, guard?: (data: TData) => boolean) => SurfaceFilter<TData>;
|
|
67
|
+
/**
|
|
68
|
+
* Typed Surface consumer props — carries the role/data-shape contract via a
|
|
69
|
+
* {@link RoleToken}. The `type` prop is required; the string `role` prop has
|
|
70
|
+
* been removed from the consumer-facing API.
|
|
53
71
|
*/
|
|
54
72
|
export type Props<T extends Record<string, any> = Record<string, unknown>> = {
|
|
55
73
|
/**
|
|
@@ -65,22 +83,7 @@ export type Props<T extends Record<string, any> = Record<string, unknown>> = {
|
|
|
65
83
|
* The placeholder component will be rendered while the surface component is loading.
|
|
66
84
|
*/
|
|
67
85
|
placeholder?: ReactNode;
|
|
68
|
-
} & MakeOptional<CoreProps<T>, 'id' | 'data'
|
|
69
|
-
/**
|
|
70
|
-
* Explicitly disallow `type` on the untyped Props overload — if the caller
|
|
71
|
-
* provides `type={AppSurface.X}`, TypeScript must route to the typed
|
|
72
|
-
* overload (where `data` is narrowed by the token). Without this, the
|
|
73
|
-
* catch-all index signature below would accept any `type` value and mask
|
|
74
|
-
* the typed overload entirely.
|
|
75
|
-
*/
|
|
76
|
-
type?: undefined;
|
|
77
|
-
} /**
|
|
78
|
-
* Additional props to pass to the component.
|
|
79
|
-
* These props are not used by Surface itself but may be used by components which resolve the surface.
|
|
80
|
-
* Exclude known prop names to prevent overriding well-defined props.
|
|
81
|
-
*/ & {
|
|
82
|
-
[K in keyof Record<string, any>]: K extends keyof CoreProps<T> | 'fallback' | 'placeholder' | 'type' ? never : any;
|
|
83
|
-
};
|
|
86
|
+
} & MakeOptional<CoreProps<T>, 'id' | 'data'>;
|
|
84
87
|
/**
|
|
85
88
|
* Typed Surface consumer props — carries the role/data-shape contract via a
|
|
86
89
|
* {@link RoleToken}. Available as a typed overload of the Surface component so
|
|
@@ -102,6 +105,8 @@ export type TypedProps<TToken extends RoleToken<any>> = {
|
|
|
102
105
|
};
|
|
103
106
|
/**
|
|
104
107
|
* NOTE: If `[key: string]: unknown` is included in shared types, when re-used other fields become unknown as well.
|
|
108
|
+
* The `type` prop is the only way to set the role; it is required here and
|
|
109
|
+
* optional in {@link Props} via MakeOptional.
|
|
105
110
|
*/
|
|
106
111
|
export type CoreProps<T extends Record<string, any> = Record<string, unknown>> = PropsWithChildren<{
|
|
107
112
|
/**
|
|
@@ -109,12 +114,9 @@ export type CoreProps<T extends Record<string, any> = Record<string, unknown>> =
|
|
|
109
114
|
*/
|
|
110
115
|
id: string;
|
|
111
116
|
/**
|
|
112
|
-
*
|
|
113
|
-
* typed overload of the Surface component which takes a {@link RoleToken}
|
|
114
|
-
* via the `type` prop instead — it enforces a role/data contract at compile
|
|
115
|
-
* time.
|
|
117
|
+
* The role token defining how the data should be rendered.
|
|
116
118
|
*/
|
|
117
|
-
|
|
119
|
+
type: RoleToken<T>;
|
|
118
120
|
/**
|
|
119
121
|
* The data to be rendered by the surface.
|
|
120
122
|
* NOTE: This must be a stable value.
|
|
@@ -125,43 +127,23 @@ export type CoreProps<T extends Record<string, any> = Record<string, unknown>> =
|
|
|
125
127
|
*/
|
|
126
128
|
limit?: number | undefined;
|
|
127
129
|
}>;
|
|
128
|
-
export type ComponentProps<T extends Record<string, any> = Record<string, any>> =
|
|
129
|
-
|
|
130
|
-
|
|
130
|
+
export type ComponentProps<T extends Record<string, any> = Record<string, any>> = {
|
|
131
|
+
/**
|
|
132
|
+
* The resolved role NSID string (e.g. `org.dxos.role.article`). Present on
|
|
133
|
+
* matched components only — multi-role containers can branch on this value
|
|
134
|
+
* by comparing against a token's `.role` (e.g. `role === AppSurface.Section.role`).
|
|
135
|
+
*/
|
|
136
|
+
role: string;
|
|
137
|
+
ref?: Ref<HTMLElement>;
|
|
138
|
+
} & PropsWithChildren<{
|
|
139
|
+
id: string;
|
|
140
|
+
data: T;
|
|
141
|
+
limit?: number | undefined;
|
|
142
|
+
}> & Record<string, any>;
|
|
131
143
|
/**
|
|
132
144
|
* React component used to render a surface once is has matched.
|
|
133
145
|
*/
|
|
134
146
|
export type ComponentFunction<T extends Record<string, any> = Record<string, any>> = (props: ComponentProps<T>) => ReactNode;
|
|
135
|
-
/**
|
|
136
|
-
* Definition of when a React component surface should be rendered.
|
|
137
|
-
*
|
|
138
|
-
* The optional `filter` receives the consumer-supplied `role` as its second
|
|
139
|
-
* argument so a single definition can encode role-specific guards (used by the
|
|
140
|
-
* {@link SurfaceFilter}-based `create` overload).
|
|
141
|
-
*/
|
|
142
|
-
export type ReactDefinition<T extends Record<string, any> = any> = Readonly<{
|
|
143
|
-
kind: 'react';
|
|
144
|
-
id: string;
|
|
145
|
-
role: string | string[];
|
|
146
|
-
position?: Position;
|
|
147
|
-
component: ComponentFunction<T>;
|
|
148
|
-
filter?: (data: Record<string, unknown>, role?: string) => data is T;
|
|
149
|
-
}>;
|
|
150
|
-
/**
|
|
151
|
-
* Definition of when a Web Component surface should be rendered.
|
|
152
|
-
*/
|
|
153
|
-
export type WebComponentDefinition<T extends Record<string, any> = any> = Readonly<{
|
|
154
|
-
kind: 'web-component';
|
|
155
|
-
id: string;
|
|
156
|
-
role: string | string[];
|
|
157
|
-
position?: Position;
|
|
158
|
-
/**
|
|
159
|
-
* The tag name of the Web Component to render.
|
|
160
|
-
* The Web Component will receive the same props as React surfaces via properties/attributes.
|
|
161
|
-
*/
|
|
162
|
-
tagName: string;
|
|
163
|
-
filter?: (data: Record<string, unknown>, role?: string) => data is T;
|
|
164
|
-
}>;
|
|
165
147
|
/**
|
|
166
148
|
* Definition of when a surface (React or Web Component) should be rendered.
|
|
167
149
|
*/
|
|
@@ -185,13 +167,11 @@ export type TypedWebComponentDefinition<T extends Record<string, any> = any> = R
|
|
|
185
167
|
position?: Position;
|
|
186
168
|
}>;
|
|
187
169
|
/**
|
|
188
|
-
* Creates a React surface definition.
|
|
170
|
+
* Creates a React surface definition from a typed filter.
|
|
189
171
|
*/
|
|
190
172
|
export declare function create<T extends Record<string, any> = any>(definition: TypedReactDefinition<T>): ReactDefinition<T>;
|
|
191
|
-
export declare function create<T extends Record<string, any> = any>(definition: Omit<ReactDefinition<T>, 'kind'>): ReactDefinition<T>;
|
|
192
173
|
/**
|
|
193
|
-
* Creates a Web Component surface definition.
|
|
174
|
+
* Creates a Web Component surface definition from a typed filter.
|
|
194
175
|
*/
|
|
195
176
|
export declare function createWeb<T extends Record<string, any> = any>(definition: TypedWebComponentDefinition<T>): WebComponentDefinition<T>;
|
|
196
|
-
export declare function createWeb<T extends Record<string, any> = any>(definition: Omit<WebComponentDefinition<T>, 'kind'>): WebComponentDefinition<T>;
|
|
197
177
|
//# sourceMappingURL=types.d.ts.map
|