@dxos/plugin-presenter 0.8.4-main.72ec0f3 → 0.8.4-main.7996785055

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 (167) hide show
  1. package/dist/lib/browser/CollectionPresenterContainer-JXB7MHRE.mjs +53 -0
  2. package/dist/lib/browser/CollectionPresenterContainer-JXB7MHRE.mjs.map +7 -0
  3. package/dist/lib/browser/DocumentPresenterContainer-ZGA4OUSU.mjs +29 -0
  4. package/dist/lib/browser/DocumentPresenterContainer-ZGA4OUSU.mjs.map +7 -0
  5. package/dist/lib/browser/MarkdownSlide-JW66CKQF.mjs +24 -0
  6. package/dist/lib/browser/MarkdownSlide-JW66CKQF.mjs.map +7 -0
  7. package/dist/lib/browser/PresenterSettings-XNHQGQTS.mjs +32 -0
  8. package/dist/lib/browser/PresenterSettings-XNHQGQTS.mjs.map +7 -0
  9. package/dist/lib/browser/app-graph-builder-N6HFHTXF.mjs +109 -0
  10. package/dist/lib/browser/app-graph-builder-N6HFHTXF.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-2HIBOSEH.mjs +29 -0
  12. package/dist/lib/browser/chunk-2HIBOSEH.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-GK6SUI2J.mjs +42 -0
  14. package/dist/lib/browser/chunk-GK6SUI2J.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  16. package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-JIHV5GLM.mjs +33 -0
  18. package/dist/lib/browser/chunk-JIHV5GLM.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-NPELNO5W.mjs +495 -0
  20. package/dist/lib/browser/chunk-NPELNO5W.mjs.map +7 -0
  21. package/dist/lib/browser/{chunk-TMTUZQCK.mjs → chunk-PYBNNNNK.mjs} +2 -2
  22. package/dist/lib/browser/chunk-PYBNNNNK.mjs.map +7 -0
  23. package/dist/lib/browser/index.mjs +39 -38
  24. package/dist/lib/browser/index.mjs.map +4 -4
  25. package/dist/lib/browser/meta.json +1 -1
  26. package/dist/lib/browser/operations/index.mjs +9 -0
  27. package/dist/lib/browser/operations/index.mjs.map +7 -0
  28. package/dist/lib/browser/react-surface-6H73FBMG.mjs +68 -0
  29. package/dist/lib/browser/react-surface-6H73FBMG.mjs.map +7 -0
  30. package/dist/lib/browser/settings-NWPZKMSH.mjs +33 -0
  31. package/dist/lib/browser/settings-NWPZKMSH.mjs.map +7 -0
  32. package/dist/types/src/PresenterPlugin.d.ts +2 -1
  33. package/dist/types/src/PresenterPlugin.d.ts.map +1 -1
  34. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  35. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  36. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  37. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  38. package/dist/types/src/capabilities/index.d.ts +3 -3
  39. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  40. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  41. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  42. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  43. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  44. package/dist/types/src/capabilities/settings/index.d.ts +7 -0
  45. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  46. package/dist/types/src/capabilities/settings/settings.d.ts +10 -0
  47. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  48. package/dist/types/src/components/Markdown/Panel.d.ts +8 -0
  49. package/dist/types/src/components/Markdown/Panel.d.ts.map +1 -0
  50. package/dist/types/src/components/Markdown/{Container.stories.d.ts → Panel.stories.d.ts} +1 -1
  51. package/dist/types/src/components/Markdown/Panel.stories.d.ts.map +1 -0
  52. package/dist/types/src/components/Markdown/index.d.ts +1 -1
  53. package/dist/types/src/components/Markdown/index.d.ts.map +1 -1
  54. package/dist/types/src/components/Presenter/Layout.d.ts +9 -5
  55. package/dist/types/src/components/Presenter/Layout.d.ts.map +1 -1
  56. package/dist/types/src/components/Presenter/Pager.d.ts +1 -1
  57. package/dist/types/src/components/Presenter/Pager.d.ts.map +1 -1
  58. package/dist/types/src/components/RevealPlayer/RevealPlayer.d.ts +9 -4
  59. package/dist/types/src/components/RevealPlayer/RevealPlayer.d.ts.map +1 -1
  60. package/dist/types/src/components/RevealPlayer/RevealPlayer.stories.d.ts +7 -1
  61. package/dist/types/src/components/RevealPlayer/RevealPlayer.stories.d.ts.map +1 -1
  62. package/dist/types/src/components/index.d.ts +3 -27
  63. package/dist/types/src/components/index.d.ts.map +1 -1
  64. package/dist/types/src/containers/CollectionPresenterContainer/CollectionPresenterContainer.d.ts +7 -0
  65. package/dist/types/src/containers/CollectionPresenterContainer/CollectionPresenterContainer.d.ts.map +1 -0
  66. package/dist/types/src/containers/CollectionPresenterContainer/index.d.ts +3 -0
  67. package/dist/types/src/containers/CollectionPresenterContainer/index.d.ts.map +1 -0
  68. package/dist/types/src/{components/MarkdownSlide.d.ts → containers/DocumentPresenterContainer/DocumentPresenterContainer.d.ts} +2 -3
  69. package/dist/types/src/containers/DocumentPresenterContainer/DocumentPresenterContainer.d.ts.map +1 -0
  70. package/dist/types/src/containers/DocumentPresenterContainer/index.d.ts +3 -0
  71. package/dist/types/src/containers/DocumentPresenterContainer/index.d.ts.map +1 -0
  72. package/dist/types/src/containers/MarkdownSlide/MarkdownSlide.d.ts +8 -0
  73. package/dist/types/src/containers/MarkdownSlide/MarkdownSlide.d.ts.map +1 -0
  74. package/dist/types/src/containers/MarkdownSlide/index.d.ts +3 -0
  75. package/dist/types/src/containers/MarkdownSlide/index.d.ts.map +1 -0
  76. package/dist/types/src/containers/PresenterSettings/PresenterSettings.d.ts +8 -0
  77. package/dist/types/src/containers/PresenterSettings/PresenterSettings.d.ts.map +1 -0
  78. package/dist/types/src/containers/PresenterSettings/index.d.ts +3 -0
  79. package/dist/types/src/containers/PresenterSettings/index.d.ts.map +1 -0
  80. package/dist/types/src/containers/index.d.ts +6 -0
  81. package/dist/types/src/containers/index.d.ts.map +1 -0
  82. package/dist/types/src/meta.d.ts +2 -2
  83. package/dist/types/src/meta.d.ts.map +1 -1
  84. package/dist/types/src/operations/definitions.d.ts +16 -0
  85. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  86. package/dist/types/src/operations/index.d.ts +2 -0
  87. package/dist/types/src/operations/index.d.ts.map +1 -0
  88. package/dist/types/src/types.d.ts +9 -27
  89. package/dist/types/src/types.d.ts.map +1 -1
  90. package/dist/types/src/useExitPresenter.d.ts +2 -3
  91. package/dist/types/src/useExitPresenter.d.ts.map +1 -1
  92. package/dist/types/tsconfig.tsbuildinfo +1 -1
  93. package/package.json +52 -41
  94. package/src/PresenterPlugin.tsx +9 -23
  95. package/src/capabilities/app-graph-builder/app-graph-builder.ts +115 -0
  96. package/src/capabilities/app-graph-builder/index.ts +7 -0
  97. package/src/capabilities/index.ts +3 -5
  98. package/src/capabilities/react-surface/index.ts +7 -0
  99. package/src/capabilities/react-surface/react-surface.tsx +71 -0
  100. package/src/capabilities/settings/index.ts +7 -0
  101. package/src/capabilities/settings/settings.ts +31 -0
  102. package/src/components/Markdown/{Container.stories.tsx → Panel.stories.tsx} +6 -6
  103. package/src/components/Markdown/{Container.tsx → Panel.tsx} +6 -6
  104. package/src/components/Markdown/Slide.stories.tsx +3 -3
  105. package/src/components/Markdown/index.ts +1 -1
  106. package/src/components/Markdown/theme.ts +6 -6
  107. package/src/components/Presenter/Layout.tsx +24 -23
  108. package/src/components/Presenter/Pager.stories.tsx +2 -2
  109. package/src/components/Presenter/Pager.tsx +2 -2
  110. package/src/components/RevealPlayer/RevealPlayer.stories.tsx +3 -3
  111. package/src/components/RevealPlayer/RevealPlayer.tsx +104 -100
  112. package/src/components/index.ts +3 -7
  113. package/src/containers/CollectionPresenterContainer/CollectionPresenterContainer.tsx +43 -0
  114. package/src/containers/CollectionPresenterContainer/index.ts +7 -0
  115. package/src/containers/DocumentPresenterContainer/DocumentPresenterContainer.tsx +23 -0
  116. package/src/containers/DocumentPresenterContainer/index.ts +7 -0
  117. package/src/{components → containers/MarkdownSlide}/MarkdownSlide.tsx +9 -7
  118. package/src/containers/MarkdownSlide/index.ts +7 -0
  119. package/src/containers/PresenterSettings/PresenterSettings.tsx +35 -0
  120. package/src/containers/PresenterSettings/index.ts +7 -0
  121. package/src/containers/index.ts +10 -0
  122. package/src/meta.ts +3 -3
  123. package/src/operations/definitions.ts +23 -0
  124. package/src/operations/index.ts +5 -0
  125. package/src/types.ts +6 -17
  126. package/src/useExitPresenter.ts +25 -25
  127. package/dist/lib/browser/CollectionPresenterContainer-4JFW3EKV.mjs +0 -199
  128. package/dist/lib/browser/CollectionPresenterContainer-4JFW3EKV.mjs.map +0 -7
  129. package/dist/lib/browser/DocumentPresenterContainer-SX32NAEH.mjs +0 -183
  130. package/dist/lib/browser/DocumentPresenterContainer-SX32NAEH.mjs.map +0 -7
  131. package/dist/lib/browser/MarkdownSlide-MEXR54L5.mjs +0 -223
  132. package/dist/lib/browser/MarkdownSlide-MEXR54L5.mjs.map +0 -7
  133. package/dist/lib/browser/app-graph-builder-UJEKUKAP.mjs +0 -106
  134. package/dist/lib/browser/app-graph-builder-UJEKUKAP.mjs.map +0 -7
  135. package/dist/lib/browser/chunk-BJWK5GQV.mjs +0 -38
  136. package/dist/lib/browser/chunk-BJWK5GQV.mjs.map +0 -7
  137. package/dist/lib/browser/chunk-Q3H4KEFB.mjs +0 -41
  138. package/dist/lib/browser/chunk-Q3H4KEFB.mjs.map +0 -7
  139. package/dist/lib/browser/chunk-TMTUZQCK.mjs.map +0 -7
  140. package/dist/lib/browser/chunk-VRRPVTKA.mjs +0 -39
  141. package/dist/lib/browser/chunk-VRRPVTKA.mjs.map +0 -7
  142. package/dist/lib/browser/react-surface-S4T6X72R.mjs +0 -57
  143. package/dist/lib/browser/react-surface-S4T6X72R.mjs.map +0 -7
  144. package/dist/lib/browser/settings-57TUVRW3.mjs +0 -22
  145. package/dist/lib/browser/settings-57TUVRW3.mjs.map +0 -7
  146. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  147. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  148. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  149. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  150. package/dist/types/src/capabilities/settings.d.ts +0 -4
  151. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  152. package/dist/types/src/components/CollectionPresenterContainer.d.ts +0 -7
  153. package/dist/types/src/components/CollectionPresenterContainer.d.ts.map +0 -1
  154. package/dist/types/src/components/DocumentPresenterContainer.d.ts +0 -7
  155. package/dist/types/src/components/DocumentPresenterContainer.d.ts.map +0 -1
  156. package/dist/types/src/components/Markdown/Container.d.ts +0 -8
  157. package/dist/types/src/components/Markdown/Container.d.ts.map +0 -1
  158. package/dist/types/src/components/Markdown/Container.stories.d.ts.map +0 -1
  159. package/dist/types/src/components/MarkdownSlide.d.ts.map +0 -1
  160. package/dist/types/src/components/PresenterSettings.d.ts +0 -6
  161. package/dist/types/src/components/PresenterSettings.d.ts.map +0 -1
  162. package/src/capabilities/app-graph-builder.ts +0 -117
  163. package/src/capabilities/react-surface.tsx +0 -63
  164. package/src/capabilities/settings.ts +0 -19
  165. package/src/components/CollectionPresenterContainer.tsx +0 -44
  166. package/src/components/DocumentPresenterContainer.tsx +0 -23
  167. package/src/components/PresenterSettings.tsx +0 -30
@@ -0,0 +1,53 @@
1
+ import {
2
+ PresenterContext
3
+ } from "./chunk-2HIBOSEH.mjs";
4
+ import {
5
+ useExitPresenter
6
+ } from "./chunk-GK6SUI2J.mjs";
7
+ import {
8
+ Layout,
9
+ PageNumber,
10
+ Pager
11
+ } from "./chunk-NPELNO5W.mjs";
12
+ import "./chunk-PYBNNNNK.mjs";
13
+ import "./chunk-J5LGTIGS.mjs";
14
+
15
+ // src/containers/CollectionPresenterContainer/CollectionPresenterContainer.tsx
16
+ import React, { useContext, useState } from "react";
17
+ import { Surface } from "@dxos/app-framework/ui";
18
+ import { Panel } from "@dxos/react-ui";
19
+ var CollectionPresenterContainer = ({ role, subject: collection }) => {
20
+ const [slide, setSlide] = useState(0);
21
+ const { running } = useContext(PresenterContext);
22
+ const handleExit = useExitPresenter(collection);
23
+ return /* @__PURE__ */ React.createElement(Panel.Root, {
24
+ role,
25
+ classNames: "relative"
26
+ }, /* @__PURE__ */ React.createElement(Panel.Content, {
27
+ asChild: true
28
+ }, /* @__PURE__ */ React.createElement(Layout, {
29
+ bottomRight: /* @__PURE__ */ React.createElement(PageNumber, {
30
+ index: slide,
31
+ count: collection.objects.length
32
+ }),
33
+ bottomLeft: /* @__PURE__ */ React.createElement(Pager, {
34
+ index: slide,
35
+ count: collection.objects.length,
36
+ keys: running,
37
+ onChange: setSlide,
38
+ onExit: handleExit
39
+ })
40
+ }, /* @__PURE__ */ React.createElement(Surface.Surface, {
41
+ role: "slide",
42
+ data: {
43
+ subject: collection.objects[slide]
44
+ }
45
+ }))));
46
+ };
47
+
48
+ // src/containers/CollectionPresenterContainer/index.ts
49
+ var CollectionPresenterContainer_default = CollectionPresenterContainer;
50
+ export {
51
+ CollectionPresenterContainer_default as default
52
+ };
53
+ //# sourceMappingURL=CollectionPresenterContainer-JXB7MHRE.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/CollectionPresenterContainer/CollectionPresenterContainer.tsx", "../../../src/containers/CollectionPresenterContainer/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useContext, useState } from 'react';\n\nimport { Surface } from '@dxos/app-framework/ui';\nimport { type SurfaceComponentProps } from '@dxos/app-toolkit/ui';\nimport { type Collection } from '@dxos/echo';\nimport { Panel } from '@dxos/react-ui';\n\nimport { PageNumber, Pager, Layout as PresenterLayout } from '../../components';\nimport { PresenterContext } from '../../types';\nimport { useExitPresenter } from '../../useExitPresenter';\n\ntype CollectionPresenterContainerProps = SurfaceComponentProps<Collection.Collection>;\n\nexport const CollectionPresenterContainer = ({ role, subject: collection }: CollectionPresenterContainerProps) => {\n const [slide, setSlide] = useState(0);\n const { running } = useContext(PresenterContext);\n const handleExit = useExitPresenter(collection);\n\n return (\n <Panel.Root role={role} classNames='relative'>\n <Panel.Content asChild>\n <PresenterLayout\n bottomRight={<PageNumber index={slide} count={collection.objects.length} />}\n bottomLeft={\n <Pager\n index={slide}\n count={collection.objects.length}\n keys={running}\n onChange={setSlide}\n onExit={handleExit}\n />\n }\n >\n <Surface.Surface role='slide' data={{ subject: collection.objects[slide] }} />\n </PresenterLayout>\n </Panel.Content>\n </Panel.Root>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { CollectionPresenterContainer } from './CollectionPresenterContainer';\n\nexport default CollectionPresenterContainer;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;AAIA,OAAOA,SAASC,YAAYC,gBAAgB;AAE5C,SAASC,eAAe;AAGxB,SAASC,aAAa;AAQf,IAAMC,+BAA+B,CAAC,EAAEC,MAAMC,SAASC,WAAU,MAAqC;AAC3G,QAAM,CAACC,OAAOC,QAAAA,IAAYC,SAAS,CAAA;AACnC,QAAM,EAAEC,QAAO,IAAKC,WAAWC,gBAAAA;AAC/B,QAAMC,aAAaC,iBAAiBR,UAAAA;AAEpC,SACE,sBAAA,cAACS,MAAMC,MAAI;IAACZ;IAAYa,YAAW;KACjC,sBAAA,cAACF,MAAMG,SAAO;IAACC,SAAAA;KACb,sBAAA,cAACC,QAAAA;IACCC,aAAa,sBAAA,cAACC,YAAAA;MAAWC,OAAOhB;MAAOiB,OAAOlB,WAAWmB,QAAQC;;IACjEC,YACE,sBAAA,cAACC,OAAAA;MACCL,OAAOhB;MACPiB,OAAOlB,WAAWmB,QAAQC;MAC1BG,MAAMnB;MACNoB,UAAUtB;MACVuB,QAAQlB;;KAIZ,sBAAA,cAACmB,QAAQA,SAAO;IAAC5B,MAAK;IAAQ6B,MAAM;MAAE5B,SAASC,WAAWmB,QAAQlB,KAAAA;IAAO;;AAKnF;;;ACpCA,IAAA,uCAAe2B;",
6
+ "names": ["React", "useContext", "useState", "Surface", "Panel", "CollectionPresenterContainer", "role", "subject", "collection", "slide", "setSlide", "useState", "running", "useContext", "PresenterContext", "handleExit", "useExitPresenter", "Panel", "Root", "classNames", "Content", "asChild", "PresenterLayout", "bottomRight", "PageNumber", "index", "count", "objects", "length", "bottomLeft", "Pager", "keys", "onChange", "onExit", "Surface", "data", "CollectionPresenterContainer"]
7
+ }
@@ -0,0 +1,29 @@
1
+ import {
2
+ useExitPresenter
3
+ } from "./chunk-GK6SUI2J.mjs";
4
+ import {
5
+ RevealPlayer
6
+ } from "./chunk-NPELNO5W.mjs";
7
+ import "./chunk-J5LGTIGS.mjs";
8
+
9
+ // src/containers/DocumentPresenterContainer/DocumentPresenterContainer.tsx
10
+ import React from "react";
11
+ import { Panel } from "@dxos/react-ui";
12
+ var DocumentPresenterContainer = ({ document }) => {
13
+ const handleExit = useExitPresenter(document);
14
+ return /* @__PURE__ */ React.createElement(Panel.Root, {
15
+ classNames: "relative"
16
+ }, /* @__PURE__ */ React.createElement(Panel.Content, {
17
+ asChild: true
18
+ }, /* @__PURE__ */ React.createElement(RevealPlayer, {
19
+ content: document.content.target?.content ?? "",
20
+ onExit: handleExit
21
+ })));
22
+ };
23
+
24
+ // src/containers/DocumentPresenterContainer/index.ts
25
+ var DocumentPresenterContainer_default = DocumentPresenterContainer;
26
+ export {
27
+ DocumentPresenterContainer_default as default
28
+ };
29
+ //# sourceMappingURL=DocumentPresenterContainer-ZGA4OUSU.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/DocumentPresenterContainer/DocumentPresenterContainer.tsx", "../../../src/containers/DocumentPresenterContainer/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type FC } from 'react';\n\nimport { type Markdown } from '@dxos/plugin-markdown/types';\nimport { Panel } from '@dxos/react-ui';\n\nimport { RevealPlayer } from '../../components';\nimport { useExitPresenter } from '../../useExitPresenter';\n\nexport const DocumentPresenterContainer: FC<{ document: Markdown.Document }> = ({ document }) => {\n const handleExit = useExitPresenter(document);\n\n return (\n <Panel.Root classNames='relative'>\n <Panel.Content asChild>\n <RevealPlayer content={document.content.target?.content ?? ''} onExit={handleExit} />\n </Panel.Content>\n </Panel.Root>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { DocumentPresenterContainer } from './DocumentPresenterContainer';\n\nexport default DocumentPresenterContainer;\n"],
5
+ "mappings": ";;;;;;;;;AAIA,OAAOA,WAAwB;AAG/B,SAASC,aAAa;AAKf,IAAMC,6BAAkE,CAAC,EAAEC,SAAQ,MAAE;AAC1F,QAAMC,aAAaC,iBAAiBF,QAAAA;AAEpC,SACE,sBAAA,cAACG,MAAMC,MAAI;IAACC,YAAW;KACrB,sBAAA,cAACF,MAAMG,SAAO;IAACC,SAAAA;KACb,sBAAA,cAACC,cAAAA;IAAaC,SAAST,SAASS,QAAQC,QAAQD,WAAW;IAAIE,QAAQV;;AAI/E;;;AChBA,IAAA,qCAAeW;",
6
+ "names": ["React", "Panel", "DocumentPresenterContainer", "document", "handleExit", "useExitPresenter", "Panel", "Root", "classNames", "Content", "asChild", "RevealPlayer", "content", "target", "onExit", "DocumentPresenterContainer"]
7
+ }
@@ -0,0 +1,24 @@
1
+ import {
2
+ Panel,
3
+ Slide
4
+ } from "./chunk-NPELNO5W.mjs";
5
+ import "./chunk-J5LGTIGS.mjs";
6
+
7
+ // src/containers/MarkdownSlide/MarkdownSlide.tsx
8
+ import React from "react";
9
+ var MarkdownSlide = ({ document }) => {
10
+ const content = document.content.target?.content;
11
+ if (!content) {
12
+ return null;
13
+ }
14
+ return /* @__PURE__ */ React.createElement(Panel, null, /* @__PURE__ */ React.createElement(Slide, {
15
+ content
16
+ }));
17
+ };
18
+
19
+ // src/containers/MarkdownSlide/index.ts
20
+ var MarkdownSlide_default = MarkdownSlide;
21
+ export {
22
+ MarkdownSlide_default as default
23
+ };
24
+ //# sourceMappingURL=MarkdownSlide-JW66CKQF.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/MarkdownSlide/MarkdownSlide.tsx", "../../../src/containers/MarkdownSlide/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Markdown } from '@dxos/plugin-markdown/types';\n\nimport { Panel, Slide } from '../../components';\n\ntype MarkdownSlideProps = {\n document: Markdown.Document;\n};\n\nexport const MarkdownSlide = ({ document }: MarkdownSlideProps) => {\n const content = document.content.target?.content;\n if (!content) {\n return null;\n }\n\n return (\n <Panel>\n <Slide content={content} />\n </Panel>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { MarkdownSlide } from './MarkdownSlide';\n\nexport default MarkdownSlide;\n"],
5
+ "mappings": ";;;;;;;AAIA,OAAOA,WAAW;AAUX,IAAMC,gBAAgB,CAAC,EAAEC,SAAQ,MAAsB;AAC5D,QAAMC,UAAUD,SAASC,QAAQC,QAAQD;AACzC,MAAI,CAACA,SAAS;AACZ,WAAO;EACT;AAEA,SACE,sBAAA,cAACE,OAAAA,MACC,sBAAA,cAACC,OAAAA;IAAMH;;AAGb;;;ACnBA,IAAA,wBAAeI;",
6
+ "names": ["React", "MarkdownSlide", "document", "content", "target", "Panel", "Slide", "MarkdownSlide"]
7
+ }
@@ -0,0 +1,32 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-PYBNNNNK.mjs";
4
+ import "./chunk-J5LGTIGS.mjs";
5
+
6
+ // src/containers/PresenterSettings/PresenterSettings.tsx
7
+ import React from "react";
8
+ import { Input, useTranslation } from "@dxos/react-ui";
9
+ import { Settings } from "@dxos/react-ui-form";
10
+ var PresenterSettings = ({ settings, onSettingsChange }) => {
11
+ const { t } = useTranslation(meta.id);
12
+ return /* @__PURE__ */ React.createElement(Settings.Root, null, /* @__PURE__ */ React.createElement(Settings.Section, {
13
+ title: t("settings title", {
14
+ ns: meta.id
15
+ })
16
+ }, /* @__PURE__ */ React.createElement(Settings.Group, null, /* @__PURE__ */ React.createElement(Settings.ItemInput, {
17
+ title: t("present collections label")
18
+ }, /* @__PURE__ */ React.createElement(Input.Switch, {
19
+ checked: settings.presentCollections,
20
+ onCheckedChange: (checked) => onSettingsChange((s) => ({
21
+ ...s,
22
+ presentCollections: !!checked
23
+ }))
24
+ })))));
25
+ };
26
+
27
+ // src/containers/PresenterSettings/index.ts
28
+ var PresenterSettings_default = PresenterSettings;
29
+ export {
30
+ PresenterSettings_default as default
31
+ };
32
+ //# sourceMappingURL=PresenterSettings-XNHQGQTS.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/PresenterSettings/PresenterSettings.tsx", "../../../src/containers/PresenterSettings/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Input, useTranslation } from '@dxos/react-ui';\nimport { Settings } from '@dxos/react-ui-form';\n\nimport { meta } from '../../meta';\nimport { type PresenterSettingsProps } from '../../types';\n\nexport type PresenterSettingsComponentProps = {\n settings: PresenterSettingsProps;\n onSettingsChange: (fn: (current: PresenterSettingsProps) => PresenterSettingsProps) => void;\n};\n\nexport const PresenterSettings = ({ settings, onSettingsChange }: PresenterSettingsComponentProps) => {\n const { t } = useTranslation(meta.id);\n\n return (\n <Settings.Root>\n <Settings.Section title={t('settings title', { ns: meta.id })}>\n <Settings.Group>\n <Settings.ItemInput title={t('present collections label')}>\n <Input.Switch\n checked={settings.presentCollections}\n onCheckedChange={(checked) => onSettingsChange((s) => ({ ...s, presentCollections: !!checked }))}\n />\n </Settings.ItemInput>\n </Settings.Group>\n </Settings.Section>\n </Settings.Root>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { PresenterSettings } from './PresenterSettings';\n\nexport default PresenterSettings;\n"],
5
+ "mappings": ";;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,OAAOC,sBAAsB;AACtC,SAASC,gBAAgB;AAUlB,IAAMC,oBAAoB,CAAC,EAAEC,UAAUC,iBAAgB,MAAmC;AAC/F,QAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AAEpC,SACE,sBAAA,cAACC,SAASC,MAAI,MACZ,sBAAA,cAACD,SAASE,SAAO;IAACC,OAAOP,EAAE,kBAAkB;MAAEQ,IAAIN,KAAKC;IAAG,CAAA;KACzD,sBAAA,cAACC,SAASK,OAAK,MACb,sBAAA,cAACL,SAASM,WAAS;IAACH,OAAOP,EAAE,2BAAA;KAC3B,sBAAA,cAACW,MAAMC,QAAM;IACXC,SAASf,SAASgB;IAClBC,iBAAiB,CAACF,YAAYd,iBAAiB,CAACiB,OAAO;MAAE,GAAGA;MAAGF,oBAAoB,CAAC,CAACD;IAAQ,EAAA;;AAO3G;;;AC5BA,IAAA,4BAAeI;",
6
+ "names": ["React", "Input", "useTranslation", "Settings", "PresenterSettings", "settings", "onSettingsChange", "t", "useTranslation", "meta", "id", "Settings", "Root", "Section", "title", "ns", "Group", "ItemInput", "Input", "Switch", "checked", "presentCollections", "onCheckedChange", "s", "PresenterSettings"]
7
+ }
@@ -0,0 +1,109 @@
1
+ import {
2
+ definitions_exports
3
+ } from "./chunk-JIHV5GLM.mjs";
4
+ import {
5
+ PresenterCapabilities
6
+ } from "./chunk-2HIBOSEH.mjs";
7
+ import {
8
+ meta
9
+ } from "./chunk-PYBNNNNK.mjs";
10
+ import "./chunk-J5LGTIGS.mjs";
11
+
12
+ // src/capabilities/app-graph-builder/app-graph-builder.ts
13
+ import * as Effect from "effect/Effect";
14
+ import * as Option from "effect/Option";
15
+ import { Capabilities, Capability } from "@dxos/app-framework";
16
+ import { AppCapabilities, LayoutOperation, companionId, companionSegment, getObjectPathFromObject, getSpacePath } from "@dxos/app-toolkit";
17
+ import { Obj } from "@dxos/echo";
18
+ import { Collection } from "@dxos/echo";
19
+ import { Operation } from "@dxos/operation";
20
+ import { DeckCapabilities } from "@dxos/plugin-deck";
21
+ import { PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
22
+ import { DeckOperation } from "@dxos/plugin-deck/operations";
23
+ import { GraphBuilder, NodeMatcher } from "@dxos/plugin-graph";
24
+ import { Markdown } from "@dxos/plugin-markdown/types";
25
+ var whenPresentable = (node) => Option.orElse(NodeMatcher.whenEchoType(Collection.Collection)(node), () => NodeMatcher.whenEchoType(Markdown.Document)(node));
26
+ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function* () {
27
+ const capabilities = yield* Capability.Service;
28
+ const extensions = yield* GraphBuilder.createExtension({
29
+ id: `${meta.id}.root`,
30
+ // TODO(wittjosiah): This is a hack to work around presenter previously relying on "variant". Remove.
31
+ match: whenPresentable,
32
+ connector: (object, get) => {
33
+ const settingsAtom = capabilities.get(PresenterCapabilities.Settings);
34
+ const settings = get(settingsAtom);
35
+ const isPresentable = settings?.presentCollections ? Obj.instanceOf(Collection.Collection, object) || Obj.instanceOf(Markdown.Document, object) : Obj.instanceOf(Markdown.Document, object);
36
+ if (!isPresentable) {
37
+ return Effect.succeed([]);
38
+ }
39
+ return Effect.succeed([
40
+ {
41
+ id: companionSegment("presenter"),
42
+ data: {
43
+ type: meta.id,
44
+ object
45
+ },
46
+ type: PLANK_COMPANION_TYPE,
47
+ properties: {
48
+ label: "Presenter",
49
+ icon: "ph--presentation--regular",
50
+ disposition: "hidden"
51
+ }
52
+ }
53
+ ]);
54
+ },
55
+ actions: (object, get) => {
56
+ const settingsAtom = capabilities.get(PresenterCapabilities.Settings);
57
+ const settings = get(settingsAtom);
58
+ const isPresentable = settings?.presentCollections ? Obj.instanceOf(Collection.Collection, object) || Obj.instanceOf(Markdown.Document, object) : Obj.instanceOf(Markdown.Document, object);
59
+ const db = Obj.getDatabase(object);
60
+ if (!isPresentable || !db) {
61
+ return Effect.succeed([]);
62
+ }
63
+ const objectPath = getObjectPathFromObject(object);
64
+ return Effect.succeed([
65
+ {
66
+ id: definitions_exports.TogglePresentation.meta.key,
67
+ // TODO(burdon): Allow function so can generate state when activated.
68
+ // So can set explicit fullscreen state coordinated with current presenter state.
69
+ data: Effect.fnUntraced(function* () {
70
+ const deckState = yield* Capabilities.getAtomValue(DeckCapabilities.State);
71
+ const deck = deckState.decks[deckState.activeDeck];
72
+ const presenterId = companionId(objectPath, "presenter");
73
+ if (!deck?.fullscreen) {
74
+ yield* Operation.invoke(DeckOperation.Adjust, {
75
+ type: "solo--fullscreen",
76
+ id: presenterId
77
+ });
78
+ }
79
+ yield* Operation.invoke(LayoutOperation.Open, {
80
+ subject: [
81
+ presenterId
82
+ ],
83
+ workspace: getSpacePath(db.spaceId)
84
+ });
85
+ }),
86
+ properties: {
87
+ label: [
88
+ "toggle presentation label",
89
+ {
90
+ ns: meta.id
91
+ }
92
+ ],
93
+ icon: "ph--presentation--regular",
94
+ disposition: "list-item",
95
+ keyBinding: {
96
+ macos: "shift+meta+p",
97
+ windows: "shift+alt+p"
98
+ }
99
+ }
100
+ }
101
+ ]);
102
+ }
103
+ });
104
+ return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
105
+ }));
106
+ export {
107
+ app_graph_builder_default as default
108
+ };
109
+ //# sourceMappingURL=app-graph-builder-N6HFHTXF.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-builder/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport {\n AppCapabilities,\n LayoutOperation,\n companionId,\n companionSegment,\n getObjectPathFromObject,\n getSpacePath,\n} from '@dxos/app-toolkit';\nimport { Obj } from '@dxos/echo';\nimport { Collection } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\nimport { DeckCapabilities } from '@dxos/plugin-deck';\nimport { PLANK_COMPANION_TYPE } from '@dxos/plugin-deck/types';\nimport { DeckOperation } from '@dxos/plugin-deck/operations';\nimport { GraphBuilder, type Node, NodeMatcher } from '@dxos/plugin-graph';\nimport { Markdown } from '@dxos/plugin-markdown/types';\n\nimport { meta } from '../../meta';\nimport { PresenterCapabilities } from '../../types';\nimport { PresenterOperation } from '../../operations';\n\n/** Match nodes that can be presented (Collection or Document). */\nconst whenPresentable = (node: Node.Node) =>\n Option.orElse(NodeMatcher.whenEchoType(Collection.Collection)(node), () =>\n NodeMatcher.whenEchoType(Markdown.Document)(node),\n );\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const capabilities = yield* Capability.Service;\n\n const extensions = yield* GraphBuilder.createExtension({\n id: `${meta.id}.root`,\n // TODO(wittjosiah): This is a hack to work around presenter previously relying on \"variant\". Remove.\n match: whenPresentable,\n connector: (object, get) => {\n const settingsAtom = capabilities.get(PresenterCapabilities.Settings);\n const settings = get(settingsAtom);\n const isPresentable = settings?.presentCollections\n ? Obj.instanceOf(Collection.Collection, object) || Obj.instanceOf(Markdown.Document, object)\n : Obj.instanceOf(Markdown.Document, object);\n if (!isPresentable) {\n return Effect.succeed([]);\n }\n\n return Effect.succeed([\n {\n id: companionSegment('presenter'),\n data: { type: meta.id, object },\n type: PLANK_COMPANION_TYPE,\n properties: {\n label: 'Presenter',\n icon: 'ph--presentation--regular',\n disposition: 'hidden',\n },\n },\n ]);\n },\n actions: (object, get) => {\n const settingsAtom = capabilities.get(PresenterCapabilities.Settings);\n const settings = get(settingsAtom);\n const isPresentable = settings?.presentCollections\n ? Obj.instanceOf(Collection.Collection, object) || Obj.instanceOf(Markdown.Document, object)\n : Obj.instanceOf(Markdown.Document, object);\n const db = Obj.getDatabase(object);\n if (!isPresentable || !db) {\n return Effect.succeed([]);\n }\n const objectPath = getObjectPathFromObject(object);\n\n return Effect.succeed([\n {\n id: PresenterOperation.TogglePresentation.meta.key,\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: Effect.fnUntraced(function* () {\n const deckState = yield* Capabilities.getAtomValue(DeckCapabilities.State);\n const deck = deckState.decks[deckState.activeDeck];\n const presenterId = companionId(objectPath, 'presenter');\n if (!deck?.fullscreen) {\n yield* Operation.invoke(DeckOperation.Adjust, {\n type: 'solo--fullscreen' as const,\n id: presenterId,\n });\n }\n yield* Operation.invoke(LayoutOperation.Open, {\n subject: [presenterId],\n workspace: getSpacePath(db.spaceId),\n });\n }),\n properties: {\n label: ['toggle presentation label', { ns: meta.id }],\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 });\n\n return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);\n }),\n);\n"],
5
+ "mappings": "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",
6
+ "names": ["Effect", "Option", "Capabilities", "Capability", "AppCapabilities", "LayoutOperation", "companionId", "companionSegment", "getObjectPathFromObject", "getSpacePath", "Obj", "Collection", "Operation", "DeckCapabilities", "PLANK_COMPANION_TYPE", "DeckOperation", "GraphBuilder", "NodeMatcher", "Markdown", "whenPresentable", "node", "orElse", "NodeMatcher", "whenEchoType", "Collection", "Markdown", "Document", "Capability", "makeModule", "fnUntraced", "capabilities", "Service", "extensions", "GraphBuilder", "createExtension", "id", "meta", "match", "connector", "object", "get", "settingsAtom", "PresenterCapabilities", "Settings", "settings", "isPresentable", "presentCollections", "Obj", "instanceOf", "succeed", "companionSegment", "data", "type", "PLANK_COMPANION_TYPE", "properties", "label", "icon", "disposition", "actions", "db", "getDatabase", "objectPath", "getObjectPathFromObject", "PresenterOperation", "TogglePresentation", "key", "deckState", "Capabilities", "getAtomValue", "DeckCapabilities", "State", "deck", "decks", "activeDeck", "presenterId", "companionId", "fullscreen", "Operation", "invoke", "DeckOperation", "Adjust", "LayoutOperation", "Open", "subject", "workspace", "getSpacePath", "spaceId", "ns", "keyBinding", "macos", "windows", "contributes", "AppCapabilities", "AppGraphBuilder"]
7
+ }
@@ -0,0 +1,29 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-PYBNNNNK.mjs";
4
+
5
+ // src/types.ts
6
+ import * as Schema from "effect/Schema";
7
+ import { createContext } from "react";
8
+ import { Capability } from "@dxos/app-framework";
9
+ var PresenterContext = createContext({
10
+ running: false,
11
+ start: () => {
12
+ },
13
+ stop: () => {
14
+ }
15
+ });
16
+ var PresenterSettingsSchema = Schema.mutable(Schema.Struct({
17
+ presentCollections: Schema.optional(Schema.Boolean)
18
+ }));
19
+ (function(PresenterCapabilities2) {
20
+ PresenterCapabilities2.Settings = Capability.make(`${meta.id}.capability.settings`);
21
+ })(PresenterCapabilities || (PresenterCapabilities = {}));
22
+ var PresenterCapabilities;
23
+
24
+ export {
25
+ PresenterContext,
26
+ PresenterSettingsSchema,
27
+ PresenterCapabilities
28
+ };
29
+ //# sourceMappingURL=chunk-2HIBOSEH.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Atom } from '@effect-atom/atom-react';\nimport * as Schema from 'effect/Schema';\nimport { type Context, createContext } from 'react';\n\nimport { Capability } from '@dxos/app-framework';\n\nimport { meta } from './meta';\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\nexport namespace PresenterCapabilities {\n export const Settings = Capability.make<Atom.Writable<PresenterSettingsProps>>(`${meta.id}.capability.settings`);\n}\n"],
5
+ "mappings": ";;;;;AAKA,YAAYA,YAAY;AACxB,SAAuBC,qBAAqB;AAE5C,SAASC,kBAAkB;AAUpB,IAAMC,mBAAkDC,cAAoC;EACjGC,SAAS;EACTC,OAAO,MAAA;EAAO;EACdC,MAAM,MAAA;EAAO;AACf,CAAA;AAEO,IAAMC,0BAAiCC,eACrCC,cAAO;EACZC,oBAA2BC,gBAAgBC,cAAO;AACpD,CAAA,CAAA;UAKeC,wBAAAA;yBACFC,WAAWC,WAAWC,KAA4C,GAAGC,KAAKC,EAAE,sBAAsB;AACjH,GAFiBL,0BAAAA,wBAAAA,CAAAA,EAAAA;;",
6
+ "names": ["Schema", "createContext", "Capability", "PresenterContext", "createContext", "running", "start", "stop", "PresenterSettingsSchema", "mutable", "Struct", "presentCollections", "optional", "Boolean", "PresenterCapabilities", "Settings", "Capability", "make", "meta", "id"]
7
+ }
@@ -0,0 +1,42 @@
1
+ // src/useExitPresenter.ts
2
+ import { useAtomValue } from "@effect-atom/atom-react";
3
+ import { useCallback, useMemo } from "react";
4
+ import { useCapability, useOperationInvoker } from "@dxos/app-framework/ui";
5
+ import { LayoutOperation, getObjectPathFromObject, getSpacePath } from "@dxos/app-toolkit";
6
+ import { Obj } from "@dxos/echo";
7
+ import { DeckCapabilities } from "@dxos/plugin-deck";
8
+ import { DeckOperation } from "@dxos/plugin-deck/operations";
9
+ var useExitPresenter = (object) => {
10
+ const { invokePromise } = useOperationInvoker();
11
+ const stateAtom = useCapability(DeckCapabilities.State);
12
+ const state = useAtomValue(stateAtom);
13
+ const deck = useMemo(() => state.decks[state.activeDeck], [
14
+ state.decks,
15
+ state.activeDeck
16
+ ]);
17
+ return useCallback(() => {
18
+ const objectPath = getObjectPathFromObject(object);
19
+ const db = Obj.getDatabase(object);
20
+ if (deck?.fullscreen) {
21
+ void invokePromise(DeckOperation.Adjust, {
22
+ type: "solo--fullscreen",
23
+ id: objectPath
24
+ });
25
+ }
26
+ return invokePromise(LayoutOperation.Open, {
27
+ subject: [
28
+ objectPath
29
+ ],
30
+ workspace: db ? getSpacePath(db.spaceId) : void 0
31
+ });
32
+ }, [
33
+ invokePromise,
34
+ object,
35
+ deck
36
+ ]);
37
+ };
38
+
39
+ export {
40
+ useExitPresenter
41
+ };
42
+ //# sourceMappingURL=chunk-GK6SUI2J.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/useExitPresenter.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { useAtomValue } from '@effect-atom/atom-react';\nimport { useCallback, useMemo } from 'react';\n\nimport { useCapability, useOperationInvoker } from '@dxos/app-framework/ui';\nimport { LayoutOperation, getObjectPathFromObject, getSpacePath } from '@dxos/app-toolkit';\nimport { Obj } from '@dxos/echo';\nimport { DeckCapabilities } from '@dxos/plugin-deck';\nimport { DeckOperation } from '@dxos/plugin-deck/operations';\n\nexport const useExitPresenter = (object: any) => {\n const { invokePromise } = useOperationInvoker();\n const stateAtom = useCapability(DeckCapabilities.State);\n const state = useAtomValue(stateAtom);\n\n // Compute deck from decks[activeDeck] since the getter doesn't survive spread operations.\n const deck = useMemo(() => state.decks[state.activeDeck], [state.decks, state.activeDeck]);\n\n return useCallback(() => {\n const objectPath = getObjectPathFromObject(object);\n const db = Obj.getDatabase(object);\n if (deck?.fullscreen) {\n void invokePromise(DeckOperation.Adjust, {\n type: 'solo--fullscreen' as const,\n id: objectPath,\n });\n }\n\n return invokePromise(LayoutOperation.Open, {\n subject: [objectPath],\n workspace: db ? getSpacePath(db.spaceId) : undefined,\n });\n }, [invokePromise, object, deck]);\n};\n"],
5
+ "mappings": ";AAIA,SAASA,oBAAoB;AAC7B,SAASC,aAAaC,eAAe;AAErC,SAASC,eAAeC,2BAA2B;AACnD,SAASC,iBAAiBC,yBAAyBC,oBAAoB;AACvE,SAASC,WAAW;AACpB,SAASC,wBAAwB;AACjC,SAASC,qBAAqB;AAEvB,IAAMC,mBAAmB,CAACC,WAAAA;AAC/B,QAAM,EAAEC,cAAa,IAAKC,oBAAAA;AAC1B,QAAMC,YAAYC,cAAcC,iBAAiBC,KAAK;AACtD,QAAMC,QAAQC,aAAaL,SAAAA;AAG3B,QAAMM,OAAOC,QAAQ,MAAMH,MAAMI,MAAMJ,MAAMK,UAAU,GAAG;IAACL,MAAMI;IAAOJ,MAAMK;GAAW;AAEzF,SAAOC,YAAY,MAAA;AACjB,UAAMC,aAAaC,wBAAwBf,MAAAA;AAC3C,UAAMgB,KAAKC,IAAIC,YAAYlB,MAAAA;AAC3B,QAAIS,MAAMU,YAAY;AACpB,WAAKlB,cAAcmB,cAAcC,QAAQ;QACvCC,MAAM;QACNC,IAAIT;MACN,CAAA;IACF;AAEA,WAAOb,cAAcuB,gBAAgBC,MAAM;MACzCC,SAAS;QAACZ;;MACVa,WAAWX,KAAKY,aAAaZ,GAAGa,OAAO,IAAIC;IAC7C,CAAA;EACF,GAAG;IAAC7B;IAAeD;IAAQS;GAAK;AAClC;",
6
+ "names": ["useAtomValue", "useCallback", "useMemo", "useCapability", "useOperationInvoker", "LayoutOperation", "getObjectPathFromObject", "getSpacePath", "Obj", "DeckCapabilities", "DeckOperation", "useExitPresenter", "object", "invokePromise", "useOperationInvoker", "stateAtom", "useCapability", "DeckCapabilities", "State", "state", "useAtomValue", "deck", "useMemo", "decks", "activeDeck", "useCallback", "objectPath", "getObjectPathFromObject", "db", "Obj", "getDatabase", "fullscreen", "DeckOperation", "Adjust", "type", "id", "LayoutOperation", "Open", "subject", "workspace", "getSpacePath", "spaceId", "undefined"]
7
+ }
@@ -0,0 +1,10 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __export = (target, all) => {
3
+ for (var name in all)
4
+ __defProp(target, name, { get: all[name], enumerable: true });
5
+ };
6
+
7
+ export {
8
+ __export
9
+ };
10
+ //# sourceMappingURL=chunk-J5LGTIGS.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,33 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-PYBNNNNK.mjs";
4
+ import {
5
+ __export
6
+ } from "./chunk-J5LGTIGS.mjs";
7
+
8
+ // src/operations/definitions.ts
9
+ var definitions_exports = {};
10
+ __export(definitions_exports, {
11
+ TogglePresentation: () => TogglePresentation
12
+ });
13
+ import * as Schema from "effect/Schema";
14
+ import { Collection } from "@dxos/echo";
15
+ import { Operation } from "@dxos/operation";
16
+ import { Markdown } from "@dxos/plugin-markdown/types";
17
+ var PRESENTER_OPERATION = `${meta.id}.operation`;
18
+ var TogglePresentation = Operation.make({
19
+ meta: {
20
+ key: `${PRESENTER_OPERATION}.toggle-presentation`,
21
+ name: "Toggle Presentation"
22
+ },
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
+ export {
31
+ definitions_exports
32
+ };
33
+ //# sourceMappingURL=chunk-JIHV5GLM.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/definitions.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Collection } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\nimport { Markdown } from '@dxos/plugin-markdown/types';\n\nimport { meta } from '../meta';\n\nconst PRESENTER_OPERATION = `${meta.id}.operation`;\n\n// TODO(wittjosiah): This appears to be unused.\nexport const TogglePresentation = Operation.make({\n meta: { key: `${PRESENTER_OPERATION}.toggle-presentation`, name: 'Toggle Presentation' },\n input: Schema.Struct({\n object: Schema.Union(Markdown.Document, Collection.Collection),\n state: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Void,\n});\n"],
5
+ "mappings": ";;;;;;;;AAAA;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AAIzB,IAAMC,sBAAsB,GAAGC,KAAKC,EAAE;AAG/B,IAAMC,qBAAqBC,UAAUC,KAAK;EAC/CJ,MAAM;IAAEK,KAAK,GAAGN,mBAAAA;IAA2CO,MAAM;EAAsB;EACvFC,OAAcC,cAAO;IACnBC,QAAeC,aAAMC,SAASC,UAAUC,WAAWA,UAAU;IAC7DC,OAAcC,gBAAgBC,cAAO;EACvC,CAAA;EACAC,QAAeC;AACjB,CAAA;",
6
+ "names": ["Schema", "Collection", "Operation", "Markdown", "PRESENTER_OPERATION", "meta", "id", "TogglePresentation", "Operation", "make", "key", "name", "input", "Struct", "object", "Union", "Markdown", "Document", "Collection", "state", "optional", "Boolean", "output", "Void"]
7
+ }