@mtna/web-form-angular 1.0.4 → 1.0.5

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 (394) hide show
  1. package/_index.scss +20 -0
  2. package/bundles/mtna-web-form-angular.umd.js +5912 -359
  3. package/bundles/mtna-web-form-angular.umd.js.map +1 -1
  4. package/esm2015/lib/components/acknowledge-dialog/acknowledge-dialog.component.js +1 -1
  5. package/esm2015/lib/components/base-form/base-form.component.js +11 -2
  6. package/esm2015/lib/components/base-items/base-form-item.component.js +11 -2
  7. package/esm2015/lib/components/base-items/base-section-item.component.js +1 -2
  8. package/esm2015/lib/components/form/form.component.js +2 -2
  9. package/esm2015/lib/components/form-item/form-item.component.js +11 -2
  10. package/esm2015/lib/components/form-item-dialog/form-item-dialog.component.js +1 -1
  11. package/esm2015/lib/components/form-item-impl/boolean/boolean.component.js +2 -2
  12. package/esm2015/lib/components/form-item-impl/checkbox/checkbox.component.js +2 -2
  13. package/esm2015/lib/components/form-item-impl/date/date.component.js +1 -1
  14. package/esm2015/lib/components/form-item-impl/date/date.module.js +5 -2
  15. package/esm2015/lib/components/form-item-impl/date-range/date-range.component.js +2 -2
  16. package/esm2015/lib/components/form-item-impl/file-upload/file-upload.component.js +1 -1
  17. package/esm2015/lib/components/form-item-impl/form-group/form-group.component.js +2 -2
  18. package/esm2015/lib/components/form-item-impl/form-section/form-section.component.js +2 -2
  19. package/esm2015/lib/components/form-item-impl/i18n-input/i18n-input.component.js +3 -2
  20. package/esm2015/lib/components/form-item-impl/i18n-input/i18n-input.module.js +6 -3
  21. package/esm2015/lib/components/form-item-impl/multiple-choice/multiple-choice.component.js +2 -2
  22. package/esm2015/lib/components/form-item-impl/repeatable-item-container/repeatable-item-container.component.js +11 -10
  23. package/esm2015/lib/components/form-item-impl/repeatable-item-container/repeatable-item-container.module.js +6 -2
  24. package/esm2015/lib/components/form-item-impl/search/resource-search.component.js +9 -8
  25. package/esm2015/lib/components/form-item-impl/table-item/table-item.component.js +2 -2
  26. package/esm2015/lib/components/form-item-impl/year-quarter/year-quarter.component.js +3 -3
  27. package/esm2015/lib/components/form-item-impl/year-quarter-range/year-quarter-range.component.js +2 -2
  28. package/esm2015/lib/components/form-item-injector/form-item-injector.component.js +12 -2
  29. package/esm2015/lib/components/index.js +2 -1
  30. package/esm2015/lib/components/progressive-form/progressive-form/progressive-form.component.js +2 -2
  31. package/esm2015/lib/components/step-card/step-card.component.js +1 -2
  32. package/esm2015/lib/components/template-item-impl/base/base-template-item-with-list.component.js +26 -0
  33. package/esm2015/lib/components/template-item-impl/base/base-template-item.component.js +80 -0
  34. package/esm2015/lib/components/template-item-impl/base/index.js +3 -0
  35. package/esm2015/lib/components/template-item-impl/boolean-item/boolean-item.component.js +24 -0
  36. package/esm2015/lib/components/template-item-impl/boolean-item/boolean-item.module.js +21 -0
  37. package/esm2015/lib/components/template-item-impl/boolean-item/index.js +3 -0
  38. package/esm2015/lib/components/template-item-impl/checkbox-item/checkbox-item.component.js +37 -0
  39. package/esm2015/lib/components/template-item-impl/checkbox-item/checkbox-item.module.js +24 -0
  40. package/esm2015/lib/components/template-item-impl/checkbox-item/index.js +3 -0
  41. package/esm2015/lib/components/template-item-impl/date/index.js +4 -0
  42. package/esm2015/lib/components/template-item-impl/date/offset-date-range-item/index.js +3 -0
  43. package/esm2015/lib/components/template-item-impl/date/offset-date-range-item/offset-date-range-item.component.js +41 -0
  44. package/esm2015/lib/components/template-item-impl/date/offset-date-range-item/offset-date-range-item.module.js +21 -0
  45. package/esm2015/lib/components/template-item-impl/date/year-quarter-item/index.js +3 -0
  46. package/esm2015/lib/components/template-item-impl/date/year-quarter-item/year-quarter-item.component.js +59 -0
  47. package/esm2015/lib/components/template-item-impl/date/year-quarter-item/year-quarter-item.module.js +48 -0
  48. package/esm2015/lib/components/template-item-impl/date/year-quarter-range-item/index.js +3 -0
  49. package/esm2015/lib/components/template-item-impl/date/year-quarter-range-item/year-quarter-range-item.component.js +21 -0
  50. package/esm2015/lib/components/template-item-impl/date/year-quarter-range-item/year-quarter-range-item.module.js +22 -0
  51. package/esm2015/lib/components/template-item-impl/date-item/date-item.component.js +85 -0
  52. package/esm2015/lib/components/template-item-impl/date-item/date-item.module.js +52 -0
  53. package/esm2015/lib/components/template-item-impl/date-item/index.js +3 -0
  54. package/esm2015/lib/components/template-item-impl/decimal-answer-item/decimal-answer-item.component.js +29 -0
  55. package/esm2015/lib/components/template-item-impl/decimal-answer-item/decimal-answer-item.module.js +41 -0
  56. package/esm2015/lib/components/template-item-impl/decimal-answer-item/index.js +3 -0
  57. package/esm2015/lib/components/template-item-impl/dropdown-item/dropdown-item.component.js +23 -0
  58. package/esm2015/lib/components/template-item-impl/dropdown-item/dropdown-item.module.js +48 -0
  59. package/esm2015/lib/components/template-item-impl/dropdown-item/index.js +3 -0
  60. package/esm2015/lib/components/template-item-impl/file-upload-item/file-upload-item.component.js +25 -0
  61. package/esm2015/lib/components/template-item-impl/file-upload-item/file-upload-item.module.js +45 -0
  62. package/esm2015/lib/components/template-item-impl/file-upload-item/index.js +3 -0
  63. package/esm2015/lib/components/template-item-impl/i18n-paragraph-answer-item/i18n-paragraph-answer-item.component.js +51 -0
  64. package/esm2015/lib/components/template-item-impl/i18n-paragraph-answer-item/i18n-paragraph-answer-item.module.js +45 -0
  65. package/esm2015/lib/components/template-item-impl/i18n-paragraph-answer-item/index.js +3 -0
  66. package/esm2015/lib/components/template-item-impl/i18n-short-answer-item/i18n-short-answer-item.component.js +50 -0
  67. package/esm2015/lib/components/template-item-impl/i18n-short-answer-item/i18n-short-answer-item.module.js +48 -0
  68. package/esm2015/lib/components/template-item-impl/i18n-short-answer-item/index.js +3 -0
  69. package/esm2015/lib/components/template-item-impl/index.js +29 -0
  70. package/esm2015/lib/components/template-item-impl/models/index.js +2 -0
  71. package/esm2015/lib/components/template-item-impl/models/step-aware.model.js +6 -0
  72. package/esm2015/lib/components/template-item-impl/multiple-choice-item/index.js +3 -0
  73. package/esm2015/lib/components/template-item-impl/multiple-choice-item/multiple-choice-item.component.js +21 -0
  74. package/esm2015/lib/components/template-item-impl/multiple-choice-item/multiple-choice-item.module.js +21 -0
  75. package/esm2015/lib/components/template-item-impl/option/template-option-group-item.component.js +17 -0
  76. package/esm2015/lib/components/template-item-impl/option/template-option-item.component.js +17 -0
  77. package/esm2015/lib/components/template-item-impl/ordered-list-item/index.js +3 -0
  78. package/esm2015/lib/components/template-item-impl/ordered-list-item/ordered-list-item.component.js +21 -0
  79. package/esm2015/lib/components/template-item-impl/ordered-list-item/ordered-list-item.module.js +19 -0
  80. package/esm2015/lib/components/template-item-impl/paragraph-answer-item/index.js +3 -0
  81. package/esm2015/lib/components/template-item-impl/paragraph-answer-item/paragraph-answer-item.component.js +28 -0
  82. package/esm2015/lib/components/template-item-impl/paragraph-answer-item/paragraph-answer-item.module.js +41 -0
  83. package/esm2015/lib/components/template-item-impl/repeatable-item/index.js +3 -0
  84. package/esm2015/lib/components/template-item-impl/repeatable-item/repeatable-item.component.js +23 -0
  85. package/esm2015/lib/components/template-item-impl/repeatable-item/repeatable-item.module.js +18 -0
  86. package/esm2015/lib/components/template-item-impl/repeatable-item-container/index.js +3 -0
  87. package/esm2015/lib/components/template-item-impl/repeatable-item-container/repeatable-item-container.component.js +46 -0
  88. package/esm2015/lib/components/template-item-impl/repeatable-item-container/repeatable-item-container.module.js +50 -0
  89. package/esm2015/lib/components/template-item-impl/short-answer-item/index.js +3 -0
  90. package/esm2015/lib/components/template-item-impl/short-answer-item/short-answer-item.component.js +28 -0
  91. package/esm2015/lib/components/template-item-impl/short-answer-item/short-answer-item.module.js +41 -0
  92. package/esm2015/lib/components/template-item-impl/template/index.js +3 -0
  93. package/esm2015/lib/components/template-item-impl/template/template.component.js +89 -0
  94. package/esm2015/lib/components/template-item-impl/template/template.module.js +46 -0
  95. package/esm2015/lib/components/template-item-impl/template-display-viewer/index.js +3 -0
  96. package/esm2015/lib/components/template-item-impl/template-display-viewer/template-display-viewer.component.js +44 -0
  97. package/esm2015/lib/components/template-item-impl/template-display-viewer/template-display-viewer.module.js +57 -0
  98. package/esm2015/lib/components/template-item-impl/template-item/index.js +3 -0
  99. package/esm2015/lib/components/template-item-impl/template-item/template-item.component.js +81 -0
  100. package/esm2015/lib/components/template-item-impl/template-item/template-item.module.js +21 -0
  101. package/esm2015/lib/components/template-item-impl/template-item-component-provider/index.js +3 -0
  102. package/esm2015/lib/components/template-item-impl/template-item-component-provider/template-item-component-provider.js +8 -0
  103. package/esm2015/lib/components/template-item-impl/template-item-component-provider/template-item-injected-components.js +107 -0
  104. package/esm2015/lib/components/template-item-impl/template-item-group/index.js +3 -0
  105. package/esm2015/lib/components/template-item-impl/template-item-group/template-item-group.component.js +52 -0
  106. package/esm2015/lib/components/template-item-impl/template-item-group/template-item-group.module.js +22 -0
  107. package/esm2015/lib/components/template-item-impl/template-item-header/index.js +3 -0
  108. package/esm2015/lib/components/template-item-impl/template-item-header/template-item-header.component.js +68 -0
  109. package/esm2015/lib/components/template-item-impl/template-item-header/template-item-header.module.js +19 -0
  110. package/esm2015/lib/components/template-item-impl/template-item-injector/index.js +3 -0
  111. package/esm2015/lib/components/template-item-impl/template-item-injector/template-item-injector.component.js +115 -0
  112. package/esm2015/lib/components/template-item-impl/template-item-injector/template-item-injector.module.js +18 -0
  113. package/esm2015/lib/components/template-item-impl/template-section/index.js +3 -0
  114. package/esm2015/lib/components/template-item-impl/template-section/template-section.component.js +32 -0
  115. package/esm2015/lib/components/template-item-impl/template-section/template-section.module.js +44 -0
  116. package/esm2015/lib/components/template-item-impl/text-item/index.js +3 -0
  117. package/esm2015/lib/components/template-item-impl/text-item/text-item.component.js +21 -0
  118. package/esm2015/lib/components/template-item-impl/text-item/text-item.module.js +19 -0
  119. package/esm2015/lib/components/template-item-impl/title-item/index.js +3 -0
  120. package/esm2015/lib/components/template-item-impl/title-item/title-item.component.js +20 -0
  121. package/esm2015/lib/components/template-item-impl/title-item/title-item.module.js +19 -0
  122. package/esm2015/lib/components/template-item-impl/unordered-list-item/index.js +3 -0
  123. package/esm2015/lib/components/template-item-impl/unordered-list-item/unordered-list-item.component.js +21 -0
  124. package/esm2015/lib/components/template-item-impl/unordered-list-item/unordered-list-item.module.js +19 -0
  125. package/esm2015/lib/components/template-item-impl/whole-number-answer-item/index.js +3 -0
  126. package/esm2015/lib/components/template-item-impl/whole-number-answer-item/whole-number-answer-item.component.js +28 -0
  127. package/esm2015/lib/components/template-item-impl/whole-number-answer-item/whole-number-answer-item.module.js +41 -0
  128. package/esm2015/lib/models/custom-date-format-provider.model.js +13 -0
  129. package/esm2015/lib/models/date/default-year-range.model.js +3 -0
  130. package/esm2015/lib/models/date/index.js +2 -0
  131. package/esm2015/lib/models/design/conditional-processing-resources.model.js +2 -0
  132. package/esm2015/lib/models/design/design-mapper/boolean-item-template-mapper.js +15 -0
  133. package/esm2015/lib/models/design/design-mapper/bulleted-list-item-template-mapper.js +27 -0
  134. package/esm2015/lib/models/design/design-mapper/checkbox-item-template-mapper.js +15 -0
  135. package/esm2015/lib/models/design/design-mapper/date-item-template-mapper.js +39 -0
  136. package/esm2015/lib/models/design/design-mapper/dropdown-item-template-mapper.js +26 -0
  137. package/esm2015/lib/models/design/design-mapper/file-upload-item-template-mapper.js +31 -0
  138. package/esm2015/lib/models/design/design-mapper/i18n-text-response-item-template-mapper.js +28 -0
  139. package/esm2015/lib/models/design/design-mapper/index.js +27 -0
  140. package/esm2015/lib/models/design/design-mapper/mapper-classes.model.js +89 -0
  141. package/esm2015/lib/models/design/design-mapper/mapping-logic-core.js +19 -0
  142. package/esm2015/lib/models/design/design-mapper/multiple-choice-item-template-mapper.js +25 -0
  143. package/esm2015/lib/models/design/design-mapper/numbered-list-item-template-mapper.js +27 -0
  144. package/esm2015/lib/models/design/design-mapper/numeric-response-item-template-mapper.js +37 -0
  145. package/esm2015/lib/models/design/design-mapper/offset-date-range-template-mapper.js +32 -0
  146. package/esm2015/lib/models/design/design-mapper/option-group-item-mapper.js +59 -0
  147. package/esm2015/lib/models/design/design-mapper/option-item-mapper.js +54 -0
  148. package/esm2015/lib/models/design/design-mapper/option-selector-mapper.js +117 -0
  149. package/esm2015/lib/models/design/design-mapper/repeatable-item-template-mapper.js +50 -0
  150. package/esm2015/lib/models/design/design-mapper/template-item-group-mapper.js +34 -0
  151. package/esm2015/lib/models/design/design-mapper/template-item-mapper.js +79 -0
  152. package/esm2015/lib/models/design/design-mapper/template-mapper.js +64 -0
  153. package/esm2015/lib/models/design/design-mapper/template-section-mapper.js +40 -0
  154. package/esm2015/lib/models/design/design-mapper/text-item-template-mapper.js +26 -0
  155. package/esm2015/lib/models/design/design-mapper/text-response-item-template-mapper.js +32 -0
  156. package/esm2015/lib/models/design/design-mapper/time-item-template-mapper.js +30 -0
  157. package/esm2015/lib/models/design/design-mapper/title-item-template-mapper.js +26 -0
  158. package/esm2015/lib/models/design/design-mapper/year-quarter-range-template-mapper.js +28 -0
  159. package/esm2015/lib/models/design/enumerations/date-enumeration.model.js +33 -0
  160. package/esm2015/lib/models/design/enumerations/index.js +2 -0
  161. package/esm2015/lib/models/design/index.js +9 -0
  162. package/esm2015/lib/models/design/option-group-item-section-display-name-map.model.js +8 -0
  163. package/esm2015/lib/models/design/option-item-section-display-name-map.model.js +6 -0
  164. package/esm2015/lib/models/design/potential-designs.model.js +160 -0
  165. package/esm2015/lib/models/design/template-design-constants.model.js +48 -0
  166. package/esm2015/lib/models/design/template-design-context.model.js +10 -0
  167. package/esm2015/lib/models/i18n-constants.model.js +185 -0
  168. package/esm2015/lib/models/index.js +5 -1
  169. package/esm2015/lib/pipes/filter-hidden-items.pipe.js +1 -1
  170. package/esm2015/lib/pipes/get-i18n-string-value-from-locale.pipe.js +36 -0
  171. package/esm2015/lib/pipes/get-i18n-strings-value-from-locale.pipe.js +36 -0
  172. package/esm2015/lib/pipes/get-progressive-form-item.pipe.js +1 -2
  173. package/esm2015/lib/pipes/index.js +6 -1
  174. package/esm2015/lib/pipes/instance-of-template-item-group-impl.pipe.js +33 -0
  175. package/esm2015/lib/pipes/instance-of-template-item.pipe.js +29 -0
  176. package/esm2015/lib/pipes/instance-of-template.pipe.js +29 -0
  177. package/esm2015/lib/pipes/items-with-value.pipe.js +1 -3
  178. package/esm2015/lib/services/api.service.js +8 -2
  179. package/esm2015/lib/services/dialog.service.js +9 -9
  180. package/esm2015/lib/services/index.js +2 -1
  181. package/esm2015/lib/services/template-transformation.service.js +27 -0
  182. package/esm2015/lib/state/design/index.js +2 -0
  183. package/esm2015/lib/state/design/template-design.facade.js +239 -0
  184. package/esm2015/lib/state/form/index.js +8 -0
  185. package/esm2015/lib/state/form/template-form-api.actions.js +6 -0
  186. package/esm2015/lib/state/form/template-form.actions.js +5 -0
  187. package/esm2015/lib/state/form/template-form.effects.js +39 -0
  188. package/esm2015/lib/state/form/template-form.facade.js +28 -0
  189. package/esm2015/lib/state/form/template-form.reducer.js +18 -0
  190. package/esm2015/lib/state/form/template-form.selectors.js +8 -0
  191. package/esm2015/lib/state/index.js +3 -0
  192. package/esm2015/lib/utilities/design-conditionals-util.js +124 -0
  193. package/esm2015/lib/utilities/form-option-design-util.js +88 -0
  194. package/esm2015/lib/utilities/generate-form-steps.js +1 -1
  195. package/esm2015/lib/utilities/index.js +6 -2
  196. package/esm2015/lib/utilities/merge-template-util.js +116 -0
  197. package/esm2015/lib/utilities/new-base-designs.util.js +193 -0
  198. package/esm2015/lib/utilities/serializer-util.js +33 -2
  199. package/esm2015/lib/utilities/template-design-core-util.js +34 -0
  200. package/esm2015/lib/utilities/template-design-util.js +113 -0
  201. package/esm2015/public-api.js +2 -1
  202. package/fesm2015/mtna-web-form-angular.js +4649 -138
  203. package/fesm2015/mtna-web-form-angular.js.map +1 -1
  204. package/lib/_index.scss +45 -0
  205. package/lib/components/base-form/base-form.component.d.ts +6 -2
  206. package/lib/components/base-items/base-form-item.component.d.ts +4 -1
  207. package/lib/components/form-item/form-item.component.d.ts +4 -1
  208. package/lib/components/form-item-impl/checkbox/_checkbox-theme.scss +3 -20
  209. package/lib/components/form-item-impl/i18n-input/i18n-input.module.d.ts +2 -1
  210. package/lib/components/form-item-impl/repeatable-item-container/repeatable-item-container.module.d.ts +2 -1
  211. package/lib/components/form-item-impl/search/resource-search.component.d.ts +3 -3
  212. package/lib/components/form-item-impl/year-quarter/year-quarter.component.d.ts +2 -6
  213. package/lib/components/form-item-injector/form-item-injector.component.d.ts +5 -1
  214. package/lib/components/index.d.ts +1 -0
  215. package/lib/components/template-item-impl/base/base-template-item-with-list.component.d.ts +12 -0
  216. package/lib/components/template-item-impl/base/base-template-item.component.d.ts +30 -0
  217. package/lib/components/template-item-impl/base/index.d.ts +2 -0
  218. package/lib/components/template-item-impl/boolean-item/boolean-item.component.d.ts +11 -0
  219. package/lib/components/template-item-impl/boolean-item/boolean-item.module.d.ts +11 -0
  220. package/lib/components/template-item-impl/boolean-item/index.d.ts +2 -0
  221. package/lib/components/template-item-impl/checkbox-item/_checkbox-item-template-theme.scss +47 -0
  222. package/lib/components/template-item-impl/checkbox-item/checkbox-item.component.d.ts +11 -0
  223. package/lib/components/template-item-impl/checkbox-item/checkbox-item.module.d.ts +14 -0
  224. package/lib/components/template-item-impl/checkbox-item/index.d.ts +2 -0
  225. package/lib/components/template-item-impl/date/index.d.ts +3 -0
  226. package/lib/components/template-item-impl/date/offset-date-range-item/index.d.ts +2 -0
  227. package/lib/components/template-item-impl/date/offset-date-range-item/offset-date-range-item.component.d.ts +13 -0
  228. package/lib/components/template-item-impl/date/offset-date-range-item/offset-date-range-item.module.d.ts +11 -0
  229. package/lib/components/template-item-impl/date/year-quarter-item/_year-quarter-item-template-theme.scss +28 -0
  230. package/lib/components/template-item-impl/date/year-quarter-item/index.d.ts +2 -0
  231. package/lib/components/template-item-impl/date/year-quarter-item/year-quarter-item.component.d.ts +23 -0
  232. package/lib/components/template-item-impl/date/year-quarter-item/year-quarter-item.module.d.ts +14 -0
  233. package/lib/components/template-item-impl/date/year-quarter-range-item/index.d.ts +2 -0
  234. package/lib/components/template-item-impl/date/year-quarter-range-item/year-quarter-range-item.component.d.ts +7 -0
  235. package/lib/components/template-item-impl/date/year-quarter-range-item/year-quarter-range-item.module.d.ts +12 -0
  236. package/lib/components/template-item-impl/date-item/_date-item-template-theme.scss +29 -0
  237. package/lib/components/template-item-impl/date-item/date-item.component.d.ts +22 -0
  238. package/lib/components/template-item-impl/date-item/date-item.module.d.ts +14 -0
  239. package/lib/components/template-item-impl/date-item/index.d.ts +2 -0
  240. package/lib/components/template-item-impl/decimal-answer-item/decimal-answer-item.component.d.ts +8 -0
  241. package/lib/components/template-item-impl/decimal-answer-item/decimal-answer-item.module.d.ts +13 -0
  242. package/lib/components/template-item-impl/decimal-answer-item/index.d.ts +2 -0
  243. package/lib/components/template-item-impl/dropdown-item/_dropdown-item-template-theme.scss +35 -0
  244. package/lib/components/template-item-impl/dropdown-item/dropdown-item.component.d.ts +7 -0
  245. package/lib/components/template-item-impl/dropdown-item/dropdown-item.module.d.ts +15 -0
  246. package/lib/components/template-item-impl/dropdown-item/index.d.ts +2 -0
  247. package/lib/components/template-item-impl/file-upload-item/file-upload-item.component.d.ts +9 -0
  248. package/lib/components/template-item-impl/file-upload-item/file-upload-item.module.d.ts +13 -0
  249. package/lib/components/template-item-impl/file-upload-item/index.d.ts +2 -0
  250. package/lib/components/template-item-impl/i18n-paragraph-answer-item/i18n-paragraph-answer-item.component.d.ts +13 -0
  251. package/lib/components/template-item-impl/i18n-paragraph-answer-item/i18n-paragraph-answer-item.module.d.ts +14 -0
  252. package/lib/components/template-item-impl/i18n-paragraph-answer-item/index.d.ts +2 -0
  253. package/lib/components/template-item-impl/i18n-short-answer-item/i18n-short-answer-item.component.d.ts +11 -0
  254. package/lib/components/template-item-impl/i18n-short-answer-item/i18n-short-answer-item.module.d.ts +15 -0
  255. package/lib/components/template-item-impl/i18n-short-answer-item/index.d.ts +2 -0
  256. package/lib/components/template-item-impl/index.d.ts +28 -0
  257. package/lib/components/template-item-impl/models/index.d.ts +1 -0
  258. package/lib/components/template-item-impl/models/step-aware.model.d.ts +5 -0
  259. package/lib/components/template-item-impl/multiple-choice-item/index.d.ts +2 -0
  260. package/lib/components/template-item-impl/multiple-choice-item/multiple-choice-item.component.d.ts +7 -0
  261. package/lib/components/template-item-impl/multiple-choice-item/multiple-choice-item.module.d.ts +11 -0
  262. package/lib/components/template-item-impl/option/template-option-group-item.component.d.ts +8 -0
  263. package/lib/components/template-item-impl/option/template-option-item.component.d.ts +8 -0
  264. package/lib/components/template-item-impl/ordered-list-item/index.d.ts +2 -0
  265. package/lib/components/template-item-impl/ordered-list-item/ordered-list-item.component.d.ts +7 -0
  266. package/lib/components/template-item-impl/ordered-list-item/ordered-list-item.module.d.ts +10 -0
  267. package/lib/components/template-item-impl/paragraph-answer-item/index.d.ts +2 -0
  268. package/lib/components/template-item-impl/paragraph-answer-item/paragraph-answer-item.component.d.ts +8 -0
  269. package/lib/components/template-item-impl/paragraph-answer-item/paragraph-answer-item.module.d.ts +13 -0
  270. package/lib/components/template-item-impl/repeatable-item/index.d.ts +2 -0
  271. package/lib/components/template-item-impl/repeatable-item/repeatable-item.component.d.ts +5 -0
  272. package/lib/components/template-item-impl/repeatable-item/repeatable-item.module.d.ts +8 -0
  273. package/lib/components/template-item-impl/repeatable-item-container/_repeatable-item-template-container-theme.scss +28 -0
  274. package/lib/components/template-item-impl/repeatable-item-container/index.d.ts +2 -0
  275. package/lib/components/template-item-impl/repeatable-item-container/repeatable-item-container.component.d.ts +8 -0
  276. package/lib/components/template-item-impl/repeatable-item-container/repeatable-item-container.module.d.ts +15 -0
  277. package/lib/components/template-item-impl/short-answer-item/index.d.ts +2 -0
  278. package/lib/components/template-item-impl/short-answer-item/short-answer-item.component.d.ts +8 -0
  279. package/lib/components/template-item-impl/short-answer-item/short-answer-item.module.d.ts +13 -0
  280. package/lib/components/template-item-impl/template/index.d.ts +2 -0
  281. package/lib/components/template-item-impl/template/template.component.d.ts +35 -0
  282. package/lib/components/template-item-impl/template/template.module.d.ts +14 -0
  283. package/lib/components/template-item-impl/template-display-viewer/index.d.ts +2 -0
  284. package/lib/components/template-item-impl/template-display-viewer/template-display-viewer.component.d.ts +25 -0
  285. package/lib/components/template-item-impl/template-display-viewer/template-display-viewer.module.d.ts +17 -0
  286. package/lib/components/template-item-impl/template-item/index.d.ts +2 -0
  287. package/lib/components/template-item-impl/template-item/template-item.component.d.ts +29 -0
  288. package/lib/components/template-item-impl/template-item/template-item.module.d.ts +11 -0
  289. package/lib/components/template-item-impl/template-item-component-provider/index.d.ts +2 -0
  290. package/lib/components/template-item-impl/template-item-component-provider/template-item-component-provider.d.ts +4 -0
  291. package/lib/components/template-item-impl/template-item-component-provider/template-item-injected-components.d.ts +2 -0
  292. package/lib/components/template-item-impl/template-item-group/_template-item-group-theme.scss +31 -0
  293. package/lib/components/template-item-impl/template-item-group/index.d.ts +2 -0
  294. package/lib/components/template-item-impl/template-item-group/template-item-group.component.d.ts +18 -0
  295. package/lib/components/template-item-impl/template-item-group/template-item-group.module.d.ts +12 -0
  296. package/lib/components/template-item-impl/template-item-header/_template-item-header-theme.scss +28 -0
  297. package/lib/components/template-item-impl/template-item-header/index.d.ts +2 -0
  298. package/lib/components/template-item-impl/template-item-header/template-item-header.component.d.ts +26 -0
  299. package/lib/components/template-item-impl/template-item-header/template-item-header.module.d.ts +10 -0
  300. package/lib/components/template-item-impl/template-item-injector/index.d.ts +2 -0
  301. package/lib/components/template-item-impl/template-item-injector/template-item-injector.component.d.ts +43 -0
  302. package/lib/components/template-item-impl/template-item-injector/template-item-injector.module.d.ts +8 -0
  303. package/lib/components/template-item-impl/template-section/index.d.ts +2 -0
  304. package/lib/components/template-item-impl/template-section/template-section.component.d.ts +12 -0
  305. package/lib/components/template-item-impl/template-section/template-section.module.d.ts +13 -0
  306. package/lib/components/template-item-impl/text-item/index.d.ts +2 -0
  307. package/lib/components/template-item-impl/text-item/text-item.component.d.ts +7 -0
  308. package/lib/components/template-item-impl/text-item/text-item.module.d.ts +10 -0
  309. package/lib/components/template-item-impl/title-item/_title-item-template-theme.scss +28 -0
  310. package/lib/components/template-item-impl/title-item/index.d.ts +2 -0
  311. package/lib/components/template-item-impl/title-item/title-item.component.d.ts +7 -0
  312. package/lib/components/template-item-impl/title-item/title-item.module.d.ts +9 -0
  313. package/lib/components/template-item-impl/unordered-list-item/index.d.ts +2 -0
  314. package/lib/components/template-item-impl/unordered-list-item/unordered-list-item.component.d.ts +7 -0
  315. package/lib/components/template-item-impl/unordered-list-item/unordered-list-item.module.d.ts +10 -0
  316. package/lib/components/template-item-impl/whole-number-answer-item/index.d.ts +2 -0
  317. package/lib/components/template-item-impl/whole-number-answer-item/whole-number-answer-item.component.d.ts +8 -0
  318. package/lib/components/template-item-impl/whole-number-answer-item/whole-number-answer-item.module.d.ts +13 -0
  319. package/lib/core/_all-color.scss +18 -0
  320. package/lib/core/_all-theme.scss +18 -0
  321. package/lib/core/_all-typography.scss +18 -0
  322. package/lib/core/_mixins.scss +58 -0
  323. package/lib/models/custom-date-format-provider.model.d.ts +2 -0
  324. package/lib/models/date/default-year-range.model.d.ts +6 -0
  325. package/lib/models/date/index.d.ts +1 -0
  326. package/lib/models/design/conditional-processing-resources.model.d.ts +7 -0
  327. package/lib/models/design/design-mapper/boolean-item-template-mapper.d.ts +10 -0
  328. package/lib/models/design/design-mapper/bulleted-list-item-template-mapper.d.ts +11 -0
  329. package/lib/models/design/design-mapper/checkbox-item-template-mapper.d.ts +10 -0
  330. package/lib/models/design/design-mapper/date-item-template-mapper.d.ts +11 -0
  331. package/lib/models/design/design-mapper/dropdown-item-template-mapper.d.ts +11 -0
  332. package/lib/models/design/design-mapper/file-upload-item-template-mapper.d.ts +11 -0
  333. package/lib/models/design/design-mapper/i18n-text-response-item-template-mapper.d.ts +11 -0
  334. package/lib/models/design/design-mapper/index.d.ts +26 -0
  335. package/lib/models/design/design-mapper/mapper-classes.model.d.ts +1 -0
  336. package/lib/models/design/design-mapper/mapping-logic-core.d.ts +19 -0
  337. package/lib/models/design/design-mapper/multiple-choice-item-template-mapper.d.ts +10 -0
  338. package/lib/models/design/design-mapper/numbered-list-item-template-mapper.d.ts +11 -0
  339. package/lib/models/design/design-mapper/numeric-response-item-template-mapper.d.ts +11 -0
  340. package/lib/models/design/design-mapper/offset-date-range-template-mapper.d.ts +11 -0
  341. package/lib/models/design/design-mapper/option-group-item-mapper.d.ts +13 -0
  342. package/lib/models/design/design-mapper/option-item-mapper.d.ts +13 -0
  343. package/lib/models/design/design-mapper/option-selector-mapper.d.ts +29 -0
  344. package/lib/models/design/design-mapper/repeatable-item-template-mapper.d.ts +11 -0
  345. package/lib/models/design/design-mapper/template-item-group-mapper.d.ts +12 -0
  346. package/lib/models/design/design-mapper/template-item-mapper.d.ts +13 -0
  347. package/lib/models/design/design-mapper/template-mapper.d.ts +13 -0
  348. package/lib/models/design/design-mapper/template-section-mapper.d.ts +12 -0
  349. package/lib/models/design/design-mapper/text-item-template-mapper.d.ts +11 -0
  350. package/lib/models/design/design-mapper/text-response-item-template-mapper.d.ts +11 -0
  351. package/lib/models/design/design-mapper/time-item-template-mapper.d.ts +11 -0
  352. package/lib/models/design/design-mapper/title-item-template-mapper.d.ts +11 -0
  353. package/lib/models/design/design-mapper/year-quarter-range-template-mapper.d.ts +11 -0
  354. package/lib/models/design/enumerations/date-enumeration.model.d.ts +8 -0
  355. package/lib/models/design/enumerations/index.d.ts +1 -0
  356. package/lib/models/design/index.d.ts +8 -0
  357. package/lib/models/design/option-group-item-section-display-name-map.model.d.ts +3 -0
  358. package/lib/models/design/option-item-section-display-name-map.model.d.ts +3 -0
  359. package/lib/models/design/potential-designs.model.d.ts +27 -0
  360. package/lib/models/design/template-design-constants.model.d.ts +47 -0
  361. package/lib/models/design/template-design-context.model.d.ts +3 -0
  362. package/lib/models/i18n-constants.model.d.ts +183 -0
  363. package/lib/models/index.d.ts +4 -0
  364. package/lib/pipes/get-i18n-string-value-from-locale.pipe.d.ts +14 -0
  365. package/lib/pipes/get-i18n-strings-value-from-locale.pipe.d.ts +14 -0
  366. package/lib/pipes/index.d.ts +5 -0
  367. package/lib/pipes/instance-of-template-item-group-impl.pipe.d.ts +14 -0
  368. package/lib/pipes/instance-of-template-item.pipe.d.ts +13 -0
  369. package/lib/pipes/instance-of-template.pipe.d.ts +13 -0
  370. package/lib/services/api.service.d.ts +4 -2
  371. package/lib/services/dialog.service.d.ts +3 -3
  372. package/lib/services/index.d.ts +1 -0
  373. package/lib/services/template-transformation.service.d.ts +14 -0
  374. package/lib/state/design/index.d.ts +1 -0
  375. package/lib/state/design/template-design.facade.d.ts +31 -0
  376. package/lib/state/form/index.d.ts +7 -0
  377. package/lib/state/form/template-form-api.actions.d.ts +13 -0
  378. package/lib/state/form/template-form.actions.d.ts +12 -0
  379. package/lib/state/form/template-form.effects.d.ts +23 -0
  380. package/lib/state/form/template-form.facade.d.ts +16 -0
  381. package/lib/state/form/template-form.reducer.d.ts +11 -0
  382. package/lib/state/form/template-form.selectors.d.ts +6 -0
  383. package/lib/state/index.d.ts +2 -0
  384. package/lib/utilities/design-conditionals-util.d.ts +13 -0
  385. package/lib/utilities/form-option-design-util.d.ts +12 -0
  386. package/lib/utilities/generate-form-steps.d.ts +2 -2
  387. package/lib/utilities/index.d.ts +5 -1
  388. package/lib/utilities/merge-template-util.d.ts +11 -0
  389. package/lib/utilities/new-base-designs.util.d.ts +25 -0
  390. package/lib/utilities/serializer-util.d.ts +1 -0
  391. package/lib/utilities/template-design-core-util.d.ts +10 -0
  392. package/lib/utilities/template-design-util.d.ts +14 -0
  393. package/package.json +5 -2
  394. package/public-api.d.ts +1 -0
@@ -0,0 +1,124 @@
1
+ import { instanceOfBooleanItemTemplate, instanceOfCheckboxItemTemplate, instanceOfDropdownItemTemplate, instanceOfMultipleChoiceItemTemplate, instanceOfTemplateItemGroupImpl, instanceOfTemplateSectionImpl, } from '@mtna/web-form-ts';
2
+ import { isPresent } from '@mtna/core-ts';
3
+ export function getConditionalProcessingResources(optionId, enable, items) {
4
+ const conditionalItems = flattenConditionalItems(items);
5
+ let optionSelector = undefined;
6
+ let optionItemId = '';
7
+ for (const conditionalItem of conditionalItems) {
8
+ if (!isPresent(optionSelector)) {
9
+ let options = [];
10
+ if (instanceOfCheckboxItemTemplate(conditionalItem) ||
11
+ instanceOfDropdownItemTemplate(conditionalItem) ||
12
+ instanceOfMultipleChoiceItemTemplate(conditionalItem)) {
13
+ options = conditionalItem.options;
14
+ }
15
+ else if (instanceOfBooleanItemTemplate(conditionalItem)) {
16
+ options.push(conditionalItem.option);
17
+ }
18
+ for (const option of options) {
19
+ if (option.option.id === optionId) {
20
+ optionSelector = option;
21
+ optionItemId = conditionalItem.instanceId;
22
+ break;
23
+ }
24
+ }
25
+ }
26
+ }
27
+ return isPresent(optionSelector) ? { conditionalItems, enable, optionItemId, optionSelector } : undefined;
28
+ }
29
+ /**
30
+ * Flattens a list of template items into a single flat array of conditionalItems.
31
+ *
32
+ * @param items
33
+ */
34
+ export function flattenConditionalItems(items) {
35
+ let conditionalItems = [];
36
+ for (const templateItem of items) {
37
+ if (instanceOfTemplateItemGroupImpl(templateItem)) {
38
+ conditionalItems.push(templateItem);
39
+ conditionalItems = [...conditionalItems, ...flattenConditionalItems(templateItem.items)];
40
+ }
41
+ else if (instanceOfTemplateSectionImpl(templateItem)) {
42
+ conditionalItems.push(templateItem);
43
+ conditionalItems = [...conditionalItems, ...flattenConditionalItems(templateItem.items)];
44
+ }
45
+ else {
46
+ // we know the remaining template items are conditionals
47
+ const conditionalItem = templateItem;
48
+ conditionalItems.push(conditionalItem);
49
+ }
50
+ }
51
+ return conditionalItems;
52
+ }
53
+ export function processConditionals(optionId, enable, items) {
54
+ const conditionalProcessingResources = getConditionalProcessingResources(optionId, enable, items);
55
+ if (!conditionalProcessingResources) {
56
+ return;
57
+ }
58
+ /*
59
+ * One of two things may have happened.
60
+ * - An item was added to the list of enabled / disabled items.
61
+ * - An item was removed from the list of enabled / disabled items.
62
+ *
63
+ * In the first scenario we must look up the conditional items in the enabled / disabled list and adjust their
64
+ * conditions. In the second scenario we must look through all the conditionals, find those that reference the option
65
+ * item being updated and check if they still exist in the list of enabled / disabled items.
66
+ *
67
+ * To perform this in a single pass, we will iterate over all the conditional items and pick out any that are
68
+ * referenced by the current list of enabled / disabled items, and also any that currently have a condition set on
69
+ * them where the item ids include the edited option items id. Then we will go about handling the two previously
70
+ * described scenarios.
71
+ */
72
+ const optionSelector = conditionalProcessingResources.optionSelector;
73
+ const updatedItemIds = new Set(enable
74
+ ? isPresent(optionSelector.enabledItems)
75
+ ? optionSelector.enabledItems
76
+ : []
77
+ : isPresent(optionSelector.disabledItems)
78
+ ? optionSelector.disabledItems
79
+ : []);
80
+ for (const conditionalItem of conditionalProcessingResources.conditionalItems) {
81
+ if (updatedItemIds.has(conditionalItem.instanceId)) {
82
+ updateConditional(conditionalItem, conditionalProcessingResources.optionItemId, enable);
83
+ }
84
+ else if (hasCondition(conditionalItem, conditionalProcessingResources.optionItemId)) {
85
+ removeFromCondition(conditionalItem, conditionalProcessingResources.optionItemId);
86
+ }
87
+ }
88
+ }
89
+ export function hasCondition(conditionalItem, optionItemId) {
90
+ return (isPresent(conditionalItem.condition) &&
91
+ isPresent(conditionalItem.condition.itemIds) &&
92
+ conditionalItem.condition.itemIds.includes(optionItemId));
93
+ }
94
+ export function updateConditional(conditional, itemId, enable) {
95
+ if (!isPresent(conditional.condition)) {
96
+ conditional.condition = { allRequired: false, itemIds: [], value: '' };
97
+ }
98
+ // if the condition is enabled by this item, set disabled to be true.
99
+ const condition = conditional.condition;
100
+ conditional.disabled = enable;
101
+ if (!condition.itemIds.includes(itemId)) {
102
+ condition.itemIds.push(itemId);
103
+ }
104
+ conditional.hasCondition = true;
105
+ }
106
+ export function removeFromCondition(conditional, itemId) {
107
+ if (!isPresent(conditional.condition)) {
108
+ return;
109
+ }
110
+ const itemIds = isPresent(conditional.condition.itemIds) ? conditional.condition.itemIds : [];
111
+ const index = itemIds.indexOf(itemId);
112
+ if (index !== -1) {
113
+ itemIds.splice(index, 1);
114
+ }
115
+ if (itemIds.length > 0) {
116
+ conditional.condition.itemIds = itemIds;
117
+ }
118
+ else {
119
+ conditional.condition = undefined;
120
+ conditional.hasCondition = false;
121
+ conditional.disabled = false;
122
+ }
123
+ }
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzaWduLWNvbmRpdGlvbmFscy11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2ViLWZvcm0tYW5ndWxhci9zcmMvbGliL3V0aWxpdGllcy9kZXNpZ24tY29uZGl0aW9uYWxzLXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlMLDZCQUE2QixFQUM3Qiw4QkFBOEIsRUFDOUIsOEJBQThCLEVBQzlCLG9DQUFvQyxFQUNwQywrQkFBK0IsRUFDL0IsNkJBQTZCLEdBRTlCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcxQyxNQUFNLFVBQVUsaUNBQWlDLENBQy9DLFFBQWdCLEVBQ2hCLE1BQWUsRUFDZixLQUFxQjtJQUVyQixNQUFNLGdCQUFnQixHQUFzQix1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzRSxJQUFJLGNBQWMsR0FBd0MsU0FBUyxDQUFDO0lBQ3BFLElBQUksWUFBWSxHQUFXLEVBQUUsQ0FBQztJQUM5QixLQUFLLE1BQU0sZUFBZSxJQUFJLGdCQUFnQixFQUFFO1FBQzlDLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDOUIsSUFBSSxPQUFPLEdBQThCLEVBQUUsQ0FBQztZQUM1QyxJQUNFLDhCQUE4QixDQUFDLGVBQWUsQ0FBQztnQkFDL0MsOEJBQThCLENBQUMsZUFBZSxDQUFDO2dCQUMvQyxvQ0FBb0MsQ0FBQyxlQUFlLENBQUMsRUFDckQ7Z0JBQ0EsT0FBTyxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUM7YUFDbkM7aUJBQU0sSUFBSSw2QkFBNkIsQ0FBQyxlQUFlLENBQUMsRUFBRTtnQkFDekQsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDdEM7WUFDRCxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRTtnQkFD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QUMsQ0FBQztLQUMxQjtJQUNELElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDdEIsV0FBVyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0tBQ3pDO1NBQU07UUFDTCxXQUFXLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUNsQyxXQUFXLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUNqQyxXQUFXLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztLQUM5QjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb25kaXRpb24sXG4gIENvbmRpdGlvbmFsSXRlbSxcbiAgRm9ybU9wdGlvblNlbGVjdG9yLFxuICBpbnN0YW5jZU9mQm9vbGVhbkl0ZW1UZW1wbGF0ZSxcbiAgaW5zdGFuY2VPZkNoZWNrYm94SXRlbVRlbXBsYXRlLFxuICBpbnN0YW5jZU9mRHJvcGRvd25JdGVtVGVtcGxhdGUsXG4gIGluc3RhbmNlT2ZNdWx0aXBsZUNob2ljZUl0ZW1UZW1wbGF0ZSxcbiAgaW5zdGFuY2VPZlRlbXBsYXRlSXRlbUdyb3VwSW1wbCxcbiAgaW5zdGFuY2VPZlRlbXBsYXRlU2VjdGlvbkltcGwsXG4gIFRlbXBsYXRlSXRlbSxcbn0gZnJvbSAnQG10bmEvd2ViLWZvcm0tdHMnO1xuaW1wb3J0IHsgaXNQcmVzZW50IH0gZnJvbSAnQG10bmEvY29yZS10cyc7XG5pbXBvcnQgeyBDb25kaXRpb25hbFByb2Nlc3NpbmdSZXNvdXJjZXMgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29uZGl0aW9uYWxQcm9jZXNzaW5nUmVzb3VyY2VzKFxuICBvcHRpb25JZDogc3RyaW5nLFxuICBlbmFibGU6IGJvb2xlYW4sXG4gIGl0ZW1zOiBUZW1wbGF0ZUl0ZW1bXVxuKTogQ29uZGl0aW9uYWxQcm9jZXNzaW5nUmVzb3VyY2VzIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgY29uZGl0aW9uYWxJdGVtczogQ29uZGl0aW9uYWxJdGVtW10gPSBmbGF0dGVuQ29uZGl0aW9uYWxJdGVtcyhpdGVtcyk7XG4gIGxldCBvcHRpb25TZWxlY3RvcjogRm9ybU9wdGlvblNlbGVjdG9yPGFueT4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gIGxldCBvcHRpb25JdGVtSWQ6IHN0cmluZyA9ICcnO1xuICBmb3IgKGNvbnN0IGNvbmRpdGlvbmFsSXRlbSBvZiBjb25kaXRpb25hbEl0ZW1zKSB7XG4gICAgaWYgKCFpc1ByZXNlbnQob3B0aW9uU2VsZWN0b3IpKSB7XG4gICAgICBsZXQgb3B0aW9uczogRm9ybU9wdGlvblNlbGVjdG9yPGFueT5bXSA9IFtdO1xuICAgICAgaWYgKFxuICAgICAgICBpbnN0YW5jZU9mQ2hlY2tib3hJdGVtVGVtcGxhdGUoY29uZGl0aW9uYWxJdGVtKSB8fFxuICAgICAgICBpbnN0YW5jZU9mRHJvcGRvd25JdGVtVGVtcGxhdGUoY29uZGl0aW9uYWxJdGVtKSB8fFxuICAgICAgICBpbnN0YW5jZU9mTXVsdGlwbGVDaG9pY2VJdGVtVGVtcGxhdGUoY29uZGl0aW9uYWxJdGVtKVxuICAgICAgKSB7XG4gICAgICAgIG9wdGlvbnMgPSBjb25kaXRpb25hbEl0ZW0ub3B0aW9ucztcbiAgICAgIH0gZWxzZSBpZiAoaW5zdGFuY2VPZkJvb2xlYW5JdGVtVGVtcGxhdGUoY29uZGl0aW9uYWxJdGVtKSkge1xuICAgICAgICBvcHRpb25zLnB1c2goY29uZGl0aW9uYWxJdGVtLm9wdGlvbik7XG4gICAgICB9XG4gICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XG4gICAgICAgIGlmIChvcHRpb24ub3B0aW9uLmlkID09PSBvcHRpb25JZCkge1xuICAgICAgICAgIG9wdGlvblNlbGVjdG9yID0gb3B0aW9uO1xuICAgICAgICAgIG9wdGlvbkl0ZW1JZCA9IGNvbmRpdGlvbmFsSXRlbS5pbnN0YW5jZUlkO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGlzUHJlc2VudChvcHRpb25TZWxlY3RvcikgPyB7IGNvbmRpdGlvbmFsSXRlbXMsIGVuYWJsZSwgb3B0aW9uSXRlbUlkLCBvcHRpb25TZWxlY3RvciB9IDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEZsYXR0ZW5zIGEgbGlzdCBvZiB0ZW1wbGF0ZSBpdGVtcyBpbnRvIGEgc2luZ2xlIGZsYXQgYXJyYXkgb2YgY29uZGl0aW9uYWxJdGVtcy5cbiAqXG4gKiBAcGFyYW0gaXRlbXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZsYXR0ZW5Db25kaXRpb25hbEl0ZW1zKGl0ZW1zOiBUZW1wbGF0ZUl0ZW1bXSk6IENvbmRpdGlvbmFsSXRlbVtdIHtcbiAgbGV0IGNvbmRpdGlvbmFsSXRlbXM6IENvbmRpdGlvbmFsSXRlbVtdID0gW107XG4gIGZvciAoY29uc3QgdGVtcGxhdGVJdGVtIG9mIGl0ZW1zKSB7XG4gICAgaWYgKGluc3RhbmNlT2ZUZW1wbGF0ZUl0ZW1Hcm91cEltcGwodGVtcGxhdGVJdGVtKSkge1xuICAgICAgY29uZGl0aW9uYWxJdGVtcy5wdXNoKHRlbXBsYXRlSXRlbSk7XG4gICAgICBjb25kaXRpb25hbEl0ZW1zID0gWy4uLmNvbmRpdGlvbmFsSXRlbXMsIC4uLmZsYXR0ZW5Db25kaXRpb25hbEl0ZW1zKHRlbXBsYXRlSXRlbS5pdGVtcyldO1xuICAgIH0gZWxzZSBpZiAoaW5zdGFuY2VPZlRlbXBsYXRlU2VjdGlvbkltcGwodGVtcGxhdGVJdGVtKSkge1xuICAgICAgY29uZGl0aW9uYWxJdGVtcy5wdXNoKHRlbXBsYXRlSXRlbSk7XG4gICAgICBjb25kaXRpb25hbEl0ZW1zID0gWy4uLmNvbmRpdGlvbmFsSXRlbXMsIC4uLmZsYXR0ZW5Db25kaXRpb25hbEl0ZW1zKHRlbXBsYXRlSXRlbS5pdGVtcyldO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyB3ZSBrbm93IHRoZSByZW1haW5pbmcgdGVtcGxhdGUgaXRlbXMgYXJlIGNvbmRpdGlvbmFsc1xuICAgICAgY29uc3QgY29uZGl0aW9uYWxJdGVtID0gdGVtcGxhdGVJdGVtIGFzIHVua25vd24gYXMgQ29uZGl0aW9uYWxJdGVtO1xuICAgICAgY29uZGl0aW9uYWxJdGVtcy5wdXNoKGNvbmRpdGlvbmFsSXRlbSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBjb25kaXRpb25hbEl0ZW1zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2Vzc0NvbmRpdGlvbmFscyhvcHRpb25JZDogc3RyaW5nLCBlbmFibGU6IGJvb2xlYW4sIGl0ZW1zOiBUZW1wbGF0ZUl0ZW1bXSkge1xuICBjb25zdCBjb25kaXRpb25hbFByb2Nlc3NpbmdSZXNvdXJjZXMgPSBnZXRDb25kaXRpb25hbFByb2Nlc3NpbmdSZXNvdXJjZXMob3B0aW9uSWQsIGVuYWJsZSwgaXRlbXMpO1xuICBpZiAoIWNvbmRpdGlvbmFsUHJvY2Vzc2luZ1Jlc291cmNlcykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qXG4gICAqIE9uZSBvZiB0d28gdGhpbmdzIG1heSBoYXZlIGhhcHBlbmVkLlxuICAgKiAgLSBBbiBpdGVtIHdhcyBhZGRlZCB0byB0aGUgbGlzdCBvZiBlbmFibGVkIC8gZGlzYWJsZWQgaXRlbXMuXG4gICAqICAtIEFuIGl0ZW0gd2FzIHJlbW92ZWQgZnJvbSB0aGUgbGlzdCBvZiBlbmFibGVkIC8gZGlzYWJsZWQgaXRlbXMuXG4gICAqXG4gICAqIEluIHRoZSBmaXJzdCBzY2VuYXJpbyB3ZSBtdXN0IGxvb2sgdXAgdGhlIGNvbmRpdGlvbmFsIGl0ZW1zIGluIHRoZSBlbmFibGVkIC8gZGlzYWJsZWQgbGlzdCBhbmQgYWRqdXN0IHRoZWlyXG4gICAqIGNvbmRpdGlvbnMuIEluIHRoZSBzZWNvbmQgc2NlbmFyaW8gd2UgbXVzdCBsb29rIHRocm91Z2ggYWxsIHRoZSBjb25kaXRpb25hbHMsIGZpbmQgdGhvc2UgdGhhdCByZWZlcmVuY2UgdGhlIG9wdGlvblxuICAgKiBpdGVtIGJlaW5nIHVwZGF0ZWQgYW5kIGNoZWNrIGlmIHRoZXkgc3RpbGwgZXhpc3QgaW4gdGhlIGxpc3Qgb2YgZW5hYmxlZCAvIGRpc2FibGVkIGl0ZW1zLlxuICAgKlxuICAgKiBUbyBwZXJmb3JtIHRoaXMgaW4gYSBzaW5nbGUgcGFzcywgd2Ugd2lsbCBpdGVyYXRlIG92ZXIgYWxsIHRoZSBjb25kaXRpb25hbCBpdGVtcyBhbmQgcGljayBvdXQgYW55IHRoYXQgYXJlXG4gICAqIHJlZmVyZW5jZWQgYnkgdGhlIGN1cnJlbnQgbGlzdCBvZiBlbmFibGVkIC8gZGlzYWJsZWQgaXRlbXMsIGFuZCBhbHNvIGFueSB0aGF0IGN1cnJlbnRseSBoYXZlIGEgY29uZGl0aW9uIHNldCBvblxuICAgKiB0aGVtIHdoZXJlIHRoZSBpdGVtIGlkcyBpbmNsdWRlIHRoZSBlZGl0ZWQgb3B0aW9uIGl0ZW1zIGlkLiBUaGVuIHdlIHdpbGwgZ28gYWJvdXQgaGFuZGxpbmcgdGhlIHR3byBwcmV2aW91c2x5XG4gICAqIGRlc2NyaWJlZCBzY2VuYXJpb3MuXG4gICAqL1xuICBjb25zdCBvcHRpb25TZWxlY3RvcjogRm9ybU9wdGlvblNlbGVjdG9yPGFueT4gPSBjb25kaXRpb25hbFByb2Nlc3NpbmdSZXNvdXJjZXMub3B0aW9uU2VsZWN0b3I7XG4gIGNvbnN0IHVwZGF0ZWRJdGVtSWRzID0gbmV3IFNldChcbiAgICBlbmFibGVcbiAgICAgID8gaXNQcmVzZW50KG9wdGlvblNlbGVjdG9yLmVuYWJsZWRJdGVtcylcbiAgICAgICAgPyBvcHRpb25TZWxlY3Rvci5lbmFibGVkSXRlbXNcbiAgICAgICAgOiBbXVxuICAgICAgOiBpc1ByZXNlbnQob3B0aW9uU2VsZWN0b3IuZGlzYWJsZWRJdGVtcylcbiAgICAgID8gb3B0aW9uU2VsZWN0b3IuZGlzYWJsZWRJdGVtc1xuICAgICAgOiBbXVxuICApO1xuICBmb3IgKGNvbnN0IGNvbmRpdGlvbmFsSXRlbSBvZiBjb25kaXRpb25hbFByb2Nlc3NpbmdSZXNvdXJjZXMuY29uZGl0aW9uYWxJdGVtcykge1xuICAgIGlmICh1cGRhdGVkSXRlbUlkcy5oYXMoY29uZGl0aW9uYWxJdGVtLmluc3RhbmNlSWQpKSB7XG4gICAgICB1cGRhdGVDb25kaXRpb25hbChjb25kaXRpb25hbEl0ZW0sIGNvbmRpdGlvbmFsUHJvY2Vzc2luZ1Jlc291cmNlcy5vcHRpb25JdGVtSWQsIGVuYWJsZSk7XG4gICAgfSBlbHNlIGlmIChoYXNDb25kaXRpb24oY29uZGl0aW9uYWxJdGVtLCBjb25kaXRpb25hbFByb2Nlc3NpbmdSZXNvdXJjZXMub3B0aW9uSXRlbUlkKSkge1xuICAgICAgcmVtb3ZlRnJvbUNvbmRpdGlvbihjb25kaXRpb25hbEl0ZW0sIGNvbmRpdGlvbmFsUHJvY2Vzc2luZ1Jlc291cmNlcy5vcHRpb25JdGVtSWQpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzQ29uZGl0aW9uKGNvbmRpdGlvbmFsSXRlbTogQ29uZGl0aW9uYWxJdGVtLCBvcHRpb25JdGVtSWQ6IHN0cmluZykge1xuICByZXR1cm4gKFxuICAgIGlzUHJlc2VudChjb25kaXRpb25hbEl0ZW0uY29uZGl0aW9uKSAmJlxuICAgIGlzUHJlc2VudChjb25kaXRpb25hbEl0ZW0uY29uZGl0aW9uLml0ZW1JZHMpICYmXG4gICAgY29uZGl0aW9uYWxJdGVtLmNvbmRpdGlvbi5pdGVtSWRzLmluY2x1ZGVzKG9wdGlvbkl0ZW1JZClcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUNvbmRpdGlvbmFsKGNvbmRpdGlvbmFsOiBDb25kaXRpb25hbEl0ZW0sIGl0ZW1JZDogc3RyaW5nLCBlbmFibGU6IGJvb2xlYW4pIHtcbiAgaWYgKCFpc1ByZXNlbnQoY29uZGl0aW9uYWwuY29uZGl0aW9uKSkge1xuICAgIGNvbmRpdGlvbmFsLmNvbmRpdGlvbiA9IHsgYWxsUmVxdWlyZWQ6IGZhbHNlLCBpdGVtSWRzOiBbXSwgdmFsdWU6ICcnIH07XG4gIH1cbiAgLy8gaWYgdGhlIGNvbmRpdGlvbiBpcyBlbmFibGVkIGJ5IHRoaXMgaXRlbSwgc2V0IGRpc2FibGVkIHRvIGJlIHRydWUuXG4gIGNvbnN0IGNvbmRpdGlvbjogQ29uZGl0aW9uID0gY29uZGl0aW9uYWwuY29uZGl0aW9uO1xuICBjb25kaXRpb25hbC5kaXNhYmxlZCA9IGVuYWJsZTtcbiAgaWYgKCFjb25kaXRpb24uaXRlbUlkcy5pbmNsdWRlcyhpdGVtSWQpKSB7XG4gICAgY29uZGl0aW9uLml0ZW1JZHMucHVzaChpdGVtSWQpO1xuICB9XG4gIGNvbmRpdGlvbmFsLmhhc0NvbmRpdGlvbiA9IHRydWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVGcm9tQ29uZGl0aW9uKGNvbmRpdGlvbmFsOiBDb25kaXRpb25hbEl0ZW0sIGl0ZW1JZDogc3RyaW5nKSB7XG4gIGlmICghaXNQcmVzZW50KGNvbmRpdGlvbmFsLmNvbmRpdGlvbikpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgaXRlbUlkcyA9IGlzUHJlc2VudChjb25kaXRpb25hbC5jb25kaXRpb24uaXRlbUlkcykgPyBjb25kaXRpb25hbC5jb25kaXRpb24uaXRlbUlkcyA6IFtdO1xuICBjb25zdCBpbmRleCA9IGl0ZW1JZHMuaW5kZXhPZihpdGVtSWQpO1xuICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgaXRlbUlkcy5zcGxpY2UoaW5kZXgsIDEpO1xuICB9XG4gIGlmIChpdGVtSWRzLmxlbmd0aCA+IDApIHtcbiAgICBjb25kaXRpb25hbC5jb25kaXRpb24uaXRlbUlkcyA9IGl0ZW1JZHM7XG4gIH0gZWxzZSB7XG4gICAgY29uZGl0aW9uYWwuY29uZGl0aW9uID0gdW5kZWZpbmVkO1xuICAgIGNvbmRpdGlvbmFsLmhhc0NvbmRpdGlvbiA9IGZhbHNlO1xuICAgIGNvbmRpdGlvbmFsLmRpc2FibGVkID0gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,88 @@
1
+ import { instanceOfModelDesignProperty } from '@mtna/designer-ts';
2
+ import { OptionSelectorMapper } from '../models/design/design-mapper/option-selector-mapper';
3
+ import { isPresent, isType } from '@mtna/core-ts';
4
+ import { optionGroupItemSectionDisplayNameMap } from '../models/design/option-group-item-section-display-name-map.model';
5
+ import { optionItemSectionDisplayNameMap } from '../models/design/option-item-section-display-name-map.model';
6
+ import { i18n_optionProperties } from '../models/i18n-constants.model';
7
+ import { prop_item_option, prop_item_options, prop_option_template } from '../models/design/template-design-constants.model';
8
+ export function getNewFormOptionSelector(designBase) {
9
+ return {
10
+ acknowledgement: {},
11
+ containerDescription: '',
12
+ codeValue: '',
13
+ disabledItems: [],
14
+ enabledItems: [],
15
+ multiSelect: false,
16
+ option: {
17
+ name: designBase.display,
18
+ help: '',
19
+ description: '',
20
+ id: designBase.id,
21
+ value: undefined,
22
+ },
23
+ selected: false,
24
+ selectionCount: 0,
25
+ unavailable: false,
26
+ };
27
+ }
28
+ export function optionSelectorToDesign(formOptionSelector, languageId, optionTemplateMap, references, parent, context) {
29
+ const design = new OptionSelectorMapper({
30
+ model: formOptionSelector,
31
+ languageId,
32
+ context,
33
+ customParams: { optionTemplateMap, references },
34
+ }).getDesign();
35
+ return Object.assign(Object.assign({}, design), { parent });
36
+ }
37
+ export function designToOptionSelector(design, context) {
38
+ const formOptionSelector = new OptionSelectorMapper({
39
+ design,
40
+ context,
41
+ }).getModel();
42
+ return formOptionSelector;
43
+ }
44
+ export function getOptionSelectorPotentialDesigns(design, property) {
45
+ const potentialDesigns = new OptionSelectorMapper({ design }).getPotentialDesigns(property);
46
+ return potentialDesigns;
47
+ }
48
+ export function instanceOfFormOptionSelector(something) {
49
+ return (isType(something, 'containerDescription', 'codeValue', 'option') &&
50
+ isPresent(something.containerDescription) &&
51
+ isPresent(something.codeValue) &&
52
+ isPresent(something.option));
53
+ }
54
+ function getDesignsBySectionAndProperty(design, sectionDisplay, propertyKey) {
55
+ const section = design.sections.find((s) => s.display === sectionDisplay);
56
+ if (!section)
57
+ return [];
58
+ const property = section.properties.find((p) => instanceOfModelDesignProperty(p) && p.property === propertyKey);
59
+ if (property && instanceOfModelDesignProperty(property)) {
60
+ return property.values;
61
+ }
62
+ return [];
63
+ }
64
+ function getOptionDesigns(design, mapperType) {
65
+ const sectionDisplay = mapperType === 'optionGroupItem' ? optionGroupItemSectionDisplayNameMap[design.type] : optionItemSectionDisplayNameMap[design.type];
66
+ const propertyKey = mapperType === 'optionGroupItem' ? prop_item_options : prop_item_option;
67
+ return getDesignsBySectionAndProperty(design, sectionDisplay, propertyKey);
68
+ }
69
+ function getOptionTemplateDesign(optionDesign) {
70
+ const designs = getDesignsBySectionAndProperty(optionDesign, i18n_optionProperties, prop_option_template);
71
+ return isPresent(designs[0]) ? designs[0] : undefined;
72
+ }
73
+ export function getOptionsAndTemplateMap(design, mapperType, toTemplateItemFn, context) {
74
+ const options = [];
75
+ const optionTemplateMap = {};
76
+ const optionDesigns = getOptionDesigns(design, mapperType);
77
+ for (const optionDesign of optionDesigns) {
78
+ const optionSelector = designToOptionSelector(optionDesign, context);
79
+ options.push(optionSelector);
80
+ const optionTemplateDesign = getOptionTemplateDesign(optionDesign);
81
+ if (isPresent(optionTemplateDesign)) {
82
+ const optionTemplate = toTemplateItemFn(optionTemplateDesign, context);
83
+ optionTemplateMap[optionSelector.option.id] = optionTemplate;
84
+ }
85
+ }
86
+ return { options, optionTemplateMap };
87
+ }
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1vcHRpb24tZGVzaWduLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ZWItZm9ybS1hbmd1bGFyL3NyYy9saWIvdXRpbGl0aWVzL2Zvcm0tb3B0aW9uLWRlc2lnbi11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBK0MsNkJBQTZCLEVBQXdCLE1BQU0sbUJBQW1CLENBQUM7QUFDckksT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDN0YsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDekgsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDOUcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFN0gsTUFBTSxVQUFVLHdCQUF3QixDQUFDLFVBQXNCO0lBQzdELE9BQU87UUFDTCxlQUFlLEVBQUUsRUFBYTtRQUM5QixvQkFBb0IsRUFBRSxFQUFFO1FBQ3hCLFNBQVMsRUFBRSxFQUFFO1FBQ2IsYUFBYSxFQUFFLEVBQUU7UUFDakIsWUFBWSxFQUFFLEVBQUU7UUFDaEIsV0FBVyxFQUFFLEtBQUs7UUFDbEIsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLFVBQVUsQ0FBQyxPQUFPO1lBQ3hCLElBQUksRUFBRSxFQUFFO1lBQ1IsV0FBVyxFQUFFLEVBQUU7WUFDZixFQUFFLEVBQUUsVUFBVSxDQUFDLEVBQUU7WUFDakIsS0FBSyxFQUFFLFNBQVM7U0FDRTtRQUNwQixRQUFRLEVBQUUsS0FBSztRQUNmLGNBQWMsRUFBRSxDQUFDO1FBQ2pCLFdBQVcsRUFBRSxLQUFLO0tBQ25CLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUNwQyxrQkFBeUMsRUFDekMsVUFBMEIsRUFDMUIsaUJBQStDLEVBQy9DLFVBQWdELEVBQ2hELE1BQW1CLEVBQ25CLE9BQWlCO0lBRWpCLE1BQU0sTUFBTSxHQUFXLElBQUksb0JBQW9CLENBQUM7UUFDOUMsS0FBSyxFQUFFLGtCQUFrQjtRQUN6QixVQUFVO1FBQ1YsT0FBTztRQUNQLFlBQVksRUFBRSxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRTtLQUNoRCxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDZix1Q0FBWSxNQUFNLEtBQUUsTUFBTSxJQUFHO0FBQy9CLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQTRCLE1BQWMsRUFBRSxPQUFpQjtJQUNqRyxNQUFNLGtCQUFrQixHQUFHLElBQUksb0JBQW9CLENBQUM7UUFDbEQsTUFBTTtRQUNOLE9BQU87S0FDUixDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDZCxPQUFPLGtCQUEyQyxDQUFDO0FBQ3JELENBQUM7QUFFRCxNQUFNLFVBQVUsaUNBQWlDLENBQUMsTUFBYyxFQUFFLFFBQXdCO0lBQ3hGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUYsT0FBTyxnQkFBZ0IsQ0FBQztBQUMxQixDQUFDO0FBRUQsTUFBTSxVQUFVLDRCQUE0QixDQUFDLFNBQWtCO0lBQzdELE9BQU8sQ0FDTCxNQUFNLENBQXNDLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDO1FBQ3JHLFNBQVMsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUM7UUFDekMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7UUFDOUIsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FDNUIsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLDhCQUE4QixDQUFDLE1BQWMsRUFBRSxjQUFzQixFQUFFLFdBQW1CO0lBQ2pHLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLGNBQWMsQ0FBQyxDQUFDO0lBQzFFLElBQUksQ0FBQyxPQUFPO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFFeEIsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEtBQUssV0FBVyxDQUFDLENBQUM7SUFFaEgsSUFBSSxRQUFRLElBQUksNkJBQTZCLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDdkQsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO0tBQ3hCO0lBRUQsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxNQUFjLEVBQUUsVUFBNEM7SUFDcEYsTUFBTSxjQUFjLEdBQ2xCLFVBQVUsS0FBSyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsb0NBQW9DLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQywrQkFBK0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEksTUFBTSxXQUFXLEdBQUcsVUFBVSxLQUFLLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUM7SUFFNUYsT0FBTyw4QkFBOEIsQ0FBQyxNQUFNLEVBQUUsY0FBYyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBQzdFLENBQUM7QUFFRCxTQUFTLHVCQUF1QixDQUFDLFlBQW9CO0lBQ25ELE1BQU0sT0FBTyxHQUFHLDhCQUE4QixDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0lBQzFHLE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUN4RCxDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUN0QyxNQUFjLEVBQ2QsVUFBNEMsRUFDNUMsZ0JBQXFFLEVBQ3JFLE9BQWlCO0lBS2pCLE1BQU0sT0FBTyxHQUE0QixFQUFFLENBQUM7SUFDNUMsTUFBTSxpQkFBaUIsR0FBaUMsRUFBRSxDQUFDO0lBRTNELE1BQU0sYUFBYSxHQUFhLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUVyRSxLQUFLLE1BQU0sWUFBWSxJQUFJLGFBQWEsRUFBRTtRQUN4QyxNQUFNLGNBQWMsR0FBMEIsc0JBQXNCLENBQUksWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQy9GLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFN0IsTUFBTSxvQkFBb0IsR0FBdUIsdUJBQXVCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFdkYsSUFBSSxTQUFTLENBQUMsb0JBQW9CLENBQUMsRUFBRTtZQUNuQyxNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN2RSxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLGNBQWMsQ0FBQztTQUM5RDtLQUNGO0lBRUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxDQUFDO0FBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtT3B0aW9uU2VsZWN0b3IsIE9wdGlvbiwgU2VjdGlvbiwgVGVtcGxhdGVJdGVtIH0gZnJvbSAnQG10bmEvd2ViLWZvcm0tdHMnO1xuaW1wb3J0IHsgTXRuYUxhbmd1YWdlSWQgfSBmcm9tICdAbXRuYS9jb3JlLWkxOG4tYW5ndWxhcic7XG5pbXBvcnQgeyBDb250ZXh0LCBEZXNpZ24sIERlc2lnbkJhc2UsIERlc2lnblByb3BlcnR5LCBpbnN0YW5jZU9mTW9kZWxEZXNpZ25Qcm9wZXJ0eSwgUmVmZXJlbmNlRGVzaWduVmFsdWUgfSBmcm9tICdAbXRuYS9kZXNpZ25lci10cyc7XG5pbXBvcnQgeyBPcHRpb25TZWxlY3Rvck1hcHBlciB9IGZyb20gJy4uL21vZGVscy9kZXNpZ24vZGVzaWduLW1hcHBlci9vcHRpb24tc2VsZWN0b3ItbWFwcGVyJztcbmltcG9ydCB7IGlzUHJlc2VudCwgaXNUeXBlIH0gZnJvbSAnQG10bmEvY29yZS10cyc7XG5pbXBvcnQgeyBvcHRpb25Hcm91cEl0ZW1TZWN0aW9uRGlzcGxheU5hbWVNYXAgfSBmcm9tICcuLi9tb2RlbHMvZGVzaWduL29wdGlvbi1ncm91cC1pdGVtLXNlY3Rpb24tZGlzcGxheS1uYW1lLW1hcC5tb2RlbCc7XG5pbXBvcnQgeyBvcHRpb25JdGVtU2VjdGlvbkRpc3BsYXlOYW1lTWFwIH0gZnJvbSAnLi4vbW9kZWxzL2Rlc2lnbi9vcHRpb24taXRlbS1zZWN0aW9uLWRpc3BsYXktbmFtZS1tYXAubW9kZWwnO1xuaW1wb3J0IHsgaTE4bl9vcHRpb25Qcm9wZXJ0aWVzIH0gZnJvbSAnLi4vbW9kZWxzL2kxOG4tY29uc3RhbnRzLm1vZGVsJztcbmltcG9ydCB7IHByb3BfaXRlbV9vcHRpb24sIHByb3BfaXRlbV9vcHRpb25zLCBwcm9wX29wdGlvbl90ZW1wbGF0ZSB9IGZyb20gJy4uL21vZGVscy9kZXNpZ24vdGVtcGxhdGUtZGVzaWduLWNvbnN0YW50cy5tb2RlbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXROZXdGb3JtT3B0aW9uU2VsZWN0b3IoZGVzaWduQmFzZTogRGVzaWduQmFzZSk6IEZvcm1PcHRpb25TZWxlY3RvcjxPcHRpb248dW5rbm93bj4+IHtcbiAgcmV0dXJuIHtcbiAgICBhY2tub3dsZWRnZW1lbnQ6IHt9IGFzIFNlY3Rpb24sXG4gICAgY29udGFpbmVyRGVzY3JpcHRpb246ICcnLFxuICAgIGNvZGVWYWx1ZTogJycsXG4gICAgZGlzYWJsZWRJdGVtczogW10sXG4gICAgZW5hYmxlZEl0ZW1zOiBbXSxcbiAgICBtdWx0aVNlbGVjdDogZmFsc2UsXG4gICAgb3B0aW9uOiB7XG4gICAgICBuYW1lOiBkZXNpZ25CYXNlLmRpc3BsYXksXG4gICAgICBoZWxwOiAnJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICAgIGlkOiBkZXNpZ25CYXNlLmlkLFxuICAgICAgdmFsdWU6IHVuZGVmaW5lZCxcbiAgICB9IGFzIE9wdGlvbjx1bmtub3duPixcbiAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgc2VsZWN0aW9uQ291bnQ6IDAsXG4gICAgdW5hdmFpbGFibGU6IGZhbHNlLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb3B0aW9uU2VsZWN0b3JUb0Rlc2lnbjxPIGV4dGVuZHMgT3B0aW9uPHVua25vd24+PihcbiAgZm9ybU9wdGlvblNlbGVjdG9yOiBGb3JtT3B0aW9uU2VsZWN0b3I8Tz4sXG4gIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkLFxuICBvcHRpb25UZW1wbGF0ZU1hcDogUmVjb3JkPHN0cmluZywgVGVtcGxhdGVJdGVtPixcbiAgcmVmZXJlbmNlczogUmVjb3JkPHN0cmluZywgUmVmZXJlbmNlRGVzaWduVmFsdWU+LFxuICBwYXJlbnQ/OiBEZXNpZ25CYXNlLFxuICBjb250ZXh0PzogQ29udGV4dFxuKTogRGVzaWduIHtcbiAgY29uc3QgZGVzaWduOiBEZXNpZ24gPSBuZXcgT3B0aW9uU2VsZWN0b3JNYXBwZXIoe1xuICAgIG1vZGVsOiBmb3JtT3B0aW9uU2VsZWN0b3IsXG4gICAgbGFuZ3VhZ2VJZCxcbiAgICBjb250ZXh0LFxuICAgIGN1c3RvbVBhcmFtczogeyBvcHRpb25UZW1wbGF0ZU1hcCwgcmVmZXJlbmNlcyB9LFxuICB9KS5nZXREZXNpZ24oKTtcbiAgcmV0dXJuIHsgLi4uZGVzaWduLCBwYXJlbnQgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlc2lnblRvT3B0aW9uU2VsZWN0b3I8TyBleHRlbmRzIE9wdGlvbjx1bmtub3duPj4oZGVzaWduOiBEZXNpZ24sIGNvbnRleHQ/OiBDb250ZXh0KTogRm9ybU9wdGlvblNlbGVjdG9yPE8+IHtcbiAgY29uc3QgZm9ybU9wdGlvblNlbGVjdG9yID0gbmV3IE9wdGlvblNlbGVjdG9yTWFwcGVyKHtcbiAgICBkZXNpZ24sXG4gICAgY29udGV4dCxcbiAgfSkuZ2V0TW9kZWwoKTtcbiAgcmV0dXJuIGZvcm1PcHRpb25TZWxlY3RvciBhcyBGb3JtT3B0aW9uU2VsZWN0b3I8Tz47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25TZWxlY3RvclBvdGVudGlhbERlc2lnbnMoZGVzaWduOiBEZXNpZ24sIHByb3BlcnR5OiBEZXNpZ25Qcm9wZXJ0eSk6IERlc2lnbkJhc2VbXSB7XG4gIGNvbnN0IHBvdGVudGlhbERlc2lnbnMgPSBuZXcgT3B0aW9uU2VsZWN0b3JNYXBwZXIoeyBkZXNpZ24gfSkuZ2V0UG90ZW50aWFsRGVzaWducyhwcm9wZXJ0eSk7XG4gIHJldHVybiBwb3RlbnRpYWxEZXNpZ25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFuY2VPZkZvcm1PcHRpb25TZWxlY3Rvcihzb21ldGhpbmc6IHVua25vd24pOiBzb21ldGhpbmcgaXMgRm9ybU9wdGlvblNlbGVjdG9yPE9wdGlvbjx1bmtub3duPj4ge1xuICByZXR1cm4gKFxuICAgIGlzVHlwZTxGb3JtT3B0aW9uU2VsZWN0b3I8T3B0aW9uPHVua25vd24+Pj4oc29tZXRoaW5nLCAnY29udGFpbmVyRGVzY3JpcHRpb24nLCAnY29kZVZhbHVlJywgJ29wdGlvbicpICYmXG4gICAgaXNQcmVzZW50KHNvbWV0aGluZy5jb250YWluZXJEZXNjcmlwdGlvbikgJiZcbiAgICBpc1ByZXNlbnQoc29tZXRoaW5nLmNvZGVWYWx1ZSkgJiZcbiAgICBpc1ByZXNlbnQoc29tZXRoaW5nLm9wdGlvbilcbiAgKTtcbn1cblxuZnVuY3Rpb24gZ2V0RGVzaWduc0J5U2VjdGlvbkFuZFByb3BlcnR5KGRlc2lnbjogRGVzaWduLCBzZWN0aW9uRGlzcGxheTogc3RyaW5nLCBwcm9wZXJ0eUtleTogc3RyaW5nKTogRGVzaWduW10ge1xuICBjb25zdCBzZWN0aW9uID0gZGVzaWduLnNlY3Rpb25zLmZpbmQoKHMpID0+IHMuZGlzcGxheSA9PT0gc2VjdGlvbkRpc3BsYXkpO1xuICBpZiAoIXNlY3Rpb24pIHJldHVybiBbXTtcblxuICBjb25zdCBwcm9wZXJ0eSA9IHNlY3Rpb24ucHJvcGVydGllcy5maW5kKChwKSA9PiBpbnN0YW5jZU9mTW9kZWxEZXNpZ25Qcm9wZXJ0eShwKSAmJiBwLnByb3BlcnR5ID09PSBwcm9wZXJ0eUtleSk7XG5cbiAgaWYgKHByb3BlcnR5ICYmIGluc3RhbmNlT2ZNb2RlbERlc2lnblByb3BlcnR5KHByb3BlcnR5KSkge1xuICAgIHJldHVybiBwcm9wZXJ0eS52YWx1ZXM7XG4gIH1cblxuICByZXR1cm4gW107XG59XG5cbmZ1bmN0aW9uIGdldE9wdGlvbkRlc2lnbnMoZGVzaWduOiBEZXNpZ24sIG1hcHBlclR5cGU6ICdvcHRpb25Hcm91cEl0ZW0nIHwgJ29wdGlvbkl0ZW0nKTogRGVzaWduW10ge1xuICBjb25zdCBzZWN0aW9uRGlzcGxheSA9XG4gICAgbWFwcGVyVHlwZSA9PT0gJ29wdGlvbkdyb3VwSXRlbScgPyBvcHRpb25Hcm91cEl0ZW1TZWN0aW9uRGlzcGxheU5hbWVNYXBbZGVzaWduLnR5cGVdIDogb3B0aW9uSXRlbVNlY3Rpb25EaXNwbGF5TmFtZU1hcFtkZXNpZ24udHlwZV07XG4gIGNvbnN0IHByb3BlcnR5S2V5ID0gbWFwcGVyVHlwZSA9PT0gJ29wdGlvbkdyb3VwSXRlbScgPyBwcm9wX2l0ZW1fb3B0aW9ucyA6IHByb3BfaXRlbV9vcHRpb247XG5cbiAgcmV0dXJuIGdldERlc2lnbnNCeVNlY3Rpb25BbmRQcm9wZXJ0eShkZXNpZ24sIHNlY3Rpb25EaXNwbGF5LCBwcm9wZXJ0eUtleSk7XG59XG5cbmZ1bmN0aW9uIGdldE9wdGlvblRlbXBsYXRlRGVzaWduKG9wdGlvbkRlc2lnbjogRGVzaWduKTogRGVzaWduIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgZGVzaWducyA9IGdldERlc2lnbnNCeVNlY3Rpb25BbmRQcm9wZXJ0eShvcHRpb25EZXNpZ24sIGkxOG5fb3B0aW9uUHJvcGVydGllcywgcHJvcF9vcHRpb25fdGVtcGxhdGUpO1xuICByZXR1cm4gaXNQcmVzZW50KGRlc2lnbnNbMF0pID8gZGVzaWduc1swXSA6IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE9wdGlvbnNBbmRUZW1wbGF0ZU1hcDxPIGV4dGVuZHMgT3B0aW9uPHVua25vd24+PihcbiAgZGVzaWduOiBEZXNpZ24sXG4gIG1hcHBlclR5cGU6ICdvcHRpb25Hcm91cEl0ZW0nIHwgJ29wdGlvbkl0ZW0nLFxuICB0b1RlbXBsYXRlSXRlbUZuOiAoZGVzaWduOiBEZXNpZ24sIGNvbnRleHQ/OiBDb250ZXh0KSA9PiBUZW1wbGF0ZUl0ZW0sXG4gIGNvbnRleHQ/OiBDb250ZXh0XG4pOiB7XG4gIG9wdGlvbnM6IEZvcm1PcHRpb25TZWxlY3RvcjxPPltdO1xuICBvcHRpb25UZW1wbGF0ZU1hcDogUmVjb3JkPHN0cmluZywgVGVtcGxhdGVJdGVtPjtcbn0ge1xuICBjb25zdCBvcHRpb25zOiBGb3JtT3B0aW9uU2VsZWN0b3I8Tz5bXSA9IFtdO1xuICBjb25zdCBvcHRpb25UZW1wbGF0ZU1hcDogUmVjb3JkPHN0cmluZywgVGVtcGxhdGVJdGVtPiA9IHt9O1xuXG4gIGNvbnN0IG9wdGlvbkRlc2lnbnM6IERlc2lnbltdID0gZ2V0T3B0aW9uRGVzaWducyhkZXNpZ24sIG1hcHBlclR5cGUpO1xuXG4gIGZvciAoY29uc3Qgb3B0aW9uRGVzaWduIG9mIG9wdGlvbkRlc2lnbnMpIHtcbiAgICBjb25zdCBvcHRpb25TZWxlY3RvcjogRm9ybU9wdGlvblNlbGVjdG9yPE8+ID0gZGVzaWduVG9PcHRpb25TZWxlY3RvcjxPPihvcHRpb25EZXNpZ24sIGNvbnRleHQpO1xuICAgIG9wdGlvbnMucHVzaChvcHRpb25TZWxlY3Rvcik7XG5cbiAgICBjb25zdCBvcHRpb25UZW1wbGF0ZURlc2lnbjogRGVzaWduIHwgdW5kZWZpbmVkID0gZ2V0T3B0aW9uVGVtcGxhdGVEZXNpZ24ob3B0aW9uRGVzaWduKTtcblxuICAgIGlmIChpc1ByZXNlbnQob3B0aW9uVGVtcGxhdGVEZXNpZ24pKSB7XG4gICAgICBjb25zdCBvcHRpb25UZW1wbGF0ZSA9IHRvVGVtcGxhdGVJdGVtRm4ob3B0aW9uVGVtcGxhdGVEZXNpZ24sIGNvbnRleHQpO1xuICAgICAgb3B0aW9uVGVtcGxhdGVNYXBbb3B0aW9uU2VsZWN0b3Iub3B0aW9uLmlkXSA9IG9wdGlvblRlbXBsYXRlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7IG9wdGlvbnMsIG9wdGlvblRlbXBsYXRlTWFwIH07XG59XG4iXX0=
@@ -50,4 +50,4 @@ export function generateFormStepsFromOutline(outline) {
50
50
  return newArray;
51
51
  }, []);
52
52
  }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtZm9ybS1zdGVwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dlYi1mb3JtLWFuZ3VsYXIvc3JjL2xpYi91dGlsaXRpZXMvZ2VuZXJhdGUtZm9ybS1zdGVwcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBWSxjQUFjLEVBQUUsU0FBUyxFQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFFckYsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXJFOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsS0FBc0IsRUFBRSxRQUFRLEdBQUcsS0FBSztJQUN4RSxxREFBcUQ7SUFDckQsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBeUMsRUFBRSxJQUFjLEVBQUUsRUFBRTtRQUNoRixvRUFBb0U7UUFDcEUsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDdkUsSUFBSSxRQUFRLEVBQUU7WUFDWixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQ2xHO2FBQU0sSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDMUIsdUNBQXVDO1lBQ3ZDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQ3pHO2FBQU0sSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDL0Isc0ZBQXNGO1lBQ3RGLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBRWhHLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLO2lCQUMvQixNQUFNLENBQUMsU0FBUyxDQUFDO2lCQUNqQixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDdEksUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLGFBQWEsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNqRztRQUVELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNULENBQUM7QUFFRCxNQUFNLFVBQVUsNEJBQTRCLENBQUMsT0FBc0I7SUFDakUsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBeUMsRUFBRSxJQUFpQixFQUFFLEVBQUU7UUFDckYsb0VBQW9FO1FBQ3BFLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ3ZFLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDakQsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLFFBQVEsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ3RHLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUN6QyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksUUFBUSxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUNwSSxDQUFDO1lBQ0YsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLGFBQWEsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3JIO2FBQU07WUFDTCxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDdkc7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDVCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdG9MZXR0ZXJzIH0gZnJvbSAnQG10bmEvY29yZS10cyc7XG5pbXBvcnQgeyBGb3JtSXRlbSwgaXNEYXRhQ3ViZUl0ZW0sIGlzU2VjdGlvbiwgT3V0bGluZVN0ZXAgfSBmcm9tICdAbXRuYS93ZWItZm9ybS10cyc7XG5cbmltcG9ydCB7IEZvcm1TdGVwLCBGb3JtU3RlcEdyb3VwLCBpc0Zvcm1TdGVwR3JvdXAgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG4vKipcbiAqIEJ1aWxkcyB1cCBhbiBhcnJheSBvZiBGb3JtU3RlcHMgb3IgRm9ybVN0ZXBHcm91cHMgYmFzZWQgb24gd2hhdCBpcyBmb3VuZCBpbiB0aGUgcHJvdmlkZWQgZm9ybSBpdGVtcy4gRm9yIG1vc3QgdHlwaWNhbFxuICogZm9ybXMgdGhpcyB3aWxsIG1lYW4gdGhhdCBhIHN0ZXAgaXMgZ2VuZXJhdGVkIGZvciBldmVyeSBzZWN0aW9uIHRoYXQgaXMgZm91bmQgaW4gdGhlIGZvcm0uIEl0IGlzIGFzc3VtZWQgdGhhdCBhbGxcbiAqIGlucHV0cyBhcmUgaGVsZCB3aXRoaW4gc2VjdGlvbnMgYW5kIHRoZXJlZm9yZSB0aGUgc2VjdGlvbnMgYXJlIHRoZSBzdGVwcyB0aGF0IHNob3VsZCBiZSBtb25pdG9yZWQgZm9yIGNvbXBsZXRlbmVzcy5cbiAqIEhvd2V2ZXIsIGluIHNvbWUgY2lyY3Vtc3RhbmNlcywgbGlrZSB2ZXJ5IHNob3J0IGZvcm1zLCBpdCBtYXkgYmUgdGhlIGNhc2UgdGhhdCB0aGVyZSBhcmUgbm8gc2VjdGlvbnMgYW5kIHRoYXQgYWxsXG4gKiB0aGUgaXRlbXMgYXJlIHNldCBkaXJlY3RseSBvbiB0aGUgZm9ybSBpdHNlbGYuIEluIHRoZXNlIGNpcmN1bXN0YW5jZXMgdGhlIGFsbFN0ZXBzIHBhcmFtZXRlciBjYW4gYmUgc2V0IHRvIHRydWUgYW5kXG4gKiBhIHN0ZXAgd2lsbCBiZSBwcm9kdWNlZCBmb3IgZWFjaCBmb3JtIGl0ZW0gZm91bmQuXG4gKlxuICogQHBhcmFtIGl0ZW1zIHRoZSBpdGVtcyBvZiB0aGUgZm9ybVxuICogQHBhcmFtIGFsbFN0ZXBzIGZsYWcgaW5kaWNhdGluZyB0aGF0IGEgZm9ybSBzdGVwIHNob3VsZCBiZSBwcm9kdWNlZCBmb3IgZXZlcnkgZm9ybSBpdGVtXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUZvcm1TdGVwcyhpdGVtczogQXJyYXk8Rm9ybUl0ZW0+LCBhbGxTdGVwcyA9IGZhbHNlKTogQXJyYXk8Rm9ybVN0ZXAgfCBGb3JtU3RlcEdyb3VwPiB7XG4gIC8vIEJ1aWxkIHVwIGFuIGFycmF5IG9mIHN0ZXBzIGJhc2VkIG9uIHRoZSBmb3JtIGl0ZW1zXG4gIHJldHVybiBpdGVtcy5yZWR1Y2UoKG5ld0FycmF5OiBBcnJheTxGb3JtU3RlcCB8IEZvcm1TdGVwR3JvdXA+LCBpdGVtOiBGb3JtSXRlbSkgPT4ge1xuICAgIC8vIFRoZSBudW1iZXIgb2Ygbm9uLWdyb3VwIHN0ZXBzLCB1c2VkIHRvIG51bWJlciB0aGUgdG9wIGxldmVsIHN0ZXBzXG4gICAgY29uc3QgY291bnQgPSBuZXdBcnJheS5maWx0ZXIoKHN0ZXApID0+ICFpc0Zvcm1TdGVwR3JvdXAoc3RlcCkpLmxlbmd0aDtcbiAgICBpZiAoYWxsU3RlcHMpIHtcbiAgICAgIG5ld0FycmF5LnB1c2gobmV3IEZvcm1TdGVwKGNvdW50ICsgMSwgaXRlbS5uYW1lIHx8ICdObyBUaXRsZScsIGl0ZW0uaW5zdGFuY2VJZCwgIWl0ZW0ucmVxdWlyZWQpKTtcbiAgICB9IGVsc2UgaWYgKGlzU2VjdGlvbihpdGVtKSkge1xuICAgICAgLy8gSWYgdGhlIGl0ZW0gaXMgYSBTZWN0aW9uLCBhZGQgYSBzdGVwXG4gICAgICBuZXdBcnJheS5wdXNoKG5ldyBGb3JtU3RlcChjb3VudCArIDEsIGl0ZW0udGl0bGUudmFsdWUgfHwgJ05vIFRpdGxlJywgaXRlbS5pbnN0YW5jZUlkLCAhaXRlbS5yZXF1aXJlZCkpO1xuICAgIH0gZWxzZSBpZiAoaXNEYXRhQ3ViZUl0ZW0oaXRlbSkpIHtcbiAgICAgIC8vIElmIHRoZSBpdGVtIGlzIGEgRGF0YUN1YmVJdGVtLCBhZGQgYSBzdGVwIGFuZCBhZGQgYSBncm91cCBzdGVwIGZvciB0aGUgc3ViLXNlY3Rpb25zXG4gICAgICBuZXdBcnJheS5wdXNoKG5ldyBGb3JtU3RlcChjb3VudCArIDEsIGl0ZW0udGl0bGUudmFsdWUgfHwgJycsIGl0ZW0uaW5zdGFuY2VJZCwgIWl0ZW0ucmVxdWlyZWQpKTtcblxuICAgICAgY29uc3Qgc3ViU2VjdGlvblN0ZXBzID0gaXRlbS5pdGVtc1xuICAgICAgICAuZmlsdGVyKGlzU2VjdGlvbilcbiAgICAgICAgLm1hcCgoaXRlbSwgaW5kZXgpID0+IG5ldyBGb3JtU3RlcChgJHtjb3VudCArIDF9JHt0b0xldHRlcnMoaW5kZXggKyAxKX1gLCBpdGVtLnRpdGxlLnZhbHVlIHx8ICcnLCBpdGVtLmluc3RhbmNlSWQsICFpdGVtLnJlcXVpcmVkKSk7XG4gICAgICBuZXdBcnJheS5wdXNoKG5ldyBGb3JtU3RlcEdyb3VwKHN1YlNlY3Rpb25TdGVwcywgaXRlbS5pbnN0YW5jZUlkLCBmYWxzZSwgaXRlbS5uYW1lLCBjb3VudCArIDEpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3QXJyYXk7XG4gIH0sIFtdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlRm9ybVN0ZXBzRnJvbU91dGxpbmUob3V0bGluZTogT3V0bGluZVN0ZXBbXSk6IEFycmF5PEZvcm1TdGVwIHwgRm9ybVN0ZXBHcm91cD4ge1xuICByZXR1cm4gb3V0bGluZS5yZWR1Y2UoKG5ld0FycmF5OiBBcnJheTxGb3JtU3RlcCB8IEZvcm1TdGVwR3JvdXA+LCBzdGVwOiBPdXRsaW5lU3RlcCkgPT4ge1xuICAgIC8vIFRoZSBudW1iZXIgb2Ygbm9uLWdyb3VwIHN0ZXBzLCB1c2VkIHRvIG51bWJlciB0aGUgdG9wIGxldmVsIHN0ZXBzXG4gICAgY29uc3QgY291bnQgPSBuZXdBcnJheS5maWx0ZXIoKHN0ZXApID0+ICFpc0Zvcm1TdGVwR3JvdXAoc3RlcCkpLmxlbmd0aDtcbiAgICBpZiAoc3RlcC5jaGlsZFN0ZXBzICYmIHN0ZXAuY2hpbGRTdGVwcy5sZW5ndGggPiAwKSB7XG4gICAgICBuZXdBcnJheS5wdXNoKG5ldyBGb3JtU3RlcChjb3VudCArIDEsIHN0ZXAubGFiZWwsIHN0ZXAuaW5zdGFuY2VJZCB8fCBzdGVwLnRlbXBsYXRlSWQsIHN0ZXAub3B0aW9uYWwpKTtcbiAgICAgIGNvbnN0IHN1YlNlY3Rpb25TdGVwcyA9IHN0ZXAuY2hpbGRTdGVwcy5tYXAoXG4gICAgICAgIChpdGVtLCBpbmRleCkgPT4gbmV3IEZvcm1TdGVwKGAke2NvdW50ICsgMX0ke3RvTGV0dGVycyhpbmRleCArIDEpfWAsIGl0ZW0ubGFiZWwsIGl0ZW0uaW5zdGFuY2VJZCB8fCBpdGVtLnRlbXBsYXRlSWQsIGl0ZW0ub3B0aW9uYWwpXG4gICAgICApO1xuICAgICAgbmV3QXJyYXkucHVzaChuZXcgRm9ybVN0ZXBHcm91cChzdWJTZWN0aW9uU3RlcHMsIHN0ZXAuaW5zdGFuY2VJZCB8fCBzdGVwLnRlbXBsYXRlSWQsIGZhbHNlLCBzdGVwLmxhYmVsLCBjb3VudCArIDEpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3QXJyYXkucHVzaChuZXcgRm9ybVN0ZXAoY291bnQgKyAxLCBzdGVwLmxhYmVsLCBzdGVwLmluc3RhbmNlSWQgfHwgc3RlcC50ZW1wbGF0ZUlkLCBzdGVwLm9wdGlvbmFsKSk7XG4gICAgfVxuICAgIHJldHVybiBuZXdBcnJheTtcbiAgfSwgW10pO1xufVxuXG4vLyBtb2RlbCBmcm9tIGFuZHJld1xuZXhwb3J0IGludGVyZmFjZSBGb3JtU3RlcERhdGEgZXh0ZW5kcyBPdXRsaW5lU3RlcCB7XG4gIG51bTogc3RyaW5nO1xufVxuIl19
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtZm9ybS1zdGVwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dlYi1mb3JtLWFuZ3VsYXIvc3JjL2xpYi91dGlsaXRpZXMvZ2VuZXJhdGUtZm9ybS1zdGVwcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBWSxjQUFjLEVBQUUsU0FBUyxFQUE2QixNQUFNLG1CQUFtQixDQUFDO0FBRW5HLE9BQU8sRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVyRTs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEtBQXFDLEVBQUUsUUFBUSxHQUFHLEtBQUs7SUFDdkYscURBQXFEO0lBQ3JELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQXlDLEVBQUUsSUFBNkIsRUFBRSxFQUFFO1FBQy9GLG9FQUFvRTtRQUNwRSxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUN2RSxJQUFJLFFBQVEsRUFBRTtZQUNaLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDbEc7YUFBTSxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMxQix1Q0FBdUM7WUFDdkMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLFFBQVEsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDekc7YUFBTSxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMvQixzRkFBc0Y7WUFDdEYsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLFFBQVEsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFFaEcsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUs7aUJBQy9CLE1BQU0sQ0FBQyxTQUFTLENBQUM7aUJBQ2pCLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksUUFBUSxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUN0SSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksYUFBYSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pHO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQztBQUVELE1BQU0sVUFBVSw0QkFBNEIsQ0FBQyxPQUFzQjtJQUNqRSxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUF5QyxFQUFFLElBQWlCLEVBQUUsRUFBRTtRQUNyRixvRUFBb0U7UUFDcEUsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDdkUsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNqRCxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDdEcsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQ3pDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxRQUFRLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQ3BJLENBQUM7WUFDRixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksYUFBYSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDckg7YUFBTTtZQUNMLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUN2RztRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNULENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0b0xldHRlcnMgfSBmcm9tICdAbXRuYS9jb3JlLXRzJztcbmltcG9ydCB7IEZvcm1JdGVtLCBpc0RhdGFDdWJlSXRlbSwgaXNTZWN0aW9uLCBPdXRsaW5lU3RlcCwgVGVtcGxhdGVJdGVtIH0gZnJvbSAnQG10bmEvd2ViLWZvcm0tdHMnO1xuXG5pbXBvcnQgeyBGb3JtU3RlcCwgRm9ybVN0ZXBHcm91cCwgaXNGb3JtU3RlcEdyb3VwIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuLyoqXG4gKiBCdWlsZHMgdXAgYW4gYXJyYXkgb2YgRm9ybVN0ZXBzIG9yIEZvcm1TdGVwR3JvdXBzIGJhc2VkIG9uIHdoYXQgaXMgZm91bmQgaW4gdGhlIHByb3ZpZGVkIGZvcm0gaXRlbXMuIEZvciBtb3N0IHR5cGljYWxcbiAqIGZvcm1zIHRoaXMgd2lsbCBtZWFuIHRoYXQgYSBzdGVwIGlzIGdlbmVyYXRlZCBmb3IgZXZlcnkgc2VjdGlvbiB0aGF0IGlzIGZvdW5kIGluIHRoZSBmb3JtLiBJdCBpcyBhc3N1bWVkIHRoYXQgYWxsXG4gKiBpbnB1dHMgYXJlIGhlbGQgd2l0aGluIHNlY3Rpb25zIGFuZCB0aGVyZWZvcmUgdGhlIHNlY3Rpb25zIGFyZSB0aGUgc3RlcHMgdGhhdCBzaG91bGQgYmUgbW9uaXRvcmVkIGZvciBjb21wbGV0ZW5lc3MuXG4gKiBIb3dldmVyLCBpbiBzb21lIGNpcmN1bXN0YW5jZXMsIGxpa2UgdmVyeSBzaG9ydCBmb3JtcywgaXQgbWF5IGJlIHRoZSBjYXNlIHRoYXQgdGhlcmUgYXJlIG5vIHNlY3Rpb25zIGFuZCB0aGF0IGFsbFxuICogdGhlIGl0ZW1zIGFyZSBzZXQgZGlyZWN0bHkgb24gdGhlIGZvcm0gaXRzZWxmLiBJbiB0aGVzZSBjaXJjdW1zdGFuY2VzIHRoZSBhbGxTdGVwcyBwYXJhbWV0ZXIgY2FuIGJlIHNldCB0byB0cnVlIGFuZFxuICogYSBzdGVwIHdpbGwgYmUgcHJvZHVjZWQgZm9yIGVhY2ggZm9ybSBpdGVtIGZvdW5kLlxuICpcbiAqIEBwYXJhbSBpdGVtcyB0aGUgaXRlbXMgb2YgdGhlIGZvcm1cbiAqIEBwYXJhbSBhbGxTdGVwcyBmbGFnIGluZGljYXRpbmcgdGhhdCBhIGZvcm0gc3RlcCBzaG91bGQgYmUgcHJvZHVjZWQgZm9yIGV2ZXJ5IGZvcm0gaXRlbVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVGb3JtU3RlcHMoaXRlbXM6IEFycmF5PEZvcm1JdGVtIHwgVGVtcGxhdGVJdGVtPiwgYWxsU3RlcHMgPSBmYWxzZSk6IEFycmF5PEZvcm1TdGVwIHwgRm9ybVN0ZXBHcm91cD4ge1xuICAvLyBCdWlsZCB1cCBhbiBhcnJheSBvZiBzdGVwcyBiYXNlZCBvbiB0aGUgZm9ybSBpdGVtc1xuICByZXR1cm4gaXRlbXMucmVkdWNlKChuZXdBcnJheTogQXJyYXk8Rm9ybVN0ZXAgfCBGb3JtU3RlcEdyb3VwPiwgaXRlbTogRm9ybUl0ZW0gfCBUZW1wbGF0ZUl0ZW0pID0+IHtcbiAgICAvLyBUaGUgbnVtYmVyIG9mIG5vbi1ncm91cCBzdGVwcywgdXNlZCB0byBudW1iZXIgdGhlIHRvcCBsZXZlbCBzdGVwc1xuICAgIGNvbnN0IGNvdW50ID0gbmV3QXJyYXkuZmlsdGVyKChzdGVwKSA9PiAhaXNGb3JtU3RlcEdyb3VwKHN0ZXApKS5sZW5ndGg7XG4gICAgaWYgKGFsbFN0ZXBzKSB7XG4gICAgICBuZXdBcnJheS5wdXNoKG5ldyBGb3JtU3RlcChjb3VudCArIDEsIGl0ZW0ubmFtZSB8fCAnTm8gVGl0bGUnLCBpdGVtLmluc3RhbmNlSWQsICFpdGVtLnJlcXVpcmVkKSk7XG4gICAgfSBlbHNlIGlmIChpc1NlY3Rpb24oaXRlbSkpIHtcbiAgICAgIC8vIElmIHRoZSBpdGVtIGlzIGEgU2VjdGlvbiwgYWRkIGEgc3RlcFxuICAgICAgbmV3QXJyYXkucHVzaChuZXcgRm9ybVN0ZXAoY291bnQgKyAxLCBpdGVtLnRpdGxlLnZhbHVlIHx8ICdObyBUaXRsZScsIGl0ZW0uaW5zdGFuY2VJZCwgIWl0ZW0ucmVxdWlyZWQpKTtcbiAgICB9IGVsc2UgaWYgKGlzRGF0YUN1YmVJdGVtKGl0ZW0pKSB7XG4gICAgICAvLyBJZiB0aGUgaXRlbSBpcyBhIERhdGFDdWJlSXRlbSwgYWRkIGEgc3RlcCBhbmQgYWRkIGEgZ3JvdXAgc3RlcCBmb3IgdGhlIHN1Yi1zZWN0aW9uc1xuICAgICAgbmV3QXJyYXkucHVzaChuZXcgRm9ybVN0ZXAoY291bnQgKyAxLCBpdGVtLnRpdGxlLnZhbHVlIHx8ICcnLCBpdGVtLmluc3RhbmNlSWQsICFpdGVtLnJlcXVpcmVkKSk7XG5cbiAgICAgIGNvbnN0IHN1YlNlY3Rpb25TdGVwcyA9IGl0ZW0uaXRlbXNcbiAgICAgICAgLmZpbHRlcihpc1NlY3Rpb24pXG4gICAgICAgIC5tYXAoKGl0ZW0sIGluZGV4KSA9PiBuZXcgRm9ybVN0ZXAoYCR7Y291bnQgKyAxfSR7dG9MZXR0ZXJzKGluZGV4ICsgMSl9YCwgaXRlbS50aXRsZS52YWx1ZSB8fCAnJywgaXRlbS5pbnN0YW5jZUlkLCAhaXRlbS5yZXF1aXJlZCkpO1xuICAgICAgbmV3QXJyYXkucHVzaChuZXcgRm9ybVN0ZXBHcm91cChzdWJTZWN0aW9uU3RlcHMsIGl0ZW0uaW5zdGFuY2VJZCwgZmFsc2UsIGl0ZW0ubmFtZSwgY291bnQgKyAxKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ld0FycmF5O1xuICB9LCBbXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUZvcm1TdGVwc0Zyb21PdXRsaW5lKG91dGxpbmU6IE91dGxpbmVTdGVwW10pOiBBcnJheTxGb3JtU3RlcCB8IEZvcm1TdGVwR3JvdXA+IHtcbiAgcmV0dXJuIG91dGxpbmUucmVkdWNlKChuZXdBcnJheTogQXJyYXk8Rm9ybVN0ZXAgfCBGb3JtU3RlcEdyb3VwPiwgc3RlcDogT3V0bGluZVN0ZXApID0+IHtcbiAgICAvLyBUaGUgbnVtYmVyIG9mIG5vbi1ncm91cCBzdGVwcywgdXNlZCB0byBudW1iZXIgdGhlIHRvcCBsZXZlbCBzdGVwc1xuICAgIGNvbnN0IGNvdW50ID0gbmV3QXJyYXkuZmlsdGVyKChzdGVwKSA9PiAhaXNGb3JtU3RlcEdyb3VwKHN0ZXApKS5sZW5ndGg7XG4gICAgaWYgKHN0ZXAuY2hpbGRTdGVwcyAmJiBzdGVwLmNoaWxkU3RlcHMubGVuZ3RoID4gMCkge1xuICAgICAgbmV3QXJyYXkucHVzaChuZXcgRm9ybVN0ZXAoY291bnQgKyAxLCBzdGVwLmxhYmVsLCBzdGVwLmluc3RhbmNlSWQgfHwgc3RlcC50ZW1wbGF0ZUlkLCBzdGVwLm9wdGlvbmFsKSk7XG4gICAgICBjb25zdCBzdWJTZWN0aW9uU3RlcHMgPSBzdGVwLmNoaWxkU3RlcHMubWFwKFxuICAgICAgICAoaXRlbSwgaW5kZXgpID0+IG5ldyBGb3JtU3RlcChgJHtjb3VudCArIDF9JHt0b0xldHRlcnMoaW5kZXggKyAxKX1gLCBpdGVtLmxhYmVsLCBpdGVtLmluc3RhbmNlSWQgfHwgaXRlbS50ZW1wbGF0ZUlkLCBpdGVtLm9wdGlvbmFsKVxuICAgICAgKTtcbiAgICAgIG5ld0FycmF5LnB1c2gobmV3IEZvcm1TdGVwR3JvdXAoc3ViU2VjdGlvblN0ZXBzLCBzdGVwLmluc3RhbmNlSWQgfHwgc3RlcC50ZW1wbGF0ZUlkLCBmYWxzZSwgc3RlcC5sYWJlbCwgY291bnQgKyAxKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld0FycmF5LnB1c2gobmV3IEZvcm1TdGVwKGNvdW50ICsgMSwgc3RlcC5sYWJlbCwgc3RlcC5pbnN0YW5jZUlkIHx8IHN0ZXAudGVtcGxhdGVJZCwgc3RlcC5vcHRpb25hbCkpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3QXJyYXk7XG4gIH0sIFtdKTtcbn1cblxuLy8gbW9kZWwgZnJvbSBhbmRyZXdcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVN0ZXBEYXRhIGV4dGVuZHMgT3V0bGluZVN0ZXAge1xuICBudW06IHN0cmluZztcbn1cbiJdfQ==
@@ -1,6 +1,9 @@
1
+ import * as MtnaTemplateDesign from './template-design-util';
2
+ import * as MtnaTemplateCoreDesign from './template-design-core-util';
1
3
  import * as MtnaWfSerializer from './serializer-util';
2
- export { MtnaWfSerializer };
4
+ export { MtnaTemplateDesign, MtnaTemplateCoreDesign, MtnaWfSerializer };
3
5
  export * from './animations';
6
+ export * from './design-conditionals-util';
4
7
  export * from './find-form-control';
5
8
  export * from './find-form-item';
6
9
  export * from './flatten-steps';
@@ -9,5 +12,6 @@ export * from './generate-form-steps';
9
12
  export * from './get-item-class-suffix';
10
13
  export * from './is-form-control';
11
14
  export * from './is-form-group';
15
+ export * from './merge-template-util';
12
16
  export * from './update-step-status';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ZWItZm9ybS1hbmd1bGFyL3NyYy9saWIvdXRpbGl0aWVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSxtQkFBbUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztBQUM1QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIE10bmFXZlNlcmlhbGl6ZXIgZnJvbSAnLi9zZXJpYWxpemVyLXV0aWwnO1xuXG5leHBvcnQgeyBNdG5hV2ZTZXJpYWxpemVyIH07XG5leHBvcnQgKiBmcm9tICcuL2FuaW1hdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9maW5kLWZvcm0tY29udHJvbCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbmQtZm9ybS1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vZmxhdHRlbi1zdGVwcyc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tc3RlcC51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vZ2VuZXJhdGUtZm9ybS1zdGVwcyc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1pdGVtLWNsYXNzLXN1ZmZpeCc7XG5leHBvcnQgKiBmcm9tICcuL2lzLWZvcm0tY29udHJvbCc7XG5leHBvcnQgKiBmcm9tICcuL2lzLWZvcm0tZ3JvdXAnO1xuZXhwb3J0ICogZnJvbSAnLi91cGRhdGUtc3RlcC1zdGF0dXMnO1xuIl19
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ZWItZm9ybS1hbmd1bGFyL3NyYy9saWIvdXRpbGl0aWVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxrQkFBa0IsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEtBQUssc0JBQXNCLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxLQUFLLGdCQUFnQixNQUFNLG1CQUFtQixDQUFDO0FBRXRELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO0FBQ3hFLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIE10bmFUZW1wbGF0ZURlc2lnbiBmcm9tICcuL3RlbXBsYXRlLWRlc2lnbi11dGlsJztcbmltcG9ydCAqIGFzIE10bmFUZW1wbGF0ZUNvcmVEZXNpZ24gZnJvbSAnLi90ZW1wbGF0ZS1kZXNpZ24tY29yZS11dGlsJztcbmltcG9ydCAqIGFzIE10bmFXZlNlcmlhbGl6ZXIgZnJvbSAnLi9zZXJpYWxpemVyLXV0aWwnO1xuXG5leHBvcnQgeyBNdG5hVGVtcGxhdGVEZXNpZ24sIE10bmFUZW1wbGF0ZUNvcmVEZXNpZ24sIE10bmFXZlNlcmlhbGl6ZXIgfTtcbmV4cG9ydCAqIGZyb20gJy4vYW5pbWF0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2Rlc2lnbi1jb25kaXRpb25hbHMtdXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbmQtZm9ybS1jb250cm9sJztcbmV4cG9ydCAqIGZyb20gJy4vZmluZC1mb3JtLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9mbGF0dGVuLXN0ZXBzJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1zdGVwLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9nZW5lcmF0ZS1mb3JtLXN0ZXBzJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWl0ZW0tY2xhc3Mtc3VmZml4JztcbmV4cG9ydCAqIGZyb20gJy4vaXMtZm9ybS1jb250cm9sJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtZm9ybS1ncm91cCc7XG5leHBvcnQgKiBmcm9tICcuL21lcmdlLXRlbXBsYXRlLXV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi91cGRhdGUtc3RlcC1zdGF0dXMnO1xuIl19
@@ -0,0 +1,116 @@
1
+ import { instanceOfBooleanItemTemplate, instanceOfCheckboxItemTemplate, instanceOfDropdownItemTemplate, instanceOfMultipleChoiceItemTemplate, instanceOfTemplateItemGroupImpl, instanceOfTemplateSectionImpl, } from '@mtna/web-form-ts';
2
+ export function mergeFormOptionSelector(source, target) {
3
+ const mergedFormOptionSelector = Object.assign(Object.assign(Object.assign({}, target), source), { disabledItems: source.disabledItems, enabledItems: source.enabledItems, option: Object.assign(Object.assign({}, target.option), source.option) });
4
+ return mergedFormOptionSelector;
5
+ }
6
+ export function mergeOptionTemplateMap(source, target) {
7
+ const mergedOptionTemplateMap = Object.assign({}, target);
8
+ for (const key of Object.keys(source)) {
9
+ if (mergedOptionTemplateMap[key]) {
10
+ mergedOptionTemplateMap[key] = mergeTemplateItem(source[key], mergedOptionTemplateMap[key]);
11
+ }
12
+ else {
13
+ mergedOptionTemplateMap[key] = source[key];
14
+ }
15
+ }
16
+ return mergedOptionTemplateMap;
17
+ }
18
+ export function mergeBooleanItemTemplate(source, target) {
19
+ // const conditional: Conditional = mergeConditional(source.conditional, target.conditional);
20
+ const option = mergeFormOptionSelector(source.option, target.option);
21
+ const optionTemplateMap = mergeOptionTemplateMap(source.optionTemplateMap, target.optionTemplateMap);
22
+ const mergedBooleanItemTemplate = Object.assign(Object.assign(Object.assign({}, target), source), { codeOption: target.codeOption || source.codeOption, option,
23
+ optionTemplateMap });
24
+ return mergedBooleanItemTemplate;
25
+ }
26
+ export function mergeFormOptionSelectors(source, target) {
27
+ const options = [];
28
+ for (const option of source) {
29
+ const targetOption = target.find((t) => t.option.id === option.option.id);
30
+ if (targetOption) {
31
+ options.push(mergeFormOptionSelector(option, targetOption));
32
+ }
33
+ else {
34
+ options.push(option);
35
+ }
36
+ }
37
+ return options;
38
+ }
39
+ export function mergeExtendedTemplateOptionGroupItem(source, target) {
40
+ const options = mergeFormOptionSelectors(source.options, target.options);
41
+ const optionTemplateMap = mergeOptionTemplateMap(source.optionTemplateMap, target.optionTemplateMap);
42
+ const mergedExtendedTemplateOptionGroupItem = Object.assign(Object.assign(Object.assign({}, target), source), { codeValueTemplateInline: target.codeValueTemplateInline || source.codeValueTemplateInline, codeValueTemplateMap: target.codeValueTemplateMap || source.codeValueTemplateMap, options,
43
+ optionTemplateMap });
44
+ return mergedExtendedTemplateOptionGroupItem;
45
+ }
46
+ export function mergeTemplateItemGroup(source, target) {
47
+ const layout = source.layout || target.layout;
48
+ const items = [];
49
+ for (const sourceItem of source.items) {
50
+ const targetItem = target.items.find((i) => i.instanceId === sourceItem.instanceId);
51
+ if (targetItem) {
52
+ items.push(mergeTemplateItem(sourceItem, targetItem));
53
+ }
54
+ else {
55
+ items.push(sourceItem);
56
+ }
57
+ }
58
+ const mergedTemplateItemGroup = Object.assign(Object.assign(Object.assign({}, target), source), { layout, items });
59
+ return mergedTemplateItemGroup;
60
+ }
61
+ export function mergeTemplateItemBase(source, target) {
62
+ const mergedTemplateItemBase = Object.assign(Object.assign({}, target), source);
63
+ return mergedTemplateItemBase;
64
+ }
65
+ export function mergeTemplateSection(source, target) {
66
+ const title = mergeTemplateItemBase(source.title, target.title);
67
+ const items = [];
68
+ for (const sourceItem of source.items) {
69
+ const targetItem = target.items.find((i) => i.instanceId === sourceItem.instanceId);
70
+ if (targetItem) {
71
+ items.push(mergeTemplateItem(sourceItem, targetItem));
72
+ }
73
+ else {
74
+ items.push(sourceItem);
75
+ }
76
+ }
77
+ const mergedTemplateSection = Object.assign(Object.assign(Object.assign({}, target), source), { title, items });
78
+ return mergedTemplateSection;
79
+ }
80
+ export function mergeTemplateItem(source, target) {
81
+ let mergedTemplateItem;
82
+ if (instanceOfBooleanItemTemplate(source) && instanceOfBooleanItemTemplate(target)) {
83
+ mergedTemplateItem = mergeBooleanItemTemplate(source, target);
84
+ }
85
+ else if ((instanceOfCheckboxItemTemplate(source) && instanceOfCheckboxItemTemplate(target)) ||
86
+ (instanceOfDropdownItemTemplate(source) && instanceOfDropdownItemTemplate(target)) ||
87
+ (instanceOfMultipleChoiceItemTemplate(source) && instanceOfMultipleChoiceItemTemplate(target))) {
88
+ mergedTemplateItem = mergeExtendedTemplateOptionGroupItem(source, target);
89
+ }
90
+ else if (instanceOfTemplateItemGroupImpl(source) && instanceOfTemplateItemGroupImpl(target)) {
91
+ mergedTemplateItem = mergeTemplateItemGroup(source, target);
92
+ }
93
+ else if (instanceOfTemplateSectionImpl(source) && instanceOfTemplateSectionImpl(target)) {
94
+ mergedTemplateItem = mergeTemplateSection(source, target);
95
+ }
96
+ else {
97
+ mergedTemplateItem = Object.assign(Object.assign({}, target), source);
98
+ }
99
+ return mergedTemplateItem;
100
+ }
101
+ export function mergeTemplate(source, target) {
102
+ var _a;
103
+ const mergedItems = [];
104
+ for (const item of source.items) {
105
+ const targetItem = (_a = target.items) === null || _a === void 0 ? void 0 : _a.find((i) => i.instanceId === item.instanceId);
106
+ if (targetItem) {
107
+ mergedItems.push(mergeTemplateItem(item, targetItem));
108
+ }
109
+ else {
110
+ mergedItems.push(item);
111
+ }
112
+ }
113
+ const mergedTemplate = Object.assign(Object.assign(Object.assign({}, target), source), { items: mergedItems });
114
+ return mergedTemplate;
115
+ }
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2UtdGVtcGxhdGUtdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dlYi1mb3JtLWFuZ3VsYXIvc3JjL2xpYi91dGlsaXRpZXMvbWVyZ2UtdGVtcGxhdGUtdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBTUwsNkJBQTZCLEVBQzdCLDhCQUE4QixFQUM5Qiw4QkFBOEIsRUFDOUIsb0NBQW9DLEVBQ3BDLCtCQUErQixFQUMvQiw2QkFBNkIsR0FVOUIsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixNQUFNLFVBQVUsdUJBQXVCLENBQ3JDLE1BQTZCLEVBQzdCLE1BQTZCO0lBRTdCLE1BQU0sd0JBQXdCLGlEQUN6QixNQUFNLEdBQ04sTUFBTSxLQUNULGFBQWEsRUFBRSxNQUFNLENBQUMsYUFBYSxFQUNuQyxZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVksRUFDakMsTUFBTSxrQ0FDRCxNQUFNLENBQUMsTUFBTSxHQUNiLE1BQU0sQ0FBQyxNQUFNLElBRW5CLENBQUM7SUFDRixPQUFPLHdCQUF3QixDQUFDO0FBQ2xDLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLE1BQW9DLEVBQ3BDLE1BQW9DO0lBRXBDLE1BQU0sdUJBQXVCLHFCQUFzQyxNQUFNLENBQUUsQ0FBQztJQUM1RSxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDckMsSUFBSSx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNoQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsdUJBQXVCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUM3RjthQUFNO1lBQ0wsdUJBQXVCLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzVDO0tB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LFdBQVcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7U0FDdkQ7YUFBTTtZQUNMLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEI7S0FDRjtJQUNELE1BQU0sY0FBYyxpREFBa0IsTUFBTSxHQUFLLE1BQU0sS0FBRSxLQUFLLEVBQUUsV0FBVyxHQUFFLENBQUM7SUFDOUUsT0FBTyxjQUFjLENBQUM7QUFDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJvb2xlYW5JdGVtVGVtcGxhdGUsXG4gIEJvb2xlYW5PcHRpb24sXG4gIENoZWNrYm94SXRlbVRlbXBsYXRlLFxuICBEcm9wZG93bkl0ZW1UZW1wbGF0ZSxcbiAgRm9ybU9wdGlvblNlbGVjdG9yLFxuICBpbnN0YW5jZU9mQm9vbGVhbkl0ZW1UZW1wbGF0ZSxcbiAgaW5zdGFuY2VPZkNoZWNrYm94SXRlbVRlbXBsYXRlLFxuICBpbnN0YW5jZU9mRHJvcGRvd25JdGVtVGVtcGxhdGUsXG4gIGluc3RhbmNlT2ZNdWx0aXBsZUNob2ljZUl0ZW1UZW1wbGF0ZSxcbiAgaW5zdGFuY2VPZlRlbXBsYXRlSXRlbUdyb3VwSW1wbCxcbiAgaW5zdGFuY2VPZlRlbXBsYXRlU2VjdGlvbkltcGwsXG4gIExheW91dCxcbiAgTXVsdGlwbGVDaG9pY2VJdGVtVGVtcGxhdGUsXG4gIE9wdGlvbixcbiAgU3RyaW5nT3B0aW9uLFxuICBUZW1wbGF0ZSxcbiAgVGVtcGxhdGVJdGVtLFxuICBUZW1wbGF0ZUl0ZW1Hcm91cEltcGwsXG4gIFRlbXBsYXRlU2VjdGlvbkltcGwsXG4gIFRpdGxlSXRlbVRlbXBsYXRlLFxufSBmcm9tICdAbXRuYS93ZWItZm9ybS10cyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZUZvcm1PcHRpb25TZWxlY3RvcjxPIGV4dGVuZHMgT3B0aW9uPHVua25vd24+PihcbiAgc291cmNlOiBGb3JtT3B0aW9uU2VsZWN0b3I8Tz4sXG4gIHRhcmdldDogRm9ybU9wdGlvblNlbGVjdG9yPE8+XG4pOiBGb3JtT3B0aW9uU2VsZWN0b3I8Tz4ge1xuICBjb25zdCBtZXJnZWRGb3JtT3B0aW9uU2VsZWN0b3I6IEZvcm1PcHRpb25TZWxlY3RvcjxPPiA9IHtcbiAgICAuLi50YXJnZXQsXG4gICAgLi4uc291cmNlLFxuICAgIGRpc2FibGVkSXRlbXM6IHNvdXJjZS5kaXNhYmxlZEl0ZW1zLFxuICAgIGVuYWJsZWRJdGVtczogc291cmNlLmVuYWJsZWRJdGVtcyxcbiAgICBvcHRpb246IHtcbiAgICAgIC4uLnRhcmdldC5vcHRpb24sXG4gICAgICAuLi5zb3VyY2Uub3B0aW9uLFxuICAgIH0sXG4gIH07XG4gIHJldHVybiBtZXJnZWRGb3JtT3B0aW9uU2VsZWN0b3I7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZU9wdGlvblRlbXBsYXRlTWFwKFxuICBzb3VyY2U6IFJlY29yZDxzdHJpbmcsIFRlbXBsYXRlSXRlbT4sXG4gIHRhcmdldDogUmVjb3JkPHN0cmluZywgVGVtcGxhdGVJdGVtPlxuKTogUmVjb3JkPHN0cmluZywgVGVtcGxhdGVJdGVtPiB7XG4gIGNvbnN0IG1lcmdlZE9wdGlvblRlbXBsYXRlTWFwOiBSZWNvcmQ8c3RyaW5nLCBUZW1wbGF0ZUl0ZW0+ID0geyAuLi50YXJnZXQgfTtcbiAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoc291cmNlKSkge1xuICAgIGlmIChtZXJnZWRPcHRpb25UZW1wbGF0ZU1hcFtrZXldKSB7XG4gICAgICBtZXJnZWRPcHRpb25UZW1wbGF0ZU1hcFtrZXldID0gbWVyZ2VUZW1wbGF0ZUl0ZW0oc291cmNlW2tleV0sIG1lcmdlZE9wdGlvblRlbXBsYXRlTWFwW2tleV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBtZXJnZWRPcHRpb25UZW1wbGF0ZU1hcFtrZXldID0gc291cmNlW2tleV07XG4gICAgfVxuICB9XG4gIHJldHVybiBtZXJnZWRPcHRpb25UZW1wbGF0ZU1hcDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlQm9vbGVhbkl0ZW1UZW1wbGF0ZShzb3VyY2U6IEJvb2xlYW5JdGVtVGVtcGxhdGUsIHRhcmdldDogQm9vbGVhbkl0ZW1UZW1wbGF0ZSkge1xuICAvLyBjb25zdCBjb25kaXRpb25hbDogQ29uZGl0aW9uYWwgPSBtZXJnZUNvbmRpdGlvbmFsKHNvdXJjZS5jb25kaXRpb25hbCwgdGFyZ2V0LmNvbmRpdGlvbmFsKTtcbiAgY29uc3Qgb3B0aW9uOiBGb3JtT3B0aW9uU2VsZWN0b3I8Qm9vbGVhbk9wdGlvbj4gPSBtZXJnZUZvcm1PcHRpb25TZWxlY3RvcjxCb29sZWFuT3B0aW9uPihzb3VyY2Uub3B0aW9uLCB0YXJnZXQub3B0aW9uKTtcbiAgY29uc3Qgb3B0aW9uVGVtcGxhdGVNYXA6IFJlY29yZDxzdHJpbmcsIFRlbXBsYXRlSXRlbT4gPSBtZXJnZU9wdGlvblRlbXBsYXRlTWFwKHNvdXJjZS5vcHRpb25UZW1wbGF0ZU1hcCwgdGFyZ2V0Lm9wdGlvblRlbXBsYXRlTWFwKTtcbiAgY29uc3QgbWVyZ2VkQm9vbGVhbkl0ZW1UZW1wbGF0ZTogQm9vbGVhbkl0ZW1UZW1wbGF0ZSA9IHtcbiAgICAuLi50YXJnZXQsXG4gICAgLi4uc291cmNlLFxuICAgIGNvZGVPcHRpb246IHRhcmdldC5jb2RlT3B0aW9uIHx8IHNvdXJjZS5jb2RlT3B0aW9uLFxuICAgIG9wdGlvbixcbiAgICBvcHRpb25UZW1wbGF0ZU1hcCxcbiAgfTtcbiAgcmV0dXJuIG1lcmdlZEJvb2xlYW5JdGVtVGVtcGxhdGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZUZvcm1PcHRpb25TZWxlY3RvcnMoXG4gIHNvdXJjZTogRm9ybU9wdGlvblNlbGVjdG9yPFN0cmluZ09wdGlvbj5bXSxcbiAgdGFyZ2V0OiBGb3JtT3B0aW9uU2VsZWN0b3I8U3RyaW5nT3B0aW9uPltdXG4pOiBGb3JtT3B0aW9uU2VsZWN0b3I8U3RyaW5nT3B0aW9uPltdIHtcbiAgY29uc3Qgb3B0aW9uczogRm9ybU9wdGlvblNlbGVjdG9yPFN0cmluZ09wdGlvbj5bXSA9IFtdO1xuICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBzb3VyY2UpIHtcbiAgICBjb25zdCB0YXJnZXRPcHRpb24gPSB0YXJnZXQuZmluZCgodCkgPT4gdC5vcHRpb24uaWQgPT09IG9wdGlvbi5vcHRpb24uaWQpO1xuICAgIGlmICh0YXJnZXRPcHRpb24pIHtcbiAgICAgIG9wdGlvbnMucHVzaChtZXJnZUZvcm1PcHRpb25TZWxlY3RvcjxTdHJpbmdPcHRpb24+KG9wdGlvbiwgdGFyZ2V0T3B0aW9uKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG9wdGlvbnMucHVzaChvcHRpb24pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gb3B0aW9ucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlRXh0ZW5kZWRUZW1wbGF0ZU9wdGlvbkdyb3VwSXRlbShcbiAgc291cmNlOiBDaGVja2JveEl0ZW1UZW1wbGF0ZSB8IERyb3Bkb3duSXRlbVRlbXBsYXRlIHwgTXVsdGlwbGVDaG9pY2VJdGVtVGVtcGxhdGUsXG4gIHRhcmdldDogQ2hlY2tib3hJdGVtVGVtcGxhdGUgfCBEcm9wZG93bkl0ZW1UZW1wbGF0ZSB8IE11bHRpcGxlQ2hvaWNlSXRlbVRlbXBsYXRlXG4pOiBDaGVja2JveEl0ZW1UZW1wbGF0ZSB8IERyb3Bkb3duSXRlbVRlbXBsYXRlIHwgTXVsdGlwbGVDaG9pY2VJdGVtVGVtcGxhdGUge1xuICBjb25zdCBvcHRpb25zOiBGb3JtT3B0aW9uU2VsZWN0b3I8U3RyaW5nT3B0aW9uPltdID0gbWVyZ2VGb3JtT3B0aW9uU2VsZWN0b3JzKHNvdXJjZS5vcHRpb25zLCB0YXJnZXQub3B0aW9ucyk7XG4gIGNvbnN0IG9wdGlvblRlbXBsYXRlTWFwOiBSZWNvcmQ8c3RyaW5nLCBUZW1wbGF0ZUl0ZW0+ID0gbWVyZ2VPcHRpb25UZW1wbGF0ZU1hcChzb3VyY2Uub3B0aW9uVGVtcGxhdGVNYXAsIHRhcmdldC5vcHRpb25UZW1wbGF0ZU1hcCk7XG4gIGNvbnN0IG1lcmdlZEV4dGVuZGVkVGVtcGxhdGVPcHRpb25Hcm91cEl0ZW06IENoZWNrYm94SXRlbVRlbXBsYXRlIHwgRHJvcGRvd25JdGVtVGVtcGxhdGUgfCBNdWx0aXBsZUNob2ljZUl0ZW1UZW1wbGF0ZSA9IHtcbiAgICAuLi50YXJnZXQsXG4gICAgLi4uc291cmNlLFxuICAgIGNvZGVWYWx1ZVRlbXBsYXRlSW5saW5lOiB0YXJnZXQuY29kZVZhbHVlVGVtcGxhdGVJbmxpbmUgfHwgc291cmNlLmNvZGVWYWx1ZVRlbXBsYXRlSW5saW5lLFxuICAgIGNvZGVWYWx1ZVRlbXBsYXRlTWFwOiB0YXJnZXQuY29kZVZhbHVlVGVtcGxhdGVNYXAgfHwgc291cmNlLmNvZGVWYWx1ZVRlbXBsYXRlTWFwLFxuICAgIG9wdGlvbnMsXG4gICAgb3B0aW9uVGVtcGxhdGVNYXAsXG4gIH07XG4gIHJldHVybiBtZXJnZWRFeHRlbmRlZFRlbXBsYXRlT3B0aW9uR3JvdXBJdGVtO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VUZW1wbGF0ZUl0ZW1Hcm91cChzb3VyY2U6IFRlbXBsYXRlSXRlbUdyb3VwSW1wbCwgdGFyZ2V0OiBUZW1wbGF0ZUl0ZW1Hcm91cEltcGwpOiBUZW1wbGF0ZUl0ZW1Hcm91cEltcGwge1xuICBjb25zdCBsYXlvdXQ6IExheW91dCA9IHNvdXJjZS5sYXlvdXQgfHwgdGFyZ2V0LmxheW91dDtcbiAgY29uc3QgaXRlbXM6IFRlbXBsYXRlSXRlbVtdID0gW107XG4gIGZvciAoY29uc3Qgc291cmNlSXRlbSBvZiBzb3VyY2UuaXRlbXMpIHtcbiAgICBjb25zdCB0YXJnZXRJdGVtID0gdGFyZ2V0Lml0ZW1zLmZpbmQoKGkpID0+IGkuaW5zdGFuY2VJZCA9PT0gc291cmNlSXRlbS5pbnN0YW5jZUlkKTtcbiAgICBpZiAodGFyZ2V0SXRlbSkge1xuICAgICAgaXRlbXMucHVzaChtZXJnZVRlbXBsYXRlSXRlbShzb3VyY2VJdGVtLCB0YXJnZXRJdGVtKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGl0ZW1zLnB1c2goc291cmNlSXRlbSk7XG4gICAgfVxuICB9XG4gIGNvbnN0IG1lcmdlZFRlbXBsYXRlSXRlbUdyb3VwOiBUZW1wbGF0ZUl0ZW1Hcm91cEltcGwgPSB7IC4uLnRhcmdldCwgLi4uc291cmNlLCBsYXlvdXQsIGl0ZW1zIH07XG4gIHJldHVybiBtZXJnZWRUZW1wbGF0ZUl0ZW1Hcm91cDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlVGVtcGxhdGVJdGVtQmFzZShzb3VyY2U6IFRlbXBsYXRlSXRlbSwgdGFyZ2V0OiBUZW1wbGF0ZUl0ZW0pOiBUZW1wbGF0ZUl0ZW0ge1xuICBjb25zdCBtZXJnZWRUZW1wbGF0ZUl0ZW1CYXNlOiBUZW1wbGF0ZUl0ZW0gPSB7IC4uLnRhcmdldCwgLi4uc291cmNlIH07XG4gIHJldHVybiBtZXJnZWRUZW1wbGF0ZUl0ZW1CYXNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VUZW1wbGF0ZVNlY3Rpb24oc291cmNlOiBUZW1wbGF0ZVNlY3Rpb25JbXBsLCB0YXJnZXQ6IFRlbXBsYXRlU2VjdGlvbkltcGwpOiBUZW1wbGF0ZVNlY3Rpb25JbXBsIHtcbiAgY29uc3QgdGl0bGUgPSBtZXJnZVRlbXBsYXRlSXRlbUJhc2Uoc291cmNlLnRpdGxlLCB0YXJnZXQudGl0bGUpIGFzIFRpdGxlSXRlbVRlbXBsYXRlO1xuICBjb25zdCBpdGVtczogVGVtcGxhdGVJdGVtW10gPSBbXTtcbiAgZm9yIChjb25zdCBzb3VyY2VJdGVtIG9mIHNvdXJjZS5pdGVtcykge1xuICAgIGNvbnN0IHRhcmdldEl0ZW0gPSB0YXJnZXQuaXRlbXMuZmluZCgoaSkgPT4gaS5pbnN0YW5jZUlkID09PSBzb3VyY2VJdGVtLmluc3RhbmNlSWQpO1xuICAgIGlmICh0YXJnZXRJdGVtKSB7XG4gICAgICBpdGVtcy5wdXNoKG1lcmdlVGVtcGxhdGVJdGVtKHNvdXJjZUl0ZW0sIHRhcmdldEl0ZW0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaXRlbXMucHVzaChzb3VyY2VJdGVtKTtcbiAgICB9XG4gIH1cbiAgY29uc3QgbWVyZ2VkVGVtcGxhdGVTZWN0aW9uOiBUZW1wbGF0ZVNlY3Rpb25JbXBsID0geyAuLi50YXJnZXQsIC4uLnNvdXJjZSwgdGl0bGUsIGl0ZW1zIH07XG4gIHJldHVybiBtZXJnZWRUZW1wbGF0ZVNlY3Rpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZVRlbXBsYXRlSXRlbShzb3VyY2U6IFRlbXBsYXRlSXRlbSwgdGFyZ2V0OiBUZW1wbGF0ZUl0ZW0pOiBUZW1wbGF0ZUl0ZW0ge1xuICBsZXQgbWVyZ2VkVGVtcGxhdGVJdGVtOiBUZW1wbGF0ZUl0ZW0gfCB1bmRlZmluZWQ7XG4gIGlmIChpbnN0YW5jZU9mQm9vbGVhbkl0ZW1UZW1wbGF0ZShzb3VyY2UpICYmIGluc3RhbmNlT2ZCb29sZWFuSXRlbVRlbXBsYXRlKHRhcmdldCkpIHtcbiAgICBtZXJnZWRUZW1wbGF0ZUl0ZW0gPSBtZXJnZUJvb2xlYW5JdGVtVGVtcGxhdGUoc291cmNlLCB0YXJnZXQpO1xuICB9IGVsc2UgaWYgKFxuICAgIChpbnN0YW5jZU9mQ2hlY2tib3hJdGVtVGVtcGxhdGUoc291cmNlKSAmJiBpbnN0YW5jZU9mQ2hlY2tib3hJdGVtVGVtcGxhdGUodGFyZ2V0KSkgfHxcbiAgICAoaW5zdGFuY2VPZkRyb3Bkb3duSXRlbVRlbXBsYXRlKHNvdXJjZSkgJiYgaW5zdGFuY2VPZkRyb3Bkb3duSXRlbVRlbXBsYXRlKHRhcmdldCkpIHx8XG4gICAgKGluc3RhbmNlT2ZNdWx0aXBsZUNob2ljZUl0ZW1UZW1wbGF0ZShzb3VyY2UpICYmIGluc3RhbmNlT2ZNdWx0aXBsZUNob2ljZUl0ZW1UZW1wbGF0ZSh0YXJnZXQpKVxuICApIHtcbiAgICBtZXJnZWRUZW1wbGF0ZUl0ZW0gPSBtZXJnZUV4dGVuZGVkVGVtcGxhdGVPcHRpb25Hcm91cEl0ZW0oc291cmNlLCB0YXJnZXQpO1xuICB9IGVsc2UgaWYgKGluc3RhbmNlT2ZUZW1wbGF0ZUl0ZW1Hcm91cEltcGwoc291cmNlKSAmJiBpbnN0YW5jZU9mVGVtcGxhdGVJdGVtR3JvdXBJbXBsKHRhcmdldCkpIHtcbiAgICBtZXJnZWRUZW1wbGF0ZUl0ZW0gPSBtZXJnZVRlbXBsYXRlSXRlbUdyb3VwKHNvdXJjZSwgdGFyZ2V0KTtcbiAgfSBlbHNlIGlmIChpbnN0YW5jZU9mVGVtcGxhdGVTZWN0aW9uSW1wbChzb3VyY2UpICYmIGluc3RhbmNlT2ZUZW1wbGF0ZVNlY3Rpb25JbXBsKHRhcmdldCkpIHtcbiAgICBtZXJnZWRUZW1wbGF0ZUl0ZW0gPSBtZXJnZVRlbXBsYXRlU2VjdGlvbihzb3VyY2UsIHRhcmdldCk7XG4gIH0gZWxzZSB7XG4gICAgbWVyZ2VkVGVtcGxhdGVJdGVtID0geyAuLi50YXJnZXQsIC4uLnNvdXJjZSB9O1xuICB9XG4gIHJldHVybiBtZXJnZWRUZW1wbGF0ZUl0ZW07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZVRlbXBsYXRlKHNvdXJjZTogVGVtcGxhdGUsIHRhcmdldDogVGVtcGxhdGUpOiBUZW1wbGF0ZSB7XG4gIGNvbnN0IG1lcmdlZEl0ZW1zOiBUZW1wbGF0ZUl0ZW1bXSA9IFtdO1xuICBmb3IgKGNvbnN0IGl0ZW0gb2Ygc291cmNlLml0ZW1zKSB7XG4gICAgY29uc3QgdGFyZ2V0SXRlbSA9IHRhcmdldC5pdGVtcz8uZmluZCgoaSkgPT4gaS5pbnN0YW5jZUlkID09PSBpdGVtLmluc3RhbmNlSWQpO1xuICAgIGlmICh0YXJnZXRJdGVtKSB7XG4gICAgICBtZXJnZWRJdGVtcy5wdXNoKG1lcmdlVGVtcGxhdGVJdGVtKGl0ZW0sIHRhcmdldEl0ZW0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbWVyZ2VkSXRlbXMucHVzaChpdGVtKTtcbiAgICB9XG4gIH1cbiAgY29uc3QgbWVyZ2VkVGVtcGxhdGU6IFRlbXBsYXRlID0geyAuLi50YXJnZXQsIC4uLnNvdXJjZSwgaXRlbXM6IG1lcmdlZEl0ZW1zIH07XG4gIHJldHVybiBtZXJnZWRUZW1wbGF0ZTtcbn1cbiJdfQ==