@dxos/plugin-template 0.8.4-main.f9ba587 → 0.8.4-main.fcfe5033a5

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.
Files changed (65) hide show
  1. package/dist/lib/browser/index.mjs +63 -66
  2. package/dist/lib/browser/index.mjs.map +4 -4
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/lib/browser/types/index.mjs +20 -0
  5. package/dist/lib/browser/types/index.mjs.map +7 -0
  6. package/dist/types/src/TemplatePlugin.d.ts +2 -1
  7. package/dist/types/src/TemplatePlugin.d.ts.map +1 -1
  8. package/dist/types/src/capabilities/index.d.ts +2 -2
  9. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  10. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  11. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  12. package/dist/types/src/components/TemplatePanel/TemplatePanel.d.ts +6 -0
  13. package/dist/types/src/components/TemplatePanel/TemplatePanel.d.ts.map +1 -0
  14. package/dist/types/src/components/TemplatePanel/index.d.ts +2 -0
  15. package/dist/types/src/components/TemplatePanel/index.d.ts.map +1 -0
  16. package/dist/types/src/components/index.d.ts +1 -1
  17. package/dist/types/src/components/index.d.ts.map +1 -1
  18. package/dist/types/src/meta.d.ts +2 -3
  19. package/dist/types/src/meta.d.ts.map +1 -1
  20. package/dist/types/src/translations.d.ts +13 -9
  21. package/dist/types/src/translations.d.ts.map +1 -1
  22. package/dist/types/src/types/index.d.ts +2 -0
  23. package/dist/types/src/types/index.d.ts.map +1 -0
  24. package/dist/types/src/types/schema.d.ts +12 -0
  25. package/dist/types/src/types/schema.d.ts.map +1 -0
  26. package/dist/types/tsconfig.tsbuildinfo +1 -1
  27. package/package.json +43 -29
  28. package/src/TemplatePlugin.tsx +38 -53
  29. package/src/capabilities/index.ts +2 -3
  30. package/src/capabilities/react-surface.tsx +20 -15
  31. package/src/components/TemplatePanel/TemplatePanel.tsx +21 -0
  32. package/src/components/TemplatePanel/index.ts +5 -0
  33. package/src/components/index.ts +1 -1
  34. package/src/meta.ts +9 -5
  35. package/src/translations.ts +13 -9
  36. package/src/types/index.ts +5 -0
  37. package/src/types/schema.ts +26 -0
  38. package/dist/lib/browser/chunk-FARPQI2D.mjs +0 -49
  39. package/dist/lib/browser/chunk-FARPQI2D.mjs.map +0 -7
  40. package/dist/lib/browser/intent-resolver-AYJTEW6K.mjs +0 -22
  41. package/dist/lib/browser/intent-resolver-AYJTEW6K.mjs.map +0 -7
  42. package/dist/lib/browser/react-surface-H7UCIT3M.mjs +0 -39
  43. package/dist/lib/browser/react-surface-H7UCIT3M.mjs.map +0 -7
  44. package/dist/lib/browser/types.mjs +0 -11
  45. package/dist/lib/browser/types.mjs.map +0 -7
  46. package/dist/lib/node-esm/chunk-B3O6VLCP.mjs +0 -51
  47. package/dist/lib/node-esm/chunk-B3O6VLCP.mjs.map +0 -7
  48. package/dist/lib/node-esm/index.mjs +0 -86
  49. package/dist/lib/node-esm/index.mjs.map +0 -7
  50. package/dist/lib/node-esm/intent-resolver-KY2OPU2S.mjs +0 -23
  51. package/dist/lib/node-esm/intent-resolver-KY2OPU2S.mjs.map +0 -7
  52. package/dist/lib/node-esm/meta.json +0 -1
  53. package/dist/lib/node-esm/react-surface-VJDBNR3U.mjs +0 -40
  54. package/dist/lib/node-esm/react-surface-VJDBNR3U.mjs.map +0 -7
  55. package/dist/lib/node-esm/types.mjs +0 -12
  56. package/dist/lib/node-esm/types.mjs.map +0 -7
  57. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  58. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  59. package/dist/types/src/components/TemplateContainer.d.ts +0 -7
  60. package/dist/types/src/components/TemplateContainer.d.ts.map +0 -1
  61. package/dist/types/src/types.d.ts +0 -27
  62. package/dist/types/src/types.d.ts.map +0 -1
  63. package/src/capabilities/intent-resolver.ts +0 -19
  64. package/src/components/TemplateContainer.tsx +0 -19
  65. package/src/types.ts +0 -36
package/package.json CHANGED
@@ -1,28 +1,40 @@
1
1
  {
2
2
  "name": "@dxos/plugin-template",
3
- "version": "0.8.4-main.f9ba587",
3
+ "version": "0.8.4-main.fcfe5033a5",
4
4
  "description": "Template for new plugin",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/dxos/dxos"
10
+ },
7
11
  "license": "MIT",
8
12
  "author": "DXOS.org",
9
13
  "sideEffects": true,
10
14
  "type": "module",
15
+ "imports": {
16
+ "#capabilities": "./src/capabilities/index.ts",
17
+ "#components": "./src/components/index.ts",
18
+ "#meta": "./src/meta.ts",
19
+ "#types": "./src/types/index.ts"
20
+ },
11
21
  "exports": {
12
22
  ".": {
23
+ "source": "./src/index.ts",
13
24
  "types": "./dist/types/src/index.d.ts",
14
25
  "browser": "./dist/lib/browser/index.mjs"
15
26
  },
16
27
  "./types": {
17
- "types": "./dist/types/src/types.d.ts",
18
- "browser": "./dist/lib/browser/types.mjs"
28
+ "source": "./src/types/index.ts",
29
+ "types": "./dist/types/src/types/index.d.ts",
30
+ "browser": "./dist/lib/browser/types/index.mjs"
19
31
  }
20
32
  },
21
33
  "types": "dist/types/src/index.d.ts",
22
34
  "typesVersions": {
23
35
  "*": {
24
36
  "types": [
25
- "dist/types/src/types.d.ts"
37
+ "dist/types/src/types/index.d.ts"
26
38
  ]
27
39
  }
28
40
  },
@@ -31,35 +43,37 @@
31
43
  "src"
32
44
  ],
33
45
  "dependencies": {
34
- "@preact-signals/safe-react": "^0.9.0",
35
- "@preact/signals-core": "^1.9.0",
36
- "effect": "3.16.13",
37
- "@dxos/async": "0.8.4-main.f9ba587",
38
- "@dxos/echo": "0.8.4-main.f9ba587",
39
- "@dxos/app-framework": "0.8.4-main.f9ba587",
40
- "@dxos/echo-schema": "0.8.4-main.f9ba587",
41
- "@dxos/plugin-client": "0.8.4-main.f9ba587",
42
- "@dxos/plugin-graph": "0.8.4-main.f9ba587",
43
- "@dxos/plugin-space": "0.8.4-main.f9ba587",
44
- "@dxos/react-client": "0.8.4-main.f9ba587",
45
- "@dxos/react-ui-stack": "0.8.4-main.f9ba587"
46
+ "@radix-ui/react-context": "1.1.1",
47
+ "effect": "3.20.0",
48
+ "@dxos/app-toolkit": "0.8.4-main.fcfe5033a5",
49
+ "@dxos/echo": "0.8.4-main.fcfe5033a5",
50
+ "@dxos/async": "0.8.4-main.fcfe5033a5",
51
+ "@dxos/operation": "0.8.4-main.fcfe5033a5",
52
+ "@dxos/plugin-graph": "0.8.4-main.fcfe5033a5",
53
+ "@dxos/plugin-client": "0.8.4-main.fcfe5033a5",
54
+ "@dxos/app-framework": "0.8.4-main.fcfe5033a5",
55
+ "@dxos/plugin-space": "0.8.4-main.fcfe5033a5",
56
+ "@dxos/react-client": "0.8.4-main.fcfe5033a5",
57
+ "@dxos/react-ui-mosaic": "0.8.4-main.fcfe5033a5",
58
+ "@dxos/react-ui-stack": "0.8.4-main.fcfe5033a5",
59
+ "@dxos/util": "0.8.4-main.fcfe5033a5"
46
60
  },
47
61
  "devDependencies": {
48
- "@types/react": "~18.2.0",
49
- "@types/react-dom": "~18.2.0",
50
- "react": "~18.2.0",
51
- "react-dom": "~18.2.0",
52
- "vite": "5.4.7",
53
- "@dxos/react-ui": "0.8.4-main.f9ba587",
54
- "@dxos/react-ui-theme": "0.8.4-main.f9ba587",
55
- "@dxos/storybook-utils": "0.8.4-main.f9ba587"
62
+ "@types/react": "~19.2.7",
63
+ "@types/react-dom": "~19.2.3",
64
+ "react": "~19.2.3",
65
+ "react-dom": "~19.2.3",
66
+ "vite": "^7.1.11",
67
+ "@dxos/react-ui": "0.8.4-main.fcfe5033a5",
68
+ "@dxos/ui-theme": "0.8.4-main.fcfe5033a5",
69
+ "@dxos/storybook-utils": "0.8.4-main.fcfe5033a5"
56
70
  },
57
71
  "peerDependencies": {
58
- "effect": "^3.13.3",
59
- "react": "~18.2.0",
60
- "react-dom": "~18.2.0",
61
- "@dxos/react-ui": "0.8.4-main.f9ba587",
62
- "@dxos/react-ui-theme": "0.8.4-main.f9ba587"
72
+ "effect": "3.20.0",
73
+ "react": "~19.2.3",
74
+ "react-dom": "~19.2.3",
75
+ "@dxos/react-ui": "0.8.4-main.fcfe5033a5",
76
+ "@dxos/ui-theme": "0.8.4-main.fcfe5033a5"
63
77
  },
64
78
  "publishConfig": {
65
79
  "access": "public"
@@ -2,59 +2,44 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { createIntent, Capabilities, contributes, Events, defineModule, definePlugin } from '@dxos/app-framework';
6
- import { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';
7
- import { SpaceCapabilities } from '@dxos/plugin-space';
8
- import { defineObjectForm } from '@dxos/plugin-space/types';
5
+ import * as Effect from 'effect/Effect';
6
+ import * as Option from 'effect/Option';
7
+
8
+ import { Plugin } from '@dxos/app-framework';
9
+ import { AppPlugin } from '@dxos/app-toolkit';
10
+ import { Annotation } from '@dxos/echo';
11
+ import { Operation } from '@dxos/operation';
12
+ import { SpaceOperation } from '@dxos/plugin-space/operations';
13
+ import { type CreateObject } from '@dxos/plugin-space/types';
14
+
15
+ import { ReactSurface } from '#capabilities';
16
+ import { meta } from '#meta';
17
+ import { Template } from '#types';
9
18
 
10
- import { ReactSurface, IntentResolver } from './capabilities';
11
- import { meta } from './meta';
12
19
  import { translations } from './translations';
13
- import { TemplateAction, TemplateType } from './types';
14
20
 
15
- export const TemplatePlugin = () =>
16
- definePlugin(meta, [
17
- defineModule({
18
- id: `${meta.id}/module/translations`,
19
- activatesOn: Events.SetupTranslations,
20
- activate: () => contributes(Capabilities.Translations, translations),
21
- }),
22
- defineModule({
23
- id: `${meta.id}/module/metadata`,
24
- activatesOn: Events.SetupMetadata,
25
- activate: () =>
26
- contributes(Capabilities.Metadata, {
27
- id: TemplateType.typename,
28
- metadata: {
29
- icon: 'ph--asterisk--regular',
30
- },
31
- }),
32
- }),
33
- defineModule({
34
- id: `${meta.id}/module/object-form`,
35
- activatesOn: ClientEvents.SetupSchema,
36
- activate: () =>
37
- contributes(
38
- SpaceCapabilities.ObjectForm,
39
- defineObjectForm({
40
- objectSchema: TemplateType,
41
- getIntent: () => createIntent(TemplateAction.Create),
42
- }),
43
- ),
44
- }),
45
- defineModule({
46
- id: `${meta.id}/module/schema`,
47
- activatesOn: ClientEvents.SetupSchema,
48
- activate: () => contributes(ClientCapabilities.Schema, [TemplateType]),
49
- }),
50
- defineModule({
51
- id: `${meta.id}/module/react-surface`,
52
- activatesOn: Events.SetupReactSurface,
53
- activate: ReactSurface,
54
- }),
55
- defineModule({
56
- id: `${meta.id}/module/intent-resolver`,
57
- activatesOn: Events.SetupIntentResolver,
58
- activate: IntentResolver,
59
- }),
60
- ]);
21
+ export const TemplatePlugin = Plugin.define(meta).pipe(
22
+ AppPlugin.addMetadataModule({
23
+ metadata: {
24
+ id: Template.Data.typename,
25
+ metadata: {
26
+ icon: Annotation.IconAnnotation.get(Template.Data).pipe(Option.getOrThrow).icon,
27
+ iconHue: Annotation.IconAnnotation.get(Template.Data).pipe(Option.getOrThrow).hue ?? 'white',
28
+ createObject: ((props, options) =>
29
+ Effect.gen(function* () {
30
+ const object = Template.make(props);
31
+ return yield* Operation.invoke(SpaceOperation.AddObject, {
32
+ object,
33
+ target: options.target,
34
+ hidden: true,
35
+ targetNodeId: options.targetNodeId,
36
+ });
37
+ })) satisfies CreateObject,
38
+ },
39
+ },
40
+ }),
41
+ AppPlugin.addSchemaModule({ schema: [Template.Data] }),
42
+ AppPlugin.addSurfaceModule({ activate: ReactSurface }),
43
+ AppPlugin.addTranslationsModule({ translations }),
44
+ Plugin.make,
45
+ );
@@ -2,7 +2,6 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { lazy } from '@dxos/app-framework';
5
+ import { Capability } from '@dxos/app-framework';
6
6
 
7
- export const IntentResolver = lazy(() => import('./intent-resolver'));
8
- export const ReactSurface = lazy(() => import('./react-surface'));
7
+ export const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));
@@ -2,22 +2,27 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
+ import * as Effect from 'effect/Effect';
5
6
  import React from 'react';
6
7
 
7
- import { Capabilities, contributes, createSurface } from '@dxos/app-framework';
8
- import { type Obj } from '@dxos/echo';
8
+ import { Capabilities, Capability } from '@dxos/app-framework';
9
+ import { Surface } from '@dxos/app-framework/ui';
10
+ import { AppSurface } from '@dxos/app-toolkit/ui';
9
11
 
10
- import { TemplateContainer } from '../components';
11
- import { TEMPLATE_PLUGIN } from '../meta';
12
- import { isObject } from '../types';
12
+ import { TemplatePanel } from '#components';
13
+ import { Template } from '#types';
13
14
 
14
- export default () =>
15
- contributes(
16
- Capabilities.ReactSurface,
17
- createSurface({
18
- id: TEMPLATE_PLUGIN,
19
- role: 'article',
20
- filter: (data): data is { subject: Obj.Any } => isObject(data.subject),
21
- component: ({ data, role }) => <TemplateContainer role={role} object={data.subject} />,
22
- }),
23
- );
15
+ export default Capability.makeModule(() =>
16
+ Effect.succeed(
17
+ Capability.contributes(
18
+ Capabilities.ReactSurface,
19
+ Surface.create({
20
+ id: 'root',
21
+ filter: AppSurface.object(AppSurface.Article, Template.Data),
22
+ component: ({ data, role }) => (
23
+ <TemplatePanel role={role} subject={data.subject} attendableId={data.attendableId} />
24
+ ),
25
+ }),
26
+ ),
27
+ ),
28
+ );
@@ -0,0 +1,21 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ import React from 'react';
6
+
7
+ import { type AppSurface } from '@dxos/app-toolkit/ui';
8
+ import { Obj } from '@dxos/echo';
9
+ import { Panel } from '@dxos/react-ui';
10
+
11
+ export type TemplatePanelProps = AppSurface.ObjectArticleProps<Obj.Unknown>;
12
+
13
+ export const TemplatePanel = ({ role, subject: object, attendableId: _attendableId }: TemplatePanelProps) => {
14
+ return (
15
+ <Panel.Root role={role} className='dx-document'>
16
+ <Panel.Content>
17
+ <span>{Obj.getDXN(object).toString()}</span>
18
+ </Panel.Content>
19
+ </Panel.Root>
20
+ );
21
+ };
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ export * from './TemplatePanel';
@@ -2,4 +2,4 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- export * from './TemplateContainer';
5
+ export * from './TemplatePanel';
package/src/meta.ts CHANGED
@@ -2,13 +2,17 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { type PluginMeta } from '@dxos/app-framework';
5
+ import { type Plugin } from '@dxos/app-framework';
6
+ import { trim } from '@dxos/util';
6
7
 
7
- export const TEMPLATE_PLUGIN = 'dxos.org/plugin/template';
8
-
9
- export const meta: PluginMeta = {
10
- id: TEMPLATE_PLUGIN,
8
+ export const meta: Plugin.Meta = {
9
+ id: 'org.dxos.plugin.template',
11
10
  name: 'Template',
11
+ description: trim`
12
+ Create reusable templates for documents, tables, and other objects.
13
+ Define structured patterns that can be quickly instantiated with pre-configured content and settings.
14
+ `,
12
15
  icon: 'ph--asterisk--regular',
16
+ iconHue: 'sky',
13
17
  source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-template',
14
18
  };
@@ -4,21 +4,25 @@
4
4
 
5
5
  import { type Resource } from '@dxos/react-ui';
6
6
 
7
- import { meta } from './meta';
8
- import { TemplateType } from './types';
7
+ import { meta } from '#meta';
8
+ import { Template } from '#types';
9
9
 
10
10
  export const translations = [
11
11
  {
12
12
  'en-US': {
13
- [TemplateType.typename]: {
14
- 'typename label': 'Template',
15
- 'typename label_zero': 'Templates',
16
- 'typename label_one': 'Template',
17
- 'typename label_other': 'Templates',
18
- 'object name placeholder': 'New template',
13
+ [Template.Data.typename]: {
14
+ 'typename.label': 'Template',
15
+ 'typename.label_zero': 'Templates',
16
+ 'typename.label_one': 'Template',
17
+ 'typename.label_other': 'Templates',
18
+ 'object-name.placeholder': 'New template',
19
+ 'add-object.label': 'Add template',
20
+ 'rename-object.label': 'Rename template',
21
+ 'delete-object.label': 'Delete template',
22
+ 'object-deleted.label': 'Template deleted',
19
23
  },
20
24
  [meta.id]: {
21
- 'plugin name': 'Template',
25
+ 'plugin.name': 'Template',
22
26
  },
23
27
  },
24
28
  },
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ export * from './schema';
@@ -0,0 +1,26 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ import * as Schema from 'effect/Schema';
6
+
7
+ import { Annotation, Obj, Type } from '@dxos/echo';
8
+
9
+ export namespace Template {
10
+ export const Data = Schema.Struct({
11
+ name: Schema.optional(Schema.String),
12
+ }).pipe(
13
+ Type.object({
14
+ typename: 'org.dxos.type.data',
15
+ version: '0.1.0',
16
+ }),
17
+ Annotation.IconAnnotation.set({
18
+ icon: 'ph--asterisk--regular',
19
+ hue: 'sky',
20
+ }),
21
+ );
22
+
23
+ export type Data = Schema.Schema.Type<typeof Data>;
24
+
25
+ export const make = (props: Partial<Data>) => Obj.make(Data, props);
26
+ }
@@ -1,49 +0,0 @@
1
- // src/types.ts
2
- import { Schema } from "effect";
3
- import { Obj } from "@dxos/echo";
4
- import { TypedObject } from "@dxos/echo-schema";
5
- import { ReactiveObjectSchema } from "@dxos/react-client/echo";
6
-
7
- // src/meta.ts
8
- var TEMPLATE_PLUGIN = "dxos.org/plugin/template";
9
- var meta = {
10
- id: TEMPLATE_PLUGIN,
11
- name: "Template",
12
- icon: "ph--asterisk--regular",
13
- source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-template"
14
- };
15
-
16
- // src/types.ts
17
- (function(TemplateAction2) {
18
- const TEMPLATE_ACTION = `${TEMPLATE_PLUGIN}/action`;
19
- class Create extends Schema.TaggedClass()(`${TEMPLATE_ACTION}/create`, {
20
- input: Schema.Struct({
21
- name: Schema.optional(Schema.String)
22
- }),
23
- output: Schema.Struct({
24
- object: ReactiveObjectSchema
25
- })
26
- }) {
27
- }
28
- TemplateAction2.Create = Create;
29
- })(TemplateAction || (TemplateAction = {}));
30
- var isObject = (object) => {
31
- return Obj.isObject(object) && object.type === "template";
32
- };
33
- var TemplateType = class extends TypedObject({
34
- typename: "dxos.org/type/Template",
35
- version: "0.1.0"
36
- })({
37
- name: Schema.optional(Schema.String)
38
- }) {
39
- };
40
- var TemplateAction;
41
-
42
- export {
43
- TEMPLATE_PLUGIN,
44
- meta,
45
- isObject,
46
- TemplateType,
47
- TemplateAction
48
- };
49
- //# sourceMappingURL=chunk-FARPQI2D.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types.ts", "../../../src/meta.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Obj } from '@dxos/echo';\nimport { TypedObject } from '@dxos/echo-schema';\nimport { ReactiveObjectSchema } from '@dxos/react-client/echo';\n\nimport { TEMPLATE_PLUGIN } from './meta';\n\nexport namespace TemplateAction {\n const TEMPLATE_ACTION = `${TEMPLATE_PLUGIN}/action`;\n\n export class Create extends Schema.TaggedClass<Create>()(`${TEMPLATE_ACTION}/create`, {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: ReactiveObjectSchema,\n }),\n }) {}\n}\n\nexport const isObject = (object: unknown): object is Obj.Any => {\n // TODO(dmaretskyi): Can this be Obj.instanceOf(TemplateType)?\n return Obj.isObject(object) && (object as any).type === 'template';\n};\n\nexport class TemplateType extends TypedObject({\n typename: 'dxos.org/type/Template',\n version: '0.1.0',\n})({\n name: Schema.optional(Schema.String),\n}) {}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const TEMPLATE_PLUGIN = 'dxos.org/plugin/template';\n\nexport const meta: PluginMeta = {\n id: TEMPLATE_PLUGIN,\n name: 'Template',\n icon: 'ph--asterisk--regular',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-template',\n};\n"],
5
- "mappings": ";AAIA,SAASA,cAAc;AAEvB,SAASC,WAAW;AACpB,SAASC,mBAAmB;AAC5B,SAASC,4BAA4B;;;ACF9B,IAAMC,kBAAkB;AAExB,IAAMC,OAAmB;EAC9BC,IAAIF;EACJG,MAAM;EACNC,MAAM;EACNC,QAAQ;AACV;;;UDDiBC,iBAAAA;AACf,QAAMC,kBAAkB,GAAGC,eAAAA;EAEpB,MAAMC,eAAeC,OAAOC,YAAW,EAAW,GAAGJ,eAAAA,WAA0B;IACpFK,OAAOF,OAAOG,OAAO;MACnBC,MAAMJ,OAAOK,SAASL,OAAOM,MAAM;IACrC,CAAA;IACAC,QAAQP,OAAOG,OAAO;MACpBK,QAAQC;IACV,CAAA;EACF,CAAA,EAAA;EAAI;kBAPSV,SAAAA;AAQf,GAXiBH,mBAAAA,iBAAAA,CAAAA,EAAAA;AAaV,IAAMc,WAAW,CAACF,WAAAA;AAEvB,SAAOG,IAAID,SAASF,MAAAA,KAAYA,OAAeI,SAAS;AAC1D;AAEO,IAAMC,eAAN,cAA2BC,YAAY;EAC5CC,UAAU;EACVC,SAAS;AACX,CAAA,EAAG;EACDZ,MAAMJ,OAAOK,SAASL,OAAOM,MAAM;AACrC,CAAA,EAAA;AAAI;;",
6
- "names": ["Schema", "Obj", "TypedObject", "ReactiveObjectSchema", "TEMPLATE_PLUGIN", "meta", "id", "name", "icon", "source", "TemplateAction", "TEMPLATE_ACTION", "TEMPLATE_PLUGIN", "Create", "Schema", "TaggedClass", "input", "Struct", "name", "optional", "String", "output", "object", "ReactiveObjectSchema", "isObject", "Obj", "type", "TemplateType", "TypedObject", "typename", "version"]
7
- }
@@ -1,22 +0,0 @@
1
- import {
2
- TemplateAction,
3
- TemplateType
4
- } from "./chunk-FARPQI2D.mjs";
5
-
6
- // src/capabilities/intent-resolver.ts
7
- import { contributes, Capabilities, createResolver } from "@dxos/app-framework";
8
- import { Obj } from "@dxos/echo";
9
- var intent_resolver_default = () => contributes(Capabilities.IntentResolver, createResolver({
10
- intent: TemplateAction.Create,
11
- resolve: ({ name }) => ({
12
- data: {
13
- object: Obj.make(TemplateType, {
14
- name
15
- })
16
- }
17
- })
18
- }));
19
- export {
20
- intent_resolver_default as default
21
- };
22
- //# sourceMappingURL=intent-resolver-AYJTEW6K.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes, Capabilities, createResolver } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\n\nimport { TemplateAction, TemplateType } from '../types';\n\nexport default () =>\n contributes(\n Capabilities.IntentResolver,\n createResolver({\n intent: TemplateAction.Create,\n resolve: ({ name }) => ({\n data: { object: Obj.make(TemplateType, { name }) },\n }),\n }),\n );\n"],
5
- "mappings": ";;;;;;AAIA,SAASA,aAAaC,cAAcC,sBAAsB;AAC1D,SAASC,WAAW;AAIpB,IAAA,0BAAe,MACbC,YACEC,aAAaC,gBACbC,eAAe;EACbC,QAAQC,eAAeC;EACvBC,SAAS,CAAC,EAAEC,KAAI,OAAQ;IACtBC,MAAM;MAAEC,QAAQC,IAAIC,KAAKC,cAAc;QAAEL;MAAK,CAAA;IAAG;EACnD;AACF,CAAA,CAAA;",
6
- "names": ["contributes", "Capabilities", "createResolver", "Obj", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "TemplateAction", "Create", "resolve", "name", "data", "object", "Obj", "make", "TemplateType"]
7
- }
@@ -1,39 +0,0 @@
1
- import {
2
- TEMPLATE_PLUGIN,
3
- isObject
4
- } from "./chunk-FARPQI2D.mjs";
5
-
6
- // src/capabilities/react-surface.tsx
7
- import React2 from "react";
8
- import { Capabilities, contributes, createSurface } from "@dxos/app-framework";
9
-
10
- // src/components/TemplateContainer.tsx
11
- import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
12
- import React from "react";
13
- import { fullyQualifiedId } from "@dxos/react-client/echo";
14
- import { StackItem } from "@dxos/react-ui-stack";
15
- var TemplateContainer = ({ object }) => {
16
- var _effect = _useSignals();
17
- try {
18
- return /* @__PURE__ */ React.createElement(StackItem.Content, null, /* @__PURE__ */ React.createElement("pre", {
19
- className: "m-4 p-2 ring"
20
- }, /* @__PURE__ */ React.createElement("span", null, fullyQualifiedId(object))));
21
- } finally {
22
- _effect.f();
23
- }
24
- };
25
-
26
- // src/capabilities/react-surface.tsx
27
- var react_surface_default = () => contributes(Capabilities.ReactSurface, createSurface({
28
- id: TEMPLATE_PLUGIN,
29
- role: "article",
30
- filter: (data) => isObject(data.subject),
31
- component: ({ data, role }) => /* @__PURE__ */ React2.createElement(TemplateContainer, {
32
- role,
33
- object: data.subject
34
- })
35
- }));
36
- export {
37
- react_surface_default as default
38
- };
39
- //# sourceMappingURL=react-surface-H7UCIT3M.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-surface.tsx", "../../../src/components/TemplateContainer.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface } from '@dxos/app-framework';\nimport { type Obj } from '@dxos/echo';\n\nimport { TemplateContainer } from '../components';\nimport { TEMPLATE_PLUGIN } from '../meta';\nimport { isObject } from '../types';\n\nexport default () =>\n contributes(\n Capabilities.ReactSurface,\n createSurface({\n id: TEMPLATE_PLUGIN,\n role: 'article',\n filter: (data): data is { subject: Obj.Any } => isObject(data.subject),\n component: ({ data, role }) => <TemplateContainer role={role} object={data.subject} />,\n }),\n );\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Obj } from '@dxos/echo';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nexport const TemplateContainer = ({ object }: { object: Obj.Any; role: string }) => {\n return (\n <StackItem.Content>\n <pre className='m-4 p-2 ring'>\n <span>{fullyQualifiedId(object)}</span>\n </pre>\n </StackItem.Content>\n );\n};\n"],
5
- "mappings": ";;;;;;AAIA,OAAOA,YAAW;AAElB,SAASC,cAAcC,aAAaC,qBAAqB;;;;ACFzD,OAAOC,WAAW;AAGlB,SAASC,wBAAwB;AACjC,SAASC,iBAAiB;AAEnB,IAAMC,oBAAoB,CAAC,EAAEC,OAAM,MAAqC;;;AAC7E,WACE,sBAAA,cAACC,UAAUC,SAAO,MAChB,sBAAA,cAACC,OAAAA;MAAIC,WAAU;OACb,sBAAA,cAACC,QAAAA,MAAMC,iBAAiBN,MAAAA,CAAAA,CAAAA,CAAAA;;;;AAIhC;;;ADLA,IAAA,wBAAe,MACbO,YACEC,aAAaC,cACbC,cAAc;EACZC,IAAIC;EACJC,MAAM;EACNC,QAAQ,CAACC,SAAuCC,SAASD,KAAKE,OAAO;EACrEC,WAAW,CAAC,EAAEH,MAAMF,KAAI,MAAO,gBAAAM,OAAA,cAACC,mBAAAA;IAAkBP;IAAYQ,QAAQN,KAAKE;;AAC7E,CAAA,CAAA;",
6
- "names": ["React", "Capabilities", "contributes", "createSurface", "React", "fullyQualifiedId", "StackItem", "TemplateContainer", "object", "StackItem", "Content", "pre", "className", "span", "fullyQualifiedId", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "TEMPLATE_PLUGIN", "role", "filter", "data", "isObject", "subject", "component", "React", "TemplateContainer", "object"]
7
- }
@@ -1,11 +0,0 @@
1
- import {
2
- TemplateAction,
3
- TemplateType,
4
- isObject
5
- } from "./chunk-FARPQI2D.mjs";
6
- export {
7
- TemplateAction,
8
- TemplateType,
9
- isObject
10
- };
11
- //# sourceMappingURL=types.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
7
- }
@@ -1,51 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
-
3
- // src/types.ts
4
- import { Schema } from "effect";
5
- import { Obj } from "@dxos/echo";
6
- import { TypedObject } from "@dxos/echo-schema";
7
- import { ReactiveObjectSchema } from "@dxos/react-client/echo";
8
-
9
- // src/meta.ts
10
- var TEMPLATE_PLUGIN = "dxos.org/plugin/template";
11
- var meta = {
12
- id: TEMPLATE_PLUGIN,
13
- name: "Template",
14
- icon: "ph--asterisk--regular",
15
- source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-template"
16
- };
17
-
18
- // src/types.ts
19
- (function(TemplateAction2) {
20
- const TEMPLATE_ACTION = `${TEMPLATE_PLUGIN}/action`;
21
- class Create extends Schema.TaggedClass()(`${TEMPLATE_ACTION}/create`, {
22
- input: Schema.Struct({
23
- name: Schema.optional(Schema.String)
24
- }),
25
- output: Schema.Struct({
26
- object: ReactiveObjectSchema
27
- })
28
- }) {
29
- }
30
- TemplateAction2.Create = Create;
31
- })(TemplateAction || (TemplateAction = {}));
32
- var isObject = (object) => {
33
- return Obj.isObject(object) && object.type === "template";
34
- };
35
- var TemplateType = class extends TypedObject({
36
- typename: "dxos.org/type/Template",
37
- version: "0.1.0"
38
- })({
39
- name: Schema.optional(Schema.String)
40
- }) {
41
- };
42
- var TemplateAction;
43
-
44
- export {
45
- TEMPLATE_PLUGIN,
46
- meta,
47
- isObject,
48
- TemplateType,
49
- TemplateAction
50
- };
51
- //# sourceMappingURL=chunk-B3O6VLCP.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types.ts", "../../../src/meta.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Obj } from '@dxos/echo';\nimport { TypedObject } from '@dxos/echo-schema';\nimport { ReactiveObjectSchema } from '@dxos/react-client/echo';\n\nimport { TEMPLATE_PLUGIN } from './meta';\n\nexport namespace TemplateAction {\n const TEMPLATE_ACTION = `${TEMPLATE_PLUGIN}/action`;\n\n export class Create extends Schema.TaggedClass<Create>()(`${TEMPLATE_ACTION}/create`, {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: ReactiveObjectSchema,\n }),\n }) {}\n}\n\nexport const isObject = (object: unknown): object is Obj.Any => {\n // TODO(dmaretskyi): Can this be Obj.instanceOf(TemplateType)?\n return Obj.isObject(object) && (object as any).type === 'template';\n};\n\nexport class TemplateType extends TypedObject({\n typename: 'dxos.org/type/Template',\n version: '0.1.0',\n})({\n name: Schema.optional(Schema.String),\n}) {}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const TEMPLATE_PLUGIN = 'dxos.org/plugin/template';\n\nexport const meta: PluginMeta = {\n id: TEMPLATE_PLUGIN,\n name: 'Template',\n icon: 'ph--asterisk--regular',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-template',\n};\n"],
5
- "mappings": ";;;AAIA,SAASA,cAAc;AAEvB,SAASC,WAAW;AACpB,SAASC,mBAAmB;AAC5B,SAASC,4BAA4B;;;ACF9B,IAAMC,kBAAkB;AAExB,IAAMC,OAAmB;EAC9BC,IAAIF;EACJG,MAAM;EACNC,MAAM;EACNC,QAAQ;AACV;;;UDDiBC,iBAAAA;AACf,QAAMC,kBAAkB,GAAGC,eAAAA;EAEpB,MAAMC,eAAeC,OAAOC,YAAW,EAAW,GAAGJ,eAAAA,WAA0B;IACpFK,OAAOF,OAAOG,OAAO;MACnBC,MAAMJ,OAAOK,SAASL,OAAOM,MAAM;IACrC,CAAA;IACAC,QAAQP,OAAOG,OAAO;MACpBK,QAAQC;IACV,CAAA;EACF,CAAA,EAAA;EAAI;kBAPSV,SAAAA;AAQf,GAXiBH,mBAAAA,iBAAAA,CAAAA,EAAAA;AAaV,IAAMc,WAAW,CAACF,WAAAA;AAEvB,SAAOG,IAAID,SAASF,MAAAA,KAAYA,OAAeI,SAAS;AAC1D;AAEO,IAAMC,eAAN,cAA2BC,YAAY;EAC5CC,UAAU;EACVC,SAAS;AACX,CAAA,EAAG;EACDZ,MAAMJ,OAAOK,SAASL,OAAOM,MAAM;AACrC,CAAA,EAAA;AAAI;;",
6
- "names": ["Schema", "Obj", "TypedObject", "ReactiveObjectSchema", "TEMPLATE_PLUGIN", "meta", "id", "name", "icon", "source", "TemplateAction", "TEMPLATE_ACTION", "TEMPLATE_PLUGIN", "Create", "Schema", "TaggedClass", "input", "Struct", "name", "optional", "String", "output", "object", "ReactiveObjectSchema", "isObject", "Obj", "type", "TemplateType", "TypedObject", "typename", "version"]
7
- }