@cuby-ui/core 0.0.445 → 0.0.447

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 (270) hide show
  1. package/components/alert-hint/alert-hint.component.d.ts +11 -0
  2. package/components/alert-hint/error-status.d.ts +1 -0
  3. package/components/alert-hint/index.d.ts +2 -0
  4. package/components/card-wrapper/card-wrapper.component.d.ts +2 -1
  5. package/components/content-header/content-header.component.d.ts +8 -0
  6. package/components/content-header/index.d.ts +1 -0
  7. package/components/index.d.ts +5 -0
  8. package/components/inserted/index.d.ts +1 -0
  9. package/components/inserted/inserted.component.d.ts +5 -0
  10. package/components/options-button/index.d.ts +1 -0
  11. package/components/options-button/options-button.component.d.ts +8 -0
  12. package/components/sidebar/sidebar-header/sidebar-header.component.d.ts +1 -1
  13. package/components/sidebar/sidebar-navigation-item/sidebar-navigation-item.component.d.ts +1 -1
  14. package/editor/utils/open-file-in-browser.d.ts +1 -1
  15. package/editor/utils/set-loading.d.ts +1 -1
  16. package/esm2022/components/alert-hint/alert-hint.component.mjs +28 -0
  17. package/esm2022/components/alert-hint/error-status.mjs +2 -0
  18. package/esm2022/components/alert-hint/index.mjs +2 -0
  19. package/esm2022/components/card-wrapper/card-wrapper.component.mjs +6 -4
  20. package/esm2022/components/content-header/content-header.component.mjs +19 -0
  21. package/esm2022/components/content-header/index.mjs +2 -0
  22. package/esm2022/components/index.mjs +6 -1
  23. package/esm2022/components/inserted/index.mjs +2 -0
  24. package/esm2022/components/inserted/inserted.component.mjs +15 -0
  25. package/esm2022/components/options-button/index.mjs +2 -0
  26. package/esm2022/components/options-button/options-button.component.mjs +20 -0
  27. package/esm2022/editor/editor.component.mjs +1 -1
  28. package/esm2022/editor/index.mjs +1 -1
  29. package/esm2022/editor/utils/open-file-in-browser.mjs +1 -1
  30. package/esm2022/editor/utils/set-loading.mjs +3 -3
  31. package/esm2022/index.mjs +1 -2
  32. package/esm2022/widgets/ui/inserted/index.mjs +2 -0
  33. package/esm2022/widgets/ui/inserted/inserted.component.mjs +17 -0
  34. package/esm2022/widgets/ui/modal-header/index.mjs +2 -0
  35. package/esm2022/widgets/ui/modal-header/modal-header.component.mjs +31 -0
  36. package/fesm2022/cuby-ui-core.mjs +6174 -8834
  37. package/fesm2022/cuby-ui-core.mjs.map +1 -1
  38. package/index.d.ts +0 -1
  39. package/package.json +4 -4
  40. package/styles/direcive/flex-container.scss +3 -0
  41. package/widgets/ui/inserted/index.d.ts +1 -0
  42. package/widgets/ui/inserted/inserted.component.d.ts +5 -0
  43. package/widgets/ui/modal-header/index.d.ts +1 -0
  44. package/widgets/ui/modal-header/modal-header.component.d.ts +12 -0
  45. package/esm2022/widgets/categories/categories.component.mjs +0 -76
  46. package/esm2022/widgets/categories/components/categories-list/categories-list.component.mjs +0 -17
  47. package/esm2022/widgets/categories/components/categories-list/index.mjs +0 -2
  48. package/esm2022/widgets/categories/components/category-form/category-form.component.mjs +0 -79
  49. package/esm2022/widgets/categories/components/category-form/index.mjs +0 -2
  50. package/esm2022/widgets/categories/components/category-item/category-item.component.mjs +0 -125
  51. package/esm2022/widgets/categories/components/category-item/index.mjs +0 -2
  52. package/esm2022/widgets/categories/components/create-category-item/create-category-item.component.mjs +0 -25
  53. package/esm2022/widgets/categories/components/create-category-item/index.mjs +0 -2
  54. package/esm2022/widgets/categories/components/index.mjs +0 -3
  55. package/esm2022/widgets/categories/index.mjs +0 -3
  56. package/esm2022/widgets/categories/services/index.mjs +0 -2
  57. package/esm2022/widgets/categories/services/selected-category.service.mjs +0 -38
  58. package/esm2022/widgets/checklist-block/checklist-block.component.mjs +0 -75
  59. package/esm2022/widgets/checklist-block/checklist-block.options.mjs +0 -2
  60. package/esm2022/widgets/checklist-block/components/checklist-block-list/checklist-block-list.component.mjs +0 -85
  61. package/esm2022/widgets/checklist-block/components/checklist-block-list/index.mjs +0 -2
  62. package/esm2022/widgets/checklist-block/components/checklist-block-list-item-action-card/checklist-block-list-item-action-card.component.mjs +0 -133
  63. package/esm2022/widgets/checklist-block/components/checklist-block-list-item-action-card/index.mjs +0 -2
  64. package/esm2022/widgets/checklist-block/components/checklist-block-list-item-action-with-verification/checklist-block-list-item-action-with-verification.component.mjs +0 -45
  65. package/esm2022/widgets/checklist-block/components/checklist-block-list-item-action-with-verification/index.mjs +0 -2
  66. package/esm2022/widgets/checklist-block/components/checklist-block-list-item-action-without-verification/checklist-block-list-item-action-without-verification.component.mjs +0 -35
  67. package/esm2022/widgets/checklist-block/components/checklist-block-list-item-action-without-verification/index.mjs +0 -2
  68. package/esm2022/widgets/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.component.mjs +0 -152
  69. package/esm2022/widgets/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.options.mjs +0 -2
  70. package/esm2022/widgets/checklist-block/components/checklist-block-list-item-container/index.mjs +0 -2
  71. package/esm2022/widgets/checklist-block/components/checklist-block-list-item-evaluation/checklist-block-list-item-evaluation.component.mjs +0 -282
  72. package/esm2022/widgets/checklist-block/components/checklist-block-list-item-evaluation/checklist-block-list-item-evaluation.options.mjs +0 -2
  73. package/esm2022/widgets/checklist-block/components/checklist-block-list-item-evaluation/index.mjs +0 -2
  74. package/esm2022/widgets/checklist-block/components/checklist-block-list-item-evaluation-criteria/checklist-block-list-item-evaluation-criteria.component.mjs +0 -117
  75. package/esm2022/widgets/checklist-block/components/checklist-block-list-item-evaluation-criteria/checklist-block-list-item-evaluation-criteria.options.mjs +0 -2
  76. package/esm2022/widgets/checklist-block/components/checklist-block-list-item-evaluation-criteria/index.mjs +0 -2
  77. package/esm2022/widgets/checklist-block/components/checklist-block-title-control/checklist-block-title-control.component.mjs +0 -39
  78. package/esm2022/widgets/checklist-block/components/checklist-block-title-control/index.mjs +0 -2
  79. package/esm2022/widgets/checklist-block/components/index.mjs +0 -2
  80. package/esm2022/widgets/checklist-block/index.mjs +0 -2
  81. package/esm2022/widgets/checklist-block/services/checklist-block.service.mjs +0 -50
  82. package/esm2022/widgets/checklist-block/services/index.mjs +0 -2
  83. package/esm2022/widgets/criterion-info/criterion-info.component.mjs +0 -137
  84. package/esm2022/widgets/criterion-info/index.mjs +0 -2
  85. package/esm2022/widgets/criterion-info-form/criterion-info-form.component.mjs +0 -147
  86. package/esm2022/widgets/criterion-info-form/criterion-info-form.options.mjs +0 -2
  87. package/esm2022/widgets/criterion-info-form/index.mjs +0 -2
  88. package/esm2022/widgets/criterion-readonly-info/criterion-readonly-info.component.mjs +0 -72
  89. package/esm2022/widgets/criterion-readonly-info/index.mjs +0 -2
  90. package/esm2022/widgets/delete-modal/delete-modal.component.mjs +0 -39
  91. package/esm2022/widgets/delete-modal/delete-modal.options.mjs +0 -2
  92. package/esm2022/widgets/delete-modal/index.mjs +0 -2
  93. package/esm2022/widgets/framer-preview/framer-preview.component.mjs +0 -77
  94. package/esm2022/widgets/framer-preview/framer-preview.options.mjs +0 -2
  95. package/esm2022/widgets/framer-preview/index.mjs +0 -2
  96. package/esm2022/widgets/general-control-error-hint/general-control-error-hint.component.mjs +0 -21
  97. package/esm2022/widgets/general-control-error-hint/index.mjs +0 -2
  98. package/esm2022/widgets/index.mjs +0 -15
  99. package/esm2022/widgets/instruction-info/index.mjs +0 -2
  100. package/esm2022/widgets/instruction-info/instruction-info.component.mjs +0 -147
  101. package/esm2022/widgets/instruction-info-form/index.mjs +0 -2
  102. package/esm2022/widgets/instruction-info-form/instruction-info-form.component.mjs +0 -153
  103. package/esm2022/widgets/instruction-info-form/instruction-info-form.options.mjs +0 -2
  104. package/esm2022/widgets/instruction-readonly-info/index.mjs +0 -2
  105. package/esm2022/widgets/instruction-readonly-info/instruction-readonly-info.component.mjs +0 -72
  106. package/esm2022/widgets/loader/index.mjs +0 -2
  107. package/esm2022/widgets/loader/loader.component.mjs +0 -36
  108. package/esm2022/widgets/select-modal/components/index.mjs +0 -3
  109. package/esm2022/widgets/select-modal/components/select-modal-folder/index.mjs +0 -2
  110. package/esm2022/widgets/select-modal/components/select-modal-folder/select-modal-folder.component.mjs +0 -21
  111. package/esm2022/widgets/select-modal/components/select-modal-search/index.mjs +0 -2
  112. package/esm2022/widgets/select-modal/components/select-modal-search/select-modal-search.component.mjs +0 -32
  113. package/esm2022/widgets/select-modal/index.mjs +0 -4
  114. package/esm2022/widgets/select-modal/select-modal.component.mjs +0 -35
  115. package/esm2022/widgets/select-modal/select-modal.interfaces.mjs +0 -2
  116. package/esm2022/widgets/select-modal/select-modal.service.mjs +0 -23
  117. package/esm2022/widgets/storage-list/components/index.mjs +0 -2
  118. package/esm2022/widgets/storage-list/components/storage-list-item/index.mjs +0 -2
  119. package/esm2022/widgets/storage-list/components/storage-list-item/storage-list-item.component.mjs +0 -87
  120. package/esm2022/widgets/storage-list/index.mjs +0 -3
  121. package/esm2022/widgets/storage-list/storage-list.component.mjs +0 -17
  122. package/esm2022/widgets/storage-list/storage-list.options.mjs +0 -3
  123. package/esm2022/widgets/user-action-context-menu/activity-item/activity-item.component.mjs +0 -61
  124. package/esm2022/widgets/user-action-context-menu/activity-item/index.mjs +0 -2
  125. package/esm2022/widgets/user-action-context-menu/company-item/company-item.component.mjs +0 -68
  126. package/esm2022/widgets/user-action-context-menu/company-item/index.mjs +0 -2
  127. package/esm2022/widgets/user-action-context-menu/constants/index.mjs +0 -2
  128. package/esm2022/widgets/user-action-context-menu/constants/translations.mjs +0 -5
  129. package/esm2022/widgets/user-action-context-menu/i18n/en.json +0 -12
  130. package/esm2022/widgets/user-action-context-menu/i18n/ru.json +0 -12
  131. package/esm2022/widgets/user-action-context-menu/index.mjs +0 -5
  132. package/esm2022/widgets/user-action-context-menu/services/activity-base.service.mjs +0 -32
  133. package/esm2022/widgets/user-action-context-menu/services/activity.service.mjs +0 -35
  134. package/esm2022/widgets/user-action-context-menu/services/index.mjs +0 -3
  135. package/esm2022/widgets/user-action-context-menu/user-action-context-menu.component.mjs +0 -83
  136. package/esm2022/widgets/user-action-context-menu/user-action-context.option.mjs +0 -3
  137. package/esm2022/widgets/utility-modal/components/criterion-modal-create/criterion-modal-create.component.mjs +0 -41
  138. package/esm2022/widgets/utility-modal/components/criterion-modal-create/index.mjs +0 -2
  139. package/esm2022/widgets/utility-modal/components/index.mjs +0 -5
  140. package/esm2022/widgets/utility-modal/components/instruction-modal-create/index.mjs +0 -2
  141. package/esm2022/widgets/utility-modal/components/instruction-modal-create/instruction-modal-create.component.mjs +0 -41
  142. package/esm2022/widgets/utility-modal/components/readonly-criterion-modal/index.mjs +0 -2
  143. package/esm2022/widgets/utility-modal/components/readonly-criterion-modal/readonly-criterion-modal.component.mjs +0 -40
  144. package/esm2022/widgets/utility-modal/components/readonly-instruction-modal/index.mjs +0 -2
  145. package/esm2022/widgets/utility-modal/components/readonly-instruction-modal/readonly-instruction-modal.component.mjs +0 -40
  146. package/esm2022/widgets/utility-modal/components/readonly-utility-modal/index.mjs +0 -2
  147. package/esm2022/widgets/utility-modal/components/readonly-utility-modal/readonly-utility-modal.component.mjs +0 -43
  148. package/esm2022/widgets/utility-modal/components/utility-modal-create/index.mjs +0 -2
  149. package/esm2022/widgets/utility-modal/components/utility-modal-create/utility-modal-create.component.mjs +0 -55
  150. package/esm2022/widgets/utility-modal/index.mjs +0 -4
  151. package/esm2022/widgets/utility-modal/utility-modal.component.mjs +0 -22
  152. package/esm2022/widgets/utility-modal/utility-modal.options.mjs +0 -3
  153. package/esm2022/widgets/utility-readonly-thumbnail/index.mjs +0 -2
  154. package/esm2022/widgets/utility-readonly-thumbnail/utility-readonly-thumbnail.component.mjs +0 -15
  155. package/esm2022/widgets/utility-thumbnail/index.mjs +0 -2
  156. package/esm2022/widgets/utility-thumbnail/utility-thumbnail.component.mjs +0 -94
  157. package/fesm2022/cuby-ui-core-en-D0un3--2.mjs +0 -25
  158. package/fesm2022/cuby-ui-core-en-D0un3--2.mjs.map +0 -1
  159. package/fesm2022/cuby-ui-core-ru-CMm--FpA.mjs +0 -25
  160. package/fesm2022/cuby-ui-core-ru-CMm--FpA.mjs.map +0 -1
  161. package/widgets/categories/categories.component.d.ts +0 -25
  162. package/widgets/categories/components/categories-list/categories-list.component.d.ts +0 -8
  163. package/widgets/categories/components/categories-list/index.d.ts +0 -1
  164. package/widgets/categories/components/category-form/category-form.component.d.ts +0 -28
  165. package/widgets/categories/components/category-form/index.d.ts +0 -1
  166. package/widgets/categories/components/category-item/category-item.component.d.ts +0 -42
  167. package/widgets/categories/components/category-item/index.d.ts +0 -1
  168. package/widgets/categories/components/create-category-item/create-category-item.component.d.ts +0 -10
  169. package/widgets/categories/components/create-category-item/index.d.ts +0 -1
  170. package/widgets/categories/components/index.d.ts +0 -2
  171. package/widgets/categories/index.d.ts +0 -2
  172. package/widgets/categories/services/index.d.ts +0 -1
  173. package/widgets/categories/services/selected-category.service.d.ts +0 -18
  174. package/widgets/checklist-block/checklist-block.component.d.ts +0 -21
  175. package/widgets/checklist-block/checklist-block.options.d.ts +0 -12
  176. package/widgets/checklist-block/components/checklist-block-list/checklist-block-list.component.d.ts +0 -27
  177. package/widgets/checklist-block/components/checklist-block-list/index.d.ts +0 -1
  178. package/widgets/checklist-block/components/checklist-block-list-item-action-card/checklist-block-list-item-action-card.component.d.ts +0 -30
  179. package/widgets/checklist-block/components/checklist-block-list-item-action-card/index.d.ts +0 -1
  180. package/widgets/checklist-block/components/checklist-block-list-item-action-with-verification/checklist-block-list-item-action-with-verification.component.d.ts +0 -11
  181. package/widgets/checklist-block/components/checklist-block-list-item-action-with-verification/index.d.ts +0 -1
  182. package/widgets/checklist-block/components/checklist-block-list-item-action-without-verification/checklist-block-list-item-action-without-verification.component.d.ts +0 -10
  183. package/widgets/checklist-block/components/checklist-block-list-item-action-without-verification/index.d.ts +0 -1
  184. package/widgets/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.component.d.ts +0 -41
  185. package/widgets/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.options.d.ts +0 -5
  186. package/widgets/checklist-block/components/checklist-block-list-item-container/index.d.ts +0 -1
  187. package/widgets/checklist-block/components/checklist-block-list-item-evaluation/checklist-block-list-item-evaluation.component.d.ts +0 -51
  188. package/widgets/checklist-block/components/checklist-block-list-item-evaluation/checklist-block-list-item-evaluation.options.d.ts +0 -14
  189. package/widgets/checklist-block/components/checklist-block-list-item-evaluation/index.d.ts +0 -2
  190. package/widgets/checklist-block/components/checklist-block-list-item-evaluation-criteria/checklist-block-list-item-evaluation-criteria.component.d.ts +0 -33
  191. package/widgets/checklist-block/components/checklist-block-list-item-evaluation-criteria/checklist-block-list-item-evaluation-criteria.options.d.ts +0 -4
  192. package/widgets/checklist-block/components/checklist-block-list-item-evaluation-criteria/index.d.ts +0 -1
  193. package/widgets/checklist-block/components/checklist-block-title-control/checklist-block-title-control.component.d.ts +0 -8
  194. package/widgets/checklist-block/components/checklist-block-title-control/index.d.ts +0 -1
  195. package/widgets/checklist-block/components/index.d.ts +0 -1
  196. package/widgets/checklist-block/index.d.ts +0 -1
  197. package/widgets/checklist-block/services/checklist-block.service.d.ts +0 -19
  198. package/widgets/checklist-block/services/index.d.ts +0 -1
  199. package/widgets/criterion-info/criterion-info.component.d.ts +0 -43
  200. package/widgets/criterion-info/index.d.ts +0 -1
  201. package/widgets/criterion-info-form/criterion-info-form.component.d.ts +0 -39
  202. package/widgets/criterion-info-form/criterion-info-form.options.d.ts +0 -7
  203. package/widgets/criterion-info-form/index.d.ts +0 -2
  204. package/widgets/criterion-readonly-info/criterion-readonly-info.component.d.ts +0 -26
  205. package/widgets/criterion-readonly-info/index.d.ts +0 -1
  206. package/widgets/delete-modal/delete-modal.component.d.ts +0 -13
  207. package/widgets/delete-modal/delete-modal.options.d.ts +0 -7
  208. package/widgets/delete-modal/index.d.ts +0 -2
  209. package/widgets/framer-preview/framer-preview.component.d.ts +0 -26
  210. package/widgets/framer-preview/framer-preview.options.d.ts +0 -5
  211. package/widgets/framer-preview/index.d.ts +0 -2
  212. package/widgets/general-control-error-hint/general-control-error-hint.component.d.ts +0 -9
  213. package/widgets/general-control-error-hint/index.d.ts +0 -1
  214. package/widgets/index.d.ts +0 -14
  215. package/widgets/instruction-info/index.d.ts +0 -1
  216. package/widgets/instruction-info/instruction-info.component.d.ts +0 -45
  217. package/widgets/instruction-info-form/index.d.ts +0 -2
  218. package/widgets/instruction-info-form/instruction-info-form.component.d.ts +0 -43
  219. package/widgets/instruction-info-form/instruction-info-form.options.d.ts +0 -9
  220. package/widgets/instruction-readonly-info/index.d.ts +0 -1
  221. package/widgets/instruction-readonly-info/instruction-readonly-info.component.d.ts +0 -26
  222. package/widgets/loader/index.d.ts +0 -1
  223. package/widgets/loader/loader.component.d.ts +0 -20
  224. package/widgets/select-modal/components/index.d.ts +0 -2
  225. package/widgets/select-modal/components/select-modal-folder/index.d.ts +0 -1
  226. package/widgets/select-modal/components/select-modal-folder/select-modal-folder.component.d.ts +0 -10
  227. package/widgets/select-modal/components/select-modal-search/index.d.ts +0 -1
  228. package/widgets/select-modal/components/select-modal-search/select-modal-search.component.d.ts +0 -12
  229. package/widgets/select-modal/index.d.ts +0 -3
  230. package/widgets/select-modal/select-modal.component.d.ts +0 -13
  231. package/widgets/select-modal/select-modal.interfaces.d.ts +0 -15
  232. package/widgets/select-modal/select-modal.service.d.ts +0 -13
  233. package/widgets/storage-list/components/index.d.ts +0 -1
  234. package/widgets/storage-list/components/storage-list-item/index.d.ts +0 -1
  235. package/widgets/storage-list/components/storage-list-item/storage-list-item.component.d.ts +0 -24
  236. package/widgets/storage-list/index.d.ts +0 -2
  237. package/widgets/storage-list/storage-list.component.d.ts +0 -10
  238. package/widgets/storage-list/storage-list.options.d.ts +0 -16
  239. package/widgets/user-action-context-menu/activity-item/activity-item.component.d.ts +0 -17
  240. package/widgets/user-action-context-menu/activity-item/index.d.ts +0 -1
  241. package/widgets/user-action-context-menu/company-item/company-item.component.d.ts +0 -22
  242. package/widgets/user-action-context-menu/company-item/index.d.ts +0 -1
  243. package/widgets/user-action-context-menu/constants/index.d.ts +0 -1
  244. package/widgets/user-action-context-menu/constants/translations.d.ts +0 -2
  245. package/widgets/user-action-context-menu/index.d.ts +0 -4
  246. package/widgets/user-action-context-menu/services/activity-base.service.d.ts +0 -14
  247. package/widgets/user-action-context-menu/services/activity.service.d.ts +0 -14
  248. package/widgets/user-action-context-menu/services/index.d.ts +0 -2
  249. package/widgets/user-action-context-menu/user-action-context-menu.component.d.ts +0 -29
  250. package/widgets/user-action-context-menu/user-action-context.option.d.ts +0 -15
  251. package/widgets/utility-modal/components/criterion-modal-create/criterion-modal-create.component.d.ts +0 -18
  252. package/widgets/utility-modal/components/criterion-modal-create/index.d.ts +0 -1
  253. package/widgets/utility-modal/components/index.d.ts +0 -4
  254. package/widgets/utility-modal/components/instruction-modal-create/index.d.ts +0 -1
  255. package/widgets/utility-modal/components/instruction-modal-create/instruction-modal-create.component.d.ts +0 -18
  256. package/widgets/utility-modal/components/readonly-criterion-modal/index.d.ts +0 -1
  257. package/widgets/utility-modal/components/readonly-criterion-modal/readonly-criterion-modal.component.d.ts +0 -16
  258. package/widgets/utility-modal/components/readonly-instruction-modal/index.d.ts +0 -1
  259. package/widgets/utility-modal/components/readonly-instruction-modal/readonly-instruction-modal.component.d.ts +0 -16
  260. package/widgets/utility-modal/components/readonly-utility-modal/index.d.ts +0 -1
  261. package/widgets/utility-modal/components/readonly-utility-modal/readonly-utility-modal.component.d.ts +0 -18
  262. package/widgets/utility-modal/components/utility-modal-create/index.d.ts +0 -1
  263. package/widgets/utility-modal/components/utility-modal-create/utility-modal-create.component.d.ts +0 -25
  264. package/widgets/utility-modal/index.d.ts +0 -3
  265. package/widgets/utility-modal/utility-modal.component.d.ts +0 -10
  266. package/widgets/utility-modal/utility-modal.options.d.ts +0 -12
  267. package/widgets/utility-readonly-thumbnail/index.d.ts +0 -1
  268. package/widgets/utility-readonly-thumbnail/utility-readonly-thumbnail.component.d.ts +0 -8
  269. package/widgets/utility-thumbnail/index.d.ts +0 -1
  270. package/widgets/utility-thumbnail/utility-thumbnail.component.d.ts +0 -21
@@ -1,282 +0,0 @@
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 '../../../../widgets';
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy9jaGVja2xpc3QtYmxvY2svY29tcG9uZW50cy9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWV2YWx1YXRpb24vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy9jaGVja2xpc3QtYmxvY2svY29tcG9uZW50cy9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWV2YWx1YXRpb24vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RixPQUFPLEVBQWdDLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25FLE9BQU8sRUFDSCwwQkFBMEIsRUFPN0IsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUFFLG9EQUFvRCxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDeEgsT0FBTyxFQUNI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Q3JFLElBQUksU0FBUyxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTlCLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNCLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDOytHQXZUUSw0Q0FBNEM7bUdBQTVDLDRDQUE0QywrUENoRXpELDA4R0FnR0Esc2xDRHJEUSxvREFBb0Qsd09BQ3BELGVBQWUsbU9BQ2YsaUJBQWlCLHVJQUNqQixvQkFBb0IsOEJBQ3BCLGFBQWEsOEJBQ2IsY0FBYyw4QkFDZCxjQUFjLHNJQUNkLGlCQUFpQiw4QkFDakIsNEJBQTRCLDhCQUM1QixlQUFlLG9JQUNmLHNCQUFzQiwyR0FDdEIsbUJBQW1CLHF3QkFDbkIsa0JBQWtCLGdNQUNsQixvQkFBb0IsNkdBQ3BCLG9CQUFvQjs7NEZBT2YsNENBQTRDO2tCQXhCeEQsU0FBUzsrQkFDSSwwQ0FBMEMsV0FDM0M7d0JBQ0wsb0RBQW9EO3dCQUNwRCxlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLDRCQUE0Qjt3QkFDNUIsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLG9CQUFvQjtxQkFDdkIsY0FDVyxJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTm9uTnVsbGFibGVGb3JtQnVpbGRlciwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEN1aU51bGxhYmxlLCBDdWlEcmFnRHJvcERhdGEsIEN1aURyYWdEcm9wRGlyZWN0aXZlLCBDdWlEcmFnTGlzdERpcmVjdGl2ZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQgeyBUcmFuc2xvY29EaXJlY3RpdmUgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xuaW1wb3J0IHsgZmluYWxpemUsIG9mLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBDdWlOb2RlQ2hlY2tsaXN0QXBpU2VydmljZSxcbiAgICBOb2RlQ2hlY2tMaXN0RXZhbHVhdGlvbkNyaXRlcmlhLFxuICAgIE5vZGVDaGVja0xpc3RFdmFsdWF0aW9uSXRlbUNvbnRlbnQsXG4gICAgTm9kZUNoZWNrTGlzdEl0ZW0sXG4gICAgTm9kZUNoZWNrTGlzdEl0ZW1Db250ZW50QWN0aW9uLFxuICAgIE5vZGVDaGVja0xpc3RJdGVtU3dpdGNoQ29udGVudFBvaW50ZXIsXG4gICAgTm9kZUNoZWNrTGlzdEl0ZW1Td2l0Y2hDb250ZW50UmVxdWVzdFBhcmFtc1xufSBmcm9tICdAY3VieS11aS9hcGknO1xuXG5pbXBvcnQgeyBDdWlDaGVja0xpc3RCbG9ja0xpc3RJdGVtRXZhbHVhdGlvbkNyaXRlcmlhQ29tcG9uZW50IH0gZnJvbSAnLi4vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhJztcbmltcG9ydCB7XG4gICAgQ3VpQnV0dG9uTW9kdWxlLFxuICAgIEN1aUNoZWNrYm94TW9kdWxlLFxuICAgIEN1aUNvbnRleHRNZW51TW9kdWxlLFxuICAgIEN1aURpYWxvZ1NlcnZpY2UsXG4gICAgQ3VpSGludE1vZHVsZSxcbiAgICBDdWlJbnB1dE1vZHVsZSxcbiAgICBDdWlMYWJlbE1vZHVsZSxcbiAgICBDdWlUZXh0YXJlYU1vZHVsZSxcbiAgICBDdWlUb2dnbGVNb2R1bGUsXG4gICAgQ3VpRW1wdHlTdGF0ZUNvbXBvbmVudFxufSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzJztcbmltcG9ydCB7IEN1aURlbGV0ZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vd2lkZ2V0cyc7XG5pbXBvcnQgeyBDdWlUZXh0RmllbGRDb250cm9sbGVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBjdWlDcmVhdGVEZWZhdWx0VmFsaWRhdG9ycyB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJztcblxuaW1wb3J0IHR5cGUge1xuICAgIEN1aUV2YWx1YXRpb25Dcml0ZXJpYUVsZW1lbnREYXRhLFxuICAgIEN1aUV2YWx1YXRpb25Dcml0ZXJpYUdyb3VwXG59IGZyb20gJy4vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLm9wdGlvbnMnO1xuaW1wb3J0IHsgQ3VpQ2hlY2tMaXN0QmxvY2tTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2N1aS1jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWV2YWx1YXRpb24nLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ3VpQ2hlY2tMaXN0QmxvY2tMaXN0SXRlbUV2YWx1YXRpb25Dcml0ZXJpYUNvbXBvbmVudCxcbiAgICAgICAgQ3VpQnV0dG9uTW9kdWxlLFxuICAgICAgICBDdWlDaGVja2JveE1vZHVsZSxcbiAgICAgICAgQ3VpQ29udGV4dE1lbnVNb2R1bGUsXG4gICAgICAgIEN1aUhpbnRNb2R1bGUsXG4gICAgICAgIEN1aUlucHV0TW9kdWxlLFxuICAgICAgICBDdWlMYWJlbE1vZHVsZSxcbiAgICAgICAgQ3VpVGV4dGFyZWFNb2R1bGUsXG4gICAgICAgIEN1aVRleHRGaWVsZENvbnRyb2xsZXJNb2R1bGUsXG4gICAgICAgIEN1aVRvZ2dsZU1vZHVsZSxcbiAgICAgICAgQ3VpRW1wdHlTdGF0ZUNvbXBvbmVudCxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgVHJhbnNsb2NvRGlyZWN0aXZlLFxuICAgICAgICBDdWlEcmFnRHJvcERpcmVjdGl2ZSxcbiAgICAgICAgQ3VpRHJhZ0xpc3REaXJlY3RpdmVcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrbGlzdC1ibG9jay1saXN0LWl0ZW0tZXZhbHVhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2NoZWNrbGlzdC1ibG9jay1saXN0LWl0ZW0tZXZhbHVhdGlvbi5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQ3VpQ2hlY2tMaXN0QmxvY2tMaXN0SXRlbUV2YWx1YXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbm9uTnVsbGFibGVGb3JtQnVpbGRlciA9IGluamVjdChOb25OdWxsYWJsZUZvcm1CdWlsZGVyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5vZGVDaGVja0xpc3RBcGlTZXJ2aWNlID0gaW5qZWN0KEN1aU5vZGVDaGVja2xpc3RBcGlTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoZWNrTGlzdEJsb2NrU2VydmljZSA9IGluamVjdChDdWlDaGVja0xpc3RCbG9ja1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY3VpRGlhbG9nU2VydmljZSA9IGluamVjdChDdWlEaWFsb2dTZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNBdmFpbGFibGVPYnNlcnZlciA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGhvdG9Gb3JtR3JvdXAgPSB0aGlzLm5vbk51bGxhYmxlRm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICBpc0VuYWJsZTogZmFsc2UsXG4gICAgICAgIGlzUmVxdWlyZWQ6IHtcbiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcbiAgICAgICAgICAgIGRpc2FibGVkOiB0cnVlXG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29tbWVudEZvcm1Hcm91cCA9IHRoaXMubm9uTnVsbGFibGVGb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgIGlzRW5hYmxlOiBmYWxzZSxcbiAgICAgICAgaXNSZXF1aXJlZDoge1xuICAgICAgICAgICAgdmFsdWU6IGZhbHNlLFxuICAgICAgICAgICAgZGlzYWJsZWQ6IHRydWVcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkgPSB0aGlzLm5vbk51bGxhYmxlRm9ybUJ1aWxkZXIuYXJyYXk8Rm9ybUdyb3VwPihbXSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbG9hZGluZ0lkcyA9IHNpZ25hbDxSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4oe30pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc0FkZEJ1dHRvbkRpc2FibGVkID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXNzaWduZWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNoZWNrTGlzdEl0ZW0oKS5jb250ZW50LmFjdGlvbnNBc3NpZ25lZSFbMF0pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBhdHRhY2htZW50UGhvdG9BY3Rpb24gPSBjb21wdXRlZDxOb2RlQ2hlY2tMaXN0SXRlbUNvbnRlbnRBY3Rpb24+KFxuICAgICAgICAoKSA9PiB0aGlzLmFzc2lnbmVlKCkuYWN0aW9ucy5maW5kKChjb250ZW50QWN0aW9uKSA9PiBjb250ZW50QWN0aW9uLmNvbnRlbnRBY3Rpb25UeXBlID09PSAnQVRUQUNITUVOVF9QSE9UTycpIVxuICAgICk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRleHRBcmVhQWN0aW9uID0gY29tcHV0ZWQ8Tm9kZUNoZWNrTGlzdEl0ZW1Db250ZW50QWN0aW9uPihcbiAgICAgICAgKCkgPT4gdGhpcy5hc3NpZ25lZSgpLmFjdGlvbnMuZmluZCgoY29udGVudEFjdGlvbikgPT4gY29udGVudEFjdGlvbi5jb250ZW50QWN0aW9uVHlwZSA9PT0gJ1RFWFRfQVJFQScpIVxuICAgICk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgY2hlY2tMaXN0SXRlbSA9IGlucHV0LnJlcXVpcmVkPE5vZGVDaGVja0xpc3RJdGVtPE5vZGVDaGVja0xpc3RFdmFsdWF0aW9uSXRlbUNvbnRlbnQ+PigpO1xuXG4gICAgcHJvdGVjdGVkIGdldFBvaW50ZXIoY3VycmVudEluZGV4OiBudW1iZXIpOiBOb2RlQ2hlY2tMaXN0SXRlbVN3aXRjaENvbnRlbnRQb2ludGVyIHtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnRJbmRleCA9PT0gMFxuICAgICAgICAgICAgPyBOb2RlQ2hlY2tMaXN0SXRlbVN3aXRjaENvbnRlbnRQb2ludGVyLkJFRk9SRVxuICAgICAgICAgICAgOiBOb2RlQ2hlY2tMaXN0SXRlbVN3aXRjaENvbnRlbnRQb2ludGVyLkFGVEVSO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRUYXJnZXRJbmRleChjdXJyZW50SW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBjdXJyZW50SW5kZXggPT09IDAgPyAxIDogY3VycmVudEluZGV4IC0gMTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Ecm9wKGV2ZW50OiBDdWlEcmFnRHJvcERhdGEpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBwcmV2SW5kZXgsIGluZGV4IH0gPSBldmVudDtcblxuICAgICAgICBpZiAocHJldkluZGV4ID09PSBpbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5tb3ZlSXRlbUluQXJyYXkodGhpcy5ldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkuY29udHJvbHMsIHByZXZJbmRleCwgaW5kZXgpO1xuICAgICAgICBjb25zdCBtb3ZpbmdFbGVtZW50SWQ6IHN0cmluZyA9IHRoaXMuZXZhbHVhdGlvbkNyaXRlcmlhRm9ybUFycmF5LmF0KGluZGV4KS52YWx1ZS5pZDtcbiAgICAgICAgY29uc3QgdGFyZ2V0SXRlbUlkOiBzdHJpbmcgPSB0aGlzLmV2YWx1YXRpb25Dcml0ZXJpYUZvcm1BcnJheS5hdCh0aGlzLmdldFRhcmdldEluZGV4KGluZGV4KSkudmFsdWUuaWQ7XG4gICAgICAgIGNvbnN0IHBvaW50ZXI6IE5vZGVDaGVja0xpc3RJdGVtU3dpdGNoQ29udGVudFBvaW50ZXIgPSB0aGlzLmdldFBvaW50ZXIoaW5kZXgpO1xuXG4gICAgICAgIGNvbnN0IHJlcXVlc3RCb2R5OiBOb2RlQ2hlY2tMaXN0SXRlbVN3aXRjaENvbnRlbnRSZXF1ZXN0UGFyYW1zID0ge1xuICAgICAgICAgICAgbm9kZUNoZWNrTGlzdElkOiB0aGlzLmNoZWNrTGlzdEl0ZW0oKS5pZCxcbiAgICAgICAgICAgIGxpc3RFdmFsdWF0aW9uSWQ6IHRoaXMuYXNzaWduZWUoKS5pZCxcbiAgICAgICAgICAgIG1vdmluZ0VsZW1lbnRJZCxcbiAgICAgICAgICAgIHRhcmdldEl0ZW1JZCxcbiAgICAgICAgICAgIHBvaW50ZXJcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLm5vZGVDaGVja0xpc3RBcGlTZXJ2aWNlLnVwZGF0ZU5vZGVDaGVja0xpc3RJdGVtU3dpdGNoQ29udGVudChyZXF1ZXN0Qm9keSkuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5tb3ZlSXRlbUluQXJyYXkodGhpcy5ldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkuY29udHJvbHMsIGluZGV4LCBwcmV2SW5kZXgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkFkZEV2YWx1YXRpb25Dcml0ZXJpYUl0ZW0oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGV2YWx1YXRpb25JdGVtQ29udHJvbCA9IHRoaXMuY3JlYXRlRXZhbHVhdGlvbkZvcm1Hcm91cCgpO1xuXG4gICAgICAgIHRoaXMuaXNBZGRCdXR0b25EaXNhYmxlZC5zZXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZXZhbHVhdGlvbkNyaXRlcmlhRm9ybUFycmF5LnB1c2goZXZhbHVhdGlvbkl0ZW1Db250cm9sKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25TYXZlRXZhbHVhdGlvbkNyaXRlcmlhKGdyb3VwOiBDdWlFdmFsdWF0aW9uQ3JpdGVyaWFHcm91cCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpc05ldyA9IGdyb3VwLmlzTmV3LnZhbHVlO1xuXG4gICAgICAgIGlmIChpc05ldykge1xuICAgICAgICAgICAgdGhpcy5hZGRFdmFsdWF0aW9uQ3JpdGVyaWEoZ3JvdXApO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZUV2YWx1YXRpb25Dcml0ZXJpYShncm91cCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ2FuY2VsTmV3RXZhbHVhdGlvbkNyaXRlcmlhKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBsYXN0SW5kZXggPSB0aGlzLmV2YWx1YXRpb25Dcml0ZXJpYUZvcm1BcnJheS5sZW5ndGggLSAxO1xuXG4gICAgICAgIHRoaXMuaXNBZGRCdXR0b25EaXNhYmxlZC5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLmV2YWx1YXRpb25Dcml0ZXJpYUZvcm1BcnJheS5yZW1vdmVBdChsYXN0SW5kZXgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvcGVuTW9kYWxEZWxldGVFdmFsdWF0aW9uQ3JpdGVyaWEoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gWydERUxFVEVfRVZBTFVBVElPTl9DSEVDS0xJU1RfSVRFTV9DT05GSVJNQVRJT05fVEVYVCddO1xuICAgICAgICBjb25zdCBjcml0ZXJpYSA9IHRoaXMuZmluZEV4aXN0aW5nRXZhbHVhdGlvbkNyaXRlcmlhKGlkKTtcblxuICAgICAgICBpZiAoIWNyaXRlcmlhPy5pZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sb2FkaW5nSWRzLnVwZGF0ZSgoaWRzKSA9PiAoeyAuLi5pZHMsIFtjcml0ZXJpYS5pZF06IHRydWUgfSkpO1xuICAgICAgICB0aGlzLmN1aURpYWxvZ1NlcnZpY2VcbiAgICAgICAgICAgIC5vcGVuKEN1aURlbGV0ZU1vZGFsQ29tcG9uZW50LCB7XG4gICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0RFTEVURV9FVkFMVUFUSU9OX0NIRUNLTElTVF9JVEVNJyxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudCxcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlOiAoKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ub2RlQ2hlY2tMaXN0QXBpU2VydmljZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kZWxldGVFdmFsdWF0aW9uQ3JpdGVyaWFJdGVtKHRoaXMuY2hlY2tMaXN0SXRlbSgpLmlkLCB0aGlzLmFzc2lnbmVlKCkuaWQsIGNyaXRlcmlhLmlkKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKGNoZWNrTGlzdEl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5ldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkuY29udHJvbHMuZmluZEluZGV4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb250cm9sKSA9PiBjb250cm9sLnZhbHVlLmlkID09PSBpZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVja0xpc3RCbG9ja1NlcnZpY2UudXBkYXRlQ2hlY2tMaXN0SXRlbShjaGVja0xpc3RJdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXZhbHVhdGlvbkNyaXRlcmlhRm9ybUFycmF5LnJlbW92ZUF0KGluZGV4KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNvbXBsZXRlRXZhbHVhdGlvbkNyaXRlcmlhRGVsZXRpb24oY3JpdGVyaWEpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29tcGxldGVFdmFsdWF0aW9uQ3JpdGVyaWFEZWxldGlvbihjcml0ZXJpYTogTm9kZUNoZWNrTGlzdEV2YWx1YXRpb25Dcml0ZXJpYSk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvYWRpbmdJZHMudXBkYXRlKChpZHMpID0+IHtcbiAgICAgICAgICAgIGRlbGV0ZSBpZHNbY3JpdGVyaWEuaWRdO1xuXG4gICAgICAgICAgICByZXR1cm4geyAuLi5pZHMgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkNoZWNrTGlzdEFjdGlvbkNoYW5nZWQoYWN0aW9uSWQ6IHN0cmluZywgYWN0aW9uQ29udGVudDogTm9kZUNoZWNrTGlzdEl0ZW1Db250ZW50QWN0aW9uKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3REYXRhID0ge1xuICAgICAgICAgICAgbm9kZUNoZWNrTGlzdElkOiB0aGlzLmNoZWNrTGlzdEl0ZW0oKS5pZCxcbiAgICAgICAgICAgIGFzc2lnbmVlQWN0aW9uVHlwZTogJ0FTU0lHTicsXG4gICAgICAgICAgICBhY3Rpb25JZCxcbiAgICAgICAgICAgIGNvbnRlbnRJZDogYWN0aW9uQ29udGVudC5pZCxcbiAgICAgICAgICAgIGlzRW5hYmxlOiBhY3Rpb25Db250ZW50LmlzRW5hYmxlLFxuICAgICAgICAgICAgaXNSZXF1aXJlZDogYWN0aW9uQ29udGVudC5pc1JlcXVpcmVkXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5ub2RlQ2hlY2tMaXN0QXBpU2VydmljZS51cGRhdGVOb2RlQ2hlY2tMaXN0SXRlbUFjdGlvbkNvbnRlbnQocmVxdWVzdERhdGEpLnN1YnNjcmliZSgoY2hlY2tMaXN0SXRlbSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jaGVja0xpc3RCbG9ja1NlcnZpY2UudXBkYXRlQ2hlY2tMaXN0SXRlbShjaGVja0xpc3RJdGVtKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRFdmFsdWF0aW9uRm9ybVZhbHVlcygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdEV2YWx1YXRpb25Gb3JtVmFsdWVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV2YWx1YXRpb25Dcml0ZXJpYUZvcm1BcnJheS5jbGVhcigpO1xuICAgICAgICB0aGlzLnBob3RvRm9ybUdyb3VwLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgaXNFbmFibGU6IHRoaXMuYXR0YWNobWVudFBob3RvQWN0aW9uKCkuaXNFbmFibGUsXG4gICAgICAgICAgICBpc1JlcXVpcmVkOiB0aGlzLmF0dGFjaG1lbnRQaG90b0FjdGlvbigpLmlzUmVxdWlyZWRcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29tbWVudEZvcm1Hcm91cC5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIGlzRW5hYmxlOiB0aGlzLnRleHRBcmVhQWN0aW9uKCkuaXNFbmFibGUsXG4gICAgICAgICAgICBpc1JlcXVpcmVkOiB0aGlzLnRleHRBcmVhQWN0aW9uKCkuaXNSZXF1aXJlZFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGhpcy5hdHRhY2htZW50UGhvdG9BY3Rpb24oKS5pc0VuYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5waG90b0Zvcm1Hcm91cC5jb250cm9scy5pc1JlcXVpcmVkLmVuYWJsZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudGV4dEFyZWFBY3Rpb24oKS5pc0VuYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5jb21tZW50Rm9ybUdyb3VwLmNvbnRyb2xzLmlzUmVxdWlyZWQuZW5hYmxlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmluaXRBY3Rpb25Gb3JtU2VnbWVudHNTdWJzY3JpcHRpb25zKCk7XG5cbiAgICAgICAgdGhpcy5hc3NpZ25lZSgpLmFjY2VwdGFuY2VDcml0ZXJpYUV2YWx1YXRpb25zLmZvckVhY2goKGV2YWx1YXRpb25Dcml0ZXJpYTogTm9kZUNoZWNrTGlzdEV2YWx1YXRpb25Dcml0ZXJpYSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZXZhbHVhdGlvbkl0ZW1Db250cm9sID0gdGhpcy5jcmVhdGVFdmFsdWF0aW9uRm9ybUdyb3VwKHtcbiAgICAgICAgICAgICAgICBpc05ldzogZmFsc2UsXG4gICAgICAgICAgICAgICAgY3JpdGVyaWE6IGV2YWx1YXRpb25Dcml0ZXJpYS5jcml0ZXJpYSxcbiAgICAgICAgICAgICAgICBldmFsdWF0aW9uOiBldmFsdWF0aW9uQ3JpdGVyaWEuZXZhbHVhdGlvbixcbiAgICAgICAgICAgICAgICBpZDogZXZhbHVhdGlvbkNyaXRlcmlhLmlkXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5ldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkucHVzaChldmFsdWF0aW9uSXRlbUNvbnRyb2wpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRBY3Rpb25Gb3JtU2VnbWVudHNTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRQaG90b0dyb3VwU3Vic2NyaXB0aW9uKCk7XG4gICAgICAgIHRoaXMuaW5pdENvbW1lbnRHcm91cFN1YnNjcmlwdGlvbigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFBob3RvR3JvdXBTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGhvdG9Gb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuaXNBdmFpbGFibGVPYnNlcnZlcikpLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIGlmICghdmFsdWUuaXNFbmFibGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBob3RvRm9ybUdyb3VwLmdldCgnaXNSZXF1aXJlZCcpPy5zZXRWYWx1ZShmYWxzZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMucGhvdG9Gb3JtR3JvdXAuZ2V0KCdpc1JlcXVpcmVkJyk/LmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMub25DaGVja0xpc3RBY3Rpb25DaGFuZ2VkKHRoaXMuYXNzaWduZWUoKS5pZCwge1xuICAgICAgICAgICAgICAgICAgICBpZDogdGhpcy5hdHRhY2htZW50UGhvdG9BY3Rpb24oKS5pZCxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudEFjdGlvblR5cGU6IHRoaXMuYXR0YWNobWVudFBob3RvQWN0aW9uKCkuY29udGVudEFjdGlvblR5cGUsXG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMucGhvdG9Gb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnBob3RvRm9ybUdyb3VwLmdldCgnaXNSZXF1aXJlZCcpPy5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgdGhpcy5vbkNoZWNrTGlzdEFjdGlvbkNoYW5nZWQodGhpcy5hc3NpZ25lZSgpLmlkLCB7XG4gICAgICAgICAgICAgICAgaWQ6IHRoaXMuYXR0YWNobWVudFBob3RvQWN0aW9uKCkuaWQsXG4gICAgICAgICAgICAgICAgY29udGVudEFjdGlvblR5cGU6IHRoaXMuYXR0YWNobWVudFBob3RvQWN0aW9uKCkuY29udGVudEFjdGlvblR5cGUsXG4gICAgICAgICAgICAgICAgLi4udGhpcy5waG90b0Zvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0Q29tbWVudEdyb3VwU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbW1lbnRGb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuaXNBdmFpbGFibGVPYnNlcnZlcikpLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIGlmICghdmFsdWUuaXNFbmFibGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbW1lbnRGb3JtR3JvdXAuZ2V0KCdpc1JlcXVpcmVkJyk/LnNldFZhbHVlKGZhbHNlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21tZW50Rm9ybUdyb3VwLmdldCgnaXNSZXF1aXJlZCcpPy5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hlY2tMaXN0QWN0aW9uQ2hhbmdlZCh0aGlzLmFzc2lnbmVlKCkuaWQsIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHRoaXMudGV4dEFyZWFBY3Rpb24oKS5pZCxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudEFjdGlvblR5cGU6IHRoaXMudGV4dEFyZWFBY3Rpb24oKS5jb250ZW50QWN0aW9uVHlwZSxcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5jb21tZW50Rm9ybUdyb3VwLmdldFJhd1ZhbHVlKClcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jb21tZW50Rm9ybUdyb3VwLmdldCgnaXNSZXF1aXJlZCcpPy5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgdGhpcy5vbkNoZWNrTGlzdEFjdGlvbkNoYW5nZWQodGhpcy5hc3NpZ25lZSgpLmlkLCB7XG4gICAgICAgICAgICAgICAgaWQ6IHRoaXMudGV4dEFyZWFBY3Rpb24oKS5pZCxcbiAgICAgICAgICAgICAgICBjb250ZW50QWN0aW9uVHlwZTogdGhpcy50ZXh0QXJlYUFjdGlvbigpLmNvbnRlbnRBY3Rpb25UeXBlLFxuICAgICAgICAgICAgICAgIC4uLnRoaXMuY29tbWVudEZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVFdmFsdWF0aW9uQ3JpdGVyaWEoZ3JvdXA6IEN1aUV2YWx1YXRpb25Dcml0ZXJpYUdyb3VwKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGV2YWx1YXRpb24gPSBncm91cC5ldmFsdWF0aW9uLnZhbHVlO1xuICAgICAgICBjb25zdCBjcml0ZXJpYSA9IGdyb3VwLmNyaXRlcmlhLnZhbHVlO1xuICAgICAgICBjb25zdCBpZCA9IGdyb3VwLmlkLnZhbHVlO1xuXG4gICAgICAgIHRoaXMubm9kZUNoZWNrTGlzdEFwaVNlcnZpY2VcbiAgICAgICAgICAgIC51cGRhdGVFdmFsdWF0aW9uQ3JpdGVyaWFJdGVtKHRoaXMuY2hlY2tMaXN0SXRlbSgpLmlkLCB0aGlzLmFzc2lnbmVlKCkuaWQsIGlkLCBjcml0ZXJpYSwgZXZhbHVhdGlvbilcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGNoZWNrTGlzdEl0ZW0pID0+IHRoaXMuY2hlY2tMaXN0QmxvY2tTZXJ2aWNlLnVwZGF0ZUNoZWNrTGlzdEl0ZW0oY2hlY2tMaXN0SXRlbSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkRXZhbHVhdGlvbkNyaXRlcmlhKGdyb3VwOiBDdWlFdmFsdWF0aW9uQ3JpdGVyaWFHcm91cCk6IHZvaWQge1xuICAgICAgICBjb25zdCBldmFsdWF0aW9uID0gZ3JvdXAuZXZhbHVhdGlvbi52YWx1ZTtcbiAgICAgICAgY29uc3QgY3JpdGVyaWEgPSBncm91cC5jcml0ZXJpYS52YWx1ZTtcblxuICAgICAgICB0aGlzLm5vZGVDaGVja0xpc3RBcGlTZXJ2aWNlXG4gICAgICAgICAgICAuYWRkRXZhbHVhdGlvbkNyaXRlcmlhSXRlbSh0aGlzLmNoZWNrTGlzdEl0ZW0oKS5pZCwgdGhpcy5hc3NpZ25lZSgpLmlkLCBjcml0ZXJpYSwgZXZhbHVhdGlvbilcbiAgICAgICAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+IHRoaXMuaXNBZGRCdXR0b25EaXNhYmxlZC5zZXQoZmFsc2UpKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGNoZWNrTGlzdEl0ZW0pID0+IHRoaXMudXBkYXRlQ3JlYXRlZEV2YWx1YXRpb25Dcml0ZXJpYShjaGVja0xpc3RJdGVtKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDcmVhdGVkRXZhbHVhdGlvbkNyaXRlcmlhKFxuICAgICAgICBjaGVja0xpc3RJdGVtOiBOb2RlQ2hlY2tMaXN0SXRlbTxOb2RlQ2hlY2tMaXN0RXZhbHVhdGlvbkl0ZW1Db250ZW50PlxuICAgICk6IHZvaWQge1xuICAgICAgICBjb25zdCBhY2NlcHRhbmNlQ3JpdGVyaWFFdmFsdWF0aW9ucyA9IGNoZWNrTGlzdEl0ZW0uY29udGVudC5hY3Rpb25zQXNzaWduZWUhWzBdLmFjY2VwdGFuY2VDcml0ZXJpYUV2YWx1YXRpb25zO1xuICAgICAgICBjb25zdCBpZCA9IGFjY2VwdGFuY2VDcml0ZXJpYUV2YWx1YXRpb25zLmF0KC0xKT8uaWQ7XG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmV2YWx1YXRpb25Dcml0ZXJpYUZvcm1BcnJheS5jb250cm9scy5hdCgtMSk/LmdldFJhd1ZhbHVlKCk7XG4gICAgICAgIGNvbnN0IGNyZWF0ZWRDb250cm9sID0gdGhpcy5jcmVhdGVFdmFsdWF0aW9uRm9ybUdyb3VwKHsgLi4uY29udHJvbCwgaWQsIGlzTmV3OiBmYWxzZSB9KTtcblxuICAgICAgICB0aGlzLmV2YWx1YXRpb25Dcml0ZXJpYUZvcm1BcnJheS5yZW1vdmVBdCgtMSk7XG4gICAgICAgIHRoaXMuZXZhbHVhdGlvbkNyaXRlcmlhRm9ybUFycmF5LnB1c2goY3JlYXRlZENvbnRyb2wpO1xuICAgICAgICB0aGlzLmNoZWNrTGlzdEJsb2NrU2VydmljZS51cGRhdGVDaGVja0xpc3RJdGVtKGNoZWNrTGlzdEl0ZW0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRXZhbHVhdGlvbkZvcm1Hcm91cCh7XG4gICAgICAgIGlkLFxuICAgICAgICBjcml0ZXJpYSA9ICcnLFxuICAgICAgICBldmFsdWF0aW9uID0gbnVsbCxcbiAgICAgICAgaXNOZXcgPSB0cnVlXG4gICAgfTogQ3VpRXZhbHVhdGlvbkNyaXRlcmlhRWxlbWVudERhdGEgPSB7fSk6IEZvcm1Hcm91cCB7XG4gICAgICAgIHJldHVybiB0aGlzLm5vbk51bGxhYmxlRm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgaWQ6IFtpZF0sXG4gICAgICAgICAgICBjcml0ZXJpYTogW2NyaXRlcmlhLCBjdWlDcmVhdGVEZWZhdWx0VmFsaWRhdG9ycyh7IG1heExlbmd0aDogNTAwIH0pXSxcbiAgICAgICAgICAgIGV2YWx1YXRpb246IFtldmFsdWF0aW9uLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgICAgICAgaXNOZXc6IFtpc05ld11cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kRXhpc3RpbmdFdmFsdWF0aW9uQ3JpdGVyaWEoaWQ6IHN0cmluZyk6IEN1aU51bGxhYmxlPE5vZGVDaGVja0xpc3RFdmFsdWF0aW9uQ3JpdGVyaWE+IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuYXNzaWduZWUoKS5hY2NlcHRhbmNlQ3JpdGVyaWFFdmFsdWF0aW9ucy5maW5kKFxuICAgICAgICAgICAgICAgIChldmFsdWF0aW9uQ3JpdGVyaWE6IE5vZGVDaGVja0xpc3RFdmFsdWF0aW9uQ3JpdGVyaWEpID0+IGV2YWx1YXRpb25Dcml0ZXJpYS5pZCA9PT0gaWRcbiAgICAgICAgICAgICkgfHwgbnVsbFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgbW92ZUl0ZW1JbkFycmF5PFQ+KGFycmF5OiBUW10sIGZyb21JbmRleDogbnVtYmVyLCB0b0luZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKGZyb21JbmRleCA9PT0gdG9JbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXRlbSA9IGFycmF5W2Zyb21JbmRleF07XG5cbiAgICAgICAgYXJyYXkuc3BsaWNlKGZyb21JbmRleCwgMSk7XG4gICAgICAgIGFycmF5LnNwbGljZSh0b0luZGV4LCAwLCBpdGVtKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdFwiPlxuICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbl9faW5wdXRzLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWN0aW9uX19pbnB1dFwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJwaG90b0Zvcm1Hcm91cFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGN1aUxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1aUNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaXNFbmFibGVcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICB7eyB0KCdQSE9UTycpIH19XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8bGFiZWwgY3VpTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VpVG9nZ2xlXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaXNSZXF1aXJlZFwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIHt7IHQoJ1JFUVVJUkVEJykgfX1cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb25fX2lucHV0XCJcbiAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT1cImNvbW1lbnRGb3JtR3JvdXBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjdWlMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBjdWlDaGVja2JveFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImlzRW5hYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAge3sgdCgnQ09NTUVOVCcpIH19XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8bGFiZWwgY3VpTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VpVG9nZ2xlXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaXNSZXF1aXJlZFwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIHt7IHQoJ1JFUVVJUkVEJykgfX1cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uX19jcml0ZXJpYS10aXRsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgIGN1aUxhYmVsXG4gICAgICAgICAgICAgICAgW2lzUmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgZm9yPVwiZXZhbHVhdGlvbkNyaXRlcmlhXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyB0KCdFVkFMVUFUSU9OX0NSSVRFUklBJykgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImFjdGlvbl9fY3JpdGVyaWEtc3VidGl0bGVcIj57eyB0KCdFQUNIX0VWQUxVQVRJT05fQ1JJVEVSSU9OX1NIT1VMRF9CRScpIH19PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHVsXG4gICAgICAgICAgICBjdWlEcmFnTGlzdFxuICAgICAgICAgICAgY2xhc3M9XCJsaXN0XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgQGZvciAoY29udHJvbCBvZiBldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkuY29udHJvbHM7IHRyYWNrIGNvbnRyb2wuY29udHJvbHNbJ2lkJ107IGxldCBpbmRleCA9ICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICBjdWlDaGVja2xpc3RCbG9ja0xpc3RJdGVtRXZhbHVhdGlvbkNyaXRlcmlhXG4gICAgICAgICAgICAgICAgICAgIFtpbmRleF09XCJpbmRleCArIDFcIlxuICAgICAgICAgICAgICAgICAgICBjdWlEcmFnRHJvcFxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNBZGRCdXR0b25EaXNhYmxlZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgKGVsZW1lbnREcmFnZ2VkKT1cIm9uRHJvcCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW2NyaXRlcmlhR3JvdXBdPVwiY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgIFtldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXldPVwiZXZhbHVhdGlvbkNyaXRlcmlhRm9ybUFycmF5XCJcbiAgICAgICAgICAgICAgICAgICAgW2xvYWRpbmdJZHNdPVwibG9hZGluZ0lkcygpXCJcbiAgICAgICAgICAgICAgICAgICAgKHNhdmVDbGlja2VkKT1cIm9uU2F2ZUV2YWx1YXRpb25Dcml0ZXJpYSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKGNhbmNlbENsaWNrZWQpPVwib25DYW5jZWxOZXdFdmFsdWF0aW9uQ3JpdGVyaWEoKVwiXG4gICAgICAgICAgICAgICAgICAgIChkZWxldGVDbGlja2VkKT1cIm9wZW5Nb2RhbERlbGV0ZUV2YWx1YXRpb25Dcml0ZXJpYSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+PC9saT5cbiAgICAgICAgICAgIH0gQGVtcHR5IHtcbiAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgY3VpRW1wdHlTdGF0ZVxuICAgICAgICAgICAgICAgICAgICBbc3VidGl0bGVdPVwidCgnTk9fRVZBTFVBVElPTl9DUklURVJJQV9UT19WSUVXJylcIlxuICAgICAgICAgICAgICAgID48L2xpPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L3VsPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uX19mb290ZXJcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBjdWlCdXR0b25cbiAgICAgICAgICAgICAgICBzaXplPVwieHhzXCJcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25QbHVzXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNBZGRCdXR0b25EaXNhYmxlZCgpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25BZGRFdmFsdWF0aW9uQ3JpdGVyaWFJdGVtKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHQoJ05FV19PUFRJT04nKSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvY2hlY2tsaXN0LWJsb2NrL2NvbXBvbmVudHMvY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uL2NoZWNrbGlzdC1ibG9jay1saXN0LWl0ZW0tZXZhbHVhdGlvbi5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgdHlwZSB7IEN1aU51bGxhYmxlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VpRXZhbHVhdGlvbkNyaXRlcmlhR3JvdXAge1xyXG4gICAgaWQ6IEZvcm1Db250cm9sPHN0cmluZz47XHJcbiAgICBjcml0ZXJpYTogRm9ybUNvbnRyb2w8c3RyaW5nPjtcclxuICAgIGV2YWx1YXRpb246IEZvcm1Db250cm9sPG51bWJlcj47XHJcbiAgICBpc05ldzogRm9ybUNvbnRyb2w8Ym9vbGVhbj47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VpRXZhbHVhdGlvbkNyaXRlcmlhRWxlbWVudERhdGEge1xyXG4gICAgaWQ/OiBzdHJpbmc7XHJcbiAgICBjcml0ZXJpYT86IHN0cmluZztcclxuICAgIGV2YWx1YXRpb24/OiBDdWlOdWxsYWJsZTxudW1iZXI+O1xyXG4gICAgaXNOZXc/OiBib29sZWFuO1xyXG59XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export { CuiCheckListBlockListItemEvaluationComponent } from './checklist-block-list-item-evaluation.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvY2hlY2tsaXN0LWJsb2NrL2NvbXBvbmVudHMvY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQ3VpQ2hlY2tMaXN0QmxvY2tMaXN0SXRlbUV2YWx1YXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NoZWNrbGlzdC1ibG9jay1saXN0LWl0ZW0tZXZhbHVhdGlvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgdHlwZSB7IEN1aUV2YWx1YXRpb25Dcml0ZXJpYUdyb3VwIH0gZnJvbSAnLi9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWV2YWx1YXRpb24ub3B0aW9ucyc7XHJcbiJdfQ==
@@ -1,117 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy9jaGVja2xpc3QtYmxvY2svY29tcG9uZW50cy9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWV2YWx1YXRpb24tY3JpdGVyaWEvY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy9jaGVja2xpc3QtYmxvY2svY29tcG9uZW50cy9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWV2YWx1YXRpb24tY3JpdGVyaWEvY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQ0gsZUFBZSxFQUNmLGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixZQUFZLEVBQ1osaUJBQWlCLEVBQ3BCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJMUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7O0FBdUIxRixNQUFNLE9BQU8sb0RBQW9EO0lBYzdELElBQWMsbUJBQW1CO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNqRixDQUFDO0lBRUQsSUFBYyxpQkFBaUI7UUFDM0IsT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQy9FLENBQUM7SUFXRDtRQTlCaUIsb0JBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUMscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFNUMsNkJBQXdCLEdBQUcsMEJBQTBCLENBQUM7UUFFL0QsaUJBQVksR0FBMkMsSUFBSSxDQUFDO1FBRWpELGVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsVUFBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRSxRQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEQsY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN0RixrQkFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBVTNFLGVBQVUsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUEyQixDQUFDO1FBQ3ZELFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDakMsa0JBQWEsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUF5QyxDQUFDO1FBQ3hFLGdDQUEyQixHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXdCLENBQUM7UUFFckUsZ0JBQVcsR0FBRyxNQUFNLEVBQThCLENBQUM7UUFDbkQsa0JBQWEsR0FBRyxNQUFNLEVBQVUsQ0FBQztRQUNqQyxrQkFBYSxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBR3JDLElBQUksQ0FBQywrQkFBK0IsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFUyxNQUFNO1FBQ1osSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDL0IsT0FBTztRQUNYLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXZFLElBQUksSUFBSSxDQUFDLDhCQUE4QixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDbEQsSUFBSSxDQUFDLGVBQWU7aUJBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRTtnQkFDbEYsTUFBTSxFQUFFLE9BQU87YUFDbEIsQ0FBQztpQkFDRCxTQUFTLEVBQUUsQ0FBQztZQUVqQixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRVMsUUFBUTtRQUNkLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUVsRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRVMsUUFBUTtRQUNkLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlCLENBQUM7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4QyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3JCLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUMxQixHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxXQUFXLEVBQUU7WUFDckMsR0FBRyxJQUFJLENBQUMsWUFBWTtTQUN2QixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRVMsZ0JBQWdCO1FBQ3RCLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXBFLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELDhFQUE4RTtJQUN0RSxrQkFBa0I7UUFDdEIsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFTywrQkFBK0I7UUFDbkMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRU8sOEJBQThCLENBQUMsVUFBa0I7UUFDckQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUMsUUFBUSxDQUFDO1FBRTdELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQThDLEVBQUUsRUFBRTtZQUNwRSxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDdkUsT0FBTyxLQUFLLENBQUM7WUFDakIsQ0FBQztZQUVELE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLFVBQVUsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBMUdRLG9EQUFvRDttR0FBcEQsb0RBQW9ELHF5QkMxQ2pFLDAzRkFtRkEsOGlDRDFEUSxlQUFlLG1PQUNmLG1CQUFtQixnTUFDbkIsY0FBYywrU0FDZCxlQUFlLHdFQUNmLFlBQVksdUtBQ1osaUJBQWlCLGlLQUNqQixtQkFBbUIsNjhCQUNuQixrQkFBa0IsK0xBQ2xCLG9CQUFvQiwySkFDcEIsdUJBQXVCLDZEQUN2QixtQ0FBbUM7OzRGQU85QixvREFBb0Q7a0JBcEJoRSxTQUFTOytCQUNJLGlEQUFpRCxXQUNsRDt3QkFDTCxlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLG1DQUFtQztxQkFDdEMsY0FDVyxJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgZWZmZWN0LCBpbmplY3QsIGlucHV0LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBGb3JtQXJyYXksIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgdHlwZSB7IEN1aU51bGxhYmxlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB7IEN1aUxldERpcmVjdGl2ZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIEN1aUFsZXJ0U2VydmljZSxcbiAgICBDdWlCdXR0b25Nb2R1bGUsXG4gICAgQ3VpSWNvbkJ1dHRvbk1vZHVsZSxcbiAgICBDdWlJbnB1dE1vZHVsZSxcbiAgICBDdWlJbnB1dE51bWJlck1vZHVsZSxcbiAgICBDdWlTdmdNb2R1bGUsXG4gICAgQ3VpVGV4dGFyZWFNb2R1bGVcbn0gZnJvbSAnLi4vLi4vLi4vLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBUcmFuc2xvY29EaXJlY3RpdmUsIFRyYW5zbG9jb1NlcnZpY2UgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xuXG5pbXBvcnQgdHlwZSB7IEN1aUV2YWx1YXRpb25Dcml0ZXJpYUdyb3VwIH0gZnJvbSAnLi4vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uJztcblxuaW1wb3J0IHsgQ3VpRHJhZ1BvaW50ZXJEaXJlY3RpdmUgfSBmcm9tICdAY3VieS11aS9jZGsnO1xuaW1wb3J0IHsgQ3VpR2VuZXJhbENvbnRyb2xFcnJvckhpbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9nZW5lcmFsLWNvbnRyb2wtZXJyb3ItaGludCc7XG5pbXBvcnQgdHlwZSB7IEN1aUV2YWx1YXRpb25Dcml0ZXJpYURhdGEgfSBmcm9tICcuL2NoZWNrbGlzdC1ibG9jay1saXN0LWl0ZW0tZXZhbHVhdGlvbi1jcml0ZXJpYS5vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaVtjdWlDaGVja2xpc3RCbG9ja0xpc3RJdGVtRXZhbHVhdGlvbkNyaXRlcmlhXScsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDdWlCdXR0b25Nb2R1bGUsXG4gICAgICAgIEN1aUljb25CdXR0b25Nb2R1bGUsXG4gICAgICAgIEN1aUlucHV0TW9kdWxlLFxuICAgICAgICBDdWlMZXREaXJlY3RpdmUsXG4gICAgICAgIEN1aVN2Z01vZHVsZSxcbiAgICAgICAgQ3VpVGV4dGFyZWFNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFRyYW5zbG9jb0RpcmVjdGl2ZSxcbiAgICAgICAgQ3VpSW5wdXROdW1iZXJNb2R1bGUsXG4gICAgICAgIEN1aURyYWdQb2ludGVyRGlyZWN0aXZlLFxuICAgICAgICBDdWlHZW5lcmFsQ29udHJvbEVycm9ySGludENvbXBvbmVudFxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBDdWlDaGVja0xpc3RCbG9ja0xpc3RJdGVtRXZhbHVhdGlvbkNyaXRlcmlhQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aUFsZXJ0U2VydmljZSA9IGluamVjdChDdWlBbGVydFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsb2NvU2VydmljZSA9IGluamVjdChUcmFuc2xvY29TZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgRVZBTFVBVElPTl9BTFJFQURZX0VYSVNUID0gYEVWQUxVQVRJT05fQUxSRUFEWV9FWElTVGA7XG5cbiAgICBwcml2YXRlIHByZXZpb3VzRGF0YTogQ3VpTnVsbGFibGU8Q3VpRXZhbHVhdGlvbkNyaXRlcmlhRGF0YT4gPSBudWxsO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzRWRpdE1vZGUgPSBzaWduYWwoZmFsc2UpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc05ldyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY3JpdGVyaWFHcm91cCgpLmNvbnRyb2xzLmlzTmV3LnZhbHVlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZ2FwID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuaXNFZGl0TW9kZSgpID8gOCA6IDApKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNMb2FkaW5nID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5sb2FkaW5nSWRzKClbdGhpcy5jcml0ZXJpYUdyb3VwKCkuY29udHJvbHMuaWQudmFsdWVdKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNEcmFnRW5hYmxlZCA9IGNvbXB1dGVkKCgpID0+ICF0aGlzLmlzRWRpdE1vZGUoKSAmJiAhdGhpcy5pc0xvYWRpbmcoKSk7XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGlzRXZhbHVhdGlvbkludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNyaXRlcmlhR3JvdXAoKS5jb250cm9scy5ldmFsdWF0aW9uLmludmFsaWQgJiYgdGhpcy5pc0VkaXRNb2RlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBpc0NyaXRlcmlhSW52YWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JpdGVyaWFHcm91cCgpLmNvbnRyb2xzLmNyaXRlcmlhLmludmFsaWQgJiYgdGhpcy5pc0VkaXRNb2RlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlYWRvbmx5IGxvYWRpbmdJZHMgPSBpbnB1dC5yZXF1aXJlZDxSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4oKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgaW5kZXggPSBpbnB1dC5yZXF1aXJlZDxudW1iZXI+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGNyaXRlcmlhR3JvdXAgPSBpbnB1dC5yZXF1aXJlZDxGb3JtR3JvdXA8Q3VpRXZhbHVhdGlvbkNyaXRlcmlhR3JvdXA+PigpO1xuICAgIHB1YmxpYyByZWFkb25seSBldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkgPSBpbnB1dC5yZXF1aXJlZDxGb3JtQXJyYXk8Rm9ybUdyb3VwPj4oKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBzYXZlQ2xpY2tlZCA9IG91dHB1dDxDdWlFdmFsdWF0aW9uQ3JpdGVyaWFHcm91cD4oKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGVsZXRlQ2xpY2tlZCA9IG91dHB1dDxzdHJpbmc+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGNhbmNlbENsaWNrZWQgPSBvdXRwdXQoKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmluaXROZXdFdmFsdWF0aW9uQ3JpdGVyaWFFZmZlY3QoKTtcbiAgICAgICAgdGhpcy5pbml0RWRpdE1vZGVFZmZlY3QoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25TYXZlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jcml0ZXJpYUdyb3VwKCkuaW52YWxpZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZXZhbHVhdGlvbiA9IGAke3RoaXMuY3JpdGVyaWFHcm91cCgpLmNvbnRyb2xzLmV2YWx1YXRpb24udmFsdWV9YDtcblxuICAgICAgICBpZiAodGhpcy5jaGVja0lzRXZhbHVhdGlvbkNyaXRlcmlhRXhpc3QoZXZhbHVhdGlvbikpIHtcbiAgICAgICAgICAgIHRoaXMuY3VpQWxlcnRTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLm9wZW4odGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSh0aGlzLkVWQUxVQVRJT05fQUxSRUFEWV9FWElTVCwgeyBldmFsdWF0aW9uIH0pLCB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogJ2Vycm9yJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzRWRpdE1vZGUudXBkYXRlKChwcmV2KSA9PiAhcHJldik7XG4gICAgICAgIHRoaXMuc2F2ZUNsaWNrZWQuZW1pdCh0aGlzLmNyaXRlcmlhR3JvdXAoKS5jb250cm9scyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRGVsZXRlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpZCA9IHRoaXMuY3JpdGVyaWFHcm91cCgpLmNvbnRyb2xzLmlkLnZhbHVlO1xuXG4gICAgICAgIHRoaXMuZGVsZXRlQ2xpY2tlZC5lbWl0KGlkKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DYW5jZWwoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTmV3KCkpIHtcbiAgICAgICAgICAgIHRoaXMuY2FuY2VsQ2xpY2tlZC5lbWl0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzRWRpdE1vZGUudXBkYXRlKChwcmV2KSA9PiAhcHJldik7XG5cbiAgICAgICAgaWYgKCF0aGlzLnByZXZpb3VzRGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jcml0ZXJpYUdyb3VwKCkuc2V0VmFsdWUoe1xuICAgICAgICAgICAgLi4udGhpcy5jcml0ZXJpYUdyb3VwKCkuZ2V0UmF3VmFsdWUoKSxcbiAgICAgICAgICAgIC4uLnRoaXMucHJldmlvdXNEYXRhXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblRvZ2dsZUVkaXRNb2RlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGNyaXRlcmlhLCBldmFsdWF0aW9uIH0gPSB0aGlzLmNyaXRlcmlhR3JvdXAoKS5nZXRSYXdWYWx1ZSgpO1xuXG4gICAgICAgIHRoaXMucHJldmlvdXNEYXRhID0geyBjcml0ZXJpYSwgZXZhbHVhdGlvbiB9O1xuICAgICAgICB0aGlzLmlzRWRpdE1vZGUudXBkYXRlKChwcmV2KSA9PiAhcHJldik7XG4gICAgfVxuXG4gICAgLy8gVE9ETzog0JrQvtC80L/QvtC90LXQvdGCINC00L7Qu9C20LXQvSDQsdGL0Lsg0LHRi9GC0Ywg0L/QvtGB0YLRgNC+0LXQvSDQuNGB0LrQu9GO0YfQuNGC0LXQu9GM0L3QviDQvdCwINGA0LXQsNC60YLQuNCy0L3Ri9GFINGE0L7RgNC80LDRhVxuICAgIHByaXZhdGUgaW5pdEVkaXRNb2RlRWZmZWN0KCk6IHZvaWQge1xuICAgICAgICBlZmZlY3QoKCkgPT4gdGhpcy5jcml0ZXJpYUdyb3VwKClbdGhpcy5pc0VkaXRNb2RlKCkgPyAnZW5hYmxlJyA6ICdkaXNhYmxlJ10oKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0TmV3RXZhbHVhdGlvbkNyaXRlcmlhRWZmZWN0KCk6IHZvaWQge1xuICAgICAgICBlZmZlY3QoKCkgPT4gdGhpcy5pc0VkaXRNb2RlLnNldCh0aGlzLmlzTmV3KCkpLCB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tJc0V2YWx1YXRpb25Dcml0ZXJpYUV4aXN0KGV2YWx1YXRpb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBjb250cm9scyA9IHRoaXMuZXZhbHVhdGlvbkNyaXRlcmlhRm9ybUFycmF5KCkuY29udHJvbHM7XG5cbiAgICAgICAgcmV0dXJuIGNvbnRyb2xzLnNvbWUoKGNvbnRyb2w6IEZvcm1Hcm91cDxDdWlFdmFsdWF0aW9uQ3JpdGVyaWFHcm91cD4pID0+IHtcbiAgICAgICAgICAgIGlmIChjb250cm9sLmNvbnRyb2xzLmlkLnZhbHVlID09PSB0aGlzLmNyaXRlcmlhR3JvdXAoKS5jb250cm9scy5pZC52YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGAke2NvbnRyb2wuZ2V0KCdldmFsdWF0aW9uJyk/LnZhbHVlfWAgPT09IGV2YWx1YXRpb247XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgKnRyYW5zbG9jbz1cImxldCB0XCI+XG4gICAgPGZvcm1cbiAgICAgICAgKmN1aUxldD1cImNyaXRlcmlhR3JvdXAoKSBhcyBmb3JtXCJcbiAgICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgICAgICAgW2NsYXNzLmZvcm1fZWRpdF09XCJpc0VkaXRNb2RlKClcIlxuICAgICAgICBjbGFzPVwiZm9ybVwiXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbmRleFwiPnt7IGluZGV4KCkgfX0uPC9zcGFuPlxuICAgICAgICAgICAgQGlmICghaXNFZGl0TW9kZSgpKSB7XG4gICAgICAgICAgICAgICAgPGN1aS1zdmdcbiAgICAgICAgICAgICAgICAgICAgY3VpRHJhZ1BvaW50ZXJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25EcmFnSGFuZGxlRG90c1wiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwidmFyKC0tY3VpLWJhc2UtNTAwKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvblwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBzdHlsZS5nYXA9XCJ7eyBnYXAoKSB9fXB4XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIndyYXBwZXJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxjdWktaW5wdXQtbnVtYmVyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImV2YWx1YXRpb25cIlxuICAgICAgICAgICAgICAgICAgICBjdWlUZXh0RmllbGRQbGFjZWhvbGRlcj1cIjBcIlxuICAgICAgICAgICAgICAgICAgICBbY3VpVGV4dEZpZWxkSXNFcnJvcl09XCJpc0V2YWx1YXRpb25JbnZhbGlkXCJcbiAgICAgICAgICAgICAgICAgICAgW21pbl09XCIxXCJcbiAgICAgICAgICAgICAgICAgICAgW21heF09XCI5OVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtbnVtYmVyXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgICAgICAgICBjdWlUZXh0YXJlYVxuICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjcml0ZXJpYVwiXG4gICAgICAgICAgICAgICAgICAgIFtyb3dzXT1cIjFcIlxuICAgICAgICAgICAgICAgICAgICBbY3VpVGV4dEZpZWxkSXNFcnJvcl09XCJpc0NyaXRlcmlhSW52YWxpZFwiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgdCgnQUREX0FfREVTQ1JJUFRJT04nKSB9fS4uLlwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dGFyZWFcIlxuICAgICAgICAgICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBAaWYgKGlzRWRpdE1vZGUoKSkge1xuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgICAgIGN1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25DaGVja1wiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwidmFyKC0tY3VpLXN1Y2Nlc3MpXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2F2ZSgpXCJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY3VpSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBpY29uPVwiY3VpSWNvblhDaXJjbGVcIlxuICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInZhcigtLWN1aS1kYW5nZXIpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DYW5jZWwoKVwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjdWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJ4eHNcIlxuICAgICAgICAgICAgICAgICAgICBpY29uPVwiY3VpSWNvbkVkaXRcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNMb2FkaW5nKClcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Ub2dnbGVFZGl0TW9kZSgpXCJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjdWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJ4eHNcIlxuICAgICAgICAgICAgICAgICAgICBpY29uPVwiY3VpSWNvblRyYXNoXCJcbiAgICAgICAgICAgICAgICAgICAgW2lzTG9hZGVyU2hvd25dPVwiaXNMb2FkaW5nKClcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25EZWxldGUoKVwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGN1aS1nZW5lcmFsLWNvbnRyb2wtZXJyb3ItaGludFxuICAgICAgICAgICAgW2NvbnRyb2xdPVwiZm9ybS5jb250cm9scy5jcml0ZXJpYVwiXG4gICAgICAgICAgICBjbGFzcz1cImVycm9yLWhpbnRcIlxuICAgICAgICAvPlxuICAgIDwvZm9ybT5cbjwvZGl2PlxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhLm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvY2hlY2tsaXN0LWJsb2NrL2NvbXBvbmVudHMvY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhL2NoZWNrbGlzdC1ibG9jay1saXN0LWl0ZW0tZXZhbHVhdGlvbi1jcml0ZXJpYS5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEN1aUV2YWx1YXRpb25Dcml0ZXJpYURhdGEge1xyXG4gICAgcmVhZG9ubHkgY3JpdGVyaWE6IHN0cmluZztcclxuICAgIHJlYWRvbmx5IGV2YWx1YXRpb246IG51bWJlcjtcclxufVxyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export { CuiCheckListBlockListItemEvaluationCriteriaComponent } from './checklist-block-list-item-evaluation-criteria.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvY2hlY2tsaXN0LWJsb2NrL2NvbXBvbmVudHMvY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvREFBb0QsRUFBRSxNQUFNLDJEQUEyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQ3VpQ2hlY2tMaXN0QmxvY2tMaXN0SXRlbUV2YWx1YXRpb25Dcml0ZXJpYUNvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhLmNvbXBvbmVudCc7XHJcbiJdfQ==