@acorex/components 18.12.30 → 18.12.34

Sign up to get free protection for your applications and to get access to all the features.
@@ -11,14 +11,11 @@ export class JsonViewerComponent {
11
11
  }, { allowSignalWrites: true });
12
12
  }
13
13
  #effect;
14
- isDate(value) {
15
- return value instanceof Date;
16
- }
17
14
  convertNestedToArray(obj) {
18
15
  return Object.keys(obj).map((key) => ({
19
16
  key: key,
20
17
  value: this.isDate(obj[key])
21
- ? obj[key]
18
+ ? obj[key].toISOString()
22
19
  : typeof obj[key] === 'object'
23
20
  ? this.convertNestedToArray(obj[key])
24
21
  : obj[key],
@@ -30,11 +27,17 @@ export class JsonViewerComponent {
30
27
  isNumber(i) {
31
28
  return typeof i === 'number';
32
29
  }
30
+ isDate(value) {
31
+ return value instanceof Date;
32
+ }
33
+ isBoolean(value) {
34
+ return typeof value === 'boolean';
35
+ }
33
36
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: JsonViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
34
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: JsonViewerComponent, selector: "ax-json-viewer", inputs: { json: { classPropertyName: "json", publicName: "json", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"Recursion; context: { list: convertedData() }\"></ng-container>\n\n<ng-template #Recursion let-list=\"list\">\n @for (item of list; track $index) {\n @if (isArray(item.value)) {\n <details>\n <summary>{{ item.key }}</summary>\n <div class=\"ax-indent-details\">\n <ng-container *ngTemplateOutlet=\"Recursion; context: { list: item.value }\"></ng-container>\n </div>\n </details>\n } @else {\n <div class=\"ax-flex-container\">\n <p class=\"ax-nowrap\">{{ item.key }}<span>:</span></p>\n\n <p\n class=\"ax-nowrap ax-indent {{ isNumber(item.value) ? 'ax-number-color' : 'ax-string-color' }}\"\n [innerHTML]=\"item.value\"\n ></p>\n </div>\n }\n }\n</ng-template>\n", styles: ["ax-json-viewer{padding:1rem;overflow-x:scroll;display:block}ax-json-viewer .ax-number-color{color:rgb(var(--ax-color-neutral-800))}ax-json-viewer .ax-number-color input::-webkit-outer-spin-button,ax-json-viewer .ax-number-color input::-webkit-inner-spin-button{-webkit-appearance:none}ax-json-viewer .ax-string-color{color:#d9393e}ax-json-viewer .ax-indent{margin:0;padding:0;height:fit-content}ax-json-viewer .ax-indent-details{margin:0 2rem;height:fit-content}ax-json-viewer .ax-flex-container{display:flex;justify-content:flex-start;align-items:center;gap:.25rem}ax-json-viewer summary,ax-json-viewer p{color:rgb(var(--ax-color-neutral-500))}ax-json-viewer summary::marker,ax-json-viewer span{color:rgb(var(--ax-color-text-default))}ax-json-viewer details{margin-inline-start:-1rem}ax-json-viewer .ax-nowrap{white-space:nowrap}.ax-dark ax-json-viewer summary,.ax-dark ax-json-viewer p{color:#7cacf8}.ax-dark ax-json-viewer .ax-string-color{color:#5cd5fb}.ax-dark ax-json-viewer .ax-number-color{color:#9980ff}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: JsonViewerComponent, selector: "ax-json-viewer", inputs: { json: { classPropertyName: "json", publicName: "json", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"Recursion; context: { list: convertedData() }\"></ng-container>\n\n<ng-template #Recursion let-list=\"list\">\n @for (item of list; track $index) {\n @if (isArray(item.value)) {\n <details>\n <summary>\"{{ item.key }}\"</summary>\n <div class=\"ax-indent-details\">\n <ng-container *ngTemplateOutlet=\"Recursion; context: { list: item.value }\"></ng-container>\n </div>\n </details>\n } @else {\n <div class=\"ax-flex-container\">\n <p class=\"ax-nowrap ax-margin\">\"{{ item.key }}\"<span>:</span></p>\n\n <p\n class=\"ax-nowrap ax-indent {{\n isNumber(item.value) || isBoolean(item.value) ? 'ax-number-color' : 'ax-string-color'\n }}\"\n >\n @if (isNumber(item.value) || isBoolean(item.value)) {\n {{ item.value }}\n } @else {\n ''{{ item.value }}''\n }\n </p>\n </div>\n }\n }\n</ng-template>\n", styles: ["ax-json-viewer{padding:1rem;overflow-x:scroll;display:block}ax-json-viewer .ax-number-color{color:rgb(var(--ax-color-neutral-800))}ax-json-viewer .ax-number-color input::-webkit-outer-spin-button,ax-json-viewer .ax-number-color input::-webkit-inner-spin-button{-webkit-appearance:none}ax-json-viewer .ax-string-color{color:#d9393e}ax-json-viewer .ax-indent{margin:0;padding:0;height:fit-content}ax-json-viewer .ax-margin{margin-inline-end:.3rem}ax-json-viewer .ax-indent-details{margin:0 2rem;height:fit-content}ax-json-viewer .ax-flex-container{display:flex;justify-content:flex-start;align-items:center;gap:.25rem}ax-json-viewer summary,ax-json-viewer p{color:rgb(var(--ax-color-neutral-500))}ax-json-viewer summary::marker,ax-json-viewer span{color:rgb(var(--ax-color-text-default))}ax-json-viewer details{margin-inline-start:-1rem}ax-json-viewer .ax-nowrap{white-space:nowrap}.ax-dark ax-json-viewer summary,.ax-dark ax-json-viewer p{color:#7cacf8}.ax-dark ax-json-viewer .ax-string-color{color:#5cd5fb}.ax-dark ax-json-viewer .ax-number-color{color:#9980ff}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
35
38
  }
36
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: JsonViewerComponent, decorators: [{
37
40
  type: Component,
38
- args: [{ selector: 'ax-json-viewer', encapsulation: ViewEncapsulation.None, template: "<ng-container *ngTemplateOutlet=\"Recursion; context: { list: convertedData() }\"></ng-container>\n\n<ng-template #Recursion let-list=\"list\">\n @for (item of list; track $index) {\n @if (isArray(item.value)) {\n <details>\n <summary>{{ item.key }}</summary>\n <div class=\"ax-indent-details\">\n <ng-container *ngTemplateOutlet=\"Recursion; context: { list: item.value }\"></ng-container>\n </div>\n </details>\n } @else {\n <div class=\"ax-flex-container\">\n <p class=\"ax-nowrap\">{{ item.key }}<span>:</span></p>\n\n <p\n class=\"ax-nowrap ax-indent {{ isNumber(item.value) ? 'ax-number-color' : 'ax-string-color' }}\"\n [innerHTML]=\"item.value\"\n ></p>\n </div>\n }\n }\n</ng-template>\n", styles: ["ax-json-viewer{padding:1rem;overflow-x:scroll;display:block}ax-json-viewer .ax-number-color{color:rgb(var(--ax-color-neutral-800))}ax-json-viewer .ax-number-color input::-webkit-outer-spin-button,ax-json-viewer .ax-number-color input::-webkit-inner-spin-button{-webkit-appearance:none}ax-json-viewer .ax-string-color{color:#d9393e}ax-json-viewer .ax-indent{margin:0;padding:0;height:fit-content}ax-json-viewer .ax-indent-details{margin:0 2rem;height:fit-content}ax-json-viewer .ax-flex-container{display:flex;justify-content:flex-start;align-items:center;gap:.25rem}ax-json-viewer summary,ax-json-viewer p{color:rgb(var(--ax-color-neutral-500))}ax-json-viewer summary::marker,ax-json-viewer span{color:rgb(var(--ax-color-text-default))}ax-json-viewer details{margin-inline-start:-1rem}ax-json-viewer .ax-nowrap{white-space:nowrap}.ax-dark ax-json-viewer summary,.ax-dark ax-json-viewer p{color:#7cacf8}.ax-dark ax-json-viewer .ax-string-color{color:#5cd5fb}.ax-dark ax-json-viewer .ax-number-color{color:#9980ff}\n"] }]
41
+ args: [{ selector: 'ax-json-viewer', encapsulation: ViewEncapsulation.None, template: "<ng-container *ngTemplateOutlet=\"Recursion; context: { list: convertedData() }\"></ng-container>\n\n<ng-template #Recursion let-list=\"list\">\n @for (item of list; track $index) {\n @if (isArray(item.value)) {\n <details>\n <summary>\"{{ item.key }}\"</summary>\n <div class=\"ax-indent-details\">\n <ng-container *ngTemplateOutlet=\"Recursion; context: { list: item.value }\"></ng-container>\n </div>\n </details>\n } @else {\n <div class=\"ax-flex-container\">\n <p class=\"ax-nowrap ax-margin\">\"{{ item.key }}\"<span>:</span></p>\n\n <p\n class=\"ax-nowrap ax-indent {{\n isNumber(item.value) || isBoolean(item.value) ? 'ax-number-color' : 'ax-string-color'\n }}\"\n >\n @if (isNumber(item.value) || isBoolean(item.value)) {\n {{ item.value }}\n } @else {\n ''{{ item.value }}''\n }\n </p>\n </div>\n }\n }\n</ng-template>\n", styles: ["ax-json-viewer{padding:1rem;overflow-x:scroll;display:block}ax-json-viewer .ax-number-color{color:rgb(var(--ax-color-neutral-800))}ax-json-viewer .ax-number-color input::-webkit-outer-spin-button,ax-json-viewer .ax-number-color input::-webkit-inner-spin-button{-webkit-appearance:none}ax-json-viewer .ax-string-color{color:#d9393e}ax-json-viewer .ax-indent{margin:0;padding:0;height:fit-content}ax-json-viewer .ax-margin{margin-inline-end:.3rem}ax-json-viewer .ax-indent-details{margin:0 2rem;height:fit-content}ax-json-viewer .ax-flex-container{display:flex;justify-content:flex-start;align-items:center;gap:.25rem}ax-json-viewer summary,ax-json-viewer p{color:rgb(var(--ax-color-neutral-500))}ax-json-viewer summary::marker,ax-json-viewer span{color:rgb(var(--ax-color-text-default))}ax-json-viewer details{margin-inline-start:-1rem}ax-json-viewer .ax-nowrap{white-space:nowrap}.ax-dark ax-json-viewer summary,.ax-dark ax-json-viewer p{color:#7cacf8}.ax-dark ax-json-viewer .ax-string-color{color:#5cd5fb}.ax-dark ax-json-viewer .ax-number-color{color:#9980ff}\n"] }]
39
42
  }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi12aWV3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2pzb24tdmlld2VyL3NyYy9saWIvanNvbi12aWV3ZXIvanNvbi12aWV3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2pzb24tdmlld2VyL3NyYy9saWIvanNvbi12aWV3ZXIvanNvbi12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUXBGLE1BQU0sT0FBTyxtQkFBbUI7SUFOaEM7UUFPRSxTQUFJLEdBQUcsS0FBSyxFQUFPLENBQUM7UUFFcEIsa0JBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFN0IsWUFBTyxHQUFHLE1BQU0sQ0FDZCxHQUFHLEVBQUU7WUFDSCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzVDLENBQUMsRUFDRCxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxDQUM1QixDQUFDO0tBd0JIO0lBOUJDLE9BQU8sQ0FNTDtJQUVRLE1BQU0sQ0FBQyxLQUFVO1FBQ3pCLE9BQU8sS0FBSyxZQUFZLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRVMsb0JBQW9CLENBQUMsR0FBRztRQUNoQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3BDLEdBQUcsRUFBRSxHQUFHO1lBQ1IsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMxQixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztnQkFDVixDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUTtvQkFDNUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3JDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1NBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRVMsT0FBTyxDQUFDLElBQVM7UUFDekIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFUyxRQUFRLENBQUMsQ0FBTTtRQUN2QixPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQztJQUMvQixDQUFDOzhHQWxDVSxtQkFBbUI7a0dBQW5CLG1CQUFtQix1TENSaEMsOHhCQXVCQTs7MkZEZmEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLGdCQUFnQixpQkFHWCxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBlZmZlY3QsIGlucHV0LCBzaWduYWwsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWpzb24tdmlld2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2pzb24tdmlld2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2pzb24tdmlld2VyLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgSnNvblZpZXdlckNvbXBvbmVudCB7XG4gIGpzb24gPSBpbnB1dDxhbnk+KCk7XG5cbiAgY29udmVydGVkRGF0YSA9IHNpZ25hbChudWxsKTtcblxuICAjZWZmZWN0ID0gZWZmZWN0KFxuICAgICgpID0+IHtcbiAgICAgIGNvbnN0IGRlZXBseU5lc3RlZEFycmF5ID0gdGhpcy5jb252ZXJ0TmVzdGVkVG9BcnJheSh0aGlzLmpzb24oKSk7XG4gICAgICB0aGlzLmNvbnZlcnRlZERhdGEuc2V0KGRlZXBseU5lc3RlZEFycmF5KTtcbiAgICB9LFxuICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcbiAgKTtcblxuICBwcm90ZWN0ZWQgaXNEYXRlKHZhbHVlOiBhbnkpIHtcbiAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBEYXRlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbnZlcnROZXN0ZWRUb0FycmF5KG9iaikge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhvYmopLm1hcCgoa2V5KSA9PiAoe1xuICAgICAga2V5OiBrZXksXG4gICAgICB2YWx1ZTogdGhpcy5pc0RhdGUob2JqW2tleV0pXG4gICAgICAgID8gb2JqW2tleV1cbiAgICAgICAgOiB0eXBlb2Ygb2JqW2tleV0gPT09ICdvYmplY3QnXG4gICAgICAgICAgPyB0aGlzLmNvbnZlcnROZXN0ZWRUb0FycmF5KG9ialtrZXldKVxuICAgICAgICAgIDogb2JqW2tleV0sXG4gICAgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzQXJyYXkoYXJyeTogYW55KSB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoYXJyeSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNOdW1iZXIoaTogYW55KSB7XG4gICAgcmV0dXJuIHR5cGVvZiBpID09PSAnbnVtYmVyJztcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIlJlY3Vyc2lvbjsgY29udGV4dDogeyBsaXN0OiBjb252ZXJ0ZWREYXRhKCkgfVwiPjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI1JlY3Vyc2lvbiBsZXQtbGlzdD1cImxpc3RcIj5cbiAgQGZvciAoaXRlbSBvZiBsaXN0OyB0cmFjayAkaW5kZXgpIHtcbiAgICBAaWYgKGlzQXJyYXkoaXRlbS52YWx1ZSkpIHtcbiAgICAgIDxkZXRhaWxzPlxuICAgICAgICA8c3VtbWFyeT57eyBpdGVtLmtleSB9fTwvc3VtbWFyeT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWluZGVudC1kZXRhaWxzXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIlJlY3Vyc2lvbjsgY29udGV4dDogeyBsaXN0OiBpdGVtLnZhbHVlIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2RldGFpbHM+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleC1jb250YWluZXJcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJheC1ub3dyYXBcIj57eyBpdGVtLmtleSB9fTxzcGFuPjo8L3NwYW4+PC9wPlxuXG4gICAgICAgIDxwXG4gICAgICAgICAgY2xhc3M9XCJheC1ub3dyYXAgYXgtaW5kZW50IHt7IGlzTnVtYmVyKGl0ZW0udmFsdWUpID8gJ2F4LW51bWJlci1jb2xvcicgOiAnYXgtc3RyaW5nLWNvbG9yJyB9fVwiXG4gICAgICAgICAgW2lubmVySFRNTF09XCJpdGVtLnZhbHVlXCJcbiAgICAgICAgPjwvcD5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi12aWV3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2pzb24tdmlld2VyL3NyYy9saWIvanNvbi12aWV3ZXIvanNvbi12aWV3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2pzb24tdmlld2VyL3NyYy9saWIvanNvbi12aWV3ZXIvanNvbi12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUXBGLE1BQU0sT0FBTyxtQkFBbUI7SUFOaEM7UUFPRSxTQUFJLEdBQUcsS0FBSyxFQUFPLENBQUM7UUFFcEIsa0JBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFN0IsWUFBTyxHQUFHLE1BQU0sQ0FDZCxHQUFHLEVBQUU7WUFDSCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzVDLENBQUMsRUFDRCxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxDQUM1QixDQUFDO0tBNEJIO0lBbENDLE9BQU8sQ0FNTDtJQUVRLG9CQUFvQixDQUFDLEdBQUc7UUFDaEMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNwQyxHQUFHLEVBQUUsR0FBRztZQUNSLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDMUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUU7Z0JBQ3hCLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRO29CQUM1QixDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDckMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7U0FDZixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFUyxPQUFPLENBQUMsSUFBUztRQUN6QixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVTLFFBQVEsQ0FBQyxDQUFNO1FBQ3ZCLE9BQU8sT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDO0lBQy9CLENBQUM7SUFFUyxNQUFNLENBQUMsS0FBVTtRQUN6QixPQUFPLEtBQUssWUFBWSxJQUFJLENBQUM7SUFDL0IsQ0FBQztJQUVTLFNBQVMsQ0FBQyxLQUFVO1FBQzVCLE9BQU8sT0FBTyxLQUFLLEtBQUssU0FBUyxDQUFDO0lBQ3BDLENBQUM7OEdBdENVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHVMQ1JoQyx3K0JBOEJBOzsyRkR0QmEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLGdCQUFnQixpQkFHWCxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBlZmZlY3QsIGlucHV0LCBzaWduYWwsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWpzb24tdmlld2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2pzb24tdmlld2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2pzb24tdmlld2VyLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgSnNvblZpZXdlckNvbXBvbmVudCB7XG4gIGpzb24gPSBpbnB1dDxhbnk+KCk7XG5cbiAgY29udmVydGVkRGF0YSA9IHNpZ25hbChudWxsKTtcblxuICAjZWZmZWN0ID0gZWZmZWN0KFxuICAgICgpID0+IHtcbiAgICAgIGNvbnN0IGRlZXBseU5lc3RlZEFycmF5ID0gdGhpcy5jb252ZXJ0TmVzdGVkVG9BcnJheSh0aGlzLmpzb24oKSk7XG4gICAgICB0aGlzLmNvbnZlcnRlZERhdGEuc2V0KGRlZXBseU5lc3RlZEFycmF5KTtcbiAgICB9LFxuICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcbiAgKTtcblxuICBwcm90ZWN0ZWQgY29udmVydE5lc3RlZFRvQXJyYXkob2JqKSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKG9iaikubWFwKChrZXkpID0+ICh7XG4gICAgICBrZXk6IGtleSxcbiAgICAgIHZhbHVlOiB0aGlzLmlzRGF0ZShvYmpba2V5XSlcbiAgICAgICAgPyBvYmpba2V5XS50b0lTT1N0cmluZygpXG4gICAgICAgIDogdHlwZW9mIG9ialtrZXldID09PSAnb2JqZWN0J1xuICAgICAgICAgID8gdGhpcy5jb252ZXJ0TmVzdGVkVG9BcnJheShvYmpba2V5XSlcbiAgICAgICAgICA6IG9ialtrZXldLFxuICAgIH0pKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0FycmF5KGFycnk6IGFueSkge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KGFycnkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzTnVtYmVyKGk6IGFueSkge1xuICAgIHJldHVybiB0eXBlb2YgaSA9PT0gJ251bWJlcic7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNEYXRlKHZhbHVlOiBhbnkpIHtcbiAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBEYXRlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzQm9vbGVhbih2YWx1ZTogYW55KSB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiUmVjdXJzaW9uOyBjb250ZXh0OiB7IGxpc3Q6IGNvbnZlcnRlZERhdGEoKSB9XCI+PC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjUmVjdXJzaW9uIGxldC1saXN0PVwibGlzdFwiPlxuICBAZm9yIChpdGVtIG9mIGxpc3Q7IHRyYWNrICRpbmRleCkge1xuICAgIEBpZiAoaXNBcnJheShpdGVtLnZhbHVlKSkge1xuICAgICAgPGRldGFpbHM+XG4gICAgICAgIDxzdW1tYXJ5Plwie3sgaXRlbS5rZXkgfX1cIjwvc3VtbWFyeT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWluZGVudC1kZXRhaWxzXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIlJlY3Vyc2lvbjsgY29udGV4dDogeyBsaXN0OiBpdGVtLnZhbHVlIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2RldGFpbHM+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleC1jb250YWluZXJcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJheC1ub3dyYXAgYXgtbWFyZ2luXCI+XCJ7eyBpdGVtLmtleSB9fVwiPHNwYW4+Ojwvc3Bhbj48L3A+XG5cbiAgICAgICAgPHBcbiAgICAgICAgICBjbGFzcz1cImF4LW5vd3JhcCBheC1pbmRlbnQge3tcbiAgICAgICAgICAgIGlzTnVtYmVyKGl0ZW0udmFsdWUpIHx8IGlzQm9vbGVhbihpdGVtLnZhbHVlKSA/ICdheC1udW1iZXItY29sb3InIDogJ2F4LXN0cmluZy1jb2xvcidcbiAgICAgICAgICB9fVwiXG4gICAgICAgID5cbiAgICAgICAgICBAaWYgKGlzTnVtYmVyKGl0ZW0udmFsdWUpIHx8IGlzQm9vbGVhbihpdGVtLnZhbHVlKSkge1xuICAgICAgICAgICAge3sgaXRlbS52YWx1ZSB9fVxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJyd7eyBpdGVtLnZhbHVlIH19JydcbiAgICAgICAgICB9XG4gICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import { AXWysiwyg } from '@acorex/cdk/wysiwyg';
2
2
  import { AXClearableComponent, AXComponent, AXFocusableComponent, AXValuableComponent, MXInputBaseValueComponent, MXLookComponent, } from '@acorex/components/common';
3
3
  import { isBrowser } from '@acorex/core/platform';
4
- import { ChangeDetectionStrategy, Component, NgZone, ViewEncapsulation, afterNextRender, effect, forwardRef, inject, input, } from '@angular/core';
4
+ import { ChangeDetectionStrategy, Component, NgZone, ViewEncapsulation, afterNextRender, effect, forwardRef, inject, input, signal, } from '@angular/core';
5
5
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
6
6
  import { classes } from 'polytype';
7
7
  import { QuillDeltaToHtmlConverter } from 'quill-delta-to-html';
@@ -18,6 +18,8 @@ export class AXWysiwygContainerComponent extends classes((MXInputBaseValueCompon
18
18
  this.service = inject(AXWysiwygService);
19
19
  /** @ignore */
20
20
  this.zone = inject(NgZone);
21
+ this.quillChangeTriggred = signal(false);
22
+ this.ngModleChangeTriggred = signal(false);
21
23
  /**
22
24
  * Specifies the placeholder text.
23
25
  *
@@ -63,6 +65,9 @@ export class AXWysiwygContainerComponent extends classes((MXInputBaseValueCompon
63
65
  #effect3;
64
66
  /** @ignore */
65
67
  changeHandler() {
68
+ if (this.ngModleChangeTriggred())
69
+ return;
70
+ this.quillChangeTriggred.set(true);
66
71
  const value = this.service.wysiwyg()?.quillObj().root.innerHTML;
67
72
  if (value === '<p><br></p>' || !value) {
68
73
  this.commitValue(null);
@@ -80,14 +85,19 @@ export class AXWysiwygContainerComponent extends classes((MXInputBaseValueCompon
80
85
  return;
81
86
  this.service.isEditorClean.set(false);
82
87
  }
88
+ this.quillChangeTriggred.set(false);
83
89
  }
84
90
  /** @ignore */
85
91
  ngOnDestroy() {
86
92
  this.service.wysiwyg()?.quillObj().off('text-change', this.changeHandler);
87
93
  clearTimeout(this.setTimeOut);
88
94
  }
89
- setContent(e) {
90
- this.service.wysiwyg().setContent(e);
95
+ internalValueChanged(value) {
96
+ if (this.quillChangeTriggred())
97
+ return;
98
+ this.ngModleChangeTriggred.set(true);
99
+ this.service.wysiwyg()?.setContent(value);
100
+ this.ngModleChangeTriggred.set(false);
91
101
  }
92
102
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXWysiwygContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
93
103
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.0", type: AXWysiwygContainerComponent, selector: "ax-wysiwyg-container", inputs: { look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, placeHolder: { classPropertyName: "placeHolder", publicName: "placeHolder", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onValueChanged: "onValueChanged" }, providers: [
@@ -118,4 +128,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
118
128
  },
119
129
  ], template: "<div class=\"ax-editor-container ax-look-{{ look }}\">\n <ng-content></ng-content>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\n</div>\n<div class=\"ax-error-container\"></div>\n", styles: [".ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:\"\\2022\"}.ql-editor li[data-list=checked]>.ql-ui:before{content:\"\\2611\"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:\"\\2610\"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) \". \"}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) \". \"}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) \". \"}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) \". \"}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) \". \"}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) \". \"}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) \". \"}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) \". \"}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) \". \"}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) \". \"}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}ax-wysiwyg-container{width:100%;display:block}ax-wysiwyg-container>.ax-editor-container{display:block;height:auto!important}\n/*! Bundled license information:\n\nquill/dist/quill.core.css:\n (*!\n * Quill Editor v2.0.2\n * https://quilljs.com\n * Copyright (c) 2017-2024, Slab\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n *)\n*/\n"] }]
120
130
  }] });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3lzaXd5Zy1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3d5c2l3eWcvc3JjL2xpYi93eXNpd3lnL3d5c2l3eWctY29udGFpbmVyL3d5c2l3eWctY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy93eXNpd3lnL3NyYy9saWIvd3lzaXd5Zy93eXNpd3lnLWNvbnRhaW5lci93eXNpd3lnLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixXQUFXLEVBQ1gsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsZUFBZSxHQUNoQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBRU4saUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixNQUFNLEVBQ04sVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNuQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFdEQ7OztHQUdHO0FBc0JILE1BQU0sT0FBTywyQkFDWCxTQUFRLE9BQU8sQ0FBQyxDQUFBLHlCQUFpQyxDQUFBLEVB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QUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsNEJBQTRCLENBQUM7NEJBQzFELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhXeXNpd3lnIH0gZnJvbSAnQGFjb3JleC9jZGsvd3lzaXd5Zyc7XHJcbmltcG9ydCB7XHJcbiAgQVhDbGVhcmFibGVDb21wb25lbnQsXHJcbiAgQVhDb21wb25lbnQsXHJcbiAgQVhGb2N1c2FibGVDb21wb25lbnQsXHJcbiAgQVhWYWx1YWJsZUNvbXBvbmVudCxcclxuICBNWElucHV0QmFzZVZhbHVlQ29tcG9uZW50LFxyXG4gIE1YTG9va0NvbXBvbmVudCxcclxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcclxuaW1wb3J0IHsgaXNCcm93c2VyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3BsYXRmb3JtJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgTmdab25lLFxyXG4gIE9uRGVzdHJveSxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBhZnRlck5leHRSZW5kZXIsXHJcbiAgZWZmZWN0LFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgaW5qZWN0LFxyXG4gIGlucHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJ3BvbHl0eXBlJztcclxuaW1wb3J0IHsgUXVpbGxEZWx0YVRvSHRtbENvbnZlcnRlciB9IGZyb20gJ3F1aWxsLWRlbHRhLXRvLWh0bWwnO1xyXG5pbXBvcnQgeyBBWFd5c2l3eWdTZXJ2aWNlIH0gZnJvbSAnLi4vd3lzaXd5Zy5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBBIGNvbnRhaW5lciBjb21wb25lbnQgZm9yIFdZU0lXWUcgKFdoYXQgWW91IFNlZSBJcyBXaGF0IFlvdSBHZXQpIGVkaXRvciBmdW5jdGlvbmFsaXR5LlxyXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC13eXNpd3lnLWNvbnRhaW5lcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3d5c2l3eWctY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vd3lzaXd5Zy1jb250YWluZXIuY29tcG9uZW50LnNjc3MnLFxyXG4gIGlucHV0czogWydsb29rJ10sXHJcbiAgb3V0cHV0czogWydvblZhbHVlQ2hhbmdlZCddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBBWFd5c2l3eWdTZXJ2aWNlLFxyXG4gICAgeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYV3lzaXd5Z0NvbnRhaW5lckNvbXBvbmVudCB9LFxyXG4gICAgeyBwcm92aWRlOiBBWEZvY3VzYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYV3lzaXd5Z0NvbnRhaW5lckNvbXBvbmVudCB9LFxyXG4gICAgeyBwcm92aWRlOiBBWENsZWFyYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYV3lzaXd5Z0NvbnRhaW5lckNvbXBvbmVudCB9LFxyXG4gICAgeyBwcm92aWRlOiBBWFZhbHVhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhXeXNpd3lnQ29udGFpbmVyQ29tcG9uZW50IH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBWFd5c2l3eWdDb250YWluZXJDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYV3lzaXd5Z0NvbnRhaW5lckNvbXBvbmVudFxyXG4gIGV4dGVuZHMgY2xhc3NlcyhNWElucHV0QmFzZVZhbHVlQ29tcG9uZW50PHN0cmluZz4sIE1YTG9va0NvbXBvbmVudClcclxuICBpbXBsZW1lbnRzIE9uRGVzdHJveVxyXG57XHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwcm90ZWN0ZWQgc2VydmljZSA9IGluamVjdChBWFd5c2l3eWdTZXJ2aWNlKTtcclxuXHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwcm90ZWN0ZWQgc2V0VGltZU91dDtcclxuXHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwcml2YXRlIHpvbmUgPSBpbmplY3QoTmdab25lKTtcclxuXHJcbiAgLyoqXHJcbiAgICogU3BlY2lmaWVzIHRoZSBwbGFjZWhvbGRlciB0ZXh0LlxyXG4gICAqXHJcbiAgICovXHJcbiAgcGxhY2VIb2xkZXIgPSBpbnB1dDxzdHJpbmc+KCk7XHJcblxyXG4gICNpbml0ID0gYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcclxuICAgIGNvbnN0IHZpZXcgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcignYXgtd3lzaXd5Zy12aWV3JykgYXMgSFRNTEVsZW1lbnQ7XHJcblxyXG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKGFzeW5jICgpID0+IHtcclxuICAgICAgaWYgKGlzQnJvd3NlcigpKSB7XHJcbiAgICAgICAgY29uc3QgbmV3V3lzaXd5ZyA9IG5ldyBBWFd5c2l3eWcoKTtcclxuXHJcbiAgICAgICAgYXdhaXQgbmV3V3lzaXd5Zy5pbml0KHZpZXcsIHtcclxuICAgICAgICAgIHJlYWRPbmx5OiB0cnVlLFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLnNlcnZpY2Uud3lzaXd5Zy5zZXQobmV3V3lzaXd5Zyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH0pO1xyXG5cclxuICAjZWZmZWN0MSA9IGVmZmVjdCgoKSA9PiB7XHJcbiAgICBpZiAodGhpcy5wbGFjZUhvbGRlcigpICYmIHRoaXMuc2VydmljZS53eXNpd3lnKCk/LnF1aWxsT2JqKCkpIHtcclxuICAgICAgdGhpcy5zZXJ2aWNlLnd5c2l3eWcoKS5xdWlsbE9iaigpLnJvb3Quc2V0QXR0cmlidXRlKCdkYXRhLXBsYWNlaG9sZGVyJywgdGhpcy5wbGFjZUhvbGRlcigpKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5zZXJ2aWNlLnd5c2l3eWcoKT8ucXVpbGxPYmooKSkge1xyXG4gICAgICB0aGlzLnNlcnZpY2Uud3lzaXd5ZygpLnF1aWxsT2JqKCkucm9vdC5zZXRBdHRyaWJ1dGUoJ2RhdGEtcGxhY2Vob2xkZXInLCAnV3JpdGUgWW91ciBNZXNzYWdlIC4uLicpO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICAjZWZmZWN0MiA9IGVmZmVjdCgoKSA9PiB7XHJcbiAgICBpZiAodGhpcy52YWx1ZSAmJiB0aGlzLnNlcnZpY2Uud3lzaXd5ZygpPy5xdWlsbE9iaigpKSB7XHJcbiAgICAgIHRoaXMuc2VydmljZS53eXNpd3lnKCkucXVpbGxPYmooKS5yb290LmlubmVySFRNTCA9IHRoaXMudmFsdWU7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gICNlZmZlY3QzID0gZWZmZWN0KCgpID0+IHtcclxuICAgIGlmICh0aGlzLnNlcnZpY2Uud3lzaXd5ZygpPy5xdWlsbE9iaigpKSB7XHJcbiAgICAgIHRoaXMuc2VydmljZS53eXNpd3lnKCkucXVpbGxPYmooKS5vbigndGV4dC1jaGFuZ2UnLCB0aGlzLmNoYW5nZUhhbmRsZXIuYmluZCh0aGlzKSk7XHJcblxyXG4gICAgICB0aGlzLnNldFRpbWVPdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLnNlcnZpY2Uud3lzaXd5ZygpPy5xdWlsbE9iaigpLmVuYWJsZSgpO1xyXG4gICAgICB9LCAxMDAwKTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwcm90ZWN0ZWQgY2hhbmdlSGFuZGxlcigpIHtcclxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5zZXJ2aWNlLnd5c2l3eWcoKT8ucXVpbGxPYmooKS5yb290LmlubmVySFRNTDtcclxuICAgIGlmICh2YWx1ZSA9PT0gJzxwPjxicj48L3A+JyB8fCAhdmFsdWUpIHtcclxuICAgICAgdGhpcy5jb21taXRWYWx1ZShudWxsKTtcclxuICAgICAgaWYgKHRoaXMuc2VydmljZS5pc0VkaXRvckNsZWFuKCkpIHJldHVybjtcclxuICAgICAgdGhpcy5zZXJ2aWNlLmlzRWRpdG9yQ2xlYW4uc2V0KHRydWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgZGVsdGEgPSB0aGlzLnNlcnZpY2Uud3lzaXd5ZygpPy5xdWlsbE9iaigpLmVkaXRvci5kZWx0YS5vcHM7XHJcbiAgICAgIGNvbnN0IGNmZyA9IHsgaW5saW5lU3R5bGVzOiB0cnVlIH07XHJcbiAgICAgIGNvbnN0IGNvbnZlcnRlciA9IG5ldyBRdWlsbERlbHRhVG9IdG1sQ29udmVydGVyKGRlbHRhLCBjZmcpO1xyXG4gICAgICBjb25zdCBodG1sID0gY29udmVydGVyLmNvbnZlcnQoKTtcclxuICAgICAgdGhpcy5jb21taXRWYWx1ZShodG1sKTtcclxuICAgICAgaWYgKCF0aGlzLnNlcnZpY2UuaXNFZGl0b3JDbGVhbigpKSByZXR1cm47XHJcbiAgICAgIHRoaXMuc2VydmljZS5pc0VkaXRvckNsZWFuLnNldChmYWxzZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXJ2aWNlLnd5c2l3eWcoKT8ucXVpbGxPYmooKS5vZmYoJ3RleHQtY2hhbmdlJywgdGhpcy5jaGFuZ2VIYW5kbGVyKTtcclxuICAgIGNsZWFyVGltZW91dCh0aGlzLnNldFRpbWVPdXQpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q29udGVudChlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VydmljZS53eXNpd3lnKCkuc2V0Q29udGVudChlKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImF4LWVkaXRvci1jb250YWluZXIgYXgtbG9vay17eyBsb29rIH19XCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdmFsaWRhdGlvbi1ydWxlXCI+IDwvbmctY29udGVudD5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImF4LWVycm9yLWNvbnRhaW5lclwiPjwvZGl2PlxuIl19
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3lzaXd5Zy1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3d5c2l3eWcvc3JjL2xpYi93eXNpd3lnL3d5c2l3eWctY29udGFpbmVyL3d5c2l3eWctY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy93eXNpd3lnL3NyYy9saWIvd3lzaXd5Zy93eXNpd3lnLWNvbnRhaW5lci93eXNpd3lnLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixXQUFXLEVBQ1gsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsZUFBZSxHQUNoQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBRU4saUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixNQUFNLEVBQ04sVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRXREOzs7R0FHRztBQXNCSCxNQUFNLE9BQU8sMkJBQ1gsU0FBUSxPQUFPLENBQUMsQ0FBQSx5QkFB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WjtTQUNGLGlEQ25ESCxxTUFLQTs7MkZEZ0RhLDJCQUEyQjtrQkFyQnZDLFNBQVM7K0JBQ0Usc0JBQXNCLFVBR3hCLENBQUMsTUFBTSxDQUFDLFdBQ1AsQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFDVix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCO3dCQUNULGdCQUFnQjt3QkFDaEIsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsNkJBQTZCLEVBQUU7d0JBQ2xFLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsNkJBQTZCLEVBQUU7d0JBQzNFLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsNkJBQTZCLEVBQUU7d0JBQzNFLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsNkJBQTZCLEVBQUU7d0JBQzFFOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDRCQUE0QixDQUFDOzRCQUMxRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYV3lzaXd5ZyB9IGZyb20gJ0BhY29yZXgvY2RrL3d5c2l3eWcnO1xyXG5pbXBvcnQge1xyXG4gIEFYQ2xlYXJhYmxlQ29tcG9uZW50LFxyXG4gIEFYQ29tcG9uZW50LFxyXG4gIEFYRm9jdXNhYmxlQ29tcG9uZW50LFxyXG4gIEFYVmFsdWFibGVDb21wb25lbnQsXHJcbiAgTVhJbnB1dEJhc2VWYWx1ZUNvbXBvbmVudCxcclxuICBNWExvb2tDb21wb25lbnQsXHJcbn0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XHJcbmltcG9ydCB7IGlzQnJvd3NlciB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XHJcbmltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIE5nWm9uZSxcclxuICBPbkRlc3Ryb3ksXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxyXG4gIGVmZmVjdCxcclxuICBmb3J3YXJkUmVmLFxyXG4gIGluamVjdCxcclxuICBpbnB1dCxcclxuICBzaWduYWwsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBjbGFzc2VzIH0gZnJvbSAncG9seXR5cGUnO1xyXG5pbXBvcnQgeyBRdWlsbERlbHRhVG9IdG1sQ29udmVydGVyIH0gZnJvbSAncXVpbGwtZGVsdGEtdG8taHRtbCc7XHJcbmltcG9ydCB7IEFYV3lzaXd5Z1NlcnZpY2UgfSBmcm9tICcuLi93eXNpd3lnLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEEgY29udGFpbmVyIGNvbXBvbmVudCBmb3IgV1lTSVdZRyAoV2hhdCBZb3UgU2VlIElzIFdoYXQgWW91IEdldCkgZWRpdG9yIGZ1bmN0aW9uYWxpdHkuXHJcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LXd5c2l3eWctY29udGFpbmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vd3lzaXd5Zy1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi93eXNpd3lnLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcycsXHJcbiAgaW5wdXRzOiBbJ2xvb2snXSxcclxuICBvdXRwdXRzOiBbJ29uVmFsdWVDaGFuZ2VkJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIEFYV3lzaXd5Z1NlcnZpY2UsXHJcbiAgICB7IHByb3ZpZGU6IEFYQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhXeXNpd3lnQ29udGFpbmVyQ29tcG9uZW50IH0sXHJcbiAgICB7IHByb3ZpZGU6IEFYRm9jdXNhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhXeXNpd3lnQ29udGFpbmVyQ29tcG9uZW50IH0sXHJcbiAgICB7IHByb3ZpZGU6IEFYQ2xlYXJhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhXeXNpd3lnQ29udGFpbmVyQ29tcG9uZW50IH0sXHJcbiAgICB7IHByb3ZpZGU6IEFYVmFsdWFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFd5c2l3eWdDb250YWluZXJDb21wb25lbnQgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFYV3lzaXd5Z0NvbnRhaW5lckNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhXeXNpd3lnQ29udGFpbmVyQ29tcG9uZW50XHJcbiAgZXh0ZW5kcyBjbGFzc2VzKE1YSW5wdXRCYXNlVmFsdWVDb21wb25lbnQ8c3RyaW5nPiwgTVhMb29rQ29tcG9uZW50KVxyXG4gIGltcGxlbWVudHMgT25EZXN0cm95XHJcbntcclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHByb3RlY3RlZCBzZXJ2aWNlID0gaW5qZWN0KEFYV3lzaXd5Z1NlcnZpY2UpO1xyXG5cclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHByb3RlY3RlZCBzZXRUaW1lT3V0O1xyXG5cclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHByaXZhdGUgem9uZSA9IGluamVjdChOZ1pvbmUpO1xyXG5cclxuICBwcm90ZWN0ZWQgcXVpbGxDaGFuZ2VUcmlnZ3JlZCA9IHNpZ25hbChmYWxzZSk7XHJcbiAgcHJvdGVjdGVkIG5nTW9kbGVDaGFuZ2VUcmlnZ3JlZCA9IHNpZ25hbChmYWxzZSk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNwZWNpZmllcyB0aGUgcGxhY2Vob2xkZXIgdGV4dC5cclxuICAgKlxyXG4gICAqL1xyXG4gIHBsYWNlSG9sZGVyID0gaW5wdXQ8c3RyaW5nPigpO1xyXG5cclxuICAjaW5pdCA9IGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XHJcbiAgICBjb25zdCB2aWV3ID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJ2F4LXd5c2l3eWctdmlldycpIGFzIEhUTUxFbGVtZW50O1xyXG5cclxuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcihhc3luYyAoKSA9PiB7XHJcbiAgICAgIGlmIChpc0Jyb3dzZXIoKSkge1xyXG4gICAgICAgIGNvbnN0IG5ld1d5c2l3eWcgPSBuZXcgQVhXeXNpd3lnKCk7XHJcblxyXG4gICAgICAgIGF3YWl0IG5ld1d5c2l3eWcuaW5pdCh2aWV3LCB7XHJcbiAgICAgICAgICByZWFkT25seTogdHJ1ZSxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnd5c2l3eWcuc2V0KG5ld1d5c2l3eWcpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9KTtcclxuXHJcbiAgI2VmZmVjdDEgPSBlZmZlY3QoKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMucGxhY2VIb2xkZXIoKSAmJiB0aGlzLnNlcnZpY2Uud3lzaXd5ZygpPy5xdWlsbE9iaigpKSB7XHJcbiAgICAgIHRoaXMuc2VydmljZS53eXNpd3lnKCkucXVpbGxPYmooKS5yb290LnNldEF0dHJpYnV0ZSgnZGF0YS1wbGFjZWhvbGRlcicsIHRoaXMucGxhY2VIb2xkZXIoKSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuc2VydmljZS53eXNpd3lnKCk/LnF1aWxsT2JqKCkpIHtcclxuICAgICAgdGhpcy5zZXJ2aWNlLnd5c2l3eWcoKS5xdWlsbE9iaigpLnJvb3Quc2V0QXR0cmlidXRlKCdkYXRhLXBsYWNlaG9sZGVyJywgJ1dyaXRlIFlvdXIgTWVzc2FnZSAuLi4nKTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgI2VmZmVjdDIgPSBlZmZlY3QoKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy5zZXJ2aWNlLnd5c2l3eWcoKT8ucXVpbGxPYmooKSkge1xyXG4gICAgICB0aGlzLnNlcnZpY2Uud3lzaXd5ZygpLnF1aWxsT2JqKCkucm9vdC5pbm5lckhUTUwgPSB0aGlzLnZhbHVlO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICAjZWZmZWN0MyA9IGVmZmVjdCgoKSA9PiB7XHJcbiAgICBpZiAodGhpcy5zZXJ2aWNlLnd5c2l3eWcoKT8ucXVpbGxPYmooKSkge1xyXG4gICAgICB0aGlzLnNlcnZpY2Uud3lzaXd5ZygpLnF1aWxsT2JqKCkub24oJ3RleHQtY2hhbmdlJywgdGhpcy5jaGFuZ2VIYW5kbGVyLmJpbmQodGhpcykpO1xyXG5cclxuICAgICAgdGhpcy5zZXRUaW1lT3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnd5c2l3eWcoKT8ucXVpbGxPYmooKS5lbmFibGUoKTtcclxuICAgICAgfSwgMTAwMCk7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHJvdGVjdGVkIGNoYW5nZUhhbmRsZXIoKSB7XHJcbiAgICBpZiAodGhpcy5uZ01vZGxlQ2hhbmdlVHJpZ2dyZWQoKSkgcmV0dXJuO1xyXG4gICAgdGhpcy5xdWlsbENoYW5nZVRyaWdncmVkLnNldCh0cnVlKTtcclxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5zZXJ2aWNlLnd5c2l3eWcoKT8ucXVpbGxPYmooKS5yb290LmlubmVySFRNTDtcclxuICAgIGlmICh2YWx1ZSA9PT0gJzxwPjxicj48L3A+JyB8fCAhdmFsdWUpIHtcclxuICAgICAgdGhpcy5jb21taXRWYWx1ZShudWxsKTtcclxuICAgICAgaWYgKHRoaXMuc2VydmljZS5pc0VkaXRvckNsZWFuKCkpIHJldHVybjtcclxuICAgICAgdGhpcy5zZXJ2aWNlLmlzRWRpdG9yQ2xlYW4uc2V0KHRydWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgZGVsdGEgPSB0aGlzLnNlcnZpY2Uud3lzaXd5ZygpPy5xdWlsbE9iaigpLmVkaXRvci5kZWx0YS5vcHM7XHJcbiAgICAgIGNvbnN0IGNmZyA9IHsgaW5saW5lU3R5bGVzOiB0cnVlIH07XHJcbiAgICAgIGNvbnN0IGNvbnZlcnRlciA9IG5ldyBRdWlsbERlbHRhVG9IdG1sQ29udmVydGVyKGRlbHRhLCBjZmcpO1xyXG4gICAgICBjb25zdCBodG1sID0gY29udmVydGVyLmNvbnZlcnQoKTtcclxuICAgICAgdGhpcy5jb21taXRWYWx1ZShodG1sKTtcclxuICAgICAgaWYgKCF0aGlzLnNlcnZpY2UuaXNFZGl0b3JDbGVhbigpKSByZXR1cm47XHJcbiAgICAgIHRoaXMuc2VydmljZS5pc0VkaXRvckNsZWFuLnNldChmYWxzZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnF1aWxsQ2hhbmdlVHJpZ2dyZWQuc2V0KGZhbHNlKTtcclxuICB9XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlcnZpY2Uud3lzaXd5ZygpPy5xdWlsbE9iaigpLm9mZigndGV4dC1jaGFuZ2UnLCB0aGlzLmNoYW5nZUhhbmRsZXIpO1xyXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuc2V0VGltZU91dCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaW50ZXJuYWxWYWx1ZUNoYW5nZWQodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucXVpbGxDaGFuZ2VUcmlnZ3JlZCgpKSByZXR1cm47XHJcbiAgICB0aGlzLm5nTW9kbGVDaGFuZ2VUcmlnZ3JlZC5zZXQodHJ1ZSk7XHJcbiAgICB0aGlzLnNlcnZpY2Uud3lzaXd5ZygpPy5zZXRDb250ZW50KHZhbHVlKTtcclxuICAgIHRoaXMubmdNb2RsZUNoYW5nZVRyaWdncmVkLnNldChmYWxzZSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJheC1lZGl0b3ItY29udGFpbmVyIGF4LWxvb2ste3sgbG9vayB9fVwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXZhbGlkYXRpb24tcnVsZVwiPiA8L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJheC1lcnJvci1jb250YWluZXJcIj48L2Rpdj5cbiJdfQ==
@@ -15,14 +15,11 @@ class JsonViewerComponent {
15
15
  }, { allowSignalWrites: true });
16
16
  }
17
17
  #effect;
18
- isDate(value) {
19
- return value instanceof Date;
20
- }
21
18
  convertNestedToArray(obj) {
22
19
  return Object.keys(obj).map((key) => ({
23
20
  key: key,
24
21
  value: this.isDate(obj[key])
25
- ? obj[key]
22
+ ? obj[key].toISOString()
26
23
  : typeof obj[key] === 'object'
27
24
  ? this.convertNestedToArray(obj[key])
28
25
  : obj[key],
@@ -34,12 +31,18 @@ class JsonViewerComponent {
34
31
  isNumber(i) {
35
32
  return typeof i === 'number';
36
33
  }
34
+ isDate(value) {
35
+ return value instanceof Date;
36
+ }
37
+ isBoolean(value) {
38
+ return typeof value === 'boolean';
39
+ }
37
40
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: JsonViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
38
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: JsonViewerComponent, selector: "ax-json-viewer", inputs: { json: { classPropertyName: "json", publicName: "json", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"Recursion; context: { list: convertedData() }\"></ng-container>\n\n<ng-template #Recursion let-list=\"list\">\n @for (item of list; track $index) {\n @if (isArray(item.value)) {\n <details>\n <summary>{{ item.key }}</summary>\n <div class=\"ax-indent-details\">\n <ng-container *ngTemplateOutlet=\"Recursion; context: { list: item.value }\"></ng-container>\n </div>\n </details>\n } @else {\n <div class=\"ax-flex-container\">\n <p class=\"ax-nowrap\">{{ item.key }}<span>:</span></p>\n\n <p\n class=\"ax-nowrap ax-indent {{ isNumber(item.value) ? 'ax-number-color' : 'ax-string-color' }}\"\n [innerHTML]=\"item.value\"\n ></p>\n </div>\n }\n }\n</ng-template>\n", styles: ["ax-json-viewer{padding:1rem;overflow-x:scroll;display:block}ax-json-viewer .ax-number-color{color:rgb(var(--ax-color-neutral-800))}ax-json-viewer .ax-number-color input::-webkit-outer-spin-button,ax-json-viewer .ax-number-color input::-webkit-inner-spin-button{-webkit-appearance:none}ax-json-viewer .ax-string-color{color:#d9393e}ax-json-viewer .ax-indent{margin:0;padding:0;height:fit-content}ax-json-viewer .ax-indent-details{margin:0 2rem;height:fit-content}ax-json-viewer .ax-flex-container{display:flex;justify-content:flex-start;align-items:center;gap:.25rem}ax-json-viewer summary,ax-json-viewer p{color:rgb(var(--ax-color-neutral-500))}ax-json-viewer summary::marker,ax-json-viewer span{color:rgb(var(--ax-color-text-default))}ax-json-viewer details{margin-inline-start:-1rem}ax-json-viewer .ax-nowrap{white-space:nowrap}.ax-dark ax-json-viewer summary,.ax-dark ax-json-viewer p{color:#7cacf8}.ax-dark ax-json-viewer .ax-string-color{color:#5cd5fb}.ax-dark ax-json-viewer .ax-number-color{color:#9980ff}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: JsonViewerComponent, selector: "ax-json-viewer", inputs: { json: { classPropertyName: "json", publicName: "json", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"Recursion; context: { list: convertedData() }\"></ng-container>\n\n<ng-template #Recursion let-list=\"list\">\n @for (item of list; track $index) {\n @if (isArray(item.value)) {\n <details>\n <summary>\"{{ item.key }}\"</summary>\n <div class=\"ax-indent-details\">\n <ng-container *ngTemplateOutlet=\"Recursion; context: { list: item.value }\"></ng-container>\n </div>\n </details>\n } @else {\n <div class=\"ax-flex-container\">\n <p class=\"ax-nowrap ax-margin\">\"{{ item.key }}\"<span>:</span></p>\n\n <p\n class=\"ax-nowrap ax-indent {{\n isNumber(item.value) || isBoolean(item.value) ? 'ax-number-color' : 'ax-string-color'\n }}\"\n >\n @if (isNumber(item.value) || isBoolean(item.value)) {\n {{ item.value }}\n } @else {\n ''{{ item.value }}''\n }\n </p>\n </div>\n }\n }\n</ng-template>\n", styles: ["ax-json-viewer{padding:1rem;overflow-x:scroll;display:block}ax-json-viewer .ax-number-color{color:rgb(var(--ax-color-neutral-800))}ax-json-viewer .ax-number-color input::-webkit-outer-spin-button,ax-json-viewer .ax-number-color input::-webkit-inner-spin-button{-webkit-appearance:none}ax-json-viewer .ax-string-color{color:#d9393e}ax-json-viewer .ax-indent{margin:0;padding:0;height:fit-content}ax-json-viewer .ax-margin{margin-inline-end:.3rem}ax-json-viewer .ax-indent-details{margin:0 2rem;height:fit-content}ax-json-viewer .ax-flex-container{display:flex;justify-content:flex-start;align-items:center;gap:.25rem}ax-json-viewer summary,ax-json-viewer p{color:rgb(var(--ax-color-neutral-500))}ax-json-viewer summary::marker,ax-json-viewer span{color:rgb(var(--ax-color-text-default))}ax-json-viewer details{margin-inline-start:-1rem}ax-json-viewer .ax-nowrap{white-space:nowrap}.ax-dark ax-json-viewer summary,.ax-dark ax-json-viewer p{color:#7cacf8}.ax-dark ax-json-viewer .ax-string-color{color:#5cd5fb}.ax-dark ax-json-viewer .ax-number-color{color:#9980ff}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
39
42
  }
40
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: JsonViewerComponent, decorators: [{
41
44
  type: Component,
42
- args: [{ selector: 'ax-json-viewer', encapsulation: ViewEncapsulation.None, template: "<ng-container *ngTemplateOutlet=\"Recursion; context: { list: convertedData() }\"></ng-container>\n\n<ng-template #Recursion let-list=\"list\">\n @for (item of list; track $index) {\n @if (isArray(item.value)) {\n <details>\n <summary>{{ item.key }}</summary>\n <div class=\"ax-indent-details\">\n <ng-container *ngTemplateOutlet=\"Recursion; context: { list: item.value }\"></ng-container>\n </div>\n </details>\n } @else {\n <div class=\"ax-flex-container\">\n <p class=\"ax-nowrap\">{{ item.key }}<span>:</span></p>\n\n <p\n class=\"ax-nowrap ax-indent {{ isNumber(item.value) ? 'ax-number-color' : 'ax-string-color' }}\"\n [innerHTML]=\"item.value\"\n ></p>\n </div>\n }\n }\n</ng-template>\n", styles: ["ax-json-viewer{padding:1rem;overflow-x:scroll;display:block}ax-json-viewer .ax-number-color{color:rgb(var(--ax-color-neutral-800))}ax-json-viewer .ax-number-color input::-webkit-outer-spin-button,ax-json-viewer .ax-number-color input::-webkit-inner-spin-button{-webkit-appearance:none}ax-json-viewer .ax-string-color{color:#d9393e}ax-json-viewer .ax-indent{margin:0;padding:0;height:fit-content}ax-json-viewer .ax-indent-details{margin:0 2rem;height:fit-content}ax-json-viewer .ax-flex-container{display:flex;justify-content:flex-start;align-items:center;gap:.25rem}ax-json-viewer summary,ax-json-viewer p{color:rgb(var(--ax-color-neutral-500))}ax-json-viewer summary::marker,ax-json-viewer span{color:rgb(var(--ax-color-text-default))}ax-json-viewer details{margin-inline-start:-1rem}ax-json-viewer .ax-nowrap{white-space:nowrap}.ax-dark ax-json-viewer summary,.ax-dark ax-json-viewer p{color:#7cacf8}.ax-dark ax-json-viewer .ax-string-color{color:#5cd5fb}.ax-dark ax-json-viewer .ax-number-color{color:#9980ff}\n"] }]
45
+ args: [{ selector: 'ax-json-viewer', encapsulation: ViewEncapsulation.None, template: "<ng-container *ngTemplateOutlet=\"Recursion; context: { list: convertedData() }\"></ng-container>\n\n<ng-template #Recursion let-list=\"list\">\n @for (item of list; track $index) {\n @if (isArray(item.value)) {\n <details>\n <summary>\"{{ item.key }}\"</summary>\n <div class=\"ax-indent-details\">\n <ng-container *ngTemplateOutlet=\"Recursion; context: { list: item.value }\"></ng-container>\n </div>\n </details>\n } @else {\n <div class=\"ax-flex-container\">\n <p class=\"ax-nowrap ax-margin\">\"{{ item.key }}\"<span>:</span></p>\n\n <p\n class=\"ax-nowrap ax-indent {{\n isNumber(item.value) || isBoolean(item.value) ? 'ax-number-color' : 'ax-string-color'\n }}\"\n >\n @if (isNumber(item.value) || isBoolean(item.value)) {\n {{ item.value }}\n } @else {\n ''{{ item.value }}''\n }\n </p>\n </div>\n }\n }\n</ng-template>\n", styles: ["ax-json-viewer{padding:1rem;overflow-x:scroll;display:block}ax-json-viewer .ax-number-color{color:rgb(var(--ax-color-neutral-800))}ax-json-viewer .ax-number-color input::-webkit-outer-spin-button,ax-json-viewer .ax-number-color input::-webkit-inner-spin-button{-webkit-appearance:none}ax-json-viewer .ax-string-color{color:#d9393e}ax-json-viewer .ax-indent{margin:0;padding:0;height:fit-content}ax-json-viewer .ax-margin{margin-inline-end:.3rem}ax-json-viewer .ax-indent-details{margin:0 2rem;height:fit-content}ax-json-viewer .ax-flex-container{display:flex;justify-content:flex-start;align-items:center;gap:.25rem}ax-json-viewer summary,ax-json-viewer p{color:rgb(var(--ax-color-neutral-500))}ax-json-viewer summary::marker,ax-json-viewer span{color:rgb(var(--ax-color-text-default))}ax-json-viewer details{margin-inline-start:-1rem}ax-json-viewer .ax-nowrap{white-space:nowrap}.ax-dark ax-json-viewer summary,.ax-dark ax-json-viewer p{color:#7cacf8}.ax-dark ax-json-viewer .ax-string-color{color:#5cd5fb}.ax-dark ax-json-viewer .ax-number-color{color:#9980ff}\n"] }]
43
46
  }] });
44
47
 
45
48
  const COMPONENT = [JsonViewerComponent];
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-json-viewer.mjs","sources":["../../../../libs/components/json-viewer/src/lib/json-viewer/json-viewer.component.ts","../../../../libs/components/json-viewer/src/lib/json-viewer/json-viewer.component.html","../../../../libs/components/json-viewer/src/lib/json-viewer.module.ts","../../../../libs/components/json-viewer/src/acorex-components-json-viewer.ts"],"sourcesContent":["import { Component, effect, input, signal, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-json-viewer',\n templateUrl: './json-viewer.component.html',\n styleUrl: './json-viewer.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class JsonViewerComponent {\n json = input<any>();\n\n convertedData = signal(null);\n\n #effect = effect(\n () => {\n const deeplyNestedArray = this.convertNestedToArray(this.json());\n this.convertedData.set(deeplyNestedArray);\n },\n { allowSignalWrites: true },\n );\n\n protected isDate(value: any) {\n return value instanceof Date;\n }\n\n protected convertNestedToArray(obj) {\n return Object.keys(obj).map((key) => ({\n key: key,\n value: this.isDate(obj[key])\n ? obj[key]\n : typeof obj[key] === 'object'\n ? this.convertNestedToArray(obj[key])\n : obj[key],\n }));\n }\n\n protected isArray(arry: any) {\n return Array.isArray(arry);\n }\n\n protected isNumber(i: any) {\n return typeof i === 'number';\n }\n}\n","<ng-container *ngTemplateOutlet=\"Recursion; context: { list: convertedData() }\"></ng-container>\n\n<ng-template #Recursion let-list=\"list\">\n @for (item of list; track $index) {\n @if (isArray(item.value)) {\n <details>\n <summary>{{ item.key }}</summary>\n <div class=\"ax-indent-details\">\n <ng-container *ngTemplateOutlet=\"Recursion; context: { list: item.value }\"></ng-container>\n </div>\n </details>\n } @else {\n <div class=\"ax-flex-container\">\n <p class=\"ax-nowrap\">{{ item.key }}<span>:</span></p>\n\n <p\n class=\"ax-nowrap ax-indent {{ isNumber(item.value) ? 'ax-number-color' : 'ax-string-color' }}\"\n [innerHTML]=\"item.value\"\n ></p>\n </div>\n }\n }\n</ng-template>\n","import { AXTextBoxModule } from '@acorex/components/text-box';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { JsonViewerComponent } from './json-viewer/json-viewer.component';\n\nconst COMPONENT = [JsonViewerComponent];\n\nconst MODULES = [AXTextBoxModule, FormsModule, CommonModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXJsonViewerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-json-viewer.mjs","sources":["../../../../libs/components/json-viewer/src/lib/json-viewer/json-viewer.component.ts","../../../../libs/components/json-viewer/src/lib/json-viewer/json-viewer.component.html","../../../../libs/components/json-viewer/src/lib/json-viewer.module.ts","../../../../libs/components/json-viewer/src/acorex-components-json-viewer.ts"],"sourcesContent":["import { Component, effect, input, signal, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-json-viewer',\n templateUrl: './json-viewer.component.html',\n styleUrl: './json-viewer.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class JsonViewerComponent {\n json = input<any>();\n\n convertedData = signal(null);\n\n #effect = effect(\n () => {\n const deeplyNestedArray = this.convertNestedToArray(this.json());\n this.convertedData.set(deeplyNestedArray);\n },\n { allowSignalWrites: true },\n );\n\n protected convertNestedToArray(obj) {\n return Object.keys(obj).map((key) => ({\n key: key,\n value: this.isDate(obj[key])\n ? obj[key].toISOString()\n : typeof obj[key] === 'object'\n ? this.convertNestedToArray(obj[key])\n : obj[key],\n }));\n }\n\n protected isArray(arry: any) {\n return Array.isArray(arry);\n }\n\n protected isNumber(i: any) {\n return typeof i === 'number';\n }\n\n protected isDate(value: any) {\n return value instanceof Date;\n }\n\n protected isBoolean(value: any) {\n return typeof value === 'boolean';\n }\n}\n","<ng-container *ngTemplateOutlet=\"Recursion; context: { list: convertedData() }\"></ng-container>\n\n<ng-template #Recursion let-list=\"list\">\n @for (item of list; track $index) {\n @if (isArray(item.value)) {\n <details>\n <summary>\"{{ item.key }}\"</summary>\n <div class=\"ax-indent-details\">\n <ng-container *ngTemplateOutlet=\"Recursion; context: { list: item.value }\"></ng-container>\n </div>\n </details>\n } @else {\n <div class=\"ax-flex-container\">\n <p class=\"ax-nowrap ax-margin\">\"{{ item.key }}\"<span>:</span></p>\n\n <p\n class=\"ax-nowrap ax-indent {{\n isNumber(item.value) || isBoolean(item.value) ? 'ax-number-color' : 'ax-string-color'\n }}\"\n >\n @if (isNumber(item.value) || isBoolean(item.value)) {\n {{ item.value }}\n } @else {\n ''{{ item.value }}''\n }\n </p>\n </div>\n }\n }\n</ng-template>\n","import { AXTextBoxModule } from '@acorex/components/text-box';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { JsonViewerComponent } from './json-viewer/json-viewer.component';\n\nconst COMPONENT = [JsonViewerComponent];\n\nconst MODULES = [AXTextBoxModule, FormsModule, CommonModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXJsonViewerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -46,6 +46,8 @@ class AXWysiwygContainerComponent extends classes((MXInputBaseValueComponent), M
46
46
  this.service = inject(AXWysiwygService);
47
47
  /** @ignore */
48
48
  this.zone = inject(NgZone);
49
+ this.quillChangeTriggred = signal(false);
50
+ this.ngModleChangeTriggred = signal(false);
49
51
  /**
50
52
  * Specifies the placeholder text.
51
53
  *
@@ -91,6 +93,9 @@ class AXWysiwygContainerComponent extends classes((MXInputBaseValueComponent), M
91
93
  #effect3;
92
94
  /** @ignore */
93
95
  changeHandler() {
96
+ if (this.ngModleChangeTriggred())
97
+ return;
98
+ this.quillChangeTriggred.set(true);
94
99
  const value = this.service.wysiwyg()?.quillObj().root.innerHTML;
95
100
  if (value === '<p><br></p>' || !value) {
96
101
  this.commitValue(null);
@@ -108,14 +113,19 @@ class AXWysiwygContainerComponent extends classes((MXInputBaseValueComponent), M
108
113
  return;
109
114
  this.service.isEditorClean.set(false);
110
115
  }
116
+ this.quillChangeTriggred.set(false);
111
117
  }
112
118
  /** @ignore */
113
119
  ngOnDestroy() {
114
120
  this.service.wysiwyg()?.quillObj().off('text-change', this.changeHandler);
115
121
  clearTimeout(this.setTimeOut);
116
122
  }
117
- setContent(e) {
118
- this.service.wysiwyg().setContent(e);
123
+ internalValueChanged(value) {
124
+ if (this.quillChangeTriggred())
125
+ return;
126
+ this.ngModleChangeTriggred.set(true);
127
+ this.service.wysiwyg()?.setContent(value);
128
+ this.ngModleChangeTriggred.set(false);
119
129
  }
120
130
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXWysiwygContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
121
131
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.0", type: AXWysiwygContainerComponent, selector: "ax-wysiwyg-container", inputs: { look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, placeHolder: { classPropertyName: "placeHolder", publicName: "placeHolder", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onValueChanged: "onValueChanged" }, providers: [
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-wysiwyg.mjs","sources":["../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg.service.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg.module.ts","../../../../libs/components/wysiwyg/src/acorex-components-wysiwyg.ts"],"sourcesContent":["import { AXWysiwyg } from '@acorex/cdk/wysiwyg';\nimport { Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class AXWysiwygService {\n wysiwyg = signal<AXWysiwyg | null>(null);\n isEditorClean = signal(true);\n currentSelectedElemArray = signal<string[]>([]);\n currentSelectedElemList = signal<string>('');\n currentSelectedElemAlign = signal<string>('');\n}\n","import { AXWysiwyg } from '@acorex/cdk/wysiwyg';\r\nimport {\r\n AXClearableComponent,\r\n AXComponent,\r\n AXFocusableComponent,\r\n AXValuableComponent,\r\n MXInputBaseValueComponent,\r\n MXLookComponent,\r\n} from '@acorex/components/common';\r\nimport { isBrowser } from '@acorex/core/platform';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n NgZone,\r\n OnDestroy,\r\n ViewEncapsulation,\r\n afterNextRender,\r\n effect,\r\n forwardRef,\r\n inject,\r\n input,\r\n} from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { classes } from 'polytype';\r\nimport { QuillDeltaToHtmlConverter } from 'quill-delta-to-html';\r\nimport { AXWysiwygService } from '../wysiwyg.service';\r\n\r\n/**\r\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\r\n * @category Components\r\n */\r\n@Component({\r\n selector: 'ax-wysiwyg-container',\r\n templateUrl: './wysiwyg-container.component.html',\r\n styleUrl: './wysiwyg-container.component.scss',\r\n inputs: ['look'],\r\n outputs: ['onValueChanged'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n AXWysiwygService,\r\n { provide: AXComponent, useExisting: AXWysiwygContainerComponent },\r\n { provide: AXFocusableComponent, useExisting: AXWysiwygContainerComponent },\r\n { provide: AXClearableComponent, useExisting: AXWysiwygContainerComponent },\r\n { provide: AXValuableComponent, useExisting: AXWysiwygContainerComponent },\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => AXWysiwygContainerComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class AXWysiwygContainerComponent\r\n extends classes(MXInputBaseValueComponent<string>, MXLookComponent)\r\n implements OnDestroy\r\n{\r\n /** @ignore */\r\n protected service = inject(AXWysiwygService);\r\n\r\n /** @ignore */\r\n protected setTimeOut;\r\n\r\n /** @ignore */\r\n private zone = inject(NgZone);\r\n\r\n /**\r\n * Specifies the placeholder text.\r\n *\r\n */\r\n placeHolder = input<string>();\r\n\r\n #init = afterNextRender(() => {\r\n const view = this.getHostElement().querySelector('ax-wysiwyg-view') as HTMLElement;\r\n\r\n this.zone.runOutsideAngular(async () => {\r\n if (isBrowser()) {\r\n const newWysiwyg = new AXWysiwyg();\r\n\r\n await newWysiwyg.init(view, {\r\n readOnly: true,\r\n });\r\n\r\n this.service.wysiwyg.set(newWysiwyg);\r\n }\r\n });\r\n });\r\n\r\n #effect1 = effect(() => {\r\n if (this.placeHolder() && this.service.wysiwyg()?.quillObj()) {\r\n this.service.wysiwyg().quillObj().root.setAttribute('data-placeholder', this.placeHolder());\r\n } else if (this.service.wysiwyg()?.quillObj()) {\r\n this.service.wysiwyg().quillObj().root.setAttribute('data-placeholder', 'Write Your Message ...');\r\n }\r\n });\r\n\r\n #effect2 = effect(() => {\r\n if (this.value && this.service.wysiwyg()?.quillObj()) {\r\n this.service.wysiwyg().quillObj().root.innerHTML = this.value;\r\n }\r\n });\r\n\r\n #effect3 = effect(() => {\r\n if (this.service.wysiwyg()?.quillObj()) {\r\n this.service.wysiwyg().quillObj().on('text-change', this.changeHandler.bind(this));\r\n\r\n this.setTimeOut = setTimeout(() => {\r\n this.service.wysiwyg()?.quillObj().enable();\r\n }, 1000);\r\n }\r\n });\r\n\r\n /** @ignore */\r\n protected changeHandler() {\r\n const value = this.service.wysiwyg()?.quillObj().root.innerHTML;\r\n if (value === '<p><br></p>' || !value) {\r\n this.commitValue(null);\r\n if (this.service.isEditorClean()) return;\r\n this.service.isEditorClean.set(true);\r\n } else {\r\n const delta = this.service.wysiwyg()?.quillObj().editor.delta.ops;\r\n const cfg = { inlineStyles: true };\r\n const converter = new QuillDeltaToHtmlConverter(delta, cfg);\r\n const html = converter.convert();\r\n this.commitValue(html);\r\n if (!this.service.isEditorClean()) return;\r\n this.service.isEditorClean.set(false);\r\n }\r\n }\r\n\r\n /** @ignore */\r\n override ngOnDestroy(): void {\r\n this.service.wysiwyg()?.quillObj().off('text-change', this.changeHandler);\r\n clearTimeout(this.setTimeOut);\r\n }\r\n\r\n setContent(e: string) {\r\n this.service.wysiwyg().setContent(e);\r\n }\r\n}\r\n","<div class=\"ax-editor-container ax-look-{{ look }}\">\n <ng-content></ng-content>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\n</div>\n<div class=\"ax-error-container\"></div>\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n/**\n * A toolbar component for the WYSIWYG editor, providing various formatting options.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-toolbar',\n templateUrl: './wysiwyg-toolbar.component.html',\n styleUrl: './wysiwyg-toolbar.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXWysiwygToolbarComponent {\n @HostBinding('class')\n get __hostClass(): string {\n return `ax-sm`;\n }\n}\n","<ng-content select=\"ax-prefix\"></ng-content>\r\n<div class=\"ax-wysiwyg-tools\"><ng-content></ng-content></div>\r\n<ng-content select=\"ax-suffix\"></ng-content>\r\n","import { AXPlacement } from '@acorex/components/common';\nimport { AXPopoverCloseTrigger, AXPopoverOpenTrigger } from '@acorex/components/popover';\nimport { Component, effect, inject, signal } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-alignment',\n templateUrl: './wysiwyg-alignment.component.html',\n styleUrl: './wysiwyg-alignment.component.scss',\n})\nexport class AXWysiwygAlignmentComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n protected alignState = signal('');\n\n /** @ignore */\n protected popoverOption: {\n openOn: AXPopoverOpenTrigger;\n closeOn: AXPopoverCloseTrigger;\n placement: AXPlacement;\n offsetX: number;\n offsetY: number;\n } = {\n openOn: 'click',\n closeOn: 'clickOut',\n placement: 'top',\n offsetX: 0,\n offsetY: 0,\n };\n\n /** @ignore */\n constructor() {\n effect(\n () => {\n if (!this.service.wysiwyg()) return;\n switch (this.service.currentSelectedElemAlign()) {\n case 'ql-align-center':\n this.alignState.set('center');\n this.service.wysiwyg().align('center');\n break;\n case 'ql-align-right':\n this.alignState.set('right');\n this.service.wysiwyg().align('right');\n break;\n default:\n this.alignState.set('left');\n this.service.wysiwyg().align('left');\n }\n },\n { allowSignalWrites: true },\n );\n }\n\n /** @ignore */\n protected alignStateHandler(e: any) {\n this.alignState.set(e);\n this.service.wysiwyg().align(e);\n }\n}\n","<ax-button look=\"blank\" #alignPop>\n <ax-icon class=\"ax-icon ax-icon-align-left\"></ax-icon>\n</ax-button>\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"alignPop\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane ax-alignment-cotainer ax-sm\">\n <ax-button\n (click)=\"alignStateHandler('left')\"\n look=\"blank\"\n [selected]=\"alignState() === 'left' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-align-left\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"alignStateHandler('center')\"\n look=\"blank\"\n [selected]=\"alignState() === 'center' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-align-center\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"alignStateHandler('right')\"\n look=\"blank\"\n [selected]=\"alignState() === 'right' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-align-right\"></ax-icon>\n </ax-button>\n </div>\n</ax-popover>\n","import { AXPlacement } from '@acorex/components/common';\nimport { AXPopoverCloseTrigger, AXPopoverOpenTrigger } from '@acorex/components/popover';\nimport { Component, ViewEncapsulation, effect, inject, signal } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-colors',\n templateUrl: './wysiwyg-colors.component.html',\n styleUrl: './wysiwyg-colors.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXWysiwygColorsComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n protected selectedColor = signal('rgb(151, 148, 148)');\n\n /** @ignore */\n protected selectedHighlightColor = signal('rgba(223, 223, 24, 0.5)');\n\n /** @ignore */\n protected userInteractColor = signal(false);\n\n /** @ignore */\n protected userInteractHighligh = signal(false);\n\n /** @ignore */\n protected popoverOption: {\n openOn: AXPopoverOpenTrigger;\n closeOn: AXPopoverCloseTrigger;\n placement: AXPlacement;\n offsetX: number;\n offsetY: number;\n } = {\n openOn: 'click',\n closeOn: 'clickOut',\n placement: 'top',\n offsetX: 0,\n offsetY: 0,\n };\n\n /** @ignore */\n constructor() {\n effect(\n () => {\n if (this.service.isEditorClean()) {\n this.selectedHighlightColor.set('rgba(223, 223, 24, 0.5)');\n this.selectedColor.set('rgb(151, 148, 148)');\n }\n },\n { allowSignalWrites: true },\n );\n }\n\n /** @ignore */\n protected changeColorHandler(e: string) {\n if (!this.userInteractColor()) return;\n this.selectedColor.set(e);\n this.service.wysiwyg().color(e);\n }\n\n /** @ignore */\n protected changeHighlightColorHandler(e: string) {\n if (!this.userInteractHighligh()) return;\n this.selectedHighlightColor.set(e);\n this.service.wysiwyg().background(e);\n }\n\n /** @ignore */\n protected initialHighlightHandler() {\n if (this.userInteractHighligh()) return;\n this.userInteractHighligh.set(true);\n this.service.wysiwyg().background('rgba(223, 223, 24, 0.5)');\n }\n\n /** @ignore */\n protected initialColorHandler() {\n if (this.userInteractColor()) return;\n this.userInteractColor.set(true);\n this.service.wysiwyg().color('rgb(151, 148, 148)');\n }\n}\n","<div class=\"ax-color-picker-wysiwyg-container\">\n <div (click)=\"initialColorHandler()\" class=\"ax-color-flex-wysiwyg-container\">\n <div [style]=\"{ backgroundColor: selectedColor() }\" class=\"ax-submit-color\"></div>\n <ax-button #colorBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-color-palette\"></ax-icon>\n </ax-button>\n </div>\n\n <div (click)=\"initialHighlightHandler()\" class=\"ax-color-flex-wysiwyg-container\">\n <div [style]=\"{ backgroundColor: selectedHighlightColor() }\" class=\"ax-submit-color\"></div>\n <ax-button #highlightBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n </ax-button>\n </div>\n</div>\n\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"colorBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-color-palette (ngModelChange)=\"changeColorHandler($event)\" [ngModel]=\"selectedColor()\">\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-input></ax-color-palette-input>\n </ax-color-palette>\n </div>\n</ax-popover>\n\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"highlightBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-color-palette\n (ngModelChange)=\"changeHighlightColorHandler($event)\"\n [ngModel]=\"selectedHighlightColor()\"\n >\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-input></ax-color-palette-input>\n </ax-color-palette>\n </div>\n</ax-popover>\n","import { Component, effect, inject, signal } from '@angular/core';\r\nimport { AXWysiwygContainerComponent } from '../../wysiwyg-container/wysiwyg-container.component';\r\nimport { AXWysiwygService } from '../../wysiwyg.service';\r\n\r\n/**\r\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\r\n * @category Components\r\n */\r\n@Component({\r\n selector: 'ax-wysiwyg-font-style',\r\n templateUrl: './wysiwyg-font-style.component.html',\r\n styleUrl: './wysiwyg-font-style.component.scss',\r\n})\r\nexport class AXWysiwygFontStyleComponent {\r\n /** @ignore */\r\n parent = inject(AXWysiwygContainerComponent);\r\n\r\n /** @ignore */\r\n protected boldState = signal(false);\r\n\r\n /** @ignore */\r\n protected italicState = signal(false);\r\n\r\n /** @ignore */\r\n protected underLineState = signal(false);\r\n\r\n /** @ignore */\r\n protected strikeLineState = signal(false);\r\n\r\n /** @ignore */\r\n protected selectedFont = signal('medium');\r\n\r\n /** @ignore */\r\n service = inject(AXWysiwygService);\r\n\r\n /** @ignore */\r\n constructor() {\r\n effect(\r\n () => {\r\n if (!this.service.wysiwyg()) return;\r\n this.service.currentSelectedElemArray().forEach((item) => {\r\n switch (item) {\r\n case 'U':\r\n this.service.wysiwyg().underLine(true);\r\n this.underLineState.set(true);\r\n break;\r\n case 'S':\r\n this.service.wysiwyg().strike(true);\r\n this.strikeLineState.set(true);\r\n break;\r\n case 'EM':\r\n this.service.wysiwyg().italic(true);\r\n this.italicState.set(true);\r\n break;\r\n case 'STRONG':\r\n this.service.wysiwyg().bold(true);\r\n this.boldState.set(true);\r\n break;\r\n\r\n default:\r\n if (this.boldState()) this.service.wysiwyg().bold(true);\r\n if (this.italicState()) this.service.wysiwyg().italic(true);\r\n if (this.strikeLineState()) this.service.wysiwyg().strike(true);\r\n if (this.underLineState()) this.service.wysiwyg().underLine(true);\r\n }\r\n });\r\n },\r\n { allowSignalWrites: true },\r\n );\r\n }\r\n\r\n /** @ignore */\r\n protected bold() {\r\n if (this.boldState()) {\r\n this.service.wysiwyg().bold(false);\r\n this.boldState.set(false);\r\n } else {\r\n this.service.wysiwyg().bold(true);\r\n this.boldState.set(true);\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected italic() {\r\n if (this.italicState()) {\r\n this.service.wysiwyg().italic(false);\r\n this.italicState.set(false);\r\n } else {\r\n this.service.wysiwyg().italic(true);\r\n this.italicState.set(true);\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected underLine() {\r\n if (this.underLineState()) {\r\n this.service.wysiwyg().underLine(false);\r\n this.underLineState.set(false);\r\n } else {\r\n this.service.wysiwyg().underLine(true);\r\n this.underLineState.set(true);\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected strike() {\r\n if (this.strikeLineState()) {\r\n this.service.wysiwyg().strike(false);\r\n this.strikeLineState.set(false);\r\n } else {\r\n this.service.wysiwyg().strike(true);\r\n this.strikeLineState.set(true);\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected fontSizeHandler(e: 'medium' | 'small' | 'large' | 'huge') {\r\n const range = this.service.wysiwyg()?.quillObj().getSelection();\r\n if (!range?.length) return;\r\n\r\n if (e === 'medium') {\r\n this.service.wysiwyg().fontSize(false, range);\r\n this.selectedFont.set('medium');\r\n } else {\r\n this.service.wysiwyg().fontSize(e, range);\r\n this.selectedFont.set(e);\r\n }\r\n }\r\n}\r\n","<div class=\"ax-wysiwyg-font-style-container\">\n <ax-button (click)=\"bold()\" look=\"blank\" [selected]=\"boldState() ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-bold\"></ax-icon>\n </ax-button>\n\n <ax-button (click)=\"italic()\" look=\"blank\" [selected]=\"italicState() ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-italic\"></ax-icon>\n </ax-button>\n\n <ax-button (click)=\"underLine()\" look=\"blank\" [selected]=\"underLineState() ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-under-line\"></ax-icon>\n </ax-button>\n\n <ax-button (click)=\"strike()\" look=\"blank\" [selected]=\"strikeLineState() ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-strike\"></ax-icon>\n </ax-button>\n\n <ax-select-box\n [look]=\"this.parent.look\"\n (ngModelChange)=\"fontSizeHandler($event)\"\n [ngModel]=\"selectedFont()\"\n [dataSource]=\"['small', 'medium', 'large', 'huge']\"\n placeholder=\"Choose...\"\n >\n </ax-select-box>\n</div>\n","import { Component, inject, ViewEncapsulation } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-history',\n templateUrl: './wysiwyg-history.component.html',\n styleUrl: './wysiwyg-history.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXWysiwygHistoryComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n protected undo() {\n this.service.wysiwyg().undo();\n }\n\n /** @ignore */\n protected redo() {\n this.service.wysiwyg().redo();\n }\n}\n","<ax-button class=\"\" (click)=\"undo()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-undo\"></ax-icon>\n</ax-button>\n\n<ax-button class=\"\" (click)=\"redo()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-redo\"></ax-icon>\n</ax-button>\n","import { AXPlacement } from '@acorex/components/common';\nimport { AXPopoverCloseTrigger, AXPopoverOpenTrigger } from '@acorex/components/popover';\nimport { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-insert',\n templateUrl: './wysiwyg-insert.component.html',\n styleUrl: './wysiwyg-insert.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXWysiwygInsertComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n textBoxOptions = {\n text: '',\n placeholder: 'Enter yor url ...',\n size: 'ax-sm',\n };\n\n /** @ignore */\n protected popoverOption: {\n openOn: AXPopoverOpenTrigger;\n closeOn: AXPopoverCloseTrigger;\n placement: AXPlacement;\n offsetX: number;\n offsetY: number;\n } = {\n openOn: 'click',\n closeOn: 'clickOut',\n placement: 'top',\n offsetX: 0,\n offsetY: 0,\n };\n\n /** @ignore */\n protected submitLink() {\n this.service.wysiwyg().addImage(this.textBoxOptions.text);\n }\n}\n","<ax-button #linkBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-image\"></ax-icon>\n</ax-button>\n\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"linkBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane ax-insert-container\">\n <ax-text-box\n class=\"{{ textBoxOptions.size }}\"\n [(ngModel)]=\"textBoxOptions.text\"\n [placeholder]=\"textBoxOptions.placeholder\"\n >\n <ax-suffix>\n <ax-button (click)=\"submitLink()\" class=\"ax-sm\" color=\"secondary\" text=\"Add\"> </ax-button>\n </ax-suffix>\n </ax-text-box>\n </div>\n</ax-popover>\n","import { Component, effect, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-list',\n templateUrl: './wysiwyg-list.component.html',\n styleUrl: './wysiwyg-list.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXWysiwygListComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n protected listState = signal('');\n\n /** @ignore */\n constructor() {\n effect(\n () => {\n if (!this.service.wysiwyg()) return;\n switch (this.service.currentSelectedElemList()) {\n case 'ordered':\n this.service.wysiwyg().list('ordered');\n this.listState.set('ordered');\n break;\n case 'bullet':\n this.service.wysiwyg().list('bullet');\n this.listState.set('bullet');\n break;\n default:\n this.service.wysiwyg().list('');\n this.listState.set('');\n }\n },\n { allowSignalWrites: true },\n );\n }\n\n /** @ignore */\n protected orderList() {\n if (!this.listState() || this.listState() === 'bullet') {\n this.service.wysiwyg().list('ordered');\n this.listState.set('ordered');\n } else {\n this.service.wysiwyg().list('');\n this.listState.set('');\n }\n }\n\n /** @ignore */\n protected unOrderList() {\n if (!this.listState() || this.listState() === 'ordered') {\n this.service.wysiwyg().list('bullet');\n this.listState.set('bullet');\n } else {\n this.service.wysiwyg().list('');\n this.listState.set('');\n }\n }\n}\n","<ax-button (click)=\"orderList()\" look=\"blank\" [selected]=\"listState() === 'ordered' ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-order-list\"></ax-icon>\n</ax-button>\n\n<ax-button (click)=\"unOrderList()\" look=\"blank\" [selected]=\"listState() === 'bullet' ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-un-order-list\"></ax-icon>\n</ax-button>\n","import { Component, HostBinding, HostListener, inject, input, ViewEncapsulation } from '@angular/core';\nimport { AXWysiwygService } from '../wysiwyg.service';\n\n/**\n * @category Components\n * A component for viewing WYSIWYG content.\n */\n@Component({\n selector: 'ax-wysiwyg-view',\n templateUrl: './wysiwyg-view.component.html',\n styleUrl: './wysiwyg-view.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXWysiwygViewComponent {\n classes = input<string>('', { alias: 'class' });\n\n /** @ignore */\n protected wysiwygService = inject(AXWysiwygService);\n\n @HostBinding('class')\n get __hostClass(): string {\n return `${this.classes()}`;\n }\n\n @HostListener('keydown.Backspace', ['$event'])\n protected onKeydownHandler(e: any) {\n if (e.target.firstChild.nodeName === 'P') {\n this.wysiwygService.currentSelectedElemList.set('');\n }\n }\n\n @HostListener('click', ['$event'])\n protected editorStateHandler(e: any) {\n this.wysiwygService.currentSelectedElemAlign.set(e.target.classList.value);\n this.wysiwygService.currentSelectedElemList.set(e.target.dataset.list);\n this.wysiwygService.currentSelectedElemArray.set([\n e.target.nodeName,\n e.target.parentElement.nodeName,\n e.target.parentElement.parentElement.nodeName,\n e.target.parentElement.parentElement.parentElement.nodeName,\n e.target.classList.value,\n ]);\n }\n}\n","\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXWysiwygContainerComponent } from './wysiwyg/wysiwyg-container/wysiwyg-container.component';\n\nimport { AXColorPaletteModule } from '@acorex/components/color-palette';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXWysiwygToolbarComponent } from './wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component';\nimport { AXWysiwygAlignmentComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component';\nimport { AXWysiwygColorsComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component';\nimport { AXWysiwygFontStyleComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component';\nimport { AXWysiwygHistoryComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component';\nimport { AXWysiwygInsertComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component';\nimport { AXWysiwygListComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component';\nimport { AXWysiwygViewComponent } from './wysiwyg/wysiwyg-view/wysiwyg-view.component';\n\nconst COMPONENT = [\n AXWysiwygContainerComponent,\n AXWysiwygViewComponent,\n AXWysiwygToolbarComponent,\n AXWysiwygAlignmentComponent,\n AXWysiwygColorsComponent,\n AXWysiwygFontStyleComponent,\n AXWysiwygHistoryComponent,\n AXWysiwygInsertComponent,\n AXWysiwygListComponent,\n];\n\nconst MODULES = [\n AXButtonModule,\n AXDecoratorModule,\n AXSelectBoxModule,\n FormsModule,\n AXColorPaletteModule,\n AXPopoverModule,\n AXTextBoxModule,\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXWysiwygModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i5","i4"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-wysiwyg.mjs","sources":["../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg.service.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.ts","../../../../libs/components/wysiwyg/src/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.html","../../../../libs/components/wysiwyg/src/lib/wysiwyg.module.ts","../../../../libs/components/wysiwyg/src/acorex-components-wysiwyg.ts"],"sourcesContent":["import { AXWysiwyg } from '@acorex/cdk/wysiwyg';\nimport { Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class AXWysiwygService {\n wysiwyg = signal<AXWysiwyg | null>(null);\n isEditorClean = signal(true);\n currentSelectedElemArray = signal<string[]>([]);\n currentSelectedElemList = signal<string>('');\n currentSelectedElemAlign = signal<string>('');\n}\n","import { AXWysiwyg } from '@acorex/cdk/wysiwyg';\r\nimport {\r\n AXClearableComponent,\r\n AXComponent,\r\n AXFocusableComponent,\r\n AXValuableComponent,\r\n MXInputBaseValueComponent,\r\n MXLookComponent,\r\n} from '@acorex/components/common';\r\nimport { isBrowser } from '@acorex/core/platform';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n NgZone,\r\n OnDestroy,\r\n ViewEncapsulation,\r\n afterNextRender,\r\n effect,\r\n forwardRef,\r\n inject,\r\n input,\r\n signal,\r\n} from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { classes } from 'polytype';\r\nimport { QuillDeltaToHtmlConverter } from 'quill-delta-to-html';\r\nimport { AXWysiwygService } from '../wysiwyg.service';\r\n\r\n/**\r\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\r\n * @category Components\r\n */\r\n@Component({\r\n selector: 'ax-wysiwyg-container',\r\n templateUrl: './wysiwyg-container.component.html',\r\n styleUrl: './wysiwyg-container.component.scss',\r\n inputs: ['look'],\r\n outputs: ['onValueChanged'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n AXWysiwygService,\r\n { provide: AXComponent, useExisting: AXWysiwygContainerComponent },\r\n { provide: AXFocusableComponent, useExisting: AXWysiwygContainerComponent },\r\n { provide: AXClearableComponent, useExisting: AXWysiwygContainerComponent },\r\n { provide: AXValuableComponent, useExisting: AXWysiwygContainerComponent },\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => AXWysiwygContainerComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class AXWysiwygContainerComponent\r\n extends classes(MXInputBaseValueComponent<string>, MXLookComponent)\r\n implements OnDestroy\r\n{\r\n /** @ignore */\r\n protected service = inject(AXWysiwygService);\r\n\r\n /** @ignore */\r\n protected setTimeOut;\r\n\r\n /** @ignore */\r\n private zone = inject(NgZone);\r\n\r\n protected quillChangeTriggred = signal(false);\r\n protected ngModleChangeTriggred = signal(false);\r\n\r\n /**\r\n * Specifies the placeholder text.\r\n *\r\n */\r\n placeHolder = input<string>();\r\n\r\n #init = afterNextRender(() => {\r\n const view = this.getHostElement().querySelector('ax-wysiwyg-view') as HTMLElement;\r\n\r\n this.zone.runOutsideAngular(async () => {\r\n if (isBrowser()) {\r\n const newWysiwyg = new AXWysiwyg();\r\n\r\n await newWysiwyg.init(view, {\r\n readOnly: true,\r\n });\r\n\r\n this.service.wysiwyg.set(newWysiwyg);\r\n }\r\n });\r\n });\r\n\r\n #effect1 = effect(() => {\r\n if (this.placeHolder() && this.service.wysiwyg()?.quillObj()) {\r\n this.service.wysiwyg().quillObj().root.setAttribute('data-placeholder', this.placeHolder());\r\n } else if (this.service.wysiwyg()?.quillObj()) {\r\n this.service.wysiwyg().quillObj().root.setAttribute('data-placeholder', 'Write Your Message ...');\r\n }\r\n });\r\n\r\n #effect2 = effect(() => {\r\n if (this.value && this.service.wysiwyg()?.quillObj()) {\r\n this.service.wysiwyg().quillObj().root.innerHTML = this.value;\r\n }\r\n });\r\n\r\n #effect3 = effect(() => {\r\n if (this.service.wysiwyg()?.quillObj()) {\r\n this.service.wysiwyg().quillObj().on('text-change', this.changeHandler.bind(this));\r\n\r\n this.setTimeOut = setTimeout(() => {\r\n this.service.wysiwyg()?.quillObj().enable();\r\n }, 1000);\r\n }\r\n });\r\n\r\n /** @ignore */\r\n protected changeHandler() {\r\n if (this.ngModleChangeTriggred()) return;\r\n this.quillChangeTriggred.set(true);\r\n const value = this.service.wysiwyg()?.quillObj().root.innerHTML;\r\n if (value === '<p><br></p>' || !value) {\r\n this.commitValue(null);\r\n if (this.service.isEditorClean()) return;\r\n this.service.isEditorClean.set(true);\r\n } else {\r\n const delta = this.service.wysiwyg()?.quillObj().editor.delta.ops;\r\n const cfg = { inlineStyles: true };\r\n const converter = new QuillDeltaToHtmlConverter(delta, cfg);\r\n const html = converter.convert();\r\n this.commitValue(html);\r\n if (!this.service.isEditorClean()) return;\r\n this.service.isEditorClean.set(false);\r\n }\r\n this.quillChangeTriggred.set(false);\r\n }\r\n\r\n /** @ignore */\r\n override ngOnDestroy(): void {\r\n this.service.wysiwyg()?.quillObj().off('text-change', this.changeHandler);\r\n clearTimeout(this.setTimeOut);\r\n }\r\n\r\n protected override internalValueChanged(value: any): void {\r\n if (this.quillChangeTriggred()) return;\r\n this.ngModleChangeTriggred.set(true);\r\n this.service.wysiwyg()?.setContent(value);\r\n this.ngModleChangeTriggred.set(false);\r\n }\r\n}\r\n","<div class=\"ax-editor-container ax-look-{{ look }}\">\n <ng-content></ng-content>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\n</div>\n<div class=\"ax-error-container\"></div>\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n/**\n * A toolbar component for the WYSIWYG editor, providing various formatting options.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-toolbar',\n templateUrl: './wysiwyg-toolbar.component.html',\n styleUrl: './wysiwyg-toolbar.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXWysiwygToolbarComponent {\n @HostBinding('class')\n get __hostClass(): string {\n return `ax-sm`;\n }\n}\n","<ng-content select=\"ax-prefix\"></ng-content>\r\n<div class=\"ax-wysiwyg-tools\"><ng-content></ng-content></div>\r\n<ng-content select=\"ax-suffix\"></ng-content>\r\n","import { AXPlacement } from '@acorex/components/common';\nimport { AXPopoverCloseTrigger, AXPopoverOpenTrigger } from '@acorex/components/popover';\nimport { Component, effect, inject, signal } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-alignment',\n templateUrl: './wysiwyg-alignment.component.html',\n styleUrl: './wysiwyg-alignment.component.scss',\n})\nexport class AXWysiwygAlignmentComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n protected alignState = signal('');\n\n /** @ignore */\n protected popoverOption: {\n openOn: AXPopoverOpenTrigger;\n closeOn: AXPopoverCloseTrigger;\n placement: AXPlacement;\n offsetX: number;\n offsetY: number;\n } = {\n openOn: 'click',\n closeOn: 'clickOut',\n placement: 'top',\n offsetX: 0,\n offsetY: 0,\n };\n\n /** @ignore */\n constructor() {\n effect(\n () => {\n if (!this.service.wysiwyg()) return;\n switch (this.service.currentSelectedElemAlign()) {\n case 'ql-align-center':\n this.alignState.set('center');\n this.service.wysiwyg().align('center');\n break;\n case 'ql-align-right':\n this.alignState.set('right');\n this.service.wysiwyg().align('right');\n break;\n default:\n this.alignState.set('left');\n this.service.wysiwyg().align('left');\n }\n },\n { allowSignalWrites: true },\n );\n }\n\n /** @ignore */\n protected alignStateHandler(e: any) {\n this.alignState.set(e);\n this.service.wysiwyg().align(e);\n }\n}\n","<ax-button look=\"blank\" #alignPop>\n <ax-icon class=\"ax-icon ax-icon-align-left\"></ax-icon>\n</ax-button>\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"alignPop\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane ax-alignment-cotainer ax-sm\">\n <ax-button\n (click)=\"alignStateHandler('left')\"\n look=\"blank\"\n [selected]=\"alignState() === 'left' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-align-left\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"alignStateHandler('center')\"\n look=\"blank\"\n [selected]=\"alignState() === 'center' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-align-center\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"alignStateHandler('right')\"\n look=\"blank\"\n [selected]=\"alignState() === 'right' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-align-right\"></ax-icon>\n </ax-button>\n </div>\n</ax-popover>\n","import { AXPlacement } from '@acorex/components/common';\nimport { AXPopoverCloseTrigger, AXPopoverOpenTrigger } from '@acorex/components/popover';\nimport { Component, ViewEncapsulation, effect, inject, signal } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-colors',\n templateUrl: './wysiwyg-colors.component.html',\n styleUrl: './wysiwyg-colors.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXWysiwygColorsComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n protected selectedColor = signal('rgb(151, 148, 148)');\n\n /** @ignore */\n protected selectedHighlightColor = signal('rgba(223, 223, 24, 0.5)');\n\n /** @ignore */\n protected userInteractColor = signal(false);\n\n /** @ignore */\n protected userInteractHighligh = signal(false);\n\n /** @ignore */\n protected popoverOption: {\n openOn: AXPopoverOpenTrigger;\n closeOn: AXPopoverCloseTrigger;\n placement: AXPlacement;\n offsetX: number;\n offsetY: number;\n } = {\n openOn: 'click',\n closeOn: 'clickOut',\n placement: 'top',\n offsetX: 0,\n offsetY: 0,\n };\n\n /** @ignore */\n constructor() {\n effect(\n () => {\n if (this.service.isEditorClean()) {\n this.selectedHighlightColor.set('rgba(223, 223, 24, 0.5)');\n this.selectedColor.set('rgb(151, 148, 148)');\n }\n },\n { allowSignalWrites: true },\n );\n }\n\n /** @ignore */\n protected changeColorHandler(e: string) {\n if (!this.userInteractColor()) return;\n this.selectedColor.set(e);\n this.service.wysiwyg().color(e);\n }\n\n /** @ignore */\n protected changeHighlightColorHandler(e: string) {\n if (!this.userInteractHighligh()) return;\n this.selectedHighlightColor.set(e);\n this.service.wysiwyg().background(e);\n }\n\n /** @ignore */\n protected initialHighlightHandler() {\n if (this.userInteractHighligh()) return;\n this.userInteractHighligh.set(true);\n this.service.wysiwyg().background('rgba(223, 223, 24, 0.5)');\n }\n\n /** @ignore */\n protected initialColorHandler() {\n if (this.userInteractColor()) return;\n this.userInteractColor.set(true);\n this.service.wysiwyg().color('rgb(151, 148, 148)');\n }\n}\n","<div class=\"ax-color-picker-wysiwyg-container\">\n <div (click)=\"initialColorHandler()\" class=\"ax-color-flex-wysiwyg-container\">\n <div [style]=\"{ backgroundColor: selectedColor() }\" class=\"ax-submit-color\"></div>\n <ax-button #colorBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-color-palette\"></ax-icon>\n </ax-button>\n </div>\n\n <div (click)=\"initialHighlightHandler()\" class=\"ax-color-flex-wysiwyg-container\">\n <div [style]=\"{ backgroundColor: selectedHighlightColor() }\" class=\"ax-submit-color\"></div>\n <ax-button #highlightBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n </ax-button>\n </div>\n</div>\n\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"colorBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-color-palette (ngModelChange)=\"changeColorHandler($event)\" [ngModel]=\"selectedColor()\">\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-input></ax-color-palette-input>\n </ax-color-palette>\n </div>\n</ax-popover>\n\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"highlightBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-color-palette\n (ngModelChange)=\"changeHighlightColorHandler($event)\"\n [ngModel]=\"selectedHighlightColor()\"\n >\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-input></ax-color-palette-input>\n </ax-color-palette>\n </div>\n</ax-popover>\n","import { Component, effect, inject, signal } from '@angular/core';\r\nimport { AXWysiwygContainerComponent } from '../../wysiwyg-container/wysiwyg-container.component';\r\nimport { AXWysiwygService } from '../../wysiwyg.service';\r\n\r\n/**\r\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\r\n * @category Components\r\n */\r\n@Component({\r\n selector: 'ax-wysiwyg-font-style',\r\n templateUrl: './wysiwyg-font-style.component.html',\r\n styleUrl: './wysiwyg-font-style.component.scss',\r\n})\r\nexport class AXWysiwygFontStyleComponent {\r\n /** @ignore */\r\n parent = inject(AXWysiwygContainerComponent);\r\n\r\n /** @ignore */\r\n protected boldState = signal(false);\r\n\r\n /** @ignore */\r\n protected italicState = signal(false);\r\n\r\n /** @ignore */\r\n protected underLineState = signal(false);\r\n\r\n /** @ignore */\r\n protected strikeLineState = signal(false);\r\n\r\n /** @ignore */\r\n protected selectedFont = signal('medium');\r\n\r\n /** @ignore */\r\n service = inject(AXWysiwygService);\r\n\r\n /** @ignore */\r\n constructor() {\r\n effect(\r\n () => {\r\n if (!this.service.wysiwyg()) return;\r\n this.service.currentSelectedElemArray().forEach((item) => {\r\n switch (item) {\r\n case 'U':\r\n this.service.wysiwyg().underLine(true);\r\n this.underLineState.set(true);\r\n break;\r\n case 'S':\r\n this.service.wysiwyg().strike(true);\r\n this.strikeLineState.set(true);\r\n break;\r\n case 'EM':\r\n this.service.wysiwyg().italic(true);\r\n this.italicState.set(true);\r\n break;\r\n case 'STRONG':\r\n this.service.wysiwyg().bold(true);\r\n this.boldState.set(true);\r\n break;\r\n\r\n default:\r\n if (this.boldState()) this.service.wysiwyg().bold(true);\r\n if (this.italicState()) this.service.wysiwyg().italic(true);\r\n if (this.strikeLineState()) this.service.wysiwyg().strike(true);\r\n if (this.underLineState()) this.service.wysiwyg().underLine(true);\r\n }\r\n });\r\n },\r\n { allowSignalWrites: true },\r\n );\r\n }\r\n\r\n /** @ignore */\r\n protected bold() {\r\n if (this.boldState()) {\r\n this.service.wysiwyg().bold(false);\r\n this.boldState.set(false);\r\n } else {\r\n this.service.wysiwyg().bold(true);\r\n this.boldState.set(true);\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected italic() {\r\n if (this.italicState()) {\r\n this.service.wysiwyg().italic(false);\r\n this.italicState.set(false);\r\n } else {\r\n this.service.wysiwyg().italic(true);\r\n this.italicState.set(true);\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected underLine() {\r\n if (this.underLineState()) {\r\n this.service.wysiwyg().underLine(false);\r\n this.underLineState.set(false);\r\n } else {\r\n this.service.wysiwyg().underLine(true);\r\n this.underLineState.set(true);\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected strike() {\r\n if (this.strikeLineState()) {\r\n this.service.wysiwyg().strike(false);\r\n this.strikeLineState.set(false);\r\n } else {\r\n this.service.wysiwyg().strike(true);\r\n this.strikeLineState.set(true);\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected fontSizeHandler(e: 'medium' | 'small' | 'large' | 'huge') {\r\n const range = this.service.wysiwyg()?.quillObj().getSelection();\r\n if (!range?.length) return;\r\n\r\n if (e === 'medium') {\r\n this.service.wysiwyg().fontSize(false, range);\r\n this.selectedFont.set('medium');\r\n } else {\r\n this.service.wysiwyg().fontSize(e, range);\r\n this.selectedFont.set(e);\r\n }\r\n }\r\n}\r\n","<div class=\"ax-wysiwyg-font-style-container\">\n <ax-button (click)=\"bold()\" look=\"blank\" [selected]=\"boldState() ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-bold\"></ax-icon>\n </ax-button>\n\n <ax-button (click)=\"italic()\" look=\"blank\" [selected]=\"italicState() ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-italic\"></ax-icon>\n </ax-button>\n\n <ax-button (click)=\"underLine()\" look=\"blank\" [selected]=\"underLineState() ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-under-line\"></ax-icon>\n </ax-button>\n\n <ax-button (click)=\"strike()\" look=\"blank\" [selected]=\"strikeLineState() ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-strike\"></ax-icon>\n </ax-button>\n\n <ax-select-box\n [look]=\"this.parent.look\"\n (ngModelChange)=\"fontSizeHandler($event)\"\n [ngModel]=\"selectedFont()\"\n [dataSource]=\"['small', 'medium', 'large', 'huge']\"\n placeholder=\"Choose...\"\n >\n </ax-select-box>\n</div>\n","import { Component, inject, ViewEncapsulation } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-history',\n templateUrl: './wysiwyg-history.component.html',\n styleUrl: './wysiwyg-history.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXWysiwygHistoryComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n protected undo() {\n this.service.wysiwyg().undo();\n }\n\n /** @ignore */\n protected redo() {\n this.service.wysiwyg().redo();\n }\n}\n","<ax-button class=\"\" (click)=\"undo()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-undo\"></ax-icon>\n</ax-button>\n\n<ax-button class=\"\" (click)=\"redo()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-redo\"></ax-icon>\n</ax-button>\n","import { AXPlacement } from '@acorex/components/common';\nimport { AXPopoverCloseTrigger, AXPopoverOpenTrigger } from '@acorex/components/popover';\nimport { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-insert',\n templateUrl: './wysiwyg-insert.component.html',\n styleUrl: './wysiwyg-insert.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXWysiwygInsertComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n textBoxOptions = {\n text: '',\n placeholder: 'Enter yor url ...',\n size: 'ax-sm',\n };\n\n /** @ignore */\n protected popoverOption: {\n openOn: AXPopoverOpenTrigger;\n closeOn: AXPopoverCloseTrigger;\n placement: AXPlacement;\n offsetX: number;\n offsetY: number;\n } = {\n openOn: 'click',\n closeOn: 'clickOut',\n placement: 'top',\n offsetX: 0,\n offsetY: 0,\n };\n\n /** @ignore */\n protected submitLink() {\n this.service.wysiwyg().addImage(this.textBoxOptions.text);\n }\n}\n","<ax-button #linkBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-image\"></ax-icon>\n</ax-button>\n\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"linkBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane ax-insert-container\">\n <ax-text-box\n class=\"{{ textBoxOptions.size }}\"\n [(ngModel)]=\"textBoxOptions.text\"\n [placeholder]=\"textBoxOptions.placeholder\"\n >\n <ax-suffix>\n <ax-button (click)=\"submitLink()\" class=\"ax-sm\" color=\"secondary\" text=\"Add\"> </ax-button>\n </ax-suffix>\n </ax-text-box>\n </div>\n</ax-popover>\n","import { Component, effect, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { AXWysiwygService } from '../../wysiwyg.service';\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-list',\n templateUrl: './wysiwyg-list.component.html',\n styleUrl: './wysiwyg-list.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXWysiwygListComponent {\n /** @ignore */\n service = inject(AXWysiwygService);\n\n /** @ignore */\n protected listState = signal('');\n\n /** @ignore */\n constructor() {\n effect(\n () => {\n if (!this.service.wysiwyg()) return;\n switch (this.service.currentSelectedElemList()) {\n case 'ordered':\n this.service.wysiwyg().list('ordered');\n this.listState.set('ordered');\n break;\n case 'bullet':\n this.service.wysiwyg().list('bullet');\n this.listState.set('bullet');\n break;\n default:\n this.service.wysiwyg().list('');\n this.listState.set('');\n }\n },\n { allowSignalWrites: true },\n );\n }\n\n /** @ignore */\n protected orderList() {\n if (!this.listState() || this.listState() === 'bullet') {\n this.service.wysiwyg().list('ordered');\n this.listState.set('ordered');\n } else {\n this.service.wysiwyg().list('');\n this.listState.set('');\n }\n }\n\n /** @ignore */\n protected unOrderList() {\n if (!this.listState() || this.listState() === 'ordered') {\n this.service.wysiwyg().list('bullet');\n this.listState.set('bullet');\n } else {\n this.service.wysiwyg().list('');\n this.listState.set('');\n }\n }\n}\n","<ax-button (click)=\"orderList()\" look=\"blank\" [selected]=\"listState() === 'ordered' ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-order-list\"></ax-icon>\n</ax-button>\n\n<ax-button (click)=\"unOrderList()\" look=\"blank\" [selected]=\"listState() === 'bullet' ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-un-order-list\"></ax-icon>\n</ax-button>\n","import { Component, HostBinding, HostListener, inject, input, ViewEncapsulation } from '@angular/core';\nimport { AXWysiwygService } from '../wysiwyg.service';\n\n/**\n * @category Components\n * A component for viewing WYSIWYG content.\n */\n@Component({\n selector: 'ax-wysiwyg-view',\n templateUrl: './wysiwyg-view.component.html',\n styleUrl: './wysiwyg-view.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXWysiwygViewComponent {\n classes = input<string>('', { alias: 'class' });\n\n /** @ignore */\n protected wysiwygService = inject(AXWysiwygService);\n\n @HostBinding('class')\n get __hostClass(): string {\n return `${this.classes()}`;\n }\n\n @HostListener('keydown.Backspace', ['$event'])\n protected onKeydownHandler(e: any) {\n if (e.target.firstChild.nodeName === 'P') {\n this.wysiwygService.currentSelectedElemList.set('');\n }\n }\n\n @HostListener('click', ['$event'])\n protected editorStateHandler(e: any) {\n this.wysiwygService.currentSelectedElemAlign.set(e.target.classList.value);\n this.wysiwygService.currentSelectedElemList.set(e.target.dataset.list);\n this.wysiwygService.currentSelectedElemArray.set([\n e.target.nodeName,\n e.target.parentElement.nodeName,\n e.target.parentElement.parentElement.nodeName,\n e.target.parentElement.parentElement.parentElement.nodeName,\n e.target.classList.value,\n ]);\n }\n}\n","\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXWysiwygContainerComponent } from './wysiwyg/wysiwyg-container/wysiwyg-container.component';\n\nimport { AXColorPaletteModule } from '@acorex/components/color-palette';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXWysiwygToolbarComponent } from './wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component';\nimport { AXWysiwygAlignmentComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component';\nimport { AXWysiwygColorsComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component';\nimport { AXWysiwygFontStyleComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component';\nimport { AXWysiwygHistoryComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component';\nimport { AXWysiwygInsertComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component';\nimport { AXWysiwygListComponent } from './wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component';\nimport { AXWysiwygViewComponent } from './wysiwyg/wysiwyg-view/wysiwyg-view.component';\n\nconst COMPONENT = [\n AXWysiwygContainerComponent,\n AXWysiwygViewComponent,\n AXWysiwygToolbarComponent,\n AXWysiwygAlignmentComponent,\n AXWysiwygColorsComponent,\n AXWysiwygFontStyleComponent,\n AXWysiwygHistoryComponent,\n AXWysiwygInsertComponent,\n AXWysiwygListComponent,\n];\n\nconst MODULES = [\n AXButtonModule,\n AXDecoratorModule,\n AXSelectBoxModule,\n FormsModule,\n AXColorPaletteModule,\n AXPopoverModule,\n AXTextBoxModule,\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXWysiwygModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i5","i4"],"mappings":"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"}
@@ -3,10 +3,11 @@ export declare class JsonViewerComponent {
3
3
  #private;
4
4
  json: import("@angular/core").InputSignal<any>;
5
5
  convertedData: import("@angular/core").WritableSignal<any>;
6
- protected isDate(value: any): value is Date;
7
6
  protected convertNestedToArray(obj: any): any;
8
7
  protected isArray(arry: any): arry is any[];
9
8
  protected isNumber(i: any): i is number;
9
+ protected isDate(value: any): value is Date;
10
+ protected isBoolean(value: any): value is boolean;
10
11
  static ɵfac: i0.ɵɵFactoryDeclaration<JsonViewerComponent, never>;
11
12
  static ɵcmp: i0.ɵɵComponentDeclaration<JsonViewerComponent, "ax-json-viewer", never, { "json": { "alias": "json"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
12
13
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/components",
3
- "version": "18.12.30",
3
+ "version": "18.12.34",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=18.2.0",
6
6
  "@angular/core": ">=18.2.0",
@@ -19,6 +19,8 @@ export declare class AXWysiwygContainerComponent extends AXWysiwygContainerCompo
19
19
  protected setTimeOut: any;
20
20
  /** @ignore */
21
21
  private zone;
22
+ protected quillChangeTriggred: import("@angular/core").WritableSignal<boolean>;
23
+ protected ngModleChangeTriggred: import("@angular/core").WritableSignal<boolean>;
22
24
  /**
23
25
  * Specifies the placeholder text.
24
26
  *
@@ -28,7 +30,7 @@ export declare class AXWysiwygContainerComponent extends AXWysiwygContainerCompo
28
30
  protected changeHandler(): void;
29
31
  /** @ignore */
30
32
  ngOnDestroy(): void;
31
- setContent(e: string): void;
33
+ protected internalValueChanged(value: any): void;
32
34
  static ɵfac: i0.ɵɵFactoryDeclaration<AXWysiwygContainerComponent, never>;
33
35
  static ɵcmp: i0.ɵɵComponentDeclaration<AXWysiwygContainerComponent, "ax-wysiwyg-container", never, { "look": { "alias": "look"; "required": false; }; "placeHolder": { "alias": "placeHolder"; "required": false; "isSignal": true; }; }, { "onValueChanged": "onValueChanged"; }, never, ["*", "ax-validation-rule"], false, never>;
34
36
  }