@dxos/plugin-presenter 0.8.4-main.c1de068 → 0.8.4-main.f5c0578
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-GH4GIA6P.mjs → CollectionPresenterContainer-OUCNLVND.mjs} +4 -4
- package/dist/lib/browser/CollectionPresenterContainer-OUCNLVND.mjs.map +7 -0
- package/dist/lib/browser/{DocumentPresenterContainer-E7RGK572.mjs → DocumentPresenterContainer-THZU5S4O.mjs} +2 -2
- package/dist/lib/browser/DocumentPresenterContainer-THZU5S4O.mjs.map +7 -0
- package/dist/lib/browser/{MarkdownSlide-QHC3GZII.mjs → MarkdownSlide-KG7ESCSU.mjs} +1 -1
- package/dist/lib/browser/MarkdownSlide-KG7ESCSU.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-2ZLAWPF2.mjs → app-graph-builder-GXESSA7Q.mjs} +5 -5
- package/dist/lib/browser/app-graph-builder-GXESSA7Q.mjs.map +7 -0
- package/dist/lib/browser/{chunk-YYPOO6XK.mjs → chunk-RDCZJT62.mjs} +4 -4
- package/dist/lib/browser/{chunk-TANLITL2.mjs → chunk-UVGTHJUO.mjs} +2 -2
- package/dist/lib/browser/{chunk-TANLITL2.mjs.map → chunk-UVGTHJUO.mjs.map} +2 -2
- package/dist/lib/browser/{chunk-SW3HIRDA.mjs → chunk-W4IR3DJE.mjs} +3 -3
- package/dist/lib/browser/chunk-W4IR3DJE.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +5 -5
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-GQSVWJBG.mjs → react-surface-H3L7Y3ED.mjs} +5 -5
- package/dist/lib/browser/react-surface-H3L7Y3ED.mjs.map +7 -0
- package/dist/lib/browser/{settings-X7M27QCY.mjs → settings-VQVVDAGY.mjs} +2 -2
- package/dist/lib/browser/{settings-X7M27QCY.mjs.map → settings-VQVVDAGY.mjs.map} +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/components/CollectionPresenterContainer.d.ts.map +1 -1
- package/dist/types/src/components/DocumentPresenterContainer.d.ts +2 -2
- package/dist/types/src/components/DocumentPresenterContainer.d.ts.map +1 -1
- package/dist/types/src/components/Markdown/Container.stories.d.ts.map +1 -1
- package/dist/types/src/components/Markdown/Slide.stories.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownSlide.d.ts +2 -2
- package/dist/types/src/components/MarkdownSlide.d.ts.map +1 -1
- package/dist/types/src/components/RevealPlayer/RevealPlayer.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +2 -2
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +26 -25
- package/src/PresenterPlugin.tsx +1 -1
- package/src/capabilities/app-graph-builder.ts +4 -4
- package/src/capabilities/react-surface.tsx +6 -6
- package/src/capabilities/settings.ts +1 -1
- package/src/components/CollectionPresenterContainer.tsx +2 -1
- package/src/components/DocumentPresenterContainer.tsx +4 -3
- package/src/components/Markdown/Container.stories.tsx +2 -1
- package/src/components/Markdown/Slide.stories.tsx +2 -1
- package/src/components/MarkdownSlide.tsx +2 -2
- package/src/components/Presenter/Pager.tsx +1 -1
- package/src/components/RevealPlayer/RevealPlayer.stories.tsx +2 -1
- package/src/types.ts +2 -2
- package/src/useExitPresenter.ts +1 -1
- package/dist/lib/browser/CollectionPresenterContainer-GH4GIA6P.mjs.map +0 -7
- package/dist/lib/browser/DocumentPresenterContainer-E7RGK572.mjs.map +0 -7
- package/dist/lib/browser/MarkdownSlide-QHC3GZII.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-2ZLAWPF2.mjs.map +0 -7
- package/dist/lib/browser/chunk-SW3HIRDA.mjs.map +0 -7
- package/dist/lib/browser/react-surface-GQSVWJBG.mjs.map +0 -7
- /package/dist/lib/browser/{chunk-YYPOO6XK.mjs.map → chunk-RDCZJT62.mjs.map} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
useExitPresenter
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-UVGTHJUO.mjs";
|
|
4
4
|
import {
|
|
5
5
|
PresenterContext
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-W4IR3DJE.mjs";
|
|
7
7
|
import "./chunk-VSD5LSE5.mjs";
|
|
8
8
|
|
|
9
9
|
// src/components/CollectionPresenterContainer.tsx
|
|
@@ -42,7 +42,7 @@ var Layout = ({ children, classNames, topLeft, topRight, bottomLeft, bottomRight
|
|
|
42
42
|
// src/components/Presenter/Pager.tsx
|
|
43
43
|
import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
|
|
44
44
|
import React2, { useEffect } from "react";
|
|
45
|
-
import { Button,
|
|
45
|
+
import { Button, Icon, useControlledState } from "@dxos/react-ui";
|
|
46
46
|
var Pager = ({ index: controlledIndex = 0, count = 0, keys, onChange, onExit }) => {
|
|
47
47
|
var _effect = _useSignals2();
|
|
48
48
|
try {
|
|
@@ -188,4 +188,4 @@ var CollectionPresenterContainer_default = CollectionPresenterContainer;
|
|
|
188
188
|
export {
|
|
189
189
|
CollectionPresenterContainer_default as default
|
|
190
190
|
};
|
|
191
|
-
//# sourceMappingURL=CollectionPresenterContainer-
|
|
191
|
+
//# sourceMappingURL=CollectionPresenterContainer-OUCNLVND.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/CollectionPresenterContainer.tsx", "../../../src/components/Presenter/Layout.tsx", "../../../src/components/Presenter/Pager.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type FC, useContext, useState } from 'react';\n\nimport { Surface } from '@dxos/app-framework';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { type DataType } from '@dxos/schema';\n\nimport { PresenterContext } from '../types';\nimport { useExitPresenter } from '../useExitPresenter';\n\nimport { Layout, PageNumber, Pager } from './Presenter';\n\nconst CollectionPresenterContainer: FC<{ collection: DataType.Collection }> = ({ collection }) => {\n const [slide, setSlide] = useState(0);\n\n const { running } = useContext(PresenterContext);\n\n const handleExit = useExitPresenter(collection);\n\n return (\n <StackItem.Content classNames='relative'>\n <Layout\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 {/* TODO(wittjosiah): Better slide placeholder. */}\n <Surface role='slide' data={{ subject: collection.objects[slide] }} placeholder={<></>} />\n </Layout>\n </StackItem.Content>\n );\n};\n\nexport default CollectionPresenterContainer;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type PropsWithChildren, type ReactNode } from 'react';\n\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { mx } from '@dxos/react-ui-theme';\n\nexport type LayoutProps = ThemedClassName<\n PropsWithChildren<{\n className?: string;\n topLeft?: ReactNode;\n topRight?: ReactNode;\n bottomLeft?: ReactNode;\n bottomRight?: ReactNode;\n }>\n>;\n\nexport const Layout = ({ children, classNames, topLeft, topRight, bottomLeft, bottomRight }: LayoutProps) => {\n return (\n <div className={mx('flex grow relative overflow-hidden bg-attention', classNames)}>\n <div className={mx('flex flex-col grow overflow-hidden')}>{children}</div>\n\n <div className='z-[200]'>\n <div className='absolute top-4 left-4'>{topLeft}</div>\n <div className='absolute top-4 right-4'>{topRight}</div>\n <div className='absolute bottom-4 left-4'>{bottomLeft}</div>\n <div className='absolute bottom-4 right-4'>{bottomRight}</div>\n </div>\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useEffect } from 'react';\n\nimport { Button, Icon, useControlledState } from '@dxos/react-ui';\n\nexport type PagerProps = {\n index?: number;\n count?: number;\n keys?: boolean; // TODO(burdon): Rename.\n onChange?: (index: number) => void;\n onExit?: () => void;\n};\n\nexport const Pager = ({ index: controlledIndex = 0, count = 0, keys, onChange, onExit }: PagerProps) => {\n const [index, setIndex] = useControlledState(controlledIndex);\n useEffect(() => {\n onChange?.(index);\n }, [index]);\n\n const handleChangeIndex = (dir: number) => {\n setIndex((index) => {\n const next = index + dir;\n return next >= 0 && next < count ? next : index;\n });\n };\n\n // TODO(burdon): Standardize via system key binding.\n useEffect(() => {\n if (!keys) {\n return;\n }\n\n const keydownHandler = (event: KeyboardEvent) => {\n switch (event.key) {\n case 'Escape': {\n onExit?.();\n break;\n }\n case 'ArrowLeft': {\n if (event.shiftKey) {\n onChange?.(0);\n } else {\n handleChangeIndex(-1);\n }\n break;\n }\n case 'ArrowRight': {\n if (event.shiftKey) {\n onChange?.(count - 1);\n } else {\n handleChangeIndex(1);\n }\n break;\n }\n case 'ArrowUp': {\n onChange?.(0);\n break;\n }\n case 'ArrowDown': {\n onChange?.(count - 1);\n break;\n }\n }\n };\n\n window.addEventListener('keydown', keydownHandler);\n return () => window.removeEventListener('keydown', keydownHandler);\n }, [keys, count]);\n\n if (index === undefined || !count) {\n return null;\n }\n\n return (\n <div className='flex items-center text-neutral-500'>\n <Button variant='ghost' classNames='p-0' onClick={() => onChange?.(0)}>\n <Icon icon='ph--caret-double-left--regular' size={6} />\n </Button>\n <Button variant='ghost' classNames='p-0' onClick={() => handleChangeIndex(-1)}>\n <Icon icon='ph--caret-left--regular' size={6} />\n </Button>\n <Button variant='ghost' classNames='p-0' onClick={() => handleChangeIndex(1)}>\n <Icon icon='ph--caret-right--regular' size={6} />\n </Button>\n <Button variant='ghost' classNames='p-0' onClick={() => onChange?.(count - 1)}>\n <Icon icon='ph--caret-double-right--regular' size={6} />\n </Button>\n </div>\n );\n};\n\nexport type PageNumberProps = {\n index?: number;\n count?: number;\n};\n\nexport const PageNumber = ({ index = 0, count = 1 }: PageNumberProps) => {\n if (index === undefined || !count) {\n return null;\n }\n\n return (\n <div className='flex items-center text-neutral-500 text-2xl'>\n <div>\n {index + 1} / {count}\n </div>\n </div>\n );\n};\n\nexport const StartButton = ({ running, onClick }: { running?: boolean; onClick?: (start: boolean) => void }) => {\n return (\n <Button variant='ghost' classNames='p-0' onClick={() => onClick?.(!running)}>\n {(running && <Icon icon='ph--x--regular' size={6} />) || <Icon icon='ph--play--regular' size={6} />}\n </Button>\n );\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "useContext", "useState", "Surface", "StackItem", "React", "mx", "Layout", "children", "classNames", "topLeft", "topRight", "bottomLeft", "bottomRight", "div", "className", "mx", "React", "useEffect", "Button", "Icon", "useControlledState", "Pager", "index", "controlledIndex", "count", "keys", "onChange", "onExit", "setIndex", "useControlledState", "useEffect", "handleChangeIndex", "dir", "next", "keydownHandler", "event", "key", "shiftKey", "window", "addEventListener", "removeEventListener", "undefined", "React", "div", "className", "Button", "variant", "classNames", "onClick", "Icon", "icon", "size", "PageNumber", "CollectionPresenterContainer", "collection", "slide", "setSlide", "useState", "running", "useContext", "PresenterContext", "handleExit", "useExitPresenter", "React", "StackItem", "Content", "classNames", "Layout", "bottomRight", "PageNumber", "index", "count", "objects", "length", "bottomLeft", "Pager", "keys", "onChange", "onExit", "Surface", "role", "data", "subject", "placeholder"]
|
|
7
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
useExitPresenter
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-UVGTHJUO.mjs";
|
|
4
4
|
|
|
5
5
|
// src/components/DocumentPresenterContainer.tsx
|
|
6
6
|
import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
|
|
@@ -182,4 +182,4 @@ var DocumentPresenterContainer_default = DocumentPresenterContainer;
|
|
|
182
182
|
export {
|
|
183
183
|
DocumentPresenterContainer_default as default
|
|
184
184
|
};
|
|
185
|
-
//# sourceMappingURL=DocumentPresenterContainer-
|
|
185
|
+
//# sourceMappingURL=DocumentPresenterContainer-THZU5S4O.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/DocumentPresenterContainer.tsx", "../../../src/components/RevealPlayer/RevealPlayer.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\nimport React, { type FC } from 'react';\n\nimport { type Markdown } from '@dxos/plugin-markdown/types';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { useExitPresenter } from '../useExitPresenter';\n\nimport { RevealPlayer } from './RevealPlayer';\n\nconst DocumentPresenterContainer: FC<{ document: Markdown.Document }> = ({ document }) => {\n const handleExit = useExitPresenter(document);\n\n return (\n <StackItem.Content classNames='relative'>\n <RevealPlayer content={document.content.target?.content ?? ''} onExit={handleExit} />\n </StackItem.Content>\n );\n};\n\nexport default DocumentPresenterContainer;\n", "//\n// Copyright 2024 DXOS.org\n//\n\n// eslint-disable-next-line no-restricted-imports\nimport 'reveal.js/dist/reveal.css';\n// eslint-disable-next-line no-restricted-imports\nimport 'reveal.js/dist/theme/black.css';\n\n// https://github.com/highlightjs/highlight.js/tree/main/src/styles\n// import 'highlight.js/styles/github-dark.css';\nimport 'highlight.js/styles/tokyo-night-dark.css';\n\nimport hljs from 'highlight.js';\nimport typescript from 'highlight.js/lib/languages/typescript';\nimport React, { useEffect, useRef } from 'react';\nimport Reveal from 'reveal.js';\nimport RevealHighlight from 'reveal.js/plugin/highlight/highlight';\nimport RevealMarkdown from 'reveal.js/plugin/markdown/plugin.js';\n\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { mx } from '@dxos/react-ui-theme';\n\nconst styles = `\n<style type=\"text/css\">\n .reveal h1 {\n font-weight: 100;\n font-size: 60px;\n opacity: 0.5;\n }\n .reveal h2 {\n font-weight: 100;\n padding-top: 60px;\n padding-left: 40px;\n font-size: 48px;\n opacity: 0.3;\n }\n .reveal h1, h2, p {\n font-family: \"Raleway\", sans-serif;\n text-align: left;\n font-weight: 200;\n }\n .reveal ul {\n font-family: \"Raleway\", sans-serif;\n display: block;\n list-style: \"- \";\n }\n .reveal blockquote p {\n text-align: center;\n font-weight: 100;\n padding: 32px;\n }\n .reveal pre {\n margin-left: 0;\n }\n .reveal code {\n font-size: 20px;\n background: #111111;\n color: #eeeeee;\n max-height: unset !important;\n }\n</style>\n`;\n\nexport type RevealProps = ThemedClassName<{\n content: string;\n slide?: number;\n fullscreen?: boolean;\n onExit?: () => void;\n}>;\n\nexport const RevealPlayer = ({ classNames, content, slide, fullscreen = true, onExit }: RevealProps) => {\n const deckDivRef = useRef<HTMLDivElement>(null);\n const deckRef = useRef<Reveal.Api | null>(null);\n useEffect(() => {\n if (deckRef.current) {\n return;\n }\n\n // Required for syntax highlighting.\n hljs.registerLanguage('typescript', typescript);\n\n const t = setTimeout(async () => {\n // https://revealjs.com/react\n // https://revealjs.com/config\n // https://github.com/hakimel/reveal.js\n // TODO(burdon): Fragments and scroll view steps 2 at a time (safe mode?)\n deckRef.current = new Reveal(deckDivRef.current!, {\n // view: 'scroll',\n progress: false,\n transition: 'none',\n slideNumber: false,\n embedded: true,\n\n // TODO(burdon): Speaker view requires server to serve popout window.\n // https://revealjs.com/speaker-view\n showNotes: false,\n\n // width: 1600,\n // height: 900,\n margin: 0.1,\n // center: false,\n // minScale: 0.1,\n // maxScale: 1.4,\n\n // https://revealjs.com/markdown\n // TODO(burdon): Requires server to serve popout window.\n plugins: [RevealMarkdown, RevealHighlight],\n\n // See https://marked.js.org/using_advanced#options\n markdown: {\n gfm: true,\n smartypants: true,\n highlight: (code, language) => {\n if (language) {\n return hljs.highlight(code, { language }).value;\n }\n\n return hljs.highlightAuto(code).value;\n },\n },\n });\n\n await deckRef.current.initialize();\n\n if (slide !== undefined) {\n deckRef.current.slide(slide < 0 ? deckRef.current?.getTotalSlides() + slide : slide - 1);\n }\n\n deckRef.current.addKeyBinding({ keyCode: 27, key: 'Escape', description: 'Exit full screen' }, () => {\n onExit?.();\n });\n });\n\n return () => {\n try {\n clearTimeout(t);\n if (deckRef.current) {\n deckRef.current.destroy();\n deckRef.current = null;\n }\n } catch (err) {\n // Ignore.\n }\n };\n });\n\n return (\n <div className={mx('absolute flex h-full w-full items-center justify-center', fullscreen && 'inset-0', classNames)}>\n <div className='relative aspect-video w-full'>\n <div ref={deckDivRef} className='reveal'>\n {/* TODO(burdon): Must be in head. */}\n <style>\n <link rel='preconnect' href='https://fonts.googleapis.com' />\n <link rel='preconnect' href='https://fonts.gstatic.com' {...{ crossOrigin: '' }} />\n <link\n rel='stylesheet'\n href='https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&display=swap'\n />\n </style>\n <div className='slides'>\n <div className='!text-center' />\n <section {...{ 'data-markdown': [] }}>\n <textarea {...{ 'data-template': true }} defaultValue={[styles, content].join('\\n')}></textarea>\n </section>\n </div>\n </div>\n </div>\n </div>\n );\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "StackItem", "hljs", "typescript", "React", "useEffect", "useRef", "Reveal", "RevealHighlight", "RevealMarkdown", "mx", "styles", "RevealPlayer", "classNames", "content", "slide", "fullscreen", "onExit", "deckDivRef", "useRef", "deckRef", "useEffect", "current", "hljs", "registerLanguage", "typescript", "t", "setTimeout", "Reveal", "progress", "transition", "slideNumber", "embedded", "showNotes", "margin", "plugins", "RevealMarkdown", "RevealHighlight", "markdown", "gfm", "smartypants", "highlight", "code", "language", "value", "highlightAuto", "initialize", "undefined", "getTotalSlides", "addKeyBinding", "keyCode", "key", "description", "clearTimeout", "destroy", "err", "div", "className", "mx", "ref", "style", "link", "rel", "href", "crossOrigin", "section", "textarea", "defaultValue", "join", "DocumentPresenterContainer", "document", "handleExit", "useExitPresenter", "React", "StackItem", "Content", "classNames", "RevealPlayer", "content", "target", "onExit"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/MarkdownSlide.tsx", "../../../src/components/Markdown/Container.tsx", "../../../src/components/Markdown/Slide.tsx", "../../../src/components/Markdown/theme.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';\n\nimport { Container, Slide } from './Markdown';\n\nconst MarkdownSlide: FC<{ document: Markdown.Document }> = ({ document }) => {\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\nexport default MarkdownSlide;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type PropsWithChildren, useState } from 'react';\nimport { useResizeDetector } from 'react-resize-detector';\n\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { mx } from '@dxos/react-ui-theme';\n\nexport type ContainerProps = ThemedClassName<PropsWithChildren<{}>>;\n\n/**\n * Scaled markdown container.\n */\nexport const Container = ({ children, classNames }: ContainerProps) => {\n const [props, setProps] = useState({});\n const {\n ref: containerRef,\n width,\n height,\n } = useResizeDetector({\n refreshMode: 'debounce',\n refreshRate: 200,\n refreshOptions: {\n leading: true,\n },\n onResize: ({ width, height }) => {\n if (width && height) {\n setProps(createLayoutProps({ width, height }));\n }\n },\n });\n\n // TODO(burdon): Reconcile highlight colors with markdown editor.\n // https://www.npmjs.com/package/react-markdown\n return (\n <div ref={containerRef} className={mx('flex grow relative overflow-hidden bg-attention', classNames)}>\n <div className={mx('flex w-full h-full overflow-hidden absolute')} style={props}>\n {width && height && children}\n </div>\n </div>\n );\n};\n\n/**\n * Compute CSS properties to transform DIV to be full screen.\n *\n * Display resolutions:\n * window.screen.{availWidth, availHeight}\n * 5K Studio 16.2-inch Macbook Pro\n * Max 5120 x 2880 3456 x 2234\n * Default 2560 x 1440 1728 x 1117 (Actual height 1080 - 37 pixel notch)\n * Aspect 1.77 (16/9) 1.54\n */\nconst createLayoutProps = ({ width, height }: { width: number; height: number }) => {\n // Config.\n const aspectRatio = 16 / 9;\n const nominalWidth = 2560;\n const nominalHeight = nominalWidth / aspectRatio;\n\n // NOTE: Hack to detect full height on Macbook Pro due to notch.\n // const macIntelNotch = 1117 - 1080;\n // const fullscreen =\n // height === screen.availHeight ||\n // (window.navigator.platform === 'MacIntel' && height === screen.availHeight - macIntelNotch);\n\n // If not fullscreen then make scale slightly smaller so there's a natural border.\n // const scaleFactor = fullscreen ? 1 : 0.95;\n\n // Compute scaling factor required.\n const scale = Math.min(width / nominalWidth, height / nominalHeight);\n\n return {\n left: (width - nominalWidth) / 2,\n top: (height - nominalHeight) / 2,\n width: nominalWidth,\n height: nominalHeight,\n transform: `scale(${scale})`,\n };\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { h } from 'hastscript';\nimport React from 'react';\nimport ReactMarkdown from 'react-markdown';\nimport addClasses from 'rehype-add-classes';\nimport highlight from 'rehype-highlight';\nimport remarkFrontmatter from 'remark-frontmatter';\nimport remarkParseFrontmatter from 'remark-parse-frontmatter';\n\nimport 'highlight.js/styles/github.css';\n\nimport { theme } from './theme';\n\nexport type SlideProps = {\n content?: string;\n classes?: { [selector: string]: string };\n};\n\nexport const Slide = ({ content = '', classes = theme.nodes }: SlideProps) => {\n // TODO(thure): `rehype-highlight` ends up using `github.css` from `highlight.js`, but this does not appear to be\n // configurable. Find a way to remove the literal stylesheet here.\n return (\n <>\n <style>{`\n.dark pre code.hljs {\n display: block;\n overflow-x: auto;\n padding: 1em\n}\n.dark code.hljs {\n padding: 3px 5px\n}\n/*!\n Theme: GitHub Dark\n Description: Dark theme as seen on github.com\n Author: github.com\n Maintainer: @Hirse\n Updated: 2021-05-15\n\n Outdated base version: https://github.com/primer/github-syntax-dark\n Current colors taken from GitHub's CSS\n*/\n.dark .hljs {\n color: #c9d1d9;\n background: #0d1117\n}\n.dark .hljs-doctag,\n.dark .hljs-keyword,\n.dark .hljs-meta .hljs-keyword,\n.dark .hljs-template-tag,\n.dark .hljs-template-variable,\n.dark .hljs-type,\n.dark .hljs-variable.language_ {\n /* prettylights-syntax-keyword */\n color: #ff7b72\n}\n.dark .hljs-title,\n.dark .hljs-title.class_,\n.dark .hljs-title.class_.inherited__,\n.dark .hljs-title.function_ {\n /* prettylights-syntax-entity */\n color: #d2a8ff\n}\n.dark .hljs-attr,\n.dark .hljs-attribute,\n.dark .hljs-literal,\n.dark .hljs-meta,\n.dark .hljs-number,\n.dark .hljs-operator,\n.dark .hljs-variable,\n.dark .hljs-selector-attr,\n.dark .hljs-selector-class,\n.dark .hljs-selector-id {\n /* prettylights-syntax-constant */\n color: #79c0ff\n}\n.dark .hljs-regexp,\n.dark .hljs-string,\n.dark .hljs-meta .hljs-string {\n /* prettylights-syntax-string */\n color: #a5d6ff\n}\n.dark .hljs-built_in,\n.dark .hljs-symbol {\n /* prettylights-syntax-variable */\n color: #ffa657\n}\n.dark .hljs-comment,\n.dark .hljs-code,\n.dark .hljs-formula {\n /* prettylights-syntax-comment */\n color: #8b949e\n}\n.dark .hljs-name,\n.dark .hljs-quote,\n.dark .hljs-selector-tag,\n.dark .hljs-selector-pseudo {\n /* prettylights-syntax-entity-tag */\n color: #7ee787\n}\n.dark .hljs-subst {\n /* prettylights-syntax-storage-modifier-import */\n color: #c9d1d9\n}\n.dark .hljs-section {\n /* prettylights-syntax-markup-heading */\n color: #1f6feb;\n font-weight: bold\n}\n.dark .hljs-bullet {\n /* prettylights-syntax-markup-list */\n color: #f2cc60\n}\n.dark .hljs-emphasis {\n /* prettylights-syntax-markup-italic */\n color: #c9d1d9;\n font-style: italic\n}\n.dark .hljs-strong {\n /* prettylights-syntax-markup-bold */\n color: #c9d1d9;\n font-weight: bold\n}\n.dark .hljs-addition {\n /* prettylights-syntax-markup-inserted */\n color: #aff5b4;\n background-color: #033a16\n}\n.dark .hljs-deletion {\n /* prettylights-syntax-markup-deleted */\n color: #ffdcd7;\n background-color: #67060c\n}\n.dark .hljs-char.escape_,\n.dark .hljs-link,\n.dark .hljs-params,\n.dark .hljs-property,\n.dark .hljs-punctuation,\n.dark .hljs-tag {\n /* purposely ignored */\n \n}\n `}</style>\n <ReactMarkdown\n components={components}\n // Markdown to HTML.\n remarkPlugins={[[remarkFrontmatter, 'yaml'], remarkParseFrontmatter as any]}\n // HTML processing.\n rehypePlugins={[highlight, [addClasses, classes], slideLayout]}\n >\n {content}\n </ReactMarkdown>\n </>\n );\n};\n\n/**\n * Rehype plugin to format DOM based on frontmatter.\n * https://github.com/unifiedjs/unified#plugin\n * TODO(burdon): See tools/presenter: remarkPluginLayout\n * E.g., layout image from front-matter.\n */\nconst slideLayout =\n (options = {}) =>\n (tree: any, file: any) => {\n const {\n data: { frontmatter = {} },\n } = file;\n\n let content = tree.children;\n const { layout, image } = frontmatter;\n if (image) {\n const img = h('div', {\n class: 'flex grow shrink-0 bg-cover bg-center bg-no-repeat',\n style: {\n backgroundImage: `url(${image})`,\n },\n });\n\n switch (layout) {\n case 'fullscreen': {\n content = img;\n break;\n }\n\n case 'columns': {\n content = h('div', { class: 'flex grow grid grid-cols-2' }, [\n h('div', { class: theme.padding }, [content]),\n img,\n ]);\n break;\n }\n\n case 'rows': {\n content = h('div', { class: 'flex grow flex-col' }, [\n h('div', { class: theme.padding }, [content]),\n h('div', { class: ['flex grow pt-0', theme.padding] }, [img]),\n ]);\n break;\n }\n }\n } else {\n content = h('div', { class: ['flex grow flex-col', theme.padding] }, [content]);\n }\n\n const root = h('div', { class: ['flex flex-col grow', theme.root] }, [content]);\n tree.children = [root];\n };\n\nconst ImageWrapper = ({ node, ...props }: { node: any }) => {\n const { alt = '', src } = props as { alt: string; src: string };\n return <img alt={alt} src={src} />;\n};\n\nconst components = { img: ImageWrapper };\n", "//\n// Copyright 2023 DXOS.org\n//\n\n// TODO(burdon): Create theme type and picker.\n\nexport const theme = {\n root: 'bg-attention leading-relaxed font-mono',\n\n padding: 'px-40 py-16 gap-8',\n\n nodes: {\n h1: 'text-[80px] text-accentText',\n h2: 'text-[60px] text-accentText',\n h3: 'text-[48px] text-accentText',\n\n p: 'text-[48px]',\n\n ul: 'my-[16px] ml-12 leading-relaxed list-disc',\n ol: 'my-[16px] ml-24 leading-relaxed list-decimal',\n li: 'pl-6 text-[48px]',\n\n pre: 'w-full mx-0 my-[32px] p-0 __border-l-[16px] bg-inputSurface p-4 __whitespace-pre-line',\n code: 'p-0 text-[40px]',\n },\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "React", "useState", "useResizeDetector", "mx", "Container", "children", "classNames", "props", "setProps", "useState", "ref", "containerRef", "width", "height", "useResizeDetector", "refreshMode", "refreshRate", "refreshOptions", "leading", "onResize", "createLayoutProps", "div", "className", "mx", "style", "aspectRatio", "nominalWidth", "nominalHeight", "scale", "Math", "min", "left", "top", "transform", "h", "React", "ReactMarkdown", "addClasses", "highlight", "remarkFrontmatter", "remarkParseFrontmatter", "theme", "root", "padding", "nodes", "h1", "h2", "h3", "p", "ul", "ol", "li", "pre", "code", "Slide", "content", "classes", "theme", "nodes", "React", "style", "ReactMarkdown", "components", "remarkPlugins", "remarkFrontmatter", "remarkParseFrontmatter", "rehypePlugins", "highlight", "addClasses", "slideLayout", "options", "tree", "file", "data", "frontmatter", "children", "layout", "image", "img", "h", "class", "backgroundImage", "padding", "root", "ImageWrapper", "node", "props", "alt", "src", "MarkdownSlide", "document", "content", "target", "React", "Container", "Slide"]
|
|
7
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
PresenterAction
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-W4IR3DJE.mjs";
|
|
4
4
|
import {
|
|
5
5
|
PRESENTER_PLUGIN
|
|
6
6
|
} from "./chunk-VSD5LSE5.mjs";
|
|
@@ -8,12 +8,12 @@ import {
|
|
|
8
8
|
// src/capabilities/app-graph-builder.ts
|
|
9
9
|
import { Rx } from "@effect-rx/rx-react";
|
|
10
10
|
import { Option, pipe } from "effect";
|
|
11
|
-
import {
|
|
11
|
+
import { Capabilities, LayoutAction, contributes, createIntent } from "@dxos/app-framework";
|
|
12
12
|
import { Obj } from "@dxos/echo";
|
|
13
13
|
import { DeckCapabilities } from "@dxos/plugin-deck";
|
|
14
14
|
import { ATTENDABLE_PATH_SEPARATOR, DeckAction } from "@dxos/plugin-deck/types";
|
|
15
15
|
import { createExtension, rxFromSignal } from "@dxos/plugin-graph";
|
|
16
|
-
import {
|
|
16
|
+
import { Markdown } from "@dxos/plugin-markdown/types";
|
|
17
17
|
import { fullyQualifiedId, getSpace } from "@dxos/react-client/echo";
|
|
18
18
|
import { DataType } from "@dxos/schema";
|
|
19
19
|
var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBuilder, createExtension({
|
|
@@ -21,7 +21,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
|
|
|
21
21
|
actions: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => {
|
|
22
22
|
const [settingsStore] = get(context.capabilities(Capabilities.SettingsStore));
|
|
23
23
|
const settings = get(rxFromSignal(() => settingsStore?.getStore(PRESENTER_PLUGIN)?.value));
|
|
24
|
-
const isPresentable = settings?.presentCollections ? Obj.instanceOf(DataType.Collection, node2.data) || Obj.instanceOf(
|
|
24
|
+
const isPresentable = settings?.presentCollections ? Obj.instanceOf(DataType.Collection, node2.data) || Obj.instanceOf(Markdown.Document, node2.data) : Obj.instanceOf(Markdown.Document, node2.data);
|
|
25
25
|
return isPresentable ? Option.some(node2.data) : Option.none();
|
|
26
26
|
}), Option.map((object) => {
|
|
27
27
|
const id = fullyQualifiedId(object);
|
|
@@ -74,4 +74,4 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
|
|
|
74
74
|
export {
|
|
75
75
|
app_graph_builder_default as default
|
|
76
76
|
};
|
|
77
|
-
//# sourceMappingURL=app-graph-builder-
|
|
77
|
+
//# sourceMappingURL=app-graph-builder-GXESSA7Q.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 { Rx } from '@effect-rx/rx-react';\nimport { Option, pipe } from 'effect';\n\nimport { Capabilities, LayoutAction, type PluginContext, contributes, createIntent } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { DeckCapabilities } from '@dxos/plugin-deck';\nimport { ATTENDABLE_PATH_SEPARATOR, DeckAction } from '@dxos/plugin-deck/types';\nimport { createExtension, rxFromSignal } from '@dxos/plugin-graph';\nimport { Markdown } from '@dxos/plugin-markdown/types';\nimport { fullyQualifiedId, getSpace } from '@dxos/react-client/echo';\nimport { DataType } from '@dxos/schema';\n\nimport { PRESENTER_PLUGIN } from '../meta';\nimport { PresenterAction, type PresenterSettingsProps } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(\n Capabilities.AppGraphBuilder,\n createExtension({\n id: PRESENTER_PLUGIN,\n actions: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => {\n const [settingsStore] = get(context.capabilities(Capabilities.SettingsStore));\n const settings = get(\n rxFromSignal(() => settingsStore?.getStore<PresenterSettingsProps>(PRESENTER_PLUGIN)?.value),\n );\n const isPresentable = settings?.presentCollections\n ? Obj.instanceOf(DataType.Collection, node.data) || Obj.instanceOf(Markdown.Document, node.data)\n : Obj.instanceOf(Markdown.Document, node.data);\n return isPresentable ? Option.some(node.data) : Option.none();\n }),\n Option.map((object) => {\n const id = fullyQualifiedId(object);\n const spaceId = getSpace(object)?.id;\n return [\n {\n id: `${PresenterAction.TogglePresentation._tag}/${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: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const layout = context.getCapability(DeckCapabilities.MutableDeckState);\n const presenterId = [id, 'presenter'].join(ATTENDABLE_PATH_SEPARATOR);\n if (!layout.deck.fullscreen) {\n void dispatch(\n createIntent(DeckAction.Adjust, {\n type: 'solo--fullscreen',\n id: presenterId,\n }),\n );\n }\n await dispatch(\n createIntent(LayoutAction.Open, {\n part: 'main',\n subject: [presenterId],\n options: { workspace: spaceId },\n }),\n );\n },\n properties: {\n label: ['toggle presentation label', { ns: PRESENTER_PLUGIN }],\n icon: 'ph--presentation--regular',\n keyBinding: {\n macos: 'shift+meta+p',\n windows: 'shift+alt+p',\n },\n },\n },\n ];\n }),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n );\n"],
|
|
5
|
+
"mappings": ";;;;;;;;AAIA,SAASA,UAAU;AACnB,SAASC,QAAQC,YAAY;AAE7B,SAASC,cAAcC,cAAkCC,aAAaC,oBAAoB;AAC1F,SAASC,WAAW;AACpB,SAASC,wBAAwB;AACjC,SAASC,2BAA2BC,kBAAkB;AACtD,SAASC,iBAAiBC,oBAAoB;AAC9C,SAASC,gBAAgB;AACzB,SAASC,kBAAkBC,gBAAgB;AAC3C,SAASC,gBAAgB;AAKzB,IAAA,4BAAe,CAACC,YACdC,YACEC,aAAaC,iBACbC,gBAAgB;EACdC,IAAIC;EACJC,SAAS,CAACC,SACRC,GAAGC,KAAK,CAACC,QACPC,KACED,IAAIH,IAAAA,GACJK,OAAOC,QAAQ,CAACN,UAAAA;AACd,UAAM,CAACO,aAAAA,IAAiBJ,IAAIX,QAAQgB,aAAad,aAAae,aAAa,CAAA;AAC3E,UAAMC,WAAWP,IACfQ,aAAa,MAAMJ,eAAeK,SAAiCd,gBAAAA,GAAmBe,KAAAA,CAAAA;AAExF,UAAMC,gBAAgBJ,UAAUK,qBAC5BC,IAAIC,WAAWC,SAASC,YAAYnB,MAAKoB,IAAI,KAAKJ,IAAIC,WAAWI,SAASC,UAAUtB,MAAKoB,IAAI,IAC7FJ,IAAIC,WAAWI,SAASC,UAAUtB,MAAKoB,IAAI;AAC/C,WAAON,gBAAgBT,OAAOkB,KAAKvB,MAAKoB,IAAI,IAAIf,OAAOmB,KAAI;EAC7D,CAAA,GACAnB,OAAOoB,IAAI,CAACC,WAAAA;AACV,UAAM7B,KAAK8B,iBAAiBD,MAAAA;AAC5B,UAAME,UAAUC,SAASH,MAAAA,GAAS7B;AAClC,WAAO;MACL;QACEA,IAAI,GAAGiC,gBAAgBC,mBAAmBC,IAAI,IAAInC,EAAAA;;;QAGlDuB,MAAM,YAAA;AACJ,gBAAM,EAAEa,iBAAiBC,SAAQ,IAAK1C,QAAQ2C,cAAczC,aAAa0C,gBAAgB;AACzF,gBAAMC,SAAS7C,QAAQ2C,cAAcG,iBAAiBC,gBAAgB;AACtE,gBAAMC,cAAc;YAAC3C;YAAI;YAAa4C,KAAKC,yBAAAA;AAC3C,cAAI,CAACL,OAAOM,KAAKC,YAAY;AAC3B,iBAAKV,SACHW,aAAaC,WAAWC,QAAQ;cAC9BC,MAAM;cACNnD,IAAI2C;YACN,CAAA,CAAA;UAEJ;AACA,gBAAMN,SACJW,aAAaI,aAAaC,MAAM;YAC9BC,MAAM;YACNC,SAAS;cAACZ;;YACVa,SAAS;cAAEC,WAAW1B;YAAQ;UAChC,CAAA,CAAA;QAEJ;QACA2B,YAAY;UACVC,OAAO;YAAC;YAA6B;cAAEC,IAAI3D;YAAiB;;UAC5D4D,MAAM;UACNC,YAAY;YACVC,OAAO;YACPC,SAAS;UACX;QACF;MACF;;EAEJ,CAAA,GACAxD,OAAOyD,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;AAGjC,CAAA,CAAA;",
|
|
6
|
+
"names": ["Rx", "Option", "pipe", "Capabilities", "LayoutAction", "contributes", "createIntent", "Obj", "DeckCapabilities", "ATTENDABLE_PATH_SEPARATOR", "DeckAction", "createExtension", "rxFromSignal", "Markdown", "fullyQualifiedId", "getSpace", "DataType", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "PRESENTER_PLUGIN", "actions", "node", "Rx", "make", "get", "pipe", "Option", "flatMap", "settingsStore", "capabilities", "SettingsStore", "settings", "rxFromSignal", "getStore", "value", "isPresentable", "presentCollections", "Obj", "instanceOf", "DataType", "Collection", "data", "Markdown", "Document", "some", "none", "map", "object", "fullyQualifiedId", "spaceId", "getSpace", "PresenterAction", "TogglePresentation", "_tag", "dispatchPromise", "dispatch", "getCapability", "IntentDispatcher", "layout", "DeckCapabilities", "MutableDeckState", "presenterId", "join", "ATTENDABLE_PATH_SEPARATOR", "deck", "fullscreen", "createIntent", "DeckAction", "Adjust", "type", "LayoutAction", "Open", "part", "subject", "options", "workspace", "properties", "label", "ns", "icon", "keyBinding", "macos", "windows", "getOrElse"]
|
|
7
|
+
}
|
|
@@ -24,9 +24,9 @@ var PresenterSettings = ({ settings }) => {
|
|
|
24
24
|
|
|
25
25
|
// src/components/index.ts
|
|
26
26
|
import { lazy } from "react";
|
|
27
|
-
var MarkdownSlide = lazy(() => import("./MarkdownSlide-
|
|
28
|
-
var DocumentPresenterContainer = lazy(() => import("./DocumentPresenterContainer-
|
|
29
|
-
var CollectionPresenterContainer = lazy(() => import("./CollectionPresenterContainer-
|
|
27
|
+
var MarkdownSlide = lazy(() => import("./MarkdownSlide-KG7ESCSU.mjs"));
|
|
28
|
+
var DocumentPresenterContainer = lazy(() => import("./DocumentPresenterContainer-THZU5S4O.mjs"));
|
|
29
|
+
var CollectionPresenterContainer = lazy(() => import("./CollectionPresenterContainer-OUCNLVND.mjs"));
|
|
30
30
|
|
|
31
31
|
export {
|
|
32
32
|
PresenterSettings,
|
|
@@ -34,4 +34,4 @@ export {
|
|
|
34
34
|
DocumentPresenterContainer,
|
|
35
35
|
CollectionPresenterContainer
|
|
36
36
|
};
|
|
37
|
-
//# sourceMappingURL=chunk-
|
|
37
|
+
//# sourceMappingURL=chunk-RDCZJT62.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// src/useExitPresenter.ts
|
|
2
2
|
import { useCallback } from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { LayoutAction, createIntent, useCapability, useIntentDispatcher } from "@dxos/app-framework";
|
|
4
4
|
import { DeckCapabilities } from "@dxos/plugin-deck";
|
|
5
5
|
import { DeckAction } from "@dxos/plugin-deck/types";
|
|
6
6
|
import { fullyQualifiedId, getSpace } from "@dxos/react-client/echo";
|
|
@@ -33,4 +33,4 @@ var useExitPresenter = (object) => {
|
|
|
33
33
|
export {
|
|
34
34
|
useExitPresenter
|
|
35
35
|
};
|
|
36
|
-
//# sourceMappingURL=chunk-
|
|
36
|
+
//# sourceMappingURL=chunk-UVGTHJUO.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/useExitPresenter.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback } from 'react';\n\nimport {
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback } from 'react';\n\nimport { LayoutAction, createIntent, useCapability, useIntentDispatcher } from '@dxos/app-framework';\nimport { type Live } from '@dxos/live-object';\nimport { DeckCapabilities } from '@dxos/plugin-deck';\nimport { DeckAction } from '@dxos/plugin-deck/types';\nimport { fullyQualifiedId, getSpace } from '@dxos/react-client/echo';\n\nexport const useExitPresenter = (object: Live<any>) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const layout = useCapability(DeckCapabilities.MutableDeckState);\n\n return useCallback(() => {\n const objectId = fullyQualifiedId(object);\n if (layout.deck.fullscreen) {\n void dispatch(\n createIntent(DeckAction.Adjust, {\n type: 'solo--fullscreen',\n id: objectId,\n }),\n );\n }\n return dispatch(\n createIntent(LayoutAction.Open, {\n part: 'main',\n subject: [objectId],\n options: { workspace: getSpace(document)?.id },\n }),\n );\n }, [dispatch, object]);\n};\n"],
|
|
5
5
|
"mappings": ";AAIA,SAASA,mBAAmB;AAE5B,SAASC,cAAcC,cAAcC,eAAeC,2BAA2B;AAE/E,SAASC,wBAAwB;AACjC,SAASC,kBAAkB;AAC3B,SAASC,kBAAkBC,gBAAgB;AAEpC,IAAMC,mBAAmB,CAACC,WAAAA;AAC/B,QAAM,EAAEC,iBAAiBC,SAAQ,IAAKC,oBAAAA;AACtC,QAAMC,SAASC,cAAcC,iBAAiBC,gBAAgB;AAE9D,SAAOC,YAAY,MAAA;AACjB,UAAMC,WAAWC,iBAAiBV,MAAAA;AAClC,QAAII,OAAOO,KAAKC,YAAY;AAC1B,WAAKV,SACHW,aAAaC,WAAWC,QAAQ;QAC9BC,MAAM;QACNC,IAAIR;MACN,CAAA,CAAA;IAEJ;AACA,WAAOP,SACLW,aAAaK,aAAaC,MAAM;MAC9BC,MAAM;MACNC,SAAS;QAACZ;;MACVa,SAAS;QAAEC,WAAWC,SAASC,QAAAA,GAAWR;MAAG;IAC/C,CAAA,CAAA;EAEJ,GAAG;IAACf;IAAUF;GAAO;AACvB;",
|
|
6
|
-
"names": ["useCallback", "
|
|
6
|
+
"names": ["useCallback", "LayoutAction", "createIntent", "useCapability", "useIntentDispatcher", "DeckCapabilities", "DeckAction", "fullyQualifiedId", "getSpace", "useExitPresenter", "object", "dispatchPromise", "dispatch", "useIntentDispatcher", "layout", "useCapability", "DeckCapabilities", "MutableDeckState", "useCallback", "objectId", "fullyQualifiedId", "deck", "fullscreen", "createIntent", "DeckAction", "Adjust", "type", "id", "LayoutAction", "Open", "part", "subject", "options", "workspace", "getSpace", "document"]
|
|
7
7
|
}
|
|
@@ -5,13 +5,13 @@ import {
|
|
|
5
5
|
// src/types.ts
|
|
6
6
|
import { Schema } from "effect";
|
|
7
7
|
import { createContext } from "react";
|
|
8
|
-
import {
|
|
8
|
+
import { Markdown } from "@dxos/plugin-markdown/types";
|
|
9
9
|
import { DataType } from "@dxos/schema";
|
|
10
10
|
(function(PresenterAction2) {
|
|
11
11
|
const PRESENTER_ACTION = `${PRESENTER_PLUGIN}/action`;
|
|
12
12
|
class TogglePresentation extends Schema.TaggedClass()(`${PRESENTER_ACTION}/toggle-presentation`, {
|
|
13
13
|
input: Schema.Struct({
|
|
14
|
-
object: Schema.Union(
|
|
14
|
+
object: Schema.Union(Markdown.Document, DataType.Collection),
|
|
15
15
|
state: Schema.optional(Schema.Boolean)
|
|
16
16
|
}),
|
|
17
17
|
output: Schema.Void
|
|
@@ -36,4 +36,4 @@ export {
|
|
|
36
36
|
PresenterSettingsSchema,
|
|
37
37
|
PresenterAction
|
|
38
38
|
};
|
|
39
|
-
//# sourceMappingURL=chunk-
|
|
39
|
+
//# sourceMappingURL=chunk-W4IR3DJE.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 { Schema } from 'effect';\nimport { type Context, createContext } from 'react';\n\nimport { Markdown } from '@dxos/plugin-markdown/types';\nimport { DataType } from '@dxos/schema';\n\nimport { PRESENTER_PLUGIN } from './meta';\n\nexport namespace PresenterAction {\n const PRESENTER_ACTION = `${PRESENTER_PLUGIN}/action`;\n\n export class TogglePresentation extends Schema.TaggedClass<TogglePresentation>()(\n `${PRESENTER_ACTION}/toggle-presentation`,\n {\n input: Schema.Struct({\n object: Schema.Union(Markdown.Document, DataType.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"],
|
|
5
|
+
"mappings": ";;;;;AAIA,SAASA,cAAc;AACvB,SAAuBC,qBAAqB;AAE5C,SAASC,gBAAgB;AACzB,SAASC,gBAAgB;UAIRC,kBAAAA;AACf,QAAMC,mBAAmB,GAAGC,gBAAAA;EAErB,MAAMC,2BAA2BC,OAAOC,YAAW,EACxD,GAAGJ,gBAAAA,wBACH;IACEK,OAAOF,OAAOG,OAAO;MACnBC,QAAQJ,OAAOK,MAAMC,SAASC,UAAUC,SAASC,UAAU;MAC3DC,OAAOV,OAAOW,SAASX,OAAOY,OAAO;IACvC,CAAA;IACAC,QAAQb,OAAOc;EACjB,CAAA,EAAA;EACC;mBATUf,qBAAAA;AAUf,GAbiBH,oBAAAA,kBAAAA,CAAAA,EAAAA;AAqBV,IAAMmB,mBAAkDC,cAAoC;EACjGC,SAAS;EACTC,OAAO,MAAA;EAAO;EACdC,MAAM,MAAA;EAAO;AACf,CAAA;AAEO,IAAMC,0BAA0BpB,OAAOqB,QAC5CrB,OAAOG,OAAO;EACZmB,oBAAoBtB,OAAOW,SAASX,OAAOY,OAAO;AACpD,CAAA,CAAA;;",
|
|
6
|
+
"names": ["Schema", "createContext", "Markdown", "DataType", "PresenterAction", "PRESENTER_ACTION", "PRESENTER_PLUGIN", "TogglePresentation", "Schema", "TaggedClass", "input", "Struct", "object", "Union", "Markdown", "Document", "DataType", "Collection", "state", "optional", "Boolean", "output", "Void", "PresenterContext", "createContext", "running", "start", "stop", "PresenterSettingsSchema", "mutable", "presentCollections"]
|
|
7
|
+
}
|
|
@@ -3,20 +3,20 @@ import {
|
|
|
3
3
|
DocumentPresenterContainer,
|
|
4
4
|
MarkdownSlide,
|
|
5
5
|
PresenterSettings
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-RDCZJT62.mjs";
|
|
7
7
|
import {
|
|
8
8
|
PRESENTER_PLUGIN,
|
|
9
9
|
meta
|
|
10
10
|
} from "./chunk-VSD5LSE5.mjs";
|
|
11
11
|
|
|
12
12
|
// src/PresenterPlugin.tsx
|
|
13
|
-
import {
|
|
13
|
+
import { Capabilities, Events, contributes, defineModule, definePlugin } from "@dxos/app-framework";
|
|
14
14
|
|
|
15
15
|
// src/capabilities/index.ts
|
|
16
16
|
import { lazy } from "@dxos/app-framework";
|
|
17
|
-
var AppGraphBuilder = lazy(() => import("./app-graph-builder-
|
|
18
|
-
var ReactSurface = lazy(() => import("./react-surface-
|
|
19
|
-
var PresenterSettings2 = lazy(() => import("./settings-
|
|
17
|
+
var AppGraphBuilder = lazy(() => import("./app-graph-builder-GXESSA7Q.mjs"));
|
|
18
|
+
var ReactSurface = lazy(() => import("./react-surface-H3L7Y3ED.mjs"));
|
|
19
|
+
var PresenterSettings2 = lazy(() => import("./settings-VQVVDAGY.mjs"));
|
|
20
20
|
|
|
21
21
|
// src/translations.ts
|
|
22
22
|
var translations = [
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/PresenterPlugin.tsx", "../../../src/capabilities/index.ts", "../../../src/translations.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;AAIA,SAASA,cAAcC,
|
|
6
|
-
"names": ["
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Capabilities, Events, contributes, defineModule, definePlugin } from '@dxos/app-framework';\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 = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: PresenterSettings,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n ]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\nexport const PresenterSettings = lazy(() => import('./settings'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from './meta';\n\nexport const translations = [\n {\n 'en-US': {\n [meta.id]: {\n 'plugin name': 'Presenter',\n 'toggle presentation label': 'Present',\n 'present collections label': 'Present collections (experimental)',\n },\n },\n },\n] as const satisfies Resource[];\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;AAIA,SAASA,cAAcC,QAAQC,aAAaC,cAAcC,oBAAoB;;;ACA9E,SAASC,YAAY;AAEd,IAAMC,kBAAkBC,KAAK,MAAM,OAAO,kCAAA,CAAA;AAC1C,IAAMC,eAAeD,KAAK,MAAM,OAAO,8BAAA,CAAA;AACvC,IAAME,qBAAoBF,KAAK,MAAM,OAAO,yBAAA,CAAA;;;ACA5C,IAAMG,eAAe;EAC1B;IACE,SAAS;MACP,CAACC,KAAKC,EAAE,GAAG;QACT,eAAe;QACf,6BAA6B;QAC7B,6BAA6B;MAC/B;IACF;EACF;;;;AFJK,IAAMC,kBAAkB,MAC7BC,aAAaC,MAAM;EACjBC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBC,UAAUC;EACZ,CAAA;EACAN,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOI;IACpBF,UAAU,MAAMG,YAAYC,aAAaC,cAAcC,YAAAA;EACzD,CAAA;EACAX,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOS;IACpBP,UAAUQ;EACZ,CAAA;EACAb,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOW;IACpBT,UAAUU;EACZ,CAAA;CACD;",
|
|
6
|
+
"names": ["Capabilities", "Events", "contributes", "defineModule", "definePlugin", "lazy", "AppGraphBuilder", "lazy", "ReactSurface", "PresenterSettings", "translations", "meta", "id", "PresenterPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupSettings", "activate", "PresenterSettings", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "SetupReactSurface", "ReactSurface", "SetupAppGraph", "AppGraphBuilder"]
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"src/meta.ts":{"bytes":1449,"imports":[],"format":"esm"},"src/components/PresenterSettings.tsx":{"bytes":3115,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/components/Markdown/Container.tsx":{"bytes":8331,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"src/components/Markdown/theme.ts":{"bytes":2160,"imports":[],"format":"esm"},"src/components/Markdown/Slide.tsx":{"bytes":17574,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"hastscript","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-markdown","kind":"import-statement","external":true},{"path":"rehype-add-classes","kind":"import-statement","external":true},{"path":"rehype-highlight","kind":"import-statement","external":true},{"path":"remark-frontmatter","kind":"import-statement","external":true},{"path":"remark-parse-frontmatter","kind":"import-statement","external":true},{"path":"highlight.js/styles/github.css","kind":"import-statement","external":true},{"path":"src/components/Markdown/theme.ts","kind":"import-statement","original":"./theme"}],"format":"esm"},"src/components/Markdown/index.ts":{"bytes":566,"imports":[{"path":"src/components/Markdown/Container.tsx","kind":"import-statement","original":"./Container"},{"path":"src/components/Markdown/Slide.tsx","kind":"import-statement","original":"./Slide"}],"format":"esm"},"src/components/MarkdownSlide.tsx":{"bytes":2037,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/components/Markdown/index.ts","kind":"import-statement","original":"./Markdown"}],"format":"esm"},"src/components/RevealPlayer/RevealPlayer.tsx":{"bytes":16712,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"reveal.js/dist/reveal.css","kind":"import-statement","external":true},{"path":"reveal.js/dist/theme/black.css","kind":"import-statement","external":true},{"path":"highlight.js/styles/tokyo-night-dark.css","kind":"import-statement","external":true},{"path":"highlight.js","kind":"import-statement","external":true},{"path":"highlight.js/lib/languages/typescript","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"reveal.js","kind":"import-statement","external":true},{"path":"reveal.js/plugin/highlight/highlight","kind":"import-statement","external":true},{"path":"reveal.js/plugin/markdown/plugin.js","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"src/components/RevealPlayer/index.ts":{"bytes":496,"imports":[{"path":"src/components/RevealPlayer/RevealPlayer.tsx","kind":"import-statement","original":"./RevealPlayer"}],"format":"esm"},"src/useExitPresenter.ts":{"bytes":4162,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"format":"esm"},"src/components/DocumentPresenterContainer.tsx":{"bytes":2700,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"src/components/RevealPlayer/index.ts","kind":"import-statement","original":"./RevealPlayer"},{"path":"src/useExitPresenter.ts","kind":"import-statement","original":"../useExitPresenter"}],"format":"esm"},"src/components/Presenter/Layout.tsx":{"bytes":3626,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"src/components/Presenter/Pager.tsx":{"bytes":12514,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"format":"esm"},"src/components/Presenter/index.ts":{"bytes":560,"imports":[{"path":"src/components/Presenter/Layout.tsx","kind":"import-statement","original":"./Layout"},{"path":"src/components/Presenter/Pager.tsx","kind":"import-statement","original":"./Pager"}],"format":"esm"},"src/types.ts":{"bytes":4268,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/components/CollectionPresenterContainer.tsx":{"bytes":5188,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"src/components/Presenter/index.ts","kind":"import-statement","original":"./Presenter"},{"path":"src/types.ts","kind":"import-statement","original":"../types"},{"path":"src/useExitPresenter.ts","kind":"import-statement","original":"../useExitPresenter"}],"format":"esm"},"src/components/index.ts":{"bytes":1532,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/components/PresenterSettings.tsx","kind":"import-statement","original":"./PresenterSettings"},{"path":"src/components/MarkdownSlide.tsx","kind":"dynamic-import","original":"./MarkdownSlide"},{"path":"src/components/DocumentPresenterContainer.tsx","kind":"dynamic-import","original":"./DocumentPresenterContainer"},{"path":"src/components/CollectionPresenterContainer.tsx","kind":"dynamic-import","original":"./CollectionPresenterContainer"}],"format":"esm"},"src/capabilities/app-graph-builder.ts":{"bytes":12539,"imports":[{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/capabilities/react-surface.tsx":{"bytes":7366,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/capabilities/settings.ts":{"bytes":1910,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/capabilities/index.ts":{"bytes":1295,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"},{"path":"src/capabilities/settings.ts","kind":"dynamic-import","original":"./settings"}],"format":"esm"},"src/translations.ts":{"bytes":1469,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/PresenterPlugin.tsx":{"bytes":4417,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"src/index.ts":{"bytes":653,"imports":[{"path":"src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/PresenterPlugin.tsx","kind":"import-statement","original":"./PresenterPlugin"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3288},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-YYPOO6XK.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-VSD5LSE5.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/browser/app-graph-builder-2ZLAWPF2.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/react-surface-GQSVWJBG.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/settings-X7M27QCY.mjs","kind":"dynamic-import"}],"exports":["CollectionPresenterContainer","DocumentPresenterContainer","MarkdownSlide","PRESENTER_PLUGIN","PresenterPlugin","PresenterSettings","meta"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0},"src/PresenterPlugin.tsx":{"bytesInOutput":742},"src/capabilities/index.ts":{"bytesInOutput":265},"src/translations.ts":{"bytesInOutput":238}},"bytes":1754},"dist/lib/browser/MarkdownSlide-QHC3GZII.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":13468},"dist/lib/browser/MarkdownSlide-QHC3GZII.mjs":{"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"hastscript","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-markdown","kind":"import-statement","external":true},{"path":"rehype-add-classes","kind":"import-statement","external":true},{"path":"rehype-highlight","kind":"import-statement","external":true},{"path":"remark-frontmatter","kind":"import-statement","external":true},{"path":"remark-parse-frontmatter","kind":"import-statement","external":true},{"path":"highlight.js/styles/github.css","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/components/MarkdownSlide.tsx","inputs":{"src/components/MarkdownSlide.tsx":{"bytesInOutput":504},"src/components/Markdown/Container.tsx":{"bytesInOutput":1552},"src/components/Markdown/index.ts":{"bytesInOutput":0},"src/components/Markdown/Slide.tsx":{"bytesInOutput":5281},"src/components/Markdown/theme.ts":{"bytesInOutput":516}},"bytes":8180},"dist/lib/browser/DocumentPresenterContainer-E7RGK572.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8908},"dist/lib/browser/DocumentPresenterContainer-E7RGK572.mjs":{"imports":[{"path":"dist/lib/browser/chunk-TANLITL2.mjs","kind":"import-statement"},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"reveal.js/dist/reveal.css","kind":"import-statement","external":true},{"path":"reveal.js/dist/theme/black.css","kind":"import-statement","external":true},{"path":"highlight.js/styles/tokyo-night-dark.css","kind":"import-statement","external":true},{"path":"highlight.js","kind":"import-statement","external":true},{"path":"highlight.js/lib/languages/typescript","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"reveal.js","kind":"import-statement","external":true},{"path":"reveal.js/plugin/highlight/highlight","kind":"import-statement","external":true},{"path":"reveal.js/plugin/markdown/plugin.js","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/components/DocumentPresenterContainer.tsx","inputs":{"src/components/DocumentPresenterContainer.tsx":{"bytesInOutput":658},"src/components/RevealPlayer/RevealPlayer.tsx":{"bytesInOutput":4731},"src/components/RevealPlayer/index.ts":{"bytesInOutput":0}},"bytes":5722},"dist/lib/browser/CollectionPresenterContainer-GH4GIA6P.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":9936},"dist/lib/browser/CollectionPresenterContainer-GH4GIA6P.mjs":{"imports":[{"path":"dist/lib/browser/chunk-TANLITL2.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-SW3HIRDA.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-VSD5LSE5.mjs","kind":"import-statement"},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/components/CollectionPresenterContainer.tsx","inputs":{"src/components/CollectionPresenterContainer.tsx":{"bytesInOutput":1332},"src/components/Presenter/Layout.tsx":{"bytesInOutput":1093},"src/components/Presenter/index.ts":{"bytesInOutput":0},"src/components/Presenter/Pager.tsx":{"bytesInOutput":3265}},"bytes":6151},"dist/lib/browser/chunk-TANLITL2.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2297},"dist/lib/browser/chunk-TANLITL2.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"exports":["useExitPresenter"],"inputs":{"src/useExitPresenter.ts":{"bytesInOutput":954}},"bytes":1057},"dist/lib/browser/app-graph-builder-2ZLAWPF2.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6378},"dist/lib/browser/app-graph-builder-2ZLAWPF2.mjs":{"imports":[{"path":"dist/lib/browser/chunk-SW3HIRDA.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-VSD5LSE5.mjs","kind":"import-statement"},{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/app-graph-builder.ts","inputs":{"src/capabilities/app-graph-builder.ts":{"bytesInOutput":2750}},"bytes":3016},"dist/lib/browser/react-surface-GQSVWJBG.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3718},"dist/lib/browser/react-surface-GQSVWJBG.mjs":{"imports":[{"path":"dist/lib/browser/chunk-YYPOO6XK.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-VSD5LSE5.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-surface.tsx","inputs":{"src/capabilities/react-surface.tsx":{"bytesInOutput":1657}},"bytes":1993},"dist/lib/browser/chunk-YYPOO6XK.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2252},"dist/lib/browser/chunk-YYPOO6XK.mjs":{"imports":[{"path":"dist/lib/browser/chunk-VSD5LSE5.mjs","kind":"import-statement"},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"dist/lib/browser/MarkdownSlide-QHC3GZII.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/DocumentPresenterContainer-E7RGK572.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/CollectionPresenterContainer-GH4GIA6P.mjs","kind":"dynamic-import"}],"exports":["CollectionPresenterContainer","DocumentPresenterContainer","MarkdownSlide","PresenterSettings"],"inputs":{"src/components/PresenterSettings.tsx":{"bytesInOutput":791},"src/components/index.ts":{"bytesInOutput":302}},"bytes":1377},"dist/lib/browser/settings-X7M27QCY.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":981},"dist/lib/browser/settings-X7M27QCY.mjs":{"imports":[{"path":"dist/lib/browser/chunk-SW3HIRDA.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-VSD5LSE5.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/settings.ts","inputs":{"src/capabilities/settings.ts":{"bytesInOutput":300}},"bytes":535},"dist/lib/browser/chunk-SW3HIRDA.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2338},"dist/lib/browser/chunk-SW3HIRDA.mjs":{"imports":[{"path":"dist/lib/browser/chunk-VSD5LSE5.mjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["PresenterAction","PresenterContext","PresenterSettingsSchema"],"inputs":{"src/types.ts":{"bytesInOutput":890}},"bytes":1088},"dist/lib/browser/chunk-VSD5LSE5.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":712},"dist/lib/browser/chunk-VSD5LSE5.mjs":{"imports":[],"exports":["PRESENTER_PLUGIN","meta"],"inputs":{"src/meta.ts":{"bytesInOutput":286}},"bytes":385}}}
|
|
1
|
+
{"inputs":{"src/meta.ts":{"bytes":1449,"imports":[],"format":"esm"},"src/components/PresenterSettings.tsx":{"bytes":3115,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/components/Markdown/Container.tsx":{"bytes":8331,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"src/components/Markdown/theme.ts":{"bytes":2160,"imports":[],"format":"esm"},"src/components/Markdown/Slide.tsx":{"bytes":17574,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"hastscript","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-markdown","kind":"import-statement","external":true},{"path":"rehype-add-classes","kind":"import-statement","external":true},{"path":"rehype-highlight","kind":"import-statement","external":true},{"path":"remark-frontmatter","kind":"import-statement","external":true},{"path":"remark-parse-frontmatter","kind":"import-statement","external":true},{"path":"highlight.js/styles/github.css","kind":"import-statement","external":true},{"path":"src/components/Markdown/theme.ts","kind":"import-statement","original":"./theme"}],"format":"esm"},"src/components/Markdown/index.ts":{"bytes":566,"imports":[{"path":"src/components/Markdown/Container.tsx","kind":"import-statement","original":"./Container"},{"path":"src/components/Markdown/Slide.tsx","kind":"import-statement","original":"./Slide"}],"format":"esm"},"src/components/MarkdownSlide.tsx":{"bytes":2037,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/components/Markdown/index.ts","kind":"import-statement","original":"./Markdown"}],"format":"esm"},"src/useExitPresenter.ts":{"bytes":4162,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"format":"esm"},"src/components/RevealPlayer/RevealPlayer.tsx":{"bytes":16712,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"reveal.js/dist/reveal.css","kind":"import-statement","external":true},{"path":"reveal.js/dist/theme/black.css","kind":"import-statement","external":true},{"path":"highlight.js/styles/tokyo-night-dark.css","kind":"import-statement","external":true},{"path":"highlight.js","kind":"import-statement","external":true},{"path":"highlight.js/lib/languages/typescript","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"reveal.js","kind":"import-statement","external":true},{"path":"reveal.js/plugin/highlight/highlight","kind":"import-statement","external":true},{"path":"reveal.js/plugin/markdown/plugin.js","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"src/components/RevealPlayer/index.ts":{"bytes":496,"imports":[{"path":"src/components/RevealPlayer/RevealPlayer.tsx","kind":"import-statement","original":"./RevealPlayer"}],"format":"esm"},"src/components/DocumentPresenterContainer.tsx":{"bytes":2704,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"src/useExitPresenter.ts","kind":"import-statement","original":"../useExitPresenter"},{"path":"src/components/RevealPlayer/index.ts","kind":"import-statement","original":"./RevealPlayer"}],"format":"esm"},"src/types.ts":{"bytes":4301,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/components/Presenter/Layout.tsx":{"bytes":3626,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"src/components/Presenter/Pager.tsx":{"bytes":12514,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"format":"esm"},"src/components/Presenter/index.ts":{"bytes":560,"imports":[{"path":"src/components/Presenter/Layout.tsx","kind":"import-statement","original":"./Layout"},{"path":"src/components/Presenter/Pager.tsx","kind":"import-statement","original":"./Pager"}],"format":"esm"},"src/components/CollectionPresenterContainer.tsx":{"bytes":5188,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"src/types.ts","kind":"import-statement","original":"../types"},{"path":"src/useExitPresenter.ts","kind":"import-statement","original":"../useExitPresenter"},{"path":"src/components/Presenter/index.ts","kind":"import-statement","original":"./Presenter"}],"format":"esm"},"src/components/index.ts":{"bytes":1532,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/components/PresenterSettings.tsx","kind":"import-statement","original":"./PresenterSettings"},{"path":"src/components/MarkdownSlide.tsx","kind":"dynamic-import","original":"./MarkdownSlide"},{"path":"src/components/DocumentPresenterContainer.tsx","kind":"dynamic-import","original":"./DocumentPresenterContainer"},{"path":"src/components/CollectionPresenterContainer.tsx","kind":"dynamic-import","original":"./CollectionPresenterContainer"}],"format":"esm"},"src/capabilities/app-graph-builder.ts":{"bytes":12597,"imports":[{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/capabilities/react-surface.tsx":{"bytes":7432,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/capabilities/settings.ts":{"bytes":1910,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/capabilities/index.ts":{"bytes":1295,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"},{"path":"src/capabilities/settings.ts","kind":"dynamic-import","original":"./settings"}],"format":"esm"},"src/translations.ts":{"bytes":1469,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/PresenterPlugin.tsx":{"bytes":4421,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"src/index.ts":{"bytes":653,"imports":[{"path":"src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/PresenterPlugin.tsx","kind":"import-statement","original":"./PresenterPlugin"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3288},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-RDCZJT62.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-VSD5LSE5.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/browser/app-graph-builder-GXESSA7Q.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/react-surface-H3L7Y3ED.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/settings-VQVVDAGY.mjs","kind":"dynamic-import"}],"exports":["CollectionPresenterContainer","DocumentPresenterContainer","MarkdownSlide","PRESENTER_PLUGIN","PresenterPlugin","PresenterSettings","meta"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0},"src/PresenterPlugin.tsx":{"bytesInOutput":742},"src/capabilities/index.ts":{"bytesInOutput":265},"src/translations.ts":{"bytesInOutput":238}},"bytes":1754},"dist/lib/browser/MarkdownSlide-KG7ESCSU.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":13469},"dist/lib/browser/MarkdownSlide-KG7ESCSU.mjs":{"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"hastscript","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-markdown","kind":"import-statement","external":true},{"path":"rehype-add-classes","kind":"import-statement","external":true},{"path":"rehype-highlight","kind":"import-statement","external":true},{"path":"remark-frontmatter","kind":"import-statement","external":true},{"path":"remark-parse-frontmatter","kind":"import-statement","external":true},{"path":"highlight.js/styles/github.css","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/components/MarkdownSlide.tsx","inputs":{"src/components/MarkdownSlide.tsx":{"bytesInOutput":504},"src/components/Markdown/Container.tsx":{"bytesInOutput":1552},"src/components/Markdown/index.ts":{"bytesInOutput":0},"src/components/Markdown/Slide.tsx":{"bytesInOutput":5281},"src/components/Markdown/theme.ts":{"bytesInOutput":516}},"bytes":8180},"dist/lib/browser/DocumentPresenterContainer-THZU5S4O.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8911},"dist/lib/browser/DocumentPresenterContainer-THZU5S4O.mjs":{"imports":[{"path":"dist/lib/browser/chunk-UVGTHJUO.mjs","kind":"import-statement"},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"reveal.js/dist/reveal.css","kind":"import-statement","external":true},{"path":"reveal.js/dist/theme/black.css","kind":"import-statement","external":true},{"path":"highlight.js/styles/tokyo-night-dark.css","kind":"import-statement","external":true},{"path":"highlight.js","kind":"import-statement","external":true},{"path":"highlight.js/lib/languages/typescript","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"reveal.js","kind":"import-statement","external":true},{"path":"reveal.js/plugin/highlight/highlight","kind":"import-statement","external":true},{"path":"reveal.js/plugin/markdown/plugin.js","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/components/DocumentPresenterContainer.tsx","inputs":{"src/components/DocumentPresenterContainer.tsx":{"bytesInOutput":658},"src/components/RevealPlayer/RevealPlayer.tsx":{"bytesInOutput":4731},"src/components/RevealPlayer/index.ts":{"bytesInOutput":0}},"bytes":5722},"dist/lib/browser/CollectionPresenterContainer-OUCNLVND.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":9938},"dist/lib/browser/CollectionPresenterContainer-OUCNLVND.mjs":{"imports":[{"path":"dist/lib/browser/chunk-UVGTHJUO.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-W4IR3DJE.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-VSD5LSE5.mjs","kind":"import-statement"},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/components/CollectionPresenterContainer.tsx","inputs":{"src/components/CollectionPresenterContainer.tsx":{"bytesInOutput":1332},"src/components/Presenter/Layout.tsx":{"bytesInOutput":1093},"src/components/Presenter/index.ts":{"bytesInOutput":0},"src/components/Presenter/Pager.tsx":{"bytesInOutput":3265}},"bytes":6151},"dist/lib/browser/chunk-UVGTHJUO.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2297},"dist/lib/browser/chunk-UVGTHJUO.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"exports":["useExitPresenter"],"inputs":{"src/useExitPresenter.ts":{"bytesInOutput":954}},"bytes":1057},"dist/lib/browser/app-graph-builder-GXESSA7Q.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6400},"dist/lib/browser/app-graph-builder-GXESSA7Q.mjs":{"imports":[{"path":"dist/lib/browser/chunk-W4IR3DJE.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-VSD5LSE5.mjs","kind":"import-statement"},{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/app-graph-builder.ts","inputs":{"src/capabilities/app-graph-builder.ts":{"bytesInOutput":2756}},"bytes":3022},"dist/lib/browser/react-surface-H3L7Y3ED.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3750},"dist/lib/browser/react-surface-H3L7Y3ED.mjs":{"imports":[{"path":"dist/lib/browser/chunk-RDCZJT62.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-VSD5LSE5.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-surface.tsx","inputs":{"src/capabilities/react-surface.tsx":{"bytesInOutput":1663}},"bytes":1999},"dist/lib/browser/chunk-RDCZJT62.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2252},"dist/lib/browser/chunk-RDCZJT62.mjs":{"imports":[{"path":"dist/lib/browser/chunk-VSD5LSE5.mjs","kind":"import-statement"},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"dist/lib/browser/MarkdownSlide-KG7ESCSU.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/DocumentPresenterContainer-THZU5S4O.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/CollectionPresenterContainer-OUCNLVND.mjs","kind":"dynamic-import"}],"exports":["CollectionPresenterContainer","DocumentPresenterContainer","MarkdownSlide","PresenterSettings"],"inputs":{"src/components/PresenterSettings.tsx":{"bytesInOutput":791},"src/components/index.ts":{"bytesInOutput":302}},"bytes":1377},"dist/lib/browser/settings-VQVVDAGY.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":981},"dist/lib/browser/settings-VQVVDAGY.mjs":{"imports":[{"path":"dist/lib/browser/chunk-W4IR3DJE.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-VSD5LSE5.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/settings.ts","inputs":{"src/capabilities/settings.ts":{"bytesInOutput":300}},"bytes":535},"dist/lib/browser/chunk-W4IR3DJE.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2349},"dist/lib/browser/chunk-W4IR3DJE.mjs":{"imports":[{"path":"dist/lib/browser/chunk-VSD5LSE5.mjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["PresenterAction","PresenterContext","PresenterSettingsSchema"],"inputs":{"src/types.ts":{"bytesInOutput":891}},"bytes":1089},"dist/lib/browser/chunk-VSD5LSE5.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":712},"dist/lib/browser/chunk-VSD5LSE5.mjs":{"imports":[],"exports":["PRESENTER_PLUGIN","meta"],"inputs":{"src/meta.ts":{"bytesInOutput":286}},"bytes":385}}}
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
DocumentPresenterContainer,
|
|
4
4
|
MarkdownSlide,
|
|
5
5
|
PresenterSettings
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-RDCZJT62.mjs";
|
|
7
7
|
import {
|
|
8
8
|
PRESENTER_PLUGIN
|
|
9
9
|
} from "./chunk-VSD5LSE5.mjs";
|
|
@@ -13,14 +13,14 @@ import React from "react";
|
|
|
13
13
|
import { Capabilities, contributes, createSurface } from "@dxos/app-framework";
|
|
14
14
|
import { Obj } from "@dxos/echo";
|
|
15
15
|
import { SettingsStore } from "@dxos/local-storage";
|
|
16
|
-
import {
|
|
16
|
+
import { Markdown } from "@dxos/plugin-markdown/types";
|
|
17
17
|
import { DataType } from "@dxos/schema";
|
|
18
18
|
var react_surface_default = () => contributes(Capabilities.ReactSurface, [
|
|
19
19
|
createSurface({
|
|
20
20
|
id: `${PRESENTER_PLUGIN}/document`,
|
|
21
21
|
role: "article",
|
|
22
22
|
position: "hoist",
|
|
23
|
-
filter: (data) => Obj.instanceOf(
|
|
23
|
+
filter: (data) => Obj.instanceOf(Markdown.Document, data.subject) && data.variant === "presenter",
|
|
24
24
|
component: ({ data }) => /* @__PURE__ */ React.createElement(DocumentPresenterContainer, {
|
|
25
25
|
document: data.subject
|
|
26
26
|
})
|
|
@@ -37,7 +37,7 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
|
|
|
37
37
|
createSurface({
|
|
38
38
|
id: `${PRESENTER_PLUGIN}/slide`,
|
|
39
39
|
role: "slide",
|
|
40
|
-
filter: (data) => Obj.instanceOf(
|
|
40
|
+
filter: (data) => Obj.instanceOf(Markdown.Document, data.subject),
|
|
41
41
|
component: ({ data }) => /* @__PURE__ */ React.createElement(MarkdownSlide, {
|
|
42
42
|
document: data.subject
|
|
43
43
|
})
|
|
@@ -54,4 +54,4 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
|
|
|
54
54
|
export {
|
|
55
55
|
react_surface_default as default
|
|
56
56
|
};
|
|
57
|
-
//# sourceMappingURL=react-surface-
|
|
57
|
+
//# sourceMappingURL=react-surface-H3L7Y3ED.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/react-surface.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { SettingsStore } from '@dxos/local-storage';\nimport { Markdown } from '@dxos/plugin-markdown/types';\nimport { DataType } from '@dxos/schema';\n\nimport {\n CollectionPresenterContainer,\n DocumentPresenterContainer,\n MarkdownSlide,\n PresenterSettings,\n} from '../components';\nimport { PRESENTER_PLUGIN } from '../meta';\nimport { type PresenterSettingsProps } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${PRESENTER_PLUGIN}/document`,\n role: 'article',\n position: 'hoist',\n filter: (data): data is { subject: Markdown.Document; variant: 'presenter' } =>\n Obj.instanceOf(Markdown.Document, data.subject) && data.variant === 'presenter',\n component: ({ data }) => <DocumentPresenterContainer document={data.subject} />,\n }),\n createSurface({\n id: `${PRESENTER_PLUGIN}/collection`,\n role: 'article',\n position: 'hoist',\n filter: (data): data is { subject: DataType.Collection; variant: 'presenter' } =>\n Obj.instanceOf(DataType.Collection, data.subject) && data.variant === 'presenter',\n component: ({ data }) => <CollectionPresenterContainer collection={data.subject} />,\n }),\n createSurface({\n id: `${PRESENTER_PLUGIN}/slide`,\n role: 'slide',\n filter: (data): data is { subject: Markdown.Document } => Obj.instanceOf(Markdown.Document, data.subject),\n component: ({ data }) => <MarkdownSlide document={data.subject} />,\n }),\n createSurface({\n id: `${PRESENTER_PLUGIN}/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<PresenterSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === PRESENTER_PLUGIN,\n component: ({ data: { subject } }) => <PresenterSettings settings={subject.value} />,\n }),\n ]);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,aAAaC,qBAAqB;AACzD,SAASC,WAAW;AACpB,SAASC,qBAAqB;AAC9B,SAASC,gBAAgB;AACzB,SAASC,gBAAgB;AAWzB,IAAA,wBAAe,MACbC,YAAYC,aAAaC,cAAc;EACrCC,cAAc;IACZC,IAAI,GAAGC,gBAAAA;IACPC,MAAM;IACNC,UAAU;IACVC,QAAQ,CAACC,SACPC,IAAIC,WAAWC,SAASC,UAAUJ,KAAKK,OAAO,KAAKL,KAAKM,YAAY;IACtEC,WAAW,CAAC,EAAEP,KAAI,MAAO,sBAAA,cAACQ,4BAAAA;MAA2BC,UAAUT,KAAKK;;EACtE,CAAA;EACAX,cAAc;IACZC,IAAI,GAAGC,gBAAAA;IACPC,MAAM;IACNC,UAAU;IACVC,QAAQ,CAACC,SACPC,IAAIC,WAAWQ,SAASC,YAAYX,KAAKK,OAAO,KAAKL,KAAKM,YAAY;IACxEC,WAAW,CAAC,EAAEP,KAAI,MAAO,sBAAA,cAACY,8BAAAA;MAA6BC,YAAYb,KAAKK;;EAC1E,CAAA;EACAX,cAAc;IACZC,IAAI,GAAGC,gBAAAA;IACPC,MAAM;IACNE,QAAQ,CAACC,SAAiDC,IAAIC,WAAWC,SAASC,UAAUJ,KAAKK,OAAO;IACxGE,WAAW,CAAC,EAAEP,KAAI,MAAO,sBAAA,cAACc,eAAAA;MAAcL,UAAUT,KAAKK;;EACzD,CAAA;EACAX,cAAc;IACZC,IAAI,GAAGC,gBAAAA;IACPC,MAAM;IACNE,QAAQ,CAACC,SACPA,KAAKK,mBAAmBU,iBAAiBf,KAAKK,QAAQW,WAAWpB;IACnEW,WAAW,CAAC,EAAEP,MAAM,EAAEK,QAAO,EAAE,MAAO,sBAAA,cAACY,mBAAAA;MAAkBC,UAAUb,QAAQc;;EAC7E,CAAA;CACD;",
|
|
6
|
+
"names": ["React", "Capabilities", "contributes", "createSurface", "Obj", "SettingsStore", "Markdown", "DataType", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "PRESENTER_PLUGIN", "role", "position", "filter", "data", "Obj", "instanceOf", "Markdown", "Document", "subject", "variant", "component", "DocumentPresenterContainer", "document", "DataType", "Collection", "CollectionPresenterContainer", "collection", "MarkdownSlide", "SettingsStore", "prefix", "PresenterSettings", "settings", "value"]
|
|
7
|
+
}
|