ngx-editor
Version:
Rich Text Editor for angular using ProseMirror
60 lines • 5.67 kB
JavaScript
// Icons source: https://material.io/
import bold from './bold';
import italic from './italic';
import code from './code';
import underline from './underline';
import strike from './strike';
import orderedList from './ordered_list';
import bulletList from './bullet_list';
import quote from './quote';
import link from './link';
import unlink from './unlink';
import image from './image';
import alignLeft from './align_left';
import alignCenter from './align_center';
import alignRight from './align_right';
import alignJustify from './align_justify';
import textColor from './text_color';
import colorFill from './color_fill';
import horizontalRule from './horizontal_rule';
const DEFAULT_ICON_HEIGHT = 20;
const DEFAULT_ICON_WIDTH = 20;
const DEFAULT_ICON_FILL = 'currentColor';
const icons = {
bold,
italic,
code,
underline,
strike,
ordered_list: orderedList,
bullet_list: bulletList,
blockquote: quote,
link,
unlink,
image,
align_left: alignLeft,
align_center: alignCenter,
align_right: alignRight,
align_justify: alignJustify,
text_color: textColor,
color_fill: colorFill,
horizontal_rule: horizontalRule,
};
class Icon {
static get(name, fill = DEFAULT_ICON_FILL) {
const path = icons[name] || '<path></path>';
return `
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill=${fill}
height=${DEFAULT_ICON_HEIGHT}
width=${DEFAULT_ICON_WIDTH}
>
${path}
</svg>
`;
}
}
export default Icon;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZWRpdG9yL3NyYy9saWIvaWNvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEscUNBQXFDO0FBRXJDLE9BQU8sSUFBSSxNQUFNLFFBQVEsQ0FBQztBQUMxQixPQUFPLE1BQU0sTUFBTSxVQUFVLENBQUM7QUFDOUIsT0FBTyxJQUFJLE1BQU0sUUFBUSxDQUFDO0FBQzFCLE9BQU8sU0FBUyxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLE1BQU0sTUFBTSxVQUFVLENBQUM7QUFDOUIsT0FBTyxXQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sS0FBSyxNQUFNLFNBQVMsQ0FBQztBQUM1QixPQUFPLElBQUksTUFBTSxRQUFRLENBQUM7QUFDMUIsT0FBTyxNQUFNLE1BQU0sVUFBVSxDQUFDO0FBQzlCLE9BQU8sS0FBSyxNQUFNLFNBQVMsQ0FBQztBQUM1QixPQUFPLFNBQVMsTUFBTSxjQUFjLENBQUM7QUFDckMsT0FBTyxXQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sWUFBWSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sU0FBUyxNQUFNLGNBQWMsQ0FBQztBQUNyQyxPQUFPLFNBQVMsTUFBTSxjQUFjLENBQUM7QUFDckMsT0FBTyxjQUFjLE1BQU0sbUJBQW1CLENBQUM7QUFFL0MsTUFBTSxtQkFBbUIsR0FBRyxFQUFFLENBQUM7QUFDL0IsTUFBTSxrQkFBa0IsR0FBRyxFQUFFLENBQUM7QUFDOUIsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUM7QUFFekMsTUFBTSxLQUFLLEdBQXdCO0lBQ2pDLElBQUk7SUFDSixNQUFNO0lBQ04sSUFBSTtJQUNKLFNBQVM7SUFDVCxNQUFNO0lBQ04sWUFBWSxFQUFFLFdBQVc7SUFDekIsV0FBVyxFQUFFLFVBQVU7SUFDdkIsVUFBVSxFQUFFLEtBQUs7SUFDakIsSUFBSTtJQUNKLE1BQU07SUFDTixLQUFLO0lBQ0wsVUFBVSxFQUFFLFNBQVM7SUFDckIsWUFBWSxFQUFFLFdBQVc7SUFDekIsV0FBVyxFQUFFLFVBQVU7SUFDdkIsYUFBYSxFQUFFLFlBQVk7SUFDM0IsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFDckIsZUFBZSxFQUFFLGNBQWM7Q0FDaEMsQ0FBQztBQUVGLE1BQU0sSUFBSTtJQUNSLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBd0IsRUFBRSxJQUFJLEdBQUcsaUJBQWlCO1FBQzNELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxlQUFlLENBQUM7UUFDNUMsT0FBTzs7OztlQUlJLElBQUk7aUJBQ0YsbUJBQW1CO2dCQUNwQixrQkFBa0I7O1VBRXhCLElBQUk7O0tBRVQsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQUVELGVBQWUsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gSWNvbnMgc291cmNlOiBodHRwczovL21hdGVyaWFsLmlvL1xuXG5pbXBvcnQgYm9sZCBmcm9tICcuL2JvbGQnO1xuaW1wb3J0IGl0YWxpYyBmcm9tICcuL2l0YWxpYyc7XG5pbXBvcnQgY29kZSBmcm9tICcuL2NvZGUnO1xuaW1wb3J0IHVuZGVybGluZSBmcm9tICcuL3VuZGVybGluZSc7XG5pbXBvcnQgc3RyaWtlIGZyb20gJy4vc3RyaWtlJztcbmltcG9ydCBvcmRlcmVkTGlzdCBmcm9tICcuL29yZGVyZWRfbGlzdCc7XG5pbXBvcnQgYnVsbGV0TGlzdCBmcm9tICcuL2J1bGxldF9saXN0JztcbmltcG9ydCBxdW90ZSBmcm9tICcuL3F1b3RlJztcbmltcG9ydCBsaW5rIGZyb20gJy4vbGluayc7XG5pbXBvcnQgdW5saW5rIGZyb20gJy4vdW5saW5rJztcbmltcG9ydCBpbWFnZSBmcm9tICcuL2ltYWdlJztcbmltcG9ydCBhbGlnbkxlZnQgZnJvbSAnLi9hbGlnbl9sZWZ0JztcbmltcG9ydCBhbGlnbkNlbnRlciBmcm9tICcuL2FsaWduX2NlbnRlcic7XG5pbXBvcnQgYWxpZ25SaWdodCBmcm9tICcuL2FsaWduX3JpZ2h0JztcbmltcG9ydCBhbGlnbkp1c3RpZnkgZnJvbSAnLi9hbGlnbl9qdXN0aWZ5JztcbmltcG9ydCB0ZXh0Q29sb3IgZnJvbSAnLi90ZXh0X2NvbG9yJztcbmltcG9ydCBjb2xvckZpbGwgZnJvbSAnLi9jb2xvcl9maWxsJztcbmltcG9ydCBob3Jpem9udGFsUnVsZSBmcm9tICcuL2hvcml6b250YWxfcnVsZSc7XG5cbmNvbnN0IERFRkFVTFRfSUNPTl9IRUlHSFQgPSAyMDtcbmNvbnN0IERFRkFVTFRfSUNPTl9XSURUSCA9IDIwO1xuY29uc3QgREVGQVVMVF9JQ09OX0ZJTEwgPSAnY3VycmVudENvbG9yJztcblxuY29uc3QgaWNvbnM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7XG4gIGJvbGQsXG4gIGl0YWxpYyxcbiAgY29kZSxcbiAgdW5kZXJsaW5lLFxuICBzdHJpa2UsXG4gIG9yZGVyZWRfbGlzdDogb3JkZXJlZExpc3QsXG4gIGJ1bGxldF9saXN0OiBidWxsZXRMaXN0LFxuICBibG9ja3F1b3RlOiBxdW90ZSxcbiAgbGluayxcbiAgdW5saW5rLFxuICBpbWFnZSxcbiAgYWxpZ25fbGVmdDogYWxpZ25MZWZ0LFxuICBhbGlnbl9jZW50ZXI6IGFsaWduQ2VudGVyLFxuICBhbGlnbl9yaWdodDogYWxpZ25SaWdodCxcbiAgYWxpZ25fanVzdGlmeTogYWxpZ25KdXN0aWZ5LFxuICB0ZXh0X2NvbG9yOiB0ZXh0Q29sb3IsXG4gIGNvbG9yX2ZpbGw6IGNvbG9yRmlsbCxcbiAgaG9yaXpvbnRhbF9ydWxlOiBob3Jpem9udGFsUnVsZSxcbn07XG5cbmNsYXNzIEljb24ge1xuICBzdGF0aWMgZ2V0KG5hbWU6IGtleW9mIHR5cGVvZiBpY29ucywgZmlsbCA9IERFRkFVTFRfSUNPTl9GSUxMKTogc3RyaW5nIHtcbiAgICBjb25zdCBwYXRoID0gaWNvbnNbbmFtZV0gfHwgJzxwYXRoPjwvcGF0aD4nO1xuICAgIHJldHVybiBgXG4gICAgICA8c3ZnXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgZmlsbD0ke2ZpbGx9XG4gICAgICAgIGhlaWdodD0ke0RFRkFVTFRfSUNPTl9IRUlHSFR9XG4gICAgICAgIHdpZHRoPSR7REVGQVVMVF9JQ09OX1dJRFRIfVxuICAgICAgPlxuICAgICAgICAke3BhdGh9XG4gICAgICA8L3N2Zz5cbiAgICBgO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEljb247XG4iXX0=