@cuby-ui/core 0.0.447 → 0.0.450

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 (404) hide show
  1. package/components/index.d.ts +0 -1
  2. package/esm2022/components/index.mjs +1 -2
  3. package/esm2022/index.mjs +2 -1
  4. package/esm2022/widgets/assets/constants/index.mjs +2 -0
  5. package/esm2022/widgets/assets/constants/translations.mjs +5 -0
  6. package/esm2022/widgets/assets/i18n/en.json +45 -0
  7. package/esm2022/widgets/assets/i18n/ru.json +45 -0
  8. package/esm2022/widgets/assets/index.mjs +2 -0
  9. package/esm2022/widgets/index.mjs +5 -0
  10. package/esm2022/widgets/model/index.mjs +5 -0
  11. package/esm2022/widgets/model/resource-state-service.interface.mjs +2 -0
  12. package/esm2022/widgets/model/resource-state-service.token.mjs +3 -0
  13. package/esm2022/widgets/model/resources-block.options.mjs +2 -0
  14. package/esm2022/widgets/model/subject-modal-service.interface.mjs +2 -0
  15. package/esm2022/widgets/model/subject-modal-service.token.mjs +3 -0
  16. package/esm2022/widgets/model/used-elements-service.interface.mjs +2 -0
  17. package/esm2022/widgets/model/used-elements-service.token.mjs +3 -0
  18. package/esm2022/widgets/model/utility-service.interface.mjs +2 -0
  19. package/esm2022/widgets/model/utility-service.token.mjs +3 -0
  20. package/esm2022/widgets/service/index.mjs +5 -0
  21. package/esm2022/widgets/service/resource-state-base.service.mjs +19 -0
  22. package/esm2022/widgets/service/subject-modal-base.service.mjs +15 -0
  23. package/esm2022/widgets/service/used-elements-base.service.mjs +17 -0
  24. package/esm2022/widgets/service/utility-base.service.mjs +129 -0
  25. package/esm2022/widgets/ui/assignee-role-item/assignee-role-item.component.mjs +31 -0
  26. package/esm2022/widgets/ui/assignee-role-item/index.mjs +2 -0
  27. package/esm2022/widgets/ui/assignee-roles-tabs/assignee-roles-tabs.component.mjs +48 -0
  28. package/esm2022/widgets/ui/assignee-roles-tabs/index.mjs +2 -0
  29. package/esm2022/widgets/ui/categories/categories.component.mjs +78 -0
  30. package/esm2022/widgets/ui/categories/components/categories-list/categories-list.component.mjs +17 -0
  31. package/esm2022/widgets/ui/categories/components/categories-list/index.mjs +2 -0
  32. package/esm2022/widgets/ui/categories/components/category-form/category-form.component.mjs +79 -0
  33. package/esm2022/widgets/ui/categories/components/category-form/index.mjs +2 -0
  34. package/esm2022/widgets/ui/categories/components/category-item/category-item.component.mjs +126 -0
  35. package/esm2022/widgets/ui/categories/components/category-item/index.mjs +2 -0
  36. package/esm2022/widgets/ui/categories/components/create-category-item/create-category-item.component.mjs +25 -0
  37. package/esm2022/widgets/ui/categories/components/create-category-item/index.mjs +2 -0
  38. package/esm2022/widgets/ui/categories/components/index.mjs +3 -0
  39. package/esm2022/widgets/ui/categories/index.mjs +3 -0
  40. package/esm2022/widgets/ui/categories/services/index.mjs +2 -0
  41. package/esm2022/widgets/ui/categories/services/selected-category.service.mjs +38 -0
  42. package/esm2022/widgets/ui/checklist-block/checklist-block.component.mjs +75 -0
  43. package/esm2022/widgets/ui/checklist-block/checklist-block.options.mjs +2 -0
  44. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list/checklist-block-list.component.mjs +85 -0
  45. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list/index.mjs +2 -0
  46. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-card/checklist-block-list-item-action-card.component.mjs +133 -0
  47. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-card/index.mjs +2 -0
  48. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-with-verification/checklist-block-list-item-action-with-verification.component.mjs +45 -0
  49. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-with-verification/index.mjs +2 -0
  50. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-without-verification/checklist-block-list-item-action-without-verification.component.mjs +35 -0
  51. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-without-verification/index.mjs +2 -0
  52. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.component.mjs +152 -0
  53. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.options.mjs +2 -0
  54. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-container/index.mjs +2 -0
  55. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/checklist-block-list-item-evaluation.component.mjs +282 -0
  56. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/checklist-block-list-item-evaluation.options.mjs +2 -0
  57. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/index.mjs +2 -0
  58. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/checklist-block-list-item-evaluation-criteria.component.mjs +117 -0
  59. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/checklist-block-list-item-evaluation-criteria.options.mjs +2 -0
  60. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/index.mjs +2 -0
  61. package/esm2022/widgets/ui/checklist-block/components/checklist-block-title-control/checklist-block-title-control.component.mjs +39 -0
  62. package/esm2022/widgets/ui/checklist-block/components/checklist-block-title-control/index.mjs +2 -0
  63. package/esm2022/widgets/ui/checklist-block/components/index.mjs +2 -0
  64. package/esm2022/widgets/ui/checklist-block/index.mjs +2 -0
  65. package/esm2022/widgets/ui/checklist-block/services/checklist-block.service.mjs +50 -0
  66. package/esm2022/widgets/ui/checklist-block/services/index.mjs +2 -0
  67. package/esm2022/widgets/ui/consumable-form/components/consumable-form-item/consumable-form-item.component.mjs +78 -0
  68. package/esm2022/widgets/ui/consumable-form/components/consumable-form-item/default-control-delay.mjs +2 -0
  69. package/esm2022/widgets/ui/consumable-form/components/consumable-form-item/index.mjs +3 -0
  70. package/esm2022/widgets/ui/consumable-form/components/consumable-form-item-readonly/consumable-form-item-readonly.component.mjs +17 -0
  71. package/esm2022/widgets/ui/consumable-form/components/consumable-form-item-readonly/index.mjs +2 -0
  72. package/esm2022/widgets/ui/consumable-form/components/index.mjs +4 -0
  73. package/esm2022/widgets/ui/consumable-form/consumable-form.component.mjs +184 -0
  74. package/esm2022/widgets/ui/consumable-form/consumable-form.options.mjs +2 -0
  75. package/esm2022/widgets/ui/consumable-form/index.mjs +2 -0
  76. package/esm2022/widgets/ui/criterion-info/criterion-info.component.mjs +137 -0
  77. package/esm2022/widgets/ui/criterion-info/index.mjs +2 -0
  78. package/esm2022/widgets/ui/criterion-info-form/criterion-info-form.component.mjs +147 -0
  79. package/esm2022/widgets/ui/criterion-info-form/criterion-info-form.options.mjs +2 -0
  80. package/esm2022/widgets/ui/criterion-info-form/index.mjs +2 -0
  81. package/esm2022/widgets/ui/criterion-readonly-info/criterion-readonly-info.component.mjs +72 -0
  82. package/esm2022/widgets/ui/criterion-readonly-info/index.mjs +2 -0
  83. package/esm2022/widgets/ui/delete-modal/delete-modal.component.mjs +39 -0
  84. package/esm2022/widgets/ui/delete-modal/delete-modal.options.mjs +2 -0
  85. package/esm2022/widgets/ui/delete-modal/index.mjs +2 -0
  86. package/esm2022/widgets/ui/framer-preview/framer-preview.component.mjs +77 -0
  87. package/esm2022/widgets/ui/framer-preview/framer-preview.options.mjs +2 -0
  88. package/esm2022/widgets/ui/framer-preview/index.mjs +2 -0
  89. package/esm2022/widgets/ui/general-control-error-hint/general-control-error-hint.component.mjs +21 -0
  90. package/esm2022/widgets/ui/general-control-error-hint/index.mjs +2 -0
  91. package/esm2022/widgets/ui/index.mjs +25 -0
  92. package/esm2022/widgets/ui/inserted/index.mjs +2 -2
  93. package/esm2022/widgets/ui/instruction-info/index.mjs +2 -0
  94. package/esm2022/widgets/ui/instruction-info/instruction-info.component.mjs +147 -0
  95. package/esm2022/widgets/ui/instruction-info-form/index.mjs +2 -0
  96. package/esm2022/widgets/ui/instruction-info-form/instruction-info-form.component.mjs +153 -0
  97. package/esm2022/widgets/ui/instruction-info-form/instruction-info-form.options.mjs +2 -0
  98. package/esm2022/widgets/ui/instruction-readonly-info/index.mjs +2 -0
  99. package/esm2022/widgets/ui/instruction-readonly-info/instruction-readonly-info.component.mjs +72 -0
  100. package/esm2022/widgets/ui/loader/index.mjs +2 -0
  101. package/esm2022/widgets/ui/loader/loader.component.mjs +36 -0
  102. package/esm2022/widgets/ui/modal-criteria-tab/index.mjs +2 -0
  103. package/esm2022/widgets/ui/modal-criteria-tab/modal-criteria-tab.component.mjs +45 -0
  104. package/esm2022/widgets/ui/modal-divided-section/index.mjs +3 -0
  105. package/esm2022/widgets/ui/modal-divided-section/modal-divided-section.component.mjs +55 -0
  106. package/esm2022/widgets/ui/modal-divided-section/modal-divided-section.interfaces.mjs +2 -0
  107. package/esm2022/widgets/ui/modal-header/modal-header.component.mjs +2 -2
  108. package/esm2022/widgets/ui/modal-header-inserted-buttons/index.mjs +2 -0
  109. package/esm2022/widgets/ui/modal-header-inserted-buttons/modal-header-inserted-buttons.component.mjs +22 -0
  110. package/esm2022/widgets/ui/modal-header-tabs/index.mjs +2 -0
  111. package/esm2022/widgets/ui/modal-header-tabs/modal-header-tabs.component.mjs +19 -0
  112. package/esm2022/widgets/ui/modal-info-tab/index.mjs +3 -0
  113. package/esm2022/widgets/ui/modal-info-tab/modal-info-tab.component.mjs +19 -0
  114. package/esm2022/widgets/ui/modal-info-tab/modal-info-tab.options.mjs +2 -0
  115. package/esm2022/widgets/ui/modal-instructions-tab/index.mjs +2 -0
  116. package/esm2022/widgets/ui/modal-instructions-tab/modal-instructions-tab.component.mjs +31 -0
  117. package/esm2022/widgets/ui/modal-operation-part/index.mjs +2 -0
  118. package/esm2022/widgets/ui/modal-operation-part/modal-operation-part.component.mjs +114 -0
  119. package/esm2022/widgets/ui/modal-resources-tab/index.mjs +2 -0
  120. package/esm2022/widgets/ui/modal-resources-tab/modal-resources-tab.component.mjs +33 -0
  121. package/esm2022/widgets/ui/render-dynamic-modal/index.mjs +3 -0
  122. package/esm2022/widgets/ui/render-dynamic-modal/render-dynamic-modal.component.mjs +29 -0
  123. package/esm2022/widgets/ui/render-dynamic-modal/render-dynamic-modal.option.mjs +2 -0
  124. package/esm2022/widgets/ui/resources-block/components/index.mjs +4 -0
  125. package/esm2022/widgets/ui/resources-block/components/resources-block-consumables/index.mjs +2 -0
  126. package/esm2022/widgets/ui/resources-block/components/resources-block-consumables/resources-block-consumables.component.mjs +53 -0
  127. package/esm2022/widgets/ui/resources-block/components/resources-block-consumables/resources-block-consumables.options.mjs +2 -0
  128. package/esm2022/widgets/ui/resources-block/components/resources-block-content/index.mjs +2 -0
  129. package/esm2022/widgets/ui/resources-block/components/resources-block-content/resources-block-content.component.mjs +38 -0
  130. package/esm2022/widgets/ui/resources-block/components/resources-block-part/index.mjs +2 -0
  131. package/esm2022/widgets/ui/resources-block/components/resources-block-part/resources-block-part.component.mjs +57 -0
  132. package/esm2022/widgets/ui/resources-block/components/resources-block-part/resources-block-part.options.mjs +2 -0
  133. package/esm2022/widgets/ui/resources-block/components/resources-block-tabs/index.mjs +2 -0
  134. package/esm2022/widgets/ui/resources-block/components/resources-block-tabs/resources-block-tabs.component.mjs +56 -0
  135. package/esm2022/widgets/ui/resources-block/components/resources-block-tabs/resources-block-tabs.options.mjs +10 -0
  136. package/esm2022/widgets/ui/resources-block/components/resources-block-toolbox/index.mjs +2 -0
  137. package/esm2022/widgets/ui/resources-block/components/resources-block-toolbox/resources-block-toolbox.component.mjs +56 -0
  138. package/esm2022/widgets/ui/resources-block/components/resources-block-toolbox/resources-block-toolbox.options.mjs +2 -0
  139. package/esm2022/widgets/ui/resources-block/components/resources-options/index.mjs +2 -0
  140. package/esm2022/widgets/ui/resources-block/components/resources-options/resources-options.component.mjs +42 -0
  141. package/esm2022/widgets/ui/resources-block/index.mjs +3 -0
  142. package/esm2022/widgets/ui/resources-block/resources-block.component.mjs +137 -0
  143. package/esm2022/widgets/ui/resources-block-tabs/index.mjs +2 -0
  144. package/esm2022/widgets/ui/resources-block-tabs/resources-block-tabs.component.mjs +57 -0
  145. package/esm2022/widgets/ui/resources-block-tabs/resources-block-tabs.options.mjs +10 -0
  146. package/esm2022/widgets/ui/select-modal/components/index.mjs +3 -0
  147. package/esm2022/widgets/ui/select-modal/components/select-modal-folder/index.mjs +2 -0
  148. package/esm2022/widgets/ui/select-modal/components/select-modal-folder/select-modal-folder.component.mjs +21 -0
  149. package/esm2022/widgets/ui/select-modal/components/select-modal-search/index.mjs +2 -0
  150. package/esm2022/widgets/ui/select-modal/components/select-modal-search/select-modal-search.component.mjs +32 -0
  151. package/esm2022/widgets/ui/select-modal/index.mjs +4 -0
  152. package/esm2022/widgets/ui/select-modal/select-modal.component.mjs +35 -0
  153. package/esm2022/widgets/ui/select-modal/select-modal.interfaces.mjs +2 -0
  154. package/esm2022/widgets/ui/select-modal/select-modal.service.mjs +23 -0
  155. package/esm2022/widgets/ui/storage-list/components/index.mjs +2 -0
  156. package/esm2022/widgets/ui/storage-list/components/storage-list-item/index.mjs +2 -0
  157. package/esm2022/widgets/ui/storage-list/components/storage-list-item/storage-list-item.component.mjs +87 -0
  158. package/esm2022/widgets/ui/storage-list/index.mjs +3 -0
  159. package/esm2022/widgets/ui/storage-list/storage-list.component.mjs +17 -0
  160. package/esm2022/widgets/ui/storage-list/storage-list.options.mjs +3 -0
  161. package/esm2022/widgets/ui/toolbox-form/components/index.mjs +2 -0
  162. package/esm2022/widgets/ui/toolbox-form/components/tool-form-readonly/index.mjs +2 -0
  163. package/esm2022/widgets/ui/toolbox-form/components/tool-form-readonly/tool-form-readonly.component.mjs +19 -0
  164. package/esm2022/widgets/ui/toolbox-form/index.mjs +3 -0
  165. package/esm2022/widgets/ui/toolbox-form/tool-form.component.mjs +106 -0
  166. package/esm2022/widgets/ui/toolbox-form/tool-form.options.mjs +2 -0
  167. package/esm2022/widgets/ui/user-action-context-menu/activity-item/activity-item.component.mjs +61 -0
  168. package/esm2022/widgets/ui/user-action-context-menu/activity-item/index.mjs +2 -0
  169. package/esm2022/widgets/ui/user-action-context-menu/company-item/company-item.component.mjs +68 -0
  170. package/esm2022/widgets/ui/user-action-context-menu/company-item/index.mjs +2 -0
  171. package/esm2022/widgets/ui/user-action-context-menu/index.mjs +4 -0
  172. package/esm2022/widgets/ui/user-action-context-menu/services/activity-base.service.mjs +32 -0
  173. package/esm2022/widgets/ui/user-action-context-menu/services/activity.service.mjs +35 -0
  174. package/esm2022/widgets/ui/user-action-context-menu/services/index.mjs +3 -0
  175. package/esm2022/widgets/ui/user-action-context-menu/user-action-context-menu.component.mjs +83 -0
  176. package/esm2022/widgets/ui/user-action-context-menu/user-action-context.option.mjs +3 -0
  177. package/esm2022/widgets/ui/utility-info-readonly/index.mjs +3 -0
  178. package/esm2022/widgets/ui/utility-info-readonly/utility-info-readonly.component.mjs +85 -0
  179. package/esm2022/widgets/ui/utility-info-readonly/utility-info-readonly.options.mjs +2 -0
  180. package/esm2022/widgets/ui/utility-modal/components/criterion-modal-create/criterion-modal-create.component.mjs +41 -0
  181. package/esm2022/widgets/ui/utility-modal/components/criterion-modal-create/index.mjs +2 -0
  182. package/esm2022/widgets/ui/utility-modal/components/index.mjs +5 -0
  183. package/esm2022/widgets/ui/utility-modal/components/instruction-modal-create/index.mjs +2 -0
  184. package/esm2022/widgets/ui/utility-modal/components/instruction-modal-create/instruction-modal-create.component.mjs +41 -0
  185. package/esm2022/widgets/ui/utility-modal/components/readonly-criterion-modal/index.mjs +2 -0
  186. package/esm2022/widgets/ui/utility-modal/components/readonly-criterion-modal/readonly-criterion-modal.component.mjs +40 -0
  187. package/esm2022/widgets/ui/utility-modal/components/readonly-instruction-modal/index.mjs +2 -0
  188. package/esm2022/widgets/ui/utility-modal/components/readonly-instruction-modal/readonly-instruction-modal.component.mjs +40 -0
  189. package/esm2022/widgets/ui/utility-modal/components/readonly-utility-modal/index.mjs +2 -0
  190. package/esm2022/widgets/ui/utility-modal/components/readonly-utility-modal/readonly-utility-modal.component.mjs +43 -0
  191. package/esm2022/widgets/ui/utility-modal/components/utility-modal-create/index.mjs +2 -0
  192. package/esm2022/widgets/ui/utility-modal/components/utility-modal-create/utility-modal-create.component.mjs +55 -0
  193. package/esm2022/widgets/ui/utility-modal/index.mjs +4 -0
  194. package/esm2022/widgets/ui/utility-modal/utility-modal.component.mjs +22 -0
  195. package/esm2022/widgets/ui/utility-modal/utility-modal.options.mjs +3 -0
  196. package/esm2022/widgets/ui/utility-readonly-thumbnail/index.mjs +2 -0
  197. package/esm2022/widgets/ui/utility-readonly-thumbnail/utility-readonly-thumbnail.component.mjs +15 -0
  198. package/esm2022/widgets/ui/utility-thumbnail/index.mjs +2 -0
  199. package/esm2022/widgets/ui/utility-thumbnail/utility-thumbnail.component.mjs +95 -0
  200. package/fesm2022/cuby-ui-core-en-BvvbrGg1.mjs +91 -0
  201. package/fesm2022/cuby-ui-core-en-BvvbrGg1.mjs.map +1 -0
  202. package/fesm2022/cuby-ui-core-ru-bROcEQBf.mjs +91 -0
  203. package/fesm2022/cuby-ui-core-ru-bROcEQBf.mjs.map +1 -0
  204. package/fesm2022/cuby-ui-core.mjs +4178 -18
  205. package/fesm2022/cuby-ui-core.mjs.map +1 -1
  206. package/index.d.ts +1 -0
  207. package/package.json +4 -4
  208. package/widgets/assets/constants/index.d.ts +1 -0
  209. package/widgets/assets/constants/translations.d.ts +2 -0
  210. package/widgets/assets/index.d.ts +1 -0
  211. package/widgets/index.d.ts +4 -0
  212. package/widgets/model/index.d.ts +4 -0
  213. package/widgets/model/resource-state-service.interface.d.ts +4 -0
  214. package/widgets/model/resource-state-service.token.d.ts +3 -0
  215. package/widgets/model/resources-block.options.d.ts +15 -0
  216. package/widgets/model/subject-modal-service.interface.d.ts +7 -0
  217. package/widgets/model/subject-modal-service.token.d.ts +3 -0
  218. package/widgets/model/used-elements-service.interface.d.ts +5 -0
  219. package/widgets/model/used-elements-service.token.d.ts +3 -0
  220. package/widgets/model/utility-service.interface.d.ts +23 -0
  221. package/widgets/model/utility-service.token.d.ts +3 -0
  222. package/widgets/service/index.d.ts +4 -0
  223. package/widgets/service/resource-state-base.service.d.ts +10 -0
  224. package/widgets/service/subject-modal-base.service.d.ts +11 -0
  225. package/widgets/service/used-elements-base.service.d.ts +11 -0
  226. package/widgets/service/utility-base.service.d.ts +29 -0
  227. package/widgets/ui/assignee-role-item/assignee-role-item.component.d.ts +12 -0
  228. package/widgets/ui/assignee-role-item/index.d.ts +1 -0
  229. package/widgets/ui/assignee-roles-tabs/assignee-roles-tabs.component.d.ts +18 -0
  230. package/widgets/ui/assignee-roles-tabs/index.d.ts +1 -0
  231. package/widgets/ui/categories/categories.component.d.ts +25 -0
  232. package/widgets/ui/categories/components/categories-list/categories-list.component.d.ts +8 -0
  233. package/widgets/ui/categories/components/categories-list/index.d.ts +1 -0
  234. package/widgets/ui/categories/components/category-form/category-form.component.d.ts +28 -0
  235. package/widgets/ui/categories/components/category-form/index.d.ts +1 -0
  236. package/widgets/ui/categories/components/category-item/category-item.component.d.ts +42 -0
  237. package/widgets/ui/categories/components/category-item/index.d.ts +1 -0
  238. package/widgets/ui/categories/components/create-category-item/create-category-item.component.d.ts +10 -0
  239. package/widgets/ui/categories/components/create-category-item/index.d.ts +1 -0
  240. package/widgets/ui/categories/components/index.d.ts +2 -0
  241. package/widgets/ui/categories/index.d.ts +2 -0
  242. package/widgets/ui/categories/services/index.d.ts +1 -0
  243. package/widgets/ui/categories/services/selected-category.service.d.ts +18 -0
  244. package/widgets/ui/checklist-block/checklist-block.component.d.ts +21 -0
  245. package/widgets/ui/checklist-block/checklist-block.options.d.ts +12 -0
  246. package/widgets/ui/checklist-block/components/checklist-block-list/checklist-block-list.component.d.ts +27 -0
  247. package/widgets/ui/checklist-block/components/checklist-block-list/index.d.ts +1 -0
  248. package/widgets/ui/checklist-block/components/checklist-block-list-item-action-card/checklist-block-list-item-action-card.component.d.ts +30 -0
  249. package/widgets/ui/checklist-block/components/checklist-block-list-item-action-card/index.d.ts +1 -0
  250. package/widgets/ui/checklist-block/components/checklist-block-list-item-action-with-verification/checklist-block-list-item-action-with-verification.component.d.ts +11 -0
  251. package/widgets/ui/checklist-block/components/checklist-block-list-item-action-with-verification/index.d.ts +1 -0
  252. package/widgets/ui/checklist-block/components/checklist-block-list-item-action-without-verification/checklist-block-list-item-action-without-verification.component.d.ts +10 -0
  253. package/widgets/ui/checklist-block/components/checklist-block-list-item-action-without-verification/index.d.ts +1 -0
  254. package/widgets/ui/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.component.d.ts +41 -0
  255. package/widgets/ui/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.options.d.ts +5 -0
  256. package/widgets/ui/checklist-block/components/checklist-block-list-item-container/index.d.ts +1 -0
  257. package/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/checklist-block-list-item-evaluation.component.d.ts +51 -0
  258. package/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/checklist-block-list-item-evaluation.options.d.ts +14 -0
  259. package/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/index.d.ts +2 -0
  260. package/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/checklist-block-list-item-evaluation-criteria.component.d.ts +33 -0
  261. package/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/checklist-block-list-item-evaluation-criteria.options.d.ts +4 -0
  262. package/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/index.d.ts +1 -0
  263. package/widgets/ui/checklist-block/components/checklist-block-title-control/checklist-block-title-control.component.d.ts +8 -0
  264. package/widgets/ui/checklist-block/components/checklist-block-title-control/index.d.ts +1 -0
  265. package/widgets/ui/checklist-block/components/index.d.ts +1 -0
  266. package/widgets/ui/checklist-block/index.d.ts +1 -0
  267. package/widgets/ui/checklist-block/services/checklist-block.service.d.ts +19 -0
  268. package/widgets/ui/checklist-block/services/index.d.ts +1 -0
  269. package/widgets/ui/consumable-form/components/consumable-form-item/consumable-form-item.component.d.ts +31 -0
  270. package/widgets/ui/consumable-form/components/consumable-form-item/default-control-delay.d.ts +1 -0
  271. package/widgets/ui/consumable-form/components/consumable-form-item/index.d.ts +2 -0
  272. package/widgets/ui/consumable-form/components/consumable-form-item-readonly/consumable-form-item-readonly.component.d.ts +8 -0
  273. package/widgets/ui/consumable-form/components/consumable-form-item-readonly/index.d.ts +1 -0
  274. package/widgets/ui/consumable-form/components/index.d.ts +3 -0
  275. package/widgets/ui/consumable-form/consumable-form.component.d.ts +46 -0
  276. package/widgets/ui/consumable-form/consumable-form.options.d.ts +22 -0
  277. package/widgets/ui/consumable-form/index.d.ts +1 -0
  278. package/widgets/ui/criterion-info/criterion-info.component.d.ts +43 -0
  279. package/widgets/ui/criterion-info/index.d.ts +1 -0
  280. package/widgets/ui/criterion-info-form/criterion-info-form.component.d.ts +39 -0
  281. package/widgets/ui/criterion-info-form/criterion-info-form.options.d.ts +7 -0
  282. package/widgets/ui/criterion-info-form/index.d.ts +2 -0
  283. package/widgets/ui/criterion-readonly-info/criterion-readonly-info.component.d.ts +26 -0
  284. package/widgets/ui/criterion-readonly-info/index.d.ts +1 -0
  285. package/widgets/ui/delete-modal/delete-modal.component.d.ts +13 -0
  286. package/widgets/ui/delete-modal/delete-modal.options.d.ts +7 -0
  287. package/widgets/ui/delete-modal/index.d.ts +2 -0
  288. package/widgets/ui/framer-preview/framer-preview.component.d.ts +26 -0
  289. package/widgets/ui/framer-preview/framer-preview.options.d.ts +5 -0
  290. package/widgets/ui/framer-preview/index.d.ts +2 -0
  291. package/widgets/ui/general-control-error-hint/general-control-error-hint.component.d.ts +9 -0
  292. package/widgets/ui/general-control-error-hint/index.d.ts +1 -0
  293. package/widgets/ui/index.d.ts +24 -0
  294. package/widgets/ui/inserted/index.d.ts +1 -1
  295. package/widgets/ui/instruction-info/index.d.ts +1 -0
  296. package/widgets/ui/instruction-info/instruction-info.component.d.ts +45 -0
  297. package/widgets/ui/instruction-info-form/index.d.ts +2 -0
  298. package/widgets/ui/instruction-info-form/instruction-info-form.component.d.ts +43 -0
  299. package/widgets/ui/instruction-info-form/instruction-info-form.options.d.ts +9 -0
  300. package/widgets/ui/instruction-readonly-info/index.d.ts +1 -0
  301. package/widgets/ui/instruction-readonly-info/instruction-readonly-info.component.d.ts +26 -0
  302. package/widgets/ui/loader/index.d.ts +1 -0
  303. package/widgets/ui/loader/loader.component.d.ts +20 -0
  304. package/widgets/ui/modal-criteria-tab/index.d.ts +1 -0
  305. package/widgets/ui/modal-criteria-tab/modal-criteria-tab.component.d.ts +15 -0
  306. package/widgets/ui/modal-divided-section/index.d.ts +2 -0
  307. package/widgets/ui/modal-divided-section/modal-divided-section.component.d.ts +22 -0
  308. package/widgets/ui/modal-divided-section/modal-divided-section.interfaces.d.ts +6 -0
  309. package/widgets/ui/modal-header-inserted-buttons/index.d.ts +1 -0
  310. package/widgets/ui/modal-header-inserted-buttons/modal-header-inserted-buttons.component.d.ts +7 -0
  311. package/widgets/ui/modal-header-tabs/index.d.ts +1 -0
  312. package/widgets/ui/modal-header-tabs/modal-header-tabs.component.d.ts +8 -0
  313. package/widgets/ui/modal-info-tab/index.d.ts +2 -0
  314. package/widgets/ui/modal-info-tab/modal-info-tab.component.d.ts +8 -0
  315. package/widgets/ui/modal-info-tab/modal-info-tab.options.d.ts +4 -0
  316. package/widgets/ui/modal-instructions-tab/index.d.ts +1 -0
  317. package/widgets/ui/modal-instructions-tab/modal-instructions-tab.component.d.ts +15 -0
  318. package/widgets/ui/modal-operation-part/index.d.ts +1 -0
  319. package/widgets/ui/modal-operation-part/modal-operation-part.component.d.ts +24 -0
  320. package/widgets/ui/modal-resources-tab/index.d.ts +1 -0
  321. package/widgets/ui/modal-resources-tab/modal-resources-tab.component.d.ts +14 -0
  322. package/widgets/ui/render-dynamic-modal/index.d.ts +2 -0
  323. package/widgets/ui/render-dynamic-modal/render-dynamic-modal.component.d.ts +11 -0
  324. package/widgets/ui/render-dynamic-modal/render-dynamic-modal.option.d.ts +5 -0
  325. package/widgets/ui/resources-block/components/index.d.ts +5 -0
  326. package/widgets/ui/resources-block/components/resources-block-consumables/index.d.ts +2 -0
  327. package/widgets/ui/resources-block/components/resources-block-consumables/resources-block-consumables.component.d.ts +17 -0
  328. package/widgets/ui/resources-block/components/resources-block-consumables/resources-block-consumables.options.d.ts +7 -0
  329. package/widgets/ui/resources-block/components/resources-block-content/index.d.ts +1 -0
  330. package/widgets/ui/resources-block/components/resources-block-content/resources-block-content.component.d.ts +19 -0
  331. package/widgets/ui/resources-block/components/resources-block-part/index.d.ts +1 -0
  332. package/widgets/ui/resources-block/components/resources-block-part/resources-block-part.component.d.ts +19 -0
  333. package/widgets/ui/resources-block/components/resources-block-part/resources-block-part.options.d.ts +5 -0
  334. package/widgets/ui/resources-block/components/resources-block-tabs/index.d.ts +1 -0
  335. package/widgets/ui/resources-block/components/resources-block-tabs/resources-block-tabs.component.d.ts +28 -0
  336. package/widgets/ui/resources-block/components/resources-block-tabs/resources-block-tabs.options.d.ts +13 -0
  337. package/widgets/ui/resources-block/components/resources-block-toolbox/index.d.ts +2 -0
  338. package/widgets/ui/resources-block/components/resources-block-toolbox/resources-block-toolbox.component.d.ts +17 -0
  339. package/widgets/ui/resources-block/components/resources-block-toolbox/resources-block-toolbox.options.d.ts +5 -0
  340. package/widgets/ui/resources-block/components/resources-options/index.d.ts +1 -0
  341. package/widgets/ui/resources-block/components/resources-options/resources-options.component.d.ts +20 -0
  342. package/widgets/ui/resources-block/index.d.ts +2 -0
  343. package/widgets/ui/resources-block/resources-block.component.d.ts +35 -0
  344. package/widgets/ui/resources-block-tabs/index.d.ts +1 -0
  345. package/widgets/ui/resources-block-tabs/resources-block-tabs.component.d.ts +28 -0
  346. package/widgets/ui/resources-block-tabs/resources-block-tabs.options.d.ts +14 -0
  347. package/widgets/ui/select-modal/components/index.d.ts +2 -0
  348. package/widgets/ui/select-modal/components/select-modal-folder/index.d.ts +1 -0
  349. package/widgets/ui/select-modal/components/select-modal-folder/select-modal-folder.component.d.ts +10 -0
  350. package/widgets/ui/select-modal/components/select-modal-search/index.d.ts +1 -0
  351. package/widgets/ui/select-modal/components/select-modal-search/select-modal-search.component.d.ts +12 -0
  352. package/widgets/ui/select-modal/index.d.ts +3 -0
  353. package/widgets/ui/select-modal/select-modal.component.d.ts +13 -0
  354. package/widgets/ui/select-modal/select-modal.interfaces.d.ts +15 -0
  355. package/widgets/ui/select-modal/select-modal.service.d.ts +13 -0
  356. package/widgets/ui/storage-list/components/index.d.ts +1 -0
  357. package/widgets/ui/storage-list/components/storage-list-item/index.d.ts +1 -0
  358. package/widgets/ui/storage-list/components/storage-list-item/storage-list-item.component.d.ts +24 -0
  359. package/widgets/ui/storage-list/index.d.ts +2 -0
  360. package/widgets/ui/storage-list/storage-list.component.d.ts +10 -0
  361. package/widgets/ui/storage-list/storage-list.options.d.ts +16 -0
  362. package/widgets/ui/toolbox-form/components/index.d.ts +1 -0
  363. package/widgets/ui/toolbox-form/components/tool-form-readonly/index.d.ts +1 -0
  364. package/widgets/ui/toolbox-form/components/tool-form-readonly/tool-form-readonly.component.d.ts +7 -0
  365. package/widgets/ui/toolbox-form/index.d.ts +2 -0
  366. package/widgets/ui/toolbox-form/tool-form.component.d.ts +34 -0
  367. package/widgets/ui/toolbox-form/tool-form.options.d.ts +5 -0
  368. package/widgets/ui/user-action-context-menu/activity-item/activity-item.component.d.ts +17 -0
  369. package/widgets/ui/user-action-context-menu/activity-item/index.d.ts +1 -0
  370. package/widgets/ui/user-action-context-menu/company-item/company-item.component.d.ts +22 -0
  371. package/widgets/ui/user-action-context-menu/company-item/index.d.ts +1 -0
  372. package/widgets/ui/user-action-context-menu/index.d.ts +3 -0
  373. package/widgets/ui/user-action-context-menu/services/activity-base.service.d.ts +14 -0
  374. package/widgets/ui/user-action-context-menu/services/activity.service.d.ts +14 -0
  375. package/widgets/ui/user-action-context-menu/services/index.d.ts +2 -0
  376. package/widgets/ui/user-action-context-menu/user-action-context-menu.component.d.ts +29 -0
  377. package/widgets/ui/user-action-context-menu/user-action-context.option.d.ts +15 -0
  378. package/widgets/ui/utility-info-readonly/index.d.ts +2 -0
  379. package/widgets/ui/utility-info-readonly/utility-info-readonly.component.d.ts +28 -0
  380. package/widgets/ui/utility-info-readonly/utility-info-readonly.options.d.ts +4 -0
  381. package/widgets/ui/utility-modal/components/criterion-modal-create/criterion-modal-create.component.d.ts +18 -0
  382. package/widgets/ui/utility-modal/components/criterion-modal-create/index.d.ts +1 -0
  383. package/widgets/ui/utility-modal/components/index.d.ts +4 -0
  384. package/widgets/ui/utility-modal/components/instruction-modal-create/index.d.ts +1 -0
  385. package/widgets/ui/utility-modal/components/instruction-modal-create/instruction-modal-create.component.d.ts +18 -0
  386. package/widgets/ui/utility-modal/components/readonly-criterion-modal/index.d.ts +1 -0
  387. package/widgets/ui/utility-modal/components/readonly-criterion-modal/readonly-criterion-modal.component.d.ts +16 -0
  388. package/widgets/ui/utility-modal/components/readonly-instruction-modal/index.d.ts +1 -0
  389. package/widgets/ui/utility-modal/components/readonly-instruction-modal/readonly-instruction-modal.component.d.ts +16 -0
  390. package/widgets/ui/utility-modal/components/readonly-utility-modal/index.d.ts +1 -0
  391. package/widgets/ui/utility-modal/components/readonly-utility-modal/readonly-utility-modal.component.d.ts +18 -0
  392. package/widgets/ui/utility-modal/components/utility-modal-create/index.d.ts +1 -0
  393. package/widgets/ui/utility-modal/components/utility-modal-create/utility-modal-create.component.d.ts +25 -0
  394. package/widgets/ui/utility-modal/index.d.ts +3 -0
  395. package/widgets/ui/utility-modal/utility-modal.component.d.ts +10 -0
  396. package/widgets/ui/utility-modal/utility-modal.options.d.ts +12 -0
  397. package/widgets/ui/utility-readonly-thumbnail/index.d.ts +1 -0
  398. package/widgets/ui/utility-readonly-thumbnail/utility-readonly-thumbnail.component.d.ts +8 -0
  399. package/widgets/ui/utility-thumbnail/index.d.ts +1 -0
  400. package/widgets/ui/utility-thumbnail/utility-thumbnail.component.d.ts +21 -0
  401. package/components/inserted/index.d.ts +0 -1
  402. package/components/inserted/inserted.component.d.ts +0 -5
  403. package/esm2022/components/inserted/index.mjs +0 -2
  404. package/esm2022/components/inserted/inserted.component.mjs +0 -15
@@ -0,0 +1,282 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, inject, input, signal } from '@angular/core';
2
+ import { NonNullableFormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';
3
+ import { CuiDragDropDirective, CuiDragListDirective } from '@cuby-ui/cdk';
4
+ import { TranslocoDirective } from '@jsverse/transloco';
5
+ import { finalize, of, Subject, switchMap, takeUntil } from 'rxjs';
6
+ import { CuiNodeChecklistApiService } from '@cuby-ui/api';
7
+ import { CuiCheckListBlockListItemEvaluationCriteriaComponent } from '../checklist-block-list-item-evaluation-criteria';
8
+ import { CuiButtonModule, CuiCheckboxModule, CuiContextMenuModule, CuiDialogService, CuiHintModule, CuiInputModule, CuiLabelModule, CuiTextareaModule, CuiToggleModule, CuiEmptyStateComponent } from '../../../../../components';
9
+ import { CuiDeleteModalComponent } from '../../../index';
10
+ import { CuiTextFieldControllerModule } from '../../../../../directives';
11
+ import { cuiCreateDefaultValidators } from '../../../../../utils';
12
+ import { CuiCheckListBlockService } from '../../services';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "../../../../../components/button/button.component";
15
+ import * as i2 from "../../../../../components/checkbox/checkbox.component";
16
+ import * as i3 from "../../../../../components/label/label.component";
17
+ import * as i4 from "../../../../../components/toggle/toggle.component";
18
+ import * as i5 from "@angular/forms";
19
+ export class CuiCheckListBlockListItemEvaluationComponent {
20
+ constructor() {
21
+ this.nonNullableFormBuilder = inject(NonNullableFormBuilder);
22
+ this.nodeCheckListApiService = inject(CuiNodeChecklistApiService);
23
+ this.checkListBlockService = inject(CuiCheckListBlockService);
24
+ this.cdRef = inject(ChangeDetectorRef);
25
+ this.cuiDialogService = inject(CuiDialogService);
26
+ this.isAvailableObserver = new Subject();
27
+ this.photoFormGroup = this.nonNullableFormBuilder.group({
28
+ isEnable: false,
29
+ isRequired: {
30
+ value: false,
31
+ disabled: true
32
+ }
33
+ });
34
+ this.commentFormGroup = this.nonNullableFormBuilder.group({
35
+ isEnable: false,
36
+ isRequired: {
37
+ value: false,
38
+ disabled: true
39
+ }
40
+ });
41
+ this.evaluationCriteriaFormArray = this.nonNullableFormBuilder.array([]);
42
+ this.loadingIds = signal({});
43
+ this.isAddButtonDisabled = signal(false);
44
+ this.assignee = computed(() => this.checkListItem().content.actionsAssignee[0]);
45
+ this.attachmentPhotoAction = computed(() => this.assignee().actions.find((contentAction) => contentAction.contentActionType === 'ATTACHMENT_PHOTO'));
46
+ this.textAreaAction = computed(() => this.assignee().actions.find((contentAction) => contentAction.contentActionType === 'TEXT_AREA'));
47
+ this.checkListItem = input.required();
48
+ }
49
+ getPointer(currentIndex) {
50
+ return currentIndex === 0
51
+ ? "BEFORE" /* NodeCheckListItemSwitchContentPointer.BEFORE */
52
+ : "AFTER" /* NodeCheckListItemSwitchContentPointer.AFTER */;
53
+ }
54
+ getTargetIndex(currentIndex) {
55
+ return currentIndex === 0 ? 1 : currentIndex - 1;
56
+ }
57
+ onDrop(event) {
58
+ const { prevIndex, index } = event;
59
+ if (prevIndex === index) {
60
+ return;
61
+ }
62
+ this.moveItemInArray(this.evaluationCriteriaFormArray.controls, prevIndex, index);
63
+ const movingElementId = this.evaluationCriteriaFormArray.at(index).value.id;
64
+ const targetItemId = this.evaluationCriteriaFormArray.at(this.getTargetIndex(index)).value.id;
65
+ const pointer = this.getPointer(index);
66
+ const requestBody = {
67
+ nodeCheckListId: this.checkListItem().id,
68
+ listEvaluationId: this.assignee().id,
69
+ movingElementId,
70
+ targetItemId,
71
+ pointer
72
+ };
73
+ this.nodeCheckListApiService.updateNodeCheckListItemSwitchContent(requestBody).subscribe({
74
+ error: () => {
75
+ this.moveItemInArray(this.evaluationCriteriaFormArray.controls, index, prevIndex);
76
+ this.cdRef.markForCheck();
77
+ }
78
+ });
79
+ }
80
+ onAddEvaluationCriteriaItem() {
81
+ const evaluationItemControl = this.createEvaluationFormGroup();
82
+ this.isAddButtonDisabled.set(true);
83
+ this.evaluationCriteriaFormArray.push(evaluationItemControl);
84
+ }
85
+ onSaveEvaluationCriteria(group) {
86
+ const isNew = group.isNew.value;
87
+ if (isNew) {
88
+ this.addEvaluationCriteria(group);
89
+ return;
90
+ }
91
+ this.updateEvaluationCriteria(group);
92
+ }
93
+ onCancelNewEvaluationCriteria() {
94
+ const lastIndex = this.evaluationCriteriaFormArray.length - 1;
95
+ this.isAddButtonDisabled.set(false);
96
+ this.evaluationCriteriaFormArray.removeAt(lastIndex);
97
+ }
98
+ openModalDeleteEvaluationCriteria(id) {
99
+ const content = ['DELETE_EVALUATION_CHECKLIST_ITEM_CONFIRMATION_TEXT'];
100
+ const criteria = this.findExistingEvaluationCriteria(id);
101
+ if (!criteria?.id) {
102
+ return;
103
+ }
104
+ this.loadingIds.update((ids) => ({ ...ids, [criteria.id]: true }));
105
+ this.cuiDialogService
106
+ .open(CuiDeleteModalComponent, {
107
+ data: {
108
+ title: 'DELETE_EVALUATION_CHECKLIST_ITEM',
109
+ content,
110
+ delete: () => this.nodeCheckListApiService
111
+ .deleteEvaluationCriteriaItem(this.checkListItem().id, this.assignee().id, criteria.id)
112
+ .pipe(switchMap((checkListItem) => {
113
+ const index = this.evaluationCriteriaFormArray.controls.findIndex((control) => control.value.id === id);
114
+ this.checkListBlockService.updateCheckListItem(checkListItem);
115
+ this.evaluationCriteriaFormArray.removeAt(index);
116
+ return of(null);
117
+ }))
118
+ }
119
+ })
120
+ .subscribe(() => this.completeEvaluationCriteriaDeletion(criteria));
121
+ }
122
+ completeEvaluationCriteriaDeletion(criteria) {
123
+ this.loadingIds.update((ids) => {
124
+ delete ids[criteria.id];
125
+ return { ...ids };
126
+ });
127
+ }
128
+ onCheckListActionChanged(actionId, actionContent) {
129
+ const requestData = {
130
+ nodeCheckListId: this.checkListItem().id,
131
+ assigneeActionType: 'ASSIGN',
132
+ actionId,
133
+ contentId: actionContent.id,
134
+ isEnable: actionContent.isEnable,
135
+ isRequired: actionContent.isRequired
136
+ };
137
+ this.nodeCheckListApiService.updateNodeCheckListItemActionContent(requestData).subscribe((checkListItem) => {
138
+ this.checkListBlockService.updateCheckListItem(checkListItem);
139
+ });
140
+ }
141
+ ngOnInit() {
142
+ this.initEvaluationFormValues();
143
+ }
144
+ initEvaluationFormValues() {
145
+ this.evaluationCriteriaFormArray.clear();
146
+ this.photoFormGroup.patchValue({
147
+ isEnable: this.attachmentPhotoAction().isEnable,
148
+ isRequired: this.attachmentPhotoAction().isRequired
149
+ });
150
+ this.commentFormGroup.patchValue({
151
+ isEnable: this.textAreaAction().isEnable,
152
+ isRequired: this.textAreaAction().isRequired
153
+ });
154
+ if (this.attachmentPhotoAction().isEnable) {
155
+ this.photoFormGroup.controls.isRequired.enable();
156
+ }
157
+ if (this.textAreaAction().isEnable) {
158
+ this.commentFormGroup.controls.isRequired.enable();
159
+ }
160
+ this.initActionFormSegmentsSubscriptions();
161
+ this.assignee().acceptanceCriteriaEvaluations.forEach((evaluationCriteria) => {
162
+ const evaluationItemControl = this.createEvaluationFormGroup({
163
+ isNew: false,
164
+ criteria: evaluationCriteria.criteria,
165
+ evaluation: evaluationCriteria.evaluation,
166
+ id: evaluationCriteria.id
167
+ });
168
+ this.evaluationCriteriaFormArray.push(evaluationItemControl);
169
+ });
170
+ }
171
+ initActionFormSegmentsSubscriptions() {
172
+ this.initPhotoGroupSubscription();
173
+ this.initCommentGroupSubscription();
174
+ }
175
+ initPhotoGroupSubscription() {
176
+ this.photoFormGroup.valueChanges.pipe(takeUntil(this.isAvailableObserver)).subscribe((value) => {
177
+ if (!value.isEnable) {
178
+ this.photoFormGroup.get('isRequired')?.setValue(false, { emitEvent: false });
179
+ this.photoFormGroup.get('isRequired')?.disable({ emitEvent: false });
180
+ this.onCheckListActionChanged(this.assignee().id, {
181
+ id: this.attachmentPhotoAction().id,
182
+ contentActionType: this.attachmentPhotoAction().contentActionType,
183
+ ...this.photoFormGroup.getRawValue()
184
+ });
185
+ return;
186
+ }
187
+ this.photoFormGroup.get('isRequired')?.enable({ emitEvent: false });
188
+ this.onCheckListActionChanged(this.assignee().id, {
189
+ id: this.attachmentPhotoAction().id,
190
+ contentActionType: this.attachmentPhotoAction().contentActionType,
191
+ ...this.photoFormGroup.getRawValue()
192
+ });
193
+ });
194
+ }
195
+ initCommentGroupSubscription() {
196
+ this.commentFormGroup.valueChanges.pipe(takeUntil(this.isAvailableObserver)).subscribe((value) => {
197
+ if (!value.isEnable) {
198
+ this.commentFormGroup.get('isRequired')?.setValue(false, { emitEvent: false });
199
+ this.commentFormGroup.get('isRequired')?.disable({ emitEvent: false });
200
+ this.onCheckListActionChanged(this.assignee().id, {
201
+ id: this.textAreaAction().id,
202
+ contentActionType: this.textAreaAction().contentActionType,
203
+ ...this.commentFormGroup.getRawValue()
204
+ });
205
+ return;
206
+ }
207
+ this.commentFormGroup.get('isRequired')?.enable({ emitEvent: false });
208
+ this.onCheckListActionChanged(this.assignee().id, {
209
+ id: this.textAreaAction().id,
210
+ contentActionType: this.textAreaAction().contentActionType,
211
+ ...this.commentFormGroup.getRawValue()
212
+ });
213
+ });
214
+ }
215
+ updateEvaluationCriteria(group) {
216
+ const evaluation = group.evaluation.value;
217
+ const criteria = group.criteria.value;
218
+ const id = group.id.value;
219
+ this.nodeCheckListApiService
220
+ .updateEvaluationCriteriaItem(this.checkListItem().id, this.assignee().id, id, criteria, evaluation)
221
+ .subscribe((checkListItem) => this.checkListBlockService.updateCheckListItem(checkListItem));
222
+ }
223
+ addEvaluationCriteria(group) {
224
+ const evaluation = group.evaluation.value;
225
+ const criteria = group.criteria.value;
226
+ this.nodeCheckListApiService
227
+ .addEvaluationCriteriaItem(this.checkListItem().id, this.assignee().id, criteria, evaluation)
228
+ .pipe(finalize(() => this.isAddButtonDisabled.set(false)))
229
+ .subscribe((checkListItem) => this.updateCreatedEvaluationCriteria(checkListItem));
230
+ }
231
+ updateCreatedEvaluationCriteria(checkListItem) {
232
+ const acceptanceCriteriaEvaluations = checkListItem.content.actionsAssignee[0].acceptanceCriteriaEvaluations;
233
+ const id = acceptanceCriteriaEvaluations.at(-1)?.id;
234
+ const control = this.evaluationCriteriaFormArray.controls.at(-1)?.getRawValue();
235
+ const createdControl = this.createEvaluationFormGroup({ ...control, id, isNew: false });
236
+ this.evaluationCriteriaFormArray.removeAt(-1);
237
+ this.evaluationCriteriaFormArray.push(createdControl);
238
+ this.checkListBlockService.updateCheckListItem(checkListItem);
239
+ }
240
+ createEvaluationFormGroup({ id, criteria = '', evaluation = null, isNew = true } = {}) {
241
+ return this.nonNullableFormBuilder.group({
242
+ id: [id],
243
+ criteria: [criteria, cuiCreateDefaultValidators({ maxLength: 500 })],
244
+ evaluation: [evaluation, [Validators.required]],
245
+ isNew: [isNew]
246
+ });
247
+ }
248
+ findExistingEvaluationCriteria(id) {
249
+ return (this.assignee().acceptanceCriteriaEvaluations.find((evaluationCriteria) => evaluationCriteria.id === id) || null);
250
+ }
251
+ moveItemInArray(array, fromIndex, toIndex) {
252
+ if (fromIndex === toIndex) {
253
+ return;
254
+ }
255
+ const item = array[fromIndex];
256
+ array.splice(fromIndex, 1);
257
+ array.splice(toIndex, 0, item);
258
+ }
259
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCheckListBlockListItemEvaluationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
260
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiCheckListBlockListItemEvaluationComponent, isStandalone: true, selector: "cui-checklist-block-list-item-evaluation", inputs: { checkListItem: { classPropertyName: "checkListItem", publicName: "checkListItem", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <div class=\"action\">\n <div class=\"action__inputs-container\">\n <div\n class=\"action__input\"\n [formGroup]=\"photoFormGroup\"\n >\n <label cuiLabel>\n <input\n cuiCheckbox\n type=\"checkbox\"\n formControlName=\"isEnable\"\n />\n {{ t('PHOTO') }}\n </label>\n <label cuiLabel>\n <input\n cuiToggle\n type=\"checkbox\"\n formControlName=\"isRequired\"\n />\n {{ t('REQUIRED') }}\n </label>\n </div>\n <div\n class=\"action__input\"\n [formGroup]=\"commentFormGroup\"\n >\n <label cuiLabel>\n <input\n cuiCheckbox\n type=\"checkbox\"\n formControlName=\"isEnable\"\n />\n {{ t('COMMENT') }}\n </label>\n <label cuiLabel>\n <input\n cuiToggle\n type=\"checkbox\"\n formControlName=\"isRequired\"\n />\n {{ t('REQUIRED') }}\n </label>\n </div>\n </div>\n <div class=\"action__criteria-title-container\">\n <label\n cuiLabel\n [isRequired]=\"true\"\n for=\"evaluationCriteria\"\n >\n {{ t('EVALUATION_CRITERIA') }}\n </label>\n <p class=\"action__criteria-subtitle\">{{ t('EACH_EVALUATION_CRITERION_SHOULD_BE') }}</p>\n </div>\n <ul\n cuiDragList\n class=\"list\"\n >\n @for (control of evaluationCriteriaFormArray.controls; track control.controls['id']; let index = $index) {\n <li\n cuiChecklistBlockListItemEvaluationCriteria\n [index]=\"index + 1\"\n cuiDragDrop\n [disabled]=\"isAddButtonDisabled()\"\n (elementDragged)=\"onDrop($event)\"\n [criteriaGroup]=\"control\"\n [evaluationCriteriaFormArray]=\"evaluationCriteriaFormArray\"\n [loadingIds]=\"loadingIds()\"\n (saveClicked)=\"onSaveEvaluationCriteria($event)\"\n (cancelClicked)=\"onCancelNewEvaluationCriteria()\"\n (deleteClicked)=\"openModalDeleteEvaluationCriteria($event)\"\n ></li>\n } @empty {\n <li\n cuiEmptyState\n [subtitle]=\"t('NO_EVALUATION_CRITERIA_TO_VIEW')\"\n ></li>\n }\n </ul>\n <div class=\"action__footer\">\n <button\n cuiButton\n size=\"xxs\"\n appearance=\"flat\"\n icon=\"cuiIconPlus\"\n type=\"button\"\n [disabled]=\"isAddButtonDisabled()\"\n (click)=\"onAddEvaluationCriteriaItem()\"\n >\n {{ t('NEW_OPTION') }}\n </button>\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;border-radius:inherit}.action{padding:15px;display:flex;flex-direction:column;border-radius:0 0 8px 8px;gap:16px;background:var(--cui-base-10)}.action__criteria-title-container{display:flex;flex-direction:column;gap:4px}.action__criteria-subtitle{font-weight:400;font-size:14px;line-height:20px;color:var(--cui-base-500)}.action__inputs-container{display:flex;flex-direction:column;gap:8px;background:var(--cui-base-0)}.action__input{padding-right:11px;padding-left:11px;display:flex;height:48px;flex-direction:row;justify-content:space-between;border:1px solid var(--cui-base-200);border-radius:8px}.action__criteria{display:flex;flex-direction:row;align-items:center;gap:12px}.action__criteria-index{padding:8px;font-weight:500;font-size:14px;line-height:20px;display:flex;width:44px;flex-direction:row;justify-content:center;align-items:center;border-radius:8px;background-color:var(--cui-base-0)}.action__criteria-input{flex:1;background:var(--cui-base-0)}.list{display:flex;flex-direction:column;gap:8px}\n"], dependencies: [{ kind: "component", type: CuiCheckListBlockListItemEvaluationCriteriaComponent, selector: "li[cuiChecklistBlockListItemEvaluationCriteria]", inputs: ["loadingIds", "index", "criteriaGroup", "evaluationCriteriaFormArray"], outputs: ["saveClicked", "deleteClicked", "cancelClicked"] }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: i1.CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "ngmodule", type: CuiCheckboxModule }, { kind: "component", type: i2.CuiCheckboxComponent, selector: "input[type=\"checkbox\"][cuiCheckbox]" }, { kind: "ngmodule", type: CuiContextMenuModule }, { kind: "ngmodule", type: CuiHintModule }, { kind: "ngmodule", type: CuiInputModule }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "component", type: i3.CuiLabelComponent, selector: "label[cuiLabel]", inputs: ["isRequired"] }, { kind: "ngmodule", type: CuiTextareaModule }, { kind: "ngmodule", type: CuiTextFieldControllerModule }, { kind: "ngmodule", type: CuiToggleModule }, { kind: "component", type: i4.CuiToggleComponent, selector: "input[type=\"checkbox\"][cuiToggle]" }, { kind: "component", type: CuiEmptyStateComponent, selector: "cui-empty-state, [cuiEmptyState]", inputs: ["title", "subtitle"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "directive", type: CuiDragDropDirective, selector: "[cuiDragDrop]", inputs: ["disabled"], outputs: ["elementDragged"] }, { kind: "directive", type: CuiDragListDirective, selector: "[cuiDragList]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
261
+ }
262
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCheckListBlockListItemEvaluationComponent, decorators: [{
263
+ type: Component,
264
+ args: [{ selector: 'cui-checklist-block-list-item-evaluation', imports: [
265
+ CuiCheckListBlockListItemEvaluationCriteriaComponent,
266
+ CuiButtonModule,
267
+ CuiCheckboxModule,
268
+ CuiContextMenuModule,
269
+ CuiHintModule,
270
+ CuiInputModule,
271
+ CuiLabelModule,
272
+ CuiTextareaModule,
273
+ CuiTextFieldControllerModule,
274
+ CuiToggleModule,
275
+ CuiEmptyStateComponent,
276
+ ReactiveFormsModule,
277
+ TranslocoDirective,
278
+ CuiDragDropDirective,
279
+ CuiDragListDirective
280
+ ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *transloco=\"let t\">\n <div class=\"action\">\n <div class=\"action__inputs-container\">\n <div\n class=\"action__input\"\n [formGroup]=\"photoFormGroup\"\n >\n <label cuiLabel>\n <input\n cuiCheckbox\n type=\"checkbox\"\n formControlName=\"isEnable\"\n />\n {{ t('PHOTO') }}\n </label>\n <label cuiLabel>\n <input\n cuiToggle\n type=\"checkbox\"\n formControlName=\"isRequired\"\n />\n {{ t('REQUIRED') }}\n </label>\n </div>\n <div\n class=\"action__input\"\n [formGroup]=\"commentFormGroup\"\n >\n <label cuiLabel>\n <input\n cuiCheckbox\n type=\"checkbox\"\n formControlName=\"isEnable\"\n />\n {{ t('COMMENT') }}\n </label>\n <label cuiLabel>\n <input\n cuiToggle\n type=\"checkbox\"\n formControlName=\"isRequired\"\n />\n {{ t('REQUIRED') }}\n </label>\n </div>\n </div>\n <div class=\"action__criteria-title-container\">\n <label\n cuiLabel\n [isRequired]=\"true\"\n for=\"evaluationCriteria\"\n >\n {{ t('EVALUATION_CRITERIA') }}\n </label>\n <p class=\"action__criteria-subtitle\">{{ t('EACH_EVALUATION_CRITERION_SHOULD_BE') }}</p>\n </div>\n <ul\n cuiDragList\n class=\"list\"\n >\n @for (control of evaluationCriteriaFormArray.controls; track control.controls['id']; let index = $index) {\n <li\n cuiChecklistBlockListItemEvaluationCriteria\n [index]=\"index + 1\"\n cuiDragDrop\n [disabled]=\"isAddButtonDisabled()\"\n (elementDragged)=\"onDrop($event)\"\n [criteriaGroup]=\"control\"\n [evaluationCriteriaFormArray]=\"evaluationCriteriaFormArray\"\n [loadingIds]=\"loadingIds()\"\n (saveClicked)=\"onSaveEvaluationCriteria($event)\"\n (cancelClicked)=\"onCancelNewEvaluationCriteria()\"\n (deleteClicked)=\"openModalDeleteEvaluationCriteria($event)\"\n ></li>\n } @empty {\n <li\n cuiEmptyState\n [subtitle]=\"t('NO_EVALUATION_CRITERIA_TO_VIEW')\"\n ></li>\n }\n </ul>\n <div class=\"action__footer\">\n <button\n cuiButton\n size=\"xxs\"\n appearance=\"flat\"\n icon=\"cuiIconPlus\"\n type=\"button\"\n [disabled]=\"isAddButtonDisabled()\"\n (click)=\"onAddEvaluationCriteriaItem()\"\n >\n {{ t('NEW_OPTION') }}\n </button>\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;border-radius:inherit}.action{padding:15px;display:flex;flex-direction:column;border-radius:0 0 8px 8px;gap:16px;background:var(--cui-base-10)}.action__criteria-title-container{display:flex;flex-direction:column;gap:4px}.action__criteria-subtitle{font-weight:400;font-size:14px;line-height:20px;color:var(--cui-base-500)}.action__inputs-container{display:flex;flex-direction:column;gap:8px;background:var(--cui-base-0)}.action__input{padding-right:11px;padding-left:11px;display:flex;height:48px;flex-direction:row;justify-content:space-between;border:1px solid var(--cui-base-200);border-radius:8px}.action__criteria{display:flex;flex-direction:row;align-items:center;gap:12px}.action__criteria-index{padding:8px;font-weight:500;font-size:14px;line-height:20px;display:flex;width:44px;flex-direction:row;justify-content:center;align-items:center;border-radius:8px;background-color:var(--cui-base-0)}.action__criteria-input{flex:1;background:var(--cui-base-0)}.list{display:flex;flex-direction:column;gap:8px}\n"] }]
281
+ }] });
282
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jaGVja2xpc3QtYmxvY2svY29tcG9uZW50cy9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWV2YWx1YXRpb24vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jaGVja2xpc3QtYmxvY2svY29tcG9uZW50cy9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWV2YWx1YXRpb24vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RixPQUFPLEVBQWdDLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25FLE9BQU8sRUFDSCwwQkFBMEIsRUFPN0IsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUFFLG9EQUFvRCxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFD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RUFBRSxPQUFlO1FBQ3JFLElBQUksU0FBUyxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTlCLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNCLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDOytHQXZUUSw0Q0FBNEM7bUdBQTVDLDRDQUE0QywrUENoRXpELDA4R0FnR0Esc2xDRHJEUSxvREFBb0Qsd09BQ3BELGVBQWUsbU9BQ2YsaUJBQWlCLHVJQUNqQixvQkFBb0IsOEJBQ3BCLGFBQWEsOEJBQ2IsY0FBYyw4QkFDZCxjQUFjLHNJQUNkLGlCQUFpQiw4QkFDakIsNEJBQTRCLDhCQUM1QixlQUFlLG9JQUNmLHNCQUFzQiwyR0FDdEIsbUJBQW1CLHF3QkFDbkIsa0JBQWtCLGdNQUNsQixvQkFBb0IsNkdBQ3BCLG9CQUFvQjs7NEZBT2YsNENBQTRDO2tCQXhCeEQsU0FBUzsrQkFDSSwwQ0FBMEMsV0FDM0M7d0JBQ0wsb0RBQW9EO3dCQUNwRCxlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLDRCQUE0Qjt3QkFDNUIsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLG9CQUFvQjtxQkFDdkIsY0FDVyxJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTm9uTnVsbGFibGVGb3JtQnVpbGRlciwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEN1aU51bGxhYmxlLCBDdWlEcmFnRHJvcERhdGEsIEN1aURyYWdEcm9wRGlyZWN0aXZlLCBDdWlEcmFnTGlzdERpcmVjdGl2ZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQgeyBUcmFuc2xvY29EaXJlY3RpdmUgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xuaW1wb3J0IHsgZmluYWxpemUsIG9mLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBDdWlOb2RlQ2hlY2tsaXN0QXBpU2VydmljZSxcbiAgICBOb2RlQ2hlY2tMaXN0RXZhbHVhdGlvbkNyaXRlcmlhLFxuICAgIE5vZGVDaGVja0xpc3RFdmFsdWF0aW9uSXRlbUNvbnRlbnQsXG4gICAgTm9kZUNoZWNrTGlzdEl0ZW0sXG4gICAgTm9kZUNoZWNrTGlzdEl0ZW1Db250ZW50QWN0aW9uLFxuICAgIE5vZGVDaGVja0xpc3RJdGVtU3dpdGNoQ29udGVudFBvaW50ZXIsXG4gICAgTm9kZUNoZWNrTGlzdEl0ZW1Td2l0Y2hDb250ZW50UmVxdWVzdFBhcmFtc1xufSBmcm9tICdAY3VieS11aS9hcGknO1xuXG5pbXBvcnQgeyBDdWlDaGVja0xpc3RCbG9ja0xpc3RJdGVtRXZhbHVhdGlvbkNyaXRlcmlhQ29tcG9uZW50IH0gZnJvbSAnLi4vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhJztcbmltcG9ydCB7XG4gICAgQ3VpQnV0dG9uTW9kdWxlLFxuICAgIEN1aUNoZWNrYm94TW9kdWxlLFxuICAgIEN1aUNvbnRleHRNZW51TW9kdWxlLFxuICAgIEN1aURpYWxvZ1NlcnZpY2UsXG4gICAgQ3VpSGludE1vZHVsZSxcbiAgICBDdWlJbnB1dE1vZHVsZSxcbiAgICBDdWlMYWJlbE1vZHVsZSxcbiAgICBDdWlUZXh0YXJlYU1vZHVsZSxcbiAgICBDdWlUb2dnbGVNb2R1bGUsXG4gICAgQ3VpRW1wdHlTdGF0ZUNvbXBvbmVudFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzJztcbmltcG9ydCB7IEN1aURlbGV0ZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vaW5kZXgnO1xuaW1wb3J0IHsgQ3VpVGV4dEZpZWxkQ29udHJvbGxlck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgY3VpQ3JlYXRlRGVmYXVsdFZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlscyc7XG5cbmltcG9ydCB0eXBlIHtcbiAgICBDdWlFdmFsdWF0aW9uQ3JpdGVyaWFFbGVtZW50RGF0YSxcbiAgICBDdWlFdmFsdWF0aW9uQ3JpdGVyaWFHcm91cFxufSBmcm9tICcuL2NoZWNrbGlzdC1ibG9jay1saXN0LWl0ZW0tZXZhbHVhdGlvbi5vcHRpb25zJztcbmltcG9ydCB7IEN1aUNoZWNrTGlzdEJsb2NrU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjdWktY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uJyxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEN1aUNoZWNrTGlzdEJsb2NrTGlzdEl0ZW1FdmFsdWF0aW9uQ3JpdGVyaWFDb21wb25lbnQsXG4gICAgICAgIEN1aUJ1dHRvbk1vZHVsZSxcbiAgICAgICAgQ3VpQ2hlY2tib3hNb2R1bGUsXG4gICAgICAgIEN1aUNvbnRleHRNZW51TW9kdWxlLFxuICAgICAgICBDdWlIaW50TW9kdWxlLFxuICAgICAgICBDdWlJbnB1dE1vZHVsZSxcbiAgICAgICAgQ3VpTGFiZWxNb2R1bGUsXG4gICAgICAgIEN1aVRleHRhcmVhTW9kdWxlLFxuICAgICAgICBDdWlUZXh0RmllbGRDb250cm9sbGVyTW9kdWxlLFxuICAgICAgICBDdWlUb2dnbGVNb2R1bGUsXG4gICAgICAgIEN1aUVtcHR5U3RhdGVDb21wb25lbnQsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFRyYW5zbG9jb0RpcmVjdGl2ZSxcbiAgICAgICAgQ3VpRHJhZ0Ryb3BEaXJlY3RpdmUsXG4gICAgICAgIEN1aURyYWdMaXN0RGlyZWN0aXZlXG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWV2YWx1YXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWV2YWx1YXRpb24uY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEN1aUNoZWNrTGlzdEJsb2NrTGlzdEl0ZW1FdmFsdWF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5vbk51bGxhYmxlRm9ybUJ1aWxkZXIgPSBpbmplY3QoTm9uTnVsbGFibGVGb3JtQnVpbGRlcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBub2RlQ2hlY2tMaXN0QXBpU2VydmljZSA9IGluamVjdChDdWlOb2RlQ2hlY2tsaXN0QXBpU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGVja0xpc3RCbG9ja1NlcnZpY2UgPSBpbmplY3QoQ3VpQ2hlY2tMaXN0QmxvY2tTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aURpYWxvZ1NlcnZpY2UgPSBpbmplY3QoQ3VpRGlhbG9nU2VydmljZSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzQXZhaWxhYmxlT2JzZXJ2ZXIgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHBob3RvRm9ybUdyb3VwID0gdGhpcy5ub25OdWxsYWJsZUZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgaXNFbmFibGU6IGZhbHNlLFxuICAgICAgICBpc1JlcXVpcmVkOiB7XG4gICAgICAgICAgICB2YWx1ZTogZmFsc2UsXG4gICAgICAgICAgICBkaXNhYmxlZDogdHJ1ZVxuICAgICAgICB9XG4gICAgfSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbW1lbnRGb3JtR3JvdXAgPSB0aGlzLm5vbk51bGxhYmxlRm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICBpc0VuYWJsZTogZmFsc2UsXG4gICAgICAgIGlzUmVxdWlyZWQ6IHtcbiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcbiAgICAgICAgICAgIGRpc2FibGVkOiB0cnVlXG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXZhbHVhdGlvbkNyaXRlcmlhRm9ybUFycmF5ID0gdGhpcy5ub25OdWxsYWJsZUZvcm1CdWlsZGVyLmFycmF5PEZvcm1Hcm91cD4oW10pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGxvYWRpbmdJZHMgPSBzaWduYWw8UmVjb3JkPHN0cmluZywgYm9vbGVhbj4+KHt9KTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNBZGRCdXR0b25EaXNhYmxlZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGFzc2lnbmVlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jaGVja0xpc3RJdGVtKCkuY29udGVudC5hY3Rpb25zQXNzaWduZWUhWzBdKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXR0YWNobWVudFBob3RvQWN0aW9uID0gY29tcHV0ZWQ8Tm9kZUNoZWNrTGlzdEl0ZW1Db250ZW50QWN0aW9uPihcbiAgICAgICAgKCkgPT4gdGhpcy5hc3NpZ25lZSgpLmFjdGlvbnMuZmluZCgoY29udGVudEFjdGlvbikgPT4gY29udGVudEFjdGlvbi5jb250ZW50QWN0aW9uVHlwZSA9PT0gJ0FUVEFDSE1FTlRfUEhPVE8nKSFcbiAgICApO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB0ZXh0QXJlYUFjdGlvbiA9IGNvbXB1dGVkPE5vZGVDaGVja0xpc3RJdGVtQ29udGVudEFjdGlvbj4oXG4gICAgICAgICgpID0+IHRoaXMuYXNzaWduZWUoKS5hY3Rpb25zLmZpbmQoKGNvbnRlbnRBY3Rpb24pID0+IGNvbnRlbnRBY3Rpb24uY29udGVudEFjdGlvblR5cGUgPT09ICdURVhUX0FSRUEnKSFcbiAgICApO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGNoZWNrTGlzdEl0ZW0gPSBpbnB1dC5yZXF1aXJlZDxOb2RlQ2hlY2tMaXN0SXRlbTxOb2RlQ2hlY2tMaXN0RXZhbHVhdGlvbkl0ZW1Db250ZW50Pj4oKTtcblxuICAgIHByb3RlY3RlZCBnZXRQb2ludGVyKGN1cnJlbnRJbmRleDogbnVtYmVyKTogTm9kZUNoZWNrTGlzdEl0ZW1Td2l0Y2hDb250ZW50UG9pbnRlciB7XG4gICAgICAgIHJldHVybiBjdXJyZW50SW5kZXggPT09IDBcbiAgICAgICAgICAgID8gTm9kZUNoZWNrTGlzdEl0ZW1Td2l0Y2hDb250ZW50UG9pbnRlci5CRUZPUkVcbiAgICAgICAgICAgIDogTm9kZUNoZWNrTGlzdEl0ZW1Td2l0Y2hDb250ZW50UG9pbnRlci5BRlRFUjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0VGFyZ2V0SW5kZXgoY3VycmVudEluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gY3VycmVudEluZGV4ID09PSAwID8gMSA6IGN1cnJlbnRJbmRleCAtIDE7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRHJvcChldmVudDogQ3VpRHJhZ0Ryb3BEYXRhKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgcHJldkluZGV4LCBpbmRleCB9ID0gZXZlbnQ7XG5cbiAgICAgICAgaWYgKHByZXZJbmRleCA9PT0gaW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubW92ZUl0ZW1JbkFycmF5KHRoaXMuZXZhbHVhdGlvbkNyaXRlcmlhRm9ybUFycmF5LmNvbnRyb2xzLCBwcmV2SW5kZXgsIGluZGV4KTtcbiAgICAgICAgY29uc3QgbW92aW5nRWxlbWVudElkOiBzdHJpbmcgPSB0aGlzLmV2YWx1YXRpb25Dcml0ZXJpYUZvcm1BcnJheS5hdChpbmRleCkudmFsdWUuaWQ7XG4gICAgICAgIGNvbnN0IHRhcmdldEl0ZW1JZDogc3RyaW5nID0gdGhpcy5ldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkuYXQodGhpcy5nZXRUYXJnZXRJbmRleChpbmRleCkpLnZhbHVlLmlkO1xuICAgICAgICBjb25zdCBwb2ludGVyOiBOb2RlQ2hlY2tMaXN0SXRlbVN3aXRjaENvbnRlbnRQb2ludGVyID0gdGhpcy5nZXRQb2ludGVyKGluZGV4KTtcblxuICAgICAgICBjb25zdCByZXF1ZXN0Qm9keTogTm9kZUNoZWNrTGlzdEl0ZW1Td2l0Y2hDb250ZW50UmVxdWVzdFBhcmFtcyA9IHtcbiAgICAgICAgICAgIG5vZGVDaGVja0xpc3RJZDogdGhpcy5jaGVja0xpc3RJdGVtKCkuaWQsXG4gICAgICAgICAgICBsaXN0RXZhbHVhdGlvbklkOiB0aGlzLmFzc2lnbmVlKCkuaWQsXG4gICAgICAgICAgICBtb3ZpbmdFbGVtZW50SWQsXG4gICAgICAgICAgICB0YXJnZXRJdGVtSWQsXG4gICAgICAgICAgICBwb2ludGVyXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5ub2RlQ2hlY2tMaXN0QXBpU2VydmljZS51cGRhdGVOb2RlQ2hlY2tMaXN0SXRlbVN3aXRjaENvbnRlbnQocmVxdWVzdEJvZHkpLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubW92ZUl0ZW1JbkFycmF5KHRoaXMuZXZhbHVhdGlvbkNyaXRlcmlhRm9ybUFycmF5LmNvbnRyb2xzLCBpbmRleCwgcHJldkluZGV4KTtcbiAgICAgICAgICAgICAgICB0aGlzLmNkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25BZGRFdmFsdWF0aW9uQ3JpdGVyaWFJdGVtKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBldmFsdWF0aW9uSXRlbUNvbnRyb2wgPSB0aGlzLmNyZWF0ZUV2YWx1YXRpb25Gb3JtR3JvdXAoKTtcblxuICAgICAgICB0aGlzLmlzQWRkQnV0dG9uRGlzYWJsZWQuc2V0KHRydWUpO1xuICAgICAgICB0aGlzLmV2YWx1YXRpb25Dcml0ZXJpYUZvcm1BcnJheS5wdXNoKGV2YWx1YXRpb25JdGVtQ29udHJvbCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uU2F2ZUV2YWx1YXRpb25Dcml0ZXJpYShncm91cDogQ3VpRXZhbHVhdGlvbkNyaXRlcmlhR3JvdXApOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXNOZXcgPSBncm91cC5pc05ldy52YWx1ZTtcblxuICAgICAgICBpZiAoaXNOZXcpIHtcbiAgICAgICAgICAgIHRoaXMuYWRkRXZhbHVhdGlvbkNyaXRlcmlhKGdyb3VwKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVFdmFsdWF0aW9uQ3JpdGVyaWEoZ3JvdXApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkNhbmNlbE5ld0V2YWx1YXRpb25Dcml0ZXJpYSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbGFzdEluZGV4ID0gdGhpcy5ldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkubGVuZ3RoIC0gMTtcblxuICAgICAgICB0aGlzLmlzQWRkQnV0dG9uRGlzYWJsZWQuc2V0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5ldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkucmVtb3ZlQXQobGFzdEluZGV4KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3Blbk1vZGFsRGVsZXRlRXZhbHVhdGlvbkNyaXRlcmlhKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29udGVudCA9IFsnREVMRVRFX0VWQUxVQVRJT05fQ0hFQ0tMSVNUX0lURU1fQ09ORklSTUFUSU9OX1RFWFQnXTtcbiAgICAgICAgY29uc3QgY3JpdGVyaWEgPSB0aGlzLmZpbmRFeGlzdGluZ0V2YWx1YXRpb25Dcml0ZXJpYShpZCk7XG5cbiAgICAgICAgaWYgKCFjcml0ZXJpYT8uaWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubG9hZGluZ0lkcy51cGRhdGUoKGlkcykgPT4gKHsgLi4uaWRzLCBbY3JpdGVyaWEuaWRdOiB0cnVlIH0pKTtcbiAgICAgICAgdGhpcy5jdWlEaWFsb2dTZXJ2aWNlXG4gICAgICAgICAgICAub3BlbihDdWlEZWxldGVNb2RhbENvbXBvbmVudCwge1xuICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdERUxFVEVfRVZBTFVBVElPTl9DSEVDS0xJU1RfSVRFTScsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZTogKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubm9kZUNoZWNrTGlzdEFwaVNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZGVsZXRlRXZhbHVhdGlvbkNyaXRlcmlhSXRlbSh0aGlzLmNoZWNrTGlzdEl0ZW0oKS5pZCwgdGhpcy5hc3NpZ25lZSgpLmlkLCBjcml0ZXJpYS5pZClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKChjaGVja0xpc3RJdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZXZhbHVhdGlvbkNyaXRlcmlhRm9ybUFycmF5LmNvbnRyb2xzLmZpbmRJbmRleChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29udHJvbCkgPT4gY29udHJvbC52YWx1ZS5pZCA9PT0gaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tMaXN0QmxvY2tTZXJ2aWNlLnVwZGF0ZUNoZWNrTGlzdEl0ZW0oY2hlY2tMaXN0SXRlbSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmV2YWx1YXRpb25Dcml0ZXJpYUZvcm1BcnJheS5yZW1vdmVBdChpbmRleCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jb21wbGV0ZUV2YWx1YXRpb25Dcml0ZXJpYURlbGV0aW9uKGNyaXRlcmlhKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNvbXBsZXRlRXZhbHVhdGlvbkNyaXRlcmlhRGVsZXRpb24oY3JpdGVyaWE6IE5vZGVDaGVja0xpc3RFdmFsdWF0aW9uQ3JpdGVyaWEpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nSWRzLnVwZGF0ZSgoaWRzKSA9PiB7XG4gICAgICAgICAgICBkZWxldGUgaWRzW2NyaXRlcmlhLmlkXTtcblxuICAgICAgICAgICAgcmV0dXJuIHsgLi4uaWRzIH07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25DaGVja0xpc3RBY3Rpb25DaGFuZ2VkKGFjdGlvbklkOiBzdHJpbmcsIGFjdGlvbkNvbnRlbnQ6IE5vZGVDaGVja0xpc3RJdGVtQ29udGVudEFjdGlvbik6IHZvaWQge1xuICAgICAgICBjb25zdCByZXF1ZXN0RGF0YSA9IHtcbiAgICAgICAgICAgIG5vZGVDaGVja0xpc3RJZDogdGhpcy5jaGVja0xpc3RJdGVtKCkuaWQsXG4gICAgICAgICAgICBhc3NpZ25lZUFjdGlvblR5cGU6ICdBU1NJR04nLFxuICAgICAgICAgICAgYWN0aW9uSWQsXG4gICAgICAgICAgICBjb250ZW50SWQ6IGFjdGlvbkNvbnRlbnQuaWQsXG4gICAgICAgICAgICBpc0VuYWJsZTogYWN0aW9uQ29udGVudC5pc0VuYWJsZSxcbiAgICAgICAgICAgIGlzUmVxdWlyZWQ6IGFjdGlvbkNvbnRlbnQuaXNSZXF1aXJlZFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMubm9kZUNoZWNrTGlzdEFwaVNlcnZpY2UudXBkYXRlTm9kZUNoZWNrTGlzdEl0ZW1BY3Rpb25Db250ZW50KHJlcXVlc3REYXRhKS5zdWJzY3JpYmUoKGNoZWNrTGlzdEl0ZW0pID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tMaXN0QmxvY2tTZXJ2aWNlLnVwZGF0ZUNoZWNrTGlzdEl0ZW0oY2hlY2tMaXN0SXRlbSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0RXZhbHVhdGlvbkZvcm1WYWx1ZXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRFdmFsdWF0aW9uRm9ybVZhbHVlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5waG90b0Zvcm1Hcm91cC5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIGlzRW5hYmxlOiB0aGlzLmF0dGFjaG1lbnRQaG90b0FjdGlvbigpLmlzRW5hYmxlLFxuICAgICAgICAgICAgaXNSZXF1aXJlZDogdGhpcy5hdHRhY2htZW50UGhvdG9BY3Rpb24oKS5pc1JlcXVpcmVkXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNvbW1lbnRGb3JtR3JvdXAucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgICBpc0VuYWJsZTogdGhpcy50ZXh0QXJlYUFjdGlvbigpLmlzRW5hYmxlLFxuICAgICAgICAgICAgaXNSZXF1aXJlZDogdGhpcy50ZXh0QXJlYUFjdGlvbigpLmlzUmVxdWlyZWRcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuYXR0YWNobWVudFBob3RvQWN0aW9uKCkuaXNFbmFibGUpIHtcbiAgICAgICAgICAgIHRoaXMucGhvdG9Gb3JtR3JvdXAuY29udHJvbHMuaXNSZXF1aXJlZC5lbmFibGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnRleHRBcmVhQWN0aW9uKCkuaXNFbmFibGUpIHtcbiAgICAgICAgICAgIHRoaXMuY29tbWVudEZvcm1Hcm91cC5jb250cm9scy5pc1JlcXVpcmVkLmVuYWJsZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbml0QWN0aW9uRm9ybVNlZ21lbnRzU3Vic2NyaXB0aW9ucygpO1xuXG4gICAgICAgIHRoaXMuYXNzaWduZWUoKS5hY2NlcHRhbmNlQ3JpdGVyaWFFdmFsdWF0aW9ucy5mb3JFYWNoKChldmFsdWF0aW9uQ3JpdGVyaWE6IE5vZGVDaGVja0xpc3RFdmFsdWF0aW9uQ3JpdGVyaWEpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGV2YWx1YXRpb25JdGVtQ29udHJvbCA9IHRoaXMuY3JlYXRlRXZhbHVhdGlvbkZvcm1Hcm91cCh7XG4gICAgICAgICAgICAgICAgaXNOZXc6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGNyaXRlcmlhOiBldmFsdWF0aW9uQ3JpdGVyaWEuY3JpdGVyaWEsXG4gICAgICAgICAgICAgICAgZXZhbHVhdGlvbjogZXZhbHVhdGlvbkNyaXRlcmlhLmV2YWx1YXRpb24sXG4gICAgICAgICAgICAgICAgaWQ6IGV2YWx1YXRpb25Dcml0ZXJpYS5pZFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuZXZhbHVhdGlvbkNyaXRlcmlhRm9ybUFycmF5LnB1c2goZXZhbHVhdGlvbkl0ZW1Db250cm9sKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0QWN0aW9uRm9ybVNlZ21lbnRzU3Vic2NyaXB0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0UGhvdG9Hcm91cFN1YnNjcmlwdGlvbigpO1xuICAgICAgICB0aGlzLmluaXRDb21tZW50R3JvdXBTdWJzY3JpcHRpb24oKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRQaG90b0dyb3VwU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBob3RvRm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmlzQXZhaWxhYmxlT2JzZXJ2ZXIpKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXZhbHVlLmlzRW5hYmxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5waG90b0Zvcm1Hcm91cC5nZXQoJ2lzUmVxdWlyZWQnKT8uc2V0VmFsdWUoZmFsc2UsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLnBob3RvRm9ybUdyb3VwLmdldCgnaXNSZXF1aXJlZCcpPy5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hlY2tMaXN0QWN0aW9uQ2hhbmdlZCh0aGlzLmFzc2lnbmVlKCkuaWQsIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHRoaXMuYXR0YWNobWVudFBob3RvQWN0aW9uKCkuaWQsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRBY3Rpb25UeXBlOiB0aGlzLmF0dGFjaG1lbnRQaG90b0FjdGlvbigpLmNvbnRlbnRBY3Rpb25UeXBlLFxuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnBob3RvRm9ybUdyb3VwLmdldFJhd1ZhbHVlKClcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5waG90b0Zvcm1Hcm91cC5nZXQoJ2lzUmVxdWlyZWQnKT8uZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgIHRoaXMub25DaGVja0xpc3RBY3Rpb25DaGFuZ2VkKHRoaXMuYXNzaWduZWUoKS5pZCwge1xuICAgICAgICAgICAgICAgIGlkOiB0aGlzLmF0dGFjaG1lbnRQaG90b0FjdGlvbigpLmlkLFxuICAgICAgICAgICAgICAgIGNvbnRlbnRBY3Rpb25UeXBlOiB0aGlzLmF0dGFjaG1lbnRQaG90b0FjdGlvbigpLmNvbnRlbnRBY3Rpb25UeXBlLFxuICAgICAgICAgICAgICAgIC4uLnRoaXMucGhvdG9Gb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdENvbW1lbnRHcm91cFN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb21tZW50Rm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmlzQXZhaWxhYmxlT2JzZXJ2ZXIpKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXZhbHVlLmlzRW5hYmxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21tZW50Rm9ybUdyb3VwLmdldCgnaXNSZXF1aXJlZCcpPy5zZXRWYWx1ZShmYWxzZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMuY29tbWVudEZvcm1Hcm91cC5nZXQoJ2lzUmVxdWlyZWQnKT8uZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkNoZWNrTGlzdEFjdGlvbkNoYW5nZWQodGhpcy5hc3NpZ25lZSgpLmlkLCB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiB0aGlzLnRleHRBcmVhQWN0aW9uKCkuaWQsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRBY3Rpb25UeXBlOiB0aGlzLnRleHRBcmVhQWN0aW9uKCkuY29udGVudEFjdGlvblR5cGUsXG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuY29tbWVudEZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuY29tbWVudEZvcm1Hcm91cC5nZXQoJ2lzUmVxdWlyZWQnKT8uZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgIHRoaXMub25DaGVja0xpc3RBY3Rpb25DaGFuZ2VkKHRoaXMuYXNzaWduZWUoKS5pZCwge1xuICAgICAgICAgICAgICAgIGlkOiB0aGlzLnRleHRBcmVhQWN0aW9uKCkuaWQsXG4gICAgICAgICAgICAgICAgY29udGVudEFjdGlvblR5cGU6IHRoaXMudGV4dEFyZWFBY3Rpb24oKS5jb250ZW50QWN0aW9uVHlwZSxcbiAgICAgICAgICAgICAgICAuLi50aGlzLmNvbW1lbnRGb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlRXZhbHVhdGlvbkNyaXRlcmlhKGdyb3VwOiBDdWlFdmFsdWF0aW9uQ3JpdGVyaWFHcm91cCk6IHZvaWQge1xuICAgICAgICBjb25zdCBldmFsdWF0aW9uID0gZ3JvdXAuZXZhbHVhdGlvbi52YWx1ZTtcbiAgICAgICAgY29uc3QgY3JpdGVyaWEgPSBncm91cC5jcml0ZXJpYS52YWx1ZTtcbiAgICAgICAgY29uc3QgaWQgPSBncm91cC5pZC52YWx1ZTtcblxuICAgICAgICB0aGlzLm5vZGVDaGVja0xpc3RBcGlTZXJ2aWNlXG4gICAgICAgICAgICAudXBkYXRlRXZhbHVhdGlvbkNyaXRlcmlhSXRlbSh0aGlzLmNoZWNrTGlzdEl0ZW0oKS5pZCwgdGhpcy5hc3NpZ25lZSgpLmlkLCBpZCwgY3JpdGVyaWEsIGV2YWx1YXRpb24pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChjaGVja0xpc3RJdGVtKSA9PiB0aGlzLmNoZWNrTGlzdEJsb2NrU2VydmljZS51cGRhdGVDaGVja0xpc3RJdGVtKGNoZWNrTGlzdEl0ZW0pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZEV2YWx1YXRpb25Dcml0ZXJpYShncm91cDogQ3VpRXZhbHVhdGlvbkNyaXRlcmlhR3JvdXApOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZXZhbHVhdGlvbiA9IGdyb3VwLmV2YWx1YXRpb24udmFsdWU7XG4gICAgICAgIGNvbnN0IGNyaXRlcmlhID0gZ3JvdXAuY3JpdGVyaWEudmFsdWU7XG5cbiAgICAgICAgdGhpcy5ub2RlQ2hlY2tMaXN0QXBpU2VydmljZVxuICAgICAgICAgICAgLmFkZEV2YWx1YXRpb25Dcml0ZXJpYUl0ZW0odGhpcy5jaGVja0xpc3RJdGVtKCkuaWQsIHRoaXMuYXNzaWduZWUoKS5pZCwgY3JpdGVyaWEsIGV2YWx1YXRpb24pXG4gICAgICAgICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzQWRkQnV0dG9uRGlzYWJsZWQuc2V0KGZhbHNlKSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChjaGVja0xpc3RJdGVtKSA9PiB0aGlzLnVwZGF0ZUNyZWF0ZWRFdmFsdWF0aW9uQ3JpdGVyaWEoY2hlY2tMaXN0SXRlbSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQ3JlYXRlZEV2YWx1YXRpb25Dcml0ZXJpYShcbiAgICAgICAgY2hlY2tMaXN0SXRlbTogTm9kZUNoZWNrTGlzdEl0ZW08Tm9kZUNoZWNrTGlzdEV2YWx1YXRpb25JdGVtQ29udGVudD5cbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWNjZXB0YW5jZUNyaXRlcmlhRXZhbHVhdGlvbnMgPSBjaGVja0xpc3RJdGVtLmNvbnRlbnQuYWN0aW9uc0Fzc2lnbmVlIVswXS5hY2NlcHRhbmNlQ3JpdGVyaWFFdmFsdWF0aW9ucztcbiAgICAgICAgY29uc3QgaWQgPSBhY2NlcHRhbmNlQ3JpdGVyaWFFdmFsdWF0aW9ucy5hdCgtMSk/LmlkO1xuICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5ldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkuY29udHJvbHMuYXQoLTEpPy5nZXRSYXdWYWx1ZSgpO1xuICAgICAgICBjb25zdCBjcmVhdGVkQ29udHJvbCA9IHRoaXMuY3JlYXRlRXZhbHVhdGlvbkZvcm1Hcm91cCh7IC4uLmNvbnRyb2wsIGlkLCBpc05ldzogZmFsc2UgfSk7XG5cbiAgICAgICAgdGhpcy5ldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkucmVtb3ZlQXQoLTEpO1xuICAgICAgICB0aGlzLmV2YWx1YXRpb25Dcml0ZXJpYUZvcm1BcnJheS5wdXNoKGNyZWF0ZWRDb250cm9sKTtcbiAgICAgICAgdGhpcy5jaGVja0xpc3RCbG9ja1NlcnZpY2UudXBkYXRlQ2hlY2tMaXN0SXRlbShjaGVja0xpc3RJdGVtKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUV2YWx1YXRpb25Gb3JtR3JvdXAoe1xuICAgICAgICBpZCxcbiAgICAgICAgY3JpdGVyaWEgPSAnJyxcbiAgICAgICAgZXZhbHVhdGlvbiA9IG51bGwsXG4gICAgICAgIGlzTmV3ID0gdHJ1ZVxuICAgIH06IEN1aUV2YWx1YXRpb25Dcml0ZXJpYUVsZW1lbnREYXRhID0ge30pOiBGb3JtR3JvdXAge1xuICAgICAgICByZXR1cm4gdGhpcy5ub25OdWxsYWJsZUZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgICAgIGlkOiBbaWRdLFxuICAgICAgICAgICAgY3JpdGVyaWE6IFtjcml0ZXJpYSwgY3VpQ3JlYXRlRGVmYXVsdFZhbGlkYXRvcnMoeyBtYXhMZW5ndGg6IDUwMCB9KV0sXG4gICAgICAgICAgICBldmFsdWF0aW9uOiBbZXZhbHVhdGlvbiwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgICAgICAgIGlzTmV3OiBbaXNOZXddXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmluZEV4aXN0aW5nRXZhbHVhdGlvbkNyaXRlcmlhKGlkOiBzdHJpbmcpOiBDdWlOdWxsYWJsZTxOb2RlQ2hlY2tMaXN0RXZhbHVhdGlvbkNyaXRlcmlhPiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmFzc2lnbmVlKCkuYWNjZXB0YW5jZUNyaXRlcmlhRXZhbHVhdGlvbnMuZmluZChcbiAgICAgICAgICAgICAgICAoZXZhbHVhdGlvbkNyaXRlcmlhOiBOb2RlQ2hlY2tMaXN0RXZhbHVhdGlvbkNyaXRlcmlhKSA9PiBldmFsdWF0aW9uQ3JpdGVyaWEuaWQgPT09IGlkXG4gICAgICAgICAgICApIHx8IG51bGxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG1vdmVJdGVtSW5BcnJheTxUPihhcnJheTogVFtdLCBmcm9tSW5kZXg6IG51bWJlciwgdG9JbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmIChmcm9tSW5kZXggPT09IHRvSW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGl0ZW0gPSBhcnJheVtmcm9tSW5kZXhdO1xuXG4gICAgICAgIGFycmF5LnNwbGljZShmcm9tSW5kZXgsIDEpO1xuICAgICAgICBhcnJheS5zcGxpY2UodG9JbmRleCwgMCwgaXRlbSk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqdHJhbnNsb2NvPVwibGV0IHRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25fX2lucHV0cy1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFjdGlvbl9faW5wdXRcIlxuICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBdPVwicGhvdG9Gb3JtR3JvdXBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjdWlMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBjdWlDaGVja2JveFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImlzRW5hYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAge3sgdCgnUEhPVE8nKSB9fVxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGN1aUxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1aVRvZ2dsZVxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImlzUmVxdWlyZWRcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICB7eyB0KCdSRVFVSVJFRCcpIH19XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWN0aW9uX19pbnB1dFwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJjb21tZW50Rm9ybUdyb3VwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bGFiZWwgY3VpTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VpQ2hlY2tib3hcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpc0VuYWJsZVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIHt7IHQoJ0NPTU1FTlQnKSB9fVxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGN1aUxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1aVRvZ2dsZVxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImlzUmVxdWlyZWRcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICB7eyB0KCdSRVFVSVJFRCcpIH19XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbl9fY3JpdGVyaWEtdGl0bGUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBjdWlMYWJlbFxuICAgICAgICAgICAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIGZvcj1cImV2YWx1YXRpb25Dcml0ZXJpYVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdCgnRVZBTFVBVElPTl9DUklURVJJQScpIH19XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJhY3Rpb25fX2NyaXRlcmlhLXN1YnRpdGxlXCI+e3sgdCgnRUFDSF9FVkFMVUFUSU9OX0NSSVRFUklPTl9TSE9VTERfQkUnKSB9fTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDx1bFxuICAgICAgICAgICAgY3VpRHJhZ0xpc3RcbiAgICAgICAgICAgIGNsYXNzPVwibGlzdFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBmb3IgKGNvbnRyb2wgb2YgZXZhbHVhdGlvbkNyaXRlcmlhRm9ybUFycmF5LmNvbnRyb2xzOyB0cmFjayBjb250cm9sLmNvbnRyb2xzWydpZCddOyBsZXQgaW5kZXggPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgY3VpQ2hlY2tsaXN0QmxvY2tMaXN0SXRlbUV2YWx1YXRpb25Dcml0ZXJpYVxuICAgICAgICAgICAgICAgICAgICBbaW5kZXhdPVwiaW5kZXggKyAxXCJcbiAgICAgICAgICAgICAgICAgICAgY3VpRHJhZ0Ryb3BcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzQWRkQnV0dG9uRGlzYWJsZWQoKVwiXG4gICAgICAgICAgICAgICAgICAgIChlbGVtZW50RHJhZ2dlZCk9XCJvbkRyb3AoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFtjcml0ZXJpYUdyb3VwXT1cImNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICBbZXZhbHVhdGlvbkNyaXRlcmlhRm9ybUFycmF5XT1cImV2YWx1YXRpb25Dcml0ZXJpYUZvcm1BcnJheVwiXG4gICAgICAgICAgICAgICAgICAgIFtsb2FkaW5nSWRzXT1cImxvYWRpbmdJZHMoKVwiXG4gICAgICAgICAgICAgICAgICAgIChzYXZlQ2xpY2tlZCk9XCJvblNhdmVFdmFsdWF0aW9uQ3JpdGVyaWEoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChjYW5jZWxDbGlja2VkKT1cIm9uQ2FuY2VsTmV3RXZhbHVhdGlvbkNyaXRlcmlhKClcIlxuICAgICAgICAgICAgICAgICAgICAoZGVsZXRlQ2xpY2tlZCk9XCJvcGVuTW9kYWxEZWxldGVFdmFsdWF0aW9uQ3JpdGVyaWEoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPjwvbGk+XG4gICAgICAgICAgICB9IEBlbXB0eSB7XG4gICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgIGN1aUVtcHR5U3RhdGVcbiAgICAgICAgICAgICAgICAgICAgW3N1YnRpdGxlXT1cInQoJ05PX0VWQUxVQVRJT05fQ1JJVEVSSUFfVE9fVklFVycpXCJcbiAgICAgICAgICAgICAgICA+PC9saT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC91bD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbl9fZm9vdGVyXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgY3VpQnV0dG9uXG4gICAgICAgICAgICAgICAgc2l6ZT1cInh4c1wiXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImZsYXRcIlxuICAgICAgICAgICAgICAgIGljb249XCJjdWlJY29uUGx1c1wiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzQWRkQnV0dG9uRGlzYWJsZWQoKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQWRkRXZhbHVhdGlvbkNyaXRlcmlhSXRlbSgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyB0KCdORVdfT1BUSU9OJykgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvY2hlY2tsaXN0LWJsb2NrL2NvbXBvbmVudHMvY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uL2NoZWNrbGlzdC1ibG9jay1saXN0LWl0ZW0tZXZhbHVhdGlvbi5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHR5cGUgeyBDdWlOdWxsYWJsZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VpRXZhbHVhdGlvbkNyaXRlcmlhR3JvdXAge1xuICAgIGlkOiBGb3JtQ29udHJvbDxzdHJpbmc+O1xuICAgIGNyaXRlcmlhOiBGb3JtQ29udHJvbDxzdHJpbmc+O1xuICAgIGV2YWx1YXRpb246IEZvcm1Db250cm9sPG51bWJlcj47XG4gICAgaXNOZXc6IEZvcm1Db250cm9sPGJvb2xlYW4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1aUV2YWx1YXRpb25Dcml0ZXJpYUVsZW1lbnREYXRhIHtcbiAgICBpZD86IHN0cmluZztcbiAgICBjcml0ZXJpYT86IHN0cmluZztcbiAgICBldmFsdWF0aW9uPzogQ3VpTnVsbGFibGU8bnVtYmVyPjtcbiAgICBpc05ldz86IGJvb2xlYW47XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export { CuiCheckListBlockListItemEvaluationComponent } from './checklist-block-list-item-evaluation.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvY2hlY2tsaXN0LWJsb2NrL2NvbXBvbmVudHMvY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQ3VpQ2hlY2tMaXN0QmxvY2tMaXN0SXRlbUV2YWx1YXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NoZWNrbGlzdC1ibG9jay1saXN0LWl0ZW0tZXZhbHVhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0IHR5cGUgeyBDdWlFdmFsdWF0aW9uQ3JpdGVyaWFHcm91cCB9IGZyb20gJy4vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLm9wdGlvbnMnO1xuIl19
@@ -0,0 +1,117 @@
1
+ import { ChangeDetectionStrategy, Component, computed, effect, inject, input, output, signal } from '@angular/core';
2
+ import { ReactiveFormsModule } from '@angular/forms';
3
+ import { CuiLetDirective } from '@cuby-ui/cdk';
4
+ import { CuiAlertService, CuiButtonModule, CuiIconButtonModule, CuiInputModule, CuiInputNumberModule, CuiSvgModule, CuiTextareaModule } from '../../../../../components';
5
+ import { TranslocoDirective, TranslocoService } from '@jsverse/transloco';
6
+ import { CuiDragPointerDirective } from '@cuby-ui/cdk';
7
+ import { CuiGeneralControlErrorHintComponent } from '../../../general-control-error-hint';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../../../../../components/button/button.component";
10
+ import * as i2 from "../../../../../components/icon-button/icon-button.component";
11
+ import * as i3 from "../../../../../directives/text-field-controller/text-field-placeholder.directive";
12
+ import * as i4 from "../../../../../directives/text-field-controller/text-field-is-error.directive";
13
+ import * as i5 from "../../../../../components/svg/svg.component";
14
+ import * as i6 from "../../../../../components/textarea/textarea.component";
15
+ import * as i7 from "@angular/forms";
16
+ import * as i8 from "../../../../../components/input-number/input-number.component";
17
+ export class CuiCheckListBlockListItemEvaluationCriteriaComponent {
18
+ get isEvaluationInvalid() {
19
+ return this.criteriaGroup().controls.evaluation.invalid && this.isEditMode();
20
+ }
21
+ get isCriteriaInvalid() {
22
+ return this.criteriaGroup().controls.criteria.invalid && this.isEditMode();
23
+ }
24
+ constructor() {
25
+ this.cuiAlertService = inject(CuiAlertService);
26
+ this.translocoService = inject(TranslocoService);
27
+ this.EVALUATION_ALREADY_EXIST = `EVALUATION_ALREADY_EXIST`;
28
+ this.previousData = null;
29
+ this.isEditMode = signal(false);
30
+ this.isNew = computed(() => this.criteriaGroup().controls.isNew.value);
31
+ this.gap = computed(() => (this.isEditMode() ? 8 : 0));
32
+ this.isLoading = computed(() => this.loadingIds()[this.criteriaGroup().controls.id.value]);
33
+ this.isDragEnabled = computed(() => !this.isEditMode() && !this.isLoading());
34
+ this.loadingIds = input.required();
35
+ this.index = input.required();
36
+ this.criteriaGroup = input.required();
37
+ this.evaluationCriteriaFormArray = input.required();
38
+ this.saveClicked = output();
39
+ this.deleteClicked = output();
40
+ this.cancelClicked = output();
41
+ this.initNewEvaluationCriteriaEffect();
42
+ this.initEditModeEffect();
43
+ }
44
+ onSave() {
45
+ if (this.criteriaGroup().invalid) {
46
+ return;
47
+ }
48
+ const evaluation = `${this.criteriaGroup().controls.evaluation.value}`;
49
+ if (this.checkIsEvaluationCriteriaExist(evaluation)) {
50
+ this.cuiAlertService
51
+ .open(this.translocoService.translate(this.EVALUATION_ALREADY_EXIST, { evaluation }), {
52
+ status: 'error'
53
+ })
54
+ .subscribe();
55
+ return;
56
+ }
57
+ this.isEditMode.update((prev) => !prev);
58
+ this.saveClicked.emit(this.criteriaGroup().controls);
59
+ }
60
+ onDelete() {
61
+ const id = this.criteriaGroup().controls.id.value;
62
+ this.deleteClicked.emit(id);
63
+ }
64
+ onCancel() {
65
+ if (this.isNew()) {
66
+ this.cancelClicked.emit();
67
+ }
68
+ this.isEditMode.update((prev) => !prev);
69
+ if (!this.previousData) {
70
+ return;
71
+ }
72
+ this.criteriaGroup().setValue({
73
+ ...this.criteriaGroup().getRawValue(),
74
+ ...this.previousData
75
+ });
76
+ }
77
+ onToggleEditMode() {
78
+ const { criteria, evaluation } = this.criteriaGroup().getRawValue();
79
+ this.previousData = { criteria, evaluation };
80
+ this.isEditMode.update((prev) => !prev);
81
+ }
82
+ // TODO: Компонент должен был быть построен исключительно на реактивных формах
83
+ initEditModeEffect() {
84
+ effect(() => this.criteriaGroup()[this.isEditMode() ? 'enable' : 'disable']());
85
+ }
86
+ initNewEvaluationCriteriaEffect() {
87
+ effect(() => this.isEditMode.set(this.isNew()), { allowSignalWrites: true });
88
+ }
89
+ checkIsEvaluationCriteriaExist(evaluation) {
90
+ const controls = this.evaluationCriteriaFormArray().controls;
91
+ return controls.some((control) => {
92
+ if (control.controls.id.value === this.criteriaGroup().controls.id.value) {
93
+ return false;
94
+ }
95
+ return `${control.get('evaluation')?.value}` === evaluation;
96
+ });
97
+ }
98
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCheckListBlockListItemEvaluationCriteriaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
99
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiCheckListBlockListItemEvaluationCriteriaComponent, isStandalone: true, selector: "li[cuiChecklistBlockListItemEvaluationCriteria]", inputs: { loadingIds: { classPropertyName: "loadingIds", publicName: "loadingIds", isSignal: true, isRequired: true, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: true, transformFunction: null }, criteriaGroup: { classPropertyName: "criteriaGroup", publicName: "criteriaGroup", isSignal: true, isRequired: true, transformFunction: null }, evaluationCriteriaFormArray: { classPropertyName: "evaluationCriteriaFormArray", publicName: "evaluationCriteriaFormArray", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { saveClicked: "saveClicked", deleteClicked: "deleteClicked", cancelClicked: "cancelClicked" }, ngImport: i0, template: "<div *transloco=\"let t\">\n <form\n *cuiLet=\"criteriaGroup() as form\"\n [formGroup]=\"form\"\n [class.form_edit]=\"isEditMode()\"\n clas=\"form\"\n >\n <div class=\"content\">\n <span class=\"index\">{{ index() }}.</span>\n @if (!isEditMode()) {\n <cui-svg\n cuiDragPointer\n icon=\"cuiIconDragHandleDots\"\n color=\"var(--cui-base-500)\"\n class=\"icon\"\n />\n }\n <div\n style.gap=\"{{ gap() }}px\"\n class=\"wrapper\"\n >\n <cui-input-number\n formControlName=\"evaluation\"\n cuiTextFieldPlaceholder=\"0\"\n [cuiTextFieldIsError]=\"isEvaluationInvalid\"\n [min]=\"1\"\n [max]=\"99\"\n class=\"input-number\"\n />\n <textarea\n cuiTextarea\n formControlName=\"criteria\"\n [rows]=\"1\"\n [cuiTextFieldIsError]=\"isCriteriaInvalid\"\n placeholder=\"{{ t('ADD_A_DESCRIPTION') }}...\"\n class=\"textarea\"\n ></textarea>\n </div>\n @if (isEditMode()) {\n <button\n type=\"submit\"\n cuiIconButton\n icon=\"cuiIconCheck\"\n color=\"var(--cui-success)\"\n [disabled]=\"form.invalid\"\n class=\"button\"\n (click)=\"onSave()\"\n ></button>\n <button\n type=\"button\"\n cuiIconButton\n icon=\"cuiIconXCircle\"\n color=\"var(--cui-danger)\"\n class=\"button\"\n (click)=\"onCancel()\"\n ></button>\n } @else {\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconEdit\"\n [disabled]=\"isLoading()\"\n (click)=\"onToggleEditMode()\"\n ></button>\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconTrash\"\n [isLoaderShown]=\"isLoading()\"\n (click)=\"onDelete()\"\n ></button>\n }\n </div>\n <cui-general-control-error-hint\n [control]=\"form.controls.criteria\"\n class=\"error-hint\"\n />\n </form>\n</div>\n", styles: [".form{display:flex;flex-direction:column;gap:8px}.form_edit{padding:12px;border-radius:8px;border:1px solid var(--cui-base-200);background-color:var(--cui-base-0)}.content{display:flex;gap:8px;align-items:center}.index{font-weight:500;font-size:14px;line-height:20px;width:22px}.icon{cursor:grab}.icon:active{cursor:grabbing}.wrapper{display:flex;flex-grow:1}.input-number{padding-right:9px;padding-left:9px;flex-shrink:0;width:44px;background:inherit}.input-number._disabled{cursor:initial;opacity:1;border-right-width:0;border-radius:8px 0 0 8px}.input-number ::ng-deep .c-input{text-align:center}.input-number ::ng-deep .c-input:disabled{cursor:text}.textarea{background:var(--cui-base-0)}.textarea:disabled{cursor:initial;opacity:1;background:var(--cui-base-0);border-left-width:0;border-radius:0 8px 8px 0}.button:disabled{cursor:not-allowed;opacity:.5}.error-hint{margin-left:82px}.cui-drag-drop-placeholder{height:44px;border:1px dashed var(--cui-base-200);border-radius:8px;background:var(--cui-base-0)}\n"], dependencies: [{ kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: i1.CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "ngmodule", type: CuiIconButtonModule }, { kind: "component", type: i2.CuiIconButtonComponent, selector: "button[cuiIconButton][icon], a[cuiIconButton][icon]", inputs: ["icon", "color", "hoverColor"] }, { kind: "ngmodule", type: CuiInputModule }, { kind: "directive", type: i3.CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: ["cuiTextFieldPlaceholder"] }, { kind: "directive", type: i4.CuiTextFieldIsErrorDirective, selector: "[cuiTextFieldIsError]", inputs: ["cuiTextFieldIsError"] }, { kind: "directive", type: CuiLetDirective, selector: "[cuiLet]", inputs: ["cuiLet"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: i5.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "ngmodule", type: CuiTextareaModule }, { kind: "component", type: i6.CuiTextareaComponent, selector: "textarea[cuiTextarea]", inputs: ["rows", "noBordersAndPaddings"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "ngmodule", type: CuiInputNumberModule }, { kind: "component", type: i8.CuiInputNumberComponent, selector: "cui-input-number", inputs: ["precision", "min", "max"] }, { kind: "directive", type: CuiDragPointerDirective, selector: "[cuiDragPointer]" }, { kind: "component", type: CuiGeneralControlErrorHintComponent, selector: "cui-general-control-error-hint", inputs: ["control", "isVisible"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
100
+ }
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCheckListBlockListItemEvaluationCriteriaComponent, decorators: [{
102
+ type: Component,
103
+ args: [{ selector: 'li[cuiChecklistBlockListItemEvaluationCriteria]', imports: [
104
+ CuiButtonModule,
105
+ CuiIconButtonModule,
106
+ CuiInputModule,
107
+ CuiLetDirective,
108
+ CuiSvgModule,
109
+ CuiTextareaModule,
110
+ ReactiveFormsModule,
111
+ TranslocoDirective,
112
+ CuiInputNumberModule,
113
+ CuiDragPointerDirective,
114
+ CuiGeneralControlErrorHintComponent
115
+ ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *transloco=\"let t\">\n <form\n *cuiLet=\"criteriaGroup() as form\"\n [formGroup]=\"form\"\n [class.form_edit]=\"isEditMode()\"\n clas=\"form\"\n >\n <div class=\"content\">\n <span class=\"index\">{{ index() }}.</span>\n @if (!isEditMode()) {\n <cui-svg\n cuiDragPointer\n icon=\"cuiIconDragHandleDots\"\n color=\"var(--cui-base-500)\"\n class=\"icon\"\n />\n }\n <div\n style.gap=\"{{ gap() }}px\"\n class=\"wrapper\"\n >\n <cui-input-number\n formControlName=\"evaluation\"\n cuiTextFieldPlaceholder=\"0\"\n [cuiTextFieldIsError]=\"isEvaluationInvalid\"\n [min]=\"1\"\n [max]=\"99\"\n class=\"input-number\"\n />\n <textarea\n cuiTextarea\n formControlName=\"criteria\"\n [rows]=\"1\"\n [cuiTextFieldIsError]=\"isCriteriaInvalid\"\n placeholder=\"{{ t('ADD_A_DESCRIPTION') }}...\"\n class=\"textarea\"\n ></textarea>\n </div>\n @if (isEditMode()) {\n <button\n type=\"submit\"\n cuiIconButton\n icon=\"cuiIconCheck\"\n color=\"var(--cui-success)\"\n [disabled]=\"form.invalid\"\n class=\"button\"\n (click)=\"onSave()\"\n ></button>\n <button\n type=\"button\"\n cuiIconButton\n icon=\"cuiIconXCircle\"\n color=\"var(--cui-danger)\"\n class=\"button\"\n (click)=\"onCancel()\"\n ></button>\n } @else {\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconEdit\"\n [disabled]=\"isLoading()\"\n (click)=\"onToggleEditMode()\"\n ></button>\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconTrash\"\n [isLoaderShown]=\"isLoading()\"\n (click)=\"onDelete()\"\n ></button>\n }\n </div>\n <cui-general-control-error-hint\n [control]=\"form.controls.criteria\"\n class=\"error-hint\"\n />\n </form>\n</div>\n", styles: [".form{display:flex;flex-direction:column;gap:8px}.form_edit{padding:12px;border-radius:8px;border:1px solid var(--cui-base-200);background-color:var(--cui-base-0)}.content{display:flex;gap:8px;align-items:center}.index{font-weight:500;font-size:14px;line-height:20px;width:22px}.icon{cursor:grab}.icon:active{cursor:grabbing}.wrapper{display:flex;flex-grow:1}.input-number{padding-right:9px;padding-left:9px;flex-shrink:0;width:44px;background:inherit}.input-number._disabled{cursor:initial;opacity:1;border-right-width:0;border-radius:8px 0 0 8px}.input-number ::ng-deep .c-input{text-align:center}.input-number ::ng-deep .c-input:disabled{cursor:text}.textarea{background:var(--cui-base-0)}.textarea:disabled{cursor:initial;opacity:1;background:var(--cui-base-0);border-left-width:0;border-radius:0 8px 8px 0}.button:disabled{cursor:not-allowed;opacity:.5}.error-hint{margin-left:82px}.cui-drag-drop-placeholder{height:44px;border:1px dashed var(--cui-base-200);border-radius:8px;background:var(--cui-base-0)}\n"] }]
116
+ }], ctorParameters: () => [] });
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jaGVja2xpc3QtYmxvY2svY29tcG9uZW50cy9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWV2YWx1YXRpb24tY3JpdGVyaWEvY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jaGVja2xpc3QtYmxvY2svY29tcG9uZW50cy9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWV2YWx1YXRpb24tY3JpdGVyaWEvY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQ0gsZUFBZSxFQUNmLGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixZQUFZLEVBQ1osaUJBQWlCLEVBQ3BCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJMUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7O0FBdUIxRixNQUFNLE9BQU8sb0RBQW9EO0lBYzdELElBQWMsbUJBQW1CO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNqRixDQUFDO0lBRUQsSUFBYyxpQkFBaUI7UUFDM0IsT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQy9FLENBQUM7SUFXRDtRQTlCaUIsb0JBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUMscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFNUMsNkJBQXdCLEdBQUcsMEJBQTBCLENBQUM7UUFFL0QsaUJBQVksR0FBMkMsSUFBSSxDQUFDO1FBRWpELGVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsVUFBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRSxRQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEQsY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN0RixrQkFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBVTNFLGVBQVUsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUEyQixDQUFDO1FBQ3ZELFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDakMsa0JBQWEsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUF5QyxDQUFDO1FBQ3hFLGdDQUEyQixHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXdCLENBQUM7UUFFckUsZ0JBQVcsR0FBRyxNQUFNLEVBQThCLENBQUM7UUFDbkQsa0JBQWEsR0FBRyxNQUFNLEVBQVUsQ0FBQztRQUNqQyxrQkFBYSxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBR3JDLElBQUksQ0FBQywrQkFBK0IsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFUyxNQUFNO1FBQ1osSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDL0IsT0FBTztRQUNYLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXZFLElBQUksSUFBSSxDQUFDLDhCQUE4QixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDbEQsSUFBSSxDQUFDLGVBQWU7aUJBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRTtnQkFDbEYsTUFBTSxFQUFFLE9BQU87YUFDbEIsQ0FBQztpQkFDRCxTQUFTLEVBQUUsQ0FBQztZQUVqQixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRVMsUUFBUTtRQUNkLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUVsRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRVMsUUFBUTtRQUNkLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlCLENBQUM7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4QyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3JCLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUMxQixHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxXQUFXLEVBQUU7WUFDckMsR0FBRyxJQUFJLENBQUMsWUFBWTtTQUN2QixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRVMsZ0JBQWdCO1FBQ3RCLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXBFLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELDhFQUE4RTtJQUN0RSxrQkFBa0I7UUFDdEIsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFTywrQkFBK0I7UUFDbkMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRU8sOEJBQThCLENBQUMsVUFBa0I7UUFDckQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUMsUUFBUSxDQUFDO1FBRTdELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQThDLEVBQUUsRUFBRTtZQUNwRSxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDdkUsT0FBTyxLQUFLLENBQUM7WUFDakIsQ0FBQztZQUVELE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLFVBQVUsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBMUdRLG9EQUFvRDttR0FBcEQsb0RBQW9ELHF5QkMxQ2pFLDAzRkFtRkEsOGlDRDFEUSxlQUFlLG1PQUNmLG1CQUFtQixnTUFDbkIsY0FBYywrU0FDZCxlQUFlLHdFQUNmLFlBQVksdUtBQ1osaUJBQWlCLGlLQUNqQixtQkFBbUIsNjhCQUNuQixrQkFBa0IsK0xBQ2xCLG9CQUFvQiwySkFDcEIsdUJBQXVCLDZEQUN2QixtQ0FBbUM7OzRGQU85QixvREFBb0Q7a0JBcEJoRSxTQUFTOytCQUNJLGlEQUFpRCxXQUNsRDt3QkFDTCxlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLG1DQUFtQztxQkFDdEMsY0FDVyxJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgZWZmZWN0LCBpbmplY3QsIGlucHV0LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBGb3JtQXJyYXksIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgdHlwZSB7IEN1aU51bGxhYmxlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB7IEN1aUxldERpcmVjdGl2ZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIEN1aUFsZXJ0U2VydmljZSxcbiAgICBDdWlCdXR0b25Nb2R1bGUsXG4gICAgQ3VpSWNvbkJ1dHRvbk1vZHVsZSxcbiAgICBDdWlJbnB1dE1vZHVsZSxcbiAgICBDdWlJbnB1dE51bWJlck1vZHVsZSxcbiAgICBDdWlTdmdNb2R1bGUsXG4gICAgQ3VpVGV4dGFyZWFNb2R1bGVcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBUcmFuc2xvY29EaXJlY3RpdmUsIFRyYW5zbG9jb1NlcnZpY2UgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xuXG5pbXBvcnQgdHlwZSB7IEN1aUV2YWx1YXRpb25Dcml0ZXJpYUdyb3VwIH0gZnJvbSAnLi4vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uJztcblxuaW1wb3J0IHsgQ3VpRHJhZ1BvaW50ZXJEaXJlY3RpdmUgfSBmcm9tICdAY3VieS11aS9jZGsnO1xuaW1wb3J0IHsgQ3VpR2VuZXJhbENvbnRyb2xFcnJvckhpbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9nZW5lcmFsLWNvbnRyb2wtZXJyb3ItaGludCc7XG5pbXBvcnQgdHlwZSB7IEN1aUV2YWx1YXRpb25Dcml0ZXJpYURhdGEgfSBmcm9tICcuL2NoZWNrbGlzdC1ibG9jay1saXN0LWl0ZW0tZXZhbHVhdGlvbi1jcml0ZXJpYS5vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaVtjdWlDaGVja2xpc3RCbG9ja0xpc3RJdGVtRXZhbHVhdGlvbkNyaXRlcmlhXScsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDdWlCdXR0b25Nb2R1bGUsXG4gICAgICAgIEN1aUljb25CdXR0b25Nb2R1bGUsXG4gICAgICAgIEN1aUlucHV0TW9kdWxlLFxuICAgICAgICBDdWlMZXREaXJlY3RpdmUsXG4gICAgICAgIEN1aVN2Z01vZHVsZSxcbiAgICAgICAgQ3VpVGV4dGFyZWFNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFRyYW5zbG9jb0RpcmVjdGl2ZSxcbiAgICAgICAgQ3VpSW5wdXROdW1iZXJNb2R1bGUsXG4gICAgICAgIEN1aURyYWdQb2ludGVyRGlyZWN0aXZlLFxuICAgICAgICBDdWlHZW5lcmFsQ29udHJvbEVycm9ySGludENvbXBvbmVudFxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBDdWlDaGVja0xpc3RCbG9ja0xpc3RJdGVtRXZhbHVhdGlvbkNyaXRlcmlhQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aUFsZXJ0U2VydmljZSA9IGluamVjdChDdWlBbGVydFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsb2NvU2VydmljZSA9IGluamVjdChUcmFuc2xvY29TZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgRVZBTFVBVElPTl9BTFJFQURZX0VYSVNUID0gYEVWQUxVQVRJT05fQUxSRUFEWV9FWElTVGA7XG5cbiAgICBwcml2YXRlIHByZXZpb3VzRGF0YTogQ3VpTnVsbGFibGU8Q3VpRXZhbHVhdGlvbkNyaXRlcmlhRGF0YT4gPSBudWxsO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzRWRpdE1vZGUgPSBzaWduYWwoZmFsc2UpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc05ldyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY3JpdGVyaWFHcm91cCgpLmNvbnRyb2xzLmlzTmV3LnZhbHVlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZ2FwID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuaXNFZGl0TW9kZSgpID8gOCA6IDApKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNMb2FkaW5nID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5sb2FkaW5nSWRzKClbdGhpcy5jcml0ZXJpYUdyb3VwKCkuY29udHJvbHMuaWQudmFsdWVdKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNEcmFnRW5hYmxlZCA9IGNvbXB1dGVkKCgpID0+ICF0aGlzLmlzRWRpdE1vZGUoKSAmJiAhdGhpcy5pc0xvYWRpbmcoKSk7XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGlzRXZhbHVhdGlvbkludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNyaXRlcmlhR3JvdXAoKS5jb250cm9scy5ldmFsdWF0aW9uLmludmFsaWQgJiYgdGhpcy5pc0VkaXRNb2RlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBpc0NyaXRlcmlhSW52YWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JpdGVyaWFHcm91cCgpLmNvbnRyb2xzLmNyaXRlcmlhLmludmFsaWQgJiYgdGhpcy5pc0VkaXRNb2RlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlYWRvbmx5IGxvYWRpbmdJZHMgPSBpbnB1dC5yZXF1aXJlZDxSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4oKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgaW5kZXggPSBpbnB1dC5yZXF1aXJlZDxudW1iZXI+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGNyaXRlcmlhR3JvdXAgPSBpbnB1dC5yZXF1aXJlZDxGb3JtR3JvdXA8Q3VpRXZhbHVhdGlvbkNyaXRlcmlhR3JvdXA+PigpO1xuICAgIHB1YmxpYyByZWFkb25seSBldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkgPSBpbnB1dC5yZXF1aXJlZDxGb3JtQXJyYXk8Rm9ybUdyb3VwPj4oKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBzYXZlQ2xpY2tlZCA9IG91dHB1dDxDdWlFdmFsdWF0aW9uQ3JpdGVyaWFHcm91cD4oKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGVsZXRlQ2xpY2tlZCA9IG91dHB1dDxzdHJpbmc+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGNhbmNlbENsaWNrZWQgPSBvdXRwdXQoKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmluaXROZXdFdmFsdWF0aW9uQ3JpdGVyaWFFZmZlY3QoKTtcbiAgICAgICAgdGhpcy5pbml0RWRpdE1vZGVFZmZlY3QoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25TYXZlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jcml0ZXJpYUdyb3VwKCkuaW52YWxpZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZXZhbHVhdGlvbiA9IGAke3RoaXMuY3JpdGVyaWFHcm91cCgpLmNvbnRyb2xzLmV2YWx1YXRpb24udmFsdWV9YDtcblxuICAgICAgICBpZiAodGhpcy5jaGVja0lzRXZhbHVhdGlvbkNyaXRlcmlhRXhpc3QoZXZhbHVhdGlvbikpIHtcbiAgICAgICAgICAgIHRoaXMuY3VpQWxlcnRTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLm9wZW4odGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSh0aGlzLkVWQUxVQVRJT05fQUxSRUFEWV9FWElTVCwgeyBldmFsdWF0aW9uIH0pLCB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogJ2Vycm9yJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzRWRpdE1vZGUudXBkYXRlKChwcmV2KSA9PiAhcHJldik7XG4gICAgICAgIHRoaXMuc2F2ZUNsaWNrZWQuZW1pdCh0aGlzLmNyaXRlcmlhR3JvdXAoKS5jb250cm9scyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRGVsZXRlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpZCA9IHRoaXMuY3JpdGVyaWFHcm91cCgpLmNvbnRyb2xzLmlkLnZhbHVlO1xuXG4gICAgICAgIHRoaXMuZGVsZXRlQ2xpY2tlZC5lbWl0KGlkKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DYW5jZWwoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTmV3KCkpIHtcbiAgICAgICAgICAgIHRoaXMuY2FuY2VsQ2xpY2tlZC5lbWl0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzRWRpdE1vZGUudXBkYXRlKChwcmV2KSA9PiAhcHJldik7XG5cbiAgICAgICAgaWYgKCF0aGlzLnByZXZpb3VzRGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jcml0ZXJpYUdyb3VwKCkuc2V0VmFsdWUoe1xuICAgICAgICAgICAgLi4udGhpcy5jcml0ZXJpYUdyb3VwKCkuZ2V0UmF3VmFsdWUoKSxcbiAgICAgICAgICAgIC4uLnRoaXMucHJldmlvdXNEYXRhXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblRvZ2dsZUVkaXRNb2RlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGNyaXRlcmlhLCBldmFsdWF0aW9uIH0gPSB0aGlzLmNyaXRlcmlhR3JvdXAoKS5nZXRSYXdWYWx1ZSgpO1xuXG4gICAgICAgIHRoaXMucHJldmlvdXNEYXRhID0geyBjcml0ZXJpYSwgZXZhbHVhdGlvbiB9O1xuICAgICAgICB0aGlzLmlzRWRpdE1vZGUudXBkYXRlKChwcmV2KSA9PiAhcHJldik7XG4gICAgfVxuXG4gICAgLy8gVE9ETzog0JrQvtC80L/QvtC90LXQvdGCINC00L7Qu9C20LXQvSDQsdGL0Lsg0LHRi9GC0Ywg0L/QvtGB0YLRgNC+0LXQvSDQuNGB0LrQu9GO0YfQuNGC0LXQu9GM0L3QviDQvdCwINGA0LXQsNC60YLQuNCy0L3Ri9GFINGE0L7RgNC80LDRhVxuICAgIHByaXZhdGUgaW5pdEVkaXRNb2RlRWZmZWN0KCk6IHZvaWQge1xuICAgICAgICBlZmZlY3QoKCkgPT4gdGhpcy5jcml0ZXJpYUdyb3VwKClbdGhpcy5pc0VkaXRNb2RlKCkgPyAnZW5hYmxlJyA6ICdkaXNhYmxlJ10oKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0TmV3RXZhbHVhdGlvbkNyaXRlcmlhRWZmZWN0KCk6IHZvaWQge1xuICAgICAgICBlZmZlY3QoKCkgPT4gdGhpcy5pc0VkaXRNb2RlLnNldCh0aGlzLmlzTmV3KCkpLCB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tJc0V2YWx1YXRpb25Dcml0ZXJpYUV4aXN0KGV2YWx1YXRpb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBjb250cm9scyA9IHRoaXMuZXZhbHVhdGlvbkNyaXRlcmlhRm9ybUFycmF5KCkuY29udHJvbHM7XG5cbiAgICAgICAgcmV0dXJuIGNvbnRyb2xzLnNvbWUoKGNvbnRyb2w6IEZvcm1Hcm91cDxDdWlFdmFsdWF0aW9uQ3JpdGVyaWFHcm91cD4pID0+IHtcbiAgICAgICAgICAgIGlmIChjb250cm9sLmNvbnRyb2xzLmlkLnZhbHVlID09PSB0aGlzLmNyaXRlcmlhR3JvdXAoKS5jb250cm9scy5pZC52YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGAke2NvbnRyb2wuZ2V0KCdldmFsdWF0aW9uJyk/LnZhbHVlfWAgPT09IGV2YWx1YXRpb247XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgKnRyYW5zbG9jbz1cImxldCB0XCI+XG4gICAgPGZvcm1cbiAgICAgICAgKmN1aUxldD1cImNyaXRlcmlhR3JvdXAoKSBhcyBmb3JtXCJcbiAgICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgICAgICAgW2NsYXNzLmZvcm1fZWRpdF09XCJpc0VkaXRNb2RlKClcIlxuICAgICAgICBjbGFzPVwiZm9ybVwiXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbmRleFwiPnt7IGluZGV4KCkgfX0uPC9zcGFuPlxuICAgICAgICAgICAgQGlmICghaXNFZGl0TW9kZSgpKSB7XG4gICAgICAgICAgICAgICAgPGN1aS1zdmdcbiAgICAgICAgICAgICAgICAgICAgY3VpRHJhZ1BvaW50ZXJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25EcmFnSGFuZGxlRG90c1wiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwidmFyKC0tY3VpLWJhc2UtNTAwKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvblwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBzdHlsZS5nYXA9XCJ7eyBnYXAoKSB9fXB4XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIndyYXBwZXJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxjdWktaW5wdXQtbnVtYmVyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImV2YWx1YXRpb25cIlxuICAgICAgICAgICAgICAgICAgICBjdWlUZXh0RmllbGRQbGFjZWhvbGRlcj1cIjBcIlxuICAgICAgICAgICAgICAgICAgICBbY3VpVGV4dEZpZWxkSXNFcnJvcl09XCJpc0V2YWx1YXRpb25JbnZhbGlkXCJcbiAgICAgICAgICAgICAgICAgICAgW21pbl09XCIxXCJcbiAgICAgICAgICAgICAgICAgICAgW21heF09XCI5OVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtbnVtYmVyXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgICAgICAgICBjdWlUZXh0YXJlYVxuICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjcml0ZXJpYVwiXG4gICAgICAgICAgICAgICAgICAgIFtyb3dzXT1cIjFcIlxuICAgICAgICAgICAgICAgICAgICBbY3VpVGV4dEZpZWxkSXNFcnJvcl09XCJpc0NyaXRlcmlhSW52YWxpZFwiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgdCgnQUREX0FfREVTQ1JJUFRJT04nKSB9fS4uLlwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dGFyZWFcIlxuICAgICAgICAgICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBAaWYgKGlzRWRpdE1vZGUoKSkge1xuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgICAgIGN1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25DaGVja1wiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwidmFyKC0tY3VpLXN1Y2Nlc3MpXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2F2ZSgpXCJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY3VpSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBpY29uPVwiY3VpSWNvblhDaXJjbGVcIlxuICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInZhcigtLWN1aS1kYW5nZXIpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DYW5jZWwoKVwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjdWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJ4eHNcIlxuICAgICAgICAgICAgICAgICAgICBpY29uPVwiY3VpSWNvbkVkaXRcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNMb2FkaW5nKClcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Ub2dnbGVFZGl0TW9kZSgpXCJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjdWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJ4eHNcIlxuICAgICAgICAgICAgICAgICAgICBpY29uPVwiY3VpSWNvblRyYXNoXCJcbiAgICAgICAgICAgICAgICAgICAgW2lzTG9hZGVyU2hvd25dPVwiaXNMb2FkaW5nKClcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25EZWxldGUoKVwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGN1aS1nZW5lcmFsLWNvbnRyb2wtZXJyb3ItaGludFxuICAgICAgICAgICAgW2NvbnRyb2xdPVwiZm9ybS5jb250cm9scy5jcml0ZXJpYVwiXG4gICAgICAgICAgICBjbGFzcz1cImVycm9yLWhpbnRcIlxuICAgICAgICAvPlxuICAgIDwvZm9ybT5cbjwvZGl2PlxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhLm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvY2hlY2tsaXN0LWJsb2NrL2NvbXBvbmVudHMvY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhL2NoZWNrbGlzdC1ibG9jay1saXN0LWl0ZW0tZXZhbHVhdGlvbi1jcml0ZXJpYS5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEN1aUV2YWx1YXRpb25Dcml0ZXJpYURhdGEge1xuICAgIHJlYWRvbmx5IGNyaXRlcmlhOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgZXZhbHVhdGlvbjogbnVtYmVyO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export { CuiCheckListBlockListItemEvaluationCriteriaComponent } from './checklist-block-list-item-evaluation-criteria.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvY2hlY2tsaXN0LWJsb2NrL2NvbXBvbmVudHMvY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvREFBb0QsRUFBRSxNQUFNLDJEQUEyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQ3VpQ2hlY2tMaXN0QmxvY2tMaXN0SXRlbUV2YWx1YXRpb25Dcml0ZXJpYUNvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhLmNvbXBvbmVudCc7XG4iXX0=