UNPKG

@uiw/react-md-editor

Version:

A markdown editor with preview, implemented with React.js and TypeScript.

298 lines (258 loc) 7.67 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports.TextAreaTextApi = exports.TextAreaCommandOrchestrator = void 0; Object.defineProperty(exports, "bold", { enumerable: true, get: function get() { return _bold.bold; } }); Object.defineProperty(exports, "checkedListCommand", { enumerable: true, get: function get() { return _list.checkedListCommand; } }); Object.defineProperty(exports, "code", { enumerable: true, get: function get() { return _code.code; } }); Object.defineProperty(exports, "codeBlock", { enumerable: true, get: function get() { return _code.codeBlock; } }); Object.defineProperty(exports, "codeEdit", { enumerable: true, get: function get() { return _preview.codeEdit; } }); Object.defineProperty(exports, "codeLive", { enumerable: true, get: function get() { return _preview.codeLive; } }); Object.defineProperty(exports, "codePreview", { enumerable: true, get: function get() { return _preview.codePreview; } }); Object.defineProperty(exports, "divider", { enumerable: true, get: function get() { return _divider.divider; } }); Object.defineProperty(exports, "fullscreen", { enumerable: true, get: function get() { return _fullscreen.fullscreen; } }); exports.getExtraCommands = exports.getCommands = void 0; exports.getStateFromTextArea = getStateFromTextArea; Object.defineProperty(exports, "group", { enumerable: true, get: function get() { return _group.group; } }); Object.defineProperty(exports, "hr", { enumerable: true, get: function get() { return _hr.hr; } }); Object.defineProperty(exports, "image", { enumerable: true, get: function get() { return _image.image; } }); Object.defineProperty(exports, "italic", { enumerable: true, get: function get() { return _italic.italic; } }); Object.defineProperty(exports, "link", { enumerable: true, get: function get() { return _link.link; } }); Object.defineProperty(exports, "orderedListCommand", { enumerable: true, get: function get() { return _list.orderedListCommand; } }); Object.defineProperty(exports, "quote", { enumerable: true, get: function get() { return _quote.quote; } }); Object.defineProperty(exports, "strikethrough", { enumerable: true, get: function get() { return _strikeThrough.strikethrough; } }); Object.defineProperty(exports, "title", { enumerable: true, get: function get() { return _title.title; } }); Object.defineProperty(exports, "title1", { enumerable: true, get: function get() { return _title2.title1; } }); Object.defineProperty(exports, "title2", { enumerable: true, get: function get() { return _title3.title2; } }); Object.defineProperty(exports, "title3", { enumerable: true, get: function get() { return _title4.title3; } }); Object.defineProperty(exports, "title4", { enumerable: true, get: function get() { return _title5.title4; } }); Object.defineProperty(exports, "title5", { enumerable: true, get: function get() { return _title6.title5; } }); Object.defineProperty(exports, "title6", { enumerable: true, get: function get() { return _title7.title6; } }); Object.defineProperty(exports, "unorderedListCommand", { enumerable: true, get: function get() { return _list.unorderedListCommand; } }); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _bold = require("./bold"); var _code = require("./code"); var _italic = require("./italic"); var _link = require("./link"); var _list = require("./list"); var _quote = require("./quote"); var _hr = require("./hr"); var _title = require("./title"); var _title2 = require("./title1"); var _title3 = require("./title2"); var _title4 = require("./title3"); var _title5 = require("./title4"); var _title6 = require("./title5"); var _title7 = require("./title6"); var _comment = require("./comment"); var _group = require("./group"); var _divider = require("./divider"); var _preview = require("./preview"); var _fullscreen = require("./fullscreen"); var _image = require("./image"); var _strikeThrough = require("./strikeThrough"); var _InsertTextAtPosition = require("../utils/InsertTextAtPosition"); var getCommands = function getCommands() { return [_comment.comment, _bold.bold, _italic.italic, _strikeThrough.strikethrough, _hr.hr, _title.title, _divider.divider, _link.link, _quote.quote, _code.code, _code.codeBlock, _image.image, _divider.divider, _list.unorderedListCommand, _list.orderedListCommand, _list.checkedListCommand]; }; exports.getCommands = getCommands; var getExtraCommands = function getExtraCommands() { return [_preview.codeEdit, _preview.codeLive, _preview.codePreview, _divider.divider, _fullscreen.fullscreen]; }; exports.getExtraCommands = getExtraCommands; function getStateFromTextArea(textArea) { return { selection: { start: textArea.selectionStart, end: textArea.selectionEnd }, text: textArea.value, selectedText: textArea.value.slice(textArea.selectionStart, textArea.selectionEnd) }; } var TextAreaTextApi = /*#__PURE__*/function () { function TextAreaTextApi(textArea) { (0, _classCallCheck2["default"])(this, TextAreaTextApi); (0, _defineProperty2["default"])(this, "textArea", void 0); this.textArea = textArea; } /** * Replaces the current selection with the new text. This will make the new selectedText to be empty, the * selection start and selection end will be the same and will both point to the end * @param text Text that should replace the current selection */ (0, _createClass2["default"])(TextAreaTextApi, [{ key: "replaceSelection", value: function replaceSelection(text) { (0, _InsertTextAtPosition.insertTextAtPosition)(this.textArea, text); return getStateFromTextArea(this.textArea); } /** * Selects the specified text range * @param selection */ }, { key: "setSelectionRange", value: function setSelectionRange(selection) { this.textArea.focus(); this.textArea.selectionStart = selection.start; this.textArea.selectionEnd = selection.end; return getStateFromTextArea(this.textArea); } }]); return TextAreaTextApi; }(); exports.TextAreaTextApi = TextAreaTextApi; var TextAreaCommandOrchestrator = /*#__PURE__*/function () { function TextAreaCommandOrchestrator(textArea) { (0, _classCallCheck2["default"])(this, TextAreaCommandOrchestrator); (0, _defineProperty2["default"])(this, "textArea", void 0); (0, _defineProperty2["default"])(this, "textApi", void 0); this.textArea = textArea; this.textApi = new TextAreaTextApi(textArea); } (0, _createClass2["default"])(TextAreaCommandOrchestrator, [{ key: "getState", value: function getState() { if (!this.textArea) return false; return getStateFromTextArea(this.textArea); } }, { key: "executeCommand", value: function executeCommand(command, dispatch, state) { command.execute && command.execute(getStateFromTextArea(this.textArea), this.textApi, dispatch, state); } }]); return TextAreaCommandOrchestrator; }(); exports.TextAreaCommandOrchestrator = TextAreaCommandOrchestrator; //# sourceMappingURL=index.js.map