@cleavelandprice/ngx-lib 4.0.9 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,55 +1,54 @@
1
- export class Tooltips {
2
- constructor() {
3
- //#region Font Style
4
- this.bold = 'Bold';
5
- this.italic = 'Italic';
6
- this.strike = 'Strikethrough';
7
- this.underline = 'Underline';
8
- //#endregion
9
- //#region Media
10
- this.link = 'Link';
11
- this.image = 'Insert Image';
12
- this.video = 'Insert Video';
13
- //#endregion
14
- //#region Block Style
15
- this.blockquote = 'Blockquote';
16
- this.codeblock = 'Code Block';
17
- //#endregion
18
- //#region Heading Style
19
- this.h1 = 'Heading 1';
20
- this.h2 = 'Heading 2';
21
- //#endregion
22
- //#region Color
23
- this.color = 'Font / Background Color';
24
- //#endregion
25
- //#region List Style
26
- this.bulleted = 'Bulleted List';
27
- this.ordered = 'Ordered List';
28
- //#endregion
29
- //#region Script Style
30
- this.subScript = 'Subscript';
31
- this.superScript = 'Superscript';
32
- //#endregion
33
- //#region Indent Style
34
- this.increaseIndent = 'Increase Indent';
35
- this.decreaseIndent = 'Decrease Indent';
36
- //#endregion
37
- //#region DropDowns
38
- this.align = 'Align';
39
- this.font = 'Font';
40
- this.fontSize = 'Font Size';
41
- this.headingStyle = 'Heading';
42
- //#endregion
43
- //#region Single Buttons
44
- this.clean = 'Clean';
45
- this.formula = 'Formula';
46
- this.rtl = 'Right-To-Left';
47
- this.maximize = 'Maximize';
48
- this.minimize = 'Minimize';
49
- this.popout = 'Popout';
50
- this.popin = 'Done';
51
- this.rawEditor = 'Edit raw HTML (dangerous!)';
52
- //#endregion
53
- }
54
- }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9xdWlsbC9zcmMvbW9kZWwvdG9vbHRpcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFFBQVE7SUFBckI7UUFDSSxvQkFBb0I7UUFDcEIsU0FBSSxHQUFHLE1BQU0sQ0FBQztRQUNkLFdBQU0sR0FBRyxRQUFRLENBQUM7UUFDbEIsV0FBTSxHQUFHLGVBQWUsQ0FBQztRQUN6QixjQUFTLEdBQUcsV0FBVyxDQUFDO1FBQ3hCLFlBQVk7UUFFWixlQUFlO1FBQ2YsU0FBSSxHQUFHLE1BQU0sQ0FBQztRQUNkLFVBQUssR0FBRyxjQUFjLENBQUM7UUFDdkIsVUFBSyxHQUFHLGNBQWMsQ0FBQztRQUN2QixZQUFZO1FBRVoscUJBQXFCO1FBQ3JCLGVBQVUsR0FBRyxZQUFZLENBQUM7UUFDMUIsY0FBUyxHQUFHLFlBQVksQ0FBQztRQUN6QixZQUFZO1FBRVosdUJBQXVCO1FBQ3ZCLE9BQUUsR0FBRyxXQUFXLENBQUM7UUFDakIsT0FBRSxHQUFHLFdBQVcsQ0FBQztRQUNqQixZQUFZO1FBRVosZUFBZTtRQUNmLFVBQUssR0FBRyx5QkFBeUIsQ0FBQztRQUNsQyxZQUFZO1FBRVosb0JBQW9CO1FBQ3BCLGFBQVEsR0FBRyxlQUFlLENBQUM7UUFDM0IsWUFBTyxHQUFHLGNBQWMsQ0FBQztRQUN6QixZQUFZO1FBRVosc0JBQXNCO1FBQ3RCLGNBQVMsR0FBRyxXQUFXLENBQUM7UUFDeEIsZ0JBQVcsR0FBRyxhQUFhLENBQUM7UUFDNUIsWUFBWTtRQUVaLHNCQUFzQjtRQUN0QixtQkFBYyxHQUFHLGlCQUFpQixDQUFDO1FBQ25DLG1CQUFjLEdBQUcsaUJBQWlCLENBQUM7UUFDbkMsWUFBWTtRQUVaLG1CQUFtQjtRQUNuQixVQUFLLEdBQUcsT0FBTyxDQUFDO1FBQ2hCLFNBQUksR0FBRyxNQUFNLENBQUM7UUFDZCxhQUFRLEdBQUcsV0FBVyxDQUFDO1FBQ3ZCLGlCQUFZLEdBQUcsU0FBUyxDQUFDO1FBQ3pCLFlBQVk7UUFFWix3QkFBd0I7UUFDeEIsVUFBSyxHQUFHLE9BQU8sQ0FBQztRQUNoQixZQUFPLEdBQUcsU0FBUyxDQUFDO1FBQ3BCLFFBQUcsR0FBRyxlQUFlLENBQUM7UUFDdEIsYUFBUSxHQUFHLFVBQVUsQ0FBQztRQUN0QixhQUFRLEdBQUcsVUFBVSxDQUFDO1FBQ3RCLFdBQU0sR0FBRyxRQUFRLENBQUM7UUFDbEIsVUFBSyxHQUFHLE1BQU0sQ0FBQztRQUNmLGNBQVMsR0FBRyw0QkFBNEIsQ0FBQTtRQUN4QyxZQUFZO0lBQ2hCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBUb29sdGlwcyB7XHJcbiAgICAvLyNyZWdpb24gRm9udCBTdHlsZVxyXG4gICAgYm9sZCA9ICdCb2xkJztcclxuICAgIGl0YWxpYyA9ICdJdGFsaWMnO1xyXG4gICAgc3RyaWtlID0gJ1N0cmlrZXRocm91Z2gnO1xyXG4gICAgdW5kZXJsaW5lID0gJ1VuZGVybGluZSc7XHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICAvLyNyZWdpb24gTWVkaWFcclxuICAgIGxpbmsgPSAnTGluayc7XHJcbiAgICBpbWFnZSA9ICdJbnNlcnQgSW1hZ2UnO1xyXG4gICAgdmlkZW8gPSAnSW5zZXJ0IFZpZGVvJztcclxuICAgIC8vI2VuZHJlZ2lvblxyXG5cclxuICAgIC8vI3JlZ2lvbiBCbG9jayBTdHlsZVxyXG4gICAgYmxvY2txdW90ZSA9ICdCbG9ja3F1b3RlJztcclxuICAgIGNvZGVibG9jayA9ICdDb2RlIEJsb2NrJztcclxuICAgIC8vI2VuZHJlZ2lvblxyXG5cclxuICAgIC8vI3JlZ2lvbiBIZWFkaW5nIFN0eWxlXHJcbiAgICBoMSA9ICdIZWFkaW5nIDEnO1xyXG4gICAgaDIgPSAnSGVhZGluZyAyJztcclxuICAgIC8vI2VuZHJlZ2lvblxyXG5cclxuICAgIC8vI3JlZ2lvbiBDb2xvclxyXG4gICAgY29sb3IgPSAnRm9udCAvIEJhY2tncm91bmQgQ29sb3InO1xyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgLy8jcmVnaW9uIExpc3QgU3R5bGVcclxuICAgIGJ1bGxldGVkID0gJ0J1bGxldGVkIExpc3QnO1xyXG4gICAgb3JkZXJlZCA9ICdPcmRlcmVkIExpc3QnO1xyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgLy8jcmVnaW9uIFNjcmlwdCBTdHlsZVxyXG4gICAgc3ViU2NyaXB0ID0gJ1N1YnNjcmlwdCc7XHJcbiAgICBzdXBlclNjcmlwdCA9ICdTdXBlcnNjcmlwdCc7XHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICAvLyNyZWdpb24gSW5kZW50IFN0eWxlXHJcbiAgICBpbmNyZWFzZUluZGVudCA9ICdJbmNyZWFzZSBJbmRlbnQnO1xyXG4gICAgZGVjcmVhc2VJbmRlbnQgPSAnRGVjcmVhc2UgSW5kZW50JztcclxuICAgIC8vI2VuZHJlZ2lvblxyXG5cclxuICAgIC8vI3JlZ2lvbiBEcm9wRG93bnNcclxuICAgIGFsaWduID0gJ0FsaWduJztcclxuICAgIGZvbnQgPSAnRm9udCc7XHJcbiAgICBmb250U2l6ZSA9ICdGb250IFNpemUnO1xyXG4gICAgaGVhZGluZ1N0eWxlID0gJ0hlYWRpbmcnO1xyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgLy8jcmVnaW9uIFNpbmdsZSBCdXR0b25zXHJcbiAgICBjbGVhbiA9ICdDbGVhbic7XHJcbiAgICBmb3JtdWxhID0gJ0Zvcm11bGEnO1xyXG4gICAgcnRsID0gJ1JpZ2h0LVRvLUxlZnQnO1xyXG4gICAgbWF4aW1pemUgPSAnTWF4aW1pemUnO1xyXG4gICAgbWluaW1pemUgPSAnTWluaW1pemUnO1xyXG4gICAgcG9wb3V0ID0gJ1BvcG91dCc7XHJcbiAgICBwb3BpbiA9ICdEb25lJztcclxuICAgIHJhd0VkaXRvciA9ICdFZGl0IHJhdyBIVE1MIChkYW5nZXJvdXMhKSdcclxuICAgIC8vI2VuZHJlZ2lvblxyXG59Il19
1
+ ;
2
+ export const DefaultTooltips = {
3
+ //#region Font Style
4
+ bold: 'Bold',
5
+ italic: 'Italic',
6
+ strike: 'Strikethrough',
7
+ underline: 'Underline',
8
+ //#endregion
9
+ //#region Media
10
+ link: 'Link',
11
+ image: 'Insert Image',
12
+ video: 'Insert Video',
13
+ //#endregion
14
+ //#region Block Style
15
+ blockquote: 'Blockquote',
16
+ codeblock: 'Code Block',
17
+ //#endregion
18
+ //#region Heading Style
19
+ h1: 'Heading 1',
20
+ h2: 'Heading 2',
21
+ //#endregion
22
+ //#region Color
23
+ color: 'Font / Background Color',
24
+ //#endregion
25
+ //#region List Style
26
+ bulleted: 'Bulleted List',
27
+ ordered: 'Ordered List',
28
+ //#endregion
29
+ //#region Script Style
30
+ subScript: 'Subscript',
31
+ superScript: 'Superscript',
32
+ //#endregion
33
+ //#region Indent Style
34
+ increaseIndent: 'Increase Indent',
35
+ decreaseIndent: 'Decrease Indent',
36
+ //#endregion
37
+ //#region DropDowns
38
+ align: 'Align',
39
+ font: 'Font',
40
+ fontSize: 'Font Size',
41
+ headingStyle: 'Heading',
42
+ //#endregion
43
+ //#region Single Buttons
44
+ clean: 'Clean',
45
+ formula: 'Formula',
46
+ rtl: 'Right-To-Left',
47
+ maximize: 'Maximize',
48
+ minimize: 'Minimize',
49
+ popout: 'Popout',
50
+ popin: 'Done',
51
+ rawEditor: 'Edit raw HTML (dangerous!)'
52
+ //#endregion
53
+ };
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9xdWlsbC9zcmMvbW9kZWwvdG9vbHRpcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0JDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQWE7SUFDckMsb0JBQW9CO0lBQ3BCLElBQUksRUFBRSxNQUFNO0lBQ1osTUFBTSxFQUFFLFFBQVE7SUFDaEIsTUFBTSxFQUFFLGVBQWU7SUFDdkIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsWUFBWTtJQUVaLGVBQWU7SUFDZixJQUFJLEVBQUUsTUFBTTtJQUNaLEtBQUssRUFBRSxjQUFjO0lBQ3JCLEtBQUssRUFBRSxjQUFjO0lBQ3JCLFlBQVk7SUFFWixxQkFBcUI7SUFDckIsVUFBVSxFQUFFLFlBQVk7SUFDeEIsU0FBUyxFQUFFLFlBQVk7SUFDdkIsWUFBWTtJQUVaLHVCQUF1QjtJQUN2QixFQUFFLEVBQUUsV0FBVztJQUNmLEVBQUUsRUFBRSxXQUFXO0lBQ2YsWUFBWTtJQUVaLGVBQWU7SUFDZixLQUFLLEVBQUUseUJBQXlCO0lBQ2hDLFlBQVk7SUFFWixvQkFBb0I7SUFDcEIsUUFBUSxFQUFFLGVBQWU7SUFDekIsT0FBTyxFQUFFLGNBQWM7SUFDdkIsWUFBWTtJQUVaLHNCQUFzQjtJQUN0QixTQUFTLEVBQUUsV0FBVztJQUN0QixXQUFXLEVBQUUsYUFBYTtJQUMxQixZQUFZO0lBRVosc0JBQXNCO0lBQ3RCLGNBQWMsRUFBRSxpQkFBaUI7SUFDakMsY0FBYyxFQUFFLGlCQUFpQjtJQUNqQyxZQUFZO0lBRVosbUJBQW1CO0lBQ25CLEtBQUssRUFBRSxPQUFPO0lBQ2QsSUFBSSxFQUFFLE1BQU07SUFDWixRQUFRLEVBQUUsV0FBVztJQUNyQixZQUFZLEVBQUUsU0FBUztJQUN2QixZQUFZO0lBRVosd0JBQXdCO0lBQ3hCLEtBQUssRUFBRSxPQUFPO0lBQ2QsT0FBTyxFQUFFLFNBQVM7SUFDbEIsR0FBRyxFQUFFLGVBQWU7SUFDcEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsS0FBSyxFQUFFLE1BQU07SUFDYixTQUFTLEVBQUUsNEJBQTRCO0lBQ3ZDLFlBQVk7Q0FDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUb29sdGlwcyB7XHJcbiAgICBib2xkPzogc3RyaW5nO1xyXG4gICAgaXRhbGljPzogc3RyaW5nO1xyXG4gICAgc3RyaWtlPzogc3RyaW5nO1xyXG4gICAgdW5kZXJsaW5lPzogc3RyaW5nO1xyXG4gICAgbGluaz86IHN0cmluZztcclxuICAgIGltYWdlPzogc3RyaW5nO1xyXG4gICAgdmlkZW8/OiBzdHJpbmc7XHJcbiAgICBibG9ja3F1b3RlPzogc3RyaW5nO1xyXG4gICAgY29kZWJsb2NrPzogc3RyaW5nO1xyXG4gICAgaDE/OiBzdHJpbmc7XHJcbiAgICBoMj86IHN0cmluZztcclxuICAgIGNvbG9yPzogc3RyaW5nO1xyXG4gICAgYnVsbGV0ZWQ/OiBzdHJpbmc7XHJcbiAgICBvcmRlcmVkPzogc3RyaW5nO1xyXG4gICAgc3ViU2NyaXB0Pzogc3RyaW5nO1xyXG4gICAgc3VwZXJTY3JpcHQ/OiBzdHJpbmc7XHJcbiAgICBpbmNyZWFzZUluZGVudD86IHN0cmluZztcclxuICAgIGRlY3JlYXNlSW5kZW50Pzogc3RyaW5nO1xyXG4gICAgYWxpZ24/OiBzdHJpbmc7XHJcbiAgICBmb250Pzogc3RyaW5nO1xyXG4gICAgZm9udFNpemU/OiBzdHJpbmc7XHJcbiAgICBoZWFkaW5nU3R5bGU/OiBzdHJpbmc7XHJcbiAgICBjbGVhbj86IHN0cmluZztcclxuICAgIGZvcm11bGE/OiBzdHJpbmc7XHJcbiAgICBydGw/OiBzdHJpbmc7XHJcbiAgICBtYXhpbWl6ZT86IHN0cmluZztcclxuICAgIG1pbmltaXplPzogc3RyaW5nO1xyXG4gICAgcG9wb3V0Pzogc3RyaW5nO1xyXG4gICAgcG9waW4/OiBzdHJpbmc7XHJcbiAgICByYXdFZGl0b3I/OiBzdHJpbmc7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgRGVmYXVsdFRvb2x0aXBzOiBUb29sdGlwcyA9IHtcclxuICAgIC8vI3JlZ2lvbiBGb250IFN0eWxlXHJcbiAgICBib2xkOiAnQm9sZCcsXHJcbiAgICBpdGFsaWM6ICdJdGFsaWMnLFxyXG4gICAgc3RyaWtlOiAnU3RyaWtldGhyb3VnaCcsXHJcbiAgICB1bmRlcmxpbmU6ICdVbmRlcmxpbmUnLFxyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgLy8jcmVnaW9uIE1lZGlhXHJcbiAgICBsaW5rOiAnTGluaycsXHJcbiAgICBpbWFnZTogJ0luc2VydCBJbWFnZScsXHJcbiAgICB2aWRlbzogJ0luc2VydCBWaWRlbycsXHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICAvLyNyZWdpb24gQmxvY2sgU3R5bGVcclxuICAgIGJsb2NrcXVvdGU6ICdCbG9ja3F1b3RlJyxcclxuICAgIGNvZGVibG9jazogJ0NvZGUgQmxvY2snLFxyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgLy8jcmVnaW9uIEhlYWRpbmcgU3R5bGVcclxuICAgIGgxOiAnSGVhZGluZyAxJyxcclxuICAgIGgyOiAnSGVhZGluZyAyJyxcclxuICAgIC8vI2VuZHJlZ2lvblxyXG5cclxuICAgIC8vI3JlZ2lvbiBDb2xvclxyXG4gICAgY29sb3I6ICdGb250IC8gQmFja2dyb3VuZCBDb2xvcicsXHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICAvLyNyZWdpb24gTGlzdCBTdHlsZVxyXG4gICAgYnVsbGV0ZWQ6ICdCdWxsZXRlZCBMaXN0JyxcclxuICAgIG9yZGVyZWQ6ICdPcmRlcmVkIExpc3QnLFxyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgLy8jcmVnaW9uIFNjcmlwdCBTdHlsZVxyXG4gICAgc3ViU2NyaXB0OiAnU3Vic2NyaXB0JyxcclxuICAgIHN1cGVyU2NyaXB0OiAnU3VwZXJzY3JpcHQnLFxyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgLy8jcmVnaW9uIEluZGVudCBTdHlsZVxyXG4gICAgaW5jcmVhc2VJbmRlbnQ6ICdJbmNyZWFzZSBJbmRlbnQnLFxyXG4gICAgZGVjcmVhc2VJbmRlbnQ6ICdEZWNyZWFzZSBJbmRlbnQnLFxyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgLy8jcmVnaW9uIERyb3BEb3duc1xyXG4gICAgYWxpZ246ICdBbGlnbicsXHJcbiAgICBmb250OiAnRm9udCcsXHJcbiAgICBmb250U2l6ZTogJ0ZvbnQgU2l6ZScsXHJcbiAgICBoZWFkaW5nU3R5bGU6ICdIZWFkaW5nJyxcclxuICAgIC8vI2VuZHJlZ2lvblxyXG5cclxuICAgIC8vI3JlZ2lvbiBTaW5nbGUgQnV0dG9uc1xyXG4gICAgY2xlYW46ICdDbGVhbicsXHJcbiAgICBmb3JtdWxhOiAnRm9ybXVsYScsXHJcbiAgICBydGw6ICdSaWdodC1Uby1MZWZ0JyxcclxuICAgIG1heGltaXplOiAnTWF4aW1pemUnLFxyXG4gICAgbWluaW1pemU6ICdNaW5pbWl6ZScsXHJcbiAgICBwb3BvdXQ6ICdQb3BvdXQnLFxyXG4gICAgcG9waW46ICdEb25lJyxcclxuICAgIHJhd0VkaXRvcjogJ0VkaXQgcmF3IEhUTUwgKGRhbmdlcm91cyEpJ1xyXG4gICAgLy8jZW5kcmVnaW9uXHJcbn07Il19
@@ -1,4 +1,5 @@
1
- import { Buttons as Buttons$1, Config as Config$1, Icons as Icons$1, Tooltips as Tooltips$1, EditorComponent as EditorComponent$1 } from '@cleavelandprice/ngx-lib/quill';
1
+ import { EditorComponent as EditorComponent$1 } from '@cleavelandprice/ngx-lib/quill';
2
+ export { DefaultButtons, DefaultConfig, DefaultIcons, DefaultTooltips } from '@cleavelandprice/ngx-lib/quill';
2
3
  import * as i0 from '@angular/core';
3
4
  import { model, inject, forwardRef, Component, NgModule, Optional, SkipSelf } from '@angular/core';
4
5
  import * as i1 from '@angular/forms';
@@ -13,18 +14,6 @@ import * as i1$1 from 'ngx-quill';
13
14
  import { QuillEditorComponent, QuillModule } from 'ngx-quill';
14
15
  import { MatButtonModule } from '@angular/material/button';
15
16
 
16
- class Buttons extends Buttons$1 {
17
- }
18
-
19
- class Config extends Config$1 {
20
- }
21
-
22
- class Icons extends Icons$1 {
23
- }
24
-
25
- class Tooltips extends Tooltips$1 {
26
- }
27
-
28
17
  class EditorComponent extends EditorComponent$1 {
29
18
  constructor() {
30
19
  super(...arguments);
@@ -138,7 +127,7 @@ class EditorComponent extends EditorComponent$1 {
138
127
  provide: NG_VALUE_ACCESSOR,
139
128
  useExisting: forwardRef(() => EditorComponent),
140
129
  multi: true
141
- }], usesInheritance: true, ngImport: i0, template: "@if (users()) {\n <form>\n <quill-editor name=\"editor\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"updateChanges()\"\n [placeholder]=\"placeholder() ?? ''\"\n [format]=\"format()\"\n [style.height]=\"fullscreen() ? fullscreenHeight() : height()\"\n [style.width]=\"fullscreen() ? fullscreenWidth() : width()\"\n [readOnly]=\"readonly() ?? false\"\n [class.readonly]=\"readonly() && applyReadonlyStyle()\"\n [class.no-toolbar]=\"!showToolbar()\"\n [class.no-border]=\"!showBorder()\"\n [modules]=\"modules\"\n (onBlur)=\"onBlur.emit($event)\"\n (onContentChanged)=\"onContentChanged.emit($event)\"\n (onEditorChanged)=\"onEditorChanged.emit($event)\"\n (onEditorCreated)=\"onEditorCreated.emit()\"\n (onFocus)=\"onFocus.emit($event)\"\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\n @if (showToolbar()) {\n <div quill-editor-toolbar>\n <ng-container [ngTemplateOutlet]=\"toolbar\"/>\n <ng-container [ngTemplateOutlet]=\"editorSize\"/>\n </div>\n }\n </quill-editor>\n </form>\n}\n\n<ng-template #toolbar>\n <div>\n <ng-container [ngTemplateOutlet]=\"fontStyle\"/>\n <ng-container [ngTemplateOutlet]=\"blockStyle\"/>\n <ng-container [ngTemplateOutlet]=\"headingStyle\"/>\n <ng-container [ngTemplateOutlet]=\"listStyle\"/>\n <ng-container [ngTemplateOutlet]=\"scriptStyle\"/>\n <ng-container [ngTemplateOutlet]=\"indentStyle\"/>\n <ng-container [ngTemplateOutlet]=\"rtl\"/>\n <ng-container [ngTemplateOutlet]=\"fontSize\"/>\n <ng-container [ngTemplateOutlet]=\"heading\"/>\n <ng-container [ngTemplateOutlet]=\"color\"/>\n <ng-container [ngTemplateOutlet]=\"font\"/>\n <ng-container [ngTemplateOutlet]=\"align\"/>\n <ng-container [ngTemplateOutlet]=\"clean\"/>\n <ng-container [ngTemplateOutlet]=\"formula\"/>\n <ng-container [ngTemplateOutlet]=\"media\"/>\n </div>\n</ng-template>\n\n<ng-template #fontStyle>\n @if (config()!.showFontStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.bold) {\n <button class=\"ql-bold\" [matTooltip]=\"tooltip(config()!.tooltips.bold)\"></button>\n }\n @if (config()!.buttons.italic) {\n <button class=\"ql-italic\" [matTooltip]=\"tooltip(config()!.tooltips.italic)\"></button>\n }\n @if (config()!.buttons.underline) {\n <button class=\"ql-underline\" [matTooltip]=\"tooltip(config()!.tooltips.underline)\"></button>\n }\n @if (config()!.buttons.strike) {\n <button class=\"ql-strike\" [matTooltip]=\"tooltip(config()!.tooltips.strike)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #blockStyle>\n @if (config()!.showBlockStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.blockquote) {\n <button class=\"ql-blockquote\" [matTooltip]=\"tooltip(config()!.tooltips.blockquote)\"></button>\n }\n @if (config()!.buttons.codeblock) {\n <button class=\"ql-code-block\" [matTooltip]=\"tooltip(config()!.tooltips.codeblock)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #headingStyle>\n @if (config()!.showQuickHeadingStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.h1) {\n <button class=\"ql-header\" value=\"1\" [matTooltip]=\"tooltip(config()!.tooltips.h1)\"></button>\n }\n @if (config()!.buttons.h2) {\n <button class=\"ql-header\" value=\"2\" [matTooltip]=\"tooltip(config()!.tooltips.h2)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #listStyle>\n @if (config()!.showListStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.ordered) {\n <button class=\"ql-list\" value=\"ordered\" [matTooltip]=\"tooltip(config()!.tooltips.ordered)\"></button>\n }\n @if (config()!.buttons.bulleted) {\n <button class=\"ql-list\" value=\"bullet\" [matTooltip]=\"tooltip(config()!.tooltips.bulleted)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #scriptStyle>\n @if (config()!.showScriptStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.subScript) {\n <button class=\"ql-script\" value=\"sub\" [matTooltip]=\"tooltip(config()!.tooltips.subScript)\"></button>\n }\n @if (config()!.buttons.superScript) {\n <button class=\"ql-script\" value=\"super\" [matTooltip]=\"tooltip(config()!.tooltips.superScript)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #indentStyle>\n @if (config()!.showIndentStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.decreaseIndent) {\n <button class=\"ql-indent\" value=\"-1\" [matTooltip]=\"tooltip(config()!.tooltips.decreaseIndent)\"></button>\n }\n @if (config()!.buttons.increaseIndent) {\n <button class=\"ql-indent\" value=\"+1\" [matTooltip]=\"tooltip(config()!.tooltips.increaseIndent)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #rtl>\n @if (config()!.buttons.rtl) {\n <span class=\"ql-formats\">\n <button class=\"ql-direction\" value=\"rtl\" [matTooltip]=\"tooltip(config()!.tooltips.rtl)\"></button>\n </span>\n }\n</ng-template>\n\n<ng-template #fontSize>\n @if (config()!.buttons.fontSize) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.fontSize)\">\n <select class=\"ql-size\">\n <option value=\"small\"></option>\n <option selected></option>\n <option value=\"large\"></option>\n <option value=\"huge\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #heading>\n @if (config()!.buttons.headingStyle) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.headingStyle)\">\n <select class=\"ql-header\">\n <option value=\"1\"></option>\n <option value=\"2\"></option>\n <option value=\"3\"></option>\n <option value=\"4\"></option>\n <option value=\"5\"></option>\n <option value=\"6\"></option>\n <option selected=\"selected\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #color>\n @if (config()!.buttons.color) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.color)\">\n <select class=\"ql-color\"></select>\n <select class=\"ql-background\"></select>\n </span>\n }\n</ng-template>\n\n<ng-template #font>\n @if (config()!.buttons.font) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.font)\">\n <select class=\"ql-font\">\n <option selected></option>\n <option value=\"serif\"></option>\n <option value=\"monospace\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #align>\n @if (config()!.buttons.align) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.align)\">\n <select class=\"ql-align\">\n <option selected></option>\n <option value=\"center\"></option>\n <option value=\"right\"></option>\n <option value=\"justify\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #clean>\n @if (config()!.buttons.clean) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.clean)\">\n <button class=\"ql-clean\"></button>\n </span>\n }\n</ng-template>\n\n<ng-template #media>\n @if (config()!.showMedia()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.link) {\n <button class=\"ql-link\" [matTooltip]=\"tooltip(config()!.tooltips.link)\"></button>\n }\n @if (config()!.buttons.image) {\n <button class=\"ql-image\" [matTooltip]=\"tooltip(config()!.tooltips.image)\"></button>\n }\n @if (config()!.buttons.video) {\n <button class=\"ql-video\" [matTooltip]=\"tooltip(config()!.tooltips.video)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #editorSize>\n <div>\n @if (config()!.buttons.rawEditor) {\n <span class=\"ql-formats\">\n <button id=\"rawdog\"\n [matTooltip]=\"tooltip(config()!.tooltips.rawEditor)\">\n <mat-icon (click)=\"rawEdit()\">\n code\n </mat-icon>\n </button>\n </span>\n }\n\n @if (config()!.buttons.editorSize) {\n <span class=\"ql-formats\">\n <button id=\"fullscreen\"\n [matTooltip]=\"tooltip(fullscreen() ?\n (fullscreenMode() === 'expand' ? config()!.tooltips.minimize : config()!.tooltips.popin) :\n (fullscreenMode() === 'expand' ? config()!.tooltips.maximize : config()!.tooltips.popout))\">\n <mat-icon (click)=\"toggleFullscreen()\">\n {{ fullscreen() ?\n (fullscreenMode() === 'expand' ? config()!.icons.minimize : config()!.icons.popin) :\n (fullscreenMode() === 'expand' ? config()!.icons.maximize : config()!.icons.popout)\n }}\n </mat-icon>\n </button>\n </span>\n }\n </div>\n</ng-template>\n\n<ng-template #formula>\n @if (config()!.buttons.formula) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.formula)\">\n <button class=\"ql-formula\"></button>\n </span>\n }\n</ng-template>", styles: [".ql-toolbar{display:grid;grid-template-columns:1fr auto}mat-icon{color:#ff4500}quill-editor.readonly .ql-toolbar{opacity:.5}::ng-deep quill-editor.no-toolbar .ql-toolbar{height:0;padding:0;visibility:hidden}::ng-deep quill-editor.no-border .ql-container{border:none}::ng-deep quill-editor.readonly .ql-container{background-color:#f5f5f5!important}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: QuillEditorComponent, selector: "quill-editor" }] }); }
130
+ }], usesInheritance: true, ngImport: i0, template: "@if (users()) {\n <form>\n <quill-editor name=\"editor\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"updateChanges()\"\n [placeholder]=\"placeholder() ?? ''\"\n [format]=\"format()\"\n [style.height]=\"fullscreen() ? fullscreenHeight() : height()\"\n [style.width]=\"fullscreen() ? fullscreenWidth() : width()\"\n [readOnly]=\"readonly() ?? false\"\n [class.readonly]=\"readonly() && applyReadonlyStyle()\"\n [class.no-toolbar]=\"!showToolbar()\"\n [class.no-border]=\"!showBorder()\"\n [modules]=\"modules\"\n (onBlur)=\"onBlur.emit($event)\"\n (onContentChanged)=\"onContentChanged.emit($event)\"\n (onEditorChanged)=\"onEditorChanged.emit($event)\"\n (onEditorCreated)=\"onEditorCreated.emit()\"\n (onFocus)=\"onFocus.emit($event)\"\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\n @if (showToolbar()) {\n <div quill-editor-toolbar>\n <ng-container [ngTemplateOutlet]=\"toolbar\"/>\n <ng-container [ngTemplateOutlet]=\"editorSize\"/>\n </div>\n }\n </quill-editor>\n </form>\n}\n\n<ng-template #toolbar>\n <div>\n <ng-container [ngTemplateOutlet]=\"fontStyle\"/>\n <ng-container [ngTemplateOutlet]=\"blockStyle\"/>\n <ng-container [ngTemplateOutlet]=\"headingStyle\"/>\n <ng-container [ngTemplateOutlet]=\"listStyle\"/>\n <ng-container [ngTemplateOutlet]=\"scriptStyle\"/>\n <ng-container [ngTemplateOutlet]=\"indentStyle\"/>\n <ng-container [ngTemplateOutlet]=\"rtl\"/>\n <ng-container [ngTemplateOutlet]=\"fontSize\"/>\n <ng-container [ngTemplateOutlet]=\"heading\"/>\n <ng-container [ngTemplateOutlet]=\"color\"/>\n <ng-container [ngTemplateOutlet]=\"font\"/>\n <ng-container [ngTemplateOutlet]=\"align\"/>\n <ng-container [ngTemplateOutlet]=\"clean\"/>\n <ng-container [ngTemplateOutlet]=\"formula\"/>\n <ng-container [ngTemplateOutlet]=\"media\"/>\n </div>\n</ng-template>\n\n<ng-template #fontStyle>\n @if (showFontStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.bold!) {\n <button class=\"ql-bold\" [matTooltip]=\"tooltip(config()!.tooltips!.bold!)\"></button>\n }\n @if (config()!.buttons!.italic!) {\n <button class=\"ql-italic\" [matTooltip]=\"tooltip(config()!.tooltips!.italic!)\"></button>\n }\n @if (config()!.buttons!.underline!) {\n <button class=\"ql-underline\" [matTooltip]=\"tooltip(config()!.tooltips!.underline!)\"></button>\n }\n @if (config()!.buttons!.strike!) {\n <button class=\"ql-strike\" [matTooltip]=\"tooltip(config()!.tooltips!.strike!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #blockStyle>\n @if (showBlockStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.blockquote!) {\n <button class=\"ql-blockquote\" [matTooltip]=\"tooltip(config()!.tooltips!.blockquote!)\"></button>\n }\n @if (config()!.buttons!.codeblock!) {\n <button class=\"ql-code-block\" [matTooltip]=\"tooltip(config()!.tooltips!.codeblock!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #headingStyle>\n @if (showQuickHeadingStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.h1!) {\n <button class=\"ql-header\" value=\"1\" [matTooltip]=\"tooltip(config()!.tooltips!.h1!)\"></button>\n }\n @if (config()!.buttons!.h2!) {\n <button class=\"ql-header\" value=\"2\" [matTooltip]=\"tooltip(config()!.tooltips!.h2!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #listStyle>\n @if (showListStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.ordered!) {\n <button class=\"ql-list\" value=\"ordered\" [matTooltip]=\"tooltip(config()!.tooltips!.ordered!)\"></button>\n }\n @if (config()!.buttons!.bulleted!) {\n <button class=\"ql-list\" value=\"bullet\" [matTooltip]=\"tooltip(config()!.tooltips!.bulleted!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #scriptStyle>\n @if (showScriptStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.subScript!) {\n <button class=\"ql-script\" value=\"sub\" [matTooltip]=\"tooltip(config()!.tooltips!.subScript!)\"></button>\n }\n @if (config()!.buttons!.superScript!) {\n <button class=\"ql-script\" value=\"super\" [matTooltip]=\"tooltip(config()!.tooltips!.superScript!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #indentStyle>\n @if (showIndentStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.decreaseIndent!) {\n <button class=\"ql-indent\" value=\"-1\" [matTooltip]=\"tooltip(config()!.tooltips!.decreaseIndent!)\"></button>\n }\n @if (config()!.buttons!.increaseIndent!) {\n <button class=\"ql-indent\" value=\"+1\" [matTooltip]=\"tooltip(config()!.tooltips!.increaseIndent!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #rtl>\n @if (config()!.buttons!.rtl!) {\n <span class=\"ql-formats\">\n <button class=\"ql-direction\" value=\"rtl\" [matTooltip]=\"tooltip(config()!.tooltips!.rtl!)\"></button>\n </span>\n }\n</ng-template>\n\n<ng-template #fontSize>\n @if (config()!.buttons!.fontSize!) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.fontSize!)\">\n <select class=\"ql-size\">\n <option value=\"small\"></option>\n <option selected></option>\n <option value=\"large\"></option>\n <option value=\"huge\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #heading>\n @if (config()!.buttons!.headingStyle!) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.headingStyle!)\">\n <select class=\"ql-header\">\n <option value=\"1\"></option>\n <option value=\"2\"></option>\n <option value=\"3\"></option>\n <option value=\"4\"></option>\n <option value=\"5\"></option>\n <option value=\"6\"></option>\n <option selected=\"selected\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #color>\n @if (config()!.buttons!.color!) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.color!)\">\n <select class=\"ql-color\"></select>\n <select class=\"ql-background\"></select>\n </span>\n }\n</ng-template>\n\n<ng-template #font>\n @if (config()!.buttons!.font!) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.font!)\">\n <select class=\"ql-font\">\n <option selected></option>\n <option value=\"serif\"></option>\n <option value=\"monospace\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #align>\n @if (config()!.buttons!.align!) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.align!)\">\n <select class=\"ql-align\">\n <option selected></option>\n <option value=\"center\"></option>\n <option value=\"right\"></option>\n <option value=\"justify\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #clean>\n @if (config()!.buttons!.clean!) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.clean!)\">\n <button class=\"ql-clean\"></button>\n </span>\n }\n</ng-template>\n\n<ng-template #media>\n @if (showMedia) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.link!) {\n <button class=\"ql-link\" [matTooltip]=\"tooltip(config()!.tooltips!.link!)\"></button>\n }\n @if (config()!.buttons!.image!) {\n <button class=\"ql-image\" [matTooltip]=\"tooltip(config()!.tooltips!.image!)\"></button>\n }\n @if (config()!.buttons!.video!) {\n <button class=\"ql-video\" [matTooltip]=\"tooltip(config()!.tooltips!.video!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #editorSize>\n <div>\n @if (config()!.buttons!.rawEditor!) {\n <span class=\"ql-formats\">\n <button id=\"rawdog\"\n [matTooltip]=\"tooltip(config()!.tooltips!.rawEditor!)\">\n <mat-icon (click)=\"rawEdit()\">\n code\n </mat-icon>\n </button>\n </span>\n }\n\n @if (config()!.buttons!.editorSize!) {\n <span class=\"ql-formats\">\n <button id=\"fullscreen\"\n [matTooltip]=\"tooltip(fullscreen() ?\n (fullscreenMode() === 'expand' ? config()!.tooltips!.minimize! : config()!.tooltips!.popin!) :\n (fullscreenMode() === 'expand' ? config()!.tooltips!.maximize! : config()!.tooltips!.popout!))\">\n <mat-icon (click)=\"toggleFullscreen()\">\n {{ fullscreen() ?\n (fullscreenMode() === 'expand' ? config()!.icons!.minimize! : config()!.icons!.popin!) :\n (fullscreenMode() === 'expand' ? config()!.icons!.maximize! : config()!.icons!.popout!)\n }}\n </mat-icon>\n </button>\n </span>\n }\n </div>\n</ng-template>\n\n<ng-template #formula>\n @if (config()!.buttons!.formula!) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.formula!)\">\n <button class=\"ql-formula\"></button>\n </span>\n }\n</ng-template>", styles: [".ql-toolbar{display:grid;grid-template-columns:1fr auto}mat-icon{color:#ff4500}quill-editor.readonly .ql-toolbar{opacity:.5}::ng-deep quill-editor.no-toolbar .ql-toolbar{height:0;padding:0;visibility:hidden}::ng-deep quill-editor.no-border .ql-container{border:none}::ng-deep quill-editor.readonly .ql-container{background-color:#f5f5f5!important}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: QuillEditorComponent, selector: "quill-editor" }] }); }
142
131
  }
143
132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: EditorComponent, decorators: [{
144
133
  type: Component,
@@ -152,7 +141,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
152
141
  provide: NG_VALUE_ACCESSOR,
153
142
  useExisting: forwardRef(() => EditorComponent),
154
143
  multi: true
155
- }], template: "@if (users()) {\n <form>\n <quill-editor name=\"editor\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"updateChanges()\"\n [placeholder]=\"placeholder() ?? ''\"\n [format]=\"format()\"\n [style.height]=\"fullscreen() ? fullscreenHeight() : height()\"\n [style.width]=\"fullscreen() ? fullscreenWidth() : width()\"\n [readOnly]=\"readonly() ?? false\"\n [class.readonly]=\"readonly() && applyReadonlyStyle()\"\n [class.no-toolbar]=\"!showToolbar()\"\n [class.no-border]=\"!showBorder()\"\n [modules]=\"modules\"\n (onBlur)=\"onBlur.emit($event)\"\n (onContentChanged)=\"onContentChanged.emit($event)\"\n (onEditorChanged)=\"onEditorChanged.emit($event)\"\n (onEditorCreated)=\"onEditorCreated.emit()\"\n (onFocus)=\"onFocus.emit($event)\"\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\n @if (showToolbar()) {\n <div quill-editor-toolbar>\n <ng-container [ngTemplateOutlet]=\"toolbar\"/>\n <ng-container [ngTemplateOutlet]=\"editorSize\"/>\n </div>\n }\n </quill-editor>\n </form>\n}\n\n<ng-template #toolbar>\n <div>\n <ng-container [ngTemplateOutlet]=\"fontStyle\"/>\n <ng-container [ngTemplateOutlet]=\"blockStyle\"/>\n <ng-container [ngTemplateOutlet]=\"headingStyle\"/>\n <ng-container [ngTemplateOutlet]=\"listStyle\"/>\n <ng-container [ngTemplateOutlet]=\"scriptStyle\"/>\n <ng-container [ngTemplateOutlet]=\"indentStyle\"/>\n <ng-container [ngTemplateOutlet]=\"rtl\"/>\n <ng-container [ngTemplateOutlet]=\"fontSize\"/>\n <ng-container [ngTemplateOutlet]=\"heading\"/>\n <ng-container [ngTemplateOutlet]=\"color\"/>\n <ng-container [ngTemplateOutlet]=\"font\"/>\n <ng-container [ngTemplateOutlet]=\"align\"/>\n <ng-container [ngTemplateOutlet]=\"clean\"/>\n <ng-container [ngTemplateOutlet]=\"formula\"/>\n <ng-container [ngTemplateOutlet]=\"media\"/>\n </div>\n</ng-template>\n\n<ng-template #fontStyle>\n @if (config()!.showFontStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.bold) {\n <button class=\"ql-bold\" [matTooltip]=\"tooltip(config()!.tooltips.bold)\"></button>\n }\n @if (config()!.buttons.italic) {\n <button class=\"ql-italic\" [matTooltip]=\"tooltip(config()!.tooltips.italic)\"></button>\n }\n @if (config()!.buttons.underline) {\n <button class=\"ql-underline\" [matTooltip]=\"tooltip(config()!.tooltips.underline)\"></button>\n }\n @if (config()!.buttons.strike) {\n <button class=\"ql-strike\" [matTooltip]=\"tooltip(config()!.tooltips.strike)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #blockStyle>\n @if (config()!.showBlockStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.blockquote) {\n <button class=\"ql-blockquote\" [matTooltip]=\"tooltip(config()!.tooltips.blockquote)\"></button>\n }\n @if (config()!.buttons.codeblock) {\n <button class=\"ql-code-block\" [matTooltip]=\"tooltip(config()!.tooltips.codeblock)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #headingStyle>\n @if (config()!.showQuickHeadingStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.h1) {\n <button class=\"ql-header\" value=\"1\" [matTooltip]=\"tooltip(config()!.tooltips.h1)\"></button>\n }\n @if (config()!.buttons.h2) {\n <button class=\"ql-header\" value=\"2\" [matTooltip]=\"tooltip(config()!.tooltips.h2)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #listStyle>\n @if (config()!.showListStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.ordered) {\n <button class=\"ql-list\" value=\"ordered\" [matTooltip]=\"tooltip(config()!.tooltips.ordered)\"></button>\n }\n @if (config()!.buttons.bulleted) {\n <button class=\"ql-list\" value=\"bullet\" [matTooltip]=\"tooltip(config()!.tooltips.bulleted)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #scriptStyle>\n @if (config()!.showScriptStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.subScript) {\n <button class=\"ql-script\" value=\"sub\" [matTooltip]=\"tooltip(config()!.tooltips.subScript)\"></button>\n }\n @if (config()!.buttons.superScript) {\n <button class=\"ql-script\" value=\"super\" [matTooltip]=\"tooltip(config()!.tooltips.superScript)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #indentStyle>\n @if (config()!.showIndentStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.decreaseIndent) {\n <button class=\"ql-indent\" value=\"-1\" [matTooltip]=\"tooltip(config()!.tooltips.decreaseIndent)\"></button>\n }\n @if (config()!.buttons.increaseIndent) {\n <button class=\"ql-indent\" value=\"+1\" [matTooltip]=\"tooltip(config()!.tooltips.increaseIndent)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #rtl>\n @if (config()!.buttons.rtl) {\n <span class=\"ql-formats\">\n <button class=\"ql-direction\" value=\"rtl\" [matTooltip]=\"tooltip(config()!.tooltips.rtl)\"></button>\n </span>\n }\n</ng-template>\n\n<ng-template #fontSize>\n @if (config()!.buttons.fontSize) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.fontSize)\">\n <select class=\"ql-size\">\n <option value=\"small\"></option>\n <option selected></option>\n <option value=\"large\"></option>\n <option value=\"huge\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #heading>\n @if (config()!.buttons.headingStyle) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.headingStyle)\">\n <select class=\"ql-header\">\n <option value=\"1\"></option>\n <option value=\"2\"></option>\n <option value=\"3\"></option>\n <option value=\"4\"></option>\n <option value=\"5\"></option>\n <option value=\"6\"></option>\n <option selected=\"selected\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #color>\n @if (config()!.buttons.color) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.color)\">\n <select class=\"ql-color\"></select>\n <select class=\"ql-background\"></select>\n </span>\n }\n</ng-template>\n\n<ng-template #font>\n @if (config()!.buttons.font) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.font)\">\n <select class=\"ql-font\">\n <option selected></option>\n <option value=\"serif\"></option>\n <option value=\"monospace\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #align>\n @if (config()!.buttons.align) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.align)\">\n <select class=\"ql-align\">\n <option selected></option>\n <option value=\"center\"></option>\n <option value=\"right\"></option>\n <option value=\"justify\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #clean>\n @if (config()!.buttons.clean) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.clean)\">\n <button class=\"ql-clean\"></button>\n </span>\n }\n</ng-template>\n\n<ng-template #media>\n @if (config()!.showMedia()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.link) {\n <button class=\"ql-link\" [matTooltip]=\"tooltip(config()!.tooltips.link)\"></button>\n }\n @if (config()!.buttons.image) {\n <button class=\"ql-image\" [matTooltip]=\"tooltip(config()!.tooltips.image)\"></button>\n }\n @if (config()!.buttons.video) {\n <button class=\"ql-video\" [matTooltip]=\"tooltip(config()!.tooltips.video)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #editorSize>\n <div>\n @if (config()!.buttons.rawEditor) {\n <span class=\"ql-formats\">\n <button id=\"rawdog\"\n [matTooltip]=\"tooltip(config()!.tooltips.rawEditor)\">\n <mat-icon (click)=\"rawEdit()\">\n code\n </mat-icon>\n </button>\n </span>\n }\n\n @if (config()!.buttons.editorSize) {\n <span class=\"ql-formats\">\n <button id=\"fullscreen\"\n [matTooltip]=\"tooltip(fullscreen() ?\n (fullscreenMode() === 'expand' ? config()!.tooltips.minimize : config()!.tooltips.popin) :\n (fullscreenMode() === 'expand' ? config()!.tooltips.maximize : config()!.tooltips.popout))\">\n <mat-icon (click)=\"toggleFullscreen()\">\n {{ fullscreen() ?\n (fullscreenMode() === 'expand' ? config()!.icons.minimize : config()!.icons.popin) :\n (fullscreenMode() === 'expand' ? config()!.icons.maximize : config()!.icons.popout)\n }}\n </mat-icon>\n </button>\n </span>\n }\n </div>\n</ng-template>\n\n<ng-template #formula>\n @if (config()!.buttons.formula) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.formula)\">\n <button class=\"ql-formula\"></button>\n </span>\n }\n</ng-template>", styles: [".ql-toolbar{display:grid;grid-template-columns:1fr auto}mat-icon{color:#ff4500}quill-editor.readonly .ql-toolbar{opacity:.5}::ng-deep quill-editor.no-toolbar .ql-toolbar{height:0;padding:0;visibility:hidden}::ng-deep quill-editor.no-border .ql-container{border:none}::ng-deep quill-editor.readonly .ql-container{background-color:#f5f5f5!important}\n"] }]
144
+ }], template: "@if (users()) {\n <form>\n <quill-editor name=\"editor\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"updateChanges()\"\n [placeholder]=\"placeholder() ?? ''\"\n [format]=\"format()\"\n [style.height]=\"fullscreen() ? fullscreenHeight() : height()\"\n [style.width]=\"fullscreen() ? fullscreenWidth() : width()\"\n [readOnly]=\"readonly() ?? false\"\n [class.readonly]=\"readonly() && applyReadonlyStyle()\"\n [class.no-toolbar]=\"!showToolbar()\"\n [class.no-border]=\"!showBorder()\"\n [modules]=\"modules\"\n (onBlur)=\"onBlur.emit($event)\"\n (onContentChanged)=\"onContentChanged.emit($event)\"\n (onEditorChanged)=\"onEditorChanged.emit($event)\"\n (onEditorCreated)=\"onEditorCreated.emit()\"\n (onFocus)=\"onFocus.emit($event)\"\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\n @if (showToolbar()) {\n <div quill-editor-toolbar>\n <ng-container [ngTemplateOutlet]=\"toolbar\"/>\n <ng-container [ngTemplateOutlet]=\"editorSize\"/>\n </div>\n }\n </quill-editor>\n </form>\n}\n\n<ng-template #toolbar>\n <div>\n <ng-container [ngTemplateOutlet]=\"fontStyle\"/>\n <ng-container [ngTemplateOutlet]=\"blockStyle\"/>\n <ng-container [ngTemplateOutlet]=\"headingStyle\"/>\n <ng-container [ngTemplateOutlet]=\"listStyle\"/>\n <ng-container [ngTemplateOutlet]=\"scriptStyle\"/>\n <ng-container [ngTemplateOutlet]=\"indentStyle\"/>\n <ng-container [ngTemplateOutlet]=\"rtl\"/>\n <ng-container [ngTemplateOutlet]=\"fontSize\"/>\n <ng-container [ngTemplateOutlet]=\"heading\"/>\n <ng-container [ngTemplateOutlet]=\"color\"/>\n <ng-container [ngTemplateOutlet]=\"font\"/>\n <ng-container [ngTemplateOutlet]=\"align\"/>\n <ng-container [ngTemplateOutlet]=\"clean\"/>\n <ng-container [ngTemplateOutlet]=\"formula\"/>\n <ng-container [ngTemplateOutlet]=\"media\"/>\n </div>\n</ng-template>\n\n<ng-template #fontStyle>\n @if (showFontStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.bold!) {\n <button class=\"ql-bold\" [matTooltip]=\"tooltip(config()!.tooltips!.bold!)\"></button>\n }\n @if (config()!.buttons!.italic!) {\n <button class=\"ql-italic\" [matTooltip]=\"tooltip(config()!.tooltips!.italic!)\"></button>\n }\n @if (config()!.buttons!.underline!) {\n <button class=\"ql-underline\" [matTooltip]=\"tooltip(config()!.tooltips!.underline!)\"></button>\n }\n @if (config()!.buttons!.strike!) {\n <button class=\"ql-strike\" [matTooltip]=\"tooltip(config()!.tooltips!.strike!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #blockStyle>\n @if (showBlockStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.blockquote!) {\n <button class=\"ql-blockquote\" [matTooltip]=\"tooltip(config()!.tooltips!.blockquote!)\"></button>\n }\n @if (config()!.buttons!.codeblock!) {\n <button class=\"ql-code-block\" [matTooltip]=\"tooltip(config()!.tooltips!.codeblock!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #headingStyle>\n @if (showQuickHeadingStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.h1!) {\n <button class=\"ql-header\" value=\"1\" [matTooltip]=\"tooltip(config()!.tooltips!.h1!)\"></button>\n }\n @if (config()!.buttons!.h2!) {\n <button class=\"ql-header\" value=\"2\" [matTooltip]=\"tooltip(config()!.tooltips!.h2!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #listStyle>\n @if (showListStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.ordered!) {\n <button class=\"ql-list\" value=\"ordered\" [matTooltip]=\"tooltip(config()!.tooltips!.ordered!)\"></button>\n }\n @if (config()!.buttons!.bulleted!) {\n <button class=\"ql-list\" value=\"bullet\" [matTooltip]=\"tooltip(config()!.tooltips!.bulleted!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #scriptStyle>\n @if (showScriptStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.subScript!) {\n <button class=\"ql-script\" value=\"sub\" [matTooltip]=\"tooltip(config()!.tooltips!.subScript!)\"></button>\n }\n @if (config()!.buttons!.superScript!) {\n <button class=\"ql-script\" value=\"super\" [matTooltip]=\"tooltip(config()!.tooltips!.superScript!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #indentStyle>\n @if (showIndentStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.decreaseIndent!) {\n <button class=\"ql-indent\" value=\"-1\" [matTooltip]=\"tooltip(config()!.tooltips!.decreaseIndent!)\"></button>\n }\n @if (config()!.buttons!.increaseIndent!) {\n <button class=\"ql-indent\" value=\"+1\" [matTooltip]=\"tooltip(config()!.tooltips!.increaseIndent!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #rtl>\n @if (config()!.buttons!.rtl!) {\n <span class=\"ql-formats\">\n <button class=\"ql-direction\" value=\"rtl\" [matTooltip]=\"tooltip(config()!.tooltips!.rtl!)\"></button>\n </span>\n }\n</ng-template>\n\n<ng-template #fontSize>\n @if (config()!.buttons!.fontSize!) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.fontSize!)\">\n <select class=\"ql-size\">\n <option value=\"small\"></option>\n <option selected></option>\n <option value=\"large\"></option>\n <option value=\"huge\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #heading>\n @if (config()!.buttons!.headingStyle!) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.headingStyle!)\">\n <select class=\"ql-header\">\n <option value=\"1\"></option>\n <option value=\"2\"></option>\n <option value=\"3\"></option>\n <option value=\"4\"></option>\n <option value=\"5\"></option>\n <option value=\"6\"></option>\n <option selected=\"selected\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #color>\n @if (config()!.buttons!.color!) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.color!)\">\n <select class=\"ql-color\"></select>\n <select class=\"ql-background\"></select>\n </span>\n }\n</ng-template>\n\n<ng-template #font>\n @if (config()!.buttons!.font!) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.font!)\">\n <select class=\"ql-font\">\n <option selected></option>\n <option value=\"serif\"></option>\n <option value=\"monospace\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #align>\n @if (config()!.buttons!.align!) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.align!)\">\n <select class=\"ql-align\">\n <option selected></option>\n <option value=\"center\"></option>\n <option value=\"right\"></option>\n <option value=\"justify\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #clean>\n @if (config()!.buttons!.clean!) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.clean!)\">\n <button class=\"ql-clean\"></button>\n </span>\n }\n</ng-template>\n\n<ng-template #media>\n @if (showMedia) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.link!) {\n <button class=\"ql-link\" [matTooltip]=\"tooltip(config()!.tooltips!.link!)\"></button>\n }\n @if (config()!.buttons!.image!) {\n <button class=\"ql-image\" [matTooltip]=\"tooltip(config()!.tooltips!.image!)\"></button>\n }\n @if (config()!.buttons!.video!) {\n <button class=\"ql-video\" [matTooltip]=\"tooltip(config()!.tooltips!.video!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #editorSize>\n <div>\n @if (config()!.buttons!.rawEditor!) {\n <span class=\"ql-formats\">\n <button id=\"rawdog\"\n [matTooltip]=\"tooltip(config()!.tooltips!.rawEditor!)\">\n <mat-icon (click)=\"rawEdit()\">\n code\n </mat-icon>\n </button>\n </span>\n }\n\n @if (config()!.buttons!.editorSize!) {\n <span class=\"ql-formats\">\n <button id=\"fullscreen\"\n [matTooltip]=\"tooltip(fullscreen() ?\n (fullscreenMode() === 'expand' ? config()!.tooltips!.minimize! : config()!.tooltips!.popin!) :\n (fullscreenMode() === 'expand' ? config()!.tooltips!.maximize! : config()!.tooltips!.popout!))\">\n <mat-icon (click)=\"toggleFullscreen()\">\n {{ fullscreen() ?\n (fullscreenMode() === 'expand' ? config()!.icons!.minimize! : config()!.icons!.popin!) :\n (fullscreenMode() === 'expand' ? config()!.icons!.maximize! : config()!.icons!.popout!)\n }}\n </mat-icon>\n </button>\n </span>\n }\n </div>\n</ng-template>\n\n<ng-template #formula>\n @if (config()!.buttons!.formula!) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.formula!)\">\n <button class=\"ql-formula\"></button>\n </span>\n }\n</ng-template>", styles: [".ql-toolbar{display:grid;grid-template-columns:1fr auto}mat-icon{color:#ff4500}quill-editor.readonly .ql-toolbar{opacity:.5}::ng-deep quill-editor.no-toolbar .ql-toolbar{height:0;padding:0;visibility:hidden}::ng-deep quill-editor.no-border .ql-container{border:none}::ng-deep quill-editor.readonly .ql-container{background-color:#f5f5f5!important}\n"] }]
156
145
  }] });
157
146
 
158
147
  class QuillMentionModule {
@@ -209,9 +198,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
209
198
  type: SkipSelf
210
199
  }] }] });
211
200
 
201
+ /*export * from './model/buttons';
202
+ export * from './model/config';
203
+ export * from './model/dialog-data';
204
+ export * from './model/icons';
205
+ export * from './model/tooltips';*/
206
+
212
207
  /**
213
208
  * Generated bundle index. Do not edit.
214
209
  */
215
210
 
216
- export { Buttons, Config, EditorComponent, Icons, QuillMentionModule, Tooltips };
211
+ export { EditorComponent, QuillMentionModule };
217
212
  //# sourceMappingURL=cleavelandprice-ngx-lib-quill-mention.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"cleavelandprice-ngx-lib-quill-mention.mjs","sources":["../../../../projects/cleavelandprice/ngx-lib/quill/mention/src/model/buttons.ts","../../../../projects/cleavelandprice/ngx-lib/quill/mention/src/model/config.ts","../../../../projects/cleavelandprice/ngx-lib/quill/mention/src/model/icons.ts","../../../../projects/cleavelandprice/ngx-lib/quill/mention/src/model/tooltips.ts","../../../../projects/cleavelandprice/ngx-lib/quill/mention/src/components/editor/editor.component.ts","../../../../projects/cleavelandprice/ngx-lib/quill/mention/src/components/editor/editor.component.html","../../../../projects/cleavelandprice/ngx-lib/quill/mention/src/quill-mention.module.ts","../../../../projects/cleavelandprice/ngx-lib/quill/mention/src/cleavelandprice-ngx-lib-quill-mention.ts"],"sourcesContent":["import { Buttons as ButtonsBase } from '@cleavelandprice/ngx-lib/quill';\r\n\r\nexport class Buttons extends ButtonsBase {\r\n}","import { Config as ConfigBase } from '@cleavelandprice/ngx-lib/quill';\r\n\r\nexport class Config extends ConfigBase {\r\n}","import { Icons as IconsBase } from '@cleavelandprice/ngx-lib/quill';\r\n\r\nexport class Icons extends IconsBase {\r\n}","import { Tooltips as TooltipsBase } from '@cleavelandprice/ngx-lib/quill';\r\n\r\nexport class Tooltips extends TooltipsBase {\r\n}","import { Component, OnInit, forwardRef, inject, model } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n//import { FormGroup } from '@angular/forms';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { ActiveDirectoryService, User } from '@cleavelandprice/ngx-lib/active-directory';\n\nimport 'quill-mention';\n\n//#region Moved to client responsibility\n//import Quill from 'quill';\n\n// This doesn't work when done from the library - it must be done from the client app\n//import ImageResize from 'quill-image-resize-module';\n//Quill.register('modules/imageResize', ImageResize);\n\n// Treating ImageDrop the same way as ImageResize, even though it doesn't have the same problem described above\n//import { ImageDrop } from 'quill-image-drop-module';\n\n//#endregion\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatTooltip } from '@angular/material/tooltip';\nimport { EditorComponent as EditorComponentBase } from '@cleavelandprice/ngx-lib/quill';\nimport { QuillEditorComponent } from 'ngx-quill';\nimport { DialogData } from '../../model/dialog-data';\n\n@Component({\n selector: 'cpquill-editor-with-mention',\n templateUrl: './editor.component.html',\n styleUrl: './editor.component.scss',\n standalone: true,\n imports: [\n FormsModule,\n MatIcon,\n MatTooltip,\n NgTemplateOutlet,\n QuillEditorComponent,\n ],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EditorComponent),\n multi: true\n }]\n})\nexport class EditorComponent extends EditorComponentBase implements OnInit, ControlValueAccessor {\n users = model<User[]>();\n\n #dlgRef = inject(MatDialogRef<EditorComponent>, { optional: true });\n #dlg = inject(MatDialog);\n #activeDirectoryService = inject(ActiveDirectoryService);\n \n override ngOnInit(): void {\n this.initialize();\n \n if (!this.users()) {\n this.#activeDirectoryService.getUsers().subscribe(users =>\n this.users.set(users)\n );\n }\n }\n\n override toggleFullscreen(): void {\n if (this.fullscreenMode() === 'expand') {\n this.fullscreen.set(!this.fullscreen());\n this.fullscreenChanged.emit(this.fullscreen()!);\n }\n else {\n if (this.fullscreen()) {\n this.#dlgRef?.close(this.value);\n this.fullscreenChanged.emit(false);\n } else {\n const data: DialogData = {\n\n value: this.value,\n config: this.config(),\n placeholder: this.placeholder(),\n format: this.format()!,\n height: this.fullscreenHeight()!,\n width: '100%',\n maxHeight: this.fullscreenHeight()!,\n maxWidth: '100%',\n enableTooltips: this.enableTooltips()!,\n fullscreen: true,\n fullscreenMode: this.fullscreenMode()!,\n readonly: this.readonly()!,\n applyReadonlyStyle: this.applyReadonlyStyle()!,\n showToolbar: this.showToolbar()!,\n showBorder: this.showBorder()!,\n imageResizeModule: this.imageResizeModule()!,\n imageDropModule: this.imageDropModule()!,\n syntaxModule: this.syntaxModule()!,\n users: this.users()\n };\n\n this.#dlg.open(EditorComponent, {\n disableClose: true,\n width: this.fullscreenWidth(),\n height: this.fullscreenHeight(),\n data\n })\n .afterClosed()\n .subscribe(value => {\n this.value = value;\n this.updateChanges();\n });\n\n this.fullscreenChanged.emit(true);\n }\n }\n }\n\n override get modules() {\n if (!this.users()) { return {}; }\n\n const modules = {\n mention: {\n allowedChars: /^[A-Za-z\\sÅÄÖåäö]*$/,\n\n onSelect: (item: DOMStringMap, insertItem: any) => {\n const editor = this.editor()!.quillEditor\n insertItem(item)\n // necessary because quill-mention triggers changes as 'api' instead of 'user'\n editor.insertText(editor.getLength() - 1, '', 'user')\n },\n\n source: (searchTerm: string, renderList: any) => {\n if (searchTerm.length === 0) {\n renderList(this.users()?.map(u => ({ value: `${u.displayName} (${u.sAMAccountName.toLowerCase()})` })), searchTerm)\n } else {\n const matches: any[] = []\n\n this.users()!.forEach((entry) => {\n if (\n entry.displayName.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1 ||\n entry.sAMAccountName.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1\n ) {\n matches.push({ value: `${entry.displayName} (${entry.sAMAccountName.toLowerCase()})` })\n }\n })\n\n renderList(matches, searchTerm)\n }\n }\n }\n };\n\n if (!this.showToolbar()) {\n modules['toolbar'] = [];\n }\n\n if (this.imageResizeModule()) {\n modules['imageResize'] = {};\n }\n\n if (this.imageDropModule()) {\n modules['imageDrop'] = true;\n }\n\n if (this.syntaxModule()) {\n modules['syntax'] = true;\n }\n\n return modules;\n }\n}","@if (users()) {\n <form>\n <quill-editor name=\"editor\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"updateChanges()\"\n [placeholder]=\"placeholder() ?? ''\"\n [format]=\"format()\"\n [style.height]=\"fullscreen() ? fullscreenHeight() : height()\"\n [style.width]=\"fullscreen() ? fullscreenWidth() : width()\"\n [readOnly]=\"readonly() ?? false\"\n [class.readonly]=\"readonly() && applyReadonlyStyle()\"\n [class.no-toolbar]=\"!showToolbar()\"\n [class.no-border]=\"!showBorder()\"\n [modules]=\"modules\"\n (onBlur)=\"onBlur.emit($event)\"\n (onContentChanged)=\"onContentChanged.emit($event)\"\n (onEditorChanged)=\"onEditorChanged.emit($event)\"\n (onEditorCreated)=\"onEditorCreated.emit()\"\n (onFocus)=\"onFocus.emit($event)\"\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\n @if (showToolbar()) {\n <div quill-editor-toolbar>\n <ng-container [ngTemplateOutlet]=\"toolbar\"/>\n <ng-container [ngTemplateOutlet]=\"editorSize\"/>\n </div>\n }\n </quill-editor>\n </form>\n}\n\n<ng-template #toolbar>\n <div>\n <ng-container [ngTemplateOutlet]=\"fontStyle\"/>\n <ng-container [ngTemplateOutlet]=\"blockStyle\"/>\n <ng-container [ngTemplateOutlet]=\"headingStyle\"/>\n <ng-container [ngTemplateOutlet]=\"listStyle\"/>\n <ng-container [ngTemplateOutlet]=\"scriptStyle\"/>\n <ng-container [ngTemplateOutlet]=\"indentStyle\"/>\n <ng-container [ngTemplateOutlet]=\"rtl\"/>\n <ng-container [ngTemplateOutlet]=\"fontSize\"/>\n <ng-container [ngTemplateOutlet]=\"heading\"/>\n <ng-container [ngTemplateOutlet]=\"color\"/>\n <ng-container [ngTemplateOutlet]=\"font\"/>\n <ng-container [ngTemplateOutlet]=\"align\"/>\n <ng-container [ngTemplateOutlet]=\"clean\"/>\n <ng-container [ngTemplateOutlet]=\"formula\"/>\n <ng-container [ngTemplateOutlet]=\"media\"/>\n </div>\n</ng-template>\n\n<ng-template #fontStyle>\n @if (config()!.showFontStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.bold) {\n <button class=\"ql-bold\" [matTooltip]=\"tooltip(config()!.tooltips.bold)\"></button>\n }\n @if (config()!.buttons.italic) {\n <button class=\"ql-italic\" [matTooltip]=\"tooltip(config()!.tooltips.italic)\"></button>\n }\n @if (config()!.buttons.underline) {\n <button class=\"ql-underline\" [matTooltip]=\"tooltip(config()!.tooltips.underline)\"></button>\n }\n @if (config()!.buttons.strike) {\n <button class=\"ql-strike\" [matTooltip]=\"tooltip(config()!.tooltips.strike)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #blockStyle>\n @if (config()!.showBlockStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.blockquote) {\n <button class=\"ql-blockquote\" [matTooltip]=\"tooltip(config()!.tooltips.blockquote)\"></button>\n }\n @if (config()!.buttons.codeblock) {\n <button class=\"ql-code-block\" [matTooltip]=\"tooltip(config()!.tooltips.codeblock)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #headingStyle>\n @if (config()!.showQuickHeadingStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.h1) {\n <button class=\"ql-header\" value=\"1\" [matTooltip]=\"tooltip(config()!.tooltips.h1)\"></button>\n }\n @if (config()!.buttons.h2) {\n <button class=\"ql-header\" value=\"2\" [matTooltip]=\"tooltip(config()!.tooltips.h2)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #listStyle>\n @if (config()!.showListStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.ordered) {\n <button class=\"ql-list\" value=\"ordered\" [matTooltip]=\"tooltip(config()!.tooltips.ordered)\"></button>\n }\n @if (config()!.buttons.bulleted) {\n <button class=\"ql-list\" value=\"bullet\" [matTooltip]=\"tooltip(config()!.tooltips.bulleted)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #scriptStyle>\n @if (config()!.showScriptStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.subScript) {\n <button class=\"ql-script\" value=\"sub\" [matTooltip]=\"tooltip(config()!.tooltips.subScript)\"></button>\n }\n @if (config()!.buttons.superScript) {\n <button class=\"ql-script\" value=\"super\" [matTooltip]=\"tooltip(config()!.tooltips.superScript)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #indentStyle>\n @if (config()!.showIndentStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.decreaseIndent) {\n <button class=\"ql-indent\" value=\"-1\" [matTooltip]=\"tooltip(config()!.tooltips.decreaseIndent)\"></button>\n }\n @if (config()!.buttons.increaseIndent) {\n <button class=\"ql-indent\" value=\"+1\" [matTooltip]=\"tooltip(config()!.tooltips.increaseIndent)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #rtl>\n @if (config()!.buttons.rtl) {\n <span class=\"ql-formats\">\n <button class=\"ql-direction\" value=\"rtl\" [matTooltip]=\"tooltip(config()!.tooltips.rtl)\"></button>\n </span>\n }\n</ng-template>\n\n<ng-template #fontSize>\n @if (config()!.buttons.fontSize) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.fontSize)\">\n <select class=\"ql-size\">\n <option value=\"small\"></option>\n <option selected></option>\n <option value=\"large\"></option>\n <option value=\"huge\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #heading>\n @if (config()!.buttons.headingStyle) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.headingStyle)\">\n <select class=\"ql-header\">\n <option value=\"1\"></option>\n <option value=\"2\"></option>\n <option value=\"3\"></option>\n <option value=\"4\"></option>\n <option value=\"5\"></option>\n <option value=\"6\"></option>\n <option selected=\"selected\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #color>\n @if (config()!.buttons.color) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.color)\">\n <select class=\"ql-color\"></select>\n <select class=\"ql-background\"></select>\n </span>\n }\n</ng-template>\n\n<ng-template #font>\n @if (config()!.buttons.font) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.font)\">\n <select class=\"ql-font\">\n <option selected></option>\n <option value=\"serif\"></option>\n <option value=\"monospace\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #align>\n @if (config()!.buttons.align) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.align)\">\n <select class=\"ql-align\">\n <option selected></option>\n <option value=\"center\"></option>\n <option value=\"right\"></option>\n <option value=\"justify\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #clean>\n @if (config()!.buttons.clean) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.clean)\">\n <button class=\"ql-clean\"></button>\n </span>\n }\n</ng-template>\n\n<ng-template #media>\n @if (config()!.showMedia()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.link) {\n <button class=\"ql-link\" [matTooltip]=\"tooltip(config()!.tooltips.link)\"></button>\n }\n @if (config()!.buttons.image) {\n <button class=\"ql-image\" [matTooltip]=\"tooltip(config()!.tooltips.image)\"></button>\n }\n @if (config()!.buttons.video) {\n <button class=\"ql-video\" [matTooltip]=\"tooltip(config()!.tooltips.video)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #editorSize>\n <div>\n @if (config()!.buttons.rawEditor) {\n <span class=\"ql-formats\">\n <button id=\"rawdog\"\n [matTooltip]=\"tooltip(config()!.tooltips.rawEditor)\">\n <mat-icon (click)=\"rawEdit()\">\n code\n </mat-icon>\n </button>\n </span>\n }\n\n @if (config()!.buttons.editorSize) {\n <span class=\"ql-formats\">\n <button id=\"fullscreen\"\n [matTooltip]=\"tooltip(fullscreen() ?\n (fullscreenMode() === 'expand' ? config()!.tooltips.minimize : config()!.tooltips.popin) :\n (fullscreenMode() === 'expand' ? config()!.tooltips.maximize : config()!.tooltips.popout))\">\n <mat-icon (click)=\"toggleFullscreen()\">\n {{ fullscreen() ?\n (fullscreenMode() === 'expand' ? config()!.icons.minimize : config()!.icons.popin) :\n (fullscreenMode() === 'expand' ? config()!.icons.maximize : config()!.icons.popout)\n }}\n </mat-icon>\n </button>\n </span>\n }\n </div>\n</ng-template>\n\n<ng-template #formula>\n @if (config()!.buttons.formula) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.formula)\">\n <button class=\"ql-formula\"></button>\n </span>\n }\n</ng-template>","import { CommonModule } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\n\r\nimport { QuillModule as NgxQuillModule } from 'ngx-quill';\r\nimport { EditorComponent } from './components/editor/editor.component';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n\r\n MatButtonModule,\r\n MatDialogModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n\r\n NgxQuillModule.forRoot(),\r\n\r\n EditorComponent\r\n ],\r\n exports: [\r\n EditorComponent\r\n ]\r\n})\r\nexport class QuillMentionModule {\r\n static forRoot(): ModuleWithProviders<QuillMentionModule> {\r\n return {\r\n ngModule: QuillMentionModule\r\n };\r\n }\r\n\r\n constructor(@Optional() @SkipSelf() parentModule: QuillMentionModule) {\r\n if (parentModule) {\r\n throw new Error(\r\n 'QuillMentionModule is already loaded. Import it in the AppModule only');\r\n }\r\n }\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './quill-mention.api';\n"],"names":["ButtonsBase","ConfigBase","IconsBase","TooltipsBase","EditorComponentBase","i1","NgxQuillModule"],"mappings":";;;;;;;;;;;;;;;AAEM,MAAO,OAAQ,SAAQA,SAAW,CAAA;AACvC;;ACDK,MAAO,MAAO,SAAQC,QAAU,CAAA;AACrC;;ACDK,MAAO,KAAM,SAAQC,OAAS,CAAA;AACnC;;ACDK,MAAO,QAAS,SAAQC,UAAY,CAAA;AACzC;;AC0CK,MAAO,eAAgB,SAAQC,iBAAmB,CAAA;AAlBxD,IAAA,WAAA,GAAA;;QAmBE,IAAK,CAAA,KAAA,GAAG,KAAK,EAAU,CAAC;AAExB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,EAAC,YAA6B,GAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACpE,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AACzB,QAAA,IAAA,CAAA,uBAAuB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAmH1D,KAAA;AArHC,IAAA,OAAO,CAA6D;AACpE,IAAA,IAAI,CAAqB;AACzB,IAAA,uBAAuB,CAAkC;IAEhD,QAAQ,GAAA;QACf,IAAI,CAAC,UAAU,EAAE,CAAC;AAElB,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE;YACjB,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,KAAK,IACrD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CACtB,CAAC;SACH;KACF;IAEQ,gBAAgB,GAAA;AACvB,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,KAAK,QAAQ,EAAE;YACpC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAG,CAAC,CAAC;SACjD;aACE;AACH,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;gBACrB,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,gBAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACtC;iBAAM;AACL,gBAAA,MAAM,IAAI,GAAe;oBAEvB,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,oBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;AACrB,oBAAA,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;AAC/B,oBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,EAAG;AACtB,oBAAA,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAG;AAChC,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAG;AACnC,oBAAA,QAAQ,EAAE,MAAM;AAChB,oBAAA,cAAc,EAAE,IAAI,CAAC,cAAc,EAAG;AACtC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,cAAc,EAAE,IAAI,CAAC,cAAc,EAAG;AACtC,oBAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAG;AAC1B,oBAAA,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAAG;AAC9C,oBAAA,WAAW,EAAE,IAAI,CAAC,WAAW,EAAG;AAChC,oBAAA,UAAU,EAAE,IAAI,CAAC,UAAU,EAAG;AAC9B,oBAAA,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAG;AAC5C,oBAAA,eAAe,EAAE,IAAI,CAAC,eAAe,EAAG;AACxC,oBAAA,YAAY,EAAE,IAAI,CAAC,YAAY,EAAG;AAClC,oBAAA,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;iBACpB,CAAC;AAEF,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;AAC9B,oBAAA,YAAY,EAAE,IAAI;AAClB,oBAAA,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE;AAC7B,oBAAA,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE;oBAC/B,IAAI;iBACL,CAAC;AACD,qBAAA,WAAW,EAAE;qBACb,SAAS,CAAC,KAAK,IAAG;AACjB,oBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;oBACnB,IAAI,CAAC,aAAa,EAAE,CAAC;AACvB,iBAAC,CAAC,CAAC;AAEH,gBAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnC;SACF;KACF;AAED,IAAA,IAAa,OAAO,GAAA;AAClB,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE;AAAE,YAAA,OAAO,EAAE,CAAC;SAAE;AAEjC,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,OAAO,EAAE;AACP,gBAAA,YAAY,EAAE,qBAAqB;AAEnC,gBAAA,QAAQ,EAAE,CAAC,IAAkB,EAAE,UAAe,KAAI;oBAChD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAG,CAAC,WAAW,CAAA;oBACzC,UAAU,CAAC,IAAI,CAAC,CAAA;;AAEhB,oBAAA,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;iBACtD;AAED,gBAAA,MAAM,EAAE,CAAC,UAAkB,EAAE,UAAe,KAAI;AAC9C,oBAAA,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3B,wBAAA,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAA,EAAG,CAAC,CAAC,WAAW,CAAA,EAAA,EAAK,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,CAAA,CAAA,CAAG,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;qBACpH;yBAAM;wBACL,MAAM,OAAO,GAAU,EAAE,CAAA;wBAEzB,IAAI,CAAC,KAAK,EAAG,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AAC9B,4BAAA,IACE,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC;AACxE,gCAAA,KAAK,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EACzE;gCACF,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAA,EAAG,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,cAAc,CAAC,WAAW,EAAE,CAAG,CAAA,CAAA,EAAE,CAAC,CAAA;6BACxF;AACH,yBAAC,CAAC,CAAA;AAEF,wBAAA,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;qBAChC;iBACF;AACF,aAAA;SACF,CAAC;AAEF,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;AACvB,YAAA,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;SACzB;AAED,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE;AAC5B,YAAA,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;SAC7B;AAED,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;AAC1B,YAAA,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;SAC7B;AAED,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;AACvB,YAAA,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;SAC1B;AAED,QAAA,OAAO,OAAO,CAAC;KAChB;8GAvHU,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,iPANf,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,eAAe,CAAC;AAC9C,gBAAA,KAAK,EAAE,IAAI;aACZ,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3CJ,0pSA0Qc,EAAA,MAAA,EAAA,CAAA,+VAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDzOV,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACX,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACP,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,4BAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACV,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,oBAAoB,EAAA,QAAA,EAAA,cAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAQX,eAAe,EAAA,UAAA,EAAA,CAAA;kBAlB3B,SAAS;+BACE,6BAA6B,EAAA,UAAA,EAG3B,IAAI,EACP,OAAA,EAAA;wBACP,WAAW;wBACX,OAAO;wBACP,UAAU;wBACV,gBAAgB;wBAChB,oBAAoB;AACrB,qBAAA,EAAA,SAAA,EACU,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,qBAAqB,CAAC;AAC9C,4BAAA,KAAK,EAAE,IAAI;yBACZ,CAAC,EAAA,QAAA,EAAA,0pSAAA,EAAA,MAAA,EAAA,CAAA,+VAAA,CAAA,EAAA,CAAA;;;MEXS,kBAAkB,CAAA;AAC7B,IAAA,OAAO,OAAO,GAAA;QACV,OAAO;AACL,YAAA,QAAQ,EAAE,kBAAkB;SAC7B,CAAC;KACH;AAED,IAAA,WAAA,CAAoC,YAAgC,EAAA;QAClE,IAAI,YAAY,EAAE;AAChB,YAAA,MAAM,IAAI,KAAK,CACb,uEAAuE,CAAC,CAAC;SAC5E;KACF;8GAZQ,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAjB3B,YAAY;YACZ,WAAW;YACX,mBAAmB;YAEnB,eAAe;YACf,eAAe;YACf,aAAa;YACb,gBAAgB,EAAAC,IAAA,CAAA,WAAA,EAIhB,eAAe,CAAA,EAAA,OAAA,EAAA,CAGf,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;AAGN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAjB3B,YAAY;YACZ,WAAW;YACX,mBAAmB;YAEnB,eAAe;YACf,eAAe;YACf,aAAa;YACb,gBAAgB;YAEhBC,WAAc,CAAC,OAAO,EAAE;YAExB,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAMN,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBApB9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBAEnB,eAAe;wBACf,eAAe;wBACf,aAAa;wBACb,gBAAgB;wBAEhBA,WAAc,CAAC,OAAO,EAAE;wBAExB,eAAe;AAChB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,eAAe;AAChB,qBAAA;AACF,iBAAA,CAAA;;0BAQgB,QAAQ;;0BAAI,QAAQ;;;ACvCrC;;AAEG;;;;"}
1
+ {"version":3,"file":"cleavelandprice-ngx-lib-quill-mention.mjs","sources":["../../../../projects/cleavelandprice/ngx-lib/quill/mention/src/components/editor/editor.component.ts","../../../../projects/cleavelandprice/ngx-lib/quill/mention/src/components/editor/editor.component.html","../../../../projects/cleavelandprice/ngx-lib/quill/mention/src/quill-mention.module.ts","../../../../projects/cleavelandprice/ngx-lib/quill/mention/src/quill-mention.api.ts","../../../../projects/cleavelandprice/ngx-lib/quill/mention/src/cleavelandprice-ngx-lib-quill-mention.ts"],"sourcesContent":["import { Component, OnInit, forwardRef, inject, model } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n//import { FormGroup } from '@angular/forms';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { ActiveDirectoryService, User } from '@cleavelandprice/ngx-lib/active-directory';\n\nimport 'quill-mention';\n\n//#region Moved to client responsibility\n//import Quill from 'quill';\n\n// This doesn't work when done from the library - it must be done from the client app\n//import ImageResize from 'quill-image-resize-module';\n//Quill.register('modules/imageResize', ImageResize);\n\n// Treating ImageDrop the same way as ImageResize, even though it doesn't have the same problem described above\n//import { ImageDrop } from 'quill-image-drop-module';\n\n//#endregion\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatTooltip } from '@angular/material/tooltip';\nimport { EditorComponent as EditorComponentBase } from '@cleavelandprice/ngx-lib/quill';\nimport { QuillEditorComponent } from 'ngx-quill';\nimport { DialogData } from '../../model/dialog-data';\n\n@Component({\n selector: 'cpquill-editor-with-mention',\n templateUrl: './editor.component.html',\n styleUrl: './editor.component.scss',\n standalone: true,\n imports: [\n FormsModule,\n MatIcon,\n MatTooltip,\n NgTemplateOutlet,\n QuillEditorComponent,\n ],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EditorComponent),\n multi: true\n }]\n})\nexport class EditorComponent extends EditorComponentBase implements OnInit, ControlValueAccessor {\n users = model<User[]>();\n\n #dlgRef = inject(MatDialogRef<EditorComponent>, { optional: true });\n #dlg = inject(MatDialog);\n #activeDirectoryService = inject(ActiveDirectoryService);\n \n override ngOnInit(): void {\n this.initialize();\n \n if (!this.users()) {\n this.#activeDirectoryService.getUsers().subscribe(users =>\n this.users.set(users)\n );\n }\n }\n\n override toggleFullscreen(): void {\n if (this.fullscreenMode() === 'expand') {\n this.fullscreen.set(!this.fullscreen());\n this.fullscreenChanged.emit(this.fullscreen()!);\n }\n else {\n if (this.fullscreen()) {\n this.#dlgRef?.close(this.value);\n this.fullscreenChanged.emit(false);\n } else {\n const data: DialogData = {\n\n value: this.value,\n config: this.config(),\n placeholder: this.placeholder(),\n format: this.format()!,\n height: this.fullscreenHeight()!,\n width: '100%',\n maxHeight: this.fullscreenHeight()!,\n maxWidth: '100%',\n enableTooltips: this.enableTooltips()!,\n fullscreen: true,\n fullscreenMode: this.fullscreenMode()!,\n readonly: this.readonly()!,\n applyReadonlyStyle: this.applyReadonlyStyle()!,\n showToolbar: this.showToolbar()!,\n showBorder: this.showBorder()!,\n imageResizeModule: this.imageResizeModule()!,\n imageDropModule: this.imageDropModule()!,\n syntaxModule: this.syntaxModule()!,\n users: this.users()\n };\n\n this.#dlg.open(EditorComponent, {\n disableClose: true,\n width: this.fullscreenWidth(),\n height: this.fullscreenHeight(),\n data\n })\n .afterClosed()\n .subscribe(value => {\n this.value = value;\n this.updateChanges();\n });\n\n this.fullscreenChanged.emit(true);\n }\n }\n }\n\n override get modules() {\n if (!this.users()) { return {}; }\n\n const modules = {\n mention: {\n allowedChars: /^[A-Za-z\\sÅÄÖåäö]*$/,\n\n onSelect: (item: DOMStringMap, insertItem: any) => {\n const editor = this.editor()!.quillEditor\n insertItem(item)\n // necessary because quill-mention triggers changes as 'api' instead of 'user'\n editor.insertText(editor.getLength() - 1, '', 'user')\n },\n\n source: (searchTerm: string, renderList: any) => {\n if (searchTerm.length === 0) {\n renderList(this.users()?.map(u => ({ value: `${u.displayName} (${u.sAMAccountName.toLowerCase()})` })), searchTerm)\n } else {\n const matches: any[] = []\n\n this.users()!.forEach((entry) => {\n if (\n entry.displayName.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1 ||\n entry.sAMAccountName.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1\n ) {\n matches.push({ value: `${entry.displayName} (${entry.sAMAccountName.toLowerCase()})` })\n }\n })\n\n renderList(matches, searchTerm)\n }\n }\n }\n };\n\n if (!this.showToolbar()) {\n modules['toolbar'] = [];\n }\n\n if (this.imageResizeModule()) {\n modules['imageResize'] = {};\n }\n\n if (this.imageDropModule()) {\n modules['imageDrop'] = true;\n }\n\n if (this.syntaxModule()) {\n modules['syntax'] = true;\n }\n\n return modules;\n }\n}","@if (users()) {\n <form>\n <quill-editor name=\"editor\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"updateChanges()\"\n [placeholder]=\"placeholder() ?? ''\"\n [format]=\"format()\"\n [style.height]=\"fullscreen() ? fullscreenHeight() : height()\"\n [style.width]=\"fullscreen() ? fullscreenWidth() : width()\"\n [readOnly]=\"readonly() ?? false\"\n [class.readonly]=\"readonly() && applyReadonlyStyle()\"\n [class.no-toolbar]=\"!showToolbar()\"\n [class.no-border]=\"!showBorder()\"\n [modules]=\"modules\"\n (onBlur)=\"onBlur.emit($event)\"\n (onContentChanged)=\"onContentChanged.emit($event)\"\n (onEditorChanged)=\"onEditorChanged.emit($event)\"\n (onEditorCreated)=\"onEditorCreated.emit()\"\n (onFocus)=\"onFocus.emit($event)\"\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\n @if (showToolbar()) {\n <div quill-editor-toolbar>\n <ng-container [ngTemplateOutlet]=\"toolbar\"/>\n <ng-container [ngTemplateOutlet]=\"editorSize\"/>\n </div>\n }\n </quill-editor>\n </form>\n}\n\n<ng-template #toolbar>\n <div>\n <ng-container [ngTemplateOutlet]=\"fontStyle\"/>\n <ng-container [ngTemplateOutlet]=\"blockStyle\"/>\n <ng-container [ngTemplateOutlet]=\"headingStyle\"/>\n <ng-container [ngTemplateOutlet]=\"listStyle\"/>\n <ng-container [ngTemplateOutlet]=\"scriptStyle\"/>\n <ng-container [ngTemplateOutlet]=\"indentStyle\"/>\n <ng-container [ngTemplateOutlet]=\"rtl\"/>\n <ng-container [ngTemplateOutlet]=\"fontSize\"/>\n <ng-container [ngTemplateOutlet]=\"heading\"/>\n <ng-container [ngTemplateOutlet]=\"color\"/>\n <ng-container [ngTemplateOutlet]=\"font\"/>\n <ng-container [ngTemplateOutlet]=\"align\"/>\n <ng-container [ngTemplateOutlet]=\"clean\"/>\n <ng-container [ngTemplateOutlet]=\"formula\"/>\n <ng-container [ngTemplateOutlet]=\"media\"/>\n </div>\n</ng-template>\n\n<ng-template #fontStyle>\n @if (showFontStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.bold!) {\n <button class=\"ql-bold\" [matTooltip]=\"tooltip(config()!.tooltips!.bold!)\"></button>\n }\n @if (config()!.buttons!.italic!) {\n <button class=\"ql-italic\" [matTooltip]=\"tooltip(config()!.tooltips!.italic!)\"></button>\n }\n @if (config()!.buttons!.underline!) {\n <button class=\"ql-underline\" [matTooltip]=\"tooltip(config()!.tooltips!.underline!)\"></button>\n }\n @if (config()!.buttons!.strike!) {\n <button class=\"ql-strike\" [matTooltip]=\"tooltip(config()!.tooltips!.strike!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #blockStyle>\n @if (showBlockStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.blockquote!) {\n <button class=\"ql-blockquote\" [matTooltip]=\"tooltip(config()!.tooltips!.blockquote!)\"></button>\n }\n @if (config()!.buttons!.codeblock!) {\n <button class=\"ql-code-block\" [matTooltip]=\"tooltip(config()!.tooltips!.codeblock!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #headingStyle>\n @if (showQuickHeadingStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.h1!) {\n <button class=\"ql-header\" value=\"1\" [matTooltip]=\"tooltip(config()!.tooltips!.h1!)\"></button>\n }\n @if (config()!.buttons!.h2!) {\n <button class=\"ql-header\" value=\"2\" [matTooltip]=\"tooltip(config()!.tooltips!.h2!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #listStyle>\n @if (showListStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.ordered!) {\n <button class=\"ql-list\" value=\"ordered\" [matTooltip]=\"tooltip(config()!.tooltips!.ordered!)\"></button>\n }\n @if (config()!.buttons!.bulleted!) {\n <button class=\"ql-list\" value=\"bullet\" [matTooltip]=\"tooltip(config()!.tooltips!.bulleted!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #scriptStyle>\n @if (showScriptStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.subScript!) {\n <button class=\"ql-script\" value=\"sub\" [matTooltip]=\"tooltip(config()!.tooltips!.subScript!)\"></button>\n }\n @if (config()!.buttons!.superScript!) {\n <button class=\"ql-script\" value=\"super\" [matTooltip]=\"tooltip(config()!.tooltips!.superScript!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #indentStyle>\n @if (showIndentStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.decreaseIndent!) {\n <button class=\"ql-indent\" value=\"-1\" [matTooltip]=\"tooltip(config()!.tooltips!.decreaseIndent!)\"></button>\n }\n @if (config()!.buttons!.increaseIndent!) {\n <button class=\"ql-indent\" value=\"+1\" [matTooltip]=\"tooltip(config()!.tooltips!.increaseIndent!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #rtl>\n @if (config()!.buttons!.rtl!) {\n <span class=\"ql-formats\">\n <button class=\"ql-direction\" value=\"rtl\" [matTooltip]=\"tooltip(config()!.tooltips!.rtl!)\"></button>\n </span>\n }\n</ng-template>\n\n<ng-template #fontSize>\n @if (config()!.buttons!.fontSize!) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.fontSize!)\">\n <select class=\"ql-size\">\n <option value=\"small\"></option>\n <option selected></option>\n <option value=\"large\"></option>\n <option value=\"huge\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #heading>\n @if (config()!.buttons!.headingStyle!) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.headingStyle!)\">\n <select class=\"ql-header\">\n <option value=\"1\"></option>\n <option value=\"2\"></option>\n <option value=\"3\"></option>\n <option value=\"4\"></option>\n <option value=\"5\"></option>\n <option value=\"6\"></option>\n <option selected=\"selected\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #color>\n @if (config()!.buttons!.color!) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.color!)\">\n <select class=\"ql-color\"></select>\n <select class=\"ql-background\"></select>\n </span>\n }\n</ng-template>\n\n<ng-template #font>\n @if (config()!.buttons!.font!) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.font!)\">\n <select class=\"ql-font\">\n <option selected></option>\n <option value=\"serif\"></option>\n <option value=\"monospace\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #align>\n @if (config()!.buttons!.align!) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.align!)\">\n <select class=\"ql-align\">\n <option selected></option>\n <option value=\"center\"></option>\n <option value=\"right\"></option>\n <option value=\"justify\"></option>\n </select>\n </span>\n }\n</ng-template>\n\n<ng-template #clean>\n @if (config()!.buttons!.clean!) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.clean!)\">\n <button class=\"ql-clean\"></button>\n </span>\n }\n</ng-template>\n\n<ng-template #media>\n @if (showMedia) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.link!) {\n <button class=\"ql-link\" [matTooltip]=\"tooltip(config()!.tooltips!.link!)\"></button>\n }\n @if (config()!.buttons!.image!) {\n <button class=\"ql-image\" [matTooltip]=\"tooltip(config()!.tooltips!.image!)\"></button>\n }\n @if (config()!.buttons!.video!) {\n <button class=\"ql-video\" [matTooltip]=\"tooltip(config()!.tooltips!.video!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #editorSize>\n <div>\n @if (config()!.buttons!.rawEditor!) {\n <span class=\"ql-formats\">\n <button id=\"rawdog\"\n [matTooltip]=\"tooltip(config()!.tooltips!.rawEditor!)\">\n <mat-icon (click)=\"rawEdit()\">\n code\n </mat-icon>\n </button>\n </span>\n }\n\n @if (config()!.buttons!.editorSize!) {\n <span class=\"ql-formats\">\n <button id=\"fullscreen\"\n [matTooltip]=\"tooltip(fullscreen() ?\n (fullscreenMode() === 'expand' ? config()!.tooltips!.minimize! : config()!.tooltips!.popin!) :\n (fullscreenMode() === 'expand' ? config()!.tooltips!.maximize! : config()!.tooltips!.popout!))\">\n <mat-icon (click)=\"toggleFullscreen()\">\n {{ fullscreen() ?\n (fullscreenMode() === 'expand' ? config()!.icons!.minimize! : config()!.icons!.popin!) :\n (fullscreenMode() === 'expand' ? config()!.icons!.maximize! : config()!.icons!.popout!)\n }}\n </mat-icon>\n </button>\n </span>\n }\n </div>\n</ng-template>\n\n<ng-template #formula>\n @if (config()!.buttons!.formula!) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.formula!)\">\n <button class=\"ql-formula\"></button>\n </span>\n }\n</ng-template>","import { CommonModule } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\n\r\nimport { QuillModule as NgxQuillModule } from 'ngx-quill';\r\nimport { EditorComponent } from './components/editor/editor.component';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n\r\n MatButtonModule,\r\n MatDialogModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n\r\n NgxQuillModule.forRoot(),\r\n\r\n EditorComponent\r\n ],\r\n exports: [\r\n EditorComponent\r\n ]\r\n})\r\nexport class QuillMentionModule {\r\n static forRoot(): ModuleWithProviders<QuillMentionModule> {\r\n return {\r\n ngModule: QuillMentionModule\r\n };\r\n }\r\n\r\n constructor(@Optional() @SkipSelf() parentModule: QuillMentionModule) {\r\n if (parentModule) {\r\n throw new Error(\r\n 'QuillMentionModule is already loaded. Import it in the AppModule only');\r\n }\r\n }\r\n}","/*export * from './model/buttons';\r\nexport * from './model/config';\r\nexport * from './model/dialog-data';\r\nexport * from './model/icons';\r\nexport * from './model/tooltips';*/\r\n\r\nexport { Buttons, Config, DefaultButtons, DefaultConfig, DefaultIcons, DefaultTooltips, DialogData, Icons, Tooltips } from '@cleavelandprice/ngx-lib/quill';\r\n\r\nexport * from './components/editor/editor.component';\r\n\r\nexport * from './quill-mention.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './quill-mention.api';\n"],"names":["EditorComponentBase","i1","NgxQuillModule"],"mappings":"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"}