@veloceapps/sdk 8.0.0-17 → 8.0.0-19

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. package/esm2020/cms/components/element-children/element-children.component.mjs +3 -3
  2. package/esm2020/cms/components/element-children/element-children.module.mjs +4 -4
  3. package/esm2020/cms/components/element-drop-handle/element-drop-handle.component.mjs +3 -3
  4. package/esm2020/cms/components/element-drop-handle/element-drop-handle.module.mjs +4 -4
  5. package/esm2020/cms/components/element-renderer/element-renderer.component.mjs +3 -3
  6. package/esm2020/cms/components/element-renderer/element-renderer.module.mjs +4 -4
  7. package/esm2020/cms/components/element-tools-panel/element-tools-panel.component.mjs +3 -3
  8. package/esm2020/cms/components/plugin.component.mjs +3 -3
  9. package/esm2020/cms/components/preview/preview.component.mjs +3 -3
  10. package/esm2020/cms/components/preview/preview.module.mjs +4 -4
  11. package/esm2020/cms/directives/custom-template.directive.mjs +7 -7
  12. package/esm2020/cms/launcher.module.mjs +4 -4
  13. package/esm2020/cms/modules/federated/federated-host.directive.mjs +3 -3
  14. package/esm2020/cms/modules/federated/federated.component.mjs +3 -3
  15. package/esm2020/cms/modules/federated/federated.module.mjs +4 -4
  16. package/esm2020/cms/modules/migrations/migrations.module.mjs +4 -4
  17. package/esm2020/cms/modules/migrations/services/migrations.service.mjs +3 -3
  18. package/esm2020/cms/modules/runtime/runtime.module.mjs +4 -4
  19. package/esm2020/cms/modules/runtime/services/compilation.service.mjs +3 -3
  20. package/esm2020/cms/modules/runtime/services/runtime-editor.service.mjs +3 -3
  21. package/esm2020/cms/modules/runtime/services/runtime.service.mjs +3 -3
  22. package/esm2020/cms/plugins/configuration.plugin.mjs +3 -3
  23. package/esm2020/cms/plugins/element-hover.plugin.mjs +3 -3
  24. package/esm2020/cms/plugins/io.plugin.mjs +3 -3
  25. package/esm2020/cms/plugins/page.plugin.mjs +3 -3
  26. package/esm2020/cms/plugins/region.plugin.mjs +3 -3
  27. package/esm2020/cms/plugins/script.plugin.mjs +3 -3
  28. package/esm2020/cms/services/element-context.service.mjs +3 -3
  29. package/esm2020/cms/services/integration.state.mjs +3 -3
  30. package/esm2020/cms/services/io-provider.service.mjs +3 -3
  31. package/esm2020/cms/services/resources.service.mjs +3 -3
  32. package/esm2020/cms/services/templates.service.mjs +3 -3
  33. package/esm2020/cms/utils/elements-resolver.mjs +2 -2
  34. package/esm2020/core/core.module.mjs +4 -4
  35. package/esm2020/core/directives/directives.module.mjs +4 -4
  36. package/esm2020/core/directives/primeng-calendar.directive.mjs +3 -3
  37. package/esm2020/core/modules/configuration/configuration.module.mjs +4 -4
  38. package/esm2020/core/modules/configuration/services/configuration-runtime.service.mjs +3 -3
  39. package/esm2020/core/modules/configuration/services/configuration.service.mjs +3 -3
  40. package/esm2020/core/modules/configuration/services/configuration.state.mjs +3 -3
  41. package/esm2020/core/modules/configuration/services/runtime-context.service.mjs +3 -3
  42. package/esm2020/core/modules/flow-configuration/flow-configuration.module.mjs +4 -4
  43. package/esm2020/core/modules/flow-configuration/services/flow-configuration.service.mjs +3 -3
  44. package/esm2020/core/modules/flow-configuration/services/flow-update.service.mjs +3 -3
  45. package/esm2020/core/pipes/date.pipe.mjs +3 -3
  46. package/esm2020/core/pipes/number.pipe.mjs +3 -3
  47. package/esm2020/core/pipes/pipes.module.mjs +4 -4
  48. package/esm2020/core/pipes/price.pipe.mjs +3 -3
  49. package/esm2020/core/services/context.service.mjs +3 -3
  50. package/esm2020/core/services/metric-calculation/metric-calculation.service.mjs +3 -3
  51. package/esm2020/core/services/product-images.service.mjs +3 -3
  52. package/esm2020/core/services/quote-draft.service.mjs +3 -3
  53. package/esm2020/core/services/runtime-settings.service.mjs +3 -3
  54. package/esm2020/runtime/components/component-preview/component-preview.component.mjs +3 -3
  55. package/esm2020/runtime/components/section-renderer/section-renderer.component.mjs +3 -3
  56. package/esm2020/runtime/components/ui-runtime/runtime.component.mjs +3 -3
  57. package/esm2020/runtime/components/ui-runtime-preview/runtime-preview.component.mjs +3 -3
  58. package/esm2020/runtime/execution/components/children-placeholder/children-placeholder.component.mjs +6 -6
  59. package/esm2020/runtime/execution/components/context-provider/context-provider.component.mjs +3 -3
  60. package/esm2020/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.mjs +3 -3
  61. package/esm2020/runtime/execution/components/federated/federated.component.mjs +3 -3
  62. package/esm2020/runtime/execution/components/velo-attribute/velo-attribute.component.mjs +3 -3
  63. package/esm2020/runtime/execution/components/velo-multiselect/velo-multiselect.component.mjs +3 -3
  64. package/esm2020/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.mjs +3 -3
  65. package/esm2020/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.mjs +3 -3
  66. package/esm2020/runtime/execution/components/velo-port-radio/velo-port-radio.component.mjs +3 -3
  67. package/esm2020/runtime/execution/components/velo-type/velo-type.component.mjs +3 -3
  68. package/esm2020/runtime/execution/directives/section-script.directive.mjs +3 -3
  69. package/esm2020/runtime/execution/directives/sf-query.directive.mjs +3 -3
  70. package/esm2020/runtime/execution/directives/velo-attribute.directive.mjs +3 -3
  71. package/esm2020/runtime/execution/directives/velo-port.directive.mjs +18 -18
  72. package/esm2020/runtime/execution/directives/vl-approval.directive.mjs +3 -3
  73. package/esm2020/runtime/execution/directives/vl-document-attachments.directive.mjs +3 -3
  74. package/esm2020/runtime/execution/directives/vl-document-templates.directive.mjs +3 -3
  75. package/esm2020/runtime/execution/directives/vl-quote.directive.mjs +3 -3
  76. package/esm2020/runtime/execution/directives/vl-ramp.directive.mjs +3 -3
  77. package/esm2020/runtime/execution/runtime-execution.module.mjs +4 -4
  78. package/esm2020/runtime/runtime.module.mjs +4 -4
  79. package/esm2020/runtime/services/cart.service.mjs +3 -3
  80. package/esm2020/runtime/services/collapsible-state.service.mjs +3 -3
  81. package/esm2020/runtime/services/configuration.service.mjs +3 -3
  82. package/esm2020/runtime/services/current-state.service.mjs +3 -3
  83. package/esm2020/runtime/services/form-scope.service.mjs +3 -3
  84. package/esm2020/runtime/services/product-model-cache.service.mjs +3 -3
  85. package/esm2020/runtime/services/runtime-context.service.mjs +3 -3
  86. package/esm2020/runtime/services/runtime-form.service.mjs +3 -3
  87. package/esm2020/runtime/services/runtime.service.mjs +3 -3
  88. package/esm2020/runtime/services/section-helper.service.mjs +3 -3
  89. package/esm2020/runtime/services/section-scope.service.mjs +3 -3
  90. package/esm2020/runtime/services/section-store.service.mjs +3 -3
  91. package/esm2020/runtime/services/section.service.mjs +6 -6
  92. package/esm2020/src/components/dialog/dialog.component.mjs +3 -3
  93. package/esm2020/src/components/dialog/dialog.module.mjs +4 -4
  94. package/esm2020/src/components/doc-gen/doc-gen.component.mjs +3 -3
  95. package/esm2020/src/components/doc-gen/doc-gen.module.mjs +4 -4
  96. package/esm2020/src/components/guided-selling/guided-selling.component.mjs +3 -3
  97. package/esm2020/src/components/guided-selling/guided-selling.module.mjs +4 -4
  98. package/esm2020/src/components/header/cart-overlay/cart-preview.component.mjs +3 -3
  99. package/esm2020/src/components/header/cart-overlay/cart-preview.module.mjs +4 -4
  100. package/esm2020/src/components/header/header.component.mjs +3 -3
  101. package/esm2020/src/components/header/header.module.mjs +4 -4
  102. package/esm2020/src/components/header/metrics/metrics.component.mjs +3 -3
  103. package/esm2020/src/components/header/metrics/metrics.module.mjs +4 -4
  104. package/esm2020/src/flow-routing.module.mjs +4 -4
  105. package/esm2020/src/flow.component.mjs +3 -3
  106. package/esm2020/src/flow.module.mjs +4 -4
  107. package/esm2020/src/guards/context.guard.mjs +3 -3
  108. package/esm2020/src/guards/product-unload.guard.mjs +3 -3
  109. package/esm2020/src/guards/root.guard.mjs +3 -3
  110. package/esm2020/src/pages/assets/assets.component.mjs +3 -3
  111. package/esm2020/src/pages/assets/assets.module.mjs +4 -4
  112. package/esm2020/src/pages/catalog/catalog.component.mjs +3 -3
  113. package/esm2020/src/pages/catalog/catalog.module.mjs +4 -4
  114. package/esm2020/src/pages/debug/debug.component.mjs +3 -3
  115. package/esm2020/src/pages/debug/debug.module.mjs +4 -4
  116. package/esm2020/src/pages/empty-account/empty-account.component.mjs +3 -3
  117. package/esm2020/src/pages/empty-account/empty-account.module.mjs +4 -4
  118. package/esm2020/src/pages/legacy-product/legacy-product.component.mjs +3 -3
  119. package/esm2020/src/pages/legacy-product/legacy-product.module.mjs +4 -4
  120. package/esm2020/src/pages/product/product.component.mjs +3 -3
  121. package/esm2020/src/pages/product/product.module.mjs +4 -4
  122. package/esm2020/src/pages/record-not-found/record-not-found.component.mjs +3 -3
  123. package/esm2020/src/pages/record-not-found/record-not-found.module.mjs +4 -4
  124. package/esm2020/src/pages/remote/remote.component.mjs +3 -3
  125. package/esm2020/src/pages/remote/remote.module.mjs +4 -4
  126. package/esm2020/src/pages/shopping-cart/shopping-cart.component.mjs +3 -3
  127. package/esm2020/src/pages/shopping-cart/shopping-cart.module.mjs +4 -4
  128. package/esm2020/src/resolvers/flow.resolver.mjs +3 -3
  129. package/esm2020/src/resolvers/quote.resolver.mjs +3 -3
  130. package/esm2020/src/services/doc-gen.service.mjs +3 -3
  131. package/esm2020/src/services/flow-dialog.service.mjs +3 -3
  132. package/esm2020/src/services/flow-router.service.mjs +3 -3
  133. package/esm2020/src/services/flow.service.mjs +3 -3
  134. package/esm2020/src/services/guided-selling.service.mjs +3 -3
  135. package/fesm2015/veloceapps-sdk-cms.mjs +107 -107
  136. package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -1
  137. package/fesm2015/veloceapps-sdk-core.mjs +65 -65
  138. package/fesm2015/veloceapps-sdk-runtime.mjs +137 -137
  139. package/fesm2015/veloceapps-sdk.mjs +146 -146
  140. package/fesm2020/veloceapps-sdk-cms.mjs +107 -107
  141. package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -1
  142. package/fesm2020/veloceapps-sdk-core.mjs +65 -65
  143. package/fesm2020/veloceapps-sdk-runtime.mjs +137 -137
  144. package/fesm2020/veloceapps-sdk.mjs +146 -146
  145. package/package.json +3 -3
@@ -99,15 +99,15 @@ export class MultiselectComponent {
99
99
  this.overlayRef.detach();
100
100
  }
101
101
  }
102
- MultiselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MultiselectComponent, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Component });
103
- MultiselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: MultiselectComponent, selector: "velo-multiselect", inputs: { options: "options" }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.opened": "this.opened" } }, providers: [
102
+ MultiselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MultiselectComponent, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Component });
103
+ MultiselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: MultiselectComponent, selector: "velo-multiselect", inputs: { options: "options" }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.opened": "this.opened" } }, providers: [
104
104
  {
105
105
  provide: NG_VALUE_ACCESSOR,
106
106
  multi: true,
107
107
  useExisting: MultiselectComponent,
108
108
  },
109
109
  ], viewQueries: [{ propertyName: "overlayTemplate", first: true, predicate: ["overlayTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"value-wrapper\" (click)=\"toggleOpened()\">\n <span class=\"value\">{{ displayValue }}</span>\n <i class=\"fa fa-chevron-down\"></i>\n</div>\n\n<ng-template #overlayTemplate>\n <div class=\"dropdown\">\n <div class=\"checkbox-select\" *ngFor=\"let option of options\">\n <label>\n <input\n type=\"checkbox\"\n [checked]=\"selected.includes(option)\"\n (change)=\"handleSelection(option)\"\n [value]=\"option\"\n />\n\n <i class=\"input-helper\"></i>\n {{ option }}\n </label>\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:block;width:172px}:host[disabled] .value-wrapper{pointer-events:none;background:rgba(0,0,0,.06);border-color:#0003}:host.opened .value-wrapper{border-color:#0e8fff}:host.opened i{transform:rotate(180deg)}:host .value-wrapper{cursor:pointer;display:flex;align-items:center;justify-content:space-between;height:34px;padding:0 10px;border:1px solid #ddd;border-radius:3px;background:#fff}:host .value-wrapper .value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown{width:172px;max-height:200px;background:#fff;border:1px solid #ddd;border-radius:3px;overflow:auto}.dropdown .checkbox-select{padding:0 10px;width:100%}.dropdown .checkbox-select label{width:100%;height:36px;line-height:36px}.dropdown .checkbox-select .input-helper:before{top:10px}.dropdown .checkbox-select .input-helper:after{top:12px}.dropdown .checkbox-select:hover{background:#d5dddf}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MultiselectComponent, decorators: [{
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MultiselectComponent, decorators: [{
111
111
  type: Component,
112
112
  args: [{ selector: 'velo-multiselect', providers: [
113
113
  {
@@ -61,9 +61,9 @@ export class VeloPortCheckBoxComponent {
61
61
  this.section.model.lineItems.find(li => li.type && li.type.toLowerCase() === valueOption.toLowerCase()));
62
62
  }
63
63
  }
64
- VeloPortCheckBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VeloPortCheckBoxComponent, deps: [{ token: i1.FormScopeService }, { token: i2.SectionScopeService }], target: i0.ɵɵFactoryTarget.Component });
65
- VeloPortCheckBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: VeloPortCheckBoxComponent, selector: "velo-port-checkbox", inputs: { showSelectAll: "showSelectAll" }, ngImport: i0, template: "<div [formGroup]=\"form\">\n <!--TODO ALE replace divs with ng-templates-->\n <div *ngIf=\"showSelectAll\">\n <div class=\"row no-gutter clearfix\">\n <div class=\"col-md-12\">\n <div class=\"content\">\n <div class=\"container-box container-box-bordered container-box-checkbox collapsed\">\n <div class=\"box-title\">\n <div class=\"header clearfix\">\n <div class=\"checkbox-select\">\n <label>\n <input type=\"checkbox\" (change)=\"selectAllChange()\" [checked]=\"isAllSelected()\" />\n\n <i class=\"input-helper\"></i>\n Select All\n </label>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngFor=\"let valueOption of section.sectionValue?.valueOptions\">\n <div class=\"unchecked\">\n <div class=\"row no-gutter clearfix\">\n <div class=\"col-md-12\">\n <div class=\"content\">\n <div class=\"container-box container-box-bordered container-box-checkbox collapsed\">\n <div class=\"box-title\" (click)=\"handleChange(valueOption)\">\n <div class=\"header clearfix\">\n <div class=\"checkbox-select\">\n <label>\n <input\n type=\"checkbox\"\n [class.checkbox--checked]=\"valueOption === form.controls[controlName].value\"\n />\n\n <i class=\"input-helper\"></i>\n {{section.sectionValue?.displayValues?.[valueOption] || valueOption}}\n </label>\n </div>\n </div>\n\n <div class=\"box-actions\" *ngIf=\"hasValueFor(valueOption)\">\n <ng-template #msgTemplate>\n <div class=\"runtime-info-message\">\n <ul class=\"message-text\">\n <li *ngFor=\"let message of getMessages(valueOption)\">{{ message }}</li>\n </ul>\n </div>\n </ng-template>\n <!-- removed dependency: ngx-bootstrap -->\n <!-- <div\n class=\"box-action-button\"\n *ngIf=\"getMessages(valueOption).length > 0\"\n [popover]=\"msgTemplate\"\n placement=\"left\"\n container=\"body\"\n [isOpen]=\"true\"\n >\n <a href=\"javascript:void(0);\">\n <i class=\"fa fa-info check-icon\"></i>\n </a>\n </div> -->\n </div>\n </div>\n <div class=\"box-content-wrapper\">\n <div class=\"box-content\">&nbsp;</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VeloPortCheckBoxComponent, decorators: [{
64
+ VeloPortCheckBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VeloPortCheckBoxComponent, deps: [{ token: i1.FormScopeService }, { token: i2.SectionScopeService }], target: i0.ɵɵFactoryTarget.Component });
65
+ VeloPortCheckBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: VeloPortCheckBoxComponent, selector: "velo-port-checkbox", inputs: { showSelectAll: "showSelectAll" }, ngImport: i0, template: "<div [formGroup]=\"form\">\n <!--TODO ALE replace divs with ng-templates-->\n <div *ngIf=\"showSelectAll\">\n <div class=\"row no-gutter clearfix\">\n <div class=\"col-md-12\">\n <div class=\"content\">\n <div class=\"container-box container-box-bordered container-box-checkbox collapsed\">\n <div class=\"box-title\">\n <div class=\"header clearfix\">\n <div class=\"checkbox-select\">\n <label>\n <input type=\"checkbox\" (change)=\"selectAllChange()\" [checked]=\"isAllSelected()\" />\n\n <i class=\"input-helper\"></i>\n Select All\n </label>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngFor=\"let valueOption of section.sectionValue?.valueOptions\">\n <div class=\"unchecked\">\n <div class=\"row no-gutter clearfix\">\n <div class=\"col-md-12\">\n <div class=\"content\">\n <div class=\"container-box container-box-bordered container-box-checkbox collapsed\">\n <div class=\"box-title\" (click)=\"handleChange(valueOption)\">\n <div class=\"header clearfix\">\n <div class=\"checkbox-select\">\n <label>\n <input\n type=\"checkbox\"\n [class.checkbox--checked]=\"valueOption === form.controls[controlName].value\"\n />\n\n <i class=\"input-helper\"></i>\n {{section.sectionValue?.displayValues?.[valueOption] || valueOption}}\n </label>\n </div>\n </div>\n\n <div class=\"box-actions\" *ngIf=\"hasValueFor(valueOption)\">\n <ng-template #msgTemplate>\n <div class=\"runtime-info-message\">\n <ul class=\"message-text\">\n <li *ngFor=\"let message of getMessages(valueOption)\">{{ message }}</li>\n </ul>\n </div>\n </ng-template>\n <!-- removed dependency: ngx-bootstrap -->\n <!-- <div\n class=\"box-action-button\"\n *ngIf=\"getMessages(valueOption).length > 0\"\n [popover]=\"msgTemplate\"\n placement=\"left\"\n container=\"body\"\n [isOpen]=\"true\"\n >\n <a href=\"javascript:void(0);\">\n <i class=\"fa fa-info check-icon\"></i>\n </a>\n </div> -->\n </div>\n </div>\n <div class=\"box-content-wrapper\">\n <div class=\"box-content\">&nbsp;</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VeloPortCheckBoxComponent, decorators: [{
67
67
  type: Component,
68
68
  args: [{ selector: 'velo-port-checkbox', template: "<div [formGroup]=\"form\">\n <!--TODO ALE replace divs with ng-templates-->\n <div *ngIf=\"showSelectAll\">\n <div class=\"row no-gutter clearfix\">\n <div class=\"col-md-12\">\n <div class=\"content\">\n <div class=\"container-box container-box-bordered container-box-checkbox collapsed\">\n <div class=\"box-title\">\n <div class=\"header clearfix\">\n <div class=\"checkbox-select\">\n <label>\n <input type=\"checkbox\" (change)=\"selectAllChange()\" [checked]=\"isAllSelected()\" />\n\n <i class=\"input-helper\"></i>\n Select All\n </label>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngFor=\"let valueOption of section.sectionValue?.valueOptions\">\n <div class=\"unchecked\">\n <div class=\"row no-gutter clearfix\">\n <div class=\"col-md-12\">\n <div class=\"content\">\n <div class=\"container-box container-box-bordered container-box-checkbox collapsed\">\n <div class=\"box-title\" (click)=\"handleChange(valueOption)\">\n <div class=\"header clearfix\">\n <div class=\"checkbox-select\">\n <label>\n <input\n type=\"checkbox\"\n [class.checkbox--checked]=\"valueOption === form.controls[controlName].value\"\n />\n\n <i class=\"input-helper\"></i>\n {{section.sectionValue?.displayValues?.[valueOption] || valueOption}}\n </label>\n </div>\n </div>\n\n <div class=\"box-actions\" *ngIf=\"hasValueFor(valueOption)\">\n <ng-template #msgTemplate>\n <div class=\"runtime-info-message\">\n <ul class=\"message-text\">\n <li *ngFor=\"let message of getMessages(valueOption)\">{{ message }}</li>\n </ul>\n </div>\n </ng-template>\n <!-- removed dependency: ngx-bootstrap -->\n <!-- <div\n class=\"box-action-button\"\n *ngIf=\"getMessages(valueOption).length > 0\"\n [popover]=\"msgTemplate\"\n placement=\"left\"\n container=\"body\"\n [isOpen]=\"true\"\n >\n <a href=\"javascript:void(0);\">\n <i class=\"fa fa-info check-icon\"></i>\n </a>\n </div> -->\n </div>\n </div>\n <div class=\"box-content-wrapper\">\n <div class=\"box-content\">&nbsp;</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<ng-content></ng-content>\n" }]
69
69
  }], ctorParameters: function () { return [{ type: i1.FormScopeService }, { type: i2.SectionScopeService }]; }, propDecorators: { showSelectAll: [{
@@ -88,9 +88,9 @@ export class VeloPortDropdownComponent {
88
88
  }
89
89
  }
90
90
  }
91
- VeloPortDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VeloPortDropdownComponent, deps: [{ token: i1.FormScopeService }, { token: i2.SectionScopeService }], target: i0.ɵɵFactoryTarget.Component });
92
- VeloPortDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: VeloPortDropdownComponent, selector: "velo-port-dropdown", ngImport: i0, template: "<div class=\"form-group col-md-12\" [formGroup]=\"form\">\n <div class=\"input-form-input div-inline\">\n <label [for]=\"controlName\">{{ section.label }}</label>\n <div class=\"form-control-wrapper\">\n <select [id]=\"controlName\" [formControlName]=\"controlName\" class=\"form-control\">\n <option *ngFor=\"let valueOption of section.sectionValue?.valueOptions\" [ngValue]=\"valueOption\">\n {{section.sectionValue?.displayValues?.[valueOption] || valueOption}}\n <span *ngIf=\"prices[valueOption] && prices[valueOption].length > 0\">\n <span>${{ prices[valueOption][0].netPrice }}</span>\n <span *ngIf=\"prices[valueOption].length > 1\">\n <span>, </span>\n <span>${{ prices[valueOption][1].netPrice }}</span>\n </span>\n </span>\n </option>\n </select>\n </div>\n </div>\n <div class=\"input-form-input div-inline quantity-form-input\">\n <label [for]=\"qtyControlName\"> Quantity </label>\n <div class=\"form-control-wrapper\">\n <input [id]=\"qtyControlName\" [formControlName]=\"qtyControlName\" type=\"text\" class=\"form-control\" size=\"3\" />\n\n <div\n class=\"validation-message\"\n [hidden]=\"form.controls[qtyControlName].valid || form.controls[qtyControlName].pristine\"\n >\n <div *ngFor=\"let key of form.controls[qtyControlName].errors | values\">\n <span> {{form.controls[qtyControlName]?.errors?.[key].message}}</span>\n </div>\n </div>\n\n <a href=\"javascript:void(0);\" (click)=\"handleCreate()\">\n <div class=\"add-config-control\" [attr.disabled]=\"form.valid && isAddAllowed() ? null : true\">\n <i class=\"fa fa-plus plus-icon\"></i>\n </div>\n </a>\n </div>\n </div>\n</div>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i5.ValuesPipe, name: "values" }] });
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VeloPortDropdownComponent, decorators: [{
91
+ VeloPortDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VeloPortDropdownComponent, deps: [{ token: i1.FormScopeService }, { token: i2.SectionScopeService }], target: i0.ɵɵFactoryTarget.Component });
92
+ VeloPortDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: VeloPortDropdownComponent, selector: "velo-port-dropdown", ngImport: i0, template: "<div class=\"form-group col-md-12\" [formGroup]=\"form\">\n <div class=\"input-form-input div-inline\">\n <label [for]=\"controlName\">{{ section.label }}</label>\n <div class=\"form-control-wrapper\">\n <select [id]=\"controlName\" [formControlName]=\"controlName\" class=\"form-control\">\n <option *ngFor=\"let valueOption of section.sectionValue?.valueOptions\" [ngValue]=\"valueOption\">\n {{section.sectionValue?.displayValues?.[valueOption] || valueOption}}\n <span *ngIf=\"prices[valueOption] && prices[valueOption].length > 0\">\n <span>${{ prices[valueOption][0].netPrice }}</span>\n <span *ngIf=\"prices[valueOption].length > 1\">\n <span>, </span>\n <span>${{ prices[valueOption][1].netPrice }}</span>\n </span>\n </span>\n </option>\n </select>\n </div>\n </div>\n <div class=\"input-form-input div-inline quantity-form-input\">\n <label [for]=\"qtyControlName\"> Quantity </label>\n <div class=\"form-control-wrapper\">\n <input [id]=\"qtyControlName\" [formControlName]=\"qtyControlName\" type=\"text\" class=\"form-control\" size=\"3\" />\n\n <div\n class=\"validation-message\"\n [hidden]=\"form.controls[qtyControlName].valid || form.controls[qtyControlName].pristine\"\n >\n <div *ngFor=\"let key of form.controls[qtyControlName].errors | values\">\n <span> {{form.controls[qtyControlName]?.errors?.[key].message}}</span>\n </div>\n </div>\n\n <a href=\"javascript:void(0);\" (click)=\"handleCreate()\">\n <div class=\"add-config-control\" [attr.disabled]=\"form.valid && isAddAllowed() ? null : true\">\n <i class=\"fa fa-plus plus-icon\"></i>\n </div>\n </a>\n </div>\n </div>\n</div>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i5.ValuesPipe, name: "values" }] });
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VeloPortDropdownComponent, decorators: [{
94
94
  type: Component,
95
95
  args: [{ selector: 'velo-port-dropdown', template: "<div class=\"form-group col-md-12\" [formGroup]=\"form\">\n <div class=\"input-form-input div-inline\">\n <label [for]=\"controlName\">{{ section.label }}</label>\n <div class=\"form-control-wrapper\">\n <select [id]=\"controlName\" [formControlName]=\"controlName\" class=\"form-control\">\n <option *ngFor=\"let valueOption of section.sectionValue?.valueOptions\" [ngValue]=\"valueOption\">\n {{section.sectionValue?.displayValues?.[valueOption] || valueOption}}\n <span *ngIf=\"prices[valueOption] && prices[valueOption].length > 0\">\n <span>${{ prices[valueOption][0].netPrice }}</span>\n <span *ngIf=\"prices[valueOption].length > 1\">\n <span>, </span>\n <span>${{ prices[valueOption][1].netPrice }}</span>\n </span>\n </span>\n </option>\n </select>\n </div>\n </div>\n <div class=\"input-form-input div-inline quantity-form-input\">\n <label [for]=\"qtyControlName\"> Quantity </label>\n <div class=\"form-control-wrapper\">\n <input [id]=\"qtyControlName\" [formControlName]=\"qtyControlName\" type=\"text\" class=\"form-control\" size=\"3\" />\n\n <div\n class=\"validation-message\"\n [hidden]=\"form.controls[qtyControlName].valid || form.controls[qtyControlName].pristine\"\n >\n <div *ngFor=\"let key of form.controls[qtyControlName].errors | values\">\n <span> {{form.controls[qtyControlName]?.errors?.[key].message}}</span>\n </div>\n </div>\n\n <a href=\"javascript:void(0);\" (click)=\"handleCreate()\">\n <div class=\"add-config-control\" [attr.disabled]=\"form.valid && isAddAllowed() ? null : true\">\n <i class=\"fa fa-plus plus-icon\"></i>\n </div>\n </a>\n </div>\n </div>\n</div>\n<ng-content></ng-content>\n" }]
96
96
  }], ctorParameters: function () { return [{ type: i1.FormScopeService }, { type: i2.SectionScopeService }]; } });
@@ -133,9 +133,9 @@ export class VeloPortRadioComponent {
133
133
  }
134
134
  }
135
135
  }
136
- VeloPortRadioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VeloPortRadioComponent, deps: [{ token: i1.FormScopeService }, { token: i2.SectionScopeService }], target: i0.ɵɵFactoryTarget.Component });
137
- VeloPortRadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: VeloPortRadioComponent, selector: "velo-port-radio", ngImport: i0, template: "<div [formGroup]=\"form\">\n <!--TODO ALE replace divs with ng-templates-->\n <ng-container *ngFor=\"let valueOption of section.sectionValue?.valueOptions\">\n <div class=\"unchecked\">\n <div class=\"row no-gutter clearfix\">\n <div class=\"col-md-12\">\n <div class=\"content\">\n <div class=\"container-box container-box-bordered container-box-radio\">\n <div class=\"box-title\" (click)=\"handleChange($event, valueOption)\">\n <div class=\"header clearfix\">\n <div class=\"radio-button\">\n <label>\n <input type=\"radio\" [id]=\"controlName\" [value]=\"valueOption\" [formControlName]=\"controlName\" />\n\n <i class=\"input-helper\"></i>\n\n {{ section.sectionValue?.displayValues?.[valueOption] || valueOption }}\n\n <span *ngIf=\"prices[valueOption] && prices[valueOption].length > 0\">\n <span>${{ prices[valueOption][0].netPrice }}</span>\n\n <span *ngIf=\"prices[valueOption].length > 1\">\n <span>, </span>\n\n <span>${{ prices[valueOption][1].netPrice }}</span>\n </span>\n </span>\n </label>\n <span *ngIf=\"prices[valueOption] && prices[valueOption].length > 0\">\n <div>{{ prices[valueOption][0].explanation }}</div>\n\n <span *ngIf=\"prices[valueOption].length > 1 && prices[valueOption][1].explanation\">\n <div>{{ prices[valueOption][1].explanation }}</div>\n </span>\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n</div>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VeloPortRadioComponent, decorators: [{
136
+ VeloPortRadioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VeloPortRadioComponent, deps: [{ token: i1.FormScopeService }, { token: i2.SectionScopeService }], target: i0.ɵɵFactoryTarget.Component });
137
+ VeloPortRadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: VeloPortRadioComponent, selector: "velo-port-radio", ngImport: i0, template: "<div [formGroup]=\"form\">\n <!--TODO ALE replace divs with ng-templates-->\n <ng-container *ngFor=\"let valueOption of section.sectionValue?.valueOptions\">\n <div class=\"unchecked\">\n <div class=\"row no-gutter clearfix\">\n <div class=\"col-md-12\">\n <div class=\"content\">\n <div class=\"container-box container-box-bordered container-box-radio\">\n <div class=\"box-title\" (click)=\"handleChange($event, valueOption)\">\n <div class=\"header clearfix\">\n <div class=\"radio-button\">\n <label>\n <input type=\"radio\" [id]=\"controlName\" [value]=\"valueOption\" [formControlName]=\"controlName\" />\n\n <i class=\"input-helper\"></i>\n\n {{ section.sectionValue?.displayValues?.[valueOption] || valueOption }}\n\n <span *ngIf=\"prices[valueOption] && prices[valueOption].length > 0\">\n <span>${{ prices[valueOption][0].netPrice }}</span>\n\n <span *ngIf=\"prices[valueOption].length > 1\">\n <span>, </span>\n\n <span>${{ prices[valueOption][1].netPrice }}</span>\n </span>\n </span>\n </label>\n <span *ngIf=\"prices[valueOption] && prices[valueOption].length > 0\">\n <div>{{ prices[valueOption][0].explanation }}</div>\n\n <span *ngIf=\"prices[valueOption].length > 1 && prices[valueOption][1].explanation\">\n <div>{{ prices[valueOption][1].explanation }}</div>\n </span>\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n</div>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VeloPortRadioComponent, decorators: [{
139
139
  type: Component,
140
140
  args: [{ selector: 'velo-port-radio', template: "<div [formGroup]=\"form\">\n <!--TODO ALE replace divs with ng-templates-->\n <ng-container *ngFor=\"let valueOption of section.sectionValue?.valueOptions\">\n <div class=\"unchecked\">\n <div class=\"row no-gutter clearfix\">\n <div class=\"col-md-12\">\n <div class=\"content\">\n <div class=\"container-box container-box-bordered container-box-radio\">\n <div class=\"box-title\" (click)=\"handleChange($event, valueOption)\">\n <div class=\"header clearfix\">\n <div class=\"radio-button\">\n <label>\n <input type=\"radio\" [id]=\"controlName\" [value]=\"valueOption\" [formControlName]=\"controlName\" />\n\n <i class=\"input-helper\"></i>\n\n {{ section.sectionValue?.displayValues?.[valueOption] || valueOption }}\n\n <span *ngIf=\"prices[valueOption] && prices[valueOption].length > 0\">\n <span>${{ prices[valueOption][0].netPrice }}</span>\n\n <span *ngIf=\"prices[valueOption].length > 1\">\n <span>, </span>\n\n <span>${{ prices[valueOption][1].netPrice }}</span>\n </span>\n </span>\n </label>\n <span *ngIf=\"prices[valueOption] && prices[valueOption].length > 0\">\n <div>{{ prices[valueOption][0].explanation }}</div>\n\n <span *ngIf=\"prices[valueOption].length > 1 && prices[valueOption][1].explanation\">\n <div>{{ prices[valueOption][1].explanation }}</div>\n </span>\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n</div>\n<ng-content></ng-content>\n" }]
141
141
  }], ctorParameters: function () { return [{ type: i1.FormScopeService }, { type: i2.SectionScopeService }]; } });
@@ -110,9 +110,9 @@ export class VeloTypeComponent {
110
110
  }
111
111
  }
112
112
  }
113
- VeloTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VeloTypeComponent, deps: [{ token: i1.FormScopeService }, { token: i2.CollapsibleStateService }, { token: i3.SectionScopeService }, { token: i4.MessageService }], target: i0.ɵɵFactoryTarget.Component });
114
- VeloTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: VeloTypeComponent, selector: "velo-type", ngImport: i0, template: "<div class=\"container-box div-block collapsed container-box-bordered\" [formGroup]=\"form\">\n <div class=\"box-title\">\n <div class=\"header clearfix\">\n <div>\n <div class=\"header-label div-inline\">\n {{ displayName }}\n <span *ngIf=\"prices.length > 0\">\n <span>${{ prices[0].netPrice }}</span>\n <span *ngIf=\"prices.length > 1\">\n <span>, </span>\n <span>${{ prices[1].netPrice }}</span>\n </span>\n </span>\n </div>\n\n <div class=\"header-qty-container input-form-input\">\n <input\n [id]=\"qtyControlName\"\n [formControlName]=\"qtyControlName\"\n (blur)=\"form.controls[qtyControlName].valid && handleQuantityUpdate()\"\n type=\"text\"\n class=\"form-control\"\n size=\"3\"\n />\n <div class=\"validation-message\">\n <div *ngFor=\"let key of form.controls[qtyControlName].errors | values\">\n <span>\n {{ form.controls[qtyControlName]?.errors?.[key].message }}\n </span>\n </div>\n <span *ngIf=\"form.controls[qtyControlName].valid\"> &nbsp; </span>\n </div>\n <span *ngIf=\"prices.length > 0\">\n <div>{{ prices[0].explanation }}</div>\n <span *ngIf=\"prices.length > 1 && prices[1].explanation\">\n <div>{{ prices[1].explanation }}</div>\n </span>\n </span>\n </div>\n </div>\n </div>\n\n <div class=\"box-actions\">\n <ng-container *ngIf=\"section.controlType !== 'MESSAGE'\">\n <ng-template #msgTemplate>\n <div class=\"runtime-info-message\">\n <ul class=\"message-text\">\n <li *ngFor=\"let message of section.model?.messages\">{{ message }}</li>\n </ul>\n </div>\n </ng-template>\n\n <!-- removed dependency: ngx-bootstrap -->\n <!-- <div\n class=\"box-action-button\"\n *ngIf=\"(section.model?.messages?.length ?? 0) > 0\"\n [popover]=\"msgTemplate\"\n placement=\"left\"\n container=\"body\"\n [isOpen]=\"true\"\n >\n <a href=\"javascript:void(0);\">\n <i class=\"fa fa-info check-icon\"></i>\n </a>\n </div> -->\n </ng-container>\n\n <div\n class=\"box-action-button\"\n (click)=\"toggleCollapse()\"\n [hidden]=\"!section.children || section.children.length < 1\"\n >\n <a><i class=\"fa fa-chevron-down check-icon\"></i></a>\n </div>\n\n <div class=\"box-action-button\" (click)=\"handleRemove()\">\n <a><i class=\"fa fa-trash-o check-icon\"></i></a>\n </div>\n </div>\n </div>\n\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i7.ValuesPipe, name: "values" }] });
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VeloTypeComponent, decorators: [{
113
+ VeloTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VeloTypeComponent, deps: [{ token: i1.FormScopeService }, { token: i2.CollapsibleStateService }, { token: i3.SectionScopeService }, { token: i4.MessageService }], target: i0.ɵɵFactoryTarget.Component });
114
+ VeloTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: VeloTypeComponent, selector: "velo-type", ngImport: i0, template: "<div class=\"container-box div-block collapsed container-box-bordered\" [formGroup]=\"form\">\n <div class=\"box-title\">\n <div class=\"header clearfix\">\n <div>\n <div class=\"header-label div-inline\">\n {{ displayName }}\n <span *ngIf=\"prices.length > 0\">\n <span>${{ prices[0].netPrice }}</span>\n <span *ngIf=\"prices.length > 1\">\n <span>, </span>\n <span>${{ prices[1].netPrice }}</span>\n </span>\n </span>\n </div>\n\n <div class=\"header-qty-container input-form-input\">\n <input\n [id]=\"qtyControlName\"\n [formControlName]=\"qtyControlName\"\n (blur)=\"form.controls[qtyControlName].valid && handleQuantityUpdate()\"\n type=\"text\"\n class=\"form-control\"\n size=\"3\"\n />\n <div class=\"validation-message\">\n <div *ngFor=\"let key of form.controls[qtyControlName].errors | values\">\n <span>\n {{ form.controls[qtyControlName]?.errors?.[key].message }}\n </span>\n </div>\n <span *ngIf=\"form.controls[qtyControlName].valid\"> &nbsp; </span>\n </div>\n <span *ngIf=\"prices.length > 0\">\n <div>{{ prices[0].explanation }}</div>\n <span *ngIf=\"prices.length > 1 && prices[1].explanation\">\n <div>{{ prices[1].explanation }}</div>\n </span>\n </span>\n </div>\n </div>\n </div>\n\n <div class=\"box-actions\">\n <ng-container *ngIf=\"section.controlType !== 'MESSAGE'\">\n <ng-template #msgTemplate>\n <div class=\"runtime-info-message\">\n <ul class=\"message-text\">\n <li *ngFor=\"let message of section.model?.messages\">{{ message }}</li>\n </ul>\n </div>\n </ng-template>\n\n <!-- removed dependency: ngx-bootstrap -->\n <!-- <div\n class=\"box-action-button\"\n *ngIf=\"(section.model?.messages?.length ?? 0) > 0\"\n [popover]=\"msgTemplate\"\n placement=\"left\"\n container=\"body\"\n [isOpen]=\"true\"\n >\n <a href=\"javascript:void(0);\">\n <i class=\"fa fa-info check-icon\"></i>\n </a>\n </div> -->\n </ng-container>\n\n <div\n class=\"box-action-button\"\n (click)=\"toggleCollapse()\"\n [hidden]=\"!section.children || section.children.length < 1\"\n >\n <a><i class=\"fa fa-chevron-down check-icon\"></i></a>\n </div>\n\n <div class=\"box-action-button\" (click)=\"handleRemove()\">\n <a><i class=\"fa fa-trash-o check-icon\"></i></a>\n </div>\n </div>\n </div>\n\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i7.ValuesPipe, name: "values" }] });
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VeloTypeComponent, decorators: [{
116
116
  type: Component,
117
117
  args: [{ selector: 'velo-type', template: "<div class=\"container-box div-block collapsed container-box-bordered\" [formGroup]=\"form\">\n <div class=\"box-title\">\n <div class=\"header clearfix\">\n <div>\n <div class=\"header-label div-inline\">\n {{ displayName }}\n <span *ngIf=\"prices.length > 0\">\n <span>${{ prices[0].netPrice }}</span>\n <span *ngIf=\"prices.length > 1\">\n <span>, </span>\n <span>${{ prices[1].netPrice }}</span>\n </span>\n </span>\n </div>\n\n <div class=\"header-qty-container input-form-input\">\n <input\n [id]=\"qtyControlName\"\n [formControlName]=\"qtyControlName\"\n (blur)=\"form.controls[qtyControlName].valid && handleQuantityUpdate()\"\n type=\"text\"\n class=\"form-control\"\n size=\"3\"\n />\n <div class=\"validation-message\">\n <div *ngFor=\"let key of form.controls[qtyControlName].errors | values\">\n <span>\n {{ form.controls[qtyControlName]?.errors?.[key].message }}\n </span>\n </div>\n <span *ngIf=\"form.controls[qtyControlName].valid\"> &nbsp; </span>\n </div>\n <span *ngIf=\"prices.length > 0\">\n <div>{{ prices[0].explanation }}</div>\n <span *ngIf=\"prices.length > 1 && prices[1].explanation\">\n <div>{{ prices[1].explanation }}</div>\n </span>\n </span>\n </div>\n </div>\n </div>\n\n <div class=\"box-actions\">\n <ng-container *ngIf=\"section.controlType !== 'MESSAGE'\">\n <ng-template #msgTemplate>\n <div class=\"runtime-info-message\">\n <ul class=\"message-text\">\n <li *ngFor=\"let message of section.model?.messages\">{{ message }}</li>\n </ul>\n </div>\n </ng-template>\n\n <!-- removed dependency: ngx-bootstrap -->\n <!-- <div\n class=\"box-action-button\"\n *ngIf=\"(section.model?.messages?.length ?? 0) > 0\"\n [popover]=\"msgTemplate\"\n placement=\"left\"\n container=\"body\"\n [isOpen]=\"true\"\n >\n <a href=\"javascript:void(0);\">\n <i class=\"fa fa-info check-icon\"></i>\n </a>\n </div> -->\n </ng-container>\n\n <div\n class=\"box-action-button\"\n (click)=\"toggleCollapse()\"\n [hidden]=\"!section.children || section.children.length < 1\"\n >\n <a><i class=\"fa fa-chevron-down check-icon\"></i></a>\n </div>\n\n <div class=\"box-action-button\" (click)=\"handleRemove()\">\n <a><i class=\"fa fa-trash-o check-icon\"></i></a>\n </div>\n </div>\n </div>\n\n <ng-content></ng-content>\n</div>\n" }]
118
118
  }], ctorParameters: function () { return [{ type: i1.FormScopeService }, { type: i2.CollapsibleStateService }, { type: i3.SectionScopeService }, { type: i4.MessageService }]; } });
@@ -193,8 +193,8 @@ export class SectionScriptDirective {
193
193
  };
194
194
  }
195
195
  }
196
- SectionScriptDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SectionScriptDirective, deps: [{ token: DOCUMENT }, { token: SfQueryDirective }, { token: LineItemDirective }, { token: VlQuoteDirective }, { token: VlDocumentTemplatesDirective }, { token: VlRampDirective }, { token: VlApprovalDirective }, { token: VlDocumentAttachmentsDirective }, { token: i1.FormScopeService }, { token: i2.SectionScopeService }, { token: i0.Renderer2 }, { token: i3.FormBuilder }, { token: i4.RuntimeService }, { token: i0.ChangeDetectorRef }, { token: i5.ShoppingCartService }, { token: i6.ContextService }, { token: i7.CurrentStateService }, { token: i6.QuoteDraftService }], target: i0.ɵɵFactoryTarget.Directive });
197
- SectionScriptDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: SectionScriptDirective, selector: "section-script", providers: [
196
+ SectionScriptDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SectionScriptDirective, deps: [{ token: DOCUMENT }, { token: SfQueryDirective }, { token: LineItemDirective }, { token: VlQuoteDirective }, { token: VlDocumentTemplatesDirective }, { token: VlRampDirective }, { token: VlApprovalDirective }, { token: VlDocumentAttachmentsDirective }, { token: i1.FormScopeService }, { token: i2.SectionScopeService }, { token: i0.Renderer2 }, { token: i3.FormBuilder }, { token: i4.RuntimeService }, { token: i0.ChangeDetectorRef }, { token: i5.ShoppingCartService }, { token: i6.ContextService }, { token: i7.CurrentStateService }, { token: i6.QuoteDraftService }], target: i0.ɵɵFactoryTarget.Directive });
197
+ SectionScriptDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SectionScriptDirective, selector: "section-script", providers: [
198
198
  SfQueryDirective,
199
199
  LineItemDirective,
200
200
  VlQuoteDirective,
@@ -203,7 +203,7 @@ SectionScriptDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0",
203
203
  VlApprovalDirective,
204
204
  VlDocumentAttachmentsDirective,
205
205
  ], exportAs: ["scriptApi"], ngImport: i0 });
206
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SectionScriptDirective, decorators: [{
206
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SectionScriptDirective, decorators: [{
207
207
  type: Directive,
208
208
  args: [{
209
209
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -22,9 +22,9 @@ export class SfQueryDirective {
22
22
  return this.apiService.apexPostRequest(path, body).toPromise();
23
23
  }
24
24
  }
25
- SfQueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SfQueryDirective, deps: [{ token: i1.SalesforceApiService }], target: i0.ɵɵFactoryTarget.Directive });
26
- SfQueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: SfQueryDirective, selector: "sf-query", exportAs: ["sfApi"], ngImport: i0 });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SfQueryDirective, decorators: [{
25
+ SfQueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SfQueryDirective, deps: [{ token: i1.SalesforceApiService }], target: i0.ɵɵFactoryTarget.Directive });
26
+ SfQueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SfQueryDirective, selector: "sf-query", exportAs: ["sfApi"], ngImport: i0 });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SfQueryDirective, decorators: [{
28
28
  type: Directive,
29
29
  args: [{
30
30
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -75,9 +75,9 @@ export class VeloAttributeDirective {
75
75
  return index;
76
76
  }
77
77
  }
78
- VeloAttributeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VeloAttributeDirective, deps: [{ token: i1.FormScopeService }, { token: i2.SectionScopeService }], target: i0.ɵɵFactoryTarget.Directive });
79
- VeloAttributeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: VeloAttributeDirective, selector: "velo-attribute-directive", exportAs: ["attributeApi"], ngImport: i0 });
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VeloAttributeDirective, decorators: [{
78
+ VeloAttributeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VeloAttributeDirective, deps: [{ token: i1.FormScopeService }, { token: i2.SectionScopeService }], target: i0.ɵɵFactoryTarget.Directive });
79
+ VeloAttributeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: VeloAttributeDirective, selector: "velo-attribute-directive", exportAs: ["attributeApi"], ngImport: i0 });
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VeloAttributeDirective, decorators: [{
81
81
  type: Directive,
82
82
  args: [{
83
83
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -82,9 +82,9 @@ export class SectionContextAware {
82
82
  this.formScope.publishFormUpdate(updateData);
83
83
  }
84
84
  }
85
- SectionContextAware.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SectionContextAware, deps: [{ token: i1.FormScopeService }, { token: i2.SectionScopeService }], target: i0.ɵɵFactoryTarget.Directive });
86
- SectionContextAware.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: SectionContextAware, ngImport: i0 });
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SectionContextAware, decorators: [{
85
+ SectionContextAware.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SectionContextAware, deps: [{ token: i1.FormScopeService }, { token: i2.SectionScopeService }], target: i0.ɵɵFactoryTarget.Directive });
86
+ SectionContextAware.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SectionContextAware, ngImport: i0 });
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SectionContextAware, decorators: [{
88
88
  type: Directive
89
89
  }], ctorParameters: function () { return [{ type: i1.FormScopeService }, { type: i2.SectionScopeService }]; } });
90
90
  export class LineItemDirective {
@@ -112,9 +112,9 @@ export class LineItemDirective {
112
112
  .toPromise();
113
113
  }
114
114
  }
115
- LineItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LineItemDirective, deps: [{ token: i1.FormScopeService }, { token: i2.SectionScopeService }, { token: i3.ConfigurationService }], target: i0.ɵɵFactoryTarget.Directive });
116
- LineItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: LineItemDirective, selector: "line-item", exportAs: ["liApi"], ngImport: i0 });
117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LineItemDirective, decorators: [{
115
+ LineItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LineItemDirective, deps: [{ token: i1.FormScopeService }, { token: i2.SectionScopeService }, { token: i3.ConfigurationService }], target: i0.ɵɵFactoryTarget.Directive });
116
+ LineItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: LineItemDirective, selector: "line-item", exportAs: ["liApi"], ngImport: i0 });
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LineItemDirective, decorators: [{
118
118
  type: Directive,
119
119
  args: [{
120
120
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -227,9 +227,9 @@ export class VeloPortDirective extends SectionContextAware {
227
227
  this.handlePriceAdjustment('adjustListPrice', valueOption, amount);
228
228
  }
229
229
  }
230
- VeloPortDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VeloPortDirective, deps: [{ token: i1.FormScopeService }, { token: i2.SectionScopeService }], target: i0.ɵɵFactoryTarget.Directive });
231
- VeloPortDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: VeloPortDirective, selector: "velo-port", exportAs: ["portApi"], usesInheritance: true, ngImport: i0 });
232
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VeloPortDirective, decorators: [{
230
+ VeloPortDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VeloPortDirective, deps: [{ token: i1.FormScopeService }, { token: i2.SectionScopeService }], target: i0.ɵɵFactoryTarget.Directive });
231
+ VeloPortDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: VeloPortDirective, selector: "velo-port", exportAs: ["portApi"], usesInheritance: true, ngImport: i0 });
232
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VeloPortDirective, decorators: [{
233
233
  type: Directive,
234
234
  args: [{
235
235
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -242,8 +242,8 @@ export class VeloDropdownComponent extends SectionContextAware {
242
242
  super(formScope, sectionScope);
243
243
  }
244
244
  }
245
- VeloDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VeloDropdownComponent, deps: [{ token: i1.FormScopeService }, { token: i2.SectionScopeService }], target: i0.ɵɵFactoryTarget.Component });
246
- VeloDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: VeloDropdownComponent, selector: "velo-dropdown", usesInheritance: true, ngImport: i0, template: `
245
+ VeloDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VeloDropdownComponent, deps: [{ token: i1.FormScopeService }, { token: i2.SectionScopeService }], target: i0.ɵɵFactoryTarget.Component });
246
+ VeloDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: VeloDropdownComponent, selector: "velo-dropdown", usesInheritance: true, ngImport: i0, template: `
247
247
  <div class="input-form-input div-inline" [formGroup]="form">
248
248
  <label [for]="controlName">{{ section.label }}</label>
249
249
  <div class="form-control-wrapper">
@@ -255,7 +255,7 @@ VeloDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
255
255
  </div>
256
256
  </div>
257
257
  `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
258
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VeloDropdownComponent, decorators: [{
258
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VeloDropdownComponent, decorators: [{
259
259
  type: Component,
260
260
  args: [{
261
261
  // moduleId: module.id,
@@ -280,8 +280,8 @@ export class VeloQuantityComponent extends SectionContextAware {
280
280
  super(formScope, sectionScope);
281
281
  }
282
282
  }
283
- VeloQuantityComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VeloQuantityComponent, deps: [{ token: i1.FormScopeService }, { token: i2.SectionScopeService }], target: i0.ɵɵFactoryTarget.Component });
284
- VeloQuantityComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: VeloQuantityComponent, selector: "velo-quantity", usesInheritance: true, ngImport: i0, template: `
283
+ VeloQuantityComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VeloQuantityComponent, deps: [{ token: i1.FormScopeService }, { token: i2.SectionScopeService }], target: i0.ɵɵFactoryTarget.Component });
284
+ VeloQuantityComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: VeloQuantityComponent, selector: "velo-quantity", usesInheritance: true, ngImport: i0, template: `
285
285
  <div class="input-form-input div-inline quantity-form-input" [formGroup]="form">
286
286
  <label [for]="qtyControlName"> Quantity </label>
287
287
  <div class="form-control-wrapper">
@@ -305,7 +305,7 @@ VeloQuantityComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
305
305
  </div>
306
306
  </div>
307
307
  `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i6.ValuesPipe, name: "values" }] });
308
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VeloQuantityComponent, decorators: [{
308
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VeloQuantityComponent, decorators: [{
309
309
  type: Component,
310
310
  args: [{
311
311
  // moduleId: module.id,
@@ -342,8 +342,8 @@ export class VeloQuantityButtonComponent extends SectionContextAware {
342
342
  super(formScope, sectionScope);
343
343
  }
344
344
  }
345
- VeloQuantityButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VeloQuantityButtonComponent, deps: [{ token: i1.FormScopeService }, { token: i2.SectionScopeService }], target: i0.ɵɵFactoryTarget.Component });
346
- VeloQuantityButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: VeloQuantityButtonComponent, selector: "velo-quantity-button", usesInheritance: true, ngImport: i0, template: `
345
+ VeloQuantityButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VeloQuantityButtonComponent, deps: [{ token: i1.FormScopeService }, { token: i2.SectionScopeService }], target: i0.ɵɵFactoryTarget.Component });
346
+ VeloQuantityButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: VeloQuantityButtonComponent, selector: "velo-quantity-button", usesInheritance: true, ngImport: i0, template: `
347
347
  <div class="input-form-input div-inline quantity-form-input">
348
348
  <div class="form-control-wrapper">
349
349
  <a href="javascript:void(0);" (click)="handleCreate()">
@@ -354,7 +354,7 @@ VeloQuantityButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.
354
354
  </div>
355
355
  </div>
356
356
  `, isInline: true });
357
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VeloQuantityButtonComponent, decorators: [{
357
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VeloQuantityButtonComponent, decorators: [{
358
358
  type: Component,
359
359
  args: [{
360
360
  // moduleId: module.id,
@@ -10,9 +10,9 @@ export class VlApprovalDirective {
10
10
  return this.repo.submitQuote(quoteDraft).toPromise();
11
11
  }
12
12
  }
13
- VlApprovalDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VlApprovalDirective, deps: [{ token: i1.QuoteApiService }], target: i0.ɵɵFactoryTarget.Directive });
14
- VlApprovalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: VlApprovalDirective, selector: "vl-approval", exportAs: ["approvalApi"], ngImport: i0 });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VlApprovalDirective, decorators: [{
13
+ VlApprovalDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VlApprovalDirective, deps: [{ token: i1.QuoteApiService }], target: i0.ɵɵFactoryTarget.Directive });
14
+ VlApprovalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: VlApprovalDirective, selector: "vl-approval", exportAs: ["approvalApi"], ngImport: i0 });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VlApprovalDirective, decorators: [{
16
16
  type: Directive,
17
17
  args: [{
18
18
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -23,9 +23,9 @@ export class VlDocumentAttachmentsDirective {
23
23
  return this.service.removeAttachment(id).toPromise();
24
24
  }
25
25
  }
26
- VlDocumentAttachmentsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VlDocumentAttachmentsDirective, deps: [{ token: i1.DocumentAttachmentApiService }], target: i0.ɵɵFactoryTarget.Directive });
27
- VlDocumentAttachmentsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: VlDocumentAttachmentsDirective, selector: "vl-document-attachments", exportAs: ["documentAttachmentsApi"], ngImport: i0 });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VlDocumentAttachmentsDirective, decorators: [{
26
+ VlDocumentAttachmentsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VlDocumentAttachmentsDirective, deps: [{ token: i1.DocumentAttachmentApiService }], target: i0.ɵɵFactoryTarget.Directive });
27
+ VlDocumentAttachmentsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: VlDocumentAttachmentsDirective, selector: "vl-document-attachments", exportAs: ["documentAttachmentsApi"], ngImport: i0 });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VlDocumentAttachmentsDirective, decorators: [{
29
29
  type: Directive,
30
30
  args: [{
31
31
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -48,9 +48,9 @@ export class VlDocumentTemplatesDirective {
48
48
  return this.documentTemplatesApiService.removeAttachment(id).toPromise();
49
49
  }
50
50
  }
51
- VlDocumentTemplatesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VlDocumentTemplatesDirective, deps: [{ token: i1.DocumentTemplatesApiService }], target: i0.ɵɵFactoryTarget.Directive });
52
- VlDocumentTemplatesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: VlDocumentTemplatesDirective, selector: "[vlQuoteTemplates]", exportAs: ["quoteTemplateApi"], ngImport: i0 });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VlDocumentTemplatesDirective, decorators: [{
51
+ VlDocumentTemplatesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VlDocumentTemplatesDirective, deps: [{ token: i1.DocumentTemplatesApiService }], target: i0.ɵɵFactoryTarget.Directive });
52
+ VlDocumentTemplatesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: VlDocumentTemplatesDirective, selector: "[vlQuoteTemplates]", exportAs: ["quoteTemplateApi"], ngImport: i0 });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VlDocumentTemplatesDirective, decorators: [{
54
54
  type: Directive,
55
55
  args: [{
56
56
  selector: '[vlQuoteTemplates]',
@@ -29,9 +29,9 @@ export class VlQuoteDirective {
29
29
  this.runtimeService.updateRuntime(states, context.properties);
30
30
  }
31
31
  }
32
- VlQuoteDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VlQuoteDirective, deps: [{ token: i1.QuoteApiService }, { token: i2.RuntimeService }], target: i0.ɵɵFactoryTarget.Directive });
33
- VlQuoteDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: VlQuoteDirective, selector: "vl-quote", exportAs: ["quoteApi"], ngImport: i0 });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VlQuoteDirective, decorators: [{
32
+ VlQuoteDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VlQuoteDirective, deps: [{ token: i1.QuoteApiService }, { token: i2.RuntimeService }], target: i0.ɵɵFactoryTarget.Directive });
33
+ VlQuoteDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: VlQuoteDirective, selector: "vl-quote", exportAs: ["quoteApi"], ngImport: i0 });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VlQuoteDirective, decorators: [{
35
35
  type: Directive,
36
36
  args: [{
37
37
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -42,9 +42,9 @@ export class VlRampDirective {
42
42
  .toPromise();
43
43
  }
44
44
  }
45
- VlRampDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VlRampDirective, deps: [{ token: i1.ContextService }, { token: i2.RampApiService }, { token: i2.PriceApiService }], target: i0.ɵɵFactoryTarget.Directive });
46
- VlRampDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: VlRampDirective, selector: "vl-ramp", exportAs: ["rampApi"], ngImport: i0 });
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: VlRampDirective, decorators: [{
45
+ VlRampDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VlRampDirective, deps: [{ token: i1.ContextService }, { token: i2.RampApiService }, { token: i2.PriceApiService }], target: i0.ɵɵFactoryTarget.Directive });
46
+ VlRampDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: VlRampDirective, selector: "vl-ramp", exportAs: ["rampApi"], ngImport: i0 });
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VlRampDirective, decorators: [{
48
48
  type: Directive,
49
49
  args: [{
50
50
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -29,8 +29,8 @@ import { LineItemDirective, VeloDropdownComponent, VeloPortDirective, VeloQuanti
29
29
  import * as i0 from "@angular/core";
30
30
  export class RuntimeExecutionModule {
31
31
  }
32
- RuntimeExecutionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RuntimeExecutionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
33
- RuntimeExecutionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: RuntimeExecutionModule, declarations: [ExecutionSectionRendererComponent,
32
+ RuntimeExecutionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RuntimeExecutionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
33
+ RuntimeExecutionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: RuntimeExecutionModule, declarations: [ExecutionSectionRendererComponent,
34
34
  ChildrenPlaceholderComponent,
35
35
  SectionScriptDirective,
36
36
  VeloPortDirective,
@@ -63,7 +63,7 @@ RuntimeExecutionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
63
63
  FederatedComponent,
64
64
  TemplateComponent,
65
65
  ContextProviderComponent] });
66
- RuntimeExecutionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RuntimeExecutionModule, providers: [
66
+ RuntimeExecutionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RuntimeExecutionModule, providers: [
67
67
  ShoppingCartService,
68
68
  RuntimeService,
69
69
  ConfigurationService,
@@ -75,7 +75,7 @@ RuntimeExecutionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
75
75
  SectionStoreService,
76
76
  ], imports: [CommonModule, FormsModule, ReactiveFormsModule, CoreModule, ApiModule, LoaderModule, SdkCoreModule, FormsModule,
77
77
  ReactiveFormsModule] });
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RuntimeExecutionModule, decorators: [{
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RuntimeExecutionModule, decorators: [{
79
79
  type: NgModule,
80
80
  args: [{
81
81
  declarations: [
@@ -22,14 +22,14 @@ import { SectionsService } from './services/section.service';
22
22
  import * as i0 from "@angular/core";
23
23
  export class RuntimeModule {
24
24
  }
25
- RuntimeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RuntimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
26
- RuntimeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: RuntimeModule, declarations: [RuntimeComponent, RuntimePreviewComponent, SectionRendererComponent, ComponentPreviewComponent], imports: [CommonModule, FormsModule, ReactiveFormsModule, CoreModule, ApiModule, LoaderModule, SdkCoreModule], exports: [FormsModule,
25
+ RuntimeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RuntimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
26
+ RuntimeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: RuntimeModule, declarations: [RuntimeComponent, RuntimePreviewComponent, SectionRendererComponent, ComponentPreviewComponent], imports: [CommonModule, FormsModule, ReactiveFormsModule, CoreModule, ApiModule, LoaderModule, SdkCoreModule], exports: [FormsModule,
27
27
  ReactiveFormsModule,
28
28
  RuntimeComponent,
29
29
  RuntimePreviewComponent,
30
30
  SectionRendererComponent,
31
31
  ComponentPreviewComponent] });
32
- RuntimeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RuntimeModule, providers: [
32
+ RuntimeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RuntimeModule, providers: [
33
33
  ShoppingCartService,
34
34
  RuntimeService,
35
35
  ConfigurationService,
@@ -43,7 +43,7 @@ RuntimeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
43
43
  DialogService,
44
44
  ], imports: [CommonModule, FormsModule, ReactiveFormsModule, CoreModule, ApiModule, LoaderModule, SdkCoreModule, FormsModule,
45
45
  ReactiveFormsModule] });
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RuntimeModule, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RuntimeModule, decorators: [{
47
47
  type: NgModule,
48
48
  args: [{
49
49
  declarations: [RuntimeComponent, RuntimePreviewComponent, SectionRendererComponent, ComponentPreviewComponent],
@@ -21,9 +21,9 @@ export class ShoppingCartService {
21
21
  return this.quoteService.currentState;
22
22
  }
23
23
  }
24
- ShoppingCartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ShoppingCartService, deps: [{ token: i1.PriceApiService }, { token: i2.ContextService }, { token: i2.QuoteDraftService }], target: i0.ɵɵFactoryTarget.Injectable });
25
- ShoppingCartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ShoppingCartService });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ShoppingCartService, decorators: [{
24
+ ShoppingCartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ShoppingCartService, deps: [{ token: i1.PriceApiService }, { token: i2.ContextService }, { token: i2.QuoteDraftService }], target: i0.ɵɵFactoryTarget.Injectable });
25
+ ShoppingCartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ShoppingCartService });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ShoppingCartService, decorators: [{
27
27
  type: Injectable
28
28
  }], ctorParameters: function () { return [{ type: i1.PriceApiService }, { type: i2.ContextService }, { type: i2.QuoteDraftService }]; } });
29
29
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFHM0MsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUNVLGVBQWdDLEVBQ2hDLGNBQThCLEVBQzlCLFlBQStCO1FBRi9CLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQW1CO0lBQ3RDLENBQUM7SUFFRyxpQkFBaUIsQ0FBQyxZQUF3QjtRQUMvQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRTlDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ25FLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxHQUFHLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBZ0IsRUFBRSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTSxlQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUM7SUFDeEMsQ0FBQzs7Z0hBcEJVLG1CQUFtQjtvSEFBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcmljZUFwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlYXBwcy9hcGknO1xuaW1wb3J0IHsgTGluZUl0ZW0sIFByaWNlU3VtbWFyeSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UsIFF1b3RlRHJhZnRTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2hvcHBpbmdDYXJ0U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcHJpY2VBcGlTZXJ2aWNlOiBQcmljZUFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBxdW90ZVNlcnZpY2U6IFF1b3RlRHJhZnRTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIHNldENhcnRFeHRlcm5hbGx5KGN1cnJlbnRTdGF0ZTogTGluZUl0ZW1bXSk6IE9ic2VydmFibGU8UHJpY2VTdW1tYXJ5PiB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpO1xuXG4gICAgcmV0dXJuIHRoaXMucHJpY2VBcGlTZXJ2aWNlLmNhbGN1bGF0ZSh7IGNvbnRleHQsIGN1cnJlbnRTdGF0ZSB9KS5waXBlKFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHRhcCgoeyBsaW5lSXRlbXMgfTogUHJpY2VTdW1tYXJ5KSA9PiB7XG4gICAgICAgIHRoaXMucXVvdGVTZXJ2aWNlLnNldEN1cnJlbnRMaW5lSXRlbVN0YXRlKGxpbmVJdGVtcyk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldEN1cnJlbnRTdGF0ZSgpOiBMaW5lSXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZVNlcnZpY2UuY3VycmVudFN0YXRlO1xuICB9XG59XG4iXX0=
@@ -26,9 +26,9 @@ export class CollapsibleStateService {
26
26
  return this._collapsedSections[sectionId];
27
27
  }
28
28
  }
29
- CollapsibleStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CollapsibleStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
30
- CollapsibleStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CollapsibleStateService });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CollapsibleStateService, decorators: [{
29
+ CollapsibleStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CollapsibleStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
30
+ CollapsibleStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CollapsibleStateService });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CollapsibleStateService, decorators: [{
32
32
  type: Injectable
33
33
  }], ctorParameters: function () { return []; } });
34
34
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUtc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvc2VydmljZXMvY29sbGFwc2libGUtc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRzNDLE1BQU0sT0FBTyx1QkFBdUI7SUFNbEM7UUFKUSx1QkFBa0IsR0FBaUMsRUFBRSxDQUFDLENBQUMsa0JBQWtCO1FBRXpFLDJCQUFzQixHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7UUFHbEQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6RSxDQUFDO0lBRU0sY0FBYyxDQUFDLFNBQWlCLEVBQUUsUUFBa0I7UUFDekQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXpFLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDYixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbkY7SUFDSCxDQUFDO0lBRU0sUUFBUSxDQUFDLFNBQWlCO1FBQy9CLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDNUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxTQUFpQjtRQUM3QixJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQzdDLENBQUM7SUFFTSxVQUFVLENBQUMsU0FBaUI7UUFDakMsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLGtCQUFrQixDQUFDLFNBQWlCO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7O29IQWhDVSx1QkFBdUI7d0hBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29sbGFwc2libGVTdGF0ZVNlcnZpY2Uge1xuICBwdWJsaWMgY29sbGFwc2VTZWN0aW9uRXZlbnQ6IE9ic2VydmFibGU8YW55PjtcbiAgcHJpdmF0ZSBfY29sbGFwc2VkU2VjdGlvbnM6IHsgW2luZGV4OiBzdHJpbmddOiBib29sZWFuIH0gPSB7fTsgLy8gQnkgTGluZSBJdGVtIElkXG5cbiAgcHJpdmF0ZSBjb2xsYXBzZVNlY3Rpb25TdWJqZWN0ID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuY29sbGFwc2VTZWN0aW9uRXZlbnQgPSB0aGlzLmNvbGxhcHNlU2VjdGlvblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlQ29sbGFwc2Uoc2VjdGlvbklkOiBzdHJpbmcsIHNpbGVudGx5PzogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuX2NvbGxhcHNlZFNlY3Rpb25zW3NlY3Rpb25JZF0gPSAhdGhpcy5pc0NvbGxhcHNlZFNlY3Rpb24oc2VjdGlvbklkKTtcblxuICAgIGlmICghc2lsZW50bHkpIHtcbiAgICAgIHRoaXMuY29sbGFwc2VTZWN0aW9uU3ViamVjdC5uZXh0KFtzZWN0aW9uSWQsIHRoaXMuX2NvbGxhcHNlZFNlY3Rpb25zW3NlY3Rpb25JZF1dKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY29sbGFwc2Uoc2VjdGlvbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl9jb2xsYXBzZWRTZWN0aW9uc1tzZWN0aW9uSWRdID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBleHBhbmQoc2VjdGlvbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl9jb2xsYXBzZWRTZWN0aW9uc1tzZWN0aW9uSWRdID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJTdGF0ZShzZWN0aW9uSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGRlbGV0ZSB0aGlzLl9jb2xsYXBzZWRTZWN0aW9uc1tzZWN0aW9uSWRdO1xuICB9XG5cbiAgcHVibGljIGlzQ29sbGFwc2VkU2VjdGlvbihzZWN0aW9uSWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9jb2xsYXBzZWRTZWN0aW9uc1tzZWN0aW9uSWRdO1xuICB9XG59XG4iXX0=
@@ -111,9 +111,9 @@ export class ConfigurationService {
111
111
  });
112
112
  }
113
113
  }
114
- ConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ConfigurationService, deps: [{ token: i1.ConfigurationApiService }, { token: i2.ContextService }, { token: i3.DialogService }], target: i0.ɵɵFactoryTarget.Injectable });
115
- ConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ConfigurationService });
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ConfigurationService, decorators: [{
114
+ ConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationService, deps: [{ token: i1.ConfigurationApiService }, { token: i2.ContextService }, { token: i3.DialogService }], target: i0.ɵɵFactoryTarget.Injectable });
115
+ ConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationService });
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationService, decorators: [{
117
117
  type: Injectable
118
118
  }], ctorParameters: function () { return [{ type: i1.ConfigurationApiService }, { type: i2.ContextService }, { type: i3.DialogService }]; } });
119
119
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQXNCLE1BQU0sd0JBQXdCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGlCQUFpQixFQUFrQyxJQUFJLEVBQVksTUFBTSxrQkFBa0IsQ0FBQztBQUNyRyxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBT3JDLE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsWUFDVSx1QkFBZ0QsRUFDaEQsY0FBOEIsRUFDOUIsYUFBNEI7UUFGNUIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUNoRCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFDbkMsQ0FBQztJQUVHLFNBQVMsQ0FBQyxjQUFvQyxFQUFFLE1BQW1CLEVBQUUsT0FBaUI7UUFDM0YsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2hHLE1BQU0saUJBQWlCLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztRQUN6RixNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQzdGLG9CQUFvQixDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztRQUMzRCxvQkFBb0IsQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMxQyxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsWUFBWSxDQUFDO1FBQ2pELE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDO1FBQ25FLE9BQU8sSUFBSSxDQUFDLHVCQUF1QjthQUNoQyxpQkFBaUIsQ0FBQztZQUNqQixvQkFBb0I7WUFDcEIsWUFBWTtZQUNaLGNBQWM7U0FDZixDQUFDO2FBQ0QsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEVBQUU7WUFDOUMsSUFBSSxPQUFPLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7YUFDaEU7WUFDRCxJQUFJLGdCQUFnQixFQUFFLE1BQU0sRUFBRTtnQkFDNUIsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLENBQUM7YUFDekM7WUFDRCxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVPLGFBQWEsQ0FDbkIsUUFBa0IsRUFDbEIsY0FBb0MsRUFDcEMsaUJBQW9DO1FBRXBDLElBQUksY0FBYyxDQUFDLFdBQVcsS0FBSyxXQUFXLENBQUMsSUFBSSxFQUFFO1lBQ25ELE1BQU0sVUFBVSxHQUFvQjtnQkFDbEMsR0FBRyxjQUFjLENBQUMsVUFBVTtnQkFDNUIsT0FBTyxFQUFFLGNBQWMsQ0FBQyxPQUFPO2dCQUMvQixXQUFXLEVBQUUsTUFBTTtnQkFDbkIsY0FBYyxFQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQztnQkFDbkUsU0FBUyxFQUFFLGNBQWMsQ0FBQyxVQUFVLEVBQUUsU0FBUyxJQUFJLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQzVGLFdBQVcsRUFBRSxjQUFjLENBQUMsWUFBWSxFQUFFLFNBQVM7YUFDcEQsQ0FBQztZQUVGLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztTQUM1QzthQUFNO1lBQ0wsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUU5QyxJQUFJLE9BQU8sQ0FBQyxVQUFVLElBQUksY0FBYyxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUU7Z0JBQzlELElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO29CQUN6QixVQUFVLEVBQUU7d0JBQ1YsR0FBRyxPQUFPLENBQUMsVUFBVTt3QkFDckIsR0FBRyxjQUFjLENBQUMsVUFBVTtxQkFDN0I7aUJBQ0YsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtRQUVELE9BQU87WUFDTCxRQUFRO1lBQ1IsSUFBSSxFQUFFLGlCQUFpQjtZQUN2QixJQUFJLEVBQUUsY0FBYyxDQUFDLGlCQUFpQixJQUFJLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXO1lBQ3RGLG1CQUFtQixFQUFFLEtBQUs7WUFDMUIsT0FBTyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFO1NBQ3ZDLENBQUM7SUFDSixDQUFDO0lBRU8sa0JBQWtCLENBQUMsT0FBNkI7UUFDdEQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXZCLE1BQU0sUUFBUSxHQUFhO1lBQ3pCLEVBQUU7WUFDRixJQUFJLEVBQUUsT0FBTyxDQUFDLFlBQVksRUFBRSxRQUFRLElBQUksRUFBRTtZQUMxQyxTQUFTLEVBQUUsU0FBUztZQUNwQixHQUFHLEVBQUUsQ0FBQztZQUNOLFdBQVcsRUFBRSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksT0FBTyxDQUFDLFdBQVc7WUFDdkUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTLElBQUksRUFBRTtZQUNsQyxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVU7WUFDOUIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVO2dCQUNwQixDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLENBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFFO2dCQUMxRixDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ0ksQ0FBQztRQUVkLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFTyxnQ0FBZ0M7UUFDdEMsTUFBTSxrQkFBa0IsR0FBdUI7WUFDN0MsS0FBSyxFQUFFLEdBQUc7WUFDVixXQUFXLEVBQUUsb0VBQW9FO1lBQ2pGLGtCQUFrQixFQUFFLGlCQUFpQjtZQUNyQyxvQkFBb0IsRUFBRSxlQUFlO1NBQ3RDLENBQUM7UUFFRixJQUFJLENBQUMsYUFBYTthQUNmLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUMzQixlQUFlLEVBQUUsS0FBSztZQUN0QixhQUFhLEVBQUUsS0FBSztZQUNwQixRQUFRLEVBQUUsS0FBSztZQUNmLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLE1BQU0sRUFBRSw0QkFBNEI7WUFDcEMsS0FBSyxFQUFFLE9BQU87WUFDZCxJQUFJLEVBQUUsRUFBRSxrQkFBa0IsRUFBRTtTQUM3QixDQUFDO2FBQ0QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMxQixJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNYLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQzlDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7YUFDeEQ7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O2lIQW5IVSxvQkFBb0I7cUhBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkFwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlYXBwcy9hcGknO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uQ29tcG9uZW50LCBDb25maXJtYXRpb25Db25maWcgfSBmcm9tICdAdmVsb2NlYXBwcy9jb21wb25lbnRzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25Nb2RlLCBDb25maWd1cmF0aW9uUmVxdWVzdCwgTGluZUl0ZW0sIFVVSUQsIFZsV2luZG93IH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSwgUnVudGltZU1vZGUgfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTGVnYWN5UnVudGltZUNvbnRleHQgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBRdW90ZVN0YXRlcyB9IGZyb20gJy4uL3R5cGVzL3F1b3RlLXN0YXRlcy50eXBlcyc7XG5cbmRlY2xhcmUgY29uc3Qgd2luZG93OiBWbFdpbmRvdztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uQXBpU2VydmljZTogQ29uZmlndXJhdGlvbkFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIGNvbmZpZ3VyZShydW50aW1lQ29udGV4dDogTGVnYWN5UnVudGltZUNvbnRleHQsIHN0YXRlczogUXVvdGVTdGF0ZXMsIHJlc29sdmU/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxMaW5lSXRlbT4ge1xuICAgIGNvbnN0IGxpbmVJdGVtID0gKHN0YXRlcyAmJiBzdGF0ZXMuY29uZmlndXJhYmxlUmFtcCkgfHwgdGhpcy5nZXREZWZhdWx0TGluZUl0ZW0ocnVudGltZUNvbnRleHQpO1xuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb25Nb2RlID0gcmVzb2x2ZSA/IENvbmZpZ3VyYXRpb25Nb2RlLlJFU09MVkUgOiBDb25maWd1cmF0aW9uTW9kZS5TRUFSQ0g7XG4gICAgY29uc3QgY29uZmlndXJhdGlvblJlcXVlc3QgPSB0aGlzLmNyZWF0ZVJlcXVlc3QobGluZUl0ZW0sIHJ1bnRpbWVDb250ZXh0LCBjb25maWd1cmF0aW9uTW9kZSk7XG4gICAgY29uZmlndXJhdGlvblJlcXVlc3QubGluZUl0ZW1zID0gc3RhdGVzLmN1cnJlbnRTdGF0ZSB8fCBbXTtcbiAgICBjb25maWd1cmF0aW9uUmVxdWVzdC5hc3NldCA9IHN0YXRlcy5hc3NldDtcbiAgICBjb25zdCBydW50aW1lTW9kZWwgPSBydW50aW1lQ29udGV4dC5ydW50aW1lTW9kZWw7XG4gICAgY29uc3QgcHJpY2luZ0VuYWJsZWQgPSBydW50aW1lQ29udGV4dC51aURlZmluaXRpb24/LnByaWNpbmdFbmFibGVkO1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlXG4gICAgICAuY29uZmlndXJlTGluZUl0ZW0oe1xuICAgICAgICBjb25maWd1cmF0aW9uUmVxdWVzdCxcbiAgICAgICAgcnVudGltZU1vZGVsLFxuICAgICAgICBwcmljaW5nRW5hYmxlZCxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh7IGxpbmVJdGVtLCBjb250ZXh0LCBkZWxldGVkTGluZUl0ZW1zIH0pID0+IHtcbiAgICAgICAgICBpZiAoY29udGV4dCkge1xuICAgICAgICAgICAgdGhpcy5jb250ZXh0U2VydmljZS51cGRhdGUoeyBwcm9wZXJ0aWVzOiBjb250ZXh0LnByb3BlcnRpZXMgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChkZWxldGVkTGluZUl0ZW1zPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0luYWN0aXZlUHJvZHVjdHNDb25maXJtYXRpb24oKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGxpbmVJdGVtO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVJlcXVlc3QoXG4gICAgbGluZUl0ZW06IExpbmVJdGVtLFxuICAgIHJ1bnRpbWVDb250ZXh0OiBMZWdhY3lSdW50aW1lQ29udGV4dCxcbiAgICBjb25maWd1cmF0aW9uTW9kZTogQ29uZmlndXJhdGlvbk1vZGUsXG4gICk6IENvbmZpZ3VyYXRpb25SZXF1ZXN0IHtcbiAgICBpZiAocnVudGltZUNvbnRleHQucnVudGltZU1vZGUgPT09IFJ1bnRpbWVNb2RlLlRFU1QpIHtcbiAgICAgIGNvbnN0IHByb3BlcnRpZXM6IERpY3Rpb25hcnk8YW55PiA9IHtcbiAgICAgICAgLi4ucnVudGltZUNvbnRleHQucHJvcGVydGllcyxcbiAgICAgICAgTW9kZWxJZDogcnVudGltZUNvbnRleHQubW9kZWxJZCxcbiAgICAgICAgUnVudGltZU1vZGU6ICdURVNUJyxcbiAgICAgICAgUHJpY2luZ0VuYWJsZWQ6IFN0cmluZyhydW50aW1lQ29udGV4dC51aURlZmluaXRpb24/LnByaWNpbmdFbmFibGVkKSxcbiAgICAgICAgU3RhcnREYXRlOiBydW50aW1lQ29udGV4dC5wcm9wZXJ0aWVzPy5TdGFydERhdGUgPz8gbmV3IERhdGUoKS50b0lTT1N0cmluZygpLnN1YnN0cmluZygwLCAxMCksXG4gICAgICAgIFByaWNlTGlzdElkOiBydW50aW1lQ29udGV4dC51aURlZmluaXRpb24/LnByaWNlTGlzdCxcbiAgICAgIH07XG5cbiAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UudXBkYXRlKHsgcHJvcGVydGllcyB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY29udGV4dCA9IHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpO1xuXG4gICAgICBpZiAoY29udGV4dC5wcm9wZXJ0aWVzICYmIHJ1bnRpbWVDb250ZXh0LnByb3BlcnRpZXM/LlN0YXJ0RGF0ZSkge1xuICAgICAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLnVwZGF0ZSh7XG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgLi4uY29udGV4dC5wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgLi4ucnVudGltZUNvbnRleHQucHJvcGVydGllcyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbGluZUl0ZW0sXG4gICAgICBtb2RlOiBjb25maWd1cmF0aW9uTW9kZSxcbiAgICAgIHN0ZXA6IHJ1bnRpbWVDb250ZXh0Lmludm9jYXRpb25Db250ZXh0ICYmIHJ1bnRpbWVDb250ZXh0Lmludm9jYXRpb25Db250ZXh0LnJ1bnRpbWVTdGVwLFxuICAgICAgYXR0cmlidXRlRG9tYWluTW9kZTogJ0FMTCcsXG4gICAgICBjb250ZXh0OiB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUoKSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREZWZhdWx0TGluZUl0ZW0oY29udGV4dDogTGVnYWN5UnVudGltZUNvbnRleHQpOiBMaW5lSXRlbSB7XG4gICAgY29uc3QgaWQgPSBVVUlELlVVSUQoKTtcblxuICAgIGNvbnN0IGxpbmVJdGVtOiBMaW5lSXRlbSA9IHtcbiAgICAgIGlkLFxuICAgICAgdHlwZTogY29udGV4dC51aURlZmluaXRpb24/LnJvb3RUeXBlID8/ICcnLFxuICAgICAgY2ZnU3RhdHVzOiAnRGVmYXVsdCcsXG4gICAgICBxdHk6IDEsXG4gICAgICBwcm9kdWN0TmFtZTogY29udGV4dC5wcm9wZXJ0aWVzPy5bJ2Rpc3BsYXlOYW1lJ10gfHwgY29udGV4dC5wcm9kdWN0TmFtZSxcbiAgICAgIHByb2R1Y3RJZDogY29udGV4dC5wcm9kdWN0SWQgPz8gJycsXG4gICAgICBvZmZlcmluZ0lkOiBjb250ZXh0Lm9mZmVyaW5nSWQsXG4gICAgICAuLi4oY29udGV4dC5vZmZlcmluZ0lkXG4gICAgICAgID8geyBvZmZlcmluZ0lkOiBjb250ZXh0Lm9mZmVyaW5nSWQsIG9mZmVyaW5nSW5zdGFuY2VJZDogY29udGV4dC5vZmZlcmluZ0luc3RhbmNlSWQgfHwgaWQgfVxuICAgICAgICA6IHt9KSxcbiAgICB9IGFzIExpbmVJdGVtO1xuXG4gICAgcmV0dXJuIGxpbmVJdGVtO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93SW5hY3RpdmVQcm9kdWN0c0NvbmZpcm1hdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBjb25maXJtYXRpb25Db25maWc6IENvbmZpcm1hdGlvbkNvbmZpZyA9IHtcbiAgICAgIHRpdGxlOiAnICcsXG4gICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgcXVvdGUgY29udGFpbnMgaW5hY3RpdmUgcHJvZHVjdHMuIERvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGVtPycsXG4gICAgICBwcmltYXJ5QnV0dG9uTGFiZWw6ICdSZW1vdmUgcHJvZHVjdHMnLFxuICAgICAgc2Vjb25kYXJ5QnV0dG9uTGFiZWw6ICdCYWNrIHRvIFF1b3RlJyxcbiAgICB9O1xuXG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlXG4gICAgICAub3BlbihDb25maXJtYXRpb25Db21wb25lbnQsIHtcbiAgICAgICAgZGlzbWlzc2FibGVNYXNrOiBmYWxzZSxcbiAgICAgICAgY2xvc2VPbkVzY2FwZTogZmFsc2UsXG4gICAgICAgIGNsb3NhYmxlOiBmYWxzZSxcbiAgICAgICAgc2hvd0hlYWRlcjogdHJ1ZSxcbiAgICAgICAgaGVhZGVyOiBgSW5hY3RpdmUgUHJvZHVjdHMgaW4gUXVvdGVgLFxuICAgICAgICB3aWR0aDogJzQ0MHB4JyxcbiAgICAgICAgZGF0YTogeyBjb25maXJtYXRpb25Db25maWcgfSxcbiAgICAgIH0pXG4gICAgICAub25DbG9zZS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG4gICAgICAgICAgd2luZG93WydWRUxPX0JBQ0tfRk4nXS5hcHBseShudWxsLCBbY29udGV4dC5oZWFkZXJJZF0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxufVxuIl19