@dangl/angular-material-shared 2.2.0 → 2.3.0-beta0037

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.
Files changed (172) hide show
  1. package/{esm2015/dangl-angular-material-shared.js → esm2020/dangl-angular-material-shared.mjs} +0 -0
  2. package/esm2020/lib/angular-material-shared.module.mjs +38 -0
  3. package/esm2020/lib/components/footer/footer.component.mjs +33 -0
  4. package/esm2020/lib/components/header/header.component.mjs +80 -0
  5. package/esm2020/lib/components/tiny-mce/tiny-mce.component.mjs +104 -0
  6. package/{esm2015/lib/models/footer-options.js → esm2020/lib/models/footer-options.mjs} +0 -0
  7. package/{esm2015/lib/utils/guid-generator.js → esm2020/lib/utils/guid-generator.mjs} +0 -0
  8. package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
  9. package/fesm2015/dangl-angular-material-shared.mjs +292 -0
  10. package/fesm2015/dangl-angular-material-shared.mjs.map +1 -0
  11. package/fesm2020/dangl-angular-material-shared.mjs +290 -0
  12. package/fesm2020/dangl-angular-material-shared.mjs.map +1 -0
  13. package/{dangl-angular-material-shared.d.ts → index.d.ts} +1 -0
  14. package/lib/angular-material-shared.module.d.ts +12 -0
  15. package/lib/components/footer/footer.component.d.ts +3 -0
  16. package/lib/components/header/header.component.d.ts +3 -0
  17. package/lib/components/tiny-mce/tiny-mce.component.d.ts +3 -0
  18. package/package.json +28 -16
  19. package/styles/material-style.scss +1 -1
  20. package/styles/material-theme.scss +4 -3
  21. package/styles/material-variables.scss +9 -8
  22. package/tinymce-assets/icons/default/icons.js +11 -1
  23. package/tinymce-assets/icons/default/icons.min.js +1 -1
  24. package/tinymce-assets/langs/cs.js +118 -75
  25. package/tinymce-assets/langs/cy.js +61 -18
  26. package/tinymce-assets/langs/da.js +60 -17
  27. package/tinymce-assets/langs/de.js +60 -17
  28. package/tinymce-assets/langs/eo.js +334 -138
  29. package/tinymce-assets/langs/es_ES.js +32 -2
  30. package/tinymce-assets/langs/fa.js +60 -17
  31. package/tinymce-assets/langs/fa_IR.js +31 -1
  32. package/tinymce-assets/langs/fr_FR.js +60 -17
  33. package/tinymce-assets/langs/hu_HU.js +60 -17
  34. package/tinymce-assets/langs/ja.js +60 -17
  35. package/tinymce-assets/langs/ko_KR.js +3 -3
  36. package/tinymce-assets/langs/nb_NO.js +61 -18
  37. package/tinymce-assets/langs/nl.js +60 -17
  38. package/tinymce-assets/langs/pl.js +60 -17
  39. package/tinymce-assets/langs/pt_BR.js +60 -17
  40. package/tinymce-assets/langs/pt_PT.js +60 -17
  41. package/tinymce-assets/langs/ro.js +60 -17
  42. package/tinymce-assets/langs/ro_RO.js +32 -2
  43. package/tinymce-assets/langs/ru.js +60 -17
  44. package/tinymce-assets/langs/ru_RU.js +445 -0
  45. package/tinymce-assets/langs/sl.js +59 -14
  46. package/tinymce-assets/langs/ta.js +60 -17
  47. package/tinymce-assets/langs/ta_IN.js +60 -17
  48. package/tinymce-assets/langs/th_TH.js +60 -17
  49. package/tinymce-assets/langs/tr_TR.js +81 -8
  50. package/tinymce-assets/langs/vi.js +179 -21
  51. package/tinymce-assets/langs/zh_CN.js +60 -17
  52. package/tinymce-assets/plugins/advlist/plugin.js +29 -48
  53. package/tinymce-assets/plugins/advlist/plugin.min.js +2 -2
  54. package/tinymce-assets/plugins/anchor/plugin.js +8 -8
  55. package/tinymce-assets/plugins/anchor/plugin.min.js +2 -2
  56. package/tinymce-assets/plugins/autolink/plugin.js +58 -30
  57. package/tinymce-assets/plugins/autolink/plugin.min.js +2 -2
  58. package/tinymce-assets/plugins/autoresize/plugin.js +25 -12
  59. package/tinymce-assets/plugins/autoresize/plugin.min.js +2 -2
  60. package/tinymce-assets/plugins/autosave/plugin.js +9 -9
  61. package/tinymce-assets/plugins/autosave/plugin.min.js +2 -2
  62. package/tinymce-assets/plugins/bbcode/plugin.js +6 -6
  63. package/tinymce-assets/plugins/bbcode/plugin.min.js +2 -2
  64. package/tinymce-assets/plugins/charmap/plugin.js +39 -49
  65. package/tinymce-assets/plugins/charmap/plugin.min.js +2 -2
  66. package/tinymce-assets/plugins/code/plugin.js +9 -10
  67. package/tinymce-assets/plugins/code/plugin.min.js +2 -2
  68. package/tinymce-assets/plugins/codesample/plugin.js +1921 -1914
  69. package/tinymce-assets/plugins/codesample/plugin.min.js +2 -2
  70. package/tinymce-assets/plugins/colorpicker/plugin.js +1 -2
  71. package/tinymce-assets/plugins/colorpicker/plugin.min.js +2 -2
  72. package/tinymce-assets/plugins/contextmenu/plugin.js +1 -2
  73. package/tinymce-assets/plugins/contextmenu/plugin.min.js +2 -2
  74. package/tinymce-assets/plugins/directionality/plugin.js +186 -53
  75. package/tinymce-assets/plugins/directionality/plugin.min.js +2 -2
  76. package/tinymce-assets/plugins/emoticons/js/emojiimages.js +1572 -1572
  77. package/tinymce-assets/plugins/emoticons/js/emojiimages.min.js +1 -1
  78. package/tinymce-assets/plugins/emoticons/js/emojis.js +1572 -1572
  79. package/tinymce-assets/plugins/emoticons/js/emojis.min.js +1 -1
  80. package/tinymce-assets/plugins/emoticons/plugin.js +231 -200
  81. package/tinymce-assets/plugins/emoticons/plugin.min.js +2 -2
  82. package/tinymce-assets/plugins/fullpage/plugin.js +42 -42
  83. package/tinymce-assets/plugins/fullpage/plugin.min.js +2 -2
  84. package/tinymce-assets/plugins/fullscreen/plugin.js +496 -129
  85. package/tinymce-assets/plugins/fullscreen/plugin.min.js +2 -2
  86. package/tinymce-assets/plugins/help/plugin.js +101 -122
  87. package/tinymce-assets/plugins/help/plugin.min.js +2 -2
  88. package/tinymce-assets/plugins/hr/plugin.js +9 -10
  89. package/tinymce-assets/plugins/hr/plugin.min.js +2 -2
  90. package/tinymce-assets/plugins/image/plugin.js +78 -73
  91. package/tinymce-assets/plugins/image/plugin.min.js +2 -2
  92. package/tinymce-assets/plugins/imagetools/plugin.js +484 -307
  93. package/tinymce-assets/plugins/imagetools/plugin.min.js +2 -2
  94. package/tinymce-assets/plugins/importcss/plugin.js +50 -51
  95. package/tinymce-assets/plugins/importcss/plugin.min.js +2 -2
  96. package/tinymce-assets/plugins/insertdatetime/plugin.js +22 -17
  97. package/tinymce-assets/plugins/insertdatetime/plugin.min.js +2 -2
  98. package/tinymce-assets/plugins/legacyoutput/plugin.js +8 -8
  99. package/tinymce-assets/plugins/legacyoutput/plugin.min.js +2 -2
  100. package/tinymce-assets/plugins/link/plugin.js +131 -125
  101. package/tinymce-assets/plugins/link/plugin.min.js +2 -2
  102. package/tinymce-assets/plugins/lists/plugin.js +256 -229
  103. package/tinymce-assets/plugins/lists/plugin.min.js +2 -2
  104. package/tinymce-assets/plugins/media/plugin.js +124 -147
  105. package/tinymce-assets/plugins/media/plugin.min.js +2 -2
  106. package/tinymce-assets/plugins/nonbreaking/plugin.js +13 -14
  107. package/tinymce-assets/plugins/nonbreaking/plugin.min.js +2 -2
  108. package/tinymce-assets/plugins/noneditable/plugin.js +6 -6
  109. package/tinymce-assets/plugins/noneditable/plugin.min.js +2 -2
  110. package/tinymce-assets/plugins/pagebreak/plugin.js +16 -17
  111. package/tinymce-assets/plugins/pagebreak/plugin.min.js +2 -2
  112. package/tinymce-assets/plugins/paste/plugin.js +196 -157
  113. package/tinymce-assets/plugins/paste/plugin.min.js +2 -2
  114. package/tinymce-assets/plugins/preview/plugin.js +13 -14
  115. package/tinymce-assets/plugins/preview/plugin.min.js +2 -2
  116. package/tinymce-assets/plugins/print/plugin.js +13 -14
  117. package/tinymce-assets/plugins/print/plugin.min.js +2 -2
  118. package/tinymce-assets/plugins/quickbars/plugin.js +33 -48
  119. package/tinymce-assets/plugins/quickbars/plugin.min.js +2 -2
  120. package/tinymce-assets/plugins/save/plugin.js +9 -8
  121. package/tinymce-assets/plugins/save/plugin.min.js +2 -2
  122. package/tinymce-assets/plugins/searchreplace/plugin.js +73 -70
  123. package/tinymce-assets/plugins/searchreplace/plugin.min.js +2 -2
  124. package/tinymce-assets/plugins/spellchecker/plugin.js +22 -23
  125. package/tinymce-assets/plugins/spellchecker/plugin.min.js +2 -2
  126. package/tinymce-assets/plugins/tabfocus/plugin.js +21 -20
  127. package/tinymce-assets/plugins/tabfocus/plugin.min.js +2 -2
  128. package/tinymce-assets/plugins/table/plugin.js +2831 -2264
  129. package/tinymce-assets/plugins/table/plugin.min.js +2 -2
  130. package/tinymce-assets/plugins/template/plugin.js +84 -70
  131. package/tinymce-assets/plugins/template/plugin.min.js +2 -2
  132. package/tinymce-assets/plugins/textcolor/plugin.js +1 -2
  133. package/tinymce-assets/plugins/textcolor/plugin.min.js +2 -2
  134. package/tinymce-assets/plugins/textpattern/plugin.js +76 -96
  135. package/tinymce-assets/plugins/textpattern/plugin.min.js +2 -2
  136. package/tinymce-assets/plugins/toc/plugin.js +31 -29
  137. package/tinymce-assets/plugins/toc/plugin.min.js +2 -2
  138. package/tinymce-assets/plugins/visualblocks/plugin.js +10 -11
  139. package/tinymce-assets/plugins/visualblocks/plugin.min.js +2 -2
  140. package/tinymce-assets/plugins/visualchars/plugin.js +52 -67
  141. package/tinymce-assets/plugins/visualchars/plugin.min.js +2 -2
  142. package/tinymce-assets/plugins/wordcount/plugin.js +67 -58
  143. package/tinymce-assets/plugins/wordcount/plugin.min.js +2 -2
  144. package/tinymce-assets/skins/ui/oxide/content.css +1 -1
  145. package/tinymce-assets/skins/ui/oxide/content.inline.css +1 -1
  146. package/tinymce-assets/skins/ui/oxide/content.inline.min.css +1 -1
  147. package/tinymce-assets/skins/ui/oxide/content.min.css +1 -1
  148. package/tinymce-assets/skins/ui/oxide/skin.css +35 -22
  149. package/tinymce-assets/skins/ui/oxide/skin.min.css +1 -1
  150. package/tinymce-assets/skins/ui/oxide/skin.shadowdom.css +7 -7
  151. package/tinymce-assets/skins/ui/oxide/skin.shadowdom.min.css +1 -1
  152. package/tinymce-assets/skins/ui/oxide-dark/content.css +1 -1
  153. package/tinymce-assets/skins/ui/oxide-dark/content.inline.css +1 -1
  154. package/tinymce-assets/skins/ui/oxide-dark/content.inline.min.css +1 -1
  155. package/tinymce-assets/skins/ui/oxide-dark/content.min.css +1 -1
  156. package/tinymce-assets/skins/ui/oxide-dark/skin.css +35 -22
  157. package/tinymce-assets/skins/ui/oxide-dark/skin.min.css +1 -1
  158. package/tinymce-assets/skins/ui/oxide-dark/skin.shadowdom.css +7 -7
  159. package/tinymce-assets/skins/ui/oxide-dark/skin.shadowdom.min.css +1 -1
  160. package/tinymce-assets/themes/mobile/theme.js +2798 -3255
  161. package/tinymce-assets/themes/mobile/theme.min.js +2 -2
  162. package/tinymce-assets/themes/silver/theme.js +25400 -25371
  163. package/tinymce-assets/themes/silver/theme.min.js +2 -2
  164. package/bundles/dangl-angular-material-shared.umd.js +0 -285
  165. package/bundles/dangl-angular-material-shared.umd.js.map +0 -1
  166. package/dangl-angular-material-shared.metadata.json +0 -1
  167. package/esm2015/lib/angular-material-shared.module.js +0 -25
  168. package/esm2015/lib/components/footer/footer.component.js +0 -27
  169. package/esm2015/lib/components/header/header.component.js +0 -67
  170. package/esm2015/lib/components/tiny-mce/tiny-mce.component.js +0 -100
  171. package/fesm2015/dangl-angular-material-shared.js +0 -259
  172. package/fesm2015/dangl-angular-material-shared.js.map +0 -1
@@ -0,0 +1,292 @@
1
+ import * as i5 from '@angular/common';
2
+ import { CommonModule } from '@angular/common';
3
+ import * as i0 from '@angular/core';
4
+ import { EventEmitter, Component, Input, Output, forwardRef, Inject, NgModule } from '@angular/core';
5
+ import * as i1 from '@angular/router';
6
+ import { RouterModule } from '@angular/router';
7
+ import * as i1$1 from '@angular/material/toolbar';
8
+ import { MatToolbarModule } from '@angular/material/toolbar';
9
+ import * as i2 from '@angular/material/icon';
10
+ import { MatIconModule } from '@angular/material/icon';
11
+ import * as i3 from '@angular/material/button';
12
+ import { MatButtonModule } from '@angular/material/button';
13
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
14
+
15
+ class FooterComponent {
16
+ constructor() {
17
+ this.currentYear = new Date().getFullYear();
18
+ this.showLegalNotice = false;
19
+ this.legalNoticeText = 'Legal Notice';
20
+ this.legalNoticeLink = 'legal-notice';
21
+ this.useLegalNoticeCallback = false;
22
+ this.legalNoticeCallback = new EventEmitter();
23
+ }
24
+ }
25
+ FooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
26
+ FooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.4", type: FooterComponent, selector: "dangl-footer", inputs: { showLegalNotice: "showLegalNotice", legalNoticeText: "legalNoticeText", legalNoticeLink: "legalNoticeLink", useLegalNoticeCallback: "useLegalNoticeCallback", options: "options" }, outputs: { legalNoticeCallback: "legalNoticeCallback" }, ngImport: i0, template: "<footer class=\"gd-footer\">\r\n <p>\r\n <ng-template [ngIf]=\"!options\">\r\n <span class=\"gd-logo gd-logo-sm\">GD</span>\r\n <span>&nbsp;</span>\r\n <a href=\"https://www.dangl-it.com\"\r\n >Dangl<strong>IT</strong> GmbH \u00A9 {{ currentYear }}</a\r\n >\r\n </ng-template>\r\n <ng-template [ngIf]=\"options\">\r\n <span *ngIf=\"options.logoInitials\" class=\"gd-logo gd-logo-sm\">{{\r\n options.logoInitials\r\n }}</span>\r\n <span>&nbsp;</span>\r\n <a *ngIf=\"options.copyrightUrl\" href=\"{{ options.copyrightUrl }}\"\r\n ><span [innerHtml]=\"options.companyNameHtml\"></span\r\n ></a>\r\n <span\r\n *ngIf=\"!options.copyrightUrl\"\r\n [innerHtml]=\"options.companyNameHtml\"\r\n ></span>\r\n </ng-template>\r\n <ng-template [ngIf]=\"showLegalNotice\">\r\n -\r\n <a *ngIf=\"!useLegalNoticeCallback\" [routerLink]=\"legalNoticeLink\">{{\r\n legalNoticeText\r\n }}</a>\r\n <a\r\n href=\"javascript:void(0)\"\r\n *ngIf=\"useLegalNoticeCallback\"\r\n (click)=\"legalNoticeCallback.next(null)\"\r\n >{{ legalNoticeText }}</a\r\n >\r\n </ng-template>\r\n </p>\r\n</footer>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: FooterComponent, decorators: [{
28
+ type: Component,
29
+ args: [{ selector: 'dangl-footer', template: "<footer class=\"gd-footer\">\r\n <p>\r\n <ng-template [ngIf]=\"!options\">\r\n <span class=\"gd-logo gd-logo-sm\">GD</span>\r\n <span>&nbsp;</span>\r\n <a href=\"https://www.dangl-it.com\"\r\n >Dangl<strong>IT</strong> GmbH \u00A9 {{ currentYear }}</a\r\n >\r\n </ng-template>\r\n <ng-template [ngIf]=\"options\">\r\n <span *ngIf=\"options.logoInitials\" class=\"gd-logo gd-logo-sm\">{{\r\n options.logoInitials\r\n }}</span>\r\n <span>&nbsp;</span>\r\n <a *ngIf=\"options.copyrightUrl\" href=\"{{ options.copyrightUrl }}\"\r\n ><span [innerHtml]=\"options.companyNameHtml\"></span\r\n ></a>\r\n <span\r\n *ngIf=\"!options.copyrightUrl\"\r\n [innerHtml]=\"options.companyNameHtml\"\r\n ></span>\r\n </ng-template>\r\n <ng-template [ngIf]=\"showLegalNotice\">\r\n -\r\n <a *ngIf=\"!useLegalNoticeCallback\" [routerLink]=\"legalNoticeLink\">{{\r\n legalNoticeText\r\n }}</a>\r\n <a\r\n href=\"javascript:void(0)\"\r\n *ngIf=\"useLegalNoticeCallback\"\r\n (click)=\"legalNoticeCallback.next(null)\"\r\n >{{ legalNoticeText }}</a\r\n >\r\n </ng-template>\r\n </p>\r\n</footer>\r\n" }]
30
+ }], propDecorators: { showLegalNotice: [{
31
+ type: Input
32
+ }], legalNoticeText: [{
33
+ type: Input
34
+ }], legalNoticeLink: [{
35
+ type: Input
36
+ }], useLegalNoticeCallback: [{
37
+ type: Input
38
+ }], options: [{
39
+ type: Input
40
+ }], legalNoticeCallback: [{
41
+ type: Output
42
+ }] } });
43
+
44
+ class HeaderComponent {
45
+ constructor() {
46
+ this.showMenuButton = false;
47
+ this.logoInitials = "GD";
48
+ this.menuButtonClicked = new EventEmitter();
49
+ this._forceDisablePrereleaseHeader = false;
50
+ }
51
+ set showPrerelease(val) {
52
+ if (val) {
53
+ this._forceDisablePrereleaseHeader = false;
54
+ this._showPrerelease = this.checkPrereleaseData();
55
+ }
56
+ else {
57
+ this._forceDisablePrereleaseHeader = true;
58
+ this._showPrerelease = false;
59
+ }
60
+ }
61
+ get showPrerelease() {
62
+ if (this._forceDisablePrereleaseHeader) {
63
+ return false;
64
+ }
65
+ return this._showPrerelease;
66
+ }
67
+ ngOnChanges(_) {
68
+ if (!this._forceDisablePrereleaseHeader) {
69
+ this._showPrerelease = this.checkPrereleaseData();
70
+ }
71
+ }
72
+ checkPrereleaseData() {
73
+ let isShowing = this.preReleaseVersion != null ||
74
+ this.preReleaseBuildDate != null ||
75
+ this.preReleaseLiveSiteLink != null;
76
+ if (this.preReleaseVersion != null && typeof Storage !== "undefined") {
77
+ isShowing =
78
+ this.preReleaseVersion !==
79
+ localStorage.getItem("dangl_preview_notice_header_hide_version");
80
+ }
81
+ return isShowing;
82
+ }
83
+ hideForCurrentVersion() {
84
+ if (typeof Storage !== "undefined") {
85
+ localStorage.setItem("dangl_preview_notice_header_hide_version", this.preReleaseVersion);
86
+ this.showPrerelease = false;
87
+ }
88
+ }
89
+ }
90
+ HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
91
+ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.4", type: HeaderComponent, selector: "dangl-header", inputs: { prefix: "prefix", postfix: "postfix", showMenuButton: "showMenuButton", logoInitials: "logoInitials", iconUrl: "iconUrl", preReleaseVersion: "preReleaseVersion", preReleaseBuildDate: "preReleaseBuildDate", preReleaseLiveSiteLink: "preReleaseLiveSiteLink", showPrerelease: "showPrerelease" }, outputs: { menuButtonClicked: "menuButtonClicked" }, usesOnChanges: true, ngImport: i0, template: "<mat-toolbar color=\"primary\">\r\n <mat-toolbar-row>\r\n <button\r\n mat-button\r\n class=\"menu-button\"\r\n *ngIf=\"showMenuButton\"\r\n (click)=\"menuButtonClicked.next(null)\"\r\n >\r\n <mat-icon>menu</mat-icon>\r\n </button>\r\n <a routerLink=\"/\" class=\"header-title\" *ngIf=\"iconUrl\">\r\n <img class=\"dangl-header-logo\" [src]=\"iconUrl\" />\r\n </a>\r\n <a routerLink=\"/\" class=\"header-title\">\r\n <h1>\r\n <span *ngIf=\"logoInitials\" class=\"gd-logo\">{{ logoInitials }}</span>\r\n <ng-container *ngIf=\"prefix || postfix\">\r\n {{ prefix }}<strong>{{ postfix }}</strong>\r\n </ng-container>\r\n </h1>\r\n </a>\r\n <span class=\"toolbar-spacer\"></span>\r\n <ng-content></ng-content>\r\n </mat-toolbar-row>\r\n <mat-toolbar-row *ngIf=\"showPrerelease\" class=\"preview-notice\">\r\n <div class=\"preview-row\">\r\n <span> <mat-icon>warning</mat-icon> This is a preview site. </span>\r\n <a href=\"{{ preReleaseLiveSiteLink }}\" *ngIf=\"preReleaseLiveSiteLink\"\r\n >Click here to go to the live site</a\r\n >\r\n <div>\r\n <button\r\n mat-button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"showPrerelease = false\"\r\n >\r\n OK\r\n </button>\r\n <button\r\n mat-button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"hideForCurrentVersion()\"\r\n >\r\n Hide for this version\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"preview-row\">\r\n <span *ngIf=\"preReleaseVersion\">Version: {{ preReleaseVersion }}</span>\r\n <span *ngIf=\"preReleaseBuildDate\"\r\n >Built: {{ preReleaseBuildDate | date: \"dd.MM.yyyy HH:mm\" }}</span\r\n >\r\n </div>\r\n </mat-toolbar-row>\r\n <mat-toolbar-row class=\"header-divider\"></mat-toolbar-row>\r\n</mat-toolbar>\r\n", styles: [".header-divider{background-color:#3b4c55;height:12px}.preview-notice{background-color:#f44336;display:flex;flex-direction:column}.preview-notice .preview-row{display:flex;width:100%;flex-direction:row;justify-content:space-between}.preview-notice .preview-row a{text-decoration:underline}.dangl-header-logo{max-height:64px;vertical-align:middle}@media (max-width: 599px){.dangl-header-logo{max-height:56px}}mat-toolbar-row{padding-left:0}.header-title{padding-left:16px}.menu-button{height:100%;margin-left:0;min-width:auto;width:52px}.menu-button mat-icon{transform:scale(1.25)}.toolbar-spacer{flex:1 1 auto}\n"], dependencies: [{ kind: "component", type: i1$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i1$1.MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.DatePipe, name: "date" }] });
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: HeaderComponent, decorators: [{
93
+ type: Component,
94
+ args: [{ selector: "dangl-header", template: "<mat-toolbar color=\"primary\">\r\n <mat-toolbar-row>\r\n <button\r\n mat-button\r\n class=\"menu-button\"\r\n *ngIf=\"showMenuButton\"\r\n (click)=\"menuButtonClicked.next(null)\"\r\n >\r\n <mat-icon>menu</mat-icon>\r\n </button>\r\n <a routerLink=\"/\" class=\"header-title\" *ngIf=\"iconUrl\">\r\n <img class=\"dangl-header-logo\" [src]=\"iconUrl\" />\r\n </a>\r\n <a routerLink=\"/\" class=\"header-title\">\r\n <h1>\r\n <span *ngIf=\"logoInitials\" class=\"gd-logo\">{{ logoInitials }}</span>\r\n <ng-container *ngIf=\"prefix || postfix\">\r\n {{ prefix }}<strong>{{ postfix }}</strong>\r\n </ng-container>\r\n </h1>\r\n </a>\r\n <span class=\"toolbar-spacer\"></span>\r\n <ng-content></ng-content>\r\n </mat-toolbar-row>\r\n <mat-toolbar-row *ngIf=\"showPrerelease\" class=\"preview-notice\">\r\n <div class=\"preview-row\">\r\n <span> <mat-icon>warning</mat-icon> This is a preview site. </span>\r\n <a href=\"{{ preReleaseLiveSiteLink }}\" *ngIf=\"preReleaseLiveSiteLink\"\r\n >Click here to go to the live site</a\r\n >\r\n <div>\r\n <button\r\n mat-button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"showPrerelease = false\"\r\n >\r\n OK\r\n </button>\r\n <button\r\n mat-button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"hideForCurrentVersion()\"\r\n >\r\n Hide for this version\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"preview-row\">\r\n <span *ngIf=\"preReleaseVersion\">Version: {{ preReleaseVersion }}</span>\r\n <span *ngIf=\"preReleaseBuildDate\"\r\n >Built: {{ preReleaseBuildDate | date: \"dd.MM.yyyy HH:mm\" }}</span\r\n >\r\n </div>\r\n </mat-toolbar-row>\r\n <mat-toolbar-row class=\"header-divider\"></mat-toolbar-row>\r\n</mat-toolbar>\r\n", styles: [".header-divider{background-color:#3b4c55;height:12px}.preview-notice{background-color:#f44336;display:flex;flex-direction:column}.preview-notice .preview-row{display:flex;width:100%;flex-direction:row;justify-content:space-between}.preview-notice .preview-row a{text-decoration:underline}.dangl-header-logo{max-height:64px;vertical-align:middle}@media (max-width: 599px){.dangl-header-logo{max-height:56px}}mat-toolbar-row{padding-left:0}.header-title{padding-left:16px}.menu-button{height:100%;margin-left:0;min-width:auto;width:52px}.menu-button mat-icon{transform:scale(1.25)}.toolbar-spacer{flex:1 1 auto}\n"] }]
95
+ }], propDecorators: { prefix: [{
96
+ type: Input
97
+ }], postfix: [{
98
+ type: Input
99
+ }], showMenuButton: [{
100
+ type: Input
101
+ }], logoInitials: [{
102
+ type: Input
103
+ }], iconUrl: [{
104
+ type: Input
105
+ }], menuButtonClicked: [{
106
+ type: Output
107
+ }], preReleaseVersion: [{
108
+ type: Input
109
+ }], preReleaseBuildDate: [{
110
+ type: Input
111
+ }], preReleaseLiveSiteLink: [{
112
+ type: Input
113
+ }], showPrerelease: [{
114
+ type: Input
115
+ }] } });
116
+
117
+ // tslint:disable:no-bitwise
118
+ class GuidGenerator {
119
+ /**
120
+ * Taken from https://github.com/Steve-Fenton/TypeScriptUtilities/blob/master/Guid
121
+ * (modified)
122
+ * Generates a Version 4 (= Pseudorandom) Guid
123
+ */
124
+ static generatePseudoRandomGuid() {
125
+ const newGuidPlaceholder = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';
126
+ const pseudoGuid = newGuidPlaceholder.replace(/[xy]/g, letter => this.generateRandomHexDigit(letter));
127
+ return pseudoGuid;
128
+ }
129
+ static generateRandomHexDigit(letter) {
130
+ const r = Math.random() * 16 | 0;
131
+ let v;
132
+ if (letter === 'x') {
133
+ v = r;
134
+ }
135
+ else if (letter === 'y') {
136
+ v = r & 0x3 | 0x8;
137
+ /* r & 0x3 -> Allows either 0x0000, 0x0001, 0x0010 or 0x0011
138
+ * | 0x8 -> 0x1000 = 8
139
+ * 0x1001 = 9
140
+ * 0x1010 = A
141
+ * 0x1011 = B
142
+ * The possible variants of version 4 Guids
143
+ */
144
+ }
145
+ else {
146
+ throw new Error('Please provide either "x" to indicate a random replacement or "y" to '
147
+ + 'indicate the generation of the variant identifier');
148
+ }
149
+ return v.toString(16);
150
+ }
151
+ }
152
+
153
+ class TinyMceComponent {
154
+ constructor(baseUrl, ngZone) {
155
+ this.baseUrl = baseUrl;
156
+ this.ngZone = ngZone;
157
+ this.elementId = GuidGenerator.generatePseudoRandomGuid();
158
+ this.onTouchedCallback = () => { };
159
+ this.onChangeCallback = () => { };
160
+ }
161
+ get editorContent() {
162
+ return this._editorContent;
163
+ }
164
+ set editorContent(value) {
165
+ if (value !== this._editorContent) {
166
+ this._editorContent = value;
167
+ this.ngZone.run(() => {
168
+ // tinyMCE events are outside of the Angular zone
169
+ // ngZone.run() makes sure everything runs in the
170
+ // Angular zone, so it integrates in the Angular
171
+ // lifecycle. Otherwise, e.g., 'required' validation
172
+ // would not update on change
173
+ this.onChangeCallback(value);
174
+ });
175
+ }
176
+ }
177
+ ngAfterViewInit() {
178
+ tinymce.init({
179
+ selector: '#' + this.elementId,
180
+ plugins: ['link', 'paste', 'table', 'image', 'code'],
181
+ language: this.tinyMceLanguageCode,
182
+ base_url: this.baseUrl,
183
+ branding: false,
184
+ setup: editor => {
185
+ editor.on('change keyup', () => {
186
+ const content = editor.getContent();
187
+ this.editorContent = content;
188
+ });
189
+ },
190
+ init_instance_callback: editor => {
191
+ if (editor && this.editorContent) {
192
+ editor.setContent(this.editorContent);
193
+ }
194
+ this.editor = editor;
195
+ }
196
+ });
197
+ }
198
+ ngOnDestroy() {
199
+ tinymce.remove(this.editor);
200
+ }
201
+ writeValue(obj) {
202
+ obj = obj || '';
203
+ this.editorContent = obj;
204
+ if (!this.editor) {
205
+ return;
206
+ }
207
+ const tinyMceContent = this.editor.getContent();
208
+ if (tinyMceContent !== obj) {
209
+ this.editor.setContent(obj);
210
+ }
211
+ }
212
+ registerOnChange(fn) {
213
+ this.onChangeCallback = fn;
214
+ }
215
+ registerOnTouched(fn) {
216
+ this.onTouchedCallback = fn;
217
+ }
218
+ setDisabledState(isDisabled) {
219
+ if (isDisabled) {
220
+ this.editor.setMode('readonly');
221
+ }
222
+ else {
223
+ this.editor.setMode('design');
224
+ }
225
+ }
226
+ }
227
+ TinyMceComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: TinyMceComponent, deps: [{ token: 'TINYMCE_BASE_URL' }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
228
+ TinyMceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.4", type: TinyMceComponent, selector: "dangl-tiny-mce", inputs: { tinyMceLanguageUrl: "tinyMceLanguageUrl", tinyMceLanguageCode: "tinyMceLanguageCode" }, providers: [
229
+ {
230
+ provide: NG_VALUE_ACCESSOR,
231
+ useExisting: forwardRef(() => TinyMceComponent),
232
+ multi: true,
233
+ }
234
+ ], ngImport: i0, template: "<textarea id=\"{{ elementId }}\"></textarea>\r\n", styles: [""] });
235
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: TinyMceComponent, decorators: [{
236
+ type: Component,
237
+ args: [{ selector: 'dangl-tiny-mce', providers: [
238
+ {
239
+ provide: NG_VALUE_ACCESSOR,
240
+ useExisting: forwardRef(() => TinyMceComponent),
241
+ multi: true,
242
+ }
243
+ ], template: "<textarea id=\"{{ elementId }}\"></textarea>\r\n" }]
244
+ }], ctorParameters: function () {
245
+ return [{ type: undefined, decorators: [{
246
+ type: Inject,
247
+ args: ['TINYMCE_BASE_URL']
248
+ }] }, { type: i0.NgZone }];
249
+ }, propDecorators: { tinyMceLanguageUrl: [{
250
+ type: Input
251
+ }], tinyMceLanguageCode: [{
252
+ type: Input
253
+ }] } });
254
+
255
+ class AngularMaterialSharedModule {
256
+ }
257
+ AngularMaterialSharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: AngularMaterialSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
258
+ AngularMaterialSharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.4", ngImport: i0, type: AngularMaterialSharedModule, declarations: [FooterComponent, HeaderComponent, TinyMceComponent], imports: [MatToolbarModule,
259
+ MatIconModule,
260
+ MatButtonModule,
261
+ RouterModule,
262
+ CommonModule], exports: [FooterComponent, HeaderComponent, TinyMceComponent] });
263
+ AngularMaterialSharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: AngularMaterialSharedModule, imports: [MatToolbarModule,
264
+ MatIconModule,
265
+ MatButtonModule,
266
+ RouterModule,
267
+ CommonModule] });
268
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: AngularMaterialSharedModule, decorators: [{
269
+ type: NgModule,
270
+ args: [{
271
+ imports: [
272
+ MatToolbarModule,
273
+ MatIconModule,
274
+ MatButtonModule,
275
+ RouterModule,
276
+ CommonModule
277
+ ],
278
+ declarations: [FooterComponent, HeaderComponent, TinyMceComponent],
279
+ exports: [FooterComponent, HeaderComponent, TinyMceComponent]
280
+ }]
281
+ }] });
282
+
283
+ /*
284
+ * Public API Surface of angular-material-shared
285
+ */
286
+
287
+ /**
288
+ * Generated bundle index. Do not edit.
289
+ */
290
+
291
+ export { AngularMaterialSharedModule, FooterComponent, GuidGenerator, HeaderComponent, TinyMceComponent };
292
+ //# sourceMappingURL=dangl-angular-material-shared.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dangl-angular-material-shared.mjs","sources":["../../../projects/angular-material-shared/src/lib/components/footer/footer.component.ts","../../../projects/angular-material-shared/src/lib/components/footer/footer.component.html","../../../projects/angular-material-shared/src/lib/components/header/header.component.ts","../../../projects/angular-material-shared/src/lib/components/header/header.component.html","../../../projects/angular-material-shared/src/lib/utils/guid-generator.ts","../../../projects/angular-material-shared/src/lib/components/tiny-mce/tiny-mce.component.ts","../../../projects/angular-material-shared/src/lib/components/tiny-mce/tiny-mce.component.html","../../../projects/angular-material-shared/src/lib/angular-material-shared.module.ts","../../../projects/angular-material-shared/src/public_api.ts","../../../projects/angular-material-shared/src/dangl-angular-material-shared.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\nimport { FooterOptions } from '../../models/footer-options';\r\n\r\n@Component({\r\n selector: 'dangl-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss']\r\n})\r\nexport class FooterComponent {\r\n\r\n currentYear = new Date().getFullYear();\r\n\r\n @Input() showLegalNotice = false;\r\n @Input() legalNoticeText = 'Legal Notice';\r\n @Input() legalNoticeLink = 'legal-notice';\r\n @Input() useLegalNoticeCallback = false;\r\n @Input() options: FooterOptions;\r\n @Output() legalNoticeCallback = new EventEmitter();\r\n\r\n}\r\n","<footer class=\"gd-footer\">\r\n <p>\r\n <ng-template [ngIf]=\"!options\">\r\n <span class=\"gd-logo gd-logo-sm\">GD</span>\r\n <span>&nbsp;</span>\r\n <a href=\"https://www.dangl-it.com\"\r\n >Dangl<strong>IT</strong> GmbH © {{ currentYear }}</a\r\n >\r\n </ng-template>\r\n <ng-template [ngIf]=\"options\">\r\n <span *ngIf=\"options.logoInitials\" class=\"gd-logo gd-logo-sm\">{{\r\n options.logoInitials\r\n }}</span>\r\n <span>&nbsp;</span>\r\n <a *ngIf=\"options.copyrightUrl\" href=\"{{ options.copyrightUrl }}\"\r\n ><span [innerHtml]=\"options.companyNameHtml\"></span\r\n ></a>\r\n <span\r\n *ngIf=\"!options.copyrightUrl\"\r\n [innerHtml]=\"options.companyNameHtml\"\r\n ></span>\r\n </ng-template>\r\n <ng-template [ngIf]=\"showLegalNotice\">\r\n -\r\n <a *ngIf=\"!useLegalNoticeCallback\" [routerLink]=\"legalNoticeLink\">{{\r\n legalNoticeText\r\n }}</a>\r\n <a\r\n href=\"javascript:void(0)\"\r\n *ngIf=\"useLegalNoticeCallback\"\r\n (click)=\"legalNoticeCallback.next(null)\"\r\n >{{ legalNoticeText }}</a\r\n >\r\n </ng-template>\r\n </p>\r\n</footer>\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"dangl-header\",\r\n templateUrl: \"./header.component.html\",\r\n styleUrls: [\"./header.component.scss\"],\r\n})\r\nexport class HeaderComponent implements OnChanges {\r\n @Input() prefix: string;\r\n @Input() postfix: string;\r\n @Input() showMenuButton = false;\r\n @Input() logoInitials = \"GD\";\r\n @Input() iconUrl: string;\r\n @Output() menuButtonClicked = new EventEmitter();\r\n\r\n @Input() preReleaseVersion: string;\r\n @Input() preReleaseBuildDate: Date;\r\n @Input() preReleaseLiveSiteLink: string;\r\n\r\n @Input() set showPrerelease(val: boolean) {\r\n if (val) {\r\n this._forceDisablePrereleaseHeader = false;\r\n this._showPrerelease = this.checkPrereleaseData();\r\n } else {\r\n this._forceDisablePrereleaseHeader = true;\r\n this._showPrerelease = false;\r\n }\r\n }\r\n\r\n get showPrerelease() {\r\n if (this._forceDisablePrereleaseHeader) {\r\n return false;\r\n }\r\n return this._showPrerelease;\r\n }\r\n\r\n private _showPrerelease: boolean;\r\n private _forceDisablePrereleaseHeader = false;\r\n\r\n ngOnChanges(_: SimpleChanges): void {\r\n if (!this._forceDisablePrereleaseHeader) {\r\n this._showPrerelease = this.checkPrereleaseData();\r\n }\r\n }\r\n\r\n checkPrereleaseData(): boolean {\r\n let isShowing =\r\n this.preReleaseVersion != null ||\r\n this.preReleaseBuildDate != null ||\r\n this.preReleaseLiveSiteLink != null;\r\n if (this.preReleaseVersion != null && typeof Storage !== \"undefined\") {\r\n isShowing =\r\n this.preReleaseVersion !==\r\n localStorage.getItem(\"dangl_preview_notice_header_hide_version\");\r\n }\r\n return isShowing;\r\n }\r\n\r\n hideForCurrentVersion() {\r\n if (typeof Storage !== \"undefined\") {\r\n localStorage.setItem(\r\n \"dangl_preview_notice_header_hide_version\",\r\n this.preReleaseVersion\r\n );\r\n this.showPrerelease = false;\r\n }\r\n }\r\n}\r\n","<mat-toolbar color=\"primary\">\r\n <mat-toolbar-row>\r\n <button\r\n mat-button\r\n class=\"menu-button\"\r\n *ngIf=\"showMenuButton\"\r\n (click)=\"menuButtonClicked.next(null)\"\r\n >\r\n <mat-icon>menu</mat-icon>\r\n </button>\r\n <a routerLink=\"/\" class=\"header-title\" *ngIf=\"iconUrl\">\r\n <img class=\"dangl-header-logo\" [src]=\"iconUrl\" />\r\n </a>\r\n <a routerLink=\"/\" class=\"header-title\">\r\n <h1>\r\n <span *ngIf=\"logoInitials\" class=\"gd-logo\">{{ logoInitials }}</span>\r\n <ng-container *ngIf=\"prefix || postfix\">\r\n {{ prefix }}<strong>{{ postfix }}</strong>\r\n </ng-container>\r\n </h1>\r\n </a>\r\n <span class=\"toolbar-spacer\"></span>\r\n <ng-content></ng-content>\r\n </mat-toolbar-row>\r\n <mat-toolbar-row *ngIf=\"showPrerelease\" class=\"preview-notice\">\r\n <div class=\"preview-row\">\r\n <span> <mat-icon>warning</mat-icon> This is a preview site. </span>\r\n <a href=\"{{ preReleaseLiveSiteLink }}\" *ngIf=\"preReleaseLiveSiteLink\"\r\n >Click here to go to the live site</a\r\n >\r\n <div>\r\n <button\r\n mat-button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"showPrerelease = false\"\r\n >\r\n OK\r\n </button>\r\n <button\r\n mat-button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"hideForCurrentVersion()\"\r\n >\r\n Hide for this version\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"preview-row\">\r\n <span *ngIf=\"preReleaseVersion\">Version: {{ preReleaseVersion }}</span>\r\n <span *ngIf=\"preReleaseBuildDate\"\r\n >Built: {{ preReleaseBuildDate | date: \"dd.MM.yyyy HH:mm\" }}</span\r\n >\r\n </div>\r\n </mat-toolbar-row>\r\n <mat-toolbar-row class=\"header-divider\"></mat-toolbar-row>\r\n</mat-toolbar>\r\n","// tslint:disable:no-bitwise\r\n\r\nexport class GuidGenerator {\r\n /**\r\n * Taken from https://github.com/Steve-Fenton/TypeScriptUtilities/blob/master/Guid\r\n * (modified)\r\n * Generates a Version 4 (= Pseudorandom) Guid\r\n */\r\n public static generatePseudoRandomGuid(): string {\r\n const newGuidPlaceholder = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';\r\n const pseudoGuid = newGuidPlaceholder.replace(/[xy]/g, letter => this.generateRandomHexDigit(letter));\r\n return pseudoGuid;\r\n }\r\n\r\n private static generateRandomHexDigit(letter: string): string {\r\n const r = Math.random() * 16 | 0;\r\n let v: number;\r\n if (letter === 'x') {\r\n v = r;\r\n } else if (letter === 'y') {\r\n v = r & 0x3 | 0x8;\r\n /* r & 0x3 -> Allows either 0x0000, 0x0001, 0x0010 or 0x0011\r\n * | 0x8 -> 0x1000 = 8\r\n * 0x1001 = 9\r\n * 0x1010 = A\r\n * 0x1011 = B\r\n * The possible variants of version 4 Guids\r\n */\r\n } else {\r\n throw new Error('Please provide either \"x\" to indicate a random replacement or \"y\" to '\r\n + 'indicate the generation of the variant identifier');\r\n }\r\n return v.toString(16);\r\n }\r\n}\r\n","import { Component, forwardRef, Inject, NgZone, Input } from '@angular/core';\r\n// 'AfterViewInit' and 'OnDestroy' should be placed in a separate import to\r\n// mitigate this bug: https://github.com/ng-packagr/ng-packagr/issues/1543#issuecomment-593873874\r\nimport { AfterViewInit, OnDestroy } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\nimport { GuidGenerator } from '../../utils/guid-generator';\r\n\r\ndeclare var tinymce: any;\r\n\r\n@Component({\r\n selector: 'dangl-tiny-mce',\r\n templateUrl: './tiny-mce.component.html',\r\n styleUrls: ['./tiny-mce.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TinyMceComponent),\r\n multi: true,\r\n }\r\n ]\r\n})\r\nexport class TinyMceComponent implements AfterViewInit, OnDestroy, ControlValueAccessor {\r\n\r\n @Input() tinyMceLanguageUrl: string;\r\n @Input() tinyMceLanguageCode: string;\r\n\r\n elementId = GuidGenerator.generatePseudoRandomGuid();\r\n editor: any;\r\n private _editorContent: string;\r\n get editorContent(): string {\r\n return this._editorContent;\r\n }\r\n set editorContent(value: string) {\r\n if (value !== this._editorContent) {\r\n this._editorContent = value;\r\n this.ngZone.run(() => {\r\n // tinyMCE events are outside of the Angular zone\r\n // ngZone.run() makes sure everything runs in the\r\n // Angular zone, so it integrates in the Angular\r\n // lifecycle. Otherwise, e.g., 'required' validation\r\n // would not update on change\r\n this.onChangeCallback(value);\r\n });\r\n }\r\n }\r\n\r\n private onTouchedCallback: () => void = () => { };\r\n private onChangeCallback: (_: any) => void = () => { };\r\n\r\n constructor(@Inject('TINYMCE_BASE_URL') private baseUrl: string,\r\n private ngZone: NgZone) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n tinymce.init({\r\n selector: '#' + this.elementId,\r\n plugins: ['link', 'paste', 'table', 'image', 'code'],\r\n language: this.tinyMceLanguageCode,\r\n base_url: this.baseUrl,\r\n branding: false, // To disable 'POWERED BY TINYMCE' in footer\r\n setup: editor => {\r\n editor.on('change keyup', () => {\r\n const content = editor.getContent();\r\n this.editorContent = content;\r\n });\r\n },\r\n init_instance_callback: editor => {\r\n if (editor && this.editorContent) {\r\n editor.setContent(this.editorContent);\r\n }\r\n this.editor = editor;\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n tinymce.remove(this.editor);\r\n }\r\n\r\n writeValue(obj: any): void {\r\n obj = obj || '';\r\n this.editorContent = obj;\r\n if (!this.editor) {\r\n return;\r\n }\r\n const tinyMceContent = this.editor.getContent();\r\n if (tinyMceContent !== obj) {\r\n this.editor.setContent(obj);\r\n }\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChangeCallback = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouchedCallback = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n if (isDisabled) {\r\n this.editor.setMode('readonly');\r\n } else {\r\n this.editor.setMode('design');\r\n }\r\n }\r\n\r\n}\r\n","<textarea id=\"{{ elementId }}\"></textarea>\r\n","import { CommonModule } from '@angular/common';\r\nimport { FooterComponent } from './components/footer/footer.component';\r\nimport { HeaderComponent } from './components/header/header.component';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { TinyMceComponent } from './components/tiny-mce/tiny-mce.component';\r\n\r\n@NgModule({\r\n imports: [\r\n MatToolbarModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n RouterModule,\r\n CommonModule\r\n ],\r\n declarations: [FooterComponent, HeaderComponent, TinyMceComponent],\r\n exports: [FooterComponent, HeaderComponent, TinyMceComponent]\r\n})\r\nexport class AngularMaterialSharedModule { }\r\n","/*\r\n * Public API Surface of angular-material-shared\r\n */\r\n\r\nexport * from './lib/angular-material-shared.module';\r\nexport * from './lib/utils/guid-generator';\r\nexport * from './lib/models/footer-options';\r\n\r\nexport * from './lib/components/footer/footer.component';\r\nexport * from './lib/components/header/header.component';\r\nexport * from './lib/components/tiny-mce/tiny-mce.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2","i1","i4"],"mappings":"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"}