survey-angular-ui 1.9.43 → 1.9.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/README.md +214 -214
  2. package/angular-ui.d.ts +27 -0
  3. package/angular-ui.module.d.ts +92 -0
  4. package/base-angular.d.ts +25 -0
  5. package/comment.component.d.ts +8 -0
  6. package/component-factory.d.ts +9 -0
  7. package/components/action-bar/action-bar-item-dropdown.component.d.ts +12 -0
  8. package/components/action-bar/action-bar-item.component.d.ts +8 -0
  9. package/components/action-bar/action-bar.component.d.ts +16 -0
  10. package/components/action-bar/action.component.d.ts +11 -0
  11. package/components/brand-info/brand-info.component.d.ts +5 -0
  12. package/components/dropdown/dropdown.component.d.ts +16 -0
  13. package/components/element-header/element-header.component.d.ts +9 -0
  14. package/components/element-title/dynamic-head.component.d.ts +10 -0
  15. package/components/element-title/element-title.component.d.ts +7 -0
  16. package/components/list/list-item.component.d.ts +16 -0
  17. package/components/list/list.component.d.ts +11 -0
  18. package/components/matrix-actions/detail-button/detail-button.component.d.ts +11 -0
  19. package/components/matrix-actions/drag-drop-icon/drag-drop-icon.d.ts +10 -0
  20. package/components/matrix-actions/remove-button/remove-button.component.d.ts +10 -0
  21. package/components/paneldynamic-actions/paneldynamic-add-btn.component.d.ts +14 -0
  22. package/components/paneldynamic-actions/paneldynamic-next-btn.component.d.ts +7 -0
  23. package/components/paneldynamic-actions/paneldynamic-prev-btn.component.d.ts +7 -0
  24. package/components/paneldynamic-actions/paneldynamic-progress-text.component.d.ts +6 -0
  25. package/components/popup/popup-container.component.d.ts +16 -0
  26. package/components/popup/popup.component.d.ts +17 -0
  27. package/components/popup/popup.service.d.ts +13 -0
  28. package/components/progress/buttons/progress.component.d.ts +24 -0
  29. package/components/progress/default/progress.component.d.ts +9 -0
  30. package/components/renderAs/boolean-checkbox/boolean-checkbox.component.d.ts +6 -0
  31. package/components/renderAs/boolean-radio/boolean-radio-item.component.d.ts +10 -0
  32. package/components/renderAs/boolean-radio/boolean-radio.component.d.ts +7 -0
  33. package/components/renderAs/dropdown-select/dropdown-option-item.component.d.ts +8 -0
  34. package/components/renderAs/dropdown-select/dropdown-select.component.d.ts +10 -0
  35. package/components/renderAs/rating-dropdown/rating-dropdown.component.d.ts +6 -0
  36. package/components/skeleton.component.d.ts +6 -0
  37. package/components/survey-actions/survey-nav-btn.component.d.ts +10 -0
  38. package/components/survey-header/survey-header.component.d.ts +11 -0
  39. package/components/svg-icon/svg-icon.component.d.ts +20 -0
  40. package/components/tagbox/tagbox-item.component.d.ts +11 -0
  41. package/components/tagbox/tagbox.component.d.ts +16 -0
  42. package/element.component.d.ts +9 -0
  43. package/embedded-view-content.component.d.ts +11 -0
  44. package/errors.component.d.ts +19 -0
  45. package/esm2020/angular-ui.mjs +28 -0
  46. package/esm2020/angular-ui.module.mjs +138 -0
  47. package/esm2020/base-angular.mjs +101 -0
  48. package/esm2020/comment.component.mjs +16 -0
  49. package/esm2020/component-factory.mjs +26 -0
  50. package/esm2020/components/action-bar/action-bar-item-dropdown.component.mjs +32 -0
  51. package/esm2020/components/action-bar/action-bar-item.component.mjs +22 -0
  52. package/esm2020/components/action-bar/action-bar.component.mjs +43 -0
  53. package/esm2020/components/action-bar/action.component.mjs +27 -0
  54. package/esm2020/components/brand-info/brand-info.component.mjs +13 -0
  55. package/esm2020/components/dropdown/dropdown.component.mjs +39 -0
  56. package/esm2020/components/element-header/element-header.component.mjs +30 -0
  57. package/esm2020/components/element-title/dynamic-head.component.mjs +20 -0
  58. package/esm2020/components/element-title/element-title.component.mjs +18 -0
  59. package/esm2020/components/list/list-item.component.mjs +44 -0
  60. package/esm2020/components/list/list.component.mjs +32 -0
  61. package/esm2020/components/matrix-actions/detail-button/detail-button.component.mjs +25 -0
  62. package/esm2020/components/matrix-actions/drag-drop-icon/drag-drop-icon.mjs +24 -0
  63. package/esm2020/components/matrix-actions/remove-button/remove-button.component.mjs +25 -0
  64. package/esm2020/components/paneldynamic-actions/paneldynamic-add-btn.component.mjs +35 -0
  65. package/esm2020/components/paneldynamic-actions/paneldynamic-next-btn.component.mjs +18 -0
  66. package/esm2020/components/paneldynamic-actions/paneldynamic-prev-btn.component.mjs +18 -0
  67. package/esm2020/components/paneldynamic-actions/paneldynamic-progress-text.component.mjs +14 -0
  68. package/esm2020/components/popup/popup-container.component.mjs +48 -0
  69. package/esm2020/components/popup/popup.component.mjs +37 -0
  70. package/esm2020/components/popup/popup.service.mjs +26 -0
  71. package/esm2020/components/progress/buttons/progress.component.mjs +67 -0
  72. package/esm2020/components/progress/default/progress.component.mjs +27 -0
  73. package/esm2020/components/renderAs/boolean-checkbox/boolean-checkbox.component.mjs +20 -0
  74. package/esm2020/components/renderAs/boolean-radio/boolean-radio-item.component.mjs +22 -0
  75. package/esm2020/components/renderAs/boolean-radio/boolean-radio.component.mjs +18 -0
  76. package/esm2020/components/renderAs/dropdown-select/dropdown-option-item.component.mjs +23 -0
  77. package/esm2020/components/renderAs/dropdown-select/dropdown-select.component.mjs +38 -0
  78. package/esm2020/components/renderAs/rating-dropdown/rating-dropdown.component.mjs +18 -0
  79. package/esm2020/components/skeleton.component.mjs +15 -0
  80. package/esm2020/components/survey-actions/survey-nav-btn.component.mjs +22 -0
  81. package/esm2020/components/survey-header/survey-header.component.mjs +23 -0
  82. package/esm2020/components/svg-icon/svg-icon.component.mjs +68 -0
  83. package/esm2020/components/tagbox/tagbox-item.component.mjs +27 -0
  84. package/esm2020/components/tagbox/tagbox.component.mjs +40 -0
  85. package/esm2020/element.component.mjs +18 -0
  86. package/esm2020/embedded-view-content.component.mjs +24 -0
  87. package/esm2020/errors.component.mjs +58 -0
  88. package/esm2020/page.component.mjs +34 -0
  89. package/esm2020/panel.component.mjs +37 -0
  90. package/esm2020/question.component.mjs +41 -0
  91. package/esm2020/question.mjs +33 -0
  92. package/esm2020/questions/boolean.component.mjs +20 -0
  93. package/esm2020/questions/checkbox-item.component.mjs +36 -0
  94. package/esm2020/questions/checkbox.component.mjs +17 -0
  95. package/esm2020/questions/comment.component.mjs +18 -0
  96. package/esm2020/questions/composite.component.mjs +21 -0
  97. package/esm2020/questions/custom.component.mjs +27 -0
  98. package/esm2020/questions/customwidget.component.mjs +51 -0
  99. package/esm2020/questions/dropdown.component.mjs +17 -0
  100. package/esm2020/questions/expression.component.mjs +17 -0
  101. package/esm2020/questions/file.component.mjs +25 -0
  102. package/esm2020/questions/html.component.mjs +25 -0
  103. package/esm2020/questions/image.component.mjs +16 -0
  104. package/esm2020/questions/imagepicker-item.component.mjs +45 -0
  105. package/esm2020/questions/imagepicker.component.mjs +16 -0
  106. package/esm2020/questions/matrix.component.mjs +35 -0
  107. package/esm2020/questions/matrixcell.component.mjs +61 -0
  108. package/esm2020/questions/matrixdropdown.component.mjs +16 -0
  109. package/esm2020/questions/matrixdynamic.component.mjs +17 -0
  110. package/esm2020/questions/matrixrequiredheader.component.mjs +24 -0
  111. package/esm2020/questions/matrixtable.component.mjs +29 -0
  112. package/esm2020/questions/multipletext.component.mjs +25 -0
  113. package/esm2020/questions/multipletextitem.component.mjs +23 -0
  114. package/esm2020/questions/paneldynamic.component.mjs +55 -0
  115. package/esm2020/questions/radiogroup-item.component.mjs +18 -0
  116. package/esm2020/questions/radiogroup.component.mjs +22 -0
  117. package/esm2020/questions/ranking-item.component.mjs +22 -0
  118. package/esm2020/questions/ranking.component.mjs +22 -0
  119. package/esm2020/questions/rating.component.mjs +23 -0
  120. package/esm2020/questions/selectbase-item.mjs +32 -0
  121. package/esm2020/questions/selectbase.component.mjs +24 -0
  122. package/esm2020/questions/signature.component.mjs +17 -0
  123. package/esm2020/questions/tagbox.component.mjs +17 -0
  124. package/esm2020/questions/text.component.mjs +26 -0
  125. package/esm2020/row.component.mjs +22 -0
  126. package/esm2020/string-editor.component.mjs +26 -0
  127. package/esm2020/string-viewer.component.mjs +32 -0
  128. package/esm2020/survey-angular-ui.mjs +5 -0
  129. package/esm2020/survey-string.component.mjs +17 -0
  130. package/esm2020/survey.component.mjs +50 -0
  131. package/esm2020/utils/dynamic.directive.mjs +44 -0
  132. package/esm2020/utils/ng-key2click.directive.mjs +69 -0
  133. package/esm2020/utils/ng-show.directive.mjs +27 -0
  134. package/esm2020/utils/safe-html.pipe.mjs +18 -0
  135. package/esm2020/utils/safe-url.pipe.mjs +33 -0
  136. package/fesm2015/survey-angular-ui.mjs +2201 -0
  137. package/fesm2015/survey-angular-ui.mjs.map +1 -0
  138. package/fesm2020/survey-angular-ui.mjs +2181 -0
  139. package/fesm2020/survey-angular-ui.mjs.map +1 -0
  140. package/package.json +1 -11
  141. package/page.component.d.ts +14 -0
  142. package/panel.component.d.ts +13 -0
  143. package/question.component.d.ts +13 -0
  144. package/question.d.ts +13 -0
  145. package/questions/boolean.component.d.ts +8 -0
  146. package/questions/checkbox-item.component.d.ts +11 -0
  147. package/questions/checkbox.component.d.ts +7 -0
  148. package/questions/comment.component.d.ts +8 -0
  149. package/questions/composite.component.d.ts +8 -0
  150. package/questions/custom.component.d.ts +10 -0
  151. package/questions/customwidget.component.d.ts +18 -0
  152. package/questions/dropdown.component.d.ts +7 -0
  153. package/questions/expression.component.d.ts +7 -0
  154. package/questions/file.component.d.ts +8 -0
  155. package/questions/html.component.d.ts +9 -0
  156. package/questions/image.component.d.ts +7 -0
  157. package/questions/imagepicker-item.component.d.ts +14 -0
  158. package/questions/imagepicker.component.d.ts +7 -0
  159. package/questions/matrix.component.d.ts +11 -0
  160. package/questions/matrixcell.component.d.ts +20 -0
  161. package/questions/matrixdropdown.component.d.ts +7 -0
  162. package/questions/matrixdynamic.component.d.ts +7 -0
  163. package/questions/matrixrequiredheader.component.d.ts +10 -0
  164. package/questions/matrixtable.component.d.ts +12 -0
  165. package/questions/multipletext.component.d.ts +9 -0
  166. package/questions/multipletextitem.component.d.ts +10 -0
  167. package/questions/paneldynamic.component.d.ts +12 -0
  168. package/questions/radiogroup-item.component.d.ts +8 -0
  169. package/questions/radiogroup.component.d.ts +8 -0
  170. package/questions/ranking-item.component.d.ts +11 -0
  171. package/questions/ranking.component.d.ts +8 -0
  172. package/questions/rating.component.d.ts +9 -0
  173. package/questions/selectbase-item.d.ts +12 -0
  174. package/questions/selectbase.component.d.ts +10 -0
  175. package/questions/signature.component.d.ts +7 -0
  176. package/questions/tagbox.component.d.ts +7 -0
  177. package/questions/text.component.d.ts +9 -0
  178. package/row.component.d.ts +10 -0
  179. package/string-editor.component.d.ts +9 -0
  180. package/string-viewer.component.d.ts +13 -0
  181. package/survey-angular-ui.d.ts +5 -5
  182. package/survey-string.component.d.ts +7 -0
  183. package/survey.component.d.ts +16 -0
  184. package/utils/dynamic.directive.d.ts +19 -0
  185. package/utils/ng-key2click.directive.d.ts +21 -0
  186. package/utils/ng-show.directive.d.ts +12 -0
  187. package/utils/safe-html.pipe.d.ts +10 -0
  188. package/utils/safe-url.pipe.d.ts +17 -0
@@ -0,0 +1,26 @@
1
+ import { Component, Input } from "@angular/core";
2
+ import { LocalizableString } from "survey-core";
3
+ import { AngularComponentFactory } from "./component-factory";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ export class StringEditorComponent {
7
+ constructor() {
8
+ this.onInput = (event) => {
9
+ this.model.text = event.target.innerText;
10
+ };
11
+ this.onClick = (event) => {
12
+ event.preventDefault();
13
+ event.stopPropagation();
14
+ };
15
+ }
16
+ }
17
+ StringEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StringEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
+ StringEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: StringEditorComponent, selector: "sv-ng-string-editor", inputs: { model: "model" }, ngImport: i0, template: "<span style=\"position: static\">\n <span\n class=\"sv-string-editor\"\n contenteditable=\"true\"\n style=\"position: static\"\n *ngIf=\"model.hasHtml\"\n [innerHtml]=\"model.renderedHtml\"\n (blur)=\"onInput($event)\"\n (click)=\"onClick($event)\"\n ></span>\n <span\n class=\"sv-string-editor\"\n contenteditable=\"true\"\n style=\"position: static\"\n *ngIf=\"!model.hasHtml\"\n (blur)=\"onInput($event)\"\n (click)=\"onClick($event)\"\n >{{ model.renderedHtml }}</span\n >\n</span>", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StringEditorComponent, decorators: [{
20
+ type: Component,
21
+ args: [{ selector: "sv-ng-string-editor", template: "<span style=\"position: static\">\n <span\n class=\"sv-string-editor\"\n contenteditable=\"true\"\n style=\"position: static\"\n *ngIf=\"model.hasHtml\"\n [innerHtml]=\"model.renderedHtml\"\n (blur)=\"onInput($event)\"\n (click)=\"onClick($event)\"\n ></span>\n <span\n class=\"sv-string-editor\"\n contenteditable=\"true\"\n style=\"position: static\"\n *ngIf=\"!model.hasHtml\"\n (blur)=\"onInput($event)\"\n (click)=\"onClick($event)\"\n >{{ model.renderedHtml }}</span\n >\n</span>" }]
22
+ }], propDecorators: { model: [{
23
+ type: Input
24
+ }] } });
25
+ AngularComponentFactory.Instance.registerComponent(LocalizableString.editableRenderer, StringEditorComponent);
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvc3RyaW5nLWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvc3RyaW5nLWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQU05RCxNQUFNLE9BQU8scUJBQXFCO0lBSmxDO1FBT0UsWUFBTyxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDM0MsQ0FBQyxDQUFDO1FBQ0YsWUFBTyxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDdkIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUM7S0FDSDs7a0hBVlkscUJBQXFCO3NHQUFyQixxQkFBcUIsdUZDUmxDLHFoQkFtQk87MkZEWE0scUJBQXFCO2tCQUpqQyxTQUFTOytCQUNFLHFCQUFxQjs4QkFJdEIsS0FBSztzQkFBYixLQUFLOztBQVVSLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBMb2NhbGl6YWJsZVN0cmluZyB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnkgfSBmcm9tIFwiLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3Ytbmctc3RyaW5nLWVkaXRvclwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3N0cmluZy1lZGl0b3IuY29tcG9uZW50Lmh0bWxcIlxufSlcbmV4cG9ydCBjbGFzcyBTdHJpbmdFZGl0b3JDb21wb25lbnQge1xuICBASW5wdXQoKSBtb2RlbCE6IExvY2FsaXphYmxlU3RyaW5nO1xuXG4gIG9uSW5wdXQgPSAoZXZlbnQ6IGFueSkgPT4ge1xuICAgIHRoaXMubW9kZWwudGV4dCA9IGV2ZW50LnRhcmdldC5pbm5lclRleHQ7XG4gIH07XG4gIG9uQ2xpY2sgPSAoZXZlbnQ6IGFueSkgPT4ge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH07XG59XG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChMb2NhbGl6YWJsZVN0cmluZy5lZGl0YWJsZVJlbmRlcmVyLCBTdHJpbmdFZGl0b3JDb21wb25lbnQpOyIsIjxzcGFuIHN0eWxlPVwicG9zaXRpb246IHN0YXRpY1wiPlxuICA8c3BhblxuICAgIGNsYXNzPVwic3Ytc3RyaW5nLWVkaXRvclwiXG4gICAgY29udGVudGVkaXRhYmxlPVwidHJ1ZVwiXG4gICAgc3R5bGU9XCJwb3NpdGlvbjogc3RhdGljXCJcbiAgICAqbmdJZj1cIm1vZGVsLmhhc0h0bWxcIlxuICAgIFtpbm5lckh0bWxdPVwibW9kZWwucmVuZGVyZWRIdG1sXCJcbiAgICAoYmx1cik9XCJvbklucHV0KCRldmVudClcIlxuICAgIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuICA+PC9zcGFuPlxuICA8c3BhblxuICAgIGNsYXNzPVwic3Ytc3RyaW5nLWVkaXRvclwiXG4gICAgY29udGVudGVkaXRhYmxlPVwidHJ1ZVwiXG4gICAgc3R5bGU9XCJwb3NpdGlvbjogc3RhdGljXCJcbiAgICAqbmdJZj1cIiFtb2RlbC5oYXNIdG1sXCJcbiAgICAoYmx1cik9XCJvbklucHV0KCRldmVudClcIlxuICAgIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgID57eyBtb2RlbC5yZW5kZXJlZEh0bWwgfX08L3NwYW5cbiAgPlxuPC9zcGFuPiJdfQ==
@@ -0,0 +1,32 @@
1
+ import { Component, Input } from "@angular/core";
2
+ import { LocalizableString } from "survey-core";
3
+ import { AngularComponentFactory } from "./component-factory";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ export class StringViewerComponent {
7
+ constructor(changeDetectorRef) {
8
+ this.changeDetectorRef = changeDetectorRef;
9
+ }
10
+ ngOnChanges(changes) {
11
+ const currentValue = changes["model"].currentValue;
12
+ const previousValue = changes["model"].previousValue;
13
+ currentValue.onChanged = () => { this.changeDetectorRef.detectChanges(); };
14
+ !!previousValue && this.clearOnChanged(previousValue);
15
+ }
16
+ clearOnChanged(model) {
17
+ model.onChanged = () => { };
18
+ }
19
+ ngOnDestroy() {
20
+ !!this.model && this.clearOnChanged(this.model);
21
+ }
22
+ }
23
+ StringViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StringViewerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
24
+ StringViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: StringViewerComponent, selector: "sv-ng-string-viewer, string-viewer, '[sv-ng-string-viewer]'", inputs: { model: "model" }, usesOnChanges: true, ngImport: i0, template: "<span *ngIf=\"!model.hasHtml\" class=\"sv-string-viewer\">{{model.renderedHtml}}</span>\n<span *ngIf=\"model.hasHtml\" class=\"sv-string-viewer\" [innerHtml]=\"model.renderedHtml\"></span>", styles: [""], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StringViewerComponent, decorators: [{
26
+ type: Component,
27
+ args: [{ selector: "sv-ng-string-viewer, string-viewer, '[sv-ng-string-viewer]'", template: "<span *ngIf=\"!model.hasHtml\" class=\"sv-string-viewer\">{{model.renderedHtml}}</span>\n<span *ngIf=\"model.hasHtml\" class=\"sv-string-viewer\" [innerHtml]=\"model.renderedHtml\"></span>", styles: [""] }]
28
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { model: [{
29
+ type: Input
30
+ }] } });
31
+ AngularComponentFactory.Instance.registerComponent(LocalizableString.defaultRenderer, StringViewerComponent);
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvc3RyaW5nLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvc3RyaW5nLXZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBTzlELE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFBRyxDQUFDO0lBQzVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDO1FBQ25ELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDckQsWUFBWSxDQUFDLFNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0UsQ0FBQyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFDRCxjQUFjLENBQUMsS0FBd0I7UUFDckMsS0FBSyxDQUFDLFNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUNELFdBQVc7UUFDVCxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDOztrSEFkVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixvSkNUbEMsOExBQzZGOzJGRFFoRixxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsNkRBQTZEO3dHQUs5RCxLQUFLO3NCQUFiLEtBQUs7O0FBZVIsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IExvY2FsaXphYmxlU3RyaW5nIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1zdHJpbmctdmlld2VyLCBzdHJpbmctdmlld2VyLCAnW3N2LW5nLXN0cmluZy12aWV3ZXJdJ1wiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3N0cmluZy12aWV3ZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3N0cmluZy12aWV3ZXIuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgU3RyaW5nVmlld2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBtb2RlbDogYW55O1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGNoYW5nZXNbXCJtb2RlbFwiXS5jdXJyZW50VmFsdWU7XG4gICAgY29uc3QgcHJldmlvdXNWYWx1ZSA9IGNoYW5nZXNbXCJtb2RlbFwiXS5wcmV2aW91c1ZhbHVlO1xuICAgIGN1cnJlbnRWYWx1ZS5vbkNoYW5nZWQgPSAoKSA9PiB7IHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpOyB9O1xuICAgICEhcHJldmlvdXNWYWx1ZSAmJiB0aGlzLmNsZWFyT25DaGFuZ2VkKHByZXZpb3VzVmFsdWUpO1xuICB9XG4gIGNsZWFyT25DaGFuZ2VkKG1vZGVsOiBMb2NhbGl6YWJsZVN0cmluZykge1xuICAgIG1vZGVsLm9uQ2hhbmdlZCA9ICgpID0+IHt9O1xuICB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICEhdGhpcy5tb2RlbCAmJiB0aGlzLmNsZWFyT25DaGFuZ2VkKHRoaXMubW9kZWwpO1xuICB9XG59XG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChMb2NhbGl6YWJsZVN0cmluZy5kZWZhdWx0UmVuZGVyZXIsIFN0cmluZ1ZpZXdlckNvbXBvbmVudCk7IiwiPHNwYW4gKm5nSWY9XCIhbW9kZWwuaGFzSHRtbFwiIGNsYXNzPVwic3Ytc3RyaW5nLXZpZXdlclwiPnt7bW9kZWwucmVuZGVyZWRIdG1sfX08L3NwYW4+XG48c3BhbiAqbmdJZj1cIm1vZGVsLmhhc0h0bWxcIiBjbGFzcz1cInN2LXN0cmluZy12aWV3ZXJcIiBbaW5uZXJIdG1sXT1cIm1vZGVsLnJlbmRlcmVkSHRtbFwiPjwvc3Bhbj4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './angular-ui';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LWFuZ3VsYXItdWkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvc3VydmV5LWFuZ3VsYXItdWkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9hbmd1bGFyLXVpJztcbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { Component, Input } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./utils/dynamic.directive";
4
+ export class SurveyStringComponent {
5
+ }
6
+ SurveyStringComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SurveyStringComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
+ SurveyStringComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: { model: "model" }, ngImport: i0, template: "<ng-template [component]='{ name: model.renderAs, data: { model: model.renderAsData } }'></ng-template>", isInline: true, directives: [{ type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SurveyStringComponent, decorators: [{
9
+ type: Component,
10
+ args: [{
11
+ selector: "sv-ng-string, '[sv-ng-string]'",
12
+ template: "<ng-template [component]='{ name: model.renderAs, data: { model: model.renderAsData } }'></ng-template>"
13
+ }]
14
+ }], propDecorators: { model: [{
15
+ type: Input
16
+ }] } });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LXN0cmluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvc3VydmV5LXN0cmluZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVNqRCxNQUFNLE9BQU8scUJBQXFCOztrSEFBckIscUJBQXFCO3NHQUFyQixxQkFBcUIsa0dBSHBCLHlHQUF5RzsyRkFHMUcscUJBQXFCO2tCQU5qQyxTQUFTO21CQUNSO29CQUNFLFFBQVEsRUFBRSxnQ0FBZ0M7b0JBQzFDLFFBQVEsRUFBRSx5R0FBeUc7aUJBQ3BIOzhCQUdRLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTG9jYWxpemFibGVTdHJpbmcgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcblxuQENvbXBvbmVudChcbiAge1xuICAgIHNlbGVjdG9yOiBcInN2LW5nLXN0cmluZywgJ1tzdi1uZy1zdHJpbmddJ1wiLFxuICAgIHRlbXBsYXRlOiBcIjxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT0neyBuYW1lOiBtb2RlbC5yZW5kZXJBcywgZGF0YTogeyBtb2RlbDogbW9kZWwucmVuZGVyQXNEYXRhIH0gfSc+PC9uZy10ZW1wbGF0ZT5cIlxuICB9XG4pXG5leHBvcnQgY2xhc3MgU3VydmV5U3RyaW5nQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbW9kZWwhOiBMb2NhbGl6YWJsZVN0cmluZztcbn0iXX0=
@@ -0,0 +1,50 @@
1
+ import { Component, Input, ViewChild } from "@angular/core";
2
+ import { SvgRegistry } from "survey-core";
3
+ import { BaseAngular } from "./base-angular";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./components/survey-header/survey-header.component";
6
+ import * as i2 from "./components/action-bar/action-bar.component";
7
+ import * as i3 from "./page.component";
8
+ import * as i4 from "./components/brand-info/brand-info.component";
9
+ import * as i5 from "@angular/common";
10
+ import * as i6 from "@angular/forms";
11
+ import * as i7 from "./utils/dynamic.directive";
12
+ export class SurveyComponent extends BaseAngular {
13
+ constructor(changeDetectorRef) {
14
+ super(changeDetectorRef);
15
+ changeDetectorRef.detach();
16
+ }
17
+ getModel() {
18
+ return this.model;
19
+ }
20
+ onModelChanged() {
21
+ this.changeDetectorRef.detectChanges();
22
+ this.model.renderCallback = () => {
23
+ this.changeDetectorRef.detectChanges();
24
+ };
25
+ }
26
+ ngOnInit() {
27
+ if (this.model["needRenderIcons"]) {
28
+ SvgRegistry.renderIcons();
29
+ }
30
+ }
31
+ ngOnDestroy() {
32
+ super.ngOnDestroy();
33
+ this.model.renderCallback = undefined;
34
+ }
35
+ ngAfterViewInit() {
36
+ this.model.afterRenderSurvey(this.rootEl.nativeElement);
37
+ }
38
+ }
39
+ SurveyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SurveyComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
40
+ SurveyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: SurveyComponent, selector: "survey", inputs: { model: "model" }, viewQueries: [{ propertyName: "rootEl", first: true, predicate: ["surveyContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div #surveyContainer *ngIf=\"!!model\" [class]=\"model.getRootCss()\" [style.width]=\"model.width\">\n <form onsubmit=\"return false;\">\n <div class=\"sv_custom_header\" [hidden]=\"model.hasLogo\"></div>\n <div [class]=\"model.css.container\">\n <div *ngIf=\"model.renderedHasHeader\" [class]=\"model.css.header\" [survey]=\"model\" sv-ng-survey-header></div>\n <div *ngIf=\"model.isShowingPage\" [class]=\"model.bodyCss\">\n <!-- ko if: isTimerPanelShowingOnTop && !isShowStartingPage -->\n <!-- ko template: { name: 'survey-timerpanel' } -->\n <!-- /ko -->\n <!-- /ko -->\n <ng-container *ngIf=\"model.isShowProgressBarOnTop && !model.isShowStartingPage\">\n <ng-template [component]='{ name: \"sv-progress-\" + this.model.progressBarType, data: { model } }'></ng-template>\n </ng-container>\n <sv-action-bar *ngIf=\"model.isNavigationButtonsShowingOnTop\" [model]=\"model.navigationBar\"></sv-action-bar>\n <!-- ko if: activePage -->\n <ng-container *ngIf=\"model.activePage\">\n <div [id]=\"model.activePage.id\">\n <page [model]=\"model.activePage\" [survey]=\"model\"></page>\n </div>\n </ng-container>\n <!-- ko if: activePage.rows.length == 0 && $data.emptyPageTemplate -->\n <!-- ko template: { name: emptyPageTemplate, data: $data.emptyPageTemplateData || $data } -->\n <!-- /ko -->\n <!-- /ko -->\n <!-- /ko -->\n <!-- ko if: isTimerPanelShowingOnBottom && !isShowStartingPage -->\n <!-- ko template: { name: 'survey-timerpanel' } -->\n <!-- /ko -->\n <!-- /ko -->\n <ng-container *ngIf=\"model.isShowProgressBarOnBottom && !model.isShowStartingPage\">\n <ng-template [component]='{ name: \"sv-progress-\" + this.model.progressBarType, data: { model } }'></ng-template>\n </ng-container>\n <sv-action-bar *ngIf=\"model.isNavigationButtonsShowingOnBottom\" [model]=\"model.navigationBar\"></sv-action-bar>\n </div>\n <div *ngIf=\"model.state === 'completed' && model.showCompletedPage\" [class]=\"model.completedCss\"\n [innerHtml]=\"model.processedCompletedHtml\"></div>\n <div [hidden]=\"model.completedState === ''\" [class]=\"model.css.saveData.root\">\n <div [class]=\"model.completedStateCss\">\n <span>{{model.completedStateText}}</span>\n <input type=\"button\" [hidden]=\"model.completedState != 'error'\"\n [value]=\"model.getLocString('saveAgainButton')\" (click)=\"model.doComplete()\"\n [class]=\"model.css.saveData.saveAgainButton\">\n </div>\n </div>\n <div *ngIf=\"model.state === 'completedbefore'\" [class]=\"model.css.body\"\n [innerHtml]=\"model.processedCompletedBeforeHtml\"></div>\n <div *ngIf=\"model.state === 'loading'\" [class]=\"model.css.body\" [innerHtml]=\"model.processedLoadingHtml\"></div>\n <div *ngIf=\"model.state === 'empty'\" [class]=\"model.css.bodyEmpty\">{{model.emptySurveyText}}</div>\n </div>\n </form>\n <sv-brand-info *ngIf=\"model.showBrandInfo\"></sv-brand-info>\n</div>\n", styles: [""], components: [{ type: i1.SurveyHeaderComponent, selector: "'[sv-ng-survey-header]'", inputs: ["survey"] }, { type: i2.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: i3.PageComponent, selector: "page", inputs: ["model", "survey"] }, { type: i4.BrandInfoComponent, selector: "sv-brand-info" }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SurveyComponent, decorators: [{
42
+ type: Component,
43
+ args: [{ selector: "survey", template: "<div #surveyContainer *ngIf=\"!!model\" [class]=\"model.getRootCss()\" [style.width]=\"model.width\">\n <form onsubmit=\"return false;\">\n <div class=\"sv_custom_header\" [hidden]=\"model.hasLogo\"></div>\n <div [class]=\"model.css.container\">\n <div *ngIf=\"model.renderedHasHeader\" [class]=\"model.css.header\" [survey]=\"model\" sv-ng-survey-header></div>\n <div *ngIf=\"model.isShowingPage\" [class]=\"model.bodyCss\">\n <!-- ko if: isTimerPanelShowingOnTop && !isShowStartingPage -->\n <!-- ko template: { name: 'survey-timerpanel' } -->\n <!-- /ko -->\n <!-- /ko -->\n <ng-container *ngIf=\"model.isShowProgressBarOnTop && !model.isShowStartingPage\">\n <ng-template [component]='{ name: \"sv-progress-\" + this.model.progressBarType, data: { model } }'></ng-template>\n </ng-container>\n <sv-action-bar *ngIf=\"model.isNavigationButtonsShowingOnTop\" [model]=\"model.navigationBar\"></sv-action-bar>\n <!-- ko if: activePage -->\n <ng-container *ngIf=\"model.activePage\">\n <div [id]=\"model.activePage.id\">\n <page [model]=\"model.activePage\" [survey]=\"model\"></page>\n </div>\n </ng-container>\n <!-- ko if: activePage.rows.length == 0 && $data.emptyPageTemplate -->\n <!-- ko template: { name: emptyPageTemplate, data: $data.emptyPageTemplateData || $data } -->\n <!-- /ko -->\n <!-- /ko -->\n <!-- /ko -->\n <!-- ko if: isTimerPanelShowingOnBottom && !isShowStartingPage -->\n <!-- ko template: { name: 'survey-timerpanel' } -->\n <!-- /ko -->\n <!-- /ko -->\n <ng-container *ngIf=\"model.isShowProgressBarOnBottom && !model.isShowStartingPage\">\n <ng-template [component]='{ name: \"sv-progress-\" + this.model.progressBarType, data: { model } }'></ng-template>\n </ng-container>\n <sv-action-bar *ngIf=\"model.isNavigationButtonsShowingOnBottom\" [model]=\"model.navigationBar\"></sv-action-bar>\n </div>\n <div *ngIf=\"model.state === 'completed' && model.showCompletedPage\" [class]=\"model.completedCss\"\n [innerHtml]=\"model.processedCompletedHtml\"></div>\n <div [hidden]=\"model.completedState === ''\" [class]=\"model.css.saveData.root\">\n <div [class]=\"model.completedStateCss\">\n <span>{{model.completedStateText}}</span>\n <input type=\"button\" [hidden]=\"model.completedState != 'error'\"\n [value]=\"model.getLocString('saveAgainButton')\" (click)=\"model.doComplete()\"\n [class]=\"model.css.saveData.saveAgainButton\">\n </div>\n </div>\n <div *ngIf=\"model.state === 'completedbefore'\" [class]=\"model.css.body\"\n [innerHtml]=\"model.processedCompletedBeforeHtml\"></div>\n <div *ngIf=\"model.state === 'loading'\" [class]=\"model.css.body\" [innerHtml]=\"model.processedLoadingHtml\"></div>\n <div *ngIf=\"model.state === 'empty'\" [class]=\"model.css.bodyEmpty\">{{model.emptySurveyText}}</div>\n </div>\n </form>\n <sv-brand-info *ngIf=\"model.showBrandInfo\"></sv-brand-info>\n</div>\n", styles: [""] }]
44
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { model: [{
45
+ type: Input
46
+ }], rootEl: [{
47
+ type: ViewChild,
48
+ args: ["surveyContainer", { static: false }]
49
+ }] } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy9zdXJ2ZXkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL3N1cnZleS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9DLFNBQVMsRUFBdUIsS0FBSyxFQUFvQyxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZLLE9BQU8sRUFBZSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFNN0MsTUFBTSxPQUFPLGVBQWdCLFNBQVEsV0FBd0I7SUFNM0QsWUFBWSxpQkFBb0M7UUFDOUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDekIsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQU5TLFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFLa0IsY0FBYztRQUMvQixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsR0FBRyxFQUFFO1lBQy9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6QyxDQUFDLENBQUM7SUFDSixDQUFDO0lBQ1EsUUFBUTtRQUNmLElBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1lBQ2hDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFDUSxXQUFXO1FBQ2xCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBUSxTQUFTLENBQUM7SUFDN0MsQ0FBQztJQUNELGVBQWU7UUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDMUQsQ0FBQzs7NEdBM0JVLGVBQWU7Z0dBQWYsZUFBZSw0TUNSNUIsMm1HQW9EQTsyRkQ1Q2EsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxRQUFRO3dHQUtULEtBQUs7c0JBQWIsS0FBSztnQkFDMkMsTUFBTTtzQkFBdEQsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBEb0NoZWNrLCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBTdXJ2ZXlNb2RlbCwgU3ZnUmVnaXN0cnkgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4vYmFzZS1hbmd1bGFyXCI7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3VydmV5XCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vc3VydmV5LmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9zdXJ2ZXkuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgU3VydmV5Q29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXI8U3VydmV5TW9kZWw+IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgbW9kZWwhOiBTdXJ2ZXlNb2RlbDtcbiAgQFZpZXdDaGlsZChcInN1cnZleUNvbnRhaW5lclwiLCB7IHN0YXRpYzogZmFsc2UgfSkgcm9vdEVsITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gIHByb3RlY3RlZCBnZXRNb2RlbCgpOiBTdXJ2ZXlNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWw7XG4gIH1cbiAgY29uc3RydWN0b3IoY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIGNoYW5nZURldGVjdG9yUmVmLmRldGFjaCgpO1xuICB9XG4gIHByb3RlY3RlZCBvdmVycmlkZSBvbk1vZGVsQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLm1vZGVsLnJlbmRlckNhbGxiYWNrID0gKCkgPT4ge1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfTtcbiAgfVxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZih0aGlzLm1vZGVsW1wibmVlZFJlbmRlckljb25zXCJdKSB7XG4gICAgICBTdmdSZWdpc3RyeS5yZW5kZXJJY29ucygpO1xuICAgIH1cbiAgfVxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMubW9kZWwucmVuZGVyQ2FsbGJhY2sgPSA8YW55PnVuZGVmaW5lZDtcbiAgfVxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tb2RlbC5hZnRlclJlbmRlclN1cnZleSh0aGlzLnJvb3RFbC5uYXRpdmVFbGVtZW50KTtcbiAgfVxufSIsIjxkaXYgI3N1cnZleUNvbnRhaW5lciAqbmdJZj1cIiEhbW9kZWxcIiBbY2xhc3NdPVwibW9kZWwuZ2V0Um9vdENzcygpXCIgW3N0eWxlLndpZHRoXT1cIm1vZGVsLndpZHRoXCI+XG4gIDxmb3JtIG9uc3VibWl0PVwicmV0dXJuIGZhbHNlO1wiPlxuICAgIDxkaXYgY2xhc3M9XCJzdl9jdXN0b21faGVhZGVyXCIgW2hpZGRlbl09XCJtb2RlbC5oYXNMb2dvXCI+PC9kaXY+XG4gICAgPGRpdiBbY2xhc3NdPVwibW9kZWwuY3NzLmNvbnRhaW5lclwiPlxuICAgICAgPGRpdiAqbmdJZj1cIm1vZGVsLnJlbmRlcmVkSGFzSGVhZGVyXCIgW2NsYXNzXT1cIm1vZGVsLmNzcy5oZWFkZXJcIiBbc3VydmV5XT1cIm1vZGVsXCIgc3Ytbmctc3VydmV5LWhlYWRlcj48L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJtb2RlbC5pc1Nob3dpbmdQYWdlXCIgW2NsYXNzXT1cIm1vZGVsLmJvZHlDc3NcIj5cbiAgICAgICAgPCEtLSBrbyBpZjogaXNUaW1lclBhbmVsU2hvd2luZ09uVG9wICYmICFpc1Nob3dTdGFydGluZ1BhZ2UgLS0+XG4gICAgICAgIDwhLS0ga28gdGVtcGxhdGU6IHsgbmFtZTogJ3N1cnZleS10aW1lcnBhbmVsJyB9IC0tPlxuICAgICAgICA8IS0tIC9rbyAtLT5cbiAgICAgICAgPCEtLSAva28gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlbC5pc1Nob3dQcm9ncmVzc0Jhck9uVG9wICYmICFtb2RlbC5pc1Nob3dTdGFydGluZ1BhZ2VcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09J3sgbmFtZTogXCJzdi1wcm9ncmVzcy1cIiArIHRoaXMubW9kZWwucHJvZ3Jlc3NCYXJUeXBlLCBkYXRhOiB7IG1vZGVsIH0gfSc+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxzdi1hY3Rpb24tYmFyICpuZ0lmPVwibW9kZWwuaXNOYXZpZ2F0aW9uQnV0dG9uc1Nob3dpbmdPblRvcFwiIFttb2RlbF09XCJtb2RlbC5uYXZpZ2F0aW9uQmFyXCI+PC9zdi1hY3Rpb24tYmFyPlxuICAgICAgICA8IS0tIGtvIGlmOiBhY3RpdmVQYWdlIC0tPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlbC5hY3RpdmVQYWdlXCI+XG4gICAgICAgICAgICA8ZGl2IFtpZF09XCJtb2RlbC5hY3RpdmVQYWdlLmlkXCI+XG4gICAgICAgICAgICAgIDxwYWdlIFttb2RlbF09XCJtb2RlbC5hY3RpdmVQYWdlXCIgW3N1cnZleV09XCJtb2RlbFwiPjwvcGFnZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwhLS0ga28gaWY6IGFjdGl2ZVBhZ2Uucm93cy5sZW5ndGggPT0gMCAmJiAkZGF0YS5lbXB0eVBhZ2VUZW1wbGF0ZSAtLT5cbiAgICAgICAgICA8IS0tIGtvIHRlbXBsYXRlOiB7IG5hbWU6IGVtcHR5UGFnZVRlbXBsYXRlLCBkYXRhOiAkZGF0YS5lbXB0eVBhZ2VUZW1wbGF0ZURhdGEgfHwgJGRhdGEgfSAtLT5cbiAgICAgICAgICA8IS0tIC9rbyAtLT5cbiAgICAgICAgICA8IS0tIC9rbyAtLT5cbiAgICAgICAgPCEtLSAva28gLS0+XG4gICAgICAgIDwhLS0ga28gaWY6IGlzVGltZXJQYW5lbFNob3dpbmdPbkJvdHRvbSAmJiAhaXNTaG93U3RhcnRpbmdQYWdlIC0tPlxuICAgICAgICA8IS0tIGtvIHRlbXBsYXRlOiB7IG5hbWU6ICdzdXJ2ZXktdGltZXJwYW5lbCcgfSAtLT5cbiAgICAgICAgPCEtLSAva28gLS0+XG4gICAgICAgIDwhLS0gL2tvIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZWwuaXNTaG93UHJvZ3Jlc3NCYXJPbkJvdHRvbSAmJiAhbW9kZWwuaXNTaG93U3RhcnRpbmdQYWdlXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPSd7IG5hbWU6IFwic3YtcHJvZ3Jlc3MtXCIgKyB0aGlzLm1vZGVsLnByb2dyZXNzQmFyVHlwZSwgZGF0YTogeyBtb2RlbCB9IH0nPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8c3YtYWN0aW9uLWJhciAqbmdJZj1cIm1vZGVsLmlzTmF2aWdhdGlvbkJ1dHRvbnNTaG93aW5nT25Cb3R0b21cIiBbbW9kZWxdPVwibW9kZWwubmF2aWdhdGlvbkJhclwiPjwvc3YtYWN0aW9uLWJhcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cIm1vZGVsLnN0YXRlID09PSAnY29tcGxldGVkJyAmJiBtb2RlbC5zaG93Q29tcGxldGVkUGFnZVwiIFtjbGFzc109XCJtb2RlbC5jb21wbGV0ZWRDc3NcIlxuICAgICAgICBbaW5uZXJIdG1sXT1cIm1vZGVsLnByb2Nlc3NlZENvbXBsZXRlZEh0bWxcIj48L2Rpdj5cbiAgICAgIDxkaXYgW2hpZGRlbl09XCJtb2RlbC5jb21wbGV0ZWRTdGF0ZSA9PT0gJydcIiBbY2xhc3NdPVwibW9kZWwuY3NzLnNhdmVEYXRhLnJvb3RcIj5cbiAgICAgICAgPGRpdiBbY2xhc3NdPVwibW9kZWwuY29tcGxldGVkU3RhdGVDc3NcIj5cbiAgICAgICAgICA8c3Bhbj57e21vZGVsLmNvbXBsZXRlZFN0YXRlVGV4dH19PC9zcGFuPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwiYnV0dG9uXCIgW2hpZGRlbl09XCJtb2RlbC5jb21wbGV0ZWRTdGF0ZSAhPSAnZXJyb3InXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJtb2RlbC5nZXRMb2NTdHJpbmcoJ3NhdmVBZ2FpbkJ1dHRvbicpXCIgKGNsaWNrKT1cIm1vZGVsLmRvQ29tcGxldGUoKVwiXG4gICAgICAgICAgICBbY2xhc3NdPVwibW9kZWwuY3NzLnNhdmVEYXRhLnNhdmVBZ2FpbkJ1dHRvblwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cIm1vZGVsLnN0YXRlID09PSAnY29tcGxldGVkYmVmb3JlJ1wiIFtjbGFzc109XCJtb2RlbC5jc3MuYm9keVwiXG4gICAgICAgIFtpbm5lckh0bWxdPVwibW9kZWwucHJvY2Vzc2VkQ29tcGxldGVkQmVmb3JlSHRtbFwiPjwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cIm1vZGVsLnN0YXRlID09PSAnbG9hZGluZydcIiBbY2xhc3NdPVwibW9kZWwuY3NzLmJvZHlcIiBbaW5uZXJIdG1sXT1cIm1vZGVsLnByb2Nlc3NlZExvYWRpbmdIdG1sXCI+PC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwibW9kZWwuc3RhdGUgPT09ICdlbXB0eSdcIiBbY2xhc3NdPVwibW9kZWwuY3NzLmJvZHlFbXB0eVwiPnt7bW9kZWwuZW1wdHlTdXJ2ZXlUZXh0fX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuICA8c3YtYnJhbmQtaW5mbyAqbmdJZj1cIm1vZGVsLnNob3dCcmFuZEluZm9cIj48L3N2LWJyYW5kLWluZm8+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,44 @@
1
+ import { Directive, Input } from "@angular/core";
2
+ import { AngularComponentFactory } from "../component-factory";
3
+ import * as i0 from "@angular/core";
4
+ export class DynamicComponentDirective {
5
+ constructor(containerRef) {
6
+ this.containerRef = containerRef;
7
+ }
8
+ ngOnChanges(changes) {
9
+ const componentChanges = changes["component"];
10
+ if (componentChanges.currentValue.name !== componentChanges.previousValue?.name) {
11
+ this.createComponent();
12
+ }
13
+ else {
14
+ this.updateComponentData();
15
+ }
16
+ }
17
+ createComponent() {
18
+ this.containerRef.clear();
19
+ if (AngularComponentFactory.Instance.isComponentRegistered(this.component.name)) {
20
+ this.componentInstance = AngularComponentFactory.Instance.create(this.containerRef, this.component.name).instance;
21
+ }
22
+ else if (this.component.default) {
23
+ this.componentInstance = AngularComponentFactory.Instance.create(this.containerRef, this.component.default).instance;
24
+ }
25
+ this.updateComponentData();
26
+ }
27
+ updateComponentData() {
28
+ const data = this.component.data;
29
+ Object.keys(data).forEach((key) => {
30
+ this.componentInstance[key] = data[key];
31
+ });
32
+ }
33
+ }
34
+ DynamicComponentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DynamicComponentDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
35
+ DynamicComponentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: DynamicComponentDirective, selector: "[component]", inputs: { component: "component" }, usesOnChanges: true, ngImport: i0 });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DynamicComponentDirective, decorators: [{
37
+ type: Directive,
38
+ args: [{
39
+ selector: "[component]"
40
+ }]
41
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { component: [{
42
+ type: Input
43
+ }] } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvdXRpbHMvZHluYW1pYy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQThDLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQVkvRCxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFlBQW9CLFlBQThCO1FBQTlCLGlCQUFZLEdBQVosWUFBWSxDQUFrQjtJQUFJLENBQUM7SUFHdkQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlDLElBQUcsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFO1lBQzlFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUN4QjthQUFNO1lBQ0wsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBQ0QsZUFBZTtRQUNiLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsSUFBRyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM5RSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsdUJBQXVCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDO1NBQ25IO2FBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRTtZQUNqQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsdUJBQXVCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDO1NBQ3RIO1FBQ0QsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUNELG1CQUFtQjtRQUNqQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztRQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztzSEExQlUseUJBQXlCOzBHQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtpQkFDeEI7dUdBSVUsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuXG5pbnRlcmZhY2UgSUR5bmFtaWNDb21wb25lbnQge1xuICBuYW1lOiBzdHJpbmc7XG4gIGRhdGE/OiBhbnk7XG4gIGRlZmF1bHQ/OiBzdHJpbmc7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbY29tcG9uZW50XVwiXG59KVxuXG5leHBvcnQgY2xhc3MgRHluYW1pY0NvbXBvbmVudERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7IH1cbiAgQElucHV0KCkgY29tcG9uZW50ITogSUR5bmFtaWNDb21wb25lbnQ7XG4gIHByaXZhdGUgY29tcG9uZW50SW5zdGFuY2U6IGFueTtcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IGNvbXBvbmVudENoYW5nZXMgPSBjaGFuZ2VzW1wiY29tcG9uZW50XCJdO1xuICAgIGlmKGNvbXBvbmVudENoYW5nZXMuY3VycmVudFZhbHVlLm5hbWUgIT09IGNvbXBvbmVudENoYW5nZXMucHJldmlvdXNWYWx1ZT8ubmFtZSkge1xuICAgICAgdGhpcy5jcmVhdGVDb21wb25lbnQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVDb21wb25lbnREYXRhKCk7XG4gICAgfVxuICB9XG4gIGNyZWF0ZUNvbXBvbmVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgIGlmKEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLmlzQ29tcG9uZW50UmVnaXN0ZXJlZCh0aGlzLmNvbXBvbmVudC5uYW1lKSkge1xuICAgICAgdGhpcy5jb21wb25lbnRJbnN0YW5jZSA9IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLmNyZWF0ZSh0aGlzLmNvbnRhaW5lclJlZiwgdGhpcy5jb21wb25lbnQubmFtZSkuaW5zdGFuY2U7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbXBvbmVudC5kZWZhdWx0KSB7XG4gICAgICB0aGlzLmNvbXBvbmVudEluc3RhbmNlID0gQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UuY3JlYXRlKHRoaXMuY29udGFpbmVyUmVmLCB0aGlzLmNvbXBvbmVudC5kZWZhdWx0KS5pbnN0YW5jZTtcbiAgICB9XG4gICAgdGhpcy51cGRhdGVDb21wb25lbnREYXRhKCk7XG4gIH1cbiAgdXBkYXRlQ29tcG9uZW50RGF0YSgpOiB2b2lkIHtcbiAgICBjb25zdCBkYXRhID0gdGhpcy5jb21wb25lbnQuZGF0YTtcbiAgICBPYmplY3Qua2V5cyhkYXRhKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIHRoaXMuY29tcG9uZW50SW5zdGFuY2Vba2V5XSA9IGRhdGFba2V5XTtcbiAgICB9KTtcbiAgfVxufSJdfQ==
@@ -0,0 +1,69 @@
1
+ import { Directive, Input } from "@angular/core";
2
+ import { doKey2ClickDown, doKey2ClickUp, doKey2ClickBlur } from "survey-core";
3
+ import * as i0 from "@angular/core";
4
+ export class Key2ClickDirective {
5
+ constructor(el) {
6
+ this.el = el;
7
+ this.isSubscribed = false;
8
+ this.options = Key2ClickDirective.defaultOptions;
9
+ this.subscribeEventListeners();
10
+ }
11
+ onkeydown(evt) {
12
+ doKey2ClickDown(evt, this.options);
13
+ }
14
+ onkeyup(evt) {
15
+ evt.preventDefault();
16
+ evt.stopPropagation();
17
+ doKey2ClickUp(evt, this.options);
18
+ return false;
19
+ }
20
+ blur(evt) {
21
+ doKey2ClickBlur(evt);
22
+ }
23
+ get element() {
24
+ return this.el.nativeElement;
25
+ }
26
+ subscribeEventListeners() {
27
+ if (this.isSubscribed)
28
+ return;
29
+ this.element.tabIndex = 0;
30
+ this.element.addEventListener("keyup", this.onkeyup);
31
+ this.element.addEventListener("keydown", this.onkeydown);
32
+ this.element.addEventListener("blur", this.blur);
33
+ this.isSubscribed = true;
34
+ }
35
+ unsubscribeEventListeners() {
36
+ if (!this.isSubscribed)
37
+ return;
38
+ this.element.tabIndex = -1;
39
+ this.element.removeEventListener("keyup", this.onkeyup);
40
+ this.element.removeEventListener("keydown", this.onkeydown);
41
+ this.element.removeEventListener("blur", this.blur);
42
+ this.isSubscribed = false;
43
+ }
44
+ ngOnChanges(changes) {
45
+ const curValue = changes["key2click"].currentValue;
46
+ if (curValue.disableTabStop) {
47
+ this.unsubscribeEventListeners();
48
+ }
49
+ else {
50
+ this.subscribeEventListeners();
51
+ }
52
+ this.options = Object.assign({}, Key2ClickDirective.defaultOptions, curValue);
53
+ }
54
+ ngOnDestroy() {
55
+ this.unsubscribeEventListeners();
56
+ }
57
+ }
58
+ Key2ClickDirective.defaultOptions = { processEsc: true, disableTabStop: false };
59
+ Key2ClickDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Key2ClickDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
60
+ Key2ClickDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: Key2ClickDirective, selector: "[key2click]", inputs: { key2click: "key2click" }, usesOnChanges: true, ngImport: i0 });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Key2ClickDirective, decorators: [{
62
+ type: Directive,
63
+ args: [{
64
+ selector: "[key2click]"
65
+ }]
66
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { key2click: [{
67
+ type: Input
68
+ }] } });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcta2V5MmNsaWNrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy91dGlscy9uZy1rZXkyY2xpY2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQTJCLE1BQU0sYUFBYSxDQUFDOztBQUt2RyxNQUFNLE9BQU8sa0JBQWtCO0lBbUI3QixZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQWpCMUIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFN0IsWUFBTyxHQUE2QixrQkFBa0IsQ0FBQyxjQUFjLENBQUM7UUFnQnBFLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFkTyxTQUFTLENBQUUsR0FBUTtRQUN6QixlQUFlLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ08sT0FBTyxDQUFFLEdBQVE7UUFDdkIsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3JCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN0QixhQUFhLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqQyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDTyxJQUFJLENBQUUsR0FBUTtRQUNwQixlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUtELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDL0IsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixJQUFHLElBQUksQ0FBQyxZQUFZO1lBQUUsT0FBTztRQUU3QixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFakQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUNELHlCQUF5QjtRQUN2QixJQUFHLENBQUMsSUFBSSxDQUFDLFlBQVk7WUFBRSxPQUFPO1FBRTlCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUNuRCxJQUFHLFFBQVEsQ0FBQyxjQUFjLEVBQUU7WUFDMUIsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7U0FDbEM7YUFBTTtZQUNMLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1NBQ2hDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNuQyxDQUFDOztBQTNETSxpQ0FBYyxHQUE0QixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRyxDQUFBOytHQURsRixrQkFBa0I7bUdBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUg5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO2lCQUN4QjtpR0FNVSxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgU2ltcGxlQ2hhbmdlcywgT25DaGFuZ2VzLCBPbkRlc3Ryb3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgZG9LZXkyQ2xpY2tEb3duLCBkb0tleTJDbGlja1VwLCBkb0tleTJDbGlja0JsdXIsIElBdHRhY2hLZXkyY2xpY2tPcHRpb25zIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJba2V5MmNsaWNrXVwiXG59KVxuZXhwb3J0IGNsYXNzIEtleTJDbGlja0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgc3RhdGljIGRlZmF1bHRPcHRpb25zOiBJQXR0YWNoS2V5MmNsaWNrT3B0aW9ucyA9IHsgcHJvY2Vzc0VzYzogdHJ1ZSwgZGlzYWJsZVRhYlN0b3A6IGZhbHNlIH07XG4gIHByaXZhdGUgaXNTdWJzY3JpYmVkID0gZmFsc2U7XG5cbiAgb3B0aW9ucz86IElBdHRhY2hLZXkyY2xpY2tPcHRpb25zID0gS2V5MkNsaWNrRGlyZWN0aXZlLmRlZmF1bHRPcHRpb25zO1xuICBASW5wdXQoKSBrZXkyY2xpY2s/OiBJQXR0YWNoS2V5MmNsaWNrT3B0aW9ucztcblxuICBwcml2YXRlIG9ua2V5ZG93biAoZXZ0OiBhbnkpIHtcbiAgICBkb0tleTJDbGlja0Rvd24oZXZ0LCB0aGlzLm9wdGlvbnMpO1xuICB9XG4gIHByaXZhdGUgb25rZXl1cCAoZXZ0OiBhbnkpIHtcbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZG9LZXkyQ2xpY2tVcChldnQsIHRoaXMub3B0aW9ucyk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHByaXZhdGUgYmx1ciAoZXZ0OiBhbnkpIHtcbiAgICBkb0tleTJDbGlja0JsdXIoZXZ0KTtcbiAgfVxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5zdWJzY3JpYmVFdmVudExpc3RlbmVycygpO1xuICB9XG5cbiAgZ2V0IGVsZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHN1YnNjcmliZUV2ZW50TGlzdGVuZXJzKCkge1xuICAgIGlmKHRoaXMuaXNTdWJzY3JpYmVkKSByZXR1cm47XG5cbiAgICB0aGlzLmVsZW1lbnQudGFiSW5kZXggPSAwO1xuICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFwia2V5dXBcIiwgdGhpcy5vbmtleXVwKTtcbiAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgdGhpcy5vbmtleWRvd24pO1xuICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFwiYmx1clwiLCB0aGlzLmJsdXIpO1xuXG4gICAgdGhpcy5pc1N1YnNjcmliZWQgPSB0cnVlO1xuICB9XG4gIHVuc3Vic2NyaWJlRXZlbnRMaXN0ZW5lcnMoKSB7XG4gICAgaWYoIXRoaXMuaXNTdWJzY3JpYmVkKSByZXR1cm47XG5cbiAgICB0aGlzLmVsZW1lbnQudGFiSW5kZXggPSAtMTtcbiAgICB0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleXVwXCIsIHRoaXMub25rZXl1cCk7XG4gICAgdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIHRoaXMub25rZXlkb3duKTtcbiAgICB0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImJsdXJcIiwgdGhpcy5ibHVyKTtcblxuICAgIHRoaXMuaXNTdWJzY3JpYmVkID0gZmFsc2U7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3QgY3VyVmFsdWUgPSBjaGFuZ2VzW1wia2V5MmNsaWNrXCJdLmN1cnJlbnRWYWx1ZTtcbiAgICBpZihjdXJWYWx1ZS5kaXNhYmxlVGFiU3RvcCkge1xuICAgICAgdGhpcy51bnN1YnNjcmliZUV2ZW50TGlzdGVuZXJzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3Vic2NyaWJlRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICB9XG4gICAgdGhpcy5vcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgS2V5MkNsaWNrRGlyZWN0aXZlLmRlZmF1bHRPcHRpb25zLCBjdXJWYWx1ZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlRXZlbnRMaXN0ZW5lcnMoKTtcbiAgfVxufSJdfQ==
@@ -0,0 +1,27 @@
1
+ import { Directive, Input } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class VisibleDirective {
4
+ constructor(el) {
5
+ this.el = el;
6
+ }
7
+ ngOnChanges(changes) {
8
+ changes["visible"].currentValue ? this.show() : this.hide();
9
+ }
10
+ hide() {
11
+ this.el.nativeElement.style.display = "none";
12
+ }
13
+ show() {
14
+ this.el.nativeElement.style.display = "";
15
+ }
16
+ }
17
+ VisibleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: VisibleDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
18
+ VisibleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: VisibleDirective, selector: "[visible]", inputs: { visible: "visible" }, usesOnChanges: true, ngImport: i0 });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: VisibleDirective, decorators: [{
20
+ type: Directive,
21
+ args: [{
22
+ selector: "[visible]"
23
+ }]
24
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { visible: [{
25
+ type: Input
26
+ }] } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2hvdy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvdXRpbHMvbmctc2hvdy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDOztBQUt2RixNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBQUksQ0FBQztJQUV2QyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUQsQ0FBQztJQUNPLElBQUk7UUFDVixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUMvQyxDQUFDO0lBQ08sSUFBSTtRQUNWLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQzNDLENBQUM7OzZHQVhVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBSDVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7aUJBQ3RCO2lHQUdVLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbdmlzaWJsZV1cIlxufSlcbmV4cG9ydCBjbGFzcyBWaXNpYmxlRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikgeyB9XG4gIEBJbnB1dCgpIHZpc2libGU/OiBib29sZWFuO1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY2hhbmdlc1tcInZpc2libGVcIl0uY3VycmVudFZhbHVlID8gdGhpcy5zaG93KCkgOiB0aGlzLmhpZGUoKTtcbiAgfVxuICBwcml2YXRlIGhpZGUoKSB7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSBcIm5vbmVcIjtcbiAgfVxuICBwcml2YXRlIHNob3coKSB7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSBcIlwiO1xuICB9XG59Il19
@@ -0,0 +1,18 @@
1
+ import { Pipe } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/platform-browser";
4
+ export class SafeHtmlPipe {
5
+ constructor(domSanitizer) {
6
+ this.domSanitizer = domSanitizer;
7
+ }
8
+ transform(url) {
9
+ return this.domSanitizer.bypassSecurityTrustHtml(url);
10
+ }
11
+ }
12
+ SafeHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
13
+ SafeHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SafeHtmlPipe, name: "safeHtml" });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SafeHtmlPipe, decorators: [{
15
+ type: Pipe,
16
+ args: [{ name: "safeHtml" }]
17
+ }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS1odG1sLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvdXRpbHMvc2FmZS1odG1sLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQUlwRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUFHLENBQUM7SUFDbEQsU0FBUyxDQUFDLEdBQVc7UUFDbkIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hELENBQUM7O3lHQUpVLFlBQVk7dUdBQVosWUFBWTsyRkFBWixZQUFZO2tCQUR4QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlVXJsIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcblxuQFBpcGUoeyBuYW1lOiBcInNhZmVIdG1sXCIgfSlcbmV4cG9ydCBjbGFzcyBTYWZlSHRtbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cbiAgdHJhbnNmb3JtKHVybDogc3RyaW5nKTogU2FmZVVybCB7XG4gICAgcmV0dXJuIHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHVybCk7XG4gIH1cbn0iXX0=
@@ -0,0 +1,33 @@
1
+ import { Pipe } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/platform-browser";
4
+ //temp: disables angular sanitizer, which breaks a links
5
+ export class SafeUrlPipe {
6
+ constructor(domSanitizer) {
7
+ this.domSanitizer = domSanitizer;
8
+ }
9
+ transform(url) {
10
+ return this.domSanitizer.bypassSecurityTrustUrl(url);
11
+ }
12
+ }
13
+ SafeUrlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SafeUrlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
14
+ SafeUrlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SafeUrlPipe, name: "safeUrl" });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SafeUrlPipe, decorators: [{
16
+ type: Pipe,
17
+ args: [{ name: "safeUrl" }]
18
+ }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
19
+ export class SafeResourceUrlPipe {
20
+ constructor(domSanitizer) {
21
+ this.domSanitizer = domSanitizer;
22
+ }
23
+ transform(url) {
24
+ return this.domSanitizer.bypassSecurityTrustResourceUrl(url);
25
+ }
26
+ }
27
+ SafeResourceUrlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SafeResourceUrlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
28
+ SafeResourceUrlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SafeResourceUrlPipe, name: "safeResourceUrl" });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SafeResourceUrlPipe, decorators: [{
30
+ type: Pipe,
31
+ args: [{ name: "safeResourceUrl" }]
32
+ }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS11cmwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy91dGlscy9zYWZlLXVybC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFHcEQsd0RBQXdEO0FBRXhELE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQUcsQ0FBQztJQUNsRCxTQUFTLENBQUMsR0FBVztRQUNuQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkQsQ0FBQzs7d0dBSlUsV0FBVztzR0FBWCxXQUFXOzJGQUFYLFdBQVc7a0JBRHZCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFOztBQVN6QixNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQUcsQ0FBQztJQUNsRCxTQUFTLENBQUMsR0FBVztRQUNuQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsOEJBQThCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0QsQ0FBQzs7Z0hBSlUsbUJBQW1COzhHQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFEL0IsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlUmVzb3VyY2VVcmwsIFNhZmVVcmwgfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xuXG4vL3RlbXA6IGRpc2FibGVzIGFuZ3VsYXIgc2FuaXRpemVyLCB3aGljaCBicmVha3MgYSBsaW5rc1xuQFBpcGUoeyBuYW1lOiBcInNhZmVVcmxcIiB9KVxuZXhwb3J0IGNsYXNzIFNhZmVVcmxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XG4gIHRyYW5zZm9ybSh1cmw6IHN0cmluZyk6IFNhZmVVcmwge1xuICAgIHJldHVybiB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKHVybCk7XG4gIH1cbn1cblxuQFBpcGUoeyBuYW1lOiBcInNhZmVSZXNvdXJjZVVybFwiIH0pXG5leHBvcnQgY2xhc3MgU2FmZVJlc291cmNlVXJsUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7fVxuICB0cmFuc2Zvcm0odXJsOiBzdHJpbmcpOiBTYWZlUmVzb3VyY2VVcmwge1xuICAgIHJldHVybiB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodXJsKTtcbiAgfVxufSJdfQ==