@dxos/app-framework 0.6.13 → 0.6.14-main.1366248
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/chunk-3E7RY3CE.mjs +72 -0
- package/dist/lib/browser/chunk-3E7RY3CE.mjs.map +7 -0
- package/dist/lib/browser/chunk-653Y45CL.mjs +41 -0
- package/dist/lib/browser/chunk-653Y45CL.mjs.map +7 -0
- package/dist/lib/browser/{plugin-MM66VRCO.mjs → chunk-CDLQO5K2.mjs} +66 -20
- package/dist/lib/browser/chunk-CDLQO5K2.mjs.map +7 -0
- package/dist/lib/browser/chunk-EQTQGGE6.mjs +214 -0
- package/dist/lib/browser/chunk-EQTQGGE6.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +183 -293
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/plugin-intent-Q5KFPKFA.mjs +22 -0
- package/dist/lib/browser/plugin-intent-Q5KFPKFA.mjs.map +7 -0
- package/dist/lib/browser/plugin-settings-OM3G2QFY.mjs +11 -0
- package/dist/lib/browser/plugin-settings-OM3G2QFY.mjs.map +7 -0
- package/dist/lib/browser/plugin-surface-ZQXFAL46.mjs +24 -0
- package/dist/lib/browser/plugin-surface-ZQXFAL46.mjs.map +7 -0
- package/dist/lib/node/chunk-EF67TRWJ.cjs +236 -0
- package/dist/lib/node/chunk-EF67TRWJ.cjs.map +7 -0
- package/dist/lib/node/chunk-JZ2JVKRY.cjs +58 -0
- package/dist/lib/node/chunk-JZ2JVKRY.cjs.map +7 -0
- package/dist/lib/node/{chunk-62W6CMGM.cjs → chunk-QBM42OQ6.cjs} +56 -5
- package/dist/lib/node/chunk-QBM42OQ6.cjs.map +7 -0
- package/dist/lib/node/{plugin-QV7ESETI.cjs → chunk-VOKMWTKO.cjs} +74 -20
- package/dist/lib/node/chunk-VOKMWTKO.cjs.map +7 -0
- package/dist/lib/node/index.cjs +195 -310
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/plugin-intent-FMC4SDI3.cjs +43 -0
- package/dist/lib/node/plugin-intent-FMC4SDI3.cjs.map +7 -0
- package/dist/lib/node/plugin-settings-OZ6IKAE5.cjs +32 -0
- package/dist/lib/node/plugin-settings-OZ6IKAE5.cjs.map +7 -0
- package/dist/lib/node/{chunk-P5GRB4XF.cjs → plugin-surface-B5NHOBSW.cjs} +19 -22
- package/dist/lib/node/plugin-surface-B5NHOBSW.cjs.map +7 -0
- package/dist/lib/node-esm/chunk-3FCLBEOX.mjs +215 -0
- package/dist/lib/node-esm/chunk-3FCLBEOX.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-EYCTSFEJ.mjs +74 -0
- package/dist/lib/node-esm/chunk-EYCTSFEJ.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-MYNXI5VG.mjs +214 -0
- package/dist/lib/node-esm/chunk-MYNXI5VG.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-YNU7FTGJ.mjs +43 -0
- package/dist/lib/node-esm/chunk-YNU7FTGJ.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +567 -0
- package/dist/lib/node-esm/index.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -0
- package/dist/lib/node-esm/plugin-intent-KETLP7UL.mjs +23 -0
- package/dist/lib/node-esm/plugin-intent-KETLP7UL.mjs.map +7 -0
- package/dist/lib/node-esm/plugin-settings-37UVWF2V.mjs +12 -0
- package/dist/lib/node-esm/plugin-settings-37UVWF2V.mjs.map +7 -0
- package/dist/lib/node-esm/plugin-surface-QXQRR534.mjs +25 -0
- package/dist/lib/node-esm/plugin-surface-QXQRR534.mjs.map +7 -0
- package/dist/types/src/App.d.ts +5 -5
- package/dist/types/src/App.d.ts.map +1 -1
- package/dist/types/src/plugins/common/file.d.ts +1 -1
- package/dist/types/src/plugins/common/file.d.ts.map +1 -1
- package/dist/types/src/plugins/common/graph.d.ts +1 -1
- package/dist/types/src/plugins/common/graph.d.ts.map +1 -1
- package/dist/types/src/plugins/common/index.d.ts +0 -1
- package/dist/types/src/plugins/common/index.d.ts.map +1 -1
- package/dist/types/src/plugins/common/layout.d.ts +6 -6
- package/dist/types/src/plugins/common/layout.d.ts.map +1 -1
- package/dist/types/src/plugins/common/metadata.d.ts +1 -1
- package/dist/types/src/plugins/common/metadata.d.ts.map +1 -1
- package/dist/types/src/plugins/common/navigation.d.ts +9 -20
- package/dist/types/src/plugins/common/navigation.d.ts.map +1 -1
- package/dist/types/src/plugins/common/translations.d.ts +1 -1
- package/dist/types/src/plugins/common/translations.d.ts.map +1 -1
- package/dist/types/src/plugins/helpers.d.ts +20 -5
- package/dist/types/src/plugins/helpers.d.ts.map +1 -1
- package/dist/types/src/plugins/index.d.ts +4 -3
- package/dist/types/src/plugins/index.d.ts.map +1 -1
- package/dist/types/src/plugins/plugin-host/HostPlugin.d.ts +21 -0
- package/dist/types/src/plugins/plugin-host/HostPlugin.d.ts.map +1 -0
- package/dist/types/src/plugins/plugin-host/PluginContainer.d.ts +14 -0
- package/dist/types/src/plugins/plugin-host/PluginContainer.d.ts.map +1 -0
- package/dist/types/src/plugins/{PluginHost → plugin-host}/PluginContext.d.ts +4 -4
- package/dist/types/src/plugins/plugin-host/PluginContext.d.ts.map +1 -0
- package/dist/types/src/plugins/plugin-host/index.d.ts +4 -0
- package/dist/types/src/plugins/plugin-host/index.d.ts.map +1 -0
- package/dist/types/src/plugins/{PluginHost → plugin-host}/plugin.d.ts +41 -83
- package/dist/types/src/plugins/plugin-host/plugin.d.ts.map +1 -0
- package/dist/types/src/plugins/plugin-host/plugin.test.d.ts.map +1 -0
- package/dist/types/src/plugins/plugin-intent/IntentContext.d.ts.map +1 -0
- package/dist/types/src/plugins/{IntentPlugin/plugin.d.ts → plugin-intent/IntentPlugin.d.ts} +3 -4
- package/dist/types/src/plugins/plugin-intent/IntentPlugin.d.ts.map +1 -0
- package/dist/types/src/plugins/plugin-intent/helpers.d.ts.map +1 -0
- package/dist/types/src/plugins/plugin-intent/index.d.ts +6 -0
- package/dist/types/src/plugins/plugin-intent/index.d.ts.map +1 -0
- package/dist/types/src/plugins/{IntentPlugin → plugin-intent}/intent.d.ts +1 -1
- package/dist/types/src/plugins/plugin-intent/intent.d.ts.map +1 -0
- package/dist/types/src/plugins/plugin-intent/meta.d.ts.map +1 -0
- package/dist/types/src/plugins/{IntentPlugin → plugin-intent}/provides.d.ts +2 -2
- package/dist/types/src/plugins/plugin-intent/provides.d.ts.map +1 -0
- package/dist/types/src/plugins/plugin-settings/SettingsPlugin.d.ts +4 -0
- package/dist/types/src/plugins/plugin-settings/SettingsPlugin.d.ts.map +1 -0
- package/dist/types/src/plugins/plugin-settings/index.d.ts +4 -0
- package/dist/types/src/plugins/plugin-settings/index.d.ts.map +1 -0
- package/dist/types/src/plugins/plugin-settings/meta.d.ts +5 -0
- package/dist/types/src/plugins/plugin-settings/meta.d.ts.map +1 -0
- package/dist/types/src/plugins/plugin-settings/provides.d.ts +13 -0
- package/dist/types/src/plugins/plugin-settings/provides.d.ts.map +1 -0
- package/dist/types/src/plugins/plugin-surface/ErrorBoundary.d.ts.map +1 -0
- package/dist/types/src/plugins/{SurfacePlugin → plugin-surface}/Surface.d.ts +6 -2
- package/dist/types/src/plugins/plugin-surface/Surface.d.ts.map +1 -0
- package/dist/types/src/plugins/plugin-surface/SurfacePlugin.d.ts +7 -0
- package/dist/types/src/plugins/plugin-surface/SurfacePlugin.d.ts.map +1 -0
- package/dist/types/src/plugins/{SurfacePlugin → plugin-surface}/SurfaceRootContext.d.ts +15 -2
- package/dist/types/src/plugins/plugin-surface/SurfaceRootContext.d.ts.map +1 -0
- package/dist/types/src/plugins/plugin-surface/helpers.d.ts.map +1 -0
- package/dist/types/src/plugins/{SurfacePlugin → plugin-surface}/index.d.ts +2 -0
- package/dist/types/src/plugins/plugin-surface/index.d.ts.map +1 -0
- package/dist/types/src/plugins/plugin-surface/meta.d.ts.map +1 -0
- package/dist/types/src/plugins/{SurfacePlugin → plugin-surface}/provides.d.ts +1 -1
- package/dist/types/src/plugins/plugin-surface/provides.d.ts.map +1 -0
- package/package.json +16 -14
- package/project.json +3 -8
- package/src/App.tsx +18 -16
- package/src/plugins/common/file.ts +1 -1
- package/src/plugins/common/graph.ts +1 -1
- package/src/plugins/common/index.ts +0 -1
- package/src/plugins/common/layout.ts +6 -3
- package/src/plugins/common/metadata.ts +1 -1
- package/src/plugins/common/navigation.ts +10 -15
- package/src/plugins/common/translations.ts +2 -8
- package/src/plugins/helpers.ts +55 -11
- package/src/plugins/index.ts +4 -3
- package/src/plugins/plugin-host/HostPlugin.tsx +96 -0
- package/src/plugins/plugin-host/PluginContainer.tsx +120 -0
- package/src/plugins/{PluginHost → plugin-host}/PluginContext.tsx +9 -14
- package/src/plugins/{PluginHost → plugin-host}/index.ts +2 -1
- package/src/plugins/{PluginHost → plugin-host}/plugin.test.ts +1 -2
- package/src/plugins/{PluginHost → plugin-host}/plugin.ts +50 -52
- package/src/plugins/{IntentPlugin/plugin.tsx → plugin-intent/IntentPlugin.tsx} +3 -6
- package/src/plugins/{IntentPlugin → plugin-intent}/index.ts +4 -0
- package/src/plugins/{IntentPlugin → plugin-intent}/intent.ts +1 -1
- package/src/plugins/{IntentPlugin → plugin-intent}/provides.ts +5 -2
- package/src/plugins/plugin-settings/SettingsPlugin.tsx +22 -0
- package/src/plugins/plugin-settings/index.ts +9 -0
- package/src/plugins/plugin-settings/meta.ts +9 -0
- package/src/plugins/plugin-settings/provides.ts +29 -0
- package/src/plugins/{SurfacePlugin → plugin-surface}/Surface.tsx +74 -40
- package/src/plugins/{SurfacePlugin/plugin.tsx → plugin-surface/SurfacePlugin.tsx} +3 -5
- package/src/plugins/{SurfacePlugin → plugin-surface}/SurfaceRootContext.tsx +21 -4
- package/src/plugins/{SurfacePlugin → plugin-surface}/index.ts +4 -0
- package/src/plugins/{SurfacePlugin → plugin-surface}/provides.ts +2 -1
- package/tsconfig.json +2 -30
- package/vitest.config.ts +9 -0
- package/dist/lib/browser/chunk-J45KR4DI.mjs +0 -52
- package/dist/lib/browser/chunk-J45KR4DI.mjs.map +0 -7
- package/dist/lib/browser/chunk-S5CI6EUQ.mjs +0 -20
- package/dist/lib/browser/chunk-S5CI6EUQ.mjs.map +0 -7
- package/dist/lib/browser/chunk-YYV26N3W.mjs +0 -26
- package/dist/lib/browser/chunk-YYV26N3W.mjs.map +0 -7
- package/dist/lib/browser/plugin-K3KCPCTJ.mjs +0 -39
- package/dist/lib/browser/plugin-K3KCPCTJ.mjs.map +0 -7
- package/dist/lib/browser/plugin-MM66VRCO.mjs.map +0 -7
- package/dist/lib/node/chunk-62W6CMGM.cjs.map +0 -7
- package/dist/lib/node/chunk-DFST5IG5.cjs +0 -77
- package/dist/lib/node/chunk-DFST5IG5.cjs.map +0 -7
- package/dist/lib/node/chunk-P5GRB4XF.cjs.map +0 -7
- package/dist/lib/node/plugin-QV7ESETI.cjs.map +0 -7
- package/dist/lib/node/plugin-RUJ5PEXB.cjs +0 -61
- package/dist/lib/node/plugin-RUJ5PEXB.cjs.map +0 -7
- package/dist/types/src/plugins/IntentPlugin/IntentContext.d.ts.map +0 -1
- package/dist/types/src/plugins/IntentPlugin/helpers.d.ts.map +0 -1
- package/dist/types/src/plugins/IntentPlugin/index.d.ts +0 -4
- package/dist/types/src/plugins/IntentPlugin/index.d.ts.map +0 -1
- package/dist/types/src/plugins/IntentPlugin/intent.d.ts.map +0 -1
- package/dist/types/src/plugins/IntentPlugin/meta.d.ts.map +0 -1
- package/dist/types/src/plugins/IntentPlugin/plugin.d.ts.map +0 -1
- package/dist/types/src/plugins/IntentPlugin/provides.d.ts.map +0 -1
- package/dist/types/src/plugins/PluginHost/PluginContext.d.ts.map +0 -1
- package/dist/types/src/plugins/PluginHost/PluginHost.d.ts +0 -25
- package/dist/types/src/plugins/PluginHost/PluginHost.d.ts.map +0 -1
- package/dist/types/src/plugins/PluginHost/index.d.ts +0 -4
- package/dist/types/src/plugins/PluginHost/index.d.ts.map +0 -1
- package/dist/types/src/plugins/PluginHost/plugin.d.ts.map +0 -1
- package/dist/types/src/plugins/PluginHost/plugin.test.d.ts.map +0 -1
- package/dist/types/src/plugins/SurfacePlugin/ErrorBoundary.d.ts.map +0 -1
- package/dist/types/src/plugins/SurfacePlugin/Surface.d.ts.map +0 -1
- package/dist/types/src/plugins/SurfacePlugin/SurfaceRootContext.d.ts.map +0 -1
- package/dist/types/src/plugins/SurfacePlugin/helpers.d.ts.map +0 -1
- package/dist/types/src/plugins/SurfacePlugin/index.d.ts.map +0 -1
- package/dist/types/src/plugins/SurfacePlugin/meta.d.ts.map +0 -1
- package/dist/types/src/plugins/SurfacePlugin/plugin.d.ts +0 -8
- package/dist/types/src/plugins/SurfacePlugin/plugin.d.ts.map +0 -1
- package/dist/types/src/plugins/SurfacePlugin/provides.d.ts.map +0 -1
- package/dist/types/src/plugins/common/settings.d.ts +0 -9
- package/dist/types/src/plugins/common/settings.d.ts.map +0 -1
- package/src/plugins/PluginHost/PluginHost.tsx +0 -198
- package/src/plugins/common/settings.ts +0 -22
- /package/dist/types/src/plugins/{PluginHost → plugin-host}/plugin.test.d.ts +0 -0
- /package/dist/types/src/plugins/{IntentPlugin → plugin-intent}/IntentContext.d.ts +0 -0
- /package/dist/types/src/plugins/{IntentPlugin → plugin-intent}/helpers.d.ts +0 -0
- /package/dist/types/src/plugins/{IntentPlugin → plugin-intent}/meta.d.ts +0 -0
- /package/dist/types/src/plugins/{SurfacePlugin → plugin-surface}/ErrorBoundary.d.ts +0 -0
- /package/dist/types/src/plugins/{SurfacePlugin → plugin-surface}/helpers.d.ts +0 -0
- /package/dist/types/src/plugins/{SurfacePlugin → plugin-surface}/meta.d.ts +0 -0
- /package/src/plugins/{IntentPlugin → plugin-intent}/IntentContext.tsx +0 -0
- /package/src/plugins/{IntentPlugin → plugin-intent}/helpers.ts +0 -0
- /package/src/plugins/{IntentPlugin → plugin-intent}/meta.ts +0 -0
- /package/src/plugins/{SurfacePlugin → plugin-surface}/ErrorBoundary.tsx +0 -0
- /package/src/plugins/{SurfacePlugin → plugin-surface}/helpers.ts +0 -0
- /package/src/plugins/{SurfacePlugin → plugin-surface}/meta.ts +0 -0
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { IconProps } from '@phosphor-icons/react';
|
|
2
1
|
import type { FC, PropsWithChildren } from 'react';
|
|
3
2
|
/**
|
|
4
3
|
* Capabilities provided by a plugin.
|
|
@@ -11,52 +10,52 @@ export type PluginProvides<TProvides> = TProvides & {
|
|
|
11
10
|
context?: FC<PropsWithChildren>;
|
|
12
11
|
root?: FC<PropsWithChildren>;
|
|
13
12
|
};
|
|
13
|
+
export type PluginMeta = {
|
|
14
|
+
/**
|
|
15
|
+
* Globally unique ID.
|
|
16
|
+
*
|
|
17
|
+
* Expected to be in the form of a valid URL.
|
|
18
|
+
*
|
|
19
|
+
* @example dxos.org/plugin/example
|
|
20
|
+
*/
|
|
21
|
+
id: string;
|
|
22
|
+
/**
|
|
23
|
+
* Short ID for use in URLs.
|
|
24
|
+
*
|
|
25
|
+
* NOTE: This is especially experimental and likely to change.
|
|
26
|
+
*/
|
|
27
|
+
shortId?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Human-readable name.
|
|
30
|
+
*/
|
|
31
|
+
name?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Short description of plugin functionality.
|
|
34
|
+
*/
|
|
35
|
+
description?: string;
|
|
36
|
+
/**
|
|
37
|
+
* URL of home page.
|
|
38
|
+
*/
|
|
39
|
+
homePage?: string;
|
|
40
|
+
/**
|
|
41
|
+
* URL of source code.
|
|
42
|
+
*/
|
|
43
|
+
source?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Tags to help categorize the plugin.
|
|
46
|
+
*/
|
|
47
|
+
tags?: string[];
|
|
48
|
+
/**
|
|
49
|
+
* A grep-able symbol string which can be resolved to an icon asset by @ch-ui/icons, via @ch-ui/vite-plugin-icons.
|
|
50
|
+
*/
|
|
51
|
+
icon?: string;
|
|
52
|
+
};
|
|
14
53
|
/**
|
|
15
54
|
* A unit of containment of modular functionality that can be provided to an application.
|
|
16
55
|
* Plugins provide things like components, state, actions, etc. to the application.
|
|
17
56
|
*/
|
|
18
57
|
export type Plugin<TProvides = {}> = {
|
|
19
|
-
meta:
|
|
20
|
-
/**
|
|
21
|
-
* Globally unique ID.
|
|
22
|
-
*
|
|
23
|
-
* Expected to be in the form of a valid URL.
|
|
24
|
-
*
|
|
25
|
-
* @example dxos.org/plugin/example
|
|
26
|
-
*/
|
|
27
|
-
id: string;
|
|
28
|
-
/**
|
|
29
|
-
* Short ID for use in URLs.
|
|
30
|
-
*
|
|
31
|
-
* NOTE: This is especially experimental and likely to change.
|
|
32
|
-
*/
|
|
33
|
-
shortId?: string;
|
|
34
|
-
/**
|
|
35
|
-
* Human-readable name.
|
|
36
|
-
*/
|
|
37
|
-
name?: string;
|
|
38
|
-
/**
|
|
39
|
-
* Short description of plugin functionality.
|
|
40
|
-
*/
|
|
41
|
-
description?: string;
|
|
42
|
-
/**
|
|
43
|
-
* URL of home page.
|
|
44
|
-
*/
|
|
45
|
-
homePage?: string;
|
|
46
|
-
/**
|
|
47
|
-
* Tags to help categorize the plugin.
|
|
48
|
-
*/
|
|
49
|
-
tags?: string[];
|
|
50
|
-
/**
|
|
51
|
-
* Component to render icon for the plugin when displayed in a list.
|
|
52
|
-
* @deprecated
|
|
53
|
-
*/
|
|
54
|
-
iconComponent?: FC<IconProps>;
|
|
55
|
-
/**
|
|
56
|
-
* A grep-able symbol string which can be resolved to an icon asset by @ch-ui/icons, via @ch-ui/vite-plugin-icons.
|
|
57
|
-
*/
|
|
58
|
-
iconSymbol?: string;
|
|
59
|
-
};
|
|
58
|
+
meta: PluginMeta;
|
|
60
59
|
/**
|
|
61
60
|
* Capabilities provided by the plugin.
|
|
62
61
|
*/
|
|
@@ -89,47 +88,6 @@ export type PluginDefinition<TProvides = {}, TInitializeProvides = {}> = Omit<Pl
|
|
|
89
88
|
*/
|
|
90
89
|
unload?: () => Promise<void>;
|
|
91
90
|
};
|
|
92
|
-
export declare const pluginMeta: (meta: Plugin["meta"]) => {
|
|
93
|
-
/**
|
|
94
|
-
* Globally unique ID.
|
|
95
|
-
*
|
|
96
|
-
* Expected to be in the form of a valid URL.
|
|
97
|
-
*
|
|
98
|
-
* @example dxos.org/plugin/example
|
|
99
|
-
*/
|
|
100
|
-
id: string;
|
|
101
|
-
/**
|
|
102
|
-
* Short ID for use in URLs.
|
|
103
|
-
*
|
|
104
|
-
* NOTE: This is especially experimental and likely to change.
|
|
105
|
-
*/
|
|
106
|
-
shortId?: string;
|
|
107
|
-
/**
|
|
108
|
-
* Human-readable name.
|
|
109
|
-
*/
|
|
110
|
-
name?: string;
|
|
111
|
-
/**
|
|
112
|
-
* Short description of plugin functionality.
|
|
113
|
-
*/
|
|
114
|
-
description?: string;
|
|
115
|
-
/**
|
|
116
|
-
* URL of home page.
|
|
117
|
-
*/
|
|
118
|
-
homePage?: string;
|
|
119
|
-
/**
|
|
120
|
-
* Tags to help categorize the plugin.
|
|
121
|
-
*/
|
|
122
|
-
tags?: string[];
|
|
123
|
-
/**
|
|
124
|
-
* Component to render icon for the plugin when displayed in a list.
|
|
125
|
-
* @deprecated
|
|
126
|
-
*/
|
|
127
|
-
iconComponent?: FC<IconProps>;
|
|
128
|
-
/**
|
|
129
|
-
* A grep-able symbol string which can be resolved to an icon asset by @ch-ui/icons, via @ch-ui/vite-plugin-icons.
|
|
130
|
-
*/
|
|
131
|
-
iconSymbol?: string;
|
|
132
|
-
};
|
|
133
91
|
type LazyPlugin<T> = () => Promise<{
|
|
134
92
|
default: (props: T) => PluginDefinition;
|
|
135
93
|
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-host/plugin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,cAAc,CAAC,SAAS,IAAI,SAAS,GAAG;IAClD;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC;IAKhC,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB;;;;;;OAMG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;;OAIG;IAEH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,MAAM,CAAC,SAAS,GAAG,EAAE,IAAI;IACnC,IAAI,EAAE,UAAU,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,SAAS,GAAG,EAAE,EAAE,mBAAmB,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG;IAClG;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;IAEzC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,CAAC;IAEvE;;;;;OAKG;IAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAEF,KAAK,UAAU,CAAC,CAAC,IAAI,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,gBAAgB,CAAA;CAAE,CAAC,CAAC;AAEhF,yBAAiB,MAAM,CAAC;IACf,MAAM,IAAI,GAAI,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,4CAKlD,CAAC;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.test.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-host/plugin.test.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAQhC,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,KAAK,YAAY,CAAC,CAAC,IAAI;IACrB,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAClB,IAAI,EAAE,CAAC,CAAC;CACT,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAG,YAAY,CAAC,CAAC,CAAoB,CAAC;AAE3F,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;CAChC,CAAC;AAEF,qBAAa,UAAU;IACrB,QAAQ,CAAC,WAAW,mBAA0B;gBAClC,EAAE,QAAQ,EAAE,EAAE,WAAW;IAIrC,YAAY,GAAI,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,KAAG,CAAC,GAAG,SAAS,CAAkC;CACvF;AAYD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,GAAG,SAAS,KAAK,IAAI,CAAC;CACxC;AAED,eAAO,MAAM,SAAS,EAAE,SAAS,CAAC,SAAS,CAAwB,CAAC;AAEpE,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACpC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,KAAK,IAAI,CAAC;CACvD;AAED,eAAO,MAAM,UAAU,EAAE,SAAS,CAAC,UAAU,CAAyB,CAAC;AAGvE,MAAM,MAAM,OAAO,GAAG,EAAE,CAAC;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;CAAE,CAAC,CAAC;AAE1F,eAAO,MAAM,OAAO,EAAE,SAAS,CAAC,OAAO,CAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IntentContext.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-intent/IntentContext.tsx"],"names":[],"mappings":"AAIA,OAAO,EAA2C,KAAK,QAAQ,EAAE,MAAM,OAAO,CAAC;AAG/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEvF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,IAAI,EAAE,MAAM,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACzC,OAAO,EAAE,eAAe,EAAE,EAAE,CAAC;IAC7B,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,KAAK,mBAAmB,CAAC;CACvF,CAAC;AASF;;GAEG;AAEH,eAAO,MAAM,SAAS,qBAAkC,CAAC;AAEzD,eAAO,MAAM,mBAAmB,QAAO,gBAGtC,CAAC;AAEF,eAAO,MAAM,iBAAiB,WAAY,MAAM,YAAY,cAAc,SAKzE,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,aAAa,CAA0B,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { type IntentPluginProvides } from './provides';
|
|
2
|
-
import type
|
|
2
|
+
import { type PluginDefinition } from '../plugin-host';
|
|
3
3
|
/**
|
|
4
4
|
* Allows plugins to register intent handlers and routes sent intents to the appropriate plugin.
|
|
5
5
|
* Inspired by https://developer.android.com/reference/android/content/Intent.
|
|
6
6
|
*/
|
|
7
|
-
declare const IntentPlugin: () => PluginDefinition<IntentPluginProvides>;
|
|
8
|
-
|
|
9
|
-
//# sourceMappingURL=plugin.d.ts.map
|
|
7
|
+
export declare const IntentPlugin: () => PluginDefinition<IntentPluginProvides>;
|
|
8
|
+
//# sourceMappingURL=IntentPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IntentPlugin.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-intent/IntentPlugin.tsx"],"names":[],"mappings":"AAaA,OAAO,EACL,KAAK,oBAAoB,EAI1B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAKvD;;;GAGG;AACH,eAAO,MAAM,YAAY,QAAO,gBAAgB,CAAC,oBAAoB,CAyHpE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-intent/helpers.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,UAAU,UAAW,eAAe,EAAE,KAAG,OACY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-intent/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAE3B,cAAc,iBAAiB,CAAC;AAEhC,eAAe,YAAY,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { MaybePromise } from '@dxos/util';
|
|
2
|
-
import type { Plugin } from '../
|
|
2
|
+
import type { Plugin } from '../plugin-host';
|
|
3
3
|
export type IntentData<T extends Record<string, any> = Record<string, any>> = T & {
|
|
4
4
|
/**
|
|
5
5
|
* The data from the result of the previous intent.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intent.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-intent/intent.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG;IAChF;;OAEG;IACH,MAAM,CAAC,EAAE,GAAG,CAAC;CACd,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;OAEG;IAEH,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,GAAG,CAAC;IAEX;;OAEG;IACH,QAAQ,CAAC,EAAE;QACT;;WAEG;QACH,OAAO,EAAE,MAAM,CAAC;QAEhB;;WAEG;QACH,IAAI,CAAC,EAAE,UAAU,CAAC;KACnB,CAAC;IAEF;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;CACtB,CAAC;AAEF;;;;;GAKG;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;AAE3F;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-intent/meta.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,UAAU;;CAEf,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type IntentContext } from './IntentContext';
|
|
2
2
|
import { type IntentResolver } from './intent';
|
|
3
|
-
import { type Plugin } from '../
|
|
3
|
+
import { type Plugin } from '../plugin-host';
|
|
4
4
|
export type IntentResolverProvides = {
|
|
5
5
|
intent: {
|
|
6
6
|
resolver: IntentResolver;
|
|
@@ -15,6 +15,6 @@ export declare enum IntentAction {
|
|
|
15
15
|
/**
|
|
16
16
|
* Fired after an intent is dispatched if the intent is undoable.
|
|
17
17
|
*/
|
|
18
|
-
SHOW_UNDO = "dxos.org/plugin/intent/show-undo"
|
|
18
|
+
SHOW_UNDO = "dxos.org/plugin/intent/action/show-undo"
|
|
19
19
|
}
|
|
20
20
|
//# sourceMappingURL=provides.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provides.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-intent/provides.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE;QACN,QAAQ,EAAE,cAAc,CAAC;KAC1B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,iBAAiB,WAAY,MAAM,6CACkD,CAAC;AAEnG,eAAO,MAAM,yBAAyB,WAAY,MAAM,+CAC4C,CAAC;AAUrG,oBAAY,YAAY;IACtB;;OAEG;IACH,SAAS,4CAA+B;CACzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsPlugin.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-settings/SettingsPlugin.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,eAAO,MAAM,cAAc,QAAO,gBAAgB,CAAC,sBAAsB,CAWxE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-settings/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,cAAc,YAAY,CAAC;AAE3B,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-settings/meta.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,YAAY;;CAEjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type SettingsStoreFactory, type SettingsValue } from '@dxos/local-storage';
|
|
2
|
+
import { type Plugin } from '../plugin-host';
|
|
3
|
+
export type SettingsProvides<T extends SettingsValue> = {
|
|
4
|
+
settings: T;
|
|
5
|
+
};
|
|
6
|
+
export type SettingsPluginProvides = {
|
|
7
|
+
settingsStore: SettingsStoreFactory;
|
|
8
|
+
};
|
|
9
|
+
export declare const parseSettingsPlugin: (plugin: Plugin) => Plugin<SettingsPluginProvides> | undefined;
|
|
10
|
+
export declare enum SettingsAction {
|
|
11
|
+
OPEN = "dxos.org/plugin/settings/action/open"
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=provides.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provides.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-settings/provides.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,aAAa,IAAI;IACtD,QAAQ,EAAE,CAAC,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,EAAE,oBAAoB,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,mBAAmB,WAAY,MAAM,+CAIjD,CAAC;AAMF,oBAAY,cAAc;IACxB,IAAI,yCAA4B;CACjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorBoundary.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-surface/ErrorBoundary.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE1E,KAAK,KAAK,GAAG,iBAAiB,CAAC;IAAE,IAAI,CAAC,EAAE,GAAG,CAAC;IAAC,QAAQ,EAAE,EAAE,CAAC;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAAC;AAC9G,KAAK,KAAK,GAAG;IAAE,KAAK,EAAE,KAAK,GAAG,SAAS,CAAA;CAAE,CAAC;AAE1C;;;;;;;GAOG;AACH,qBAAa,aAAc,SAAQ,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;gBAC5C,KAAK,EAAE,KAAK;IAKxB,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK;;;IAInC,kBAAkB,CAAC,SAAS,EAAE,KAAK,GAAG,IAAI;IAM1C,MAAM;IAQf,OAAO,CAAC,UAAU;CAGnB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { type
|
|
1
|
+
import React, { type PropsWithChildren, type ReactNode } from 'react';
|
|
2
2
|
import { ErrorBoundary } from './ErrorBoundary';
|
|
3
3
|
/**
|
|
4
4
|
* Direction determines how multiple components are laid out.
|
|
@@ -8,6 +8,10 @@ export type Direction = 'inline' | 'inline-reverse' | 'block' | 'block-reverse';
|
|
|
8
8
|
* SurfaceProps are the props that are passed to the Surface component.
|
|
9
9
|
*/
|
|
10
10
|
export type SurfaceProps = PropsWithChildren<{
|
|
11
|
+
/**
|
|
12
|
+
* Optional ID for debugging.
|
|
13
|
+
*/
|
|
14
|
+
id?: string;
|
|
11
15
|
/**
|
|
12
16
|
* Role defines how the data should be rendered.
|
|
13
17
|
*/
|
|
@@ -53,6 +57,6 @@ export type SurfaceProps = PropsWithChildren<{
|
|
|
53
57
|
/**
|
|
54
58
|
* A surface is a named region of the screen that can be populated by plugins.
|
|
55
59
|
*/
|
|
56
|
-
export declare const Surface: React.ForwardRefExoticComponent<Omit<SurfaceProps, "ref"> & React.RefAttributes<HTMLElement
|
|
60
|
+
export declare const Surface: React.MemoExoticComponent<React.ForwardRefExoticComponent<Omit<SurfaceProps, "ref"> & React.RefAttributes<HTMLElement>>>;
|
|
57
61
|
export declare const useSurface: () => SurfaceProps;
|
|
58
62
|
//# sourceMappingURL=Surface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Surface.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-surface/Surface.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAGZ,KAAK,iBAAiB,EACtB,KAAK,SAAS,EASf,MAAM,OAAO,CAAC;AAKf,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,gBAAgB,GAAG,OAAO,GAAG,eAAe,CAAC;AAEhF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,iBAAiB,CAAC;IAC3C;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC;IAEnE;;;OAGG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;IAE9C;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE3B;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;;OAGG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC,CAAC;AAIH;;GAEG;AACH,eAAO,MAAM,OAAO,0HAkCnB,CAAC;AAIF,eAAO,MAAM,UAAU,QAAO,YAC+C,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type SurfacePluginProvides } from './provides';
|
|
2
|
+
import { type PluginDefinition } from '../plugin-host';
|
|
3
|
+
/**
|
|
4
|
+
* Provides a registry of surface components.
|
|
5
|
+
*/
|
|
6
|
+
export declare const SurfacePlugin: () => PluginDefinition<SurfacePluginProvides>;
|
|
7
|
+
//# sourceMappingURL=SurfacePlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SurfacePlugin.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-surface/SurfacePlugin.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAsB,KAAK,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE5E,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,aAAa,QAAO,gBAAgB,CAAC,qBAAqB,CAetE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type JSX, type
|
|
1
|
+
import { type JSX, type ForwardedRef } from 'react';
|
|
2
2
|
import { type SurfaceProps } from './Surface';
|
|
3
3
|
type WithRequiredProperty<Type, Key extends keyof Type> = Type & {
|
|
4
4
|
[Property in Key]-?: Type[Property];
|
|
@@ -8,6 +8,15 @@ type SurfaceComponentProps = WithRequiredProperty<SurfaceProps, 'data'>;
|
|
|
8
8
|
* Determines the priority of the surface when multiple components are resolved.
|
|
9
9
|
*/
|
|
10
10
|
export type SurfaceDisposition = 'hoist' | 'fallback';
|
|
11
|
+
/**
|
|
12
|
+
* Surface debug info.
|
|
13
|
+
* NOTE: Short-term measure to track perf issues.
|
|
14
|
+
*/
|
|
15
|
+
export type DebugInfo = {
|
|
16
|
+
id: string;
|
|
17
|
+
created: number;
|
|
18
|
+
renderCount: number;
|
|
19
|
+
} & Pick<SurfaceProps, 'role' | 'name'>;
|
|
11
20
|
export type SurfaceResult = {
|
|
12
21
|
node: JSX.Element;
|
|
13
22
|
disposition?: SurfaceDisposition;
|
|
@@ -20,8 +29,12 @@ export type SurfaceResult = {
|
|
|
20
29
|
export type SurfaceComponent = (props: SurfaceComponentProps, forwardedRef: ForwardedRef<HTMLElement>) => JSX.Element | SurfaceResult | null;
|
|
21
30
|
export type SurfaceRootContext = {
|
|
22
31
|
components: Record<string, SurfaceComponent>;
|
|
32
|
+
/**
|
|
33
|
+
* Debug info.
|
|
34
|
+
*/
|
|
35
|
+
debugInfo?: Map<string, DebugInfo>;
|
|
23
36
|
};
|
|
24
37
|
export declare const useSurfaceRoot: () => SurfaceRootContext;
|
|
25
|
-
export declare const SurfaceProvider: Provider<SurfaceRootContext>;
|
|
38
|
+
export declare const SurfaceProvider: import("react").Provider<SurfaceRootContext | undefined>;
|
|
26
39
|
export {};
|
|
27
40
|
//# sourceMappingURL=SurfaceRootContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SurfaceRootContext.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-surface/SurfaceRootContext.tsx"],"names":[],"mappings":"AAIA,OAAO,EAA6B,KAAK,GAAG,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAI/E,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAG9C,KAAK,oBAAoB,CAAC,IAAI,EAAE,GAAG,SAAS,MAAM,IAAI,IAAI,IAAI,GAAG;KAC9D,QAAQ,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;CACpC,CAAC;AAEF,KAAK,qBAAqB,GAAG,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAExE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,UAAU,CAAC;AAEtD;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AAExC,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,KAAK,EAAE,qBAAqB,EAC5B,YAAY,EAAE,YAAY,CAAC,WAAW,CAAC,KACpC,GAAG,CAAC,OAAO,GAAG,aAAa,GAAG,IAAI,CAAC;AAExC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAE7C;;OAEG;IACH,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACpC,CAAC;AAIF,eAAO,MAAM,cAAc,0BAAyF,CAAC;AAErH,eAAO,MAAM,eAAe,0DAA8B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-surface/helpers.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,QAAQ,SAAU,OAAO,KAAG,IAAI,IAAI;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAwC,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { SurfacePlugin } from './SurfacePlugin';
|
|
1
2
|
export * from './helpers';
|
|
2
3
|
export * from './provides';
|
|
3
4
|
export * from './ErrorBoundary';
|
|
4
5
|
export * from './Surface';
|
|
5
6
|
export * from './SurfaceRootContext';
|
|
7
|
+
export default SurfacePlugin;
|
|
6
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-surface/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAE3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AAErC,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-surface/meta.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,WAAW;;CAEhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provides.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-surface/provides.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAG7C,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE;QACP;;WAEG;QACH,SAAS,EAAE,gBAAgB,CAAC;KAC7B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,kBAAkB,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,sBAAsB,YAAa,MAAM,8CACkD,CAAC;AAEzG,eAAO,MAAM,kBAAkB,YAAa,MAAM,wCAC+C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/app-framework",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.14-main.1366248",
|
|
4
4
|
"description": "A framework for building applications from composible plugins.",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"author": "DXOS.org",
|
|
9
|
+
"sideEffects": true,
|
|
9
10
|
"exports": {
|
|
10
11
|
".": {
|
|
12
|
+
"types": "./dist/types/src/index.d.ts",
|
|
11
13
|
"browser": "./dist/lib/browser/index.mjs",
|
|
12
|
-
"node":
|
|
13
|
-
"default": "./dist/lib/node/index.cjs"
|
|
14
|
-
},
|
|
15
|
-
"types": "./dist/types/src/index.d.ts"
|
|
14
|
+
"node": "./dist/lib/node-esm/index.mjs"
|
|
16
15
|
}
|
|
17
16
|
},
|
|
18
17
|
"types": "dist/types/src/index.d.ts",
|
|
@@ -20,24 +19,27 @@
|
|
|
20
19
|
"*": {}
|
|
21
20
|
},
|
|
22
21
|
"dependencies": {
|
|
22
|
+
"@effect/schema": "^0.75.1",
|
|
23
23
|
"@phosphor-icons/react": "^2.1.5",
|
|
24
24
|
"@preact/signals-core": "^1.6.0",
|
|
25
25
|
"zod": "^3.22.4",
|
|
26
|
-
"@dxos/app-graph": "0.6.
|
|
27
|
-
"@dxos/async": "0.6.
|
|
28
|
-
"@dxos/
|
|
29
|
-
"@dxos/
|
|
30
|
-
"@dxos/
|
|
31
|
-
"@dxos/
|
|
32
|
-
"@dxos/
|
|
33
|
-
"@dxos/
|
|
34
|
-
"@dxos/
|
|
26
|
+
"@dxos/app-graph": "0.6.14-main.1366248",
|
|
27
|
+
"@dxos/async": "0.6.14-main.1366248",
|
|
28
|
+
"@dxos/debug": "0.6.14-main.1366248",
|
|
29
|
+
"@dxos/client-protocol": "0.6.14-main.1366248",
|
|
30
|
+
"@dxos/context": "0.6.14-main.1366248",
|
|
31
|
+
"@dxos/invariant": "0.6.14-main.1366248",
|
|
32
|
+
"@dxos/echo-schema": "0.6.14-main.1366248",
|
|
33
|
+
"@dxos/local-storage": "0.6.14-main.1366248",
|
|
34
|
+
"@dxos/log": "0.6.14-main.1366248",
|
|
35
|
+
"@dxos/util": "0.6.14-main.1366248"
|
|
35
36
|
},
|
|
36
37
|
"devDependencies": {
|
|
37
38
|
"@types/react": "~18.2.0",
|
|
38
39
|
"react": "~18.2.0"
|
|
39
40
|
},
|
|
40
41
|
"peerDependencies": {
|
|
42
|
+
"@phosphor-icons/react": "^2.1.5",
|
|
41
43
|
"react": "~18.2.0"
|
|
42
44
|
},
|
|
43
45
|
"publishConfig": {
|
package/project.json
CHANGED
package/src/App.tsx
CHANGED
|
@@ -6,16 +6,17 @@ import React from 'react';
|
|
|
6
6
|
|
|
7
7
|
import { invariant } from '@dxos/invariant';
|
|
8
8
|
|
|
9
|
-
import { type
|
|
10
|
-
import IntentMeta from './plugins/
|
|
11
|
-
import
|
|
9
|
+
import { type HostPluginParams, Plugin, HostPlugin } from './plugins';
|
|
10
|
+
import IntentMeta from './plugins/plugin-intent/meta';
|
|
11
|
+
import SettingsMeta from './plugins/plugin-settings/meta';
|
|
12
|
+
import SurfaceMeta from './plugins/plugin-surface/meta';
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* Expected usage is for this to be the entrypoint of the application.
|
|
15
16
|
* Initializes plugins and renders the root components.
|
|
16
17
|
*
|
|
17
18
|
* @example
|
|
18
|
-
* const
|
|
19
|
+
* const meta = [LayoutMeta, MyPluginMeta];
|
|
19
20
|
* const plugins = {
|
|
20
21
|
* [LayoutMeta.id]: Plugin.lazy(() => import('./plugins/LayoutPlugin/plugin')),
|
|
21
22
|
* [MyPluginMeta.id]: Plugin.lazy(() => import('./plugins/MyPlugin/plugin')),
|
|
@@ -30,28 +31,29 @@ import SurfaceMeta from './plugins/SurfacePlugin/meta';
|
|
|
30
31
|
* </StrictMode>,
|
|
31
32
|
* );
|
|
32
33
|
*
|
|
33
|
-
* @param params.order Total ordering of plugins.
|
|
34
34
|
* @param params.plugins All plugins available to the application.
|
|
35
|
+
* @param params.meta All plugin metadata.
|
|
35
36
|
* @param params.core Core plugins which will always be enabled.
|
|
36
|
-
* @param params.
|
|
37
|
+
* @param params.defaults Default plugins are enabled by default but can be disabled by the user.
|
|
37
38
|
* @param params.fallback Fallback component to render while plugins are initializing.
|
|
38
39
|
*/
|
|
39
|
-
export const createApp = ({
|
|
40
|
-
const
|
|
41
|
-
order: [SurfaceMeta, IntentMeta, ...order],
|
|
40
|
+
export const createApp = ({ meta, plugins, core, ...params }: HostPluginParams) => {
|
|
41
|
+
const hostPlugin = HostPlugin({
|
|
42
42
|
plugins: {
|
|
43
43
|
...plugins,
|
|
44
|
-
[
|
|
45
|
-
[
|
|
44
|
+
[IntentMeta.id]: Plugin.lazy(() => import('./plugins/plugin-intent')),
|
|
45
|
+
[SettingsMeta.id]: Plugin.lazy(() => import('./plugins/plugin-settings')),
|
|
46
|
+
[SurfaceMeta.id]: Plugin.lazy(() => import('./plugins/plugin-surface')),
|
|
46
47
|
},
|
|
47
|
-
|
|
48
|
+
meta: [IntentMeta, SettingsMeta, SurfaceMeta, ...meta],
|
|
49
|
+
core: [IntentMeta.id, SettingsMeta.id, SurfaceMeta.id, ...core],
|
|
48
50
|
...params,
|
|
49
51
|
});
|
|
50
52
|
|
|
51
|
-
invariant(
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
invariant(hostPlugin.provides);
|
|
54
|
+
const { context: Context, root: Root } = hostPlugin.provides;
|
|
55
|
+
invariant(Context);
|
|
56
|
+
invariant(Root);
|
|
55
57
|
|
|
56
58
|
return () => (
|
|
57
59
|
<Context>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import { type Space } from '@dxos/client-protocol';
|
|
6
6
|
|
|
7
|
-
import { type Plugin } from '../
|
|
7
|
+
import { type Plugin } from '../plugin-host';
|
|
8
8
|
|
|
9
9
|
// TODO(burdon): See Accept attribute (uses MIME types).
|
|
10
10
|
// E.g., 'image/*': ['.jpg', '.jpeg', '.png', '.gif'],
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import type { Graph, GraphBuilder, Node } from '@dxos/app-graph';
|
|
6
6
|
import { type MaybePromise } from '@dxos/util';
|
|
7
7
|
|
|
8
|
-
import type { Plugin } from '../
|
|
8
|
+
import type { Plugin } from '../plugin-host';
|
|
9
9
|
|
|
10
10
|
// TODO(wittjosiah): Factor out.
|
|
11
11
|
export type SerializedNode = {
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
|
|
7
|
-
import { type
|
|
8
|
-
import type
|
|
7
|
+
import { type Plugin } from '../plugin-host';
|
|
8
|
+
import { type IntentData } from '../plugin-intent';
|
|
9
9
|
|
|
10
10
|
//
|
|
11
11
|
// Provides
|
|
@@ -90,7 +90,10 @@ export const parseLayoutPlugin = (plugin: Plugin) => {
|
|
|
90
90
|
// Intents
|
|
91
91
|
//
|
|
92
92
|
|
|
93
|
-
const
|
|
93
|
+
const LAYOUT_PLUGIN = 'dxos.org/plugin/layout';
|
|
94
|
+
|
|
95
|
+
const LAYOUT_ACTION = `${LAYOUT_PLUGIN}/action`;
|
|
96
|
+
|
|
94
97
|
export enum LayoutAction {
|
|
95
98
|
SET_LAYOUT = `${LAYOUT_ACTION}/set-layout`,
|
|
96
99
|
SET_LAYOUT_MODE = `${LAYOUT_ACTION}/set-layout-mode`,
|