@dxos/plugin-presenter 0.8.4-main.c1de068 → 0.8.4-main.c351d160a8
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-IFILQWPJ.mjs +52 -0
- package/dist/lib/browser/CollectionPresenterContainer-IFILQWPJ.mjs.map +7 -0
- package/dist/lib/browser/DocumentPresenterContainer-PMS5FH4A.mjs +28 -0
- package/dist/lib/browser/DocumentPresenterContainer-PMS5FH4A.mjs.map +7 -0
- package/dist/lib/browser/MarkdownSlide-EGVUVP2N.mjs +23 -0
- package/dist/lib/browser/MarkdownSlide-EGVUVP2N.mjs.map +7 -0
- package/dist/lib/browser/PresenterSettings-H3ELNHGX.mjs +31 -0
- package/dist/lib/browser/PresenterSettings-H3ELNHGX.mjs.map +7 -0
- package/dist/lib/browser/app-graph-builder-T2BJ5XUZ.mjs +105 -0
- package/dist/lib/browser/app-graph-builder-T2BJ5XUZ.mjs.map +7 -0
- package/dist/lib/browser/chunk-GQBEHCZW.mjs +42 -0
- package/dist/lib/browser/chunk-GQBEHCZW.mjs.map +7 -0
- package/dist/lib/browser/chunk-PBH33Y3O.mjs +50 -0
- package/dist/lib/browser/chunk-PBH33Y3O.mjs.map +7 -0
- package/dist/lib/browser/chunk-PYBNNNNK.mjs +18 -0
- package/dist/lib/browser/chunk-PYBNNNNK.mjs.map +7 -0
- package/dist/lib/browser/chunk-YNKUN3CU.mjs +485 -0
- package/dist/lib/browser/chunk-YNKUN3CU.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +39 -40
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-surface-XXUUAQNP.mjs +67 -0
- package/dist/lib/browser/react-surface-XXUUAQNP.mjs.map +7 -0
- package/dist/lib/browser/settings-FBHSLR6P.mjs +32 -0
- package/dist/lib/browser/settings-FBHSLR6P.mjs.map +7 -0
- package/dist/types/src/PresenterPlugin.d.ts +2 -1
- package/dist/types/src/PresenterPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +3 -3
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings/index.d.ts +7 -0
- package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings/settings.d.ts +10 -0
- package/dist/types/src/capabilities/settings/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/Panel.stories.d.ts +18 -0
- package/dist/types/src/components/Markdown/Panel.stories.d.ts.map +1 -0
- package/dist/types/src/components/Markdown/Slide.d.ts +1 -3
- package/dist/types/src/components/Markdown/Slide.d.ts.map +1 -1
- package/dist/types/src/components/Markdown/Slide.stories.d.ts +11 -12
- 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/Presenter/Pager.d.ts +1 -1
- package/dist/types/src/components/Presenter/Pager.d.ts.map +1 -1
- package/dist/types/src/components/Presenter/Pager.stories.d.ts +12 -4
- package/dist/types/src/components/Presenter/Pager.stories.d.ts.map +1 -1
- package/dist/types/src/components/RevealPlayer/RevealPlayer.d.ts.map +1 -1
- package/dist/types/src/components/RevealPlayer/RevealPlayer.stories.d.ts +18 -2
- package/dist/types/src/components/RevealPlayer/RevealPlayer.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +3 -10
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/CollectionPresenterContainer/CollectionPresenterContainer.d.ts +7 -0
- package/dist/types/src/containers/CollectionPresenterContainer/CollectionPresenterContainer.d.ts.map +1 -0
- package/dist/types/src/containers/CollectionPresenterContainer/index.d.ts +3 -0
- package/dist/types/src/containers/CollectionPresenterContainer/index.d.ts.map +1 -0
- package/dist/types/src/containers/DocumentPresenterContainer/DocumentPresenterContainer.d.ts +6 -0
- package/dist/types/src/containers/DocumentPresenterContainer/DocumentPresenterContainer.d.ts.map +1 -0
- package/dist/types/src/containers/DocumentPresenterContainer/index.d.ts +3 -0
- package/dist/types/src/containers/DocumentPresenterContainer/index.d.ts.map +1 -0
- package/dist/types/src/containers/MarkdownSlide/MarkdownSlide.d.ts +8 -0
- package/dist/types/src/containers/MarkdownSlide/MarkdownSlide.d.ts.map +1 -0
- package/dist/types/src/containers/MarkdownSlide/index.d.ts +3 -0
- package/dist/types/src/containers/MarkdownSlide/index.d.ts.map +1 -0
- package/dist/types/src/containers/PresenterSettings/PresenterSettings.d.ts +8 -0
- package/dist/types/src/containers/PresenterSettings/PresenterSettings.d.ts.map +1 -0
- package/dist/types/src/containers/PresenterSettings/index.d.ts +3 -0
- package/dist/types/src/containers/PresenterSettings/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +6 -0
- package/dist/types/src/containers/index.d.ts.map +1 -0
- package/dist/types/src/meta.d.ts +2 -3
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +1 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types.d.ts +36 -26
- package/dist/types/src/types.d.ts.map +1 -1
- package/dist/types/src/useExitPresenter.d.ts +2 -3
- package/dist/types/src/useExitPresenter.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +49 -41
- package/src/PresenterPlugin.tsx +9 -24
- package/src/capabilities/app-graph-builder/app-graph-builder.ts +112 -0
- package/src/capabilities/app-graph-builder/index.ts +7 -0
- package/src/capabilities/index.ts +3 -5
- package/src/capabilities/react-surface/index.ts +7 -0
- package/src/capabilities/react-surface/react-surface.tsx +71 -0
- package/src/capabilities/settings/index.ts +7 -0
- package/src/capabilities/settings/settings.ts +31 -0
- package/src/components/Markdown/{Container.stories.tsx → Panel.stories.tsx} +24 -23
- package/src/components/Markdown/{Container.tsx → Panel.tsx} +5 -5
- package/src/components/Markdown/Slide.stories.tsx +12 -8
- package/src/components/Markdown/Slide.tsx +12 -128
- package/src/components/Markdown/index.ts +1 -1
- package/src/components/Markdown/styles.css +104 -0
- package/src/components/Markdown/theme.ts +5 -5
- package/src/components/Markdown/typings.d.ts +8 -0
- package/src/components/Presenter/Layout.tsx +2 -2
- package/src/components/Presenter/Pager.stories.tsx +10 -10
- package/src/components/Presenter/Pager.tsx +53 -18
- package/src/components/RevealPlayer/RevealPlayer.stories.tsx +8 -6
- package/src/components/RevealPlayer/RevealPlayer.tsx +66 -59
- package/src/components/index.ts +3 -7
- package/src/containers/CollectionPresenterContainer/CollectionPresenterContainer.tsx +43 -0
- package/src/containers/CollectionPresenterContainer/index.ts +7 -0
- package/src/containers/DocumentPresenterContainer/DocumentPresenterContainer.tsx +23 -0
- package/src/containers/DocumentPresenterContainer/index.ts +7 -0
- package/src/containers/MarkdownSlide/MarkdownSlide.tsx +26 -0
- package/src/containers/MarkdownSlide/index.ts +7 -0
- package/src/containers/PresenterSettings/PresenterSettings.tsx +35 -0
- package/src/containers/PresenterSettings/index.ts +7 -0
- package/src/containers/index.ts +10 -0
- package/src/meta.ts +9 -6
- package/src/translations.ts +1 -0
- package/src/types.ts +19 -11
- package/src/useExitPresenter.ts +26 -24
- package/dist/lib/browser/CollectionPresenterContainer-GH4GIA6P.mjs +0 -191
- package/dist/lib/browser/CollectionPresenterContainer-GH4GIA6P.mjs.map +0 -7
- package/dist/lib/browser/DocumentPresenterContainer-E7RGK572.mjs +0 -185
- package/dist/lib/browser/DocumentPresenterContainer-E7RGK572.mjs.map +0 -7
- package/dist/lib/browser/MarkdownSlide-QHC3GZII.mjs +0 -336
- package/dist/lib/browser/MarkdownSlide-QHC3GZII.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-2ZLAWPF2.mjs +0 -77
- package/dist/lib/browser/app-graph-builder-2ZLAWPF2.mjs.map +0 -7
- package/dist/lib/browser/chunk-SW3HIRDA.mjs +0 -39
- package/dist/lib/browser/chunk-SW3HIRDA.mjs.map +0 -7
- package/dist/lib/browser/chunk-TANLITL2.mjs +0 -36
- package/dist/lib/browser/chunk-TANLITL2.mjs.map +0 -7
- package/dist/lib/browser/chunk-VSD5LSE5.mjs +0 -15
- package/dist/lib/browser/chunk-VSD5LSE5.mjs.map +0 -7
- package/dist/lib/browser/chunk-YYPOO6XK.mjs +0 -37
- package/dist/lib/browser/chunk-YYPOO6XK.mjs.map +0 -7
- package/dist/lib/browser/react-surface-GQSVWJBG.mjs +0 -57
- package/dist/lib/browser/react-surface-GQSVWJBG.mjs.map +0 -7
- package/dist/lib/browser/settings-X7M27QCY.mjs +0 -22
- package/dist/lib/browser/settings-X7M27QCY.mjs.map +0 -7
- package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-surface.d.ts +0 -4
- package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
- package/dist/types/src/capabilities/settings.d.ts +0 -4
- package/dist/types/src/capabilities/settings.d.ts.map +0 -1
- package/dist/types/src/components/CollectionPresenterContainer.d.ts +0 -7
- package/dist/types/src/components/CollectionPresenterContainer.d.ts.map +0 -1
- package/dist/types/src/components/DocumentPresenterContainer.d.ts +0 -7
- package/dist/types/src/components/DocumentPresenterContainer.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 +0 -26
- package/dist/types/src/components/Markdown/Container.stories.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownSlide.d.ts +0 -7
- package/dist/types/src/components/MarkdownSlide.d.ts.map +0 -1
- package/dist/types/src/components/PresenterSettings.d.ts +0 -6
- package/dist/types/src/components/PresenterSettings.d.ts.map +0 -1
- package/src/capabilities/app-graph-builder.ts +0 -82
- package/src/capabilities/react-surface.tsx +0 -53
- package/src/capabilities/settings.ts +0 -19
- package/src/components/CollectionPresenterContainer.tsx +0 -43
- package/src/components/DocumentPresenterContainer.tsx +0 -22
- package/src/components/MarkdownSlide.tsx +0 -24
- package/src/components/PresenterSettings.tsx +0 -26
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import {
|
|
2
|
+
useExitPresenter
|
|
3
|
+
} from "./chunk-GQBEHCZW.mjs";
|
|
4
|
+
import {
|
|
5
|
+
Layout,
|
|
6
|
+
PageNumber,
|
|
7
|
+
Pager
|
|
8
|
+
} from "./chunk-YNKUN3CU.mjs";
|
|
9
|
+
import {
|
|
10
|
+
PresenterContext
|
|
11
|
+
} from "./chunk-PBH33Y3O.mjs";
|
|
12
|
+
import "./chunk-PYBNNNNK.mjs";
|
|
13
|
+
|
|
14
|
+
// src/containers/CollectionPresenterContainer/CollectionPresenterContainer.tsx
|
|
15
|
+
import React, { useContext, useState } from "react";
|
|
16
|
+
import { Surface } from "@dxos/app-framework/ui";
|
|
17
|
+
import { Panel } from "@dxos/react-ui";
|
|
18
|
+
var CollectionPresenterContainer = ({ role, subject: collection }) => {
|
|
19
|
+
const [slide, setSlide] = useState(0);
|
|
20
|
+
const { running } = useContext(PresenterContext);
|
|
21
|
+
const handleExit = useExitPresenter(collection);
|
|
22
|
+
return /* @__PURE__ */ React.createElement(Panel.Root, {
|
|
23
|
+
role,
|
|
24
|
+
classNames: "relative"
|
|
25
|
+
}, /* @__PURE__ */ React.createElement(Panel.Content, {
|
|
26
|
+
asChild: true
|
|
27
|
+
}, /* @__PURE__ */ React.createElement(Layout, {
|
|
28
|
+
bottomRight: /* @__PURE__ */ React.createElement(PageNumber, {
|
|
29
|
+
index: slide,
|
|
30
|
+
count: collection.objects.length
|
|
31
|
+
}),
|
|
32
|
+
bottomLeft: /* @__PURE__ */ React.createElement(Pager, {
|
|
33
|
+
index: slide,
|
|
34
|
+
count: collection.objects.length,
|
|
35
|
+
keys: running,
|
|
36
|
+
onChange: setSlide,
|
|
37
|
+
onExit: handleExit
|
|
38
|
+
})
|
|
39
|
+
}, /* @__PURE__ */ React.createElement(Surface.Surface, {
|
|
40
|
+
role: "slide",
|
|
41
|
+
data: {
|
|
42
|
+
subject: collection.objects[slide]
|
|
43
|
+
}
|
|
44
|
+
}))));
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
// src/containers/CollectionPresenterContainer/index.ts
|
|
48
|
+
var CollectionPresenterContainer_default = CollectionPresenterContainer;
|
|
49
|
+
export {
|
|
50
|
+
CollectionPresenterContainer_default as default
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=CollectionPresenterContainer-IFILQWPJ.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,28 @@
|
|
|
1
|
+
import {
|
|
2
|
+
useExitPresenter
|
|
3
|
+
} from "./chunk-GQBEHCZW.mjs";
|
|
4
|
+
import {
|
|
5
|
+
RevealPlayer
|
|
6
|
+
} from "./chunk-YNKUN3CU.mjs";
|
|
7
|
+
|
|
8
|
+
// src/containers/DocumentPresenterContainer/DocumentPresenterContainer.tsx
|
|
9
|
+
import React from "react";
|
|
10
|
+
import { Panel } from "@dxos/react-ui";
|
|
11
|
+
var DocumentPresenterContainer = ({ document }) => {
|
|
12
|
+
const handleExit = useExitPresenter(document);
|
|
13
|
+
return /* @__PURE__ */ React.createElement(Panel.Root, {
|
|
14
|
+
classNames: "relative"
|
|
15
|
+
}, /* @__PURE__ */ React.createElement(Panel.Content, {
|
|
16
|
+
asChild: true
|
|
17
|
+
}, /* @__PURE__ */ React.createElement(RevealPlayer, {
|
|
18
|
+
content: document.content.target?.content ?? "",
|
|
19
|
+
onExit: handleExit
|
|
20
|
+
})));
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
// src/containers/DocumentPresenterContainer/index.ts
|
|
24
|
+
var DocumentPresenterContainer_default = DocumentPresenterContainer;
|
|
25
|
+
export {
|
|
26
|
+
DocumentPresenterContainer_default as default
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=DocumentPresenterContainer-PMS5FH4A.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,23 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Panel,
|
|
3
|
+
Slide
|
|
4
|
+
} from "./chunk-YNKUN3CU.mjs";
|
|
5
|
+
|
|
6
|
+
// src/containers/MarkdownSlide/MarkdownSlide.tsx
|
|
7
|
+
import React from "react";
|
|
8
|
+
var MarkdownSlide = ({ document }) => {
|
|
9
|
+
const content = document.content.target?.content;
|
|
10
|
+
if (!content) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
return /* @__PURE__ */ React.createElement(Panel, null, /* @__PURE__ */ React.createElement(Slide, {
|
|
14
|
+
content
|
|
15
|
+
}));
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
// src/containers/MarkdownSlide/index.ts
|
|
19
|
+
var MarkdownSlide_default = MarkdownSlide;
|
|
20
|
+
export {
|
|
21
|
+
MarkdownSlide_default as default
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=MarkdownSlide-EGVUVP2N.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,31 @@
|
|
|
1
|
+
import {
|
|
2
|
+
meta
|
|
3
|
+
} from "./chunk-PYBNNNNK.mjs";
|
|
4
|
+
|
|
5
|
+
// src/containers/PresenterSettings/PresenterSettings.tsx
|
|
6
|
+
import React from "react";
|
|
7
|
+
import { Input, useTranslation } from "@dxos/react-ui";
|
|
8
|
+
import { Settings } from "@dxos/react-ui-form";
|
|
9
|
+
var PresenterSettings = ({ settings, onSettingsChange }) => {
|
|
10
|
+
const { t } = useTranslation(meta.id);
|
|
11
|
+
return /* @__PURE__ */ React.createElement(Settings.Root, null, /* @__PURE__ */ React.createElement(Settings.Section, {
|
|
12
|
+
title: t("settings title", {
|
|
13
|
+
ns: meta.id
|
|
14
|
+
})
|
|
15
|
+
}, /* @__PURE__ */ React.createElement(Settings.Group, null, /* @__PURE__ */ React.createElement(Settings.ItemInput, {
|
|
16
|
+
title: t("present collections label")
|
|
17
|
+
}, /* @__PURE__ */ React.createElement(Input.Switch, {
|
|
18
|
+
checked: settings.presentCollections,
|
|
19
|
+
onCheckedChange: (checked) => onSettingsChange((s) => ({
|
|
20
|
+
...s,
|
|
21
|
+
presentCollections: !!checked
|
|
22
|
+
}))
|
|
23
|
+
})))));
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
// src/containers/PresenterSettings/index.ts
|
|
27
|
+
var PresenterSettings_default = PresenterSettings;
|
|
28
|
+
export {
|
|
29
|
+
PresenterSettings_default as default
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=PresenterSettings-H3ELNHGX.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,105 @@
|
|
|
1
|
+
import {
|
|
2
|
+
PresenterCapabilities,
|
|
3
|
+
PresenterOperation
|
|
4
|
+
} from "./chunk-PBH33Y3O.mjs";
|
|
5
|
+
import {
|
|
6
|
+
meta
|
|
7
|
+
} from "./chunk-PYBNNNNK.mjs";
|
|
8
|
+
|
|
9
|
+
// src/capabilities/app-graph-builder/app-graph-builder.ts
|
|
10
|
+
import * as Effect from "effect/Effect";
|
|
11
|
+
import * as Option from "effect/Option";
|
|
12
|
+
import { Capabilities, Capability } from "@dxos/app-framework";
|
|
13
|
+
import { AppCapabilities, COMPANION_PREFIX, LayoutOperation, getObjectPathFromObject, getSpacePath } from "@dxos/app-toolkit";
|
|
14
|
+
import { Obj } from "@dxos/echo";
|
|
15
|
+
import { Collection } from "@dxos/echo";
|
|
16
|
+
import { Operation } from "@dxos/operation";
|
|
17
|
+
import { DeckCapabilities } from "@dxos/plugin-deck";
|
|
18
|
+
import { DeckOperation, PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
|
|
19
|
+
import { GraphBuilder, NodeMatcher } from "@dxos/plugin-graph";
|
|
20
|
+
import { Markdown } from "@dxos/plugin-markdown/types";
|
|
21
|
+
var whenPresentable = (node) => Option.orElse(NodeMatcher.whenEchoType(Collection.Collection)(node), () => NodeMatcher.whenEchoType(Markdown.Document)(node));
|
|
22
|
+
var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function* () {
|
|
23
|
+
const capabilities = yield* Capability.Service;
|
|
24
|
+
const extensions = yield* GraphBuilder.createExtension({
|
|
25
|
+
id: `${meta.id}.root`,
|
|
26
|
+
// TODO(wittjosiah): This is a hack to work around presenter previously relying on "variant". Remove.
|
|
27
|
+
match: whenPresentable,
|
|
28
|
+
connector: (object, get) => {
|
|
29
|
+
const settingsAtom = capabilities.get(PresenterCapabilities.Settings);
|
|
30
|
+
const settings = get(settingsAtom);
|
|
31
|
+
const isPresentable = settings?.presentCollections ? Obj.instanceOf(Collection.Collection, object) || Obj.instanceOf(Markdown.Document, object) : Obj.instanceOf(Markdown.Document, object);
|
|
32
|
+
if (!isPresentable) {
|
|
33
|
+
return Effect.succeed([]);
|
|
34
|
+
}
|
|
35
|
+
return Effect.succeed([
|
|
36
|
+
{
|
|
37
|
+
id: `${COMPANION_PREFIX}presenter`,
|
|
38
|
+
data: {
|
|
39
|
+
type: meta.id,
|
|
40
|
+
object
|
|
41
|
+
},
|
|
42
|
+
type: PLANK_COMPANION_TYPE,
|
|
43
|
+
properties: {
|
|
44
|
+
label: "Presenter",
|
|
45
|
+
icon: "ph--presentation--regular",
|
|
46
|
+
disposition: "hidden"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
]);
|
|
50
|
+
},
|
|
51
|
+
actions: (object, get) => {
|
|
52
|
+
const settingsAtom = capabilities.get(PresenterCapabilities.Settings);
|
|
53
|
+
const settings = get(settingsAtom);
|
|
54
|
+
const isPresentable = settings?.presentCollections ? Obj.instanceOf(Collection.Collection, object) || Obj.instanceOf(Markdown.Document, object) : Obj.instanceOf(Markdown.Document, object);
|
|
55
|
+
const db = Obj.getDatabase(object);
|
|
56
|
+
if (!isPresentable || !db) {
|
|
57
|
+
return Effect.succeed([]);
|
|
58
|
+
}
|
|
59
|
+
const objectPath = getObjectPathFromObject(object);
|
|
60
|
+
return Effect.succeed([
|
|
61
|
+
{
|
|
62
|
+
id: PresenterOperation.TogglePresentation.meta.key,
|
|
63
|
+
// TODO(burdon): Allow function so can generate state when activated.
|
|
64
|
+
// So can set explicit fullscreen state coordinated with current presenter state.
|
|
65
|
+
data: Effect.fnUntraced(function* () {
|
|
66
|
+
const deckState = yield* Capabilities.getAtomValue(DeckCapabilities.State);
|
|
67
|
+
const deck = deckState.decks[deckState.activeDeck];
|
|
68
|
+
const presenterId = `${objectPath}/${COMPANION_PREFIX}presenter`;
|
|
69
|
+
if (!deck?.fullscreen) {
|
|
70
|
+
yield* Operation.invoke(DeckOperation.Adjust, {
|
|
71
|
+
type: "solo--fullscreen",
|
|
72
|
+
id: presenterId
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
yield* Operation.invoke(LayoutOperation.Open, {
|
|
76
|
+
subject: [
|
|
77
|
+
presenterId
|
|
78
|
+
],
|
|
79
|
+
workspace: getSpacePath(db.spaceId)
|
|
80
|
+
});
|
|
81
|
+
}),
|
|
82
|
+
properties: {
|
|
83
|
+
label: [
|
|
84
|
+
"toggle presentation label",
|
|
85
|
+
{
|
|
86
|
+
ns: meta.id
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
icon: "ph--presentation--regular",
|
|
90
|
+
disposition: "list-item",
|
|
91
|
+
keyBinding: {
|
|
92
|
+
macos: "shift+meta+p",
|
|
93
|
+
windows: "shift+alt+p"
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
]);
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
|
|
101
|
+
}));
|
|
102
|
+
export {
|
|
103
|
+
app_graph_builder_default as default
|
|
104
|
+
};
|
|
105
|
+
//# sourceMappingURL=app-graph-builder-T2BJ5XUZ.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 COMPANION_PREFIX,\n LayoutOperation,\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 { DeckOperation, PLANK_COMPANION_TYPE } from '@dxos/plugin-deck/types';\nimport { GraphBuilder, type Node, NodeMatcher } from '@dxos/plugin-graph';\nimport { Markdown } from '@dxos/plugin-markdown/types';\n\nimport { meta } from '../../meta';\nimport { PresenterCapabilities, PresenterOperation } 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: `${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: `${COMPANION_PREFIX}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 = `${objectPath}/${COMPANION_PREFIX}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", "COMPANION_PREFIX", "LayoutOperation", "getObjectPathFromObject", "getSpacePath", "Obj", "Collection", "Operation", "DeckCapabilities", "DeckOperation", "PLANK_COMPANION_TYPE", "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", "COMPANION_PREFIX", "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", "fullscreen", "Operation", "invoke", "DeckOperation", "Adjust", "LayoutOperation", "Open", "subject", "workspace", "getSpacePath", "spaceId", "ns", "keyBinding", "macos", "windows", "contributes", "AppCapabilities", "AppGraphBuilder"]
|
|
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/types";
|
|
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-GQBEHCZW.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/types';\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,50 @@
|
|
|
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
|
+
import { Collection } from "@dxos/echo";
|
|
10
|
+
import { Operation } from "@dxos/operation";
|
|
11
|
+
import { Markdown } from "@dxos/plugin-markdown/types";
|
|
12
|
+
var PRESENTER_OPERATION = `${meta.id}.operation`;
|
|
13
|
+
(function(PresenterOperation2) {
|
|
14
|
+
PresenterOperation2.TogglePresentation = Operation.make({
|
|
15
|
+
meta: {
|
|
16
|
+
key: `${PRESENTER_OPERATION}.toggle-presentation`,
|
|
17
|
+
name: "Toggle Presentation"
|
|
18
|
+
},
|
|
19
|
+
schema: {
|
|
20
|
+
input: Schema.Struct({
|
|
21
|
+
object: Schema.Union(Markdown.Document, Collection.Collection),
|
|
22
|
+
state: Schema.optional(Schema.Boolean)
|
|
23
|
+
}),
|
|
24
|
+
output: Schema.Void
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
})(PresenterOperation || (PresenterOperation = {}));
|
|
28
|
+
var PresenterContext = createContext({
|
|
29
|
+
running: false,
|
|
30
|
+
start: () => {
|
|
31
|
+
},
|
|
32
|
+
stop: () => {
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
var PresenterSettingsSchema = Schema.mutable(Schema.Struct({
|
|
36
|
+
presentCollections: Schema.optional(Schema.Boolean)
|
|
37
|
+
}));
|
|
38
|
+
(function(PresenterCapabilities2) {
|
|
39
|
+
PresenterCapabilities2.Settings = Capability.make(`${meta.id}.capability.settings`);
|
|
40
|
+
})(PresenterCapabilities || (PresenterCapabilities = {}));
|
|
41
|
+
var PresenterOperation;
|
|
42
|
+
var PresenterCapabilities;
|
|
43
|
+
|
|
44
|
+
export {
|
|
45
|
+
PresenterContext,
|
|
46
|
+
PresenterSettingsSchema,
|
|
47
|
+
PresenterOperation,
|
|
48
|
+
PresenterCapabilities
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=chunk-PBH33Y3O.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';\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 namespace PresenterOperation {\n export const TogglePresentation = Operation.make({\n meta: { key: `${PRESENTER_OPERATION}.toggle-presentation`, name: 'Toggle Presentation' },\n schema: {\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}\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;AAC3B,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AAIzB,IAAMC,sBAAsB,GAAGC,KAAKC,EAAE;UAGrBC,qBAAAA;sBACFC,qBAAqBC,UAAUC,KAAK;IAC/CL,MAAM;MAAEM,KAAK,GAAGP,mBAAAA;MAA2CQ,MAAM;IAAsB;IACvFC,QAAQ;MACNC,OAAcC,cAAO;QACnBC,QAAeC,aAAMC,SAASC,UAAUC,WAAWA,UAAU;QAC7DC,OAAcC,gBAAgBC,cAAO;MACvC,CAAA;MACAC,QAAeC;IACjB;EACF,CAAA;AACF,GAXiBlB,uBAAAA,qBAAAA,CAAAA,EAAAA;AAmBV,IAAMmB,mBAAkDC,cAAoC;EACjGC,SAAS;EACTC,OAAO,MAAA;EAAO;EACdC,MAAM,MAAA;EAAO;AACf,CAAA;AAEO,IAAMC,0BAAiCC,eACrCjB,cAAO;EACZkB,oBAA2BX,gBAAgBC,cAAO;AACpD,CAAA,CAAA;UAKeW,wBAAAA;yBACFC,WAAWC,WAAW1B,KAA4C,GAAGL,KAAKC,EAAE,sBAAsB;AACjH,GAFiB4B,0BAAAA,wBAAAA,CAAAA,EAAAA;;;",
|
|
6
|
+
"names": ["Schema", "createContext", "Capability", "Collection", "Operation", "Markdown", "PRESENTER_OPERATION", "meta", "id", "PresenterOperation", "TogglePresentation", "Operation", "make", "key", "name", "schema", "input", "Struct", "object", "Union", "Markdown", "Document", "Collection", "state", "optional", "Boolean", "output", "Void", "PresenterContext", "createContext", "running", "start", "stop", "PresenterSettingsSchema", "mutable", "presentCollections", "PresenterCapabilities", "Settings", "Capability"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// src/meta.ts
|
|
2
|
+
import { trim } from "@dxos/util";
|
|
3
|
+
var meta = {
|
|
4
|
+
id: "org.dxos.plugin.presenter",
|
|
5
|
+
name: "Presenter",
|
|
6
|
+
description: trim`
|
|
7
|
+
Transform markdown documents into interactive presentation slideshows.
|
|
8
|
+
Navigate between slides with keyboard controls and present content in full-screen mode.
|
|
9
|
+
`,
|
|
10
|
+
icon: "ph--presentation--regular",
|
|
11
|
+
iconHue: "indigo",
|
|
12
|
+
source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-presenter"
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export {
|
|
16
|
+
meta
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=chunk-PYBNNNNK.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 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: '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,aAAaC;;;;EAIbC,MAAM;EACNC,SAAS;EACTC,QAAQ;AACV;",
|
|
6
|
+
"names": ["trim", "meta", "id", "name", "description", "trim", "icon", "iconHue", "source"]
|
|
7
|
+
}
|