@wemake4u/form-player-se 1.0.41 → 1.0.43

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 (90) hide show
  1. package/esm2022/lib/builtIn/builtIn.mjs +4 -2
  2. package/esm2022/lib/builtIn/dialog.json +7 -0
  3. package/esm2022/lib/builtIn/form.json +12 -0
  4. package/esm2022/lib/builtIn/function.json +22 -0
  5. package/esm2022/lib/builtIn/json.json +30 -0
  6. package/esm2022/lib/controls/button.mjs +4 -1
  7. package/esm2022/lib/controls/checkbox.mjs +4 -1
  8. package/esm2022/lib/controls/checklist.mjs +6 -3
  9. package/esm2022/lib/controls/chipchecklist.mjs +6 -3
  10. package/esm2022/lib/controls/chipradio.mjs +6 -3
  11. package/esm2022/lib/controls/date.mjs +4 -1
  12. package/esm2022/lib/controls/datetime.mjs +4 -0
  13. package/esm2022/lib/controls/factory.mjs +4 -1
  14. package/esm2022/lib/controls/filepicker.mjs +4 -1
  15. package/esm2022/lib/controls/number.mjs +4 -1
  16. package/esm2022/lib/controls/radio.mjs +6 -3
  17. package/esm2022/lib/controls/select.mjs +6 -3
  18. package/esm2022/lib/controls/taglist.mjs +6 -3
  19. package/esm2022/lib/controls/textarea.mjs +4 -1
  20. package/esm2022/lib/controls/textfield.mjs +4 -1
  21. package/esm2022/lib/controls/time.mjs +4 -1
  22. package/esm2022/lib/dialog/dialog.component.mjs +3 -3
  23. package/esm2022/lib/directives/dialog.directive.mjs +7 -2
  24. package/esm2022/lib/directives/repeat.directive.mjs +6 -3
  25. package/esm2022/lib/dynamic-fields/dynamic-fields.component.mjs +122 -27
  26. package/esm2022/lib/dynamic-form/dynamic-form.component.mjs +33 -312
  27. package/esm2022/lib/locale/locale-de.mjs +6 -2
  28. package/esm2022/lib/locale/locale-en.mjs +5 -1
  29. package/esm2022/lib/locale/locale-es.mjs +6 -2
  30. package/esm2022/lib/locale/locale-fr.mjs +6 -2
  31. package/esm2022/lib/locale/locale-it.mjs +6 -2
  32. package/esm2022/lib/locale/locale-pt.mjs +6 -2
  33. package/esm2022/lib/services/builder.service.mjs +347 -0
  34. package/esm2022/lib/services/dialog.service.mjs +13 -1
  35. package/esm2022/lib/services/form.service.mjs +45 -13
  36. package/esm2022/lib/services/function.service.mjs +6 -1
  37. package/esm2022/lib/services/json.service.mjs +47 -0
  38. package/esm2022/lib/services/programmability.service.mjs +21 -45
  39. package/esm2022/lib/services/scope.service.mjs +4 -7
  40. package/esm2022/lib/services/status.service.mjs +35 -18
  41. package/esm2022/lib/utils/FormGroupEx.mjs +52 -0
  42. package/esm2022/lib/utils/groupByRow.mjs +2 -2
  43. package/esm2022/lib/utils/patch.mjs +2 -2
  44. package/esm2022/lib/utils/window.mjs +40 -0
  45. package/esm2022/public-api.mjs +1 -2
  46. package/fesm2022/wemake4u-form-player-se.mjs +1824 -1390
  47. package/fesm2022/wemake4u-form-player-se.mjs.map +1 -1
  48. package/lib/components/deleteRowRenderer/deleteRowRenderer.component.d.ts +4 -0
  49. package/lib/components/objectURLRenderer/objectURLRenderer.component.d.ts +4 -0
  50. package/lib/components/setFilter/setFilter.component.d.ts +4 -0
  51. package/lib/controls/button.d.ts +1 -0
  52. package/lib/controls/checkbox.d.ts +1 -0
  53. package/lib/controls/checklist.d.ts +2 -1
  54. package/lib/controls/chipchecklist.d.ts +2 -1
  55. package/lib/controls/chipradio.d.ts +2 -1
  56. package/lib/controls/date.d.ts +1 -0
  57. package/lib/controls/datetime.d.ts +3 -0
  58. package/lib/controls/filepicker.d.ts +1 -0
  59. package/lib/controls/number.d.ts +1 -0
  60. package/lib/controls/radio.d.ts +2 -1
  61. package/lib/controls/select.d.ts +2 -1
  62. package/lib/controls/taglist.d.ts +2 -1
  63. package/lib/controls/textarea.d.ts +1 -0
  64. package/lib/controls/textfield.d.ts +1 -0
  65. package/lib/controls/time.d.ts +1 -0
  66. package/lib/dialog/dialog.component.d.ts +28 -0
  67. package/lib/dynamic-fields/dynamic-fields.component.d.ts +51 -10
  68. package/lib/dynamic-form/dynamic-form.component.d.ts +36 -23
  69. package/lib/locale/locale-de.d.ts +4 -0
  70. package/lib/locale/locale-en.d.ts +4 -0
  71. package/lib/locale/locale-es.d.ts +4 -0
  72. package/lib/locale/locale-fr.d.ts +4 -0
  73. package/lib/locale/locale-it.d.ts +4 -0
  74. package/lib/locale/locale-pt.d.ts +4 -0
  75. package/lib/locale/locale.d.ts +28 -0
  76. package/lib/services/builder.service.d.ts +43 -0
  77. package/lib/services/dialog.service.d.ts +2 -0
  78. package/lib/services/form.service.d.ts +2 -1
  79. package/lib/services/function.service.d.ts +2 -0
  80. package/lib/services/json.service.d.ts +10 -0
  81. package/lib/services/programmability.service.d.ts +6 -2
  82. package/lib/services/status.service.d.ts +3 -4
  83. package/lib/utils/FormGroupEx.d.ts +18 -0
  84. package/lib/utils/window.d.ts +18 -0
  85. package/package.json +1 -1
  86. package/public-api.d.ts +0 -1
  87. package/esm2022/lib/utils/extractFiles.mjs +0 -30
  88. package/esm2022/lib/utils/toFormData.mjs +0 -11
  89. package/lib/utils/extractFiles.d.ts +0 -4
  90. package/lib/utils/toFormData.d.ts +0 -1
@@ -88,7 +88,7 @@ export class DialogComponent extends SirioDialogElement {
88
88
  }
89
89
  }
90
90
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DialogComponent, deps: [{ token: i1.LanguageService }], target: i0.ɵɵFactoryTarget.Component });
91
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DialogComponent, isStandalone: true, selector: "dynamic-dialog", viewQueries: [{ propertyName: "formHost", first: true, predicate: ["formHost"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ngx-sirio-dialog (closeEvent)=\"doClose()\"\r\n dialog\r\n [type]=\"options.type ?? 'info'\"\r\n [size]=\"options.size ?? 'default'\"\r\n [isDrawer]=\"options.isDrawer ?? false\"\r\n [withCloseButton]=\"showCloseButton()\">\r\n\r\n <ngx-sirio-dialog-header [hidden]=\"!showHeader()\">\r\n <ngx-sirio-dialog-title [hidden]=\"!showTitle()\">{{ options.title }}</ngx-sirio-dialog-title>\r\n </ngx-sirio-dialog-header>\r\n\r\n <ngx-sirio-dialog-body>\r\n <ng-template #formHost></ng-template>\r\n </ngx-sirio-dialog-body>\r\n\r\n <ngx-sirio-dialog-footer *ngIf=\"showFooter()\">\r\n <ng-container [ngSwitch]=\"options.buttons\">\r\n <!-- OK -->\r\n <ng-container *ngSwitchCase=\"'OK'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'OK' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: OKCancel -->\r\n <ng-container *ngSwitchCase=\"'OKCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'OK' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: ConfirmClose -->\r\n <ng-container *ngSwitchCase=\"'ConfirmCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Confirm' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: AbortRetryIgnore -->\r\n <ng-container *ngSwitchCase=\"'AbortRetryIgnore'\">\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Abort' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Retry' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Ignore' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: YesNoCancel -->\r\n <ng-container *ngSwitchCase=\"'YesNoCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Yes' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'No' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: YesNo -->\r\n <ng-container *ngSwitchCase=\"'YesNo'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Yes' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'No' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: RetryCancel -->\r\n <ng-container *ngSwitchCase=\"'RetryCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Retry' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: CancelTryContinue -->\r\n <ng-container *ngSwitchCase=\"'CancelTryContinue'\">\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Try' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Continue' }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <!-- Templates -->\r\n <ng-template #confirmTemplate let-action=\"action\">\r\n <ngx-sirio-button (clickEvent)=\"doAction(action)\"\r\n [disabled]=\"isInvalid()\"\r\n color=\"primary\">\r\n {{ locale(Texts, action) }}\r\n </ngx-sirio-button>\r\n </ng-template>\r\n <ng-template #closeTemplate let-action=\"action\">\r\n <ngx-sirio-button (clickEvent)=\"doAction(action)\"\r\n color=\"secondary\">\r\n {{ locale(Texts, action) }}\r\n </ngx-sirio-button>\r\n </ng-template>\r\n\r\n </ngx-sirio-dialog-footer>\r\n\r\n</ngx-sirio-dialog>\r\n", styles: ["::ng-deep .sirio-dialog{background-color:#0000007f!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: DialogDirective, selector: "[dialog]" }, { kind: "component", type: SirioDialogComponent, selector: "ngx-sirio-dialog", inputs: ["type", "size", "drawerContext", "withCloseButton", "isDrawer", "dialogId"], outputs: ["closeEvent", "confirmEvent"] }, { kind: "component", type: SirioDialogBodyComponent, selector: "ngx-sirio-dialog-body" }, { kind: "component", type: SirioDialogHeaderComponent, selector: "ngx-sirio-dialog-header", inputs: ["closeButtonAriaLabel"], outputs: ["closeEvent"] }, { kind: "component", type: SirioDialogFooterComponent, selector: "ngx-sirio-dialog-footer", inputs: ["actionsLabel"], outputs: ["closeEvent", "confirmEvent"] }, { kind: "component", type: SirioButtonComponent, selector: "ngx-sirio-button", inputs: ["ariaExpanded", "ariaControls", "ariaActivedescendant", "ariaHaspopup", "ariaLabel", "ariaRequired", "ariaInvalid", "ariaDescribedby", "icon", "title", "role", "color", "isFloating", "isExtended", "isLight", "isSmall", "disabled", "isDropdown", "type", "dismissType", "isBtnBlock"], outputs: ["clickEvent", "focusEvent", "blurEvent"] }, { kind: "component", type: SirioDialogTitleComponent, selector: "ngx-sirio-dialog-title" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
91
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DialogComponent, isStandalone: true, selector: "dynamic-dialog", viewQueries: [{ propertyName: "formHost", first: true, predicate: ["formHost"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ngx-sirio-dialog (closeEvent)=\"doClose()\"\r\n dialog\r\n [type]=\"options.type ?? 'info'\"\r\n [size]=\"options.size ?? 'default'\"\r\n [isDrawer]=\"options.isDrawer ?? false\"\r\n [withCloseButton]=\"showCloseButton()\">\r\n\r\n <ngx-sirio-dialog-header [hidden]=\"!showHeader()\">\r\n <ngx-sirio-dialog-title [hidden]=\"!showTitle()\">{{ options.title }}</ngx-sirio-dialog-title>\r\n </ngx-sirio-dialog-header>\r\n\r\n <ngx-sirio-dialog-body>\r\n <ng-template #formHost></ng-template>\r\n </ngx-sirio-dialog-body>\r\n\r\n <ngx-sirio-dialog-footer *ngIf=\"showFooter()\">\r\n <ng-container [ngSwitch]=\"options.buttons\">\r\n <!-- OK -->\r\n <ng-container *ngSwitchCase=\"'OK'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'OK' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: OKCancel -->\r\n <ng-container *ngSwitchCase=\"'OKCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'OK' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: ConfirmClose -->\r\n <ng-container *ngSwitchCase=\"'ConfirmCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Confirm' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: AbortRetryIgnore -->\r\n <ng-container *ngSwitchCase=\"'AbortRetryIgnore'\">\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Abort' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Retry' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Ignore' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: YesNoCancel -->\r\n <ng-container *ngSwitchCase=\"'YesNoCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Yes' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'No' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: YesNo -->\r\n <ng-container *ngSwitchCase=\"'YesNo'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Yes' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'No' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: RetryCancel -->\r\n <ng-container *ngSwitchCase=\"'RetryCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Retry' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: CancelTryContinue -->\r\n <ng-container *ngSwitchCase=\"'CancelTryContinue'\">\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Try' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Continue' }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <!-- Templates -->\r\n <ng-template #confirmTemplate let-action=\"action\">\r\n <ngx-sirio-button (clickEvent)=\"doAction(action)\"\r\n [disabled]=\"isInvalid()\"\r\n color=\"primary\">\r\n {{ locale(Texts, action) }}\r\n </ngx-sirio-button>\r\n </ng-template>\r\n <ng-template #closeTemplate let-action=\"action\">\r\n <ngx-sirio-button (clickEvent)=\"doAction(action)\"\r\n color=\"secondary\">\r\n {{ locale(Texts, action) }}\r\n </ngx-sirio-button>\r\n </ng-template>\r\n\r\n </ngx-sirio-dialog-footer>\r\n\r\n</ngx-sirio-dialog>\r\n", styles: ["::ng-deep .sirio-dialog{background-color:#0000007f!important}::ng-deep .sirio-drawer .sirio-dialog .sirio-dialog-sm .sirio-dialog-content{max-width:18.75rem}::ng-deep .sirio-drawer .sirio-dialog .sirio-dialog-lg .sirio-dialog-content{max-width:50rem}::ng-deep .sirio-drawer .sirio-dialog .sirio-dialog-xl .sirio-dialog-content{max-width:71.25rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: DialogDirective, selector: "[dialog]" }, { kind: "component", type: SirioDialogComponent, selector: "ngx-sirio-dialog", inputs: ["type", "size", "drawerContext", "withCloseButton", "isDrawer", "dialogId"], outputs: ["closeEvent", "confirmEvent"] }, { kind: "component", type: SirioDialogBodyComponent, selector: "ngx-sirio-dialog-body" }, { kind: "component", type: SirioDialogHeaderComponent, selector: "ngx-sirio-dialog-header", inputs: ["closeButtonAriaLabel"], outputs: ["closeEvent"] }, { kind: "component", type: SirioDialogFooterComponent, selector: "ngx-sirio-dialog-footer", inputs: ["actionsLabel"], outputs: ["closeEvent", "confirmEvent"] }, { kind: "component", type: SirioButtonComponent, selector: "ngx-sirio-button", inputs: ["ariaExpanded", "ariaControls", "ariaActivedescendant", "ariaHaspopup", "ariaLabel", "ariaRequired", "ariaInvalid", "ariaDescribedby", "icon", "title", "role", "color", "isFloating", "isExtended", "isLight", "isSmall", "disabled", "isDropdown", "type", "dismissType", "isBtnBlock"], outputs: ["clickEvent", "focusEvent", "blurEvent"] }, { kind: "component", type: SirioDialogTitleComponent, selector: "ngx-sirio-dialog-title" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
92
92
  }
93
93
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DialogComponent, decorators: [{
94
94
  type: Component,
@@ -102,9 +102,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
102
102
  SirioButtonComponent,
103
103
  SirioDialogActionDirective,
104
104
  SirioDialogTitleComponent
105
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ngx-sirio-dialog (closeEvent)=\"doClose()\"\r\n dialog\r\n [type]=\"options.type ?? 'info'\"\r\n [size]=\"options.size ?? 'default'\"\r\n [isDrawer]=\"options.isDrawer ?? false\"\r\n [withCloseButton]=\"showCloseButton()\">\r\n\r\n <ngx-sirio-dialog-header [hidden]=\"!showHeader()\">\r\n <ngx-sirio-dialog-title [hidden]=\"!showTitle()\">{{ options.title }}</ngx-sirio-dialog-title>\r\n </ngx-sirio-dialog-header>\r\n\r\n <ngx-sirio-dialog-body>\r\n <ng-template #formHost></ng-template>\r\n </ngx-sirio-dialog-body>\r\n\r\n <ngx-sirio-dialog-footer *ngIf=\"showFooter()\">\r\n <ng-container [ngSwitch]=\"options.buttons\">\r\n <!-- OK -->\r\n <ng-container *ngSwitchCase=\"'OK'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'OK' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: OKCancel -->\r\n <ng-container *ngSwitchCase=\"'OKCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'OK' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: ConfirmClose -->\r\n <ng-container *ngSwitchCase=\"'ConfirmCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Confirm' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: AbortRetryIgnore -->\r\n <ng-container *ngSwitchCase=\"'AbortRetryIgnore'\">\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Abort' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Retry' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Ignore' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: YesNoCancel -->\r\n <ng-container *ngSwitchCase=\"'YesNoCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Yes' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'No' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: YesNo -->\r\n <ng-container *ngSwitchCase=\"'YesNo'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Yes' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'No' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: RetryCancel -->\r\n <ng-container *ngSwitchCase=\"'RetryCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Retry' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: CancelTryContinue -->\r\n <ng-container *ngSwitchCase=\"'CancelTryContinue'\">\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Try' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Continue' }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <!-- Templates -->\r\n <ng-template #confirmTemplate let-action=\"action\">\r\n <ngx-sirio-button (clickEvent)=\"doAction(action)\"\r\n [disabled]=\"isInvalid()\"\r\n color=\"primary\">\r\n {{ locale(Texts, action) }}\r\n </ngx-sirio-button>\r\n </ng-template>\r\n <ng-template #closeTemplate let-action=\"action\">\r\n <ngx-sirio-button (clickEvent)=\"doAction(action)\"\r\n color=\"secondary\">\r\n {{ locale(Texts, action) }}\r\n </ngx-sirio-button>\r\n </ng-template>\r\n\r\n </ngx-sirio-dialog-footer>\r\n\r\n</ngx-sirio-dialog>\r\n", styles: ["::ng-deep .sirio-dialog{background-color:#0000007f!important}\n"] }]
105
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ngx-sirio-dialog (closeEvent)=\"doClose()\"\r\n dialog\r\n [type]=\"options.type ?? 'info'\"\r\n [size]=\"options.size ?? 'default'\"\r\n [isDrawer]=\"options.isDrawer ?? false\"\r\n [withCloseButton]=\"showCloseButton()\">\r\n\r\n <ngx-sirio-dialog-header [hidden]=\"!showHeader()\">\r\n <ngx-sirio-dialog-title [hidden]=\"!showTitle()\">{{ options.title }}</ngx-sirio-dialog-title>\r\n </ngx-sirio-dialog-header>\r\n\r\n <ngx-sirio-dialog-body>\r\n <ng-template #formHost></ng-template>\r\n </ngx-sirio-dialog-body>\r\n\r\n <ngx-sirio-dialog-footer *ngIf=\"showFooter()\">\r\n <ng-container [ngSwitch]=\"options.buttons\">\r\n <!-- OK -->\r\n <ng-container *ngSwitchCase=\"'OK'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'OK' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: OKCancel -->\r\n <ng-container *ngSwitchCase=\"'OKCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'OK' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: ConfirmClose -->\r\n <ng-container *ngSwitchCase=\"'ConfirmCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Confirm' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: AbortRetryIgnore -->\r\n <ng-container *ngSwitchCase=\"'AbortRetryIgnore'\">\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Abort' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Retry' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Ignore' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: YesNoCancel -->\r\n <ng-container *ngSwitchCase=\"'YesNoCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Yes' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'No' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: YesNo -->\r\n <ng-container *ngSwitchCase=\"'YesNo'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Yes' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'No' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: RetryCancel -->\r\n <ng-container *ngSwitchCase=\"'RetryCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Retry' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: CancelTryContinue -->\r\n <ng-container *ngSwitchCase=\"'CancelTryContinue'\">\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Try' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Continue' }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <!-- Templates -->\r\n <ng-template #confirmTemplate let-action=\"action\">\r\n <ngx-sirio-button (clickEvent)=\"doAction(action)\"\r\n [disabled]=\"isInvalid()\"\r\n color=\"primary\">\r\n {{ locale(Texts, action) }}\r\n </ngx-sirio-button>\r\n </ng-template>\r\n <ng-template #closeTemplate let-action=\"action\">\r\n <ngx-sirio-button (clickEvent)=\"doAction(action)\"\r\n color=\"secondary\">\r\n {{ locale(Texts, action) }}\r\n </ngx-sirio-button>\r\n </ng-template>\r\n\r\n </ngx-sirio-dialog-footer>\r\n\r\n</ngx-sirio-dialog>\r\n", styles: ["::ng-deep .sirio-dialog{background-color:#0000007f!important}::ng-deep .sirio-drawer .sirio-dialog .sirio-dialog-sm .sirio-dialog-content{max-width:18.75rem}::ng-deep .sirio-drawer .sirio-dialog .sirio-dialog-lg .sirio-dialog-content{max-width:50rem}::ng-deep .sirio-drawer .sirio-dialog .sirio-dialog-xl .sirio-dialog-content{max-width:71.25rem}\n"] }]
106
106
  }], ctorParameters: () => [{ type: i1.LanguageService }], propDecorators: { formHost: [{
107
107
  type: ViewChild,
108
108
  args: ['formHost', { read: ViewContainerRef, static: true }]
109
109
  }] } });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFDaEUsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQ0wsb0JBQW9CLEVBQUUsd0JBQXdCLEVBQUUsMEJBQTBCLEVBQ3hFLDBCQUEwQixFQUFFLG9CQUFvQixFQUFFLDBCQUEwQixFQUM1RSx5QkFBeUIsRUFBRSxrQkFBa0IsRUFDaEQsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQW9COUMsTUFBTSxPQUFPLGVBQWdCLFNBQVEsa0JBQWtCO0lBT2pDO0lBTFosUUFBUSxDQUFvQjtJQUM1QixPQUFPLENBQW9CO0lBQzNCLGVBQWUsQ0FBYTtJQUNwQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBRWQsWUFBb0IsZUFBZ0M7UUFDbEQsS0FBSyxFQUFFLENBQUM7UUFEVSxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7SUFFcEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUks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QjtxQkFDMUIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07b0ZBSXZDLFFBQVE7c0JBRGYsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVmlld0NvbnRhaW5lclJlZiwgVmlld0NoaWxkLCBDb21wb25lbnRSZWYsIFR5cGVcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEZvcm1EaWFsb2dPcHRpb25zLCBEaWFsb2dBY3Rpb24sIERpYWxvZ1Jlc3VsdCB9IGZyb20gJy4uL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlhbG9nRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9kaWFsb2cuZGlyZWN0aXZlJztcclxuaW1wb3J0IHtcclxuICBTaXJpb0RpYWxvZ0NvbXBvbmVudCwgU2lyaW9EaWFsb2dCb2R5Q29tcG9uZW50LCBTaXJpb0RpYWxvZ0hlYWRlckNvbXBvbmVudFxyXG4gICwgU2lyaW9EaWFsb2dGb290ZXJDb21wb25lbnQsIFNpcmlvQnV0dG9uQ29tcG9uZW50LCBTaXJpb0RpYWxvZ0FjdGlvbkRpcmVjdGl2ZVxyXG4gICwgU2lyaW9EaWFsb2dUaXRsZUNvbXBvbmVudCwgU2lyaW9EaWFsb2dFbGVtZW50XHJcbn0gZnJvbSAnbmd4LXNpcmlvLWxpYic7XHJcblxyXG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAd2VtYWtlNHUvaW50ZXJhY3QnO1xyXG5pbXBvcnQgeyBUZXh0cyB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGUnO1xyXG5pbXBvcnQgeyBsb2NhbGl6ZSB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGl6ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2R5bmFtaWMtZGlhbG9nJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIERpYWxvZ0RpcmVjdGl2ZSxcclxuICAgIFNpcmlvRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgU2lyaW9EaWFsb2dCb2R5Q29tcG9uZW50LFxyXG4gICAgU2lyaW9EaWFsb2dIZWFkZXJDb21wb25lbnQsXHJcbiAgICBTaXJpb0RpYWxvZ0Zvb3RlckNvbXBvbmVudCxcclxuICAgIFNpcmlvQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgU2lyaW9EaWFsb2dBY3Rpb25EaXJlY3RpdmUsXHJcbiAgICBTaXJpb0RpYWxvZ1RpdGxlQ29tcG9uZW50ICAgIFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2RpYWxvZy5jb21wb25lbnQuY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nQ29tcG9uZW50IGV4dGVuZHMgU2lyaW9EaWFsb2dFbGVtZW50IHtcclxuICBAVmlld0NoaWxkKCdmb3JtSG9zdCcsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHJpdmF0ZSBmb3JtSG9zdCE6IFZpZXdDb250YWluZXJSZWY7XHJcbiAgcHJpdmF0ZSBmb3JtUmVmITogQ29tcG9uZW50UmVmPGFueT5cclxuICBwcml2YXRlIGR5bmFtaWNGb3JtVHlwZSE6IFR5cGU8YW55PjtcclxuICBUZXh0cyA9IFRleHRzO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmRhdGEub3B0aW9ucyA/PyB7fTtcclxuICAgIHRoaXMuY3VycmVudFZhbHVlID0gdGhpcy5vcHRpb25zLnZhbHVlO1xyXG4gICAgdGhpcy5keW5hbWljRm9ybVR5cGUgPSB0aGlzLmRhdGEuZHluYW1pY0Zvcm1UeXBlO1xyXG4gIH1cclxuXHJcbiAgb3B0aW9uczogRm9ybURpYWxvZ09wdGlvbnMgPSB7IH07XHJcbiAgXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG5cclxuICAgIGxldCBpbmplY3RvciA9IHRoaXMub3B0aW9ucy5pbmplY3RvclxyXG4gICAgICA/PyB0aGlzLmZvcm1Ib3N0LmluamVjdG9yO1xyXG5cclxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuZm9ybUhvc3QuY3JlYXRlQ29tcG9uZW50KHRoaXMuZHluYW1pY0Zvcm1UeXBlLCB7IGluamVjdG9yIH0pO1xyXG4gICAgY29uc3QgaW5zdGFuY2UgPSBjb21wb25lbnRSZWYuaW5zdGFuY2UgYXMgYW55O1xyXG5cclxuICAgIGNvbXBvbmVudFJlZi5zZXRJbnB1dCgnc2NoZW1hJywgdGhpcy5kYXRhLmZvcm1TY2hlbWEpO1xyXG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KCd2YWx1ZScsIHRoaXMub3B0aW9ucy52YWx1ZSA/PyB7IH0pO1xyXG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KCdzaG93TmF2JywgdGhpcy5vcHRpb25zLnNob3dOYXYgPz8gZmFsc2UpO1xyXG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KCdzaG93TmF2QnV0dG9uJywgdGhpcy5vcHRpb25zLnNob3dOYXZCdXR0b24gPz8gZmFsc2UpO1xyXG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KCdzaG93UHJvZ3Jlc3MnLCB0aGlzLm9wdGlvbnMuc2hvd1Byb2dyZXNzID8/IGZhbHNlKTtcclxuICAgIGNvbXBvbmVudFJlZi5zZXRJbnB1dCgnc2hvd0Zvcm1UaXRsZScsIHRoaXMub3B0aW9ucy5zaG93Rm9ybVRpdGxlID8/IGZhbHNlKTtcclxuXHJcbiAgICBpbnN0YW5jZS52YWx1ZUNoYW5nZVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlOiBhbnkpID0+IHRoaXMuc2V0Q3VycmVudFZhbHVlKHZhbHVlKSk7XHJcblxyXG4gICAgdGhpcy5mb3JtUmVmID0gY29tcG9uZW50UmVmO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGRvQ2xvc2UoKSB7XHJcbiAgICB0aGlzLmRvQWN0aW9uKCdDbG9zZScpO1xyXG4gIH1cclxuXHJcbiAgZG9BY3Rpb24oYWN0aW9uOiBEaWFsb2dBY3Rpb24pIHtcclxuICAgIHRoaXMuc2lyaW9EaWFsb2dTZXJ2aWNlLmNsb3NlRGlhbG9nKCk7XHJcbiAgICB0aGlzLlNlbmRSZXN1bHQoYWN0aW9uKTsgICAgXHJcbiAgfVxyXG5cclxuICBzaG93SGVhZGVyKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvd1RpdGxlKCkgfHwgdGhpcy5zaG93Q2xvc2VCdXR0b24oKTsgICAgXHJcbiAgfVxyXG5cclxuICBzaG93VGl0bGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLnRpdGxlID8gdHJ1ZTogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzaG93Q2xvc2VCdXR0b24oKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLm9wdGlvbnMuY2xvc2VCdXR0b24gPT09IHRydWU7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgc2hvd0Zvb3RlcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuYnV0dG9ucyAhPT0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgaXNJbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICh0aGlzLmZvcm1SZWY/Lmluc3RhbmNlPy5mb3JtR3JvdXA/LnZhbGlkID8/IHRydWUpICE9PSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgbG9jYWxlKGNvbXBvbmVudDogYW55LCBrZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gbG9jYWxpemUodGhpcy5sYW5ndWFnZSwgY29tcG9uZW50LCBrZXkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIHByaXZhdGUgY3VycmVudFZhbHVlOiBhbnk7XHJcblxyXG4gIHByaXZhdGUgc2V0Q3VycmVudFZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuY3VycmVudFZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldCBsYW5ndWFnZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLmdldExhbmd1YWdlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIFNlbmRSZXN1bHQoYWN0aW9uOiBEaWFsb2dBY3Rpb24pIHtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5vcHRpb25zLm9uUmVzdWx0ID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIGNvbnN0IHJlc3VsdDogRGlhbG9nUmVzdWx0ID0ge1xyXG4gICAgICAgIGFjdGlvbjogYWN0aW9uLFxyXG4gICAgICAgIHZhbHVlOiB0aGlzLmN1cnJlbnRWYWx1ZVxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLm9wdGlvbnMub25SZXN1bHQocmVzdWx0KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPG5neC1zaXJpby1kaWFsb2cgKGNsb3NlRXZlbnQpPVwiZG9DbG9zZSgpXCJcclxuICAgICAgICAgICAgICAgICAgZGlhbG9nXHJcbiAgICAgICAgICAgICAgICAgIFt0eXBlXT1cIm9wdGlvbnMudHlwZSA/PyAnaW5mbydcIlxyXG4gICAgICAgICAgICAgICAgICBbc2l6ZV09XCJvcHRpb25zLnNpemUgPz8gJ2RlZmF1bHQnXCJcclxuICAgICAgICAgICAgICAgICAgW2lzRHJhd2VyXT1cIm9wdGlvbnMuaXNEcmF3ZXIgPz8gZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICBbd2l0aENsb3NlQnV0dG9uXT1cInNob3dDbG9zZUJ1dHRvbigpXCI+XHJcblxyXG4gIDxuZ3gtc2lyaW8tZGlhbG9nLWhlYWRlciBbaGlkZGVuXT1cIiFzaG93SGVhZGVyKClcIj5cclxuICAgIDxuZ3gtc2lyaW8tZGlhbG9nLXRpdGxlIFtoaWRkZW5dPVwiIXNob3dUaXRsZSgpXCI+e3sgb3B0aW9ucy50aXRsZSB9fTwvbmd4LXNpcmlvLWRpYWxvZy10aXRsZT5cclxuICA8L25neC1zaXJpby1kaWFsb2ctaGVhZGVyPlxyXG5cclxuICA8bmd4LXNpcmlvLWRpYWxvZy1ib2R5PlxyXG4gICAgPG5nLXRlbXBsYXRlICNmb3JtSG9zdD48L25nLXRlbXBsYXRlPlxyXG4gIDwvbmd4LXNpcmlvLWRpYWxvZy1ib2R5PlxyXG5cclxuICA8bmd4LXNpcmlvLWRpYWxvZy1mb290ZXIgKm5nSWY9XCJzaG93Rm9vdGVyKClcIj5cclxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cIm9wdGlvbnMuYnV0dG9uc1wiPlxyXG4gICAgICA8IS0tIE9LIC0tPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInT0snXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbmZpcm1UZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdPSycgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPCEtLSBDYXNvOiBPS0NhbmNlbCAtLT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ09LQ2FuY2VsJ1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb25maXJtVGVtcGxhdGU7IGNvbnRleHQ6IHsgYWN0aW9uOiAnT0snIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2xvc2VUZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdDYW5jZWwnIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwhLS0gQ2FzbzogQ29uZmlybUNsb3NlIC0tPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInQ29uZmlybUNhbmNlbCdcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29uZmlybVRlbXBsYXRlOyBjb250ZXh0OiB7IGFjdGlvbjogJ0NvbmZpcm0nIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2xvc2VUZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdDYW5jZWwnIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwhLS0gQ2FzbzogQWJvcnRSZXRyeUlnbm9yZSAtLT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ0Fib3J0UmV0cnlJZ25vcmUnXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNsb3NlVGVtcGxhdGU7IGNvbnRleHQ6IHsgYWN0aW9uOiAnQWJvcnQnIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29uZmlybVRlbXBsYXRlOyBjb250ZXh0OiB7IGFjdGlvbjogJ1JldHJ5JyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNsb3NlVGVtcGxhdGU7IGNvbnRleHQ6IHsgYWN0aW9uOiAnSWdub3JlJyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8IS0tIENhc286IFllc05vQ2FuY2VsIC0tPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInWWVzTm9DYW5jZWwnXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbmZpcm1UZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdZZXMnIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2xvc2VUZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdObycgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjbG9zZVRlbXBsYXRlOyBjb250ZXh0OiB7IGFjdGlvbjogJ0NhbmNlbCcgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPCEtLSBDYXNvOiBZZXNObyAtLT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ1llc05vJ1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb25maXJtVGVtcGxhdGU7IGNvbnRleHQ6IHsgYWN0aW9uOiAnWWVzJyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNsb3NlVGVtcGxhdGU7IGNvbnRleHQ6IHsgYWN0aW9uOiAnTm8nIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwhLS0gQ2FzbzogUmV0cnlDYW5jZWwgLS0+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidSZXRyeUNhbmNlbCdcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29uZmlybVRlbXBsYXRlOyBjb250ZXh0OiB7IGFjdGlvbjogJ1JldHJ5JyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNsb3NlVGVtcGxhdGU7IGNvbnRleHQ6IHsgYWN0aW9uOiAnQ2FuY2VsJyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8IS0tIENhc286IENhbmNlbFRyeUNvbnRpbnVlIC0tPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInQ2FuY2VsVHJ5Q29udGludWUnXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNsb3NlVGVtcGxhdGU7IGNvbnRleHQ6IHsgYWN0aW9uOiAnQ2FuY2VsJyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbmZpcm1UZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdUcnknIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2xvc2VUZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdDb250aW51ZScgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPCEtLSBUZW1wbGF0ZXMgLS0+XHJcbiAgICA8bmctdGVtcGxhdGUgI2NvbmZpcm1UZW1wbGF0ZSBsZXQtYWN0aW9uPVwiYWN0aW9uXCI+XHJcbiAgICAgIDxuZ3gtc2lyaW8tYnV0dG9uIChjbGlja0V2ZW50KT1cImRvQWN0aW9uKGFjdGlvbilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNJbnZhbGlkKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIj5cclxuICAgICAgICB7eyBsb2NhbGUoVGV4dHMsIGFjdGlvbikgfX1cclxuICAgICAgPC9uZ3gtc2lyaW8tYnV0dG9uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSAjY2xvc2VUZW1wbGF0ZSBsZXQtYWN0aW9uPVwiYWN0aW9uXCI+XHJcbiAgICAgIDxuZ3gtc2lyaW8tYnV0dG9uIChjbGlja0V2ZW50KT1cImRvQWN0aW9uKGFjdGlvbilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInNlY29uZGFyeVwiPlxyXG4gICAgICAgIHt7IGxvY2FsZShUZXh0cywgYWN0aW9uKSB9fVxyXG4gICAgICA8L25neC1zaXJpby1idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8L25neC1zaXJpby1kaWFsb2ctZm9vdGVyPlxyXG5cclxuPC9uZ3gtc2lyaW8tZGlhbG9nPlxyXG4iXX0=
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFDaEUsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQ0wsb0JBQW9CLEVBQUUsd0JBQXdCLEVBQUUsMEJBQTBCLEVBQ3hFLDBCQUEwQixFQUFFLG9CQUFvQixFQUFFLDBCQUEwQixFQUM1RSx5QkFBeUIsRUFBRSxrQkFBa0IsRUFDaEQsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQW9COUMsTUFBTSxPQUFPLGVBQWdCLFNBQVEsa0JBQWtCO0lBT2pDO0lBTFosUUFBUSxDQUFvQjtJQUM1QixPQUFPLENBQW9CO0lBQzNCLGVBQWUsQ0FBYTtJQUNwQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBRWQsWUFBb0IsZUFBZ0M7UUFDbEQsS0FBSyxFQUFFLENBQUM7UUFEVSxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7SUFFcEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUks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QjtxQkFDMUIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07b0ZBSXZDLFFBQVE7c0JBRGYsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVmlld0NvbnRhaW5lclJlZiwgVmlld0NoaWxkLCBDb21wb25lbnRSZWYsIFR5cGVcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEZvcm1EaWFsb2dPcHRpb25zLCBEaWFsb2dBY3Rpb24sIERpYWxvZ1Jlc3VsdCB9IGZyb20gJy4uL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlhbG9nRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9kaWFsb2cuZGlyZWN0aXZlJztcclxuaW1wb3J0IHtcclxuICBTaXJpb0RpYWxvZ0NvbXBvbmVudCwgU2lyaW9EaWFsb2dCb2R5Q29tcG9uZW50LCBTaXJpb0RpYWxvZ0hlYWRlckNvbXBvbmVudFxyXG4gICwgU2lyaW9EaWFsb2dGb290ZXJDb21wb25lbnQsIFNpcmlvQnV0dG9uQ29tcG9uZW50LCBTaXJpb0RpYWxvZ0FjdGlvbkRpcmVjdGl2ZVxyXG4gICwgU2lyaW9EaWFsb2dUaXRsZUNvbXBvbmVudCwgU2lyaW9EaWFsb2dFbGVtZW50XHJcbn0gZnJvbSAnbmd4LXNpcmlvLWxpYic7XHJcblxyXG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAd2VtYWtlNHUvaW50ZXJhY3QnO1xyXG5pbXBvcnQgeyBUZXh0cyB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGUnO1xyXG5pbXBvcnQgeyBsb2NhbGl6ZSB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGl6ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2R5bmFtaWMtZGlhbG9nJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIERpYWxvZ0RpcmVjdGl2ZSxcclxuICAgIFNpcmlvRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgU2lyaW9EaWFsb2dCb2R5Q29tcG9uZW50LFxyXG4gICAgU2lyaW9EaWFsb2dIZWFkZXJDb21wb25lbnQsXHJcbiAgICBTaXJpb0RpYWxvZ0Zvb3RlckNvbXBvbmVudCxcclxuICAgIFNpcmlvQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgU2lyaW9EaWFsb2dBY3Rpb25EaXJlY3RpdmUsXHJcbiAgICBTaXJpb0RpYWxvZ1RpdGxlQ29tcG9uZW50ICAgIFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2RpYWxvZy5jb21wb25lbnQuY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nQ29tcG9uZW50IGV4dGVuZHMgU2lyaW9EaWFsb2dFbGVtZW50IHtcclxuICBAVmlld0NoaWxkKCdmb3JtSG9zdCcsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHJpdmF0ZSBmb3JtSG9zdCE6IFZpZXdDb250YWluZXJSZWY7XHJcbiAgcHJpdmF0ZSBmb3JtUmVmITogQ29tcG9uZW50UmVmPGFueT5cclxuICBwcml2YXRlIGR5bmFtaWNGb3JtVHlwZSE6IFR5cGU8YW55PjtcclxuICBUZXh0cyA9IFRleHRzO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmRhdGEub3B0aW9ucyA/PyB7fTtcclxuICAgIHRoaXMuY3VycmVudFZhbHVlID0gdGhpcy5vcHRpb25zLnZhbHVlO1xyXG4gICAgdGhpcy5keW5hbWljRm9ybVR5cGUgPSB0aGlzLmRhdGEuZHluYW1pY0Zvcm1UeXBlO1xyXG4gIH1cclxuXHJcbiAgb3B0aW9uczogRm9ybURpYWxvZ09wdGlvbnMgPSB7IH07XHJcbiAgXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG5cclxuICAgIGxldCBpbmplY3RvciA9IHRoaXMub3B0aW9ucy5pbmplY3RvclxyXG4gICAgICA/PyB0aGlzLmZvcm1Ib3N0LmluamVjdG9yO1xyXG5cclxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuZm9ybUhvc3QuY3JlYXRlQ29tcG9uZW50KHRoaXMuZHluYW1pY0Zvcm1UeXBlLCB7IGluamVjdG9yIH0pO1xyXG4gICAgY29uc3QgaW5zdGFuY2UgPSBjb21wb25lbnRSZWYuaW5zdGFuY2UgYXMgYW55O1xyXG5cclxuICAgIGNvbXBvbmVudFJlZi5zZXRJbnB1dCgnc2NoZW1hJywgdGhpcy5kYXRhLmZvcm1TY2hlbWEpO1xyXG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KCd2YWx1ZScsIHRoaXMub3B0aW9ucy52YWx1ZSA/PyB7IH0pO1xyXG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KCdzaG93TmF2JywgdGhpcy5vcHRpb25zLnNob3dOYXYgPz8gZmFsc2UpO1xyXG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KCdzaG93TmF2QnV0dG9uJywgdGhpcy5vcHRpb25zLnNob3dOYXZCdXR0b24gPz8gZmFsc2UpO1xyXG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KCdzaG93UHJvZ3Jlc3MnLCB0aGlzLm9wdGlvbnMuc2hvd1Byb2dyZXNzID8/IGZhbHNlKTtcclxuICAgIGNvbXBvbmVudFJlZi5zZXRJbnB1dCgnc2hvd0Zvcm1UaXRsZScsIHRoaXMub3B0aW9ucy5zaG93Rm9ybVRpdGxlID8/IGZhbHNlKTtcclxuXHJcbiAgICBpbnN0YW5jZS52YWx1ZUNoYW5nZVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlOiBhbnkpID0+IHRoaXMuc2V0Q3VycmVudFZhbHVlKHZhbHVlKSk7XHJcblxyXG4gICAgdGhpcy5mb3JtUmVmID0gY29tcG9uZW50UmVmO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGRvQ2xvc2UoKSB7XHJcbiAgICB0aGlzLmRvQWN0aW9uKCdDbG9zZScpO1xyXG4gIH1cclxuXHJcbiAgZG9BY3Rpb24oYWN0aW9uOiBEaWFsb2dBY3Rpb24pIHtcclxuICAgIHRoaXMuc2lyaW9EaWFsb2dTZXJ2aWNlLmNsb3NlRGlhbG9nKCk7XHJcbiAgICB0aGlzLlNlbmRSZXN1bHQoYWN0aW9uKTsgICAgXHJcbiAgfVxyXG5cclxuICBzaG93SGVhZGVyKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvd1RpdGxlKCkgfHwgdGhpcy5zaG93Q2xvc2VCdXR0b24oKTsgICAgXHJcbiAgfVxyXG5cclxuICBzaG93VGl0bGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLnRpdGxlID8gdHJ1ZTogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzaG93Q2xvc2VCdXR0b24oKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLm9wdGlvbnMuY2xvc2VCdXR0b24gPT09IHRydWU7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgc2hvd0Zvb3RlcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuYnV0dG9ucyAhPT0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgaXNJbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICh0aGlzLmZvcm1SZWY/Lmluc3RhbmNlPy5mb3JtR3JvdXA/LnZhbGlkID8/IHRydWUpICE9PSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgbG9jYWxlKGNvbXBvbmVudDogYW55LCBrZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gbG9jYWxpemUodGhpcy5sYW5ndWFnZSwgY29tcG9uZW50LCBrZXkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIHByaXZhdGUgY3VycmVudFZhbHVlOiBhbnk7XHJcblxyXG4gIHByaXZhdGUgc2V0Q3VycmVudFZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuY3VycmVudFZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldCBsYW5ndWFnZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLmdldExhbmd1YWdlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIFNlbmRSZXN1bHQoYWN0aW9uOiBEaWFsb2dBY3Rpb24pIHtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5vcHRpb25zLm9uUmVzdWx0ID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIGNvbnN0IHJlc3VsdDogRGlhbG9nUmVzdWx0ID0ge1xyXG4gICAgICAgIGFjdGlvbjogYWN0aW9uLFxyXG4gICAgICAgIHZhbHVlOiB0aGlzLmN1cnJlbnRWYWx1ZVxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLm9wdGlvbnMub25SZXN1bHQocmVzdWx0KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPG5neC1zaXJpby1kaWFsb2cgKGNsb3NlRXZlbnQpPVwiZG9DbG9zZSgpXCJcclxuICAgICAgICAgICAgICAgICAgZGlhbG9nXHJcbiAgICAgICAgICAgICAgICAgIFt0eXBlXT1cIm9wdGlvbnMudHlwZSA/PyAnaW5mbydcIlxyXG4gICAgICAgICAgICAgICAgICBbc2l6ZV09XCJvcHRpb25zLnNpemUgPz8gJ2RlZmF1bHQnXCJcclxuICAgICAgICAgICAgICAgICAgW2lzRHJhd2VyXT1cIm9wdGlvbnMuaXNEcmF3ZXIgPz8gZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICBbd2l0aENsb3NlQnV0dG9uXT1cInNob3dDbG9zZUJ1dHRvbigpXCI+XHJcblxyXG4gIDxuZ3gtc2lyaW8tZGlhbG9nLWhlYWRlciBbaGlkZGVuXT1cIiFzaG93SGVhZGVyKClcIj5cclxuICAgIDxuZ3gtc2lyaW8tZGlhbG9nLXRpdGxlIFtoaWRkZW5dPVwiIXNob3dUaXRsZSgpXCI+e3sgb3B0aW9ucy50aXRsZSB9fTwvbmd4LXNpcmlvLWRpYWxvZy10aXRsZT5cclxuICA8L25neC1zaXJpby1kaWFsb2ctaGVhZGVyPlxyXG5cclxuICA8bmd4LXNpcmlvLWRpYWxvZy1ib2R5PlxyXG4gICAgPG5nLXRlbXBsYXRlICNmb3JtSG9zdD48L25nLXRlbXBsYXRlPlxyXG4gIDwvbmd4LXNpcmlvLWRpYWxvZy1ib2R5PlxyXG5cclxuICA8bmd4LXNpcmlvLWRpYWxvZy1mb290ZXIgKm5nSWY9XCJzaG93Rm9vdGVyKClcIj5cclxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cIm9wdGlvbnMuYnV0dG9uc1wiPlxyXG4gICAgICA8IS0tIE9LIC0tPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInT0snXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbmZpcm1UZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdPSycgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPCEtLSBDYXNvOiBPS0NhbmNlbCAtLT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ09LQ2FuY2VsJ1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb25maXJtVGVtcGxhdGU7IGNvbnRleHQ6IHsgYWN0aW9uOiAnT0snIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2xvc2VUZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdDYW5jZWwnIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwhLS0gQ2FzbzogQ29uZmlybUNsb3NlIC0tPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInQ29uZmlybUNhbmNlbCdcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29uZmlybVRlbXBsYXRlOyBjb250ZXh0OiB7IGFjdGlvbjogJ0NvbmZpcm0nIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2xvc2VUZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdDYW5jZWwnIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwhLS0gQ2FzbzogQWJvcnRSZXRyeUlnbm9yZSAtLT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ0Fib3J0UmV0cnlJZ25vcmUnXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNsb3NlVGVtcGxhdGU7IGNvbnRleHQ6IHsgYWN0aW9uOiAnQWJvcnQnIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29uZmlybVRlbXBsYXRlOyBjb250ZXh0OiB7IGFjdGlvbjogJ1JldHJ5JyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNsb3NlVGVtcGxhdGU7IGNvbnRleHQ6IHsgYWN0aW9uOiAnSWdub3JlJyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8IS0tIENhc286IFllc05vQ2FuY2VsIC0tPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInWWVzTm9DYW5jZWwnXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbmZpcm1UZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdZZXMnIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2xvc2VUZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdObycgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjbG9zZVRlbXBsYXRlOyBjb250ZXh0OiB7IGFjdGlvbjogJ0NhbmNlbCcgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPCEtLSBDYXNvOiBZZXNObyAtLT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ1llc05vJ1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb25maXJtVGVtcGxhdGU7IGNvbnRleHQ6IHsgYWN0aW9uOiAnWWVzJyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNsb3NlVGVtcGxhdGU7IGNvbnRleHQ6IHsgYWN0aW9uOiAnTm8nIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwhLS0gQ2FzbzogUmV0cnlDYW5jZWwgLS0+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidSZXRyeUNhbmNlbCdcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29uZmlybVRlbXBsYXRlOyBjb250ZXh0OiB7IGFjdGlvbjogJ1JldHJ5JyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNsb3NlVGVtcGxhdGU7IGNvbnRleHQ6IHsgYWN0aW9uOiAnQ2FuY2VsJyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8IS0tIENhc286IENhbmNlbFRyeUNvbnRpbnVlIC0tPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInQ2FuY2VsVHJ5Q29udGludWUnXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNsb3NlVGVtcGxhdGU7IGNvbnRleHQ6IHsgYWN0aW9uOiAnQ2FuY2VsJyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbmZpcm1UZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdUcnknIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2xvc2VUZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdDb250aW51ZScgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPCEtLSBUZW1wbGF0ZXMgLS0+XHJcbiAgICA8bmctdGVtcGxhdGUgI2NvbmZpcm1UZW1wbGF0ZSBsZXQtYWN0aW9uPVwiYWN0aW9uXCI+XHJcbiAgICAgIDxuZ3gtc2lyaW8tYnV0dG9uIChjbGlja0V2ZW50KT1cImRvQWN0aW9uKGFjdGlvbilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNJbnZhbGlkKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIj5cclxuICAgICAgICB7eyBsb2NhbGUoVGV4dHMsIGFjdGlvbikgfX1cclxuICAgICAgPC9uZ3gtc2lyaW8tYnV0dG9uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSAjY2xvc2VUZW1wbGF0ZSBsZXQtYWN0aW9uPVwiYWN0aW9uXCI+XHJcbiAgICAgIDxuZ3gtc2lyaW8tYnV0dG9uIChjbGlja0V2ZW50KT1cImRvQWN0aW9uKGFjdGlvbilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInNlY29uZGFyeVwiPlxyXG4gICAgICAgIHt7IGxvY2FsZShUZXh0cywgYWN0aW9uKSB9fVxyXG4gICAgICA8L25neC1zaXJpby1idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8L25neC1zaXJpby1kaWFsb2ctZm9vdGVyPlxyXG5cclxuPC9uZ3gtc2lyaW8tZGlhbG9nPlxyXG4iXX0=
@@ -11,7 +11,12 @@ export class DialogDirective {
11
11
  focusEvents.apply(this.host);
12
12
  }
13
13
  };
14
- host.onOutsideClick = () => { };
14
+ const outsideClick = host.onOutsideClick;
15
+ host.onOutsideClick = (ev) => {
16
+ if (!host.isDrawer)
17
+ return;
18
+ outsideClick.apply(this.host, [ev]);
19
+ };
15
20
  }
16
21
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DialogDirective, deps: [{ token: i1.SirioDialogComponent }], target: i0.ɵɵFactoryTarget.Directive });
17
22
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: DialogDirective, isStandalone: true, selector: "[dialog]", ngImport: i0 });
@@ -23,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
23
28
  standalone: true
24
29
  }]
25
30
  }], ctorParameters: () => [{ type: i1.SirioDialogComponent }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2RpcmVjdGl2ZXMvZGlhbG9nLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNMUMsTUFBTSxPQUFPLGVBQWU7SUFFTjtJQUFwQixZQUFvQixJQUEwQjtRQUExQixTQUFJLEdBQUosSUFBSSxDQUFzQjtRQUU1QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFFM0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEdBQUcsRUFBRTtZQUM1QixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQzlCLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9CLENBQUM7UUFDSCxDQUFDLENBQUE7UUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUNqQyxDQUFDO3dHQWJVLGVBQWU7NEZBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFKM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNpcmlvRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnbmd4LXNpcmlvLWxpYic7XHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2RpYWxvZ10nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIERpYWxvZ0RpcmVjdGl2ZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaG9zdDogU2lyaW9EaWFsb2dDb21wb25lbnQpIHtcclxuXHJcbiAgICBjb25zdCBmb2N1c0V2ZW50cyA9IGhvc3QuaGFuZGxlRm9jdXNFdmVudHM7XHJcblxyXG4gICAgaG9zdC5oYW5kbGVGb2N1c0V2ZW50cyA9ICgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuaG9zdC53aXRoQ2xvc2VCdXR0b24pIHtcclxuICAgICAgICBmb2N1c0V2ZW50cy5hcHBseSh0aGlzLmhvc3QpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaG9zdC5vbk91dHNpZGVDbGljayA9ICgpID0+IHsgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2RpcmVjdGl2ZXMvZGlhbG9nLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNMUMsTUFBTSxPQUFPLGVBQWU7SUFFTjtJQUFwQixZQUFvQixJQUEwQjtRQUExQixTQUFJLEdBQUosSUFBSSxDQUFzQjtRQUU1QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFFM0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEdBQUcsRUFBRTtZQUM1QixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQzlCLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9CLENBQUM7UUFDSCxDQUFDLENBQUE7UUFFRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBRXpDLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxFQUFPLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7Z0JBQUUsT0FBTztZQUMzQixZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLENBQUMsQ0FBQTtJQUNILENBQUM7d0dBbEJVLGVBQWU7NEZBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFKM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNpcmlvRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnbmd4LXNpcmlvLWxpYic7XHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2RpYWxvZ10nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIERpYWxvZ0RpcmVjdGl2ZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaG9zdDogU2lyaW9EaWFsb2dDb21wb25lbnQpIHtcclxuXHJcbiAgICBjb25zdCBmb2N1c0V2ZW50cyA9IGhvc3QuaGFuZGxlRm9jdXNFdmVudHM7XHJcblxyXG4gICAgaG9zdC5oYW5kbGVGb2N1c0V2ZW50cyA9ICgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuaG9zdC53aXRoQ2xvc2VCdXR0b24pIHtcclxuICAgICAgICBmb2N1c0V2ZW50cy5hcHBseSh0aGlzLmhvc3QpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgb3V0c2lkZUNsaWNrID0gaG9zdC5vbk91dHNpZGVDbGljaztcclxuXHJcbiAgICBob3N0Lm9uT3V0c2lkZUNsaWNrID0gKGV2OiBhbnkpID0+IHtcclxuICAgICAgaWYgKCFob3N0LmlzRHJhd2VyKSByZXR1cm47XHJcbiAgICAgIG91dHNpZGVDbGljay5hcHBseSh0aGlzLmhvc3QsIFtldl0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -1,4 +1,5 @@
1
1
  import { Directive, Input } from '@angular/core';
2
+ import { hasFactory } from '../services/builder.service';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "@angular/forms";
4
5
  export class RepeatDirective {
@@ -11,8 +12,10 @@ export class RepeatDirective {
11
12
  ngOnChanges(changes) {
12
13
  if (changes["repeat"] || changes["allowAddRemove"]) {
13
14
  const formArray = this.controlContainer.control;
14
- if (Number.isInteger(this.repeat) && this.repeat >= 0) {
15
- formArray.resize(this.repeat);
15
+ if (hasFactory(formArray)) {
16
+ if (Number.isInteger(this.repeat) && this.repeat >= 0) {
17
+ formArray.resize(this.repeat);
18
+ }
16
19
  }
17
20
  }
18
21
  }
@@ -30,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
30
33
  }], allowAddRemove: [{
31
34
  type: Input
32
35
  }] } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2RpcmVjdGl2ZXMvcmVwZWF0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7OztBQU8zRSxNQUFNLE9BQU8sZUFBZTtJQUlOO0lBSFgsTUFBTSxHQUFRLElBQUksQ0FBQztJQUNuQixjQUFjLEdBQW1CLElBQUksQ0FBQztJQUUvQyxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFJLENBQUM7SUFFM0QsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDbkQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQW9CLENBQUM7WUFDN0QsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNyRCxTQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDekMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO3dHQWJVLGVBQWU7NEZBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFKM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7cUZBRVUsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUFycmF5LCBDb250cm9sQ29udGFpbmVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbcmVwZWF0XSwgW2FsbG93QWRkUmVtb3ZlXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVwZWF0RGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSByZXBlYXQ6IGFueSA9IG51bGw7XHJcbiAgQElucHV0KCkgYWxsb3dBZGRSZW1vdmU6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb250cm9sQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyKSB7IH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbXCJyZXBlYXRcIl0gfHwgY2hhbmdlc1tcImFsbG93QWRkUmVtb3ZlXCJdKSB7XHJcbiAgICAgIGNvbnN0IGZvcm1BcnJheSA9IHRoaXMuY29udHJvbENvbnRhaW5lci5jb250cm9sIGFzIEZvcm1BcnJheTtcclxuICAgICAgaWYgKE51bWJlci5pc0ludGVnZXIodGhpcy5yZXBlYXQpICYmIHRoaXMucmVwZWF0ID49IDApIHtcclxuICAgICAgICAoZm9ybUFycmF5IGFzIGFueSkucmVzaXplKHRoaXMucmVwZWF0KTtcclxuICAgICAgfSAgICAgIFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2RpcmVjdGl2ZXMvcmVwZWF0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFFM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFNekQsTUFBTSxPQUFPLGVBQWU7SUFJTjtJQUhYLE1BQU0sR0FBUSxJQUFJLENBQUM7SUFDbkIsY0FBYyxHQUFtQixJQUFJLENBQUM7SUFFL0MsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFBSSxDQUFDO0lBRTNELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1lBQ25ELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFvQixDQUFDO1lBQzdELElBQUksVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQzFCLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDdEQsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2hDLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7d0dBZlUsZUFBZTs0RkFBZixlQUFlOzs0RkFBZixlQUFlO2tCQUozQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjtxRkFFVSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQXJyYXksIENvbnRyb2xDb250YWluZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGhhc0ZhY3RvcnkgfSBmcm9tICcuLi9zZXJ2aWNlcy9idWlsZGVyLnNlcnZpY2UnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbcmVwZWF0XSwgW2FsbG93QWRkUmVtb3ZlXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVwZWF0RGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSByZXBlYXQ6IGFueSA9IG51bGw7XHJcbiAgQElucHV0KCkgYWxsb3dBZGRSZW1vdmU6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb250cm9sQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyKSB7IH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbXCJyZXBlYXRcIl0gfHwgY2hhbmdlc1tcImFsbG93QWRkUmVtb3ZlXCJdKSB7XHJcbiAgICAgIGNvbnN0IGZvcm1BcnJheSA9IHRoaXMuY29udHJvbENvbnRhaW5lci5jb250cm9sIGFzIEZvcm1BcnJheTtcclxuICAgICAgaWYgKGhhc0ZhY3RvcnkoZm9ybUFycmF5KSkge1xyXG4gICAgICAgIGlmIChOdW1iZXIuaXNJbnRlZ2VyKHRoaXMucmVwZWF0KSAmJiB0aGlzLnJlcGVhdCA+PSAwKSB7XHJcbiAgICAgICAgICBmb3JtQXJyYXkucmVzaXplKHRoaXMucmVwZWF0KTtcclxuICAgICAgICB9ICAgICAgXHJcbiAgICAgIH0gICAgICBcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19