planning
All checks were successful
Publish To Prod / deploy_and_publish (push) Successful in 35s

This commit is contained in:
2024-10-14 09:15:30 +02:00
parent bcba00a730
commit 6e64e138e2
21059 changed files with 2317811 additions and 1 deletions

View File

@@ -0,0 +1,38 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _isHotkey = _interopRequireDefault(require("is-hotkey"));
var _toggleMark = _interopRequireDefault(require("./toggleMark"));
var _keyDownShiftEnter = _interopRequireDefault(require("./keyDownShiftEnter"));
var _toggleLink = _interopRequireDefault(require("./toggleLink"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const MARK_HOTKEYS = {
'mod+b': 'bold',
'mod+i': 'italic',
'mod+u': 'underline',
'mod+`': 'code',
'mod+shift+s': 'delete',
'mod+shift+c': 'code'
};
function keyDown(event, editor) {
if (!editor.selection) return;
for (const hotkey in MARK_HOTKEYS) {
if ((0, _isHotkey.default)(hotkey, event)) {
(0, _toggleMark.default)(editor, MARK_HOTKEYS[hotkey]);
event.preventDefault();
return false;
}
}
if ((0, _isHotkey.default)('mod+k', event)) {
event.preventDefault();
return (0, _toggleLink.default)(editor);
}
if ((0, _isHotkey.default)('shift+enter', event)) {
event.preventDefault();
return (0, _keyDownShiftEnter.default)(editor);
}
}
var _default = exports.default = keyDown;

View File

@@ -0,0 +1,26 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _slate = require("slate");
function keyDownShiftEnter(editor) {
if (!editor.selection) return;
const focus = {
path: [...editor.selection.focus.path.slice(0, -1), editor.selection.focus.path[editor.selection.focus.path.length - 1] + 2],
offset: 0
};
_slate.Transforms.insertNodes(editor, {
type: 'break',
children: [{
text: ''
}]
});
_slate.Editor.normalize(editor, {
force: true
});
_slate.Transforms.select(editor, focus);
return false;
}
var _default = exports.default = keyDownShiftEnter;

View File

@@ -0,0 +1,23 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _getActiveLink = _interopRequireDefault(require("../selectors/getActiveLink"));
var _unwrapLink = _interopRequireDefault(require("../transforms/unwrapLink"));
var _wrapLink = _interopRequireDefault(require("../transforms/wrapLink"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function toggleLink(editor, promptText) {
var _activeLink$, _activeLink$$data;
const activeLink = (0, _getActiveLink.default)(editor);
const activeUrl = activeLink ? (_activeLink$ = activeLink[0]) === null || _activeLink$ === void 0 ? void 0 : (_activeLink$$data = _activeLink$.data) === null || _activeLink$$data === void 0 ? void 0 : _activeLink$$data.url : '';
const url = window.prompt(promptText, activeUrl);
if (url == null) return;
if (url === '') {
(0, _unwrapLink.default)(editor);
return;
}
(0, _wrapLink.default)(editor, url);
}
var _default = exports.default = toggleLink;

View File

@@ -0,0 +1,17 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _slate = require("slate");
var _isMarkActive = _interopRequireDefault(require("../locations/isMarkActive"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function toggleMark(editor, format) {
if ((0, _isMarkActive.default)(editor, format)) {
_slate.Editor.removeMark(editor, format);
} else {
_slate.Editor.addMark(editor, format, true);
}
}
var _default = exports.default = toggleMark;

View File

@@ -0,0 +1,16 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _slate = require("slate");
function isMarkActive(editor, format) {
const {
selection
} = editor;
if (!selection) return false;
const marks = _slate.Editor.marks(editor);
return marks ? marks[format] === true : false;
}
var _default = exports.default = isMarkActive;

View File

@@ -0,0 +1,14 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _slate = require("slate");
var _matchLink = _interopRequireDefault(require("../../matchers/matchLink"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function getActiveLink(editor) {
const [link] = _slate.Editor.nodes(editor, (0, _matchLink.default)(editor));
return link;
}
var _default = exports.default = getActiveLink;

View File

@@ -0,0 +1,13 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _slate = require("slate");
var _matchLink = _interopRequireDefault(require("../../matchers/matchLink"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function unwrapLink(editor) {
_slate.Transforms.unwrapNodes(editor, (0, _matchLink.default)());
}
var _default = exports.default = unwrapLink;

View File

@@ -0,0 +1,44 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _slate = require("slate");
var _getActiveLink = _interopRequireDefault(require("../selectors/getActiveLink"));
var _matchLink = _interopRequireDefault(require("../../matchers/matchLink"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function wrapLink(editor, url) {
if ((0, _getActiveLink.default)(editor)) {
_slate.Transforms.setNodes(editor, {
data: {
url
}
}, (0, _matchLink.default)());
return;
}
const {
selection
} = editor;
const isCollapsed = selection && _slate.Range.isCollapsed(selection);
const link = {
type: 'link',
data: {
url
},
children: isCollapsed ? [{
text: url
}] : []
};
if (isCollapsed) {
_slate.Transforms.insertNodes(editor, link);
} else {
_slate.Transforms.wrapNodes(editor, link, {
split: true
});
_slate.Transforms.collapse(editor, {
edge: 'end'
});
}
}
var _default = exports.default = wrapLink;

View File

@@ -0,0 +1,22 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _keyDown = _interopRequireDefault(require("./events/keyDown"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function withInlines(editor) {
const {
isInline,
isVoid
} = editor;
editor.isInline = element => ['link', 'button', 'break', 'image'].includes(element.type) || isInline(element);
editor.isVoid = element => ['break', 'image', 'thematic-break'].includes(element.type) || isVoid(element);
if (editor.keyDownHandlers === undefined) {
editor.keyDownHandlers = [];
}
editor.keyDownHandlers.push((event, editor) => (0, _keyDown.default)(event, editor));
return editor;
}
var _default = exports.default = withInlines;