@gravity-ui/markdown-editor 15.5.1 → 15.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/bundle/MarkdownEditorView.js +2 -2
- package/build/cjs/bundle/MarkdownEditorView.js.map +1 -1
- package/build/cjs/bundle/MarkupEditorView.js +1 -1
- package/build/cjs/bundle/MarkupEditorView.js.map +1 -1
- package/build/cjs/bundle/WysiwygEditorView.js +1 -1
- package/build/cjs/bundle/WysiwygEditorView.js.map +1 -1
- package/build/cjs/bundle/config/w-heading-config.js +1 -0
- package/build/cjs/bundle/config/w-heading-config.js.map +1 -1
- package/build/cjs/bundle/settings/index.js +3 -3
- package/build/cjs/bundle/settings/index.js.map +1 -1
- package/build/cjs/bundle/toolbar/utils/toolbarsConfigs.js +4 -1
- package/build/cjs/bundle/toolbar/utils/toolbarsConfigs.js.map +1 -1
- package/build/cjs/extensions/additional/QuoteLink/index.css +0 -4
- package/build/cjs/extensions/behavior/Clipboard/utils.d.ts +8 -1
- package/build/cjs/extensions/behavior/Clipboard/utils.js +3 -3
- package/build/cjs/extensions/behavior/Clipboard/utils.js.map +1 -1
- package/build/cjs/modules/toolbars/items.js +1 -0
- package/build/cjs/modules/toolbars/items.js.map +1 -1
- package/build/cjs/modules/toolbars/types.d.ts +2 -0
- package/build/cjs/modules/toolbars/types.js.map +1 -1
- package/build/cjs/toolbar/ToolbarListButton.d.ts +1 -1
- package/build/cjs/toolbar/ToolbarListButton.js +6 -4
- package/build/cjs/toolbar/ToolbarListButton.js.map +1 -1
- package/build/cjs/toolbar/types.d.ts +2 -0
- package/build/cjs/toolbar/types.js.map +1 -1
- package/build/cjs/version.js +1 -1
- package/build/cjs/version.js.map +1 -1
- package/build/esm/bundle/MarkdownEditorView.js +2 -2
- package/build/esm/bundle/MarkdownEditorView.js.map +1 -1
- package/build/esm/bundle/MarkupEditorView.js +1 -1
- package/build/esm/bundle/MarkupEditorView.js.map +1 -1
- package/build/esm/bundle/WysiwygEditorView.js +1 -1
- package/build/esm/bundle/WysiwygEditorView.js.map +1 -1
- package/build/esm/bundle/config/w-heading-config.js +1 -0
- package/build/esm/bundle/config/w-heading-config.js.map +1 -1
- package/build/esm/bundle/settings/index.js +3 -3
- package/build/esm/bundle/settings/index.js.map +1 -1
- package/build/esm/bundle/toolbar/utils/toolbarsConfigs.js +4 -1
- package/build/esm/bundle/toolbar/utils/toolbarsConfigs.js.map +1 -1
- package/build/esm/extensions/additional/QuoteLink/index.css +0 -4
- package/build/esm/extensions/behavior/Clipboard/utils.d.ts +8 -1
- package/build/esm/extensions/behavior/Clipboard/utils.js +3 -3
- package/build/esm/extensions/behavior/Clipboard/utils.js.map +1 -1
- package/build/esm/modules/toolbars/items.js +1 -0
- package/build/esm/modules/toolbars/items.js.map +1 -1
- package/build/esm/modules/toolbars/types.d.ts +2 -0
- package/build/esm/modules/toolbars/types.js.map +1 -1
- package/build/esm/toolbar/ToolbarListButton.d.ts +1 -1
- package/build/esm/toolbar/ToolbarListButton.js +6 -4
- package/build/esm/toolbar/ToolbarListButton.js.map +1 -1
- package/build/esm/toolbar/types.d.ts +2 -0
- package/build/esm/toolbar/types.js.map +1 -1
- package/build/esm/version.js +1 -1
- package/build/esm/version.js.map +1 -1
- package/build/styles.css +0 -4
- package/package.json +26 -26
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"items.js","sourceRoot":"../../../../src","sources":["modules/toolbars/items.tsx"],"names":[],"mappings":"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","sourcesContent":["import {icons} from '../../bundle/config/icons';\nimport {HeadingPreview} from '../../bundle/config/previews/HeadingPreview';\nimport {TextPreview} from '../../bundle/config/previews/TextPreview';\nimport {MToolbarColors} from '../../bundle/toolbar/markup/MToolbarColors';\nimport {MToolbarFilePopup} from '../../bundle/toolbar/markup/MToolbarFilePopup';\nimport {MToolbarImagePopup} from '../../bundle/toolbar/markup/MToolbarImagePopup';\nimport {WToolbarColors} from '../../bundle/toolbar/wysiwyg/WToolbarColors';\nimport {WToolbarTextSelect} from '../../bundle/toolbar/wysiwyg/WToolbarTextSelect';\nimport {gptHotKeys} from '../../extensions/additional/GPT/constants';\nimport {headingType, pType} from '../../extensions/specs';\nimport {i18n as i18nHint} from '../../i18n/hints';\nimport {i18n} from '../../i18n/menubar';\nimport {\n insertBlockquoteLink,\n insertHRule,\n insertLink,\n insertMermaidDiagram,\n insertYfmHtmlBlock,\n insertYfmTable,\n insertYfmTabs,\n liftListItem as liftListItemCommand,\n redo,\n redoDepth,\n sinkListItem as sinkListItemCommand,\n toBulletList,\n toH1,\n toH2,\n toH3,\n toH4,\n toH5,\n toH6,\n toOrderedList,\n toggleBold,\n toggleItalic,\n toggleMarked,\n toggleMonospace,\n toggleStrikethrough,\n toggleUnderline,\n undo,\n undoDepth,\n wrapToBlockquote,\n wrapToCheckbox,\n wrapToCodeBlock,\n wrapToInlineCode,\n wrapToMathBlock,\n wrapToMathInline,\n wrapToYfmCut,\n wrapToYfmNote,\n} from '../../markup/commands';\nimport {Action as A, formatter as f} from '../../shortcuts';\nimport {ToolbarDataType} from '../../toolbar';\n\nimport type {ToolbarItemMarkup, ToolbarItemView, ToolbarItemWysiwyg} from './types';\n\nconst noop = () => {};\nconst inactive = () => false;\nconst enable = () => true;\nconst disable = () => false;\n\n// ---- Undo ----\nexport const undoItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'undo'),\n icon: icons.undo,\n hotkey: f.toView(A.Undo),\n};\nexport const undoItemWysiwyg: ToolbarItemWysiwyg = {\n hintWhenDisabled: false,\n exec: (e) => e.actions.undo.run(),\n isActive: (e) => e.actions.undo.isActive(),\n isEnable: (e) => e.actions.undo.isEnable(),\n};\nexport const undoItemMarkup: ToolbarItemMarkup = {\n hintWhenDisabled: false,\n exec: (e) => undo(e.cm),\n isActive: inactive,\n isEnable: (e) => undoDepth(e.cm.state) > 0,\n};\n\n// ---- Redo ----\nexport const redoItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'redo'),\n icon: icons.redo,\n hotkey: f.toView(A.Redo),\n};\nexport const redoItemWysiwyg: ToolbarItemWysiwyg = {\n hintWhenDisabled: false,\n exec: (e) => e.actions.redo.run(),\n isActive: (e) => e.actions.redo.isActive(),\n isEnable: (e) => e.actions.redo.isEnable(),\n};\nexport const redoItemMarkup: ToolbarItemMarkup = {\n hintWhenDisabled: false,\n exec: (e) => redo(e.cm),\n isActive: inactive,\n isEnable: (e) => redoDepth(e.cm.state) > 0,\n};\n\n// ---- Bold ----\nexport const boldItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'bold'),\n icon: icons.bold,\n hotkey: f.toView(A.Bold),\n};\nexport const boldItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.bold.run(),\n isActive: (e) => e.actions.bold.isActive(),\n isEnable: (e) => e.actions.bold.isEnable(),\n};\nexport const boldItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toggleBold(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Italic ----\nexport const italicItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'italic'),\n icon: icons.italic,\n hotkey: f.toView(A.Italic),\n};\nexport const italicItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.italic.run(),\n isActive: (e) => e.actions.italic.isActive(),\n isEnable: (e) => e.actions.italic.isEnable(),\n};\nexport const italicItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toggleItalic(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Underline ----\nexport const underlineItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'underline'),\n icon: icons.underline,\n hotkey: f.toView(A.Underline),\n};\nexport const underlineItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.underline.run(),\n isActive: (e) => e.actions.underline.isActive(),\n isEnable: (e) => e.actions.underline.isEnable(),\n};\nexport const underlineItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toggleUnderline(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Strikethrough ----\nexport const strikethroughItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'strike'),\n icon: icons.strikethrough,\n hotkey: f.toView(A.Strike),\n};\nexport const strikethroughItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.strike.run(),\n isActive: (e) => e.actions.strike.isActive(),\n isEnable: (e) => e.actions.strike.isEnable(),\n};\nexport const strikethroughItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toggleStrikethrough(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Monospace ----\nexport const monospaceItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'mono'),\n icon: icons.mono,\n};\nexport const monospaceItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.mono.run(),\n isActive: (e) => e.actions.mono.isActive(),\n isEnable: (e) => e.actions.mono.isEnable(),\n};\nexport const monospaceItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toggleMonospace(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Marked ----\nexport const markedItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'mark'),\n icon: icons.mark,\n};\nexport const markedItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.mark.run(),\n isActive: (e) => e.actions.mark.isActive(),\n isEnable: (e) => e.actions.mark.isEnable(),\n};\nexport const markedItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toggleMarked(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Checkbox ----\nexport const checkboxItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'checkbox'),\n icon: icons.checklist,\n};\nexport const checkboxItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.addCheckbox.run(),\n isActive: (e) => e.actions.addCheckbox.isActive(),\n isEnable: (e) => e.actions.addCheckbox.isEnable(),\n};\nexport const checkboxItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToCheckbox(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Link ----\nexport const linkItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'link'),\n icon: icons.link,\n hotkey: f.toView(A.Link),\n};\nexport const linkItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.addLink.run(),\n isActive: (e) => e.actions.addLink.isActive(),\n isEnable: (e) => e.actions.addLink.isEnable(),\n};\nexport const linkItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertLink(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Quote ----\nexport const quoteItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'quote'),\n icon: icons.quote,\n hotkey: f.toView(A.Quote),\n};\nexport const quoteItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.quote.run(),\n isActive: (e) => e.actions.quote.isActive(),\n isEnable: (e) => e.actions.quote.isEnable(),\n};\nexport const quoteItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToBlockquote(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Quote Link ----\nexport const quoteLinkItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'quotelink'),\n icon: icons.quoteLink,\n};\nexport const quoteLinkItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => {\n e.actions.quoteLink.run();\n e.actions.addLinkToQuoteLink.run();\n },\n isActive: (e) => e.actions.quoteLink.isActive(),\n isEnable: (e) => e.actions.quoteLink.isEnable(),\n};\nexport const quoteLinkItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertBlockquoteLink(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Cut ----\nexport const cutItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'cut'),\n icon: icons.cut,\n hotkey: f.toView(A.Cut),\n};\nexport const cutItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toYfmCut.run(),\n isActive: (e) => e.actions.toYfmCut.isActive(),\n isEnable: (e) => e.actions.toYfmCut.isEnable(),\n};\nexport const cutItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToYfmCut(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Note ----\nexport const noteItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'note'),\n icon: icons.note,\n hotkey: f.toView(A.Note),\n};\nexport const noteItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toYfmNote.run(),\n isActive: (e) => e.actions.toYfmNote.isActive(),\n isEnable: (e) => e.actions.toYfmNote.isEnable(),\n};\nexport const noteItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToYfmNote(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Table ----\nexport const tableItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'table'),\n icon: icons.table,\n};\nexport const tableItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.createYfmTable.run(),\n isActive: (e) => e.actions.createYfmTable.isActive(),\n isEnable: (e) => e.actions.createYfmTable.isEnable(),\n};\nexport const tableItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertYfmTable(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Code ----\nexport const codeItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'code_inline'),\n icon: icons.code,\n hotkey: f.toView(A.Code),\n};\nexport const codeItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.code.run(),\n isActive: (e) => e.actions.code.isActive(),\n isEnable: (e) => e.actions.code.isEnable(),\n};\nexport const codeItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToInlineCode(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Image ----\nexport const imageItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'image'),\n icon: icons.image,\n};\nexport const imagePopupItemView: ToolbarItemView = {\n type: ToolbarDataType.ButtonPopup,\n title: i18n.bind(null, 'image'),\n icon: icons.image,\n};\nexport const imageItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.addImageWidget.run(),\n isActive: (e) => e.actions.addImageWidget.isActive(),\n isEnable: (e) => e.actions.addImageWidget.isEnable(),\n};\nexport const imageItemMarkup: ToolbarItemMarkup<ToolbarDataType.ButtonPopup> = {\n exec: noop,\n isActive: inactive,\n isEnable: enable,\n renderPopup: (props) => <MToolbarImagePopup {...props} />,\n};\n\n// ---- File ----\nexport const fileItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'file'),\n icon: icons.file,\n};\nexport const filePopupItemView: ToolbarItemView = {\n type: ToolbarDataType.ButtonPopup,\n title: i18n.bind(null, 'file'),\n icon: icons.file,\n};\nexport const fileItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.addFile.run(),\n isActive: (e) => e.actions.addFile.isActive(),\n isEnable: (e) => e.actions.addFile.isEnable(),\n};\nexport const fileItemMarkup: ToolbarItemMarkup<ToolbarDataType.ButtonPopup> = {\n exec: noop,\n isActive: inactive,\n isEnable: enable,\n renderPopup: (props) => <MToolbarFilePopup {...props} />,\n};\n\n// ---- Tabs ----\nexport const tabsItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'tabs'),\n icon: icons.tabs,\n};\nexport const tabsItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toYfmTabs.run(),\n isActive: (e) => e.actions.toYfmTabs.isActive(),\n isEnable: (e) => e.actions.toYfmTabs.isEnable(),\n};\nexport const tabsItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertYfmTabs(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Math Inline ----\nexport const mathInlineItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'math_inline'),\n icon: icons.functionInline,\n hint: () => `${i18nHint.bind(null, 'math_hint')()} ${i18nHint.bind(null, 'math_hint_katex')()}`,\n};\nexport const mathInlineItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.addMathInline.run(),\n isActive: (e) => e.actions.addMathInline.isActive(),\n isEnable: (e) => e.actions.addMathInline.isEnable(),\n};\nexport const mathInlineItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToMathInline(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Math Block ----\nexport const mathBlockItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'math_block'),\n icon: icons.functionBlock,\n hint: () => `${i18nHint.bind(null, 'math_hint')()} ${i18nHint.bind(null, 'math_hint_katex')()}`,\n};\nexport const mathBlockItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toMathBlock.run(),\n isActive: (e) => e.actions.toMathBlock.isActive(),\n isEnable: (e) => e.actions.toMathBlock.isEnable(),\n};\nexport const mathBlockItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToMathBlock(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Yfm Html Block ----\nexport const yfmHtmlBlockItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'html'),\n icon: icons.html,\n};\nexport const yfmHtmlBlockItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.createYfmHtmlBlock.run(),\n isActive: (e) => e.actions.createYfmHtmlBlock.isActive(),\n isEnable: (e) => e.actions.createYfmHtmlBlock.isEnable(),\n};\nexport const yfmHtmlBlockItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertYfmHtmlBlock(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Mermaid ----\nexport const mermaidItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'mermaid'),\n icon: icons.mermaid,\n};\nexport const mermaidItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.createMermaid.run(),\n isActive: (e) => e.actions.createMermaid.isActive(),\n isEnable: (e) => e.actions.createMermaid.isEnable(),\n};\nexport const mermaidItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertMermaidDiagram(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Code Block ----\nexport const codeBlockItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'codeblock'),\n icon: icons.codeBlock,\n hotkey: f.toView(A.CodeBlock),\n};\nexport const codeBlockItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toCodeBlock.run(),\n isActive: (e) => e.actions.toCodeBlock.isActive(),\n isEnable: (e) => e.actions.toCodeBlock.isEnable(),\n};\nexport const codeBlockItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToCodeBlock(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Horizontal Rule ----\nexport const hruleItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'hrule'),\n icon: icons.horizontalRule,\n};\nexport const hruleItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.hRule.run(),\n isActive: (e) => e.actions.hRule.isActive(),\n isEnable: (e) => e.actions.hRule.isEnable(),\n};\nexport const hruleItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertHRule(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Emoji ----\nexport const emojiItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'emoji'),\n icon: icons.emoji,\n};\nexport const emojiItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.openEmojiSuggest.run({}),\n isActive: (e) => e.actions.openEmojiSuggest.isActive(),\n isEnable: (e) => e.actions.openEmojiSuggest.isEnable(),\n};\nexport const emojiItemMarkup: ToolbarItemMarkup = {\n exec: noop,\n hintWhenDisabled: i18n.bind(null, 'emoji__hint'),\n isActive: inactive,\n isEnable: disable,\n};\n\n// ---- Heading 1 ----\nexport const heading1ItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'heading1'),\n icon: icons.h1,\n hotkey: f.toView(A.Heading1),\n preview: <HeadingPreview level={1} />,\n};\nexport const heading1ItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toH1.run(),\n isActive: (e) => e.actions.toH1.isActive(),\n isEnable: (e) => e.actions.toH1.isEnable(),\n};\nexport const heading1ItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toH1(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Heading 2 ----\nexport const heading2ItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'heading2'),\n icon: icons.h2,\n hotkey: f.toView(A.Heading2),\n preview: <HeadingPreview level={2} />,\n};\nexport const heading2ItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toH2.run(),\n isActive: (e) => e.actions.toH2.isActive(),\n isEnable: (e) => e.actions.toH2.isEnable(),\n};\nexport const heading2ItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toH2(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Heading 3 ----\nexport const heading3ItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'heading3'),\n icon: icons.h3,\n hotkey: f.toView(A.Heading3),\n preview: <HeadingPreview level={3} />,\n};\nexport const heading3ItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toH3.run(),\n isActive: (e) => e.actions.toH3.isActive(),\n isEnable: (e) => e.actions.toH3.isEnable(),\n};\nexport const heading3ItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toH3(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Heading 4 ----\nexport const heading4ItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'heading4'),\n icon: icons.h4,\n hotkey: f.toView(A.Heading4),\n preview: <HeadingPreview level={4} />,\n};\nexport const heading4ItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toH4.run(),\n isActive: (e) => e.actions.toH4.isActive(),\n isEnable: (e) => e.actions.toH4.isEnable(),\n};\nexport const heading4ItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toH4(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Heading 5 ----\nexport const heading5ItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'heading5'),\n icon: icons.h5,\n hotkey: f.toView(A.Heading5),\n preview: <HeadingPreview level={5} />,\n};\nexport const heading5ItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toH5.run(),\n isActive: (e) => e.actions.toH5.isActive(),\n isEnable: (e) => e.actions.toH5.isEnable(),\n};\nexport const heading5ItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toH5(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Heading 6 ----\nexport const heading6ItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'heading6'),\n icon: icons.h6,\n hotkey: f.toView(A.Heading6),\n preview: <HeadingPreview level={6} />,\n};\nexport const heading6ItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toH6.run(),\n isActive: (e) => e.actions.toH6.isActive(),\n isEnable: (e) => e.actions.toH6.isEnable(),\n};\nexport const heading6ItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toH6(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Bullet List ----\nexport const bulletListItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'ulist'),\n icon: icons.bulletList,\n hotkey: f.toView(A.BulletList),\n};\nexport const bulletListItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toBulletList.run(),\n isActive: (e) => e.actions.toBulletList.isActive(),\n isEnable: (e) => e.actions.toBulletList.isEnable(),\n};\nexport const bulletListItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toBulletList(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Ordered List ----\nexport const orderedListItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'olist'),\n icon: icons.orderedList,\n hotkey: f.toView(A.OrderedList),\n};\nexport const orderedListItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toOrderedList.run(),\n isActive: (e) => e.actions.toOrderedList.isActive(),\n isEnable: (e) => e.actions.toOrderedList.isEnable(),\n};\nexport const orderedListItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toOrderedList(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Sink List ----\nexport const sinkListItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'list__action_sink'),\n icon: icons.sink,\n hotkey: f.toView(A.SinkListItem),\n};\nexport const sinkListItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.sinkListItem.run(),\n hintWhenDisabled: () => i18n('list_action_disabled'),\n isActive: (e) => e.actions.sinkListItem.isActive(),\n isEnable: (e) => e.actions.sinkListItem.isEnable(),\n};\nexport const sinkListItemMarkup: ToolbarItemMarkup = {\n exec: (e) => sinkListItemCommand(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Lift List ----\nexport const liftListItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'list__action_lift'),\n icon: icons.lift,\n hotkey: f.toView(A.LiftListItem),\n};\nexport const liftListItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.liftListItem.run(),\n hintWhenDisabled: () => i18n('list_action_disabled'),\n isActive: (e) => e.actions.liftListItem.isActive(),\n isEnable: (e) => e.actions.liftListItem.isEnable(),\n};\nexport const liftListItemMarkup: ToolbarItemMarkup = {\n exec: (e) => liftListItemCommand(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Toggle Heading Folding ----\nexport const toggleHeadingFoldingItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n icon: icons.foldingHeading,\n title: () => i18n('folding-heading'),\n hint: () => i18n('folding-heading__hint'),\n};\nexport const toggleHeadingFoldingItemWysiwyg: ToolbarItemWysiwyg = {\n isActive: (editor) => editor.actions.toggleHeadingFolding?.isActive() ?? false,\n isEnable: (editor) => editor.actions.toggleHeadingFolding?.isEnable() ?? false,\n exec: (editor) => editor.actions.toggleHeadingFolding.run(),\n condition: 'enabled',\n};\n\n// ---- Text Context ----\nexport const textContextItemView: ToolbarItemView<ToolbarDataType.ReactComponent> = {\n type: ToolbarDataType.ReactComponent,\n};\nexport const textContextItemWisywig: ToolbarItemWysiwyg<ToolbarDataType.ReactComponent> = {\n component: WToolbarTextSelect,\n width: 0,\n condition: ({selection: {$from, $to}, schema}) => {\n if (!$from.sameParent($to)) return false;\n const {parent} = $from;\n return parent.type === pType(schema) || parent.type === headingType(schema);\n },\n};\n\n// ---- Paragraph ----\nexport const paragraphItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'text'),\n icon: icons.text,\n hotkey: f.toView(A.Text),\n doNotActivateList: true,\n preview: <TextPreview />,\n};\nexport const paragraphItemWisywig: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toParagraph.run(),\n isActive: (e) => e.actions.toParagraph.isActive(),\n isEnable: (e) => e.actions.toParagraph.isEnable(),\n};\nexport const paragraphItemMarkup: ToolbarItemMarkup = {\n exec: noop,\n isActive: inactive,\n isEnable: enable,\n};\n\n// --- Colorify ----\nexport const colorifyItemView: ToolbarItemView<ToolbarDataType.ReactComponent> = {\n type: ToolbarDataType.ReactComponent,\n};\nexport const colorifyItemWysiwyg: ToolbarItemWysiwyg<ToolbarDataType.ReactComponent> = {\n component: WToolbarColors,\n width: 42,\n};\nexport const colorifyItemMarkup: ToolbarItemMarkup<ToolbarDataType.ReactComponent> = {\n component: MToolbarColors,\n width: 42,\n};\n\n// ---- GPT ----\nexport const gptItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'gpt'),\n hotkey: gptHotKeys.openGptKeyTooltip,\n icon: icons.gpt,\n};\nexport const gptItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.addGptWidget.run({}),\n isActive: (e) => e.actions.addGptWidget.isActive(),\n isEnable: (e) => e.actions.addGptWidget.isEnable(),\n};\nexport const gptItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertMermaidDiagram(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Heading list ----\nexport const headingListItemView: ToolbarItemView<ToolbarDataType.ListButton> = {\n type: ToolbarDataType.ListButton,\n icon: icons.headline,\n title: i18n.bind(null, 'heading'),\n withArrow: true,\n};\n\n// ---- Lists list ----\nexport const listsListItemView: ToolbarItemView<ToolbarDataType.ListButton> = {\n type: ToolbarDataType.ListButton,\n icon: icons.bulletList,\n withArrow: true,\n title: i18n.bind(null, 'list'),\n};\n\n// ---- Move list ----\nexport const moveListItemView: ToolbarItemView<ToolbarDataType.ListButton> = {\n type: ToolbarDataType.ListButton,\n icon: icons.lift,\n withArrow: true,\n title: i18n.bind(null, 'move_list'),\n};\n\n// ---- Code list ----\nexport const codeBlocksListItemView: ToolbarItemView<ToolbarDataType.ListButton> = {\n type: ToolbarDataType.ListButton,\n icon: icons.code,\n title: i18n.bind(null, 'code'),\n withArrow: true,\n};\n\n// ---- Math list ----\nexport const mathListItemView: ToolbarItemView<ToolbarDataType.ListButton> = {\n type: ToolbarDataType.ListButton,\n icon: icons.functionInline,\n withArrow: true,\n title: i18n.bind(null, 'math'),\n};\n"]}
|
|
1
|
+
{"version":3,"file":"items.js","sourceRoot":"../../../../src","sources":["modules/toolbars/items.tsx"],"names":[],"mappings":"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","sourcesContent":["import {icons} from '../../bundle/config/icons';\nimport {HeadingPreview} from '../../bundle/config/previews/HeadingPreview';\nimport {TextPreview} from '../../bundle/config/previews/TextPreview';\nimport {MToolbarColors} from '../../bundle/toolbar/markup/MToolbarColors';\nimport {MToolbarFilePopup} from '../../bundle/toolbar/markup/MToolbarFilePopup';\nimport {MToolbarImagePopup} from '../../bundle/toolbar/markup/MToolbarImagePopup';\nimport {WToolbarColors} from '../../bundle/toolbar/wysiwyg/WToolbarColors';\nimport {WToolbarTextSelect} from '../../bundle/toolbar/wysiwyg/WToolbarTextSelect';\nimport {gptHotKeys} from '../../extensions/additional/GPT/constants';\nimport {headingType, pType} from '../../extensions/specs';\nimport {i18n as i18nHint} from '../../i18n/hints';\nimport {i18n} from '../../i18n/menubar';\nimport {\n insertBlockquoteLink,\n insertHRule,\n insertLink,\n insertMermaidDiagram,\n insertYfmHtmlBlock,\n insertYfmTable,\n insertYfmTabs,\n liftListItem as liftListItemCommand,\n redo,\n redoDepth,\n sinkListItem as sinkListItemCommand,\n toBulletList,\n toH1,\n toH2,\n toH3,\n toH4,\n toH5,\n toH6,\n toOrderedList,\n toggleBold,\n toggleItalic,\n toggleMarked,\n toggleMonospace,\n toggleStrikethrough,\n toggleUnderline,\n undo,\n undoDepth,\n wrapToBlockquote,\n wrapToCheckbox,\n wrapToCodeBlock,\n wrapToInlineCode,\n wrapToMathBlock,\n wrapToMathInline,\n wrapToYfmCut,\n wrapToYfmNote,\n} from '../../markup/commands';\nimport {Action as A, formatter as f} from '../../shortcuts';\nimport {ToolbarDataType} from '../../toolbar';\n\nimport type {ToolbarItemMarkup, ToolbarItemView, ToolbarItemWysiwyg} from './types';\n\nconst noop = () => {};\nconst inactive = () => false;\nconst enable = () => true;\nconst disable = () => false;\n\n// ---- Undo ----\nexport const undoItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'undo'),\n icon: icons.undo,\n hotkey: f.toView(A.Undo),\n};\nexport const undoItemWysiwyg: ToolbarItemWysiwyg = {\n hintWhenDisabled: false,\n exec: (e) => e.actions.undo.run(),\n isActive: (e) => e.actions.undo.isActive(),\n isEnable: (e) => e.actions.undo.isEnable(),\n};\nexport const undoItemMarkup: ToolbarItemMarkup = {\n hintWhenDisabled: false,\n exec: (e) => undo(e.cm),\n isActive: inactive,\n isEnable: (e) => undoDepth(e.cm.state) > 0,\n};\n\n// ---- Redo ----\nexport const redoItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'redo'),\n icon: icons.redo,\n hotkey: f.toView(A.Redo),\n};\nexport const redoItemWysiwyg: ToolbarItemWysiwyg = {\n hintWhenDisabled: false,\n exec: (e) => e.actions.redo.run(),\n isActive: (e) => e.actions.redo.isActive(),\n isEnable: (e) => e.actions.redo.isEnable(),\n};\nexport const redoItemMarkup: ToolbarItemMarkup = {\n hintWhenDisabled: false,\n exec: (e) => redo(e.cm),\n isActive: inactive,\n isEnable: (e) => redoDepth(e.cm.state) > 0,\n};\n\n// ---- Bold ----\nexport const boldItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'bold'),\n icon: icons.bold,\n hotkey: f.toView(A.Bold),\n};\nexport const boldItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.bold.run(),\n isActive: (e) => e.actions.bold.isActive(),\n isEnable: (e) => e.actions.bold.isEnable(),\n};\nexport const boldItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toggleBold(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Italic ----\nexport const italicItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'italic'),\n icon: icons.italic,\n hotkey: f.toView(A.Italic),\n};\nexport const italicItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.italic.run(),\n isActive: (e) => e.actions.italic.isActive(),\n isEnable: (e) => e.actions.italic.isEnable(),\n};\nexport const italicItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toggleItalic(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Underline ----\nexport const underlineItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'underline'),\n icon: icons.underline,\n hotkey: f.toView(A.Underline),\n};\nexport const underlineItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.underline.run(),\n isActive: (e) => e.actions.underline.isActive(),\n isEnable: (e) => e.actions.underline.isEnable(),\n};\nexport const underlineItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toggleUnderline(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Strikethrough ----\nexport const strikethroughItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'strike'),\n icon: icons.strikethrough,\n hotkey: f.toView(A.Strike),\n};\nexport const strikethroughItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.strike.run(),\n isActive: (e) => e.actions.strike.isActive(),\n isEnable: (e) => e.actions.strike.isEnable(),\n};\nexport const strikethroughItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toggleStrikethrough(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Monospace ----\nexport const monospaceItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'mono'),\n icon: icons.mono,\n};\nexport const monospaceItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.mono.run(),\n isActive: (e) => e.actions.mono.isActive(),\n isEnable: (e) => e.actions.mono.isEnable(),\n};\nexport const monospaceItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toggleMonospace(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Marked ----\nexport const markedItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'mark'),\n icon: icons.mark,\n};\nexport const markedItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.mark.run(),\n isActive: (e) => e.actions.mark.isActive(),\n isEnable: (e) => e.actions.mark.isEnable(),\n};\nexport const markedItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toggleMarked(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Checkbox ----\nexport const checkboxItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'checkbox'),\n icon: icons.checklist,\n};\nexport const checkboxItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.addCheckbox.run(),\n isActive: (e) => e.actions.addCheckbox.isActive(),\n isEnable: (e) => e.actions.addCheckbox.isEnable(),\n};\nexport const checkboxItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToCheckbox(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Link ----\nexport const linkItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'link'),\n icon: icons.link,\n hotkey: f.toView(A.Link),\n};\nexport const linkItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.addLink.run(),\n isActive: (e) => e.actions.addLink.isActive(),\n isEnable: (e) => e.actions.addLink.isEnable(),\n};\nexport const linkItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertLink(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Quote ----\nexport const quoteItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'quote'),\n icon: icons.quote,\n hotkey: f.toView(A.Quote),\n};\nexport const quoteItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.quote.run(),\n isActive: (e) => e.actions.quote.isActive(),\n isEnable: (e) => e.actions.quote.isEnable(),\n};\nexport const quoteItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToBlockquote(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Quote Link ----\nexport const quoteLinkItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'quotelink'),\n icon: icons.quoteLink,\n};\nexport const quoteLinkItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => {\n e.actions.quoteLink.run();\n e.actions.addLinkToQuoteLink.run();\n },\n isActive: (e) => e.actions.quoteLink.isActive(),\n isEnable: (e) => e.actions.quoteLink.isEnable(),\n};\nexport const quoteLinkItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertBlockquoteLink(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Cut ----\nexport const cutItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'cut'),\n icon: icons.cut,\n hotkey: f.toView(A.Cut),\n};\nexport const cutItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toYfmCut.run(),\n isActive: (e) => e.actions.toYfmCut.isActive(),\n isEnable: (e) => e.actions.toYfmCut.isEnable(),\n};\nexport const cutItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToYfmCut(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Note ----\nexport const noteItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'note'),\n icon: icons.note,\n hotkey: f.toView(A.Note),\n};\nexport const noteItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toYfmNote.run(),\n isActive: (e) => e.actions.toYfmNote.isActive(),\n isEnable: (e) => e.actions.toYfmNote.isEnable(),\n};\nexport const noteItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToYfmNote(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Table ----\nexport const tableItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'table'),\n icon: icons.table,\n};\nexport const tableItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.createYfmTable.run(),\n isActive: (e) => e.actions.createYfmTable.isActive(),\n isEnable: (e) => e.actions.createYfmTable.isEnable(),\n};\nexport const tableItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertYfmTable(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Code ----\nexport const codeItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'code_inline'),\n icon: icons.code,\n hotkey: f.toView(A.Code),\n};\nexport const codeItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.code.run(),\n isActive: (e) => e.actions.code.isActive(),\n isEnable: (e) => e.actions.code.isEnable(),\n};\nexport const codeItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToInlineCode(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Image ----\nexport const imageItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'image'),\n icon: icons.image,\n};\nexport const imagePopupItemView: ToolbarItemView = {\n type: ToolbarDataType.ButtonPopup,\n title: i18n.bind(null, 'image'),\n icon: icons.image,\n};\nexport const imageItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.addImageWidget.run(),\n isActive: (e) => e.actions.addImageWidget.isActive(),\n isEnable: (e) => e.actions.addImageWidget.isEnable(),\n};\nexport const imageItemMarkup: ToolbarItemMarkup<ToolbarDataType.ButtonPopup> = {\n exec: noop,\n isActive: inactive,\n isEnable: enable,\n renderPopup: (props) => <MToolbarImagePopup {...props} />,\n};\n\n// ---- File ----\nexport const fileItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'file'),\n icon: icons.file,\n};\nexport const filePopupItemView: ToolbarItemView = {\n type: ToolbarDataType.ButtonPopup,\n title: i18n.bind(null, 'file'),\n icon: icons.file,\n};\nexport const fileItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.addFile.run(),\n isActive: (e) => e.actions.addFile.isActive(),\n isEnable: (e) => e.actions.addFile.isEnable(),\n};\nexport const fileItemMarkup: ToolbarItemMarkup<ToolbarDataType.ButtonPopup> = {\n exec: noop,\n isActive: inactive,\n isEnable: enable,\n renderPopup: (props) => <MToolbarFilePopup {...props} />,\n};\n\n// ---- Tabs ----\nexport const tabsItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'tabs'),\n icon: icons.tabs,\n};\nexport const tabsItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toYfmTabs.run(),\n isActive: (e) => e.actions.toYfmTabs.isActive(),\n isEnable: (e) => e.actions.toYfmTabs.isEnable(),\n};\nexport const tabsItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertYfmTabs(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Math Inline ----\nexport const mathInlineItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'math_inline'),\n icon: icons.functionInline,\n hint: () => `${i18nHint.bind(null, 'math_hint')()} ${i18nHint.bind(null, 'math_hint_katex')()}`,\n};\nexport const mathInlineItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.addMathInline.run(),\n isActive: (e) => e.actions.addMathInline.isActive(),\n isEnable: (e) => e.actions.addMathInline.isEnable(),\n};\nexport const mathInlineItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToMathInline(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Math Block ----\nexport const mathBlockItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'math_block'),\n icon: icons.functionBlock,\n hint: () => `${i18nHint.bind(null, 'math_hint')()} ${i18nHint.bind(null, 'math_hint_katex')()}`,\n};\nexport const mathBlockItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toMathBlock.run(),\n isActive: (e) => e.actions.toMathBlock.isActive(),\n isEnable: (e) => e.actions.toMathBlock.isEnable(),\n};\nexport const mathBlockItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToMathBlock(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Yfm Html Block ----\nexport const yfmHtmlBlockItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'html'),\n icon: icons.html,\n};\nexport const yfmHtmlBlockItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.createYfmHtmlBlock.run(),\n isActive: (e) => e.actions.createYfmHtmlBlock.isActive(),\n isEnable: (e) => e.actions.createYfmHtmlBlock.isEnable(),\n};\nexport const yfmHtmlBlockItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertYfmHtmlBlock(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Mermaid ----\nexport const mermaidItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'mermaid'),\n icon: icons.mermaid,\n};\nexport const mermaidItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.createMermaid.run(),\n isActive: (e) => e.actions.createMermaid.isActive(),\n isEnable: (e) => e.actions.createMermaid.isEnable(),\n};\nexport const mermaidItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertMermaidDiagram(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Code Block ----\nexport const codeBlockItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'codeblock'),\n icon: icons.codeBlock,\n hotkey: f.toView(A.CodeBlock),\n};\nexport const codeBlockItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toCodeBlock.run(),\n isActive: (e) => e.actions.toCodeBlock.isActive(),\n isEnable: (e) => e.actions.toCodeBlock.isEnable(),\n};\nexport const codeBlockItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToCodeBlock(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Horizontal Rule ----\nexport const hruleItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'hrule'),\n icon: icons.horizontalRule,\n};\nexport const hruleItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.hRule.run(),\n isActive: (e) => e.actions.hRule.isActive(),\n isEnable: (e) => e.actions.hRule.isEnable(),\n};\nexport const hruleItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertHRule(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Emoji ----\nexport const emojiItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'emoji'),\n icon: icons.emoji,\n};\nexport const emojiItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.openEmojiSuggest.run({}),\n isActive: (e) => e.actions.openEmojiSuggest.isActive(),\n isEnable: (e) => e.actions.openEmojiSuggest.isEnable(),\n};\nexport const emojiItemMarkup: ToolbarItemMarkup = {\n exec: noop,\n hintWhenDisabled: i18n.bind(null, 'emoji__hint'),\n isActive: inactive,\n isEnable: disable,\n};\n\n// ---- Heading 1 ----\nexport const heading1ItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'heading1'),\n icon: icons.h1,\n hotkey: f.toView(A.Heading1),\n preview: <HeadingPreview level={1} />,\n};\nexport const heading1ItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toH1.run(),\n isActive: (e) => e.actions.toH1.isActive(),\n isEnable: (e) => e.actions.toH1.isEnable(),\n};\nexport const heading1ItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toH1(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Heading 2 ----\nexport const heading2ItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'heading2'),\n icon: icons.h2,\n hotkey: f.toView(A.Heading2),\n preview: <HeadingPreview level={2} />,\n};\nexport const heading2ItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toH2.run(),\n isActive: (e) => e.actions.toH2.isActive(),\n isEnable: (e) => e.actions.toH2.isEnable(),\n};\nexport const heading2ItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toH2(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Heading 3 ----\nexport const heading3ItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'heading3'),\n icon: icons.h3,\n hotkey: f.toView(A.Heading3),\n preview: <HeadingPreview level={3} />,\n};\nexport const heading3ItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toH3.run(),\n isActive: (e) => e.actions.toH3.isActive(),\n isEnable: (e) => e.actions.toH3.isEnable(),\n};\nexport const heading3ItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toH3(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Heading 4 ----\nexport const heading4ItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'heading4'),\n icon: icons.h4,\n hotkey: f.toView(A.Heading4),\n preview: <HeadingPreview level={4} />,\n};\nexport const heading4ItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toH4.run(),\n isActive: (e) => e.actions.toH4.isActive(),\n isEnable: (e) => e.actions.toH4.isEnable(),\n};\nexport const heading4ItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toH4(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Heading 5 ----\nexport const heading5ItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'heading5'),\n icon: icons.h5,\n hotkey: f.toView(A.Heading5),\n preview: <HeadingPreview level={5} />,\n};\nexport const heading5ItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toH5.run(),\n isActive: (e) => e.actions.toH5.isActive(),\n isEnable: (e) => e.actions.toH5.isEnable(),\n};\nexport const heading5ItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toH5(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Heading 6 ----\nexport const heading6ItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'heading6'),\n icon: icons.h6,\n hotkey: f.toView(A.Heading6),\n preview: <HeadingPreview level={6} />,\n};\nexport const heading6ItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toH6.run(),\n isActive: (e) => e.actions.toH6.isActive(),\n isEnable: (e) => e.actions.toH6.isEnable(),\n};\nexport const heading6ItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toH6(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Bullet List ----\nexport const bulletListItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'ulist'),\n icon: icons.bulletList,\n hotkey: f.toView(A.BulletList),\n};\nexport const bulletListItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toBulletList.run(),\n isActive: (e) => e.actions.toBulletList.isActive(),\n isEnable: (e) => e.actions.toBulletList.isEnable(),\n};\nexport const bulletListItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toBulletList(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Ordered List ----\nexport const orderedListItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'olist'),\n icon: icons.orderedList,\n hotkey: f.toView(A.OrderedList),\n};\nexport const orderedListItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toOrderedList.run(),\n isActive: (e) => e.actions.toOrderedList.isActive(),\n isEnable: (e) => e.actions.toOrderedList.isEnable(),\n};\nexport const orderedListItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toOrderedList(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Sink List ----\nexport const sinkListItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'list__action_sink'),\n icon: icons.sink,\n hotkey: f.toView(A.SinkListItem),\n};\nexport const sinkListItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.sinkListItem.run(),\n hintWhenDisabled: () => i18n('list_action_disabled'),\n isActive: (e) => e.actions.sinkListItem.isActive(),\n isEnable: (e) => e.actions.sinkListItem.isEnable(),\n};\nexport const sinkListItemMarkup: ToolbarItemMarkup = {\n exec: (e) => sinkListItemCommand(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Lift List ----\nexport const liftListItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'list__action_lift'),\n icon: icons.lift,\n hotkey: f.toView(A.LiftListItem),\n};\nexport const liftListItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.liftListItem.run(),\n hintWhenDisabled: () => i18n('list_action_disabled'),\n isActive: (e) => e.actions.liftListItem.isActive(),\n isEnable: (e) => e.actions.liftListItem.isEnable(),\n};\nexport const liftListItemMarkup: ToolbarItemMarkup = {\n exec: (e) => liftListItemCommand(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Toggle Heading Folding ----\nexport const toggleHeadingFoldingItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n icon: icons.foldingHeading,\n title: () => i18n('folding-heading'),\n hint: () => i18n('folding-heading__hint'),\n};\nexport const toggleHeadingFoldingItemWysiwyg: ToolbarItemWysiwyg = {\n isActive: (editor) => editor.actions.toggleHeadingFolding?.isActive() ?? false,\n isEnable: (editor) => editor.actions.toggleHeadingFolding?.isEnable() ?? false,\n exec: (editor) => editor.actions.toggleHeadingFolding.run(),\n condition: 'enabled',\n};\n\n// ---- Text Context ----\nexport const textContextItemView: ToolbarItemView<ToolbarDataType.ReactComponent> = {\n type: ToolbarDataType.ReactComponent,\n};\nexport const textContextItemWisywig: ToolbarItemWysiwyg<ToolbarDataType.ReactComponent> = {\n component: WToolbarTextSelect,\n width: 0,\n condition: ({selection: {$from, $to}, schema}) => {\n if (!$from.sameParent($to)) return false;\n const {parent} = $from;\n return parent.type === pType(schema) || parent.type === headingType(schema);\n },\n};\n\n// ---- Paragraph ----\nexport const paragraphItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'text'),\n icon: icons.text,\n hotkey: f.toView(A.Text),\n doNotActivateList: true,\n preview: <TextPreview />,\n};\nexport const paragraphItemWisywig: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toParagraph.run(),\n isActive: (e) => e.actions.toParagraph.isActive(),\n isEnable: (e) => e.actions.toParagraph.isEnable(),\n};\nexport const paragraphItemMarkup: ToolbarItemMarkup = {\n exec: noop,\n isActive: inactive,\n isEnable: enable,\n};\n\n// --- Colorify ----\nexport const colorifyItemView: ToolbarItemView<ToolbarDataType.ReactComponent> = {\n type: ToolbarDataType.ReactComponent,\n};\nexport const colorifyItemWysiwyg: ToolbarItemWysiwyg<ToolbarDataType.ReactComponent> = {\n component: WToolbarColors,\n width: 42,\n};\nexport const colorifyItemMarkup: ToolbarItemMarkup<ToolbarDataType.ReactComponent> = {\n component: MToolbarColors,\n width: 42,\n};\n\n// ---- GPT ----\nexport const gptItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'gpt'),\n hotkey: gptHotKeys.openGptKeyTooltip,\n icon: icons.gpt,\n};\nexport const gptItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.addGptWidget.run({}),\n isActive: (e) => e.actions.addGptWidget.isActive(),\n isEnable: (e) => e.actions.addGptWidget.isEnable(),\n};\nexport const gptItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertMermaidDiagram(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Heading list ----\nexport const headingListItemView: ToolbarItemView<ToolbarDataType.ListButton> = {\n type: ToolbarDataType.ListButton,\n icon: icons.headline,\n title: i18n.bind(null, 'heading'),\n withArrow: true,\n replaceActiveIcon: true,\n};\n\n// ---- Lists list ----\nexport const listsListItemView: ToolbarItemView<ToolbarDataType.ListButton> = {\n type: ToolbarDataType.ListButton,\n icon: icons.bulletList,\n withArrow: true,\n title: i18n.bind(null, 'list'),\n};\n\n// ---- Move list ----\nexport const moveListItemView: ToolbarItemView<ToolbarDataType.ListButton> = {\n type: ToolbarDataType.ListButton,\n icon: icons.lift,\n withArrow: true,\n title: i18n.bind(null, 'move_list'),\n};\n\n// ---- Code list ----\nexport const codeBlocksListItemView: ToolbarItemView<ToolbarDataType.ListButton> = {\n type: ToolbarDataType.ListButton,\n icon: icons.code,\n title: i18n.bind(null, 'code'),\n withArrow: true,\n};\n\n// ---- Math list ----\nexport const mathListItemView: ToolbarItemView<ToolbarDataType.ListButton> = {\n type: ToolbarDataType.ListButton,\n icon: icons.functionInline,\n withArrow: true,\n title: i18n.bind(null, 'math'),\n};\n"]}
|
|
@@ -26,6 +26,8 @@ export type ToolbarItemView<T extends ToolbarDataType = ToolbarDataType.SingleBu
|
|
|
26
26
|
withArrow?: boolean;
|
|
27
27
|
icon: ToolbarIconData;
|
|
28
28
|
title: string | (() => string);
|
|
29
|
+
/** When state changes to active, replace default icon with icon of first active item */
|
|
30
|
+
replaceActiveIcon?: boolean;
|
|
29
31
|
} : {});
|
|
30
32
|
export interface EditorActions<E> {
|
|
31
33
|
exec(editor: E): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"../../../../src","sources":["modules/toolbars/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {HotkeyProps} from '@gravity-ui/uikit';\nimport type {EditorState} from 'prosemirror-state';\n\nimport type {ActionStorage} from '../../core';\nimport type {CodeEditor} from '../../markup';\nimport type {ToolbarBaseProps, ToolbarDataType, ToolbarIconData} from '../../toolbar';\n\n// Items\nexport type ToolbarItemId = string & {};\nexport type ToolbarListId = string & {};\n\nexport interface ToolbarList {\n id: ToolbarListId;\n items: ToolbarItemId[];\n}\n\n/**\n * The default value for the `type` property is `ToolbarDataType.SingleButton`.\n */\nexport type ToolbarItemView<T extends ToolbarDataType = ToolbarDataType.SingleButton> = {\n className?: string;\n hint?: string | (() => string);\n hotkey?: HotkeyProps['value'];\n type?: ToolbarDataType;\n doNotActivateList?: boolean;\n} & (T extends ToolbarDataType.SingleButton\n ? {\n icon: ToolbarIconData;\n title: string | (() => string);\n preview?: React.ReactNode;\n }\n : T extends ToolbarDataType.ListButton\n ? {\n withArrow?: boolean;\n icon: ToolbarIconData;\n title: string | (() => string);\n }\n : {});\n\nexport interface EditorActions<E> {\n exec(editor: E): void;\n isActive(editor: E): boolean;\n isEnable(editor: E): boolean;\n}\n\ntype ToolbarItemEditor<T, E> = Partial<EditorActions<E>> & {\n hintWhenDisabled?: boolean | string | (() => string);\n condition?: ((state: EditorState) => void) | 'enabled';\n} & (T extends ToolbarDataType.ButtonPopup\n ? {\n renderPopup: (\n props: ToolbarBaseProps<E> & {\n hide: () => void;\n anchorElement: HTMLElement | null;\n },\n ) => React.ReactNode;\n }\n : T extends ToolbarDataType.ReactComponent\n ? {\n width: number;\n component: React.ComponentType<ToolbarBaseProps<E>>;\n }\n : {});\n\nexport type ToolbarItemWysiwyg<T extends ToolbarDataType = ToolbarDataType.SingleButton> =\n ToolbarItemEditor<T, ActionStorage>;\nexport type ToolbarItemMarkup<T extends ToolbarDataType = ToolbarDataType.SingleButton> =\n ToolbarItemEditor<T, CodeEditor>;\n\nexport type ToolbarItem<T extends ToolbarDataType> = {\n view: ToolbarItemView<T>;\n wysiwyg?: ToolbarItemWysiwyg<T>;\n markup?: ToolbarItemMarkup<T>;\n};\nexport type ToolbarsItems = Record<ToolbarItemId, ToolbarItem<ToolbarDataType>>;\n\n// Orders\nexport type ToolbarId = string;\nexport type ToolbarOrders = (ToolbarList | ToolbarItemId)[][];\nexport type ToolbarsOrders = Record<ToolbarId, ToolbarOrders>;\n\nexport interface ToolbarsPreset {\n items: ToolbarsItems;\n orders: ToolbarsOrders;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"../../../../src","sources":["modules/toolbars/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {HotkeyProps} from '@gravity-ui/uikit';\nimport type {EditorState} from 'prosemirror-state';\n\nimport type {ActionStorage} from '../../core';\nimport type {CodeEditor} from '../../markup';\nimport type {ToolbarBaseProps, ToolbarDataType, ToolbarIconData} from '../../toolbar';\n\n// Items\nexport type ToolbarItemId = string & {};\nexport type ToolbarListId = string & {};\n\nexport interface ToolbarList {\n id: ToolbarListId;\n items: ToolbarItemId[];\n}\n\n/**\n * The default value for the `type` property is `ToolbarDataType.SingleButton`.\n */\nexport type ToolbarItemView<T extends ToolbarDataType = ToolbarDataType.SingleButton> = {\n className?: string;\n hint?: string | (() => string);\n hotkey?: HotkeyProps['value'];\n type?: ToolbarDataType;\n doNotActivateList?: boolean;\n} & (T extends ToolbarDataType.SingleButton\n ? {\n icon: ToolbarIconData;\n title: string | (() => string);\n preview?: React.ReactNode;\n }\n : T extends ToolbarDataType.ListButton\n ? {\n withArrow?: boolean;\n icon: ToolbarIconData;\n title: string | (() => string);\n /** When state changes to active, replace default icon with icon of first active item */\n replaceActiveIcon?: boolean;\n }\n : {});\n\nexport interface EditorActions<E> {\n exec(editor: E): void;\n isActive(editor: E): boolean;\n isEnable(editor: E): boolean;\n}\n\ntype ToolbarItemEditor<T, E> = Partial<EditorActions<E>> & {\n hintWhenDisabled?: boolean | string | (() => string);\n condition?: ((state: EditorState) => void) | 'enabled';\n} & (T extends ToolbarDataType.ButtonPopup\n ? {\n renderPopup: (\n props: ToolbarBaseProps<E> & {\n hide: () => void;\n anchorElement: HTMLElement | null;\n },\n ) => React.ReactNode;\n }\n : T extends ToolbarDataType.ReactComponent\n ? {\n width: number;\n component: React.ComponentType<ToolbarBaseProps<E>>;\n }\n : {});\n\nexport type ToolbarItemWysiwyg<T extends ToolbarDataType = ToolbarDataType.SingleButton> =\n ToolbarItemEditor<T, ActionStorage>;\nexport type ToolbarItemMarkup<T extends ToolbarDataType = ToolbarDataType.SingleButton> =\n ToolbarItemEditor<T, CodeEditor>;\n\nexport type ToolbarItem<T extends ToolbarDataType> = {\n view: ToolbarItemView<T>;\n wysiwyg?: ToolbarItemWysiwyg<T>;\n markup?: ToolbarItemMarkup<T>;\n};\nexport type ToolbarsItems = Record<ToolbarItemId, ToolbarItem<ToolbarDataType>>;\n\n// Orders\nexport type ToolbarId = string;\nexport type ToolbarOrders = (ToolbarList | ToolbarItemId)[][];\nexport type ToolbarsOrders = Record<ToolbarId, ToolbarOrders>;\n\nexport interface ToolbarsPreset {\n items: ToolbarsItems;\n orders: ToolbarsOrders;\n}\n"]}
|
|
@@ -2,4 +2,4 @@ import type { ToolbarBaseProps, ToolbarListButtonData } from "./types.js";
|
|
|
2
2
|
import "./ToolbarListButton.css";
|
|
3
3
|
export type { ToolbarListButtonData };
|
|
4
4
|
export type ToolbarListButtonProps<E> = ToolbarBaseProps<E> & ToolbarListButtonData<E>;
|
|
5
|
-
export declare function ToolbarListButton<E>({ className, editor, focus, onClick, icon, title, withArrow, data, alwaysActive, }: ToolbarListButtonProps<E>): JSX.Element | null;
|
|
5
|
+
export declare function ToolbarListButton<E>({ className, editor, focus, onClick, icon, title, withArrow, data, alwaysActive, replaceActiveIcon, }: ToolbarListButtonProps<E>): JSX.Element | null;
|
|
@@ -13,13 +13,10 @@ const PreviewTooltip_1 = require("./PreviewTooltip.js");
|
|
|
13
13
|
const ToolbarButton_1 = require("./ToolbarButton.js");
|
|
14
14
|
require("./ToolbarListButton.css");
|
|
15
15
|
const b = (0, classname_1.cn)('toolbar-list-button');
|
|
16
|
-
function ToolbarListButton({ className, editor, focus, onClick, icon, title, withArrow, data, alwaysActive, }) {
|
|
16
|
+
function ToolbarListButton({ className, editor, focus, onClick, icon, title, withArrow, data, alwaysActive, replaceActiveIcon, }) {
|
|
17
17
|
const [anchorElement, setAnchorElement] = (0, hooks_1.useElementState)();
|
|
18
18
|
const [open, , hide, toggleOpen] = (0, hooks_1.useBooleanState)(false);
|
|
19
19
|
const [popupItem, setPopupItem] = (0, react_1.useState)();
|
|
20
|
-
const someActive = alwaysActive
|
|
21
|
-
? false
|
|
22
|
-
: data.some((item) => item.isActive(editor) && !item.doNotActivateList);
|
|
23
20
|
const everyDisabled = alwaysActive ? false : data.every((item) => !item.isEnable(editor));
|
|
24
21
|
const popupOpen = everyDisabled ? false : open;
|
|
25
22
|
const shouldForceHide = open && !popupOpen;
|
|
@@ -30,6 +27,11 @@ function ToolbarListButton({ className, editor, focus, onClick, icon, title, wit
|
|
|
30
27
|
}, [hide, shouldForceHide]);
|
|
31
28
|
if (data.length === 0)
|
|
32
29
|
return null;
|
|
30
|
+
const activeItem = data.find((item) => item.isActive(editor) && !item.doNotActivateList);
|
|
31
|
+
const someActive = alwaysActive ? false : Boolean(activeItem);
|
|
32
|
+
if (replaceActiveIcon && someActive && activeItem) {
|
|
33
|
+
icon = activeItem.icon;
|
|
34
|
+
}
|
|
33
35
|
const buttonContent = [(0, jsx_runtime_1.jsx)(uikit_1.Icon, { data: icon.data, size: icon.size ?? 16 }, 1)];
|
|
34
36
|
if (withArrow) {
|
|
35
37
|
buttonContent.push((0, jsx_runtime_1.jsx)(react_1.Fragment, { children: '' }, 2));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarListButton.js","sourceRoot":"../../../src","sources":["toolbar/ToolbarListButton.tsx"],"names":[],"mappings":";;AA2BA,8CA8JC;;AAzLD,iCAAoD;AAEpD,6CAA8C;AAC9C,6CAA+E;AAE/E,+CAAgC;AAChC,oDAAoC;AACpC,yCAAqC;AACrC,mDAAsE;AAEtE,wDAAgD;AAChD,sDAAkD;AAQlD,mCAAkC;AAElC,MAAM,CAAC,GAAG,IAAA,cAAE,EAAC,qBAAqB,CAAC,CAAC;AAMpC,SAAgB,iBAAiB,CAAI,EACjC,SAAS,EACT,MAAM,EACN,KAAK,EACL,OAAO,EACP,IAAI,EACJ,KAAK,EACL,SAAS,EACT,IAAI,EACJ,YAAY,GACY;IACxB,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,uBAAe,GAAE,CAAC;IAC5D,MAAM,CAAC,IAAI,EAAE,AAAD,EAAG,IAAI,EAAE,UAAU,CAAC,GAAG,IAAA,uBAAe,EAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,GAA6B,CAAC;IAExE,MAAM,UAAU,GAAG,YAAY;QAC3B,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC5E,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAE1F,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/C,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC;IAC3C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,eAAe,EAAE,CAAC;YAClB,IAAI,EAAE,CAAC;QACX,CAAC;IACL,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;IAE5B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEnC,MAAM,aAAa,GAAG,CAAC,uBAAC,YAAI,IAAS,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,IAAzC,CAAC,CAA4C,CAAC,CAAC;IACjF,IAAI,SAAS,EAAE,CAAC;QACZ,aAAa,CAAC,IAAI,CAAC,uBAAC,gBAAQ,cAAU,EAAE,IAAN,CAAC,CAAiB,CAAC,CAAC;QACtD,aAAa,CAAC,IAAI,CAAC,uBAAC,YAAI,IAAS,IAAI,EAAE,mBAAW,EAAE,IAAI,EAAE,EAAE,IAA9B,CAAC,CAAiC,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,CACH,6DACI,uBAAC,iCAAiB,IACd,GAAG,EAAE,gBAAgB,EACrB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,CAAC,aAAa,EACvB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,SAAS,EAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAC7C,OAAO,EAAE,GAAG,EAAE;oBACV,IAAI,SAAS;wBAAE,YAAY,CAAC,SAAS,CAAC,CAAC;;wBAClC,UAAU,EAAE,CAAC;gBACtB,CAAC,YAEA,aAAa,GACE,EACpB,uBAAC,aAAK,IAAC,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,YACpE,uBAAC,YAAI,IAAC,IAAI,EAAC,GAAG,EAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YAC9B,IAAI;yBACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBACV,MAAM,EACF,EAAE,EACF,KAAK,EACL,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,gBAAgB,EAChB,OAAO,GACV,GAAG,IAAI,CAAC;wBAET,MAAM,SAAS,GAAG,IAAA,mBAAU,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;wBACtD,MAAM,QAAQ,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;wBAElD,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;wBAEnC,MAAM,oBAAoB,GAAG,gBAAgB,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC;wBACrE,MAAM,oBAAoB,GACtB,OAAO,gBAAgB,KAAK,QAAQ;4BAChC,CAAC,CAAC,gBAAgB;4BAClB,CAAC,CAAC,OAAO,gBAAgB,KAAK,UAAU;gCACtC,CAAC,CAAC,gBAAgB,EAAE;gCACpB,CAAC,CAAC,IAAA,aAAI,EAAC,yBAAyB,CAAC,CAAC;wBAE5C,MAAM,WAAW,GAAG,GAAG,EAAE;4BACrB,IAAI,EAAE,CAAC;4BAEP,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gCACpB,YAAY,CAAC,IAAI,CAAC,CAAC;4BACvB,CAAC;iCAAM,CAAC;gCACJ,YAAY,CAAC,SAAS,CAAC,CAAC;gCACxB,KAAK,EAAE,CAAC;gCACR,IAAI,CAAC,MAAM,CAAC,CAAC;gCACb,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;4BAClB,CAAC;wBACL,CAAC,CAAC;wBAEF,OAAO,CACH,uBAAC,eAAO,IACJ,SAAS,EAAE,CAAC,CAAC,yBAAyB,CAAC,EACvC,OAAO,EACH,gCAAK,SAAS,EAAE,CAAC,CAAC,yBAAyB,CAAC,YACvC,oBAAoB,GACnB,EAEV,SAAS,EAAC,MAAM,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,oBAAoB,YAG7B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CACb,uBAAC,+BAAc,IAAC,OAAO,EAAE,OAAO,YAC5B,uBAAC,YAAI,CAAC,IAAI,IAEN,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EACxB,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC3B,OAAO,EAAE,WAAW,EACpB,SAAS,EACL,uBAAC,YAAI,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,GAAI,EAEpD,UAAU,EAAE;wCACR,GAAG,KAAK;wCACR,YAAY,EAAE,SAAS;qCAC1B,YAED,iCAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,aACpB,SAAS,EACV,iCAAK,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,aACrB,MAAM,IAAI,uBAAC,cAAM,IAAC,KAAK,EAAE,MAAM,GAAI,EACnC,QAAQ,IAAI,CACT,uBAAC,gBAAQ,IACL,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EACpB,YAAY,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,YAE3B,QAAQ,GACF,CACd,IACC,IACJ,IA1BD,EAAE,CA2BC,GACC,CACpB,IAlCI,EAAE,CAmCD,CACb,CAAC;oBACN,CAAC,CAAC;yBACD,MAAM,CAAC,OAAO,CAAC,GACjB,GACH,EACP,SAAS;gBACN,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC;oBAClB,GAAG,SAAS;oBACZ,MAAM;oBACN,KAAK;oBACL,OAAO;oBACP,aAAa;oBACb,IAAI,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC;iBACtC,CAAC;gBACJ,CAAC,CAAC,IAAI,IACX,CACN,CAAC;AACN,CAAC;AAED,SAAS,WAAW,CAAI,IAAwB;IAC5C,OAAO,OAAO,CAAE,IAAkC,CAAC,WAAW,CAAC,CAAC;AACpE,CAAC","sourcesContent":["import {Fragment, useEffect, useState} from 'react';\n\nimport {ChevronDown} from '@gravity-ui/icons';\nimport {HelpMark, Hotkey, Icon, Menu, Popover, Popup} from '@gravity-ui/uikit';\n\nimport {cn} from '../classname';\nimport {i18n} from '../i18n/common';\nimport {isFunction} from '../lodash';\nimport {useBooleanState, useElementState} from '../react-utils/hooks';\n\nimport {PreviewTooltip} from './PreviewTooltip';\nimport {ToolbarButtonView} from './ToolbarButton';\nimport type {\n ToolbarBaseProps,\n ToolbarButtonPopupData,\n ToolbarItemData,\n ToolbarListButtonData,\n} from './types';\n\nimport './ToolbarListButton.scss';\n\nconst b = cn('toolbar-list-button');\n\nexport type {ToolbarListButtonData};\n\nexport type ToolbarListButtonProps<E> = ToolbarBaseProps<E> & ToolbarListButtonData<E>;\n\nexport function ToolbarListButton<E>({\n className,\n editor,\n focus,\n onClick,\n icon,\n title,\n withArrow,\n data,\n alwaysActive,\n}: ToolbarListButtonProps<E>) {\n const [anchorElement, setAnchorElement] = useElementState();\n const [open, , hide, toggleOpen] = useBooleanState(false);\n const [popupItem, setPopupItem] = useState<ToolbarButtonPopupData<E>>();\n\n const someActive = alwaysActive\n ? false\n : data.some((item) => item.isActive(editor) && !item.doNotActivateList);\n const everyDisabled = alwaysActive ? false : data.every((item) => !item.isEnable(editor));\n\n const popupOpen = everyDisabled ? false : open;\n const shouldForceHide = open && !popupOpen;\n useEffect(() => {\n if (shouldForceHide) {\n hide();\n }\n }, [hide, shouldForceHide]);\n\n if (data.length === 0) return null;\n\n const buttonContent = [<Icon key={1} data={icon.data} size={icon.size ?? 16} />];\n if (withArrow) {\n buttonContent.push(<Fragment key={2}>{''}</Fragment>);\n buttonContent.push(<Icon key={3} data={ChevronDown} size={16} />);\n }\n\n return (\n <>\n <ToolbarButtonView\n ref={setAnchorElement}\n active={someActive}\n enabled={!everyDisabled}\n title={title}\n className={b({arrow: withArrow}, [className])}\n onClick={() => {\n if (popupItem) setPopupItem(undefined);\n else toggleOpen();\n }}\n >\n {buttonContent}\n </ToolbarButtonView>\n <Popup anchorElement={anchorElement} open={popupOpen} onOpenChange={hide}>\n <Menu size=\"l\" className={b('menu')}>\n {data\n .map((data) => {\n const {\n id,\n title,\n icon,\n hotkey,\n isActive,\n isEnable,\n exec,\n hint,\n hintWhenDisabled,\n preview,\n } = data;\n\n const titleText = isFunction(title) ? title() : title;\n const hintText = isFunction(hint) ? hint() : hint;\n\n const disabled = !isEnable(editor);\n\n const hideHintWhenDisabled = hintWhenDisabled === false || !disabled;\n const hintWhenDisabledText =\n typeof hintWhenDisabled === 'string'\n ? hintWhenDisabled\n : typeof hintWhenDisabled === 'function'\n ? hintWhenDisabled()\n : i18n('toolbar_action_disabled');\n\n const handleClick = () => {\n hide();\n\n if (isPopupItem(data)) {\n setPopupItem(data);\n } else {\n setPopupItem(undefined);\n focus();\n exec(editor);\n onClick?.(id);\n }\n };\n\n return (\n <Popover\n className={b('action-disabled-popover')}\n content={\n <div className={b('action-disabled-tooltip')}>\n {hintWhenDisabledText}\n </div>\n }\n placement=\"left\"\n modal={false}\n disabled={hideHintWhenDisabled}\n key={id}\n >\n {(props, ref) => (\n <PreviewTooltip preview={preview}>\n <Menu.Item\n key={id}\n ref={ref}\n active={isActive(editor)}\n disabled={!isEnable(editor)}\n onClick={handleClick}\n iconStart={\n <Icon data={icon.data} size={icon.size ?? 16} />\n }\n extraProps={{\n ...props,\n 'aria-label': titleText,\n }}\n >\n <div className={b('item')}>\n {titleText}\n <div className={b('extra')}>\n {hotkey && <Hotkey value={hotkey} />}\n {hintText && (\n <HelpMark\n className={b('hint')}\n popoverProps={{modal: false}}\n >\n {hintText}\n </HelpMark>\n )}\n </div>\n </div>\n </Menu.Item>\n </PreviewTooltip>\n )}\n </Popover>\n );\n })\n .filter(Boolean)}\n </Menu>\n </Popup>\n {popupItem\n ? popupItem.renderPopup({\n ...popupItem,\n editor,\n focus,\n onClick,\n anchorElement,\n hide: () => setPopupItem(undefined),\n })\n : null}\n </>\n );\n}\n\nfunction isPopupItem<E>(item: ToolbarItemData<E>): item is ToolbarButtonPopupData<E> {\n return Boolean((item as ToolbarButtonPopupData<E>).renderPopup);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ToolbarListButton.js","sourceRoot":"../../../src","sources":["toolbar/ToolbarListButton.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Fragment, useEffect, useState} from 'react';\n\nimport {ChevronDown} from '@gravity-ui/icons';\nimport {HelpMark, Hotkey, Icon, Menu, Popover, Popup} from '@gravity-ui/uikit';\n\nimport {cn} from '../classname';\nimport {i18n} from '../i18n/common';\nimport {isFunction} from '../lodash';\nimport {useBooleanState, useElementState} from '../react-utils/hooks';\n\nimport {PreviewTooltip} from './PreviewTooltip';\nimport {ToolbarButtonView} from './ToolbarButton';\nimport type {\n ToolbarBaseProps,\n ToolbarButtonPopupData,\n ToolbarItemData,\n ToolbarListButtonData,\n} from './types';\n\nimport './ToolbarListButton.scss';\n\nconst b = cn('toolbar-list-button');\n\nexport type {ToolbarListButtonData};\n\nexport type ToolbarListButtonProps<E> = ToolbarBaseProps<E> & ToolbarListButtonData<E>;\n\nexport function ToolbarListButton<E>({\n className,\n editor,\n focus,\n onClick,\n icon,\n title,\n withArrow,\n data,\n alwaysActive,\n replaceActiveIcon,\n}: ToolbarListButtonProps<E>) {\n const [anchorElement, setAnchorElement] = useElementState();\n const [open, , hide, toggleOpen] = useBooleanState(false);\n const [popupItem, setPopupItem] = useState<ToolbarButtonPopupData<E>>();\n\n const everyDisabled = alwaysActive ? false : data.every((item) => !item.isEnable(editor));\n const popupOpen = everyDisabled ? false : open;\n const shouldForceHide = open && !popupOpen;\n useEffect(() => {\n if (shouldForceHide) {\n hide();\n }\n }, [hide, shouldForceHide]);\n\n if (data.length === 0) return null;\n\n const activeItem = data.find((item) => item.isActive(editor) && !item.doNotActivateList);\n const someActive = alwaysActive ? false : Boolean(activeItem);\n\n if (replaceActiveIcon && someActive && activeItem) {\n icon = activeItem.icon;\n }\n\n const buttonContent = [<Icon key={1} data={icon.data} size={icon.size ?? 16} />];\n if (withArrow) {\n buttonContent.push(<Fragment key={2}>{''}</Fragment>);\n buttonContent.push(<Icon key={3} data={ChevronDown} size={16} />);\n }\n\n return (\n <>\n <ToolbarButtonView\n ref={setAnchorElement}\n active={someActive}\n enabled={!everyDisabled}\n title={title}\n className={b({arrow: withArrow}, [className])}\n onClick={() => {\n if (popupItem) setPopupItem(undefined);\n else toggleOpen();\n }}\n >\n {buttonContent}\n </ToolbarButtonView>\n <Popup anchorElement={anchorElement} open={popupOpen} onOpenChange={hide}>\n <Menu size=\"l\" className={b('menu')}>\n {data\n .map((data) => {\n const {\n id,\n title,\n icon,\n hotkey,\n isActive,\n isEnable,\n exec,\n hint,\n hintWhenDisabled,\n preview,\n } = data;\n\n const titleText = isFunction(title) ? title() : title;\n const hintText = isFunction(hint) ? hint() : hint;\n\n const disabled = !isEnable(editor);\n\n const hideHintWhenDisabled = hintWhenDisabled === false || !disabled;\n const hintWhenDisabledText =\n typeof hintWhenDisabled === 'string'\n ? hintWhenDisabled\n : typeof hintWhenDisabled === 'function'\n ? hintWhenDisabled()\n : i18n('toolbar_action_disabled');\n\n const handleClick = () => {\n hide();\n\n if (isPopupItem(data)) {\n setPopupItem(data);\n } else {\n setPopupItem(undefined);\n focus();\n exec(editor);\n onClick?.(id);\n }\n };\n\n return (\n <Popover\n className={b('action-disabled-popover')}\n content={\n <div className={b('action-disabled-tooltip')}>\n {hintWhenDisabledText}\n </div>\n }\n placement=\"left\"\n modal={false}\n disabled={hideHintWhenDisabled}\n key={id}\n >\n {(props, ref) => (\n <PreviewTooltip preview={preview}>\n <Menu.Item\n key={id}\n ref={ref}\n active={isActive(editor)}\n disabled={!isEnable(editor)}\n onClick={handleClick}\n iconStart={\n <Icon data={icon.data} size={icon.size ?? 16} />\n }\n extraProps={{\n ...props,\n 'aria-label': titleText,\n }}\n >\n <div className={b('item')}>\n {titleText}\n <div className={b('extra')}>\n {hotkey && <Hotkey value={hotkey} />}\n {hintText && (\n <HelpMark\n className={b('hint')}\n popoverProps={{modal: false}}\n >\n {hintText}\n </HelpMark>\n )}\n </div>\n </div>\n </Menu.Item>\n </PreviewTooltip>\n )}\n </Popover>\n );\n })\n .filter(Boolean)}\n </Menu>\n </Popup>\n {popupItem\n ? popupItem.renderPopup({\n ...popupItem,\n editor,\n focus,\n onClick,\n anchorElement,\n hide: () => setPopupItem(undefined),\n })\n : null}\n </>\n );\n}\n\nfunction isPopupItem<E>(item: ToolbarItemData<E>): item is ToolbarButtonPopupData<E> {\n return Boolean((item as ToolbarButtonPopupData<E>).renderPopup);\n}\n"]}
|
|
@@ -82,6 +82,8 @@ export type ToolbarListButtonData<E> = {
|
|
|
82
82
|
data: ToolbarListButtonItemData<E>[];
|
|
83
83
|
alwaysActive?: boolean;
|
|
84
84
|
hideDisabled?: boolean;
|
|
85
|
+
/** When state changes to active, replace default icon with icon of first active item */
|
|
86
|
+
replaceActiveIcon?: boolean;
|
|
85
87
|
};
|
|
86
88
|
/**
|
|
87
89
|
* @deprecated Use ReactComponent type instead
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"../../../src","sources":["toolbar/types.ts"],"names":[],"mappings":";;;AAsCA,IAAY,eASX;AATD,WAAY,eAAe;IACvB,4CAAyB,CAAA;IACzB,wCAAqB,CAAA;IACrB,0CAAuB,CAAA;IACvB,kDAAkD;IAClD,uCAAoB,CAAA;IACpB,kDAAkD;IAClD,4CAAyB,CAAA;IACzB,iDAA8B,CAAA;AAClC,CAAC,EATW,eAAe,+BAAf,eAAe,QAS1B","sourcesContent":["import type {HotkeyProps, IconProps} from '@gravity-ui/uikit';\n\nimport type {ClassNameProps} from '../classname';\n\nexport type ToolbarBaseProps<E> = ClassNameProps & {\n editor: E;\n focus(): void;\n onClick?(id: string, attrs?: {[key: string]: any}): void;\n};\n\nexport type ToolbarIconData = Pick<IconProps, 'data' | 'size'>;\nexport type ToolbarGroupData<E> = Array<ToolbarGroupItemData<E>>;\nexport type ToolbarData<E> = ToolbarGroupData<E>[];\n\nexport type ToolbarItemData<E> = {\n id: string;\n icon: ToolbarIconData;\n title: string | (() => string);\n hint?: string | (() => string);\n hotkey?: HotkeyProps['value'];\n preview?: React.ReactNode;\n /**\n * Show hint when _isEnable()_ returns false\n *\n * `false` – don't show hint;\n *\n * `true` – show default hint;\n *\n * `string` or `() => string` – show hint with custom message.\n *\n * @default true\n */\n hintWhenDisabled?: boolean | string | (() => string);\n exec(editor: E): void;\n isActive(editor: E): boolean;\n isEnable(editor: E): boolean;\n};\n\nexport enum ToolbarDataType {\n SingleButton = 's-button',\n ListButton = 'list-b',\n ButtonPopup = 'b-popup',\n /** @deprecated Use ReactComponent type instead */\n ReactNode = 'r-node',\n /** @deprecated Use ReactComponent type instead */\n ReactNodeFn = 'r-node-fn',\n ReactComponent = 'r-component',\n}\n\nexport type ToolbarGroupItemData<E> =\n | ToolbarSingleItemData<E>\n | ToolbarButtonPopupData<E>\n | ToolbarListItemData<E>\n | ToolbarReactNodeData\n | ToolbarReactNodeFnData<E>\n | ToolbarReactComponentData<E>;\n\nexport type ToolbarSingleItemData<E> = ToolbarItemData<E> & {\n id: string;\n type: ToolbarDataType.SingleButton;\n className?: string;\n};\n\nexport type ToolbarListItemData<E> = ToolbarListButtonData<E> & {\n id: string;\n type: ToolbarDataType.ListButton;\n className?: string;\n};\n\nexport type ToolbarReactComponentData<E> = {\n id: string;\n type: ToolbarDataType.ReactComponent;\n width: number;\n className?: string;\n component: React.ComponentType<ToolbarBaseProps<E>>;\n props?: object;\n};\n\nexport type ToolbarButtonPopupData<E> = ToolbarItemData<E> & {\n /** not used, may be an empty function */\n exec: ToolbarItemData<E>['exec'];\n type: ToolbarDataType.ButtonPopup;\n renderPopup: (\n props: ToolbarBaseProps<E> & {hide: () => void; anchorElement: HTMLElement | null},\n ) => React.ReactNode;\n className?: string;\n};\n\nexport type ToolbarListButtonItemData<E> = ToolbarItemData<E> & {\n doNotActivateList?: boolean;\n};\n\nexport type ToolbarListButtonData<E> = {\n icon: ToolbarIconData;\n title: string | (() => string);\n withArrow?: boolean;\n data: ToolbarListButtonItemData<E>[];\n alwaysActive?: boolean;\n hideDisabled?: boolean;\n};\n\n/**\n * @deprecated Use ReactComponent type instead\n * */\nexport type ToolbarReactNodeData = {\n id: string;\n type: ToolbarDataType.ReactNode;\n width: number;\n content: React.ReactNode;\n};\n\n/**\n * @deprecated Use ReactComponent type instead\n * */\nexport type ToolbarReactNodeFnData<E> = {\n id: string;\n type: ToolbarDataType.ReactNodeFn;\n width: number;\n content: (e: E) => React.ReactNode;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"../../../src","sources":["toolbar/types.ts"],"names":[],"mappings":";;;AAsCA,IAAY,eASX;AATD,WAAY,eAAe;IACvB,4CAAyB,CAAA;IACzB,wCAAqB,CAAA;IACrB,0CAAuB,CAAA;IACvB,kDAAkD;IAClD,uCAAoB,CAAA;IACpB,kDAAkD;IAClD,4CAAyB,CAAA;IACzB,iDAA8B,CAAA;AAClC,CAAC,EATW,eAAe,+BAAf,eAAe,QAS1B","sourcesContent":["import type {HotkeyProps, IconProps} from '@gravity-ui/uikit';\n\nimport type {ClassNameProps} from '../classname';\n\nexport type ToolbarBaseProps<E> = ClassNameProps & {\n editor: E;\n focus(): void;\n onClick?(id: string, attrs?: {[key: string]: any}): void;\n};\n\nexport type ToolbarIconData = Pick<IconProps, 'data' | 'size'>;\nexport type ToolbarGroupData<E> = Array<ToolbarGroupItemData<E>>;\nexport type ToolbarData<E> = ToolbarGroupData<E>[];\n\nexport type ToolbarItemData<E> = {\n id: string;\n icon: ToolbarIconData;\n title: string | (() => string);\n hint?: string | (() => string);\n hotkey?: HotkeyProps['value'];\n preview?: React.ReactNode;\n /**\n * Show hint when _isEnable()_ returns false\n *\n * `false` – don't show hint;\n *\n * `true` – show default hint;\n *\n * `string` or `() => string` – show hint with custom message.\n *\n * @default true\n */\n hintWhenDisabled?: boolean | string | (() => string);\n exec(editor: E): void;\n isActive(editor: E): boolean;\n isEnable(editor: E): boolean;\n};\n\nexport enum ToolbarDataType {\n SingleButton = 's-button',\n ListButton = 'list-b',\n ButtonPopup = 'b-popup',\n /** @deprecated Use ReactComponent type instead */\n ReactNode = 'r-node',\n /** @deprecated Use ReactComponent type instead */\n ReactNodeFn = 'r-node-fn',\n ReactComponent = 'r-component',\n}\n\nexport type ToolbarGroupItemData<E> =\n | ToolbarSingleItemData<E>\n | ToolbarButtonPopupData<E>\n | ToolbarListItemData<E>\n | ToolbarReactNodeData\n | ToolbarReactNodeFnData<E>\n | ToolbarReactComponentData<E>;\n\nexport type ToolbarSingleItemData<E> = ToolbarItemData<E> & {\n id: string;\n type: ToolbarDataType.SingleButton;\n className?: string;\n};\n\nexport type ToolbarListItemData<E> = ToolbarListButtonData<E> & {\n id: string;\n type: ToolbarDataType.ListButton;\n className?: string;\n};\n\nexport type ToolbarReactComponentData<E> = {\n id: string;\n type: ToolbarDataType.ReactComponent;\n width: number;\n className?: string;\n component: React.ComponentType<ToolbarBaseProps<E>>;\n props?: object;\n};\n\nexport type ToolbarButtonPopupData<E> = ToolbarItemData<E> & {\n /** not used, may be an empty function */\n exec: ToolbarItemData<E>['exec'];\n type: ToolbarDataType.ButtonPopup;\n renderPopup: (\n props: ToolbarBaseProps<E> & {hide: () => void; anchorElement: HTMLElement | null},\n ) => React.ReactNode;\n className?: string;\n};\n\nexport type ToolbarListButtonItemData<E> = ToolbarItemData<E> & {\n doNotActivateList?: boolean;\n};\n\nexport type ToolbarListButtonData<E> = {\n icon: ToolbarIconData;\n title: string | (() => string);\n withArrow?: boolean;\n data: ToolbarListButtonItemData<E>[];\n alwaysActive?: boolean;\n hideDisabled?: boolean;\n /** When state changes to active, replace default icon with icon of first active item */\n replaceActiveIcon?: boolean;\n};\n\n/**\n * @deprecated Use ReactComponent type instead\n * */\nexport type ToolbarReactNodeData = {\n id: string;\n type: ToolbarDataType.ReactNode;\n width: number;\n content: React.ReactNode;\n};\n\n/**\n * @deprecated Use ReactComponent type instead\n * */\nexport type ToolbarReactNodeFnData<E> = {\n id: string;\n type: ToolbarDataType.ReactNodeFn;\n width: number;\n content: (e: E) => React.ReactNode;\n};\n"]}
|
package/build/cjs/version.js
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.VERSION = void 0;
|
|
4
4
|
/** During build process, the current version will be injected here */
|
|
5
|
-
exports.VERSION = typeof '15.
|
|
5
|
+
exports.VERSION = typeof '15.6.1' !== 'undefined' ? '15.6.1' : 'unknown';
|
|
6
6
|
//# sourceMappingURL=version.js.map
|
package/build/cjs/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"../../src","sources":["version.ts"],"names":[],"mappings":";;;AAAA,sEAAsE;AACzD,QAAA,OAAO,GAAG,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC","sourcesContent":["/** During build process, the current version will be injected here */\nexport const VERSION = typeof '15.
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"../../src","sources":["version.ts"],"names":[],"mappings":";;;AAAA,sEAAsE;AACzD,QAAA,OAAO,GAAG,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC","sourcesContent":["/** During build process, the current version will be injected here */\nexport const VERSION = typeof '15.6.1' !== 'undefined' ? '15.6.1' : 'unknown';\n"]}
|
|
@@ -132,12 +132,12 @@ export const MarkdownEditorView = forwardRef((props, ref) => {
|
|
|
132
132
|
}, children: _jsxs("div", { ref: divRef, "data-qa": qa, className: b({
|
|
133
133
|
settings: settingsVisible,
|
|
134
134
|
split: markupSplitMode && editor.splitMode,
|
|
135
|
-
}, [className]), role: "button", tabIndex: 0, children: [_jsx("div", { className: b('editor-wrapper'), ref: editorWrapperRef, children: showPreview ? (_jsxs(_Fragment, { children: [_jsx("div", { className: b('preview-wrapper'), children: editor.renderPreview?.({
|
|
135
|
+
}, [className]), role: "button", tabIndex: 0, children: [_jsx("div", { className: b('editor-wrapper'), ref: editorWrapperRef, "data-qa": "g-md-editor-mode", "data-mode": editor.currentMode, children: showPreview ? (_jsxs(_Fragment, { children: [_jsx("div", { className: b('preview-wrapper'), children: editor.renderPreview?.({
|
|
136
136
|
getValue: editor.getValue,
|
|
137
137
|
mode: 'preview',
|
|
138
138
|
md: editor.mdOptions,
|
|
139
139
|
directiveSyntax: editor.directiveSyntax,
|
|
140
|
-
}) }), settings] })) : (_jsxs(_Fragment, { children: [editorMode === 'wysiwyg' && (_jsx(WysiwygEditorView, { editor: editor, autofocus: autofocus, settingsVisible: settingsVisible, toolbarConfig: wysiwygToolbarConfig, toolbarVisible: editor.toolbarVisible, hiddenActionsConfig: wysiwygHiddenActionsConfig,
|
|
140
|
+
}) }), settings] })) : (_jsxs(_Fragment, { children: [editorMode === 'wysiwyg' && (_jsx(WysiwygEditorView, { editor: editor, autofocus: autofocus, settingsVisible: settingsVisible, toolbarConfig: wysiwygToolbarConfig, toolbarVisible: editor.toolbarVisible, hiddenActionsConfig: wysiwygHiddenActionsConfig, className: b('editor', { mode: editorMode }), toolbarClassName: b('toolbar'), stickyToolbar: stickyToolbar, children: editor.toolbarVisible && settingsVisible && settings })), editorMode === 'markup' && (_jsx(MarkupEditorView, { editor: editor, autofocus: autofocus, settingsVisible: settingsVisible, toolbarConfig: markupToolbarConfig, toolbarVisible: editor.toolbarVisible, splitMode: editor.splitMode, splitModeEnabled: editor.splitModeEnabled, hiddenActionsConfig: markupHiddenActionsConfig, className: b('editor', { mode: editorMode }), toolbarClassName: b('toolbar'), stickyToolbar: stickyToolbar, children: editor.toolbarVisible && settings })), !editor.toolbarVisible && settings] })) }), markupSplitMode && (_jsxs(_Fragment, { children: [editor.splitMode === 'horizontal' ? (_jsx(HorizontalDrag, { editor: editor, isMounted: isMounted, leftElRef: editorWrapperRef, rightElRef: splitModeViewWrapperRef, wrapperRef: divRef })) : (_jsx("div", { className: b('resizer') })), _jsx(SplitModeView, { editor: editor, ref: splitModeViewWrapperRef })] }))] }) }));
|
|
141
141
|
});
|
|
142
142
|
MarkdownEditorView.displayName = 'MarkdownEditorView';
|
|
143
143
|
const MarkupSearchAnchor = ({ mode }) => (_jsx(_Fragment, { children: mode === 'markup' && _jsx("div", { className: "g-md-search-anchor" }) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownEditorView.js","sourceRoot":"../../../src","sources":["bundle/MarkdownEditorView.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n forwardRef,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport {type QAProps, useToaster} from '@gravity-ui/uikit';\nimport {ErrorBoundary} from 'react-error-boundary';\nimport {useEnsuredForwardedRef, useKey, useUpdate} from 'react-use';\n\nimport {type ClassNameProps, cn} from '../classname';\nimport {i18n} from '../i18n/bundle';\nimport {globalLogger} from '../logger';\nimport type {ToolbarsPreset} from '../modules/toolbars/types';\nimport {useBooleanState, useSticky} from '../react-utils';\nimport {isMac} from '../utils';\n\nimport type {Editor, EditorInt} from './Editor';\nimport {HorizontalDrag} from './HorizontalDrag';\nimport {MarkupEditorView} from './MarkupEditorView';\nimport {SplitModeView} from './SplitModeView';\nimport {WysiwygEditorView} from './WysiwygEditorView';\nimport {useMarkdownEditorContext} from './context';\nimport {EditorSettings, type EditorSettingsProps} from './settings';\nimport {stickyCn} from './sticky';\nimport type {MToolbarData, MToolbarItemData, WToolbarData, WToolbarItemData} from './toolbar/types';\nimport {getToolbarsConfigs} from './toolbar/utils/toolbarsConfigs';\nimport type {MarkdownEditorMode} from './types';\n\nimport '../styles/styles.scss';\nimport './MarkdownEditorView.scss'; // eslint-disable-line import/order\n\nexport const cnEditorComponent = cn('editor-component');\nconst b = cnEditorComponent;\n\nexport type MarkdownEditorViewProps = ClassNameProps &\n QAProps & {\n editor?: Editor;\n autofocus?: boolean;\n toolbarsPreset?: ToolbarsPreset;\n /**\n * @deprecated use `toolbarsPreset` instead\n */\n markupToolbarConfig?: MToolbarData;\n /**\n * @deprecated use `toolbarsPreset` instead\n */\n wysiwygToolbarConfig?: WToolbarData;\n /**\n * @deprecated use `toolbarsPreset` instead\n */\n markupHiddenActionsConfig?: MToolbarItemData[];\n /**\n * @deprecated use `toolbarsPreset` instead\n */\n wysiwygHiddenActionsConfig?: WToolbarItemData[];\n /** @default true */\n settingsVisible?: boolean;\n stickyToolbar: boolean;\n enableSubmitInPreview?: boolean;\n hidePreviewAfterSubmit?: boolean;\n };\n\nexport const MarkdownEditorView = forwardRef<HTMLDivElement, MarkdownEditorViewProps>(\n (props, ref) => {\n const divRef = useEnsuredForwardedRef(ref as React.MutableRefObject<HTMLDivElement>);\n\n const [isMounted, setIsMounted] = useState(false);\n useEffect(() => {\n setIsMounted(true);\n }, []);\n\n const [showPreview, , unsetShowPreview, toggleShowPreview] = useBooleanState(false);\n\n const context = useMarkdownEditorContext();\n const editor = (props.editor ?? context) as EditorInt;\n if (!editor)\n throw new Error(\n '[MarkdownEditorView]: an instance of the editor must be passed through the props or context',\n );\n\n const {\n qa,\n autofocus,\n className,\n settingsVisible = true,\n toolbarsPreset,\n stickyToolbar,\n wysiwygToolbarConfig: initialWysiwygToolbarConfig,\n markupToolbarConfig: initialMarkupToolbarConfig,\n wysiwygHiddenActionsConfig: initialWysiwygHiddenActionsConfig,\n markupHiddenActionsConfig: initialMarkupHiddenActionsConfig,\n enableSubmitInPreview = true,\n hidePreviewAfterSubmit = false,\n } = props;\n\n const {\n wysiwygToolbarConfig,\n markupToolbarConfig,\n wysiwygHiddenActionsConfig,\n markupHiddenActionsConfig,\n } = useMemo(\n () =>\n getToolbarsConfigs({\n toolbarsPreset,\n props: {\n wysiwygToolbarConfig: initialWysiwygToolbarConfig,\n markupToolbarConfig: initialMarkupToolbarConfig,\n wysiwygHiddenActionsConfig: initialWysiwygHiddenActionsConfig,\n markupHiddenActionsConfig: initialMarkupHiddenActionsConfig,\n },\n preset: editor.preset,\n }),\n [\n toolbarsPreset,\n initialWysiwygToolbarConfig,\n initialMarkupToolbarConfig,\n initialWysiwygHiddenActionsConfig,\n initialMarkupHiddenActionsConfig,\n editor.preset,\n ],\n );\n\n const rerender = useUpdate();\n useLayoutEffect(() => {\n editor.on('rerender', rerender);\n return () => {\n editor.off('rerender', rerender);\n };\n }, [editor, rerender]);\n\n const onModeChange = useCallback(\n (type: MarkdownEditorMode) => {\n editor.changeEditorMode({mode: type, reason: 'settings'});\n unsetShowPreview();\n },\n [editor, unsetShowPreview],\n );\n const onToolbarVisibilityChange = useCallback(\n (visible: boolean) => {\n editor.changeToolbarVisibility({visible});\n },\n [editor],\n );\n const onSplitModeChange = useCallback(\n (splitModeEnabled: boolean) => {\n unsetShowPreview();\n editor.changeSplitModeEnabled({splitModeEnabled});\n },\n [editor, unsetShowPreview],\n );\n\n const onShowPreviewChange = useCallback(\n (showPreviewValue: boolean) => {\n editor.changeSplitModeEnabled({splitModeEnabled: false});\n if (showPreviewValue !== showPreview) toggleShowPreview();\n },\n [editor, showPreview, toggleShowPreview],\n );\n\n const editorMode = editor.currentMode;\n const markupSplitMode =\n editor.splitModeEnabled && editor.splitMode && editorMode === 'markup';\n const canRenderPreview = Boolean(\n editor.renderPreview && editorMode === 'markup' && !editor.splitModeEnabled,\n );\n\n useKey(\n (e) => canRenderPreview && isPreviewKeyDown(e),\n (e) => {\n e.preventDefault();\n onShowPreviewChange(!showPreview);\n },\n {event: 'keydown'},\n [showPreview, editorMode, onShowPreviewChange, canRenderPreview],\n );\n\n const editorWrapperRef = useRef(null);\n const splitModeViewWrapperRef = useRef(null);\n\n useEffect(() => {\n if (showPreview) {\n divRef.current.focus();\n }\n }, [divRef, showPreview]);\n\n useKey(\n (e) =>\n enableSubmitInPreview &&\n showPreview &&\n isWrapperFocused(divRef) &&\n isSubmitKeyDown(e),\n () => {\n editor.emit('submit', null);\n\n if (hidePreviewAfterSubmit) {\n onShowPreviewChange(false);\n }\n },\n {event: 'keydown'},\n [hidePreviewAfterSubmit, enableSubmitInPreview, showPreview, showPreview],\n );\n\n const settings = useMemo(\n () => (\n <Settings\n mode={editorMode}\n settingsVisible={settingsVisible}\n onModeChange={onModeChange}\n toolbarVisibility={editor.toolbarVisible && !showPreview}\n onToolbarVisibilityChange={onToolbarVisibilityChange}\n onSplitModeChange={onSplitModeChange}\n splitModeEnabled={editor.splitModeEnabled}\n splitMode={editor.splitMode}\n stickyToolbar={stickyToolbar}\n onShowPreviewChange={onShowPreviewChange}\n showPreview={showPreview}\n renderPreviewButton={canRenderPreview}\n />\n ),\n [\n editorMode,\n settingsVisible,\n editor.toolbarVisible,\n editor.splitModeEnabled,\n editor.splitMode,\n onModeChange,\n showPreview,\n onToolbarVisibilityChange,\n onSplitModeChange,\n stickyToolbar,\n onShowPreviewChange,\n canRenderPreview,\n ],\n );\n\n const toaster = useToaster();\n\n return (\n <ErrorBoundary\n onError={(e) => {\n globalLogger.error(e);\n editor.logger.error(e);\n }}\n fallbackRender={({error, resetErrorBoundary}) => {\n toaster.add({\n theme: 'danger',\n name: 'g-md-editor-error',\n title: i18n('error-title'),\n content: error.message,\n });\n setTimeout(() => {\n resetErrorBoundary();\n editor.changeEditorMode({\n mode: 'markup',\n reason: 'error-boundary',\n emit: false,\n });\n });\n return null;\n }}\n >\n <div\n ref={divRef}\n data-qa={qa}\n className={b(\n {\n settings: settingsVisible,\n split: markupSplitMode && editor.splitMode,\n },\n [className],\n )}\n role=\"button\"\n tabIndex={0}\n >\n <div className={b('editor-wrapper')} ref={editorWrapperRef}>\n {showPreview ? (\n <>\n <div className={b('preview-wrapper')}>\n {editor.renderPreview?.({\n getValue: editor.getValue,\n mode: 'preview',\n md: editor.mdOptions,\n directiveSyntax: editor.directiveSyntax,\n })}\n </div>\n {settings}\n </>\n ) : (\n <>\n {editorMode === 'wysiwyg' && (\n <WysiwygEditorView\n editor={editor}\n autofocus={autofocus}\n settingsVisible={settingsVisible}\n toolbarConfig={wysiwygToolbarConfig}\n toolbarVisible={editor.toolbarVisible}\n hiddenActionsConfig={wysiwygHiddenActionsConfig}\n qa=\"g-md-editor-mode\"\n className={b('editor', {mode: editorMode})}\n toolbarClassName={b('toolbar')}\n stickyToolbar={stickyToolbar}\n >\n {editor.toolbarVisible && settingsVisible && settings}\n </WysiwygEditorView>\n )}\n {editorMode === 'markup' && (\n <MarkupEditorView\n editor={editor}\n autofocus={autofocus}\n settingsVisible={settingsVisible}\n toolbarConfig={markupToolbarConfig}\n toolbarVisible={editor.toolbarVisible}\n splitMode={editor.splitMode}\n splitModeEnabled={editor.splitModeEnabled}\n hiddenActionsConfig={markupHiddenActionsConfig}\n qa=\"g-md-editor-mode\"\n className={b('editor', {mode: editorMode})}\n toolbarClassName={b('toolbar')}\n stickyToolbar={stickyToolbar}\n >\n {editor.toolbarVisible && settings}\n </MarkupEditorView>\n )}\n {!editor.toolbarVisible && settings}\n </>\n )}\n </div>\n\n {markupSplitMode && (\n <>\n {editor.splitMode === 'horizontal' ? (\n <HorizontalDrag\n editor={editor}\n isMounted={isMounted}\n leftElRef={editorWrapperRef}\n rightElRef={splitModeViewWrapperRef}\n wrapperRef={divRef}\n />\n ) : (\n <div className={b('resizer')} />\n )}\n <SplitModeView editor={editor} ref={splitModeViewWrapperRef} />\n </>\n )}\n </div>\n </ErrorBoundary>\n );\n },\n);\nMarkdownEditorView.displayName = 'MarkdownEditorView';\n\ninterface MarkupSearchAnchorProps extends Pick<EditorSettingsProps, 'mode'> {}\n\nconst MarkupSearchAnchor: React.FC<MarkupSearchAnchorProps> = ({mode}) => (\n <>{mode === 'markup' && <div className=\"g-md-search-anchor\"></div>}</>\n);\n\nfunction Settings(props: EditorSettingsProps & {stickyToolbar: boolean}) {\n const wrapperRef = useRef<HTMLDivElement>(null);\n const isSticky = useSticky(wrapperRef) && props.toolbarVisibility && props.stickyToolbar;\n\n return (\n <>\n {(props.renderPreviewButton || props.settingsVisible) && (\n <div className={b('settings-wrapper')}>\n <div\n ref={wrapperRef}\n className={stickyCn.settings({\n withToolbar: props.toolbarVisibility,\n stickyActive: isSticky,\n })}\n >\n <EditorSettings {...props} />\n <MarkupSearchAnchor {...props} />\n </div>\n </div>\n )}\n </>\n );\n}\n\nfunction isPreviewKeyDown(e: KeyboardEvent) {\n const modKey = isMac() ? e.metaKey : e.ctrlKey;\n return modKey && e.shiftKey && e.code === 'KeyP';\n}\n\nfunction isWrapperFocused(divRef: React.RefObject<HTMLDivElement>) {\n return document.activeElement === divRef.current;\n}\n\nfunction isSubmitKeyDown(e: KeyboardEvent) {\n const modKey = isMac() ? e.metaKey : e.ctrlKey;\n return modKey && e.code === 'Enter';\n}\n"]}
|
|
1
|
+
{"version":3,"file":"MarkdownEditorView.js","sourceRoot":"../../../src","sources":["bundle/MarkdownEditorView.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n forwardRef,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport {type QAProps, useToaster} from '@gravity-ui/uikit';\nimport {ErrorBoundary} from 'react-error-boundary';\nimport {useEnsuredForwardedRef, useKey, useUpdate} from 'react-use';\n\nimport {type ClassNameProps, cn} from '../classname';\nimport {i18n} from '../i18n/bundle';\nimport {globalLogger} from '../logger';\nimport type {ToolbarsPreset} from '../modules/toolbars/types';\nimport {useBooleanState, useSticky} from '../react-utils';\nimport {isMac} from '../utils';\n\nimport type {Editor, EditorInt} from './Editor';\nimport {HorizontalDrag} from './HorizontalDrag';\nimport {MarkupEditorView} from './MarkupEditorView';\nimport {SplitModeView} from './SplitModeView';\nimport {WysiwygEditorView} from './WysiwygEditorView';\nimport {useMarkdownEditorContext} from './context';\nimport {EditorSettings, type EditorSettingsProps} from './settings';\nimport {stickyCn} from './sticky';\nimport type {MToolbarData, MToolbarItemData, WToolbarData, WToolbarItemData} from './toolbar/types';\nimport {getToolbarsConfigs} from './toolbar/utils/toolbarsConfigs';\nimport type {MarkdownEditorMode} from './types';\n\nimport '../styles/styles.scss';\nimport './MarkdownEditorView.scss'; // eslint-disable-line import/order\n\nexport const cnEditorComponent = cn('editor-component');\nconst b = cnEditorComponent;\n\nexport type MarkdownEditorViewProps = ClassNameProps &\n QAProps & {\n editor?: Editor;\n autofocus?: boolean;\n toolbarsPreset?: ToolbarsPreset;\n /**\n * @deprecated use `toolbarsPreset` instead\n */\n markupToolbarConfig?: MToolbarData;\n /**\n * @deprecated use `toolbarsPreset` instead\n */\n wysiwygToolbarConfig?: WToolbarData;\n /**\n * @deprecated use `toolbarsPreset` instead\n */\n markupHiddenActionsConfig?: MToolbarItemData[];\n /**\n * @deprecated use `toolbarsPreset` instead\n */\n wysiwygHiddenActionsConfig?: WToolbarItemData[];\n /** @default true */\n settingsVisible?: boolean;\n stickyToolbar: boolean;\n enableSubmitInPreview?: boolean;\n hidePreviewAfterSubmit?: boolean;\n };\n\nexport const MarkdownEditorView = forwardRef<HTMLDivElement, MarkdownEditorViewProps>(\n (props, ref) => {\n const divRef = useEnsuredForwardedRef(ref as React.MutableRefObject<HTMLDivElement>);\n\n const [isMounted, setIsMounted] = useState(false);\n useEffect(() => {\n setIsMounted(true);\n }, []);\n\n const [showPreview, , unsetShowPreview, toggleShowPreview] = useBooleanState(false);\n\n const context = useMarkdownEditorContext();\n const editor = (props.editor ?? context) as EditorInt;\n if (!editor)\n throw new Error(\n '[MarkdownEditorView]: an instance of the editor must be passed through the props or context',\n );\n\n const {\n qa,\n autofocus,\n className,\n settingsVisible = true,\n toolbarsPreset,\n stickyToolbar,\n wysiwygToolbarConfig: initialWysiwygToolbarConfig,\n markupToolbarConfig: initialMarkupToolbarConfig,\n wysiwygHiddenActionsConfig: initialWysiwygHiddenActionsConfig,\n markupHiddenActionsConfig: initialMarkupHiddenActionsConfig,\n enableSubmitInPreview = true,\n hidePreviewAfterSubmit = false,\n } = props;\n\n const {\n wysiwygToolbarConfig,\n markupToolbarConfig,\n wysiwygHiddenActionsConfig,\n markupHiddenActionsConfig,\n } = useMemo(\n () =>\n getToolbarsConfigs({\n toolbarsPreset,\n props: {\n wysiwygToolbarConfig: initialWysiwygToolbarConfig,\n markupToolbarConfig: initialMarkupToolbarConfig,\n wysiwygHiddenActionsConfig: initialWysiwygHiddenActionsConfig,\n markupHiddenActionsConfig: initialMarkupHiddenActionsConfig,\n },\n preset: editor.preset,\n }),\n [\n toolbarsPreset,\n initialWysiwygToolbarConfig,\n initialMarkupToolbarConfig,\n initialWysiwygHiddenActionsConfig,\n initialMarkupHiddenActionsConfig,\n editor.preset,\n ],\n );\n\n const rerender = useUpdate();\n useLayoutEffect(() => {\n editor.on('rerender', rerender);\n return () => {\n editor.off('rerender', rerender);\n };\n }, [editor, rerender]);\n\n const onModeChange = useCallback(\n (type: MarkdownEditorMode) => {\n editor.changeEditorMode({mode: type, reason: 'settings'});\n unsetShowPreview();\n },\n [editor, unsetShowPreview],\n );\n const onToolbarVisibilityChange = useCallback(\n (visible: boolean) => {\n editor.changeToolbarVisibility({visible});\n },\n [editor],\n );\n const onSplitModeChange = useCallback(\n (splitModeEnabled: boolean) => {\n unsetShowPreview();\n editor.changeSplitModeEnabled({splitModeEnabled});\n },\n [editor, unsetShowPreview],\n );\n\n const onShowPreviewChange = useCallback(\n (showPreviewValue: boolean) => {\n editor.changeSplitModeEnabled({splitModeEnabled: false});\n if (showPreviewValue !== showPreview) toggleShowPreview();\n },\n [editor, showPreview, toggleShowPreview],\n );\n\n const editorMode = editor.currentMode;\n const markupSplitMode =\n editor.splitModeEnabled && editor.splitMode && editorMode === 'markup';\n const canRenderPreview = Boolean(\n editor.renderPreview && editorMode === 'markup' && !editor.splitModeEnabled,\n );\n\n useKey(\n (e) => canRenderPreview && isPreviewKeyDown(e),\n (e) => {\n e.preventDefault();\n onShowPreviewChange(!showPreview);\n },\n {event: 'keydown'},\n [showPreview, editorMode, onShowPreviewChange, canRenderPreview],\n );\n\n const editorWrapperRef = useRef(null);\n const splitModeViewWrapperRef = useRef(null);\n\n useEffect(() => {\n if (showPreview) {\n divRef.current.focus();\n }\n }, [divRef, showPreview]);\n\n useKey(\n (e) =>\n enableSubmitInPreview &&\n showPreview &&\n isWrapperFocused(divRef) &&\n isSubmitKeyDown(e),\n () => {\n editor.emit('submit', null);\n\n if (hidePreviewAfterSubmit) {\n onShowPreviewChange(false);\n }\n },\n {event: 'keydown'},\n [hidePreviewAfterSubmit, enableSubmitInPreview, showPreview, showPreview],\n );\n\n const settings = useMemo(\n () => (\n <Settings\n mode={editorMode}\n settingsVisible={settingsVisible}\n onModeChange={onModeChange}\n toolbarVisibility={editor.toolbarVisible && !showPreview}\n onToolbarVisibilityChange={onToolbarVisibilityChange}\n onSplitModeChange={onSplitModeChange}\n splitModeEnabled={editor.splitModeEnabled}\n splitMode={editor.splitMode}\n stickyToolbar={stickyToolbar}\n onShowPreviewChange={onShowPreviewChange}\n showPreview={showPreview}\n renderPreviewButton={canRenderPreview}\n />\n ),\n [\n editorMode,\n settingsVisible,\n editor.toolbarVisible,\n editor.splitModeEnabled,\n editor.splitMode,\n onModeChange,\n showPreview,\n onToolbarVisibilityChange,\n onSplitModeChange,\n stickyToolbar,\n onShowPreviewChange,\n canRenderPreview,\n ],\n );\n\n const toaster = useToaster();\n\n return (\n <ErrorBoundary\n onError={(e) => {\n globalLogger.error(e);\n editor.logger.error(e);\n }}\n fallbackRender={({error, resetErrorBoundary}) => {\n toaster.add({\n theme: 'danger',\n name: 'g-md-editor-error',\n title: i18n('error-title'),\n content: error.message,\n });\n setTimeout(() => {\n resetErrorBoundary();\n editor.changeEditorMode({\n mode: 'markup',\n reason: 'error-boundary',\n emit: false,\n });\n });\n return null;\n }}\n >\n <div\n ref={divRef}\n data-qa={qa}\n className={b(\n {\n settings: settingsVisible,\n split: markupSplitMode && editor.splitMode,\n },\n [className],\n )}\n role=\"button\"\n tabIndex={0}\n >\n <div\n className={b('editor-wrapper')}\n ref={editorWrapperRef}\n data-qa=\"g-md-editor-mode\"\n data-mode={editor.currentMode}\n >\n {showPreview ? (\n <>\n <div className={b('preview-wrapper')}>\n {editor.renderPreview?.({\n getValue: editor.getValue,\n mode: 'preview',\n md: editor.mdOptions,\n directiveSyntax: editor.directiveSyntax,\n })}\n </div>\n {settings}\n </>\n ) : (\n <>\n {editorMode === 'wysiwyg' && (\n <WysiwygEditorView\n editor={editor}\n autofocus={autofocus}\n settingsVisible={settingsVisible}\n toolbarConfig={wysiwygToolbarConfig}\n toolbarVisible={editor.toolbarVisible}\n hiddenActionsConfig={wysiwygHiddenActionsConfig}\n className={b('editor', {mode: editorMode})}\n toolbarClassName={b('toolbar')}\n stickyToolbar={stickyToolbar}\n >\n {editor.toolbarVisible && settingsVisible && settings}\n </WysiwygEditorView>\n )}\n {editorMode === 'markup' && (\n <MarkupEditorView\n editor={editor}\n autofocus={autofocus}\n settingsVisible={settingsVisible}\n toolbarConfig={markupToolbarConfig}\n toolbarVisible={editor.toolbarVisible}\n splitMode={editor.splitMode}\n splitModeEnabled={editor.splitModeEnabled}\n hiddenActionsConfig={markupHiddenActionsConfig}\n className={b('editor', {mode: editorMode})}\n toolbarClassName={b('toolbar')}\n stickyToolbar={stickyToolbar}\n >\n {editor.toolbarVisible && settings}\n </MarkupEditorView>\n )}\n {!editor.toolbarVisible && settings}\n </>\n )}\n </div>\n\n {markupSplitMode && (\n <>\n {editor.splitMode === 'horizontal' ? (\n <HorizontalDrag\n editor={editor}\n isMounted={isMounted}\n leftElRef={editorWrapperRef}\n rightElRef={splitModeViewWrapperRef}\n wrapperRef={divRef}\n />\n ) : (\n <div className={b('resizer')} />\n )}\n <SplitModeView editor={editor} ref={splitModeViewWrapperRef} />\n </>\n )}\n </div>\n </ErrorBoundary>\n );\n },\n);\nMarkdownEditorView.displayName = 'MarkdownEditorView';\n\ninterface MarkupSearchAnchorProps extends Pick<EditorSettingsProps, 'mode'> {}\n\nconst MarkupSearchAnchor: React.FC<MarkupSearchAnchorProps> = ({mode}) => (\n <>{mode === 'markup' && <div className=\"g-md-search-anchor\"></div>}</>\n);\n\nfunction Settings(props: EditorSettingsProps & {stickyToolbar: boolean}) {\n const wrapperRef = useRef<HTMLDivElement>(null);\n const isSticky = useSticky(wrapperRef) && props.toolbarVisibility && props.stickyToolbar;\n\n return (\n <>\n {(props.renderPreviewButton || props.settingsVisible) && (\n <div className={b('settings-wrapper')}>\n <div\n ref={wrapperRef}\n className={stickyCn.settings({\n withToolbar: props.toolbarVisibility,\n stickyActive: isSticky,\n })}\n >\n <EditorSettings {...props} />\n <MarkupSearchAnchor {...props} />\n </div>\n </div>\n )}\n </>\n );\n}\n\nfunction isPreviewKeyDown(e: KeyboardEvent) {\n const modKey = isMac() ? e.metaKey : e.ctrlKey;\n return modKey && e.shiftKey && e.code === 'KeyP';\n}\n\nfunction isWrapperFocused(divRef: React.RefObject<HTMLDivElement>) {\n return document.activeElement === divRef.current;\n}\n\nfunction isSubmitKeyDown(e: KeyboardEvent) {\n const modKey = isMac() ? e.metaKey : e.ctrlKey;\n return modKey && e.code === 'Enter';\n}\n"]}
|