ngx-editor
Version:
Rich Text Editor for angular using ProseMirror
58 lines • 5.4 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';
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
};
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZWRpdG9yL3NyYy9saWIvaWNvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEscUNBQXFDO0FBRXJDLE9BQU8sSUFBSSxNQUFNLFFBQVEsQ0FBQztBQUMxQixPQUFPLE1BQU0sTUFBTSxVQUFVLENBQUM7QUFDOUIsT0FBTyxJQUFJLE1BQU0sUUFBUSxDQUFDO0FBQzFCLE9BQU8sU0FBUyxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLE1BQU0sTUFBTSxVQUFVLENBQUM7QUFDOUIsT0FBTyxXQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sS0FBSyxNQUFNLFNBQVMsQ0FBQztBQUM1QixPQUFPLElBQUksTUFBTSxRQUFRLENBQUM7QUFDMUIsT0FBTyxNQUFNLE1BQU0sVUFBVSxDQUFDO0FBQzlCLE9BQU8sS0FBSyxNQUFNLFNBQVMsQ0FBQztBQUM1QixPQUFPLFNBQVMsTUFBTSxjQUFjLENBQUM7QUFDckMsT0FBTyxXQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sWUFBWSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sU0FBUyxNQUFNLGNBQWMsQ0FBQztBQUNyQyxPQUFPLFNBQVMsTUFBTSxjQUFjLENBQUM7QUFFckMsTUFBTSxtQkFBbUIsR0FBRyxFQUFFLENBQUM7QUFDL0IsTUFBTSxrQkFBa0IsR0FBRyxFQUFFLENBQUM7QUFDOUIsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUE7QUFFeEMsTUFBTSxLQUFLLEdBQXdCO0lBQ2pDLElBQUk7SUFDSixNQUFNO0lBQ04sSUFBSTtJQUNKLFNBQVM7SUFDVCxNQUFNO0lBQ04sWUFBWSxFQUFFLFdBQVc7SUFDekIsV0FBVyxFQUFFLFVBQVU7SUFDdkIsVUFBVSxFQUFFLEtBQUs7SUFDakIsSUFBSTtJQUNKLE1BQU07SUFDTixLQUFLO0lBQ0wsVUFBVSxFQUFFLFNBQVM7SUFDckIsWUFBWSxFQUFFLFdBQVc7SUFDekIsV0FBVyxFQUFFLFVBQVU7SUFDdkIsYUFBYSxFQUFFLFlBQVk7SUFDM0IsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7Q0FDdEIsQ0FBQztBQUVGLE1BQU0sSUFBSTtJQUNSLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBd0IsRUFBRSxJQUFJLEdBQUcsaUJBQWlCO1FBQzNELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxlQUFlLENBQUM7UUFDNUMsT0FBTzs7OztlQUlJLElBQUk7aUJBQ0YsbUJBQW1CO2dCQUNwQixrQkFBa0I7O1VBRXhCLElBQUk7O0tBRVQsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQUVELGVBQWUsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gSWNvbnMgc291cmNlOiBodHRwczovL21hdGVyaWFsLmlvL1xuXG5pbXBvcnQgYm9sZCBmcm9tICcuL2JvbGQnO1xuaW1wb3J0IGl0YWxpYyBmcm9tICcuL2l0YWxpYyc7XG5pbXBvcnQgY29kZSBmcm9tICcuL2NvZGUnO1xuaW1wb3J0IHVuZGVybGluZSBmcm9tICcuL3VuZGVybGluZSc7XG5pbXBvcnQgc3RyaWtlIGZyb20gJy4vc3RyaWtlJztcbmltcG9ydCBvcmRlcmVkTGlzdCBmcm9tICcuL29yZGVyZWRfbGlzdCc7XG5pbXBvcnQgYnVsbGV0TGlzdCBmcm9tICcuL2J1bGxldF9saXN0JztcbmltcG9ydCBxdW90ZSBmcm9tICcuL3F1b3RlJztcbmltcG9ydCBsaW5rIGZyb20gJy4vbGluayc7XG5pbXBvcnQgdW5saW5rIGZyb20gJy4vdW5saW5rJztcbmltcG9ydCBpbWFnZSBmcm9tICcuL2ltYWdlJztcbmltcG9ydCBhbGlnbkxlZnQgZnJvbSAnLi9hbGlnbl9sZWZ0JztcbmltcG9ydCBhbGlnbkNlbnRlciBmcm9tICcuL2FsaWduX2NlbnRlcic7XG5pbXBvcnQgYWxpZ25SaWdodCBmcm9tICcuL2FsaWduX3JpZ2h0JztcbmltcG9ydCBhbGlnbkp1c3RpZnkgZnJvbSAnLi9hbGlnbl9qdXN0aWZ5JztcbmltcG9ydCB0ZXh0Q29sb3IgZnJvbSAnLi90ZXh0X2NvbG9yJztcbmltcG9ydCBjb2xvckZpbGwgZnJvbSAnLi9jb2xvcl9maWxsJztcblxuY29uc3QgREVGQVVMVF9JQ09OX0hFSUdIVCA9IDIwO1xuY29uc3QgREVGQVVMVF9JQ09OX1dJRFRIID0gMjA7XG5jb25zdCBERUZBVUxUX0lDT05fRklMTCA9ICdjdXJyZW50Q29sb3InXG5cbmNvbnN0IGljb25zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge1xuICBib2xkLFxuICBpdGFsaWMsXG4gIGNvZGUsXG4gIHVuZGVybGluZSxcbiAgc3RyaWtlLFxuICBvcmRlcmVkX2xpc3Q6IG9yZGVyZWRMaXN0LFxuICBidWxsZXRfbGlzdDogYnVsbGV0TGlzdCxcbiAgYmxvY2txdW90ZTogcXVvdGUsXG4gIGxpbmssXG4gIHVubGluayxcbiAgaW1hZ2UsXG4gIGFsaWduX2xlZnQ6IGFsaWduTGVmdCxcbiAgYWxpZ25fY2VudGVyOiBhbGlnbkNlbnRlcixcbiAgYWxpZ25fcmlnaHQ6IGFsaWduUmlnaHQsXG4gIGFsaWduX2p1c3RpZnk6IGFsaWduSnVzdGlmeSxcbiAgdGV4dF9jb2xvcjogdGV4dENvbG9yLFxuICBjb2xvcl9maWxsOiBjb2xvckZpbGxcbn07XG5cbmNsYXNzIEljb24ge1xuICBzdGF0aWMgZ2V0KG5hbWU6IGtleW9mIHR5cGVvZiBpY29ucywgZmlsbCA9IERFRkFVTFRfSUNPTl9GSUxMKTogc3RyaW5nIHtcbiAgICBjb25zdCBwYXRoID0gaWNvbnNbbmFtZV0gfHwgJzxwYXRoPjwvcGF0aD4nO1xuICAgIHJldHVybiBgXG4gICAgICA8c3ZnXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgZmlsbD0ke2ZpbGx9XG4gICAgICAgIGhlaWdodD0ke0RFRkFVTFRfSUNPTl9IRUlHSFR9XG4gICAgICAgIHdpZHRoPSR7REVGQVVMVF9JQ09OX1dJRFRIfVxuICAgICAgPlxuICAgICAgICAke3BhdGh9XG4gICAgICA8L3N2Zz5cbiAgICBgO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEljb247XG4iXX0=