@snabcentr/client-ui 3.37.9 → 4.0.1

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 (391) hide show
  1. package/fesm2022/snabcentr-client-ui.mjs +3482 -3924
  2. package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
  3. package/index.d.ts +4298 -3
  4. package/package.json +1 -3
  5. package/release_notes.tmp +2 -8
  6. package/styles/tailwind/tailwind.scss +0 -176
  7. package/accordion/index.d.ts +0 -3
  8. package/accordion/sc-accordion-content.directive.d.ts +0 -9
  9. package/accordion/sc-accordion.component.d.ts +0 -56
  10. package/accordion/sc-accordion.module.d.ts +0 -15
  11. package/auth/enums/auth-method.d.ts +0 -13
  12. package/auth/index.d.ts +0 -8
  13. package/auth/interfaces/api-error-response.d.ts +0 -13
  14. package/auth/interfaces/index.d.ts +0 -3
  15. package/auth/interfaces/sc-bank-account-form-group.d.ts +0 -11
  16. package/auth/interfaces/sc-contact-form-group.d.ts +0 -10
  17. package/auth/sc-auth.module.d.ts +0 -26
  18. package/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.d.ts +0 -39
  19. package/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.d.ts +0 -41
  20. package/auth/sc-sign-in-form/sc-sign-in-form.component.d.ts +0 -53
  21. package/auth/sc-simple-sign-up-form/sc-simple-sign-up-form.component.d.ts +0 -106
  22. package/auth/sign-up-form/sc-sign-up-form.component.d.ts +0 -161
  23. package/banner/index.d.ts +0 -2
  24. package/banner/sc-banner.component.d.ts +0 -88
  25. package/banner/sc-banner.module.d.ts +0 -18
  26. package/brands-list/index.d.ts +0 -2
  27. package/brands-list/sc-brands-list.component.d.ts +0 -15
  28. package/brands-list/sc-brands-list.module.d.ts +0 -12
  29. package/cart/add-or-editing-cart-item-dialog/add-or-editing-cart-item-form/sc-add-or-editing-cart-item-form.component.d.ts +0 -102
  30. package/cart/add-or-editing-cart-item-dialog/index.d.ts +0 -2
  31. package/cart/add-or-editing-cart-item-dialog/sc-add-or-editing-cart-item-dialog.component.d.ts +0 -48
  32. package/cart/cart-item/sc-cart-item.component.d.ts +0 -25
  33. package/cart/index.d.ts +0 -3
  34. package/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.d.ts +0 -62
  35. package/catalog/category-card/sc-category-card.component.d.ts +0 -76
  36. package/catalog/cost-with-discount/cost-with-discount.component.d.ts +0 -23
  37. package/catalog/download-price-list/sc-download-price-list.component.d.ts +0 -38
  38. package/catalog/hover-image-carousel/sc-hover-image-carousel.component.d.ts +0 -48
  39. package/catalog/index.d.ts +0 -12
  40. package/catalog/input-quantity/sc-input-quantity.component.d.ts +0 -82
  41. package/catalog/notify-when-in-stock-dialog/index.d.ts +0 -2
  42. package/catalog/notify-when-in-stock-dialog/sc-notify-when-in-stock-dialog.component.d.ts +0 -90
  43. package/catalog/notify-when-in-stock-dialog/sc-product-in-all-warehouses.pipe.d.ts +0 -22
  44. package/catalog/price-card/sc-price-card.component.d.ts +0 -18
  45. package/catalog/price-card-inline/sc-price-card-inline.component.d.ts +0 -10
  46. package/catalog/price-history/sc-price-history.component.d.ts +0 -88
  47. package/catalog/price-list-pagination/sc-price-list-pagination.component.d.ts +0 -40
  48. package/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.d.ts +0 -47
  49. package/catalog/sc-catalog.module.d.ts +0 -29
  50. package/catalog/sc-favorite-button/sc-favorite-button.component.d.ts +0 -25
  51. package/contacts/add-contact-dialog/sc-add-contact-dialog.component.d.ts +0 -49
  52. package/contacts/contacts-accordion/sc-contacts-accordion.component.d.ts +0 -23
  53. package/contacts/index.d.ts +0 -7
  54. package/contacts/manager-card/sc-manager-card.component.d.ts +0 -22
  55. package/contacts/manager-card-push/sc-manager-card-push.component.d.ts +0 -18
  56. package/contacts/new-contact-form/sc-new-contact-form.component.d.ts +0 -28
  57. package/contacts/sc-contacts.module.d.ts +0 -28
  58. package/contacts/tokens/index.d.ts +0 -2
  59. package/contacts/tokens/sc-manager-qr-handler.token.d.ts +0 -6
  60. package/contacts/tokens/sc-show-help-notification-in-phone-input.token.d.ts +0 -5
  61. package/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.d.ts +0 -49
  62. package/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.d.ts +0 -161
  63. package/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.d.ts +0 -62
  64. package/contragents/contragents-accordion/sc-contragents-accordion.component.d.ts +0 -49
  65. package/contragents/index.d.ts +0 -7
  66. package/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.d.ts +0 -64
  67. package/contragents/new-contragent-form/sc-new-contragent-form.component.d.ts +0 -125
  68. package/contragents/sc-contragents.module.d.ts +0 -27
  69. package/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.d.ts +0 -141
  70. package/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.d.ts +0 -50
  71. package/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.d.ts +0 -49
  72. package/delivery-address/index.d.ts +0 -4
  73. package/delivery-address/sc-delivery-address.module.d.ts +0 -26
  74. package/dialogs/index.d.ts +0 -1
  75. package/dialogs/sc-resource-preview/sc-resource-preview.component.d.ts +0 -42
  76. package/directives/abstract-price-card/abstract-sc-price-card.directive.d.ts +0 -136
  77. package/directives/index.d.ts +0 -7
  78. package/directives/links/index.d.ts +0 -4
  79. package/directives/links/sc-email-link.directive.d.ts +0 -25
  80. package/directives/links/sc-link-location.d.ts +0 -5
  81. package/directives/links/sc-links.d.ts +0 -7
  82. package/directives/links/sc-tel-link.directive.d.ts +0 -40
  83. package/directives/next-input-focus/sc-next-input-focus.directive.d.ts +0 -18
  84. package/directives/next-input-focus/sc-next-input-focus.module.d.ts +0 -10
  85. package/directives/sc-date-value-transformer.directive.d.ts +0 -8
  86. package/directives/select-on-focusin/sc-select-on-focusin.directive.d.ts +0 -14
  87. package/directives/terminal-link/sc-terminal-link.directive.d.ts +0 -34
  88. package/error-handler/consts/error-change-handler.providers.d.ts +0 -5
  89. package/error-handler/error-block-status/error-block-status.component.d.ts +0 -37
  90. package/error-handler/index.d.ts +0 -4
  91. package/error-handler/interfaces/i-block-error.d.ts +0 -17
  92. package/error-handler/sc-error-handler.component.d.ts +0 -40
  93. package/esm2022/accordion/index.mjs +0 -4
  94. package/esm2022/accordion/sc-accordion-content.directive.mjs +0 -17
  95. package/esm2022/accordion/sc-accordion.component.mjs +0 -92
  96. package/esm2022/accordion/sc-accordion.module.mjs +0 -26
  97. package/esm2022/auth/enums/auth-method.mjs +0 -15
  98. package/esm2022/auth/index.mjs +0 -9
  99. package/esm2022/auth/interfaces/api-error-response.mjs +0 -2
  100. package/esm2022/auth/interfaces/index.mjs +0 -4
  101. package/esm2022/auth/interfaces/sc-bank-account-form-group.mjs +0 -2
  102. package/esm2022/auth/interfaces/sc-contact-form-group.mjs +0 -2
  103. package/esm2022/auth/sc-auth.module.mjs +0 -99
  104. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.mjs +0 -87
  105. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs +0 -86
  106. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form.component.mjs +0 -89
  107. package/esm2022/auth/sc-simple-sign-up-form/sc-simple-sign-up-form.component.mjs +0 -187
  108. package/esm2022/auth/sign-up-form/sc-sign-up-form.component.mjs +0 -333
  109. package/esm2022/banner/index.mjs +0 -3
  110. package/esm2022/banner/sc-banner.component.mjs +0 -143
  111. package/esm2022/banner/sc-banner.module.mjs +0 -30
  112. package/esm2022/brands-list/index.mjs +0 -3
  113. package/esm2022/brands-list/sc-brands-list.component.mjs +0 -24
  114. package/esm2022/brands-list/sc-brands-list.module.mjs +0 -22
  115. package/esm2022/cart/add-or-editing-cart-item-dialog/add-or-editing-cart-item-form/sc-add-or-editing-cart-item-form.component.mjs +0 -233
  116. package/esm2022/cart/add-or-editing-cart-item-dialog/index.mjs +0 -3
  117. package/esm2022/cart/add-or-editing-cart-item-dialog/sc-add-or-editing-cart-item-dialog.component.mjs +0 -74
  118. package/esm2022/cart/cart-item/sc-cart-item.component.mjs +0 -74
  119. package/esm2022/cart/index.mjs +0 -4
  120. package/esm2022/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.mjs +0 -110
  121. package/esm2022/catalog/category-card/sc-category-card.component.mjs +0 -102
  122. package/esm2022/catalog/cost-with-discount/cost-with-discount.component.mjs +0 -38
  123. package/esm2022/catalog/download-price-list/sc-download-price-list.component.mjs +0 -56
  124. package/esm2022/catalog/hover-image-carousel/sc-hover-image-carousel.component.mjs +0 -76
  125. package/esm2022/catalog/index.mjs +0 -13
  126. package/esm2022/catalog/input-quantity/sc-input-quantity.component.mjs +0 -177
  127. package/esm2022/catalog/notify-when-in-stock-dialog/index.mjs +0 -3
  128. package/esm2022/catalog/notify-when-in-stock-dialog/sc-notify-when-in-stock-dialog.component.mjs +0 -173
  129. package/esm2022/catalog/notify-when-in-stock-dialog/sc-product-in-all-warehouses.pipe.mjs +0 -35
  130. package/esm2022/catalog/price-card/sc-price-card.component.mjs +0 -52
  131. package/esm2022/catalog/price-card-inline/sc-price-card-inline.component.mjs +0 -56
  132. package/esm2022/catalog/price-history/sc-price-history.component.mjs +0 -140
  133. package/esm2022/catalog/price-list-pagination/sc-price-list-pagination.component.mjs +0 -65
  134. package/esm2022/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.mjs +0 -54
  135. package/esm2022/catalog/sc-catalog.module.mjs +0 -125
  136. package/esm2022/catalog/sc-favorite-button/sc-favorite-button.component.mjs +0 -42
  137. package/esm2022/contacts/add-contact-dialog/sc-add-contact-dialog.component.mjs +0 -91
  138. package/esm2022/contacts/contacts-accordion/sc-contacts-accordion.component.mjs +0 -38
  139. package/esm2022/contacts/index.mjs +0 -8
  140. package/esm2022/contacts/manager-card/sc-manager-card.component.mjs +0 -58
  141. package/esm2022/contacts/manager-card-push/sc-manager-card-push.component.mjs +0 -28
  142. package/esm2022/contacts/new-contact-form/sc-new-contact-form.component.mjs +0 -37
  143. package/esm2022/contacts/sc-contacts.module.mjs +0 -92
  144. package/esm2022/contacts/tokens/index.mjs +0 -3
  145. package/esm2022/contacts/tokens/sc-manager-qr-handler.token.mjs +0 -24
  146. package/esm2022/contacts/tokens/sc-show-help-notification-in-phone-input.token.mjs +0 -7
  147. package/esm2022/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.mjs +0 -81
  148. package/esm2022/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.mjs +0 -278
  149. package/esm2022/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.mjs +0 -75
  150. package/esm2022/contragents/contragents-accordion/sc-contragents-accordion.component.mjs +0 -69
  151. package/esm2022/contragents/index.mjs +0 -8
  152. package/esm2022/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.mjs +0 -72
  153. package/esm2022/contragents/new-contragent-form/sc-new-contragent-form.component.mjs +0 -242
  154. package/esm2022/contragents/sc-contragents.module.mjs +0 -118
  155. package/esm2022/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.mjs +0 -250
  156. package/esm2022/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.mjs +0 -60
  157. package/esm2022/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.mjs +0 -69
  158. package/esm2022/delivery-address/index.mjs +0 -5
  159. package/esm2022/delivery-address/sc-delivery-address.module.mjs +0 -99
  160. package/esm2022/dialogs/index.mjs +0 -2
  161. package/esm2022/dialogs/sc-resource-preview/sc-resource-preview.component.mjs +0 -68
  162. package/esm2022/directives/abstract-price-card/abstract-sc-price-card.directive.mjs +0 -170
  163. package/esm2022/directives/index.mjs +0 -8
  164. package/esm2022/directives/links/index.mjs +0 -5
  165. package/esm2022/directives/links/sc-email-link.directive.mjs +0 -49
  166. package/esm2022/directives/links/sc-link-location.mjs +0 -2
  167. package/esm2022/directives/links/sc-links.mjs +0 -8
  168. package/esm2022/directives/links/sc-tel-link.directive.mjs +0 -79
  169. package/esm2022/directives/next-input-focus/sc-next-input-focus.directive.mjs +0 -43
  170. package/esm2022/directives/next-input-focus/sc-next-input-focus.module.mjs +0 -19
  171. package/esm2022/directives/sc-date-value-transformer.directive.mjs +0 -30
  172. package/esm2022/directives/select-on-focusin/sc-select-on-focusin.directive.mjs +0 -31
  173. package/esm2022/directives/terminal-link/sc-terminal-link.directive.mjs +0 -69
  174. package/esm2022/error-handler/consts/error-change-handler.providers.mjs +0 -8
  175. package/esm2022/error-handler/error-block-status/error-block-status.component.mjs +0 -76
  176. package/esm2022/error-handler/index.mjs +0 -5
  177. package/esm2022/error-handler/interfaces/i-block-error.mjs +0 -2
  178. package/esm2022/error-handler/sc-error-handler.component.mjs +0 -58
  179. package/esm2022/feedback/feedback-form/sc-feedback-form.component.mjs +0 -344
  180. package/esm2022/feedback/gratitude/sc-gratitude.component.mjs +0 -32
  181. package/esm2022/feedback/index.mjs +0 -4
  182. package/esm2022/feedback/interfaces/index.mjs +0 -2
  183. package/esm2022/feedback/interfaces/sc-feedback-form-config.mjs +0 -2
  184. package/esm2022/files/directives/index.mjs +0 -3
  185. package/esm2022/files/directives/tree-top.directive.mjs +0 -63
  186. package/esm2022/files/directives/tree.directive.mjs +0 -47
  187. package/esm2022/files/file-tree-item/file-tree-item.component.mjs +0 -18
  188. package/esm2022/files/files-and-documents/files-and-documents.component.mjs +0 -61
  189. package/esm2022/files/files-and-documents.module.mjs +0 -28
  190. package/esm2022/files/index.mjs +0 -6
  191. package/esm2022/files/interfaces/tree-node.mjs +0 -2
  192. package/esm2022/files/services/index.mjs +0 -3
  193. package/esm2022/files/services/tree-icon.service.mjs +0 -49
  194. package/esm2022/files/services/tree-loader.service.mjs +0 -62
  195. package/esm2022/form-fields/addresses-selection-field/sc-addresses-selection-field.component.mjs +0 -155
  196. package/esm2022/form-fields/form-fields.module.mjs +0 -69
  197. package/esm2022/form-fields/index.mjs +0 -4
  198. package/esm2022/form-fields/suggestion-field/sc-suggestion-field.component.mjs +0 -175
  199. package/esm2022/helpers/index.mjs +0 -2
  200. package/esm2022/helpers/sc-px-converter.mjs +0 -27
  201. package/esm2022/icons/index.mjs +0 -2
  202. package/esm2022/icons/sc-client-ui-icons-name.mjs +0 -99
  203. package/esm2022/loader/index.mjs +0 -2
  204. package/esm2022/loader/sc-i-loader.mjs +0 -2
  205. package/esm2022/masks/index.mjs +0 -8
  206. package/esm2022/masks/sc-account-number-mask.mjs +0 -7
  207. package/esm2022/masks/sc-bic-mask.mjs +0 -7
  208. package/esm2022/masks/sc-correspondent-account-mask.mjs +0 -7
  209. package/esm2022/masks/sc-inn-mask.mjs +0 -13
  210. package/esm2022/masks/sc-kpp-mask.mjs +0 -7
  211. package/esm2022/masks/sc-okpo-mask.mjs +0 -13
  212. package/esm2022/masks/sc-phone-verification-code-mask.mjs +0 -7
  213. package/esm2022/models/i-sc-image.mjs +0 -2
  214. package/esm2022/models/index.mjs +0 -2
  215. package/esm2022/news/index.mjs +0 -4
  216. package/esm2022/news/news-card/sc-news-card.component.mjs +0 -34
  217. package/esm2022/news/news-card-skeleton/sc-news-card-skeleton.component.mjs +0 -31
  218. package/esm2022/news/sc-news.module.mjs +0 -26
  219. package/esm2022/order/index.mjs +0 -4
  220. package/esm2022/order/order-item-mobile/sc-order-item-mobile.component.mjs +0 -60
  221. package/esm2022/order/sc-order.module.mjs +0 -53
  222. package/esm2022/order/sc-payment-status/sc-payment-status.component.mjs +0 -35
  223. package/esm2022/pages/frequently-asked-questions/sc-frequently-asked-questions.component.mjs +0 -28
  224. package/esm2022/pages/frequently-asked-questions/sc-page-size-options.mjs +0 -6
  225. package/esm2022/pages/frequently-asked-questions-group-selector/sc-frequently-asked-questions-group-selector.component.mjs +0 -59
  226. package/esm2022/pages/frequently-asked-questions-with-groups/sc-frequently-asked-questions-with-groups.component.mjs +0 -106
  227. package/esm2022/pages/index.mjs +0 -4
  228. package/esm2022/pipes/index.mjs +0 -3
  229. package/esm2022/pipes/sc-format-date.mjs +0 -33
  230. package/esm2022/pipes/sc-phone-format.mjs +0 -44
  231. package/esm2022/profile/index.mjs +0 -3
  232. package/esm2022/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +0 -175
  233. package/esm2022/profile/sc-profile.module.mjs +0 -76
  234. package/esm2022/providers/date-value-transformer/index.mjs +0 -4
  235. package/esm2022/providers/date-value-transformer/sc-date-value-transformer-types.mjs +0 -2
  236. package/esm2022/providers/date-value-transformer/sc-date-value-transformer-with-end-time.mjs +0 -26
  237. package/esm2022/providers/date-value-transformer/sc-date-value-transformer-with-start-time.mjs +0 -37
  238. package/esm2022/providers/index.mjs +0 -12
  239. package/esm2022/providers/sc-allow-select-terminated.mjs +0 -6
  240. package/esm2022/providers/sc-country-ids.mjs +0 -6
  241. package/esm2022/providers/sc-date-formatter.mjs +0 -12
  242. package/esm2022/providers/sc-date-value-transformer.mjs +0 -12
  243. package/esm2022/providers/sc-help-notification-close.mjs +0 -7
  244. package/esm2022/providers/sc-help-notification-limit.mjs +0 -6
  245. package/esm2022/providers/sc-max-files-in-form-input.mjs +0 -6
  246. package/esm2022/providers/sc-notify-when-in-stock-required-fields.mjs +0 -6
  247. package/esm2022/providers/sc-page-size-options.mjs +0 -6
  248. package/esm2022/providers/sc-user-providers.mjs +0 -33
  249. package/esm2022/providers/sc-verification-code-timeout.mjs +0 -6
  250. package/esm2022/public-api.mjs +0 -35
  251. package/esm2022/qrcode/index.mjs +0 -3
  252. package/esm2022/qrcode/qrcode-dialog/sc-qrcode-dialog.component.mjs +0 -58
  253. package/esm2022/qrcode/sc-qrcode.module.mjs +0 -25
  254. package/esm2022/samples/index.mjs +0 -5
  255. package/esm2022/samples/interfaces/index.mjs +0 -3
  256. package/esm2022/samples/interfaces/sc-i-preview-sample.mjs +0 -2
  257. package/esm2022/samples/interfaces/sc-preview-mosquito-config.mjs +0 -2
  258. package/esm2022/samples/preview-sample/sc-preview-sample.component.mjs +0 -42
  259. package/esm2022/samples/sc-preview-samples-mosquito/sc-preview-samples-mosquito.component.mjs +0 -63
  260. package/esm2022/samples/sc-sample.module.mjs +0 -68
  261. package/esm2022/services/index.mjs +0 -2
  262. package/esm2022/services/sc-help-notification.service.mjs +0 -90
  263. package/esm2022/share-button/index.mjs +0 -3
  264. package/esm2022/share-button/sc-share-button.component.mjs +0 -35
  265. package/esm2022/share-button/sc-share-button.module.mjs +0 -22
  266. package/esm2022/snabcentr-client-ui.mjs +0 -5
  267. package/esm2022/user/index.mjs +0 -6
  268. package/esm2022/user/reset-user-password/sc-reset-user-password.component.mjs +0 -75
  269. package/esm2022/user/sc-user.module.mjs +0 -89
  270. package/esm2022/user/update-user-info-dialog/sc-update-user-info-dialog.component.mjs +0 -122
  271. package/esm2022/user/user-managers/sc-user-managers.component.mjs +0 -42
  272. package/esm2022/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.mjs +0 -106
  273. package/esm2022/validators/index.mjs +0 -7
  274. package/esm2022/validators/sc-at-least-one-required-validator.mjs +0 -25
  275. package/esm2022/validators/sc-bic-validator.mjs +0 -10
  276. package/esm2022/validators/sc-correspondent-account-validator.mjs +0 -10
  277. package/esm2022/validators/sc-password-confirm-matching-validator.mjs +0 -17
  278. package/esm2022/validators/sc-phone-validator.mjs +0 -14
  279. package/esm2022/validators/step-validator.mjs +0 -18
  280. package/esm2022/verification/index.mjs +0 -4
  281. package/esm2022/verification/providers/index.mjs +0 -3
  282. package/esm2022/verification/providers/sc-phone-approve-code-sender.provider.mjs +0 -12
  283. package/esm2022/verification/providers/sc-phone-approve-code-sender.token.mjs +0 -7
  284. package/esm2022/verification/sc-verification.module.mjs +0 -88
  285. package/esm2022/verification/verification-phone-check-form/sc-verification-phone-check-form.component.mjs +0 -277
  286. package/feedback/feedback-form/sc-feedback-form.component.d.ts +0 -163
  287. package/feedback/gratitude/sc-gratitude.component.d.ts +0 -20
  288. package/feedback/index.d.ts +0 -3
  289. package/feedback/interfaces/index.d.ts +0 -1
  290. package/feedback/interfaces/sc-feedback-form-config.d.ts +0 -23
  291. package/files/directives/index.d.ts +0 -2
  292. package/files/directives/tree-top.directive.d.ts +0 -33
  293. package/files/directives/tree.directive.d.ts +0 -35
  294. package/files/file-tree-item/file-tree-item.component.d.ts +0 -9
  295. package/files/files-and-documents/files-and-documents.component.d.ts +0 -27
  296. package/files/files-and-documents.module.d.ts +0 -17
  297. package/files/index.d.ts +0 -5
  298. package/files/interfaces/tree-node.d.ts +0 -29
  299. package/files/services/index.d.ts +0 -2
  300. package/files/services/tree-icon.service.d.ts +0 -23
  301. package/files/services/tree-loader.service.d.ts +0 -43
  302. package/form-fields/addresses-selection-field/sc-addresses-selection-field.component.d.ts +0 -78
  303. package/form-fields/form-fields.module.d.ts +0 -19
  304. package/form-fields/index.d.ts +0 -3
  305. package/form-fields/suggestion-field/sc-suggestion-field.component.d.ts +0 -73
  306. package/helpers/index.d.ts +0 -1
  307. package/helpers/sc-px-converter.d.ts +0 -15
  308. package/icons/index.d.ts +0 -1
  309. package/icons/sc-client-ui-icons-name.d.ts +0 -4
  310. package/loader/index.d.ts +0 -1
  311. package/loader/sc-i-loader.d.ts +0 -9
  312. package/masks/index.d.ts +0 -7
  313. package/masks/sc-account-number-mask.d.ts +0 -5
  314. package/masks/sc-bic-mask.d.ts +0 -5
  315. package/masks/sc-correspondent-account-mask.d.ts +0 -5
  316. package/masks/sc-inn-mask.d.ts +0 -9
  317. package/masks/sc-kpp-mask.d.ts +0 -5
  318. package/masks/sc-okpo-mask.d.ts +0 -9
  319. package/masks/sc-phone-verification-code-mask.d.ts +0 -5
  320. package/models/i-sc-image.d.ts +0 -17
  321. package/models/index.d.ts +0 -1
  322. package/news/index.d.ts +0 -3
  323. package/news/news-card/sc-news-card.component.d.ts +0 -22
  324. package/news/news-card-skeleton/sc-news-card-skeleton.component.d.ts +0 -16
  325. package/news/sc-news.module.d.ts +0 -16
  326. package/order/index.d.ts +0 -3
  327. package/order/order-item-mobile/sc-order-item-mobile.component.d.ts +0 -39
  328. package/order/sc-order.module.d.ts +0 -19
  329. package/order/sc-payment-status/sc-payment-status.component.d.ts +0 -25
  330. package/pages/frequently-asked-questions/sc-frequently-asked-questions.component.d.ts +0 -18
  331. package/pages/frequently-asked-questions/sc-page-size-options.d.ts +0 -5
  332. package/pages/frequently-asked-questions-group-selector/sc-frequently-asked-questions-group-selector.component.d.ts +0 -28
  333. package/pages/frequently-asked-questions-with-groups/sc-frequently-asked-questions-with-groups.component.d.ts +0 -79
  334. package/pages/index.d.ts +0 -3
  335. package/pipes/index.d.ts +0 -2
  336. package/pipes/sc-format-date.d.ts +0 -20
  337. package/pipes/sc-phone-format.d.ts +0 -21
  338. package/profile/index.d.ts +0 -2
  339. package/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.d.ts +0 -126
  340. package/profile/sc-profile.module.d.ts +0 -24
  341. package/providers/date-value-transformer/index.d.ts +0 -3
  342. package/providers/date-value-transformer/sc-date-value-transformer-types.d.ts +0 -9
  343. package/providers/date-value-transformer/sc-date-value-transformer-with-end-time.d.ts +0 -16
  344. package/providers/date-value-transformer/sc-date-value-transformer-with-start-time.d.ts +0 -22
  345. package/providers/index.d.ts +0 -11
  346. package/providers/sc-allow-select-terminated.d.ts +0 -5
  347. package/providers/sc-country-ids.d.ts +0 -5
  348. package/providers/sc-date-formatter.d.ts +0 -6
  349. package/providers/sc-date-value-transformer.d.ts +0 -5
  350. package/providers/sc-help-notification-close.d.ts +0 -6
  351. package/providers/sc-help-notification-limit.d.ts +0 -5
  352. package/providers/sc-max-files-in-form-input.d.ts +0 -5
  353. package/providers/sc-notify-when-in-stock-required-fields.d.ts +0 -5
  354. package/providers/sc-page-size-options.d.ts +0 -5
  355. package/providers/sc-user-providers.d.ts +0 -21
  356. package/providers/sc-verification-code-timeout.d.ts +0 -5
  357. package/public-api.d.ts +0 -31
  358. package/qrcode/index.d.ts +0 -2
  359. package/qrcode/qrcode-dialog/sc-qrcode-dialog.component.d.ts +0 -37
  360. package/qrcode/sc-qrcode.module.d.ts +0 -14
  361. package/samples/index.d.ts +0 -4
  362. package/samples/interfaces/index.d.ts +0 -2
  363. package/samples/interfaces/sc-i-preview-sample.d.ts +0 -56
  364. package/samples/interfaces/sc-preview-mosquito-config.d.ts +0 -62
  365. package/samples/preview-sample/sc-preview-sample.component.d.ts +0 -30
  366. package/samples/sc-preview-samples-mosquito/sc-preview-samples-mosquito.component.d.ts +0 -50
  367. package/samples/sc-sample.module.d.ts +0 -19
  368. package/services/index.d.ts +0 -1
  369. package/services/sc-help-notification.service.d.ts +0 -64
  370. package/share-button/index.d.ts +0 -2
  371. package/share-button/sc-share-button.component.d.ts +0 -22
  372. package/share-button/sc-share-button.module.d.ts +0 -12
  373. package/user/index.d.ts +0 -5
  374. package/user/reset-user-password/sc-reset-user-password.component.d.ts +0 -46
  375. package/user/sc-user.module.d.ts +0 -25
  376. package/user/update-user-info-dialog/sc-update-user-info-dialog.component.d.ts +0 -63
  377. package/user/user-managers/sc-user-managers.component.d.ts +0 -26
  378. package/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.d.ts +0 -53
  379. package/validators/index.d.ts +0 -6
  380. package/validators/sc-at-least-one-required-validator.d.ts +0 -10
  381. package/validators/sc-bic-validator.d.ts +0 -8
  382. package/validators/sc-correspondent-account-validator.d.ts +0 -8
  383. package/validators/sc-password-confirm-matching-validator.d.ts +0 -8
  384. package/validators/sc-phone-validator.d.ts +0 -5
  385. package/validators/step-validator.d.ts +0 -8
  386. package/verification/index.d.ts +0 -3
  387. package/verification/providers/index.d.ts +0 -2
  388. package/verification/providers/sc-phone-approve-code-sender.provider.d.ts +0 -6
  389. package/verification/providers/sc-phone-approve-code-sender.token.d.ts +0 -7
  390. package/verification/sc-verification.module.d.ts +0 -21
  391. package/verification/verification-phone-check-form/sc-verification-phone-check-form.component.d.ts +0 -149
@@ -1,75 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Output } from '@angular/core';
2
- import { FormControl, FormGroup, Validators } from '@angular/forms';
3
- import { tuiIsFalsy, tuiIsPresent } from '@taiga-ui/cdk';
4
- import { catchError, filter, map, of, share, startWith, Subject, switchMap, tap } from 'rxjs';
5
- import { scPasswordConfirmMatchingValidator } from '../../validators';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@snabcentr/client-core";
8
- import * as i2 from "@angular/common";
9
- import * as i3 from "@angular/forms";
10
- import * as i4 from "@taiga-ui/legacy";
11
- import * as i5 from "@taiga-ui/legacy/components/primitive-textfield";
12
- import * as i6 from "@taiga-ui/core";
13
- import * as i7 from "@taiga-ui/cdk";
14
- import * as i8 from "@taiga-ui/kit";
15
- /**
16
- * Компонент смены пароля пользователя.
17
- */
18
- export class ScResetUserPasswordComponent {
19
- /**
20
- * Инициализирует экземпляр класса {@link ScResetUserPasswordComponent}.
21
- *
22
- * @param userService Сервис данных о пользователе.
23
- */
24
- constructor(userService) {
25
- this.userService = userService;
26
- /**
27
- * Форма для изменения пароля пользователя.
28
- */
29
- this.form = new FormGroup({
30
- currentPassword: new FormControl(null, [Validators.required, Validators.minLength(8)]),
31
- password: new FormControl(null, [Validators.required, Validators.minLength(8)]),
32
- passwordConfirm: new FormControl(null, [Validators.required, Validators.minLength(8)]),
33
- }, { validators: scPasswordConfirmMatchingValidator('password', 'passwordConfirm') });
34
- /**
35
- * {@link Subject} события отправки формы.
36
- */
37
- this.onSubmit = new Subject();
38
- /**
39
- * {@link Observable} запроса данных аутентификации.
40
- */
41
- this.request$ = this.onSubmit.pipe(filter(() => this.form.valid), map(() => this.form.value), switchMap((value) => this.userService.updateUserInfo$(value).pipe(map(() => ({ success: true })), tap(() => {
42
- this.form.reset();
43
- }),
44
- // eslint-disable-next-line rxjs/no-implicit-any-catch
45
- catchError((error) => {
46
- const errorResponse = error.error;
47
- // eslint-disable-next-line guard-for-in,no-restricted-syntax
48
- for (const key in errorResponse.errors) {
49
- // eslint-disable-next-line security/detect-object-injection
50
- this.form.get(key)?.setErrors({ serverResponse: errorResponse.errors[key] });
51
- }
52
- if (!errorResponse.errors && errorResponse.message) {
53
- this.form.setErrors({ serverResponse: [errorResponse.message] });
54
- }
55
- return of({ success: false });
56
- }), startWith(null))), share());
57
- /**
58
- * {@link Observable} изменения состояния загрузки данных аутентификации по email.
59
- */
60
- this.loading$ = this.request$.pipe(map(tuiIsFalsy));
61
- /**
62
- * Сигнал события события смены пароля.
63
- */
64
- this.successResetPassword = this.request$.pipe(filter(tuiIsPresent), filter(({ success }) => success));
65
- }
66
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScResetUserPasswordComponent, deps: [{ token: i1.ScUserService }], target: i0.ɵɵFactoryTarget.Component }); }
67
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ScResetUserPasswordComponent, selector: "sc-reset-user-password", outputs: { successResetPassword: "successResetPassword" }, ngImport: i0, template: "<form\n [formGroup]=\"form\"\n (ngSubmit)=\"onSubmit.next()\"\n class=\"flex flex-col gap-4 p-1 lg:flex-row\"\n>\n <div class=\"grid items-start gap-2 lg:grow lg:grid-cols-3 lg:grid-rows-1 lg:gap-4\">\n <label tuiLabel\n >\u0421\u0442\u0430\u0440\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <tui-input-password formControlName=\"currentPassword\">\n \u0421\u0442\u0430\u0440\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <input\n tuiTextfieldLegacy\n autocomplete=\"new-password\"\n />\n </tui-input-password>\n <tui-error\n formControlName=\"currentPassword\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <label tuiLabel\n >\u041F\u0440\u0438\u0434\u0443\u043C\u0430\u0439\u0442\u0435 \u043D\u043E\u0432\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <tui-input-password\n [pseudoInvalid]=\"form.hasError('passwordNotEquivalent')\"\n formControlName=\"password\"\n >\n \u041F\u0440\u0438\u0434\u0443\u043C\u0430\u0439\u0442\u0435 \u043D\u043E\u0432\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <input\n tuiTextfieldLegacy\n autocomplete=\"new-password\"\n />\n </tui-input-password>\n <tui-error\n formControlName=\"password\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <label tuiLabel\n >\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0435 \u043D\u043E\u0432\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <tui-input-password\n [pseudoInvalid]=\"form.hasError('passwordNotEquivalent')\"\n formControlName=\"passwordConfirm\"\n >\n \u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0435 \u043D\u043E\u0432\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <input\n tuiTextfieldLegacy\n autocomplete=\"new-password\"\n />\n </tui-input-password>\n <tui-error\n formControlName=\"passwordConfirm\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <tui-error\n *ngIf=\"form.invalid\"\n class=\"lg:!hidden\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </div>\n <div class=\"flex flex-col justify-center lg:mt-5 lg:h-11\">\n <button\n *tuiLet=\"!!(loading$ | async) as loading\"\n tuiButton\n [loading]=\"loading\"\n type=\"submit\"\n [disabled]=\"form.invalid || loading\"\n iconStart=\"@tui.save\"\n class=\"font-medium\"\n >\n \u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C\n </button>\n </div>\n</form>\n<tui-error\n class=\"!hidden lg:!block\"\n [formGroup]=\"form\"\n [error]=\"[] | tuiFieldError | async\"\n></tui-error>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.TuiInputPasswordComponent, selector: "tui-input-password" }, { kind: "directive", type: i4.TuiInputPasswordDirective, selector: "tui-input-password" }, { kind: "component", type: i5.TuiTextfieldComponent, selector: "input[tuiTextfieldLegacy], textarea[tuiTextfieldLegacy]" }, { kind: "directive", type: i6.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i6.TuiError, selector: "tui-error", inputs: ["error"] }, { kind: "directive", type: i6.TuiLabel, selector: "label[tuiLabel]" }, { kind: "directive", type: i7.TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "component", type: i8.TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TuiFieldErrorPipe, name: "tuiFieldError" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
68
- }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScResetUserPasswordComponent, decorators: [{
70
- type: Component,
71
- args: [{ selector: 'sc-reset-user-password', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\n [formGroup]=\"form\"\n (ngSubmit)=\"onSubmit.next()\"\n class=\"flex flex-col gap-4 p-1 lg:flex-row\"\n>\n <div class=\"grid items-start gap-2 lg:grow lg:grid-cols-3 lg:grid-rows-1 lg:gap-4\">\n <label tuiLabel\n >\u0421\u0442\u0430\u0440\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <tui-input-password formControlName=\"currentPassword\">\n \u0421\u0442\u0430\u0440\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <input\n tuiTextfieldLegacy\n autocomplete=\"new-password\"\n />\n </tui-input-password>\n <tui-error\n formControlName=\"currentPassword\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <label tuiLabel\n >\u041F\u0440\u0438\u0434\u0443\u043C\u0430\u0439\u0442\u0435 \u043D\u043E\u0432\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <tui-input-password\n [pseudoInvalid]=\"form.hasError('passwordNotEquivalent')\"\n formControlName=\"password\"\n >\n \u041F\u0440\u0438\u0434\u0443\u043C\u0430\u0439\u0442\u0435 \u043D\u043E\u0432\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <input\n tuiTextfieldLegacy\n autocomplete=\"new-password\"\n />\n </tui-input-password>\n <tui-error\n formControlName=\"password\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <label tuiLabel\n >\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0435 \u043D\u043E\u0432\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <tui-input-password\n [pseudoInvalid]=\"form.hasError('passwordNotEquivalent')\"\n formControlName=\"passwordConfirm\"\n >\n \u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0435 \u043D\u043E\u0432\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C\n <input\n tuiTextfieldLegacy\n autocomplete=\"new-password\"\n />\n </tui-input-password>\n <tui-error\n formControlName=\"passwordConfirm\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <tui-error\n *ngIf=\"form.invalid\"\n class=\"lg:!hidden\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </div>\n <div class=\"flex flex-col justify-center lg:mt-5 lg:h-11\">\n <button\n *tuiLet=\"!!(loading$ | async) as loading\"\n tuiButton\n [loading]=\"loading\"\n type=\"submit\"\n [disabled]=\"form.invalid || loading\"\n iconStart=\"@tui.save\"\n class=\"font-medium\"\n >\n \u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C\n </button>\n </div>\n</form>\n<tui-error\n class=\"!hidden lg:!block\"\n [formGroup]=\"form\"\n [error]=\"[] | tuiFieldError | async\"\n></tui-error>\n" }]
72
- }], ctorParameters: () => [{ type: i1.ScUserService }], propDecorators: { successResetPassword: [{
73
- type: Output
74
- }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcmVzZXQtdXNlci1wYXNzd29yZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvdXNlci9yZXNldC11c2VyLXBhc3N3b3JkL3NjLXJlc2V0LXVzZXItcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3VzZXIvcmVzZXQtdXNlci1wYXNzd29yZC9zYy1yZXNldC11c2VyLXBhc3N3b3JkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcxRyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7OztBQUV0RTs7R0FFRztBQU1ILE1BQU0sT0FBTyw0QkFBNEI7SUFrRXJDOzs7O09BSUc7SUFDSCxZQUFvQyxXQUEwQjtRQUExQixnQkFBVyxHQUFYLFdBQVcsQ0FBZTtRQXRFOUQ7O1dBRUc7UUFDSSxTQUFJLEdBQUcsSUFBSSxTQUFTLENBQ3ZCO1lBQ0ksZUFBZSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lB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LW1ldGhvZCAqL1xuXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNjSUNoYW5nZVBhc3N3b3JkLCBTY1VzZXJTZXJ2aWNlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyB0dWlJc0ZhbHN5LCB0dWlJc1ByZXNlbnQgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc2hhcmUsIHN0YXJ0V2l0aCwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQXBpRXJyb3JSZXNwb25zZSB9IGZyb20gJy4uLy4uL2F1dGgnO1xuaW1wb3J0IHsgc2NQYXNzd29yZENvbmZpcm1NYXRjaGluZ1ZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDRgdC80LXQvdGLINC/0LDRgNC+0LvRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2MtcmVzZXQtdXNlci1wYXNzd29yZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLXJlc2V0LXVzZXItcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY1Jlc2V0VXNlclBhc3N3b3JkQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDQpNC+0YDQvNCwINC00LvRjyDQuNC30LzQtdC90LXQvdC40Y8g0L/QsNGA0L7Qu9GPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZm9ybSA9IG5ldyBGb3JtR3JvdXAoXG4gICAgICAgIHtcbiAgICAgICAgICAgIGN1cnJlbnRQYXNzd29yZDogbmV3IEZvcm1Db250cm9sKG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCg4KV0pLFxuICAgICAgICAgICAgcGFzc3dvcmQ6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoOCldKSxcbiAgICAgICAgICAgIHBhc3N3b3JkQ29uZmlybTogbmV3IEZvcm1Db250cm9sKG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCg4KV0pLFxuICAgICAgICB9LFxuICAgICAgICB7IHZhbGlkYXRvcnM6IHNjUGFzc3dvcmRDb25maXJtTWF0Y2hpbmdWYWxpZGF0b3IoJ3Bhc3N3b3JkJywgJ3Bhc3N3b3JkQ29uZmlybScpIH1cbiAgICApO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIFN1YmplY3R9INGB0L7QsdGL0YLQuNGPINC+0YLQv9GA0LDQstC60Lgg0YTQvtGA0LzRiy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgb25TdWJtaXQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC30LDQv9GA0L7RgdCwINC00LDQvdC90YvRhSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVxdWVzdCQgPSB0aGlzLm9uU3VibWl0LnBpcGUoXG4gICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLmZvcm0udmFsaWQpLFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy5mb3JtLnZhbHVlIGFzIFNjSUNoYW5nZVBhc3N3b3JkKSxcbiAgICAgICAgc3dpdGNoTWFwKCh2YWx1ZSkgPT5cbiAgICAgICAgICAgIHRoaXMudXNlclNlcnZpY2UudXBkYXRlVXNlckluZm8kKHZhbHVlKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiAoeyBzdWNjZXNzOiB0cnVlIH0pKSxcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnhqcy9uby1pbXBsaWNpdC1hbnktY2F0Y2hcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3JSZXNwb25zZSA9IGVycm9yLmVycm9yIGFzIEFwaUVycm9yUmVzcG9uc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGd1YXJkLWZvci1pbixuby1yZXN0cmljdGVkLXN5bnRheFxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBlcnJvclJlc3BvbnNlLmVycm9ycykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlY3VyaXR5L2RldGVjdC1vYmplY3QtaW5qZWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0uZ2V0KGtleSk/LnNldEVycm9ycyh7IHNlcnZlclJlc3BvbnNlOiBlcnJvclJlc3BvbnNlLmVycm9yc1trZXldIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFlcnJvclJlc3BvbnNlLmVycm9ycyAmJiBlcnJvclJlc3BvbnNlLm1lc3NhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5zZXRFcnJvcnMoeyBzZXJ2ZXJSZXNwb25zZTogW2Vycm9yUmVzcG9uc2UubWVzc2FnZV0gfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgobnVsbClcbiAgICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgICAgc2hhcmUoKVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGB0L7RgdGC0L7Rj9C90LjRjyDQt9Cw0LPRgNGD0LfQutC4INC00LDQvdC90YvRhSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L4gZW1haWwuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5yZXF1ZXN0JC5waXBlKG1hcCh0dWlJc0ZhbHN5KSk7XG5cbiAgICAvKipcbiAgICAgKiDQodC40LPQvdCw0Lsg0YHQvtCx0YvRgtC40Y8g0YHQvtCx0YvRgtC40Y8g0YHQvNC10L3RiyDQv9Cw0YDQvtC70Y8uXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IHN1Y2Nlc3NSZXNldFBhc3N3b3JkID0gdGhpcy5yZXF1ZXN0JC5waXBlKFxuICAgICAgICBmaWx0ZXIodHVpSXNQcmVzZW50KSxcbiAgICAgICAgZmlsdGVyKCh7IHN1Y2Nlc3MgfSkgPT4gc3VjY2VzcylcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY1Jlc2V0VXNlclBhc3N3b3JkQ29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB1c2VyU2VydmljZSDQodC10YDQstC40YEg0LTQsNC90L3Ri9GFINC+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB1c2VyU2VydmljZTogU2NVc2VyU2VydmljZSkge31cbn1cbiIsIjxmb3JtXG4gICAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgICAobmdTdWJtaXQpPVwib25TdWJtaXQubmV4dCgpXCJcbiAgICBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTQgcC0xIGxnOmZsZXgtcm93XCJcbj5cbiAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBpdGVtcy1zdGFydCBnYXAtMiBsZzpncm93IGxnOmdyaWQtY29scy0zIGxnOmdyaWQtcm93cy0xIGxnOmdhcC00XCI+XG4gICAgICAgIDxsYWJlbCB0dWlMYWJlbFxuICAgICAgICAgICAgPtCh0YLQsNGA0YvQuSDQv9Cw0YDQvtC70YxcbiAgICAgICAgICAgIDx0dWktaW5wdXQtcGFzc3dvcmQgZm9ybUNvbnRyb2xOYW1lPVwiY3VycmVudFBhc3N3b3JkXCI+XG4gICAgICAgICAgICAgICAg0KHRgtCw0YDRi9C5INC/0LDRgNC+0LvRjFxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICB0dWlUZXh0ZmllbGRMZWdhY3lcbiAgICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwibmV3LXBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC90dWktaW5wdXQtcGFzc3dvcmQ+XG4gICAgICAgICAgICA8dHVpLWVycm9yXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY3VycmVudFBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICBbZXJyb3JdPVwiW10gfCB0dWlGaWVsZEVycm9yIHwgYXN5bmNcIlxuICAgICAgICAgICAgPjwvdHVpLWVycm9yPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8bGFiZWwgdHVpTGFiZWxcbiAgICAgICAgICAgID7Qn9GA0LjQtNGD0LzQsNC50YLQtSDQvdC+0LLRi9C5INC/0LDRgNC+0LvRjFxuICAgICAgICAgICAgPHR1aS1pbnB1dC1wYXNzd29yZFxuICAgICAgICAgICAgICAgIFtwc2V1ZG9JbnZhbGlkXT1cImZvcm0uaGFzRXJyb3IoJ3Bhc3N3b3JkTm90RXF1aXZhbGVudCcpXCJcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAg0J/RgNC40LTRg9C80LDQudGC0LUg0L3QvtCy0YvQuSDQv9Cw0YDQvtC70YxcbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdHVpVGV4dGZpZWxkTGVnYWN5XG4gICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm5ldy1wYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvdHVpLWlucHV0LXBhc3N3b3JkPlxuICAgICAgICAgICAgPHR1aS1lcnJvclxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICBbZXJyb3JdPVwiW10gfCB0dWlGaWVsZEVycm9yIHwgYXN5bmNcIlxuICAgICAgICAgICAgPjwvdHVpLWVycm9yPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8bGFiZWwgdHVpTGFiZWxcbiAgICAgICAgICAgID7Qn9C+0LLRgtC+0YDQuNGC0LUg0L3QvtCy0YvQuSDQv9Cw0YDQvtC70YxcbiAgICAgICAgICAgIDx0dWktaW5wdXQtcGFzc3dvcmRcbiAgICAgICAgICAgICAgICBbcHNldWRvSW52YWxpZF09XCJmb3JtLmhhc0Vycm9yKCdwYXNzd29yZE5vdEVxdWl2YWxlbnQnKVwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicGFzc3dvcmRDb25maXJtXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICDQn9C+0LLRgtC+0YDQuNGC0LUg0L3QvtCy0YvQuSDQv9Cw0YDQvtC70YxcbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdHVpVGV4dGZpZWxkTGVnYWN5XG4gICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm5ldy1wYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvdHVpLWlucHV0LXBhc3N3b3JkPlxuICAgICAgICAgICAgPHR1aS1lcnJvclxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBhc3N3b3JkQ29uZmlybVwiXG4gICAgICAgICAgICAgICAgW2Vycm9yXT1cIltdIHwgdHVpRmllbGRFcnJvciB8IGFzeW5jXCJcbiAgICAgICAgICAgID48L3R1aS1lcnJvcj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPHR1aS1lcnJvclxuICAgICAgICAgICAgKm5nSWY9XCJmb3JtLmludmFsaWRcIlxuICAgICAgICAgICAgY2xhc3M9XCJsZzohaGlkZGVuXCJcbiAgICAgICAgICAgIFtlcnJvcl09XCJbXSB8IHR1aUZpZWxkRXJyb3IgfCBhc3luY1wiXG4gICAgICAgID48L3R1aS1lcnJvcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBqdXN0aWZ5LWNlbnRlciBsZzptdC01IGxnOmgtMTFcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKnR1aUxldD1cIiEhKGxvYWRpbmckIHwgYXN5bmMpIGFzIGxvYWRpbmdcIlxuICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZCB8fCBsb2FkaW5nXCJcbiAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkuc2F2ZVwiXG4gICAgICAgICAgICBjbGFzcz1cImZvbnQtbWVkaXVtXCJcbiAgICAgICAgPlxuICAgICAgICAgICAg0KHQvtGF0YDQsNC90LjRgtGMXG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9mb3JtPlxuPHR1aS1lcnJvclxuICAgIGNsYXNzPVwiIWhpZGRlbiBsZzohYmxvY2tcIlxuICAgIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gICAgW2Vycm9yXT1cIltdIHwgdHVpRmllbGRFcnJvciB8IGFzeW5jXCJcbj48L3R1aS1lcnJvcj5cbiJdfQ==
@@ -1,89 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
- import { TuiLet } from '@taiga-ui/cdk';
5
- import { TuiButton, TuiDataList, TuiError, TuiLabel, TuiLink, TuiLoader } from '@taiga-ui/core';
6
- import { TuiButtonLoading, TuiCheckbox, TuiFieldErrorPipe } from '@taiga-ui/kit';
7
- import { TuiInputModule, TuiInputPasswordModule, TuiInputPhoneModule, TuiSelectModule, TuiTextfieldControllerModule } from '@taiga-ui/legacy';
8
- import { ScTerminalLinkDirective } from '../directives';
9
- import { ScLinks } from '../directives/links/sc-links';
10
- import { ScFormFieldsModule } from '../form-fields/form-fields.module';
11
- import { ScVerificationModule } from '../verification';
12
- import { ScResetUserPasswordComponent } from './reset-user-password/sc-reset-user-password.component';
13
- import { ScUpdateUserInfoDialogComponent } from './update-user-info-dialog/sc-update-user-info-dialog.component';
14
- import { ScUserManagersComponent } from './user-managers/sc-user-managers.component';
15
- import { ScUserPhoneApproveDialogComponent } from './user-phone-approve-dialog/sc-user-phone-approve-dialog.component';
16
- import * as i0 from "@angular/core";
17
- import * as i1 from "@taiga-ui/core";
18
- import * as i2 from "../directives/links/sc-tel-link.directive";
19
- import * as i3 from "../directives/links/sc-email-link.directive";
20
- import * as i4 from "../pipes/sc-phone-format";
21
- /**
22
- * Модуль компонентов пользователя.
23
- */
24
- export class ScUserModule {
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScUserModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
26
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ScUserModule, declarations: [ScResetUserPasswordComponent, ScUpdateUserInfoDialogComponent, ScUserPhoneApproveDialogComponent, ScUserManagersComponent], imports: [CommonModule,
27
- FormsModule,
28
- ReactiveFormsModule,
29
- TuiFieldErrorPipe,
30
- TuiInputPasswordModule,
31
- TuiButton,
32
- TuiError,
33
- TuiLabel,
34
- TuiTextfieldControllerModule,
35
- TuiLet,
36
- ScVerificationModule,
37
- ScFormFieldsModule,
38
- TuiLoader,
39
- TuiInputModule,
40
- TuiInputPhoneModule,
41
- TuiCheckbox, i1.TuiDataListComponent, i1.TuiDataListDirective, i1.TuiOption, i1.TuiOptionNew, i1.TuiOptionWithValue, i1.TuiOptGroup, TuiSelectModule,
42
- TuiLink,
43
- ScTerminalLinkDirective, i2.ScTelLinkDirective, i3.ScEmailLinkDirective, i4.ScPhoneFormatPipe, TuiButtonLoading], exports: [ScResetUserPasswordComponent, ScUpdateUserInfoDialogComponent, ScUserPhoneApproveDialogComponent, ScUserManagersComponent] }); }
44
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScUserModule, imports: [CommonModule,
45
- FormsModule,
46
- ReactiveFormsModule,
47
- TuiInputPasswordModule,
48
- TuiError,
49
- TuiTextfieldControllerModule,
50
- ScVerificationModule,
51
- ScFormFieldsModule,
52
- TuiLoader,
53
- TuiInputModule,
54
- TuiInputPhoneModule,
55
- TuiCheckbox, i1.TuiDataListComponent, i1.TuiOption, TuiSelectModule,
56
- TuiButtonLoading] }); }
57
- }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScUserModule, decorators: [{
59
- type: NgModule,
60
- args: [{
61
- declarations: [ScResetUserPasswordComponent, ScUpdateUserInfoDialogComponent, ScUserPhoneApproveDialogComponent, ScUserManagersComponent],
62
- imports: [
63
- CommonModule,
64
- FormsModule,
65
- ReactiveFormsModule,
66
- TuiFieldErrorPipe,
67
- TuiInputPasswordModule,
68
- TuiButton,
69
- TuiError,
70
- TuiLabel,
71
- TuiTextfieldControllerModule,
72
- TuiLet,
73
- ScVerificationModule,
74
- ScFormFieldsModule,
75
- TuiLoader,
76
- TuiInputModule,
77
- TuiInputPhoneModule,
78
- TuiCheckbox,
79
- ...TuiDataList,
80
- TuiSelectModule,
81
- TuiLink,
82
- ScTerminalLinkDirective,
83
- ...ScLinks,
84
- TuiButtonLoading,
85
- ],
86
- exports: [ScResetUserPasswordComponent, ScUpdateUserInfoDialogComponent, ScUserPhoneApproveDialogComponent, ScUserManagersComponent],
87
- }]
88
- }] });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdXNlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvdXNlci9zYy11c2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsc0JBQXNCLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFOUksT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUN0RyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUNqSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQzs7Ozs7O0FBRXZIOztHQUVHO0FBNkJILE1BQU0sT0FBTyxZQUFZOytHQUFaLFlBQVk7Z0hBQVosWUFBWSxpQkEzQk4sNEJBQTRCLEVBQUUsK0JBQStCLEVBQUUsaUNBQWlDLEVBQUUsdUJBQXVCLGFBRXBJLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixzQkFBc0I7WUFDdEIsU0FBUztZQUNULFFBQVE7WUFDUixRQUFRO1lBQ1IsNEJBQTRCO1lBQzVCLE1BQU07WUFDTixvQkFBb0I7WUFDcEIsa0JBQWtCO1lBQ2xCLFNBQVM7WUFDVCxjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLFdBQVcsMEhBRVgsZUFBZTtZQUNmLE9BQU87WUFDUCx1QkFBdUIsd0VBRXZCLGdCQUFnQixhQUVWLDRCQUE0QixFQUFFLCtCQUErQixFQUFFLGlDQUFpQyxFQUFFLHVCQUF1QjtnSEFFMUgsWUFBWSxZQXpCakIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFFbkIsc0JBQXNCO1lBRXRCLFFBQVE7WUFFUiw0QkFBNEI7WUFFNUIsb0JBQW9CO1lBQ3BCLGtCQUFrQjtZQUNsQixTQUFTO1lBQ1QsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixXQUFXLHlDQUVYLGVBQWU7WUFJZixnQkFBZ0I7OzRGQUlYLFlBQVk7a0JBNUJ4QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLDRCQUE0QixFQUFFLCtCQUErQixFQUFFLGlDQUFpQyxFQUFFLHVCQUF1QixDQUFDO29CQUN6SSxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQixzQkFBc0I7d0JBQ3RCLFNBQVM7d0JBQ1QsUUFBUTt3QkFDUixRQUFRO3dCQUNSLDRCQUE0Qjt3QkFDNUIsTUFBTTt3QkFDTixvQkFBb0I7d0JBQ3BCLGtCQUFrQjt3QkFDbEIsU0FBUzt3QkFDVCxjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxHQUFHLFdBQVc7d0JBQ2QsZUFBZTt3QkFDZixPQUFPO3dCQUNQLHVCQUF1Qjt3QkFDdkIsR0FBRyxPQUFPO3dCQUNWLGdCQUFnQjtxQkFDbkI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsNEJBQTRCLEVBQUUsK0JBQStCLEVBQUUsaUNBQWlDLEVBQUUsdUJBQXVCLENBQUM7aUJBQ3ZJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFR1aUxldCB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgVHVpQnV0dG9uLCBUdWlEYXRhTGlzdCwgVHVpRXJyb3IsIFR1aUxhYmVsLCBUdWlMaW5rLCBUdWlMb2FkZXIgfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBUdWlCdXR0b25Mb2FkaW5nLCBUdWlDaGVja2JveCwgVHVpRmllbGRFcnJvclBpcGUgfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcbmltcG9ydCB7IFR1aUlucHV0TW9kdWxlLCBUdWlJbnB1dFBhc3N3b3JkTW9kdWxlLCBUdWlJbnB1dFBob25lTW9kdWxlLCBUdWlTZWxlY3RNb2R1bGUsIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUgfSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5JztcblxuaW1wb3J0IHsgU2NUZXJtaW5hbExpbmtEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFNjTGlua3MgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2xpbmtzL3NjLWxpbmtzJztcbmltcG9ydCB7IFNjRm9ybUZpZWxkc01vZHVsZSB9IGZyb20gJy4uL2Zvcm0tZmllbGRzL2Zvcm0tZmllbGRzLm1vZHVsZSc7XG5pbXBvcnQgeyBTY1ZlcmlmaWNhdGlvbk1vZHVsZSB9IGZyb20gJy4uL3ZlcmlmaWNhdGlvbic7XG5pbXBvcnQgeyBTY1Jlc2V0VXNlclBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9yZXNldC11c2VyLXBhc3N3b3JkL3NjLXJlc2V0LXVzZXItcGFzc3dvcmQuY29tcG9uZW50JztcbmltcG9ydCB7IFNjVXBkYXRlVXNlckluZm9EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL3VwZGF0ZS11c2VyLWluZm8tZGlhbG9nL3NjLXVwZGF0ZS11c2VyLWluZm8tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY1VzZXJNYW5hZ2Vyc0NvbXBvbmVudCB9IGZyb20gJy4vdXNlci1tYW5hZ2Vycy9zYy11c2VyLW1hbmFnZXJzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY1VzZXJQaG9uZUFwcHJvdmVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL3VzZXItcGhvbmUtYXBwcm92ZS1kaWFsb2cvc2MtdXNlci1waG9uZS1hcHByb3ZlLWRpYWxvZy5jb21wb25lbnQnO1xuXG4vKipcbiAqINCc0L7QtNGD0LvRjCDQutC+0LzQv9C+0L3QtdC90YLQvtCyINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtTY1Jlc2V0VXNlclBhc3N3b3JkQ29tcG9uZW50LCBTY1VwZGF0ZVVzZXJJbmZvRGlhbG9nQ29tcG9uZW50LCBTY1VzZXJQaG9uZUFwcHJvdmVEaWFsb2dDb21wb25lbnQsIFNjVXNlck1hbmFnZXJzQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFR1aUZpZWxkRXJyb3JQaXBlLFxuICAgICAgICBUdWlJbnB1dFBhc3N3b3JkTW9kdWxlLFxuICAgICAgICBUdWlCdXR0b24sXG4gICAgICAgIFR1aUVycm9yLFxuICAgICAgICBUdWlMYWJlbCxcbiAgICAgICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSxcbiAgICAgICAgVHVpTGV0LFxuICAgICAgICBTY1ZlcmlmaWNhdGlvbk1vZHVsZSxcbiAgICAgICAgU2NGb3JtRmllbGRzTW9kdWxlLFxuICAgICAgICBUdWlMb2FkZXIsXG4gICAgICAgIFR1aUlucHV0TW9kdWxlLFxuICAgICAgICBUdWlJbnB1dFBob25lTW9kdWxlLFxuICAgICAgICBUdWlDaGVja2JveCxcbiAgICAgICAgLi4uVHVpRGF0YUxpc3QsXG4gICAgICAgIFR1aVNlbGVjdE1vZHVsZSxcbiAgICAgICAgVHVpTGluayxcbiAgICAgICAgU2NUZXJtaW5hbExpbmtEaXJlY3RpdmUsXG4gICAgICAgIC4uLlNjTGlua3MsXG4gICAgICAgIFR1aUJ1dHRvbkxvYWRpbmcsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbU2NSZXNldFVzZXJQYXNzd29yZENvbXBvbmVudCwgU2NVcGRhdGVVc2VySW5mb0RpYWxvZ0NvbXBvbmVudCwgU2NVc2VyUGhvbmVBcHByb3ZlRGlhbG9nQ29tcG9uZW50LCBTY1VzZXJNYW5hZ2Vyc0NvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNjVXNlck1vZHVsZSB7fVxuIl19
@@ -1,122 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Optional, Output } from '@angular/core';
2
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
- import { FormControl, FormGroup, Validators } from '@angular/forms';
4
- import { ScISuggestionType, ScUserMetrikaGoalsEnum } from '@snabcentr/client-core';
5
- import { tuiIsFalsy } from '@taiga-ui/cdk';
6
- import { POLYMORPHEUS_CONTEXT } from '@taiga-ui/polymorpheus';
7
- import { catchError, filter, map, of, skip, startWith, Subject, switchMap, tap } from 'rxjs';
8
- import { SC_USER_INFO } from '../../providers';
9
- import { phoneValidator } from '../../validators/sc-phone-validator';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@snabcentr/client-core";
12
- import * as i2 from "@angular/common";
13
- import * as i3 from "@angular/forms";
14
- import * as i4 from "@taiga-ui/core";
15
- import * as i5 from "@taiga-ui/cdk";
16
- import * as i6 from "../../verification/verification-phone-check-form/sc-verification-phone-check-form.component";
17
- import * as i7 from "../../form-fields/addresses-selection-field/sc-addresses-selection-field.component";
18
- import * as i8 from "../../form-fields/suggestion-field/sc-suggestion-field.component";
19
- import * as i9 from "@taiga-ui/legacy";
20
- import * as i10 from "@taiga-ui/kit";
21
- import * as i11 from "@taiga-ui/core/components/data-list";
22
- import * as i12 from "rxjs";
23
- /**
24
- * Диалоговое окно изменения данных пользователя.
25
- */
26
- export class ScUpdateUserInfoDialogComponent {
27
- /**
28
- * Инициализирует экземпляр класса {@link ScUpdateUserInfoDialogComponent}.
29
- *
30
- * @param user$ Поток данных о текущем пользователе.
31
- * @param userService Сервис данных о пользователе.
32
- * @param userMetrikaService Сервис для сбора метрик о действиях пользователей.
33
- * @param context Контекст диалогового окна, в котором открыт компонент.
34
- */
35
- constructor(user$, userService, userMetrikaService, context) {
36
- this.user$ = user$;
37
- this.userService = userService;
38
- this.userMetrikaService = userMetrikaService;
39
- this.context = context;
40
- /**
41
- * Перечисление типов подсказок.
42
- */
43
- this.suggestionType = ScISuggestionType;
44
- /**
45
- * Группа полей ввода формы общих данных пользователя для их редактирования.
46
- */
47
- this.form = new FormGroup({
48
- name: new FormControl(null, [Validators.required, Validators.minLength(3)]),
49
- email: new FormControl(null, [Validators.required, Validators.email]),
50
- phone: new FormControl(null, [Validators.required, phoneValidator()]),
51
- verificationCode: new FormControl(null, [Validators.required, Validators.minLength(6)]),
52
- cityId: new FormControl(null, Validators.required),
53
- getNews: new FormControl(false),
54
- });
55
- /**
56
- * Сигнал нажатия на кнопку "Отмена".
57
- */
58
- this.cancelButtonClick = new EventEmitter();
59
- /**
60
- * Сигнал события успешного обновления данных пользователя.
61
- */
62
- this.successUpdateDate = this.user$.pipe(skip(1));
63
- /**
64
- * {@link Subject} события отправки формы.
65
- */
66
- this.onSubmit = new Subject();
67
- /**
68
- * {@link Observable} запроса обновления данных пользователя.
69
- */
70
- this.request$ = this.onSubmit.pipe(filter(() => this.form.valid), map(() => this.form.value), switchMap((value) => this.userService.updateUserInfo$(value).pipe(switchMap(() => this.userService.updateUserChange$()), tap((user) => this.context?.completeWith(user)), catchError((error) => {
71
- const errorResponse = error.error;
72
- for (const key in errorResponse.errors) {
73
- // eslint-disable-next-line security/detect-object-injection
74
- this.form.get(key)?.setErrors({ serverResponse: errorResponse.errors[key] });
75
- }
76
- if (!errorResponse.errors && errorResponse.message) {
77
- this.form.setErrors({ serverResponse: [errorResponse.message] });
78
- }
79
- return of({});
80
- }), startWith(null))));
81
- /**
82
- * {@link Observable} изменения состояния загрузки данных аутентификации по email.
83
- */
84
- this.loading$ = this.request$.pipe(map(tuiIsFalsy));
85
- this.user$
86
- .pipe(filter((user) => !user.isGuest), takeUntilDestroyed())
87
- .subscribe((user) => {
88
- this.form.patchValue({
89
- name: user.name,
90
- email: user.contacts.email.value,
91
- phone: user.contacts.phone.value,
92
- cityId: user.city,
93
- getNews: user.getNews,
94
- }, { emitEvent: false });
95
- });
96
- }
97
- /** @inheritdoc */
98
- ngAfterViewInit() {
99
- this.userMetrikaService.emitUserMetrikaEvent({
100
- target: ScUserMetrikaGoalsEnum.userProfileEditShow,
101
- });
102
- }
103
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScUpdateUserInfoDialogComponent, deps: [{ token: SC_USER_INFO }, { token: i1.ScUserService }, { token: i1.ScUserMetrikaService }, { token: POLYMORPHEUS_CONTEXT, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
104
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ScUpdateUserInfoDialogComponent, selector: "sc-update-user-info-dialog", outputs: { cancelButtonClick: "cancelButtonClick", successUpdateDate: "successUpdateDate" }, ngImport: i0, template: "<form\n [formGroup]=\"form\"\n *ngIf=\"user$ | async as user\"\n (ngSubmit)=\"onSubmit.next()\"\n class=\"flex flex-col gap-4\"\n>\n <label tuiLabel\n >{{ user.isOrg ? '\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u043B\u0438 \u0418\u041F' : '\u0424.\u0418.\u041E.' }}\n <tui-input formControlName=\"name\">\n {{ user.isOrg ? '\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u043B\u0438 \u0418\u041F' : '\u0424.\u0418.\u041E.' }}\n <ng-container *ngIf=\"user.isOrg\">\n <sc-suggestion-field\n *tuiDataList\n [type]=\"suggestionType.organization\"\n ></sc-suggestion-field>\n </ng-container>\n </tui-input>\n <tui-error\n formControlName=\"name\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <sc-verification-phone-check-form\n *tuiLet=\"user.contacts.phone.value === form.value.phone as phoneIsChange\"\n [showCodeFields]=\"!phoneIsChange\"\n [shouldBeBusy]=\"phoneIsChange\"\n class=\"w-full\"\n ></sc-verification-phone-check-form>\n <label\n tuiLabel\n class=\"w-full\"\n >\u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <tui-input formControlName=\"email\">\n \u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <sc-suggestion-field\n *tuiDataList\n [type]=\"suggestionType.email\"\n ></sc-suggestion-field>\n </tui-input>\n <tui-error\n formControlName=\"email\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <sc-addresses-selection-field></sc-addresses-selection-field>\n <label tuiLabel>\n <input\n tuiCheckbox\n type=\"checkbox\"\n formControlName=\"getNews\"\n class=\"w-full\"\n />\n \u042F \u0445\u043E\u0447\u0443 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u0440\u0430\u0441\u0441\u044B\u043B\u043A\u0443 \u0421\u043D\u0430\u0431\u0446\u0435\u043D\u0442\u0440 \u043E \u0441\u043A\u0438\u0434\u043A\u0430\u0445 \u0438 \u043D\u043E\u0432\u043E\u0441\u0442\u044F\u0445 \u043F\u043E \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u0435.\n </label>\n <div class=\"flex justify-center gap-4\">\n <button\n tuiButton\n (click)=\"context ? context.$implicit.complete() : cancelButtonClick.emit()\"\n type=\"button\"\n iconStart=\"@tui.x\"\n appearance=\"secondary\"\n >\n \u041E\u0442\u043C\u0435\u043D\u0430\n </button>\n <button\n tuiButton\n [disabled]=\"form.invalid\"\n [loading]=\"!!(loading$ | async)\"\n type=\"submit\"\n iconStart=\"@tui.save\"\n >\n \u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C\n </button>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i4.TuiError, selector: "tui-error", inputs: ["error"] }, { kind: "directive", type: i4.TuiLabel, selector: "label[tuiLabel]" }, { kind: "directive", type: i5.TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "component", type: i6.ScVerificationPhoneCheckFormComponent, selector: "sc-verification-phone-check-form", inputs: ["showCodeFields", "readOnly", "pseudoInvalid", "required", "subtitle", "shouldBeBusy", "shouldBeConfirmed", "haveCode"], outputs: ["haveCodeChange", "isBusyChange", "isConfirmedChange"] }, { kind: "component", type: i7.ScAddressesSelectionFieldComponent, selector: "sc-addresses-selection-field", inputs: ["canSelectCountry"], outputs: ["canSelectCountryChange"] }, { kind: "component", type: i8.ScSuggestionFieldComponent, selector: "sc-suggestion-field", inputs: ["type"], outputs: ["selectedClick"] }, { kind: "component", type: i9.TuiInputComponent, selector: "tui-input" }, { kind: "directive", type: i9.TuiInputDirective, selector: "tui-input" }, { kind: "component", type: i10.TuiCheckbox, selector: "input[type=\"checkbox\"][tuiCheckbox]", inputs: ["size"] }, { kind: "directive", type: i11.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "component", type: i10.TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.TuiFieldErrorPipe, name: "tuiFieldError" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
105
- }
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScUpdateUserInfoDialogComponent, decorators: [{
107
- type: Component,
108
- args: [{ selector: 'sc-update-user-info-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\n [formGroup]=\"form\"\n *ngIf=\"user$ | async as user\"\n (ngSubmit)=\"onSubmit.next()\"\n class=\"flex flex-col gap-4\"\n>\n <label tuiLabel\n >{{ user.isOrg ? '\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u043B\u0438 \u0418\u041F' : '\u0424.\u0418.\u041E.' }}\n <tui-input formControlName=\"name\">\n {{ user.isOrg ? '\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u043B\u0438 \u0418\u041F' : '\u0424.\u0418.\u041E.' }}\n <ng-container *ngIf=\"user.isOrg\">\n <sc-suggestion-field\n *tuiDataList\n [type]=\"suggestionType.organization\"\n ></sc-suggestion-field>\n </ng-container>\n </tui-input>\n <tui-error\n formControlName=\"name\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <sc-verification-phone-check-form\n *tuiLet=\"user.contacts.phone.value === form.value.phone as phoneIsChange\"\n [showCodeFields]=\"!phoneIsChange\"\n [shouldBeBusy]=\"phoneIsChange\"\n class=\"w-full\"\n ></sc-verification-phone-check-form>\n <label\n tuiLabel\n class=\"w-full\"\n >\u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <tui-input formControlName=\"email\">\n \u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <sc-suggestion-field\n *tuiDataList\n [type]=\"suggestionType.email\"\n ></sc-suggestion-field>\n </tui-input>\n <tui-error\n formControlName=\"email\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <sc-addresses-selection-field></sc-addresses-selection-field>\n <label tuiLabel>\n <input\n tuiCheckbox\n type=\"checkbox\"\n formControlName=\"getNews\"\n class=\"w-full\"\n />\n \u042F \u0445\u043E\u0447\u0443 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u0440\u0430\u0441\u0441\u044B\u043B\u043A\u0443 \u0421\u043D\u0430\u0431\u0446\u0435\u043D\u0442\u0440 \u043E \u0441\u043A\u0438\u0434\u043A\u0430\u0445 \u0438 \u043D\u043E\u0432\u043E\u0441\u0442\u044F\u0445 \u043F\u043E \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u0435.\n </label>\n <div class=\"flex justify-center gap-4\">\n <button\n tuiButton\n (click)=\"context ? context.$implicit.complete() : cancelButtonClick.emit()\"\n type=\"button\"\n iconStart=\"@tui.x\"\n appearance=\"secondary\"\n >\n \u041E\u0442\u043C\u0435\u043D\u0430\n </button>\n <button\n tuiButton\n [disabled]=\"form.invalid\"\n [loading]=\"!!(loading$ | async)\"\n type=\"submit\"\n iconStart=\"@tui.save\"\n >\n \u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C\n </button>\n </div>\n</form>\n" }]
109
- }], ctorParameters: () => [{ type: i12.Observable, decorators: [{
110
- type: Inject,
111
- args: [SC_USER_INFO]
112
- }] }, { type: i1.ScUserService }, { type: i1.ScUserMetrikaService }, { type: undefined, decorators: [{
113
- type: Optional
114
- }, {
115
- type: Inject,
116
- args: [POLYMORPHEUS_CONTEXT]
117
- }] }], propDecorators: { cancelButtonClick: [{
118
- type: Output
119
- }], successUpdateDate: [{
120
- type: Output
121
- }] } });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdXBkYXRlLXVzZXItaW5mby1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3VzZXIvdXBkYXRlLXVzZXItaW5mby1kaWFsb2cvc2MtdXBkYXRlLXVzZXItaW5mby1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3VzZXIvdXBkYXRlLXVzZXItaW5mby1kaWFsb2cvc2MtdXBkYXRlLXVzZXItaW5mby1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFpQix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBeUIsaUJBQWlCLEVBQStCLHNCQUFzQixFQUF1QyxNQUFNLHdCQUF3QixDQUFDO0FBQzVLLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3pHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBRXJFOztH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RUE7OzRGRG5EYSwrQkFBK0I7a0JBTDNDLFNBQVM7K0JBQ0ksNEJBQTRCLG1CQUVyQix1QkFBdUIsQ0FBQyxNQUFNOzswQkErRTFDLE1BQU07MkJBQUMsWUFBWTs7MEJBR25CLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsb0JBQW9CO3lDQTNEaEIsaUJBQWlCO3NCQURoQyxNQUFNO2dCQU9TLGlCQUFpQjtzQkFEaEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGd1YXJkLWZvci1pbixAdHlwZXNjcmlwdC1lc2xpbnQvdW5ib3VuZC1tZXRob2Qscnhqcy9uby1pbXBsaWNpdC1hbnktY2F0Y2gsbm8tcmVzdHJpY3RlZC1zeW50YXggKi9cblxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgT3B0aW9uYWwsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNjSVBob25lT25EYXRhQXBwcm92ZSwgU2NJU3VnZ2VzdGlvblR5cGUsIFNjSVVzZXJPbkRhdGFVcGRhdGUsIFNjVXNlciwgU2NVc2VyTWV0cmlrYUdvYWxzRW51bSwgU2NVc2VyTWV0cmlrYVNlcnZpY2UsIFNjVXNlclNlcnZpY2UgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IHR1aUlzRmFsc3kgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IFR1aURpYWxvZ0NvbnRleHQgfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBQT0xZTU9SUEhFVVNfQ09OVEVYVCB9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIG9mLCBza2lwLCBzdGFydFdpdGgsIFN1YmplY3QsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFwaUVycm9yUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9hdXRoJztcbmltcG9ydCB7IFNDX1VTRVJfSU5GTyB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycyc7XG5pbXBvcnQgeyBwaG9uZVZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvc2MtcGhvbmUtdmFsaWRhdG9yJztcblxuLyoqXG4gKiDQlNC40LDQu9C+0LPQvtCy0L7QtSDQvtC60L3QviDQuNC30LzQtdC90LXQvdC40Y8g0LTQsNC90L3Ri9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy11cGRhdGUtdXNlci1pbmZvLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLXVwZGF0ZS11c2VyLWluZm8tZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NVcGRhdGVVc2VySW5mb0RpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIC8qKlxuICAgICAqINCf0LXRgNC10YfQuNGB0LvQtdC90LjQtSDRgtC40L/QvtCyINC/0L7QtNGB0LrQsNC30L7Qui5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc3VnZ2VzdGlvblR5cGU6IHR5cGVvZiBTY0lTdWdnZXN0aW9uVHlwZSA9IFNjSVN1Z2dlc3Rpb25UeXBlO1xuXG4gICAgLyoqXG4gICAgICog0JPRgNGD0L/Qv9CwINC/0L7Qu9C10Lkg0LLQstC+0LTQsCDRhNC+0YDQvNGLINC+0LHRidC40YUg0LTQsNC90L3Ri9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQtNC70Y8g0LjRhSDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNGPLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBmb3JtID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoMyldKSxcbiAgICAgICAgZW1haWw6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5lbWFpbF0pLFxuICAgICAgICBwaG9uZTogbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBwaG9uZVZhbGlkYXRvcigpXSksXG4gICAgICAgIHZlcmlmaWNhdGlvbkNvZGU6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoNildKSxcbiAgICAgICAgY2l0eUlkOiBuZXcgRm9ybUNvbnRyb2w8bnVtYmVyIHwgbnVsbD4obnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIGdldE5ld3M6IG5ldyBGb3JtQ29udHJvbDxib29sZWFuPihmYWxzZSksXG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiDQodC40LPQvdCw0Lsg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMgXCLQntGC0LzQtdC90LBcIi5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgY2FuY2VsQnV0dG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0LjQs9C90LDQuyDRgdC+0LHRi9GC0LjRjyDRg9GB0L/QtdGI0L3QvtCz0L4g0L7QsdC90L7QstC70LXQvdC40Y8g0LTQsNC90L3Ri9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgc3VjY2Vzc1VwZGF0ZURhdGU6IE9ic2VydmFibGU8U2NVc2VyPiA9IHRoaXMudXNlciQucGlwZShza2lwKDEpKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBTdWJqZWN0fSDRgdC+0LHRi9GC0LjRjyDQvtGC0L/RgNCw0LLQutC4INGE0L7RgNC80YsuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IG9uU3VibWl0OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQvtCx0L3QvtCy0LvQtdC90LjRjyDQtNCw0L3QvdGL0YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVxdWVzdCQgPSB0aGlzLm9uU3VibWl0LnBpcGUoXG4gICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLmZvcm0udmFsaWQpLFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy5mb3JtLnZhbHVlIGFzIFNjSVVzZXJPbkRhdGFVcGRhdGUgfCBTY0lQaG9uZU9uRGF0YUFwcHJvdmUpLFxuICAgICAgICBzd2l0Y2hNYXAoKHZhbHVlKSA9PlxuICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS51cGRhdGVVc2VySW5mbyQodmFsdWUpLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMudXNlclNlcnZpY2UudXBkYXRlVXNlckNoYW5nZSQoKSksXG4gICAgICAgICAgICAgICAgdGFwKCh1c2VyKSA9PiB0aGlzLmNvbnRleHQ/LmNvbXBsZXRlV2l0aCh1c2VyKSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yUmVzcG9uc2UgPSBlcnJvci5lcnJvciBhcyBBcGlFcnJvclJlc3BvbnNlO1xuXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGVycm9yUmVzcG9uc2UuZXJyb3JzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VjdXJpdHkvZGV0ZWN0LW9iamVjdC1pbmplY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5nZXQoa2V5KT8uc2V0RXJyb3JzKHsgc2VydmVyUmVzcG9uc2U6IGVycm9yUmVzcG9uc2UuZXJyb3JzW2tleV0gfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoIWVycm9yUmVzcG9uc2UuZXJyb3JzICYmIGVycm9yUmVzcG9uc2UubWVzc2FnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnNldEVycm9ycyh7IHNlcnZlclJlc3BvbnNlOiBbZXJyb3JSZXNwb25zZS5tZXNzYWdlXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2Yoe30gYXMgU2NVc2VyKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgobnVsbClcbiAgICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGB0L7RgdGC0L7Rj9C90LjRjyDQt9Cw0LPRgNGD0LfQutC4INC00LDQvdC90YvRhSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L4gZW1haWwuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5yZXF1ZXN0JC5waXBlKG1hcCh0dWlJc0ZhbHN5KSk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjVXBkYXRlVXNlckluZm9EaWFsb2dDb21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHVzZXIkINCf0L7RgtC+0Log0LTQsNC90L3Ri9GFINC+INGC0LXQutGD0YnQtdC8INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtS5cbiAgICAgKiBAcGFyYW0gdXNlclNlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LDQvdC90YvRhSDQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70LUuXG4gICAgICogQHBhcmFtIHVzZXJNZXRyaWthU2VydmljZSDQodC10YDQstC40YEg0LTQu9GPINGB0LHQvtGA0LAg0LzQtdGC0YDQuNC6INC+INC00LXQudGB0YLQstC40Y/RhSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuS5cbiAgICAgKiBAcGFyYW0gY29udGV4dCDQmtC+0L3RgtC10LrRgdGCINC00LjQsNC70L7Qs9C+0LLQvtCz0L4g0L7QutC90LAsINCyINC60L7RgtC+0YDQvtC8INC+0YLQutGA0YvRgiDQutC+0LzQv9C+0L3QtdC90YIuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFNDX1VTRVJfSU5GTykgcHVibGljIHJlYWRvbmx5IHVzZXIkOiBPYnNlcnZhYmxlPFNjVXNlcj4sXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlclNlcnZpY2U6IFNjVXNlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlck1ldHJpa2FTZXJ2aWNlOiBTY1VzZXJNZXRyaWthU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChQT0xZTU9SUEhFVVNfQ09OVEVYVClcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IGNvbnRleHQ/OiBUdWlEaWFsb2dDb250ZXh0PFNjVXNlciwgU2NVcGRhdGVVc2VySW5mb0RpYWxvZ0NvbXBvbmVudD5cbiAgICApIHtcbiAgICAgICAgdGhpcy51c2VyJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKCh1c2VyKSA9PiAhdXNlci5pc0d1ZXN0KSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgodXNlcikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiB1c2VyLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBlbWFpbDogdXNlci5jb250YWN0cy5lbWFpbC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBob25lOiB1c2VyLmNvbnRhY3RzLnBob25lLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2l0eUlkOiB1c2VyLmNpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICBnZXROZXdzOiB1c2VyLmdldE5ld3MsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgZW1pdEV2ZW50OiBmYWxzZSB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaW5oZXJpdGRvYyAqL1xuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS51c2VyUHJvZmlsZUVkaXRTaG93LFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8Zm9ybVxuICAgIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gICAgKm5nSWY9XCJ1c2VyJCB8IGFzeW5jIGFzIHVzZXJcIlxuICAgIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdC5uZXh0KClcIlxuICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtNFwiXG4+XG4gICAgPGxhYmVsIHR1aUxhYmVsXG4gICAgICAgID57eyB1c2VyLmlzT3JnID8gJ9Cd0LDQt9Cy0LDQvdC40LUg0L7RgNCz0LDQvdC40LfQsNGG0LjQuCDQuNC70Lgg0JjQnycgOiAn0KQu0Jgu0J4uJyB9fVxuICAgICAgICA8dHVpLWlucHV0IGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIj5cbiAgICAgICAgICAgIHt7IHVzZXIuaXNPcmcgPyAn0J3QsNC30LLQsNC90LjQtSDQvtGA0LPQsNC90LjQt9Cw0YbQuNC4INC40LvQuCDQmNCfJyA6ICfQpC7QmC7Qni4nIH19XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidXNlci5pc09yZ1wiPlxuICAgICAgICAgICAgICAgIDxzYy1zdWdnZXN0aW9uLWZpZWxkXG4gICAgICAgICAgICAgICAgICAgICp0dWlEYXRhTGlzdFxuICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCJzdWdnZXN0aW9uVHlwZS5vcmdhbml6YXRpb25cIlxuICAgICAgICAgICAgICAgID48L3NjLXN1Z2dlc3Rpb24tZmllbGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC90dWktaW5wdXQ+XG4gICAgICAgIDx0dWktZXJyb3JcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIlxuICAgICAgICAgICAgW2Vycm9yXT1cIltdIHwgdHVpRmllbGRFcnJvciB8IGFzeW5jXCJcbiAgICAgICAgPjwvdHVpLWVycm9yPlxuICAgIDwvbGFiZWw+XG4gICAgPHNjLXZlcmlmaWNhdGlvbi1waG9uZS1jaGVjay1mb3JtXG4gICAgICAgICp0dWlMZXQ9XCJ1c2VyLmNvbnRhY3RzLnBob25lLnZhbHVlID09PSBmb3JtLnZhbHVlLnBob25lIGFzIHBob25lSXNDaGFuZ2VcIlxuICAgICAgICBbc2hvd0NvZGVGaWVsZHNdPVwiIXBob25lSXNDaGFuZ2VcIlxuICAgICAgICBbc2hvdWxkQmVCdXN5XT1cInBob25lSXNDaGFuZ2VcIlxuICAgICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgPjwvc2MtdmVyaWZpY2F0aW9uLXBob25lLWNoZWNrLWZvcm0+XG4gICAgPGxhYmVsXG4gICAgICAgIHR1aUxhYmVsXG4gICAgICAgIGNsYXNzPVwidy1mdWxsXCJcbiAgICAgICAgPtCQ0LTRgNC10YEg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLXG4gICAgICAgIDx0dWktaW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIj5cbiAgICAgICAgICAgINCQ0LTRgNC10YEg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLXG4gICAgICAgICAgICA8c2Mtc3VnZ2VzdGlvbi1maWVsZFxuICAgICAgICAgICAgICAgICp0dWlEYXRhTGlzdFxuICAgICAgICAgICAgICAgIFt0eXBlXT1cInN1Z2dlc3Rpb25UeXBlLmVtYWlsXCJcbiAgICAgICAgICAgID48L3NjLXN1Z2dlc3Rpb24tZmllbGQ+XG4gICAgICAgIDwvdHVpLWlucHV0PlxuICAgICAgICA8dHVpLWVycm9yXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbFwiXG4gICAgICAgICAgICBbZXJyb3JdPVwiW10gfCB0dWlGaWVsZEVycm9yIHwgYXN5bmNcIlxuICAgICAgICA+PC90dWktZXJyb3I+XG4gICAgPC9sYWJlbD5cbiAgICA8c2MtYWRkcmVzc2VzLXNlbGVjdGlvbi1maWVsZD48L3NjLWFkZHJlc3Nlcy1zZWxlY3Rpb24tZmllbGQ+XG4gICAgPGxhYmVsIHR1aUxhYmVsPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR1aUNoZWNrYm94XG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZ2V0TmV3c1wiXG4gICAgICAgICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgIC8+XG4gICAgICAgINCvINGF0L7Rh9GDINC/0L7Qu9GD0YfQsNGC0Ywg0YDQsNGB0YHRi9C70LrRgyDQodC90LDQsdGG0LXQvdGC0YAg0L4g0YHQutC40LTQutCw0YUg0Lgg0L3QvtCy0L7RgdGC0Y/RhSDQv9C+INGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLQtS5cbiAgICA8L2xhYmVsPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY2VudGVyIGdhcC00XCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT1cImNvbnRleHQgPyBjb250ZXh0LiRpbXBsaWNpdC5jb21wbGV0ZSgpIDogY2FuY2VsQnV0dG9uQ2xpY2suZW1pdCgpXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS54XCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIlxuICAgICAgICA+XG4gICAgICAgICAgICDQntGC0LzQtdC90LBcbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZFwiXG4gICAgICAgICAgICBbbG9hZGluZ109XCIhIShsb2FkaW5nJCB8IGFzeW5jKVwiXG4gICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkuc2F2ZVwiXG4gICAgICAgID5cbiAgICAgICAgICAgINCh0L7RhdGA0LDQvdC40YLRjFxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZm9ybT5cbiJdfQ==
@@ -1,42 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';
2
- import { map } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@snabcentr/client-core";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@taiga-ui/core";
7
- import * as i4 from "../../directives/terminal-link/sc-terminal-link.directive";
8
- import * as i5 from "../../directives/links/sc-tel-link.directive";
9
- import * as i6 from "../../directives/links/sc-email-link.directive";
10
- import * as i7 from "../../pipes/sc-phone-format";
11
- /**
12
- * Компонент персональных менеджеров пользователя.
13
- */
14
- export class ScUserManagersComponent {
15
- /**
16
- * Инициализирует экземпляр класса {@link ScUserManagersComponent}.
17
- *
18
- * @param userService Сервис данных о пользователе.
19
- */
20
- constructor(userService) {
21
- this.userService = userService;
22
- /**
23
- * Персональные менеджеры пользователя.
24
- */
25
- this.managers$ = this.userService
26
- .getUserChange$()
27
- .pipe(map((user) => user.managers?.sort((a, b) => Number(Boolean(b.isPrimary)) - Number(Boolean(a.isPrimary)))));
28
- /**
29
- * Событие нажатия на кнопку QR кода.
30
- */
31
- this.qrClickEvent = new EventEmitter();
32
- }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScUserManagersComponent, deps: [{ token: i1.ScUserService }], target: i0.ɵɵFactoryTarget.Component }); }
34
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ScUserManagersComponent, selector: "sc-user-managers", outputs: { qrClickEvent: "qrClickEvent" }, ngImport: i0, template: "<p class=\"mb-2 font-extrabold\">\u0412\u0430\u0448\u0438 \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0435 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u044B:</p>\n<ng-container *ngFor=\"let manager of managers$ | async; let last = last\">\n <div class=\"flex justify-between\">\n <div class=\"flex flex-col gap-1 !font-medium text-tui-text-02\">\n {{ manager.name }}\n <a\n tuiLink\n [pseudo]=\"true\"\n scEmailLink\n linkLocation=\"user-managers\"\n href=\"mailto:{{ manager.contacts.email }}\"\n iconStart=\"@tui.mail\"\n >\n {{ manager.contacts.email }}\n </a>\n <a\n tuiLink\n [scTelLink]=\"manager.contacts.phone\"\n [pseudo]=\"true\"\n linkLocation=\"user-managers\"\n href=\"tel:{{ manager.contacts.phone | scPhoneFormat }}\"\n iconStart=\"@tui.phone\"\n >\n {{ manager.contacts.phone | scPhoneFormat }}\n </a>\n </div>\n <button\n tuiIconButton\n size=\"m\"\n appearance=\"secondary\"\n iconStart=\"@tui.scan-qr-code\"\n (click)=\"qrClickEvent.emit(manager)\"\n ></button>\n </div>\n <hr\n *ngIf=\"!last\"\n class=\"my-2 h-px border-0 bg-tui-base-04\"\n />\n</ng-container>\n", styles: ["a[tuiLink][data-mode=onLight]._pseudo{color:var(--tui-text-secondary)}a[tuiLink][data-mode=onLight]._pseudo:hover{color:var(--tui-text-tertiary)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: i3.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: i4.ScTerminalLinkDirective, selector: "a[href]" }, { kind: "directive", type: i5.ScTelLinkDirective, selector: "a[scTelLink]", inputs: ["scTelLink", "linkLocation"] }, { kind: "directive", type: i6.ScEmailLinkDirective, selector: "a[scEmailLink]", inputs: ["linkLocation"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.ScPhoneFormatPipe, name: "scPhoneFormat" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScUserManagersComponent, decorators: [{
37
- type: Component,
38
- args: [{ selector: 'sc-user-managers', changeDetection: ChangeDetectionStrategy.OnPush, template: "<p class=\"mb-2 font-extrabold\">\u0412\u0430\u0448\u0438 \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0435 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u044B:</p>\n<ng-container *ngFor=\"let manager of managers$ | async; let last = last\">\n <div class=\"flex justify-between\">\n <div class=\"flex flex-col gap-1 !font-medium text-tui-text-02\">\n {{ manager.name }}\n <a\n tuiLink\n [pseudo]=\"true\"\n scEmailLink\n linkLocation=\"user-managers\"\n href=\"mailto:{{ manager.contacts.email }}\"\n iconStart=\"@tui.mail\"\n >\n {{ manager.contacts.email }}\n </a>\n <a\n tuiLink\n [scTelLink]=\"manager.contacts.phone\"\n [pseudo]=\"true\"\n linkLocation=\"user-managers\"\n href=\"tel:{{ manager.contacts.phone | scPhoneFormat }}\"\n iconStart=\"@tui.phone\"\n >\n {{ manager.contacts.phone | scPhoneFormat }}\n </a>\n </div>\n <button\n tuiIconButton\n size=\"m\"\n appearance=\"secondary\"\n iconStart=\"@tui.scan-qr-code\"\n (click)=\"qrClickEvent.emit(manager)\"\n ></button>\n </div>\n <hr\n *ngIf=\"!last\"\n class=\"my-2 h-px border-0 bg-tui-base-04\"\n />\n</ng-container>\n", styles: ["a[tuiLink][data-mode=onLight]._pseudo{color:var(--tui-text-secondary)}a[tuiLink][data-mode=onLight]._pseudo:hover{color:var(--tui-text-tertiary)}\n"] }]
39
- }], ctorParameters: () => [{ type: i1.ScUserService }], propDecorators: { qrClickEvent: [{
40
- type: Output
41
- }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdXNlci1tYW5hZ2Vycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvdXNlci91c2VyLW1hbmFnZXJzL3NjLXVzZXItbWFuYWdlcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3VzZXIvdXNlci1tYW5hZ2Vycy9zYy11c2VyLW1hbmFnZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RixPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFFdkM7O0dBRUc7QUFPSCxNQUFNLE9BQU8sdUJBQXVCO0lBY2hDOzs7O09BSUc7SUFDSCxZQUFvQyxXQUEwQjtRQUExQixnQkFBVyxHQUFYLFdBQVcsQ0FBZTtRQWxCOUQ7O1dBRUc7UUFDYSxjQUFTLEdBQXlDLElBQUksQ0FBQyxXQUFXO2FBQzdFLGNBQWMsRUFBRTthQUNoQixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQWEsRUFBRSxDQUFhLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU3STs7V0FFRztRQUVhLGlCQUFZLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7SUFPdkIsQ0FBQzsrR0FuQnpELHVCQUF1QjttR0FBdkIsdUJBQXVCLG1HQ2JwQyxzK0NBdUNBOzs0RkQxQmEsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNJLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNO2tGQWMvQixZQUFZO3NCQUQzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNjSU1hbmFnZXIsIFNjVXNlclNlcnZpY2UgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDQv9C10YDRgdC+0L3QsNC70YzQvdGL0YUg0LzQtdC90LXQtNC20LXRgNC+0LIg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXVzZXItbWFuYWdlcnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy11c2VyLW1hbmFnZXJzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zYy11c2VyLW1hbmFnZXJzLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjVXNlck1hbmFnZXJzQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDQn9C10YDRgdC+0L3QsNC70YzQvdGL0LUg0LzQtdC90LXQtNC20LXRgNGLINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgbWFuYWdlcnMkOiBPYnNlcnZhYmxlPFNjSU1hbmFnZXJbXSB8IHVuZGVmaW5lZD4gPSB0aGlzLnVzZXJTZXJ2aWNlXG4gICAgICAgIC5nZXRVc2VyQ2hhbmdlJCgpXG4gICAgICAgIC5waXBlKG1hcCgodXNlcikgPT4gdXNlci5tYW5hZ2Vycz8uc29ydCgoYTogU2NJTWFuYWdlciwgYjogU2NJTWFuYWdlcikgPT4gTnVtYmVyKEJvb2xlYW4oYi5pc1ByaW1hcnkpKSAtIE51bWJlcihCb29sZWFuKGEuaXNQcmltYXJ5KSkpKSk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyBRUiDQutC+0LTQsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgcXJDbGlja0V2ZW50OiBFdmVudEVtaXR0ZXI8U2NJTWFuYWdlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNjSU1hbmFnZXI+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjVXNlck1hbmFnZXJzQ29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB1c2VyU2VydmljZSDQodC10YDQstC40YEg0LTQsNC90L3Ri9GFINC+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB1c2VyU2VydmljZTogU2NVc2VyU2VydmljZSkge31cbn1cbiIsIjxwIGNsYXNzPVwibWItMiBmb250LWV4dHJhYm9sZFwiPtCS0LDRiNC4INC/0LXRgNGB0L7QvdCw0LvRjNC90YvQtSDQvNC10L3QtdC00LbQtdGA0Ys6PC9wPlxuPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWFuYWdlciBvZiBtYW5hZ2VycyQgfCBhc3luYzsgbGV0IGxhc3QgPSBsYXN0XCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0xICFmb250LW1lZGl1bSB0ZXh0LXR1aS10ZXh0LTAyXCI+XG4gICAgICAgICAgICB7eyBtYW5hZ2VyLm5hbWUgfX1cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgICAgIFtwc2V1ZG9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgc2NFbWFpbExpbmtcbiAgICAgICAgICAgICAgICBsaW5rTG9jYXRpb249XCJ1c2VyLW1hbmFnZXJzXCJcbiAgICAgICAgICAgICAgICBocmVmPVwibWFpbHRvOnt7IG1hbmFnZXIuY29udGFjdHMuZW1haWwgfX1cIlxuICAgICAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkubWFpbFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgbWFuYWdlci5jb250YWN0cy5lbWFpbCB9fVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgW3NjVGVsTGlua109XCJtYW5hZ2VyLmNvbnRhY3RzLnBob25lXCJcbiAgICAgICAgICAgICAgICBbcHNldWRvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIGxpbmtMb2NhdGlvbj1cInVzZXItbWFuYWdlcnNcIlxuICAgICAgICAgICAgICAgIGhyZWY9XCJ0ZWw6e3sgbWFuYWdlci5jb250YWN0cy5waG9uZSB8IHNjUGhvbmVGb3JtYXQgfX1cIlxuICAgICAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkucGhvbmVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IG1hbmFnZXIuY29udGFjdHMucGhvbmUgfCBzY1Bob25lRm9ybWF0IH19XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkuc2Nhbi1xci1jb2RlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJxckNsaWNrRXZlbnQuZW1pdChtYW5hZ2VyKVwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8aHJcbiAgICAgICAgKm5nSWY9XCIhbGFzdFwiXG4gICAgICAgIGNsYXNzPVwibXktMiBoLXB4IGJvcmRlci0wIGJnLXR1aS1iYXNlLTA0XCJcbiAgICAvPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -1,106 +0,0 @@
1
- /* eslint-disable no-restricted-syntax,@typescript-eslint/unbound-method */
2
- import { HttpErrorResponse } from '@angular/common/http';
3
- import { ChangeDetectionStrategy, Component, Inject, Optional } from '@angular/core';
4
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
- import { FormControl, FormGroup, Validators } from '@angular/forms';
6
- import { ScUserMetrikaGoalsEnum } from '@snabcentr/client-core';
7
- import { tuiIsFalsy } from '@taiga-ui/cdk';
8
- import { POLYMORPHEUS_CONTEXT } from '@taiga-ui/polymorpheus';
9
- import { catchError, filter, map, of, share, startWith, Subject, switchMap, tap } from 'rxjs';
10
- import { SC_USER_INFO } from '../../providers/sc-user-providers';
11
- import { phoneValidator } from '../../validators/sc-phone-validator';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "@snabcentr/client-core";
14
- import * as i2 from "@angular/common";
15
- import * as i3 from "@angular/forms";
16
- import * as i4 from "@taiga-ui/core";
17
- import * as i5 from "@taiga-ui/cdk";
18
- import * as i6 from "../../verification/verification-phone-check-form/sc-verification-phone-check-form.component";
19
- import * as i7 from "@taiga-ui/kit";
20
- import * as i8 from "rxjs";
21
- /**
22
- * Диалоговое окно подтверждения номера телефона.
23
- */
24
- export class ScUserPhoneApproveDialogComponent {
25
- /**
26
- * Инициализирует экземпляр класса {@link ScUserPhoneApproveDialogComponent}.
27
- *
28
- * @param verificationService Сервис верификации.
29
- * @param userMetrikaService Сервис для сбора метрик о действиях пользователей.
30
- * @param user$ Поток данных о текущем пользователе.
31
- * @param userService Сервис данных о пользователе.
32
- * @param context Контекст диалогового окна, в котором открыт компонент.
33
- */
34
- constructor(verificationService, userMetrikaService, user$, userService, context) {
35
- this.verificationService = verificationService;
36
- this.userMetrikaService = userMetrikaService;
37
- this.user$ = user$;
38
- this.userService = userService;
39
- this.context = context;
40
- /**
41
- * Наличие кода подтверждения у пользователя.
42
- */
43
- this.haveCode = false;
44
- /**
45
- * Группа полей ввода для подтверждения номера телефона.
46
- */
47
- this.form = new FormGroup({
48
- phone: new FormControl(null, [Validators.required, phoneValidator()]),
49
- verificationCode: new FormControl(null, [Validators.required, Validators.minLength(6)]),
50
- });
51
- /**
52
- * {@link Subject} события отправки формы.
53
- */
54
- this.onSubmit = new Subject();
55
- /**
56
- * {@link Observable} запроса подтверждения номера телефона.
57
- */
58
- this.request$ = this.onSubmit.pipe(filter(() => this.form.valid), map(() => this.form.value), switchMap((value) => this.verificationService.approvePhone(value).pipe(switchMap(() => this.userService.updateUserChange$()), tap((user) => this.context?.completeWith(user.contacts.phone)), catchError((error) => {
59
- if (error instanceof HttpErrorResponse) {
60
- const { errors, message } = error.error;
61
- for (const key in errors) {
62
- if (Object.hasOwn(errors, key)) {
63
- // eslint-disable-next-line security/detect-object-injection
64
- this.form.get(key)?.setErrors({ serverResponse: errors[key] });
65
- }
66
- }
67
- if (!errors && message) {
68
- this.form.setErrors({ serverResponse: [message] });
69
- }
70
- }
71
- return of({});
72
- }), startWith(null))), share());
73
- /**
74
- * {@link Observable} изменения состояния запроса подтверждения номера телефона..
75
- */
76
- this.loading$ = this.request$.pipe(map(tuiIsFalsy));
77
- this.user$
78
- .pipe(filter((user) => !user.isGuest), takeUntilDestroyed())
79
- .subscribe((user) => {
80
- this.form.patchValue({
81
- phone: user.contacts.phone.value,
82
- });
83
- });
84
- }
85
- /** @inheritdoc */
86
- ngAfterViewInit() {
87
- this.userMetrikaService.emitUserMetrikaEvent({
88
- target: ScUserMetrikaGoalsEnum.userProfileApprovePhoneShow,
89
- });
90
- }
91
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScUserPhoneApproveDialogComponent, deps: [{ token: i1.ScVerificationService }, { token: i1.ScUserMetrikaService }, { token: SC_USER_INFO }, { token: i1.ScUserService }, { token: POLYMORPHEUS_CONTEXT, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
92
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ScUserPhoneApproveDialogComponent, selector: "sc-user-phone-approve-dialog", ngImport: i0, template: "<ng-container *ngIf=\"user$ | async as user\">\n <form\n [formGroup]=\"form\"\n *tuiLet=\"!!(loading$ | async) as loadingApproveCode\"\n (ngSubmit)=\"onSubmit.next()\"\n class=\"flex flex-col gap-3\"\n >\n <sc-verification-phone-check-form\n [(haveCode)]=\"haveCode\"\n [shouldBeBusy]=\"true\"\n [shouldBeConfirmed]=\"false\"\n [showCodeFields]=\"!user.contacts.phone.isApproved\"\n [readOnly]=\"true\"\n class=\"w-full\"\n ></sc-verification-phone-check-form>\n <div\n *ngIf=\"user.contacts.phone.isApproved || haveCode\"\n class=\"flex justify-center gap-4\"\n >\n <button\n *ngIf=\"user.contacts.phone.isApproved && context\"\n tuiButton\n (click)=\"context.$implicit.complete()\"\n type=\"button\"\n appearance=\"secondary\"\n >\n \u0417\u0430\u043A\u0440\u044B\u0442\u044C\n </button>\n <button\n *ngIf=\"haveCode\"\n tuiButton\n type=\"submit\"\n [loading]=\"loadingApproveCode\"\n [disabled]=\"form.invalid || loadingApproveCode\"\n iconStart=\"@tui.sc.send\"\n >\n \u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C\n </button>\n </div>\n </form>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: i5.TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "component", type: i6.ScVerificationPhoneCheckFormComponent, selector: "sc-verification-phone-check-form", inputs: ["showCodeFields", "readOnly", "pseudoInvalid", "required", "subtitle", "shouldBeBusy", "shouldBeConfirmed", "haveCode"], outputs: ["haveCodeChange", "isBusyChange", "isConfirmedChange"] }, { kind: "component", type: i7.TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
93
- }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScUserPhoneApproveDialogComponent, decorators: [{
95
- type: Component,
96
- args: [{ selector: 'sc-user-phone-approve-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"user$ | async as user\">\n <form\n [formGroup]=\"form\"\n *tuiLet=\"!!(loading$ | async) as loadingApproveCode\"\n (ngSubmit)=\"onSubmit.next()\"\n class=\"flex flex-col gap-3\"\n >\n <sc-verification-phone-check-form\n [(haveCode)]=\"haveCode\"\n [shouldBeBusy]=\"true\"\n [shouldBeConfirmed]=\"false\"\n [showCodeFields]=\"!user.contacts.phone.isApproved\"\n [readOnly]=\"true\"\n class=\"w-full\"\n ></sc-verification-phone-check-form>\n <div\n *ngIf=\"user.contacts.phone.isApproved || haveCode\"\n class=\"flex justify-center gap-4\"\n >\n <button\n *ngIf=\"user.contacts.phone.isApproved && context\"\n tuiButton\n (click)=\"context.$implicit.complete()\"\n type=\"button\"\n appearance=\"secondary\"\n >\n \u0417\u0430\u043A\u0440\u044B\u0442\u044C\n </button>\n <button\n *ngIf=\"haveCode\"\n tuiButton\n type=\"submit\"\n [loading]=\"loadingApproveCode\"\n [disabled]=\"form.invalid || loadingApproveCode\"\n iconStart=\"@tui.sc.send\"\n >\n \u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C\n </button>\n </div>\n </form>\n</ng-container>\n" }]
97
- }], ctorParameters: () => [{ type: i1.ScVerificationService }, { type: i1.ScUserMetrikaService }, { type: i8.Observable, decorators: [{
98
- type: Inject,
99
- args: [SC_USER_INFO]
100
- }] }, { type: i1.ScUserService }, { type: undefined, decorators: [{
101
- type: Optional
102
- }, {
103
- type: Inject,
104
- args: [POLYMORPHEUS_CONTEXT]
105
- }] }] });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdXNlci1waG9uZS1hcHByb3ZlLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvdXNlci91c2VyLXBob25lLWFwcHJvdmUtZGlhbG9nL3NjLXVzZXItcGhvbmUtYXBwcm92ZS1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3VzZXIvdXNlci1waG9uZS1hcHByb3ZlLWRpYWxvZy9zYy11c2VyLXBob25lLWFwcHJvdmUtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJFQUEyRTtBQUUzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBaUQsc0JBQXNCLEVBQThELE1BQU0sd0JBQXdCLENBQUM7QUFDM0ssT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHMUcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFB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QUFDO1FBcUJoRixJQUFJLENBQUMsS0FBSzthQUNMLElBQUksQ0FDRCxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUMvQixrQkFBa0IsRUFBRSxDQUN2QjthQUNBLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2dCQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSzthQUNuQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxrQkFBa0I7SUFDWCxlQUFlO1FBQ2xCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQztZQUN6QyxNQUFNLEVBQUUsc0JBQXNCLENBQUMsMkJBQTJCO1NBQzdELENBQUMsQ0FBQztJQUNQLENBQUM7K0dBOUZRLGlDQUFpQywyRkFzRTlCLFlBQVksMENBSVosb0JBQW9CO21HQTFFdkIsaUNBQWlDLG9FQ3hCOUMsdytDQXlDQTs7NEZEakJhLGlDQUFpQztrQkFMN0MsU0FBUzsrQkFDSSw4QkFBOEIsbUJBRXZCLHVCQUF1QixDQUFDLE1BQU07OzBCQXdFMUMsTUFBTTsyQkFBQyxZQUFZOzswQkFHbkIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1yZXN0cmljdGVkLXN5bnRheCxAdHlwZXNjcmlwdC1lc2xpbnQvdW5ib3VuZC1tZXRob2QgKi9cblxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2NBcHByb3ZlZERhdGEsIFNjSVBob25lT25EYXRhQXBwcm92ZSwgU2NVc2VyLCBTY1VzZXJNZXRyaWthR29hbHNFbnVtLCBTY1VzZXJNZXRyaWthU2VydmljZSwgU2NVc2VyU2VydmljZSwgU2NWZXJpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyB0dWlJc0ZhbHN5IH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyBUdWlEaWFsb2dDb250ZXh0IH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgUE9MWU1PUlBIRVVTX0NPTlRFWFQgfSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc2hhcmUsIHN0YXJ0V2l0aCwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQXBpRXJyb3JSZXNwb25zZSB9IGZyb20gJy4uLy4uL2F1dGgvaW50ZXJmYWNlcy9hcGktZXJyb3ItcmVzcG9uc2UnO1xuaW1wb3J0IHsgU0NfVVNFUl9JTkZPIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL3NjLXVzZXItcHJvdmlkZXJzJztcbmltcG9ydCB7IHBob25lVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycy9zYy1waG9uZS12YWxpZGF0b3InO1xuXG4vKipcbiAqINCU0LjQsNC70L7Qs9C+0LLQvtC1INC+0LrQvdC+INC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPINC90L7QvNC10YDQsCDRgtC10LvQtdGE0L7QvdCwLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXVzZXItcGhvbmUtYXBwcm92ZS1kaWFsb2cnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy11c2VyLXBob25lLWFwcHJvdmUtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NVc2VyUGhvbmVBcHByb3ZlRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqXG4gICAgICog0J3QsNC70LjRh9C40LUg0LrQvtC00LAg0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0YMg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIHB1YmxpYyBoYXZlQ29kZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog0JPRgNGD0L/Qv9CwINC/0L7Qu9C10Lkg0LLQstC+0LTQsCDQtNC70Y8g0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0L3QvtC80LXRgNCwINGC0LXQu9C10YTQvtC90LAuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgcGhvbmU6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgcGhvbmVWYWxpZGF0b3IoKV0pLFxuICAgICAgICB2ZXJpZmljYXRpb25Db2RlOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDYpXSksXG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgU3ViamVjdH0g0YHQvtCx0YvRgtC40Y8g0L7RgtC/0YDQsNCy0LrQuCDRhNC+0YDQvNGLLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBvblN1Ym1pdDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LfQsNC/0YDQvtGB0LAg0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0L3QvtC80LXRgNCwINGC0LXQu9C10YTQvtC90LAuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXF1ZXN0JCA9IHRoaXMub25TdWJtaXQucGlwZShcbiAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuZm9ybS52YWxpZCksXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLmZvcm0udmFsdWUgYXMgU2NJUGhvbmVPbkRhdGFBcHByb3ZlKSxcbiAgICAgICAgc3dpdGNoTWFwKCh2YWx1ZSkgPT5cbiAgICAgICAgICAgIHRoaXMudmVyaWZpY2F0aW9uU2VydmljZS5hcHByb3ZlUGhvbmUodmFsdWUpLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMudXNlclNlcnZpY2UudXBkYXRlVXNlckNoYW5nZSQoKSksXG4gICAgICAgICAgICAgICAgdGFwKCh1c2VyKSA9PiB0aGlzLmNvbnRleHQ/LmNvbXBsZXRlV2l0aCh1c2VyLmNvbnRhY3RzLnBob25lKSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgZXJyb3JzLCBtZXNzYWdlIH0gPSBlcnJvci5lcnJvciBhcyBBcGlFcnJvclJlc3BvbnNlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBlcnJvcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoT2JqZWN0Lmhhc093bihlcnJvcnMsIGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlY3VyaXR5L2RldGVjdC1vYmplY3QtaW5qZWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5nZXQoa2V5KT8uc2V0RXJyb3JzKHsgc2VydmVyUmVzcG9uc2U6IGVycm9yc1trZXldIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFlcnJvcnMgJiYgbWVzc2FnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5zZXRFcnJvcnMoeyBzZXJ2ZXJSZXNwb25zZTogW21lc3NhZ2VdIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHt9IGFzIFNjVXNlcik7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKG51bGwpXG4gICAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIHNoYXJlKClcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDRgdC+0YHRgtC+0Y/QvdC40Y8g0LfQsNC/0YDQvtGB0LAg0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0L3QvtC80LXRgNCwINGC0LXQu9C10YTQvtC90LAuLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMucmVxdWVzdCQucGlwZShtYXAodHVpSXNGYWxzeSkpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY1VzZXJQaG9uZUFwcHJvdmVEaWFsb2dDb21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHZlcmlmaWNhdGlvblNlcnZpY2Ug0KHQtdGA0LLQuNGBINCy0LXRgNC40YTQuNC60LDRhtC40LguXG4gICAgICogQHBhcmFtIHVzZXJNZXRyaWthU2VydmljZSDQodC10YDQstC40YEg0LTQu9GPINGB0LHQvtGA0LAg0LzQtdGC0YDQuNC6INC+INC00LXQudGB0YLQstC40Y/RhSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuS5cbiAgICAgKiBAcGFyYW0gdXNlciQg0J/QvtGC0L7QuiDQtNCw0L3QvdGL0YUg0L4g0YLQtdC60YPRidC10Lwg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C1LlxuICAgICAqIEBwYXJhbSB1c2VyU2VydmljZSDQodC10YDQstC40YEg0LTQsNC90L3Ri9GFINC+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtS5cbiAgICAgKiBAcGFyYW0gY29udGV4dCDQmtC+0L3RgtC10LrRgdGCINC00LjQsNC70L7Qs9C+0LLQvtCz0L4g0L7QutC90LAsINCyINC60L7RgtC+0YDQvtC8INC+0YLQutGA0YvRgiDQutC+0LzQv9C+0L3QtdC90YIuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHZlcmlmaWNhdGlvblNlcnZpY2U6IFNjVmVyaWZpY2F0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB1c2VyTWV0cmlrYVNlcnZpY2U6IFNjVXNlck1ldHJpa2FTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFNDX1VTRVJfSU5GTylcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IHVzZXIkOiBPYnNlcnZhYmxlPFNjVXNlcj4sXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlclNlcnZpY2U6IFNjVXNlclNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoUE9MWU1PUlBIRVVTX0NPTlRFWFQpXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBjb250ZXh0PzogVHVpRGlhbG9nQ29udGV4dDxTY0FwcHJvdmVkRGF0YSwgU2NVc2VyUGhvbmVBcHByb3ZlRGlhbG9nQ29tcG9uZW50PlxuICAgICkge1xuICAgICAgICB0aGlzLnVzZXIkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKHVzZXIpID0+ICF1c2VyLmlzR3Vlc3QpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh1c2VyKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgICAgICAgICBwaG9uZTogdXNlci5jb250YWN0cy5waG9uZS52YWx1ZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaW5oZXJpdGRvYyAqL1xuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS51c2VyUHJvZmlsZUFwcHJvdmVQaG9uZVNob3csXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ1c2VyJCB8IGFzeW5jIGFzIHVzZXJcIj5cbiAgICA8Zm9ybVxuICAgICAgICBbZm9ybUdyb3VwXT1cImZvcm1cIlxuICAgICAgICAqdHVpTGV0PVwiISEobG9hZGluZyQgfCBhc3luYykgYXMgbG9hZGluZ0FwcHJvdmVDb2RlXCJcbiAgICAgICAgKG5nU3VibWl0KT1cIm9uU3VibWl0Lm5leHQoKVwiXG4gICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtM1wiXG4gICAgPlxuICAgICAgICA8c2MtdmVyaWZpY2F0aW9uLXBob25lLWNoZWNrLWZvcm1cbiAgICAgICAgICAgIFsoaGF2ZUNvZGUpXT1cImhhdmVDb2RlXCJcbiAgICAgICAgICAgIFtzaG91bGRCZUJ1c3ldPVwidHJ1ZVwiXG4gICAgICAgICAgICBbc2hvdWxkQmVDb25maXJtZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW3Nob3dDb2RlRmllbGRzXT1cIiF1c2VyLmNvbnRhY3RzLnBob25lLmlzQXBwcm92ZWRcIlxuICAgICAgICAgICAgW3JlYWRPbmx5XT1cInRydWVcIlxuICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgICA+PC9zYy12ZXJpZmljYXRpb24tcGhvbmUtY2hlY2stZm9ybT5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJ1c2VyLmNvbnRhY3RzLnBob25lLmlzQXBwcm92ZWQgfHwgaGF2ZUNvZGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGp1c3RpZnktY2VudGVyIGdhcC00XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwidXNlci5jb250YWN0cy5waG9uZS5pc0FwcHJvdmVkICYmIGNvbnRleHRcIlxuICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjb250ZXh0LiRpbXBsaWNpdC5jb21wbGV0ZSgpXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICDQl9Cw0LrRgNGL0YLRjFxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJoYXZlQ29kZVwiXG4gICAgICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ0FwcHJvdmVDb2RlXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkIHx8IGxvYWRpbmdBcHByb3ZlQ29kZVwiXG4gICAgICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5zYy5zZW5kXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICDQn9C+0LTRgtCy0LXRgNC00LjRgtGMXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9mb3JtPlxuPC9uZy1jb250YWluZXI+XG4iXX0=