@cuby-ui/core 0.0.487 → 0.0.489

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 (1162) hide show
  1. package/animations/animations.d.ts +36 -0
  2. package/animations/index.d.ts +1 -0
  3. package/classes/accessors.d.ts +17 -0
  4. package/classes/driver.d.ts +16 -0
  5. package/classes/index.d.ts +3 -0
  6. package/classes/vehicle.d.ts +6 -0
  7. package/components/accordion/accordion-item/accordion-item.component.d.ts +14 -0
  8. package/components/accordion/accordion-item/accordion-item.options.d.ts +1 -0
  9. package/components/accordion/accordion.component.d.ts +5 -0
  10. package/components/accordion/accordion.directive.d.ts +15 -0
  11. package/components/accordion/accordion.module.d.ts +11 -0
  12. package/components/accordion/index.d.ts +4 -0
  13. package/components/alert/alert.component.d.ts +13 -0
  14. package/components/alert/alert.interfaces.d.ts +9 -0
  15. package/components/alert/alert.module.d.ts +11 -0
  16. package/components/alert/alert.service.d.ts +7 -0
  17. package/components/alert/alert.tokens.d.ts +16 -0
  18. package/components/alert/alert.types.d.ts +3 -0
  19. package/components/alert/alerts.component.d.ts +17 -0
  20. package/components/alert/index.d.ts +8 -0
  21. package/components/alert-hint/alert-hint.component.d.ts +11 -0
  22. package/components/alert-hint/error-status.d.ts +1 -0
  23. package/components/alert-hint/index.d.ts +2 -0
  24. package/components/badge/badge.component.d.ts +10 -0
  25. package/components/badge/badge.module.d.ts +8 -0
  26. package/components/badge/badge.options.d.ts +12 -0
  27. package/components/badge/index.d.ts +3 -0
  28. package/components/banner/banner.component.d.ts +21 -0
  29. package/components/banner/banner.module.d.ts +11 -0
  30. package/components/banner/banner.options.d.ts +13 -0
  31. package/components/banner/index.d.ts +3 -0
  32. package/components/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +6 -0
  33. package/components/breadcrumbs/breadcrumbs.component.d.ts +7 -0
  34. package/components/breadcrumbs/breadcrumbs.module.d.ts +10 -0
  35. package/components/breadcrumbs/index.d.ts +3 -0
  36. package/components/button/button.component.d.ts +39 -0
  37. package/components/button/button.module.d.ts +9 -0
  38. package/components/button/button.options.d.ts +14 -0
  39. package/components/button/index.d.ts +3 -0
  40. package/components/button-group/button-group.component.d.ts +5 -0
  41. package/components/button-group/button-group.module.d.ts +7 -0
  42. package/components/button-group/index.d.ts +2 -0
  43. package/components/card-wrapper/card-wrapper.component.d.ts +7 -0
  44. package/components/card-wrapper/index.d.ts +1 -0
  45. package/components/checkbox/checkbox.component.d.ts +5 -0
  46. package/components/checkbox/checkbox.module.d.ts +7 -0
  47. package/components/checkbox/index.d.ts +2 -0
  48. package/components/content-header/content-header.component.d.ts +8 -0
  49. package/components/content-header/index.d.ts +1 -0
  50. package/components/content-wrapper/content-wrapper.component.d.ts +11 -0
  51. package/components/content-wrapper/index.d.ts +1 -0
  52. package/components/context-menu/context-menu.component.d.ts +41 -0
  53. package/components/context-menu/context-menu.module.d.ts +9 -0
  54. package/components/context-menu/index.d.ts +2 -0
  55. package/components/dialog/dialog-actions/dialog-actions.component.d.ts +5 -0
  56. package/components/dialog/dialog-header/dialog-header.component.d.ts +12 -0
  57. package/components/dialog/dialog.component.d.ts +33 -0
  58. package/components/dialog/dialog.interfaces.d.ts +11 -0
  59. package/components/dialog/dialog.module.d.ts +14 -0
  60. package/components/dialog/dialog.service.d.ts +7 -0
  61. package/components/dialog/dialog.tokens.d.ts +8 -0
  62. package/components/dialog/dialogs.component.d.ts +18 -0
  63. package/components/dialog/index.d.ts +8 -0
  64. package/components/dropdown/dropdown-wrapper.component.d.ts +9 -0
  65. package/components/dropdown/dropdown.directive.d.ts +41 -0
  66. package/components/dropdown/dropdown.interfaces.d.ts +8 -0
  67. package/components/dropdown/index.d.ts +3 -0
  68. package/components/empty-state/empty-state.component.d.ts +7 -0
  69. package/components/empty-state/index.d.ts +1 -0
  70. package/components/file-icon/file-icon.component.d.ts +9 -0
  71. package/components/file-icon/file-icon.options.d.ts +12 -0
  72. package/components/file-icon/index.d.ts +1 -0
  73. package/components/form-field/form-field.component.d.ts +5 -0
  74. package/components/form-field/form-field.module.d.ts +7 -0
  75. package/components/form-field/index.d.ts +2 -0
  76. package/components/ghost-input/ghost-input.component.d.ts +6 -0
  77. package/components/ghost-input/index.d.ts +1 -0
  78. package/components/hint/hint.component.d.ts +7 -0
  79. package/components/hint/hint.module.d.ts +7 -0
  80. package/components/hint/index.d.ts +2 -0
  81. package/components/icon-button/icon-button.component.d.ts +13 -0
  82. package/components/icon-button/icon-button.module.d.ts +9 -0
  83. package/components/icon-button/index.d.ts +2 -0
  84. package/components/index.d.ts +41 -0
  85. package/components/input-number/index.d.ts +2 -0
  86. package/components/input-number/input-number.component.d.ts +38 -0
  87. package/components/input-number/input-number.module.d.ts +12 -0
  88. package/components/input-password/index.d.ts +2 -0
  89. package/components/input-password/input-password.component.d.ts +31 -0
  90. package/components/input-password/input-password.module.d.ts +11 -0
  91. package/components/input-text/index.d.ts +2 -0
  92. package/components/input-text/input-text.component.d.ts +31 -0
  93. package/components/input-text/input-text.module.d.ts +11 -0
  94. package/components/input-time/index.d.ts +3 -0
  95. package/components/input-time/input-time.component.d.ts +36 -0
  96. package/components/input-time/input-time.module.d.ts +12 -0
  97. package/components/input-time/input-time.options.d.ts +7 -0
  98. package/components/label/index.d.ts +2 -0
  99. package/components/label/label.component.d.ts +6 -0
  100. package/components/label/label.module.d.ts +8 -0
  101. package/components/layout/index.d.ts +1 -0
  102. package/components/layout/layout.component.d.ts +6 -0
  103. package/components/letter-box/index.d.ts +1 -0
  104. package/components/letter-box/letter-box.component.d.ts +14 -0
  105. package/components/letter-box/letter-box.interfaces.d.ts +3 -0
  106. package/components/notification/index.d.ts +3 -0
  107. package/components/notification/notification.component.d.ts +18 -0
  108. package/components/notification/notification.module.d.ts +9 -0
  109. package/components/notification/notification.options.d.ts +17 -0
  110. package/components/options-button/index.d.ts +1 -0
  111. package/components/options-button/options-button.component.d.ts +8 -0
  112. package/components/radio/index.d.ts +2 -0
  113. package/components/radio/radio.component.d.ts +5 -0
  114. package/components/radio/radio.module.d.ts +7 -0
  115. package/components/render-dynamic-components/index.d.ts +3 -0
  116. package/components/render-dynamic-components/render-dynamic-components.component.d.ts +7 -0
  117. package/components/render-dynamic-components/render-dynamic-components.options.d.ts +7 -0
  118. package/components/render-dynamic-components/render-dynamic-components.service.d.ts +12 -0
  119. package/components/root/index.d.ts +3 -0
  120. package/components/root/root.component.d.ts +10 -0
  121. package/components/root/root.module.d.ts +11 -0
  122. package/components/root/root.options.d.ts +1 -0
  123. package/components/select/index.d.ts +2 -0
  124. package/components/select/select.component.d.ts +53 -0
  125. package/components/select/select.module.d.ts +11 -0
  126. package/components/sidebar/index.d.ts +7 -0
  127. package/components/sidebar/sidebar-container/index.d.ts +1 -0
  128. package/components/sidebar/sidebar-container/sidebar-container.component.d.ts +10 -0
  129. package/components/sidebar/sidebar-header/index.d.ts +1 -0
  130. package/components/sidebar/sidebar-header/sidebar-header.component.d.ts +12 -0
  131. package/components/sidebar/sidebar-navigation/index.d.ts +1 -0
  132. package/components/sidebar/sidebar-navigation/sidebar-navigation.component.d.ts +9 -0
  133. package/components/sidebar/sidebar-navigation-container/index.d.ts +1 -0
  134. package/components/sidebar/sidebar-navigation-container/sidebar-navigation-container.component.d.ts +8 -0
  135. package/components/sidebar/sidebar-navigation-item/index.d.ts +1 -0
  136. package/components/sidebar/sidebar-navigation-item/sidebar-navigation-item.component.d.ts +9 -0
  137. package/components/sidebar/sidebar.options.d.ts +4 -0
  138. package/components/sidebar/sidebar.service.d.ts +17 -0
  139. package/components/svg/index.d.ts +2 -0
  140. package/components/svg/svg.component.d.ts +16 -0
  141. package/components/svg/svg.module.d.ts +8 -0
  142. package/components/tab/index.d.ts +1 -0
  143. package/components/tab/tab.component.d.ts +15 -0
  144. package/components/tabs/components/abstract-tabs/abstract-tabs.component.d.ts +15 -0
  145. package/components/tabs/components/abstract-tabs/index.d.ts +1 -0
  146. package/components/tabs/components/index.d.ts +1 -0
  147. package/components/tabs/index.d.ts +5 -0
  148. package/components/tabs/services/index.d.ts +1 -0
  149. package/components/tabs/services/tabs.service.d.ts +14 -0
  150. package/components/tabs/tabs.component.d.ts +8 -0
  151. package/components/tabs/tabs.options.d.ts +21 -0
  152. package/components/tabs/tabs.provider.d.ts +3 -0
  153. package/components/textarea/index.d.ts +2 -0
  154. package/components/textarea/textarea.component.d.ts +10 -0
  155. package/components/textarea/textarea.module.d.ts +7 -0
  156. package/components/toggle/index.d.ts +2 -0
  157. package/components/toggle/toggle.component.d.ts +5 -0
  158. package/components/toggle/toggle.module.d.ts +7 -0
  159. package/directives/index.d.ts +2 -0
  160. package/directives/text-field-controller/index.d.ts +8 -0
  161. package/directives/text-field-controller/text-field-controller.module.d.ts +11 -0
  162. package/directives/text-field-controller/text-field-controller.provider.d.ts +4 -0
  163. package/directives/text-field-controller/text-field-icon-left.directive.d.ts +9 -0
  164. package/directives/text-field-controller/text-field-id.directive.d.ts +8 -0
  165. package/directives/text-field-controller/text-field-is-error.directive.d.ts +8 -0
  166. package/directives/text-field-controller/text-field-placeholder.directive.d.ts +8 -0
  167. package/directives/text-field-controller/text-field-size.directive.d.ts +9 -0
  168. package/directives/text-field-controller/text-field.controller.d.ts +20 -0
  169. package/directives/tooltip/index.d.ts +16 -0
  170. package/directives/tooltip/tooltip-describe.directive.d.ts +16 -0
  171. package/directives/tooltip/tooltip-driver.directive.d.ts +7 -0
  172. package/directives/tooltip/tooltip-host.directive.d.ts +9 -0
  173. package/directives/tooltip/tooltip-hover.directive.d.ts +21 -0
  174. package/directives/tooltip/tooltip-manual.directive.d.ts +13 -0
  175. package/directives/tooltip/tooltip-options.directive.d.ts +36 -0
  176. package/directives/tooltip/tooltip-overflow.directive.d.ts +8 -0
  177. package/directives/tooltip/tooltip-pointer.directive.d.ts +10 -0
  178. package/directives/tooltip/tooltip-position.directive.d.ts +20 -0
  179. package/directives/tooltip/tooltip-unstyled.component.d.ts +17 -0
  180. package/directives/tooltip/tooltip.component.d.ts +33 -0
  181. package/directives/tooltip/tooltip.d.ts +13 -0
  182. package/directives/tooltip/tooltip.directive.d.ts +26 -0
  183. package/directives/tooltip/tooltip.providers.d.ts +5 -0
  184. package/directives/tooltip/tooltip.service.d.ts +13 -0
  185. package/directives/tooltip/tooltips.component.d.ts +12 -0
  186. package/editor/components/editor-attaches-tool/editor-attaches-tool.component.d.ts +19 -0
  187. package/editor/components/editor-attaches-tool/editor-attaches-tool.options.d.ts +18 -0
  188. package/editor/components/editor-attaches-tool/index.d.ts +2 -0
  189. package/editor/components/editor-image-tool/editor-image-tool.component.d.ts +14 -0
  190. package/editor/components/editor-image-tool/editor-image-tool.options.d.ts +26 -0
  191. package/editor/components/editor-image-tool/index.d.ts +2 -0
  192. package/editor/components/editor-tool/editor-tool.component.d.ts +22 -0
  193. package/editor/components/editor-tool-modal/editor-tool-modal.component.d.ts +24 -0
  194. package/editor/components/editor-tool-modal/editor-tool-modal.options.d.ts +8 -0
  195. package/editor/components/editor-tool-modal/index.d.ts +2 -0
  196. package/editor/components/editor-tooltip/editor-tooltip.component.d.ts +16 -0
  197. package/editor/components/editor-tooltip/editor-tooltip.options.d.ts +9 -0
  198. package/editor/components/editor-tooltip/index.d.ts +2 -0
  199. package/editor/components/editor-video-tool/editor-video-tool.component.d.ts +12 -0
  200. package/editor/components/editor-video-tool/editor-video-tool.options.d.ts +26 -0
  201. package/editor/components/editor-video-tool/index.d.ts +2 -0
  202. package/editor/components/index.d.ts +7 -0
  203. package/editor/components/marker-modal/index.d.ts +3 -0
  204. package/editor/components/marker-modal/marker-modal.component.d.ts +62 -0
  205. package/editor/components/marker-modal/marker-modal.interfaces.d.ts +7 -0
  206. package/editor/components/marker-modal/marker-modal.options.d.ts +1 -0
  207. package/editor/components/marker-select/component/select-item/select-option.component.d.ts +7 -0
  208. package/editor/components/marker-select/index.d.ts +2 -0
  209. package/editor/components/marker-select/marker-select.component.d.ts +40 -0
  210. package/editor/components/marker-select/marker-select.options.d.ts +1 -0
  211. package/editor/config/custom-elements.d.ts +2 -0
  212. package/editor/config/editor.config.d.ts +3 -0
  213. package/editor/config/index.d.ts +1 -0
  214. package/editor/constants/editor.constants.d.ts +15 -0
  215. package/editor/constants/index.d.ts +1 -0
  216. package/editor/editor.component.d.ts +74 -0
  217. package/editor/events/editor-drag.event.d.ts +2 -0
  218. package/editor/events/editor-keyboard.event.d.ts +2 -0
  219. package/editor/events/editor-modal.event.d.ts +3 -0
  220. package/editor/events/editor-tooltip.event.d.ts +2 -0
  221. package/editor/events/set-editor-events.d.ts +1 -0
  222. package/editor/index.d.ts +9 -0
  223. package/editor/interfaces/angular-element.d.ts +2 -0
  224. package/editor/interfaces/blocks-request-data.d.ts +6 -0
  225. package/editor/interfaces/combined-block-adding-event.d.ts +7 -0
  226. package/editor/interfaces/combined-block-data.d.ts +5 -0
  227. package/editor/interfaces/combined-part-block-data.d.ts +7 -0
  228. package/editor/interfaces/custom-element.d.ts +5 -0
  229. package/editor/interfaces/editor-service.d.ts +4 -0
  230. package/editor/interfaces/event-action-data.d.ts +5 -0
  231. package/editor/interfaces/file-response-data.d.ts +15 -0
  232. package/editor/interfaces/full-block-data.d.ts +8 -0
  233. package/editor/interfaces/index.d.ts +15 -0
  234. package/editor/interfaces/main-editor-config.d.ts +12 -0
  235. package/editor/interfaces/mutation-actions.d.ts +5 -0
  236. package/editor/interfaces/parent.d.ts +4 -0
  237. package/editor/interfaces/tools.d.ts +4 -0
  238. package/editor/interfaces/tune.d.ts +6 -0
  239. package/editor/pipes/file-size.pipe.d.ts +9 -0
  240. package/editor/providers/editor.provider.d.ts +2 -0
  241. package/editor/providers/index.d.ts +1 -0
  242. package/editor/services/editor-service.options.d.ts +8 -0
  243. package/editor/services/editor.service.d.ts +23 -0
  244. package/editor/services/index.d.ts +4 -0
  245. package/editor/services/markers-service.options.d.ts +4 -0
  246. package/editor/services/markers.service.d.ts +11 -0
  247. package/editor/tools/attaches.tool.d.ts +31 -0
  248. package/editor/tools/bold.tool.d.ts +11 -0
  249. package/editor/tools/combined-text-block.tool.d.ts +48 -0
  250. package/editor/tools/custom-marker.tool.d.ts +16 -0
  251. package/editor/tools/header.tool.d.ts +8 -0
  252. package/editor/tools/image.tool.d.ts +37 -0
  253. package/editor/tools/index.d.ts +11 -0
  254. package/editor/tools/italic.tool.d.ts +12 -0
  255. package/editor/tools/link-marker.tool.d.ts +15 -0
  256. package/editor/tools/list.tool.d.ts +5 -0
  257. package/editor/tools/marker.tool.d.ts +36 -0
  258. package/editor/tools/role-marker.tool.d.ts +7 -0
  259. package/editor/tools/selection-base.tool.d.ts +24 -0
  260. package/editor/tools/tool-marker.tool.d.ts +7 -0
  261. package/editor/tools/video.tool.d.ts +32 -0
  262. package/editor/utils/copy-text-to-clipboard.d.ts +1 -0
  263. package/editor/utils/create-link-modal.d.ts +3 -0
  264. package/editor/utils/create-tool-modal.d.ts +4 -0
  265. package/editor/utils/create-tools-data.d.ts +3 -0
  266. package/editor/utils/create-tooltip.d.ts +8 -0
  267. package/editor/utils/file-uploader.d.ts +27 -0
  268. package/editor/utils/generate-id.d.ts +1 -0
  269. package/editor/utils/index.d.ts +12 -0
  270. package/editor/utils/open-file-in-browser.d.ts +2 -0
  271. package/editor/utils/recalculate-indexes.d.ts +2 -0
  272. package/editor/utils/remove-element-tag-wrapper.d.ts +1 -0
  273. package/editor/utils/set-loading.d.ts +2 -0
  274. package/editor/utils/split-html.d.ts +1 -0
  275. package/editor/utils/url.validator.d.ts +2 -0
  276. package/editor/widgets/editor-block/editor-block.component.d.ts +22 -0
  277. package/editor/widgets/editor-block/index.d.ts +1 -0
  278. package/editor/widgets/editor-modal/editor-modal.component.d.ts +19 -0
  279. package/editor/widgets/editor-modal/index.d.ts +1 -0
  280. package/editor/widgets/editor-readonly/editor-readonly.component.d.ts +27 -0
  281. package/editor/widgets/editor-readonly/editor-readonly.options.d.ts +5 -0
  282. package/editor/widgets/editor-readonly/editor-resize-observer.directive.d.ts +15 -0
  283. package/editor/widgets/editor-readonly/index.d.ts +2 -0
  284. package/editor/widgets/index.d.ts +3 -0
  285. package/esm2022/animations/animations.mjs +228 -0
  286. package/esm2022/animations/index.mjs +2 -0
  287. package/esm2022/classes/accessors.mjs +31 -0
  288. package/esm2022/classes/driver.mjs +35 -0
  289. package/esm2022/classes/index.mjs +4 -0
  290. package/esm2022/classes/vehicle.mjs +7 -0
  291. package/esm2022/components/accordion/accordion-item/accordion-item.component.mjs +37 -0
  292. package/esm2022/components/accordion/accordion-item/accordion-item.options.mjs +2 -0
  293. package/esm2022/components/accordion/accordion.component.mjs +11 -0
  294. package/esm2022/components/accordion/accordion.directive.mjs +56 -0
  295. package/esm2022/components/accordion/accordion.module.mjs +21 -0
  296. package/esm2022/components/accordion/index.mjs +5 -0
  297. package/esm2022/components/alert/alert.component.mjs +36 -0
  298. package/esm2022/components/alert/alert.interfaces.mjs +2 -0
  299. package/esm2022/components/alert/alert.module.mjs +21 -0
  300. package/esm2022/components/alert/alert.service.mjs +17 -0
  301. package/esm2022/components/alert/alert.tokens.mjs +20 -0
  302. package/esm2022/components/alert/alert.types.mjs +2 -0
  303. package/esm2022/components/alert/alerts.component.mjs +34 -0
  304. package/esm2022/components/alert/index.mjs +9 -0
  305. package/esm2022/components/alert-hint/alert-hint.component.mjs +28 -0
  306. package/esm2022/components/alert-hint/error-status.mjs +2 -0
  307. package/esm2022/components/alert-hint/index.mjs +2 -0
  308. package/esm2022/components/badge/badge.component.mjs +31 -0
  309. package/esm2022/components/badge/badge.module.mjs +18 -0
  310. package/esm2022/components/badge/badge.options.mjs +8 -0
  311. package/esm2022/components/badge/index.mjs +3 -0
  312. package/esm2022/components/banner/banner.component.mjs +68 -0
  313. package/esm2022/components/banner/banner.module.mjs +21 -0
  314. package/esm2022/components/banner/banner.options.mjs +6 -0
  315. package/esm2022/components/banner/index.mjs +4 -0
  316. package/esm2022/components/breadcrumbs/breadcrumb/breadcrumb.component.mjs +16 -0
  317. package/esm2022/components/breadcrumbs/breadcrumbs.component.mjs +17 -0
  318. package/esm2022/components/breadcrumbs/breadcrumbs.module.mjs +20 -0
  319. package/esm2022/components/breadcrumbs/index.mjs +4 -0
  320. package/esm2022/components/button/button.component.mjs +133 -0
  321. package/esm2022/components/button/button.module.mjs +19 -0
  322. package/esm2022/components/button/button.options.mjs +11 -0
  323. package/esm2022/components/button/index.mjs +4 -0
  324. package/esm2022/components/button-group/button-group.component.mjs +11 -0
  325. package/esm2022/components/button-group/button-group.module.mjs +16 -0
  326. package/esm2022/components/button-group/index.mjs +3 -0
  327. package/esm2022/components/card-wrapper/card-wrapper.component.mjs +18 -0
  328. package/esm2022/components/card-wrapper/index.mjs +2 -0
  329. package/esm2022/components/checkbox/checkbox.component.mjs +11 -0
  330. package/esm2022/components/checkbox/checkbox.module.mjs +16 -0
  331. package/esm2022/components/checkbox/index.mjs +3 -0
  332. package/esm2022/components/content-header/content-header.component.mjs +19 -0
  333. package/esm2022/components/content-header/index.mjs +2 -0
  334. package/esm2022/components/content-wrapper/content-wrapper.component.mjs +29 -0
  335. package/esm2022/components/content-wrapper/index.mjs +2 -0
  336. package/esm2022/components/context-menu/context-menu.component.mjs +148 -0
  337. package/esm2022/components/context-menu/context-menu.module.mjs +19 -0
  338. package/esm2022/components/context-menu/index.mjs +3 -0
  339. package/esm2022/components/dialog/dialog-actions/dialog-actions.component.mjs +11 -0
  340. package/esm2022/components/dialog/dialog-header/dialog-header.component.mjs +28 -0
  341. package/esm2022/components/dialog/dialog.component.mjs +67 -0
  342. package/esm2022/components/dialog/dialog.interfaces.mjs +2 -0
  343. package/esm2022/components/dialog/dialog.module.mjs +24 -0
  344. package/esm2022/components/dialog/dialog.service.mjs +17 -0
  345. package/esm2022/components/dialog/dialog.tokens.mjs +12 -0
  346. package/esm2022/components/dialog/dialogs.component.mjs +49 -0
  347. package/esm2022/components/dialog/index.mjs +9 -0
  348. package/esm2022/components/dropdown/dropdown-wrapper.component.mjs +23 -0
  349. package/esm2022/components/dropdown/dropdown.directive.mjs +182 -0
  350. package/esm2022/components/dropdown/dropdown.interfaces.mjs +2 -0
  351. package/esm2022/components/dropdown/index.mjs +3 -0
  352. package/esm2022/components/empty-state/empty-state.component.mjs +17 -0
  353. package/esm2022/components/empty-state/index.mjs +2 -0
  354. package/esm2022/components/file-icon/file-icon.component.mjs +22 -0
  355. package/esm2022/components/file-icon/file-icon.options.mjs +120 -0
  356. package/esm2022/components/file-icon/index.mjs +2 -0
  357. package/esm2022/components/form-field/form-field.component.mjs +11 -0
  358. package/esm2022/components/form-field/form-field.module.mjs +16 -0
  359. package/esm2022/components/form-field/index.mjs +3 -0
  360. package/esm2022/components/ghost-input/ghost-input.component.mjs +16 -0
  361. package/esm2022/components/ghost-input/index.mjs +2 -0
  362. package/esm2022/components/hint/hint.component.mjs +19 -0
  363. package/esm2022/components/hint/hint.module.mjs +16 -0
  364. package/esm2022/components/hint/index.mjs +3 -0
  365. package/esm2022/components/icon-button/icon-button.component.mjs +32 -0
  366. package/esm2022/components/icon-button/icon-button.module.mjs +19 -0
  367. package/esm2022/components/icon-button/index.mjs +3 -0
  368. package/esm2022/components/index.mjs +42 -0
  369. package/esm2022/components/input-number/index.mjs +3 -0
  370. package/esm2022/components/input-number/input-number.component.mjs +107 -0
  371. package/esm2022/components/input-number/input-number.module.mjs +22 -0
  372. package/esm2022/components/input-password/index.mjs +3 -0
  373. package/esm2022/components/input-password/input-password.component.mjs +83 -0
  374. package/esm2022/components/input-password/input-password.module.mjs +21 -0
  375. package/esm2022/components/input-text/index.mjs +3 -0
  376. package/esm2022/components/input-text/input-text.component.mjs +81 -0
  377. package/esm2022/components/input-text/input-text.module.mjs +21 -0
  378. package/esm2022/components/input-time/index.mjs +4 -0
  379. package/esm2022/components/input-time/input-time.component.mjs +93 -0
  380. package/esm2022/components/input-time/input-time.module.mjs +22 -0
  381. package/esm2022/components/input-time/input-time.options.mjs +8 -0
  382. package/esm2022/components/label/index.mjs +3 -0
  383. package/esm2022/components/label/label.component.mjs +17 -0
  384. package/esm2022/components/label/label.module.mjs +18 -0
  385. package/esm2022/components/layout/index.mjs +2 -0
  386. package/esm2022/components/layout/layout.component.mjs +16 -0
  387. package/esm2022/components/letter-box/index.mjs +2 -0
  388. package/esm2022/components/letter-box/letter-box.component.mjs +43 -0
  389. package/esm2022/components/letter-box/letter-box.interfaces.mjs +2 -0
  390. package/esm2022/components/notification/index.mjs +4 -0
  391. package/esm2022/components/notification/notification.component.mjs +47 -0
  392. package/esm2022/components/notification/notification.module.mjs +19 -0
  393. package/esm2022/components/notification/notification.options.mjs +53 -0
  394. package/esm2022/components/options-button/index.mjs +2 -0
  395. package/esm2022/components/options-button/options-button.component.mjs +20 -0
  396. package/esm2022/components/radio/index.mjs +3 -0
  397. package/esm2022/components/radio/radio.component.mjs +11 -0
  398. package/esm2022/components/radio/radio.module.mjs +16 -0
  399. package/esm2022/components/render-dynamic-components/index.mjs +3 -0
  400. package/esm2022/components/render-dynamic-components/render-dynamic-components.component.mjs +17 -0
  401. package/esm2022/components/render-dynamic-components/render-dynamic-components.options.mjs +2 -0
  402. package/esm2022/components/render-dynamic-components/render-dynamic-components.service.mjs +29 -0
  403. package/esm2022/components/root/index.mjs +4 -0
  404. package/esm2022/components/root/root.component.mjs +27 -0
  405. package/esm2022/components/root/root.module.mjs +21 -0
  406. package/esm2022/components/root/root.options.mjs +2 -0
  407. package/esm2022/components/select/index.mjs +3 -0
  408. package/esm2022/components/select/select.component.mjs +171 -0
  409. package/esm2022/components/select/select.module.mjs +21 -0
  410. package/esm2022/components/sidebar/index.mjs +7 -0
  411. package/esm2022/components/sidebar/sidebar-container/index.mjs +2 -0
  412. package/esm2022/components/sidebar/sidebar-container/sidebar-container.component.mjs +30 -0
  413. package/esm2022/components/sidebar/sidebar-header/index.mjs +2 -0
  414. package/esm2022/components/sidebar/sidebar-header/sidebar-header.component.mjs +27 -0
  415. package/esm2022/components/sidebar/sidebar-navigation/index.mjs +2 -0
  416. package/esm2022/components/sidebar/sidebar-navigation/sidebar-navigation.component.mjs +16 -0
  417. package/esm2022/components/sidebar/sidebar-navigation-container/index.mjs +2 -0
  418. package/esm2022/components/sidebar/sidebar-navigation-container/sidebar-navigation-container.component.mjs +16 -0
  419. package/esm2022/components/sidebar/sidebar-navigation-item/index.mjs +2 -0
  420. package/esm2022/components/sidebar/sidebar-navigation-item/sidebar-navigation-item.component.mjs +21 -0
  421. package/esm2022/components/sidebar/sidebar.options.mjs +2 -0
  422. package/esm2022/components/sidebar/sidebar.service.mjs +39 -0
  423. package/esm2022/components/svg/index.mjs +3 -0
  424. package/esm2022/components/svg/svg.component.mjs +48 -0
  425. package/esm2022/components/svg/svg.module.mjs +18 -0
  426. package/esm2022/components/tab/index.mjs +2 -0
  427. package/esm2022/components/tab/tab.component.mjs +36 -0
  428. package/esm2022/components/tabs/components/abstract-tabs/abstract-tabs.component.mjs +40 -0
  429. package/esm2022/components/tabs/components/abstract-tabs/index.mjs +2 -0
  430. package/esm2022/components/tabs/components/index.mjs +2 -0
  431. package/esm2022/components/tabs/index.mjs +6 -0
  432. package/esm2022/components/tabs/services/index.mjs +2 -0
  433. package/esm2022/components/tabs/services/tabs.service.mjs +27 -0
  434. package/esm2022/components/tabs/tabs.component.mjs +17 -0
  435. package/esm2022/components/tabs/tabs.options.mjs +5 -0
  436. package/esm2022/components/tabs/tabs.provider.mjs +9 -0
  437. package/esm2022/components/textarea/index.mjs +3 -0
  438. package/esm2022/components/textarea/textarea.component.mjs +35 -0
  439. package/esm2022/components/textarea/textarea.module.mjs +16 -0
  440. package/esm2022/components/toggle/index.mjs +3 -0
  441. package/esm2022/components/toggle/toggle.component.mjs +11 -0
  442. package/esm2022/components/toggle/toggle.module.mjs +16 -0
  443. package/esm2022/cuby-ui-core.mjs +5 -0
  444. package/esm2022/directives/index.mjs +3 -0
  445. package/esm2022/directives/text-field-controller/index.mjs +9 -0
  446. package/esm2022/directives/text-field-controller/text-field-controller.module.mjs +40 -0
  447. package/esm2022/directives/text-field-controller/text-field-controller.provider.mjs +24 -0
  448. package/esm2022/directives/text-field-controller/text-field-icon-left.directive.mjs +21 -0
  449. package/esm2022/directives/text-field-controller/text-field-id.directive.mjs +21 -0
  450. package/esm2022/directives/text-field-controller/text-field-is-error.directive.mjs +24 -0
  451. package/esm2022/directives/text-field-controller/text-field-placeholder.directive.mjs +21 -0
  452. package/esm2022/directives/text-field-controller/text-field-size.directive.mjs +24 -0
  453. package/esm2022/directives/text-field-controller/text-field.controller.mjs +25 -0
  454. package/esm2022/directives/tooltip/index.mjs +17 -0
  455. package/esm2022/directives/tooltip/tooltip-describe.directive.mjs +47 -0
  456. package/esm2022/directives/tooltip/tooltip-driver.directive.mjs +18 -0
  457. package/esm2022/directives/tooltip/tooltip-host.directive.mjs +26 -0
  458. package/esm2022/directives/tooltip/tooltip-hover.directive.mjs +50 -0
  459. package/esm2022/directives/tooltip/tooltip-manual.directive.mjs +31 -0
  460. package/esm2022/directives/tooltip/tooltip-options.directive.mjs +83 -0
  461. package/esm2022/directives/tooltip/tooltip-overflow.directive.mjs +31 -0
  462. package/esm2022/directives/tooltip/tooltip-pointer.directive.mjs +31 -0
  463. package/esm2022/directives/tooltip/tooltip-position.directive.mjs +91 -0
  464. package/esm2022/directives/tooltip/tooltip-unstyled.component.mjs +40 -0
  465. package/esm2022/directives/tooltip/tooltip.component.mjs +109 -0
  466. package/esm2022/directives/tooltip/tooltip.directive.mjs +92 -0
  467. package/esm2022/directives/tooltip/tooltip.mjs +27 -0
  468. package/esm2022/directives/tooltip/tooltip.providers.mjs +7 -0
  469. package/esm2022/directives/tooltip/tooltip.service.mjs +28 -0
  470. package/esm2022/directives/tooltip/tooltips.component.mjs +33 -0
  471. package/esm2022/editor/components/editor-attaches-tool/editor-attaches-tool.component.mjs +60 -0
  472. package/esm2022/editor/components/editor-attaches-tool/editor-attaches-tool.options.mjs +2 -0
  473. package/esm2022/editor/components/editor-attaches-tool/index.mjs +3 -0
  474. package/esm2022/editor/components/editor-image-tool/editor-image-tool.component.mjs +43 -0
  475. package/esm2022/editor/components/editor-image-tool/editor-image-tool.options.mjs +2 -0
  476. package/esm2022/editor/components/editor-image-tool/index.mjs +3 -0
  477. package/esm2022/editor/components/editor-tool/editor-tool.component.mjs +74 -0
  478. package/esm2022/editor/components/editor-tool-modal/editor-tool-modal.component.mjs +69 -0
  479. package/esm2022/editor/components/editor-tool-modal/editor-tool-modal.options.mjs +2 -0
  480. package/esm2022/editor/components/editor-tool-modal/index.mjs +3 -0
  481. package/esm2022/editor/components/editor-tooltip/editor-tooltip.component.mjs +45 -0
  482. package/esm2022/editor/components/editor-tooltip/editor-tooltip.options.mjs +2 -0
  483. package/esm2022/editor/components/editor-tooltip/index.mjs +3 -0
  484. package/esm2022/editor/components/editor-video-tool/editor-video-tool.component.mjs +41 -0
  485. package/esm2022/editor/components/editor-video-tool/editor-video-tool.options.mjs +2 -0
  486. package/esm2022/editor/components/editor-video-tool/index.mjs +3 -0
  487. package/esm2022/editor/components/index.mjs +8 -0
  488. package/esm2022/editor/components/marker-modal/index.mjs +3 -0
  489. package/esm2022/editor/components/marker-modal/marker-modal.component.mjs +261 -0
  490. package/esm2022/editor/components/marker-modal/marker-modal.interfaces.mjs +2 -0
  491. package/esm2022/editor/components/marker-modal/marker-modal.options.mjs +2 -0
  492. package/esm2022/editor/components/marker-select/component/select-item/select-option.component.mjs +15 -0
  493. package/esm2022/editor/components/marker-select/index.mjs +3 -0
  494. package/esm2022/editor/components/marker-select/marker-select.component.mjs +155 -0
  495. package/esm2022/editor/components/marker-select/marker-select.options.mjs +2 -0
  496. package/esm2022/editor/config/custom-elements.mjs +32 -0
  497. package/esm2022/editor/config/editor.config.mjs +30 -0
  498. package/esm2022/editor/config/index.mjs +2 -0
  499. package/esm2022/editor/constants/editor.constants.mjs +20 -0
  500. package/esm2022/editor/constants/index.mjs +2 -0
  501. package/esm2022/editor/editor.component.mjs +393 -0
  502. package/esm2022/editor/events/editor-drag.event.mjs +7 -0
  503. package/esm2022/editor/events/editor-keyboard.event.mjs +33 -0
  504. package/esm2022/editor/events/editor-modal.event.mjs +31 -0
  505. package/esm2022/editor/events/editor-tooltip.event.mjs +63 -0
  506. package/esm2022/editor/events/set-editor-events.mjs +11 -0
  507. package/esm2022/editor/i18n/en.json +14 -0
  508. package/esm2022/editor/index.mjs +8 -0
  509. package/esm2022/editor/interfaces/angular-element.mjs +2 -0
  510. package/esm2022/editor/interfaces/blocks-request-data.mjs +2 -0
  511. package/esm2022/editor/interfaces/combined-block-adding-event.mjs +2 -0
  512. package/esm2022/editor/interfaces/combined-block-data.mjs +2 -0
  513. package/esm2022/editor/interfaces/combined-part-block-data.mjs +2 -0
  514. package/esm2022/editor/interfaces/custom-element.mjs +2 -0
  515. package/esm2022/editor/interfaces/editor-service.mjs +2 -0
  516. package/esm2022/editor/interfaces/event-action-data.mjs +2 -0
  517. package/esm2022/editor/interfaces/file-response-data.mjs +2 -0
  518. package/esm2022/editor/interfaces/full-block-data.mjs +2 -0
  519. package/esm2022/editor/interfaces/index.mjs +15 -0
  520. package/esm2022/editor/interfaces/main-editor-config.mjs +2 -0
  521. package/esm2022/editor/interfaces/mutation-actions.mjs +2 -0
  522. package/esm2022/editor/interfaces/parent.mjs +2 -0
  523. package/esm2022/editor/interfaces/tools.mjs +2 -0
  524. package/esm2022/editor/interfaces/tune.mjs +2 -0
  525. package/esm2022/editor/pipes/file-size.pipe.mjs +25 -0
  526. package/esm2022/editor/providers/editor.provider.mjs +19 -0
  527. package/esm2022/editor/providers/index.mjs +2 -0
  528. package/esm2022/editor/services/editor-service.options.mjs +4 -0
  529. package/esm2022/editor/services/editor.service.mjs +138 -0
  530. package/esm2022/editor/services/index.mjs +5 -0
  531. package/esm2022/editor/services/markers-service.options.mjs +2 -0
  532. package/esm2022/editor/services/markers.service.mjs +79 -0
  533. package/esm2022/editor/tools/attaches.tool.mjs +102 -0
  534. package/esm2022/editor/tools/bold.tool.mjs +33 -0
  535. package/esm2022/editor/tools/combined-text-block.tool.mjs +363 -0
  536. package/esm2022/editor/tools/custom-marker.tool.mjs +88 -0
  537. package/esm2022/editor/tools/header.tool.mjs +16 -0
  538. package/esm2022/editor/tools/image.tool.mjs +157 -0
  539. package/esm2022/editor/tools/index.mjs +12 -0
  540. package/esm2022/editor/tools/italic.tool.mjs +35 -0
  541. package/esm2022/editor/tools/link-marker.tool.mjs +80 -0
  542. package/esm2022/editor/tools/list.tool.mjs +10 -0
  543. package/esm2022/editor/tools/marker.tool.mjs +144 -0
  544. package/esm2022/editor/tools/role-marker.tool.mjs +17 -0
  545. package/esm2022/editor/tools/selection-base.tool.mjs +92 -0
  546. package/esm2022/editor/tools/tool-marker.tool.mjs +14 -0
  547. package/esm2022/editor/tools/video.tool.mjs +132 -0
  548. package/esm2022/editor/utils/copy-text-to-clipboard.mjs +17 -0
  549. package/esm2022/editor/utils/create-link-modal.mjs +22 -0
  550. package/esm2022/editor/utils/create-tool-modal.mjs +45 -0
  551. package/esm2022/editor/utils/create-tools-data.mjs +56 -0
  552. package/esm2022/editor/utils/create-tooltip.mjs +43 -0
  553. package/esm2022/editor/utils/file-uploader.mjs +60 -0
  554. package/esm2022/editor/utils/generate-id.mjs +4 -0
  555. package/esm2022/editor/utils/index.mjs +13 -0
  556. package/esm2022/editor/utils/open-file-in-browser.mjs +9 -0
  557. package/esm2022/editor/utils/recalculate-indexes.mjs +32 -0
  558. package/esm2022/editor/utils/remove-element-tag-wrapper.mjs +11 -0
  559. package/esm2022/editor/utils/set-loading.mjs +14 -0
  560. package/esm2022/editor/utils/split-html.mjs +128 -0
  561. package/esm2022/editor/utils/url.validator.mjs +12 -0
  562. package/esm2022/editor/widgets/editor-block/editor-block.component.mjs +63 -0
  563. package/esm2022/editor/widgets/editor-block/index.mjs +2 -0
  564. package/esm2022/editor/widgets/editor-modal/editor-modal.component.mjs +42 -0
  565. package/esm2022/editor/widgets/editor-modal/index.mjs +2 -0
  566. package/esm2022/editor/widgets/editor-readonly/editor-readonly.component.mjs +36 -0
  567. package/esm2022/editor/widgets/editor-readonly/editor-readonly.options.mjs +2 -0
  568. package/esm2022/editor/widgets/editor-readonly/editor-resize-observer.directive.mjs +51 -0
  569. package/esm2022/editor/widgets/editor-readonly/index.mjs +2 -0
  570. package/esm2022/editor/widgets/index.mjs +4 -0
  571. package/esm2022/index.mjs +12 -0
  572. package/esm2022/interceptors/auth.interceptor.mjs +15 -0
  573. package/esm2022/interceptors/error-handler.interceptor.mjs +23 -0
  574. package/esm2022/interceptors/index.mjs +6 -0
  575. package/esm2022/interceptors/loader.interceptor.mjs +12 -0
  576. package/esm2022/interceptors/sse-stream-reader.interceptor.mjs +78 -0
  577. package/esm2022/interceptors/x-ndjson.interceptor.mjs +48 -0
  578. package/esm2022/interfaces/context-menu-item.mjs +2 -0
  579. package/esm2022/interfaces/error-notification-service.mjs +2 -0
  580. package/esm2022/interfaces/error-stategy.mjs +2 -0
  581. package/esm2022/interfaces/image.mjs +2 -0
  582. package/esm2022/interfaces/index.mjs +6 -0
  583. package/esm2022/interfaces/option.mjs +2 -0
  584. package/esm2022/operators/handle-error.mjs +12 -0
  585. package/esm2022/operators/index.mjs +2 -0
  586. package/esm2022/providers/auth.options.mjs +3 -0
  587. package/esm2022/providers/auth.provider.mjs +31 -0
  588. package/esm2022/providers/error-handler.options.mjs +2 -0
  589. package/esm2022/providers/error-handler.provider.mjs +23 -0
  590. package/esm2022/providers/index.mjs +4 -0
  591. package/esm2022/services/auth.service.mjs +31 -0
  592. package/esm2022/services/browser-auth.service.mjs +31 -0
  593. package/esm2022/services/error-resolver-factory.service.mjs +75 -0
  594. package/esm2022/services/global-handler-error.service.mjs +26 -0
  595. package/esm2022/services/index.mjs +10 -0
  596. package/esm2022/services/loader.options.mjs +6 -0
  597. package/esm2022/services/loader.service.mjs +60 -0
  598. package/esm2022/services/mobile-auth.service.mjs +25 -0
  599. package/esm2022/services/position.service.mjs +23 -0
  600. package/esm2022/services/theme.options.mjs +6 -0
  601. package/esm2022/services/theme.service.mjs +30 -0
  602. package/esm2022/services/token.options.mjs +2 -0
  603. package/esm2022/services/token.service.mjs +121 -0
  604. package/esm2022/services/visual-viewport.service.mjs +28 -0
  605. package/esm2022/tokens/animations-speed.mjs +8 -0
  606. package/esm2022/tokens/error-notification-service.mjs +15 -0
  607. package/esm2022/tokens/error-translation-prefix.mjs +6 -0
  608. package/esm2022/tokens/index.mjs +6 -0
  609. package/esm2022/tokens/reduced-motion.mjs +5 -0
  610. package/esm2022/tokens/viewport.mjs +31 -0
  611. package/esm2022/types/appearance.mjs +2 -0
  612. package/esm2022/types/button-theme.mjs +2 -0
  613. package/esm2022/types/hint-type.mjs +2 -0
  614. package/esm2022/types/index.mjs +11 -0
  615. package/esm2022/types/point.mjs +2 -0
  616. package/esm2022/types/portal-item.mjs +2 -0
  617. package/esm2022/types/position.mjs +2 -0
  618. package/esm2022/types/resizing.mjs +2 -0
  619. package/esm2022/types/shape.mjs +2 -0
  620. package/esm2022/types/size.mjs +2 -0
  621. package/esm2022/types/status.mjs +2 -0
  622. package/esm2022/utils/check-fixed-position.mjs +7 -0
  623. package/esm2022/utils/default-validators/create-default-validators.mjs +19 -0
  624. package/esm2022/utils/default-validators/create-default-validators.options.mjs +2 -0
  625. package/esm2022/utils/default-validators/extra-spaces.options.mjs +11 -0
  626. package/esm2022/utils/default-validators/extra-spaces.validators.mjs +11 -0
  627. package/esm2022/utils/default-validators/index.mjs +2 -0
  628. package/esm2022/utils/format/index.mjs +3 -0
  629. package/esm2022/utils/format/remove-spaces.mjs +4 -0
  630. package/esm2022/utils/format/replace.mjs +5 -0
  631. package/esm2022/utils/index.mjs +5 -0
  632. package/esm2022/utils/miscellaneous/index.mjs +4 -0
  633. package/esm2022/utils/miscellaneous/is-obscured.mjs +8 -0
  634. package/esm2022/utils/miscellaneous/override-options.mjs +11 -0
  635. package/esm2022/utils/miscellaneous/to-animation-options.mjs +14 -0
  636. package/esm2022/widgets/assets/constants/index.mjs +2 -0
  637. package/esm2022/widgets/assets/constants/translations.mjs +5 -0
  638. package/esm2022/widgets/assets/i18n/en.json +45 -0
  639. package/esm2022/widgets/assets/i18n/ru.json +45 -0
  640. package/esm2022/widgets/assets/index.mjs +2 -0
  641. package/esm2022/widgets/index.mjs +5 -0
  642. package/esm2022/widgets/model/circle-loader-size.type.mjs +2 -0
  643. package/esm2022/widgets/model/index.mjs +11 -0
  644. package/esm2022/widgets/model/resource-state-service.interface.mjs +2 -0
  645. package/esm2022/widgets/model/resource-state-service.token.mjs +3 -0
  646. package/esm2022/widgets/model/resources-block.options.mjs +2 -0
  647. package/esm2022/widgets/model/subject-modal-service.interface.mjs +2 -0
  648. package/esm2022/widgets/model/subject-modal-service.token.mjs +3 -0
  649. package/esm2022/widgets/model/used-elements-service.interface.mjs +2 -0
  650. package/esm2022/widgets/model/used-elements-service.token.mjs +3 -0
  651. package/esm2022/widgets/model/utility-service.interface.mjs +2 -0
  652. package/esm2022/widgets/model/utility-service.token.mjs +3 -0
  653. package/esm2022/widgets/service/index.mjs +5 -0
  654. package/esm2022/widgets/service/resource-state-base.service.mjs +19 -0
  655. package/esm2022/widgets/service/subject-modal-base.service.mjs +15 -0
  656. package/esm2022/widgets/service/used-elements-base.service.mjs +17 -0
  657. package/esm2022/widgets/service/utility-base.service.mjs +129 -0
  658. package/esm2022/widgets/ui/assignee-role-item/assignee-role-item.component.mjs +31 -0
  659. package/esm2022/widgets/ui/assignee-role-item/index.mjs +2 -0
  660. package/esm2022/widgets/ui/assignee-roles-tabs/assignee-roles-tabs.component.mjs +48 -0
  661. package/esm2022/widgets/ui/assignee-roles-tabs/index.mjs +2 -0
  662. package/esm2022/widgets/ui/button-change-theme/button-change-theme.component.mjs +27 -0
  663. package/esm2022/widgets/ui/button-change-theme/index.mjs +2 -0
  664. package/esm2022/widgets/ui/categories/categories.component.mjs +78 -0
  665. package/esm2022/widgets/ui/categories/components/categories-list/categories-list.component.mjs +17 -0
  666. package/esm2022/widgets/ui/categories/components/categories-list/index.mjs +2 -0
  667. package/esm2022/widgets/ui/categories/components/category-form/category-form.component.mjs +79 -0
  668. package/esm2022/widgets/ui/categories/components/category-form/index.mjs +2 -0
  669. package/esm2022/widgets/ui/categories/components/category-item/category-item.component.mjs +126 -0
  670. package/esm2022/widgets/ui/categories/components/category-item/index.mjs +2 -0
  671. package/esm2022/widgets/ui/categories/components/create-category-item/create-category-item.component.mjs +25 -0
  672. package/esm2022/widgets/ui/categories/components/create-category-item/index.mjs +2 -0
  673. package/esm2022/widgets/ui/categories/components/index.mjs +3 -0
  674. package/esm2022/widgets/ui/categories/index.mjs +3 -0
  675. package/esm2022/widgets/ui/categories/services/index.mjs +2 -0
  676. package/esm2022/widgets/ui/categories/services/selected-category.service.mjs +38 -0
  677. package/esm2022/widgets/ui/checklist-block/checklist-block.component.mjs +75 -0
  678. package/esm2022/widgets/ui/checklist-block/checklist-block.options.mjs +2 -0
  679. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list/checklist-block-list.component.mjs +85 -0
  680. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list/index.mjs +2 -0
  681. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-card/checklist-block-list-item-action-card.component.mjs +133 -0
  682. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-card/index.mjs +2 -0
  683. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-with-verification/checklist-block-list-item-action-with-verification.component.mjs +45 -0
  684. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-with-verification/index.mjs +2 -0
  685. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-without-verification/checklist-block-list-item-action-without-verification.component.mjs +35 -0
  686. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-without-verification/index.mjs +2 -0
  687. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.component.mjs +152 -0
  688. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.options.mjs +2 -0
  689. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-container/index.mjs +2 -0
  690. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/checklist-block-list-item-evaluation.component.mjs +282 -0
  691. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/checklist-block-list-item-evaluation.options.mjs +2 -0
  692. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/index.mjs +2 -0
  693. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/checklist-block-list-item-evaluation-criteria.component.mjs +117 -0
  694. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/checklist-block-list-item-evaluation-criteria.options.mjs +2 -0
  695. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/index.mjs +2 -0
  696. package/esm2022/widgets/ui/checklist-block/components/checklist-block-title-control/checklist-block-title-control.component.mjs +39 -0
  697. package/esm2022/widgets/ui/checklist-block/components/checklist-block-title-control/index.mjs +2 -0
  698. package/esm2022/widgets/ui/checklist-block/components/index.mjs +2 -0
  699. package/esm2022/widgets/ui/checklist-block/index.mjs +2 -0
  700. package/esm2022/widgets/ui/checklist-block/services/checklist-block.service.mjs +50 -0
  701. package/esm2022/widgets/ui/checklist-block/services/index.mjs +2 -0
  702. package/esm2022/widgets/ui/circle-loader/circle-loader.component.mjs +20 -0
  703. package/esm2022/widgets/ui/circle-loader/index.mjs +2 -0
  704. package/esm2022/widgets/ui/consumable-form/components/consumable-form-item/consumable-form-item.component.mjs +78 -0
  705. package/esm2022/widgets/ui/consumable-form/components/consumable-form-item/default-control-delay.mjs +2 -0
  706. package/esm2022/widgets/ui/consumable-form/components/consumable-form-item/index.mjs +3 -0
  707. package/esm2022/widgets/ui/consumable-form/components/consumable-form-item-readonly/consumable-form-item-readonly.component.mjs +17 -0
  708. package/esm2022/widgets/ui/consumable-form/components/consumable-form-item-readonly/index.mjs +2 -0
  709. package/esm2022/widgets/ui/consumable-form/components/index.mjs +4 -0
  710. package/esm2022/widgets/ui/consumable-form/consumable-form.component.mjs +184 -0
  711. package/esm2022/widgets/ui/consumable-form/consumable-form.options.mjs +2 -0
  712. package/esm2022/widgets/ui/consumable-form/index.mjs +2 -0
  713. package/esm2022/widgets/ui/criterion-info/criterion-info.component.mjs +137 -0
  714. package/esm2022/widgets/ui/criterion-info/index.mjs +2 -0
  715. package/esm2022/widgets/ui/criterion-info-form/criterion-info-form.component.mjs +147 -0
  716. package/esm2022/widgets/ui/criterion-info-form/criterion-info-form.options.mjs +2 -0
  717. package/esm2022/widgets/ui/criterion-info-form/index.mjs +2 -0
  718. package/esm2022/widgets/ui/criterion-readonly-info/criterion-readonly-info.component.mjs +72 -0
  719. package/esm2022/widgets/ui/criterion-readonly-info/index.mjs +2 -0
  720. package/esm2022/widgets/ui/delete-modal/delete-modal.component.mjs +39 -0
  721. package/esm2022/widgets/ui/delete-modal/delete-modal.options.mjs +2 -0
  722. package/esm2022/widgets/ui/delete-modal/index.mjs +2 -0
  723. package/esm2022/widgets/ui/framer-preview/framer-preview.component.mjs +77 -0
  724. package/esm2022/widgets/ui/framer-preview/framer-preview.options.mjs +2 -0
  725. package/esm2022/widgets/ui/framer-preview/index.mjs +2 -0
  726. package/esm2022/widgets/ui/general-control-error-hint/general-control-error-hint.component.mjs +21 -0
  727. package/esm2022/widgets/ui/general-control-error-hint/index.mjs +2 -0
  728. package/esm2022/widgets/ui/index.mjs +30 -0
  729. package/esm2022/widgets/ui/inserted/index.mjs +2 -0
  730. package/esm2022/widgets/ui/inserted/inserted.component.mjs +17 -0
  731. package/esm2022/widgets/ui/instruction-info/index.mjs +2 -0
  732. package/esm2022/widgets/ui/instruction-info/instruction-info.component.mjs +147 -0
  733. package/esm2022/widgets/ui/instruction-info-form/index.mjs +2 -0
  734. package/esm2022/widgets/ui/instruction-info-form/instruction-info-form.component.mjs +153 -0
  735. package/esm2022/widgets/ui/instruction-info-form/instruction-info-form.options.mjs +2 -0
  736. package/esm2022/widgets/ui/instruction-readonly-info/index.mjs +2 -0
  737. package/esm2022/widgets/ui/instruction-readonly-info/instruction-readonly-info.component.mjs +72 -0
  738. package/esm2022/widgets/ui/linear-loader/index.mjs +2 -0
  739. package/esm2022/widgets/ui/linear-loader/linear-loader.component.mjs +11 -0
  740. package/esm2022/widgets/ui/modal-criteria-tab/index.mjs +2 -0
  741. package/esm2022/widgets/ui/modal-criteria-tab/modal-criteria-tab.component.mjs +45 -0
  742. package/esm2022/widgets/ui/modal-divided-section/index.mjs +3 -0
  743. package/esm2022/widgets/ui/modal-divided-section/modal-divided-section.component.mjs +58 -0
  744. package/esm2022/widgets/ui/modal-divided-section/modal-divided-section.interfaces.mjs +2 -0
  745. package/esm2022/widgets/ui/modal-header/index.mjs +2 -0
  746. package/esm2022/widgets/ui/modal-header/modal-header.component.mjs +31 -0
  747. package/esm2022/widgets/ui/modal-header-inserted-buttons/index.mjs +2 -0
  748. package/esm2022/widgets/ui/modal-header-inserted-buttons/modal-header-inserted-buttons.component.mjs +22 -0
  749. package/esm2022/widgets/ui/modal-header-tabs/index.mjs +2 -0
  750. package/esm2022/widgets/ui/modal-header-tabs/modal-header-tabs.component.mjs +19 -0
  751. package/esm2022/widgets/ui/modal-info-tab/index.mjs +3 -0
  752. package/esm2022/widgets/ui/modal-info-tab/modal-info-tab.component.mjs +19 -0
  753. package/esm2022/widgets/ui/modal-info-tab/modal-info-tab.options.mjs +2 -0
  754. package/esm2022/widgets/ui/modal-instructions-tab/index.mjs +2 -0
  755. package/esm2022/widgets/ui/modal-instructions-tab/modal-instructions-tab.component.mjs +31 -0
  756. package/esm2022/widgets/ui/modal-operation-part/index.mjs +2 -0
  757. package/esm2022/widgets/ui/modal-operation-part/modal-operation-part.component.mjs +119 -0
  758. package/esm2022/widgets/ui/modal-resources-tab/index.mjs +2 -0
  759. package/esm2022/widgets/ui/modal-resources-tab/modal-resources-tab.component.mjs +33 -0
  760. package/esm2022/widgets/ui/render-dynamic-modal/index.mjs +3 -0
  761. package/esm2022/widgets/ui/render-dynamic-modal/render-dynamic-modal.component.mjs +29 -0
  762. package/esm2022/widgets/ui/render-dynamic-modal/render-dynamic-modal.option.mjs +2 -0
  763. package/esm2022/widgets/ui/resources-block/components/index.mjs +4 -0
  764. package/esm2022/widgets/ui/resources-block/components/resources-block-consumables/index.mjs +2 -0
  765. package/esm2022/widgets/ui/resources-block/components/resources-block-consumables/resources-block-consumables.component.mjs +53 -0
  766. package/esm2022/widgets/ui/resources-block/components/resources-block-consumables/resources-block-consumables.options.mjs +2 -0
  767. package/esm2022/widgets/ui/resources-block/components/resources-block-content/index.mjs +2 -0
  768. package/esm2022/widgets/ui/resources-block/components/resources-block-content/resources-block-content.component.mjs +38 -0
  769. package/esm2022/widgets/ui/resources-block/components/resources-block-part/index.mjs +2 -0
  770. package/esm2022/widgets/ui/resources-block/components/resources-block-part/resources-block-part.component.mjs +57 -0
  771. package/esm2022/widgets/ui/resources-block/components/resources-block-part/resources-block-part.options.mjs +2 -0
  772. package/esm2022/widgets/ui/resources-block/components/resources-block-tabs/index.mjs +2 -0
  773. package/esm2022/widgets/ui/resources-block/components/resources-block-tabs/resources-block-tabs.component.mjs +56 -0
  774. package/esm2022/widgets/ui/resources-block/components/resources-block-tabs/resources-block-tabs.options.mjs +10 -0
  775. package/esm2022/widgets/ui/resources-block/components/resources-block-toolbox/index.mjs +2 -0
  776. package/esm2022/widgets/ui/resources-block/components/resources-block-toolbox/resources-block-toolbox.component.mjs +56 -0
  777. package/esm2022/widgets/ui/resources-block/components/resources-block-toolbox/resources-block-toolbox.options.mjs +2 -0
  778. package/esm2022/widgets/ui/resources-block/components/resources-options/index.mjs +2 -0
  779. package/esm2022/widgets/ui/resources-block/components/resources-options/resources-options.component.mjs +42 -0
  780. package/esm2022/widgets/ui/resources-block/index.mjs +3 -0
  781. package/esm2022/widgets/ui/resources-block/resources-block.component.mjs +137 -0
  782. package/esm2022/widgets/ui/resources-block-tabs/index.mjs +2 -0
  783. package/esm2022/widgets/ui/resources-block-tabs/resources-block-tabs.component.mjs +57 -0
  784. package/esm2022/widgets/ui/resources-block-tabs/resources-block-tabs.options.mjs +10 -0
  785. package/esm2022/widgets/ui/select-modal/components/index.mjs +3 -0
  786. package/esm2022/widgets/ui/select-modal/components/select-modal-folder/index.mjs +2 -0
  787. package/esm2022/widgets/ui/select-modal/components/select-modal-folder/select-modal-folder.component.mjs +21 -0
  788. package/esm2022/widgets/ui/select-modal/components/select-modal-search/index.mjs +2 -0
  789. package/esm2022/widgets/ui/select-modal/components/select-modal-search/select-modal-search.component.mjs +32 -0
  790. package/esm2022/widgets/ui/select-modal/index.mjs +4 -0
  791. package/esm2022/widgets/ui/select-modal/select-modal.component.mjs +35 -0
  792. package/esm2022/widgets/ui/select-modal/select-modal.interfaces.mjs +2 -0
  793. package/esm2022/widgets/ui/select-modal/select-modal.service.mjs +23 -0
  794. package/esm2022/widgets/ui/stated-loader/index.mjs +2 -0
  795. package/esm2022/widgets/ui/stated-loader/stated-loader.component.mjs +36 -0
  796. package/esm2022/widgets/ui/storage-list/components/index.mjs +2 -0
  797. package/esm2022/widgets/ui/storage-list/components/storage-list-item/index.mjs +2 -0
  798. package/esm2022/widgets/ui/storage-list/components/storage-list-item/storage-list-item.component.mjs +87 -0
  799. package/esm2022/widgets/ui/storage-list/index.mjs +3 -0
  800. package/esm2022/widgets/ui/storage-list/storage-list.component.mjs +17 -0
  801. package/esm2022/widgets/ui/storage-list/storage-list.options.mjs +3 -0
  802. package/esm2022/widgets/ui/toolbox-form/components/index.mjs +2 -0
  803. package/esm2022/widgets/ui/toolbox-form/components/tool-form-readonly/index.mjs +2 -0
  804. package/esm2022/widgets/ui/toolbox-form/components/tool-form-readonly/tool-form-readonly.component.mjs +19 -0
  805. package/esm2022/widgets/ui/toolbox-form/index.mjs +3 -0
  806. package/esm2022/widgets/ui/toolbox-form/tool-form.component.mjs +106 -0
  807. package/esm2022/widgets/ui/toolbox-form/tool-form.options.mjs +2 -0
  808. package/esm2022/widgets/ui/user-action-context-menu/activity-item/activity-item.component.mjs +59 -0
  809. package/esm2022/widgets/ui/user-action-context-menu/activity-item/index.mjs +2 -0
  810. package/esm2022/widgets/ui/user-action-context-menu/company-item/company-item.component.mjs +67 -0
  811. package/esm2022/widgets/ui/user-action-context-menu/company-item/index.mjs +2 -0
  812. package/esm2022/widgets/ui/user-action-context-menu/index.mjs +4 -0
  813. package/esm2022/widgets/ui/user-action-context-menu/services/activity-base.service.mjs +32 -0
  814. package/esm2022/widgets/ui/user-action-context-menu/services/activity.service.mjs +35 -0
  815. package/esm2022/widgets/ui/user-action-context-menu/services/index.mjs +3 -0
  816. package/esm2022/widgets/ui/user-action-context-menu/user-action-context-menu.component.mjs +80 -0
  817. package/esm2022/widgets/ui/user-action-context-menu/user-action-context.option.mjs +3 -0
  818. package/esm2022/widgets/ui/utility-info-readonly/index.mjs +3 -0
  819. package/esm2022/widgets/ui/utility-info-readonly/utility-info-readonly.component.mjs +94 -0
  820. package/esm2022/widgets/ui/utility-info-readonly/utility-info-readonly.options.mjs +2 -0
  821. package/esm2022/widgets/ui/utility-modal/components/criterion-modal-create/criterion-modal-create.component.mjs +41 -0
  822. package/esm2022/widgets/ui/utility-modal/components/criterion-modal-create/index.mjs +2 -0
  823. package/esm2022/widgets/ui/utility-modal/components/index.mjs +5 -0
  824. package/esm2022/widgets/ui/utility-modal/components/instruction-modal-create/index.mjs +2 -0
  825. package/esm2022/widgets/ui/utility-modal/components/instruction-modal-create/instruction-modal-create.component.mjs +41 -0
  826. package/esm2022/widgets/ui/utility-modal/components/readonly-criterion-modal/index.mjs +2 -0
  827. package/esm2022/widgets/ui/utility-modal/components/readonly-criterion-modal/readonly-criterion-modal.component.mjs +40 -0
  828. package/esm2022/widgets/ui/utility-modal/components/readonly-instruction-modal/index.mjs +2 -0
  829. package/esm2022/widgets/ui/utility-modal/components/readonly-instruction-modal/readonly-instruction-modal.component.mjs +40 -0
  830. package/esm2022/widgets/ui/utility-modal/components/readonly-utility-modal/index.mjs +2 -0
  831. package/esm2022/widgets/ui/utility-modal/components/readonly-utility-modal/readonly-utility-modal.component.mjs +43 -0
  832. package/esm2022/widgets/ui/utility-modal/components/utility-modal-create/index.mjs +2 -0
  833. package/esm2022/widgets/ui/utility-modal/components/utility-modal-create/utility-modal-create.component.mjs +55 -0
  834. package/esm2022/widgets/ui/utility-modal/index.mjs +4 -0
  835. package/esm2022/widgets/ui/utility-modal/utility-modal.component.mjs +22 -0
  836. package/esm2022/widgets/ui/utility-modal/utility-modal.options.mjs +3 -0
  837. package/esm2022/widgets/ui/utility-readonly-thumbnail/index.mjs +2 -0
  838. package/esm2022/widgets/ui/utility-readonly-thumbnail/utility-readonly-thumbnail.component.mjs +15 -0
  839. package/esm2022/widgets/ui/utility-thumbnail/index.mjs +2 -0
  840. package/esm2022/widgets/ui/utility-thumbnail/utility-thumbnail.component.mjs +95 -0
  841. package/fesm2022/cuby-ui-core-en-BvvbrGg1.mjs +91 -0
  842. package/fesm2022/cuby-ui-core-en-BvvbrGg1.mjs.map +1 -0
  843. package/fesm2022/cuby-ui-core-en-CnpigsdW.mjs +29 -0
  844. package/fesm2022/cuby-ui-core-en-CnpigsdW.mjs.map +1 -0
  845. package/fesm2022/cuby-ui-core-ru-bROcEQBf.mjs +91 -0
  846. package/fesm2022/cuby-ui-core-ru-bROcEQBf.mjs.map +1 -0
  847. package/fesm2022/cuby-ui-core.mjs +12232 -0
  848. package/fesm2022/cuby-ui-core.mjs.map +1 -0
  849. package/fonts/Inter-Bold.eot +0 -0
  850. package/fonts/Inter-Bold.otf +0 -0
  851. package/fonts/Inter-Bold.svg +25443 -0
  852. package/fonts/Inter-Bold.ttf +0 -0
  853. package/fonts/Inter-Bold.woff +0 -0
  854. package/fonts/Inter-Bold.woff2 +0 -0
  855. package/fonts/Inter-Medium.eot +0 -0
  856. package/fonts/Inter-Medium.otf +0 -0
  857. package/fonts/Inter-Medium.svg +25400 -0
  858. package/fonts/Inter-Medium.ttf +0 -0
  859. package/fonts/Inter-Medium.woff +0 -0
  860. package/fonts/Inter-Medium.woff2 +0 -0
  861. package/fonts/Inter-Regular.eot +0 -0
  862. package/fonts/Inter-Regular.otf +0 -0
  863. package/fonts/Inter-Regular.svg +24341 -0
  864. package/fonts/Inter-Regular.ttf +0 -0
  865. package/fonts/Inter-Regular.woff +0 -0
  866. package/fonts/Inter-Regular.woff2 +0 -0
  867. package/fonts/Inter-SemiBold.eot +0 -0
  868. package/fonts/Inter-SemiBold.otf +0 -0
  869. package/fonts/Inter-SemiBold.svg +25459 -0
  870. package/fonts/Inter-SemiBold.ttf +0 -0
  871. package/fonts/Inter-SemiBold.woff +0 -0
  872. package/fonts/Inter-SemiBold.woff2 +0 -0
  873. package/fonts/Nunito-ExtraBoldItalic.eot +0 -0
  874. package/fonts/Nunito-ExtraBoldItalic.otf +0 -0
  875. package/fonts/Nunito-ExtraBoldItalic.svg +9508 -0
  876. package/fonts/Nunito-ExtraBoldItalic.ttf +0 -0
  877. package/fonts/Nunito-ExtraBoldItalic.woff +0 -0
  878. package/fonts/Nunito-ExtraBoldItalic.woff2 +0 -0
  879. package/index.d.ts +11 -0
  880. package/interceptors/auth.interceptor.d.ts +2 -0
  881. package/interceptors/error-handler.interceptor.d.ts +2 -0
  882. package/interceptors/index.d.ts +5 -0
  883. package/interceptors/loader.interceptor.d.ts +2 -0
  884. package/interceptors/sse-stream-reader.interceptor.d.ts +2 -0
  885. package/interceptors/x-ndjson.interceptor.d.ts +2 -0
  886. package/interfaces/context-menu-item.d.ts +7 -0
  887. package/interfaces/error-notification-service.d.ts +3 -0
  888. package/interfaces/error-stategy.d.ts +3 -0
  889. package/interfaces/image.d.ts +5 -0
  890. package/interfaces/index.d.ts +5 -0
  891. package/interfaces/option.d.ts +5 -0
  892. package/operators/handle-error.d.ts +2 -0
  893. package/operators/index.d.ts +1 -0
  894. package/package.json +4 -7
  895. package/providers/auth.options.d.ts +15 -0
  896. package/providers/auth.provider.d.ts +3 -0
  897. package/providers/error-handler.options.d.ts +6 -0
  898. package/providers/error-handler.provider.d.ts +3 -0
  899. package/providers/index.d.ts +4 -0
  900. package/services/auth.service.d.ts +8 -0
  901. package/services/browser-auth.service.d.ts +10 -0
  902. package/services/error-resolver-factory.service.d.ts +10 -0
  903. package/services/global-handler-error.service.d.ts +10 -0
  904. package/services/index.d.ts +9 -0
  905. package/services/loader.options.d.ts +7 -0
  906. package/services/loader.service.d.ts +21 -0
  907. package/services/mobile-auth.service.d.ts +8 -0
  908. package/services/position.service.d.ts +10 -0
  909. package/services/theme.options.d.ts +5 -0
  910. package/services/theme.service.d.ts +12 -0
  911. package/services/token.options.d.ts +31 -0
  912. package/services/token.service.d.ts +26 -0
  913. package/services/visual-viewport.service.d.ts +9 -0
  914. package/styles/direcive/flex-container.scss +3 -0
  915. package/styles/fonts.scss +69 -0
  916. package/styles/global.scss +10 -0
  917. package/styles/mixins/buttons.scss +13 -0
  918. package/styles/mixins/flex.scss +11 -0
  919. package/styles/mixins/headings.scss +115 -0
  920. package/styles/mixins/inputs.scss +91 -0
  921. package/styles/mixins/lists.scss +41 -0
  922. package/styles/mixins/paddings.scss +35 -0
  923. package/styles/mixins/shadows.scss +42 -0
  924. package/styles/mixins/texts.scss +224 -0
  925. package/styles/reset.scss +111 -0
  926. package/styles/theme.scss +427 -0
  927. package/styles/variables/colors.scss +288 -0
  928. package/styles/variables/fonts.scss +2 -0
  929. package/tokens/animations-speed.d.ts +4 -0
  930. package/tokens/error-notification-service.d.ts +3 -0
  931. package/tokens/error-translation-prefix.d.ts +2 -0
  932. package/tokens/index.d.ts +5 -0
  933. package/tokens/reduced-motion.d.ts +1 -0
  934. package/tokens/viewport.d.ts +7 -0
  935. package/types/appearance.d.ts +11 -0
  936. package/types/button-theme.d.ts +5 -0
  937. package/types/hint-type.d.ts +1 -0
  938. package/types/index.d.ts +10 -0
  939. package/types/point.d.ts +1 -0
  940. package/types/portal-item.d.ts +9 -0
  941. package/types/position.d.ts +2 -0
  942. package/types/resizing.d.ts +3 -0
  943. package/types/shape.d.ts +1 -0
  944. package/types/size.d.ts +6 -0
  945. package/types/status.d.ts +1 -0
  946. package/utils/check-fixed-position.d.ts +1 -0
  947. package/utils/default-validators/create-default-validators.d.ts +5 -0
  948. package/utils/default-validators/create-default-validators.options.d.ts +5 -0
  949. package/utils/default-validators/extra-spaces.options.d.ts +2 -0
  950. package/utils/default-validators/extra-spaces.validators.d.ts +3 -0
  951. package/utils/default-validators/index.d.ts +2 -0
  952. package/utils/format/index.d.ts +2 -0
  953. package/utils/format/remove-spaces.d.ts +1 -0
  954. package/utils/format/replace.d.ts +1 -0
  955. package/utils/index.d.ts +4 -0
  956. package/utils/miscellaneous/index.d.ts +3 -0
  957. package/utils/miscellaneous/is-obscured.d.ts +4 -0
  958. package/utils/miscellaneous/override-options.d.ts +1 -0
  959. package/utils/miscellaneous/to-animation-options.d.ts +4 -0
  960. package/widgets/assets/constants/index.d.ts +1 -0
  961. package/widgets/assets/constants/translations.d.ts +2 -0
  962. package/widgets/assets/index.d.ts +1 -0
  963. package/widgets/index.d.ts +4 -0
  964. package/widgets/model/circle-loader-size.type.d.ts +2 -0
  965. package/widgets/model/index.d.ts +10 -0
  966. package/widgets/model/resource-state-service.interface.d.ts +4 -0
  967. package/widgets/model/resource-state-service.token.d.ts +3 -0
  968. package/widgets/model/resources-block.options.d.ts +15 -0
  969. package/widgets/model/subject-modal-service.interface.d.ts +7 -0
  970. package/widgets/model/subject-modal-service.token.d.ts +3 -0
  971. package/widgets/model/used-elements-service.interface.d.ts +5 -0
  972. package/widgets/model/used-elements-service.token.d.ts +3 -0
  973. package/widgets/model/utility-service.interface.d.ts +23 -0
  974. package/widgets/model/utility-service.token.d.ts +3 -0
  975. package/widgets/service/index.d.ts +4 -0
  976. package/widgets/service/resource-state-base.service.d.ts +10 -0
  977. package/widgets/service/subject-modal-base.service.d.ts +11 -0
  978. package/widgets/service/used-elements-base.service.d.ts +11 -0
  979. package/widgets/service/utility-base.service.d.ts +29 -0
  980. package/widgets/ui/assignee-role-item/assignee-role-item.component.d.ts +12 -0
  981. package/widgets/ui/assignee-role-item/index.d.ts +1 -0
  982. package/widgets/ui/assignee-roles-tabs/assignee-roles-tabs.component.d.ts +18 -0
  983. package/widgets/ui/assignee-roles-tabs/index.d.ts +1 -0
  984. package/widgets/ui/button-change-theme/button-change-theme.component.d.ts +9 -0
  985. package/widgets/ui/button-change-theme/index.d.ts +1 -0
  986. package/widgets/ui/categories/categories.component.d.ts +25 -0
  987. package/widgets/ui/categories/components/categories-list/categories-list.component.d.ts +8 -0
  988. package/widgets/ui/categories/components/categories-list/index.d.ts +1 -0
  989. package/widgets/ui/categories/components/category-form/category-form.component.d.ts +28 -0
  990. package/widgets/ui/categories/components/category-form/index.d.ts +1 -0
  991. package/widgets/ui/categories/components/category-item/category-item.component.d.ts +42 -0
  992. package/widgets/ui/categories/components/category-item/index.d.ts +1 -0
  993. package/widgets/ui/categories/components/create-category-item/create-category-item.component.d.ts +10 -0
  994. package/widgets/ui/categories/components/create-category-item/index.d.ts +1 -0
  995. package/widgets/ui/categories/components/index.d.ts +2 -0
  996. package/widgets/ui/categories/index.d.ts +2 -0
  997. package/widgets/ui/categories/services/index.d.ts +1 -0
  998. package/widgets/ui/categories/services/selected-category.service.d.ts +18 -0
  999. package/widgets/ui/checklist-block/checklist-block.component.d.ts +21 -0
  1000. package/widgets/ui/checklist-block/checklist-block.options.d.ts +12 -0
  1001. package/widgets/ui/checklist-block/components/checklist-block-list/checklist-block-list.component.d.ts +27 -0
  1002. package/widgets/ui/checklist-block/components/checklist-block-list/index.d.ts +1 -0
  1003. package/widgets/ui/checklist-block/components/checklist-block-list-item-action-card/checklist-block-list-item-action-card.component.d.ts +30 -0
  1004. package/widgets/ui/checklist-block/components/checklist-block-list-item-action-card/index.d.ts +1 -0
  1005. package/widgets/ui/checklist-block/components/checklist-block-list-item-action-with-verification/checklist-block-list-item-action-with-verification.component.d.ts +11 -0
  1006. package/widgets/ui/checklist-block/components/checklist-block-list-item-action-with-verification/index.d.ts +1 -0
  1007. package/widgets/ui/checklist-block/components/checklist-block-list-item-action-without-verification/checklist-block-list-item-action-without-verification.component.d.ts +10 -0
  1008. package/widgets/ui/checklist-block/components/checklist-block-list-item-action-without-verification/index.d.ts +1 -0
  1009. package/widgets/ui/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.component.d.ts +41 -0
  1010. package/widgets/ui/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.options.d.ts +5 -0
  1011. package/widgets/ui/checklist-block/components/checklist-block-list-item-container/index.d.ts +1 -0
  1012. package/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/checklist-block-list-item-evaluation.component.d.ts +51 -0
  1013. package/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/checklist-block-list-item-evaluation.options.d.ts +14 -0
  1014. package/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/index.d.ts +2 -0
  1015. package/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/checklist-block-list-item-evaluation-criteria.component.d.ts +33 -0
  1016. package/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/checklist-block-list-item-evaluation-criteria.options.d.ts +4 -0
  1017. package/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/index.d.ts +1 -0
  1018. package/widgets/ui/checklist-block/components/checklist-block-title-control/checklist-block-title-control.component.d.ts +8 -0
  1019. package/widgets/ui/checklist-block/components/checklist-block-title-control/index.d.ts +1 -0
  1020. package/widgets/ui/checklist-block/components/index.d.ts +1 -0
  1021. package/widgets/ui/checklist-block/index.d.ts +1 -0
  1022. package/widgets/ui/checklist-block/services/checklist-block.service.d.ts +19 -0
  1023. package/widgets/ui/checklist-block/services/index.d.ts +1 -0
  1024. package/widgets/ui/circle-loader/circle-loader.component.d.ts +8 -0
  1025. package/widgets/ui/circle-loader/index.d.ts +1 -0
  1026. package/widgets/ui/consumable-form/components/consumable-form-item/consumable-form-item.component.d.ts +31 -0
  1027. package/widgets/ui/consumable-form/components/consumable-form-item/default-control-delay.d.ts +1 -0
  1028. package/widgets/ui/consumable-form/components/consumable-form-item/index.d.ts +2 -0
  1029. package/widgets/ui/consumable-form/components/consumable-form-item-readonly/consumable-form-item-readonly.component.d.ts +8 -0
  1030. package/widgets/ui/consumable-form/components/consumable-form-item-readonly/index.d.ts +1 -0
  1031. package/widgets/ui/consumable-form/components/index.d.ts +3 -0
  1032. package/widgets/ui/consumable-form/consumable-form.component.d.ts +46 -0
  1033. package/widgets/ui/consumable-form/consumable-form.options.d.ts +22 -0
  1034. package/widgets/ui/consumable-form/index.d.ts +1 -0
  1035. package/widgets/ui/criterion-info/criterion-info.component.d.ts +43 -0
  1036. package/widgets/ui/criterion-info/index.d.ts +1 -0
  1037. package/widgets/ui/criterion-info-form/criterion-info-form.component.d.ts +39 -0
  1038. package/widgets/ui/criterion-info-form/criterion-info-form.options.d.ts +7 -0
  1039. package/widgets/ui/criterion-info-form/index.d.ts +2 -0
  1040. package/widgets/ui/criterion-readonly-info/criterion-readonly-info.component.d.ts +26 -0
  1041. package/widgets/ui/criterion-readonly-info/index.d.ts +1 -0
  1042. package/widgets/ui/delete-modal/delete-modal.component.d.ts +13 -0
  1043. package/widgets/ui/delete-modal/delete-modal.options.d.ts +7 -0
  1044. package/widgets/ui/delete-modal/index.d.ts +2 -0
  1045. package/widgets/ui/framer-preview/framer-preview.component.d.ts +26 -0
  1046. package/widgets/ui/framer-preview/framer-preview.options.d.ts +5 -0
  1047. package/widgets/ui/framer-preview/index.d.ts +2 -0
  1048. package/widgets/ui/general-control-error-hint/general-control-error-hint.component.d.ts +9 -0
  1049. package/widgets/ui/general-control-error-hint/index.d.ts +1 -0
  1050. package/widgets/ui/index.d.ts +29 -0
  1051. package/widgets/ui/inserted/index.d.ts +1 -0
  1052. package/widgets/ui/inserted/inserted.component.d.ts +5 -0
  1053. package/widgets/ui/instruction-info/index.d.ts +1 -0
  1054. package/widgets/ui/instruction-info/instruction-info.component.d.ts +45 -0
  1055. package/widgets/ui/instruction-info-form/index.d.ts +2 -0
  1056. package/widgets/ui/instruction-info-form/instruction-info-form.component.d.ts +43 -0
  1057. package/widgets/ui/instruction-info-form/instruction-info-form.options.d.ts +9 -0
  1058. package/widgets/ui/instruction-readonly-info/index.d.ts +1 -0
  1059. package/widgets/ui/instruction-readonly-info/instruction-readonly-info.component.d.ts +26 -0
  1060. package/widgets/ui/linear-loader/index.d.ts +1 -0
  1061. package/widgets/ui/linear-loader/linear-loader.component.d.ts +5 -0
  1062. package/widgets/ui/modal-criteria-tab/index.d.ts +1 -0
  1063. package/widgets/ui/modal-criteria-tab/modal-criteria-tab.component.d.ts +15 -0
  1064. package/widgets/ui/modal-divided-section/index.d.ts +2 -0
  1065. package/widgets/ui/modal-divided-section/modal-divided-section.component.d.ts +22 -0
  1066. package/widgets/ui/modal-divided-section/modal-divided-section.interfaces.d.ts +6 -0
  1067. package/widgets/ui/modal-header/index.d.ts +1 -0
  1068. package/widgets/ui/modal-header/modal-header.component.d.ts +12 -0
  1069. package/widgets/ui/modal-header-inserted-buttons/index.d.ts +1 -0
  1070. package/widgets/ui/modal-header-inserted-buttons/modal-header-inserted-buttons.component.d.ts +7 -0
  1071. package/widgets/ui/modal-header-tabs/index.d.ts +1 -0
  1072. package/widgets/ui/modal-header-tabs/modal-header-tabs.component.d.ts +8 -0
  1073. package/widgets/ui/modal-info-tab/index.d.ts +2 -0
  1074. package/widgets/ui/modal-info-tab/modal-info-tab.component.d.ts +8 -0
  1075. package/widgets/ui/modal-info-tab/modal-info-tab.options.d.ts +4 -0
  1076. package/widgets/ui/modal-instructions-tab/index.d.ts +1 -0
  1077. package/widgets/ui/modal-instructions-tab/modal-instructions-tab.component.d.ts +15 -0
  1078. package/widgets/ui/modal-operation-part/index.d.ts +1 -0
  1079. package/widgets/ui/modal-operation-part/modal-operation-part.component.d.ts +26 -0
  1080. package/widgets/ui/modal-resources-tab/index.d.ts +1 -0
  1081. package/widgets/ui/modal-resources-tab/modal-resources-tab.component.d.ts +14 -0
  1082. package/widgets/ui/render-dynamic-modal/index.d.ts +2 -0
  1083. package/widgets/ui/render-dynamic-modal/render-dynamic-modal.component.d.ts +11 -0
  1084. package/widgets/ui/render-dynamic-modal/render-dynamic-modal.option.d.ts +5 -0
  1085. package/widgets/ui/resources-block/components/index.d.ts +5 -0
  1086. package/widgets/ui/resources-block/components/resources-block-consumables/index.d.ts +2 -0
  1087. package/widgets/ui/resources-block/components/resources-block-consumables/resources-block-consumables.component.d.ts +17 -0
  1088. package/widgets/ui/resources-block/components/resources-block-consumables/resources-block-consumables.options.d.ts +7 -0
  1089. package/widgets/ui/resources-block/components/resources-block-content/index.d.ts +1 -0
  1090. package/widgets/ui/resources-block/components/resources-block-content/resources-block-content.component.d.ts +19 -0
  1091. package/widgets/ui/resources-block/components/resources-block-part/index.d.ts +1 -0
  1092. package/widgets/ui/resources-block/components/resources-block-part/resources-block-part.component.d.ts +19 -0
  1093. package/widgets/ui/resources-block/components/resources-block-part/resources-block-part.options.d.ts +5 -0
  1094. package/widgets/ui/resources-block/components/resources-block-tabs/index.d.ts +1 -0
  1095. package/widgets/ui/resources-block/components/resources-block-tabs/resources-block-tabs.component.d.ts +28 -0
  1096. package/widgets/ui/resources-block/components/resources-block-tabs/resources-block-tabs.options.d.ts +13 -0
  1097. package/widgets/ui/resources-block/components/resources-block-toolbox/index.d.ts +2 -0
  1098. package/widgets/ui/resources-block/components/resources-block-toolbox/resources-block-toolbox.component.d.ts +17 -0
  1099. package/widgets/ui/resources-block/components/resources-block-toolbox/resources-block-toolbox.options.d.ts +5 -0
  1100. package/widgets/ui/resources-block/components/resources-options/index.d.ts +1 -0
  1101. package/widgets/ui/resources-block/components/resources-options/resources-options.component.d.ts +20 -0
  1102. package/widgets/ui/resources-block/index.d.ts +2 -0
  1103. package/widgets/ui/resources-block/resources-block.component.d.ts +35 -0
  1104. package/widgets/ui/resources-block-tabs/index.d.ts +1 -0
  1105. package/widgets/ui/resources-block-tabs/resources-block-tabs.component.d.ts +28 -0
  1106. package/widgets/ui/resources-block-tabs/resources-block-tabs.options.d.ts +14 -0
  1107. package/widgets/ui/select-modal/components/index.d.ts +2 -0
  1108. package/widgets/ui/select-modal/components/select-modal-folder/index.d.ts +1 -0
  1109. package/widgets/ui/select-modal/components/select-modal-folder/select-modal-folder.component.d.ts +10 -0
  1110. package/widgets/ui/select-modal/components/select-modal-search/index.d.ts +1 -0
  1111. package/widgets/ui/select-modal/components/select-modal-search/select-modal-search.component.d.ts +12 -0
  1112. package/widgets/ui/select-modal/index.d.ts +4 -0
  1113. package/widgets/ui/select-modal/select-modal.component.d.ts +13 -0
  1114. package/widgets/ui/select-modal/select-modal.interfaces.d.ts +15 -0
  1115. package/widgets/ui/select-modal/select-modal.service.d.ts +13 -0
  1116. package/widgets/ui/stated-loader/index.d.ts +1 -0
  1117. package/widgets/ui/stated-loader/stated-loader.component.d.ts +20 -0
  1118. package/widgets/ui/storage-list/components/index.d.ts +1 -0
  1119. package/widgets/ui/storage-list/components/storage-list-item/index.d.ts +1 -0
  1120. package/widgets/ui/storage-list/components/storage-list-item/storage-list-item.component.d.ts +24 -0
  1121. package/widgets/ui/storage-list/index.d.ts +2 -0
  1122. package/widgets/ui/storage-list/storage-list.component.d.ts +10 -0
  1123. package/widgets/ui/storage-list/storage-list.options.d.ts +16 -0
  1124. package/widgets/ui/toolbox-form/components/index.d.ts +1 -0
  1125. package/widgets/ui/toolbox-form/components/tool-form-readonly/index.d.ts +1 -0
  1126. package/widgets/ui/toolbox-form/components/tool-form-readonly/tool-form-readonly.component.d.ts +7 -0
  1127. package/widgets/ui/toolbox-form/index.d.ts +2 -0
  1128. package/widgets/ui/toolbox-form/tool-form.component.d.ts +34 -0
  1129. package/widgets/ui/toolbox-form/tool-form.options.d.ts +5 -0
  1130. package/widgets/ui/user-action-context-menu/activity-item/activity-item.component.d.ts +16 -0
  1131. package/widgets/ui/user-action-context-menu/activity-item/index.d.ts +1 -0
  1132. package/widgets/ui/user-action-context-menu/company-item/company-item.component.d.ts +20 -0
  1133. package/widgets/ui/user-action-context-menu/company-item/index.d.ts +1 -0
  1134. package/widgets/ui/user-action-context-menu/index.d.ts +3 -0
  1135. package/widgets/ui/user-action-context-menu/services/activity-base.service.d.ts +14 -0
  1136. package/widgets/ui/user-action-context-menu/services/activity.service.d.ts +14 -0
  1137. package/widgets/ui/user-action-context-menu/services/index.d.ts +2 -0
  1138. package/widgets/ui/user-action-context-menu/user-action-context-menu.component.d.ts +25 -0
  1139. package/widgets/ui/user-action-context-menu/user-action-context.option.d.ts +15 -0
  1140. package/widgets/ui/utility-info-readonly/index.d.ts +2 -0
  1141. package/widgets/ui/utility-info-readonly/utility-info-readonly.component.d.ts +29 -0
  1142. package/widgets/ui/utility-info-readonly/utility-info-readonly.options.d.ts +4 -0
  1143. package/widgets/ui/utility-modal/components/criterion-modal-create/criterion-modal-create.component.d.ts +18 -0
  1144. package/widgets/ui/utility-modal/components/criterion-modal-create/index.d.ts +1 -0
  1145. package/widgets/ui/utility-modal/components/index.d.ts +4 -0
  1146. package/widgets/ui/utility-modal/components/instruction-modal-create/index.d.ts +1 -0
  1147. package/widgets/ui/utility-modal/components/instruction-modal-create/instruction-modal-create.component.d.ts +18 -0
  1148. package/widgets/ui/utility-modal/components/readonly-criterion-modal/index.d.ts +1 -0
  1149. package/widgets/ui/utility-modal/components/readonly-criterion-modal/readonly-criterion-modal.component.d.ts +16 -0
  1150. package/widgets/ui/utility-modal/components/readonly-instruction-modal/index.d.ts +1 -0
  1151. package/widgets/ui/utility-modal/components/readonly-instruction-modal/readonly-instruction-modal.component.d.ts +16 -0
  1152. package/widgets/ui/utility-modal/components/readonly-utility-modal/index.d.ts +1 -0
  1153. package/widgets/ui/utility-modal/components/readonly-utility-modal/readonly-utility-modal.component.d.ts +18 -0
  1154. package/widgets/ui/utility-modal/components/utility-modal-create/index.d.ts +1 -0
  1155. package/widgets/ui/utility-modal/components/utility-modal-create/utility-modal-create.component.d.ts +25 -0
  1156. package/widgets/ui/utility-modal/index.d.ts +3 -0
  1157. package/widgets/ui/utility-modal/utility-modal.component.d.ts +10 -0
  1158. package/widgets/ui/utility-modal/utility-modal.options.d.ts +12 -0
  1159. package/widgets/ui/utility-readonly-thumbnail/index.d.ts +1 -0
  1160. package/widgets/ui/utility-readonly-thumbnail/utility-readonly-thumbnail.component.d.ts +8 -0
  1161. package/widgets/ui/utility-thumbnail/index.d.ts +1 -0
  1162. package/widgets/ui/utility-thumbnail/utility-thumbnail.component.d.ts +21 -0
@@ -0,0 +1,184 @@
1
+ import { ChangeDetectionStrategy, Component, computed, DestroyRef, effect, inject, input, output, signal, untracked } from '@angular/core';
2
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
+ import { NonNullableFormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';
4
+ import { CuiConsumptionUnitsService, CuiElementDirective, UnitsAmount } from '@cuby-ui/cdk';
5
+ import { TranslocoDirective, TranslocoService } from '@jsverse/transloco';
6
+ import { finalize, switchMap, tap } from 'rxjs/operators';
7
+ import { ConsumableFormItemComponent } from './components';
8
+ import { ResourceContentType } from '@cuby-ui/api';
9
+ import { OptionsButtonComponent } from '../../../components/options-button/options-button.component';
10
+ import { CuiQuantumGroupResourcesStructureApiService, SeasonType } from '@cuby-ui/api';
11
+ import { CuiAccordionModule, CuiAlertService, CuiButtonModule, CuiContextMenuModule, CuiFormFieldModule, CuiInputNumberModule, CuiLabelModule, CuiSvgModule } from '../../../components';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "../../../components/accordion/accordion-item/accordion-item.component";
14
+ import * as i2 from "../../../components/button/button.component";
15
+ import * as i3 from "../../../components/context-menu/context-menu.component";
16
+ export class ConsumableFormComponent {
17
+ static { this.CONSUMABLE_WAS_DELETED = 'CONSUMABLE_WAS_SUCCESSFULLY_DELETED'; }
18
+ constructor() {
19
+ this.destroyRef = inject(DestroyRef);
20
+ this.translocoService = inject(TranslocoService);
21
+ this.formBuilder = inject(NonNullableFormBuilder);
22
+ this.cuiAlertService = inject(CuiAlertService);
23
+ this.cuiConsumptionUnitsService = inject(CuiConsumptionUnitsService);
24
+ this.quantumGroupResourcesStructureApiService = inject(CuiQuantumGroupResourcesStructureApiService);
25
+ this.CONSUMABLE_OPTIONS = [
26
+ {
27
+ label: 'Delete',
28
+ icon: 'cuiIconTrash',
29
+ color: 'var(--cui-danger)',
30
+ command: this.onDeleteConsumable.bind(this)
31
+ }
32
+ ];
33
+ this.seasons = Object.values(SeasonType);
34
+ this.allSeasonForm = signal(null);
35
+ this.seasonForms = signal([]);
36
+ this.isLoading = signal(false);
37
+ this.availableSeasons = computed(() => {
38
+ const usedSeasons = this.seasonForms().map((form) => form.type);
39
+ return this.seasons.filter((season) => !usedSeasons.includes(season));
40
+ });
41
+ this.consumptionOptions = computed(() => {
42
+ const consumable = this.consumable();
43
+ if (!(consumable.specifications || consumable.parameters)) {
44
+ return [];
45
+ }
46
+ const consumableUnits = this.cuiConsumptionUnitsService.getConsumptionsUnits(consumable);
47
+ return Object.values(consumableUnits)
48
+ .reduce((accumulator, value) => accumulator.concat(value), [])
49
+ .map((unit) => ({ label: unit.abbreviation, value: unit.value }));
50
+ });
51
+ this.SEASON_OPTIONS = computed(() => this.availableSeasons().map((season) => ({
52
+ label: season,
53
+ command: () => this.addSeason(season, this.createForm())
54
+ })));
55
+ this.utilityId = input.required();
56
+ this.consumable = input.required();
57
+ this.readonly = input(false);
58
+ this.consumableChanged = output();
59
+ this.consumableDeleted = output();
60
+ this.initFormValuesEffect();
61
+ }
62
+ onConsumableChanged() {
63
+ this.updateConsumable();
64
+ }
65
+ onRemoveSeason(type) {
66
+ this.seasonForms.update((forms) => forms.filter((form) => form.type !== type));
67
+ this.updateConsumable();
68
+ }
69
+ onDeleteConsumable() {
70
+ const { id } = this.consumable();
71
+ this.isLoading.set(true);
72
+ this.quantumGroupResourcesStructureApiService
73
+ .deleteElementInStructure(this.utilityId(), ResourceContentType.Consumables.toLowerCase(), id)
74
+ .pipe(takeUntilDestroyed(this.destroyRef), tap(() => this.consumableDeleted.emit(id)), finalize(() => this.isLoading.set(false)), switchMap(() => this.cuiAlertService.open(this.translocoService.translate(ConsumableFormComponent.CONSUMABLE_WAS_DELETED), {
75
+ status: 'success'
76
+ })))
77
+ .subscribe();
78
+ }
79
+ initFormValuesEffect() {
80
+ effect(() => {
81
+ const seasonForms = untracked(this.seasonForms);
82
+ this.consumable().supply?.forEach((season) => {
83
+ const isExist = seasonForms.find((form) => form.type === season.season);
84
+ if (isExist) {
85
+ return;
86
+ }
87
+ this.addSeason(season.season, this.createForm(season));
88
+ });
89
+ if (this.allSeasonForm()) {
90
+ return;
91
+ }
92
+ this.allSeasonForm.set(this.createForm(this.consumable().supplyDefoliate));
93
+ }, { allowSignalWrites: true });
94
+ }
95
+ addSeason(seasonType, form) {
96
+ this.seasonForms.update((forms) => [
97
+ ...forms,
98
+ {
99
+ type: seasonType,
100
+ form
101
+ }
102
+ ]);
103
+ }
104
+ updateConsumable() {
105
+ const allSeasonForm = this.allSeasonForm();
106
+ if (!allSeasonForm?.valid) {
107
+ return;
108
+ }
109
+ const supply = this.seasonForms()
110
+ .filter((season) => season.form.valid)
111
+ .map((season) => this.formatMeasureUnits({ season: season.type, ...season.form.getRawValue() }));
112
+ const requestBody = {
113
+ id: this.consumable().id,
114
+ type: "consumable" /* ResourceRequestType.Consumables */,
115
+ supplyDefoliate: this.formatMeasureUnits(allSeasonForm.value),
116
+ supply
117
+ };
118
+ const updatedConsumable = {
119
+ ...this.consumable(),
120
+ ...requestBody
121
+ };
122
+ this.quantumGroupResourcesStructureApiService
123
+ .updateElementInStructure(this.utilityId(), ResourceContentType.Consumables, requestBody)
124
+ .pipe(takeUntilDestroyed(this.destroyRef), tap(() => this.consumableChanged.emit(updatedConsumable)))
125
+ .subscribe();
126
+ }
127
+ createForm(values) {
128
+ return this.formBuilder.group({
129
+ quantity: this.formBuilder.control(values?.quantity, [
130
+ Validators.required,
131
+ Validators.min(1),
132
+ Validators.max(99999)
133
+ ]),
134
+ unit: this.formBuilder.control(UnitsAmount[0].value, [Validators.required]),
135
+ measure: this.formBuilder.group({
136
+ measure: this.formBuilder.control(values?.measure?.measure ??
137
+ (this.consumptionOptions?.()[0]?.value
138
+ ? this.cuiConsumptionUnitsService.getConsumptionByUnit(this.consumptionOptions()[0].value)
139
+ : "LENGTH" /* Consumption.Length */), [Validators.required]),
140
+ value: this.formBuilder.control(values?.measure?.value, [
141
+ Validators.required,
142
+ Validators.min(0.001),
143
+ Validators.max(99999)
144
+ ]),
145
+ unit: this.formBuilder.control(values?.measure?.measure === 'AMOUNT'
146
+ ? 'PIECES'
147
+ : (values?.measure?.unit ?? this.consumptionOptions?.()[0].value), [Validators.required])
148
+ })
149
+ });
150
+ }
151
+ formatMeasureUnits(material) {
152
+ return {
153
+ ...material,
154
+ measure: {
155
+ ...material.measure,
156
+ unit: material.measure.measure === 'AMOUNT'
157
+ ? null
158
+ : (material?.measure?.unit ?? this.consumptionOptions?.()[0].value)
159
+ }
160
+ };
161
+ }
162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConsumableFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
163
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ConsumableFormComponent, isStandalone: true, selector: "cui-consumable-form", inputs: { utilityId: { classPropertyName: "utilityId", publicName: "utilityId", isSignal: true, isRequired: true, transformFunction: null }, consumable: { classPropertyName: "consumable", publicName: "consumable", isSignal: true, isRequired: true, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { consumableChanged: "consumableChanged", consumableDeleted: "consumableDeleted" }, ngImport: i0, template: "<cui-accordion-item\n *transloco=\"let t\"\n class=\"accordion\"\n>\n <div class=\"header\">\n {{ consumable().name }}\n\n @if (!readonly()) {\n <cui-options-button [options]=\"CONSUMABLE_OPTIONS\" />\n }\n </div>\n\n <div\n cuiAccordionItemContent\n class=\"content\"\n >\n <div class=\"info\">\n <div class=\"title\">{{ t('SEASON_CONSUMPTION') }}</div>\n\n @if (allSeasonForm() && consumptionOptions().length) {\n <cc-consumable-form-item\n title=\"{{ t('ALL_SEASON') }}:\"\n [consumptionOptions]=\"consumptionOptions()\"\n [form]=\"allSeasonForm()!\"\n [readonly]=\"readonly()\"\n (consumableChanged)=\"onConsumableChanged()\"\n />\n }\n </div>\n\n <div>\n @for (season of seasonForms(); track season) {\n <div class=\"season\">\n @if (consumptionOptions().length) {\n <cc-consumable-form-item\n title=\"{{ t(season.type) }}:\"\n [consumptionOptions]=\"consumptionOptions()\"\n [form]=\"season.form\"\n [readonly]=\"readonly()\"\n (consumableChanged)=\"onConsumableChanged()\"\n />\n }\n\n @if (!readonly()) {\n <div class=\"container-trash\">\n <button\n type=\"button\"\n cuiButton\n size=\"xxs\"\n appearance=\"ghost\"\n icon=\"cuiIconTrash\"\n (click)=\"onRemoveSeason(season.type)\"\n ></button>\n </div>\n }\n </div>\n }\n </div>\n @if (!readonly()) {\n <button\n #seasonButton=\"elementRef\"\n cuiButton\n cuiElement\n type=\"button\"\n appearance=\"flat\"\n size=\"xxs\"\n icon=\"cuiIconPlus\"\n [disabled]=\"!availableSeasons().length\"\n class=\"add-button\"\n >\n {{ t('ADD_SEASON') }}\n </button>\n <cui-context-menu\n [items]=\"SEASON_OPTIONS()\"\n [target]=\"seasonButton.nativeElement\"\n />\n }\n </div>\n</cui-accordion-item>\n", styles: [":host{display:flex;flex-direction:row;gap:0;width:100%}.info{display:flex;flex-direction:column;gap:8px;padding-bottom:8px}.accordion{display:flex;flex-direction:column;gap:16px;padding-top:8px;padding-bottom:8px;flex-grow:1;border:1px solid var(--cui-base-200);background-color:var(--cui-base-0)}.season{display:flex;flex-direction:row;gap:8px;align-items:center;justify-content:flex-start;padding:16px;border:solid 1px var(--cui-base-200);border-radius:8px}.header{display:flex;flex-direction:row;gap:0;justify-content:space-between;align-items:center}.title{font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-500);text-transform:uppercase}.content{display:flex;flex-direction:column;gap:4px}.container-trash{display:flex;flex-direction:row;gap:0;align-items:center;justify-content:center}.add-button{align-self:flex-start}\n"], dependencies: [{ kind: "ngmodule", type: CuiAccordionModule }, { kind: "component", type: i1.CuiAccordionItemComponent, selector: "cui-accordion-item", inputs: ["isOpen", "appearance"], outputs: ["isOpenChange"] }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: i2.CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "ngmodule", type: CuiContextMenuModule }, { kind: "component", type: i3.CuiContextMenuComponent, selector: "cui-context-menu[items][target]", inputs: ["items", "target", "width", "withPaddings"] }, { kind: "directive", type: CuiElementDirective, selector: "[cuiElement]", exportAs: ["elementRef"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: OptionsButtonComponent, selector: "cui-options-button", inputs: ["options", "hoverBackgroundColor"] }, { kind: "ngmodule", type: CuiInputNumberModule }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "ngmodule", type: CuiFormFieldModule }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "component", type: ConsumableFormItemComponent, selector: "cc-consumable-form-item", inputs: ["title", "consumptionOptions", "form", "readonly"], outputs: ["consumableChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
164
+ }
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConsumableFormComponent, decorators: [{
166
+ type: Component,
167
+ args: [{ selector: 'cui-consumable-form', imports: [
168
+ CuiAccordionModule,
169
+ CuiButtonModule,
170
+ CuiContextMenuModule,
171
+ CuiElementDirective,
172
+ ReactiveFormsModule,
173
+ TranslocoDirective,
174
+ OptionsButtonComponent,
175
+ CuiInputNumberModule,
176
+ CuiSvgModule,
177
+ CuiFormFieldModule,
178
+ CuiLabelModule,
179
+ ConsumableFormItemComponent,
180
+ ConsumableFormItemComponent,
181
+ ConsumableFormItemComponent
182
+ ], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<cui-accordion-item\n *transloco=\"let t\"\n class=\"accordion\"\n>\n <div class=\"header\">\n {{ consumable().name }}\n\n @if (!readonly()) {\n <cui-options-button [options]=\"CONSUMABLE_OPTIONS\" />\n }\n </div>\n\n <div\n cuiAccordionItemContent\n class=\"content\"\n >\n <div class=\"info\">\n <div class=\"title\">{{ t('SEASON_CONSUMPTION') }}</div>\n\n @if (allSeasonForm() && consumptionOptions().length) {\n <cc-consumable-form-item\n title=\"{{ t('ALL_SEASON') }}:\"\n [consumptionOptions]=\"consumptionOptions()\"\n [form]=\"allSeasonForm()!\"\n [readonly]=\"readonly()\"\n (consumableChanged)=\"onConsumableChanged()\"\n />\n }\n </div>\n\n <div>\n @for (season of seasonForms(); track season) {\n <div class=\"season\">\n @if (consumptionOptions().length) {\n <cc-consumable-form-item\n title=\"{{ t(season.type) }}:\"\n [consumptionOptions]=\"consumptionOptions()\"\n [form]=\"season.form\"\n [readonly]=\"readonly()\"\n (consumableChanged)=\"onConsumableChanged()\"\n />\n }\n\n @if (!readonly()) {\n <div class=\"container-trash\">\n <button\n type=\"button\"\n cuiButton\n size=\"xxs\"\n appearance=\"ghost\"\n icon=\"cuiIconTrash\"\n (click)=\"onRemoveSeason(season.type)\"\n ></button>\n </div>\n }\n </div>\n }\n </div>\n @if (!readonly()) {\n <button\n #seasonButton=\"elementRef\"\n cuiButton\n cuiElement\n type=\"button\"\n appearance=\"flat\"\n size=\"xxs\"\n icon=\"cuiIconPlus\"\n [disabled]=\"!availableSeasons().length\"\n class=\"add-button\"\n >\n {{ t('ADD_SEASON') }}\n </button>\n <cui-context-menu\n [items]=\"SEASON_OPTIONS()\"\n [target]=\"seasonButton.nativeElement\"\n />\n }\n </div>\n</cui-accordion-item>\n", styles: [":host{display:flex;flex-direction:row;gap:0;width:100%}.info{display:flex;flex-direction:column;gap:8px;padding-bottom:8px}.accordion{display:flex;flex-direction:column;gap:16px;padding-top:8px;padding-bottom:8px;flex-grow:1;border:1px solid var(--cui-base-200);background-color:var(--cui-base-0)}.season{display:flex;flex-direction:row;gap:8px;align-items:center;justify-content:flex-start;padding:16px;border:solid 1px var(--cui-base-200);border-radius:8px}.header{display:flex;flex-direction:row;gap:0;justify-content:space-between;align-items:center}.title{font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-500);text-transform:uppercase}.content{display:flex;flex-direction:column;gap:4px}.container-trash{display:flex;flex-direction:row;gap:0;align-items:center;justify-content:center}.add-button{align-self:flex-start}\n"] }]
183
+ }], ctorParameters: () => [] });
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3VtYWJsZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jb25zdW1hYmxlLWZvcm0vY29uc3VtYWJsZS1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jb25zdW1hYmxlLWZvcm0vY29uc3VtYWJsZS1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFaEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpGLE9BQU8sRUFBZSwwQkFBMEIsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJMUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTNELE9BQU8sRUFBRSxtQkFBbUIsRUFBdUIsTUFBTSxjQUFjLENBQUM7QUFDeEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDckcsT0FBTyxFQUNILDJDQUEyQyxFQUczQyxVQUFVLEVBQ2IsTUFBTSxjQUFjLENBQUM7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QUFrQixnTUFDbEIsc0JBQXNCLDJHQUN0QixvQkFBb0IsOEJBQ3BCLFlBQVksOEJBQ1osa0JBQWtCLDhCQUNsQixjQUFjLCtCQUNkLDJCQUEyQjs7NEZBU3RCLHVCQUF1QjtrQkF2Qm5DLFNBQVM7K0JBQ0kscUJBQXFCLFdBQ3RCO3dCQUNMLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsb0JBQW9CO3dCQUNwQixZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCwyQkFBMkI7d0JBQzNCLDJCQUEyQjt3QkFDM0IsMkJBQTJCO3FCQUM5QixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgRGVzdHJveVJlZixcbiAgICBlZmZlY3QsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIG91dHB1dCxcbiAgICBzaWduYWwsXG4gICAgdW50cmFja2VkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHR5cGUgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOb25OdWxsYWJsZUZvcm1CdWlsZGVyLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHR5cGUgeyBDdWlOdWxsYWJsZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQgeyBDb25zdW1wdGlvbiwgQ3VpQ29uc3VtcHRpb25Vbml0c1NlcnZpY2UsIEN1aUVsZW1lbnREaXJlY3RpdmUsIFVuaXRzQW1vdW50IH0gZnJvbSAnQGN1YnktdWkvY2RrJztcblxuaW1wb3J0IHsgVHJhbnNsb2NvRGlyZWN0aXZlLCBUcmFuc2xvY29TZXJ2aWNlIH0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJztcbmltcG9ydCB7IGZpbmFsaXplLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHR5cGUgeyBSZXNvdXJjZVV0aWxpdHlNYXRlcmlhbCB9IGZyb20gJy4uL3Jlc291cmNlcy1ibG9jay9jb21wb25lbnRzJztcblxuaW1wb3J0IHsgQ29uc3VtYWJsZUZvcm1JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgQ29uc3VtYWJsZUZvcm1WYWx1ZXMsIFNlYXNvbkZvcm0gfSBmcm9tICcuL2NvbnN1bWFibGUtZm9ybS5vcHRpb25zJztcbmltcG9ydCB7IFJlc291cmNlQ29udGVudFR5cGUsIFJlc291cmNlUmVxdWVzdFR5cGUgfSBmcm9tICdAY3VieS11aS9hcGknO1xuaW1wb3J0IHsgT3B0aW9uc0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvb3B0aW9ucy1idXR0b24vb3B0aW9ucy1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7XG4gICAgQ3VpUXVhbnR1bUdyb3VwUmVzb3VyY2VzU3RydWN0dXJlQXBpU2VydmljZSxcbiAgICBNYXRlcmlhbFR5cGVEZWZvbGlhdGUsXG4gICAgTWF0ZXJpYWxUeXBlU3VwcGx5LFxuICAgIFNlYXNvblR5cGVcbn0gZnJvbSAnQGN1YnktdWkvYXBpJztcbmltcG9ydCB7IEN1aUNvbnRleHRNZW51SXRlbSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgICBDdWlBY2NvcmRpb25Nb2R1bGUsXG4gICAgQ3VpQWxlcnRTZXJ2aWNlLFxuICAgIEN1aUJ1dHRvbk1vZHVsZSxcbiAgICBDdWlDb250ZXh0TWVudU1vZHVsZSxcbiAgICBDdWlGb3JtRmllbGRNb2R1bGUsXG4gICAgQ3VpSW5wdXROdW1iZXJNb2R1bGUsXG4gICAgQ3VpTGFiZWxNb2R1bGUsXG4gICAgQ3VpU3ZnTW9kdWxlXG59IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2N1aS1jb25zdW1hYmxlLWZvcm0nLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ3VpQWNjb3JkaW9uTW9kdWxlLFxuICAgICAgICBDdWlCdXR0b25Nb2R1bGUsXG4gICAgICAgIEN1aUNvbnRleHRNZW51TW9kdWxlLFxuICAgICAgICBDdWlFbGVtZW50RGlyZWN0aXZlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUcmFuc2xvY29EaXJlY3RpdmUsXG4gICAgICAgIE9wdGlvbnNCdXR0b25Db21wb25lbnQsXG4gICAgICAgIEN1aUlucHV0TnVtYmVyTW9kdWxlLFxuICAgICAgICBDdWlTdmdNb2R1bGUsXG4gICAgICAgIEN1aUZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgQ3VpTGFiZWxNb2R1bGUsXG4gICAgICAgIENvbnN1bWFibGVGb3JtSXRlbUNvbXBvbmVudCxcbiAgICAgICAgQ29uc3VtYWJsZUZvcm1JdGVtQ29tcG9uZW50LFxuICAgICAgICBDb25zdW1hYmxlRm9ybUl0ZW1Db21wb25lbnRcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb25zdW1hYmxlLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9jb25zdW1hYmxlLWZvcm0uY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQ29uc3VtYWJsZUZvcm1Db21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbG9jb1NlcnZpY2UgPSBpbmplY3QoVHJhbnNsb2NvU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtQnVpbGRlciA9IGluamVjdChOb25OdWxsYWJsZUZvcm1CdWlsZGVyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aUFsZXJ0U2VydmljZSA9IGluamVjdChDdWlBbGVydFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY3VpQ29uc3VtcHRpb25Vbml0c1NlcnZpY2UgPSBpbmplY3QoQ3VpQ29uc3VtcHRpb25Vbml0c1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcXVhbnR1bUdyb3VwUmVzb3VyY2VzU3RydWN0dXJlQXBpU2VydmljZSA9IGluamVjdChDdWlRdWFudHVtR3JvdXBSZXNvdXJjZXNTdHJ1Y3R1cmVBcGlTZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IENPTlNVTUFCTEVfV0FTX0RFTEVURUQgPSAnQ09OU1VNQUJMRV9XQVNfU1VDQ0VTU0ZVTExZX0RFTEVURUQnO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IENPTlNVTUFCTEVfT1BUSU9OUzogQ3VpQ29udGV4dE1lbnVJdGVtW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiAnRGVsZXRlJyxcbiAgICAgICAgICAgIGljb246ICdjdWlJY29uVHJhc2gnLFxuICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1jdWktZGFuZ2VyKScsXG4gICAgICAgICAgICBjb21tYW5kOiB0aGlzLm9uRGVsZXRlQ29uc3VtYWJsZS5iaW5kKHRoaXMpXG4gICAgICAgIH1cbiAgICBdO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzZWFzb25zID0gT2JqZWN0LnZhbHVlcyhTZWFzb25UeXBlKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBhbGxTZWFzb25Gb3JtID0gc2lnbmFsPEN1aU51bGxhYmxlPEZvcm1Hcm91cD4+KG51bGwpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzZWFzb25Gb3JtcyA9IHNpZ25hbDxTZWFzb25Gb3JtW10+KFtdKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNMb2FkaW5nID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBhdmFpbGFibGVTZWFzb25zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB1c2VkU2Vhc29ucyA9IHRoaXMuc2Vhc29uRm9ybXMoKS5tYXAoKGZvcm0pID0+IGZvcm0udHlwZSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuc2Vhc29ucy5maWx0ZXIoKHNlYXNvbikgPT4gIXVzZWRTZWFzb25zLmluY2x1ZGVzKHNlYXNvbikpO1xuICAgIH0pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjb25zdW1wdGlvbk9wdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbnN1bWFibGUgPSB0aGlzLmNvbnN1bWFibGUoKTtcblxuICAgICAgICBpZiAoIShjb25zdW1hYmxlLnNwZWNpZmljYXRpb25zIHx8IGNvbnN1bWFibGUucGFyYW1ldGVycykpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbnN1bWFibGVVbml0cyA9IHRoaXMuY3VpQ29uc3VtcHRpb25Vbml0c1NlcnZpY2UuZ2V0Q29uc3VtcHRpb25zVW5pdHMoY29uc3VtYWJsZSk7XG5cbiAgICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoY29uc3VtYWJsZVVuaXRzKVxuICAgICAgICAgICAgLnJlZHVjZSgoYWNjdW11bGF0b3IsIHZhbHVlKSA9PiBhY2N1bXVsYXRvci5jb25jYXQodmFsdWUpLCBbXSlcbiAgICAgICAgICAgIC5tYXAoKHVuaXQpID0+ICh7IGxhYmVsOiB1bml0LmFiYnJldmlhdGlvbiwgdmFsdWU6IHVuaXQudmFsdWUgfSkpO1xuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IFNFQVNPTl9PUFRJT05TID0gY29tcHV0ZWQoKCkgPT5cbiAgICAgICAgdGhpcy5hdmFpbGFibGVTZWFzb25zKCkubWFwKChzZWFzb24pID0+ICh7XG4gICAgICAgICAgICBsYWJlbDogc2Vhc29uLFxuICAgICAgICAgICAgY29tbWFuZDogKCk6IHZvaWQgPT4gdGhpcy5hZGRTZWFzb24oc2Vhc29uLCB0aGlzLmNyZWF0ZUZvcm0oKSlcbiAgICAgICAgfSkpXG4gICAgKTtcblxuICAgIHB1YmxpYyByZWFkb25seSB1dGlsaXR5SWQgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbnN1bWFibGUgPSBpbnB1dC5yZXF1aXJlZDxSZXNvdXJjZVV0aWxpdHlNYXRlcmlhbD4oKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVhZG9ubHkgPSBpbnB1dChmYWxzZSk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgY29uc3VtYWJsZUNoYW5nZWQgPSBvdXRwdXQ8UmVzb3VyY2VVdGlsaXR5TWF0ZXJpYWw+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbnN1bWFibGVEZWxldGVkID0gb3V0cHV0PHN0cmluZz4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmluaXRGb3JtVmFsdWVzRWZmZWN0KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ29uc3VtYWJsZUNoYW5nZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlQ29uc3VtYWJsZSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblJlbW92ZVNlYXNvbih0eXBlOiBTZWFzb25UeXBlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2Vhc29uRm9ybXMudXBkYXRlKChmb3JtcykgPT4gZm9ybXMuZmlsdGVyKChmb3JtKSA9PiBmb3JtLnR5cGUgIT09IHR5cGUpKTtcbiAgICAgICAgdGhpcy51cGRhdGVDb25zdW1hYmxlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRGVsZXRlQ29uc3VtYWJsZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBpZCB9ID0gdGhpcy5jb25zdW1hYmxlKCk7XG5cbiAgICAgICAgdGhpcy5pc0xvYWRpbmcuc2V0KHRydWUpO1xuICAgICAgICB0aGlzLnF1YW50dW1Hcm91cFJlc291cmNlc1N0cnVjdHVyZUFwaVNlcnZpY2VcbiAgICAgICAgICAgIC5kZWxldGVFbGVtZW50SW5TdHJ1Y3R1cmUodGhpcy51dGlsaXR5SWQoKSwgUmVzb3VyY2VDb250ZW50VHlwZS5Db25zdW1hYmxlcy50b0xvd2VyQ2FzZSgpLCBpZClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLmNvbnN1bWFibGVEZWxldGVkLmVtaXQoaWQpKSxcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdWlBbGVydFNlcnZpY2Uub3BlbihcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoQ29uc3VtYWJsZUZvcm1Db21wb25lbnQuQ09OU1VNQUJMRV9XQVNfREVMRVRFRCksXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiAnc3VjY2VzcydcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRGb3JtVmFsdWVzRWZmZWN0KCk6IHZvaWQge1xuICAgICAgICBlZmZlY3QoXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2Vhc29uRm9ybXMgPSB1bnRyYWNrZWQodGhpcy5zZWFzb25Gb3Jtcyk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmNvbnN1bWFibGUoKS5zdXBwbHk/LmZvckVhY2goKHNlYXNvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0V4aXN0ID0gc2Vhc29uRm9ybXMuZmluZCgoZm9ybSkgPT4gZm9ybS50eXBlID09PSBzZWFzb24uc2Vhc29uKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNFeGlzdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRTZWFzb24oc2Vhc29uLnNlYXNvbiwgdGhpcy5jcmVhdGVGb3JtKHNlYXNvbikpO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYWxsU2Vhc29uRm9ybSgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLmFsbFNlYXNvbkZvcm0uc2V0KHRoaXMuY3JlYXRlRm9ybSh0aGlzLmNvbnN1bWFibGUoKS5zdXBwbHlEZWZvbGlhdGUpKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZFNlYXNvbihzZWFzb25UeXBlOiBTZWFzb25UeXBlLCBmb3JtOiBGb3JtR3JvdXApOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWFzb25Gb3Jtcy51cGRhdGUoKGZvcm1zKSA9PiBbXG4gICAgICAgICAgICAuLi5mb3JtcyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0eXBlOiBzZWFzb25UeXBlLFxuICAgICAgICAgICAgICAgIGZvcm1cbiAgICAgICAgICAgIH1cbiAgICAgICAgXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDb25zdW1hYmxlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBhbGxTZWFzb25Gb3JtID0gdGhpcy5hbGxTZWFzb25Gb3JtKCk7XG5cbiAgICAgICAgaWYgKCFhbGxTZWFzb25Gb3JtPy52YWxpZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3VwcGx5ID0gdGhpcy5zZWFzb25Gb3JtcygpXG4gICAgICAgICAgICAuZmlsdGVyKChzZWFzb24pID0+IHNlYXNvbi5mb3JtLnZhbGlkKVxuICAgICAgICAgICAgLm1hcChcbiAgICAgICAgICAgICAgICAoc2Vhc29uKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1hdE1lYXN1cmVVbml0cyh7IHNlYXNvbjogc2Vhc29uLnR5cGUsIC4uLnNlYXNvbi5mb3JtLmdldFJhd1ZhbHVlKCkgfSkgYXMgTWF0ZXJpYWxUeXBlU3VwcGx5XG4gICAgICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IHJlcXVlc3RCb2R5ID0ge1xuICAgICAgICAgICAgaWQ6IHRoaXMuY29uc3VtYWJsZSgpLmlkLFxuICAgICAgICAgICAgdHlwZTogUmVzb3VyY2VSZXF1ZXN0VHlwZS5Db25zdW1hYmxlcyxcbiAgICAgICAgICAgIHN1cHBseURlZm9saWF0ZTogdGhpcy5mb3JtYXRNZWFzdXJlVW5pdHMoYWxsU2Vhc29uRm9ybS52YWx1ZSkgYXMgTWF0ZXJpYWxUeXBlRGVmb2xpYXRlLFxuICAgICAgICAgICAgc3VwcGx5XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHVwZGF0ZWRDb25zdW1hYmxlID0ge1xuICAgICAgICAgICAgLi4udGhpcy5jb25zdW1hYmxlKCksXG4gICAgICAgICAgICAuLi5yZXF1ZXN0Qm9keVxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMucXVhbnR1bUdyb3VwUmVzb3VyY2VzU3RydWN0dXJlQXBpU2VydmljZVxuICAgICAgICAgICAgLnVwZGF0ZUVsZW1lbnRJblN0cnVjdHVyZSh0aGlzLnV0aWxpdHlJZCgpLCBSZXNvdXJjZUNvbnRlbnRUeXBlLkNvbnN1bWFibGVzLCByZXF1ZXN0Qm9keSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLmNvbnN1bWFibGVDaGFuZ2VkLmVtaXQodXBkYXRlZENvbnN1bWFibGUpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRm9ybSh2YWx1ZXM/OiBDb25zdW1hYmxlRm9ybVZhbHVlcyk6IEZvcm1Hcm91cCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgICAgIHF1YW50aXR5OiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wodmFsdWVzPy5xdWFudGl0eSwgW1xuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5taW4oMSksXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5tYXgoOTk5OTkpXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIHVuaXQ6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChVbml0c0Ftb3VudFswXS52YWx1ZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcbiAgICAgICAgICAgIG1lYXN1cmU6IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgICAgIG1lYXN1cmU6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVzPy5tZWFzdXJlPy5tZWFzdXJlID8/XG4gICAgICAgICAgICAgICAgICAgICAgICAodGhpcy5jb25zdW1wdGlvbk9wdGlvbnM/LigpWzBdPy52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5jdWlDb25zdW1wdGlvblVuaXRzU2VydmljZS5nZXRDb25zdW1wdGlvbkJ5VW5pdCh0aGlzLmNvbnN1bXB0aW9uT3B0aW9ucygpWzBdLnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogQ29uc3VtcHRpb24uTGVuZ3RoKSxcbiAgICAgICAgICAgICAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKHZhbHVlcz8ubWVhc3VyZT8udmFsdWUsIFtcbiAgICAgICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5taW4oMC4wMDEpLFxuICAgICAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLm1heCg5OTk5OSlcbiAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICB1bml0OiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlcz8ubWVhc3VyZT8ubWVhc3VyZSA9PT0gJ0FNT1VOVCdcbiAgICAgICAgICAgICAgICAgICAgICAgID8gJ1BJRUNFUydcbiAgICAgICAgICAgICAgICAgICAgICAgIDogKHZhbHVlcz8ubWVhc3VyZT8udW5pdCA/PyB0aGlzLmNvbnN1bXB0aW9uT3B0aW9ucz8uKClbMF0udmFsdWUpLFxuICAgICAgICAgICAgICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdE1lYXN1cmVVbml0cyhcbiAgICAgICAgbWF0ZXJpYWw6IE1hdGVyaWFsVHlwZURlZm9saWF0ZSB8IE1hdGVyaWFsVHlwZVN1cHBseVxuICAgICk6IE1hdGVyaWFsVHlwZURlZm9saWF0ZSB8IE1hdGVyaWFsVHlwZVN1cHBseSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5tYXRlcmlhbCxcbiAgICAgICAgICAgIG1lYXN1cmU6IHtcbiAgICAgICAgICAgICAgICAuLi5tYXRlcmlhbC5tZWFzdXJlLFxuICAgICAgICAgICAgICAgIHVuaXQ6XG4gICAgICAgICAgICAgICAgICAgIG1hdGVyaWFsLm1lYXN1cmUubWVhc3VyZSA9PT0gJ0FNT1VOVCdcbiAgICAgICAgICAgICAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgOiAobWF0ZXJpYWw/Lm1lYXN1cmU/LnVuaXQgPz8gdGhpcy5jb25zdW1wdGlvbk9wdGlvbnM/LigpWzBdLnZhbHVlKVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cbn1cbiIsIjxjdWktYWNjb3JkaW9uLWl0ZW1cbiAgICAqdHJhbnNsb2NvPVwibGV0IHRcIlxuICAgIGNsYXNzPVwiYWNjb3JkaW9uXCJcbj5cbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+XG4gICAgICAgIHt7IGNvbnN1bWFibGUoKS5uYW1lIH19XG5cbiAgICAgICAgQGlmICghcmVhZG9ubHkoKSkge1xuICAgICAgICAgICAgPGN1aS1vcHRpb25zLWJ1dHRvbiBbb3B0aW9uc109XCJDT05TVU1BQkxFX09QVElPTlNcIiAvPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICAgIGN1aUFjY29yZGlvbkl0ZW1Db250ZW50XG4gICAgICAgIGNsYXNzPVwiY29udGVudFwiXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mb1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+e3sgdCgnU0VBU09OX0NPTlNVTVBUSU9OJykgfX08L2Rpdj5cblxuICAgICAgICAgICAgQGlmIChhbGxTZWFzb25Gb3JtKCkgJiYgY29uc3VtcHRpb25PcHRpb25zKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgPGNjLWNvbnN1bWFibGUtZm9ybS1pdGVtXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgdCgnQUxMX1NFQVNPTicpIH19OlwiXG4gICAgICAgICAgICAgICAgICAgIFtjb25zdW1wdGlvbk9wdGlvbnNdPVwiY29uc3VtcHRpb25PcHRpb25zKClcIlxuICAgICAgICAgICAgICAgICAgICBbZm9ybV09XCJhbGxTZWFzb25Gb3JtKCkhXCJcbiAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5KClcIlxuICAgICAgICAgICAgICAgICAgICAoY29uc3VtYWJsZUNoYW5nZWQpPVwib25Db25zdW1hYmxlQ2hhbmdlZCgpXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgQGZvciAoc2Vhc29uIG9mIHNlYXNvbkZvcm1zKCk7IHRyYWNrIHNlYXNvbikge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFzb25cIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChjb25zdW1wdGlvbk9wdGlvbnMoKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjYy1jb25zdW1hYmxlLWZvcm0taXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgdChzZWFzb24udHlwZSkgfX06XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uc3VtcHRpb25PcHRpb25zXT1cImNvbnN1bXB0aW9uT3B0aW9ucygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybV09XCJzZWFzb24uZm9ybVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdW1hYmxlQ2hhbmdlZCk9XCJvbkNvbnN1bWFibGVDaGFuZ2VkKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoIXJlYWRvbmx5KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItdHJhc2hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInh4c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJjdWlJY29uVHJhc2hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25SZW1vdmVTZWFzb24oc2Vhc29uLnR5cGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgQGlmICghcmVhZG9ubHkoKSkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICNzZWFzb25CdXR0b249XCJlbGVtZW50UmVmXCJcbiAgICAgICAgICAgICAgICBjdWlCdXR0b25cbiAgICAgICAgICAgICAgICBjdWlFbGVtZW50XG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImZsYXRcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJ4eHNcIlxuICAgICAgICAgICAgICAgIGljb249XCJjdWlJY29uUGx1c1wiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFhdmFpbGFibGVTZWFzb25zKCkubGVuZ3RoXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZC1idXR0b25cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHQoJ0FERF9TRUFTT04nKSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8Y3VpLWNvbnRleHQtbWVudVxuICAgICAgICAgICAgICAgIFtpdGVtc109XCJTRUFTT05fT1BUSU9OUygpXCJcbiAgICAgICAgICAgICAgICBbdGFyZ2V0XT1cInNlYXNvbkJ1dHRvbi5uYXRpdmVFbGVtZW50XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvY3VpLWFjY29yZGlvbi1pdGVtPlxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3VtYWJsZS1mb3JtLm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvY29uc3VtYWJsZS1mb3JtL2NvbnN1bWFibGUtZm9ybS5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgdHlwZSB7IE1lYXN1cmVtZW50IH0gZnJvbSAnQGN1YnktdWkvYXBpJztcbmltcG9ydCB7IFNlYXNvblR5cGUgfSBmcm9tICdAY3VieS11aS9hcGknO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXNvbkZvcm0ge1xuICAgIHJlYWRvbmx5IHR5cGU6IFNlYXNvblR5cGU7XG4gICAgcmVhZG9ubHkgZm9ybTogRm9ybUdyb3VwPENvbnN1bWFibGVGb3JtR3JvdXA+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnN1bWFibGVGb3JtR3JvdXAge1xuICAgIHJlYWRvbmx5IHF1YW50aXR5OiBGb3JtQ29udHJvbDxudW1iZXI+O1xuICAgIHJlYWRvbmx5IHVuaXQ6IEZvcm1Db250cm9sPHN0cmluZz47XG4gICAgcmVhZG9ubHkgbWVhc3VyZTogRm9ybUdyb3VwPENvbnN1bWFibGVNZWFzdXJlRm9ybUdyb3VwPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25zdW1hYmxlTWVhc3VyZUZvcm1Hcm91cCB7XG4gICAgcmVhZG9ubHkgbWVhc3VyZTogRm9ybUNvbnRyb2w8c3RyaW5nPjtcbiAgICByZWFkb25seSB1bml0OiBGb3JtQ29udHJvbDxzdHJpbmc+O1xuICAgIHJlYWRvbmx5IHZhbHVlOiBGb3JtQ29udHJvbDxudW1iZXI+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnN1bWFibGVGb3JtVmFsdWVzIHtcbiAgICByZWFkb25seSBxdWFudGl0eTogbnVtYmVyO1xuICAgIHJlYWRvbmx5IHVuaXQ6IHN0cmluZztcbiAgICByZWFkb25seSBtZWFzdXJlOiBNZWFzdXJlbWVudDtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export { ConsumableFormComponent } from './consumable-form.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvY29uc3VtYWJsZS1mb3JtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQ29uc3VtYWJsZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2NvbnN1bWFibGUtZm9ybS5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,137 @@
1
+ import { ChangeDetectionStrategy, Component, computed, DestroyRef, effect, inject, input, model, output, signal, untracked, viewChild } from '@angular/core';
2
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
+ import { CuiTreeStructNavigatorApiService } from '@cuby-ui/api';
4
+ import { CuiIdService } from '@cuby-ui/cdk';
5
+ import { TranslocoModule, TranslocoService } from '@jsverse/transloco';
6
+ import { finalize, forkJoin } from 'rxjs';
7
+ import { CuiBadgeModule, CuiButtonModule, CuiDialogModule, CuiFormFieldModule, CuiLabelModule, CuiSvgModule } from '../../../components';
8
+ import { CuiCategoriesComponent, CuiSelectedCategoryService } from '../categories';
9
+ import { CuiCriterionInfoFormComponent } from '../criterion-info-form';
10
+ import { UTILITY_MODAL_SERVICE_TOKEN } from '../utility-modal';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "../../../components/form-field/form-field.component";
13
+ import * as i2 from "../../../components/label/label.component";
14
+ import * as i3 from "../../../components/svg/svg.component";
15
+ import * as i4 from "@jsverse/transloco";
16
+ export class CuiCriterionInfoComponent {
17
+ constructor() {
18
+ this.destroyRef = inject(DestroyRef);
19
+ this.translocoService = inject(TranslocoService);
20
+ this.cuiIdService = inject(CuiIdService);
21
+ this.cuiCategoriesModalService = inject(CuiSelectedCategoryService);
22
+ this.treeStructNavigatorApiService = inject(CuiTreeStructNavigatorApiService);
23
+ this.criterionApiService = inject(UTILITY_MODAL_SERVICE_TOKEN);
24
+ this.skipCategoryChange = false;
25
+ this.TYPE = "CRITERION_STORAGE" /* TreeStructType.Criteria */;
26
+ this.categoryId = this.cuiIdService.generate();
27
+ this.category = this.cuiCategoriesModalService.category;
28
+ this.isFormValid = signal(false);
29
+ this.prevCategoryId = signal(null);
30
+ this.editorConfig = signal(null);
31
+ this.labelColor = computed(() => this.category()?.title ? 'var(--cui-base-900)' : 'var(--cui-base-400)');
32
+ this.selectTitle = computed(() => this.category()?.title ?? this.translocoService.translate('SELECT') + '...');
33
+ this.element = viewChild('scrollContent');
34
+ this.criterion = model();
35
+ this.tools = input.required();
36
+ this.editorResourceUrl = input.required();
37
+ this.validationChanged = output();
38
+ this.criterionCreated = output();
39
+ this.initConfigEffect();
40
+ this.initCategoryEffect();
41
+ }
42
+ ngOnInit() {
43
+ this.initCategory();
44
+ }
45
+ onFormChanged(values, criterionId) {
46
+ const actions = {
47
+ title: (title) => this.changeTitle(title, criterionId)
48
+ };
49
+ forkJoin(Object.keys(values).map((key) => actions[key](values[key] || '')))
50
+ .pipe(takeUntilDestroyed(this.destroyRef))
51
+ .subscribe();
52
+ }
53
+ onFormValidationChanged(isValid) {
54
+ this.isFormValid.set(isValid);
55
+ this.validationChanged.emit(isValid);
56
+ }
57
+ initCategoryEffect() {
58
+ effect(() => {
59
+ const category = this.category();
60
+ const storageObjectCriterion = untracked(this.criterion);
61
+ if (!category || this.skipCategoryChange) {
62
+ this.skipCategoryChange = false;
63
+ return;
64
+ }
65
+ if (storageObjectCriterion) {
66
+ this.changeCategory(category.id, storageObjectCriterion.id);
67
+ return;
68
+ }
69
+ this.createCriterion(category.id);
70
+ });
71
+ }
72
+ initConfigEffect() {
73
+ effect(() => {
74
+ const element = this.element()?.nativeElement;
75
+ if (!element) {
76
+ return;
77
+ }
78
+ this.editorConfig.set({ tools: this.tools(), element });
79
+ });
80
+ }
81
+ initCategory() {
82
+ const storageObjectId = this.criterion()?.id;
83
+ if (!storageObjectId) {
84
+ return;
85
+ }
86
+ this.treeStructNavigatorApiService
87
+ .getCategory(storageObjectId, "CRITERION_STORAGE" /* TreeStructType.Criteria */)
88
+ .pipe(takeUntilDestroyed(this.destroyRef))
89
+ .subscribe((category) => {
90
+ this.skipCategoryChange = true;
91
+ this.prevCategoryId.set(category.id);
92
+ this.cuiCategoriesModalService.setCurrentCategory(category);
93
+ });
94
+ }
95
+ changeCategory(categoryId, targetId) {
96
+ const prevCategoryId = untracked(this.prevCategoryId);
97
+ if (!prevCategoryId) {
98
+ return;
99
+ }
100
+ this.subscription?.unsubscribe();
101
+ this.subscription = this.treeStructNavigatorApiService
102
+ .moveElement({
103
+ type: "MOVING_TARGET_TREE_STRUCT" /* MovingType.TARGET_TREE_STRUCT */,
104
+ movableItemId: targetId,
105
+ treeStructTargetItemId: categoryId,
106
+ treeStructMovableItemId: prevCategoryId
107
+ })
108
+ .subscribe(() => this.prevCategoryId.set(categoryId));
109
+ }
110
+ createCriterion(categoryId) {
111
+ this.criterionCreated.emit(categoryId);
112
+ this.prevCategoryId.set(categoryId);
113
+ }
114
+ changeTitle(value, criterionId) {
115
+ return this.criterionApiService.changeTitle(criterionId, value).pipe(finalize(() => this.criterion.update((prev) => ({
116
+ ...prev,
117
+ storageElement: { ...prev.storageElement, title: value }
118
+ }))));
119
+ }
120
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCriterionInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
121
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiCriterionInfoComponent, isStandalone: true, selector: "cui-criterion-info", inputs: { criterion: { classPropertyName: "criterion", publicName: "criterion", isSignal: true, isRequired: false, transformFunction: null }, tools: { classPropertyName: "tools", publicName: "tools", isSignal: true, isRequired: true, transformFunction: null }, editorResourceUrl: { classPropertyName: "editorResourceUrl", publicName: "editorResourceUrl", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { criterion: "criterionChange", validationChanged: "validationChanged", criterionCreated: "criterionCreated" }, providers: [CuiSelectedCategoryService], viewQueries: [{ propertyName: "element", first: true, predicate: ["scrollContent"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\n class=\"wrapper\"\n *transloco=\"let t\"\n>\n <div\n #scrollContent\n class=\"content content_scrollable\"\n >\n <div class=\"category\">\n <cui-form-field>\n <label\n cuiLabel\n [for]=\"categoryId\"\n [isRequired]=\"true\"\n >\n {{ t('SELECT_CATEGORY') }}\n </label>\n <cui-categories\n [buttonId]=\"categoryId\"\n [treeStructType]=\"TYPE\"\n >\n <div class=\"select\">\n <span [style.color]=\"labelColor()\">\n {{ selectTitle() }}\n </span>\n\n <cui-svg icon=\"cuiIconChevronDown\" />\n </div>\n </cui-categories>\n </cui-form-field>\n </div>\n\n @let criterionData = criterion();\n @let editorConfigData = editorConfig();\n\n @if (editorConfigData && criterionData) {\n <cui-criterion-info-form\n [config]=\"editorConfigData\"\n [baseResourceUrl]=\"editorResourceUrl()\"\n [title]=\"criterionData.storageElement.title\"\n [framerId]=\"criterionData.storageElement.framerCriterionId\"\n class=\"utility\"\n (isFormValidChanged)=\"onFormValidationChanged($event)\"\n (formChanged)=\"onFormChanged($event, criterionData.id)\"\n />\n }\n </div>\n</div>\n", styles: [".wrapper{display:flex;flex-direction:column;height:100%}.content{height:calc(100vh - 109px)}.content_scrollable{overflow:auto}.category{padding-top:16px;padding-right:23px;padding-left:23px}.select{padding:7px 13px;font-weight:400;font-size:14px;line-height:20px;display:flex;justify-content:space-between;height:36px;border-radius:8px;border:1px solid var(--cui-base-200);color:var(--cui-base-900);background:var(--cui-input)}.utility{--editor-height: none}\n"], dependencies: [{ kind: "ngmodule", type: CuiBadgeModule }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiCategoriesComponent, selector: "cui-categories", inputs: ["treeStructType", "buttonId", "disabled", "context"] }, { kind: "ngmodule", type: CuiDialogModule }, { kind: "ngmodule", type: CuiFormFieldModule }, { kind: "component", type: i1.CuiFormFieldComponent, selector: "cui-form-field" }, { kind: "component", type: CuiCriterionInfoFormComponent, selector: "cui-criterion-info-form", inputs: ["title", "framerId", "baseResourceUrl", "config"], outputs: ["formChanged", "isFormValidChanged"] }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "component", type: i2.CuiLabelComponent, selector: "label[cuiLabel]", inputs: ["isRequired"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: i3.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "directive", type: i4.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
122
+ }
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCriterionInfoComponent, decorators: [{
124
+ type: Component,
125
+ args: [{ selector: 'cui-criterion-info', imports: [
126
+ CuiBadgeModule,
127
+ CuiButtonModule,
128
+ CuiCategoriesComponent,
129
+ CuiDialogModule,
130
+ CuiFormFieldModule,
131
+ CuiCriterionInfoFormComponent,
132
+ CuiLabelModule,
133
+ CuiSvgModule,
134
+ TranslocoModule
135
+ ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, providers: [CuiSelectedCategoryService], template: "<div\n class=\"wrapper\"\n *transloco=\"let t\"\n>\n <div\n #scrollContent\n class=\"content content_scrollable\"\n >\n <div class=\"category\">\n <cui-form-field>\n <label\n cuiLabel\n [for]=\"categoryId\"\n [isRequired]=\"true\"\n >\n {{ t('SELECT_CATEGORY') }}\n </label>\n <cui-categories\n [buttonId]=\"categoryId\"\n [treeStructType]=\"TYPE\"\n >\n <div class=\"select\">\n <span [style.color]=\"labelColor()\">\n {{ selectTitle() }}\n </span>\n\n <cui-svg icon=\"cuiIconChevronDown\" />\n </div>\n </cui-categories>\n </cui-form-field>\n </div>\n\n @let criterionData = criterion();\n @let editorConfigData = editorConfig();\n\n @if (editorConfigData && criterionData) {\n <cui-criterion-info-form\n [config]=\"editorConfigData\"\n [baseResourceUrl]=\"editorResourceUrl()\"\n [title]=\"criterionData.storageElement.title\"\n [framerId]=\"criterionData.storageElement.framerCriterionId\"\n class=\"utility\"\n (isFormValidChanged)=\"onFormValidationChanged($event)\"\n (formChanged)=\"onFormChanged($event, criterionData.id)\"\n />\n }\n </div>\n</div>\n", styles: [".wrapper{display:flex;flex-direction:column;height:100%}.content{height:calc(100vh - 109px)}.content_scrollable{overflow:auto}.category{padding-top:16px;padding-right:23px;padding-left:23px}.select{padding:7px 13px;font-weight:400;font-size:14px;line-height:20px;display:flex;justify-content:space-between;height:36px;border-radius:8px;border:1px solid var(--cui-base-200);color:var(--cui-base-900);background:var(--cui-input)}.utility{--editor-height: none}\n"] }]
136
+ }], ctorParameters: () => [] });
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JpdGVyaW9uLWluZm8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS93aWRnZXRzL3VpL2NyaXRlcmlvbi1pbmZvL2NyaXRlcmlvbi1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jcml0ZXJpb24taW5mby9jcml0ZXJpb24taW5mby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsVUFBVSxFQUNWLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFaEUsT0FBTyxFQUFFLGdDQUFnQyxFQUE4QixNQUFNLGNBQWMsQ0FBQztBQUU1RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQyxPQUFPLEVBQ0gsY0FBYyxFQUNkLGVBQWUsRUFDZixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxZQUFZLEVBQ2YsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUEwQiw2QkFBNkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRS9GLE9BQU8sRUFBRSwyQkFBMkIsRUFBdUIsTUFBTSxr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LElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzdCLEdBQUcsSUFBSztZQUNSLGNBQWMsRUFBRSxFQUFFLEdBQUcsSUFBSyxDQUFDLGNBQWMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO1NBQzVELENBQUMsQ0FBQyxDQUNOLENBQ0osQ0FBQztJQUNOLENBQUM7K0dBakpRLHlCQUF5QjttR0FBekIseUJBQXlCLDRsQkFGdkIsQ0FBQywwQkFBMEIsQ0FBQyxvSkN0RDNDLG9sREFnREEscWdCRFJRLGNBQWMsOEJBQ2QsZUFBZSwrQkFDZixzQkFBc0IseUhBQ3RCLGVBQWUsOEJBQ2Ysa0JBQWtCLGtIQUNsQiw2QkFBNkIsK0tBQzdCLGNBQWMsc0lBQ2QsWUFBWSx1S0FDWixlQUFlOzs0RkFRVix5QkFBeUI7a0JBbkJyQyxTQUFTOytCQUNJLG9CQUFvQixXQUNyQjt3QkFDTCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2Ysc0JBQXNCO3dCQUN0QixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsNkJBQTZCO3dCQUM3QixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osZUFBZTtxQkFDbEIsY0FDVyxJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRWxlbWVudFJlZiwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBEZXN0cm95UmVmLFxuICAgIGVmZmVjdCxcbiAgICBpbmplY3QsXG4gICAgaW5wdXQsXG4gICAgbW9kZWwsXG4gICAgb3V0cHV0LFxuICAgIHNpZ25hbCxcbiAgICB1bnRyYWNrZWQsXG4gICAgdmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQ3JpdGVyaW9uLCBTdG9yYWdlT2JqZWN0LCBUcmVlU3RydWN0IH0gZnJvbSAnQGN1YnktdWkvYXBpJztcbmltcG9ydCB7IEN1aVRyZWVTdHJ1Y3ROYXZpZ2F0b3JBcGlTZXJ2aWNlLCBNb3ZpbmdUeXBlLCBUcmVlU3RydWN0VHlwZSB9IGZyb20gJ0BjdWJ5LXVpL2FwaSc7XG5pbXBvcnQgdHlwZSB7IEN1aU51bGxhYmxlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB7IEN1aUlkU2VydmljZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQgeyBUcmFuc2xvY29Nb2R1bGUsIFRyYW5zbG9jb1NlcnZpY2UgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xuaW1wb3J0IHR5cGUgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbmFsaXplLCBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICAgIEN1aUJhZGdlTW9kdWxlLFxuICAgIEN1aUJ1dHRvbk1vZHVsZSxcbiAgICBDdWlEaWFsb2dNb2R1bGUsXG4gICAgQ3VpRm9ybUZpZWxkTW9kdWxlLFxuICAgIEN1aUxhYmVsTW9kdWxlLFxuICAgIEN1aVN2Z01vZHVsZVxufSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzJztcbmltcG9ydCB7IEN1aUNhdGVnb3JpZXNDb21wb25lbnQsIEN1aVNlbGVjdGVkQ2F0ZWdvcnlTZXJ2aWNlIH0gZnJvbSAnLi4vY2F0ZWdvcmllcyc7XG5pbXBvcnQgeyBDdWlDcml0ZXJpb25Gb3JtVmFsdWVzLCBDdWlDcml0ZXJpb25JbmZvRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL2NyaXRlcmlvbi1pbmZvLWZvcm0nO1xuaW1wb3J0IHR5cGUgeyBDdWlUb29scywgQ3VpRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vZWRpdG9yJztcbmltcG9ydCB7IFVUSUxJVFlfTU9EQUxfU0VSVklDRV9UT0tFTiwgVXRpbGl0eU1vZGFsU2VydmljZSB9IGZyb20gJy4uL3V0aWxpdHktbW9kYWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2N1aS1jcml0ZXJpb24taW5mbycsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDdWlCYWRnZU1vZHVsZSxcbiAgICAgICAgQ3VpQnV0dG9uTW9kdWxlLFxuICAgICAgICBDdWlDYXRlZ29yaWVzQ29tcG9uZW50LFxuICAgICAgICBDdWlEaWFsb2dNb2R1bGUsXG4gICAgICAgIEN1aUZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgQ3VpQ3JpdGVyaW9uSW5mb0Zvcm1Db21wb25lbnQsXG4gICAgICAgIEN1aUxhYmVsTW9kdWxlLFxuICAgICAgICBDdWlTdmdNb2R1bGUsXG4gICAgICAgIFRyYW5zbG9jb01vZHVsZVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY3JpdGVyaW9uLWluZm8uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NyaXRlcmlvbi1pbmZvLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbQ3VpU2VsZWN0ZWRDYXRlZ29yeVNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEN1aUNyaXRlcmlvbkluZm9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbG9jb1NlcnZpY2UgPSBpbmplY3QoVHJhbnNsb2NvU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjdWlJZFNlcnZpY2UgPSBpbmplY3QoQ3VpSWRTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aUNhdGVnb3JpZXNNb2RhbFNlcnZpY2UgPSBpbmplY3QoQ3VpU2VsZWN0ZWRDYXRlZ29yeVNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJlZVN0cnVjdE5hdmlnYXRvckFwaVNlcnZpY2UgPSBpbmplY3QoQ3VpVHJlZVN0cnVjdE5hdmlnYXRvckFwaVNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY3JpdGVyaW9uQXBpU2VydmljZSA9IGluamVjdDxVdGlsaXR5TW9kYWxTZXJ2aWNlPENyaXRlcmlvbj4+KFVUSUxJVFlfTU9EQUxfU0VSVklDRV9UT0tFTik7XG5cbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIHNraXBDYXRlZ29yeUNoYW5nZSA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IFRZUEUgPSBUcmVlU3RydWN0VHlwZS5Dcml0ZXJpYTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjYXRlZ29yeUlkID0gdGhpcy5jdWlJZFNlcnZpY2UuZ2VuZXJhdGUoKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjYXRlZ29yeSA9IHRoaXMuY3VpQ2F0ZWdvcmllc01vZGFsU2VydmljZS5jYXRlZ29yeTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNGb3JtVmFsaWQgPSBzaWduYWwoZmFsc2UpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBwcmV2Q2F0ZWdvcnlJZCA9IHNpZ25hbDxDdWlOdWxsYWJsZTxzdHJpbmc+PihudWxsKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWRpdG9yQ29uZmlnID0gc2lnbmFsPEN1aU51bGxhYmxlPEN1aUVkaXRvckNvbmZpZz4+KG51bGwpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBsYWJlbENvbG9yID0gY29tcHV0ZWQoKCkgPT5cbiAgICAgICAgdGhpcy5jYXRlZ29yeSgpPy50aXRsZSA/ICd2YXIoLS1jdWktYmFzZS05MDApJyA6ICd2YXIoLS1jdWktYmFzZS00MDApJ1xuICAgICk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlbGVjdFRpdGxlID0gY29tcHV0ZWQoXG4gICAgICAgICgpID0+IHRoaXMuY2F0ZWdvcnkoKT8udGl0bGUgPz8gdGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgnU0VMRUNUJykgKyAnLi4uJ1xuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWxlbWVudCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oJ3Njcm9sbENvbnRlbnQnKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBjcml0ZXJpb24gPSBtb2RlbDxTdG9yYWdlT2JqZWN0PENyaXRlcmlvbj4+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IHRvb2xzID0gaW5wdXQucmVxdWlyZWQ8Q3VpVG9vbHM+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGVkaXRvclJlc291cmNlVXJsID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHZhbGlkYXRpb25DaGFuZ2VkID0gb3V0cHV0PGJvb2xlYW4+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGNyaXRlcmlvbkNyZWF0ZWQgPSBvdXRwdXQ8c3RyaW5nPigpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuaW5pdENvbmZpZ0VmZmVjdCgpO1xuICAgICAgICB0aGlzLmluaXRDYXRlZ29yeUVmZmVjdCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0Q2F0ZWdvcnkoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Gb3JtQ2hhbmdlZCh2YWx1ZXM6IFBhcnRpYWw8Q3VpQ3JpdGVyaW9uRm9ybVZhbHVlcz4sIGNyaXRlcmlvbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWN0aW9uczogUmVjb3JkPGtleW9mIEN1aUNyaXRlcmlvbkZvcm1WYWx1ZXMsICh2YWx1ZTogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPHZvaWQ+PiA9IHtcbiAgICAgICAgICAgIHRpdGxlOiAodGl0bGU6IHN0cmluZykgPT4gdGhpcy5jaGFuZ2VUaXRsZSh0aXRsZSwgY3JpdGVyaW9uSWQpXG4gICAgICAgIH07XG5cbiAgICAgICAgZm9ya0pvaW4oXG4gICAgICAgICAgICBPYmplY3Qua2V5cyh2YWx1ZXMpLm1hcCgoa2V5KSA9PlxuICAgICAgICAgICAgICAgIGFjdGlvbnNba2V5IGFzIGtleW9mIEN1aUNyaXRlcmlvbkZvcm1WYWx1ZXNdKHZhbHVlc1trZXkgYXMga2V5b2YgQ3VpQ3JpdGVyaW9uRm9ybVZhbHVlc10gfHwgJycpXG4gICAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkZvcm1WYWxpZGF0aW9uQ2hhbmdlZChpc1ZhbGlkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNGb3JtVmFsaWQuc2V0KGlzVmFsaWQpO1xuICAgICAgICB0aGlzLnZhbGlkYXRpb25DaGFuZ2VkLmVtaXQoaXNWYWxpZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0Q2F0ZWdvcnlFZmZlY3QoKTogdm9pZCB7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjYXRlZ29yeSA9IHRoaXMuY2F0ZWdvcnkoKTtcbiAgICAgICAgICAgIGNvbnN0IHN0b3JhZ2VPYmplY3RDcml0ZXJpb24gPSB1bnRyYWNrZWQodGhpcy5jcml0ZXJpb24pO1xuXG4gICAgICAgICAgICBpZiAoIWNhdGVnb3J5IHx8IHRoaXMuc2tpcENhdGVnb3J5Q2hhbmdlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5za2lwQ2F0ZWdvcnlDaGFuZ2UgPSBmYWxzZTtcblxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHN0b3JhZ2VPYmplY3RDcml0ZXJpb24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZUNhdGVnb3J5KGNhdGVnb3J5LmlkLCBzdG9yYWdlT2JqZWN0Q3JpdGVyaW9uLmlkKTtcblxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jcmVhdGVDcml0ZXJpb24oY2F0ZWdvcnkuaWQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRDb25maWdFZmZlY3QoKTogdm9pZCB7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50KCk/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgICAgIGlmICghZWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5lZGl0b3JDb25maWcuc2V0KHsgdG9vbHM6IHRoaXMudG9vbHMoKSwgZWxlbWVudCB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0Q2F0ZWdvcnkoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN0b3JhZ2VPYmplY3RJZCA9IHRoaXMuY3JpdGVyaW9uKCk/LmlkO1xuXG4gICAgICAgIGlmICghc3RvcmFnZU9iamVjdElkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRyZWVTdHJ1Y3ROYXZpZ2F0b3JBcGlTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0Q2F0ZWdvcnkoc3RvcmFnZU9iamVjdElkLCBUcmVlU3RydWN0VHlwZS5Dcml0ZXJpYSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoY2F0ZWdvcnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNraXBDYXRlZ29yeUNoYW5nZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmV2Q2F0ZWdvcnlJZC5zZXQoY2F0ZWdvcnkuaWQpO1xuICAgICAgICAgICAgICAgIHRoaXMuY3VpQ2F0ZWdvcmllc01vZGFsU2VydmljZS5zZXRDdXJyZW50Q2F0ZWdvcnkoY2F0ZWdvcnkgYXMgVHJlZVN0cnVjdCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoYW5nZUNhdGVnb3J5KGNhdGVnb3J5SWQ6IHN0cmluZywgdGFyZ2V0SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2Q2F0ZWdvcnlJZCA9IHVudHJhY2tlZCh0aGlzLnByZXZDYXRlZ29yeUlkKTtcblxuICAgICAgICBpZiAoIXByZXZDYXRlZ29yeUlkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnRyZWVTdHJ1Y3ROYXZpZ2F0b3JBcGlTZXJ2aWNlXG4gICAgICAgICAgICAubW92ZUVsZW1lbnQoe1xuICAgICAgICAgICAgICAgIHR5cGU6IE1vdmluZ1R5cGUuVEFSR0VUX1RSRUVfU1RSVUNULFxuICAgICAgICAgICAgICAgIG1vdmFibGVJdGVtSWQ6IHRhcmdldElkLFxuICAgICAgICAgICAgICAgIHRyZWVTdHJ1Y3RUYXJnZXRJdGVtSWQ6IGNhdGVnb3J5SWQsXG4gICAgICAgICAgICAgICAgdHJlZVN0cnVjdE1vdmFibGVJdGVtSWQ6IHByZXZDYXRlZ29yeUlkXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnByZXZDYXRlZ29yeUlkLnNldChjYXRlZ29yeUlkKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVDcml0ZXJpb24oY2F0ZWdvcnlJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3JpdGVyaW9uQ3JlYXRlZC5lbWl0KGNhdGVnb3J5SWQpO1xuICAgICAgICB0aGlzLnByZXZDYXRlZ29yeUlkLnNldChjYXRlZ29yeUlkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoYW5nZVRpdGxlKHZhbHVlOiBzdHJpbmcsIGNyaXRlcmlvbklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JpdGVyaW9uQXBpU2VydmljZS5jaGFuZ2VUaXRsZShjcml0ZXJpb25JZCwgdmFsdWUpLnBpcGUoXG4gICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuY3JpdGVyaW9uLnVwZGF0ZSgocHJldikgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgLi4ucHJldiEsXG4gICAgICAgICAgICAgICAgICAgIHN0b3JhZ2VFbGVtZW50OiB7IC4uLnByZXYhLnN0b3JhZ2VFbGVtZW50LCB0aXRsZTogdmFsdWUgfVxuICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cIndyYXBwZXJcIlxuICAgICp0cmFuc2xvY289XCJsZXQgdFwiXG4+XG4gICAgPGRpdlxuICAgICAgICAjc2Nyb2xsQ29udGVudFxuICAgICAgICBjbGFzcz1cImNvbnRlbnQgY29udGVudF9zY3JvbGxhYmxlXCJcbiAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXRlZ29yeVwiPlxuICAgICAgICAgICAgPGN1aS1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICBjdWlMYWJlbFxuICAgICAgICAgICAgICAgICAgICBbZm9yXT1cImNhdGVnb3J5SWRcIlxuICAgICAgICAgICAgICAgICAgICBbaXNSZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IHQoJ1NFTEVDVF9DQVRFR09SWScpIH19XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8Y3VpLWNhdGVnb3JpZXNcbiAgICAgICAgICAgICAgICAgICAgW2J1dHRvbklkXT1cImNhdGVnb3J5SWRcIlxuICAgICAgICAgICAgICAgICAgICBbdHJlZVN0cnVjdFR5cGVdPVwiVFlQRVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbc3R5bGUuY29sb3JdPVwibGFiZWxDb2xvcigpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgc2VsZWN0VGl0bGUoKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y3VpLXN2ZyBpY29uPVwiY3VpSWNvbkNoZXZyb25Eb3duXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9jdWktY2F0ZWdvcmllcz5cbiAgICAgICAgICAgIDwvY3VpLWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBsZXQgY3JpdGVyaW9uRGF0YSA9IGNyaXRlcmlvbigpO1xuICAgICAgICBAbGV0IGVkaXRvckNvbmZpZ0RhdGEgPSBlZGl0b3JDb25maWcoKTtcblxuICAgICAgICBAaWYgKGVkaXRvckNvbmZpZ0RhdGEgJiYgY3JpdGVyaW9uRGF0YSkge1xuICAgICAgICAgICAgPGN1aS1jcml0ZXJpb24taW5mby1mb3JtXG4gICAgICAgICAgICAgICAgW2NvbmZpZ109XCJlZGl0b3JDb25maWdEYXRhXCJcbiAgICAgICAgICAgICAgICBbYmFzZVJlc291cmNlVXJsXT1cImVkaXRvclJlc291cmNlVXJsKClcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJjcml0ZXJpb25EYXRhLnN0b3JhZ2VFbGVtZW50LnRpdGxlXCJcbiAgICAgICAgICAgICAgICBbZnJhbWVySWRdPVwiY3JpdGVyaW9uRGF0YS5zdG9yYWdlRWxlbWVudC5mcmFtZXJDcml0ZXJpb25JZFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ1dGlsaXR5XCJcbiAgICAgICAgICAgICAgICAoaXNGb3JtVmFsaWRDaGFuZ2VkKT1cIm9uRm9ybVZhbGlkYXRpb25DaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChmb3JtQ2hhbmdlZCk9XCJvbkZvcm1DaGFuZ2VkKCRldmVudCwgY3JpdGVyaW9uRGF0YS5pZClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export { CuiCriterionInfoComponent } from './criterion-info.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvY3JpdGVyaW9uLWluZm8vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBDdWlDcml0ZXJpb25JbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9jcml0ZXJpb24taW5mby5jb21wb25lbnQnO1xuIl19