@gravitee/ui-particles-angular 5.13.0 → 5.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/esm2020/lib/gio-form-json-schema/model/GioJsonSchema.mjs +1 -1
  2. package/esm2020/lib/gio-form-json-schema/type-component/object-type.component.mjs +2 -2
  3. package/esm2020/lib/gio-monaco-editor/gio-monaco-editor.component.mjs +172 -0
  4. package/esm2020/lib/gio-monaco-editor/gio-monaco-editor.harness.mjs +63 -0
  5. package/esm2020/lib/gio-monaco-editor/gio-monaco-editor.module.mjs +58 -0
  6. package/esm2020/lib/gio-monaco-editor/gio-monaco-editor.testing.component.mjs +55 -0
  7. package/esm2020/lib/gio-monaco-editor/models/GioMonacoEditorConfig.mjs +18 -0
  8. package/esm2020/lib/gio-monaco-editor/models/MonacoEditorTheme.mjs +2 -0
  9. package/esm2020/lib/gio-monaco-editor/services/gio-language-json.service.mjs +71 -0
  10. package/esm2020/lib/gio-monaco-editor/services/gio-monaco-editor.service.mjs +67 -0
  11. package/esm2020/lib/public-api.mjs +4 -1
  12. package/fesm2015/gravitee-ui-particles-angular.mjs +464 -6
  13. package/fesm2015/gravitee-ui-particles-angular.mjs.map +1 -1
  14. package/fesm2020/gravitee-ui-particles-angular.mjs +476 -6
  15. package/fesm2020/gravitee-ui-particles-angular.mjs.map +1 -1
  16. package/lib/gio-form-json-schema/model/GioJsonSchema.d.ts +17 -11
  17. package/lib/gio-monaco-editor/gio-monaco-editor.component.d.ts +45 -0
  18. package/lib/gio-monaco-editor/gio-monaco-editor.harness.d.ts +16 -0
  19. package/lib/gio-monaco-editor/gio-monaco-editor.module.d.ts +18 -0
  20. package/lib/gio-monaco-editor/gio-monaco-editor.testing.component.d.ts +12 -0
  21. package/lib/gio-monaco-editor/models/GioMonacoEditorConfig.d.ts +6 -0
  22. package/lib/gio-monaco-editor/models/MonacoEditorTheme.d.ts +1 -0
  23. package/lib/gio-monaco-editor/services/gio-language-json.service.d.ts +17 -0
  24. package/lib/gio-monaco-editor/services/gio-monaco-editor.service.d.ts +18 -0
  25. package/lib/public-api.d.ts +3 -0
  26. package/package.json +1 -1
@@ -14,4 +14,4 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  export {};
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2lvSnNvblNjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3NyYy9saWIvZ2lvLWZvcm0tanNvbi1zY2hlbWEvbW9kZWwvR2lvSnNvblNjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjMgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qKlxuICogT3ZlcnJpZGUgdGhlIEpTT05TY2hlbWE3IGludGVyZmFjZSB0byBhZGQgZ2lvQ29uZmlnXG4gKiBVc2UgdGhpcyB3YXkgYmVjYXVzZSB0aGUgSlNPTlNjaGVtYTcgaW50ZXJmYWNlIGlzIHJlY3Vyc2l2ZVxuICogQW5kIGV4cG9ydCB3aXRoIG5ldyBuYW1lIGBHaW9Kc29uU2NoZW1hYCB0byBtYWtlIGl0IG1vcmUgY2xlYXJcbiAqL1xuXG5kZWNsYXJlIG1vZHVsZSAnanNvbi1zY2hlbWEnIHtcbiAgZXhwb3J0IGludGVyZmFjZSBKU09OU2NoZW1hNyB7XG4gICAgZ2lvQ29uZmlnPzoge1xuICAgICAgYmFubmVyPzogR2lvQmFubmVyQ29uZmlnO1xuICAgICAgdWlUeXBlPzogR2lvVWlUeXBlQ29uZmlnO1xuICAgIH07XG4gIH1cblxuICB0eXBlIEdpb0Jhbm5lckNvbmZpZyA9XG4gICAgfCB7XG4gICAgICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgICAgIHRleHQ6IHN0cmluZztcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgdGV4dDogc3RyaW5nO1xuICAgICAgfTtcblxuICB0eXBlIEdpb1VpVHlwZUNvbmZpZyA9ICdnaW8taGVhZGVycy1hcnJheSc7XG59XG5cbmltcG9ydCB7IEpTT05TY2hlbWE3IH0gZnJvbSAnanNvbi1zY2hlbWEnO1xuXG5leHBvcnQgdHlwZSBHaW9Kc29uU2NoZW1hID0gSlNPTlNjaGVtYTc7XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2lvSnNvblNjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3NyYy9saWIvZ2lvLWZvcm0tanNvbi1zY2hlbWEvbW9kZWwvR2lvSnNvblNjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjMgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qKlxuICogR2lvQ29uZmlnIGlzIHVzZWQgdG8gYWRkIHNvbWUgY3VzdG9tIGNvbmZpZ3VyYXRpb24gdG8gdGhlIEpTT05TY2hlbWE3XG4gKiDimqDvuI8gS2VlcCB1cGRhdGVkIHdpdGggdGhlIEdpb0pzb25TY2hlbWEuanNvbiB0byBoYXZlIHRoZSBzYW1lIGludGVyZmFjZSDimqDvuI9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaW9Db25maWcge1xuICBiYW5uZXI/OiBHaW9CYW5uZXJDb25maWc7XG4gIHVpVHlwZT86IEdpb1VpVHlwZUNvbmZpZztcbn1cblxudHlwZSBHaW9CYW5uZXJDb25maWcgPVxuICB8IHtcbiAgICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgICB0ZXh0OiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIHRleHQ6IHN0cmluZztcbiAgICB9O1xuXG50eXBlIEdpb1VpVHlwZUNvbmZpZyA9ICdnaW8taGVhZGVycy1hcnJheSc7XG5cbi8qKlxuICogT3ZlcnJpZGUgdGhlIEpTT05TY2hlbWE3IGludGVyZmFjZSB0byBhZGQgZ2lvQ29uZmlnXG4gKiBVc2UgdGhpcyB3YXkgYmVjYXVzZSB0aGUgSlNPTlNjaGVtYTcgaW50ZXJmYWNlIGlzIHJlY3Vyc2l2ZVxuICogQW5kIGV4cG9ydCB3aXRoIG5ldyBuYW1lIGBHaW9Kc29uU2NoZW1hYCB0byBtYWtlIGl0IG1vcmUgY2xlYXJcbiAqL1xuZGVjbGFyZSBtb2R1bGUgJ2pzb24tc2NoZW1hJyB7XG4gIGV4cG9ydCBpbnRlcmZhY2UgSlNPTlNjaGVtYTcge1xuICAgIGdpb0NvbmZpZz86IEdpb0NvbmZpZztcbiAgfVxufVxuXG5pbXBvcnQgeyBKU09OU2NoZW1hNyB9IGZyb20gJ2pzb24tc2NoZW1hJztcblxuZXhwb3J0IHR5cGUgR2lvSnNvblNjaGVtYSA9IEpTT05TY2hlbWE3O1xuIl19
@@ -38,7 +38,7 @@ GioFjsObjectTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
38
38
  <formly-field *ngFor="let f of field.fieldGroup" class="wrapper__fields__field" [field]="f"></formly-field>
39
39
  </div>
40
40
  </div>
41
- `, isInline: true, styles: [".wrapper{display:flex;flex-direction:column}.wrapper__title{font:600 18px/24px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;margin-bottom:16px}.wrapper:empty{display:none}.wrapper__error{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;color:#ec4899}.wrapper__fields{padding:8px;border:1px solid #d3d5dc;border-radius:8px}.wrapper__fields:has(> .wrapper__fields__field:only-child):has(> .wrapper__fields__field:empty){display:none}.wrapper__fields__field:empty{display:none}.wrapper__fields__field+.wrapper__fields__field:not(:empty){display:block;margin-top:8px}\n"], components: [{ type: i1.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { type: i1.FormlyField, selector: "formly-field", inputs: ["field"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
41
+ `, isInline: true, styles: [".wrapper{display:flex;flex-direction:column}.wrapper__title{font:600 18px/24px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;margin-bottom:16px}.wrapper:empty{display:none}.wrapper__error{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;color:#ec4899}.wrapper__fields{padding:8px;border:1px solid #d3d5dc;border-radius:8px}.wrapper__fields:empty{display:none}.wrapper__fields:has(> .wrapper__fields__field:only-child):has(> .wrapper__fields__field:empty){display:none}.wrapper__fields__field:empty{display:none}.wrapper__fields__field+.wrapper__fields__field:not(:empty){display:block;margin-top:8px}\n"], components: [{ type: i1.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { type: i1.FormlyField, selector: "formly-field", inputs: ["field"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
42
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFjsObjectTypeComponent, decorators: [{
43
43
  type: Component,
44
44
  args: [{ selector: 'gio-fjs-object-type', template: `
@@ -52,6 +52,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
52
52
  <formly-field *ngFor="let f of field.fieldGroup" class="wrapper__fields__field" [field]="f"></formly-field>
53
53
  </div>
54
54
  </div>
55
- `, styles: [".wrapper{display:flex;flex-direction:column}.wrapper__title{font:600 18px/24px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;margin-bottom:16px}.wrapper:empty{display:none}.wrapper__error{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;color:#ec4899}.wrapper__fields{padding:8px;border:1px solid #d3d5dc;border-radius:8px}.wrapper__fields:has(> .wrapper__fields__field:only-child):has(> .wrapper__fields__field:empty){display:none}.wrapper__fields__field:empty{display:none}.wrapper__fields__field+.wrapper__fields__field:not(:empty){display:block;margin-top:8px}\n"] }]
55
+ `, styles: [".wrapper{display:flex;flex-direction:column}.wrapper__title{font:600 18px/24px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;margin-bottom:16px}.wrapper:empty{display:none}.wrapper__error{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;color:#ec4899}.wrapper__fields{padding:8px;border:1px solid #d3d5dc;border-radius:8px}.wrapper__fields:empty{display:none}.wrapper__fields:has(> .wrapper__fields__field:only-child):has(> .wrapper__fields__field:empty){display:none}.wrapper__fields__field:empty{display:none}.wrapper__fields__field+.wrapper__fields__field:not(:empty){display:block;margin-top:8px}\n"] }]
56
56
  }] });
57
57
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXR5cGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tZm9ybS1qc29uLXNjaGVtYS90eXBlLWNvbXBvbmVudC9vYmplY3QtdHlwZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQWtCN0MsTUFBTSxPQUFPLHlCQUEwQixTQUFRLFNBQVM7SUFoQnhEOztRQWlCUyxtQkFBYyxHQUFHO1lBQ3RCLFlBQVksRUFBRSxFQUFFO1NBQ2pCLENBQUM7S0FDSDs7dUhBSlkseUJBQXlCOzJHQUF6Qix5QkFBeUIsa0ZBZDFCOzs7Ozs7Ozs7OztHQVdUOzRGQUdVLHlCQUF5QjtrQkFoQnJDLFNBQVM7K0JBQ0UscUJBQXFCLFlBQ3JCOzs7Ozs7Ozs7OztHQVdUIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMyBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dpby1manMtb2JqZWN0LXR5cGUnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlcl9fdGl0bGVcIiAqbmdJZj1cInRvLmxhYmVsXCI+e3sgdG8ubGFiZWwgfX08L2Rpdj5cbiAgICAgIDxwICpuZ0lmPVwidG8uZGVzY3JpcHRpb25cIj57eyB0by5kZXNjcmlwdGlvbiB9fTwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyX19lcnJvciBnaW8tbmctaW52YWxpZFwiICpuZ0lmPVwic2hvd0Vycm9yICYmIGZvcm1Db250cm9sLmVycm9yc1wiPlxuICAgICAgICA8Zm9ybWx5LXZhbGlkYXRpb24tbWVzc2FnZSBbZmllbGRdPVwiZmllbGRcIj48L2Zvcm1seS12YWxpZGF0aW9uLW1lc3NhZ2U+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyX19maWVsZHNcIj5cbiAgICAgICAgPGZvcm1seS1maWVsZCAqbmdGb3I9XCJsZXQgZiBvZiBmaWVsZC5maWVsZEdyb3VwXCIgY2xhc3M9XCJ3cmFwcGVyX19maWVsZHNfX2ZpZWxkXCIgW2ZpZWxkXT1cImZcIj48L2Zvcm1seS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9vYmplY3QtdHlwZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBHaW9GanNPYmplY3RUeXBlQ29tcG9uZW50IGV4dGVuZHMgRmllbGRUeXBlIHtcbiAgcHVibGljIGRlZmF1bHRPcHRpb25zID0ge1xuICAgIGRlZmF1bHRWYWx1ZToge30sXG4gIH07XG59XG4iXX0=
@@ -0,0 +1,172 @@
1
+ /*
2
+ * Copyright (C) 2023 The Gravitee team (http://gravitee.io)
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Component, forwardRef, Inject, Input } from '@angular/core';
17
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
18
+ import { uniqueId } from 'lodash';
19
+ import { Subject } from 'rxjs';
20
+ import { takeUntil } from 'rxjs/operators';
21
+ import { GIO_MONACO_EDITOR_CONFIG } from './models/GioMonacoEditorConfig';
22
+ import * as i0 from "@angular/core";
23
+ import * as i1 from "./services/gio-monaco-editor.service";
24
+ import * as i2 from "./services/gio-language-json.service";
25
+ import * as i3 from "@angular/common";
26
+ export class GioMonacoEditorComponent {
27
+ constructor(config, monacoEditorService, languageJsonService, hostElement, changeDetectorRef, ngZone) {
28
+ this.config = config;
29
+ this.monacoEditorService = monacoEditorService;
30
+ this.languageJsonService = languageJsonService;
31
+ this.hostElement = hostElement;
32
+ this.changeDetectorRef = changeDetectorRef;
33
+ this.ngZone = ngZone;
34
+ this.options = {};
35
+ this.id = uniqueId('gio-monaco-editor-');
36
+ this.loading = true;
37
+ this.defaultOptions = {
38
+ contextmenu: false,
39
+ minimap: {
40
+ enabled: true,
41
+ },
42
+ automaticLayout: true,
43
+ scrollBeyondLastLine: false,
44
+ };
45
+ this.value = '';
46
+ this.readOnly = false;
47
+ this._onChange = () => ({});
48
+ this._onTouched = () => ({});
49
+ this.unsubscribe$ = new Subject();
50
+ this.monacoEditorService.loadEditor();
51
+ }
52
+ ngAfterViewInit() {
53
+ // Wait until monaco editor is available
54
+ this.monacoEditorService.loaded$.pipe(takeUntil(this.unsubscribe$)).subscribe(({ monaco }) => {
55
+ this.setupEditor(monaco);
56
+ this.loading = false;
57
+ this.changeDetectorRef.detectChanges();
58
+ });
59
+ }
60
+ ngOnDestroy() {
61
+ if (this.standaloneCodeEditor) {
62
+ this.standaloneCodeEditor.dispose();
63
+ this.standaloneCodeEditor = undefined;
64
+ }
65
+ if (this.textModel) {
66
+ this.textModel.dispose();
67
+ this.textModel = undefined;
68
+ }
69
+ this.unsubscribe$.next();
70
+ this.unsubscribe$.complete();
71
+ }
72
+ // From ControlValueAccessor interface
73
+ writeValue(_value) {
74
+ if (_value) {
75
+ this.value = _value;
76
+ }
77
+ if (this.textModel) {
78
+ this.textModel.setValue(this.value);
79
+ }
80
+ }
81
+ // From ControlValueAccessor interface
82
+ registerOnChange(fn) {
83
+ this._onChange = fn;
84
+ }
85
+ // From ControlValueAccessor interface
86
+ registerOnTouched(fn) {
87
+ this._onTouched = fn;
88
+ }
89
+ // From ControlValueAccessor interface
90
+ setDisabledState(isDisabled) {
91
+ this.readOnly = isDisabled;
92
+ }
93
+ setupEditor(monaco) {
94
+ if (!this.hostElement) {
95
+ throw new Error('No editor ref found.');
96
+ }
97
+ const domElement = this.hostElement.nativeElement;
98
+ const settings = {
99
+ value: this.value,
100
+ language: this.languageConfig?.language ?? 'text',
101
+ uri: `code-${uniqueId()}`,
102
+ };
103
+ this.ngZone.runOutsideAngular(() => {
104
+ this.textModel = monaco.editor.createModel(settings.value, settings.language, monaco.Uri.parse(settings.uri));
105
+ });
106
+ const options = Object.assign({}, this.defaultOptions, this.options, {
107
+ readOnly: this.readOnly,
108
+ theme: this.config.theme ?? 'vs',
109
+ model: this.textModel,
110
+ });
111
+ this.standaloneCodeEditor = monaco.editor.create(domElement, {
112
+ ...options,
113
+ });
114
+ this.textModel?.onDidChangeContent(() => {
115
+ const newValue = this.textModel?.getValue();
116
+ this.ngZone.run(() => {
117
+ newValue && this._onChange(newValue);
118
+ this._onTouched();
119
+ });
120
+ });
121
+ this.standaloneCodeEditor?.onDidBlurEditorWidget(() => {
122
+ this.ngZone.run(() => {
123
+ this._onTouched();
124
+ });
125
+ });
126
+ this.setupLanguage(settings.uri, this.languageConfig);
127
+ }
128
+ setupLanguage(uri, languageConfig) {
129
+ if (!languageConfig) {
130
+ return;
131
+ }
132
+ const { language } = languageConfig;
133
+ if (language) {
134
+ const lang = language.toLowerCase();
135
+ switch (lang) {
136
+ case 'json':
137
+ if (languageConfig.schemas) {
138
+ this.languageJsonService.addSchemas(uri, languageConfig.schemas);
139
+ }
140
+ break;
141
+ default:
142
+ break;
143
+ }
144
+ }
145
+ }
146
+ }
147
+ GioMonacoEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorComponent, deps: [{ token: GIO_MONACO_EDITOR_CONFIG }, { token: i1.GioMonacoEditorService }, { token: i2.GioLanguageJsonService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
148
+ GioMonacoEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioMonacoEditorComponent, selector: "gio-monaco-editor", inputs: { languageConfig: "languageConfig", options: "options" }, providers: [
149
+ {
150
+ provide: NG_VALUE_ACCESSOR,
151
+ useExisting: forwardRef(() => GioMonacoEditorComponent),
152
+ multi: true,
153
+ },
154
+ ], ngImport: i0, template: ` <div *ngIf="loading">Loading...</div>`, isInline: true, styles: [":host{display:block;height:100%;min-height:150px}\n"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorComponent, decorators: [{
156
+ type: Component,
157
+ args: [{ selector: 'gio-monaco-editor', template: ` <div *ngIf="loading">Loading...</div>`, providers: [
158
+ {
159
+ provide: NG_VALUE_ACCESSOR,
160
+ useExisting: forwardRef(() => GioMonacoEditorComponent),
161
+ multi: true,
162
+ },
163
+ ], styles: [":host{display:block;height:100%;min-height:150px}\n"] }]
164
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
165
+ type: Inject,
166
+ args: [GIO_MONACO_EDITOR_CONFIG]
167
+ }] }, { type: i1.GioMonacoEditorService }, { type: i2.GioLanguageJsonService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; }, propDecorators: { languageConfig: [{
168
+ type: Input
169
+ }], options: [{
170
+ type: Input
171
+ }] } });
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLW1vbmFjby1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tbW9uYWNvLWVkaXRvci9naW8tbW9uYWNvLWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQW9DLFNBQVMsRUFBYyxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDdEksT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFbEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUF5Qix3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7OztBQXFCakcsTUFBTSxPQUFPLHdCQUF3QjtJQThCbkMsWUFDcUQsTUFBNkIsRUFDL0QsbUJBQTJDLEVBQzNDLG1CQUEyQyxFQUMzQyxXQUF1QixFQUN2QixpQkFBb0MsRUFDcEMsTUFBYztRQUxvQixXQUFNLEdBQU4sTUFBTSxDQUF1QjtRQUMvRCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXdCO1FBQzNDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBd0I7UUFDM0MsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBL0IxQixZQUFPLEdBQWdELEVBQUUsQ0FBQztRQUUxRCxPQUFFLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFcEMsWUFBTyxHQUFHLElBQUksQ0FB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RHBCLEtBQUs7Z0JBSUMsT0FBTztzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMyBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIEluamVjdCwgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB1bmlxdWVJZCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgTW9uYWNvLCB7IGVkaXRvciB9IGZyb20gJ21vbmFjby1lZGl0b3InO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBHaW9Nb25hY29FZGl0b3JDb25maWcsIEdJT19NT05BQ09fRURJVE9SX0NPTkZJRyB9IGZyb20gJy4vbW9kZWxzL0dpb01vbmFjb0VkaXRvckNvbmZpZyc7XG5pbXBvcnQgeyBHaW9MYW5ndWFnZUpzb25TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9naW8tbGFuZ3VhZ2UtanNvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEdpb01vbmFjb0VkaXRvclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2dpby1tb25hY28tZWRpdG9yLnNlcnZpY2UnO1xuXG5leHBvcnQgdHlwZSBNb25hY29FZGl0b3JMYW5ndWFnZUNvbmZpZyA9IHtcbiAgbGFuZ3VhZ2U6ICdqc29uJztcbiAgc2NoZW1hczogeyB1cmk6IHN0cmluZzsgc2NoZW1hOiB1bmtub3duIH1bXTtcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dpby1tb25hY28tZWRpdG9yJyxcbiAgdGVtcGxhdGU6IGAgPGRpdiAqbmdJZj1cImxvYWRpbmdcIj5Mb2FkaW5nLi4uPC9kaXY+YCxcbiAgc3R5bGVVcmxzOiBbJy4vZ2lvLW1vbmFjby1lZGl0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBHaW9Nb25hY29FZGl0b3JDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgR2lvTW9uYWNvRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYW5ndWFnZUNvbmZpZz86IE1vbmFjb0VkaXRvckxhbmd1YWdlQ29uZmlnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvcHRpb25zOiBlZGl0b3IuSVN0YW5kYWxvbmVFZGl0b3JDb25zdHJ1Y3Rpb25PcHRpb25zID0ge307XG5cbiAgcHVibGljIGlkID0gdW5pcXVlSWQoJ2dpby1tb25hY28tZWRpdG9yLScpO1xuXG4gIHB1YmxpYyBsb2FkaW5nID0gdHJ1ZTtcblxuICBwcml2YXRlIGRlZmF1bHRPcHRpb25zOiBlZGl0b3IuSVN0YW5kYWxvbmVFZGl0b3JDb25zdHJ1Y3Rpb25PcHRpb25zID0ge1xuICAgIGNvbnRleHRtZW51OiBmYWxzZSxcbiAgICBtaW5pbWFwOiB7XG4gICAgICBlbmFibGVkOiB0cnVlLFxuICAgIH0sXG4gICAgYXV0b21hdGljTGF5b3V0OiB0cnVlLFxuICAgIHNjcm9sbEJleW9uZExhc3RMaW5lOiBmYWxzZSxcbiAgfTtcblxuICBwcm90ZWN0ZWQgdmFsdWUgPSAnJztcbiAgcHJvdGVjdGVkIHJlYWRPbmx5ID0gZmFsc2U7XG4gIHByaXZhdGUgc3RhbmRhbG9uZUNvZGVFZGl0b3I/OiBlZGl0b3IuSVN0YW5kYWxvbmVDb2RlRWRpdG9yO1xuICBwcml2YXRlIHRleHRNb2RlbD86IGVkaXRvci5JVGV4dE1vZGVsO1xuXG4gIHByb3RlY3RlZCBfb25DaGFuZ2U6IChfdmFsdWU6IHN0cmluZyB8IG51bGwpID0+IHZvaWQgPSAoKSA9PiAoe30pO1xuXG4gIHByb3RlY3RlZCBfb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4gKHt9KTtcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoR0lPX01PTkFDT19FRElUT1JfQ09ORklHKSBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogR2lvTW9uYWNvRWRpdG9yQ29uZmlnLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9uYWNvRWRpdG9yU2VydmljZTogR2lvTW9uYWNvRWRpdG9yU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxhbmd1YWdlSnNvblNlcnZpY2U6IEdpb0xhbmd1YWdlSnNvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICApIHtcbiAgICB0aGlzLm1vbmFjb0VkaXRvclNlcnZpY2UubG9hZEVkaXRvcigpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAvLyBXYWl0IHVudGlsIG1vbmFjbyBlZGl0b3IgaXMgYXZhaWxhYmxlXG4gICAgdGhpcy5tb25hY29FZGl0b3JTZXJ2aWNlLmxvYWRlZCQucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoKHsgbW9uYWNvIH0pID0+IHtcbiAgICAgIHRoaXMuc2V0dXBFZGl0b3IobW9uYWNvKTtcblxuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5zdGFuZGFsb25lQ29kZUVkaXRvcikge1xuICAgICAgdGhpcy5zdGFuZGFsb25lQ29kZUVkaXRvci5kaXNwb3NlKCk7XG4gICAgICB0aGlzLnN0YW5kYWxvbmVDb2RlRWRpdG9yID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRleHRNb2RlbCkge1xuICAgICAgdGhpcy50ZXh0TW9kZWwuZGlzcG9zZSgpO1xuICAgICAgdGhpcy50ZXh0TW9kZWwgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgcHVibGljIHdyaXRlVmFsdWUoX3ZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoX3ZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gX3ZhbHVlO1xuICAgIH1cbiAgICBpZiAodGhpcy50ZXh0TW9kZWwpIHtcbiAgICAgIHRoaXMudGV4dE1vZGVsLnNldFZhbHVlKHRoaXMudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZyb20gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoX3ZhbHVlOiBzdHJpbmcgfCBudWxsKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIC8vIEZyb20gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMucmVhZE9ubHkgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEVkaXRvcihtb25hY286IHR5cGVvZiBNb25hY28pIHtcbiAgICBpZiAoIXRoaXMuaG9zdEVsZW1lbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gZWRpdG9yIHJlZiBmb3VuZC4nKTtcbiAgICB9XG5cbiAgICBjb25zdCBkb21FbGVtZW50ID0gdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50O1xuXG4gICAgY29uc3Qgc2V0dGluZ3MgPSB7XG4gICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcbiAgICAgIGxhbmd1YWdlOiB0aGlzLmxhbmd1YWdlQ29uZmlnPy5sYW5ndWFnZSA/PyAndGV4dCcsXG4gICAgICB1cmk6IGBjb2RlLSR7dW5pcXVlSWQoKX1gLFxuICAgIH07XG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy50ZXh0TW9kZWwgPSBtb25hY28uZWRpdG9yLmNyZWF0ZU1vZGVsKHNldHRpbmdzLnZhbHVlLCBzZXR0aW5ncy5sYW5ndWFnZSwgbW9uYWNvLlVyaS5wYXJzZShzZXR0aW5ncy51cmkpKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmRlZmF1bHRPcHRpb25zLCB0aGlzLm9wdGlvbnMsIHtcbiAgICAgIHJlYWRPbmx5OiB0aGlzLnJlYWRPbmx5LFxuICAgICAgdGhlbWU6IHRoaXMuY29uZmlnLnRoZW1lID8/ICd2cycsXG4gICAgICBtb2RlbDogdGhpcy50ZXh0TW9kZWwsXG4gICAgfSk7XG5cbiAgICB0aGlzLnN0YW5kYWxvbmVDb2RlRWRpdG9yID0gbW9uYWNvLmVkaXRvci5jcmVhdGUoZG9tRWxlbWVudCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcblxuICAgIHRoaXMudGV4dE1vZGVsPy5vbkRpZENoYW5nZUNvbnRlbnQoKCkgPT4ge1xuICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLnRleHRNb2RlbD8uZ2V0VmFsdWUoKTtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIG5ld1ZhbHVlICYmIHRoaXMuX29uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHRoaXMuc3RhbmRhbG9uZUNvZGVFZGl0b3I/Lm9uRGlkQmx1ckVkaXRvcldpZGdldCgoKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zZXR1cExhbmd1YWdlKHNldHRpbmdzLnVyaSwgdGhpcy5sYW5ndWFnZUNvbmZpZyk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwTGFuZ3VhZ2UodXJpOiBzdHJpbmcsIGxhbmd1YWdlQ29uZmlnPzogTW9uYWNvRWRpdG9yTGFuZ3VhZ2VDb25maWcpIHtcbiAgICBpZiAoIWxhbmd1YWdlQ29uZmlnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBsYW5ndWFnZSB9ID0gbGFuZ3VhZ2VDb25maWc7XG5cbiAgICBpZiAobGFuZ3VhZ2UpIHtcbiAgICAgIGNvbnN0IGxhbmcgPSBsYW5ndWFnZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICBzd2l0Y2ggKGxhbmcpIHtcbiAgICAgICAgY2FzZSAnanNvbic6XG4gICAgICAgICAgaWYgKGxhbmd1YWdlQ29uZmlnLnNjaGVtYXMpIHtcbiAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VKc29uU2VydmljZS5hZGRTY2hlbWFzKHVyaSwgbGFuZ3VhZ2VDb25maWcuc2NoZW1hcyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,63 @@
1
+ /*
2
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
17
+ import { TestBed } from '@angular/core/testing';
18
+ import { GioMonacoEditorComponent } from './gio-monaco-editor.component';
19
+ import { GioMonacoEditorModule } from './gio-monaco-editor.module';
20
+ import { GioMonacoEditorTestingComponent } from './gio-monaco-editor.testing.component';
21
+ // Hack to replace the default gio-monaco-editor component with fake one for testing purpose.
22
+ try {
23
+ TestBed.overrideModule(GioMonacoEditorModule, {
24
+ remove: {
25
+ declarations: [GioMonacoEditorComponent],
26
+ exports: [GioMonacoEditorComponent],
27
+ },
28
+ add: {
29
+ declarations: [GioMonacoEditorTestingComponent],
30
+ exports: [GioMonacoEditorTestingComponent],
31
+ },
32
+ });
33
+ }
34
+ catch (e) {
35
+ // Do nothing
36
+ }
37
+ export class GioMonacoEditorHarness extends ComponentHarness {
38
+ constructor() {
39
+ super(...arguments);
40
+ this.getInputEl = this.locatorFor('input');
41
+ }
42
+ /**
43
+ * Gets a `HarnessPredicate` that can be used to search for a `GioMonacoEditorHarness` that meets
44
+ * certain criteria.
45
+ *
46
+ * @param options Options for filtering which input instances are considered a match.
47
+ * @return a `HarnessPredicate` configured with the given options.
48
+ */
49
+ static with(options = {}) {
50
+ return new HarnessPredicate(GioMonacoEditorHarness, options);
51
+ }
52
+ async setValue(value) {
53
+ const inputEl = await this.getInputEl();
54
+ await inputEl.clear();
55
+ await inputEl.sendKeys(value);
56
+ }
57
+ async getValue() {
58
+ const inputEl = await this.getInputEl();
59
+ return inputEl.getProperty('value');
60
+ }
61
+ }
62
+ GioMonacoEditorHarness.hostSelector = 'gio-monaco-editor';
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLW1vbmFjby1lZGl0b3IuaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3NyYy9saWIvZ2lvLW1vbmFjby1lZGl0b3IvZ2lvLW1vbmFjby1lZGl0b3IuaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBc0IsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFeEYsNkZBQTZGO0FBQzdGLElBQUk7SUFDRixPQUFPLENBQUMsY0FBYyxDQUFDLHFCQUFxQixFQUFFO1FBQzVDLE1BQU0sRUFBRTtZQUNOLFlBQVksRUFBRSxDQUFDLHdCQUF3QixDQUFDO1lBQ3hDLE9BQU8sRUFBRSxDQUFDLHdCQUF3QixDQUFDO1NBQ3BDO1FBQ0QsR0FBRyxFQUFFO1lBQ0gsWUFBWSxFQUFFLENBQUMsK0JBQStCLENBQUM7WUFDL0MsT0FBTyxFQUFFLENBQUMsK0JBQStCLENBQUM7U0FDM0M7S0FDRixDQUFDLENBQUM7Q0FDSjtBQUFDLE9BQU8sQ0FBQyxFQUFFO0lBQ1YsYUFBYTtDQUNkO0FBSUQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGdCQUFnQjtJQUE1RDs7UUFjWSxlQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQVlsRCxDQUFDO0lBdkJDOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBeUMsRUFBRTtRQUM1RCxPQUFPLElBQUksZ0JBQWdCLENBQUMsc0JBQXNCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUlNLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBYTtRQUNqQyxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN4QyxNQUFNLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QixNQUFNLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxRQUFRO1FBQ25CLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDOztBQXhCYSxtQ0FBWSxHQUFHLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQmFzZUhhcm5lc3NGaWx0ZXJzLCBDb21wb25lbnRIYXJuZXNzLCBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgVGVzdEJlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IEdpb01vbmFjb0VkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vZ2lvLW1vbmFjby1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEdpb01vbmFjb0VkaXRvck1vZHVsZSB9IGZyb20gJy4vZ2lvLW1vbmFjby1lZGl0b3IubW9kdWxlJztcbmltcG9ydCB7IEdpb01vbmFjb0VkaXRvclRlc3RpbmdDb21wb25lbnQgfSBmcm9tICcuL2dpby1tb25hY28tZWRpdG9yLnRlc3RpbmcuY29tcG9uZW50JztcblxuLy8gSGFjayB0byByZXBsYWNlIHRoZSBkZWZhdWx0IGdpby1tb25hY28tZWRpdG9yIGNvbXBvbmVudCB3aXRoIGZha2Ugb25lIGZvciB0ZXN0aW5nIHB1cnBvc2UuXG50cnkge1xuICBUZXN0QmVkLm92ZXJyaWRlTW9kdWxlKEdpb01vbmFjb0VkaXRvck1vZHVsZSwge1xuICAgIHJlbW92ZToge1xuICAgICAgZGVjbGFyYXRpb25zOiBbR2lvTW9uYWNvRWRpdG9yQ29tcG9uZW50XSxcbiAgICAgIGV4cG9ydHM6IFtHaW9Nb25hY29FZGl0b3JDb21wb25lbnRdLFxuICAgIH0sXG4gICAgYWRkOiB7XG4gICAgICBkZWNsYXJhdGlvbnM6IFtHaW9Nb25hY29FZGl0b3JUZXN0aW5nQ29tcG9uZW50XSxcbiAgICAgIGV4cG9ydHM6IFtHaW9Nb25hY29FZGl0b3JUZXN0aW5nQ29tcG9uZW50XSxcbiAgICB9LFxuICB9KTtcbn0gY2F0Y2ggKGUpIHtcbiAgLy8gRG8gbm90aGluZ1xufVxuXG5leHBvcnQgdHlwZSBHaW9Nb25hY29FZGl0b3JIYXJuZXNzRmlsdGVycyA9IEJhc2VIYXJuZXNzRmlsdGVycztcblxuZXhwb3J0IGNsYXNzIEdpb01vbmFjb0VkaXRvckhhcm5lc3MgZXh0ZW5kcyBDb21wb25lbnRIYXJuZXNzIHtcbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnZ2lvLW1vbmFjby1lZGl0b3InO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhIGBHaW9Nb25hY29FZGl0b3JIYXJuZXNzYCB0aGF0IG1lZXRzXG4gICAqIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIGZpbHRlcmluZyB3aGljaCBpbnB1dCBpbnN0YW5jZXMgYXJlIGNvbnNpZGVyZWQgYSBtYXRjaC5cbiAgICogQHJldHVybiBhIGBIYXJuZXNzUHJlZGljYXRlYCBjb25maWd1cmVkIHdpdGggdGhlIGdpdmVuIG9wdGlvbnMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgob3B0aW9uczogR2lvTW9uYWNvRWRpdG9ySGFybmVzc0ZpbHRlcnMgPSB7fSk6IEhhcm5lc3NQcmVkaWNhdGU8R2lvTW9uYWNvRWRpdG9ySGFybmVzcz4ge1xuICAgIHJldHVybiBuZXcgSGFybmVzc1ByZWRpY2F0ZShHaW9Nb25hY29FZGl0b3JIYXJuZXNzLCBvcHRpb25zKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRJbnB1dEVsID0gdGhpcy5sb2NhdG9yRm9yKCdpbnB1dCcpO1xuXG4gIHB1YmxpYyBhc3luYyBzZXRWYWx1ZSh2YWx1ZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgaW5wdXRFbCA9IGF3YWl0IHRoaXMuZ2V0SW5wdXRFbCgpO1xuICAgIGF3YWl0IGlucHV0RWwuY2xlYXIoKTtcbiAgICBhd2FpdCBpbnB1dEVsLnNlbmRLZXlzKHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRWYWx1ZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGlucHV0RWwgPSBhd2FpdCB0aGlzLmdldElucHV0RWwoKTtcbiAgICByZXR1cm4gaW5wdXRFbC5nZXRQcm9wZXJ0eSgndmFsdWUnKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,58 @@
1
+ /*
2
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { CommonModule } from '@angular/common';
17
+ import { HttpClientModule } from '@angular/common/http';
18
+ import { NgModule } from '@angular/core';
19
+ import { ReactiveFormsModule } from '@angular/forms';
20
+ import { GioMonacoEditorComponent } from './gio-monaco-editor.component';
21
+ import { GIO_MONACO_EDITOR_CONFIG } from './models/GioMonacoEditorConfig';
22
+ import * as i0 from "@angular/core";
23
+ export class GioMonacoEditorModule {
24
+ static forRoot(config) {
25
+ return {
26
+ ngModule: GioMonacoEditorModule,
27
+ providers: [
28
+ {
29
+ provide: GIO_MONACO_EDITOR_CONFIG,
30
+ useValue: config,
31
+ },
32
+ ],
33
+ };
34
+ }
35
+ }
36
+ GioMonacoEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
37
+ GioMonacoEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorModule, declarations: [GioMonacoEditorComponent], imports: [CommonModule, HttpClientModule, ReactiveFormsModule], exports: [GioMonacoEditorComponent] });
38
+ GioMonacoEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorModule, providers: [
39
+ {
40
+ provide: GIO_MONACO_EDITOR_CONFIG,
41
+ useValue: {},
42
+ },
43
+ ], imports: [[CommonModule, HttpClientModule, ReactiveFormsModule]] });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorModule, decorators: [{
45
+ type: NgModule,
46
+ args: [{
47
+ imports: [CommonModule, HttpClientModule, ReactiveFormsModule],
48
+ declarations: [GioMonacoEditorComponent],
49
+ exports: [GioMonacoEditorComponent],
50
+ providers: [
51
+ {
52
+ provide: GIO_MONACO_EDITOR_CONFIG,
53
+ useValue: {},
54
+ },
55
+ ],
56
+ }]
57
+ }] });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLW1vbmFjby1lZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tbW9uYWNvLWVkaXRvci9naW8tbW9uYWNvLWVkaXRvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQXlCLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBYWpHLE1BQU0sT0FBTyxxQkFBcUI7SUFDekIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUE2QjtRQUNqRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLHFCQUFxQjtZQUMvQixTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLHdCQUF3QjtvQkFDakMsUUFBUSxFQUFFLE1BQU07aUJBQ2pCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7bUhBWFUscUJBQXFCO29IQUFyQixxQkFBcUIsaUJBVGpCLHdCQUF3QixhQUQ3QixZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLGFBRW5ELHdCQUF3QjtvSEFRdkIscUJBQXFCLGFBUHJCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsd0JBQXdCO1lBQ2pDLFFBQVEsRUFBRSxFQUEyQjtTQUN0QztLQUNGLFlBUlEsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUM7NEZBVW5ELHFCQUFxQjtrQkFYakMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUM7b0JBQzlELFlBQVksRUFBRSxDQUFDLHdCQUF3QixDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDbkMsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSx3QkFBd0I7NEJBQ2pDLFFBQVEsRUFBRSxFQUEyQjt5QkFDdEM7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgR2lvTW9uYWNvRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9naW8tbW9uYWNvLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2lvTW9uYWNvRWRpdG9yQ29uZmlnLCBHSU9fTU9OQUNPX0VESVRPUl9DT05GSUcgfSBmcm9tICcuL21vZGVscy9HaW9Nb25hY29FZGl0b3JDb25maWcnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBIdHRwQ2xpZW50TW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbR2lvTW9uYWNvRWRpdG9yQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW0dpb01vbmFjb0VkaXRvckNvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEdJT19NT05BQ09fRURJVE9SX0NPTkZJRyxcbiAgICAgIHVzZVZhbHVlOiB7fSBhcyBHaW9Nb25hY29FZGl0b3JDb25maWcsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgR2lvTW9uYWNvRWRpdG9yTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KGNvbmZpZzogR2lvTW9uYWNvRWRpdG9yQ29uZmlnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBHaW9Nb25hY29FZGl0b3JNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEdJT19NT05BQ09fRURJVE9SX0NPTkZJRyxcbiAgICAgICAgICB1c2VWYWx1ZTogY29uZmlnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,55 @@
1
+ /*
2
+ * Copyright (C) 2023 The Gravitee team (http://gravitee.io)
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Component, forwardRef } from '@angular/core';
17
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
18
+ import { GioMonacoEditorComponent } from './gio-monaco-editor.component';
19
+ import * as i0 from "@angular/core";
20
+ /**
21
+ * This component is used to test the GioMonacoEditorComponent.
22
+ * This component simulates monaco editor with a simple input.
23
+ */
24
+ export class GioMonacoEditorTestingComponent extends GioMonacoEditorComponent {
25
+ get getValue() {
26
+ return this.value;
27
+ }
28
+ changeValue(value) {
29
+ this._onTouched();
30
+ this._onChange(value);
31
+ }
32
+ }
33
+ GioMonacoEditorTestingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorTestingComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
34
+ GioMonacoEditorTestingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioMonacoEditorTestingComponent, selector: "gio-monaco-editor", providers: [
35
+ {
36
+ provide: NG_VALUE_ACCESSOR,
37
+ useExisting: forwardRef(() => GioMonacoEditorTestingComponent),
38
+ multi: true,
39
+ },
40
+ ], usesInheritance: true, ngImport: i0, template: '<input type="text" [value]="getValue" (input)="changeValue($any($event).target?.value)" />', isInline: true });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorTestingComponent, decorators: [{
42
+ type: Component,
43
+ args: [{
44
+ selector: 'gio-monaco-editor',
45
+ template: '<input type="text" [value]="getValue" (input)="changeValue($any($event).target?.value)" />',
46
+ providers: [
47
+ {
48
+ provide: NG_VALUE_ACCESSOR,
49
+ useExisting: forwardRef(() => GioMonacoEditorTestingComponent),
50
+ multi: true,
51
+ },
52
+ ],
53
+ }]
54
+ }] });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLW1vbmFjby1lZGl0b3IudGVzdGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1tb25hY28tZWRpdG9yL2dpby1tb25hY28tZWRpdG9yLnRlc3RpbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBRXpFOzs7R0FHRztBQVlILE1BQU0sT0FBTywrQkFBZ0MsU0FBUSx3QkFBd0I7SUFDM0UsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQWE7UUFDOUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsQ0FBQzs7NkhBUlUsK0JBQStCO2lIQUEvQiwrQkFBK0IsNENBUi9CO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsK0JBQStCLENBQUM7WUFDOUQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLGlEQVBTLDRGQUE0Rjs0RkFTM0YsK0JBQStCO2tCQVgzQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRSw0RkFBNEY7b0JBQ3RHLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQ0FBZ0MsQ0FBQzs0QkFDOUQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDIzIFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgR2lvTW9uYWNvRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9naW8tbW9uYWNvLWVkaXRvci5jb21wb25lbnQnO1xuXG4vKipcbiAqIFRoaXMgY29tcG9uZW50IGlzIHVzZWQgdG8gdGVzdCB0aGUgR2lvTW9uYWNvRWRpdG9yQ29tcG9uZW50LlxuICogVGhpcyBjb21wb25lbnQgc2ltdWxhdGVzIG1vbmFjbyBlZGl0b3Igd2l0aCBhIHNpbXBsZSBpbnB1dC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ2lvLW1vbmFjby1lZGl0b3InLFxuICB0ZW1wbGF0ZTogJzxpbnB1dCB0eXBlPVwidGV4dFwiIFt2YWx1ZV09XCJnZXRWYWx1ZVwiIChpbnB1dCk9XCJjaGFuZ2VWYWx1ZSgkYW55KCRldmVudCkudGFyZ2V0Py52YWx1ZSlcIiAvPicsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gR2lvTW9uYWNvRWRpdG9yVGVzdGluZ0NvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBHaW9Nb25hY29FZGl0b3JUZXN0aW5nQ29tcG9uZW50IGV4dGVuZHMgR2lvTW9uYWNvRWRpdG9yQ29tcG9uZW50IHtcbiAgcHVibGljIGdldCBnZXRWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICB9XG5cbiAgcHVibGljIGNoYW5nZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgICB0aGlzLl9vbkNoYW5nZSh2YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ /*
2
+ * Copyright (C) 2023 The Gravitee team (http://gravitee.io)
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { InjectionToken } from '@angular/core';
17
+ export const GIO_MONACO_EDITOR_CONFIG = new InjectionToken('gio-monaco-editor-config');
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2lvTW9uYWNvRWRpdG9yQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tbW9uYWNvLWVkaXRvci9tb2RlbHMvR2lvTW9uYWNvRWRpdG9yQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVEvQyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FBd0IsMEJBQTBCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjMgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNb25hY29FZGl0b3JUaGVtZSB9IGZyb20gJy4vTW9uYWNvRWRpdG9yVGhlbWUnO1xuXG5leHBvcnQgdHlwZSBHaW9Nb25hY29FZGl0b3JDb25maWcgPSB7XG4gIHRoZW1lPzogTW9uYWNvRWRpdG9yVGhlbWU7XG59O1xuXG5leHBvcnQgY29uc3QgR0lPX01PTkFDT19FRElUT1JfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPEdpb01vbmFjb0VkaXRvckNvbmZpZz4oJ2dpby1tb25hY28tZWRpdG9yLWNvbmZpZycpO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9uYWNvRWRpdG9yVGhlbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1tb25hY28tZWRpdG9yL21vZGVscy9Nb25hY29FZGl0b3JUaGVtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMyBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmV4cG9ydCB0eXBlIE1vbmFjb0VkaXRvclRoZW1lID0gYHZzYCB8IGB2cy1kYXJrYCB8IGBoYy1ibGFja2AgfCAnaGMtbGlnaHQnO1xuIl19
@@ -0,0 +1,71 @@
1
+ /*
2
+ * Copyright (C) 2023 The Gravitee team (http://gravitee.io)
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Injectable } from '@angular/core';
17
+ import { Subject } from 'rxjs';
18
+ import { takeUntil } from 'rxjs/operators';
19
+ import * as i0 from "@angular/core";
20
+ import * as i1 from "./gio-monaco-editor.service";
21
+ export class GioLanguageJsonService {
22
+ constructor(codeEditorService) {
23
+ this.unsubscribe$ = new Subject();
24
+ codeEditorService.loaded$.pipe(takeUntil(this.unsubscribe$)).subscribe(event => {
25
+ this.setup(event.monaco);
26
+ });
27
+ }
28
+ ngOnDestroy() {
29
+ this.unsubscribe$.next();
30
+ this.unsubscribe$.complete();
31
+ }
32
+ setup(monaco) {
33
+ if (!monaco) {
34
+ throw new Error('Monaco is not loaded');
35
+ }
36
+ this.monaco = monaco;
37
+ const defaults = monaco.languages.json.jsonDefaults;
38
+ defaults.setDiagnosticsOptions({
39
+ validate: true,
40
+ allowComments: true,
41
+ });
42
+ }
43
+ addSchemas(id, definitions = []) {
44
+ if (!this.monaco) {
45
+ throw new Error('Monaco is not loaded');
46
+ }
47
+ const defaults = this.monaco.languages.json.jsonDefaults;
48
+ const options = defaults.diagnosticsOptions;
49
+ let schemas = definitions.map(({ uri, schema }) => ({
50
+ uri,
51
+ schema,
52
+ fileMatch: [id || '*.json'],
53
+ }));
54
+ if (options && options.schemas && options.schemas.length > 0) {
55
+ schemas = [...options.schemas, ...schemas];
56
+ }
57
+ defaults.setDiagnosticsOptions({
58
+ ...options,
59
+ schemas: schemas,
60
+ });
61
+ }
62
+ }
63
+ GioLanguageJsonService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioLanguageJsonService, deps: [{ token: i1.GioMonacoEditorService }], target: i0.ɵɵFactoryTarget.Injectable });
64
+ GioLanguageJsonService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioLanguageJsonService, providedIn: 'root' });
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioLanguageJsonService, decorators: [{
66
+ type: Injectable,
67
+ args: [{
68
+ providedIn: 'root',
69
+ }]
70
+ }], ctorParameters: function () { return [{ type: i1.GioMonacoEditorService }]; } });
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWxhbmd1YWdlLWpzb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3NyYy9saWIvZ2lvLW1vbmFjby1lZGl0b3Ivc2VydmljZXMvZ2lvLWxhbmd1YWdlLWpzb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQVMzQyxNQUFNLE9BQU8sc0JBQXNCO0lBSWpDLFlBQVksaUJBQXlDO1FBSDdDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUl6QyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDN0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVNLEtBQUssQ0FBQyxNQUFxQjtRQUNoQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1NBQ3pDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBRXBELFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQztZQUM3QixRQUFRLEVBQUUsSUFBSTtZQUNkLGFBQWEsRUFBRSxJQUFJO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxVQUFVLENBQUMsRUFBVSxFQUFFLGNBQXVELEVBQUU7UUFDckYsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1NBQ3pDO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN6RCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsa0JBQWtCLENBQUM7UUFFNUMsSUFBSSxPQUFPLEdBQXdELFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN2RyxHQUFHO1lBQ0gsTUFBTTtZQUNOLFNBQVMsRUFBRSxDQUFDLEVBQUUsSUFBSSxRQUFRLENBQUM7U0FDNUIsQ0FBQyxDQUFDLENBQUM7UUFFSixJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM1RCxPQUFPLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQztTQUM1QztRQUVELFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQztZQUM3QixHQUFHLE9BQU87WUFDVixPQUFPLEVBQUUsT0FBTztTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDOztvSEFsRFUsc0JBQXNCO3dIQUF0QixzQkFBc0IsY0FGckIsTUFBTTs0RkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMyBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgdHlwZSBNb25hY28gZnJvbSAnbW9uYWNvLWVkaXRvcic7XG5cbmltcG9ydCB7IEdpb01vbmFjb0VkaXRvclNlcnZpY2UgfSBmcm9tICcuL2dpby1tb25hY28tZWRpdG9yLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgR2lvTGFuZ3VhZ2VKc29uU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBtb25hY28/OiB0eXBlb2YgTW9uYWNvO1xuXG4gIGNvbnN0cnVjdG9yKGNvZGVFZGl0b3JTZXJ2aWNlOiBHaW9Nb25hY29FZGl0b3JTZXJ2aWNlKSB7XG4gICAgY29kZUVkaXRvclNlcnZpY2UubG9hZGVkJC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICB0aGlzLnNldHVwKGV2ZW50Lm1vbmFjbyk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0dXAobW9uYWNvOiB0eXBlb2YgTW9uYWNvKTogdm9pZCB7XG4gICAgaWYgKCFtb25hY28pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTW9uYWNvIGlzIG5vdCBsb2FkZWQnKTtcbiAgICB9XG4gICAgdGhpcy5tb25hY28gPSBtb25hY287XG4gICAgY29uc3QgZGVmYXVsdHMgPSBtb25hY28ubGFuZ3VhZ2VzLmpzb24uanNvbkRlZmF1bHRzO1xuXG4gICAgZGVmYXVsdHMuc2V0RGlhZ25vc3RpY3NPcHRpb25zKHtcbiAgICAgIHZhbGlkYXRlOiB0cnVlLFxuICAgICAgYWxsb3dDb21tZW50czogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRTY2hlbWFzKGlkOiBzdHJpbmcsIGRlZmluaXRpb25zOiBBcnJheTx7IHVyaTogc3RyaW5nOyBzY2hlbWE6IHVua25vd24gfT4gPSBbXSkge1xuICAgIGlmICghdGhpcy5tb25hY28pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTW9uYWNvIGlzIG5vdCBsb2FkZWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCBkZWZhdWx0cyA9IHRoaXMubW9uYWNvLmxhbmd1YWdlcy5qc29uLmpzb25EZWZhdWx0cztcbiAgICBjb25zdCBvcHRpb25zID0gZGVmYXVsdHMuZGlhZ25vc3RpY3NPcHRpb25zO1xuXG4gICAgbGV0IHNjaGVtYXM6IE1vbmFjby5sYW5ndWFnZXMuanNvbi5EaWFnbm9zdGljc09wdGlvbnNbJ3NjaGVtYXMnXSA9IGRlZmluaXRpb25zLm1hcCgoeyB1cmksIHNjaGVtYSB9KSA9PiAoe1xuICAgICAgdXJpLFxuICAgICAgc2NoZW1hLFxuICAgICAgZmlsZU1hdGNoOiBbaWQgfHwgJyouanNvbiddLFxuICAgIH0pKTtcblxuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuc2NoZW1hcyAmJiBvcHRpb25zLnNjaGVtYXMubGVuZ3RoID4gMCkge1xuICAgICAgc2NoZW1hcyA9IFsuLi5vcHRpb25zLnNjaGVtYXMsIC4uLnNjaGVtYXNdO1xuICAgIH1cblxuICAgIGRlZmF1bHRzLnNldERpYWdub3N0aWNzT3B0aW9ucyh7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgc2NoZW1hczogc2NoZW1hcyxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,67 @@
1
+ /*
2
+ * Copyright (C) 2023 The Gravitee team (http://gravitee.io)
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Injectable } from '@angular/core';
17
+ import { ReplaySubject } from 'rxjs';
18
+ import * as i0 from "@angular/core";
19
+ export class GioMonacoEditorService {
20
+ constructor() {
21
+ this.loaded$ = new ReplaySubject(1);
22
+ this.loaded = false;
23
+ }
24
+ loadEditor() {
25
+ if (this.loaded) {
26
+ // Already loaded, do nothing.
27
+ return Promise.resolve();
28
+ }
29
+ this.loaded = true;
30
+ return new Promise(resolve => {
31
+ // Monaco is already loaded
32
+ if (typeof window.monaco === 'object') {
33
+ resolve();
34
+ return;
35
+ }
36
+ const onGotAmdLoader = () => {
37
+ // Load Monaco
38
+ window.require.config({ paths: { vs: 'assets/monaco-editor/min/vs' } });
39
+ window.require(['vs/editor/editor.main'], () => {
40
+ resolve();
41
+ });
42
+ };
43
+ // Load AMD loader if necessary
44
+ if (!window.require) {
45
+ const loaderScript = document.createElement('script');
46
+ loaderScript.type = 'text/javascript';
47
+ loaderScript.src = 'assets/monaco-editor/min/vs/loader.js';
48
+ loaderScript.addEventListener('load', onGotAmdLoader);
49
+ document.body.appendChild(loaderScript);
50
+ }
51
+ else {
52
+ onGotAmdLoader();
53
+ }
54
+ }).then(() => {
55
+ this.loaded$.next({ monaco: window.monaco });
56
+ });
57
+ }
58
+ }
59
+ GioMonacoEditorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
60
+ GioMonacoEditorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorService, providedIn: 'root' });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorService, decorators: [{
62
+ type: Injectable,
63
+ args: [{
64
+ providedIn: 'root',
65
+ }]
66
+ }] });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLW1vbmFjby1lZGl0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3NyYy9saWIvZ2lvLW1vbmFjby1lZGl0b3Ivc2VydmljZXMvZ2lvLW1vbmFjby1lZGl0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFjckMsTUFBTSxPQUFPLHNCQUFzQjtJQUhuQztRQUlTLFlBQU8sR0FBRyxJQUFJLGFBQWEsQ0FBNEIsQ0FBQyxDQUFDLENBQUM7UUFDekQsV0FBTSxHQUFHLEtBQUssQ0FBQztLQXVDeEI7SUFyQ1EsVUFBVTtRQUNmLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLDhCQUE4QjtZQUM5QixPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUMxQjtRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBRW5CLE9BQU8sSUFBSSxPQUFPLENBQU8sT0FBTyxDQUFDLEVBQUU7WUFDakMsMkJBQTJCO1lBQzNCLElBQUksT0FBTyxNQUFNLENBQUMsTUFBTSxLQUFLLFFBQVEsRUFBRTtnQkFDckMsT0FBTyxFQUFFLENBQUM7Z0JBQ1YsT0FBTzthQUNSO1lBRUQsTUFBTSxjQUFjLEdBQUcsR0FBRyxFQUFFO2dCQUMxQixjQUFjO2dCQUNkLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLDZCQUE2QixFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUV4RSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsdUJBQXVCLENBQUMsRUFBRSxHQUFHLEVBQUU7b0JBQzdDLE9BQU8sRUFBRSxDQUFDO2dCQUNaLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDO1lBRUYsK0JBQStCO1lBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO2dCQUNuQixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN0RCxZQUFZLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDO2dCQUN0QyxZQUFZLENBQUMsR0FBRyxHQUFHLHVDQUF1QyxDQUFDO2dCQUMzRCxZQUFZLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO2dCQUN0RCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUN6QztpQkFBTTtnQkFDTCxjQUFjLEVBQUUsQ0FBQzthQUNsQjtRQUNILENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDWCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O29IQXhDVSxzQkFBc0I7d0hBQXRCLHNCQUFzQixjQUZyQixNQUFNOzRGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDIzIFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IE1vbmFjbyBmcm9tICdtb25hY28tZWRpdG9yJztcblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgV2luZG93IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHJlcXVpcmU6IGFueTtcbiAgICBtb25hY286IHR5cGVvZiBNb25hY287XG4gIH1cbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEdpb01vbmFjb0VkaXRvclNlcnZpY2Uge1xuICBwdWJsaWMgbG9hZGVkJCA9IG5ldyBSZXBsYXlTdWJqZWN0PHsgbW9uYWNvOiB0eXBlb2YgTW9uYWNvIH0+KDEpO1xuICBwcml2YXRlIGxvYWRlZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBsb2FkRWRpdG9yKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmxvYWRlZCkge1xuICAgICAgLy8gQWxyZWFkeSBsb2FkZWQsIGRvIG5vdGhpbmcuXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPihyZXNvbHZlID0+IHtcbiAgICAgIC8vIE1vbmFjbyBpcyBhbHJlYWR5IGxvYWRlZFxuICAgICAgaWYgKHR5cGVvZiB3aW5kb3cubW9uYWNvID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgb25Hb3RBbWRMb2FkZXIgPSAoKSA9PiB7XG4gICAgICAgIC8vIExvYWQgTW9uYWNvXG4gICAgICAgIHdpbmRvdy5yZXF1aXJlLmNvbmZpZyh7IHBhdGhzOiB7IHZzOiAnYXNzZXRzL21vbmFjby1lZGl0b3IvbWluL3ZzJyB9IH0pO1xuXG4gICAgICAgIHdpbmRvdy5yZXF1aXJlKFsndnMvZWRpdG9yL2VkaXRvci5tYWluJ10sICgpID0+IHtcbiAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgIH0pO1xuICAgICAgfTtcblxuICAgICAgLy8gTG9hZCBBTUQgbG9hZGVyIGlmIG5lY2Vzc2FyeVxuICAgICAgaWYgKCF3aW5kb3cucmVxdWlyZSkge1xuICAgICAgICBjb25zdCBsb2FkZXJTY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgbG9hZGVyU2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcbiAgICAgICAgbG9hZGVyU2NyaXB0LnNyYyA9ICdhc3NldHMvbW9uYWNvLWVkaXRvci9taW4vdnMvbG9hZGVyLmpzJztcbiAgICAgICAgbG9hZGVyU2NyaXB0LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBvbkdvdEFtZExvYWRlcik7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobG9hZGVyU2NyaXB0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9uR290QW1kTG9hZGVyKCk7XG4gICAgICB9XG4gICAgfSkudGhlbigoKSA9PiB7XG4gICAgICB0aGlzLmxvYWRlZCQubmV4dCh7IG1vbmFjbzogd2luZG93Lm1vbmFjbyB9KTtcbiAgICB9KTtcbiAgfVxufVxuIl19