@dxos/plugin-markdown 0.8.2-main.fbd8ed0 → 0.8.2-staging.7ac8446
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/{MarkdownContainer-KKWICAKV.mjs → MarkdownContainer-T3HU27RE.mjs} +67 -55
- package/dist/lib/browser/MarkdownContainer-T3HU27RE.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-MPJQUYTQ.mjs → app-graph-serializer-NOXI4IQ5.mjs} +6 -5
- package/dist/lib/browser/app-graph-serializer-NOXI4IQ5.mjs.map +7 -0
- package/dist/lib/browser/{artifact-definition-DAF3YCVL.mjs → artifact-definition-CE6J6NY4.mjs} +9 -10
- package/dist/lib/browser/artifact-definition-CE6J6NY4.mjs.map +7 -0
- package/dist/lib/browser/{chunk-S42YXFZ7.mjs → chunk-3ULJ4FIJ.mjs} +24 -11
- package/dist/lib/browser/chunk-3ULJ4FIJ.mjs.map +7 -0
- package/dist/lib/browser/{chunk-TUCSFCS5.mjs → chunk-QXDKFACU.mjs} +5 -6
- package/dist/lib/browser/chunk-QXDKFACU.mjs.map +7 -0
- package/dist/lib/browser/chunk-YCJNW2RU.mjs +75 -0
- package/dist/lib/browser/chunk-YCJNW2RU.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +6 -10
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/intent-resolver-42GQ6HNZ.mjs +50 -0
- package/dist/lib/browser/intent-resolver-42GQ6HNZ.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-EMQV3GVI.mjs → react-surface-RQX3CPFV.mjs} +7 -18
- package/dist/lib/browser/react-surface-RQX3CPFV.mjs.map +7 -0
- package/dist/lib/browser/{settings-GPB6WOIU.mjs → settings-GCSS3Y4Z.mjs} +4 -4
- package/dist/lib/browser/settings-GCSS3Y4Z.mjs.map +7 -0
- package/dist/lib/browser/{state-XTP5IP3W.mjs → state-O7P5JDIH.mjs} +2 -2
- package/dist/lib/browser/state-O7P5JDIH.mjs.map +7 -0
- package/dist/lib/browser/{thread-KW43PJ53.mjs → thread-3QGCFNVZ.mjs} +2 -2
- package/dist/lib/browser/types/index.mjs +1 -3
- package/dist/lib/node/{MarkdownContainer-LBI6ZESS.cjs → MarkdownContainer-6ZJIFAP6.cjs} +70 -58
- package/dist/lib/node/MarkdownContainer-6ZJIFAP6.cjs.map +7 -0
- package/dist/lib/node/{app-graph-serializer-Z7UJYSSL.cjs → app-graph-serializer-HKK3SEDN.cjs} +11 -10
- package/dist/lib/node/app-graph-serializer-HKK3SEDN.cjs.map +7 -0
- package/dist/lib/node/{artifact-definition-UIZSL2AL.cjs → artifact-definition-XGADFWCQ.cjs} +14 -15
- package/dist/lib/node/artifact-definition-XGADFWCQ.cjs.map +7 -0
- package/dist/lib/node/{chunk-AJHB57YQ.cjs → chunk-7QVONRSI.cjs} +57 -13
- package/dist/lib/node/chunk-7QVONRSI.cjs.map +7 -0
- package/dist/lib/node/{chunk-4525YF72.cjs → chunk-H5MYVP6F.cjs} +8 -9
- package/dist/lib/node/chunk-H5MYVP6F.cjs.map +7 -0
- package/dist/lib/node/{chunk-EO5H4OZJ.cjs → chunk-UEXGNGSS.cjs} +31 -44
- package/dist/lib/node/chunk-UEXGNGSS.cjs.map +7 -0
- package/dist/lib/node/index.cjs +21 -24
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/intent-resolver-NW27BF3W.cjs +63 -0
- package/dist/lib/node/intent-resolver-NW27BF3W.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-REHX3ABQ.cjs → react-surface-5X3SMHGI.cjs} +10 -21
- package/dist/lib/node/react-surface-5X3SMHGI.cjs.map +7 -0
- package/dist/lib/node/{settings-SF6JDJG6.cjs → settings-S2ISUVIH.cjs} +7 -7
- package/dist/lib/node/settings-S2ISUVIH.cjs.map +7 -0
- package/dist/lib/node/{state-K4IPZTRO.cjs → state-L44SG3ZM.cjs} +5 -5
- package/dist/lib/node/state-L44SG3ZM.cjs.map +7 -0
- package/dist/lib/node/{thread-NWBGBGOR.cjs → thread-42R57L4K.cjs} +6 -6
- package/dist/lib/node/types/index.cjs +6 -8
- package/dist/lib/node/types/index.cjs.map +2 -2
- package/dist/lib/node-esm/{MarkdownContainer-62XZY5EP.mjs → MarkdownContainer-URAPTO37.mjs} +67 -55
- package/dist/lib/node-esm/MarkdownContainer-URAPTO37.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-DDMFMNYI.mjs → app-graph-serializer-QQ2CTHOQ.mjs} +6 -5
- package/dist/lib/node-esm/app-graph-serializer-QQ2CTHOQ.mjs.map +7 -0
- package/dist/lib/node-esm/{artifact-definition-ER3446S7.mjs → artifact-definition-WRG5ZRN5.mjs} +9 -10
- package/dist/lib/node-esm/artifact-definition-WRG5ZRN5.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-4AM4VU3Y.mjs +76 -0
- package/dist/lib/node-esm/chunk-4AM4VU3Y.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-PDD5B7EO.mjs → chunk-F6UHVLH7.mjs} +24 -11
- package/dist/lib/node-esm/chunk-F6UHVLH7.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-CXTVDT5U.mjs → chunk-JAVD67QP.mjs} +5 -6
- package/dist/lib/node-esm/chunk-JAVD67QP.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +6 -10
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/intent-resolver-7HOMUVHR.mjs +51 -0
- package/dist/lib/node-esm/intent-resolver-7HOMUVHR.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-FA7JYF2A.mjs → react-surface-6IKC3G46.mjs} +7 -18
- package/dist/lib/node-esm/react-surface-6IKC3G46.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-2DT2C4RA.mjs → settings-ZDIFTK4N.mjs} +4 -4
- package/dist/lib/node-esm/settings-ZDIFTK4N.mjs.map +7 -0
- package/dist/lib/node-esm/{state-7VFYPF6Z.mjs → state-DWPOKLEY.mjs} +2 -2
- package/dist/lib/node-esm/state-DWPOKLEY.mjs.map +7 -0
- package/dist/lib/node-esm/{thread-D2E6W44K.mjs → thread-R2KHZD6V.mjs} +2 -2
- package/dist/lib/node-esm/types/index.mjs +1 -3
- package/dist/types/src/capabilities/app-graph-serializer.d.ts +2 -2
- package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
- package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +3 -3
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +2 -2
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/state.d.ts +2 -2
- package/dist/types/src/capabilities/state.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownContainer.d.ts +2 -2
- package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
- package/dist/types/src/components/{MarkdownEditor/MarkdownEditor.d.ts → MarkdownEditor.d.ts} +16 -1
- package/dist/types/src/components/MarkdownEditor.d.ts.map +1 -0
- package/dist/types/src/components/{MarkdownEditor/MarkdownEditor.stories.d.ts → MarkdownEditor.stories.d.ts} +3 -3
- package/dist/types/src/components/MarkdownEditor.stories.d.ts.map +1 -0
- package/dist/types/src/components/{MarkdownSettings/MarkdownSettings.d.ts → MarkdownSettings.d.ts} +1 -1
- package/dist/types/src/components/MarkdownSettings.d.ts.map +1 -0
- package/dist/types/src/components/Toolbar.stories.d.ts +2 -2
- package/dist/types/src/components/Toolbar.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +0 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/extensions.d.ts +4 -4
- package/dist/types/src/extensions.d.ts.map +1 -1
- package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +42 -4
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +123 -336
- package/dist/types/src/types/schema.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +85 -139
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +0 -1
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +33 -40
- package/src/MarkdownPlugin.tsx +5 -5
- package/src/capabilities/app-graph-serializer.ts +5 -4
- package/src/capabilities/artifact-definition.ts +4 -6
- package/src/capabilities/intent-resolver.ts +10 -43
- package/src/capabilities/react-surface.tsx +5 -13
- package/src/capabilities/settings.ts +2 -2
- package/src/capabilities/state.ts +4 -4
- package/src/components/MarkdownContainer.tsx +4 -4
- package/src/components/{MarkdownEditor/MarkdownEditor.stories.tsx → MarkdownEditor.stories.tsx} +35 -22
- package/src/components/{MarkdownEditor/MarkdownEditor.tsx → MarkdownEditor.tsx} +44 -24
- package/src/components/{MarkdownSettings/MarkdownSettings.tsx → MarkdownSettings.tsx} +2 -2
- package/src/components/Toolbar.stories.tsx +27 -27
- package/src/components/index.ts +0 -1
- package/src/extensions.tsx +37 -42
- package/src/hooks/useSelectCurrentThread.tsx +2 -2
- package/src/translations.ts +3 -3
- package/src/types/schema.ts +11 -24
- package/src/types/types.ts +21 -23
- package/src/util.tsx +4 -8
- package/dist/lib/browser/MarkdownContainer-KKWICAKV.mjs.map +0 -7
- package/dist/lib/browser/MarkdownPreview-FVSYVJGN.mjs +0 -81
- package/dist/lib/browser/MarkdownPreview-FVSYVJGN.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-MPJQUYTQ.mjs.map +0 -7
- package/dist/lib/browser/artifact-definition-DAF3YCVL.mjs.map +0 -7
- package/dist/lib/browser/chunk-JJY5LKZS.mjs +0 -20
- package/dist/lib/browser/chunk-JJY5LKZS.mjs.map +0 -7
- package/dist/lib/browser/chunk-S42YXFZ7.mjs.map +0 -7
- package/dist/lib/browser/chunk-TUCSFCS5.mjs.map +0 -7
- package/dist/lib/browser/chunk-XP2ZPCLI.mjs +0 -87
- package/dist/lib/browser/chunk-XP2ZPCLI.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-PVKVTAFF.mjs +0 -81
- package/dist/lib/browser/intent-resolver-PVKVTAFF.mjs.map +0 -7
- package/dist/lib/browser/react-surface-EMQV3GVI.mjs.map +0 -7
- package/dist/lib/browser/settings-GPB6WOIU.mjs.map +0 -7
- package/dist/lib/browser/state-XTP5IP3W.mjs.map +0 -7
- package/dist/lib/node/MarkdownContainer-LBI6ZESS.cjs.map +0 -7
- package/dist/lib/node/MarkdownPreview-O3BR4PZW.cjs +0 -104
- package/dist/lib/node/MarkdownPreview-O3BR4PZW.cjs.map +0 -7
- package/dist/lib/node/app-graph-serializer-Z7UJYSSL.cjs.map +0 -7
- package/dist/lib/node/artifact-definition-UIZSL2AL.cjs.map +0 -7
- package/dist/lib/node/chunk-4525YF72.cjs.map +0 -7
- package/dist/lib/node/chunk-AJHB57YQ.cjs.map +0 -7
- package/dist/lib/node/chunk-BWRBWEKN.cjs +0 -75
- package/dist/lib/node/chunk-BWRBWEKN.cjs.map +0 -7
- package/dist/lib/node/chunk-EO5H4OZJ.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-ND7PSRJX.cjs +0 -94
- package/dist/lib/node/intent-resolver-ND7PSRJX.cjs.map +0 -7
- package/dist/lib/node/react-surface-REHX3ABQ.cjs.map +0 -7
- package/dist/lib/node/settings-SF6JDJG6.cjs.map +0 -7
- package/dist/lib/node/state-K4IPZTRO.cjs.map +0 -7
- package/dist/lib/node-esm/MarkdownContainer-62XZY5EP.mjs.map +0 -7
- package/dist/lib/node-esm/MarkdownPreview-KYWRMBRM.mjs +0 -82
- package/dist/lib/node-esm/MarkdownPreview-KYWRMBRM.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-DDMFMNYI.mjs.map +0 -7
- package/dist/lib/node-esm/artifact-definition-ER3446S7.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-66XM3JMR.mjs +0 -88
- package/dist/lib/node-esm/chunk-66XM3JMR.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-CXTVDT5U.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-PDD5B7EO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-T5Z5BIOF.mjs +0 -22
- package/dist/lib/node-esm/chunk-T5Z5BIOF.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-5BF5PLSN.mjs +0 -82
- package/dist/lib/node-esm/intent-resolver-5BF5PLSN.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-FA7JYF2A.mjs.map +0 -7
- package/dist/lib/node-esm/settings-2DT2C4RA.mjs.map +0 -7
- package/dist/lib/node-esm/state-7VFYPF6Z.mjs.map +0 -7
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownEditor/index.d.ts +0 -2
- package/dist/types/src/components/MarkdownEditor/index.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts +0 -6
- package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts +0 -127
- package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownPreview/index.d.ts +0 -4
- package/dist/types/src/components/MarkdownPreview/index.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownSettings/index.d.ts +0 -2
- package/dist/types/src/components/MarkdownSettings/index.d.ts.map +0 -1
- package/dist/types/src/components/Suggestions.stories.d.ts +0 -12
- package/dist/types/src/components/Suggestions.stories.d.ts.map +0 -1
- package/src/components/MarkdownEditor/index.ts +0 -5
- package/src/components/MarkdownPreview/MarkdownPreview.stories.tsx +0 -74
- package/src/components/MarkdownPreview/MarkdownPreview.tsx +0 -85
- package/src/components/MarkdownPreview/index.ts +0 -9
- package/src/components/MarkdownSettings/index.ts +0 -5
- package/src/components/Suggestions.stories.tsx +0 -191
- /package/dist/lib/browser/{thread-KW43PJ53.mjs.map → thread-3QGCFNVZ.mjs.map} +0 -0
- /package/dist/lib/node/{thread-NWBGBGOR.cjs.map → thread-42R57L4K.cjs.map} +0 -0
- /package/dist/lib/node-esm/{thread-D2E6W44K.mjs.map → thread-R2KHZD6V.mjs.map} +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/react-surface.tsx", "../../../src/components/index.ts", "../../../src/components/MarkdownSettings/MarkdownSettings.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { createSurface, contributes, Capabilities, useCapability } from '@dxos/app-framework';\nimport { isInstanceOf } from '@dxos/echo-schema';\nimport { SettingsStore } from '@dxos/local-storage';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { DataType } from '@dxos/schema';\n\nimport { MarkdownCapabilities } from './capabilities';\nimport { MarkdownContainer, MarkdownSettings, MarkdownPreview } from '../components';\nimport { MARKDOWN_PLUGIN } from '../meta';\nimport { DocumentType, isEditorModel, type MarkdownSettingsProps } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${MARKDOWN_PLUGIN}/document`,\n role: ['article', 'section', 'tabpanel'],\n filter: (data): data is { subject: DocumentType; variant: undefined } =>\n isInstanceOf(DocumentType, data.subject) && !data.variant,\n component: ({ data, role }) => {\n const settingsStore = useCapability(Capabilities.SettingsStore);\n const settings = settingsStore.getStore<MarkdownSettingsProps>(MARKDOWN_PLUGIN)!.value;\n const { state, editorState, getViewMode, setViewMode } = useCapability(MarkdownCapabilities.State);\n const viewMode = getViewMode(fullyQualifiedId(data.subject));\n\n return (\n <MarkdownContainer\n id={fullyQualifiedId(data.subject)}\n object={data.subject}\n role={role}\n settings={settings}\n extensionProviders={state.extensionProviders}\n viewMode={viewMode}\n editorStateStore={editorState}\n onViewModeChange={setViewMode}\n />\n );\n },\n }),\n createSurface({\n id: `${MARKDOWN_PLUGIN}/text`,\n role: ['article', 'section', 'tabpanel'],\n filter: (data): data is { id: string; subject: DataType.Text } =>\n typeof data.id === 'string' && isInstanceOf(DataType.Text, data.subject),\n component: ({ data, role }) => {\n const settingsStore = useCapability(Capabilities.SettingsStore);\n const settings = settingsStore.getStore<MarkdownSettingsProps>(MARKDOWN_PLUGIN)!.value;\n const { state, editorState, getViewMode, setViewMode } = useCapability(MarkdownCapabilities.State);\n\n return (\n <MarkdownContainer\n id={data.id}\n object={data.subject}\n role={role}\n settings={settings}\n extensionProviders={state.extensionProviders}\n viewMode={getViewMode(data.id)}\n editorStateStore={editorState}\n onViewModeChange={setViewMode}\n />\n );\n },\n }),\n createSurface({\n id: `${MARKDOWN_PLUGIN}/editor`,\n role: ['article', 'section'],\n filter: (data): data is { subject: { id: string; text: string } } => isEditorModel(data.subject),\n component: ({ data, role }) => {\n const settingsStore = useCapability(Capabilities.SettingsStore);\n const settings = settingsStore.getStore<MarkdownSettingsProps>(MARKDOWN_PLUGIN)!.value;\n const { state, editorState, getViewMode, setViewMode } = useCapability(MarkdownCapabilities.State);\n\n return (\n <MarkdownContainer\n id={data.subject.id}\n object={data.subject}\n role={role}\n settings={settings}\n extensionProviders={state.extensionProviders}\n viewMode={getViewMode(data.subject.id)}\n editorStateStore={editorState}\n onViewModeChange={setViewMode}\n />\n );\n },\n }),\n createSurface({\n id: `${MARKDOWN_PLUGIN}/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<MarkdownSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === MARKDOWN_PLUGIN,\n component: ({ data: { subject } }) => <MarkdownSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${MARKDOWN_PLUGIN}/preview`,\n role: 'popover',\n filter: (data): data is { subject: DocumentType | DataType.Text } =>\n isInstanceOf(DocumentType, data.subject) || isInstanceOf(DataType.Text, data.subject),\n component: ({ data, role }) => <MarkdownPreview {...data} role={role} />,\n }),\n ]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './MarkdownSettings';\n\nexport const MarkdownContainer = lazy(() => import('./MarkdownContainer'));\nexport const MarkdownPreview = lazy(() => import('./MarkdownPreview'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Input, Select, useTranslation } from '@dxos/react-ui';\nimport { type EditorInputMode, EditorInputModes, type EditorViewMode, EditorViewModes } from '@dxos/react-ui-editor';\nimport { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';\n\nimport { MARKDOWN_PLUGIN } from '../../meta';\nimport { type MarkdownSettingsProps } from '../../types';\n\nexport const MarkdownSettings = ({ settings }: { settings: MarkdownSettingsProps }) => {\n const { t } = useTranslation(MARKDOWN_PLUGIN);\n\n // TODO(wittjosiah): Add skill test confirmation for entering vim mode.\n return (\n <DeprecatedFormContainer>\n <DeprecatedFormInput label={t('default view mode label')}>\n <Select.Root\n value={settings.defaultViewMode}\n onValueChange={(value) => {\n settings.defaultViewMode = value as EditorViewMode;\n }}\n >\n <Select.TriggerButton />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {EditorViewModes.map((mode) => (\n <Select.Option key={mode} value={mode}>\n {t(`${mode} mode label`, { ns: 'react-ui-editor' })}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('editor input mode label')}>\n <Select.Root\n value={settings.editorInputMode ?? 'default'}\n onValueChange={(value) => {\n settings.editorInputMode = value as EditorInputMode;\n }}\n >\n <Select.TriggerButton placeholder={t('select editor input mode placeholder')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {EditorInputModes.map((mode) => (\n <Select.Option key={mode} value={mode}>\n {t(`settings editor input mode ${mode} label`)}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings toolbar label')}>\n <Input.Switch checked={settings.toolbar} onCheckedChange={(checked) => (settings.toolbar = !!checked)} />\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings numbered headings label')}>\n <Input.Switch\n checked={settings.numberedHeadings}\n onCheckedChange={(checked) => (settings.numberedHeadings = !!checked)}\n />\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings folding label')}>\n <Input.Switch checked={settings.folding} onCheckedChange={(checked) => (settings.folding = !!checked)} />\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings experimental label')}>\n <Input.Switch\n checked={settings.experimental}\n onCheckedChange={(checked) => (settings.experimental = !!checked)}\n />\n </DeprecatedFormInput>\n\n <DeprecatedFormInput\n label={t('settings debug label')}\n secondary={\n settings.debug ? (\n <Input.Root>\n <Input.TextArea\n rows={5}\n value={settings.typewriter}\n onChange={({ target: { value } }) => (settings.typewriter = value)}\n placeholder={t('settings debug placeholder')}\n />\n </Input.Root>\n ) : undefined\n }\n >\n <Input.Switch checked={settings.debug} onCheckedChange={(checked) => (settings.debug = !!checked)} />\n </DeprecatedFormInput>\n </DeprecatedFormContainer>\n );\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["React", "createSurface", "contributes", "Capabilities", "useCapability", "isInstanceOf", "SettingsStore", "fullyQualifiedId", "DataType", "lazy", "React", "Input", "Select", "useTranslation", "EditorInputModes", "EditorViewModes", "DeprecatedFormContainer", "DeprecatedFormInput", "MarkdownSettings", "settings", "t", "useTranslation", "MARKDOWN_PLUGIN", "DeprecatedFormContainer", "DeprecatedFormInput", "label", "Select", "Root", "value", "defaultViewMode", "onValueChange", "TriggerButton", "Portal", "Content", "Viewport", "EditorViewModes", "map", "mode", "Option", "key", "ns", "editorInputMode", "placeholder", "EditorInputModes", "Input", "Switch", "checked", "toolbar", "onCheckedChange", "numberedHeadings", "folding", "experimental", "secondary", "debug", "TextArea", "rows", "typewriter", "onChange", "target", "undefined", "MarkdownContainer", "lazy", "MarkdownPreview", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "MARKDOWN_PLUGIN", "role", "filter", "data", "isInstanceOf", "DocumentType", "subject", "variant", "component", "settingsStore", "useCapability", "SettingsStore", "settings", "getStore", "value", "state", "editorState", "getViewMode", "setViewMode", "MarkdownCapabilities", "State", "viewMode", "fullyQualifiedId", "React", "MarkdownContainer", "object", "extensionProviders", "editorStateStore", "onViewModeChange", "DataType", "Text", "isEditorModel", "prefix", "MarkdownSettings", "MarkdownPreview"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/settings.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { live } from '@dxos/live-object';\n\nimport { MARKDOWN_PLUGIN } from '../meta';\nimport { type MarkdownSettingsProps, MarkdownSettingsSchema } from '../types';\n\nexport default () => {\n const settings = live<MarkdownSettingsProps>({\n defaultViewMode: 'preview',\n toolbar: true,\n numberedHeadings: true,\n folding: true,\n experimental: false,\n });\n\n return contributes(Capabilities.Settings, {\n schema: MarkdownSettingsSchema,\n prefix: MARKDOWN_PLUGIN,\n value: settings,\n });\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,YAAY;AAKrB,IAAA,mBAAe,MAAA;AACb,QAAMC,WAAWC,KAA4B;IAC3CC,iBAAiB;IACjBC,SAAS;IACTC,kBAAkB;IAClBC,SAAS;IACTC,cAAc;EAChB,CAAA;AAEA,SAAOC,YAAYC,aAAaC,UAAU;IACxCC,QAAQC;IACRC,QAAQC;IACRC,OAAOd;EACT,CAAA;AACF;",
|
|
6
|
-
"names": ["Capabilities", "contributes", "live", "settings", "live", "defaultViewMode", "toolbar", "numberedHeadings", "folding", "experimental", "contributes", "Capabilities", "Settings", "schema", "MarkdownSettingsSchema", "prefix", "MARKDOWN_PLUGIN", "value"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/state.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, type PluginContext } from '@dxos/app-framework';\nimport { LocalStorageStore } from '@dxos/local-storage';\nimport { type EditorViewMode, createEditorStateStore } from '@dxos/react-ui-editor';\n\nimport { MarkdownCapabilities } from './capabilities';\nimport { MARKDOWN_PLUGIN } from '../meta';\nimport { type MarkdownPluginState, type MarkdownSettingsProps } from '../types';\n\nexport default (context: PluginContext) => {\n const state = new LocalStorageStore<MarkdownPluginState>(MARKDOWN_PLUGIN, { extensionProviders: [], viewMode: {} });\n state.prop({ key: 'viewMode', type: LocalStorageStore.json<{ [key: string]: EditorViewMode }>() });\n\n // TODO(wittjosiah): Fold into state.\n const editorState = createEditorStateStore(`${MARKDOWN_PLUGIN}/editor`);\n\n const getViewMode = (id: string) => {\n const defaultViewMode = context\n .getCapability(Capabilities.SettingsStore)\n .getStore<MarkdownSettingsProps>(MARKDOWN_PLUGIN)!.value.defaultViewMode;\n return (id && state.values.viewMode[id]) || defaultViewMode;\n };\n\n const setViewMode = (id: string, viewMode: EditorViewMode) => (state.values.viewMode[id] = viewMode);\n\n // Return object with methods.\n return contributes(MarkdownCapabilities.State, { state: state.values, editorState, getViewMode, setViewMode });\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;AAIA,SAASA,cAAcC,mBAAuC;AAC9D,SAASC,yBAAyB;AAClC,SAA8BC,8BAA8B;AAM5D,IAAA,gBAAe,CAACC,YAAAA;AACd,QAAMC,QAAQ,IAAIC,kBAAuCC,iBAAiB;IAAEC,oBAAoB,CAAA;IAAIC,UAAU,CAAC;EAAE,CAAA;AACjHJ,QAAMK,KAAK;IAAEC,KAAK;IAAYC,MAAMN,kBAAkBO,KAAI;EAAsC,CAAA;AAGhG,QAAMC,cAAcC,uBAAuB,GAAGR,eAAAA,SAAwB;AAEtE,QAAMS,cAAc,CAACC,OAAAA;AACnB,UAAMC,kBAAkBd,QACrBe,cAAcC,aAAaC,aAAa,EACxCC,SAAgCf,eAAAA,EAAkBgB,MAAML;AAC3D,WAAQD,MAAMZ,MAAMmB,OAAOf,SAASQ,EAAAA,KAAQC;EAC9C;AAEA,QAAMO,cAAc,CAACR,IAAYR,aAA8BJ,MAAMmB,OAAOf,SAASQ,EAAAA,IAAMR;AAG3F,SAAOiB,YAAYC,qBAAqBC,OAAO;IAAEvB,OAAOA,MAAMmB;IAAQV;IAAaE;IAAaS;EAAY,CAAA;AAC9G;",
|
|
6
|
-
"names": ["Capabilities", "contributes", "LocalStorageStore", "createEditorStateStore", "context", "state", "LocalStorageStore", "MARKDOWN_PLUGIN", "extensionProviders", "viewMode", "prop", "key", "type", "json", "editorState", "createEditorStateStore", "getViewMode", "id", "defaultViewMode", "getCapability", "Capabilities", "SettingsStore", "getStore", "value", "values", "setViewMode", "contributes", "MarkdownCapabilities", "State"]
|
|
7
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/MarkdownEditor/MarkdownEditor.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAG/D,OAAO,EAAgB,KAAK,QAAQ,EAAuB,MAAM,qBAAqB,CAAC;AAIvF,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,eAAe,EAEpB,KAAK,gBAAgB,EAErB,KAAK,kBAAkB,EAexB,MAAM,uBAAuB,CAAC;AAM/B,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;CAC9D,GAAG,IAAI,CAAC,kBAAkB,EAAE,cAAc,GAAG,YAAY,CAAC,GACzD,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,0JAa5B,mBAAmB,sBAuJrB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownEditor.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/MarkdownEditor/MarkdownEditor.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAU7C,OAAO,EAAE,cAAc,EAA4B,MAAM,kBAAkB,CAAC;AAgB5E,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,cAAc,CAarC,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO;;;;CAInB,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;CAKvB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/MarkdownEditor/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { type PreviewProps } from '@dxos/plugin-preview';
|
|
3
|
-
import { DataType } from '@dxos/schema';
|
|
4
|
-
import { DocumentType } from '../../types';
|
|
5
|
-
export declare const MarkdownPreview: ({ classNames, subject, role }: PreviewProps<DocumentType | DataType.Text>) => React.JSX.Element;
|
|
6
|
-
//# sourceMappingURL=MarkdownPreview.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownPreview.d.ts","sourceRoot":"","sources":["../../../../../src/components/MarkdownPreview/MarkdownPreview.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAI3C,OAAO,EACL,KAAK,YAAY,EAOlB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGxC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAqB3C,eAAO,MAAM,eAAe,GAAI,+BAA+B,YAAY,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,sBAuCxG,CAAC"}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import '@dxos-theme';
|
|
2
|
-
import { type Meta } from '@storybook/react';
|
|
3
|
-
import { MarkdownPreview } from './MarkdownPreview';
|
|
4
|
-
declare const meta: Meta<typeof MarkdownPreview>;
|
|
5
|
-
export default meta;
|
|
6
|
-
export declare const Default: {
|
|
7
|
-
args: {
|
|
8
|
-
subject: Omit<{
|
|
9
|
-
readonly id: string;
|
|
10
|
-
name?: string | undefined;
|
|
11
|
-
fallbackName?: string | undefined;
|
|
12
|
-
content: import("@dxos/echo-schema").Ref<{
|
|
13
|
-
readonly id: string;
|
|
14
|
-
content: string;
|
|
15
|
-
}>;
|
|
16
|
-
threads: import("@dxos/echo-schema").Ref<import("@dxos/echo-schema").TypedObjectFields<{
|
|
17
|
-
name: import("effect/Schema").optional<typeof import("effect/Schema").String>;
|
|
18
|
-
anchor: import("effect/Schema").optional<typeof import("effect/Schema").String>;
|
|
19
|
-
status: import("effect/Schema").optional<import("effect/Schema").Union<[import("effect/Schema").Literal<["staged"]>, import("effect/Schema").Literal<["active"]>, import("effect/Schema").Literal<["resolved"]>]>>;
|
|
20
|
-
messages: import("effect/Schema").mutable<import("effect/Schema").Array$<import("@dxos/echo-schema").Ref$<{
|
|
21
|
-
readonly id: string;
|
|
22
|
-
created: string;
|
|
23
|
-
sender: {
|
|
24
|
-
name?: string | undefined;
|
|
25
|
-
contact?: import("@dxos/echo-schema").Ref<{
|
|
26
|
-
readonly id: string;
|
|
27
|
-
fields?: {
|
|
28
|
-
readonly value: string;
|
|
29
|
-
readonly label: string;
|
|
30
|
-
readonly category?: string | undefined;
|
|
31
|
-
}[] | undefined;
|
|
32
|
-
organization?: import("@dxos/echo-schema").Ref<{
|
|
33
|
-
readonly id: string;
|
|
34
|
-
description?: string | undefined;
|
|
35
|
-
name?: string | undefined;
|
|
36
|
-
status?: "prospect" | "qualified" | "active" | "commit" | "reject" | undefined;
|
|
37
|
-
image?: string | undefined;
|
|
38
|
-
website?: string | undefined;
|
|
39
|
-
}> | undefined;
|
|
40
|
-
image?: string | undefined;
|
|
41
|
-
fullName?: string | undefined;
|
|
42
|
-
preferredName?: string | undefined;
|
|
43
|
-
nickname?: string | undefined;
|
|
44
|
-
jobTitle?: string | undefined;
|
|
45
|
-
department?: string | undefined;
|
|
46
|
-
notes?: string | undefined;
|
|
47
|
-
emails?: {
|
|
48
|
-
readonly value: string;
|
|
49
|
-
readonly label?: string | undefined;
|
|
50
|
-
}[] | undefined;
|
|
51
|
-
identities?: {
|
|
52
|
-
readonly value: string;
|
|
53
|
-
readonly label?: string | undefined;
|
|
54
|
-
}[] | undefined;
|
|
55
|
-
phoneNumbers?: {
|
|
56
|
-
readonly value: string;
|
|
57
|
-
readonly label?: string | undefined;
|
|
58
|
-
}[] | undefined;
|
|
59
|
-
addresses?: {
|
|
60
|
-
readonly value: {
|
|
61
|
-
readonly street?: string | undefined;
|
|
62
|
-
readonly extended?: string | undefined;
|
|
63
|
-
readonly locality?: string | undefined;
|
|
64
|
-
readonly region?: string | undefined;
|
|
65
|
-
readonly postalCode?: string | undefined;
|
|
66
|
-
readonly postOfficeBoxNumber?: string | undefined;
|
|
67
|
-
readonly country?: string | undefined;
|
|
68
|
-
};
|
|
69
|
-
readonly label?: string | undefined;
|
|
70
|
-
}[] | undefined;
|
|
71
|
-
urls?: {
|
|
72
|
-
readonly value: string;
|
|
73
|
-
readonly label?: string | undefined;
|
|
74
|
-
}[] | undefined;
|
|
75
|
-
birthday?: string | undefined;
|
|
76
|
-
}> | undefined;
|
|
77
|
-
identityDid?: string | undefined;
|
|
78
|
-
identityKey?: string | undefined;
|
|
79
|
-
email?: string | undefined;
|
|
80
|
-
role?: "user" | "assistant" | undefined;
|
|
81
|
-
};
|
|
82
|
-
blocks: ({
|
|
83
|
-
pending?: boolean | undefined;
|
|
84
|
-
type: "text";
|
|
85
|
-
disposition?: string | undefined;
|
|
86
|
-
text: string;
|
|
87
|
-
} | {
|
|
88
|
-
pending?: boolean | undefined;
|
|
89
|
-
type: "json";
|
|
90
|
-
disposition?: string | undefined;
|
|
91
|
-
data: string;
|
|
92
|
-
} | {
|
|
93
|
-
pending?: boolean | undefined;
|
|
94
|
-
id?: string | undefined;
|
|
95
|
-
type: "image";
|
|
96
|
-
source?: {
|
|
97
|
-
type: "base64";
|
|
98
|
-
data: string;
|
|
99
|
-
mediaType: string;
|
|
100
|
-
} | {
|
|
101
|
-
type: "http";
|
|
102
|
-
url: string;
|
|
103
|
-
} | undefined;
|
|
104
|
-
} | {
|
|
105
|
-
pending?: boolean | undefined;
|
|
106
|
-
type: "reference";
|
|
107
|
-
reference: import("@dxos/echo-schema").Ref<import("@dxos/echo-schema").Expando>;
|
|
108
|
-
} | {
|
|
109
|
-
pending?: boolean | undefined;
|
|
110
|
-
type: "transcription";
|
|
111
|
-
text: string;
|
|
112
|
-
started: string;
|
|
113
|
-
})[];
|
|
114
|
-
properties?: {
|
|
115
|
-
[x: string]: any;
|
|
116
|
-
} | undefined;
|
|
117
|
-
}>>>;
|
|
118
|
-
}, import("@dxos/echo-schema").TypedObjectOptions>>[];
|
|
119
|
-
assistantChatQueue?: import("@dxos/echo-schema").Ref<import("@dxos/echo-schema").Expando> | undefined;
|
|
120
|
-
}, "id"> & {
|
|
121
|
-
id?: string;
|
|
122
|
-
} & {
|
|
123
|
-
id: string;
|
|
124
|
-
};
|
|
125
|
-
};
|
|
126
|
-
};
|
|
127
|
-
//# sourceMappingURL=MarkdownPreview.stories.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownPreview.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/MarkdownPreview/MarkdownPreview.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAa7C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKpD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,eAAe,CA2BtC,CAAC;AAEF,eAAe,IAAI,CAAC;AAgBpB,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;4BA5CK,CAAC;+BACX,CAAC;;kCAGL,CAAC;;;iDAGc,CAAC;;wCAGE,CAAC;;2CAMzB,CAAC;oCACsB,CAAC;sCAI1B,CAAC;qCASI,CAAC;uCAC2B,CAAC;;iCAGrB,CAAC;oCACgB,CAAC;yCAMhC,CAAD;oCAGgB,CAAC;oCAEW,CAAC;sCAGV,CAAC;iCAA2C,CAAC;kCAA4C,CAAC;;8CAAkF,CAAC;;sCAAiF,CAAC;;8CAAkF,CAAC;;wCAAmF,CAAC;;8CAAkF,CAAC;;qCAAgF,CAAC;;mDAAiF,CAAC;qDAA+D,CAAC;qDAA+D,CAAC;mDAA6D,CAAC;uDAAiE,CAAC;gEAA0E,CAAC;oDAA8D,CAAC;;8CAA+E,CAAC;;gCAA2E,CAAC;;8CAAkF,CAAC;;oCAA+E,CAAC;;mCAAyE,CAAC;mCAA6C,CAAC;6BAAuC,CAAC;4BAAsC,CAAC;;;+BAAqF,CAAC;;mCAAwE,CAAC;;;+BAAiF,CAAC;;mCAAwE,CAAC;;;+BAAiF,CAAC;0BAAqC,CAAC;;8BAAmE,CAAC;;;;;;;;;+BAA8O,CAAC;;;;+BAA4H,CAAC;;;;;8BAAiJ,CAAC;;;;;;;;;;;;CADnjF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/MarkdownPreview/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,cAAc,mBAAmB,CAAC;AAElC,eAAe,eAAe,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownSettings.d.ts","sourceRoot":"","sources":["../../../../../src/components/MarkdownSettings/MarkdownSettings.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,gBAAgB,GAAI,cAAc;IAAE,QAAQ,EAAE,qBAAqB,CAAA;CAAE,sBA2FjF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/MarkdownSettings/index.ts"],"names":[],"mappings":"AAIA,cAAc,oBAAoB,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import '@dxos-theme';
|
|
2
|
-
import { type Meta } from '@storybook/react';
|
|
3
|
-
import React from 'react';
|
|
4
|
-
declare const DefaultStory: ({ document, chat }: {
|
|
5
|
-
document: string;
|
|
6
|
-
chat: string;
|
|
7
|
-
}) => React.JSX.Element;
|
|
8
|
-
declare const meta: Meta<typeof DefaultStory>;
|
|
9
|
-
export default meta;
|
|
10
|
-
type Story = Meta<typeof DefaultStory>;
|
|
11
|
-
export declare const Default: Story;
|
|
12
|
-
//# sourceMappingURL=Suggestions.stories.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Suggestions.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/Suggestions.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,KAAgD,MAAM,OAAO,CAAC;AAiGrE,QAAA,MAAM,YAAY,GAAI,oBAAoB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,sBAoC3E,CAAC;AAEF,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,YAAY,CA2BnC,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,IAAI,CAAC,OAAO,YAAY,CAAC,CAAC;AAEvC,eAAO,MAAM,OAAO,EAAE,KAcrB,CAAC"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2023 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import '@dxos-theme';
|
|
6
|
-
|
|
7
|
-
import { type Meta } from '@storybook/react';
|
|
8
|
-
import React from 'react';
|
|
9
|
-
|
|
10
|
-
import { IntentPlugin } from '@dxos/app-framework';
|
|
11
|
-
import { withPluginManager } from '@dxos/app-framework/testing';
|
|
12
|
-
import { create } from '@dxos/echo-schema';
|
|
13
|
-
import { DocumentType } from '@dxos/plugin-markdown/types';
|
|
14
|
-
import { faker } from '@dxos/random';
|
|
15
|
-
import { makeRef } from '@dxos/react-client/echo';
|
|
16
|
-
import { Icon, Popover } from '@dxos/react-ui';
|
|
17
|
-
import { DataType } from '@dxos/schema';
|
|
18
|
-
import { withTheme, withLayout } from '@dxos/storybook-utils';
|
|
19
|
-
|
|
20
|
-
import { MarkdownPreview } from './MarkdownPreview';
|
|
21
|
-
import translations from '../../translations';
|
|
22
|
-
|
|
23
|
-
faker.seed(1234);
|
|
24
|
-
|
|
25
|
-
const meta: Meta<typeof MarkdownPreview> = {
|
|
26
|
-
title: 'plugins/plugin-markdown/MarkdownPreview',
|
|
27
|
-
component: MarkdownPreview,
|
|
28
|
-
render: ({ subject }) => {
|
|
29
|
-
return (
|
|
30
|
-
<Popover.Root open>
|
|
31
|
-
<Popover.Content>
|
|
32
|
-
<MarkdownPreview subject={subject} role='popover' />
|
|
33
|
-
<Popover.Arrow />
|
|
34
|
-
</Popover.Content>
|
|
35
|
-
<Popover.Trigger>
|
|
36
|
-
<Icon icon='ph--text-aa--regular' size={5} />
|
|
37
|
-
</Popover.Trigger>
|
|
38
|
-
</Popover.Root>
|
|
39
|
-
);
|
|
40
|
-
},
|
|
41
|
-
decorators: [
|
|
42
|
-
withPluginManager({
|
|
43
|
-
plugins: [IntentPlugin()],
|
|
44
|
-
}),
|
|
45
|
-
withTheme,
|
|
46
|
-
withLayout(),
|
|
47
|
-
],
|
|
48
|
-
parameters: {
|
|
49
|
-
layout: 'centered',
|
|
50
|
-
translations,
|
|
51
|
-
},
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
export default meta;
|
|
55
|
-
|
|
56
|
-
const data = (() => {
|
|
57
|
-
const document = create(DocumentType, {
|
|
58
|
-
name: faker.lorem.words(3),
|
|
59
|
-
content: makeRef(
|
|
60
|
-
create(DataType.Text, {
|
|
61
|
-
content: faker.lorem.paragraphs(3),
|
|
62
|
-
}),
|
|
63
|
-
),
|
|
64
|
-
threads: [],
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
return { document };
|
|
68
|
-
})();
|
|
69
|
-
|
|
70
|
-
export const Default = {
|
|
71
|
-
args: {
|
|
72
|
-
subject: create(DocumentType, data.document),
|
|
73
|
-
},
|
|
74
|
-
};
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2025 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { pipe } from 'effect';
|
|
6
|
-
import React, { useCallback } from 'react';
|
|
7
|
-
|
|
8
|
-
import { chain, createIntent, LayoutAction, useIntentDispatcher } from '@dxos/app-framework';
|
|
9
|
-
import { isInstanceOf } from '@dxos/echo-schema';
|
|
10
|
-
import {
|
|
11
|
-
type PreviewProps,
|
|
12
|
-
defaultCard,
|
|
13
|
-
kanbanCardWithoutPoster,
|
|
14
|
-
popoverCard,
|
|
15
|
-
previewTitle,
|
|
16
|
-
previewProse,
|
|
17
|
-
previewChrome,
|
|
18
|
-
} from '@dxos/plugin-preview';
|
|
19
|
-
import { fullyQualifiedId } from '@dxos/react-client/echo';
|
|
20
|
-
import { Button, Icon, useTranslation } from '@dxos/react-ui';
|
|
21
|
-
import { mx } from '@dxos/react-ui-theme';
|
|
22
|
-
import { DataType } from '@dxos/schema';
|
|
23
|
-
|
|
24
|
-
import { MARKDOWN_PLUGIN } from '../../meta';
|
|
25
|
-
import { DocumentType } from '../../types';
|
|
26
|
-
import { getAbstract, getFallbackName } from '../../util';
|
|
27
|
-
|
|
28
|
-
// TODO(burdon): Factor out.
|
|
29
|
-
const getTitle = (subject: DocumentType | DataType.Text, fallback: string) => {
|
|
30
|
-
if (isInstanceOf(DocumentType, subject)) {
|
|
31
|
-
return subject.name ?? subject.fallbackName ?? getFallbackName(subject.content?.target?.content ?? fallback);
|
|
32
|
-
} else if (isInstanceOf(DataType.Text, subject)) {
|
|
33
|
-
return getFallbackName(subject.content);
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
// TODO(burdon): Factor out.
|
|
38
|
-
const getSnippet = (subject: DocumentType | DataType.Text, fallback: string) => {
|
|
39
|
-
if (isInstanceOf(DocumentType, subject)) {
|
|
40
|
-
return getAbstract(subject.content?.target?.content ?? fallback);
|
|
41
|
-
} else if (isInstanceOf(DataType.Text, subject)) {
|
|
42
|
-
return getAbstract(subject.content);
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
export const MarkdownPreview = ({ classNames, subject, role }: PreviewProps<DocumentType | DataType.Text>) => {
|
|
47
|
-
const { dispatchPromise: dispatch } = useIntentDispatcher();
|
|
48
|
-
const { t } = useTranslation(MARKDOWN_PLUGIN);
|
|
49
|
-
const snippet = getSnippet(subject, t('fallback abstract'));
|
|
50
|
-
|
|
51
|
-
// TODO(wittjosiah): Factor out so this component isn't dependent on the app framework.
|
|
52
|
-
const handleNavigate = useCallback(
|
|
53
|
-
() =>
|
|
54
|
-
dispatch(
|
|
55
|
-
pipe(
|
|
56
|
-
createIntent(LayoutAction.UpdatePopover, {
|
|
57
|
-
part: 'popover',
|
|
58
|
-
subject: null,
|
|
59
|
-
options: { state: false, anchorId: '' },
|
|
60
|
-
}),
|
|
61
|
-
chain(LayoutAction.Open, { part: 'main', subject: [fullyQualifiedId(subject)] }),
|
|
62
|
-
),
|
|
63
|
-
),
|
|
64
|
-
[dispatch, subject],
|
|
65
|
-
);
|
|
66
|
-
|
|
67
|
-
return (
|
|
68
|
-
<div
|
|
69
|
-
role='none'
|
|
70
|
-
className={mx(
|
|
71
|
-
role === 'popover' ? popoverCard : role === 'card--kanban' ? kanbanCardWithoutPoster : defaultCard,
|
|
72
|
-
classNames,
|
|
73
|
-
)}
|
|
74
|
-
>
|
|
75
|
-
<h2 className={mx(previewTitle, previewProse)}>{getTitle(subject, t('fallback title'))}</h2>
|
|
76
|
-
{snippet && <p className={mx(previewProse, 'line-clamp-3 break-words col-span-2')}>{snippet}</p>}
|
|
77
|
-
<div role='none' className={previewChrome}>
|
|
78
|
-
<Button onClick={handleNavigate}>
|
|
79
|
-
<span className='grow'>{t('navigate to document label')}</span>
|
|
80
|
-
<Icon icon='ph--arrow-right--regular' />
|
|
81
|
-
</Button>
|
|
82
|
-
</div>
|
|
83
|
-
</div>
|
|
84
|
-
);
|
|
85
|
-
};
|
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2023 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import '@dxos-theme';
|
|
6
|
-
|
|
7
|
-
import { type Meta } from '@storybook/react';
|
|
8
|
-
import { Schema, SchemaAST } from 'effect';
|
|
9
|
-
import React, { type FC, useEffect, useMemo, useState } from 'react';
|
|
10
|
-
|
|
11
|
-
import {
|
|
12
|
-
Capabilities,
|
|
13
|
-
CollaborationActions,
|
|
14
|
-
IntentPlugin,
|
|
15
|
-
SettingsPlugin,
|
|
16
|
-
contributes,
|
|
17
|
-
createIntent,
|
|
18
|
-
useCapability,
|
|
19
|
-
useIntentDispatcher,
|
|
20
|
-
} from '@dxos/app-framework';
|
|
21
|
-
import { withPluginManager } from '@dxos/app-framework/testing';
|
|
22
|
-
import { Message } from '@dxos/artifact';
|
|
23
|
-
import { Type } from '@dxos/echo';
|
|
24
|
-
import { create, createQueueDxn, type Expando } from '@dxos/echo-schema';
|
|
25
|
-
import { invariant } from '@dxos/invariant';
|
|
26
|
-
import { DXN } from '@dxos/keys';
|
|
27
|
-
import { live, makeRef, refFromDXN } from '@dxos/live-object';
|
|
28
|
-
import { ClientPlugin } from '@dxos/plugin-client';
|
|
29
|
-
import { PreviewPlugin } from '@dxos/plugin-preview';
|
|
30
|
-
import { SpacePlugin } from '@dxos/plugin-space';
|
|
31
|
-
import { StorybookLayoutPlugin } from '@dxos/plugin-storybook-layout';
|
|
32
|
-
import { ThemePlugin } from '@dxos/plugin-theme';
|
|
33
|
-
import { faker } from '@dxos/random';
|
|
34
|
-
import { useQueue, useSpace } from '@dxos/react-client/echo';
|
|
35
|
-
import { IconButton, Toolbar } from '@dxos/react-ui';
|
|
36
|
-
import { command, useTextEditor } from '@dxos/react-ui-editor';
|
|
37
|
-
import { StackItem } from '@dxos/react-ui-stack';
|
|
38
|
-
import { defaultTx } from '@dxos/react-ui-theme';
|
|
39
|
-
import { withLayout } from '@dxos/storybook-utils';
|
|
40
|
-
|
|
41
|
-
import MarkdownContainer from './MarkdownContainer';
|
|
42
|
-
import { MarkdownPlugin } from '../MarkdownPlugin';
|
|
43
|
-
import { MarkdownCapabilities } from '../capabilities';
|
|
44
|
-
import { MARKDOWN_PLUGIN } from '../meta';
|
|
45
|
-
import translations from '../translations';
|
|
46
|
-
import { createDocument, DocumentType, type MarkdownSettingsProps } from '../types';
|
|
47
|
-
|
|
48
|
-
faker.seed(1);
|
|
49
|
-
|
|
50
|
-
const TestItem = Schema.Struct({
|
|
51
|
-
title: Schema.String.annotations({
|
|
52
|
-
[SchemaAST.TitleAnnotationId]: 'Title',
|
|
53
|
-
[SchemaAST.DescriptionAnnotationId]: 'Product title',
|
|
54
|
-
}),
|
|
55
|
-
description: Schema.String.annotations({
|
|
56
|
-
[SchemaAST.TitleAnnotationId]: 'Description',
|
|
57
|
-
[SchemaAST.DescriptionAnnotationId]: 'Product description',
|
|
58
|
-
}),
|
|
59
|
-
}).pipe(
|
|
60
|
-
Type.def({
|
|
61
|
-
typename: 'dxos.org/type/Test',
|
|
62
|
-
version: '0.1.0',
|
|
63
|
-
}),
|
|
64
|
-
);
|
|
65
|
-
|
|
66
|
-
const TestChat: FC<{ doc: DocumentType; content: string }> = ({ doc, content }) => {
|
|
67
|
-
const { dispatchPromise: dispatch } = useIntentDispatcher();
|
|
68
|
-
const { parentRef } = useTextEditor({ initialValue: content });
|
|
69
|
-
|
|
70
|
-
const space = useSpace();
|
|
71
|
-
const queueDxn = useMemo(() => space && createQueueDxn(space.id), [space]);
|
|
72
|
-
const queue = useQueue<Message>(queueDxn);
|
|
73
|
-
|
|
74
|
-
const handleInsert = () => {
|
|
75
|
-
invariant(space);
|
|
76
|
-
invariant(queue);
|
|
77
|
-
queue.append([create(Message, { role: 'assistant', content: [{ type: 'text', text: 'Hello' }] })]);
|
|
78
|
-
const message = queue.items[queue.items.length - 1];
|
|
79
|
-
|
|
80
|
-
// {
|
|
81
|
-
// const ref = refFromDXN(new DXN(DXN.kind.QUEUE, [...queue.dxn.parts, message.id]));
|
|
82
|
-
|
|
83
|
-
// const message = deref(ref);
|
|
84
|
-
// }
|
|
85
|
-
|
|
86
|
-
void dispatch(
|
|
87
|
-
createIntent(CollaborationActions.InsertContent, {
|
|
88
|
-
spaceId: space.id,
|
|
89
|
-
target: makeRef(doc as any as Expando), // TODO(burdon): Comomon base type.
|
|
90
|
-
object: refFromDXN(new DXN(DXN.kind.QUEUE, [...queue.dxn.parts, message.id])),
|
|
91
|
-
label: 'Proposal',
|
|
92
|
-
}),
|
|
93
|
-
);
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
return (
|
|
97
|
-
<StackItem.Content toolbar>
|
|
98
|
-
<Toolbar.Root>
|
|
99
|
-
<IconButton icon='ph--plus--regular' disabled={!queue} label='Insert' onClick={handleInsert} />
|
|
100
|
-
</Toolbar.Root>
|
|
101
|
-
<div ref={parentRef} className='p-4' />
|
|
102
|
-
</StackItem.Content>
|
|
103
|
-
);
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
const DefaultStory = ({ document, chat }: { document: string; chat: string }) => {
|
|
107
|
-
const space = useSpace();
|
|
108
|
-
const [doc, setDoc] = useState<DocumentType>();
|
|
109
|
-
const settings = useCapability(Capabilities.SettingsStore).getStore<MarkdownSettingsProps>(MARKDOWN_PLUGIN)!.value;
|
|
110
|
-
|
|
111
|
-
useEffect(() => {
|
|
112
|
-
if (!space) {
|
|
113
|
-
return undefined;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
const doc = space.db.add(
|
|
117
|
-
createDocument({
|
|
118
|
-
name: 'Test',
|
|
119
|
-
|
|
120
|
-
// Create links.
|
|
121
|
-
content: document.replaceAll(/\[(\w+)\]/g, (_, label) => {
|
|
122
|
-
const obj = space.db.add(live(TestItem, { title: label, description: faker.lorem.paragraph() }));
|
|
123
|
-
const dxn = makeRef(obj).dxn.toString();
|
|
124
|
-
return `[${label}][${dxn}]`;
|
|
125
|
-
}),
|
|
126
|
-
}),
|
|
127
|
-
);
|
|
128
|
-
|
|
129
|
-
setDoc(doc);
|
|
130
|
-
}, [space]);
|
|
131
|
-
|
|
132
|
-
if (!space || !doc) {
|
|
133
|
-
return <></>;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
return (
|
|
137
|
-
<>
|
|
138
|
-
<MarkdownContainer id={doc.id} object={doc} settings={settings} />
|
|
139
|
-
<TestChat doc={doc} content={chat} />
|
|
140
|
-
</>
|
|
141
|
-
);
|
|
142
|
-
};
|
|
143
|
-
|
|
144
|
-
const meta: Meta<typeof DefaultStory> = {
|
|
145
|
-
title: 'plugins/plugin-markdown/Suggestions',
|
|
146
|
-
render: DefaultStory,
|
|
147
|
-
decorators: [
|
|
148
|
-
withPluginManager({
|
|
149
|
-
plugins: [
|
|
150
|
-
ThemePlugin({ tx: defaultTx }),
|
|
151
|
-
StorybookLayoutPlugin(),
|
|
152
|
-
ClientPlugin({
|
|
153
|
-
types: [DocumentType, TestItem],
|
|
154
|
-
onClientInitialized: async (_, client) => {
|
|
155
|
-
await client.halo.createIdentity();
|
|
156
|
-
},
|
|
157
|
-
}),
|
|
158
|
-
SpacePlugin(),
|
|
159
|
-
SettingsPlugin(),
|
|
160
|
-
IntentPlugin(),
|
|
161
|
-
MarkdownPlugin(),
|
|
162
|
-
PreviewPlugin(),
|
|
163
|
-
],
|
|
164
|
-
capabilities: [contributes(MarkdownCapabilities.Extensions, [() => command()])],
|
|
165
|
-
}),
|
|
166
|
-
withLayout({ fullscreen: true, classNames: 'grid grid-cols-2' }),
|
|
167
|
-
],
|
|
168
|
-
parameters: {
|
|
169
|
-
translations,
|
|
170
|
-
},
|
|
171
|
-
};
|
|
172
|
-
|
|
173
|
-
export default meta;
|
|
174
|
-
|
|
175
|
-
type Story = Meta<typeof DefaultStory>;
|
|
176
|
-
|
|
177
|
-
export const Default: Story = {
|
|
178
|
-
args: {
|
|
179
|
-
chat: 'Hello\n',
|
|
180
|
-
document: [
|
|
181
|
-
'# Test',
|
|
182
|
-
'',
|
|
183
|
-
faker.lorem.paragraph(1),
|
|
184
|
-
'',
|
|
185
|
-
'This is a [DXOS] story that tests [ECHO] references inside the Markdown plugin.',
|
|
186
|
-
'',
|
|
187
|
-
faker.lorem.paragraph(3),
|
|
188
|
-
'',
|
|
189
|
-
].join('\n'),
|
|
190
|
-
},
|
|
191
|
-
};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|