@dangl/angular-material-shared 2.6.2-beta0011 → 2.7.0-beta0019

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.
package/README.md CHANGED
@@ -1,20 +1,31 @@
1
+
1
2
  # angular-material-shared
2
3
 
3
4
  Shared components & styles to be used in Angular Material apps.
4
5
 
6
+ ## Installation
7
+
8
+ Install as a dev dependency via [npm](https://www.npmjs.com/):
9
+
10
+ ```bash
11
+ npm install --save-dev @dangl/angular-material-shared
12
+ ```
13
+
5
14
  ## Usage
15
+ To use these components in an Angular app, import components to your module or component.
6
16
 
7
- To use these styles in an Angular app, add this package to your project. It's published as `@dangl/angular-material-shared`.
8
- Then, simply import the module:
17
+ ```javascript
18
+ import { FooterComponent, FooterOptions, HeaderComponent } from '@dangl/angular-material-shared';
19
+ import { GuidGenerator } from '@dangl/angular-material-shared/guid-generator';
20
+ import { TinyMceComponent } from '@dangl/angular-material-shared/tiny-mce';
21
+ ```
9
22
 
10
- import { AngularMaterialSharedModule } from '@dangl/angular-material-shared';
11
23
 
12
24
  ### Demo
13
25
 
14
26
  You can run `ng serve` in the `src/angular-material-shared-demo` folder to run a
15
27
  demo locally. Make sure that the library was built first with `npm run build:library`.
16
28
 
17
- ## Functionality
18
29
 
19
30
  ## Styles
20
31
 
@@ -123,3 +134,5 @@ Available languages can be found here: https://www.tiny.cloud/get-tiny/language-
123
134
  ### GuidGenerator
124
135
 
125
136
  The `GuidGenerator` provides a static method to create pseudo-random Guids.
137
+
138
+
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFuZ2wtYW5ndWxhci1tYXRlcmlhbC1zaGFyZWQtZ3VpZC1nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW1hdGVyaWFsLXNoYXJlZC9ndWlkLWdlbmVyYXRvci9kYW5nbC1hbmd1bGFyLW1hdGVyaWFsLXNoYXJlZC1ndWlkLWdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
@@ -0,0 +1,2 @@
1
+ export * from './src/guid-generator';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItbWF0ZXJpYWwtc2hhcmVkL2d1aWQtZ2VuZXJhdG9yL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL2d1aWQtZ2VuZXJhdG9yJztcclxuIl19
@@ -0,0 +1,35 @@
1
+ export class GuidGenerator {
2
+ /**
3
+ * Taken from https://github.com/Steve-Fenton/TypeScriptUtilities/blob/master/Guid
4
+ * (modified)
5
+ * Generates a Version 4 (= Pseudorandom) Guid
6
+ */
7
+ static generatePseudoRandomGuid() {
8
+ const newGuidPlaceholder = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';
9
+ const pseudoGuid = newGuidPlaceholder.replace(/[xy]/g, letter => this.generateRandomHexDigit(letter));
10
+ return pseudoGuid;
11
+ }
12
+ static generateRandomHexDigit(letter) {
13
+ const r = Math.random() * 16 | 0;
14
+ let v;
15
+ if (letter === 'x') {
16
+ v = r;
17
+ }
18
+ else if (letter === 'y') {
19
+ v = r & 0x3 | 0x8;
20
+ /* r & 0x3 -> Allows either 0x0000, 0x0001, 0x0010 or 0x0011
21
+ * | 0x8 -> 0x1000 = 8
22
+ * 0x1001 = 9
23
+ * 0x1010 = A
24
+ * 0x1011 = B
25
+ * The possible variants of version 4 Guids
26
+ */
27
+ }
28
+ else {
29
+ throw new Error('Please provide either "x" to indicate a random replacement or "y" to '
30
+ + 'indicate the generation of the variant identifier');
31
+ }
32
+ return v.toString(16);
33
+ }
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZC1nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW1hdGVyaWFsLXNoYXJlZC9ndWlkLWdlbmVyYXRvci9zcmMvZ3VpZC1nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGFBQWE7SUFDeEI7Ozs7TUFJRTtJQUNLLE1BQU0sQ0FBQyx3QkFBd0I7UUFDcEMsTUFBTSxrQkFBa0IsR0FBRyxzQ0FBc0MsQ0FBQztRQUNsRSxNQUFNLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDdEcsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxNQUFjO1FBQ2xELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBUyxDQUFDO1FBQ2QsSUFBSSxNQUFNLEtBQUssR0FBRyxFQUFFO1lBQ2xCLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDUDthQUFNLElBQUksTUFBTSxLQUFLLEdBQUcsRUFBRTtZQUN6QixDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDbEI7Ozs7OztjQU1FO1NBQ0g7YUFBTTtZQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsdUVBQXVFO2tCQUNuRixtREFBbUQsQ0FBQyxDQUFDO1NBQzFEO1FBQ0QsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBHdWlkR2VuZXJhdG9yIHtcclxuICAvKipcclxuICAqIFRha2VuIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL1N0ZXZlLUZlbnRvbi9UeXBlU2NyaXB0VXRpbGl0aWVzL2Jsb2IvbWFzdGVyL0d1aWRcclxuICAqIChtb2RpZmllZClcclxuICAqIEdlbmVyYXRlcyBhIFZlcnNpb24gNCAoPSBQc2V1ZG9yYW5kb20pIEd1aWRcclxuICAqL1xyXG4gIHB1YmxpYyBzdGF0aWMgZ2VuZXJhdGVQc2V1ZG9SYW5kb21HdWlkKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBuZXdHdWlkUGxhY2Vob2xkZXIgPSAneHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4JztcclxuICAgIGNvbnN0IHBzZXVkb0d1aWQgPSBuZXdHdWlkUGxhY2Vob2xkZXIucmVwbGFjZSgvW3h5XS9nLCBsZXR0ZXIgPT4gdGhpcy5nZW5lcmF0ZVJhbmRvbUhleERpZ2l0KGxldHRlcikpO1xyXG4gICAgcmV0dXJuIHBzZXVkb0d1aWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBnZW5lcmF0ZVJhbmRvbUhleERpZ2l0KGxldHRlcjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHIgPSBNYXRoLnJhbmRvbSgpICogMTYgfCAwO1xyXG4gICAgbGV0IHY6IG51bWJlcjtcclxuICAgIGlmIChsZXR0ZXIgPT09ICd4Jykge1xyXG4gICAgICB2ID0gcjtcclxuICAgIH0gZWxzZSBpZiAobGV0dGVyID09PSAneScpIHtcclxuICAgICAgdiA9IHIgJiAweDMgfCAweDg7XHJcbiAgICAgIC8qICByICYgMHgzIC0+IEFsbG93cyBlaXRoZXIgMHgwMDAwLCAweDAwMDEsIDB4MDAxMCBvciAweDAwMTFcclxuICAgICAgKiB8IDB4OCAgICAtPiAweDEwMDAgPSA4XHJcbiAgICAgICogICAgICAgICAgICAgMHgxMDAxID0gOVxyXG4gICAgICAqICAgICAgICAgICAgIDB4MTAxMCA9IEFcclxuICAgICAgKiAgICAgICAgICAgICAweDEwMTEgPSBCXHJcbiAgICAgICogVGhlIHBvc3NpYmxlIHZhcmlhbnRzIG9mIHZlcnNpb24gNCBHdWlkc1xyXG4gICAgICAqL1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQbGVhc2UgcHJvdmlkZSBlaXRoZXIgXCJ4XCIgdG8gaW5kaWNhdGUgYSByYW5kb20gcmVwbGFjZW1lbnQgb3IgXCJ5XCIgdG8gJ1xyXG4gICAgICAgICsgJ2luZGljYXRlIHRoZSBnZW5lcmF0aW9uIG9mIHRoZSB2YXJpYW50IGlkZW50aWZpZXInKTtcclxuICAgIH1cclxuICAgIHJldHVybiB2LnRvU3RyaW5nKDE2KTtcclxuICB9XHJcbn1cclxuIl19
@@ -2,4 +2,4 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFuZ2wtYW5ndWxhci1tYXRlcmlhbC1zaGFyZWQtdGlueS1tY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW1hdGVyaWFsLXNoYXJlZC90aW55LW1jZS9zcmMvZGFuZ2wtYW5ndWxhci1tYXRlcmlhbC1zaGFyZWQtdGlueS1tY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFuZ2wtYW5ndWxhci1tYXRlcmlhbC1zaGFyZWQtdGlueS1tY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW1hdGVyaWFsLXNoYXJlZC90aW55LW1jZS9kYW5nbC1hbmd1bGFyLW1hdGVyaWFsLXNoYXJlZC10aW55LW1jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
@@ -1,3 +1,2 @@
1
- export * from './tiny-mce.component';
2
- export * from './utils/guid-generator';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItbWF0ZXJpYWwtc2hhcmVkL3RpbnktbWNlL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUE7QUFDcEMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGlueS1tY2UuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2d1aWQtZ2VuZXJhdG9yJztcclxuIl19
1
+ export * from './src/tiny-mce.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItbWF0ZXJpYWwtc2hhcmVkL3RpbnktbWNlL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL3RpbnktbWNlLmNvbXBvbmVudCdcclxuIl19
@@ -0,0 +1,114 @@
1
+ import { Component, forwardRef, Inject, Input } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { EditorModule } from '@tinymce/tinymce-angular';
4
+ import { GuidGenerator } from '@dangl/angular-material-shared/guid-generator';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@tinymce/tinymce-angular";
7
+ export class TinyMceComponent {
8
+ baseUrl;
9
+ ngZone;
10
+ tinyMceLanguageCode;
11
+ elementId = GuidGenerator.generatePseudoRandomGuid();
12
+ editor;
13
+ init;
14
+ _editorContent;
15
+ _disabled = false;
16
+ get editorContent() {
17
+ return this._editorContent;
18
+ }
19
+ set editorContent(value) {
20
+ if (value !== this._editorContent) {
21
+ this._editorContent = value;
22
+ this.ngZone.run(() => {
23
+ // tinyMCE events are outside of the Angular zone
24
+ // ngZone.run() makes sure everything runs in the
25
+ // Angular zone, so it integrates in the Angular
26
+ // lifecycle. Otherwise, e.g., 'required' validation
27
+ // would not update on change
28
+ this.onChangeCallback(value);
29
+ });
30
+ }
31
+ }
32
+ onTouchedCallback = () => { };
33
+ onChangeCallback = () => { };
34
+ constructor(baseUrl, ngZone) {
35
+ this.baseUrl = baseUrl;
36
+ this.ngZone = ngZone;
37
+ }
38
+ ngOnInit() {
39
+ this.init = {
40
+ selector: `#${this.elementId}`,
41
+ plugins: ['link', 'table', 'image', 'code'],
42
+ language: this.tinyMceLanguageCode,
43
+ base_url: this.baseUrl,
44
+ promotion: false,
45
+ branding: false,
46
+ setup: (editor) => {
47
+ editor.on('change keyup', () => {
48
+ const content = editor.getContent();
49
+ this.editorContent = content;
50
+ });
51
+ },
52
+ init_instance_callback: (editor) => {
53
+ if (editor && this.editorContent) {
54
+ editor.setContent(this.editorContent);
55
+ }
56
+ this.editor = editor;
57
+ this.setDisabledState(this._disabled);
58
+ }
59
+ };
60
+ }
61
+ writeValue(obj) {
62
+ obj = obj || '';
63
+ this.editorContent = obj;
64
+ if (!this.editor) {
65
+ return;
66
+ }
67
+ const tinyMceContent = this.editor.getContent();
68
+ if (tinyMceContent !== obj) {
69
+ this.editor.setContent(obj);
70
+ }
71
+ }
72
+ registerOnChange(fn) {
73
+ this.onChangeCallback = fn;
74
+ }
75
+ registerOnTouched(fn) {
76
+ this.onTouchedCallback = fn;
77
+ }
78
+ setDisabledState(isDisabled) {
79
+ this._disabled = isDisabled;
80
+ if (!this.editor) {
81
+ return;
82
+ }
83
+ if (isDisabled) {
84
+ this.editor.mode.set('readonly');
85
+ }
86
+ else {
87
+ this.editor.mode.set('design');
88
+ }
89
+ }
90
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TinyMceComponent, deps: [{ token: 'TINYMCE_BASE_URL' }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
91
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: TinyMceComponent, isStandalone: true, selector: "dangl-tiny-mce", inputs: { tinyMceLanguageCode: "tinyMceLanguageCode" }, providers: [
92
+ {
93
+ provide: NG_VALUE_ACCESSOR,
94
+ useExisting: forwardRef(() => TinyMceComponent),
95
+ multi: true,
96
+ }
97
+ ], ngImport: i0, template: "<editor id=\"{{ elementId }}\" [init]=\"init\"></editor>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: EditorModule }, { kind: "component", type: i1.EditorComponent, selector: "editor", inputs: ["cloudChannel", "apiKey", "licenseKey", "init", "id", "initialValue", "outputFormat", "inline", "tagName", "plugins", "toolbar", "modelEvents", "allowedEvents", "ignoreEvents", "disabled"] }] });
98
+ }
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TinyMceComponent, decorators: [{
100
+ type: Component,
101
+ args: [{ selector: 'dangl-tiny-mce', providers: [
102
+ {
103
+ provide: NG_VALUE_ACCESSOR,
104
+ useExisting: forwardRef(() => TinyMceComponent),
105
+ multi: true,
106
+ }
107
+ ], standalone: true, imports: [EditorModule], template: "<editor id=\"{{ elementId }}\" [init]=\"init\"></editor>\r\n" }]
108
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
109
+ type: Inject,
110
+ args: ['TINYMCE_BASE_URL']
111
+ }] }, { type: i0.NgZone }], propDecorators: { tinyMceLanguageCode: [{
112
+ type: Input
113
+ }] } });
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlueS1tY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1tYXRlcmlhbC1zaGFyZWQvdGlueS1tY2Uvc3JjL3RpbnktbWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItbWF0ZXJpYWwtc2hhcmVkL3RpbnktbWNlL3NyYy90aW55LW1jZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7O0FBZ0I5RSxNQUFNLE9BQU8sZ0JBQWdCO0lBNkJXO0lBQzVCO0lBN0JELG1CQUFtQixDQUFTO0lBRXJDLFNBQVMsR0FBRyxhQUFhLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNyRCxNQUFNLENBQVM7SUFDZixJQUFJLENBQWtCO0lBQ2QsY0FBYyxDQUFTO0lBQ3ZCLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDMUIsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLGFBQWEsQ0FBQyxLQUFhO1FBQzdCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7WUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNuQixpREFBaUQ7Z0JBQ2pELGlEQUFpRDtnQkFDakQsZ0RBQWdEO2dCQUNoRCxvREFB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RUFBRSxDQUFDLGdCQUFnQixDQUFDO2dCQUMvQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDZkgsOERBQ0EseUREZ0JZLFlBQVk7OzJGQUVYLGdCQUFnQjtrQkFkNUIsU0FBUzsrQkFDRSxnQkFBZ0IsYUFHZjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQzs0QkFDL0MsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7OzBCQStCcEIsTUFBTTsyQkFBQyxrQkFBa0I7OERBNUJuQixtQkFBbUI7c0JBQTNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIEluamVjdCwgSW5wdXQsIE5nWm9uZSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRWRpdG9yTW9kdWxlIH0gZnJvbSAnQHRpbnltY2UvdGlueW1jZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgR3VpZEdlbmVyYXRvciB9IGZyb20gJ0BkYW5nbC9hbmd1bGFyLW1hdGVyaWFsLXNoYXJlZC9ndWlkLWdlbmVyYXRvcic7XHJcbmltcG9ydCB7IFJhd0VkaXRvck9wdGlvbnMsIEVkaXRvciB9IGZyb20gJ3RpbnltY2UnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RhbmdsLXRpbnktbWNlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGlueS1tY2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RpbnktbWNlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUaW55TWNlQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9XHJcbiAgXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtFZGl0b3JNb2R1bGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGlueU1jZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEBJbnB1dCgpIHRpbnlNY2VMYW5ndWFnZUNvZGU6IHN0cmluZztcclxuXHJcbiAgZWxlbWVudElkID0gR3VpZEdlbmVyYXRvci5nZW5lcmF0ZVBzZXVkb1JhbmRvbUd1aWQoKTtcclxuICBlZGl0b3I6IEVkaXRvcjtcclxuICBpbml0OlJhd0VkaXRvck9wdGlvbnM7XHJcbiAgcHJpdmF0ZSBfZWRpdG9yQ29udGVudDogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XHJcbiAgZ2V0IGVkaXRvckNvbnRlbnQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9lZGl0b3JDb250ZW50O1xyXG4gIH1cclxuICBzZXQgZWRpdG9yQ29udGVudCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuX2VkaXRvckNvbnRlbnQpIHtcclxuICAgICAgdGhpcy5fZWRpdG9yQ29udGVudCA9IHZhbHVlO1xyXG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgIC8vIHRpbnlNQ0UgZXZlbnRzIGFyZSBvdXRzaWRlIG9mIHRoZSBBbmd1bGFyIHpvbmVcclxuICAgICAgICAvLyBuZ1pvbmUucnVuKCkgbWFrZXMgc3VyZSBldmVyeXRoaW5nIHJ1bnMgaW4gdGhlXHJcbiAgICAgICAgLy8gQW5ndWxhciB6b25lLCBzbyBpdCBpbnRlZ3JhdGVzIGluIHRoZSBBbmd1bGFyXHJcbiAgICAgICAgLy8gbGlmZWN5Y2xlLiBPdGhlcndpc2UsIGUuZy4sICdyZXF1aXJlZCcgdmFsaWRhdGlvblxyXG4gICAgICAgIC8vIHdvdWxkIG5vdCB1cGRhdGUgb24gY2hhbmdlXHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHZhbHVlKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XHJcbiAgcHJpdmF0ZSBvbkNoYW5nZUNhbGxiYWNrOiAoXzogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdCgnVElOWU1DRV9CQVNFX1VSTCcpIHByaXZhdGUgYmFzZVVybDogc3RyaW5nLFxyXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmluaXQgPSB7XHJcbiAgICAgIHNlbGVjdG9yOmAjJHt0aGlzLmVsZW1lbnRJZH1gLFxyXG4gICAgICBwbHVnaW5zOiBbJ2xpbmsnLCAndGFibGUnLCAnaW1hZ2UnLCAnY29kZSddLFxyXG4gICAgICBsYW5ndWFnZTogdGhpcy50aW55TWNlTGFuZ3VhZ2VDb2RlLFxyXG4gICAgICBiYXNlX3VybDogdGhpcy5iYXNlVXJsLFxyXG4gICAgICBwcm9tb3Rpb246IGZhbHNlLFxyXG4gICAgICBicmFuZGluZzogZmFsc2UsIC8vIFRvIGRpc2FibGUgJ1BPV0VSRUQgQlkgVElOWU1DRScgaW4gZm9vdGVyXHJcbiAgICAgIHNldHVwOiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcclxuICAgICAgICBlZGl0b3Iub24oJ2NoYW5nZSBrZXl1cCcsICgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSBlZGl0b3IuZ2V0Q29udGVudCgpO1xyXG4gICAgICAgICAgdGhpcy5lZGl0b3JDb250ZW50ID0gY29udGVudDtcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgICAgaW5pdF9pbnN0YW5jZV9jYWxsYmFjazogKGVkaXRvcjogRWRpdG9yKSA9PiB7XHJcbiAgICAgICAgaWYgKGVkaXRvciAmJiB0aGlzLmVkaXRvckNvbnRlbnQpIHtcclxuICAgICAgICAgIGVkaXRvci5zZXRDb250ZW50KHRoaXMuZWRpdG9yQ29udGVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZWRpdG9yID0gZWRpdG9yO1xyXG4gICAgICAgIHRoaXMuc2V0RGlzYWJsZWRTdGF0ZSh0aGlzLl9kaXNhYmxlZClcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgIG9iaiA9IG9iaiB8fCAnJztcclxuICAgIHRoaXMuZWRpdG9yQ29udGVudCA9IG9iajtcclxuICAgIGlmICghdGhpcy5lZGl0b3IpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdGlueU1jZUNvbnRlbnQgPSB0aGlzLmVkaXRvci5nZXRDb250ZW50KCk7XHJcbiAgICBpZiAodGlueU1jZUNvbnRlbnQgIT09IG9iaikge1xyXG4gICAgICB0aGlzLmVkaXRvci5zZXRDb250ZW50KG9iaik7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrID0gZm47XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcclxuICB9XHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgaWYgKCF0aGlzLmVkaXRvcikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoaXNEaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLmVkaXRvci5tb2RlLnNldCgncmVhZG9ubHknKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZWRpdG9yLm1vZGUuc2V0KCdkZXNpZ24nKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGVkaXRvciBpZD1cInt7IGVsZW1lbnRJZCB9fVwiIFtpbml0XT1cImluaXRcIj48L2VkaXRvcj5cclxuIl19
@@ -0,0 +1,41 @@
1
+ class GuidGenerator {
2
+ /**
3
+ * Taken from https://github.com/Steve-Fenton/TypeScriptUtilities/blob/master/Guid
4
+ * (modified)
5
+ * Generates a Version 4 (= Pseudorandom) Guid
6
+ */
7
+ static generatePseudoRandomGuid() {
8
+ const newGuidPlaceholder = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';
9
+ const pseudoGuid = newGuidPlaceholder.replace(/[xy]/g, letter => this.generateRandomHexDigit(letter));
10
+ return pseudoGuid;
11
+ }
12
+ static generateRandomHexDigit(letter) {
13
+ const r = Math.random() * 16 | 0;
14
+ let v;
15
+ if (letter === 'x') {
16
+ v = r;
17
+ }
18
+ else if (letter === 'y') {
19
+ v = r & 0x3 | 0x8;
20
+ /* r & 0x3 -> Allows either 0x0000, 0x0001, 0x0010 or 0x0011
21
+ * | 0x8 -> 0x1000 = 8
22
+ * 0x1001 = 9
23
+ * 0x1010 = A
24
+ * 0x1011 = B
25
+ * The possible variants of version 4 Guids
26
+ */
27
+ }
28
+ else {
29
+ throw new Error('Please provide either "x" to indicate a random replacement or "y" to '
30
+ + 'indicate the generation of the variant identifier');
31
+ }
32
+ return v.toString(16);
33
+ }
34
+ }
35
+
36
+ /**
37
+ * Generated bundle index. Do not edit.
38
+ */
39
+
40
+ export { GuidGenerator };
41
+ //# sourceMappingURL=dangl-angular-material-shared-guid-generator.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dangl-angular-material-shared-guid-generator.mjs","sources":["../../../projects/angular-material-shared/guid-generator/src/guid-generator.ts","../../../projects/angular-material-shared/guid-generator/dangl-angular-material-shared-guid-generator.ts"],"sourcesContent":["export 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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"MAAa,aAAa,CAAA;AACxB;;;;AAIE;AACK,IAAA,OAAO,wBAAwB,GAAA;QACpC,MAAM,kBAAkB,GAAG,sCAAsC,CAAC;AAClE,QAAA,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;AACtG,QAAA,OAAO,UAAU,CAAC;KACnB;IAEO,OAAO,sBAAsB,CAAC,MAAc,EAAA;QAClD,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACjC,QAAA,IAAI,CAAS,CAAC;QACd,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,CAAC,GAAG,CAAC,CAAC;AACP,SAAA;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE;AACzB,YAAA,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;AAClB;;;;;;AAME;AACH,SAAA;AAAM,aAAA;YACL,MAAM,IAAI,KAAK,CAAC,uEAAuE;AACnF,kBAAA,mDAAmD,CAAC,CAAC;AAC1D,SAAA;AACD,QAAA,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;KACvB;AACF;;AChCD;;AAEG;;;;"}
@@ -3,42 +3,7 @@ import { forwardRef, Component, Inject, Input } from '@angular/core';
3
3
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
4
  import * as i1 from '@tinymce/tinymce-angular';
5
5
  import { EditorModule } from '@tinymce/tinymce-angular';
6
-
7
- // tslint:disable:no-bitwise
8
- class GuidGenerator {
9
- /**
10
- * Taken from https://github.com/Steve-Fenton/TypeScriptUtilities/blob/master/Guid
11
- * (modified)
12
- * Generates a Version 4 (= Pseudorandom) Guid
13
- */
14
- static generatePseudoRandomGuid() {
15
- const newGuidPlaceholder = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';
16
- const pseudoGuid = newGuidPlaceholder.replace(/[xy]/g, letter => this.generateRandomHexDigit(letter));
17
- return pseudoGuid;
18
- }
19
- static generateRandomHexDigit(letter) {
20
- const r = Math.random() * 16 | 0;
21
- let v;
22
- if (letter === 'x') {
23
- v = r;
24
- }
25
- else if (letter === 'y') {
26
- v = r & 0x3 | 0x8;
27
- /* r & 0x3 -> Allows either 0x0000, 0x0001, 0x0010 or 0x0011
28
- * | 0x8 -> 0x1000 = 8
29
- * 0x1001 = 9
30
- * 0x1010 = A
31
- * 0x1011 = B
32
- * The possible variants of version 4 Guids
33
- */
34
- }
35
- else {
36
- throw new Error('Please provide either "x" to indicate a random replacement or "y" to '
37
- + 'indicate the generation of the variant identifier');
38
- }
39
- return v.toString(16);
40
- }
41
- }
6
+ import { GuidGenerator } from '@dangl/angular-material-shared/guid-generator';
42
7
 
43
8
  class TinyMceComponent {
44
9
  baseUrl;
@@ -152,5 +117,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
152
117
  * Generated bundle index. Do not edit.
153
118
  */
154
119
 
155
- export { GuidGenerator, TinyMceComponent };
120
+ export { TinyMceComponent };
156
121
  //# sourceMappingURL=dangl-angular-material-shared-tiny-mce.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dangl-angular-material-shared-tiny-mce.mjs","sources":["../../../projects/angular-material-shared/tiny-mce/src/utils/guid-generator.ts","../../../projects/angular-material-shared/tiny-mce/src/tiny-mce.component.ts","../../../projects/angular-material-shared/tiny-mce/src/tiny-mce.component.html","../../../projects/angular-material-shared/tiny-mce/src/dangl-angular-material-shared-tiny-mce.ts"],"sourcesContent":["// 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, Input, NgZone, OnInit } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\nimport { GuidGenerator } from './utils/guid-generator';\r\nimport { EditorModule } from '@tinymce/tinymce-angular';\r\nimport { RawEditorOptions, Editor } from 'tinymce';\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 standalone: true,\r\n imports: [EditorModule],\r\n})\r\nexport class TinyMceComponent implements OnInit, ControlValueAccessor {\r\n @Input() tinyMceLanguageCode: string;\r\n\r\n elementId = GuidGenerator.generatePseudoRandomGuid();\r\n editor: Editor;\r\n init:RawEditorOptions;\r\n private _editorContent: string;\r\n private _disabled = false;\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(\r\n @Inject('TINYMCE_BASE_URL') private baseUrl: string,\r\n private ngZone: NgZone\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.init = {\r\n selector:`#${this.elementId}`,\r\n plugins: ['link', 'table', 'image', 'code'],\r\n language: this.tinyMceLanguageCode,\r\n base_url: this.baseUrl,\r\n promotion: false,\r\n branding: false, // To disable 'POWERED BY TINYMCE' in footer\r\n setup: (editor: 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: Editor) => {\r\n if (editor && this.editorContent) {\r\n editor.setContent(this.editorContent);\r\n }\r\n this.editor = editor;\r\n this.setDisabledState(this._disabled)\r\n }\r\n };\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 this._disabled = isDisabled;\r\n if (!this.editor) {\r\n return;\r\n }\r\n if (isDisabled) {\r\n this.editor.mode.set('readonly');\r\n } else {\r\n this.editor.mode.set('design');\r\n }\r\n }\r\n}\r\n","<editor id=\"{{ elementId }}\" [init]=\"init\"></editor>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dangl-angular-material-shared-tiny-mce.mjs","sources":["../../../projects/angular-material-shared/tiny-mce/src/tiny-mce.component.ts","../../../projects/angular-material-shared/tiny-mce/src/tiny-mce.component.html","../../../projects/angular-material-shared/tiny-mce/dangl-angular-material-shared-tiny-mce.ts"],"sourcesContent":["import { Component, forwardRef, Inject, Input, NgZone, OnInit } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\nimport { EditorModule } from '@tinymce/tinymce-angular';\r\nimport { GuidGenerator } from '@dangl/angular-material-shared/guid-generator';\r\nimport { RawEditorOptions, Editor } from 'tinymce';\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 standalone: true,\r\n imports: [EditorModule],\r\n})\r\nexport class TinyMceComponent implements OnInit, ControlValueAccessor {\r\n @Input() tinyMceLanguageCode: string;\r\n\r\n elementId = GuidGenerator.generatePseudoRandomGuid();\r\n editor: Editor;\r\n init:RawEditorOptions;\r\n private _editorContent: string;\r\n private _disabled = false;\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(\r\n @Inject('TINYMCE_BASE_URL') private baseUrl: string,\r\n private ngZone: NgZone\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.init = {\r\n selector:`#${this.elementId}`,\r\n plugins: ['link', 'table', 'image', 'code'],\r\n language: this.tinyMceLanguageCode,\r\n base_url: this.baseUrl,\r\n promotion: false,\r\n branding: false, // To disable 'POWERED BY TINYMCE' in footer\r\n setup: (editor: 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: Editor) => {\r\n if (editor && this.editorContent) {\r\n editor.setContent(this.editorContent);\r\n }\r\n this.editor = editor;\r\n this.setDisabledState(this._disabled)\r\n }\r\n };\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 this._disabled = isDisabled;\r\n if (!this.editor) {\r\n return;\r\n }\r\n if (isDisabled) {\r\n this.editor.mode.set('readonly');\r\n } else {\r\n this.editor.mode.set('design');\r\n }\r\n }\r\n}\r\n","<editor id=\"{{ elementId }}\" [init]=\"init\"></editor>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@dangl/angular-material-shared/guid-generator" />
5
+ export * from './public_api';
@@ -0,0 +1 @@
1
+ export * from './src/guid-generator';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dangl/angular-material-shared",
3
- "version": "2.6.2-beta0011",
3
+ "version": "2.7.0-beta0019",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": ">=17.0.8",
6
6
  "@angular/common": ">=17.0.8",
@@ -26,6 +26,12 @@
26
26
  "esm": "./esm2022/dangl-angular-material-shared.mjs",
27
27
  "default": "./fesm2022/dangl-angular-material-shared.mjs"
28
28
  },
29
+ "./guid-generator": {
30
+ "types": "./guid-generator/index.d.ts",
31
+ "esm2022": "./esm2022/guid-generator/dangl-angular-material-shared-guid-generator.mjs",
32
+ "esm": "./esm2022/guid-generator/dangl-angular-material-shared-guid-generator.mjs",
33
+ "default": "./fesm2022/dangl-angular-material-shared-guid-generator.mjs"
34
+ },
29
35
  "./tiny-mce": {
30
36
  "types": "./tiny-mce/index.d.ts",
31
37
  "esm2022": "./esm2022/tiny-mce/dangl-angular-material-shared-tiny-mce.mjs",
@@ -1,2 +1 @@
1
- export * from './tiny-mce.component';
2
- export * from './utils/guid-generator';
1
+ export * from './src/tiny-mce.component';
@@ -1,114 +0,0 @@
1
- import { Component, forwardRef, Inject, Input } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { GuidGenerator } from './utils/guid-generator';
4
- import { EditorModule } from '@tinymce/tinymce-angular';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@tinymce/tinymce-angular";
7
- export class TinyMceComponent {
8
- baseUrl;
9
- ngZone;
10
- tinyMceLanguageCode;
11
- elementId = GuidGenerator.generatePseudoRandomGuid();
12
- editor;
13
- init;
14
- _editorContent;
15
- _disabled = false;
16
- get editorContent() {
17
- return this._editorContent;
18
- }
19
- set editorContent(value) {
20
- if (value !== this._editorContent) {
21
- this._editorContent = value;
22
- this.ngZone.run(() => {
23
- // tinyMCE events are outside of the Angular zone
24
- // ngZone.run() makes sure everything runs in the
25
- // Angular zone, so it integrates in the Angular
26
- // lifecycle. Otherwise, e.g., 'required' validation
27
- // would not update on change
28
- this.onChangeCallback(value);
29
- });
30
- }
31
- }
32
- onTouchedCallback = () => { };
33
- onChangeCallback = () => { };
34
- constructor(baseUrl, ngZone) {
35
- this.baseUrl = baseUrl;
36
- this.ngZone = ngZone;
37
- }
38
- ngOnInit() {
39
- this.init = {
40
- selector: `#${this.elementId}`,
41
- plugins: ['link', 'table', 'image', 'code'],
42
- language: this.tinyMceLanguageCode,
43
- base_url: this.baseUrl,
44
- promotion: false,
45
- branding: false,
46
- setup: (editor) => {
47
- editor.on('change keyup', () => {
48
- const content = editor.getContent();
49
- this.editorContent = content;
50
- });
51
- },
52
- init_instance_callback: (editor) => {
53
- if (editor && this.editorContent) {
54
- editor.setContent(this.editorContent);
55
- }
56
- this.editor = editor;
57
- this.setDisabledState(this._disabled);
58
- }
59
- };
60
- }
61
- writeValue(obj) {
62
- obj = obj || '';
63
- this.editorContent = obj;
64
- if (!this.editor) {
65
- return;
66
- }
67
- const tinyMceContent = this.editor.getContent();
68
- if (tinyMceContent !== obj) {
69
- this.editor.setContent(obj);
70
- }
71
- }
72
- registerOnChange(fn) {
73
- this.onChangeCallback = fn;
74
- }
75
- registerOnTouched(fn) {
76
- this.onTouchedCallback = fn;
77
- }
78
- setDisabledState(isDisabled) {
79
- this._disabled = isDisabled;
80
- if (!this.editor) {
81
- return;
82
- }
83
- if (isDisabled) {
84
- this.editor.mode.set('readonly');
85
- }
86
- else {
87
- this.editor.mode.set('design');
88
- }
89
- }
90
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TinyMceComponent, deps: [{ token: 'TINYMCE_BASE_URL' }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
91
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: TinyMceComponent, isStandalone: true, selector: "dangl-tiny-mce", inputs: { tinyMceLanguageCode: "tinyMceLanguageCode" }, providers: [
92
- {
93
- provide: NG_VALUE_ACCESSOR,
94
- useExisting: forwardRef(() => TinyMceComponent),
95
- multi: true,
96
- }
97
- ], ngImport: i0, template: "<editor id=\"{{ elementId }}\" [init]=\"init\"></editor>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: EditorModule }, { kind: "component", type: i1.EditorComponent, selector: "editor", inputs: ["cloudChannel", "apiKey", "licenseKey", "init", "id", "initialValue", "outputFormat", "inline", "tagName", "plugins", "toolbar", "modelEvents", "allowedEvents", "ignoreEvents", "disabled"] }] });
98
- }
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TinyMceComponent, decorators: [{
100
- type: Component,
101
- args: [{ selector: 'dangl-tiny-mce', providers: [
102
- {
103
- provide: NG_VALUE_ACCESSOR,
104
- useExisting: forwardRef(() => TinyMceComponent),
105
- multi: true,
106
- }
107
- ], standalone: true, imports: [EditorModule], template: "<editor id=\"{{ elementId }}\" [init]=\"init\"></editor>\r\n" }]
108
- }], ctorParameters: () => [{ type: undefined, decorators: [{
109
- type: Inject,
110
- args: ['TINYMCE_BASE_URL']
111
- }] }, { type: i0.NgZone }], propDecorators: { tinyMceLanguageCode: [{
112
- type: Input
113
- }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlueS1tY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1tYXRlcmlhbC1zaGFyZWQvdGlueS1tY2Uvc3JjL3RpbnktbWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItbWF0ZXJpYWwtc2hhcmVkL3RpbnktbWNlL3NyYy90aW55LW1jZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBaUJ4RCxNQUFNLE9BQU8sZ0JBQWdCO0lBNkJXO0lBQzVCO0lBN0JELG1CQUFtQixDQUFTO0lBRXJDLFNBQVMsR0FBRyxhQUFhLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNyRCxNQUFNLENBQVM7SUFDZixJQUFJLENBQWtCO0lBQ2QsY0FBYyxDQUFTO0lBQ3ZCLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDMUIsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLGFBQWEsQ0FBQyxLQUFhO1FBQzdCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7WUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNuQixpREFBaUQ7Z0JBQ2pELGlEQUFpRDtnQkFDakQsZ0RBQWdEO2dCQUNoRCxvREFBb0Q7Z0JB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QUFDLGdCQUFnQixDQUFDO2dCQUMvQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDaEJILDhEQUNBLHlERGlCWSxZQUFZOzsyRkFFWCxnQkFBZ0I7a0JBZDVCLFNBQVM7K0JBQ0UsZ0JBQWdCLGFBR2Y7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUM7NEJBQy9DLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLGNBQ1csSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDOzswQkErQnBCLE1BQU07MkJBQUMsa0JBQWtCOzhEQTVCbkIsbUJBQW1CO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbmplY3QsIElucHV0LCBOZ1pvbmUsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEd1aWRHZW5lcmF0b3IgfSBmcm9tICcuL3V0aWxzL2d1aWQtZ2VuZXJhdG9yJztcclxuaW1wb3J0IHsgRWRpdG9yTW9kdWxlIH0gZnJvbSAnQHRpbnltY2UvdGlueW1jZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgUmF3RWRpdG9yT3B0aW9ucywgRWRpdG9yIH0gZnJvbSAndGlueW1jZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RhbmdsLXRpbnktbWNlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGlueS1tY2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RpbnktbWNlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUaW55TWNlQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9XHJcbiAgXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtFZGl0b3JNb2R1bGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGlueU1jZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEBJbnB1dCgpIHRpbnlNY2VMYW5ndWFnZUNvZGU6IHN0cmluZztcclxuXHJcbiAgZWxlbWVudElkID0gR3VpZEdlbmVyYXRvci5nZW5lcmF0ZVBzZXVkb1JhbmRvbUd1aWQoKTtcclxuICBlZGl0b3I6IEVkaXRvcjtcclxuICBpbml0OlJhd0VkaXRvck9wdGlvbnM7XHJcbiAgcHJpdmF0ZSBfZWRpdG9yQ29udGVudDogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XHJcbiAgZ2V0IGVkaXRvckNvbnRlbnQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9lZGl0b3JDb250ZW50O1xyXG4gIH1cclxuICBzZXQgZWRpdG9yQ29udGVudCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuX2VkaXRvckNvbnRlbnQpIHtcclxuICAgICAgdGhpcy5fZWRpdG9yQ29udGVudCA9IHZhbHVlO1xyXG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgIC8vIHRpbnlNQ0UgZXZlbnRzIGFyZSBvdXRzaWRlIG9mIHRoZSBBbmd1bGFyIHpvbmVcclxuICAgICAgICAvLyBuZ1pvbmUucnVuKCkgbWFrZXMgc3VyZSBldmVyeXRoaW5nIHJ1bnMgaW4gdGhlXHJcbiAgICAgICAgLy8gQW5ndWxhciB6b25lLCBzbyBpdCBpbnRlZ3JhdGVzIGluIHRoZSBBbmd1bGFyXHJcbiAgICAgICAgLy8gbGlmZWN5Y2xlLiBPdGhlcndpc2UsIGUuZy4sICdyZXF1aXJlZCcgdmFsaWRhdGlvblxyXG4gICAgICAgIC8vIHdvdWxkIG5vdCB1cGRhdGUgb24gY2hhbmdlXHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHZhbHVlKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XHJcbiAgcHJpdmF0ZSBvbkNoYW5nZUNhbGxiYWNrOiAoXzogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdCgnVElOWU1DRV9CQVNFX1VSTCcpIHByaXZhdGUgYmFzZVVybDogc3RyaW5nLFxyXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmluaXQgPSB7XHJcbiAgICAgIHNlbGVjdG9yOmAjJHt0aGlzLmVsZW1lbnRJZH1gLFxyXG4gICAgICBwbHVnaW5zOiBbJ2xpbmsnLCAndGFibGUnLCAnaW1hZ2UnLCAnY29kZSddLFxyXG4gICAgICBsYW5ndWFnZTogdGhpcy50aW55TWNlTGFuZ3VhZ2VDb2RlLFxyXG4gICAgICBiYXNlX3VybDogdGhpcy5iYXNlVXJsLFxyXG4gICAgICBwcm9tb3Rpb246IGZhbHNlLFxyXG4gICAgICBicmFuZGluZzogZmFsc2UsIC8vIFRvIGRpc2FibGUgJ1BPV0VSRUQgQlkgVElOWU1DRScgaW4gZm9vdGVyXHJcbiAgICAgIHNldHVwOiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcclxuICAgICAgICBlZGl0b3Iub24oJ2NoYW5nZSBrZXl1cCcsICgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSBlZGl0b3IuZ2V0Q29udGVudCgpO1xyXG4gICAgICAgICAgdGhpcy5lZGl0b3JDb250ZW50ID0gY29udGVudDtcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgICAgaW5pdF9pbnN0YW5jZV9jYWxsYmFjazogKGVkaXRvcjogRWRpdG9yKSA9PiB7XHJcbiAgICAgICAgaWYgKGVkaXRvciAmJiB0aGlzLmVkaXRvckNvbnRlbnQpIHtcclxuICAgICAgICAgIGVkaXRvci5zZXRDb250ZW50KHRoaXMuZWRpdG9yQ29udGVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZWRpdG9yID0gZWRpdG9yO1xyXG4gICAgICAgIHRoaXMuc2V0RGlzYWJsZWRTdGF0ZSh0aGlzLl9kaXNhYmxlZClcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgIG9iaiA9IG9iaiB8fCAnJztcclxuICAgIHRoaXMuZWRpdG9yQ29udGVudCA9IG9iajtcclxuICAgIGlmICghdGhpcy5lZGl0b3IpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdGlueU1jZUNvbnRlbnQgPSB0aGlzLmVkaXRvci5nZXRDb250ZW50KCk7XHJcbiAgICBpZiAodGlueU1jZUNvbnRlbnQgIT09IG9iaikge1xyXG4gICAgICB0aGlzLmVkaXRvci5zZXRDb250ZW50KG9iaik7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrID0gZm47XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcclxuICB9XHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgaWYgKCF0aGlzLmVkaXRvcikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoaXNEaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLmVkaXRvci5tb2RlLnNldCgncmVhZG9ubHknKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZWRpdG9yLm1vZGUuc2V0KCdkZXNpZ24nKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGVkaXRvciBpZD1cInt7IGVsZW1lbnRJZCB9fVwiIFtpbml0XT1cImluaXRcIj48L2VkaXRvcj5cclxuIl19
@@ -1,36 +0,0 @@
1
- // tslint:disable:no-bitwise
2
- export class GuidGenerator {
3
- /**
4
- * Taken from https://github.com/Steve-Fenton/TypeScriptUtilities/blob/master/Guid
5
- * (modified)
6
- * Generates a Version 4 (= Pseudorandom) Guid
7
- */
8
- static generatePseudoRandomGuid() {
9
- const newGuidPlaceholder = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';
10
- const pseudoGuid = newGuidPlaceholder.replace(/[xy]/g, letter => this.generateRandomHexDigit(letter));
11
- return pseudoGuid;
12
- }
13
- static generateRandomHexDigit(letter) {
14
- const r = Math.random() * 16 | 0;
15
- let v;
16
- if (letter === 'x') {
17
- v = r;
18
- }
19
- else if (letter === 'y') {
20
- v = r & 0x3 | 0x8;
21
- /* r & 0x3 -> Allows either 0x0000, 0x0001, 0x0010 or 0x0011
22
- * | 0x8 -> 0x1000 = 8
23
- * 0x1001 = 9
24
- * 0x1010 = A
25
- * 0x1011 = B
26
- * The possible variants of version 4 Guids
27
- */
28
- }
29
- else {
30
- throw new Error('Please provide either "x" to indicate a random replacement or "y" to '
31
- + 'indicate the generation of the variant identifier');
32
- }
33
- return v.toString(16);
34
- }
35
- }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZC1nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW1hdGVyaWFsLXNoYXJlZC90aW55LW1jZS9zcmMvdXRpbHMvZ3VpZC1nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEJBQTRCO0FBRTVCLE1BQU0sT0FBTyxhQUFhO0lBQ3hCOzs7O01BSUU7SUFDSyxNQUFNLENBQUMsd0JBQXdCO1FBQ3BDLE1BQU0sa0JBQWtCLEdBQUcsc0NBQXNDLENBQUM7UUFDbEUsTUFBTSxVQUFVLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3RHLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxNQUFNLENBQUMsc0JBQXNCLENBQUMsTUFBYztRQUNsRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQVMsQ0FBQztRQUNkLElBQUksTUFBTSxLQUFLLEdBQUcsRUFBRTtZQUNsQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ1A7YUFBTSxJQUFJLE1BQU0sS0FBSyxHQUFHLEVBQUU7WUFDekIsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ2xCOzs7Ozs7Y0FNRTtTQUNIO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLHVFQUF1RTtrQkFDbkYsbURBQW1ELENBQUMsQ0FBQztTQUMxRDtRQUNELE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0c2xpbnQ6ZGlzYWJsZTpuby1iaXR3aXNlXHJcblxyXG5leHBvcnQgY2xhc3MgR3VpZEdlbmVyYXRvciB7XHJcbiAgLyoqXHJcbiAgKiBUYWtlbiBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9TdGV2ZS1GZW50b24vVHlwZVNjcmlwdFV0aWxpdGllcy9ibG9iL21hc3Rlci9HdWlkXHJcbiAgKiAobW9kaWZpZWQpXHJcbiAgKiBHZW5lcmF0ZXMgYSBWZXJzaW9uIDQgKD0gUHNldWRvcmFuZG9tKSBHdWlkXHJcbiAgKi9cclxuICBwdWJsaWMgc3RhdGljIGdlbmVyYXRlUHNldWRvUmFuZG9tR3VpZCgpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgbmV3R3VpZFBsYWNlaG9sZGVyID0gJ3h4eHh4eHh4LXh4eHgtNHh4eC15eHh4LXh4eHh4eHh4eHh4eCc7XHJcbiAgICBjb25zdCBwc2V1ZG9HdWlkID0gbmV3R3VpZFBsYWNlaG9sZGVyLnJlcGxhY2UoL1t4eV0vZywgbGV0dGVyID0+IHRoaXMuZ2VuZXJhdGVSYW5kb21IZXhEaWdpdChsZXR0ZXIpKTtcclxuICAgIHJldHVybiBwc2V1ZG9HdWlkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgZ2VuZXJhdGVSYW5kb21IZXhEaWdpdChsZXR0ZXI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCByID0gTWF0aC5yYW5kb20oKSAqIDE2IHwgMDtcclxuICAgIGxldCB2OiBudW1iZXI7XHJcbiAgICBpZiAobGV0dGVyID09PSAneCcpIHtcclxuICAgICAgdiA9IHI7XHJcbiAgICB9IGVsc2UgaWYgKGxldHRlciA9PT0gJ3knKSB7XHJcbiAgICAgIHYgPSByICYgMHgzIHwgMHg4O1xyXG4gICAgICAvKiAgciAmIDB4MyAtPiBBbGxvd3MgZWl0aGVyIDB4MDAwMCwgMHgwMDAxLCAweDAwMTAgb3IgMHgwMDExXHJcbiAgICAgICogfCAweDggICAgLT4gMHgxMDAwID0gOFxyXG4gICAgICAqICAgICAgICAgICAgIDB4MTAwMSA9IDlcclxuICAgICAgKiAgICAgICAgICAgICAweDEwMTAgPSBBXHJcbiAgICAgICogICAgICAgICAgICAgMHgxMDExID0gQlxyXG4gICAgICAqIFRoZSBwb3NzaWJsZSB2YXJpYW50cyBvZiB2ZXJzaW9uIDQgR3VpZHNcclxuICAgICAgKi9cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignUGxlYXNlIHByb3ZpZGUgZWl0aGVyIFwieFwiIHRvIGluZGljYXRlIGEgcmFuZG9tIHJlcGxhY2VtZW50IG9yIFwieVwiIHRvICdcclxuICAgICAgICArICdpbmRpY2F0ZSB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgdmFyaWFudCBpZGVudGlmaWVyJyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdi50b1N0cmluZygxNik7XHJcbiAgfVxyXG59XHJcbiJdfQ==