@snabcentr/client-ui 4.14.9 → 4.14.21

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 (572) hide show
  1. package/accordion/index.d.ts +3 -0
  2. package/accordion/sc-accordion-content.directive.d.ts +9 -0
  3. package/accordion/sc-accordion.component.d.ts +56 -0
  4. package/accordion/sc-accordion.module.d.ts +15 -0
  5. package/auth/enums/auth-method.d.ts +13 -0
  6. package/auth/index.d.ts +8 -0
  7. package/auth/interfaces/index.d.ts +2 -0
  8. package/auth/interfaces/sc-bank-account-form-group.d.ts +11 -0
  9. package/auth/interfaces/sc-contact-form-group.d.ts +10 -0
  10. package/auth/sc-auth.module.d.ts +27 -0
  11. package/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.d.ts +55 -0
  12. package/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.d.ts +45 -0
  13. package/auth/sc-sign-in-form/sc-sign-in-form.component.d.ts +53 -0
  14. package/auth/sc-simple-sign-up-form/sc-simple-sign-up-form.component.d.ts +113 -0
  15. package/auth/sign-up-form/sc-sign-up-form.component.d.ts +172 -0
  16. package/banner/index.d.ts +2 -0
  17. package/banner/sc-banner.component.d.ts +108 -0
  18. package/banner/sc-banner.module.d.ts +17 -0
  19. package/brands-list/index.d.ts +3 -0
  20. package/brands-list/sc-brand-list-item.d.ts +25 -0
  21. package/brands-list/sc-brands-list.component.d.ts +13 -0
  22. package/brands-list/sc-brands-list.module.d.ts +12 -0
  23. package/cart/add-or-editing-cart-item-dialog/add-or-editing-cart-item-form/sc-add-or-editing-cart-item-form.component.d.ts +106 -0
  24. package/cart/add-or-editing-cart-item-dialog/index.d.ts +2 -0
  25. package/cart/add-or-editing-cart-item-dialog/sc-add-or-editing-cart-item-dialog.component.d.ts +49 -0
  26. package/cart/index.d.ts +2 -0
  27. package/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.d.ts +62 -0
  28. package/catalog/catalog-filters/collapsible/sc-catalog-filter-collapsible.component.d.ts +47 -0
  29. package/catalog/catalog-filters/index.d.ts +4 -0
  30. package/catalog/catalog-filters/sc-catalog-filters.component.d.ts +199 -0
  31. package/catalog/catalog-filters/tokens/sc-catalog-products-filters.d.ts +7 -0
  32. package/catalog/catalog-filters/tokens/sc-catalog-show-products-recursively.d.ts +5 -0
  33. package/catalog/category-card/sc-category-card.component.d.ts +76 -0
  34. package/catalog/cost-with-discount/cost-with-discount.component.d.ts +23 -0
  35. package/catalog/download-price-list/sc-download-price-list.component.d.ts +38 -0
  36. package/catalog/hover-image-carousel/sc-hover-image-carousel.component.d.ts +48 -0
  37. package/catalog/index.d.ts +15 -0
  38. package/catalog/input-quantity/sc-input-quantity.component.d.ts +82 -0
  39. package/catalog/notify-when-in-stock-dialog/index.d.ts +2 -0
  40. package/catalog/notify-when-in-stock-dialog/sc-notify-when-in-stock-dialog.component.d.ts +90 -0
  41. package/catalog/notify-when-in-stock-dialog/sc-product-in-all-warehouses.pipe.d.ts +22 -0
  42. package/catalog/price-card/sc-price-card.component.d.ts +18 -0
  43. package/catalog/price-card-inline/sc-price-card-inline.component.d.ts +10 -0
  44. package/catalog/price-history/sc-price-history.component.d.ts +92 -0
  45. package/catalog/price-list-pagination/sc-price-list-pagination.component.d.ts +40 -0
  46. package/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.d.ts +47 -0
  47. package/catalog/sc-catalog.module.d.ts +29 -0
  48. package/catalog/sc-favorite-button/sc-favorite-button.component.d.ts +25 -0
  49. package/catalog/seo-tags/sc-seo-tags.component.d.ts +20 -0
  50. package/configurators/index.d.ts +3 -0
  51. package/configurators/models/index.d.ts +3 -0
  52. package/configurators/models/sandwich/sc-i-configurator-search-product-sandwich.d.ts +22 -0
  53. package/configurators/models/sandwich/sc-i-sandwich-settings.d.ts +18 -0
  54. package/configurators/models/sandwich_m2/sc-i-sandwich-m2-settings.d.ts +18 -0
  55. package/configurators/sandwich/index.d.ts +3 -0
  56. package/configurators/sandwich/sandwich-skeleton/sc-sandwich-skeleton.component.d.ts +8 -0
  57. package/configurators/sandwich/sc-i-new-cart-item-sandwich.d.ts +14 -0
  58. package/configurators/sandwich/sc-sandwich.component.d.ts +186 -0
  59. package/configurators/sandwich_m2/index.d.ts +4 -0
  60. package/configurators/sandwich_m2/sandwich-m2-skeleton/sc-sandwich-m2-skeleton.component.d.ts +8 -0
  61. package/configurators/sandwich_m2/sc-i-new-cart-item-sandwich-m2.d.ts +23 -0
  62. package/configurators/sandwich_m2/sc-sandwich-m2-item-submit-state.d.ts +13 -0
  63. package/configurators/sandwich_m2/sc-sandwich-m2.component.d.ts +275 -0
  64. package/contacts/add-contact-dialog/sc-add-contact-dialog.component.d.ts +49 -0
  65. package/contacts/contacts-accordion/sc-contacts-accordion.component.d.ts +23 -0
  66. package/contacts/index.d.ts +7 -0
  67. package/contacts/manager-card/sc-manager-card.component.d.ts +22 -0
  68. package/contacts/manager-card-push/sc-manager-card-push.component.d.ts +18 -0
  69. package/contacts/new-contact-form/sc-new-contact-form.component.d.ts +28 -0
  70. package/contacts/sc-contacts.module.d.ts +28 -0
  71. package/contacts/tokens/index.d.ts +2 -0
  72. package/contacts/tokens/sc-manager-qr-handler.token.d.ts +6 -0
  73. package/contacts/tokens/sc-show-help-notification-in-phone-input.token.d.ts +5 -0
  74. package/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.d.ts +49 -0
  75. package/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.d.ts +158 -0
  76. package/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.d.ts +66 -0
  77. package/contragents/contragents-accordion/sc-contragents-accordion.component.d.ts +49 -0
  78. package/contragents/index.d.ts +7 -0
  79. package/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.d.ts +64 -0
  80. package/contragents/new-contragent-form/sc-new-contragent-form.component.d.ts +129 -0
  81. package/contragents/sc-contragents.module.d.ts +28 -0
  82. package/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.d.ts +148 -0
  83. package/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.d.ts +50 -0
  84. package/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.d.ts +49 -0
  85. package/delivery-address/index.d.ts +4 -0
  86. package/delivery-address/sc-delivery-address.module.d.ts +25 -0
  87. package/dialogs/index.d.ts +1 -0
  88. package/dialogs/sc-resource-preview/sc-resource-preview.component.d.ts +42 -0
  89. package/directives/abstract-price-card/abstract-sc-price-card.directive.d.ts +136 -0
  90. package/directives/address-quality/sc-address-quality.directive.d.ts +23 -0
  91. package/directives/address-quality/sc-address-quality.service.d.ts +122 -0
  92. package/directives/address-quality/sc-i-address-quality-state.d.ts +14 -0
  93. package/directives/index.d.ts +11 -0
  94. package/directives/links/index.d.ts +4 -0
  95. package/directives/links/sc-email-link.directive.d.ts +25 -0
  96. package/directives/links/sc-link-location.d.ts +5 -0
  97. package/directives/links/sc-links.d.ts +7 -0
  98. package/directives/links/sc-tel-link.directive.d.ts +40 -0
  99. package/directives/next-input-focus/sc-next-input-focus.directive.d.ts +27 -0
  100. package/directives/next-input-focus/sc-next-input-focus.module.d.ts +10 -0
  101. package/directives/print/sc-print.directive.d.ts +21 -0
  102. package/directives/sc-date-value-transformer.directive.d.ts +8 -0
  103. package/directives/sc-focus-first-invalid-field.directive.d.ts +30 -0
  104. package/directives/sc-null-on-empty-value-transformer.directive.d.ts +8 -0
  105. package/directives/select-on-focusin/sc-select-on-focusin.directive.d.ts +14 -0
  106. package/directives/terminal-link/sc-terminal-link.directive.d.ts +34 -0
  107. package/error-handler/consts/error-change-handler.providers.d.ts +6 -0
  108. package/error-handler/error-block-status/error-block-status.component.d.ts +55 -0
  109. package/error-handler/index.d.ts +4 -0
  110. package/error-handler/interfaces/i-block-error.d.ts +17 -0
  111. package/error-handler/sc-error-handler.component.d.ts +40 -0
  112. package/esm2022/accordion/index.mjs +4 -0
  113. package/esm2022/accordion/sc-accordion-content.directive.mjs +17 -0
  114. package/esm2022/accordion/sc-accordion.component.mjs +92 -0
  115. package/esm2022/accordion/sc-accordion.module.mjs +26 -0
  116. package/esm2022/auth/enums/auth-method.mjs +15 -0
  117. package/esm2022/auth/index.mjs +9 -0
  118. package/esm2022/auth/interfaces/index.mjs +3 -0
  119. package/esm2022/auth/interfaces/sc-bank-account-form-group.mjs +2 -0
  120. package/esm2022/auth/interfaces/sc-contact-form-group.mjs +2 -0
  121. package/esm2022/auth/sc-auth.module.mjs +103 -0
  122. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.mjs +100 -0
  123. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs +81 -0
  124. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form.component.mjs +89 -0
  125. package/esm2022/auth/sc-simple-sign-up-form/sc-simple-sign-up-form.component.mjs +203 -0
  126. package/esm2022/auth/sign-up-form/sc-sign-up-form.component.mjs +345 -0
  127. package/esm2022/banner/index.mjs +3 -0
  128. package/esm2022/banner/sc-banner.component.mjs +176 -0
  129. package/esm2022/banner/sc-banner.module.mjs +29 -0
  130. package/esm2022/brands-list/index.mjs +4 -0
  131. package/esm2022/brands-list/sc-brand-list-item.mjs +2 -0
  132. package/esm2022/brands-list/sc-brands-list.component.mjs +24 -0
  133. package/esm2022/brands-list/sc-brands-list.module.mjs +22 -0
  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 +233 -0
  135. package/esm2022/cart/add-or-editing-cart-item-dialog/index.mjs +3 -0
  136. package/esm2022/cart/add-or-editing-cart-item-dialog/sc-add-or-editing-cart-item-dialog.component.mjs +75 -0
  137. package/esm2022/cart/index.mjs +3 -0
  138. package/esm2022/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.mjs +110 -0
  139. package/esm2022/catalog/catalog-filters/collapsible/sc-catalog-filter-collapsible.component.mjs +59 -0
  140. package/esm2022/catalog/catalog-filters/index.mjs +5 -0
  141. package/esm2022/catalog/catalog-filters/sc-catalog-filters.component.mjs +451 -0
  142. package/esm2022/catalog/catalog-filters/tokens/sc-catalog-products-filters.mjs +10 -0
  143. package/esm2022/catalog/catalog-filters/tokens/sc-catalog-show-products-recursively.mjs +6 -0
  144. package/esm2022/catalog/category-card/sc-category-card.component.mjs +102 -0
  145. package/esm2022/catalog/cost-with-discount/cost-with-discount.component.mjs +38 -0
  146. package/esm2022/catalog/download-price-list/sc-download-price-list.component.mjs +56 -0
  147. package/esm2022/catalog/hover-image-carousel/sc-hover-image-carousel.component.mjs +76 -0
  148. package/esm2022/catalog/index.mjs +16 -0
  149. package/esm2022/catalog/input-quantity/sc-input-quantity.component.mjs +190 -0
  150. package/esm2022/catalog/notify-when-in-stock-dialog/index.mjs +3 -0
  151. package/esm2022/catalog/notify-when-in-stock-dialog/sc-notify-when-in-stock-dialog.component.mjs +173 -0
  152. package/esm2022/catalog/notify-when-in-stock-dialog/sc-product-in-all-warehouses.pipe.mjs +35 -0
  153. package/esm2022/catalog/price-card/sc-price-card.component.mjs +71 -0
  154. package/esm2022/catalog/price-card-inline/sc-price-card-inline.component.mjs +54 -0
  155. package/esm2022/catalog/price-history/sc-price-history.component.mjs +144 -0
  156. package/esm2022/catalog/price-list-pagination/sc-price-list-pagination.component.mjs +65 -0
  157. package/esm2022/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.mjs +61 -0
  158. package/esm2022/catalog/sc-catalog.module.mjs +128 -0
  159. package/esm2022/catalog/sc-favorite-button/sc-favorite-button.component.mjs +42 -0
  160. package/esm2022/catalog/seo-tags/sc-seo-tags.component.mjs +25 -0
  161. package/esm2022/configurators/index.mjs +4 -0
  162. package/esm2022/configurators/models/index.mjs +4 -0
  163. package/esm2022/configurators/models/sandwich/sc-i-configurator-search-product-sandwich.mjs +2 -0
  164. package/esm2022/configurators/models/sandwich/sc-i-sandwich-settings.mjs +2 -0
  165. package/esm2022/configurators/models/sandwich_m2/sc-i-sandwich-m2-settings.mjs +2 -0
  166. package/esm2022/configurators/sandwich/index.mjs +4 -0
  167. package/esm2022/configurators/sandwich/sandwich-skeleton/sc-sandwich-skeleton.component.mjs +14 -0
  168. package/esm2022/configurators/sandwich/sc-i-new-cart-item-sandwich.mjs +2 -0
  169. package/esm2022/configurators/sandwich/sc-sandwich.component.mjs +387 -0
  170. package/esm2022/configurators/sandwich_m2/index.mjs +5 -0
  171. package/esm2022/configurators/sandwich_m2/sandwich-m2-skeleton/sc-sandwich-m2-skeleton.component.mjs +14 -0
  172. package/esm2022/configurators/sandwich_m2/sc-i-new-cart-item-sandwich-m2.mjs +2 -0
  173. package/esm2022/configurators/sandwich_m2/sc-sandwich-m2-item-submit-state.mjs +5 -0
  174. package/esm2022/configurators/sandwich_m2/sc-sandwich-m2.component.mjs +569 -0
  175. package/esm2022/contacts/add-contact-dialog/sc-add-contact-dialog.component.mjs +91 -0
  176. package/esm2022/contacts/contacts-accordion/sc-contacts-accordion.component.mjs +37 -0
  177. package/esm2022/contacts/index.mjs +8 -0
  178. package/esm2022/contacts/manager-card/sc-manager-card.component.mjs +58 -0
  179. package/esm2022/contacts/manager-card-push/sc-manager-card-push.component.mjs +28 -0
  180. package/esm2022/contacts/new-contact-form/sc-new-contact-form.component.mjs +38 -0
  181. package/esm2022/contacts/sc-contacts.module.mjs +92 -0
  182. package/esm2022/contacts/tokens/index.mjs +3 -0
  183. package/esm2022/contacts/tokens/sc-manager-qr-handler.token.mjs +25 -0
  184. package/esm2022/contacts/tokens/sc-show-help-notification-in-phone-input.token.mjs +9 -0
  185. package/esm2022/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.mjs +81 -0
  186. package/esm2022/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.mjs +266 -0
  187. package/esm2022/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.mjs +79 -0
  188. package/esm2022/contragents/contragents-accordion/sc-contragents-accordion.component.mjs +68 -0
  189. package/esm2022/contragents/index.mjs +8 -0
  190. package/esm2022/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.mjs +72 -0
  191. package/esm2022/contragents/new-contragent-form/sc-new-contragent-form.component.mjs +241 -0
  192. package/esm2022/contragents/sc-contragents.module.mjs +121 -0
  193. package/esm2022/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.mjs +261 -0
  194. package/esm2022/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.mjs +60 -0
  195. package/esm2022/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.mjs +68 -0
  196. package/esm2022/delivery-address/index.mjs +5 -0
  197. package/esm2022/delivery-address/sc-delivery-address.module.mjs +96 -0
  198. package/esm2022/dialogs/index.mjs +2 -0
  199. package/esm2022/dialogs/sc-resource-preview/sc-resource-preview.component.mjs +73 -0
  200. package/esm2022/directives/abstract-price-card/abstract-sc-price-card.directive.mjs +170 -0
  201. package/esm2022/directives/address-quality/sc-address-quality.directive.mjs +40 -0
  202. package/esm2022/directives/address-quality/sc-address-quality.service.mjs +214 -0
  203. package/esm2022/directives/address-quality/sc-i-address-quality-state.mjs +2 -0
  204. package/esm2022/directives/index.mjs +12 -0
  205. package/esm2022/directives/links/index.mjs +5 -0
  206. package/esm2022/directives/links/sc-email-link.directive.mjs +49 -0
  207. package/esm2022/directives/links/sc-link-location.mjs +2 -0
  208. package/esm2022/directives/links/sc-links.mjs +8 -0
  209. package/esm2022/directives/links/sc-tel-link.directive.mjs +79 -0
  210. package/esm2022/directives/next-input-focus/sc-next-input-focus.directive.mjs +70 -0
  211. package/esm2022/directives/next-input-focus/sc-next-input-focus.module.mjs +19 -0
  212. package/esm2022/directives/print/sc-print.directive.mjs +36 -0
  213. package/esm2022/directives/sc-date-value-transformer.directive.mjs +30 -0
  214. package/esm2022/directives/sc-focus-first-invalid-field.directive.mjs +85 -0
  215. package/esm2022/directives/sc-null-on-empty-value-transformer.directive.mjs +30 -0
  216. package/esm2022/directives/select-on-focusin/sc-select-on-focusin.directive.mjs +36 -0
  217. package/esm2022/directives/terminal-link/sc-terminal-link.directive.mjs +69 -0
  218. package/esm2022/error-handler/consts/error-change-handler.providers.mjs +10 -0
  219. package/esm2022/error-handler/error-block-status/error-block-status.component.mjs +101 -0
  220. package/esm2022/error-handler/index.mjs +5 -0
  221. package/esm2022/error-handler/interfaces/i-block-error.mjs +2 -0
  222. package/esm2022/error-handler/sc-error-handler.component.mjs +58 -0
  223. package/esm2022/feedback/feedback-form/sc-feedback-form.component.mjs +344 -0
  224. package/esm2022/feedback/gratitude/sc-gratitude.component.mjs +32 -0
  225. package/esm2022/feedback/index.mjs +4 -0
  226. package/esm2022/feedback/interfaces/index.mjs +2 -0
  227. package/esm2022/feedback/interfaces/sc-feedback-form-config.mjs +2 -0
  228. package/esm2022/files/directives/index.mjs +3 -0
  229. package/esm2022/files/directives/tree-top.directive.mjs +63 -0
  230. package/esm2022/files/directives/tree.directive.mjs +47 -0
  231. package/esm2022/files/file-tree-item/file-tree-item.component.mjs +18 -0
  232. package/esm2022/files/files-and-documents/files-and-documents.component.mjs +61 -0
  233. package/esm2022/files/files-and-documents.module.mjs +28 -0
  234. package/esm2022/files/index.mjs +6 -0
  235. package/esm2022/files/interfaces/tree-node.mjs +2 -0
  236. package/esm2022/files/services/index.mjs +3 -0
  237. package/esm2022/files/services/tree-icon.service.mjs +49 -0
  238. package/esm2022/files/services/tree-loader.service.mjs +62 -0
  239. package/esm2022/form-fields/addresses-selection-field/sc-addresses-selection-field.component.mjs +155 -0
  240. package/esm2022/form-fields/form-fields.module.mjs +66 -0
  241. package/esm2022/form-fields/index.mjs +4 -0
  242. package/esm2022/form-fields/suggestion-field/sc-suggestion-field.component.mjs +235 -0
  243. package/esm2022/icons/index.mjs +2 -0
  244. package/esm2022/icons/sc-client-ui-icons-name.mjs +99 -0
  245. package/esm2022/loader/index.mjs +2 -0
  246. package/esm2022/loader/sc-i-loader.mjs +2 -0
  247. package/esm2022/masks/index.mjs +9 -0
  248. package/esm2022/masks/sc-account-number-mask.mjs +7 -0
  249. package/esm2022/masks/sc-bic-mask.mjs +7 -0
  250. package/esm2022/masks/sc-correspondent-account-mask.mjs +7 -0
  251. package/esm2022/masks/sc-inn-mask.mjs +13 -0
  252. package/esm2022/masks/sc-kpp-mask.mjs +7 -0
  253. package/esm2022/masks/sc-ogrn-mask.mjs +13 -0
  254. package/esm2022/masks/sc-okpo-mask.mjs +13 -0
  255. package/esm2022/masks/sc-phone-verification-code-mask.mjs +7 -0
  256. package/esm2022/methods/index.mjs +2 -0
  257. package/esm2022/methods/sc-get-current-route.mjs +14 -0
  258. package/esm2022/models/i-sc-image.mjs +2 -0
  259. package/esm2022/models/index.mjs +2 -0
  260. package/esm2022/news/index.mjs +4 -0
  261. package/esm2022/news/news-card/sc-news-card.component.mjs +34 -0
  262. package/esm2022/news/news-card-skeleton/sc-news-card-skeleton.component.mjs +31 -0
  263. package/esm2022/news/sc-news.module.mjs +25 -0
  264. package/esm2022/noindex-wrapper/directives/index.mjs +2 -0
  265. package/esm2022/noindex-wrapper/directives/sc-noindex.directive.mjs +58 -0
  266. package/esm2022/noindex-wrapper/index.mjs +3 -0
  267. package/esm2022/noindex-wrapper/sc-noindex-wrapper.component.mjs +18 -0
  268. package/esm2022/order/directives/index.mjs +3 -0
  269. package/esm2022/order/directives/sc-order-accessor.directive.mjs +28 -0
  270. package/esm2022/order/directives/sc-order-options.mjs +11 -0
  271. package/esm2022/order/draft/sc-draft.component.mjs +118 -0
  272. package/esm2022/order/index.mjs +14 -0
  273. package/esm2022/order/models/i-new-order-form.mjs +2 -0
  274. package/esm2022/order/models/sc-i-cart-items-by-direction.mjs +22 -0
  275. package/esm2022/order/order-direction-items/sc-order-direction-items.component.mjs +39 -0
  276. package/esm2022/order/order-form/sc-order-form.component.mjs +565 -0
  277. package/esm2022/order/order-form/sc-order-form.config.mjs +7 -0
  278. package/esm2022/order/order-item/sc-order-item.component.mjs +112 -0
  279. package/esm2022/order/order-items-list/sc-order-items-list.component.mjs +212 -0
  280. package/esm2022/order/order-items-list-by-directions/sc-order-items-list-by-directions.component.mjs +75 -0
  281. package/esm2022/order/order-items-list-by-stock/sc-order-items-list-by-stock.component.mjs +75 -0
  282. package/esm2022/order/sc-order.module.mjs +52 -0
  283. package/esm2022/order/sc-payment-status/sc-payment-status.component.mjs +35 -0
  284. package/esm2022/pages/frequently-asked-questions/sc-faq-query-params.mjs +5 -0
  285. package/esm2022/pages/frequently-asked-questions/sc-faq-question-anchor.mjs +23 -0
  286. package/esm2022/pages/frequently-asked-questions/sc-frequently-asked-questions.component.mjs +167 -0
  287. package/esm2022/pages/frequently-asked-questions/sc-get-faq-group-query-params.mjs +14 -0
  288. package/esm2022/pages/frequently-asked-questions/sc-page-size-options.mjs +8 -0
  289. package/esm2022/pages/frequently-asked-questions-group-selector/sc-frequently-asked-questions-group-selector.component.mjs +88 -0
  290. package/esm2022/pages/frequently-asked-questions-with-groups/sc-frequently-asked-questions-with-groups.component.mjs +123 -0
  291. package/esm2022/pages/index.mjs +11 -0
  292. package/esm2022/pages/news-list/sc-news-list.component.mjs +90 -0
  293. package/esm2022/pages/personal-data-processing-policy/sc-personal-data-processing-policy.component.mjs +46 -0
  294. package/esm2022/pages/privacy-policy/sc-privacy-policy.component.mjs +30 -0
  295. package/esm2022/pages/public-offer/sc-public-offer.component.mjs +50 -0
  296. package/esm2022/pagination/index.mjs +2 -0
  297. package/esm2022/pagination/sc-pagination-links/sc-pagination-links.component.mjs +99 -0
  298. package/esm2022/pipes/index.mjs +3 -0
  299. package/esm2022/pipes/sc-format-date.mjs +33 -0
  300. package/esm2022/pipes/sc-phone-format.mjs +44 -0
  301. package/esm2022/profile/index.mjs +3 -0
  302. package/esm2022/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +174 -0
  303. package/esm2022/profile/sc-profile.module.mjs +73 -0
  304. package/esm2022/providers/cleanup-recaptcha-artifacts.mjs +30 -0
  305. package/esm2022/providers/date-value-transformer/index.mjs +4 -0
  306. package/esm2022/providers/date-value-transformer/sc-date-value-transformer-types.mjs +2 -0
  307. package/esm2022/providers/date-value-transformer/sc-date-value-transformer-with-end-time.mjs +26 -0
  308. package/esm2022/providers/date-value-transformer/sc-date-value-transformer-with-start-time.mjs +37 -0
  309. package/esm2022/providers/index.mjs +18 -0
  310. package/esm2022/providers/null-on-empty-value-transformer/index.mjs +2 -0
  311. package/esm2022/providers/null-on-empty-value-transformer/sc-null-on-empty-value-transformer.mjs +31 -0
  312. package/esm2022/providers/sc-allow-select-terminated.mjs +8 -0
  313. package/esm2022/providers/sc-banner-duration.mjs +8 -0
  314. package/esm2022/providers/sc-block-incomplete-address.mjs +8 -0
  315. package/esm2022/providers/sc-country-ids.mjs +8 -0
  316. package/esm2022/providers/sc-date-formatter.mjs +15 -0
  317. package/esm2022/providers/sc-date-value-transformer.mjs +12 -0
  318. package/esm2022/providers/sc-debounce-time-default.mjs +9 -0
  319. package/esm2022/providers/sc-dialog-service.providers.mjs +6 -0
  320. package/esm2022/providers/sc-help-notification-close.mjs +9 -0
  321. package/esm2022/providers/sc-help-notification-limit.mjs +8 -0
  322. package/esm2022/providers/sc-hidden-print-elements.token.mjs +10 -0
  323. package/esm2022/providers/sc-max-files-in-form-input.mjs +8 -0
  324. package/esm2022/providers/sc-notify-when-in-stock-required-fields.mjs +8 -0
  325. package/esm2022/providers/sc-page-size-options.mjs +8 -0
  326. package/esm2022/providers/sc-user-providers.mjs +38 -0
  327. package/esm2022/providers/sc-verification-code-timeout.mjs +8 -0
  328. package/esm2022/public-api.mjs +36 -0
  329. package/esm2022/qrcode/index.mjs +3 -0
  330. package/esm2022/qrcode/qrcode-dialog/sc-qrcode-dialog.component.mjs +58 -0
  331. package/esm2022/qrcode/sc-qrcode.module.mjs +25 -0
  332. package/esm2022/samples/index.mjs +5 -0
  333. package/esm2022/samples/interfaces/index.mjs +3 -0
  334. package/esm2022/samples/interfaces/sc-i-preview-sample.mjs +2 -0
  335. package/esm2022/samples/interfaces/sc-preview-mosquito-config.mjs +2 -0
  336. package/esm2022/samples/preview-sample/sc-preview-sample.component.mjs +42 -0
  337. package/esm2022/samples/sc-preview-samples-mosquito/sc-preview-samples-mosquito.component.mjs +63 -0
  338. package/esm2022/samples/sc-sample.module.mjs +66 -0
  339. package/esm2022/services/index.mjs +3 -0
  340. package/esm2022/services/print.service.mjs +49 -0
  341. package/esm2022/services/sc-help-notification.service.mjs +100 -0
  342. package/esm2022/share/index.mjs +6 -0
  343. package/esm2022/share/sc-share-dialog-data.mjs +2 -0
  344. package/esm2022/share/sc-share.service.mjs +40 -0
  345. package/esm2022/share/share-button/sc-share-button.component.mjs +99 -0
  346. package/esm2022/share/share-dialog/sc-share-dialog.component.mjs +139 -0
  347. package/esm2022/share/share-messengers-links/sc-share-messengers-links.component.mjs +84 -0
  348. package/esm2022/snabcentr-client-ui.mjs +5 -0
  349. package/esm2022/user/index.mjs +6 -0
  350. package/esm2022/user/reset-user-password/sc-reset-user-password.component.mjs +74 -0
  351. package/esm2022/user/sc-user.module.mjs +86 -0
  352. package/esm2022/user/update-user-info-dialog/sc-update-user-info-dialog.component.mjs +121 -0
  353. package/esm2022/user/user-managers/sc-user-managers.component.mjs +40 -0
  354. package/esm2022/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.mjs +105 -0
  355. package/esm2022/validators/index.mjs +7 -0
  356. package/esm2022/validators/sc-at-least-one-required-validator.mjs +25 -0
  357. package/esm2022/validators/sc-bic-validator.mjs +10 -0
  358. package/esm2022/validators/sc-correspondent-account-validator.mjs +10 -0
  359. package/esm2022/validators/sc-password-confirm-matching-validator.mjs +17 -0
  360. package/esm2022/validators/sc-phone-validator.mjs +14 -0
  361. package/esm2022/validators/step-validator.mjs +18 -0
  362. package/esm2022/verification/index.mjs +3 -0
  363. package/esm2022/verification/sc-verification.module.mjs +86 -0
  364. package/esm2022/verification/verification-phone-check-form/sc-verification-phone-check-form.component.mjs +259 -0
  365. package/feedback/feedback-form/sc-feedback-form.component.d.ts +163 -0
  366. package/feedback/gratitude/sc-gratitude.component.d.ts +20 -0
  367. package/feedback/index.d.ts +3 -0
  368. package/feedback/interfaces/index.d.ts +1 -0
  369. package/feedback/interfaces/sc-feedback-form-config.d.ts +23 -0
  370. package/fesm2022/snabcentr-client-ui.mjs +5826 -4942
  371. package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
  372. package/files/directives/index.d.ts +2 -0
  373. package/files/directives/tree-top.directive.d.ts +33 -0
  374. package/files/directives/tree.directive.d.ts +35 -0
  375. package/files/file-tree-item/file-tree-item.component.d.ts +9 -0
  376. package/files/files-and-documents/files-and-documents.component.d.ts +27 -0
  377. package/files/files-and-documents.module.d.ts +17 -0
  378. package/files/index.d.ts +5 -0
  379. package/files/interfaces/tree-node.d.ts +29 -0
  380. package/files/services/index.d.ts +2 -0
  381. package/files/services/tree-icon.service.d.ts +23 -0
  382. package/files/services/tree-loader.service.d.ts +43 -0
  383. package/form-fields/addresses-selection-field/sc-addresses-selection-field.component.d.ts +80 -0
  384. package/form-fields/form-fields.module.d.ts +18 -0
  385. package/form-fields/index.d.ts +3 -0
  386. package/form-fields/suggestion-field/sc-suggestion-field.component.d.ts +107 -0
  387. package/icons/index.d.ts +1 -0
  388. package/icons/sc-client-ui-icons-name.d.ts +4 -0
  389. package/icons/svg-pack/application.svg +1 -1
  390. package/icons/svg-pack/back.svg +1 -1
  391. package/icons/svg-pack/bag.svg +1 -1
  392. package/icons/svg-pack/banknote-arrow-in-top.svg +1 -1
  393. package/icons/svg-pack/catalog/aluminum-systems.svg +1 -1
  394. package/icons/svg-pack/catalog/arm-profile.svg +1 -1
  395. package/icons/svg-pack/catalog/batten.svg +1 -1
  396. package/icons/svg-pack/catalog/brusbox.svg +1 -1
  397. package/icons/svg-pack/catalog/canopy.svg +1 -1
  398. package/icons/svg-pack/catalog/configurator.svg +1 -1
  399. package/icons/svg-pack/catalog/covering-material.svg +1 -1
  400. package/icons/svg-pack/catalog/door-accessories.svg +1 -1
  401. package/icons/svg-pack/catalog/drainage-system.svg +1 -1
  402. package/icons/svg-pack/catalog/fastener.svg +1 -1
  403. package/icons/svg-pack/catalog/finishing-materials.svg +1 -1
  404. package/icons/svg-pack/catalog/fixing-impost.svg +1 -1
  405. package/icons/svg-pack/catalog/flask.svg +1 -1
  406. package/icons/svg-pack/catalog/foam-balloon.svg +1 -1
  407. package/icons/svg-pack/catalog/foam.svg +1 -1
  408. package/icons/svg-pack/catalog/glue.svg +1 -1
  409. package/icons/svg-pack/catalog/handle.svg +1 -1
  410. package/icons/svg-pack/catalog/instrument.svg +1 -1
  411. package/icons/svg-pack/catalog/kve-profile.svg +1 -1
  412. package/icons/svg-pack/catalog/lubricants.svg +1 -1
  413. package/icons/svg-pack/catalog/mosquito-net.svg +1 -1
  414. package/icons/svg-pack/catalog/mounting-accessories.svg +1 -1
  415. package/icons/svg-pack/catalog/net-order.svg +1 -1
  416. package/icons/svg-pack/catalog/panel-1.svg +1 -1
  417. package/icons/svg-pack/catalog/panel.svg +1 -1
  418. package/icons/svg-pack/catalog/polyethylene-film.svg +1 -1
  419. package/icons/svg-pack/catalog/profile-plastic.svg +1 -1
  420. package/icons/svg-pack/catalog/promo-materials.svg +1 -1
  421. package/icons/svg-pack/catalog/psul.svg +1 -1
  422. package/icons/svg-pack/catalog/rehau-profile.svg +1 -1
  423. package/icons/svg-pack/catalog/sandwich-plastic.svg +1 -1
  424. package/icons/svg-pack/catalog/sealer.svg +1 -1
  425. package/icons/svg-pack/catalog/siding-2.svg +1 -1
  426. package/icons/svg-pack/catalog/siding.svg +1 -1
  427. package/icons/svg-pack/catalog/start-finish-profile.svg +1 -1
  428. package/icons/svg-pack/catalog/steam-waterproofing.svg +1 -1
  429. package/icons/svg-pack/catalog/stiz.svg +1 -1
  430. package/icons/svg-pack/catalog/thermometer.svg +1 -1
  431. package/icons/svg-pack/catalog/windowsill.svg +1 -1
  432. package/icons/svg-pack/chart-column-plus.svg +1 -1
  433. package/icons/svg-pack/circle-arrow-in-right.svg +1 -1
  434. package/icons/svg-pack/contacts.svg +1 -1
  435. package/icons/svg-pack/deadline.svg +1 -1
  436. package/icons/svg-pack/file-p.svg +1 -1
  437. package/icons/svg-pack/file-search.svg +1 -1
  438. package/icons/svg-pack/file-w.svg +1 -1
  439. package/icons/svg-pack/file-x.svg +1 -1
  440. package/icons/svg-pack/grid-height-arrow.svg +1 -1
  441. package/icons/svg-pack/grid-width-arrow.svg +1 -1
  442. package/icons/svg-pack/layout-list-tree.svg +1 -1
  443. package/icons/svg-pack/list.svg +1 -1
  444. package/icons/svg-pack/puzzle.svg +1 -1
  445. package/icons/svg-pack/reclamation.svg +1 -1
  446. package/icons/svg-pack/retail-store.svg +1 -1
  447. package/icons/svg-pack/send.svg +1 -1
  448. package/index.d.ts +5 -0
  449. package/loader/index.d.ts +1 -0
  450. package/loader/sc-i-loader.d.ts +9 -0
  451. package/masks/index.d.ts +8 -0
  452. package/masks/sc-account-number-mask.d.ts +5 -0
  453. package/masks/sc-bic-mask.d.ts +5 -0
  454. package/masks/sc-correspondent-account-mask.d.ts +5 -0
  455. package/masks/sc-inn-mask.d.ts +9 -0
  456. package/masks/sc-kpp-mask.d.ts +5 -0
  457. package/masks/sc-ogrn-mask.d.ts +9 -0
  458. package/masks/sc-okpo-mask.d.ts +9 -0
  459. package/masks/sc-phone-verification-code-mask.d.ts +5 -0
  460. package/methods/index.d.ts +1 -0
  461. package/methods/sc-get-current-route.d.ts +8 -0
  462. package/models/i-sc-image.d.ts +17 -0
  463. package/models/index.d.ts +1 -0
  464. package/news/index.d.ts +3 -0
  465. package/news/news-card/sc-news-card.component.d.ts +22 -0
  466. package/news/news-card-skeleton/sc-news-card-skeleton.component.d.ts +16 -0
  467. package/news/sc-news.module.d.ts +15 -0
  468. package/noindex-wrapper/directives/index.d.ts +1 -0
  469. package/noindex-wrapper/directives/sc-noindex.directive.d.ts +29 -0
  470. package/noindex-wrapper/index.d.ts +2 -0
  471. package/noindex-wrapper/sc-noindex-wrapper.component.d.ts +9 -0
  472. package/order/directives/index.d.ts +2 -0
  473. package/order/directives/sc-order-accessor.directive.d.ts +13 -0
  474. package/order/directives/sc-order-options.d.ts +14 -0
  475. package/order/draft/sc-draft.component.d.ts +63 -0
  476. package/order/index.d.ts +13 -0
  477. package/order/models/i-new-order-form.d.ts +39 -0
  478. package/order/models/sc-i-cart-items-by-direction.d.ts +25 -0
  479. package/order/order-direction-items/sc-order-direction-items.component.d.ts +29 -0
  480. package/order/order-form/sc-order-form.component.d.ts +283 -0
  481. package/order/order-form/sc-order-form.config.d.ts +20 -0
  482. package/order/order-item/sc-order-item.component.d.ts +43 -0
  483. package/order/order-items-list/sc-order-items-list.component.d.ts +113 -0
  484. package/order/order-items-list-by-directions/sc-order-items-list-by-directions.component.d.ts +58 -0
  485. package/order/order-items-list-by-stock/sc-order-items-list-by-stock.component.d.ts +55 -0
  486. package/order/sc-order.module.d.ts +18 -0
  487. package/order/sc-payment-status/sc-payment-status.component.d.ts +25 -0
  488. package/package.json +37 -35
  489. package/pages/frequently-asked-questions/sc-faq-query-params.d.ts +4 -0
  490. package/pages/frequently-asked-questions/sc-faq-question-anchor.d.ts +16 -0
  491. package/pages/frequently-asked-questions/sc-frequently-asked-questions.component.d.ts +84 -0
  492. package/pages/frequently-asked-questions/sc-get-faq-group-query-params.d.ts +10 -0
  493. package/pages/frequently-asked-questions/sc-page-size-options.d.ts +5 -0
  494. package/pages/frequently-asked-questions-group-selector/sc-frequently-asked-questions-group-selector.component.d.ts +47 -0
  495. package/pages/frequently-asked-questions-with-groups/sc-frequently-asked-questions-with-groups.component.d.ts +89 -0
  496. package/pages/index.d.ts +10 -0
  497. package/pages/news-list/sc-news-list.component.d.ts +57 -0
  498. package/pages/personal-data-processing-policy/sc-personal-data-processing-policy.component.d.ts +17 -0
  499. package/pages/privacy-policy/sc-privacy-policy.component.d.ts +17 -0
  500. package/pages/public-offer/sc-public-offer.component.d.ts +22 -0
  501. package/pagination/index.d.ts +1 -0
  502. package/pagination/sc-pagination-links/sc-pagination-links.component.d.ts +60 -0
  503. package/pipes/index.d.ts +2 -0
  504. package/pipes/sc-format-date.d.ts +20 -0
  505. package/pipes/sc-phone-format.d.ts +21 -0
  506. package/profile/index.d.ts +2 -0
  507. package/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.d.ts +126 -0
  508. package/profile/sc-profile.module.d.ts +23 -0
  509. package/providers/cleanup-recaptcha-artifacts.d.ts +7 -0
  510. package/providers/date-value-transformer/index.d.ts +3 -0
  511. package/providers/date-value-transformer/sc-date-value-transformer-types.d.ts +9 -0
  512. package/providers/date-value-transformer/sc-date-value-transformer-with-end-time.d.ts +16 -0
  513. package/providers/date-value-transformer/sc-date-value-transformer-with-start-time.d.ts +22 -0
  514. package/providers/index.d.ts +17 -0
  515. package/providers/null-on-empty-value-transformer/index.d.ts +1 -0
  516. package/providers/null-on-empty-value-transformer/sc-null-on-empty-value-transformer.d.ts +21 -0
  517. package/providers/sc-allow-select-terminated.d.ts +5 -0
  518. package/providers/sc-banner-duration.d.ts +5 -0
  519. package/providers/sc-block-incomplete-address.d.ts +5 -0
  520. package/providers/sc-country-ids.d.ts +5 -0
  521. package/providers/sc-date-formatter.d.ts +6 -0
  522. package/providers/sc-date-value-transformer.d.ts +5 -0
  523. package/providers/sc-debounce-time-default.d.ts +5 -0
  524. package/providers/sc-dialog-service.providers.d.ts +45 -0
  525. package/providers/sc-help-notification-close.d.ts +6 -0
  526. package/providers/sc-help-notification-limit.d.ts +5 -0
  527. package/providers/sc-hidden-print-elements.token.d.ts +6 -0
  528. package/providers/sc-max-files-in-form-input.d.ts +5 -0
  529. package/providers/sc-notify-when-in-stock-required-fields.d.ts +5 -0
  530. package/providers/sc-page-size-options.d.ts +5 -0
  531. package/providers/sc-user-providers.d.ts +21 -0
  532. package/providers/sc-verification-code-timeout.d.ts +5 -0
  533. package/public-api.d.ts +35 -0
  534. package/qrcode/index.d.ts +2 -0
  535. package/qrcode/qrcode-dialog/sc-qrcode-dialog.component.d.ts +37 -0
  536. package/qrcode/sc-qrcode.module.d.ts +14 -0
  537. package/release_notes.tmp +2 -16
  538. package/samples/index.d.ts +4 -0
  539. package/samples/interfaces/index.d.ts +2 -0
  540. package/samples/interfaces/sc-i-preview-sample.d.ts +56 -0
  541. package/samples/interfaces/sc-preview-mosquito-config.d.ts +62 -0
  542. package/samples/preview-sample/sc-preview-sample.component.d.ts +30 -0
  543. package/samples/sc-preview-samples-mosquito/sc-preview-samples-mosquito.component.d.ts +50 -0
  544. package/samples/sc-sample.module.d.ts +19 -0
  545. package/services/index.d.ts +2 -0
  546. package/services/print.service.d.ts +31 -0
  547. package/services/sc-help-notification.service.d.ts +70 -0
  548. package/share/index.d.ts +5 -0
  549. package/share/sc-share-dialog-data.d.ts +13 -0
  550. package/share/sc-share.service.d.ts +19 -0
  551. package/share/share-button/sc-share-button.component.d.ts +78 -0
  552. package/share/share-dialog/sc-share-dialog.component.d.ts +87 -0
  553. package/share/share-messengers-links/sc-share-messengers-links.component.d.ts +49 -0
  554. package/styles/taiga/variables.less +17 -35
  555. package/styles/tailwind/tailwind.scss +14 -56
  556. package/user/index.d.ts +5 -0
  557. package/user/reset-user-password/sc-reset-user-password.component.d.ts +46 -0
  558. package/user/sc-user.module.d.ts +24 -0
  559. package/user/update-user-info-dialog/sc-update-user-info-dialog.component.d.ts +63 -0
  560. package/user/user-managers/sc-user-managers.component.d.ts +23 -0
  561. package/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.d.ts +53 -0
  562. package/validators/index.d.ts +6 -0
  563. package/validators/sc-at-least-one-required-validator.d.ts +10 -0
  564. package/validators/sc-bic-validator.d.ts +8 -0
  565. package/validators/sc-correspondent-account-validator.d.ts +8 -0
  566. package/validators/sc-password-confirm-matching-validator.d.ts +8 -0
  567. package/validators/sc-phone-validator.d.ts +5 -0
  568. package/validators/step-validator.d.ts +7 -0
  569. package/verification/index.d.ts +2 -0
  570. package/verification/sc-verification.module.d.ts +21 -0
  571. package/verification/verification-phone-check-form/sc-verification-phone-check-form.component.d.ts +145 -0
  572. package/types/snabcentr-client-ui.d.ts +0 -6787
@@ -0,0 +1,100 @@
1
+ /* eslint-disable no-restricted-syntax,@typescript-eslint/unbound-method */
2
+ import { HttpErrorResponse } from '@angular/common/http';
3
+ import { ChangeDetectionStrategy, Component, EventEmitter, inject, Output } from '@angular/core';
4
+ import { toSignal } from '@angular/core/rxjs-interop';
5
+ import { FormControl, FormGroup, Validators } from '@angular/forms';
6
+ import { ScAuthService } from '@snabcentr/client-core';
7
+ import { tuiIsFalsy } from '@taiga-ui/cdk';
8
+ import { catchError, filter, map, of, share, startWith, Subject, switchMap } from 'rxjs';
9
+ import { SC_SHOW_HELP_NOTIFICATION_IN_PHONE_INPUT } from '../../../contacts/tokens/sc-show-help-notification-in-phone-input.token';
10
+ import { ScHelpNotificationService } from '../../../services/sc-help-notification.service';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@angular/forms";
13
+ import * as i2 from "@taiga-ui/legacy";
14
+ import * as i3 from "@taiga-ui/legacy/components/primitive-textfield";
15
+ import * as i4 from "@taiga-ui/core";
16
+ import * as i5 from "@taiga-ui/kit";
17
+ import * as i6 from "../../../contacts/manager-card/sc-manager-card.component";
18
+ import * as i7 from "@angular/common";
19
+ /**
20
+ * Компонент аутентификации по адресу электронной почты и паролю.
21
+ */
22
+ export class ScSignInFormByEmailComponent {
23
+ constructor() {
24
+ /**
25
+ * Группа полей ввода для формы «Вход на сайт».
26
+ */
27
+ this.formByEmail = new FormGroup({
28
+ login: new FormControl(null, [Validators.required, Validators.email]),
29
+ password: new FormControl(null, Validators.required),
30
+ });
31
+ /**
32
+ * {@link Subject} события отправки формы.
33
+ */
34
+ this.onSubmit = new Subject();
35
+ /**
36
+ * Сервис для отображения Push-уведомлений с контактами для помощи клиенту.
37
+ */
38
+ this.helpNotificationService = inject(ScHelpNotificationService);
39
+ /**
40
+ * Список контактов для отправки push-уведомлений.
41
+ */
42
+ this.pushContacts = toSignal(this.helpNotificationService.getContactsShow$());
43
+ /**
44
+ * Токен показа уведомления помощи.
45
+ */
46
+ this.showHelpNotification = inject(SC_SHOW_HELP_NOTIFICATION_IN_PHONE_INPUT);
47
+ /**
48
+ * {@link Observable} запроса данных аутентификации.
49
+ */
50
+ this.emailRequest$ = this.onSubmit.pipe(filter(() => this.formByEmail.valid), map(() => this.formByEmail.value), switchMap((value) => this.authService.getSignIn$(value).pipe(catchError((error) => {
51
+ if (error instanceof HttpErrorResponse) {
52
+ const { errors, message } = error.error;
53
+ for (const key in errors) {
54
+ if (Object.hasOwn(errors, key)) {
55
+ // eslint-disable-next-line security/detect-object-injection
56
+ this.formByEmail.get(key)?.setErrors({ serverResponse: errors[key] });
57
+ }
58
+ }
59
+ if (message.includes('деактивирован')) {
60
+ this.helpNotificationService.helpNotificationByEmail(value.login);
61
+ }
62
+ if (!errors && message) {
63
+ this.formByEmail.setErrors({ serverResponse: [message] });
64
+ }
65
+ }
66
+ return of({});
67
+ }), startWith(null))), share());
68
+ /**
69
+ * {@link Observable} изменения состояния загрузки данных аутентификации по email.
70
+ */
71
+ this.loadingEmailAuth$ = this.emailRequest$.pipe(map(tuiIsFalsy));
72
+ /**
73
+ * Сигнал нажатия на кнопку "Забыли пароль".
74
+ */
75
+ this.forgotPassword = new EventEmitter();
76
+ /**
77
+ * Сервис аутентификации.
78
+ */
79
+ this.authService = inject(ScAuthService);
80
+ }
81
+ /**
82
+ * Закрытие уведомления.
83
+ */
84
+ closeNotification() {
85
+ this.helpNotificationService.closeAllHelpNotification();
86
+ }
87
+ /** @inheritDoc */
88
+ ngOnDestroy() {
89
+ this.helpNotificationService.closeAllHelpNotification();
90
+ }
91
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScSignInFormByEmailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
92
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ScSignInFormByEmailComponent, selector: "sc-sign-in-form-by-email", outputs: { forgotPassword: "forgotPassword" }, ngImport: i0, template: "<form\n [formGroup]=\"formByEmail\"\n (ngSubmit)=\"onSubmit.next()\"\n>\n <div class=\"mb-8 flex flex-col gap-4\">\n <label tuiLabel\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=\"login\">\n \u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <input\n tuiTextfieldLegacy\n autocomplete=\"email\"\n />\n </tui-input>\n <tui-error\n formControlName=\"login\"\n [error]=\"[] | tuiFieldError | async\"\n />\n </label>\n <label tuiLabel>\n \u041F\u0430\u0440\u043E\u043B\u044C\n <tui-input-password formControlName=\"password\">\n \u041F\u0430\u0440\u043E\u043B\u044C\n <input\n tuiTextfieldLegacy\n autocomplete=\"current-password\"\n />\n </tui-input-password>\n <tui-error\n formControlName=\"password\"\n [error]=\"[] | tuiFieldError | async\"\n />\n </label>\n <tui-error [error]=\"[] | tuiFieldError | async\" />\n </div>\n\n @if (showHelpNotification && pushContacts()) {\n <div class=\"mb-4 flex flex-col gap-3\">\n @for (manager of pushContacts(); track manager.id) {\n <tui-push\n type=\"\u0421\u0432\u044F\u0436\u0438\u0442\u0435\u0441\u044C \u0441 \u043D\u0430\u043C\u0438 \u0434\u043B\u044F \u0440\u0435\u0448\u0435\u043D\u0438\u044F \u0432\u043E\u0437\u043D\u0438\u043A\u0448\u0438\u0445 \u0432\u043E\u043F\u0440\u043E\u0441\u043E\u0432\"\n (close)=\"closeNotification()\"\n class=\"!w-auto\"\n >\n <tui-icon icon=\"@tui.message-square\" />\n <sc-manager-card [manager]=\"manager\" />\n </tui-push>\n }\n </div>\n }\n\n <div class=\"mb-4 flex flex-col items-center gap-4\">\n <a\n tuiLink\n [pseudo]=\"true\"\n (click)=\"forgotPassword.emit()\"\n class=\"text-base\"\n >\u0417\u0430\u0431\u044B\u043B\u0438 \u043F\u0430\u0440\u043E\u043B\u044C?</a\n >\n <button\n tuiButton\n type=\"submit\"\n [loading]=\"!!(loadingEmailAuth$ | async)\"\n [disabled]=\"formByEmail.invalid || !!(loadingEmailAuth$ | async)\"\n iconStart=\"@tui.sc.circle-arrow-in-right\"\n >\n \u0412\u043E\u0439\u0442\u0438\n </button>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.TuiInputPasswordComponent, selector: "tui-input-password" }, { kind: "directive", type: i2.TuiInputPasswordDirective, selector: "tui-input-password" }, { kind: "component", type: i3.TuiTextfieldComponent, selector: "input[tuiTextfieldLegacy], textarea[tuiTextfieldLegacy]" }, { kind: "component", type: i2.TuiInputComponent, selector: "tui-input" }, { kind: "directive", type: i2.TuiInputDirective, selector: "tui-input" }, { kind: "directive", type: i4.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: i4.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: i4.TuiLabel, selector: "label[tuiLabel]" }, { kind: "component", type: i4.TuiError, selector: "tui-error", inputs: ["error"] }, { kind: "component", type: i5.TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "component", type: i5.TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "lines", "timestamp"], outputs: ["close"] }, { kind: "component", type: i6.ScManagerCardComponent, selector: "sc-manager-card", inputs: ["manager"] }, { kind: "component", type: i4.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TuiFieldErrorPipe, name: "tuiFieldError" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
93
+ }
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScSignInFormByEmailComponent, decorators: [{
95
+ type: Component,
96
+ args: [{ selector: 'sc-sign-in-form-by-email', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\n [formGroup]=\"formByEmail\"\n (ngSubmit)=\"onSubmit.next()\"\n>\n <div class=\"mb-8 flex flex-col gap-4\">\n <label tuiLabel\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=\"login\">\n \u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <input\n tuiTextfieldLegacy\n autocomplete=\"email\"\n />\n </tui-input>\n <tui-error\n formControlName=\"login\"\n [error]=\"[] | tuiFieldError | async\"\n />\n </label>\n <label tuiLabel>\n \u041F\u0430\u0440\u043E\u043B\u044C\n <tui-input-password formControlName=\"password\">\n \u041F\u0430\u0440\u043E\u043B\u044C\n <input\n tuiTextfieldLegacy\n autocomplete=\"current-password\"\n />\n </tui-input-password>\n <tui-error\n formControlName=\"password\"\n [error]=\"[] | tuiFieldError | async\"\n />\n </label>\n <tui-error [error]=\"[] | tuiFieldError | async\" />\n </div>\n\n @if (showHelpNotification && pushContacts()) {\n <div class=\"mb-4 flex flex-col gap-3\">\n @for (manager of pushContacts(); track manager.id) {\n <tui-push\n type=\"\u0421\u0432\u044F\u0436\u0438\u0442\u0435\u0441\u044C \u0441 \u043D\u0430\u043C\u0438 \u0434\u043B\u044F \u0440\u0435\u0448\u0435\u043D\u0438\u044F \u0432\u043E\u0437\u043D\u0438\u043A\u0448\u0438\u0445 \u0432\u043E\u043F\u0440\u043E\u0441\u043E\u0432\"\n (close)=\"closeNotification()\"\n class=\"!w-auto\"\n >\n <tui-icon icon=\"@tui.message-square\" />\n <sc-manager-card [manager]=\"manager\" />\n </tui-push>\n }\n </div>\n }\n\n <div class=\"mb-4 flex flex-col items-center gap-4\">\n <a\n tuiLink\n [pseudo]=\"true\"\n (click)=\"forgotPassword.emit()\"\n class=\"text-base\"\n >\u0417\u0430\u0431\u044B\u043B\u0438 \u043F\u0430\u0440\u043E\u043B\u044C?</a\n >\n <button\n tuiButton\n type=\"submit\"\n [loading]=\"!!(loadingEmailAuth$ | async)\"\n [disabled]=\"formByEmail.invalid || !!(loadingEmailAuth$ | async)\"\n iconStart=\"@tui.sc.circle-arrow-in-right\"\n >\n \u0412\u043E\u0439\u0442\u0438\n </button>\n </div>\n</form>\n" }]
97
+ }], propDecorators: { forgotPassword: [{
98
+ type: Output
99
+ }] } });
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc2lnbi1pbi1mb3JtLWJ5LWVtYWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9hdXRoL3NjLXNpZ24taW4tZm9ybS9zYy1zaWduLWluLWZvcm0tYnktZW1haWwvc2Mtc2lnbi1pbi1mb3JtLWJ5LWVtYWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9hdXRoL3NjLXNpZ24taW4tZm9ybS9zYy1zaWduLWluLWZvcm0tYnktZW1haWwvc2Mtc2lnbi1pbi1mb3JtLWJ5LWVtYWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJFQUEyRTtBQUUzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQWEsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQXNCLGFBQWEsRUFBc0MsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJHLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQ25JLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7Ozs7Ozs7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RUFBRSxDQUFDO0lBQzVELENBQUM7SUFFRCxrQkFBa0I7SUFDWCxXQUFXO1FBQ2QsSUFBSSxDQUFDLHVCQUF1QixDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDNUQsQ0FBQzsrR0ExRlEsNEJBQTRCO21HQUE1Qiw0QkFBNEIsK0dDckJ6Qyx1eUZBc0VBOzs0RkRqRGEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNJLDBCQUEwQixtQkFFbkIsdUJBQXVCLENBQUMsTUFBTTs4QkEyRXJCLGNBQWM7c0JBQXZDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1yZXN0cmljdGVkLXN5bnRheCxAdHlwZXNjcmlwdC1lc2xpbnQvdW5ib3VuZC1tZXRob2QgKi9cblxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGluamVjdCwgT25EZXN0cm95LCBPdXRwdXQsIFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSUF1dGhUb2tlbiwgSUxvZ2luLCBTY0F1dGhTZXJ2aWNlLCBTY0lBcGlFcnJvclJlc3BvbnNlLCBTY0lPcmdDb250YWN0IH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyB0dWlJc0ZhbHN5IH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHNoYXJlLCBzdGFydFdpdGgsIFN1YmplY3QsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTQ19TSE9XX0hFTFBfTk9USUZJQ0FUSU9OX0lOX1BIT05FX0lOUFVUIH0gZnJvbSAnLi4vLi4vLi4vY29udGFjdHMvdG9rZW5zL3NjLXNob3ctaGVscC1ub3RpZmljYXRpb24taW4tcGhvbmUtaW5wdXQudG9rZW4nO1xuaW1wb3J0IHsgU2NIZWxwTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3NjLWhlbHAtbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L4g0LDQtNGA0LXRgdGDINGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLRiyDQuCDQv9Cw0YDQvtC70Y4uXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2Mtc2lnbi1pbi1mb3JtLWJ5LWVtYWlsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2Mtc2lnbi1pbi1mb3JtLWJ5LWVtYWlsLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NTaWduSW5Gb3JtQnlFbWFpbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICog0JPRgNGD0L/Qv9CwINC/0L7Qu9C10Lkg0LLQstC+0LTQsCDQtNC70Y8g0YTQvtGA0LzRiyDCq9CS0YXQvtC0INC90LAg0YHQsNC50YLCuy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZm9ybUJ5RW1haWw6IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBsb2dpbjogbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsXSksXG4gICAgICAgIHBhc3N3b3JkOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgU3ViamVjdH0g0YHQvtCx0YvRgtC40Y8g0L7RgtC/0YDQsNCy0LrQuCDRhNC+0YDQvNGLLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBvblN1Ym1pdDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINC+0YLQvtCx0YDQsNC20LXQvdC40Y8gUHVzaC3Rg9Cy0LXQtNC+0LzQu9C10L3QuNC5INGBINC60L7QvdGC0LDQutGC0LDQvNC4INC00LvRjyDQv9C+0LzQvtGJ0Lgg0LrQu9C40LXQvdGC0YMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhlbHBOb3RpZmljYXRpb25TZXJ2aWNlOiBTY0hlbHBOb3RpZmljYXRpb25TZXJ2aWNlID0gaW5qZWN0KFNjSGVscE5vdGlmaWNhdGlvblNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INC60L7QvdGC0LDQutGC0L7QsiDQtNC70Y8g0L7RgtC/0YDQsNCy0LrQuCBwdXNoLdGD0LLQtdC00L7QvNC70LXQvdC40LkuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHB1c2hDb250YWN0czogU2lnbmFsPFNjSU9yZ0NvbnRhY3RbXSB8IHVuZGVmaW5lZD4gPSB0b1NpZ25hbCh0aGlzLmhlbHBOb3RpZmljYXRpb25TZXJ2aWNlLmdldENvbnRhY3RzU2hvdyQoKSk7XG5cbiAgICAvKipcbiAgICAgKiDQotC+0LrQtdC9INC/0L7QutCw0LfQsCDRg9Cy0LXQtNC+0LzQu9C10L3QuNGPINC/0L7QvNC+0YnQuC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2hvd0hlbHBOb3RpZmljYXRpb24gPSBpbmplY3QoU0NfU0hPV19IRUxQX05PVElGSUNBVElPTl9JTl9QSE9ORV9JTlBVVCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LfQsNC/0YDQvtGB0LAg0LTQsNC90L3Ri9GFINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40LguXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbWFpbFJlcXVlc3QkOiBPYnNlcnZhYmxlPElBdXRoVG9rZW4gfCBudWxsPiA9IHRoaXMub25TdWJtaXQucGlwZShcbiAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuZm9ybUJ5RW1haWwudmFsaWQpLFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy5mb3JtQnlFbWFpbC52YWx1ZSBhcyBJTG9naW4pLFxuICAgICAgICBzd2l0Y2hNYXAoKHZhbHVlKSA9PlxuICAgICAgICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRTaWduSW4kKHZhbHVlKS5waXBlKFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGVycm9ycywgbWVzc2FnZSB9ID0gZXJyb3IuZXJyb3IgYXMgU2NJQXBpRXJyb3JSZXNwb25zZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gZXJyb3JzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKE9iamVjdC5oYXNPd24oZXJyb3JzLCBrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWN1cml0eS9kZXRlY3Qtb2JqZWN0LWluamVjdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1CeUVtYWlsLmdldChrZXkpPy5zZXRFcnJvcnMoeyBzZXJ2ZXJSZXNwb25zZTogZXJyb3JzW2tleV0gfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWVzc2FnZS5pbmNsdWRlcygn0LTQtdCw0LrRgtC40LLQuNGA0L7QstCw0L0nKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGVscE5vdGlmaWNhdGlvblNlcnZpY2UuaGVscE5vdGlmaWNhdGlvbkJ5RW1haWwodmFsdWUubG9naW4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWVycm9ycyAmJiBtZXNzYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQnlFbWFpbC5zZXRFcnJvcnMoeyBzZXJ2ZXJSZXNwb25zZTogW21lc3NhZ2VdIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHt9IGFzIElBdXRoVG9rZW4pO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKVxuICAgICAgICAgICAgKVxuICAgICAgICApLFxuICAgICAgICBzaGFyZSgpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGB0YLQvtGP0L3QuNGPINC30LDQs9GA0YPQt9C60Lgg0LTQsNC90L3Ri9GFINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40Lgg0L/QviBlbWFpbC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgbG9hZGluZ0VtYWlsQXV0aCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmVtYWlsUmVxdWVzdCQucGlwZShtYXAodHVpSXNGYWxzeSkpO1xuXG4gICAgLyoqXG4gICAgICog0KHQuNCz0L3QsNC7INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDIFwi0JfQsNCx0YvQu9C4INC/0LDRgNC+0LvRjFwiLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgZm9yZ290UGFzc3dvcmQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0aFNlcnZpY2U6IFNjQXV0aFNlcnZpY2UgPSBpbmplY3QoU2NBdXRoU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiDQl9Cw0LrRgNGL0YLQuNC1INGD0LLQtdC00L7QvNC70LXQvdC40Y8uXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGNsb3NlTm90aWZpY2F0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhlbHBOb3RpZmljYXRpb25TZXJ2aWNlLmNsb3NlQWxsSGVscE5vdGlmaWNhdGlvbigpO1xuICAgIH1cblxuICAgIC8qKiBAaW5oZXJpdERvYyAqL1xuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oZWxwTm90aWZpY2F0aW9uU2VydmljZS5jbG9zZUFsbEhlbHBOb3RpZmljYXRpb24oKTtcbiAgICB9XG59XG4iLCI8Zm9ybVxuICAgIFtmb3JtR3JvdXBdPVwiZm9ybUJ5RW1haWxcIlxuICAgIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdC5uZXh0KClcIlxuPlxuICAgIDxkaXYgY2xhc3M9XCJtYi04IGZsZXggZmxleC1jb2wgZ2FwLTRcIj5cbiAgICAgICAgPGxhYmVsIHR1aUxhYmVsXG4gICAgICAgICAgICA+0JDQtNGA0LXRgSDRjdC70LXQutGC0YDQvtC90L3QvtC5INC/0L7Rh9GC0YtcbiAgICAgICAgICAgIDx0dWktaW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwibG9naW5cIj5cbiAgICAgICAgICAgICAgICDQkNC00YDQtdGBINGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLRi1xuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICB0dWlUZXh0ZmllbGRMZWdhY3lcbiAgICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3R1aS1pbnB1dD5cbiAgICAgICAgICAgIDx0dWktZXJyb3JcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJsb2dpblwiXG4gICAgICAgICAgICAgICAgW2Vycm9yXT1cIltdIHwgdHVpRmllbGRFcnJvciB8IGFzeW5jXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxsYWJlbCB0dWlMYWJlbD5cbiAgICAgICAgICAgINCf0LDRgNC+0LvRjFxuICAgICAgICAgICAgPHR1aS1pbnB1dC1wYXNzd29yZCBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiPlxuICAgICAgICAgICAgICAgINCf0LDRgNC+0LvRjFxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICB0dWlUZXh0ZmllbGRMZWdhY3lcbiAgICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwiY3VycmVudC1wYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvdHVpLWlucHV0LXBhc3N3b3JkPlxuICAgICAgICAgICAgPHR1aS1lcnJvclxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICBbZXJyb3JdPVwiW10gfCB0dWlGaWVsZEVycm9yIHwgYXN5bmNcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPHR1aS1lcnJvciBbZXJyb3JdPVwiW10gfCB0dWlGaWVsZEVycm9yIHwgYXN5bmNcIiAvPlxuICAgIDwvZGl2PlxuXG4gICAgQGlmIChzaG93SGVscE5vdGlmaWNhdGlvbiAmJiBwdXNoQ29udGFjdHMoKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibWItNCBmbGV4IGZsZXgtY29sIGdhcC0zXCI+XG4gICAgICAgICAgICBAZm9yIChtYW5hZ2VyIG9mIHB1c2hDb250YWN0cygpOyB0cmFjayBtYW5hZ2VyLmlkKSB7XG4gICAgICAgICAgICAgICAgPHR1aS1wdXNoXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCLQodCy0Y/QttC40YLQtdGB0Ywg0YEg0L3QsNC80Lgg0LTQu9GPINGA0LXRiNC10L3QuNGPINCy0L7Qt9C90LjQutGI0LjRhSDQstC+0L/RgNC+0YHQvtCyXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsb3NlKT1cImNsb3NlTm90aWZpY2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIiF3LWF1dG9cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHR1aS1pY29uIGljb249XCJAdHVpLm1lc3NhZ2Utc3F1YXJlXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPHNjLW1hbmFnZXItY2FyZCBbbWFuYWdlcl09XCJtYW5hZ2VyXCIgLz5cbiAgICAgICAgICAgICAgICA8L3R1aS1wdXNoPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICA8ZGl2IGNsYXNzPVwibWItNCBmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBnYXAtNFwiPlxuICAgICAgICA8YVxuICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgW3BzZXVkb109XCJ0cnVlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJmb3Jnb3RQYXNzd29yZC5lbWl0KClcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWJhc2VcIlxuICAgICAgICAgICAgPtCX0LDQsdGL0LvQuCDQv9Cw0YDQvtC70Yw/PC9hXG4gICAgICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgIFtsb2FkaW5nXT1cIiEhKGxvYWRpbmdFbWFpbEF1dGgkIHwgYXN5bmMpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmb3JtQnlFbWFpbC5pbnZhbGlkIHx8ICEhKGxvYWRpbmdFbWFpbEF1dGgkIHwgYXN5bmMpXCJcbiAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkuc2MuY2lyY2xlLWFycm93LWluLXJpZ2h0XCJcbiAgICAgICAgPlxuICAgICAgICAgICAg0JLQvtC50YLQuFxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZm9ybT5cbiJdfQ==
@@ -0,0 +1,81 @@
1
+ /* eslint-disable no-restricted-syntax,@typescript-eslint/unbound-method */
2
+ import { HttpErrorResponse } from '@angular/common/http';
3
+ import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
4
+ import { FormControl, FormGroup, Validators } from '@angular/forms';
5
+ import { ScAuthService } from '@snabcentr/client-core';
6
+ import { tuiIsFalsy } from '@taiga-ui/cdk';
7
+ import { catchError, filter, map, of, share, startWith, Subject, switchMap } from 'rxjs';
8
+ import { ScHelpNotificationService } from '../../../services/sc-help-notification.service';
9
+ import { phoneValidator } from '../../../validators/sc-phone-validator';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/common";
12
+ import * as i2 from "@angular/forms";
13
+ import * as i3 from "@taiga-ui/core";
14
+ import * as i4 from "../../../verification/verification-phone-check-form/sc-verification-phone-check-form.component";
15
+ import * as i5 from "@taiga-ui/kit";
16
+ /**
17
+ * Компонент аутентификации по номеру телефона и коду подтверждения.
18
+ */
19
+ export class ScSignInFormByPhoneComponent {
20
+ constructor() {
21
+ /**
22
+ * Наличие кода подтверждения у пользователя.
23
+ */
24
+ this.haveCode = false;
25
+ /**
26
+ * Группа полей ввода для формы «Вход на сайт».
27
+ */
28
+ this.form = new FormGroup({
29
+ phone: new FormControl(null, [Validators.required, phoneValidator()]),
30
+ verificationCode: new FormControl(null, [Validators.required, Validators.minLength(6)]),
31
+ });
32
+ /**
33
+ * {@link Subject} события отправки формы.
34
+ */
35
+ this.onSubmit = new Subject();
36
+ /**
37
+ * Сервис для отображения Push-уведомлений с контактами для помощи клиенту.
38
+ */
39
+ this.helpNotificationService = inject(ScHelpNotificationService);
40
+ /**
41
+ * {@link Observable} запроса данных аутентификации.
42
+ */
43
+ this.request$ = this.onSubmit.pipe(map(() => this.form.value), filter((value) => this.form.valid), switchMap((value) => this.authService.getSignIn$(value).pipe(catchError((error) => {
44
+ if (error instanceof HttpErrorResponse) {
45
+ const { errors, message } = error.error;
46
+ for (const key in errors) {
47
+ if (Object.hasOwn(errors, key)) {
48
+ // eslint-disable-next-line security/detect-object-injection
49
+ this.form.get(key)?.setErrors({ serverResponse: errors[key] });
50
+ }
51
+ }
52
+ if (message.includes('деактивирован')) {
53
+ this.helpNotificationService.helpNotificationByPhone(value.phone);
54
+ }
55
+ if (!errors && message) {
56
+ this.form.setErrors({ serverResponse: [message] });
57
+ }
58
+ }
59
+ return of({});
60
+ }), startWith(null))), share());
61
+ /**
62
+ * {@link Observable} изменения состояния загрузки данных аутентификации по номеру телефона.
63
+ */
64
+ this.loading$ = this.request$.pipe(map(tuiIsFalsy));
65
+ /**
66
+ * Сервис аутентификации.
67
+ */
68
+ this.authService = inject(ScAuthService);
69
+ }
70
+ /** @inheritDoc */
71
+ ngOnDestroy() {
72
+ this.helpNotificationService.closeAllHelpNotification();
73
+ }
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScSignInFormByPhoneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ScSignInFormByPhoneComponent, selector: "sc-sign-in-form-by-phone", ngImport: i0, template: "@let loading = !!(loading$ | async);\n<form\n [formGroup]=\"form\"\n (ngSubmit)=\"onSubmit.next()\"\n class=\"mb-4 flex flex-col items-center gap-4\"\n>\n <sc-verification-phone-check-form\n [(haveCode)]=\"haveCode\"\n [shouldBeBusy]=\"true\"\n [shouldBeConfirmed]=\"true\"\n class=\"w-full\"\n />\n <tui-error\n [error]=\"[] | tuiFieldError | async\"\n class=\"self-center\"\n />\n <button\n *ngIf=\"haveCode\"\n tuiButton\n type=\"submit\"\n [loading]=\"loading\"\n [disabled]=\"form.invalid || loading\"\n iconStart=\"@tui.sc.circle-arrow-in-right\"\n >\n \u0412\u043E\u0439\u0442\u0438\n </button>\n</form>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i3.TuiError, selector: "tui-error", inputs: ["error"] }, { kind: "component", type: i4.ScVerificationPhoneCheckFormComponent, selector: "sc-verification-phone-check-form", inputs: ["showCodeFields", "readOnly", "pseudoInvalid", "required", "subtitle", "shouldBeBusy", "shouldBeConfirmed", "haveCode"], outputs: ["haveCodeChange", "isBusyChange", "isConfirmedChange"] }, { kind: "component", type: i5.TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TuiFieldErrorPipe, name: "tuiFieldError" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
76
+ }
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScSignInFormByPhoneComponent, decorators: [{
78
+ type: Component,
79
+ args: [{ selector: 'sc-sign-in-form-by-phone', changeDetection: ChangeDetectionStrategy.OnPush, template: "@let loading = !!(loading$ | async);\n<form\n [formGroup]=\"form\"\n (ngSubmit)=\"onSubmit.next()\"\n class=\"mb-4 flex flex-col items-center gap-4\"\n>\n <sc-verification-phone-check-form\n [(haveCode)]=\"haveCode\"\n [shouldBeBusy]=\"true\"\n [shouldBeConfirmed]=\"true\"\n class=\"w-full\"\n />\n <tui-error\n [error]=\"[] | tuiFieldError | async\"\n class=\"self-center\"\n />\n <button\n *ngIf=\"haveCode\"\n tuiButton\n type=\"submit\"\n [loading]=\"loading\"\n [disabled]=\"form.invalid || loading\"\n iconStart=\"@tui.sc.circle-arrow-in-right\"\n >\n \u0412\u043E\u0439\u0442\u0438\n </button>\n</form>\n" }]
80
+ }] });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc2lnbi1pbi1mb3JtLWJ5LXBob25lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9hdXRoL3NjLXNpZ24taW4tZm9ybS9zYy1zaWduLWluLWZvcm0tYnktcGhvbmUvc2Mtc2lnbi1pbi1mb3JtLWJ5LXBob25lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9hdXRoL3NjLXNpZ24taW4tZm9ybS9zYy1zaWduLWluLWZvcm0tYnktcGhvbmUvc2Mtc2lnbi1pbi1mb3JtLWJ5LXBob25lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJFQUEyRTtBQUUzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQTJCLGFBQWEsRUFBdUIsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7OztBQUV4RTs7R0FFRztBQU1ILE1BQU0sT0FBTyw0QkFBNEI7SUFMekM7UUFNSTs7V0FFRztRQUNJLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFakM7O1dBRUc7UUFDYSxTQUFJLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDakMsS0FBSyxFQUFFLElBQUksV0FBVyxDQUFnQixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7WUFDcEYsZ0JBQWdCLEVBQUUsSUFBSSxXQUFXLENBQWdCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3pHLENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ2EsYUFBUSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRTlEOztXQUVHO1FBQ2dCLDRCQUF1QixHQUE4QixNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUUxRzs7V0FFRztRQUNjLGFBQVEsR0FBa0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3pFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUMxQixNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQXdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUN4RCxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQ25DLFVBQVUsQ0FBQyxDQUFDLEtBQWMsRUFBRSxFQUFFO1lBQzFCLElBQUksS0FBSyxZQUFZLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3JDLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDLEtBQTRCLENBQUM7Z0JBRS9ELEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7b0JBQ3ZCLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQzt3QkFDN0IsNERBQTREO3dCQUM1RCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsRUFBRSxjQUFjLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDbkUsQ0FBQztnQkFDTCxDQUFDO2dCQUVELElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO29CQUNwQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN0RSxDQUFDO2dCQUVELElBQUksQ0FBQyxNQUFNLElBQUksT0FBTyxFQUFFLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsY0FBYyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN2RCxDQUFDO1lBQ0wsQ0FBQztZQUVELE9BQU8sRUFBRSxDQUFDLEVBQWdCLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLENBQ2xCLENBQ0osRUFDRCxLQUFLLEVBQUUsQ0FDVixDQUFDO1FBRUY7O1dBRUc7UUFDYSxhQUFRLEdBQXdCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBRXBGOztXQUVHO1FBQ2MsZ0JBQVcsR0FBa0IsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0tBTXZFO0lBSkcsa0JBQWtCO0lBQ1gsV0FBVztRQUNkLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQzVELENBQUM7K0dBekVRLDRCQUE0QjttR0FBNUIsNEJBQTRCLGdFQ3BCekMsK3RCQTJCQTs7NEZEUGEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNJLDBCQUEwQixtQkFFbkIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXJlc3RyaWN0ZWQtc3ludGF4LEB0eXBlc2NyaXB0LWVzbGludC91bmJvdW5kLW1ldGhvZCAqL1xuXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSUF1dGhUb2tlbiwgSVBob25lTG9naW4sIFNjQXV0aFNlcnZpY2UsIFNjSUFwaUVycm9yUmVzcG9uc2UgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IHR1aUlzRmFsc3kgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc2hhcmUsIHN0YXJ0V2l0aCwgU3ViamVjdCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNjSGVscE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zYy1oZWxwLW5vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IHBob25lVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vLi4vdmFsaWRhdG9ycy9zYy1waG9uZS12YWxpZGF0b3InO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L4g0L3QvtC80LXRgNGDINGC0LXQu9C10YTQvtC90LAg0Lgg0LrQvtC00YMg0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8uXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2Mtc2lnbi1pbi1mb3JtLWJ5LXBob25lJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2Mtc2lnbi1pbi1mb3JtLWJ5LXBob25lLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NTaWduSW5Gb3JtQnlQaG9uZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICog0J3QsNC70LjRh9C40LUg0LrQvtC00LAg0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0YMg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIHB1YmxpYyBoYXZlQ29kZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog0JPRgNGD0L/Qv9CwINC/0L7Qu9C10Lkg0LLQstC+0LTQsCDQtNC70Y8g0YTQvtGA0LzRiyDCq9CS0YXQvtC0INC90LAg0YHQsNC50YLCuy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBwaG9uZTogbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBwaG9uZVZhbGlkYXRvcigpXSksXG4gICAgICAgIHZlcmlmaWNhdGlvbkNvZGU6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoNildKSxcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBTdWJqZWN0fSDRgdC+0LHRi9GC0LjRjyDQvtGC0L/RgNCw0LLQutC4INGE0L7RgNC80YsuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IG9uU3VibWl0OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQtNC70Y8g0L7RgtC+0LHRgNCw0LbQtdC90LjRjyBQdXNoLdGD0LLQtdC00L7QvNC70LXQvdC40Lkg0YEg0LrQvtC90YLQsNC60YLQsNC80Lgg0LTQu9GPINC/0L7QvNC+0YnQuCDQutC70LjQtdC90YLRgy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGVscE5vdGlmaWNhdGlvblNlcnZpY2U6IFNjSGVscE5vdGlmaWNhdGlvblNlcnZpY2UgPSBpbmplY3QoU2NIZWxwTm90aWZpY2F0aW9uU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LfQsNC/0YDQvtGB0LAg0LTQsNC90L3Ri9GFINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40LguXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXF1ZXN0JDogT2JzZXJ2YWJsZTxJQXV0aFRva2VuIHwgbnVsbD4gPSB0aGlzLm9uU3VibWl0LnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLmZvcm0udmFsdWUpLFxuICAgICAgICBmaWx0ZXIoKHZhbHVlKTogdmFsdWUgaXMgSVBob25lTG9naW4gPT4gdGhpcy5mb3JtLnZhbGlkKSxcbiAgICAgICAgc3dpdGNoTWFwKCh2YWx1ZSkgPT5cbiAgICAgICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0U2lnbkluJCh2YWx1ZSkucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBlcnJvcnMsIG1lc3NhZ2UgfSA9IGVycm9yLmVycm9yIGFzIFNjSUFwaUVycm9yUmVzcG9uc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGVycm9ycykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChPYmplY3QuaGFzT3duKGVycm9ycywga2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VjdXJpdHkvZGV0ZWN0LW9iamVjdC1pbmplY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLmdldChrZXkpPy5zZXRFcnJvcnMoeyBzZXJ2ZXJSZXNwb25zZTogZXJyb3JzW2tleV0gfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWVzc2FnZS5pbmNsdWRlcygn0LTQtdCw0LrRgtC40LLQuNGA0L7QstCw0L0nKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGVscE5vdGlmaWNhdGlvblNlcnZpY2UuaGVscE5vdGlmaWNhdGlvbkJ5UGhvbmUodmFsdWUucGhvbmUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWVycm9ycyAmJiBtZXNzYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnNldEVycm9ycyh7IHNlcnZlclJlc3BvbnNlOiBbbWVzc2FnZV0gfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2Yoe30gYXMgSUF1dGhUb2tlbik7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKG51bGwpXG4gICAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIHNoYXJlKClcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDRgdC+0YHRgtC+0Y/QvdC40Y8g0LfQsNCz0YDRg9C30LrQuCDQtNCw0L3QvdGL0YUg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuCDQv9C+INC90L7QvNC10YDRgyDRgtC10LvQtdGE0L7QvdCwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMucmVxdWVzdCQucGlwZShtYXAodHVpSXNGYWxzeSkpO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40LguXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZTogU2NBdXRoU2VydmljZSA9IGluamVjdChTY0F1dGhTZXJ2aWNlKTtcblxuICAgIC8qKiBAaW5oZXJpdERvYyAqL1xuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oZWxwTm90aWZpY2F0aW9uU2VydmljZS5jbG9zZUFsbEhlbHBOb3RpZmljYXRpb24oKTtcbiAgICB9XG59XG4iLCJAbGV0IGxvYWRpbmcgPSAhIShsb2FkaW5nJCB8IGFzeW5jKTtcbjxmb3JtXG4gICAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgICAobmdTdWJtaXQpPVwib25TdWJtaXQubmV4dCgpXCJcbiAgICBjbGFzcz1cIm1iLTQgZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgZ2FwLTRcIlxuPlxuICAgIDxzYy12ZXJpZmljYXRpb24tcGhvbmUtY2hlY2stZm9ybVxuICAgICAgICBbKGhhdmVDb2RlKV09XCJoYXZlQ29kZVwiXG4gICAgICAgIFtzaG91bGRCZUJ1c3ldPVwidHJ1ZVwiXG4gICAgICAgIFtzaG91bGRCZUNvbmZpcm1lZF09XCJ0cnVlXCJcbiAgICAgICAgY2xhc3M9XCJ3LWZ1bGxcIlxuICAgIC8+XG4gICAgPHR1aS1lcnJvclxuICAgICAgICBbZXJyb3JdPVwiW10gfCB0dWlGaWVsZEVycm9yIHwgYXN5bmNcIlxuICAgICAgICBjbGFzcz1cInNlbGYtY2VudGVyXCJcbiAgICAvPlxuICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJoYXZlQ29kZVwiXG4gICAgICAgIHR1aUJ1dHRvblxuICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJmb3JtLmludmFsaWQgfHwgbG9hZGluZ1wiXG4gICAgICAgIGljb25TdGFydD1cIkB0dWkuc2MuY2lyY2xlLWFycm93LWluLXJpZ2h0XCJcbiAgICA+XG4gICAgICAgINCS0L7QudGC0LhcbiAgICA8L2J1dHRvbj5cbjwvZm9ybT5cbiJdfQ==
@@ -0,0 +1,89 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { ScUserMetrikaGoalsEnum } from '@snabcentr/client-core';
3
+ import { filter } from 'rxjs';
4
+ import { AuthMethod } from '../enums/auth-method';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@snabcentr/client-core";
7
+ import * as i2 from "@angular/common";
8
+ import * as i3 from "@taiga-ui/core";
9
+ import * as i4 from "./sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component";
10
+ import * as i5 from "./sc-sign-in-form-by-email/sc-sign-in-form-by-email.component";
11
+ /**
12
+ * Компонент аутентификации пользователя.
13
+ */
14
+ export class ScSignInFormComponent {
15
+ /**
16
+ * Инициализирует экземпляр класса {@link ScSignInFormComponent}.
17
+ *
18
+ * @param authService Сервис аутентификации.
19
+ * @param userMetrikaService Сервис для сбора метрик о действиях пользователей.
20
+ */
21
+ constructor(authService, userMetrikaService) {
22
+ this.authService = authService;
23
+ this.userMetrikaService = userMetrikaService;
24
+ /**
25
+ * Выбранный способ аутентификации.
26
+ */
27
+ this.authMethod = AuthMethod.byEmail;
28
+ /**
29
+ * Перечисление способов аутентификации.
30
+ */
31
+ this.method = AuthMethod;
32
+ /**
33
+ * Сигнал нажатия на кнопку "Забыли пароль".
34
+ */
35
+ this.forgotPassword = new EventEmitter();
36
+ /**
37
+ * Сигнал нажатия на кнопку "Зарегистрироваться".
38
+ */
39
+ this.signUp = new EventEmitter();
40
+ /**
41
+ * Сигнал события аутентификации.
42
+ */
43
+ this.successAuth = this.authService.getAuthChange().pipe(filter((state) => state));
44
+ }
45
+ /** @inheritDoc */
46
+ ngOnInit() {
47
+ this.userMetrikaService.emitUserMetrikaEvent({
48
+ target: ScUserMetrikaGoalsEnum.signInShow,
49
+ params: {
50
+ type: this.authMethod,
51
+ },
52
+ });
53
+ }
54
+ /**
55
+ * Осуществляет переключение способов аутентификации.
56
+ *
57
+ * @param authMethod Выбранный способ аутентификации.
58
+ */
59
+ switchAuth(authMethod) {
60
+ this.authMethod = authMethod;
61
+ this.userMetrikaService.emitUserMetrikaEvent({
62
+ target: ScUserMetrikaGoalsEnum.signInShow,
63
+ params: {
64
+ type: authMethod,
65
+ },
66
+ });
67
+ }
68
+ /**
69
+ * Обрабатывает нажатие на кнопку "Забыли пароль" и выдает сигнал об этом.
70
+ */
71
+ onForgotPassword() {
72
+ this.forgotPassword.emit();
73
+ }
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScSignInFormComponent, deps: [{ token: i1.ScAuthService }, { token: i1.ScUserMetrikaService }], target: i0.ɵɵFactoryTarget.Component }); }
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ScSignInFormComponent, selector: "sc-sign-in-form", inputs: { authMethod: "authMethod" }, outputs: { forgotPassword: "forgotPassword", signUp: "signUp", successAuth: "successAuth" }, host: { attributes: { "ngSkipHydration": "true" } }, ngImport: i0, template: "<div class=\"mb-4 flex justify-center\">\n <button\n tuiButton\n [appearance]=\"authMethod === 'by_phone' ? 'primary' : 'secondary'\"\n (click)=\"switchAuth(method.byPhone)\"\n class=\"tui-space_right-3 tui-space_bottom-3 !font-bold\"\n >\n \u041F\u043E \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0443\n </button>\n\n <button\n tuiButton\n [appearance]=\"authMethod === 'by_email' ? 'primary' : 'secondary'\"\n (click)=\"switchAuth(method.byEmail)\"\n class=\"tui-space_left-3 tui-space_bottom-3 !font-bold\"\n >\n \u041F\u043E e-mail\n </button>\n</div>\n\n<sc-sign-in-form-by-email\n *ngIf=\"authMethod === 'by_email'\"\n (forgotPassword)=\"onForgotPassword()\"\n></sc-sign-in-form-by-email>\n\n<sc-sign-in-form-by-phone [class.hidden]=\"authMethod !== 'by_phone'\"></sc-sign-in-form-by-phone>\n\n<div class=\"flex flex-col items-center gap-4\">\n <span class=\"font-medium text-tui-text-02\">\u0415\u0449\u0435 \u043D\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u044B?</span>\n <button\n tuiButton\n (click)=\"signUp.emit()\"\n type=\"button\"\n iconStart=\"@tui.user-plus\"\n appearance=\"secondary\"\n >\n \u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C\u0441\u044F\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i4.ScSignInFormByPhoneComponent, selector: "sc-sign-in-form-by-phone" }, { kind: "component", type: i5.ScSignInFormByEmailComponent, selector: "sc-sign-in-form-by-email", outputs: ["forgotPassword"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
76
+ }
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScSignInFormComponent, decorators: [{
78
+ type: Component,
79
+ args: [{ selector: 'sc-sign-in-form', host: { ngSkipHydration: 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mb-4 flex justify-center\">\n <button\n tuiButton\n [appearance]=\"authMethod === 'by_phone' ? 'primary' : 'secondary'\"\n (click)=\"switchAuth(method.byPhone)\"\n class=\"tui-space_right-3 tui-space_bottom-3 !font-bold\"\n >\n \u041F\u043E \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0443\n </button>\n\n <button\n tuiButton\n [appearance]=\"authMethod === 'by_email' ? 'primary' : 'secondary'\"\n (click)=\"switchAuth(method.byEmail)\"\n class=\"tui-space_left-3 tui-space_bottom-3 !font-bold\"\n >\n \u041F\u043E e-mail\n </button>\n</div>\n\n<sc-sign-in-form-by-email\n *ngIf=\"authMethod === 'by_email'\"\n (forgotPassword)=\"onForgotPassword()\"\n></sc-sign-in-form-by-email>\n\n<sc-sign-in-form-by-phone [class.hidden]=\"authMethod !== 'by_phone'\"></sc-sign-in-form-by-phone>\n\n<div class=\"flex flex-col items-center gap-4\">\n <span class=\"font-medium text-tui-text-02\">\u0415\u0449\u0435 \u043D\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u044B?</span>\n <button\n tuiButton\n (click)=\"signUp.emit()\"\n type=\"button\"\n iconStart=\"@tui.user-plus\"\n appearance=\"secondary\"\n >\n \u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C\u0441\u044F\n </button>\n</div>\n" }]
80
+ }], ctorParameters: () => [{ type: i1.ScAuthService }, { type: i1.ScUserMetrikaService }], propDecorators: { authMethod: [{
81
+ type: Input
82
+ }], forgotPassword: [{
83
+ type: Output
84
+ }], signUp: [{
85
+ type: Output
86
+ }], successAuth: [{
87
+ type: Output
88
+ }] } });
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc2lnbi1pbi1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9hdXRoL3NjLXNpZ24taW4tZm9ybS9zYy1zaWduLWluLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2F1dGgvc2Mtc2lnbi1pbi1mb3JtL3NjLXNpZ24taW4tZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBaUIsc0JBQXNCLEVBQXdCLE1BQU0sd0JBQXdCLENBQUM7QUFDckcsT0FBTyxFQUFFLE1BQU0sRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUUxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFFbEQ7O0dBRUc7QUFPSCxNQUFNLE9BQU8scUJBQXFCO0lBMEI5Qjs7Ozs7T0FLRztJQUNILFlBQ3FCLFdBQTBCLEVBQzFCLGtCQUF3QztRQUR4QyxnQkFBVyxHQUFYLFdBQVcsQ0FBZTtRQUMxQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXNCO1FBakM3RDs7V0FFRztRQUNhLGVBQVUsR0FBZSxVQUFVLENBQUMsT0FBTyxDQUFDO1FBRTVEOztXQUVHO1FBQ0ksV0FBTSxHQUFzQixVQUFVLENBQUM7UUFFOUM7O1dBRUc7UUFDdUIsbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV4Rjs7V0FFRztRQUN1QixXQUFNLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFaEY7O1dBRUc7UUFDdUIsZ0JBQVcsR0FBd0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBVzFILENBQUM7SUFFSixrQkFBa0I7SUFDWCxRQUFRO1FBQ1gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDO1lBQ3pDLE1BQU0sRUFBRSxzQkFBc0IsQ0FBQyxVQUFVO1lBQ3pDLE1BQU0sRUFBRTtnQkFDSixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7YUFDeEI7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFVBQVUsQ0FBQyxVQUFzQjtRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUU3QixJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUM7WUFDekMsTUFBTSxFQUFFLHNCQUFzQixDQUFDLFVBQVU7WUFDekMsTUFBTSxFQUFFO2dCQUNKLElBQUksRUFBRSxVQUFVO2FBQ25CO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBQ0ksZ0JBQWdCO1FBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0IsQ0FBQzsrR0FwRVEscUJBQXFCO21HQUFyQixxQkFBcUIsK09DZmxDLHE2Q0F1Q0E7OzRGRHhCYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0ksaUJBQWlCLFFBRXJCLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxtQkFDaEIsdUJBQXVCLENBQUMsTUFBTTtxSEFNL0IsVUFBVTtzQkFBekIsS0FBSztnQkFVb0IsY0FBYztzQkFBdkMsTUFBTTtnQkFLbUIsTUFBTTtzQkFBL0IsTUFBTTtnQkFLbUIsV0FBVztzQkFBcEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTY0F1dGhTZXJ2aWNlLCBTY1VzZXJNZXRyaWthR29hbHNFbnVtLCBTY1VzZXJNZXRyaWthU2VydmljZSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgZmlsdGVyLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEF1dGhNZXRob2QgfSBmcm9tICcuLi9lbnVtcy9hdXRoLW1ldGhvZCc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXNpZ24taW4tZm9ybScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLXNpZ24taW4tZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgaG9zdDogeyBuZ1NraXBIeWRyYXRpb246ICd0cnVlJyB9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY1NpZ25JbkZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKlxuICAgICAqINCS0YvQsdGA0LDQvdC90YvQuSDRgdC/0L7RgdC+0LEg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgYXV0aE1ldGhvZDogQXV0aE1ldGhvZCA9IEF1dGhNZXRob2QuYnlFbWFpbDtcblxuICAgIC8qKlxuICAgICAqINCf0LXRgNC10YfQuNGB0LvQtdC90LjQtSDRgdC/0L7RgdC+0LHQvtCyINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIG1ldGhvZDogdHlwZW9mIEF1dGhNZXRob2QgPSBBdXRoTWV0aG9kO1xuXG4gICAgLyoqXG4gICAgICog0KHQuNCz0L3QsNC7INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDIFwi0JfQsNCx0YvQu9C4INC/0LDRgNC+0LvRjFwiLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgZm9yZ290UGFzc3dvcmQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0LjQs9C90LDQuyDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyBcItCX0LDRgNC10LPQuNGB0YLRgNC40YDQvtCy0LDRgtGM0YHRj1wiLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgc2lnblVwOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC40LPQvdCw0Lsg0YHQvtCx0YvRgtC40Y8g0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IHN1Y2Nlc3NBdXRoOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5hdXRoU2VydmljZS5nZXRBdXRoQ2hhbmdlKCkucGlwZShmaWx0ZXIoKHN0YXRlKSA9PiBzdGF0ZSkpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY1NpZ25JbkZvcm1Db21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGF1dGhTZXJ2aWNlINCh0LXRgNCy0LjRgSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqIEBwYXJhbSB1c2VyTWV0cmlrYVNlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LvRjyDRgdCx0L7RgNCwINC80LXRgtGA0LjQuiDQviDQtNC10LnRgdGC0LLQuNGP0YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LkuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBTY0F1dGhTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJNZXRyaWthU2VydmljZTogU2NVc2VyTWV0cmlrYVNlcnZpY2VcbiAgICApIHt9XG5cbiAgICAvKiogQGluaGVyaXREb2MgKi9cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5zaWduSW5TaG93LFxuICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogdGhpcy5hdXRoTWV0aG9kLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7RgdGD0YnQtdGB0YLQstC70Y/QtdGCINC/0LXRgNC10LrQu9GO0YfQtdC90LjQtSDRgdC/0L7RgdC+0LHQvtCyINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40LguXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXV0aE1ldGhvZCDQktGL0LHRgNCw0L3QvdGL0Lkg0YHQv9C+0YHQvtCxINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIHN3aXRjaEF1dGgoYXV0aE1ldGhvZDogQXV0aE1ldGhvZCk6IHZvaWQge1xuICAgICAgICB0aGlzLmF1dGhNZXRob2QgPSBhdXRoTWV0aG9kO1xuXG4gICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5zaWduSW5TaG93LFxuICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogYXV0aE1ldGhvZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0LHRgNCw0LHQsNGC0YvQstCw0LXRgiDQvdCw0LbQsNGC0LjQtSDQvdCwINC60L3QvtC/0LrRgyBcItCX0LDQsdGL0LvQuCDQv9Cw0YDQvtC70YxcIiDQuCDQstGL0LTQsNC10YIg0YHQuNCz0L3QsNC7INC+0LEg0Y3RgtC+0LwuXG4gICAgICovXG4gICAgcHVibGljIG9uRm9yZ290UGFzc3dvcmQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9yZ290UGFzc3dvcmQuZW1pdCgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtYi00IGZsZXgganVzdGlmeS1jZW50ZXJcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgIHR1aUJ1dHRvblxuICAgICAgICBbYXBwZWFyYW5jZV09XCJhdXRoTWV0aG9kID09PSAnYnlfcGhvbmUnID8gJ3ByaW1hcnknIDogJ3NlY29uZGFyeSdcIlxuICAgICAgICAoY2xpY2spPVwic3dpdGNoQXV0aChtZXRob2QuYnlQaG9uZSlcIlxuICAgICAgICBjbGFzcz1cInR1aS1zcGFjZV9yaWdodC0zIHR1aS1zcGFjZV9ib3R0b20tMyAhZm9udC1ib2xkXCJcbiAgICA+XG4gICAgICAgINCf0L4g0YLQtdC70LXRhNC+0L3Rg1xuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvblxuICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgW2FwcGVhcmFuY2VdPVwiYXV0aE1ldGhvZCA9PT0gJ2J5X2VtYWlsJyA/ICdwcmltYXJ5JyA6ICdzZWNvbmRhcnknXCJcbiAgICAgICAgKGNsaWNrKT1cInN3aXRjaEF1dGgobWV0aG9kLmJ5RW1haWwpXCJcbiAgICAgICAgY2xhc3M9XCJ0dWktc3BhY2VfbGVmdC0zIHR1aS1zcGFjZV9ib3R0b20tMyAhZm9udC1ib2xkXCJcbiAgICA+XG4gICAgICAgINCf0L4gZS1tYWlsXG4gICAgPC9idXR0b24+XG48L2Rpdj5cblxuPHNjLXNpZ24taW4tZm9ybS1ieS1lbWFpbFxuICAgICpuZ0lmPVwiYXV0aE1ldGhvZCA9PT0gJ2J5X2VtYWlsJ1wiXG4gICAgKGZvcmdvdFBhc3N3b3JkKT1cIm9uRm9yZ290UGFzc3dvcmQoKVwiXG4+PC9zYy1zaWduLWluLWZvcm0tYnktZW1haWw+XG5cbjxzYy1zaWduLWluLWZvcm0tYnktcGhvbmUgW2NsYXNzLmhpZGRlbl09XCJhdXRoTWV0aG9kICE9PSAnYnlfcGhvbmUnXCI+PC9zYy1zaWduLWluLWZvcm0tYnktcGhvbmU+XG5cbjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBnYXAtNFwiPlxuICAgIDxzcGFuIGNsYXNzPVwiZm9udC1tZWRpdW0gdGV4dC10dWktdGV4dC0wMlwiPtCV0YnQtSDQvdC1INC30LDRgNC10LPQuNGB0YLRgNC40YDQvtCy0LDQvdGLPzwvc3Bhbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAoY2xpY2spPVwic2lnblVwLmVtaXQoKVwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLnVzZXItcGx1c1wiXG4gICAgICAgIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIlxuICAgID5cbiAgICAgICAg0JfQsNGA0LXQs9C40YHRgtGA0LjRgNC+0LLQsNGC0YzRgdGPXG4gICAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==