@piserve-tech/form-submission 1.3.314 → 1.3.316

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 (443) hide show
  1. package/README.md +24 -24
  2. package/ng-package.json +30 -0
  3. package/package.json +33 -46
  4. package/{assets → src/assets}/icons/close-sidebar-mark-icon.svg +3 -3
  5. package/{assets → src/assets}/icons/copy-icon.svg +5 -5
  6. package/{assets → src/assets}/icons/delete-icon.svg +7 -7
  7. package/{assets → src/assets}/icons/delete-no-outline-icon.svg +7 -7
  8. package/src/environment/environment.ts +6 -0
  9. package/src/form-fields/aggregate-function/aggregate-function.component.html +63 -0
  10. package/src/form-fields/aggregate-function/aggregate-function.component.scss +1 -0
  11. package/src/form-fields/aggregate-function/aggregate-function.component.spec.ts +21 -0
  12. package/src/form-fields/aggregate-function/aggregate-function.component.ts +148 -0
  13. package/src/form-fields/check-box-fields/check-box-fields.component.html +81 -0
  14. package/src/form-fields/check-box-fields/check-box-fields.component.scss +28 -0
  15. package/src/form-fields/check-box-fields/check-box-fields.component.spec.ts +21 -0
  16. package/src/form-fields/check-box-fields/check-box-fields.component.ts +538 -0
  17. package/src/form-fields/currency-fields/currency-fields.component.html +85 -0
  18. package/src/form-fields/currency-fields/currency-fields.component.scss +48 -0
  19. package/src/form-fields/currency-fields/currency-fields.component.spec.ts +21 -0
  20. package/src/form-fields/currency-fields/currency-fields.component.ts +589 -0
  21. package/src/form-fields/date-time-fields/date-time-fields.component.html +268 -0
  22. package/src/form-fields/date-time-fields/date-time-fields.component.scss +88 -0
  23. package/src/form-fields/date-time-fields/date-time-fields.component.spec.ts +21 -0
  24. package/src/form-fields/date-time-fields/date-time-fields.component.ts +693 -0
  25. package/src/form-fields/drop-down-fields/drop-down-fields.component.html +77 -0
  26. package/src/form-fields/drop-down-fields/drop-down-fields.component.scss +12 -0
  27. package/src/form-fields/drop-down-fields/drop-down-fields.component.spec.ts +21 -0
  28. package/src/form-fields/drop-down-fields/drop-down-fields.component.ts +698 -0
  29. package/src/form-fields/file-picker-fields/file-picker-fields.component.html +72 -0
  30. package/src/form-fields/file-picker-fields/file-picker-fields.component.scss +33 -0
  31. package/src/form-fields/file-picker-fields/file-picker-fields.component.spec.ts +21 -0
  32. package/src/form-fields/file-picker-fields/file-picker-fields.component.ts +256 -0
  33. package/src/form-fields/form-fields.module.ts +110 -0
  34. package/src/form-fields/hidden-field/hidden-field.component.scss +0 -0
  35. package/src/form-fields/hidden-field/hidden-field.component.spec.ts +21 -0
  36. package/src/form-fields/hidden-field/hidden-field.component.ts +156 -0
  37. package/src/form-fields/iframe-fields/iframe-fields.component.html +31 -0
  38. package/src/form-fields/iframe-fields/iframe-fields.component.scss +0 -0
  39. package/src/form-fields/iframe-fields/iframe-fields.component.spec.ts +21 -0
  40. package/src/form-fields/iframe-fields/iframe-fields.component.ts +225 -0
  41. package/src/form-fields/location-fields/location-fields.component.html +54 -0
  42. package/src/form-fields/location-fields/location-fields.component.scss +22 -0
  43. package/src/form-fields/location-fields/location-fields.component.spec.ts +21 -0
  44. package/src/form-fields/location-fields/location-fields.component.ts +83 -0
  45. package/src/form-fields/mail-fields/mail-fields.component.html +66 -0
  46. package/src/form-fields/mail-fields/mail-fields.component.scss +10 -0
  47. package/src/form-fields/mail-fields/mail-fields.component.spec.ts +21 -0
  48. package/src/form-fields/mail-fields/mail-fields.component.ts +127 -0
  49. package/src/form-fields/mobile-fields/mobile-fields.component.html +97 -0
  50. package/src/form-fields/mobile-fields/mobile-fields.component.scss +52 -0
  51. package/src/form-fields/mobile-fields/mobile-fields.component.spec.ts +21 -0
  52. package/src/form-fields/mobile-fields/mobile-fields.component.ts +310 -0
  53. package/src/form-fields/number-fields/number-fields.component.html +70 -0
  54. package/src/form-fields/number-fields/number-fields.component.scss +17 -0
  55. package/src/form-fields/number-fields/number-fields.component.spec.ts +21 -0
  56. package/src/form-fields/number-fields/number-fields.component.ts +256 -0
  57. package/src/form-fields/password-fields/password-fields.component.html +113 -0
  58. package/src/form-fields/password-fields/password-fields.component.scss +61 -0
  59. package/src/form-fields/password-fields/password-fields.component.spec.ts +21 -0
  60. package/src/form-fields/password-fields/password-fields.component.ts +273 -0
  61. package/src/form-fields/radio-button-fields/radio-button-fields.component.html +82 -0
  62. package/src/form-fields/radio-button-fields/radio-button-fields.component.scss +28 -0
  63. package/src/form-fields/radio-button-fields/radio-button-fields.component.spec.ts +21 -0
  64. package/src/form-fields/radio-button-fields/radio-button-fields.component.ts +391 -0
  65. package/src/form-fields/rich-text-editor-fields/rich-text-editor-fields.component.html +67 -0
  66. package/src/form-fields/rich-text-editor-fields/rich-text-editor-fields.component.scss +23 -0
  67. package/src/form-fields/rich-text-editor-fields/rich-text-editor-fields.component.spec.ts +21 -0
  68. package/src/form-fields/rich-text-editor-fields/rich-text-editor-fields.component.ts +145 -0
  69. package/src/form-fields/section-fields/section-fields.component.html +4 -0
  70. package/src/form-fields/section-fields/section-fields.component.scss +37 -0
  71. package/src/form-fields/section-fields/section-fields.component.spec.ts +21 -0
  72. package/src/form-fields/section-fields/section-fields.component.ts +25 -0
  73. package/src/form-fields/selection-matrix-fields/selection-matrix-fields.component.html +93 -0
  74. package/src/form-fields/selection-matrix-fields/selection-matrix-fields.component.scss +52 -0
  75. package/src/form-fields/selection-matrix-fields/selection-matrix-fields.component.spec.ts +21 -0
  76. package/src/form-fields/selection-matrix-fields/selection-matrix-fields.component.ts +155 -0
  77. package/src/form-fields/signature-fields/signature-fields.component.html +43 -0
  78. package/src/form-fields/signature-fields/signature-fields.component.scss +10 -0
  79. package/src/form-fields/signature-fields/signature-fields.component.spec.ts +21 -0
  80. package/src/form-fields/signature-fields/signature-fields.component.ts +25 -0
  81. package/src/form-fields/slider-fields/slider-fields.component.html +67 -0
  82. package/src/form-fields/slider-fields/slider-fields.component.scss +55 -0
  83. package/src/form-fields/slider-fields/slider-fields.component.spec.ts +21 -0
  84. package/src/form-fields/slider-fields/slider-fields.component.ts +63 -0
  85. package/src/form-fields/terms-and-condition-fields/terms-and-condition-fields.component.html +52 -0
  86. package/src/form-fields/terms-and-condition-fields/terms-and-condition-fields.component.scss +85 -0
  87. package/src/form-fields/terms-and-condition-fields/terms-and-condition-fields.component.spec.ts +21 -0
  88. package/src/form-fields/terms-and-condition-fields/terms-and-condition-fields.component.ts +62 -0
  89. package/src/form-fields/text-area-fields/text-area-fields.component.html +68 -0
  90. package/src/form-fields/text-area-fields/text-area-fields.component.scss +19 -0
  91. package/src/form-fields/text-area-fields/text-area-fields.component.spec.ts +21 -0
  92. package/src/form-fields/text-area-fields/text-area-fields.component.ts +166 -0
  93. package/src/form-fields/text-fields/text-fields.component.html +67 -0
  94. package/src/form-fields/text-fields/text-fields.component.scss +26 -0
  95. package/src/form-fields/text-fields/text-fields.component.spec.ts +21 -0
  96. package/src/form-fields/text-fields/text-fields.component.ts +248 -0
  97. package/src/form-fields/toggle-switch-fields/toggle-switch-fields.component.html +70 -0
  98. package/src/form-fields/toggle-switch-fields/toggle-switch-fields.component.scss +112 -0
  99. package/src/form-fields/toggle-switch-fields/toggle-switch-fields.component.spec.ts +21 -0
  100. package/src/form-fields/toggle-switch-fields/toggle-switch-fields.component.ts +74 -0
  101. package/src/form-fields/url-fields/url-fields.component.html +109 -0
  102. package/src/form-fields/url-fields/url-fields.component.scss +22 -0
  103. package/src/form-fields/url-fields/url-fields.component.spec.ts +21 -0
  104. package/src/form-fields/url-fields/url-fields.component.ts +123 -0
  105. package/src/form-submission/form-submission.module.ts +40 -0
  106. package/src/form-submission/header/header.component.html +6 -0
  107. package/src/form-submission/header/header.component.scss +26 -0
  108. package/src/form-submission/header/header.component.spec.ts +21 -0
  109. package/src/form-submission/header/header.component.ts +12 -0
  110. package/src/form-submission/navigation-tabs/navigation-tabs.component.html +134 -0
  111. package/src/form-submission/navigation-tabs/navigation-tabs.component.scss +200 -0
  112. package/src/form-submission/navigation-tabs/navigation-tabs.component.spec.ts +21 -0
  113. package/src/form-submission/navigation-tabs/navigation-tabs.component.ts +134 -0
  114. package/src/form-submission/next-prev-navigation/next-prev-navigation.component.html +207 -0
  115. package/src/form-submission/next-prev-navigation/next-prev-navigation.component.scss +208 -0
  116. package/src/form-submission/next-prev-navigation/next-prev-navigation.component.spec.ts +21 -0
  117. package/src/form-submission/next-prev-navigation/next-prev-navigation.component.ts +74 -0
  118. package/src/form-submission/save-as-draft/saveDraftModalComponent .ts +60 -0
  119. package/src/form-submission/save-as-draft/saveDraftModalComponent.html +33 -0
  120. package/src/form-submission/save-as-draft/saveDraftModalComponent.scss +195 -0
  121. package/src/form-submission/submission-container/submission-container.component.html +30 -0
  122. package/src/form-submission/submission-container/submission-container.component.scss +67 -0
  123. package/src/form-submission/submission-container/submission-container.component.spec.ts +21 -0
  124. package/src/form-submission/submission-container/submission-container.component.ts +14 -0
  125. package/src/form-submission/submit-form/submit-form.component.html +76 -0
  126. package/src/form-submission/submit-form/submit-form.component.scss +88 -0
  127. package/src/form-submission/submit-form/submit-form.component.spec.ts +21 -0
  128. package/src/form-submission/submit-form/submit-form.component.ts +1953 -0
  129. package/src/lib/form-submission.component.html +15 -0
  130. package/src/lib/form-submission.component.scss +1 -0
  131. package/src/lib/form-submission.component.ts +120 -0
  132. package/src/lib/form-submission.module.ts +31 -0
  133. package/src/lib/form-submission.service.spec.ts +16 -0
  134. package/src/lib/form-submission.service.ts +9 -0
  135. package/src/models/aggregate.model.ts +4 -0
  136. package/{models/answer.model.d.ts → src/models/answer.model.ts} +25 -23
  137. package/src/models/appearance.model.ts +64 -0
  138. package/{models/attachment.model.d.ts → src/models/attachment.model.ts} +6 -6
  139. package/{models/defaultAnswerEntry.model.d.ts → src/models/defaultAnswerEntry.model.ts} +7 -5
  140. package/{models/defaultAnswersModel.model.d.ts → src/models/defaultAnswersModel.model.ts} +5 -4
  141. package/{models/defaultQuestionAnswer.model.d.ts → src/models/defaultQuestionAnswer.model.ts} +6 -6
  142. package/src/models/elementOptionAPI.model.ts +13 -0
  143. package/src/models/elementOptionAPIData.model.ts +5 -0
  144. package/src/models/elementOptionDB.model.ts +9 -0
  145. package/src/models/elementOptionDBCriteria.model.ts +7 -0
  146. package/{models/emitters.model.d.ts → src/models/emitters.model.ts} +8 -8
  147. package/{models/enum/condition.enum.d.ts → src/models/enum/condition.enum.ts} +2 -2
  148. package/src/models/enum/elementType .enum.ts +22 -0
  149. package/src/models/enum/entityType.enum.ts +10 -0
  150. package/{models/formConfiguration.model.d.ts → src/models/formConfiguration.model.ts} +2 -2
  151. package/{models/formElement.model.d.ts → src/models/formElement.model.ts} +22 -22
  152. package/{models/formElementType.model.d.ts → src/models/formElementType.model.ts} +3 -2
  153. package/{models/grid.model.d.ts → src/models/grid.model.ts} +14 -13
  154. package/{models/hiddenField.model.d.ts → src/models/hiddenField.model.ts} +5 -5
  155. package/{models/iFrameProperties.model.d.ts → src/models/iFrameProperties.model.ts} +13 -13
  156. package/src/models/logic.model.ts +11 -0
  157. package/src/models/multifields.model.ts +12 -0
  158. package/{models/option.model.d.ts → src/models/option.model.ts} +5 -5
  159. package/src/models/page.model.ts +7 -0
  160. package/src/models/publicForm.model.ts +19 -0
  161. package/src/models/question.model.ts +27 -0
  162. package/src/models/questionAnswer.model.ts +8 -0
  163. package/src/models/questionGroup.model.ts +12 -0
  164. package/src/models/response.model.ts +9 -0
  165. package/src/models/result.model.ts +5 -0
  166. package/{models/row.model.d.ts → src/models/row.model.ts} +2 -1
  167. package/src/models/scoring.model.ts +10 -0
  168. package/src/models/section.model.ts +6 -0
  169. package/src/models/subForm.model.ts +25 -0
  170. package/src/models/subformConfiguration.model.ts +4 -0
  171. package/src/models/subformPropery.model.ts +8 -0
  172. package/{models/submission.model.d.ts → src/models/submission.model.ts} +16 -14
  173. package/{models/submissionCopyConfig.mopdel.d.ts → src/models/submissionCopyConfig.mopdel.ts} +4 -4
  174. package/{models/terms&condition.model.d.ts → src/models/terms&condition.model.ts} +1 -1
  175. package/src/models/validation.model.ts +48 -0
  176. package/src/models/whenClause.model.ts +7 -0
  177. package/{models/whenClauseCondition.model.d.ts → src/models/whenClauseCondition.model.ts} +6 -6
  178. package/{models/whenClauseElements.model.d.ts → src/models/whenClauseElements.model.ts} +6 -5
  179. package/{public-api.d.ts → src/public-api.ts} +4 -0
  180. package/src/question/card-subform/card-subform.component.html +282 -0
  181. package/src/question/card-subform/card-subform.component.scss +49 -0
  182. package/src/question/card-subform/card-subform.component.spec.ts +21 -0
  183. package/src/question/card-subform/card-subform.component.ts +407 -0
  184. package/src/question/confirm-dialog/confirm-dialog.component.html +32 -0
  185. package/src/question/confirm-dialog/confirm-dialog.component.scss +109 -0
  186. package/src/question/confirm-dialog/confirm-dialog.component.spec.ts +21 -0
  187. package/src/question/confirm-dialog/confirm-dialog.component.ts +24 -0
  188. package/src/question/form-elements/form-elements.component.html +28 -0
  189. package/src/question/form-elements/form-elements.component.scss +0 -0
  190. package/src/question/form-elements/form-elements.component.spec.ts +21 -0
  191. package/src/question/form-elements/form-elements.component.ts +41 -0
  192. package/src/question/inline-multiple-subform/inline-multiple-subform.component.html +321 -0
  193. package/src/question/inline-multiple-subform/inline-multiple-subform.component.scss +78 -0
  194. package/src/question/inline-multiple-subform/inline-multiple-subform.component.spec.ts +21 -0
  195. package/src/question/inline-multiple-subform/inline-multiple-subform.component.ts +425 -0
  196. package/src/question/multifields/multifields.component.html +78 -0
  197. package/src/question/multifields/multifields.component.scss +6 -0
  198. package/src/question/multifields/multifields.component.spec.ts +21 -0
  199. package/src/question/multifields/multifields.component.ts +27 -0
  200. package/src/question/multiple-subform/multiple-subform.component.html +185 -0
  201. package/src/question/multiple-subform/multiple-subform.component.scss +52 -0
  202. package/src/question/multiple-subform/multiple-subform.component.spec.ts +21 -0
  203. package/src/question/multiple-subform/multiple-subform.component.ts +481 -0
  204. package/src/question/question/question.component.html +51 -0
  205. package/src/question/question/question.component.scss +0 -0
  206. package/src/question/question/question.component.spec.ts +21 -0
  207. package/src/question/question/question.component.ts +129 -0
  208. package/src/question/question-group/question-group.component.html +147 -0
  209. package/src/question/question-group/question-group.component.scss +36 -0
  210. package/src/question/question-group/question-group.component.spec.ts +21 -0
  211. package/src/question/question-group/question-group.component.ts +94 -0
  212. package/src/question/question.module.ts +22 -0
  213. package/src/question/recursive-logic/recursive-logic.component.html +33 -0
  214. package/src/question/recursive-logic/recursive-logic.component.scss +0 -0
  215. package/src/question/recursive-logic/recursive-logic.component.spec.ts +21 -0
  216. package/src/question/recursive-logic/recursive-logic.component.ts +29 -0
  217. package/src/question/sub-form/sub-form.component.html +254 -0
  218. package/src/question/sub-form/sub-form.component.scss +83 -0
  219. package/src/question/sub-form/sub-form.component.spec.ts +21 -0
  220. package/src/question/sub-form/sub-form.component.ts +421 -0
  221. package/src/services/aggregate.service.ts +148 -0
  222. package/src/services/countryService.ts +92 -0
  223. package/src/services/data.service.ts +36 -0
  224. package/src/services/element-tracker.service.spec.ts +16 -0
  225. package/src/services/element-tracker.service.ts +24 -0
  226. package/src/services/form-validation.service.ts +151 -0
  227. package/src/services/form.service.spec.ts +16 -0
  228. package/src/services/form.service.ts +407 -0
  229. package/src/services/mapper.service.ts +625 -0
  230. package/src/services/recaptcha.service.spec.ts +16 -0
  231. package/src/services/recaptcha.service.ts +179 -0
  232. package/src/services/score.service.ts +352 -0
  233. package/src/services/subform-copy.service.ts +148 -0
  234. package/src/services/validation.service.spec.ts +16 -0
  235. package/src/services/validation.service.ts +33 -0
  236. package/src/services/whenClause.service.ts +502 -0
  237. package/src/shared/shared.module.ts +58 -0
  238. package/src/styles/shared-style.scss +86 -0
  239. package/src/sub-form/sub-form.module.ts +24 -0
  240. package/src/sub-form/submission-modal/submission-modal.component.html +160 -0
  241. package/src/sub-form/submission-modal/submission-modal.component.scss +54 -0
  242. package/src/sub-form/submission-modal/submission-modal.component.spec.ts +21 -0
  243. package/src/sub-form/submission-modal/submission-modal.component.ts +127 -0
  244. package/tsconfig.lib.json +14 -0
  245. package/tsconfig.lib.prod.json +10 -0
  246. package/tsconfig.spec.json +14 -0
  247. package/environment/environment.d.ts +0 -5
  248. package/esm2022/environment/environment.mjs +0 -6
  249. package/esm2022/form-fields/aggregate-function/aggregate-function.component.mjs +0 -146
  250. package/esm2022/form-fields/check-box-fields/check-box-fields.component.mjs +0 -473
  251. package/esm2022/form-fields/currency-fields/currency-fields.component.mjs +0 -502
  252. package/esm2022/form-fields/date-time-fields/date-time-fields.component.mjs +0 -608
  253. package/esm2022/form-fields/drop-down-fields/drop-down-fields.component.mjs +0 -585
  254. package/esm2022/form-fields/file-picker-fields/file-picker-fields.component.mjs +0 -224
  255. package/esm2022/form-fields/form-fields.module.mjs +0 -174
  256. package/esm2022/form-fields/hidden-field/hidden-field.component.mjs +0 -137
  257. package/esm2022/form-fields/iframe-fields/iframe-fields.component.mjs +0 -198
  258. package/esm2022/form-fields/location-fields/location-fields.component.mjs +0 -85
  259. package/esm2022/form-fields/mail-fields/mail-fields.component.mjs +0 -131
  260. package/esm2022/form-fields/mobile-fields/mobile-fields.component.mjs +0 -270
  261. package/esm2022/form-fields/number-fields/number-fields.component.mjs +0 -242
  262. package/esm2022/form-fields/password-fields/password-fields.component.mjs +0 -257
  263. package/esm2022/form-fields/radio-button-fields/radio-button-fields.component.mjs +0 -346
  264. package/esm2022/form-fields/rich-text-editor-fields/rich-text-editor-fields.component.mjs +0 -148
  265. package/esm2022/form-fields/section-fields/section-fields.component.mjs +0 -29
  266. package/esm2022/form-fields/selection-matrix-fields/selection-matrix-fields.component.mjs +0 -158
  267. package/esm2022/form-fields/signature-fields/signature-fields.component.mjs +0 -32
  268. package/esm2022/form-fields/slider-fields/slider-fields.component.mjs +0 -73
  269. package/esm2022/form-fields/terms-and-condition-fields/terms-and-condition-fields.component.mjs +0 -66
  270. package/esm2022/form-fields/text-area-fields/text-area-fields.component.mjs +0 -159
  271. package/esm2022/form-fields/text-fields/text-fields.component.mjs +0 -245
  272. package/esm2022/form-fields/toggle-switch-fields/toggle-switch-fields.component.mjs +0 -85
  273. package/esm2022/form-fields/url-fields/url-fields.component.mjs +0 -124
  274. package/esm2022/form-submission/form-submission.module.mjs +0 -64
  275. package/esm2022/form-submission/header/header.component.mjs +0 -20
  276. package/esm2022/form-submission/navigation-tabs/navigation-tabs.component.mjs +0 -171
  277. package/esm2022/form-submission/next-prev-navigation/next-prev-navigation.component.mjs +0 -124
  278. package/esm2022/form-submission/save-as-draft/saveDraftModalComponent .mjs +0 -50
  279. package/esm2022/form-submission/submission-container/submission-container.component.mjs +0 -17
  280. package/esm2022/form-submission/submit-form/submit-form.component.mjs +0 -1610
  281. package/esm2022/lib/form-submission.component.mjs +0 -113
  282. package/esm2022/lib/form-submission.module.mjs +0 -56
  283. package/esm2022/lib/form-submission.service.mjs +0 -14
  284. package/esm2022/models/aggregate.model.mjs +0 -2
  285. package/esm2022/models/answer.model.mjs +0 -2
  286. package/esm2022/models/appearance.model.mjs +0 -2
  287. package/esm2022/models/attachment.model.mjs +0 -2
  288. package/esm2022/models/defaultAnswerEntry.model.mjs +0 -2
  289. package/esm2022/models/defaultAnswersModel.model.mjs +0 -2
  290. package/esm2022/models/defaultQuestionAnswer.model.mjs +0 -2
  291. package/esm2022/models/elementOptionAPI.model.mjs +0 -2
  292. package/esm2022/models/elementOptionAPIData.model.mjs +0 -2
  293. package/esm2022/models/elementOptionDB.model.mjs +0 -2
  294. package/esm2022/models/elementOptionDBCriteria.model.mjs +0 -2
  295. package/esm2022/models/emitters.model.mjs +0 -2
  296. package/esm2022/models/enum/condition.enum.mjs +0 -18
  297. package/esm2022/models/enum/elementType .enum.mjs +0 -24
  298. package/esm2022/models/enum/entityType.enum.mjs +0 -12
  299. package/esm2022/models/formConfiguration.model.mjs +0 -2
  300. package/esm2022/models/formElement.model.mjs +0 -2
  301. package/esm2022/models/formElementType.model.mjs +0 -2
  302. package/esm2022/models/grid.model.mjs +0 -2
  303. package/esm2022/models/hiddenField.model.mjs +0 -2
  304. package/esm2022/models/iFrameProperties.model.mjs +0 -2
  305. package/esm2022/models/logic.model.mjs +0 -2
  306. package/esm2022/models/multifields.model.mjs +0 -2
  307. package/esm2022/models/option.model.mjs +0 -2
  308. package/esm2022/models/page.model.mjs +0 -2
  309. package/esm2022/models/publicForm.model.mjs +0 -2
  310. package/esm2022/models/question.model.mjs +0 -2
  311. package/esm2022/models/questionAnswer.model.mjs +0 -2
  312. package/esm2022/models/questionGroup.model.mjs +0 -2
  313. package/esm2022/models/row.model.mjs +0 -2
  314. package/esm2022/models/scoring.model.mjs +0 -2
  315. package/esm2022/models/section.model.mjs +0 -2
  316. package/esm2022/models/subForm.model.mjs +0 -2
  317. package/esm2022/models/subformConfiguration.model.mjs +0 -2
  318. package/esm2022/models/subformPropery.model.mjs +0 -2
  319. package/esm2022/models/submission.model.mjs +0 -2
  320. package/esm2022/models/submissionCopyConfig.mopdel.mjs +0 -2
  321. package/esm2022/models/terms&condition.model.mjs +0 -2
  322. package/esm2022/models/validation.model.mjs +0 -2
  323. package/esm2022/models/whenClause.model.mjs +0 -2
  324. package/esm2022/models/whenClauseCondition.model.mjs +0 -2
  325. package/esm2022/models/whenClauseElements.model.mjs +0 -2
  326. package/esm2022/piserve-tech-form-submission.mjs +0 -5
  327. package/esm2022/public-api.mjs +0 -7
  328. package/esm2022/question/card-subform/card-subform.component.mjs +0 -354
  329. package/esm2022/question/confirm-dialog/confirm-dialog.component.mjs +0 -27
  330. package/esm2022/question/form-elements/form-elements.component.mjs +0 -62
  331. package/esm2022/question/inline-multiple-subform/inline-multiple-subform.component.mjs +0 -384
  332. package/esm2022/question/multifields/multifields.component.mjs +0 -54
  333. package/esm2022/question/multiple-subform/multiple-subform.component.mjs +0 -413
  334. package/esm2022/question/question/question.component.mjs +0 -145
  335. package/esm2022/question/question-group/question-group.component.mjs +0 -102
  336. package/esm2022/question/recursive-logic/recursive-logic.component.mjs +0 -49
  337. package/esm2022/question/sub-form/sub-form.component.mjs +0 -351
  338. package/esm2022/services/aggregate.service.mjs +0 -139
  339. package/esm2022/services/countryService.mjs +0 -89
  340. package/esm2022/services/data.service.mjs +0 -36
  341. package/esm2022/services/element-tracker.service.mjs +0 -27
  342. package/esm2022/services/form-validation.service.mjs +0 -128
  343. package/esm2022/services/form.service.mjs +0 -333
  344. package/esm2022/services/mapper.service.mjs +0 -519
  345. package/esm2022/services/recaptcha.service.mjs +0 -136
  346. package/esm2022/services/score.service.mjs +0 -268
  347. package/esm2022/services/subform-copy.service.mjs +0 -122
  348. package/esm2022/services/validation.service.mjs +0 -35
  349. package/esm2022/services/whenClause.service.mjs +0 -423
  350. package/esm2022/shared/shared.module.mjs +0 -97
  351. package/esm2022/sub-form/submission-modal/submission-modal.component.mjs +0 -133
  352. package/fesm2022/piserve-tech-form-submission.mjs +0 -11658
  353. package/fesm2022/piserve-tech-form-submission.mjs.map +0 -1
  354. package/form-fields/aggregate-function/aggregate-function.component.d.ts +0 -43
  355. package/form-fields/check-box-fields/check-box-fields.component.d.ts +0 -73
  356. package/form-fields/currency-fields/currency-fields.component.d.ts +0 -62
  357. package/form-fields/date-time-fields/date-time-fields.component.d.ts +0 -96
  358. package/form-fields/drop-down-fields/drop-down-fields.component.d.ts +0 -88
  359. package/form-fields/file-picker-fields/file-picker-fields.component.d.ts +0 -72
  360. package/form-fields/form-fields.module.d.ts +0 -40
  361. package/form-fields/hidden-field/hidden-field.component.d.ts +0 -38
  362. package/form-fields/iframe-fields/iframe-fields.component.d.ts +0 -35
  363. package/form-fields/location-fields/location-fields.component.d.ts +0 -29
  364. package/form-fields/mail-fields/mail-fields.component.d.ts +0 -41
  365. package/form-fields/mobile-fields/mobile-fields.component.d.ts +0 -71
  366. package/form-fields/number-fields/number-fields.component.d.ts +0 -53
  367. package/form-fields/password-fields/password-fields.component.d.ts +0 -57
  368. package/form-fields/radio-button-fields/radio-button-fields.component.d.ts +0 -70
  369. package/form-fields/rich-text-editor-fields/rich-text-editor-fields.component.d.ts +0 -46
  370. package/form-fields/section-fields/section-fields.component.d.ts +0 -10
  371. package/form-fields/selection-matrix-fields/selection-matrix-fields.component.d.ts +0 -45
  372. package/form-fields/signature-fields/signature-fields.component.d.ts +0 -13
  373. package/form-fields/slider-fields/slider-fields.component.d.ts +0 -32
  374. package/form-fields/terms-and-condition-fields/terms-and-condition-fields.component.d.ts +0 -26
  375. package/form-fields/text-area-fields/text-area-fields.component.d.ts +0 -49
  376. package/form-fields/text-fields/text-fields.component.d.ts +0 -49
  377. package/form-fields/toggle-switch-fields/toggle-switch-fields.component.d.ts +0 -29
  378. package/form-fields/url-fields/url-fields.component.d.ts +0 -41
  379. package/form-submission/form-submission.module.d.ts +0 -20
  380. package/form-submission/header/header.component.d.ts +0 -7
  381. package/form-submission/navigation-tabs/navigation-tabs.component.d.ts +0 -57
  382. package/form-submission/next-prev-navigation/next-prev-navigation.component.d.ts +0 -46
  383. package/form-submission/save-as-draft/saveDraftModalComponent .d.ts +0 -17
  384. package/form-submission/submission-container/submission-container.component.d.ts +0 -7
  385. package/form-submission/submit-form/submit-form.component.d.ts +0 -237
  386. package/index.d.ts +0 -5
  387. package/lib/form-submission.component.d.ts +0 -30
  388. package/lib/form-submission.module.d.ts +0 -16
  389. package/lib/form-submission.service.d.ts +0 -6
  390. package/models/aggregate.model.d.ts +0 -4
  391. package/models/appearance.model.d.ts +0 -64
  392. package/models/elementOptionAPI.model.d.ts +0 -12
  393. package/models/elementOptionAPIData.model.d.ts +0 -5
  394. package/models/elementOptionDB.model.d.ts +0 -8
  395. package/models/elementOptionDBCriteria.model.d.ts +0 -7
  396. package/models/enum/elementType .enum.d.ts +0 -22
  397. package/models/enum/entityType.enum.d.ts +0 -10
  398. package/models/logic.model.d.ts +0 -9
  399. package/models/multifields.model.d.ts +0 -11
  400. package/models/page.model.d.ts +0 -6
  401. package/models/publicForm.model.d.ts +0 -18
  402. package/models/question.model.d.ts +0 -26
  403. package/models/questionAnswer.model.d.ts +0 -7
  404. package/models/questionGroup.model.d.ts +0 -11
  405. package/models/scoring.model.d.ts +0 -10
  406. package/models/section.model.d.ts +0 -6
  407. package/models/subForm.model.d.ts +0 -24
  408. package/models/subformConfiguration.model.d.ts +0 -4
  409. package/models/subformPropery.model.d.ts +0 -7
  410. package/models/validation.model.d.ts +0 -48
  411. package/models/whenClause.model.d.ts +0 -6
  412. package/question/card-subform/card-subform.component.d.ts +0 -44
  413. package/question/confirm-dialog/confirm-dialog.component.d.ts +0 -12
  414. package/question/form-elements/form-elements.component.d.ts +0 -20
  415. package/question/inline-multiple-subform/inline-multiple-subform.component.d.ts +0 -47
  416. package/question/multifields/multifields.component.d.ts +0 -11
  417. package/question/multiple-subform/multiple-subform.component.d.ts +0 -39
  418. package/question/question/question.component.d.ts +0 -30
  419. package/question/question-group/question-group.component.d.ts +0 -29
  420. package/question/recursive-logic/recursive-logic.component.d.ts +0 -19
  421. package/question/sub-form/sub-form.component.d.ts +0 -70
  422. package/services/aggregate.service.d.ts +0 -29
  423. package/services/countryService.d.ts +0 -21
  424. package/services/data.service.d.ts +0 -19
  425. package/services/element-tracker.service.d.ts +0 -10
  426. package/services/form-validation.service.d.ts +0 -16
  427. package/services/form.service.d.ts +0 -27
  428. package/services/mapper.service.d.ts +0 -31
  429. package/services/recaptcha.service.d.ts +0 -46
  430. package/services/score.service.d.ts +0 -27
  431. package/services/subform-copy.service.d.ts +0 -10
  432. package/services/validation.service.d.ts +0 -14
  433. package/services/whenClause.service.d.ts +0 -45
  434. package/shared/shared.module.d.ts +0 -25
  435. package/sub-form/submission-modal/submission-modal.component.d.ts +0 -31
  436. /package/{assets → src/assets}/fonts/Garamond.woff2 +0 -0
  437. /package/{assets → src/assets}/fonts/Georgia.woff2 +0 -0
  438. /package/{assets → src/assets}/fonts/Poppins.woff2 +0 -0
  439. /package/{assets → src/assets}/fonts/Tahoma.woff2 +0 -0
  440. /package/{assets → src/assets}/fonts/Tajawal.woff2 +0 -0
  441. /package/{assets → src/assets}/fonts/Verdana.woff2 +0 -0
  442. /package/{assets → src/assets}/icons/left_arrow.svg +0 -0
  443. /package/{assets → src/assets}/icons/right_arrow.svg +0 -0
@@ -1,224 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { HttpHeaders } from '@angular/common/http';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../services/validation.service";
5
- import * as i2 from "../../services/element-tracker.service";
6
- import * as i3 from "../../services/data.service";
7
- import * as i4 from "../../services/whenClause.service";
8
- import * as i5 from "@angular/common/http";
9
- import * as i6 from "@angular/common";
10
- import * as i7 from "@piserve-tech/file-upload";
11
- export class FilePickerFieldsComponent {
12
- constructor(validationService, tracker, dataService, whenClauseService, http) {
13
- this.validationService = validationService;
14
- this.tracker = tracker;
15
- this.dataService = dataService;
16
- this.whenClauseService = whenClauseService;
17
- this.http = http;
18
- this.question = {};
19
- this.inLine = false;
20
- this.inCard = false;
21
- this.answerChange = new EventEmitter();
22
- this.inlineDeleteFiles = new EventEmitter();
23
- this.count = 0;
24
- this.required = false;
25
- this.hint = '';
26
- this.multiFileUploads = true;
27
- this.fileTypes = [];
28
- this.fileSize = 0;
29
- this.fileSizeUnit = '';
30
- this.totalFileSize = 0;
31
- this.initialFileSize = 0;
32
- this.initialTotalSize = 0;
33
- this.dragAndDrop = false;
34
- this.previewUploadedFiles = true;
35
- this.validationFailed = false;
36
- this.validationMessage = '';
37
- this.attachments = [];
38
- this.avatarPicker = false;
39
- this.elementId = '';
40
- this.apiUrl = '';
41
- this.selectedFiles = [];
42
- this.disableEdit = false;
43
- this.dataService.apiUrl$.subscribe((data) => {
44
- this.apiUrl = data + '/api/cdn/preview?url=';
45
- });
46
- this.dataService.header$.subscribe((data) => {
47
- this.header = data;
48
- });
49
- }
50
- ngOnInit() {
51
- this.valueAssigned();
52
- }
53
- valueAssigned() {
54
- this.count = this.question.count;
55
- this.required = this.question.required;
56
- this.hint = this.question.hint;
57
- this.multiFileUploads =
58
- this.question.formElement.appearance.multiFileUploads;
59
- this.dragAndDrop = this.question.formElement.appearance.dragAndDrop;
60
- this.previewUploadedFiles =
61
- this.question.formElement.appearance.previewUploadedFiles;
62
- this.fileTypes = this.question.formElement.validation.fileTypes;
63
- this.fileSizeUnit = this.question.formElement.validation.fileSizeUnit;
64
- this.avatarPicker = this.question.formElement.appearance.avatarPicker;
65
- this.initialFileSize = this.question.formElement.validation?.fileSize;
66
- this.fileSize = this.convertToBytes(this.initialFileSize, this.fileSizeUnit);
67
- this.initialTotalSize = this.question.formElement.validation?.totalFileSize;
68
- this.totalFileSize = this.convertToBytes(this.initialTotalSize, this.fileSizeUnit);
69
- if (this.question.answer) {
70
- this.files = this.question.answer;
71
- }
72
- this.attachments = this.question?.attachments;
73
- setTimeout(() => {
74
- this.whenClauseService.setQuestionAnswer(this.question.id, this.attachments.length, true);
75
- });
76
- this.convertUrl();
77
- }
78
- convertUrl() {
79
- const token = this.header.authToken;
80
- if (!this.attachments || !token)
81
- return;
82
- this.attachments.forEach((attachment, index) => {
83
- const fileUrl = `${this.apiUrl}${attachment.fileUrl.replace(/\//g, "%2F")}`;
84
- const headers = new HttpHeaders().set('authorization', `Bearer ${token}`);
85
- this.http.get(fileUrl, { headers, responseType: 'blob' }).subscribe((blob) => {
86
- const blobUrl = URL.createObjectURL(blob);
87
- this.attachments[index].previewUrl = blobUrl;
88
- });
89
- });
90
- }
91
- convertToBytes(size, unit) {
92
- const units = {
93
- B: 1,
94
- KB: 1024,
95
- MB: 1024 * 1024,
96
- GB: 1024 * 1024 * 1024,
97
- };
98
- return size * (units[unit.toUpperCase()] || 1);
99
- }
100
- handleFileTypeNotAllowed(fileType) {
101
- this.validationFailed = true;
102
- this.validationMessage = 'File type not allowed';
103
- this.clearValidationMessageAfterTimeout();
104
- }
105
- handleFileSize(event) {
106
- this.validationFailed = true;
107
- if (event === 'File size exceeds the limit') {
108
- this.validationMessage = `${event} ${this.initialFileSize} ${this.fileSizeUnit}`;
109
- }
110
- else if (event === 'Total size exceeds the limit') {
111
- this.validationMessage = `${event} ${this.initialTotalSize} ${this.fileSizeUnit}`;
112
- }
113
- else {
114
- this.validationMessage = event;
115
- }
116
- this.clearValidationMessageAfterTimeout();
117
- }
118
- clearValidationMessageAfterTimeout() {
119
- if (this.timeoutId) {
120
- clearTimeout(this.timeoutId);
121
- }
122
- this.timeoutId = setTimeout(() => {
123
- this.validationMessage = '';
124
- this.validationFailed = false;
125
- this.timeoutId = null;
126
- }, 5000);
127
- }
128
- onFileChange(event) {
129
- const file = event.target.files[0];
130
- this.selectedFile = file;
131
- this.selectedFiles.push(this.selectedFile);
132
- this.question.answer = this.selectedFiles;
133
- this.answerChange.emit({ answer: this.question.answer, maxPossibleScore: 0 });
134
- }
135
- handleFinalArray(fileType) {
136
- const extractedData = fileType.map((item) => ({
137
- name: item._file.name,
138
- size: item._file.size,
139
- type: item._file.type,
140
- }));
141
- const jsonString = JSON.stringify(extractedData);
142
- this.question.answer = fileType;
143
- const fileLength = fileType.length;
144
- setTimeout(() => {
145
- this.whenClauseService.setQuestionAnswer(this.question.id, fileLength);
146
- });
147
- this.answerChange.emit({ answer: this.question.answer, maxPossibleScore: 0 });
148
- this.validationService.clearInvalid(this.buildElementId());
149
- }
150
- deleteFiles(event) {
151
- this.question.deleteFiles = event;
152
- this.question.attachments = this.question.attachments.filter((item) => {
153
- return !event.includes(item.fileId);
154
- });
155
- this.question.copiedAttachments = this.question.copiedAttachments.filter((item) => {
156
- return !event.includes(item);
157
- });
158
- setTimeout(() => {
159
- // Check current file count after delay
160
- const attachmentsLength = this.question?.attachments?.length || 0;
161
- const currentFileCount = this.question?.answer?.length || 0;
162
- // Only call when clause if no new files were added recently
163
- // (assuming handleFinalArray would have updated this.question.answer)
164
- if (attachmentsLength === currentFileCount) {
165
- this.whenClauseService.setQuestionAnswer(this.question.id, attachmentsLength);
166
- }
167
- }, 50);
168
- this.inlineDeleteFiles.emit(this.question.deleteFiles);
169
- }
170
- handleValidation(isValid, message = 'This field is required') {
171
- if (isValid) {
172
- this.validationService.clearInvalid(this.buildElementId());
173
- }
174
- else {
175
- // this.validationService.setInvalid(this.question.id, message);
176
- }
177
- }
178
- buildElementId() {
179
- return (this.inLine || this.inCard)
180
- ? `${this.submissionIndex}-${this.question.id}`
181
- : `${this.question.id}`;
182
- }
183
- get isInvalid() {
184
- return !!this.validationService.getErrorMessage(this.buildElementId());
185
- }
186
- get errorMessage() {
187
- return this.validationService.getErrorMessage(this.buildElementId());
188
- }
189
- ngAfterViewInit() {
190
- if (this.inLine || this.inCard) {
191
- this.elementId = `question-${this.submissionIndex}-${this.question.id}`;
192
- }
193
- else {
194
- this.elementId = `question-${this.question.id}`;
195
- }
196
- this.tracker.registerElement(this.elementId);
197
- }
198
- ngOnDestroy() {
199
- if (this.elementId) {
200
- this.tracker.unregisterElement(this.elementId);
201
- }
202
- }
203
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilePickerFieldsComponent, deps: [{ token: i1.ValidationService }, { token: i2.ElementTrackerService }, { token: i3.DataService }, { token: i4.WhenClauseService }, { token: i5.HttpClient }], target: i0.ɵɵFactoryTarget.Component }); }
204
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FilePickerFieldsComponent, selector: "lib-file-picker-fields", inputs: { question: "question", inLine: "inLine", inCard: "inCard", submissionIndex: "submissionIndex", disableEdit: "disableEdit" }, outputs: { answerChange: "answerChange", inlineDeleteFiles: "inlineDeleteFiles" }, ngImport: i0, template: "<div\n [ngClass]=\"{ 'mb-4': !inLine }\"\n class=\"px-3\"\n [id]=\"(inLine || inCard) ? 'question-' + submissionIndex + '-' + question.id : 'question-' + question.id\"\n [attr.name]=\"question.testElementName\"\n>\n <div class=\"input-wrapper mb-2\" *ngIf=\"!inLine\">\n <div *ngIf=\"question.questionNumber\" [innerHTML]=\"question.questionNumber\"></div>\n <span *ngIf=\"question.questionNumber\" class=\"space\"></span> <label>{{ question.question }}</label\n >&nbsp;\n <span class=\"text-danger\" *ngIf=\"question?.required\">*</span>\n <div\n class=\"svg-wrapper mb-2 hintIcon\"\n [attr.data-title]=\"hint\"\n *ngIf=\"hint\"\n >\n <svg\n class=\"hintSvg\"\n viewBox=\"0 0 30 30\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M15 26.25V26.25C8.78625 26.25 3.75 21.2138 3.75 15V15C3.75 8.78625 8.78625 3.75 15 3.75V3.75C21.2138 3.75 26.25 8.78625 26.25 15V15C26.25 21.2138 21.2138 26.25 15 26.25Z\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M15 16.5623V16.2498C15 15.2285 15.6312 14.6748 16.2637 14.2498C16.8812 13.8335 17.5 13.291 17.5 12.291C17.5 10.9098 16.3813 9.79102 15 9.79102C13.6187 9.79102 12.5 10.9098 12.5 12.291\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M14.9988 20C14.8263 20 14.6863 20.14 14.6875 20.3125C14.6875 20.485 14.8275 20.625 15 20.625C15.1725 20.625 15.3125 20.485 15.3125 20.3125C15.3125 20.14 15.1725 20 14.9988 20\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n <div\n [ngClass]=\"{'field-disabled':disableEdit}\"\n >\n <lib-docUpload\n [totalSize]=\"totalFileSize\"\n [fileAllowed]=\"fileTypes\"\n [multiple]=\"multiFileUploads\"\n [fileSize]=\"fileSize\"\n [files]=\"files\"\n [avatarPicker]=\"avatarPicker\"\n (fileTypeNotAllowed)=\"handleFileTypeNotAllowed($event)\"\n (fileSizeAllowed)=\"handleFileSize($event)\"\n (finalArray)=\"handleFinalArray($event)\"\n [attachments]=\"attachments\"\n (deleteFiles)=\"deleteFiles($event)\"\n ></lib-docUpload>\n </div>\n\n <div *ngIf=\"isInvalid && (!inLine || (!question.answer||!attachments))\" class=\"error-message\">\n {{ errorMessage }}\n </div>\n <div *ngIf=\"validationFailed && !isInvalid\" class=\"text-danger error-message\">\n {{ validationMessage }}\n </div>\n</div>\n", styles: [".input-wrapper{display:flex;align-items:flex-start}.svg-wrapper{margin-inline-start:auto;z-index:999}.hintIcon{position:relative;cursor:pointer}.hintIcon:hover:before{content:attr(data-title);position:absolute;top:calc(100% + 2px);right:0;padding:4px 8px;border-radius:4px;background-color:#1d252d;color:#8e9aa0;font-size:14px;min-width:300px;word-wrap:break-word;word-break:break-word;text-align:center;white-space:normal}.hintIcon:hover:after{content:\"\";position:absolute;top:calc(100% - 26px);left:50%;border:solid transparent;border-width:18px;border-bottom-color:#1d252d;transform:translate(-50%)}.height{height:42px}.invalid{border-color:red}.hintSvg{width:30px;height:30px;fill:none}::ng-deep html lib-formSubmission{font-family:var(--library-font-family)!important;font-size:var(--library-font-size)!important}::ng-deep .timepicker-overlay{z-index:1000!important}::ng-deep .timepicker-backdrop-overlay{z-index:1000!important}.space{width:5px}.error-message{color:#f44336;font-size:.8em;margin-top:4px;padding:0 8px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.fileInput{position:relative;height:44px;width:111px;background:#d3d3d3;border-radius:6px;padding:0 16px;display:flex;align-items:center;justify-content:center;cursor:pointer}.fileInput input{opacity:0;position:absolute;left:0;top:0;width:100%;height:inherit}.invalid-question{border:2px solid #f44336;border-radius:4px;padding:8px;margin-bottom:4px}.field-disabled{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.DocUploadComponent, selector: "lib-docUpload", inputs: ["totalSize", "fileAllowed", "multiple", "avatarPicker", "attachments", "files", "fileSize"], outputs: ["fileTypeNotAllowed", "fileSizeAllowed", "finalArray", "deleteFiles"] }] }); }
205
- }
206
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilePickerFieldsComponent, decorators: [{
207
- type: Component,
208
- args: [{ selector: 'lib-file-picker-fields', template: "<div\n [ngClass]=\"{ 'mb-4': !inLine }\"\n class=\"px-3\"\n [id]=\"(inLine || inCard) ? 'question-' + submissionIndex + '-' + question.id : 'question-' + question.id\"\n [attr.name]=\"question.testElementName\"\n>\n <div class=\"input-wrapper mb-2\" *ngIf=\"!inLine\">\n <div *ngIf=\"question.questionNumber\" [innerHTML]=\"question.questionNumber\"></div>\n <span *ngIf=\"question.questionNumber\" class=\"space\"></span> <label>{{ question.question }}</label\n >&nbsp;\n <span class=\"text-danger\" *ngIf=\"question?.required\">*</span>\n <div\n class=\"svg-wrapper mb-2 hintIcon\"\n [attr.data-title]=\"hint\"\n *ngIf=\"hint\"\n >\n <svg\n class=\"hintSvg\"\n viewBox=\"0 0 30 30\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M15 26.25V26.25C8.78625 26.25 3.75 21.2138 3.75 15V15C3.75 8.78625 8.78625 3.75 15 3.75V3.75C21.2138 3.75 26.25 8.78625 26.25 15V15C26.25 21.2138 21.2138 26.25 15 26.25Z\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M15 16.5623V16.2498C15 15.2285 15.6312 14.6748 16.2637 14.2498C16.8812 13.8335 17.5 13.291 17.5 12.291C17.5 10.9098 16.3813 9.79102 15 9.79102C13.6187 9.79102 12.5 10.9098 12.5 12.291\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M14.9988 20C14.8263 20 14.6863 20.14 14.6875 20.3125C14.6875 20.485 14.8275 20.625 15 20.625C15.1725 20.625 15.3125 20.485 15.3125 20.3125C15.3125 20.14 15.1725 20 14.9988 20\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n <div\n [ngClass]=\"{'field-disabled':disableEdit}\"\n >\n <lib-docUpload\n [totalSize]=\"totalFileSize\"\n [fileAllowed]=\"fileTypes\"\n [multiple]=\"multiFileUploads\"\n [fileSize]=\"fileSize\"\n [files]=\"files\"\n [avatarPicker]=\"avatarPicker\"\n (fileTypeNotAllowed)=\"handleFileTypeNotAllowed($event)\"\n (fileSizeAllowed)=\"handleFileSize($event)\"\n (finalArray)=\"handleFinalArray($event)\"\n [attachments]=\"attachments\"\n (deleteFiles)=\"deleteFiles($event)\"\n ></lib-docUpload>\n </div>\n\n <div *ngIf=\"isInvalid && (!inLine || (!question.answer||!attachments))\" class=\"error-message\">\n {{ errorMessage }}\n </div>\n <div *ngIf=\"validationFailed && !isInvalid\" class=\"text-danger error-message\">\n {{ validationMessage }}\n </div>\n</div>\n", styles: [".input-wrapper{display:flex;align-items:flex-start}.svg-wrapper{margin-inline-start:auto;z-index:999}.hintIcon{position:relative;cursor:pointer}.hintIcon:hover:before{content:attr(data-title);position:absolute;top:calc(100% + 2px);right:0;padding:4px 8px;border-radius:4px;background-color:#1d252d;color:#8e9aa0;font-size:14px;min-width:300px;word-wrap:break-word;word-break:break-word;text-align:center;white-space:normal}.hintIcon:hover:after{content:\"\";position:absolute;top:calc(100% - 26px);left:50%;border:solid transparent;border-width:18px;border-bottom-color:#1d252d;transform:translate(-50%)}.height{height:42px}.invalid{border-color:red}.hintSvg{width:30px;height:30px;fill:none}::ng-deep html lib-formSubmission{font-family:var(--library-font-family)!important;font-size:var(--library-font-size)!important}::ng-deep .timepicker-overlay{z-index:1000!important}::ng-deep .timepicker-backdrop-overlay{z-index:1000!important}.space{width:5px}.error-message{color:#f44336;font-size:.8em;margin-top:4px;padding:0 8px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.fileInput{position:relative;height:44px;width:111px;background:#d3d3d3;border-radius:6px;padding:0 16px;display:flex;align-items:center;justify-content:center;cursor:pointer}.fileInput input{opacity:0;position:absolute;left:0;top:0;width:100%;height:inherit}.invalid-question{border:2px solid #f44336;border-radius:4px;padding:8px;margin-bottom:4px}.field-disabled{pointer-events:none}\n"] }]
209
- }], ctorParameters: function () { return [{ type: i1.ValidationService }, { type: i2.ElementTrackerService }, { type: i3.DataService }, { type: i4.WhenClauseService }, { type: i5.HttpClient }]; }, propDecorators: { question: [{
210
- type: Input
211
- }], inLine: [{
212
- type: Input
213
- }], inCard: [{
214
- type: Input
215
- }], submissionIndex: [{
216
- type: Input
217
- }], answerChange: [{
218
- type: Output
219
- }], inlineDeleteFiles: [{
220
- type: Output
221
- }], disableEdit: [{
222
- type: Input
223
- }] } });
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1waWNrZXItZmllbGRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm0tc3VibWlzc2lvbi9zcmMvZm9ybS1maWVsZHMvZmlsZS1waWNrZXItZmllbGRzL2ZpbGUtcGlja2VyLWZpZWxkcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL2Zvcm0tZmllbGRzL2ZpbGUtcGlja2VyLWZpZWxkcy9maWxlLXBpY2tlci1maWVsZHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt2RSxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7OztBQWMvRCxNQUFNLE9BQU8seUJBQXlCO0lBa0NwQyxZQUNZLGlCQUFvQyxFQUNwQyxPQUE4QixFQUM5QixXQUF3QixFQUN4QixpQkFBbUMsRUFDbkMsSUFBZ0I7UUFKaEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUM5QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQ25DLFNBQUksR0FBSixJQUFJLENBQVk7UUF0Q25CLGFBQVEsR0FBUSxFQUFFLENBQUM7UUFDbkIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN4QixXQUFNLEdBQVksS0FBSyxDQUFDO1FBRXZCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQThDLENBQUM7UUFDOUUsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV0RCxVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBQ2xCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsU0FBSSxH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QUM7SUFDekUsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUM7U0FDekU7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO1NBQ2pEO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ2hEO0lBQ0gsQ0FBQzsrR0EzT1UseUJBQXlCO21HQUF6Qix5QkFBeUIsdVJDbkJ0QywrdEZBd0VBOzs0RkRyRGEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHdCQUF3QjsrTkFLekIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBeUJFLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWxlbWVudFRyYWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZWxlbWVudC10cmFja2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmFsaWRhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy92YWxpZGF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2hlbkNsYXVzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93aGVuQ2xhdXNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXR0YWNobWVudCB7XG4gIGZpbGVJZDogc3RyaW5nO1xuICBmaWxlTmFtZTogc3RyaW5nO1xuICBmaWxlVXJsOiBzdHJpbmc7XG4gIHByZXZpZXdVcmw/OiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1maWxlLXBpY2tlci1maWVsZHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1waWNrZXItZmllbGRzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS1waWNrZXItZmllbGRzLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVQaWNrZXJGaWVsZHNDb21wb25lbnQge1xuICBASW5wdXQoKSBxdWVzdGlvbjogYW55ID0ge307XG4gIEBJbnB1dCgpIGluTGluZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBpbkNhcmQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc3VibWlzc2lvbkluZGV4ITogbnVtYmVyO1xuICBAT3V0cHV0KCkgYW5zd2VyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7IGFuc3dlcjogYW55OyBtYXhQb3NzaWJsZVNjb3JlPzogbnVtYmVyIH0+KCk7XG4gIEBPdXRwdXQoKSBpbmxpbmVEZWxldGVGaWxlcyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvdW50OiBudW1iZXIgPSAwO1xuICByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBoaW50OiBzdHJpbmcgPSAnJztcbiAgbXVsdGlGaWxlVXBsb2FkczogYm9vbGVhbiA9IHRydWU7XG4gIGZpbGVUeXBlczogc3RyaW5nW10gPSBbXTtcbiAgZmlsZVNpemU6IG51bWJlciA9IDA7XG4gIGZpbGVTaXplVW5pdDogc3RyaW5nID0gJyc7XG4gIHRvdGFsRmlsZVNpemU6IG51bWJlciA9IDA7XG4gIGluaXRpYWxGaWxlU2l6ZTogbnVtYmVyID0gMDtcbiAgaW5pdGlhbFRvdGFsU2l6ZTogbnVtYmVyID0gMDtcbiAgZHJhZ0FuZERyb3A6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJldmlld1VwbG9hZGVkRmlsZXM6IGJvb2xlYW4gPSB0cnVlO1xuICB2YWxpZGF0aW9uRmFpbGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcgPSAnJztcbiAgYXR0YWNobWVudHM6IEF0dGFjaG1lbnRbXSA9IFtdO1xuICB0aW1lb3V0SWQ6IGFueTtcblxuICBhdmF0YXJQaWNrZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZmlsZXM6IGFueTtcbiAgcHJpdmF0ZSBlbGVtZW50SWQ6IHN0cmluZz0nJztcbiAgYXBpVXJsOnN0cmluZyA9ICcnO1xuICBzZWxlY3RlZEZpbGUhOiBGaWxlO1xuICBzZWxlY3RlZEZpbGVzOiBhbnkgPSBbXTtcbiAgQElucHV0KCkgZGlzYWJsZUVkaXQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaGVhZGVyOmFueTtcbiAgXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSB2YWxpZGF0aW9uU2VydmljZTogVmFsaWRhdGlvblNlcnZpY2UsXG4gICAgICBwcml2YXRlIHRyYWNrZXI6IEVsZW1lbnRUcmFja2VyU2VydmljZSxcbiAgICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxuICAgICAgcHJpdmF0ZSB3aGVuQ2xhdXNlU2VydmljZTpXaGVuQ2xhdXNlU2VydmljZSxcbiAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudFxuICAgICkge1xuICAgICAgdGhpcy5kYXRhU2VydmljZS5hcGlVcmwkLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgICB0aGlzLmFwaVVybCA9IGRhdGErJy9hcGkvY2RuL3ByZXZpZXc/dXJsPSc7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5kYXRhU2VydmljZS5oZWFkZXIkLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgICB0aGlzLmhlYWRlciA9IGRhdGE7XG4gICAgICB9KTtcbiAgICB9XG5cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgdGhpcy52YWx1ZUFzc2lnbmVkKCk7XG4gICAgfVxuICBcbiAgICB2YWx1ZUFzc2lnbmVkKCkge1xuICAgICAgdGhpcy5jb3VudCA9IHRoaXMucXVlc3Rpb24uY291bnQ7XG4gICAgICB0aGlzLnJlcXVpcmVkID0gdGhpcy5xdWVzdGlvbi5yZXF1aXJlZDtcbiAgICAgIHRoaXMuaGludCA9IHRoaXMucXVlc3Rpb24uaGludDtcbiAgICAgIHRoaXMubXVsdGlGaWxlVXBsb2FkcyA9XG4gICAgICAgIHRoaXMucXVlc3Rpb24uZm9ybUVsZW1lbnQuYXBwZWFyYW5jZS5tdWx0aUZpbGVVcGxvYWRzO1xuICAgICAgdGhpcy5kcmFnQW5kRHJvcCA9IHRoaXMucXVlc3Rpb24uZm9ybUVsZW1lbnQuYXBwZWFyYW5jZS5kcmFnQW5kRHJvcDtcbiAgICAgIHRoaXMucHJldmlld1VwbG9hZGVkRmlsZXMgPVxuICAgICAgICB0aGlzLnF1ZXN0aW9uLmZvcm1FbGVtZW50LmFwcGVhcmFuY2UucHJldmlld1VwbG9hZGVkRmlsZXM7XG4gICAgICB0aGlzLmZpbGVUeXBlcyA9IHRoaXMucXVlc3Rpb24uZm9ybUVsZW1lbnQudmFsaWRhdGlvbi5maWxlVHlwZXM7XG4gICAgICB0aGlzLmZpbGVTaXplVW5pdCA9IHRoaXMucXVlc3Rpb24uZm9ybUVsZW1lbnQudmFsaWRhdGlvbi5maWxlU2l6ZVVuaXQ7XG4gICAgICB0aGlzLmF2YXRhclBpY2tlciA9IHRoaXMucXVlc3Rpb24uZm9ybUVsZW1lbnQuYXBwZWFyYW5jZS5hdmF0YXJQaWNrZXI7XG4gICAgICB0aGlzLmluaXRpYWxGaWxlU2l6ZSA9IHRoaXMucXVlc3Rpb24uZm9ybUVsZW1lbnQudmFsaWRhdGlvbj8uZmlsZVNpemU7XG4gICAgICB0aGlzLmZpbGVTaXplID0gdGhpcy5jb252ZXJ0VG9CeXRlcyhcbiAgICAgICAgdGhpcy5pbml0aWFsRmlsZVNpemUsXG4gICAgICAgIHRoaXMuZmlsZVNpemVVbml0XG4gICAgICApO1xuICAgICAgdGhpcy5pbml0aWFsVG90YWxTaXplID0gdGhpcy5xdWVzdGlvbi5mb3JtRWxlbWVudC52YWxpZGF0aW9uPy50b3RhbEZpbGVTaXplO1xuICAgICAgdGhpcy50b3RhbEZpbGVTaXplID0gdGhpcy5jb252ZXJ0VG9CeXRlcyhcbiAgICAgICAgdGhpcy5pbml0aWFsVG90YWxTaXplLFxuICAgICAgICB0aGlzLmZpbGVTaXplVW5pdFxuICAgICAgKTtcbiAgXG4gICAgICBpZiAodGhpcy5xdWVzdGlvbi5hbnN3ZXIpIHtcbiAgICAgICAgdGhpcy5maWxlcyA9IHRoaXMucXVlc3Rpb24uYW5zd2VyO1xuICAgICAgfVxuICBcbiAgXG4gICAgICB0aGlzLmF0dGFjaG1lbnRzID0gdGhpcy5xdWVzdGlvbj8uYXR0YWNobWVudHM7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy53aGVuQ2xhdXNlU2VydmljZS5zZXRRdWVzdGlvbkFuc3dlcih0aGlzLnF1ZXN0aW9uLmlkLHRoaXMuYXR0YWNobWVudHMubGVuZ3RoLHRydWUpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmNvbnZlcnRVcmwoKTtcbiAgICB9XG4gIFxuICAgIGNvbnZlcnRVcmwoKXtcbiAgICAgIGNvbnN0IHRva2VuID0gdGhpcy5oZWFkZXIuYXV0aFRva2VuO1xuXG4gICAgICBpZiAoIXRoaXMuYXR0YWNobWVudHMgfHwgIXRva2VuKSByZXR1cm47XG5cbiAgICAgIHRoaXMuYXR0YWNobWVudHMuZm9yRWFjaCgoYXR0YWNobWVudCwgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3QgZmlsZVVybCA9IGAke3RoaXMuYXBpVXJsfSR7YXR0YWNobWVudC5maWxlVXJsLnJlcGxhY2UoL1xcLy9nLCBcIiUyRlwiKX1gOyAgICAgICAgXG4gICAgICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ2F1dGhvcml6YXRpb24nLCBgQmVhcmVyICR7dG9rZW59YCk7XG4gICAgXG4gICAgICAgIHRoaXMuaHR0cC5nZXQoZmlsZVVybCwgeyBoZWFkZXJzLCByZXNwb25zZVR5cGU6ICdibG9iJyB9KS5zdWJzY3JpYmUoKGJsb2IpID0+IHtcbiAgICAgICAgICBjb25zdCBibG9iVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICAgICAgICB0aGlzLmF0dGFjaG1lbnRzW2luZGV4XS5wcmV2aWV3VXJsID0gYmxvYlVybDtcbiAgICAgICAgfSk7XG4gICAgICB9KTsgICAgICBcbiAgICB9XG4gIFxuICAgIGNvbnZlcnRUb0J5dGVzKHNpemU6IG51bWJlciwgdW5pdDogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgIGNvbnN0IHVuaXRzOiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9ID0ge1xuICAgICAgICBCOiAxLFxuICAgICAgICBLQjogMTAyNCxcbiAgICAgICAgTUI6IDEwMjQgKiAxMDI0LFxuICAgICAgICBHQjogMTAyNCAqIDEwMjQgKiAxMDI0LFxuICAgICAgfTtcbiAgICAgIHJldHVybiBzaXplICogKHVuaXRzW3VuaXQudG9VcHBlckNhc2UoKV0gfHwgMSk7XG4gICAgfVxuICBcblxuICBoYW5kbGVGaWxlVHlwZU5vdEFsbG93ZWQoZmlsZVR5cGU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudmFsaWRhdGlvbkZhaWxlZCA9IHRydWU7XG4gICAgdGhpcy52YWxpZGF0aW9uTWVzc2FnZSA9ICdGaWxlIHR5cGUgbm90IGFsbG93ZWQnO1xuICAgIHRoaXMuY2xlYXJWYWxpZGF0aW9uTWVzc2FnZUFmdGVyVGltZW91dCgpO1xuICB9XG5cbiAgaGFuZGxlRmlsZVNpemUoZXZlbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudmFsaWRhdGlvbkZhaWxlZCA9IHRydWU7XG4gICAgaWYgKGV2ZW50ID09PSAnRmlsZSBzaXplIGV4Y2VlZHMgdGhlIGxpbWl0Jykge1xuICAgICAgdGhpcy52YWxpZGF0aW9uTWVzc2FnZSA9IGAke2V2ZW50fSAke3RoaXMuaW5pdGlhbEZpbGVTaXplfSAke3RoaXMuZmlsZVNpemVVbml0fWA7XG4gICAgfSBlbHNlIGlmIChldmVudCA9PT0gJ1RvdGFsIHNpemUgZXhjZWVkcyB0aGUgbGltaXQnKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25NZXNzYWdlID0gYCR7ZXZlbnR9ICR7dGhpcy5pbml0aWFsVG90YWxTaXplfSAke3RoaXMuZmlsZVNpemVVbml0fWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsaWRhdGlvbk1lc3NhZ2UgPSBldmVudDtcbiAgICB9XG4gICAgdGhpcy5jbGVhclZhbGlkYXRpb25NZXNzYWdlQWZ0ZXJUaW1lb3V0KCk7XG4gIH1cblxuICBjbGVhclZhbGlkYXRpb25NZXNzYWdlQWZ0ZXJUaW1lb3V0KCk6IHZvaWQge1xuICBpZiAodGhpcy50aW1lb3V0SWQpIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0SWQpO1xuICB9XG5cbiAgdGhpcy50aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICB0aGlzLnZhbGlkYXRpb25NZXNzYWdlID0gJyc7XG4gICAgdGhpcy52YWxpZGF0aW9uRmFpbGVkID0gZmFsc2U7XG4gICAgdGhpcy50aW1lb3V0SWQgPSBudWxsO1xuICB9LCA1MDAwKTtcbn0gXG5cbiAgb25GaWxlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBmaWxlOiBGaWxlID0gZXZlbnQudGFyZ2V0LmZpbGVzWzBdO1xuICAgIHRoaXMuc2VsZWN0ZWRGaWxlID0gZmlsZTtcbiAgICB0aGlzLnNlbGVjdGVkRmlsZXMucHVzaCh0aGlzLnNlbGVjdGVkRmlsZSk7XG4gICAgdGhpcy5xdWVzdGlvbi5hbnN3ZXIgPSB0aGlzLnNlbGVjdGVkRmlsZXM7XG4gICAgdGhpcy5hbnN3ZXJDaGFuZ2UuZW1pdCh7YW5zd2VyOnRoaXMucXVlc3Rpb24uYW5zd2VyLG1heFBvc3NpYmxlU2NvcmU6MH0pO1xuICB9XG5cbiAgaGFuZGxlRmluYWxBcnJheShmaWxlVHlwZTogYW55W10pOiB2b2lkIHtcbiAgICBjb25zdCBleHRyYWN0ZWREYXRhID0gZmlsZVR5cGUubWFwKChpdGVtOiBhbnkpID0+ICh7XG4gICAgICBuYW1lOiBpdGVtLl9maWxlLm5hbWUsXG4gICAgICBzaXplOiBpdGVtLl9maWxlLnNpemUsXG4gICAgICB0eXBlOiBpdGVtLl9maWxlLnR5cGUsXG4gICAgfSkpO1xuXG5cbiAgICBjb25zdCBqc29uU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoZXh0cmFjdGVkRGF0YSk7XG4gICAgdGhpcy5xdWVzdGlvbi5hbnN3ZXIgPSBmaWxlVHlwZTtcbiAgICBjb25zdCBmaWxlTGVuZ3RoID0gZmlsZVR5cGUubGVuZ3RoO1xuICAgIFxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy53aGVuQ2xhdXNlU2VydmljZS5zZXRRdWVzdGlvbkFuc3dlcih0aGlzLnF1ZXN0aW9uLmlkLGZpbGVMZW5ndGgpO1xuICAgIH0pO1xuICAgIHRoaXMuYW5zd2VyQ2hhbmdlLmVtaXQoe2Fuc3dlcjp0aGlzLnF1ZXN0aW9uLmFuc3dlcixtYXhQb3NzaWJsZVNjb3JlOjB9KTtcbiAgICB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmNsZWFySW52YWxpZCh0aGlzLmJ1aWxkRWxlbWVudElkKCkpO1xuICB9XG4gIGRlbGV0ZUZpbGVzKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnF1ZXN0aW9uLmRlbGV0ZUZpbGVzID0gZXZlbnQ7XG4gICAgdGhpcy5xdWVzdGlvbi5hdHRhY2htZW50cyA9IHRoaXMucXVlc3Rpb24uYXR0YWNobWVudHMuZmlsdGVyKFxuICAgICAgKGl0ZW06IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gIWV2ZW50LmluY2x1ZGVzKGl0ZW0uZmlsZUlkKTtcbiAgICAgIH1cbiAgICApO1xuICAgIHRoaXMucXVlc3Rpb24uY29waWVkQXR0YWNobWVudHMgPSB0aGlzLnF1ZXN0aW9uLmNvcGllZEF0dGFjaG1lbnRzLmZpbHRlcihcbiAgICAgIChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgcmV0dXJuICFldmVudC5pbmNsdWRlcyhpdGVtKTtcbiAgICAgIH1cbiAgICApO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgLy8gQ2hlY2sgY3VycmVudCBmaWxlIGNvdW50IGFmdGVyIGRlbGF5XG4gICAgICBjb25zdCBhdHRhY2htZW50c0xlbmd0aCA9IHRoaXMucXVlc3Rpb24/LmF0dGFjaG1lbnRzPy5sZW5ndGggfHwgMDtcbiAgICAgIGNvbnN0IGN1cnJlbnRGaWxlQ291bnQgPSB0aGlzLnF1ZXN0aW9uPy5hbnN3ZXI/Lmxlbmd0aCB8fCAwO1xuICAgICAgXG4gICAgICAvLyBPbmx5IGNhbGwgd2hlbiBjbGF1c2UgaWYgbm8gbmV3IGZpbGVzIHdlcmUgYWRkZWQgcmVjZW50bHlcbiAgICAgIC8vIChhc3N1bWluZyBoYW5kbGVGaW5hbEFycmF5IHdvdWxkIGhhdmUgdXBkYXRlZCB0aGlzLnF1ZXN0aW9uLmFuc3dlcilcbiAgICAgIGlmIChhdHRhY2htZW50c0xlbmd0aCA9PT0gY3VycmVudEZpbGVDb3VudCkge1xuICAgICAgICB0aGlzLndoZW5DbGF1c2VTZXJ2aWNlLnNldFF1ZXN0aW9uQW5zd2VyKHRoaXMucXVlc3Rpb24uaWQsIGF0dGFjaG1lbnRzTGVuZ3RoKTtcbiAgICAgIH1cbiAgICB9LCA1MCk7XG4gICAgdGhpcy5pbmxpbmVEZWxldGVGaWxlcy5lbWl0KHRoaXMucXVlc3Rpb24uZGVsZXRlRmlsZXMpO1xuICB9XG5cbiAgaGFuZGxlVmFsaWRhdGlvbihpc1ZhbGlkOiBib29sZWFuLCBtZXNzYWdlOiBzdHJpbmcgPSAnVGhpcyBmaWVsZCBpcyByZXF1aXJlZCcpIHtcbiAgICBpZiAoaXNWYWxpZCkge1xuICAgICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5jbGVhckludmFsaWQodGhpcy5idWlsZEVsZW1lbnRJZCgpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdGhpcy52YWxpZGF0aW9uU2VydmljZS5zZXRJbnZhbGlkKHRoaXMucXVlc3Rpb24uaWQsIG1lc3NhZ2UpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRFbGVtZW50SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMuaW5MaW5lIHx8IHRoaXMuaW5DYXJkKVxuICAgICAgPyBgJHt0aGlzLnN1Ym1pc3Npb25JbmRleH0tJHt0aGlzLnF1ZXN0aW9uLmlkfWBcbiAgICAgIDogYCR7dGhpcy5xdWVzdGlvbi5pZH1gO1xuICB9XG5cbiAgZ2V0IGlzSW52YWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmdldEVycm9yTWVzc2FnZSh0aGlzLmJ1aWxkRWxlbWVudElkKCkpO1xuICB9XG5cbiAgZ2V0IGVycm9yTWVzc2FnZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0aW9uU2VydmljZS5nZXRFcnJvck1lc3NhZ2UodGhpcy5idWlsZEVsZW1lbnRJZCgpKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy5pbkxpbmUgfHwgdGhpcy5pbkNhcmQpIHtcbiAgICAgIHRoaXMuZWxlbWVudElkID0gYHF1ZXN0aW9uLSR7dGhpcy5zdWJtaXNzaW9uSW5kZXh9LSR7dGhpcy5xdWVzdGlvbi5pZH1gO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVsZW1lbnRJZCA9IGBxdWVzdGlvbi0ke3RoaXMucXVlc3Rpb24uaWR9YDtcbiAgICB9XG4gIFxuICAgIHRoaXMudHJhY2tlci5yZWdpc3RlckVsZW1lbnQodGhpcy5lbGVtZW50SWQpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuZWxlbWVudElkKSB7XG4gICAgICB0aGlzLnRyYWNrZXIudW5yZWdpc3RlckVsZW1lbnQodGhpcy5lbGVtZW50SWQpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBbbmdDbGFzc109XCJ7ICdtYi00JzogIWluTGluZSB9XCJcbiAgY2xhc3M9XCJweC0zXCJcbiAgW2lkXT1cIihpbkxpbmUgfHwgaW5DYXJkKSA/ICdxdWVzdGlvbi0nICsgc3VibWlzc2lvbkluZGV4ICsgJy0nICsgcXVlc3Rpb24uaWQgOiAncXVlc3Rpb24tJyArIHF1ZXN0aW9uLmlkXCJcbiAgW2F0dHIubmFtZV09XCJxdWVzdGlvbi50ZXN0RWxlbWVudE5hbWVcIlxuPlxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtd3JhcHBlciBtYi0yXCIgKm5nSWY9XCIhaW5MaW5lXCI+XG4gICAgPGRpdiAqbmdJZj1cInF1ZXN0aW9uLnF1ZXN0aW9uTnVtYmVyXCIgW2lubmVySFRNTF09XCJxdWVzdGlvbi5xdWVzdGlvbk51bWJlclwiPjwvZGl2PlxuICAgIDxzcGFuICpuZ0lmPVwicXVlc3Rpb24ucXVlc3Rpb25OdW1iZXJcIiBjbGFzcz1cInNwYWNlXCI+PC9zcGFuPiA8bGFiZWw+e3sgcXVlc3Rpb24ucXVlc3Rpb24gfX08L2xhYmVsXG4gICAgPiZuYnNwO1xuICAgIDxzcGFuIGNsYXNzPVwidGV4dC1kYW5nZXJcIiAqbmdJZj1cInF1ZXN0aW9uPy5yZXF1aXJlZFwiPio8L3NwYW4+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJzdmctd3JhcHBlciBtYi0yIGhpbnRJY29uXCJcbiAgICAgIFthdHRyLmRhdGEtdGl0bGVdPVwiaGludFwiXG4gICAgICAqbmdJZj1cImhpbnRcIlxuICAgID5cbiAgICAgIDxzdmdcbiAgICAgICAgY2xhc3M9XCJoaW50U3ZnXCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAzMCAzMFwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGQ9XCJNMTUgMjYuMjVWMjYuMjVDOC43ODYyNSAyNi4yNSAzLjc1IDIxLjIxMzggMy43NSAxNVYxNUMzLjc1IDguNzg2MjUgOC43ODYyNSAzLjc1IDE1IDMuNzVWMy43NUMyMS4yMTM4IDMuNzUgMjYuMjUgOC43ODYyNSAyNi4yNSAxNVYxNUMyNi4yNSAyMS4yMTM4IDIxLjIxMzggMjYuMjUgMTUgMjYuMjVaXCJcbiAgICAgICAgICBzdHJva2U9XCIjMzIzMjMyXCJcbiAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTE1IDE2LjU2MjNWMTYuMjQ5OEMxNSAxNS4yMjg1IDE1LjYzMTIgMTQuNjc0OCAxNi4yNjM3IDE0LjI0OThDMTYuODgxMiAxMy44MzM1IDE3LjUgMTMuMjkxIDE3LjUgMTIuMjkxQzE3LjUgMTAuOTA5OCAxNi4zODEzIDkuNzkxMDIgMTUgOS43OTEwMkMxMy42MTg3IDkuNzkxMDIgMTIuNSAxMC45MDk4IDEyLjUgMTIuMjkxXCJcbiAgICAgICAgICBzdHJva2U9XCIjMzIzMjMyXCJcbiAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTE0Ljk5ODggMjBDMTQuODI2MyAyMCAxNC42ODYzIDIwLjE0IDE0LjY4NzUgMjAuMzEyNUMxNC42ODc1IDIwLjQ4NSAxNC44Mjc1IDIwLjYyNSAxNSAyMC42MjVDMTUuMTcyNSAyMC42MjUgMTUuMzEyNSAyMC40ODUgMTUuMzEyNSAyMC4zMTI1QzE1LjMxMjUgMjAuMTQgMTUuMTcyNSAyMCAxNC45OTg4IDIwXCJcbiAgICAgICAgICBzdHJva2U9XCIjMzIzMjMyXCJcbiAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdlxuICBbbmdDbGFzc109XCJ7J2ZpZWxkLWRpc2FibGVkJzpkaXNhYmxlRWRpdH1cIlxuICA+XG4gICAgPGxpYi1kb2NVcGxvYWRcbiAgICBbdG90YWxTaXplXT1cInRvdGFsRmlsZVNpemVcIlxuICAgIFtmaWxlQWxsb3dlZF09XCJmaWxlVHlwZXNcIlxuICAgIFttdWx0aXBsZV09XCJtdWx0aUZpbGVVcGxvYWRzXCJcbiAgICBbZmlsZVNpemVdPVwiZmlsZVNpemVcIlxuICAgIFtmaWxlc109XCJmaWxlc1wiXG4gICAgW2F2YXRhclBpY2tlcl09XCJhdmF0YXJQaWNrZXJcIlxuICAgIChmaWxlVHlwZU5vdEFsbG93ZWQpPVwiaGFuZGxlRmlsZVR5cGVOb3RBbGxvd2VkKCRldmVudClcIlxuICAgIChmaWxlU2l6ZUFsbG93ZWQpPVwiaGFuZGxlRmlsZVNpemUoJGV2ZW50KVwiXG4gICAgKGZpbmFsQXJyYXkpPVwiaGFuZGxlRmluYWxBcnJheSgkZXZlbnQpXCJcbiAgICBbYXR0YWNobWVudHNdPVwiYXR0YWNobWVudHNcIlxuICAgIChkZWxldGVGaWxlcyk9XCJkZWxldGVGaWxlcygkZXZlbnQpXCJcbiAgPjwvbGliLWRvY1VwbG9hZD5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cImlzSW52YWxpZCAmJiAoIWluTGluZSB8fCAoIXF1ZXN0aW9uLmFuc3dlcnx8IWF0dGFjaG1lbnRzKSlcIiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj5cbiAgICB7eyBlcnJvck1lc3NhZ2UgfX1cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJ2YWxpZGF0aW9uRmFpbGVkICYmICFpc0ludmFsaWRcIiBjbGFzcz1cInRleHQtZGFuZ2VyIGVycm9yLW1lc3NhZ2VcIj5cbiAgICB7eyB2YWxpZGF0aW9uTWVzc2FnZSB9fVxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,174 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { CheckBoxFieldsComponent } from './check-box-fields/check-box-fields.component';
4
- import { DateTimeFieldsComponent } from './date-time-fields/date-time-fields.component';
5
- import { DropDownFieldsComponent } from './drop-down-fields/drop-down-fields.component';
6
- import { FilePickerFieldsComponent } from './file-picker-fields/file-picker-fields.component';
7
- import { LocationFieldsComponent } from './location-fields/location-fields.component';
8
- import { RadioButtonFieldsComponent } from './radio-button-fields/radio-button-fields.component';
9
- import { RichTextEditorFieldsComponent } from './rich-text-editor-fields/rich-text-editor-fields.component';
10
- import { SelectionMatrixFieldsComponent } from './selection-matrix-fields/selection-matrix-fields.component';
11
- import { SignatureFieldsComponent } from './signature-fields/signature-fields.component';
12
- import { SliderFieldsComponent } from './slider-fields/slider-fields.component';
13
- import { TermsAndConditionFieldsComponent } from './terms-and-condition-fields/terms-and-condition-fields.component';
14
- import { TextAreaFieldsComponent } from './text-area-fields/text-area-fields.component';
15
- import { TextFieldsComponent } from './text-fields/text-fields.component';
16
- import { ToggleSwitchFieldsComponent } from './toggle-switch-fields/toggle-switch-fields.component';
17
- import { UrlFieldsComponent } from './url-fields/url-fields.component';
18
- import { FormsModule } from '@angular/forms';
19
- import { MailFieldsComponent } from './mail-fields/mail-fields.component';
20
- import { MobileFieldsComponent } from './mobile-fields/mobile-fields.component';
21
- import { NumberFieldsComponent } from './number-fields/number-fields.component';
22
- import { PasswordFieldsComponent } from './password-fields/password-fields.component';
23
- import { MatSliderModule } from "@angular/material/slider";
24
- import { BsDatepickerModule } from 'ngx-bootstrap/datepicker';
25
- import { GoogleMapsModule } from '@angular/google-maps';
26
- import { DropdownModule } from '@piserve-tech/drop-down';
27
- import { FilePreviewModule } from '@piserve-tech/file-preview';
28
- import { SectionFieldsComponent } from './section-fields/section-fields.component';
29
- import { DocUploadModule } from '@piserve-tech/file-upload';
30
- import { NgxMaterialTimepickerModule } from 'ngx-material-timepicker';
31
- import { QuillModule } from 'ngx-quill';
32
- import { AggregateFunctionComponent } from './aggregate-function/aggregate-function.component';
33
- import { CurrencyFieldsComponent } from './currency-fields/currency-fields.component';
34
- import { HiddenFieldComponent } from './hidden-field/hidden-field.component';
35
- import { IframeFieldsComponent } from './iframe-fields/iframe-fields.component';
36
- import * as i0 from "@angular/core";
37
- import * as i1 from "ngx-bootstrap/datepicker";
38
- export class FormFieldsModule {
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
40
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: FormFieldsModule, declarations: [CheckBoxFieldsComponent,
41
- DateTimeFieldsComponent,
42
- DropDownFieldsComponent,
43
- FilePickerFieldsComponent,
44
- LocationFieldsComponent,
45
- RadioButtonFieldsComponent,
46
- RichTextEditorFieldsComponent,
47
- SelectionMatrixFieldsComponent,
48
- SignatureFieldsComponent,
49
- SliderFieldsComponent,
50
- TermsAndConditionFieldsComponent,
51
- TextAreaFieldsComponent,
52
- TextFieldsComponent,
53
- ToggleSwitchFieldsComponent,
54
- UrlFieldsComponent,
55
- MailFieldsComponent,
56
- MobileFieldsComponent,
57
- NumberFieldsComponent,
58
- PasswordFieldsComponent,
59
- SectionFieldsComponent,
60
- AggregateFunctionComponent,
61
- CurrencyFieldsComponent,
62
- HiddenFieldComponent,
63
- IframeFieldsComponent], imports: [CommonModule,
64
- FormsModule,
65
- MatSliderModule, i1.BsDatepickerModule, DropdownModule,
66
- DocUploadModule,
67
- GoogleMapsModule,
68
- FilePreviewModule,
69
- NgxMaterialTimepickerModule,
70
- QuillModule], exports: [CheckBoxFieldsComponent,
71
- DateTimeFieldsComponent,
72
- DropDownFieldsComponent,
73
- FilePickerFieldsComponent,
74
- LocationFieldsComponent,
75
- MailFieldsComponent,
76
- MobileFieldsComponent,
77
- NumberFieldsComponent,
78
- PasswordFieldsComponent,
79
- RadioButtonFieldsComponent,
80
- RichTextEditorFieldsComponent,
81
- SelectionMatrixFieldsComponent,
82
- SignatureFieldsComponent,
83
- SliderFieldsComponent,
84
- TermsAndConditionFieldsComponent,
85
- TextAreaFieldsComponent,
86
- TextFieldsComponent,
87
- ToggleSwitchFieldsComponent,
88
- UrlFieldsComponent,
89
- SectionFieldsComponent,
90
- AggregateFunctionComponent,
91
- CurrencyFieldsComponent,
92
- HiddenFieldComponent,
93
- IframeFieldsComponent] }); }
94
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldsModule, imports: [CommonModule,
95
- FormsModule,
96
- MatSliderModule,
97
- BsDatepickerModule.forRoot(),
98
- DropdownModule,
99
- DocUploadModule,
100
- GoogleMapsModule,
101
- FilePreviewModule,
102
- NgxMaterialTimepickerModule,
103
- QuillModule] }); }
104
- }
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldsModule, decorators: [{
106
- type: NgModule,
107
- args: [{
108
- declarations: [
109
- CheckBoxFieldsComponent,
110
- DateTimeFieldsComponent,
111
- DropDownFieldsComponent,
112
- FilePickerFieldsComponent,
113
- LocationFieldsComponent,
114
- RadioButtonFieldsComponent,
115
- RichTextEditorFieldsComponent,
116
- SelectionMatrixFieldsComponent,
117
- SignatureFieldsComponent,
118
- SliderFieldsComponent,
119
- TermsAndConditionFieldsComponent,
120
- TextAreaFieldsComponent,
121
- TextFieldsComponent,
122
- ToggleSwitchFieldsComponent,
123
- UrlFieldsComponent,
124
- MailFieldsComponent,
125
- MobileFieldsComponent,
126
- NumberFieldsComponent,
127
- PasswordFieldsComponent,
128
- SectionFieldsComponent,
129
- AggregateFunctionComponent,
130
- CurrencyFieldsComponent,
131
- HiddenFieldComponent,
132
- IframeFieldsComponent
133
- ],
134
- imports: [
135
- CommonModule,
136
- FormsModule,
137
- MatSliderModule,
138
- BsDatepickerModule.forRoot(),
139
- DropdownModule,
140
- DocUploadModule,
141
- GoogleMapsModule,
142
- FilePreviewModule,
143
- NgxMaterialTimepickerModule,
144
- QuillModule
145
- ],
146
- exports: [
147
- CheckBoxFieldsComponent,
148
- DateTimeFieldsComponent,
149
- DropDownFieldsComponent,
150
- FilePickerFieldsComponent,
151
- LocationFieldsComponent,
152
- MailFieldsComponent,
153
- MobileFieldsComponent,
154
- NumberFieldsComponent,
155
- PasswordFieldsComponent,
156
- RadioButtonFieldsComponent,
157
- RichTextEditorFieldsComponent,
158
- SelectionMatrixFieldsComponent,
159
- SignatureFieldsComponent,
160
- SliderFieldsComponent,
161
- TermsAndConditionFieldsComponent,
162
- TextAreaFieldsComponent,
163
- TextFieldsComponent,
164
- ToggleSwitchFieldsComponent,
165
- UrlFieldsComponent,
166
- SectionFieldsComponent,
167
- AggregateFunctionComponent,
168
- CurrencyFieldsComponent,
169
- HiddenFieldComponent,
170
- IframeFieldsComponent
171
- ]
172
- }]
173
- }] });
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1zdWJtaXNzaW9uL3NyYy9mb3JtLWZpZWxkcy9mb3JtLWZpZWxkcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDOUYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDNUcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDN0csT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDckgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFF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bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGVja0JveEZpZWxkc0NvbXBvbmVudCB9IGZyb20gJy4vY2hlY2stYm94LWZpZWxkcy9jaGVjay1ib3gtZmllbGRzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlVGltZUZpZWxkc0NvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS10aW1lLWZpZWxkcy9kYXRlLXRpbWUtZmllbGRzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEcm9wRG93bkZpZWxkc0NvbXBvbmVudCB9IGZyb20gJy4vZHJvcC1kb3duLWZpZWxkcy9kcm9wLWRvd24tZmllbGRzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWxlUGlja2VyRmllbGRzQ29tcG9uZW50IH0gZnJvbSAnLi9maWxlLXBpY2tlci1maWVsZHMvZmlsZS1waWNrZXItZmllbGRzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMb2NhdGlvbkZpZWxkc0NvbXBvbmVudCB9IGZyb20gJy4vbG9jYXRpb24tZmllbGRzL2xvY2F0aW9uLWZpZWxkcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25GaWVsZHNDb21wb25lbnQgfSBmcm9tICcuL3JhZGlvLWJ1dHRvbi1maWVsZHMvcmFkaW8tYnV0dG9uLWZpZWxkcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmljaFRleHRFZGl0b3JGaWVsZHNDb21wb25lbnQgfSBmcm9tICcuL3JpY2gtdGV4dC1lZGl0b3ItZmllbGRzL3JpY2gtdGV4dC1lZGl0b3ItZmllbGRzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3Rpb25NYXRyaXhGaWVsZHNDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdGlvbi1tYXRyaXgtZmllbGRzL3NlbGVjdGlvbi1tYXRyaXgtZmllbGRzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaWduYXR1cmVGaWVsZHNDb21wb25lbnQgfSBmcm9tICcuL3NpZ25hdHVyZS1maWVsZHMvc2lnbmF0dXJlLWZpZWxkcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2xpZGVyRmllbGRzQ29tcG9uZW50IH0gZnJvbSAnLi9zbGlkZXItZmllbGRzL3NsaWRlci1maWVsZHMuY29tcG9uZW50JztcbmltcG9ydCB7IFRlcm1zQW5kQ29uZGl0aW9uRmllbGRzQ29tcG9uZW50IH0gZnJvbSAnLi90ZXJtcy1hbmQtY29uZGl0aW9uLWZpZWxkcy90ZXJtcy1hbmQtY29uZGl0aW9uLWZpZWxkcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dEFyZWFGaWVsZHNDb21wb25lbnQgfSBmcm9tICcuL3RleHQtYXJlYS1maWVsZHMvdGV4dC1hcmVhLWZpZWxkcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dEZpZWxkc0NvbXBvbmVudCB9IGZyb20gJy4vdGV4dC1maWVsZHMvdGV4dC1maWVsZHMuY29tcG9uZW50JztcbmltcG9ydCB7IFRvZ2dsZVN3aXRjaEZpZWxkc0NvbXBvbmVudCB9IGZyb20gJy4vdG9nZ2xlLXN3aXRjaC1maWVsZHMvdG9nZ2xlLXN3aXRjaC1maWVsZHMuY29tcG9uZW50JztcbmltcG9ydCB7IFVybEZpZWxkc0NvbXBvbmVudCB9IGZyb20gJy4vdXJsLWZpZWxkcy91cmwtZmllbGRzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1haWxGaWVsZHNDb21wb25lbnQgfSBmcm9tICcuL21haWwtZmllbGRzL21haWwtZmllbGRzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2JpbGVGaWVsZHNDb21wb25lbnQgfSBmcm9tICcuL21vYmlsZS1maWVsZHMvbW9iaWxlLWZpZWxkcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTnVtYmVyRmllbGRzQ29tcG9uZW50IH0gZnJvbSAnLi9udW1iZXItZmllbGRzL251bWJlci1maWVsZHMuY29tcG9uZW50JztcbmltcG9ydCB7IFBhc3N3b3JkRmllbGRzQ29tcG9uZW50IH0gZnJvbSAnLi9wYXNzd29yZC1maWVsZHMvcGFzc3dvcmQtZmllbGRzLmNvbXBvbmVudCc7XG5pbXBvcnQge01hdFNsaWRlck1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NsaWRlclwiO1xuaW1wb3J0IHsgQnNEYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9kYXRlcGlja2VyJztcblxuXG5pbXBvcnQgeyBHb29nbGVNYXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZ29vZ2xlLW1hcHMnO1xuaW1wb3J0IHsgRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAcGlzZXJ2ZS10ZWNoL2Ryb3AtZG93bic7XG5pbXBvcnQgeyBGaWxlUHJldmlld01vZHVsZSB9IGZyb20gJ0BwaXNlcnZlLXRlY2gvZmlsZS1wcmV2aWV3JztcbmltcG9ydCB7IFNlY3Rpb25GaWVsZHNDb21wb25lbnQgfSBmcm9tICcuL3NlY3Rpb24tZmllbGRzL3NlY3Rpb24tZmllbGRzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEb2NVcGxvYWRNb2R1bGUgfSBmcm9tICdAcGlzZXJ2ZS10ZWNoL2ZpbGUtdXBsb2FkJztcbmltcG9ydCB7IE5neE1hdGVyaWFsVGltZXBpY2tlck1vZHVsZSB9IGZyb20gJ25neC1tYXRlcmlhbC10aW1lcGlja2VyJztcbmltcG9ydCB7IFF1aWxsTW9kdWxlIH0gZnJvbSAnbmd4LXF1aWxsJztcbmltcG9ydCB7IEFnZ3JlZ2F0ZUZ1bmN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9hZ2dyZWdhdGUtZnVuY3Rpb24vYWdncmVnYXRlLWZ1bmN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDdXJyZW5jeUZpZWxkc0NvbXBvbmVudCB9IGZyb20gJy4vY3VycmVuY3ktZmllbGRzL2N1cnJlbmN5LWZpZWxkcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGlkZGVuRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2hpZGRlbi1maWVsZC9oaWRkZW4tZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IElmcmFtZUZpZWxkc0NvbXBvbmVudCB9IGZyb20gJy4vaWZyYW1lLWZpZWxkcy9pZnJhbWUtZmllbGRzLmNvbXBvbmVudCc7XG5cblxuXG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBDaGVja0JveEZpZWxkc0NvbXBvbmVudCxcbiAgICBEYXRlVGltZUZpZWxkc0NvbXBvbmVudCxcbiAgICBEcm9wRG93bkZpZWxkc0NvbXBvbmVudCxcbiAgICBGaWxlUGlja2VyRmllbGRzQ29tcG9uZW50LFxuICAgIExvY2F0aW9uRmllbGRzQ29tcG9uZW50LFxuICAgIFJhZGlvQnV0dG9uRmllbGRzQ29tcG9uZW50LFxuICAgIFJpY2hUZXh0RWRpdG9yRmllbGRzQ29tcG9uZW50LFxuICAgIFNlbGVjdGlvbk1hdHJpeEZpZWxkc0NvbXBvbmVudCxcbiAgICBTaWduYXR1cmVGaWVsZHNDb21wb25lbnQsXG4gICAgU2xpZGVyRmllbGRzQ29tcG9uZW50LFxuICAgIFRlcm1zQW5kQ29uZGl0aW9uRmllbGRzQ29tcG9uZW50LFxuICAgIFRleHRBcmVhRmllbGRzQ29tcG9uZW50LFxuICAgIFRleHRGaWVsZHNDb21wb25lbnQsXG4gICAgVG9nZ2xlU3dpdGNoRmllbGRzQ29tcG9uZW50LFxuICAgIFVybEZpZWxkc0NvbXBvbmVudCxcbiAgICBNYWlsRmllbGRzQ29tcG9uZW50LFxuICAgIE1vYmlsZUZpZWxkc0NvbXBvbmVudCxcbiAgICBOdW1iZXJGaWVsZHNDb21wb25lbnQsXG4gICAgUGFzc3dvcmRGaWVsZHNDb21wb25lbnQsXG4gICAgU2VjdGlvbkZpZWxkc0NvbXBvbmVudCxcbiAgICBBZ2dyZWdhdGVGdW5jdGlvbkNvbXBvbmVudCxcbiAgICBDdXJyZW5jeUZpZWxkc0NvbXBvbmVudCxcbiAgICBIaWRkZW5GaWVsZENvbXBvbmVudCxcbiAgICBJZnJhbWVGaWVsZHNDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRTbGlkZXJNb2R1bGUsXG4gICAgQnNEYXRlcGlja2VyTW9kdWxlLmZvclJvb3QoKSxcbiAgICBEcm9wZG93bk1vZHVsZSxcbiAgICBEb2NVcGxvYWRNb2R1bGUsXG4gICAgR29vZ2xlTWFwc01vZHVsZSxcbiAgICBGaWxlUHJldmlld01vZHVsZSxcbiAgICBOZ3hNYXRlcmlhbFRpbWVwaWNrZXJNb2R1bGUsXG4gICAgUXVpbGxNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIENoZWNrQm94RmllbGRzQ29tcG9uZW50LFxuICAgIERhdGVUaW1lRmllbGRzQ29tcG9uZW50LFxuICAgIERyb3BEb3duRmllbGRzQ29tcG9uZW50LFxuICAgIEZpbGVQaWNrZXJGaWVsZHNDb21wb25lbnQsXG4gICAgTG9jYXRpb25GaWVsZHNDb21wb25lbnQsXG4gICAgTWFpbEZpZWxkc0NvbXBvbmVudCxcbiAgICBNb2JpbGVGaWVsZHNDb21wb25lbnQsXG4gICAgTnVtYmVyRmllbGRzQ29tcG9uZW50LFxuICAgIFBhc3N3b3JkRmllbGRzQ29tcG9uZW50LFxuICAgIFJhZGlvQnV0dG9uRmllbGRzQ29tcG9uZW50LFxuICAgIFJpY2hUZXh0RWRpdG9yRmllbGRzQ29tcG9uZW50LFxuICAgIFNlbGVjdGlvbk1hdHJpeEZpZWxkc0NvbXBvbmVudCxcbiAgICBTaWduYXR1cmVGaWVsZHNDb21wb25lbnQsXG4gICAgU2xpZGVyRmllbGRzQ29tcG9uZW50LFxuICAgIFRlcm1zQW5kQ29uZGl0aW9uRmllbGRzQ29tcG9uZW50LFxuICAgIFRleHRBcmVhRmllbGRzQ29tcG9uZW50LFxuICAgIFRleHRGaWVsZHNDb21wb25lbnQsXG4gICAgVG9nZ2xlU3dpdGNoRmllbGRzQ29tcG9uZW50LFxuICAgIFVybEZpZWxkc0NvbXBvbmVudCxcbiAgICBTZWN0aW9uRmllbGRzQ29tcG9uZW50LFxuICAgIEFnZ3JlZ2F0ZUZ1bmN0aW9uQ29tcG9uZW50LFxuICAgIEN1cnJlbmN5RmllbGRzQ29tcG9uZW50LFxuICAgIEhpZGRlbkZpZWxkQ29tcG9uZW50LFxuICAgIElmcmFtZUZpZWxkc0NvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZHNNb2R1bGUgeyB9XG4iXX0=