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,4338 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('survey-core'), require('@angular/cdk/portal'), require('@angular/common'), require('@angular/forms'), require('@angular/platform-browser')) :
3
+ typeof define === 'function' && define.amd ? define('survey-angular-ui', ['exports', '@angular/core', 'survey-core', '@angular/cdk/portal', '@angular/common', '@angular/forms', '@angular/platform-browser'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["survey-angular-ui"] = {}, global.ng.core, global.Survey, global.ng.cdk.portal, global.ng.common, global.ng.forms, global.ng.platformBrowser));
5
+ })(this, (function (exports, i0, Survey, portal, i2, i3, i1) { 'use strict';
6
+
7
+ function _interopNamespace(e) {
8
+ if (e && e.__esModule) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () { return e[k]; }
17
+ });
18
+ }
19
+ });
20
+ }
21
+ n["default"] = e;
22
+ return Object.freeze(n);
23
+ }
24
+
25
+ var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
26
+ var Survey__namespace = /*#__PURE__*/_interopNamespace(Survey);
27
+ var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
28
+ var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
29
+ var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
30
+
31
+ /******************************************************************************
32
+ Copyright (c) Microsoft Corporation.
33
+
34
+ Permission to use, copy, modify, and/or distribute this software for any
35
+ purpose with or without fee is hereby granted.
36
+
37
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
38
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
39
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
40
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
41
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
42
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
43
+ PERFORMANCE OF THIS SOFTWARE.
44
+ ***************************************************************************** */
45
+ /* global Reflect, Promise */
46
+ var extendStatics = function (d, b) {
47
+ extendStatics = Object.setPrototypeOf ||
48
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
49
+ function (d, b) { for (var p in b)
50
+ if (Object.prototype.hasOwnProperty.call(b, p))
51
+ d[p] = b[p]; };
52
+ return extendStatics(d, b);
53
+ };
54
+ function __extends(d, b) {
55
+ if (typeof b !== "function" && b !== null)
56
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
57
+ extendStatics(d, b);
58
+ function __() { this.constructor = d; }
59
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
60
+ }
61
+ var __assign = function () {
62
+ __assign = Object.assign || function __assign(t) {
63
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
64
+ s = arguments[i];
65
+ for (var p in s)
66
+ if (Object.prototype.hasOwnProperty.call(s, p))
67
+ t[p] = s[p];
68
+ }
69
+ return t;
70
+ };
71
+ return __assign.apply(this, arguments);
72
+ };
73
+ function __rest(s, e) {
74
+ var t = {};
75
+ for (var p in s)
76
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
77
+ t[p] = s[p];
78
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
79
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
80
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
81
+ t[p[i]] = s[p[i]];
82
+ }
83
+ return t;
84
+ }
85
+ function __decorate(decorators, target, key, desc) {
86
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
87
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
88
+ r = Reflect.decorate(decorators, target, key, desc);
89
+ else
90
+ for (var i = decorators.length - 1; i >= 0; i--)
91
+ if (d = decorators[i])
92
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
93
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
94
+ }
95
+ function __param(paramIndex, decorator) {
96
+ return function (target, key) { decorator(target, key, paramIndex); };
97
+ }
98
+ function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
99
+ function accept(f) { if (f !== void 0 && typeof f !== "function")
100
+ throw new TypeError("Function expected"); return f; }
101
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
102
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
103
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
104
+ var _, done = false;
105
+ for (var i = decorators.length - 1; i >= 0; i--) {
106
+ var context = {};
107
+ for (var p in contextIn)
108
+ context[p] = p === "access" ? {} : contextIn[p];
109
+ for (var p in contextIn.access)
110
+ context.access[p] = contextIn.access[p];
111
+ context.addInitializer = function (f) { if (done)
112
+ throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
113
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
114
+ if (kind === "accessor") {
115
+ if (result === void 0)
116
+ continue;
117
+ if (result === null || typeof result !== "object")
118
+ throw new TypeError("Object expected");
119
+ if (_ = accept(result.get))
120
+ descriptor.get = _;
121
+ if (_ = accept(result.set))
122
+ descriptor.set = _;
123
+ if (_ = accept(result.init))
124
+ initializers.push(_);
125
+ }
126
+ else if (_ = accept(result)) {
127
+ if (kind === "field")
128
+ initializers.push(_);
129
+ else
130
+ descriptor[key] = _;
131
+ }
132
+ }
133
+ if (target)
134
+ Object.defineProperty(target, contextIn.name, descriptor);
135
+ done = true;
136
+ }
137
+ ;
138
+ function __runInitializers(thisArg, initializers, value) {
139
+ var useValue = arguments.length > 2;
140
+ for (var i = 0; i < initializers.length; i++) {
141
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
142
+ }
143
+ return useValue ? value : void 0;
144
+ }
145
+ ;
146
+ function __propKey(x) {
147
+ return typeof x === "symbol" ? x : "".concat(x);
148
+ }
149
+ ;
150
+ function __setFunctionName(f, name, prefix) {
151
+ if (typeof name === "symbol")
152
+ name = name.description ? "[".concat(name.description, "]") : "";
153
+ return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
154
+ }
155
+ ;
156
+ function __metadata(metadataKey, metadataValue) {
157
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
158
+ return Reflect.metadata(metadataKey, metadataValue);
159
+ }
160
+ function __awaiter(thisArg, _arguments, P, generator) {
161
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
162
+ return new (P || (P = Promise))(function (resolve, reject) {
163
+ function fulfilled(value) { try {
164
+ step(generator.next(value));
165
+ }
166
+ catch (e) {
167
+ reject(e);
168
+ } }
169
+ function rejected(value) { try {
170
+ step(generator["throw"](value));
171
+ }
172
+ catch (e) {
173
+ reject(e);
174
+ } }
175
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
176
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
177
+ });
178
+ }
179
+ function __generator(thisArg, body) {
180
+ var _ = { label: 0, sent: function () { if (t[0] & 1)
181
+ throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
182
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
183
+ function verb(n) { return function (v) { return step([n, v]); }; }
184
+ function step(op) {
185
+ if (f)
186
+ throw new TypeError("Generator is already executing.");
187
+ while (g && (g = 0, op[0] && (_ = 0)), _)
188
+ try {
189
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
190
+ return t;
191
+ if (y = 0, t)
192
+ op = [op[0] & 2, t.value];
193
+ switch (op[0]) {
194
+ case 0:
195
+ case 1:
196
+ t = op;
197
+ break;
198
+ case 4:
199
+ _.label++;
200
+ return { value: op[1], done: false };
201
+ case 5:
202
+ _.label++;
203
+ y = op[1];
204
+ op = [0];
205
+ continue;
206
+ case 7:
207
+ op = _.ops.pop();
208
+ _.trys.pop();
209
+ continue;
210
+ default:
211
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
212
+ _ = 0;
213
+ continue;
214
+ }
215
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
216
+ _.label = op[1];
217
+ break;
218
+ }
219
+ if (op[0] === 6 && _.label < t[1]) {
220
+ _.label = t[1];
221
+ t = op;
222
+ break;
223
+ }
224
+ if (t && _.label < t[2]) {
225
+ _.label = t[2];
226
+ _.ops.push(op);
227
+ break;
228
+ }
229
+ if (t[2])
230
+ _.ops.pop();
231
+ _.trys.pop();
232
+ continue;
233
+ }
234
+ op = body.call(thisArg, _);
235
+ }
236
+ catch (e) {
237
+ op = [6, e];
238
+ y = 0;
239
+ }
240
+ finally {
241
+ f = t = 0;
242
+ }
243
+ if (op[0] & 5)
244
+ throw op[1];
245
+ return { value: op[0] ? op[1] : void 0, done: true };
246
+ }
247
+ }
248
+ var __createBinding = Object.create ? (function (o, m, k, k2) {
249
+ if (k2 === undefined)
250
+ k2 = k;
251
+ var desc = Object.getOwnPropertyDescriptor(m, k);
252
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
253
+ desc = { enumerable: true, get: function () { return m[k]; } };
254
+ }
255
+ Object.defineProperty(o, k2, desc);
256
+ }) : (function (o, m, k, k2) {
257
+ if (k2 === undefined)
258
+ k2 = k;
259
+ o[k2] = m[k];
260
+ });
261
+ function __exportStar(m, o) {
262
+ for (var p in m)
263
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
264
+ __createBinding(o, m, p);
265
+ }
266
+ function __values(o) {
267
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
268
+ if (m)
269
+ return m.call(o);
270
+ if (o && typeof o.length === "number")
271
+ return {
272
+ next: function () {
273
+ if (o && i >= o.length)
274
+ o = void 0;
275
+ return { value: o && o[i++], done: !o };
276
+ }
277
+ };
278
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
279
+ }
280
+ function __read(o, n) {
281
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
282
+ if (!m)
283
+ return o;
284
+ var i = m.call(o), r, ar = [], e;
285
+ try {
286
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
287
+ ar.push(r.value);
288
+ }
289
+ catch (error) {
290
+ e = { error: error };
291
+ }
292
+ finally {
293
+ try {
294
+ if (r && !r.done && (m = i["return"]))
295
+ m.call(i);
296
+ }
297
+ finally {
298
+ if (e)
299
+ throw e.error;
300
+ }
301
+ }
302
+ return ar;
303
+ }
304
+ /** @deprecated */
305
+ function __spread() {
306
+ for (var ar = [], i = 0; i < arguments.length; i++)
307
+ ar = ar.concat(__read(arguments[i]));
308
+ return ar;
309
+ }
310
+ /** @deprecated */
311
+ function __spreadArrays() {
312
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++)
313
+ s += arguments[i].length;
314
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
315
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
316
+ r[k] = a[j];
317
+ return r;
318
+ }
319
+ function __spreadArray(to, from, pack) {
320
+ if (pack || arguments.length === 2)
321
+ for (var i = 0, l = from.length, ar; i < l; i++) {
322
+ if (ar || !(i in from)) {
323
+ if (!ar)
324
+ ar = Array.prototype.slice.call(from, 0, i);
325
+ ar[i] = from[i];
326
+ }
327
+ }
328
+ return to.concat(ar || Array.prototype.slice.call(from));
329
+ }
330
+ function __await(v) {
331
+ return this instanceof __await ? (this.v = v, this) : new __await(v);
332
+ }
333
+ function __asyncGenerator(thisArg, _arguments, generator) {
334
+ if (!Symbol.asyncIterator)
335
+ throw new TypeError("Symbol.asyncIterator is not defined.");
336
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
337
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
338
+ function verb(n) { if (g[n])
339
+ i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
340
+ function resume(n, v) { try {
341
+ step(g[n](v));
342
+ }
343
+ catch (e) {
344
+ settle(q[0][3], e);
345
+ } }
346
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
347
+ function fulfill(value) { resume("next", value); }
348
+ function reject(value) { resume("throw", value); }
349
+ function settle(f, v) { if (f(v), q.shift(), q.length)
350
+ resume(q[0][0], q[0][1]); }
351
+ }
352
+ function __asyncDelegator(o) {
353
+ var i, p;
354
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
355
+ function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
356
+ }
357
+ function __asyncValues(o) {
358
+ if (!Symbol.asyncIterator)
359
+ throw new TypeError("Symbol.asyncIterator is not defined.");
360
+ var m = o[Symbol.asyncIterator], i;
361
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
362
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
363
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
364
+ }
365
+ function __makeTemplateObject(cooked, raw) {
366
+ if (Object.defineProperty) {
367
+ Object.defineProperty(cooked, "raw", { value: raw });
368
+ }
369
+ else {
370
+ cooked.raw = raw;
371
+ }
372
+ return cooked;
373
+ }
374
+ ;
375
+ var __setModuleDefault = Object.create ? (function (o, v) {
376
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
377
+ }) : function (o, v) {
378
+ o["default"] = v;
379
+ };
380
+ function __importStar(mod) {
381
+ if (mod && mod.__esModule)
382
+ return mod;
383
+ var result = {};
384
+ if (mod != null)
385
+ for (var k in mod)
386
+ if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
387
+ __createBinding(result, mod, k);
388
+ __setModuleDefault(result, mod);
389
+ return result;
390
+ }
391
+ function __importDefault(mod) {
392
+ return (mod && mod.__esModule) ? mod : { default: mod };
393
+ }
394
+ function __classPrivateFieldGet(receiver, state, kind, f) {
395
+ if (kind === "a" && !f)
396
+ throw new TypeError("Private accessor was defined without a getter");
397
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
398
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
399
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
400
+ }
401
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
402
+ if (kind === "m")
403
+ throw new TypeError("Private method is not writable");
404
+ if (kind === "a" && !f)
405
+ throw new TypeError("Private accessor was defined without a setter");
406
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
407
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
408
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
409
+ }
410
+ function __classPrivateFieldIn(state, receiver) {
411
+ if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function"))
412
+ throw new TypeError("Cannot use 'in' operator on non-object");
413
+ return typeof state === "function" ? receiver === state : state.has(receiver);
414
+ }
415
+
416
+ var EmbeddedViewContentComponent = /** @class */ (function () {
417
+ function EmbeddedViewContentComponent(viewContainerRef) {
418
+ this.viewContainerRef = viewContainerRef;
419
+ }
420
+ EmbeddedViewContentComponent.prototype.ngOnInit = function () {
421
+ var _a;
422
+ if (!!this.templateRef) {
423
+ this.embeddedView = (_a = this.viewContainerRef) === null || _a === void 0 ? void 0 : _a.createEmbeddedView(this.templateRef);
424
+ }
425
+ };
426
+ return EmbeddedViewContentComponent;
427
+ }());
428
+ EmbeddedViewContentComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: EmbeddedViewContentComponent, deps: [{ token: i0__namespace.ViewContainerRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
429
+ EmbeddedViewContentComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EmbeddedViewContentComponent, selector: "ng-component", viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["template"], descendants: true, read: i0.TemplateRef, static: true }], ngImport: i0__namespace, template: "", isInline: true });
430
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: EmbeddedViewContentComponent, decorators: [{
431
+ type: i0.Component,
432
+ args: [{
433
+ template: "",
434
+ }]
435
+ }], ctorParameters: function () { return [{ type: i0__namespace.ViewContainerRef }]; }, propDecorators: { templateRef: [{
436
+ type: i0.ViewChild,
437
+ args: ["template", { read: i0.TemplateRef, static: true }]
438
+ }] } });
439
+
440
+ var BaseAngular = /** @class */ (function (_super) {
441
+ __extends(BaseAngular, _super);
442
+ function BaseAngular(changeDetectorRef, viewContainerRef) {
443
+ var _this = _super.call(this, viewContainerRef) || this;
444
+ _this.changeDetectorRef = changeDetectorRef;
445
+ _this.isModelSubsribed = false;
446
+ _this.isDestroyed = false;
447
+ return _this;
448
+ }
449
+ Object.defineProperty(BaseAngular.prototype, "surveyModel", {
450
+ get: function () {
451
+ return this.getModel().getSurvey();
452
+ },
453
+ enumerable: false,
454
+ configurable: true
455
+ });
456
+ BaseAngular.prototype.ngDoCheck = function () {
457
+ if (this.previousModel !== this.getModel()) {
458
+ this.unMakeBaseElementAngular(this.previousModel);
459
+ this.makeBaseElementAngular(this.getModel());
460
+ this.onModelChanged();
461
+ this.previousModel = this.getModel();
462
+ }
463
+ this.setIsRendering(true);
464
+ };
465
+ BaseAngular.prototype.onModelChanged = function () { };
466
+ BaseAngular.prototype.setIsRendering = function (val) {
467
+ var model = this.getModel();
468
+ if (!!model) {
469
+ model.isRendering = val;
470
+ }
471
+ };
472
+ BaseAngular.prototype.getIsRendering = function () {
473
+ var model = this.getModel();
474
+ return !!model && !!model.isRendering;
475
+ };
476
+ BaseAngular.prototype.ngOnDestroy = function () {
477
+ this.isDestroyed = true;
478
+ this.unMakeBaseElementAngular(this.getModel());
479
+ };
480
+ BaseAngular.prototype.makeBaseElementAngular = function (stateElement) {
481
+ var _this = this;
482
+ if (!!stateElement && !stateElement.__ngImplemented) {
483
+ this.isModelSubsribed = true;
484
+ stateElement.__ngImplemented = true;
485
+ stateElement.iteratePropertiesHash(function (hash, key) {
486
+ var val = hash[key];
487
+ if (Array.isArray(val)) {
488
+ var val = val;
489
+ val["onArrayChanged"] = function (arrayChanges) {
490
+ _this.update(key);
491
+ };
492
+ }
493
+ });
494
+ stateElement.setPropertyValueCoreHandler = function (hash, key, val) {
495
+ if (hash[key] !== val) {
496
+ hash[key] = val;
497
+ _this.update(key);
498
+ }
499
+ };
500
+ }
501
+ };
502
+ BaseAngular.prototype.unMakeBaseElementAngular = function (stateElement) {
503
+ if (!!stateElement && this.isModelSubsribed) {
504
+ this.isModelSubsribed = false;
505
+ stateElement.__ngImplemented = false;
506
+ stateElement.setPropertyValueCoreHandler = undefined;
507
+ stateElement.iteratePropertiesHash(function (hash, key) {
508
+ var val = hash[key];
509
+ if (Array.isArray(val)) {
510
+ var val = val;
511
+ val["onArrayChanged"] = function () { };
512
+ }
513
+ });
514
+ }
515
+ };
516
+ BaseAngular.prototype.update = function (key) {
517
+ var _this = this;
518
+ if (this.getIsRendering())
519
+ return;
520
+ this.beforeUpdate();
521
+ if (this.getPropertiesToUpdateSync().indexOf(key) > -1) {
522
+ this.detectChanges();
523
+ this.afterUpdate();
524
+ }
525
+ else {
526
+ (window["__zone_symbol__queueMicrotask"]
527
+ ? window["__zone_symbol__queueMicrotask"] : queueMicrotask)(function () {
528
+ if (!_this.isDestroyed) {
529
+ _this.setIsRendering(true);
530
+ _this.detectChanges();
531
+ }
532
+ _this.afterUpdate();
533
+ });
534
+ }
535
+ };
536
+ BaseAngular.prototype.getChangeDetectorRef = function () {
537
+ return this.embeddedView ? this.embeddedView : this.changeDetectorRef;
538
+ };
539
+ BaseAngular.prototype.getPropertiesToUpdateSync = function () {
540
+ return [];
541
+ };
542
+ BaseAngular.prototype.detectChanges = function () {
543
+ this.getChangeDetectorRef().detectChanges();
544
+ };
545
+ BaseAngular.prototype.getShouldReattachChangeDetector = function () {
546
+ return true;
547
+ };
548
+ BaseAngular.prototype.beforeUpdate = function () {
549
+ if (this.getShouldReattachChangeDetector()) {
550
+ this.getChangeDetectorRef().detach();
551
+ }
552
+ this.setIsRendering(true);
553
+ };
554
+ BaseAngular.prototype.afterUpdate = function () {
555
+ if (this.getShouldReattachChangeDetector()) {
556
+ this.getChangeDetectorRef().reattach();
557
+ }
558
+ this.setIsRendering(false);
559
+ };
560
+ BaseAngular.prototype.ngAfterViewChecked = function () {
561
+ this.setIsRendering(false);
562
+ };
563
+ return BaseAngular;
564
+ }(EmbeddedViewContentComponent));
565
+ BaseAngular.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BaseAngular, deps: [{ token: i0__namespace.ChangeDetectorRef }, { token: i0__namespace.ViewContainerRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
566
+ BaseAngular.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: BaseAngular, selector: "ng-component", usesInheritance: true, ngImport: i0__namespace, template: "", isInline: true });
567
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BaseAngular, decorators: [{
568
+ type: i0.Component,
569
+ args: [{
570
+ template: ""
571
+ }]
572
+ }], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }, { type: i0__namespace.ViewContainerRef }]; } });
573
+
574
+ var AngularComponentFactory = /** @class */ (function () {
575
+ function AngularComponentFactory() {
576
+ this.creatorHash = {};
577
+ }
578
+ AngularComponentFactory.prototype.registerComponent = function (typeName, componentType) {
579
+ this.creatorHash[typeName] = componentType;
580
+ };
581
+ AngularComponentFactory.prototype.getAllTypes = function () {
582
+ var result = new Array();
583
+ for (var key in this.creatorHash) {
584
+ result.push(key);
585
+ }
586
+ return result.sort();
587
+ };
588
+ AngularComponentFactory.prototype.isComponentRegistered = function (elementType) {
589
+ return !!this.creatorHash[elementType];
590
+ };
591
+ AngularComponentFactory.prototype.create = function (containerRef, elementType, resolver) {
592
+ var componentType = this.creatorHash[elementType];
593
+ if (!componentType)
594
+ return null;
595
+ return containerRef.createComponent(resolver.resolveComponentFactory(componentType));
596
+ };
597
+ return AngularComponentFactory;
598
+ }());
599
+ AngularComponentFactory.Instance = new AngularComponentFactory();
600
+
601
+ var DynamicComponentDirective = /** @class */ (function () {
602
+ function DynamicComponentDirective(containerRef, templateRef, resolver) {
603
+ this.containerRef = containerRef;
604
+ this.templateRef = templateRef;
605
+ this.resolver = resolver;
606
+ }
607
+ DynamicComponentDirective.prototype.ngOnChanges = function (changes) {
608
+ var _a;
609
+ var componentChanges = changes["component"];
610
+ if (componentChanges.currentValue.name !== ((_a = componentChanges.previousValue) === null || _a === void 0 ? void 0 : _a.name) ||
611
+ (componentChanges.currentValue.name === undefined && componentChanges.previousValue === undefined && !this.componentInstance)) {
612
+ this.createComponent();
613
+ }
614
+ else {
615
+ this.updateComponentData();
616
+ }
617
+ };
618
+ DynamicComponentDirective.prototype.createComponent = function () {
619
+ this.containerRef.clear();
620
+ if (AngularComponentFactory.Instance.isComponentRegistered(this.component.name)) {
621
+ this.componentInstance = AngularComponentFactory.Instance.create(this.containerRef, this.component.name, this.resolver).instance;
622
+ }
623
+ else if (this.component.default) {
624
+ this.componentInstance = AngularComponentFactory.Instance.create(this.containerRef, this.component.default, this.resolver).instance;
625
+ }
626
+ if (!this.componentInstance) {
627
+ throw new Error("Can't create component with name: " + this.component.name + " and default: " + this.component.default);
628
+ }
629
+ else {
630
+ this.componentInstance.contentTempl = this.templateRef;
631
+ }
632
+ this.updateComponentData();
633
+ };
634
+ DynamicComponentDirective.prototype.updateComponentData = function () {
635
+ var _this = this;
636
+ var data = this.component.data;
637
+ Object.keys(data).forEach(function (key) {
638
+ _this.componentInstance[key] = data[key];
639
+ });
640
+ };
641
+ return DynamicComponentDirective;
642
+ }());
643
+ DynamicComponentDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DynamicComponentDirective, deps: [{ token: i0__namespace.ViewContainerRef }, { token: i0__namespace.TemplateRef }, { token: i0__namespace.ComponentFactoryResolver }], target: i0__namespace.ɵɵFactoryTarget.Directive });
644
+ DynamicComponentDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: DynamicComponentDirective, selector: "[component]", inputs: { component: "component" }, usesOnChanges: true, ngImport: i0__namespace });
645
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DynamicComponentDirective, decorators: [{
646
+ type: i0.Directive,
647
+ args: [{
648
+ selector: "[component]"
649
+ }]
650
+ }], ctorParameters: function () { return [{ type: i0__namespace.ViewContainerRef }, { type: i0__namespace.TemplateRef }, { type: i0__namespace.ComponentFactoryResolver }]; }, propDecorators: { component: [{
651
+ type: i0.Input
652
+ }] } });
653
+
654
+ var ActionComponent = /** @class */ (function (_super) {
655
+ __extends(ActionComponent, _super);
656
+ function ActionComponent() {
657
+ return _super !== null && _super.apply(this, arguments) || this;
658
+ }
659
+ ActionComponent.prototype.getModel = function () {
660
+ return this.model;
661
+ };
662
+ ActionComponent.prototype.getPropertiesToUpdateSync = function () {
663
+ return ["mode"];
664
+ };
665
+ return ActionComponent;
666
+ }(BaseAngular));
667
+ ActionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
668
+ ActionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ActionComponent, selector: "sv-ng-action", inputs: { model: "model" }, viewQueries: [{ propertyName: "actionContent", first: true, predicate: ["actionContent"], descendants: true, read: i0.ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0__namespace, template: "\n<ng-template #template>\n <div [class]=\"model.getActionRootCss()\" [id]=\"model.id\">\n <div class=\"sv-action__content\">\n <ng-container *ngIf=\"model.needSeparator\">\n <div class=\"sv-action-bar-separator\"></div>\n </ng-container>\n <ng-template [component]=\"{ name: model.component, data: { model }, default: 'sv-action-bar-item'}\"></ng-template>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
669
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActionComponent, decorators: [{
670
+ type: i0.Component,
671
+ args: [{
672
+ selector: "sv-ng-action",
673
+ templateUrl: "./action.component.html",
674
+ styles: [":host { display: none; }"],
675
+ }]
676
+ }], propDecorators: { model: [{
677
+ type: i0.Input
678
+ }], actionContent: [{
679
+ type: i0.ViewChild,
680
+ args: ["actionContent", { read: i0.ViewContainerRef, static: true }]
681
+ }] } });
682
+ AngularComponentFactory.Instance.registerComponent("sv-action", ActionComponent);
683
+
684
+ var ActionBarComponent = /** @class */ (function (_super) {
685
+ __extends(ActionBarComponent, _super);
686
+ function ActionBarComponent() {
687
+ return _super !== null && _super.apply(this, arguments) || this;
688
+ }
689
+ ActionBarComponent.prototype.getModel = function () {
690
+ return this.model;
691
+ };
692
+ Object.defineProperty(ActionBarComponent.prototype, "allowOnClick", {
693
+ get: function () {
694
+ return this.handleClick !== undefined ? this.handleClick : true;
695
+ },
696
+ enumerable: false,
697
+ configurable: true
698
+ });
699
+ ActionBarComponent.prototype.onClick = function (event) {
700
+ if (this.allowOnClick) {
701
+ event.stopPropagation();
702
+ }
703
+ };
704
+ ActionBarComponent.prototype.ngAfterViewInit = function () {
705
+ if (!!this.model.hasActions) {
706
+ this.model.initResponsivityManager(this.container.nativeElement);
707
+ }
708
+ };
709
+ ActionBarComponent.prototype.ngOnDestroy = function () {
710
+ _super.prototype.ngOnDestroy.call(this);
711
+ this.model.resetResponsivityManager();
712
+ };
713
+ return ActionBarComponent;
714
+ }(BaseAngular));
715
+ ActionBarComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActionBarComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
716
+ ActionBarComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: { model: "model", handleClick: "handleClick" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div *ngIf=\"model.hasActions\" [class]=\"model.getRootCss()\" (click)=\"onClick($event)\" #container>\n <ng-container *ngFor=\"let action of model.renderedActions\">\n <sv-ng-action [model]=\"action\"></sv-ng-action>\n </ng-container>\n </div>\n</ng-template>", styles: [":host { display: none }"], components: [{ type: ActionComponent, selector: "sv-ng-action", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
717
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActionBarComponent, decorators: [{
718
+ type: i0.Component,
719
+ args: [{
720
+ selector: "sv-action-bar, sv-ng-action-bar",
721
+ templateUrl: "./action-bar.component.html",
722
+ styles: [":host { display: none }"]
723
+ }]
724
+ }], propDecorators: { model: [{
725
+ type: i0.Input
726
+ }], handleClick: [{
727
+ type: i0.Input
728
+ }], container: [{
729
+ type: i0.ViewChild,
730
+ args: ["container"]
731
+ }] } });
732
+ AngularComponentFactory.Instance.registerComponent("sv-action-bar", ActionBarComponent);
733
+
734
+ var VisibleDirective = /** @class */ (function () {
735
+ function VisibleDirective(el) {
736
+ this.el = el;
737
+ }
738
+ VisibleDirective.prototype.ngOnChanges = function (changes) {
739
+ changes["visible"].currentValue ? this.show() : this.hide();
740
+ };
741
+ VisibleDirective.prototype.hide = function () {
742
+ this.el.nativeElement.style.display = "none";
743
+ };
744
+ VisibleDirective.prototype.show = function () {
745
+ this.el.nativeElement.style.display = "";
746
+ };
747
+ return VisibleDirective;
748
+ }());
749
+ VisibleDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: VisibleDirective, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Directive });
750
+ VisibleDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: VisibleDirective, selector: "[visible]", inputs: { visible: "visible" }, usesOnChanges: true, ngImport: i0__namespace });
751
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: VisibleDirective, decorators: [{
752
+ type: i0.Directive,
753
+ args: [{
754
+ selector: "[visible]"
755
+ }]
756
+ }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }]; }, propDecorators: { visible: [{
757
+ type: i0.Input
758
+ }] } });
759
+
760
+ var PopupBaseContainerComponent = /** @class */ (function (_super) {
761
+ __extends(PopupBaseContainerComponent, _super);
762
+ function PopupBaseContainerComponent(changeDetectorRef) {
763
+ var _this = _super.call(this, changeDetectorRef) || this;
764
+ _this.prevIsVisible = false;
765
+ _this.changeDetectorRef.detach();
766
+ return _this;
767
+ }
768
+ PopupBaseContainerComponent.prototype.getModel = function () {
769
+ return this.model;
770
+ };
771
+ Object.defineProperty(PopupBaseContainerComponent.prototype, "applyButtonText", {
772
+ get: function () {
773
+ var popupModalModel = this.model;
774
+ if (!popupModalModel)
775
+ return null;
776
+ return popupModalModel.applyButtonText;
777
+ },
778
+ enumerable: false,
779
+ configurable: true
780
+ });
781
+ PopupBaseContainerComponent.prototype.apply = function () {
782
+ var popupModalModel = this.model;
783
+ if (!popupModalModel)
784
+ return;
785
+ popupModalModel.apply();
786
+ };
787
+ PopupBaseContainerComponent.prototype.getShouldReattachChangeDetector = function () {
788
+ return false;
789
+ };
790
+ PopupBaseContainerComponent.prototype.onModelChanged = function () {
791
+ this.changeDetectorRef.detectChanges();
792
+ };
793
+ PopupBaseContainerComponent.prototype.afterUpdate = function () {
794
+ _super.prototype.afterUpdate.call(this);
795
+ if (!this.prevIsVisible && this.model.isVisible) {
796
+ this.model.updateOnShowing();
797
+ }
798
+ if (this.prevIsVisible !== this.model.isVisible) {
799
+ this.prevIsVisible = this.model.isVisible;
800
+ }
801
+ };
802
+ PopupBaseContainerComponent.prototype.clickInside = function (event) {
803
+ event.stopPropagation();
804
+ };
805
+ return PopupBaseContainerComponent;
806
+ }(BaseAngular));
807
+ PopupBaseContainerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PopupBaseContainerComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
808
+ PopupBaseContainerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PopupBaseContainerComponent, selector: "sv-ng-popup-container, '[sv-ng-popup-container]'", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<div class=\"sv-popup\" tabindex=\"-1\" [class]=\"model.styleClass\" [visible]=\"model.isVisible\" (click)=\"model.clickOutside()\" (keydown)=\"model.onKeyDown($event)\">\n <div class=\"sv-popup__container\" [style]=\"{ left: model.left, top: model.top, height: model.height, minWidth: model.minWidth, width: model.width }\" (click)=\"clickInside($event)\">\n <div class=\"sv-popup__shadow\">\n <ng-container *ngIf=\"model.showHeader\">\n <ng-template [component]=\"{ name: model.popupHeaderTemplate, data: { model: model } }\"></ng-template>\n </ng-container>\n <div class=\"sv-popup__body-content\">\n <div *ngIf=\"model.title\" class=\"sv-popup__body-header\">{{ model.title }}</div>\n <div class=\"sv-popup__scrolling-content\">\n <div class=\"sv-popup__content\">\n <ng-template [component]=\"{ name: model.contentComponentName, data: model.contentComponentData }\"></ng-template>\n </div>\n </div>\n <div *ngIf=\"model.showFooter\" class=\"sv-popup__body-footer\">\n <sv-ng-action-bar [model]=\"model.footerToolbar\"></sv-ng-action-bar>\n </div>\n </div>\n </div>\n </div>\n</div>", components: [{ type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
809
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PopupBaseContainerComponent, decorators: [{
810
+ type: i0.Component,
811
+ args: [{
812
+ selector: "sv-ng-popup-container, '[sv-ng-popup-container]'",
813
+ templateUrl: "./popup-container.component.html"
814
+ }]
815
+ }], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }]; }, propDecorators: { model: [{
816
+ type: i0.Input
817
+ }] } });
818
+
819
+ var PopupService = /** @class */ (function () {
820
+ function PopupService(injector, applicationRef, componentFactoryResolver) {
821
+ this.injector = injector;
822
+ this.applicationRef = applicationRef;
823
+ this.componentFactoryResolver = componentFactoryResolver;
824
+ }
825
+ PopupService.prototype.createComponent = function (popupViewModel) {
826
+ var portalHost = new portal.DomPortalOutlet(popupViewModel.container, this.componentFactoryResolver, this.applicationRef, this.injector);
827
+ var portal$1 = new portal.ComponentPortal(PopupBaseContainerComponent);
828
+ var componentRef = portalHost.attach(portal$1);
829
+ popupViewModel.container = popupViewModel.container.children[0];
830
+ componentRef.instance.model = popupViewModel;
831
+ componentRef.changeDetectorRef.detectChanges();
832
+ return portalHost;
833
+ };
834
+ return PopupService;
835
+ }());
836
+ PopupService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PopupService, deps: [{ token: i0__namespace.Injector }, { token: i0__namespace.ApplicationRef }, { token: i0__namespace.ComponentFactoryResolver }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
837
+ PopupService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PopupService });
838
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PopupService, decorators: [{
839
+ type: i0.Injectable
840
+ }], ctorParameters: function () { return [{ type: i0__namespace.Injector }, { type: i0__namespace.ApplicationRef }, { type: i0__namespace.ComponentFactoryResolver }]; } });
841
+
842
+ var ModalComponent = /** @class */ (function () {
843
+ function ModalComponent(popupService) {
844
+ this.popupService = popupService;
845
+ this.functionDefined = false;
846
+ }
847
+ ModalComponent.prototype.showDialog = function (dialogOptions) {
848
+ var _this = this;
849
+ this.model = Survey.createPopupModalViewModel(dialogOptions);
850
+ this.model.initializePopupContainer();
851
+ this.model.model.onHide = function () {
852
+ _this.portalHost.detach();
853
+ _this.model.unmountPopupContainer();
854
+ };
855
+ this.portalHost = this.popupService.createComponent(this.model);
856
+ this.model.model.isVisible = true;
857
+ return this.model;
858
+ };
859
+ ModalComponent.prototype.ngOnInit = function () {
860
+ var _this = this;
861
+ if (!!Survey.settings.showModal)
862
+ return;
863
+ this.functionDefined = true;
864
+ Survey.settings.showModal = function (componentName, data, onApply, onCancel, cssClass, title, displayMode) {
865
+ if (displayMode === void 0) { displayMode = "popup"; }
866
+ var options = Survey.createDialogOptions(componentName, data, onApply, onCancel, undefined, undefined, cssClass, title, displayMode);
867
+ return _this.showDialog(options);
868
+ };
869
+ };
870
+ ModalComponent.prototype.ngOnDestroy = function () {
871
+ if (this.functionDefined) {
872
+ Survey.settings.showModal = undefined;
873
+ }
874
+ };
875
+ return ModalComponent;
876
+ }());
877
+ ModalComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ModalComponent, deps: [{ token: PopupService }], target: i0__namespace.ɵɵFactoryTarget.Component });
878
+ ModalComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ModalComponent, selector: "sv-ng-modal-container", ngImport: i0__namespace, template: "", isInline: true, styles: [":host{display:none}\n"] });
879
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ModalComponent, decorators: [{
880
+ type: i0.Component,
881
+ args: [{
882
+ selector: "sv-ng-modal-container",
883
+ template: "",
884
+ styleUrls: ["../../hide-host.scss"]
885
+ }]
886
+ }], ctorParameters: function () { return [{ type: PopupService }]; } });
887
+
888
+ var DynamicHeadComponent = /** @class */ (function (_super) {
889
+ __extends(DynamicHeadComponent, _super);
890
+ function DynamicHeadComponent() {
891
+ return _super !== null && _super.apply(this, arguments) || this;
892
+ }
893
+ Object.defineProperty(DynamicHeadComponent.prototype, "ariaLabel", {
894
+ get: function () {
895
+ return this.element.titleAriaLabel;
896
+ },
897
+ enumerable: false,
898
+ configurable: true
899
+ });
900
+ return DynamicHeadComponent;
901
+ }(EmbeddedViewContentComponent));
902
+ DynamicHeadComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DynamicHeadComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
903
+ DynamicHeadComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicHeadComponent, selector: "sv-ng-dynamic-head", inputs: { tagName: "tagName", element: "element" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <ng-container [ngSwitch]=\"tagName\">\n <h1 *ngSwitchCase=\"'h1'\" [class]=\"element.cssTitle\" [attr.id]=\"element.ariaTitleId\" [attr.tabindex]=\"element.titleTabIndex\" [attr.aria-expanded]=\"element.titleAriaExpanded\" [attr.role]=\"'button'\" [attr.aria-label]=\"ariaLabel\"><ng-container *ngTemplateOutlet=\"titleContent\"></ng-container></h1>\n <h2 *ngSwitchCase=\"'h2'\"[class]=\"element.cssTitle\" [attr.id]=\"element.ariaTitleId\" [attr.tabindex]=\"element.titleTabIndex\" [attr.aria-expanded]=\"element.titleAriaExpanded\" [attr.role]=\"'button'\" [attr.aria-label]=\"ariaLabel\"><ng-container *ngTemplateOutlet=\"titleContent\"></ng-container></h2>\n <h3 *ngSwitchCase=\"'h3'\"[class]=\"element.cssTitle\" [attr.id]=\"element.ariaTitleId\" [attr.tabindex]=\"element.titleTabIndex\" [attr.aria-expanded]=\"element.titleAriaExpanded\" [attr.role]=\"'button'\" [attr.aria-label]=\"ariaLabel\"><ng-container *ngTemplateOutlet=\"titleContent\"></ng-container></h3>\n <h4 *ngSwitchCase=\"'h4'\"[class]=\"element.cssTitle\" [attr.id]=\"element.ariaTitleId\" [attr.tabindex]=\"element.titleTabIndex\" [attr.aria-expanded]=\"element.titleAriaExpanded\" [attr.role]=\"'button'\" [attr.aria-label]=\"ariaLabel\"><ng-container *ngTemplateOutlet=\"titleContent\"></ng-container></h4>\n <h5 *ngSwitchCase=\"'h5'\"[class]=\"element.cssTitle\" [attr.id]=\"element.ariaTitleId\" [attr.tabindex]=\"element.titleTabIndex\" [attr.aria-expanded]=\"element.titleAriaExpanded\" [attr.role]=\"'button'\" [attr.aria-label]=\"ariaLabel\"><ng-container *ngTemplateOutlet=\"titleContent\"></ng-container></h5>\n <h6 *ngSwitchCase=\"'h6'\"[class]=\"element.cssTitle\" [attr.id]=\"element.ariaTitleId\" [attr.tabindex]=\"element.titleTabIndex\" [attr.aria-expanded]=\"element.titleAriaExpanded\" [attr.role]=\"'button'\" [attr.aria-label]=\"ariaLabel\"><ng-container *ngTemplateOutlet=\"titleContent\"></ng-container></h6>\n </ng-container>\n <ng-template #titleContent>\n <ng-content></ng-content>\n </ng-template>\n</ng-template>", styles: [":host{display:none}\n"], directives: [{ type: i2__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
904
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DynamicHeadComponent, decorators: [{
905
+ type: i0.Component,
906
+ args: [{
907
+ selector: "sv-ng-dynamic-head",
908
+ templateUrl: "./dynamic-head.component.html",
909
+ styleUrls: ["../../hide-host.scss"]
910
+ }]
911
+ }], propDecorators: { tagName: [{
912
+ type: i0.Input
913
+ }], element: [{
914
+ type: i0.Input
915
+ }] } });
916
+
917
+ var SurveyStringComponent = /** @class */ (function () {
918
+ function SurveyStringComponent() {
919
+ }
920
+ return SurveyStringComponent;
921
+ }());
922
+ SurveyStringComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyStringComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
923
+ SurveyStringComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: { model: "model" }, ngImport: i0__namespace, template: "<ng-template [component]='{ name: model.renderAs, data: { model: model.renderAsData } }'></ng-template>", isInline: true, directives: [{ type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
924
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyStringComponent, decorators: [{
925
+ type: i0.Component,
926
+ args: [{
927
+ selector: "sv-ng-string, '[sv-ng-string]'",
928
+ template: "<ng-template [component]='{ name: model.renderAs, data: { model: model.renderAsData } }'></ng-template>"
929
+ }]
930
+ }], propDecorators: { model: [{
931
+ type: i0.Input
932
+ }] } });
933
+
934
+ var ElementTitleActionsComponent = /** @class */ (function (_super) {
935
+ __extends(ElementTitleActionsComponent, _super);
936
+ function ElementTitleActionsComponent() {
937
+ return _super !== null && _super.apply(this, arguments) || this;
938
+ }
939
+ return ElementTitleActionsComponent;
940
+ }(EmbeddedViewContentComponent));
941
+ ElementTitleActionsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ElementTitleActionsComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
942
+ ElementTitleActionsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ElementTitleActionsComponent, selector: "sv-ng-element-title-actions", inputs: { element: "element" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <ng-container *ngIf=\"!element.hasTitleActions\">\n <ng-container *ngTemplateOutlet=\"elementTitleContent\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"element.hasTitleActions\">\n <div class=\"sv-title-actions\">\n <span class=\"sv-title-actions__title\">\n <ng-container *ngTemplateOutlet=\"elementTitleContent\"></ng-container>\n </span>\n <sv-ng-action-bar [model]=\"element.getTitleToolbar()\"></sv-ng-action-bar>\n </div>\n </ng-container>\n <ng-template #elementTitleContent>\n <sv-ng-string *ngIf=\"element.isTitleRenderedAsString\" [model]=\"element.locTitle\"></sv-ng-string>\n <ng-container *ngIf=\"!element.isTitleRenderedAsString\">\n <span\n *ngIf=\"element.isRequireTextOnStart\"\n [class]=\"element.cssClasses.requiredText\"\n [attr.aria-hidden]=\"true\"\n >{{ element.requiredText }}</span>\n <span\n *ngIf=\"element.no\"\n style=\"position: static\"\n [class]=\"element.cssClasses.number || element.cssClasses.panel.number\"\n [attr.aria-hidden]=\"true\"\n >{{ element.no }}</span>\n <span *ngIf=\"element.no\">&nbsp;</span>\n <span\n *ngIf=\"element.isRequireTextBeforeTitle\"\n [class]=\"element.cssClasses.requiredText\"\n [attr.aria-hidden]=\"true\"\n >{{ element.requiredText }}</span>\n <span *ngIf=\"element.isRequireTextBeforeTitle\">&nbsp;</span>\n <sv-ng-string [model]=\"element.locTitle\"></sv-ng-string>\n <span *ngIf=\"element.isRequireTextAfterTitle\">&nbsp;</span>\n <span\n *ngIf=\" element.isRequireTextAfterTitle\"\n [class]=\"element.cssClasses.requiredText\"\n [attr.aria-hidden]=\"true\"\n >{{ element.requiredText }}</span> \n </ng-container>\n </ng-template>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
943
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ElementTitleActionsComponent, decorators: [{
944
+ type: i0.Component,
945
+ args: [{
946
+ selector: "sv-ng-element-title-actions",
947
+ templateUrl: "./title-actions.component.html",
948
+ styleUrls: ["../../hide-host.scss"]
949
+ }]
950
+ }], propDecorators: { element: [{
951
+ type: i0.Input
952
+ }] } });
953
+
954
+ var ElementTitleComponent = /** @class */ (function (_super) {
955
+ __extends(ElementTitleComponent, _super);
956
+ function ElementTitleComponent() {
957
+ return _super !== null && _super.apply(this, arguments) || this;
958
+ }
959
+ return ElementTitleComponent;
960
+ }(EmbeddedViewContentComponent));
961
+ ElementTitleComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ElementTitleComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
962
+ ElementTitleComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ElementTitleComponent, selector: "sv-ng-element-title", inputs: { element: "element" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <sv-ng-dynamic-head [tagName]=\"element.titleTagName\" [element]=\"element\" *ngIf=\"element.hasTitle\">\n <sv-ng-element-title-actions [element]=\"element\"></sv-ng-element-title-actions>\n </sv-ng-dynamic-head>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: DynamicHeadComponent, selector: "sv-ng-dynamic-head", inputs: ["tagName", "element"] }, { type: ElementTitleActionsComponent, selector: "sv-ng-element-title-actions", inputs: ["element"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
963
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ElementTitleComponent, decorators: [{
964
+ type: i0.Component,
965
+ args: [{
966
+ selector: "sv-ng-element-title",
967
+ templateUrl: "./element-title.component.html",
968
+ styleUrls: ["../../hide-host.scss"]
969
+ }]
970
+ }], propDecorators: { element: [{
971
+ type: i0.Input
972
+ }] } });
973
+
974
+ var SurveyHeaderComponent = /** @class */ (function () {
975
+ function SurveyHeaderComponent(viewContainerRef, changeDetectorRef) {
976
+ this.viewContainerRef = viewContainerRef;
977
+ this.changeDetectorRef = changeDetectorRef;
978
+ }
979
+ SurveyHeaderComponent.prototype.ngAfterViewInit = function () {
980
+ var _this = this;
981
+ this.survey.afterRenderHeader(this.viewContainerRef.element.nativeElement);
982
+ this.survey.locLogo.onChanged = function () {
983
+ _this.changeDetectorRef.detectChanges();
984
+ };
985
+ };
986
+ SurveyHeaderComponent.prototype.ngOnDestroy = function () {
987
+ this.survey.locLogo.onChanged = function () { };
988
+ };
989
+ return SurveyHeaderComponent;
990
+ }());
991
+ SurveyHeaderComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyHeaderComponent, deps: [{ token: i0__namespace.ViewContainerRef }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
992
+ SurveyHeaderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SurveyHeaderComponent, selector: "'[sv-ng-survey-header]'", inputs: { survey: "survey" }, ngImport: i0__namespace, 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: ElementTitleComponent, selector: "sv-ng-element-title", inputs: ["element"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
993
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyHeaderComponent, decorators: [{
994
+ type: i0.Component,
995
+ args: [{
996
+ selector: "'[sv-ng-survey-header]'",
997
+ templateUrl: "survey-header.component.html"
998
+ }]
999
+ }], ctorParameters: function () { return [{ type: i0__namespace.ViewContainerRef }, { type: i0__namespace.ChangeDetectorRef }]; }, propDecorators: { survey: [{
1000
+ type: i0.Input
1001
+ }] } });
1002
+
1003
+ var SvgIconComponent = /** @class */ (function () {
1004
+ function SvgIconComponent(viewContaierRef) {
1005
+ this.viewContaierRef = viewContaierRef;
1006
+ }
1007
+ SvgIconComponent.prototype.createSvg = function () {
1008
+ if (!!this.iconName) {
1009
+ Survey__namespace.createSvg(this.size, this.width, this.height, this.iconName, this.viewContaierRef.element.nativeElement, this.title);
1010
+ }
1011
+ };
1012
+ Object.defineProperty(SvgIconComponent.prototype, "rootClass", {
1013
+ get: function () {
1014
+ var className = "sv-svg-icon";
1015
+ if (!this.css && !!this.partCss) {
1016
+ className += " " + this.partCss;
1017
+ }
1018
+ else if (!!this.css) {
1019
+ className = this.css;
1020
+ }
1021
+ return className;
1022
+ },
1023
+ enumerable: false,
1024
+ configurable: true
1025
+ });
1026
+ Object.defineProperty(SvgIconComponent.prototype, "rootRole", {
1027
+ get: function () {
1028
+ return "img";
1029
+ },
1030
+ enumerable: false,
1031
+ configurable: true
1032
+ });
1033
+ Object.defineProperty(SvgIconComponent.prototype, "ariaLabel", {
1034
+ get: function () {
1035
+ return this.title;
1036
+ },
1037
+ enumerable: false,
1038
+ configurable: true
1039
+ });
1040
+ SvgIconComponent.prototype.ngOnChanges = function () {
1041
+ var el = this.viewContaierRef.element.nativeElement;
1042
+ el.innerHTML = "";
1043
+ el.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "use"));
1044
+ this.createSvg();
1045
+ };
1046
+ return SvgIconComponent;
1047
+ }());
1048
+ SvgIconComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SvgIconComponent, deps: [{ token: i0__namespace.ViewContainerRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
1049
+ SvgIconComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "", isInline: true });
1050
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SvgIconComponent, decorators: [{
1051
+ type: i0.Component,
1052
+ args: [{
1053
+ selector: "'[sv-ng-svg-icon]'",
1054
+ template: ""
1055
+ }]
1056
+ }], ctorParameters: function () { return [{ type: i0__namespace.ViewContainerRef }]; }, propDecorators: { size: [{
1057
+ type: i0.Input
1058
+ }], width: [{
1059
+ type: i0.Input
1060
+ }], height: [{
1061
+ type: i0.Input
1062
+ }], iconName: [{
1063
+ type: i0.Input
1064
+ }], partCss: [{
1065
+ type: i0.Input
1066
+ }], css: [{
1067
+ type: i0.Input
1068
+ }], title: [{
1069
+ type: i0.Input
1070
+ }], rootClass: [{
1071
+ type: i0.HostBinding,
1072
+ args: ["class"]
1073
+ }], rootRole: [{
1074
+ type: i0.HostBinding,
1075
+ args: ["[attr.role]"]
1076
+ }], ariaLabel: [{
1077
+ type: i0.HostBinding,
1078
+ args: ["[attr.aria-label]"]
1079
+ }] } });
1080
+
1081
+ var TimerPanelComponent = /** @class */ (function (_super) {
1082
+ __extends(TimerPanelComponent, _super);
1083
+ function TimerPanelComponent() {
1084
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
1085
+ _this.circleLengthValue = 440;
1086
+ return _this;
1087
+ }
1088
+ TimerPanelComponent.prototype.getStateElement = function () {
1089
+ return this.model;
1090
+ };
1091
+ TimerPanelComponent.prototype.getModel = function () {
1092
+ return this.model;
1093
+ };
1094
+ Object.defineProperty(TimerPanelComponent.prototype, "circleLength", {
1095
+ get: function () {
1096
+ return this.circleLengthValue;
1097
+ },
1098
+ enumerable: false,
1099
+ configurable: true
1100
+ });
1101
+ Object.defineProperty(TimerPanelComponent.prototype, "progress", {
1102
+ get: function () {
1103
+ return -this.model.progress * this.circleLength;
1104
+ },
1105
+ enumerable: false,
1106
+ configurable: true
1107
+ });
1108
+ return TimerPanelComponent;
1109
+ }(BaseAngular));
1110
+ TimerPanelComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TimerPanelComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1111
+ TimerPanelComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TimerPanelComponent, selector: "sv-timer-panel", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, 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: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1112
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TimerPanelComponent, decorators: [{
1113
+ type: i0.Component,
1114
+ args: [{
1115
+ selector: "sv-timer-panel",
1116
+ templateUrl: "./timer-panel.component.html",
1117
+ }]
1118
+ }], propDecorators: { model: [{
1119
+ type: i0.Input
1120
+ }] } });
1121
+
1122
+ var ElementComponent = /** @class */ (function (_super) {
1123
+ __extends(ElementComponent, _super);
1124
+ function ElementComponent() {
1125
+ return _super !== null && _super.apply(this, arguments) || this;
1126
+ }
1127
+ ElementComponent.prototype.getModel = function () {
1128
+ return this.model;
1129
+ };
1130
+ Object.defineProperty(ElementComponent.prototype, "elementComponentName", {
1131
+ get: function () {
1132
+ return this.model.isPanel ? "panel" : "question";
1133
+ },
1134
+ enumerable: false,
1135
+ configurable: true
1136
+ });
1137
+ Object.defineProperty(ElementComponent.prototype, "componentName", {
1138
+ get: function () {
1139
+ var survey = this.surveyModel;
1140
+ if (!!survey) {
1141
+ var name = survey.getElementWrapperComponentName(this.model);
1142
+ if (!!name) {
1143
+ return name;
1144
+ }
1145
+ }
1146
+ return this.elementComponentName;
1147
+ },
1148
+ enumerable: false,
1149
+ configurable: true
1150
+ });
1151
+ Object.defineProperty(ElementComponent.prototype, "rootStyle", {
1152
+ get: function () {
1153
+ //use this if to check if cssClassses are calculated and allowRootStyle flag was set
1154
+ if (!!this.model.cssClasses) {
1155
+ return this.model.rootStyle;
1156
+ }
1157
+ else {
1158
+ return {};
1159
+ }
1160
+ },
1161
+ enumerable: false,
1162
+ configurable: true
1163
+ });
1164
+ Object.defineProperty(ElementComponent.prototype, "componentData", {
1165
+ get: function () {
1166
+ var survey = this.surveyModel;
1167
+ var data;
1168
+ if (!!survey) {
1169
+ data = survey.getElementWrapperComponentData(this.model);
1170
+ }
1171
+ return {
1172
+ componentName: this.elementComponentName,
1173
+ componentData: {
1174
+ model: this.model,
1175
+ data: data
1176
+ }
1177
+ };
1178
+ },
1179
+ enumerable: false,
1180
+ configurable: true
1181
+ });
1182
+ return ElementComponent;
1183
+ }(BaseAngular));
1184
+ ElementComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ElementComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1185
+ ElementComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ElementComponent, selector: "sv-ng-element", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, 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: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
1186
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ElementComponent, decorators: [{
1187
+ type: i0.Component,
1188
+ args: [{
1189
+ selector: "sv-ng-element",
1190
+ templateUrl: "./element.component.html",
1191
+ styleUrls: ["./hide-host.scss"]
1192
+ }]
1193
+ }], propDecorators: { model: [{
1194
+ type: i0.Input
1195
+ }] } });
1196
+
1197
+ var RowComponent = /** @class */ (function (_super) {
1198
+ __extends(RowComponent, _super);
1199
+ function RowComponent(cdr, vcr, ngZone) {
1200
+ var _this = _super.call(this, cdr, vcr) || this;
1201
+ _this.ngZone = ngZone;
1202
+ return _this;
1203
+ }
1204
+ RowComponent.prototype.getModel = function () {
1205
+ return this.row;
1206
+ };
1207
+ RowComponent.prototype.trackElementBy = function (index, element) {
1208
+ return element.name + index;
1209
+ };
1210
+ RowComponent.prototype.ngAfterViewInit = function () {
1211
+ var _this = this;
1212
+ var _a;
1213
+ var el = (_a = this.container) === null || _a === void 0 ? void 0 : _a.nativeElement;
1214
+ if (!!el && !this.row.isNeedRender) {
1215
+ this.ngZone.runOutsideAngular(function () {
1216
+ setTimeout(function () {
1217
+ _this.row.startLazyRendering(el);
1218
+ }, 10);
1219
+ });
1220
+ }
1221
+ };
1222
+ RowComponent.prototype.onModelChanged = function () {
1223
+ _super.prototype.onModelChanged.call(this);
1224
+ if (!this.previousModel) {
1225
+ return;
1226
+ }
1227
+ else {
1228
+ this.row.isNeedRender = this.previousModel.isNeedRender;
1229
+ this.stopLazyRendering();
1230
+ }
1231
+ };
1232
+ RowComponent.prototype.stopLazyRendering = function () {
1233
+ this.row.stopLazyRendering();
1234
+ this.row.isNeedRender = !this.row.isLazyRendering();
1235
+ };
1236
+ RowComponent.prototype.ngOnDestroy = function () {
1237
+ _super.prototype.ngOnDestroy.call(this);
1238
+ this.stopLazyRendering();
1239
+ };
1240
+ return RowComponent;
1241
+ }(BaseAngular));
1242
+ RowComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RowComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }, { token: i0__namespace.ViewContainerRef }, { token: i0__namespace.NgZone }], target: i0__namespace.ɵɵFactoryTarget.Component });
1243
+ RowComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RowComponent, selector: "sv-ng-row", inputs: { row: "row" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: i0.ElementRef }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"row.getRowCss()\" *ngIf=\"row.visible\" #container>\n <ng-container *ngFor=\"let element of row.visibleElements; trackBy: trackElementBy\">\n <sv-ng-element [model]=\"$any(element)\" *ngIf=\"row.isNeedRender\"></sv-ng-element>\n <ng-template *ngIf=\"!row.isNeedRender && element.skeletonComponentName\" [component]=\"{ name: element.skeletonComponentName, data: { element: element } }\"></ng-template>\n </ng-container>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: ElementComponent, selector: "sv-ng-element", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
1244
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RowComponent, decorators: [{
1245
+ type: i0.Component,
1246
+ args: [{
1247
+ selector: "sv-ng-row",
1248
+ templateUrl: "./row.component.html",
1249
+ styleUrls: ["./hide-host.scss"]
1250
+ }]
1251
+ }], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }, { type: i0__namespace.ViewContainerRef }, { type: i0__namespace.NgZone }]; }, propDecorators: { row: [{
1252
+ type: i0.Input
1253
+ }], container: [{
1254
+ type: i0.ViewChild,
1255
+ args: ["container", { read: i0.ElementRef }]
1256
+ }] } });
1257
+
1258
+ var PageComponent = /** @class */ (function (_super) {
1259
+ __extends(PageComponent, _super);
1260
+ function PageComponent() {
1261
+ return _super !== null && _super.apply(this, arguments) || this;
1262
+ }
1263
+ PageComponent.prototype.getModel = function () {
1264
+ return this.model;
1265
+ };
1266
+ PageComponent.prototype.onModelChanged = function () {
1267
+ if (!!this.pageContainerRef && this.pageContainerRef.nativeElement) {
1268
+ this.model.survey.afterRenderPage(this.pageContainerRef.nativeElement);
1269
+ }
1270
+ };
1271
+ PageComponent.prototype.ngAfterViewInit = function () {
1272
+ var _a, _b;
1273
+ (_a = this.model.survey) === null || _a === void 0 ? void 0 : _a.afterRenderPage((_b = this.pageContainerRef) === null || _b === void 0 ? void 0 : _b.nativeElement);
1274
+ };
1275
+ return PageComponent;
1276
+ }(BaseAngular));
1277
+ PageComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PageComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1278
+ PageComponent.ɵcmp = i0__namespace.ɵɵ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: i0.ElementRef }], usesInheritance: true, ngImport: i0__namespace, 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: ElementTitleComponent, selector: "sv-ng-element-title", inputs: ["element"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: RowComponent, selector: "sv-ng-row", inputs: ["row"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
1279
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PageComponent, decorators: [{
1280
+ type: i0.Component,
1281
+ args: [{
1282
+ selector: "page, sv-ng-page",
1283
+ templateUrl: "./page.component.html",
1284
+ styleUrls: ["./hide-host.scss"]
1285
+ }]
1286
+ }], propDecorators: { model: [{
1287
+ type: i0.Input
1288
+ }], survey: [{
1289
+ type: i0.Input
1290
+ }], pageContainerRef: [{
1291
+ type: i0.ViewChild,
1292
+ args: ["pageContainer", { static: false, read: i0.ElementRef }]
1293
+ }] } });
1294
+
1295
+ var BrandInfoComponent = /** @class */ (function () {
1296
+ function BrandInfoComponent() {
1297
+ }
1298
+ return BrandInfoComponent;
1299
+ }());
1300
+ BrandInfoComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BrandInfoComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
1301
+ BrandInfoComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: BrandInfoComponent, selector: "sv-brand-info", ngImport: i0__namespace, template: "<div class=\"sv-brand-info\">\n <a class=\"sv-brand-info__logo\" href=\"https://surveyjs.io/?utm_source=built-in_links&utm_medium=online_survey_tool&utm_campaign=landing_page\"><img src=\"https://surveyjs.io/Content/Images/poweredby.svg\"/></a>\n <div class=\"sv-brand-info__text\">Try and see how easy it is to <a href=\"https://surveyjs.io/create-survey?utm_source=built-in_links&utm_medium=online_survey_tool&utm_campaign=create_survey\">create a survey</a></div>\n <div class=\"sv-brand-info__terms\"><a href=\"https://surveyjs.io/TermsOfUse\">Terms of Use & Privacy Statement</a></div>\n</div>" });
1302
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BrandInfoComponent, decorators: [{
1303
+ type: i0.Component,
1304
+ args: [{
1305
+ selector: "sv-brand-info",
1306
+ templateUrl: "./brand-info.component.html"
1307
+ }]
1308
+ }] });
1309
+ AngularComponentFactory.Instance.registerComponent("sv-brand-info", BrandInfoComponent);
1310
+
1311
+ var NotifierComponent = /** @class */ (function (_super) {
1312
+ __extends(NotifierComponent, _super);
1313
+ function NotifierComponent() {
1314
+ return _super !== null && _super.apply(this, arguments) || this;
1315
+ }
1316
+ NotifierComponent.prototype.getStateElement = function () {
1317
+ return this.notifier;
1318
+ };
1319
+ NotifierComponent.prototype.getModel = function () {
1320
+ return this.notifier;
1321
+ };
1322
+ return NotifierComponent;
1323
+ }(BaseAngular));
1324
+ NotifierComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NotifierComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1325
+ NotifierComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotifierComponent, selector: "sv-notifier", inputs: { notifier: "notifier" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [visible]=\"notifier.active\" [class]=\"notifier.css\">\n <span>{{notifier.message}}</span>\n <sv-action-bar [model]=\"notifier.actionBar\"></sv-action-bar> \n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
1326
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NotifierComponent, decorators: [{
1327
+ type: i0.Component,
1328
+ args: [{
1329
+ selector: "sv-notifier",
1330
+ templateUrl: "./notifier.component.html",
1331
+ styles: [":host { display: none; }"]
1332
+ }]
1333
+ }], propDecorators: { notifier: [{
1334
+ type: i0.Input
1335
+ }] } });
1336
+
1337
+ var SurveyContentComponent = /** @class */ (function (_super) {
1338
+ __extends(SurveyContentComponent, _super);
1339
+ function SurveyContentComponent() {
1340
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
1341
+ _this.isSurveyUpdated = false;
1342
+ return _this;
1343
+ }
1344
+ SurveyContentComponent.prototype.getModel = function () {
1345
+ return this.model;
1346
+ };
1347
+ SurveyContentComponent.prototype.onModelChanged = function () {
1348
+ var _this = this;
1349
+ if (!!this.previousModel) {
1350
+ this.previousModel.destroyResizeObserver();
1351
+ this.previousModel.renderCallback = undefined;
1352
+ }
1353
+ if (!!this.model) {
1354
+ this.model.renderCallback = function () {
1355
+ _this.detectChanges();
1356
+ };
1357
+ }
1358
+ this.isSurveyUpdated = true;
1359
+ };
1360
+ SurveyContentComponent.prototype.ngOnInit = function () {
1361
+ _super.prototype.ngOnInit.call(this);
1362
+ if (!!this.model && this.model["needRenderIcons"]) {
1363
+ Survey.SvgRegistry.renderIcons();
1364
+ }
1365
+ };
1366
+ SurveyContentComponent.prototype.ngOnDestroy = function () {
1367
+ _super.prototype.ngOnDestroy.call(this);
1368
+ if (!!this.model) {
1369
+ this.model.renderCallback = undefined;
1370
+ }
1371
+ };
1372
+ SurveyContentComponent.prototype.ngAfterViewInit = function () {
1373
+ this.isSurveyUpdated = true;
1374
+ };
1375
+ SurveyContentComponent.prototype.ngAfterViewChecked = function () {
1376
+ if (!!this.model && this.isSurveyUpdated) {
1377
+ this.model.afterRenderSurvey(this.rootEl.nativeElement);
1378
+ }
1379
+ _super.prototype.ngAfterViewChecked.call(this);
1380
+ };
1381
+ return SurveyContentComponent;
1382
+ }(BaseAngular));
1383
+ SurveyContentComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyContentComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1384
+ SurveyContentComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SurveyContentComponent, selector: "survey-content", inputs: { model: "model" }, viewQueries: [{ propertyName: "rootEl", first: true, predicate: ["surveyContainer"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div #surveyContainer *ngIf=\"!!model\" [class]=\"model.getRootCss()\">\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 <ng-container *ngIf=\"model.isTimerPanelShowingOnTop && !model.isShowStartingPage\">\n <sv-timer-panel [model]=\"model.timerModel\"></sv-timer-panel>\n </ng-container>\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 <div *ngIf=\"model.isShowingPage\" [class]=\"model.bodyCss\" [style.maxWidth]=\"model.renderedWidth\" [id]=\"model.activePage ? model.activePage.id : ''\">\n <sv-action-bar *ngIf=\"model.isNavigationButtonsShowingOnTop\" [model]=\"model.navigationBar\"></sv-action-bar>\n <!-- ko if: activePage -->\n <ng-container *ngIf=\"model.activePage\">\n <sv-ng-page [model]=\"model.activePage\" [survey]=\"model\"></sv-ng-page>\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 <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 <ng-container *ngIf=\"model.isTimerPanelShowingOnBottom && !model.isShowStartingPage\">\n <sv-timer-panel [model]=\"model.timerModel\"></sv-timer-panel>\n </ng-container>\n <div *ngIf=\"model.state === 'completed' && model.showCompletedPage\" [class]=\"model.completedCss\"\n [innerHtml]=\"model.processedCompletedHtml\"></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 <sv-notifier [notifier]=\"model.notifier\"></sv-notifier>\n </div>\n</ng-template>", components: [{ type: SurveyHeaderComponent, selector: "'[sv-ng-survey-header]'", inputs: ["survey"] }, { type: TimerPanelComponent, selector: "sv-timer-panel", inputs: ["model"] }, { type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: PageComponent, selector: "page, sv-ng-page", inputs: ["model", "survey"] }, { type: BrandInfoComponent, selector: "sv-brand-info" }, { type: NotifierComponent, selector: "sv-notifier", inputs: ["notifier"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3__namespace.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
1385
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyContentComponent, decorators: [{
1386
+ type: i0.Component,
1387
+ args: [{
1388
+ selector: "survey-content",
1389
+ templateUrl: "./survey-content.component.html"
1390
+ }]
1391
+ }], propDecorators: { model: [{
1392
+ type: i0.Input
1393
+ }], rootEl: [{
1394
+ type: i0.ViewChild,
1395
+ args: ["surveyContainer", { static: false }]
1396
+ }] } });
1397
+ AngularComponentFactory.Instance.registerComponent("survey", SurveyContentComponent);
1398
+
1399
+ var SurveyComponent = /** @class */ (function (_super) {
1400
+ __extends(SurveyComponent, _super);
1401
+ function SurveyComponent(changeDetectorRef) {
1402
+ var _this = _super.call(this, changeDetectorRef) || this;
1403
+ changeDetectorRef.detach();
1404
+ return _this;
1405
+ }
1406
+ SurveyComponent.prototype.getModel = function () {
1407
+ return this.model;
1408
+ };
1409
+ SurveyComponent.prototype.getShouldReattachChangeDetector = function () {
1410
+ return false;
1411
+ };
1412
+ SurveyComponent.prototype.onModelChanged = function () {
1413
+ this.changeDetectorRef.detectChanges();
1414
+ };
1415
+ return SurveyComponent;
1416
+ }(BaseAngular));
1417
+ SurveyComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
1418
+ SurveyComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SurveyComponent, selector: "survey", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<sv-ng-modal-container></sv-ng-modal-container><survey-content [model]='model'></survey-content>", isInline: true, components: [{ type: ModalComponent, selector: "sv-ng-modal-container" }, { type: SurveyContentComponent, selector: "survey-content", inputs: ["model"] }] });
1419
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyComponent, decorators: [{
1420
+ type: i0.Component,
1421
+ args: [{
1422
+ selector: "survey",
1423
+ template: "<sv-ng-modal-container></sv-ng-modal-container><survey-content [model]='model'></survey-content>"
1424
+ }]
1425
+ }], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }]; }, propDecorators: { model: [{
1426
+ type: i0.Input
1427
+ }] } });
1428
+
1429
+ var PopupSurveyComponent = /** @class */ (function (_super) {
1430
+ __extends(PopupSurveyComponent, _super);
1431
+ function PopupSurveyComponent(changeDetectorRef) {
1432
+ var _this = _super.call(this, changeDetectorRef) || this;
1433
+ changeDetectorRef.detach();
1434
+ return _this;
1435
+ }
1436
+ PopupSurveyComponent.prototype.getModel = function () {
1437
+ return this.popup;
1438
+ };
1439
+ PopupSurveyComponent.prototype.getShouldReattachChangeDetector = function () {
1440
+ return false;
1441
+ };
1442
+ PopupSurveyComponent.prototype.ngOnChanges = function (changes) {
1443
+ var _a, _b;
1444
+ if (((_a = changes["model"]) === null || _a === void 0 ? void 0 : _a.currentValue) !== ((_b = changes["model"]) === null || _b === void 0 ? void 0 : _b.previousValue)) {
1445
+ this.popup = new Survey.PopupSurveyModel(null, this.model);
1446
+ }
1447
+ if (this.isExpanded !== undefined) {
1448
+ this.popup.isExpanded = this.isExpanded;
1449
+ }
1450
+ if (this.closeOnCompleteTimeout !== undefined) {
1451
+ this.popup.closeOnCompleteTimeout = this.closeOnCompleteTimeout;
1452
+ }
1453
+ this.popup.isShowing = true;
1454
+ this.changeDetectorRef.detectChanges();
1455
+ };
1456
+ return PopupSurveyComponent;
1457
+ }(BaseAngular));
1458
+ PopupSurveyComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PopupSurveyComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
1459
+ PopupSurveyComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PopupSurveyComponent, selector: "popup-survey", inputs: { model: "model", isExpanded: "isExpanded", closeOnCompleteTimeout: "closeOnCompleteTimeout" }, usesInheritance: true, usesOnChanges: true, ngImport: i0__namespace, template: "<div *ngIf=\"!!popup && popup.isShowing\" [class]=\"popup.cssRoot\" style=\"position: fixed; bottom: 3px; right: 10px;\" [style.width]=\"popup.renderedWidth\" [style.maxWidth]=\"popup.renderedWidth\">\n <div [class]=\"popup.cssHeaderRoot\">\n <span (click)=\"popup.changeExpandCollapse()\" style=\"width: 100%; cursor: pointer;\">\n <span style=\"padding-right:10px\" [class]=\"popup.cssHeaderTitle\">{{popup.locTitle.renderedHtml}}</span>\n <span aria-hidden=\"true\" [class]=\"popup.cssButton\"></span>\n </span>\n <span *ngIf=\"popup.isExpanded\" (click)=\"popup.changeExpandCollapse()\" style=\"float: right; cursor: pointer;\">\n <span style=\"padding-right:10px\" [class]=\"popup.cssHeaderTitle\">X</span>\n </span>\n </div>\n <div *ngIf=\"popup.isExpanded\" [class]=\"popup.cssBody\">\n <survey [model]=\"popup.survey\"></survey>\n </div>\n</div>", styles: [""], components: [{ type: SurveyComponent, selector: "survey", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1460
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PopupSurveyComponent, decorators: [{
1461
+ type: i0.Component,
1462
+ args: [{
1463
+ selector: "popup-survey",
1464
+ templateUrl: "./popup.survey.component.html",
1465
+ styleUrls: ["./popup.survey.component.scss"]
1466
+ }]
1467
+ }], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }]; }, propDecorators: { model: [{
1468
+ type: i0.Input
1469
+ }], isExpanded: [{
1470
+ type: i0.Input
1471
+ }], closeOnCompleteTimeout: [{
1472
+ type: i0.Input
1473
+ }] } });
1474
+
1475
+ var ErrorsComponent = /** @class */ (function () {
1476
+ function ErrorsComponent(viewContainerRef) {
1477
+ this.viewContainerRef = viewContainerRef;
1478
+ }
1479
+ ErrorsComponent.prototype.ngOnInit = function () {
1480
+ if (this.location == "tooltip") {
1481
+ this.tooltipManager = new Survey.TooltipManager(this.viewContainerRef.element.nativeElement);
1482
+ }
1483
+ };
1484
+ ErrorsComponent.prototype.ngOnDestroy = function () {
1485
+ if (!!this.tooltipManager) {
1486
+ this.tooltipManager.dispose();
1487
+ }
1488
+ };
1489
+ Object.defineProperty(ErrorsComponent.prototype, "role", {
1490
+ get: function () {
1491
+ return "alert";
1492
+ },
1493
+ enumerable: false,
1494
+ configurable: true
1495
+ });
1496
+ Object.defineProperty(ErrorsComponent.prototype, "id", {
1497
+ get: function () {
1498
+ return this.element.id + "_errors";
1499
+ },
1500
+ enumerable: false,
1501
+ configurable: true
1502
+ });
1503
+ Object.defineProperty(ErrorsComponent.prototype, "ariaLive", {
1504
+ get: function () {
1505
+ return "polite";
1506
+ },
1507
+ enumerable: false,
1508
+ configurable: true
1509
+ });
1510
+ Object.defineProperty(ErrorsComponent.prototype, "class", {
1511
+ get: function () {
1512
+ return this.element.cssError;
1513
+ },
1514
+ enumerable: false,
1515
+ configurable: true
1516
+ });
1517
+ return ErrorsComponent;
1518
+ }());
1519
+ ErrorsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ErrorsComponent, deps: [{ token: i0__namespace.ViewContainerRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
1520
+ ErrorsComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, 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: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
1521
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ErrorsComponent, decorators: [{
1522
+ type: i0.Component,
1523
+ args: [{
1524
+ templateUrl: "./errors.component.html",
1525
+ selector: "'[sv-ng-errors]'"
1526
+ }]
1527
+ }], ctorParameters: function () { return [{ type: i0__namespace.ViewContainerRef }]; }, propDecorators: { element: [{
1528
+ type: i0.Input
1529
+ }], location: [{
1530
+ type: i0.Input
1531
+ }], errorsContainerRef: [{
1532
+ type: i0.ViewChild,
1533
+ args: ["errorsContainer", { static: true }]
1534
+ }], role: [{
1535
+ type: i0.HostBinding,
1536
+ args: ["attr.role"]
1537
+ }], id: [{
1538
+ type: i0.HostBinding,
1539
+ args: ["id"]
1540
+ }], ariaLive: [{
1541
+ type: i0.HostBinding,
1542
+ args: ["attr.aria-live"]
1543
+ }], class: [{
1544
+ type: i0.HostBinding,
1545
+ args: ["class"]
1546
+ }] } });
1547
+
1548
+ var ElementHeaderComponent = /** @class */ (function () {
1549
+ function ElementHeaderComponent() {
1550
+ }
1551
+ Object.defineProperty(ElementHeaderComponent.prototype, "rootClass", {
1552
+ get: function () {
1553
+ return this.element.cssHeader;
1554
+ },
1555
+ enumerable: false,
1556
+ configurable: true
1557
+ });
1558
+ ElementHeaderComponent.prototype.click = function () {
1559
+ if (this.element.clickTitleFunction !== undefined) {
1560
+ this.element.clickTitleFunction();
1561
+ }
1562
+ };
1563
+ return ElementHeaderComponent;
1564
+ }());
1565
+ ElementHeaderComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ElementHeaderComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
1566
+ ElementHeaderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ElementHeaderComponent, selector: "'[sv-ng-element-header]'", inputs: { element: "element" }, host: { listeners: { "click": "click()" }, properties: { "class": "this.rootClass" } }, ngImport: i0__namespace, template: "<sv-ng-element-title [element]=\"element\"></sv-ng-element-title>\n<div *ngIf=\"element.hasDescriptionUnderTitle\" [class]=\"element.cssDescription\" [model]=\"element.locDescription\" sv-ng-string></div>", components: [{ type: ElementTitleComponent, selector: "sv-ng-element-title", inputs: ["element"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1567
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ElementHeaderComponent, decorators: [{
1568
+ type: i0.Component,
1569
+ args: [{
1570
+ selector: "'[sv-ng-element-header]'",
1571
+ templateUrl: "./element-header.component.html"
1572
+ }]
1573
+ }], ctorParameters: function () { return []; }, propDecorators: { element: [{
1574
+ type: i0.Input
1575
+ }], rootClass: [{
1576
+ type: i0.HostBinding,
1577
+ args: ["class"]
1578
+ }], click: [{
1579
+ type: i0.HostListener,
1580
+ args: ["click"]
1581
+ }] } });
1582
+
1583
+ var SurveyCommentComponent = /** @class */ (function () {
1584
+ function SurveyCommentComponent() {
1585
+ }
1586
+ Object.defineProperty(SurveyCommentComponent.prototype, "comment", {
1587
+ get: function () {
1588
+ if (!this.question.comment)
1589
+ return "";
1590
+ return this.question.comment;
1591
+ },
1592
+ enumerable: false,
1593
+ configurable: true
1594
+ });
1595
+ return SurveyCommentComponent;
1596
+ }());
1597
+ SurveyCommentComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyCommentComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
1598
+ SurveyCommentComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SurveyCommentComponent, selector: "sv-ng-comment, '[sv-ng-comment]'", inputs: { question: "question" }, ngImport: i0__namespace, template: "<textarea *ngIf=\"!question.isReadOnlyRenderDiv()\" [id]=\"question.commentId\" [attr.max-length]=\"question.getOthersMaxLength()\" [attr.aria-required]=\"question.ariaRequired\" [attr.aria-label]=\"question.ariaLabel\" [attr.placeholder]=\"question.commentPlaceholder\" \n [value]=\"comment\"\n [style.resize]=\"question.resizeStyle\"\n [disabled]=\"question.isInputReadOnly\"\n (change)=\"question.onCommentChange($event)\"\n (input)=\"question.onCommentInput($event)\"\n [class]=\"question.cssClasses.other\">\n</textarea>\n<div *ngIf=\"question.isReadOnlyRenderDiv()\">{{ question.comment }}</div>\n", directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1599
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyCommentComponent, decorators: [{
1600
+ type: i0.Component,
1601
+ args: [{
1602
+ selector: "sv-ng-comment, '[sv-ng-comment]'",
1603
+ templateUrl: "./comment.component.html",
1604
+ }]
1605
+ }], ctorParameters: function () { return []; }, propDecorators: { question: [{
1606
+ type: i0.Input
1607
+ }] } });
1608
+
1609
+ var QuestionComponent = /** @class */ (function (_super) {
1610
+ __extends(QuestionComponent, _super);
1611
+ function QuestionComponent() {
1612
+ return _super !== null && _super.apply(this, arguments) || this;
1613
+ }
1614
+ QuestionComponent.prototype.getModel = function () {
1615
+ return this.model;
1616
+ };
1617
+ QuestionComponent.prototype.ngAfterViewInit = function () {
1618
+ var _a, _b;
1619
+ if (!!((_a = this.rootEl) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
1620
+ this.model.afterRender((_b = this.rootEl) === null || _b === void 0 ? void 0 : _b.nativeElement);
1621
+ }
1622
+ };
1623
+ QuestionComponent.prototype.getComponentName = function () {
1624
+ if (this.model.customWidget)
1625
+ return "survey-customwidget";
1626
+ if (this.model.isDefaultRendering()) {
1627
+ return this.model.getTemplate() + "-question";
1628
+ }
1629
+ return this.model.getComponentName();
1630
+ };
1631
+ QuestionComponent.prototype.getQuestionContentWrapperComponentName = function () {
1632
+ return this.model.survey.getQuestionContentWrapperComponentName(this.model) || this.getComponentName();
1633
+ };
1634
+ QuestionComponent.prototype.getQuestionContentWrapperComponentData = function () {
1635
+ return {
1636
+ componentName: this.getComponentName(),
1637
+ componentData: {
1638
+ model: this.model,
1639
+ data: this.model.survey.getElementWrapperComponentData(this.model)
1640
+ }
1641
+ };
1642
+ };
1643
+ return QuestionComponent;
1644
+ }(EmbeddedViewContentComponent));
1645
+ QuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: QuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1646
+ QuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionComponent, selector: "sv-ng-question", inputs: { model: "model" }, viewQueries: [{ propertyName: "rootEl", first: true, predicate: ["elementContainer"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div *ngIf=\"!!model\" #elementContainer [class]=\"model.getRootCss()\" [style]=\"{ paddingLeft: model.paddingLeft, paddingRight: model.paddingRight }\" [id]=\"model.id\" [attr.data-name]=\"model.name\" [attr.role]=\"model.ariaRole\" [attr.aria-required]=\"model.ariaRequired\" [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-labelledby]=\"model.ariaLabelledBy\">\n <div *ngIf=\"model.showErrorsAboveQuestion && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <div [element]=\"model\" *ngIf=\"model.hasTitleOnLeftTop\" sv-ng-element-header></div>\n <div [class]=\"model.cssContent\" role=\"presentation\" [visible]=\"!model.isCollapsed\">\n <div *ngIf=\"model.showErrorOnTop && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <ng-template [component]=\"{ name: getQuestionContentWrapperComponentName(), data: getQuestionContentWrapperComponentData(), default: 'skeleton-question' }\">\n </ng-template>\n <div *ngIf=\"model.hasComment\" [class]=\"model.getCommentAreaCss(false)\">\n <div [model]=\"model.locCommentText\" sv-ng-string></div>\n <sv-ng-comment [question]=\"model\"></sv-ng-comment>\n </div>\n <div *ngIf=\"model.showErrorOnBottom && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <div *ngIf=\"model.isErrorsModeTooltip && model.hasVisibleErrors\" [element]=\"model\" [location]=\"'tooltip'\" sv-ng-errors></div>\n <div *ngIf=\"model.hasDescriptionUnderInput\" [class]=\"model.cssDescription\" [model]=\"model.locDescription\" sv-ng-string></div>\n </div>\n <div [element]=\"model\" *ngIf=\"model.hasTitleOnBottom\" sv-ng-element-header></div>\n <div *ngIf=\"model.showErrorsBelowQuestion && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n </div>\n</ng-template>", components: [{ type: ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }, { type: ElementHeaderComponent, selector: "'[sv-ng-element-header]'", inputs: ["element"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: SurveyCommentComponent, selector: "sv-ng-comment, '[sv-ng-comment]'", inputs: ["question"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
1647
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: QuestionComponent, decorators: [{
1648
+ type: i0.Component,
1649
+ args: [{
1650
+ selector: "sv-ng-question",
1651
+ templateUrl: "./question.component.html"
1652
+ }]
1653
+ }], propDecorators: { model: [{
1654
+ type: i0.Input
1655
+ }], rootEl: [{
1656
+ type: i0.ViewChild,
1657
+ args: ["elementContainer"]
1658
+ }] } });
1659
+ AngularComponentFactory.Instance.registerComponent("question", QuestionComponent);
1660
+
1661
+ var StringViewerComponent = /** @class */ (function () {
1662
+ function StringViewerComponent(changeDetectorRef) {
1663
+ this.changeDetectorRef = changeDetectorRef;
1664
+ }
1665
+ StringViewerComponent.prototype.ngDoCheck = function () {
1666
+ var _this = this;
1667
+ if (this.model !== this.previousModel) {
1668
+ if (!!this.previousModel) {
1669
+ this.clearOnChanged(this.previousModel);
1670
+ }
1671
+ if (!!this.model) {
1672
+ this.model.onChanged = function () { _this.changeDetectorRef.detectChanges(); };
1673
+ }
1674
+ this.previousModel = this.model;
1675
+ }
1676
+ };
1677
+ StringViewerComponent.prototype.clearOnChanged = function (model) {
1678
+ model.onChanged = function () { };
1679
+ };
1680
+ StringViewerComponent.prototype.ngOnDestroy = function () {
1681
+ !!this.model && this.clearOnChanged(this.model);
1682
+ };
1683
+ return StringViewerComponent;
1684
+ }());
1685
+ StringViewerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: StringViewerComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
1686
+ StringViewerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: StringViewerComponent, selector: "sv-ng-string-viewer, string-viewer, '[sv-ng-string-viewer]'", inputs: { model: "model" }, ngImport: i0__namespace, 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: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1687
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: StringViewerComponent, decorators: [{
1688
+ type: i0.Component,
1689
+ args: [{
1690
+ selector: "sv-ng-string-viewer, string-viewer, '[sv-ng-string-viewer]'",
1691
+ templateUrl: "./string-viewer.component.html",
1692
+ styleUrls: ["./string-viewer.component.scss"]
1693
+ }]
1694
+ }], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }]; }, propDecorators: { model: [{
1695
+ type: i0.Input
1696
+ }] } });
1697
+ AngularComponentFactory.Instance.registerComponent(Survey.LocalizableString.defaultRenderer, StringViewerComponent);
1698
+
1699
+ var PopupPointerComponent = /** @class */ (function (_super) {
1700
+ __extends(PopupPointerComponent, _super);
1701
+ function PopupPointerComponent() {
1702
+ return _super !== null && _super.apply(this, arguments) || this;
1703
+ }
1704
+ Object.defineProperty(PopupPointerComponent.prototype, "popupModel", {
1705
+ get: function () {
1706
+ return this.model;
1707
+ },
1708
+ enumerable: false,
1709
+ configurable: true
1710
+ });
1711
+ PopupPointerComponent.prototype.getModel = function () {
1712
+ return this.model;
1713
+ };
1714
+ return PopupPointerComponent;
1715
+ }(BaseAngular));
1716
+ PopupPointerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PopupPointerComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1717
+ PopupPointerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PopupPointerComponent, selector: "sv-ng-popup-pointer, '[sv-ng-popup-pointer]'", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<span class=\"sv-popup__pointer\" [style]=\"{ left: popupModel.pointerTarget.left, top: popupModel.pointerTarget.top }\"></span>" });
1718
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PopupPointerComponent, decorators: [{
1719
+ type: i0.Component,
1720
+ args: [{
1721
+ selector: "sv-ng-popup-pointer, '[sv-ng-popup-pointer]'",
1722
+ templateUrl: "./popup-pointer.component.html"
1723
+ }]
1724
+ }], propDecorators: { model: [{
1725
+ type: i0.Input
1726
+ }] } });
1727
+ AngularComponentFactory.Instance.registerComponent("popup-pointer", PopupPointerComponent);
1728
+
1729
+ var PopupComponent = /** @class */ (function (_super) {
1730
+ __extends(PopupComponent, _super);
1731
+ function PopupComponent(viewContainerRef, changeDetectorRef, popupService) {
1732
+ var _this = _super.call(this, changeDetectorRef, viewContainerRef) || this;
1733
+ _this.popupService = popupService;
1734
+ return _this;
1735
+ }
1736
+ PopupComponent.prototype.getModel = function () {
1737
+ return this.popupModel;
1738
+ };
1739
+ PopupComponent.prototype.onModelChanged = function () {
1740
+ var _a;
1741
+ this.destroyModel();
1742
+ this.model = Survey.createPopupViewModel(this.popupModel, (_a = this.viewContainerRef) === null || _a === void 0 ? void 0 : _a.element.nativeElement.parentElement);
1743
+ this.model.initializePopupContainer();
1744
+ this.portalHost = this.popupService.createComponent(this.model);
1745
+ };
1746
+ PopupComponent.prototype.ngOnInit = function () {
1747
+ this.onModelChanged();
1748
+ };
1749
+ PopupComponent.prototype.destroyModel = function () {
1750
+ var _a, _b;
1751
+ (_a = this.portalHost) === null || _a === void 0 ? void 0 : _a.detach();
1752
+ (_b = this.model) === null || _b === void 0 ? void 0 : _b.unmountPopupContainer();
1753
+ };
1754
+ PopupComponent.prototype.ngOnDestroy = function () {
1755
+ _super.prototype.ngOnDestroy.call(this);
1756
+ this.destroyModel();
1757
+ };
1758
+ return PopupComponent;
1759
+ }(BaseAngular));
1760
+ PopupComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PopupComponent, deps: [{ token: i0__namespace.ViewContainerRef }, { token: i0__namespace.ChangeDetectorRef }, { token: PopupService }], target: i0__namespace.ɵɵFactoryTarget.Component });
1761
+ PopupComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: { popupModel: "popupModel" }, usesInheritance: true, ngImport: i0__namespace, template: "<div></div>", isInline: true });
1762
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PopupComponent, decorators: [{
1763
+ type: i0.Component,
1764
+ args: [{
1765
+ selector: "sv-ng-popup, '[sv-ng-popup]'",
1766
+ template: "<div></div>"
1767
+ }]
1768
+ }], ctorParameters: function () { return [{ type: i0__namespace.ViewContainerRef }, { type: i0__namespace.ChangeDetectorRef }, { type: PopupService }]; }, propDecorators: { popupModel: [{
1769
+ type: i0.Input
1770
+ }] } });
1771
+
1772
+ var QuestionSkeletonComponent = /** @class */ (function () {
1773
+ function QuestionSkeletonComponent() {
1774
+ }
1775
+ return QuestionSkeletonComponent;
1776
+ }());
1777
+ QuestionSkeletonComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: QuestionSkeletonComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
1778
+ QuestionSkeletonComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionSkeletonComponent, selector: "question-skeleton", inputs: { model: "model" }, ngImport: i0__namespace, template: "<div class=\"sv-skeleton--not-implemented\">\n <div>{{ model.getType() + \" question type renderer is not implemented yet.\" }}</div>\n <div>{{ model.value }}</div>\n</div>\n", styles: [".sv-skeleton--not-implemented{width:100%;min-width:300px;min-height:40px;border:1px solid red;text-align:center}\n"] });
1779
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: QuestionSkeletonComponent, decorators: [{
1780
+ type: i0.Component,
1781
+ args: [{
1782
+ selector: "question-skeleton",
1783
+ templateUrl: "./skeleton.component.html",
1784
+ styleUrls: ["./skeleton.component.scss"]
1785
+ }]
1786
+ }], propDecorators: { model: [{
1787
+ type: i0.Input
1788
+ }] } });
1789
+ AngularComponentFactory.Instance.registerComponent("skeleton-question", QuestionSkeletonComponent);
1790
+
1791
+ var DropdownComponent = /** @class */ (function (_super) {
1792
+ __extends(DropdownComponent, _super);
1793
+ function DropdownComponent() {
1794
+ return _super !== null && _super.apply(this, arguments) || this;
1795
+ }
1796
+ Object.defineProperty(DropdownComponent.prototype, "dropdownModel", {
1797
+ get: function () {
1798
+ var _a;
1799
+ return (_a = this.model) === null || _a === void 0 ? void 0 : _a.dropdownListModel;
1800
+ },
1801
+ enumerable: false,
1802
+ configurable: true
1803
+ });
1804
+ DropdownComponent.prototype.getModel = function () {
1805
+ return this.model;
1806
+ };
1807
+ DropdownComponent.prototype.ngOnInit = function () {
1808
+ _super.prototype.ngOnInit.call(this);
1809
+ if (!this.model.dropdownListModel) {
1810
+ this.model.dropdownListModel = new Survey.DropdownListModel(this.model);
1811
+ }
1812
+ };
1813
+ DropdownComponent.prototype.ngOnDestroy = function () {
1814
+ var _a;
1815
+ _super.prototype.ngOnDestroy.call(this);
1816
+ (_a = this.dropdownModel) === null || _a === void 0 ? void 0 : _a.dispose();
1817
+ };
1818
+ DropdownComponent.prototype.click = function (event) {
1819
+ var _a;
1820
+ (_a = this.dropdownModel) === null || _a === void 0 ? void 0 : _a.onClick(event);
1821
+ };
1822
+ DropdownComponent.prototype.clear = function (event) {
1823
+ var _a;
1824
+ (_a = this.dropdownModel) === null || _a === void 0 ? void 0 : _a.onClear(event);
1825
+ };
1826
+ DropdownComponent.prototype.keyhandler = function (event) {
1827
+ var _a;
1828
+ (_a = this.dropdownModel) === null || _a === void 0 ? void 0 : _a.keyHandler(event);
1829
+ };
1830
+ DropdownComponent.prototype.blur = function (event) {
1831
+ var _a;
1832
+ (_a = this.dropdownModel) === null || _a === void 0 ? void 0 : _a.onBlur(event);
1833
+ this.updateInputDomElement();
1834
+ };
1835
+ DropdownComponent.prototype.inputChange = function (event) {
1836
+ this.detectChanges();
1837
+ };
1838
+ DropdownComponent.prototype.updateInputDomElement = function () {
1839
+ var _a;
1840
+ if (!!((_a = this.inputElementRef) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
1841
+ var control = this.inputElementRef.nativeElement;
1842
+ var newValue = this.model.filterString;
1843
+ if (!Survey.Helpers.isTwoValueEquals(newValue, control.value)) {
1844
+ control.value = this.model.filterString || "";
1845
+ }
1846
+ }
1847
+ };
1848
+ return DropdownComponent;
1849
+ }(BaseAngular));
1850
+ DropdownComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DropdownComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1851
+ DropdownComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DropdownComponent, selector: "sv-ng-dropdown, '[sv-ng-dropdown]'", inputs: { model: "model" }, viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, 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.showInputFieldComponent\">\n <ng-template [component]=\"{ name: model.inputFieldComponentName, data: { model: dropdownModel.getSelectedAction(), question: model } }\"></ng-template>\n </ng-container>\n <sv-ng-string *ngIf=\"model.showSelectedItemLocText\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <input #inputElement type=\"text\" autocomplete=\"off\" [(ngModel)]=\"dropdownModel.filterString\" [class]=\"model.cssClasses.filterStringInput\"\n [attr.role]=\"dropdownModel.filterStringEnabled ? model.ariaRole : null\"\n [attr.id]=\"model.getInputId()\"\n [attr.inputmode]=\"dropdownModel.inputMode\"\n [attr.tabindex]=\"dropdownModel.inputReadOnly ? null : -1\"\n [attr.disabled]=\"model.isInputReadOnly ? true : null\"\n [attr.aria-label]=\"model.placeholder\"\n [attr.placeholder]=\"model.readOnlyText\" [attr.readonly]=\"!dropdownModel.searchEnabled ? true : null\" \n (change)=\"inputChange($event)\" (blur)=\"blur($event)\" />\n </div>\n <div *ngIf=\"(model.allowClear && model.cssClasses.cleanButtonIconId)\"\n [class]=\"model.cssClasses.cleanButton\" (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]=\"dropdownModel.popupModel\"></sv-ng-popup>\n <div disabled *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">\n <sv-ng-string *ngIf=\"model.selectedItemLocText\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <div>{{ model.readOnlyText }}</div>\n </div>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i3__namespace.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: i3__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
1852
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DropdownComponent, decorators: [{
1853
+ type: i0.Component,
1854
+ args: [{
1855
+ selector: "sv-ng-dropdown, '[sv-ng-dropdown]'",
1856
+ templateUrl: "./dropdown.component.html"
1857
+ }]
1858
+ }], propDecorators: { model: [{
1859
+ type: i0.Input
1860
+ }], inputElementRef: [{
1861
+ type: i0.ViewChild,
1862
+ args: ["inputElement"]
1863
+ }] } });
1864
+
1865
+ var TagboxFilterComponent = /** @class */ (function (_super) {
1866
+ __extends(TagboxFilterComponent, _super);
1867
+ function TagboxFilterComponent() {
1868
+ return _super !== null && _super.apply(this, arguments) || this;
1869
+ }
1870
+ TagboxFilterComponent.prototype.getModel = function () {
1871
+ return this.model;
1872
+ };
1873
+ return TagboxFilterComponent;
1874
+ }(BaseAngular));
1875
+ TagboxFilterComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TagboxFilterComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1876
+ TagboxFilterComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TagboxFilterComponent, selector: "sv-tagbox-filter", inputs: { model: "model", question: "question" }, usesInheritance: true, ngImport: i0__namespace, 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: i3__namespace.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: i3__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
1877
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TagboxFilterComponent, decorators: [{
1878
+ type: i0.Component,
1879
+ args: [{
1880
+ selector: "sv-tagbox-filter",
1881
+ templateUrl: "./tagbox-filter.component.html",
1882
+ styleUrls: ["../../hide-host.scss"]
1883
+ }]
1884
+ }], propDecorators: { model: [{
1885
+ type: i0.Input
1886
+ }], question: [{
1887
+ type: i0.Input
1888
+ }] } });
1889
+ AngularComponentFactory.Instance.registerComponent("sv-tagbox-filter", TagboxFilterComponent);
1890
+
1891
+ var TagboxItemComponent = /** @class */ (function (_super) {
1892
+ __extends(TagboxItemComponent, _super);
1893
+ function TagboxItemComponent() {
1894
+ return _super !== null && _super.apply(this, arguments) || this;
1895
+ }
1896
+ TagboxItemComponent.prototype.removeItem = function (event) {
1897
+ this.question.dropdownListModel.deselectItem(this.item.value);
1898
+ event.stopPropagation();
1899
+ };
1900
+ TagboxItemComponent.prototype.getModel = function () {
1901
+ return this.item;
1902
+ };
1903
+ return TagboxItemComponent;
1904
+ }(BaseAngular));
1905
+ TagboxItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TagboxItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1906
+ TagboxItemComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, 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: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }] });
1907
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TagboxItemComponent, decorators: [{
1908
+ type: i0.Component,
1909
+ args: [{
1910
+ selector: "sv-ng-tagbox-item, '[sv-ng-tagbox-item]'",
1911
+ templateUrl: "./tagbox-item.component.html",
1912
+ }]
1913
+ }], propDecorators: { item: [{
1914
+ type: i0.Input
1915
+ }], question: [{
1916
+ type: i0.Input
1917
+ }] } });
1918
+ AngularComponentFactory.Instance.registerComponent("sv-tagbox-item", TagboxItemComponent);
1919
+
1920
+ var TagboxComponent = /** @class */ (function () {
1921
+ function TagboxComponent() {
1922
+ }
1923
+ Object.defineProperty(TagboxComponent.prototype, "dropdownModel", {
1924
+ get: function () {
1925
+ return this.dropdownListModel;
1926
+ },
1927
+ enumerable: false,
1928
+ configurable: true
1929
+ });
1930
+ TagboxComponent.prototype.getModel = function () {
1931
+ return this.model;
1932
+ };
1933
+ TagboxComponent.prototype.ngOnInit = function () {
1934
+ this.dropdownListModel = this.model.dropdownListModel || new Survey.DropdownMultiSelectListModel(this.model);
1935
+ };
1936
+ TagboxComponent.prototype.ngOnDestroy = function () {
1937
+ var _a;
1938
+ (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.dispose();
1939
+ };
1940
+ TagboxComponent.prototype.click = function (event) {
1941
+ var _a;
1942
+ (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.onClick(event);
1943
+ };
1944
+ TagboxComponent.prototype.clear = function (event) {
1945
+ var _a;
1946
+ (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.onClear(event);
1947
+ };
1948
+ TagboxComponent.prototype.keyhandler = function (event) {
1949
+ var _a;
1950
+ (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.keyHandler(event);
1951
+ };
1952
+ TagboxComponent.prototype.blur = function (event) {
1953
+ var _a;
1954
+ (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.onBlur(event);
1955
+ };
1956
+ return TagboxComponent;
1957
+ }());
1958
+ TagboxComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TagboxComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
1959
+ TagboxComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TagboxComponent, selector: "sv-ng-tagbox, '[sv-ng-tagbox]'", inputs: { model: "model" }, ngImport: i0__namespace, 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: TagboxItemComponent, selector: "sv-ng-tagbox-item, '[sv-ng-tagbox-item]'", inputs: ["item", "question"] }, { type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
1960
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TagboxComponent, decorators: [{
1961
+ type: i0.Component,
1962
+ args: [{
1963
+ selector: "sv-ng-tagbox, '[sv-ng-tagbox]'",
1964
+ templateUrl: "./tagbox.component.html"
1965
+ }]
1966
+ }], propDecorators: { model: [{
1967
+ type: i0.Input
1968
+ }] } });
1969
+
1970
+ var DropdownOptionItemComponent = /** @class */ (function (_super) {
1971
+ __extends(DropdownOptionItemComponent, _super);
1972
+ function DropdownOptionItemComponent() {
1973
+ return _super !== null && _super.apply(this, arguments) || this;
1974
+ }
1975
+ DropdownOptionItemComponent.prototype.getModel = function () {
1976
+ return this.item;
1977
+ };
1978
+ return DropdownOptionItemComponent;
1979
+ }(BaseAngular));
1980
+ DropdownOptionItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DropdownOptionItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1981
+ DropdownOptionItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DropdownOptionItemComponent, selector: "sv-ng-dropdown-option-item, '[sv-ng-dropdown-option-item]'", inputs: { item: "item" }, usesInheritance: true, ngImport: i0__namespace, template: '<ng-template #template><option [value]="item.value" [disabled]="!item.isEnabled">{{ item.text }}</option><ng-template>', isInline: true, directives: [{ type: i3__namespace.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i3__namespace.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }] });
1982
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DropdownOptionItemComponent, decorators: [{
1983
+ type: i0.Component,
1984
+ args: [{
1985
+ selector: "sv-ng-dropdown-option-item, '[sv-ng-dropdown-option-item]'",
1986
+ template: '<ng-template #template><option [value]="item.value" [disabled]="!item.isEnabled">{{ item.text }}</option><ng-template>',
1987
+ }]
1988
+ }], propDecorators: { item: [{
1989
+ type: i0.Input
1990
+ }] } });
1991
+ AngularComponentFactory.Instance.registerComponent("sv-dropdown-option-item", DropdownOptionItemComponent);
1992
+
1993
+ var SurveyCommentOtherComponent = /** @class */ (function () {
1994
+ function SurveyCommentOtherComponent() {
1995
+ }
1996
+ Object.defineProperty(SurveyCommentOtherComponent.prototype, "otherValue", {
1997
+ get: function () {
1998
+ var val = this.question.otherValue;
1999
+ return !!val ? val : "";
2000
+ },
2001
+ enumerable: false,
2002
+ configurable: true
2003
+ });
2004
+ SurveyCommentOtherComponent.prototype.onOtherValueChange = function (event) {
2005
+ this.question.onOtherValueChange(event);
2006
+ };
2007
+ SurveyCommentOtherComponent.prototype.onOtherValueInput = function (event) {
2008
+ this.question.onOtherValueInput(event);
2009
+ };
2010
+ Object.defineProperty(SurveyCommentOtherComponent.prototype, "otherId", {
2011
+ get: function () {
2012
+ return this.question.otherId;
2013
+ },
2014
+ enumerable: false,
2015
+ configurable: true
2016
+ });
2017
+ Object.defineProperty(SurveyCommentOtherComponent.prototype, "otherPlaceholder", {
2018
+ get: function () {
2019
+ return this.question.otherPlaceholder;
2020
+ },
2021
+ enumerable: false,
2022
+ configurable: true
2023
+ });
2024
+ return SurveyCommentOtherComponent;
2025
+ }());
2026
+ SurveyCommentOtherComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyCommentOtherComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
2027
+ SurveyCommentOtherComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: { question: "question" }, ngImport: i0__namespace, template: "<textarea *ngIf=\"!question.isReadOnlyRenderDiv()\" [id]=\"otherId\" [attr.max-length]=\"question.getOthersMaxLength()\" [attr.aria-required]=\"question.ariaRequired\" [attr.aria-label]=\"question.ariaLabel\" [attr.placeholder]=\"otherPlaceholder\" \n [value]=\"otherValue\"\n [style.resize]=\"question.resizeStyle\"\n [disabled]=\"question.isInputReadOnly\"\n (change)=\"onOtherValueChange($event)\"\n (input)=\"onOtherValueInput($event)\"\n [class]=\"question.cssClasses.other\">\n</textarea>\n<div *ngIf=\"question.isReadOnlyRenderDiv()\">{{ otherValue }}</div>\n", directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2028
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyCommentOtherComponent, decorators: [{
2029
+ type: i0.Component,
2030
+ args: [{
2031
+ selector: "sv-ng-comment-other, '[sv-ng-comment-other]'",
2032
+ templateUrl: "./comment-other.component.html",
2033
+ }]
2034
+ }], ctorParameters: function () { return []; }, propDecorators: { question: [{
2035
+ type: i0.Input
2036
+ }] } });
2037
+
2038
+ var DropdownSelectComponent = /** @class */ (function () {
2039
+ function DropdownSelectComponent() {
2040
+ }
2041
+ Object.defineProperty(DropdownSelectComponent.prototype, "editableValue", {
2042
+ get: function () {
2043
+ return this.model.renderedValue || "";
2044
+ },
2045
+ set: function (newValue) {
2046
+ if (newValue === "") {
2047
+ this.model.renderedValue = undefined;
2048
+ }
2049
+ else {
2050
+ this.model.renderedValue = newValue;
2051
+ }
2052
+ },
2053
+ enumerable: false,
2054
+ configurable: true
2055
+ });
2056
+ DropdownSelectComponent.prototype.click = function (event) {
2057
+ this.model.onClick(event);
2058
+ };
2059
+ DropdownSelectComponent.prototype.keyup = function (event) {
2060
+ this.model.onKeyUp(event);
2061
+ };
2062
+ return DropdownSelectComponent;
2063
+ }());
2064
+ DropdownSelectComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DropdownSelectComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
2065
+ DropdownSelectComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DropdownSelectComponent, selector: "sv-ng-dropdown-select-question", inputs: { model: "model" }, ngImport: i0__namespace, template: "<div [class]=\"model.renderCssRoot\">\n <div [class]=\"model.cssClasses.selectWrapper\">\n <select *ngIf=\"!model.isReadOnly\" [attr.id]=\"model.inputId\" [(ngModel)]=\"editableValue\"\n [disabled]=\"model.isInputReadOnly\" (click)=\"click($event)\" (keyup)=\"keyup($event)\"\n [class]=\"model.getControlClass()\" [attr.autocomplete]=\"model.autocomplete\" [required]=\"model.isRequired\"\n [attr.aria-required]=\"model.ariaRequired\" [attr.aria-label]=\"model.ariaLabel\"\n [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-describedby]=\"model.ariaDescribedBy\">\n <option *ngIf=\"model.allowClear\" value=\"\">{{ model.placeholder }}</option>\n <ng-template *ngFor=\"let item of model.visibleChoices\" [component]=\"{ name: 'sv-dropdown-option-item', data: { item } }\"></ng-template>\n </select>\n <div *ngIf=\"model.isReadOnly\" disabled [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">{{ model.readOnlyText }}</div>\n </div>\n <div *ngIf=\"model.isOtherSelected\" [class]=\"model.getCommentAreaCss(true)\"\n [style.display]=\"model.isFlowLayout ? 'inline': '' \" [question]=\"model\" sv-ng-comment-other></div>\n</div>", components: [{ type: SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: ["question"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i3__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3__namespace.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3__namespace.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i3__namespace.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
2066
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DropdownSelectComponent, decorators: [{
2067
+ type: i0.Component,
2068
+ args: [{
2069
+ selector: "sv-ng-dropdown-select-question",
2070
+ templateUrl: "./dropdown-select.component.html"
2071
+ }]
2072
+ }], propDecorators: { model: [{
2073
+ type: i0.Input
2074
+ }] } });
2075
+ AngularComponentFactory.Instance.registerComponent("dropdown-select-question", DropdownSelectComponent);
2076
+ Survey.RendererFactory.Instance.registerRenderer("dropdown", "select", "dropdown-select-question");
2077
+
2078
+ //temp: disables angular sanitizer, which breaks a links
2079
+ var SafeUrlPipe = /** @class */ (function () {
2080
+ function SafeUrlPipe(domSanitizer) {
2081
+ this.domSanitizer = domSanitizer;
2082
+ }
2083
+ SafeUrlPipe.prototype.transform = function (url) {
2084
+ return this.domSanitizer.bypassSecurityTrustUrl(url);
2085
+ };
2086
+ return SafeUrlPipe;
2087
+ }());
2088
+ SafeUrlPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeUrlPipe, deps: [{ token: i1__namespace.DomSanitizer }], target: i0__namespace.ɵɵFactoryTarget.Pipe });
2089
+ SafeUrlPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeUrlPipe, name: "safeUrl" });
2090
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeUrlPipe, decorators: [{
2091
+ type: i0.Pipe,
2092
+ args: [{ name: "safeUrl" }]
2093
+ }], ctorParameters: function () { return [{ type: i1__namespace.DomSanitizer }]; } });
2094
+ var SafeResourceUrlPipe = /** @class */ (function () {
2095
+ function SafeResourceUrlPipe(domSanitizer) {
2096
+ this.domSanitizer = domSanitizer;
2097
+ }
2098
+ SafeResourceUrlPipe.prototype.transform = function (url) {
2099
+ return this.domSanitizer.bypassSecurityTrustResourceUrl(url);
2100
+ };
2101
+ return SafeResourceUrlPipe;
2102
+ }());
2103
+ SafeResourceUrlPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeResourceUrlPipe, deps: [{ token: i1__namespace.DomSanitizer }], target: i0__namespace.ɵɵFactoryTarget.Pipe });
2104
+ SafeResourceUrlPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeResourceUrlPipe, name: "safeResourceUrl" });
2105
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeResourceUrlPipe, decorators: [{
2106
+ type: i0.Pipe,
2107
+ args: [{ name: "safeResourceUrl" }]
2108
+ }], ctorParameters: function () { return [{ type: i1__namespace.DomSanitizer }]; } });
2109
+
2110
+ var LogoImageComponent = /** @class */ (function (_super) {
2111
+ __extends(LogoImageComponent, _super);
2112
+ function LogoImageComponent() {
2113
+ return _super !== null && _super.apply(this, arguments) || this;
2114
+ }
2115
+ Object.defineProperty(LogoImageComponent.prototype, "survey", {
2116
+ get: function () {
2117
+ return this.data;
2118
+ },
2119
+ enumerable: false,
2120
+ configurable: true
2121
+ });
2122
+ return LogoImageComponent;
2123
+ }(EmbeddedViewContentComponent));
2124
+ LogoImageComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LogoImageComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2125
+ LogoImageComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LogoImageComponent, selector: "sv-logo-image", inputs: { data: "data" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <img\n [class]=\"survey.css.logoImage\"\n [attr.src]=\"survey.locLogo.renderedHtml | safeUrl\"\n [attr.width]=\"survey.logoWidth ? survey.logoWidth : undefined\"\n [attr.height]=\"survey.logoHeight ? survey.logoHeight : undefined\"\n [attr.alt]=\"survey.locTitle.renderedHtml\"\n [style.objectFit]=\"survey.logoFit\"\n />\n</ng-template>", styles: [":host{display:none}\n"], pipes: { "safeUrl": SafeUrlPipe } });
2126
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LogoImageComponent, decorators: [{
2127
+ type: i0.Component,
2128
+ args: [{
2129
+ selector: "sv-logo-image",
2130
+ templateUrl: "./logo-image.component.html",
2131
+ styleUrls: ["../../hide-host.scss"]
2132
+ }]
2133
+ }], propDecorators: { data: [{
2134
+ type: i0.Input
2135
+ }] } });
2136
+ AngularComponentFactory.Instance.registerComponent("sv-logo-image", LogoImageComponent);
2137
+
2138
+ var QuestionAngular = /** @class */ (function (_super) {
2139
+ __extends(QuestionAngular, _super);
2140
+ function QuestionAngular() {
2141
+ return _super !== null && _super.apply(this, arguments) || this;
2142
+ }
2143
+ QuestionAngular.prototype.getModel = function () {
2144
+ return this.model;
2145
+ };
2146
+ QuestionAngular.prototype.ngAfterViewInit = function () {
2147
+ var _a;
2148
+ if (!!this.model) {
2149
+ this.model.afterRenderQuestionElement((_a = this.elementContentRef) === null || _a === void 0 ? void 0 : _a.nativeElement);
2150
+ }
2151
+ };
2152
+ QuestionAngular.prototype.ngOnDestroy = function () {
2153
+ var _a;
2154
+ if (!!this.model) {
2155
+ this.model.beforeDestroyQuestionElement((_a = this.elementContentRef) === null || _a === void 0 ? void 0 : _a.nativeElement);
2156
+ }
2157
+ _super.prototype.ngOnDestroy.call(this);
2158
+ };
2159
+ return QuestionAngular;
2160
+ }(BaseAngular));
2161
+ QuestionAngular.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: QuestionAngular, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2162
+ QuestionAngular.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionAngular, selector: "ng-component", inputs: { model: "model" }, viewQueries: [{ propertyName: "elementContentRef", first: true, predicate: ["contentElement"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "", isInline: true });
2163
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: QuestionAngular, decorators: [{
2164
+ type: i0.Component,
2165
+ args: [{
2166
+ template: ""
2167
+ }]
2168
+ }], propDecorators: { model: [{
2169
+ type: i0.Input
2170
+ }], elementContentRef: [{
2171
+ type: i0.ViewChild,
2172
+ args: ["contentElement"]
2173
+ }] } });
2174
+
2175
+ var CharacterCounterComponent = /** @class */ (function (_super) {
2176
+ __extends(CharacterCounterComponent, _super);
2177
+ function CharacterCounterComponent() {
2178
+ return _super !== null && _super.apply(this, arguments) || this;
2179
+ }
2180
+ CharacterCounterComponent.prototype.getModel = function () {
2181
+ return this.counter;
2182
+ };
2183
+ return CharacterCounterComponent;
2184
+ }(BaseAngular));
2185
+ CharacterCounterComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CharacterCounterComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2186
+ CharacterCounterComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CharacterCounterComponent, selector: "sv-ng-character-counter", inputs: { counter: "counter", remainingCharacterCounter: "remainingCharacterCounter" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"remainingCharacterCounter\">{{ counter.remainingCharacterCounter }}</div>\n</ng-template>", styles: [":host { display: none; }"] });
2187
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CharacterCounterComponent, decorators: [{
2188
+ type: i0.Component,
2189
+ args: [{
2190
+ selector: "sv-ng-character-counter",
2191
+ templateUrl: "./character-counter.component.html",
2192
+ styles: [":host { display: none; }"],
2193
+ }]
2194
+ }], propDecorators: { counter: [{
2195
+ type: i0.Input
2196
+ }], remainingCharacterCounter: [{
2197
+ type: i0.Input
2198
+ }] } });
2199
+ AngularComponentFactory.Instance.registerComponent("character-counter", CharacterCounterComponent);
2200
+
2201
+ var TextQuestionComponent = /** @class */ (function (_super) {
2202
+ __extends(TextQuestionComponent, _super);
2203
+ function TextQuestionComponent() {
2204
+ return _super !== null && _super.apply(this, arguments) || this;
2205
+ }
2206
+ return TextQuestionComponent;
2207
+ }(QuestionAngular));
2208
+ TextQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TextQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2209
+ TextQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TextQuestionComponent, selector: "sv-ng-text-question", usesInheritance: true, ngImport: i0__namespace, template: " <ng-container [ngTemplateOutlet]=\"input\" *ngIf=\"!model.dataListId && !model.isReadOnlyRenderDiv()\"></ng-container>\n <div *ngIf=\"model.dataListId && !model.isReadOnlyRenderDiv()\">\n <ng-container [ngTemplateOutlet]=\"input\"></ng-container>\n <datalist [id]=\"model.dataListId\">\n <option *ngFor=\"let dataListItem of model.dataList\" [value]=\"dataListItem\"></option>\n </datalist>\n </div>\n <div *ngIf=\"model.isReadOnlyRenderDiv()\" #contentElement>{{ model.value }}</div>\n <ng-template #input>\n <input [style]=\"model.inputStyle\" [class]=\"model.getControlClass()\" [attr.list]=\"model.dataListId\"\n (change)=\"model.onChange($event)\" [attr.value]=\"model.value\" [disabled]=\"model.isInputReadOnly\" name=\"user\" [type]=\"model.inputType\" [id]=\"model.inputId\" [attr.placeholder]=\"model.renderedPlaceholder || ''\"\n (keyup)=\"model.onKeyUp($event)\" (keydown)=\"model.onKeyDown($event)\" (blur)=\"model.onBlur($event)\" (compositionupdate)=\"model.onCompositionUpdate($event)\" \n [attr.size] = \"model.renderedInputSize\" [attr.maxlength]= \"model.getMaxLength()\" [attr.min]=\"model.renderedMin\"\n [attr.max]=\"model.renderedMax\" [attr.step]=\"model.renderedStep\" [attr.max]=\"model.renderedMax\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.autocomplete]=\"model.autocomplete\"\n [attr.ar] #contentElement/>\n <sv-ng-character-counter *ngIf=\"model.getMaxLength()\" \n [counter]=\"model.characterCounter\"\n [remainingCharacterCounter]=\"model.cssClasses.remainingCharacterCounter\">\n </sv-ng-character-counter>\n </ng-template>", styles: [""], components: [{ type: CharacterCounterComponent, selector: "sv-ng-character-counter", inputs: ["counter", "remainingCharacterCounter"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i3__namespace.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }] });
2210
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TextQuestionComponent, decorators: [{
2211
+ type: i0.Component,
2212
+ args: [{
2213
+ selector: "sv-ng-text-question",
2214
+ templateUrl: "./text.component.html",
2215
+ styleUrls: ["./text.component.scss"]
2216
+ }]
2217
+ }] });
2218
+ AngularComponentFactory.Instance.registerComponent("text-question", TextQuestionComponent);
2219
+
2220
+ var SafeHtmlPipe = /** @class */ (function () {
2221
+ function SafeHtmlPipe(domSanitizer) {
2222
+ this.domSanitizer = domSanitizer;
2223
+ }
2224
+ SafeHtmlPipe.prototype.transform = function (url) {
2225
+ return this.domSanitizer.bypassSecurityTrustHtml(url);
2226
+ };
2227
+ return SafeHtmlPipe;
2228
+ }());
2229
+ SafeHtmlPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeHtmlPipe, deps: [{ token: i1__namespace.DomSanitizer }], target: i0__namespace.ɵɵFactoryTarget.Pipe });
2230
+ SafeHtmlPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeHtmlPipe, name: "safeHtml" });
2231
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeHtmlPipe, decorators: [{
2232
+ type: i0.Pipe,
2233
+ args: [{ name: "safeHtml" }]
2234
+ }], ctorParameters: function () { return [{ type: i1__namespace.DomSanitizer }]; } });
2235
+
2236
+ var HtmlQuestionComponent = /** @class */ (function (_super) {
2237
+ __extends(HtmlQuestionComponent, _super);
2238
+ function HtmlQuestionComponent() {
2239
+ return _super !== null && _super.apply(this, arguments) || this;
2240
+ }
2241
+ HtmlQuestionComponent.prototype.onModelChanged = function () {
2242
+ var _this = this;
2243
+ _super.prototype.onModelChanged.call(this);
2244
+ this.model.locHtml.onChanged = function () {
2245
+ _this.detectChanges();
2246
+ };
2247
+ };
2248
+ HtmlQuestionComponent.prototype.ngOnDestroy = function () {
2249
+ this.model.locHtml.onChanged = function () { };
2250
+ _super.prototype.ngOnDestroy.call(this);
2251
+ };
2252
+ return HtmlQuestionComponent;
2253
+ }(QuestionAngular));
2254
+ HtmlQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: HtmlQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2255
+ HtmlQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: HtmlQuestionComponent, selector: "sv-ng-html-question", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.renderCssRoot\" [innerHTML]=\"model.locHtml.renderedHtml | safeHtml\" #contentElement></div>", pipes: { "safeHtml": SafeHtmlPipe } });
2256
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: HtmlQuestionComponent, decorators: [{
2257
+ type: i0.Component,
2258
+ args: [{
2259
+ selector: "sv-ng-html-question",
2260
+ templateUrl: "./html.component.html",
2261
+ styleUrls: []
2262
+ }]
2263
+ }] });
2264
+ AngularComponentFactory.Instance.registerComponent("html-question", HtmlQuestionComponent);
2265
+
2266
+ var SelectBaseComponent = /** @class */ (function (_super) {
2267
+ __extends(SelectBaseComponent, _super);
2268
+ function SelectBaseComponent() {
2269
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
2270
+ _this.inputType = "checkbox";
2271
+ _this.showLegend = true;
2272
+ return _this;
2273
+ }
2274
+ SelectBaseComponent.prototype.getDefaultComponentName = function () {
2275
+ return "sv-ng-selectbase-item";
2276
+ };
2277
+ SelectBaseComponent.prototype.trackItemBy = function (_, item) {
2278
+ return item.value;
2279
+ };
2280
+ SelectBaseComponent.prototype.trackColumnBy = function (index) {
2281
+ return index;
2282
+ };
2283
+ SelectBaseComponent.prototype.getItemValueComponentName = function (item) {
2284
+ return this.model.getItemValueWrapperComponentName(item) || this.getDefaultComponentName();
2285
+ };
2286
+ SelectBaseComponent.prototype.getItemValueComponentData = function (item) {
2287
+ var itemComponentProperty = this.model.getPropertyByName("itemComponent");
2288
+ var isDefaultItemComponent = itemComponentProperty.isDefaultValue(this.model.itemComponent);
2289
+ var itemComponentName = isDefaultItemComponent ? this.getDefaultComponentName() : this.model.itemComponent;
2290
+ return {
2291
+ componentName: itemComponentName,
2292
+ componentData: {
2293
+ question: this.model,
2294
+ model: item,
2295
+ inputType: this.inputType,
2296
+ data: this.model.getItemValueWrapperComponentData(item)
2297
+ }
2298
+ };
2299
+ };
2300
+ return SelectBaseComponent;
2301
+ }(QuestionAngular));
2302
+ SelectBaseComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SelectBaseComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2303
+ SelectBaseComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SelectBaseComponent, selector: "['sv-ng-selectbase']", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<fieldset [class]=\"model.getSelectBaseRootCss()\" role=\"presentation\" #contentElement>\n <legend *ngIf=\"showLegend\" role=\"presentation\" class=\"sv-hidden\"></legend>\n <ng-container *ngIf=\"model.hasHeadItems\">\n <ng-container *ngFor=\"let item of model.headItems; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!model.hasColumns && !model.blockedRow\">\n <ng-container *ngFor=\"let item of model.bodyItems; trackBy: trackItemBy\" >\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <div [class]=\"model.cssClasses.rootRow\" *ngIf=\"!model.hasColumns && model.blockedRow\">\n <ng-container *ngFor=\"let item of model.dataChoices; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n <ng-container *ngIf=\"model.hasColumns\">\n <div [class]=\"model.cssClasses.rootMultiColumn\">\n <div [class]=\"model.getColumnClass()\" *ngFor=\"let column of model.columns; trackBy: trackColumnBy\" role=\"presentation\">\n <ng-container *ngFor=\"let item of column; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"model.hasFootItems\">\n <ng-container *ngFor=\"let item of model.footItems; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <div *ngIf=\"model.isOtherSelected\" [class]=\"model.getCommentAreaCss(true)\" [question]=\"model\" sv-ng-comment-other></div>\n <div *ngIf=\"model.showClearButtonInContent\">\n <input\n type=\"button\"\n (click)=\"model.clearValue()\"\n [value]=\"model.clearButtonCaption\"\n [class]=\"model.cssClasses.clearButton\"\n />\n </div>\n</fieldset>", components: [{ type: SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: ["question"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
2304
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SelectBaseComponent, decorators: [{
2305
+ type: i0.Component,
2306
+ args: [{
2307
+ selector: "['sv-ng-selectbase']",
2308
+ templateUrl: "./selectbase.component.html"
2309
+ }]
2310
+ }], propDecorators: { model: [{
2311
+ type: i0.Input
2312
+ }] } });
2313
+ AngularComponentFactory.Instance.registerComponent("selectbase", SelectBaseComponent);
2314
+
2315
+ var RadiogroupComponent = /** @class */ (function (_super) {
2316
+ __extends(RadiogroupComponent, _super);
2317
+ function RadiogroupComponent() {
2318
+ return _super !== null && _super.apply(this, arguments) || this;
2319
+ }
2320
+ RadiogroupComponent.prototype.ngOnInit = function () {
2321
+ this.inputType = "radio";
2322
+ this.showLegend = false;
2323
+ _super.prototype.ngOnInit.call(this);
2324
+ };
2325
+ return RadiogroupComponent;
2326
+ }(SelectBaseComponent));
2327
+ RadiogroupComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RadiogroupComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2328
+ RadiogroupComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RadiogroupComponent, selector: "sv-ng-radiogroup-question", usesInheritance: true, ngImport: i0__namespace, template: "<fieldset [class]=\"model.getSelectBaseRootCss()\" role=\"presentation\" #contentElement>\n <legend *ngIf=\"showLegend\" role=\"presentation\" class=\"sv-hidden\"></legend>\n <ng-container *ngIf=\"model.hasHeadItems\">\n <ng-container *ngFor=\"let item of model.headItems; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!model.hasColumns && !model.blockedRow\">\n <ng-container *ngFor=\"let item of model.bodyItems; trackBy: trackItemBy\" >\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <div [class]=\"model.cssClasses.rootRow\" *ngIf=\"!model.hasColumns && model.blockedRow\">\n <ng-container *ngFor=\"let item of model.dataChoices; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n <ng-container *ngIf=\"model.hasColumns\">\n <div [class]=\"model.cssClasses.rootMultiColumn\">\n <div [class]=\"model.getColumnClass()\" *ngFor=\"let column of model.columns; trackBy: trackColumnBy\" role=\"presentation\">\n <ng-container *ngFor=\"let item of column; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"model.hasFootItems\">\n <ng-container *ngFor=\"let item of model.footItems; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <div *ngIf=\"model.isOtherSelected\" [class]=\"model.getCommentAreaCss(true)\" [question]=\"model\" sv-ng-comment-other></div>\n <div *ngIf=\"model.showClearButtonInContent\">\n <input\n type=\"button\"\n (click)=\"model.clearValue()\"\n [value]=\"model.clearButtonCaption\"\n [class]=\"model.cssClasses.clearButton\"\n />\n </div>\n</fieldset>", components: [{ type: SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: ["question"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
2329
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RadiogroupComponent, decorators: [{
2330
+ type: i0.Component,
2331
+ args: [{
2332
+ selector: "sv-ng-radiogroup-question",
2333
+ templateUrl: "./selectbase.component.html"
2334
+ }]
2335
+ }] });
2336
+ AngularComponentFactory.Instance.registerComponent("radiogroup-question", RadiogroupComponent);
2337
+
2338
+ var RadiogroupItemComponent = /** @class */ (function () {
2339
+ function RadiogroupItemComponent() {
2340
+ }
2341
+ return RadiogroupItemComponent;
2342
+ }());
2343
+ RadiogroupItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RadiogroupItemComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
2344
+ RadiogroupItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RadiogroupItemComponent, selector: "sv-ng-radiogroup-item, '[sv-ng-radiogroup-item]'", inputs: { question: "question", model: "model" }, ngImport: i0__namespace, template: "<input type=\"radio\" [name]=\"question.questionName\" [id]=\"question.getItemId(model)\" [attr.aria-describedby]=\"question.ariaDescribedBy\" [class]=\"question.cssClasses.itemControl\"\n [disabled]=\"!question.getItemEnabled(model)\" [(ngModel)]=\"question.renderedValue\" [attr.value]=\"model.value\" [value]=\"model.value\"\n/>\n<ng-content></ng-content>", styles: [""], directives: [{ type: i3__namespace.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { type: i3__namespace.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: i3__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
2345
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RadiogroupItemComponent, decorators: [{
2346
+ type: i0.Component,
2347
+ args: [{
2348
+ selector: "sv-ng-radiogroup-item, '[sv-ng-radiogroup-item]'",
2349
+ templateUrl: "./radiogroup-item.component.html",
2350
+ styleUrls: ["./radiogroup-item.component.scss"]
2351
+ }]
2352
+ }], ctorParameters: function () { return []; }, propDecorators: { question: [{
2353
+ type: i0.Input
2354
+ }], model: [{
2355
+ type: i0.Input
2356
+ }] } });
2357
+
2358
+ var CheckboxComponent = /** @class */ (function (_super) {
2359
+ __extends(CheckboxComponent, _super);
2360
+ function CheckboxComponent() {
2361
+ return _super !== null && _super.apply(this, arguments) || this;
2362
+ }
2363
+ return CheckboxComponent;
2364
+ }(SelectBaseComponent));
2365
+ CheckboxComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CheckboxComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2366
+ CheckboxComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CheckboxComponent, selector: "sv-ng-checkbox-question", usesInheritance: true, ngImport: i0__namespace, template: "<fieldset [class]=\"model.getSelectBaseRootCss()\" role=\"presentation\" #contentElement>\n <legend *ngIf=\"showLegend\" role=\"presentation\" class=\"sv-hidden\"></legend>\n <ng-container *ngIf=\"model.hasHeadItems\">\n <ng-container *ngFor=\"let item of model.headItems; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!model.hasColumns && !model.blockedRow\">\n <ng-container *ngFor=\"let item of model.bodyItems; trackBy: trackItemBy\" >\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <div [class]=\"model.cssClasses.rootRow\" *ngIf=\"!model.hasColumns && model.blockedRow\">\n <ng-container *ngFor=\"let item of model.dataChoices; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n <ng-container *ngIf=\"model.hasColumns\">\n <div [class]=\"model.cssClasses.rootMultiColumn\">\n <div [class]=\"model.getColumnClass()\" *ngFor=\"let column of model.columns; trackBy: trackColumnBy\" role=\"presentation\">\n <ng-container *ngFor=\"let item of column; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"model.hasFootItems\">\n <ng-container *ngFor=\"let item of model.footItems; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <div *ngIf=\"model.isOtherSelected\" [class]=\"model.getCommentAreaCss(true)\" [question]=\"model\" sv-ng-comment-other></div>\n <div *ngIf=\"model.showClearButtonInContent\">\n <input\n type=\"button\"\n (click)=\"model.clearValue()\"\n [value]=\"model.clearButtonCaption\"\n [class]=\"model.cssClasses.clearButton\"\n />\n </div>\n</fieldset>", components: [{ type: SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: ["question"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
2367
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CheckboxComponent, decorators: [{
2368
+ type: i0.Component,
2369
+ args: [{
2370
+ selector: "sv-ng-checkbox-question",
2371
+ templateUrl: "./selectbase.component.html"
2372
+ }]
2373
+ }] });
2374
+ AngularComponentFactory.Instance.registerComponent("checkbox-question", CheckboxComponent);
2375
+
2376
+ var CheckboxItemComponent = /** @class */ (function () {
2377
+ function CheckboxItemComponent() {
2378
+ }
2379
+ CheckboxItemComponent.prototype.onChange = function (event) {
2380
+ this.question.clickItemHandler(this.model, event.target.checked);
2381
+ };
2382
+ CheckboxItemComponent.prototype.onSelectAllChange = function (event) {
2383
+ this.question.toggleSelectAll();
2384
+ };
2385
+ return CheckboxItemComponent;
2386
+ }());
2387
+ CheckboxItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CheckboxItemComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
2388
+ CheckboxItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CheckboxItemComponent, selector: "sv-ng-checkbox-item, '[sv-ng-checkbox-item]'", inputs: { question: "question", model: "model" }, ngImport: i0__namespace, template: "<input *ngIf=\"model == question.selectAllItem\" role=\"option\" type=\"checkbox\" [name]=\"question.name\" [id]=\"question.getItemId(model)\" [attr.aria-describedby]=\"question.ariaDescribedBy\" [class]=\"question.cssClasses.itemControl\"\n [disabled]=\"!question.getItemEnabled(model)\" [checked]=\"question.isAllSelected\" [value]=\"''\" (change)=\"onSelectAllChange($event)\"/>\n<input *ngIf=\"model != question.selectAllItem\" role=\"option\" type=\"checkbox\" [name]=\"question.name\" [id]=\"question.getItemId(model)\" [attr.aria-describedby]=\"question.ariaDescribedBy\" [class]=\"question.cssClasses.itemControl\"\n [disabled]=\"!question.getItemEnabled(model)\" [checked]=\"question.isItemSelected(model)\" [value]=\"model.value\" (change)=\"onChange($event)\"/>\n<ng-content></ng-content>", styles: [""], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2389
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CheckboxItemComponent, decorators: [{
2390
+ type: i0.Component,
2391
+ args: [{
2392
+ selector: "sv-ng-checkbox-item, '[sv-ng-checkbox-item]'",
2393
+ templateUrl: "./checkbox-item.component.html",
2394
+ styleUrls: ["./checkbox-item.component.scss"]
2395
+ }]
2396
+ }], ctorParameters: function () { return []; }, propDecorators: { question: [{
2397
+ type: i0.Input
2398
+ }], model: [{
2399
+ type: i0.Input
2400
+ }] } });
2401
+
2402
+ var DropdownQuestionComponent = /** @class */ (function (_super) {
2403
+ __extends(DropdownQuestionComponent, _super);
2404
+ function DropdownQuestionComponent() {
2405
+ return _super !== null && _super.apply(this, arguments) || this;
2406
+ }
2407
+ return DropdownQuestionComponent;
2408
+ }(QuestionAngular));
2409
+ DropdownQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DropdownQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2410
+ DropdownQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DropdownQuestionComponent, selector: "sv-ng-dropdown-question", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.renderCssRoot\" #contentElement>\n <sv-ng-dropdown [model]=\"model\"></sv-ng-dropdown>\n <div *ngIf=\"model.isOtherSelected\" [class]=\"model.getCommentAreaCss(true)\" [question]=\"model\" sv-ng-comment-other></div>\n</div>", components: [{ type: DropdownComponent, selector: "sv-ng-dropdown, '[sv-ng-dropdown]'", inputs: ["model"] }, { type: SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: ["question"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2411
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DropdownQuestionComponent, decorators: [{
2412
+ type: i0.Component,
2413
+ args: [{
2414
+ selector: "sv-ng-dropdown-question",
2415
+ templateUrl: "./dropdown.component.html"
2416
+ }]
2417
+ }] });
2418
+ AngularComponentFactory.Instance.registerComponent("dropdown-question", DropdownQuestionComponent);
2419
+
2420
+ var TagboxQuestionComponent = /** @class */ (function (_super) {
2421
+ __extends(TagboxQuestionComponent, _super);
2422
+ function TagboxQuestionComponent() {
2423
+ return _super !== null && _super.apply(this, arguments) || this;
2424
+ }
2425
+ return TagboxQuestionComponent;
2426
+ }(QuestionAngular));
2427
+ TagboxQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TagboxQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2428
+ TagboxQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TagboxQuestionComponent, selector: "sv-ng-tagbox-question", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.renderCssRoot\" #contentElement>\n <sv-ng-tagbox [model]=\"model\"></sv-ng-tagbox>\n <div *ngIf=\"model.isOtherSelected\" [class]=\"model.getCommentAreaCss(true)\" [question]=\"model\" sv-ng-comment-other></div>\n</div>", components: [{ type: TagboxComponent, selector: "sv-ng-tagbox, '[sv-ng-tagbox]'", inputs: ["model"] }, { type: SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: ["question"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2429
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TagboxQuestionComponent, decorators: [{
2430
+ type: i0.Component,
2431
+ args: [{
2432
+ selector: "sv-ng-tagbox-question",
2433
+ templateUrl: "./tagbox.component.html"
2434
+ }]
2435
+ }] });
2436
+ AngularComponentFactory.Instance.registerComponent("tagbox-question", TagboxQuestionComponent);
2437
+
2438
+ var RatingQuestionComponent = /** @class */ (function (_super) {
2439
+ __extends(RatingQuestionComponent, _super);
2440
+ function RatingQuestionComponent() {
2441
+ return _super !== null && _super.apply(this, arguments) || this;
2442
+ }
2443
+ RatingQuestionComponent.prototype.trackByFn = function (index) {
2444
+ return index;
2445
+ };
2446
+ RatingQuestionComponent.prototype.onClick = function (event) {
2447
+ event.stopPropagation();
2448
+ this.model.setValueFromClick(event.target.value);
2449
+ };
2450
+ return RatingQuestionComponent;
2451
+ }(QuestionAngular));
2452
+ RatingQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2453
+ RatingQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RatingQuestionComponent, selector: "sv-ng-rating-question", usesInheritance: true, ngImport: i0__namespace, template: " <div [class]=\"model.ratingRootCss\" #contentElement>\n <fieldset role=\"radiogroup\">\n <legend role=\"presentation\" class=\"sv-hidden\"></legend>\n <span *ngIf=\"model.hasMinLabel\" [class]=\"model.cssClasses.minText\" [model]=\"model.locMinRateDescription\" sv-ng-string>\n </span>\n <ng-template *ngFor=\"let item of model.renderedRateItems; index as index; trackBy: trackByFn\" [component]=\"{ name: 'sv-rating-item', data: {model: model, item: item, index: index }}\"></ng-template>\n <span *ngIf=\"model.hasMaxLabel\" [class]=\"model.cssClasses.maxText\" [model]=\"model.locMaxRateDescription\" sv-ng-string></span>\n </fieldset>\n </div>\n", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
2454
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingQuestionComponent, decorators: [{
2455
+ type: i0.Component,
2456
+ args: [{
2457
+ selector: "sv-ng-rating-question",
2458
+ templateUrl: "./rating.component.html"
2459
+ }]
2460
+ }] });
2461
+ AngularComponentFactory.Instance.registerComponent("rating-question", RatingQuestionComponent);
2462
+
2463
+ var BooleanQuestionComponent = /** @class */ (function (_super) {
2464
+ __extends(BooleanQuestionComponent, _super);
2465
+ function BooleanQuestionComponent() {
2466
+ return _super !== null && _super.apply(this, arguments) || this;
2467
+ }
2468
+ BooleanQuestionComponent.prototype.onChange = function (event) {
2469
+ this.model.booleanValue = event.target.value;
2470
+ };
2471
+ return BooleanQuestionComponent;
2472
+ }(QuestionAngular));
2473
+ BooleanQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BooleanQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2474
+ BooleanQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: BooleanQuestionComponent, selector: "sv-ng-boolean-question", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.cssClasses.root\" (keydown)=\"model.onKeyDownCore($event)\" #contentElement>\n <label [class]=\"model.getItemCss()\">\n <input\n type=\"checkbox\"\n [attr.name]=\"model.name\" [attr.id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\" [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-describedby]=\"model.ariaDescribedBy\"\n [class]=\"model.cssClasses.control\" [disabled]=\"model.isInputReadOnly\" [indeterminate]=\"model.isIndeterminate\" [value]=\"model.booleanValue\" [(ngModel)]=\"model.booleanValue\" />\n <span [class]=\"model.getLabelCss(false)\" (click)=\"model.onLabelClick($event, false)\" [model]=\"model.locLabelFalse\" sv-ng-string></span>\n <div [class]=\"model.cssClasses.switch\" (click)=\"model.onSwitchClickModel($event)\">\n <span [class]=\"model.cssClasses.slider\">\n <span *ngIf=\"model.cssClasses.sliderText && model.isDeterminated\" [class]=\"model.cssClasses.sliderText\" [model]=\"model.getCheckedLabel()\" sv-ng-string></span>\n </span>\n </div>\n <span [class]=\"model.getLabelCss(true)\" (click)=\"model.onLabelClick($event, true)\" [model]=\"model.locLabelTrue\" sv-ng-string></span>\n </label>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i3__namespace.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i3__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2475
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BooleanQuestionComponent, decorators: [{
2476
+ type: i0.Component,
2477
+ args: [{
2478
+ selector: "sv-ng-boolean-question",
2479
+ templateUrl: "./boolean.component.html"
2480
+ }]
2481
+ }] });
2482
+ AngularComponentFactory.Instance.registerComponent("boolean-question", BooleanQuestionComponent);
2483
+
2484
+ var ImagePickerItemComponent = /** @class */ (function (_super) {
2485
+ __extends(ImagePickerItemComponent, _super);
2486
+ function ImagePickerItemComponent() {
2487
+ return _super !== null && _super.apply(this, arguments) || this;
2488
+ }
2489
+ ImagePickerItemComponent.prototype.getModel = function () {
2490
+ return this.model;
2491
+ };
2492
+ ImagePickerItemComponent.prototype.onChange = function (event) {
2493
+ if (this.question.multiSelect) {
2494
+ if (event.target.checked) {
2495
+ this.question.value = this.question.value.concat(event.target.value);
2496
+ }
2497
+ else {
2498
+ var currValue = this.question.value;
2499
+ currValue.splice(this.question.value.indexOf(event.target.value), 1);
2500
+ this.question.value = currValue;
2501
+ }
2502
+ }
2503
+ else {
2504
+ this.question.value = event.target.value;
2505
+ }
2506
+ };
2507
+ ImagePickerItemComponent.prototype.ngAfterViewInit = function () {
2508
+ var _this = this;
2509
+ this.model.locImageLink.onChanged = function () {
2510
+ _this.detectChanges();
2511
+ };
2512
+ };
2513
+ ImagePickerItemComponent.prototype.ngOnDestroy = function () {
2514
+ _super.prototype.ngOnDestroy.call(this);
2515
+ this.model.locImageLink.onChanged = function () { };
2516
+ };
2517
+ return ImagePickerItemComponent;
2518
+ }(BaseAngular));
2519
+ ImagePickerItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ImagePickerItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2520
+ ImagePickerItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ImagePickerItemComponent, selector: "sv-ng-imagepicker-item", inputs: { question: "question", model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"question.getItemClass(model)\">\n <label [class]=\"question.cssClasses.label\">\n <input [type]=\"question.inputType\" [attr.name]=\"question.questionName\" [attr.value]=\"model.value\" [id]=\"question.getItemId(model)\" [attr.aria-required]=\"question.ariaRequired\" [attr.aria-label]=\"question.ariaLabel\" [attr.aria-invalid]=\"question.ariaInvalid\" [attr.aria-describedby]=\"question.ariaDescribedBy\"\n (change)=\"onChange($event)\" [checked]=\"question.isItemSelected(model)\" [disabled]=\"!question.getItemEnabled(model)\" [class]=\"question.cssClasses.itemControl\"\n />\n <div [class]=\"question.cssClasses.itemDecorator\">\n <div [class]=\"question.cssClasses.imageContainer\">\n <span *ngIf=\"question.cssClasses.checkedItemDecorator\" [class]=\"question.cssClasses.checkedItemDecorator\">\n <svg *ngIf=\"question.cssClasses.checkedItemSvgIconId\" [class]=\"question.cssClasses.checkedItemSvgIcon\" [iconName]=\"question.cssClasses.checkedItemSvgIconId\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </span>\n <img *ngIf=\"model.locImageLink.renderedHtml && question.contentMode === 'image'\" [class]=\"question.cssClasses.image\" [attr.src]=\"model.locImageLink.renderedHtml\" [attr.width]=\"question.renderedImageWidth\" [attr.height]=\"question.renderedImageHeight\" [attr.alt]=\"model.locText.renderedHtml\" [style.objectFit]=\"question.imageFit\" (load)=\"question.onContentLoaded(model, $event)\"/>\n <video *ngIf=\"model.locImageLink.renderedHtml && question.contentMode === 'video'\" controls [class]=\"question.cssClasses.image\" [attr.src]=\"model.locImageLink.renderedHtml\" [attr.width]=\"question.renderedImageWidth\" [attr.height]=\"question.renderedImageHeight\" [style.objectFit]=\"question.imageFit\" (loadedmetadata)=\"question.onContentLoaded(model, $event)\"></video>\n <div *ngIf=\"!model.locImageLink.renderedHtml\" [class]=\"question.cssClasses.itemNoImage\" [style.width]=\"question.renderedImageWidth\" [style.height]=\"question.renderedImageHeight\" [style.objectFit]=\"question.imageFit\">\n <svg [class]=\"question.cssClasses.itemNoImageSvgIcon\" *ngIf=\"question.cssClasses.itemNoImageSvgIcon\">\n <use [attr.xlink:href]=\"question.cssClasses.itemNoImageSvgIconId\"></use>\n </svg>\n </div>\n </div>\n <span *ngIf=\"question.showLabel\" [class]=\"question.cssClasses.itemText\" [model]=\"model.locText\" sv-ng-string></span>\n </div>\n </label>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2521
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ImagePickerItemComponent, decorators: [{
2522
+ type: i0.Component,
2523
+ args: [{
2524
+ selector: "sv-ng-imagepicker-item",
2525
+ templateUrl: "./imagepicker-item.component.html",
2526
+ styles: [":host { display: none; }"]
2527
+ }]
2528
+ }], propDecorators: { question: [{
2529
+ type: i0.Input
2530
+ }], model: [{
2531
+ type: i0.Input
2532
+ }] } });
2533
+ AngularComponentFactory.Instance.registerComponent("sv-ng-imagepicker-item", ImagePickerItemComponent);
2534
+
2535
+ var ImagePickerQuestionComponent = /** @class */ (function (_super) {
2536
+ __extends(ImagePickerQuestionComponent, _super);
2537
+ function ImagePickerQuestionComponent() {
2538
+ return _super !== null && _super.apply(this, arguments) || this;
2539
+ }
2540
+ ImagePickerQuestionComponent.prototype.getItemValueComponentName = function (item) {
2541
+ return this.model.getItemValueWrapperComponentName(item) || "sv-ng-imagepicker-item";
2542
+ };
2543
+ ImagePickerQuestionComponent.prototype.getItemValueComponentData = function (item) {
2544
+ return {
2545
+ componentName: "sv-ng-imagepicker-item",
2546
+ componentData: {
2547
+ question: this.model,
2548
+ model: item,
2549
+ data: this.model.getItemValueWrapperComponentData(item)
2550
+ }
2551
+ };
2552
+ };
2553
+ return ImagePickerQuestionComponent;
2554
+ }(QuestionAngular));
2555
+ ImagePickerQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ImagePickerQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2556
+ ImagePickerQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ImagePickerQuestionComponent, selector: "sv-ng-imagepicker-question", usesInheritance: true, ngImport: i0__namespace, template: " <fieldset [class]=\"model.getSelectBaseRootCss()\" #contentElement>\n <legend [attr.aria-label]=\"model.locTitle.renderedHtml\" role=\"radio\"></legend>\n <ng-container *ngIf=\"!model.hasColumns\">\n <ng-container *ngFor=\"let item of model.visibleChoices\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"model.hasColumns\">\n <div *ngFor=\"let column of model.columns\" [class]=\"model.getColumnClass()\" role=\"presentation\">\n <ng-container *ngFor=\"let item of column\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n </ng-container>\n </fieldset>", directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
2557
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ImagePickerQuestionComponent, decorators: [{
2558
+ type: i0.Component,
2559
+ args: [{
2560
+ selector: "sv-ng-imagepicker-question",
2561
+ templateUrl: "./imagepicker.component.html"
2562
+ }]
2563
+ }] });
2564
+ AngularComponentFactory.Instance.registerComponent("imagepicker-question", ImagePickerQuestionComponent);
2565
+
2566
+ var ButtonGroupItemComponent = /** @class */ (function (_super) {
2567
+ __extends(ButtonGroupItemComponent, _super);
2568
+ function ButtonGroupItemComponent() {
2569
+ return _super !== null && _super.apply(this, arguments) || this;
2570
+ }
2571
+ ButtonGroupItemComponent.prototype.ngOnChanges = function () {
2572
+ this.model = new Survey.ButtonGroupItemModel(this.question, this.item, this.index);
2573
+ };
2574
+ ButtonGroupItemComponent.prototype.getModel = function () {
2575
+ return this.item;
2576
+ };
2577
+ return ButtonGroupItemComponent;
2578
+ }(BaseAngular));
2579
+ ButtonGroupItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ButtonGroupItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2580
+ ButtonGroupItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ButtonGroupItemComponent, selector: "sv-button-group-item", inputs: { item: "item", question: "question", index: "index" }, usesInheritance: true, usesOnChanges: true, ngImport: i0__namespace, template: "<ng-template #template>\n <label role=\"radio\" [class]=\"model.css.label\" [attr.title]=\"model.caption.renderedHtml\">\n <input type=\"radio\"\n [attr.name]=\"model.name\" [attr.id]=\"model.id\" [attr.aria-required]=\"model.isRequired\" [attr.aria-label]=\"model.caption.renderedHtml\" role=\"radio\" [attr.aria-invalid]=\"model.hasErrors\" [attr.aria-describedby]=\"model.describedBy\" [disabled]=\"model.readOnly\" [class]=\"model.css.control\" [(ngModel)]=\"question.renderedValue\" [attr.value]=\"model.value\" [value]=\"model.value\"/>\n <div data-bind=\"css: model.css.decorator\">\n <svg *ngIf=\"model.iconName\" [iconName]=\"model.iconName\" [size]=\"model.iconSize\" [class]=\"model.css.icon\" sv-ng-svg-icon></svg>\n <span [class]=\"model.css.caption\" *ngIf=\"model.showCaption\" [attr.title]=\"model.caption.renderedHtml\" sv-ng-string [model]=\"model.caption\">\n </span>\n </div>\n </label>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i3__namespace.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { type: i3__namespace.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: i3__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2581
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ButtonGroupItemComponent, decorators: [{
2582
+ type: i0.Component,
2583
+ args: [{
2584
+ selector: "sv-button-group-item",
2585
+ templateUrl: "./button-group-item.component.html",
2586
+ styleUrls: ["../../hide-host.scss"]
2587
+ }]
2588
+ }], propDecorators: { item: [{
2589
+ type: i0.Input
2590
+ }], question: [{
2591
+ type: i0.Input
2592
+ }], index: [{
2593
+ type: i0.Input
2594
+ }] } });
2595
+
2596
+ var ButtonGroupQuestionComponent = /** @class */ (function (_super) {
2597
+ __extends(ButtonGroupQuestionComponent, _super);
2598
+ function ButtonGroupQuestionComponent() {
2599
+ return _super !== null && _super.apply(this, arguments) || this;
2600
+ }
2601
+ return ButtonGroupQuestionComponent;
2602
+ }(QuestionAngular));
2603
+ ButtonGroupQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ButtonGroupQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2604
+ ButtonGroupQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ButtonGroupQuestionComponent, selector: "sv-ng-buttongroup-question", usesInheritance: true, ngImport: i0__namespace, template: "<div role=\"group\" [class]=\"model.cssClasses.root\">\n <sv-button-group-item *ngFor=\"let item of model.visibleChoices; index as index\" [question]=\"model\" [item]=\"item\" [index]=\"index\" ></sv-button-group-item>\n</div>\n", components: [{ type: ButtonGroupItemComponent, selector: "sv-button-group-item", inputs: ["item", "question", "index"] }], directives: [{ type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
2605
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ButtonGroupQuestionComponent, decorators: [{
2606
+ type: i0.Component,
2607
+ args: [{
2608
+ selector: "sv-ng-buttongroup-question",
2609
+ templateUrl: "./button-group.component.html"
2610
+ }]
2611
+ }] });
2612
+
2613
+ var Key2ClickDirective = /** @class */ (function () {
2614
+ function Key2ClickDirective(el) {
2615
+ var _this = this;
2616
+ this.el = el;
2617
+ this.isSubscribed = false;
2618
+ this.options = Key2ClickDirective.defaultOptions;
2619
+ this.onkeyup = function (evt) {
2620
+ evt.preventDefault();
2621
+ evt.stopPropagation();
2622
+ Survey.doKey2ClickUp(evt, _this.options);
2623
+ return false;
2624
+ };
2625
+ this.subscribeEventListeners();
2626
+ }
2627
+ Key2ClickDirective.prototype.onkeydown = function (evt) {
2628
+ Survey.doKey2ClickDown(evt, this.options);
2629
+ };
2630
+ Key2ClickDirective.prototype.blur = function (evt) {
2631
+ Survey.doKey2ClickBlur(evt);
2632
+ };
2633
+ Object.defineProperty(Key2ClickDirective.prototype, "element", {
2634
+ get: function () {
2635
+ return this.el.nativeElement;
2636
+ },
2637
+ enumerable: false,
2638
+ configurable: true
2639
+ });
2640
+ Key2ClickDirective.prototype.subscribeEventListeners = function () {
2641
+ if (this.isSubscribed)
2642
+ return;
2643
+ this.element.tabIndex = 0;
2644
+ this.element.addEventListener("keyup", this.onkeyup);
2645
+ this.element.addEventListener("keydown", this.onkeydown);
2646
+ this.element.addEventListener("blur", this.blur);
2647
+ this.isSubscribed = true;
2648
+ };
2649
+ Key2ClickDirective.prototype.unsubscribeEventListeners = function () {
2650
+ if (!this.isSubscribed)
2651
+ return;
2652
+ this.element.tabIndex = -1;
2653
+ this.element.removeEventListener("keyup", this.onkeyup);
2654
+ this.element.removeEventListener("keydown", this.onkeydown);
2655
+ this.element.removeEventListener("blur", this.blur);
2656
+ this.isSubscribed = false;
2657
+ };
2658
+ Key2ClickDirective.prototype.ngOnChanges = function (changes) {
2659
+ var curValue = changes["key2click"].currentValue;
2660
+ if (curValue.disableTabStop) {
2661
+ this.unsubscribeEventListeners();
2662
+ }
2663
+ else {
2664
+ this.subscribeEventListeners();
2665
+ }
2666
+ this.options = Object.assign({}, Key2ClickDirective.defaultOptions, curValue);
2667
+ };
2668
+ Key2ClickDirective.prototype.ngOnDestroy = function () {
2669
+ this.unsubscribeEventListeners();
2670
+ };
2671
+ return Key2ClickDirective;
2672
+ }());
2673
+ Key2ClickDirective.defaultOptions = { processEsc: true, disableTabStop: false };
2674
+ Key2ClickDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: Key2ClickDirective, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Directive });
2675
+ Key2ClickDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: Key2ClickDirective, selector: "[key2click]", inputs: { key2click: "key2click" }, usesOnChanges: true, ngImport: i0__namespace });
2676
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: Key2ClickDirective, decorators: [{
2677
+ type: i0.Directive,
2678
+ args: [{
2679
+ selector: "[key2click]"
2680
+ }]
2681
+ }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }]; }, propDecorators: { key2click: [{
2682
+ type: i0.Input
2683
+ }] } });
2684
+
2685
+ var ActionBarItemComponent = /** @class */ (function (_super) {
2686
+ __extends(ActionBarItemComponent, _super);
2687
+ function ActionBarItemComponent() {
2688
+ return _super !== null && _super.apply(this, arguments) || this;
2689
+ }
2690
+ ActionBarItemComponent.prototype.getModel = function () {
2691
+ return this.model;
2692
+ };
2693
+ return ActionBarItemComponent;
2694
+ }(BaseAngular));
2695
+ ActionBarItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActionBarItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2696
+ ActionBarItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ActionBarItemComponent, selector: "sv-action-bar-item", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <button type=\"button\" (click)=\"model.action()\" [key2click]=\"{ processEsc: false }\" [class]=\"model.getActionBarItemCss()\" [attr.title]=\"model.tooltip || model.title\" [attr.aria-checked]=\"model.ariaChecked\" [attr.aria-expanded]=\"model.ariaExpanded\" [attr.role]=\"model.ariaRole\" [disabled]=\"model.disabled\" \n data-bind=\"key2click: { processEsc: false }\">\n <svg *ngIf=\"model.iconName\" [iconName]=\"model.iconName\" [size]=\"model.iconSize\" [title]=\"model.tooltip || model.title\" [class]=\"model.cssClasses.itemIcon\" sv-ng-svg-icon></svg>\n <span *ngIf=\"model.hasTitle\" [class]=\"model.getActionBarItemTitleCss()\">{{ model.title }}</span>\n </button>\n<ng-template>", styles: [":host{display:none}\n"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2697
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActionBarItemComponent, decorators: [{
2698
+ type: i0.Component,
2699
+ args: [{
2700
+ selector: "sv-action-bar-item",
2701
+ templateUrl: "./action-bar-item.component.html",
2702
+ styleUrls: ["../../hide-host.scss"]
2703
+ }]
2704
+ }], propDecorators: { model: [{
2705
+ type: i0.Input
2706
+ }] } });
2707
+ AngularComponentFactory.Instance.registerComponent("sv-action-bar-item", ActionBarItemComponent);
2708
+
2709
+ var ActionBarItemDropdownComponent = /** @class */ (function (_super) {
2710
+ __extends(ActionBarItemDropdownComponent, _super);
2711
+ function ActionBarItemDropdownComponent() {
2712
+ return _super !== null && _super.apply(this, arguments) || this;
2713
+ }
2714
+ ActionBarItemDropdownComponent.prototype.getModel = function () {
2715
+ return this.model;
2716
+ };
2717
+ ActionBarItemDropdownComponent.prototype.ngOnInit = function () {
2718
+ _super.prototype.ngOnInit.call(this);
2719
+ this.viewModel = new Survey.ActionDropdownViewModel(this.model);
2720
+ };
2721
+ ActionBarItemDropdownComponent.prototype.ngOnDestroy = function () {
2722
+ this.viewModel.dispose();
2723
+ _super.prototype.ngOnDestroy.call(this);
2724
+ };
2725
+ return ActionBarItemDropdownComponent;
2726
+ }(BaseAngular));
2727
+ ActionBarItemDropdownComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActionBarItemDropdownComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2728
+ ActionBarItemDropdownComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ActionBarItemDropdownComponent, selector: "sv-action-bar-item-dropdown", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <button type=\"button\" (click)=\"model.action()\" [key2click]=\"{ processEsc: false }\" [class]=\"model.getActionBarItemCss()\" [title]=\"model.tooltip || model.title\" [disabled]=\"model.disabled\" [attr.role]=\"model.ariaRole\">\n <svg *ngIf=\"model.iconName\" [iconName]=\"model.iconName\" [size]=\"model.iconSize\" [title]=\"model.tooltip || model.title\" [class]=\"model.cssClasses.itemIcon\" sv-ng-svg-icon></svg>\n <span *ngIf=\"model.hasTitle\" [class]=\"model.getActionBarItemTitleCss()\">{{ model.title }}</span>\n <sv-ng-popup [popupModel]=\"model.popupModel\"></sv-ng-popup>\n </button>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }], directives: [{ type: Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2729
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActionBarItemDropdownComponent, decorators: [{
2730
+ type: i0.Component,
2731
+ args: [{
2732
+ selector: "sv-action-bar-item-dropdown",
2733
+ templateUrl: "./action-bar-item-dropdown.component.html",
2734
+ styleUrls: ["../../hide-host.scss"]
2735
+ }]
2736
+ }], propDecorators: { model: [{
2737
+ type: i0.Input
2738
+ }] } });
2739
+ AngularComponentFactory.Instance.registerComponent("sv-action-bar-item-dropdown", ActionBarItemDropdownComponent);
2740
+
2741
+ var SelectBaseItemComponent = /** @class */ (function (_super) {
2742
+ __extends(SelectBaseItemComponent, _super);
2743
+ function SelectBaseItemComponent() {
2744
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
2745
+ _this.showLabel = true;
2746
+ return _this;
2747
+ }
2748
+ SelectBaseItemComponent.prototype.getModel = function () {
2749
+ return this.model;
2750
+ };
2751
+ return SelectBaseItemComponent;
2752
+ }(BaseAngular));
2753
+ SelectBaseItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SelectBaseItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2754
+ SelectBaseItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SelectBaseItemComponent, selector: "['sv-ng-selectbase-item'], sv-ng-selebase-item", inputs: { question: "question", model: "model", inputType: "inputType", showLabel: "showLabel" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div role=\"presentation\" [class]=\"question.getItemClass(model)\">\n <ng-container [ngSwitch]=\"inputType\">\n <label *ngSwitchCase=\"'checkbox'\" [class]=\"question.getLabelClass(model)\" [attr.aria-label]=\"question.getAriaItemLabel(model)\" [model]=\"model\" [question]=\"question\" sv-ng-checkbox-item>\n <ng-container *ngTemplateOutlet=\"itemDecorator\"></ng-container>\n </label>\n <label *ngSwitchCase=\"'radio'\" [class]=\"question.getLabelClass(model)\" [attr.aria-label]=\"question.getAriaItemLabel(model)\" [model]=\"model\" [question]=\"question\" sv-ng-radiogroup-item>\n <ng-container *ngTemplateOutlet=\"itemDecorator\"></ng-container>\n </label>\n </ng-container>\n <ng-template #itemDecorator>\n <span *ngIf=\"question.cssClasses.materialDecorator\" [class]=\"question.cssClasses.materialDecorator\">\n <svg *ngIf=\"question.itemSvgIcon\" [class]=\"question.cssClasses.itemDecorator\">\n <use [attr.xlink:href]=\"question.itemSvgIcon\"></use>\n </svg>\n </span>\n <span [class]=\"question.getControlLabelClass(model)\" *ngIf=\"!model.hideCaption\">\n <sv-ng-string [model]=\"model.locText\"></sv-ng-string>\n </span> \n </ng-template>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: CheckboxItemComponent, selector: "sv-ng-checkbox-item, '[sv-ng-checkbox-item]'", inputs: ["question", "model"] }, { type: RadiogroupItemComponent, selector: "sv-ng-radiogroup-item, '[sv-ng-radiogroup-item]'", inputs: ["question", "model"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2755
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SelectBaseItemComponent, decorators: [{
2756
+ type: i0.Component,
2757
+ args: [{
2758
+ selector: "['sv-ng-selectbase-item'], sv-ng-selebase-item",
2759
+ templateUrl: "./selectbase-item.html",
2760
+ styles: [":host { display: none; }"]
2761
+ }]
2762
+ }], propDecorators: { question: [{
2763
+ type: i0.Input
2764
+ }], model: [{
2765
+ type: i0.Input
2766
+ }], inputType: [{
2767
+ type: i0.Input
2768
+ }], showLabel: [{
2769
+ type: i0.Input
2770
+ }] } });
2771
+ AngularComponentFactory.Instance.registerComponent("sv-ng-selectbase-item", SelectBaseItemComponent);
2772
+
2773
+ var SkeletonComponent = /** @class */ (function (_super) {
2774
+ __extends(SkeletonComponent, _super);
2775
+ function SkeletonComponent() {
2776
+ return _super !== null && _super.apply(this, arguments) || this;
2777
+ }
2778
+ return SkeletonComponent;
2779
+ }(EmbeddedViewContentComponent));
2780
+ SkeletonComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SkeletonComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2781
+ SkeletonComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SkeletonComponent, selector: "sv-skeleton", inputs: { element: "element" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div class=\"sv-skeleton-element\" [id]=\"element.id\"></div>\n</ng-template>", styles: [":host{display:none}\n"] });
2782
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SkeletonComponent, decorators: [{
2783
+ type: i0.Component,
2784
+ args: [{
2785
+ selector: "sv-skeleton",
2786
+ templateUrl: "./skeleton.component.html",
2787
+ styleUrls: ["../../hide-host.scss"]
2788
+ }]
2789
+ }], propDecorators: { element: [{
2790
+ type: i0.Input
2791
+ }] } });
2792
+ AngularComponentFactory.Instance.registerComponent("sv-skeleton", SkeletonComponent);
2793
+
2794
+ var ListItemComponent = /** @class */ (function (_super) {
2795
+ __extends(ListItemComponent, _super);
2796
+ function ListItemComponent() {
2797
+ return _super !== null && _super.apply(this, arguments) || this;
2798
+ }
2799
+ Object.defineProperty(ListItemComponent.prototype, "ariaSelected", {
2800
+ get: function () {
2801
+ return this.listModel.isItemSelected(this.model) || "";
2802
+ },
2803
+ enumerable: false,
2804
+ configurable: true
2805
+ });
2806
+ Object.defineProperty(ListItemComponent.prototype, "class", {
2807
+ get: function () {
2808
+ return this.listModel.getItemClass(this.model);
2809
+ },
2810
+ enumerable: false,
2811
+ configurable: true
2812
+ });
2813
+ Object.defineProperty(ListItemComponent.prototype, "paddingLeft", {
2814
+ get: function () {
2815
+ return this.listModel.getItemIndent(this.model);
2816
+ },
2817
+ enumerable: false,
2818
+ configurable: true
2819
+ });
2820
+ ListItemComponent.prototype.click = function (event) {
2821
+ this.listModel.onItemClick(this.model);
2822
+ event.stopPropagation();
2823
+ };
2824
+ ListItemComponent.prototype.pointerdown = function (event) {
2825
+ this.listModel.onPointerDown(event, this.model);
2826
+ };
2827
+ ListItemComponent.prototype.getModel = function () {
2828
+ return this.model;
2829
+ };
2830
+ ListItemComponent.prototype.ngAfterViewInit = function () {
2831
+ this.listModel.onLastItemRended(this.model);
2832
+ };
2833
+ return ListItemComponent;
2834
+ }(BaseAngular));
2835
+ ListItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ListItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2836
+ ListItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ListItemComponent, selector: "sv-ng-list-item, '[sv-ng-list-item]'", inputs: { element: "element", model: "model", listModel: "listModel" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <li role=\"option\" [key2click] [visible]=\"listModel.isItemVisible(model)\" [class]=\"class\" [attr.aria-selected]=\"ariaSelected\" (click)=\"click($event)\" (pointerdown)=\"pointerdown($event)\">\n <ng-container *ngIf=\"model.needSeparator\">\n <div [class]=\"listModel.cssClasses.itemSeparator\"></div>\n </ng-container>\n <div [class]=\"listModel.cssClasses.itemBody\" [style.paddingInlineStart]=\"paddingLeft\">\n <ng-container *ngIf=\"!model.component\">\n <svg *ngIf=\"model.iconName\" [class]=\"listModel.cssClasses.itemIcon\" [iconName]=\"model.iconName\" [size]=\"24\"\n sv-ng-svg-icon></svg>\n <sv-ng-string [model]=\"model.locTitle\"></sv-ng-string>\n </ng-container>\n <ng-container *ngIf=\"model.component\">\n <ng-template [component]=\"{ name: model.component, data: { model: model } }\"></ng-template>\n </ng-container>\n </div>\n </li>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
2837
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ListItemComponent, decorators: [{
2838
+ type: i0.Component,
2839
+ args: [{
2840
+ selector: "sv-ng-list-item, '[sv-ng-list-item]'",
2841
+ templateUrl: "./list-item.component.html",
2842
+ styleUrls: ["../../hide-host.scss"],
2843
+ }]
2844
+ }], propDecorators: { element: [{
2845
+ type: i0.Input
2846
+ }], model: [{
2847
+ type: i0.Input
2848
+ }], listModel: [{
2849
+ type: i0.Input
2850
+ }] } });
2851
+ AngularComponentFactory.Instance.registerComponent("sv-list-item", ListItemComponent);
2852
+
2853
+ var ListComponent = /** @class */ (function (_super) {
2854
+ __extends(ListComponent, _super);
2855
+ function ListComponent() {
2856
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
2857
+ _this.trackItemBy = function (_, item) {
2858
+ return item.id;
2859
+ };
2860
+ return _this;
2861
+ }
2862
+ ListComponent.prototype.getModel = function () {
2863
+ return this.model;
2864
+ };
2865
+ ListComponent.prototype.onGoToItems = function (event) {
2866
+ this.model.goToItems(event);
2867
+ };
2868
+ ListComponent.prototype.onMouseDown = function (event) {
2869
+ event.preventDefault();
2870
+ };
2871
+ ListComponent.prototype.onKeyDown = function (event) {
2872
+ this.model.onKeyDown(event);
2873
+ };
2874
+ ListComponent.prototype.onMouseMove = function (event) {
2875
+ this.model.onMouseMove(event);
2876
+ };
2877
+ ListComponent.prototype.ngAfterViewInit = function () {
2878
+ var _a;
2879
+ if (!!((_a = this.listContainerElement) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
2880
+ this.model.initListContainerHtmlElement(this.listContainerElement.nativeElement);
2881
+ }
2882
+ };
2883
+ return ListComponent;
2884
+ }(BaseAngular));
2885
+ ListComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ListComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2886
+ ListComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ListComponent, selector: "sv-ng-list, '[sv-ng-list]'", inputs: { model: "model" }, viewQueries: [{ propertyName: "listContainerElement", first: true, predicate: ["listContainerElement"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"model.cssClasses.root\" #listContainerElement>\n <div *ngIf=\"model.showFilter\" [class]=\"model.cssClasses.filter\">\n <div [class]=\"model.cssClasses.filterIcon\">\n <svg [iconName]=\"'icon-search'\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n <input type=\"text\" [class]=\"model.cssClasses.filterInput\" [(ngModel)]=\"model.filterString\"\n [attr.aria-label]=\"model.filterStringPlaceholder || ''\"\n [attr.placeholder]=\"model.filterStringPlaceholder || ''\" \n (keyup)=\"onGoToItems($event)\" />\n <button *ngIf=\"model.showSearchClearButton && !!model.filterString\" (click)=\"model.onClickSearchClearButton($event)\" [class]=\"model.cssClasses.searchClearButtonIcon\">\n <svg [iconName]=\"'icon-searchclear'\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </button>\n </div>\n <div [class]=\"model.cssClasses.emptyContainer\" [visible]=\"model.isEmpty\">\n <div [class]=\"model.cssClasses.emptyText\" [attr.aria-label]=\"model.emptyMessage || ''\">{{ model.emptyMessage }}</div>\n </div>\n <ul [class]=\"model.cssClasses.itemsContainer\" role=\"listbox\" [visible]=\"!model.isEmpty\" (mousedown)=\"onMouseDown($event)\" (keydown)=\"onKeyDown($event)\" (mousemove)=\"onMouseMove($event)\">\n <sv-ng-list-item *ngFor=\"let item of model.renderedActions; trackBy: trackItemBy\" [listModel]=\"model\" [model]=\"item\"></sv-ng-list-item>\n <!--ko foreach: model.renderedActions -->\n <!-- ko component: { name: 'sv-list-item', params: { item: $data, model: $parent.model } } -->\n <!-- /ko -->\n <!-- /ko -->\n </ul>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: ListItemComponent, selector: "sv-ng-list-item, '[sv-ng-list-item]'", inputs: ["element", "model", "listModel"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.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: i3__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
2887
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ListComponent, decorators: [{
2888
+ type: i0.Component,
2889
+ args: [{
2890
+ selector: "sv-ng-list, '[sv-ng-list]'",
2891
+ templateUrl: "./list.component.html",
2892
+ styleUrls: ["../../hide-host.scss"]
2893
+ }]
2894
+ }], propDecorators: { model: [{
2895
+ type: i0.Input
2896
+ }], listContainerElement: [{
2897
+ type: i0.ViewChild,
2898
+ args: ["listContainerElement"]
2899
+ }] } });
2900
+ AngularComponentFactory.Instance.registerComponent("sv-list", ListComponent);
2901
+
2902
+ var RatingItemComponent = /** @class */ (function (_super) {
2903
+ __extends(RatingItemComponent, _super);
2904
+ function RatingItemComponent() {
2905
+ return _super !== null && _super.apply(this, arguments) || this;
2906
+ }
2907
+ RatingItemComponent.prototype.onClick = function (event) {
2908
+ this.model.setValueFromClick(event.target.value);
2909
+ event.stopPropagation();
2910
+ };
2911
+ RatingItemComponent.prototype.getModel = function () {
2912
+ return this.model;
2913
+ };
2914
+ return RatingItemComponent;
2915
+ }(BaseAngular));
2916
+ RatingItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
2917
+ RatingItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RatingItemComponent, selector: "sv-ng-rating-item", inputs: { element: "element", model: "model", item: "item", index: "index" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <label [class]=\"model.getItemClass(item.itemValue)\" >\n <input type=\"radio\"\n class=\"sv-visuallyhidden\"\n [attr.name]=\"model.name\" [attr.id]=\"model.getInputId(index)\" [value]=\"item.value\" [attr.aria-required]=\"model.ariaRequired\" [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-describedby]=\"model.ariaDescribedBy\"\n [disabled]=\"model.isInputReadOnly\" [checked]=\"model.value === item.value\" (click)=\"onClick($event)\"\n />\n <span [class]=\"model.cssClasses.itemText\" [model]=\"item.locText\" sv-ng-string></span>\n </label>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }] });
2918
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingItemComponent, decorators: [{
2919
+ type: i0.Component,
2920
+ args: [{
2921
+ selector: "sv-ng-rating-item",
2922
+ templateUrl: "./rating-item.component.html",
2923
+ styleUrls: ["../../hide-host.scss"],
2924
+ }]
2925
+ }], propDecorators: { element: [{
2926
+ type: i0.Input
2927
+ }], model: [{
2928
+ type: i0.Input
2929
+ }], item: [{
2930
+ type: i0.Input
2931
+ }], index: [{
2932
+ type: i0.Input
2933
+ }] } });
2934
+ AngularComponentFactory.Instance.registerComponent("sv-rating-item", RatingItemComponent);
2935
+
2936
+ var RatingDropdownComponent = /** @class */ (function () {
2937
+ function RatingDropdownComponent() {
2938
+ }
2939
+ return RatingDropdownComponent;
2940
+ }());
2941
+ RatingDropdownComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingDropdownComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
2942
+ RatingDropdownComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RatingDropdownComponent, selector: "sv-ng-rating-dropdown-question", inputs: { model: "model" }, ngImport: i0__namespace, template: "<div [class]=\"model.cssClasses.rootDropdown\">\n <sv-ng-dropdown [model]=\"model\"></sv-ng-dropdown>\n</div>", components: [{ type: DropdownComponent, selector: "sv-ng-dropdown, '[sv-ng-dropdown]'", inputs: ["model"] }] });
2943
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingDropdownComponent, decorators: [{
2944
+ type: i0.Component,
2945
+ args: [{
2946
+ selector: "sv-ng-rating-dropdown-question",
2947
+ templateUrl: "./rating-dropdown.component.html"
2948
+ }]
2949
+ }], propDecorators: { model: [{
2950
+ type: i0.Input
2951
+ }] } });
2952
+ AngularComponentFactory.Instance.registerComponent("rating-dropdown-question", RatingDropdownComponent);
2953
+ Survey.RendererFactory.Instance.registerRenderer("rating", "dropdown", "rating-dropdown-question");
2954
+
2955
+ var BooleanCheckboxComponent = /** @class */ (function () {
2956
+ function BooleanCheckboxComponent() {
2957
+ }
2958
+ return BooleanCheckboxComponent;
2959
+ }());
2960
+ BooleanCheckboxComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BooleanCheckboxComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
2961
+ BooleanCheckboxComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: BooleanCheckboxComponent, selector: "sv-ng-boolean-checkbox-question", inputs: { model: "model" }, ngImport: i0__namespace, template: "<div [class]=\"model.cssClasses.rootCheckbox\">\n <div [class]=\"model.getCheckboxItemCss()\">\n <label [class]=\"model.cssClasses.checkboxLabel\">\n <input\n type=\"checkbox\"\n [value]=\"model.booleanValue\" [class]=\"model.cssClasses.controlCheckbox\" \n [attr.name]=\"model.name\" [id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\" [attr.aria-label]=\"model.ariaLabel\"\n [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-describedby]=\"model.ariaDescribedBy\" [(ngModel)]=\"model.booleanValue\" [value]=\"model.booleanValue\"\n [disabled]=\"model.isInputReadOnly\" [indeterminate]=\"model.isIndeterminate\"\n />\n <span [class]=\"model.cssClasses.checkboxMaterialDecorator\">\n <svg *ngIf=\"!!model.svgIcon\" [class]=\"model.cssClasses.checkboxItemDecorator\">\n <use [attr.xlink:href]=\"model.svgIcon\"></use>\n </svg>\n <span class=\"check\"></span>\n </span>\n <span *ngIf=\"model.isLabelRendered\" [class]=\"model.cssClasses.checkboxControlLabel\" [id]=\"model.labelRenderedAriaID\">\n <sv-ng-element-title-actions [element]=\"model\"></sv-ng-element-title-actions>\n </span>\n </label>\n <div *ngIf=\"model.canRenderLabelDescription\" [class]=\"model.cssDescription\" [model]=\"model.locDescription\" sv-ng-string></div>\n </div>\n</div>", components: [{ type: ElementTitleActionsComponent, selector: "sv-ng-element-title-actions", inputs: ["element"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i3__namespace.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i3__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2962
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BooleanCheckboxComponent, decorators: [{
2963
+ type: i0.Component,
2964
+ args: [{
2965
+ selector: "sv-ng-boolean-checkbox-question",
2966
+ templateUrl: "./boolean-checkbox.component.html"
2967
+ }]
2968
+ }], propDecorators: { model: [{
2969
+ type: i0.Input
2970
+ }] } });
2971
+ AngularComponentFactory.Instance.registerComponent("boolean-checkbox-question", BooleanCheckboxComponent);
2972
+ Survey.RendererFactory.Instance.registerRenderer("boolean", "checkbox", "boolean-checkbox-question");
2973
+
2974
+ var BooleanRadioItemComponent = /** @class */ (function () {
2975
+ function BooleanRadioItemComponent() {
2976
+ }
2977
+ return BooleanRadioItemComponent;
2978
+ }());
2979
+ BooleanRadioItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BooleanRadioItemComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
2980
+ BooleanRadioItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: BooleanRadioItemComponent, selector: "sv-ng-boolean-radio-item", inputs: { question: "question", value: "value", locText: "locText" }, ngImport: i0__namespace, template: "<div role=\"presentation\" [class]=\"question.getRadioItemClass(question.cssClasses, value)\">\n <label [class]=\"question.cssClasses.radioLabel\">\n <input\n type=\"radio\"\n [attr.name]=\"question.name\" [attr.aria-describedby]=\"question.ariaDescribedBy\" [value]=\"value\" [(ngModel)]=\"question.booleanValue\"\n [disabled]=\"question.isInputReadOnly\" [class]=\"question.cssClasses.itemRadioControl || ''\"\n />\n <span *ngIf=\"question.cssClasses.materialRadioDecorator\" [class]=\"question.cssClasses.materialRadioDecorator\"></span>\n <span [class]=\"question.cssClasses.radioControlLabel\" [model]=\"locText\" sv-ng-string>\n </span>\n </label>\n</div>\n", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i3__namespace.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { type: i3__namespace.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: i3__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2981
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BooleanRadioItemComponent, decorators: [{
2982
+ type: i0.Component,
2983
+ args: [{
2984
+ selector: "sv-ng-boolean-radio-item",
2985
+ templateUrl: "boolean-radio-item.component.html",
2986
+ }]
2987
+ }], ctorParameters: function () { return []; }, propDecorators: { question: [{
2988
+ type: i0.Input
2989
+ }], value: [{
2990
+ type: i0.Input
2991
+ }], locText: [{
2992
+ type: i0.Input
2993
+ }] } });
2994
+
2995
+ var BooleanRadioComponent = /** @class */ (function () {
2996
+ function BooleanRadioComponent() {
2997
+ }
2998
+ return BooleanRadioComponent;
2999
+ }());
3000
+ BooleanRadioComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BooleanRadioComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
3001
+ BooleanRadioComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: BooleanRadioComponent, selector: "sv-ng-boolean-radio-question", inputs: { model: "model" }, ngImport: i0__namespace, template: "<div [class]=\"model.cssClasses.rootRadio\">\n <fieldset role=\"presentation\" [class]=\"model.cssClasses.radioFieldset\">\n <sv-ng-boolean-radio-item [value]=\"false\" [locText]=\"model.locLabelFalse\" [question]=\"model\" ></sv-ng-boolean-radio-item>\n <sv-ng-boolean-radio-item [value]=\"true\" [locText]=\"model.locLabelTrue\" [question]=\"model\" ></sv-ng-boolean-radio-item>\n </fieldset>\n</div>\n", components: [{ type: BooleanRadioItemComponent, selector: "sv-ng-boolean-radio-item", inputs: ["question", "value", "locText"] }] });
3002
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BooleanRadioComponent, decorators: [{
3003
+ type: i0.Component,
3004
+ args: [{
3005
+ selector: "sv-ng-boolean-radio-question",
3006
+ templateUrl: "./boolean-radio.component.html"
3007
+ }]
3008
+ }], propDecorators: { model: [{
3009
+ type: i0.Input
3010
+ }] } });
3011
+ AngularComponentFactory.Instance.registerComponent("boolean-radio-question", BooleanRadioComponent);
3012
+ Survey.RendererFactory.Instance.registerRenderer("boolean", "radio", "boolean-radio-question");
3013
+
3014
+ var ProgressDefaultComponent = /** @class */ (function (_super) {
3015
+ __extends(ProgressDefaultComponent, _super);
3016
+ function ProgressDefaultComponent() {
3017
+ return _super !== null && _super.apply(this, arguments) || this;
3018
+ }
3019
+ ProgressDefaultComponent.prototype.getProgressTextInBarCss = function (css) {
3020
+ return Survey.SurveyProgressModel.getProgressTextInBarCss(css);
3021
+ };
3022
+ ProgressDefaultComponent.prototype.getProgressTextUnderBarCss = function (css) {
3023
+ return Survey.SurveyProgressModel.getProgressTextUnderBarCss(css);
3024
+ };
3025
+ return ProgressDefaultComponent;
3026
+ }(EmbeddedViewContentComponent));
3027
+ ProgressDefaultComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ProgressDefaultComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3028
+ ProgressDefaultComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ProgressDefaultComponent, selector: "sv-ng-progress-default", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"model.getProgressCssClasses()\">\n <div [class]=\"model.css.progressBar\" [style.width]=\"model.progressValue + '%'\"\n role=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\">\n <span [class]=\"getProgressTextInBarCss(model.css)\">\n {{ model.progressText }}\n </span>\n </div>\n <span [class]=\"getProgressTextUnderBarCss(model.css)\"> {{ model.progressText }} </span>\n </div>\n</ng-template>" });
3029
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ProgressDefaultComponent, decorators: [{
3030
+ type: i0.Component,
3031
+ args: [{
3032
+ selector: "sv-ng-progress-default",
3033
+ templateUrl: "./progress.component.html"
3034
+ }]
3035
+ }], propDecorators: { model: [{
3036
+ type: i0.Input
3037
+ }] } });
3038
+ AngularComponentFactory.Instance.registerComponent("sv-progress-progress", ProgressDefaultComponent);
3039
+ AngularComponentFactory.Instance.registerComponent("sv-progress-pages", ProgressDefaultComponent);
3040
+ AngularComponentFactory.Instance.registerComponent("sv-progress-questions", ProgressDefaultComponent);
3041
+ AngularComponentFactory.Instance.registerComponent("sv-progress-correctQuestions", ProgressDefaultComponent);
3042
+ AngularComponentFactory.Instance.registerComponent("sv-progress-requiredQuestions", ProgressDefaultComponent);
3043
+
3044
+ var ProgressButtonsComponent = /** @class */ (function () {
3045
+ function ProgressButtonsComponent(changeDetectorRef) {
3046
+ this.changeDetectorRef = changeDetectorRef;
3047
+ this.hasScroller = false;
3048
+ this.updateScroller = undefined;
3049
+ }
3050
+ ProgressButtonsComponent.prototype.createProgressButtonsModel = function () {
3051
+ this.progressButtonsModel = new Survey.SurveyProgressButtonsModel(this.model);
3052
+ };
3053
+ ProgressButtonsComponent.prototype.ngOnInit = function () {
3054
+ this.createProgressButtonsModel();
3055
+ };
3056
+ ProgressButtonsComponent.prototype.ngOnChanges = function (changes) {
3057
+ this.createProgressButtonsModel();
3058
+ };
3059
+ ProgressButtonsComponent.prototype.isListElementClickable = function (index) {
3060
+ return this.progressButtonsModel.isListElementClickable(index);
3061
+ };
3062
+ ProgressButtonsComponent.prototype.getListElementCss = function (index) {
3063
+ return this.progressButtonsModel.getListElementCss(index);
3064
+ };
3065
+ ProgressButtonsComponent.prototype.clickListElement = function (index) {
3066
+ this.progressButtonsModel.clickListElement(index);
3067
+ };
3068
+ ProgressButtonsComponent.prototype.getScrollButtonCss = function (isLeftScroll) {
3069
+ return this.progressButtonsModel.getScrollButtonCss(this.hasScroller, isLeftScroll);
3070
+ };
3071
+ ProgressButtonsComponent.prototype.clickScrollButton = function (isLeftScroll) {
3072
+ if (this.progressButtonsListContainer) {
3073
+ this.progressButtonsListContainer.nativeElement.scrollLeft += (isLeftScroll ? -1 : 1) * 70;
3074
+ }
3075
+ };
3076
+ ProgressButtonsComponent.prototype.ngAfterViewInit = function () {
3077
+ var _this = this;
3078
+ this.progressButtonsModel = new Survey.SurveyProgressButtonsModel(this.model);
3079
+ this.updateScroller = setInterval(function () {
3080
+ var _a;
3081
+ if (!!((_a = _this.progressButtonsListContainer) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
3082
+ var listContainerElement = _this.progressButtonsListContainer.nativeElement;
3083
+ _this.hasScroller = listContainerElement.scrollWidth > listContainerElement.offsetWidth;
3084
+ _this.changeDetectorRef.detectChanges();
3085
+ }
3086
+ }, 100);
3087
+ };
3088
+ ProgressButtonsComponent.prototype.ngOnDestroy = function () {
3089
+ if (typeof this.updateScroller !== "undefined") {
3090
+ clearInterval(this.updateScroller);
3091
+ this.updateScroller = undefined;
3092
+ }
3093
+ };
3094
+ return ProgressButtonsComponent;
3095
+ }());
3096
+ ProgressButtonsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ProgressButtonsComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
3097
+ ProgressButtonsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ProgressButtonsComponent, selector: "sv-ng-progress-buttons", inputs: { model: "model" }, viewQueries: [{ propertyName: "progressButtonsListContainer", first: true, predicate: ["progressButtonsListContainer"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div [class]=\"model.css.progressButtonsContainerCenter\">\n <div [class]=\"model.css.progressButtonsContainer\">\n <div\n [class]=\"getScrollButtonCss(true)\"\n (click)=\"clickScrollButton(true)\"\n role=\"button\"\n ></div>\n <div\n [class]=\"model.css.progressButtonsListContainer\" #progressButtonsListContainer>\n <ul [class]=\"model.css.progressButtonsList\">\n <li\n *ngFor=\"let page of model.visiblePages; index as index\"\n [class]=\"getListElementCss(index)\"\n (click)=\"isListElementClickable(index) ? clickListElement(index) : null\">\n <div\n [class]=\"model.css.progressButtonsPageTitle\"\n [title]=\"page.locNavigationTitle.renderedHtml || page.name\"\n >\n {{ page.locNavigationTitle.renderedHtml || page.name }}\n </div>\n <div\n [class]=\"model.css.progressButtonsPageDescription\"\n [title]=\"page.locNavigationDescription.renderedHtml\"\n >\n {{ page.locNavigationDescription.renderedHtml }}\n </div>\n </li>\n </ul>\n </div>\n <div\n [class]=\"getScrollButtonCss(false)\"\n (click)=\"clickScrollButton(false)\"\n role=\"button\"\n ></div>\n </div>\n</div>", directives: [{ type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
3098
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ProgressButtonsComponent, decorators: [{
3099
+ type: i0.Component,
3100
+ args: [{
3101
+ selector: "sv-ng-progress-buttons",
3102
+ templateUrl: "./progress.component.html"
3103
+ }]
3104
+ }], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }]; }, propDecorators: { model: [{
3105
+ type: i0.Input
3106
+ }], progressButtonsListContainer: [{
3107
+ type: i0.ViewChild,
3108
+ args: ["progressButtonsListContainer"]
3109
+ }] } });
3110
+ AngularComponentFactory.Instance.registerComponent("sv-progress-buttons", ProgressButtonsComponent);
3111
+
3112
+ var PanelComponent = /** @class */ (function (_super) {
3113
+ __extends(PanelComponent, _super);
3114
+ function PanelComponent() {
3115
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
3116
+ _this.trackRowBy = function (_, row) {
3117
+ return row.id;
3118
+ };
3119
+ return _this;
3120
+ }
3121
+ PanelComponent.prototype.getModel = function () {
3122
+ return this.model;
3123
+ };
3124
+ PanelComponent.prototype.ngAfterViewInit = function () {
3125
+ var _a, _b;
3126
+ if (!!((_a = this.panelContainerRef) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
3127
+ (_b = this.model.survey) === null || _b === void 0 ? void 0 : _b.afterRenderPanel(this.model, this.panelContainerRef.nativeElement);
3128
+ }
3129
+ };
3130
+ return PanelComponent;
3131
+ }(BaseAngular));
3132
+ PanelComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3133
+ PanelComponent.ɵcmp = i0__namespace.ɵɵ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: i0.ElementRef }], usesInheritance: true, ngImport: i0__namespace, 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: ElementHeaderComponent, selector: "'[sv-ng-element-header]'", inputs: ["element"] }, { type: RowComponent, selector: "sv-ng-row", inputs: ["row"] }, { type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
3134
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelComponent, decorators: [{
3135
+ type: i0.Component,
3136
+ args: [{
3137
+ selector: "sv-ng-panel, '[sv-ng-panel]'",
3138
+ templateUrl: "./panel.component.html",
3139
+ }]
3140
+ }], propDecorators: { model: [{
3141
+ type: i0.Input
3142
+ }], panelContainerRef: [{
3143
+ type: i0.ViewChild,
3144
+ args: ["panelContainer", { static: false, read: i0.ElementRef }]
3145
+ }] } });
3146
+ AngularComponentFactory.Instance.registerComponent("panel", PanelComponent);
3147
+
3148
+ var SurveyNavigationButton = /** @class */ (function () {
3149
+ function SurveyNavigationButton() {
3150
+ }
3151
+ SurveyNavigationButton.prototype.getModel = function () {
3152
+ return this.model;
3153
+ };
3154
+ SurveyNavigationButton.prototype.buttonMouseDown = function () {
3155
+ return this.model.data && this.model.data.mouseDown();
3156
+ };
3157
+ return SurveyNavigationButton;
3158
+ }());
3159
+ SurveyNavigationButton.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyNavigationButton, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
3160
+ SurveyNavigationButton.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SurveyNavigationButton, selector: "sv-ng-nav-btn", inputs: { model: "model" }, ngImport: i0__namespace, template: "<input *ngIf=\"model.visible\" type=\"button\" [value]=\"model.title\" [class]=\"model.innerCss\" (mousedown)=\"buttonMouseDown()\" (click)=\"model.action()\" [disabled]=\"model.disabled\" [attr.title]=\"model.getTooltip()\"/>", styles: [":host { display: contents; }"], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3161
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyNavigationButton, decorators: [{
3162
+ type: i0.Component,
3163
+ args: [{
3164
+ templateUrl: "./survey-nav-btn.component.html",
3165
+ selector: "sv-ng-nav-btn",
3166
+ styles: [":host { display: contents; }"]
3167
+ }]
3168
+ }], propDecorators: { model: [{
3169
+ type: i0.Input
3170
+ }] } });
3171
+ AngularComponentFactory.Instance.registerComponent("sv-nav-btn", SurveyNavigationButton);
3172
+
3173
+ var MatrixQuestionComponent = /** @class */ (function (_super) {
3174
+ __extends(MatrixQuestionComponent, _super);
3175
+ function MatrixQuestionComponent() {
3176
+ return _super !== null && _super.apply(this, arguments) || this;
3177
+ }
3178
+ MatrixQuestionComponent.prototype.ngOnInit = function () {
3179
+ var _this = this;
3180
+ this.model.visibleRowsChangedCallback = function () {
3181
+ _this.detectChanges();
3182
+ };
3183
+ _super.prototype.ngOnInit.call(this);
3184
+ };
3185
+ MatrixQuestionComponent.prototype.onChange = function (row, column) {
3186
+ if (this.model.isInputReadOnly)
3187
+ return;
3188
+ row.value = column.value;
3189
+ this.detectChanges();
3190
+ };
3191
+ MatrixQuestionComponent.prototype.trackRowByFn = function (i, row) {
3192
+ return "column-" + row.name + "-" + i;
3193
+ };
3194
+ MatrixQuestionComponent.prototype.trackColumnByFn = function (i, column) {
3195
+ return "column-" + column.value + "-" + i;
3196
+ };
3197
+ return MatrixQuestionComponent;
3198
+ }(QuestionAngular));
3199
+ MatrixQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3200
+ MatrixQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixQuestionComponent, selector: "sv-ng-matrix-question", usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"model.cssClasses.tableWrapper\" #contentElement>\n <fieldset>\n <legend [attr.aria-label]=\"model.locTitle.renderedHtml\"></legend>\n <table [class]=\"model.getTableCss()\">\n <thead *ngIf=\"model.showHeader\">\n <tr>\n <td *ngIf=\"model.hasRows\"></td>\n <th\n *ngFor=\"let column of model.visibleColumns\" [style]=\"{ minWidth: model.columnMinWidth, width: model.columnMinWidth }\" [class]=\"model.cssClasses.headerCell\">\n <ng-template [component]=\"{ name: model.getColumnHeaderWrapperComponentName(column), data: { componentData: model.getColumnHeaderWrapperComponentData(column) } }\">\n <sv-ng-string [model]=\"column.locText\"></sv-ng-string>\n </ng-template>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of model.visibleRows; trackBy: trackRowByFn \" [class]=\"row.rowClasses || undefined\">\n <td [class]=\"model.cssClasses.rowTextCell\" [style]=\"{ minWidth: model.rowTitleWidth, width: model.rowTitleWidth }\" *ngIf=\"model.hasRows\">\n <ng-template [component]=\"{ name: model.getRowHeaderWrapperComponentName($any(row)), data: { componentData: model.getRowHeaderWrapperComponentData($any(row)) } }\">\n <sv-ng-string [model]=\"row.locText\"></sv-ng-string>\n </ng-template>\n </td>\n <ng-container *ngIf=\"model.hasCellText\">\n <td *ngFor=\"let column of model.visibleColumns\"\n [class]=\"model.getItemClass(row, column)\"\n (click)=\"onChange(row, column)\" [model]=\"model.getCellDisplayLocText(row.name, column)\" sv-ng-string>\n </td>\n </ng-container>\n <ng-container *ngIf=\"!model.hasCellText\">\n <td\n *ngFor=\"let column of model.visibleColumns; index as columnIndex; trackBy: trackColumnByFn\"\n [attr.data-responsive-title]=\"column.locText.renderedHtml\"\n [class]=\"model.cssClasses.cell\">\n <label [class]=\"model.getItemClass(row, column)\">\n <input\n type=\"radio\"\n [class]=\"model.cssClasses.itemValue\"\n [name]=\"row.fullName\"\n [value]=\"column.value\"\n [checked]=\"row.value === column.value\"\n [disabled]=\"model.isInputReadOnly\"\n [attr.id]=\"model.inputId + '_' + row.name + '_' + columnIndex\"\n (change)=\"onChange(row, column)\"\n [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"column.locText.renderedHtml\"\n [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\"\n />\n <span [class]=\"model.cssClasses.materialDecorator\">\n <svg *ngIf=\"model.itemSvgIcon\" [class]=\"model.cssClasses.itemDecorator\">\n <use [attr.xlink:href]=\"model.itemSvgIcon\"></use>\n </svg> \n </span>\n <span [visible]=\"model.isMobile\" [class]=\"model.cssClasses.cellResponsiveTitle\" [model]=\"column.locText\" sv-ng-string></span>\n </label>\n </td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n </fieldset>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
3201
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixQuestionComponent, decorators: [{
3202
+ type: i0.Component,
3203
+ args: [{
3204
+ selector: "sv-ng-matrix-question",
3205
+ templateUrl: "./matrix.component.html",
3206
+ styleUrls: ["../hide-host.scss"]
3207
+ }]
3208
+ }] });
3209
+ AngularComponentFactory.Instance.registerComponent("matrix-question", MatrixQuestionComponent);
3210
+
3211
+ var FileQuestionComponent = /** @class */ (function (_super) {
3212
+ __extends(FileQuestionComponent, _super);
3213
+ function FileQuestionComponent() {
3214
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
3215
+ _this.trackFilesFn = function (index) {
3216
+ return _this.model.inputId + "_" + index;
3217
+ };
3218
+ return _this;
3219
+ }
3220
+ return FileQuestionComponent;
3221
+ }(QuestionAngular));
3222
+ FileQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FileQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3223
+ FileQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FileQuestionComponent, selector: "sv-ng-file-question", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.fileRootCss\" #contentElement>\n <input\n [class]=\"model.cssClasses.fileInput\"\n *ngIf=\"!model.isReadOnly\"\n tabindex=\"-1\"\n type=\"file\"\n [attr.id]=\"model.inputId\"\n (change)=\"model.doChange($event)\"\n [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\"\n [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\"\n [attr.multiple]=\"model.multipleRendered\"\n [attr.title]=\"model.inputTitle\"\n [attr.accept]=\"model.acceptedTypes\"\n />\n <input\n *ngIf=\"model.isReadOnly\"\n type=\"file\"\n disabled\n [class]=\"model.getReadOnlyFileCss()\"\n [attr.id]=\"model.inputId\"\n [attr.multiple]=\"model.multipleRendered\"\n [attr.placeholder]=\"model.title\"\n style=\"color: transparent\"\n />\n <div [class]=\"model.cssClasses.dragArea\"\n (dragenter)=\"model.onDragEnter($event)\"\n (drop)=\"model.onDrop($event)\"\n (dragover)=\"model.onDragOver($event)\"\n (dragleave)=\"model.onDragLeave($event)\"> \n <div\n [class]=\"model.getFileDecoratorCss()\"\n >\n <span [class]=\"model.cssClasses.dragAreaPlaceholder\">{{ model.dragAreaPlaceholder }}</span>\n <div [class]=\"model.cssClasses.wrapper\">\n <label\n role=\"button\"\n tabindex=\"0\"\n [class]=\"model.getChooseFileCss()\"\n [attr.for]=\"model.inputId\"\n [attr.aria-label]=\"model.chooseButtonCaption\"\n >\n <span>{{ model.chooseButtonCaption }}</span>\n <svg *ngIf=\"model.cssClasses.chooseFileIconId\" [title]=\"model.chooseButtonCaption\" [iconName]=\"model.cssClasses.chooseFileIconId\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </label>\n <span\n [class]=\"model.cssClasses.noFileChosen\"\n *ngIf=\"model.isEmpty()\"\n >{{ model.noFileChosenCaption }}</span\n >\n </div>\n </div>\n <button\n type=\"button\"\n *ngIf=\"model.showRemoveButton\"\n [class]=\"model.cssClasses.removeButton\"\n (click)=\"model.doClean($event)\"\n >\n <span>{{ model.clearButtonCaption }}</span>\n <svg *ngIf=\"model.cssClasses.removeButtonIconId\" [iconName]=\"model.cssClasses.removeButtonIconId\" [size]=\"'auto'\" [title]=\"model.clearButtonCaption\" sv-ng-svg-icon></svg>\n </button>\n <div [class]=\"model.cssClasses.fileList || undefined\" *ngIf=\"!model.isEmpty()\">\n <span\n *ngFor=\"let val of model.previewValue; index as index; trackBy: trackFilesFn\"\n [visible]=\"val && model.isPreviewVisible(index)\"\n [class]=\"model.cssClasses.preview\"\n >\n <div *ngIf=\"val.name && model.cssClasses.fileSign\" [class]=\"model.cssClasses.fileSign\">\n <a\n (click)=\"model.doDownloadFile($event, val)\"\n [attr.href]=\"val.content | safeUrl\"\n [attr.title]=\"val.name\"\n [attr.download]=\"val.name\"\n [style.width]=\"model.imageWidth\"\n >{{ val.name }}</a\n >\n </div>\n <div [class]=\"model.cssClasses.imageWrapper\">\n <img\n *ngIf=\"model.canPreviewImage(val)\"\n [attr.src]=\"val.content | safeUrl\"\n [style.height]=\"model.imageHeight\"\n [style.width]=\"model.imageWidth\"\n alt=\"File preview\"\n />\n <svg *ngIf=\"model.defaultImage(val)\" \n [iconName]=\"model.cssClasses.defaultImageIconId\" [partCss]=\"model.cssClasses.defaultImage\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n <div *ngIf=\"val.name && !model.isReadOnly\" [class]=\"model.cssClasses.removeFileButton\" (click)=\"model.doRemoveFile(val)\">\n <span\n [class]=\"model.cssClasses.removeFile\"\n >{{ model.removeFileCaption }}</span\n >\n <svg *ngIf=\"model.cssClasses.removeFileSvgIconId\" [title]=\"model.removeFileCaption\" [partCss]=\"model.cssClasses.removeFileSvg\" [iconName]=\"model.cssClasses.removeFileSvgIconId\" [size]=\"'auto'\" sv-ng-svg-icon ></svg>\n </div>\n </div>\n <div *ngIf=\"val.name && model.cssClasses.fileSignBottom\" [class]=\"model.cssClasses.fileSignBottom\">\n <a\n (click)=\"model.doDownloadFile($event, val)\"\n [attr.href]=\"val.content | safeUrl\"\n [attr.title]=\"val.name\"\n [attr.download]=\"val.name\"\n [style.width]=\"model.imageWidth\"\n >{{ val.name }}</a\n >\n </div>\n </span>\n </div>\n <button\n type=\"button\"\n *ngIf=\"model.showRemoveButtonBottom\"\n [class]=\"model.showRemoveButtonBottom\"\n (click)=\"model.doClean($event)\"\n >\n <span>{{ model.clearButtonCaption }}</span>\n <svg *ngIf=\"model.cssClasses.removeButtonIconId\" [iconName]=\"model.cssClasses.removeButtonIconId\" [size]=\"'auto'\" [title]=\"model.clearButtonCaption\" sv-ng-svg-icon></svg>\n </button>\n <sv-action-bar *ngIf=\"model.mobileFileNavigatorVisible\" [model]=\"model.mobileFileNavigator\"></sv-action-bar>\n </div>\n</div>", components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }], pipes: { "safeUrl": SafeUrlPipe } });
3224
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FileQuestionComponent, decorators: [{
3225
+ type: i0.Component,
3226
+ args: [{
3227
+ selector: "sv-ng-file-question",
3228
+ templateUrl: "./file.component.html",
3229
+ styleUrls: []
3230
+ }]
3231
+ }] });
3232
+ AngularComponentFactory.Instance.registerComponent("file-question", FileQuestionComponent);
3233
+
3234
+ var CommentQuestionComponent = /** @class */ (function (_super) {
3235
+ __extends(CommentQuestionComponent, _super);
3236
+ function CommentQuestionComponent() {
3237
+ return _super !== null && _super.apply(this, arguments) || this;
3238
+ }
3239
+ CommentQuestionComponent.prototype.onChange = function (event) {
3240
+ this.model.value = event.target.value;
3241
+ };
3242
+ return CommentQuestionComponent;
3243
+ }(QuestionAngular));
3244
+ CommentQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CommentQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3245
+ CommentQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CommentQuestionComponent, selector: "sv-ng-question-comment", usesInheritance: true, ngImport: i0__namespace, template: "<textarea\n*ngIf=\"!model.isReadOnlyRenderDiv()\"\n[readonly]=\"model.isInputReadOnly\"\n[attr.disabled]=\"model.renderedInputDisabled\"\n[id]=\"model.inputId\"\n[attr.maxlength]=\"model.getMaxLength()\"\n[attr.cols]=\"model.cols\"\n[attr.rows]=\"model.rows\"\n[attr.placeholder]=\"model.renderedPlaceholder\"\n[class]=\"model.className\"\n[value]=\"model.value || null\"\n(input)=\"model.onInput($event)\"\n(keydown)=\"model.onKeyDown($event)\"\n(change)=\"onChange($event)\"\n[attr.aria-required]=\"model.ariaRequired\"\n[attr.aria-label]=\"model.ariaLabel\"\n[attr.aria-invalid]=\"model.ariaInvalid\"\n[attr.aria-describedby]=\"model.ariaDescribedBy\"\n[style.resize]=\"model.resizeStyle\"\n#contentElement></textarea>\n<sv-ng-character-counter *ngIf=\"!model.isReadOnlyRenderDiv() && model.getMaxLength()\" \n[counter]=\"model.characterCounter\"\n[remainingCharacterCounter]=\"model.cssClasses.remainingCharacterCounter\">\n</sv-ng-character-counter>\n<div *ngIf=\"model.isReadOnlyRenderDiv()\" #contentElement>{{ model.value }}</div>", components: [{ type: CharacterCounterComponent, selector: "sv-ng-character-counter", inputs: ["counter", "remainingCharacterCounter"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3246
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CommentQuestionComponent, decorators: [{
3247
+ type: i0.Component,
3248
+ args: [{
3249
+ templateUrl: "./comment.component.html",
3250
+ selector: "sv-ng-question-comment"
3251
+ }]
3252
+ }] });
3253
+ AngularComponentFactory.Instance.registerComponent("comment-question", CommentQuestionComponent);
3254
+
3255
+ var SignaturePadQuestionComponent = /** @class */ (function (_super) {
3256
+ __extends(SignaturePadQuestionComponent, _super);
3257
+ function SignaturePadQuestionComponent() {
3258
+ return _super !== null && _super.apply(this, arguments) || this;
3259
+ }
3260
+ return SignaturePadQuestionComponent;
3261
+ }(QuestionAngular));
3262
+ SignaturePadQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SignaturePadQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3263
+ SignaturePadQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SignaturePadQuestionComponent, selector: "sv-ng-signature-component", usesInheritance: true, ngImport: i0__namespace, template: "<div\n[class]=\"model.cssClasses.root\"\n[style.height]=\"model.signatureHeight + 'px'\" [style.width]=\"model.signatureWidth + 'px'\" #contentElement>\n<div [class]=\"model.cssClasses.placeholder\" [visible]=\"model.needShowPlaceholder()\">\n {{ model.placeHolderText }}\n</div>\n<div>\n <canvas tabindex=\"0\"></canvas>\n</div>\n<div [class]=\"model.cssClasses.controls\" [visible]=\"model.canShowClearButton\">\n <button\n type=\"button\"\n [class]=\"model.cssClasses.clearButton\"\n [title]=\"model.clearButtonCaption\"\n (click)=\"model.clearValue()\"\n >\n <span *ngIf=\"!model.cssClasses.clearButtonIconId\">\u2716</span>\n <svg\n *ngIf=\"model.cssClasses.clearButtonIconId\"\n [iconName]=\"model.cssClasses.clearButtonIconId\"\n [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </button>\n</div>\n</div>", components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3264
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SignaturePadQuestionComponent, decorators: [{
3265
+ type: i0.Component,
3266
+ args: [{
3267
+ selector: "sv-ng-signature-component",
3268
+ templateUrl: "./signature.component.html"
3269
+ }]
3270
+ }] });
3271
+ AngularComponentFactory.Instance.registerComponent("signaturepad-question", SignaturePadQuestionComponent);
3272
+
3273
+ var MultipleTextItemComponent = /** @class */ (function (_super) {
3274
+ __extends(MultipleTextItemComponent, _super);
3275
+ function MultipleTextItemComponent() {
3276
+ return _super !== null && _super.apply(this, arguments) || this;
3277
+ }
3278
+ MultipleTextItemComponent.prototype.getModel = function () {
3279
+ return this.model.editor;
3280
+ };
3281
+ return MultipleTextItemComponent;
3282
+ }(BaseAngular));
3283
+ MultipleTextItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MultipleTextItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3284
+ MultipleTextItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MultipleTextItemComponent, selector: "'[sv-ng-multipletext-item]'", inputs: { question: "question", model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<label [class]=\"question.getItemLabelCss(model)\">\n <span [class]=\"question.getItemTitleCss()\">\n <span *ngIf=\" model.editor.isRequireTextBeforeTitle || model.editor.isRequireTextOnStart\"\n [class]=\"question.cssClasses.requiredText\">{{ model.editor.requiredText }}</span>\n <sv-ng-string [model]=\"model.locTitle\"></sv-ng-string>\n <span\n *ngIf=\"model.editor.isRequireTextAfterTitle\"\n [class]=\"question.cssClasses.requiredText\"\n >{{ model.editor.requiredText }}</span\n >\n </span>\n <div [class]=\"question.getItemCss()\">\n <div *ngIf=\"model.editor.showErrorOnTop && model.editor.hasVisibleErrors\" [element]=\"model.editor\" sv-ng-errors></div>\n <sv-ng-text-question [model]=\"model.editor\"></sv-ng-text-question>\n <div *ngIf=\"model.editor.showErrorOnBottom && model.editor.hasVisibleErrors\" [element]=\"model.editor\" sv-ng-errors></div>\n </div>\n <div *ngIf=\"model.editor.isErrorsModeTooltip && model.editor.hasVisibleErrors\" [element]=\"model.editor\" [location]=\"'tooltip'\" sv-ng-errors></div>\n</label>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }, { type: TextQuestionComponent, selector: "sv-ng-text-question" }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3285
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MultipleTextItemComponent, decorators: [{
3286
+ type: i0.Component,
3287
+ args: [{
3288
+ selector: "'[sv-ng-multipletext-item]'",
3289
+ templateUrl: "./mutlipletextitem.component.html"
3290
+ }]
3291
+ }], propDecorators: { question: [{
3292
+ type: i0.Input
3293
+ }], model: [{
3294
+ type: i0.Input
3295
+ }] } });
3296
+
3297
+ var MultipleTextComponent = /** @class */ (function (_super) {
3298
+ __extends(MultipleTextComponent, _super);
3299
+ function MultipleTextComponent() {
3300
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
3301
+ _this.trackRowBy = function (index) {
3302
+ return _this.model.inputId + "rowkey" + index;
3303
+ };
3304
+ return _this;
3305
+ }
3306
+ MultipleTextComponent.prototype.trackItemBy = function (_, item) {
3307
+ return "item" + item.editor.id;
3308
+ };
3309
+ return MultipleTextComponent;
3310
+ }(QuestionAngular));
3311
+ MultipleTextComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MultipleTextComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3312
+ MultipleTextComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MultipleTextComponent, selector: "sv-ng-multipletext-question", usesInheritance: true, ngImport: i0__namespace, template: "<table [class]=\"model.cssClasses.root\" #contentElement>\n <tbody>\n <tr\n *ngFor=\"let row of model.getRows(); index as rowIndex; trackBy: trackRowBy\"\n [class]=\"model.cssClasses.row\"\n >\n <ng-container *ngFor=\"let item of row; trackBy: trackItemBy\" >\n <td [class]=\"model.cssClasses.cell\" [question]=\"model\" [model]=\"item\" sv-ng-multipletext-item></td>\n </ng-container>\n </tr>\n </tbody>\n</table>\n", components: [{ type: MultipleTextItemComponent, selector: "'[sv-ng-multipletext-item]'", inputs: ["question", "model"] }], directives: [{ type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
3313
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MultipleTextComponent, decorators: [{
3314
+ type: i0.Component,
3315
+ args: [{
3316
+ selector: "sv-ng-multipletext-question",
3317
+ templateUrl: "./multipletext.component.html"
3318
+ }]
3319
+ }] });
3320
+ AngularComponentFactory.Instance.registerComponent("multipletext-question", MultipleTextComponent);
3321
+
3322
+ var RankingQuestionComponent = /** @class */ (function (_super) {
3323
+ __extends(RankingQuestionComponent, _super);
3324
+ function RankingQuestionComponent() {
3325
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
3326
+ _this.inputType = "";
3327
+ _this.trackItemBy = function (index, item) {
3328
+ return item.value + "-" + index + "-item";
3329
+ };
3330
+ return _this;
3331
+ }
3332
+ RankingQuestionComponent.prototype.getDefaultComponentName = function () {
3333
+ return "sv-ng-ranking-item";
3334
+ };
3335
+ RankingQuestionComponent.prototype.getItemValueComponentData = function (item, index) {
3336
+ var res = _super.prototype.getItemValueComponentData.call(this, item);
3337
+ res.componentData.index = index;
3338
+ return res;
3339
+ };
3340
+ return RankingQuestionComponent;
3341
+ }(SelectBaseComponent));
3342
+ RankingQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RankingQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3343
+ RankingQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RankingQuestionComponent, selector: "sv-ng-ranking-question", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.rootClass\" #contentElement>\n <ng-container *ngFor=\"let item of model.rankingChoices; index as index; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item, index) }\"></ng-template>\n </ng-container>\n</div>", directives: [{ type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
3344
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RankingQuestionComponent, decorators: [{
3345
+ type: i0.Component,
3346
+ args: [{
3347
+ selector: "sv-ng-ranking-question",
3348
+ templateUrl: "./ranking.component.html",
3349
+ }]
3350
+ }] });
3351
+ AngularComponentFactory.Instance.registerComponent("ranking-question", RankingQuestionComponent);
3352
+
3353
+ var RankingItemComponent = /** @class */ (function (_super) {
3354
+ __extends(RankingItemComponent, _super);
3355
+ function RankingItemComponent() {
3356
+ return _super !== null && _super.apply(this, arguments) || this;
3357
+ }
3358
+ RankingItemComponent.prototype.getModel = function () {
3359
+ return this.model;
3360
+ };
3361
+ return RankingItemComponent;
3362
+ }(BaseAngular));
3363
+ RankingItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RankingItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3364
+ RankingItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RankingItemComponent, selector: "sv-ng-ranking-item", inputs: { question: "question", model: "model", index: "index" }, usesInheritance: true, ngImport: i0__namespace, template: "\n\n\n<div [attr.tabindex]=\"question.getItemTabIndex(model)\" [attr.data-sv-drop-target-ranking-item]=\"index\" \n [class]=\"question.getItemClass(model)\"\n (keydown)=\"question.handleKeydown($event, model)\"\n (pointerdown)=\"question.handlePointerDown($event, model, $any($event.currentTarget))\">\n <div tabindex=\"-1\" style=\"outline: none;\">\n <div [class]=\"question.cssClasses.itemGhostNode\"></div>\n <div [class]=\"question.cssClasses.itemContent\">\n <div [class]=\"question.cssClasses.itemIconContainer\">\n <svg\n width=\"10\"\n height=\"16\"\n viewBox=\"0 0 10 16\"\n [class]=\"question.getIconHoverCss()\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M6 2C6 0.9 6.9 0 8 0C9.1 0 10 0.9 10 2C10 3.1 9.1 4 8 4C6.9 4 6 3.1 6 2ZM2 0C0.9 0 0 0.9 0 2C0 3.1 0.9 4 2 4C3.1 4 4 3.1 4 2C4 0.9 3.1 0 2 0ZM8 6C6.9 6 6 6.9 6 8C6 9.1 6.9 10 8 10C9.1 10 10 9.1 10 8C10 6.9 9.1 6 8 6ZM2 6C0.9 6 0 6.9 0 8C0 9.1 0.9 10 2 10C3.1 10 4 9.1 4 8C4 6.9 3.1 6 2 6ZM8 12C6.9 12 6 12.9 6 14C6 15.1 6.9 16 8 16C9.1 16 10 15.1 10 14C10 12.9 9.1 12 8 12ZM2 12C0.9 12 0 12.9 0 14C0 15.1 0.9 16 2 16C3.1 16 4 15.1 4 14C4 12.9 3.1 12 2 12Z\" />\n </svg>\n <svg\n width=\"10\"\n height=\"24\"\n viewBox=\"0 0 10 24\"\n [class]=\"question.getIconFocusCss()\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M10 5L5 0L0 5H4V9H6V5H10Z\" />\n <path d=\"M6 19V15H4V19H0L5 24L10 19H6Z\" />\n </svg>\n </div>\n\n <div [class]=\"question.getItemIndexClasses()\">{{ question.getNumberByIndex(index) }}</div>\n <div [class]=\"question.cssClasses.controlLabel\">\n <sv-ng-string [model]=\"model.locText\"></sv-ng-string>\n </div>\n </div>\n </div>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }] });
3365
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RankingItemComponent, decorators: [{
3366
+ type: i0.Component,
3367
+ args: [{
3368
+ selector: "sv-ng-ranking-item",
3369
+ templateUrl: "./ranking-item.component.html"
3370
+ }]
3371
+ }], propDecorators: { question: [{
3372
+ type: i0.Input
3373
+ }], model: [{
3374
+ type: i0.Input
3375
+ }], index: [{
3376
+ type: i0.Input
3377
+ }] } });
3378
+ AngularComponentFactory.Instance.registerComponent("sv-ng-ranking-item", RankingItemComponent);
3379
+
3380
+ var StringEditorComponent = /** @class */ (function () {
3381
+ function StringEditorComponent() {
3382
+ var _this = this;
3383
+ this.onInput = function (event) {
3384
+ _this.model.text = event.target.innerText;
3385
+ };
3386
+ this.onClick = function (event) {
3387
+ event.preventDefault();
3388
+ event.stopPropagation();
3389
+ };
3390
+ }
3391
+ return StringEditorComponent;
3392
+ }());
3393
+ StringEditorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: StringEditorComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
3394
+ StringEditorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: StringEditorComponent, selector: "sv-ng-string-editor", inputs: { model: "model" }, ngImport: i0__namespace, template: "<span\n class=\"sv-string-editor\"\n contenteditable=\"true\"\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 *ngIf=\"!model.hasHtml\"\n (blur)=\"onInput($event)\"\n (click)=\"onClick($event)\"\n >{{ model.renderedHtml }}</span\n>\n", directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3395
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: StringEditorComponent, decorators: [{
3396
+ type: i0.Component,
3397
+ args: [{
3398
+ selector: "sv-ng-string-editor",
3399
+ templateUrl: "./string-editor.component.html"
3400
+ }]
3401
+ }], propDecorators: { model: [{
3402
+ type: i0.Input
3403
+ }] } });
3404
+ AngularComponentFactory.Instance.registerComponent(Survey.LocalizableString.editableRenderer, StringEditorComponent);
3405
+
3406
+ var PaneldynamicAction = /** @class */ (function () {
3407
+ function PaneldynamicAction() {
3408
+ }
3409
+ Object.defineProperty(PaneldynamicAction.prototype, "question", {
3410
+ get: function () {
3411
+ return (this.model && this.model.data.question) || this.data.question;
3412
+ },
3413
+ enumerable: false,
3414
+ configurable: true
3415
+ });
3416
+ return PaneldynamicAction;
3417
+ }());
3418
+ PaneldynamicAction.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PaneldynamicAction, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
3419
+ PaneldynamicAction.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PaneldynamicAction, selector: "ng-component", inputs: { data: "data", model: "model" }, ngImport: i0__namespace, template: "", isInline: true });
3420
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PaneldynamicAction, decorators: [{
3421
+ type: i0.Component,
3422
+ args: [{
3423
+ selector: "",
3424
+ template: ""
3425
+ }]
3426
+ }], propDecorators: { data: [{
3427
+ type: i0.Input
3428
+ }], model: [{
3429
+ type: i0.Input
3430
+ }] } });
3431
+ var PanelDynamicAddBtn = /** @class */ (function (_super) {
3432
+ __extends(PanelDynamicAddBtn, _super);
3433
+ function PanelDynamicAddBtn() {
3434
+ return _super !== null && _super.apply(this, arguments) || this;
3435
+ }
3436
+ PanelDynamicAddBtn.prototype.addPanelClick = function () {
3437
+ this.question.addPanelUI();
3438
+ };
3439
+ return PanelDynamicAddBtn;
3440
+ }(PaneldynamicAction));
3441
+ PanelDynamicAddBtn.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelDynamicAddBtn, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3442
+ PanelDynamicAddBtn.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelDynamicAddBtn, selector: "sv-ng-paneldynamic-add-btn", usesInheritance: true, ngImport: i0__namespace, template: "<button type=\"button\" *ngIf=\"question.canAddPanel\" [class]=\"question.getAddButtonCss()\" (click)=\"addPanelClick()\">\n<span [class]=\"question.cssClasses.buttonAddText\">{{question.panelAddText}}</span>\n</button>", directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3443
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelDynamicAddBtn, decorators: [{
3444
+ type: i0.Component,
3445
+ args: [{
3446
+ selector: "sv-ng-paneldynamic-add-btn",
3447
+ templateUrl: "./paneldynamic-add-btn.component.html"
3448
+ }]
3449
+ }] });
3450
+ AngularComponentFactory.Instance.registerComponent("sv-paneldynamic-add-btn", PanelDynamicAddBtn);
3451
+
3452
+ var PanelDynamicNextBtn = /** @class */ (function (_super) {
3453
+ __extends(PanelDynamicNextBtn, _super);
3454
+ function PanelDynamicNextBtn() {
3455
+ return _super !== null && _super.apply(this, arguments) || this;
3456
+ }
3457
+ PanelDynamicNextBtn.prototype.nextPanelClick = function () {
3458
+ this.question.goToNextPanel();
3459
+ };
3460
+ return PanelDynamicNextBtn;
3461
+ }(PaneldynamicAction));
3462
+ PanelDynamicNextBtn.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelDynamicNextBtn, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3463
+ PanelDynamicNextBtn.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelDynamicNextBtn, selector: "sv-ng-paneldynamic-next-btn", usesInheritance: true, ngImport: i0__namespace, template: "<div [attr.title]=\"question.panelNextText\" (click)=\"nextPanelClick()\" [class]=\"question.getNextButtonCss()\">\n <svg [iconName]=\"question.cssClasses.progressBtnIcon\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n</div>", components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }] });
3464
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelDynamicNextBtn, decorators: [{
3465
+ type: i0.Component,
3466
+ args: [{
3467
+ selector: "sv-ng-paneldynamic-next-btn",
3468
+ templateUrl: "./paneldynamic-next-btn.component.html"
3469
+ }]
3470
+ }] });
3471
+ AngularComponentFactory.Instance.registerComponent("sv-paneldynamic-next-btn", PanelDynamicNextBtn);
3472
+
3473
+ var PanelDynamicPrevBtn = /** @class */ (function (_super) {
3474
+ __extends(PanelDynamicPrevBtn, _super);
3475
+ function PanelDynamicPrevBtn() {
3476
+ return _super !== null && _super.apply(this, arguments) || this;
3477
+ }
3478
+ PanelDynamicPrevBtn.prototype.prevPanelClick = function () {
3479
+ this.question.goToPrevPanel();
3480
+ };
3481
+ return PanelDynamicPrevBtn;
3482
+ }(PaneldynamicAction));
3483
+ PanelDynamicPrevBtn.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelDynamicPrevBtn, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3484
+ PanelDynamicPrevBtn.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelDynamicPrevBtn, selector: "sv-ng-paneldynamic-prev-btn", usesInheritance: true, ngImport: i0__namespace, template: "<div [attr.title]=\"question.panelPrevText\" (click)=\"prevPanelClick()\" [class]=\"question.getPrevButtonCss()\">\n <svg [iconName]=\"question.cssClasses.progressBtnIcon\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n</div>\n", components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }] });
3485
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelDynamicPrevBtn, decorators: [{
3486
+ type: i0.Component,
3487
+ args: [{
3488
+ selector: "sv-ng-paneldynamic-prev-btn",
3489
+ templateUrl: "./paneldynamic-prev-btn.component.html"
3490
+ }]
3491
+ }] });
3492
+ AngularComponentFactory.Instance.registerComponent("sv-paneldynamic-prev-btn", PanelDynamicPrevBtn);
3493
+
3494
+ var PaneldynamicRemoveButtonComponent = /** @class */ (function (_super) {
3495
+ __extends(PaneldynamicRemoveButtonComponent, _super);
3496
+ function PaneldynamicRemoveButtonComponent() {
3497
+ return _super !== null && _super.apply(this, arguments) || this;
3498
+ }
3499
+ Object.defineProperty(PaneldynamicRemoveButtonComponent.prototype, "panel", {
3500
+ get: function () {
3501
+ return (this.data ? this.data : this.model.data).panel;
3502
+ },
3503
+ enumerable: false,
3504
+ configurable: true
3505
+ });
3506
+ return PaneldynamicRemoveButtonComponent;
3507
+ }(PaneldynamicAction));
3508
+ PaneldynamicRemoveButtonComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PaneldynamicRemoveButtonComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3509
+ PaneldynamicRemoveButtonComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PaneldynamicRemoveButtonComponent, selector: "sv-ng-paneldynamic-remove-btn", usesInheritance: true, ngImport: i0__namespace, template: "<button type=\"button\" (click)=\"question.removePanelUI(panel)\" [class]=\"question.getPanelRemoveButtonCss()\"> \n <span [class]=\"question.cssClasses.buttonRemoveText\">{{question.panelRemoveText}}</span>\n <span [class]=\"question.cssClasses.iconRemove\"></span>\n</button>\n" });
3510
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PaneldynamicRemoveButtonComponent, decorators: [{
3511
+ type: i0.Component,
3512
+ args: [{
3513
+ selector: "sv-ng-paneldynamic-remove-btn",
3514
+ templateUrl: "./paneldynamic-remove-btn.component.html"
3515
+ }]
3516
+ }] });
3517
+ AngularComponentFactory.Instance.registerComponent("sv-paneldynamic-remove-btn", PaneldynamicRemoveButtonComponent);
3518
+
3519
+ var PanelDynamicProgressText = /** @class */ (function (_super) {
3520
+ __extends(PanelDynamicProgressText, _super);
3521
+ function PanelDynamicProgressText() {
3522
+ return _super !== null && _super.apply(this, arguments) || this;
3523
+ }
3524
+ return PanelDynamicProgressText;
3525
+ }(PaneldynamicAction));
3526
+ PanelDynamicProgressText.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelDynamicProgressText, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3527
+ PanelDynamicProgressText.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelDynamicProgressText, selector: "sv-ng-paneldynamic-progress-text", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"question.cssClasses.progressText\">{{ question.progressText }}</div>\n" });
3528
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelDynamicProgressText, decorators: [{
3529
+ type: i0.Component,
3530
+ args: [{
3531
+ selector: "sv-ng-paneldynamic-progress-text",
3532
+ templateUrl: "./paneldynamic-progress-text.component.html"
3533
+ }]
3534
+ }] });
3535
+ AngularComponentFactory.Instance.registerComponent("sv-paneldynamic-progress-text", PanelDynamicProgressText);
3536
+
3537
+ var PanelDynamicQuestionComponent = /** @class */ (function (_super) {
3538
+ __extends(PanelDynamicQuestionComponent, _super);
3539
+ function PanelDynamicQuestionComponent() {
3540
+ return _super !== null && _super.apply(this, arguments) || this;
3541
+ }
3542
+ Object.defineProperty(PanelDynamicQuestionComponent.prototype, "renderedPanels", {
3543
+ get: function () {
3544
+ if (this.model.isRenderModeList)
3545
+ return this.model.panels;
3546
+ var panels = [];
3547
+ if (this.model.currentPanel) {
3548
+ panels.push(this.model.currentPanel);
3549
+ }
3550
+ return panels;
3551
+ },
3552
+ enumerable: false,
3553
+ configurable: true
3554
+ });
3555
+ PanelDynamicQuestionComponent.prototype.onModelChanged = function () {
3556
+ var _this = this;
3557
+ _super.prototype.onModelChanged.call(this);
3558
+ this.model.panelCountChangedCallback = function () {
3559
+ _this.detectChanges();
3560
+ };
3561
+ this.model.currentIndexChangedCallback = function () {
3562
+ _this.detectChanges();
3563
+ };
3564
+ this.model.renderModeChangedCallback = function () {
3565
+ _this.detectChanges();
3566
+ };
3567
+ };
3568
+ Object.defineProperty(PanelDynamicQuestionComponent.prototype, "progressCssClass", {
3569
+ get: function () {
3570
+ return this.model.isProgressTopShowing
3571
+ ? this.model.cssClasses.progressTop
3572
+ : this.model.cssClasses.progressBottom;
3573
+ },
3574
+ enumerable: false,
3575
+ configurable: true
3576
+ });
3577
+ PanelDynamicQuestionComponent.prototype.ngOnDestroy = function () {
3578
+ this.model.panelCountChangedCallback = function () { };
3579
+ this.model.currentIndexChangedCallback = function () { };
3580
+ this.model.renderModeChangedCallback = function () { };
3581
+ _super.prototype.ngOnDestroy.call(this);
3582
+ };
3583
+ PanelDynamicQuestionComponent.prototype.getPanelComponentName = function (panel) {
3584
+ var survey = this.surveyModel;
3585
+ if (!!survey) {
3586
+ var name = survey.getElementWrapperComponentName(panel);
3587
+ if (!!name) {
3588
+ return name;
3589
+ }
3590
+ }
3591
+ return "panel";
3592
+ };
3593
+ PanelDynamicQuestionComponent.prototype.getPanelComponentData = function (panel) {
3594
+ var survey = this.surveyModel;
3595
+ var data;
3596
+ if (!!survey) {
3597
+ data = survey.getElementWrapperComponentData(panel);
3598
+ }
3599
+ return {
3600
+ componentName: "panel",
3601
+ componentData: {
3602
+ model: panel,
3603
+ data: data
3604
+ }
3605
+ };
3606
+ };
3607
+ return PanelDynamicQuestionComponent;
3608
+ }(QuestionAngular));
3609
+ PanelDynamicQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelDynamicQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3610
+ PanelDynamicQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelDynamicQuestionComponent, selector: "sv-ng-paneldynamic-question", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.cssClasses.root\" #contentElement>\n <div *ngIf=\"model.getShowNoEntriesPlaceholder()\" [class]=\"model.cssClasses.noEntriesPlaceholder\">\n <span [model]=\"model.locNoEntriesText\" sv-ng-string></span>\n <sv-ng-paneldynamic-add-btn [data]=\"{ question: model }\"></sv-ng-paneldynamic-add-btn>\n </div>\n <div [class]=\"model.cssClasses.progress\" *ngIf=\"!model.showLegacyNavigation && model.isProgressTopShowing && model.isRangeShowing\">\n <div\n [class]=\"model.cssClasses.progressBar\"\n [style]=\"{ width: model.progress }\"\n role=\"progressbar\"\n ></div>\n </div>\n <ng-container [ngTemplateOutlet]=\"progress\" *ngIf=\"model.showLegacyNavigation && model.isProgressTopShowing\"></ng-container>\n <!-- add track by [key]=\"panel.id\" -->\n <ng-container *ngFor=\"let panel of renderedPanels; index as index\"> \n <div [class]=\"model.getPanelWrapperCss()\">\n <ng-template [component]=\"{ name: getPanelComponentName(panel), data: getPanelComponentData(panel) }\"></ng-template>\n <ng-container *ngIf=\"model.panelRemoveButtonLocation ==='right'\">\n <sv-ng-paneldynamic-remove-btn *ngIf=\"model.canRemovePanel && panel.state != 'collapsed' && model.panelRemoveButtonLocation == 'right'\" [data]=\"{ panel: panel, question: model }\"></sv-ng-paneldynamic-remove-btn>\n </ng-container>\n </div>\n <!-- add track by [key]=\"'separator' + panel.id\" -->\n <hr [class]=\"model.cssClasses.separator\" *ngIf=\"model.isRenderModeList && index < model.panelCount - 1\"/>\n </ng-container>\n <ng-container [ngTemplateOutlet]=\"progress\" *ngIf=\"model.showLegacyNavigation && model.isProgressBottomShowing\"></ng-container>\n <sv-ng-paneldynamic-add-btn *ngIf=\"model.showLegacyNavigation && model.isRenderModeList\" [data]=\"{ question: model }\"></sv-ng-paneldynamic-add-btn>\n <ng-container [ngTemplateOutlet]=\"progressV2\" *ngIf=\"model.panelCount !== 0 && !model.showLegacyNavigation\"></ng-container>\n</div>\n\n<ng-template #progressV2>\n <div [class]=\"model.cssClasses.footer\" *ngIf=\"!!model.cssClasses.footer\">\n <hr [class]=\"model.cssClasses.separator\"/>\n <div [class]=\"model.cssClasses.progress\" *ngIf=\"model.isRangeShowing && model.isProgressBottomShowing\">\n <div\n [class]=\"model.cssClasses.progressBar\"\n [style]=\"{ width: model.progress }\"\n role=\"progressbar\"\n ></div>\n </div>\n <div *ngIf=\"model.footerToolbar.visibleActions.length\" [class]=\"model.cssClasses.footerButtonsContainer\">\n <sv-ng-action-bar [model]=\"model.footerToolbar\"></sv-ng-action-bar>\n </div>\n </div>\n</ng-template>\n<ng-template #progress>\n <div [class]=\"this.progressCssClass\">\n <div style=\"clear: both\" [class]=\"this.progressCssClass\">\n <div [class]=\"model.cssClasses.progressContainer\">\n <sv-ng-paneldynamic-prev-btn [data]=\"{ question: model }\"></sv-ng-paneldynamic-prev-btn>\n <div [class]=\"model.cssClasses.progress\" *ngIf=\"model.isRangeShowing\">\n <div\n [class]=\"model.cssClasses.progressBar\"\n [style]=\"{ width: model.progress }\"\n role=\"progressbar\"\n ></div>\n </div>\n <sv-ng-paneldynamic-next-btn [data]=\"{ question: model }\"></sv-ng-paneldynamic-next-btn>\n </div>\n <sv-ng-paneldynamic-add-btn [data]=\"{ question: model }\"></sv-ng-paneldynamic-add-btn>\n <sv-ng-paneldynamic-progress-text [data]=\"{ question: model }\"></sv-ng-paneldynamic-progress-text>\n </div>\n </div>\n</ng-template>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: PanelDynamicAddBtn, selector: "sv-ng-paneldynamic-add-btn" }, { type: PaneldynamicRemoveButtonComponent, selector: "sv-ng-paneldynamic-remove-btn" }, { type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: PanelDynamicPrevBtn, selector: "sv-ng-paneldynamic-prev-btn" }, { type: PanelDynamicNextBtn, selector: "sv-ng-paneldynamic-next-btn" }, { type: PanelDynamicProgressText, selector: "sv-ng-paneldynamic-progress-text" }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
3611
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelDynamicQuestionComponent, decorators: [{
3612
+ type: i0.Component,
3613
+ args: [{
3614
+ selector: "sv-ng-paneldynamic-question",
3615
+ templateUrl: "./paneldynamic.component.html"
3616
+ }]
3617
+ }] });
3618
+ AngularComponentFactory.Instance.registerComponent("paneldynamic-question", PanelDynamicQuestionComponent);
3619
+
3620
+ var TemplateRendererComponent = /** @class */ (function (_super) {
3621
+ __extends(TemplateRendererComponent, _super);
3622
+ function TemplateRendererComponent() {
3623
+ return _super !== null && _super.apply(this, arguments) || this;
3624
+ }
3625
+ return TemplateRendererComponent;
3626
+ }(EmbeddedViewContentComponent));
3627
+ TemplateRendererComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TemplateRendererComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3628
+ TemplateRendererComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TemplateRendererComponent, selector: "sv-template-renderer", inputs: { componentName: "componentName", componentData: "componentData", contentTempl: "contentTempl" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <ng-container *ngIf=\"!!componentName\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"!componentName && contentTempl\">\n <ng-container *ngTemplateOutlet=\"contentTempl\"></ng-container>\n </ng-container>\n</ng-template>", styles: [":host{display:none}\n"], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
3629
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TemplateRendererComponent, decorators: [{
3630
+ type: i0.Component,
3631
+ args: [{
3632
+ selector: "sv-template-renderer",
3633
+ templateUrl: "./template-renderer.component.html",
3634
+ styleUrls: ["./hide-host.scss"]
3635
+ }]
3636
+ }], propDecorators: { componentName: [{
3637
+ type: i0.Input
3638
+ }], componentData: [{
3639
+ type: i0.Input
3640
+ }], contentTempl: [{
3641
+ type: i0.Input
3642
+ }] } });
3643
+ AngularComponentFactory.Instance.registerComponent(Survey.SurveyModel.TemplateRendererComponentName, TemplateRendererComponent);
3644
+
3645
+ var CustomWidgetComponent = /** @class */ (function () {
3646
+ function CustomWidgetComponent() {
3647
+ }
3648
+ Object.defineProperty(CustomWidgetComponent.prototype, "hasDefaultRender", {
3649
+ get: function () {
3650
+ return this.model.customWidget.isDefaultRender || this.hasAngularComponent;
3651
+ },
3652
+ enumerable: false,
3653
+ configurable: true
3654
+ });
3655
+ Object.defineProperty(CustomWidgetComponent.prototype, "hasHtml", {
3656
+ get: function () {
3657
+ return this.model.customWidget.htmlTemplate ? true : false;
3658
+ },
3659
+ enumerable: false,
3660
+ configurable: true
3661
+ });
3662
+ Object.defineProperty(CustomWidgetComponent.prototype, "customHtml", {
3663
+ get: function () {
3664
+ return this.model.customWidget.htmlTemplate;
3665
+ },
3666
+ enumerable: false,
3667
+ configurable: true
3668
+ });
3669
+ Object.defineProperty(CustomWidgetComponent.prototype, "hasAngularComponent", {
3670
+ get: function () {
3671
+ return AngularComponentFactory.Instance.isComponentRegistered(this.model.customWidget.name);
3672
+ },
3673
+ enumerable: false,
3674
+ configurable: true
3675
+ });
3676
+ Object.defineProperty(CustomWidgetComponent.prototype, "componentName", {
3677
+ get: function () {
3678
+ if (this.hasAngularComponent)
3679
+ return this.model.customWidget.name;
3680
+ return this.model.getTemplate() + "-question";
3681
+ },
3682
+ enumerable: false,
3683
+ configurable: true
3684
+ });
3685
+ CustomWidgetComponent.prototype.ngAfterViewInit = function () {
3686
+ this.model.customWidget.afterRender(this.model, this.container.nativeElement);
3687
+ };
3688
+ CustomWidgetComponent.prototype.ngOnChanges = function (simpleChanges) {
3689
+ if (simpleChanges["model"].previousValue !== undefined && simpleChanges["model"].currentValue !== undefined) {
3690
+ this.model.customWidget.afterRender(this.model, this.container.nativeElement);
3691
+ }
3692
+ };
3693
+ CustomWidgetComponent.prototype.ngOnDestroy = function () {
3694
+ this.model.customWidget.willUnmount(this.model, this.container.nativeElement);
3695
+ };
3696
+ return CustomWidgetComponent;
3697
+ }());
3698
+ CustomWidgetComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CustomWidgetComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
3699
+ CustomWidgetComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomWidgetComponent, selector: "sv-ng-custom-widget", inputs: { css: "css", model: "model" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["content"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div #content>\n <div *ngIf=\"hasHtml\" [innerHTML]=\"customHtml | safeHtml\"></div>\n <ng-container *ngIf=\"hasDefaultRender\">\n <ng-template [component]=\"{ name: componentName, data: { model: model, css: css } }\"></ng-template> \n </ng-container>\n</div>", directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }], pipes: { "safeHtml": SafeHtmlPipe } });
3700
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CustomWidgetComponent, decorators: [{
3701
+ type: i0.Component,
3702
+ args: [{
3703
+ templateUrl: "./customwidget.component.html",
3704
+ selector: "sv-ng-custom-widget"
3705
+ }]
3706
+ }], propDecorators: { css: [{
3707
+ type: i0.Input
3708
+ }], model: [{
3709
+ type: i0.Input
3710
+ }], container: [{
3711
+ type: i0.ViewChild,
3712
+ args: ["content"]
3713
+ }] } });
3714
+ AngularComponentFactory.Instance.registerComponent("survey-customwidget", CustomWidgetComponent);
3715
+
3716
+ var MatrixDynamicDragDropIconComponent = /** @class */ (function (_super) {
3717
+ __extends(MatrixDynamicDragDropIconComponent, _super);
3718
+ function MatrixDynamicDragDropIconComponent() {
3719
+ return _super !== null && _super.apply(this, arguments) || this;
3720
+ }
3721
+ Object.defineProperty(MatrixDynamicDragDropIconComponent.prototype, "question", {
3722
+ get: function () {
3723
+ return this.model.data.question;
3724
+ },
3725
+ enumerable: false,
3726
+ configurable: true
3727
+ });
3728
+ return MatrixDynamicDragDropIconComponent;
3729
+ }(EmbeddedViewContentComponent));
3730
+ MatrixDynamicDragDropIconComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixDynamicDragDropIconComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3731
+ MatrixDynamicDragDropIconComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDynamicDragDropIconComponent, selector: "sv-ng-matrix-drag-drop-icon", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <svg *ngIf=\"question.iconDragElement\" [class]=\"question.cssClasses.dragElementDecorator\">\n <use [attr.xlink:href]=\"question.iconDragElement\"></use>\n </svg>\n <span *ngIf=\"!question.iconDragElement\" data-bind=\"css: question.cssClasses.iconDrag\"></span>\n</ng-template>", styles: [":host{display:none}\n"], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3732
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixDynamicDragDropIconComponent, decorators: [{
3733
+ type: i0.Component,
3734
+ args: [{
3735
+ templateUrl: "drag-drop-icon.component.html",
3736
+ selector: "sv-ng-matrix-drag-drop-icon",
3737
+ styleUrls: ["../../../hide-host.scss"]
3738
+ }]
3739
+ }], propDecorators: { model: [{
3740
+ type: i0.Input
3741
+ }] } });
3742
+ AngularComponentFactory.Instance.registerComponent("sv-matrix-drag-drop-icon", MatrixDynamicDragDropIconComponent);
3743
+
3744
+ var MatrixCellComponent = /** @class */ (function (_super) {
3745
+ __extends(MatrixCellComponent, _super);
3746
+ function MatrixCellComponent() {
3747
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
3748
+ _this.isVisible = false;
3749
+ return _this;
3750
+ }
3751
+ MatrixCellComponent.prototype.getModel = function () {
3752
+ return this.cell.question;
3753
+ };
3754
+ Object.defineProperty(MatrixCellComponent.prototype, "row", {
3755
+ get: function () {
3756
+ return this.cell.row;
3757
+ },
3758
+ enumerable: false,
3759
+ configurable: true
3760
+ });
3761
+ Object.defineProperty(MatrixCellComponent.prototype, "panelComponentName", {
3762
+ get: function () {
3763
+ var panel = this.cell.panel;
3764
+ var survey = panel.survey;
3765
+ if (!!survey) {
3766
+ var name = survey.getElementWrapperComponentName(panel);
3767
+ if (!!name) {
3768
+ return name;
3769
+ }
3770
+ }
3771
+ return "panel";
3772
+ },
3773
+ enumerable: false,
3774
+ configurable: true
3775
+ });
3776
+ Object.defineProperty(MatrixCellComponent.prototype, "panelComponentData", {
3777
+ get: function () {
3778
+ var panel = this.cell.panel;
3779
+ var survey = panel.survey;
3780
+ var data;
3781
+ if (!!survey) {
3782
+ data = survey.getElementWrapperComponentData(panel);
3783
+ }
3784
+ return {
3785
+ componentName: "panel",
3786
+ componentData: {
3787
+ model: panel,
3788
+ data: data
3789
+ }
3790
+ };
3791
+ },
3792
+ enumerable: false,
3793
+ configurable: true
3794
+ });
3795
+ MatrixCellComponent.prototype.getComponentName = function (element) {
3796
+ if (element.customWidget) {
3797
+ return "survey-customwidget";
3798
+ }
3799
+ return element.getType() + "-question";
3800
+ };
3801
+ MatrixCellComponent.prototype.getHeaders = function () {
3802
+ return this.cell.headers;
3803
+ };
3804
+ MatrixCellComponent.prototype.getCellStyle = function () {
3805
+ if (!!this.cell.width || !!this.cell.minWidth)
3806
+ return { width: this.cell.width, minWidth: this.cell.minWidth };
3807
+ return null;
3808
+ };
3809
+ MatrixCellComponent.prototype.ngAfterViewInit = function () {
3810
+ if (!this.cell.hasQuestion || !this.question || !this.question.survey)
3811
+ return;
3812
+ var options = {
3813
+ cell: this.cell.cell,
3814
+ cellQuestion: this.cell.question,
3815
+ htmlElement: this.cellContainer.nativeElement,
3816
+ row: this.cell.row,
3817
+ column: this.cell.cell.column,
3818
+ };
3819
+ this.question.survey.matrixAfterCellRender(this.question, options);
3820
+ };
3821
+ return MatrixCellComponent;
3822
+ }(BaseAngular));
3823
+ MatrixCellComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixCellComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3824
+ MatrixCellComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixCellComponent, selector: "sv-ng-matrix-cell", inputs: { question: "question", cell: "cell" }, viewQueries: [{ propertyName: "cellContainer", first: true, predicate: ["cellContainer"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <td [class]=\"cell.className\" [attr.data-responsive-title]=\"getHeaders()\" [title]=\"cell.getTitle()\" [style]=\"getCellStyle()\" [attr.colspan]=\"cell.colSpans\" #cellContainer>\n <sv-ng-matrix-drag-drop-icon *ngIf=\"cell.isDragHandlerCell\" [model]=\"$any({ data: { row: row, question: question } })\"></sv-ng-matrix-drag-drop-icon>\n <sv-action-bar *ngIf=\"cell.isActionsCell\" [model]=\"cell.item.getData()\" [handleClick]=\"false\"></sv-action-bar>\n <ng-container *ngIf=\"cell.hasPanel\">\n <ng-template [component]=\"{ name: panelComponentName, data: panelComponentData }\"></ng-template>\n </ng-container>\n <div *ngIf=\"cell.hasQuestion\" [class]=\"question.cssClasses.cellQuestionWrapper\" [visible]=\"cell.question.isVisible\">\n <div *ngIf=\"cell.showErrorOnTop && cell.question.hasVisibleErrors\" [element]=\"cell.question\" [location]=\"'top'\" sv-ng-errors></div>\n <ng-container *ngIf=\"!cell.isChoice && cell.question.isDefaultRendering()\">\n <ng-template [component]=\"{ name: question.getCellWrapperComponentName(cell.cell), data: { componentData: question.getCellWrapperComponentData(cell.cell)} }\">\n <ng-template [component]=\"{ name: getComponentName(cell.question), data: { model: cell.question } }\"></ng-template>\n </ng-template>\n </ng-container>\n <ng-template *ngIf=\"!cell.isChoice && !cell.question.isDefaultRendering()\" [component]=\"{ name: cell.question.getComponentName(), data: { model: cell.question } }\">\n </ng-template>\n <sv-ng-selebase-item\n *ngIf=\"cell.isItemChoice\"\n [showLabel]=\"false\"\n [inputType]=\"cell.isCheckbox ? 'checkbox': 'radio'\"\n [question]=\"cell.question\"\n [model]=\"cell.item\"\n ></sv-ng-selebase-item>\n <div *ngIf=\"cell.isOtherChoice\" [class]=\"cell.question.getCommentAreaCss(true)\" [question]=\"cell.question\" sv-ng-comment-other></div>\n <div *ngIf=\"cell.showErrorOnBottom && cell.question.hasVisibleErrors\" [element]=\"cell.question\" [location]=\"'top'\" sv-ng-errors></div>\n <div *ngIf=\"cell.question.isErrorsModeTooltip && cell.question.hasVisibleErrors\" [element]=\"cell.question\" [location]=\"'tooltip'\" sv-ng-errors></div>\n </div>\n <ng-container *ngIf=\"cell.hasTitle\">\n <ng-template [component]=\"{ name: question.getCellWrapperComponentName($any(cell)), data: { componentData: question.getCellWrapperComponentData($any(cell))} }\">\n <sv-ng-string [model]=\"cell.locTitle\"></sv-ng-string>\n <span *ngIf=\"!!cell.requiredText\" [class]=\"question.cssClasses.cellRequiredText\">{{ cell.requiredText }}</span> \n </ng-template>\n </ng-container>\n</td>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: MatrixDynamicDragDropIconComponent, selector: "sv-ng-matrix-drag-drop-icon", inputs: ["model"] }, { type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }, { type: SelectBaseItemComponent, selector: "['sv-ng-selectbase-item'], sv-ng-selebase-item", inputs: ["question", "model", "inputType", "showLabel"] }, { type: SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: ["question"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
3825
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixCellComponent, decorators: [{
3826
+ type: i0.Component,
3827
+ args: [{
3828
+ selector: "sv-ng-matrix-cell",
3829
+ templateUrl: "./matrixcell.component.html",
3830
+ styles: [":host { display: none; }"]
3831
+ }]
3832
+ }], propDecorators: { question: [{
3833
+ type: i0.Input
3834
+ }], cell: [{
3835
+ type: i0.Input
3836
+ }], cellContainer: [{
3837
+ type: i0.ViewChild,
3838
+ args: ["cellContainer"]
3839
+ }] } });
3840
+
3841
+ var MatrixRequiredHeader = /** @class */ (function (_super) {
3842
+ __extends(MatrixRequiredHeader, _super);
3843
+ function MatrixRequiredHeader() {
3844
+ return _super !== null && _super.apply(this, arguments) || this;
3845
+ }
3846
+ MatrixRequiredHeader.prototype.getModel = function () {
3847
+ return this.column;
3848
+ };
3849
+ return MatrixRequiredHeader;
3850
+ }(BaseAngular));
3851
+ MatrixRequiredHeader.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixRequiredHeader, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3852
+ MatrixRequiredHeader.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixRequiredHeader, selector: "sv-ng-matrixheaderrequired", inputs: { column: "column", question: "question" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template><span *ngIf='column.isRenderedRequired' [class]='question.cssClasses.cellRequiredText'>{{ column.requiredText }}</span></ng-template>", isInline: true, styles: [":host { display: none; }"], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3853
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixRequiredHeader, decorators: [{
3854
+ type: i0.Component,
3855
+ args: [{
3856
+ selector: "sv-ng-matrixheaderrequired",
3857
+ styles: [":host { display: none; }"],
3858
+ template: "<ng-template #template><span *ngIf='column.isRenderedRequired' [class]='question.cssClasses.cellRequiredText'>{{ column.requiredText }}</span></ng-template>"
3859
+ }]
3860
+ }], propDecorators: { column: [{
3861
+ type: i0.Input
3862
+ }], question: [{
3863
+ type: i0.Input
3864
+ }] } });
3865
+
3866
+ var MatrixRowComponent = /** @class */ (function (_super) {
3867
+ __extends(MatrixRowComponent, _super);
3868
+ function MatrixRowComponent() {
3869
+ return _super !== null && _super.apply(this, arguments) || this;
3870
+ }
3871
+ MatrixRowComponent.prototype.getModel = function () {
3872
+ return this.model;
3873
+ };
3874
+ Object.defineProperty(MatrixRowComponent.prototype, "row", {
3875
+ get: function () {
3876
+ return this.model.row;
3877
+ },
3878
+ enumerable: false,
3879
+ configurable: true
3880
+ });
3881
+ MatrixRowComponent.prototype.trackCellBy = function (_, cell) {
3882
+ return cell.id;
3883
+ };
3884
+ return MatrixRowComponent;
3885
+ }(BaseAngular));
3886
+ MatrixRowComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixRowComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3887
+ MatrixRowComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixRowComponent, selector: "sv-ng-matrix-row", inputs: { model: "model", question: "question" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <tr [class]=\"model.className\" (pointerdown)=\"question.onPointerDown($event, row)\" [attr.data-sv-drop-target-matrix-row]=\"row && row.id\">\n <sv-ng-matrix-cell\n [cell]=\"cell\"\n [question]=\"question\"\n *ngFor=\"let cell of model.cells; trackBy: trackCellBy\"\n ></sv-ng-matrix-cell>\n </tr>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: MatrixCellComponent, selector: "sv-ng-matrix-cell", inputs: ["question", "cell"] }], directives: [{ type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
3888
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixRowComponent, decorators: [{
3889
+ type: i0.Component,
3890
+ args: [{
3891
+ selector: "sv-ng-matrix-row",
3892
+ templateUrl: "./matrix-row.component.html",
3893
+ styles: [":host { display: none; }"]
3894
+ }]
3895
+ }], propDecorators: { model: [{
3896
+ type: i0.Input
3897
+ }], question: [{
3898
+ type: i0.Input
3899
+ }] } });
3900
+
3901
+ var MatrixTableComponent = /** @class */ (function (_super) {
3902
+ __extends(MatrixTableComponent, _super);
3903
+ function MatrixTableComponent() {
3904
+ return _super !== null && _super.apply(this, arguments) || this;
3905
+ }
3906
+ MatrixTableComponent.prototype.getModel = function () {
3907
+ return this.table;
3908
+ };
3909
+ MatrixTableComponent.prototype.trackCellBy = function (_, cell) {
3910
+ return cell.id;
3911
+ };
3912
+ MatrixTableComponent.prototype.trackRowBy = function (index, row) {
3913
+ return row.id;
3914
+ };
3915
+ return MatrixTableComponent;
3916
+ }(BaseAngular));
3917
+ MatrixTableComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixTableComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3918
+ MatrixTableComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixTableComponent, selector: "sv-ng-matrix-table", inputs: { question: "question", table: "table" }, usesInheritance: true, ngImport: i0__namespace, template: "<div [style]=\"{ overflowX: question.showHorizontalScroll ? 'scroll' : '' }\" #contentElement [class]=\"question.cssClasses.tableWrapper\">\n <table [class]=\"question.getTableCss()\">\n <thead *ngIf=\"table.showHeader\">\n <tr>\n <ng-container\n *ngFor=\"let cell of table.headerRow.cells; trackBy: trackCellBy\"\n >\n <th *ngIf=\"cell.hasTitle\" [class]=\"cell.className\" [style]=\"{ minWidth: cell.minWidth, width: cell.width }\">\n <ng-template [component]=\"{ name: question.getColumnHeaderWrapperComponentName($any(cell)), data: { componentData: question.getColumnHeaderWrapperComponentData($any(cell)) } }\">\n <sv-ng-string [model]=\"cell.locTitle\"></sv-ng-string>\n <sv-ng-matrixheaderrequired *ngIf=\"!!cell.column\" [column]=\"cell.column\" [question]=\"question\">\n </sv-ng-matrixheaderrequired>\n </ng-template>\n </th>\n \n <td *ngIf=\"!cell.hasTitle\" [class]=\"cell.className\" [style]=\"{ minWidth: cell.minWidth, width: cell.width }\"></td>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let row of table.rows; trackBy: trackRowBy\">\n <sv-ng-matrix-row [model]=\"row\" [question]=\"question\"></sv-ng-matrix-row>\n </ng-container>\n </tbody>\n <tfoot *ngIf=\"table.showFooter\">\n <tr>\n <sv-ng-matrix-cell [cell]=\"cell\" [question]=\"question\" *ngFor=\"let cell of table.footerRow.cells; trackBy: trackCellBy\">\n </sv-ng-matrix-cell>\n </tr>\n </tfoot>\n </table>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: MatrixRequiredHeader, selector: "sv-ng-matrixheaderrequired", inputs: ["column", "question"] }, { type: MatrixRowComponent, selector: "sv-ng-matrix-row", inputs: ["model", "question"] }, { type: MatrixCellComponent, selector: "sv-ng-matrix-cell", inputs: ["question", "cell"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
3919
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixTableComponent, decorators: [{
3920
+ type: i0.Component,
3921
+ args: [{
3922
+ selector: "sv-ng-matrix-table",
3923
+ templateUrl: "./matrixtable.component.html"
3924
+ }]
3925
+ }], propDecorators: { question: [{
3926
+ type: i0.Input
3927
+ }], table: [{
3928
+ type: i0.Input
3929
+ }] } });
3930
+
3931
+ var MatrixDropdownComponent = /** @class */ (function (_super) {
3932
+ __extends(MatrixDropdownComponent, _super);
3933
+ function MatrixDropdownComponent() {
3934
+ return _super !== null && _super.apply(this, arguments) || this;
3935
+ }
3936
+ return MatrixDropdownComponent;
3937
+ }(QuestionAngular));
3938
+ MatrixDropdownComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixDropdownComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3939
+ MatrixDropdownComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDropdownComponent, selector: "sv-ng-matrixdropdown-question", usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <sv-ng-matrix-table *ngIf=\"model.renderedTable?.showTable\" [question]=\"model\" [table]=\"model.renderedTable\"></sv-ng-matrix-table>\n</ng-template>", components: [{ type: MatrixTableComponent, selector: "sv-ng-matrix-table", inputs: ["question", "table"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3940
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixDropdownComponent, decorators: [{
3941
+ type: i0.Component,
3942
+ args: [{
3943
+ selector: "sv-ng-matrixdropdown-question",
3944
+ templateUrl: "./matrixdropdown.component.html"
3945
+ }]
3946
+ }] });
3947
+ AngularComponentFactory.Instance.registerComponent("matrixdropdown-question", MatrixDropdownComponent);
3948
+
3949
+ var MatrixDynamicComponent = /** @class */ (function (_super) {
3950
+ __extends(MatrixDynamicComponent, _super);
3951
+ function MatrixDynamicComponent() {
3952
+ return _super !== null && _super.apply(this, arguments) || this;
3953
+ }
3954
+ return MatrixDynamicComponent;
3955
+ }(QuestionAngular));
3956
+ MatrixDynamicComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixDynamicComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3957
+ MatrixDynamicComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDynamicComponent, selector: "sv-ng-matrixdynamic-question", usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div #contentElement>\n <div *ngIf=\"model.renderedTable.showAddRowOnTop\" [class]=\"model.cssClasses.footer\">\n <ng-container *ngTemplateOutlet=\"addRowButton\"></ng-container>\n </div>\n <sv-ng-matrix-table *ngIf=\"model.renderedTable?.showTable\" [question]=\"model\" [table]=\"model.renderedTable\"></sv-ng-matrix-table>\n <div *ngIf=\"!model.renderedTable.showTable\" [class]=\"model.cssClasses.emptyRowsSection\">\n <div [class]=\"model.cssClasses.emptyRowsText\" [model]=\"model.locEmptyRowsText\" sv-ng-string></div>\n <ng-container *ngTemplateOutlet=\"addRowButton\"></ng-container>\n </div>\n <div *ngIf=\"model.renderedTable.showAddRowOnBottom\" [class]=\"model.cssClasses.footer\">\n <ng-container *ngTemplateOutlet=\"addRowButton\"></ng-container>\n </div>\n </div>\n <ng-template #addRowButton>\n <button type=\"button\" [class]=\"model.getAddRowButtonCss(true)\" (click)=\"model.addRowUI()\">\n <sv-ng-string [model]=\"model.locAddRowText\" ></sv-ng-string>\n <span [class]=\"model.cssClasses.iconAdd\"></span>\n </button>\n </ng-template>\n</ng-template>", components: [{ type: MatrixTableComponent, selector: "sv-ng-matrix-table", inputs: ["question", "table"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
3958
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixDynamicComponent, decorators: [{
3959
+ type: i0.Component,
3960
+ args: [{
3961
+ selector: "sv-ng-matrixdynamic-question",
3962
+ templateUrl: "./matrixdynamic.component.html"
3963
+ }]
3964
+ }] });
3965
+ AngularComponentFactory.Instance.registerComponent("matrixdynamic-question", MatrixDynamicComponent);
3966
+
3967
+ var MatrixDynamicRemoveButtonComponent = /** @class */ (function () {
3968
+ function MatrixDynamicRemoveButtonComponent() {
3969
+ }
3970
+ Object.defineProperty(MatrixDynamicRemoveButtonComponent.prototype, "question", {
3971
+ get: function () {
3972
+ return this.model.data.question;
3973
+ },
3974
+ enumerable: false,
3975
+ configurable: true
3976
+ });
3977
+ Object.defineProperty(MatrixDynamicRemoveButtonComponent.prototype, "row", {
3978
+ get: function () {
3979
+ return this.model.data.row;
3980
+ },
3981
+ enumerable: false,
3982
+ configurable: true
3983
+ });
3984
+ MatrixDynamicRemoveButtonComponent.prototype.getModel = function () {
3985
+ return this.model;
3986
+ };
3987
+ return MatrixDynamicRemoveButtonComponent;
3988
+ }());
3989
+ MatrixDynamicRemoveButtonComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixDynamicRemoveButtonComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
3990
+ MatrixDynamicRemoveButtonComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDynamicRemoveButtonComponent, selector: "sv-ng-matrix-remove-btn", inputs: { model: "model" }, ngImport: i0__namespace, template: "<button type=\"button\" [class]=\"question.getRemoveRowButtonCss()\" [disabled]=\"question.isInputReadOnly\" (click)=\"question.removeRowUI(row)\">\n <sv-ng-string [model]=\"question.locRemoveRowText\" ></sv-ng-string>\n <span [class]=\"question.cssClasses.iconRemove\"></span>\n</button>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }] });
3991
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixDynamicRemoveButtonComponent, decorators: [{
3992
+ type: i0.Component,
3993
+ args: [{
3994
+ selector: "sv-ng-matrix-remove-btn",
3995
+ templateUrl: "./remove-button.component.html"
3996
+ }]
3997
+ }], propDecorators: { model: [{
3998
+ type: i0.Input
3999
+ }] } });
4000
+ AngularComponentFactory.Instance.registerComponent("sv-matrix-remove-button", MatrixDynamicRemoveButtonComponent);
4001
+
4002
+ var MatrixDetailButtonComponent = /** @class */ (function () {
4003
+ function MatrixDetailButtonComponent() {
4004
+ }
4005
+ Object.defineProperty(MatrixDetailButtonComponent.prototype, "question", {
4006
+ get: function () {
4007
+ return this.model.data.question;
4008
+ },
4009
+ enumerable: false,
4010
+ configurable: true
4011
+ });
4012
+ Object.defineProperty(MatrixDetailButtonComponent.prototype, "row", {
4013
+ get: function () {
4014
+ return this.model.data.row;
4015
+ },
4016
+ enumerable: false,
4017
+ configurable: true
4018
+ });
4019
+ MatrixDetailButtonComponent.prototype.getModel = function () {
4020
+ return this.model;
4021
+ };
4022
+ return MatrixDetailButtonComponent;
4023
+ }());
4024
+ MatrixDetailButtonComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixDetailButtonComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
4025
+ MatrixDetailButtonComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDetailButtonComponent, selector: "sv-ng-matrix-detail-btn", inputs: { model: "model" }, ngImport: i0__namespace, template: "<button type=\"button\" [class]=\"question.getDetailPanelButtonCss(row)\" (click)=\"row.showHideDetailPanelClick()\"\n [attr.aria-expanded]=\"question.getIsDetailPanelShowing(row) ? 'true' : 'false'\"\n [attr.aria-controls]=\"question.getIsDetailPanelShowing(row) ? row.detailPanelId : null\">\n <svg [class]=\"this.question.getDetailPanelIconCss(this.row)\" \n [iconName]=\"this.question.getDetailPanelIconId(this.row)\" [size]=\"'auto'\" sv-ng-svg-icon>\n </svg>\n</button>", components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }] });
4026
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixDetailButtonComponent, decorators: [{
4027
+ type: i0.Component,
4028
+ args: [{
4029
+ selector: "sv-ng-matrix-detail-btn",
4030
+ templateUrl: "./detail-button.component.html"
4031
+ }]
4032
+ }], propDecorators: { model: [{
4033
+ type: i0.Input
4034
+ }] } });
4035
+ AngularComponentFactory.Instance.registerComponent("sv-matrix-detail-button", MatrixDetailButtonComponent);
4036
+
4037
+ var ExpressionComponent = /** @class */ (function (_super) {
4038
+ __extends(ExpressionComponent, _super);
4039
+ function ExpressionComponent() {
4040
+ return _super !== null && _super.apply(this, arguments) || this;
4041
+ }
4042
+ return ExpressionComponent;
4043
+ }(QuestionAngular));
4044
+ ExpressionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ExpressionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
4045
+ ExpressionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ExpressionComponent, selector: "sv-ng-expression", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]='model.cssClasses.root' #contentElement>{{ model.formatedValue }}</div>", isInline: true });
4046
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ExpressionComponent, decorators: [{
4047
+ type: i0.Component,
4048
+ args: [{
4049
+ selector: "sv-ng-expression",
4050
+ template: "<div [class]='model.cssClasses.root' #contentElement>{{ model.formatedValue }}</div>"
4051
+ }]
4052
+ }] });
4053
+ AngularComponentFactory.Instance.registerComponent("expression-question", ExpressionComponent);
4054
+
4055
+ var ImageQuestionComponent = /** @class */ (function (_super) {
4056
+ __extends(ImageQuestionComponent, _super);
4057
+ function ImageQuestionComponent() {
4058
+ return _super !== null && _super.apply(this, arguments) || this;
4059
+ }
4060
+ ImageQuestionComponent.prototype.ngAfterViewInit = function () {
4061
+ var _this = this;
4062
+ this.model.locImageLink.onChanged = function () {
4063
+ _this.detectChanges();
4064
+ };
4065
+ _super.prototype.ngAfterViewInit.call(this);
4066
+ };
4067
+ ImageQuestionComponent.prototype.ngOnDestroy = function () {
4068
+ this.model.locImageLink.onChanged = function () { };
4069
+ _super.prototype.ngOnDestroy.call(this);
4070
+ };
4071
+ return ImageQuestionComponent;
4072
+ }(QuestionAngular));
4073
+ ImageQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ImageQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
4074
+ ImageQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ImageQuestionComponent, selector: "sv-ng-image-question", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.cssClasses.root\" #contentElement>\n <img\n *ngIf=\"model.renderedMode === 'image'\"\n [class]=\"model.getImageCss()\"\n [attr.src]=\"model.locImageLink.renderedHtml\"\n [attr.alt]=\"model.altText || model.title\"\n [attr.width]=\"model.renderedWidth\"\n [attr.height]=\"model.renderedHeight\"\n [style]=\"{ objectFit: model.imageFit }\"\n /><video\n controls\n *ngIf=\"model.renderedMode === 'video'\"\n [class]=\"model.getImageCss()\"\n [attr.src]=\"model.locImageLink.renderedHtml\"\n [attr.width]=\"model.renderedWidth\"\n [attr.height]=\"model.renderedHeight\"\n [style]=\"{ objectFit: model.imageFit }\"\n ></video>\n <iframe\n *ngIf=\"model.renderedMode === 'youtube'\"\n [class]=\"model.getImageCss()\"\n [attr.src]=\"model.locImageLink.renderedHtml | safeResourceUrl\"\n [attr.width]=\"model.renderedWidth\"\n [attr.height]=\"model.renderedHeight\"\n [style]=\"{ objectFit: model.imageFit }\"\n ></iframe>\n</div>", directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "safeResourceUrl": SafeResourceUrlPipe } });
4075
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ImageQuestionComponent, decorators: [{
4076
+ type: i0.Component,
4077
+ args: [{
4078
+ selector: "sv-ng-image-question",
4079
+ templateUrl: "./image.component.html"
4080
+ }]
4081
+ }] });
4082
+ AngularComponentFactory.Instance.registerComponent("image-question", ImageQuestionComponent);
4083
+
4084
+ var CustomQuestionComponent = /** @class */ (function (_super) {
4085
+ __extends(CustomQuestionComponent, _super);
4086
+ function CustomQuestionComponent() {
4087
+ return _super !== null && _super.apply(this, arguments) || this;
4088
+ }
4089
+ Object.defineProperty(CustomQuestionComponent.prototype, "contentQuestion", {
4090
+ get: function () {
4091
+ return this.model.contentQuestion;
4092
+ },
4093
+ enumerable: false,
4094
+ configurable: true
4095
+ });
4096
+ CustomQuestionComponent.prototype.getComponentName = function (element) {
4097
+ if (element.customWidget) {
4098
+ return "survey-customwidget";
4099
+ }
4100
+ return element.getTemplate() + "-question";
4101
+ };
4102
+ return CustomQuestionComponent;
4103
+ }(QuestionAngular));
4104
+ CustomQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CustomQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
4105
+ CustomQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomQuestionComponent, selector: "sv-ng-custom-question", usesInheritance: true, ngImport: i0__namespace, template: "<ng-template [component]='{ name: getComponentName(contentQuestion), data: { model: contentQuestion } }'></ng-template>", isInline: true, directives: [{ type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
4106
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CustomQuestionComponent, decorators: [{
4107
+ type: i0.Component,
4108
+ args: [{
4109
+ selector: "sv-ng-custom-question",
4110
+ template: "<ng-template [component]='{ name: getComponentName(contentQuestion), data: { model: contentQuestion } }'></ng-template>"
4111
+ }]
4112
+ }] });
4113
+ AngularComponentFactory.Instance.registerComponent("custom-question", CustomQuestionComponent);
4114
+
4115
+ var CompositeQuestionComponent = /** @class */ (function (_super) {
4116
+ __extends(CompositeQuestionComponent, _super);
4117
+ function CompositeQuestionComponent() {
4118
+ return _super !== null && _super.apply(this, arguments) || this;
4119
+ }
4120
+ Object.defineProperty(CompositeQuestionComponent.prototype, "contentPanel", {
4121
+ get: function () {
4122
+ return this.model.contentPanel;
4123
+ },
4124
+ enumerable: false,
4125
+ configurable: true
4126
+ });
4127
+ return CompositeQuestionComponent;
4128
+ }(QuestionAngular));
4129
+ CompositeQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CompositeQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
4130
+ CompositeQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CompositeQuestionComponent, selector: "sv-ng-composite-question", usesInheritance: true, ngImport: i0__namespace, template: "<sv-ng-panel [model]='contentPanel'></sv-ng-panel>", isInline: true, components: [{ type: PanelComponent, selector: "sv-ng-panel, '[sv-ng-panel]'", inputs: ["model"] }] });
4131
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CompositeQuestionComponent, decorators: [{
4132
+ type: i0.Component,
4133
+ args: [{
4134
+ selector: "sv-ng-composite-question",
4135
+ template: "<sv-ng-panel [model]='contentPanel'></sv-ng-panel>"
4136
+ }]
4137
+ }] });
4138
+ AngularComponentFactory.Instance.registerComponent("composite-question", CompositeQuestionComponent);
4139
+
4140
+ var SurveyModule = /** @class */ (function () {
4141
+ function SurveyModule() {
4142
+ }
4143
+ return SurveyModule;
4144
+ }());
4145
+ SurveyModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
4146
+ SurveyModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyModule, declarations: [VisibleDirective, Key2ClickDirective, PanelDynamicAddBtn, PanelDynamicNextBtn, PanelDynamicPrevBtn, PanelDynamicProgressText, ElementComponent, TemplateRendererComponent,
4147
+ SurveyComponent, SurveyContentComponent, PopupSurveyComponent, PageComponent, PanelComponent, QuestionComponent, StringViewerComponent, SurveyStringComponent, StringEditorComponent,
4148
+ QuestionSkeletonComponent, TextQuestionComponent, RadiogroupComponent, RadiogroupItemComponent, CheckboxComponent, CheckboxItemComponent,
4149
+ CharacterCounterComponent,
4150
+ DropdownComponent, DropdownQuestionComponent, DropdownSelectComponent, DropdownOptionItemComponent,
4151
+ PopupComponent, PopupBaseContainerComponent, PopupPointerComponent,
4152
+ ListComponent, ListItemComponent, RatingItemComponent,
4153
+ TagboxFilterComponent, TagboxComponent, TagboxQuestionComponent, TagboxItemComponent,
4154
+ ActionBarComponent, ActionComponent, ActionBarItemComponent, ActionBarItemDropdownComponent, HtmlQuestionComponent,
4155
+ SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentOtherComponent, ElementHeaderComponent, ElementTitleActionsComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
4156
+ RatingQuestionComponent, RatingDropdownComponent, BooleanQuestionComponent, BooleanCheckboxComponent, BooleanRadioComponent, BooleanRadioItemComponent, ImagePickerItemComponent, ImagePickerQuestionComponent, ImageQuestionComponent,
4157
+ SurveyHeaderComponent, ProgressDefaultComponent, ProgressButtonsComponent, SurveyNavigationButton, MatrixQuestionComponent, SvgIconComponent, FileQuestionComponent, SafeUrlPipe, SafeHtmlPipe, CommentQuestionComponent, SignaturePadQuestionComponent, ErrorsComponent,
4158
+ MultipleTextComponent, MultipleTextItemComponent, DynamicComponentDirective, RankingQuestionComponent, RankingItemComponent, PanelDynamicQuestionComponent, EmbeddedViewContentComponent, CustomWidgetComponent, MatrixCellComponent, MatrixTableComponent, MatrixDropdownComponent,
4159
+ MatrixDynamicComponent, MatrixDetailButtonComponent, MatrixDynamicRemoveButtonComponent, MatrixDynamicDragDropIconComponent, MatrixRequiredHeader, ExpressionComponent, SafeResourceUrlPipe, BrandInfoComponent,
4160
+ CustomQuestionComponent, CompositeQuestionComponent, ButtonGroupItemComponent, ButtonGroupQuestionComponent, MatrixRowComponent, ModalComponent, LogoImageComponent, SkeletonComponent, TimerPanelComponent, PaneldynamicRemoveButtonComponent,
4161
+ NotifierComponent], imports: [i2.CommonModule, i3.FormsModule], exports: [VisibleDirective, Key2ClickDirective, PanelDynamicAddBtn, PanelDynamicNextBtn, PanelDynamicPrevBtn, PanelDynamicProgressText, ElementComponent, TemplateRendererComponent,
4162
+ SurveyComponent, SurveyContentComponent, PopupSurveyComponent, PageComponent, PanelComponent, QuestionComponent, StringViewerComponent, SurveyStringComponent, StringEditorComponent,
4163
+ QuestionSkeletonComponent, TextQuestionComponent, RadiogroupComponent, RadiogroupItemComponent, CheckboxComponent, CheckboxItemComponent,
4164
+ DropdownComponent, DropdownQuestionComponent, DropdownSelectComponent, DropdownOptionItemComponent,
4165
+ PopupComponent, PopupBaseContainerComponent, PopupPointerComponent,
4166
+ ListComponent, ListItemComponent, RatingItemComponent,
4167
+ TagboxFilterComponent, TagboxComponent, TagboxQuestionComponent, TagboxItemComponent,
4168
+ ActionBarComponent, ActionComponent, ActionBarItemComponent, ActionBarItemDropdownComponent, HtmlQuestionComponent,
4169
+ SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentOtherComponent, ElementHeaderComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
4170
+ RatingQuestionComponent, RatingDropdownComponent, BooleanQuestionComponent, BooleanCheckboxComponent, BooleanRadioComponent, BooleanRadioItemComponent, ImagePickerItemComponent, ImagePickerQuestionComponent, ImageQuestionComponent,
4171
+ SurveyHeaderComponent, ProgressDefaultComponent, ProgressButtonsComponent, SurveyNavigationButton, MatrixQuestionComponent, SvgIconComponent, FileQuestionComponent, SafeUrlPipe, SafeHtmlPipe, CommentQuestionComponent, SignaturePadQuestionComponent, ErrorsComponent,
4172
+ MultipleTextComponent, MultipleTextItemComponent, DynamicComponentDirective, RankingQuestionComponent, RankingItemComponent, PanelDynamicQuestionComponent, EmbeddedViewContentComponent, CustomWidgetComponent, MatrixCellComponent, MatrixTableComponent, MatrixDropdownComponent,
4173
+ MatrixDynamicComponent, MatrixDetailButtonComponent, MatrixDynamicRemoveButtonComponent, MatrixDynamicDragDropIconComponent, MatrixRequiredHeader, ExpressionComponent, SafeResourceUrlPipe,
4174
+ CustomQuestionComponent, CompositeQuestionComponent, ButtonGroupQuestionComponent, ModalComponent, LogoImageComponent, SkeletonComponent, TimerPanelComponent, PaneldynamicRemoveButtonComponent,
4175
+ NotifierComponent] });
4176
+ SurveyModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyModule, providers: [PopupService], imports: [[
4177
+ i2.CommonModule, i3.FormsModule
4178
+ ]] });
4179
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyModule, decorators: [{
4180
+ type: i0.NgModule,
4181
+ args: [{
4182
+ declarations: [
4183
+ VisibleDirective, Key2ClickDirective, PanelDynamicAddBtn, PanelDynamicNextBtn, PanelDynamicPrevBtn, PanelDynamicProgressText, ElementComponent, TemplateRendererComponent,
4184
+ SurveyComponent, SurveyContentComponent, PopupSurveyComponent, PageComponent, PanelComponent, QuestionComponent, StringViewerComponent, SurveyStringComponent, StringEditorComponent,
4185
+ QuestionSkeletonComponent, TextQuestionComponent, RadiogroupComponent, RadiogroupItemComponent, CheckboxComponent, CheckboxItemComponent,
4186
+ CharacterCounterComponent,
4187
+ DropdownComponent, DropdownQuestionComponent, DropdownSelectComponent, DropdownOptionItemComponent,
4188
+ PopupComponent, PopupBaseContainerComponent, PopupPointerComponent,
4189
+ ListComponent, ListItemComponent, RatingItemComponent,
4190
+ TagboxFilterComponent, TagboxComponent, TagboxQuestionComponent, TagboxItemComponent,
4191
+ ActionBarComponent, ActionComponent, ActionBarItemComponent, ActionBarItemDropdownComponent, HtmlQuestionComponent,
4192
+ SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentOtherComponent, ElementHeaderComponent, ElementTitleActionsComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
4193
+ RatingQuestionComponent, RatingDropdownComponent, BooleanQuestionComponent, BooleanCheckboxComponent, BooleanRadioComponent, BooleanRadioItemComponent, ImagePickerItemComponent, ImagePickerQuestionComponent, ImageQuestionComponent,
4194
+ SurveyHeaderComponent, ProgressDefaultComponent, ProgressButtonsComponent, SurveyNavigationButton, MatrixQuestionComponent, SvgIconComponent, FileQuestionComponent, SafeUrlPipe, SafeHtmlPipe, CommentQuestionComponent, SignaturePadQuestionComponent, ErrorsComponent,
4195
+ MultipleTextComponent, MultipleTextItemComponent, DynamicComponentDirective, RankingQuestionComponent, RankingItemComponent, PanelDynamicQuestionComponent, EmbeddedViewContentComponent, CustomWidgetComponent, MatrixCellComponent, MatrixTableComponent, MatrixDropdownComponent,
4196
+ MatrixDynamicComponent, MatrixDetailButtonComponent, MatrixDynamicRemoveButtonComponent, MatrixDynamicDragDropIconComponent, MatrixRequiredHeader, ExpressionComponent, SafeResourceUrlPipe, BrandInfoComponent,
4197
+ CustomQuestionComponent, CompositeQuestionComponent, ButtonGroupItemComponent, ButtonGroupQuestionComponent, MatrixRowComponent, ModalComponent, LogoImageComponent, SkeletonComponent, TimerPanelComponent, PaneldynamicRemoveButtonComponent,
4198
+ NotifierComponent
4199
+ ],
4200
+ imports: [
4201
+ i2.CommonModule, i3.FormsModule
4202
+ ],
4203
+ exports: [
4204
+ VisibleDirective, Key2ClickDirective, PanelDynamicAddBtn, PanelDynamicNextBtn, PanelDynamicPrevBtn, PanelDynamicProgressText, ElementComponent, TemplateRendererComponent,
4205
+ SurveyComponent, SurveyContentComponent, PopupSurveyComponent, PageComponent, PanelComponent, QuestionComponent, StringViewerComponent, SurveyStringComponent, StringEditorComponent,
4206
+ QuestionSkeletonComponent, TextQuestionComponent, RadiogroupComponent, RadiogroupItemComponent, CheckboxComponent, CheckboxItemComponent,
4207
+ DropdownComponent, DropdownQuestionComponent, DropdownSelectComponent, DropdownOptionItemComponent,
4208
+ PopupComponent, PopupBaseContainerComponent, PopupPointerComponent,
4209
+ ListComponent, ListItemComponent, RatingItemComponent,
4210
+ TagboxFilterComponent, TagboxComponent, TagboxQuestionComponent, TagboxItemComponent,
4211
+ ActionBarComponent, ActionComponent, ActionBarItemComponent, ActionBarItemDropdownComponent, HtmlQuestionComponent,
4212
+ SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentOtherComponent, ElementHeaderComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
4213
+ RatingQuestionComponent, RatingDropdownComponent, BooleanQuestionComponent, BooleanCheckboxComponent, BooleanRadioComponent, BooleanRadioItemComponent, ImagePickerItemComponent, ImagePickerQuestionComponent, ImageQuestionComponent,
4214
+ SurveyHeaderComponent, ProgressDefaultComponent, ProgressButtonsComponent, SurveyNavigationButton, MatrixQuestionComponent, SvgIconComponent, FileQuestionComponent, SafeUrlPipe, SafeHtmlPipe, CommentQuestionComponent, SignaturePadQuestionComponent, ErrorsComponent,
4215
+ MultipleTextComponent, MultipleTextItemComponent, DynamicComponentDirective, RankingQuestionComponent, RankingItemComponent, PanelDynamicQuestionComponent, EmbeddedViewContentComponent, CustomWidgetComponent, MatrixCellComponent, MatrixTableComponent, MatrixDropdownComponent,
4216
+ MatrixDynamicComponent, MatrixDetailButtonComponent, MatrixDynamicRemoveButtonComponent, MatrixDynamicDragDropIconComponent, MatrixRequiredHeader, ExpressionComponent, SafeResourceUrlPipe,
4217
+ CustomQuestionComponent, CompositeQuestionComponent, ButtonGroupQuestionComponent, ModalComponent, LogoImageComponent, SkeletonComponent, TimerPanelComponent, PaneldynamicRemoveButtonComponent,
4218
+ NotifierComponent
4219
+ ],
4220
+ providers: [PopupService],
4221
+ }]
4222
+ }] });
4223
+
4224
+ /**
4225
+ * Generated bundle index. Do not edit.
4226
+ */
4227
+
4228
+ exports.ActionBarComponent = ActionBarComponent;
4229
+ exports.ActionBarItemComponent = ActionBarItemComponent;
4230
+ exports.ActionBarItemDropdownComponent = ActionBarItemDropdownComponent;
4231
+ exports.ActionComponent = ActionComponent;
4232
+ exports.AngularComponentFactory = AngularComponentFactory;
4233
+ exports.BaseAngular = BaseAngular;
4234
+ exports.BooleanCheckboxComponent = BooleanCheckboxComponent;
4235
+ exports.BooleanQuestionComponent = BooleanQuestionComponent;
4236
+ exports.BooleanRadioComponent = BooleanRadioComponent;
4237
+ exports.BooleanRadioItemComponent = BooleanRadioItemComponent;
4238
+ exports.BrandInfoComponent = BrandInfoComponent;
4239
+ exports.ButtonGroupQuestionComponent = ButtonGroupQuestionComponent;
4240
+ exports.CharacterCounterComponent = CharacterCounterComponent;
4241
+ exports.CheckboxComponent = CheckboxComponent;
4242
+ exports.CheckboxItemComponent = CheckboxItemComponent;
4243
+ exports.CommentQuestionComponent = CommentQuestionComponent;
4244
+ exports.CompositeQuestionComponent = CompositeQuestionComponent;
4245
+ exports.CustomQuestionComponent = CustomQuestionComponent;
4246
+ exports.CustomWidgetComponent = CustomWidgetComponent;
4247
+ exports.DropdownComponent = DropdownComponent;
4248
+ exports.DropdownOptionItemComponent = DropdownOptionItemComponent;
4249
+ exports.DropdownQuestionComponent = DropdownQuestionComponent;
4250
+ exports.DropdownSelectComponent = DropdownSelectComponent;
4251
+ exports.DynamicComponentDirective = DynamicComponentDirective;
4252
+ exports.DynamicHeadComponent = DynamicHeadComponent;
4253
+ exports.ElementComponent = ElementComponent;
4254
+ exports.ElementHeaderComponent = ElementHeaderComponent;
4255
+ exports.ElementTitleComponent = ElementTitleComponent;
4256
+ exports.EmbeddedViewContentComponent = EmbeddedViewContentComponent;
4257
+ exports.ErrorsComponent = ErrorsComponent;
4258
+ exports.ExpressionComponent = ExpressionComponent;
4259
+ exports.FileQuestionComponent = FileQuestionComponent;
4260
+ exports.HtmlQuestionComponent = HtmlQuestionComponent;
4261
+ exports.ImagePickerItemComponent = ImagePickerItemComponent;
4262
+ exports.ImagePickerQuestionComponent = ImagePickerQuestionComponent;
4263
+ exports.ImageQuestionComponent = ImageQuestionComponent;
4264
+ exports.Key2ClickDirective = Key2ClickDirective;
4265
+ exports.ListComponent = ListComponent;
4266
+ exports.ListItemComponent = ListItemComponent;
4267
+ exports.LogoImageComponent = LogoImageComponent;
4268
+ exports.MatrixCellComponent = MatrixCellComponent;
4269
+ exports.MatrixDetailButtonComponent = MatrixDetailButtonComponent;
4270
+ exports.MatrixDropdownComponent = MatrixDropdownComponent;
4271
+ exports.MatrixDynamicComponent = MatrixDynamicComponent;
4272
+ exports.MatrixDynamicDragDropIconComponent = MatrixDynamicDragDropIconComponent;
4273
+ exports.MatrixDynamicRemoveButtonComponent = MatrixDynamicRemoveButtonComponent;
4274
+ exports.MatrixQuestionComponent = MatrixQuestionComponent;
4275
+ exports.MatrixRequiredHeader = MatrixRequiredHeader;
4276
+ exports.MatrixTableComponent = MatrixTableComponent;
4277
+ exports.ModalComponent = ModalComponent;
4278
+ exports.MultipleTextComponent = MultipleTextComponent;
4279
+ exports.MultipleTextItemComponent = MultipleTextItemComponent;
4280
+ exports.NotifierComponent = NotifierComponent;
4281
+ exports.PageComponent = PageComponent;
4282
+ exports.PanelComponent = PanelComponent;
4283
+ exports.PanelDynamicAddBtn = PanelDynamicAddBtn;
4284
+ exports.PanelDynamicNextBtn = PanelDynamicNextBtn;
4285
+ exports.PanelDynamicPrevBtn = PanelDynamicPrevBtn;
4286
+ exports.PanelDynamicProgressText = PanelDynamicProgressText;
4287
+ exports.PanelDynamicQuestionComponent = PanelDynamicQuestionComponent;
4288
+ exports.PaneldynamicAction = PaneldynamicAction;
4289
+ exports.PaneldynamicRemoveButtonComponent = PaneldynamicRemoveButtonComponent;
4290
+ exports.PopupBaseContainerComponent = PopupBaseContainerComponent;
4291
+ exports.PopupComponent = PopupComponent;
4292
+ exports.PopupPointerComponent = PopupPointerComponent;
4293
+ exports.PopupService = PopupService;
4294
+ exports.PopupSurveyComponent = PopupSurveyComponent;
4295
+ exports.ProgressButtonsComponent = ProgressButtonsComponent;
4296
+ exports.ProgressDefaultComponent = ProgressDefaultComponent;
4297
+ exports.QuestionAngular = QuestionAngular;
4298
+ exports.QuestionComponent = QuestionComponent;
4299
+ exports.QuestionSkeletonComponent = QuestionSkeletonComponent;
4300
+ exports.RadiogroupComponent = RadiogroupComponent;
4301
+ exports.RadiogroupItemComponent = RadiogroupItemComponent;
4302
+ exports.RankingItemComponent = RankingItemComponent;
4303
+ exports.RankingQuestionComponent = RankingQuestionComponent;
4304
+ exports.RatingDropdownComponent = RatingDropdownComponent;
4305
+ exports.RatingItemComponent = RatingItemComponent;
4306
+ exports.RatingQuestionComponent = RatingQuestionComponent;
4307
+ exports.RowComponent = RowComponent;
4308
+ exports.SafeHtmlPipe = SafeHtmlPipe;
4309
+ exports.SafeResourceUrlPipe = SafeResourceUrlPipe;
4310
+ exports.SafeUrlPipe = SafeUrlPipe;
4311
+ exports.SelectBaseComponent = SelectBaseComponent;
4312
+ exports.SelectBaseItemComponent = SelectBaseItemComponent;
4313
+ exports.SignaturePadQuestionComponent = SignaturePadQuestionComponent;
4314
+ exports.SkeletonComponent = SkeletonComponent;
4315
+ exports.StringEditorComponent = StringEditorComponent;
4316
+ exports.StringViewerComponent = StringViewerComponent;
4317
+ exports.SurveyCommentComponent = SurveyCommentComponent;
4318
+ exports.SurveyCommentOtherComponent = SurveyCommentOtherComponent;
4319
+ exports.SurveyComponent = SurveyComponent;
4320
+ exports.SurveyContentComponent = SurveyContentComponent;
4321
+ exports.SurveyHeaderComponent = SurveyHeaderComponent;
4322
+ exports.SurveyModule = SurveyModule;
4323
+ exports.SurveyNavigationButton = SurveyNavigationButton;
4324
+ exports.SurveyStringComponent = SurveyStringComponent;
4325
+ exports.SvgIconComponent = SvgIconComponent;
4326
+ exports.TagboxComponent = TagboxComponent;
4327
+ exports.TagboxFilterComponent = TagboxFilterComponent;
4328
+ exports.TagboxItemComponent = TagboxItemComponent;
4329
+ exports.TagboxQuestionComponent = TagboxQuestionComponent;
4330
+ exports.TemplateRendererComponent = TemplateRendererComponent;
4331
+ exports.TextQuestionComponent = TextQuestionComponent;
4332
+ exports.TimerPanelComponent = TimerPanelComponent;
4333
+ exports.VisibleDirective = VisibleDirective;
4334
+
4335
+ Object.defineProperty(exports, '__esModule', { value: true });
4336
+
4337
+ }));
4338
+ //# sourceMappingURL=survey-angular-ui.umd.js.map