@dxos/plugin-presenter 0.8.4-main.c85a9c8dae → 0.8.4-main.dfabb4ec29
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.
- package/dist/lib/{browser/CollectionPresenterContainer-5RJIT3DA.mjs → neutral/CollectionPresenterContainer-JMX6INMS.mjs} +12 -18
- package/dist/lib/neutral/CollectionPresenterContainer-JMX6INMS.mjs.map +7 -0
- package/dist/lib/{browser/DocumentPresenterContainer-ISD6N5FM.mjs → neutral/DocumentPresenterContainer-KCDZ2O2C.mjs} +5 -9
- package/dist/lib/neutral/DocumentPresenterContainer-KCDZ2O2C.mjs.map +7 -0
- package/dist/lib/neutral/MarkdownSlide-WXILOIBE.mjs +18 -0
- package/dist/lib/neutral/MarkdownSlide-WXILOIBE.mjs.map +7 -0
- package/dist/lib/neutral/PresenterPlugin.mjs +23 -0
- package/dist/lib/neutral/PresenterPlugin.mjs.map +7 -0
- package/dist/lib/neutral/PresenterPlugin.node.mjs +16 -0
- package/dist/lib/neutral/PresenterPlugin.node.mjs.map +7 -0
- package/dist/lib/neutral/PresenterSettings-2G4XD4QY.mjs +25 -0
- package/dist/lib/neutral/PresenterSettings-2G4XD4QY.mjs.map +7 -0
- package/dist/lib/{browser/app-graph-builder-LNUGLW3H.mjs → neutral/app-graph-builder-LOVUQ6U5.mjs} +24 -39
- package/dist/lib/neutral/app-graph-builder-LOVUQ6U5.mjs.map +7 -0
- package/dist/lib/neutral/capabilities/index.mjs +13 -0
- package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
- package/dist/lib/{browser/chunk-VQVZVXPJ.mjs → neutral/chunk-4XSSDLGN.mjs} +2 -2
- package/dist/lib/{browser/chunk-VQVZVXPJ.mjs.map → neutral/chunk-4XSSDLGN.mjs.map} +3 -3
- package/dist/lib/neutral/chunk-DCPA267T.mjs +68 -0
- package/dist/lib/neutral/chunk-DCPA267T.mjs.map +7 -0
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
- package/dist/lib/{browser/chunk-46CHA6Y5.mjs → neutral/chunk-V323QBC3.mjs} +8 -8
- package/dist/lib/neutral/chunk-V323QBC3.mjs.map +7 -0
- package/dist/lib/{browser/chunk-BHTOR7TG.mjs → neutral/components/index.mjs} +37 -20
- package/dist/lib/neutral/components/index.mjs.map +7 -0
- package/dist/lib/neutral/containers/index.mjs +13 -0
- package/dist/lib/neutral/containers/index.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +18 -0
- package/dist/lib/neutral/index.mjs.map +7 -0
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/lib/neutral/meta.mjs +8 -0
- package/dist/lib/neutral/meta.mjs.map +7 -0
- package/dist/lib/neutral/plugin.mjs +12 -0
- package/dist/lib/neutral/plugin.mjs.map +7 -0
- package/dist/lib/neutral/react-surface-ATYTHPAA.mjs +55 -0
- package/dist/lib/neutral/react-surface-ATYTHPAA.mjs.map +7 -0
- package/dist/lib/{browser/settings-GIQOCH6O.mjs → neutral/settings-R6LRDAAK.mjs} +7 -11
- package/dist/lib/neutral/settings-R6LRDAAK.mjs.map +7 -0
- package/dist/lib/neutral/translations.mjs +19 -0
- package/dist/lib/neutral/translations.mjs.map +7 -0
- package/dist/lib/neutral/types/index.mjs +14 -0
- package/dist/lib/neutral/types/index.mjs.map +7 -0
- package/dist/types/src/PresenterPlugin.d.ts +1 -0
- package/dist/types/src/PresenterPlugin.d.ts.map +1 -1
- package/dist/types/src/PresenterPlugin.node.d.ts +4 -0
- package/dist/types/src/PresenterPlugin.node.d.ts.map +1 -0
- package/dist/types/src/PresenterPlugin.test.d.ts +2 -0
- package/dist/types/src/PresenterPlugin.test.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +4 -3
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
- package/dist/types/src/capabilities/{settings/settings.d.ts → settings.d.ts} +2 -5
- package/dist/types/src/capabilities/settings.d.ts.map +1 -0
- package/dist/types/src/components/Markdown/Panel.d.ts +8 -0
- package/dist/types/src/components/Markdown/Panel.d.ts.map +1 -0
- package/dist/types/src/components/Markdown/{Container.stories.d.ts → Panel.stories.d.ts} +1 -1
- package/dist/types/src/components/Markdown/Panel.stories.d.ts.map +1 -0
- package/dist/types/src/components/Markdown/Slide.d.ts +1 -1
- package/dist/types/src/components/Markdown/Slide.d.ts.map +1 -1
- package/dist/types/src/components/Markdown/Slide.stories.d.ts.map +1 -1
- package/dist/types/src/components/Markdown/index.d.ts +1 -1
- package/dist/types/src/components/Markdown/index.d.ts.map +1 -1
- package/dist/types/src/components/Markdown/theme.d.ts.map +1 -1
- package/dist/types/src/components/Presenter/Layout.d.ts +5 -5
- package/dist/types/src/components/Presenter/Layout.d.ts.map +1 -1
- package/dist/types/src/components/Presenter/Pager.d.ts.map +1 -1
- package/dist/types/src/components/Presenter/Pager.stories.d.ts.map +1 -1
- package/dist/types/src/components/PresenterSettings/PresenterSettings.d.ts +6 -0
- package/dist/types/src/components/PresenterSettings/PresenterSettings.d.ts.map +1 -0
- package/dist/types/src/components/PresenterSettings/PresenterSettings.stories.d.ts +23 -0
- package/dist/types/src/components/PresenterSettings/PresenterSettings.stories.d.ts.map +1 -0
- package/dist/types/src/components/PresenterSettings/index.d.ts +2 -0
- package/dist/types/src/components/PresenterSettings/index.d.ts.map +1 -0
- package/dist/types/src/components/RevealPlayer/RevealPlayer.d.ts +5 -4
- package/dist/types/src/components/RevealPlayer/RevealPlayer.d.ts.map +1 -1
- package/dist/types/src/components/RevealPlayer/RevealPlayer.stories.d.ts +7 -6
- package/dist/types/src/components/RevealPlayer/RevealPlayer.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +2 -0
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/CollectionPresenterContainer/CollectionPresenterContainer.d.ts +2 -3
- package/dist/types/src/containers/CollectionPresenterContainer/CollectionPresenterContainer.d.ts.map +1 -1
- package/dist/types/src/containers/CollectionPresenterContainer/index.d.ts +1 -2
- package/dist/types/src/containers/CollectionPresenterContainer/index.d.ts.map +1 -1
- package/dist/types/src/containers/DocumentPresenterContainer/DocumentPresenterContainer.d.ts +1 -1
- package/dist/types/src/containers/DocumentPresenterContainer/DocumentPresenterContainer.d.ts.map +1 -1
- package/dist/types/src/containers/DocumentPresenterContainer/index.d.ts +1 -2
- package/dist/types/src/containers/DocumentPresenterContainer/index.d.ts.map +1 -1
- package/dist/types/src/containers/MarkdownSlide/MarkdownSlide.d.ts +1 -1
- package/dist/types/src/containers/MarkdownSlide/MarkdownSlide.d.ts.map +1 -1
- package/dist/types/src/containers/MarkdownSlide/index.d.ts +1 -2
- package/dist/types/src/containers/MarkdownSlide/index.d.ts.map +1 -1
- package/dist/types/src/containers/index.d.ts +0 -1
- package/dist/types/src/containers/index.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/plugin.d.ts +3 -0
- package/dist/types/src/plugin.d.ts.map +1 -0
- package/dist/types/src/testing.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +4 -6
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/PresenterCapabilities.d.ts +4 -0
- package/dist/types/src/types/PresenterCapabilities.d.ts.map +1 -0
- package/dist/types/src/types/PresenterOperation.d.ts +17 -0
- package/dist/types/src/types/PresenterOperation.d.ts.map +1 -0
- package/dist/types/src/types/Settings.d.ts +7 -0
- package/dist/types/src/types/Settings.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +11 -0
- package/dist/types/src/types/index.d.ts.map +1 -0
- package/dist/types/src/useExitPresenter.d.ts +1 -1
- package/dist/types/src/useExitPresenter.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +85 -34
- package/src/PresenterPlugin.node.ts +16 -0
- package/src/PresenterPlugin.test.ts +23 -0
- package/src/PresenterPlugin.tsx +5 -3
- package/src/capabilities/{app-graph-builder/app-graph-builder.ts → app-graph-builder.ts} +23 -26
- package/src/capabilities/index.ts +5 -3
- package/src/capabilities/react-surface.tsx +68 -0
- package/src/capabilities/{settings/settings.ts → settings.ts} +4 -4
- package/src/components/Markdown/{Container.stories.tsx → Panel.stories.tsx} +5 -5
- package/src/components/Markdown/{Container.tsx → Panel.tsx} +4 -4
- package/src/components/Markdown/Slide.stories.tsx +1 -1
- package/src/components/Markdown/Slide.tsx +2 -2
- package/src/components/Markdown/index.ts +1 -1
- package/src/components/Presenter/Layout.tsx +24 -23
- package/src/components/PresenterSettings/PresenterSettings.stories.tsx +32 -0
- package/src/components/PresenterSettings/PresenterSettings.tsx +31 -0
- package/src/components/PresenterSettings/index.ts +5 -0
- package/src/components/RevealPlayer/RevealPlayer.stories.tsx +2 -2
- package/src/components/RevealPlayer/RevealPlayer.tsx +104 -105
- package/src/components/index.ts +4 -0
- package/src/containers/CollectionPresenterContainer/CollectionPresenterContainer.tsx +13 -6
- package/src/containers/CollectionPresenterContainer/index.ts +1 -3
- package/src/containers/DocumentPresenterContainer/DocumentPresenterContainer.tsx +3 -2
- package/src/containers/DocumentPresenterContainer/index.ts +1 -3
- package/src/containers/MarkdownSlide/MarkdownSlide.tsx +4 -4
- package/src/containers/MarkdownSlide/index.ts +1 -3
- package/src/containers/index.ts +0 -1
- package/src/index.ts +1 -3
- package/src/meta.ts +1 -1
- package/src/plugin.ts +9 -0
- package/src/testing.ts +6 -6
- package/src/translations.ts +4 -5
- package/src/types/PresenterCapabilities.ts +15 -0
- package/src/types/PresenterOperation.ts +25 -0
- package/src/types/Settings.ts +20 -0
- package/src/types/index.ts +21 -0
- package/src/useExitPresenter.ts +9 -8
- package/dist/lib/browser/CollectionPresenterContainer-5RJIT3DA.mjs.map +0 -7
- package/dist/lib/browser/DocumentPresenterContainer-ISD6N5FM.mjs.map +0 -7
- package/dist/lib/browser/MarkdownSlide-Q2XLZTMW.mjs +0 -23
- package/dist/lib/browser/MarkdownSlide-Q2XLZTMW.mjs.map +0 -7
- package/dist/lib/browser/PresenterSettings-WGQMXH4I.mjs +0 -31
- package/dist/lib/browser/PresenterSettings-WGQMXH4I.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-LNUGLW3H.mjs.map +0 -7
- package/dist/lib/browser/chunk-46CHA6Y5.mjs.map +0 -7
- package/dist/lib/browser/chunk-BHTOR7TG.mjs.map +0 -7
- package/dist/lib/browser/chunk-PSOOAW44.mjs +0 -50
- package/dist/lib/browser/chunk-PSOOAW44.mjs.map +0 -7
- package/dist/lib/browser/index.mjs +0 -65
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/react-surface-UCM2KRSP.mjs +0 -67
- package/dist/lib/browser/react-surface-UCM2KRSP.mjs.map +0 -7
- package/dist/lib/browser/settings-GIQOCH6O.mjs.map +0 -7
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +0 -1
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts +0 -3
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
- package/dist/types/src/capabilities/settings/index.d.ts +0 -7
- package/dist/types/src/capabilities/settings/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/settings/settings.d.ts.map +0 -1
- package/dist/types/src/components/Markdown/Container.d.ts +0 -8
- package/dist/types/src/components/Markdown/Container.d.ts.map +0 -1
- package/dist/types/src/components/Markdown/Container.stories.d.ts.map +0 -1
- package/dist/types/src/containers/PresenterSettings/PresenterSettings.d.ts +0 -8
- package/dist/types/src/containers/PresenterSettings/PresenterSettings.d.ts.map +0 -1
- package/dist/types/src/containers/PresenterSettings/index.d.ts +0 -3
- package/dist/types/src/containers/PresenterSettings/index.d.ts.map +0 -1
- package/dist/types/src/types.d.ts +0 -49
- package/dist/types/src/types.d.ts.map +0 -1
- package/src/capabilities/app-graph-builder/index.ts +0 -7
- package/src/capabilities/react-surface/index.ts +0 -7
- package/src/capabilities/react-surface/react-surface.tsx +0 -71
- package/src/capabilities/settings/index.ts +0 -7
- package/src/containers/PresenterSettings/PresenterSettings.tsx +0 -35
- package/src/containers/PresenterSettings/index.ts +0 -7
- package/src/types.ts +0 -54
- /package/dist/types/src/capabilities/{app-graph-builder/app-graph-builder.d.ts → app-graph-builder.d.ts} +0 -0
- /package/dist/types/src/capabilities/{react-surface/react-surface.d.ts → react-surface.d.ts} +0 -0
|
@@ -1,20 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
useExitPresenter
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import
|
|
5
|
-
Layout,
|
|
6
|
-
PageNumber,
|
|
7
|
-
Pager
|
|
8
|
-
} from "./chunk-BHTOR7TG.mjs";
|
|
9
|
-
import {
|
|
10
|
-
PresenterContext
|
|
11
|
-
} from "./chunk-PSOOAW44.mjs";
|
|
12
|
-
import "./chunk-VQVZVXPJ.mjs";
|
|
3
|
+
} from "./chunk-V323QBC3.mjs";
|
|
4
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
13
5
|
|
|
14
6
|
// src/containers/CollectionPresenterContainer/CollectionPresenterContainer.tsx
|
|
15
7
|
import React, { useContext, useState } from "react";
|
|
16
8
|
import { Surface } from "@dxos/app-framework/ui";
|
|
9
|
+
import { AppSurface } from "@dxos/app-toolkit/ui";
|
|
10
|
+
import { Obj } from "@dxos/echo";
|
|
17
11
|
import { Panel } from "@dxos/react-ui";
|
|
12
|
+
import { PageNumber, Pager, Layout as PresenterLayout } from "#components";
|
|
13
|
+
import { PresenterContext } from "#types";
|
|
18
14
|
var CollectionPresenterContainer = ({ role, subject: collection }) => {
|
|
19
15
|
const [slide, setSlide] = useState(0);
|
|
20
16
|
const { running } = useContext(PresenterContext);
|
|
@@ -24,7 +20,7 @@ var CollectionPresenterContainer = ({ role, subject: collection }) => {
|
|
|
24
20
|
classNames: "relative"
|
|
25
21
|
}, /* @__PURE__ */ React.createElement(Panel.Content, {
|
|
26
22
|
asChild: true
|
|
27
|
-
}, /* @__PURE__ */ React.createElement(
|
|
23
|
+
}, /* @__PURE__ */ React.createElement(PresenterLayout, {
|
|
28
24
|
bottomRight: /* @__PURE__ */ React.createElement(PageNumber, {
|
|
29
25
|
index: slide,
|
|
30
26
|
count: collection.objects.length
|
|
@@ -37,16 +33,14 @@ var CollectionPresenterContainer = ({ role, subject: collection }) => {
|
|
|
37
33
|
onExit: handleExit
|
|
38
34
|
})
|
|
39
35
|
}, /* @__PURE__ */ React.createElement(Surface.Surface, {
|
|
40
|
-
|
|
36
|
+
type: AppSurface.Slide,
|
|
41
37
|
data: {
|
|
42
|
-
subject: collection.objects[slide]
|
|
38
|
+
subject: collection.objects[slide],
|
|
39
|
+
attendableId: Obj.getDXN(collection).toString()
|
|
43
40
|
}
|
|
44
41
|
}))));
|
|
45
42
|
};
|
|
46
|
-
|
|
47
|
-
// src/containers/CollectionPresenterContainer/index.ts
|
|
48
|
-
var CollectionPresenterContainer_default = CollectionPresenterContainer;
|
|
49
43
|
export {
|
|
50
|
-
|
|
44
|
+
CollectionPresenterContainer as default
|
|
51
45
|
};
|
|
52
|
-
//# sourceMappingURL=CollectionPresenterContainer-
|
|
46
|
+
//# sourceMappingURL=CollectionPresenterContainer-JMX6INMS.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/CollectionPresenterContainer/CollectionPresenterContainer.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useContext, useState } from 'react';\n\nimport { Surface } from '@dxos/app-framework/ui';\nimport { AppSurface } from '@dxos/app-toolkit/ui';\nimport { type Collection, Obj } from '@dxos/echo';\nimport { Panel } from '@dxos/react-ui';\n\nimport { PageNumber, Pager, Layout as PresenterLayout } from '#components';\nimport { PresenterContext } from '#types';\n\nimport { useExitPresenter } from '../../useExitPresenter';\n\nexport type CollectionPresenterContainerProps = AppSurface.ObjectArticleProps<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\n type={AppSurface.Slide}\n data={{\n subject: collection.objects[slide],\n attendableId: Obj.getDXN(collection).toString(),\n }}\n />\n </PresenterLayout>\n </Panel.Content>\n </Panel.Root>\n );\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,OAAOA,SAASC,YAAYC,gBAAgB;AAE5C,SAASC,eAAe;AACxB,SAASC,kBAAkB;AAC3B,SAA0BC,WAAW;AACrC,SAASC,aAAa;AAEtB,SAASC,YAAYC,OAAOC,UAAUC,uBAAuB;AAC7D,SAASC,wBAAwB;AAM1B,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,iBAAAA;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;IACdC,MAAMC,WAAWC;IACjBC,MAAM;MACJ/B,SAASC,WAAWmB,QAAQlB,KAAAA;MAC5B8B,cAAcC,IAAIC,OAAOjC,UAAAA,EAAYkC,SAAQ;IAC/C;;AAMZ;",
|
|
6
|
+
"names": ["React", "useContext", "useState", "Surface", "AppSurface", "Obj", "Panel", "PageNumber", "Pager", "Layout", "PresenterLayout", "PresenterContext", "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", "type", "AppSurface", "Slide", "data", "attendableId", "Obj", "getDXN", "toString"]
|
|
7
|
+
}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
useExitPresenter
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import
|
|
5
|
-
RevealPlayer
|
|
6
|
-
} from "./chunk-BHTOR7TG.mjs";
|
|
3
|
+
} from "./chunk-V323QBC3.mjs";
|
|
4
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
7
5
|
|
|
8
6
|
// src/containers/DocumentPresenterContainer/DocumentPresenterContainer.tsx
|
|
9
7
|
import React from "react";
|
|
10
8
|
import { Panel } from "@dxos/react-ui";
|
|
9
|
+
import { RevealPlayer } from "#components";
|
|
11
10
|
var DocumentPresenterContainer = ({ document }) => {
|
|
12
11
|
const handleExit = useExitPresenter(document);
|
|
13
12
|
return /* @__PURE__ */ React.createElement(Panel.Root, {
|
|
@@ -19,10 +18,7 @@ var DocumentPresenterContainer = ({ document }) => {
|
|
|
19
18
|
onExit: handleExit
|
|
20
19
|
})));
|
|
21
20
|
};
|
|
22
|
-
|
|
23
|
-
// src/containers/DocumentPresenterContainer/index.ts
|
|
24
|
-
var DocumentPresenterContainer_default = DocumentPresenterContainer;
|
|
25
21
|
export {
|
|
26
|
-
|
|
22
|
+
DocumentPresenterContainer as default
|
|
27
23
|
};
|
|
28
|
-
//# sourceMappingURL=DocumentPresenterContainer-
|
|
24
|
+
//# sourceMappingURL=DocumentPresenterContainer-KCDZ2O2C.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/DocumentPresenterContainer/DocumentPresenterContainer.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type FC } from 'react';\n\nimport { type Markdown } from '@dxos/plugin-markdown';\nimport { Panel } from '@dxos/react-ui';\n\nimport { RevealPlayer } from '#components';\n\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"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,OAAOA,WAAwB;AAG/B,SAASC,aAAa;AAEtB,SAASC,oBAAoB;AAItB,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;",
|
|
6
|
+
"names": ["React", "Panel", "RevealPlayer", "DocumentPresenterContainer", "document", "handleExit", "useExitPresenter", "Panel", "Root", "classNames", "Content", "asChild", "RevealPlayer", "content", "target", "onExit"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/containers/MarkdownSlide/MarkdownSlide.tsx
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { Panel, Slide } from "#components";
|
|
6
|
+
var MarkdownSlide = ({ document }) => {
|
|
7
|
+
const content = document.content.target?.content;
|
|
8
|
+
if (!content) {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
return /* @__PURE__ */ React.createElement(Panel, null, /* @__PURE__ */ React.createElement(Slide, {
|
|
12
|
+
content
|
|
13
|
+
}));
|
|
14
|
+
};
|
|
15
|
+
export {
|
|
16
|
+
MarkdownSlide as default
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=MarkdownSlide-WXILOIBE.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/MarkdownSlide/MarkdownSlide.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Markdown } from '@dxos/plugin-markdown';\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"],
|
|
5
|
+
"mappings": ";;;AAIA,OAAOA,WAAW;AAIlB,SAASC,OAAOC,aAAa;AAMtB,IAAMC,gBAAgB,CAAC,EAAEC,SAAQ,MAAsB;AAC5D,QAAMC,UAAUD,SAASC,QAAQC,QAAQD;AACzC,MAAI,CAACA,SAAS;AACZ,WAAO;EACT;AAEA,SACE,sBAAA,cAACJ,OAAAA,MACC,sBAAA,cAACC,OAAAA;IAAMG;;AAGb;",
|
|
6
|
+
"names": ["React", "Panel", "Slide", "MarkdownSlide", "document", "content", "target"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/PresenterPlugin.tsx
|
|
4
|
+
import { Plugin } from "@dxos/app-framework";
|
|
5
|
+
import { AppPlugin } from "@dxos/app-toolkit";
|
|
6
|
+
import { AppGraphBuilder, PresenterSettings, ReactSurface } from "#capabilities";
|
|
7
|
+
import { meta } from "#meta";
|
|
8
|
+
import { translations } from "#translations";
|
|
9
|
+
var PresenterPlugin = Plugin.define(meta).pipe(AppPlugin.addAppGraphModule({
|
|
10
|
+
activate: AppGraphBuilder
|
|
11
|
+
}), AppPlugin.addSettingsModule({
|
|
12
|
+
activate: PresenterSettings
|
|
13
|
+
}), AppPlugin.addSurfaceModule({
|
|
14
|
+
activate: ReactSurface
|
|
15
|
+
}), AppPlugin.addTranslationsModule({
|
|
16
|
+
translations
|
|
17
|
+
}), Plugin.make);
|
|
18
|
+
var PresenterPlugin_default = PresenterPlugin;
|
|
19
|
+
export {
|
|
20
|
+
PresenterPlugin,
|
|
21
|
+
PresenterPlugin_default as default
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=PresenterPlugin.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/PresenterPlugin.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\n\nimport { AppGraphBuilder, PresenterSettings, ReactSurface } from '#capabilities';\nimport { meta } from '#meta';\nimport { translations } from '#translations';\n\n// TODO(burdon): Only scale markdown content.\n// TODO(burdon): Map stack content; Slide content type (e.g., markdown, sketch, IPFS image, table, etc.)\n\nexport const PresenterPlugin = Plugin.define(meta).pipe(\n AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),\n AppPlugin.addSettingsModule({ activate: PresenterSettings }),\n AppPlugin.addSurfaceModule({ activate: ReactSurface }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.make,\n);\n\nexport default PresenterPlugin;\n"],
|
|
5
|
+
"mappings": ";;;AAIA,SAASA,cAAc;AACvB,SAASC,iBAAiB;AAE1B,SAASC,iBAAiBC,mBAAmBC,oBAAoB;AACjE,SAASC,YAAY;AACrB,SAASC,oBAAoB;AAKtB,IAAMC,kBAAkBP,OAAOQ,OAAOH,IAAAA,EAAMI,KACjDR,UAAUS,kBAAkB;EAAEC,UAAUT;AAAgB,CAAA,GACxDD,UAAUW,kBAAkB;EAAED,UAAUR;AAAkB,CAAA,GAC1DF,UAAUY,iBAAiB;EAAEF,UAAUP;AAAa,CAAA,GACpDH,UAAUa,sBAAsB;EAAER;AAAa,CAAA,GAC/CN,OAAOe,IAAI;AAGb,IAAA,0BAAeR;",
|
|
6
|
+
"names": ["Plugin", "AppPlugin", "AppGraphBuilder", "PresenterSettings", "ReactSurface", "meta", "translations", "PresenterPlugin", "define", "pipe", "addAppGraphModule", "activate", "addSettingsModule", "addSurfaceModule", "addTranslationsModule", "make"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/PresenterPlugin.node.ts
|
|
4
|
+
import { Plugin } from "@dxos/app-framework";
|
|
5
|
+
import { AppPlugin } from "@dxos/app-toolkit";
|
|
6
|
+
import { AppGraphBuilder } from "#capabilities";
|
|
7
|
+
import { meta } from "#meta";
|
|
8
|
+
var PresenterPlugin = Plugin.define(meta).pipe(AppPlugin.addAppGraphModule({
|
|
9
|
+
activate: AppGraphBuilder
|
|
10
|
+
}), Plugin.make);
|
|
11
|
+
var PresenterPlugin_node_default = PresenterPlugin;
|
|
12
|
+
export {
|
|
13
|
+
PresenterPlugin,
|
|
14
|
+
PresenterPlugin_node_default as default
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=PresenterPlugin.node.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/PresenterPlugin.node.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\n\nimport { AppGraphBuilder } from '#capabilities';\nimport { meta } from '#meta';\n\nexport const PresenterPlugin = Plugin.define(meta).pipe(\n AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),\n Plugin.make,\n);\n\nexport default PresenterPlugin;\n"],
|
|
5
|
+
"mappings": ";;;AAIA,SAASA,cAAc;AACvB,SAASC,iBAAiB;AAE1B,SAASC,uBAAuB;AAChC,SAASC,YAAY;AAEd,IAAMC,kBAAkBJ,OAAOK,OAAOF,IAAAA,EAAMG,KACjDL,UAAUM,kBAAkB;EAAEC,UAAUN;AAAgB,CAAA,GACxDF,OAAOS,IAAI;AAGb,IAAA,+BAAeL;",
|
|
6
|
+
"names": ["Plugin", "AppPlugin", "AppGraphBuilder", "meta", "PresenterPlugin", "define", "pipe", "addAppGraphModule", "activate", "make"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/components/PresenterSettings/PresenterSettings.tsx
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { useTranslation } from "@dxos/react-ui";
|
|
6
|
+
import { Settings as SettingsForm } from "@dxos/react-ui-form";
|
|
7
|
+
import { meta } from "#meta";
|
|
8
|
+
import { Settings } from "#types";
|
|
9
|
+
var PresenterSettings = ({ settings, onSettingsChange }) => {
|
|
10
|
+
const { t } = useTranslation(meta.id);
|
|
11
|
+
return /* @__PURE__ */ React.createElement(SettingsForm.Viewport, null, /* @__PURE__ */ React.createElement(SettingsForm.Section, {
|
|
12
|
+
title: t("settings.title", {
|
|
13
|
+
ns: meta.id
|
|
14
|
+
})
|
|
15
|
+
}, /* @__PURE__ */ React.createElement(SettingsForm.FieldSet, {
|
|
16
|
+
readonly: !onSettingsChange,
|
|
17
|
+
schema: Settings.Settings,
|
|
18
|
+
values: settings,
|
|
19
|
+
onValuesChanged: (values) => onSettingsChange?.(() => values)
|
|
20
|
+
})));
|
|
21
|
+
};
|
|
22
|
+
export {
|
|
23
|
+
PresenterSettings as default
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=PresenterSettings-2G4XD4QY.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/PresenterSettings/PresenterSettings.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { useTranslation } from '@dxos/react-ui';\nimport { Settings as SettingsForm } from '@dxos/react-ui-form';\n\nimport { meta } from '#meta';\nimport { Settings } from '#types';\n\nexport type PresenterSettingsProps = AppSurface.SettingsArticleProps<Settings.Settings>;\n\nexport const PresenterSettings = ({ settings, onSettingsChange }: PresenterSettingsProps) => {\n const { t } = useTranslation(meta.id);\n\n return (\n <SettingsForm.Viewport>\n <SettingsForm.Section title={t('settings.title', { ns: meta.id })}>\n <SettingsForm.FieldSet\n readonly={!onSettingsChange}\n schema={Settings.Settings}\n values={settings}\n onValuesChanged={(values) => onSettingsChange?.(() => values)}\n />\n </SettingsForm.Section>\n </SettingsForm.Viewport>\n );\n};\n"],
|
|
5
|
+
"mappings": ";;;AAIA,OAAOA,WAAW;AAGlB,SAASC,sBAAsB;AAC/B,SAASC,YAAYC,oBAAoB;AAEzC,SAASC,YAAY;AACrB,SAASF,gBAAgB;AAIlB,IAAMG,oBAAoB,CAAC,EAAEC,UAAUC,iBAAgB,MAA0B;AACtF,QAAM,EAAEC,EAAC,IAAKP,eAAeG,KAAKK,EAAE;AAEpC,SACE,sBAAA,cAACN,aAAaO,UAAQ,MACpB,sBAAA,cAACP,aAAaQ,SAAO;IAACC,OAAOJ,EAAE,kBAAkB;MAAEK,IAAIT,KAAKK;IAAG,CAAA;KAC7D,sBAAA,cAACN,aAAaW,UAAQ;IACpBC,UAAU,CAACR;IACXS,QAAQd,SAASA;IACjBe,QAAQX;IACRY,iBAAiB,CAACD,WAAWV,mBAAmB,MAAMU,MAAAA;;AAKhE;",
|
|
6
|
+
"names": ["React", "useTranslation", "Settings", "SettingsForm", "meta", "PresenterSettings", "settings", "onSettingsChange", "t", "id", "Viewport", "Section", "title", "ns", "FieldSet", "readonly", "schema", "values", "onValuesChanged"]
|
|
7
|
+
}
|
package/dist/lib/{browser/app-graph-builder-LNUGLW3H.mjs → neutral/app-graph-builder-LOVUQ6U5.mjs}
RENAMED
|
@@ -1,28 +1,25 @@
|
|
|
1
|
-
import
|
|
2
|
-
PresenterCapabilities,
|
|
3
|
-
PresenterOperation
|
|
4
|
-
} from "./chunk-PSOOAW44.mjs";
|
|
5
|
-
import {
|
|
6
|
-
meta
|
|
7
|
-
} from "./chunk-VQVZVXPJ.mjs";
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
8
2
|
|
|
9
|
-
// src/capabilities/app-graph-builder
|
|
3
|
+
// src/capabilities/app-graph-builder.ts
|
|
10
4
|
import * as Effect from "effect/Effect";
|
|
11
5
|
import * as Option from "effect/Option";
|
|
12
6
|
import { Capabilities, Capability } from "@dxos/app-framework";
|
|
13
|
-
import { AppCapabilities, LayoutOperation } from "@dxos/app-toolkit";
|
|
7
|
+
import { AppCapabilities, AppNode, LayoutOperation, getObjectPathFromObject, getSpacePath } from "@dxos/app-toolkit";
|
|
8
|
+
import { Operation } from "@dxos/compute";
|
|
14
9
|
import { Obj } from "@dxos/echo";
|
|
15
10
|
import { Collection } from "@dxos/echo";
|
|
16
|
-
import {
|
|
17
|
-
import { DeckCapabilities } from "@dxos/plugin-deck";
|
|
18
|
-
import { ATTENDABLE_PATH_SEPARATOR, DeckOperation } from "@dxos/plugin-deck/types";
|
|
11
|
+
import { DeckCapabilities, DeckOperation } from "@dxos/plugin-deck";
|
|
19
12
|
import { GraphBuilder, NodeMatcher } from "@dxos/plugin-graph";
|
|
20
|
-
import { Markdown } from "@dxos/plugin-markdown
|
|
13
|
+
import { Markdown } from "@dxos/plugin-markdown";
|
|
14
|
+
import { linkedSegment } from "@dxos/react-ui-attention";
|
|
15
|
+
import { meta } from "#meta";
|
|
16
|
+
import { PresenterOperation } from "#types";
|
|
17
|
+
import { PresenterCapabilities } from "#types";
|
|
21
18
|
var whenPresentable = (node) => Option.orElse(NodeMatcher.whenEchoType(Collection.Collection)(node), () => NodeMatcher.whenEchoType(Markdown.Document)(node));
|
|
22
19
|
var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function* () {
|
|
23
20
|
const capabilities = yield* Capability.Service;
|
|
24
21
|
const extensions = yield* GraphBuilder.createExtension({
|
|
25
|
-
id:
|
|
22
|
+
id: "root",
|
|
26
23
|
// TODO(wittjosiah): This is a hack to work around presenter previously relying on "variant". Remove.
|
|
27
24
|
match: whenPresentable,
|
|
28
25
|
connector: (object, get) => {
|
|
@@ -32,48 +29,36 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
|
|
|
32
29
|
if (!isPresentable) {
|
|
33
30
|
return Effect.succeed([]);
|
|
34
31
|
}
|
|
35
|
-
const id = Obj.getDXN(object).toString();
|
|
36
32
|
return Effect.succeed([
|
|
37
|
-
{
|
|
38
|
-
id:
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
].join(ATTENDABLE_PATH_SEPARATOR),
|
|
33
|
+
AppNode.makeCompanion({
|
|
34
|
+
id: linkedSegment("presenter"),
|
|
35
|
+
label: "Presenter",
|
|
36
|
+
icon: "ph--presentation--regular",
|
|
42
37
|
data: {
|
|
43
38
|
type: meta.id,
|
|
44
39
|
object
|
|
45
|
-
},
|
|
46
|
-
type: meta.id,
|
|
47
|
-
properties: {
|
|
48
|
-
label: "Presenter",
|
|
49
|
-
icon: "ph--presentation--regular",
|
|
50
|
-
disposition: "hidden"
|
|
51
40
|
}
|
|
52
|
-
}
|
|
41
|
+
})
|
|
53
42
|
]);
|
|
54
43
|
},
|
|
55
44
|
actions: (object, get) => {
|
|
56
45
|
const settingsAtom = capabilities.get(PresenterCapabilities.Settings);
|
|
57
46
|
const settings = get(settingsAtom);
|
|
58
47
|
const isPresentable = settings?.presentCollections ? Obj.instanceOf(Collection.Collection, object) || Obj.instanceOf(Markdown.Document, object) : Obj.instanceOf(Markdown.Document, object);
|
|
59
|
-
|
|
48
|
+
const db = Obj.getDatabase(object);
|
|
49
|
+
if (!isPresentable || !db) {
|
|
60
50
|
return Effect.succeed([]);
|
|
61
51
|
}
|
|
62
|
-
const
|
|
63
|
-
const id = dxn.toString();
|
|
64
|
-
const { spaceId } = dxn.asEchoDXN();
|
|
52
|
+
const objectPath = getObjectPathFromObject(object);
|
|
65
53
|
return Effect.succeed([
|
|
66
54
|
{
|
|
67
|
-
id:
|
|
55
|
+
id: PresenterOperation.TogglePresentation.meta.key,
|
|
68
56
|
// TODO(burdon): Allow function so can generate state when activated.
|
|
69
57
|
// So can set explicit fullscreen state coordinated with current presenter state.
|
|
70
58
|
data: Effect.fnUntraced(function* () {
|
|
71
59
|
const deckState = yield* Capabilities.getAtomValue(DeckCapabilities.State);
|
|
72
60
|
const deck = deckState.decks[deckState.activeDeck];
|
|
73
|
-
const presenterId =
|
|
74
|
-
id,
|
|
75
|
-
"presenter"
|
|
76
|
-
].join(ATTENDABLE_PATH_SEPARATOR);
|
|
61
|
+
const presenterId = `${objectPath}/${linkedSegment("presenter")}`;
|
|
77
62
|
if (!deck?.fullscreen) {
|
|
78
63
|
yield* Operation.invoke(DeckOperation.Adjust, {
|
|
79
64
|
type: "solo--fullscreen",
|
|
@@ -84,12 +69,12 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
|
|
|
84
69
|
subject: [
|
|
85
70
|
presenterId
|
|
86
71
|
],
|
|
87
|
-
workspace: spaceId
|
|
72
|
+
workspace: getSpacePath(db.spaceId)
|
|
88
73
|
});
|
|
89
74
|
}),
|
|
90
75
|
properties: {
|
|
91
76
|
label: [
|
|
92
|
-
"toggle
|
|
77
|
+
"toggle-presentation.label",
|
|
93
78
|
{
|
|
94
79
|
ns: meta.id
|
|
95
80
|
}
|
|
@@ -110,4 +95,4 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
|
|
|
110
95
|
export {
|
|
111
96
|
app_graph_builder_default as default
|
|
112
97
|
};
|
|
113
|
-
//# sourceMappingURL=app-graph-builder-
|
|
98
|
+
//# sourceMappingURL=app-graph-builder-LOVUQ6U5.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/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 { AppCapabilities, AppNode, LayoutOperation, getObjectPathFromObject, getSpacePath } from '@dxos/app-toolkit';\nimport { Operation } from '@dxos/compute';\nimport { Obj } from '@dxos/echo';\nimport { Collection } from '@dxos/echo';\nimport { DeckCapabilities, DeckOperation } from '@dxos/plugin-deck';\nimport { GraphBuilder, type Node, NodeMatcher } from '@dxos/plugin-graph';\nimport { Markdown } from '@dxos/plugin-markdown';\nimport { linkedSegment } from '@dxos/react-ui-attention';\n\nimport { meta } from '#meta';\nimport { PresenterOperation } from '#types';\nimport { PresenterCapabilities } from '#types';\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: '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 AppNode.makeCompanion({\n id: linkedSegment('presenter'),\n label: 'Presenter',\n icon: 'ph--presentation--regular',\n data: { type: meta.id, object },\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 = `${objectPath}/${linkedSegment('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": ";;;AAIA,YAAYA,YAAY;AACxB,YAAYC,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,iBAAiBC,SAASC,iBAAiBC,yBAAyBC,oBAAoB;AACjG,SAASC,iBAAiB;AAC1B,SAASC,WAAW;AACpB,SAASC,kBAAkB;AAC3B,SAASC,kBAAkBC,qBAAqB;AAChD,SAASC,cAAyBC,mBAAmB;AACrD,SAASC,gBAAgB;AACzB,SAASC,qBAAqB;AAE9B,SAASC,YAAY;AACrB,SAASC,0BAA0B;AACnC,SAASC,6BAA6B;AAGtC,IAAMC,kBAAkB,CAACC,SAChBC,cAAOR,YAAYS,aAAab,WAAWA,UAAU,EAAEW,IAAAA,GAAO,MACnEP,YAAYS,aAAaR,SAASS,QAAQ,EAAEH,IAAAA,CAAAA;AAGhD,IAAA,4BAAenB,WAAWuB,WACjBC,kBAAW,aAAA;AAChB,QAAMC,eAAe,OAAOzB,WAAW0B;AAEvC,QAAMC,aAAa,OAAOhB,aAAaiB,gBAAgB;IACrDC,IAAI;;IAEJC,OAAOZ;IACPa,WAAW,CAACC,QAAQC,QAAAA;AAClB,YAAMC,eAAeT,aAAaQ,IAAIhB,sBAAsBkB,QAAQ;AACpE,YAAMC,WAAWH,IAAIC,YAAAA;AACrB,YAAMG,gBAAgBD,UAAUE,qBAC5B/B,IAAIgC,WAAW/B,WAAWA,YAAYwB,MAAAA,KAAWzB,IAAIgC,WAAW1B,SAASS,UAAUU,MAAAA,IACnFzB,IAAIgC,WAAW1B,SAASS,UAAUU,MAAAA;AACtC,UAAI,CAACK,eAAe;AAClB,eAAcG,eAAQ,CAAA,CAAE;MAC1B;AAEA,aAAcA,eAAQ;QACpBtC,QAAQuC,cAAc;UACpBZ,IAAIf,cAAc,WAAA;UAClB4B,OAAO;UACPC,MAAM;UACNC,MAAM;YAAEC,MAAM9B,KAAKc;YAAIG;UAAO;QAChC,CAAA;OACD;IACH;IACAc,SAAS,CAACd,QAAQC,QAAAA;AAChB,YAAMC,eAAeT,aAAaQ,IAAIhB,sBAAsBkB,QAAQ;AACpE,YAAMC,WAAWH,IAAIC,YAAAA;AACrB,YAAMG,gBAAgBD,UAAUE,qBAC5B/B,IAAIgC,WAAW/B,WAAWA,YAAYwB,MAAAA,KAAWzB,IAAIgC,WAAW1B,SAASS,UAAUU,MAAAA,IACnFzB,IAAIgC,WAAW1B,SAASS,UAAUU,MAAAA;AACtC,YAAMe,KAAKxC,IAAIyC,YAAYhB,MAAAA;AAC3B,UAAI,CAACK,iBAAiB,CAACU,IAAI;AACzB,eAAcP,eAAQ,CAAA,CAAE;MAC1B;AACA,YAAMS,aAAa7C,wBAAwB4B,MAAAA;AAE3C,aAAcQ,eAAQ;QACpB;UACEX,IAAIb,mBAAmBkC,mBAAmBnC,KAAKoC;;;UAG/CP,MAAapB,kBAAW,aAAA;AACtB,kBAAM4B,YAAY,OAAOrD,aAAasD,aAAa5C,iBAAiB6C,KAAK;AACzE,kBAAMC,OAAOH,UAAUI,MAAMJ,UAAUK,UAAU;AACjD,kBAAMC,cAAc,GAAGT,UAAAA,IAAcnC,cAAc,WAAA,CAAA;AACnD,gBAAI,CAACyC,MAAMI,YAAY;AACrB,qBAAOrD,UAAUsD,OAAOlD,cAAcmD,QAAQ;gBAC5ChB,MAAM;gBACNhB,IAAI6B;cACN,CAAA;YACF;AACA,mBAAOpD,UAAUsD,OAAOzD,gBAAgB2D,MAAM;cAC5CC,SAAS;gBAACL;;cACVM,WAAW3D,aAAa0C,GAAGkB,OAAO;YACpC,CAAA;UACF,CAAA;UACAC,YAAY;YACVxB,OAAO;cAAC;cAA6B;gBAAEyB,IAAIpD,KAAKc;cAAG;;YACnDc,MAAM;YACNyB,aAAa;YACbC,YAAY;cACVC,OAAO;cACPC,SAAS;YACX;UACF;QACF;OACD;IACH;EACF,CAAA;AAEA,SAAOvE,WAAWwE,YAAYvE,gBAAgBwE,iBAAiB9C,UAAAA;AACjE,CAAA,CAAA;",
|
|
6
|
+
"names": ["Effect", "Option", "Capabilities", "Capability", "AppCapabilities", "AppNode", "LayoutOperation", "getObjectPathFromObject", "getSpacePath", "Operation", "Obj", "Collection", "DeckCapabilities", "DeckOperation", "GraphBuilder", "NodeMatcher", "Markdown", "linkedSegment", "meta", "PresenterOperation", "PresenterCapabilities", "whenPresentable", "node", "orElse", "whenEchoType", "Document", "makeModule", "fnUntraced", "capabilities", "Service", "extensions", "createExtension", "id", "match", "connector", "object", "get", "settingsAtom", "Settings", "settings", "isPresentable", "presentCollections", "instanceOf", "succeed", "makeCompanion", "label", "icon", "data", "type", "actions", "db", "getDatabase", "objectPath", "TogglePresentation", "key", "deckState", "getAtomValue", "State", "deck", "decks", "activeDeck", "presenterId", "fullscreen", "invoke", "Adjust", "Open", "subject", "workspace", "spaceId", "properties", "ns", "disposition", "keyBinding", "macos", "windows", "contributes", "AppGraphBuilder"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import "../chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/capabilities/index.ts
|
|
4
|
+
import { Capability } from "@dxos/app-framework";
|
|
5
|
+
var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("../app-graph-builder-LOVUQ6U5.mjs"));
|
|
6
|
+
var ReactSurface = Capability.lazy("ReactSurface", () => import("../react-surface-ATYTHPAA.mjs"));
|
|
7
|
+
var PresenterSettings = Capability.lazy("PresenterSettings", () => import("../settings-R6LRDAAK.mjs"));
|
|
8
|
+
export {
|
|
9
|
+
AppGraphBuilder,
|
|
10
|
+
PresenterSettings,
|
|
11
|
+
ReactSurface
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/capabilities/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\nexport const PresenterSettings = Capability.lazy('PresenterSettings', () => import('./settings'));\n"],
|
|
5
|
+
"mappings": ";;;AAIA,SAASA,kBAAkB;AAEpB,IAAMC,kBAAkBD,WAAWE,KAAK,mBAAmB,MAAM,OAAO,mCAAA,CAAA;AACxE,IAAMC,eAAeH,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAME,oBAAoBJ,WAAWE,KAAK,qBAAqB,MAAM,OAAO,0BAAA,CAAA;",
|
|
6
|
+
"names": ["Capability", "AppGraphBuilder", "lazy", "ReactSurface", "PresenterSettings"]
|
|
7
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// src/meta.ts
|
|
2
2
|
import { trim } from "@dxos/util";
|
|
3
3
|
var meta = {
|
|
4
|
-
id: "dxos.
|
|
4
|
+
id: "org.dxos.plugin.presenter",
|
|
5
5
|
name: "Presenter",
|
|
6
6
|
description: trim`
|
|
7
7
|
Transform markdown documents into interactive presentation slideshows.
|
|
@@ -15,4 +15,4 @@ var meta = {
|
|
|
15
15
|
export {
|
|
16
16
|
meta
|
|
17
17
|
};
|
|
18
|
-
//# sourceMappingURL=chunk-
|
|
18
|
+
//# sourceMappingURL=chunk-4XSSDLGN.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/meta.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'dxos.
|
|
5
|
-
"mappings": ";AAKA,SAASA,YAAY;AAEd,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,
|
|
6
|
-
"names": ["trim", "meta", "id", "name", "description", "
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.plugin.presenter',\n name: 'Presenter',\n description: trim`\n Transform markdown documents into interactive presentation slideshows.\n Navigate between slides with keyboard controls and present content in full-screen mode.\n `,\n icon: 'ph--presentation--regular',\n iconHue: 'indigo',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-presenter',\n};\n"],
|
|
5
|
+
"mappings": ";AAKA,SAASA,YAAY;AAEd,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaJ;;;;EAIbK,MAAM;EACNC,SAAS;EACTC,QAAQ;AACV;",
|
|
6
|
+
"names": ["trim", "meta", "id", "name", "description", "icon", "iconHue", "source"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__export
|
|
3
|
+
} from "./chunk-J5LGTIGS.mjs";
|
|
4
|
+
|
|
5
|
+
// src/types/index.ts
|
|
6
|
+
import { createContext } from "react";
|
|
7
|
+
|
|
8
|
+
// src/types/PresenterCapabilities.ts
|
|
9
|
+
var PresenterCapabilities_exports = {};
|
|
10
|
+
__export(PresenterCapabilities_exports, {
|
|
11
|
+
Settings: () => Settings
|
|
12
|
+
});
|
|
13
|
+
import { Capability } from "@dxos/app-framework";
|
|
14
|
+
import { meta } from "#meta";
|
|
15
|
+
var Settings = Capability.make(`${meta.id}.capability.settings`);
|
|
16
|
+
|
|
17
|
+
// src/types/PresenterOperation.ts
|
|
18
|
+
var PresenterOperation_exports = {};
|
|
19
|
+
__export(PresenterOperation_exports, {
|
|
20
|
+
TogglePresentation: () => TogglePresentation
|
|
21
|
+
});
|
|
22
|
+
import * as Schema from "effect/Schema";
|
|
23
|
+
import { Operation } from "@dxos/compute";
|
|
24
|
+
import { Collection } from "@dxos/echo";
|
|
25
|
+
import { Markdown } from "@dxos/plugin-markdown";
|
|
26
|
+
import { meta as meta2 } from "#meta";
|
|
27
|
+
var PRESENTER_OPERATION = `${meta2.id}.operation`;
|
|
28
|
+
var TogglePresentation = Operation.make({
|
|
29
|
+
meta: {
|
|
30
|
+
key: `${PRESENTER_OPERATION}.toggle-presentation`,
|
|
31
|
+
name: "Toggle Presentation"
|
|
32
|
+
},
|
|
33
|
+
input: Schema.Struct({
|
|
34
|
+
object: Schema.Union(Markdown.Document, Collection.Collection),
|
|
35
|
+
state: Schema.optional(Schema.Boolean)
|
|
36
|
+
}),
|
|
37
|
+
output: Schema.Void
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
// src/types/Settings.ts
|
|
41
|
+
var Settings_exports = {};
|
|
42
|
+
__export(Settings_exports, {
|
|
43
|
+
Settings: () => Settings2
|
|
44
|
+
});
|
|
45
|
+
import * as Schema2 from "effect/Schema";
|
|
46
|
+
var Settings2 = Schema2.mutable(Schema2.Struct({
|
|
47
|
+
presentCollections: Schema2.optional(Schema2.Boolean.annotations({
|
|
48
|
+
title: "Present collections (experimental)",
|
|
49
|
+
description: "Enable presenting collections of documents as a slideshow."
|
|
50
|
+
}))
|
|
51
|
+
}));
|
|
52
|
+
|
|
53
|
+
// src/types/index.ts
|
|
54
|
+
var PresenterContext = createContext({
|
|
55
|
+
running: false,
|
|
56
|
+
start: () => {
|
|
57
|
+
},
|
|
58
|
+
stop: () => {
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
export {
|
|
63
|
+
PresenterCapabilities_exports,
|
|
64
|
+
PresenterOperation_exports,
|
|
65
|
+
Settings_exports,
|
|
66
|
+
PresenterContext
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=chunk-DCPA267T.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/index.ts", "../../../src/types/PresenterCapabilities.ts", "../../../src/types/PresenterOperation.ts", "../../../src/types/Settings.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Context, createContext } from 'react';\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 * as PresenterCapabilities from './PresenterCapabilities';\nexport * as PresenterOperation from './PresenterOperation';\nexport * as Settings from './Settings';\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport { type Atom } from '@effect-atom/atom-react';\n\nimport { Capability } from '@dxos/app-framework';\n\nimport { meta } from '#meta';\n\n// Inline import to avoid `Settings` namespace alias colliding with the\n// `Settings` capability export below.\nexport const Settings = Capability.make<Atom.Writable<import('./Settings').Settings>>(`${meta.id}.capability.settings`);\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { Operation } from '@dxos/compute';\nimport { Collection } from '@dxos/echo';\nimport { Markdown } from '@dxos/plugin-markdown';\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", "//\n// Copyright 2023 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nexport const Settings = Schema.mutable(\n Schema.Struct({\n presentCollections: Schema.optional(\n Schema.Boolean.annotations({\n title: 'Present collections (experimental)',\n description: 'Enable presenting collections of documents as a slideshow.',\n }),\n ),\n }),\n);\n\nexport interface Settings extends Schema.Schema.Type<typeof Settings> {}\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,SAAuBA,qBAAqB;;;ACJ5C;;;;AAQA,SAASC,kBAAkB;AAE3B,SAASC,YAAY;AAId,IAAMC,WAAWF,WAAWG,KAAmD,GAAGF,KAAKG,EAAE,sBAAsB;;;ACdtH;;;;AAMA,YAAYC,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,kBAAkB;AAC3B,SAASC,gBAAgB;AAEzB,SAASC,QAAAA,aAAY;AAErB,IAAMC,sBAAsB,GAAGD,MAAKE,EAAE;AAG/B,IAAMC,qBAAqBN,UAAUO,KAAK;EAC/CJ,MAAM;IAAEK,KAAK,GAAGJ,mBAAAA;IAA2CK,MAAM;EAAsB;EACvFC,OAAcC,cAAO;IACnBC,QAAeC,aAAMX,SAASY,UAAUb,WAAWA,UAAU;IAC7Dc,OAAcC,gBAAgBC,cAAO;EACvC,CAAA;EACAC,QAAeC;AACjB,CAAA;;;ACxBA;;kBAAAC;;AAMA,YAAYC,aAAY;AAEjB,IAAMD,YAAkBE,gBACtBC,eAAO;EACZC,oBAA2BC,iBAClBC,gBAAQC,YAAY;IACzBC,OAAO;IACPC,aAAa;EACf,CAAA,CAAA;AAEJ,CAAA,CAAA;;;AHJK,IAAMC,mBAAkDC,cAAoC;EACjGC,SAAS;EACTC,OAAO,MAAA;EAAO;EACdC,MAAM,MAAA;EAAO;AACf,CAAA;",
|
|
6
|
+
"names": ["createContext", "Capability", "meta", "Settings", "make", "id", "Schema", "Operation", "Collection", "Markdown", "meta", "PRESENTER_OPERATION", "id", "TogglePresentation", "make", "key", "name", "input", "Struct", "object", "Union", "Document", "state", "optional", "Boolean", "output", "Void", "Settings", "Schema", "mutable", "Struct", "presentCollections", "optional", "Boolean", "annotations", "title", "description", "PresenterContext", "createContext", "running", "start", "stop"]
|
|
7
|
+
}
|
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
import { useAtomValue } from "@effect-atom/atom-react";
|
|
3
3
|
import { useCallback, useMemo } from "react";
|
|
4
4
|
import { useCapability, useOperationInvoker } from "@dxos/app-framework/ui";
|
|
5
|
-
import { LayoutOperation } from "@dxos/app-toolkit";
|
|
5
|
+
import { LayoutOperation, getObjectPathFromObject, getSpacePath } from "@dxos/app-toolkit";
|
|
6
6
|
import { Obj } from "@dxos/echo";
|
|
7
|
-
import { DeckCapabilities } from "@dxos/plugin-deck";
|
|
8
|
-
import { DeckOperation } from "@dxos/plugin-deck/types";
|
|
7
|
+
import { DeckCapabilities, DeckOperation } from "@dxos/plugin-deck";
|
|
9
8
|
var useExitPresenter = (object) => {
|
|
10
9
|
const { invokePromise } = useOperationInvoker();
|
|
11
10
|
const stateAtom = useCapability(DeckCapabilities.State);
|
|
@@ -15,18 +14,19 @@ var useExitPresenter = (object) => {
|
|
|
15
14
|
state.activeDeck
|
|
16
15
|
]);
|
|
17
16
|
return useCallback(() => {
|
|
18
|
-
const
|
|
17
|
+
const objectPath = getObjectPathFromObject(object);
|
|
18
|
+
const db = Obj.getDatabase(object);
|
|
19
19
|
if (deck?.fullscreen) {
|
|
20
20
|
void invokePromise(DeckOperation.Adjust, {
|
|
21
21
|
type: "solo--fullscreen",
|
|
22
|
-
id:
|
|
22
|
+
id: objectPath
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
25
|
return invokePromise(LayoutOperation.Open, {
|
|
26
26
|
subject: [
|
|
27
|
-
|
|
27
|
+
objectPath
|
|
28
28
|
],
|
|
29
|
-
workspace:
|
|
29
|
+
workspace: db ? getSpacePath(db.spaceId) : void 0
|
|
30
30
|
});
|
|
31
31
|
}, [
|
|
32
32
|
invokePromise,
|
|
@@ -38,4 +38,4 @@ var useExitPresenter = (object) => {
|
|
|
38
38
|
export {
|
|
39
39
|
useExitPresenter
|
|
40
40
|
};
|
|
41
|
-
//# sourceMappingURL=chunk-
|
|
41
|
+
//# sourceMappingURL=chunk-V323QBC3.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, DeckOperation } from '@dxos/plugin-deck';\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,kBAAkBC,qBAAqB;AAEzC,IAAMC,mBAAmB,CAACC,WAAAA;AAC/B,QAAM,EAAEC,cAAa,IAAKT,oBAAAA;AAC1B,QAAMU,YAAYX,cAAcM,iBAAiBM,KAAK;AACtD,QAAMC,QAAQhB,aAAac,SAAAA;AAG3B,QAAMG,OAAOf,QAAQ,MAAMc,MAAME,MAAMF,MAAMG,UAAU,GAAG;IAACH,MAAME;IAAOF,MAAMG;GAAW;AAEzF,SAAOlB,YAAY,MAAA;AACjB,UAAMmB,aAAad,wBAAwBM,MAAAA;AAC3C,UAAMS,KAAKb,IAAIc,YAAYV,MAAAA;AAC3B,QAAIK,MAAMM,YAAY;AACpB,WAAKV,cAAcH,cAAcc,QAAQ;QACvCC,MAAM;QACNC,IAAIN;MACN,CAAA;IACF;AAEA,WAAOP,cAAcR,gBAAgBsB,MAAM;MACzCC,SAAS;QAACR;;MACVS,WAAWR,KAAKd,aAAac,GAAGS,OAAO,IAAIC;IAC7C,CAAA;EACF,GAAG;IAAClB;IAAeD;IAAQK;GAAK;AAClC;",
|
|
6
|
+
"names": ["useAtomValue", "useCallback", "useMemo", "useCapability", "useOperationInvoker", "LayoutOperation", "getObjectPathFromObject", "getSpacePath", "Obj", "DeckCapabilities", "DeckOperation", "useExitPresenter", "object", "invokePromise", "stateAtom", "State", "state", "deck", "decks", "activeDeck", "objectPath", "db", "getDatabase", "fullscreen", "Adjust", "type", "id", "Open", "subject", "workspace", "spaceId", "undefined"]
|
|
7
|
+
}
|