@vericus/slate-kit-basic-text-formatting-renderer
Version:
TODO: fill in this description later
150 lines (123 loc) • 3.92 kB
JavaScript
exports.__esModule = true;
exports.default = void 0;
var _react = require("react");
var _slateKitUtilsRegisterHelpers = _interopRequireDefault(require("@vericus/slate-kit-utils-register-helpers"));
var _slatePropTypes = _interopRequireDefault(require("slate-prop-types"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _defineProperty(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
function _extends() {
_extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
return _extends.apply(this, arguments);
}
function ownKeys(object, enumerableOnly) {
var keys = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
if (enumerableOnly) symbols = symbols.filter(function (sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
});
keys.push.apply(keys, symbols);
}
return keys;
}
function _objectSpread2(target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i] != null ? arguments[i] : {};
if (i % 2) {
ownKeys(Object(source), true).forEach(function (key) {
_defineProperty(target, key, source[key]);
});
} else if (Object.getOwnPropertyDescriptors) {
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
} else {
ownKeys(Object(source)).forEach(function (key) {
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
});
}
}
return target;
}
var defaultStyle = {
textDecoration: "inherit",
textDecorationColor: "inherit"
};
var renderMark = function renderMark(_ref) {
var children = _ref.children,
attributes = _ref.attributes,
className = _ref.className;
return /*#__PURE__*/(0, _react.createElement)("span", _extends({}, attributes, {
className: className
}), children);
};
renderMark.propTypes = _slatePropTypes.default.Mark;
function bold(props) {
return renderMark(_objectSpread2(_objectSpread2({}, props), {}, {
attributes: _objectSpread2(_objectSpread2({}, props.attributes), {}, {
style: _objectSpread2(_objectSpread2({}, defaultStyle), {}, {
fontWeight: "bold"
})
})
}));
}
function italic(props) {
return renderMark(_objectSpread2(_objectSpread2({}, props), {}, {
attributes: _objectSpread2(_objectSpread2({}, props.attributes), {}, {
style: _objectSpread2(_objectSpread2({}, defaultStyle), {}, {
fontStyle: "italic"
})
})
}));
}
function underline(props) {
return renderMark(_objectSpread2(_objectSpread2({}, props), {}, {
attributes: _objectSpread2(_objectSpread2({}, props.attributes), {}, {
style: _objectSpread2(_objectSpread2({}, defaultStyle), {}, {
textDecoration: "underline"
})
})
}));
}
function strikethrough(props) {
return renderMark(_objectSpread2(_objectSpread2({}, props), {}, {
attributes: _objectSpread2(_objectSpread2({}, props.attributes), {}, {
style: _objectSpread2(_objectSpread2({}, defaultStyle), {}, {
textDecoration: "line-through"
})
})
}));
}
function createRenderMark() {
var marksRenderer = {
bold: bold,
italic: italic,
underline: underline,
strikethrough: strikethrough
};
return (0, _slateKitUtilsRegisterHelpers.default)({
marksRenderer: marksRenderer
});
}
var _default = createRenderMark;
exports.default = _default;