├── .nvmrc
├── CODEOWNERS
├── src
├── cm
│ ├── view.ts
│ ├── state.ts
│ ├── commands.ts
│ ├── language.ts
│ └── autocomplete.ts
├── pm
│ ├── view.ts
│ ├── history.ts
│ ├── keymap.ts
│ ├── model.ts
│ ├── state.ts
│ ├── commands.ts
│ ├── transform.ts
│ ├── inputrules.ts
│ ├── test-builder.ts
│ └── utils.ts
├── extensions
│ ├── additional
│ │ ├── index.ts
│ │ ├── Mermaid
│ │ │ ├── MermaidNodeView
│ │ │ │ └── index.ts
│ │ │ ├── types.ts
│ │ │ └── const.ts
│ │ ├── FoldingHeading
│ │ │ ├── index.ts
│ │ │ ├── FoldingHeadingSpec
│ │ │ │ ├── index.ts
│ │ │ │ └── const.ts
│ │ │ ├── const.ts
│ │ │ └── commands
│ │ │ │ └── index.ts
│ │ ├── YfmHtmlBlock
│ │ │ ├── YfmHtmlBlockNodeView
│ │ │ │ └── index.ts
│ │ │ ├── types.ts
│ │ │ └── const.ts
│ │ ├── GPT
│ │ │ ├── IconRefuge
│ │ │ │ ├── index.ts
│ │ │ │ ├── IconRefuge.classname.tsx
│ │ │ │ └── IconRefuge.scss
│ │ │ ├── index.ts
│ │ │ ├── MarkupGpt
│ │ │ │ └── effects.ts
│ │ │ ├── PresetList
│ │ │ │ └── Presetlist.scss
│ │ │ └── actions.ts
│ │ └── Math
│ │ │ ├── index.scss
│ │ │ ├── const.ts
│ │ │ └── MathSpecs
│ │ │ └── const.ts
│ ├── yfm
│ │ ├── Emoji
│ │ │ ├── index.ts
│ │ │ ├── EmojiInput
│ │ │ │ └── index.ts
│ │ │ ├── EmojiSpecs
│ │ │ │ └── index.ts
│ │ │ └── EmojiSuggest
│ │ │ │ ├── index.ts
│ │ │ │ ├── const.ts
│ │ │ │ └── types.ts
│ │ ├── YfmNote
│ │ │ ├── const.ts
│ │ │ ├── utils.ts
│ │ │ ├── index.scss
│ │ │ └── YfmNoteSpecs
│ │ │ │ ├── const.ts
│ │ │ │ └── utils.ts
│ │ ├── YfmTable
│ │ │ ├── const.ts
│ │ │ ├── utils.ts
│ │ │ ├── plugins
│ │ │ │ └── YfmTableControls
│ │ │ │ │ ├── components
│ │ │ │ │ ├── FloatingMenu
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── FloatingPopup
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── FloatingPlusButton
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── FloatingMenuControl
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ └── FloatingPlusControl
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ └── nodeviews
│ │ │ │ │ └── yfm-table-view.scss
│ │ │ └── YfmTableSpecs
│ │ │ │ └── const.ts
│ │ ├── ImgSize
│ │ │ ├── plugins
│ │ │ │ └── ImgSizeNodeView
│ │ │ │ │ ├── ImageForm
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── ImageForm.scss
│ │ │ │ │ ├── ImgSettingsButton.scss
│ │ │ │ │ └── ImgNodeView.scss
│ │ │ ├── ImagePaste
│ │ │ │ └── skeleton.scss
│ │ │ └── ImgSizeSpecs
│ │ │ │ └── const.ts
│ │ ├── YfmFile
│ │ │ ├── index.scss
│ │ │ ├── YfmFileWidget
│ │ │ │ └── view.scss
│ │ │ └── YfmFilePaste
│ │ │ │ └── skeleton.scss
│ │ ├── Checkbox
│ │ │ ├── const.ts
│ │ │ └── utils.ts
│ │ ├── Video
│ │ │ ├── const.ts
│ │ │ └── VideoSpecs
│ │ │ │ └── const.ts
│ │ ├── YfmHeading
│ │ │ └── const.ts
│ │ ├── Color
│ │ │ ├── ColorSpecs
│ │ │ │ └── const.ts
│ │ │ └── const.ts
│ │ └── YfmCut
│ │ │ └── index.scss
│ ├── behavior
│ │ ├── Search
│ │ │ ├── index.ts
│ │ │ ├── types.ts
│ │ │ ├── search-plugin.scss
│ │ │ └── const.ts
│ │ ├── ClicksOnEdges
│ │ │ └── index.ts
│ │ ├── SharedState
│ │ │ └── index.ts
│ │ ├── CommandMenu
│ │ │ ├── const.ts
│ │ │ └── types.ts
│ │ ├── Selection
│ │ │ └── selection.scss
│ │ ├── Autocomplete
│ │ │ └── utils.ts
│ │ └── WidgetDecoration
│ │ │ └── types.ts
│ ├── base
│ │ ├── specs.ts
│ │ ├── index.ts
│ │ └── BaseInputRules
│ │ │ └── index.ts
│ ├── markdown
│ │ ├── Table
│ │ │ ├── const.ts
│ │ │ └── plugins
│ │ │ │ └── TableCellContextPlugin
│ │ │ │ └── floating.scss
│ │ ├── Deflist
│ │ │ ├── utils.ts
│ │ │ ├── const.ts
│ │ │ └── DeflistSpecs
│ │ │ │ └── const.ts
│ │ ├── Blockquote
│ │ │ └── const.ts
│ │ ├── Image
│ │ │ └── const.ts
│ │ ├── Link
│ │ │ └── PlaceholderWidget
│ │ │ │ └── widget.scss
│ │ ├── Html
│ │ │ └── const.ts
│ │ ├── CodeBlock
│ │ │ ├── const.ts
│ │ │ └── CodeBlockHighlight
│ │ │ │ └── CodeBlockHighlight.scss
│ │ ├── Lists
│ │ │ └── const.ts
│ │ └── Heading
│ │ │ └── const.ts
│ ├── specs.ts
│ └── index.ts
├── view
│ ├── components
│ │ ├── index.ts
│ │ └── YfmHtml
│ │ │ └── index.ts
│ ├── README.md
│ ├── hooks
│ │ ├── useYfmShowElemWithId
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ └── useFilesGallery
│ │ │ ├── index.ts
│ │ │ └── constants.ts
│ ├── types
│ │ └── index.ts
│ ├── index.ts
│ └── hocs
│ │ ├── withMermaid
│ │ └── types.ts
│ │ ├── withYfmHtml
│ │ └── types.ts
│ │ └── withLatex
│ │ └── types.ts
├── modules
│ └── search
│ │ ├── components
│ │ ├── _constants.scss
│ │ ├── SearchCompactView.scss
│ │ ├── SearchCardView.scss
│ │ └── SearchPopup.scss
│ │ ├── index.ts
│ │ └── types.ts
├── forms
│ ├── utils.ts
│ ├── index.ts
│ ├── components
│ │ └── index.ts
│ ├── base
│ │ ├── FormFooter.scss
│ │ ├── FormLayout.scss
│ │ └── Form.scss
│ ├── UrlInputRow.scss
│ └── ImageForm.scss
├── i18n
│ ├── empty-row
│ │ ├── en.json
│ │ ├── ru.json
│ │ └── index.ts
│ ├── gpt
│ │ ├── loading
│ │ │ ├── ru.json
│ │ │ ├── en.json
│ │ │ └── index.ts
│ │ ├── errors
│ │ │ ├── ru.json
│ │ │ ├── en.json
│ │ │ └── index.ts
│ │ ├── extension
│ │ │ ├── ru.json
│ │ │ ├── en.json
│ │ │ └── index.ts
│ │ └── dialog
│ │ │ └── index.ts
│ ├── hints
│ │ ├── en.json
│ │ ├── ru.json
│ │ └── index.ts
│ ├── math-hint
│ │ ├── en.json
│ │ ├── ru.json
│ │ └── index.ts
│ ├── suggest
│ │ ├── en.json
│ │ ├── ru.json
│ │ └── index.ts
│ ├── gallery
│ │ ├── en.json
│ │ ├── ru.json
│ │ └── index.ts
│ ├── codeblock
│ │ ├── en.json
│ │ ├── ru.json
│ │ └── index.ts
│ ├── widgets
│ │ ├── en.json
│ │ ├── ru.json
│ │ └── index.ts
│ ├── yfm-note
│ │ ├── en.json
│ │ ├── ru.json
│ │ └── index.ts
│ ├── forms
│ │ └── index.ts
│ ├── bundle
│ │ └── index.ts
│ ├── common
│ │ ├── index.ts
│ │ ├── en.json
│ │ └── ru.json
│ ├── md-hints
│ │ └── index.ts
│ ├── menubar
│ │ └── index.ts
│ ├── search
│ │ └── index.ts
│ ├── yfm-block
│ │ ├── index.ts
│ │ ├── en.json
│ │ └── ru.json
│ ├── yfm-layout
│ │ └── index.ts
│ ├── yfm-table
│ │ └── index.ts
│ ├── placeholder
│ │ └── index.ts
│ └── action-previews
│ │ └── index.ts
├── bundle
│ ├── settings
│ │ └── MarkdownHints
│ │ │ └── index.ts
│ ├── config
│ │ ├── index.ts
│ │ └── previews
│ │ │ └── ActionPreview.tsx
│ └── context.ts
├── markdown-it
│ ├── ins.ts
│ ├── sub.ts
│ ├── mark.ts
│ ├── color.ts
│ └── emoji.ts
├── common
│ └── layout.ts
├── toolbar
│ ├── ToolbarGroup.scss
│ ├── const.ts
│ ├── ToolbarButton.scss
│ ├── index.ts
│ ├── FlexToolbar.scss
│ ├── Toolbar.scss
│ └── PreviewTooltip.scss
├── shortcuts
│ ├── index.ts
│ └── types.ts
├── markup
│ ├── index.ts
│ ├── codemirror
│ │ ├── html-to-markdown
│ │ │ └── __tests__
│ │ │ │ └── fixtures
│ │ │ │ ├── header-and-link
│ │ │ │ ├── output.md
│ │ │ │ └── input.html
│ │ │ │ ├── newline
│ │ │ │ ├── output.md
│ │ │ │ └── input.html
│ │ │ │ ├── basic-text
│ │ │ │ ├── output.md
│ │ │ │ └── input.html
│ │ │ │ ├── image
│ │ │ │ ├── output.md
│ │ │ │ └── input.html
│ │ │ │ ├── lists
│ │ │ │ ├── output.md
│ │ │ │ └── input.html
│ │ │ │ ├── headers
│ │ │ │ ├── output.md
│ │ │ │ └── input.html
│ │ │ │ ├── links
│ │ │ │ ├── output.md
│ │ │ │ └── input.html
│ │ │ │ ├── formatting
│ │ │ │ ├── output.md
│ │ │ │ └── input.html
│ │ │ │ ├── links-with-formatting
│ │ │ │ └── output.md
│ │ │ │ └── tables
│ │ │ │ └── output.md
│ │ ├── files-upload-plugin
│ │ │ ├── const.ts
│ │ │ ├── index.ts
│ │ │ └── effects.ts
│ │ ├── logger-facet.ts
│ │ ├── react-facet.ts
│ │ └── index.ts
│ └── commands
│ │ ├── math.ts
│ │ └── index.ts
├── styles
│ ├── markdown.scss
│ ├── styles.scss
│ ├── yc-file.scss
│ ├── mixins.scss
│ └── _zindex.scss
├── utils
│ ├── carousel
│ │ └── index.ts
│ └── platform.ts
├── core
│ └── types
│ │ ├── keymap.ts
│ │ └── node-views.ts
├── table-utils
│ ├── const.ts
│ ├── index.ts
│ └── helpers.ts
├── version.ts
├── classname.ts
├── plugins
│ └── index.ts
├── react-utils
│ └── index.ts
└── .eslintrc
├── .npmrc
├── tests
├── esbuild-test
│ ├── node-module-alias-fallback.js
│ └── esbuild-to-test.mjs
├── setup.ts
└── visual-tests
│ ├── public
│ └── assets
│ │ └── test-image.jpg
│ ├── __snapshots__
│ ├── Presets.visual.test.tsx-snapshots
│ │ ├── Extensions-Presets-Full-dark-webkit-linux.png
│ │ ├── Extensions-Presets-Full-light-webkit-linux.png
│ │ ├── Extensions-Presets-YFM-dark-chromium-linux.png
│ │ ├── Extensions-Presets-YFM-dark-webkit-linux.png
│ │ ├── Extensions-Presets-YFM-light-webkit-linux.png
│ │ ├── Extensions-Presets-Zero-dark-webkit-linux.png
│ │ ├── Extensions-Presets-Zero-light-webkit-linux.png
│ │ ├── Extensions-Presets-Custom-dark-webkit-linux.png
│ │ ├── Extensions-Presets-Custom-light-webkit-linux.png
│ │ ├── Extensions-Presets-Default-dark-webkit-linux.png
│ │ ├── Extensions-Presets-Full-dark-chromium-linux.png
│ │ ├── Extensions-Presets-Full-light-chromium-linux.png
│ │ ├── Extensions-Presets-YFM-light-chromium-linux.png
│ │ ├── Extensions-Presets-Zero-dark-chromium-linux.png
│ │ ├── Extensions-Presets-Zero-light-chromium-linux.png
│ │ ├── Extensions-Presets-Custom-dark-chromium-linux.png
│ │ ├── Extensions-Presets-Custom-light-chromium-linux.png
│ │ ├── Extensions-Presets-Default-dark-chromium-linux.png
│ │ ├── Extensions-Presets-Default-light-chromium-linux.png
│ │ ├── Extensions-Presets-Default-light-webkit-linux.png
│ │ ├── Extensions-Presets-Common-Mark-dark-webkit-linux.png
│ │ ├── Extensions-Presets-Common-Mark-light-webkit-linux.png
│ │ ├── Extensions-Presets-Common-Mark-dark-chromium-linux.png
│ │ └── Extensions-Presets-Common-Mark-light-chromium-linux.png
│ ├── YfmExtensions.visual.test.tsx-snapshots
│ │ ├── Extensions-YFM-YFM-Cut-dark-webkit-linux.png
│ │ ├── Extensions-YFM-YFM-Cut-light-webkit-linux.png
│ │ ├── Extensions-YFM-YFM-File-dark-webkit-linux.png
│ │ ├── Extensions-YFM-YFM-HTML-dark-webkit-linux.png
│ │ ├── Extensions-YFM-YFM-Tabs-dark-webkit-linux.png
│ │ ├── Extensions-YFM-Task-lists-dark-webkit-linux.png
│ │ ├── Extensions-YFM-YFM-Cut-dark-chromium-linux.png
│ │ ├── Extensions-YFM-YFM-Cut-light-chromium-linux.png
│ │ ├── Extensions-YFM-YFM-File-dark-chromium-linux.png
│ │ ├── Extensions-YFM-YFM-File-light-webkit-linux.png
│ │ ├── Extensions-YFM-YFM-HTML-dark-chromium-linux.png
│ │ ├── Extensions-YFM-YFM-HTML-light-webkit-linux.png
│ │ ├── Extensions-YFM-YFM-Notes-dark-webkit-linux.png
│ │ ├── Extensions-YFM-YFM-Notes-light-webkit-linux.png
│ │ ├── Extensions-YFM-YFM-Table-dark-webkit-linux.png
│ │ ├── Extensions-YFM-YFM-Table-light-webkit-linux.png
│ │ ├── Extensions-YFM-YFM-Tabs-dark-chromium-linux.png
│ │ ├── Extensions-YFM-YFM-Tabs-light-webkit-linux.png
│ │ ├── Extensions-YFM-Task-lists-dark-chromium-linux.png
│ │ ├── Extensions-YFM-Task-lists-light-chromium-linux.png
│ │ ├── Extensions-YFM-Task-lists-light-webkit-linux.png
│ │ ├── Extensions-YFM-YFM-File-light-chromium-linux.png
│ │ ├── Extensions-YFM-YFM-HTML-light-chromium-linux.png
│ │ ├── Extensions-YFM-YFM-Notes-dark-chromium-linux.png
│ │ ├── Extensions-YFM-YFM-Notes-light-chromium-linux.png
│ │ ├── Extensions-YFM-YFM-Table-dark-chromium-linux.png
│ │ ├── Extensions-YFM-YFM-Table-light-chromium-linux.png
│ │ ├── Extensions-YFM-YFM-Tabs-light-chromium-linux.png
│ │ ├── Extensions-YFM-LaTeX-Formulas-dark-webkit-linux.png
│ │ ├── Extensions-YFM-LaTeX-Formulas-light-webkit-linux.png
│ │ ├── Extensions-YFM-Mermaid-diagram-dark-webkit-linux.png
│ │ ├── Extensions-YFM-Folding-Headings-dark-chromium-linux.png
│ │ ├── Extensions-YFM-Folding-Headings-dark-webkit-linux.png
│ │ ├── Extensions-YFM-Folding-Headings-light-webkit-linux.png
│ │ ├── Extensions-YFM-LaTeX-Formulas-dark-chromium-linux.png
│ │ ├── Extensions-YFM-LaTeX-Formulas-light-chromium-linux.png
│ │ ├── Extensions-YFM-Mermaid-diagram-dark-chromium-linux.png
│ │ ├── Extensions-YFM-Mermaid-diagram-light-chromium-linux.png
│ │ ├── Extensions-YFM-Mermaid-diagram-light-webkit-linux.png
│ │ └── Extensions-YFM-Folding-Headings-light-chromium-linux.png
│ ├── MarkdownExtensions.visual.test.tsx-snapshots
│ │ ├── Extensions-Markdown-Code-dark-webkit-linux.png
│ │ ├── Extensions-Markdown-Code-light-webkit-linux.png
│ │ ├── Extensions-Markdown-Links-dark-webkit-linux.png
│ │ ├── Extensions-Markdown-Lists-dark-webkit-linux.png
│ │ ├── Extensions-Markdown-Code-dark-chromium-linux.png
│ │ ├── Extensions-Markdown-Code-light-chromium-linux.png
│ │ ├── Extensions-Markdown-Emojis-dark-chromium-linux.png
│ │ ├── Extensions-Markdown-Emojis-dark-webkit-linux.png
│ │ ├── Extensions-Markdown-Emojis-light-webkit-linux.png
│ │ ├── Extensions-Markdown-Emphasis-dark-webkit-linux.png
│ │ ├── Extensions-Markdown-Heading-dark-webkit-linux.png
│ │ ├── Extensions-Markdown-Heading-light-webkit-linux.png
│ │ ├── Extensions-Markdown-Images-dark-chromium-linux.png
│ │ ├── Extensions-Markdown-Images-dark-webkit-linux.png
│ │ ├── Extensions-Markdown-Images-light-webkit-linux.png
│ │ ├── Extensions-Markdown-Links-dark-chromium-linux.png
│ │ ├── Extensions-Markdown-Links-light-chromium-linux.png
│ │ ├── Extensions-Markdown-Links-light-webkit-linux.png
│ │ ├── Extensions-Markdown-Lists-dark-chromium-linux.png
│ │ ├── Extensions-Markdown-Lists-light-chromium-linux.png
│ │ ├── Extensions-Markdown-Lists-light-webkit-linux.png
│ │ ├── Extensions-Markdown-Tables-dark-chromium-linux.png
│ │ ├── Extensions-Markdown-Tables-dark-webkit-linux.png
│ │ ├── Extensions-Markdown-Tables-light-webkit-linux.png
│ │ ├── Extensions-Markdown-Emojis-light-chromium-linux.png
│ │ ├── Extensions-Markdown-Emphasis-dark-chromium-linux.png
│ │ ├── Extensions-Markdown-Emphasis-light-webkit-linux.png
│ │ ├── Extensions-Markdown-Heading-dark-chromium-linux.png
│ │ ├── Extensions-Markdown-Heading-light-chromium-linux.png
│ │ ├── Extensions-Markdown-Images-light-chromium-linux.png
│ │ ├── Extensions-Markdown-Tables-light-chromium-linux.png
│ │ ├── Extensions-Markdown-Blockquotes-dark-chromium-linux.png
│ │ ├── Extensions-Markdown-Blockquotes-dark-webkit-linux.png
│ │ ├── Extensions-Markdown-Blockquotes-light-webkit-linux.png
│ │ ├── Extensions-Markdown-Emphasis-light-chromium-linux.png
│ │ ├── Extensions-Markdown-Blockquotes-light-chromium-linux.png
│ │ ├── Extensions-Markdown-Definition-list-dark-webkit-linux.png
│ │ ├── Extensions-Markdown-Definition-list-dark-chromium-linux.png
│ │ ├── Extensions-Markdown-Definition-list-light-chromium-linux.png
│ │ ├── Extensions-Markdown-Definition-list-light-webkit-linux.png
│ │ ├── Extensions-Markdown-Horizontal-Rules-dark-chromium-linux.png
│ │ ├── Extensions-Markdown-Horizontal-Rules-dark-webkit-linux.png
│ │ ├── Extensions-Markdown-Horizontal-Rules-light-webkit-linux.png
│ │ ├── Extensions-Markdown-Horizontal-Rules-light-chromium-linux.png
│ │ ├── Extensions-Markdown-Subscript-Superscript-dark-chromium-linux.png
│ │ ├── Extensions-Markdown-Subscript-Superscript-dark-webkit-linux.png
│ │ ├── Extensions-Markdown-Subscript-Superscript-light-webkit-linux.png
│ │ └── Extensions-Markdown-Subscript-Superscript-light-chromium-linux.png
│ ├── Cut.visual.test.tsx-snapshots
│ │ ├── Cut-specific-should-open-second-cut-wysiwyg-dark-webkit-linux.png
│ │ ├── Cut-specific-should-open-second-cut-wysiwyg-dark-chromium-linux.png
│ │ ├── Cut-specific-should-open-second-cut-wysiwyg-light-webkit-linux.png
│ │ ├── Cut-specific-should-open-second-cut-wysiwyg-light-chromium-linux.png
│ │ ├── Cut-specific-should-open-second-cut-in-preview-markup-dark-webkit-linux.png
│ │ ├── Cut-specific-should-cut-inside-open-second-cut-wysiwyg-dark-webkit-linux.png
│ │ ├── Cut-specific-should-cut-inside-open-second-cut-wysiwyg-light-webkit-linux.png
│ │ ├── Cut-specific-should-open-second-cut-in-preview-markup-dark-chromium-linux.png
│ │ ├── Cut-specific-should-open-second-cut-in-preview-markup-light-webkit-linux.png
│ │ ├── Cut-specific-should-cut-inside-open-second-cut-wysiwyg-dark-chromium-linux.png
│ │ ├── Cut-specific-should-cut-inside-open-second-cut-wysiwyg-light-chromium-linux.png
│ │ └── Cut-specific-should-open-second-cut-in-preview-markup-light-chromium-linux.png
│ ├── YfmTable.visual.test.tsx-snapshots
│ │ ├── YfmTable-cell-menu-wysiwyg-row-menu-dark-chromium-linux.png
│ │ ├── YfmTable-cell-menu-wysiwyg-row-menu-light-chromium-linux.png
│ │ ├── YfmTable-cell-menu-wysiwyg-column-menu-dark-chromium-linux.png
│ │ ├── YfmTable-cell-menu-wysiwyg-column-menu-light-chromium-linux.png
│ │ ├── YfmTable-insert-should-insert-via-toolbar-in-markup-mode-dark-chromium-linux.png
│ │ ├── YfmTable-insert-should-insert-via-toolbar-in-markup-mode-dark-webkit-linux.png
│ │ ├── YfmTable-insert-should-insert-via-toolbar-in-markup-mode-light-webkit-linux.png
│ │ ├── YfmTable-insert-should-insert-via-toolbar-in-wysiwyg-mode-dark-webkit-linux.png
│ │ ├── YfmTable-insert-should-insert-via-toolbar-in-wysiwyg-mode-light-webkit-linux.png
│ │ ├── YfmTable-insert-should-insert-via-toolbar-in-markup-mode-light-chromium-linux.png
│ │ ├── YfmTable-insert-should-insert-via-toolbar-in-wysiwyg-mode-dark-chromium-linux.png
│ │ ├── YfmTable-insert-should-insert-via-toolbar-in-wysiwyg-mode-light-chromium-linux.png
│ │ ├── YfmTable-insert-should-insert-via-command-menu-in-wysiwyg-mode-dark-webkit-linux.png
│ │ ├── YfmTable-insert-should-insert-via-command-menu-in-wysiwyg-mode-light-webkit-linux.png
│ │ ├── YfmTable-insert-should-insert-via-command-menu-in-wysiwyg-mode-dark-chromium-linux.png
│ │ ├── YfmTable-insert-should-insert-via-command-menu-in-wysiwyg-mode-light-chromium-linux.png
│ │ ├── YfmTable-should-add-row-via-click-on-floating-plus-button-wysiwyg-dark-webkit-linux.png
│ │ ├── YfmTable-should-add-column-via-click-on-floating-plus-button-wysiwyg-dark-webkit-linux.png
│ │ ├── YfmTable-should-add-row-via-click-on-floating-plus-button-wysiwyg-dark-chromium-linux.png
│ │ ├── YfmTable-should-add-row-via-click-on-floating-plus-button-wysiwyg-light-chromium-linux.png
│ │ ├── YfmTable-should-add-row-via-click-on-floating-plus-button-wysiwyg-light-webkit-linux.png
│ │ ├── YfmTable-should-add-column-via-click-on-floating-plus-button-wysiwyg-dark-chromium-linux.png
│ │ ├── YfmTable-should-add-column-via-click-on-floating-plus-button-wysiwyg-light-webkit-linux.png
│ │ └── YfmTable-should-add-column-via-click-on-floating-plus-button-wysiwyg-light-chromium-linux.png
│ ├── File.visual.test.tsx-snapshots
│ │ ├── File-insert-should-insert-via-toolbar-wysiwyg-dark-chromium-linux.png
│ │ ├── File-insert-should-insert-via-toolbar-wysiwyg-dark-webkit-linux.png
│ │ ├── File-insert-should-insert-via-toolbar-wysiwyg-light-webkit-linux.png
│ │ ├── File-insert-should-insert-via-toolbar-wysiwyg-light-chromium-linux.png
│ │ ├── File-mode-switch-should-remain-after-mode-switch-wysiwyg-markup-dark-webkit-linux.png
│ │ ├── File-mode-switch-should-remain-after-mode-switch-wysiwyg-markup-light-webkit-linux.png
│ │ ├── File-mode-switch-should-remain-after-mode-switch-wysiwyg-markup-dark-chromium-linux.png
│ │ └── File-mode-switch-should-remain-after-mode-switch-wysiwyg-markup-light-chromium-linux.png
│ ├── Image.visual.test.tsx-snapshots
│ │ ├── Images-insert-should-insert-via-toolbar-wysiwyg-dark-webkit-linux.png
│ │ ├── Images-insert-should-insert-via-toolbar-wysiwyg-light-webkit-linux.png
│ │ ├── Images-insert-should-insert-via-toolbar-wysiwyg-dark-chromium-linux.png
│ │ ├── Images-insert-should-insert-via-toolbar-wysiwyg-light-chromium-linux.png
│ │ ├── Images-specific-should-change-image-size-wysiwyg-dark-chromium-linux.png
│ │ ├── Images-specific-should-change-image-size-wysiwyg-light-chromium-linux.png
│ │ ├── Images-specific-should-change-image-size-wysiwyg-edit-popup-dark-chromium-linux.png
│ │ ├── Images-specific-should-change-image-size-wysiwyg-edit-popup-light-chromium-linux.png
│ │ ├── Images-mode-switch-should-remain-after-mode-switch-wysiwyg-markup-dark-webkit-linux.png
│ │ ├── Images-mode-switch-should-remain-after-mode-switch-wysiwyg-markup-light-webkit-linux.png
│ │ ├── Images-mode-switch-should-remain-after-mode-switch-wysiwyg-markup-dark-chromium-linux.png
│ │ └── Images-mode-switch-should-remain-after-mode-switch-wysiwyg-markup-light-chromium-linux.png
│ ├── Lists.visual.test.tsx-snapshots
│ │ ├── Bullet-lists-specific-should-lift-list-item-wysiwyg-dark-webkit-linux.png
│ │ ├── Bullet-lists-specific-should-sink-list-item-markup-dark-webkit-linux.png
│ │ ├── Bullet-lists-specific-should-sink-list-item-markup-light-webkit-linux.png
│ │ ├── Bullet-lists-specific-should-sink-list-item-wysiwyg-dark-webkit-linux.png
│ │ ├── Ordered-lists-specific-should-sink-list-item-markup-dark-webkit-linux.png
│ │ ├── Bullet-lists-specific-should-lift-list-item-wysiwyg-dark-chromium-linux.png
│ │ ├── Bullet-lists-specific-should-lift-list-item-wysiwyg-light-webkit-linux.png
│ │ ├── Bullet-lists-specific-should-sink-list-item-markup-dark-chromium-linux.png
│ │ ├── Bullet-lists-specific-should-sink-list-item-markup-light-chromium-linux.png
│ │ ├── Bullet-lists-specific-should-sink-list-item-wysiwyg-dark-chromium-linux.png
│ │ ├── Bullet-lists-specific-should-sink-list-item-wysiwyg-light-webkit-linux.png
│ │ ├── Ordered-lists-specific-should-lift-list-item-wysiwyg-dark-webkit-linux.png
│ │ ├── Ordered-lists-specific-should-lift-list-item-wysiwyg-light-webkit-linux.png
│ │ ├── Ordered-lists-specific-should-sink-list-item-markup-dark-chromium-linux.png
│ │ ├── Ordered-lists-specific-should-sink-list-item-markup-light-webkit-linux.png
│ │ ├── Ordered-lists-specific-should-sink-list-item-wysiwyg-dark-webkit-linux.png
│ │ ├── Ordered-lists-specific-should-sink-list-item-wysiwyg-light-webkit-linux.png
│ │ ├── Bullet-lists-specific-should-lift-list-item-wysiwyg-light-chromium-linux.png
│ │ ├── Bullet-lists-specific-should-sink-list-item-wysiwyg-light-chromium-linux.png
│ │ ├── Ordered-lists-specific-should-lift-list-item-wysiwyg-dark-chromium-linux.png
│ │ ├── Ordered-lists-specific-should-lift-list-item-wysiwyg-light-chromium-linux.png
│ │ ├── Ordered-lists-specific-should-sink-list-item-markup-light-chromium-linux.png
│ │ ├── Ordered-lists-specific-should-sink-list-item-wysiwyg-dark-chromium-linux.png
│ │ └── Ordered-lists-specific-should-sink-list-item-wysiwyg-light-chromium-linux.png
│ ├── Colorify.visual.test.tsx-snapshots
│ │ ├── Colorify-specific-should-escape-parentheses-markup-dark-webkit-linux.png
│ │ ├── Colorify-specific-should-escape-parentheses-markup-dark-chromium-linux.png
│ │ ├── Colorify-specific-should-escape-parentheses-markup-light-chromium-linux.png
│ │ ├── Colorify-specific-should-escape-parentheses-markup-light-webkit-linux.png
│ │ ├── Colorify-specific-should-escape-parentheses-wysiwyg-dark-chromium-linux.png
│ │ ├── Colorify-specific-should-escape-parentheses-wysiwyg-dark-webkit-linux.png
│ │ ├── Colorify-specific-should-escape-parentheses-wysiwyg-light-webkit-linux.png
│ │ └── Colorify-specific-should-escape-parentheses-wysiwyg-light-chromium-linux.png
│ ├── Clipboard.visual.test.tsx-snapshots
│ │ ├── Clipboard-MARKUP-mode-should-reindent-pasted-markup-dark-webkit-linux.png
│ │ ├── Clipboard-MARKUP-mode-should-reindent-pasted-markup-light-webkit-linux.png
│ │ ├── Clipboard-MARKUP-mode-should-reindent-pasted-markup-dark-chromium-linux.png
│ │ ├── Clipboard-MARKUP-mode-should-reindent-pasted-markup-light-chromium-linux.png
│ │ ├── Clipboard-Paste-HTML-should-parse-HTML-in-markup-mode-dark-webkit-linux.png
│ │ ├── Clipboard-Paste-HTML-should-parse-HTML-in-markup-mode-light-webkit-linux.png
│ │ ├── Clipboard-Paste-HTML-should-parse-HTML-in-wysiwyg-mode-dark-webkit-linux.png
│ │ ├── Clipboard-Paste-HTML-should-parse-HTML-in-markup-mode-dark-chromium-linux.png
│ │ ├── Clipboard-Paste-HTML-should-parse-HTML-in-markup-mode-light-chromium-linux.png
│ │ ├── Clipboard-Paste-HTML-should-parse-HTML-in-wysiwyg-mode-dark-chromium-linux.png
│ │ ├── Clipboard-Paste-HTML-should-parse-HTML-in-wysiwyg-mode-light-chromium-linux.png
│ │ ├── Clipboard-Paste-HTML-should-parse-HTML-in-wysiwyg-mode-light-webkit-linux.png
│ │ ├── Clipboard-WYSIWYG-mode-Paste-should-parse-markdown-markup-dark-webkit-linux.png
│ │ ├── Clipboard-WYSIWYG-mode-Paste-should-parse-markdown-markup-dark-chromium-linux.png
│ │ ├── Clipboard-WYSIWYG-mode-Paste-should-parse-markdown-markup-light-webkit-linux.png
│ │ ├── Clipboard-WYSIWYG-mode-Paste-should-parse-markdown-markup-light-chromium-linux.png
│ │ ├── Clipboard-MARKUP-mode-should-paste-link-to-image-as-image-markup-dark-webkit-linux.png
│ │ ├── Clipboard-MARKUP-mode-should-paste-link-to-image-as-image-markup-dark-chromium-linux.png
│ │ ├── Clipboard-MARKUP-mode-should-paste-link-to-image-as-image-markup-light-chromium-linux.png
│ │ ├── Clipboard-MARKUP-mode-should-paste-link-to-image-as-image-markup-light-webkit-linux.png
│ │ ├── Clipboard-WYSIWYG-mode-should-copy-and-paste-with-preserve-markup-dark-chromium-linux.png
│ │ ├── Clipboard-WYSIWYG-mode-should-copy-and-paste-with-preserve-markup-dark-webkit-linux.png
│ │ ├── Clipboard-WYSIWYG-mode-should-copy-and-paste-with-preserve-markup-light-webkit-linux.png
│ │ ├── Clipboard-WYSIWYG-mode-Paste-should-paste-to-code-block-without-as-is-dark-webkit-linux.png
│ │ ├── Clipboard-WYSIWYG-mode-Paste-should-wrap-text-to-link-from-clipboard-dark-webkit-linux.png
│ │ ├── Clipboard-WYSIWYG-mode-Paste-should-wrap-text-to-link-from-clipboard-light-webkit-linux.png
│ │ ├── Clipboard-WYSIWYG-mode-should-copy-and-paste-with-preserve-markup-light-chromium-linux.png
│ │ ├── Clipboard-WYSIWYG-mode-Paste-should-paste-to-code-block-without-as-is-dark-chromium-linux.png
│ │ ├── Clipboard-WYSIWYG-mode-Paste-should-paste-to-code-block-without-as-is-light-chromium-linux.png
│ │ ├── Clipboard-WYSIWYG-mode-Paste-should-paste-to-code-block-without-as-is-light-webkit-linux.png
│ │ ├── Clipboard-WYSIWYG-mode-Paste-should-wrap-text-to-link-from-clipboard-dark-chromium-linux.png
│ │ ├── Clipboard-WYSIWYG-mode-Paste-should-wrap-text-to-link-from-clipboard-light-chromium-linux.png
│ │ ├── Clipboard-should-copy-from-markup-mode-and-paste-formatted-to-wysiwyg-dark-chromium-linux.png
│ │ ├── Clipboard-should-copy-from-markup-mode-and-paste-formatted-to-wysiwyg-light-chromium-linux.png
│ │ ├── Clipboard-should-copy-from-wysiwyg-and-paste-formatted-to-markup-mode-dark-chromium-linux.png
│ │ ├── Clipboard-should-copy-from-wysiwyg-and-paste-formatted-to-markup-mode-light-chromium-linux.png
│ │ ├── Clipboard-WYSIWYG-mode-Paste-should-parse-pasting-text-as-markdown-markup-dark-webkit-linux.png
│ │ ├── Clipboard-WYSIWYG-mode-Paste-should-parse-pasting-text-as-markdown-markup-light-webkit-linux.png
│ │ ├── Clipboard-WYSIWYG-mode-Paste-should-insert-link-from-ios-safari-share-button-dark-webkit-linux.png
│ │ ├── Clipboard-WYSIWYG-mode-Paste-should-insert-link-from-ios-safari-share-button-light-webkit-linux.png
│ │ ├── Clipboard-WYSIWYG-mode-Paste-should-parse-pasting-text-as-markdown-markup-dark-chromium-linux.png
│ │ ├── Clipboard-WYSIWYG-mode-Paste-should-parse-pasting-text-as-markdown-markup-light-chromium-linux.png
│ │ ├── Clipboard-WYSIWYG-mode-Paste-should-insert-into-inline-code-without-formatting-dark-webkit-linux.png
│ │ ├── Clipboard-WYSIWYG-mode-Paste-should-insert-into-inline-code-without-formatting-light-webkit-linux.png
│ │ └── Clipboard-WYSIWYG-mode-Paste-should-insert-link-from-ios-safari-share-button-dark-chromium-linux.png
│ ├── Link.visual.test.tsx-snapshots
│ │ ├── Link-specific-should-open-edit-popup-on-link-click-wysiwyg-dark-webkit-linux.png
│ │ ├── Link-specific-should-open-edit-popup-on-link-click-wysiwyg-light-webkit-linux.png
│ │ ├── Link-specific-should-open-edit-popup-on-link-click-wysiwyg-dark-chromium-linux.png
│ │ └── Link-specific-should-open-edit-popup-on-link-click-wysiwyg-light-chromium-linux.png
│ ├── Toolbar.visual.test.tsx-snapshots
│ │ ├── Toolbar-should-hide-actions-at-small-width-width-large-light-webkit-linux.png
│ │ ├── Toolbar-should-hide-actions-at-small-width-width-medium-light-webkit-linux.png
│ │ ├── Toolbar-should-hide-actions-at-small-width-width-small-light-webkit-linux.png
│ │ ├── Toolbar-should-hide-actions-at-small-width-width-large-light-chromium-linux.png
│ │ ├── Toolbar-should-hide-actions-at-small-width-width-medium-light-chromium-linux.png
│ │ ├── Toolbar-should-hide-actions-at-small-width-width-small-light-chromium-linux.png
│ │ ├── Toolbar-should-hide-all-actions-to-more-menu-in-markup-mode-dark-webkit-linux.png
│ │ ├── Toolbar-should-hide-all-actions-to-more-menu-in-markup-mode-dark-chromium-linux.png
│ │ ├── Toolbar-should-hide-all-actions-to-more-menu-in-markup-mode-light-webkit-linux.png
│ │ ├── Toolbar-should-hide-all-actions-to-more-menu-in-wysiwyg-mode-dark-webkit-linux.png
│ │ ├── Toolbar-should-hide-all-actions-to-more-menu-in-wysiwyg-mode-light-webkit-linux.png
│ │ ├── Toolbar-should-hide-actions-at-small-width-markup-width-small-light-chromium-linux.png
│ │ ├── Toolbar-should-hide-actions-at-small-width-markup-width-small-light-webkit-linux.png
│ │ ├── Toolbar-should-hide-all-actions-to-more-menu-in-markup-mode-light-chromium-linux.png
│ │ ├── Toolbar-should-hide-all-actions-to-more-menu-in-wysiwyg-mode-dark-chromium-linux.png
│ │ ├── Toolbar-should-hide-all-actions-to-more-menu-in-wysiwyg-mode-light-chromium-linux.png
│ │ ├── Toolbar-should-have-same-set-of-actions-in-both-modes-in-markup-mode-dark-webkit-linux.png
│ │ ├── Toolbar-should-have-same-set-of-actions-in-both-modes-in-markup-mode-light-webkit-linux.png
│ │ ├── Toolbar-should-have-same-set-of-actions-in-both-modes-in-wysiwyg-mode-dark-webkit-linux.png
│ │ ├── Toolbar-should-have-same-set-of-actions-in-both-modes-in-markup-mode-dark-chromium-linux.png
│ │ ├── Toolbar-should-have-same-set-of-actions-in-both-modes-in-markup-mode-light-chromium-linux.png
│ │ ├── Toolbar-should-have-same-set-of-actions-in-both-modes-in-wysiwyg-mode-dark-chromium-linux.png
│ │ ├── Toolbar-should-have-same-set-of-actions-in-both-modes-in-wysiwyg-mode-light-webkit-linux.png
│ │ └── Toolbar-should-have-same-set-of-actions-in-both-modes-in-wysiwyg-mode-light-chromium-linux.png
│ └── Experimental.visual.test.tsx-snapshots
│ │ ├── Empty-rows-MARKUP-mode-markup-should-show-autocomplete-result-dark-webkit-linux.png
│ │ ├── Empty-rows-MARKUP-mode-markup-should-show-autocomplete-result-dark-chromium-linux.png
│ │ ├── Empty-rows-MARKUP-mode-markup-should-show-autocomplete-result-light-chromium-linux.png
│ │ ├── Empty-rows-MARKUP-mode-markup-should-show-autocomplete-result-light-webkit-linux.png
│ │ ├── Empty-rows-MARKUP-mode-markup-should-show-autocomplete-tooltip-dark-chromium-linux.png
│ │ ├── Empty-rows-MARKUP-mode-markup-should-show-autocomplete-tooltip-dark-webkit-linux.png
│ │ ├── Empty-rows-MARKUP-mode-markup-should-show-autocomplete-tooltip-light-webkit-linux.png
│ │ ├── Empty-rows-WYSIWYG-mode-wysiwyg-should-preserve-empty-rows-empty-dark-webkit-linux.png
│ │ ├── Empty-rows-MARKUP-mode-markup-should-show-autocomplete-tooltip-light-chromium-linux.png
│ │ ├── Empty-rows-WYSIWYG-mode-wysiwyg-should-preserve-empty-rows-empty-dark-chromium-linux.png
│ │ ├── Empty-rows-WYSIWYG-mode-wysiwyg-should-preserve-empty-rows-empty-light-webkit-linux.png
│ │ ├── Empty-rows-WYSIWYG-mode-wysiwyg-should-preserve-empty-rows-empty-light-chromium-linux.png
│ │ ├── Empty-rows-WYSIWYG-mode-wysiwyg-should-preserve-empty-rows-preserve-dark-chromium-linux.png
│ │ ├── Empty-rows-WYSIWYG-mode-wysiwyg-should-preserve-empty-rows-preserve-dark-webkit-linux.png
│ │ ├── Empty-rows-WYSIWYG-mode-wysiwyg-should-preserve-empty-rows-preserve-light-webkit-linux.png
│ │ └── Empty-rows-WYSIWYG-mode-wysiwyg-should-preserve-empty-rows-preserve-light-chromium-linux.png
│ ├── YfmExtensions.helpers.tsx
│ └── Presets.helpers.tsx
├── .eslintignore
├── .prettierrc.js
├── demo
├── stories
│ ├── gpt
│ │ ├── content.ts
│ │ └── GPT.stories.tsx
│ ├── ghost
│ │ ├── README.md
│ │ ├── ghostExtension
│ │ │ ├── effects.ts
│ │ │ └── index.ts
│ │ └── Ghost.stories.tsx
│ ├── view
│ │ └── gallery
│ │ │ └── ViewWithGallery.scss
│ ├── editor-in-editor
│ │ ├── EditorInEditorExtension
│ │ │ └── index.scss
│ │ └── EditorInEditor.stories.tsx
│ ├── quoteLink
│ │ └── quoteLink.stories.ts
│ ├── mobile-editor
│ │ └── MobileEditor.stories.ts
│ └── remember-mode
│ │ └── RememberMode.stories.tsx
├── .eslintrc
├── utils
│ ├── cn.ts
│ └── getInitialMd.ts
└── defaults
│ └── excluded-controls.ts
├── docs
└── assets
│ └── gifs
│ ├── prompt-preset-gpt.gif
│ └── custom-prompt-preset-gpt.gif
├── .storybook
└── manager.ts
├── .stylelintrc
├── .github
├── workflows
│ └── pr-preview-build.yml
└── ISSUE_TEMPLATE
│ └── feature_request.md
└── .editorconfig
/.nvmrc:
--------------------------------------------------------------------------------
1 | 24
2 |
--------------------------------------------------------------------------------
/CODEOWNERS:
--------------------------------------------------------------------------------
1 | * @d3m1d0v @makhnatkin
2 |
3 |
--------------------------------------------------------------------------------
/src/cm/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@codemirror/view';
2 |
--------------------------------------------------------------------------------
/src/pm/view.ts:
--------------------------------------------------------------------------------
1 | export * from 'prosemirror-view';
2 |
--------------------------------------------------------------------------------
/src/cm/state.ts:
--------------------------------------------------------------------------------
1 | export * from '@codemirror/state';
2 |
--------------------------------------------------------------------------------
/src/pm/history.ts:
--------------------------------------------------------------------------------
1 | export * from 'prosemirror-history';
2 |
--------------------------------------------------------------------------------
/src/pm/keymap.ts:
--------------------------------------------------------------------------------
1 | export * from 'prosemirror-keymap';
2 |
--------------------------------------------------------------------------------
/src/pm/model.ts:
--------------------------------------------------------------------------------
1 | export * from 'prosemirror-model';
2 |
--------------------------------------------------------------------------------
/src/pm/state.ts:
--------------------------------------------------------------------------------
1 | export * from 'prosemirror-state';
2 |
--------------------------------------------------------------------------------
/src/cm/commands.ts:
--------------------------------------------------------------------------------
1 | export * from '@codemirror/commands';
2 |
--------------------------------------------------------------------------------
/src/cm/language.ts:
--------------------------------------------------------------------------------
1 | export * from '@codemirror/language';
2 |
--------------------------------------------------------------------------------
/src/extensions/additional/index.ts:
--------------------------------------------------------------------------------
1 | export * from './GPT';
2 |
--------------------------------------------------------------------------------
/src/extensions/yfm/Emoji/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Emoji';
2 |
--------------------------------------------------------------------------------
/src/pm/commands.ts:
--------------------------------------------------------------------------------
1 | export * from 'prosemirror-commands';
2 |
--------------------------------------------------------------------------------
/src/pm/transform.ts:
--------------------------------------------------------------------------------
1 | export * from 'prosemirror-transform';
2 |
--------------------------------------------------------------------------------
/src/view/components/index.ts:
--------------------------------------------------------------------------------
1 | export * from './YfmHtml';
2 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | registry=https://registry.npmjs.org/
2 | save-exact=true
3 |
--------------------------------------------------------------------------------
/src/cm/autocomplete.ts:
--------------------------------------------------------------------------------
1 | export * from '@codemirror/autocomplete';
2 |
--------------------------------------------------------------------------------
/src/modules/search/components/_constants.scss:
--------------------------------------------------------------------------------
1 | $width: 428px;
2 |
--------------------------------------------------------------------------------
/src/pm/inputrules.ts:
--------------------------------------------------------------------------------
1 | export * from 'prosemirror-inputrules';
2 |
--------------------------------------------------------------------------------
/src/pm/test-builder.ts:
--------------------------------------------------------------------------------
1 | export * from 'prosemirror-test-builder';
2 |
--------------------------------------------------------------------------------
/src/view/README.md:
--------------------------------------------------------------------------------
1 | # `@doc-tools/yfm-editor/view` sub-module
2 |
--------------------------------------------------------------------------------
/src/extensions/behavior/Search/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Search';
2 |
--------------------------------------------------------------------------------
/src/forms/utils.ts:
--------------------------------------------------------------------------------
1 | export {enterKeyHandler} from '../utils/handlers';
2 |
--------------------------------------------------------------------------------
/src/i18n/empty-row/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "snippet.text": "Empty row"
3 | }
4 |
--------------------------------------------------------------------------------
/tests/esbuild-test/node-module-alias-fallback.js:
--------------------------------------------------------------------------------
1 | export default null;
2 |
--------------------------------------------------------------------------------
/tests/setup.ts:
--------------------------------------------------------------------------------
1 | import './pollyfills';
2 | import './toMatchNode';
3 |
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | build
2 | coverage
3 | node_modules
4 | storybook-static
5 |
--------------------------------------------------------------------------------
/.prettierrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require("@gravity-ui/prettier-config");
2 |
--------------------------------------------------------------------------------
/src/extensions/base/specs.ts:
--------------------------------------------------------------------------------
1 | export * from './BaseSchema/BaseSchemaSpecs';
2 |
--------------------------------------------------------------------------------
/src/extensions/markdown/Table/const.ts:
--------------------------------------------------------------------------------
1 | export * from './TableSpecs/const';
2 |
--------------------------------------------------------------------------------
/src/extensions/yfm/Emoji/EmojiInput/index.ts:
--------------------------------------------------------------------------------
1 | export * from './EmojiInput';
2 |
--------------------------------------------------------------------------------
/src/extensions/yfm/Emoji/EmojiSpecs/index.ts:
--------------------------------------------------------------------------------
1 | export * from './EmojiSpecs';
2 |
--------------------------------------------------------------------------------
/src/extensions/yfm/YfmNote/const.ts:
--------------------------------------------------------------------------------
1 | export * from './YfmNoteSpecs/const';
2 |
--------------------------------------------------------------------------------
/src/extensions/yfm/YfmNote/utils.ts:
--------------------------------------------------------------------------------
1 | export * from './YfmNoteSpecs/utils';
2 |
--------------------------------------------------------------------------------
/src/i18n/empty-row/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "snippet.text": "Пустая строка"
3 | }
4 |
--------------------------------------------------------------------------------
/src/bundle/settings/MarkdownHints/index.ts:
--------------------------------------------------------------------------------
1 | export * from './MarkdownHints';
2 |
--------------------------------------------------------------------------------
/src/extensions/behavior/ClicksOnEdges/index.ts:
--------------------------------------------------------------------------------
1 | export * from './ClicksOnEdges';
2 |
--------------------------------------------------------------------------------
/src/extensions/behavior/SharedState/index.ts:
--------------------------------------------------------------------------------
1 | export * from './SharedState';
2 |
--------------------------------------------------------------------------------
/src/extensions/yfm/Emoji/EmojiSuggest/index.ts:
--------------------------------------------------------------------------------
1 | export * from './EmojiSuggest';
2 |
--------------------------------------------------------------------------------
/src/extensions/yfm/YfmTable/const.ts:
--------------------------------------------------------------------------------
1 | export * from './YfmTableSpecs/const';
2 |
--------------------------------------------------------------------------------
/src/extensions/yfm/YfmTable/utils.ts:
--------------------------------------------------------------------------------
1 | export * from './YfmTableSpecs/utils';
2 |
--------------------------------------------------------------------------------
/src/forms/index.ts:
--------------------------------------------------------------------------------
1 | export * from './base';
2 | export * from './components';
3 |
--------------------------------------------------------------------------------
/src/i18n/gpt/loading/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "loading-text": "GPT генерирует ответ..."
3 | }
4 |
--------------------------------------------------------------------------------
/src/view/hooks/useYfmShowElemWithId/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useYfmShowElemWithId';
2 |
--------------------------------------------------------------------------------
/src/extensions/additional/Mermaid/MermaidNodeView/index.ts:
--------------------------------------------------------------------------------
1 | export * from './NodeView';
2 |
--------------------------------------------------------------------------------
/src/extensions/behavior/Search/types.ts:
--------------------------------------------------------------------------------
1 | export type SearchViewState = {open: boolean};
2 |
--------------------------------------------------------------------------------
/src/markdown-it/ins.ts:
--------------------------------------------------------------------------------
1 | import ins from 'markdown-it-ins';
2 |
3 | export default ins;
4 |
--------------------------------------------------------------------------------
/src/markdown-it/sub.ts:
--------------------------------------------------------------------------------
1 | import sub from 'markdown-it-sub';
2 |
3 | export default sub;
4 |
--------------------------------------------------------------------------------
/demo/stories/gpt/content.ts:
--------------------------------------------------------------------------------
1 | export const initialMdContent = `Markdown Editor GPT Playground`;
2 |
--------------------------------------------------------------------------------
/src/common/layout.ts:
--------------------------------------------------------------------------------
1 | export const LAYOUT = {
2 | STICKY_TOOLBAR: 'sticky-toolbar',
3 | };
4 |
--------------------------------------------------------------------------------
/src/extensions/behavior/CommandMenu/const.ts:
--------------------------------------------------------------------------------
1 | export const DecoClassName = 'pm-command-input';
2 |
--------------------------------------------------------------------------------
/src/extensions/yfm/Emoji/EmojiSuggest/const.ts:
--------------------------------------------------------------------------------
1 | export const DecoClassName = 'pm-emoji-input';
2 |
--------------------------------------------------------------------------------
/src/i18n/gpt/loading/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "loading-text": "GPT is generating a response..."
3 | }
4 |
--------------------------------------------------------------------------------
/src/markdown-it/mark.ts:
--------------------------------------------------------------------------------
1 | import mark from 'markdown-it-mark';
2 |
3 | export default mark;
4 |
--------------------------------------------------------------------------------
/src/pm/utils.ts:
--------------------------------------------------------------------------------
1 | // @ts-ignore // TODO: fix cjs build
2 | export * from 'prosemirror-utils';
3 |
--------------------------------------------------------------------------------
/src/extensions/additional/FoldingHeading/index.ts:
--------------------------------------------------------------------------------
1 | export {FoldingHeading} from './FoldingHeading';
2 |
--------------------------------------------------------------------------------
/src/extensions/additional/YfmHtmlBlock/YfmHtmlBlockNodeView/index.ts:
--------------------------------------------------------------------------------
1 | export * from './NodeView';
2 |
--------------------------------------------------------------------------------
/src/extensions/yfm/ImgSize/plugins/ImgSizeNodeView/ImageForm/index.ts:
--------------------------------------------------------------------------------
1 | export * from './ImageForm';
2 |
--------------------------------------------------------------------------------
/src/extensions/yfm/YfmFile/index.scss:
--------------------------------------------------------------------------------
1 | .yfm-editor .yfm-file {
2 | pointer-events: none;
3 | }
4 |
--------------------------------------------------------------------------------
/src/forms/components/index.ts:
--------------------------------------------------------------------------------
1 | export * from './ButtonAttach';
2 | export * from './NumberInput';
3 |
--------------------------------------------------------------------------------
/src/i18n/hints/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "math_hint": "Math uses",
3 | "math_hint_katex": "Katex syntax"
4 | }
5 |
--------------------------------------------------------------------------------
/src/toolbar/ToolbarGroup.scss:
--------------------------------------------------------------------------------
1 | .g-md-toolbar-group {
2 | display: flex;
3 | gap: 0 2px;
4 | }
5 |
--------------------------------------------------------------------------------
/src/toolbar/const.ts:
--------------------------------------------------------------------------------
1 | export enum ToolbarTooltipDelay {
2 | Open = 250,
3 | Close = 150,
4 | }
5 |
--------------------------------------------------------------------------------
/src/view/hooks/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useYfmShowElemWithId';
2 | export * from './useFilesGallery';
3 |
--------------------------------------------------------------------------------
/src/view/hooks/useFilesGallery/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useFilesGallery';
2 | export * from './types';
3 |
--------------------------------------------------------------------------------
/src/view/types/index.ts:
--------------------------------------------------------------------------------
1 | export type TransformMeta = {script?: string[]; style?: string[]} | undefined;
2 |
--------------------------------------------------------------------------------
/demo/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "extends": ["@gravity-ui/eslint-config/client", "plugin:react/jsx-runtime"]
3 | }
4 |
--------------------------------------------------------------------------------
/src/extensions/additional/FoldingHeading/FoldingHeadingSpec/index.ts:
--------------------------------------------------------------------------------
1 | export * from './FoldingHeadingSpecs';
2 |
--------------------------------------------------------------------------------
/src/extensions/yfm/Checkbox/const.ts:
--------------------------------------------------------------------------------
1 | export {CheckboxAttr, CheckboxNode, b} from './CheckboxSpecs/const';
2 |
--------------------------------------------------------------------------------
/src/i18n/math-hint/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "math_hint": "Math uses",
3 | "math_hint_katex": "Katex syntax"
4 | }
5 |
--------------------------------------------------------------------------------
/src/shortcuts/index.ts:
--------------------------------------------------------------------------------
1 | import './default';
2 |
3 | export * from './const';
4 | export * from './formatter';
5 |
--------------------------------------------------------------------------------
/src/view/index.ts:
--------------------------------------------------------------------------------
1 | export * from './components';
2 | export * from './hooks';
3 | export * from './types';
4 |
--------------------------------------------------------------------------------
/src/extensions/markdown/Deflist/utils.ts:
--------------------------------------------------------------------------------
1 | export {defDescType, defListType, defTermType} from './DeflistSpecs';
2 |
--------------------------------------------------------------------------------
/src/extensions/yfm/Video/const.ts:
--------------------------------------------------------------------------------
1 | export * from './VideoSpecs/const';
2 |
3 | export const vAction = 'video';
4 |
--------------------------------------------------------------------------------
/src/extensions/yfm/YfmNote/index.scss:
--------------------------------------------------------------------------------
1 | .yfm-editor p[yfm_block='yfm-note-title'] {
2 | font-weight: 700;
3 | }
4 |
--------------------------------------------------------------------------------
/src/markup/index.ts:
--------------------------------------------------------------------------------
1 | export * from './codemirror';
2 | export * from './commands';
3 | export * from './editor';
4 |
--------------------------------------------------------------------------------
/src/extensions/additional/Mermaid/types.ts:
--------------------------------------------------------------------------------
1 | export type MermaidEntitySharedState = {
2 | editing: boolean;
3 | };
4 |
--------------------------------------------------------------------------------
/src/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenu/index.ts:
--------------------------------------------------------------------------------
1 | export * from './FloatingMenu';
2 |
--------------------------------------------------------------------------------
/src/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPopup/index.ts:
--------------------------------------------------------------------------------
1 | export * from './FloatingPopup';
2 |
--------------------------------------------------------------------------------
/src/markdown-it/color.ts:
--------------------------------------------------------------------------------
1 | import {colorPlugin} from '@diplodoc/color-extension';
2 |
3 | export default colorPlugin;
4 |
--------------------------------------------------------------------------------
/src/styles/markdown.scss:
--------------------------------------------------------------------------------
1 | @use '../extensions/yfm/Color/colors';
2 | @use './yc-file.scss';
3 | @use './yc-colors.scss';
4 |
--------------------------------------------------------------------------------
/src/extensions/specs.ts:
--------------------------------------------------------------------------------
1 | export * from './base/specs';
2 | export * from './markdown/specs';
3 | export * from './yfm/specs';
4 |
--------------------------------------------------------------------------------
/src/extensions/yfm/Checkbox/utils.ts:
--------------------------------------------------------------------------------
1 | export {checkboxType, checkboxInputType, checkboxLabelType} from './CheckboxSpecs';
2 |
--------------------------------------------------------------------------------
/demo/stories/ghost/README.md:
--------------------------------------------------------------------------------
1 | This is an example for documentation on creating and adding a text-bound extension for content mode.
2 |
--------------------------------------------------------------------------------
/demo/stories/view/gallery/ViewWithGallery.scss:
--------------------------------------------------------------------------------
1 | .view-with-gallery {
2 | img {
3 | cursor: pointer;
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/src/extensions/additional/YfmHtmlBlock/types.ts:
--------------------------------------------------------------------------------
1 | export type YfmHtmlBlockEntitySharedState = {
2 | editing: boolean;
3 | };
4 |
--------------------------------------------------------------------------------
/src/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusButton/index.ts:
--------------------------------------------------------------------------------
1 | export * from './FloatingPlusButton';
2 |
--------------------------------------------------------------------------------
/src/i18n/hints/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "math_hint": "При создании формул используется",
3 | "math_hint_katex": "синтаксис Katex"
4 | }
5 |
--------------------------------------------------------------------------------
/src/styles/styles.scss:
--------------------------------------------------------------------------------
1 | @use './yc-file.scss';
2 | @use './yc-colors.scss';
3 | @use './yfm-themes.scss';
4 | @use './list.scss';
5 |
--------------------------------------------------------------------------------
/src/utils/carousel/index.ts:
--------------------------------------------------------------------------------
1 | export {IndexCarousel} from './IndexCarousel';
2 | export {ArrayCarousel} from './ArrayCarousel';
3 |
--------------------------------------------------------------------------------
/demo/utils/cn.ts:
--------------------------------------------------------------------------------
1 | import {withNaming} from '@bem-react/classname';
2 |
3 | export const block = withNaming({e: '__', m: '_', v: '_'});
4 |
--------------------------------------------------------------------------------
/docs/assets/gifs/prompt-preset-gpt.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/docs/assets/gifs/prompt-preset-gpt.gif
--------------------------------------------------------------------------------
/src/extensions/additional/Mermaid/const.ts:
--------------------------------------------------------------------------------
1 | export * from './MermaidSpecs/const';
2 | export const MermaidAction = 'createMermaid';
3 |
--------------------------------------------------------------------------------
/src/extensions/markdown/Blockquote/const.ts:
--------------------------------------------------------------------------------
1 | export {blockquoteNodeName, blockquoteType, isBlockqouteNode} from './BlockquoteSpecs';
2 |
--------------------------------------------------------------------------------
/src/extensions/markdown/Deflist/const.ts:
--------------------------------------------------------------------------------
1 | export {DeflistNode} from './DeflistSpecs';
2 |
3 | export const dlAction = 'toDefList';
4 |
--------------------------------------------------------------------------------
/src/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenuControl/index.ts:
--------------------------------------------------------------------------------
1 | export * from './FloatingMenuControl';
2 |
--------------------------------------------------------------------------------
/src/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusControl/index.ts:
--------------------------------------------------------------------------------
1 | export * from './FloatingPlusControl';
2 |
--------------------------------------------------------------------------------
/src/forms/base/FormFooter.scss:
--------------------------------------------------------------------------------
1 | .g-md-form-footer {
2 | display: flex;
3 | justify-content: flex-end;
4 | gap: 0 8px;
5 | }
6 |
--------------------------------------------------------------------------------
/src/forms/base/FormLayout.scss:
--------------------------------------------------------------------------------
1 | .g-md-form-layout {
2 | display: flex;
3 | flex-direction: column;
4 | gap: 8px 0;
5 | }
6 |
--------------------------------------------------------------------------------
/src/i18n/math-hint/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "math_hint": "При создании формул используется",
3 | "math_hint_katex": "синтаксис Katex"
4 | }
5 |
--------------------------------------------------------------------------------
/src/i18n/suggest/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "error-title": "Error",
3 | "error-desc": "Error loading",
4 | "empty-msg": "Not found"
5 | }
6 |
--------------------------------------------------------------------------------
/src/markup/codemirror/html-to-markdown/__tests__/fixtures/header-and-link/output.md:
--------------------------------------------------------------------------------
1 | # Main Title
2 | [Link](https://example.com/ "Link")
--------------------------------------------------------------------------------
/src/modules/search/index.ts:
--------------------------------------------------------------------------------
1 | export * from './types';
2 | export * from './components/SearchPopup';
3 | export {SearchQA} from './qa';
4 |
--------------------------------------------------------------------------------
/src/i18n/gallery/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "link_copied": "The link copied",
3 | "link_copy": "Copy link",
4 | "file_download": "Download"
5 | }
6 |
--------------------------------------------------------------------------------
/src/i18n/suggest/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "error-title": "Ошибка",
3 | "error-desc": "Ошибка при загрузке",
4 | "empty-msg": "Не найдено"
5 | }
6 |
--------------------------------------------------------------------------------
/src/markup/codemirror/html-to-markdown/__tests__/fixtures/header-and-link/input.html:
--------------------------------------------------------------------------------
1 |
Main Title
Link
--------------------------------------------------------------------------------
/src/core/types/keymap.ts:
--------------------------------------------------------------------------------
1 | import type {Command} from 'prosemirror-state';
2 |
3 | export type Keymap = {
4 | [key: string]: Command;
5 | };
6 |
--------------------------------------------------------------------------------
/src/extensions/additional/FoldingHeading/const.ts:
--------------------------------------------------------------------------------
1 | export {YfmHeadingAttr, headingNodeName, type HeadingLevel} from '../../yfm/YfmHeading/const';
2 |
--------------------------------------------------------------------------------
/src/extensions/markdown/Image/const.ts:
--------------------------------------------------------------------------------
1 | export {imageNodeName, ImageAttr} from './ImageSpecs';
2 |
3 | export const addImageAction = 'addImage';
4 |
--------------------------------------------------------------------------------
/src/extensions/yfm/YfmHeading/const.ts:
--------------------------------------------------------------------------------
1 | export * from './YfmHeadingSpecs/const';
2 | export {HeadingAction} from '../../markdown/Heading/const';
3 |
--------------------------------------------------------------------------------
/src/forms/UrlInputRow.scss:
--------------------------------------------------------------------------------
1 | .g-md-url-input-row {
2 | display: flex;
3 |
4 | &__button {
5 | margin-left: 4px;
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/i18n/codeblock/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "remove": "Remove",
3 | "empty_option": "No matches found",
4 | "show_line_numbers": "Line numbers"
5 | }
6 |
--------------------------------------------------------------------------------
/src/markup/codemirror/html-to-markdown/__tests__/fixtures/newline/output.md:
--------------------------------------------------------------------------------
1 | This is a div.
2 | This is another div.
3 |
4 | Div with a line break.
--------------------------------------------------------------------------------
/src/utils/platform.ts:
--------------------------------------------------------------------------------
1 | export const isMac = (): boolean =>
2 | typeof navigator === 'undefined' ? false : /Mac/.test(navigator.platform);
3 |
--------------------------------------------------------------------------------
/tests/esbuild-test/esbuild-to-test.mjs:
--------------------------------------------------------------------------------
1 | const module = await import('../../src');
2 |
3 | export default Object.keys(module).join(', ');
4 |
5 |
--------------------------------------------------------------------------------
/docs/assets/gifs/custom-prompt-preset-gpt.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/docs/assets/gifs/custom-prompt-preset-gpt.gif
--------------------------------------------------------------------------------
/src/i18n/codeblock/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "remove": "Удалить",
3 | "empty_option": "Ничего не найдено",
4 | "show_line_numbers": "Нумерация строк"
5 | }
6 |
--------------------------------------------------------------------------------
/src/i18n/gallery/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "link_copied": "Ссылка скопирована",
3 | "link_copy": "Скопировать ссылку",
4 | "file_download": "Скачать"
5 | }
6 |
--------------------------------------------------------------------------------
/src/i18n/widgets/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "iframe": "Add a frame",
3 | "image": "Add an image",
4 | "link": "Add a link",
5 | "file": "Add a file"
6 | }
7 |
--------------------------------------------------------------------------------
/src/extensions/additional/GPT/IconRefuge/index.ts:
--------------------------------------------------------------------------------
1 | export {IconRefuge} from './IconRefuge';
2 | export type {IconRefugeProps} from './IconRefuge.types';
3 |
--------------------------------------------------------------------------------
/src/extensions/additional/GPT/index.ts:
--------------------------------------------------------------------------------
1 | export * from './wGptItemData';
2 | export * from './gptExtension/gptExtension';
3 | export * from './MarkupGpt';
4 |
--------------------------------------------------------------------------------
/src/extensions/additional/YfmHtmlBlock/const.ts:
--------------------------------------------------------------------------------
1 | export * from './YfmHtmlBlockSpecs/const';
2 | export const YfmHtmlBlockAction = 'createYfmHtmlBlock';
3 |
--------------------------------------------------------------------------------
/src/extensions/markdown/Link/PlaceholderWidget/widget.scss:
--------------------------------------------------------------------------------
1 | .g-md-link-placeholder-widget {
2 | margin: 0 2px;
3 |
4 | pointer-events: none;
5 | }
6 |
--------------------------------------------------------------------------------
/src/i18n/yfm-note/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "info": "Note",
3 | "tip": "Tip",
4 | "warning": "Warning",
5 | "alert": "Alert",
6 | "remove": "Remove"
7 | }
8 |
--------------------------------------------------------------------------------
/src/markup/codemirror/html-to-markdown/__tests__/fixtures/basic-text/output.md:
--------------------------------------------------------------------------------
1 | This is a simple paragraph.
2 |
3 | This is another paragraph with some text.
--------------------------------------------------------------------------------
/src/view/components/YfmHtml/index.ts:
--------------------------------------------------------------------------------
1 | export type {YfmMods, YfmStaticViewProps} from './YfmStaticView';
2 | export {YfmStaticView} from './YfmStaticView';
3 |
--------------------------------------------------------------------------------
/tests/visual-tests/public/assets/test-image.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/public/assets/test-image.jpg
--------------------------------------------------------------------------------
/src/forms/base/Form.scss:
--------------------------------------------------------------------------------
1 | .g-md-form {
2 | display: flex;
3 | flex-direction: column;
4 | gap: 20px 0;
5 |
6 | padding: 12px 12px 20px;
7 | }
8 |
--------------------------------------------------------------------------------
/src/markup/codemirror/files-upload-plugin/const.ts:
--------------------------------------------------------------------------------
1 | export const IMG_MAX_HEIGHT = 600; // px
2 | export const SUCCESS_UPLOAD_REMOVE_TIMEOUT = 1000; // 1 sec
3 |
--------------------------------------------------------------------------------
/src/markup/codemirror/html-to-markdown/__tests__/fixtures/image/output.md:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/src/markup/codemirror/html-to-markdown/__tests__/fixtures/lists/output.md:
--------------------------------------------------------------------------------
1 | 1. First item
2 | 2. Second item
3 | 3. Third item
4 | - Item A
5 | - Item B
6 | - Item C
--------------------------------------------------------------------------------
/src/extensions/additional/GPT/IconRefuge/IconRefuge.classname.tsx:
--------------------------------------------------------------------------------
1 | import {cn} from '@bem-react/classname';
2 |
3 | export const cnIconRefuge = cn('icon-refuge');
4 |
--------------------------------------------------------------------------------
/src/extensions/base/index.ts:
--------------------------------------------------------------------------------
1 | export * from './BaseSchema';
2 | export * from './BaseStyles';
3 | export * from './BaseKeymap';
4 | export * from './BaseInputRules';
5 |
--------------------------------------------------------------------------------
/src/extensions/behavior/Selection/selection.scss:
--------------------------------------------------------------------------------
1 | .g-md-editor.ProseMirror-focused .pm-node-selected {
2 | box-shadow: var(--g-color-text-info) 0 0 0 1px;
3 | }
4 |
--------------------------------------------------------------------------------
/src/i18n/yfm-note/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "info": "Примечание",
3 | "tip": "Совет",
4 | "warning": "Важно",
5 | "alert": "Внимание",
6 | "remove": "Удалить"
7 | }
8 |
--------------------------------------------------------------------------------
/src/markup/codemirror/html-to-markdown/__tests__/fixtures/basic-text/input.html:
--------------------------------------------------------------------------------
1 | This is a simple paragraph.
2 | This is another paragraph with some text.
--------------------------------------------------------------------------------
/src/table-utils/const.ts:
--------------------------------------------------------------------------------
1 | export enum TableRole {
2 | Table = 'table',
3 | Body = 'tableBody',
4 | Row = 'tableRow',
5 | Cell = 'tableCell',
6 | }
7 |
--------------------------------------------------------------------------------
/.storybook/manager.ts:
--------------------------------------------------------------------------------
1 | import {addons} from '@storybook/manager-api';
2 | import {themes} from './theme';
3 |
4 | addons.setConfig({
5 | theme: themes.light,
6 | });
7 |
--------------------------------------------------------------------------------
/src/i18n/widgets/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "iframe": "Добавить фрейм",
3 | "image": "Добавить изображение",
4 | "link": "Добавить ссылку",
5 | "file": "Добавить файл"
6 | }
7 |
--------------------------------------------------------------------------------
/src/bundle/config/index.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * @deprecated This file is deprecated. Use ToolbarsPreset instead.
3 | */
4 | export * from './wysiwyg';
5 | export * from './markup';
6 |
--------------------------------------------------------------------------------
/src/core/types/node-views.ts:
--------------------------------------------------------------------------------
1 | import type {MarkViewConstructor, NodeViewConstructor} from 'prosemirror-view';
2 |
3 | export type {NodeViewConstructor, MarkViewConstructor};
4 |
--------------------------------------------------------------------------------
/src/extensions/index.ts:
--------------------------------------------------------------------------------
1 | export * from './base';
2 | export * from './behavior';
3 | export * from './markdown';
4 | export * from './yfm';
5 | export * from './additional';
6 |
--------------------------------------------------------------------------------
/src/markup/codemirror/html-to-markdown/__tests__/fixtures/image/input.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/toolbar/ToolbarButton.scss:
--------------------------------------------------------------------------------
1 | .g-md-toolbar-button {
2 | &__action-disabled-tooltip {
3 | min-height: fit-content;
4 | padding: 6px 12px;
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/version.ts:
--------------------------------------------------------------------------------
1 | /** During build process, the current version will be injected here */
2 | export const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'unknown';
3 |
--------------------------------------------------------------------------------
/src/extensions/yfm/Color/ColorSpecs/const.ts:
--------------------------------------------------------------------------------
1 | export const colorMarkName = 'color';
2 | export const colorClassName = 'yfm-colorify';
3 | export const domColorAttr = 'data-color';
4 |
--------------------------------------------------------------------------------
/src/extensions/yfm/Video/VideoSpecs/const.ts:
--------------------------------------------------------------------------------
1 | export const videoNodeName = 'video';
2 |
3 | export enum VideoAttr {
4 | Service = 'service',
5 | VideoID = 'videoid',
6 | }
7 |
--------------------------------------------------------------------------------
/src/markup/codemirror/html-to-markdown/__tests__/fixtures/headers/output.md:
--------------------------------------------------------------------------------
1 | # Main Title
2 | Some content.
3 |
4 | ## Subtitle
5 | More content.
6 |
7 | ### Section 3
8 | #### Section 4
--------------------------------------------------------------------------------
/src/markup/codemirror/html-to-markdown/__tests__/fixtures/newline/input.html:
--------------------------------------------------------------------------------
1 | This is a div.
2 | This is another div.
3 |
4 | Div with a line break.
--------------------------------------------------------------------------------
/src/i18n/gpt/errors/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "error-text": "Ошибка при генерации ответа, попробуйте повторить запрос",
3 | "retry-button": "Повторить",
4 | "start-again-button": "В начало"
5 | }
6 |
--------------------------------------------------------------------------------
/src/markup/codemirror/files-upload-plugin/index.ts:
--------------------------------------------------------------------------------
1 | export {FilesUploadPlugin} from './plugin';
2 | export {getImageDimensions} from './utils';
3 | export {IMG_MAX_HEIGHT} from './const';
4 |
--------------------------------------------------------------------------------
/src/view/hocs/withMermaid/types.ts:
--------------------------------------------------------------------------------
1 | export type {TransformMeta} from '../../types';
2 |
3 | export type PluginRuntime = string; // TODO: import runtime type from @diplodoc/mermaid-extension
4 |
--------------------------------------------------------------------------------
/demo/utils/getInitialMd.ts:
--------------------------------------------------------------------------------
1 | import {markup} from '../defaults/content';
2 |
3 | import {parseLocation} from './location';
4 |
5 | export const getInitialMd = () => parseLocation() || markup;
6 |
--------------------------------------------------------------------------------
/src/extensions/yfm/ImgSize/plugins/ImgSizeNodeView/ImgSettingsButton.scss:
--------------------------------------------------------------------------------
1 | .g-md-img-settings-button {
2 | position: absolute;
3 | z-index: 2;
4 | top: 3px;
5 | right: 3px;
6 | }
7 |
--------------------------------------------------------------------------------
/.stylelintrc:
--------------------------------------------------------------------------------
1 | {
2 | "extends": [
3 | "@gravity-ui/stylelint-config",
4 | "@gravity-ui/stylelint-config/order",
5 | "@gravity-ui/stylelint-config/prettier"
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/demo/defaults/excluded-controls.ts:
--------------------------------------------------------------------------------
1 | export const excludedControls = [
2 | 'initial',
3 | 'withDefaultInitialContent',
4 | 'onChangeEditorType',
5 | 'onChangeSplitModeEnabled',
6 | ];
7 |
--------------------------------------------------------------------------------
/src/shortcuts/types.ts:
--------------------------------------------------------------------------------
1 | export type Chars = Partial>;
2 |
3 | export type Defs = string[];
4 |
5 | export type PlatfrormDefs = {
6 | pc?: Defs;
7 | mac?: Defs;
8 | };
9 |
--------------------------------------------------------------------------------
/src/styles/yc-file.scss:
--------------------------------------------------------------------------------
1 | // styles rewriting from '~@diplodoc/transform/dist/css/yfm.css'
2 |
3 | .g-root .yfm:not(.yfm_only-light) {
4 | --yfm-file-icon-color: var(--g-color-text-primary);
5 | }
6 |
--------------------------------------------------------------------------------
/src/extensions/markdown/Html/const.ts:
--------------------------------------------------------------------------------
1 | export enum HtmlNode {
2 | Block = 'html_block',
3 | Inline = 'html_inline',
4 | }
5 |
6 | export enum HtmlAttr {
7 | Content = 'html-content',
8 | }
9 |
--------------------------------------------------------------------------------
/src/extensions/yfm/ImgSize/plugins/ImgSizeNodeView/ImgNodeView.scss:
--------------------------------------------------------------------------------
1 | .g-md-img-size-node-view {
2 | &__wrapper {
3 | position: relative;
4 |
5 | display: inline-block;
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/i18n/gpt/extension/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "confirm-cancel": "Отменить",
3 | "confirm-ok": "Закрыть",
4 | "confirm-title": "Хотите закрыть помощника GPT?",
5 | "help-with-text": "Помощь с текстом"
6 | }
7 |
--------------------------------------------------------------------------------
/src/markup/codemirror/html-to-markdown/__tests__/fixtures/links/output.md:
--------------------------------------------------------------------------------
1 | Here's a [simple link](https://example.com/ "simple link").
2 |
3 | This link has [**bold text**](https://example.com/ "bold text").
--------------------------------------------------------------------------------
/src/i18n/gpt/errors/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "error-text": "An error occurred while generating a reply, please retry the request",
3 | "retry-button": "Try again",
4 | "start-again-button": "To the beginning"
5 | }
6 |
--------------------------------------------------------------------------------
/src/i18n/gpt/extension/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "confirm-cancel": "Cancel",
3 | "confirm-ok": "Close",
4 | "confirm-title": "Do you want to close the GPT editor?",
5 | "help-with-text": "Help with text"
6 | }
7 |
--------------------------------------------------------------------------------
/src/markup/codemirror/html-to-markdown/__tests__/fixtures/headers/input.html:
--------------------------------------------------------------------------------
1 | Main Title
2 | Some content.
3 | Subtitle
4 | More content.
5 | Section 3
6 | Section 4
--------------------------------------------------------------------------------
/src/modules/search/components/SearchCompactView.scss:
--------------------------------------------------------------------------------
1 | @use './constants' as const;
2 |
3 | .g-md-search-compact {
4 | display: flex;
5 | align-items: center;
6 |
7 | width: const.$width;
8 | }
9 |
--------------------------------------------------------------------------------
/demo/stories/ghost/ghostExtension/effects.ts:
--------------------------------------------------------------------------------
1 | import {StateEffect} from '#cm/state';
2 |
3 | export const ShowGhostPopupEffect = StateEffect.define();
4 | export const HideGhostPopupEffect = StateEffect.define();
5 |
--------------------------------------------------------------------------------
/src/markup/codemirror/html-to-markdown/__tests__/fixtures/links/input.html:
--------------------------------------------------------------------------------
1 | Here's a simple link.
2 | This link has bold text.
3 |
--------------------------------------------------------------------------------
/src/classname.ts:
--------------------------------------------------------------------------------
1 | import {withNaming} from '@bem-react/classname';
2 |
3 | export const cn = withNaming({n: 'g-md-', e: '__', m: '_', v: '_'});
4 |
5 | export interface ClassNameProps {
6 | className?: string;
7 | }
8 |
--------------------------------------------------------------------------------
/src/extensions/yfm/YfmFile/YfmFileWidget/view.scss:
--------------------------------------------------------------------------------
1 | .g-md-file-placeholder {
2 | margin: 0 4px;
3 |
4 | pointer-events: none;
5 |
6 | .yfm-file__icon {
7 | margin-right: 8px;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/view/hocs/withYfmHtml/types.ts:
--------------------------------------------------------------------------------
1 | import type {PluginOptions} from '@diplodoc/html-extension';
2 |
3 | export type {TransformMeta} from '../../types';
4 |
5 | export type PluginRuntime = PluginOptions['runtimeJsPath'];
6 |
--------------------------------------------------------------------------------
/src/extensions/additional/GPT/MarkupGpt/effects.ts:
--------------------------------------------------------------------------------
1 | import {StateEffect} from '../../../../cm/state';
2 |
3 | export const ShowMarkupGptEffect = StateEffect.define();
4 | export const HideMarkupGptEffect = StateEffect.define();
5 |
--------------------------------------------------------------------------------
/src/i18n/forms/index.ts:
--------------------------------------------------------------------------------
1 | import {registerKeyset} from '../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const KEYSET = 'forms';
7 |
8 | export const i18n = registerKeyset(KEYSET, {en, ru});
9 |
--------------------------------------------------------------------------------
/src/i18n/hints/index.ts:
--------------------------------------------------------------------------------
1 | import {registerKeyset} from '../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const KEYSET = 'hints';
7 |
8 | export const i18n = registerKeyset(KEYSET, {en, ru});
9 |
--------------------------------------------------------------------------------
/src/markdown-it/emoji.ts:
--------------------------------------------------------------------------------
1 | import emoji from 'markdown-it-emoji';
2 | import bare from 'markdown-it-emoji/bare.js';
3 | import light from 'markdown-it-emoji/light.js';
4 |
5 | export default emoji;
6 |
7 | export {bare, light};
8 |
--------------------------------------------------------------------------------
/src/markup/codemirror/html-to-markdown/__tests__/fixtures/formatting/output.md:
--------------------------------------------------------------------------------
1 | This text has **bold** and *italic* formatting.
2 |
3 | This text uses **bold** and *italic* tags.
4 |
5 | This text uses **CSS bold** and *CSS italic*.
--------------------------------------------------------------------------------
/src/extensions/yfm/Emoji/EmojiSuggest/types.ts:
--------------------------------------------------------------------------------
1 | export type EmojiDef = {
2 | symbol: string;
3 | name: string;
4 | origName: string;
5 | shortcuts?: readonly string[];
6 | origShortcuts?: readonly string[];
7 | };
8 |
--------------------------------------------------------------------------------
/src/extensions/yfm/YfmTable/plugins/YfmTableControls/nodeviews/yfm-table-view.scss:
--------------------------------------------------------------------------------
1 | .yfm table.g-md-yfm-table-view {
2 | --yfm-color-border: var(--g-color-line-generic);
3 | background: var(--g-color-base-background);
4 | }
5 |
--------------------------------------------------------------------------------
/src/i18n/bundle/index.ts:
--------------------------------------------------------------------------------
1 | import {registerKeyset} from '../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const KEYSET = 'bundle';
7 |
8 | export const i18n = registerKeyset(KEYSET, {en, ru});
9 |
--------------------------------------------------------------------------------
/src/i18n/common/index.ts:
--------------------------------------------------------------------------------
1 | import {registerKeyset} from '../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const KEYSET = 'common';
7 |
8 | export const i18n = registerKeyset(KEYSET, {en, ru});
9 |
--------------------------------------------------------------------------------
/src/i18n/gallery/index.ts:
--------------------------------------------------------------------------------
1 | import {registerKeyset} from '../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const KEYSET = 'gallery';
7 |
8 | export const i18n = registerKeyset(KEYSET, {en, ru});
9 |
--------------------------------------------------------------------------------
/src/i18n/md-hints/index.ts:
--------------------------------------------------------------------------------
1 | import {registerKeyset} from '../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const KEYSET = 'md-hints';
7 |
8 | export const i18n = registerKeyset(KEYSET, {en, ru});
9 |
--------------------------------------------------------------------------------
/src/i18n/menubar/index.ts:
--------------------------------------------------------------------------------
1 | import {registerKeyset} from '../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const KEYSET = 'menubar';
7 |
8 | export const i18n = registerKeyset(KEYSET, {en, ru});
9 |
--------------------------------------------------------------------------------
/src/i18n/search/index.ts:
--------------------------------------------------------------------------------
1 | import {registerKeyset} from '../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const KEYSET = 'search';
7 |
8 | export const i18n = registerKeyset(KEYSET, {en, ru});
9 |
--------------------------------------------------------------------------------
/src/i18n/suggest/index.ts:
--------------------------------------------------------------------------------
1 | import {registerKeyset} from '../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const KEYSET = 'suggest';
7 |
8 | export const i18n = registerKeyset(KEYSET, {en, ru});
9 |
--------------------------------------------------------------------------------
/src/i18n/widgets/index.ts:
--------------------------------------------------------------------------------
1 | import {registerKeyset} from '../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const KEYSET = 'widgets';
7 |
8 | export const i18n = registerKeyset(KEYSET, {en, ru});
9 |
--------------------------------------------------------------------------------
/src/i18n/yfm-note/index.ts:
--------------------------------------------------------------------------------
1 | import {registerKeyset} from '../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const KEYSET = 'yfm-note';
7 |
8 | export const i18n = registerKeyset(KEYSET, {en, ru});
9 |
--------------------------------------------------------------------------------
/src/markup/codemirror/html-to-markdown/__tests__/fixtures/links-with-formatting/output.md:
--------------------------------------------------------------------------------
1 | A link inside the *[span](https://example.com/ "span")*.
2 |
3 | [*Price markdown*](https://en.wikipedia.org/wiki/Price_markdown "Price markdown")
--------------------------------------------------------------------------------
/src/extensions/markdown/Deflist/DeflistSpecs/const.ts:
--------------------------------------------------------------------------------
1 | export enum DeflistNode {
2 | List = 'dl',
3 | Term = 'dt',
4 | Desc = 'dd',
5 | }
6 |
7 | export const DeflistAttr = {
8 | Line: 'data-line',
9 | } as const;
10 |
--------------------------------------------------------------------------------
/src/extensions/yfm/YfmFile/YfmFilePaste/skeleton.scss:
--------------------------------------------------------------------------------
1 | .g-md-file-skeleton {
2 | display: inline-flex;
3 | align-items: center;
4 |
5 | &__skeleton {
6 | width: 120px;
7 | height: 20px;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/i18n/codeblock/index.ts:
--------------------------------------------------------------------------------
1 | import {registerKeyset} from '../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const KEYSET = 'codeblock';
7 |
8 | export const i18n = registerKeyset(KEYSET, {en, ru});
9 |
--------------------------------------------------------------------------------
/src/i18n/empty-row/index.ts:
--------------------------------------------------------------------------------
1 | import {registerKeyset} from '../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const KEYSET = 'empty-row';
7 |
8 | export const i18n = registerKeyset(KEYSET, {en, ru});
9 |
--------------------------------------------------------------------------------
/src/i18n/math-hint/index.ts:
--------------------------------------------------------------------------------
1 | import {registerKeyset} from '../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const KEYSET = 'math-hint';
7 |
8 | export const i18n = registerKeyset(KEYSET, {en, ru});
9 |
--------------------------------------------------------------------------------
/src/i18n/yfm-block/index.ts:
--------------------------------------------------------------------------------
1 | import {registerKeyset} from '../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const KEYSET = 'yfm-block';
7 |
8 | export const i18n = registerKeyset(KEYSET, {en, ru});
9 |
--------------------------------------------------------------------------------
/src/i18n/yfm-layout/index.ts:
--------------------------------------------------------------------------------
1 | import {registerKeyset} from '../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const KEYSET = 'yfm-layout';
7 |
8 | export const i18n = registerKeyset(KEYSET, {en, ru});
9 |
--------------------------------------------------------------------------------
/src/i18n/yfm-table/index.ts:
--------------------------------------------------------------------------------
1 | import {registerKeyset} from '../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const KEYSET = 'yfm-table';
7 |
8 | export const i18n = registerKeyset(KEYSET, {en, ru});
9 |
--------------------------------------------------------------------------------
/src/plugins/index.ts:
--------------------------------------------------------------------------------
1 | export * as BaseTooltipPlugin from './BaseTooltip';
2 | /** @deprecated */
3 | export * as TooltipButtonPlugin from './TooltipButton';
4 | /** @deprecated */
5 | export * as TooltipSelectPlugin from './TooltipSelect';
6 |
--------------------------------------------------------------------------------
/src/styles/mixins.scss:
--------------------------------------------------------------------------------
1 | @mixin block-border-hover() {
2 | border: 1px dashed transparent;
3 | border-radius: var(--g-border-radius-s);
4 |
5 | &:hover {
6 | border-color: var(--g-color-line-generic);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/extensions/additional/FoldingHeading/commands/index.ts:
--------------------------------------------------------------------------------
1 | export * from './removeFoldingIfCursorAtStartOfHeading';
2 | export * from './toggleFoldingOfHeading';
3 | export * from './openHeadingAndCreateParagraphAfterIfCursorAtEndOfHeading';
4 |
--------------------------------------------------------------------------------
/src/i18n/placeholder/index.ts:
--------------------------------------------------------------------------------
1 | import {registerKeyset} from '../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const KEYSET = 'placeholder';
7 |
8 | export const i18n = registerKeyset(KEYSET, {en, ru});
9 |
--------------------------------------------------------------------------------
/src/extensions/additional/GPT/IconRefuge/IconRefuge.scss:
--------------------------------------------------------------------------------
1 | .icon-refuge {
2 | display: inline-flex;
3 | justify-content: center;
4 | align-items: center;
5 |
6 | &_inline {
7 | display: inline-flex;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/extensions/behavior/Search/search-plugin.scss:
--------------------------------------------------------------------------------
1 | .ProseMirror-search-match {
2 | background-color: var(--g-color-base-info-light);
3 | }
4 |
5 | .ProseMirror-active-search-match {
6 | background-color: var(--g-color-base-info-heavy);
7 | }
8 |
--------------------------------------------------------------------------------
/src/i18n/action-previews/index.ts:
--------------------------------------------------------------------------------
1 | import {registerKeyset} from '../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const KEYSET = 'action-previews';
7 |
8 | export const i18n = registerKeyset(KEYSET, {en, ru});
9 |
--------------------------------------------------------------------------------
/src/styles/_zindex.scss:
--------------------------------------------------------------------------------
1 | // so that cursor is always cursor:grabbing
2 | $dnd-cursor-back: 100500;
3 | // ghost for drag and drop. has to be always above other elements
4 | $dnd-ghost: 100499;
5 |
6 | $sticky-toolbar: 2000; // more than has popup
7 |
--------------------------------------------------------------------------------
/src/toolbar/index.ts:
--------------------------------------------------------------------------------
1 | export * from './const';
2 | export * from './types';
3 | export * from './Toolbar';
4 | export * from './ToolbarButton';
5 | export * from './ToolbarGroup';
6 | export * from './ToolbarListButton';
7 | export * from './FlexToolbar';
8 |
--------------------------------------------------------------------------------
/src/extensions/additional/FoldingHeading/FoldingHeadingSpec/const.ts:
--------------------------------------------------------------------------------
1 | import {TokenType as MdTokenType} from '@diplodoc/folding-headings-extension';
2 |
3 | export const TokenType = MdTokenType as Pick;
4 |
--------------------------------------------------------------------------------
/src/extensions/markdown/CodeBlock/const.ts:
--------------------------------------------------------------------------------
1 | import {codeBlockType} from './CodeBlockSpecs';
2 |
3 | export {codeBlockNodeName, CodeBlockNodeAttr as CodeBlockAttr} from './CodeBlockSpecs';
4 | export const cbAction = 'toCodeBlock';
5 | export {codeBlockType};
6 |
--------------------------------------------------------------------------------
/src/extensions/behavior/CommandMenu/types.ts:
--------------------------------------------------------------------------------
1 | import type {ActionStorage} from '../../../core';
2 | import type {ToolbarItemData} from '../../../toolbar';
3 |
4 | export type CommandAction = ToolbarItemData;
5 | export type Config = CommandAction[];
6 |
--------------------------------------------------------------------------------
/src/i18n/gpt/extension/index.ts:
--------------------------------------------------------------------------------
1 | import {registerKeyset} from '../../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | export const i18n = registerKeyset('gpt', {en, ru});
7 |
8 | export type I18nKey = Parameters[0];
9 |
--------------------------------------------------------------------------------
/src/i18n/gpt/dialog/index.ts:
--------------------------------------------------------------------------------
1 | import {registerKeyset} from '../../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | export const i18n = registerKeyset('gpt-dialog', {en, ru});
7 |
8 | export type I18nKey = Parameters[0];
9 |
--------------------------------------------------------------------------------
/src/i18n/yfm-block/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "align": "Alignment",
3 | "width": "Width (px)",
4 | "padding": "Paddings",
5 | "border": "Border type",
6 | "border-size": "Border size",
7 | "border-color": "Border color",
8 | "remove": "Remove block"
9 | }
10 |
--------------------------------------------------------------------------------
/src/i18n/yfm-block/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "align": "Выравнивание",
3 | "width": "Ширина (px)",
4 | "padding": "Отступы",
5 | "border": "Тип рамки",
6 | "border-size": "Размер рамки",
7 | "border-color": "Цвет рамки",
8 | "remove": "Удалить блок"
9 | }
10 |
--------------------------------------------------------------------------------
/src/i18n/common/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "cancel": "Cancel",
3 | "close": "Close",
4 | "delete": "Delete",
5 | "edit": "Edit",
6 | "preview": "Preview",
7 | "remove": "Remove",
8 | "save": "Save",
9 | "toolbar_action_disabled": "Incompatible markup element"
10 | }
--------------------------------------------------------------------------------
/src/markup/codemirror/html-to-markdown/__tests__/fixtures/lists/input.html:
--------------------------------------------------------------------------------
1 |
2 | - First item
3 | - Second item
4 | - Third item
5 |
6 |
7 | - Item A
8 | - Item B
9 | - Item C
10 |
--------------------------------------------------------------------------------
/src/toolbar/FlexToolbar.scss:
--------------------------------------------------------------------------------
1 | .g-md-flex-toolbar {
2 | position: relative;
3 |
4 | height: 28px;
5 |
6 | &__container {
7 | position: absolute;
8 | inset: 0;
9 |
10 | display: flex;
11 | gap: 0 8px;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/demo/stories/ghost/ghostExtension/index.ts:
--------------------------------------------------------------------------------
1 | import {GhostPopupPlugin} from './plugin';
2 |
3 | export {ghostPopupToolbarItem} from './toolbar';
4 | export {showGhostPopup, hideGhostPopup} from './commands';
5 |
6 | export const ghostPopupExtension = GhostPopupPlugin.extension;
7 |
--------------------------------------------------------------------------------
/src/extensions/markdown/Lists/const.ts:
--------------------------------------------------------------------------------
1 | export {ListNode} from './ListsSpecs';
2 |
3 | export enum ListAction {
4 | ToBulletList = 'toBulletList',
5 | ToOrderedList = 'toOrderedList',
6 | SinkListItem = 'sinkListItem',
7 | LiftListItem = 'liftListItem',
8 | }
9 |
--------------------------------------------------------------------------------
/src/modules/search/types.ts:
--------------------------------------------------------------------------------
1 | export type SearchState = {
2 | search: string;
3 | replace: string;
4 | caseSensitive: boolean;
5 | wholeWord: boolean;
6 | };
7 |
8 | export type SearchCounter = {
9 | current: number;
10 | total: number;
11 | };
12 |
--------------------------------------------------------------------------------
/src/extensions/additional/GPT/PresetList/Presetlist.scss:
--------------------------------------------------------------------------------
1 | .g-md-gpt-dialog-preset-list {
2 | &__preset + &__preset {
3 | margin-left: var(--g-spacing-2);
4 | }
5 |
6 | &__more-button-wrapper {
7 | margin-left: var(--g-spacing-2);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/i18n/gpt/errors/index.ts:
--------------------------------------------------------------------------------
1 | import {registerKeyset} from '../../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | export const i18n = registerKeyset('gpt-dialog-error-screen', {en, ru});
7 |
8 | export type I18nKey = Parameters[0];
9 |
--------------------------------------------------------------------------------
/src/i18n/gpt/loading/index.ts:
--------------------------------------------------------------------------------
1 | import {registerKeyset} from '../../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | export const i18n = registerKeyset('gpt-dialog-loading-screen', {en, ru});
7 |
8 | export type I18nKey = Parameters[0];
9 |
--------------------------------------------------------------------------------
/src/markup/codemirror/logger-facet.ts:
--------------------------------------------------------------------------------
1 | import {Facet} from '@codemirror/state';
2 |
3 | import type {Logger2} from '../../logger';
4 |
5 | export const LoggerFacet = Facet.define({
6 | combine: (value) => value[0],
7 | static: true,
8 | });
9 |
--------------------------------------------------------------------------------
/src/markup/commands/math.ts:
--------------------------------------------------------------------------------
1 | import {inlineWrapTo, wrapToBlock} from './helpers';
2 |
3 | export const wrapToMathInline = inlineWrapTo('$');
4 | export const wrapToMathBlock = wrapToBlock(
5 | ({lineBreak}) => '$$' + lineBreak,
6 | ({lineBreak}) => lineBreak + '$$',
7 | );
8 |
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Full-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Full-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Full-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Full-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-YFM-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-YFM-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-YFM-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-YFM-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-YFM-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-YFM-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Zero-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Zero-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Zero-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Zero-light-webkit-linux.png
--------------------------------------------------------------------------------
/src/extensions/base/BaseInputRules/index.ts:
--------------------------------------------------------------------------------
1 | import {ellipsis} from 'prosemirror-inputrules';
2 |
3 | import type {ExtensionAuto} from '../../../core';
4 |
5 | export const BaseInputRules: ExtensionAuto = (builder) => {
6 | builder.addInputRules(() => ({rules: [ellipsis]}));
7 | };
8 |
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Custom-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Custom-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Custom-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Custom-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Default-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Default-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Full-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Full-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Full-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Full-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-YFM-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-YFM-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Zero-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Zero-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Zero-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Zero-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/view/hocs/withLatex/types.ts:
--------------------------------------------------------------------------------
1 | export type {TransformMeta} from '../../types';
2 |
3 | // TODO: import runtime type from @diplodoc/latex-extension
4 | export type PluginRuntime =
5 | | string
6 | | {
7 | script: string;
8 | style: string;
9 | };
10 |
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Custom-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Custom-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Custom-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Custom-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Default-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Default-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Default-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Default-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Default-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Default-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Cut-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Cut-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Cut-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Cut-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-File-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-File-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-HTML-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-HTML-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Tabs-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Tabs-dark-webkit-linux.png
--------------------------------------------------------------------------------
/.github/workflows/pr-preview-build.yml:
--------------------------------------------------------------------------------
1 | name: PR Preview Build
2 |
3 | on:
4 | pull_request:
5 |
6 | jobs:
7 | build:
8 | name: Build
9 | runs-on: ubuntu-latest
10 | steps:
11 | - uses: gravity-ui/preview-build-action@v2
12 | with:
13 | node-version: 24
14 |
--------------------------------------------------------------------------------
/src/extensions/markdown/CodeBlock/CodeBlockHighlight/CodeBlockHighlight.scss:
--------------------------------------------------------------------------------
1 | .yfm.ProseMirror .hljs.show-line-numbers {
2 | display: flex;
3 |
4 | white-space: pre;
5 | }
6 |
7 | .yfm.ProseMirror pre > code > .yfm-line-numbers > .yfm-line-number {
8 | display: block;
9 | }
10 |
--------------------------------------------------------------------------------
/src/i18n/common/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "cancel": "Отмена",
3 | "close": "Закрыть",
4 | "delete": "Удалить",
5 | "edit": "Редактировать",
6 | "preview": "Предпросмотр",
7 | "remove": "Удалить",
8 | "save": "Сохранить",
9 | "toolbar_action_disabled": "Несовместимый элемент разметки"
10 | }
--------------------------------------------------------------------------------
/src/table-utils/index.ts:
--------------------------------------------------------------------------------
1 | export * from './commands';
2 | export * from './const';
3 | export * from './utils';
4 |
5 | import type {TableRole} from './const';
6 |
7 | declare module 'prosemirror-model' {
8 | interface NodeSpec {
9 | tableRole?: TableRole;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Common-Mark-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Common-Mark-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Common-Mark-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Common-Mark-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-Task-lists-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-Task-lists-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Cut-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Cut-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Cut-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Cut-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-File-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-File-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-File-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-File-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-HTML-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-HTML-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-HTML-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-HTML-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Notes-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Notes-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Notes-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Notes-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Table-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Table-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Table-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Table-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Tabs-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Tabs-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Tabs-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Tabs-light-webkit-linux.png
--------------------------------------------------------------------------------
/src/markup/codemirror/files-upload-plugin/effects.ts:
--------------------------------------------------------------------------------
1 | import {StateEffect} from '@codemirror/state';
2 |
3 | export const AddUploadWidgetEffect = StateEffect.define<{files: ArrayLike; pos: number}>();
4 | export const RemoveUploadWidgetEffect = StateEffect.define<{id: string; markup?: string}>();
5 |
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Common-Mark-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Common-Mark-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Common-Mark-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Presets.visual.test.tsx-snapshots/Extensions-Presets-Common-Mark-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-Task-lists-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-Task-lists-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-Task-lists-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-Task-lists-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-Task-lists-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-Task-lists-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-File-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-File-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-HTML-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-HTML-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Notes-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Notes-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Notes-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Notes-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Table-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Table-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Table-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Table-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Tabs-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-YFM-Tabs-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/markup/codemirror/html-to-markdown/__tests__/fixtures/tables/output.md:
--------------------------------------------------------------------------------
1 | #|
2 | ||
3 | Formatting
4 | |
5 | Windows Shortcut
6 | |
7 | Mac OS Shortcut
8 | ||
9 | ||
10 | Bold text
11 | |
12 | Ctrl + B
13 | |
14 | ⌘ + B
15 | ||
16 | ||
17 | Italic
18 | |
19 | Ctrl + I
20 | |
21 | ⌘ + I
22 | ||
23 | |#
--------------------------------------------------------------------------------
/src/modules/search/components/SearchCardView.scss:
--------------------------------------------------------------------------------
1 | @use './constants' as const;
2 |
3 | .g-md-search-card {
4 | $b: &;
5 |
6 | width: const.$width;
7 |
8 | &__row#{$b}__row {
9 | --gc-form-row-label-width: 86px;
10 | --gc-form-row-field-height: 36px;
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Code-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Code-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Code-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Code-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Links-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Links-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Lists-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Lists-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-LaTeX-Formulas-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-LaTeX-Formulas-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-LaTeX-Formulas-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-LaTeX-Formulas-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-Mermaid-diagram-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-Mermaid-diagram-dark-webkit-linux.png
--------------------------------------------------------------------------------
/src/markup/codemirror/react-facet.ts:
--------------------------------------------------------------------------------
1 | import {Facet} from '@codemirror/state';
2 |
3 | import type {ReactRenderStorage} from '../../extensions';
4 |
5 | export const ReactRendererFacet = Facet.define({
6 | combine: (value) => value[0],
7 | static: true,
8 | });
9 |
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Cut.visual.test.tsx-snapshots/Cut-specific-should-open-second-cut-wysiwyg-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Cut.visual.test.tsx-snapshots/Cut-specific-should-open-second-cut-wysiwyg-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Code-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Code-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Code-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Code-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Emojis-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Emojis-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Emojis-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Emojis-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Emojis-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Emojis-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Emphasis-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Emphasis-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Heading-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Heading-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Heading-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Heading-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Images-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Images-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Images-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Images-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Images-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Images-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Links-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Links-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Links-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Links-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Links-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Links-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Lists-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Lists-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Lists-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Lists-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Lists-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Lists-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Tables-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Tables-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Tables-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Tables-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Tables-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Tables-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-Folding-Headings-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-Folding-Headings-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-Folding-Headings-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-Folding-Headings-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-Folding-Headings-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-Folding-Headings-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-LaTeX-Formulas-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-LaTeX-Formulas-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-LaTeX-Formulas-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-LaTeX-Formulas-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-Mermaid-diagram-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-Mermaid-diagram-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-Mermaid-diagram-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-Mermaid-diagram-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-Mermaid-diagram-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-Mermaid-diagram-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-cell-menu-wysiwyg-row-menu-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-cell-menu-wysiwyg-row-menu-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-cell-menu-wysiwyg-row-menu-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-cell-menu-wysiwyg-row-menu-light-chromium-linux.png
--------------------------------------------------------------------------------
/demo/stories/editor-in-editor/EditorInEditorExtension/index.scss:
--------------------------------------------------------------------------------
1 | .__editor-in-editor {
2 | margin-bottom: 15px;
3 | padding: 4px;
4 |
5 | border-width: 1px;
6 | border-style: dashed;
7 | border-color: var(--g-color-line-generic);
8 | border-radius: var(--g-border-radius-s);
9 | }
10 |
--------------------------------------------------------------------------------
/src/extensions/additional/Math/index.scss:
--------------------------------------------------------------------------------
1 | .math-inline {
2 | font-family: var(--g-font-family-monospace);
3 |
4 | color: var(--g-color-text-complementary);
5 | background-color: var(--g-color-base-misc-light);
6 |
7 | &__sharp {
8 | color: var(--g-color-text-hint);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/extensions/yfm/YfmNote/YfmNoteSpecs/const.ts:
--------------------------------------------------------------------------------
1 | export enum NoteNode {
2 | Note = 'yfm_note',
3 | NoteTitle = 'yfm_note_title',
4 | NoteContent = 'yfm_note_content',
5 | }
6 |
7 | export enum NoteAttrs {
8 | Class = 'class',
9 | Type = 'note-type',
10 | Line = 'data-line',
11 | }
12 |
--------------------------------------------------------------------------------
/src/react-utils/index.ts:
--------------------------------------------------------------------------------
1 | export * from './ErrorBoundary';
2 | export * from './hooks';
3 | export * from './react-node-view';
4 | export * from './useNodeEditing';
5 | export * from './useNodeHovered';
6 | export * from './useSharedEditingState';
7 | export * from './useSticky';
8 | export * from './useTargetZIndex';
9 |
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Cut.visual.test.tsx-snapshots/Cut-specific-should-open-second-cut-wysiwyg-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Cut.visual.test.tsx-snapshots/Cut-specific-should-open-second-cut-wysiwyg-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Cut.visual.test.tsx-snapshots/Cut-specific-should-open-second-cut-wysiwyg-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Cut.visual.test.tsx-snapshots/Cut-specific-should-open-second-cut-wysiwyg-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Emojis-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Emojis-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Emphasis-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Emphasis-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Emphasis-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Emphasis-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Heading-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Heading-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Heading-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Heading-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Images-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Images-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Tables-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Tables-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-Folding-Headings-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmExtensions.visual.test.tsx-snapshots/Extensions-YFM-Folding-Headings-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-cell-menu-wysiwyg-column-menu-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-cell-menu-wysiwyg-column-menu-dark-chromium-linux.png
--------------------------------------------------------------------------------
/demo/stories/gpt/GPT.stories.tsx:
--------------------------------------------------------------------------------
1 | import type {StoryObj} from '@storybook/react';
2 |
3 | import {GPT as component} from './GPT';
4 |
5 | export const Story: StoryObj = {};
6 | Story.storyName = 'GPT';
7 |
8 | export default {
9 | title: 'Experiments / GPT',
10 | component,
11 | };
12 |
--------------------------------------------------------------------------------
/src/forms/ImageForm.scss:
--------------------------------------------------------------------------------
1 | .g-md-image-form {
2 | &__input {
3 | &_type_width,
4 | &_type_height {
5 | max-width: 112px;
6 | }
7 | }
8 |
9 | &__size-controls {
10 | display: flex;
11 | align-items: center;
12 | gap: 0 16px;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Cut.visual.test.tsx-snapshots/Cut-specific-should-open-second-cut-wysiwyg-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Cut.visual.test.tsx-snapshots/Cut-specific-should-open-second-cut-wysiwyg-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/File.visual.test.tsx-snapshots/File-insert-should-insert-via-toolbar-wysiwyg-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/File.visual.test.tsx-snapshots/File-insert-should-insert-via-toolbar-wysiwyg-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/File.visual.test.tsx-snapshots/File-insert-should-insert-via-toolbar-wysiwyg-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/File.visual.test.tsx-snapshots/File-insert-should-insert-via-toolbar-wysiwyg-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/File.visual.test.tsx-snapshots/File-insert-should-insert-via-toolbar-wysiwyg-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/File.visual.test.tsx-snapshots/File-insert-should-insert-via-toolbar-wysiwyg-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Blockquotes-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Blockquotes-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Blockquotes-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Blockquotes-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Blockquotes-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Blockquotes-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Emphasis-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Emphasis-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-cell-menu-wysiwyg-column-menu-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-cell-menu-wysiwyg-column-menu-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/File.visual.test.tsx-snapshots/File-insert-should-insert-via-toolbar-wysiwyg-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/File.visual.test.tsx-snapshots/File-insert-should-insert-via-toolbar-wysiwyg-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Image.visual.test.tsx-snapshots/Images-insert-should-insert-via-toolbar-wysiwyg-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Image.visual.test.tsx-snapshots/Images-insert-should-insert-via-toolbar-wysiwyg-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Image.visual.test.tsx-snapshots/Images-insert-should-insert-via-toolbar-wysiwyg-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Image.visual.test.tsx-snapshots/Images-insert-should-insert-via-toolbar-wysiwyg-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Blockquotes-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Blockquotes-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Definition-list-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Definition-list-dark-webkit-linux.png
--------------------------------------------------------------------------------
/src/bundle/config/previews/ActionPreview.tsx:
--------------------------------------------------------------------------------
1 | import {cn} from '../../../classname';
2 |
3 | import './ActionPreview.scss';
4 |
5 | const b = cn('action-preview');
6 |
7 | export const ActionPreview = ({children}: {children: React.ReactNode}) => {
8 | return {children}
;
9 | };
10 |
--------------------------------------------------------------------------------
/src/extensions/markdown/Table/plugins/TableCellContextPlugin/floating.scss:
--------------------------------------------------------------------------------
1 | .table-cell-floating-button.g-button {
2 | height: 28px;
3 |
4 | line-height: 28px;
5 |
6 | .g-button__icon {
7 | width: 12px;
8 | }
9 | }
10 |
11 | .table-cell-floating-icon {
12 | transform: rotate(90deg);
13 | }
14 |
--------------------------------------------------------------------------------
/src/toolbar/Toolbar.scss:
--------------------------------------------------------------------------------
1 | .g-md-toolbar {
2 | display: flex;
3 |
4 | &__group-separator {
5 | margin: 6px 8px;
6 |
7 | border-left: 1px solid var(--g-color-line-generic);
8 | }
9 |
10 | &_display {
11 | &_scroll {
12 | overflow: auto;
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Cut.visual.test.tsx-snapshots/Cut-specific-should-open-second-cut-in-preview-markup-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Cut.visual.test.tsx-snapshots/Cut-specific-should-open-second-cut-in-preview-markup-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Image.visual.test.tsx-snapshots/Images-insert-should-insert-via-toolbar-wysiwyg-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Image.visual.test.tsx-snapshots/Images-insert-should-insert-via-toolbar-wysiwyg-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Image.visual.test.tsx-snapshots/Images-insert-should-insert-via-toolbar-wysiwyg-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Image.visual.test.tsx-snapshots/Images-insert-should-insert-via-toolbar-wysiwyg-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Image.visual.test.tsx-snapshots/Images-specific-should-change-image-size-wysiwyg-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Image.visual.test.tsx-snapshots/Images-specific-should-change-image-size-wysiwyg-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Image.visual.test.tsx-snapshots/Images-specific-should-change-image-size-wysiwyg-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Image.visual.test.tsx-snapshots/Images-specific-should-change-image-size-wysiwyg-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Bullet-lists-specific-should-lift-list-item-wysiwyg-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Bullet-lists-specific-should-lift-list-item-wysiwyg-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Bullet-lists-specific-should-sink-list-item-markup-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Bullet-lists-specific-should-sink-list-item-markup-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Bullet-lists-specific-should-sink-list-item-markup-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Bullet-lists-specific-should-sink-list-item-markup-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Bullet-lists-specific-should-sink-list-item-wysiwyg-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Bullet-lists-specific-should-sink-list-item-wysiwyg-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Ordered-lists-specific-should-sink-list-item-markup-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Ordered-lists-specific-should-sink-list-item-markup-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Definition-list-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Definition-list-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Definition-list-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Definition-list-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Definition-list-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Definition-list-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Horizontal-Rules-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Horizontal-Rules-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Horizontal-Rules-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Horizontal-Rules-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Horizontal-Rules-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Horizontal-Rules-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Colorify.visual.test.tsx-snapshots/Colorify-specific-should-escape-parentheses-markup-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Colorify.visual.test.tsx-snapshots/Colorify-specific-should-escape-parentheses-markup-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Cut.visual.test.tsx-snapshots/Cut-specific-should-cut-inside-open-second-cut-wysiwyg-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Cut.visual.test.tsx-snapshots/Cut-specific-should-cut-inside-open-second-cut-wysiwyg-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Cut.visual.test.tsx-snapshots/Cut-specific-should-cut-inside-open-second-cut-wysiwyg-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Cut.visual.test.tsx-snapshots/Cut-specific-should-cut-inside-open-second-cut-wysiwyg-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Cut.visual.test.tsx-snapshots/Cut-specific-should-open-second-cut-in-preview-markup-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Cut.visual.test.tsx-snapshots/Cut-specific-should-open-second-cut-in-preview-markup-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Cut.visual.test.tsx-snapshots/Cut-specific-should-open-second-cut-in-preview-markup-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Cut.visual.test.tsx-snapshots/Cut-specific-should-open-second-cut-in-preview-markup-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Bullet-lists-specific-should-lift-list-item-wysiwyg-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Bullet-lists-specific-should-lift-list-item-wysiwyg-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Bullet-lists-specific-should-lift-list-item-wysiwyg-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Bullet-lists-specific-should-lift-list-item-wysiwyg-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Bullet-lists-specific-should-sink-list-item-markup-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Bullet-lists-specific-should-sink-list-item-markup-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Bullet-lists-specific-should-sink-list-item-markup-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Bullet-lists-specific-should-sink-list-item-markup-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Bullet-lists-specific-should-sink-list-item-wysiwyg-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Bullet-lists-specific-should-sink-list-item-wysiwyg-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Bullet-lists-specific-should-sink-list-item-wysiwyg-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Bullet-lists-specific-should-sink-list-item-wysiwyg-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Ordered-lists-specific-should-lift-list-item-wysiwyg-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Ordered-lists-specific-should-lift-list-item-wysiwyg-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Ordered-lists-specific-should-lift-list-item-wysiwyg-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Ordered-lists-specific-should-lift-list-item-wysiwyg-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Ordered-lists-specific-should-sink-list-item-markup-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Ordered-lists-specific-should-sink-list-item-markup-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Ordered-lists-specific-should-sink-list-item-markup-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Ordered-lists-specific-should-sink-list-item-markup-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Ordered-lists-specific-should-sink-list-item-wysiwyg-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Ordered-lists-specific-should-sink-list-item-wysiwyg-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Ordered-lists-specific-should-sink-list-item-wysiwyg-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Ordered-lists-specific-should-sink-list-item-wysiwyg-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Horizontal-Rules-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Horizontal-Rules-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/extensions/additional/Math/const.ts:
--------------------------------------------------------------------------------
1 | export * from './MathSpecs/const';
2 | export {mathBType, mathIType} from './MathSpecs';
3 |
4 | export const LATEX_MODES = new Set([
5 | 'tex',
6 | 'latex',
7 | 'bibtex',
8 | 'doctex',
9 | 'latex-expl3',
10 | 'pweave',
11 | 'jlweave',
12 | 'rsweave',
13 | ]);
14 |
--------------------------------------------------------------------------------
/src/extensions/yfm/Color/const.ts:
--------------------------------------------------------------------------------
1 | export * from './ColorSpecs/const';
2 |
3 | export const colorAction = 'colorify';
4 |
5 | export enum Colors {
6 | Gray = 'gray',
7 | Yellow = 'yellow',
8 | Orange = 'orange',
9 | Red = 'red',
10 | Green = 'green',
11 | Blue = 'blue',
12 | Violet = 'violet',
13 | }
14 |
--------------------------------------------------------------------------------
/src/extensions/yfm/YfmTable/YfmTableSpecs/const.ts:
--------------------------------------------------------------------------------
1 | export enum YfmTableNode {
2 | Table = 'yfm_table',
3 | Body = 'yfm_tbody',
4 | Row = 'yfm_tr',
5 | Cell = 'yfm_td',
6 | }
7 |
8 | export enum YfmTableAttr {
9 | Colspan = 'colspan',
10 | Rowspan = 'rowspan',
11 | CellAlign = 'data-cell-align',
12 | }
13 |
--------------------------------------------------------------------------------
/src/markup/codemirror/html-to-markdown/__tests__/fixtures/formatting/input.html:
--------------------------------------------------------------------------------
1 | This text has bold and italic formatting.
2 | This text uses bold and italic tags.
3 | This text uses CSS bold and CSS italic.
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-MARKUP-mode-should-reindent-pasted-markup-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-MARKUP-mode-should-reindent-pasted-markup-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-MARKUP-mode-should-reindent-pasted-markup-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-MARKUP-mode-should-reindent-pasted-markup-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Colorify.visual.test.tsx-snapshots/Colorify-specific-should-escape-parentheses-markup-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Colorify.visual.test.tsx-snapshots/Colorify-specific-should-escape-parentheses-markup-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Colorify.visual.test.tsx-snapshots/Colorify-specific-should-escape-parentheses-markup-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Colorify.visual.test.tsx-snapshots/Colorify-specific-should-escape-parentheses-markup-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Colorify.visual.test.tsx-snapshots/Colorify-specific-should-escape-parentheses-markup-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Colorify.visual.test.tsx-snapshots/Colorify-specific-should-escape-parentheses-markup-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Colorify.visual.test.tsx-snapshots/Colorify-specific-should-escape-parentheses-wysiwyg-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Colorify.visual.test.tsx-snapshots/Colorify-specific-should-escape-parentheses-wysiwyg-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Colorify.visual.test.tsx-snapshots/Colorify-specific-should-escape-parentheses-wysiwyg-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Colorify.visual.test.tsx-snapshots/Colorify-specific-should-escape-parentheses-wysiwyg-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Colorify.visual.test.tsx-snapshots/Colorify-specific-should-escape-parentheses-wysiwyg-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Colorify.visual.test.tsx-snapshots/Colorify-specific-should-escape-parentheses-wysiwyg-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Cut.visual.test.tsx-snapshots/Cut-specific-should-cut-inside-open-second-cut-wysiwyg-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Cut.visual.test.tsx-snapshots/Cut-specific-should-cut-inside-open-second-cut-wysiwyg-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Cut.visual.test.tsx-snapshots/Cut-specific-should-cut-inside-open-second-cut-wysiwyg-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Cut.visual.test.tsx-snapshots/Cut-specific-should-cut-inside-open-second-cut-wysiwyg-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Cut.visual.test.tsx-snapshots/Cut-specific-should-open-second-cut-in-preview-markup-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Cut.visual.test.tsx-snapshots/Cut-specific-should-open-second-cut-in-preview-markup-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Bullet-lists-specific-should-lift-list-item-wysiwyg-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Bullet-lists-specific-should-lift-list-item-wysiwyg-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Bullet-lists-specific-should-sink-list-item-wysiwyg-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Bullet-lists-specific-should-sink-list-item-wysiwyg-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Ordered-lists-specific-should-lift-list-item-wysiwyg-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Ordered-lists-specific-should-lift-list-item-wysiwyg-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Ordered-lists-specific-should-lift-list-item-wysiwyg-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Ordered-lists-specific-should-lift-list-item-wysiwyg-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Ordered-lists-specific-should-sink-list-item-markup-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Ordered-lists-specific-should-sink-list-item-markup-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Ordered-lists-specific-should-sink-list-item-wysiwyg-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Ordered-lists-specific-should-sink-list-item-wysiwyg-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Ordered-lists-specific-should-sink-list-item-wysiwyg-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Lists.visual.test.tsx-snapshots/Ordered-lists-specific-should-sink-list-item-wysiwyg-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Subscript-Superscript-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Subscript-Superscript-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Subscript-Superscript-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Subscript-Superscript-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Subscript-Superscript-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Subscript-Superscript-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-MARKUP-mode-should-reindent-pasted-markup-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-MARKUP-mode-should-reindent-pasted-markup-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-MARKUP-mode-should-reindent-pasted-markup-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-MARKUP-mode-should-reindent-pasted-markup-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-Paste-HTML-should-parse-HTML-in-markup-mode-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-Paste-HTML-should-parse-HTML-in-markup-mode-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-Paste-HTML-should-parse-HTML-in-markup-mode-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-Paste-HTML-should-parse-HTML-in-markup-mode-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-Paste-HTML-should-parse-HTML-in-wysiwyg-mode-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-Paste-HTML-should-parse-HTML-in-wysiwyg-mode-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Colorify.visual.test.tsx-snapshots/Colorify-specific-should-escape-parentheses-wysiwyg-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Colorify.visual.test.tsx-snapshots/Colorify-specific-should-escape-parentheses-wysiwyg-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Link.visual.test.tsx-snapshots/Link-specific-should-open-edit-popup-on-link-click-wysiwyg-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Link.visual.test.tsx-snapshots/Link-specific-should-open-edit-popup-on-link-click-wysiwyg-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Link.visual.test.tsx-snapshots/Link-specific-should-open-edit-popup-on-link-click-wysiwyg-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Link.visual.test.tsx-snapshots/Link-specific-should-open-edit-popup-on-link-click-wysiwyg-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Subscript-Superscript-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/MarkdownExtensions.visual.test.tsx-snapshots/Extensions-Markdown-Subscript-Superscript-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-actions-at-small-width-width-large-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-actions-at-small-width-width-large-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-actions-at-small-width-width-medium-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-actions-at-small-width-width-medium-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-actions-at-small-width-width-small-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-actions-at-small-width-width-small-light-webkit-linux.png
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | indent_style = space
5 | indent_size = 4
6 | end_of_line = lf
7 | charset = utf-8
8 | trim_trailing_whitespace = true
9 | insert_final_newline = true
10 |
11 | [{*.json,*.yml,*.md}]
12 | indent_style = space
13 | indent_size = 2
14 |
15 | [GNUmakefile]
16 | indent_style = tab
17 | indent_size = 4
18 |
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-Paste-HTML-should-parse-HTML-in-markup-mode-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-Paste-HTML-should-parse-HTML-in-markup-mode-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-Paste-HTML-should-parse-HTML-in-markup-mode-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-Paste-HTML-should-parse-HTML-in-markup-mode-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-Paste-HTML-should-parse-HTML-in-wysiwyg-mode-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-Paste-HTML-should-parse-HTML-in-wysiwyg-mode-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-Paste-HTML-should-parse-HTML-in-wysiwyg-mode-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-Paste-HTML-should-parse-HTML-in-wysiwyg-mode-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-Paste-HTML-should-parse-HTML-in-wysiwyg-mode-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-Paste-HTML-should-parse-HTML-in-wysiwyg-mode-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-parse-markdown-markup-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-parse-markdown-markup-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Image.visual.test.tsx-snapshots/Images-specific-should-change-image-size-wysiwyg-edit-popup-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Image.visual.test.tsx-snapshots/Images-specific-should-change-image-size-wysiwyg-edit-popup-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Link.visual.test.tsx-snapshots/Link-specific-should-open-edit-popup-on-link-click-wysiwyg-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Link.visual.test.tsx-snapshots/Link-specific-should-open-edit-popup-on-link-click-wysiwyg-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Link.visual.test.tsx-snapshots/Link-specific-should-open-edit-popup-on-link-click-wysiwyg-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Link.visual.test.tsx-snapshots/Link-specific-should-open-edit-popup-on-link-click-wysiwyg-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-actions-at-small-width-width-large-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-actions-at-small-width-width-large-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-actions-at-small-width-width-medium-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-actions-at-small-width-width-medium-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-actions-at-small-width-width-small-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-actions-at-small-width-width-small-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-all-actions-to-more-menu-in-markup-mode-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-all-actions-to-more-menu-in-markup-mode-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-insert-should-insert-via-toolbar-in-markup-mode-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-insert-should-insert-via-toolbar-in-markup-mode-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-insert-should-insert-via-toolbar-in-markup-mode-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-insert-should-insert-via-toolbar-in-markup-mode-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-insert-should-insert-via-toolbar-in-markup-mode-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-insert-should-insert-via-toolbar-in-markup-mode-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-insert-should-insert-via-toolbar-in-wysiwyg-mode-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-insert-should-insert-via-toolbar-in-wysiwyg-mode-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-insert-should-insert-via-toolbar-in-wysiwyg-mode-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-insert-should-insert-via-toolbar-in-wysiwyg-mode-light-webkit-linux.png
--------------------------------------------------------------------------------
/src/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "extends": ["@gravity-ui/eslint-config/client", "plugin:react/jsx-runtime"],
3 | "overrides": [{
4 | "files": ["*"],
5 | "rules": {
6 | "new-cap": [2, { "capIsNew": false }],
7 | "@typescript-eslint/no-namespace": [2, { "allowDeclarations": true }]
8 | }
9 | }]
10 | }
11 |
--------------------------------------------------------------------------------
/src/extensions/markdown/Heading/const.ts:
--------------------------------------------------------------------------------
1 | export {headingNodeName, headingLevelAttr} from './HeadingSpecs';
2 |
3 | export type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
4 |
5 | export enum HeadingAction {
6 | ToH1 = 'toH1',
7 | ToH2 = 'toH2',
8 | ToH3 = 'toH3',
9 | ToH4 = 'toH4',
10 | ToH5 = 'toH5',
11 | ToH6 = 'toH6',
12 | }
13 |
--------------------------------------------------------------------------------
/src/extensions/yfm/YfmNote/YfmNoteSpecs/utils.ts:
--------------------------------------------------------------------------------
1 | import {nodeTypeFactory} from '../../../../utils/schema';
2 |
3 | import {NoteNode} from './const';
4 |
5 | export const noteType = nodeTypeFactory(NoteNode.Note);
6 | export const noteTitleType = nodeTypeFactory(NoteNode.NoteTitle);
7 | export const noteContentType = nodeTypeFactory(NoteNode.NoteContent);
8 |
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-parse-markdown-markup-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-parse-markdown-markup-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-parse-markdown-markup-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-parse-markdown-markup-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/File.visual.test.tsx-snapshots/File-mode-switch-should-remain-after-mode-switch-wysiwyg-markup-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/File.visual.test.tsx-snapshots/File-mode-switch-should-remain-after-mode-switch-wysiwyg-markup-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/File.visual.test.tsx-snapshots/File-mode-switch-should-remain-after-mode-switch-wysiwyg-markup-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/File.visual.test.tsx-snapshots/File-mode-switch-should-remain-after-mode-switch-wysiwyg-markup-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Image.visual.test.tsx-snapshots/Images-specific-should-change-image-size-wysiwyg-edit-popup-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Image.visual.test.tsx-snapshots/Images-specific-should-change-image-size-wysiwyg-edit-popup-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-all-actions-to-more-menu-in-markup-mode-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-all-actions-to-more-menu-in-markup-mode-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-all-actions-to-more-menu-in-markup-mode-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-all-actions-to-more-menu-in-markup-mode-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-all-actions-to-more-menu-in-wysiwyg-mode-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-all-actions-to-more-menu-in-wysiwyg-mode-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-all-actions-to-more-menu-in-wysiwyg-mode-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-all-actions-to-more-menu-in-wysiwyg-mode-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-insert-should-insert-via-toolbar-in-markup-mode-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-insert-should-insert-via-toolbar-in-markup-mode-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-insert-should-insert-via-toolbar-in-wysiwyg-mode-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-insert-should-insert-via-toolbar-in-wysiwyg-mode-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-insert-should-insert-via-toolbar-in-wysiwyg-mode-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-insert-should-insert-via-toolbar-in-wysiwyg-mode-light-chromium-linux.png
--------------------------------------------------------------------------------
/demo/stories/ghost/Ghost.stories.tsx:
--------------------------------------------------------------------------------
1 | import type {StoryObj} from '@storybook/react';
2 |
3 | import {Ghost as component} from './Ghost';
4 |
5 | export const Story: StoryObj = {};
6 | Story.storyName = 'Popup in markup mode';
7 |
8 | export default {
9 | title: 'Experiments / Popup in markup mode',
10 | component,
11 | };
12 |
--------------------------------------------------------------------------------
/demo/stories/quoteLink/quoteLink.stories.ts:
--------------------------------------------------------------------------------
1 | import type {StoryObj} from '@storybook/react';
2 |
3 | import {QuoteLink as component} from './QuoteLink';
4 |
5 | export const Story: StoryObj = {};
6 | Story.storyName = 'QuoteLink';
7 |
8 | export default {
9 | title: 'Extensions / YFM / QuoteLink',
10 | component,
11 | };
12 |
--------------------------------------------------------------------------------
/src/bundle/context.ts:
--------------------------------------------------------------------------------
1 | import {createContext, useContext} from 'react';
2 |
3 | import type {Editor} from './Editor';
4 |
5 | const EditorContext = createContext(null);
6 |
7 | export const MarkdownEditorProvider = EditorContext.Provider;
8 | export function useMarkdownEditorContext() {
9 | return useContext(EditorContext);
10 | }
11 |
--------------------------------------------------------------------------------
/src/extensions/additional/Math/MathSpecs/const.ts:
--------------------------------------------------------------------------------
1 | export enum MathNode {
2 | Inline = 'math_inline',
3 | Block = 'math_display',
4 | }
5 |
6 | export const CLASSNAMES = {
7 | Inline: {
8 | Container: 'math-inline',
9 | Sharp: 'math-inline__sharp',
10 | Content: 'math-inline__content',
11 | },
12 | } as const;
13 |
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-parse-markdown-markup-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-parse-markdown-markup-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/File.visual.test.tsx-snapshots/File-mode-switch-should-remain-after-mode-switch-wysiwyg-markup-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/File.visual.test.tsx-snapshots/File-mode-switch-should-remain-after-mode-switch-wysiwyg-markup-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/File.visual.test.tsx-snapshots/File-mode-switch-should-remain-after-mode-switch-wysiwyg-markup-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/File.visual.test.tsx-snapshots/File-mode-switch-should-remain-after-mode-switch-wysiwyg-markup-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Image.visual.test.tsx-snapshots/Images-mode-switch-should-remain-after-mode-switch-wysiwyg-markup-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Image.visual.test.tsx-snapshots/Images-mode-switch-should-remain-after-mode-switch-wysiwyg-markup-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Image.visual.test.tsx-snapshots/Images-mode-switch-should-remain-after-mode-switch-wysiwyg-markup-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Image.visual.test.tsx-snapshots/Images-mode-switch-should-remain-after-mode-switch-wysiwyg-markup-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-actions-at-small-width-markup-width-small-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-actions-at-small-width-markup-width-small-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-actions-at-small-width-markup-width-small-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-actions-at-small-width-markup-width-small-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-all-actions-to-more-menu-in-markup-mode-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-all-actions-to-more-menu-in-markup-mode-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-all-actions-to-more-menu-in-wysiwyg-mode-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-all-actions-to-more-menu-in-wysiwyg-mode-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-all-actions-to-more-menu-in-wysiwyg-mode-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-hide-all-actions-to-more-menu-in-wysiwyg-mode-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-insert-should-insert-via-command-menu-in-wysiwyg-mode-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-insert-should-insert-via-command-menu-in-wysiwyg-mode-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-insert-should-insert-via-command-menu-in-wysiwyg-mode-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-insert-should-insert-via-command-menu-in-wysiwyg-mode-light-webkit-linux.png
--------------------------------------------------------------------------------
/src/extensions/behavior/Autocomplete/utils.ts:
--------------------------------------------------------------------------------
1 | import {pluginKey} from 'prosemirror-autocomplete';
2 |
3 | import type {EditorState} from '#pm/state';
4 |
5 | import type {AutocompleteState} from './types';
6 |
7 | export function getAutocompleteState(state: EditorState): AutocompleteState | null {
8 | return pluginKey.getState(state) || null;
9 | }
10 |
--------------------------------------------------------------------------------
/src/toolbar/PreviewTooltip.scss:
--------------------------------------------------------------------------------
1 | .g-md-preview-tooltip {
2 | padding: var(--g-spacing-3);
3 |
4 | border-radius: var(--g-border-radius-s);
5 | background-color: var(--g-color-base-float-heavy);
6 |
7 | &__content {
8 | padding: 0 0 0 var(--g-spacing-2);
9 |
10 | background-color: var(--g-color-base-float);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/view/hooks/useFilesGallery/constants.ts:
--------------------------------------------------------------------------------
1 | export const supportedImageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg', 'avif', 'bmp'];
2 |
3 | export const supportedVideoExtensions = ['mp4', 'webm', 'ogg'];
4 |
5 | export const supportedExtensions = [...supportedImageExtensions, ...supportedVideoExtensions];
6 |
7 | export const extensionRegex = /\w+?$/;
8 |
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-MARKUP-mode-should-paste-link-to-image-as-image-markup-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-MARKUP-mode-should-paste-link-to-image-as-image-markup-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-MARKUP-mode-markup-should-show-autocomplete-result-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-MARKUP-mode-markup-should-show-autocomplete-result-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Image.visual.test.tsx-snapshots/Images-mode-switch-should-remain-after-mode-switch-wysiwyg-markup-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Image.visual.test.tsx-snapshots/Images-mode-switch-should-remain-after-mode-switch-wysiwyg-markup-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Image.visual.test.tsx-snapshots/Images-mode-switch-should-remain-after-mode-switch-wysiwyg-markup-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Image.visual.test.tsx-snapshots/Images-mode-switch-should-remain-after-mode-switch-wysiwyg-markup-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-insert-should-insert-via-command-menu-in-wysiwyg-mode-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-insert-should-insert-via-command-menu-in-wysiwyg-mode-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-insert-should-insert-via-command-menu-in-wysiwyg-mode-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-insert-should-insert-via-command-menu-in-wysiwyg-mode-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-should-add-row-via-click-on-floating-plus-button-wysiwyg-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-should-add-row-via-click-on-floating-plus-button-wysiwyg-dark-webkit-linux.png
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: ''
5 | labels: enhancement
6 | assignees: ''
7 |
8 | ---
9 |
10 | ### Description
11 | A clear and concise description of what the problem is.
12 |
13 | ### Proposal
14 | A clear and concise description of what you want to happen.
15 |
--------------------------------------------------------------------------------
/src/markup/codemirror/index.ts:
--------------------------------------------------------------------------------
1 | export type {CreateCodemirrorParams} from './create';
2 | export {createCodemirror} from './create';
3 | export {ReactRendererFacet} from './react-facet';
4 | export {DirectiveSyntaxFacet} from './directive-facet';
5 | export {getImageDimensions, IMG_MAX_HEIGHT} from './files-upload-plugin';
6 | export type {YfmLangOptions} from './yfm';
7 |
--------------------------------------------------------------------------------
/src/modules/search/components/SearchPopup.scss:
--------------------------------------------------------------------------------
1 | .g-md-search-popup {
2 | --g-popup-border-width: 0;
3 | --g-popup-border-radius: 16px;
4 | border-radius: 16px; // for old uikit
5 |
6 | &_compact {
7 | --g-popup-border-radius: var(--g-border-radius-l);
8 | border-radius: var(--g-border-radius-l); // for old uikit
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-MARKUP-mode-should-paste-link-to-image-as-image-markup-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-MARKUP-mode-should-paste-link-to-image-as-image-markup-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-MARKUP-mode-should-paste-link-to-image-as-image-markup-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-MARKUP-mode-should-paste-link-to-image-as-image-markup-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-MARKUP-mode-should-paste-link-to-image-as-image-markup-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-MARKUP-mode-should-paste-link-to-image-as-image-markup-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-should-copy-and-paste-with-preserve-markup-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-should-copy-and-paste-with-preserve-markup-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-should-copy-and-paste-with-preserve-markup-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-should-copy-and-paste-with-preserve-markup-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-should-copy-and-paste-with-preserve-markup-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-should-copy-and-paste-with-preserve-markup-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-MARKUP-mode-markup-should-show-autocomplete-result-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-MARKUP-mode-markup-should-show-autocomplete-result-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-MARKUP-mode-markup-should-show-autocomplete-result-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-MARKUP-mode-markup-should-show-autocomplete-result-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-MARKUP-mode-markup-should-show-autocomplete-result-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-MARKUP-mode-markup-should-show-autocomplete-result-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-MARKUP-mode-markup-should-show-autocomplete-tooltip-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-MARKUP-mode-markup-should-show-autocomplete-tooltip-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-MARKUP-mode-markup-should-show-autocomplete-tooltip-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-MARKUP-mode-markup-should-show-autocomplete-tooltip-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-MARKUP-mode-markup-should-show-autocomplete-tooltip-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-MARKUP-mode-markup-should-show-autocomplete-tooltip-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-WYSIWYG-mode-wysiwyg-should-preserve-empty-rows-empty-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-WYSIWYG-mode-wysiwyg-should-preserve-empty-rows-empty-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-have-same-set-of-actions-in-both-modes-in-markup-mode-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-have-same-set-of-actions-in-both-modes-in-markup-mode-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-have-same-set-of-actions-in-both-modes-in-markup-mode-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-have-same-set-of-actions-in-both-modes-in-markup-mode-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-have-same-set-of-actions-in-both-modes-in-wysiwyg-mode-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-have-same-set-of-actions-in-both-modes-in-wysiwyg-mode-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-should-add-column-via-click-on-floating-plus-button-wysiwyg-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-should-add-column-via-click-on-floating-plus-button-wysiwyg-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-should-add-row-via-click-on-floating-plus-button-wysiwyg-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-should-add-row-via-click-on-floating-plus-button-wysiwyg-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-should-add-row-via-click-on-floating-plus-button-wysiwyg-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-should-add-row-via-click-on-floating-plus-button-wysiwyg-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-should-add-row-via-click-on-floating-plus-button-wysiwyg-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-should-add-row-via-click-on-floating-plus-button-wysiwyg-light-webkit-linux.png
--------------------------------------------------------------------------------
/demo/stories/mobile-editor/MobileEditor.stories.ts:
--------------------------------------------------------------------------------
1 | import type {StoryObj} from '@storybook/react';
2 |
3 | import {MobileEditor as component} from './MobileEditor';
4 |
5 | export const Story: StoryObj = {};
6 | Story.storyName = 'Mobile editor';
7 |
8 | export default {
9 | title: 'Experiments / Mobile editor',
10 | component,
11 | };
12 |
--------------------------------------------------------------------------------
/tests/visual-tests/YfmExtensions.helpers.tsx:
--------------------------------------------------------------------------------
1 | import {composeStories} from '@storybook/react';
2 |
3 | import * as DefaultYFMStories from '../../demo/stories/yfm/YFM.stories';
4 |
5 | export const YFMStories = composeStories(DefaultYFMStories, {
6 | argsEnhancers: [
7 | () => ({
8 | stickyToolbar: false,
9 | }),
10 | ],
11 | });
12 |
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-paste-to-code-block-without-as-is-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-paste-to-code-block-without-as-is-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-wrap-text-to-link-from-clipboard-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-wrap-text-to-link-from-clipboard-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-wrap-text-to-link-from-clipboard-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-wrap-text-to-link-from-clipboard-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-should-copy-and-paste-with-preserve-markup-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-should-copy-and-paste-with-preserve-markup-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-MARKUP-mode-markup-should-show-autocomplete-tooltip-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-MARKUP-mode-markup-should-show-autocomplete-tooltip-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-WYSIWYG-mode-wysiwyg-should-preserve-empty-rows-empty-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-WYSIWYG-mode-wysiwyg-should-preserve-empty-rows-empty-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-WYSIWYG-mode-wysiwyg-should-preserve-empty-rows-empty-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-WYSIWYG-mode-wysiwyg-should-preserve-empty-rows-empty-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-have-same-set-of-actions-in-both-modes-in-markup-mode-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-have-same-set-of-actions-in-both-modes-in-markup-mode-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-have-same-set-of-actions-in-both-modes-in-markup-mode-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-have-same-set-of-actions-in-both-modes-in-markup-mode-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-have-same-set-of-actions-in-both-modes-in-wysiwyg-mode-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-have-same-set-of-actions-in-both-modes-in-wysiwyg-mode-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-have-same-set-of-actions-in-both-modes-in-wysiwyg-mode-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-have-same-set-of-actions-in-both-modes-in-wysiwyg-mode-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-should-add-column-via-click-on-floating-plus-button-wysiwyg-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-should-add-column-via-click-on-floating-plus-button-wysiwyg-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-should-add-column-via-click-on-floating-plus-button-wysiwyg-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-should-add-column-via-click-on-floating-plus-button-wysiwyg-light-webkit-linux.png
--------------------------------------------------------------------------------
/src/extensions/behavior/Search/const.ts:
--------------------------------------------------------------------------------
1 | import {PluginKey} from '#pm/state';
2 |
3 | import type {SearchViewState} from './types';
4 |
5 | export const SearchClassName = {
6 | Match: 'ProseMirror-search-match',
7 | ActiveMatch: 'ProseMirror-active-search-match',
8 | } as const;
9 |
10 | export const pluginKey = new PluginKey('search-view');
11 |
--------------------------------------------------------------------------------
/src/extensions/yfm/ImgSize/plugins/ImgSizeNodeView/ImageForm/ImageForm.scss:
--------------------------------------------------------------------------------
1 | .g-md-image-tooltip-form {
2 | &__input {
3 | &_type_width,
4 | &_type_height {
5 | max-width: 112px;
6 | }
7 | }
8 |
9 | &__size-controls {
10 | display: flex;
11 | align-items: center;
12 | gap: 0 16px;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/markup/commands/index.ts:
--------------------------------------------------------------------------------
1 | export {redo, redoDepth, undo, undoDepth} from '@codemirror/commands';
2 |
3 | export * from './blocks';
4 | export * from './code';
5 | export * from './heading';
6 | export * from './inline';
7 | export * from './lists';
8 | export * from './marks';
9 | export * from './math';
10 | export * from './yfm';
11 | export * from './emptyRow';
12 |
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-paste-to-code-block-without-as-is-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-paste-to-code-block-without-as-is-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-paste-to-code-block-without-as-is-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-paste-to-code-block-without-as-is-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-paste-to-code-block-without-as-is-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-paste-to-code-block-without-as-is-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-wrap-text-to-link-from-clipboard-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-wrap-text-to-link-from-clipboard-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-wrap-text-to-link-from-clipboard-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-wrap-text-to-link-from-clipboard-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-should-copy-from-markup-mode-and-paste-formatted-to-wysiwyg-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-should-copy-from-markup-mode-and-paste-formatted-to-wysiwyg-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-should-copy-from-markup-mode-and-paste-formatted-to-wysiwyg-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-should-copy-from-markup-mode-and-paste-formatted-to-wysiwyg-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-should-copy-from-wysiwyg-and-paste-formatted-to-markup-mode-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-should-copy-from-wysiwyg-and-paste-formatted-to-markup-mode-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-should-copy-from-wysiwyg-and-paste-formatted-to-markup-mode-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-should-copy-from-wysiwyg-and-paste-formatted-to-markup-mode-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-WYSIWYG-mode-wysiwyg-should-preserve-empty-rows-empty-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-WYSIWYG-mode-wysiwyg-should-preserve-empty-rows-empty-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-WYSIWYG-mode-wysiwyg-should-preserve-empty-rows-preserve-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-WYSIWYG-mode-wysiwyg-should-preserve-empty-rows-preserve-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-WYSIWYG-mode-wysiwyg-should-preserve-empty-rows-preserve-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-WYSIWYG-mode-wysiwyg-should-preserve-empty-rows-preserve-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-WYSIWYG-mode-wysiwyg-should-preserve-empty-rows-preserve-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-WYSIWYG-mode-wysiwyg-should-preserve-empty-rows-preserve-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-have-same-set-of-actions-in-both-modes-in-wysiwyg-mode-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Toolbar.visual.test.tsx-snapshots/Toolbar-should-have-same-set-of-actions-in-both-modes-in-wysiwyg-mode-light-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-should-add-column-via-click-on-floating-plus-button-wysiwyg-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/YfmTable.visual.test.tsx-snapshots/YfmTable-should-add-column-via-click-on-floating-plus-button-wysiwyg-light-chromium-linux.png
--------------------------------------------------------------------------------
/demo/stories/remember-mode/RememberMode.stories.tsx:
--------------------------------------------------------------------------------
1 | import type {StoryObj} from '@storybook/react';
2 |
3 | import {RememberMode as component} from './RememberMode';
4 |
5 | export const Story: StoryObj = {};
6 | Story.storyName = 'Remember the mode';
7 |
8 | export default {
9 | component,
10 | title: 'Experiments / Remember the mode',
11 | };
12 |
--------------------------------------------------------------------------------
/src/extensions/behavior/WidgetDecoration/types.ts:
--------------------------------------------------------------------------------
1 | import type {WidgetDescriptor} from './WidgetDescriptor';
2 |
3 | export type Meta = {type: 'add'; descriptor: WidgetDescriptor} | {type: 'remove'; id: string};
4 |
5 | export type WidgetSpec = {
6 | id: string;
7 | descriptor: WidgetDescriptor;
8 | // needs for placeholder extension
9 | pos: number;
10 | };
11 |
--------------------------------------------------------------------------------
/src/extensions/yfm/ImgSize/ImagePaste/skeleton.scss:
--------------------------------------------------------------------------------
1 | .g-md-image-skeleton {
2 | $width: min(calc(var(--img-skeleton-width) * 1px), 100%);
3 | $height: min(calc(var(--img-skeleton-height) * 1px), 700px);
4 | vertical-align: middle;
5 |
6 | &__skeleton {
7 | width: $width;
8 | height: $height;
9 | margin-bottom: -5px;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/table-utils/helpers.ts:
--------------------------------------------------------------------------------
1 | import type {Node} from 'prosemirror-model';
2 |
3 | export const findChildIndex = (parentNode: Node, targetNode: Node): number => {
4 | let targetIndex = -1;
5 | parentNode.forEach((node, _, index) => {
6 | if (node === targetNode) {
7 | targetIndex = index;
8 | }
9 | });
10 | return targetIndex;
11 | };
12 |
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-parse-pasting-text-as-markdown-markup-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-parse-pasting-text-as-markdown-markup-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-parse-pasting-text-as-markdown-markup-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-parse-pasting-text-as-markdown-markup-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-WYSIWYG-mode-wysiwyg-should-preserve-empty-rows-preserve-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Experimental.visual.test.tsx-snapshots/Empty-rows-WYSIWYG-mode-wysiwyg-should-preserve-empty-rows-preserve-light-chromium-linux.png
--------------------------------------------------------------------------------
/demo/stories/editor-in-editor/EditorInEditor.stories.tsx:
--------------------------------------------------------------------------------
1 | import type {StoryObj} from '@storybook/react';
2 |
3 | import {EditorInEditor as component} from './EditorInEditor';
4 |
5 | export const Story: StoryObj = {};
6 | Story.storyName = 'Editor in editor';
7 |
8 | export default {
9 | component,
10 | title: 'Experiments / Editor in editor',
11 | };
12 |
--------------------------------------------------------------------------------
/src/extensions/additional/GPT/actions.ts:
--------------------------------------------------------------------------------
1 | import type {ActionSpec, ExtensionDeps} from '../../../core';
2 |
3 | import {runGpt} from './commands';
4 |
5 | export const showGptWidget: (deps: ExtensionDeps) => ActionSpec = (_deps) => ({
6 | isActive() {
7 | return false;
8 | },
9 | isEnable() {
10 | return true;
11 | },
12 | run: runGpt,
13 | });
14 |
--------------------------------------------------------------------------------
/src/extensions/yfm/YfmCut/index.scss:
--------------------------------------------------------------------------------
1 | @use '../../../styles/mixins' as editor;
2 |
3 | .ProseMirror.yfm {
4 | .yfm-cut {
5 | @include editor.block-border-hover();
6 |
7 | &.yfm-cut-active {
8 | border-color: var(--g-color-line-generic);
9 | }
10 | .yfm-cut-title:focus {
11 | outline: 0;
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/tests/visual-tests/Presets.helpers.tsx:
--------------------------------------------------------------------------------
1 | import {composeStories} from '@storybook/react';
2 |
3 | import * as DefaultPresetsStories from '../../demo/stories/presets/Presets.stories';
4 |
5 | export const PresetsStories = composeStories(DefaultPresetsStories, {
6 | argsEnhancers: [
7 | () => ({
8 | stickyToolbar: false,
9 | }),
10 | ],
11 | });
12 |
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-insert-link-from-ios-safari-share-button-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-insert-link-from-ios-safari-share-button-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-insert-link-from-ios-safari-share-button-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-insert-link-from-ios-safari-share-button-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-parse-pasting-text-as-markdown-markup-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-parse-pasting-text-as-markdown-markup-dark-chromium-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-parse-pasting-text-as-markdown-markup-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-parse-pasting-text-as-markdown-markup-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/extensions/yfm/ImgSize/ImgSizeSpecs/const.ts:
--------------------------------------------------------------------------------
1 | import {ImsizeAttr} from '@diplodoc/transform/lib/plugins/imsize/const.js';
2 |
3 | export const ImgSizeAttr = {
4 | Alt: ImsizeAttr.Alt,
5 | Src: ImsizeAttr.Src,
6 | Title: ImsizeAttr.Title,
7 | Width: ImsizeAttr.Width,
8 | Height: ImsizeAttr.Height,
9 | Loading: 'loading',
10 | Id: 'id',
11 | } as const;
12 |
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-insert-into-inline-code-without-formatting-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-insert-into-inline-code-without-formatting-dark-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-insert-into-inline-code-without-formatting-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-insert-into-inline-code-without-formatting-light-webkit-linux.png
--------------------------------------------------------------------------------
/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-insert-link-from-ios-safari-share-button-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/markdown-editor/HEAD/tests/visual-tests/__snapshots__/Clipboard.visual.test.tsx-snapshots/Clipboard-WYSIWYG-mode-Paste-should-insert-link-from-ios-safari-share-button-dark-chromium-linux.png
--------------------------------------------------------------------------------