@dxos/plugin-presenter 0.8.4-main.3eb6e50203 → 0.8.4-main.3fbcb4aa9b

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 (205) hide show
  1. package/dist/lib/neutral/CollectionPresenterContainer-JMX6INMS.mjs +46 -0
  2. package/dist/lib/neutral/CollectionPresenterContainer-JMX6INMS.mjs.map +7 -0
  3. package/dist/lib/neutral/DocumentPresenterContainer-KCDZ2O2C.mjs +24 -0
  4. package/dist/lib/neutral/DocumentPresenterContainer-KCDZ2O2C.mjs.map +7 -0
  5. package/dist/lib/neutral/MarkdownSlide-WXILOIBE.mjs +18 -0
  6. package/dist/lib/neutral/MarkdownSlide-WXILOIBE.mjs.map +7 -0
  7. package/dist/lib/neutral/PresenterPlugin.mjs +23 -0
  8. package/dist/lib/neutral/PresenterPlugin.mjs.map +7 -0
  9. package/dist/lib/neutral/PresenterPlugin.node.mjs +16 -0
  10. package/dist/lib/neutral/PresenterPlugin.node.mjs.map +7 -0
  11. package/dist/lib/neutral/PresenterSettings-2G4XD4QY.mjs +25 -0
  12. package/dist/lib/neutral/PresenterSettings-2G4XD4QY.mjs.map +7 -0
  13. package/dist/lib/{browser/app-graph-builder-OH6QU3DC.mjs → neutral/app-graph-builder-LOVUQ6U5.mjs} +25 -40
  14. package/dist/lib/neutral/app-graph-builder-LOVUQ6U5.mjs.map +7 -0
  15. package/dist/lib/neutral/capabilities/index.mjs +13 -0
  16. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  17. package/dist/lib/{browser/chunk-VQVZVXPJ.mjs → neutral/chunk-4XSSDLGN.mjs} +2 -2
  18. package/dist/lib/{browser/chunk-VQVZVXPJ.mjs.map → neutral/chunk-4XSSDLGN.mjs.map} +3 -3
  19. package/dist/lib/neutral/chunk-DCPA267T.mjs +68 -0
  20. package/dist/lib/neutral/chunk-DCPA267T.mjs.map +7 -0
  21. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  22. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  23. package/dist/lib/{browser/chunk-46CHA6Y5.mjs → neutral/chunk-V323QBC3.mjs} +8 -8
  24. package/dist/lib/neutral/chunk-V323QBC3.mjs.map +7 -0
  25. package/dist/lib/neutral/components/index.mjs +502 -0
  26. package/dist/lib/neutral/components/index.mjs.map +7 -0
  27. package/dist/lib/neutral/containers/index.mjs +13 -0
  28. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  29. package/dist/lib/neutral/index.mjs +18 -0
  30. package/dist/lib/neutral/index.mjs.map +7 -0
  31. package/dist/lib/neutral/meta.json +1 -0
  32. package/dist/lib/neutral/meta.mjs +8 -0
  33. package/dist/lib/neutral/meta.mjs.map +7 -0
  34. package/dist/lib/neutral/plugin.mjs +12 -0
  35. package/dist/lib/neutral/plugin.mjs.map +7 -0
  36. package/dist/lib/neutral/react-surface-ATYTHPAA.mjs +55 -0
  37. package/dist/lib/neutral/react-surface-ATYTHPAA.mjs.map +7 -0
  38. package/dist/lib/{browser/settings-OLQ7QNLC.mjs → neutral/settings-R6LRDAAK.mjs} +7 -11
  39. package/dist/lib/neutral/settings-R6LRDAAK.mjs.map +7 -0
  40. package/dist/lib/neutral/translations.mjs +19 -0
  41. package/dist/lib/neutral/translations.mjs.map +7 -0
  42. package/dist/lib/neutral/types/index.mjs +14 -0
  43. package/dist/lib/neutral/types/index.mjs.map +7 -0
  44. package/dist/types/src/PresenterPlugin.d.ts +1 -0
  45. package/dist/types/src/PresenterPlugin.d.ts.map +1 -1
  46. package/dist/types/src/PresenterPlugin.node.d.ts +4 -0
  47. package/dist/types/src/PresenterPlugin.node.d.ts.map +1 -0
  48. package/dist/types/src/PresenterPlugin.test.d.ts +2 -0
  49. package/dist/types/src/PresenterPlugin.test.d.ts.map +1 -0
  50. package/dist/types/src/capabilities/app-graph-builder.d.ts +6 -0
  51. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  52. package/dist/types/src/capabilities/index.d.ts +4 -3
  53. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  54. package/dist/types/src/capabilities/react-surface.d.ts +5 -0
  55. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  56. package/dist/types/src/capabilities/settings.d.ts +7 -0
  57. package/dist/types/src/capabilities/settings.d.ts.map +1 -0
  58. package/dist/types/src/components/Markdown/Panel.d.ts +8 -0
  59. package/dist/types/src/components/Markdown/Panel.d.ts.map +1 -0
  60. package/dist/types/src/components/Markdown/{Container.stories.d.ts → Panel.stories.d.ts} +1 -1
  61. package/dist/types/src/components/Markdown/Panel.stories.d.ts.map +1 -0
  62. package/dist/types/src/components/Markdown/Slide.d.ts +1 -1
  63. package/dist/types/src/components/Markdown/Slide.d.ts.map +1 -1
  64. package/dist/types/src/components/Markdown/Slide.stories.d.ts.map +1 -1
  65. package/dist/types/src/components/Markdown/index.d.ts +1 -1
  66. package/dist/types/src/components/Markdown/index.d.ts.map +1 -1
  67. package/dist/types/src/components/Markdown/theme.d.ts.map +1 -1
  68. package/dist/types/src/components/Presenter/Layout.d.ts +5 -5
  69. package/dist/types/src/components/Presenter/Layout.d.ts.map +1 -1
  70. package/dist/types/src/components/Presenter/Pager.d.ts.map +1 -1
  71. package/dist/types/src/components/Presenter/Pager.stories.d.ts.map +1 -1
  72. package/dist/types/src/components/PresenterSettings/PresenterSettings.d.ts +6 -0
  73. package/dist/types/src/components/PresenterSettings/PresenterSettings.d.ts.map +1 -0
  74. package/dist/types/src/components/PresenterSettings/PresenterSettings.stories.d.ts +23 -0
  75. package/dist/types/src/components/PresenterSettings/PresenterSettings.stories.d.ts.map +1 -0
  76. package/dist/types/src/components/PresenterSettings/index.d.ts +2 -0
  77. package/dist/types/src/components/PresenterSettings/index.d.ts.map +1 -0
  78. package/dist/types/src/components/RevealPlayer/RevealPlayer.d.ts +5 -4
  79. package/dist/types/src/components/RevealPlayer/RevealPlayer.d.ts.map +1 -1
  80. package/dist/types/src/components/RevealPlayer/RevealPlayer.stories.d.ts +7 -6
  81. package/dist/types/src/components/RevealPlayer/RevealPlayer.stories.d.ts.map +1 -1
  82. package/dist/types/src/components/index.d.ts +5 -28
  83. package/dist/types/src/components/index.d.ts.map +1 -1
  84. package/dist/types/src/containers/CollectionPresenterContainer/CollectionPresenterContainer.d.ts +6 -0
  85. package/dist/types/src/containers/CollectionPresenterContainer/CollectionPresenterContainer.d.ts.map +1 -0
  86. package/dist/types/src/containers/CollectionPresenterContainer/index.d.ts +2 -0
  87. package/dist/types/src/containers/CollectionPresenterContainer/index.d.ts.map +1 -0
  88. package/dist/types/src/containers/DocumentPresenterContainer/DocumentPresenterContainer.d.ts +6 -0
  89. package/dist/types/src/containers/DocumentPresenterContainer/DocumentPresenterContainer.d.ts.map +1 -0
  90. package/dist/types/src/containers/DocumentPresenterContainer/index.d.ts +2 -0
  91. package/dist/types/src/containers/DocumentPresenterContainer/index.d.ts.map +1 -0
  92. package/dist/types/src/containers/MarkdownSlide/MarkdownSlide.d.ts +8 -0
  93. package/dist/types/src/containers/MarkdownSlide/MarkdownSlide.d.ts.map +1 -0
  94. package/dist/types/src/containers/MarkdownSlide/index.d.ts +2 -0
  95. package/dist/types/src/containers/MarkdownSlide/index.d.ts.map +1 -0
  96. package/dist/types/src/containers/index.d.ts +5 -0
  97. package/dist/types/src/containers/index.d.ts.map +1 -0
  98. package/dist/types/src/index.d.ts +1 -2
  99. package/dist/types/src/index.d.ts.map +1 -1
  100. package/dist/types/src/plugin.d.ts +3 -0
  101. package/dist/types/src/plugin.d.ts.map +1 -0
  102. package/dist/types/src/testing.d.ts.map +1 -1
  103. package/dist/types/src/translations.d.ts +4 -6
  104. package/dist/types/src/translations.d.ts.map +1 -1
  105. package/dist/types/src/types/PresenterCapabilities.d.ts +4 -0
  106. package/dist/types/src/types/PresenterCapabilities.d.ts.map +1 -0
  107. package/dist/types/src/types/PresenterOperation.d.ts +17 -0
  108. package/dist/types/src/types/PresenterOperation.d.ts.map +1 -0
  109. package/dist/types/src/types/Settings.d.ts +7 -0
  110. package/dist/types/src/types/Settings.d.ts.map +1 -0
  111. package/dist/types/src/types/index.d.ts +11 -0
  112. package/dist/types/src/types/index.d.ts.map +1 -0
  113. package/dist/types/src/useExitPresenter.d.ts +1 -1
  114. package/dist/types/src/useExitPresenter.d.ts.map +1 -1
  115. package/dist/types/tsconfig.tsbuildinfo +1 -1
  116. package/package.json +85 -34
  117. package/src/PresenterPlugin.node.ts +16 -0
  118. package/src/PresenterPlugin.test.ts +23 -0
  119. package/src/PresenterPlugin.tsx +5 -3
  120. package/src/capabilities/{app-graph-builder/app-graph-builder.ts → app-graph-builder.ts} +24 -27
  121. package/src/capabilities/index.ts +5 -3
  122. package/src/capabilities/react-surface.tsx +68 -0
  123. package/src/capabilities/{settings/settings.ts → settings.ts} +4 -4
  124. package/src/components/Markdown/{Container.stories.tsx → Panel.stories.tsx} +7 -7
  125. package/src/components/Markdown/{Container.tsx → Panel.tsx} +5 -5
  126. package/src/components/Markdown/Slide.stories.tsx +4 -4
  127. package/src/components/Markdown/Slide.tsx +2 -2
  128. package/src/components/Markdown/index.ts +1 -1
  129. package/src/components/Markdown/theme.ts +6 -6
  130. package/src/components/Presenter/Layout.tsx +24 -23
  131. package/src/components/Presenter/Pager.stories.tsx +1 -1
  132. package/src/components/PresenterSettings/PresenterSettings.stories.tsx +32 -0
  133. package/src/components/PresenterSettings/PresenterSettings.tsx +31 -0
  134. package/src/components/PresenterSettings/index.ts +5 -0
  135. package/src/components/RevealPlayer/RevealPlayer.stories.tsx +5 -5
  136. package/src/components/RevealPlayer/RevealPlayer.tsx +104 -105
  137. package/src/components/index.ts +5 -5
  138. package/src/containers/CollectionPresenterContainer/CollectionPresenterContainer.tsx +50 -0
  139. package/src/containers/CollectionPresenterContainer/index.ts +5 -0
  140. package/src/containers/DocumentPresenterContainer/DocumentPresenterContainer.tsx +24 -0
  141. package/src/containers/DocumentPresenterContainer/index.ts +5 -0
  142. package/src/{components → containers/MarkdownSlide}/MarkdownSlide.tsx +5 -7
  143. package/src/containers/MarkdownSlide/index.ts +5 -0
  144. package/src/containers/index.ts +9 -0
  145. package/src/index.ts +1 -3
  146. package/src/meta.ts +1 -1
  147. package/src/plugin.ts +9 -0
  148. package/src/testing.ts +6 -6
  149. package/src/translations.ts +4 -5
  150. package/src/types/PresenterCapabilities.ts +15 -0
  151. package/src/types/PresenterOperation.ts +25 -0
  152. package/src/types/Settings.ts +20 -0
  153. package/src/types/index.ts +21 -0
  154. package/src/useExitPresenter.ts +9 -8
  155. package/dist/lib/browser/CollectionPresenterContainer-WE7HOMFY.mjs +0 -176
  156. package/dist/lib/browser/CollectionPresenterContainer-WE7HOMFY.mjs.map +0 -7
  157. package/dist/lib/browser/DocumentPresenterContainer-3BU2DS5E.mjs +0 -173
  158. package/dist/lib/browser/DocumentPresenterContainer-3BU2DS5E.mjs.map +0 -7
  159. package/dist/lib/browser/MarkdownSlide-GIYJABHE.mjs +0 -200
  160. package/dist/lib/browser/MarkdownSlide-GIYJABHE.mjs.map +0 -7
  161. package/dist/lib/browser/app-graph-builder-OH6QU3DC.mjs.map +0 -7
  162. package/dist/lib/browser/chunk-46CHA6Y5.mjs.map +0 -7
  163. package/dist/lib/browser/chunk-4PZXJXBO.mjs +0 -50
  164. package/dist/lib/browser/chunk-4PZXJXBO.mjs.map +0 -7
  165. package/dist/lib/browser/chunk-L7QYO6LF.mjs +0 -38
  166. package/dist/lib/browser/chunk-L7QYO6LF.mjs.map +0 -7
  167. package/dist/lib/browser/index.mjs +0 -59
  168. package/dist/lib/browser/index.mjs.map +0 -7
  169. package/dist/lib/browser/meta.json +0 -1
  170. package/dist/lib/browser/react-surface-QY4ETW6S.mjs +0 -64
  171. package/dist/lib/browser/react-surface-QY4ETW6S.mjs.map +0 -7
  172. package/dist/lib/browser/settings-OLQ7QNLC.mjs.map +0 -7
  173. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +0 -6
  174. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +0 -1
  175. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +0 -3
  176. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +0 -1
  177. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
  178. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  179. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +0 -5
  180. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  181. package/dist/types/src/capabilities/settings/index.d.ts +0 -7
  182. package/dist/types/src/capabilities/settings/index.d.ts.map +0 -1
  183. package/dist/types/src/capabilities/settings/settings.d.ts +0 -10
  184. package/dist/types/src/capabilities/settings/settings.d.ts.map +0 -1
  185. package/dist/types/src/components/CollectionPresenterContainer.d.ts +0 -7
  186. package/dist/types/src/components/CollectionPresenterContainer.d.ts.map +0 -1
  187. package/dist/types/src/components/DocumentPresenterContainer.d.ts +0 -7
  188. package/dist/types/src/components/DocumentPresenterContainer.d.ts.map +0 -1
  189. package/dist/types/src/components/Markdown/Container.d.ts +0 -8
  190. package/dist/types/src/components/Markdown/Container.d.ts.map +0 -1
  191. package/dist/types/src/components/Markdown/Container.stories.d.ts.map +0 -1
  192. package/dist/types/src/components/MarkdownSlide.d.ts +0 -8
  193. package/dist/types/src/components/MarkdownSlide.d.ts.map +0 -1
  194. package/dist/types/src/components/PresenterSettings.d.ts +0 -8
  195. package/dist/types/src/components/PresenterSettings.d.ts.map +0 -1
  196. package/dist/types/src/types.d.ts +0 -49
  197. package/dist/types/src/types.d.ts.map +0 -1
  198. package/src/capabilities/app-graph-builder/index.ts +0 -7
  199. package/src/capabilities/react-surface/index.ts +0 -7
  200. package/src/capabilities/react-surface/react-surface.tsx +0 -71
  201. package/src/capabilities/settings/index.ts +0 -7
  202. package/src/components/CollectionPresenterContainer.tsx +0 -44
  203. package/src/components/DocumentPresenterContainer.tsx +0 -23
  204. package/src/components/PresenterSettings.tsx +0 -35
  205. package/src/types.ts +0 -54
@@ -1 +0,0 @@
1
- {"version":3,"file":"PresenterSettings.d.ts","sourceRoot":"","sources":["../../../../src/components/PresenterSettings.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,EAAE,sBAAsB,CAAC;IACjC,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,sBAAsB,KAAK,IAAI,CAAC;CAC7F,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,gCAAgC,+BAA+B,sBAiBhG,CAAC"}
@@ -1,49 +0,0 @@
1
- import { type Atom } from '@effect-atom/atom-react';
2
- import * as Schema from 'effect/Schema';
3
- import { type Context } from 'react';
4
- import { Capability } from '@dxos/app-framework';
5
- export declare namespace PresenterOperation {
6
- const TogglePresentation: Omit<{
7
- readonly meta: {
8
- readonly key: `${string}/toggle-presentation`;
9
- readonly name: "Toggle Presentation";
10
- };
11
- readonly schema: {
12
- readonly input: Schema.Struct<{
13
- object: Schema.Union<[import("@dxos/echo/Type").Obj<{
14
- readonly name?: string | undefined;
15
- readonly description?: string | undefined;
16
- readonly fallbackName?: string | undefined;
17
- readonly content: import("@dxos/echo/internal").Ref<import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & {
18
- readonly content: string;
19
- }>;
20
- }, Schema.Struct.Fields>, import("@dxos/echo/Type").Obj<{
21
- readonly name?: string | undefined;
22
- readonly objects: readonly import("@dxos/echo/internal").Ref<any>[];
23
- }, Schema.Struct.Fields>]>;
24
- state: Schema.optional<typeof Schema.Boolean>;
25
- }>;
26
- readonly output: typeof Schema.Void;
27
- };
28
- }, "executionMode"> & import("effect/Pipeable").Pipeable & {
29
- readonly executionMode: "sync" | "async";
30
- };
31
- }
32
- export type PresenterContextType = {
33
- running: boolean;
34
- start: () => void;
35
- stop: () => void;
36
- };
37
- export declare const PresenterContext: Context<PresenterContextType>;
38
- export declare const PresenterSettingsSchema: Schema.mutable<Schema.Struct<{
39
- presentCollections: Schema.optional<typeof Schema.Boolean>;
40
- }>>;
41
- export type PresenterSettingsProps = Schema.Schema.Type<typeof PresenterSettingsSchema>;
42
- export declare namespace PresenterCapabilities {
43
- const Settings: Capability.InterfaceDef<Atom.Writable<{
44
- presentCollections?: boolean | undefined;
45
- }, {
46
- presentCollections?: boolean | undefined;
47
- }>>;
48
- }
49
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,KAAK,OAAO,EAAiB,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAUjD,yBAAiB,kBAAkB,CAAC;IAC3B,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;KAS7B,CAAC;CACJ;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,OAAO,CAAC,oBAAoB,CAIzD,CAAC;AAEH,eAAO,MAAM,uBAAuB;;GAInC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExF,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,QAAQ;;;;OAA2F,CAAC;CAClH"}
@@ -1,7 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Capability } from '@dxos/app-framework';
6
-
7
- export const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));
@@ -1,7 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Capability } from '@dxos/app-framework';
6
-
7
- export const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));
@@ -1,71 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as Effect from 'effect/Effect';
6
- import React from 'react';
7
-
8
- import { Capabilities, Capability } from '@dxos/app-framework';
9
- import { Surface, useSettingsState } from '@dxos/app-framework/ui';
10
- import { AppCapabilities } from '@dxos/app-toolkit';
11
- import { Obj } from '@dxos/echo';
12
- import { Markdown } from '@dxos/plugin-markdown/types';
13
- import { Collection } from '@dxos/schema';
14
-
15
- import {
16
- CollectionPresenterContainer,
17
- DocumentPresenterContainer,
18
- MarkdownSlide,
19
- PresenterSettings,
20
- } from '../../components';
21
- import { meta } from '../../meta';
22
- import { type PresenterSettingsProps } from '../../types';
23
-
24
- export default Capability.makeModule(() =>
25
- Effect.succeed(
26
- Capability.contributes(Capabilities.ReactSurface, [
27
- Surface.create({
28
- id: `${meta.id}/document`,
29
- role: 'article',
30
- position: 'hoist',
31
- filter: (data): data is { subject: { type: typeof meta.id; object: Markdown.Document } } =>
32
- !!data.subject &&
33
- typeof data.subject === 'object' &&
34
- 'type' in data.subject &&
35
- 'object' in data.subject &&
36
- data.subject.type === meta.id &&
37
- Obj.instanceOf(Markdown.Document, data.subject.object),
38
- component: ({ data }) => <DocumentPresenterContainer document={data.subject.object} />,
39
- }),
40
- Surface.create({
41
- id: `${meta.id}/collection`,
42
- role: 'article',
43
- position: 'hoist',
44
- filter: (data): data is { subject: { type: typeof meta.id; object: Collection.Collection } } =>
45
- !!data.subject &&
46
- typeof data.subject === 'object' &&
47
- 'type' in data.subject &&
48
- 'object' in data.subject &&
49
- data.subject.type === meta.id &&
50
- Obj.instanceOf(Collection.Collection, data.subject.object),
51
- component: ({ role, data }) => <CollectionPresenterContainer role={role} subject={data.subject.object} />,
52
- }),
53
- Surface.create({
54
- id: `${meta.id}/slide`,
55
- role: 'slide',
56
- filter: (data): data is { subject: Markdown.Document } => Obj.instanceOf(Markdown.Document, data.subject),
57
- component: ({ data }) => <MarkdownSlide document={data.subject} />,
58
- }),
59
- Surface.create({
60
- id: `${meta.id}/plugin-settings`,
61
- role: 'article',
62
- filter: (data): data is { subject: AppCapabilities.Settings } =>
63
- AppCapabilities.isSettings(data.subject) && data.subject.prefix === meta.id,
64
- component: ({ data: { subject } }) => {
65
- const { settings, updateSettings } = useSettingsState<PresenterSettingsProps>(subject.atom);
66
- return <PresenterSettings settings={settings} onSettingsChange={updateSettings} />;
67
- },
68
- }),
69
- ]),
70
- ),
71
- );
@@ -1,7 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Capability } from '@dxos/app-framework';
6
-
7
- export const PresenterSettings = Capability.lazy('PresenterSettings', () => import('./settings'));
@@ -1,44 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import React, { useContext, useState } from 'react';
6
-
7
- import { Surface } from '@dxos/app-framework/ui';
8
- import { type SurfaceComponentProps } from '@dxos/app-toolkit/ui';
9
- import { Layout } from '@dxos/react-ui';
10
- import { type Collection } from '@dxos/schema';
11
-
12
- import { PresenterContext } from '../types';
13
- import { useExitPresenter } from '../useExitPresenter';
14
-
15
- import { PageNumber, Pager, Layout as PresenterLayout } from './Presenter';
16
-
17
- type CollectionPresenterContainerProps = SurfaceComponentProps<Collection.Collection>;
18
-
19
- const CollectionPresenterContainer = ({ role, subject: collection }: CollectionPresenterContainerProps) => {
20
- const [slide, setSlide] = useState(0);
21
- const { running } = useContext(PresenterContext);
22
- const handleExit = useExitPresenter(collection);
23
-
24
- return (
25
- <Layout.Main role={role} classNames='relative'>
26
- <PresenterLayout
27
- bottomRight={<PageNumber index={slide} count={collection.objects.length} />}
28
- bottomLeft={
29
- <Pager
30
- index={slide}
31
- count={collection.objects.length}
32
- keys={running}
33
- onChange={setSlide}
34
- onExit={handleExit}
35
- />
36
- }
37
- >
38
- <Surface.Surface role='slide' data={{ subject: collection.objects[slide] }} />
39
- </PresenterLayout>
40
- </Layout.Main>
41
- );
42
- };
43
-
44
- export default CollectionPresenterContainer;
@@ -1,23 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
- import React, { type FC } from 'react';
5
-
6
- import { type Markdown } from '@dxos/plugin-markdown/types';
7
- import { Layout } from '@dxos/react-ui';
8
-
9
- import { useExitPresenter } from '../useExitPresenter';
10
-
11
- import { RevealPlayer } from './RevealPlayer';
12
-
13
- const DocumentPresenterContainer: FC<{ document: Markdown.Document }> = ({ document }) => {
14
- const handleExit = useExitPresenter(document);
15
-
16
- return (
17
- <Layout.Main classNames='relative'>
18
- <RevealPlayer content={document.content.target?.content ?? ''} onExit={handleExit} />
19
- </Layout.Main>
20
- );
21
- };
22
-
23
- export default DocumentPresenterContainer;
@@ -1,35 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import React from 'react';
6
-
7
- import { Input, useTranslation } from '@dxos/react-ui';
8
- import { Settings } from '@dxos/react-ui-form';
9
-
10
- import { meta } from '../meta';
11
- import { type PresenterSettingsProps } from '../types';
12
-
13
- export type PresenterSettingsComponentProps = {
14
- settings: PresenterSettingsProps;
15
- onSettingsChange: (fn: (current: PresenterSettingsProps) => PresenterSettingsProps) => void;
16
- };
17
-
18
- export const PresenterSettings = ({ settings, onSettingsChange }: PresenterSettingsComponentProps) => {
19
- const { t } = useTranslation(meta.id);
20
-
21
- return (
22
- <Settings.Root>
23
- <Settings.Section title={t('settings title', { ns: meta.id })}>
24
- <Settings.Group>
25
- <Settings.ItemInput title={t('present collections label')}>
26
- <Input.Switch
27
- checked={settings.presentCollections}
28
- onCheckedChange={(checked) => onSettingsChange((s) => ({ ...s, presentCollections: !!checked }))}
29
- />
30
- </Settings.ItemInput>
31
- </Settings.Group>
32
- </Settings.Section>
33
- </Settings.Root>
34
- );
35
- };
package/src/types.ts DELETED
@@ -1,54 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import { type Atom } from '@effect-atom/atom-react';
6
- import * as Schema from 'effect/Schema';
7
- import { type Context, createContext } from 'react';
8
-
9
- import { Capability } from '@dxos/app-framework';
10
- import { Operation } from '@dxos/operation';
11
- import { Markdown } from '@dxos/plugin-markdown/types';
12
- import { Collection } from '@dxos/schema';
13
-
14
- import { meta } from './meta';
15
-
16
- const PRESENTER_OPERATION = `${meta.id}/operation`;
17
-
18
- // TODO(wittjosiah): This appears to be unused.
19
- export namespace PresenterOperation {
20
- export const TogglePresentation = Operation.make({
21
- meta: { key: `${PRESENTER_OPERATION}/toggle-presentation`, name: 'Toggle Presentation' },
22
- schema: {
23
- input: Schema.Struct({
24
- object: Schema.Union(Markdown.Document, Collection.Collection),
25
- state: Schema.optional(Schema.Boolean),
26
- }),
27
- output: Schema.Void,
28
- },
29
- });
30
- }
31
-
32
- export type PresenterContextType = {
33
- running: boolean;
34
- start: () => void;
35
- stop: () => void;
36
- };
37
-
38
- export const PresenterContext: Context<PresenterContextType> = createContext<PresenterContextType>({
39
- running: false,
40
- start: () => {},
41
- stop: () => {},
42
- });
43
-
44
- export const PresenterSettingsSchema = Schema.mutable(
45
- Schema.Struct({
46
- presentCollections: Schema.optional(Schema.Boolean),
47
- }),
48
- );
49
-
50
- export type PresenterSettingsProps = Schema.Schema.Type<typeof PresenterSettingsSchema>;
51
-
52
- export namespace PresenterCapabilities {
53
- export const Settings = Capability.make<Atom.Writable<PresenterSettingsProps>>(`${meta.id}/capability/settings`);
54
- }