@skyux/inline-form 8.6.0 → 9.0.0-alpha.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 (23) hide show
  1. package/documentation.json +6 -6
  2. package/esm2022/lib/modules/inline-form/inline-form-adapter.service.mjs +60 -0
  3. package/esm2022/lib/modules/inline-form/inline-form.component.mjs +226 -0
  4. package/{esm2020 → esm2022}/lib/modules/inline-form/inline-form.module.mjs +5 -5
  5. package/esm2022/lib/modules/shared/sky-inline-form-resources.module.mjs +50 -0
  6. package/fesm2022/skyux-inline-form.mjs +400 -0
  7. package/{fesm2020 → fesm2022}/skyux-inline-form.mjs.map +1 -1
  8. package/lib/modules/inline-form/inline-form.component.d.ts +1 -1
  9. package/package.json +10 -16
  10. package/esm2020/lib/modules/inline-form/inline-form-adapter.service.mjs +0 -63
  11. package/esm2020/lib/modules/inline-form/inline-form.component.mjs +0 -224
  12. package/esm2020/lib/modules/shared/sky-inline-form-resources.module.mjs +0 -50
  13. package/fesm2015/skyux-inline-form.mjs +0 -400
  14. package/fesm2015/skyux-inline-form.mjs.map +0 -1
  15. package/fesm2020/skyux-inline-form.mjs +0 -400
  16. /package/{esm2020 → esm2022}/index.mjs +0 -0
  17. /package/{esm2020 → esm2022}/lib/modules/inline-form/animations/slide-dissolve.mjs +0 -0
  18. /package/{esm2020 → esm2022}/lib/modules/inline-form/types/inline-form-button-action.mjs +0 -0
  19. /package/{esm2020 → esm2022}/lib/modules/inline-form/types/inline-form-button-config.mjs +0 -0
  20. /package/{esm2020 → esm2022}/lib/modules/inline-form/types/inline-form-button-layout.mjs +0 -0
  21. /package/{esm2020 → esm2022}/lib/modules/inline-form/types/inline-form-close-args.mjs +0 -0
  22. /package/{esm2020 → esm2022}/lib/modules/inline-form/types/inline-form-config.mjs +0 -0
  23. /package/{esm2020 → esm2022}/skyux-inline-form.mjs +0 -0
@@ -1062,7 +1062,7 @@
1062
1062
  {
1063
1063
  "fileName": "inline-form-demo.component.html",
1064
1064
  "filePath": "/projects/inline-form/documentation/code-examples/inline-form/basic/inline-form-demo.component.html",
1065
- "rawContents": "<sky-inline-form\n [config]=\"inlineFormConfig\"\n [showForm]=\"showForm\"\n [template]=\"inlineFormTemplate\"\n (close)=\"onInlineFormClose($event)\"\n>\n <table>\n <tr>\n <th>First name:</th>\n <td>\n {{ firstName }}\n </td>\n <td>\n <button\n aria-label=\"Edit\"\n class=\"sky-btn sky-btn-icon-borderless\"\n (click)=\"onInlineFormOpen()\"\n >\n <sky-icon icon=\"pencil\"></sky-icon>\n </button>\n </td>\n </tr>\n </table>\n</sky-inline-form>\n\n<ng-template #inlineFormTemplate>\n <form novalidate [formGroup]=\"myForm\">\n <div class=\"sky-form-group\">\n <sky-input-box>\n <label class=\"sky-control-label\" [for]=\"firstNameInput.id\">\n First name\n </label>\n <input\n class=\"sky-form-control\"\n formControlName=\"myFirstName\"\n skyId\n type=\"text\"\n #firstNameInput=\"skyId\"\n />\n </sky-input-box>\n </div>\n </form>\n</ng-template>\n"
1065
+ "rawContents": "<sky-inline-form\n [config]=\"inlineFormConfig\"\n [showForm]=\"showForm\"\n [template]=\"inlineFormTemplate\"\n (close)=\"onInlineFormClose($event)\"\n>\n <table>\n <tr>\n <th>First name:</th>\n <td>\n {{ firstName }}\n </td>\n <td>\n <button\n aria-label=\"Edit\"\n class=\"sky-btn sky-btn-icon-borderless\"\n (click)=\"onInlineFormOpen()\"\n >\n <sky-icon icon=\"pencil\"></sky-icon>\n </button>\n </td>\n </tr>\n </table>\n</sky-inline-form>\n\n<ng-template #inlineFormTemplate>\n <form novalidate [formGroup]=\"myForm\">\n <div class=\"sky-form-group\">\n <sky-input-box labelText=\"First name\">\n <input formControlName=\"myFirstName\" type=\"text\" />\n </sky-input-box>\n </div>\n </form>\n</ng-template>\n"
1066
1066
  },
1067
1067
  {
1068
1068
  "fileName": "inline-form-demo.component.ts",
@@ -1072,12 +1072,12 @@
1072
1072
  {
1073
1073
  "fileName": "inline-form-demo.module.ts",
1074
1074
  "filePath": "/projects/inline-form/documentation/code-examples/inline-form/basic/inline-form-demo.module.ts",
1075
- "rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { SkyIdModule } from '@skyux/core';\nimport { SkyInputBoxModule } from '@skyux/forms';\nimport { SkyIconModule } from '@skyux/indicators';\nimport { SkyInlineFormModule } from '@skyux/inline-form';\n\nimport { InlineFormDemoComponent } from './inline-form-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n SkyIconModule,\n SkyIdModule,\n SkyInlineFormModule,\n SkyInputBoxModule,\n ],\n exports: [InlineFormDemoComponent],\n declarations: [InlineFormDemoComponent],\n})\nexport class InlineFormDemoModule {}\n"
1075
+ "rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { SkyInputBoxModule } from '@skyux/forms';\nimport { SkyIconModule } from '@skyux/indicators';\nimport { SkyInlineFormModule } from '@skyux/inline-form';\n\nimport { InlineFormDemoComponent } from './inline-form-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n SkyIconModule,\n SkyInlineFormModule,\n SkyInputBoxModule,\n ],\n exports: [InlineFormDemoComponent],\n declarations: [InlineFormDemoComponent],\n})\nexport class InlineFormDemoModule {}\n"
1076
1076
  },
1077
1077
  {
1078
1078
  "fileName": "inline-form-demo.component.html",
1079
1079
  "filePath": "/projects/inline-form/documentation/code-examples/inline-form/custom-buttons/inline-form-demo.component.html",
1080
- "rawContents": "<sky-inline-form\n [config]=\"inlineFormConfig\"\n [showForm]=\"showForm\"\n [template]=\"inlineFormTemplate\"\n (close)=\"onInlineFormClose($event)\"\n>\n <table>\n <tr>\n <th>First name:</th>\n <td>\n {{ firstName }}\n </td>\n <td>\n <button\n aria-label=\"Edit\"\n class=\"sky-btn sky-btn-icon-borderless\"\n (click)=\"onInlineFormOpen()\"\n >\n <sky-icon icon=\"pencil\"></sky-icon>\n </button>\n </td>\n </tr>\n </table>\n</sky-inline-form>\n\n<ng-template #inlineFormTemplate>\n <form novalidate [formGroup]=\"myForm\">\n <div class=\"sky-form-group\">\n <sky-input-box>\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"firstNameInput.id\"\n >\n First name\n </label>\n <input\n class=\"sky-form-control\"\n formControlName=\"myFirstName\"\n required\n skyId\n type=\"text\"\n #firstNameInput=\"skyId\"\n />\n </sky-input-box>\n </div>\n </form>\n</ng-template>\n"
1080
+ "rawContents": "<sky-inline-form\n [config]=\"inlineFormConfig\"\n [showForm]=\"showForm\"\n [template]=\"inlineFormTemplate\"\n (close)=\"onInlineFormClose($event)\"\n>\n <table>\n <tr>\n <th>First name:</th>\n <td>\n {{ firstName }}\n </td>\n <td>\n <button\n aria-label=\"Edit\"\n class=\"sky-btn sky-btn-icon-borderless\"\n (click)=\"onInlineFormOpen()\"\n >\n <sky-icon icon=\"pencil\"></sky-icon>\n </button>\n </td>\n </tr>\n </table>\n</sky-inline-form>\n\n<ng-template #inlineFormTemplate>\n <form novalidate [formGroup]=\"myForm\">\n <div class=\"sky-form-group\">\n <sky-input-box labelText=\"First name\">\n <input formControlName=\"myFirstName\" required type=\"text\" />\n </sky-input-box>\n </div>\n </form>\n</ng-template>\n"
1081
1081
  },
1082
1082
  {
1083
1083
  "fileName": "inline-form-demo.component.ts",
@@ -1087,7 +1087,7 @@
1087
1087
  {
1088
1088
  "fileName": "inline-form-demo.module.ts",
1089
1089
  "filePath": "/projects/inline-form/documentation/code-examples/inline-form/custom-buttons/inline-form-demo.module.ts",
1090
- "rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { SkyIdModule } from '@skyux/core';\nimport { SkyInputBoxModule } from '@skyux/forms';\nimport { SkyIconModule } from '@skyux/indicators';\nimport { SkyInlineFormModule } from '@skyux/inline-form';\n\nimport { InlineFormDemoComponent } from './inline-form-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n SkyIconModule,\n SkyIdModule,\n SkyInlineFormModule,\n SkyInputBoxModule,\n ],\n exports: [InlineFormDemoComponent],\n declarations: [InlineFormDemoComponent],\n})\nexport class InlineFormDemoModule {}\n"
1090
+ "rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { SkyInputBoxModule } from '@skyux/forms';\nimport { SkyIconModule } from '@skyux/indicators';\nimport { SkyInlineFormModule } from '@skyux/inline-form';\n\nimport { InlineFormDemoComponent } from './inline-form-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n SkyIconModule,\n SkyInlineFormModule,\n SkyInputBoxModule,\n ],\n exports: [InlineFormDemoComponent],\n declarations: [InlineFormDemoComponent],\n})\nexport class InlineFormDemoModule {}\n"
1091
1091
  },
1092
1092
  {
1093
1093
  "fileName": "inline-form-demo-item.ts",
@@ -1097,7 +1097,7 @@
1097
1097
  {
1098
1098
  "fileName": "inline-form-demo.component.html",
1099
1099
  "filePath": "/projects/inline-form/documentation/code-examples/inline-form/repeaters/inline-form-demo.component.html",
1100
- "rawContents": "<sky-repeater>\n <sky-repeater-item\n *ngFor=\"let item of items\"\n [inlineFormConfig]=\"inlineFormConfig\"\n [inlineFormTemplate]=\"inlineFormTemplate\"\n [showInlineForm]=\"activeInlineFormId === item.id\"\n (inlineFormClose)=\"onInlineFormClose($event)\"\n >\n <sky-repeater-item-title>\n <div class=\"sky-font-emphasized\">\n {{ item.title }}\n </div>\n </sky-repeater-item-title>\n <sky-repeater-item-context-menu>\n <button\n aria-label=\"Edit\"\n class=\"sky-btn sky-btn-icon-borderless\"\n type=\"button\"\n (click)=\"showInlineForm(item)\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"pencil\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"edit\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </sky-repeater-item-context-menu>\n\n <sky-repeater-item-content>\n {{ item.note }}\n </sky-repeater-item-content>\n </sky-repeater-item>\n</sky-repeater>\n\n<ng-template #inlineFormTemplate>\n <form novalidate [formGroup]=\"myForm\">\n <div class=\"sky-form-group\">\n <sky-input-box>\n <label class=\"sky-control-label\" [for]=\"myTitle.id\"> Title </label>\n <input\n class=\"sky-form-control\"\n formControlName=\"title\"\n skyId\n type=\"text\"\n #myTitle=\"skyId\"\n />\n </sky-input-box>\n </div>\n <div class=\"sky-form-group\">\n <sky-input-box>\n <label class=\"sky-control-label\" [for]=\"myNote.id\"> Note </label>\n <input\n class=\"sky-form-control\"\n formControlName=\"note\"\n skyId\n type=\"text\"\n #myNote=\"skyId\"\n />\n </sky-input-box>\n </div>\n </form>\n</ng-template>\n"
1100
+ "rawContents": "<sky-repeater>\n <sky-repeater-item\n *ngFor=\"let item of items\"\n [inlineFormConfig]=\"inlineFormConfig\"\n [inlineFormTemplate]=\"inlineFormTemplate\"\n [showInlineForm]=\"activeInlineFormId === item.id\"\n (inlineFormClose)=\"onInlineFormClose($event)\"\n >\n <sky-repeater-item-title>\n <div class=\"sky-font-emphasized\">\n {{ item.title }}\n </div>\n </sky-repeater-item-title>\n <sky-repeater-item-context-menu>\n <button\n aria-label=\"Edit\"\n class=\"sky-btn sky-btn-icon-borderless\"\n type=\"button\"\n (click)=\"showInlineForm(item)\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"pencil\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"edit\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </sky-repeater-item-context-menu>\n\n <sky-repeater-item-content>\n {{ item.note }}\n </sky-repeater-item-content>\n </sky-repeater-item>\n</sky-repeater>\n\n<ng-template #inlineFormTemplate>\n <form novalidate [formGroup]=\"myForm\">\n <sky-input-box labelTex=\"Title\" stacked=\"true\">\n <input formControlName=\"title\" type=\"text\" />\n </sky-input-box>\n <sky-input-box labelText=\"Note\">\n <input formControlName=\"note\" type=\"text\" />\n </sky-input-box>\n </form>\n</ng-template>\n"
1101
1101
  },
1102
1102
  {
1103
1103
  "fileName": "inline-form-demo.component.ts",
@@ -1107,7 +1107,7 @@
1107
1107
  {
1108
1108
  "fileName": "inline-form-demo.module.ts",
1109
1109
  "filePath": "/projects/inline-form/documentation/code-examples/inline-form/repeaters/inline-form-demo.module.ts",
1110
- "rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { SkyIdModule } from '@skyux/core';\nimport { SkyInputBoxModule } from '@skyux/forms';\nimport { SkyIconModule } from '@skyux/indicators';\nimport { SkyInlineFormModule } from '@skyux/inline-form';\nimport { SkyRepeaterModule } from '@skyux/lists';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { InlineFormDemoComponent } from './inline-form-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n SkyIconModule,\n SkyIdModule,\n SkyInlineFormModule,\n SkyInputBoxModule,\n SkyRepeaterModule,\n SkyThemeModule,\n ],\n exports: [InlineFormDemoComponent],\n declarations: [InlineFormDemoComponent],\n})\nexport class InlineFormDemoModule {}\n"
1110
+ "rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { SkyInputBoxModule } from '@skyux/forms';\nimport { SkyIconModule } from '@skyux/indicators';\nimport { SkyInlineFormModule } from '@skyux/inline-form';\nimport { SkyRepeaterModule } from '@skyux/lists';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { InlineFormDemoComponent } from './inline-form-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n SkyIconModule,\n SkyInlineFormModule,\n SkyInputBoxModule,\n SkyRepeaterModule,\n SkyThemeModule,\n ],\n exports: [InlineFormDemoComponent],\n declarations: [InlineFormDemoComponent],\n})\nexport class InlineFormDemoModule {}\n"
1111
1111
  }
1112
1112
  ]
1113
1113
  }
@@ -0,0 +1,60 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ const SKY_TABBABLE_SELECTOR = [
4
+ 'a[href]',
5
+ 'area[href]',
6
+ "input:not([disabled]):not([tabindex='-1'])",
7
+ "button:not([disabled]):not([tabindex='-1'])",
8
+ "select:not([disabled]):not([tabindex='-1'])",
9
+ "textarea:not([disabled]):not([tabindex='-1'])",
10
+ 'iframe',
11
+ 'object',
12
+ 'embed',
13
+ "*[tabindex]:not([tabindex='-1'])",
14
+ '*[contenteditable=true]',
15
+ ].join(', ');
16
+ /**
17
+ * @internal
18
+ */
19
+ export class SkyInlineFormAdapterService {
20
+ applyAutofocus(inlineFormElementRef) {
21
+ const inputWithAutofocus = inlineFormElementRef.nativeElement.querySelector('[autofocus]');
22
+ if (inputWithAutofocus) {
23
+ inputWithAutofocus.focus();
24
+ }
25
+ else {
26
+ const focusEl = inlineFormElementRef.nativeElement.querySelector('.sky-inline-form-content');
27
+ const focusableChildren = this.#loadFocusableChildren(focusEl);
28
+ this.#focusFirstElement(focusableChildren);
29
+ }
30
+ }
31
+ #loadFocusableChildren(elem) {
32
+ const elements = Array.prototype.slice.call(elem.querySelectorAll(SKY_TABBABLE_SELECTOR));
33
+ return elements.filter((element) => {
34
+ return this.#isVisible(element);
35
+ });
36
+ }
37
+ #isVisible(element) {
38
+ const style = window.getComputedStyle(element);
39
+ const isHidden = style.display === 'none' || style.visibility === 'hidden';
40
+ if (isHidden) {
41
+ return false;
42
+ }
43
+ /* istanbul ignore next */
44
+ const hasBounds = !!(element.offsetWidth ||
45
+ element.offsetHeight ||
46
+ element.getClientRects().length);
47
+ return hasBounds;
48
+ }
49
+ #focusFirstElement(list) {
50
+ if (list.length > 0) {
51
+ list[0].focus();
52
+ }
53
+ }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyInlineFormAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
55
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyInlineFormAdapterService }); }
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyInlineFormAdapterService, decorators: [{
58
+ type: Injectable
59
+ }] });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWZvcm0tYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2lubGluZS1mb3JtL3NyYy9saWIvbW9kdWxlcy9pbmxpbmUtZm9ybS9pbmxpbmUtZm9ybS1hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFdkQsTUFBTSxxQkFBcUIsR0FBRztJQUM1QixTQUFTO0lBQ1QsWUFBWTtJQUNaLDRDQUE0QztJQUM1Qyw2Q0FBNkM7SUFDN0MsNkNBQTZDO0lBQzdDLCtDQUErQztJQUMvQyxRQUFRO0lBQ1IsUUFBUTtJQUNSLE9BQU87SUFDUCxrQ0FBa0M7SUFDbEMseUJBQXlCO0NBQzFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRWI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sMkJBQTJCO0lBQy9CLGNBQWMsQ0FBQyxvQkFBZ0M7UUFDcEQsTUFBTSxrQkFBa0IsR0FDdEIsb0JBQW9CLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVsRSxJQUFJLGtCQUFrQixFQUFFO1lBQ3RCLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzVCO2FBQU07WUFDTCxNQUFNLE9BQU8sR0FDWCxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUM5QywwQkFBMEIsQ0FDM0IsQ0FBQztZQUNKLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRS9ELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQzVDO0lBQ0gsQ0FBQztJQUVELHNCQUFzQixDQUFDLElBQWlCO1FBQ3RDLE1BQU0sUUFBUSxHQUF1QixLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQzdELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUM3QyxDQUFDO1FBRUYsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDakMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFvQjtRQUM3QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0MsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE9BQU8sS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsS0FBSyxRQUFRLENBQUM7UUFDM0UsSUFBSSxRQUFRLEVBQUU7WUFDWixPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsMEJBQTBCO1FBQzFCLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUNsQixPQUFPLENBQUMsV0FBVztZQUNuQixPQUFPLENBQUMsWUFBWTtZQUNwQixPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsTUFBTSxDQUNoQyxDQUFDO1FBQ0YsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELGtCQUFrQixDQUFDLElBQXdCO1FBQ3pDLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDbkIsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQzs4R0FoRFUsMkJBQTJCO2tIQUEzQiwyQkFBMkI7OzJGQUEzQiwyQkFBMkI7a0JBRHZDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmNvbnN0IFNLWV9UQUJCQUJMRV9TRUxFQ1RPUiA9IFtcbiAgJ2FbaHJlZl0nLFxuICAnYXJlYVtocmVmXScsXG4gIFwiaW5wdXQ6bm90KFtkaXNhYmxlZF0pOm5vdChbdGFiaW5kZXg9Jy0xJ10pXCIsXG4gIFwiYnV0dG9uOm5vdChbZGlzYWJsZWRdKTpub3QoW3RhYmluZGV4PSctMSddKVwiLFxuICBcInNlbGVjdDpub3QoW2Rpc2FibGVkXSk6bm90KFt0YWJpbmRleD0nLTEnXSlcIixcbiAgXCJ0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSk6bm90KFt0YWJpbmRleD0nLTEnXSlcIixcbiAgJ2lmcmFtZScsXG4gICdvYmplY3QnLFxuICAnZW1iZWQnLFxuICBcIipbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg9Jy0xJ10pXCIsXG4gICcqW2NvbnRlbnRlZGl0YWJsZT10cnVlXScsXG5dLmpvaW4oJywgJyk7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lJbmxpbmVGb3JtQWRhcHRlclNlcnZpY2Uge1xuICBwdWJsaWMgYXBwbHlBdXRvZm9jdXMoaW5saW5lRm9ybUVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dFdpdGhBdXRvZm9jdXMgPVxuICAgICAgaW5saW5lRm9ybUVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdbYXV0b2ZvY3VzXScpO1xuXG4gICAgaWYgKGlucHV0V2l0aEF1dG9mb2N1cykge1xuICAgICAgaW5wdXRXaXRoQXV0b2ZvY3VzLmZvY3VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGZvY3VzRWw6IEhUTUxFbGVtZW50ID1cbiAgICAgICAgaW5saW5lRm9ybUVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgICcuc2t5LWlubGluZS1mb3JtLWNvbnRlbnQnXG4gICAgICAgICk7XG4gICAgICBjb25zdCBmb2N1c2FibGVDaGlsZHJlbiA9IHRoaXMuI2xvYWRGb2N1c2FibGVDaGlsZHJlbihmb2N1c0VsKTtcblxuICAgICAgdGhpcy4jZm9jdXNGaXJzdEVsZW1lbnQoZm9jdXNhYmxlQ2hpbGRyZW4pO1xuICAgIH1cbiAgfVxuXG4gICNsb2FkRm9jdXNhYmxlQ2hpbGRyZW4oZWxlbTogSFRNTEVsZW1lbnQpOiBIVE1MRWxlbWVudFtdIHtcbiAgICBjb25zdCBlbGVtZW50czogQXJyYXk8SFRNTEVsZW1lbnQ+ID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoXG4gICAgICBlbGVtLnF1ZXJ5U2VsZWN0b3JBbGwoU0tZX1RBQkJBQkxFX1NFTEVDVE9SKVxuICAgICk7XG5cbiAgICByZXR1cm4gZWxlbWVudHMuZmlsdGVyKChlbGVtZW50KSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy4jaXNWaXNpYmxlKGVsZW1lbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgI2lzVmlzaWJsZShlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gICAgY29uc3QgaXNIaWRkZW4gPSBzdHlsZS5kaXNwbGF5ID09PSAnbm9uZScgfHwgc3R5bGUudmlzaWJpbGl0eSA9PT0gJ2hpZGRlbic7XG4gICAgaWYgKGlzSGlkZGVuKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBjb25zdCBoYXNCb3VuZHMgPSAhIShcbiAgICAgIGVsZW1lbnQub2Zmc2V0V2lkdGggfHxcbiAgICAgIGVsZW1lbnQub2Zmc2V0SGVpZ2h0IHx8XG4gICAgICBlbGVtZW50LmdldENsaWVudFJlY3RzKCkubGVuZ3RoXG4gICAgKTtcbiAgICByZXR1cm4gaGFzQm91bmRzO1xuICB9XG5cbiAgI2ZvY3VzRmlyc3RFbGVtZW50KGxpc3Q6IEFycmF5PEhUTUxFbGVtZW50Pik6IHZvaWQge1xuICAgIGlmIChsaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgIGxpc3RbMF0uZm9jdXMoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,226 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { ReplaySubject, Subject, zip as observableZip } from 'rxjs';
3
+ import { takeUntil } from 'rxjs/operators';
4
+ import { skySlideDissolve } from './animations/slide-dissolve';
5
+ import { SkyInlineFormAdapterService } from './inline-form-adapter.service';
6
+ import { SkyInlineFormButtonLayout } from './types/inline-form-button-layout';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "./inline-form-adapter.service";
9
+ import * as i2 from "@skyux/i18n";
10
+ import * as i3 from "@skyux/core";
11
+ import * as i4 from "@angular/common";
12
+ /**
13
+ * Renders form content in the current view instead of a separate modal.
14
+ */
15
+ export class SkyInlineFormComponent {
16
+ /**
17
+ * Configuration options for the buttons to display with the inline form.
18
+ * @required
19
+ */
20
+ set config(value) {
21
+ if (value !== this.#_config && !!value) {
22
+ this.#_config = value;
23
+ this.#setupButtons();
24
+ }
25
+ }
26
+ get config() {
27
+ return this.#_config;
28
+ }
29
+ /**
30
+ * Whether to display the inline form. Users can toggle between displaying
31
+ * and hiding the inline form.
32
+ * @default false
33
+ */
34
+ set showForm(value) {
35
+ this.#_showForm = value;
36
+ /* istanbul ignore else */
37
+ if (value) {
38
+ // setTimeout() prevents applyAutofocus() from firing
39
+ // until after *ngIf has added the form element to the DOM.
40
+ this.#skyAppWindowRef.nativeWindow.setTimeout(() => {
41
+ this.#adapter.applyAutofocus(this.#elementRef);
42
+ });
43
+ }
44
+ }
45
+ get showForm() {
46
+ return this.#_showForm;
47
+ }
48
+ #_config;
49
+ #_showForm;
50
+ #ngUnsubscribe;
51
+ #adapter;
52
+ #elementRef;
53
+ #resourcesService;
54
+ #skyAppWindowRef;
55
+ #changeDetectorRef;
56
+ constructor(adapter, elementRef, resourcesService, skyAppWindowRef, changeDetectorRef) {
57
+ /**
58
+ * Fires when users close the inline form.
59
+ */
60
+ this.close = new EventEmitter();
61
+ this.#_showForm = false;
62
+ this.#ngUnsubscribe = new Subject();
63
+ this.#adapter = adapter;
64
+ this.#elementRef = elementRef;
65
+ this.#resourcesService = resourcesService;
66
+ this.#skyAppWindowRef = skyAppWindowRef;
67
+ this.#changeDetectorRef = changeDetectorRef;
68
+ }
69
+ ngOnInit() {
70
+ this.#setupButtons();
71
+ }
72
+ ngOnDestroy() {
73
+ this.#ngUnsubscribe.next();
74
+ this.#ngUnsubscribe.complete();
75
+ this.close.complete();
76
+ }
77
+ closeInlineForm(event) {
78
+ const args = {
79
+ reason: event.action,
80
+ };
81
+ this.close.emit(args);
82
+ }
83
+ #setupButtons() {
84
+ if (this.#isValidCustomConfig(this.config) &&
85
+ this.config &&
86
+ this.config.buttons) {
87
+ this.buttons = this.#getCustomButtons(this.config.buttons);
88
+ this.#changeDetectorRef.markForCheck();
89
+ return;
90
+ }
91
+ this.#getPresetButtons()
92
+ .pipe(takeUntil(this.#ngUnsubscribe))
93
+ .subscribe((buttons) => {
94
+ this.buttons = buttons;
95
+ this.#changeDetectorRef.markForCheck();
96
+ });
97
+ }
98
+ #getPresetButtons() {
99
+ const emitter = new ReplaySubject(1);
100
+ const buttonType = this.config
101
+ ? this.config.buttonLayout
102
+ : SkyInlineFormButtonLayout.DoneCancel;
103
+ switch (buttonType) {
104
+ /* istanbul ignore next */
105
+ default:
106
+ case SkyInlineFormButtonLayout.DoneCancel:
107
+ observableZip(this.#resourcesService.getString('skyux_inline_form_button_done'), this.#resourcesService.getString('skyux_inline_form_button_cancel'))
108
+ .pipe(takeUntil(this.#ngUnsubscribe))
109
+ .subscribe((values) => {
110
+ emitter.next([
111
+ {
112
+ text: values[0],
113
+ styleType: 'primary',
114
+ action: 'done',
115
+ },
116
+ {
117
+ text: values[1],
118
+ styleType: 'link',
119
+ action: 'cancel',
120
+ },
121
+ ]);
122
+ });
123
+ break;
124
+ case SkyInlineFormButtonLayout.SaveCancel:
125
+ observableZip(this.#resourcesService.getString('skyux_inline_form_button_save'), this.#resourcesService.getString('skyux_inline_form_button_cancel'))
126
+ .pipe(takeUntil(this.#ngUnsubscribe))
127
+ .subscribe((values) => {
128
+ emitter.next([
129
+ {
130
+ text: values[0],
131
+ styleType: 'primary',
132
+ action: 'save',
133
+ },
134
+ {
135
+ text: values[1],
136
+ styleType: 'link',
137
+ action: 'cancel',
138
+ },
139
+ ]);
140
+ });
141
+ break;
142
+ case SkyInlineFormButtonLayout.DoneDeleteCancel:
143
+ observableZip(this.#resourcesService.getString('skyux_inline_form_button_done'), this.#resourcesService.getString('skyux_inline_form_button_delete'), this.#resourcesService.getString('skyux_inline_form_button_cancel'))
144
+ .pipe(takeUntil(this.#ngUnsubscribe))
145
+ .subscribe((values) => {
146
+ emitter.next([
147
+ {
148
+ text: values[0],
149
+ styleType: 'primary',
150
+ action: 'done',
151
+ },
152
+ {
153
+ text: values[1],
154
+ styleType: 'default',
155
+ action: 'delete',
156
+ },
157
+ {
158
+ text: values[2],
159
+ styleType: 'link',
160
+ action: 'cancel',
161
+ },
162
+ ]);
163
+ });
164
+ break;
165
+ case SkyInlineFormButtonLayout.SaveDeleteCancel:
166
+ observableZip(this.#resourcesService.getString('skyux_inline_form_button_save'), this.#resourcesService.getString('skyux_inline_form_button_delete'), this.#resourcesService.getString('skyux_inline_form_button_cancel'))
167
+ .pipe(takeUntil(this.#ngUnsubscribe))
168
+ .subscribe((values) => {
169
+ emitter.next([
170
+ {
171
+ text: values[0],
172
+ styleType: 'primary',
173
+ action: 'save',
174
+ },
175
+ {
176
+ text: values[1],
177
+ styleType: 'default',
178
+ action: 'delete',
179
+ },
180
+ {
181
+ text: values[2],
182
+ styleType: 'link',
183
+ action: 'cancel',
184
+ },
185
+ ]);
186
+ });
187
+ break;
188
+ }
189
+ return emitter.asObservable();
190
+ }
191
+ #getCustomButtons(buttonConfigs) {
192
+ const buttons = [];
193
+ buttonConfigs.forEach((config) => {
194
+ /* istanbul ignore next */
195
+ const styleType = config.styleType || 'default';
196
+ buttons.push({
197
+ action: config.action,
198
+ disabled: config.disabled,
199
+ styleType: styleType,
200
+ text: config.text,
201
+ });
202
+ });
203
+ return buttons;
204
+ }
205
+ #isValidCustomConfig(config) {
206
+ return (!!config &&
207
+ !!config.buttons &&
208
+ config.buttons.length > 0 &&
209
+ config.buttonLayout === SkyInlineFormButtonLayout.Custom);
210
+ }
211
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyInlineFormComponent, deps: [{ token: i1.SkyInlineFormAdapterService }, { token: i0.ElementRef }, { token: i2.SkyLibResourcesService }, { token: i3.SkyAppWindowRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
212
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyInlineFormComponent, selector: "sky-inline-form", inputs: { config: "config", template: "template", showForm: "showForm" }, outputs: { close: "close" }, providers: [SkyInlineFormAdapterService], ngImport: i0, template: "<div [@skySlideDissolve]=\"showForm\">\n <div *ngIf=\"!showForm\" class=\"sky-slide-dissolve-first\">\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"template && showForm\" class=\"sky-slide-dissolve-last\">\n <div class=\"sky-inline-form sky-shadow sky-box sky-elevation-3\">\n <div class=\"sky-inline-form-content\">\n <ng-container [ngTemplateOutlet]=\"template\"> </ng-container>\n </div>\n <div class=\"sky-inline-form-footer\">\n <button\n *ngFor=\"let button of buttons\"\n class=\"sky-btn {{ 'sky-btn-' + button.styleType }}\"\n type=\"button\"\n [disabled]=\"button.disabled ? true : null\"\n [ngClass]=\"{ 'sky-btn-disabled': button.disabled }\"\n (click)=\"closeInlineForm(button)\"\n >\n {{ button.text }}\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".sky-inline-form{background:#eeeeef;border:1px solid #cdcfd2;padding:10px;width:100%}.sky-inline-form .sky-inline-form-footer{margin-top:20px}.sky-inline-form .sky-inline-form-footer button{margin:0 5px 0 0}:host-context(.sky-theme-modern) .sky-inline-form{background-color:#fff;border:none;padding:15px}:host-context(.sky-theme-modern) .sky-inline-form .sky-inline-form-footer{margin-top:30px}:host-context(.sky-theme-modern) .sky-inline-form .sky-inline-form-footer button{margin-right:10px}.sky-theme-modern .sky-inline-form{background-color:#fff;border:none;padding:15px}.sky-theme-modern .sky-inline-form .sky-inline-form-footer{margin-top:30px}.sky-theme-modern .sky-inline-form .sky-inline-form-footer button{margin-right:10px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-inline-form{background-color:#232427}.sky-theme-modern.sky-theme-mode-dark .sky-inline-form{background-color:#232427}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [skySlideDissolve], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
213
+ }
214
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyInlineFormComponent, decorators: [{
215
+ type: Component,
216
+ args: [{ selector: 'sky-inline-form', changeDetection: ChangeDetectionStrategy.OnPush, providers: [SkyInlineFormAdapterService], animations: [skySlideDissolve], template: "<div [@skySlideDissolve]=\"showForm\">\n <div *ngIf=\"!showForm\" class=\"sky-slide-dissolve-first\">\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"template && showForm\" class=\"sky-slide-dissolve-last\">\n <div class=\"sky-inline-form sky-shadow sky-box sky-elevation-3\">\n <div class=\"sky-inline-form-content\">\n <ng-container [ngTemplateOutlet]=\"template\"> </ng-container>\n </div>\n <div class=\"sky-inline-form-footer\">\n <button\n *ngFor=\"let button of buttons\"\n class=\"sky-btn {{ 'sky-btn-' + button.styleType }}\"\n type=\"button\"\n [disabled]=\"button.disabled ? true : null\"\n [ngClass]=\"{ 'sky-btn-disabled': button.disabled }\"\n (click)=\"closeInlineForm(button)\"\n >\n {{ button.text }}\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".sky-inline-form{background:#eeeeef;border:1px solid #cdcfd2;padding:10px;width:100%}.sky-inline-form .sky-inline-form-footer{margin-top:20px}.sky-inline-form .sky-inline-form-footer button{margin:0 5px 0 0}:host-context(.sky-theme-modern) .sky-inline-form{background-color:#fff;border:none;padding:15px}:host-context(.sky-theme-modern) .sky-inline-form .sky-inline-form-footer{margin-top:30px}:host-context(.sky-theme-modern) .sky-inline-form .sky-inline-form-footer button{margin-right:10px}.sky-theme-modern .sky-inline-form{background-color:#fff;border:none;padding:15px}.sky-theme-modern .sky-inline-form .sky-inline-form-footer{margin-top:30px}.sky-theme-modern .sky-inline-form .sky-inline-form-footer button{margin-right:10px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-inline-form{background-color:#232427}.sky-theme-modern.sky-theme-mode-dark .sky-inline-form{background-color:#232427}\n"] }]
217
+ }], ctorParameters: function () { return [{ type: i1.SkyInlineFormAdapterService }, { type: i0.ElementRef }, { type: i2.SkyLibResourcesService }, { type: i3.SkyAppWindowRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { config: [{
218
+ type: Input
219
+ }], template: [{
220
+ type: Input
221
+ }], showForm: [{
222
+ type: Input
223
+ }], close: [{
224
+ type: Output
225
+ }] } });
226
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2lubGluZS1mb3JtL3NyYy9saWIvbW9kdWxlcy9pbmxpbmUtZm9ybS9pbmxpbmUtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW5saW5lLWZvcm0vc3JjL2xpYi9tb2R1bGVzL2lubGluZS1mb3JtL2lubGluZS1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBYyxhQUFhLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTVFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7QUFJOUU7O0dBRUc7QUFTSCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDOzs7T0FHRztJQUNILElBQ1csTUFBTSxDQUFDLEtBQXNDO1FBQ3RELElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRTtZQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENB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QkFDekIsU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTthQUNXLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxNQUF1QztRQUMxRCxPQUFPLENBQ0wsQ0FBQyxDQUFDLE1BQU07WUFDUixDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDaEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUN6QixNQUFNLENBQUMsWUFBWSxLQUFLLHlCQUF5QixDQUFDLE1BQU0sQ0FDekQsQ0FBQztJQUNKLENBQUM7OEdBclFVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLGlKQUh0QixDQUFDLDJCQUEyQixDQUFDLDBCQ2pDMUMsazRCQXlCQSxpNkNEU2MsQ0FBQyxnQkFBZ0IsQ0FBQzs7MkZBRW5CLHNCQUFzQjtrQkFSbEMsU0FBUzsrQkFDRSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLDJCQUEyQixDQUFDLGNBQzVCLENBQUMsZ0JBQWdCLENBQUM7OE9BUW5CLE1BQU07c0JBRGhCLEtBQUs7Z0JBaUJDLFFBQVE7c0JBRGQsS0FBSztnQkFTSyxRQUFRO3NCQURsQixLQUFLO2dCQXVCQyxLQUFLO3NCQUZYLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5QXBwV2luZG93UmVmIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCwgemlwIGFzIG9ic2VydmFibGVaaXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgc2t5U2xpZGVEaXNzb2x2ZSB9IGZyb20gJy4vYW5pbWF0aW9ucy9zbGlkZS1kaXNzb2x2ZSc7XG5pbXBvcnQgeyBTa3lJbmxpbmVGb3JtQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL2lubGluZS1mb3JtLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lJbmxpbmVGb3JtQnV0dG9uQ29uZmlnIH0gZnJvbSAnLi90eXBlcy9pbmxpbmUtZm9ybS1idXR0b24tY29uZmlnJztcbmltcG9ydCB7IFNreUlubGluZUZvcm1CdXR0b25MYXlvdXQgfSBmcm9tICcuL3R5cGVzL2lubGluZS1mb3JtLWJ1dHRvbi1sYXlvdXQnO1xuaW1wb3J0IHsgU2t5SW5saW5lRm9ybUNsb3NlQXJncyB9IGZyb20gJy4vdHlwZXMvaW5saW5lLWZvcm0tY2xvc2UtYXJncyc7XG5pbXBvcnQgeyBTa3lJbmxpbmVGb3JtQ29uZmlnIH0gZnJvbSAnLi90eXBlcy9pbmxpbmUtZm9ybS1jb25maWcnO1xuXG4vKipcbiAqIFJlbmRlcnMgZm9ybSBjb250ZW50IGluIHRoZSBjdXJyZW50IHZpZXcgaW5zdGVhZCBvZiBhIHNlcGFyYXRlIG1vZGFsLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktaW5saW5lLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5saW5lLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbmxpbmUtZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbU2t5SW5saW5lRm9ybUFkYXB0ZXJTZXJ2aWNlXSxcbiAgYW5pbWF0aW9uczogW3NreVNsaWRlRGlzc29sdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lJbmxpbmVGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgYnV0dG9ucyB0byBkaXNwbGF5IHdpdGggdGhlIGlubGluZSBmb3JtLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY29uZmlnKHZhbHVlOiBTa3lJbmxpbmVGb3JtQ29uZmlnIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLiNfY29uZmlnICYmICEhdmFsdWUpIHtcbiAgICAgIHRoaXMuI19jb25maWcgPSB2YWx1ZTtcbiAgICAgIHRoaXMuI3NldHVwQnV0dG9ucygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29uZmlnKCk6IFNreUlubGluZUZvcm1Db25maWcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfY29uZmlnO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB0ZW1wbGF0ZSB0byBpbnN0YW50aWF0ZSB0aGUgaW5saW5lIGZvcm0uXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogV2hldGhlciB0byBkaXNwbGF5IHRoZSBpbmxpbmUgZm9ybS4gVXNlcnMgY2FuIHRvZ2dsZSBiZXR3ZWVuIGRpc3BsYXlpbmdcbiAgICogYW5kIGhpZGluZyB0aGUgaW5saW5lIGZvcm0uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNob3dGb3JtKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX3Nob3dGb3JtID0gdmFsdWU7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgLy8gc2V0VGltZW91dCgpIHByZXZlbnRzIGFwcGx5QXV0b2ZvY3VzKCkgZnJvbSBmaXJpbmdcbiAgICAgIC8vIHVudGlsIGFmdGVyICpuZ0lmIGhhcyBhZGRlZCB0aGUgZm9ybSBlbGVtZW50IHRvIHRoZSBET00uXG4gICAgICB0aGlzLiNza3lBcHBXaW5kb3dSZWYubmF0aXZlV2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLiNhZGFwdGVyLmFwcGx5QXV0b2ZvY3VzKHRoaXMuI2VsZW1lbnRSZWYpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBzaG93Rm9ybSgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX3Nob3dGb3JtO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgY2xvc2UgdGhlIGlubGluZSBmb3JtLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBwdWJsaWMgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNreUlubGluZUZvcm1DbG9zZUFyZ3M+KCk7XG5cbiAgLy8gVE9ETzogaGFuZGxlIGJ1dHRvbnMgYmVpbmcgc2V0IGFzeW5jaHJvbm91c2x5IChcInwgdW5kZWZpbmVkXCIpIHdoZW4gc2V0dGluZyBhdXRvZm9jdXNcbiAgcHVibGljIGJ1dHRvbnMhOiBTa3lJbmxpbmVGb3JtQnV0dG9uQ29uZmlnW107XG5cbiAgI19jb25maWc6IFNreUlubGluZUZvcm1Db25maWcgfCB1bmRlZmluZWQ7XG5cbiAgI19zaG93Rm9ybTogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjYWRhcHRlcjogU2t5SW5saW5lRm9ybUFkYXB0ZXJTZXJ2aWNlO1xuICAjZWxlbWVudFJlZjogRWxlbWVudFJlZjtcbiAgI3Jlc291cmNlc1NlcnZpY2U6IFNreUxpYlJlc291cmNlc1NlcnZpY2U7XG4gICNza3lBcHBXaW5kb3dSZWY6IFNreUFwcFdpbmRvd1JlZjtcbiAgI2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhZGFwdGVyOiBTa3lJbmxpbmVGb3JtQWRhcHRlclNlcnZpY2UsXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICByZXNvdXJjZXNTZXJ2aWNlOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlLFxuICAgIHNreUFwcFdpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmLFxuICAgIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICB0aGlzLiNhZGFwdGVyID0gYWRhcHRlcjtcbiAgICB0aGlzLiNlbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgICB0aGlzLiNyZXNvdXJjZXNTZXJ2aWNlID0gcmVzb3VyY2VzU2VydmljZTtcbiAgICB0aGlzLiNza3lBcHBXaW5kb3dSZWYgPSBza3lBcHBXaW5kb3dSZWY7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3JSZWYgPSBjaGFuZ2VEZXRlY3RvclJlZjtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNzZXR1cEJ1dHRvbnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG5cbiAgICB0aGlzLmNsb3NlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VJbmxpbmVGb3JtKGV2ZW50OiBTa3lJbmxpbmVGb3JtQnV0dG9uQ29uZmlnKTogdm9pZCB7XG4gICAgY29uc3QgYXJnczogU2t5SW5saW5lRm9ybUNsb3NlQXJncyA9IHtcbiAgICAgIHJlYXNvbjogZXZlbnQuYWN0aW9uLFxuICAgIH07XG4gICAgdGhpcy5jbG9zZS5lbWl0KGFyZ3MpO1xuICB9XG5cbiAgI3NldHVwQnV0dG9ucygpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLiNpc1ZhbGlkQ3VzdG9tQ29uZmlnKHRoaXMuY29uZmlnKSAmJlxuICAgICAgdGhpcy5jb25maWcgJiZcbiAgICAgIHRoaXMuY29uZmlnLmJ1dHRvbnNcbiAgICApIHtcbiAgICAgIHRoaXMuYnV0dG9ucyA9IHRoaXMuI2dldEN1c3RvbUJ1dHRvbnModGhpcy5jb25maWcuYnV0dG9ucyk7XG4gICAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLiNnZXRQcmVzZXRCdXR0b25zKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGJ1dHRvbnM6IFNreUlubGluZUZvcm1CdXR0b25Db25maWdbXSkgPT4ge1xuICAgICAgICB0aGlzLmJ1dHRvbnMgPSBidXR0b25zO1xuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgI2dldFByZXNldEJ1dHRvbnMoKTogT2JzZXJ2YWJsZTxTa3lJbmxpbmVGb3JtQnV0dG9uQ29uZmlnW10+IHtcbiAgICBjb25zdCBlbWl0dGVyID0gbmV3IFJlcGxheVN1YmplY3Q8U2t5SW5saW5lRm9ybUJ1dHRvbkNvbmZpZ1tdPigxKTtcblxuICAgIGNvbnN0IGJ1dHRvblR5cGUgPSB0aGlzLmNvbmZpZ1xuICAgICAgPyB0aGlzLmNvbmZpZy5idXR0b25MYXlvdXRcbiAgICAgIDogU2t5SW5saW5lRm9ybUJ1dHRvbkxheW91dC5Eb25lQ2FuY2VsO1xuXG4gICAgc3dpdGNoIChidXR0b25UeXBlKSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgZGVmYXVsdDpcbiAgICAgIGNhc2UgU2t5SW5saW5lRm9ybUJ1dHRvbkxheW91dC5Eb25lQ2FuY2VsOlxuICAgICAgICBvYnNlcnZhYmxlWmlwKFxuICAgICAgICAgIHRoaXMuI3Jlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nKCdza3l1eF9pbmxpbmVfZm9ybV9idXR0b25fZG9uZScpLFxuICAgICAgICAgIHRoaXMuI3Jlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nKCdza3l1eF9pbmxpbmVfZm9ybV9idXR0b25fY2FuY2VsJylcbiAgICAgICAgKVxuICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZXM6IHN0cmluZ1tdKSA9PiB7XG4gICAgICAgICAgICBlbWl0dGVyLm5leHQoW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGV4dDogdmFsdWVzWzBdLFxuICAgICAgICAgICAgICAgIHN0eWxlVHlwZTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogJ2RvbmUnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGV4dDogdmFsdWVzWzFdLFxuICAgICAgICAgICAgICAgIHN0eWxlVHlwZTogJ2xpbmsnLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogJ2NhbmNlbCcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5SW5saW5lRm9ybUJ1dHRvbkxheW91dC5TYXZlQ2FuY2VsOlxuICAgICAgICBvYnNlcnZhYmxlWmlwKFxuICAgICAgICAgIHRoaXMuI3Jlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nKCdza3l1eF9pbmxpbmVfZm9ybV9idXR0b25fc2F2ZScpLFxuICAgICAgICAgIHRoaXMuI3Jlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nKCdza3l1eF9pbmxpbmVfZm9ybV9idXR0b25fY2FuY2VsJylcbiAgICAgICAgKVxuICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZXM6IHN0cmluZ1tdKSA9PiB7XG4gICAgICAgICAgICBlbWl0dGVyLm5leHQoW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGV4dDogdmFsdWVzWzBdLFxuICAgICAgICAgICAgICAgIHN0eWxlVHlwZTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogJ3NhdmUnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGV4dDogdmFsdWVzWzFdLFxuICAgICAgICAgICAgICAgIHN0eWxlVHlwZTogJ2xpbmsnLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogJ2NhbmNlbCcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5SW5saW5lRm9ybUJ1dHRvbkxheW91dC5Eb25lRGVsZXRlQ2FuY2VsOlxuICAgICAgICBvYnNlcnZhYmxlWmlwKFxuICAgICAgICAgIHRoaXMuI3Jlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nKCdza3l1eF9pbmxpbmVfZm9ybV9idXR0b25fZG9uZScpLFxuICAgICAgICAgIHRoaXMuI3Jlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nKCdza3l1eF9pbmxpbmVfZm9ybV9idXR0b25fZGVsZXRlJyksXG4gICAgICAgICAgdGhpcy4jcmVzb3VyY2VzU2VydmljZS5nZXRTdHJpbmcoJ3NreXV4X2lubGluZV9mb3JtX2J1dHRvbl9jYW5jZWwnKVxuICAgICAgICApXG4gICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlczogc3RyaW5nW10pID0+IHtcbiAgICAgICAgICAgIGVtaXR0ZXIubmV4dChbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiB2YWx1ZXNbMF0sXG4gICAgICAgICAgICAgICAgc3R5bGVUeXBlOiAncHJpbWFyeScsXG4gICAgICAgICAgICAgICAgYWN0aW9uOiAnZG9uZScsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiB2YWx1ZXNbMV0sXG4gICAgICAgICAgICAgICAgc3R5bGVUeXBlOiAnZGVmYXVsdCcsXG4gICAgICAgICAgICAgICAgYWN0aW9uOiAnZGVsZXRlJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRleHQ6IHZhbHVlc1syXSxcbiAgICAgICAgICAgICAgICBzdHlsZVR5cGU6ICdsaW5rJyxcbiAgICAgICAgICAgICAgICBhY3Rpb246ICdjYW5jZWwnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreUlubGluZUZvcm1CdXR0b25MYXlvdXQuU2F2ZURlbGV0ZUNhbmNlbDpcbiAgICAgICAgb2JzZXJ2YWJsZVppcChcbiAgICAgICAgICB0aGlzLiNyZXNvdXJjZXNTZXJ2aWNlLmdldFN0cmluZygnc2t5dXhfaW5saW5lX2Zvcm1fYnV0dG9uX3NhdmUnKSxcbiAgICAgICAgICB0aGlzLiNyZXNvdXJjZXNTZXJ2aWNlLmdldFN0cmluZygnc2t5dXhfaW5saW5lX2Zvcm1fYnV0dG9uX2RlbGV0ZScpLFxuICAgICAgICAgIHRoaXMuI3Jlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nKCdza3l1eF9pbmxpbmVfZm9ybV9idXR0b25fY2FuY2VsJylcbiAgICAgICAgKVxuICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZXM6IHN0cmluZ1tdKSA9PiB7XG4gICAgICAgICAgICBlbWl0dGVyLm5leHQoW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGV4dDogdmFsdWVzWzBdLFxuICAgICAgICAgICAgICAgIHN0eWxlVHlwZTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogJ3NhdmUnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGV4dDogdmFsdWVzWzFdLFxuICAgICAgICAgICAgICAgIHN0eWxlVHlwZTogJ2RlZmF1bHQnLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogJ2RlbGV0ZScsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiB2YWx1ZXNbMl0sXG4gICAgICAgICAgICAgICAgc3R5bGVUeXBlOiAnbGluaycsXG4gICAgICAgICAgICAgICAgYWN0aW9uOiAnY2FuY2VsJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gZW1pdHRlci5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gICNnZXRDdXN0b21CdXR0b25zKFxuICAgIGJ1dHRvbkNvbmZpZ3M6IFNreUlubGluZUZvcm1CdXR0b25Db25maWdbXVxuICApOiBTa3lJbmxpbmVGb3JtQnV0dG9uQ29uZmlnW10ge1xuICAgIGNvbnN0IGJ1dHRvbnM6IFNreUlubGluZUZvcm1CdXR0b25Db25maWdbXSA9IFtdO1xuXG4gICAgYnV0dG9uQ29uZmlncy5mb3JFYWNoKChjb25maWc6IFNreUlubGluZUZvcm1CdXR0b25Db25maWcpID0+IHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICBjb25zdCBzdHlsZVR5cGUgPSBjb25maWcuc3R5bGVUeXBlIHx8ICdkZWZhdWx0JztcblxuICAgICAgYnV0dG9ucy5wdXNoKHtcbiAgICAgICAgYWN0aW9uOiBjb25maWcuYWN0aW9uLFxuICAgICAgICBkaXNhYmxlZDogY29uZmlnLmRpc2FibGVkLFxuICAgICAgICBzdHlsZVR5cGU6IHN0eWxlVHlwZSxcbiAgICAgICAgdGV4dDogY29uZmlnLnRleHQsXG4gICAgICB9IGFzIFNreUlubGluZUZvcm1CdXR0b25Db25maWcpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGJ1dHRvbnM7XG4gIH1cblxuICAjaXNWYWxpZEN1c3RvbUNvbmZpZyhjb25maWc6IFNreUlubGluZUZvcm1Db25maWcgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgISFjb25maWcgJiZcbiAgICAgICEhY29uZmlnLmJ1dHRvbnMgJiZcbiAgICAgIGNvbmZpZy5idXR0b25zLmxlbmd0aCA+IDAgJiZcbiAgICAgIGNvbmZpZy5idXR0b25MYXlvdXQgPT09IFNreUlubGluZUZvcm1CdXR0b25MYXlvdXQuQ3VzdG9tXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBbQHNreVNsaWRlRGlzc29sdmVdPVwic2hvd0Zvcm1cIj5cbiAgPGRpdiAqbmdJZj1cIiFzaG93Rm9ybVwiIGNsYXNzPVwic2t5LXNsaWRlLWRpc3NvbHZlLWZpcnN0XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwidGVtcGxhdGUgJiYgc2hvd0Zvcm1cIiBjbGFzcz1cInNreS1zbGlkZS1kaXNzb2x2ZS1sYXN0XCI+XG4gICAgPGRpdiBjbGFzcz1cInNreS1pbmxpbmUtZm9ybSBza3ktc2hhZG93IHNreS1ib3ggc2t5LWVsZXZhdGlvbi0zXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic2t5LWlubGluZS1mb3JtLWNvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZVwiPiA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNreS1pbmxpbmUtZm9ybS1mb290ZXJcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBidXR0b24gb2YgYnV0dG9uc1wiXG4gICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHt7ICdza3ktYnRuLScgKyBidXR0b24uc3R5bGVUeXBlIH19XCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiYnV0dG9uLmRpc2FibGVkID8gdHJ1ZSA6IG51bGxcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NreS1idG4tZGlzYWJsZWQnOiBidXR0b24uZGlzYWJsZWQgfVwiXG4gICAgICAgICAgKGNsaWNrKT1cImNsb3NlSW5saW5lRm9ybShidXR0b24pXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGJ1dHRvbi50ZXh0IH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -4,11 +4,11 @@ import { SkyInlineFormResourcesModule } from '../shared/sky-inline-form-resource
4
4
  import { SkyInlineFormComponent } from './inline-form.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export class SkyInlineFormModule {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyInlineFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyInlineFormModule, declarations: [SkyInlineFormComponent], imports: [CommonModule, SkyInlineFormResourcesModule], exports: [SkyInlineFormComponent] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyInlineFormModule, imports: [CommonModule, SkyInlineFormResourcesModule] }); }
7
10
  }
8
- SkyInlineFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyInlineFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- SkyInlineFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyInlineFormModule, declarations: [SkyInlineFormComponent], imports: [CommonModule, SkyInlineFormResourcesModule], exports: [SkyInlineFormComponent] });
10
- SkyInlineFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyInlineFormModule, imports: [CommonModule, SkyInlineFormResourcesModule] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyInlineFormModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyInlineFormModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  declarations: [SkyInlineFormComponent],
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
16
16
  exports: [SkyInlineFormComponent],
17
17
  }]
18
18
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWZvcm0ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2lubGluZS1mb3JtL3NyYy9saWIvbW9kdWxlcy9pbmxpbmUtZm9ybS9pbmxpbmUtZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFMUYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBT2pFLE1BQU0sT0FBTyxtQkFBbUI7O2dIQUFuQixtQkFBbUI7aUhBQW5CLG1CQUFtQixpQkFKZixzQkFBc0IsYUFDM0IsWUFBWSxFQUFFLDRCQUE0QixhQUMxQyxzQkFBc0I7aUhBRXJCLG1CQUFtQixZQUhwQixZQUFZLEVBQUUsNEJBQTRCOzJGQUd6QyxtQkFBbUI7a0JBTC9CLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ3RDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSw0QkFBNEIsQ0FBQztvQkFDckQsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUlubGluZUZvcm1SZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LWlubGluZS1mb3JtLXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lJbmxpbmVGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9pbmxpbmUtZm9ybS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTa3lJbmxpbmVGb3JtQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2t5SW5saW5lRm9ybVJlc291cmNlc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtTa3lJbmxpbmVGb3JtQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5SW5saW5lRm9ybU1vZHVsZSB7fVxuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWZvcm0ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2lubGluZS1mb3JtL3NyYy9saWIvbW9kdWxlcy9pbmxpbmUtZm9ybS9pbmxpbmUtZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFMUYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBT2pFLE1BQU0sT0FBTyxtQkFBbUI7OEdBQW5CLG1CQUFtQjsrR0FBbkIsbUJBQW1CLGlCQUpmLHNCQUFzQixhQUMzQixZQUFZLEVBQUUsNEJBQTRCLGFBQzFDLHNCQUFzQjsrR0FFckIsbUJBQW1CLFlBSHBCLFlBQVksRUFBRSw0QkFBNEI7OzJGQUd6QyxtQkFBbUI7a0JBTC9CLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ3RDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSw0QkFBNEIsQ0FBQztvQkFDckQsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUlubGluZUZvcm1SZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LWlubGluZS1mb3JtLXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lJbmxpbmVGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9pbmxpbmUtZm9ybS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTa3lJbmxpbmVGb3JtQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2t5SW5saW5lRm9ybVJlc291cmNlc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtTa3lJbmxpbmVGb3JtQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5SW5saW5lRm9ybU1vZHVsZSB7fVxuIl19
@@ -0,0 +1,50 @@
1
+ /**
2
+ * NOTICE: DO NOT MODIFY THIS FILE!
3
+ * The contents of this file were automatically generated by
4
+ * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-inline-form' schematic.
5
+ * To update this file, simply rerun the command.
6
+ */
7
+ import { NgModule } from '@angular/core';
8
+ import { SKY_LIB_RESOURCES_PROVIDERS, SkyI18nModule, getLibStringForLocale, } from '@skyux/i18n';
9
+ import * as i0 from "@angular/core";
10
+ const RESOURCES = {
11
+ 'EN-US': {
12
+ skyux_inline_form_button_cancel: { message: 'Cancel' },
13
+ skyux_inline_form_button_delete: { message: 'Delete' },
14
+ skyux_inline_form_button_done: { message: 'Done' },
15
+ skyux_inline_form_button_save: { message: 'Save' },
16
+ },
17
+ };
18
+ export class SkyInlineFormResourcesProvider {
19
+ getString(localeInfo, name) {
20
+ return getLibStringForLocale(RESOURCES, localeInfo.locale, name);
21
+ }
22
+ }
23
+ /**
24
+ * Import into any component library module that needs to use resource strings.
25
+ */
26
+ export class SkyInlineFormResourcesModule {
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyInlineFormResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
28
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyInlineFormResourcesModule, exports: [SkyI18nModule] }); }
29
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyInlineFormResourcesModule, providers: [
30
+ {
31
+ provide: SKY_LIB_RESOURCES_PROVIDERS,
32
+ useClass: SkyInlineFormResourcesProvider,
33
+ multi: true,
34
+ },
35
+ ], imports: [SkyI18nModule] }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyInlineFormResourcesModule, decorators: [{
38
+ type: NgModule,
39
+ args: [{
40
+ exports: [SkyI18nModule],
41
+ providers: [
42
+ {
43
+ provide: SKY_LIB_RESOURCES_PROVIDERS,
44
+ useClass: SkyInlineFormResourcesProvider,
45
+ multi: true,
46
+ },
47
+ ],
48
+ }]
49
+ }] });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWlubGluZS1mb3JtLXJlc291cmNlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW5saW5lLWZvcm0vc3JjL2xpYi9tb2R1bGVzL3NoYXJlZC9za3ktaW5saW5lLWZvcm0tcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNMLDJCQUEyQixFQUUzQixhQUFhLEVBR2IscUJBQXFCLEdBQ3RCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBMEM7SUFDdkQsT0FBTyxFQUFFO1FBQ1AsK0JBQStCLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFO1FBQ3RELCtCQUErQixFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRTtRQUN0RCw2QkFBNkIsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUU7UUFDbEQsNkJBQTZCLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFO0tBQ25EO0NBQ0YsQ0FBQztBQUVGLE1BQU0sT0FBTyw4QkFBOEI7SUFDbEMsU0FBUyxDQUNkLFVBQTRCLEVBQzVCLElBQVk7UUFFWixPQUFPLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBV0gsTUFBTSxPQUFPLDRCQUE0Qjs4R0FBNUIsNEJBQTRCOytHQUE1Qiw0QkFBNEIsWUFUN0IsYUFBYTsrR0FTWiw0QkFBNEIsYUFSNUI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsMkJBQTJCO2dCQUNwQyxRQUFRLEVBQUUsOEJBQThCO2dCQUN4QyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsWUFQUyxhQUFhOzsyRkFTWiw0QkFBNEI7a0JBVnhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUN4QixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDJCQUEyQjs0QkFDcEMsUUFBUSxFQUFFLDhCQUE4Qjs0QkFDeEMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE5PVElDRTogRE8gTk9UIE1PRElGWSBUSElTIEZJTEUhXG4gKiBUaGUgY29udGVudHMgb2YgdGhpcyBmaWxlIHdlcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnlcbiAqIHRoZSAnbmcgZ2VuZXJhdGUgQHNreXV4L2kxOG46bGliLXJlc291cmNlcy1tb2R1bGUgbGliL21vZHVsZXMvc2hhcmVkL3NreS1pbmxpbmUtZm9ybScgc2NoZW1hdGljLlxuICogVG8gdXBkYXRlIHRoaXMgZmlsZSwgc2ltcGx5IHJlcnVuIHRoZSBjb21tYW5kLlxuICovXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU0tZX0xJQl9SRVNPVVJDRVNfUFJPVklERVJTLFxuICBTa3lBcHBMb2NhbGVJbmZvLFxuICBTa3lJMThuTW9kdWxlLFxuICBTa3lMaWJSZXNvdXJjZXMsXG4gIFNreUxpYlJlc291cmNlc1Byb3ZpZGVyLFxuICBnZXRMaWJTdHJpbmdGb3JMb2NhbGUsXG59IGZyb20gJ0Bza3l1eC9pMThuJztcblxuY29uc3QgUkVTT1VSQ0VTOiB7IFtsb2NhbGU6IHN0cmluZ106IFNreUxpYlJlc291cmNlcyB9ID0ge1xuICAnRU4tVVMnOiB7XG4gICAgc2t5dXhfaW5saW5lX2Zvcm1fYnV0dG9uX2NhbmNlbDogeyBtZXNzYWdlOiAnQ2FuY2VsJyB9LFxuICAgIHNreXV4X2lubGluZV9mb3JtX2J1dHRvbl9kZWxldGU6IHsgbWVzc2FnZTogJ0RlbGV0ZScgfSxcbiAgICBza3l1eF9pbmxpbmVfZm9ybV9idXR0b25fZG9uZTogeyBtZXNzYWdlOiAnRG9uZScgfSxcbiAgICBza3l1eF9pbmxpbmVfZm9ybV9idXR0b25fc2F2ZTogeyBtZXNzYWdlOiAnU2F2ZScgfSxcbiAgfSxcbn07XG5cbmV4cG9ydCBjbGFzcyBTa3lJbmxpbmVGb3JtUmVzb3VyY2VzUHJvdmlkZXIgaW1wbGVtZW50cyBTa3lMaWJSZXNvdXJjZXNQcm92aWRlciB7XG4gIHB1YmxpYyBnZXRTdHJpbmcoXG4gICAgbG9jYWxlSW5mbzogU2t5QXBwTG9jYWxlSW5mbyxcbiAgICBuYW1lOiBzdHJpbmdcbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gZ2V0TGliU3RyaW5nRm9yTG9jYWxlKFJFU09VUkNFUywgbG9jYWxlSW5mby5sb2NhbGUsIG5hbWUpO1xuICB9XG59XG5cbi8qKlxuICogSW1wb3J0IGludG8gYW55IGNvbXBvbmVudCBsaWJyYXJ5IG1vZHVsZSB0aGF0IG5lZWRzIHRvIHVzZSByZXNvdXJjZSBzdHJpbmdzLlxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbU2t5STE4bk1vZHVsZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNLWV9MSUJfUkVTT1VSQ0VTX1BST1ZJREVSUyxcbiAgICAgIHVzZUNsYXNzOiBTa3lJbmxpbmVGb3JtUmVzb3VyY2VzUHJvdmlkZXIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lJbmxpbmVGb3JtUmVzb3VyY2VzTW9kdWxlIHt9XG4iXX0=