@snabcentr/client-ui 1.19.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (300) hide show
  1. package/accordion/sc-accordion-content.directive.d.ts +2 -2
  2. package/accordion/sc-accordion.component.d.ts +4 -4
  3. package/accordion/sc-accordion.module.d.ts +2 -2
  4. package/auth/index.d.ts +2 -1
  5. package/auth/interfaces/{ApiErrorResponse.d.ts → api-error-response.d.ts} +1 -3
  6. package/auth/interfaces/index.d.ts +3 -0
  7. package/auth/interfaces/sc-bank-account-form-group.d.ts +11 -0
  8. package/auth/interfaces/sc-contact-form-group.d.ts +10 -0
  9. package/auth/sc-auth.module.d.ts +14 -8
  10. package/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.d.ts +1 -1
  11. package/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.d.ts +1 -1
  12. package/auth/sc-sign-in-form/sc-sign-in-form.component.d.ts +1 -1
  13. package/auth/sign-up-form/sc-sign-up-form.component.d.ts +153 -0
  14. package/banner/sc-banner.component.d.ts +9 -5
  15. package/banner/sc-banner.module.d.ts +5 -4
  16. package/brands-list/index.d.ts +2 -0
  17. package/brands-list/sc-brands-list.component.d.ts +15 -0
  18. package/brands-list/sc-brands-list.module.d.ts +12 -0
  19. package/cart/cart-item-mobile/sc-cart-item-mobile.component.d.ts +16 -16
  20. package/cart/sc-cart.module.d.ts +3 -3
  21. package/catalog/categories-list/sc-categories-list.component.d.ts +9 -3
  22. package/catalog/category-card/sc-category-card.component.d.ts +1 -1
  23. package/catalog/input-quantity/sc-input-quantity.component.d.ts +6 -14
  24. package/catalog/price-card/sc-price-card.component.d.ts +11 -105
  25. package/catalog/price-history/sc-price-history.component.d.ts +11 -5
  26. package/catalog/price-list-pagination/sc-price-list-pagination.component.d.ts +10 -5
  27. package/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.d.ts +1 -1
  28. package/catalog/sc-catalog.module.d.ts +5 -4
  29. package/catalog/sc-favorite-btn/sc-favorite-btn.component.d.ts +1 -1
  30. package/contacts/add-contact-dialog/sc-add-contact-dialog.component.d.ts +11 -6
  31. package/contacts/contacts-accordion/sc-contacts-accordion.component.d.ts +1 -1
  32. package/contacts/new-contact-form/sc-new-contact-form.component.d.ts +1 -1
  33. package/contacts/sc-contacts.module.d.ts +6 -1
  34. package/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.d.ts +3 -3
  35. package/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.d.ts +23 -15
  36. package/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.d.ts +1 -1
  37. package/contragents/contragents-accordion/sc-contragents-accordion.component.d.ts +1 -1
  38. package/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.d.ts +1 -1
  39. package/contragents/new-contragent-form/sc-new-contragent-form.component.d.ts +31 -16
  40. package/contragents/sc-contragents.module.d.ts +6 -4
  41. package/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.d.ts +83 -8
  42. package/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.d.ts +1 -1
  43. package/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.d.ts +1 -1
  44. package/delivery-address/sc-delivery-address.module.d.ts +4 -2
  45. package/directives/abstract-price-card/abstract-sc-price-card.directive.d.ts +107 -0
  46. package/directives/index.d.ts +6 -2
  47. package/directives/next-input-focus/sc-next-input-focus.directive.d.ts +18 -0
  48. package/directives/next-input-focus/sc-next-input-focus.module.d.ts +10 -0
  49. package/directives/tel-link/sc-tel-link.directive.d.ts +27 -0
  50. package/directives/tel-link/sc-tel-link.module.d.ts +11 -0
  51. package/directives/terminal-link/sc-terminal-link.directive.d.ts +34 -0
  52. package/esm2022/accordion/sc-accordion-content.directive.mjs +17 -0
  53. package/esm2022/accordion/sc-accordion.component.mjs +88 -0
  54. package/esm2022/accordion/sc-accordion.module.mjs +26 -0
  55. package/esm2022/auth/index.mjs +8 -0
  56. package/esm2022/auth/interfaces/api-error-response.mjs +2 -0
  57. package/esm2022/auth/interfaces/index.mjs +4 -0
  58. package/esm2022/auth/interfaces/sc-bank-account-form-group.mjs +2 -0
  59. package/esm2022/auth/interfaces/sc-contact-form-group.mjs +2 -0
  60. package/esm2022/auth/sc-auth.module.mjs +98 -0
  61. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.mjs +72 -0
  62. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs +70 -0
  63. package/{esm2020 → esm2022}/auth/sc-sign-in-form/sc-sign-in-form.component.mjs +6 -6
  64. package/esm2022/auth/sign-up-form/sc-sign-up-form.component.mjs +321 -0
  65. package/esm2022/banner/sc-banner.component.mjs +234 -0
  66. package/esm2022/banner/sc-banner.module.mjs +29 -0
  67. package/esm2022/brands-list/index.mjs +3 -0
  68. package/esm2022/brands-list/sc-brands-list.component.mjs +24 -0
  69. package/esm2022/brands-list/sc-brands-list.module.mjs +22 -0
  70. package/esm2022/cart/cart-item-mobile/sc-cart-item-mobile.component.mjs +121 -0
  71. package/esm2022/cart/sc-cart.module.mjs +54 -0
  72. package/esm2022/catalog/categories-list/sc-categories-list.component.mjs +92 -0
  73. package/esm2022/catalog/category-card/sc-category-card.component.mjs +120 -0
  74. package/esm2022/catalog/input-quantity/sc-input-quantity.component.mjs +141 -0
  75. package/esm2022/catalog/price-card/sc-price-card.component.mjs +64 -0
  76. package/esm2022/catalog/price-history/sc-price-history.component.mjs +126 -0
  77. package/esm2022/catalog/price-list-pagination/sc-price-list-pagination.component.mjs +49 -0
  78. package/{esm2020 → esm2022}/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.mjs +6 -6
  79. package/esm2022/catalog/sc-catalog.module.mjs +120 -0
  80. package/esm2022/catalog/sc-favorite-btn/sc-favorite-btn.component.mjs +42 -0
  81. package/esm2022/contacts/add-contact-dialog/sc-add-contact-dialog.component.mjs +89 -0
  82. package/esm2022/contacts/contacts-accordion/sc-contacts-accordion.component.mjs +38 -0
  83. package/esm2022/contacts/new-contact-form/sc-new-contact-form.component.mjs +30 -0
  84. package/esm2022/contacts/sc-contacts.module.mjs +88 -0
  85. package/esm2022/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.mjs +80 -0
  86. package/esm2022/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.mjs +262 -0
  87. package/esm2022/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.mjs +75 -0
  88. package/{esm2020 → esm2022}/contragents/contragents-accordion/sc-contragents-accordion.component.mjs +6 -6
  89. package/esm2022/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.mjs +64 -0
  90. package/esm2022/contragents/new-contragent-form/sc-new-contragent-form.component.mjs +220 -0
  91. package/esm2022/contragents/sc-contragents.module.mjs +110 -0
  92. package/esm2022/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.mjs +230 -0
  93. package/{esm2020 → esm2022}/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.mjs +6 -6
  94. package/{esm2020 → esm2022}/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.mjs +6 -6
  95. package/esm2022/delivery-address/sc-delivery-address.module.mjs +84 -0
  96. package/esm2022/directives/abstract-price-card/abstract-sc-price-card.directive.mjs +131 -0
  97. package/esm2022/directives/index.mjs +7 -0
  98. package/esm2022/directives/next-input-focus/sc-next-input-focus.directive.mjs +43 -0
  99. package/esm2022/directives/next-input-focus/sc-next-input-focus.module.mjs +19 -0
  100. package/esm2022/directives/tel-link/sc-tel-link.directive.mjs +58 -0
  101. package/esm2022/directives/tel-link/sc-tel-link.module.mjs +20 -0
  102. package/esm2022/directives/terminal-link/sc-terminal-link.directive.mjs +69 -0
  103. package/esm2022/files/directives/tree-top.directive.mjs +63 -0
  104. package/{esm2020 → esm2022}/files/directives/tree.directive.mjs +5 -5
  105. package/esm2022/files/file-tree-item/file-tree-item.component.mjs +18 -0
  106. package/esm2022/files/files-and-documents/files-and-documents.component.mjs +60 -0
  107. package/esm2022/files/files-and-documents.module.mjs +27 -0
  108. package/esm2022/files/services/tree-icon.service.mjs +49 -0
  109. package/{esm2020 → esm2022}/files/services/tree-loader.service.mjs +5 -5
  110. package/esm2022/form-fields/addresses-selection-field/sc-addresses-selection-field.component.mjs +128 -0
  111. package/esm2022/form-fields/form-fields.module.mjs +69 -0
  112. package/esm2022/form-fields/suggestion-field/sc-suggestion-field.component.mjs +134 -0
  113. package/{esm2020 → esm2022}/helpers/sc-px-converter.mjs +4 -4
  114. package/esm2022/helpers/sc-units-helper.mjs +45 -0
  115. package/{esm2020 → esm2022}/news/news-card/sc-news-card.component.mjs +4 -4
  116. package/{esm2020 → esm2022}/news/news-card-skeleton/sc-news-card-skeleton.component.mjs +4 -4
  117. package/{esm2020 → esm2022}/news/sc-news.module.mjs +5 -5
  118. package/esm2022/order/order-item-mobile/order-item-mobile.component.mjs +80 -0
  119. package/esm2022/order/sc-order.module.mjs +29 -0
  120. package/esm2022/order/sc-payment-status/sc-payment-status.component.mjs +35 -0
  121. package/esm2022/pipes/index.mjs +2 -0
  122. package/esm2022/pipes/sc-formatted-phone.mjs +34 -0
  123. package/esm2022/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +182 -0
  124. package/esm2022/profile/sc-profile.module.mjs +77 -0
  125. package/{esm2020 → esm2022}/providers/index.mjs +1 -2
  126. package/esm2022/providers/scUserProviders.mjs +27 -0
  127. package/esm2022/public-api.mjs +30 -0
  128. package/esm2022/qrcode/index.mjs +3 -0
  129. package/esm2022/qrcode/qrcode-dialog/sc-qrcode-dialog.component.mjs +58 -0
  130. package/esm2022/qrcode/sc-qrcode.module.mjs +25 -0
  131. package/esm2022/samples/ask-to-sample-form/sc-ask-to-sample-form.component.mjs +37 -0
  132. package/esm2022/samples/index.mjs +5 -0
  133. package/esm2022/samples/interfaces/sc-i-preview-sample.mjs +2 -0
  134. package/esm2022/samples/preview-sample/sc-preview-sample.component.mjs +83 -0
  135. package/esm2022/samples/sc-sample.module.mjs +59 -0
  136. package/{esm2020 → esm2022}/share-button/sc-share-button.component.mjs +5 -5
  137. package/esm2022/share-button/sc-share-button.module.mjs +22 -0
  138. package/esm2022/user/index.mjs +6 -0
  139. package/esm2022/user/reset-user-password/sc-reset-user-password.component.mjs +71 -0
  140. package/esm2022/user/sc-user.module.mjs +89 -0
  141. package/esm2022/user/update-user-info-dialog/sc-update-user-info-dialog.component.mjs +117 -0
  142. package/esm2022/user/user-managers/sc-user-managers.component.mjs +41 -0
  143. package/esm2022/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.mjs +102 -0
  144. package/{esm2020 → esm2022}/validators/index.mjs +2 -2
  145. package/esm2022/validators/sc-password-confirm-matching-validator.mjs +17 -0
  146. package/esm2022/validators/stepValidator.mjs +18 -0
  147. package/esm2022/verification/sc-verification.module.mjs +68 -0
  148. package/esm2022/verification/verification-phone-check-form/sc-verification-phone-check-form.component.mjs +198 -0
  149. package/fesm2022/snabcentr-client-ui.mjs +5710 -0
  150. package/fesm2022/snabcentr-client-ui.mjs.map +1 -0
  151. package/files/directives/tree-top.directive.d.ts +1 -1
  152. package/files/directives/tree.directive.d.ts +1 -1
  153. package/files/file-tree-item/file-tree-item.component.d.ts +3 -3
  154. package/files/files-and-documents/files-and-documents.component.d.ts +1 -1
  155. package/files/files-and-documents.module.d.ts +1 -1
  156. package/form-fields/addresses-selection-field/sc-addresses-selection-field.component.d.ts +17 -11
  157. package/form-fields/form-fields.module.d.ts +5 -3
  158. package/form-fields/suggestion-field/sc-suggestion-field.component.d.ts +10 -2
  159. package/helpers/sc-units-helper.d.ts +6 -6
  160. package/news/news-card/sc-news-card.component.d.ts +1 -1
  161. package/news/news-card-skeleton/sc-news-card-skeleton.component.d.ts +1 -1
  162. package/order/order-item-mobile/order-item-mobile.component.d.ts +9 -9
  163. package/order/sc-order.module.d.ts +4 -2
  164. package/order/sc-payment-status/sc-payment-status.component.d.ts +1 -1
  165. package/package.json +40 -45
  166. package/pipes/index.d.ts +1 -0
  167. package/pipes/sc-formatted-phone.d.ts +19 -0
  168. package/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.d.ts +3 -3
  169. package/profile/sc-profile.module.d.ts +6 -4
  170. package/providers/index.d.ts +0 -1
  171. package/providers/scUserProviders.d.ts +2 -3
  172. package/public-api.d.ts +4 -0
  173. package/qrcode/index.d.ts +2 -0
  174. package/qrcode/qrcode-dialog/sc-qrcode-dialog.component.d.ts +37 -0
  175. package/qrcode/sc-qrcode.module.d.ts +14 -0
  176. package/samples/ask-to-sample-form/sc-ask-to-sample-form.component.d.ts +18 -0
  177. package/samples/index.d.ts +4 -0
  178. package/samples/interfaces/sc-i-preview-sample.d.ts +47 -0
  179. package/samples/preview-sample/sc-preview-sample.component.d.ts +48 -0
  180. package/samples/sc-sample.module.d.ts +19 -0
  181. package/share-button/sc-share-button.component.d.ts +1 -1
  182. package/share-button/sc-share-button.module.d.ts +1 -1
  183. package/styles/taiga/taiga-tailwind-preset.js +121 -0
  184. package/styles/taiga/variables.less +17 -14
  185. package/styles/tailwind/tailwind.scss +252 -61
  186. package/user/index.d.ts +1 -0
  187. package/user/reset-user-password/sc-reset-user-password.component.d.ts +3 -3
  188. package/user/sc-user.module.d.ts +12 -8
  189. package/user/update-user-info-dialog/sc-update-user-info-dialog.component.d.ts +13 -9
  190. package/user/user-managers/sc-user-managers.component.d.ts +26 -0
  191. package/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.d.ts +13 -8
  192. package/validators/index.d.ts +1 -1
  193. package/validators/{scPasswordConfirmMatchingValidator.d.ts → sc-password-confirm-matching-validator.d.ts} +1 -1
  194. package/verification/sc-verification.module.d.ts +5 -4
  195. package/verification/verification-phone-check-form/sc-verification-phone-check-form.component.d.ts +18 -18
  196. package/directives/carousel-item-hidden/sc-carousel-item-hidden.directive.d.ts +0 -24
  197. package/directives/carousel-item-hidden/sc-carousel-item-hidden.module.d.ts +0 -11
  198. package/esm2020/accordion/sc-accordion-content.directive.mjs +0 -17
  199. package/esm2020/accordion/sc-accordion.component.mjs +0 -88
  200. package/esm2020/accordion/sc-accordion.module.mjs +0 -25
  201. package/esm2020/auth/index.mjs +0 -7
  202. package/esm2020/auth/interfaces/ApiErrorResponse.mjs +0 -2
  203. package/esm2020/auth/sc-auth.module.mjs +0 -79
  204. package/esm2020/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.mjs +0 -64
  205. package/esm2020/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs +0 -63
  206. package/esm2020/banner/sc-banner.component.mjs +0 -234
  207. package/esm2020/banner/sc-banner.module.mjs +0 -26
  208. package/esm2020/cart/cart-item-mobile/sc-cart-item-mobile.component.mjs +0 -120
  209. package/esm2020/cart/sc-cart.module.mjs +0 -65
  210. package/esm2020/catalog/categories-list/sc-categories-list.component.mjs +0 -84
  211. package/esm2020/catalog/category-card/sc-category-card.component.mjs +0 -120
  212. package/esm2020/catalog/input-quantity/sc-input-quantity.component.mjs +0 -163
  213. package/esm2020/catalog/price-card/sc-price-card.component.mjs +0 -175
  214. package/esm2020/catalog/price-history/sc-price-history.component.mjs +0 -114
  215. package/esm2020/catalog/price-list-pagination/sc-price-list-pagination.component.mjs +0 -37
  216. package/esm2020/catalog/sc-catalog.module.mjs +0 -128
  217. package/esm2020/catalog/sc-favorite-btn/sc-favorite-btn.component.mjs +0 -41
  218. package/esm2020/contacts/add-contact-dialog/sc-add-contact-dialog.component.mjs +0 -71
  219. package/esm2020/contacts/contacts-accordion/sc-contacts-accordion.component.mjs +0 -35
  220. package/esm2020/contacts/new-contact-form/sc-new-contact-form.component.mjs +0 -28
  221. package/esm2020/contacts/sc-contacts.module.mjs +0 -92
  222. package/esm2020/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.mjs +0 -71
  223. package/esm2020/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.mjs +0 -249
  224. package/esm2020/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.mjs +0 -75
  225. package/esm2020/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.mjs +0 -61
  226. package/esm2020/contragents/new-contragent-form/sc-new-contragent-form.component.mjs +0 -183
  227. package/esm2020/contragents/sc-contragents.module.mjs +0 -103
  228. package/esm2020/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.mjs +0 -79
  229. package/esm2020/delivery-address/sc-delivery-address.module.mjs +0 -77
  230. package/esm2020/directives/carousel-item-hidden/sc-carousel-item-hidden.directive.mjs +0 -40
  231. package/esm2020/directives/carousel-item-hidden/sc-carousel-item-hidden.module.mjs +0 -21
  232. package/esm2020/directives/index.mjs +0 -3
  233. package/esm2020/files/directives/tree-top.directive.mjs +0 -63
  234. package/esm2020/files/file-tree-item/file-tree-item.component.mjs +0 -18
  235. package/esm2020/files/files-and-documents/files-and-documents.component.mjs +0 -60
  236. package/esm2020/files/files-and-documents.module.mjs +0 -26
  237. package/esm2020/files/services/tree-icon.service.mjs +0 -48
  238. package/esm2020/form-fields/addresses-selection-field/sc-addresses-selection-field.component.mjs +0 -122
  239. package/esm2020/form-fields/form-fields.module.mjs +0 -80
  240. package/esm2020/form-fields/suggestion-field/sc-suggestion-field.component.mjs +0 -116
  241. package/esm2020/helpers/sc-units-helper.mjs +0 -44
  242. package/esm2020/order/order-item-mobile/order-item-mobile.component.mjs +0 -79
  243. package/esm2020/order/sc-order.module.mjs +0 -25
  244. package/esm2020/order/sc-payment-status/sc-payment-status.component.mjs +0 -35
  245. package/esm2020/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +0 -177
  246. package/esm2020/profile/sc-profile.module.mjs +0 -80
  247. package/esm2020/providers/productsPagination.mjs +0 -99
  248. package/esm2020/providers/scUserProviders.mjs +0 -30
  249. package/esm2020/public-api.mjs +0 -26
  250. package/esm2020/share-button/sc-share-button.module.mjs +0 -22
  251. package/esm2020/user/index.mjs +0 -5
  252. package/esm2020/user/reset-user-password/sc-reset-user-password.component.mjs +0 -67
  253. package/esm2020/user/sc-user.module.mjs +0 -88
  254. package/esm2020/user/update-user-info-dialog/sc-update-user-info-dialog.component.mjs +0 -105
  255. package/esm2020/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.mjs +0 -91
  256. package/esm2020/validators/scPasswordConfirmMatchingValidator.mjs +0 -17
  257. package/esm2020/validators/stepValidator.mjs +0 -18
  258. package/esm2020/verification/sc-verification.module.mjs +0 -73
  259. package/esm2020/verification/verification-phone-check-form/sc-verification-phone-check-form.component.mjs +0 -184
  260. package/fesm2015/snabcentr-client-ui.mjs +0 -4858
  261. package/fesm2015/snabcentr-client-ui.mjs.map +0 -1
  262. package/fesm2020/snabcentr-client-ui.mjs +0 -4778
  263. package/fesm2020/snabcentr-client-ui.mjs.map +0 -1
  264. package/providers/productsPagination.d.ts +0 -43
  265. /package/{esm2020 → esm2022}/accordion/index.mjs +0 -0
  266. /package/{esm2020 → esm2022}/auth/enums/auth-method.mjs +0 -0
  267. /package/{esm2020 → esm2022}/banner/index.mjs +0 -0
  268. /package/{esm2020 → esm2022}/cart/index.mjs +0 -0
  269. /package/{esm2020 → esm2022}/catalog/index.mjs +0 -0
  270. /package/{esm2020 → esm2022}/contacts/index.mjs +0 -0
  271. /package/{esm2020 → esm2022}/contragents/index.mjs +0 -0
  272. /package/{esm2020 → esm2022}/delivery-address/index.mjs +0 -0
  273. /package/{esm2020 → esm2022}/files/directives/index.mjs +0 -0
  274. /package/{esm2020 → esm2022}/files/index.mjs +0 -0
  275. /package/{esm2020 → esm2022}/files/interfaces/tree-node.mjs +0 -0
  276. /package/{esm2020 → esm2022}/files/services/index.mjs +0 -0
  277. /package/{esm2020 → esm2022}/form-fields/index.mjs +0 -0
  278. /package/{esm2020 → esm2022}/helpers/index.mjs +0 -0
  279. /package/{esm2020 → esm2022}/icons/index.mjs +0 -0
  280. /package/{esm2020 → esm2022}/icons/sc-client-ui-icons-name.mjs +0 -0
  281. /package/{esm2020 → esm2022}/loader/index.mjs +0 -0
  282. /package/{esm2020 → esm2022}/loader/sc-i-loader.mjs +0 -0
  283. /package/{esm2020 → esm2022}/masks/index.mjs +0 -0
  284. /package/{esm2020 → esm2022}/masks/sc-account-number-mask.mjs +0 -0
  285. /package/{esm2020 → esm2022}/masks/sc-bic-mask.mjs +0 -0
  286. /package/{esm2020 → esm2022}/masks/sc-correspondent-account-mask.mjs +0 -0
  287. /package/{esm2020 → esm2022}/masks/sc-inn-mask.mjs +0 -0
  288. /package/{esm2020 → esm2022}/masks/sc-kpp-mask.mjs +0 -0
  289. /package/{esm2020 → esm2022}/masks/sc-okpo-mask.mjs +0 -0
  290. /package/{esm2020 → esm2022}/masks/sc-phone-verification-code-mask.mjs +0 -0
  291. /package/{esm2020 → esm2022}/news/index.mjs +0 -0
  292. /package/{esm2020 → esm2022}/order/index.mjs +0 -0
  293. /package/{esm2020 → esm2022}/profile/index.mjs +0 -0
  294. /package/{esm2020 → esm2022}/share-button/index.mjs +0 -0
  295. /package/{esm2020 → esm2022}/snabcentr-client-ui.mjs +0 -0
  296. /package/{esm2020 → esm2022}/tokens/index.mjs +0 -0
  297. /package/{esm2020 → esm2022}/tokens/sc-linear-values-token.mjs +0 -0
  298. /package/{esm2020 → esm2022}/validators/scBicValidator.mjs +0 -0
  299. /package/{esm2020 → esm2022}/validators/scCorrespondentAccountValidator.mjs +0 -0
  300. /package/{esm2020 → esm2022}/verification/index.mjs +0 -0
@@ -0,0 +1,141 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, HostListener, Input, Output, ViewChild } from '@angular/core';
2
+ import { AbstractTuiNullableControl, TuiInputNumberComponent } from '@taiga-ui/legacy';
3
+ import { stepValidator } from '../../validators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@taiga-ui/core";
7
+ import * as i3 from "@taiga-ui/legacy";
8
+ import * as i4 from "@angular/forms";
9
+ import * as i5 from "@taiga-ui/kit";
10
+ /**
11
+ * Компонент поля ввода количества.
12
+ */
13
+ export class ScInputQuantityComponent extends AbstractTuiNullableControl {
14
+ constructor() {
15
+ super(...arguments);
16
+ /**
17
+ * Шаг увеличения количества. Отвечает за проверку кратности ввода.
18
+ */
19
+ this.step = 1;
20
+ /**
21
+ * Признак, что необходимо отобразить {@link TuiLoaderComponent} над компонентом.
22
+ */
23
+ this.showLoader = false;
24
+ /**
25
+ * Признак, что необходимо отобразить кнопку очистки поля ввода.
26
+ */
27
+ this.showCross = true;
28
+ /**
29
+ * Формат внешнего вида компонента.
30
+ */
31
+ this.appearance = 'primary';
32
+ /**
33
+ * Признак, что компонент деактивирован.
34
+ */
35
+ this.isDisabled = false;
36
+ /**
37
+ * Размер компонента.
38
+ */
39
+ this.size = 'm';
40
+ /**
41
+ * Событие нажатия на кнопку "Очистить".
42
+ */
43
+ this.clickClearEvent = new EventEmitter();
44
+ }
45
+ /**
46
+ * Возвращает элемент, который может быть сфокусирован.
47
+ */
48
+ get nativeFocusableElement() {
49
+ return this.numberInput.nativeFocusableElement;
50
+ }
51
+ get focused() {
52
+ return !!this.numberInput.focused;
53
+ }
54
+ get formControl() {
55
+ return this.control;
56
+ }
57
+ /** @inheritDoc */
58
+ ngOnInit() {
59
+ if (this.control) {
60
+ this.control.setValidators(stepValidator(this.step));
61
+ }
62
+ }
63
+ /**
64
+ * Обработчик события нажатия стрелок клавиатуры.
65
+ *
66
+ * @param step Шаг изменения количества.
67
+ */
68
+ onArrow(step) {
69
+ if (!step) {
70
+ return;
71
+ }
72
+ if (step > 0) {
73
+ this.incident();
74
+ }
75
+ else {
76
+ this.decrement();
77
+ }
78
+ }
79
+ /**
80
+ * Увеличивает значение в поле ввода на 1 шаг. Если число в поле ввода не кратно шагу, то увеличит до ближайшего кратного значения.
81
+ */
82
+ incident() {
83
+ // eslint-disable-next-line @typescript-eslint/dot-notation
84
+ this.numberInput['onArrow'](this.step - ((this.numberInput.value ?? 0) % this.step));
85
+ this.numberInput.nativeFocusableElement?.blur();
86
+ }
87
+ /**
88
+ * Уменьшает значение в поле ввода на 1 шаг. Если число в поле ввода не кратно шагу, то уменьшит до ближайшего кратного значения.
89
+ */
90
+ decrement() {
91
+ // eslint-disable-next-line @typescript-eslint/dot-notation
92
+ this.numberInput['onArrow'](-((this.numberInput.value ?? 0) % this.step) || -this.step);
93
+ this.numberInput.nativeFocusableElement?.blur();
94
+ }
95
+ /**
96
+ * Очищает поля ввода.
97
+ */
98
+ clear() {
99
+ this.control?.patchValue(null);
100
+ this.clickClearEvent.emit();
101
+ }
102
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScInputQuantityComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
103
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.3", type: ScInputQuantityComponent, selector: "sc-input-quantity", inputs: { step: "step", showLoader: "showLoader", showCross: "showCross", appearance: "appearance", isDisabled: "isDisabled", size: "size" }, outputs: { clickClearEvent: "clickClearEvent" }, host: { listeners: { "keydown.arrowDown": "onArrow(-step)", "keydown.arrowUp": "onArrow(step)" }, properties: { "attr.data-appearance": "this.appearance", "attr.data-disabled": "this.isDisabled", "attr.data-size": "this.size" } }, viewQueries: [{ propertyName: "numberInput", first: true, predicate: TuiInputNumberComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-loader\n *ngIf=\"formControl\"\n class=\"w-full\"\n [overlay]=\"true\"\n [showLoader]=\"showLoader\"\n [size]=\"size\"\n>\n <div class=\"flex items-center gap-1 text-center\">\n <div class=\"field-with-button flex grow rounded-xl\">\n <button\n tuiIconButton\n [appearance]=\"appearance\"\n [disabled]=\"!numberInput['canDecrement']\"\n [size]=\"size\"\n (click.prevent)=\"decrement()\"\n (mousedown.prevent)=\"numberInput.nativeFocusableElement?.focus()\"\n >\n <tui-icon icon=\"@tui.minus\"></tui-icon>\n </button>\n <tui-input-number\n #numberInput\n [formControl]=\"formControl\"\n [tuiHint]=\"([] | tuiFieldError | async)?.message\"\n [tuiTextfieldLabelOutside]=\"true\"\n [min]=\"step\"\n [tuiTextfieldSize]=\"size\"\n [required]=\"true\"\n [style.text-align]=\"'center'\"\n [style.font-weight]=\"700\"\n (focusin)=\"$any($event.target).select()\"\n oncontextmenu=\"return false;\"\n class=\"grow\"\n >\n </tui-input-number>\n <button\n tuiIconButton\n [appearance]=\"appearance\"\n [size]=\"size\"\n [disabled]=\"!numberInput['canIncrement']\"\n (click.prevent)=\"incident()\"\n (mousedown.prevent)=\"numberInput.nativeFocusableElement?.focus()\"\n >\n <tui-icon icon=\"@tui.plus\"></tui-icon>\n </button>\n </div>\n <button\n *ngIf=\"showCross\"\n tuiIconButton\n [appearance]=\"appearance\"\n [size]=\"size\"\n [disabled]=\"!numberInput['canIncrement']\"\n (click.prevent)=\"clear()\"\n (mousedown.prevent)=\"numberInput.nativeFocusableElement?.focus()\"\n >\n <tui-icon icon=\"@tui.x\"></tui-icon>\n </button>\n </div>\n</tui-loader>\n", styles: [":host [data-size=l]{--tui-height-l: var(--tui-height-m);--tui-font-text-m: bold .875rem/1.25rem var(--tui-font-text);--tui-padding-l: 0}:host [data-size=m]{--tui-height-m: var(--tui-height-s);--tui-font-text-s: bold .75rem/1rem var(--tui-font-text);--tui-padding-m: 0}:host [data-size=m] tui-svg{font-size:12px!important}:host [data-size=s]{--tui-height-s: var(--tui-height-xs);--tui-font-text-s: bold .75rem/1rem var(--tui-font-text);--tui-padding-s: 0}:host [data-size=s] tui-svg{font-size:12px!important}:host[data-disabled=true]{pointer-events:none;opacity:var(--tui-disabled-opacity)}:host[data-appearance=secondary] .field-with-button{background-color:var(--tui-background-base);box-shadow:inset 0 0 0 .0625rem var(--tui-background-neutral-1-hover)}:host[data-appearance=primary] .field-with-button{background-color:var(--tui-status-warning-pale)}:host .field-with-button:has(._invalid){background-color:var(--tui-status-negative-pale)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i2.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "component", type: i3.TuiInputNumberComponent, selector: "tui-input-number", inputs: ["min", "max", "step"] }, { kind: "directive", type: i3.TuiInputNumberDirective, selector: "tui-input-number" }, { kind: "directive", type: i3.TuiTextfieldLabelOutsideDirective, selector: "[tuiTextfieldLabelOutside]", inputs: ["tuiTextfieldLabelOutside"] }, { kind: "directive", type: i3.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"] }, { kind: "component", type: i2.TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TuiFieldErrorPipe, name: "tuiFieldError" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
104
+ }
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScInputQuantityComponent, decorators: [{
106
+ type: Component,
107
+ args: [{ selector: 'sc-input-quantity', changeDetection: ChangeDetectionStrategy.OnPush, template: "<tui-loader\n *ngIf=\"formControl\"\n class=\"w-full\"\n [overlay]=\"true\"\n [showLoader]=\"showLoader\"\n [size]=\"size\"\n>\n <div class=\"flex items-center gap-1 text-center\">\n <div class=\"field-with-button flex grow rounded-xl\">\n <button\n tuiIconButton\n [appearance]=\"appearance\"\n [disabled]=\"!numberInput['canDecrement']\"\n [size]=\"size\"\n (click.prevent)=\"decrement()\"\n (mousedown.prevent)=\"numberInput.nativeFocusableElement?.focus()\"\n >\n <tui-icon icon=\"@tui.minus\"></tui-icon>\n </button>\n <tui-input-number\n #numberInput\n [formControl]=\"formControl\"\n [tuiHint]=\"([] | tuiFieldError | async)?.message\"\n [tuiTextfieldLabelOutside]=\"true\"\n [min]=\"step\"\n [tuiTextfieldSize]=\"size\"\n [required]=\"true\"\n [style.text-align]=\"'center'\"\n [style.font-weight]=\"700\"\n (focusin)=\"$any($event.target).select()\"\n oncontextmenu=\"return false;\"\n class=\"grow\"\n >\n </tui-input-number>\n <button\n tuiIconButton\n [appearance]=\"appearance\"\n [size]=\"size\"\n [disabled]=\"!numberInput['canIncrement']\"\n (click.prevent)=\"incident()\"\n (mousedown.prevent)=\"numberInput.nativeFocusableElement?.focus()\"\n >\n <tui-icon icon=\"@tui.plus\"></tui-icon>\n </button>\n </div>\n <button\n *ngIf=\"showCross\"\n tuiIconButton\n [appearance]=\"appearance\"\n [size]=\"size\"\n [disabled]=\"!numberInput['canIncrement']\"\n (click.prevent)=\"clear()\"\n (mousedown.prevent)=\"numberInput.nativeFocusableElement?.focus()\"\n >\n <tui-icon icon=\"@tui.x\"></tui-icon>\n </button>\n </div>\n</tui-loader>\n", styles: [":host [data-size=l]{--tui-height-l: var(--tui-height-m);--tui-font-text-m: bold .875rem/1.25rem var(--tui-font-text);--tui-padding-l: 0}:host [data-size=m]{--tui-height-m: var(--tui-height-s);--tui-font-text-s: bold .75rem/1rem var(--tui-font-text);--tui-padding-m: 0}:host [data-size=m] tui-svg{font-size:12px!important}:host [data-size=s]{--tui-height-s: var(--tui-height-xs);--tui-font-text-s: bold .75rem/1rem var(--tui-font-text);--tui-padding-s: 0}:host [data-size=s] tui-svg{font-size:12px!important}:host[data-disabled=true]{pointer-events:none;opacity:var(--tui-disabled-opacity)}:host[data-appearance=secondary] .field-with-button{background-color:var(--tui-background-base);box-shadow:inset 0 0 0 .0625rem var(--tui-background-neutral-1-hover)}:host[data-appearance=primary] .field-with-button{background-color:var(--tui-status-warning-pale)}:host .field-with-button:has(._invalid){background-color:var(--tui-status-negative-pale)}\n"] }]
108
+ }], propDecorators: { numberInput: [{
109
+ type: ViewChild,
110
+ args: [TuiInputNumberComponent]
111
+ }], step: [{
112
+ type: Input
113
+ }], showLoader: [{
114
+ type: Input
115
+ }], showCross: [{
116
+ type: Input
117
+ }], appearance: [{
118
+ type: Input
119
+ }, {
120
+ type: HostBinding,
121
+ args: ['attr.data-appearance']
122
+ }], isDisabled: [{
123
+ type: Input
124
+ }, {
125
+ type: HostBinding,
126
+ args: ['attr.data-disabled']
127
+ }], size: [{
128
+ type: Input
129
+ }, {
130
+ type: HostBinding,
131
+ args: ['attr.data-size']
132
+ }], clickClearEvent: [{
133
+ type: Output
134
+ }], onArrow: [{
135
+ type: HostListener,
136
+ args: ['keydown.arrowDown', ['-step']]
137
+ }, {
138
+ type: HostListener,
139
+ args: ['keydown.arrowUp', ['step']]
140
+ }] } });
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaW5wdXQtcXVhbnRpdHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvaW5wdXQtcXVhbnRpdHkvc2MtaW5wdXQtcXVhbnRpdHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvaW5wdXQtcXVhbnRpdHkvc2MtaW5wdXQtcXVhbnRpdHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc5SSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV2RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7QUFFakQ7O0dBRUc7QUFPSCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsMEJBQWtDO0lBTmhGOztRQWFJOztXQUVHO1FBRUksU0FBSSxHQUFXLENBQUMsQ0FBQztRQUV4Qjs7V0FFRztRQUVJLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFFbkM7O1dBRUc7UUFFSSxjQUFTLEdBQVksSUFBSSxDQUFDO1FBRWpDOztXQUVHO1FBR0ksZUFBVSxHQUE0QixTQUFTLENBQUM7UUFFdkQ7O1dBRUc7UUFHSSxlQUFVLEdBQVksS0FBSyxDQUFDO1FBRW5DOztXQUVHO1FBR0ksU0FBSSxHQUFtQyxHQUFHLENBQUM7UUFFbEQ7O1dBRUc7UUFFSSxvQkFBZSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0tBb0V6RTtJQWxFRzs7T0FFRztJQUNILElBQVcsc0JBQXNCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxPQUE2QixDQUFDO0lBQzlDLENBQUM7SUFFRCxrQkFBa0I7SUFDRixRQUFRO1FBQ3BCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3pELENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUdJLE9BQU8sQ0FBQyxJQUFtQjtRQUM5QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDUixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3BCLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3JCLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBQ1gsMkRBQTJEO1FBQzNELElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDckYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxTQUFTO1FBQ1osMkRBQTJEO1FBQzNELElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hGLElBQUksQ0FBQyxXQUFXLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSztRQUNSLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEMsQ0FBQzs4R0FySFEsd0JBQXdCO2tHQUF4Qix3QkFBd0IsNGdCQUl0Qix1QkFBdUIsdUVDcEJ0Qyx5b0VBMERBOzsyRkQxQ2Esd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNJLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNOzhCQU85QixXQUFXO3NCQUQzQixTQUFTO3VCQUFDLHVCQUF1QjtnQkFPM0IsSUFBSTtzQkFEVixLQUFLO2dCQU9DLFVBQVU7c0JBRGhCLEtBQUs7Z0JBT0MsU0FBUztzQkFEZixLQUFLO2dCQVFDLFVBQVU7c0JBRmhCLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsc0JBQXNCO2dCQVE1QixVQUFVO3NCQUZoQixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFRMUIsSUFBSTtzQkFGVixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFPdEIsZUFBZTtzQkFEckIsTUFBTTtnQkFnQ0EsT0FBTztzQkFGYixZQUFZO3VCQUFDLG1CQUFtQixFQUFFLENBQUMsT0FBTyxDQUFDOztzQkFDM0MsWUFBWTt1QkFBQyxpQkFBaUIsRUFBRSxDQUFDLE1BQU0sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHVpU2l6ZUwsIFR1aVNpemVNLCBUdWlTaXplUyB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLCBUdWlJbnB1dE51bWJlckNvbXBvbmVudCB9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3knO1xuXG5pbXBvcnQgeyBzdGVwVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycyc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINC/0L7Qu9GPINCy0LLQvtC00LAg0LrQvtC70LjRh9C10YHRgtCy0LAuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2MtaW5wdXQtcXVhbnRpdHknLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1pbnB1dC1xdWFudGl0eS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2MtaW5wdXQtcXVhbnRpdHkuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NJbnB1dFF1YW50aXR5Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2w8bnVtYmVyPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLyoqXG4gICAgICog0JrQvtC80L/QvtC90LXQvdGCINC/0L7Qu9GPINCy0LLQvtC00LAuXG4gICAgICovXG4gICAgQFZpZXdDaGlsZChUdWlJbnB1dE51bWJlckNvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IG51bWJlcklucHV0OiBUdWlJbnB1dE51bWJlckNvbXBvbmVudDtcblxuICAgIC8qKlxuICAgICAqINCo0LDQsyDRg9Cy0LXQu9C40YfQtdC90LjRjyDQutC+0LvQuNGH0LXRgdGC0LLQsC4g0J7RgtCy0LXRh9Cw0LXRgiDQt9CwINC/0YDQvtCy0LXRgNC60YMg0LrRgNCw0YLQvdC+0YHRgtC4INCy0LLQvtC00LAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc3RlcDogbnVtYmVyID0gMTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0L7RgtC+0LHRgNCw0LfQuNGC0Ywge0BsaW5rIFR1aUxvYWRlckNvbXBvbmVudH0g0L3QsNC0INC60L7QvNC/0L7QvdC10L3RgtC+0LwuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvd0xvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQvdC10L7QsdGF0L7QtNC40LzQviDQvtGC0L7QsdGA0LDQt9C40YLRjCDQutC90L7Qv9C60YMg0L7Rh9C40YHRgtC60Lgg0L/QvtC70Y8g0LLQstC+0LTQsC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaG93Q3Jvc3M6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog0KTQvtGA0LzQsNGCINCy0L3QtdGI0L3QtdCz0L4g0LLQuNC00LAg0LrQvtC80L/QvtC90LXQvdGC0LAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1hcHBlYXJhbmNlJylcbiAgICBwdWJsaWMgYXBwZWFyYW5jZTogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgPSAncHJpbWFyeSc7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INC60L7QvNC/0L7QvdC10L3RgiDQtNC10LDQutGC0LjQstC40YDQvtCy0LDQvS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWRpc2FibGVkJylcbiAgICBwdWJsaWMgaXNEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog0KDQsNC30LzQtdGAINC60L7QvNC/0L7QvdC10L3RgtCwLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gICAgcHVibGljIHNpemU6IFR1aVNpemVMIHwgVHVpU2l6ZU0gfCBUdWlTaXplUyA9ICdtJztcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDIFwi0J7Rh9C40YHRgtC40YLRjFwiLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjbGlja0NsZWFyRXZlbnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGN0LvQtdC80LXQvdGCLCDQutC+0YLQvtGA0YvQuSDQvNC+0LbQtdGCINCx0YvRgtGMINGB0YTQvtC60YPRgdC40YDQvtCy0LDQvS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5udW1iZXJJbnB1dC5uYXRpdmVGb2N1c2FibGVFbGVtZW50O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5udW1iZXJJbnB1dC5mb2N1c2VkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZm9ybUNvbnRyb2woKTogRm9ybUNvbnRyb2wgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbCBhcyBGb3JtQ29udHJvbCB8IG51bGw7XG4gICAgfVxuXG4gICAgLyoqIEBpbmhlcml0RG9jICovXG4gICAgcHVibGljIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsaWRhdG9ycyhzdGVwVmFsaWRhdG9yKHRoaXMuc3RlcCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7QsdGA0LDQsdC+0YLRh9C40Log0YHQvtCx0YvRgtC40Y8g0L3QsNC20LDRgtC40Y8g0YHRgtGA0LXQu9C+0Log0LrQu9Cw0LLQuNCw0YLRg9GA0YsuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc3RlcCDQqNCw0LMg0LjQt9C80LXQvdC10L3QuNGPINC60L7Qu9C40YfQtdGB0YLQstCwLlxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dEb3duJywgWyctc3RlcCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dVcCcsIFsnc3RlcCddKVxuICAgIHB1YmxpYyBvbkFycm93KHN0ZXA6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFzdGVwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc3RlcCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuaW5jaWRlbnQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGVjcmVtZW50KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9Cy0LXQu9C40YfQuNCy0LDQtdGCINC30L3QsNGH0LXQvdC40LUg0LIg0L/QvtC70LUg0LLQstC+0LTQsCDQvdCwIDEg0YjQsNCzLiDQldGB0LvQuCDRh9C40YHQu9C+INCyINC/0L7Qu9C1INCy0LLQvtC00LAg0L3QtSDQutGA0LDRgtC90L4g0YjQsNCz0YMsINGC0L4g0YPQstC10LvQuNGH0LjRgiDQtNC+INCx0LvQuNC20LDQudGI0LXQs9C+INC60YDQsNGC0L3QvtCz0L4g0LfQvdCw0YfQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgaW5jaWRlbnQoKTogdm9pZCB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvZG90LW5vdGF0aW9uXG4gICAgICAgIHRoaXMubnVtYmVySW5wdXRbJ29uQXJyb3cnXSh0aGlzLnN0ZXAgLSAoKHRoaXMubnVtYmVySW5wdXQudmFsdWUgPz8gMCkgJSB0aGlzLnN0ZXApKTtcbiAgICAgICAgdGhpcy5udW1iZXJJbnB1dC5uYXRpdmVGb2N1c2FibGVFbGVtZW50Py5ibHVyKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPQvNC10L3RjNGI0LDQtdGCINC30L3QsNGH0LXQvdC40LUg0LIg0L/QvtC70LUg0LLQstC+0LTQsCDQvdCwIDEg0YjQsNCzLiDQldGB0LvQuCDRh9C40YHQu9C+INCyINC/0L7Qu9C1INCy0LLQvtC00LAg0L3QtSDQutGA0LDRgtC90L4g0YjQsNCz0YMsINGC0L4g0YPQvNC10L3RjNGI0LjRgiDQtNC+INCx0LvQuNC20LDQudGI0LXQs9C+INC60YDQsNGC0L3QvtCz0L4g0LfQvdCw0YfQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGVjcmVtZW50KCk6IHZvaWQge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2RvdC1ub3RhdGlvblxuICAgICAgICB0aGlzLm51bWJlcklucHV0WydvbkFycm93J10oLSgodGhpcy5udW1iZXJJbnB1dC52YWx1ZSA/PyAwKSAlIHRoaXMuc3RlcCkgfHwgLXRoaXMuc3RlcCk7XG4gICAgICAgIHRoaXMubnVtYmVySW5wdXQubmF0aXZlRm9jdXNhYmxlRWxlbWVudD8uYmx1cigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0YfQuNGJ0LDQtdGCINC/0L7Qu9GPINCy0LLQvtC00LAuXG4gICAgICovXG4gICAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRyb2w/LnBhdGNoVmFsdWUobnVsbCk7XG4gICAgICAgIHRoaXMuY2xpY2tDbGVhckV2ZW50LmVtaXQoKTtcbiAgICB9XG59XG4iLCI8dHVpLWxvYWRlclxuICAgICpuZ0lmPVwiZm9ybUNvbnRyb2xcIlxuICAgIGNsYXNzPVwidy1mdWxsXCJcbiAgICBbb3ZlcmxheV09XCJ0cnVlXCJcbiAgICBbc2hvd0xvYWRlcl09XCJzaG93TG9hZGVyXCJcbiAgICBbc2l6ZV09XCJzaXplXCJcbj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkLXdpdGgtYnV0dG9uIGZsZXggZ3JvdyByb3VuZGVkLXhsXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhbnVtYmVySW5wdXRbJ2NhbkRlY3JlbWVudCddXCJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCJzaXplXCJcbiAgICAgICAgICAgICAgICAoY2xpY2sucHJldmVudCk9XCJkZWNyZW1lbnQoKVwiXG4gICAgICAgICAgICAgICAgKG1vdXNlZG93bi5wcmV2ZW50KT1cIm51bWJlcklucHV0Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ/LmZvY3VzKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0dWktaWNvbiBpY29uPVwiQHR1aS5taW51c1wiPjwvdHVpLWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDx0dWktaW5wdXQtbnVtYmVyXG4gICAgICAgICAgICAgICAgI251bWJlcklucHV0XG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgICAgICAgICBbdHVpSGludF09XCIoW10gfCB0dWlGaWVsZEVycm9yIHwgYXN5bmMpPy5tZXNzYWdlXCJcbiAgICAgICAgICAgICAgICBbdHVpVGV4dGZpZWxkTGFiZWxPdXRzaWRlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFttaW5dPVwic3RlcFwiXG4gICAgICAgICAgICAgICAgW3R1aVRleHRmaWVsZFNpemVdPVwic2l6ZVwiXG4gICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS50ZXh0LWFsaWduXT1cIidjZW50ZXInXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuZm9udC13ZWlnaHRdPVwiNzAwXCJcbiAgICAgICAgICAgICAgICAoZm9jdXNpbik9XCIkYW55KCRldmVudC50YXJnZXQpLnNlbGVjdCgpXCJcbiAgICAgICAgICAgICAgICBvbmNvbnRleHRtZW51PVwicmV0dXJuIGZhbHNlO1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJncm93XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvdHVpLWlucHV0LW51bWJlcj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwic2l6ZVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFudW1iZXJJbnB1dFsnY2FuSW5jcmVtZW50J11cIlxuICAgICAgICAgICAgICAgIChjbGljay5wcmV2ZW50KT1cImluY2lkZW50KClcIlxuICAgICAgICAgICAgICAgIChtb3VzZWRvd24ucHJldmVudCk9XCJudW1iZXJJbnB1dC5uYXRpdmVGb2N1c2FibGVFbGVtZW50Py5mb2N1cygpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHVpLWljb24gaWNvbj1cIkB0dWkucGx1c1wiPjwvdHVpLWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwic2hvd0Nyb3NzXCJcbiAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIlxuICAgICAgICAgICAgW3NpemVdPVwic2l6ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIW51bWJlcklucHV0WydjYW5JbmNyZW1lbnQnXVwiXG4gICAgICAgICAgICAoY2xpY2sucHJldmVudCk9XCJjbGVhcigpXCJcbiAgICAgICAgICAgIChtb3VzZWRvd24ucHJldmVudCk9XCJudW1iZXJJbnB1dC5uYXRpdmVGb2N1c2FibGVFbGVtZW50Py5mb2N1cygpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHR1aS1pY29uIGljb249XCJAdHVpLnhcIj48L3R1aS1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvdHVpLWxvYWRlcj5cbiJdfQ==
@@ -0,0 +1,64 @@
1
+ import { ChangeDetectionStrategy, Component, HostBinding, inject, Input } from '@angular/core';
2
+ import { SEARCH_TERM_PROVIDERS } from '@snabcentr/client-core';
3
+ import { TUI_IS_MOBILE } from '@taiga-ui/cdk';
4
+ import { AbstractScPriceCard } from '../../directives';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@taiga-ui/core";
8
+ import * as i3 from "@angular/forms";
9
+ import * as i4 from "@taiga-ui/kit";
10
+ import * as i5 from "../sc-favorite-btn/sc-favorite-btn.component";
11
+ import * as i6 from "../input-quantity/sc-input-quantity.component";
12
+ import * as i7 from "../price-warehouse-stock/sc-price-warehouse-stock.component";
13
+ /**
14
+ * Компонент карточки товара.
15
+ */
16
+ export class ScPriceCardComponent extends AbstractScPriceCard {
17
+ /**
18
+ * Инициирует экземпляр класса {@link ScPriceCardComponent}.
19
+ *
20
+ * @param cdr Объект для работы с обнаружением изменений.
21
+ */
22
+ constructor(cdr) {
23
+ super();
24
+ this.cdr = cdr;
25
+ /**
26
+ * Размер компонента.
27
+ */
28
+ this.size = 'm';
29
+ /**
30
+ * Признак того, что этот компонент отображается на мобильном устройстве.
31
+ */
32
+ this.isMobile = inject(TUI_IS_MOBILE);
33
+ }
34
+ /**
35
+ * Признак того, что компонент находится в корзине.
36
+ */
37
+ get isInCart() {
38
+ return Boolean(this.cartItem);
39
+ }
40
+ /**
41
+ * Устанавливает компонент в очередь на обновление.
42
+ */
43
+ markForCheck() {
44
+ this.cdr.markForCheck();
45
+ }
46
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScPriceCardComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
47
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.3", type: ScPriceCardComponent, selector: "sc-price-card", inputs: { size: "size" }, host: { properties: { "attr.data-size": "this.size", "attr.is_mobile": "this.isMobile", "attr.is_in_cart": "this.isInCart" } }, providers: [SEARCH_TERM_PROVIDERS], usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"product; else skeleton\"\n class=\"card-wrapper relative flex w-auto min-w-40 flex-col rounded-xl shadow-md\"\n>\n <div class=\"flex grow flex-col justify-center overflow-hidden rounded-xl p-2\">\n <img\n (click)=\"clickCardEvent.emit()\"\n [src]=\"getCardImagePreview()\"\n [alt]=\"product.name\"\n class=\"max-h-full w-full rounded-xl object-cover\"\n />\n <sc-favorite-btn\n *ngIf=\"authStatus$ | async\"\n class=\"absolute left-2 top-2\"\n (clickEvent)=\"clickFavoriteEvent.emit()\"\n [showLoader]=\"favoriteShowLoader\"\n [isFavorite]=\"product.isFavorite\"\n [disabled]=\"!!product.primaryCategory?.isFavorite\"\n ></sc-favorite-btn>\n <div class=\"absolute right-2 top-2 m-1 flex gap-2\">\n <tui-icon \n *ngIf=\"product.isPreviouslyOrdered\"\n icon=\"@tui.star\"\n class=\"!size-6 rounded-lg !fill-white text-tui-negative\"\n ></tui-icon>\n <tui-icon \n *ngIf=\"product.cartItem\"\n icon=\"@tui.check\"\n class=\"!size-6 rounded-lg bg-tui-primary text-white\"\n ></tui-icon>\n </div>\n </div>\n <div class=\"p-2\">\n <tui-elastic-container class=\"shrink-0\">\n <a\n tuiLink\n class=\"name\"\n \n [tuiHighlight]=\"(search$ | async) ?? ''\"\n (click)=\"clickCardEvent.emit()\"\n >\n {{ product.name }}\n </a>\n </tui-elastic-container>\n <tui-elastic-container class=\"shrink-0\">\n <p\n *ngIf=\"product?.pack\"\n class=\"text-tui-text-02\"\n >\n \u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}\n </p>\n <p\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n class=\"code text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}\n </p>\n\n <a\n tuiLink\n *ngIf=\"!isMobile && (authStatus$ | async) && product?.costDate\"\n \n aria-disabled=\"true\"\n class=\"history\"\n (click)=\"clickPriceHistoryEvent.emit()\"\n >\n \u0414\u0430\u0442\u0430: {{ product.costDate }}\n </a>\n </tui-elastic-container>\n <div\n *ngIf=\"warehouseSelect$ | async as warehouseSelect\"\n class=\"flex flex-col\"\n >\n <span\n *ngIf=\"product.discount && !isMobile\"\n class=\"flex items-center text-tui-text-02\"\n >\n <span class=\"line-through\">{{ product.discountCostString }}</span> &nbsp;\n <span class=\"font-bold text-tui-success-fill\"> -{{ product.discount.percent }}% </span>\n <tui-icon \n icon=\"@tui.info\"\n [tuiHint]=\"discountHint\"\n [tuiHintShowDelay]=\"100\"\n tuiHintDirection=\"top\"\n class=\"!h-4 text-black\"\n ></tui-icon>\n <ng-template #discountHint>\n <div class=\"font-bold\">{{ product.discount.name }}</div>\n <div *ngIf=\"product.discount.expiredAt as expiredAt\">\u0414\u0430\u0442\u0430 \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F: {{ expiredAt }}</div>\n </ng-template>\n </span>\n <span\n [class.text-tui-text-02]=\"!product.isWarehouseStockExist(warehouseSelect.id)\"\n class=\"cost font-bold\"\n >{{ product.costRubString }}</span\n >\n <span\n *ngIf=\"!product.priceInRub\"\n class=\"hidden font-bold text-tui-text-02 group-hover:block\"\n >{{ product.costString }}</span\n >\n <sc-price-warehouse-stock [product]=\"product\"></sc-price-warehouse-stock>\n </div>\n <div class=\"cart-actions flex shrink-0 overflow-hidden\">\n <button\n *ngIf=\"!showQuantityControl\"\n tuiButton\n (click)=\"clickAddToCartEvent.emit(product)\"\n [loading]=\"quantityShowLoader\"\n [size]=\"size === 's' ? 'xs' : 's'\"\n class=\"mt-2 grow\"\n iconStart=\"@tui.shopping-cart\"\n >\n \u0412 \u043A\u043E\u0440\u0437\u0438\u043D\u0443\n </button>\n <sc-input-quantity\n #inputQuantity\n *ngIf=\"showQuantityControl\"\n [formControl]=\"quantityControl\"\n [size]=\"size\"\n [step]=\"unitsHelper.productMultiplicity(product)\"\n [showLoader]=\"quantityShowLoader\"\n (clickClearEvent)=\"clickClearEvent.emit(cartItem)\"\n class=\"mt-2 w-full\"\n (keydown.enter)=\"inputQuantity.nativeFocusableElement?.blur()\"\n ></sc-input-quantity>\n </div>\n </div>\n</div>\n\n<ng-template #skeleton>\n <div class=\"card-wrapper flex flex-col overflow-hidden rounded-xl bg-white shadow-sc-1\">\n <!-- \u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0442\u043E\u0432\u0430\u0440\u0430 -->\n <div class=\"h-3/5 w-full rounded-t bg-tui-base-02\"></div>\n <!-- \u041A\u0440\u0430\u0442\u043A\u0430\u044F \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u043E \u0442\u043E\u0432\u0430\u0440\u0435 -->\n <div class=\"flex grow flex-col gap-2.5 rounded-b bg-white p-5\">\n <div class=\"h-4 w-full rounded bg-tui-base-02\"></div>\n <div class=\"h-4 w-3/5 rounded bg-tui-base-02\"></div>\n <div class=\"h-4 w-full rounded bg-tui-base-02\"></div>\n </div>\n </div>\n</ng-template>\n", styles: [":host .name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}:host[data-size=s] .card-wrapper{height:16rem;font:var(--tui-font-text-xs)}:host[data-size=s] .card-wrapper .name,:host[data-size=s] .card-wrapper .cost{font:var(--tui-font-text-s);font-weight:800}:host[data-size=m] .card-wrapper{height:20rem;font:var(--tui-font-text-s)}:host[data-size=m] .card-wrapper .name,:host[data-size=m] .card-wrapper .cost{font:var(--tui-font-text-m);font-weight:800}:host[is_mobile=false][is_in_cart=false] .name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}:host[is_mobile=false][is_in_cart=false] .code,:host[is_mobile=false][is_in_cart=false] .history{display:none}:host[is_mobile=false][is_in_cart=false] .cart-actions{max-height:0;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}:host[is_mobile=false][is_in_cart=false]:hover .code,:host[is_mobile=false][is_in_cart=false]:hover .history,:host[is_mobile=false][is_in_cart=false]:hover .name{display:-webkit-box;-webkit-line-clamp:4}:host[is_mobile=false][is_in_cart=false]:hover .cart-actions{max-height:3rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i2.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"] }, { kind: "directive", type: i2.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "component", type: i4.TuiElasticContainer, selector: "tui-elastic-container" }, { kind: "directive", type: i4.TuiHighlight, selector: "[tuiHighlight]", inputs: ["tuiHighlight", "tuiHighlightColor"] }, { kind: "component", type: i4.TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "component", type: i5.ScFavoriteBtnComponent, selector: "sc-favorite-btn", inputs: ["isFavorite", "showLoader", "disabled"], outputs: ["clickEvent"] }, { kind: "component", type: i6.ScInputQuantityComponent, selector: "sc-input-quantity", inputs: ["step", "showLoader", "showCross", "appearance", "isDisabled", "size"], outputs: ["clickClearEvent"] }, { kind: "component", type: i7.ScPriceWarehouseStockComponent, selector: "sc-price-warehouse-stock", inputs: ["classList", "product", "withStockHint", "fromMain"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
48
+ }
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScPriceCardComponent, decorators: [{
50
+ type: Component,
51
+ args: [{ selector: 'sc-price-card', providers: [SEARCH_TERM_PROVIDERS], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"product; else skeleton\"\n class=\"card-wrapper relative flex w-auto min-w-40 flex-col rounded-xl shadow-md\"\n>\n <div class=\"flex grow flex-col justify-center overflow-hidden rounded-xl p-2\">\n <img\n (click)=\"clickCardEvent.emit()\"\n [src]=\"getCardImagePreview()\"\n [alt]=\"product.name\"\n class=\"max-h-full w-full rounded-xl object-cover\"\n />\n <sc-favorite-btn\n *ngIf=\"authStatus$ | async\"\n class=\"absolute left-2 top-2\"\n (clickEvent)=\"clickFavoriteEvent.emit()\"\n [showLoader]=\"favoriteShowLoader\"\n [isFavorite]=\"product.isFavorite\"\n [disabled]=\"!!product.primaryCategory?.isFavorite\"\n ></sc-favorite-btn>\n <div class=\"absolute right-2 top-2 m-1 flex gap-2\">\n <tui-icon \n *ngIf=\"product.isPreviouslyOrdered\"\n icon=\"@tui.star\"\n class=\"!size-6 rounded-lg !fill-white text-tui-negative\"\n ></tui-icon>\n <tui-icon \n *ngIf=\"product.cartItem\"\n icon=\"@tui.check\"\n class=\"!size-6 rounded-lg bg-tui-primary text-white\"\n ></tui-icon>\n </div>\n </div>\n <div class=\"p-2\">\n <tui-elastic-container class=\"shrink-0\">\n <a\n tuiLink\n class=\"name\"\n \n [tuiHighlight]=\"(search$ | async) ?? ''\"\n (click)=\"clickCardEvent.emit()\"\n >\n {{ product.name }}\n </a>\n </tui-elastic-container>\n <tui-elastic-container class=\"shrink-0\">\n <p\n *ngIf=\"product?.pack\"\n class=\"text-tui-text-02\"\n >\n \u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}\n </p>\n <p\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n class=\"code text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}\n </p>\n\n <a\n tuiLink\n *ngIf=\"!isMobile && (authStatus$ | async) && product?.costDate\"\n \n aria-disabled=\"true\"\n class=\"history\"\n (click)=\"clickPriceHistoryEvent.emit()\"\n >\n \u0414\u0430\u0442\u0430: {{ product.costDate }}\n </a>\n </tui-elastic-container>\n <div\n *ngIf=\"warehouseSelect$ | async as warehouseSelect\"\n class=\"flex flex-col\"\n >\n <span\n *ngIf=\"product.discount && !isMobile\"\n class=\"flex items-center text-tui-text-02\"\n >\n <span class=\"line-through\">{{ product.discountCostString }}</span> &nbsp;\n <span class=\"font-bold text-tui-success-fill\"> -{{ product.discount.percent }}% </span>\n <tui-icon \n icon=\"@tui.info\"\n [tuiHint]=\"discountHint\"\n [tuiHintShowDelay]=\"100\"\n tuiHintDirection=\"top\"\n class=\"!h-4 text-black\"\n ></tui-icon>\n <ng-template #discountHint>\n <div class=\"font-bold\">{{ product.discount.name }}</div>\n <div *ngIf=\"product.discount.expiredAt as expiredAt\">\u0414\u0430\u0442\u0430 \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F: {{ expiredAt }}</div>\n </ng-template>\n </span>\n <span\n [class.text-tui-text-02]=\"!product.isWarehouseStockExist(warehouseSelect.id)\"\n class=\"cost font-bold\"\n >{{ product.costRubString }}</span\n >\n <span\n *ngIf=\"!product.priceInRub\"\n class=\"hidden font-bold text-tui-text-02 group-hover:block\"\n >{{ product.costString }}</span\n >\n <sc-price-warehouse-stock [product]=\"product\"></sc-price-warehouse-stock>\n </div>\n <div class=\"cart-actions flex shrink-0 overflow-hidden\">\n <button\n *ngIf=\"!showQuantityControl\"\n tuiButton\n (click)=\"clickAddToCartEvent.emit(product)\"\n [loading]=\"quantityShowLoader\"\n [size]=\"size === 's' ? 'xs' : 's'\"\n class=\"mt-2 grow\"\n iconStart=\"@tui.shopping-cart\"\n >\n \u0412 \u043A\u043E\u0440\u0437\u0438\u043D\u0443\n </button>\n <sc-input-quantity\n #inputQuantity\n *ngIf=\"showQuantityControl\"\n [formControl]=\"quantityControl\"\n [size]=\"size\"\n [step]=\"unitsHelper.productMultiplicity(product)\"\n [showLoader]=\"quantityShowLoader\"\n (clickClearEvent)=\"clickClearEvent.emit(cartItem)\"\n class=\"mt-2 w-full\"\n (keydown.enter)=\"inputQuantity.nativeFocusableElement?.blur()\"\n ></sc-input-quantity>\n </div>\n </div>\n</div>\n\n<ng-template #skeleton>\n <div class=\"card-wrapper flex flex-col overflow-hidden rounded-xl bg-white shadow-sc-1\">\n <!-- \u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0442\u043E\u0432\u0430\u0440\u0430 -->\n <div class=\"h-3/5 w-full rounded-t bg-tui-base-02\"></div>\n <!-- \u041A\u0440\u0430\u0442\u043A\u0430\u044F \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u043E \u0442\u043E\u0432\u0430\u0440\u0435 -->\n <div class=\"flex grow flex-col gap-2.5 rounded-b bg-white p-5\">\n <div class=\"h-4 w-full rounded bg-tui-base-02\"></div>\n <div class=\"h-4 w-3/5 rounded bg-tui-base-02\"></div>\n <div class=\"h-4 w-full rounded bg-tui-base-02\"></div>\n </div>\n </div>\n</ng-template>\n", styles: [":host .name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}:host[data-size=s] .card-wrapper{height:16rem;font:var(--tui-font-text-xs)}:host[data-size=s] .card-wrapper .name,:host[data-size=s] .card-wrapper .cost{font:var(--tui-font-text-s);font-weight:800}:host[data-size=m] .card-wrapper{height:20rem;font:var(--tui-font-text-s)}:host[data-size=m] .card-wrapper .name,:host[data-size=m] .card-wrapper .cost{font:var(--tui-font-text-m);font-weight:800}:host[is_mobile=false][is_in_cart=false] .name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}:host[is_mobile=false][is_in_cart=false] .code,:host[is_mobile=false][is_in_cart=false] .history{display:none}:host[is_mobile=false][is_in_cart=false] .cart-actions{max-height:0;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}:host[is_mobile=false][is_in_cart=false]:hover .code,:host[is_mobile=false][is_in_cart=false]:hover .history,:host[is_mobile=false][is_in_cart=false]:hover .name{display:-webkit-box;-webkit-line-clamp:4}:host[is_mobile=false][is_in_cart=false]:hover .cart-actions{max-height:3rem}\n"] }]
52
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { size: [{
53
+ type: Input
54
+ }, {
55
+ type: HostBinding,
56
+ args: ['attr.data-size']
57
+ }], isMobile: [{
58
+ type: HostBinding,
59
+ args: ['attr.is_mobile']
60
+ }], isInCart: [{
61
+ type: HostBinding,
62
+ args: ['attr.is_in_cart']
63
+ }] } });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJpY2UtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9wcmljZS1jYXJkL3NjLXByaWNlLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtY2FyZC9zYy1wcmljZS1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7OztBQUV2RDs7R0FFRztBQVFILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxtQkFBbUI7SUFjekQ7Ozs7T0FJRztJQUNILFlBQW9DLEdBQXNCO1FBQ3RELEtBQUssRUFBRSxDQUFDO1FBRHdCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBbEIxRDs7V0FFRztRQUdJLFNBQUksR0FBYSxHQUFHLENBQUM7UUFFNUI7O1dBRUc7UUFFZ0IsYUFBUSxHQUFZLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQVM3RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLFFBQVE7UUFDUixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksWUFBWTtRQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs4R0FwQ1Esb0JBQW9CO2tHQUFwQixvQkFBb0Isa01BSGxCLENBQUMscUJBQXFCLENBQUMsaURDZHRDLDhrTUE4SUE7OzJGRDdIYSxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0ksZUFBZSxhQUdkLENBQUMscUJBQXFCLENBQUMsbUJBQ2pCLHVCQUF1QixDQUFDLE1BQU07c0ZBUXhDLElBQUk7c0JBRlYsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBT1YsUUFBUTtzQkFEMUIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBZ0J6QixRQUFRO3NCQURYLFdBQVc7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBpbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTRUFSQ0hfVEVSTV9QUk9WSURFUlMgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFRVSV9JU19NT0JJTEUgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IFR1aVNpemVTIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG5pbXBvcnQgeyBBYnN0cmFjdFNjUHJpY2VDYXJkIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINC60LDRgNGC0L7Rh9C60Lgg0YLQvtCy0LDRgNCwLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXByaWNlLWNhcmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1wcmljZS1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zYy1wcmljZS1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbU0VBUkNIX1RFUk1fUFJPVklERVJTXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NQcmljZUNhcmRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFNjUHJpY2VDYXJkIHtcbiAgICAvKipcbiAgICAgKiDQoNCw0LfQvNC10YAg0LrQvtC80L/QvtC90LXQvdGC0LAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zaXplJylcbiAgICBwdWJsaWMgc2l6ZTogVHVpU2l6ZVMgPSAnbSc7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiDRgtC+0LPQviwg0YfRgtC+INGN0YLQvtGCINC60L7QvNC/0L7QvdC10L3RgiDQvtGC0L7QsdGA0LDQttCw0LXRgtGB0Y8g0L3QsCDQvNC+0LHQuNC70YzQvdC+0Lwg0YPRgdGC0YDQvtC50YHRgtCy0LUuXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlzX21vYmlsZScpXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzTW9iaWxlOiBib29sZWFuID0gaW5qZWN0KFRVSV9JU19NT0JJTEUpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNC40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NQcmljZUNhcmRDb21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGNkciDQntCx0YrQtdC60YIg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQvtCx0L3QsNGA0YPQttC10L3QuNC10Lwg0LjQt9C80LXQvdC10L3QuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiDRgtC+0LPQviwg0YfRgtC+INC60L7QvNC/0L7QvdC10L3RgiDQvdCw0YXQvtC00LjRgtGB0Y8g0LIg0LrQvtGA0LfQuNC90LUuXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlzX2luX2NhcnQnKVxuICAgIGdldCBpc0luQ2FydCgpIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4odGhpcy5jYXJ0SXRlbSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0LrQvtC80L/QvtC90LXQvdGCINCyINC+0YfQtdGA0LXQtNGMINC90LAg0L7QsdC90L7QstC70LXQvdC40LUuXG4gICAgICovXG4gICAgcHVibGljIG1hcmtGb3JDaGVjaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgICpuZ0lmPVwicHJvZHVjdDsgZWxzZSBza2VsZXRvblwiXG4gICAgY2xhc3M9XCJjYXJkLXdyYXBwZXIgcmVsYXRpdmUgZmxleCB3LWF1dG8gbWluLXctNDAgZmxleC1jb2wgcm91bmRlZC14bCBzaGFkb3ctbWRcIlxuPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdyb3cgZmxleC1jb2wganVzdGlmeS1jZW50ZXIgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQteGwgcC0yXCI+XG4gICAgICAgIDxpbWdcbiAgICAgICAgICAgIChjbGljayk9XCJjbGlja0NhcmRFdmVudC5lbWl0KClcIlxuICAgICAgICAgICAgW3NyY109XCJnZXRDYXJkSW1hZ2VQcmV2aWV3KClcIlxuICAgICAgICAgICAgW2FsdF09XCJwcm9kdWN0Lm5hbWVcIlxuICAgICAgICAgICAgY2xhc3M9XCJtYXgtaC1mdWxsIHctZnVsbCByb3VuZGVkLXhsIG9iamVjdC1jb3ZlclwiXG4gICAgICAgIC8+XG4gICAgICAgIDxzYy1mYXZvcml0ZS1idG5cbiAgICAgICAgICAgICpuZ0lmPVwiYXV0aFN0YXR1cyQgfCBhc3luY1wiXG4gICAgICAgICAgICBjbGFzcz1cImFic29sdXRlIGxlZnQtMiB0b3AtMlwiXG4gICAgICAgICAgICAoY2xpY2tFdmVudCk9XCJjbGlja0Zhdm9yaXRlRXZlbnQuZW1pdCgpXCJcbiAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cImZhdm9yaXRlU2hvd0xvYWRlclwiXG4gICAgICAgICAgICBbaXNGYXZvcml0ZV09XCJwcm9kdWN0LmlzRmF2b3JpdGVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEhcHJvZHVjdC5wcmltYXJ5Q2F0ZWdvcnk/LmlzRmF2b3JpdGVcIlxuICAgICAgICA+PC9zYy1mYXZvcml0ZS1idG4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSByaWdodC0yIHRvcC0yIG0tMSBmbGV4IGdhcC0yXCI+XG4gICAgICAgICAgICA8dHVpLWljb24gXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJwcm9kdWN0LmlzUHJldmlvdXNseU9yZGVyZWRcIlxuICAgICAgICAgICAgICAgIGljb249XCJAdHVpLnN0YXJcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiIXNpemUtNiByb3VuZGVkLWxnICFmaWxsLXdoaXRlIHRleHQtdHVpLW5lZ2F0aXZlXCJcbiAgICAgICAgICAgID48L3R1aS1pY29uPlxuICAgICAgICAgICAgPHR1aS1pY29uIFxuICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvZHVjdC5jYXJ0SXRlbVwiXG4gICAgICAgICAgICAgICAgaWNvbj1cIkB0dWkuY2hlY2tcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiIXNpemUtNiByb3VuZGVkLWxnIGJnLXR1aS1wcmltYXJ5IHRleHQtd2hpdGVcIlxuICAgICAgICAgICAgPjwvdHVpLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJwLTJcIj5cbiAgICAgICAgPHR1aS1lbGFzdGljLWNvbnRhaW5lciBjbGFzcz1cInNocmluay0wXCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm5hbWVcIlxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIFt0dWlIaWdobGlnaHRdPVwiKHNlYXJjaCQgfCBhc3luYykgPz8gJydcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGlja0NhcmRFdmVudC5lbWl0KClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHByb2R1Y3QubmFtZSB9fVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L3R1aS1lbGFzdGljLWNvbnRhaW5lcj5cbiAgICAgICAgPHR1aS1lbGFzdGljLWNvbnRhaW5lciBjbGFzcz1cInNocmluay0wXCI+XG4gICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvZHVjdD8ucGFja1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXR1aS10ZXh0LTAyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICDQndC+0YDQvNCwINGD0L/QsNC60L7QstC60Lg6IHt7IHByb2R1Y3QucGFjayB9fVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgICBbdHVpSGlnaGxpZ2h0XT1cIihzZWFyY2gkIHwgYXN5bmMpID8/ICcnXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNvZGUgdGV4dC10dWktdGV4dC0wMlwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAg0JDRgNGC0LjQutGD0Ls6IHt7IHByb2R1Y3QuY29kZSB9fVxuICAgICAgICAgICAgPC9wPlxuXG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFpc01vYmlsZSAmJiAoYXV0aFN0YXR1cyQgfCBhc3luYykgJiYgcHJvZHVjdD8uY29zdERhdGVcIlxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImhpc3RvcnlcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGlja1ByaWNlSGlzdG9yeUV2ZW50LmVtaXQoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAg0JTQsNGC0LA6IHt7IHByb2R1Y3QuY29zdERhdGUgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC90dWktZWxhc3RpYy1jb250YWluZXI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwid2FyZWhvdXNlU2VsZWN0JCB8IGFzeW5jIGFzIHdhcmVob3VzZVNlbGVjdFwiXG4gICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1jb2xcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvZHVjdC5kaXNjb3VudCAmJiAhaXNNb2JpbGVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgdGV4dC10dWktdGV4dC0wMlwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsaW5lLXRocm91Z2hcIj57eyBwcm9kdWN0LmRpc2NvdW50Q29zdFN0cmluZyB9fTwvc3Bhbj4gJm5ic3A7XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGQgdGV4dC10dWktc3VjY2Vzcy1maWxsXCI+IC17eyBwcm9kdWN0LmRpc2NvdW50LnBlcmNlbnQgfX0lIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8dHVpLWljb24gXG4gICAgICAgICAgICAgICAgICAgIGljb249XCJAdHVpLmluZm9cIlxuICAgICAgICAgICAgICAgICAgICBbdHVpSGludF09XCJkaXNjb3VudEhpbnRcIlxuICAgICAgICAgICAgICAgICAgICBbdHVpSGludFNob3dEZWxheV09XCIxMDBcIlxuICAgICAgICAgICAgICAgICAgICB0dWlIaW50RGlyZWN0aW9uPVwidG9wXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCIhaC00IHRleHQtYmxhY2tcIlxuICAgICAgICAgICAgICAgID48L3R1aS1pY29uPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGlzY291bnRIaW50PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9udC1ib2xkXCI+e3sgcHJvZHVjdC5kaXNjb3VudC5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcm9kdWN0LmRpc2NvdW50LmV4cGlyZWRBdCBhcyBleHBpcmVkQXRcIj7QlNCw0YLQsCDQvtC60L7QvdGH0LDQvdC40Y86IHt7IGV4cGlyZWRBdCB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIFtjbGFzcy50ZXh0LXR1aS10ZXh0LTAyXT1cIiFwcm9kdWN0LmlzV2FyZWhvdXNlU3RvY2tFeGlzdCh3YXJlaG91c2VTZWxlY3QuaWQpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNvc3QgZm9udC1ib2xkXCJcbiAgICAgICAgICAgICAgICA+e3sgcHJvZHVjdC5jb3N0UnViU3RyaW5nIH19PC9zcGFuXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIXByb2R1Y3QucHJpY2VJblJ1YlwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJoaWRkZW4gZm9udC1ib2xkIHRleHQtdHVpLXRleHQtMDIgZ3JvdXAtaG92ZXI6YmxvY2tcIlxuICAgICAgICAgICAgICAgID57eyBwcm9kdWN0LmNvc3RTdHJpbmcgfX08L3NwYW5cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDxzYy1wcmljZS13YXJlaG91c2Utc3RvY2sgW3Byb2R1Y3RdPVwicHJvZHVjdFwiPjwvc2MtcHJpY2Utd2FyZWhvdXNlLXN0b2NrPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcnQtYWN0aW9ucyBmbGV4IHNocmluay0wIG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIXNob3dRdWFudGl0eUNvbnRyb2xcIlxuICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGlja0FkZFRvQ2FydEV2ZW50LmVtaXQocHJvZHVjdClcIlxuICAgICAgICAgICAgICAgIFtsb2FkaW5nXT1cInF1YW50aXR5U2hvd0xvYWRlclwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwic2l6ZSA9PT0gJ3MnID8gJ3hzJyA6ICdzJ1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtdC0yIGdyb3dcIlxuICAgICAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkuc2hvcHBpbmctY2FydFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAg0JIg0LrQvtGA0LfQuNC90YNcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPHNjLWlucHV0LXF1YW50aXR5XG4gICAgICAgICAgICAgICAgI2lucHV0UXVhbnRpdHlcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dRdWFudGl0eUNvbnRyb2xcIlxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJxdWFudGl0eUNvbnRyb2xcIlxuICAgICAgICAgICAgICAgIFtzaXplXT1cInNpemVcIlxuICAgICAgICAgICAgICAgIFtzdGVwXT1cInVuaXRzSGVscGVyLnByb2R1Y3RNdWx0aXBsaWNpdHkocHJvZHVjdClcIlxuICAgICAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cInF1YW50aXR5U2hvd0xvYWRlclwiXG4gICAgICAgICAgICAgICAgKGNsaWNrQ2xlYXJFdmVudCk9XCJjbGlja0NsZWFyRXZlbnQuZW1pdChjYXJ0SXRlbSlcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibXQtMiB3LWZ1bGxcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImlucHV0UXVhbnRpdHkubmF0aXZlRm9jdXNhYmxlRWxlbWVudD8uYmx1cigpXCJcbiAgICAgICAgICAgID48L3NjLWlucHV0LXF1YW50aXR5PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3NrZWxldG9uPlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLXdyYXBwZXIgZmxleCBmbGV4LWNvbCBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC14bCBiZy13aGl0ZSBzaGFkb3ctc2MtMVwiPlxuICAgICAgICA8IS0tINCY0LfQvtCx0YDQsNC20LXQvdC40LUg0YLQvtCy0LDRgNCwIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaC0zLzUgdy1mdWxsIHJvdW5kZWQtdCBiZy10dWktYmFzZS0wMlwiPjwvZGl2PlxuICAgICAgICA8IS0tINCa0YDQsNGC0LrQsNGPINC40L3RhNC+0YDQvNCw0YbQuNGPINC+INGC0L7QstCw0YDQtSAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ3JvdyBmbGV4LWNvbCBnYXAtMi41IHJvdW5kZWQtYiBiZy13aGl0ZSBwLTVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLTQgdy1mdWxsIHJvdW5kZWQgYmctdHVpLWJhc2UtMDJcIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLTQgdy0zLzUgcm91bmRlZCBiZy10dWktYmFzZS0wMlwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtNCB3LWZ1bGwgcm91bmRlZCBiZy10dWktYmFzZS0wMlwiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,126 @@
1
+ import { __decorate } from "tslib";
2
+ /* eslint-disable class-methods-use-this,lodash/prefer-lodash-method */
3
+ import { ChangeDetectionStrategy, Component, Inject, Input, Optional } from '@angular/core';
4
+ import { ScUserMetrikaGoalsEnum } from '@snabcentr/client-core';
5
+ import { TuiDay, TuiDayRange, tuiIsFalsy, tuiIsPresent, TuiMonth, tuiPure } from '@taiga-ui/cdk';
6
+ import { TUI_MONTHS } from '@taiga-ui/core';
7
+ import { POLYMORPHEUS_CONTEXT } from '@taiga-ui/polymorpheus';
8
+ import { filter, map, shareReplay, startWith, tap } from 'rxjs';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@snabcentr/client-core";
11
+ import * as i2 from "@angular/common";
12
+ import * as i3 from "@taiga-ui/core";
13
+ import * as i4 from "@taiga-ui/addon-charts";
14
+ import * as i5 from "rxjs";
15
+ /**
16
+ * График истории цен товара или услуги.
17
+ */
18
+ export class ScPriceHistoryComponent {
19
+ /**
20
+ * Инициализирует экземпляр класса {@link ScPriceHistoryComponent}.
21
+ *
22
+ * @param catalogService Сервис для работы с каталогом.
23
+ * @param months$ Перечисление месяцев.
24
+ * @param userMetrikaService Сервис для сбора метрик о действиях пользователей.
25
+ * @param context Контекст диалогового окна, в котором открыт компонент.
26
+ */
27
+ constructor(catalogService, months$, userMetrikaService, context) {
28
+ this.catalogService = catalogService;
29
+ this.months$ = months$;
30
+ this.userMetrikaService = userMetrikaService;
31
+ this.context = context;
32
+ /**
33
+ * {@link Observable} функция для преобразования значения number в строку в подсказке по оси X.
34
+ */
35
+ this.xStringify$ = this.months$.pipe(map((months) => ({ month, day }) =>
36
+ // eslint-disable-next-line security/detect-object-injection
37
+ `${months[month]}, ${day}`));
38
+ /**
39
+ * Функция для преобразования значения number в строку в подсказке по оси Y.
40
+ *
41
+ * @param value Значение оси Y.
42
+ */
43
+ this.yStringify = (value) => `${value.toLocaleString('ru-RU')} ₽`;
44
+ if (context) {
45
+ this.product = context.data.product;
46
+ }
47
+ }
48
+ /** @inheritDoc */
49
+ ngOnInit() {
50
+ this.history$ = this.catalogService.getPriceHistory$(this.product).pipe(map((history) => Object.keys(history)
51
+ .map((item) => [TuiDay.normalizeParse(item, 'DMY'), history[String(item)].cost])
52
+ .sort((a, b) => (a[0] > b[0] ? 1 : -1))), startWith(null), shareReplay({ bufferSize: 1, refCount: true }));
53
+ this.loadingHistory$ = this.history$.pipe(map(tuiIsFalsy));
54
+ this.priceInfo$ = this.history$.pipe(filter(tuiIsPresent), tap(() => {
55
+ this.userMetrikaService.emitUserMetrikaEvent({
56
+ target: ScUserMetrikaGoalsEnum.productPriceHistoryShow,
57
+ params: {
58
+ product_id: this.product.id,
59
+ },
60
+ });
61
+ }), filter((history) => history.length > 1), map((history) => history.map((item) => item[1])), map((values) => ({
62
+ min: Math.min(...values),
63
+ max: Math.max(...values),
64
+ })));
65
+ this.range$ = this.history$.pipe(filter(tuiIsPresent), filter((history) => history.length > 1), map((value) => ({ from: value.at(0)?.[0], to: value.at(-1)?.[0] })), filter((range) => !!range.from && !!range.to), map((range) => {
66
+ return new TuiDayRange(range.from, range.to);
67
+ }));
68
+ }
69
+ /**
70
+ * Вычисляет подписи даты к оси X.
71
+ *
72
+ * @param param0 {@link TuiDayRange} Временной промежуток истории цен.
73
+ * @param param0.from {@link TuiDay} Дата начала истории цен.
74
+ * @param param0.to {@link TuiDay} Дата конца истории цен.
75
+ */
76
+ computeLabels$({ from, to }) {
77
+ return this.months$.pipe(map((months) => [...Array.from({ length: TuiMonth.lengthBetween(from, to) + 1 }, (_, index) => months[from.append({ month: index }).month]), '']));
78
+ }
79
+ /**
80
+ * Вычисляет данные для отображения на графике.
81
+ *
82
+ * @param param0 {@link TuiDayRange} Временной промежуток истории цен.
83
+ * @param param0.from {@link TuiDay} Дата начала истории цен.
84
+ * @param param0.to {@link TuiDay} Дата конца истории цен.
85
+ * @param history История цен.
86
+ */
87
+ computeValue({ from, to }, history) {
88
+ return (Array.from({ length: TuiDay.lengthBetween(from, to) + 1 })
89
+ .fill(0)
90
+ // eslint-disable-next-line unicorn/no-array-reduce
91
+ .reduce((array, _, index) => {
92
+ const data = from.append({ day: index });
93
+ return [
94
+ ...array,
95
+ [
96
+ data,
97
+ (history.find((valueHistory, indexHistory, arrayHistory) => data.daySame(valueHistory[0]) || data.dayBefore(arrayHistory[indexHistory + 1][0])) ??
98
+ history[0])[1],
99
+ ],
100
+ ];
101
+ }, []));
102
+ }
103
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScPriceHistoryComponent, deps: [{ token: i1.ScCatalogService }, { token: TUI_MONTHS }, { token: i1.ScUserMetrikaService }, { token: POLYMORPHEUS_CONTEXT, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
104
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.3", type: ScPriceHistoryComponent, selector: "sc-price-history", inputs: { product: "product" }, ngImport: i0, template: "<tui-loader [showLoader]=\"!!(loadingHistory$ | async)\"> </tui-loader>\n\n<div\n *ngIf=\"(loadingHistory$ | async) === false\"\n class=\"flex flex-col items-center\"\n>\n <ng-container *ngIf=\"priceInfo$ | async as priceInfo; else isNotExist\">\n <div class=\"w-174 mb-1 text-end text-lg font-bold\">\u043E\u0442 {{ priceInfo.min.toLocaleString() }} \u20BD \u0434\u043E {{ priceInfo.max.toLocaleString() }} \u20BD</div>\n\n <ng-container *ngIf=\"history$ | async as history\">\n <div\n *ngIf=\"range$ | async as range\"\n class=\"relative h-56 w-full p-5 text-tui-primary\"\n >\n <tui-axes\n *ngIf=\"computeLabels$(range) | async as labels\"\n class=\"h-full\"\n [axisXLabels]=\"labels\"\n [horizontalLines]=\"4\"\n [verticalLines]=\"labels.length\"\n >\n <tui-line-days-chart\n class=\"chart\"\n [height]=\"priceInfo.max\"\n [smoothingFactor]=\"10\"\n [y]=\"priceInfo.min - (priceInfo.min * 1) / 4\"\n [value]=\"computeValue(range, history)\"\n [xStringify]=\"xStringify$ | async\"\n [yStringify]=\"yStringify\"\n [hintContent]=\"hint\"\n ></tui-line-days-chart>\n </tui-axes>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #isNotExist>\n <p class=\"text-base font-bold\">\u0426\u0435\u043D\u0430 \u043D\u0430 \u0442\u043E\u0432\u0430\u0440 \u043D\u0435 \u0438\u0437\u043C\u0435\u043D\u044F\u043B\u0430\u0441\u044C</p>\n </ng-template>\n <ng-template\n #hint\n let-data\n >\n <div class=\"font-bold\">{{ data[1].toLocaleString() }} \u20BD</div>\n <div>{{ data[0] }}</div>\n </ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "component", type: i4.TuiLineDaysChart, selector: "tui-line-days-chart", inputs: ["y", "height", "smoothingFactor", "hintContent", "xStringify", "yStringify", "dots", "value"] }, { kind: "component", type: i4.TuiAxes, selector: "tui-axes", inputs: ["axisX", "axisXLabels", "axisY", "axisYInset", "axisYLabels", "axisYName", "axisYSecondaryInset", "axisYSecondaryLabels", "axisYSecondaryName", "horizontalLines", "horizontalLinesHandler", "verticalLines", "verticalLinesHandler"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
105
+ }
106
+ __decorate([
107
+ tuiPure
108
+ ], ScPriceHistoryComponent.prototype, "computeLabels$", null);
109
+ __decorate([
110
+ tuiPure
111
+ ], ScPriceHistoryComponent.prototype, "computeValue", null);
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScPriceHistoryComponent, decorators: [{
113
+ type: Component,
114
+ args: [{ selector: 'sc-price-history', changeDetection: ChangeDetectionStrategy.OnPush, template: "<tui-loader [showLoader]=\"!!(loadingHistory$ | async)\"> </tui-loader>\n\n<div\n *ngIf=\"(loadingHistory$ | async) === false\"\n class=\"flex flex-col items-center\"\n>\n <ng-container *ngIf=\"priceInfo$ | async as priceInfo; else isNotExist\">\n <div class=\"w-174 mb-1 text-end text-lg font-bold\">\u043E\u0442 {{ priceInfo.min.toLocaleString() }} \u20BD \u0434\u043E {{ priceInfo.max.toLocaleString() }} \u20BD</div>\n\n <ng-container *ngIf=\"history$ | async as history\">\n <div\n *ngIf=\"range$ | async as range\"\n class=\"relative h-56 w-full p-5 text-tui-primary\"\n >\n <tui-axes\n *ngIf=\"computeLabels$(range) | async as labels\"\n class=\"h-full\"\n [axisXLabels]=\"labels\"\n [horizontalLines]=\"4\"\n [verticalLines]=\"labels.length\"\n >\n <tui-line-days-chart\n class=\"chart\"\n [height]=\"priceInfo.max\"\n [smoothingFactor]=\"10\"\n [y]=\"priceInfo.min - (priceInfo.min * 1) / 4\"\n [value]=\"computeValue(range, history)\"\n [xStringify]=\"xStringify$ | async\"\n [yStringify]=\"yStringify\"\n [hintContent]=\"hint\"\n ></tui-line-days-chart>\n </tui-axes>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #isNotExist>\n <p class=\"text-base font-bold\">\u0426\u0435\u043D\u0430 \u043D\u0430 \u0442\u043E\u0432\u0430\u0440 \u043D\u0435 \u0438\u0437\u043C\u0435\u043D\u044F\u043B\u0430\u0441\u044C</p>\n </ng-template>\n <ng-template\n #hint\n let-data\n >\n <div class=\"font-bold\">{{ data[1].toLocaleString() }} \u20BD</div>\n <div>{{ data[0] }}</div>\n </ng-template>\n</div>\n" }]
115
+ }], ctorParameters: () => [{ type: i1.ScCatalogService }, { type: i5.Observable, decorators: [{
116
+ type: Inject,
117
+ args: [TUI_MONTHS]
118
+ }] }, { type: i1.ScUserMetrikaService }, { type: undefined, decorators: [{
119
+ type: Optional
120
+ }, {
121
+ type: Inject,
122
+ args: [POLYMORPHEUS_CONTEXT]
123
+ }] }], propDecorators: { product: [{
124
+ type: Input
125
+ }], computeLabels$: [], computeValue: [] } });
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJpY2UtaGlzdG9yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9wcmljZS1oaXN0b3J5L3NjLXByaWNlLWhpc3RvcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtaGlzdG9yeS9zYy1wcmljZS1oaXN0b3J5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx1RUFBdUU7QUFFdkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQStCLHNCQUFzQixFQUF3QixNQUFNLHdCQUF3QixDQUFDO0FBQ25ILE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLFVBQVUsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxXQUFXLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQUU1RTs7R0FFRztBQU1ILE1BQU0sT0FBTyx1QkFBdUI7SUFnRGhDOzs7Ozs7O09BT0c7SUFDSCxZQUNxQixjQUFnQyxFQUNaLE9BQXNDLEVBQzFELGtCQUF3QyxFQUd4QyxPQUF3RDtRQUx4RCxtQkFBYyxHQUFkLGNBQWMsQ0FBa0I7UUFDWixZQUFPLEdBQVAsT0FBTyxDQUErQjtRQUMxRCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXNCO1FBR3hDLFlBQU8sR0FBUCxP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QU07MkJBQUMsVUFBVTs7MEJBRWpCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsb0JBQW9CO3lDQXBEaEIsT0FBTztzQkFBdEIsS0FBSztnQkErR0MsY0FBYyxNQWFkLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBjbGFzcy1tZXRob2RzLXVzZS10aGlzLGxvZGFzaC9wcmVmZXItbG9kYXNoLW1ldGhvZCAqL1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTY0NhdGFsb2dTZXJ2aWNlLCBTY1Byb2R1Y3QsIFNjVXNlck1ldHJpa2FHb2Fsc0VudW0sIFNjVXNlck1ldHJpa2FTZXJ2aWNlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUdWlEYXksIFR1aURheVJhbmdlLCB0dWlJc0ZhbHN5LCB0dWlJc1ByZXNlbnQsIFR1aU1vbnRoLCB0dWlQdXJlLCBUdWlTdHJpbmdIYW5kbGVyIH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyBUVUlfTU9OVEhTLCBUdWlEaWFsb2dDb250ZXh0IH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgUE9MWU1PUlBIRVVTX0NPTlRFWFQgfSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoLCB0YXAgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiDQk9GA0LDRhNC40Log0LjRgdGC0L7RgNC40Lgg0YbQtdC9INGC0L7QstCw0YDQsCDQuNC70Lgg0YPRgdC70YPQs9C4LlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXByaWNlLWhpc3RvcnknLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1wcmljZS1oaXN0b3J5LmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NQcmljZUhpc3RvcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQstGA0LXQvNC10L3QvdC+0LPQviDQv9GA0L7QvNC10LbRg9GC0LrQsCDQuNGB0YLQvtGA0LjQuCDRhtC10L0uXG4gICAgICovXG4gICAgcHVibGljIHJhbmdlJDogT2JzZXJ2YWJsZTxUdWlEYXlSYW5nZT47XG5cbiAgICAvKipcbiAgICAgKiDQotC+0LLQsNGAINC40LvQuCDRg9GB0LvRg9Cz0LAsINC00LvRjyDQutC+0YLQvtGA0L7Qs9C+INC90LXQvtCx0YXQvtC00LjQvNC+INC+0YLQvtCx0YDQsNC30LjRgtGMINC40YHRgtC+0YDQuNGOINGG0LXQvS5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgcHJvZHVjdDogU2NQcm9kdWN0O1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40YHRgtC+0YDQuNC4INGG0LXQvS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaGlzdG9yeSQ/OiBPYnNlcnZhYmxlPFJlYWRvbmx5QXJyYXk8W1R1aURheSwgbnVtYmVyXT4gfCBudWxsPjtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGB0YLQvtGP0L3QuNGPINC30LDQs9GA0YPQt9C60Lgg0LTQsNC90L3Ri9GFINC40YHRgtC+0YDQuNC4INGG0LXQvS5cbiAgICAgKi9cbiAgICBwdWJsaWMgbG9hZGluZ0hpc3RvcnkkPzogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAgIC8qKlxuICAgICAqINCc0LDQutGB0LjQvNCw0LvRjNC90LDRjyDRhtC10L3QsCDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgcHVibGljIHByaWNlSW5mbyQ/OiBPYnNlcnZhYmxlPHtcbiAgICAgICAgbWluOiBudW1iZXI7XG4gICAgICAgIG1heDogbnVtYmVyO1xuICAgIH0+O1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INGE0YPQvdC60YbQuNGPINC00LvRjyDQv9GA0LXQvtCx0YDQsNC30L7QstCw0L3QuNGPINC30L3QsNGH0LXQvdC40Y8gbnVtYmVyINCyINGB0YLRgNC+0LrRgyDQsiDQv9C+0LTRgdC60LDQt9C60LUg0L/QviDQvtGB0LggWC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgeFN0cmluZ2lmeSQ6IE9ic2VydmFibGU8VHVpU3RyaW5nSGFuZGxlcjxUdWlEYXk+PiA9IHRoaXMubW9udGhzJC5waXBlKFxuICAgICAgICBtYXAoXG4gICAgICAgICAgICAobW9udGhzKSA9PlxuICAgICAgICAgICAgICAgICh7IG1vbnRoLCBkYXkgfSkgPT5cbiAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlY3VyaXR5L2RldGVjdC1vYmplY3QtaW5qZWN0aW9uXG4gICAgICAgICAgICAgICAgICAgIGAke21vbnRoc1ttb250aF19LCAke2RheX1gXG4gICAgICAgIClcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICog0KTRg9C90LrRhtC40Y8g0LTQu9GPINC/0YDQtdC+0LHRgNCw0LfQvtCy0LDQvdC40Y8g0LfQvdCw0YfQtdC90LjRjyBudW1iZXIg0LIg0YHRgtGA0L7QutGDINCyINC/0L7QtNGB0LrQsNC30LrQtSDQv9C+INC+0YHQuCBZLlxuICAgICAqXG4gICAgICogQHBhcmFtIHZhbHVlINCX0L3QsNGH0LXQvdC40LUg0L7RgdC4IFkuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHlTdHJpbmdpZnk6IFR1aVN0cmluZ0hhbmRsZXI8bnVtYmVyPiA9ICh2YWx1ZSkgPT4gYCR7dmFsdWUudG9Mb2NhbGVTdHJpbmcoJ3J1LVJVJyl9IOKCvWA7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjUHJpY2VIaXN0b3J5Q29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjYXRhbG9nU2VydmljZSDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQutCw0YLQsNC70L7Qs9C+0LwuXG4gICAgICogQHBhcmFtIG1vbnRocyQg0J/QtdGA0LXRh9C40YHQu9C10L3QuNC1INC80LXRgdGP0YbQtdCyLlxuICAgICAqIEBwYXJhbSB1c2VyTWV0cmlrYVNlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LvRjyDRgdCx0L7RgNCwINC80LXRgtGA0LjQuiDQviDQtNC10LnRgdGC0LLQuNGP0YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LkuXG4gICAgICogQHBhcmFtIGNvbnRleHQg0JrQvtC90YLQtdC60YHRgiDQtNC40LDQu9C+0LPQvtCy0L7Qs9C+INC+0LrQvdCwLCDQsiDQutC+0YLQvtGA0L7QvCDQvtGC0LrRgNGL0YIg0LrQvtC80L/QvtC90LXQvdGCLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjYXRhbG9nU2VydmljZTogU2NDYXRhbG9nU2VydmljZSxcbiAgICAgICAgQEluamVjdChUVUlfTU9OVEhTKSBwcml2YXRlIHJlYWRvbmx5IG1vbnRocyQ6IE9ic2VydmFibGU8cmVhZG9ubHkgc3RyaW5nW10+LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJNZXRyaWthU2VydmljZTogU2NVc2VyTWV0cmlrYVNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoUE9MWU1PUlBIRVVTX0NPTlRFWFQpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY29udGV4dD86IFR1aURpYWxvZ0NvbnRleHQ8dm9pZCwgeyBwcm9kdWN0OiBTY1Byb2R1Y3QgfT5cbiAgICApIHtcbiAgICAgICAgaWYgKGNvbnRleHQpIHtcbiAgICAgICAgICAgIHRoaXMucHJvZHVjdCA9IGNvbnRleHQuZGF0YS5wcm9kdWN0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBpbmhlcml0RG9jICovXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhpc3RvcnkkID0gdGhpcy5jYXRhbG9nU2VydmljZS5nZXRQcmljZUhpc3RvcnkkKHRoaXMucHJvZHVjdCkucGlwZShcbiAgICAgICAgICAgIG1hcCgoaGlzdG9yeSkgPT5cbiAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhoaXN0b3J5KVxuICAgICAgICAgICAgICAgICAgICAubWFwKChpdGVtKTogW1R1aURheSwgbnVtYmVyXSA9PiBbVHVpRGF5Lm5vcm1hbGl6ZVBhcnNlKGl0ZW0sICdETVknKSwgaGlzdG9yeVtTdHJpbmcoaXRlbSldLmNvc3RdKVxuICAgICAgICAgICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gKGFbMF0gPiBiWzBdID8gMSA6IC0xKSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgICAgICBzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5sb2FkaW5nSGlzdG9yeSQgPSB0aGlzLmhpc3RvcnkkLnBpcGUobWFwKHR1aUlzRmFsc3kpKTtcblxuICAgICAgICB0aGlzLnByaWNlSW5mbyQgPSB0aGlzLmhpc3RvcnkkLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIodHVpSXNQcmVzZW50KSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyTWV0cmlrYVNlcnZpY2UuZW1pdFVzZXJNZXRyaWthRXZlbnQoe1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0ucHJvZHVjdFByaWNlSGlzdG9yeVNob3csXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvZHVjdF9pZDogdGhpcy5wcm9kdWN0LmlkLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBmaWx0ZXIoKGhpc3RvcnkpID0+IGhpc3RvcnkubGVuZ3RoID4gMSksXG4gICAgICAgICAgICBtYXAoKGhpc3RvcnkpID0+IGhpc3RvcnkubWFwKChpdGVtKSA9PiBpdGVtWzFdKSksXG4gICAgICAgICAgICBtYXAoKHZhbHVlcykgPT4gKHtcbiAgICAgICAgICAgICAgICBtaW46IE1hdGgubWluKC4uLnZhbHVlcyksXG4gICAgICAgICAgICAgICAgbWF4OiBNYXRoLm1heCguLi52YWx1ZXMpLFxuICAgICAgICAgICAgfSkpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5yYW5nZSQgPSB0aGlzLmhpc3RvcnkkLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIodHVpSXNQcmVzZW50KSxcbiAgICAgICAgICAgIGZpbHRlcigoaGlzdG9yeSkgPT4gaGlzdG9yeS5sZW5ndGggPiAxKSxcbiAgICAgICAgICAgIG1hcCgodmFsdWU6IFJlYWRvbmx5QXJyYXk8W1R1aURheSwgbnVtYmVyXT4pID0+ICh7IGZyb206IHZhbHVlLmF0KDApPy5bMF0sIHRvOiB2YWx1ZS5hdCgtMSk/LlswXSB9KSksXG4gICAgICAgICAgICBmaWx0ZXIoKHJhbmdlKTogcmFuZ2UgaXMgeyBmcm9tOiBUdWlEYXk7IHRvOiBUdWlEYXkgfSA9PiAhIXJhbmdlLmZyb20gJiYgISFyYW5nZS50byksXG4gICAgICAgICAgICBtYXAoKHJhbmdlKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBUdWlEYXlSYW5nZShyYW5nZS5mcm9tLCByYW5nZS50byk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0YvRh9C40YHQu9GP0LXRgiDQv9C+0LTQv9C40YHQuCDQtNCw0YLRiyDQuiDQvtGB0LggWC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXJhbTAge0BsaW5rIFR1aURheVJhbmdlfSDQktGA0LXQvNC10L3QvdC+0Lkg0L/RgNC+0LzQtdC20YPRgtC+0Log0LjRgdGC0L7RgNC40Lgg0YbQtdC9LlxuICAgICAqIEBwYXJhbSBwYXJhbTAuZnJvbSB7QGxpbmsgVHVpRGF5fSDQlNCw0YLQsCDQvdCw0YfQsNC70LAg0LjRgdGC0L7RgNC40Lgg0YbQtdC9LlxuICAgICAqIEBwYXJhbSBwYXJhbTAudG8ge0BsaW5rIFR1aURheX0g0JTQsNGC0LAg0LrQvtC90YbQsCDQuNGB0YLQvtGA0LjQuCDRhtC10L0uXG4gICAgICovXG4gICAgQHR1aVB1cmVcbiAgICBwdWJsaWMgY29tcHV0ZUxhYmVscyQoeyBmcm9tLCB0byB9OiBUdWlEYXlSYW5nZSk6IE9ic2VydmFibGU8cmVhZG9ubHkgc3RyaW5nW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubW9udGhzJC5waXBlKG1hcCgobW9udGhzKSA9PiBbLi4uQXJyYXkuZnJvbSh7IGxlbmd0aDogVHVpTW9udGgubGVuZ3RoQmV0d2Vlbihmcm9tLCB0bykgKyAxIH0sIChfLCBpbmRleCkgPT4gbW9udGhzW2Zyb20uYXBwZW5kKHsgbW9udGg6IGluZGV4IH0pLm1vbnRoXSksICcnXSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0YvRh9C40YHQu9GP0LXRgiDQtNCw0L3QvdGL0LUg0LTQu9GPINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0L3QsCDQs9GA0LDRhNC40LrQtS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXJhbTAge0BsaW5rIFR1aURheVJhbmdlfSDQktGA0LXQvNC10L3QvdC+0Lkg0L/RgNC+0LzQtdC20YPRgtC+0Log0LjRgdGC0L7RgNC40Lgg0YbQtdC9LlxuICAgICAqIEBwYXJhbSBwYXJhbTAuZnJvbSB7QGxpbmsgVHVpRGF5fSDQlNCw0YLQsCDQvdCw0YfQsNC70LAg0LjRgdGC0L7RgNC40Lgg0YbQtdC9LlxuICAgICAqIEBwYXJhbSBwYXJhbTAudG8ge0BsaW5rIFR1aURheX0g0JTQsNGC0LAg0LrQvtC90YbQsCDQuNGB0YLQvtGA0LjQuCDRhtC10L0uXG4gICAgICogQHBhcmFtIGhpc3Rvcnkg0JjRgdGC0L7RgNC40Y8g0YbQtdC9LlxuICAgICAqL1xuICAgIEB0dWlQdXJlXG4gICAgcHVibGljIGNvbXB1dGVWYWx1ZSh7IGZyb20sIHRvIH06IFR1aURheVJhbmdlLCBoaXN0b3J5OiBSZWFkb25seUFycmF5PFtUdWlEYXksIG51bWJlcl0+KTogUmVhZG9ubHlBcnJheTxbVHVpRGF5LCBudW1iZXJdPiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBBcnJheS5mcm9tKHsgbGVuZ3RoOiBUdWlEYXkubGVuZ3RoQmV0d2Vlbihmcm9tLCB0bykgKyAxIH0pXG4gICAgICAgICAgICAgICAgLmZpbGwoMClcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9uby1hcnJheS1yZWR1Y2VcbiAgICAgICAgICAgICAgICAucmVkdWNlPFJlYWRvbmx5QXJyYXk8W1R1aURheSwgbnVtYmVyXT4+KChhcnJheSwgXywgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGZyb20uYXBwZW5kKHsgZGF5OiBpbmRleCB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmFycmF5LFxuICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGhpc3RvcnkuZmluZCgodmFsdWVIaXN0b3J5LCBpbmRleEhpc3RvcnksIGFycmF5SGlzdG9yeSkgPT4gZGF0YS5kYXlTYW1lKHZhbHVlSGlzdG9yeVswXSkgfHwgZGF0YS5kYXlCZWZvcmUoYXJyYXlIaXN0b3J5W2luZGV4SGlzdG9yeSArIDFdWzBdKSkgPz9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlzdG9yeVswXSlbMV0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgIH0sIFtdKVxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjx0dWktbG9hZGVyIFtzaG93TG9hZGVyXT1cIiEhKGxvYWRpbmdIaXN0b3J5JCB8IGFzeW5jKVwiPiA8L3R1aS1sb2FkZXI+XG5cbjxkaXZcbiAgICAqbmdJZj1cIihsb2FkaW5nSGlzdG9yeSQgfCBhc3luYykgPT09IGZhbHNlXCJcbiAgICBjbGFzcz1cImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyXCJcbj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJpY2VJbmZvJCB8IGFzeW5jIGFzIHByaWNlSW5mbzsgZWxzZSBpc05vdEV4aXN0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3LTE3NCBtYi0xIHRleHQtZW5kIHRleHQtbGcgZm9udC1ib2xkXCI+0L7RgiB7eyBwcmljZUluZm8ubWluLnRvTG9jYWxlU3RyaW5nKCkgfX0g4oK9INC00L4ge3sgcHJpY2VJbmZvLm1heC50b0xvY2FsZVN0cmluZygpIH19IOKCvTwvZGl2PlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoaXN0b3J5JCB8IGFzeW5jIGFzIGhpc3RvcnlcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cInJhbmdlJCB8IGFzeW5jIGFzIHJhbmdlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInJlbGF0aXZlIGgtNTYgdy1mdWxsIHAtNSB0ZXh0LXR1aS1wcmltYXJ5XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHVpLWF4ZXNcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb21wdXRlTGFiZWxzJChyYW5nZSkgfCBhc3luYyBhcyBsYWJlbHNcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImgtZnVsbFwiXG4gICAgICAgICAgICAgICAgICAgIFtheGlzWExhYmVsc109XCJsYWJlbHNcIlxuICAgICAgICAgICAgICAgICAgICBbaG9yaXpvbnRhbExpbmVzXT1cIjRcIlxuICAgICAgICAgICAgICAgICAgICBbdmVydGljYWxMaW5lc109XCJsYWJlbHMubGVuZ3RoXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDx0dWktbGluZS1kYXlzLWNoYXJ0XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNoYXJ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoZWlnaHRdPVwicHJpY2VJbmZvLm1heFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc21vb3RoaW5nRmFjdG9yXT1cIjEwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt5XT1cInByaWNlSW5mby5taW4gLSAocHJpY2VJbmZvLm1pbiAqIDEpIC8gNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiY29tcHV0ZVZhbHVlKHJhbmdlLCBoaXN0b3J5KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbeFN0cmluZ2lmeV09XCJ4U3RyaW5naWZ5JCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt5U3RyaW5naWZ5XT1cInlTdHJpbmdpZnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2hpbnRDb250ZW50XT1cImhpbnRcIlxuICAgICAgICAgICAgICAgICAgICA+PC90dWktbGluZS1kYXlzLWNoYXJ0PlxuICAgICAgICAgICAgICAgIDwvdHVpLWF4ZXM+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNpc05vdEV4aXN0PlxuICAgICAgICA8cCBjbGFzcz1cInRleHQtYmFzZSBmb250LWJvbGRcIj7QptC10L3QsCDQvdCwINGC0L7QstCw0YAg0L3QtSDQuNC30LzQtdC90Y/Qu9Cw0YHRjDwvcD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAjaGludFxuICAgICAgICBsZXQtZGF0YVxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvbnQtYm9sZFwiPnt7IGRhdGFbMV0udG9Mb2NhbGVTdHJpbmcoKSB9fSDigr08L2Rpdj5cbiAgICAgICAgPGRpdj57eyBkYXRhWzBdIH19PC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
@@ -0,0 +1,49 @@
1
+ import { ChangeDetectionStrategy, Component, Inject, inject } from '@angular/core';
2
+ import { SC_NEXT_PAGE_PAGINATION_CLICK, SC_PRODUCT_PAGINATION_OPTIONS, ScPaginationService } from '@snabcentr/client-core';
3
+ import { tuiIsFalsy, tuiIsPresent } from '@taiga-ui/cdk';
4
+ import { filter, map } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@taiga-ui/core";
8
+ /**
9
+ * Компонент элементов управления пагинацией списка товаров.
10
+ */
11
+ export class ScPriceListPaginationComponent {
12
+ /**
13
+ * Инициализирует экземпляр класса {@link ScPriceListPaginationComponent}.
14
+ *
15
+ * @param nextPageClickEvent Событие нажатия на кнопку "Показать следующие N позиций".
16
+ * @param options Значения пагинации списка товаров категории по умолчанию.
17
+ */
18
+ constructor(nextPageClickEvent, options) {
19
+ this.nextPageClickEvent = nextPageClickEvent;
20
+ this.options = options;
21
+ /**
22
+ * Сервис пагинации.
23
+ */
24
+ this.paginationService = inject((ScPaginationService), {
25
+ skipSelf: true,
26
+ });
27
+ /**
28
+ * Дополнительные данные пагинации.
29
+ */
30
+ this.meta$ = this.paginationService.dataAccumulated$.pipe(filter(tuiIsPresent), map((pagination) => pagination.meta));
31
+ /**
32
+ * Признак, что кнопка неактивна.
33
+ */
34
+ this.disabled$ = this.paginationService.dataAccumulated$.pipe(map(tuiIsFalsy));
35
+ }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScPriceListPaginationComponent, deps: [{ token: SC_NEXT_PAGE_PAGINATION_CLICK }, { token: SC_PRODUCT_PAGINATION_OPTIONS }], target: i0.ɵɵFactoryTarget.Component }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.3", type: ScPriceListPaginationComponent, selector: "sc-price-list-pagination", ngImport: i0, template: "<ng-container *ngIf=\"meta$ | async as meta\">\n <button\n *ngIf=\"meta?.currentPage !== meta?.lastPage\"\n tuiButton\n (click)=\"nextPageClickEvent.emit()\"\n [disabled]=\"!!(disabled$ | async)\"\n appearance=\"secondary\"\n class=\"!font-bold\"\n >\n \u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0435\u0449\u0451 {{ options.perPage }} \u0442\u043E\u0432\u0430\u0440\u043E\u0432\n </button>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScPriceListPaginationComponent, decorators: [{
40
+ type: Component,
41
+ args: [{ selector: 'sc-price-list-pagination', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"meta$ | async as meta\">\n <button\n *ngIf=\"meta?.currentPage !== meta?.lastPage\"\n tuiButton\n (click)=\"nextPageClickEvent.emit()\"\n [disabled]=\"!!(disabled$ | async)\"\n appearance=\"secondary\"\n class=\"!font-bold\"\n >\n \u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0435\u0449\u0451 {{ options.perPage }} \u0442\u043E\u0432\u0430\u0440\u043E\u0432\n </button>\n</ng-container>\n" }]
42
+ }], ctorParameters: () => [{ type: i0.EventEmitter, decorators: [{
43
+ type: Inject,
44
+ args: [SC_NEXT_PAGE_PAGINATION_CLICK]
45
+ }] }, { type: undefined, decorators: [{
46
+ type: Inject,
47
+ args: [SC_PRODUCT_PAGINATION_OPTIONS]
48
+ }] }] });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJpY2UtbGlzdC1wYWdpbmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9jYXRhbG9nL3ByaWNlLWxpc3QtcGFnaW5hdGlvbi9zYy1wcmljZS1saXN0LXBhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtbGlzdC1wYWdpbmF0aW9uL3NjLXByaWNlLWxpc3QtcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFnQixNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSw2QkFBNkIsRUFBeUQsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsTCxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7OztBQUUvQzs7R0FFRztBQU1ILE1BQU0sT0FBTyw4QkFBOEI7SUFxQnZDOzs7OztPQUtHO0lBQ0gsWUFDMkQsa0JBQXNDLEVBQ3RDLE9BQTJDO1FBRDNDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsWUFBTyxHQUFQLE9BQU8sQ0FBb0M7UUE1QnRHOztXQUVHO1FBQ2Msc0JBQWlCLEdBQUcsTUFBTSxDQUEwRCxDQUFBLG1CQUF1RCxDQUFBLEVBQUU7WUFDMUosUUFBUSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDSSxVQUFLLEdBQWtDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQ3RGLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFDcEIsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQ3ZDLENBQUM7UUFFRjs7V0FFRztRQUNJLGNBQVMsR0FBd0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQVduRyxDQUFDOzhHQTlCSyw4QkFBOEIsa0JBNEIzQiw2QkFBNkIsYUFDN0IsNkJBQTZCO2tHQTdCaEMsOEJBQThCLGdFQ2IzQyw0ZEFZQTs7MkZEQ2EsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNJLDBCQUEwQixtQkFFbkIsdUJBQXVCLENBQUMsTUFBTTs7MEJBOEIxQyxNQUFNOzJCQUFDLDZCQUE2Qjs7MEJBQ3BDLE1BQU07MkJBQUMsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU0NfTkVYVF9QQUdFX1BBR0lOQVRJT05fQ0xJQ0ssIFNDX1BST0RVQ1RfUEFHSU5BVElPTl9PUFRJT05TLCBTY0lDYXRlZ29yeVByb2R1Y3RQYWdpbmF0aW9uUGFyYW1zLCBTY0lQYWdpbmF0aW9uTWV0YSwgU2NQYWdpbmF0aW9uU2VydmljZSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgdHVpSXNGYWxzeSwgdHVpSXNQcmVzZW50IH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDRjdC70LXQvNC10L3RgtC+0LIg0YPQv9GA0LDQstC70LXQvdC40Y8g0L/QsNCz0LjQvdCw0YbQuNC10Lkg0YHQv9C40YHQutCwINGC0L7QstCw0YDQvtCyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXByaWNlLWxpc3QtcGFnaW5hdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLXByaWNlLWxpc3QtcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjUHJpY2VMaXN0UGFnaW5hdGlvbkNvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINC/0LDQs9C40L3QsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhZ2luYXRpb25TZXJ2aWNlID0gaW5qZWN0PFNjUGFnaW5hdGlvblNlcnZpY2U8U2NJQ2F0ZWdvcnlQcm9kdWN0UGFnaW5hdGlvblBhcmFtcz4+KFNjUGFnaW5hdGlvblNlcnZpY2U8U2NJQ2F0ZWdvcnlQcm9kdWN0UGFnaW5hdGlvblBhcmFtcz4sIHtcbiAgICAgICAgc2tpcFNlbGY6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiDQlNC+0L/QvtC70L3QuNGC0LXQu9GM0L3Ri9C1INC00LDQvdC90YvQtSDQv9Cw0LPQuNC90LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIG1ldGEkOiBPYnNlcnZhYmxlPFNjSVBhZ2luYXRpb25NZXRhPiA9IHRoaXMucGFnaW5hdGlvblNlcnZpY2UuZGF0YUFjY3VtdWxhdGVkJC5waXBlKFxuICAgICAgICBmaWx0ZXIodHVpSXNQcmVzZW50KSxcbiAgICAgICAgbWFwKChwYWdpbmF0aW9uKSA9PiBwYWdpbmF0aW9uLm1ldGEpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0LrQvdC+0L/QutCwINC90LXQsNC60YLQuNCy0L3QsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGlzYWJsZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5wYWdpbmF0aW9uU2VydmljZS5kYXRhQWNjdW11bGF0ZWQkLnBpcGUobWFwKHR1aUlzRmFsc3kpKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NQcmljZUxpc3RQYWdpbmF0aW9uQ29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuZXh0UGFnZUNsaWNrRXZlbnQg0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMgXCLQn9C+0LrQsNC30LDRgtGMINGB0LvQtdC00YPRjtGJ0LjQtSBOINC/0L7Qt9C40YbQuNC5XCIuXG4gICAgICogQHBhcmFtIG9wdGlvbnMg0JfQvdCw0YfQtdC90LjRjyDQv9Cw0LPQuNC90LDRhtC40Lgg0YHQv9C40YHQutCwINGC0L7QstCw0YDQvtCyINC60LDRgtC10LPQvtGA0LjQuCDQv9C+INGD0LzQvtC70YfQsNC90LjRji5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoU0NfTkVYVF9QQUdFX1BBR0lOQVRJT05fQ0xJQ0spIHB1YmxpYyByZWFkb25seSBuZXh0UGFnZUNsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjx2b2lkPixcbiAgICAgICAgQEluamVjdChTQ19QUk9EVUNUX1BBR0lOQVRJT05fT1BUSU9OUykgcHVibGljIHJlYWRvbmx5IG9wdGlvbnM6IFNjSUNhdGVnb3J5UHJvZHVjdFBhZ2luYXRpb25QYXJhbXNcbiAgICApIHt9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibWV0YSQgfCBhc3luYyBhcyBtZXRhXCI+XG4gICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cIm1ldGE/LmN1cnJlbnRQYWdlICE9PSBtZXRhPy5sYXN0UGFnZVwiXG4gICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAoY2xpY2spPVwibmV4dFBhZ2VDbGlja0V2ZW50LmVtaXQoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIhIShkaXNhYmxlZCQgfCBhc3luYylcIlxuICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgY2xhc3M9XCIhZm9udC1ib2xkXCJcbiAgICA+XG4gICAgICAgINCf0L7QutCw0LfQsNGC0Ywg0LXRidGRIHt7IG9wdGlvbnMucGVyUGFnZSB9fSDRgtC+0LLQsNGA0L7QslxuICAgIDwvYnV0dG9uPlxuPC9uZy1jb250YWluZXI+XG4iXX0=