UNPKG

@instechnologies/ng-rooster

Version:

ng-rooster is wrapper to roosterjs, an open source library created by Microsoft: https://github.com/Microsoft/roosterjs.

1,013 lines (1,002 loc) 32 kB
import { Injectable, NgModule, Component, Directive, ElementRef, Input, ViewChild, Output, EventEmitter, forwardRef, defineInjectable } from '@angular/core'; import { filter, map, pairwise } from 'rxjs/operators'; import { getFormatState, Editor, setAlignment, setBackgroundColor, setDirection, setFontName, setFontSize, setIndentation, setTextColor, toggleBlockQuote, toggleBold, toggleBullet, toggleCodeBlock, toggleHeader, toggleItalic, toggleNumbering, toggleStrikethrough, toggleSubscript, toggleSuperscript, toggleUnderline } from 'roosterjs'; import { Observable, Subject, combineLatest } from 'rxjs'; import { isBoolean } from 'util'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class NgRoosterService { constructor() { } } NgRoosterService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ NgRoosterService.ctorParameters = () => []; /** @nocollapse */ NgRoosterService.ngInjectableDef = defineInjectable({ factory: function NgRoosterService_Factory() { return new NgRoosterService(); }, token: NgRoosterService, providedIn: "root" }); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class NgRoosterComponent { constructor() { } /** * @return {?} */ ngOnInit() { } } NgRoosterComponent.decorators = [ { type: Component, args: [{ selector: 'lib-ng-rooster', template: ` <p> ng-rooster works! </p> ` }] } ]; /** @nocollapse */ NgRoosterComponent.ctorParameters = () => []; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class EditorDirective { /** * @param {?} el */ constructor(el) { this.el = el; } /** * @return {?} */ get editor() { return this._editor; } /** * @return {?} */ ngOnInit() { /** @type {?} */ let nativeElement = this.el.nativeElement; this._editor = new Editor(nativeElement, { plugins: this.plugins, defaultFormat: this.defaultFormat, initialContent: this.initialContent, disableRestoreSelectionOnFocus: this.disableRestoreSelectionOnFocus, omitContentEditableAttributeChanges: this.omitContentEditableAttributeChanges }); } } EditorDirective.decorators = [ { type: Directive, args: [{ selector: '[rooster-editor]' },] } ]; /** @nocollapse */ EditorDirective.ctorParameters = () => [ { type: ElementRef } ]; EditorDirective.propDecorators = { plugins: [{ type: Input }], defaultFormat: [{ type: Input }], initialContent: [{ type: Input }], disableRestoreSelectionOnFocus: [{ type: Input }], omitContentEditableAttributeChanges: [{ type: Input }] }; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class FormatStateObservable extends Observable { constructor() { super(((/** * @param {?} subscriber * @return {?} */ subscriber => { this._subject.subscribe((/** * @param {?} value * @return {?} */ (value) => subscriber.next(value)), (/** * @param {?} error * @return {?} */ error => subscriber.error(error)), (/** * @return {?} */ () => subscriber.complete())); }))); this._subject = new Subject(); this._contentChangeSubject = new Subject(); } /** * @return {?} */ getContentObservable() { return this._contentChangeSubject; } /** * @param {?} editor * @return {?} */ initialize(editor) { this.editor = editor; } /** * @return {?} */ getName() { return 'FormatStateObservable'; } /** * @return {?} */ dispose() { this._subject.complete(); this._contentChangeSubject.complete(); } /** * @param {?} event * @return {?} */ onPluginEvent(event) { //console.log(event); switch (event.eventType) { case 4 /* MouseDown */: this.getFormatState(); break; case 0 /* KeyDown */: this.getFormatState(); break; case 6 /* ContentChanged */: this.getFormatState(); case 11 /* Input */: this.getContent(); break; } } /** * @private * @return {?} */ getContent() { /** @type {?} */ let content = this.editor.getContent(true); this._contentChangeSubject.next(content); } /** * @private * @return {?} */ getFormatState() { /** @type {?} */ let state = getFormatState(this.editor); this._subject.next(state); } } /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @param {?} val * @return {?} */ function isNull(val) { if (val) return false; else if (isBoolean(val)) return false; else return true; } /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class RoosterEditorComponent { constructor() { this.onChange = (/** * @return {?} */ () => { }); this.onTouched = (/** * @return {?} */ () => { }); this.editor$ = new Subject(); this.formatStatePlugin$ = new FormatStateObservable(); this.aligment$ = new Subject(); this.backgroundColor$ = new Subject(); this.backgroundColorChange = new EventEmitter(); this.direction$ = new Subject(); this.fontName$ = new Subject(); this.fontNameChange = new EventEmitter(); this.fontSize$ = new Subject(); this.fontSizeChange = new EventEmitter(); this.indentation$ = new Subject(); this.textColor$ = new Subject(); this.textColorChange = new EventEmitter(); this.toggleBlockQuote$$ = new Subject(); this.isBlockQuoteChange = new EventEmitter(); this.toggleBold$$ = new Subject(); this.isBoldChange = new EventEmitter(); this.toggleBullet$$ = new Subject(); this.isBulletChange = new EventEmitter(); this.toggleCodeBlock$$ = new Subject(); this.toggleHeader$$ = new Subject(); this.headerLevelChange = new EventEmitter(); this.toggleItalic$$ = new Subject(); this.isItalicChange = new EventEmitter(); this.toggleNumbering$$ = new Subject(); this.isNumberingChange = new EventEmitter(); this.toggleStrikethrough$$ = new Subject(); this.isStrikeThroughChange = new EventEmitter(); this.toggleSubscript$$ = new Subject(); this.isSubscriptChange = new EventEmitter(); this.toggleSuperscript$$ = new Subject(); this.isSuperscriptChange = new EventEmitter(); this.toggleUnderline$$ = new Subject(); this.isUnderlineChange = new EventEmitter(); combineLatest(this.aligment$, this.editor$).pipe(filter((/** * @param {?} __0 * @return {?} */ ([value, editor]) => !isNull(editor) && !isNull(value)))).subscribe((/** * @param {?} __0 * @return {?} */ ([value, editor]) => { setAlignment(editor, value); })); combineLatest(this.backgroundColor$, this.editor$).pipe(filter((/** * @param {?} __0 * @return {?} */ ([value, editor]) => !isNull(editor) && !isNull(value)))).subscribe((/** * @param {?} __0 * @return {?} */ ([value, editor]) => { setBackgroundColor(editor, value); })); combineLatest(this.direction$, this.editor$).pipe(filter((/** * @param {?} __0 * @return {?} */ ([value, editor]) => !isNull(editor) && !isNull(value)))).subscribe((/** * @param {?} __0 * @return {?} */ ([value, editor]) => { setDirection(editor, value); })); combineLatest(this.fontName$, this.editor$).pipe(filter((/** * @param {?} __0 * @return {?} */ ([value, editor]) => !isNull(editor) && !isNull(value)))).subscribe((/** * @param {?} __0 * @return {?} */ ([value, editor]) => { setFontName(editor, value); })); combineLatest(this.fontSize$, this.editor$).pipe(filter((/** * @param {?} __0 * @return {?} */ ([value, editor]) => !isNull(editor) && !isNull(value)))).subscribe((/** * @param {?} __0 * @return {?} */ ([value, editor]) => { setFontSize(editor, value); })); combineLatest(this.indentation$, this.editor$).pipe(filter((/** * @param {?} __0 * @return {?} */ ([value, editor]) => !isNull(editor) && !isNull(value)))).subscribe((/** * @param {?} __0 * @return {?} */ ([value, editor]) => { setIndentation(editor, value); })); combineLatest(this.textColor$, this.editor$).pipe(filter((/** * @param {?} __0 * @return {?} */ ([value, editor]) => !isNull(editor) && !isNull(value)))).subscribe((/** * @param {?} __0 * @return {?} */ ([value, editor]) => { setTextColor(editor, value); })); /** @type {?} */ let toggleBlockQuoteSubscription = null; combineLatest(this.toggleBlockQuote$$, this.editor$).pipe(filter((/** * @param {?} __0 * @return {?} */ ([value, editor]) => !isNull(editor) && !isNull(value)))).subscribe((/** * @param {?} __0 * @return {?} */ ([value, editor]) => { if (toggleBlockQuoteSubscription) toggleBlockQuoteSubscription.unsubscribe(); toggleBlockQuoteSubscription = value.subscribe((/** * @param {?} val * @return {?} */ (val) => { toggleBlockQuote(editor, val); })); })); /** @type {?} */ let toggleBoldSubscription = null; combineLatest(this.toggleBold$$, this.editor$).pipe(filter((/** * @param {?} __0 * @return {?} */ ([value, editor]) => !isNull(editor) && !isNull(value)))).subscribe((/** * @param {?} __0 * @return {?} */ ([value, editor]) => { if (toggleBoldSubscription) toggleBoldSubscription.unsubscribe(); toggleBoldSubscription = value.subscribe((/** * @param {?} val * @return {?} */ (val) => { toggleBold(editor); })); })); /** @type {?} */ let toggleBulletSubscription = null; combineLatest(this.toggleBullet$$, this.editor$).pipe(filter((/** * @param {?} __0 * @return {?} */ ([value, editor]) => !isNull(editor) && !isNull(value)))).subscribe((/** * @param {?} __0 * @return {?} */ ([value, editor]) => { if (toggleBulletSubscription) toggleBulletSubscription.unsubscribe(); toggleBulletSubscription = value.subscribe((/** * @param {?} val * @return {?} */ (val) => { toggleBullet(editor); })); })); /** @type {?} */ let toggleCodeBlockSubscription = null; combineLatest(this.toggleCodeBlock$$, this.editor$).pipe(filter((/** * @param {?} __0 * @return {?} */ ([value, editor]) => !isNull(editor) && !isNull(value)))).subscribe((/** * @param {?} __0 * @return {?} */ ([value, editor]) => { if (toggleCodeBlockSubscription) toggleCodeBlockSubscription.unsubscribe(); toggleCodeBlockSubscription = value.subscribe((/** * @param {?} val * @return {?} */ (val) => { toggleCodeBlock(editor, val); })); })); /** @type {?} */ let toggleHeaderSubscription = null; combineLatest(this.toggleHeader$$, this.editor$).pipe(filter((/** * @param {?} __0 * @return {?} */ ([value, editor]) => !isNull(editor) && !isNull(value)))).subscribe((/** * @param {?} __0 * @return {?} */ ([value, editor]) => { if (toggleHeaderSubscription) toggleHeaderSubscription.unsubscribe(); toggleHeaderSubscription = value.subscribe((/** * @param {?} val * @return {?} */ (val) => { toggleHeader(editor, val); })); })); /** @type {?} */ let toggleItalicSubscription = null; combineLatest(this.toggleItalic$$, this.editor$).pipe(filter((/** * @param {?} __0 * @return {?} */ ([value, editor]) => !isNull(editor) && !isNull(value)))).subscribe((/** * @param {?} __0 * @return {?} */ ([value, editor]) => { if (toggleItalicSubscription) toggleItalicSubscription.unsubscribe(); toggleItalicSubscription = value.subscribe((/** * @param {?} val * @return {?} */ (val) => { toggleItalic(editor); })); })); /** @type {?} */ let toggleNumberingSubscription = null; combineLatest(this.toggleNumbering$$, this.editor$).pipe(filter((/** * @param {?} __0 * @return {?} */ ([value, editor]) => !isNull(editor) && !isNull(value)))).subscribe((/** * @param {?} __0 * @return {?} */ ([value, editor]) => { if (toggleNumberingSubscription) toggleNumberingSubscription.unsubscribe(); toggleNumberingSubscription = value.subscribe((/** * @param {?} val * @return {?} */ (val) => { toggleNumbering(editor); })); })); /** @type {?} */ let toggleStrikethroughSubscription = null; combineLatest(this.toggleStrikethrough$$, this.editor$).pipe(filter((/** * @param {?} __0 * @return {?} */ ([value, editor]) => !isNull(editor) && !isNull(value)))).subscribe((/** * @param {?} __0 * @return {?} */ ([value, editor]) => { if (toggleStrikethroughSubscription) toggleStrikethroughSubscription.unsubscribe(); toggleStrikethroughSubscription = value.subscribe((/** * @param {?} val * @return {?} */ (val) => { toggleStrikethrough(editor); })); })); /** @type {?} */ let toggleSubscriptSubscription = null; combineLatest(this.toggleSubscript$$, this.editor$).pipe(filter((/** * @param {?} __0 * @return {?} */ ([value, editor]) => !isNull(editor) && !isNull(value)))).subscribe((/** * @param {?} __0 * @return {?} */ ([value, editor]) => { if (toggleSubscriptSubscription) toggleSubscriptSubscription.unsubscribe(); toggleSubscriptSubscription = value.subscribe((/** * @param {?} val * @return {?} */ (val) => { toggleSubscript(editor); })); })); /** @type {?} */ let toggleSuperscriptSubscription = null; combineLatest(this.toggleSuperscript$$, this.editor$).pipe(filter((/** * @param {?} __0 * @return {?} */ ([value, editor]) => !isNull(editor) && !isNull(value)))).subscribe((/** * @param {?} __0 * @return {?} */ ([value, editor]) => { if (toggleSuperscriptSubscription) toggleSuperscriptSubscription.unsubscribe(); toggleSuperscriptSubscription = value.subscribe((/** * @param {?} val * @return {?} */ (val) => { toggleSuperscript(editor); })); })); /** @type {?} */ let toggleUnderlineSubscription = null; combineLatest(this.toggleUnderline$$, this.editor$).pipe(filter((/** * @param {?} __0 * @return {?} */ ([value, editor]) => !isNull(editor) && !isNull(value)))).subscribe((/** * @param {?} __0 * @return {?} */ ([value, editor]) => { if (toggleUnderlineSubscription) toggleUnderlineSubscription.unsubscribe(); toggleUnderlineSubscription = value.subscribe((/** * @param {?} val * @return {?} */ (val) => { toggleUnderline(editor); })); })); } /** * @param {?} v * @return {?} */ set aligment(v) { this.aligment$.next(v); } /** * @param {?} v * @return {?} */ set backgroundColor(v) { this.backgroundColor$.next(v); } /** * @param {?} v * @return {?} */ set direction(v) { this.direction$.next(v); } /** * @param {?} v * @return {?} */ set fontName(v) { this.fontName$.next(v); } /** * @param {?} v * @return {?} */ set fontSize(v) { this.fontSize$.next(v); } /** * @param {?} v * @return {?} */ set indentation(v) { this.indentation$.next(v); } /** * @param {?} v * @return {?} */ set textColor(v) { this.textColor$.next(v); } /** * @param {?} v * @return {?} */ set toggleBlockQuote$(v) { this.toggleBlockQuote$$.next(v); } /** * @param {?} v * @return {?} */ set toggleBold$(v) { this.toggleBold$$.next(v); } /** * @param {?} v * @return {?} */ set toggleBullet$(v) { this.toggleBullet$$.next(v); } /** * @param {?} v * @return {?} */ set toggleCodeBlock$(v) { this.toggleCodeBlock$$.next(v); } /** * @param {?} v * @return {?} */ set toggleHeader$(v) { this.toggleHeader$$.next(v); } /** * @param {?} v * @return {?} */ set toggleItalic$(v) { this.toggleItalic$$.next(v); } /** * @param {?} v * @return {?} */ set toggleNumbering$(v) { this.toggleNumbering$$.next(v); } /** * @param {?} v * @return {?} */ set toggleStrikethrough$(v) { this.toggleStrikethrough$$.next(v); } /** * @param {?} v * @return {?} */ set toggleSubscript$(v) { this.toggleSubscript$$.next(v); } /** * @param {?} v * @return {?} */ set toggleSuperscript$(v) { this.toggleSuperscript$$.next(v); } /** * @param {?} v * @return {?} */ set toggleUnderline$(v) { this.toggleUnderline$$.next(v); } /** * @return {?} */ ngOnInit() { this.formatStatePlugin$.getContentObservable().subscribe((/** * @param {?} v * @return {?} */ v => this.onChange(v))); /** @type {?} */ let formatStateChange$ = this.formatStatePlugin$.pipe(pairwise(), map((/** * @param {?} __0 * @return {?} */ ([previous, current]) => { /** @type {?} */ let result = {}; console.log(current); /** @type {?} */ let keys = Object.keys(current); for (let i = 0; i < keys.length; i++) { /** @type {?} */ let key = keys[i]; /** @type {?} */ let previousValue = previous[key]; /** @type {?} */ let currentValue = current[key]; if (currentValue !== previousValue) result[key] = currentValue; } return result; }))); formatStateChange$.pipe(map((/** * @param {?} s * @return {?} */ s => s.fontName)), filter((/** * @param {?} v * @return {?} */ v => !isNull(v)))).subscribe((/** * @param {?} v * @return {?} */ v => this.fontNameChange.emit(v))); formatStateChange$.pipe(map((/** * @param {?} s * @return {?} */ s => s.fontSize)), filter((/** * @param {?} v * @return {?} */ v => !isNull(v)))).subscribe((/** * @param {?} v * @return {?} */ v => this.fontSizeChange.emit(v))); formatStateChange$.pipe(map((/** * @param {?} s * @return {?} */ s => s.isBold)), filter((/** * @param {?} v * @return {?} */ v => !isNull(v)))).subscribe((/** * @param {?} v * @return {?} */ v => this.isBoldChange.emit(v))); formatStateChange$.pipe(map((/** * @param {?} s * @return {?} */ s => s.isItalic)), filter((/** * @param {?} v * @return {?} */ v => !isNull(v)))).subscribe((/** * @param {?} v * @return {?} */ v => this.isItalicChange.emit(v))); formatStateChange$.pipe(map((/** * @param {?} s * @return {?} */ s => s.isUnderline)), filter((/** * @param {?} v * @return {?} */ v => !isNull(v)))).subscribe((/** * @param {?} v * @return {?} */ v => this.isUnderlineChange.emit(v))); formatStateChange$.pipe(map((/** * @param {?} s * @return {?} */ s => s.backgroundColor)), filter((/** * @param {?} v * @return {?} */ v => !isNull(v)))).subscribe((/** * @param {?} v * @return {?} */ v => this.backgroundColorChange.emit(v))); formatStateChange$.pipe(map((/** * @param {?} s * @return {?} */ s => s.textColor)), filter((/** * @param {?} v * @return {?} */ v => !isNull(v)))).subscribe((/** * @param {?} v * @return {?} */ v => this.textColorChange.emit(v))); formatStateChange$.pipe(map((/** * @param {?} s * @return {?} */ s => s.isBullet)), filter((/** * @param {?} v * @return {?} */ v => !isNull(v)))).subscribe((/** * @param {?} v * @return {?} */ v => this.isBulletChange.emit(v))); formatStateChange$.pipe(map((/** * @param {?} s * @return {?} */ s => s.isNumbering)), filter((/** * @param {?} v * @return {?} */ v => !isNull(v)))).subscribe((/** * @param {?} v * @return {?} */ v => this.isNumberingChange.emit(v))); formatStateChange$.pipe(map((/** * @param {?} s * @return {?} */ s => s.isStrikeThrough)), filter((/** * @param {?} v * @return {?} */ v => !isNull(v)))).subscribe((/** * @param {?} v * @return {?} */ v => this.isStrikeThroughChange.emit(v))); formatStateChange$.pipe(map((/** * @param {?} s * @return {?} */ s => s.isBlockQuote)), filter((/** * @param {?} v * @return {?} */ v => !isNull(v)))).subscribe((/** * @param {?} v * @return {?} */ v => this.isBlockQuoteChange.emit(v))); formatStateChange$.pipe(map((/** * @param {?} s * @return {?} */ s => s.isSubscript)), filter((/** * @param {?} v * @return {?} */ v => !isNull(v)))).subscribe((/** * @param {?} v * @return {?} */ v => this.isSubscriptChange.emit(v))); formatStateChange$.pipe(map((/** * @param {?} s * @return {?} */ s => s.isSuperscript)), filter((/** * @param {?} v * @return {?} */ v => !isNull(v)))).subscribe((/** * @param {?} v * @return {?} */ v => this.isSuperscriptChange.emit(v))); // formatStateChange$.pipe( map(s=>s.canUnlink), filter(v=>!isNull(v)) ).subscribe(v=>this.u.emit(v)); // formatStateChange$.pipe( map(s=>s.canAddImageAltText), filter(v=>!isNull(v)) ); // formatStateChange$.pipe( map(s=>s.canUndo), filter(v=>!isNull(v)) ); // formatStateChange$.pipe( map(s=>s.canRedo), filter(v=>!isNull(v)) ); // formatStateChange$.pipe( map(s=>s.headerLevel), filter(v=>!isNull(v)) ); } /** * @return {?} */ ngAfterViewInit() { this.editor = this.editorDirective.editor; this.editor$.next(this.editor); this.editor$.complete(); } /** * @return {?} */ ngOnDestroy() { this.aligment$.complete(); this.backgroundColor$.complete(); this.direction$.complete(); this.fontName$.complete(); this.fontSize$.complete(); this.indentation$.complete(); this.textColor$.complete(); this.toggleBlockQuote$$.complete(); this.toggleBold$$.complete(); this.toggleBullet$$.complete(); this.toggleCodeBlock$$.complete(); this.toggleHeader$$.complete(); this.toggleItalic$$.complete(); this.toggleNumbering$$.complete(); this.toggleStrikethrough$$.complete(); this.toggleSubscript$$.complete(); this.toggleSuperscript$$.complete(); this.toggleUnderline$$.complete(); this.editor.dispose(); } /** * @param {?} obj * @return {?} */ writeValue(obj) { if (obj) this.editor.setContent(obj); } /** * @param {?} fn * @return {?} */ registerOnChange(fn) { this.onChange = fn; } /** * @param {?} fn * @return {?} */ registerOnTouched(fn) { this.onTouched = fn; } /** * @param {?} isDisabled * @return {?} */ setDisabledState(isDisabled) { console.log(isDisabled); } } RoosterEditorComponent.decorators = [ { type: Component, args: [{ selector: 'rooster-editor-box', template: "\r\n<div class=\"editor\" rooster-editor [plugins]=\"[formatStatePlugin$]\" ><ng-content></ng-content></div>\r\n", providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((/** * @return {?} */ () => RoosterEditorComponent)), multi: true } ], styles: [".editor{width:100%;height:100%}:host{display:block}"] }] } ]; /** @nocollapse */ RoosterEditorComponent.ctorParameters = () => []; RoosterEditorComponent.propDecorators = { editorDirective: [{ type: ViewChild, args: [EditorDirective,] }], aligment: [{ type: Input }], backgroundColor: [{ type: Input }], backgroundColorChange: [{ type: Output }], direction: [{ type: Input }], fontName: [{ type: Input }], fontNameChange: [{ type: Output }], fontSize: [{ type: Input }], fontSizeChange: [{ type: Output }], indentation: [{ type: Input }], textColor: [{ type: Input }], textColorChange: [{ type: Output }], toggleBlockQuote$: [{ type: Input }], isBlockQuoteChange: [{ type: Output }], toggleBold$: [{ type: Input }], isBoldChange: [{ type: Output }], toggleBullet$: [{ type: Input }], isBulletChange: [{ type: Output }], toggleCodeBlock$: [{ type: Input }], toggleHeader$: [{ type: Input }], headerLevelChange: [{ type: Output }], toggleItalic$: [{ type: Input }], isItalicChange: [{ type: Output }], toggleNumbering$: [{ type: Input }], isNumberingChange: [{ type: Output }], toggleStrikethrough$: [{ type: Input }], isStrikeThroughChange: [{ type: Output }], toggleSubscript$: [{ type: Input }], isSubscriptChange: [{ type: Output }], toggleSuperscript$: [{ type: Input }], isSuperscriptChange: [{ type: Output }], toggleUnderline$: [{ type: Input }], isUnderlineChange: [{ type: Output }] }; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class NgRoosterModule { } NgRoosterModule.decorators = [ { type: NgModule, args: [{ declarations: [ NgRoosterComponent, EditorDirective, RoosterEditorComponent, ], imports: [], exports: [ NgRoosterComponent, EditorDirective, RoosterEditorComponent, ] },] } ]; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ export { NgRoosterService, NgRoosterComponent, NgRoosterModule, RoosterEditorComponent, EditorDirective }; //# sourceMappingURL=instechnologies-ng-rooster.js.map