@dxos/plugin-presenter 0.8.4-main.422d1c7879 → 0.8.4-main.51f1e5ca51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/lib/browser/{PresenterSettings-DZO2DC53.mjs → PresenterSettings-2G4XD4QY.mjs} +9 -13
  2. package/dist/lib/browser/PresenterSettings-2G4XD4QY.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +3 -20
  4. package/dist/lib/browser/index.mjs.map +4 -4
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/operations/index.mjs +1 -1
  7. package/dist/lib/browser/operations/index.mjs.map +3 -3
  8. package/dist/lib/browser/translations.mjs +19 -0
  9. package/dist/lib/browser/translations.mjs.map +7 -0
  10. package/dist/types/src/PresenterPlugin.d.ts.map +1 -1
  11. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  12. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  13. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  14. package/dist/types/src/components/Markdown/Panel.d.ts.map +1 -1
  15. package/dist/types/src/components/Markdown/Panel.stories.d.ts.map +1 -1
  16. package/dist/types/src/components/Markdown/Slide.d.ts.map +1 -1
  17. package/dist/types/src/components/Markdown/Slide.stories.d.ts.map +1 -1
  18. package/dist/types/src/components/Markdown/theme.d.ts.map +1 -1
  19. package/dist/types/src/components/Presenter/Layout.d.ts +1 -1
  20. package/dist/types/src/components/Presenter/Pager.d.ts.map +1 -1
  21. package/dist/types/src/components/Presenter/Pager.stories.d.ts.map +1 -1
  22. package/dist/types/src/components/PresenterSettings/PresenterSettings.d.ts +1 -1
  23. package/dist/types/src/components/PresenterSettings/PresenterSettings.d.ts.map +1 -1
  24. package/dist/types/src/components/PresenterSettings/PresenterSettings.stories.d.ts +4 -6
  25. package/dist/types/src/components/PresenterSettings/PresenterSettings.stories.d.ts.map +1 -1
  26. package/dist/types/src/components/RevealPlayer/RevealPlayer.d.ts +1 -1
  27. package/dist/types/src/components/RevealPlayer/RevealPlayer.stories.d.ts +5 -7
  28. package/dist/types/src/components/RevealPlayer/RevealPlayer.stories.d.ts.map +1 -1
  29. package/dist/types/src/containers/CollectionPresenterContainer/CollectionPresenterContainer.d.ts.map +1 -1
  30. package/dist/types/src/containers/MarkdownSlide/MarkdownSlide.d.ts.map +1 -1
  31. package/dist/types/src/operations/definitions.d.ts +5 -5
  32. package/dist/types/src/operations/definitions.d.ts.map +1 -1
  33. package/dist/types/src/testing.d.ts.map +1 -1
  34. package/dist/types/src/translations.d.ts +4 -7
  35. package/dist/types/src/translations.d.ts.map +1 -1
  36. package/dist/types/src/types/Settings.d.ts +1 -1
  37. package/dist/types/src/types/Settings.d.ts.map +1 -1
  38. package/dist/types/src/types/index.d.ts.map +1 -1
  39. package/dist/types/src/useExitPresenter.d.ts.map +1 -1
  40. package/dist/types/tsconfig.tsbuildinfo +1 -1
  41. package/package.json +35 -28
  42. package/src/PresenterPlugin.tsx +1 -2
  43. package/src/capabilities/app-graph-builder.ts +1 -1
  44. package/src/components/PresenterSettings/PresenterSettings.stories.tsx +2 -1
  45. package/src/components/PresenterSettings/PresenterSettings.tsx +8 -9
  46. package/src/components/RevealPlayer/RevealPlayer.stories.tsx +2 -1
  47. package/src/operations/definitions.ts +1 -1
  48. package/src/translations.ts +0 -2
  49. package/src/types/Settings.ts +6 -1
  50. package/dist/lib/browser/PresenterSettings-DZO2DC53.mjs.map +0 -7
@@ -2,28 +2,24 @@ import "./chunk-J5LGTIGS.mjs";
2
2
 
3
3
  // src/components/PresenterSettings/PresenterSettings.tsx
4
4
  import React from "react";
5
- import { Input, useTranslation } from "@dxos/react-ui";
5
+ import { useTranslation } from "@dxos/react-ui";
6
6
  import { Settings as SettingsForm } from "@dxos/react-ui-form";
7
7
  import { meta } from "#meta";
8
+ import { Settings } from "#types";
8
9
  var PresenterSettings = ({ settings, onSettingsChange }) => {
9
10
  const { t } = useTranslation(meta.id);
10
11
  return /* @__PURE__ */ React.createElement(SettingsForm.Viewport, null, /* @__PURE__ */ React.createElement(SettingsForm.Section, {
11
12
  title: t("settings.title", {
12
13
  ns: meta.id
13
14
  })
14
- }, /* @__PURE__ */ React.createElement(SettingsForm.Item, {
15
- title: t("present-collections.label"),
16
- description: t("present-collections.description")
17
- }, /* @__PURE__ */ React.createElement(Input.Switch, {
18
- disabled: !onSettingsChange,
19
- checked: settings.presentCollections,
20
- onCheckedChange: (checked) => onSettingsChange?.((s) => ({
21
- ...s,
22
- presentCollections: !!checked
23
- }))
24
- }))));
15
+ }, /* @__PURE__ */ React.createElement(SettingsForm.FieldSet, {
16
+ readonly: !onSettingsChange,
17
+ schema: Settings.Settings,
18
+ values: settings,
19
+ onValuesChanged: (values) => onSettingsChange?.(() => values)
20
+ })));
25
21
  };
26
22
  export {
27
23
  PresenterSettings as default
28
24
  };
29
- //# sourceMappingURL=PresenterSettings-DZO2DC53.mjs.map
25
+ //# sourceMappingURL=PresenterSettings-2G4XD4QY.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/PresenterSettings/PresenterSettings.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { useTranslation } from '@dxos/react-ui';\nimport { Settings as SettingsForm } from '@dxos/react-ui-form';\n\nimport { meta } from '#meta';\nimport { Settings } from '#types';\n\nexport type PresenterSettingsProps = AppSurface.SettingsArticleProps<Settings.Settings>;\n\nexport const PresenterSettings = ({ settings, onSettingsChange }: PresenterSettingsProps) => {\n const { t } = useTranslation(meta.id);\n\n return (\n <SettingsForm.Viewport>\n <SettingsForm.Section title={t('settings.title', { ns: meta.id })}>\n <SettingsForm.FieldSet\n readonly={!onSettingsChange}\n schema={Settings.Settings}\n values={settings}\n onValuesChanged={(values) => onSettingsChange?.(() => values)}\n />\n </SettingsForm.Section>\n </SettingsForm.Viewport>\n );\n};\n"],
5
+ "mappings": ";;;AAIA,OAAOA,WAAW;AAGlB,SAASC,sBAAsB;AAC/B,SAASC,YAAYC,oBAAoB;AAEzC,SAASC,YAAY;AACrB,SAASF,gBAAgB;AAIlB,IAAMG,oBAAoB,CAAC,EAAEC,UAAUC,iBAAgB,MAA0B;AACtF,QAAM,EAAEC,EAAC,IAAKP,eAAeG,KAAKK,EAAE;AAEpC,SACE,sBAAA,cAACN,aAAaO,UAAQ,MACpB,sBAAA,cAACP,aAAaQ,SAAO;IAACC,OAAOJ,EAAE,kBAAkB;MAAEK,IAAIT,KAAKK;IAAG,CAAA;KAC7D,sBAAA,cAACN,aAAaW,UAAQ;IACpBC,UAAU,CAACR;IACXS,QAAQd,SAASA;IACjBe,QAAQX;IACRY,iBAAiB,CAACD,WAAWV,mBAAmB,MAAMU,MAAAA;;AAKhE;",
6
+ "names": ["React", "useTranslation", "Settings", "SettingsForm", "meta", "PresenterSettings", "settings", "onSettingsChange", "t", "id", "Viewport", "Section", "title", "ns", "FieldSet", "readonly", "schema", "values", "onValuesChanged"]
7
+ }
@@ -489,7 +489,7 @@ var RevealPlayer = composable2(({ content, slide, fullscreen = true, onExit, chi
489
489
  });
490
490
 
491
491
  // src/components/index.ts
492
- var PresenterSettings = lazy(() => import("./PresenterSettings-DZO2DC53.mjs"));
492
+ var PresenterSettings = lazy(() => import("./PresenterSettings-2G4XD4QY.mjs"));
493
493
 
494
494
  // src/meta.ts
495
495
  import { trim } from "@dxos/util";
@@ -509,26 +509,9 @@ var meta = {
509
509
  import { Plugin } from "@dxos/app-framework";
510
510
  import { AppPlugin } from "@dxos/app-toolkit";
511
511
  import { AppGraphBuilder, PresenterSettings as PresenterSettings2, ReactSurface } from "#capabilities";
512
- import { meta as meta3 } from "#meta";
513
-
514
- // src/translations.ts
515
512
  import { meta as meta2 } from "#meta";
516
- var translations = [
517
- {
518
- "en-US": {
519
- [meta2.id]: {
520
- "plugin.name": "Presenter",
521
- "settings.title": "Presenter settings",
522
- "toggle-presentation.label": "Present",
523
- "present-collections.label": "Present collections (experimental)",
524
- "present-collections.description": "Enable presenting collections of documents as a slideshow."
525
- }
526
- }
527
- }
528
- ];
529
-
530
- // src/PresenterPlugin.tsx
531
- var PresenterPlugin = Plugin.define(meta3).pipe(AppPlugin.addAppGraphModule({
513
+ import { translations } from "#translations";
514
+ var PresenterPlugin = Plugin.define(meta2).pipe(AppPlugin.addAppGraphModule({
532
515
  activate: AppGraphBuilder
533
516
  }), AppPlugin.addSettingsModule({
534
517
  activate: PresenterSettings2
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/index.ts", "../../../src/components/Markdown/Panel.tsx", "../../../src/components/Markdown/Slide.tsx", "raw-loader:/__w/dxos/dxos/packages/plugins/plugin-presenter/src/components/Markdown/styles.css?raw", "../../../src/components/Markdown/theme.ts", "../../../src/components/Presenter/Layout.tsx", "../../../src/components/Presenter/Pager.tsx", "../../../src/components/RevealPlayer/RevealPlayer.tsx", "../../../src/meta.ts", "../../../src/PresenterPlugin.tsx", "../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type ComponentType, lazy } from 'react';\n\nexport * from './Markdown';\nexport * from './Presenter';\nexport * from './RevealPlayer';\n\nexport const PresenterSettings: ComponentType<any> = lazy(() => import('./PresenterSettings'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type PropsWithChildren, useState } from 'react';\nimport { useResizeDetector } from 'react-resize-detector';\n\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { mx } from '@dxos/ui-theme';\n\nexport type PanelProps = ThemedClassName<PropsWithChildren<{}>>;\n\n/**\n * Scaled markdown panel.\n */\nexport const Panel = ({ children, classNames }: PanelProps) => {\n const [props, setProps] = useState({});\n const {\n ref: containerRef,\n width,\n height,\n } = useResizeDetector({\n refreshMode: 'debounce',\n refreshRate: 200,\n refreshOptions: {\n leading: true,\n },\n onResize: ({ width, height }) => {\n if (width && height) {\n setProps(createLayoutProps({ width, height }));\n }\n },\n });\n\n // TODO(burdon): Reconcile highlight colors with markdown editor.\n // https://www.npmjs.com/package/react-markdown\n return (\n <div ref={containerRef} className={mx('flex grow relative overflow-hidden bg-attention-surface', classNames)}>\n <div className={mx('dx-container absolute')} style={props}>\n {width && height && children}\n </div>\n </div>\n );\n};\n\n/**\n * Compute CSS properties to transform DIV to be full screen.\n *\n * Display resolutions:\n * window.screen.{availWidth, availHeight}\n * 5K Studio 16.2-inch Macbook Pro\n * Max 5120 x 2880 3456 x 2234\n * Default 2560 x 1440 1728 x 1117 (Actual height 1080 - 37 pixel notch)\n * Aspect 1.77 (16/9) 1.54\n */\nconst createLayoutProps = ({ width, height }: { width: number; height: number }) => {\n // Config.\n const aspectRatio = 16 / 9;\n const nominalWidth = 2560;\n const nominalHeight = nominalWidth / aspectRatio;\n\n // NOTE: Hack to detect full height on Macbook Pro due to notch.\n // const macIntelNotch = 1117 - 1080;\n // const fullscreen =\n // height === screen.availHeight ||\n // (window.navigator.platform === 'MacIntel' && height === screen.availHeight - macIntelNotch);\n\n // If not fullscreen then make scale slightly smaller so there's a natural border.\n // const scaleFactor = fullscreen ? 1 : 0.95;\n\n // Compute scaling factor required.\n const scale = Math.min(width / nominalWidth, height / nominalHeight);\n\n return {\n left: (width - nominalWidth) / 2,\n top: (height - nominalHeight) / 2,\n width: nominalWidth,\n height: nominalHeight,\n transform: `scale(${scale})`,\n };\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport 'highlight.js/styles/github.css';\n\nimport { h } from 'hastscript';\nimport React from 'react';\nimport ReactMarkdown, { type Options as ReactMarkdownOptions } from 'react-markdown';\nimport rehypeAddClasses from 'rehype-add-classes';\nimport rehypeHighlight from 'rehype-highlight';\nimport remarkFrontmatter from 'remark-frontmatter';\nimport remarkParseFrontmatter from 'remark-parse-frontmatter';\n\nimport styles from './styles.css?raw';\nimport { theme } from './theme';\n\nexport type SlideProps = {\n content?: string;\n classes?: Record<string, string>;\n};\n\nexport const Slide = ({ content = '', classes = theme.nodes }: SlideProps) => {\n // TODO(thure): `rehype-highlight` ends up using `github.css` from `highlight.js`, but this does not appear to be\n // configurable. Find a way to remove the literal stylesheet here.\n return (\n <>\n <style>{styles}</style>\n <ReactMarkdown\n components={components}\n // Markdown to HTML.\n remarkPlugins={[[remarkFrontmatter, 'yaml'], remarkParseFrontmatter as any]}\n // HTML processing.\n rehypePlugins={[[rehypeAddClasses, classes], rehypeHighlight as any, slideLayout]}\n >\n {content}\n </ReactMarkdown>\n </>\n );\n};\n\n/**\n * Rehype plugin to format DOM based on frontmatter.\n * https://github.com/unifiedjs/unified#plugin\n * TODO(burdon): See tools/presenter: remarkPluginLayout\n * E.g., layout image from front-matter.\n */\nconst slideLayout =\n (_options = {}) =>\n (tree: any, file: any) => {\n const {\n data: { frontmatter = {} },\n } = file;\n\n let content = tree.children;\n const { layout, image } = frontmatter;\n if (image) {\n const img = h('div', {\n class: 'flex grow shrink-0 bg-cover bg-center bg-no-repeat',\n style: {\n backgroundImage: `url(${image})`,\n },\n });\n\n switch (layout) {\n case 'fullscreen': {\n content = img;\n break;\n }\n\n case 'columns': {\n content = h('div', { class: 'flex grow grid grid-cols-2' }, [\n h('div', { class: theme.padding }, [content]),\n img,\n ]);\n break;\n }\n\n case 'rows': {\n content = h('div', { class: 'flex grow flex-col' }, [\n h('div', { class: theme.padding }, [content]),\n h('div', { class: ['flex grow pt-0', theme.padding] }, [img]),\n ]);\n break;\n }\n }\n } else {\n content = h('div', { class: ['flex grow flex-col', theme.padding] }, [content]);\n }\n\n const root = h('div', { class: ['flex flex-col grow', theme.root] }, [content]);\n tree.children = [root];\n };\n\nconst ImageWrapper = ({ node: _, ...props }: { node: any }) => {\n const { alt = '', src } = props as { alt: string; src: string };\n return <img alt={alt} src={src} />;\n};\n\nconst components: ReactMarkdownOptions['components'] = {\n img: ({ node, ...props }) => <ImageWrapper node={node} {...props} />,\n};\n", "/*!\n Theme: GitHub Dark\n Description: Dark theme as seen on github.com\n Author: github.com\n Maintainer: @Hirse\n Updated: 2021-05-15\n Outdated base version: https://github.com/primer/github-syntax-dark\n Current colors taken from GitHub's CSS\n*/\n/* TODO(burdon): Use tokens. */\n.dark pre code.hljs {\n display: block;\n overflow-x: auto;\n padding: 1em;\n}\n.dark code.hljs {\n padding: 3px 5px;\n}\n.dark .hljs {\n color: #c9d1d9;\n background: #0d1117;\n}\n.dark .hljs-doctag,\n.dark .hljs-keyword,\n.dark .hljs-meta .hljs-keyword,\n.dark .hljs-template-tag,\n.dark .hljs-template-variable,\n.dark .hljs-type,\n.dark .hljs-variable.language_ {\n color: #ff7b72;\n}\n.dark .hljs-title,\n.dark .hljs-title.class_,\n.dark .hljs-title.class_.inherited__,\n.dark .hljs-title.function_ {\n color: #d2a8ff;\n}\n.dark .hljs-attr,\n.dark .hljs-attribute,\n.dark .hljs-literal,\n.dark .hljs-meta,\n.dark .hljs-number,\n.dark .hljs-operator,\n.dark .hljs-variable,\n.dark .hljs-selector-attr,\n.dark .hljs-selector-class,\n.dark .hljs-selector-id {\n color: #79c0ff;\n}\n.dark .hljs-regexp,\n.dark .hljs-string,\n.dark .hljs-meta .hljs-string {\n color: #a5d6ff;\n}\n.dark .hljs-built_in,\n.dark .hljs-symbol {\n color: #ffa657;\n}\n.dark .hljs-comment,\n.dark .hljs-code,\n.dark .hljs-formula {\n color: #8b949e;\n}\n.dark .hljs-name,\n.dark .hljs-quote,\n.dark .hljs-selector-tag,\n.dark .hljs-selector-pseudo {\n color: #7ee787;\n}\n.dark .hljs-subst {\n color: #c9d1d9;\n}\n.dark .hljs-section {\n color: #1f6feb;\n font-weight: bold;\n}\n.dark .hljs-bullet {\n color: #f2cc60;\n}\n.dark .hljs-emphasis {\n color: #c9d1d9;\n font-style: italic;\n}\n.dark .hljs-strong {\n color: #c9d1d9;\n font-weight: bold;\n}\n.dark .hljs-addition {\n color: #aff5b4;\n background-color: #033a16;\n}\n.dark .hljs-deletion {\n color: #ffdcd7;\n background-color: #67060c;\n}\n.dark .hljs-char.escape_,\n.dark .hljs-link,\n.dark .hljs-params,\n.dark .hljs-property,\n.dark .hljs-punctuation,\n.dark .hljs-tag {\n /* purposely ignored */\n all: unset;\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\n// TODO(burdon): Create theme type and picker.\n\nexport const theme = {\n root: 'bg-attention-surface leading-relaxed font-mono',\n\n padding: 'px-40 py-16 gap-8',\n\n nodes: {\n h1: 'text-[80px] text-accent-text',\n h2: 'text-[60px] text-accent-text',\n h3: 'text-[48px] text-accent-text',\n\n p: 'text-[48px]',\n\n ul: 'my-[16px] ml-12 leading-relaxed list-disc',\n ol: 'my-[16px] ml-24 leading-relaxed list-decimal',\n li: 'pl-6 text-[48px]',\n\n pre: 'w-full mx-0 my-[32px] p-4 bg-input-surface',\n code: 'p-0 text-[40px]',\n },\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type PropsWithChildren, type ReactNode } from 'react';\n\nimport { composable, composableProps } from '@dxos/ui-theme';\n\nexport type LayoutProps = PropsWithChildren<{\n topLeft?: ReactNode;\n topRight?: ReactNode;\n bottomLeft?: ReactNode;\n bottomRight?: ReactNode;\n}>;\n\nexport const Layout = composable<HTMLDivElement, LayoutProps>(\n ({ children, topLeft, topRight, bottomLeft, bottomRight, ...props }, forwardedRef) => {\n return (\n <div\n {...composableProps(props, { classNames: 'flex grow relative overflow-hidden bg-attention-surface' })}\n ref={forwardedRef}\n >\n <div className='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", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useEffect } from 'react';\n\nimport { IconButton, useControlledState } from '@dxos/react-ui';\n\nexport type PagerProps = {\n index?: number;\n count?: number;\n keys?: boolean; // TODO(burdon): Rename.\n onChange?: (index: number) => void;\n onExit?: () => void;\n};\n\nexport const Pager = ({ index: indexProp = 0, count = 0, keys, onChange, onExit }: PagerProps) => {\n const [index, setIndex] = useControlledState(indexProp);\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 <IconButton\n icon='ph--caret-double-left--regular'\n size={6}\n label='Jump to first'\n iconOnly\n noTooltip\n variant='ghost'\n classNames='p-0'\n onClick={() => onChange?.(0)}\n />\n <IconButton\n icon='ph--caret-left--regular'\n size={6}\n label='Previous'\n iconOnly\n noTooltip\n variant='ghost'\n classNames='p-0'\n onClick={() => handleChangeIndex(-1)}\n />\n <IconButton\n icon='ph--caret-right--regular'\n size={6}\n label='Next'\n iconOnly\n noTooltip\n variant='ghost'\n classNames='p-0'\n onClick={() => handleChangeIndex(1)}\n />\n <IconButton\n icon='ph--caret-double-right--regular'\n size={6}\n label='Jump to last'\n iconOnly\n noTooltip\n variant='ghost'\n classNames='p-0'\n onClick={() => onChange?.(count - 1)}\n />\n </div>\n );\n};\n\nexport type PageNumberProps = {\n index?: number;\n count?: number;\n};\n\nexport const PageNumber = ({ index = 0, count = 1 }: PageNumberProps) => {\n if (index === undefined || !count) {\n return null;\n }\n\n return (\n <div className='flex items-center text-neutral-500 text-2xl'>\n <div>\n {index + 1} / {count}\n </div>\n </div>\n );\n};\n\nexport const StartButton = ({ running, onClick }: { running?: boolean; onClick?: (start: boolean) => void }) => {\n return (\n <IconButton\n icon={running ? 'ph--x--regular' : 'ph--play--regular'}\n size={6}\n label={running ? 'Stop' : 'Play'}\n iconOnly\n noTooltip\n variant='ghost'\n classNames='p-0'\n onClick={() => onClick?.(!running)}\n />\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport 'reveal.js/dist/reveal.css';\nimport 'reveal.js/dist/theme/black.css';\n// https://github.com/highlightjs/highlight.js/tree/main/src/styles\n// import 'highlight.js/styles/github-dark.css';\nimport 'highlight.js/styles/tokyo-night-dark.css';\n\nimport hljs from 'highlight.js';\nimport typescript from 'highlight.js/lib/languages/typescript';\nimport React, { useRef } from 'react';\nimport Reveal from 'reveal.js';\nimport RevealHighlight from 'reveal.js/plugin/highlight/highlight';\nimport RevealMarkdown from 'reveal.js/plugin/markdown/plugin.js';\n\nimport { useAsyncEffect } from '@dxos/react-ui';\nimport { composable, composableProps } from '@dxos/ui-theme';\n\nconst styles = `\n<style type=\"text/css\">\n .reveal h1 {\n font-weight: 100;\n font-size: 60px;\n opacity: 0.5;\n }\n .reveal h2 {\n font-weight: 100;\n padding-top: 60px;\n padding-left: 40px;\n font-size: 48px;\n opacity: 0.3;\n }\n .reveal h1, h2, p {\n font-family: \"Raleway\", sans-serif;\n text-align: left;\n font-weight: 200;\n }\n .reveal ul {\n font-family: \"Raleway\", sans-serif;\n display: block;\n list-style: \"- \";\n }\n .reveal blockquote p {\n text-align: center;\n font-weight: 100;\n padding: 32px;\n }\n .reveal pre {\n margin-left: 0;\n }\n .reveal code {\n font-size: 20px;\n background: #111111;\n color: #eeeeee;\n max-height: unset !important;\n }\n</style>\n`;\n\nexport type RevealProps = {\n content: string;\n slide?: number;\n fullscreen?: boolean;\n onExit?: () => void;\n};\n\nexport const RevealPlayer = composable<HTMLDivElement, RevealProps>(\n ({ content, slide, fullscreen = true, onExit, children, ...props }, forwardedRef) => {\n const deckDivRef = useRef<HTMLDivElement>(null);\n const deckRef = useRef<Reveal.Api | null>(null);\n\n useAsyncEffect(async () => {\n if (deckRef.current) {\n return;\n }\n\n // Required for syntax highlighting.\n hljs.registerLanguage('typescript', typescript);\n\n // https://revealjs.com/react\n // https://revealjs.com/config\n // https://github.com/hakimel/reveal.js\n // TODO(burdon): Fragments and scroll view steps 2 at a time (safe mode?)\n deckRef.current = new Reveal(deckDivRef.current!, {\n // view: 'scroll',\n progress: false,\n transition: 'none',\n slideNumber: false,\n embedded: true,\n\n // Disable autoplay to prevent errors in headless environments (e.g., CI).\n autoPlayMedia: false,\n\n // TODO(burdon): Speaker view requires server to serve popout window.\n // https://revealjs.com/speaker-view\n showNotes: false,\n\n // width: 1600,\n // height: 900,\n margin: 0.1,\n // center: false,\n // minScale: 0.1,\n // maxScale: 1.4,\n\n // https://revealjs.com/markdown\n // TODO(burdon): Requires server to serve popout window.\n plugins: [RevealMarkdown, RevealHighlight],\n\n // See https://marked.js.org/using_advanced#options\n markdown: {\n gfm: true,\n smartypants: true,\n highlight: (code, language) => {\n if (language) {\n return hljs.highlight(code, { language }).value;\n }\n\n return hljs.highlightAuto(code).value;\n },\n },\n });\n\n await deckRef.current.initialize();\n\n if (slide !== undefined) {\n deckRef.current.slide(slide < 0 ? deckRef.current?.getTotalSlides() + slide : slide - 1);\n }\n\n deckRef.current.addKeyBinding({ keyCode: 27, key: 'Escape', description: 'Exit full screen' }, () => {\n onExit?.();\n });\n\n return () => {\n try {\n if (deckRef.current) {\n deckRef.current.destroy();\n deckRef.current = null;\n }\n } catch {\n // Ignore.\n }\n };\n });\n\n // TOOD(burdon): Trap cursor keys (otherwise tabster grabs focus.)\n return (\n <div\n {...composableProps(props, {\n classNames: ['dx-container grid place-items-center bg-black', fullscreen && 'absolute inset-0'],\n })}\n ref={forwardedRef}\n >\n <div role='none' className='relative aspect-video h-full w-full h-auto max-h-full overflow-hidden'>\n <div ref={deckDivRef} className='absolute inset-0 reveal'>\n {/* NOTE: Must be in head. */}\n <style>\n <link rel='preconnect' href='https://fonts.googleapis.com' />\n <link rel='preconnect' href='https://fonts.gstatic.com' {...{ crossOrigin: '' }} />\n <link\n rel='stylesheet'\n href='https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&display=swap'\n />\n </style>\n <div className='slides'>\n <div className='text-center!' />\n <section {...{ 'data-markdown': [] }}>\n <textarea {...{ 'data-template': true }} defaultValue={[styles, content].join('\\n')}></textarea>\n </section>\n </div>\n </div>\n </div>\n </div>\n );\n },\n);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.plugin.presenter',\n name: 'Presenter',\n description: trim`\n Transform markdown documents into interactive presentation slideshows.\n Navigate between slides with keyboard controls and present content in full-screen mode.\n `,\n icon: 'ph--presentation--regular',\n iconHue: 'indigo',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-presenter',\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\n\nimport { AppGraphBuilder, PresenterSettings, ReactSurface } from '#capabilities';\nimport { meta } from '#meta';\n\nimport { translations } from './translations';\n\n// TODO(burdon): Only scale markdown content.\n// TODO(burdon): Map stack content; Slide content type (e.g., markdown, sketch, IPFS image, table, etc.)\n\nexport const PresenterPlugin = Plugin.define(meta).pipe(\n AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),\n AppPlugin.addSettingsModule({ activate: PresenterSettings }),\n AppPlugin.addSurfaceModule({ activate: ReactSurface }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.make,\n);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from '#meta';\n\nexport const translations = [\n {\n 'en-US': {\n [meta.id]: {\n 'plugin.name': 'Presenter',\n 'settings.title': 'Presenter settings',\n 'toggle-presentation.label': 'Present',\n 'present-collections.label': 'Present collections (experimental)',\n 'present-collections.description': 'Enable presenting collections of documents as a slideshow.',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
- "mappings": "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",
6
- "names": ["lazy", "React", "useState", "useResizeDetector", "mx", "Panel", "children", "classNames", "props", "setProps", "useState", "ref", "containerRef", "width", "height", "useResizeDetector", "refreshMode", "refreshRate", "refreshOptions", "leading", "onResize", "createLayoutProps", "div", "className", "mx", "style", "aspectRatio", "nominalWidth", "nominalHeight", "scale", "Math", "min", "left", "top", "transform", "h", "React", "ReactMarkdown", "rehypeAddClasses", "rehypeHighlight", "remarkFrontmatter", "remarkParseFrontmatter", "theme", "root", "padding", "nodes", "h1", "h2", "h3", "p", "ul", "ol", "li", "pre", "code", "Slide", "content", "classes", "theme", "nodes", "React", "style", "styles", "ReactMarkdown", "components", "remarkPlugins", "remarkFrontmatter", "remarkParseFrontmatter", "rehypePlugins", "rehypeAddClasses", "rehypeHighlight", "slideLayout", "_options", "tree", "file", "data", "frontmatter", "children", "layout", "image", "img", "h", "class", "backgroundImage", "padding", "root", "ImageWrapper", "node", "_", "props", "alt", "src", "React", "composable", "composableProps", "Layout", "composable", "children", "topLeft", "topRight", "bottomLeft", "bottomRight", "props", "forwardedRef", "React", "div", "composableProps", "classNames", "ref", "className", "React", "useEffect", "IconButton", "useControlledState", "Pager", "index", "indexProp", "count", "keys", "onChange", "onExit", "setIndex", "useControlledState", "useEffect", "handleChangeIndex", "dir", "next", "keydownHandler", "event", "key", "shiftKey", "window", "addEventListener", "removeEventListener", "undefined", "React", "div", "className", "IconButton", "icon", "size", "label", "iconOnly", "noTooltip", "variant", "classNames", "onClick", "PageNumber", "StartButton", "running", "hljs", "typescript", "React", "useRef", "Reveal", "RevealHighlight", "RevealMarkdown", "useAsyncEffect", "composable", "composableProps", "styles", "RevealPlayer", "composable", "content", "slide", "fullscreen", "onExit", "children", "props", "forwardedRef", "deckDivRef", "useRef", "deckRef", "useAsyncEffect", "current", "hljs", "registerLanguage", "typescript", "Reveal", "progress", "transition", "slideNumber", "embedded", "autoPlayMedia", "showNotes", "margin", "plugins", "RevealMarkdown", "RevealHighlight", "markdown", "gfm", "smartypants", "highlight", "code", "language", "value", "highlightAuto", "initialize", "undefined", "getTotalSlides", "addKeyBinding", "keyCode", "key", "description", "destroy", "React", "div", "composableProps", "classNames", "ref", "role", "className", "style", "link", "rel", "href", "crossOrigin", "section", "textarea", "defaultValue", "join", "PresenterSettings", "lazy", "trim", "meta", "id", "name", "description", "trim", "icon", "iconHue", "source", "Plugin", "AppPlugin", "AppGraphBuilder", "PresenterSettings", "ReactSurface", "meta", "meta", "translations", "meta", "id", "PresenterPlugin", "Plugin", "define", "meta", "pipe", "AppPlugin", "addAppGraphModule", "activate", "AppGraphBuilder", "addSettingsModule", "PresenterSettings", "addSurfaceModule", "ReactSurface", "addTranslationsModule", "translations", "make"]
3
+ "sources": ["../../../src/components/index.ts", "../../../src/components/Markdown/Panel.tsx", "../../../src/components/Markdown/Slide.tsx", "raw-loader:/__w/dxos/dxos/packages/plugins/plugin-presenter/src/components/Markdown/styles.css?raw", "../../../src/components/Markdown/theme.ts", "../../../src/components/Presenter/Layout.tsx", "../../../src/components/Presenter/Pager.tsx", "../../../src/components/RevealPlayer/RevealPlayer.tsx", "../../../src/meta.ts", "../../../src/PresenterPlugin.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type ComponentType, lazy } from 'react';\n\nexport * from './Markdown';\nexport * from './Presenter';\nexport * from './RevealPlayer';\n\nexport const PresenterSettings: ComponentType<any> = lazy(() => import('./PresenterSettings'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type PropsWithChildren, useState } from 'react';\nimport { useResizeDetector } from 'react-resize-detector';\n\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { mx } from '@dxos/ui-theme';\n\nexport type PanelProps = ThemedClassName<PropsWithChildren<{}>>;\n\n/**\n * Scaled markdown panel.\n */\nexport const Panel = ({ children, classNames }: PanelProps) => {\n const [props, setProps] = useState({});\n const {\n ref: containerRef,\n width,\n height,\n } = useResizeDetector({\n refreshMode: 'debounce',\n refreshRate: 200,\n refreshOptions: {\n leading: true,\n },\n onResize: ({ width, height }) => {\n if (width && height) {\n setProps(createLayoutProps({ width, height }));\n }\n },\n });\n\n // TODO(burdon): Reconcile highlight colors with markdown editor.\n // https://www.npmjs.com/package/react-markdown\n return (\n <div ref={containerRef} className={mx('flex grow relative overflow-hidden bg-attention-surface', classNames)}>\n <div className={mx('dx-container absolute')} style={props}>\n {width && height && children}\n </div>\n </div>\n );\n};\n\n/**\n * Compute CSS properties to transform DIV to be full screen.\n *\n * Display resolutions:\n * window.screen.{availWidth, availHeight}\n * 5K Studio 16.2-inch Macbook Pro\n * Max 5120 x 2880 3456 x 2234\n * Default 2560 x 1440 1728 x 1117 (Actual height 1080 - 37 pixel notch)\n * Aspect 1.77 (16/9) 1.54\n */\nconst createLayoutProps = ({ width, height }: { width: number; height: number }) => {\n // Config.\n const aspectRatio = 16 / 9;\n const nominalWidth = 2560;\n const nominalHeight = nominalWidth / aspectRatio;\n\n // NOTE: Hack to detect full height on Macbook Pro due to notch.\n // const macIntelNotch = 1117 - 1080;\n // const fullscreen =\n // height === screen.availHeight ||\n // (window.navigator.platform === 'MacIntel' && height === screen.availHeight - macIntelNotch);\n\n // If not fullscreen then make scale slightly smaller so there's a natural border.\n // const scaleFactor = fullscreen ? 1 : 0.95;\n\n // Compute scaling factor required.\n const scale = Math.min(width / nominalWidth, height / nominalHeight);\n\n return {\n left: (width - nominalWidth) / 2,\n top: (height - nominalHeight) / 2,\n width: nominalWidth,\n height: nominalHeight,\n transform: `scale(${scale})`,\n };\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport 'highlight.js/styles/github.css';\n\nimport { h } from 'hastscript';\nimport React from 'react';\nimport ReactMarkdown, { type Options as ReactMarkdownOptions } from 'react-markdown';\nimport rehypeAddClasses from 'rehype-add-classes';\nimport rehypeHighlight from 'rehype-highlight';\nimport remarkFrontmatter from 'remark-frontmatter';\nimport remarkParseFrontmatter from 'remark-parse-frontmatter';\n\nimport styles from './styles.css?raw';\nimport { theme } from './theme';\n\nexport type SlideProps = {\n content?: string;\n classes?: Record<string, string>;\n};\n\nexport const Slide = ({ content = '', classes = theme.nodes }: SlideProps) => {\n // TODO(thure): `rehype-highlight` ends up using `github.css` from `highlight.js`, but this does not appear to be\n // configurable. Find a way to remove the literal stylesheet here.\n return (\n <>\n <style>{styles}</style>\n <ReactMarkdown\n components={components}\n // Markdown to HTML.\n remarkPlugins={[[remarkFrontmatter, 'yaml'], remarkParseFrontmatter as any]}\n // HTML processing.\n rehypePlugins={[[rehypeAddClasses, classes], rehypeHighlight as any, slideLayout]}\n >\n {content}\n </ReactMarkdown>\n </>\n );\n};\n\n/**\n * Rehype plugin to format DOM based on frontmatter.\n * https://github.com/unifiedjs/unified#plugin\n * TODO(burdon): See tools/presenter: remarkPluginLayout\n * E.g., layout image from front-matter.\n */\nconst slideLayout =\n (_options = {}) =>\n (tree: any, file: any) => {\n const {\n data: { frontmatter = {} },\n } = file;\n\n let content = tree.children;\n const { layout, image } = frontmatter;\n if (image) {\n const img = h('div', {\n class: 'flex grow shrink-0 bg-cover bg-center bg-no-repeat',\n style: {\n backgroundImage: `url(${image})`,\n },\n });\n\n switch (layout) {\n case 'fullscreen': {\n content = img;\n break;\n }\n\n case 'columns': {\n content = h('div', { class: 'flex grow grid grid-cols-2' }, [\n h('div', { class: theme.padding }, [content]),\n img,\n ]);\n break;\n }\n\n case 'rows': {\n content = h('div', { class: 'flex grow flex-col' }, [\n h('div', { class: theme.padding }, [content]),\n h('div', { class: ['flex grow pt-0', theme.padding] }, [img]),\n ]);\n break;\n }\n }\n } else {\n content = h('div', { class: ['flex grow flex-col', theme.padding] }, [content]);\n }\n\n const root = h('div', { class: ['flex flex-col grow', theme.root] }, [content]);\n tree.children = [root];\n };\n\nconst ImageWrapper = ({ node: _, ...props }: { node: any }) => {\n const { alt = '', src } = props as { alt: string; src: string };\n return <img alt={alt} src={src} />;\n};\n\nconst components: ReactMarkdownOptions['components'] = {\n img: ({ node, ...props }) => <ImageWrapper node={node} {...props} />,\n};\n", "/*!\n Theme: GitHub Dark\n Description: Dark theme as seen on github.com\n Author: github.com\n Maintainer: @Hirse\n Updated: 2021-05-15\n Outdated base version: https://github.com/primer/github-syntax-dark\n Current colors taken from GitHub's CSS\n*/\n/* TODO(burdon): Use tokens. */\n.dark pre code.hljs {\n display: block;\n overflow-x: auto;\n padding: 1em;\n}\n.dark code.hljs {\n padding: 3px 5px;\n}\n.dark .hljs {\n color: #c9d1d9;\n background: #0d1117;\n}\n.dark .hljs-doctag,\n.dark .hljs-keyword,\n.dark .hljs-meta .hljs-keyword,\n.dark .hljs-template-tag,\n.dark .hljs-template-variable,\n.dark .hljs-type,\n.dark .hljs-variable.language_ {\n color: #ff7b72;\n}\n.dark .hljs-title,\n.dark .hljs-title.class_,\n.dark .hljs-title.class_.inherited__,\n.dark .hljs-title.function_ {\n color: #d2a8ff;\n}\n.dark .hljs-attr,\n.dark .hljs-attribute,\n.dark .hljs-literal,\n.dark .hljs-meta,\n.dark .hljs-number,\n.dark .hljs-operator,\n.dark .hljs-variable,\n.dark .hljs-selector-attr,\n.dark .hljs-selector-class,\n.dark .hljs-selector-id {\n color: #79c0ff;\n}\n.dark .hljs-regexp,\n.dark .hljs-string,\n.dark .hljs-meta .hljs-string {\n color: #a5d6ff;\n}\n.dark .hljs-built_in,\n.dark .hljs-symbol {\n color: #ffa657;\n}\n.dark .hljs-comment,\n.dark .hljs-code,\n.dark .hljs-formula {\n color: #8b949e;\n}\n.dark .hljs-name,\n.dark .hljs-quote,\n.dark .hljs-selector-tag,\n.dark .hljs-selector-pseudo {\n color: #7ee787;\n}\n.dark .hljs-subst {\n color: #c9d1d9;\n}\n.dark .hljs-section {\n color: #1f6feb;\n font-weight: bold;\n}\n.dark .hljs-bullet {\n color: #f2cc60;\n}\n.dark .hljs-emphasis {\n color: #c9d1d9;\n font-style: italic;\n}\n.dark .hljs-strong {\n color: #c9d1d9;\n font-weight: bold;\n}\n.dark .hljs-addition {\n color: #aff5b4;\n background-color: #033a16;\n}\n.dark .hljs-deletion {\n color: #ffdcd7;\n background-color: #67060c;\n}\n.dark .hljs-char.escape_,\n.dark .hljs-link,\n.dark .hljs-params,\n.dark .hljs-property,\n.dark .hljs-punctuation,\n.dark .hljs-tag {\n /* purposely ignored */\n all: unset;\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\n// TODO(burdon): Create theme type and picker.\n\nexport const theme = {\n root: 'bg-attention-surface leading-relaxed font-mono',\n\n padding: 'px-40 py-16 gap-8',\n\n nodes: {\n h1: 'text-[80px] text-accent-text',\n h2: 'text-[60px] text-accent-text',\n h3: 'text-[48px] text-accent-text',\n\n p: 'text-[48px]',\n\n ul: 'my-[16px] ml-12 leading-relaxed list-disc',\n ol: 'my-[16px] ml-24 leading-relaxed list-decimal',\n li: 'pl-6 text-[48px]',\n\n pre: 'w-full mx-0 my-[32px] p-4 bg-input-surface',\n code: 'p-0 text-[40px]',\n },\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type PropsWithChildren, type ReactNode } from 'react';\n\nimport { composable, composableProps } from '@dxos/ui-theme';\n\nexport type LayoutProps = PropsWithChildren<{\n topLeft?: ReactNode;\n topRight?: ReactNode;\n bottomLeft?: ReactNode;\n bottomRight?: ReactNode;\n}>;\n\nexport const Layout = composable<HTMLDivElement, LayoutProps>(\n ({ children, topLeft, topRight, bottomLeft, bottomRight, ...props }, forwardedRef) => {\n return (\n <div\n {...composableProps(props, { classNames: 'flex grow relative overflow-hidden bg-attention-surface' })}\n ref={forwardedRef}\n >\n <div className='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", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useEffect } from 'react';\n\nimport { IconButton, useControlledState } from '@dxos/react-ui';\n\nexport type PagerProps = {\n index?: number;\n count?: number;\n keys?: boolean; // TODO(burdon): Rename.\n onChange?: (index: number) => void;\n onExit?: () => void;\n};\n\nexport const Pager = ({ index: indexProp = 0, count = 0, keys, onChange, onExit }: PagerProps) => {\n const [index, setIndex] = useControlledState(indexProp);\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 <IconButton\n icon='ph--caret-double-left--regular'\n size={6}\n label='Jump to first'\n iconOnly\n noTooltip\n variant='ghost'\n classNames='p-0'\n onClick={() => onChange?.(0)}\n />\n <IconButton\n icon='ph--caret-left--regular'\n size={6}\n label='Previous'\n iconOnly\n noTooltip\n variant='ghost'\n classNames='p-0'\n onClick={() => handleChangeIndex(-1)}\n />\n <IconButton\n icon='ph--caret-right--regular'\n size={6}\n label='Next'\n iconOnly\n noTooltip\n variant='ghost'\n classNames='p-0'\n onClick={() => handleChangeIndex(1)}\n />\n <IconButton\n icon='ph--caret-double-right--regular'\n size={6}\n label='Jump to last'\n iconOnly\n noTooltip\n variant='ghost'\n classNames='p-0'\n onClick={() => onChange?.(count - 1)}\n />\n </div>\n );\n};\n\nexport type PageNumberProps = {\n index?: number;\n count?: number;\n};\n\nexport const PageNumber = ({ index = 0, count = 1 }: PageNumberProps) => {\n if (index === undefined || !count) {\n return null;\n }\n\n return (\n <div className='flex items-center text-neutral-500 text-2xl'>\n <div>\n {index + 1} / {count}\n </div>\n </div>\n );\n};\n\nexport const StartButton = ({ running, onClick }: { running?: boolean; onClick?: (start: boolean) => void }) => {\n return (\n <IconButton\n icon={running ? 'ph--x--regular' : 'ph--play--regular'}\n size={6}\n label={running ? 'Stop' : 'Play'}\n iconOnly\n noTooltip\n variant='ghost'\n classNames='p-0'\n onClick={() => onClick?.(!running)}\n />\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport 'reveal.js/dist/reveal.css';\nimport 'reveal.js/dist/theme/black.css';\n// https://github.com/highlightjs/highlight.js/tree/main/src/styles\n// import 'highlight.js/styles/github-dark.css';\nimport 'highlight.js/styles/tokyo-night-dark.css';\n\nimport hljs from 'highlight.js';\nimport typescript from 'highlight.js/lib/languages/typescript';\nimport React, { useRef } from 'react';\nimport Reveal from 'reveal.js';\nimport RevealHighlight from 'reveal.js/plugin/highlight/highlight';\nimport RevealMarkdown from 'reveal.js/plugin/markdown/plugin.js';\n\nimport { useAsyncEffect } from '@dxos/react-ui';\nimport { composable, composableProps } from '@dxos/ui-theme';\n\nconst styles = `\n<style type=\"text/css\">\n .reveal h1 {\n font-weight: 100;\n font-size: 60px;\n opacity: 0.5;\n }\n .reveal h2 {\n font-weight: 100;\n padding-top: 60px;\n padding-left: 40px;\n font-size: 48px;\n opacity: 0.3;\n }\n .reveal h1, h2, p {\n font-family: \"Raleway\", sans-serif;\n text-align: left;\n font-weight: 200;\n }\n .reveal ul {\n font-family: \"Raleway\", sans-serif;\n display: block;\n list-style: \"- \";\n }\n .reveal blockquote p {\n text-align: center;\n font-weight: 100;\n padding: 32px;\n }\n .reveal pre {\n margin-left: 0;\n }\n .reveal code {\n font-size: 20px;\n background: #111111;\n color: #eeeeee;\n max-height: unset !important;\n }\n</style>\n`;\n\nexport type RevealProps = {\n content: string;\n slide?: number;\n fullscreen?: boolean;\n onExit?: () => void;\n};\n\nexport const RevealPlayer = composable<HTMLDivElement, RevealProps>(\n ({ content, slide, fullscreen = true, onExit, children, ...props }, forwardedRef) => {\n const deckDivRef = useRef<HTMLDivElement>(null);\n const deckRef = useRef<Reveal.Api | null>(null);\n\n useAsyncEffect(async () => {\n if (deckRef.current) {\n return;\n }\n\n // Required for syntax highlighting.\n hljs.registerLanguage('typescript', typescript);\n\n // https://revealjs.com/react\n // https://revealjs.com/config\n // https://github.com/hakimel/reveal.js\n // TODO(burdon): Fragments and scroll view steps 2 at a time (safe mode?)\n deckRef.current = new Reveal(deckDivRef.current!, {\n // view: 'scroll',\n progress: false,\n transition: 'none',\n slideNumber: false,\n embedded: true,\n\n // Disable autoplay to prevent errors in headless environments (e.g., CI).\n autoPlayMedia: false,\n\n // TODO(burdon): Speaker view requires server to serve popout window.\n // https://revealjs.com/speaker-view\n showNotes: false,\n\n // width: 1600,\n // height: 900,\n margin: 0.1,\n // center: false,\n // minScale: 0.1,\n // maxScale: 1.4,\n\n // https://revealjs.com/markdown\n // TODO(burdon): Requires server to serve popout window.\n plugins: [RevealMarkdown, RevealHighlight],\n\n // See https://marked.js.org/using_advanced#options\n markdown: {\n gfm: true,\n smartypants: true,\n highlight: (code, language) => {\n if (language) {\n return hljs.highlight(code, { language }).value;\n }\n\n return hljs.highlightAuto(code).value;\n },\n },\n });\n\n await deckRef.current.initialize();\n\n if (slide !== undefined) {\n deckRef.current.slide(slide < 0 ? deckRef.current?.getTotalSlides() + slide : slide - 1);\n }\n\n deckRef.current.addKeyBinding({ keyCode: 27, key: 'Escape', description: 'Exit full screen' }, () => {\n onExit?.();\n });\n\n return () => {\n try {\n if (deckRef.current) {\n deckRef.current.destroy();\n deckRef.current = null;\n }\n } catch {\n // Ignore.\n }\n };\n });\n\n // TOOD(burdon): Trap cursor keys (otherwise tabster grabs focus.)\n return (\n <div\n {...composableProps(props, {\n classNames: ['dx-container grid place-items-center bg-black', fullscreen && 'absolute inset-0'],\n })}\n ref={forwardedRef}\n >\n <div role='none' className='relative aspect-video h-full w-full h-auto max-h-full overflow-hidden'>\n <div ref={deckDivRef} className='absolute inset-0 reveal'>\n {/* NOTE: Must be in head. */}\n <style>\n <link rel='preconnect' href='https://fonts.googleapis.com' />\n <link rel='preconnect' href='https://fonts.gstatic.com' {...{ crossOrigin: '' }} />\n <link\n rel='stylesheet'\n href='https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&display=swap'\n />\n </style>\n <div className='slides'>\n <div className='text-center!' />\n <section {...{ 'data-markdown': [] }}>\n <textarea {...{ 'data-template': true }} defaultValue={[styles, content].join('\\n')}></textarea>\n </section>\n </div>\n </div>\n </div>\n </div>\n );\n },\n);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.plugin.presenter',\n name: 'Presenter',\n description: trim`\n Transform markdown documents into interactive presentation slideshows.\n Navigate between slides with keyboard controls and present content in full-screen mode.\n `,\n icon: 'ph--presentation--regular',\n iconHue: 'indigo',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-presenter',\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\n\nimport { AppGraphBuilder, PresenterSettings, ReactSurface } from '#capabilities';\nimport { meta } from '#meta';\nimport { translations } from '#translations';\n\n// TODO(burdon): Only scale markdown content.\n// TODO(burdon): Map stack content; Slide content type (e.g., markdown, sketch, IPFS image, table, etc.)\n\nexport const PresenterPlugin = Plugin.define(meta).pipe(\n AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),\n AppPlugin.addSettingsModule({ activate: PresenterSettings }),\n AppPlugin.addSurfaceModule({ activate: ReactSurface }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.make,\n);\n"],
5
+ "mappings": "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",
6
+ "names": ["lazy", "React", "useState", "useResizeDetector", "mx", "Panel", "children", "classNames", "props", "setProps", "ref", "containerRef", "width", "height", "refreshMode", "refreshRate", "refreshOptions", "leading", "onResize", "createLayoutProps", "div", "className", "style", "aspectRatio", "nominalWidth", "nominalHeight", "scale", "Math", "min", "left", "top", "transform", "h", "React", "ReactMarkdown", "rehypeAddClasses", "rehypeHighlight", "remarkFrontmatter", "remarkParseFrontmatter", "theme", "root", "padding", "nodes", "h1", "h2", "h3", "p", "ul", "ol", "li", "pre", "code", "Slide", "content", "classes", "theme", "nodes", "React", "style", "styles", "ReactMarkdown", "components", "remarkPlugins", "remarkFrontmatter", "remarkParseFrontmatter", "rehypePlugins", "rehypeAddClasses", "rehypeHighlight", "slideLayout", "_options", "tree", "file", "data", "frontmatter", "children", "layout", "image", "img", "h", "class", "backgroundImage", "padding", "root", "ImageWrapper", "node", "_", "props", "alt", "src", "React", "composable", "composableProps", "Layout", "children", "topLeft", "topRight", "bottomLeft", "bottomRight", "props", "forwardedRef", "div", "classNames", "ref", "className", "React", "useEffect", "IconButton", "useControlledState", "Pager", "index", "indexProp", "count", "keys", "onChange", "onExit", "setIndex", "handleChangeIndex", "dir", "next", "keydownHandler", "event", "key", "shiftKey", "window", "addEventListener", "removeEventListener", "undefined", "div", "className", "icon", "size", "label", "iconOnly", "noTooltip", "variant", "classNames", "onClick", "PageNumber", "StartButton", "running", "hljs", "typescript", "React", "useRef", "Reveal", "RevealHighlight", "RevealMarkdown", "useAsyncEffect", "composable", "composableProps", "styles", "RevealPlayer", "content", "slide", "fullscreen", "onExit", "children", "props", "forwardedRef", "deckDivRef", "deckRef", "current", "registerLanguage", "progress", "transition", "slideNumber", "embedded", "autoPlayMedia", "showNotes", "margin", "plugins", "markdown", "gfm", "smartypants", "highlight", "code", "language", "value", "highlightAuto", "initialize", "undefined", "getTotalSlides", "addKeyBinding", "keyCode", "key", "description", "destroy", "div", "classNames", "ref", "role", "className", "style", "link", "rel", "href", "crossOrigin", "section", "textarea", "defaultValue", "join", "PresenterSettings", "lazy", "trim", "meta", "id", "name", "description", "icon", "iconHue", "source", "Plugin", "AppPlugin", "AppGraphBuilder", "PresenterSettings", "ReactSurface", "meta", "translations", "PresenterPlugin", "define", "pipe", "addAppGraphModule", "activate", "addSettingsModule", "addSurfaceModule", "addTranslationsModule", "make"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"src/components/Markdown/Panel.tsx":{"bytes":7961,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"format":"esm"},"raw-loader:/__w/dxos/dxos/packages/plugins/plugin-presenter/src/components/Markdown/styles.css?raw":{"bytes":1972,"imports":[]},"src/components/Markdown/theme.ts":{"bytes":2088,"imports":[],"format":"esm"},"src/components/Markdown/Slide.tsx":{"bytes":11710,"imports":[{"path":"highlight.js/styles/github.css","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":"raw-loader:/__w/dxos/dxos/packages/plugins/plugin-presenter/src/components/Markdown/styles.css?raw","kind":"import-statement","original":"./styles.css?raw"},{"path":"src/components/Markdown/theme.ts","kind":"import-statement","original":"./theme"}],"format":"esm"},"src/components/Markdown/index.ts":{"bytes":554,"imports":[{"path":"src/components/Markdown/Panel.tsx","kind":"import-statement","original":"./Panel"},{"path":"src/components/Markdown/Slide.tsx","kind":"import-statement","original":"./Slide"}],"format":"esm"},"src/components/Presenter/Layout.tsx":{"bytes":3698,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"format":"esm"},"src/components/Presenter/Pager.tsx":{"bytes":12421,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"format":"esm"},"src/components/Presenter/index.ts":{"bytes":560,"imports":[{"path":"src/components/Presenter/Layout.tsx","kind":"import-statement","original":"./Layout"},{"path":"src/components/Presenter/Pager.tsx","kind":"import-statement","original":"./Pager"}],"format":"esm"},"src/components/RevealPlayer/RevealPlayer.tsx":{"bytes":16727,"imports":[{"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","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"format":"esm"},"src/components/RevealPlayer/index.ts":{"bytes":496,"imports":[{"path":"src/components/RevealPlayer/RevealPlayer.tsx","kind":"import-statement","original":"./RevealPlayer"}],"format":"esm"},"src/components/PresenterSettings/PresenterSettings.tsx":{"bytes":3983,"imports":[{"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":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/components/PresenterSettings/index.ts":{"bytes":649,"imports":[{"path":"src/components/PresenterSettings/PresenterSettings.tsx","kind":"import-statement","original":"./PresenterSettings"}],"format":"esm"},"src/components/index.ts":{"bytes":1112,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/components/Markdown/index.ts","kind":"import-statement","original":"./Markdown"},{"path":"src/components/Presenter/index.ts","kind":"import-statement","original":"./Presenter"},{"path":"src/components/RevealPlayer/index.ts","kind":"import-statement","original":"./RevealPlayer"},{"path":"src/components/PresenterSettings/index.ts","kind":"dynamic-import","original":"./PresenterSettings"}],"format":"esm"},"src/meta.ts":{"bytes":1831,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/translations.ts":{"bytes":1881,"imports":[{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/PresenterPlugin.tsx":{"bytes":2985,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"src/index.ts":{"bytes":653,"imports":[{"path":"src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/PresenterPlugin.tsx","kind":"import-statement","original":"./PresenterPlugin"}],"format":"esm"},"src/operations/definitions.ts":{"bytes":2841,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/operations/index.ts":{"bytes":584,"imports":[{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":32144},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"highlight.js/styles/github.css","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":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","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","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"dist/lib/browser/PresenterSettings-DZO2DC53.mjs","kind":"dynamic-import"},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"exports":["Layout","PageNumber","Pager","Panel","PresenterPlugin","PresenterSettings","RevealPlayer","Slide","StartButton","meta"],"entryPoint":"src/index.ts","inputs":{"src/components/index.ts":{"bytesInOutput":110},"src/components/Markdown/Panel.tsx":{"bytesInOutput":1327},"src/components/Markdown/index.ts":{"bytesInOutput":0},"src/components/Markdown/Slide.tsx":{"bytesInOutput":2652},"raw-loader:/__w/dxos/dxos/packages/plugins/plugin-presenter/src/components/Markdown/styles.css?raw":{"bytesInOutput":2101},"src/components/Markdown/theme.ts":{"bytesInOutput":484},"src/components/Presenter/Layout.tsx":{"bytesInOutput":1012},"src/components/Presenter/index.ts":{"bytesInOutput":0},"src/components/Presenter/Pager.tsx":{"bytesInOutput":3259},"src/components/RevealPlayer/RevealPlayer.tsx":{"bytesInOutput":4624},"src/components/RevealPlayer/index.ts":{"bytesInOutput":0},"src/index.ts":{"bytesInOutput":0},"src/meta.ts":{"bytesInOutput":443},"src/PresenterPlugin.tsx":{"bytesInOutput":536},"src/translations.ts":{"bytesInOutput":431}},"bytes":17720},"dist/lib/browser/operations/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1445},"dist/lib/browser/operations/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"exports":["PresenterOperation"],"entryPoint":"src/operations/index.ts","inputs":{"src/operations/definitions.ts":{"bytesInOutput":688},"src/operations/index.ts":{"bytesInOutput":0}},"bytes":865},"dist/lib/browser/PresenterSettings-DZO2DC53.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2154},"dist/lib/browser/PresenterSettings-DZO2DC53.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"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":"#meta","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/components/PresenterSettings/index.ts","inputs":{"src/components/PresenterSettings/PresenterSettings.tsx":{"bytesInOutput":894},"src/components/PresenterSettings/index.ts":{"bytesInOutput":0}},"bytes":1083},"dist/lib/browser/chunk-J5LGTIGS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/chunk-J5LGTIGS.mjs":{"imports":[],"exports":["__export"],"inputs":{},"bytes":235}}}
1
+ {"inputs":{"src/components/Markdown/Panel.tsx":{"bytes":7856,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"format":"esm"},"raw-loader:/__w/dxos/dxos/packages/plugins/plugin-presenter/src/components/Markdown/styles.css?raw":{"bytes":1972,"imports":[]},"src/components/Markdown/theme.ts":{"bytes":1980,"imports":[],"format":"esm"},"src/components/Markdown/Slide.tsx":{"bytes":11605,"imports":[{"path":"highlight.js/styles/github.css","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":"raw-loader:/__w/dxos/dxos/packages/plugins/plugin-presenter/src/components/Markdown/styles.css?raw","kind":"import-statement","original":"./styles.css?raw"},{"path":"src/components/Markdown/theme.ts","kind":"import-statement","original":"./theme"}],"format":"esm"},"src/components/Markdown/index.ts":{"bytes":450,"imports":[{"path":"src/components/Markdown/Panel.tsx","kind":"import-statement","original":"./Panel"},{"path":"src/components/Markdown/Slide.tsx","kind":"import-statement","original":"./Slide"}],"format":"esm"},"src/components/Presenter/Layout.tsx":{"bytes":3587,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"format":"esm"},"src/components/Presenter/Pager.tsx":{"bytes":12315,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"format":"esm"},"src/components/Presenter/index.ts":{"bytes":451,"imports":[{"path":"src/components/Presenter/Layout.tsx","kind":"import-statement","original":"./Layout"},{"path":"src/components/Presenter/Pager.tsx","kind":"import-statement","original":"./Pager"}],"format":"esm"},"src/components/RevealPlayer/RevealPlayer.tsx":{"bytes":16611,"imports":[{"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","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"format":"esm"},"src/components/RevealPlayer/index.ts":{"bytes":388,"imports":[{"path":"src/components/RevealPlayer/RevealPlayer.tsx","kind":"import-statement","original":"./RevealPlayer"}],"format":"esm"},"src/components/PresenterSettings/PresenterSettings.tsx":{"bytes":3216,"imports":[{"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":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/components/PresenterSettings/index.ts":{"bytes":536,"imports":[{"path":"src/components/PresenterSettings/PresenterSettings.tsx","kind":"import-statement","original":"./PresenterSettings"}],"format":"esm"},"src/components/index.ts":{"bytes":1013,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/components/Markdown/index.ts","kind":"import-statement","original":"./Markdown"},{"path":"src/components/Presenter/index.ts","kind":"import-statement","original":"./Presenter"},{"path":"src/components/RevealPlayer/index.ts","kind":"import-statement","original":"./RevealPlayer"},{"path":"src/components/PresenterSettings/index.ts","kind":"dynamic-import","original":"./PresenterSettings"}],"format":"esm"},"src/meta.ts":{"bytes":1748,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/PresenterPlugin.tsx":{"bytes":2881,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":569,"imports":[{"path":"src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/PresenterPlugin.tsx","kind":"import-statement","original":"./PresenterPlugin"}],"format":"esm"},"src/operations/definitions.ts":{"bytes":2734,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/operations/index.ts":{"bytes":489,"imports":[{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"}],"format":"esm"},"src/translations.ts":{"bytes":1310,"imports":[{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":31018},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"highlight.js/styles/github.css","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":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","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","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"dist/lib/browser/PresenterSettings-2G4XD4QY.mjs","kind":"dynamic-import"},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true}],"exports":["Layout","PageNumber","Pager","Panel","PresenterPlugin","PresenterSettings","RevealPlayer","Slide","StartButton","meta"],"entryPoint":"src/index.ts","inputs":{"src/components/index.ts":{"bytesInOutput":110},"src/components/Markdown/Panel.tsx":{"bytesInOutput":1327},"src/components/Markdown/index.ts":{"bytesInOutput":0},"src/components/Markdown/Slide.tsx":{"bytesInOutput":2652},"raw-loader:/__w/dxos/dxos/packages/plugins/plugin-presenter/src/components/Markdown/styles.css?raw":{"bytesInOutput":2101},"src/components/Markdown/theme.ts":{"bytesInOutput":484},"src/components/Presenter/Layout.tsx":{"bytesInOutput":1012},"src/components/Presenter/index.ts":{"bytesInOutput":0},"src/components/Presenter/Pager.tsx":{"bytesInOutput":3259},"src/components/RevealPlayer/RevealPlayer.tsx":{"bytesInOutput":4624},"src/components/RevealPlayer/index.ts":{"bytesInOutput":0},"src/index.ts":{"bytesInOutput":0},"src/meta.ts":{"bytesInOutput":443},"src/PresenterPlugin.tsx":{"bytesInOutput":582}},"bytes":17283},"dist/lib/browser/operations/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1396},"dist/lib/browser/operations/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"exports":["PresenterOperation"],"entryPoint":"src/operations/index.ts","inputs":{"src/operations/definitions.ts":{"bytesInOutput":686},"src/operations/index.ts":{"bytesInOutput":0}},"bytes":863},"dist/lib/browser/translations.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":670},"dist/lib/browser/translations.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"#meta","kind":"import-statement","external":true}],"exports":["translations"],"entryPoint":"src/translations.ts","inputs":{"src/translations.ts":{"bytesInOutput":241}},"bytes":365},"dist/lib/browser/PresenterSettings-2G4XD4QY.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1778},"dist/lib/browser/PresenterSettings-2G4XD4QY.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"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":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/components/PresenterSettings/index.ts","inputs":{"src/components/PresenterSettings/PresenterSettings.tsx":{"bytesInOutput":729},"src/components/PresenterSettings/index.ts":{"bytesInOutput":0}},"bytes":918},"dist/lib/browser/chunk-J5LGTIGS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/chunk-J5LGTIGS.mjs":{"imports":[],"exports":["__export"],"inputs":{},"bytes":235}}}
@@ -8,8 +8,8 @@ __export(definitions_exports, {
8
8
  TogglePresentation: () => TogglePresentation
9
9
  });
10
10
  import * as Schema from "effect/Schema";
11
+ import { Operation } from "@dxos/compute";
11
12
  import { Collection } from "@dxos/echo";
12
- import { Operation } from "@dxos/operation";
13
13
  import { Markdown } from "@dxos/plugin-markdown/types";
14
14
  import { meta } from "#meta";
15
15
  var PRESENTER_OPERATION = `${meta.id}.operation`;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/operations/definitions.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Collection } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\nimport { Markdown } from '@dxos/plugin-markdown/types';\n\nimport { meta } from '#meta';\n\nconst PRESENTER_OPERATION = `${meta.id}.operation`;\n\n// TODO(wittjosiah): This appears to be unused.\nexport const TogglePresentation = Operation.make({\n meta: { key: `${PRESENTER_OPERATION}.toggle-presentation`, name: 'Toggle Presentation' },\n input: Schema.Struct({\n object: Schema.Union(Markdown.Document, Collection.Collection),\n state: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Void,\n});\n"],
5
- "mappings": ";;;;;AAAA;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AAEzB,SAASC,YAAY;AAErB,IAAMC,sBAAsB,GAAGC,KAAKC,EAAE;AAG/B,IAAMC,qBAAqBC,UAAUC,KAAK;EAC/CJ,MAAM;IAAEK,KAAK,GAAGN,mBAAAA;IAA2CO,MAAM;EAAsB;EACvFC,OAAcC,cAAO;IACnBC,QAAeC,aAAMC,SAASC,UAAUC,WAAWA,UAAU;IAC7DC,OAAcC,gBAAgBC,cAAO;EACvC,CAAA;EACAC,QAAeC;AACjB,CAAA;",
6
- "names": ["Schema", "Collection", "Operation", "Markdown", "meta", "PRESENTER_OPERATION", "meta", "id", "TogglePresentation", "Operation", "make", "key", "name", "input", "Struct", "object", "Union", "Markdown", "Document", "Collection", "state", "optional", "Boolean", "output", "Void"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Operation } from '@dxos/compute';\nimport { Collection } from '@dxos/echo';\nimport { Markdown } from '@dxos/plugin-markdown/types';\n\nimport { meta } from '#meta';\n\nconst PRESENTER_OPERATION = `${meta.id}.operation`;\n\n// TODO(wittjosiah): This appears to be unused.\nexport const TogglePresentation = Operation.make({\n meta: { key: `${PRESENTER_OPERATION}.toggle-presentation`, name: 'Toggle Presentation' },\n input: Schema.Struct({\n object: Schema.Union(Markdown.Document, Collection.Collection),\n state: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Void,\n});\n"],
5
+ "mappings": ";;;;;AAAA;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,kBAAkB;AAC3B,SAASC,gBAAgB;AAEzB,SAASC,YAAY;AAErB,IAAMC,sBAAsB,GAAGD,KAAKE,EAAE;AAG/B,IAAMC,qBAAqBN,UAAUO,KAAK;EAC/CJ,MAAM;IAAEK,KAAK,GAAGJ,mBAAAA;IAA2CK,MAAM;EAAsB;EACvFC,OAAcC,cAAO;IACnBC,QAAeC,aAAMX,SAASY,UAAUb,WAAWA,UAAU;IAC7Dc,OAAcC,gBAAgBC,cAAO;EACvC,CAAA;EACAC,QAAeC;AACjB,CAAA;",
6
+ "names": ["Schema", "Operation", "Collection", "Markdown", "meta", "PRESENTER_OPERATION", "id", "TogglePresentation", "make", "key", "name", "input", "Struct", "object", "Union", "Document", "state", "optional", "Boolean", "output", "Void"]
7
7
  }
@@ -0,0 +1,19 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/translations.ts
4
+ import { meta } from "#meta";
5
+ var translations = [
6
+ {
7
+ "en-US": {
8
+ [meta.id]: {
9
+ "plugin.name": "Presenter",
10
+ "settings.title": "Presenter settings",
11
+ "toggle-presentation.label": "Present"
12
+ }
13
+ }
14
+ }
15
+ ];
16
+ export {
17
+ translations
18
+ };
19
+ //# sourceMappingURL=translations.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/translations.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from '#meta';\n\nexport const translations = [\n {\n 'en-US': {\n [meta.id]: {\n 'plugin.name': 'Presenter',\n 'settings.title': 'Presenter settings',\n 'toggle-presentation.label': 'Present',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
+ "mappings": ";;;AAMA,SAASA,YAAY;AAEd,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACD,KAAKE,EAAE,GAAG;QACT,eAAe;QACf,kBAAkB;QAClB,6BAA6B;MAC/B;IACF;EACF;;",
6
+ "names": ["meta", "translations", "id"]
7
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"PresenterPlugin.d.ts","sourceRoot":"","sources":["../../../src/PresenterPlugin.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAW7C,eAAO,MAAM,eAAe,4BAM3B,CAAC"}
1
+ {"version":3,"file":"PresenterPlugin.d.ts","sourceRoot":"","sources":["../../../src/PresenterPlugin.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAU7C,eAAO,MAAM,eAAe,4BAM3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAO/D,OAAO,EAAE,YAAY,EAA0B,MAAM,oBAAoB,CAAC;;AAc1E,wBA2EE"}
1
+ {"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAO/D,OAAO,EAAE,YAAY,EAA0B,MAAM,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;;AAY/D,wBAgDE"}
1
+ {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/settings.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,OAAO,EAAyB,QAAQ,EAAE,MAAM,QAAQ,CAAC;;AAEzD,wBAiBE"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/settings.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,OAAO,EAAyB,QAAQ,EAAE,MAAM,QAAQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Panel.d.ts","sourceRoot":"","sources":["../../../../../src/components/Markdown/Panel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAY,MAAM,OAAO,CAAC;AAGhE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,MAAM,MAAM,UAAU,GAAG,eAAe,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,KAAK,GAAI,0BAA0B,UAAU,sBA4BzD,CAAC"}
1
+ {"version":3,"file":"Panel.d.ts","sourceRoot":"","sources":["../../../../../src/components/Markdown/Panel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAY,MAAM,OAAO,CAAC;AAGhE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,MAAM,MAAM,UAAU,GAAG,eAAe,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,KAAK,6BAA8B,UAAU,sBA4BzD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Panel.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Markdown/Panel.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAUjD,QAAA,MAAM,IAAI;;0BAR8B,UAAU;;;;;CAeb,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAIlB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAIlB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC"}
1
+ {"version":3,"file":"Panel.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Markdown/Panel.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAUjD,QAAA,MAAM,IAAI;;0BAR8B,UAAU;;;QAa9C,MAAM;;CAE2B,CAAC;eAEvB,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAIlB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAIlB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Slide.d.ts","sourceRoot":"","sources":["../../../../../src/components/Markdown/Slide.tsx"],"names":[],"mappings":"AAIA,OAAO,gCAAgC,CAAC;AAGxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,sBAAyC,UAAU,sBAiBxE,CAAC"}
1
+ {"version":3,"file":"Slide.d.ts","sourceRoot":"","sources":["../../../../../src/components/Markdown/Slide.tsx"],"names":[],"mappings":"AAIA,OAAO,gCAAgC,CAAC;AAGxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,KAAK,yBAA6C,UAAU,sBAiBxE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Slide.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Markdown/Slide.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAQjE,QAAA,MAAM,IAAI;;;;;;;CAOoB,CAAC;AAE/B,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAIlB,CAAC"}
1
+ {"version":3,"file":"Slide.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Markdown/Slide.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAQjE,QAAA,MAAM,IAAI;;;;;QAKN,MAAM;;CAEoB,CAAC;eAEhB,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAIlB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../../src/components/Markdown/theme.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;CAmBjB,CAAC"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../../src/components/Markdown/theme.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,KAAK;IAChB,IAAI;IAEJ,OAAO;IAEP,KAAK;QACH,EAAE;QACF,EAAE;QACF,EAAE;QAEF,CAAC;QAED,EAAE;QACF,EAAE;QACF,EAAE;QAEF,GAAG;QACH,IAAI;;CAEP,CAAC"}
@@ -7,5 +7,5 @@ export type LayoutProps = PropsWithChildren<{
7
7
  }>;
8
8
  export declare const Layout: React.ForwardRefExoticComponent<Omit<LayoutProps, "className"> & {
9
9
  classNames?: import("@dxos/ui-types").ClassNameValue;
10
- } & Pick<React.HTMLAttributes<Element>, "className" | "children" | "style" | "role"> & React.RefAttributes<HTMLDivElement>>;
10
+ } & Pick<React.HTMLAttributes<Element>, "children" | "className" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
11
11
  //# sourceMappingURL=Layout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pager.d.ts","sourceRoot":"","sources":["../../../../../src/components/Presenter/Pager.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAIzC,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,qDAA6D,UAAU,6BAwG5F,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,kBAA0B,eAAe,6BAYnE,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,sBAAsB;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CAAE,sBAa1G,CAAC"}
1
+ {"version":3,"file":"Pager.d.ts","sourceRoot":"","sources":["../../../../../src/components/Presenter/Pager.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAIzC,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,KAAK,wDAAiE,UAAU,6BAwG5F,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,UAAU,qBAA8B,eAAe,6BAYnE,CAAC;AAEF,eAAO,MAAM,WAAW,yBAA0B;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CAAE,sBAa1G,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Pager.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Presenter/Pager.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,OAAO,EAAqB,KAAK,UAAU,EAAe,MAAM,SAAS,CAAC;AAe1E,QAAA,MAAM,IAAI;;wBAb4B,UAAU;;;;;CAoBX,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
1
+ {"version":3,"file":"Pager.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Presenter/Pager.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,OAAO,EAAqB,KAAK,UAAU,EAAe,MAAM,SAAS,CAAC;AAe1E,QAAA,MAAM,IAAI;;wBAb4B,UAAU;;;QAkB5C,MAAM;;CAE2B,CAAC;eAEvB,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type AppSurface } from '@dxos/app-toolkit/ui';
3
- import { type Settings } from '#types';
3
+ import { Settings } from '#types';
4
4
  export type PresenterSettingsProps = AppSurface.SettingsArticleProps<Settings.Settings>;
5
5
  export declare const PresenterSettings: ({ settings, onSettingsChange }: PresenterSettingsProps) => React.JSX.Element;
6
6
  //# sourceMappingURL=PresenterSettings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PresenterSettings.d.ts","sourceRoot":"","sources":["../../../../../src/components/PresenterSettings/PresenterSettings.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAKvD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAExF,eAAO,MAAM,iBAAiB,GAAI,gCAAgC,sBAAsB,sBAgBvF,CAAC"}
1
+ {"version":3,"file":"PresenterSettings.d.ts","sourceRoot":"","sources":["../../../../../src/components/PresenterSettings/PresenterSettings.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAKvD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAExF,eAAO,MAAM,iBAAiB,mCAAoC,sBAAsB,sBAevF,CAAC"}
@@ -8,12 +8,10 @@ declare const meta: {
8
8
  layout: string;
9
9
  translations: [{
10
10
  readonly 'en-US': {
11
- readonly [meta.id]: {
12
- readonly 'plugin.name': "Presenter";
13
- readonly 'settings.title': "Presenter settings";
14
- readonly 'toggle-presentation.label': "Present";
15
- readonly 'present-collections.label': "Present collections (experimental)";
16
- readonly 'present-collections.description': "Enable presenting collections of documents as a slideshow.";
11
+ readonly [x: string]: {
12
+ readonly 'plugin.name': 'Presenter';
13
+ readonly 'settings.title': 'Presenter settings';
14
+ readonly 'toggle-presentation.label': 'Present';
17
15
  };
18
16
  };
19
17
  }];
@@ -1 +1 @@
1
- {"version":3,"file":"PresenterSettings.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/PresenterSettings/PresenterSettings.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAOjE,QAAA,MAAM,IAAI;;;;;;;;;yBALmD,CAEzD,IAAI,CAAC,EAAE,CAAC;;;;;;;;;;CAY8B,CAAC;AAE3C,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC"}
1
+ {"version":3,"file":"PresenterSettings.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/PresenterSettings/PresenterSettings.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAQjE,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;CASgC,CAAC;eAE5B,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC"}
@@ -10,5 +10,5 @@ export type RevealProps = {
10
10
  };
11
11
  export declare const RevealPlayer: React.ForwardRefExoticComponent<Omit<RevealProps, "className"> & {
12
12
  classNames?: import("@dxos/ui-types").ClassNameValue;
13
- } & Pick<React.HTMLAttributes<Element>, "className" | "children" | "style" | "role"> & React.RefAttributes<HTMLDivElement>>;
13
+ } & Pick<React.HTMLAttributes<Element>, "children" | "className" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
14
14
  //# sourceMappingURL=RevealPlayer.d.ts.map
@@ -4,18 +4,16 @@ declare const meta: {
4
4
  title: string;
5
5
  component: import("react").ForwardRefExoticComponent<Omit<import("./RevealPlayer").RevealProps, "className"> & {
6
6
  classNames?: import("@dxos/ui-types").ClassNameValue;
7
- } & Pick<import("react").HTMLAttributes<Element>, "className" | "children" | "style" | "role"> & import("react").RefAttributes<HTMLDivElement>>;
7
+ } & Pick<import("react").HTMLAttributes<Element>, "children" | "className" | "role" | "style"> & import("react").RefAttributes<HTMLDivElement>>;
8
8
  decorators: import("@storybook/react").Decorator[];
9
9
  parameters: {
10
10
  layout: string;
11
11
  translations: [{
12
12
  readonly 'en-US': {
13
- readonly [meta.id]: {
14
- readonly 'plugin.name': "Presenter";
15
- readonly 'settings.title': "Presenter settings";
16
- readonly 'toggle-presentation.label': "Present";
17
- readonly 'present-collections.label': "Present collections (experimental)";
18
- readonly 'present-collections.description': "Enable presenting collections of documents as a slideshow.";
13
+ readonly [x: string]: {
14
+ readonly 'plugin.name': 'Presenter';
15
+ readonly 'settings.title': 'Presenter settings';
16
+ readonly 'toggle-presentation.label': 'Present';
19
17
  };
20
18
  };
21
19
  }];