survey-angular-ui 1.9.74 → 1.9.75

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 (230) hide show
  1. package/README.md +23 -195
  2. package/angular-ui.d.ts +2 -0
  3. package/angular-ui.module.d.ts +82 -80
  4. package/bundles/survey-angular-ui.umd.js +4338 -0
  5. package/bundles/survey-angular-ui.umd.js.map +1 -0
  6. package/component-factory.d.ts +2 -2
  7. package/components/character-counter/character-counter.component.d.ts +10 -0
  8. package/components/rating/rating-item.component.d.ts +13 -0
  9. package/esm2015/angular-ui.js +105 -0
  10. package/esm2015/angular-ui.module.js +188 -0
  11. package/esm2015/base-angular.js +128 -0
  12. package/esm2015/comment-other.component.js +35 -0
  13. package/esm2015/comment.component.js +24 -0
  14. package/esm2015/component-factory.js +26 -0
  15. package/esm2015/components/action-bar/action-bar-item-dropdown.component.js +36 -0
  16. package/esm2015/components/action-bar/action-bar-item.component.js +26 -0
  17. package/esm2015/components/action-bar/action-bar.component.js +47 -0
  18. package/esm2015/components/action-bar/action.component.js +31 -0
  19. package/esm2015/components/brand-info/brand-info.component.js +16 -0
  20. package/esm2015/components/character-counter/character-counter.component.js +25 -0
  21. package/esm2015/components/dropdown/dropdown.component.js +76 -0
  22. package/esm2015/components/element-header/element-header.component.js +35 -0
  23. package/esm2015/components/element-title/dynamic-head.component.js +24 -0
  24. package/esm2015/components/element-title/element-title.component.js +21 -0
  25. package/esm2015/components/element-title/title-actions.component.js +21 -0
  26. package/esm2015/components/list/list-item.component.js +52 -0
  27. package/esm2015/components/list/list.component.js +55 -0
  28. package/esm2015/components/matrix-actions/detail-button/detail-button.component.js +28 -0
  29. package/esm2015/components/matrix-actions/drag-drop-icon/drag-drop-icon.js +24 -0
  30. package/esm2015/components/matrix-actions/remove-button/remove-button.component.js +28 -0
  31. package/esm2015/components/notifier/notifier.component.js +26 -0
  32. package/esm2015/components/paneldynamic-actions/paneldynamic-add-btn.component.js +38 -0
  33. package/esm2015/components/paneldynamic-actions/paneldynamic-next-btn.component.js +21 -0
  34. package/esm2015/components/paneldynamic-actions/paneldynamic-prev-btn.component.js +21 -0
  35. package/esm2015/components/paneldynamic-actions/paneldynamic-progress-text.component.js +17 -0
  36. package/esm2015/components/paneldynamic-actions/paneldynamic-remove-btn.component.js +20 -0
  37. package/esm2015/components/popup/modal-container.component.js +46 -0
  38. package/esm2015/components/popup/popup-container.component.js +59 -0
  39. package/esm2015/components/popup/popup-pointer.component.js +25 -0
  40. package/esm2015/components/popup/popup.component.js +45 -0
  41. package/esm2015/components/popup/popup.service.js +26 -0
  42. package/esm2015/components/progress/buttons/progress.component.js +71 -0
  43. package/esm2015/components/progress/default/progress.component.js +30 -0
  44. package/esm2015/components/rating/rating-item.component.js +34 -0
  45. package/esm2015/components/renderAs/boolean-checkbox/boolean-checkbox.component.js +24 -0
  46. package/esm2015/components/renderAs/boolean-radio/boolean-radio-item.component.js +25 -0
  47. package/esm2015/components/renderAs/boolean-radio/boolean-radio.component.js +21 -0
  48. package/esm2015/components/renderAs/dropdown-select/dropdown-option-item.component.js +23 -0
  49. package/esm2015/components/renderAs/dropdown-select/dropdown-select.component.js +41 -0
  50. package/esm2015/components/renderAs/rating-dropdown/rating-dropdown.component.js +21 -0
  51. package/esm2015/components/skeleton/skeleton.component.js +20 -0
  52. package/esm2015/components/skeleton.component.js +19 -0
  53. package/esm2015/components/survey-actions/survey-nav-btn.component.js +26 -0
  54. package/esm2015/components/survey-header/logo-image.component.js +24 -0
  55. package/esm2015/components/survey-header/survey-header.component.js +33 -0
  56. package/esm2015/components/svg-icon/svg-icon.component.js +68 -0
  57. package/esm2015/components/tagbox/tagbox-filter.component.js +26 -0
  58. package/esm2015/components/tagbox/tagbox-item.component.js +30 -0
  59. package/esm2015/components/tagbox/tagbox.component.js +52 -0
  60. package/esm2015/components/timer-panel/timer-panel.component.js +35 -0
  61. package/esm2015/element.component.js +59 -0
  62. package/esm2015/embedded-view-content.component.js +25 -0
  63. package/esm2015/errors.component.js +61 -0
  64. package/esm2015/page.component.js +40 -0
  65. package/esm2015/panel.component.js +42 -0
  66. package/esm2015/popup.survey.component.js +49 -0
  67. package/esm2015/question.component.js +58 -0
  68. package/esm2015/question.js +35 -0
  69. package/esm2015/questions/boolean.component.js +23 -0
  70. package/esm2015/questions/button-group/button-group-item.component.js +33 -0
  71. package/esm2015/questions/button-group/button-group.component.js +17 -0
  72. package/esm2015/questions/checkbox-item.component.js +28 -0
  73. package/esm2015/questions/checkbox.component.js +20 -0
  74. package/esm2015/questions/comment.component.js +22 -0
  75. package/esm2015/questions/composite.component.js +21 -0
  76. package/esm2015/questions/custom.component.js +27 -0
  77. package/esm2015/questions/customwidget.component.js +54 -0
  78. package/esm2015/questions/dropdown.component.js +20 -0
  79. package/esm2015/questions/expression.component.js +17 -0
  80. package/esm2015/questions/file.component.js +29 -0
  81. package/esm2015/questions/html.component.js +29 -0
  82. package/esm2015/questions/image.component.js +29 -0
  83. package/esm2015/questions/imagepicker-item.component.js +52 -0
  84. package/esm2015/questions/imagepicker.component.js +32 -0
  85. package/esm2015/questions/matrix-row.component.js +31 -0
  86. package/esm2015/questions/matrix.component.js +40 -0
  87. package/esm2015/questions/matrixcell.component.js +94 -0
  88. package/esm2015/questions/matrixdropdown.component.js +19 -0
  89. package/esm2015/questions/matrixdynamic.component.js +20 -0
  90. package/esm2015/questions/matrixrequiredheader.component.js +24 -0
  91. package/esm2015/questions/matrixtable.component.js +34 -0
  92. package/esm2015/questions/multipletext.component.js +28 -0
  93. package/esm2015/questions/multipletextitem.component.js +26 -0
  94. package/esm2015/questions/paneldynamic.component.js +82 -0
  95. package/esm2015/questions/radiogroup-item.component.js +22 -0
  96. package/esm2015/questions/radiogroup.component.js +25 -0
  97. package/esm2015/questions/ranking-item.component.js +27 -0
  98. package/esm2015/questions/ranking.component.js +34 -0
  99. package/esm2015/questions/rating.component.js +27 -0
  100. package/esm2015/questions/selectbase-item.js +37 -0
  101. package/esm2015/questions/selectbase.component.js +53 -0
  102. package/esm2015/questions/signature.component.js +20 -0
  103. package/esm2015/questions/tagbox.component.js +20 -0
  104. package/esm2015/questions/text.component.js +21 -0
  105. package/esm2015/row.component.js +63 -0
  106. package/esm2015/string-editor.component.js +29 -0
  107. package/esm2015/string-viewer.component.js +41 -0
  108. package/esm2015/survey-angular-ui.js +5 -0
  109. package/esm2015/survey-content.component.js +72 -0
  110. package/esm2015/survey-string.component.js +17 -0
  111. package/esm2015/survey.component.js +32 -0
  112. package/esm2015/template-renderer.component.js +27 -0
  113. package/esm2015/utils/dynamic.directive.js +54 -0
  114. package/esm2015/utils/ng-key2click.directive.js +69 -0
  115. package/esm2015/utils/ng-show.directive.js +27 -0
  116. package/esm2015/utils/safe-html.pipe.js +18 -0
  117. package/esm2015/utils/safe-url.pipe.js +33 -0
  118. package/esm2020/angular-ui.mjs +102 -102
  119. package/esm2020/angular-ui.module.mjs +183 -183
  120. package/esm2020/base-angular.mjs +127 -127
  121. package/esm2020/comment-other.component.mjs +31 -31
  122. package/esm2020/comment.component.mjs +20 -20
  123. package/esm2020/component-factory.mjs +25 -25
  124. package/esm2020/components/action-bar/action-bar-item-dropdown.component.mjs +31 -31
  125. package/esm2020/components/action-bar/action-bar-item.component.mjs +21 -21
  126. package/esm2020/components/action-bar/action-bar.component.mjs +42 -42
  127. package/esm2020/components/action-bar/action.component.mjs +26 -26
  128. package/esm2020/components/brand-info/brand-info.component.mjs +12 -12
  129. package/esm2020/components/dropdown/dropdown.component.mjs +65 -65
  130. package/esm2020/components/element-header/element-header.component.mjs +31 -31
  131. package/esm2020/components/element-title/dynamic-head.component.mjs +19 -19
  132. package/esm2020/components/element-title/element-title.component.mjs +16 -16
  133. package/esm2020/components/element-title/title-actions.component.mjs +16 -16
  134. package/esm2020/components/list/list-item.component.mjs +47 -47
  135. package/esm2020/components/list/list.component.mjs +49 -49
  136. package/esm2020/components/matrix-actions/detail-button/detail-button.component.mjs +24 -24
  137. package/esm2020/components/matrix-actions/drag-drop-icon/drag-drop-icon.mjs +19 -19
  138. package/esm2020/components/matrix-actions/remove-button/remove-button.component.mjs +24 -24
  139. package/esm2020/components/notifier/notifier.component.mjs +21 -21
  140. package/esm2020/components/paneldynamic-actions/paneldynamic-add-btn.component.mjs +34 -34
  141. package/esm2020/components/paneldynamic-actions/paneldynamic-next-btn.component.mjs +17 -17
  142. package/esm2020/components/paneldynamic-actions/paneldynamic-prev-btn.component.mjs +17 -17
  143. package/esm2020/components/paneldynamic-actions/paneldynamic-progress-text.component.mjs +13 -13
  144. package/esm2020/components/paneldynamic-actions/paneldynamic-remove-btn.component.mjs +16 -16
  145. package/esm2020/components/popup/modal-container.component.mjs +41 -41
  146. package/esm2020/components/popup/popup-container.component.mjs +55 -55
  147. package/esm2020/components/popup/popup-pointer.component.mjs +21 -21
  148. package/esm2020/components/popup/popup.component.mjs +42 -42
  149. package/esm2020/components/popup/popup.service.mjs +25 -25
  150. package/esm2020/components/progress/buttons/progress.component.mjs +66 -66
  151. package/esm2020/components/progress/default/progress.component.mjs +26 -26
  152. package/esm2020/components/renderAs/boolean-checkbox/boolean-checkbox.component.mjs +20 -20
  153. package/esm2020/components/renderAs/boolean-radio/boolean-radio-item.component.mjs +21 -21
  154. package/esm2020/components/renderAs/boolean-radio/boolean-radio.component.mjs +17 -17
  155. package/esm2020/components/renderAs/dropdown-select/dropdown-option-item.component.mjs +22 -22
  156. package/esm2020/components/renderAs/dropdown-select/dropdown-select.component.mjs +37 -37
  157. package/esm2020/components/renderAs/rating-dropdown/rating-dropdown.component.mjs +17 -17
  158. package/esm2020/components/skeleton/skeleton.component.mjs +15 -15
  159. package/esm2020/components/skeleton.component.mjs +14 -14
  160. package/esm2020/components/survey-actions/survey-nav-btn.component.mjs +21 -21
  161. package/esm2020/components/survey-header/logo-image.component.mjs +19 -19
  162. package/esm2020/components/survey-header/survey-header.component.mjs +29 -29
  163. package/esm2020/components/svg-icon/svg-icon.component.mjs +67 -67
  164. package/esm2020/components/tagbox/tagbox-filter.component.mjs +21 -21
  165. package/esm2020/components/tagbox/tagbox-item.component.mjs +26 -26
  166. package/esm2020/components/tagbox/tagbox.component.mjs +43 -43
  167. package/esm2020/components/timer-panel/timer-panel.component.mjs +31 -31
  168. package/esm2020/element.component.mjs +54 -54
  169. package/esm2020/embedded-view-content.component.mjs +23 -23
  170. package/esm2020/errors.component.mjs +57 -57
  171. package/esm2020/page.component.mjs +34 -34
  172. package/esm2020/panel.component.mjs +37 -37
  173. package/esm2020/popup.survey.component.mjs +43 -43
  174. package/esm2020/question.component.mjs +53 -53
  175. package/esm2020/question.mjs +32 -32
  176. package/esm2020/questions/boolean.component.mjs +19 -19
  177. package/esm2020/questions/button-group/button-group-item.component.mjs +28 -28
  178. package/esm2020/questions/button-group/button-group.component.mjs +13 -13
  179. package/esm2020/questions/checkbox-item.component.mjs +23 -23
  180. package/esm2020/questions/checkbox.component.mjs +16 -16
  181. package/esm2020/questions/comment.component.mjs +17 -17
  182. package/esm2020/questions/composite.component.mjs +20 -20
  183. package/esm2020/questions/custom.component.mjs +26 -26
  184. package/esm2020/questions/customwidget.component.mjs +50 -50
  185. package/esm2020/questions/dropdown.component.mjs +16 -16
  186. package/esm2020/questions/expression.component.mjs +16 -16
  187. package/esm2020/questions/file.component.mjs +24 -24
  188. package/esm2020/questions/html.component.mjs +24 -24
  189. package/esm2020/questions/image.component.mjs +25 -25
  190. package/esm2020/questions/imagepicker-item.component.mjs +47 -47
  191. package/esm2020/questions/imagepicker.component.mjs +28 -28
  192. package/esm2020/questions/matrix-row.component.mjs +26 -26
  193. package/esm2020/questions/matrix.component.mjs +35 -35
  194. package/esm2020/questions/matrixcell.component.mjs +89 -89
  195. package/esm2020/questions/matrixdropdown.component.mjs +15 -15
  196. package/esm2020/questions/matrixdynamic.component.mjs +16 -16
  197. package/esm2020/questions/matrixrequiredheader.component.mjs +23 -23
  198. package/esm2020/questions/matrixtable.component.mjs +30 -30
  199. package/esm2020/questions/multipletext.component.mjs +24 -24
  200. package/esm2020/questions/multipletextitem.component.mjs +22 -22
  201. package/esm2020/questions/paneldynamic.component.mjs +78 -78
  202. package/esm2020/questions/radiogroup-item.component.mjs +17 -17
  203. package/esm2020/questions/radiogroup.component.mjs +21 -21
  204. package/esm2020/questions/ranking-item.component.mjs +23 -23
  205. package/esm2020/questions/ranking.component.mjs +30 -30
  206. package/esm2020/questions/rating.component.mjs +22 -22
  207. package/esm2020/questions/selectbase-item.mjs +32 -32
  208. package/esm2020/questions/selectbase.component.mjs +49 -49
  209. package/esm2020/questions/signature.component.mjs +16 -16
  210. package/esm2020/questions/tagbox.component.mjs +16 -16
  211. package/esm2020/questions/text.component.mjs +15 -15
  212. package/esm2020/row.component.mjs +57 -57
  213. package/esm2020/string-editor.component.mjs +25 -25
  214. package/esm2020/string-viewer.component.mjs +36 -36
  215. package/esm2020/survey-angular-ui.mjs +4 -4
  216. package/esm2020/survey-content.component.mjs +68 -68
  217. package/esm2020/survey-string.component.mjs +16 -16
  218. package/esm2020/survey.component.mjs +31 -31
  219. package/esm2020/template-renderer.component.mjs +22 -22
  220. package/esm2020/utils/dynamic.directive.mjs +51 -51
  221. package/esm2020/utils/ng-key2click.directive.mjs +68 -68
  222. package/esm2020/utils/ng-show.directive.mjs +26 -26
  223. package/esm2020/utils/safe-html.pipe.mjs +17 -17
  224. package/esm2020/utils/safe-url.pipe.mjs +32 -32
  225. package/fesm2015/survey-angular-ui.js +3206 -0
  226. package/fesm2015/survey-angular-ui.js.map +1 -0
  227. package/fesm2015/survey-angular-ui.mjs +2864 -2864
  228. package/fesm2020/survey-angular-ui.mjs +2839 -2839
  229. package/package.json +6 -19
  230. package/utils/dynamic.directive.d.ts +3 -2
@@ -0,0 +1,33 @@
1
+ import { Component, Input } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../element-title/element-title.component";
4
+ import * as i2 from "../../survey-string.component";
5
+ import * as i3 from "@angular/common";
6
+ import * as i4 from "../../utils/dynamic.directive";
7
+ export class SurveyHeaderComponent {
8
+ constructor(viewContainerRef, changeDetectorRef) {
9
+ this.viewContainerRef = viewContainerRef;
10
+ this.changeDetectorRef = changeDetectorRef;
11
+ }
12
+ ngAfterViewInit() {
13
+ this.survey.afterRenderHeader(this.viewContainerRef.element.nativeElement);
14
+ this.survey.locLogo.onChanged = () => {
15
+ this.changeDetectorRef.detectChanges();
16
+ };
17
+ }
18
+ ngOnDestroy() {
19
+ this.survey.locLogo.onChanged = () => { };
20
+ }
21
+ }
22
+ SurveyHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SurveyHeaderComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
23
+ SurveyHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SurveyHeaderComponent, selector: "'[sv-ng-survey-header]'", inputs: { survey: "survey" }, ngImport: i0, template: "<div *ngIf=\"survey.isLogoBefore\" [class]=\"survey.logoClassNames\">\n <ng-template [component]=\"{ name: survey.getElementWrapperComponentName(survey, 'logo-image'), data: { data: survey.getElementWrapperComponentData(survey, 'logo-image') } }\"></ng-template>\n</div>\n<div\n *ngIf=\"survey.renderedHasTitle\"\n [class]=\"survey.css.headerText\"\n [style.maxWidth]=\"survey.titleMaxWidth\"\n>\n <sv-ng-element-title [element]=\"survey\"></sv-ng-element-title>\n <h5 *ngIf=\"survey.renderedHasDescription\" [class]=\"survey.css.description\" [model]=\"survey.locDescription\" sv-ng-string></h5>\n</div>\n\n<div *ngIf=\"survey.isLogoAfter\" [class]=\"survey.logoClassNames\">\n <ng-template [component]=\"{ name: survey.getElementWrapperComponentName(survey, 'logo-image'), data: { data: survey.getElementWrapperComponentData(survey, 'logo-image') } }\"></ng-template>\n</div>\n<div [class]=\"survey.css.headerClose\"></div>", components: [{ type: i1.ElementTitleComponent, selector: "sv-ng-element-title", inputs: ["element"] }, { type: i2.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SurveyHeaderComponent, decorators: [{
25
+ type: Component,
26
+ args: [{
27
+ selector: "'[sv-ng-survey-header]'",
28
+ templateUrl: "survey-header.component.html"
29
+ }]
30
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { survey: [{
31
+ type: Input
32
+ }] } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9zdXJ2ZXktaGVhZGVyL3N1cnZleS1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc3VydmV5LWhlYWRlci9zdXJ2ZXktaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0MsU0FBUyxFQUFFLEtBQUssRUFBK0IsTUFBTSxlQUFlLENBQUM7Ozs7OztBQU9oSCxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLFlBQW9CLGdCQUFrQyxFQUFVLGlCQUFvQztRQUFoRixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUFHLENBQUM7SUFDeEcsZUFBZTtRQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsR0FBRyxFQUFFO1lBQ25DLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6QyxDQUFDLENBQUM7SUFDSixDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQzs7bUhBWFUscUJBQXFCO3VHQUFyQixxQkFBcUIsNkZDUGxDLHM2QkFlNEM7NEZEUi9CLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxXQUFXLEVBQUUsOEJBQThCO2lCQUM1Qzt1SUFFVSxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFN1cnZleU1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCInW3N2LW5nLXN1cnZleS1oZWFkZXJdJ1wiLFxuICB0ZW1wbGF0ZVVybDogXCJzdXJ2ZXktaGVhZGVyLmNvbXBvbmVudC5odG1sXCJcbn0pXG5leHBvcnQgY2xhc3MgU3VydmV5SGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgc3VydmV5ITogU3VydmV5TW9kZWw7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1cnZleS5hZnRlclJlbmRlckhlYWRlcih0aGlzLnZpZXdDb250YWluZXJSZWYuZWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLnN1cnZleS5sb2NMb2dvLm9uQ2hhbmdlZCA9ICgpID0+IHtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH07XG4gIH1cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdXJ2ZXkubG9jTG9nby5vbkNoYW5nZWQgPSAoKSA9PiB7fTtcbiAgfVxufSIsIjxkaXYgKm5nSWY9XCJzdXJ2ZXkuaXNMb2dvQmVmb3JlXCIgW2NsYXNzXT1cInN1cnZleS5sb2dvQ2xhc3NOYW1lc1wiPlxuICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6IHN1cnZleS5nZXRFbGVtZW50V3JhcHBlckNvbXBvbmVudE5hbWUoc3VydmV5LCAnbG9nby1pbWFnZScpLCBkYXRhOiB7IGRhdGE6IHN1cnZleS5nZXRFbGVtZW50V3JhcHBlckNvbXBvbmVudERhdGEoc3VydmV5LCAnbG9nby1pbWFnZScpIH0gfVwiPjwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbjxkaXZcbiAgKm5nSWY9XCJzdXJ2ZXkucmVuZGVyZWRIYXNUaXRsZVwiXG4gIFtjbGFzc109XCJzdXJ2ZXkuY3NzLmhlYWRlclRleHRcIlxuICBbc3R5bGUubWF4V2lkdGhdPVwic3VydmV5LnRpdGxlTWF4V2lkdGhcIlxuPlxuICA8c3YtbmctZWxlbWVudC10aXRsZSBbZWxlbWVudF09XCJzdXJ2ZXlcIj48L3N2LW5nLWVsZW1lbnQtdGl0bGU+XG4gIDxoNSAqbmdJZj1cInN1cnZleS5yZW5kZXJlZEhhc0Rlc2NyaXB0aW9uXCIgW2NsYXNzXT1cInN1cnZleS5jc3MuZGVzY3JpcHRpb25cIiBbbW9kZWxdPVwic3VydmV5LmxvY0Rlc2NyaXB0aW9uXCIgc3Ytbmctc3RyaW5nPjwvaDU+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cInN1cnZleS5pc0xvZ29BZnRlclwiIFtjbGFzc109XCJzdXJ2ZXkubG9nb0NsYXNzTmFtZXNcIj5cbiAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPVwieyBuYW1lOiBzdXJ2ZXkuZ2V0RWxlbWVudFdyYXBwZXJDb21wb25lbnROYW1lKHN1cnZleSwgJ2xvZ28taW1hZ2UnKSwgZGF0YTogeyBkYXRhOiBzdXJ2ZXkuZ2V0RWxlbWVudFdyYXBwZXJDb21wb25lbnREYXRhKHN1cnZleSwgJ2xvZ28taW1hZ2UnKSB9IH1cIj48L25nLXRlbXBsYXRlPlxuPC9kaXY+XG48ZGl2IFtjbGFzc109XCJzdXJ2ZXkuY3NzLmhlYWRlckNsb3NlXCI+PC9kaXY+Il19
@@ -0,0 +1,68 @@
1
+ import { Component, HostBinding, Input } from "@angular/core";
2
+ import * as Survey from "survey-core";
3
+ import * as i0 from "@angular/core";
4
+ export class SvgIconComponent {
5
+ constructor(viewContaierRef) {
6
+ this.viewContaierRef = viewContaierRef;
7
+ }
8
+ createSvg() {
9
+ if (!!this.iconName) {
10
+ Survey.createSvg(this.size, this.width, this.height, this.iconName, this.viewContaierRef.element.nativeElement, this.title);
11
+ }
12
+ }
13
+ get rootClass() {
14
+ let className = "sv-svg-icon";
15
+ if (!this.css && !!this.partCss) {
16
+ className += " " + this.partCss;
17
+ }
18
+ else if (!!this.css) {
19
+ className = this.css;
20
+ }
21
+ return className;
22
+ }
23
+ get rootRole() {
24
+ return "img";
25
+ }
26
+ get ariaLabel() {
27
+ return this.title;
28
+ }
29
+ ngOnChanges() {
30
+ const el = this.viewContaierRef.element.nativeElement;
31
+ el.innerHTML = "";
32
+ el.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "use"));
33
+ this.createSvg();
34
+ }
35
+ }
36
+ SvgIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SvgIconComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
37
+ SvgIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: { size: "size", width: "width", height: "height", iconName: "iconName", partCss: "partCss", css: "css", title: "title" }, host: { properties: { "class": "this.rootClass", "[attr.role]": "this.rootRole", "[attr.aria-label]": "this.ariaLabel" } }, usesOnChanges: true, ngImport: i0, template: "", isInline: true });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SvgIconComponent, decorators: [{
39
+ type: Component,
40
+ args: [{
41
+ selector: "'[sv-ng-svg-icon]'",
42
+ template: ""
43
+ }]
44
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { size: [{
45
+ type: Input
46
+ }], width: [{
47
+ type: Input
48
+ }], height: [{
49
+ type: Input
50
+ }], iconName: [{
51
+ type: Input
52
+ }], partCss: [{
53
+ type: Input
54
+ }], css: [{
55
+ type: Input
56
+ }], title: [{
57
+ type: Input
58
+ }], rootClass: [{
59
+ type: HostBinding,
60
+ args: ["class"]
61
+ }], rootRole: [{
62
+ type: HostBinding,
63
+ args: ["[attr.role]"]
64
+ }], ariaLabel: [{
65
+ type: HostBinding,
66
+ args: ["[attr.aria-label]"]
67
+ }] } });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc3ZnLWljb24vc3ZnLWljb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBK0IsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxLQUFLLE1BQU0sTUFBTSxhQUFhLENBQUM7O0FBTXRDLE1BQU0sT0FBTyxnQkFBZ0I7SUFRM0IsWUFBb0IsZUFBaUM7UUFBakMsb0JBQWUsR0FBZixlQUFlLENBQWtCO0lBQ3JELENBQUM7SUFDTyxTQUFTO1FBQ2YsSUFBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixNQUFjLENBQUMsU0FBUyxDQUN2QixJQUFJLENBQUMsSUFBSSxFQUNULElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFDMUMsSUFBSSxDQUFDLEtBQUssQ0FDWCxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBQ0QsSUFBMEIsU0FBUztRQUNqQyxJQUFJLFNBQVMsR0FBRyxhQUFhLENBQUM7UUFDOUIsSUFBRyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDOUIsU0FBUyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ2pDO2FBQU0sSUFBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNwQixTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztTQUN0QjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFnQyxRQUFRO1FBQ3RDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELElBQXNDLFNBQVM7UUFDN0MsT0FBZSxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFDRCxXQUFXO1FBQ1QsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQ3RELEVBQUUsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyw0QkFBNEIsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDOzs4R0ExQ1UsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsNlVBRmpCLEVBQUU7NEZBRUQsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSxFQUFFO2lCQUNiO3VHQUVVLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBZW9CLFNBQVM7c0JBQWxDLFdBQVc7dUJBQUMsT0FBTztnQkFTWSxRQUFRO3NCQUF2QyxXQUFXO3VCQUFDLGFBQWE7Z0JBR1ksU0FBUztzQkFBOUMsV0FBVzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25DaGFuZ2VzLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCAqIGFzIFN1cnZleSBmcm9tIFwic3VydmV5LWNvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIidbc3Ytbmctc3ZnLWljb25dJ1wiLFxuICB0ZW1wbGF0ZTogXCJcIlxufSlcbmV4cG9ydCBjbGFzcyBTdmdJY29uQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgc2l6ZT86IG51bWJlciB8IHN0cmluZztcbiAgQElucHV0KCkgd2lkdGg/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGhlaWdodD86IG51bWJlcjtcbiAgQElucHV0KCkgaWNvbk5hbWUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBhcnRDc3M/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNzcz86IHN0cmluZztcbiAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaWVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gIH1cbiAgcHJpdmF0ZSBjcmVhdGVTdmcoKSB7XG4gICAgaWYoISF0aGlzLmljb25OYW1lKSB7XG4gICAgICAoU3VydmV5IGFzIGFueSkuY3JlYXRlU3ZnKFxuICAgICAgICB0aGlzLnNpemUsXG4gICAgICAgIHRoaXMud2lkdGgsXG4gICAgICAgIHRoaXMuaGVpZ2h0LFxuICAgICAgICB0aGlzLmljb25OYW1lLFxuICAgICAgICB0aGlzLnZpZXdDb250YWllclJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIHRoaXMudGl0bGVcbiAgICAgICk7XG4gICAgfVxuICB9XG4gIEBIb3N0QmluZGluZyhcImNsYXNzXCIpIGdldCByb290Q2xhc3MoKTogc3RyaW5nIHtcbiAgICBsZXQgY2xhc3NOYW1lID0gXCJzdi1zdmctaWNvblwiO1xuICAgIGlmKCF0aGlzLmNzcyAmJiAhIXRoaXMucGFydENzcykge1xuICAgICAgY2xhc3NOYW1lICs9IFwiIFwiICsgdGhpcy5wYXJ0Q3NzO1xuICAgIH0gZWxzZSBpZighIXRoaXMuY3NzKSB7XG4gICAgICBjbGFzc05hbWUgPSB0aGlzLmNzcztcbiAgICB9XG4gICAgcmV0dXJuIGNsYXNzTmFtZTtcbiAgfVxuICBASG9zdEJpbmRpbmcoXCJbYXR0ci5yb2xlXVwiKSBnZXQgcm9vdFJvbGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gXCJpbWdcIjtcbiAgfVxuICBASG9zdEJpbmRpbmcoXCJbYXR0ci5hcmlhLWxhYmVsXVwiKSBnZXQgYXJpYUxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIDxzdHJpbmc+dGhpcy50aXRsZTtcbiAgfVxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBjb25zdCBlbCA9IHRoaXMudmlld0NvbnRhaWVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICBlbC5pbm5lckhUTUwgPSBcIlwiO1xuICAgIGVsLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsIFwidXNlXCIpKTtcbiAgICB0aGlzLmNyZWF0ZVN2ZygpO1xuICB9XG59Il19
@@ -0,0 +1,26 @@
1
+ import { Component, Input } from "@angular/core";
2
+ import { BaseAngular } from "../../base-angular";
3
+ import { AngularComponentFactory } from "../../component-factory";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/forms";
6
+ export class TagboxFilterComponent extends BaseAngular {
7
+ getModel() {
8
+ return this.model;
9
+ }
10
+ }
11
+ TagboxFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TagboxFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
12
+ TagboxFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TagboxFilterComponent, selector: "sv-tagbox-filter", inputs: { model: "model", question: "question" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <input\n type=\"text\"\n autocomplete=\"off\"\n [(ngModel)]=\"model.filterString\"\n [attr.id]=\"question.getInputId()\"\n [class]=\"question.cssClasses.filterStringInput\"\n [attr.inputmode]=\"model.inputMode\"\n [attr.role]=\"model.filterStringEnabled ? question.ariaRole : null\"\n [attr.readonly]=\"!model.searchEnabled ? true : null\"\n [attr.disabled]=\"question.isInputReadOnly ? true : null\"\n [attr.size]=\"!model.filterString ? 1 : null\"\n [attr.aria-label]=\"question.placeholder\"\n [attr.placeholder]=\"model.filterStringPlaceholder\"\n (keydown)=\"model.inputKeyHandler($event)\"\n (blur)=\"model.onBlur($event)\"\n />\n</ng-template>\n", styles: [":host{display:none}\n"], directives: [{ type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TagboxFilterComponent, decorators: [{
14
+ type: Component,
15
+ args: [{
16
+ selector: "sv-tagbox-filter",
17
+ templateUrl: "./tagbox-filter.component.html",
18
+ styleUrls: ["../../hide-host.scss"]
19
+ }]
20
+ }], propDecorators: { model: [{
21
+ type: Input
22
+ }], question: [{
23
+ type: Input
24
+ }] } });
25
+ AngularComponentFactory.Instance.registerComponent("sv-tagbox-filter", TagboxFilterComponent);
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnYm94LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy90YWdib3gvdGFnYm94LWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy90YWdib3gvdGFnYm94LWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQU9sRSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsV0FBVztJQUlwRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7O21IQU5VLHFCQUFxQjt1R0FBckIscUJBQXFCLGlJQ1ZsQyxvdEJBa0JBOzRGRFJhLHFCQUFxQjtrQkFMakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixXQUFXLEVBQUUsZ0NBQWdDO29CQUM3QyxTQUFTLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDcEM7OEJBRVUsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7O0FBT1IsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixFQUFFLHFCQUFxQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERyb3Bkb3duTXVsdGlTZWxlY3RMaXN0TW9kZWwsIFF1ZXN0aW9uVGFnYm94TW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4uLy4uL2Jhc2UtYW5ndWxhclwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnkgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50LWZhY3RvcnlcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LXRhZ2JveC1maWx0ZXJcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90YWdib3gtZmlsdGVyLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi4vLi4vaGlkZS1ob3N0LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgVGFnYm94RmlsdGVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXIge1xuICBASW5wdXQoKSBtb2RlbCE6IERyb3Bkb3duTXVsdGlTZWxlY3RMaXN0TW9kZWw7XG4gIEBJbnB1dCgpIHF1ZXN0aW9uITogUXVlc3Rpb25UYWdib3hNb2RlbDtcblxuICBnZXRNb2RlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxufVxuXG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInN2LXRhZ2JveC1maWx0ZXJcIiwgVGFnYm94RmlsdGVyQ29tcG9uZW50KTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8aW5wdXRcbiAgICB0eXBlPVwidGV4dFwiXG4gICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLmZpbHRlclN0cmluZ1wiXG4gICAgW2F0dHIuaWRdPVwicXVlc3Rpb24uZ2V0SW5wdXRJZCgpXCJcbiAgICBbY2xhc3NdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5maWx0ZXJTdHJpbmdJbnB1dFwiXG4gICAgW2F0dHIuaW5wdXRtb2RlXT1cIm1vZGVsLmlucHV0TW9kZVwiXG4gICAgW2F0dHIucm9sZV09XCJtb2RlbC5maWx0ZXJTdHJpbmdFbmFibGVkID8gcXVlc3Rpb24uYXJpYVJvbGUgOiBudWxsXCJcbiAgICBbYXR0ci5yZWFkb25seV09XCIhbW9kZWwuc2VhcmNoRW5hYmxlZCA/IHRydWUgOiBudWxsXCJcbiAgICBbYXR0ci5kaXNhYmxlZF09XCJxdWVzdGlvbi5pc0lucHV0UmVhZE9ubHkgPyB0cnVlIDogbnVsbFwiXG4gICAgW2F0dHIuc2l6ZV09XCIhbW9kZWwuZmlsdGVyU3RyaW5nID8gMSA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicXVlc3Rpb24ucGxhY2Vob2xkZXJcIlxuICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cIm1vZGVsLmZpbHRlclN0cmluZ1BsYWNlaG9sZGVyXCJcbiAgICAoa2V5ZG93bik9XCJtb2RlbC5pbnB1dEtleUhhbmRsZXIoJGV2ZW50KVwiXG4gICAgKGJsdXIpPVwibW9kZWwub25CbHVyKCRldmVudClcIlxuICAvPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,30 @@
1
+ import { Component, Input } from "@angular/core";
2
+ import { BaseAngular } from "../../base-angular";
3
+ import { AngularComponentFactory } from "../../component-factory";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../survey-string.component";
6
+ import * as i2 from "../svg-icon/svg-icon.component";
7
+ export class TagboxItemComponent extends BaseAngular {
8
+ removeItem(event) {
9
+ this.question.dropdownListModel.deselectItem(this.item.value);
10
+ event.stopPropagation();
11
+ }
12
+ getModel() {
13
+ return this.item;
14
+ }
15
+ }
16
+ TagboxItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TagboxItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
17
+ TagboxItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TagboxItemComponent, selector: "sv-ng-tagbox-item, '[sv-ng-tagbox-item]'", inputs: { item: "item", question: "question" }, usesInheritance: true, ngImport: i0, template: "<div class=\"sv-tagbox__item\">\n <div class=\"sv-tagbox__item-text\" [model]=\"item.locText\" sv-ng-string></div> \n <div [class]=\"question.cssClasses.cleanItemButton\" (click)=\"removeItem($event)\">\n <svg [iconName]=\"question.cssClasses.cleanItemButtonIconId\" [partCss]=\"question.cssClasses.cleanItemButtonSvg\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n</div>", components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i2.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }] });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TagboxItemComponent, decorators: [{
19
+ type: Component,
20
+ args: [{
21
+ selector: "sv-ng-tagbox-item, '[sv-ng-tagbox-item]'",
22
+ templateUrl: "./tagbox-item.component.html",
23
+ }]
24
+ }], propDecorators: { item: [{
25
+ type: Input
26
+ }], question: [{
27
+ type: Input
28
+ }] } });
29
+ AngularComponentFactory.Instance.registerComponent("sv-tagbox-item", TagboxItemComponent);
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnYm94LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdGFnYm94L3RhZ2JveC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3RhZ2JveC90YWdib3gtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFNbEUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFdBQVc7SUFJbEQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5RCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQzs7aUhBWFUsbUJBQW1CO3FHQUFuQixtQkFBbUIsdUpDVGhDLGlZQUtNOzRGRElPLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMENBQTBDO29CQUNwRCxXQUFXLEVBQUUsOEJBQThCO2lCQUM1Qzs4QkFFVSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSzs7QUFZUix1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSXRlbVZhbHVlLCBRdWVzdGlvblRhZ2JveE1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuLi8uLi9iYXNlLWFuZ3VsYXJcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy10YWdib3gtaXRlbSwgJ1tzdi1uZy10YWdib3gtaXRlbV0nXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vdGFnYm94LWl0ZW0uY29tcG9uZW50Lmh0bWxcIixcbn0pXG5leHBvcnQgY2xhc3MgVGFnYm94SXRlbUNvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyIHtcbiAgQElucHV0KCkgaXRlbSE6IEl0ZW1WYWx1ZTtcbiAgQElucHV0KCkgcXVlc3Rpb24hOiBRdWVzdGlvblRhZ2JveE1vZGVsO1xuXG4gIHJlbW92ZUl0ZW0oZXZlbnQ6IGFueSkge1xuICAgIHRoaXMucXVlc3Rpb24uZHJvcGRvd25MaXN0TW9kZWwuZGVzZWxlY3RJdGVtKHRoaXMuaXRlbS52YWx1ZSk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBnZXRNb2RlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtO1xuICB9XG59XG5cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwic3YtdGFnYm94LWl0ZW1cIiwgVGFnYm94SXRlbUNvbXBvbmVudCk7IiwiPGRpdiBjbGFzcz1cInN2LXRhZ2JveF9faXRlbVwiPlxuICA8ZGl2IGNsYXNzPVwic3YtdGFnYm94X19pdGVtLXRleHRcIiBbbW9kZWxdPVwiaXRlbS5sb2NUZXh0XCIgc3Ytbmctc3RyaW5nPjwvZGl2PiAgXG4gIDxkaXYgW2NsYXNzXT1cInF1ZXN0aW9uLmNzc0NsYXNzZXMuY2xlYW5JdGVtQnV0dG9uXCIgKGNsaWNrKT1cInJlbW92ZUl0ZW0oJGV2ZW50KVwiPlxuICAgIDxzdmcgW2ljb25OYW1lXT1cInF1ZXN0aW9uLmNzc0NsYXNzZXMuY2xlYW5JdGVtQnV0dG9uSWNvbklkXCIgW3BhcnRDc3NdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5jbGVhbkl0ZW1CdXR0b25TdmdcIiBbc2l6ZV09XCInYXV0bydcIiBzdi1uZy1zdmctaWNvbj48L3N2Zz5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
@@ -0,0 +1,52 @@
1
+ import { Component, Input } from "@angular/core";
2
+ import { DropdownMultiSelectListModel } from "survey-core";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./tagbox-item.component";
5
+ import * as i2 from "../svg-icon/svg-icon.component";
6
+ import * as i3 from "../popup/popup.component";
7
+ import * as i4 from "@angular/common";
8
+ import * as i5 from "../../utils/dynamic.directive";
9
+ import * as i6 from "../../utils/ng-show.directive";
10
+ export class TagboxComponent {
11
+ get dropdownModel() {
12
+ return this.dropdownListModel;
13
+ }
14
+ getModel() {
15
+ return this.model;
16
+ }
17
+ ngOnInit() {
18
+ this.dropdownListModel = this.model.dropdownListModel || new DropdownMultiSelectListModel(this.model);
19
+ }
20
+ ngOnDestroy() {
21
+ var _a;
22
+ (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.dispose();
23
+ }
24
+ click(event) {
25
+ var _a;
26
+ (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.onClick(event);
27
+ }
28
+ clear(event) {
29
+ var _a;
30
+ (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.onClear(event);
31
+ }
32
+ keyhandler(event) {
33
+ var _a;
34
+ (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.keyHandler(event);
35
+ }
36
+ blur(event) {
37
+ var _a;
38
+ (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.onBlur(event);
39
+ }
40
+ }
41
+ TagboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TagboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
42
+ TagboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TagboxComponent, selector: "sv-ng-tagbox, '[sv-ng-tagbox]'", inputs: { model: "model" }, ngImport: i0, template: "<div [class]=\"model.cssClasses.selectWrapper\">\n <div *ngIf=\"!model.isReadOnly\" [attr.tabindex]=\"dropdownModel.inputReadOnly ? null : 0\" [class]=\"model.getControlClass()\"\n [attr.disabled]=\"model.isInputReadOnly ? true : null\" (click)=\"click($event)\" (blur)=\"blur($event)\"\n (keydown)=\"keyhandler($event)\" [attr.id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.role]=\"model.ariaRole\">\n <div [class]=\"model.cssClasses.controlValue\">\n <ng-container *ngIf=\"!model.isEmpty()\">\n <sv-ng-tagbox-item *ngFor=\"let item of model.selectedChoices\" [item]=\"item\" [question]=\"model\">\n </sv-ng-tagbox-item>\n </ng-container>\n <ng-template [component]=\"{ name: 'sv-tagbox-filter', data: { model: dropdownModel, question: model } }\"></ng-template>\n </div>\n <div *ngIf=\"(model.allowClear && model.cssClasses.cleanButtonIconId)\" [class]=\"model.cssClasses.cleanButton\"\n (click)=\"clear($event)\" [visible]=\"!model.isEmpty()\">\n <!-- ko component: { name: 'sv-svg-icon', params: { css: model.cssClasses.cleanButtonSvg, iconName: model.cssClasses.cleanButtonIconId, size: 'auto' } } -->\n <!-- /ko -->\n <svg [iconName]=\"model.cssClasses.cleanButtonIconId\" [partCss]=\"model.cssClasses.cleanButtonSvg\" [title]=\"model.clearCaption\"\n [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <sv-ng-popup *ngIf=\"!model.isReadOnly\" [popupModel]=\"model.popupModel\"></sv-ng-popup>\n <div disabled *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">\n <div>{{ model.readOnlyText }}</div>\n </div>\n</div>", components: [{ type: i1.TagboxItemComponent, selector: "sv-ng-tagbox-item, '[sv-ng-tagbox-item]'", inputs: ["item", "question"] }, { type: i2.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i3.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i6.VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TagboxComponent, decorators: [{
44
+ type: Component,
45
+ args: [{
46
+ selector: "sv-ng-tagbox, '[sv-ng-tagbox]'",
47
+ templateUrl: "./tagbox.component.html"
48
+ }]
49
+ }], propDecorators: { model: [{
50
+ type: Input
51
+ }] } });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3RhZ2JveC90YWdib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdGFnYm94L3RhZ2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7OztBQU0zRCxNQUFNLE9BQU8sZUFBZTtJQUl4QixJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixJQUFJLElBQUksNEJBQTRCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hHLENBQUM7SUFFRCxXQUFXOztRQUNULE1BQUEsSUFBSSxDQUFDLGlCQUFpQiwwQ0FBRSxPQUFPLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQVU7O1FBQ2QsTUFBQSxJQUFJLENBQUMsaUJBQWlCLDBDQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsS0FBSyxDQUFDLEtBQVU7O1FBQ2QsTUFBQSxJQUFJLENBQUMsaUJBQWlCLDBDQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsVUFBVSxDQUFDLEtBQVU7O1FBQ25CLE1BQUEsSUFBSSxDQUFDLGlCQUFpQiwwQ0FBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNELElBQUksQ0FBQyxLQUFVOztRQUNiLE1BQUEsSUFBSSxDQUFDLGlCQUFpQiwwQ0FBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7NkdBL0JRLGVBQWU7aUdBQWYsZUFBZSxrR0NQNUIsMjREQXlCTTs0RkRsQk8sZUFBZTtrQkFKM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0NBQWdDO29CQUMxQyxXQUFXLEVBQUUseUJBQXlCO2lCQUN2Qzs4QkFFWSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBEcm9wZG93bk11bHRpU2VsZWN0TGlzdE1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy10YWdib3gsICdbc3YtbmctdGFnYm94XSdcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90YWdib3guY29tcG9uZW50Lmh0bWxcIlxufSlcbmV4cG9ydCBjbGFzcyBUYWdib3hDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gICAgQElucHV0KCkgbW9kZWw6IGFueTtcbiAgICBwcml2YXRlIGRyb3Bkb3duTGlzdE1vZGVsITogRHJvcGRvd25NdWx0aVNlbGVjdExpc3RNb2RlbDtcblxuICAgIGdldCBkcm9wZG93bk1vZGVsKCk6IERyb3Bkb3duTXVsdGlTZWxlY3RMaXN0TW9kZWwge1xuICAgICAgcmV0dXJuIHRoaXMuZHJvcGRvd25MaXN0TW9kZWw7XG4gICAgfVxuXG4gICAgZ2V0TW9kZWwoKSB7XG4gICAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0TW9kZWwgPSB0aGlzLm1vZGVsLmRyb3Bkb3duTGlzdE1vZGVsIHx8IG5ldyBEcm9wZG93bk11bHRpU2VsZWN0TGlzdE1vZGVsKHRoaXMubW9kZWwpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgdGhpcy5kcm9wZG93bkxpc3RNb2RlbD8uZGlzcG9zZSgpO1xuICAgIH1cblxuICAgIGNsaWNrKGV2ZW50OiBhbnkpIHtcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0TW9kZWw/Lm9uQ2xpY2soZXZlbnQpO1xuICAgIH1cbiAgICBjbGVhcihldmVudDogYW55KSB7XG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdE1vZGVsPy5vbkNsZWFyKGV2ZW50KTtcbiAgICB9XG4gICAga2V5aGFuZGxlcihldmVudDogYW55KSB7XG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdE1vZGVsPy5rZXlIYW5kbGVyKGV2ZW50KTtcbiAgICB9XG4gICAgYmx1cihldmVudDogYW55KSB7XG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdE1vZGVsPy5vbkJsdXIoZXZlbnQpO1xuICAgIH1cbn0iLCI8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnNlbGVjdFdyYXBwZXJcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiIW1vZGVsLmlzUmVhZE9ubHlcIiBbYXR0ci50YWJpbmRleF09XCJkcm9wZG93bk1vZGVsLmlucHV0UmVhZE9ubHkgPyBudWxsIDogMFwiIFtjbGFzc109XCJtb2RlbC5nZXRDb250cm9sQ2xhc3MoKVwiXG4gICAgICAgIFthdHRyLmRpc2FibGVkXT1cIm1vZGVsLmlzSW5wdXRSZWFkT25seSA/IHRydWUgOiBudWxsXCIgKGNsaWNrKT1cImNsaWNrKCRldmVudClcIiAoYmx1cik9XCJibHVyKCRldmVudClcIlxuICAgICAgICAoa2V5ZG93bik9XCJrZXloYW5kbGVyKCRldmVudClcIiBbYXR0ci5pZF09XCJtb2RlbC5pbnB1dElkXCIgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJtb2RlbC5hcmlhUmVxdWlyZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIm1vZGVsLmFyaWFMYWJlbFwiIFthdHRyLmFyaWEtaW52YWxpZF09XCJtb2RlbC5hcmlhSW52YWxpZFwiXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwibW9kZWwuYXJpYURlc2NyaWJlZEJ5XCIgW2F0dHIucm9sZV09XCJtb2RlbC5hcmlhUm9sZVwiPlxuICAgICAgICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmNvbnRyb2xWYWx1ZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtb2RlbC5pc0VtcHR5KClcIj5cbiAgICAgICAgICAgICAgICA8c3YtbmctdGFnYm94LWl0ZW0gKm5nRm9yPVwibGV0IGl0ZW0gb2YgbW9kZWwuc2VsZWN0ZWRDaG9pY2VzXCIgW2l0ZW1dPVwiaXRlbVwiIFtxdWVzdGlvbl09XCJtb2RlbFwiPlxuICAgICAgICAgICAgICAgIDwvc3YtbmctdGFnYm94LWl0ZW0+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogJ3N2LXRhZ2JveC1maWx0ZXInLCBkYXRhOiB7IG1vZGVsOiBkcm9wZG93bk1vZGVsLCBxdWVzdGlvbjogbW9kZWwgfSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIobW9kZWwuYWxsb3dDbGVhciAmJiBtb2RlbC5jc3NDbGFzc2VzLmNsZWFuQnV0dG9uSWNvbklkKVwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmNsZWFuQnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGVhcigkZXZlbnQpXCIgW3Zpc2libGVdPVwiIW1vZGVsLmlzRW1wdHkoKVwiPlxuICAgICAgICAgICAgPCEtLSBrbyBjb21wb25lbnQ6IHsgbmFtZTogJ3N2LXN2Zy1pY29uJywgcGFyYW1zOiB7IGNzczogbW9kZWwuY3NzQ2xhc3Nlcy5jbGVhbkJ1dHRvblN2ZywgaWNvbk5hbWU6IG1vZGVsLmNzc0NsYXNzZXMuY2xlYW5CdXR0b25JY29uSWQsIHNpemU6ICdhdXRvJyB9IH0gLS0+XG4gICAgICAgICAgICA8IS0tIC9rbyAtLT5cbiAgICAgICAgICAgIDxzdmcgW2ljb25OYW1lXT1cIm1vZGVsLmNzc0NsYXNzZXMuY2xlYW5CdXR0b25JY29uSWRcIiBbcGFydENzc109XCJtb2RlbC5jc3NDbGFzc2VzLmNsZWFuQnV0dG9uU3ZnXCIgW3RpdGxlXT1cIm1vZGVsLmNsZWFyQ2FwdGlvblwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwiJ2F1dG8nXCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxzdi1uZy1wb3B1cCAqbmdJZj1cIiFtb2RlbC5pc1JlYWRPbmx5XCIgW3BvcHVwTW9kZWxdPVwibW9kZWwucG9wdXBNb2RlbFwiPjwvc3YtbmctcG9wdXA+XG4gICAgPGRpdiBkaXNhYmxlZCAqbmdJZj1cIm1vZGVsLmlzUmVhZE9ubHlcIiBbY2xhc3NdPVwibW9kZWwuZ2V0Q29udHJvbENsYXNzKClcIiBbYXR0ci5pZF09XCJtb2RlbC5pbnB1dElkXCI+XG4gICAgICAgIDxkaXY+e3sgbW9kZWwucmVhZE9ubHlUZXh0IH19PC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
@@ -0,0 +1,35 @@
1
+ import { Component, Input } from "@angular/core";
2
+ import { BaseAngular } from "../../base-angular";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../svg-icon/svg-icon.component";
5
+ import * as i2 from "@angular/common";
6
+ export class TimerPanelComponent extends BaseAngular {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.circleLengthValue = 440;
10
+ }
11
+ getStateElement() {
12
+ return this.model;
13
+ }
14
+ getModel() {
15
+ return this.model;
16
+ }
17
+ get circleLength() {
18
+ return this.circleLengthValue;
19
+ }
20
+ get progress() {
21
+ return -this.model.progress * this.circleLength;
22
+ }
23
+ }
24
+ TimerPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimerPanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
25
+ TimerPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TimerPanelComponent, selector: "sv-timer-panel", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"model.showTimerAsClock\" [class]=\"model.rootCss\">\n <svg *ngIf=\"model.showProgress\" [class]=\"model.getProgressCss()\" [style.stroke-dasharray]=\"circleLength\" [style.stroke-dashoffset]=\"progress\" [size]=\"'auto'\" [iconName]=\"'icon-timercircle'\" sv-ng-svg-icon></svg>\n <div [class]=\"model.textContainerCss\">\n <span [class]=\"model.majorTextCss\">{{ model.clockMajorText }}</span>\n <span *ngIf=\"model.clockMinorText\" [class]=\"model.minorTextCss\">{{ model.clockMinorText }}</span>\n </div>\n</div>\n<div *ngIf=\"!model.showTimerAsClock\" [class]='model.survey.getCss().timerRoot'>{{model.text}}</div>", components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimerPanelComponent, decorators: [{
27
+ type: Component,
28
+ args: [{
29
+ selector: "sv-timer-panel",
30
+ templateUrl: "./timer-panel.component.html",
31
+ }]
32
+ }], propDecorators: { model: [{
33
+ type: Input
34
+ }] } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXItcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdGltZXItcGFuZWwvdGltZXItcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdGltZXItcGFuZWwvdGltZXItcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBU2pELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxXQUE2QjtJQVB0RTs7UUFTbUIsc0JBQWlCLEdBQUcsR0FBRyxDQUFDO0tBYzFDO0lBWlcsZUFBZTtRQUN2QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNTLFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQVcsUUFBUTtRQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUNsRCxDQUFDOztpSEFmVSxtQkFBbUI7cUdBQW5CLG1CQUFtQix5R0NYaEMsK29CQU9tRzs0RkRJdEYsbUJBQW1CO2tCQVAvQixTQUFTO21CQUNSO29CQUNFLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFdBQVcsRUFBRSw4QkFBOEI7aUJBQzVDOzhCQUlRLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQmFzZSwgU3VydmV5VGltZXJNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQmFzZUFuZ3VsYXIgfSBmcm9tIFwiLi4vLi4vYmFzZS1hbmd1bGFyXCI7XG5cbkBDb21wb25lbnQoXG4gIHtcbiAgICBzZWxlY3RvcjogXCJzdi10aW1lci1wYW5lbFwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vdGltZXItcGFuZWwuY29tcG9uZW50Lmh0bWxcIixcbiAgfVxuKVxuXG5leHBvcnQgY2xhc3MgVGltZXJQYW5lbENvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyPFN1cnZleVRpbWVyTW9kZWw+IHtcbiAgQElucHV0KCkgbW9kZWwhOiBTdXJ2ZXlUaW1lck1vZGVsO1xuICBwcml2YXRlIHJlYWRvbmx5IGNpcmNsZUxlbmd0aFZhbHVlID0gNDQwO1xuXG4gIHByb3RlY3RlZCBnZXRTdGF0ZUVsZW1lbnQoKTogQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWw7XG4gIH1cbiAgcHJvdGVjdGVkIGdldE1vZGVsKCk6IFN1cnZleVRpbWVyTW9kZWwge1xuICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICB9XG4gIHB1YmxpYyBnZXQgY2lyY2xlTGVuZ3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY2lyY2xlTGVuZ3RoVmFsdWU7XG4gIH1cbiAgcHVibGljIGdldCBwcm9ncmVzcygpOiBudW1iZXIge1xuICAgIHJldHVybiAtdGhpcy5tb2RlbC5wcm9ncmVzcyAqIHRoaXMuY2lyY2xlTGVuZ3RoO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwibW9kZWwuc2hvd1RpbWVyQXNDbG9ja1wiIFtjbGFzc109XCJtb2RlbC5yb290Q3NzXCI+XG4gICAgPHN2ZyAqbmdJZj1cIm1vZGVsLnNob3dQcm9ncmVzc1wiIFtjbGFzc109XCJtb2RlbC5nZXRQcm9ncmVzc0NzcygpXCIgW3N0eWxlLnN0cm9rZS1kYXNoYXJyYXldPVwiY2lyY2xlTGVuZ3RoXCIgW3N0eWxlLnN0cm9rZS1kYXNob2Zmc2V0XT1cInByb2dyZXNzXCIgW3NpemVdPVwiJ2F1dG8nXCIgW2ljb25OYW1lXT1cIidpY29uLXRpbWVyY2lyY2xlJ1wiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuICAgIDxkaXYgW2NsYXNzXT1cIm1vZGVsLnRleHRDb250YWluZXJDc3NcIj5cbiAgICAgICAgPHNwYW4gW2NsYXNzXT1cIm1vZGVsLm1ham9yVGV4dENzc1wiPnt7IG1vZGVsLmNsb2NrTWFqb3JUZXh0IH19PC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIm1vZGVsLmNsb2NrTWlub3JUZXh0XCIgW2NsYXNzXT1cIm1vZGVsLm1pbm9yVGV4dENzc1wiPnt7IG1vZGVsLmNsb2NrTWlub3JUZXh0IH19PC9zcGFuPlxuICAgIDwvZGl2PlxuPC9kaXY+XG48ZGl2ICpuZ0lmPVwiIW1vZGVsLnNob3dUaW1lckFzQ2xvY2tcIiBbY2xhc3NdPSdtb2RlbC5zdXJ2ZXkuZ2V0Q3NzKCkudGltZXJSb290Jz57e21vZGVsLnRleHR9fTwvZGl2PiJdfQ==
@@ -0,0 +1,59 @@
1
+ import { Component, Input } from "@angular/core";
2
+ import { BaseAngular } from "./base-angular";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "./utils/dynamic.directive";
6
+ export class ElementComponent extends BaseAngular {
7
+ getModel() {
8
+ return this.model;
9
+ }
10
+ get elementComponentName() {
11
+ return this.model.isPanel ? "panel" : "question";
12
+ }
13
+ get componentName() {
14
+ const survey = this.surveyModel;
15
+ if (!!survey) {
16
+ const name = survey.getElementWrapperComponentName(this.model);
17
+ if (!!name) {
18
+ return name;
19
+ }
20
+ }
21
+ return this.elementComponentName;
22
+ }
23
+ get rootStyle() {
24
+ //use this if to check if cssClassses are calculated and allowRootStyle flag was set
25
+ if (!!this.model.cssClasses) {
26
+ return this.model.rootStyle;
27
+ }
28
+ else {
29
+ return {};
30
+ }
31
+ }
32
+ get componentData() {
33
+ const survey = this.surveyModel;
34
+ let data;
35
+ if (!!survey) {
36
+ data = survey.getElementWrapperComponentData(this.model);
37
+ }
38
+ return {
39
+ componentName: this.elementComponentName,
40
+ componentData: {
41
+ model: this.model,
42
+ data: data
43
+ }
44
+ };
45
+ }
46
+ }
47
+ ElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ElementComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
48
+ ElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ElementComponent, selector: "sv-ng-element", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"!!model\" [class]=\"model.cssClasses.questionWrapper\" [style]=\"rootStyle\" (focusin)=\"model.focusIn()\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ElementComponent, decorators: [{
50
+ type: Component,
51
+ args: [{
52
+ selector: "sv-ng-element",
53
+ templateUrl: "./element.component.html",
54
+ styleUrls: ["./hide-host.scss"]
55
+ }]
56
+ }], propDecorators: { model: [{
57
+ type: Input
58
+ }] } });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZWxlbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi9zcmMvZWxlbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFPN0MsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFdBQWtDO0lBRTVELFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFjLG9CQUFvQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsSUFBVyxhQUFhO1FBQ3RCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUEwQixDQUFDO1FBQy9DLElBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUNYLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0QsSUFBRyxDQUFDLENBQUMsSUFBSSxFQUFFO2dCQUNULE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ25DLENBQUM7SUFDRCxJQUFXLFNBQVM7UUFDbEIsb0ZBQW9GO1FBQ3BGLElBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQzFCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7U0FDN0I7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFDO1NBQ1g7SUFDSCxDQUFDO0lBQ0QsSUFBVyxhQUFhO1FBQ3RCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUEwQixDQUFDO1FBQy9DLElBQUksSUFBUyxDQUFDO1FBQ2QsSUFBRyxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ1gsSUFBSSxHQUFHLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUQ7UUFDRCxPQUFPO1lBQ0wsYUFBYSxFQUFFLElBQUksQ0FBQyxvQkFBb0I7WUFDeEMsYUFBYSxFQUFFO2dCQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsSUFBSSxFQUFFLElBQUk7YUFDWDtTQUNGLENBQUM7SUFDSixDQUFDOzs4R0F2Q1UsZ0JBQWdCO2tHQUFoQixnQkFBZ0Isd0dDVDdCLHFSQUljOzRGREtELGdCQUFnQjtrQkFMNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsV0FBVyxFQUFFLDBCQUEwQjtvQkFDdkMsU0FBUyxFQUFFLENBQUMsa0JBQWtCLENBQUM7aUJBQ2hDOzhCQUVVLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUGFuZWxNb2RlbCwgUXVlc3Rpb24sIFN1cnZleU1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuL2Jhc2UtYW5ndWxhclwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctZWxlbWVudFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2VsZW1lbnQuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2hpZGUtaG9zdC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIEVsZW1lbnRDb21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhcjxQYW5lbE1vZGVsIHwgUXVlc3Rpb24+IHtcbiAgQElucHV0KCkgbW9kZWwhOiBQYW5lbE1vZGVsIHwgUXVlc3Rpb247XG4gIHByb3RlY3RlZCBnZXRNb2RlbCgpOiBQYW5lbE1vZGVsIHwgUXVlc3Rpb24ge1xuICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICB9XG4gIHByb3RlY3RlZCBnZXQgZWxlbWVudENvbXBvbmVudE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbC5pc1BhbmVsID8gXCJwYW5lbFwiOiBcInF1ZXN0aW9uXCI7XG4gIH1cbiAgcHVibGljIGdldCBjb21wb25lbnROYW1lKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3VydmV5ID0gdGhpcy5zdXJ2ZXlNb2RlbCBhcyBTdXJ2ZXlNb2RlbDtcbiAgICBpZighIXN1cnZleSkge1xuICAgICAgY29uc3QgbmFtZSA9IHN1cnZleS5nZXRFbGVtZW50V3JhcHBlckNvbXBvbmVudE5hbWUodGhpcy5tb2RlbCk7XG4gICAgICBpZighIW5hbWUpIHtcbiAgICAgICAgcmV0dXJuIG5hbWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmVsZW1lbnRDb21wb25lbnROYW1lO1xuICB9XG4gIHB1YmxpYyBnZXQgcm9vdFN0eWxlKCkge1xuICAgIC8vdXNlIHRoaXMgaWYgdG8gY2hlY2sgaWYgY3NzQ2xhc3NzZXMgYXJlIGNhbGN1bGF0ZWQgYW5kIGFsbG93Um9vdFN0eWxlIGZsYWcgd2FzIHNldFxuICAgIGlmKCEhdGhpcy5tb2RlbC5jc3NDbGFzc2VzKSB7XG4gICAgICByZXR1cm4gdGhpcy5tb2RlbC5yb290U3R5bGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCBjb21wb25lbnREYXRhKCk6IGFueSB7XG4gICAgY29uc3Qgc3VydmV5ID0gdGhpcy5zdXJ2ZXlNb2RlbCBhcyBTdXJ2ZXlNb2RlbDtcbiAgICBsZXQgZGF0YTogYW55O1xuICAgIGlmKCEhc3VydmV5KSB7XG4gICAgICBkYXRhID0gc3VydmV5LmdldEVsZW1lbnRXcmFwcGVyQ29tcG9uZW50RGF0YSh0aGlzLm1vZGVsKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbXBvbmVudE5hbWU6IHRoaXMuZWxlbWVudENvbXBvbmVudE5hbWUsXG4gICAgICBjb21wb25lbnREYXRhOiB7XG4gICAgICAgIG1vZGVsOiB0aGlzLm1vZGVsLFxuICAgICAgICBkYXRhOiBkYXRhXG4gICAgICB9XG4gICAgfTtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgICA8ZGl2ICpuZ0lmPVwiISFtb2RlbFwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnF1ZXN0aW9uV3JhcHBlclwiIFtzdHlsZV09XCJyb290U3R5bGVcIiAoZm9jdXNpbik9XCJtb2RlbC5mb2N1c0luKClcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPVwieyBuYW1lOiBjb21wb25lbnROYW1lLCBkYXRhOiBjb21wb25lbnREYXRhIH1cIj48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -0,0 +1,25 @@
1
+ import { Component, TemplateRef, ViewChild } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class EmbeddedViewContentComponent {
4
+ constructor(viewContainerRef) {
5
+ this.viewContainerRef = viewContainerRef;
6
+ }
7
+ ngOnInit() {
8
+ var _a;
9
+ if (!!this.templateRef) {
10
+ this.embeddedView = (_a = this.viewContainerRef) === null || _a === void 0 ? void 0 : _a.createEmbeddedView(this.templateRef);
11
+ }
12
+ }
13
+ }
14
+ EmbeddedViewContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EmbeddedViewContentComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
15
+ EmbeddedViewContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EmbeddedViewContentComponent, selector: "ng-component", viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["template"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "", isInline: true });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EmbeddedViewContentComponent, decorators: [{
17
+ type: Component,
18
+ args: [{
19
+ template: "",
20
+ }]
21
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { templateRef: [{
22
+ type: ViewChild,
23
+ args: ["template", { read: TemplateRef, static: true }]
24
+ }] } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1iZWRkZWQtdmlldy1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbWJlZGRlZC12aWV3LWNvbnRlbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTJCLFdBQVcsRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDOztBQU03RyxNQUFNLE9BQU8sNEJBQTRCO0lBR3ZDLFlBQXNCLGdCQUFtQztRQUFuQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO0lBQUcsQ0FBQztJQUU3RCxRQUFROztRQUNOLElBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFBLElBQUksQ0FBQyxnQkFBZ0IsMENBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ2pGO0lBQ0gsQ0FBQzs7MEhBVFUsNEJBQTRCOzhHQUE1Qiw0QkFBNEIsd0lBQ1IsV0FBVywyQ0FKaEMsRUFBRTs0RkFHRCw0QkFBNEI7a0JBSnhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7dUdBRzZELFdBQVc7c0JBQXRFLFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbWJlZGRlZFZpZXdSZWYsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogXCJcIixcbn0pXG5cbmV4cG9ydCBjbGFzcyBFbWJlZGRlZFZpZXdDb250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZChcInRlbXBsYXRlXCIsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KSB0ZW1wbGF0ZVJlZiE6IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PlxuICBwcm90ZWN0ZWQgZW1iZWRkZWRWaWV3PzogRW1iZWRkZWRWaWV3UmVmPEhUTUxFbGVtZW50PjtcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHZpZXdDb250YWluZXJSZWY/OiBWaWV3Q29udGFpbmVyUmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmKCEhdGhpcy50ZW1wbGF0ZVJlZikge1xuICAgICAgdGhpcy5lbWJlZGRlZFZpZXcgPSB0aGlzLnZpZXdDb250YWluZXJSZWY/LmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcbiAgICB9XG4gIH1cbn0iXX0=
@@ -0,0 +1,61 @@
1
+ import { Component, HostBinding, Input, ViewChild } from "@angular/core";
2
+ import { TooltipManager } from "survey-core";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./survey-string.component";
5
+ import * as i2 from "@angular/common";
6
+ export class ErrorsComponent {
7
+ constructor(viewContainerRef) {
8
+ this.viewContainerRef = viewContainerRef;
9
+ }
10
+ ngOnInit() {
11
+ if (this.location == "tooltip") {
12
+ this.tooltipManager = new TooltipManager(this.viewContainerRef.element.nativeElement);
13
+ }
14
+ }
15
+ ngOnDestroy() {
16
+ if (!!this.tooltipManager) {
17
+ this.tooltipManager.dispose();
18
+ }
19
+ }
20
+ get role() {
21
+ return "alert";
22
+ }
23
+ get id() {
24
+ return this.element.id + "_errors";
25
+ }
26
+ get ariaLive() {
27
+ return "polite";
28
+ }
29
+ get class() {
30
+ return this.element.cssError;
31
+ }
32
+ }
33
+ ErrorsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ErrorsComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
34
+ ErrorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: { element: "element", location: "location" }, host: { properties: { "attr.role": "this.role", "id": "this.id", "attr.aria-live": "this.ariaLive", "class": "this.class" } }, viewQueries: [{ propertyName: "errorsContainerRef", first: true, predicate: ["errorsContainer"], descendants: true, static: true }], ngImport: i0, template: "<div *ngFor=\"let error of element.errors;\">\n <span\n [class]=\"element.cssClasses ? element.cssClasses.error.icon : 'panel-error-icon'\"\n aria-hidden=\"true\"\n ></span>\n <span [class]=\"element.cssClasses ? element.cssClasses.error.item : 'panel-error-item'\" [model]=\"error.locText\" sv-ng-string>\n </span>\n</div>", components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ErrorsComponent, decorators: [{
36
+ type: Component,
37
+ args: [{
38
+ templateUrl: "./errors.component.html",
39
+ selector: "'[sv-ng-errors]'"
40
+ }]
41
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { element: [{
42
+ type: Input
43
+ }], location: [{
44
+ type: Input
45
+ }], errorsContainerRef: [{
46
+ type: ViewChild,
47
+ args: ["errorsContainer", { static: true }]
48
+ }], role: [{
49
+ type: HostBinding,
50
+ args: ["attr.role"]
51
+ }], id: [{
52
+ type: HostBinding,
53
+ args: ["id"]
54
+ }], ariaLive: [{
55
+ type: HostBinding,
56
+ args: ["attr.aria-live"]
57
+ }], class: [{
58
+ type: HostBinding,
59
+ args: ["class"]
60
+ }] } });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lcnJvcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vc3JjL2Vycm9ycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF1QixXQUFXLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ25JLE9BQU8sRUFBdUIsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7O0FBTWxFLE1BQU0sT0FBTyxlQUFlO0lBSzFCLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQUcsQ0FBQztJQUMxRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLFNBQVMsRUFBRTtZQUM5QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDdkY7SUFDSCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUMvQjtJQUNILENBQUM7SUFDRCxJQUE4QixJQUFJO1FBQ2hDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxJQUF1QixFQUFFO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFtQyxRQUFRO1FBQ3pDLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxJQUEwQixLQUFLO1FBQzdCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFDL0IsQ0FBQzs7NkdBM0JVLGVBQWU7aUdBQWYsZUFBZSxrWENQNUIsK1VBT007NEZEQU8sZUFBZTtrQkFKM0IsU0FBUzttQkFBQztvQkFDVCxXQUFXLEVBQUUseUJBQXlCO29CQUN0QyxRQUFRLEVBQUUsa0JBQWtCO2lCQUM3Qjt1R0FFVSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDMEMsa0JBQWtCO3NCQUFqRSxTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFhaEIsSUFBSTtzQkFBakMsV0FBVzt1QkFBQyxXQUFXO2dCQUdELEVBQUU7c0JBQXhCLFdBQVc7dUJBQUMsSUFBSTtnQkFHa0IsUUFBUTtzQkFBMUMsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBR0gsS0FBSztzQkFBOUIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBEb0NoZWNrLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQmFzZSwgU3VydmV5RWxlbWVudCwgVG9vbHRpcE1hbmFnZXIgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiBcIi4vZXJyb3JzLmNvbXBvbmVudC5odG1sXCIsXG4gIHNlbGVjdG9yOiBcIidbc3YtbmctZXJyb3JzXSdcIlxufSlcbmV4cG9ydCBjbGFzcyBFcnJvcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGVsZW1lbnQhOiBTdXJ2ZXlFbGVtZW50IHwgYW55O1xuICBASW5wdXQoKSBsb2NhdGlvbj86IFN0cmluZztcbiAgQFZpZXdDaGlsZChcImVycm9yc0NvbnRhaW5lclwiLCB7IHN0YXRpYzogdHJ1ZSB9KSBlcnJvcnNDb250YWluZXJSZWYhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgcHJpdmF0ZSB0b29sdGlwTWFuYWdlciE6IFRvb2x0aXBNYW5hZ2VyO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHt9XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxvY2F0aW9uID09IFwidG9vbHRpcFwiKSB7XG4gICAgICB0aGlzLnRvb2x0aXBNYW5hZ2VyID0gbmV3IFRvb2x0aXBNYW5hZ2VyKHRoaXMudmlld0NvbnRhaW5lclJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAoISF0aGlzLnRvb2x0aXBNYW5hZ2VyKSB7XG4gICAgICB0aGlzLnRvb2x0aXBNYW5hZ2VyLmRpc3Bvc2UoKTtcbiAgICB9XG4gIH1cbiAgQEhvc3RCaW5kaW5nKFwiYXR0ci5yb2xlXCIpIGdldCByb2xlICgpOiBzdHJpbmcge1xuICAgIHJldHVybiBcImFsZXJ0XCI7XG4gIH1cbiAgQEhvc3RCaW5kaW5nKFwiaWRcIikgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudC5pZCArIFwiX2Vycm9yc1wiO1xuICB9XG4gIEBIb3N0QmluZGluZyhcImF0dHIuYXJpYS1saXZlXCIpIGdldCBhcmlhTGl2ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBcInBvbGl0ZVwiO1xuICB9XG4gIEBIb3N0QmluZGluZyhcImNsYXNzXCIpIGdldCBjbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnQuY3NzRXJyb3I7XG4gIH1cbn0iLCI8ZGl2ICpuZ0Zvcj1cImxldCBlcnJvciBvZiBlbGVtZW50LmVycm9ycztcIj5cbiAgPHNwYW5cbiAgICBbY2xhc3NdPVwiZWxlbWVudC5jc3NDbGFzc2VzID8gZWxlbWVudC5jc3NDbGFzc2VzLmVycm9yLmljb24gOiAncGFuZWwtZXJyb3ItaWNvbidcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gID48L3NwYW4+XG4gIDxzcGFuIFtjbGFzc109XCJlbGVtZW50LmNzc0NsYXNzZXMgPyBlbGVtZW50LmNzc0NsYXNzZXMuZXJyb3IuaXRlbSA6ICdwYW5lbC1lcnJvci1pdGVtJ1wiIFttb2RlbF09XCJlcnJvci5sb2NUZXh0XCIgc3Ytbmctc3RyaW5nPlxuICA8L3NwYW4+XG48L2Rpdj4iXX0=
@@ -0,0 +1,40 @@
1
+ import { Component, ElementRef, Input, ViewChild } from "@angular/core";
2
+ import { BaseAngular } from "./base-angular";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./components/element-title/element-title.component";
5
+ import * as i2 from "./survey-string.component";
6
+ import * as i3 from "./row.component";
7
+ import * as i4 from "@angular/common";
8
+ import * as i5 from "./utils/dynamic.directive";
9
+ export class PageComponent extends BaseAngular {
10
+ getModel() {
11
+ return this.model;
12
+ }
13
+ onModelChanged() {
14
+ if (!!this.pageContainerRef && this.pageContainerRef.nativeElement) {
15
+ this.model.survey.afterRenderPage(this.pageContainerRef.nativeElement);
16
+ }
17
+ }
18
+ ngAfterViewInit() {
19
+ var _a, _b;
20
+ (_a = this.model.survey) === null || _a === void 0 ? void 0 : _a.afterRenderPage((_b = this.pageContainerRef) === null || _b === void 0 ? void 0 : _b.nativeElement);
21
+ }
22
+ }
23
+ PageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
24
+ PageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PageComponent, selector: "page, sv-ng-page", inputs: { model: "model", survey: "survey" }, viewQueries: [{ propertyName: "pageContainerRef", first: true, predicate: ["pageContainer"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <ng-container *ngIf=\"!!this.survey && !!this.model && this.model.isVisible && !!this.model.survey\">\n <div [class]=\"model.cssRoot\" #pageContainer>\n <sv-ng-element-title [element]=\"model\"></sv-ng-element-title>\n <div *ngIf=\"model._showDescription\" [class]=\"model.cssClasses.page.description\">\n <sv-ng-string [model]=\"model.locDescription\"></sv-ng-string>\n </div>\n <ng-container *ngFor=\"let row of model.rows\">\n <ng-template [component]=\"{ name: $any(model.survey).getRowWrapperComponentName(row), data: { componentData: $any(model.survey).getRowWrapperComponentData(row) } }\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </ng-template>\n </ng-container>\n </div>\n </ng-container> \n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.ElementTitleComponent, selector: "sv-ng-element-title", inputs: ["element"] }, { type: i2.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i3.RowComponent, selector: "sv-ng-row", inputs: ["row"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PageComponent, decorators: [{
26
+ type: Component,
27
+ args: [{
28
+ selector: "page, sv-ng-page",
29
+ templateUrl: "./page.component.html",
30
+ styleUrls: ["./hide-host.scss"]
31
+ }]
32
+ }], propDecorators: { model: [{
33
+ type: Input
34
+ }], survey: [{
35
+ type: Input
36
+ }], pageContainerRef: [{
37
+ type: ViewChild,
38
+ args: ["pageContainer", { static: false, read: ElementRef }]
39
+ }] } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi9zcmMvcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUE0QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBTTdDLE1BQU0sT0FBTyxhQUFjLFNBQVEsV0FBc0I7SUFJN0MsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNrQixjQUFjO1FBQy9CLElBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFO1lBQ2pFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDeEU7SUFDSCxDQUFDO0lBQ0QsZUFBZTs7UUFDYixNQUFBLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSwwQ0FBRSxlQUFlLENBQUMsTUFBQSxJQUFJLENBQUMsZ0JBQWdCLDBDQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzNFLENBQUM7OzJHQWRVLGFBQWE7K0ZBQWIsYUFBYSxvTUFHMkIsVUFBVSxvRENYL0Qsd3lCQWNjOzRGRE5ELGFBQWE7a0JBTHpCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsV0FBVyxFQUFFLHVCQUF1QjtvQkFDcEMsU0FBUyxFQUFFLENBQUMsa0JBQWtCLENBQUM7aUJBQzlCOzhCQUVRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQzJELGdCQUFnQjtzQkFBaEYsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBQYWdlTW9kZWwsIFN1cnZleU1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuL2Jhc2UtYW5ndWxhclwiO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInBhZ2UsIHN2LW5nLXBhZ2VcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9wYWdlLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9oaWRlLWhvc3Quc2Nzc1wiXVxuICB9KVxuZXhwb3J0IGNsYXNzIFBhZ2VDb21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhcjxQYWdlTW9kZWw+IHtcbiAgQElucHV0KCkgbW9kZWwhOiBQYWdlTW9kZWw7XG4gIEBJbnB1dCgpIHN1cnZleT86IFN1cnZleU1vZGVsO1xuICBAVmlld0NoaWxkKFwicGFnZUNvbnRhaW5lclwiLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IEVsZW1lbnRSZWYgfSkgcGFnZUNvbnRhaW5lclJlZiE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBwcm90ZWN0ZWQgZ2V0TW9kZWwoKTogUGFnZU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgb25Nb2RlbENoYW5nZWQoKTogdm9pZCB7XG4gICAgaWYoISF0aGlzLnBhZ2VDb250YWluZXJSZWYgJiYgdGhpcy5wYWdlQ29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMubW9kZWwuc3VydmV5LmFmdGVyUmVuZGVyUGFnZSh0aGlzLnBhZ2VDb250YWluZXJSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGVsLnN1cnZleT8uYWZ0ZXJSZW5kZXJQYWdlKHRoaXMucGFnZUNvbnRhaW5lclJlZj8ubmF0aXZlRWxlbWVudCk7XG4gIH1cbn0iLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiISF0aGlzLnN1cnZleSAmJiAhIXRoaXMubW9kZWwgJiYgdGhpcy5tb2RlbC5pc1Zpc2libGUgJiYgISF0aGlzLm1vZGVsLnN1cnZleVwiPlxuICAgIDxkaXYgW2NsYXNzXT1cIm1vZGVsLmNzc1Jvb3RcIiAjcGFnZUNvbnRhaW5lcj5cbiAgICAgIDxzdi1uZy1lbGVtZW50LXRpdGxlIFtlbGVtZW50XT1cIm1vZGVsXCI+PC9zdi1uZy1lbGVtZW50LXRpdGxlPlxuICAgICAgPGRpdiAqbmdJZj1cIm1vZGVsLl9zaG93RGVzY3JpcHRpb25cIiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5wYWdlLmRlc2NyaXB0aW9uXCI+XG4gICAgICAgIDxzdi1uZy1zdHJpbmcgW21vZGVsXT1cIm1vZGVsLmxvY0Rlc2NyaXB0aW9uXCI+PC9zdi1uZy1zdHJpbmc+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiBtb2RlbC5yb3dzXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogJGFueShtb2RlbC5zdXJ2ZXkpLmdldFJvd1dyYXBwZXJDb21wb25lbnROYW1lKHJvdyksIGRhdGE6IHsgY29tcG9uZW50RGF0YTogJGFueShtb2RlbC5zdXJ2ZXkpLmdldFJvd1dyYXBwZXJDb21wb25lbnREYXRhKHJvdykgfSB9XCI+XG4gICAgICAgICAgPHN2LW5nLXJvdyBbcm93XT1cInJvd1wiPjwvc3Ytbmctcm93PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPiAgXG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -0,0 +1,42 @@
1
+ import { Component, ElementRef, Input, ViewChild } from "@angular/core";
2
+ import { BaseAngular } from "./base-angular";
3
+ import { AngularComponentFactory } from "./component-factory";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./components/element-header/element-header.component";
6
+ import * as i2 from "./row.component";
7
+ import * as i3 from "./components/action-bar/action-bar.component";
8
+ import * as i4 from "@angular/common";
9
+ import * as i5 from "./utils/dynamic.directive";
10
+ export class PanelComponent extends BaseAngular {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.trackRowBy = (_, row) => {
14
+ return row.id;
15
+ };
16
+ }
17
+ getModel() {
18
+ return this.model;
19
+ }
20
+ ngAfterViewInit() {
21
+ var _a, _b;
22
+ if (!!((_a = this.panelContainerRef) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
23
+ (_b = this.model.survey) === null || _b === void 0 ? void 0 : _b.afterRenderPanel(this.model, this.panelContainerRef.nativeElement);
24
+ }
25
+ }
26
+ }
27
+ PanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
28
+ PanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelComponent, selector: "sv-ng-panel, '[sv-ng-panel]'", inputs: { model: "model" }, viewQueries: [{ propertyName: "panelContainerRef", first: true, predicate: ["panelContainer"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"!!model && model.isVisible\" [attr.id]=\"model.id\" [class]=\"model.getContainerCss()\" (focusin)=\"model.focusIn()\" #panelContainer>\n <div *ngIf=\"model.hasDescription || model.hasTitle\" [element]=\"model\" sv-ng-element-header></div>\n <!-- ko template: { name: 'survey-question-errors', data: $data } -->\n <!-- /ko -->\n <div *ngIf=\"!model.isCollapsed\" [style.paddingLeft]=\"model.innerPaddingLeft\" [class]=\"model.cssClasses.panel.content\" [attr.id]=\"model.contentId\">\n <ng-container *ngFor=\"let row of model.rows; trackBy: trackRowBy\">\n <ng-template [component]=\"{ name: $any(model.survey).getRowWrapperComponentName(row), data: { componentData: $any(model.survey).getRowWrapperComponentData(row) } }\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </ng-template>\n </ng-container>\n <sv-ng-action-bar [model]=\"model.getFooterToolbar()\"></sv-ng-action-bar>\n </div>\n </div>\n</ng-template>", components: [{ type: i1.ElementHeaderComponent, selector: "'[sv-ng-element-header]'", inputs: ["element"] }, { type: i2.RowComponent, selector: "sv-ng-row", inputs: ["row"] }, { type: i3.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PanelComponent, decorators: [{
30
+ type: Component,
31
+ args: [{
32
+ selector: "sv-ng-panel, '[sv-ng-panel]'",
33
+ templateUrl: "./panel.component.html",
34
+ }]
35
+ }], propDecorators: { model: [{
36
+ type: Input
37
+ }], panelContainerRef: [{
38
+ type: ViewChild,
39
+ args: ["panelContainer", { static: false, read: ElementRef }]
40
+ }] } });
41
+ AngularComponentFactory.Instance.registerComponent("panel", PanelComponent);
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uL3NyYy9wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7QUFLOUQsTUFBTSxPQUFPLGNBQWUsU0FBUSxXQUF1QjtJQUozRDs7UUFlRSxlQUFVLEdBQUcsQ0FBQyxDQUFNLEVBQUUsR0FBUSxFQUFFLEVBQUU7WUFDaEMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2hCLENBQUMsQ0FBQTtLQUNGO0lBWFcsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELGVBQWU7O1FBQ2IsSUFBRyxDQUFDLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxpQkFBaUIsMENBQUUsYUFBYSxDQUFBLEVBQUU7WUFDMUMsTUFBQSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sMENBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDdkY7SUFDSCxDQUFDOzs0R0FWVSxjQUFjO2dHQUFkLGNBQWMsZ01BRTJCLFVBQVUsb0RDVmhFLDYrQkFjYzs0RkRORCxjQUFjO2tCQUoxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw4QkFBOEI7b0JBQ3hDLFdBQVcsRUFBRSx3QkFBd0I7aUJBQ3RDOzhCQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDNEQsaUJBQWlCO3NCQUFsRixTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFOztBQWFsRSx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFBhbmVsTW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4vYmFzZS1hbmd1bGFyXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctcGFuZWwsICdbc3YtbmctcGFuZWxdJ1wiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3BhbmVsLmNvbXBvbmVudC5odG1sXCIsXG59KVxuZXhwb3J0IGNsYXNzIFBhbmVsQ29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXI8UGFuZWxNb2RlbD4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgbW9kZWwhOiBQYW5lbE1vZGVsO1xuICBAVmlld0NoaWxkKFwicGFuZWxDb250YWluZXJcIiwgeyBzdGF0aWM6IGZhbHNlLCByZWFkOiBFbGVtZW50UmVmIH0pIHBhbmVsQ29udGFpbmVyUmVmITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gIHByb3RlY3RlZCBnZXRNb2RlbCgpOiBQYW5lbE1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYoISF0aGlzLnBhbmVsQ29udGFpbmVyUmVmPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLm1vZGVsLnN1cnZleT8uYWZ0ZXJSZW5kZXJQYW5lbCh0aGlzLm1vZGVsLCB0aGlzLnBhbmVsQ29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuICB0cmFja1Jvd0J5ID0gKF86IGFueSwgcm93OiBhbnkpID0+IHtcbiAgICByZXR1cm4gcm93LmlkO1xuICB9XG59XG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInBhbmVsXCIsIFBhbmVsQ29tcG9uZW50KTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8ZGl2ICpuZ0lmPVwiISFtb2RlbCAmJiBtb2RlbC5pc1Zpc2libGVcIiBbYXR0ci5pZF09XCJtb2RlbC5pZFwiIFtjbGFzc109XCJtb2RlbC5nZXRDb250YWluZXJDc3MoKVwiIChmb2N1c2luKT1cIm1vZGVsLmZvY3VzSW4oKVwiICNwYW5lbENvbnRhaW5lcj5cbiAgICA8ZGl2ICpuZ0lmPVwibW9kZWwuaGFzRGVzY3JpcHRpb24gfHwgbW9kZWwuaGFzVGl0bGVcIiBbZWxlbWVudF09XCJtb2RlbFwiIHN2LW5nLWVsZW1lbnQtaGVhZGVyPjwvZGl2PlxuICAgIDwhLS0ga28gdGVtcGxhdGU6IHsgbmFtZTogJ3N1cnZleS1xdWVzdGlvbi1lcnJvcnMnLCBkYXRhOiAkZGF0YSB9IC0tPlxuICAgIDwhLS0gL2tvIC0tPlxuICAgIDxkaXYgKm5nSWY9XCIhbW9kZWwuaXNDb2xsYXBzZWRcIiBbc3R5bGUucGFkZGluZ0xlZnRdPVwibW9kZWwuaW5uZXJQYWRkaW5nTGVmdFwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnBhbmVsLmNvbnRlbnRcIiBbYXR0ci5pZF09XCJtb2RlbC5jb250ZW50SWRcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiBtb2RlbC5yb3dzOyB0cmFja0J5OiB0cmFja1Jvd0J5XCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogJGFueShtb2RlbC5zdXJ2ZXkpLmdldFJvd1dyYXBwZXJDb21wb25lbnROYW1lKHJvdyksIGRhdGE6IHsgY29tcG9uZW50RGF0YTogJGFueShtb2RlbC5zdXJ2ZXkpLmdldFJvd1dyYXBwZXJDb21wb25lbnREYXRhKHJvdykgfSB9XCI+XG4gICAgICAgICAgPHN2LW5nLXJvdyBbcm93XT1cInJvd1wiPjwvc3Ytbmctcm93PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8c3YtbmctYWN0aW9uLWJhciBbbW9kZWxdPVwibW9kZWwuZ2V0Rm9vdGVyVG9vbGJhcigpXCI+PC9zdi1uZy1hY3Rpb24tYmFyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19