@sunbird-cb/toc 0.0.1-mauritius

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 (346) hide show
  1. package/esm2022/lib/_collection/_common/ai-tutor/ai-tutor.component.mjs +1169 -0
  2. package/esm2022/lib/_collection/_common/ai-tutor/socket.service.mjs +121 -0
  3. package/esm2022/lib/_collection/_common/attendance-card/attendance-card.component.mjs +55 -0
  4. package/esm2022/lib/_collection/_common/attendance-card/attendance-card.module.mjs +126 -0
  5. package/esm2022/lib/_collection/_common/attendance-helper/attendance-helper.component.mjs +32 -0
  6. package/esm2022/lib/_collection/_common/attendance-helper/attendance-helper.module.mjs +85 -0
  7. package/esm2022/lib/_collection/_common/avatar-photo/avatar-photo.component.mjs +100 -0
  8. package/esm2022/lib/_collection/_common/avatar-photo/avatar-photo.module.mjs +48 -0
  9. package/esm2022/lib/_collection/_common/card-competency/card-competency.component.mjs +58 -0
  10. package/esm2022/lib/_collection/_common/card-competency/card-competency.module.mjs +22 -0
  11. package/esm2022/lib/_collection/_common/card-content-v2/card-content-v2.model.mjs +23 -0
  12. package/esm2022/lib/_collection/_common/certificate-dialog/certificate-dialog.component.mjs +221 -0
  13. package/esm2022/lib/_collection/_common/certificate-dialog/certificate-dialog.module.mjs +96 -0
  14. package/esm2022/lib/_collection/_common/certificate-dialog/svg-to-pdf.component.mjs +48 -0
  15. package/esm2022/lib/_collection/_common/confirm-dialog/confirm-dialog.component.mjs +25 -0
  16. package/esm2022/lib/_collection/_common/confirm-dialog/confirm-dialog.module.mjs +41 -0
  17. package/esm2022/lib/_collection/_common/connection-hover-card/connection-hover-card.component.mjs +89 -0
  18. package/esm2022/lib/_collection/_common/connection-hover-card/connection-hover.module.mjs +42 -0
  19. package/esm2022/lib/_collection/_common/connection-hover-card/connection-hover.servive.mjs +41 -0
  20. package/esm2022/lib/_collection/_common/connection-name/connection-name.component.mjs +78 -0
  21. package/esm2022/lib/_collection/_common/connection-name/connection-name.module.mjs +45 -0
  22. package/esm2022/lib/_collection/_common/connection-name/profile-v2.model.mjs +2 -0
  23. package/esm2022/lib/_collection/_common/content-progress/content-progress.component.mjs +70 -0
  24. package/esm2022/lib/_collection/_common/content-progress/content-progress.module.mjs +28 -0
  25. package/esm2022/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.component.mjs +187 -0
  26. package/esm2022/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.module.mjs +86 -0
  27. package/esm2022/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.mjs +31 -0
  28. package/esm2022/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.mjs +961 -0
  29. package/esm2022/lib/_collection/_common/content-toc/app-toc-assignment-viewer/app-toc-assignment-viewer.component.mjs +183 -0
  30. package/esm2022/lib/_collection/_common/content-toc/app-toc-assignment-viewerV2/app-toc-assignment-viewerV2.component.mjs +327 -0
  31. package/esm2022/lib/_collection/_common/content-toc/app-toc-batch-assignments/app-toc-batch-assignments.component.mjs +297 -0
  32. package/esm2022/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.mjs +304 -0
  33. package/esm2022/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.mjs +1229 -0
  34. package/esm2022/lib/_collection/_common/content-toc/app-toc-content-card-v2-skeleton/app-toc-content-card-v2-skeleton.component.mjs +16 -0
  35. package/esm2022/lib/_collection/_common/content-toc/app-toc-reference-notes/app-toc-reference-notes.component.mjs +43 -0
  36. package/esm2022/lib/_collection/_common/content-toc/app-toc-session-card-new/app-toc-session-card-new.component.mjs +133 -0
  37. package/esm2022/lib/_collection/_common/content-toc/app-toc-sessions-new/app-toc-sessions-new.component.mjs +66 -0
  38. package/esm2022/lib/_collection/_common/content-toc/app-toc-teachers-notes/app-toc-teachers-notes.component.mjs +278 -0
  39. package/esm2022/lib/_collection/_common/content-toc/content-services/handle-claim.service.mjs +21 -0
  40. package/esm2022/lib/_collection/_common/content-toc/content-services/review-component-data.service.mjs +21 -0
  41. package/esm2022/lib/_collection/_common/content-toc/content-toc.component.mjs +833 -0
  42. package/esm2022/lib/_collection/_common/content-toc/content-toc.module.mjs +224 -0
  43. package/esm2022/lib/_collection/_common/content-toc/karma-points/karma-points.component.mjs +212 -0
  44. package/esm2022/lib/_collection/_common/content-toc/karma-points/karma-points.module.mjs +26 -0
  45. package/esm2022/lib/_collection/_common/content-toc/pipes/replace-nbsp.pipe.mjs +19 -0
  46. package/esm2022/lib/_collection/_common/content-toc/pipes/truncate.pipe.mjs +23 -0
  47. package/esm2022/lib/_collection/_common/content-toc/reviews-content/reviews-content.component.mjs +113 -0
  48. package/esm2022/lib/_collection/_common/content-toc/samuhik-charcha-content/samuhik-charcha-content/samuhik-charcha-content.component.mjs +110 -0
  49. package/esm2022/lib/_collection/_common/display-content-type/display-content-type.component.mjs +26 -0
  50. package/esm2022/lib/_collection/_common/display-content-type/display-content-type.module.mjs +19 -0
  51. package/esm2022/lib/_collection/_common/display-content-type-icon/display-content-type-icon.component.mjs +67 -0
  52. package/esm2022/lib/_collection/_common/display-content-type-icon/display-content-type-icon.module.mjs +28 -0
  53. package/esm2022/lib/_collection/_common/mark-as-complete/mark-as-complete.component.mjs +77 -0
  54. package/esm2022/lib/_collection/_common/mark-as-complete/mark-as-complete.model.mjs +2 -0
  55. package/esm2022/lib/_collection/_common/mark-as-complete/mark-as-complete.module.mjs +61 -0
  56. package/esm2022/lib/_collection/_common/pipe-content-route/pipe-content-route.module.mjs +20 -0
  57. package/esm2022/lib/_collection/_common/pipe-content-route/pipe-content-route.pipe.mjs +67 -0
  58. package/esm2022/lib/_collection/_common/player-brief/player-brief.component.mjs +139 -0
  59. package/esm2022/lib/_collection/_common/player-brief/player-brief.module.mjs +71 -0
  60. package/esm2022/lib/_collection/_common/rating-summary/rating-summary.component.mjs +34 -0
  61. package/esm2022/lib/_collection/_common/rating-summary/rating-summary.module.mjs +56 -0
  62. package/esm2022/lib/_collection/_common/skeleton-loader/skeleton-loader.component.mjs +25 -0
  63. package/esm2022/lib/_collection/_common/skeleton-loader/skeleton-loader.module.mjs +37 -0
  64. package/esm2022/lib/_collection/_common/tips-for-learner/tips-for-learner-card/tips-for-learner-card.component.mjs +32 -0
  65. package/esm2022/lib/_collection/_common/tips-for-learner/tips-for-learner.module.mjs +30 -0
  66. package/esm2022/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.mjs +38 -0
  67. package/esm2022/lib/_collection/_common/toc-kpi-values/toc-kpi-values.module.mjs +51 -0
  68. package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.component.mjs +115 -0
  69. package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.model.mjs +12 -0
  70. package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.module.mjs +51 -0
  71. package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.service.mjs +61 -0
  72. package/esm2022/lib/_collection/_common/user-content-rating/user-content-rating.component.mjs +87 -0
  73. package/esm2022/lib/_collection/_common/user-content-rating/user-content-rating.module.mjs +36 -0
  74. package/esm2022/lib/_collection/_common/user-image/user-image.component.mjs +62 -0
  75. package/esm2022/lib/_collection/_common/user-image/user-image.module.mjs +24 -0
  76. package/esm2022/lib/_collection/btn-page-back/btn-page-back.component.mjs +192 -0
  77. package/esm2022/lib/_collection/btn-page-back/btn-page-back.module.mjs +44 -0
  78. package/esm2022/lib/_collection/btn-page-back/btn-page-back.service.mjs +99 -0
  79. package/esm2022/lib/_collection/card-rating-comment/card-rating-comment.component.mjs +58 -0
  80. package/esm2022/lib/_collection/card-rating-comment/card-rating-comment.module.mjs +67 -0
  81. package/esm2022/lib/_collection/sliders-dynamic/sliders-dynamic.component.mjs +112 -0
  82. package/esm2022/lib/_collection/sliders-dynamic/sliders-dynamic.model.mjs +2 -0
  83. package/esm2022/lib/_collection/sliders-dynamic/sliders-dynamic.module.mjs +69 -0
  84. package/esm2022/lib/_collection-api.mjs +57 -0
  85. package/esm2022/lib/_constants/widget-content.constants.mjs +19 -0
  86. package/esm2022/lib/_directives/tooltip.directive.mjs +68 -0
  87. package/esm2022/lib/_models/common.model.mjs +2 -0
  88. package/esm2022/lib/_models/error.model.mjs +2 -0
  89. package/esm2022/lib/_pipes/highlight.pipe.mjs +24 -0
  90. package/esm2022/lib/_services/rating.service.mjs +89 -0
  91. package/esm2022/lib/_services/samuhik-charcha.service.mjs +29 -0
  92. package/esm2022/lib/_services/viewer-route-util.mjs +103 -0
  93. package/esm2022/lib/_services/widget-content.model.mjs +254 -0
  94. package/esm2022/lib/_services/widget-content.service.mjs +594 -0
  95. package/esm2022/lib/_shared/translate-loader.factory.mjs +9 -0
  96. package/esm2022/lib/app-toc-lib.module.mjs +503 -0
  97. package/esm2022/lib/collection.config.mjs +161 -0
  98. package/esm2022/lib/components/app-toc-analytics-tiles/app-toc-analytics-tiles.component.mjs +37 -0
  99. package/esm2022/lib/components/app-toc-banner/app-toc-banner.component.mjs +1436 -0
  100. package/esm2022/lib/components/app-toc-cios-home/app-toc-cios-home.component.mjs +505 -0
  101. package/esm2022/lib/components/app-toc-cios-home/consent-dialog.component.mjs +119 -0
  102. package/esm2022/lib/components/app-toc-cohorts/app-toc-cohorts.component.mjs +80 -0
  103. package/esm2022/lib/components/app-toc-content-card/app-toc-content-card.component.mjs +249 -0
  104. package/esm2022/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.mjs +39 -0
  105. package/esm2022/lib/components/app-toc-discussion/app-toc-discussion.component.mjs +58 -0
  106. package/esm2022/lib/components/app-toc-home/app-toc-home.component.mjs +2230 -0
  107. package/esm2022/lib/components/app-toc-home-v2/app-toc-home-v2.component.mjs +3001 -0
  108. package/esm2022/lib/components/app-toc-overview/app-toc-overview.component.mjs +157 -0
  109. package/esm2022/lib/components/app-toc-session-card/app-toc-session-card.component.mjs +48 -0
  110. package/esm2022/lib/components/app-toc-sessions/app-toc-sessions.component.mjs +47 -0
  111. package/esm2022/lib/components/app-toc-single-page/app-toc-single-page.component.mjs +766 -0
  112. package/esm2022/lib/components/completion-survey-form/completion-survey-form.component.mjs +243 -0
  113. package/esm2022/lib/components/create-batch-dialog/create-batch-dialog.component.mjs +116 -0
  114. package/esm2022/lib/components/enroll-language-dialogue/enroll-language-dialogue.component.mjs +44 -0
  115. package/esm2022/lib/components/enroll-profile-form/enroll-profile-form.component.mjs +1838 -0
  116. package/esm2022/lib/components/enroll-questionnaire/enroll-questionnaire.component.mjs +236 -0
  117. package/esm2022/lib/components/knowledge-artifact-details/knowledge-artifact-details.component.mjs +213 -0
  118. package/esm2022/lib/components/non-relevent-feedback-dialog/non-relevent-feedback-dialog.component.mjs +36 -0
  119. package/esm2022/lib/components/public-survey-form/public-survey-form.component.mjs +258 -0
  120. package/esm2022/lib/components/survey-form-question/survey-form-question.component.mjs +133 -0
  121. package/esm2022/lib/components/survey-form-section/survey-form-section.component.mjs +36 -0
  122. package/esm2022/lib/models/app-toc-analytics.model.mjs +2 -0
  123. package/esm2022/lib/models/app-toc.model.mjs +38 -0
  124. package/esm2022/lib/models/auto-complete.model.mjs +2 -0
  125. package/esm2022/lib/models/card-content.model.mjs +13 -0
  126. package/esm2022/lib/models/content-strip-with-tabs.model.mjs +2 -0
  127. package/esm2022/lib/models/discussion-forum.model.mjs +14 -0
  128. package/esm2022/lib/models/goal.model.mjs +2 -0
  129. package/esm2022/lib/models/meta-tag.model.mjs +8 -0
  130. package/esm2022/lib/models/playlist.model.mjs +2 -0
  131. package/esm2022/lib/models/profile-revamp.model.mjs +2 -0
  132. package/esm2022/lib/models/rating.model.mjs +2 -0
  133. package/esm2022/lib/models/user-profile.model.mjs +21 -0
  134. package/esm2022/lib/registration-toc-lib.config.mjs +14 -0
  135. package/esm2022/lib/resolvers/app-toc-cios-resolver.service.mjs +24 -0
  136. package/esm2022/lib/resolvers/app-toc-cios-user-enroll-resolver.service.mjs +24 -0
  137. package/esm2022/lib/resolvers/app-toc-content-read-resolver.service.mjs +60 -0
  138. package/esm2022/lib/resolvers/app-toc-ext-public-resolver.service.mjs +25 -0
  139. package/esm2022/lib/resolvers/app-toc-resolver.service.mjs +106 -0
  140. package/esm2022/lib/resolvers/config-resolver.service.mjs +25 -0
  141. package/esm2022/lib/resolvers/profile-resolver.service.mjs +25 -0
  142. package/esm2022/lib/resolvers/restricted-features-resolver.service.mjs +25 -0
  143. package/esm2022/lib/routes/app-toc-home/app-toc-home.component.mjs +51 -0
  144. package/esm2022/lib/routes/app-toc-home/app-toc-home.directive.mjs +16 -0
  145. package/esm2022/lib/routes/app-toc-home/app-toc-home.service.mjs +18 -0
  146. package/esm2022/lib/services/access-control.service.mjs +56 -0
  147. package/esm2022/lib/services/action.service.mjs +23 -0
  148. package/esm2022/lib/services/app-toc-v2.service.mjs +368 -0
  149. package/esm2022/lib/services/app-toc.service.mjs +1577 -0
  150. package/esm2022/lib/services/certificate.service.mjs +114 -0
  151. package/esm2022/lib/services/discuss-utils.service.mjs +58 -0
  152. package/esm2022/lib/services/editor.service.mjs +34 -0
  153. package/esm2022/lib/services/load-check.service.mjs +21 -0
  154. package/esm2022/lib/services/loader.service.mjs +33 -0
  155. package/esm2022/lib/services/mobile-apps.service.mjs +67 -0
  156. package/esm2022/lib/services/netcore.service.mjs +56 -0
  157. package/esm2022/lib/services/nps-grid.service.mjs +31 -0
  158. package/esm2022/lib/services/otp.service.mjs +43 -0
  159. package/esm2022/lib/services/profile-v2.service.mjs +43 -0
  160. package/esm2022/lib/services/reset-ratings.service.mjs +19 -0
  161. package/esm2022/lib/services/resource-download-helper.service.mjs +64 -0
  162. package/esm2022/lib/services/root.service.mjs +106 -0
  163. package/esm2022/lib/services/timer.service.mjs +23 -0
  164. package/esm2022/lib/services/title-tag.service.mjs +71 -0
  165. package/esm2022/lib/services/user-profile.service.mjs +55 -0
  166. package/esm2022/lib/services/viewer-data.service.mjs +64 -0
  167. package/esm2022/lib/services/viewer-util.service.mjs +627 -0
  168. package/esm2022/lib/share-toc/share-toc/share-toc.component.mjs +291 -0
  169. package/esm2022/lib/share-toc/share-toc.module.mjs +119 -0
  170. package/esm2022/public-api.mjs +80 -0
  171. package/esm2022/sunbird-cb-toc.mjs +5 -0
  172. package/fesm2022/sunbird-cb-toc.mjs +27111 -0
  173. package/fesm2022/sunbird-cb-toc.mjs.map +1 -0
  174. package/index.d.ts +5 -0
  175. package/lib/_collection/_common/ai-tutor/ai-tutor.component.d.ts +139 -0
  176. package/lib/_collection/_common/ai-tutor/socket.service.d.ts +19 -0
  177. package/lib/_collection/_common/attendance-card/attendance-card.component.d.ts +16 -0
  178. package/lib/_collection/_common/attendance-card/attendance-card.module.d.ts +31 -0
  179. package/lib/_collection/_common/attendance-helper/attendance-helper.component.d.ts +15 -0
  180. package/lib/_collection/_common/attendance-helper/attendance-helper.module.d.ts +20 -0
  181. package/lib/_collection/_common/avatar-photo/avatar-photo.component.d.ts +22 -0
  182. package/lib/_collection/_common/avatar-photo/avatar-photo.module.d.ts +15 -0
  183. package/lib/_collection/_common/card-competency/card-competency.component.d.ts +14 -0
  184. package/lib/_collection/_common/card-competency/card-competency.module.d.ts +8 -0
  185. package/lib/_collection/_common/card-content-v2/card-content-v2.model.d.ts +44 -0
  186. package/lib/_collection/_common/certificate-dialog/certificate-dialog.component.d.ts +30 -0
  187. package/lib/_collection/_common/certificate-dialog/certificate-dialog.module.d.ts +23 -0
  188. package/lib/_collection/_common/certificate-dialog/svg-to-pdf.component.d.ts +9 -0
  189. package/lib/_collection/_common/confirm-dialog/confirm-dialog.component.d.ts +11 -0
  190. package/lib/_collection/_common/confirm-dialog/confirm-dialog.module.d.ts +12 -0
  191. package/lib/_collection/_common/connection-hover-card/connection-hover-card.component.d.ts +18 -0
  192. package/lib/_collection/_common/connection-hover-card/connection-hover.module.d.ts +14 -0
  193. package/lib/_collection/_common/connection-hover-card/connection-hover.servive.d.ts +11 -0
  194. package/lib/_collection/_common/connection-name/connection-name.component.d.ts +17 -0
  195. package/lib/_collection/_common/connection-name/connection-name.module.d.ts +14 -0
  196. package/lib/_collection/_common/connection-name/profile-v2.model.d.ts +199 -0
  197. package/lib/_collection/_common/content-progress/content-progress.component.d.ts +16 -0
  198. package/lib/_collection/_common/content-progress/content-progress.module.d.ts +10 -0
  199. package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.component.d.ts +38 -0
  200. package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.module.d.ts +19 -0
  201. package/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.d.ts +11 -0
  202. package/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.d.ts +187 -0
  203. package/lib/_collection/_common/content-toc/app-toc-assignment-viewer/app-toc-assignment-viewer.component.d.ts +41 -0
  204. package/lib/_collection/_common/content-toc/app-toc-assignment-viewerV2/app-toc-assignment-viewerV2.component.d.ts +54 -0
  205. package/lib/_collection/_common/content-toc/app-toc-batch-assignments/app-toc-batch-assignments.component.d.ts +47 -0
  206. package/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.d.ts +56 -0
  207. package/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.d.ts +195 -0
  208. package/lib/_collection/_common/content-toc/app-toc-content-card-v2-skeleton/app-toc-content-card-v2-skeleton.component.d.ts +8 -0
  209. package/lib/_collection/_common/content-toc/app-toc-reference-notes/app-toc-reference-notes.component.d.ts +16 -0
  210. package/lib/_collection/_common/content-toc/app-toc-session-card-new/app-toc-session-card-new.component.d.ts +40 -0
  211. package/lib/_collection/_common/content-toc/app-toc-sessions-new/app-toc-sessions-new.component.d.ts +21 -0
  212. package/lib/_collection/_common/content-toc/app-toc-teachers-notes/app-toc-teachers-notes.component.d.ts +45 -0
  213. package/lib/_collection/_common/content-toc/content-services/handle-claim.service.d.ts +10 -0
  214. package/lib/_collection/_common/content-toc/content-services/review-component-data.service.d.ts +10 -0
  215. package/lib/_collection/_common/content-toc/content-toc.component.d.ts +131 -0
  216. package/lib/_collection/_common/content-toc/content-toc.module.d.ts +52 -0
  217. package/lib/_collection/_common/content-toc/karma-points/karma-points.component.d.ts +29 -0
  218. package/lib/_collection/_common/content-toc/karma-points/karma-points.module.d.ts +9 -0
  219. package/lib/_collection/_common/content-toc/pipes/replace-nbsp.pipe.d.ts +7 -0
  220. package/lib/_collection/_common/content-toc/pipes/truncate.pipe.d.ts +7 -0
  221. package/lib/_collection/_common/content-toc/reviews-content/reviews-content.component.d.ts +28 -0
  222. package/lib/_collection/_common/content-toc/samuhik-charcha-content/samuhik-charcha-content/samuhik-charcha-content.component.d.ts +24 -0
  223. package/lib/_collection/_common/display-content-type/display-content-type.component.d.ts +14 -0
  224. package/lib/_collection/_common/display-content-type/display-content-type.module.d.ts +9 -0
  225. package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.component.d.ts +12 -0
  226. package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.module.d.ts +10 -0
  227. package/lib/_collection/_common/mark-as-complete/mark-as-complete.component.d.ts +22 -0
  228. package/lib/_collection/_common/mark-as-complete/mark-as-complete.model.d.ts +8 -0
  229. package/lib/_collection/_common/mark-as-complete/mark-as-complete.module.d.ts +18 -0
  230. package/lib/_collection/_common/pipe-content-route/pipe-content-route.module.d.ts +8 -0
  231. package/lib/_collection/_common/pipe-content-route/pipe-content-route.pipe.d.ts +15 -0
  232. package/lib/_collection/_common/player-brief/player-brief.component.d.ts +35 -0
  233. package/lib/_collection/_common/player-brief/player-brief.module.d.ts +19 -0
  234. package/lib/_collection/_common/rating-summary/rating-summary.component.d.ts +14 -0
  235. package/lib/_collection/_common/rating-summary/rating-summary.module.d.ts +13 -0
  236. package/lib/_collection/_common/skeleton-loader/skeleton-loader.component.d.ts +11 -0
  237. package/lib/_collection/_common/skeleton-loader/skeleton-loader.module.d.ts +11 -0
  238. package/lib/_collection/_common/tips-for-learner/tips-for-learner-card/tips-for-learner-card.component.d.ts +15 -0
  239. package/lib/_collection/_common/tips-for-learner/tips-for-learner.module.d.ts +10 -0
  240. package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.d.ts +16 -0
  241. package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.module.d.ts +11 -0
  242. package/lib/_collection/_common/user-autocomplete/user-autocomplete.component.d.ts +34 -0
  243. package/lib/_collection/_common/user-autocomplete/user-autocomplete.model.d.ts +17 -0
  244. package/lib/_collection/_common/user-autocomplete/user-autocomplete.module.d.ts +15 -0
  245. package/lib/_collection/_common/user-autocomplete/user-autocomplete.service.d.ts +15 -0
  246. package/lib/_collection/_common/user-content-rating/user-content-rating.component.d.ts +21 -0
  247. package/lib/_collection/_common/user-content-rating/user-content-rating.module.d.ts +12 -0
  248. package/lib/_collection/_common/user-image/user-image.component.d.ts +21 -0
  249. package/lib/_collection/_common/user-image/user-image.module.d.ts +9 -0
  250. package/lib/_collection/btn-page-back/btn-page-back.component.d.ts +47 -0
  251. package/lib/_collection/btn-page-back/btn-page-back.module.d.ts +14 -0
  252. package/lib/_collection/btn-page-back/btn-page-back.service.d.ts +22 -0
  253. package/lib/_collection/card-rating-comment/card-rating-comment.component.d.ts +19 -0
  254. package/lib/_collection/card-rating-comment/card-rating-comment.module.d.ts +15 -0
  255. package/lib/_collection/sliders-dynamic/sliders-dynamic.component.d.ts +25 -0
  256. package/lib/_collection/sliders-dynamic/sliders-dynamic.model.d.ts +21 -0
  257. package/lib/_collection/sliders-dynamic/sliders-dynamic.module.d.ts +18 -0
  258. package/lib/_collection-api.d.ts +34 -0
  259. package/lib/_constants/widget-content.constants.d.ts +7 -0
  260. package/lib/_directives/tooltip.directive.d.ts +17 -0
  261. package/lib/_models/common.model.d.ts +3 -0
  262. package/lib/_models/error.model.d.ts +5 -0
  263. package/lib/_pipes/highlight.pipe.d.ts +10 -0
  264. package/lib/_services/rating.service.d.ts +18 -0
  265. package/lib/_services/samuhik-charcha.service.d.ts +13 -0
  266. package/lib/_services/viewer-route-util.d.ts +8 -0
  267. package/lib/_services/widget-content.model.d.ts +521 -0
  268. package/lib/_services/widget-content.service.d.ts +101 -0
  269. package/lib/_shared/translate-loader.factory.d.ts +7 -0
  270. package/lib/app-toc-lib.module.d.ts +89 -0
  271. package/lib/collection.config.d.ts +159 -0
  272. package/lib/components/app-toc-analytics-tiles/app-toc-analytics-tiles.component.d.ts +17 -0
  273. package/lib/components/app-toc-banner/app-toc-banner.component.d.ts +225 -0
  274. package/lib/components/app-toc-cios-home/app-toc-cios-home.component.d.ts +82 -0
  275. package/lib/components/app-toc-cios-home/consent-dialog.component.d.ts +22 -0
  276. package/lib/components/app-toc-cohorts/app-toc-cohorts.component.d.ts +31 -0
  277. package/lib/components/app-toc-content-card/app-toc-content-card.component.d.ts +47 -0
  278. package/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.d.ts +14 -0
  279. package/lib/components/app-toc-discussion/app-toc-discussion.component.d.ts +21 -0
  280. package/lib/components/app-toc-home/app-toc-home.component.d.ts +315 -0
  281. package/lib/components/app-toc-home-v2/app-toc-home-v2.component.d.ts +417 -0
  282. package/lib/components/app-toc-overview/app-toc-overview.component.d.ts +47 -0
  283. package/lib/components/app-toc-session-card/app-toc-session-card.component.d.ts +22 -0
  284. package/lib/components/app-toc-sessions/app-toc-sessions.component.d.ts +14 -0
  285. package/lib/components/app-toc-single-page/app-toc-single-page.component.d.ts +149 -0
  286. package/lib/components/completion-survey-form/completion-survey-form.component.d.ts +42 -0
  287. package/lib/components/create-batch-dialog/create-batch-dialog.component.d.ts +27 -0
  288. package/lib/components/enroll-language-dialogue/enroll-language-dialogue.component.d.ts +15 -0
  289. package/lib/components/enroll-profile-form/enroll-profile-form.component.d.ts +195 -0
  290. package/lib/components/enroll-questionnaire/enroll-questionnaire.component.d.ts +44 -0
  291. package/lib/components/knowledge-artifact-details/knowledge-artifact-details.component.d.ts +54 -0
  292. package/lib/components/non-relevent-feedback-dialog/non-relevent-feedback-dialog.component.d.ts +18 -0
  293. package/lib/components/public-survey-form/public-survey-form.component.d.ts +44 -0
  294. package/lib/components/survey-form-question/survey-form-question.component.d.ts +20 -0
  295. package/lib/components/survey-form-section/survey-form-section.component.d.ts +13 -0
  296. package/lib/models/app-toc-analytics.model.d.ts +152 -0
  297. package/lib/models/app-toc.model.d.ts +84 -0
  298. package/lib/models/auto-complete.model.d.ts +27 -0
  299. package/lib/models/card-content.model.d.ts +19 -0
  300. package/lib/models/content-strip-with-tabs.model.d.ts +44 -0
  301. package/lib/models/discussion-forum.model.d.ts +40 -0
  302. package/lib/models/goal.model.d.ts +22 -0
  303. package/lib/models/meta-tag.model.d.ts +6 -0
  304. package/lib/models/playlist.model.d.ts +23 -0
  305. package/lib/models/profile-revamp.model.d.ts +14 -0
  306. package/lib/models/rating.model.d.ts +17 -0
  307. package/lib/models/user-profile.model.d.ts +37 -0
  308. package/lib/registration-toc-lib.config.d.ts +4 -0
  309. package/lib/resolvers/app-toc-cios-resolver.service.d.ts +12 -0
  310. package/lib/resolvers/app-toc-cios-user-enroll-resolver.service.d.ts +12 -0
  311. package/lib/resolvers/app-toc-content-read-resolver.service.d.ts +16 -0
  312. package/lib/resolvers/app-toc-ext-public-resolver.service.d.ts +12 -0
  313. package/lib/resolvers/app-toc-resolver.service.d.ts +16 -0
  314. package/lib/resolvers/config-resolver.service.d.ts +11 -0
  315. package/lib/resolvers/profile-resolver.service.d.ts +11 -0
  316. package/lib/resolvers/restricted-features-resolver.service.d.ts +11 -0
  317. package/lib/routes/app-toc-home/app-toc-home.component.d.ts +19 -0
  318. package/lib/routes/app-toc-home/app-toc-home.directive.d.ts +8 -0
  319. package/lib/routes/app-toc-home/app-toc-home.service.d.ts +8 -0
  320. package/lib/services/access-control.service.d.ts +29 -0
  321. package/lib/services/action.service.d.ts +9 -0
  322. package/lib/services/app-toc-v2.service.d.ts +17 -0
  323. package/lib/services/app-toc.service.d.ts +190 -0
  324. package/lib/services/certificate.service.d.ts +41 -0
  325. package/lib/services/discuss-utils.service.d.ts +33 -0
  326. package/lib/services/editor.service.d.ts +17 -0
  327. package/lib/services/load-check.service.d.ts +8 -0
  328. package/lib/services/loader.service.d.ts +16 -0
  329. package/lib/services/mobile-apps.service.d.ts +38 -0
  330. package/lib/services/netcore.service.d.ts +33 -0
  331. package/lib/services/nps-grid.service.d.ts +15 -0
  332. package/lib/services/otp.service.d.ts +20 -0
  333. package/lib/services/profile-v2.service.d.ts +20 -0
  334. package/lib/services/reset-ratings.service.d.ts +8 -0
  335. package/lib/services/resource-download-helper.service.d.ts +29 -0
  336. package/lib/services/root.service.d.ts +26 -0
  337. package/lib/services/timer.service.d.ts +9 -0
  338. package/lib/services/title-tag.service.d.ts +21 -0
  339. package/lib/services/user-profile.service.d.ts +24 -0
  340. package/lib/services/viewer-data.service.d.ts +62 -0
  341. package/lib/services/viewer-util.service.d.ts +76 -0
  342. package/lib/share-toc/share-toc/share-toc.component.d.ts +56 -0
  343. package/lib/share-toc/share-toc.module.d.ts +32 -0
  344. package/package.json +34 -0
  345. package/public-api.d.ts +64 -0
  346. package/sunbird-cb-toc-0.0.1-mauritius.tgz +0 -0
@@ -0,0 +1,258 @@
1
+ //#region (imports)
2
+ import { Component, Inject } from '@angular/core';
3
+ import { MAT_LEGACY_DIALOG_DATA } from '@angular/material/legacy-dialog';
4
+ import { Validators } from '@angular/forms';
5
+ import * as _ from 'lodash';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/material/legacy-snack-bar";
8
+ import * as i2 from "@angular/material/legacy-dialog";
9
+ import * as i3 from "@angular/forms";
10
+ import * as i4 from "../../services/app-toc.service";
11
+ import * as i5 from "@ngx-translate/core";
12
+ import * as i6 from "@angular/common";
13
+ import * as i7 from "@angular/material/icon";
14
+ import * as i8 from "@angular/material/legacy-button";
15
+ import * as i9 from "@angular/material/legacy-progress-spinner";
16
+ import * as i10 from "../survey-form-question/survey-form-question.component";
17
+ import * as i11 from "../survey-form-section/survey-form-section.component";
18
+ //#endregion (imports)
19
+ const EMAIL_PATTERN = /^[a-zA-Z0-9]+[a-zA-Z0-9._-]*[a-zA-Z0-9]+@[a-zA-Z0-9]+([-a-zA-Z0-9]*[a-zA-Z0-9]+)?(\.[a-zA-Z0-9-]+)*\.[a-zA-Z]{2,4}$/;
20
+ const MOBILE_PATTERN = /^[0]?[6789]\d{9}$/;
21
+ export class PublicSurveyFormComponent {
22
+ //#endregion (properties)
23
+ //#region (constructor)
24
+ constructor(snackBar, dialogRef, data, fb, appTocSvc, translate) {
25
+ this.snackBar = snackBar;
26
+ this.dialogRef = dialogRef;
27
+ this.data = data;
28
+ this.fb = fb;
29
+ this.appTocSvc = appTocSvc;
30
+ this.translate = translate;
31
+ //#region (properties)
32
+ this.rating = 0;
33
+ this.stars = Array(5).fill(0);
34
+ this.otherFieldType = [];
35
+ this.selectedOption = false;
36
+ this.surveyId = '';
37
+ this.parentalFields = [];
38
+ this.childFields = [];
39
+ this.surveyFormIsValid = true;
40
+ this.addLoader = 0;
41
+ this.forPreview = false;
42
+ this.surveyId = data.surveyId;
43
+ this.forPreview = data.forPreview;
44
+ if (localStorage.getItem('websiteLanguage')) {
45
+ this.translate.setDefaultLang('en');
46
+ const lang = localStorage.getItem('websiteLanguage');
47
+ this.translate.use(lang);
48
+ }
49
+ }
50
+ //#endregion (constructor)
51
+ //#region (initialization)
52
+ ngOnInit() {
53
+ this.getSurveyFormData();
54
+ }
55
+ getSurveyFormData() {
56
+ this.addLoader = this.addLoader + 1;
57
+ this.appTocSvc.getFormByIdPublic(this.surveyId).subscribe((result) => {
58
+ this.addLoader = this.addLoader - 1;
59
+ this.formDetails = {
60
+ title: _.get(result, 'result.response.title', ''),
61
+ fields: _.get(result, 'result.response.fields', []),
62
+ contextType: _.get(result, 'result.response.contextType', 'form'),
63
+ };
64
+ this.buildForm();
65
+ }, (error) => {
66
+ if (error) {
67
+ this.addLoader = this.addLoader - 1;
68
+ }
69
+ });
70
+ }
71
+ buildForm() {
72
+ if (this.formDetails) {
73
+ this.surveyForm = this.fb.group({
74
+ fields: this.fb.array([])
75
+ });
76
+ const questionsArray = this.questionsArray;
77
+ if (this.formDetails.fields) {
78
+ this.formDetails.fields.forEach((field) => {
79
+ if (field.fieldType !== 'separator' && field.fieldType !== 'heading') {
80
+ const validatorsArray = [];
81
+ if (field.isRequired) {
82
+ validatorsArray.push(Validators.required);
83
+ }
84
+ switch (field.fieldType) {
85
+ case 'phone number':
86
+ validatorsArray.push(Validators.pattern(MOBILE_PATTERN));
87
+ validatorsArray.push(Validators.minLength(10));
88
+ validatorsArray.push(Validators.maxLength(10));
89
+ break;
90
+ case 'email':
91
+ validatorsArray.push(Validators.pattern(EMAIL_PATTERN));
92
+ break;
93
+ case 'numeric':
94
+ break;
95
+ }
96
+ const questionGroup = this.fb.group({
97
+ question: [field.name],
98
+ parentId: [field.parentId],
99
+ questionIndex: [questionsArray.length],
100
+ fieldType: [field.fieldType],
101
+ answer: ['', validatorsArray],
102
+ isNA: [false],
103
+ questionId: [field.id]
104
+ });
105
+ field['controlIndex'] = questionsArray.length;
106
+ field['validatorsArray'] = validatorsArray;
107
+ questionsArray.push(questionGroup);
108
+ if (validatorsArray.length) {
109
+ this.surveyFormIsValid = false;
110
+ }
111
+ }
112
+ if (field.parentId) {
113
+ this.childFields.push(field);
114
+ }
115
+ else {
116
+ this.parentalFields.push(field);
117
+ }
118
+ });
119
+ }
120
+ }
121
+ }
122
+ get questionsArray() {
123
+ if (this.surveyForm && this.surveyForm.controls.fields) {
124
+ return this.surveyForm.controls.fields;
125
+ }
126
+ return this.fb.array([]);
127
+ }
128
+ //#endregion (initialization)
129
+ //#region (UI Interactions)
130
+ getChildQuestionsFormArray(sectionId) {
131
+ if (this.surveyForm && this.surveyForm.controls.fields) {
132
+ const questionsArray = this.questionsArray;
133
+ const childQuestionsArray = questionsArray.controls.filter((question) => {
134
+ return question.value && question.value.parentId === sectionId;
135
+ });
136
+ if (childQuestionsArray.length > 0) {
137
+ return this.fb.array(childQuestionsArray);
138
+ }
139
+ }
140
+ return this.fb.array([]);
141
+ }
142
+ getChildFields(sectionId) {
143
+ let sectionChilds = [];
144
+ if (this.childFields) {
145
+ sectionChilds = this.childFields.filter((field) => field.parentId === sectionId);
146
+ }
147
+ return sectionChilds;
148
+ }
149
+ getQuestionControl(index) {
150
+ if (this.questionsArray.controls[index]) {
151
+ return this.questionsArray.controls[index];
152
+ }
153
+ return this.fb.group({});
154
+ }
155
+ getEmailFromsurvey() {
156
+ const answerObj = this.dataObject.find((a) => a.question && a.question.toLowerCase() === 'email');
157
+ return answerObj ? answerObj.answer : '';
158
+ }
159
+ submitForm() {
160
+ console.log('dataObject', this.dataObject);
161
+ this.surveyForm.markAllAsTouched();
162
+ this.surveyForm.updateValueAndValidity();
163
+ if (this.surveyFormIsValid) {
164
+ const formBody = {
165
+ formId: this.surveyId,
166
+ version: 4,
167
+ status: 'SUBMITTED',
168
+ responses: this.dataObject,
169
+ contextId: _.get(this.data, 'courseId'),
170
+ contextType: _.get(this.formDetails, 'contextType', ''),
171
+ contextName: _.get(this.data, 'courseName', ''),
172
+ emailId: this.getEmailFromsurvey(),
173
+ contextOrgId: _.get(this.data, 'contextOrgId'),
174
+ };
175
+ // Remove existing survey data from local storage if present
176
+ const storageKey = `survey_${this.surveyId}_${_.get(this.data, 'courseId')}`;
177
+ if (localStorage.getItem(storageKey)) {
178
+ localStorage.removeItem(storageKey);
179
+ }
180
+ // Store fresh dataObject in local storage
181
+ localStorage.setItem(storageKey, JSON.stringify(this.dataObject));
182
+ this.addLoader = this.addLoader + 1;
183
+ this.appTocSvc.submitFormPublic(formBody).subscribe({
184
+ next: res => {
185
+ this.addLoader = this.addLoader - 1;
186
+ if (_.get(res, 'params.status') === 'success') {
187
+ this.openSnackbar('Form is submitted successfully');
188
+ this.dialogRef.close(true);
189
+ }
190
+ else {
191
+ this.openSnackbar(_.get(res, 'errorMessage', 'Something went wrong please try again'));
192
+ }
193
+ },
194
+ error: (error) => {
195
+ this.addLoader = this.addLoader - 1;
196
+ if (error) {
197
+ this.openSnackbar('Something went wrong please try again');
198
+ }
199
+ }
200
+ });
201
+ }
202
+ }
203
+ //#region (data processing)
204
+ get dataObject() {
205
+ const dataObject = [];
206
+ const fields = _.get(this.surveyForm, 'value.fields', []);
207
+ if (fields) {
208
+ fields.forEach((field) => {
209
+ let value = field.isNA ? 'N/A' : field.answer;
210
+ if (!field.isNA && field.fieldType === 'date' && value) {
211
+ const formattedYear = value.getFullYear();
212
+ const formattedMonth = String(value.getMonth() + 1).padStart(2, '0');
213
+ const formattedDay = String(value.getDate()).padStart(2, '0');
214
+ value = `${formattedYear}-${formattedMonth}-${formattedDay}`;
215
+ }
216
+ dataObject.push({
217
+ questionId: field.questionId,
218
+ question: field.question,
219
+ answer: value,
220
+ answerType: field.fieldType
221
+ });
222
+ });
223
+ }
224
+ return dataObject;
225
+ }
226
+ closeDialog() {
227
+ this.dialogRef.close(false);
228
+ }
229
+ //#endregion (data processing)
230
+ updateQuestionValues(event) {
231
+ this.questionsArray.value[event.questionIndex] = event;
232
+ this.updateSurveyFormValidity();
233
+ }
234
+ updateSurveyFormValidity() {
235
+ this.surveyFormIsValid = true;
236
+ this.questionsArray.controls.forEach((form) => {
237
+ if (!form.controls.answer.valid) {
238
+ this.surveyFormIsValid = false;
239
+ }
240
+ });
241
+ }
242
+ //#endregion (UI Interactions)
243
+ openSnackbar(primaryMsg, duration = 5000) {
244
+ this.snackBar.open(primaryMsg, 'X', {
245
+ duration,
246
+ });
247
+ }
248
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PublicSurveyFormComponent, deps: [{ token: i1.MatLegacySnackBar }, { token: i2.MatLegacyDialogRef }, { token: MAT_LEGACY_DIALOG_DATA }, { token: i3.FormBuilder }, { token: i4.AppTocService }, { token: i5.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
249
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PublicSurveyFormComponent, selector: "ws-app-public-survey-form", ngImport: i0, template: "<div class=\"preview-container\">\n <div class=\"form-header flex\">\n <div class=\"flex flex-1 justify-start items-center\">\n <div>{{'apptoc.AGKCaseStudySurveyForm' | translate}} </div>\n </div>\n <button mat-icon-button class=\"close-button\" [mat-dialog-close]=\"false\">\n <mat-icon class=\"close-icon\" color=\"warn\">close</mat-icon>\n </button>\n </div>\n <div class=\"form-content\">\n <ng-container *ngIf=\"surveyForm\">\n <form [formGroup]=\"surveyForm\">\n <ng-container *ngFor=\"let parentField of parentalFields\">\n <ng-container [ngSwitch]=\"parentField.fieldType\">\n <ng-container *ngSwitchCase=\"'heading'\">\n <ws-app-survey-form-section [childFields]=\"getChildFields(parentField.sectionId)\"\n [sectionField]=\"parentField\"\n [childQuestionsFormArray]=\"getChildQuestionsFormArray(parentField.sectionId)\"\n (questionValues)=\"updateQuestionValues($event)\"></ws-app-survey-form-section>\n </ng-container>\n <ng-container *ngSwitchCase=\"'separator'\">\n <hr class=\"opacity-50 elment-separator\">\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ws-app-survey-form-question [fieldDetails]=\"parentField\"\n [questionForm]=\"getQuestionControl(parentField.controlIndex)\"\n (questionValues)=\"updateQuestionValues($event)\"></ws-app-survey-form-question>\n </ng-container>\n </ng-container>\n </ng-container>\n <div class=\"flex justify-end m-4\">\n <!-- <button mat-button class=\"do-later-btn\" (click)=\"closeDialog()\">{{'apptoc.doItLater' | translate}}</button> -->\n <button mat-button class=\"submit-btn\" [disabled]=\"!surveyFormIsValid || forPreview\" (click)=\"submitForm()\">{{'apptoc.submit'\n | translate}}</button>\n </div>\n </form>\n </ng-container>\n </div>\n</div>\n\n<ng-container *ngIf=\"addLoader > 0\">\n <div class=\"text-center my-2 loader flex justify-center items-center\">\n <mat-spinner class=\"inline-block\"></mat-spinner>\n </div>\n</ng-container>", styles: [".preview-container{max-height:700px}.preview-container .form-content{background:#f4f8ff}.preview-container .form-header{font-family:Montserrat;font-size:24px;font-weight:600;line-height:29.26px;text-align:center;text-underline-position:from-font;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;padding:15px 24px;border-bottom:1px solid #c3c3c3}.preview-container .q-element{padding:16px;background:#fff;border-radius:8px}.preview-container .form-content{padding:15px 24px}.preview-container .elment-separator{margin:16px 0}.preview-container .feedback-text{color:#1b4ca1;font:400 16px/20px Lato}.do-later-btn{height:40px;color:#1b4ca1!important;background-color:#fff!important;border-radius:20px;border:1px solid #1b4ca1!important;margin-right:10px}.submit-btn{height:40px;color:#fff!important;background-color:#1b4ca1!important;border-radius:20px}.submit-btn:disabled{opacity:.6!important}.loader{position:absolute;top:0;left:0;z-index:1000;height:100vh;width:100vw;background-color:#80808045}.info-icon{color:#d13924;font-size:20px;height:20px;width:26px;margin-top:2px}.close-button{height:30px;width:30px;line-height:24px;background:#00000040!important;color:#fff!important;align-self:end;margin-right:-24px}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i6.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i9.MatLegacyProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i2.MatLegacyDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: i10.SurveyFormQuestionComponent, selector: "ws-app-survey-form-question", inputs: ["questionForm", "fieldDetails"], outputs: ["questionValues"] }, { kind: "component", type: i11.SurveyFormSectionComponent, selector: "ws-app-survey-form-section", inputs: ["childQuestionsFormArray", "childFields", "sectionField"], outputs: ["questionValues"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
250
+ }
251
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PublicSurveyFormComponent, decorators: [{
252
+ type: Component,
253
+ args: [{ selector: 'ws-app-public-survey-form', template: "<div class=\"preview-container\">\n <div class=\"form-header flex\">\n <div class=\"flex flex-1 justify-start items-center\">\n <div>{{'apptoc.AGKCaseStudySurveyForm' | translate}} </div>\n </div>\n <button mat-icon-button class=\"close-button\" [mat-dialog-close]=\"false\">\n <mat-icon class=\"close-icon\" color=\"warn\">close</mat-icon>\n </button>\n </div>\n <div class=\"form-content\">\n <ng-container *ngIf=\"surveyForm\">\n <form [formGroup]=\"surveyForm\">\n <ng-container *ngFor=\"let parentField of parentalFields\">\n <ng-container [ngSwitch]=\"parentField.fieldType\">\n <ng-container *ngSwitchCase=\"'heading'\">\n <ws-app-survey-form-section [childFields]=\"getChildFields(parentField.sectionId)\"\n [sectionField]=\"parentField\"\n [childQuestionsFormArray]=\"getChildQuestionsFormArray(parentField.sectionId)\"\n (questionValues)=\"updateQuestionValues($event)\"></ws-app-survey-form-section>\n </ng-container>\n <ng-container *ngSwitchCase=\"'separator'\">\n <hr class=\"opacity-50 elment-separator\">\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ws-app-survey-form-question [fieldDetails]=\"parentField\"\n [questionForm]=\"getQuestionControl(parentField.controlIndex)\"\n (questionValues)=\"updateQuestionValues($event)\"></ws-app-survey-form-question>\n </ng-container>\n </ng-container>\n </ng-container>\n <div class=\"flex justify-end m-4\">\n <!-- <button mat-button class=\"do-later-btn\" (click)=\"closeDialog()\">{{'apptoc.doItLater' | translate}}</button> -->\n <button mat-button class=\"submit-btn\" [disabled]=\"!surveyFormIsValid || forPreview\" (click)=\"submitForm()\">{{'apptoc.submit'\n | translate}}</button>\n </div>\n </form>\n </ng-container>\n </div>\n</div>\n\n<ng-container *ngIf=\"addLoader > 0\">\n <div class=\"text-center my-2 loader flex justify-center items-center\">\n <mat-spinner class=\"inline-block\"></mat-spinner>\n </div>\n</ng-container>", styles: [".preview-container{max-height:700px}.preview-container .form-content{background:#f4f8ff}.preview-container .form-header{font-family:Montserrat;font-size:24px;font-weight:600;line-height:29.26px;text-align:center;text-underline-position:from-font;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;padding:15px 24px;border-bottom:1px solid #c3c3c3}.preview-container .q-element{padding:16px;background:#fff;border-radius:8px}.preview-container .form-content{padding:15px 24px}.preview-container .elment-separator{margin:16px 0}.preview-container .feedback-text{color:#1b4ca1;font:400 16px/20px Lato}.do-later-btn{height:40px;color:#1b4ca1!important;background-color:#fff!important;border-radius:20px;border:1px solid #1b4ca1!important;margin-right:10px}.submit-btn{height:40px;color:#fff!important;background-color:#1b4ca1!important;border-radius:20px}.submit-btn:disabled{opacity:.6!important}.loader{position:absolute;top:0;left:0;z-index:1000;height:100vh;width:100vw;background-color:#80808045}.info-icon{color:#d13924;font-size:20px;height:20px;width:26px;margin-top:2px}.close-button{height:30px;width:30px;line-height:24px;background:#00000040!important;color:#fff!important;align-self:end;margin-right:-24px}\n"] }]
254
+ }], ctorParameters: function () { return [{ type: i1.MatLegacySnackBar }, { type: i2.MatLegacyDialogRef }, { type: undefined, decorators: [{
255
+ type: Inject,
256
+ args: [MAT_LEGACY_DIALOG_DATA]
257
+ }] }, { type: i3.FormBuilder }, { type: i4.AppTocService }, { type: i5.TranslateService }]; } });
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLXN1cnZleS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi90b2Mvc3JjL2xpYi9jb21wb25lbnRzL3B1YmxpYy1zdXJ2ZXktZm9ybS9wdWJsaWMtc3VydmV5LWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3RvYy9zcmMvbGliL2NvbXBvbmVudHMvcHVibGljLXN1cnZleS1mb3JtL3B1YmxpYy1zdXJ2ZXktZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxtQkFBbUI7QUFDbkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUE7QUFFekQsT0FBTyxFQUFFLHNCQUFzQixFQUFzQixNQUFNLGlDQUFpQyxDQUFBO0FBQzVGLE9BQU8sRUFBcUMsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDOUUsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUE7Ozs7Ozs7Ozs7Ozs7QUFJM0Isc0JBQXNCO0FBRXRCLE1BQU0sYUFBYSxHQUFHLHFIQUFxSCxDQUFBO0FBQzNJLE1BQU0sY0FBYyxHQUFHLG1CQUFtQixDQUFBO0FBTzFDLE1BQU0sT0FBTyx5QkFBeUI7SUFlcEMseUJBQXlCO0lBRXpCLHVCQUF1QjtJQUN2QixZQUNVLFFBQTJCLEVBQzVCLFNBQXdELEVBQ3hCLElBQVMsRUFDeEMsRUFBZSxFQUNmLFNBQXdCLEVBQ3hCLFNBQTJCO1FBTDNCLGFBQVEsR0FBUixRQUFRLENBQW1CO1FBQzVCLGNBQVMsR0FBVCxTQUFTLENBQStDO1FBQ3hCLFNBQUksR0FBSixJQUFJLENBQUs7UUFDeEMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLGNBQVMsR0FBVCxTQUFTLENBQWU7UUFDeEIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7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RCx3QkFBd0I7UUFDdEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQTtRQUM3QixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtZQUNqRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO2dCQUMvQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFBO2FBQy9CO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBQ0QsOEJBQThCO0lBRXRCLFlBQVksQ0FBQyxVQUFrQixFQUFFLFdBQW1CLElBQUk7UUFDOUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRTtZQUNsQyxRQUFRO1NBQ1QsQ0FBQyxDQUFBO0lBQ0osQ0FBQzsrR0E1UFUseUJBQXlCLHFGQXFCMUIsc0JBQXNCO21HQXJCckIseUJBQXlCLGlFQ25CdEMsbXFFQTRDZTs7NEZEekJGLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSwyQkFBMkI7OzBCQXlCbEMsTUFBTTsyQkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gKGltcG9ydHMpXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1hdExlZ2FjeVNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LXNuYWNrLWJhcidcbmltcG9ydCB7IE1BVF9MRUdBQ1lfRElBTE9HX0RBVEEsIE1hdExlZ2FjeURpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1kaWFsb2cnXG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJ1xuaW1wb3J0IHsgQXBwVG9jU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FwcC10b2Muc2VydmljZSdcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbi8vI2VuZHJlZ2lvbiAoaW1wb3J0cylcblxuY29uc3QgRU1BSUxfUEFUVEVSTiA9IC9eW2EtekEtWjAtOV0rW2EtekEtWjAtOS5fLV0qW2EtekEtWjAtOV0rQFthLXpBLVowLTldKyhbLWEtekEtWjAtOV0qW2EtekEtWjAtOV0rKT8oXFwuW2EtekEtWjAtOS1dKykqXFwuW2EtekEtWl17Miw0fSQvXG5jb25zdCBNT0JJTEVfUEFUVEVSTiA9IC9eWzBdP1s2Nzg5XVxcZHs5fSQvXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dzLWFwcC1wdWJsaWMtc3VydmV5LWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vcHVibGljLXN1cnZleS1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHVibGljLXN1cnZleS1mb3JtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUHVibGljU3VydmV5Rm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgLy8jcmVnaW9uIChwcm9wZXJ0aWVzKVxuICByYXRpbmcgPSAwXG4gIHN0YXJzID0gQXJyYXkoNSkuZmlsbCgwKVxuICBvdGhlckZpZWxkVHlwZTogYW55ID0gW11cbiAgc2VsZWN0ZWRPcHRpb24gPSBmYWxzZVxuICBmb3JtRGV0YWlsczogYW55XG4gIHN1cnZleUlkID0gJydcbiAgc3VydmV5Rm9ybSE6IEZvcm1Hcm91cFxuICBwYXJlbnRhbEZpZWxkczogYW55W10gPSBbXVxuICBjaGlsZEZpZWxkczogYW55W10gPSBbXVxuICBzdXJ2ZXlGb3JtSXNWYWxpZCA9IHRydWVcbiAgYWRkTG9hZGVyID0gMFxuICBmb3JQcmV2aWV3ID0gZmFsc2VcbiAgLy8jZW5kcmVnaW9uIChwcm9wZXJ0aWVzKVxuXG4gIC8vI3JlZ2lvbiAoY29uc3RydWN0b3IpXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc25hY2tCYXI6IE1hdExlZ2FjeVNuYWNrQmFyLFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdExlZ2FjeURpYWxvZ1JlZjxQdWJsaWNTdXJ2ZXlGb3JtQ29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9MRUdBQ1lfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnksXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBhcHBUb2NTdmM6IEFwcFRvY1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG5cbiAgKSB7XG4gICAgdGhpcy5zdXJ2ZXlJZCA9IGRhdGEuc3VydmV5SWRcbiAgICB0aGlzLmZvclByZXZpZXcgPSBkYXRhLmZvclByZXZpZXdcbiAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3dlYnNpdGVMYW5ndWFnZScpKSB7XG4gICAgICB0aGlzLnRyYW5zbGF0ZS5zZXREZWZhdWx0TGFuZygnZW4nKVxuICAgICAgY29uc3QgbGFuZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd3ZWJzaXRlTGFuZ3VhZ2UnKSFcbiAgICAgIHRoaXMudHJhbnNsYXRlLnVzZShsYW5nKVxuICAgIH1cbiAgfVxuICAvLyNlbmRyZWdpb24gKGNvbnN0cnVjdG9yKVxuXG5cbiAgLy8jcmVnaW9uIChpbml0aWFsaXphdGlvbilcbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5nZXRTdXJ2ZXlGb3JtRGF0YSgpXG4gIH1cblxuICBnZXRTdXJ2ZXlGb3JtRGF0YSgpIHtcbiAgICB0aGlzLmFkZExvYWRlciA9IHRoaXMuYWRkTG9hZGVyICsgMVxuICAgIHRoaXMuYXBwVG9jU3ZjLmdldEZvcm1CeUlkUHVibGljKHRoaXMuc3VydmV5SWQpLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgIHRoaXMuYWRkTG9hZGVyID0gdGhpcy5hZGRMb2FkZXIgLSAxXG4gICAgICB0aGlzLmZvcm1EZXRhaWxzID0ge1xuICAgICAgICB0aXRsZTogXy5nZXQocmVzdWx0LCAncmVzdWx0LnJlc3BvbnNlLnRpdGxlJywgJycpLFxuICAgICAgICBmaWVsZHM6IF8uZ2V0KHJlc3VsdCwgJ3Jlc3VsdC5yZXNwb25zZS5maWVsZHMnLCBbXSksXG4gICAgICAgIGNvbnRleHRUeXBlOiBfLmdldChyZXN1bHQsICdyZXN1bHQucmVzcG9uc2UuY29udGV4dFR5cGUnLCAnZm9ybScpLFxuICAgICAgfVxuICAgICAgdGhpcy5idWlsZEZvcm0oKVxuICAgIH0sIChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgIGlmIChlcnJvcikge1xuICAgICAgICB0aGlzLmFkZExvYWRlciA9IHRoaXMuYWRkTG9hZGVyIC0gMVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBidWlsZEZvcm0oKSB7XG4gICAgaWYgKHRoaXMuZm9ybURldGFpbHMpIHtcbiAgICAgIHRoaXMuc3VydmV5Rm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICBmaWVsZHM6IHRoaXMuZmIuYXJyYXkoW10pXG4gICAgICB9KVxuICAgICAgY29uc3QgcXVlc3Rpb25zQXJyYXkgPSB0aGlzLnF1ZXN0aW9uc0FycmF5XG4gICAgICBpZiAodGhpcy5mb3JtRGV0YWlscy5maWVsZHMpIHtcbiAgICAgICAgdGhpcy5mb3JtRGV0YWlscy5maWVsZHMuZm9yRWFjaCgoZmllbGQ6IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChmaWVsZC5maWVsZFR5cGUgIT09ICdzZXBhcmF0b3InICYmIGZpZWxkLmZpZWxkVHlwZSAhPT0gJ2hlYWRpbmcnKSB7XG4gICAgICAgICAgICBjb25zdCB2YWxpZGF0b3JzQXJyYXk6IGFueSA9IFtdXG4gICAgICAgICAgICBpZiAoZmllbGQuaXNSZXF1aXJlZCkge1xuICAgICAgICAgICAgICB2YWxpZGF0b3JzQXJyYXkucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzd2l0Y2ggKGZpZWxkLmZpZWxkVHlwZSkge1xuICAgICAgICAgICAgICBjYXNlICdwaG9uZSBudW1iZXInOlxuICAgICAgICAgICAgICAgIHZhbGlkYXRvcnNBcnJheS5wdXNoKFZhbGlkYXRvcnMucGF0dGVybihNT0JJTEVfUEFUVEVSTikpXG4gICAgICAgICAgICAgICAgdmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5taW5MZW5ndGgoMTApKVxuICAgICAgICAgICAgICAgIHZhbGlkYXRvcnNBcnJheS5wdXNoKFZhbGlkYXRvcnMubWF4TGVuZ3RoKDEwKSlcbiAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgICBjYXNlICdlbWFpbCc6XG4gICAgICAgICAgICAgICAgdmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5wYXR0ZXJuKEVNQUlMX1BBVFRFUk4pKVxuICAgICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICAgIGNhc2UgJ251bWVyaWMnOlxuICAgICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHF1ZXN0aW9uR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgICAgcXVlc3Rpb246IFtmaWVsZC5uYW1lXSxcbiAgICAgICAgICAgICAgcGFyZW50SWQ6IFtmaWVsZC5wYXJlbnRJZF0sXG4gICAgICAgICAgICAgIHF1ZXN0aW9uSW5kZXg6IFtxdWVzdGlvbnNBcnJheS5sZW5ndGhdLFxuICAgICAgICAgICAgICBmaWVsZFR5cGU6IFtmaWVsZC5maWVsZFR5cGVdLFxuICAgICAgICAgICAgICBhbnN3ZXI6IFsnJywgdmFsaWRhdG9yc0FycmF5XSxcbiAgICAgICAgICAgICAgaXNOQTogW2ZhbHNlXSxcbiAgICAgICAgICAgICAgcXVlc3Rpb25JZDogW2ZpZWxkLmlkXVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIGZpZWxkWydjb250cm9sSW5kZXgnXSA9IHF1ZXN0aW9uc0FycmF5Lmxlbmd0aFxuICAgICAgICAgICAgZmllbGRbJ3ZhbGlkYXRvcnNBcnJheSddID0gdmFsaWRhdG9yc0FycmF5XG4gICAgICAgICAgICBxdWVzdGlvbnNBcnJheS5wdXNoKHF1ZXN0aW9uR3JvdXApXG4gICAgICAgICAgICBpZiAodmFsaWRhdG9yc0FycmF5Lmxlbmd0aCkge1xuICAgICAgICAgICAgICB0aGlzLnN1cnZleUZvcm1Jc1ZhbGlkID0gZmFsc2VcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmllbGQucGFyZW50SWQpIHtcbiAgICAgICAgICAgIHRoaXMuY2hpbGRGaWVsZHMucHVzaChmaWVsZClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRhbEZpZWxkcy5wdXNoKGZpZWxkKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgcXVlc3Rpb25zQXJyYXkoKTogRm9ybUFycmF5IHtcbiAgICBpZiAodGhpcy5zdXJ2ZXlGb3JtICYmIHRoaXMuc3VydmV5Rm9ybS5jb250cm9scy5maWVsZHMpIHtcbiAgICAgIHJldHVybiB0aGlzLnN1cnZleUZvcm0uY29udHJvbHMuZmllbGRzIGFzIEZvcm1BcnJheVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5mYi5hcnJheShbXSlcbiAgfVxuICAvLyNlbmRyZWdpb24gKGluaXRpYWxpemF0aW9uKVxuXG4gIC8vI3JlZ2lvbiAoVUkgSW50ZXJhY3Rpb25zKVxuICBnZXRDaGlsZFF1ZXN0aW9uc0Zvcm1BcnJheShzZWN0aW9uSWQ6IHN0cmluZyk6IEZvcm1BcnJheSB7XG4gICAgaWYgKHRoaXMuc3VydmV5Rm9ybSAmJiB0aGlzLnN1cnZleUZvcm0uY29udHJvbHMuZmllbGRzKSB7XG4gICAgICBjb25zdCBxdWVzdGlvbnNBcnJheSA9IHRoaXMucXVlc3Rpb25zQXJyYXlcbiAgICAgIGNvbnN0IGNoaWxkUXVlc3Rpb25zQXJyYXkgPSBxdWVzdGlvbnNBcnJheS5jb250cm9scy5maWx0ZXIoKHF1ZXN0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgcmV0dXJuIHF1ZXN0aW9uLnZhbHVlICYmIHF1ZXN0aW9uLnZhbHVlLnBhcmVudElkID09PSBzZWN0aW9uSWRcbiAgICAgIH0pXG5cbiAgICAgIGlmIChjaGlsZFF1ZXN0aW9uc0FycmF5Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmIuYXJyYXkoY2hpbGRRdWVzdGlvbnNBcnJheSlcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZmIuYXJyYXkoW10pIGFzIEZvcm1BcnJheVxuICB9XG5cbiAgZ2V0Q2hpbGRGaWVsZHMoc2VjdGlvbklkOiBzdHJpbmcpIHtcbiAgICBsZXQgc2VjdGlvbkNoaWxkczogYW55ID0gW11cbiAgICBpZiAodGhpcy5jaGlsZEZpZWxkcykge1xuICAgICAgc2VjdGlvbkNoaWxkcyA9IHRoaXMuY2hpbGRGaWVsZHMuZmlsdGVyKChmaWVsZDogYW55KSA9PiBmaWVsZC5wYXJlbnRJZCA9PT0gc2VjdGlvbklkKVxuICAgIH1cbiAgICByZXR1cm4gc2VjdGlvbkNoaWxkc1xuICB9XG5cbiAgZ2V0UXVlc3Rpb25Db250cm9sKGluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5xdWVzdGlvbnNBcnJheS5jb250cm9sc1tpbmRleF0pIHtcbiAgICAgIHJldHVybiB0aGlzLnF1ZXN0aW9uc0FycmF5LmNvbnRyb2xzW2luZGV4XVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5mYi5ncm91cCh7fSlcbiAgfVxuXG4gIGdldEVtYWlsRnJvbXN1cnZleSgpIHtcbiAgICBjb25zdCBhbnN3ZXJPYmogPSB0aGlzLmRhdGFPYmplY3QuZmluZCgoYTogYW55KSA9PiBhLnF1ZXN0aW9uICYmIGEucXVlc3Rpb24udG9Mb3dlckNhc2UoKSA9PT0gJ2VtYWlsJylcbiAgICByZXR1cm4gYW5zd2VyT2JqID8gYW5zd2VyT2JqLmFuc3dlciA6ICcnXG4gIH1cblxuICBzdWJtaXRGb3JtKCkge1xuICAgIGNvbnNvbGUubG9nKCdkYXRhT2JqZWN0JywgdGhpcy5kYXRhT2JqZWN0KVxuICAgIHRoaXMuc3VydmV5Rm9ybS5tYXJrQWxsQXNUb3VjaGVkKClcbiAgICB0aGlzLnN1cnZleUZvcm0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpXG4gICAgaWYgKHRoaXMuc3VydmV5Rm9ybUlzVmFsaWQpIHtcbiAgICAgIGNvbnN0IGZvcm1Cb2R5OiBhbnkgPSB7XG4gICAgICAgIGZvcm1JZDogdGhpcy5zdXJ2ZXlJZCxcbiAgICAgICAgdmVyc2lvbjogNCxcbiAgICAgICAgc3RhdHVzOiAnU1VCTUlUVEVEJyxcbiAgICAgICAgcmVzcG9uc2VzOiB0aGlzLmRhdGFPYmplY3QsXG4gICAgICAgIGNvbnRleHRJZDogXy5nZXQodGhpcy5kYXRhLCAnY291cnNlSWQnKSxcbiAgICAgICAgY29udGV4dFR5cGU6IF8uZ2V0KHRoaXMuZm9ybURldGFpbHMsICdjb250ZXh0VHlwZScsICcnKSxcbiAgICAgICAgY29udGV4dE5hbWU6IF8uZ2V0KHRoaXMuZGF0YSwgJ2NvdXJzZU5hbWUnLCAnJyksXG4gICAgICAgIGVtYWlsSWQ6IHRoaXMuZ2V0RW1haWxGcm9tc3VydmV5KCksXG4gICAgICAgIGNvbnRleHRPcmdJZDogXy5nZXQodGhpcy5kYXRhLCAnY29udGV4dE9yZ0lkJyksXG4gICAgICB9XG5cbiAgICAgIC8vIFJlbW92ZSBleGlzdGluZyBzdXJ2ZXkgZGF0YSBmcm9tIGxvY2FsIHN0b3JhZ2UgaWYgcHJlc2VudFxuICAgICAgY29uc3Qgc3RvcmFnZUtleSA9IGBzdXJ2ZXlfJHt0aGlzLnN1cnZleUlkfV8ke18uZ2V0KHRoaXMuZGF0YSwgJ2NvdXJzZUlkJyl9YFxuICAgICAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKHN0b3JhZ2VLZXkpKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHN0b3JhZ2VLZXkpXG4gICAgICB9XG5cbiAgICAgIC8vIFN0b3JlIGZyZXNoIGRhdGFPYmplY3QgaW4gbG9jYWwgc3RvcmFnZVxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oc3RvcmFnZUtleSwgSlNPTi5zdHJpbmdpZnkodGhpcy5kYXRhT2JqZWN0KSlcblxuICAgICAgdGhpcy5hZGRMb2FkZXIgPSB0aGlzLmFkZExvYWRlciArIDFcbiAgICAgIHRoaXMuYXBwVG9jU3ZjLnN1Ym1pdEZvcm1QdWJsaWMoZm9ybUJvZHkpLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IHJlcyA9PiB7XG4gICAgICAgICAgdGhpcy5hZGRMb2FkZXIgPSB0aGlzLmFkZExvYWRlciAtIDFcbiAgICAgICAgICBpZiAoXy5nZXQocmVzLCAncGFyYW1zLnN0YXR1cycpID09PSAnc3VjY2VzcycpIHtcbiAgICAgICAgICAgIHRoaXMub3BlblNuYWNrYmFyKCdGb3JtIGlzIHN1Ym1pdHRlZCBzdWNjZXNzZnVsbHknKVxuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodHJ1ZSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vcGVuU25hY2tiYXIoXy5nZXQocmVzLCAnZXJyb3JNZXNzYWdlJywgJ1NvbWV0aGluZyB3ZW50IHdyb25nIHBsZWFzZSB0cnkgYWdhaW4nKSlcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdGhpcy5hZGRMb2FkZXIgPSB0aGlzLmFkZExvYWRlciAtIDFcbiAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMub3BlblNuYWNrYmFyKCdTb21ldGhpbmcgd2VudCB3cm9uZyBwbGVhc2UgdHJ5IGFnYWluJylcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgLy8jcmVnaW9uIChkYXRhIHByb2Nlc3NpbmcpXG4gIGdldCBkYXRhT2JqZWN0KCk6IGFueSB7XG4gICAgY29uc3QgZGF0YU9iamVjdDogYW55ID0gW11cbiAgICBjb25zdCBmaWVsZHMgPSBfLmdldCh0aGlzLnN1cnZleUZvcm0sICd2YWx1ZS5maWVsZHMnLCBbXSlcbiAgICBpZiAoZmllbGRzKSB7XG4gICAgICBmaWVsZHMuZm9yRWFjaCgoZmllbGQ6IGFueSkgPT4ge1xuICAgICAgICBsZXQgdmFsdWUgPSBmaWVsZC5pc05BID8gJ04vQScgOiBmaWVsZC5hbnN3ZXJcbiAgICAgICAgaWYgKCFmaWVsZC5pc05BICYmIGZpZWxkLmZpZWxkVHlwZSA9PT0gJ2RhdGUnICYmIHZhbHVlKSB7XG4gICAgICAgICAgY29uc3QgZm9ybWF0dGVkWWVhciA9IHZhbHVlLmdldEZ1bGxZZWFyKClcbiAgICAgICAgICBjb25zdCBmb3JtYXR0ZWRNb250aCA9IFN0cmluZyh2YWx1ZS5nZXRNb250aCgpICsgMSkucGFkU3RhcnQoMiwgJzAnKVxuICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZERheSA9IFN0cmluZyh2YWx1ZS5nZXREYXRlKCkpLnBhZFN0YXJ0KDIsICcwJylcbiAgICAgICAgICB2YWx1ZSA9IGAke2Zvcm1hdHRlZFllYXJ9LSR7Zm9ybWF0dGVkTW9udGh9LSR7Zm9ybWF0dGVkRGF5fWBcbiAgICAgICAgfVxuICAgICAgICBkYXRhT2JqZWN0LnB1c2goe1xuICAgICAgICAgIHF1ZXN0aW9uSWQ6IGZpZWxkLnF1ZXN0aW9uSWQsXG4gICAgICAgICAgcXVlc3Rpb246IGZpZWxkLnF1ZXN0aW9uLFxuICAgICAgICAgIGFuc3dlcjogdmFsdWUsXG4gICAgICAgICAgYW5zd2VyVHlwZTogZmllbGQuZmllbGRUeXBlXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgIH1cbiAgICByZXR1cm4gZGF0YU9iamVjdFxuICB9XG5cbiAgY2xvc2VEaWFsb2coKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZmFsc2UpXG4gIH1cbiAgLy8jZW5kcmVnaW9uIChkYXRhIHByb2Nlc3NpbmcpXG5cbiAgdXBkYXRlUXVlc3Rpb25WYWx1ZXMoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMucXVlc3Rpb25zQXJyYXkudmFsdWVbZXZlbnQucXVlc3Rpb25JbmRleF0gPSBldmVudFxuICAgIHRoaXMudXBkYXRlU3VydmV5Rm9ybVZhbGlkaXR5KClcbiAgfVxuXG4gIHVwZGF0ZVN1cnZleUZvcm1WYWxpZGl0eSgpIHsgLy8gc29tZSB0aW1lcyByZWFjdGl2ZSBmb3JtcyBub3QgYWJhbGUgdG8gZGV0ZWN0IHZhbHVlIGNoYW5nZXMgYW5kIHZhbGlkaXR5IGluIGR5bmFtaWMgZm9ybUFycmF5XG4gICAgdGhpcy5zdXJ2ZXlGb3JtSXNWYWxpZCA9IHRydWVcbiAgICB0aGlzLnF1ZXN0aW9uc0FycmF5LmNvbnRyb2xzLmZvckVhY2goKGZvcm06IGFueSkgPT4ge1xuICAgICAgaWYgKCFmb3JtLmNvbnRyb2xzLmFuc3dlci52YWxpZCkge1xuICAgICAgICB0aGlzLnN1cnZleUZvcm1Jc1ZhbGlkID0gZmFsc2VcbiAgICAgIH1cbiAgICB9KVxuICB9XG4gIC8vI2VuZHJlZ2lvbiAoVUkgSW50ZXJhY3Rpb25zKVxuXG4gIHByaXZhdGUgb3BlblNuYWNrYmFyKHByaW1hcnlNc2c6IHN0cmluZywgZHVyYXRpb246IG51bWJlciA9IDUwMDApIHtcbiAgICB0aGlzLnNuYWNrQmFyLm9wZW4ocHJpbWFyeU1zZywgJ1gnLCB7XG4gICAgICBkdXJhdGlvbixcbiAgICB9KVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicHJldmlldy1jb250YWluZXJcIj5cbiAgPGRpdiBjbGFzcz1cImZvcm0taGVhZGVyIGZsZXhcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LTEganVzdGlmeS1zdGFydCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxkaXY+e3snYXBwdG9jLkFHS0Nhc2VTdHVkeVN1cnZleUZvcm0nIHwgdHJhbnNsYXRlfX0gPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gY2xhc3M9XCJjbG9zZS1idXR0b25cIiBbbWF0LWRpYWxvZy1jbG9zZV09XCJmYWxzZVwiPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY2xvc2UtaWNvblwiIGNvbG9yPVwid2FyblwiPmNsb3NlPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmb3JtLWNvbnRlbnRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3VydmV5Rm9ybVwiPlxuICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJzdXJ2ZXlGb3JtXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHBhcmVudEZpZWxkIG9mIHBhcmVudGFsRmllbGRzXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwicGFyZW50RmllbGQuZmllbGRUeXBlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInaGVhZGluZydcIj5cbiAgICAgICAgICAgICAgPHdzLWFwcC1zdXJ2ZXktZm9ybS1zZWN0aW9uIFtjaGlsZEZpZWxkc109XCJnZXRDaGlsZEZpZWxkcyhwYXJlbnRGaWVsZC5zZWN0aW9uSWQpXCJcbiAgICAgICAgICAgICAgICBbc2VjdGlvbkZpZWxkXT1cInBhcmVudEZpZWxkXCJcbiAgICAgICAgICAgICAgICBbY2hpbGRRdWVzdGlvbnNGb3JtQXJyYXldPVwiZ2V0Q2hpbGRRdWVzdGlvbnNGb3JtQXJyYXkocGFyZW50RmllbGQuc2VjdGlvbklkKVwiXG4gICAgICAgICAgICAgICAgKHF1ZXN0aW9uVmFsdWVzKT1cInVwZGF0ZVF1ZXN0aW9uVmFsdWVzKCRldmVudClcIj48L3dzLWFwcC1zdXJ2ZXktZm9ybS1zZWN0aW9uPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc2VwYXJhdG9yJ1wiPlxuICAgICAgICAgICAgICA8aHIgY2xhc3M9XCJvcGFjaXR5LTUwIGVsbWVudC1zZXBhcmF0b3JcIj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgICAgICAgICA8d3MtYXBwLXN1cnZleS1mb3JtLXF1ZXN0aW9uIFtmaWVsZERldGFpbHNdPVwicGFyZW50RmllbGRcIlxuICAgICAgICAgICAgICAgIFtxdWVzdGlvbkZvcm1dPVwiZ2V0UXVlc3Rpb25Db250cm9sKHBhcmVudEZpZWxkLmNvbnRyb2xJbmRleClcIlxuICAgICAgICAgICAgICAgIChxdWVzdGlvblZhbHVlcyk9XCJ1cGRhdGVRdWVzdGlvblZhbHVlcygkZXZlbnQpXCI+PC93cy1hcHAtc3VydmV5LWZvcm0tcXVlc3Rpb24+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktZW5kIG0tNFwiPlxuICAgICAgICAgIDwhLS0gPGJ1dHRvbiBtYXQtYnV0dG9uIGNsYXNzPVwiZG8tbGF0ZXItYnRuXCIgKGNsaWNrKT1cImNsb3NlRGlhbG9nKClcIj57eydhcHB0b2MuZG9JdExhdGVyJyB8IHRyYW5zbGF0ZX19PC9idXR0b24+IC0tPlxuICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjbGFzcz1cInN1Ym1pdC1idG5cIiBbZGlzYWJsZWRdPVwiIXN1cnZleUZvcm1Jc1ZhbGlkIHx8IGZvclByZXZpZXdcIiAoY2xpY2spPVwic3VibWl0Rm9ybSgpXCI+e3snYXBwdG9jLnN1Ym1pdCdcbiAgICAgICAgICAgIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Zvcm0+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJhZGRMb2FkZXIgPiAwXCI+XG4gIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBteS0yIGxvYWRlciBmbGV4IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlclwiPlxuICAgIDxtYXQtc3Bpbm5lciBjbGFzcz1cImlubGluZS1ibG9ja1wiPjwvbWF0LXNwaW5uZXI+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+Il19
@@ -0,0 +1,133 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import { FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';
4
+ import { MatDatepickerModule } from '@angular/material/datepicker';
5
+ import { MatIconModule } from '@angular/material/icon';
6
+ import { MatLegacyInputModule as MatInputModule } from '@angular/material/legacy-input';
7
+ import { MatLegacyCheckboxModule } from '@angular/material/legacy-checkbox';
8
+ import { MatLegacyInputModule } from '@angular/material/legacy-input';
9
+ import { MatLegacyRadioModule } from '@angular/material/legacy-radio';
10
+ import { MatLegacySelectModule } from '@angular/material/legacy-select';
11
+ import { MatLegacyFormFieldModule as MatFormFieldModule } from '@angular/material/legacy-form-field';
12
+ import { TranslateModule } from '@ngx-translate/core';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@angular/common";
15
+ import * as i2 from "@angular/material/legacy-form-field";
16
+ import * as i3 from "@angular/material/legacy-input";
17
+ import * as i4 from "@angular/material/legacy-radio";
18
+ import * as i5 from "@angular/material/legacy-select";
19
+ import * as i6 from "@angular/material/legacy-core";
20
+ import * as i7 from "@angular/material/legacy-checkbox";
21
+ import * as i8 from "@angular/material/datepicker";
22
+ import * as i9 from "@angular/material/icon";
23
+ import * as i10 from "@angular/forms";
24
+ import * as i11 from "@ngx-translate/core";
25
+ export class SurveyFormQuestionComponent {
26
+ constructor() {
27
+ this.questionValues = new EventEmitter();
28
+ this.otherFieldType = ['radio', 'boolean', 'rating'];
29
+ this.stars = Array(5).fill(0);
30
+ this.previesAnswer = '';
31
+ }
32
+ ngOnInit() {
33
+ if (this.questionForm) {
34
+ this.answerControl.valueChanges.subscribe((value) => {
35
+ if (value !== this.previesAnswer && value !== null) {
36
+ if (this.fieldDetails['fieldType'] === 'numeric') {
37
+ let modifiedValue = value.replace(/[^0-9.]/g, ''); // Remove all non-numeric and non-decimal characters
38
+ const decimalCount = (modifiedValue.match(/\./g) || []).length;
39
+ if (decimalCount > 1) {
40
+ modifiedValue = modifiedValue.replace(/\.$/, ''); // Remove the last decimal point
41
+ }
42
+ if (value !== modifiedValue) {
43
+ this.answerControl.patchValue(modifiedValue);
44
+ }
45
+ }
46
+ if (this.fieldDetails['validatorsArray'] && this.questionForm.controls.isNA.value) {
47
+ this.answerControl.setValidators(this.fieldDetails['validatorsArray']);
48
+ this.questionForm.controls.isNA.patchValue(false);
49
+ this.answerControl.markAllAsTouched();
50
+ this.answerControl.updateValueAndValidity();
51
+ }
52
+ this.questionForm.updateValueAndValidity();
53
+ this.emitAnswer();
54
+ }
55
+ this.previesAnswer = value;
56
+ });
57
+ }
58
+ }
59
+ get answerControl() {
60
+ return this.questionForm.controls.answer;
61
+ }
62
+ sectionChange() {
63
+ if (this.questionForm.controls.isNA.value) {
64
+ this.answerControl.reset();
65
+ this.answerControl.clearValidators();
66
+ const validatorsArray = this.fieldDetails['validatorsArray'] ? this.fieldDetails['validatorsArray'].filter((validator) => validator !== Validators.required) : [];
67
+ this.answerControl.setValidators(validatorsArray);
68
+ this.answerControl.updateValueAndValidity();
69
+ this.resetCheckboxes();
70
+ this.emitAnswer();
71
+ }
72
+ }
73
+ resetCheckboxes() {
74
+ if (this.fieldDetails && this.fieldDetails.values) {
75
+ this.fieldDetails.values.forEach((e) => {
76
+ e['checked'] = false;
77
+ });
78
+ }
79
+ }
80
+ setRating(rating) {
81
+ if (this.answerControl) {
82
+ this.answerControl.patchValue(rating);
83
+ this.emitAnswer();
84
+ }
85
+ }
86
+ checkboxClicked(event, index) {
87
+ let checkedList = this.answerControl.value ? this.answerControl.value : [];
88
+ if (event.checked) {
89
+ checkedList.push(event.source.value);
90
+ }
91
+ else {
92
+ checkedList = checkedList.filter((e) => e !== event.source.value);
93
+ }
94
+ if (this.fieldDetails.values && this.fieldDetails.values[index]) {
95
+ this.fieldDetails.values[index]['checked'] = event.checked;
96
+ }
97
+ this.answerControl.patchValue(checkedList);
98
+ this.answerControl.updateValueAndValidity();
99
+ this.questionForm.updateValueAndValidity();
100
+ this.emitAnswer();
101
+ }
102
+ emitAnswer() {
103
+ const answerDetails = this.questionForm.value;
104
+ this.questionValues.emit(answerDetails);
105
+ }
106
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SurveyFormQuestionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
107
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SurveyFormQuestionComponent, isStandalone: true, selector: "ws-app-survey-form-question", inputs: { questionForm: "questionForm", fieldDetails: "fieldDetails" }, outputs: { questionValues: "questionValues" }, ngImport: i0, template: "<form [formGroup]=\"questionForm\" class=\"pb-2 q-element mb-4 question-container\">\n <div class=\"flex items-start\">\n <div class=\"font-semibold margin-remove flex\"\n [ngClass]=\"{'required' : fieldDetails.isRequired, 'pb-3': otherFieldType.includes(fieldDetails.fieldType)}\"\n i18n=\"Title label|Label which explains the user to enter title\">\n {{questionForm.value?.question}}\n </div>\n </div>\n <ng-container [ngSwitch]=\"fieldDetails.fieldType\">\n <ng-container *ngSwitchCase=\"'dropdown'\">\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-select placeholder=\"Select...\" formControlName=\"answer\">\n <mat-option value=\"{{obj.value}}\"\n *ngFor=\" let obj of fieldDetails?.values\">{{obj?.key}}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'phone number'\">\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <input matInput i18n-placeholder placeholder=\"Type here...\" formControlName=\"answer\" maxlength=\"10\" />\n </mat-form-field>\n <ng-container\n *ngIf=\"questionForm.controls.answer.touched && questionForm.controls.answer.hasError('pattern')\">\n <mat-error class=\"mat-error mb-1\">\n {{ 'profileInfo.pleaseEnterValidMobileNumber' | translate }}\n </mat-error>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'date'\">\n <mat-form-field appearance=\"outline\">\n <input matInput [matDatepicker]=\"picker\" formControlName=\"answer\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'boolean'\">\n <mat-radio-group class=\"pt-2\" formControlName=\"answer\">\n <mat-radio-button [value]=\"true\" class=\"pr-10 pb-2\">True</mat-radio-button>\n <mat-radio-button [value]=\"false\" class=\"pr-10 pb-2\">False</mat-radio-button>\n </mat-radio-group>\n </ng-container>\n <ng-container *ngSwitchCase=\"'email'\">\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <input matInput i18n-placeholder placeholder=\"Type here...\" formControlName=\"answer\" />\n </mat-form-field>\n <ng-container\n *ngIf=\"questionForm.controls.answer.touched && questionForm.controls.answer.hasError('pattern')\">\n <mat-error class=\"mat-error mb-1\">\n {{ 'profileInfo.invalidEmail' | translate }}\n </mat-error>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'rating'\">\n <div class=\"rating-container\">\n <mat-icon *ngFor=\"let star of stars; index as i\" class=\"stat-mat-icon\"\n [ngClass]=\"{ 'filled': i < questionForm.controls.answer.value }\" (click)=\"setRating(i + 1)\">\n star\n </mat-icon>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'text'\">\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <input matInput i18n-placeholder placeholder=\"Type here...\" formControlName=\"answer\" />\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'textarea'\">\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <textarea matInput i18n-placeholder placeholder=\"Type here...\" rows=\"4\" cols=\"5\"\n formControlName=\"answer\"></textarea>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'radio'\">\n <mat-radio-group class=\"pt-2 custom\" formControlName=\"answer\">\n <mat-radio-button *ngFor=\"let obj of fieldDetails?.values\" [value]=\"obj.value\" class=\"pr-5 pb-2\">\n {{ obj.key }}\n </mat-radio-button>\n </mat-radio-group>\n </ng-container>\n <ng-container *ngSwitchCase=\"'numeric'\">\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <input matInput i18n-placeholder placeholder=\"Type here...\" formControlName=\"answer\" type=\"text\"\n maxlength=\"18\" />\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <section class=\"pt-2\">\n <ng-container *ngFor=\"let objct of fieldDetails?.values; let i = index\">\n <mat-checkbox [checked]=\"objct.checked\" [value]=\"objct.value\" class=\"pr-5 pb-2 custom\"\n (change)=\"checkboxClicked($event, i)\">\n {{ objct.key }}\n </mat-checkbox>\n </ng-container>\n </section>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"fieldDetails.notApplicable\">\n <div class=\"mt-2\">\n <mat-radio-group class=\"pt-2\" formControlName=\"isNA\" (change)=\"sectionChange()\">\n <mat-radio-button class=\"pr-10 pb-2 my-raido\" value=\"true\">N/A</mat-radio-button>\n </mat-radio-group>\n </div>\n </ng-container>\n</form>", styles: [".drag-icon{font-size:20px;color:#000}.q-element{padding:16px;background:#fff;border-radius:8px}.rating-container{display:flex;gap:5px}.stat-mat-icon{font-size:30px;cursor:pointer;color:#ccc;width:30px;height:30px}.stat-mat-icon.filled{color:#ffca28}:host ::ng-deep .question-container .mat-form-field-wrapper{padding:0!important}:host ::ng-deep .question-container .mat-radio-checked{background-color:#fff!important}:host ::ng-deep .question-container .mat-radio-label-content{font-size:14px!important;font-family:Montserrat}:host ::ng-deep .custom .mat-checkbox-layout,:host ::ng-deep .custom .mat-radio-label{white-space:normal!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatLegacyError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i2.MatLegacyFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLegacySuffix, selector: "[matSuffix]" }, { kind: "directive", type: i3.MatLegacyInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", exportAs: ["matInput"] }, { kind: "ngmodule", type: MatLegacyRadioModule }, { kind: "directive", type: i4.MatLegacyRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i4.MatLegacyRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: MatLegacySelectModule }, { kind: "component", type: i5.MatLegacySelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatLegacyOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "ngmodule", type: MatLegacyCheckboxModule }, { kind: "component", type: i7.MatLegacyCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i8.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i8.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i8.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i10.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i10.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i10.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i10.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i10.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] }); }
108
+ }
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SurveyFormQuestionComponent, decorators: [{
110
+ type: Component,
111
+ args: [{ selector: 'ws-app-survey-form-question', standalone: true, imports: [
112
+ CommonModule,
113
+ MatInputModule,
114
+ MatLegacyRadioModule,
115
+ MatLegacySelectModule,
116
+ MatLegacyCheckboxModule,
117
+ MatLegacyInputModule,
118
+ MatDatepickerModule,
119
+ MatIconModule,
120
+ MatLegacySelectModule,
121
+ ReactiveFormsModule,
122
+ FormsModule,
123
+ MatFormFieldModule,
124
+ TranslateModule
125
+ ], template: "<form [formGroup]=\"questionForm\" class=\"pb-2 q-element mb-4 question-container\">\n <div class=\"flex items-start\">\n <div class=\"font-semibold margin-remove flex\"\n [ngClass]=\"{'required' : fieldDetails.isRequired, 'pb-3': otherFieldType.includes(fieldDetails.fieldType)}\"\n i18n=\"Title label|Label which explains the user to enter title\">\n {{questionForm.value?.question}}\n </div>\n </div>\n <ng-container [ngSwitch]=\"fieldDetails.fieldType\">\n <ng-container *ngSwitchCase=\"'dropdown'\">\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-select placeholder=\"Select...\" formControlName=\"answer\">\n <mat-option value=\"{{obj.value}}\"\n *ngFor=\" let obj of fieldDetails?.values\">{{obj?.key}}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'phone number'\">\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <input matInput i18n-placeholder placeholder=\"Type here...\" formControlName=\"answer\" maxlength=\"10\" />\n </mat-form-field>\n <ng-container\n *ngIf=\"questionForm.controls.answer.touched && questionForm.controls.answer.hasError('pattern')\">\n <mat-error class=\"mat-error mb-1\">\n {{ 'profileInfo.pleaseEnterValidMobileNumber' | translate }}\n </mat-error>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'date'\">\n <mat-form-field appearance=\"outline\">\n <input matInput [matDatepicker]=\"picker\" formControlName=\"answer\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'boolean'\">\n <mat-radio-group class=\"pt-2\" formControlName=\"answer\">\n <mat-radio-button [value]=\"true\" class=\"pr-10 pb-2\">True</mat-radio-button>\n <mat-radio-button [value]=\"false\" class=\"pr-10 pb-2\">False</mat-radio-button>\n </mat-radio-group>\n </ng-container>\n <ng-container *ngSwitchCase=\"'email'\">\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <input matInput i18n-placeholder placeholder=\"Type here...\" formControlName=\"answer\" />\n </mat-form-field>\n <ng-container\n *ngIf=\"questionForm.controls.answer.touched && questionForm.controls.answer.hasError('pattern')\">\n <mat-error class=\"mat-error mb-1\">\n {{ 'profileInfo.invalidEmail' | translate }}\n </mat-error>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'rating'\">\n <div class=\"rating-container\">\n <mat-icon *ngFor=\"let star of stars; index as i\" class=\"stat-mat-icon\"\n [ngClass]=\"{ 'filled': i < questionForm.controls.answer.value }\" (click)=\"setRating(i + 1)\">\n star\n </mat-icon>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'text'\">\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <input matInput i18n-placeholder placeholder=\"Type here...\" formControlName=\"answer\" />\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'textarea'\">\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <textarea matInput i18n-placeholder placeholder=\"Type here...\" rows=\"4\" cols=\"5\"\n formControlName=\"answer\"></textarea>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'radio'\">\n <mat-radio-group class=\"pt-2 custom\" formControlName=\"answer\">\n <mat-radio-button *ngFor=\"let obj of fieldDetails?.values\" [value]=\"obj.value\" class=\"pr-5 pb-2\">\n {{ obj.key }}\n </mat-radio-button>\n </mat-radio-group>\n </ng-container>\n <ng-container *ngSwitchCase=\"'numeric'\">\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <input matInput i18n-placeholder placeholder=\"Type here...\" formControlName=\"answer\" type=\"text\"\n maxlength=\"18\" />\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <section class=\"pt-2\">\n <ng-container *ngFor=\"let objct of fieldDetails?.values; let i = index\">\n <mat-checkbox [checked]=\"objct.checked\" [value]=\"objct.value\" class=\"pr-5 pb-2 custom\"\n (change)=\"checkboxClicked($event, i)\">\n {{ objct.key }}\n </mat-checkbox>\n </ng-container>\n </section>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"fieldDetails.notApplicable\">\n <div class=\"mt-2\">\n <mat-radio-group class=\"pt-2\" formControlName=\"isNA\" (change)=\"sectionChange()\">\n <mat-radio-button class=\"pr-10 pb-2 my-raido\" value=\"true\">N/A</mat-radio-button>\n </mat-radio-group>\n </div>\n </ng-container>\n</form>", styles: [".drag-icon{font-size:20px;color:#000}.q-element{padding:16px;background:#fff;border-radius:8px}.rating-container{display:flex;gap:5px}.stat-mat-icon{font-size:30px;cursor:pointer;color:#ccc;width:30px;height:30px}.stat-mat-icon.filled{color:#ffca28}:host ::ng-deep .question-container .mat-form-field-wrapper{padding:0!important}:host ::ng-deep .question-container .mat-radio-checked{background-color:#fff!important}:host ::ng-deep .question-container .mat-radio-label-content{font-size:14px!important;font-family:Montserrat}:host ::ng-deep .custom .mat-checkbox-layout,:host ::ng-deep .custom .mat-radio-label{white-space:normal!important}\n"] }]
126
+ }], propDecorators: { questionForm: [{
127
+ type: Input
128
+ }], fieldDetails: [{
129
+ type: Input
130
+ }], questionValues: [{
131
+ type: Output
132
+ }] } });
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LWZvcm0tcXVlc3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3RvYy9zcmMvbGliL2NvbXBvbmVudHMvc3VydmV5LWZvcm0tcXVlc3Rpb24vc3VydmV5LWZvcm0tcXVlc3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3RvYy9zcmMvbGliL2NvbXBvbmVudHMvc3VydmV5LWZvcm0tcXVlc3Rpb24vc3VydmV5LWZvcm0tcXVlc3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFhLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixJQUFJLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx3QkFBd0IsSUFBSSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFx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LFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRMZWdhY3lJbnB1dE1vZHVsZSBhcyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1pbnB1dCc7XG5pbXBvcnQgeyBNYXRMZWdhY3lDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1jaGVja2JveCc7XG5pbXBvcnQgeyBNYXRMZWdhY3lJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1pbnB1dCc7XG5pbXBvcnQgeyBNYXRMZWdhY3lSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1yYWRpbyc7XG5pbXBvcnQgeyBNYXRMZWdhY3lTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktc2VsZWN0JztcbmltcG9ydCB7IE1hdExlZ2FjeUZvcm1GaWVsZE1vZHVsZSBhcyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktZm9ybS1maWVsZCdcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3cy1hcHAtc3VydmV5LWZvcm0tcXVlc3Rpb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdExlZ2FjeVJhZGlvTW9kdWxlLFxuICAgIE1hdExlZ2FjeVNlbGVjdE1vZHVsZSxcbiAgICBNYXRMZWdhY3lDaGVja2JveE1vZHVsZSxcbiAgICBNYXRMZWdhY3lJbnB1dE1vZHVsZSxcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0TGVnYWN5U2VsZWN0TW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGVcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3N1cnZleS1mb3JtLXF1ZXN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3VydmV5LWZvcm0tcXVlc3Rpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTdXJ2ZXlGb3JtUXVlc3Rpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBxdWVzdGlvbkZvcm0hOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIGZpZWxkRGV0YWlsczogYW55XG5cbiAgQE91dHB1dCgpIHF1ZXN0aW9uVmFsdWVzID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgb3RoZXJGaWVsZFR5cGUgPSBbJ3JhZGlvJywgJ2Jvb2xlYW4nLCAncmF0aW5nJ11cbiAgc3RhcnMgPSBBcnJheSg1KS5maWxsKDApXG4gIHByZXZpZXNBbnN3ZXI6IHN0cmluZyA9ICcnXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucXVlc3Rpb25Gb3JtKSB7XG4gICAgICB0aGlzLmFuc3dlckNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICBpZih2YWx1ZSAhPT0gIHRoaXMucHJldmllc0Fuc3dlciAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgIGlmKHRoaXMuZmllbGREZXRhaWxzWydmaWVsZFR5cGUnXSA9PT0gJ251bWVyaWMnKSB7XG4gICAgICAgICAgICBsZXQgbW9kaWZpZWRWYWx1ZSA9IHZhbHVlLnJlcGxhY2UoL1teMC05Ll0vZywgJycpOyAvLyBSZW1vdmUgYWxsIG5vbi1udW1lcmljIGFuZCBub24tZGVjaW1hbCBjaGFyYWN0ZXJzXG4gICAgICAgICAgICBjb25zdCBkZWNpbWFsQ291bnQgPSAobW9kaWZpZWRWYWx1ZS5tYXRjaCgvXFwuL2cpIHx8IFtdKS5sZW5ndGg7XG4gICAgICAgICAgICBpZiAoZGVjaW1hbENvdW50ID4gMSkge1xuICAgICAgICAgICAgICBtb2RpZmllZFZhbHVlID0gbW9kaWZpZWRWYWx1ZS5yZXBsYWNlKC9cXC4kLywgJycpOyAvLyBSZW1vdmUgdGhlIGxhc3QgZGVjaW1hbCBwb2ludFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYodmFsdWUgIT09IG1vZGlmaWVkVmFsdWUpIHtcbiAgICAgICAgICAgICAgdGhpcy5hbnN3ZXJDb250cm9sLnBhdGNoVmFsdWUobW9kaWZpZWRWYWx1ZSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXMuZmllbGREZXRhaWxzWyd2YWxpZGF0b3JzQXJyYXknXSAmJiB0aGlzLnF1ZXN0aW9uRm9ybS5jb250cm9scy5pc05BLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmFuc3dlckNvbnRyb2wuc2V0VmFsaWRhdG9ycyh0aGlzLmZpZWxkRGV0YWlsc1sndmFsaWRhdG9yc0FycmF5J10pXG4gICAgICAgICAgICB0aGlzLnF1ZXN0aW9uRm9ybS5jb250cm9scy5pc05BLnBhdGNoVmFsdWUoZmFsc2UpXG4gICAgICAgICAgICB0aGlzLmFuc3dlckNvbnRyb2wubWFya0FsbEFzVG91Y2hlZCgpXG4gICAgICAgICAgICB0aGlzLmFuc3dlckNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpXG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMucXVlc3Rpb25Gb3JtLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKVxuICAgICAgICAgIHRoaXMuZW1pdEFuc3dlcigpXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wcmV2aWVzQW5zd2VyID0gdmFsdWVcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgZ2V0IGFuc3dlckNvbnRyb2woKSB7XG4gICAgcmV0dXJuIHRoaXMucXVlc3Rpb25Gb3JtLmNvbnRyb2xzLmFuc3dlclxuICB9XG5cbiAgc2VjdGlvbkNoYW5nZSgpIHtcbiAgICBpZih0aGlzLnF1ZXN0aW9uRm9ybS5jb250cm9scy5pc05BLnZhbHVlKSB7XG4gICAgICB0aGlzLmFuc3dlckNvbnRyb2wucmVzZXQoKVxuICAgICAgdGhpcy5hbnN3ZXJDb250cm9sLmNsZWFyVmFsaWRhdG9ycygpXG4gICAgICBjb25zdCB2YWxpZGF0b3JzQXJyYXkgPSB0aGlzLmZpZWxkRGV0YWlsc1sndmFsaWRhdG9yc0FycmF5J10gPyB0aGlzLmZpZWxkRGV0YWlsc1sndmFsaWRhdG9yc0FycmF5J10uZmlsdGVyKCh2YWxpZGF0b3I6IGFueSkgPT4gdmFsaWRhdG9yICE9PSBWYWxpZGF0b3JzLnJlcXVpcmVkKSA6IFtdXG4gICAgICB0aGlzLmFuc3dlckNvbnRyb2wuc2V0VmFsaWRhdG9ycyh2YWxpZGF0b3JzQXJyYXkpXG4gICAgICB0aGlzLmFuc3dlckNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpXG4gICAgICB0aGlzLnJlc2V0Q2hlY2tib3hlcygpXG4gICAgICB0aGlzLmVtaXRBbnN3ZXIoKVxuICAgIH1cbiAgfVxuXG4gIHJlc2V0Q2hlY2tib3hlcygpIHtcbiAgICBpZih0aGlzLmZpZWxkRGV0YWlscyAmJiB0aGlzLmZpZWxkRGV0YWlscy52YWx1ZXMpIHtcbiAgICAgIHRoaXMuZmllbGREZXRhaWxzLnZhbHVlcy5mb3JFYWNoKChlOiBhbnkpID0+IHtcbiAgICAgICAgZVsnY2hlY2tlZCddID0gZmFsc2VcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgc2V0UmF0aW5nKHJhdGluZzogbnVtYmVyKSB7XG4gICAgaWYodGhpcy5hbnN3ZXJDb250cm9sKSB7XG4gICAgICB0aGlzLmFuc3dlckNvbnRyb2wucGF0Y2hWYWx1ZShyYXRpbmcpXG4gICAgICB0aGlzLmVtaXRBbnN3ZXIoKVxuICAgIH1cbiAgfVxuXG4gIGNoZWNrYm94Q2xpY2tlZChldmVudDogYW55LCBpbmRleDogbnVtYmVyKSB7XG4gICAgbGV0IGNoZWNrZWRMaXN0ID0gdGhpcy5hbnN3ZXJDb250cm9sLnZhbHVlID8gdGhpcy5hbnN3ZXJDb250cm9sLnZhbHVlIDogW11cbiAgICBpZihldmVudC5jaGVja2VkKSB7XG4gICAgICBjaGVja2VkTGlzdC5wdXNoKGV2ZW50LnNvdXJjZS52YWx1ZSlcbiAgICB9IGVsc2Uge1xuICAgICAgY2hlY2tlZExpc3QgPSBjaGVja2VkTGlzdC5maWx0ZXIoKGU6IGFueSkgPT4gZSAhPT0gZXZlbnQuc291cmNlLnZhbHVlKVxuICAgIH1cbiAgICBpZih0aGlzLmZpZWxkRGV0YWlscy52YWx1ZXMgJiYgdGhpcy5maWVsZERldGFpbHMudmFsdWVzW2luZGV4XSkge1xuICAgICAgdGhpcy5maWVsZERldGFpbHMudmFsdWVzW2luZGV4XVsnY2hlY2tlZCddID0gZXZlbnQuY2hlY2tlZFxuICAgIH1cbiAgICB0aGlzLmFuc3dlckNvbnRyb2wucGF0Y2hWYWx1ZShjaGVja2VkTGlzdClcbiAgICB0aGlzLmFuc3dlckNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpXG4gICAgdGhpcy5xdWVzdGlvbkZvcm0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpXG4gICAgdGhpcy5lbWl0QW5zd2VyKClcbiAgfVxuXG4gIGVtaXRBbnN3ZXIoKSB7XG4gICAgY29uc3QgYW5zd2VyRGV0YWlscyA9IHRoaXMucXVlc3Rpb25Gb3JtLnZhbHVlXG4gICAgdGhpcy5xdWVzdGlvblZhbHVlcy5lbWl0KGFuc3dlckRldGFpbHMpXG4gIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwicXVlc3Rpb25Gb3JtXCIgY2xhc3M9XCJwYi0yIHEtZWxlbWVudCBtYi00IHF1ZXN0aW9uLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLXN0YXJ0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb250LXNlbWlib2xkIG1hcmdpbi1yZW1vdmUgZmxleFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J3JlcXVpcmVkJyA6IGZpZWxkRGV0YWlscy5pc1JlcXVpcmVkLCAncGItMyc6IG90aGVyRmllbGRUeXBlLmluY2x1ZGVzKGZpZWxkRGV0YWlscy5maWVsZFR5cGUpfVwiXG4gICAgICAgICAgICBpMThuPVwiVGl0bGUgbGFiZWx8TGFiZWwgd2hpY2ggZXhwbGFpbnMgdGhlIHVzZXIgdG8gZW50ZXIgdGl0bGVcIj5cbiAgICAgICAgICAgIHt7cXVlc3Rpb25Gb3JtLnZhbHVlPy5xdWVzdGlvbn19XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImZpZWxkRGV0YWlscy5maWVsZFR5cGVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2Ryb3Bkb3duJ1wiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgY2xhc3M9XCJ3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBwbGFjZWhvbGRlcj1cIlNlbGVjdC4uLlwiIGZvcm1Db250cm9sTmFtZT1cImFuc3dlclwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cInt7b2JqLnZhbHVlfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwiIGxldCBvYmogb2YgZmllbGREZXRhaWxzPy52YWx1ZXNcIj57e29iaj8ua2V5fX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidwaG9uZSBudW1iZXInXCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBjbGFzcz1cInctZnVsbFwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBpMThuLXBsYWNlaG9sZGVyIHBsYWNlaG9sZGVyPVwiVHlwZSBoZXJlLi4uXCIgZm9ybUNvbnRyb2xOYW1lPVwiYW5zd2VyXCIgbWF4bGVuZ3RoPVwiMTBcIiAvPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInF1ZXN0aW9uRm9ybS5jb250cm9scy5hbnN3ZXIudG91Y2hlZCAmJiBxdWVzdGlvbkZvcm0uY29udHJvbHMuYW5zd2VyLmhhc0Vycm9yKCdwYXR0ZXJuJylcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yIGNsYXNzPVwibWF0LWVycm9yIG1iLTFcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgJ3Byb2ZpbGVJbmZvLnBsZWFzZUVudGVyVmFsaWRNb2JpbGVOdW1iZXInIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidkYXRlJ1wiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFttYXREYXRlcGlja2VyXT1cInBpY2tlclwiIGZvcm1Db250cm9sTmFtZT1cImFuc3dlclwiPlxuICAgICAgICAgICAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0U3VmZml4IFtmb3JdPVwicGlja2VyXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgICAgICAgICAgICAgPG1hdC1kYXRlcGlja2VyICNwaWNrZXI+PC9tYXQtZGF0ZXBpY2tlcj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInYm9vbGVhbidcIj5cbiAgICAgICAgICAgIDxtYXQtcmFkaW8tZ3JvdXAgY2xhc3M9XCJwdC0yXCIgZm9ybUNvbnRyb2xOYW1lPVwiYW5zd2VyXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1yYWRpby1idXR0b24gW3ZhbHVlXT1cInRydWVcIiBjbGFzcz1cInByLTEwIHBiLTJcIj5UcnVlPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIFt2YWx1ZV09XCJmYWxzZVwiIGNsYXNzPVwicHItMTAgcGItMlwiPkZhbHNlPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgICAgICAgICAgPC9tYXQtcmFkaW8tZ3JvdXA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZW1haWwnXCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBjbGFzcz1cInctZnVsbFwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBpMThuLXBsYWNlaG9sZGVyIHBsYWNlaG9sZGVyPVwiVHlwZSBoZXJlLi4uXCIgZm9ybUNvbnRyb2xOYW1lPVwiYW5zd2VyXCIgLz5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJxdWVzdGlvbkZvcm0uY29udHJvbHMuYW5zd2VyLnRvdWNoZWQgJiYgcXVlc3Rpb25Gb3JtLmNvbnRyb2xzLmFuc3dlci5oYXNFcnJvcigncGF0dGVybicpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciBjbGFzcz1cIm1hdC1lcnJvciBtYi0xXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdwcm9maWxlSW5mby5pbnZhbGlkRW1haWwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidyYXRpbmcnXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmF0aW5nLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdGb3I9XCJsZXQgc3RhciBvZiBzdGFyczsgaW5kZXggYXMgaVwiIGNsYXNzPVwic3RhdC1tYXQtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2ZpbGxlZCc6IGkgPCBxdWVzdGlvbkZvcm0uY29udHJvbHMuYW5zd2VyLnZhbHVlIH1cIiAoY2xpY2spPVwic2V0UmF0aW5nKGkgKyAxKVwiPlxuICAgICAgICAgICAgICAgICAgICBzdGFyXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RleHQnXCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBjbGFzcz1cInctZnVsbFwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBpMThuLXBsYWNlaG9sZGVyIHBsYWNlaG9sZGVyPVwiVHlwZSBoZXJlLi4uXCIgZm9ybUNvbnRyb2xOYW1lPVwiYW5zd2VyXCIgLz5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGV4dGFyZWEnXCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBjbGFzcz1cInctZnVsbFwiPlxuICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBpMThuLXBsYWNlaG9sZGVyIHBsYWNlaG9sZGVyPVwiVHlwZSBoZXJlLi4uXCIgcm93cz1cIjRcIiBjb2xzPVwiNVwiXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImFuc3dlclwiPjwvdGV4dGFyZWE+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3JhZGlvJ1wiPlxuICAgICAgICAgICAgPG1hdC1yYWRpby1ncm91cCBjbGFzcz1cInB0LTIgY3VzdG9tXCIgZm9ybUNvbnRyb2xOYW1lPVwiYW5zd2VyXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1yYWRpby1idXR0b24gKm5nRm9yPVwibGV0IG9iaiBvZiBmaWVsZERldGFpbHM/LnZhbHVlc1wiIFt2YWx1ZV09XCJvYmoudmFsdWVcIiBjbGFzcz1cInByLTUgcGItMlwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBvYmoua2V5IH19XG4gICAgICAgICAgICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgICAgICAgICAgPC9tYXQtcmFkaW8tZ3JvdXA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbnVtZXJpYydcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwidy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGkxOG4tcGxhY2Vob2xkZXIgcGxhY2Vob2xkZXI9XCJUeXBlIGhlcmUuLi5cIiBmb3JtQ29udHJvbE5hbWU9XCJhbnN3ZXJcIiB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIG1heGxlbmd0aD1cIjE4XCIgLz5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInY2hlY2tib3gnXCI+XG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cInB0LTJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvYmpjdCBvZiBmaWVsZERldGFpbHM/LnZhbHVlczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IFtjaGVja2VkXT1cIm9iamN0LmNoZWNrZWRcIiBbdmFsdWVdPVwib2JqY3QudmFsdWVcIiBjbGFzcz1cInByLTUgcGItMiBjdXN0b21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJjaGVja2JveENsaWNrZWQoJGV2ZW50LCBpKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgb2JqY3Qua2V5IH19XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWVsZERldGFpbHMubm90QXBwbGljYWJsZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMlwiPlxuICAgICAgICAgICAgPG1hdC1yYWRpby1ncm91cCBjbGFzcz1cInB0LTJcIiBmb3JtQ29udHJvbE5hbWU9XCJpc05BXCIgKGNoYW5nZSk9XCJzZWN0aW9uQ2hhbmdlKClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiBjbGFzcz1cInByLTEwIHBiLTIgbXktcmFpZG9cIiB2YWx1ZT1cInRydWVcIj5OL0E8L21hdC1yYWRpby1idXR0b24+XG4gICAgICAgICAgICA8L21hdC1yYWRpby1ncm91cD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Zvcm0+Il19
@@ -0,0 +1,36 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { SurveyFormQuestionComponent } from '../survey-form-question/survey-form-question.component';
3
+ import { CommonModule } from '@angular/common';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ export class SurveyFormSectionComponent {
7
+ constructor() {
8
+ this.questionValues = new EventEmitter();
9
+ }
10
+ getField(questionIndex) {
11
+ let field = {};
12
+ if (this.childFields) {
13
+ const filterList = this.childFields.filter((childField) => childField.controlIndex === questionIndex);
14
+ field = filterList ? filterList[0] : {};
15
+ }
16
+ return field;
17
+ }
18
+ updateQuestionValues(event) {
19
+ this.questionValues.emit(event);
20
+ }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SurveyFormSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SurveyFormSectionComponent, isStandalone: true, selector: "ws-app-survey-form-section", inputs: { childQuestionsFormArray: "childQuestionsFormArray", childFields: "childFields", sectionField: "sectionField" }, outputs: { questionValues: "questionValues" }, ngImport: i0, template: "<div class=\"section-wrapper\">\n <div class=\"section-title\">\n {{sectionField?.values[0]?.heading}}\n </div>\n <div class=\"section-desc text-xs font-normal pt-2\">{{sectionField?.values[0]?.subHeading}}</div>\n <hr class=\"opacity-50 mb-0\">\n <div class=\"section-content pt-5\">\n <ng-container *ngFor=\"let questionForm of childQuestionsFormArray?.controls\">\n <ws-app-survey-form-question [questionForm]=\"questionForm\"\n [fieldDetails]=\"getField(questionForm.value.questionIndex)\"\n (questionValues)=\"updateQuestionValues($event)\"></ws-app-survey-form-question>\n </ng-container>\n </div>\n </div>", styles: [".section-wrapper{background:#1b4ca114;padding:16px 16px 8px;border-radius:8px}.section-title{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left;text-underline-position:from-font;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}\n"], dependencies: [{ kind: "component", type: SurveyFormQuestionComponent, selector: "ws-app-survey-form-question", inputs: ["questionForm", "fieldDetails"], outputs: ["questionValues"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SurveyFormSectionComponent, decorators: [{
25
+ type: Component,
26
+ args: [{ selector: 'ws-app-survey-form-section', standalone: true, imports: [SurveyFormQuestionComponent, CommonModule], template: "<div class=\"section-wrapper\">\n <div class=\"section-title\">\n {{sectionField?.values[0]?.heading}}\n </div>\n <div class=\"section-desc text-xs font-normal pt-2\">{{sectionField?.values[0]?.subHeading}}</div>\n <hr class=\"opacity-50 mb-0\">\n <div class=\"section-content pt-5\">\n <ng-container *ngFor=\"let questionForm of childQuestionsFormArray?.controls\">\n <ws-app-survey-form-question [questionForm]=\"questionForm\"\n [fieldDetails]=\"getField(questionForm.value.questionIndex)\"\n (questionValues)=\"updateQuestionValues($event)\"></ws-app-survey-form-question>\n </ng-container>\n </div>\n </div>", styles: [".section-wrapper{background:#1b4ca114;padding:16px 16px 8px;border-radius:8px}.section-title{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left;text-underline-position:from-font;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}\n"] }]
27
+ }], propDecorators: { childQuestionsFormArray: [{
28
+ type: Input
29
+ }], childFields: [{
30
+ type: Input
31
+ }], sectionField: [{
32
+ type: Input
33
+ }], questionValues: [{
34
+ type: Output
35
+ }] } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LWZvcm0tc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdG9jL3NyYy9saWIvY29tcG9uZW50cy9zdXJ2ZXktZm9ybS1zZWN0aW9uL3N1cnZleS1mb3JtLXNlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3RvYy9zcmMvbGliL2NvbXBvbmVudHMvc3VydmV5LWZvcm0tc2VjdGlvbi9zdXJ2ZXktZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFTL0MsTUFBTSxPQUFPLDBCQUEwQjtJQVB2QztRQWFZLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQTtLQWU5QztJQWJDLFFBQVEsQ0FBQyxhQUFxQjtRQUM1QixJQUFJLEtBQUssR0FBRyxFQUFFLENBQUE7UUFDZCxJQUFHLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbkIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFlLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEtBQUssYUFBYSxDQUFDLENBQUE7WUFDMUcsS0FBSyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7U0FDeEM7UUFDRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxLQUFVO1FBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2pDLENBQUM7K0dBbkJVLDBCQUEwQjttR0FBMUIsMEJBQTBCLCtQQ1p2Qyx5cUJBYVEsd1ZETEksMkJBQTJCLDhJQUFFLFlBQVk7OzRGQUl4QywwQkFBMEI7a0JBUHRDLFNBQVM7K0JBQ0UsNEJBQTRCLGNBQzFCLElBQUksV0FDUCxDQUFDLDJCQUEyQixFQUFFLFlBQVksQ0FBQzs4QkFNM0MsdUJBQXVCO3NCQUEvQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1cnZleUZvcm1RdWVzdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL3N1cnZleS1mb3JtLXF1ZXN0aW9uL3N1cnZleS1mb3JtLXF1ZXN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3cy1hcHAtc3VydmV5LWZvcm0tc2VjdGlvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtTdXJ2ZXlGb3JtUXVlc3Rpb25Db21wb25lbnQsIENvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zdXJ2ZXktZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3VydmV5LWZvcm0tc2VjdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFN1cnZleUZvcm1TZWN0aW9uQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBjaGlsZFF1ZXN0aW9uc0Zvcm1BcnJheSE6IEZvcm1BcnJheVxuICBASW5wdXQoKSBjaGlsZEZpZWxkczogYW55XG4gIEBJbnB1dCgpIHNlY3Rpb25GaWVsZDogYW55XG5cbiAgQE91dHB1dCgpIHF1ZXN0aW9uVmFsdWVzID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgZ2V0RmllbGQocXVlc3Rpb25JbmRleDogbnVtYmVyKSB7XG4gICAgbGV0IGZpZWxkID0ge31cbiAgICBpZih0aGlzLmNoaWxkRmllbGRzKSB7XG4gICAgICBjb25zdCBmaWx0ZXJMaXN0ID0gdGhpcy5jaGlsZEZpZWxkcy5maWx0ZXIoKGNoaWxkRmllbGQ6IGFueSkgPT4gY2hpbGRGaWVsZC5jb250cm9sSW5kZXggPT09IHF1ZXN0aW9uSW5kZXgpXG4gICAgICBmaWVsZCA9IGZpbHRlckxpc3QgPyBmaWx0ZXJMaXN0WzBdIDoge31cbiAgICB9XG4gICAgcmV0dXJuIGZpZWxkXG4gIH1cblxuICB1cGRhdGVRdWVzdGlvblZhbHVlcyhldmVudDogYW55KSB7XG4gICAgdGhpcy5xdWVzdGlvblZhbHVlcy5lbWl0KGV2ZW50KVxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZWN0aW9uLXdyYXBwZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi10aXRsZVwiPlxuICAgICAge3tzZWN0aW9uRmllbGQ/LnZhbHVlc1swXT8uaGVhZGluZ319XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNlY3Rpb24tZGVzYyB0ZXh0LXhzIGZvbnQtbm9ybWFsIHB0LTJcIj57e3NlY3Rpb25GaWVsZD8udmFsdWVzWzBdPy5zdWJIZWFkaW5nfX08L2Rpdj5cbiAgICA8aHIgY2xhc3M9XCJvcGFjaXR5LTUwIG1iLTBcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi1jb250ZW50IHB0LTVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcXVlc3Rpb25Gb3JtIG9mIGNoaWxkUXVlc3Rpb25zRm9ybUFycmF5Py5jb250cm9sc1wiPlxuICAgICAgICAgIDx3cy1hcHAtc3VydmV5LWZvcm0tcXVlc3Rpb24gW3F1ZXN0aW9uRm9ybV09XCJxdWVzdGlvbkZvcm1cIlxuICAgICAgICAgICBbZmllbGREZXRhaWxzXT1cImdldEZpZWxkKHF1ZXN0aW9uRm9ybS52YWx1ZS5xdWVzdGlvbkluZGV4KVwiXG4gICAgICAgICAgIChxdWVzdGlvblZhbHVlcyk9XCJ1cGRhdGVRdWVzdGlvblZhbHVlcygkZXZlbnQpXCI+PC93cy1hcHAtc3VydmV5LWZvcm0tcXVlc3Rpb24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXRvYy1hbmFseXRpY3MubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdG9jL3NyYy9saWIvbW9kZWxzL2FwcC10b2MtYW5hbHl0aWNzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgbmFtZXNwYWNlIE5zQW5hbHl0aWNzIHtcbiAgZXhwb3J0IGludGVyZmFjZSBJQW5hbHl0aWNzUmVzcG9uc2Uge1xuICAgIHRvdGFsOiBudW1iZXJcbiAgICBpbmRleGVkT246IHN0cmluZ1xuICAgIHVwZGF0ZWRPbjogc3RyaW5nXG4gICAgZGV2aWNlczogSU9ialBhaXJbXVxuICAgIHRyYWluaW5nSG91cnM6IG51bWJlclxuICAgIHVuaXF1ZVBhcnRpY2lwYW50czogSUFjdGl2aXR5T2JqW11cbiAgICBsZXhfY291cnNlOiBJQ291cnNlT2JqXG4gICAgbGV4X2NvbGxlY3Rpb246IElDb3Vyc2VPYmpcbiAgICBsZXhfcHJvZ3JhbTogSUNvdXJzZU9ialxuICAgIGxleF9yZXNvdXJjZTogSUNvdXJzZU9ialxuICAgIHNlYXJjaFJlc3VsdDogSVNlYXJjaE9ialxuICAgIHVuaXF1ZVBhcnRpY2lwYW50c1N0YWdpbmc6IElBY3Rpdml0eU9ialtdXG4gICAgYWN0aXZpdHlUeXBlOiBJQWN0aXZpdHlPYmpbXVxuICAgIHBhcnRpY2lwYW50czogSVBhcnRpY2lwYW50UmVzcG9uc2VcbiAgICByZWZpbmVyczogW1xuICAgICAge1xuICAgICAgICBzZXJ2aWNlTGluZTogSU9ialBhaXJbXTtcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG1vZHVsZXNDb21wbGV0ZWQ6IElPYmpQYWlyW107XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzdGFja3M6IElPYmpQYWlyW107XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b3BpY3M6IElPYmpQYWlyW107XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBvZmZlcmluZ01vZGU6IElPYmpQYWlyW107XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpbnRlcmZhY2U6IElPYmpQYWlyW107XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuZXdTZXJ2aWNlTGluZTogSU9ialBhaXJbXTtcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGFiY2Q6IElPYmpQYWlyW107XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzdGFja3NDb21wbGV0ZWQ6IElPYmpQYWlyW107XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBza2lsbE5hbWU6IElPYmpQYWlyW107XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBob3Jpem9uOiBJT2JqUGFpcltdO1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHJhY2s6IElPYmpQYWlyW107XG4gICAgICB9XG4gICAgXVxuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBJT2JqUGFpciB7XG4gICAga2V5OiBzdHJpbmdcbiAgICB2YWx1ZTogbnVtYmVyXG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIElPYmpDb3VudCB7XG4gICAga2V5OiBzdHJpbmdcbiAgICBjb3VudDogbnVtYmVyXG4gIH1cbiAgZXhwb3J0IGludGVyZmFjZSBJUGFydGljaXBhbnRPYmoge1xuICAgIGtleTogc3RyaW5nXG4gICAgdmFsdWU6IElPYmpQYWlyW11cbiAgICBjb3VudDogbnVtYmVyXG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIElBY3Rpdml0eU9iaiB7XG4gICAga2V5OiBzdHJpbmdcbiAgICB1bmlxdWVDb3VudDogbnVtYmVyXG4gICAgb3RoZXJDb3VudHM6IElPYmpDb3VudFtdXG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIElTZWFyY2hPYmoge1xuICAgIHJlc3VsdDogSVNlYXJjaFJlc3VsdE9ialtdXG4gIH1cbiAgZXhwb3J0IGludGVyZmFjZSBJUmVzdWx0T2JqIHtcbiAgICB0aXRsZTogc3RyaW5nXG4gICAgcGFydGljaXBhbnRzOiBudW1iZXJcbiAgfVxuICBleHBvcnQgaW50ZXJmYWNlIElTZWFyY2hSZXN1bHRPYmoge1xuICAgIHNvdXJjZTogc3RyaW5nW11cbiAgICB0aXRsZTogc3RyaW5nXG4gICAgY291cnNlQ29kZTogc3RyaW5nXG4gICAgc3RhdHVzOiBzdHJpbmdcbiAgICBvZmZlcmluZ01vZGU6IHN0cmluZ1tdXG4gICAgbGV4X2NvbGxlY3Rpb246IHN0cmluZ1xuICAgIGxleF9jb3Vyc2U6IHN0cmluZ1xuICAgIGxleF9wcm9ncmFtOiBzdHJpbmdcbiAgICBsZXhfcmVzb3VyY2U6IHN0cmluZ1xuICAgIG9mZmVyaW5nczogbnVtYmVyXG4gICAgcGFydGljaXBhbnRzOiBudW1iZXJcbiAgICBpbnN0cnVjdG9yczogSUluc3RydWN0b3JPYmpbXVxuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBJQ291cnNlT2JqIHtcbiAgICByZXN1bHQ6IElSZXN1bHRPYmpbXVxuICB9XG4gIGV4cG9ydCBpbnRlcmZhY2UgSU9uc2l0ZU9mZnNob3JlT2JqIHtcbiAgICBrZXk6IHN0cmluZ1xuICAgIHRyYWluaW5nSG91cnM6IG51bWJlclxuICAgIHZhbHVlOiBJT2JqUGFpcltdXG4gICAgY291bnQ6IG51bWJlclxuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBJSW5zdHJ1Y3Rvck9iaiB7XG4gICAga2V5OiBzdHJpbmdcbiAgICBkb2NfY291bnQ6IG51bWJlclxuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBJUGFydGljaXBhbnRSZXNwb25zZSB7XG4gICAgY291bnRyeTogSVBhcnRpY2lwYW50T2JqW11cbiAgICBkdTogSVBhcnRpY2lwYW50T2JqW11cbiAgICBjdTogSVBhcnRpY2lwYW50T2JqW11cbiAgICBqbDogSVBhcnRpY2lwYW50T2JqW11cbiAgICBvdmVyYWxsUGFydGljaXBhbnRzOiBJT2JqUGFpcltdXG4gICAgY3VUeXBlOiBJUGFydGljaXBhbnRPYmpbXVxuICAgIHB1OiBJUGFydGljaXBhbnRPYmpbXVxuICAgIG9uc2l0ZU9mZnNob3JlSW5kaWNhdG9yOiBJT25zaXRlT2Zmc2hvcmVPYmpbXVxuICAgIGxvY2F0aW9uOiBJUGFydGljaXBhbnRPYmpbXVxuICAgIHB1U0FMUzogSVBhcnRpY2lwYW50T2JqW11cbiAgICBpYnU6IElQYXJ0aWNpcGFudE9ialtdXG4gICAgYWNjb3VudDogSVBhcnRpY2lwYW50T2JqW11cbiAgICBba2V5OiBzdHJpbmddOiBhbnlcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgSUFuYWx5dGljcyB7XG4gICAgZW5hYmxlZDogYm9vbGVhblxuICAgIGF2YWlsYWJsZTogYm9vbGVhblxuICAgIGNvdXJzZUFuYWx5dGljc0NsaWVudDogYm9vbGVhblxuICAgIGNvdXJzZUFuYWx5dGljczogYm9vbGVhblxuICB9XG59XG5leHBvcnQgbmFtZXNwYWNlIE5zQ291cnNlQW5hbHl0aWNzIHtcbiAgZXhwb3J0IGludGVyZmFjZSBJQ291cnNlQW5hbHl0aWNzRGF0YSB7XG4gICAgZGF5X3dpc2VfdXNlcnM6IElCYXJDaGFydERhdGFbXVxuICAgIGF2Z190aW1lX3NwZW50OiBudW1iZXJcbiAgICBoaXRzOiBudW1iZXJcbiAgICB1c2VyQ291bnQ6IG51bWJlclxuICAgIGNpdHk6IElDaGFydERhdGFbXVxuICAgIGRlcGFydG1lbnQ6IElDaGFydERhdGFbXVxuICAgIGRldmljZTogSUNoYXJ0RGF0YVtdXG4gICAgW2tleTogc3RyaW5nXTogYW55XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIElDaGFydERhdGEge1xuICAgIGtleTogc3RyaW5nXG4gICAgZG9jX2NvdW50OiBudW1iZXJcbiAgICB0b3RhbF9oaXRzOiBudW1iZXJcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgSUJhckNoYXJ0RGF0YSB7XG4gICAga2V5X2FzX3N0cmluZzogc3RyaW5nXG4gICAga2V5OiBudW1iZXJcbiAgICBkb2NfY291bnQ6IG51bWJlclxuICAgIGhpdHNfY291bnQ6IG51bWJlclxuICB9XG59XG4iXX0=