@uiw/react-md-editor
Version:
A markdown editor with preview, implemented with React.js and TypeScript.
39 lines (37 loc) • 1.99 kB
JavaScript
import * as React from 'react';
import { selectWord } from '../utils/markdownUtils';
import { jsx as _jsx } from "react/jsx-runtime";
export var strikethrough = {
name: 'strikethrough',
keyCommand: 'strikethrough',
shortcuts: 'ctrl+shift+x',
buttonProps: {
'aria-label': 'Add strikethrough text',
title: 'Add strikethrough text'
},
icon: /*#__PURE__*/_jsx("svg", {
"data-name": "strikethrough",
width: "12",
height: "12",
role: "img",
viewBox: "0 0 512 512",
children: /*#__PURE__*/_jsx("path", {
fill: "currentColor",
d: "M496 288H16c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h480c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16zm-214.666 16c27.258 12.937 46.524 28.683 46.524 56.243 0 33.108-28.977 53.676-75.621 53.676-32.325 0-76.874-12.08-76.874-44.271V368c0-8.837-7.164-16-16-16H113.75c-8.836 0-16 7.163-16 16v19.204c0 66.845 77.717 101.82 154.487 101.82 88.578 0 162.013-45.438 162.013-134.424 0-19.815-3.618-36.417-10.143-50.6H281.334zm-30.952-96c-32.422-13.505-56.836-28.946-56.836-59.683 0-33.92 30.901-47.406 64.962-47.406 42.647 0 64.962 16.593 64.962 32.985V136c0 8.837 7.164 16 16 16h45.613c8.836 0 16-7.163 16-16v-30.318c0-52.438-71.725-79.875-142.575-79.875-85.203 0-150.726 40.972-150.726 125.646 0 22.71 4.665 41.176 12.777 56.547h129.823z"
})
}),
execute: (state, api) => {
// Adjust the selection to encompass the whole word if the caret is inside one
var newSelectionRange = selectWord({
text: state.text,
selection: state.selection
});
var state1 = api.setSelectionRange(newSelectionRange); // Replaces the current selection with the strikethrough mark up
var state2 = api.replaceSelection("~~" + state1.selectedText + "~~"); // Adjust the selection to not contain the ~~
api.setSelectionRange({
start: state2.selection.end - 2 - state1.selectedText.length,
end: state2.selection.end - 2
});
}
};
//# sourceMappingURL=strikeThrough.js.map