@dxos/plugin-presenter 0.8.3-main.672df60 → 0.8.3-staging.0fa589b

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/lib/browser/{CollectionPresenterContainer-7UXPBYKA.mjs → CollectionPresenterContainer-YEJSMZFR.mjs} +2 -2
  2. package/dist/lib/browser/CollectionPresenterContainer-YEJSMZFR.mjs.map +7 -0
  3. package/dist/lib/browser/{app-graph-builder-5NILN2ZH.mjs → app-graph-builder-NEAHHOKU.mjs} +5 -5
  4. package/dist/lib/browser/app-graph-builder-NEAHHOKU.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-K4SDUVTH.mjs → chunk-4OPZ2PG6.mjs} +2 -2
  6. package/dist/lib/browser/{chunk-Y6REDI5E.mjs → chunk-P2I7C2CY.mjs} +3 -3
  7. package/dist/lib/browser/chunk-P2I7C2CY.mjs.map +7 -0
  8. package/dist/lib/browser/index.mjs +4 -4
  9. package/dist/lib/browser/meta.json +1 -1
  10. package/dist/lib/browser/{react-surface-6AJLL4EM.mjs → react-surface-6WH4XLTT.mjs} +7 -7
  11. package/dist/lib/browser/react-surface-6WH4XLTT.mjs.map +7 -0
  12. package/dist/lib/browser/{settings-JBNMCJHB.mjs → settings-KZGHTWTK.mjs} +4 -4
  13. package/dist/lib/browser/settings-KZGHTWTK.mjs.map +7 -0
  14. package/dist/types/src/components/CollectionPresenterContainer.d.ts +2 -2
  15. package/dist/types/src/components/CollectionPresenterContainer.d.ts.map +1 -1
  16. package/dist/types/src/components/index.d.ts +1 -1
  17. package/dist/types/src/types.d.ts +11 -7
  18. package/dist/types/src/types.d.ts.map +1 -1
  19. package/package.json +23 -23
  20. package/src/capabilities/app-graph-builder.ts +4 -4
  21. package/src/capabilities/react-surface.tsx +6 -6
  22. package/src/capabilities/settings.ts +2 -2
  23. package/src/components/CollectionPresenterContainer.tsx +2 -2
  24. package/src/types.ts +2 -2
  25. package/dist/lib/browser/CollectionPresenterContainer-7UXPBYKA.mjs.map +0 -7
  26. package/dist/lib/browser/app-graph-builder-5NILN2ZH.mjs.map +0 -7
  27. package/dist/lib/browser/chunk-Y6REDI5E.mjs.map +0 -7
  28. package/dist/lib/browser/react-surface-6AJLL4EM.mjs.map +0 -7
  29. package/dist/lib/browser/settings-JBNMCJHB.mjs.map +0 -7
  30. /package/dist/lib/browser/{chunk-K4SDUVTH.mjs.map → chunk-4OPZ2PG6.mjs.map} +0 -0
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-2RWWAQZK.mjs";
4
4
  import {
5
5
  PresenterContext
6
- } from "./chunk-Y6REDI5E.mjs";
6
+ } from "./chunk-P2I7C2CY.mjs";
7
7
  import "./chunk-S2S5RFJ4.mjs";
8
8
 
9
9
  // packages/plugins/plugin-presenter/src/components/CollectionPresenterContainer.tsx
@@ -186,4 +186,4 @@ var CollectionPresenterContainer_default = CollectionPresenterContainer;
186
186
  export {
187
187
  CollectionPresenterContainer_default as default
188
188
  };
189
- //# sourceMappingURL=CollectionPresenterContainer-7UXPBYKA.mjs.map
189
+ //# sourceMappingURL=CollectionPresenterContainer-YEJSMZFR.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 { Layout, PageNumber, Pager } from './Presenter';\nimport { PresenterContext } from '../types';\nimport { useExitPresenter } from '../useExitPresenter';\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 { Play, X, CaretDoubleLeft, CaretDoubleRight, CaretLeft, CaretRight } from '@phosphor-icons/react';\nimport React, { type FC, useEffect } from 'react';\n\nimport { Button, useControlledState } from '@dxos/react-ui';\nimport { getSize, mx } from '@dxos/react-ui-theme';\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 <CaretDoubleLeft className={mx(getSize(6))} />\n </Button>\n <Button variant='ghost' classNames='p-0' onClick={() => handleChangeIndex(-1)}>\n <CaretLeft className={mx(getSize(6))} />\n </Button>\n <Button variant='ghost' classNames='p-0' onClick={() => handleChangeIndex(1)}>\n <CaretRight className={mx(getSize(6))} />\n </Button>\n <Button variant='ghost' classNames='p-0' onClick={() => onChange?.(count - 1)}>\n <CaretDoubleRight className={mx(getSize(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: FC<{ running?: boolean; onClick?: (start: boolean) => void }> = ({ running, onClick }) => {\n return (\n <Button variant='ghost' classNames='p-0' onClick={() => onClick?.(!running)}>\n {(running && <X className={mx(getSize(6))} />) || <Play className={mx(getSize(6))} />}\n </Button>\n );\n};\n"],
5
+ "mappings": ";;;;;;;;;;AAIA,OAAOA,UAAkBC,YAAYC,gBAAgB;AAErD,SAASC,eAAe;AACxB,SAASC,iBAAiB;;;;ACH1B,OAAOC,WAAuD;AAG9D,SAASC,UAAU;AAYZ,IAAMC,SAAS,CAAC,EAAEC,UAAUC,YAAYC,SAASC,UAAUC,YAAYC,YAAW,MAAe;;;AACtG,WACE,sBAAA,cAACC,OAAAA;MAAIC,WAAWC,GAAG,mDAAmDP,UAAAA;OACpE,sBAAA,cAACK,OAAAA;MAAIC,WAAWC,GAAG,oCAAA;OAAwCR,QAAAA,GAE3D,sBAAA,cAACM,OAAAA;MAAIC,WAAU;OACb,sBAAA,cAACD,OAAAA;MAAIC,WAAU;OAAyBL,OAAAA,GACxC,sBAAA,cAACI,OAAAA;MAAIC,WAAU;OAA0BJ,QAAAA,GACzC,sBAAA,cAACG,OAAAA;MAAIC,WAAU;OAA4BH,UAAAA,GAC3C,sBAAA,cAACE,OAAAA;MAAIC,WAAU;OAA6BF,WAAAA,CAAAA,CAAAA;;;;AAIpD;;;;AC5BA,SAASI,MAAMC,GAAGC,iBAAiBC,kBAAkBC,WAAWC,kBAAkB;AAClF,OAAOC,UAAkBC,iBAAiB;AAE1C,SAASC,QAAQC,0BAA0B;AAC3C,SAASC,SAASC,MAAAA,WAAU;AAUrB,IAAMC,QAAQ,CAAC,EAAEC,OAAOC,kBAAkB,GAAGC,QAAQ,GAAGC,MAAMC,UAAUC,OAAM,MAAc;;;AACjG,UAAM,CAACL,OAAOM,QAAAA,IAAYC,mBAAmBN,eAAAA;AAC7CO,cAAU,MAAA;AACRJ,iBAAWJ,KAAAA;IACb,GAAG;MAACA;KAAM;AAEV,UAAMS,oBAAoB,CAACC,QAAAA;AACzBJ,eAAS,CAACN,WAAAA;AACR,cAAMW,OAAOX,SAAQU;AACrB,eAAOC,QAAQ,KAAKA,OAAOT,QAAQS,OAAOX;MAC5C,CAAA;IACF;AAGAQ,cAAU,MAAA;AACR,UAAI,CAACL,MAAM;AACT;MACF;AAEA,YAAMS,iBAAiB,CAACC,UAAAA;AACtB,gBAAQA,MAAMC,KAAG;UACf,KAAK,UAAU;AACbT,qBAAAA;AACA;UACF;UACA,KAAK,aAAa;AAChB,gBAAIQ,MAAME,UAAU;AAClBX,yBAAW,CAAA;YACb,OAAO;AACLK,gCAAkB,EAAC;YACrB;AACA;UACF;UACA,KAAK,cAAc;AACjB,gBAAII,MAAME,UAAU;AAClBX,yBAAWF,QAAQ,CAAA;YACrB,OAAO;AACLO,gCAAkB,CAAA;YACpB;AACA;UACF;UACA,KAAK,WAAW;AACdL,uBAAW,CAAA;AACX;UACF;UACA,KAAK,aAAa;AAChBA,uBAAWF,QAAQ,CAAA;AACnB;UACF;QACF;MACF;AAEAc,aAAOC,iBAAiB,WAAWL,cAAAA;AACnC,aAAO,MAAMI,OAAOE,oBAAoB,WAAWN,cAAAA;IACrD,GAAG;MAACT;MAAMD;KAAM;AAEhB,QAAIF,UAAUmB,UAAa,CAACjB,OAAO;AACjC,aAAO;IACT;AAEA,WACE,gBAAAkB,OAAA,cAACC,OAAAA;MAAIC,WAAU;OACb,gBAAAF,OAAA,cAACG,QAAAA;MAAOC,SAAQ;MAAQC,YAAW;MAAMC,SAAS,MAAMtB,WAAW,CAAA;OACjE,gBAAAgB,OAAA,cAACO,iBAAAA;MAAgBL,WAAWM,IAAGC,QAAQ,CAAA,CAAA;SAEzC,gBAAAT,OAAA,cAACG,QAAAA;MAAOC,SAAQ;MAAQC,YAAW;MAAMC,SAAS,MAAMjB,kBAAkB,EAAC;OACzE,gBAAAW,OAAA,cAACU,WAAAA;MAAUR,WAAWM,IAAGC,QAAQ,CAAA,CAAA;SAEnC,gBAAAT,OAAA,cAACG,QAAAA;MAAOC,SAAQ;MAAQC,YAAW;MAAMC,SAAS,MAAMjB,kBAAkB,CAAA;OACxE,gBAAAW,OAAA,cAACW,YAAAA;MAAWT,WAAWM,IAAGC,QAAQ,CAAA,CAAA;SAEpC,gBAAAT,OAAA,cAACG,QAAAA;MAAOC,SAAQ;MAAQC,YAAW;MAAMC,SAAS,MAAMtB,WAAWF,QAAQ,CAAA;OACzE,gBAAAkB,OAAA,cAACY,kBAAAA;MAAiBV,WAAWM,IAAGC,QAAQ,CAAA,CAAA;;;;;AAIhD;AAOO,IAAMI,aAAa,CAAC,EAAEjC,QAAQ,GAAGE,QAAQ,EAAC,MAAmB;;;AAClE,QAAIF,UAAUmB,UAAa,CAACjB,OAAO;AACjC,aAAO;IACT;AAEA,WACE,gBAAAkB,OAAA,cAACC,OAAAA;MAAIC,WAAU;OACb,gBAAAF,OAAA,cAACC,OAAAA,MACErB,QAAQ,GAAE,OAAIE,KAAAA,CAAAA;;;;AAIvB;;;AFnGA,IAAMgC,+BAAwE,CAAC,EAAEC,WAAU,MAAE;;;AAC3F,UAAM,CAACC,OAAOC,QAAAA,IAAYC,SAAS,CAAA;AAEnC,UAAM,EAAEC,QAAO,IAAKC,WAAWC,gBAAAA;AAE/B,UAAMC,aAAaC,iBAAiBR,UAAAA;AAEpC,WACE,gBAAAS,OAAA,cAACC,UAAUC,SAAO;MAACC,YAAW;OAC5B,gBAAAH,OAAA,cAACI,QAAAA;MACCC,aAAa,gBAAAL,OAAA,cAACM,YAAAA;QAAWC,OAAOf;QAAOgB,OAAOjB,WAAWkB,QAAQC;;MACjEC,YACE,gBAAAX,OAAA,cAACY,OAAAA;QACCL,OAAOf;QACPgB,OAAOjB,WAAWkB,QAAQC;QAC1BG,MAAMlB;QACNmB,UAAUrB;QACVsB,QAAQjB;;OAKZ,gBAAAE,OAAA,cAACgB,SAAAA;MAAQC,MAAK;MAAQC,MAAM;QAAEC,SAAS5B,WAAWkB,QAAQjB,KAAAA;MAAO;MAAG4B,aAAa,gBAAApB,OAAA,cAAAA,OAAA,UAAA,IAAA;;;;;AAIzF;AAEA,IAAA,uCAAeV;",
6
+ "names": ["React", "useContext", "useState", "Surface", "StackItem", "React", "mx", "Layout", "children", "classNames", "topLeft", "topRight", "bottomLeft", "bottomRight", "div", "className", "mx", "Play", "X", "CaretDoubleLeft", "CaretDoubleRight", "CaretLeft", "CaretRight", "React", "useEffect", "Button", "useControlledState", "getSize", "mx", "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", "CaretDoubleLeft", "mx", "getSize", "CaretLeft", "CaretRight", "CaretDoubleRight", "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
  PresenterAction
3
- } from "./chunk-Y6REDI5E.mjs";
3
+ } from "./chunk-P2I7C2CY.mjs";
4
4
  import {
5
5
  PRESENTER_PLUGIN
6
6
  } from "./chunk-S2S5RFJ4.mjs";
@@ -9,19 +9,19 @@ import {
9
9
  import { Rx } from "@effect-rx/rx-react";
10
10
  import { Option, pipe } from "effect";
11
11
  import { contributes, Capabilities, createIntent, LayoutAction } from "@dxos/app-framework";
12
- import { isInstanceOf } from "@dxos/echo-schema";
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
16
  import { DocumentType } from "@dxos/plugin-markdown/types";
17
- import { CollectionType } from "@dxos/plugin-space/types";
18
17
  import { fullyQualifiedId, getSpace } from "@dxos/react-client/echo";
18
+ import { DataType } from "@dxos/schema";
19
19
  var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBuilder, createExtension({
20
20
  id: PRESENTER_PLUGIN,
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 ? isInstanceOf(CollectionType, node2.data) || isInstanceOf(DocumentType, node2.data) : isInstanceOf(DocumentType, node2.data);
24
+ const isPresentable = settings?.presentCollections ? Obj.instanceOf(DataType.Collection, node2.data) || Obj.instanceOf(DocumentType, node2.data) : Obj.instanceOf(DocumentType, 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-5NILN2ZH.mjs.map
77
+ //# sourceMappingURL=app-graph-builder-NEAHHOKU.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 { contributes, type PluginContext, Capabilities, createIntent, LayoutAction } 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 { DocumentType } 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(DocumentType, node.data)\n : Obj.instanceOf(DocumentType, 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,aAAiCC,cAAcC,cAAcC,oBAAoB;AAC1F,SAASC,WAAW;AACpB,SAASC,wBAAwB;AACjC,SAASC,2BAA2BC,kBAAkB;AACtD,SAASC,iBAAiBC,oBAAoB;AAC9C,SAASC,oBAAoB;AAC7B,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,cAAcrB,MAAKoB,IAAI,IACxFJ,IAAIC,WAAWI,cAAcrB,MAAKoB,IAAI;AAC1C,WAAON,gBAAgBT,OAAOiB,KAAKtB,MAAKoB,IAAI,IAAIf,OAAOkB,KAAI;EAC7D,CAAA,GACAlB,OAAOmB,IAAI,CAACC,WAAAA;AACV,UAAM5B,KAAK6B,iBAAiBD,MAAAA;AAC5B,UAAME,UAAUC,SAASH,MAAAA,GAAS5B;AAClC,WAAO;MACL;QACEA,IAAI,GAAGgC,gBAAgBC,mBAAmBC,IAAI,IAAIlC,EAAAA;;;QAGlDuB,MAAM,YAAA;AACJ,gBAAM,EAAEY,iBAAiBC,SAAQ,IAAKzC,QAAQ0C,cAAcxC,aAAayC,gBAAgB;AACzF,gBAAMC,SAAS5C,QAAQ0C,cAAcG,iBAAiBC,gBAAgB;AACtE,gBAAMC,cAAc;YAAC1C;YAAI;YAAa2C,KAAKC,yBAAAA;AAC3C,cAAI,CAACL,OAAOM,KAAKC,YAAY;AAC3B,iBAAKV,SACHW,aAAaC,WAAWC,QAAQ;cAC9BC,MAAM;cACNlD,IAAI0C;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,IAAI1D;YAAiB;;UAC5D2D,MAAM;UACNC,YAAY;YACVC,OAAO;YACPC,SAAS;UACX;QACF;MACF;;EAEJ,CAAA,GACAvD,OAAOwD,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;AAGjC,CAAA,CAAA;",
6
+ "names": ["Rx", "Option", "pipe", "contributes", "Capabilities", "createIntent", "LayoutAction", "Obj", "DeckCapabilities", "ATTENDABLE_PATH_SEPARATOR", "DeckAction", "createExtension", "rxFromSignal", "DocumentType", "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", "DocumentType", "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
+ }
@@ -26,7 +26,7 @@ var PresenterSettings = ({ settings }) => {
26
26
  import { lazy } from "react";
27
27
  var MarkdownSlide = lazy(() => import("./MarkdownSlide-EI5XTZGO.mjs"));
28
28
  var DocumentPresenterContainer = lazy(() => import("./DocumentPresenterContainer-QNXYZ5WX.mjs"));
29
- var CollectionPresenterContainer = lazy(() => import("./CollectionPresenterContainer-7UXPBYKA.mjs"));
29
+ var CollectionPresenterContainer = lazy(() => import("./CollectionPresenterContainer-YEJSMZFR.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-K4SDUVTH.mjs.map
37
+ //# sourceMappingURL=chunk-4OPZ2PG6.mjs.map
@@ -6,12 +6,12 @@ import {
6
6
  import { Schema } from "effect";
7
7
  import { createContext } from "react";
8
8
  import { DocumentType } from "@dxos/plugin-markdown/types";
9
- import { CollectionType } from "@dxos/plugin-space/types";
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(DocumentType, CollectionType),
14
+ object: Schema.Union(DocumentType, 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-Y6REDI5E.mjs.map
39
+ //# sourceMappingURL=chunk-P2I7C2CY.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 { DocumentType } 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(DocumentType, 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,oBAAoB;AAC7B,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,cAAcC,SAASC,UAAU;MACtDC,OAAOT,OAAOU,SAASV,OAAOW,OAAO;IACvC,CAAA;IACAC,QAAQZ,OAAOa;EACjB,CAAA,EAAA;EACC;mBATUd,qBAAAA;AAUf,GAbiBH,oBAAAA,kBAAAA,CAAAA,EAAAA;AAqBV,IAAMkB,mBAAkDC,cAAoC;EACjGC,SAAS;EACTC,OAAO,MAAA;EAAO;EACdC,MAAM,MAAA;EAAO;AACf,CAAA;AAEO,IAAMC,0BAA0BnB,OAAOoB,QAC5CpB,OAAOG,OAAO;EACZkB,oBAAoBrB,OAAOU,SAASV,OAAOW,OAAO;AACpD,CAAA,CAAA;;",
6
+ "names": ["Schema", "createContext", "DocumentType", "DataType", "PresenterAction", "PRESENTER_ACTION", "PRESENTER_PLUGIN", "TogglePresentation", "Schema", "TaggedClass", "input", "Struct", "object", "Union", "DocumentType", "DataType", "Collection", "state", "optional", "Boolean", "output", "Void", "PresenterContext", "createContext", "running", "start", "stop", "PresenterSettingsSchema", "mutable", "presentCollections"]
7
+ }
@@ -3,7 +3,7 @@ import {
3
3
  DocumentPresenterContainer,
4
4
  MarkdownSlide,
5
5
  PresenterSettings
6
- } from "./chunk-K4SDUVTH.mjs";
6
+ } from "./chunk-4OPZ2PG6.mjs";
7
7
  import {
8
8
  PRESENTER_PLUGIN,
9
9
  meta
@@ -14,9 +14,9 @@ import { definePlugin, defineModule, Events, contributes, Capabilities } from "@
14
14
 
15
15
  // packages/plugins/plugin-presenter/src/capabilities/index.ts
16
16
  import { lazy } from "@dxos/app-framework";
17
- var AppGraphBuilder = lazy(() => import("./app-graph-builder-5NILN2ZH.mjs"));
18
- var ReactSurface = lazy(() => import("./react-surface-6AJLL4EM.mjs"));
19
- var PresenterSettings2 = lazy(() => import("./settings-JBNMCJHB.mjs"));
17
+ var AppGraphBuilder = lazy(() => import("./app-graph-builder-NEAHHOKU.mjs"));
18
+ var ReactSurface = lazy(() => import("./react-surface-6WH4XLTT.mjs"));
19
+ var PresenterSettings2 = lazy(() => import("./settings-KZGHTWTK.mjs"));
20
20
 
21
21
  // packages/plugins/plugin-presenter/src/translations.ts
22
22
  var translations_default = [
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-presenter/src/meta.ts":{"bytes":1462,"imports":[],"format":"esm"},"packages/plugins/plugin-presenter/src/components/PresenterSettings.tsx":{"bytes":3128,"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":"packages/plugins/plugin-presenter/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-presenter/src/components/Markdown/Container.tsx":{"bytes":8344,"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"},"packages/plugins/plugin-presenter/src/components/Markdown/theme.ts":{"bytes":2173,"imports":[],"format":"esm"},"packages/plugins/plugin-presenter/src/components/Markdown/Slide.tsx":{"bytes":17587,"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":"packages/plugins/plugin-presenter/src/components/Markdown/theme.ts","kind":"import-statement","original":"./theme"}],"format":"esm"},"packages/plugins/plugin-presenter/src/components/Markdown/index.ts":{"bytes":579,"imports":[{"path":"packages/plugins/plugin-presenter/src/components/Markdown/Container.tsx","kind":"import-statement","original":"./Container"},{"path":"packages/plugins/plugin-presenter/src/components/Markdown/Slide.tsx","kind":"import-statement","original":"./Slide"}],"format":"esm"},"packages/plugins/plugin-presenter/src/components/MarkdownSlide.tsx":{"bytes":2050,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-presenter/src/components/Markdown/index.ts","kind":"import-statement","original":"./Markdown"}],"format":"esm"},"packages/plugins/plugin-presenter/src/components/RevealPlayer/RevealPlayer.tsx":{"bytes":16725,"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"},"packages/plugins/plugin-presenter/src/components/RevealPlayer/index.ts":{"bytes":509,"imports":[{"path":"packages/plugins/plugin-presenter/src/components/RevealPlayer/RevealPlayer.tsx","kind":"import-statement","original":"./RevealPlayer"}],"format":"esm"},"packages/plugins/plugin-presenter/src/useExitPresenter.ts":{"bytes":4175,"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"},"packages/plugins/plugin-presenter/src/components/DocumentPresenterContainer.tsx":{"bytes":2713,"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":"packages/plugins/plugin-presenter/src/components/RevealPlayer/index.ts","kind":"import-statement","original":"./RevealPlayer"},{"path":"packages/plugins/plugin-presenter/src/useExitPresenter.ts","kind":"import-statement","original":"../useExitPresenter"}],"format":"esm"},"packages/plugins/plugin-presenter/src/components/Presenter/Layout.tsx":{"bytes":3639,"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"},"packages/plugins/plugin-presenter/src/components/Presenter/Pager.tsx":{"bytes":12960,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","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-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-presenter/src/components/Presenter/index.ts":{"bytes":573,"imports":[{"path":"packages/plugins/plugin-presenter/src/components/Presenter/Layout.tsx","kind":"import-statement","original":"./Layout"},{"path":"packages/plugins/plugin-presenter/src/components/Presenter/Pager.tsx","kind":"import-statement","original":"./Pager"}],"format":"esm"},"packages/plugins/plugin-presenter/src/types.ts":{"bytes":4286,"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/plugin-space/types","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-presenter/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-presenter/src/components/CollectionPresenterContainer.tsx":{"bytes":5217,"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":"packages/plugins/plugin-presenter/src/components/Presenter/index.ts","kind":"import-statement","original":"./Presenter"},{"path":"packages/plugins/plugin-presenter/src/types.ts","kind":"import-statement","original":"../types"},{"path":"packages/plugins/plugin-presenter/src/useExitPresenter.ts","kind":"import-statement","original":"../useExitPresenter"}],"format":"esm"},"packages/plugins/plugin-presenter/src/components/index.ts":{"bytes":1545,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-presenter/src/components/PresenterSettings.tsx","kind":"import-statement","original":"./PresenterSettings"},{"path":"packages/plugins/plugin-presenter/src/components/MarkdownSlide.tsx","kind":"dynamic-import","original":"./MarkdownSlide"},{"path":"packages/plugins/plugin-presenter/src/components/DocumentPresenterContainer.tsx","kind":"dynamic-import","original":"./DocumentPresenterContainer"},{"path":"packages/plugins/plugin-presenter/src/components/CollectionPresenterContainer.tsx","kind":"dynamic-import","original":"./CollectionPresenterContainer"}],"format":"esm"},"packages/plugins/plugin-presenter/src/capabilities/app-graph-builder.ts":{"bytes":12531,"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-schema","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/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-presenter/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-presenter/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-presenter/src/capabilities/react-surface.tsx":{"bytes":7358,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","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/plugin-space/types","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-presenter/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-presenter/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-presenter/src/capabilities/settings.ts":{"bytes":1968,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-presenter/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-presenter/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-presenter/src/capabilities/index.ts":{"bytes":1308,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-presenter/src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"packages/plugins/plugin-presenter/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"},{"path":"packages/plugins/plugin-presenter/src/capabilities/settings.ts","kind":"dynamic-import","original":"./settings"}],"format":"esm"},"packages/plugins/plugin-presenter/src/translations.ts":{"bytes":1358,"imports":[{"path":"packages/plugins/plugin-presenter/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-presenter/src/PresenterPlugin.tsx":{"bytes":4418,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-presenter/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-presenter/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-presenter/src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"packages/plugins/plugin-presenter/src/index.ts":{"bytes":666,"imports":[{"path":"packages/plugins/plugin-presenter/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-presenter/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-presenter/src/PresenterPlugin.tsx","kind":"import-statement","original":"./PresenterPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-presenter/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3199},"packages/plugins/plugin-presenter/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-K4SDUVTH.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-S2S5RFJ4.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-presenter/dist/lib/browser/app-graph-builder-5NILN2ZH.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-presenter/dist/lib/browser/react-surface-6AJLL4EM.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-presenter/dist/lib/browser/settings-JBNMCJHB.mjs","kind":"dynamic-import"}],"exports":["CollectionPresenterContainer","DocumentPresenterContainer","MarkdownSlide","PRESENTER_PLUGIN","PresenterPlugin","PresenterSettings","meta"],"entryPoint":"packages/plugins/plugin-presenter/src/index.ts","inputs":{"packages/plugins/plugin-presenter/src/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-presenter/src/PresenterPlugin.tsx":{"bytesInOutput":750},"packages/plugins/plugin-presenter/src/capabilities/index.ts":{"bytesInOutput":265},"packages/plugins/plugin-presenter/src/translations.ts":{"bytesInOutput":255}},"bytes":1915},"packages/plugins/plugin-presenter/dist/lib/browser/MarkdownSlide-EI5XTZGO.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":13468},"packages/plugins/plugin-presenter/dist/lib/browser/MarkdownSlide-EI5XTZGO.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":"packages/plugins/plugin-presenter/src/components/MarkdownSlide.tsx","inputs":{"packages/plugins/plugin-presenter/src/components/MarkdownSlide.tsx":{"bytesInOutput":504},"packages/plugins/plugin-presenter/src/components/Markdown/Container.tsx":{"bytesInOutput":1552},"packages/plugins/plugin-presenter/src/components/Markdown/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-presenter/src/components/Markdown/Slide.tsx":{"bytesInOutput":5281},"packages/plugins/plugin-presenter/src/components/Markdown/theme.ts":{"bytesInOutput":516}},"bytes":8384},"packages/plugins/plugin-presenter/dist/lib/browser/DocumentPresenterContainer-QNXYZ5WX.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8908},"packages/plugins/plugin-presenter/dist/lib/browser/DocumentPresenterContainer-QNXYZ5WX.mjs":{"imports":[{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-2RWWAQZK.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":"packages/plugins/plugin-presenter/src/components/DocumentPresenterContainer.tsx","inputs":{"packages/plugins/plugin-presenter/src/components/DocumentPresenterContainer.tsx":{"bytesInOutput":658},"packages/plugins/plugin-presenter/src/components/RevealPlayer/RevealPlayer.tsx":{"bytesInOutput":4731},"packages/plugins/plugin-presenter/src/components/RevealPlayer/index.ts":{"bytesInOutput":0}},"bytes":5824},"packages/plugins/plugin-presenter/dist/lib/browser/CollectionPresenterContainer-7UXPBYKA.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10337},"packages/plugins/plugin-presenter/dist/lib/browser/CollectionPresenterContainer-7UXPBYKA.mjs":{"imports":[{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-2RWWAQZK.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-Y6REDI5E.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-S2S5RFJ4.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":"@phosphor-icons/react","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-theme","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-presenter/src/components/CollectionPresenterContainer.tsx","inputs":{"packages/plugins/plugin-presenter/src/components/CollectionPresenterContainer.tsx":{"bytesInOutput":1332},"packages/plugins/plugin-presenter/src/components/Presenter/Layout.tsx":{"bytesInOutput":1093},"packages/plugins/plugin-presenter/src/components/Presenter/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-presenter/src/components/Presenter/Pager.tsx":{"bytesInOutput":3363}},"bytes":6385},"packages/plugins/plugin-presenter/dist/lib/browser/chunk-2RWWAQZK.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2297},"packages/plugins/plugin-presenter/dist/lib/browser/chunk-2RWWAQZK.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":{"packages/plugins/plugin-presenter/src/useExitPresenter.ts":{"bytesInOutput":954}},"bytes":1091},"packages/plugins/plugin-presenter/dist/lib/browser/app-graph-builder-5NILN2ZH.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6382},"packages/plugins/plugin-presenter/dist/lib/browser/app-graph-builder-5NILN2ZH.mjs":{"imports":[{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-Y6REDI5E.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-S2S5RFJ4.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-schema","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/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-presenter/src/capabilities/app-graph-builder.ts","inputs":{"packages/plugins/plugin-presenter/src/capabilities/app-graph-builder.ts":{"bytesInOutput":2773}},"bytes":3073},"packages/plugins/plugin-presenter/dist/lib/browser/react-surface-6AJLL4EM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3718},"packages/plugins/plugin-presenter/dist/lib/browser/react-surface-6AJLL4EM.mjs":{"imports":[{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-K4SDUVTH.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-S2S5RFJ4.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","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/plugin-space/types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-presenter/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-presenter/src/capabilities/react-surface.tsx":{"bytesInOutput":1680}},"bytes":2050},"packages/plugins/plugin-presenter/dist/lib/browser/chunk-K4SDUVTH.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2252},"packages/plugins/plugin-presenter/dist/lib/browser/chunk-K4SDUVTH.mjs":{"imports":[{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-S2S5RFJ4.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":"packages/plugins/plugin-presenter/dist/lib/browser/MarkdownSlide-EI5XTZGO.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-presenter/dist/lib/browser/DocumentPresenterContainer-QNXYZ5WX.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-presenter/dist/lib/browser/CollectionPresenterContainer-7UXPBYKA.mjs","kind":"dynamic-import"}],"exports":["CollectionPresenterContainer","DocumentPresenterContainer","MarkdownSlide","PresenterSettings"],"inputs":{"packages/plugins/plugin-presenter/src/components/PresenterSettings.tsx":{"bytesInOutput":791},"packages/plugins/plugin-presenter/src/components/index.ts":{"bytesInOutput":302}},"bytes":1445},"packages/plugins/plugin-presenter/dist/lib/browser/settings-JBNMCJHB.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1002},"packages/plugins/plugin-presenter/dist/lib/browser/settings-JBNMCJHB.mjs":{"imports":[{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-Y6REDI5E.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-S2S5RFJ4.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":"packages/plugins/plugin-presenter/src/capabilities/settings.ts","inputs":{"packages/plugins/plugin-presenter/src/capabilities/settings.ts":{"bytesInOutput":309}},"bytes":590},"packages/plugins/plugin-presenter/dist/lib/browser/chunk-Y6REDI5E.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2344},"packages/plugins/plugin-presenter/dist/lib/browser/chunk-Y6REDI5E.mjs":{"imports":[{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-S2S5RFJ4.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/plugin-space/types","kind":"import-statement","external":true}],"exports":["PresenterAction","PresenterContext","PresenterSettingsSchema"],"inputs":{"packages/plugins/plugin-presenter/src/types.ts":{"bytesInOutput":903}},"bytes":1135},"packages/plugins/plugin-presenter/dist/lib/browser/chunk-S2S5RFJ4.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":712},"packages/plugins/plugin-presenter/dist/lib/browser/chunk-S2S5RFJ4.mjs":{"imports":[],"exports":["PRESENTER_PLUGIN","meta"],"inputs":{"packages/plugins/plugin-presenter/src/meta.ts":{"bytesInOutput":286}},"bytes":419}}}
1
+ {"inputs":{"packages/plugins/plugin-presenter/src/meta.ts":{"bytes":1462,"imports":[],"format":"esm"},"packages/plugins/plugin-presenter/src/components/PresenterSettings.tsx":{"bytes":3128,"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":"packages/plugins/plugin-presenter/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-presenter/src/components/Markdown/Container.tsx":{"bytes":8344,"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"},"packages/plugins/plugin-presenter/src/components/Markdown/theme.ts":{"bytes":2173,"imports":[],"format":"esm"},"packages/plugins/plugin-presenter/src/components/Markdown/Slide.tsx":{"bytes":17587,"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":"packages/plugins/plugin-presenter/src/components/Markdown/theme.ts","kind":"import-statement","original":"./theme"}],"format":"esm"},"packages/plugins/plugin-presenter/src/components/Markdown/index.ts":{"bytes":579,"imports":[{"path":"packages/plugins/plugin-presenter/src/components/Markdown/Container.tsx","kind":"import-statement","original":"./Container"},{"path":"packages/plugins/plugin-presenter/src/components/Markdown/Slide.tsx","kind":"import-statement","original":"./Slide"}],"format":"esm"},"packages/plugins/plugin-presenter/src/components/MarkdownSlide.tsx":{"bytes":2050,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-presenter/src/components/Markdown/index.ts","kind":"import-statement","original":"./Markdown"}],"format":"esm"},"packages/plugins/plugin-presenter/src/components/RevealPlayer/RevealPlayer.tsx":{"bytes":16725,"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"},"packages/plugins/plugin-presenter/src/components/RevealPlayer/index.ts":{"bytes":509,"imports":[{"path":"packages/plugins/plugin-presenter/src/components/RevealPlayer/RevealPlayer.tsx","kind":"import-statement","original":"./RevealPlayer"}],"format":"esm"},"packages/plugins/plugin-presenter/src/useExitPresenter.ts":{"bytes":4175,"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"},"packages/plugins/plugin-presenter/src/components/DocumentPresenterContainer.tsx":{"bytes":2713,"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":"packages/plugins/plugin-presenter/src/components/RevealPlayer/index.ts","kind":"import-statement","original":"./RevealPlayer"},{"path":"packages/plugins/plugin-presenter/src/useExitPresenter.ts","kind":"import-statement","original":"../useExitPresenter"}],"format":"esm"},"packages/plugins/plugin-presenter/src/components/Presenter/Layout.tsx":{"bytes":3639,"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"},"packages/plugins/plugin-presenter/src/components/Presenter/Pager.tsx":{"bytes":12960,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","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-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-presenter/src/components/Presenter/index.ts":{"bytes":573,"imports":[{"path":"packages/plugins/plugin-presenter/src/components/Presenter/Layout.tsx","kind":"import-statement","original":"./Layout"},{"path":"packages/plugins/plugin-presenter/src/components/Presenter/Pager.tsx","kind":"import-statement","original":"./Pager"}],"format":"esm"},"packages/plugins/plugin-presenter/src/types.ts":{"bytes":4281,"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":"packages/plugins/plugin-presenter/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-presenter/src/components/CollectionPresenterContainer.tsx":{"bytes":5201,"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":"packages/plugins/plugin-presenter/src/components/Presenter/index.ts","kind":"import-statement","original":"./Presenter"},{"path":"packages/plugins/plugin-presenter/src/types.ts","kind":"import-statement","original":"../types"},{"path":"packages/plugins/plugin-presenter/src/useExitPresenter.ts","kind":"import-statement","original":"../useExitPresenter"}],"format":"esm"},"packages/plugins/plugin-presenter/src/components/index.ts":{"bytes":1545,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-presenter/src/components/PresenterSettings.tsx","kind":"import-statement","original":"./PresenterSettings"},{"path":"packages/plugins/plugin-presenter/src/components/MarkdownSlide.tsx","kind":"dynamic-import","original":"./MarkdownSlide"},{"path":"packages/plugins/plugin-presenter/src/components/DocumentPresenterContainer.tsx","kind":"dynamic-import","original":"./DocumentPresenterContainer"},{"path":"packages/plugins/plugin-presenter/src/components/CollectionPresenterContainer.tsx","kind":"dynamic-import","original":"./CollectionPresenterContainer"}],"format":"esm"},"packages/plugins/plugin-presenter/src/capabilities/app-graph-builder.ts":{"bytes":12552,"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":"packages/plugins/plugin-presenter/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-presenter/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-presenter/src/capabilities/react-surface.tsx":{"bytes":7379,"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":"packages/plugins/plugin-presenter/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-presenter/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-presenter/src/capabilities/settings.ts":{"bytes":1923,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-presenter/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-presenter/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-presenter/src/capabilities/index.ts":{"bytes":1308,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-presenter/src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"packages/plugins/plugin-presenter/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"},{"path":"packages/plugins/plugin-presenter/src/capabilities/settings.ts","kind":"dynamic-import","original":"./settings"}],"format":"esm"},"packages/plugins/plugin-presenter/src/translations.ts":{"bytes":1358,"imports":[{"path":"packages/plugins/plugin-presenter/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-presenter/src/PresenterPlugin.tsx":{"bytes":4418,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-presenter/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-presenter/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-presenter/src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"packages/plugins/plugin-presenter/src/index.ts":{"bytes":666,"imports":[{"path":"packages/plugins/plugin-presenter/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-presenter/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-presenter/src/PresenterPlugin.tsx","kind":"import-statement","original":"./PresenterPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-presenter/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3199},"packages/plugins/plugin-presenter/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-4OPZ2PG6.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-S2S5RFJ4.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-presenter/dist/lib/browser/app-graph-builder-NEAHHOKU.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-presenter/dist/lib/browser/react-surface-6WH4XLTT.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-presenter/dist/lib/browser/settings-KZGHTWTK.mjs","kind":"dynamic-import"}],"exports":["CollectionPresenterContainer","DocumentPresenterContainer","MarkdownSlide","PRESENTER_PLUGIN","PresenterPlugin","PresenterSettings","meta"],"entryPoint":"packages/plugins/plugin-presenter/src/index.ts","inputs":{"packages/plugins/plugin-presenter/src/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-presenter/src/PresenterPlugin.tsx":{"bytesInOutput":750},"packages/plugins/plugin-presenter/src/capabilities/index.ts":{"bytesInOutput":265},"packages/plugins/plugin-presenter/src/translations.ts":{"bytesInOutput":255}},"bytes":1915},"packages/plugins/plugin-presenter/dist/lib/browser/MarkdownSlide-EI5XTZGO.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":13468},"packages/plugins/plugin-presenter/dist/lib/browser/MarkdownSlide-EI5XTZGO.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":"packages/plugins/plugin-presenter/src/components/MarkdownSlide.tsx","inputs":{"packages/plugins/plugin-presenter/src/components/MarkdownSlide.tsx":{"bytesInOutput":504},"packages/plugins/plugin-presenter/src/components/Markdown/Container.tsx":{"bytesInOutput":1552},"packages/plugins/plugin-presenter/src/components/Markdown/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-presenter/src/components/Markdown/Slide.tsx":{"bytesInOutput":5281},"packages/plugins/plugin-presenter/src/components/Markdown/theme.ts":{"bytesInOutput":516}},"bytes":8384},"packages/plugins/plugin-presenter/dist/lib/browser/DocumentPresenterContainer-QNXYZ5WX.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8908},"packages/plugins/plugin-presenter/dist/lib/browser/DocumentPresenterContainer-QNXYZ5WX.mjs":{"imports":[{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-2RWWAQZK.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":"packages/plugins/plugin-presenter/src/components/DocumentPresenterContainer.tsx","inputs":{"packages/plugins/plugin-presenter/src/components/DocumentPresenterContainer.tsx":{"bytesInOutput":658},"packages/plugins/plugin-presenter/src/components/RevealPlayer/RevealPlayer.tsx":{"bytesInOutput":4731},"packages/plugins/plugin-presenter/src/components/RevealPlayer/index.ts":{"bytesInOutput":0}},"bytes":5824},"packages/plugins/plugin-presenter/dist/lib/browser/CollectionPresenterContainer-YEJSMZFR.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10324},"packages/plugins/plugin-presenter/dist/lib/browser/CollectionPresenterContainer-YEJSMZFR.mjs":{"imports":[{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-2RWWAQZK.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-P2I7C2CY.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-S2S5RFJ4.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":"@phosphor-icons/react","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-theme","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-presenter/src/components/CollectionPresenterContainer.tsx","inputs":{"packages/plugins/plugin-presenter/src/components/CollectionPresenterContainer.tsx":{"bytesInOutput":1332},"packages/plugins/plugin-presenter/src/components/Presenter/Layout.tsx":{"bytesInOutput":1093},"packages/plugins/plugin-presenter/src/components/Presenter/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-presenter/src/components/Presenter/Pager.tsx":{"bytesInOutput":3363}},"bytes":6385},"packages/plugins/plugin-presenter/dist/lib/browser/chunk-2RWWAQZK.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2297},"packages/plugins/plugin-presenter/dist/lib/browser/chunk-2RWWAQZK.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":{"packages/plugins/plugin-presenter/src/useExitPresenter.ts":{"bytesInOutput":954}},"bytes":1091},"packages/plugins/plugin-presenter/dist/lib/browser/app-graph-builder-NEAHHOKU.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6378},"packages/plugins/plugin-presenter/dist/lib/browser/app-graph-builder-NEAHHOKU.mjs":{"imports":[{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-P2I7C2CY.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-S2S5RFJ4.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":"packages/plugins/plugin-presenter/src/capabilities/app-graph-builder.ts","inputs":{"packages/plugins/plugin-presenter/src/capabilities/app-graph-builder.ts":{"bytesInOutput":2750}},"bytes":3050},"packages/plugins/plugin-presenter/dist/lib/browser/react-surface-6WH4XLTT.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3718},"packages/plugins/plugin-presenter/dist/lib/browser/react-surface-6WH4XLTT.mjs":{"imports":[{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-4OPZ2PG6.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-S2S5RFJ4.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":"packages/plugins/plugin-presenter/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-presenter/src/capabilities/react-surface.tsx":{"bytesInOutput":1657}},"bytes":2027},"packages/plugins/plugin-presenter/dist/lib/browser/chunk-4OPZ2PG6.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2252},"packages/plugins/plugin-presenter/dist/lib/browser/chunk-4OPZ2PG6.mjs":{"imports":[{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-S2S5RFJ4.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":"packages/plugins/plugin-presenter/dist/lib/browser/MarkdownSlide-EI5XTZGO.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-presenter/dist/lib/browser/DocumentPresenterContainer-QNXYZ5WX.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-presenter/dist/lib/browser/CollectionPresenterContainer-YEJSMZFR.mjs","kind":"dynamic-import"}],"exports":["CollectionPresenterContainer","DocumentPresenterContainer","MarkdownSlide","PresenterSettings"],"inputs":{"packages/plugins/plugin-presenter/src/components/PresenterSettings.tsx":{"bytesInOutput":791},"packages/plugins/plugin-presenter/src/components/index.ts":{"bytesInOutput":302}},"bytes":1445},"packages/plugins/plugin-presenter/dist/lib/browser/settings-KZGHTWTK.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":981},"packages/plugins/plugin-presenter/dist/lib/browser/settings-KZGHTWTK.mjs":{"imports":[{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-P2I7C2CY.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-S2S5RFJ4.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":"packages/plugins/plugin-presenter/src/capabilities/settings.ts","inputs":{"packages/plugins/plugin-presenter/src/capabilities/settings.ts":{"bytesInOutput":300}},"bytes":569},"packages/plugins/plugin-presenter/dist/lib/browser/chunk-P2I7C2CY.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2338},"packages/plugins/plugin-presenter/dist/lib/browser/chunk-P2I7C2CY.mjs":{"imports":[{"path":"packages/plugins/plugin-presenter/dist/lib/browser/chunk-S2S5RFJ4.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":{"packages/plugins/plugin-presenter/src/types.ts":{"bytesInOutput":890}},"bytes":1122},"packages/plugins/plugin-presenter/dist/lib/browser/chunk-S2S5RFJ4.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":712},"packages/plugins/plugin-presenter/dist/lib/browser/chunk-S2S5RFJ4.mjs":{"imports":[],"exports":["PRESENTER_PLUGIN","meta"],"inputs":{"packages/plugins/plugin-presenter/src/meta.ts":{"bytesInOutput":286}},"bytes":419}}}
@@ -3,7 +3,7 @@ import {
3
3
  DocumentPresenterContainer,
4
4
  MarkdownSlide,
5
5
  PresenterSettings
6
- } from "./chunk-K4SDUVTH.mjs";
6
+ } from "./chunk-4OPZ2PG6.mjs";
7
7
  import {
8
8
  PRESENTER_PLUGIN
9
9
  } from "./chunk-S2S5RFJ4.mjs";
@@ -11,16 +11,16 @@ import {
11
11
  // packages/plugins/plugin-presenter/src/capabilities/react-surface.tsx
12
12
  import React from "react";
13
13
  import { Capabilities, contributes, createSurface } from "@dxos/app-framework";
14
- import { isInstanceOf } from "@dxos/echo-schema";
14
+ import { Obj } from "@dxos/echo";
15
15
  import { SettingsStore } from "@dxos/local-storage";
16
16
  import { DocumentType } from "@dxos/plugin-markdown/types";
17
- import { CollectionType } from "@dxos/plugin-space/types";
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) => isInstanceOf(DocumentType, data.subject) && data.variant === "presenter",
23
+ filter: (data) => Obj.instanceOf(DocumentType, data.subject) && data.variant === "presenter",
24
24
  component: ({ data }) => /* @__PURE__ */ React.createElement(DocumentPresenterContainer, {
25
25
  document: data.subject
26
26
  })
@@ -29,7 +29,7 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
29
29
  id: `${PRESENTER_PLUGIN}/collection`,
30
30
  role: "article",
31
31
  position: "hoist",
32
- filter: (data) => isInstanceOf(CollectionType, data.subject) && data.variant === "presenter",
32
+ filter: (data) => Obj.instanceOf(DataType.Collection, data.subject) && data.variant === "presenter",
33
33
  component: ({ data }) => /* @__PURE__ */ React.createElement(CollectionPresenterContainer, {
34
34
  collection: data.subject
35
35
  })
@@ -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) => isInstanceOf(DocumentType, data.subject),
40
+ filter: (data) => Obj.instanceOf(DocumentType, 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-6AJLL4EM.mjs.map
57
+ //# sourceMappingURL=react-surface-6WH4XLTT.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 { DocumentType } from '@dxos/plugin-markdown/types';\nimport { DataType } from '@dxos/schema';\n\nimport {\n MarkdownSlide,\n PresenterSettings,\n DocumentPresenterContainer,\n CollectionPresenterContainer,\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: DocumentType; variant: 'presenter' } =>\n Obj.instanceOf(DocumentType, 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: DocumentType } => Obj.instanceOf(DocumentType, 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,oBAAoB;AAC7B,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,cAAcH,KAAKI,OAAO,KAAKJ,KAAKK,YAAY;IACjEC,WAAW,CAAC,EAAEN,KAAI,MAAO,sBAAA,cAACO,4BAAAA;MAA2BC,UAAUR,KAAKI;;EACtE,CAAA;EACAV,cAAc;IACZC,IAAI,GAAGC,gBAAAA;IACPC,MAAM;IACNC,UAAU;IACVC,QAAQ,CAACC,SACPC,IAAIC,WAAWO,SAASC,YAAYV,KAAKI,OAAO,KAAKJ,KAAKK,YAAY;IACxEC,WAAW,CAAC,EAAEN,KAAI,MAAO,sBAAA,cAACW,8BAAAA;MAA6BC,YAAYZ,KAAKI;;EAC1E,CAAA;EACAV,cAAc;IACZC,IAAI,GAAGC,gBAAAA;IACPC,MAAM;IACNE,QAAQ,CAACC,SAA4CC,IAAIC,WAAWC,cAAcH,KAAKI,OAAO;IAC9FE,WAAW,CAAC,EAAEN,KAAI,MAAO,sBAAA,cAACa,eAAAA;MAAcL,UAAUR,KAAKI;;EACzD,CAAA;EACAV,cAAc;IACZC,IAAI,GAAGC,gBAAAA;IACPC,MAAM;IACNE,QAAQ,CAACC,SACPA,KAAKI,mBAAmBU,iBAAiBd,KAAKI,QAAQW,WAAWnB;IACnEU,WAAW,CAAC,EAAEN,MAAM,EAAEI,QAAO,EAAE,MAAO,sBAAA,cAACY,mBAAAA;MAAkBC,UAAUb,QAAQc;;EAC7E,CAAA;CACD;",
6
+ "names": ["React", "Capabilities", "contributes", "createSurface", "Obj", "SettingsStore", "DocumentType", "DataType", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "PRESENTER_PLUGIN", "role", "position", "filter", "data", "Obj", "instanceOf", "DocumentType", "subject", "variant", "component", "DocumentPresenterContainer", "document", "DataType", "Collection", "CollectionPresenterContainer", "collection", "MarkdownSlide", "SettingsStore", "prefix", "PresenterSettings", "settings", "value"]
7
+ }
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  PresenterSettingsSchema
3
- } from "./chunk-Y6REDI5E.mjs";
3
+ } from "./chunk-P2I7C2CY.mjs";
4
4
  import {
5
- PRESENTER_PLUGIN
5
+ meta
6
6
  } from "./chunk-S2S5RFJ4.mjs";
7
7
 
8
8
  // packages/plugins/plugin-presenter/src/capabilities/settings.ts
@@ -11,12 +11,12 @@ import { live } from "@dxos/live-object";
11
11
  var settings_default = () => {
12
12
  const settings = live({});
13
13
  return contributes(Capabilities.Settings, {
14
+ prefix: meta.id,
14
15
  schema: PresenterSettingsSchema,
15
- prefix: PRESENTER_PLUGIN,
16
16
  value: settings
17
17
  });
18
18
  };
19
19
  export {
20
20
  settings_default as default
21
21
  };
22
- //# sourceMappingURL=settings-JBNMCJHB.mjs.map
22
+ //# sourceMappingURL=settings-KZGHTWTK.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/settings.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { live } from '@dxos/live-object';\n\nimport { meta } from '../meta';\nimport { PresenterSettingsSchema, type PresenterSettingsProps } from '../types';\n\nexport default () => {\n const settings = live<PresenterSettingsProps>({});\n\n return contributes(Capabilities.Settings, {\n prefix: meta.id,\n schema: PresenterSettingsSchema,\n value: settings,\n });\n};\n"],
5
+ "mappings": ";;;;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,YAAY;AAKrB,IAAA,mBAAe,MAAA;AACb,QAAMC,WAAWC,KAA6B,CAAC,CAAA;AAE/C,SAAOC,YAAYC,aAAaC,UAAU;IACxCC,QAAQC,KAAKC;IACbC,QAAQC;IACRC,OAAOV;EACT,CAAA;AACF;",
6
+ "names": ["Capabilities", "contributes", "live", "settings", "live", "contributes", "Capabilities", "Settings", "prefix", "meta", "id", "schema", "PresenterSettingsSchema", "value"]
7
+ }
@@ -1,7 +1,7 @@
1
1
  import { type FC } from 'react';
2
- import { type CollectionType } from '@dxos/plugin-space/types';
2
+ import { type DataType } from '@dxos/schema';
3
3
  declare const CollectionPresenterContainer: FC<{
4
- collection: CollectionType;
4
+ collection: DataType.Collection;
5
5
  }>;
6
6
  export default CollectionPresenterContainer;
7
7
  //# sourceMappingURL=CollectionPresenterContainer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CollectionPresenterContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/CollectionPresenterContainer.tsx"],"names":[],"mappings":"AAIA,OAAc,EAAE,KAAK,EAAE,EAAwB,MAAM,OAAO,CAAC;AAG7D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAO/D,QAAA,MAAM,4BAA4B,EAAE,EAAE,CAAC;IAAE,UAAU,EAAE,cAAc,CAAA;CAAE,CA0BpE,CAAC;AAEF,eAAe,4BAA4B,CAAC"}
1
+ {"version":3,"file":"CollectionPresenterContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/CollectionPresenterContainer.tsx"],"names":[],"mappings":"AAIA,OAAc,EAAE,KAAK,EAAE,EAAwB,MAAM,OAAO,CAAC;AAI7D,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAM7C,QAAA,MAAM,4BAA4B,EAAE,EAAE,CAAC;IAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAA;CAAE,CA0BzE,CAAC;AAEF,eAAe,4BAA4B,CAAC"}
@@ -6,6 +6,6 @@ export declare const DocumentPresenterContainer: import("react").LazyExoticCompo
6
6
  document: import("@dxos/plugin-markdown/types").DocumentType;
7
7
  }>>;
8
8
  export declare const CollectionPresenterContainer: import("react").LazyExoticComponent<import("react").FC<{
9
- collection: import("@dxos/plugin-space/types").CollectionType;
9
+ collection: import("@dxos/schema").DataType.Collection;
10
10
  }>>;
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1,19 +1,23 @@
1
1
  import { Schema } from 'effect';
2
2
  import { type Context } from 'react';
3
- import { CollectionType } from '@dxos/plugin-space/types';
4
3
  export declare namespace PresenterAction {
5
4
  const TogglePresentation_base: Schema.TaggedClass<TogglePresentation, "dxos.org/plugin/presenter/action/toggle-presentation", {
6
5
  readonly _tag: Schema.tag<"dxos.org/plugin/presenter/action/toggle-presentation">;
7
6
  } & {
8
7
  input: Schema.Struct<{
9
- object: Schema.Union<[import("@dxos/echo-schema").EchoTypeSchema<Schema.Struct<{
8
+ object: Schema.Union<[import("@dxos/echo/Type").obj<Schema.Struct<{
10
9
  name: Schema.optional<typeof Schema.String>;
11
10
  fallbackName: Schema.optional<typeof Schema.String>;
12
- content: import("@dxos/echo-schema").Ref$<{
13
- readonly id: string;
14
- content: string;
15
- }>;
16
- }>, {}>, typeof CollectionType]>;
11
+ content: import("@dxos/echo/Type").ref<import("@dxos/echo/Type").obj<Schema.Struct<{
12
+ content: typeof import("effect/Schema").String;
13
+ }>>>;
14
+ }>>, import("@dxos/echo/Type").obj<Schema.Struct<{
15
+ name: import("effect/Schema").optional<typeof import("effect/Schema").String>;
16
+ objects: import("effect/Schema").mutable<import("effect/Schema").Array$<import("@dxos/echo/Type").ref<import("effect/Schema").Schema<import("@dxos/echo/Type").Expando, {
17
+ [x: string]: any;
18
+ id: string;
19
+ }, never>>>>;
20
+ }>>]>;
17
21
  state: Schema.optional<typeof Schema.Boolean>;
18
22
  }>;
19
23
  output: typeof Schema.Void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,KAAK,OAAO,EAAiB,MAAM,OAAO,CAAC;AAGpD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI1D,yBAAiB,eAAe,CAAC;;;;;;;;;;;;;;;;;IAG/B,MAAM,OAAO,kBAAmB,SAAQ,uBASvC;KAAG;;CACL;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,OAAO,CAAC,oBAAoB,CAIzD,CAAC;AAEH,eAAO,MAAM,uBAAuB;;GAInC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,KAAK,OAAO,EAAiB,MAAM,OAAO,CAAC;AAOpD,yBAAiB,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;IAG/B,MAAM,OAAO,kBAAmB,SAAQ,uBASvC;KAAG;;CACL;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,OAAO,CAAC,oBAAoB,CAIzD,CAAC;AAEH,eAAO,MAAM,uBAAuB;;GAInC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-presenter",
3
- "version": "0.8.3-main.672df60",
3
+ "version": "0.8.3-staging.0fa589b",
4
4
  "description": "Braneframe presenter plugin",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -35,22 +35,22 @@
35
35
  "remark-frontmatter": "^5.0.0",
36
36
  "remark-parse-frontmatter": "^1.0.3",
37
37
  "reveal.js": "^5.1.0",
38
- "@dxos/app-framework": "0.8.3-main.672df60",
39
- "@dxos/async": "0.8.3-main.672df60",
40
- "@dxos/echo": "0.8.3-main.672df60",
41
- "@dxos/live-object": "0.8.3-main.672df60",
42
- "@dxos/local-storage": "0.8.3-main.672df60",
43
- "@dxos/log": "0.8.3-main.672df60",
44
- "@dxos/echo-schema": "0.8.3-main.672df60",
45
- "@dxos/plugin-deck": "0.8.3-main.672df60",
46
- "@dxos/plugin-client": "0.8.3-main.672df60",
47
- "@dxos/plugin-graph": "0.8.3-main.672df60",
48
- "@dxos/plugin-space": "0.8.3-main.672df60",
49
- "@dxos/plugin-markdown": "0.8.3-main.672df60",
50
- "@dxos/plugin-stack": "0.8.3-main.672df60",
51
- "@dxos/react-client": "0.8.3-main.672df60",
52
- "@dxos/react-ui-stack": "0.8.3-main.672df60",
53
- "@dxos/react-ui-form": "0.8.3-main.672df60"
38
+ "@dxos/app-framework": "0.8.3-staging.0fa589b",
39
+ "@dxos/async": "0.8.3-staging.0fa589b",
40
+ "@dxos/echo-schema": "0.8.3-staging.0fa589b",
41
+ "@dxos/echo": "0.8.3-staging.0fa589b",
42
+ "@dxos/live-object": "0.8.3-staging.0fa589b",
43
+ "@dxos/local-storage": "0.8.3-staging.0fa589b",
44
+ "@dxos/log": "0.8.3-staging.0fa589b",
45
+ "@dxos/plugin-deck": "0.8.3-staging.0fa589b",
46
+ "@dxos/plugin-graph": "0.8.3-staging.0fa589b",
47
+ "@dxos/plugin-markdown": "0.8.3-staging.0fa589b",
48
+ "@dxos/plugin-client": "0.8.3-staging.0fa589b",
49
+ "@dxos/plugin-stack": "0.8.3-staging.0fa589b",
50
+ "@dxos/react-ui-form": "0.8.3-staging.0fa589b",
51
+ "@dxos/react-client": "0.8.3-staging.0fa589b",
52
+ "@dxos/schema": "0.8.3-staging.0fa589b",
53
+ "@dxos/react-ui-stack": "0.8.3-staging.0fa589b"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@effect-rx/rx-react": "^0.34.1",
@@ -63,10 +63,10 @@
63
63
  "react": "~18.2.0",
64
64
  "react-dom": "~18.2.0",
65
65
  "vite": "5.4.7",
66
- "@dxos/random": "0.8.3-main.672df60",
67
- "@dxos/react-ui": "0.8.3-main.672df60",
68
- "@dxos/react-ui-theme": "0.8.3-main.672df60",
69
- "@dxos/storybook-utils": "0.8.3-main.672df60"
66
+ "@dxos/random": "0.8.3-staging.0fa589b",
67
+ "@dxos/react-ui": "0.8.3-staging.0fa589b",
68
+ "@dxos/react-ui-theme": "0.8.3-staging.0fa589b",
69
+ "@dxos/storybook-utils": "0.8.3-staging.0fa589b"
70
70
  },
71
71
  "peerDependencies": {
72
72
  "@effect-rx/rx-react": "^0.34.1",
@@ -75,8 +75,8 @@
75
75
  "effect": "^3.13.3",
76
76
  "react": "~18.2.0",
77
77
  "react-dom": "~18.2.0",
78
- "@dxos/react-ui-theme": "0.8.3-main.672df60",
79
- "@dxos/react-ui": "0.8.3-main.672df60"
78
+ "@dxos/react-ui": "0.8.3-staging.0fa589b",
79
+ "@dxos/react-ui-theme": "0.8.3-staging.0fa589b"
80
80
  },
81
81
  "publishConfig": {
82
82
  "access": "public"
@@ -6,13 +6,13 @@ import { Rx } from '@effect-rx/rx-react';
6
6
  import { Option, pipe } from 'effect';
7
7
 
8
8
  import { contributes, type PluginContext, Capabilities, createIntent, LayoutAction } from '@dxos/app-framework';
9
- import { isInstanceOf } from '@dxos/echo-schema';
9
+ import { Obj } from '@dxos/echo';
10
10
  import { DeckCapabilities } from '@dxos/plugin-deck';
11
11
  import { ATTENDABLE_PATH_SEPARATOR, DeckAction } from '@dxos/plugin-deck/types';
12
12
  import { createExtension, rxFromSignal } from '@dxos/plugin-graph';
13
13
  import { DocumentType } from '@dxos/plugin-markdown/types';
14
- import { CollectionType } from '@dxos/plugin-space/types';
15
14
  import { fullyQualifiedId, getSpace } from '@dxos/react-client/echo';
15
+ import { DataType } from '@dxos/schema';
16
16
 
17
17
  import { PRESENTER_PLUGIN } from '../meta';
18
18
  import { PresenterAction, type PresenterSettingsProps } from '../types';
@@ -32,8 +32,8 @@ export default (context: PluginContext) =>
32
32
  rxFromSignal(() => settingsStore?.getStore<PresenterSettingsProps>(PRESENTER_PLUGIN)?.value),
33
33
  );
34
34
  const isPresentable = settings?.presentCollections
35
- ? isInstanceOf(CollectionType, node.data) || isInstanceOf(DocumentType, node.data)
36
- : isInstanceOf(DocumentType, node.data);
35
+ ? Obj.instanceOf(DataType.Collection, node.data) || Obj.instanceOf(DocumentType, node.data)
36
+ : Obj.instanceOf(DocumentType, node.data);
37
37
  return isPresentable ? Option.some(node.data) : Option.none();
38
38
  }),
39
39
  Option.map((object) => {
@@ -5,10 +5,10 @@
5
5
  import React from 'react';
6
6
 
7
7
  import { Capabilities, contributes, createSurface } from '@dxos/app-framework';
8
- import { isInstanceOf } from '@dxos/echo-schema';
8
+ import { Obj } from '@dxos/echo';
9
9
  import { SettingsStore } from '@dxos/local-storage';
10
10
  import { DocumentType } from '@dxos/plugin-markdown/types';
11
- import { CollectionType } from '@dxos/plugin-space/types';
11
+ import { DataType } from '@dxos/schema';
12
12
 
13
13
  import {
14
14
  MarkdownSlide,
@@ -26,21 +26,21 @@ export default () =>
26
26
  role: 'article',
27
27
  position: 'hoist',
28
28
  filter: (data): data is { subject: DocumentType; variant: 'presenter' } =>
29
- isInstanceOf(DocumentType, data.subject) && data.variant === 'presenter',
29
+ Obj.instanceOf(DocumentType, data.subject) && data.variant === 'presenter',
30
30
  component: ({ data }) => <DocumentPresenterContainer document={data.subject} />,
31
31
  }),
32
32
  createSurface({
33
33
  id: `${PRESENTER_PLUGIN}/collection`,
34
34
  role: 'article',
35
35
  position: 'hoist',
36
- filter: (data): data is { subject: CollectionType; variant: 'presenter' } =>
37
- isInstanceOf(CollectionType, data.subject) && data.variant === 'presenter',
36
+ filter: (data): data is { subject: DataType.Collection; variant: 'presenter' } =>
37
+ Obj.instanceOf(DataType.Collection, data.subject) && data.variant === 'presenter',
38
38
  component: ({ data }) => <CollectionPresenterContainer collection={data.subject} />,
39
39
  }),
40
40
  createSurface({
41
41
  id: `${PRESENTER_PLUGIN}/slide`,
42
42
  role: 'slide',
43
- filter: (data): data is { subject: DocumentType } => isInstanceOf(DocumentType, data.subject),
43
+ filter: (data): data is { subject: DocumentType } => Obj.instanceOf(DocumentType, data.subject),
44
44
  component: ({ data }) => <MarkdownSlide document={data.subject} />,
45
45
  }),
46
46
  createSurface({
@@ -5,15 +5,15 @@
5
5
  import { Capabilities, contributes } from '@dxos/app-framework';
6
6
  import { live } from '@dxos/live-object';
7
7
 
8
- import { PRESENTER_PLUGIN } from '../meta';
8
+ import { meta } from '../meta';
9
9
  import { PresenterSettingsSchema, type PresenterSettingsProps } from '../types';
10
10
 
11
11
  export default () => {
12
12
  const settings = live<PresenterSettingsProps>({});
13
13
 
14
14
  return contributes(Capabilities.Settings, {
15
+ prefix: meta.id,
15
16
  schema: PresenterSettingsSchema,
16
- prefix: PRESENTER_PLUGIN,
17
17
  value: settings,
18
18
  });
19
19
  };
@@ -5,14 +5,14 @@
5
5
  import React, { type FC, useContext, useState } from 'react';
6
6
 
7
7
  import { Surface } from '@dxos/app-framework';
8
- import { type CollectionType } from '@dxos/plugin-space/types';
9
8
  import { StackItem } from '@dxos/react-ui-stack';
9
+ import { type DataType } from '@dxos/schema';
10
10
 
11
11
  import { Layout, PageNumber, Pager } from './Presenter';
12
12
  import { PresenterContext } from '../types';
13
13
  import { useExitPresenter } from '../useExitPresenter';
14
14
 
15
- const CollectionPresenterContainer: FC<{ collection: CollectionType }> = ({ collection }) => {
15
+ const CollectionPresenterContainer: FC<{ collection: DataType.Collection }> = ({ collection }) => {
16
16
  const [slide, setSlide] = useState(0);
17
17
 
18
18
  const { running } = useContext(PresenterContext);
package/src/types.ts CHANGED
@@ -6,7 +6,7 @@ import { Schema } from 'effect';
6
6
  import { type Context, createContext } from 'react';
7
7
 
8
8
  import { DocumentType } from '@dxos/plugin-markdown/types';
9
- import { CollectionType } from '@dxos/plugin-space/types';
9
+ import { DataType } from '@dxos/schema';
10
10
 
11
11
  import { PRESENTER_PLUGIN } from './meta';
12
12
 
@@ -17,7 +17,7 @@ export namespace PresenterAction {
17
17
  `${PRESENTER_ACTION}/toggle-presentation`,
18
18
  {
19
19
  input: Schema.Struct({
20
- object: Schema.Union(DocumentType, CollectionType),
20
+ object: Schema.Union(DocumentType, DataType.Collection),
21
21
  state: Schema.optional(Schema.Boolean),
22
22
  }),
23
23
  output: Schema.Void,
@@ -1,7 +0,0 @@
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 { type CollectionType } from '@dxos/plugin-space/types';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { Layout, PageNumber, Pager } from './Presenter';\nimport { PresenterContext } from '../types';\nimport { useExitPresenter } from '../useExitPresenter';\n\nconst CollectionPresenterContainer: FC<{ collection: CollectionType }> = ({ 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 { Play, X, CaretDoubleLeft, CaretDoubleRight, CaretLeft, CaretRight } from '@phosphor-icons/react';\nimport React, { type FC, useEffect } from 'react';\n\nimport { Button, useControlledState } from '@dxos/react-ui';\nimport { getSize, mx } from '@dxos/react-ui-theme';\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 <CaretDoubleLeft className={mx(getSize(6))} />\n </Button>\n <Button variant='ghost' classNames='p-0' onClick={() => handleChangeIndex(-1)}>\n <CaretLeft className={mx(getSize(6))} />\n </Button>\n <Button variant='ghost' classNames='p-0' onClick={() => handleChangeIndex(1)}>\n <CaretRight className={mx(getSize(6))} />\n </Button>\n <Button variant='ghost' classNames='p-0' onClick={() => onChange?.(count - 1)}>\n <CaretDoubleRight className={mx(getSize(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: FC<{ running?: boolean; onClick?: (start: boolean) => void }> = ({ running, onClick }) => {\n return (\n <Button variant='ghost' classNames='p-0' onClick={() => onClick?.(!running)}>\n {(running && <X className={mx(getSize(6))} />) || <Play className={mx(getSize(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", "Play", "X", "CaretDoubleLeft", "CaretDoubleRight", "CaretLeft", "CaretRight", "React", "useEffect", "Button", "useControlledState", "getSize", "mx", "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", "CaretDoubleLeft", "mx", "getSize", "CaretLeft", "CaretRight", "CaretDoubleRight", "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,7 +0,0 @@
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 { contributes, type PluginContext, Capabilities, createIntent, LayoutAction } from '@dxos/app-framework';\nimport { isInstanceOf } from '@dxos/echo-schema';\nimport { DeckCapabilities } from '@dxos/plugin-deck';\nimport { ATTENDABLE_PATH_SEPARATOR, DeckAction } from '@dxos/plugin-deck/types';\nimport { createExtension, rxFromSignal } from '@dxos/plugin-graph';\nimport { DocumentType } from '@dxos/plugin-markdown/types';\nimport { CollectionType } from '@dxos/plugin-space/types';\nimport { fullyQualifiedId, getSpace } from '@dxos/react-client/echo';\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 ? isInstanceOf(CollectionType, node.data) || isInstanceOf(DocumentType, node.data)\n : isInstanceOf(DocumentType, 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,aAAiCC,cAAcC,cAAcC,oBAAoB;AAC1F,SAASC,oBAAoB;AAC7B,SAASC,wBAAwB;AACjC,SAASC,2BAA2BC,kBAAkB;AACtD,SAASC,iBAAiBC,oBAAoB;AAC9C,SAASC,oBAAoB;AAC7B,SAASC,sBAAsB;AAC/B,SAASC,kBAAkBC,gBAAgB;AAK3C,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,aAAaC,gBAAgBjB,MAAKkB,IAAI,KAAKF,aAAaG,cAAcnB,MAAKkB,IAAI,IAC/EF,aAAaG,cAAcnB,MAAKkB,IAAI;AACxC,WAAOJ,gBAAgBT,OAAOe,KAAKpB,MAAKkB,IAAI,IAAIb,OAAOgB,KAAI;EAC7D,CAAA,GACAhB,OAAOiB,IAAI,CAACC,WAAAA;AACV,UAAM1B,KAAK2B,iBAAiBD,MAAAA;AAC5B,UAAME,UAAUC,SAASH,MAAAA,GAAS1B;AAClC,WAAO;MACL;QACEA,IAAI,GAAG8B,gBAAgBC,mBAAmBC,IAAI,IAAIhC,EAAAA;;;QAGlDqB,MAAM,YAAA;AACJ,gBAAM,EAAEY,iBAAiBC,SAAQ,IAAKvC,QAAQwC,cAActC,aAAauC,gBAAgB;AACzF,gBAAMC,SAAS1C,QAAQwC,cAAcG,iBAAiBC,gBAAgB;AACtE,gBAAMC,cAAc;YAACxC;YAAI;YAAayC,KAAKC,yBAAAA;AAC3C,cAAI,CAACL,OAAOM,KAAKC,YAAY;AAC3B,iBAAKV,SACHW,aAAaC,WAAWC,QAAQ;cAC9BC,MAAM;cACNhD,IAAIwC;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,IAAIxD;YAAiB;;UAC5DyD,MAAM;UACNC,YAAY;YACVC,OAAO;YACPC,SAAS;UACX;QACF;MACF;;EAEJ,CAAA,GACArD,OAAOsD,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;AAGjC,CAAA,CAAA;",
6
- "names": ["Rx", "Option", "pipe", "contributes", "Capabilities", "createIntent", "LayoutAction", "isInstanceOf", "DeckCapabilities", "ATTENDABLE_PATH_SEPARATOR", "DeckAction", "createExtension", "rxFromSignal", "DocumentType", "CollectionType", "fullyQualifiedId", "getSpace", "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", "isInstanceOf", "CollectionType", "data", "DocumentType", "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
- }
@@ -1,7 +0,0 @@
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 { DocumentType } from '@dxos/plugin-markdown/types';\nimport { CollectionType } from '@dxos/plugin-space/types';\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(DocumentType, CollectionType),\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,oBAAoB;AAC7B,SAASC,sBAAsB;UAIdC,kBAAAA;AACf,QAAMC,mBAAmB,GAAGC,gBAAAA;EAErB,MAAMC,2BAA2BC,OAAOC,YAAW,EACxD,GAAGJ,gBAAAA,wBACH;IACEK,OAAOF,OAAOG,OAAO;MACnBC,QAAQJ,OAAOK,MAAMC,cAAcC,cAAAA;MACnCC,OAAOR,OAAOS,SAAST,OAAOU,OAAO;IACvC,CAAA;IACAC,QAAQX,OAAOY;EACjB,CAAA,EAAA;EACC;mBATUb,qBAAAA;AAUf,GAbiBH,oBAAAA,kBAAAA,CAAAA,EAAAA;AAqBV,IAAMiB,mBAAkDC,cAAoC;EACjGC,SAAS;EACTC,OAAO,MAAA;EAAO;EACdC,MAAM,MAAA;EAAO;AACf,CAAA;AAEO,IAAMC,0BAA0BlB,OAAOmB,QAC5CnB,OAAOG,OAAO;EACZiB,oBAAoBpB,OAAOS,SAAST,OAAOU,OAAO;AACpD,CAAA,CAAA;;",
6
- "names": ["Schema", "createContext", "DocumentType", "CollectionType", "PresenterAction", "PRESENTER_ACTION", "PRESENTER_PLUGIN", "TogglePresentation", "Schema", "TaggedClass", "input", "Struct", "object", "Union", "DocumentType", "CollectionType", "state", "optional", "Boolean", "output", "Void", "PresenterContext", "createContext", "running", "start", "stop", "PresenterSettingsSchema", "mutable", "presentCollections"]
7
- }
@@ -1,7 +0,0 @@
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 { isInstanceOf } from '@dxos/echo-schema';\nimport { SettingsStore } from '@dxos/local-storage';\nimport { DocumentType } from '@dxos/plugin-markdown/types';\nimport { CollectionType } from '@dxos/plugin-space/types';\n\nimport {\n MarkdownSlide,\n PresenterSettings,\n DocumentPresenterContainer,\n CollectionPresenterContainer,\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: DocumentType; variant: 'presenter' } =>\n isInstanceOf(DocumentType, 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: CollectionType; variant: 'presenter' } =>\n isInstanceOf(CollectionType, 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: DocumentType } => isInstanceOf(DocumentType, 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,oBAAoB;AAC7B,SAASC,qBAAqB;AAC9B,SAASC,oBAAoB;AAC7B,SAASC,sBAAsB;AAW/B,IAAA,wBAAe,MACbC,YAAYC,aAAaC,cAAc;EACrCC,cAAc;IACZC,IAAI,GAAGC,gBAAAA;IACPC,MAAM;IACNC,UAAU;IACVC,QAAQ,CAACC,SACPC,aAAaC,cAAcF,KAAKG,OAAO,KAAKH,KAAKI,YAAY;IAC/DC,WAAW,CAAC,EAAEL,KAAI,MAAO,sBAAA,cAACM,4BAAAA;MAA2BC,UAAUP,KAAKG;;EACtE,CAAA;EACAT,cAAc;IACZC,IAAI,GAAGC,gBAAAA;IACPC,MAAM;IACNC,UAAU;IACVC,QAAQ,CAACC,SACPC,aAAaO,gBAAgBR,KAAKG,OAAO,KAAKH,KAAKI,YAAY;IACjEC,WAAW,CAAC,EAAEL,KAAI,MAAO,sBAAA,cAACS,8BAAAA;MAA6BC,YAAYV,KAAKG;;EAC1E,CAAA;EACAT,cAAc;IACZC,IAAI,GAAGC,gBAAAA;IACPC,MAAM;IACNE,QAAQ,CAACC,SAA4CC,aAAaC,cAAcF,KAAKG,OAAO;IAC5FE,WAAW,CAAC,EAAEL,KAAI,MAAO,sBAAA,cAACW,eAAAA;MAAcJ,UAAUP,KAAKG;;EACzD,CAAA;EACAT,cAAc;IACZC,IAAI,GAAGC,gBAAAA;IACPC,MAAM;IACNE,QAAQ,CAACC,SACPA,KAAKG,mBAAmBS,iBAAiBZ,KAAKG,QAAQU,WAAWjB;IACnES,WAAW,CAAC,EAAEL,MAAM,EAAEG,QAAO,EAAE,MAAO,sBAAA,cAACW,mBAAAA;MAAkBC,UAAUZ,QAAQa;;EAC7E,CAAA;CACD;",
6
- "names": ["React", "Capabilities", "contributes", "createSurface", "isInstanceOf", "SettingsStore", "DocumentType", "CollectionType", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "PRESENTER_PLUGIN", "role", "position", "filter", "data", "isInstanceOf", "DocumentType", "subject", "variant", "component", "DocumentPresenterContainer", "document", "CollectionType", "CollectionPresenterContainer", "collection", "MarkdownSlide", "SettingsStore", "prefix", "PresenterSettings", "settings", "value"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/settings.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { live } from '@dxos/live-object';\n\nimport { PRESENTER_PLUGIN } from '../meta';\nimport { PresenterSettingsSchema, type PresenterSettingsProps } from '../types';\n\nexport default () => {\n const settings = live<PresenterSettingsProps>({});\n\n return contributes(Capabilities.Settings, {\n schema: PresenterSettingsSchema,\n prefix: PRESENTER_PLUGIN,\n value: settings,\n });\n};\n"],
5
- "mappings": ";;;;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,YAAY;AAKrB,IAAA,mBAAe,MAAA;AACb,QAAMC,WAAWC,KAA6B,CAAC,CAAA;AAE/C,SAAOC,YAAYC,aAAaC,UAAU;IACxCC,QAAQC;IACRC,QAAQC;IACRC,OAAOT;EACT,CAAA;AACF;",
6
- "names": ["Capabilities", "contributes", "live", "settings", "live", "contributes", "Capabilities", "Settings", "schema", "PresenterSettingsSchema", "prefix", "PRESENTER_PLUGIN", "value"]
7
- }