@snabcentr/client-ui 4.6.1 → 5.1.0

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 (465) hide show
  1. package/fesm2022/snabcentr-client-ui.mjs +4349 -4761
  2. package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
  3. package/package.json +35 -36
  4. package/release_notes.tmp +2 -4
  5. package/styles/taiga/variables.less +16 -17
  6. package/styles/tailwind/tailwind.scss +17 -12
  7. package/types/snabcentr-client-ui.d.ts +5704 -0
  8. package/accordion/index.d.ts +0 -3
  9. package/accordion/sc-accordion-content.directive.d.ts +0 -9
  10. package/accordion/sc-accordion.component.d.ts +0 -56
  11. package/accordion/sc-accordion.module.d.ts +0 -15
  12. package/auth/enums/auth-method.d.ts +0 -13
  13. package/auth/index.d.ts +0 -8
  14. package/auth/interfaces/index.d.ts +0 -2
  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 -27
  18. package/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.d.ts +0 -55
  19. package/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.d.ts +0 -45
  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 -113
  22. package/auth/sign-up-form/sc-sign-up-form.component.d.ts +0 -166
  23. package/banner/index.d.ts +0 -2
  24. package/banner/sc-banner.component.d.ts +0 -79
  25. package/banner/sc-banner.module.d.ts +0 -17
  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 -49
  32. package/cart/index.d.ts +0 -2
  33. package/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.d.ts +0 -62
  34. package/catalog/catalog-filters/index.d.ts +0 -3
  35. package/catalog/catalog-filters/sc-catalog-filters.component.d.ts +0 -102
  36. package/catalog/catalog-filters/tokens/sc-catalog-products-filters.d.ts +0 -7
  37. package/catalog/catalog-filters/tokens/sc-catalog-show-products-recursively.d.ts +0 -5
  38. package/catalog/category-card/sc-category-card.component.d.ts +0 -76
  39. package/catalog/cost-with-discount/cost-with-discount.component.d.ts +0 -23
  40. package/catalog/download-price-list/sc-download-price-list.component.d.ts +0 -38
  41. package/catalog/hover-image-carousel/sc-hover-image-carousel.component.d.ts +0 -48
  42. package/catalog/index.d.ts +0 -15
  43. package/catalog/input-quantity/sc-input-quantity.component.d.ts +0 -82
  44. package/catalog/notify-when-in-stock-dialog/index.d.ts +0 -2
  45. package/catalog/notify-when-in-stock-dialog/sc-notify-when-in-stock-dialog.component.d.ts +0 -90
  46. package/catalog/notify-when-in-stock-dialog/sc-product-in-all-warehouses.pipe.d.ts +0 -22
  47. package/catalog/price-card/sc-price-card.component.d.ts +0 -18
  48. package/catalog/price-card-inline/sc-price-card-inline.component.d.ts +0 -10
  49. package/catalog/price-history/sc-price-history.component.d.ts +0 -88
  50. package/catalog/price-list-pagination/sc-price-list-pagination.component.d.ts +0 -40
  51. package/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.d.ts +0 -47
  52. package/catalog/sc-catalog.module.d.ts +0 -29
  53. package/catalog/sc-favorite-button/sc-favorite-button.component.d.ts +0 -25
  54. package/catalog/seo-tags/sc-seo-tags.component.d.ts +0 -20
  55. package/configurators/index.d.ts +0 -3
  56. package/configurators/models/index.d.ts +0 -3
  57. package/configurators/models/sandwich/sc-i-configurator-search-product-sandwich.d.ts +0 -22
  58. package/configurators/models/sandwich/sc-i-sandwich-settings.d.ts +0 -18
  59. package/configurators/models/sandwich_m2/sc-i-sandwich-m2-settings.d.ts +0 -18
  60. package/configurators/sandwich/index.d.ts +0 -3
  61. package/configurators/sandwich/sandwich-skeleton/sc-sandwich-skeleton.component.d.ts +0 -8
  62. package/configurators/sandwich/sc-i-new-cart-item-sandwich.d.ts +0 -14
  63. package/configurators/sandwich/sc-sandwich.component.d.ts +0 -182
  64. package/configurators/sandwich_m2/index.d.ts +0 -4
  65. package/configurators/sandwich_m2/sandwich-m2-skeleton/sc-sandwich-m2-skeleton.component.d.ts +0 -8
  66. package/configurators/sandwich_m2/sc-i-new-cart-item-sandwich-m2.d.ts +0 -23
  67. package/configurators/sandwich_m2/sc-sandwich-m2-item-submit-state.d.ts +0 -13
  68. package/configurators/sandwich_m2/sc-sandwich-m2.component.d.ts +0 -267
  69. package/contacts/add-contact-dialog/sc-add-contact-dialog.component.d.ts +0 -49
  70. package/contacts/contacts-accordion/sc-contacts-accordion.component.d.ts +0 -23
  71. package/contacts/index.d.ts +0 -7
  72. package/contacts/manager-card/sc-manager-card.component.d.ts +0 -22
  73. package/contacts/manager-card-push/sc-manager-card-push.component.d.ts +0 -18
  74. package/contacts/new-contact-form/sc-new-contact-form.component.d.ts +0 -28
  75. package/contacts/sc-contacts.module.d.ts +0 -27
  76. package/contacts/tokens/index.d.ts +0 -2
  77. package/contacts/tokens/sc-manager-qr-handler.token.d.ts +0 -6
  78. package/contacts/tokens/sc-show-help-notification-in-phone-input.token.d.ts +0 -5
  79. package/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.d.ts +0 -49
  80. package/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.d.ts +0 -158
  81. package/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.d.ts +0 -62
  82. package/contragents/contragents-accordion/sc-contragents-accordion.component.d.ts +0 -49
  83. package/contragents/index.d.ts +0 -7
  84. package/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.d.ts +0 -64
  85. package/contragents/new-contragent-form/sc-new-contragent-form.component.d.ts +0 -119
  86. package/contragents/sc-contragents.module.d.ts +0 -26
  87. package/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.d.ts +0 -141
  88. package/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.d.ts +0 -50
  89. package/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.d.ts +0 -49
  90. package/delivery-address/index.d.ts +0 -4
  91. package/delivery-address/sc-delivery-address.module.d.ts +0 -25
  92. package/dialogs/index.d.ts +0 -1
  93. package/dialogs/sc-resource-preview/sc-resource-preview.component.d.ts +0 -42
  94. package/directives/abstract-price-card/abstract-sc-price-card.directive.d.ts +0 -136
  95. package/directives/index.d.ts +0 -9
  96. package/directives/links/index.d.ts +0 -4
  97. package/directives/links/sc-email-link.directive.d.ts +0 -25
  98. package/directives/links/sc-link-location.d.ts +0 -5
  99. package/directives/links/sc-links.d.ts +0 -7
  100. package/directives/links/sc-tel-link.directive.d.ts +0 -40
  101. package/directives/next-input-focus/sc-next-input-focus.directive.d.ts +0 -27
  102. package/directives/next-input-focus/sc-next-input-focus.module.d.ts +0 -10
  103. package/directives/print/sc-print.directive.d.ts +0 -21
  104. package/directives/sc-date-value-transformer.directive.d.ts +0 -8
  105. package/directives/sc-focus-first-invalid-field.directive.d.ts +0 -30
  106. package/directives/select-on-focusin/sc-select-on-focusin.directive.d.ts +0 -14
  107. package/directives/terminal-link/sc-terminal-link.directive.d.ts +0 -34
  108. package/error-handler/consts/error-change-handler.providers.d.ts +0 -6
  109. package/error-handler/error-block-status/error-block-status.component.d.ts +0 -45
  110. package/error-handler/index.d.ts +0 -4
  111. package/error-handler/interfaces/i-block-error.d.ts +0 -17
  112. package/error-handler/sc-error-handler.component.d.ts +0 -40
  113. package/esm2022/accordion/index.mjs +0 -4
  114. package/esm2022/accordion/sc-accordion-content.directive.mjs +0 -17
  115. package/esm2022/accordion/sc-accordion.component.mjs +0 -92
  116. package/esm2022/accordion/sc-accordion.module.mjs +0 -26
  117. package/esm2022/auth/enums/auth-method.mjs +0 -15
  118. package/esm2022/auth/index.mjs +0 -9
  119. package/esm2022/auth/interfaces/index.mjs +0 -3
  120. package/esm2022/auth/interfaces/sc-bank-account-form-group.mjs +0 -2
  121. package/esm2022/auth/interfaces/sc-contact-form-group.mjs +0 -2
  122. package/esm2022/auth/sc-auth.module.mjs +0 -103
  123. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.mjs +0 -100
  124. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs +0 -81
  125. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form.component.mjs +0 -89
  126. package/esm2022/auth/sc-simple-sign-up-form/sc-simple-sign-up-form.component.mjs +0 -203
  127. package/esm2022/auth/sign-up-form/sc-sign-up-form.component.mjs +0 -334
  128. package/esm2022/banner/index.mjs +0 -3
  129. package/esm2022/banner/sc-banner.component.mjs +0 -131
  130. package/esm2022/banner/sc-banner.module.mjs +0 -29
  131. package/esm2022/brands-list/index.mjs +0 -3
  132. package/esm2022/brands-list/sc-brands-list.component.mjs +0 -24
  133. package/esm2022/brands-list/sc-brands-list.module.mjs +0 -22
  134. 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
  135. package/esm2022/cart/add-or-editing-cart-item-dialog/index.mjs +0 -3
  136. package/esm2022/cart/add-or-editing-cart-item-dialog/sc-add-or-editing-cart-item-dialog.component.mjs +0 -76
  137. package/esm2022/cart/index.mjs +0 -3
  138. package/esm2022/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.mjs +0 -110
  139. package/esm2022/catalog/catalog-filters/index.mjs +0 -4
  140. package/esm2022/catalog/catalog-filters/sc-catalog-filters.component.mjs +0 -213
  141. package/esm2022/catalog/catalog-filters/tokens/sc-catalog-products-filters.mjs +0 -10
  142. package/esm2022/catalog/catalog-filters/tokens/sc-catalog-show-products-recursively.mjs +0 -6
  143. package/esm2022/catalog/category-card/sc-category-card.component.mjs +0 -102
  144. package/esm2022/catalog/cost-with-discount/cost-with-discount.component.mjs +0 -39
  145. package/esm2022/catalog/download-price-list/sc-download-price-list.component.mjs +0 -56
  146. package/esm2022/catalog/hover-image-carousel/sc-hover-image-carousel.component.mjs +0 -76
  147. package/esm2022/catalog/index.mjs +0 -16
  148. package/esm2022/catalog/input-quantity/sc-input-quantity.component.mjs +0 -189
  149. package/esm2022/catalog/notify-when-in-stock-dialog/index.mjs +0 -3
  150. package/esm2022/catalog/notify-when-in-stock-dialog/sc-notify-when-in-stock-dialog.component.mjs +0 -173
  151. package/esm2022/catalog/notify-when-in-stock-dialog/sc-product-in-all-warehouses.pipe.mjs +0 -35
  152. package/esm2022/catalog/price-card/sc-price-card.component.mjs +0 -73
  153. package/esm2022/catalog/price-card-inline/sc-price-card-inline.component.mjs +0 -56
  154. package/esm2022/catalog/price-history/sc-price-history.component.mjs +0 -140
  155. package/esm2022/catalog/price-list-pagination/sc-price-list-pagination.component.mjs +0 -65
  156. package/esm2022/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.mjs +0 -61
  157. package/esm2022/catalog/sc-catalog.module.mjs +0 -126
  158. package/esm2022/catalog/sc-favorite-button/sc-favorite-button.component.mjs +0 -42
  159. package/esm2022/catalog/seo-tags/sc-seo-tags.component.mjs +0 -25
  160. package/esm2022/configurators/index.mjs +0 -4
  161. package/esm2022/configurators/models/index.mjs +0 -4
  162. package/esm2022/configurators/models/sandwich/sc-i-configurator-search-product-sandwich.mjs +0 -2
  163. package/esm2022/configurators/models/sandwich/sc-i-sandwich-settings.mjs +0 -2
  164. package/esm2022/configurators/models/sandwich_m2/sc-i-sandwich-m2-settings.mjs +0 -2
  165. package/esm2022/configurators/sandwich/index.mjs +0 -4
  166. package/esm2022/configurators/sandwich/sandwich-skeleton/sc-sandwich-skeleton.component.mjs +0 -14
  167. package/esm2022/configurators/sandwich/sc-i-new-cart-item-sandwich.mjs +0 -2
  168. package/esm2022/configurators/sandwich/sc-sandwich.component.mjs +0 -382
  169. package/esm2022/configurators/sandwich_m2/index.mjs +0 -5
  170. package/esm2022/configurators/sandwich_m2/sandwich-m2-skeleton/sc-sandwich-m2-skeleton.component.mjs +0 -14
  171. package/esm2022/configurators/sandwich_m2/sc-i-new-cart-item-sandwich-m2.mjs +0 -2
  172. package/esm2022/configurators/sandwich_m2/sc-sandwich-m2-item-submit-state.mjs +0 -5
  173. package/esm2022/configurators/sandwich_m2/sc-sandwich-m2.component.mjs +0 -561
  174. package/esm2022/contacts/add-contact-dialog/sc-add-contact-dialog.component.mjs +0 -91
  175. package/esm2022/contacts/contacts-accordion/sc-contacts-accordion.component.mjs +0 -37
  176. package/esm2022/contacts/index.mjs +0 -8
  177. package/esm2022/contacts/manager-card/sc-manager-card.component.mjs +0 -58
  178. package/esm2022/contacts/manager-card-push/sc-manager-card-push.component.mjs +0 -28
  179. package/esm2022/contacts/new-contact-form/sc-new-contact-form.component.mjs +0 -37
  180. package/esm2022/contacts/sc-contacts.module.mjs +0 -89
  181. package/esm2022/contacts/tokens/index.mjs +0 -3
  182. package/esm2022/contacts/tokens/sc-manager-qr-handler.token.mjs +0 -25
  183. package/esm2022/contacts/tokens/sc-show-help-notification-in-phone-input.token.mjs +0 -9
  184. package/esm2022/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.mjs +0 -81
  185. package/esm2022/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.mjs +0 -266
  186. package/esm2022/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.mjs +0 -74
  187. package/esm2022/contragents/contragents-accordion/sc-contragents-accordion.component.mjs +0 -68
  188. package/esm2022/contragents/index.mjs +0 -8
  189. package/esm2022/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.mjs +0 -72
  190. package/esm2022/contragents/new-contragent-form/sc-new-contragent-form.component.mjs +0 -224
  191. package/esm2022/contragents/sc-contragents.module.mjs +0 -115
  192. package/esm2022/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.mjs +0 -248
  193. package/esm2022/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.mjs +0 -60
  194. package/esm2022/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.mjs +0 -68
  195. package/esm2022/delivery-address/index.mjs +0 -5
  196. package/esm2022/delivery-address/sc-delivery-address.module.mjs +0 -96
  197. package/esm2022/dialogs/index.mjs +0 -2
  198. package/esm2022/dialogs/sc-resource-preview/sc-resource-preview.component.mjs +0 -68
  199. package/esm2022/directives/abstract-price-card/abstract-sc-price-card.directive.mjs +0 -170
  200. package/esm2022/directives/index.mjs +0 -10
  201. package/esm2022/directives/links/index.mjs +0 -5
  202. package/esm2022/directives/links/sc-email-link.directive.mjs +0 -49
  203. package/esm2022/directives/links/sc-link-location.mjs +0 -2
  204. package/esm2022/directives/links/sc-links.mjs +0 -8
  205. package/esm2022/directives/links/sc-tel-link.directive.mjs +0 -79
  206. package/esm2022/directives/next-input-focus/sc-next-input-focus.directive.mjs +0 -70
  207. package/esm2022/directives/next-input-focus/sc-next-input-focus.module.mjs +0 -19
  208. package/esm2022/directives/print/sc-print.directive.mjs +0 -36
  209. package/esm2022/directives/sc-date-value-transformer.directive.mjs +0 -30
  210. package/esm2022/directives/sc-focus-first-invalid-field.directive.mjs +0 -85
  211. package/esm2022/directives/select-on-focusin/sc-select-on-focusin.directive.mjs +0 -31
  212. package/esm2022/directives/terminal-link/sc-terminal-link.directive.mjs +0 -69
  213. package/esm2022/error-handler/consts/error-change-handler.providers.mjs +0 -10
  214. package/esm2022/error-handler/error-block-status/error-block-status.component.mjs +0 -88
  215. package/esm2022/error-handler/index.mjs +0 -5
  216. package/esm2022/error-handler/interfaces/i-block-error.mjs +0 -2
  217. package/esm2022/error-handler/sc-error-handler.component.mjs +0 -58
  218. package/esm2022/feedback/feedback-form/sc-feedback-form.component.mjs +0 -344
  219. package/esm2022/feedback/gratitude/sc-gratitude.component.mjs +0 -32
  220. package/esm2022/feedback/index.mjs +0 -4
  221. package/esm2022/feedback/interfaces/index.mjs +0 -2
  222. package/esm2022/feedback/interfaces/sc-feedback-form-config.mjs +0 -2
  223. package/esm2022/files/directives/index.mjs +0 -3
  224. package/esm2022/files/directives/tree-top.directive.mjs +0 -63
  225. package/esm2022/files/directives/tree.directive.mjs +0 -47
  226. package/esm2022/files/file-tree-item/file-tree-item.component.mjs +0 -18
  227. package/esm2022/files/files-and-documents/files-and-documents.component.mjs +0 -61
  228. package/esm2022/files/files-and-documents.module.mjs +0 -28
  229. package/esm2022/files/index.mjs +0 -6
  230. package/esm2022/files/interfaces/tree-node.mjs +0 -2
  231. package/esm2022/files/services/index.mjs +0 -3
  232. package/esm2022/files/services/tree-icon.service.mjs +0 -49
  233. package/esm2022/files/services/tree-loader.service.mjs +0 -62
  234. package/esm2022/form-fields/addresses-selection-field/sc-addresses-selection-field.component.mjs +0 -156
  235. package/esm2022/form-fields/form-fields.module.mjs +0 -66
  236. package/esm2022/form-fields/index.mjs +0 -4
  237. package/esm2022/form-fields/suggestion-field/sc-suggestion-field.component.mjs +0 -174
  238. package/esm2022/icons/index.mjs +0 -2
  239. package/esm2022/icons/sc-client-ui-icons-name.mjs +0 -99
  240. package/esm2022/loader/index.mjs +0 -2
  241. package/esm2022/loader/sc-i-loader.mjs +0 -2
  242. package/esm2022/masks/index.mjs +0 -8
  243. package/esm2022/masks/sc-account-number-mask.mjs +0 -7
  244. package/esm2022/masks/sc-bic-mask.mjs +0 -7
  245. package/esm2022/masks/sc-correspondent-account-mask.mjs +0 -7
  246. package/esm2022/masks/sc-inn-mask.mjs +0 -13
  247. package/esm2022/masks/sc-kpp-mask.mjs +0 -7
  248. package/esm2022/masks/sc-okpo-mask.mjs +0 -13
  249. package/esm2022/masks/sc-phone-verification-code-mask.mjs +0 -7
  250. package/esm2022/methods/index.mjs +0 -2
  251. package/esm2022/methods/sc-get-current-route.mjs +0 -14
  252. package/esm2022/models/i-sc-image.mjs +0 -2
  253. package/esm2022/models/index.mjs +0 -2
  254. package/esm2022/news/index.mjs +0 -4
  255. package/esm2022/news/news-card/sc-news-card.component.mjs +0 -34
  256. package/esm2022/news/news-card-skeleton/sc-news-card-skeleton.component.mjs +0 -31
  257. package/esm2022/news/sc-news.module.mjs +0 -26
  258. package/esm2022/noindex-wrapper/directives/index.mjs +0 -2
  259. package/esm2022/noindex-wrapper/directives/sc-noindex.directive.mjs +0 -58
  260. package/esm2022/noindex-wrapper/index.mjs +0 -3
  261. package/esm2022/noindex-wrapper/sc-noindex-wrapper.component.mjs +0 -18
  262. package/esm2022/order/directives/index.mjs +0 -3
  263. package/esm2022/order/directives/sc-order-accessor.directive.mjs +0 -28
  264. package/esm2022/order/directives/sc-order-options.mjs +0 -11
  265. package/esm2022/order/draft/sc-draft.component.mjs +0 -118
  266. package/esm2022/order/index.mjs +0 -10
  267. package/esm2022/order/models/sc-i-cart-items-by-direction.mjs +0 -22
  268. package/esm2022/order/order-item/sc-order-item.component.mjs +0 -108
  269. package/esm2022/order/order-items-list/sc-order-items-list.component.mjs +0 -209
  270. package/esm2022/order/order-items-list-by-directions/sc-order-items-list-by-directions.component.mjs +0 -75
  271. package/esm2022/order/order-items-list-by-stock/sc-order-items-list-by-stock.component.mjs +0 -75
  272. package/esm2022/order/sc-order.module.mjs +0 -52
  273. package/esm2022/order/sc-payment-status/sc-payment-status.component.mjs +0 -35
  274. package/esm2022/pages/frequently-asked-questions/sc-frequently-asked-questions.component.mjs +0 -49
  275. package/esm2022/pages/frequently-asked-questions/sc-page-size-options.mjs +0 -8
  276. package/esm2022/pages/frequently-asked-questions-group-selector/sc-frequently-asked-questions-group-selector.component.mjs +0 -59
  277. package/esm2022/pages/frequently-asked-questions-with-groups/sc-frequently-asked-questions-with-groups.component.mjs +0 -107
  278. package/esm2022/pages/index.mjs +0 -7
  279. package/esm2022/pages/personal-data-processing-policy/sc-personal-data-processing-policy.component.mjs +0 -46
  280. package/esm2022/pages/privacy-policy/sc-privacy-policy.component.mjs +0 -30
  281. package/esm2022/pages/public-offer/sc-public-offer.component.mjs +0 -50
  282. package/esm2022/pipes/index.mjs +0 -3
  283. package/esm2022/pipes/sc-format-date.mjs +0 -33
  284. package/esm2022/pipes/sc-phone-format.mjs +0 -44
  285. package/esm2022/profile/index.mjs +0 -3
  286. package/esm2022/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +0 -174
  287. package/esm2022/profile/sc-profile.module.mjs +0 -73
  288. package/esm2022/providers/date-value-transformer/index.mjs +0 -4
  289. package/esm2022/providers/date-value-transformer/sc-date-value-transformer-types.mjs +0 -2
  290. package/esm2022/providers/date-value-transformer/sc-date-value-transformer-with-end-time.mjs +0 -26
  291. package/esm2022/providers/date-value-transformer/sc-date-value-transformer-with-start-time.mjs +0 -37
  292. package/esm2022/providers/index.mjs +0 -16
  293. package/esm2022/providers/sc-allow-select-terminated.mjs +0 -8
  294. package/esm2022/providers/sc-banner-duration.mjs +0 -8
  295. package/esm2022/providers/sc-country-ids.mjs +0 -8
  296. package/esm2022/providers/sc-date-formatter.mjs +0 -15
  297. package/esm2022/providers/sc-date-value-transformer.mjs +0 -12
  298. package/esm2022/providers/sc-debounce-time-default.mjs +0 -9
  299. package/esm2022/providers/sc-dialog-service.providers.mjs +0 -6
  300. package/esm2022/providers/sc-help-notification-close.mjs +0 -9
  301. package/esm2022/providers/sc-help-notification-limit.mjs +0 -8
  302. package/esm2022/providers/sc-hidden-print-elements.token.mjs +0 -10
  303. package/esm2022/providers/sc-max-files-in-form-input.mjs +0 -8
  304. package/esm2022/providers/sc-notify-when-in-stock-required-fields.mjs +0 -8
  305. package/esm2022/providers/sc-page-size-options.mjs +0 -8
  306. package/esm2022/providers/sc-user-providers.mjs +0 -38
  307. package/esm2022/providers/sc-verification-code-timeout.mjs +0 -8
  308. package/esm2022/public-api.mjs +0 -35
  309. package/esm2022/qrcode/index.mjs +0 -3
  310. package/esm2022/qrcode/qrcode-dialog/sc-qrcode-dialog.component.mjs +0 -58
  311. package/esm2022/qrcode/sc-qrcode.module.mjs +0 -25
  312. package/esm2022/samples/index.mjs +0 -5
  313. package/esm2022/samples/interfaces/index.mjs +0 -3
  314. package/esm2022/samples/interfaces/sc-i-preview-sample.mjs +0 -2
  315. package/esm2022/samples/interfaces/sc-preview-mosquito-config.mjs +0 -2
  316. package/esm2022/samples/preview-sample/sc-preview-sample.component.mjs +0 -42
  317. package/esm2022/samples/sc-preview-samples-mosquito/sc-preview-samples-mosquito.component.mjs +0 -63
  318. package/esm2022/samples/sc-sample.module.mjs +0 -66
  319. package/esm2022/services/index.mjs +0 -3
  320. package/esm2022/services/print.service.mjs +0 -49
  321. package/esm2022/services/sc-help-notification.service.mjs +0 -100
  322. package/esm2022/share-button/index.mjs +0 -3
  323. package/esm2022/share-button/sc-share-button.component.mjs +0 -35
  324. package/esm2022/share-button/sc-share-button.module.mjs +0 -22
  325. package/esm2022/snabcentr-client-ui.mjs +0 -5
  326. package/esm2022/user/index.mjs +0 -6
  327. package/esm2022/user/reset-user-password/sc-reset-user-password.component.mjs +0 -74
  328. package/esm2022/user/sc-user.module.mjs +0 -86
  329. package/esm2022/user/update-user-info-dialog/sc-update-user-info-dialog.component.mjs +0 -121
  330. package/esm2022/user/user-managers/sc-user-managers.component.mjs +0 -40
  331. package/esm2022/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.mjs +0 -105
  332. package/esm2022/validators/index.mjs +0 -7
  333. package/esm2022/validators/sc-at-least-one-required-validator.mjs +0 -25
  334. package/esm2022/validators/sc-bic-validator.mjs +0 -10
  335. package/esm2022/validators/sc-correspondent-account-validator.mjs +0 -10
  336. package/esm2022/validators/sc-password-confirm-matching-validator.mjs +0 -17
  337. package/esm2022/validators/sc-phone-validator.mjs +0 -14
  338. package/esm2022/validators/step-validator.mjs +0 -18
  339. package/esm2022/verification/index.mjs +0 -3
  340. package/esm2022/verification/sc-verification.module.mjs +0 -86
  341. package/esm2022/verification/verification-phone-check-form/sc-verification-phone-check-form.component.mjs +0 -259
  342. package/feedback/feedback-form/sc-feedback-form.component.d.ts +0 -163
  343. package/feedback/gratitude/sc-gratitude.component.d.ts +0 -20
  344. package/feedback/index.d.ts +0 -3
  345. package/feedback/interfaces/index.d.ts +0 -1
  346. package/feedback/interfaces/sc-feedback-form-config.d.ts +0 -23
  347. package/files/directives/index.d.ts +0 -2
  348. package/files/directives/tree-top.directive.d.ts +0 -33
  349. package/files/directives/tree.directive.d.ts +0 -35
  350. package/files/file-tree-item/file-tree-item.component.d.ts +0 -9
  351. package/files/files-and-documents/files-and-documents.component.d.ts +0 -27
  352. package/files/files-and-documents.module.d.ts +0 -17
  353. package/files/index.d.ts +0 -5
  354. package/files/interfaces/tree-node.d.ts +0 -29
  355. package/files/services/index.d.ts +0 -2
  356. package/files/services/tree-icon.service.d.ts +0 -23
  357. package/files/services/tree-loader.service.d.ts +0 -43
  358. package/form-fields/addresses-selection-field/sc-addresses-selection-field.component.d.ts +0 -78
  359. package/form-fields/form-fields.module.d.ts +0 -18
  360. package/form-fields/index.d.ts +0 -3
  361. package/form-fields/suggestion-field/sc-suggestion-field.component.d.ts +0 -73
  362. package/icons/index.d.ts +0 -1
  363. package/icons/sc-client-ui-icons-name.d.ts +0 -4
  364. package/index.d.ts +0 -5
  365. package/loader/index.d.ts +0 -1
  366. package/loader/sc-i-loader.d.ts +0 -9
  367. package/masks/index.d.ts +0 -7
  368. package/masks/sc-account-number-mask.d.ts +0 -5
  369. package/masks/sc-bic-mask.d.ts +0 -5
  370. package/masks/sc-correspondent-account-mask.d.ts +0 -5
  371. package/masks/sc-inn-mask.d.ts +0 -9
  372. package/masks/sc-kpp-mask.d.ts +0 -5
  373. package/masks/sc-okpo-mask.d.ts +0 -9
  374. package/masks/sc-phone-verification-code-mask.d.ts +0 -5
  375. package/methods/index.d.ts +0 -1
  376. package/methods/sc-get-current-route.d.ts +0 -8
  377. package/models/i-sc-image.d.ts +0 -17
  378. package/models/index.d.ts +0 -1
  379. package/news/index.d.ts +0 -3
  380. package/news/news-card/sc-news-card.component.d.ts +0 -22
  381. package/news/news-card-skeleton/sc-news-card-skeleton.component.d.ts +0 -16
  382. package/news/sc-news.module.d.ts +0 -16
  383. package/noindex-wrapper/directives/index.d.ts +0 -1
  384. package/noindex-wrapper/directives/sc-noindex.directive.d.ts +0 -29
  385. package/noindex-wrapper/index.d.ts +0 -2
  386. package/noindex-wrapper/sc-noindex-wrapper.component.d.ts +0 -9
  387. package/order/directives/index.d.ts +0 -2
  388. package/order/directives/sc-order-accessor.directive.d.ts +0 -13
  389. package/order/directives/sc-order-options.d.ts +0 -14
  390. package/order/draft/sc-draft.component.d.ts +0 -63
  391. package/order/index.d.ts +0 -9
  392. package/order/models/sc-i-cart-items-by-direction.d.ts +0 -25
  393. package/order/order-item/sc-order-item.component.d.ts +0 -39
  394. package/order/order-items-list/sc-order-items-list.component.d.ts +0 -109
  395. package/order/order-items-list-by-directions/sc-order-items-list-by-directions.component.d.ts +0 -58
  396. package/order/order-items-list-by-stock/sc-order-items-list-by-stock.component.d.ts +0 -55
  397. package/order/sc-order.module.d.ts +0 -18
  398. package/order/sc-payment-status/sc-payment-status.component.d.ts +0 -25
  399. package/pages/frequently-asked-questions/sc-frequently-asked-questions.component.d.ts +0 -22
  400. package/pages/frequently-asked-questions/sc-page-size-options.d.ts +0 -5
  401. package/pages/frequently-asked-questions-group-selector/sc-frequently-asked-questions-group-selector.component.d.ts +0 -28
  402. package/pages/frequently-asked-questions-with-groups/sc-frequently-asked-questions-with-groups.component.d.ts +0 -79
  403. package/pages/index.d.ts +0 -6
  404. package/pages/personal-data-processing-policy/sc-personal-data-processing-policy.component.d.ts +0 -17
  405. package/pages/privacy-policy/sc-privacy-policy.component.d.ts +0 -17
  406. package/pages/public-offer/sc-public-offer.component.d.ts +0 -22
  407. package/pipes/index.d.ts +0 -2
  408. package/pipes/sc-format-date.d.ts +0 -20
  409. package/pipes/sc-phone-format.d.ts +0 -21
  410. package/profile/index.d.ts +0 -2
  411. package/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.d.ts +0 -126
  412. package/profile/sc-profile.module.d.ts +0 -23
  413. package/providers/date-value-transformer/index.d.ts +0 -3
  414. package/providers/date-value-transformer/sc-date-value-transformer-types.d.ts +0 -9
  415. package/providers/date-value-transformer/sc-date-value-transformer-with-end-time.d.ts +0 -16
  416. package/providers/date-value-transformer/sc-date-value-transformer-with-start-time.d.ts +0 -22
  417. package/providers/index.d.ts +0 -15
  418. package/providers/sc-allow-select-terminated.d.ts +0 -5
  419. package/providers/sc-banner-duration.d.ts +0 -5
  420. package/providers/sc-country-ids.d.ts +0 -5
  421. package/providers/sc-date-formatter.d.ts +0 -6
  422. package/providers/sc-date-value-transformer.d.ts +0 -5
  423. package/providers/sc-debounce-time-default.d.ts +0 -5
  424. package/providers/sc-dialog-service.providers.d.ts +0 -45
  425. package/providers/sc-help-notification-close.d.ts +0 -6
  426. package/providers/sc-help-notification-limit.d.ts +0 -5
  427. package/providers/sc-hidden-print-elements.token.d.ts +0 -6
  428. package/providers/sc-max-files-in-form-input.d.ts +0 -5
  429. package/providers/sc-notify-when-in-stock-required-fields.d.ts +0 -5
  430. package/providers/sc-page-size-options.d.ts +0 -5
  431. package/providers/sc-user-providers.d.ts +0 -21
  432. package/providers/sc-verification-code-timeout.d.ts +0 -5
  433. package/public-api.d.ts +0 -34
  434. package/qrcode/index.d.ts +0 -2
  435. package/qrcode/qrcode-dialog/sc-qrcode-dialog.component.d.ts +0 -37
  436. package/qrcode/sc-qrcode.module.d.ts +0 -14
  437. package/samples/index.d.ts +0 -4
  438. package/samples/interfaces/index.d.ts +0 -2
  439. package/samples/interfaces/sc-i-preview-sample.d.ts +0 -56
  440. package/samples/interfaces/sc-preview-mosquito-config.d.ts +0 -62
  441. package/samples/preview-sample/sc-preview-sample.component.d.ts +0 -30
  442. package/samples/sc-preview-samples-mosquito/sc-preview-samples-mosquito.component.d.ts +0 -50
  443. package/samples/sc-sample.module.d.ts +0 -19
  444. package/services/index.d.ts +0 -2
  445. package/services/print.service.d.ts +0 -31
  446. package/services/sc-help-notification.service.d.ts +0 -70
  447. package/share-button/index.d.ts +0 -2
  448. package/share-button/sc-share-button.component.d.ts +0 -22
  449. package/share-button/sc-share-button.module.d.ts +0 -12
  450. package/user/index.d.ts +0 -5
  451. package/user/reset-user-password/sc-reset-user-password.component.d.ts +0 -46
  452. package/user/sc-user.module.d.ts +0 -24
  453. package/user/update-user-info-dialog/sc-update-user-info-dialog.component.d.ts +0 -63
  454. package/user/user-managers/sc-user-managers.component.d.ts +0 -23
  455. package/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.d.ts +0 -53
  456. package/validators/index.d.ts +0 -6
  457. package/validators/sc-at-least-one-required-validator.d.ts +0 -10
  458. package/validators/sc-bic-validator.d.ts +0 -8
  459. package/validators/sc-correspondent-account-validator.d.ts +0 -8
  460. package/validators/sc-password-confirm-matching-validator.d.ts +0 -8
  461. package/validators/sc-phone-validator.d.ts +0 -5
  462. package/validators/step-validator.d.ts +0 -8
  463. package/verification/index.d.ts +0 -2
  464. package/verification/sc-verification.module.d.ts +0 -21
  465. package/verification/verification-phone-check-form/sc-verification-phone-check-form.component.d.ts +0 -145
@@ -1,86 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
- import { TuiButton, TuiDataList, TuiError, TuiLabel, TuiLink, TuiLoader } from '@taiga-ui/core';
5
- import { TuiButtonLoading, TuiCheckbox, TuiFieldErrorPipe } from '@taiga-ui/kit';
6
- import { TuiInputModule, TuiInputPasswordModule, TuiInputPhoneModule, TuiSelectModule, TuiTextfieldControllerModule } from '@taiga-ui/legacy';
7
- import { ScTerminalLinkDirective } from '../directives';
8
- import { ScLinks } from '../directives/links/sc-links';
9
- import { ScFormFieldsModule } from '../form-fields/form-fields.module';
10
- import { ScVerificationModule } from '../verification';
11
- import { ScResetUserPasswordComponent } from './reset-user-password/sc-reset-user-password.component';
12
- import { ScUpdateUserInfoDialogComponent } from './update-user-info-dialog/sc-update-user-info-dialog.component';
13
- import { ScUserManagersComponent } from './user-managers/sc-user-managers.component';
14
- import { ScUserPhoneApproveDialogComponent } from './user-phone-approve-dialog/sc-user-phone-approve-dialog.component';
15
- import * as i0 from "@angular/core";
16
- import * as i1 from "@taiga-ui/core";
17
- import * as i2 from "../directives/links/sc-tel-link.directive";
18
- import * as i3 from "../directives/links/sc-email-link.directive";
19
- import * as i4 from "../pipes/sc-phone-format";
20
- /**
21
- * Модуль компонентов пользователя.
22
- */
23
- export class ScUserModule {
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScUserModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
25
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ScUserModule, declarations: [ScResetUserPasswordComponent, ScUpdateUserInfoDialogComponent, ScUserPhoneApproveDialogComponent, ScUserManagersComponent], imports: [CommonModule,
26
- FormsModule,
27
- ReactiveFormsModule,
28
- TuiFieldErrorPipe,
29
- TuiInputPasswordModule,
30
- TuiButton,
31
- TuiError,
32
- TuiLabel,
33
- TuiTextfieldControllerModule,
34
- ScVerificationModule,
35
- ScFormFieldsModule,
36
- TuiLoader,
37
- TuiInputModule,
38
- TuiInputPhoneModule,
39
- TuiCheckbox, i1.TuiDataListComponent, i1.TuiDataListDirective, i1.TuiOption, i1.TuiOptionNew, i1.TuiOptionWithValue, i1.TuiOptGroup, TuiSelectModule,
40
- TuiLink,
41
- ScTerminalLinkDirective, i2.ScTelLinkDirective, i3.ScEmailLinkDirective, i4.ScPhoneFormatPipe, TuiButtonLoading], exports: [ScResetUserPasswordComponent, ScUpdateUserInfoDialogComponent, ScUserPhoneApproveDialogComponent, ScUserManagersComponent] }); }
42
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScUserModule, imports: [CommonModule,
43
- FormsModule,
44
- ReactiveFormsModule,
45
- TuiInputPasswordModule,
46
- TuiError,
47
- TuiTextfieldControllerModule,
48
- ScVerificationModule,
49
- ScFormFieldsModule,
50
- TuiLoader,
51
- TuiInputModule,
52
- TuiInputPhoneModule,
53
- TuiCheckbox, i1.TuiDataListComponent, i1.TuiOption, TuiSelectModule,
54
- TuiButtonLoading] }); }
55
- }
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScUserModule, decorators: [{
57
- type: NgModule,
58
- args: [{
59
- declarations: [ScResetUserPasswordComponent, ScUpdateUserInfoDialogComponent, ScUserPhoneApproveDialogComponent, ScUserManagersComponent],
60
- imports: [
61
- CommonModule,
62
- FormsModule,
63
- ReactiveFormsModule,
64
- TuiFieldErrorPipe,
65
- TuiInputPasswordModule,
66
- TuiButton,
67
- TuiError,
68
- TuiLabel,
69
- TuiTextfieldControllerModule,
70
- ScVerificationModule,
71
- ScFormFieldsModule,
72
- TuiLoader,
73
- TuiInputModule,
74
- TuiInputPhoneModule,
75
- TuiCheckbox,
76
- ...TuiDataList,
77
- TuiSelectModule,
78
- TuiLink,
79
- ScTerminalLinkDirective,
80
- ...ScLinks,
81
- TuiButtonLoading,
82
- ],
83
- exports: [ScResetUserPasswordComponent, ScUpdateUserInfoDialogComponent, ScUserPhoneApproveDialogComponent, ScUserManagersComponent],
84
- }]
85
- }] });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdXNlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvdXNlci9zYy11c2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUUsY0FBYyxFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTlJLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDdEcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDakgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDckYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sb0VBQW9FLENBQUM7Ozs7OztBQUV2SDs7R0FFRztBQTRCSCxNQUFNLE9BQU8sWUFBWTsrR0FBWixZQUFZO2dIQUFaLFlBQVksaUJBMUJOLDRCQUE0QixFQUFFLCtCQUErQixFQUFFLGlDQUFpQyxFQUFFLHVCQUF1QixhQUVwSSxZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsc0JBQXNCO1lBQ3RCLFNBQVM7WUFDVCxRQUFRO1lBQ1IsUUFBUTtZQUNSLDRCQUE0QjtZQUM1QixvQkFBb0I7WUFDcEIsa0JBQWtCO1lBQ2xCLFNBQVM7WUFDVCxjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLFdBQVcsMEhBRVgsZUFBZTtZQUNmLE9BQU87WUFDUCx1QkFBdUIsd0VBRXZCLGdCQUFnQixhQUVWLDRCQUE0QixFQUFFLCtCQUErQixFQUFFLGlDQUFpQyxFQUFFLHVCQUF1QjtnSEFFMUgsWUFBWSxZQXhCakIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFFbkIsc0JBQXNCO1lBRXRCLFFBQVE7WUFFUiw0QkFBNEI7WUFDNUIsb0JBQW9CO1lBQ3BCLGtCQUFrQjtZQUNsQixTQUFTO1lBQ1QsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixXQUFXLHlDQUVYLGVBQWU7WUFJZixnQkFBZ0I7OzRGQUlYLFlBQVk7a0JBM0J4QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLDRCQUE0QixFQUFFLCtCQUErQixFQUFFLGlDQUFpQyxFQUFFLHVCQUF1QixDQUFDO29CQUN6SSxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQixzQkFBc0I7d0JBQ3RCLFNBQVM7d0JBQ1QsUUFBUTt3QkFDUixRQUFRO3dCQUNSLDRCQUE0Qjt3QkFDNUIsb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLFNBQVM7d0JBQ1QsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsR0FBRyxXQUFXO3dCQUNkLGVBQWU7d0JBQ2YsT0FBTzt3QkFDUCx1QkFBdUI7d0JBQ3ZCLEdBQUcsT0FBTzt3QkFDVixnQkFBZ0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRSxDQUFDLDRCQUE0QixFQUFFLCtCQUErQixFQUFFLGlDQUFpQyxFQUFFLHVCQUF1QixDQUFDO2lCQUN2SSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUdWlCdXR0b24sIFR1aURhdGFMaXN0LCBUdWlFcnJvciwgVHVpTGFiZWwsIFR1aUxpbmssIFR1aUxvYWRlciB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFR1aUJ1dHRvbkxvYWRpbmcsIFR1aUNoZWNrYm94LCBUdWlGaWVsZEVycm9yUGlwZSB9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuaW1wb3J0IHsgVHVpSW5wdXRNb2R1bGUsIFR1aUlucHV0UGFzc3dvcmRNb2R1bGUsIFR1aUlucHV0UGhvbmVNb2R1bGUsIFR1aVNlbGVjdE1vZHVsZSwgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSB9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3knO1xuXG5pbXBvcnQgeyBTY1Rlcm1pbmFsTGlua0RpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgU2NMaW5rcyB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvbGlua3Mvc2MtbGlua3MnO1xuaW1wb3J0IHsgU2NGb3JtRmllbGRzTW9kdWxlIH0gZnJvbSAnLi4vZm9ybS1maWVsZHMvZm9ybS1maWVsZHMubW9kdWxlJztcbmltcG9ydCB7IFNjVmVyaWZpY2F0aW9uTW9kdWxlIH0gZnJvbSAnLi4vdmVyaWZpY2F0aW9uJztcbmltcG9ydCB7IFNjUmVzZXRVc2VyUGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL3Jlc2V0LXVzZXItcGFzc3dvcmQvc2MtcmVzZXQtdXNlci1wYXNzd29yZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2NVcGRhdGVVc2VySW5mb0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vdXBkYXRlLXVzZXItaW5mby1kaWFsb2cvc2MtdXBkYXRlLXVzZXItaW5mby1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFNjVXNlck1hbmFnZXJzQ29tcG9uZW50IH0gZnJvbSAnLi91c2VyLW1hbmFnZXJzL3NjLXVzZXItbWFuYWdlcnMuY29tcG9uZW50JztcbmltcG9ydCB7IFNjVXNlclBob25lQXBwcm92ZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vdXNlci1waG9uZS1hcHByb3ZlLWRpYWxvZy9zYy11c2VyLXBob25lLWFwcHJvdmUtZGlhbG9nLmNvbXBvbmVudCc7XG5cbi8qKlxuICog0JzQvtC00YPQu9GMINC60L7QvNC/0L7QvdC10L3RgtC+0LIg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICovXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1NjUmVzZXRVc2VyUGFzc3dvcmRDb21wb25lbnQsIFNjVXBkYXRlVXNlckluZm9EaWFsb2dDb21wb25lbnQsIFNjVXNlclBob25lQXBwcm92ZURpYWxvZ0NvbXBvbmVudCwgU2NVc2VyTWFuYWdlcnNDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgVHVpRmllbGRFcnJvclBpcGUsXG4gICAgICAgIFR1aUlucHV0UGFzc3dvcmRNb2R1bGUsXG4gICAgICAgIFR1aUJ1dHRvbixcbiAgICAgICAgVHVpRXJyb3IsXG4gICAgICAgIFR1aUxhYmVsLFxuICAgICAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxuICAgICAgICBTY1ZlcmlmaWNhdGlvbk1vZHVsZSxcbiAgICAgICAgU2NGb3JtRmllbGRzTW9kdWxlLFxuICAgICAgICBUdWlMb2FkZXIsXG4gICAgICAgIFR1aUlucHV0TW9kdWxlLFxuICAgICAgICBUdWlJbnB1dFBob25lTW9kdWxlLFxuICAgICAgICBUdWlDaGVja2JveCxcbiAgICAgICAgLi4uVHVpRGF0YUxpc3QsXG4gICAgICAgIFR1aVNlbGVjdE1vZHVsZSxcbiAgICAgICAgVHVpTGluayxcbiAgICAgICAgU2NUZXJtaW5hbExpbmtEaXJlY3RpdmUsXG4gICAgICAgIC4uLlNjTGlua3MsXG4gICAgICAgIFR1aUJ1dHRvbkxvYWRpbmcsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbU2NSZXNldFVzZXJQYXNzd29yZENvbXBvbmVudCwgU2NVcGRhdGVVc2VySW5mb0RpYWxvZ0NvbXBvbmVudCwgU2NVc2VyUGhvbmVBcHByb3ZlRGlhbG9nQ29tcG9uZW50LCBTY1VzZXJNYW5hZ2Vyc0NvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNjVXNlck1vZHVsZSB7fVxuIl19
@@ -1,121 +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 "../../verification/verification-phone-check-form/sc-verification-phone-check-form.component";
16
- import * as i6 from "../../form-fields/addresses-selection-field/sc-addresses-selection-field.component";
17
- import * as i7 from "../../form-fields/suggestion-field/sc-suggestion-field.component";
18
- import * as i8 from "@taiga-ui/legacy";
19
- import * as i9 from "@taiga-ui/kit";
20
- import * as i10 from "@taiga-ui/core/components/data-list";
21
- import * as i11 from "rxjs";
22
- /**
23
- * Диалоговое окно изменения данных пользователя.
24
- */
25
- export class ScUpdateUserInfoDialogComponent {
26
- /**
27
- * Инициализирует экземпляр класса {@link ScUpdateUserInfoDialogComponent}.
28
- *
29
- * @param user$ Поток данных о текущем пользователе.
30
- * @param userService Сервис данных о пользователе.
31
- * @param userMetrikaService Сервис для сбора метрик о действиях пользователей.
32
- * @param context Контекст диалогового окна, в котором открыт компонент.
33
- */
34
- constructor(user$, userService, userMetrikaService, context) {
35
- this.user$ = user$;
36
- this.userService = userService;
37
- this.userMetrikaService = userMetrikaService;
38
- this.context = context;
39
- /**
40
- * Перечисление типов подсказок.
41
- */
42
- this.suggestionType = ScISuggestionType;
43
- /**
44
- * Группа полей ввода формы общих данных пользователя для их редактирования.
45
- */
46
- this.form = new FormGroup({
47
- name: new FormControl(null, [Validators.required, Validators.minLength(3)]),
48
- email: new FormControl(null, [Validators.required, Validators.email]),
49
- phone: new FormControl(null, [Validators.required, phoneValidator()]),
50
- verificationCode: new FormControl(null, [Validators.required, Validators.minLength(6)]),
51
- cityId: new FormControl(null, Validators.required),
52
- getNews: new FormControl(false),
53
- });
54
- /**
55
- * Сигнал нажатия на кнопку "Отмена".
56
- */
57
- this.cancelButtonClick = new EventEmitter();
58
- /**
59
- * Сигнал события успешного обновления данных пользователя.
60
- */
61
- this.successUpdateDate = this.user$.pipe(skip(1));
62
- /**
63
- * {@link Subject} события отправки формы.
64
- */
65
- this.onSubmit = new Subject();
66
- /**
67
- * {@link Observable} запроса обновления данных пользователя.
68
- */
69
- 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) => {
70
- const errorResponse = error.error;
71
- for (const key in errorResponse.errors) {
72
- // eslint-disable-next-line security/detect-object-injection
73
- this.form.get(key)?.setErrors({ serverResponse: errorResponse.errors[key] });
74
- }
75
- if (!errorResponse.errors && errorResponse.message) {
76
- this.form.setErrors({ serverResponse: [errorResponse.message] });
77
- }
78
- return of({});
79
- }), startWith(null))));
80
- /**
81
- * {@link Observable} изменения состояния загрузки данных аутентификации по email.
82
- */
83
- this.loading$ = this.request$.pipe(map(tuiIsFalsy));
84
- this.user$
85
- .pipe(filter((user) => !user.isGuest), takeUntilDestroyed())
86
- .subscribe((user) => {
87
- this.form.patchValue({
88
- name: user.name,
89
- email: user.contacts.email.value,
90
- phone: user.contacts.phone.value,
91
- cityId: user.city,
92
- getNews: user.getNews,
93
- }, { emitEvent: false });
94
- });
95
- }
96
- /** @inheritdoc */
97
- ngAfterViewInit() {
98
- this.userMetrikaService.emitUserMetrikaEvent({
99
- target: ScUserMetrikaGoalsEnum.userProfileEditShow,
100
- });
101
- }
102
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScUpdateUserInfoDialogComponent, deps: [{ token: SC_USER_INFO }, { token: i1.ScUserService }, { token: i1.ScUserMetrikaService }, { token: POLYMORPHEUS_CONTEXT, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
103
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", 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 @let phoneIsChange = user.contacts.phone.value === form.value.phone;\n <sc-verification-phone-check-form\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: "component", type: i5.ScVerificationPhoneCheckFormComponent, selector: "sc-verification-phone-check-form", inputs: ["showCodeFields", "readOnly", "pseudoInvalid", "required", "subtitle", "shouldBeBusy", "shouldBeConfirmed", "haveCode"], outputs: ["haveCodeChange", "isBusyChange", "isConfirmedChange"] }, { kind: "component", type: i6.ScAddressesSelectionFieldComponent, selector: "sc-addresses-selection-field", inputs: ["canSelectCountry"], outputs: ["canSelectCountryChange"] }, { kind: "component", type: i7.ScSuggestionFieldComponent, selector: "sc-suggestion-field", inputs: ["type"], outputs: ["selectedClick"] }, { kind: "component", type: i8.TuiInputComponent, selector: "tui-input" }, { kind: "directive", type: i8.TuiInputDirective, selector: "tui-input" }, { kind: "component", type: i9.TuiCheckbox, selector: "input[type=\"checkbox\"][tuiCheckbox]", inputs: ["size"] }, { kind: "directive", type: i10.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "component", type: i9.TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.TuiFieldErrorPipe, name: "tuiFieldError" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
104
- }
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScUpdateUserInfoDialogComponent, decorators: [{
106
- type: Component,
107
- 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 @let phoneIsChange = user.contacts.phone.value === form.value.phone;\n <sc-verification-phone-check-form\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" }]
108
- }], ctorParameters: () => [{ type: i11.Observable, decorators: [{
109
- type: Inject,
110
- args: [SC_USER_INFO]
111
- }] }, { type: i1.ScUserService }, { type: i1.ScUserMetrikaService }, { type: undefined, decorators: [{
112
- type: Optional
113
- }, {
114
- type: Inject,
115
- args: [POLYMORPHEUS_CONTEXT]
116
- }] }], propDecorators: { cancelButtonClick: [{
117
- type: Output
118
- }], successUpdateDate: [{
119
- type: Output
120
- }] } });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdXBkYXRlLXVzZXItaW5mby1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3VzZXIvdXBkYXRlLXVzZXItaW5mby1kaWFsb2cvc2MtdXBkYXRlLXVzZXItaW5mby1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3VzZXIvdXBkYXRlLXVzZXItaW5mby1kaWFsb2cvc2MtdXBkYXRlLXVzZXItaW5mby1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFpQix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFHSCxpQkFBaUIsRUFHakIsc0JBQXNCLEdBR3pCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFekcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7OztBQUVyRTs7R0FF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Ozs0RkQzQ2EsK0JBQStCO2tCQUwzQyxTQUFTOytCQUNJLDRCQUE0QixtQkFFckIsdUJBQXVCLENBQUMsTUFBTTs7MEJBK0UxQyxNQUFNOzJCQUFDLFlBQVk7OzBCQUduQixRQUFROzswQkFDUixNQUFNOzJCQUFDLG9CQUFvQjt5Q0EzRGhCLGlCQUFpQjtzQkFEaEMsTUFBTTtnQkFPUyxpQkFBaUI7c0JBRGhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBndWFyZC1mb3ItaW4sQHR5cGVzY3JpcHQtZXNsaW50L3VuYm91bmQtbWV0aG9kLHJ4anMvbm8taW1wbGljaXQtYW55LWNhdGNoLG5vLXJlc3RyaWN0ZWQtc3ludGF4ICovXG5cbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIE9wdGlvbmFsLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIFNjSUFwaUVycm9yUmVzcG9uc2UsXG4gICAgU2NJUGhvbmVPbkRhdGFBcHByb3ZlLFxuICAgIFNjSVN1Z2dlc3Rpb25UeXBlLFxuICAgIFNjSVVzZXJPbkRhdGFVcGRhdGUsXG4gICAgU2NVc2VyLFxuICAgIFNjVXNlck1ldHJpa2FHb2Fsc0VudW0sXG4gICAgU2NVc2VyTWV0cmlrYVNlcnZpY2UsXG4gICAgU2NVc2VyU2VydmljZSxcbn0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyB0dWlJc0ZhbHN5IH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyBUdWlEaWFsb2dDb250ZXh0IH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgUE9MWU1PUlBIRVVTX0NPTlRFWFQgfSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc2tpcCwgc3RhcnRXaXRoLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTQ19VU0VSX0lORk8gfSBmcm9tICcuLi8uLi9wcm92aWRlcnMnO1xuaW1wb3J0IHsgcGhvbmVWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzL3NjLXBob25lLXZhbGlkYXRvcic7XG5cbi8qKlxuICog0JTQuNCw0LvQvtCz0L7QstC+0LUg0L7QutC90L4g0LjQt9C80LXQvdC10L3QuNGPINC00LDQvdC90YvRhSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2MtdXBkYXRlLXVzZXItaW5mby1kaWFsb2cnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy11cGRhdGUtdXNlci1pbmZvLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjVXBkYXRlVXNlckluZm9EaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICAvKipcbiAgICAgKiDQn9C10YDQtdGH0LjRgdC70LXQvdC40LUg0YLQuNC/0L7QsiDQv9C+0LTRgdC60LDQt9C+0LouXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHN1Z2dlc3Rpb25UeXBlOiB0eXBlb2YgU2NJU3VnZ2VzdGlvblR5cGUgPSBTY0lTdWdnZXN0aW9uVHlwZTtcblxuICAgIC8qKlxuICAgICAqINCT0YDRg9C/0L/QsCDQv9C+0LvQtdC5INCy0LLQvtC00LAg0YTQvtGA0LzRiyDQvtCx0YnQuNGFINC00LDQvdC90YvRhSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0LTQu9GPINC40YUg0YDQtdC00LDQutGC0LjRgNC+0LLQsNC90LjRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBuYW1lOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDMpXSksXG4gICAgICAgIGVtYWlsOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdKSxcbiAgICAgICAgcGhvbmU6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgcGhvbmVWYWxpZGF0b3IoKV0pLFxuICAgICAgICB2ZXJpZmljYXRpb25Db2RlOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDYpXSksXG4gICAgICAgIGNpdHlJZDogbmV3IEZvcm1Db250cm9sPG51bWJlciB8IG51bGw+KG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgICBnZXROZXdzOiBuZXcgRm9ybUNvbnRyb2w8Ym9vbGVhbj4oZmFsc2UpLFxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICog0KHQuNCz0L3QsNC7INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDIFwi0J7RgtC80LXQvdCwXCIuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGNhbmNlbEJ1dHRvbkNsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC40LPQvdCw0Lsg0YHQvtCx0YvRgtC40Y8g0YPRgdC/0LXRiNC90L7Qs9C+INC+0LHQvdC+0LLQu9C10L3QuNGPINC00LDQvdC90YvRhSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IHN1Y2Nlc3NVcGRhdGVEYXRlOiBPYnNlcnZhYmxlPFNjVXNlcj4gPSB0aGlzLnVzZXIkLnBpcGUoc2tpcCgxKSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgU3ViamVjdH0g0YHQvtCx0YvRgtC40Y8g0L7RgtC/0YDQsNCy0LrQuCDRhNC+0YDQvNGLLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBvblN1Ym1pdDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LfQsNC/0YDQvtGB0LAg0L7QsdC90L7QstC70LXQvdC40Y8g0LTQsNC90L3Ri9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlcXVlc3QkID0gdGhpcy5vblN1Ym1pdC5waXBlKFxuICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5mb3JtLnZhbGlkKSxcbiAgICAgICAgbWFwKCgpID0+IHRoaXMuZm9ybS52YWx1ZSBhcyBTY0lVc2VyT25EYXRhVXBkYXRlIHwgU2NJUGhvbmVPbkRhdGFBcHByb3ZlKSxcbiAgICAgICAgc3dpdGNoTWFwKCh2YWx1ZSkgPT5cbiAgICAgICAgICAgIHRoaXMudXNlclNlcnZpY2UudXBkYXRlVXNlckluZm8kKHZhbHVlKS5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnVzZXJTZXJ2aWNlLnVwZGF0ZVVzZXJDaGFuZ2UkKCkpLFxuICAgICAgICAgICAgICAgIHRhcCgodXNlcikgPT4gdGhpcy5jb250ZXh0Py5jb21wbGV0ZVdpdGgodXNlcikpLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvclJlc3BvbnNlID0gZXJyb3IuZXJyb3IgYXMgU2NJQXBpRXJyb3JSZXNwb25zZTtcblxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBlcnJvclJlc3BvbnNlLmVycm9ycykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlY3VyaXR5L2RldGVjdC1vYmplY3QtaW5qZWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0uZ2V0KGtleSk/LnNldEVycm9ycyh7IHNlcnZlclJlc3BvbnNlOiBlcnJvclJlc3BvbnNlLmVycm9yc1trZXldIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFlcnJvclJlc3BvbnNlLmVycm9ycyAmJiBlcnJvclJlc3BvbnNlLm1lc3NhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5zZXRFcnJvcnMoeyBzZXJ2ZXJSZXNwb25zZTogW2Vycm9yUmVzcG9uc2UubWVzc2FnZV0gfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHt9IGFzIFNjVXNlcik7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKG51bGwpXG4gICAgICAgICAgICApXG4gICAgICAgIClcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDRgdC+0YHRgtC+0Y/QvdC40Y8g0LfQsNCz0YDRg9C30LrQuCDQtNCw0L3QvdGL0YUg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuCDQv9C+IGVtYWlsLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMucmVxdWVzdCQucGlwZShtYXAodHVpSXNGYWxzeSkpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY1VwZGF0ZVVzZXJJbmZvRGlhbG9nQ29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB1c2VyJCDQn9C+0YLQvtC6INC00LDQvdC90YvRhSDQviDRgtC10LrRg9GJ0LXQvCDQv9C+0LvRjNC30L7QstCw0YLQtdC70LUuXG4gICAgICogQHBhcmFtIHVzZXJTZXJ2aWNlINCh0LXRgNCy0LjRgSDQtNCw0L3QvdGL0YUg0L4g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C1LlxuICAgICAqIEBwYXJhbSB1c2VyTWV0cmlrYVNlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LvRjyDRgdCx0L7RgNCwINC80LXRgtGA0LjQuiDQviDQtNC10LnRgdGC0LLQuNGP0YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LkuXG4gICAgICogQHBhcmFtIGNvbnRleHQg0JrQvtC90YLQtdC60YHRgiDQtNC40LDQu9C+0LPQvtCy0L7Qs9C+INC+0LrQvdCwLCDQsiDQutC+0YLQvtGA0L7QvCDQvtGC0LrRgNGL0YIg0LrQvtC80L/QvtC90LXQvdGCLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChTQ19VU0VSX0lORk8pIHB1YmxpYyByZWFkb25seSB1c2VyJDogT2JzZXJ2YWJsZTxTY1VzZXI+LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJTZXJ2aWNlOiBTY1VzZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJNZXRyaWthU2VydmljZTogU2NVc2VyTWV0cmlrYVNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoUE9MWU1PUlBIRVVTX0NPTlRFWFQpXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBjb250ZXh0PzogVHVpRGlhbG9nQ29udGV4dDxTY1VzZXIsIFNjVXBkYXRlVXNlckluZm9EaWFsb2dDb21wb25lbnQ+XG4gICAgKSB7XG4gICAgICAgIHRoaXMudXNlciRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigodXNlcikgPT4gIXVzZXIuaXNHdWVzdCksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHVzZXIpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZShcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogdXNlci5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW1haWw6IHVzZXIuY29udGFjdHMuZW1haWwudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBwaG9uZTogdXNlci5jb250YWN0cy5waG9uZS52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNpdHlJZDogdXNlci5jaXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0TmV3czogdXNlci5nZXROZXdzLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7IGVtaXRFdmVudDogZmFsc2UgfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGluaGVyaXRkb2MgKi9cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVzZXJNZXRyaWthU2VydmljZS5lbWl0VXNlck1ldHJpa2FFdmVudCh7XG4gICAgICAgICAgICB0YXJnZXQ6IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0udXNlclByb2ZpbGVFZGl0U2hvdyxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGZvcm1cbiAgICBbZm9ybUdyb3VwXT1cImZvcm1cIlxuICAgICpuZ0lmPVwidXNlciQgfCBhc3luYyBhcyB1c2VyXCJcbiAgICAobmdTdWJtaXQpPVwib25TdWJtaXQubmV4dCgpXCJcbiAgICBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTRcIlxuPlxuICAgIDxsYWJlbCB0dWlMYWJlbFxuICAgICAgICA+e3sgdXNlci5pc09yZyA/ICfQndCw0LfQstCw0L3QuNC1INC+0YDQs9Cw0L3QuNC30LDRhtC40Lgg0LjQu9C4INCY0J8nIDogJ9CkLtCYLtCeLicgfX1cbiAgICAgICAgPHR1aS1pbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCI+XG4gICAgICAgICAgICB7eyB1c2VyLmlzT3JnID8gJ9Cd0LDQt9Cy0LDQvdC40LUg0L7RgNCz0LDQvdC40LfQsNGG0LjQuCDQuNC70Lgg0JjQnycgOiAn0KQu0Jgu0J4uJyB9fVxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVzZXIuaXNPcmdcIj5cbiAgICAgICAgICAgICAgICA8c2Mtc3VnZ2VzdGlvbi1maWVsZFxuICAgICAgICAgICAgICAgICAgICAqdHVpRGF0YUxpc3RcbiAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwic3VnZ2VzdGlvblR5cGUub3JnYW5pemF0aW9uXCJcbiAgICAgICAgICAgICAgICA+PC9zYy1zdWdnZXN0aW9uLWZpZWxkPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdHVpLWlucHV0PlxuICAgICAgICA8dHVpLWVycm9yXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCJcbiAgICAgICAgICAgIFtlcnJvcl09XCJbXSB8IHR1aUZpZWxkRXJyb3IgfCBhc3luY1wiXG4gICAgICAgID48L3R1aS1lcnJvcj5cbiAgICA8L2xhYmVsPlxuICAgIEBsZXQgcGhvbmVJc0NoYW5nZSA9IHVzZXIuY29udGFjdHMucGhvbmUudmFsdWUgPT09IGZvcm0udmFsdWUucGhvbmU7XG4gICAgPHNjLXZlcmlmaWNhdGlvbi1waG9uZS1jaGVjay1mb3JtXG4gICAgICAgIFtzaG93Q29kZUZpZWxkc109XCIhcGhvbmVJc0NoYW5nZVwiXG4gICAgICAgIFtzaG91bGRCZUJ1c3ldPVwicGhvbmVJc0NoYW5nZVwiXG4gICAgICAgIGNsYXNzPVwidy1mdWxsXCJcbiAgICA+PC9zYy12ZXJpZmljYXRpb24tcGhvbmUtY2hlY2stZm9ybT5cbiAgICA8bGFiZWxcbiAgICAgICAgdHVpTGFiZWxcbiAgICAgICAgY2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgICA+0JDQtNGA0LXRgSDRjdC70LXQutGC0YDQvtC90L3QvtC5INC/0L7Rh9GC0YtcbiAgICAgICAgPHR1aS1pbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbFwiPlxuICAgICAgICAgICAg0JDQtNGA0LXRgSDRjdC70LXQutGC0YDQvtC90L3QvtC5INC/0L7Rh9GC0YtcbiAgICAgICAgICAgIDxzYy1zdWdnZXN0aW9uLWZpZWxkXG4gICAgICAgICAgICAgICAgKnR1aURhdGFMaXN0XG4gICAgICAgICAgICAgICAgW3R5cGVdPVwic3VnZ2VzdGlvblR5cGUuZW1haWxcIlxuICAgICAgICAgICAgPjwvc2Mtc3VnZ2VzdGlvbi1maWVsZD5cbiAgICAgICAgPC90dWktaW5wdXQ+XG4gICAgICAgIDx0dWktZXJyb3JcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCJcbiAgICAgICAgICAgIFtlcnJvcl09XCJbXSB8IHR1aUZpZWxkRXJyb3IgfCBhc3luY1wiXG4gICAgICAgID48L3R1aS1lcnJvcj5cbiAgICA8L2xhYmVsPlxuICAgIDxzYy1hZGRyZXNzZXMtc2VsZWN0aW9uLWZpZWxkPjwvc2MtYWRkcmVzc2VzLXNlbGVjdGlvbi1maWVsZD5cbiAgICA8bGFiZWwgdHVpTGFiZWw+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHVpQ2hlY2tib3hcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJnZXROZXdzXCJcbiAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsXCJcbiAgICAgICAgLz5cbiAgICAgICAg0K8g0YXQvtGH0YMg0L/QvtC70YPRh9Cw0YLRjCDRgNCw0YHRgdGL0LvQutGDINCh0L3QsNCx0YbQtdC90YLRgCDQviDRgdC60LjQtNC60LDRhSDQuCDQvdC+0LLQvtGB0YLRj9GFINC/0L4g0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtC1LlxuICAgIDwvbGFiZWw+XG4gICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jZW50ZXIgZ2FwLTRcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPVwiY29udGV4dCA/IGNvbnRleHQuJGltcGxpY2l0LmNvbXBsZXRlKCkgOiBjYW5jZWxCdXR0b25DbGljay5lbWl0KClcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLnhcIlxuICAgICAgICAgICAgYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiXG4gICAgICAgID5cbiAgICAgICAgICAgINCe0YLQvNC10L3QsFxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkXCJcbiAgICAgICAgICAgIFtsb2FkaW5nXT1cIiEhKGxvYWRpbmckIHwgYXN5bmMpXCJcbiAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5zYXZlXCJcbiAgICAgICAgPlxuICAgICAgICAgICAg0KHQvtGF0YDQsNC90LjRgtGMXG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9mb3JtPlxuIl19
@@ -1,40 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, inject, Output } from '@angular/core';
2
- import { ScUserService } from '@snabcentr/client-core';
3
- import { map } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "@taiga-ui/core";
7
- import * as i3 from "../../directives/terminal-link/sc-terminal-link.directive";
8
- import * as i4 from "../../directives/links/sc-tel-link.directive";
9
- import * as i5 from "../../directives/links/sc-email-link.directive";
10
- import * as i6 from "../../pipes/sc-phone-format";
11
- /**
12
- * Компонент персональных менеджеров пользователя.
13
- */
14
- export class ScUserManagersComponent {
15
- constructor() {
16
- /**
17
- * Событие нажатия на кнопку QR кода.
18
- */
19
- this.qrClickEvent = new EventEmitter();
20
- /**
21
- * Сервис данных о пользователе.
22
- */
23
- this.userService = inject(ScUserService);
24
- /**
25
- * Персональные менеджеры пользователя.
26
- */
27
- this.managers$ = this.userService
28
- .getUserChange$()
29
- .pipe(map((user) => user.managers?.filter((manager) => !manager.isRegionalDirector || manager.isPrimary)));
30
- }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScUserManagersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", 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: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: i2.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: i3.ScTerminalLinkDirective, selector: "a[href]" }, { kind: "directive", type: i4.ScTelLinkDirective, selector: "a[scTelLink]", inputs: ["scTelLink", "linkLocation"] }, { kind: "directive", type: i5.ScEmailLinkDirective, selector: "a[scEmailLink]", inputs: ["linkLocation"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.ScPhoneFormatPipe, name: "scPhoneFormat" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
33
- }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScUserManagersComponent, decorators: [{
35
- type: Component,
36
- 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"] }]
37
- }], propDecorators: { qrClickEvent: [{
38
- type: Output
39
- }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdXNlci1tYW5hZ2Vycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvdXNlci91c2VyLW1hbmFnZXJzL3NjLXVzZXItbWFuYWdlcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3VzZXIvdXNlci1tYW5hZ2Vycy9zYy11c2VyLW1hbmFnZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBRXZDOztHQUVHO0FBT0gsTUFBTSxPQUFPLHVCQUF1QjtJQU5wQztRQU9JOztXQUVHO1FBRWEsaUJBQVksR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUV4Rjs7V0FFRztRQUNjLGdCQUFXLEdBQWtCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVwRTs7V0FFRztRQUNhLGNBQVMsR0FBeUMsSUFBSSxDQUFDLFdBQVc7YUFDN0UsY0FBYyxFQUFFO2FBQ2hCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2xIOytHQWxCWSx1QkFBdUI7bUdBQXZCLHVCQUF1QixtR0NicEMscytDQXVDQTs7NEZEMUJhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDSSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTs4QkFPL0IsWUFBWTtzQkFEM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNjSU1hbmFnZXIsIFNjVXNlclNlcnZpY2UgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDQv9C10YDRgdC+0L3QsNC70YzQvdGL0YUg0LzQtdC90LXQtNC20LXRgNC+0LIg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXVzZXItbWFuYWdlcnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy11c2VyLW1hbmFnZXJzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zYy11c2VyLW1hbmFnZXJzLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjVXNlck1hbmFnZXJzQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyBRUiDQutC+0LTQsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgcXJDbGlja0V2ZW50OiBFdmVudEVtaXR0ZXI8U2NJTWFuYWdlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNjSU1hbmFnZXI+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQsNC90L3Ri9GFINC+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJTZXJ2aWNlOiBTY1VzZXJTZXJ2aWNlID0gaW5qZWN0KFNjVXNlclNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog0J/QtdGA0YHQvtC90LDQu9GM0L3Ri9C1INC80LXQvdC10LTQttC10YDRiyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IG1hbmFnZXJzJDogT2JzZXJ2YWJsZTxTY0lNYW5hZ2VyW10gfCB1bmRlZmluZWQ+ID0gdGhpcy51c2VyU2VydmljZVxuICAgICAgICAuZ2V0VXNlckNoYW5nZSQoKVxuICAgICAgICAucGlwZShtYXAoKHVzZXIpID0+IHVzZXIubWFuYWdlcnM/LmZpbHRlcigobWFuYWdlcikgPT4gIW1hbmFnZXIuaXNSZWdpb25hbERpcmVjdG9yIHx8IG1hbmFnZXIuaXNQcmltYXJ5KSkpO1xufVxuIiwiPHAgY2xhc3M9XCJtYi0yIGZvbnQtZXh0cmFib2xkXCI+0JLQsNGI0Lgg0L/QtdGA0YHQvtC90LDQu9GM0L3Ri9C1INC80LXQvdC10LTQttC10YDRizo8L3A+XG48bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtYW5hZ2VyIG9mIG1hbmFnZXJzJCB8IGFzeW5jOyBsZXQgbGFzdCA9IGxhc3RcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTEgIWZvbnQtbWVkaXVtIHRleHQtdHVpLXRleHQtMDJcIj5cbiAgICAgICAgICAgIHt7IG1hbmFnZXIubmFtZSB9fVxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgW3BzZXVkb109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBzY0VtYWlsTGlua1xuICAgICAgICAgICAgICAgIGxpbmtMb2NhdGlvbj1cInVzZXItbWFuYWdlcnNcIlxuICAgICAgICAgICAgICAgIGhyZWY9XCJtYWlsdG86e3sgbWFuYWdlci5jb250YWN0cy5lbWFpbCB9fVwiXG4gICAgICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5tYWlsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBtYW5hZ2VyLmNvbnRhY3RzLmVtYWlsIH19XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICBbc2NUZWxMaW5rXT1cIm1hbmFnZXIuY29udGFjdHMucGhvbmVcIlxuICAgICAgICAgICAgICAgIFtwc2V1ZG9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgbGlua0xvY2F0aW9uPVwidXNlci1tYW5hZ2Vyc1wiXG4gICAgICAgICAgICAgICAgaHJlZj1cInRlbDp7eyBtYW5hZ2VyLmNvbnRhY3RzLnBob25lIHwgc2NQaG9uZUZvcm1hdCB9fVwiXG4gICAgICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5waG9uZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgbWFuYWdlci5jb250YWN0cy5waG9uZSB8IHNjUGhvbmVGb3JtYXQgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5zY2FuLXFyLWNvZGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInFyQ2xpY2tFdmVudC5lbWl0KG1hbmFnZXIpXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxoclxuICAgICAgICAqbmdJZj1cIiFsYXN0XCJcbiAgICAgICAgY2xhc3M9XCJteS0yIGgtcHggYm9yZGVyLTAgYmctdHVpLWJhc2UtMDRcIlxuICAgIC8+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,105 +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 "../../verification/verification-phone-check-form/sc-verification-phone-check-form.component";
18
- import * as i6 from "@taiga-ui/kit";
19
- import * as i7 from "rxjs";
20
- /**
21
- * Диалоговое окно подтверждения номера телефона.
22
- */
23
- export class ScUserPhoneApproveDialogComponent {
24
- /**
25
- * Инициализирует экземпляр класса {@link ScUserPhoneApproveDialogComponent}.
26
- *
27
- * @param verificationService Сервис верификации.
28
- * @param userMetrikaService Сервис для сбора метрик о действиях пользователей.
29
- * @param user$ Поток данных о текущем пользователе.
30
- * @param userService Сервис данных о пользователе.
31
- * @param context Контекст диалогового окна, в котором открыт компонент.
32
- */
33
- constructor(verificationService, userMetrikaService, user$, userService, context) {
34
- this.verificationService = verificationService;
35
- this.userMetrikaService = userMetrikaService;
36
- this.user$ = user$;
37
- this.userService = userService;
38
- this.context = context;
39
- /**
40
- * Наличие кода подтверждения у пользователя.
41
- */
42
- this.haveCode = false;
43
- /**
44
- * Группа полей ввода для подтверждения номера телефона.
45
- */
46
- this.form = new FormGroup({
47
- phone: new FormControl(null, [Validators.required, phoneValidator()]),
48
- verificationCode: new FormControl(null, [Validators.required, Validators.minLength(6)]),
49
- });
50
- /**
51
- * {@link Subject} события отправки формы.
52
- */
53
- this.onSubmit = new Subject();
54
- /**
55
- * {@link Observable} запроса подтверждения номера телефона.
56
- */
57
- 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) => {
58
- if (error instanceof HttpErrorResponse) {
59
- const { errors, message } = error.error;
60
- for (const key in errors) {
61
- if (Object.hasOwn(errors, key)) {
62
- // eslint-disable-next-line security/detect-object-injection
63
- this.form.get(key)?.setErrors({ serverResponse: errors[key] });
64
- }
65
- }
66
- if (!errors && message) {
67
- this.form.setErrors({ serverResponse: [message] });
68
- }
69
- }
70
- return of({});
71
- }), startWith(null))), share());
72
- /**
73
- * {@link Observable} изменения состояния запроса подтверждения номера телефона..
74
- */
75
- this.loading$ = this.request$.pipe(map(tuiIsFalsy));
76
- this.user$
77
- .pipe(filter((user) => !user.isGuest), takeUntilDestroyed())
78
- .subscribe((user) => {
79
- this.form.patchValue({
80
- phone: user.contacts.phone.value,
81
- });
82
- });
83
- }
84
- /** @inheritdoc */
85
- ngAfterViewInit() {
86
- this.userMetrikaService.emitUserMetrikaEvent({
87
- target: ScUserMetrikaGoalsEnum.userProfileApprovePhoneShow,
88
- });
89
- }
90
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", 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 }); }
91
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ScUserPhoneApproveDialogComponent, selector: "sc-user-phone-approve-dialog", ngImport: i0, template: "<ng-container *ngIf=\"user$ | async as user\">\n @let loadingApproveCode = !!(loading$ | async);\n <form\n [formGroup]=\"form\"\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: "component", type: i5.ScVerificationPhoneCheckFormComponent, selector: "sc-verification-phone-check-form", inputs: ["showCodeFields", "readOnly", "pseudoInvalid", "required", "subtitle", "shouldBeBusy", "shouldBeConfirmed", "haveCode"], outputs: ["haveCodeChange", "isBusyChange", "isConfirmedChange"] }, { kind: "component", type: i6.TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
92
- }
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScUserPhoneApproveDialogComponent, decorators: [{
94
- type: Component,
95
- args: [{ selector: 'sc-user-phone-approve-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"user$ | async as user\">\n @let loadingApproveCode = !!(loading$ | async);\n <form\n [formGroup]=\"form\"\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" }]
96
- }], ctorParameters: () => [{ type: i1.ScVerificationService }, { type: i1.ScUserMetrikaService }, { type: i7.Observable, decorators: [{
97
- type: Inject,
98
- args: [SC_USER_INFO]
99
- }] }, { type: i1.ScUserService }, { type: undefined, decorators: [{
100
- type: Optional
101
- }, {
102
- type: Inject,
103
- args: [POLYMORPHEUS_CONTEXT]
104
- }] }] });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdXNlci1waG9uZS1hcHByb3ZlLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvdXNlci91c2VyLXBob25lLWFwcHJvdmUtZGlhbG9nL3NjLXVzZXItcGhvbmUtYXBwcm92ZS1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3VzZXIvdXNlci1waG9uZS1hcHByb3ZlLWRpYWxvZy9zYy11c2VyLXBob25lLWFwcHJvdmUtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJFQUEyRTtBQUUzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFLSCxzQkFBc0IsR0FJekIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFN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QztRQXFCaEYsSUFBSSxDQUFDLEtBQUs7YUFDTCxJQUFJLENBQ0QsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFDL0Isa0JBQWtCLEVBQUUsQ0FDdkI7YUFDQSxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztnQkFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUs7YUFDbkMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsZUFBZTtRQUNsQixJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUM7WUFDekMsTUFBTSxFQUFFLHNCQUFzQixDQUFDLDJCQUEyQjtTQUM3RCxDQUFDLENBQUM7SUFDUCxDQUFDOytHQTlGUSxpQ0FBaUMsMkZBc0U5QixZQUFZLDBDQUlaLG9CQUFvQjttR0ExRXZCLGlDQUFpQyxvRUNoQzlDLDY5Q0F5Q0E7OzRGRFRhLGlDQUFpQztrQkFMN0MsU0FBUzsrQkFDSSw4QkFBOEIsbUJBRXZCLHVCQUF1QixDQUFDLE1BQU07OzBCQXdFMUMsTUFBTTsyQkFBQyxZQUFZOzswQkFHbkIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1yZXN0cmljdGVkLXN5bnRheCxAdHlwZXNjcmlwdC1lc2xpbnQvdW5ib3VuZC1tZXRob2QgKi9cblxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBTY0FwcHJvdmVkRGF0YSxcbiAgICBTY0lBcGlFcnJvclJlc3BvbnNlLFxuICAgIFNjSVBob25lT25EYXRhQXBwcm92ZSxcbiAgICBTY1VzZXIsXG4gICAgU2NVc2VyTWV0cmlrYUdvYWxzRW51bSxcbiAgICBTY1VzZXJNZXRyaWthU2VydmljZSxcbiAgICBTY1VzZXJTZXJ2aWNlLFxuICAgIFNjVmVyaWZpY2F0aW9uU2VydmljZSxcbn0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyB0dWlJc0ZhbHN5IH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyBUdWlEaWFsb2dDb250ZXh0IH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgUE9MWU1PUlBIRVVTX0NPTlRFWFQgfSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc2hhcmUsIHN0YXJ0V2l0aCwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU0NfVVNFUl9JTkZPIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL3NjLXVzZXItcHJvdmlkZXJzJztcbmltcG9ydCB7IHBob25lVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycy9zYy1waG9uZS12YWxpZGF0b3InO1xuXG4vKipcbiAqINCU0LjQsNC70L7Qs9C+0LLQvtC1INC+0LrQvdC+INC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPINC90L7QvNC10YDQsCDRgtC10LvQtdGE0L7QvdCwLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXVzZXItcGhvbmUtYXBwcm92ZS1kaWFsb2cnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy11c2VyLXBob25lLWFwcHJvdmUtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NVc2VyUGhvbmVBcHByb3ZlRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqXG4gICAgICog0J3QsNC70LjRh9C40LUg0LrQvtC00LAg0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0YMg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIHB1YmxpYyBoYXZlQ29kZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog0JPRgNGD0L/Qv9CwINC/0L7Qu9C10Lkg0LLQstC+0LTQsCDQtNC70Y8g0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0L3QvtC80LXRgNCwINGC0LXQu9C10YTQvtC90LAuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgcGhvbmU6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgcGhvbmVWYWxpZGF0b3IoKV0pLFxuICAgICAgICB2ZXJpZmljYXRpb25Db2RlOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDYpXSksXG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgU3ViamVjdH0g0YHQvtCx0YvRgtC40Y8g0L7RgtC/0YDQsNCy0LrQuCDRhNC+0YDQvNGLLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBvblN1Ym1pdDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LfQsNC/0YDQvtGB0LAg0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0L3QvtC80LXRgNCwINGC0LXQu9C10YTQvtC90LAuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXF1ZXN0JCA9IHRoaXMub25TdWJtaXQucGlwZShcbiAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuZm9ybS52YWxpZCksXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLmZvcm0udmFsdWUgYXMgU2NJUGhvbmVPbkRhdGFBcHByb3ZlKSxcbiAgICAgICAgc3dpdGNoTWFwKCh2YWx1ZSkgPT5cbiAgICAgICAgICAgIHRoaXMudmVyaWZpY2F0aW9uU2VydmljZS5hcHByb3ZlUGhvbmUodmFsdWUpLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMudXNlclNlcnZpY2UudXBkYXRlVXNlckNoYW5nZSQoKSksXG4gICAgICAgICAgICAgICAgdGFwKCh1c2VyKSA9PiB0aGlzLmNvbnRleHQ/LmNvbXBsZXRlV2l0aCh1c2VyLmNvbnRhY3RzLnBob25lKSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgZXJyb3JzLCBtZXNzYWdlIH0gPSBlcnJvci5lcnJvciBhcyBTY0lBcGlFcnJvclJlc3BvbnNlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBlcnJvcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoT2JqZWN0Lmhhc093bihlcnJvcnMsIGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlY3VyaXR5L2RldGVjdC1vYmplY3QtaW5qZWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5nZXQoa2V5KT8uc2V0RXJyb3JzKHsgc2VydmVyUmVzcG9uc2U6IGVycm9yc1trZXldIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFlcnJvcnMgJiYgbWVzc2FnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5zZXRFcnJvcnMoeyBzZXJ2ZXJSZXNwb25zZTogW21lc3NhZ2VdIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHt9IGFzIFNjVXNlcik7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKG51bGwpXG4gICAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIHNoYXJlKClcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDRgdC+0YHRgtC+0Y/QvdC40Y8g0LfQsNC/0YDQvtGB0LAg0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0L3QvtC80LXRgNCwINGC0LXQu9C10YTQvtC90LAuLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMucmVxdWVzdCQucGlwZShtYXAodHVpSXNGYWxzeSkpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY1VzZXJQaG9uZUFwcHJvdmVEaWFsb2dDb21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHZlcmlmaWNhdGlvblNlcnZpY2Ug0KHQtdGA0LLQuNGBINCy0LXRgNC40YTQuNC60LDRhtC40LguXG4gICAgICogQHBhcmFtIHVzZXJNZXRyaWthU2VydmljZSDQodC10YDQstC40YEg0LTQu9GPINGB0LHQvtGA0LAg0LzQtdGC0YDQuNC6INC+INC00LXQudGB0YLQstC40Y/RhSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuS5cbiAgICAgKiBAcGFyYW0gdXNlciQg0J/QvtGC0L7QuiDQtNCw0L3QvdGL0YUg0L4g0YLQtdC60YPRidC10Lwg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C1LlxuICAgICAqIEBwYXJhbSB1c2VyU2VydmljZSDQodC10YDQstC40YEg0LTQsNC90L3Ri9GFINC+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtS5cbiAgICAgKiBAcGFyYW0gY29udGV4dCDQmtC+0L3RgtC10LrRgdGCINC00LjQsNC70L7Qs9C+0LLQvtCz0L4g0L7QutC90LAsINCyINC60L7RgtC+0YDQvtC8INC+0YLQutGA0YvRgiDQutC+0LzQv9C+0L3QtdC90YIuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHZlcmlmaWNhdGlvblNlcnZpY2U6IFNjVmVyaWZpY2F0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB1c2VyTWV0cmlrYVNlcnZpY2U6IFNjVXNlck1ldHJpa2FTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFNDX1VTRVJfSU5GTylcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IHVzZXIkOiBPYnNlcnZhYmxlPFNjVXNlcj4sXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlclNlcnZpY2U6IFNjVXNlclNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoUE9MWU1PUlBIRVVTX0NPTlRFWFQpXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBjb250ZXh0PzogVHVpRGlhbG9nQ29udGV4dDxTY0FwcHJvdmVkRGF0YSwgU2NVc2VyUGhvbmVBcHByb3ZlRGlhbG9nQ29tcG9uZW50PlxuICAgICkge1xuICAgICAgICB0aGlzLnVzZXIkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKHVzZXIpID0+ICF1c2VyLmlzR3Vlc3QpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh1c2VyKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgICAgICAgICBwaG9uZTogdXNlci5jb250YWN0cy5waG9uZS52YWx1ZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaW5oZXJpdGRvYyAqL1xuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS51c2VyUHJvZmlsZUFwcHJvdmVQaG9uZVNob3csXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ1c2VyJCB8IGFzeW5jIGFzIHVzZXJcIj5cbiAgICBAbGV0IGxvYWRpbmdBcHByb3ZlQ29kZSA9ICEhKGxvYWRpbmckIHwgYXN5bmMpO1xuICAgIDxmb3JtXG4gICAgICAgIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gICAgICAgIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdC5uZXh0KClcIlxuICAgICAgICBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTNcIlxuICAgID5cbiAgICAgICAgPHNjLXZlcmlmaWNhdGlvbi1waG9uZS1jaGVjay1mb3JtXG4gICAgICAgICAgICBbKGhhdmVDb2RlKV09XCJoYXZlQ29kZVwiXG4gICAgICAgICAgICBbc2hvdWxkQmVCdXN5XT1cInRydWVcIlxuICAgICAgICAgICAgW3Nob3VsZEJlQ29uZmlybWVkXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFtzaG93Q29kZUZpZWxkc109XCIhdXNlci5jb250YWN0cy5waG9uZS5pc0FwcHJvdmVkXCJcbiAgICAgICAgICAgIFtyZWFkT25seV09XCJ0cnVlXCJcbiAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsXCJcbiAgICAgICAgPjwvc2MtdmVyaWZpY2F0aW9uLXBob25lLWNoZWNrLWZvcm0+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwidXNlci5jb250YWN0cy5waG9uZS5pc0FwcHJvdmVkIHx8IGhhdmVDb2RlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNlbnRlciBnYXAtNFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cInVzZXIuY29udGFjdHMucGhvbmUuaXNBcHByb3ZlZCAmJiBjb250ZXh0XCJcbiAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY29udGV4dC4kaW1wbGljaXQuY29tcGxldGUoKVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAg0JfQsNC60YDRi9GC0YxcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaGF2ZUNvZGVcIlxuICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdBcHByb3ZlQ29kZVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZCB8fCBsb2FkaW5nQXBwcm92ZUNvZGVcIlxuICAgICAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkuc2Muc2VuZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAg0J/QvtC00YLQstC10YDQtNC40YLRjFxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZm9ybT5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -1,7 +0,0 @@
1
- export * from './sc-bic-validator';
2
- export * from './sc-correspondent-account-validator';
3
- export * from './sc-password-confirm-matching-validator';
4
- export * from './sc-phone-validator';
5
- export * from './step-validator';
6
- export * from './sc-at-least-one-required-validator';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvdmFsaWRhdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxzQ0FBc0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2MtYmljLXZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3NjLWNvcnJlc3BvbmRlbnQtYWNjb3VudC12YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1wYXNzd29yZC1jb25maXJtLW1hdGNoaW5nLXZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3NjLXBob25lLXZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3N0ZXAtdmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtYXQtbGVhc3Qtb25lLXJlcXVpcmVkLXZhbGlkYXRvcic7XG4iXX0=
@@ -1,25 +0,0 @@
1
- /**
2
- * Проверяет, что хотя бы одно поле из списка заполнено.
3
- * Поддерживает как отдельные поля, так и группы полей.
4
- *
5
- * @param fields Массив полей для проверки. Каждый элемент может быть строкой или массивом строк.
6
- * @param blockName Имя блока для идентификации ошибки
7
- * @returns ValidatorFn
8
- */
9
- export function scAtLeastOneRequiredValidator(fields, blockName) {
10
- return (control) => {
11
- if (fields.length === 0) {
12
- return null;
13
- }
14
- const hasValue = fields.some((fieldKey) => {
15
- if (Array.isArray(fieldKey)) {
16
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
17
- return fieldKey.every((key) => !!control.get(key)?.value?.toString().trim());
18
- }
19
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
20
- return !!control.get(fieldKey)?.value?.toString().trim();
21
- });
22
- return hasValue ? null : { [blockName ?? 'atLeastOneRequired']: true };
23
- };
24
- }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYXQtbGVhc3Qtb25lLXJlcXVpcmVkLXZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS92YWxpZGF0b3JzL3NjLWF0LWxlYXN0LW9uZS1yZXF1aXJlZC12YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSw2QkFBNkIsQ0FBQyxNQUFnQyxFQUFFLFNBQWtCO0lBQzlGLE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFO1FBQ3pELElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0QixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3RDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUMxQix5R0FBeUc7Z0JBQ3pHLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDakYsQ0FBQztZQUVELHlHQUF5RztZQUN6RyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3RCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLElBQUksb0JBQW9CLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMzRSxDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiDQn9GA0L7QstC10YDRj9C10YIsINGH0YLQviDRhdC+0YLRjyDQsdGLINC+0LTQvdC+INC/0L7Qu9C1INC40Lcg0YHQv9C40YHQutCwINC30LDQv9C+0LvQvdC10L3Qvi5cbiAqINCf0L7QtNC00LXRgNC20LjQstCw0LXRgiDQutCw0Log0L7RgtC00LXQu9GM0L3Ri9C1INC/0L7Qu9GPLCDRgtCw0Log0Lgg0LPRgNGD0L/Qv9GLINC/0L7Qu9C10LkuXG4gKlxuICogQHBhcmFtIGZpZWxkcyDQnNCw0YHRgdC40LIg0L/QvtC70LXQuSDQtNC70Y8g0L/RgNC+0LLQtdGA0LrQuC4g0JrQsNC20LTRi9C5INGN0LvQtdC80LXQvdGCINC80L7QttC10YIg0LHRi9GC0Ywg0YHRgtGA0L7QutC+0Lkg0LjQu9C4INC80LDRgdGB0LjQstC+0Lwg0YHRgtGA0L7Qui5cbiAqIEBwYXJhbSBibG9ja05hbWUg0JjQvNGPINCx0LvQvtC60LAg0LTQu9GPINC40LTQtdC90YLQuNGE0LjQutCw0YbQuNC4INC+0YjQuNCx0LrQuFxuICogQHJldHVybnMgVmFsaWRhdG9yRm5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNjQXRMZWFzdE9uZVJlcXVpcmVkVmFsaWRhdG9yKGZpZWxkczogQXJyYXk8c3RyaW5nIHwgc3RyaW5nW10+LCBibG9ja05hbWU/OiBzdHJpbmcpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICAgIGlmIChmaWVsZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGhhc1ZhbHVlID0gZmllbGRzLnNvbWUoKGZpZWxkS2V5KSA9PiB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZEtleSkpIHtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1jYWxsLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3NcbiAgICAgICAgICAgICAgICByZXR1cm4gZmllbGRLZXkuZXZlcnkoKGtleSkgPT4gISFjb250cm9sLmdldChrZXkpPy52YWx1ZT8udG9TdHJpbmcoKS50cmltKCkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1jYWxsLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3NcbiAgICAgICAgICAgIHJldHVybiAhIWNvbnRyb2wuZ2V0KGZpZWxkS2V5KT8udmFsdWU/LnRvU3RyaW5nKCkudHJpbSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gaGFzVmFsdWUgPyBudWxsIDogeyBbYmxvY2tOYW1lID8/ICdhdExlYXN0T25lUmVxdWlyZWQnXTogdHJ1ZSB9O1xuICAgIH07XG59XG4iXX0=
@@ -1,10 +0,0 @@
1
- /**
2
- * Проверяет БИК.
3
- *
4
- * @param root0 Проверяемое значение.
5
- * @param root0.value Проверяемое значение.
6
- */
7
- export const scBicValidator = ({ value }) => {
8
- return !value || /^0[,14]\d{7}$/.test(value) ? null : { bic: true };
9
- };
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYmljLXZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS92YWxpZGF0b3JzL3NjLWJpYy12YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQWdCLENBQUMsRUFBRSxLQUFLLEVBQWtDLEVBQTJCLEVBQUU7SUFDOUcsT0FBTyxDQUFDLEtBQUssSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ3hFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICog0J/RgNC+0LLQtdGA0Y/QtdGCINCR0JjQmi5cbiAqXG4gKiBAcGFyYW0gcm9vdDAg0J/RgNC+0LLQtdGA0Y/QtdC80L7QtSDQt9C90LDRh9C10L3QuNC1LlxuICogQHBhcmFtIHJvb3QwLnZhbHVlINCf0YDQvtCy0LXRgNGP0LXQvNC+0LUg0LfQvdCw0YfQtdC90LjQtS5cbiAqL1xuZXhwb3J0IGNvbnN0IHNjQmljVmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9ICh7IHZhbHVlIH06IEFic3RyYWN0Q29udHJvbDxzdHJpbmcgfCBudWxsPik6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICByZXR1cm4gIXZhbHVlIHx8IC9eMFssMTRdXFxkezd9JC8udGVzdCh2YWx1ZSkgPyBudWxsIDogeyBiaWM6IHRydWUgfTtcbn07XG4iXX0=
@@ -1,10 +0,0 @@
1
- /**
2
- * Проверяет корреспондентский счет.
3
- *
4
- * @param root0 Проверяемое значение.
5
- * @param root0.value Проверяемое значение.
6
- */
7
- export const scCorrespondentAccountValidator = ({ value }) => {
8
- return !value || /^[,34]01\d{17}$|^03\d{18}$/.test(value) ? null : { correspondentAccount: true };
9
- };
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY29ycmVzcG9uZGVudC1hY2NvdW50LXZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS92YWxpZGF0b3JzL3NjLWNvcnJlc3BvbmRlbnQtYWNjb3VudC12YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBZ0IsQ0FBQyxFQUFFLEtBQUssRUFBa0MsRUFBMkIsRUFBRTtJQUMvSCxPQUFPLENBQUMsS0FBSyxJQUFJLDRCQUE0QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxDQUFDO0FBQ3RHLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICog0J/RgNC+0LLQtdGA0Y/QtdGCINC60L7RgNGA0LXRgdC/0L7QvdC00LXQvdGC0YHQutC40Lkg0YHRh9C10YIuXG4gKlxuICogQHBhcmFtIHJvb3QwINCf0YDQvtCy0LXRgNGP0LXQvNC+0LUg0LfQvdCw0YfQtdC90LjQtS5cbiAqIEBwYXJhbSByb290MC52YWx1ZSDQn9GA0L7QstC10YDRj9C10LzQvtC1INC30L3QsNGH0LXQvdC40LUuXG4gKi9cbmV4cG9ydCBjb25zdCBzY0NvcnJlc3BvbmRlbnRBY2NvdW50VmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9ICh7IHZhbHVlIH06IEFic3RyYWN0Q29udHJvbDxzdHJpbmcgfCBudWxsPik6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICByZXR1cm4gIXZhbHVlIHx8IC9eWywzNF0wMVxcZHsxN30kfF4wM1xcZHsxOH0kLy50ZXN0KHZhbHVlKSA/IG51bGwgOiB7IGNvcnJlc3BvbmRlbnRBY2NvdW50OiB0cnVlIH07XG59O1xuIl19
@@ -1,17 +0,0 @@
1
- /**
2
- * Проверяет повторный ввод пароля на эквивалентность паролю.
3
- *
4
- * @param passwordKey Ключ поля ввода пароля.
5
- * @param passwordConfirmKey Ключ поля повторного ввода пароля.
6
- */
7
- export function scPasswordConfirmMatchingValidator(passwordKey, passwordConfirmKey) {
8
- return (control) => {
9
- const passwordInput = control.get(passwordKey);
10
- const passwordConfirmInput = control.get(passwordConfirmKey);
11
- if (!passwordInput || !passwordConfirmInput || passwordInput.invalid || passwordConfirmInput.invalid || !passwordInput.value || !passwordConfirmInput.value) {
12
- return null;
13
- }
14
- return passwordInput.value === passwordConfirmInput.value ? null : { passwordNotEquivalent: true };
15
- };
16
- }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcGFzc3dvcmQtY29uZmlybS1tYXRjaGluZy12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvdmFsaWRhdG9ycy9zYy1wYXNzd29yZC1jb25maXJtLW1hdGNoaW5nLXZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxrQ0FBa0MsQ0FBQyxXQUFtQixFQUFFLGtCQUEwQjtJQUM5RixPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtRQUN6RCxNQUFNLGFBQWEsR0FBMEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0RixNQUFNLG9CQUFvQixHQUEwQyxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFcEcsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLG9CQUFvQixJQUFJLGFBQWEsQ0FBQyxPQUFPLElBQUksb0JBQW9CLENBQUMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzFKLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFFRCxPQUFPLGFBQWEsQ0FBQyxLQUFLLEtBQUssb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUscUJBQXFCLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDdkcsQ0FBQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICog0J/RgNC+0LLQtdGA0Y/QtdGCINC/0L7QstGC0L7RgNC90YvQuSDQstCy0L7QtCDQv9Cw0YDQvtC70Y8g0L3QsCDRjdC60LLQuNCy0LDQu9C10L3RgtC90L7RgdGC0Ywg0L/QsNGA0L7Qu9GOLlxuICpcbiAqIEBwYXJhbSBwYXNzd29yZEtleSDQmtC70Y7RhyDQv9C+0LvRjyDQstCy0L7QtNCwINC/0LDRgNC+0LvRjy5cbiAqIEBwYXJhbSBwYXNzd29yZENvbmZpcm1LZXkg0JrQu9GO0Ycg0L/QvtC70Y8g0L/QvtCy0YLQvtGA0L3QvtCz0L4g0LLQstC+0LTQsCDQv9Cw0YDQvtC70Y8uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzY1Bhc3N3b3JkQ29uZmlybU1hdGNoaW5nVmFsaWRhdG9yKHBhc3N3b3JkS2V5OiBzdHJpbmcsIHBhc3N3b3JkQ29uZmlybUtleTogc3RyaW5nKTogVmFsaWRhdG9yRm4gfCBudWxsIHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgICAgY29uc3QgcGFzc3dvcmRJbnB1dDogQWJzdHJhY3RDb250cm9sPHN0cmluZyB8IG51bGw+IHwgbnVsbCA9IGNvbnRyb2wuZ2V0KHBhc3N3b3JkS2V5KTtcbiAgICAgICAgY29uc3QgcGFzc3dvcmRDb25maXJtSW5wdXQ6IEFic3RyYWN0Q29udHJvbDxzdHJpbmcgfCBudWxsPiB8IG51bGwgPSBjb250cm9sLmdldChwYXNzd29yZENvbmZpcm1LZXkpO1xuXG4gICAgICAgIGlmICghcGFzc3dvcmRJbnB1dCB8fCAhcGFzc3dvcmRDb25maXJtSW5wdXQgfHwgcGFzc3dvcmRJbnB1dC5pbnZhbGlkIHx8IHBhc3N3b3JkQ29uZmlybUlucHV0LmludmFsaWQgfHwgIXBhc3N3b3JkSW5wdXQudmFsdWUgfHwgIXBhc3N3b3JkQ29uZmlybUlucHV0LnZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwYXNzd29yZElucHV0LnZhbHVlID09PSBwYXNzd29yZENvbmZpcm1JbnB1dC52YWx1ZSA/IG51bGwgOiB7IHBhc3N3b3JkTm90RXF1aXZhbGVudDogdHJ1ZSB9O1xuICAgIH07XG59XG4iXX0=
@@ -1,14 +0,0 @@
1
- import { isValidPhoneNumber } from 'libphonenumber-js/max';
2
- /**
3
- * Проверяет корректность введенного номера телефона.
4
- */
5
- export function phoneValidator() {
6
- return (control) => {
7
- if (control.value) {
8
- const isValid = isValidPhoneNumber(control.value);
9
- return isValid ? null : { phone: true };
10
- }
11
- return null;
12
- };
13
- }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcGhvbmUtdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3ZhbGlkYXRvcnMvc2MtcGhvbmUtdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTNEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGNBQWM7SUFDMUIsT0FBTyxDQUFDLE9BQXVDLEVBQTJCLEVBQUU7UUFDeEUsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRWxELE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQzVDLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlzVmFsaWRQaG9uZU51bWJlciB9IGZyb20gJ2xpYnBob25lbnVtYmVyLWpzL21heCc7XG5cbi8qKlxuICog0J/RgNC+0LLQtdGA0Y/QtdGCINC60L7RgNGA0LXQutGC0L3QvtGB0YLRjCDQstCy0LXQtNC10L3QvdC+0LPQviDQvdC+0LzQtdGA0LAg0YLQtdC70LXRhNC+0L3QsC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBob25lVmFsaWRhdG9yKCk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxzdHJpbmcgfCBudWxsPik6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgICAgaWYgKGNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzVmFsaWQgPSBpc1ZhbGlkUGhvbmVOdW1iZXIoY29udHJvbC52YWx1ZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBpc1ZhbGlkID8gbnVsbCA6IHsgcGhvbmU6IHRydWUgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG59XG4iXX0=