@dxos/plugin-presenter 0.8.4-main.4a85c3132b → 0.8.4-main.51f1e5ca51
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/PresenterSettings-2G4XD4QY.mjs +25 -0
- package/dist/lib/browser/PresenterSettings-2G4XD4QY.mjs.map +7 -0
- package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +507 -37
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/operations/index.mjs +30 -0
- package/dist/lib/browser/operations/index.mjs.map +7 -0
- package/dist/lib/browser/translations.mjs +19 -0
- package/dist/lib/browser/translations.mjs.map +7 -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.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.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/operations/definitions.d.ts +17 -0
- package/dist/types/src/operations/definitions.d.ts.map +1 -0
- package/dist/types/src/operations/index.d.ts +2 -0
- package/dist/types/src/operations/index.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/Settings.d.ts +7 -0
- package/dist/types/src/types/Settings.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +15 -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 +51 -32
- package/src/PresenterPlugin.tsx +3 -3
- package/src/capabilities/{app-graph-builder/app-graph-builder.ts → app-graph-builder.ts} +22 -24
- 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 +2 -1
- package/src/containers/DocumentPresenterContainer/index.ts +1 -3
- package/src/containers/MarkdownSlide/MarkdownSlide.tsx +3 -3
- package/src/containers/MarkdownSlide/index.ts +1 -3
- package/src/containers/index.ts +0 -1
- package/src/meta.ts +1 -1
- package/src/operations/definitions.ts +23 -0
- package/src/operations/index.ts +5 -0
- package/src/testing.ts +6 -6
- package/src/translations.ts +4 -5
- package/src/types/Settings.ts +20 -0
- package/src/types/index.ts +30 -0
- package/src/useExitPresenter.ts +9 -7
- package/dist/lib/browser/CollectionPresenterContainer-5RJIT3DA.mjs +0 -52
- package/dist/lib/browser/CollectionPresenterContainer-5RJIT3DA.mjs.map +0 -7
- package/dist/lib/browser/DocumentPresenterContainer-ISD6N5FM.mjs +0 -28
- 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 +0 -113
- package/dist/lib/browser/app-graph-builder-LNUGLW3H.mjs.map +0 -7
- package/dist/lib/browser/chunk-46CHA6Y5.mjs +0 -41
- package/dist/lib/browser/chunk-46CHA6Y5.mjs.map +0 -7
- package/dist/lib/browser/chunk-BHTOR7TG.mjs +0 -485
- 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/chunk-VQVZVXPJ.mjs +0 -18
- package/dist/lib/browser/chunk-VQVZVXPJ.mjs.map +0 -7
- 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 +0 -32
- 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,23 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Container,
|
|
3
|
-
Slide
|
|
4
|
-
} from "./chunk-BHTOR7TG.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(Container, 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-Q2XLZTMW.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
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 { Container, 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 <Container>\n <Slide content={content} />\n </Container>\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,WAAAA,MACC,sBAAA,cAACC,OAAAA;IAAMH;;AAGb;;;ACnBA,IAAA,wBAAeI;",
|
|
6
|
-
"names": ["React", "MarkdownSlide", "document", "content", "target", "Container", "Slide", "MarkdownSlide"]
|
|
7
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
meta
|
|
3
|
-
} from "./chunk-VQVZVXPJ.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-WGQMXH4I.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
PresenterCapabilities,
|
|
3
|
-
PresenterOperation
|
|
4
|
-
} from "./chunk-PSOOAW44.mjs";
|
|
5
|
-
import {
|
|
6
|
-
meta
|
|
7
|
-
} from "./chunk-VQVZVXPJ.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, LayoutOperation } 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 { ATTENDABLE_PATH_SEPARATOR, DeckOperation } 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
|
-
const id = Obj.getDXN(object).toString();
|
|
36
|
-
return Effect.succeed([
|
|
37
|
-
{
|
|
38
|
-
id: [
|
|
39
|
-
id,
|
|
40
|
-
"presenter"
|
|
41
|
-
].join(ATTENDABLE_PATH_SEPARATOR),
|
|
42
|
-
data: {
|
|
43
|
-
type: meta.id,
|
|
44
|
-
object
|
|
45
|
-
},
|
|
46
|
-
type: meta.id,
|
|
47
|
-
properties: {
|
|
48
|
-
label: "Presenter",
|
|
49
|
-
icon: "ph--presentation--regular",
|
|
50
|
-
disposition: "hidden"
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
]);
|
|
54
|
-
},
|
|
55
|
-
actions: (object, get) => {
|
|
56
|
-
const settingsAtom = capabilities.get(PresenterCapabilities.Settings);
|
|
57
|
-
const settings = get(settingsAtom);
|
|
58
|
-
const isPresentable = settings?.presentCollections ? Obj.instanceOf(Collection.Collection, object) || Obj.instanceOf(Markdown.Document, object) : Obj.instanceOf(Markdown.Document, object);
|
|
59
|
-
if (!isPresentable) {
|
|
60
|
-
return Effect.succeed([]);
|
|
61
|
-
}
|
|
62
|
-
const dxn = Obj.getDXN(object);
|
|
63
|
-
const id = dxn.toString();
|
|
64
|
-
const { spaceId } = dxn.asEchoDXN();
|
|
65
|
-
return Effect.succeed([
|
|
66
|
-
{
|
|
67
|
-
id: `${PresenterOperation.TogglePresentation.meta.key}/${id}`,
|
|
68
|
-
// TODO(burdon): Allow function so can generate state when activated.
|
|
69
|
-
// So can set explicit fullscreen state coordinated with current presenter state.
|
|
70
|
-
data: Effect.fnUntraced(function* () {
|
|
71
|
-
const deckState = yield* Capabilities.getAtomValue(DeckCapabilities.State);
|
|
72
|
-
const deck = deckState.decks[deckState.activeDeck];
|
|
73
|
-
const presenterId = [
|
|
74
|
-
id,
|
|
75
|
-
"presenter"
|
|
76
|
-
].join(ATTENDABLE_PATH_SEPARATOR);
|
|
77
|
-
if (!deck?.fullscreen) {
|
|
78
|
-
yield* Operation.invoke(DeckOperation.Adjust, {
|
|
79
|
-
type: "solo--fullscreen",
|
|
80
|
-
id: presenterId
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
yield* Operation.invoke(LayoutOperation.Open, {
|
|
84
|
-
subject: [
|
|
85
|
-
presenterId
|
|
86
|
-
],
|
|
87
|
-
workspace: spaceId
|
|
88
|
-
});
|
|
89
|
-
}),
|
|
90
|
-
properties: {
|
|
91
|
-
label: [
|
|
92
|
-
"toggle presentation label",
|
|
93
|
-
{
|
|
94
|
-
ns: meta.id
|
|
95
|
-
}
|
|
96
|
-
],
|
|
97
|
-
icon: "ph--presentation--regular",
|
|
98
|
-
disposition: "list-item",
|
|
99
|
-
keyBinding: {
|
|
100
|
-
macos: "shift+meta+p",
|
|
101
|
-
windows: "shift+alt+p"
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
]);
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
|
|
109
|
-
}));
|
|
110
|
-
export {
|
|
111
|
-
app_graph_builder_default as default
|
|
112
|
-
};
|
|
113
|
-
//# sourceMappingURL=app-graph-builder-LNUGLW3H.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
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 { AppCapabilities, LayoutOperation } 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 { ATTENDABLE_PATH_SEPARATOR, DeckOperation } 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 const id = Obj.getDXN(object).toString();\n return Effect.succeed([\n {\n id: [id, 'presenter'].join(ATTENDABLE_PATH_SEPARATOR),\n data: { type: meta.id, object },\n type: meta.id,\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 if (!isPresentable) {\n return Effect.succeed([]);\n }\n const dxn = Obj.getDXN(object);\n const id = dxn.toString();\n const { spaceId } = dxn.asEchoDXN()!;\n return Effect.succeed([\n {\n id: `${PresenterOperation.TogglePresentation.meta.key}/${id}`,\n // TODO(burdon): Allow function so can generate state when activated.\n // So can set explicit fullscreen state coordinated with current presenter state.\n data: Effect.fnUntraced(function* () {\n const deckState = yield* Capabilities.getAtomValue(DeckCapabilities.State);\n const deck = deckState.decks[deckState.activeDeck];\n const presenterId = [id, 'presenter'].join(ATTENDABLE_PATH_SEPARATOR);\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: spaceId,\n });\n }),\n properties: {\n label: ['toggle presentation label', { ns: meta.id }],\n icon: 'ph--presentation--regular',\n disposition: 'list-item',\n keyBinding: {\n macos: 'shift+meta+p',\n windows: 'shift+alt+p',\n },\n },\n },\n ]);\n },\n });\n\n return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);\n }),\n);\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["Effect", "Option", "Capabilities", "Capability", "AppCapabilities", "LayoutOperation", "Obj", "Collection", "Operation", "DeckCapabilities", "ATTENDABLE_PATH_SEPARATOR", "DeckOperation", "GraphBuilder", "NodeMatcher", "Markdown", "whenPresentable", "node", "orElse", "NodeMatcher", "whenEchoType", "Collection", "Markdown", "Document", "Capability", "makeModule", "fnUntraced", "capabilities", "Service", "extensions", "GraphBuilder", "createExtension", "id", "meta", "match", "connector", "object", "get", "settingsAtom", "PresenterCapabilities", "Settings", "settings", "isPresentable", "presentCollections", "Obj", "instanceOf", "succeed", "getDXN", "toString", "join", "ATTENDABLE_PATH_SEPARATOR", "data", "type", "properties", "label", "icon", "disposition", "actions", "dxn", "spaceId", "asEchoDXN", "PresenterOperation", "TogglePresentation", "key", "deckState", "Capabilities", "getAtomValue", "DeckCapabilities", "State", "deck", "decks", "activeDeck", "presenterId", "fullscreen", "Operation", "invoke", "DeckOperation", "Adjust", "LayoutOperation", "Open", "subject", "workspace", "ns", "keyBinding", "macos", "windows", "contributes", "AppCapabilities", "AppGraphBuilder"]
|
|
7
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
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 } 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 objectId = Obj.getDXN(object).toString();
|
|
19
|
-
if (deck?.fullscreen) {
|
|
20
|
-
void invokePromise(DeckOperation.Adjust, {
|
|
21
|
-
type: "solo--fullscreen",
|
|
22
|
-
id: objectId
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
return invokePromise(LayoutOperation.Open, {
|
|
26
|
-
subject: [
|
|
27
|
-
objectId
|
|
28
|
-
],
|
|
29
|
-
workspace: Obj.getDatabase(object)?.spaceId
|
|
30
|
-
});
|
|
31
|
-
}, [
|
|
32
|
-
invokePromise,
|
|
33
|
-
object,
|
|
34
|
-
deck
|
|
35
|
-
]);
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
export {
|
|
39
|
-
useExitPresenter
|
|
40
|
-
};
|
|
41
|
-
//# sourceMappingURL=chunk-46CHA6Y5.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
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 } 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 objectId = Obj.getDXN(object).toString();\n if (deck?.fullscreen) {\n void invokePromise(DeckOperation.Adjust, {\n type: 'solo--fullscreen',\n id: objectId,\n });\n }\n return invokePromise(LayoutOperation.Open, {\n subject: [objectId],\n workspace: Obj.getDatabase(object)?.spaceId,\n });\n }, [invokePromise, object, deck]);\n};\n"],
|
|
5
|
-
"mappings": ";AAIA,SAASA,oBAAoB;AAC7B,SAASC,aAAaC,eAAe;AAErC,SAASC,eAAeC,2BAA2B;AACnD,SAASC,uBAAuB;AAChC,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,WAAWC,IAAIC,OAAOhB,MAAAA,EAAQiB,SAAQ;AAC5C,QAAIR,MAAMS,YAAY;AACpB,WAAKjB,cAAckB,cAAcC,QAAQ;QACvCC,MAAM;QACNC,IAAIR;MACN,CAAA;IACF;AACA,WAAOb,cAAcsB,gBAAgBC,MAAM;MACzCC,SAAS;QAACX;;MACVY,WAAWX,IAAIY,YAAY3B,MAAAA,GAAS4B;IACtC,CAAA;EACF,GAAG;IAAC3B;IAAeD;IAAQS;GAAK;AAClC;",
|
|
6
|
-
"names": ["useAtomValue", "useCallback", "useMemo", "useCapability", "useOperationInvoker", "LayoutOperation", "Obj", "DeckCapabilities", "DeckOperation", "useExitPresenter", "object", "invokePromise", "useOperationInvoker", "stateAtom", "useCapability", "DeckCapabilities", "State", "state", "useAtomValue", "deck", "useMemo", "decks", "activeDeck", "useCallback", "objectId", "Obj", "getDXN", "toString", "fullscreen", "DeckOperation", "Adjust", "type", "id", "LayoutOperation", "Open", "subject", "workspace", "getDatabase", "spaceId"]
|
|
7
|
-
}
|