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

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 (71) hide show
  1. package/dist/lib/browser/chunk-6T47OUOE.mjs +49 -0
  2. package/dist/lib/browser/chunk-6T47OUOE.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +16 -16
  4. package/dist/lib/browser/index.mjs.map +3 -3
  5. package/dist/lib/browser/intent-resolver-4BJJ7NBA.mjs +20 -0
  6. package/dist/lib/browser/intent-resolver-4BJJ7NBA.mjs.map +7 -0
  7. package/dist/lib/browser/meta.json +1 -1
  8. package/dist/lib/browser/react-surface-7J6GGCX4.mjs +68 -0
  9. package/dist/lib/browser/react-surface-7J6GGCX4.mjs.map +7 -0
  10. package/dist/lib/browser/types/index.mjs +7 -0
  11. package/dist/types/src/TemplatePlugin.d.ts +1 -1
  12. package/dist/types/src/TemplatePlugin.d.ts.map +1 -1
  13. package/dist/types/src/capabilities/index.d.ts +2 -2
  14. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  15. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  16. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  17. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  18. package/dist/types/src/components/Example/Example.d.ts +16 -0
  19. package/dist/types/src/components/Example/Example.d.ts.map +1 -0
  20. package/dist/types/src/components/Example/Example.stories.d.ts +19 -0
  21. package/dist/types/src/components/Example/Example.stories.d.ts.map +1 -0
  22. package/dist/types/src/components/Example/index.d.ts +2 -0
  23. package/dist/types/src/components/Example/index.d.ts.map +1 -0
  24. package/dist/types/src/components/TemplateContainer.d.ts +1 -1
  25. package/dist/types/src/components/TemplateContainer.d.ts.map +1 -1
  26. package/dist/types/src/components/index.d.ts +1 -0
  27. package/dist/types/src/components/index.d.ts.map +1 -1
  28. package/dist/types/src/meta.d.ts +0 -1
  29. package/dist/types/src/meta.d.ts.map +1 -1
  30. package/dist/types/src/translations.d.ts +4 -2
  31. package/dist/types/src/translations.d.ts.map +1 -1
  32. package/dist/types/src/types/index.d.ts +2 -0
  33. package/dist/types/src/types/index.d.ts.map +1 -0
  34. package/dist/types/src/types/schema.d.ts +27 -0
  35. package/dist/types/src/types/schema.d.ts.map +1 -0
  36. package/dist/types/tsconfig.tsbuildinfo +1 -1
  37. package/package.json +30 -27
  38. package/src/TemplatePlugin.tsx +48 -48
  39. package/src/capabilities/intent-resolver.ts +4 -5
  40. package/src/capabilities/react-surface.tsx +5 -5
  41. package/src/components/Example/Example.stories.tsx +32 -0
  42. package/src/components/Example/Example.tsx +54 -0
  43. package/src/components/Example/index.ts +5 -0
  44. package/src/components/TemplateContainer.tsx +2 -3
  45. package/src/components/index.ts +1 -0
  46. package/src/meta.ts +7 -3
  47. package/src/translations.ts +4 -2
  48. package/src/types/index.ts +5 -0
  49. package/src/types/schema.ts +31 -0
  50. package/dist/lib/browser/chunk-FARPQI2D.mjs +0 -49
  51. package/dist/lib/browser/chunk-FARPQI2D.mjs.map +0 -7
  52. package/dist/lib/browser/intent-resolver-AYJTEW6K.mjs +0 -22
  53. package/dist/lib/browser/intent-resolver-AYJTEW6K.mjs.map +0 -7
  54. package/dist/lib/browser/react-surface-H7UCIT3M.mjs +0 -39
  55. package/dist/lib/browser/react-surface-H7UCIT3M.mjs.map +0 -7
  56. package/dist/lib/browser/types.mjs +0 -11
  57. package/dist/lib/node-esm/chunk-B3O6VLCP.mjs +0 -51
  58. package/dist/lib/node-esm/chunk-B3O6VLCP.mjs.map +0 -7
  59. package/dist/lib/node-esm/index.mjs +0 -86
  60. package/dist/lib/node-esm/index.mjs.map +0 -7
  61. package/dist/lib/node-esm/intent-resolver-KY2OPU2S.mjs +0 -23
  62. package/dist/lib/node-esm/intent-resolver-KY2OPU2S.mjs.map +0 -7
  63. package/dist/lib/node-esm/meta.json +0 -1
  64. package/dist/lib/node-esm/react-surface-VJDBNR3U.mjs +0 -40
  65. package/dist/lib/node-esm/react-surface-VJDBNR3U.mjs.map +0 -7
  66. package/dist/lib/node-esm/types.mjs +0 -12
  67. package/dist/lib/node-esm/types.mjs.map +0 -7
  68. package/dist/types/src/types.d.ts +0 -27
  69. package/dist/types/src/types.d.ts.map +0 -1
  70. package/src/types.ts +0 -36
  71. /package/dist/lib/browser/{types.mjs.map → types/index.mjs.map} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-template",
3
- "version": "0.8.4-main.f9ba587",
3
+ "version": "0.8.4-main.fffef41",
4
4
  "description": "Template for new plugin",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -10,19 +10,21 @@
10
10
  "type": "module",
11
11
  "exports": {
12
12
  ".": {
13
+ "source": "./src/index.ts",
13
14
  "types": "./dist/types/src/index.d.ts",
14
15
  "browser": "./dist/lib/browser/index.mjs"
15
16
  },
16
17
  "./types": {
17
- "types": "./dist/types/src/types.d.ts",
18
- "browser": "./dist/lib/browser/types.mjs"
18
+ "source": "./src/types/index.ts",
19
+ "types": "./dist/types/src/types/index.d.ts",
20
+ "browser": "./dist/lib/browser/types/index.mjs"
19
21
  }
20
22
  },
21
23
  "types": "dist/types/src/index.d.ts",
22
24
  "typesVersions": {
23
25
  "*": {
24
26
  "types": [
25
- "dist/types/src/types.d.ts"
27
+ "dist/types/src/types/index.d.ts"
26
28
  ]
27
29
  }
28
30
  },
@@ -32,34 +34,35 @@
32
34
  ],
33
35
  "dependencies": {
34
36
  "@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"
37
+ "@preact/signals-core": "^1.12.1",
38
+ "@radix-ui/react-context": "1.1.1",
39
+ "effect": "3.18.3",
40
+ "@dxos/app-framework": "0.8.4-main.fffef41",
41
+ "@dxos/async": "0.8.4-main.fffef41",
42
+ "@dxos/plugin-client": "0.8.4-main.fffef41",
43
+ "@dxos/plugin-graph": "0.8.4-main.fffef41",
44
+ "@dxos/echo": "0.8.4-main.fffef41",
45
+ "@dxos/plugin-space": "0.8.4-main.fffef41",
46
+ "@dxos/react-client": "0.8.4-main.fffef41",
47
+ "@dxos/react-ui-stack": "0.8.4-main.fffef41",
48
+ "@dxos/util": "0.8.4-main.fffef41"
46
49
  },
47
50
  "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"
51
+ "@types/react": "~19.2.2",
52
+ "@types/react-dom": "~19.2.2",
53
+ "react": "~19.2.0",
54
+ "react-dom": "~19.2.0",
55
+ "vite": "7.1.9",
56
+ "@dxos/react-ui": "0.8.4-main.fffef41",
57
+ "@dxos/storybook-utils": "0.8.4-main.fffef41",
58
+ "@dxos/react-ui-theme": "0.8.4-main.fffef41"
56
59
  },
57
60
  "peerDependencies": {
58
61
  "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"
62
+ "react": "^19.0.0",
63
+ "react-dom": "^19.0.0",
64
+ "@dxos/react-ui": "0.8.4-main.fffef41",
65
+ "@dxos/react-ui-theme": "0.8.4-main.fffef41"
63
66
  },
64
67
  "publishConfig": {
65
68
  "access": "public"
@@ -2,59 +2,59 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { createIntent, Capabilities, contributes, Events, defineModule, definePlugin } from '@dxos/app-framework';
5
+ import { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from '@dxos/app-framework';
6
6
  import { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';
7
7
  import { SpaceCapabilities } from '@dxos/plugin-space';
8
8
  import { defineObjectForm } from '@dxos/plugin-space/types';
9
9
 
10
- import { ReactSurface, IntentResolver } from './capabilities';
10
+ import { IntentResolver, ReactSurface } from './capabilities';
11
11
  import { meta } from './meta';
12
12
  import { translations } from './translations';
13
- import { TemplateAction, TemplateType } from './types';
13
+ import { Template } from './types';
14
14
 
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
- },
15
+ export const TemplatePlugin = definePlugin(meta, () => [
16
+ defineModule({
17
+ id: `${meta.id}/module/translations`,
18
+ activatesOn: Events.SetupTranslations,
19
+ activate: () => contributes(Capabilities.Translations, translations),
20
+ }),
21
+ defineModule({
22
+ id: `${meta.id}/module/metadata`,
23
+ activatesOn: Events.SetupMetadata,
24
+ activate: () =>
25
+ contributes(Capabilities.Metadata, {
26
+ id: Template.Data.typename,
27
+ metadata: {
28
+ icon: 'ph--asterisk--regular',
29
+ iconHue: 'sky',
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: Template.Data,
41
+ getIntent: () => createIntent(Template.Create),
31
42
  }),
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
- ]);
43
+ ),
44
+ }),
45
+ defineModule({
46
+ id: `${meta.id}/module/schema`,
47
+ activatesOn: ClientEvents.SetupSchema,
48
+ activate: () => contributes(ClientCapabilities.Schema, [Template.Data]),
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
+ ]);
@@ -2,18 +2,17 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { contributes, Capabilities, createResolver } from '@dxos/app-framework';
6
- import { Obj } from '@dxos/echo';
5
+ import { Capabilities, contributes, createResolver } from '@dxos/app-framework';
7
6
 
8
- import { TemplateAction, TemplateType } from '../types';
7
+ import { Template } from '../types';
9
8
 
10
9
  export default () =>
11
10
  contributes(
12
11
  Capabilities.IntentResolver,
13
12
  createResolver({
14
- intent: TemplateAction.Create,
13
+ intent: Template.Create,
15
14
  resolve: ({ name }) => ({
16
- data: { object: Obj.make(TemplateType, { name }) },
15
+ data: { object: Template.make({ name }) },
17
16
  }),
18
17
  }),
19
18
  );
@@ -5,19 +5,19 @@
5
5
  import React from 'react';
6
6
 
7
7
  import { Capabilities, contributes, createSurface } from '@dxos/app-framework';
8
- import { type Obj } from '@dxos/echo';
8
+ import { Obj } from '@dxos/echo';
9
9
 
10
10
  import { TemplateContainer } from '../components';
11
- import { TEMPLATE_PLUGIN } from '../meta';
12
- import { isObject } from '../types';
11
+ import { meta } from '../meta';
12
+ import { Template } from '../types';
13
13
 
14
14
  export default () =>
15
15
  contributes(
16
16
  Capabilities.ReactSurface,
17
17
  createSurface({
18
- id: TEMPLATE_PLUGIN,
18
+ id: meta.id,
19
19
  role: 'article',
20
- filter: (data): data is { subject: Obj.Any } => isObject(data.subject),
20
+ filter: (data): data is { subject: Obj.Any } => Obj.instanceOf(Template.Data, data.subject),
21
21
  component: ({ data, role }) => <TemplateContainer role={role} object={data.subject} />,
22
22
  }),
23
23
  );
@@ -0,0 +1,32 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ import { type Meta, type StoryObj } from '@storybook/react-vite';
6
+ import React from 'react';
7
+
8
+ import { withLayout, withTheme } from '@dxos/react-ui/testing';
9
+
10
+ import { Example, type ExampleRootProps } from './Example';
11
+
12
+ const DefaultStory = (props: ExampleRootProps) => {
13
+ return <Example.Root {...props} />;
14
+ };
15
+
16
+ const meta = {
17
+ title: 'ui/react-ui-core/Example',
18
+ component: Example.Root,
19
+ render: DefaultStory,
20
+ decorators: [withTheme, withLayout({ container: 'column' })],
21
+ parameters: {
22
+ layout: 'fullscreen',
23
+ },
24
+ } satisfies Meta<typeof DefaultStory>;
25
+
26
+ export default meta;
27
+
28
+ type Story = StoryObj<typeof meta>;
29
+
30
+ export const Default: Story = {
31
+ args: {},
32
+ };
@@ -0,0 +1,54 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { createContext } from '@radix-ui/react-context';
6
+ import React, { type PropsWithChildren } from 'react';
7
+
8
+ import { type ThemedClassName } from '@dxos/react-ui';
9
+ import { mx } from '@dxos/react-ui-theme';
10
+
11
+ //
12
+ // Context
13
+ //
14
+
15
+ type ExampleContextValue = {};
16
+
17
+ const [ExampleContextProvider, useExampleContext] = createContext<ExampleContextValue>('Example');
18
+
19
+ //
20
+ // Root
21
+ //
22
+
23
+ type ExampleRootProps = PropsWithChildren<{}>;
24
+
25
+ const ExampleRoot = ({ children }: ExampleRootProps) => {
26
+ return <ExampleContextProvider>{children}</ExampleContextProvider>;
27
+ };
28
+
29
+ ExampleRoot.displayName = 'Example.Root';
30
+
31
+ //
32
+ // Content
33
+ //
34
+
35
+ type ExampleContentProps = ThemedClassName<{}>;
36
+
37
+ const ExampleContent = ({ classNames }: ExampleContentProps) => {
38
+ const context = useExampleContext(ExampleContent.displayName);
39
+ return <div className={mx(classNames)}>{JSON.stringify(context)}</div>;
40
+ };
41
+
42
+ ExampleContent.displayName = 'Example.Content';
43
+
44
+ //
45
+ // Example
46
+ // https://www.radix-ui.com/primitives/docs/guides/composition
47
+ //
48
+
49
+ export const Example = {
50
+ Root: ExampleRoot,
51
+ Content: ExampleContent,
52
+ };
53
+
54
+ export type { ExampleRootProps, ExampleContentProps };
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ export * from './Example';
@@ -4,15 +4,14 @@
4
4
 
5
5
  import React from 'react';
6
6
 
7
- import { type Obj } from '@dxos/echo';
8
- import { fullyQualifiedId } from '@dxos/react-client/echo';
7
+ import { Obj } from '@dxos/echo';
9
8
  import { StackItem } from '@dxos/react-ui-stack';
10
9
 
11
10
  export const TemplateContainer = ({ object }: { object: Obj.Any; role: string }) => {
12
11
  return (
13
12
  <StackItem.Content>
14
13
  <pre className='m-4 p-2 ring'>
15
- <span>{fullyQualifiedId(object)}</span>
14
+ <span>{Obj.getDXN(object).toString()}</span>
16
15
  </pre>
17
16
  </StackItem.Content>
18
17
  );
@@ -2,4 +2,5 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
+ export * from './Example';
5
6
  export * from './TemplateContainer';
package/src/meta.ts CHANGED
@@ -3,12 +3,16 @@
3
3
  //
4
4
 
5
5
  import { type PluginMeta } from '@dxos/app-framework';
6
-
7
- export const TEMPLATE_PLUGIN = 'dxos.org/plugin/template';
6
+ import { trim } from '@dxos/util';
8
7
 
9
8
  export const meta: PluginMeta = {
10
- id: TEMPLATE_PLUGIN,
9
+ id: 'dxos.org/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
  };
@@ -5,17 +5,19 @@
5
5
  import { type Resource } from '@dxos/react-ui';
6
6
 
7
7
  import { meta } from './meta';
8
- import { TemplateType } from './types';
8
+ import { Template } from './types';
9
9
 
10
10
  export const translations = [
11
11
  {
12
12
  'en-US': {
13
- [TemplateType.typename]: {
13
+ [Template.Data.typename]: {
14
14
  'typename label': 'Template',
15
15
  'typename label_zero': 'Templates',
16
16
  'typename label_one': 'Template',
17
17
  'typename label_other': 'Templates',
18
18
  'object name placeholder': 'New template',
19
+ 'rename object label': 'Rename template',
20
+ 'delete object label': 'Delete template',
19
21
  },
20
22
  [meta.id]: {
21
23
  'plugin name': 'Template',
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ export * from './schema';
@@ -0,0 +1,31 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ import * as Schema from 'effect/Schema';
6
+
7
+ import { Obj } from '@dxos/echo';
8
+ import { TypedObject } from '@dxos/echo/internal';
9
+ import { ReactiveObjectSchema } from '@dxos/react-client/echo';
10
+
11
+ import { meta } from '../meta';
12
+
13
+ export namespace Template {
14
+ export class Create extends Schema.TaggedClass<Create>()(`${meta.id}/action/create`, {
15
+ input: Schema.Struct({
16
+ name: Schema.optional(Schema.String),
17
+ }),
18
+ output: Schema.Struct({
19
+ object: ReactiveObjectSchema,
20
+ }),
21
+ }) {}
22
+
23
+ export class Data extends TypedObject({
24
+ typename: 'dxos.org/type/Data',
25
+ version: '0.1.0',
26
+ })({
27
+ name: Schema.optional(Schema.String),
28
+ }) {}
29
+
30
+ export const make = (props: Partial<Data>) => Obj.make(Data, props);
31
+ }
@@ -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