@dxos/plugin-presenter 0.8.4-main.e098934 → 0.8.4-main.ead640a

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 (53) hide show
  1. package/dist/lib/browser/{CollectionPresenterContainer-U7D57ZVN.mjs → CollectionPresenterContainer-LPJILYRF.mjs} +3 -3
  2. package/dist/lib/browser/{MarkdownSlide-ZUPODCSC.mjs → MarkdownSlide-BLVWTH3U.mjs} +2 -2
  3. package/dist/lib/browser/{MarkdownSlide-ZUPODCSC.mjs.map → MarkdownSlide-BLVWTH3U.mjs.map} +1 -1
  4. package/dist/lib/browser/{app-graph-builder-5LNLRZBN.mjs → app-graph-builder-2PY2HRAX.mjs} +16 -15
  5. package/dist/lib/browser/app-graph-builder-2PY2HRAX.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-VSD5LSE5.mjs → chunk-6ZM323ED.mjs} +2 -4
  7. package/dist/lib/browser/chunk-6ZM323ED.mjs.map +7 -0
  8. package/dist/lib/browser/{chunk-W4IR3DJE.mjs → chunk-7DV6S5XB.mjs} +5 -5
  9. package/dist/lib/browser/chunk-7DV6S5XB.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-ENIFUI47.mjs → chunk-QTSOWA2K.mjs} +7 -7
  11. package/dist/lib/browser/chunk-QTSOWA2K.mjs.map +7 -0
  12. package/dist/lib/browser/index.mjs +6 -8
  13. package/dist/lib/browser/index.mjs.map +2 -2
  14. package/dist/lib/browser/meta.json +1 -1
  15. package/dist/lib/browser/{react-surface-UAXR5ZP3.mjs → react-surface-P7YJFHF3.mjs} +13 -13
  16. package/dist/lib/browser/react-surface-P7YJFHF3.mjs.map +7 -0
  17. package/dist/lib/browser/{settings-VQVVDAGY.mjs → settings-7A4A2H6X.mjs} +5 -5
  18. package/dist/lib/browser/{settings-VQVVDAGY.mjs.map → settings-7A4A2H6X.mjs.map} +1 -1
  19. package/dist/types/src/PresenterPlugin.d.ts +1 -1
  20. package/dist/types/src/PresenterPlugin.d.ts.map +1 -1
  21. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  22. package/dist/types/src/components/Markdown/Container.stories.d.ts +0 -1
  23. package/dist/types/src/components/Markdown/Container.stories.d.ts.map +1 -1
  24. package/dist/types/src/components/Markdown/Slide.stories.d.ts +1 -1
  25. package/dist/types/src/components/Markdown/Slide.stories.d.ts.map +1 -1
  26. package/dist/types/src/components/Presenter/Pager.stories.d.ts +0 -1
  27. package/dist/types/src/components/Presenter/Pager.stories.d.ts.map +1 -1
  28. package/dist/types/src/components/RevealPlayer/RevealPlayer.stories.d.ts +1 -1
  29. package/dist/types/src/components/RevealPlayer/RevealPlayer.stories.d.ts.map +1 -1
  30. package/dist/types/src/components/index.d.ts +8 -6
  31. package/dist/types/src/components/index.d.ts.map +1 -1
  32. package/dist/types/src/meta.d.ts +0 -1
  33. package/dist/types/src/meta.d.ts.map +1 -1
  34. package/dist/types/src/types.d.ts +4 -3
  35. package/dist/types/src/types.d.ts.map +1 -1
  36. package/dist/types/tsconfig.tsbuildinfo +1 -1
  37. package/package.json +34 -35
  38. package/src/PresenterPlugin.tsx +22 -23
  39. package/src/capabilities/app-graph-builder.ts +11 -14
  40. package/src/capabilities/react-surface.tsx +10 -10
  41. package/src/components/Markdown/Container.stories.tsx +2 -4
  42. package/src/components/Markdown/Slide.stories.tsx +3 -2
  43. package/src/components/Presenter/Pager.stories.tsx +1 -3
  44. package/src/components/PresenterSettings.tsx +3 -3
  45. package/src/components/RevealPlayer/RevealPlayer.stories.tsx +3 -2
  46. package/src/meta.ts +1 -3
  47. package/src/types.ts +3 -3
  48. package/dist/lib/browser/app-graph-builder-5LNLRZBN.mjs.map +0 -7
  49. package/dist/lib/browser/chunk-ENIFUI47.mjs.map +0 -7
  50. package/dist/lib/browser/chunk-VSD5LSE5.mjs.map +0 -7
  51. package/dist/lib/browser/chunk-W4IR3DJE.mjs.map +0 -7
  52. package/dist/lib/browser/react-surface-UAXR5ZP3.mjs.map +0 -7
  53. /package/dist/lib/browser/{CollectionPresenterContainer-U7D57ZVN.mjs.map → CollectionPresenterContainer-LPJILYRF.mjs.map} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-presenter",
3
- "version": "0.8.4-main.e098934",
3
+ "version": "0.8.4-main.ead640a",
4
4
  "description": "Braneframe presenter plugin",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -25,57 +25,56 @@
25
25
  ],
26
26
  "dependencies": {
27
27
  "@preact-signals/safe-react": "^0.9.0",
28
- "@preact/signals-core": "^1.9.0",
28
+ "@preact/signals-core": "^1.12.1",
29
29
  "hastscript": "^7.1.0",
30
30
  "highlight.js": "^11.9.0",
31
31
  "marked": "^12.0.2",
32
- "react-markdown": "^8.0.5",
32
+ "react-markdown": "^10.1.0",
33
33
  "react-resize-detector": "^11.0.1",
34
34
  "rehype-add-classes": "^1.0.0",
35
35
  "rehype-highlight": "^6.0.0",
36
36
  "remark-frontmatter": "^5.0.0",
37
37
  "remark-parse-frontmatter": "^1.0.3",
38
38
  "reveal.js": "^5.1.0",
39
- "@dxos/app-framework": "0.8.4-main.e098934",
40
- "@dxos/async": "0.8.4-main.e098934",
41
- "@dxos/echo": "0.8.4-main.e098934",
42
- "@dxos/echo-schema": "0.8.4-main.e098934",
43
- "@dxos/log": "0.8.4-main.e098934",
44
- "@dxos/live-object": "0.8.4-main.e098934",
45
- "@dxos/local-storage": "0.8.4-main.e098934",
46
- "@dxos/plugin-deck": "0.8.4-main.e098934",
47
- "@dxos/plugin-graph": "0.8.4-main.e098934",
48
- "@dxos/plugin-markdown": "0.8.4-main.e098934",
49
- "@dxos/plugin-client": "0.8.4-main.e098934",
50
- "@dxos/plugin-stack": "0.8.4-main.e098934",
51
- "@dxos/react-client": "0.8.4-main.e098934",
52
- "@dxos/react-ui-form": "0.8.4-main.e098934",
53
- "@dxos/react-ui-stack": "0.8.4-main.e098934",
54
- "@dxos/schema": "0.8.4-main.e098934"
39
+ "@dxos/app-framework": "0.8.4-main.ead640a",
40
+ "@dxos/async": "0.8.4-main.ead640a",
41
+ "@dxos/live-object": "0.8.4-main.ead640a",
42
+ "@dxos/local-storage": "0.8.4-main.ead640a",
43
+ "@dxos/log": "0.8.4-main.ead640a",
44
+ "@dxos/plugin-client": "0.8.4-main.ead640a",
45
+ "@dxos/echo": "0.8.4-main.ead640a",
46
+ "@dxos/plugin-deck": "0.8.4-main.ead640a",
47
+ "@dxos/plugin-stack": "0.8.4-main.ead640a",
48
+ "@dxos/react-client": "0.8.4-main.ead640a",
49
+ "@dxos/plugin-markdown": "0.8.4-main.ead640a",
50
+ "@dxos/react-ui-stack": "0.8.4-main.ead640a",
51
+ "@dxos/react-ui-form": "0.8.4-main.ead640a",
52
+ "@dxos/plugin-graph": "0.8.4-main.ead640a",
53
+ "@dxos/schema": "0.8.4-main.ead640a"
55
54
  },
56
55
  "devDependencies": {
57
- "@effect-rx/rx-react": "0.38.0",
58
- "@effect/platform": "0.90.2",
59
- "@types/react": "~18.2.0",
60
- "@types/react-dom": "~18.2.0",
56
+ "@effect-rx/rx-react": "0.42.4",
57
+ "@effect/platform": "0.92.1",
58
+ "@types/react": "~19.2.2",
59
+ "@types/react-dom": "~19.2.1",
61
60
  "@types/reveal.js": "^5.0.3",
62
- "effect": "3.17.7",
63
- "react": "~18.2.0",
64
- "react-dom": "~18.2.0",
65
- "vite": "7.1.1",
66
- "@dxos/react-ui": "0.8.4-main.e098934",
67
- "@dxos/random": "0.8.4-main.e098934",
68
- "@dxos/react-ui-theme": "0.8.4-main.e098934",
69
- "@dxos/storybook-utils": "0.8.4-main.e098934"
61
+ "effect": "3.18.3",
62
+ "react": "~19.2.0",
63
+ "react-dom": "~19.2.0",
64
+ "vite": "7.1.9",
65
+ "@dxos/random": "0.8.4-main.ead640a",
66
+ "@dxos/react-ui": "0.8.4-main.ead640a",
67
+ "@dxos/react-ui-theme": "0.8.4-main.ead640a",
68
+ "@dxos/storybook-utils": "0.8.4-main.ead640a"
70
69
  },
71
70
  "peerDependencies": {
72
71
  "@effect-rx/rx-react": "^0.34.1",
73
72
  "@effect/platform": "^0.80.12",
74
73
  "effect": "^3.13.3",
75
- "react": "~18.2.0",
76
- "react-dom": "~18.2.0",
77
- "@dxos/react-ui": "0.8.4-main.e098934",
78
- "@dxos/react-ui-theme": "0.8.4-main.e098934"
74
+ "react": "^19.0.0",
75
+ "react-dom": "^19.0.0",
76
+ "@dxos/react-ui": "0.8.4-main.ead640a",
77
+ "@dxos/react-ui-theme": "0.8.4-main.ead640a"
79
78
  },
80
79
  "publishConfig": {
81
80
  "access": "public"
@@ -11,26 +11,25 @@ import { translations } from './translations';
11
11
  // TODO(burdon): Only scale markdown content.
12
12
  // TODO(burdon): Map stack content; Slide content type (e.g., markdown, sketch, IPFS image, table, etc.)
13
13
 
14
- export const PresenterPlugin = () =>
15
- definePlugin(meta, [
16
- defineModule({
17
- id: `${meta.id}/module/settings`,
18
- activatesOn: Events.SetupSettings,
19
- activate: PresenterSettings,
20
- }),
21
- defineModule({
22
- id: `${meta.id}/module/translations`,
23
- activatesOn: Events.SetupTranslations,
24
- activate: () => contributes(Capabilities.Translations, translations),
25
- }),
26
- defineModule({
27
- id: `${meta.id}/module/react-surface`,
28
- activatesOn: Events.SetupReactSurface,
29
- activate: ReactSurface,
30
- }),
31
- defineModule({
32
- id: `${meta.id}/module/app-graph-builder`,
33
- activatesOn: Events.SetupAppGraph,
34
- activate: AppGraphBuilder,
35
- }),
36
- ]);
14
+ export const PresenterPlugin = definePlugin(meta, () => [
15
+ defineModule({
16
+ id: `${meta.id}/module/settings`,
17
+ activatesOn: Events.SetupSettings,
18
+ activate: PresenterSettings,
19
+ }),
20
+ defineModule({
21
+ id: `${meta.id}/module/translations`,
22
+ activatesOn: Events.SetupTranslations,
23
+ activate: () => contributes(Capabilities.Translations, translations),
24
+ }),
25
+ defineModule({
26
+ id: `${meta.id}/module/react-surface`,
27
+ activatesOn: Events.SetupReactSurface,
28
+ activate: ReactSurface,
29
+ }),
30
+ defineModule({
31
+ id: `${meta.id}/module/app-graph-builder`,
32
+ activatesOn: Events.SetupAppGraph,
33
+ activate: AppGraphBuilder,
34
+ }),
35
+ ]);
@@ -3,7 +3,8 @@
3
3
  //
4
4
 
5
5
  import { Rx } from '@effect-rx/rx-react';
6
- import { Option, pipe } from 'effect';
6
+ import * as Function from 'effect/Function';
7
+ import * as Option from 'effect/Option';
7
8
 
8
9
  import { Capabilities, LayoutAction, type PluginContext, contributes, createIntent } from '@dxos/app-framework';
9
10
  import { Obj } from '@dxos/echo';
@@ -14,24 +15,22 @@ import { Markdown } from '@dxos/plugin-markdown/types';
14
15
  import { fullyQualifiedId, getSpace } from '@dxos/react-client/echo';
15
16
  import { DataType } from '@dxos/schema';
16
17
 
17
- import { PRESENTER_PLUGIN } from '../meta';
18
+ import { meta } from '../meta';
18
19
  import { PresenterAction, type PresenterSettingsProps } from '../types';
19
20
 
20
21
  export default (context: PluginContext) =>
21
22
  contributes(
22
23
  Capabilities.AppGraphBuilder,
23
24
  createExtension({
24
- id: PRESENTER_PLUGIN,
25
+ id: `${meta.id}/root`,
25
26
  // TODO(wittjosiah): This is a hack to work around presenter previously relying on "variant". Remove.
26
27
  connector: (node) =>
27
28
  Rx.make((get) =>
28
- pipe(
29
+ Function.pipe(
29
30
  get(node),
30
31
  Option.flatMap((node) => {
31
32
  const [settingsStore] = get(context.capabilities(Capabilities.SettingsStore));
32
- const settings = get(
33
- rxFromSignal(() => settingsStore?.getStore<PresenterSettingsProps>(PRESENTER_PLUGIN)?.value),
34
- );
33
+ const settings = get(rxFromSignal(() => settingsStore?.getStore<PresenterSettingsProps>(meta.id)?.value));
35
34
  const isPresentable = settings?.presentCollections
36
35
  ? Obj.instanceOf(DataType.Collection, node.data) || Obj.instanceOf(Markdown.Document, node.data)
37
36
  : Obj.instanceOf(Markdown.Document, node.data);
@@ -42,8 +41,8 @@ export default (context: PluginContext) =>
42
41
  return [
43
42
  {
44
43
  id: [id, 'presenter'].join(ATTENDABLE_PATH_SEPARATOR),
45
- data: { type: PRESENTER_PLUGIN, object },
46
- type: PRESENTER_PLUGIN,
44
+ data: { type: meta.id, object },
45
+ type: meta.id,
47
46
  properties: {
48
47
  label: 'Presenter',
49
48
  icon: 'ph--presentation--regular',
@@ -57,13 +56,11 @@ export default (context: PluginContext) =>
57
56
  ),
58
57
  actions: (node) =>
59
58
  Rx.make((get) =>
60
- pipe(
59
+ Function.pipe(
61
60
  get(node),
62
61
  Option.flatMap((node) => {
63
62
  const [settingsStore] = get(context.capabilities(Capabilities.SettingsStore));
64
- const settings = get(
65
- rxFromSignal(() => settingsStore?.getStore<PresenterSettingsProps>(PRESENTER_PLUGIN)?.value),
66
- );
63
+ const settings = get(rxFromSignal(() => settingsStore?.getStore<PresenterSettingsProps>(meta.id)?.value));
67
64
  const isPresentable = settings?.presentCollections
68
65
  ? Obj.instanceOf(DataType.Collection, node.data) || Obj.instanceOf(Markdown.Document, node.data)
69
66
  : Obj.instanceOf(Markdown.Document, node.data);
@@ -98,7 +95,7 @@ export default (context: PluginContext) =>
98
95
  );
99
96
  },
100
97
  properties: {
101
- label: ['toggle presentation label', { ns: PRESENTER_PLUGIN }],
98
+ label: ['toggle presentation label', { ns: meta.id }],
102
99
  icon: 'ph--presentation--regular',
103
100
  disposition: 'list-item',
104
101
  keyBinding: {
@@ -16,48 +16,48 @@ import {
16
16
  MarkdownSlide,
17
17
  PresenterSettings,
18
18
  } from '../components';
19
- import { PRESENTER_PLUGIN } from '../meta';
19
+ import { meta } from '../meta';
20
20
  import { type PresenterSettingsProps } from '../types';
21
21
 
22
22
  export default () =>
23
23
  contributes(Capabilities.ReactSurface, [
24
24
  createSurface({
25
- id: `${PRESENTER_PLUGIN}/document`,
25
+ id: `${meta.id}/document`,
26
26
  role: 'article',
27
27
  position: 'hoist',
28
- filter: (data): data is { subject: { type: typeof PRESENTER_PLUGIN; object: Markdown.Document } } =>
28
+ filter: (data): data is { subject: { type: typeof meta.id; object: Markdown.Document } } =>
29
29
  !!data.subject &&
30
30
  typeof data.subject === 'object' &&
31
31
  'type' in data.subject &&
32
32
  'object' in data.subject &&
33
- data.subject.type === PRESENTER_PLUGIN &&
33
+ data.subject.type === meta.id &&
34
34
  Obj.instanceOf(Markdown.Document, data.subject.object),
35
35
  component: ({ data }) => <DocumentPresenterContainer document={data.subject.object} />,
36
36
  }),
37
37
  createSurface({
38
- id: `${PRESENTER_PLUGIN}/collection`,
38
+ id: `${meta.id}/collection`,
39
39
  role: 'article',
40
40
  position: 'hoist',
41
- filter: (data): data is { subject: { type: typeof PRESENTER_PLUGIN; object: DataType.Collection } } =>
41
+ filter: (data): data is { subject: { type: typeof meta.id; object: DataType.Collection } } =>
42
42
  !!data.subject &&
43
43
  typeof data.subject === 'object' &&
44
44
  'type' in data.subject &&
45
45
  'object' in data.subject &&
46
- data.subject.type === PRESENTER_PLUGIN &&
46
+ data.subject.type === meta.id &&
47
47
  Obj.instanceOf(DataType.Collection, data.subject.object),
48
48
  component: ({ data }) => <CollectionPresenterContainer collection={data.subject.object} />,
49
49
  }),
50
50
  createSurface({
51
- id: `${PRESENTER_PLUGIN}/slide`,
51
+ id: `${meta.id}/slide`,
52
52
  role: 'slide',
53
53
  filter: (data): data is { subject: Markdown.Document } => Obj.instanceOf(Markdown.Document, data.subject),
54
54
  component: ({ data }) => <MarkdownSlide document={data.subject} />,
55
55
  }),
56
56
  createSurface({
57
- id: `${PRESENTER_PLUGIN}/plugin-settings`,
57
+ id: `${meta.id}/plugin-settings`,
58
58
  role: 'article',
59
59
  filter: (data): data is { subject: SettingsStore<PresenterSettingsProps> } =>
60
- data.subject instanceof SettingsStore && data.subject.prefix === PRESENTER_PLUGIN,
60
+ data.subject instanceof SettingsStore && data.subject.prefix === meta.id,
61
61
  component: ({ data: { subject } }) => <PresenterSettings settings={subject.value} />,
62
62
  }),
63
63
  ]);
@@ -2,12 +2,10 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import '@dxos-theme';
6
-
7
5
  import { type Meta, type StoryObj } from '@storybook/react-vite';
8
6
  import React from 'react';
9
7
 
10
- import { withLayout, withTheme } from '@dxos/storybook-utils';
8
+ import { withTheme } from '@dxos/react-ui/testing';
11
9
 
12
10
  import { createSlide } from '../../testing';
13
11
 
@@ -25,7 +23,7 @@ const DefaultStory = ({ content = '' }: SlideProps) => {
25
23
  const meta = {
26
24
  title: 'plugins/plugin-presenter/Container',
27
25
  render: DefaultStory,
28
- decorators: [withTheme, withLayout({ fullscreen: true })],
26
+ decorators: [withTheme],
29
27
  parameters: {
30
28
  layout: 'fullscreen',
31
29
  },
@@ -2,10 +2,10 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import '@dxos-theme';
6
-
7
5
  import { type Meta, type StoryObj } from '@storybook/react-vite';
8
6
 
7
+ import { withTheme } from '@dxos/react-ui/testing';
8
+
9
9
  import { createSlide } from '../../testing';
10
10
 
11
11
  import { Slide } from './Slide';
@@ -13,6 +13,7 @@ import { Slide } from './Slide';
13
13
  const meta = {
14
14
  title: 'plugins/plugin-presenter/Slide',
15
15
  component: Slide,
16
+ decorators: [withTheme],
16
17
  parameters: {
17
18
  layout: 'fullscreen',
18
19
  },
@@ -2,12 +2,10 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import '@dxos-theme';
6
-
7
5
  import { type Meta, type StoryObj } from '@storybook/react-vite';
8
6
  import React, { useState } from 'react';
9
7
 
10
- import { withTheme } from '@dxos/storybook-utils';
8
+ import { withTheme } from '@dxos/react-ui/testing';
11
9
 
12
10
  import { PageNumber, Pager, type PagerProps, StartButton } from './Pager';
13
11
 
@@ -7,15 +7,15 @@ import React from 'react';
7
7
  import { Input, useTranslation } from '@dxos/react-ui';
8
8
  import { ControlGroup, ControlItemInput, ControlPage, ControlSection } from '@dxos/react-ui-form';
9
9
 
10
- import { PRESENTER_PLUGIN } from '../meta';
10
+ import { meta } from '../meta';
11
11
  import { type PresenterSettingsProps } from '../types';
12
12
 
13
13
  export const PresenterSettings = ({ settings }: { settings: PresenterSettingsProps }) => {
14
- const { t } = useTranslation(PRESENTER_PLUGIN);
14
+ const { t } = useTranslation(meta.id);
15
15
 
16
16
  return (
17
17
  <ControlPage>
18
- <ControlSection title={t('settings title', { ns: PRESENTER_PLUGIN })}>
18
+ <ControlSection title={t('settings title', { ns: meta.id })}>
19
19
  <ControlGroup>
20
20
  <ControlItemInput title={t('present collections label')}>
21
21
  <Input.Switch
@@ -2,10 +2,10 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import '@dxos-theme';
6
-
7
5
  import { type Meta } from '@storybook/react-vite';
8
6
 
7
+ import { withTheme } from '@dxos/react-ui/testing';
8
+
9
9
  import CONTENT from '../../../testing/deck.md?raw';
10
10
  import { translations } from '../../translations';
11
11
 
@@ -22,6 +22,7 @@ import { RevealPlayer } from './RevealPlayer';
22
22
  const meta = {
23
23
  title: 'plugins/plugin-presenter/RevealPlayer',
24
24
  component: RevealPlayer,
25
+ decorators: [withTheme],
25
26
  parameters: {
26
27
  layout: 'fullscreen',
27
28
  translations,
package/src/meta.ts CHANGED
@@ -4,10 +4,8 @@
4
4
 
5
5
  import { type PluginMeta } from '@dxos/app-framework';
6
6
 
7
- export const PRESENTER_PLUGIN = 'dxos.org/plugin/presenter';
8
-
9
7
  export const meta: PluginMeta = {
10
- id: PRESENTER_PLUGIN,
8
+ id: 'dxos.org/plugin/presenter',
11
9
  name: 'Presenter',
12
10
  description: 'Present documents as slideshows.',
13
11
  icon: 'ph--presentation--regular',
package/src/types.ts CHANGED
@@ -2,16 +2,16 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import * as Schema from 'effect/Schema';
6
6
  import { type Context, createContext } from 'react';
7
7
 
8
8
  import { Markdown } from '@dxos/plugin-markdown/types';
9
9
  import { DataType } from '@dxos/schema';
10
10
 
11
- import { PRESENTER_PLUGIN } from './meta';
11
+ import { meta } from './meta';
12
12
 
13
13
  export namespace PresenterAction {
14
- const PRESENTER_ACTION = `${PRESENTER_PLUGIN}/action`;
14
+ const PRESENTER_ACTION = `${meta.id}/action`;
15
15
 
16
16
  export class TogglePresentation extends Schema.TaggedClass<TogglePresentation>()(
17
17
  `${PRESENTER_ACTION}/toggle-presentation`,
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport { Option, pipe } from 'effect';\n\nimport { Capabilities, LayoutAction, type PluginContext, contributes, createIntent } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { DeckCapabilities } from '@dxos/plugin-deck';\nimport { ATTENDABLE_PATH_SEPARATOR, DeckAction } from '@dxos/plugin-deck/types';\nimport { createExtension, rxFromSignal } from '@dxos/plugin-graph';\nimport { Markdown } from '@dxos/plugin-markdown/types';\nimport { fullyQualifiedId, getSpace } from '@dxos/react-client/echo';\nimport { DataType } from '@dxos/schema';\n\nimport { PRESENTER_PLUGIN } from '../meta';\nimport { PresenterAction, type PresenterSettingsProps } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(\n Capabilities.AppGraphBuilder,\n createExtension({\n id: PRESENTER_PLUGIN,\n // TODO(wittjosiah): This is a hack to work around presenter previously relying on \"variant\". Remove.\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => {\n const [settingsStore] = get(context.capabilities(Capabilities.SettingsStore));\n const settings = get(\n rxFromSignal(() => settingsStore?.getStore<PresenterSettingsProps>(PRESENTER_PLUGIN)?.value),\n );\n const isPresentable = settings?.presentCollections\n ? Obj.instanceOf(DataType.Collection, node.data) || Obj.instanceOf(Markdown.Document, node.data)\n : Obj.instanceOf(Markdown.Document, node.data);\n return isPresentable ? Option.some(node.data) : Option.none();\n }),\n Option.map((object) => {\n const id = fullyQualifiedId(object);\n return [\n {\n id: [id, 'presenter'].join(ATTENDABLE_PATH_SEPARATOR),\n data: { type: PRESENTER_PLUGIN, object },\n type: PRESENTER_PLUGIN,\n properties: {\n label: 'Presenter',\n icon: 'ph--presentation--regular',\n disposition: 'hidden',\n },\n },\n ];\n }),\n Option.getOrElse(() => []),\n ),\n ),\n actions: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => {\n const [settingsStore] = get(context.capabilities(Capabilities.SettingsStore));\n const settings = get(\n rxFromSignal(() => settingsStore?.getStore<PresenterSettingsProps>(PRESENTER_PLUGIN)?.value),\n );\n const isPresentable = settings?.presentCollections\n ? Obj.instanceOf(DataType.Collection, node.data) || Obj.instanceOf(Markdown.Document, node.data)\n : Obj.instanceOf(Markdown.Document, node.data);\n return isPresentable ? Option.some(node.data) : Option.none();\n }),\n Option.map((object) => {\n const id = fullyQualifiedId(object);\n const spaceId = getSpace(object)?.id;\n return [\n {\n id: `${PresenterAction.TogglePresentation._tag}/${id}`,\n // TODO(burdon): Allow function so can generate state when activated.\n // So can set explicit fullscreen state coordinated with current presenter state.\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const layout = context.getCapability(DeckCapabilities.MutableDeckState);\n const presenterId = [id, 'presenter'].join(ATTENDABLE_PATH_SEPARATOR);\n if (!layout.deck.fullscreen) {\n void dispatch(\n createIntent(DeckAction.Adjust, {\n type: 'solo--fullscreen',\n id: presenterId,\n }),\n );\n }\n await dispatch(\n createIntent(LayoutAction.Open, {\n part: 'main',\n subject: [presenterId],\n options: { workspace: spaceId },\n }),\n );\n },\n properties: {\n label: ['toggle presentation label', { ns: PRESENTER_PLUGIN }],\n icon: 'ph--presentation--regular',\n disposition: 'list-item',\n keyBinding: {\n macos: 'shift+meta+p',\n windows: 'shift+alt+p',\n },\n },\n },\n ];\n }),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n );\n"],
5
- "mappings": "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",
6
- "names": ["Rx", "Option", "pipe", "Capabilities", "LayoutAction", "contributes", "createIntent", "Obj", "DeckCapabilities", "ATTENDABLE_PATH_SEPARATOR", "DeckAction", "createExtension", "rxFromSignal", "Markdown", "fullyQualifiedId", "getSpace", "DataType", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "PRESENTER_PLUGIN", "connector", "node", "Rx", "make", "get", "pipe", "Option", "flatMap", "settingsStore", "capabilities", "SettingsStore", "settings", "rxFromSignal", "getStore", "value", "isPresentable", "presentCollections", "Obj", "instanceOf", "DataType", "Collection", "data", "Markdown", "Document", "some", "none", "map", "object", "fullyQualifiedId", "join", "ATTENDABLE_PATH_SEPARATOR", "type", "properties", "label", "icon", "disposition", "getOrElse", "actions", "spaceId", "getSpace", "PresenterAction", "TogglePresentation", "_tag", "dispatchPromise", "dispatch", "getCapability", "IntentDispatcher", "layout", "DeckCapabilities", "MutableDeckState", "presenterId", "deck", "fullscreen", "createIntent", "DeckAction", "Adjust", "LayoutAction", "Open", "part", "subject", "options", "workspace", "ns", "keyBinding", "macos", "windows"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/PresenterSettings.tsx", "../../../src/components/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Input, useTranslation } from '@dxos/react-ui';\nimport { ControlGroup, ControlItemInput, ControlPage, ControlSection } from '@dxos/react-ui-form';\n\nimport { PRESENTER_PLUGIN } from '../meta';\nimport { type PresenterSettingsProps } from '../types';\n\nexport const PresenterSettings = ({ settings }: { settings: PresenterSettingsProps }) => {\n const { t } = useTranslation(PRESENTER_PLUGIN);\n\n return (\n <ControlPage>\n <ControlSection title={t('settings title', { ns: PRESENTER_PLUGIN })}>\n <ControlGroup>\n <ControlItemInput title={t('present collections label')}>\n <Input.Switch\n checked={settings.presentCollections}\n onCheckedChange={(checked) => (settings.presentCollections = !!checked)}\n />\n </ControlItemInput>\n </ControlGroup>\n </ControlSection>\n </ControlPage>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './PresenterSettings';\n\nexport const MarkdownSlide = lazy(() => import('./MarkdownSlide'));\nexport const DocumentPresenterContainer = lazy(() => import('./DocumentPresenterContainer'));\nexport const CollectionPresenterContainer = lazy(() => import('./CollectionPresenterContainer'));\n"],
5
- "mappings": ";;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,OAAOC,sBAAsB;AACtC,SAASC,cAAcC,kBAAkBC,aAAaC,sBAAsB;AAKrE,IAAMC,oBAAoB,CAAC,EAAEC,SAAQ,MAAwC;;;AAClF,UAAM,EAAEC,EAAC,IAAKC,eAAeC,gBAAAA;AAE7B,WACE,sBAAA,cAACC,aAAAA,MACC,sBAAA,cAACC,gBAAAA;MAAeC,OAAOL,EAAE,kBAAkB;QAAEM,IAAIJ;MAAiB,CAAA;OAChE,sBAAA,cAACK,cAAAA,MACC,sBAAA,cAACC,kBAAAA;MAAiBH,OAAOL,EAAE,2BAAA;OACzB,sBAAA,cAACS,MAAMC,QAAM;MACXC,SAASZ,SAASa;MAClBC,iBAAiB,CAACF,YAAaZ,SAASa,qBAAqB,CAAC,CAACD;;;;;AAO7E;;;ACzBA,SAASG,YAAY;AAId,IAAMC,gBAAgBC,KAAK,MAAM,OAAO,8BAAA,CAAA;AACxC,IAAMC,6BAA6BD,KAAK,MAAM,OAAO,2CAAA,CAAA;AACrD,IAAME,+BAA+BF,KAAK,MAAM,OAAO,6CAAA,CAAA;",
6
- "names": ["React", "Input", "useTranslation", "ControlGroup", "ControlItemInput", "ControlPage", "ControlSection", "PresenterSettings", "settings", "t", "useTranslation", "PRESENTER_PLUGIN", "ControlPage", "ControlSection", "title", "ns", "ControlGroup", "ControlItemInput", "Input", "Switch", "checked", "presentCollections", "onCheckedChange", "lazy", "MarkdownSlide", "lazy", "DocumentPresenterContainer", "CollectionPresenterContainer"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/meta.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const PRESENTER_PLUGIN = 'dxos.org/plugin/presenter';\n\nexport const meta: PluginMeta = {\n id: PRESENTER_PLUGIN,\n name: 'Presenter',\n description: 'Present documents as slideshows.',\n icon: 'ph--presentation--regular',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-presenter',\n};\n"],
5
- "mappings": ";AAMO,IAAMA,mBAAmB;AAEzB,IAAMC,OAAmB;EAC9BC,IAAIF;EACJG,MAAM;EACNC,aAAa;EACbC,MAAM;EACNC,QAAQ;AACV;",
6
- "names": ["PRESENTER_PLUGIN", "meta", "id", "name", "description", "icon", "source"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\nimport { type Context, createContext } from 'react';\n\nimport { Markdown } from '@dxos/plugin-markdown/types';\nimport { DataType } from '@dxos/schema';\n\nimport { PRESENTER_PLUGIN } from './meta';\n\nexport namespace PresenterAction {\n const PRESENTER_ACTION = `${PRESENTER_PLUGIN}/action`;\n\n export class TogglePresentation extends Schema.TaggedClass<TogglePresentation>()(\n `${PRESENTER_ACTION}/toggle-presentation`,\n {\n input: Schema.Struct({\n object: Schema.Union(Markdown.Document, DataType.Collection),\n state: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Void,\n },\n ) {}\n}\n\nexport type PresenterContextType = {\n running: boolean;\n start: () => void;\n stop: () => void;\n};\n\nexport const PresenterContext: Context<PresenterContextType> = createContext<PresenterContextType>({\n running: false,\n start: () => {},\n stop: () => {},\n});\n\nexport const PresenterSettingsSchema = Schema.mutable(\n Schema.Struct({\n presentCollections: Schema.optional(Schema.Boolean),\n }),\n);\n\nexport type PresenterSettingsProps = Schema.Schema.Type<typeof PresenterSettingsSchema>;\n"],
5
- "mappings": ";;;;;AAIA,SAASA,cAAc;AACvB,SAAuBC,qBAAqB;AAE5C,SAASC,gBAAgB;AACzB,SAASC,gBAAgB;UAIRC,kBAAAA;AACf,QAAMC,mBAAmB,GAAGC,gBAAAA;EAErB,MAAMC,2BAA2BC,OAAOC,YAAW,EACxD,GAAGJ,gBAAAA,wBACH;IACEK,OAAOF,OAAOG,OAAO;MACnBC,QAAQJ,OAAOK,MAAMC,SAASC,UAAUC,SAASC,UAAU;MAC3DC,OAAOV,OAAOW,SAASX,OAAOY,OAAO;IACvC,CAAA;IACAC,QAAQb,OAAOc;EACjB,CAAA,EAAA;EACC;mBATUf,qBAAAA;AAUf,GAbiBH,oBAAAA,kBAAAA,CAAAA,EAAAA;AAqBV,IAAMmB,mBAAkDC,cAAoC;EACjGC,SAAS;EACTC,OAAO,MAAA;EAAO;EACdC,MAAM,MAAA;EAAO;AACf,CAAA;AAEO,IAAMC,0BAA0BpB,OAAOqB,QAC5CrB,OAAOG,OAAO;EACZmB,oBAAoBtB,OAAOW,SAASX,OAAOY,OAAO;AACpD,CAAA,CAAA;;",
6
- "names": ["Schema", "createContext", "Markdown", "DataType", "PresenterAction", "PRESENTER_ACTION", "PRESENTER_PLUGIN", "TogglePresentation", "Schema", "TaggedClass", "input", "Struct", "object", "Union", "Markdown", "Document", "DataType", "Collection", "state", "optional", "Boolean", "output", "Void", "PresenterContext", "createContext", "running", "start", "stop", "PresenterSettingsSchema", "mutable", "presentCollections"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-surface.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { SettingsStore } from '@dxos/local-storage';\nimport { Markdown } from '@dxos/plugin-markdown/types';\nimport { DataType } from '@dxos/schema';\n\nimport {\n CollectionPresenterContainer,\n DocumentPresenterContainer,\n MarkdownSlide,\n PresenterSettings,\n} from '../components';\nimport { PRESENTER_PLUGIN } from '../meta';\nimport { type PresenterSettingsProps } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${PRESENTER_PLUGIN}/document`,\n role: 'article',\n position: 'hoist',\n filter: (data): data is { subject: { type: typeof PRESENTER_PLUGIN; object: Markdown.Document } } =>\n !!data.subject &&\n typeof data.subject === 'object' &&\n 'type' in data.subject &&\n 'object' in data.subject &&\n data.subject.type === PRESENTER_PLUGIN &&\n Obj.instanceOf(Markdown.Document, data.subject.object),\n component: ({ data }) => <DocumentPresenterContainer document={data.subject.object} />,\n }),\n createSurface({\n id: `${PRESENTER_PLUGIN}/collection`,\n role: 'article',\n position: 'hoist',\n filter: (data): data is { subject: { type: typeof PRESENTER_PLUGIN; object: DataType.Collection } } =>\n !!data.subject &&\n typeof data.subject === 'object' &&\n 'type' in data.subject &&\n 'object' in data.subject &&\n data.subject.type === PRESENTER_PLUGIN &&\n Obj.instanceOf(DataType.Collection, data.subject.object),\n component: ({ data }) => <CollectionPresenterContainer collection={data.subject.object} />,\n }),\n createSurface({\n id: `${PRESENTER_PLUGIN}/slide`,\n role: 'slide',\n filter: (data): data is { subject: Markdown.Document } => Obj.instanceOf(Markdown.Document, data.subject),\n component: ({ data }) => <MarkdownSlide document={data.subject} />,\n }),\n createSurface({\n id: `${PRESENTER_PLUGIN}/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<PresenterSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === PRESENTER_PLUGIN,\n component: ({ data: { subject } }) => <PresenterSettings settings={subject.value} />,\n }),\n ]);\n"],
5
- "mappings": ";;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,aAAaC,qBAAqB;AACzD,SAASC,WAAW;AACpB,SAASC,qBAAqB;AAC9B,SAASC,gBAAgB;AACzB,SAASC,gBAAgB;AAWzB,IAAA,wBAAe,MACbC,YAAYC,aAAaC,cAAc;EACrCC,cAAc;IACZC,IAAI,GAAGC,gBAAAA;IACPC,MAAM;IACNC,UAAU;IACVC,QAAQ,CAACC,SACP,CAAC,CAACA,KAAKC,WACP,OAAOD,KAAKC,YAAY,YACxB,UAAUD,KAAKC,WACf,YAAYD,KAAKC,WACjBD,KAAKC,QAAQC,SAASN,oBACtBO,IAAIC,WAAWC,SAASC,UAAUN,KAAKC,QAAQM,MAAM;IACvDC,WAAW,CAAC,EAAER,KAAI,MAAO,sBAAA,cAACS,4BAAAA;MAA2BC,UAAUV,KAAKC,QAAQM;;EAC9E,CAAA;EACAb,cAAc;IACZC,IAAI,GAAGC,gBAAAA;IACPC,MAAM;IACNC,UAAU;IACVC,QAAQ,CAACC,SACP,CAAC,CAACA,KAAKC,WACP,OAAOD,KAAKC,YAAY,YACxB,UAAUD,KAAKC,WACf,YAAYD,KAAKC,WACjBD,KAAKC,QAAQC,SAASN,oBACtBO,IAAIC,WAAWO,SAASC,YAAYZ,KAAKC,QAAQM,MAAM;IACzDC,WAAW,CAAC,EAAER,KAAI,MAAO,sBAAA,cAACa,8BAAAA;MAA6BC,YAAYd,KAAKC,QAAQM;;EAClF,CAAA;EACAb,cAAc;IACZC,IAAI,GAAGC,gBAAAA;IACPC,MAAM;IACNE,QAAQ,CAACC,SAAiDG,IAAIC,WAAWC,SAASC,UAAUN,KAAKC,OAAO;IACxGO,WAAW,CAAC,EAAER,KAAI,MAAO,sBAAA,cAACe,eAAAA;MAAcL,UAAUV,KAAKC;;EACzD,CAAA;EACAP,cAAc;IACZC,IAAI,GAAGC,gBAAAA;IACPC,MAAM;IACNE,QAAQ,CAACC,SACPA,KAAKC,mBAAmBe,iBAAiBhB,KAAKC,QAAQgB,WAAWrB;IACnEY,WAAW,CAAC,EAAER,MAAM,EAAEC,QAAO,EAAE,MAAO,sBAAA,cAACiB,mBAAAA;MAAkBC,UAAUlB,QAAQmB;;EAC7E,CAAA;CACD;",
6
- "names": ["React", "Capabilities", "contributes", "createSurface", "Obj", "SettingsStore", "Markdown", "DataType", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "PRESENTER_PLUGIN", "role", "position", "filter", "data", "subject", "type", "Obj", "instanceOf", "Markdown", "Document", "object", "component", "DocumentPresenterContainer", "document", "DataType", "Collection", "CollectionPresenterContainer", "collection", "MarkdownSlide", "SettingsStore", "prefix", "PresenterSettings", "settings", "value"]
7
- }