@snabcentr/client-ui 4.14.9 → 4.14.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (572) hide show
  1. package/accordion/index.d.ts +3 -0
  2. package/accordion/sc-accordion-content.directive.d.ts +9 -0
  3. package/accordion/sc-accordion.component.d.ts +56 -0
  4. package/accordion/sc-accordion.module.d.ts +15 -0
  5. package/auth/enums/auth-method.d.ts +13 -0
  6. package/auth/index.d.ts +8 -0
  7. package/auth/interfaces/index.d.ts +2 -0
  8. package/auth/interfaces/sc-bank-account-form-group.d.ts +11 -0
  9. package/auth/interfaces/sc-contact-form-group.d.ts +10 -0
  10. package/auth/sc-auth.module.d.ts +27 -0
  11. package/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.d.ts +55 -0
  12. package/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.d.ts +45 -0
  13. package/auth/sc-sign-in-form/sc-sign-in-form.component.d.ts +53 -0
  14. package/auth/sc-simple-sign-up-form/sc-simple-sign-up-form.component.d.ts +113 -0
  15. package/auth/sign-up-form/sc-sign-up-form.component.d.ts +172 -0
  16. package/banner/index.d.ts +2 -0
  17. package/banner/sc-banner.component.d.ts +108 -0
  18. package/banner/sc-banner.module.d.ts +17 -0
  19. package/brands-list/index.d.ts +3 -0
  20. package/brands-list/sc-brand-list-item.d.ts +25 -0
  21. package/brands-list/sc-brands-list.component.d.ts +13 -0
  22. package/brands-list/sc-brands-list.module.d.ts +12 -0
  23. package/cart/add-or-editing-cart-item-dialog/add-or-editing-cart-item-form/sc-add-or-editing-cart-item-form.component.d.ts +106 -0
  24. package/cart/add-or-editing-cart-item-dialog/index.d.ts +2 -0
  25. package/cart/add-or-editing-cart-item-dialog/sc-add-or-editing-cart-item-dialog.component.d.ts +49 -0
  26. package/cart/index.d.ts +2 -0
  27. package/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.d.ts +62 -0
  28. package/catalog/catalog-filters/collapsible/sc-catalog-filter-collapsible.component.d.ts +47 -0
  29. package/catalog/catalog-filters/index.d.ts +4 -0
  30. package/catalog/catalog-filters/sc-catalog-filters.component.d.ts +199 -0
  31. package/catalog/catalog-filters/tokens/sc-catalog-products-filters.d.ts +7 -0
  32. package/catalog/catalog-filters/tokens/sc-catalog-show-products-recursively.d.ts +5 -0
  33. package/catalog/category-card/sc-category-card.component.d.ts +76 -0
  34. package/catalog/cost-with-discount/cost-with-discount.component.d.ts +23 -0
  35. package/catalog/download-price-list/sc-download-price-list.component.d.ts +38 -0
  36. package/catalog/hover-image-carousel/sc-hover-image-carousel.component.d.ts +48 -0
  37. package/catalog/index.d.ts +15 -0
  38. package/catalog/input-quantity/sc-input-quantity.component.d.ts +82 -0
  39. package/catalog/notify-when-in-stock-dialog/index.d.ts +2 -0
  40. package/catalog/notify-when-in-stock-dialog/sc-notify-when-in-stock-dialog.component.d.ts +90 -0
  41. package/catalog/notify-when-in-stock-dialog/sc-product-in-all-warehouses.pipe.d.ts +22 -0
  42. package/catalog/price-card/sc-price-card.component.d.ts +18 -0
  43. package/catalog/price-card-inline/sc-price-card-inline.component.d.ts +10 -0
  44. package/catalog/price-history/sc-price-history.component.d.ts +92 -0
  45. package/catalog/price-list-pagination/sc-price-list-pagination.component.d.ts +40 -0
  46. package/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.d.ts +47 -0
  47. package/catalog/sc-catalog.module.d.ts +29 -0
  48. package/catalog/sc-favorite-button/sc-favorite-button.component.d.ts +25 -0
  49. package/catalog/seo-tags/sc-seo-tags.component.d.ts +20 -0
  50. package/configurators/index.d.ts +3 -0
  51. package/configurators/models/index.d.ts +3 -0
  52. package/configurators/models/sandwich/sc-i-configurator-search-product-sandwich.d.ts +22 -0
  53. package/configurators/models/sandwich/sc-i-sandwich-settings.d.ts +18 -0
  54. package/configurators/models/sandwich_m2/sc-i-sandwich-m2-settings.d.ts +18 -0
  55. package/configurators/sandwich/index.d.ts +3 -0
  56. package/configurators/sandwich/sandwich-skeleton/sc-sandwich-skeleton.component.d.ts +8 -0
  57. package/configurators/sandwich/sc-i-new-cart-item-sandwich.d.ts +14 -0
  58. package/configurators/sandwich/sc-sandwich.component.d.ts +186 -0
  59. package/configurators/sandwich_m2/index.d.ts +4 -0
  60. package/configurators/sandwich_m2/sandwich-m2-skeleton/sc-sandwich-m2-skeleton.component.d.ts +8 -0
  61. package/configurators/sandwich_m2/sc-i-new-cart-item-sandwich-m2.d.ts +23 -0
  62. package/configurators/sandwich_m2/sc-sandwich-m2-item-submit-state.d.ts +13 -0
  63. package/configurators/sandwich_m2/sc-sandwich-m2.component.d.ts +275 -0
  64. package/contacts/add-contact-dialog/sc-add-contact-dialog.component.d.ts +49 -0
  65. package/contacts/contacts-accordion/sc-contacts-accordion.component.d.ts +23 -0
  66. package/contacts/index.d.ts +7 -0
  67. package/contacts/manager-card/sc-manager-card.component.d.ts +22 -0
  68. package/contacts/manager-card-push/sc-manager-card-push.component.d.ts +18 -0
  69. package/contacts/new-contact-form/sc-new-contact-form.component.d.ts +28 -0
  70. package/contacts/sc-contacts.module.d.ts +28 -0
  71. package/contacts/tokens/index.d.ts +2 -0
  72. package/contacts/tokens/sc-manager-qr-handler.token.d.ts +6 -0
  73. package/contacts/tokens/sc-show-help-notification-in-phone-input.token.d.ts +5 -0
  74. package/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.d.ts +49 -0
  75. package/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.d.ts +158 -0
  76. package/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.d.ts +66 -0
  77. package/contragents/contragents-accordion/sc-contragents-accordion.component.d.ts +49 -0
  78. package/contragents/index.d.ts +7 -0
  79. package/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.d.ts +64 -0
  80. package/contragents/new-contragent-form/sc-new-contragent-form.component.d.ts +129 -0
  81. package/contragents/sc-contragents.module.d.ts +28 -0
  82. package/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.d.ts +148 -0
  83. package/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.d.ts +50 -0
  84. package/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.d.ts +49 -0
  85. package/delivery-address/index.d.ts +4 -0
  86. package/delivery-address/sc-delivery-address.module.d.ts +25 -0
  87. package/dialogs/index.d.ts +1 -0
  88. package/dialogs/sc-resource-preview/sc-resource-preview.component.d.ts +42 -0
  89. package/directives/abstract-price-card/abstract-sc-price-card.directive.d.ts +136 -0
  90. package/directives/address-quality/sc-address-quality.directive.d.ts +23 -0
  91. package/directives/address-quality/sc-address-quality.service.d.ts +122 -0
  92. package/directives/address-quality/sc-i-address-quality-state.d.ts +14 -0
  93. package/directives/index.d.ts +11 -0
  94. package/directives/links/index.d.ts +4 -0
  95. package/directives/links/sc-email-link.directive.d.ts +25 -0
  96. package/directives/links/sc-link-location.d.ts +5 -0
  97. package/directives/links/sc-links.d.ts +7 -0
  98. package/directives/links/sc-tel-link.directive.d.ts +40 -0
  99. package/directives/next-input-focus/sc-next-input-focus.directive.d.ts +27 -0
  100. package/directives/next-input-focus/sc-next-input-focus.module.d.ts +10 -0
  101. package/directives/print/sc-print.directive.d.ts +21 -0
  102. package/directives/sc-date-value-transformer.directive.d.ts +8 -0
  103. package/directives/sc-focus-first-invalid-field.directive.d.ts +30 -0
  104. package/directives/sc-null-on-empty-value-transformer.directive.d.ts +8 -0
  105. package/directives/select-on-focusin/sc-select-on-focusin.directive.d.ts +14 -0
  106. package/directives/terminal-link/sc-terminal-link.directive.d.ts +34 -0
  107. package/error-handler/consts/error-change-handler.providers.d.ts +6 -0
  108. package/error-handler/error-block-status/error-block-status.component.d.ts +55 -0
  109. package/error-handler/index.d.ts +4 -0
  110. package/error-handler/interfaces/i-block-error.d.ts +17 -0
  111. package/error-handler/sc-error-handler.component.d.ts +40 -0
  112. package/esm2022/accordion/index.mjs +4 -0
  113. package/esm2022/accordion/sc-accordion-content.directive.mjs +17 -0
  114. package/esm2022/accordion/sc-accordion.component.mjs +92 -0
  115. package/esm2022/accordion/sc-accordion.module.mjs +26 -0
  116. package/esm2022/auth/enums/auth-method.mjs +15 -0
  117. package/esm2022/auth/index.mjs +9 -0
  118. package/esm2022/auth/interfaces/index.mjs +3 -0
  119. package/esm2022/auth/interfaces/sc-bank-account-form-group.mjs +2 -0
  120. package/esm2022/auth/interfaces/sc-contact-form-group.mjs +2 -0
  121. package/esm2022/auth/sc-auth.module.mjs +103 -0
  122. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.mjs +100 -0
  123. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs +81 -0
  124. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form.component.mjs +89 -0
  125. package/esm2022/auth/sc-simple-sign-up-form/sc-simple-sign-up-form.component.mjs +203 -0
  126. package/esm2022/auth/sign-up-form/sc-sign-up-form.component.mjs +345 -0
  127. package/esm2022/banner/index.mjs +3 -0
  128. package/esm2022/banner/sc-banner.component.mjs +176 -0
  129. package/esm2022/banner/sc-banner.module.mjs +29 -0
  130. package/esm2022/brands-list/index.mjs +4 -0
  131. package/esm2022/brands-list/sc-brand-list-item.mjs +2 -0
  132. package/esm2022/brands-list/sc-brands-list.component.mjs +24 -0
  133. package/esm2022/brands-list/sc-brands-list.module.mjs +22 -0
  134. package/esm2022/cart/add-or-editing-cart-item-dialog/add-or-editing-cart-item-form/sc-add-or-editing-cart-item-form.component.mjs +233 -0
  135. package/esm2022/cart/add-or-editing-cart-item-dialog/index.mjs +3 -0
  136. package/esm2022/cart/add-or-editing-cart-item-dialog/sc-add-or-editing-cart-item-dialog.component.mjs +75 -0
  137. package/esm2022/cart/index.mjs +3 -0
  138. package/esm2022/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.mjs +110 -0
  139. package/esm2022/catalog/catalog-filters/collapsible/sc-catalog-filter-collapsible.component.mjs +59 -0
  140. package/esm2022/catalog/catalog-filters/index.mjs +5 -0
  141. package/esm2022/catalog/catalog-filters/sc-catalog-filters.component.mjs +451 -0
  142. package/esm2022/catalog/catalog-filters/tokens/sc-catalog-products-filters.mjs +10 -0
  143. package/esm2022/catalog/catalog-filters/tokens/sc-catalog-show-products-recursively.mjs +6 -0
  144. package/esm2022/catalog/category-card/sc-category-card.component.mjs +102 -0
  145. package/esm2022/catalog/cost-with-discount/cost-with-discount.component.mjs +38 -0
  146. package/esm2022/catalog/download-price-list/sc-download-price-list.component.mjs +56 -0
  147. package/esm2022/catalog/hover-image-carousel/sc-hover-image-carousel.component.mjs +76 -0
  148. package/esm2022/catalog/index.mjs +16 -0
  149. package/esm2022/catalog/input-quantity/sc-input-quantity.component.mjs +190 -0
  150. package/esm2022/catalog/notify-when-in-stock-dialog/index.mjs +3 -0
  151. package/esm2022/catalog/notify-when-in-stock-dialog/sc-notify-when-in-stock-dialog.component.mjs +173 -0
  152. package/esm2022/catalog/notify-when-in-stock-dialog/sc-product-in-all-warehouses.pipe.mjs +35 -0
  153. package/esm2022/catalog/price-card/sc-price-card.component.mjs +71 -0
  154. package/esm2022/catalog/price-card-inline/sc-price-card-inline.component.mjs +54 -0
  155. package/esm2022/catalog/price-history/sc-price-history.component.mjs +144 -0
  156. package/esm2022/catalog/price-list-pagination/sc-price-list-pagination.component.mjs +65 -0
  157. package/esm2022/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.mjs +61 -0
  158. package/esm2022/catalog/sc-catalog.module.mjs +128 -0
  159. package/esm2022/catalog/sc-favorite-button/sc-favorite-button.component.mjs +42 -0
  160. package/esm2022/catalog/seo-tags/sc-seo-tags.component.mjs +25 -0
  161. package/esm2022/configurators/index.mjs +4 -0
  162. package/esm2022/configurators/models/index.mjs +4 -0
  163. package/esm2022/configurators/models/sandwich/sc-i-configurator-search-product-sandwich.mjs +2 -0
  164. package/esm2022/configurators/models/sandwich/sc-i-sandwich-settings.mjs +2 -0
  165. package/esm2022/configurators/models/sandwich_m2/sc-i-sandwich-m2-settings.mjs +2 -0
  166. package/esm2022/configurators/sandwich/index.mjs +4 -0
  167. package/esm2022/configurators/sandwich/sandwich-skeleton/sc-sandwich-skeleton.component.mjs +14 -0
  168. package/esm2022/configurators/sandwich/sc-i-new-cart-item-sandwich.mjs +2 -0
  169. package/esm2022/configurators/sandwich/sc-sandwich.component.mjs +387 -0
  170. package/esm2022/configurators/sandwich_m2/index.mjs +5 -0
  171. package/esm2022/configurators/sandwich_m2/sandwich-m2-skeleton/sc-sandwich-m2-skeleton.component.mjs +14 -0
  172. package/esm2022/configurators/sandwich_m2/sc-i-new-cart-item-sandwich-m2.mjs +2 -0
  173. package/esm2022/configurators/sandwich_m2/sc-sandwich-m2-item-submit-state.mjs +5 -0
  174. package/esm2022/configurators/sandwich_m2/sc-sandwich-m2.component.mjs +569 -0
  175. package/esm2022/contacts/add-contact-dialog/sc-add-contact-dialog.component.mjs +91 -0
  176. package/esm2022/contacts/contacts-accordion/sc-contacts-accordion.component.mjs +37 -0
  177. package/esm2022/contacts/index.mjs +8 -0
  178. package/esm2022/contacts/manager-card/sc-manager-card.component.mjs +58 -0
  179. package/esm2022/contacts/manager-card-push/sc-manager-card-push.component.mjs +28 -0
  180. package/esm2022/contacts/new-contact-form/sc-new-contact-form.component.mjs +38 -0
  181. package/esm2022/contacts/sc-contacts.module.mjs +92 -0
  182. package/esm2022/contacts/tokens/index.mjs +3 -0
  183. package/esm2022/contacts/tokens/sc-manager-qr-handler.token.mjs +25 -0
  184. package/esm2022/contacts/tokens/sc-show-help-notification-in-phone-input.token.mjs +9 -0
  185. package/esm2022/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.mjs +81 -0
  186. package/esm2022/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.mjs +266 -0
  187. package/esm2022/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.mjs +79 -0
  188. package/esm2022/contragents/contragents-accordion/sc-contragents-accordion.component.mjs +68 -0
  189. package/esm2022/contragents/index.mjs +8 -0
  190. package/esm2022/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.mjs +72 -0
  191. package/esm2022/contragents/new-contragent-form/sc-new-contragent-form.component.mjs +241 -0
  192. package/esm2022/contragents/sc-contragents.module.mjs +121 -0
  193. package/esm2022/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.mjs +261 -0
  194. package/esm2022/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.mjs +60 -0
  195. package/esm2022/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.mjs +68 -0
  196. package/esm2022/delivery-address/index.mjs +5 -0
  197. package/esm2022/delivery-address/sc-delivery-address.module.mjs +96 -0
  198. package/esm2022/dialogs/index.mjs +2 -0
  199. package/esm2022/dialogs/sc-resource-preview/sc-resource-preview.component.mjs +73 -0
  200. package/esm2022/directives/abstract-price-card/abstract-sc-price-card.directive.mjs +170 -0
  201. package/esm2022/directives/address-quality/sc-address-quality.directive.mjs +40 -0
  202. package/esm2022/directives/address-quality/sc-address-quality.service.mjs +214 -0
  203. package/esm2022/directives/address-quality/sc-i-address-quality-state.mjs +2 -0
  204. package/esm2022/directives/index.mjs +12 -0
  205. package/esm2022/directives/links/index.mjs +5 -0
  206. package/esm2022/directives/links/sc-email-link.directive.mjs +49 -0
  207. package/esm2022/directives/links/sc-link-location.mjs +2 -0
  208. package/esm2022/directives/links/sc-links.mjs +8 -0
  209. package/esm2022/directives/links/sc-tel-link.directive.mjs +79 -0
  210. package/esm2022/directives/next-input-focus/sc-next-input-focus.directive.mjs +70 -0
  211. package/esm2022/directives/next-input-focus/sc-next-input-focus.module.mjs +19 -0
  212. package/esm2022/directives/print/sc-print.directive.mjs +36 -0
  213. package/esm2022/directives/sc-date-value-transformer.directive.mjs +30 -0
  214. package/esm2022/directives/sc-focus-first-invalid-field.directive.mjs +85 -0
  215. package/esm2022/directives/sc-null-on-empty-value-transformer.directive.mjs +30 -0
  216. package/esm2022/directives/select-on-focusin/sc-select-on-focusin.directive.mjs +36 -0
  217. package/esm2022/directives/terminal-link/sc-terminal-link.directive.mjs +69 -0
  218. package/esm2022/error-handler/consts/error-change-handler.providers.mjs +10 -0
  219. package/esm2022/error-handler/error-block-status/error-block-status.component.mjs +101 -0
  220. package/esm2022/error-handler/index.mjs +5 -0
  221. package/esm2022/error-handler/interfaces/i-block-error.mjs +2 -0
  222. package/esm2022/error-handler/sc-error-handler.component.mjs +58 -0
  223. package/esm2022/feedback/feedback-form/sc-feedback-form.component.mjs +344 -0
  224. package/esm2022/feedback/gratitude/sc-gratitude.component.mjs +32 -0
  225. package/esm2022/feedback/index.mjs +4 -0
  226. package/esm2022/feedback/interfaces/index.mjs +2 -0
  227. package/esm2022/feedback/interfaces/sc-feedback-form-config.mjs +2 -0
  228. package/esm2022/files/directives/index.mjs +3 -0
  229. package/esm2022/files/directives/tree-top.directive.mjs +63 -0
  230. package/esm2022/files/directives/tree.directive.mjs +47 -0
  231. package/esm2022/files/file-tree-item/file-tree-item.component.mjs +18 -0
  232. package/esm2022/files/files-and-documents/files-and-documents.component.mjs +61 -0
  233. package/esm2022/files/files-and-documents.module.mjs +28 -0
  234. package/esm2022/files/index.mjs +6 -0
  235. package/esm2022/files/interfaces/tree-node.mjs +2 -0
  236. package/esm2022/files/services/index.mjs +3 -0
  237. package/esm2022/files/services/tree-icon.service.mjs +49 -0
  238. package/esm2022/files/services/tree-loader.service.mjs +62 -0
  239. package/esm2022/form-fields/addresses-selection-field/sc-addresses-selection-field.component.mjs +155 -0
  240. package/esm2022/form-fields/form-fields.module.mjs +66 -0
  241. package/esm2022/form-fields/index.mjs +4 -0
  242. package/esm2022/form-fields/suggestion-field/sc-suggestion-field.component.mjs +235 -0
  243. package/esm2022/icons/index.mjs +2 -0
  244. package/esm2022/icons/sc-client-ui-icons-name.mjs +99 -0
  245. package/esm2022/loader/index.mjs +2 -0
  246. package/esm2022/loader/sc-i-loader.mjs +2 -0
  247. package/esm2022/masks/index.mjs +9 -0
  248. package/esm2022/masks/sc-account-number-mask.mjs +7 -0
  249. package/esm2022/masks/sc-bic-mask.mjs +7 -0
  250. package/esm2022/masks/sc-correspondent-account-mask.mjs +7 -0
  251. package/esm2022/masks/sc-inn-mask.mjs +13 -0
  252. package/esm2022/masks/sc-kpp-mask.mjs +7 -0
  253. package/esm2022/masks/sc-ogrn-mask.mjs +13 -0
  254. package/esm2022/masks/sc-okpo-mask.mjs +13 -0
  255. package/esm2022/masks/sc-phone-verification-code-mask.mjs +7 -0
  256. package/esm2022/methods/index.mjs +2 -0
  257. package/esm2022/methods/sc-get-current-route.mjs +14 -0
  258. package/esm2022/models/i-sc-image.mjs +2 -0
  259. package/esm2022/models/index.mjs +2 -0
  260. package/esm2022/news/index.mjs +4 -0
  261. package/esm2022/news/news-card/sc-news-card.component.mjs +34 -0
  262. package/esm2022/news/news-card-skeleton/sc-news-card-skeleton.component.mjs +31 -0
  263. package/esm2022/news/sc-news.module.mjs +25 -0
  264. package/esm2022/noindex-wrapper/directives/index.mjs +2 -0
  265. package/esm2022/noindex-wrapper/directives/sc-noindex.directive.mjs +58 -0
  266. package/esm2022/noindex-wrapper/index.mjs +3 -0
  267. package/esm2022/noindex-wrapper/sc-noindex-wrapper.component.mjs +18 -0
  268. package/esm2022/order/directives/index.mjs +3 -0
  269. package/esm2022/order/directives/sc-order-accessor.directive.mjs +28 -0
  270. package/esm2022/order/directives/sc-order-options.mjs +11 -0
  271. package/esm2022/order/draft/sc-draft.component.mjs +118 -0
  272. package/esm2022/order/index.mjs +14 -0
  273. package/esm2022/order/models/i-new-order-form.mjs +2 -0
  274. package/esm2022/order/models/sc-i-cart-items-by-direction.mjs +22 -0
  275. package/esm2022/order/order-direction-items/sc-order-direction-items.component.mjs +39 -0
  276. package/esm2022/order/order-form/sc-order-form.component.mjs +565 -0
  277. package/esm2022/order/order-form/sc-order-form.config.mjs +7 -0
  278. package/esm2022/order/order-item/sc-order-item.component.mjs +112 -0
  279. package/esm2022/order/order-items-list/sc-order-items-list.component.mjs +212 -0
  280. package/esm2022/order/order-items-list-by-directions/sc-order-items-list-by-directions.component.mjs +75 -0
  281. package/esm2022/order/order-items-list-by-stock/sc-order-items-list-by-stock.component.mjs +75 -0
  282. package/esm2022/order/sc-order.module.mjs +52 -0
  283. package/esm2022/order/sc-payment-status/sc-payment-status.component.mjs +35 -0
  284. package/esm2022/pages/frequently-asked-questions/sc-faq-query-params.mjs +5 -0
  285. package/esm2022/pages/frequently-asked-questions/sc-faq-question-anchor.mjs +23 -0
  286. package/esm2022/pages/frequently-asked-questions/sc-frequently-asked-questions.component.mjs +167 -0
  287. package/esm2022/pages/frequently-asked-questions/sc-get-faq-group-query-params.mjs +14 -0
  288. package/esm2022/pages/frequently-asked-questions/sc-page-size-options.mjs +8 -0
  289. package/esm2022/pages/frequently-asked-questions-group-selector/sc-frequently-asked-questions-group-selector.component.mjs +88 -0
  290. package/esm2022/pages/frequently-asked-questions-with-groups/sc-frequently-asked-questions-with-groups.component.mjs +123 -0
  291. package/esm2022/pages/index.mjs +11 -0
  292. package/esm2022/pages/news-list/sc-news-list.component.mjs +90 -0
  293. package/esm2022/pages/personal-data-processing-policy/sc-personal-data-processing-policy.component.mjs +46 -0
  294. package/esm2022/pages/privacy-policy/sc-privacy-policy.component.mjs +30 -0
  295. package/esm2022/pages/public-offer/sc-public-offer.component.mjs +50 -0
  296. package/esm2022/pagination/index.mjs +2 -0
  297. package/esm2022/pagination/sc-pagination-links/sc-pagination-links.component.mjs +99 -0
  298. package/esm2022/pipes/index.mjs +3 -0
  299. package/esm2022/pipes/sc-format-date.mjs +33 -0
  300. package/esm2022/pipes/sc-phone-format.mjs +44 -0
  301. package/esm2022/profile/index.mjs +3 -0
  302. package/esm2022/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +174 -0
  303. package/esm2022/profile/sc-profile.module.mjs +73 -0
  304. package/esm2022/providers/cleanup-recaptcha-artifacts.mjs +30 -0
  305. package/esm2022/providers/date-value-transformer/index.mjs +4 -0
  306. package/esm2022/providers/date-value-transformer/sc-date-value-transformer-types.mjs +2 -0
  307. package/esm2022/providers/date-value-transformer/sc-date-value-transformer-with-end-time.mjs +26 -0
  308. package/esm2022/providers/date-value-transformer/sc-date-value-transformer-with-start-time.mjs +37 -0
  309. package/esm2022/providers/index.mjs +18 -0
  310. package/esm2022/providers/null-on-empty-value-transformer/index.mjs +2 -0
  311. package/esm2022/providers/null-on-empty-value-transformer/sc-null-on-empty-value-transformer.mjs +31 -0
  312. package/esm2022/providers/sc-allow-select-terminated.mjs +8 -0
  313. package/esm2022/providers/sc-banner-duration.mjs +8 -0
  314. package/esm2022/providers/sc-block-incomplete-address.mjs +8 -0
  315. package/esm2022/providers/sc-country-ids.mjs +8 -0
  316. package/esm2022/providers/sc-date-formatter.mjs +15 -0
  317. package/esm2022/providers/sc-date-value-transformer.mjs +12 -0
  318. package/esm2022/providers/sc-debounce-time-default.mjs +9 -0
  319. package/esm2022/providers/sc-dialog-service.providers.mjs +6 -0
  320. package/esm2022/providers/sc-help-notification-close.mjs +9 -0
  321. package/esm2022/providers/sc-help-notification-limit.mjs +8 -0
  322. package/esm2022/providers/sc-hidden-print-elements.token.mjs +10 -0
  323. package/esm2022/providers/sc-max-files-in-form-input.mjs +8 -0
  324. package/esm2022/providers/sc-notify-when-in-stock-required-fields.mjs +8 -0
  325. package/esm2022/providers/sc-page-size-options.mjs +8 -0
  326. package/esm2022/providers/sc-user-providers.mjs +38 -0
  327. package/esm2022/providers/sc-verification-code-timeout.mjs +8 -0
  328. package/esm2022/public-api.mjs +36 -0
  329. package/esm2022/qrcode/index.mjs +3 -0
  330. package/esm2022/qrcode/qrcode-dialog/sc-qrcode-dialog.component.mjs +58 -0
  331. package/esm2022/qrcode/sc-qrcode.module.mjs +25 -0
  332. package/esm2022/samples/index.mjs +5 -0
  333. package/esm2022/samples/interfaces/index.mjs +3 -0
  334. package/esm2022/samples/interfaces/sc-i-preview-sample.mjs +2 -0
  335. package/esm2022/samples/interfaces/sc-preview-mosquito-config.mjs +2 -0
  336. package/esm2022/samples/preview-sample/sc-preview-sample.component.mjs +42 -0
  337. package/esm2022/samples/sc-preview-samples-mosquito/sc-preview-samples-mosquito.component.mjs +63 -0
  338. package/esm2022/samples/sc-sample.module.mjs +66 -0
  339. package/esm2022/services/index.mjs +3 -0
  340. package/esm2022/services/print.service.mjs +49 -0
  341. package/esm2022/services/sc-help-notification.service.mjs +100 -0
  342. package/esm2022/share/index.mjs +6 -0
  343. package/esm2022/share/sc-share-dialog-data.mjs +2 -0
  344. package/esm2022/share/sc-share.service.mjs +40 -0
  345. package/esm2022/share/share-button/sc-share-button.component.mjs +99 -0
  346. package/esm2022/share/share-dialog/sc-share-dialog.component.mjs +139 -0
  347. package/esm2022/share/share-messengers-links/sc-share-messengers-links.component.mjs +84 -0
  348. package/esm2022/snabcentr-client-ui.mjs +5 -0
  349. package/esm2022/user/index.mjs +6 -0
  350. package/esm2022/user/reset-user-password/sc-reset-user-password.component.mjs +74 -0
  351. package/esm2022/user/sc-user.module.mjs +86 -0
  352. package/esm2022/user/update-user-info-dialog/sc-update-user-info-dialog.component.mjs +121 -0
  353. package/esm2022/user/user-managers/sc-user-managers.component.mjs +40 -0
  354. package/esm2022/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.mjs +105 -0
  355. package/esm2022/validators/index.mjs +7 -0
  356. package/esm2022/validators/sc-at-least-one-required-validator.mjs +25 -0
  357. package/esm2022/validators/sc-bic-validator.mjs +10 -0
  358. package/esm2022/validators/sc-correspondent-account-validator.mjs +10 -0
  359. package/esm2022/validators/sc-password-confirm-matching-validator.mjs +17 -0
  360. package/esm2022/validators/sc-phone-validator.mjs +14 -0
  361. package/esm2022/validators/step-validator.mjs +18 -0
  362. package/esm2022/verification/index.mjs +3 -0
  363. package/esm2022/verification/sc-verification.module.mjs +86 -0
  364. package/esm2022/verification/verification-phone-check-form/sc-verification-phone-check-form.component.mjs +259 -0
  365. package/feedback/feedback-form/sc-feedback-form.component.d.ts +163 -0
  366. package/feedback/gratitude/sc-gratitude.component.d.ts +20 -0
  367. package/feedback/index.d.ts +3 -0
  368. package/feedback/interfaces/index.d.ts +1 -0
  369. package/feedback/interfaces/sc-feedback-form-config.d.ts +23 -0
  370. package/fesm2022/snabcentr-client-ui.mjs +5826 -4942
  371. package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
  372. package/files/directives/index.d.ts +2 -0
  373. package/files/directives/tree-top.directive.d.ts +33 -0
  374. package/files/directives/tree.directive.d.ts +35 -0
  375. package/files/file-tree-item/file-tree-item.component.d.ts +9 -0
  376. package/files/files-and-documents/files-and-documents.component.d.ts +27 -0
  377. package/files/files-and-documents.module.d.ts +17 -0
  378. package/files/index.d.ts +5 -0
  379. package/files/interfaces/tree-node.d.ts +29 -0
  380. package/files/services/index.d.ts +2 -0
  381. package/files/services/tree-icon.service.d.ts +23 -0
  382. package/files/services/tree-loader.service.d.ts +43 -0
  383. package/form-fields/addresses-selection-field/sc-addresses-selection-field.component.d.ts +80 -0
  384. package/form-fields/form-fields.module.d.ts +18 -0
  385. package/form-fields/index.d.ts +3 -0
  386. package/form-fields/suggestion-field/sc-suggestion-field.component.d.ts +107 -0
  387. package/icons/index.d.ts +1 -0
  388. package/icons/sc-client-ui-icons-name.d.ts +4 -0
  389. package/icons/svg-pack/application.svg +1 -1
  390. package/icons/svg-pack/back.svg +1 -1
  391. package/icons/svg-pack/bag.svg +1 -1
  392. package/icons/svg-pack/banknote-arrow-in-top.svg +1 -1
  393. package/icons/svg-pack/catalog/aluminum-systems.svg +1 -1
  394. package/icons/svg-pack/catalog/arm-profile.svg +1 -1
  395. package/icons/svg-pack/catalog/batten.svg +1 -1
  396. package/icons/svg-pack/catalog/brusbox.svg +1 -1
  397. package/icons/svg-pack/catalog/canopy.svg +1 -1
  398. package/icons/svg-pack/catalog/configurator.svg +1 -1
  399. package/icons/svg-pack/catalog/covering-material.svg +1 -1
  400. package/icons/svg-pack/catalog/door-accessories.svg +1 -1
  401. package/icons/svg-pack/catalog/drainage-system.svg +1 -1
  402. package/icons/svg-pack/catalog/fastener.svg +1 -1
  403. package/icons/svg-pack/catalog/finishing-materials.svg +1 -1
  404. package/icons/svg-pack/catalog/fixing-impost.svg +1 -1
  405. package/icons/svg-pack/catalog/flask.svg +1 -1
  406. package/icons/svg-pack/catalog/foam-balloon.svg +1 -1
  407. package/icons/svg-pack/catalog/foam.svg +1 -1
  408. package/icons/svg-pack/catalog/glue.svg +1 -1
  409. package/icons/svg-pack/catalog/handle.svg +1 -1
  410. package/icons/svg-pack/catalog/instrument.svg +1 -1
  411. package/icons/svg-pack/catalog/kve-profile.svg +1 -1
  412. package/icons/svg-pack/catalog/lubricants.svg +1 -1
  413. package/icons/svg-pack/catalog/mosquito-net.svg +1 -1
  414. package/icons/svg-pack/catalog/mounting-accessories.svg +1 -1
  415. package/icons/svg-pack/catalog/net-order.svg +1 -1
  416. package/icons/svg-pack/catalog/panel-1.svg +1 -1
  417. package/icons/svg-pack/catalog/panel.svg +1 -1
  418. package/icons/svg-pack/catalog/polyethylene-film.svg +1 -1
  419. package/icons/svg-pack/catalog/profile-plastic.svg +1 -1
  420. package/icons/svg-pack/catalog/promo-materials.svg +1 -1
  421. package/icons/svg-pack/catalog/psul.svg +1 -1
  422. package/icons/svg-pack/catalog/rehau-profile.svg +1 -1
  423. package/icons/svg-pack/catalog/sandwich-plastic.svg +1 -1
  424. package/icons/svg-pack/catalog/sealer.svg +1 -1
  425. package/icons/svg-pack/catalog/siding-2.svg +1 -1
  426. package/icons/svg-pack/catalog/siding.svg +1 -1
  427. package/icons/svg-pack/catalog/start-finish-profile.svg +1 -1
  428. package/icons/svg-pack/catalog/steam-waterproofing.svg +1 -1
  429. package/icons/svg-pack/catalog/stiz.svg +1 -1
  430. package/icons/svg-pack/catalog/thermometer.svg +1 -1
  431. package/icons/svg-pack/catalog/windowsill.svg +1 -1
  432. package/icons/svg-pack/chart-column-plus.svg +1 -1
  433. package/icons/svg-pack/circle-arrow-in-right.svg +1 -1
  434. package/icons/svg-pack/contacts.svg +1 -1
  435. package/icons/svg-pack/deadline.svg +1 -1
  436. package/icons/svg-pack/file-p.svg +1 -1
  437. package/icons/svg-pack/file-search.svg +1 -1
  438. package/icons/svg-pack/file-w.svg +1 -1
  439. package/icons/svg-pack/file-x.svg +1 -1
  440. package/icons/svg-pack/grid-height-arrow.svg +1 -1
  441. package/icons/svg-pack/grid-width-arrow.svg +1 -1
  442. package/icons/svg-pack/layout-list-tree.svg +1 -1
  443. package/icons/svg-pack/list.svg +1 -1
  444. package/icons/svg-pack/puzzle.svg +1 -1
  445. package/icons/svg-pack/reclamation.svg +1 -1
  446. package/icons/svg-pack/retail-store.svg +1 -1
  447. package/icons/svg-pack/send.svg +1 -1
  448. package/index.d.ts +5 -0
  449. package/loader/index.d.ts +1 -0
  450. package/loader/sc-i-loader.d.ts +9 -0
  451. package/masks/index.d.ts +8 -0
  452. package/masks/sc-account-number-mask.d.ts +5 -0
  453. package/masks/sc-bic-mask.d.ts +5 -0
  454. package/masks/sc-correspondent-account-mask.d.ts +5 -0
  455. package/masks/sc-inn-mask.d.ts +9 -0
  456. package/masks/sc-kpp-mask.d.ts +5 -0
  457. package/masks/sc-ogrn-mask.d.ts +9 -0
  458. package/masks/sc-okpo-mask.d.ts +9 -0
  459. package/masks/sc-phone-verification-code-mask.d.ts +5 -0
  460. package/methods/index.d.ts +1 -0
  461. package/methods/sc-get-current-route.d.ts +8 -0
  462. package/models/i-sc-image.d.ts +17 -0
  463. package/models/index.d.ts +1 -0
  464. package/news/index.d.ts +3 -0
  465. package/news/news-card/sc-news-card.component.d.ts +22 -0
  466. package/news/news-card-skeleton/sc-news-card-skeleton.component.d.ts +16 -0
  467. package/news/sc-news.module.d.ts +15 -0
  468. package/noindex-wrapper/directives/index.d.ts +1 -0
  469. package/noindex-wrapper/directives/sc-noindex.directive.d.ts +29 -0
  470. package/noindex-wrapper/index.d.ts +2 -0
  471. package/noindex-wrapper/sc-noindex-wrapper.component.d.ts +9 -0
  472. package/order/directives/index.d.ts +2 -0
  473. package/order/directives/sc-order-accessor.directive.d.ts +13 -0
  474. package/order/directives/sc-order-options.d.ts +14 -0
  475. package/order/draft/sc-draft.component.d.ts +63 -0
  476. package/order/index.d.ts +13 -0
  477. package/order/models/i-new-order-form.d.ts +39 -0
  478. package/order/models/sc-i-cart-items-by-direction.d.ts +25 -0
  479. package/order/order-direction-items/sc-order-direction-items.component.d.ts +29 -0
  480. package/order/order-form/sc-order-form.component.d.ts +283 -0
  481. package/order/order-form/sc-order-form.config.d.ts +20 -0
  482. package/order/order-item/sc-order-item.component.d.ts +43 -0
  483. package/order/order-items-list/sc-order-items-list.component.d.ts +113 -0
  484. package/order/order-items-list-by-directions/sc-order-items-list-by-directions.component.d.ts +58 -0
  485. package/order/order-items-list-by-stock/sc-order-items-list-by-stock.component.d.ts +55 -0
  486. package/order/sc-order.module.d.ts +18 -0
  487. package/order/sc-payment-status/sc-payment-status.component.d.ts +25 -0
  488. package/package.json +37 -35
  489. package/pages/frequently-asked-questions/sc-faq-query-params.d.ts +4 -0
  490. package/pages/frequently-asked-questions/sc-faq-question-anchor.d.ts +16 -0
  491. package/pages/frequently-asked-questions/sc-frequently-asked-questions.component.d.ts +84 -0
  492. package/pages/frequently-asked-questions/sc-get-faq-group-query-params.d.ts +10 -0
  493. package/pages/frequently-asked-questions/sc-page-size-options.d.ts +5 -0
  494. package/pages/frequently-asked-questions-group-selector/sc-frequently-asked-questions-group-selector.component.d.ts +47 -0
  495. package/pages/frequently-asked-questions-with-groups/sc-frequently-asked-questions-with-groups.component.d.ts +89 -0
  496. package/pages/index.d.ts +10 -0
  497. package/pages/news-list/sc-news-list.component.d.ts +57 -0
  498. package/pages/personal-data-processing-policy/sc-personal-data-processing-policy.component.d.ts +17 -0
  499. package/pages/privacy-policy/sc-privacy-policy.component.d.ts +17 -0
  500. package/pages/public-offer/sc-public-offer.component.d.ts +22 -0
  501. package/pagination/index.d.ts +1 -0
  502. package/pagination/sc-pagination-links/sc-pagination-links.component.d.ts +60 -0
  503. package/pipes/index.d.ts +2 -0
  504. package/pipes/sc-format-date.d.ts +20 -0
  505. package/pipes/sc-phone-format.d.ts +21 -0
  506. package/profile/index.d.ts +2 -0
  507. package/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.d.ts +126 -0
  508. package/profile/sc-profile.module.d.ts +23 -0
  509. package/providers/cleanup-recaptcha-artifacts.d.ts +7 -0
  510. package/providers/date-value-transformer/index.d.ts +3 -0
  511. package/providers/date-value-transformer/sc-date-value-transformer-types.d.ts +9 -0
  512. package/providers/date-value-transformer/sc-date-value-transformer-with-end-time.d.ts +16 -0
  513. package/providers/date-value-transformer/sc-date-value-transformer-with-start-time.d.ts +22 -0
  514. package/providers/index.d.ts +17 -0
  515. package/providers/null-on-empty-value-transformer/index.d.ts +1 -0
  516. package/providers/null-on-empty-value-transformer/sc-null-on-empty-value-transformer.d.ts +21 -0
  517. package/providers/sc-allow-select-terminated.d.ts +5 -0
  518. package/providers/sc-banner-duration.d.ts +5 -0
  519. package/providers/sc-block-incomplete-address.d.ts +5 -0
  520. package/providers/sc-country-ids.d.ts +5 -0
  521. package/providers/sc-date-formatter.d.ts +6 -0
  522. package/providers/sc-date-value-transformer.d.ts +5 -0
  523. package/providers/sc-debounce-time-default.d.ts +5 -0
  524. package/providers/sc-dialog-service.providers.d.ts +45 -0
  525. package/providers/sc-help-notification-close.d.ts +6 -0
  526. package/providers/sc-help-notification-limit.d.ts +5 -0
  527. package/providers/sc-hidden-print-elements.token.d.ts +6 -0
  528. package/providers/sc-max-files-in-form-input.d.ts +5 -0
  529. package/providers/sc-notify-when-in-stock-required-fields.d.ts +5 -0
  530. package/providers/sc-page-size-options.d.ts +5 -0
  531. package/providers/sc-user-providers.d.ts +21 -0
  532. package/providers/sc-verification-code-timeout.d.ts +5 -0
  533. package/public-api.d.ts +35 -0
  534. package/qrcode/index.d.ts +2 -0
  535. package/qrcode/qrcode-dialog/sc-qrcode-dialog.component.d.ts +37 -0
  536. package/qrcode/sc-qrcode.module.d.ts +14 -0
  537. package/release_notes.tmp +2 -16
  538. package/samples/index.d.ts +4 -0
  539. package/samples/interfaces/index.d.ts +2 -0
  540. package/samples/interfaces/sc-i-preview-sample.d.ts +56 -0
  541. package/samples/interfaces/sc-preview-mosquito-config.d.ts +62 -0
  542. package/samples/preview-sample/sc-preview-sample.component.d.ts +30 -0
  543. package/samples/sc-preview-samples-mosquito/sc-preview-samples-mosquito.component.d.ts +50 -0
  544. package/samples/sc-sample.module.d.ts +19 -0
  545. package/services/index.d.ts +2 -0
  546. package/services/print.service.d.ts +31 -0
  547. package/services/sc-help-notification.service.d.ts +70 -0
  548. package/share/index.d.ts +5 -0
  549. package/share/sc-share-dialog-data.d.ts +13 -0
  550. package/share/sc-share.service.d.ts +19 -0
  551. package/share/share-button/sc-share-button.component.d.ts +78 -0
  552. package/share/share-dialog/sc-share-dialog.component.d.ts +87 -0
  553. package/share/share-messengers-links/sc-share-messengers-links.component.d.ts +49 -0
  554. package/styles/taiga/variables.less +17 -35
  555. package/styles/tailwind/tailwind.scss +14 -56
  556. package/user/index.d.ts +5 -0
  557. package/user/reset-user-password/sc-reset-user-password.component.d.ts +46 -0
  558. package/user/sc-user.module.d.ts +24 -0
  559. package/user/update-user-info-dialog/sc-update-user-info-dialog.component.d.ts +63 -0
  560. package/user/user-managers/sc-user-managers.component.d.ts +23 -0
  561. package/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.d.ts +53 -0
  562. package/validators/index.d.ts +6 -0
  563. package/validators/sc-at-least-one-required-validator.d.ts +10 -0
  564. package/validators/sc-bic-validator.d.ts +8 -0
  565. package/validators/sc-correspondent-account-validator.d.ts +8 -0
  566. package/validators/sc-password-confirm-matching-validator.d.ts +8 -0
  567. package/validators/sc-phone-validator.d.ts +5 -0
  568. package/validators/step-validator.d.ts +7 -0
  569. package/verification/index.d.ts +2 -0
  570. package/verification/sc-verification.module.d.ts +21 -0
  571. package/verification/verification-phone-check-form/sc-verification-phone-check-form.component.d.ts +145 -0
  572. package/types/snabcentr-client-ui.d.ts +0 -6787
@@ -0,0 +1,71 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { SEARCH_TERM_PROVIDERS } from '@snabcentr/client-core';
5
+ import { TuiButton, TuiHint, TuiIcon, TuiLink } from '@taiga-ui/core';
6
+ import { TuiAvatar, TuiButtonLoading, TuiHighlight } from '@taiga-ui/kit';
7
+ import { AbstractScPriceCard } from '../../directives';
8
+ import { CostWithDiscountComponent } from '../cost-with-discount/cost-with-discount.component';
9
+ import { ScHoverImageCarouselComponent } from '../hover-image-carousel/sc-hover-image-carousel.component';
10
+ import { ScInputQuantityComponent } from '../input-quantity/sc-input-quantity.component';
11
+ import { ScPriceWarehouseStockComponent } from '../price-warehouse-stock/sc-price-warehouse-stock.component';
12
+ import { ScFavoriteButtonComponent } from '../sc-favorite-button/sc-favorite-button.component';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@angular/common";
15
+ import * as i2 from "@angular/forms";
16
+ import * as i3 from "@taiga-ui/core";
17
+ /**
18
+ * Компонент карточки товара.
19
+ */
20
+ export class ScPriceCardComponent extends AbstractScPriceCard {
21
+ constructor() {
22
+ super(...arguments);
23
+ /**
24
+ * Размер компонента.
25
+ */
26
+ this.size = 'm';
27
+ }
28
+ /**
29
+ * Возвращает размер кнопки "В корзину".
30
+ */
31
+ getToCartButtonSize() {
32
+ switch (this.size) {
33
+ case 's':
34
+ return 'xs';
35
+ case 'm':
36
+ return 's';
37
+ case 'l':
38
+ return 'm';
39
+ default:
40
+ return 's';
41
+ }
42
+ }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPriceCardComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ScPriceCardComponent, isStandalone: true, selector: "sc-price-card", inputs: { size: "size" }, host: { properties: { "attr.data-size": "this.size" } }, providers: [SEARCH_TERM_PROVIDERS], usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"product; else skeleton\"\n class=\"card-wrapper relative flex h-full w-auto flex-col rounded-xl p-1\"\n>\n <div class=\"flex min-h-8 items-center justify-between\">\n <span\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n class=\"code text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}\n </span>\n\n <div class=\"flex items-center\">\n <tui-icon\n *ngIf=\"product.isPreviouslyOrdered\"\n icon=\"@tui.history\"\n class=\"text-lg\"\n [style.color]=\"'var(--tui-text-action)'\"\n />\n <sc-favorite-button\n *ngIf=\"authStatus$ | async\"\n (clickEvent)=\"clickFavoriteEvent.emit()\"\n [showLoader]=\"favoriteShowLoader()\"\n [isFavorite]=\"product.isFavorite\"\n [disabled]=\"!!product.primaryCategory?.isFavorite\"\n />\n </div>\n </div>\n\n <sc-hover-image-carousel\n (click)=\"clickCardEvent.emit()\"\n [images]=\"!isMobile ? getCardImagePreviewList(product) : [getCardImagePreview()]\"\n class=\"cursor-pointer\"\n />\n\n <div\n class=\"flex grow flex-col justify-end\"\n [class.gap-1]=\"size === 'm'\"\n >\n <div\n class=\"flex grow flex-col\"\n [class.gap-1]=\"size === 'm'\"\n >\n <a\n tuiLink\n [attr.href]=\"href ?? null\"\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n (click)=\"$event.preventDefault(); clickCardEvent.emit()\"\n class=\"name mb-auto\"\n >\n {{ product.name }}\n </a>\n\n <span\n *ngIf=\"product.supplierSku\"\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n class=\"text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044F: {{ product.supplierSku }}\n </span>\n\n <div\n *ngIf=\"product?.pack\"\n class=\"flex items-center gap-1 text-tui-text-02\"\n >\n \u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}\n <tui-icon\n *ngIf=\"product.ignoreMinCountCheck\"\n icon=\"@tui.package\"\n [tuiHint]=\"minCountHint\"\n [tuiHintShowDelay]=\"100\"\n class=\"text-body-xl text-tui-text-01 opacity-90\"\n tuiHintDirection=\"top\"\n />\n <ng-template #minCountHint>\n \u0414\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0437\u0430\u043A\u0430\u0437 <br />\n \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u043B\u044C\u043D\u043E\u0433\u043E <br />\n \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430\n </ng-template>\n </div>\n\n <sc-cost-with-discount\n [product]=\"product\"\n [size]=\"size\"\n />\n\n <sc-price-warehouse-stock [product]=\"product\" />\n </div>\n\n <div class=\"mt-2 flex gap-2\">\n <button\n *ngIf=\"!showQuantityControl\"\n tuiButton\n (click)=\"clickAddToCartEvent.emit(product)\"\n [loading]=\"showLoader()\"\n [size]=\"getToCartButtonSize()\"\n class=\"grow !font-extrabold\"\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]=\"ScUnitsHelper.getProductMultiplicity(product)\"\n [ignoreStepValidators]=\"product.ignoreMinCountCheck\"\n [showLoader]=\"showLoader()\"\n (clickClearEvent)=\"clickClearEvent.emit(orderItem)\"\n (keydown.enter)=\"inputQuantity.nativeFocusableElement?.blur()\"\n class=\"w-full\"\n />\n <tui-avatar\n *ngIf=\"orderItem && !showQuantityControl\"\n src=\"@tui.check\"\n size=\"s\"\n [style.background]=\"'var(--tui-status-warning-pale)'\"\n [style.color]=\"'var(--tui-background-accent-1)'\"\n />\n </div>\n </div>\n</div>\n\n<ng-template #skeleton>\n <div class=\"card-wrapper relative flex h-full w-auto flex-col rounded-xl p-1\"></div>\n</ng-template>\n", styles: [":host tui-badge{--t-padding: .25rem !important}:host .name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}:host[data-size=s] .card-wrapper{font-size:.6875rem;line-height:1rem;font-weight:500}:host[data-size=s] .card-wrapper .name,:host[data-size=s] .card-wrapper .cost{font-size:.8125rem;line-height:1.25rem;font-weight:800}:host[data-size=m] .card-wrapper{font-size:.8125rem;line-height:1.25rem;font-weight:500}:host[data-size=m] .card-wrapper .name,:host[data-size=m] .card-wrapper .cost{font-size:.9375rem;line-height:1.5rem;font-weight:800}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: i3.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"], outputs: ["tuiHintVisible"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: TuiHighlight, selector: "[tuiHighlight]", inputs: ["tuiHighlight", "tuiHighlightColor"] }, { kind: "component", type: TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "component", type: TuiAvatar, selector: "tui-avatar,button[tuiAvatar],a[tuiAvatar]", inputs: ["size", "round", "src"] }, { kind: "component", type: ScHoverImageCarouselComponent, selector: "sc-hover-image-carousel", inputs: ["images", "isShowActions", "productName"] }, { kind: "component", type: CostWithDiscountComponent, selector: "sc-cost-with-discount", inputs: ["product", "size"] }, { kind: "component", type: ScPriceWarehouseStockComponent, selector: "sc-price-warehouse-stock", inputs: ["classList", "product", "withStockHint", "fromMain"] }, { kind: "component", type: ScFavoriteButtonComponent, selector: "sc-favorite-button", inputs: ["isFavorite", "showLoader", "disabled"], outputs: ["clickEvent"] }, { kind: "component", type: ScInputQuantityComponent, selector: "sc-input-quantity", inputs: ["step", "showLoader", "showCross", "ignoreStepValidators", "appearance", "isDisabled", "size"], outputs: ["clickClearEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPriceCardComponent, decorators: [{
47
+ type: Component,
48
+ args: [{ standalone: true, selector: 'sc-price-card', providers: [SEARCH_TERM_PROVIDERS], changeDetection: ChangeDetectionStrategy.OnPush, imports: [
49
+ CommonModule,
50
+ FormsModule,
51
+ ReactiveFormsModule,
52
+ TuiButton,
53
+ TuiIcon,
54
+ ...TuiHint,
55
+ TuiLink,
56
+ TuiHighlight,
57
+ TuiButtonLoading,
58
+ TuiAvatar,
59
+ ScHoverImageCarouselComponent,
60
+ CostWithDiscountComponent,
61
+ ScPriceWarehouseStockComponent,
62
+ ScFavoriteButtonComponent,
63
+ ScInputQuantityComponent,
64
+ ], template: "<div\n *ngIf=\"product; else skeleton\"\n class=\"card-wrapper relative flex h-full w-auto flex-col rounded-xl p-1\"\n>\n <div class=\"flex min-h-8 items-center justify-between\">\n <span\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n class=\"code text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}\n </span>\n\n <div class=\"flex items-center\">\n <tui-icon\n *ngIf=\"product.isPreviouslyOrdered\"\n icon=\"@tui.history\"\n class=\"text-lg\"\n [style.color]=\"'var(--tui-text-action)'\"\n />\n <sc-favorite-button\n *ngIf=\"authStatus$ | async\"\n (clickEvent)=\"clickFavoriteEvent.emit()\"\n [showLoader]=\"favoriteShowLoader()\"\n [isFavorite]=\"product.isFavorite\"\n [disabled]=\"!!product.primaryCategory?.isFavorite\"\n />\n </div>\n </div>\n\n <sc-hover-image-carousel\n (click)=\"clickCardEvent.emit()\"\n [images]=\"!isMobile ? getCardImagePreviewList(product) : [getCardImagePreview()]\"\n class=\"cursor-pointer\"\n />\n\n <div\n class=\"flex grow flex-col justify-end\"\n [class.gap-1]=\"size === 'm'\"\n >\n <div\n class=\"flex grow flex-col\"\n [class.gap-1]=\"size === 'm'\"\n >\n <a\n tuiLink\n [attr.href]=\"href ?? null\"\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n (click)=\"$event.preventDefault(); clickCardEvent.emit()\"\n class=\"name mb-auto\"\n >\n {{ product.name }}\n </a>\n\n <span\n *ngIf=\"product.supplierSku\"\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n class=\"text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044F: {{ product.supplierSku }}\n </span>\n\n <div\n *ngIf=\"product?.pack\"\n class=\"flex items-center gap-1 text-tui-text-02\"\n >\n \u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}\n <tui-icon\n *ngIf=\"product.ignoreMinCountCheck\"\n icon=\"@tui.package\"\n [tuiHint]=\"minCountHint\"\n [tuiHintShowDelay]=\"100\"\n class=\"text-body-xl text-tui-text-01 opacity-90\"\n tuiHintDirection=\"top\"\n />\n <ng-template #minCountHint>\n \u0414\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0437\u0430\u043A\u0430\u0437 <br />\n \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u043B\u044C\u043D\u043E\u0433\u043E <br />\n \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430\n </ng-template>\n </div>\n\n <sc-cost-with-discount\n [product]=\"product\"\n [size]=\"size\"\n />\n\n <sc-price-warehouse-stock [product]=\"product\" />\n </div>\n\n <div class=\"mt-2 flex gap-2\">\n <button\n *ngIf=\"!showQuantityControl\"\n tuiButton\n (click)=\"clickAddToCartEvent.emit(product)\"\n [loading]=\"showLoader()\"\n [size]=\"getToCartButtonSize()\"\n class=\"grow !font-extrabold\"\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]=\"ScUnitsHelper.getProductMultiplicity(product)\"\n [ignoreStepValidators]=\"product.ignoreMinCountCheck\"\n [showLoader]=\"showLoader()\"\n (clickClearEvent)=\"clickClearEvent.emit(orderItem)\"\n (keydown.enter)=\"inputQuantity.nativeFocusableElement?.blur()\"\n class=\"w-full\"\n />\n <tui-avatar\n *ngIf=\"orderItem && !showQuantityControl\"\n src=\"@tui.check\"\n size=\"s\"\n [style.background]=\"'var(--tui-status-warning-pale)'\"\n [style.color]=\"'var(--tui-background-accent-1)'\"\n />\n </div>\n </div>\n</div>\n\n<ng-template #skeleton>\n <div class=\"card-wrapper relative flex h-full w-auto flex-col rounded-xl p-1\"></div>\n</ng-template>\n", styles: [":host tui-badge{--t-padding: .25rem !important}:host .name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}:host[data-size=s] .card-wrapper{font-size:.6875rem;line-height:1rem;font-weight:500}:host[data-size=s] .card-wrapper .name,:host[data-size=s] .card-wrapper .cost{font-size:.8125rem;line-height:1.25rem;font-weight:800}:host[data-size=m] .card-wrapper{font-size:.8125rem;line-height:1.25rem;font-weight:500}:host[data-size=m] .card-wrapper .name,:host[data-size=m] .card-wrapper .cost{font-size:.9375rem;line-height:1.5rem;font-weight:800}\n"] }]
65
+ }], propDecorators: { size: [{
66
+ type: Input
67
+ }, {
68
+ type: HostBinding,
69
+ args: ['attr.data-size']
70
+ }] } });
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJpY2UtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9wcmljZS1jYXJkL3NjLXByaWNlLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtY2FyZC9zYy1wcmljZS1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQXNCLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUYsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDL0YsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDMUcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDekYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDN0csT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7O0FBRS9GOztHQUVHO0FBMEJILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxtQkFBbUI7SUF6QjdEOztRQTBCSTs7V0FFRztRQUdJLFNBQUksR0FBd0IsR0FBRyxDQUFDO0tBaUIxQztJQWZHOztPQUVHO0lBQ08sbUJBQW1CO1FBQ3pCLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hCLEtBQUssR0FBRztnQkFDSixPQUFPLElBQUksQ0FBQztZQUNoQixLQUFLLEdBQUc7Z0JBQ0osT0FBTyxHQUFHLENBQUM7WUFDZixLQUFLLEdBQUc7Z0JBQ0osT0FBTyxHQUFHLENBQUM7WUFDZjtnQkFDSSxPQUFPLEdBQUcsQ0FBQztRQUNuQixDQUFDO0lBQ0wsQ0FBQzsrR0F0QlEsb0JBQW9CO21HQUFwQixvQkFBb0IsK0lBcEJsQixDQUFDLHFCQUFxQixDQUFDLGlEQ3RCdEMsaTNKQStIQSxpb0JEdEdRLFlBQVksdUxBQ1osV0FBVyxzSUFDWCxtQkFBbUIsa05BQ25CLFNBQVMsb0lBQ1QsT0FBTywwUkFFUCxPQUFPLDRGQUNQLFlBQVksMEdBQ1osZ0JBQWdCLHVIQUNoQixTQUFTLHdIQUNULDZCQUE2Qix3SEFDN0IseUJBQXlCLCtGQUN6Qiw4QkFBOEIsb0lBQzlCLHlCQUF5QiwwSUFDekIsd0JBQXdCOzs0RkFHbkIsb0JBQW9CO2tCQXpCaEMsU0FBUztpQ0FDTSxJQUFJLFlBQ04sZUFBZSxhQUdkLENBQUMscUJBQXFCLENBQUMsbUJBQ2pCLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ0wsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsU0FBUzt3QkFDVCxPQUFPO3dCQUNQLEdBQUcsT0FBTzt3QkFDVixPQUFPO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixTQUFTO3dCQUNULDZCQUE2Qjt3QkFDN0IseUJBQXlCO3dCQUN6Qiw4QkFBOEI7d0JBQzlCLHlCQUF5Qjt3QkFDekIsd0JBQXdCO3FCQUMzQjs4QkFRTSxJQUFJO3NCQUZWLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTRUFSQ0hfVEVSTV9QUk9WSURFUlMgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFR1aUJ1dHRvbiwgVHVpSGludCwgVHVpSWNvbiwgVHVpTGluaywgVHVpU2l6ZUwsIFR1aVNpemVTIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgVHVpQXZhdGFyLCBUdWlCdXR0b25Mb2FkaW5nLCBUdWlIaWdobGlnaHQgfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcblxuaW1wb3J0IHsgQWJzdHJhY3RTY1ByaWNlQ2FyZCB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQ29zdFdpdGhEaXNjb3VudENvbXBvbmVudCB9IGZyb20gJy4uL2Nvc3Qtd2l0aC1kaXNjb3VudC9jb3N0LXdpdGgtZGlzY291bnQuY29tcG9uZW50JztcbmltcG9ydCB7IFNjSG92ZXJJbWFnZUNhcm91c2VsQ29tcG9uZW50IH0gZnJvbSAnLi4vaG92ZXItaW1hZ2UtY2Fyb3VzZWwvc2MtaG92ZXItaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFNjSW5wdXRRdWFudGl0eUNvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0LXF1YW50aXR5L3NjLWlucHV0LXF1YW50aXR5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY1ByaWNlV2FyZWhvdXNlU3RvY2tDb21wb25lbnQgfSBmcm9tICcuLi9wcmljZS13YXJlaG91c2Utc3RvY2svc2MtcHJpY2Utd2FyZWhvdXNlLXN0b2NrLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY0Zhdm9yaXRlQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vc2MtZmF2b3JpdGUtYnV0dG9uL3NjLWZhdm9yaXRlLWJ1dHRvbi5jb21wb25lbnQnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDQutCw0YDRgtC+0YfQutC4INGC0L7QstCw0YDQsC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3NjLXByaWNlLWNhcmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1wcmljZS1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vc2MtcHJpY2UtY2FyZC5jb21wb25lbnQuc2NzcycsXG4gICAgcHJvdmlkZXJzOiBbU0VBUkNIX1RFUk1fUFJPVklERVJTXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFR1aUJ1dHRvbixcbiAgICAgICAgVHVpSWNvbixcbiAgICAgICAgLi4uVHVpSGludCxcbiAgICAgICAgVHVpTGluayxcbiAgICAgICAgVHVpSGlnaGxpZ2h0LFxuICAgICAgICBUdWlCdXR0b25Mb2FkaW5nLFxuICAgICAgICBUdWlBdmF0YXIsXG4gICAgICAgIFNjSG92ZXJJbWFnZUNhcm91c2VsQ29tcG9uZW50LFxuICAgICAgICBDb3N0V2l0aERpc2NvdW50Q29tcG9uZW50LFxuICAgICAgICBTY1ByaWNlV2FyZWhvdXNlU3RvY2tDb21wb25lbnQsXG4gICAgICAgIFNjRmF2b3JpdGVCdXR0b25Db21wb25lbnQsXG4gICAgICAgIFNjSW5wdXRRdWFudGl0eUNvbXBvbmVudCxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTY1ByaWNlQ2FyZENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0U2NQcmljZUNhcmQge1xuICAgIC8qKlxuICAgICAqINCg0LDQt9C80LXRgCDQutC+0LzQv9C+0L3QtdC90YLQsC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIHB1YmxpYyBzaXplOiBUdWlTaXplUyB8IFR1aVNpemVMID0gJ20nO1xuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YDQsNC30LzQtdGAINC60L3QvtC/0LrQuCBcItCSINC60L7RgNC30LjQvdGDXCIuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldFRvQ2FydEJ1dHRvblNpemUoKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5zaXplKSB7XG4gICAgICAgICAgICBjYXNlICdzJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3hzJztcbiAgICAgICAgICAgIGNhc2UgJ20nOlxuICAgICAgICAgICAgICAgIHJldHVybiAncyc7XG4gICAgICAgICAgICBjYXNlICdsJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ20nO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3MnO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdlxuICAgICpuZ0lmPVwicHJvZHVjdDsgZWxzZSBza2VsZXRvblwiXG4gICAgY2xhc3M9XCJjYXJkLXdyYXBwZXIgcmVsYXRpdmUgZmxleCBoLWZ1bGwgdy1hdXRvIGZsZXgtY29sIHJvdW5kZWQteGwgcC0xXCJcbj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBtaW4taC04IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIFt0dWlIaWdobGlnaHRdPVwiKHNlYXJjaCQgfCBhc3luYykgPz8gJydcIlxuICAgICAgICAgICAgY2xhc3M9XCJjb2RlIHRleHQtdHVpLXRleHQtMDJcIlxuICAgICAgICA+XG4gICAgICAgICAgICDQkNGA0YLQuNC60YPQuzoge3sgcHJvZHVjdC5jb2RlIH19XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDx0dWktaWNvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvZHVjdC5pc1ByZXZpb3VzbHlPcmRlcmVkXCJcbiAgICAgICAgICAgICAgICBpY29uPVwiQHR1aS5oaXN0b3J5XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtbGdcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCIndmFyKC0tdHVpLXRleHQtYWN0aW9uKSdcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxzYy1mYXZvcml0ZS1idXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cImF1dGhTdGF0dXMkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgIChjbGlja0V2ZW50KT1cImNsaWNrRmF2b3JpdGVFdmVudC5lbWl0KClcIlxuICAgICAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cImZhdm9yaXRlU2hvd0xvYWRlcigpXCJcbiAgICAgICAgICAgICAgICBbaXNGYXZvcml0ZV09XCJwcm9kdWN0LmlzRmF2b3JpdGVcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhIXByb2R1Y3QucHJpbWFyeUNhdGVnb3J5Py5pc0Zhdm9yaXRlXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPHNjLWhvdmVyLWltYWdlLWNhcm91c2VsXG4gICAgICAgIChjbGljayk9XCJjbGlja0NhcmRFdmVudC5lbWl0KClcIlxuICAgICAgICBbaW1hZ2VzXT1cIiFpc01vYmlsZSA/IGdldENhcmRJbWFnZVByZXZpZXdMaXN0KHByb2R1Y3QpIDogW2dldENhcmRJbWFnZVByZXZpZXcoKV1cIlxuICAgICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyXCJcbiAgICAvPlxuXG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImZsZXggZ3JvdyBmbGV4LWNvbCBqdXN0aWZ5LWVuZFwiXG4gICAgICAgIFtjbGFzcy5nYXAtMV09XCJzaXplID09PSAnbSdcIlxuICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGdyb3cgZmxleC1jb2xcIlxuICAgICAgICAgICAgW2NsYXNzLmdhcC0xXT1cInNpemUgPT09ICdtJ1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgICAgIFthdHRyLmhyZWZdPVwiaHJlZiA/PyBudWxsXCJcbiAgICAgICAgICAgICAgICBbdHVpSGlnaGxpZ2h0XT1cIihzZWFyY2gkIHwgYXN5bmMpID8/ICcnXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IGNsaWNrQ2FyZEV2ZW50LmVtaXQoKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJuYW1lIG1iLWF1dG9cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHByb2R1Y3QubmFtZSB9fVxuICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvZHVjdC5zdXBwbGllclNrdVwiXG4gICAgICAgICAgICAgICAgW3R1aUhpZ2hsaWdodF09XCIoc2VhcmNoJCB8IGFzeW5jKSA/PyAnJ1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXR1aS10ZXh0LTAyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICDQkNGA0YLQuNC60YPQuyDQv9GA0L7QuNC30LLQvtC00LjRgtC10LvRjzoge3sgcHJvZHVjdC5zdXBwbGllclNrdSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJwcm9kdWN0Py5wYWNrXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xIHRleHQtdHVpLXRleHQtMDJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgINCd0L7RgNC80LAg0YPQv9Cw0LrQvtCy0LrQuDoge3sgcHJvZHVjdC5wYWNrIH19XG4gICAgICAgICAgICAgICAgPHR1aS1pY29uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvZHVjdC5pZ25vcmVNaW5Db3VudENoZWNrXCJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cIkB0dWkucGFja2FnZVwiXG4gICAgICAgICAgICAgICAgICAgIFt0dWlIaW50XT1cIm1pbkNvdW50SGludFwiXG4gICAgICAgICAgICAgICAgICAgIFt0dWlIaW50U2hvd0RlbGF5XT1cIjEwMFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1ib2R5LXhsIHRleHQtdHVpLXRleHQtMDEgb3BhY2l0eS05MFwiXG4gICAgICAgICAgICAgICAgICAgIHR1aUhpbnREaXJlY3Rpb249XCJ0b3BcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNtaW5Db3VudEhpbnQ+XG4gICAgICAgICAgICAgICAgICAgINCU0L7RgdGC0YPQv9C10L0g0LfQsNC60LDQtyA8YnIgLz5cbiAgICAgICAgICAgICAgICAgICAg0L/RgNC+0LjQt9Cy0L7Qu9GM0L3QvtCz0L4gPGJyIC8+XG4gICAgICAgICAgICAgICAgICAgINC60L7Qu9C40YfQtdGB0YLQstCwXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8c2MtY29zdC13aXRoLWRpc2NvdW50XG4gICAgICAgICAgICAgICAgW3Byb2R1Y3RdPVwicHJvZHVjdFwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwic2l6ZVwiXG4gICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICA8c2MtcHJpY2Utd2FyZWhvdXNlLXN0b2NrIFtwcm9kdWN0XT1cInByb2R1Y3RcIiAvPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMiBmbGV4IGdhcC0yXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhc2hvd1F1YW50aXR5Q29udHJvbFwiXG4gICAgICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrQWRkVG9DYXJ0RXZlbnQuZW1pdChwcm9kdWN0KVwiXG4gICAgICAgICAgICAgICAgW2xvYWRpbmddPVwic2hvd0xvYWRlcigpXCJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCJnZXRUb0NhcnRCdXR0b25TaXplKClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZ3JvdyAhZm9udC1leHRyYWJvbGRcIlxuICAgICAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkuc2hvcHBpbmctY2FydFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAg0JIg0LrQvtGA0LfQuNC90YNcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPHNjLWlucHV0LXF1YW50aXR5XG4gICAgICAgICAgICAgICAgI2lucHV0UXVhbnRpdHlcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dRdWFudGl0eUNvbnRyb2xcIlxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJxdWFudGl0eUNvbnRyb2xcIlxuICAgICAgICAgICAgICAgIFtzaXplXT1cInNpemVcIlxuICAgICAgICAgICAgICAgIFtzdGVwXT1cIlNjVW5pdHNIZWxwZXIuZ2V0UHJvZHVjdE11bHRpcGxpY2l0eShwcm9kdWN0KVwiXG4gICAgICAgICAgICAgICAgW2lnbm9yZVN0ZXBWYWxpZGF0b3JzXT1cInByb2R1Y3QuaWdub3JlTWluQ291bnRDaGVja1wiXG4gICAgICAgICAgICAgICAgW3Nob3dMb2FkZXJdPVwic2hvd0xvYWRlcigpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2tDbGVhckV2ZW50KT1cImNsaWNrQ2xlYXJFdmVudC5lbWl0KG9yZGVySXRlbSlcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImlucHV0UXVhbnRpdHkubmF0aXZlRm9jdXNhYmxlRWxlbWVudD8uYmx1cigpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHR1aS1hdmF0YXJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIm9yZGVySXRlbSAmJiAhc2hvd1F1YW50aXR5Q29udHJvbFwiXG4gICAgICAgICAgICAgICAgc3JjPVwiQHR1aS5jaGVja1wiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cIid2YXIoLS10dWktc3RhdHVzLXdhcm5pbmctcGFsZSknXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiJ3ZhcigtLXR1aS1iYWNrZ3JvdW5kLWFjY2VudC0xKSdcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNza2VsZXRvbj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC13cmFwcGVyIHJlbGF0aXZlIGZsZXggaC1mdWxsIHctYXV0byBmbGV4LWNvbCByb3VuZGVkLXhsIHAtMVwiPjwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,54 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, input } from '@angular/core';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { RouterModule } from '@angular/router';
5
+ import { SEARCH_TERM_PROVIDERS } from '@snabcentr/client-core';
6
+ import { TuiAutoFocus } from '@taiga-ui/cdk';
7
+ import { TuiButton, TuiHint, TuiIcon, TuiLink } from '@taiga-ui/core';
8
+ import { TuiAvatar, TuiButtonLoading, TuiHighlight } from '@taiga-ui/kit';
9
+ import { TuiTextfieldControllerModule } from '@taiga-ui/legacy';
10
+ import { AbstractScPriceCard } from '../../directives';
11
+ import { CostWithDiscountComponent } from '../cost-with-discount/cost-with-discount.component';
12
+ import { ScHoverImageCarouselComponent } from '../hover-image-carousel/sc-hover-image-carousel.component';
13
+ import { ScInputQuantityComponent } from '../input-quantity/sc-input-quantity.component';
14
+ import { ScPriceWarehouseStockComponent } from '../price-warehouse-stock/sc-price-warehouse-stock.component';
15
+ import { ScFavoriteButtonComponent } from '../sc-favorite-button/sc-favorite-button.component';
16
+ import * as i0 from "@angular/core";
17
+ import * as i1 from "@angular/common";
18
+ import * as i2 from "@angular/forms";
19
+ import * as i3 from "@taiga-ui/core";
20
+ /**
21
+ * Компонент карточки товара во всю строку.
22
+ */
23
+ export class ScPriceCardInlineComponent extends AbstractScPriceCard {
24
+ constructor() {
25
+ super(...arguments);
26
+ this.type = input('catalogItem');
27
+ }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPriceCardInlineComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: ScPriceCardInlineComponent, isStandalone: true, selector: "sc-price-card-inline", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, providers: [SEARCH_TERM_PROVIDERS], usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"product; else skeleton\"\n class=\"card-wrapper relative flex w-full gap-4 rounded-xl p-1 hover:bg-tui-background-neutral-1\"\n>\n <sc-hover-image-carousel\n (click)=\"clickCardEvent.emit()\"\n [images]=\"!isMobile ? getCardImagePreviewList(product) : [getCardImagePreview()]\"\n [isShowActions]=\"false\"\n class=\"size-24 shrink-0 cursor-pointer self-center\"\n />\n <div class=\"flex grow flex-col gap-1\">\n <div\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n class=\"text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}\n </div>\n\n <div class=\"flex flex-col gap-1\">\n <a\n tuiLink\n [attr.href]=\"href ?? null\"\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n (click)=\"$event.preventDefault(); clickCardEvent.emit()\"\n class=\"!text-body-m-bold\"\n >\n {{ product.name }}\n </a>\n\n <span\n *ngIf=\"product.supplierSku\"\n class=\"text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044F: {{ product.supplierSku }}\n </span>\n\n <div\n *ngIf=\"product?.pack\"\n class=\"flex items-center gap-1 text-tui-text-02\"\n >\n \u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}\n <tui-icon\n *ngIf=\"product.ignoreMinCountCheck\"\n icon=\"@tui.package\"\n [tuiHint]=\"minCountHint\"\n [tuiHintShowDelay]=\"100\"\n tuiHintDirection=\"top\"\n class=\"text-body-xl text-tui-text-01 opacity-90\"\n />\n <ng-template #minCountHint>\n \u0414\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0437\u0430\u043A\u0430\u0437 <br />\n \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u043B\u044C\u043D\u043E\u0433\u043E <br />\n \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430\n </ng-template>\n </div>\n\n <sc-cost-with-discount [product]=\"product\" />\n\n <sc-price-warehouse-stock [product]=\"product\" />\n </div>\n </div>\n\n <div class=\"flex w-40 shrink-0 flex-col justify-between\">\n <div class=\"flex justify-end\">\n <tui-avatar\n *ngIf=\"product.isPreviouslyOrdered\"\n src=\"@tui.history\"\n size=\"s\"\n [style.background]=\"'none'\"\n [style.color]=\"'var(--tui-text-action)'\"\n />\n <sc-favorite-button\n *ngIf=\"authStatus$ | async\"\n (clickEvent)=\"clickFavoriteEvent.emit()\"\n [showLoader]=\"favoriteShowLoader()\"\n [isFavorite]=\"product.isFavorite\"\n [disabled]=\"!!product.primaryCategory?.isFavorite\"\n />\n </div>\n <div class=\"flex gap-2\">\n <button\n *ngIf=\"!showQuantityControl\"\n tuiButton\n (click)=\"clickAddToCartEvent.emit(product)\"\n [loading]=\"showLoader()\"\n size=\"s\"\n iconStart=\"@tui.shopping-cart\"\n class=\"grow !font-extrabold\"\n >\n \u0412 \u043A\u043E\u0440\u0437\u0438\u043D\u0443\n </button>\n <sc-input-quantity\n #inputQuantity\n [tuiAutoFocus]=\"autoFocuseQuantityInput()\"\n *ngIf=\"showQuantityControl\"\n [formControl]=\"quantityControl\"\n size=\"m\"\n [step]=\"ScUnitsHelper.getProductMultiplicity(product)\"\n [ignoreStepValidators]=\"product.ignoreMinCountCheck\"\n [showLoader]=\"showLoader()\"\n (clickClearEvent)=\"clickClearEvent.emit(orderItem)\"\n (keydown.enter)=\"inputQuantity.nativeFocusableElement?.blur()\"\n class=\"w-full\"\n />\n <tui-avatar\n *ngIf=\"orderItem && !showQuantityControl\"\n src=\"@tui.check\"\n size=\"s\"\n [style.background]=\"'var(--tui-status-warning-pale)'\"\n [style.color]=\"'var(--tui-background-accent-1)'\"\n />\n </div>\n </div>\n</div>\n\n<ng-template #skeleton>\n <div class=\"tui-skeleton flex h-[8.25rem] w-full overflow-hidden rounded-xl\"></div>\n</ng-template>\n", styles: [":host tui-badge{--t-padding: .25rem !important}:host .name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}:host .card-wrapper{font-size:.8125rem;line-height:1.25rem;font-weight:500}:host .card-wrapper .name,:host .card-wrapper .cost{font-size:.9375rem;line-height:1.5rem;font-weight:800}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "ngmodule", type: TuiTextfieldControllerModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"], outputs: ["tuiHintVisible"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: TuiHighlight, selector: "[tuiHighlight]", inputs: ["tuiHighlight", "tuiHighlightColor"] }, { kind: "directive", type: TuiAutoFocus, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { kind: "component", type: TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "component", type: TuiAvatar, selector: "tui-avatar,button[tuiAvatar],a[tuiAvatar]", inputs: ["size", "round", "src"] }, { kind: "component", type: ScHoverImageCarouselComponent, selector: "sc-hover-image-carousel", inputs: ["images", "isShowActions", "productName"] }, { kind: "component", type: CostWithDiscountComponent, selector: "sc-cost-with-discount", inputs: ["product", "size"] }, { kind: "component", type: ScPriceWarehouseStockComponent, selector: "sc-price-warehouse-stock", inputs: ["classList", "product", "withStockHint", "fromMain"] }, { kind: "component", type: ScFavoriteButtonComponent, selector: "sc-favorite-button", inputs: ["isFavorite", "showLoader", "disabled"], outputs: ["clickEvent"] }, { kind: "component", type: ScInputQuantityComponent, selector: "sc-input-quantity", inputs: ["step", "showLoader", "showCross", "ignoreStepValidators", "appearance", "isDisabled", "size"], outputs: ["clickClearEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPriceCardInlineComponent, decorators: [{
32
+ type: Component,
33
+ args: [{ standalone: true, selector: 'sc-price-card-inline', providers: [SEARCH_TERM_PROVIDERS], changeDetection: ChangeDetectionStrategy.OnPush, imports: [
34
+ CommonModule,
35
+ RouterModule,
36
+ TuiButton,
37
+ TuiIcon,
38
+ TuiTextfieldControllerModule,
39
+ FormsModule,
40
+ ReactiveFormsModule,
41
+ ...TuiHint,
42
+ TuiLink,
43
+ TuiHighlight,
44
+ TuiAutoFocus,
45
+ TuiButtonLoading,
46
+ TuiAvatar,
47
+ ScHoverImageCarouselComponent,
48
+ CostWithDiscountComponent,
49
+ ScPriceWarehouseStockComponent,
50
+ ScFavoriteButtonComponent,
51
+ ScInputQuantityComponent,
52
+ ], template: "<div\n *ngIf=\"product; else skeleton\"\n class=\"card-wrapper relative flex w-full gap-4 rounded-xl p-1 hover:bg-tui-background-neutral-1\"\n>\n <sc-hover-image-carousel\n (click)=\"clickCardEvent.emit()\"\n [images]=\"!isMobile ? getCardImagePreviewList(product) : [getCardImagePreview()]\"\n [isShowActions]=\"false\"\n class=\"size-24 shrink-0 cursor-pointer self-center\"\n />\n <div class=\"flex grow flex-col gap-1\">\n <div\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n class=\"text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}\n </div>\n\n <div class=\"flex flex-col gap-1\">\n <a\n tuiLink\n [attr.href]=\"href ?? null\"\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n (click)=\"$event.preventDefault(); clickCardEvent.emit()\"\n class=\"!text-body-m-bold\"\n >\n {{ product.name }}\n </a>\n\n <span\n *ngIf=\"product.supplierSku\"\n class=\"text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044F: {{ product.supplierSku }}\n </span>\n\n <div\n *ngIf=\"product?.pack\"\n class=\"flex items-center gap-1 text-tui-text-02\"\n >\n \u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}\n <tui-icon\n *ngIf=\"product.ignoreMinCountCheck\"\n icon=\"@tui.package\"\n [tuiHint]=\"minCountHint\"\n [tuiHintShowDelay]=\"100\"\n tuiHintDirection=\"top\"\n class=\"text-body-xl text-tui-text-01 opacity-90\"\n />\n <ng-template #minCountHint>\n \u0414\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0437\u0430\u043A\u0430\u0437 <br />\n \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u043B\u044C\u043D\u043E\u0433\u043E <br />\n \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430\n </ng-template>\n </div>\n\n <sc-cost-with-discount [product]=\"product\" />\n\n <sc-price-warehouse-stock [product]=\"product\" />\n </div>\n </div>\n\n <div class=\"flex w-40 shrink-0 flex-col justify-between\">\n <div class=\"flex justify-end\">\n <tui-avatar\n *ngIf=\"product.isPreviouslyOrdered\"\n src=\"@tui.history\"\n size=\"s\"\n [style.background]=\"'none'\"\n [style.color]=\"'var(--tui-text-action)'\"\n />\n <sc-favorite-button\n *ngIf=\"authStatus$ | async\"\n (clickEvent)=\"clickFavoriteEvent.emit()\"\n [showLoader]=\"favoriteShowLoader()\"\n [isFavorite]=\"product.isFavorite\"\n [disabled]=\"!!product.primaryCategory?.isFavorite\"\n />\n </div>\n <div class=\"flex gap-2\">\n <button\n *ngIf=\"!showQuantityControl\"\n tuiButton\n (click)=\"clickAddToCartEvent.emit(product)\"\n [loading]=\"showLoader()\"\n size=\"s\"\n iconStart=\"@tui.shopping-cart\"\n class=\"grow !font-extrabold\"\n >\n \u0412 \u043A\u043E\u0440\u0437\u0438\u043D\u0443\n </button>\n <sc-input-quantity\n #inputQuantity\n [tuiAutoFocus]=\"autoFocuseQuantityInput()\"\n *ngIf=\"showQuantityControl\"\n [formControl]=\"quantityControl\"\n size=\"m\"\n [step]=\"ScUnitsHelper.getProductMultiplicity(product)\"\n [ignoreStepValidators]=\"product.ignoreMinCountCheck\"\n [showLoader]=\"showLoader()\"\n (clickClearEvent)=\"clickClearEvent.emit(orderItem)\"\n (keydown.enter)=\"inputQuantity.nativeFocusableElement?.blur()\"\n class=\"w-full\"\n />\n <tui-avatar\n *ngIf=\"orderItem && !showQuantityControl\"\n src=\"@tui.check\"\n size=\"s\"\n [style.background]=\"'var(--tui-status-warning-pale)'\"\n [style.color]=\"'var(--tui-background-accent-1)'\"\n />\n </div>\n </div>\n</div>\n\n<ng-template #skeleton>\n <div class=\"tui-skeleton flex h-[8.25rem] w-full overflow-hidden rounded-xl\"></div>\n</ng-template>\n", styles: [":host tui-badge{--t-padding: .25rem !important}:host .name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}:host .card-wrapper{font-size:.8125rem;line-height:1.25rem;font-weight:500}:host .card-wrapper .name,:host .card-wrapper .cost{font-size:.9375rem;line-height:1.5rem;font-weight:800}\n"] }]
53
+ }] });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJpY2UtY2FyZC1pbmxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtY2FyZC1pbmxpbmUvc2MtcHJpY2UtY2FyZC1pbmxpbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtY2FyZC1pbmxpbmUvc2MtcHJpY2UtY2FyZC1pbmxpbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDL0YsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDMUcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDekYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDN0csT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7O0FBRS9GOztHQUVHO0FBNkJILE1BQU0sT0FBTywwQkFBMkIsU0FBUSxtQkFBbUI7SUE1Qm5FOztRQTZCb0IsU0FBSSxHQUFHLEtBQUssQ0FBOEIsYUFBYSxDQUFDLENBQUM7S0FDNUU7K0dBRlksMEJBQTBCO21HQUExQiwwQkFBMEIsb01BdkJ4QixDQUFDLHFCQUFxQixDQUFDLGlEQ3pCdEMsZ3hKQXNIQSxnWUQxRlEsWUFBWSx1TEFDWixZQUFZLCtCQUNaLFNBQVMsb0lBQ1QsT0FBTyxvRkFDUCw0QkFBNEIsOEJBQzVCLFdBQVcsc0lBQ1gsbUJBQW1CLHVaQUVuQixPQUFPLDRGQUNQLFlBQVksMEdBQ1osWUFBWSxxRkFDWixnQkFBZ0IsdUhBQ2hCLFNBQVMsd0hBQ1QsNkJBQTZCLHdIQUM3Qix5QkFBeUIsK0ZBQ3pCLDhCQUE4QixvSUFDOUIseUJBQXlCLDBJQUN6Qix3QkFBd0I7OzRGQUduQiwwQkFBMEI7a0JBNUJ0QyxTQUFTO2lDQUNNLElBQUksWUFDTixzQkFBc0IsYUFHckIsQ0FBQyxxQkFBcUIsQ0FBQyxtQkFDakIsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDTCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCxPQUFPO3dCQUNQLDRCQUE0Qjt3QkFDNUIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLEdBQUcsT0FBTzt3QkFDVixPQUFPO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLFNBQVM7d0JBQ1QsNkJBQTZCO3dCQUM3Qix5QkFBeUI7d0JBQ3pCLDhCQUE4Qjt3QkFDOUIseUJBQXlCO3dCQUN6Qix3QkFBd0I7cUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTRUFSQ0hfVEVSTV9QUk9WSURFUlMgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFR1aUF1dG9Gb2N1cyB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgVHVpQnV0dG9uLCBUdWlIaW50LCBUdWlJY29uLCBUdWlMaW5rIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgVHVpQXZhdGFyLCBUdWlCdXR0b25Mb2FkaW5nLCBUdWlIaWdobGlnaHQgfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcbmltcG9ydCB7IFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUgfSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5JztcblxuaW1wb3J0IHsgQWJzdHJhY3RTY1ByaWNlQ2FyZCB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQ29zdFdpdGhEaXNjb3VudENvbXBvbmVudCB9IGZyb20gJy4uL2Nvc3Qtd2l0aC1kaXNjb3VudC9jb3N0LXdpdGgtZGlzY291bnQuY29tcG9uZW50JztcbmltcG9ydCB7IFNjSG92ZXJJbWFnZUNhcm91c2VsQ29tcG9uZW50IH0gZnJvbSAnLi4vaG92ZXItaW1hZ2UtY2Fyb3VzZWwvc2MtaG92ZXItaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFNjSW5wdXRRdWFudGl0eUNvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0LXF1YW50aXR5L3NjLWlucHV0LXF1YW50aXR5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY1ByaWNlV2FyZWhvdXNlU3RvY2tDb21wb25lbnQgfSBmcm9tICcuLi9wcmljZS13YXJlaG91c2Utc3RvY2svc2MtcHJpY2Utd2FyZWhvdXNlLXN0b2NrLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY0Zhdm9yaXRlQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vc2MtZmF2b3JpdGUtYnV0dG9uL3NjLWZhdm9yaXRlLWJ1dHRvbi5jb21wb25lbnQnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDQutCw0YDRgtC+0YfQutC4INGC0L7QstCw0YDQsCDQstC+INCy0YHRjiDRgdGC0YDQvtC60YMuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdzYy1wcmljZS1jYXJkLWlubGluZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLXByaWNlLWNhcmQtaW5saW5lLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vc2MtcHJpY2UtY2FyZC1pbmxpbmUuY29tcG9uZW50LnNjc3MnLFxuICAgIHByb3ZpZGVyczogW1NFQVJDSF9URVJNX1BST1ZJREVSU10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFJvdXRlck1vZHVsZSxcbiAgICAgICAgVHVpQnV0dG9uLFxuICAgICAgICBUdWlJY29uLFxuICAgICAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgLi4uVHVpSGludCxcbiAgICAgICAgVHVpTGluayxcbiAgICAgICAgVHVpSGlnaGxpZ2h0LFxuICAgICAgICBUdWlBdXRvRm9jdXMsXG4gICAgICAgIFR1aUJ1dHRvbkxvYWRpbmcsXG4gICAgICAgIFR1aUF2YXRhcixcbiAgICAgICAgU2NIb3ZlckltYWdlQ2Fyb3VzZWxDb21wb25lbnQsXG4gICAgICAgIENvc3RXaXRoRGlzY291bnRDb21wb25lbnQsXG4gICAgICAgIFNjUHJpY2VXYXJlaG91c2VTdG9ja0NvbXBvbmVudCxcbiAgICAgICAgU2NGYXZvcml0ZUJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgU2NJbnB1dFF1YW50aXR5Q29tcG9uZW50LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNjUHJpY2VDYXJkSW5saW5lQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RTY1ByaWNlQ2FyZCB7XG4gICAgcHVibGljIHJlYWRvbmx5IHR5cGUgPSBpbnB1dDwnY2F0YWxvZ0l0ZW0nIHwgJ29yZGVySXRlbSc+KCdjYXRhbG9nSXRlbScpO1xufVxuIiwiPGRpdlxuICAgICpuZ0lmPVwicHJvZHVjdDsgZWxzZSBza2VsZXRvblwiXG4gICAgY2xhc3M9XCJjYXJkLXdyYXBwZXIgcmVsYXRpdmUgZmxleCB3LWZ1bGwgZ2FwLTQgcm91bmRlZC14bCBwLTEgaG92ZXI6YmctdHVpLWJhY2tncm91bmQtbmV1dHJhbC0xXCJcbj5cbiAgICA8c2MtaG92ZXItaW1hZ2UtY2Fyb3VzZWxcbiAgICAgICAgKGNsaWNrKT1cImNsaWNrQ2FyZEV2ZW50LmVtaXQoKVwiXG4gICAgICAgIFtpbWFnZXNdPVwiIWlzTW9iaWxlID8gZ2V0Q2FyZEltYWdlUHJldmlld0xpc3QocHJvZHVjdCkgOiBbZ2V0Q2FyZEltYWdlUHJldmlldygpXVwiXG4gICAgICAgIFtpc1Nob3dBY3Rpb25zXT1cImZhbHNlXCJcbiAgICAgICAgY2xhc3M9XCJzaXplLTI0IHNocmluay0wIGN1cnNvci1wb2ludGVyIHNlbGYtY2VudGVyXCJcbiAgICAvPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdyb3cgZmxleC1jb2wgZ2FwLTFcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgW3R1aUhpZ2hsaWdodF09XCIoc2VhcmNoJCB8IGFzeW5jKSA/PyAnJ1wiXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtdHVpLXRleHQtMDJcIlxuICAgICAgICA+XG4gICAgICAgICAgICDQkNGA0YLQuNC60YPQuzoge3sgcHJvZHVjdC5jb2RlIH19XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0xXCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICBbYXR0ci5ocmVmXT1cImhyZWYgPz8gbnVsbFwiXG4gICAgICAgICAgICAgICAgW3R1aUhpZ2hsaWdodF09XCIoc2VhcmNoJCB8IGFzeW5jKSA/PyAnJ1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyBjbGlja0NhcmRFdmVudC5lbWl0KClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiIXRleHQtYm9keS1tLWJvbGRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHByb2R1Y3QubmFtZSB9fVxuICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvZHVjdC5zdXBwbGllclNrdVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXR1aS10ZXh0LTAyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICDQkNGA0YLQuNC60YPQuyDQv9GA0L7QuNC30LLQvtC00LjRgtC10LvRjzoge3sgcHJvZHVjdC5zdXBwbGllclNrdSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJwcm9kdWN0Py5wYWNrXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xIHRleHQtdHVpLXRleHQtMDJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgINCd0L7RgNC80LAg0YPQv9Cw0LrQvtCy0LrQuDoge3sgcHJvZHVjdC5wYWNrIH19XG4gICAgICAgICAgICAgICAgPHR1aS1pY29uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvZHVjdC5pZ25vcmVNaW5Db3VudENoZWNrXCJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cIkB0dWkucGFja2FnZVwiXG4gICAgICAgICAgICAgICAgICAgIFt0dWlIaW50XT1cIm1pbkNvdW50SGludFwiXG4gICAgICAgICAgICAgICAgICAgIFt0dWlIaW50U2hvd0RlbGF5XT1cIjEwMFwiXG4gICAgICAgICAgICAgICAgICAgIHR1aUhpbnREaXJlY3Rpb249XCJ0b3BcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtYm9keS14bCB0ZXh0LXR1aS10ZXh0LTAxIG9wYWNpdHktOTBcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNtaW5Db3VudEhpbnQ+XG4gICAgICAgICAgICAgICAgICAgINCU0L7RgdGC0YPQv9C10L0g0LfQsNC60LDQtyA8YnIgLz5cbiAgICAgICAgICAgICAgICAgICAg0L/RgNC+0LjQt9Cy0L7Qu9GM0L3QvtCz0L4gPGJyIC8+XG4gICAgICAgICAgICAgICAgICAgINC60L7Qu9C40YfQtdGB0YLQstCwXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8c2MtY29zdC13aXRoLWRpc2NvdW50IFtwcm9kdWN0XT1cInByb2R1Y3RcIiAvPlxuXG4gICAgICAgICAgICA8c2MtcHJpY2Utd2FyZWhvdXNlLXN0b2NrIFtwcm9kdWN0XT1cInByb2R1Y3RcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IHctNDAgc2hyaW5rLTAgZmxleC1jb2wganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktZW5kXCI+XG4gICAgICAgICAgICA8dHVpLWF2YXRhclxuICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvZHVjdC5pc1ByZXZpb3VzbHlPcmRlcmVkXCJcbiAgICAgICAgICAgICAgICBzcmM9XCJAdHVpLmhpc3RvcnlcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCInbm9uZSdcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCIndmFyKC0tdHVpLXRleHQtYWN0aW9uKSdcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxzYy1mYXZvcml0ZS1idXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cImF1dGhTdGF0dXMkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgIChjbGlja0V2ZW50KT1cImNsaWNrRmF2b3JpdGVFdmVudC5lbWl0KClcIlxuICAgICAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cImZhdm9yaXRlU2hvd0xvYWRlcigpXCJcbiAgICAgICAgICAgICAgICBbaXNGYXZvcml0ZV09XCJwcm9kdWN0LmlzRmF2b3JpdGVcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhIXByb2R1Y3QucHJpbWFyeUNhdGVnb3J5Py5pc0Zhdm9yaXRlXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMlwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIXNob3dRdWFudGl0eUNvbnRyb2xcIlxuICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGlja0FkZFRvQ2FydEV2ZW50LmVtaXQocHJvZHVjdClcIlxuICAgICAgICAgICAgICAgIFtsb2FkaW5nXT1cInNob3dMb2FkZXIoKVwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkuc2hvcHBpbmctY2FydFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJncm93ICFmb250LWV4dHJhYm9sZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAg0JIg0LrQvtGA0LfQuNC90YNcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPHNjLWlucHV0LXF1YW50aXR5XG4gICAgICAgICAgICAgICAgI2lucHV0UXVhbnRpdHlcbiAgICAgICAgICAgICAgICBbdHVpQXV0b0ZvY3VzXT1cImF1dG9Gb2N1c2VRdWFudGl0eUlucHV0KClcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd1F1YW50aXR5Q29udHJvbFwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInF1YW50aXR5Q29udHJvbFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgIFtzdGVwXT1cIlNjVW5pdHNIZWxwZXIuZ2V0UHJvZHVjdE11bHRpcGxpY2l0eShwcm9kdWN0KVwiXG4gICAgICAgICAgICAgICAgW2lnbm9yZVN0ZXBWYWxpZGF0b3JzXT1cInByb2R1Y3QuaWdub3JlTWluQ291bnRDaGVja1wiXG4gICAgICAgICAgICAgICAgW3Nob3dMb2FkZXJdPVwic2hvd0xvYWRlcigpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2tDbGVhckV2ZW50KT1cImNsaWNrQ2xlYXJFdmVudC5lbWl0KG9yZGVySXRlbSlcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImlucHV0UXVhbnRpdHkubmF0aXZlRm9jdXNhYmxlRWxlbWVudD8uYmx1cigpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHR1aS1hdmF0YXJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIm9yZGVySXRlbSAmJiAhc2hvd1F1YW50aXR5Q29udHJvbFwiXG4gICAgICAgICAgICAgICAgc3JjPVwiQHR1aS5jaGVja1wiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cIid2YXIoLS10dWktc3RhdHVzLXdhcm5pbmctcGFsZSknXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiJ3ZhcigtLXR1aS1iYWNrZ3JvdW5kLWFjY2VudC0xKSdcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNza2VsZXRvbj5cbiAgICA8ZGl2IGNsYXNzPVwidHVpLXNrZWxldG9uIGZsZXggaC1bOC4yNXJlbV0gdy1mdWxsIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLXhsXCI+PC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,144 @@
1
+ import { __decorate } from "tslib";
2
+ /* eslint-disable class-methods-use-this,lodash/prefer-lodash-method */
3
+ import { ChangeDetectionStrategy, Component, Inject, inject, Input, Optional } from '@angular/core';
4
+ import { ScNumberHelper, ScUserMetrikaGoalsEnum } from '@snabcentr/client-core';
5
+ import { TUI_IS_MOBILE, 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
+ * Признак того, отображается этот компонент на мобильном устройстве или нет.
34
+ */
35
+ this.isMobile = inject(TUI_IS_MOBILE);
36
+ /**
37
+ * {@link Observable} функция для преобразования значения number в строку в подсказке по оси X.
38
+ */
39
+ this.xStringify$ = this.months$.pipe(map((months) => ({ month, day }) =>
40
+ // eslint-disable-next-line security/detect-object-injection
41
+ `${months[month]}, ${day}`));
42
+ /**
43
+ * Относительные отступы от верхнего и нижнего края в процентах.
44
+ */
45
+ this.paddingPercent = 10;
46
+ /**
47
+ * Функция для преобразования значения number в строку в подсказке по оси Y.
48
+ *
49
+ * @param value Значение оси Y.
50
+ */
51
+ this.yStringify = (value) => `${ScNumberHelper.formatMoney(value)} ₽`;
52
+ /**
53
+ * Настройки вывода цен в рублях.
54
+ */
55
+ this.moneyFormat = ScNumberHelper.getMoneyFormat();
56
+ if (context) {
57
+ this.product = context.data.product;
58
+ }
59
+ }
60
+ /** @inheritDoc */
61
+ ngOnInit() {
62
+ this.history$ = this.catalogService.getPriceHistory$(this.product).pipe(filter(tuiIsPresent), map((history) => Object.keys(history)
63
+ // eslint-disable-next-line security/detect-object-injection
64
+ .map((item) => [TuiDay.normalizeParse(item, 'DMY'), history[item].cost])
65
+ .sort((a, b) => (a[0] > b[0] ? 1 : -1))), startWith(null), shareReplay({ bufferSize: 1, refCount: true }));
66
+ this.loadingHistory$ = this.history$.pipe(map(tuiIsFalsy));
67
+ this.priceInfo$ = this.history$.pipe(filter(tuiIsPresent), tap(() => {
68
+ this.userMetrikaService.emitUserMetrikaEvent({
69
+ target: ScUserMetrikaGoalsEnum.productPriceHistoryShow,
70
+ params: {
71
+ product_id: this.product.id,
72
+ },
73
+ });
74
+ }), filter((history) => history.length > 1), map((history) => history.map((item) => item[1])), map((values) => ({
75
+ min: Math.min(...values),
76
+ max: Math.max(...values),
77
+ })));
78
+ 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) => new TuiDayRange(range.from, range.to)));
79
+ }
80
+ /**
81
+ * Вычисляет подписи даты к оси X.
82
+ *
83
+ * @param param0 {@link TuiDayRange} Временной промежуток истории цен.
84
+ * @param param0.from {@link TuiDay} Дата начала истории цен.
85
+ * @param param0.to {@link TuiDay} Дата конца истории цен.
86
+ */
87
+ computeLabels$({ from, to }) {
88
+ return this.months$.pipe(map((months) => [
89
+ ...Array.from({ length: TuiMonth.lengthBetween(from, to) + 1 }, (_, index) => {
90
+ const previousYear = from.append({ month: index - 1 }).year; // Начальный год
91
+ const currentYear = from.append({ month: index }).year;
92
+ return `${this.isMobile || previousYear === currentYear ? '' : currentYear} ${months[from.append({ month: index }).month]}`;
93
+ }),
94
+ '',
95
+ ]));
96
+ }
97
+ /**
98
+ * Вычисляет данные для отображения на графике.
99
+ *
100
+ * @param param0 {@link TuiDayRange} Временной промежуток истории цен.
101
+ * @param param0.from {@link TuiDay} Дата начала истории цен.
102
+ * @param param0.to {@link TuiDay} Дата конца истории цен.
103
+ * @param history История цен.
104
+ */
105
+ computeValue({ from, to }, history) {
106
+ return (Array.from({ length: TuiDay.lengthBetween(from, to) + 1 })
107
+ .fill(0)
108
+ // eslint-disable-next-line unicorn/no-array-reduce
109
+ .reduce((array, _, index) => {
110
+ const data = from.append({ day: index });
111
+ return [
112
+ ...array,
113
+ [
114
+ data,
115
+ (history.find((valueHistory, indexHistory, arrayHistory) => data.daySame(valueHistory[0]) || data.dayBefore(arrayHistory[indexHistory + 1][0])) ??
116
+ history[0])[1],
117
+ ],
118
+ ];
119
+ }, []));
120
+ }
121
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPriceHistoryComponent, deps: [{ token: i1.ScCatalogService }, { token: TUI_MONTHS }, { token: i1.ScUserMetrikaService }, { token: POLYMORPHEUS_CONTEXT, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
122
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", 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\">\n \u043E\u0442 {{ priceInfo.min | tuiFormatNumber: moneyFormat | async }} \u20BD \u0434\u043E {{ priceInfo.max | tuiFormatNumber: moneyFormat | async }} \u20BD\n </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 @let height = priceInfo.max - priceInfo.min;\n <tui-line-days-chart\n *ngIf=\"(height / 100) * paddingPercent as padding\"\n [height]=\"height + (height / 100) * paddingPercent * 2\"\n [smoothingFactor]=\"10\"\n [y]=\"priceInfo.min - (height / 100) * paddingPercent\"\n [value]=\"computeValue(range, history)\"\n [xStringify]=\"xStringify$ | async\"\n [yStringify]=\"yStringify\"\n [hintContent]=\"hint\"\n class=\"chart\"\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] | tuiFormatNumber: moneyFormat | async }} \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" }, { kind: "pipe", type: i3.TuiFormatNumberPipe, name: "tuiFormatNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
123
+ }
124
+ __decorate([
125
+ tuiPure
126
+ ], ScPriceHistoryComponent.prototype, "computeLabels$", null);
127
+ __decorate([
128
+ tuiPure
129
+ ], ScPriceHistoryComponent.prototype, "computeValue", null);
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPriceHistoryComponent, decorators: [{
131
+ type: Component,
132
+ 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\">\n \u043E\u0442 {{ priceInfo.min | tuiFormatNumber: moneyFormat | async }} \u20BD \u0434\u043E {{ priceInfo.max | tuiFormatNumber: moneyFormat | async }} \u20BD\n </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 @let height = priceInfo.max - priceInfo.min;\n <tui-line-days-chart\n *ngIf=\"(height / 100) * paddingPercent as padding\"\n [height]=\"height + (height / 100) * paddingPercent * 2\"\n [smoothingFactor]=\"10\"\n [y]=\"priceInfo.min - (height / 100) * paddingPercent\"\n [value]=\"computeValue(range, history)\"\n [xStringify]=\"xStringify$ | async\"\n [yStringify]=\"yStringify\"\n [hintContent]=\"hint\"\n class=\"chart\"\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] | tuiFormatNumber: moneyFormat | async }} \u20BD</div>\n <div>{{ data[0] }}</div>\n </ng-template>\n</div>\n" }]
133
+ }], ctorParameters: () => [{ type: i1.ScCatalogService }, { type: i5.Observable, decorators: [{
134
+ type: Inject,
135
+ args: [TUI_MONTHS]
136
+ }] }, { type: i1.ScUserMetrikaService }, { type: undefined, decorators: [{
137
+ type: Optional
138
+ }, {
139
+ type: Inject,
140
+ args: [POLYMORPHEUS_CONTEXT]
141
+ }] }], propDecorators: { product: [{
142
+ type: Input
143
+ }], computeLabels$: [], computeValue: [] } });
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJpY2UtaGlzdG9yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9wcmljZS1oaXN0b3J5L3NjLXByaWNlLWhpc3RvcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtaGlzdG9yeS9zYy1wcmljZS1oaXN0b3J5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx1RUFBdUU7QUFFdkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFvQixjQUFjLEVBQWEsc0JBQXNCLEVBQXdCLE1BQU0sd0JBQXdCLENBQUM7QUFDbkksT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDbEksT0FBTyxFQUFFLFVBQVUsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxXQUFXLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQUU1RTs7R0FFRztBQU1ILE1BQU0sT0FBTyx1QkFBdUI7SUErRGhDOzs7Ozs7O09BT0c7SUFDSCxZQUNxQixjQUFnQyxFQUNaLE9BQXNDLEVBQzFELGtCQUF3QyxFQUd4QyxPQUF3RDtRQUx4RCxtQkFBYyxHQUFkLGNBQWMsQ0FBa0I7UUFDWixZQUFPLEdBQVAsT0FBTyxDQUErQjtRQUMxRCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXNCO1FBR3hDLFlBQU8sR0FBUCxPQUFPLENBQWlEO1FBaEQ3RTs7V0FFRztRQUNhLGFBQVEsR0FBWSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFMUQ7O1dBRUc7UUFDYSxnQkFBVyxHQUF5QyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDakYsR0FBRyxDQUNDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDUCxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUU7UUFDZiw0REFBNEQ7UUFDNUQsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQ3JDLENBQ0osQ0FBQztRQUVGOztXQUVHO1FBQ2EsbUJBQWMsR0FBVyxFQUFFLENBQUM7UUFFNUM7Ozs7V0FJRztRQUNhLGVBQVUsR0FBNkIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEdBQUcsY0FBYyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBRTNHOztXQUVHO1FBQ2dCLGdCQUFXLEdBQUcsY0FBYyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBa0I3RCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN4QyxDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQjtJQUNYLFFBQVE7UUFDWCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDbkUsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUNwQixHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUNaLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ2hCLDREQUE0RDthQUMzRCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQW9CLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN6RixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUM5QyxFQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDZixXQUFXLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUNqRCxDQUFDO1FBRUYsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUUzRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQ3BCLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDTCxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUM7Z0JBQ3pDLE1BQU0sRUFBRSxzQkFBc0IsQ0FBQyx1QkFBdUI7Z0JBQ3RELE1BQU0sRUFBRTtvQkFDSixVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO2lCQUM5QjthQUNKLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxFQUNGLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFDdkMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNoRCxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDYixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQztZQUN4QixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQztTQUMzQixDQUFDLENBQUMsQ0FDTixDQUFDO1FBRUYsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDNUIsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUNwQixNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQ3ZDLEdBQUcsQ0FBQyxDQUFDLEtBQXNDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFDcEcsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUF5QyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFDcEYsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUN4RCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUVJLGNBQWMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQWU7UUFDM0MsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDcEIsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztZQUNaLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDekUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0I7Z0JBQzdFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBRXZELE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLFlBQVksS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNoSSxDQUFDLENBQUM7WUFDRixFQUFFO1NBQ0wsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUVJLFlBQVksQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQWUsRUFBRSxPQUF3QztRQUNuRixPQUFPLENBQ0gsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQzthQUNyRCxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ1IsbURBQW1EO2FBQ2xELE1BQU0sQ0FBa0MsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3pELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN6QyxPQUFPO2dCQUNILEdBQUcsS0FBSztnQkFDUjtvQkFDSSxJQUFJO29CQUNKLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUMzSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3JCO2FBQ0osQ0FBQztRQUNOLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FDYixDQUFDO0lBQ04sQ0FBQzsrR0EvS1EsdUJBQXVCLGtEQXlFcEIsVUFBVSxpREFHVixvQkFBb0I7bUdBNUV2Qix1QkFBdUIsd0ZDakJwQyx3dkVBa0RBOztBRHNHVztJQUROLE9BQU87NkRBYVA7QUFXTTtJQUROLE9BQU87MkRBa0JQOzRGQS9LUSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0ksa0JBQWtCLG1CQUVYLHVCQUF1QixDQUFDLE1BQU07OzBCQTJFMUMsTUFBTTsyQkFBQyxVQUFVOzswQkFFakIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxvQkFBb0I7eUNBbkVoQixPQUFPO3NCQUF0QixLQUFLO2dCQThIQyxjQUFjLE1BdUJkLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBjbGFzcy1tZXRob2RzLXVzZS10aGlzLGxvZGFzaC9wcmVmZXItbG9kYXNoLW1ldGhvZCAqL1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNjQ2F0YWxvZ1NlcnZpY2UsIFNjTnVtYmVySGVscGVyLCBTY1Byb2R1Y3QsIFNjVXNlck1ldHJpa2FHb2Fsc0VudW0sIFNjVXNlck1ldHJpa2FTZXJ2aWNlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUVUlfSVNfTU9CSUxFLCBUdWlEYXksIFR1aURheVJhbmdlLCB0dWlJc0ZhbHN5LCB0dWlJc1ByZXNlbnQsIFR1aU1vbnRoLCB0dWlQdXJlLCBUdWlTdHJpbmdIYW5kbGVyIH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyBUVUlfTU9OVEhTLCBUdWlEaWFsb2dDb250ZXh0IH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgUE9MWU1PUlBIRVVTX0NPTlRFWFQgfSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoLCB0YXAgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiDQk9GA0LDRhNC40Log0LjRgdGC0L7RgNC40Lgg0YbQtdC9INGC0L7QstCw0YDQsCDQuNC70Lgg0YPRgdC70YPQs9C4LlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXByaWNlLWhpc3RvcnknLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1wcmljZS1oaXN0b3J5LmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NQcmljZUhpc3RvcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQstGA0LXQvNC10L3QvdC+0LPQviDQv9GA0L7QvNC10LbRg9GC0LrQsCDQuNGB0YLQvtGA0LjQuCDRhtC10L0uXG4gICAgICovXG4gICAgcHVibGljIHJhbmdlJDogT2JzZXJ2YWJsZTxUdWlEYXlSYW5nZT47XG5cbiAgICAvKipcbiAgICAgKiDQotC+0LLQsNGAINC40LvQuCDRg9GB0LvRg9Cz0LAsINC00LvRjyDQutC+0YLQvtGA0L7Qs9C+INC90LXQvtCx0YXQvtC00LjQvNC+INC+0YLQvtCx0YDQsNC30LjRgtGMINC40YHRgtC+0YDQuNGOINGG0LXQvS5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgcHJvZHVjdDogU2NQcm9kdWN0O1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40YHRgtC+0YDQuNC4INGG0LXQvS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaGlzdG9yeSQ/OiBPYnNlcnZhYmxlPFJlYWRvbmx5QXJyYXk8W1R1aURheSwgbnVtYmVyXT4gfCBudWxsPjtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGB0YLQvtGP0L3QuNGPINC30LDQs9GA0YPQt9C60Lgg0LTQsNC90L3Ri9GFINC40YHRgtC+0YDQuNC4INGG0LXQvS5cbiAgICAgKi9cbiAgICBwdWJsaWMgbG9hZGluZ0hpc3RvcnkkPzogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAgIC8qKlxuICAgICAqINCc0LDQutGB0LjQvNCw0LvRjNC90LDRjyDRhtC10L3QsCDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgcHVibGljIHByaWNlSW5mbyQ/OiBPYnNlcnZhYmxlPHtcbiAgICAgICAgbWluOiBudW1iZXI7XG4gICAgICAgIG1heDogbnVtYmVyO1xuICAgIH0+O1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0Log0YLQvtCz0L4sINC+0YLQvtCx0YDQsNC20LDQtdGC0YHRjyDRjdGC0L7RgiDQutC+0LzQv9C+0L3QtdC90YIg0L3QsCDQvNC+0LHQuNC70YzQvdC+0Lwg0YPRgdGC0YDQvtC50YHRgtCy0LUg0LjQu9C4INC90LXRgi5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgaXNNb2JpbGU6IGJvb2xlYW4gPSBpbmplY3QoVFVJX0lTX01PQklMRSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0YTRg9C90LrRhtC40Y8g0LTQu9GPINC/0YDQtdC+0LHRgNCw0LfQvtCy0LDQvdC40Y8g0LfQvdCw0YfQtdC90LjRjyBudW1iZXIg0LIg0YHRgtGA0L7QutGDINCyINC/0L7QtNGB0LrQsNC30LrQtSDQv9C+INC+0YHQuCBYLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSB4U3RyaW5naWZ5JDogT2JzZXJ2YWJsZTxUdWlTdHJpbmdIYW5kbGVyPFR1aURheT4+ID0gdGhpcy5tb250aHMkLnBpcGUoXG4gICAgICAgIG1hcChcbiAgICAgICAgICAgIChtb250aHMpID0+XG4gICAgICAgICAgICAgICAgKHsgbW9udGgsIGRheSB9KSA9PlxuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VjdXJpdHkvZGV0ZWN0LW9iamVjdC1pbmplY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgYCR7bW9udGhzW21vbnRoXX0sICR7ZGF5fWBcbiAgICAgICAgKVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiDQntGC0L3QvtGB0LjRgtC10LvRjNC90YvQtSDQvtGC0YHRgtGD0L/RiyDQvtGCINCy0LXRgNGF0L3QtdCz0L4g0Lgg0L3QuNC20L3QtdCz0L4g0LrRgNCw0Y8g0LIg0L/RgNC+0YbQtdC90YLQsNGFLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBwYWRkaW5nUGVyY2VudDogbnVtYmVyID0gMTA7XG5cbiAgICAvKipcbiAgICAgKiDQpNGD0L3QutGG0LjRjyDQtNC70Y8g0L/RgNC10L7QsdGA0LDQt9C+0LLQsNC90LjRjyDQt9C90LDRh9C10L3QuNGPIG51bWJlciDQsiDRgdGC0YDQvtC60YMg0LIg0L/QvtC00YHQutCw0LfQutC1INC/0L4g0L7RgdC4IFkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmFsdWUg0JfQvdCw0YfQtdC90LjQtSDQvtGB0LggWS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgeVN0cmluZ2lmeTogVHVpU3RyaW5nSGFuZGxlcjxudW1iZXI+ID0gKHZhbHVlKSA9PiBgJHtTY051bWJlckhlbHBlci5mb3JtYXRNb25leSh2YWx1ZSl9IOKCvWA7XG5cbiAgICAvKipcbiAgICAgKiDQndCw0YHRgtGA0L7QudC60Lgg0LLRi9Cy0L7QtNCwINGG0LXQvSDQsiDRgNGD0LHQu9GP0YUuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1vbmV5Rm9ybWF0ID0gU2NOdW1iZXJIZWxwZXIuZ2V0TW9uZXlGb3JtYXQoKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NQcmljZUhpc3RvcnlDb21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGNhdGFsb2dTZXJ2aWNlINCh0LXRgNCy0LjRgSDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINC60LDRgtCw0LvQvtCz0L7QvC5cbiAgICAgKiBAcGFyYW0gbW9udGhzJCDQn9C10YDQtdGH0LjRgdC70LXQvdC40LUg0LzQtdGB0Y/RhtC10LIuXG4gICAgICogQHBhcmFtIHVzZXJNZXRyaWthU2VydmljZSDQodC10YDQstC40YEg0LTQu9GPINGB0LHQvtGA0LAg0LzQtdGC0YDQuNC6INC+INC00LXQudGB0YLQstC40Y/RhSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuS5cbiAgICAgKiBAcGFyYW0gY29udGV4dCDQmtC+0L3RgtC10LrRgdGCINC00LjQsNC70L7Qs9C+0LLQvtCz0L4g0L7QutC90LAsINCyINC60L7RgtC+0YDQvtC8INC+0YLQutGA0YvRgiDQutC+0LzQv9C+0L3QtdC90YIuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNhdGFsb2dTZXJ2aWNlOiBTY0NhdGFsb2dTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFRVSV9NT05USFMpIHByaXZhdGUgcmVhZG9ubHkgbW9udGhzJDogT2JzZXJ2YWJsZTxyZWFkb25seSBzdHJpbmdbXT4sXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlck1ldHJpa2FTZXJ2aWNlOiBTY1VzZXJNZXRyaWthU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChQT0xZTU9SUEhFVVNfQ09OVEVYVClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb250ZXh0PzogVHVpRGlhbG9nQ29udGV4dDx2b2lkLCB7IHByb2R1Y3Q6IFNjUHJvZHVjdCB9PlxuICAgICkge1xuICAgICAgICBpZiAoY29udGV4dCkge1xuICAgICAgICAgICAgdGhpcy5wcm9kdWN0ID0gY29udGV4dC5kYXRhLnByb2R1Y3Q7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGluaGVyaXREb2MgKi9cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGlzdG9yeSQgPSB0aGlzLmNhdGFsb2dTZXJ2aWNlLmdldFByaWNlSGlzdG9yeSQodGhpcy5wcm9kdWN0KS5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKHR1aUlzUHJlc2VudCksXG4gICAgICAgICAgICBtYXAoKGhpc3RvcnkpID0+XG4gICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoaGlzdG9yeSlcbiAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlY3VyaXR5L2RldGVjdC1vYmplY3QtaW5qZWN0aW9uXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoKGl0ZW0pOiBbVHVpRGF5LCBudW1iZXJdID0+IFtUdWlEYXkubm9ybWFsaXplUGFyc2UoaXRlbSwgJ0RNWScpLCBoaXN0b3J5W2l0ZW1dLmNvc3RdKVxuICAgICAgICAgICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gKGFbMF0gPiBiWzBdID8gMSA6IC0xKSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgICAgICBzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5sb2FkaW5nSGlzdG9yeSQgPSB0aGlzLmhpc3RvcnkkLnBpcGUobWFwKHR1aUlzRmFsc3kpKTtcblxuICAgICAgICB0aGlzLnByaWNlSW5mbyQgPSB0aGlzLmhpc3RvcnkkLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIodHVpSXNQcmVzZW50KSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyTWV0cmlrYVNlcnZpY2UuZW1pdFVzZXJNZXRyaWthRXZlbnQoe1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0ucHJvZHVjdFByaWNlSGlzdG9yeVNob3csXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvZHVjdF9pZDogdGhpcy5wcm9kdWN0LmlkLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBmaWx0ZXIoKGhpc3RvcnkpID0+IGhpc3RvcnkubGVuZ3RoID4gMSksXG4gICAgICAgICAgICBtYXAoKGhpc3RvcnkpID0+IGhpc3RvcnkubWFwKChpdGVtKSA9PiBpdGVtWzFdKSksXG4gICAgICAgICAgICBtYXAoKHZhbHVlcykgPT4gKHtcbiAgICAgICAgICAgICAgICBtaW46IE1hdGgubWluKC4uLnZhbHVlcyksXG4gICAgICAgICAgICAgICAgbWF4OiBNYXRoLm1heCguLi52YWx1ZXMpLFxuICAgICAgICAgICAgfSkpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5yYW5nZSQgPSB0aGlzLmhpc3RvcnkkLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIodHVpSXNQcmVzZW50KSxcbiAgICAgICAgICAgIGZpbHRlcigoaGlzdG9yeSkgPT4gaGlzdG9yeS5sZW5ndGggPiAxKSxcbiAgICAgICAgICAgIG1hcCgodmFsdWU6IFJlYWRvbmx5QXJyYXk8W1R1aURheSwgbnVtYmVyXT4pID0+ICh7IGZyb206IHZhbHVlLmF0KDApPy5bMF0sIHRvOiB2YWx1ZS5hdCgtMSk/LlswXSB9KSksXG4gICAgICAgICAgICBmaWx0ZXIoKHJhbmdlKTogcmFuZ2UgaXMgeyBmcm9tOiBUdWlEYXk7IHRvOiBUdWlEYXkgfSA9PiAhIXJhbmdlLmZyb20gJiYgISFyYW5nZS50byksXG4gICAgICAgICAgICBtYXAoKHJhbmdlKSA9PiBuZXcgVHVpRGF5UmFuZ2UocmFuZ2UuZnJvbSwgcmFuZ2UudG8pKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0YvRh9C40YHQu9GP0LXRgiDQv9C+0LTQv9C40YHQuCDQtNCw0YLRiyDQuiDQvtGB0LggWC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXJhbTAge0BsaW5rIFR1aURheVJhbmdlfSDQktGA0LXQvNC10L3QvdC+0Lkg0L/RgNC+0LzQtdC20YPRgtC+0Log0LjRgdGC0L7RgNC40Lgg0YbQtdC9LlxuICAgICAqIEBwYXJhbSBwYXJhbTAuZnJvbSB7QGxpbmsgVHVpRGF5fSDQlNCw0YLQsCDQvdCw0YfQsNC70LAg0LjRgdGC0L7RgNC40Lgg0YbQtdC9LlxuICAgICAqIEBwYXJhbSBwYXJhbTAudG8ge0BsaW5rIFR1aURheX0g0JTQsNGC0LAg0LrQvtC90YbQsCDQuNGB0YLQvtGA0LjQuCDRhtC10L0uXG4gICAgICovXG4gICAgQHR1aVB1cmVcbiAgICBwdWJsaWMgY29tcHV0ZUxhYmVscyQoeyBmcm9tLCB0byB9OiBUdWlEYXlSYW5nZSk6IE9ic2VydmFibGU8cmVhZG9ubHkgc3RyaW5nW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubW9udGhzJC5waXBlKFxuICAgICAgICAgICAgbWFwKChtb250aHMpID0+IFtcbiAgICAgICAgICAgICAgICAuLi5BcnJheS5mcm9tKHsgbGVuZ3RoOiBUdWlNb250aC5sZW5ndGhCZXR3ZWVuKGZyb20sIHRvKSArIDEgfSwgKF8sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzWWVhciA9IGZyb20uYXBwZW5kKHsgbW9udGg6IGluZGV4IC0gMSB9KS55ZWFyOyAvLyDQndCw0YfQsNC70YzQvdGL0Lkg0LPQvtC0XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRZZWFyID0gZnJvbS5hcHBlbmQoeyBtb250aDogaW5kZXggfSkueWVhcjtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7dGhpcy5pc01vYmlsZSB8fCBwcmV2aW91c1llYXIgPT09IGN1cnJlbnRZZWFyID8gJycgOiBjdXJyZW50WWVhcn0gJHttb250aHNbZnJvbS5hcHBlbmQoeyBtb250aDogaW5kZXggfSkubW9udGhdfWA7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgJycsXG4gICAgICAgICAgICBdKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0YvRh9C40YHQu9GP0LXRgiDQtNCw0L3QvdGL0LUg0LTQu9GPINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0L3QsCDQs9GA0LDRhNC40LrQtS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXJhbTAge0BsaW5rIFR1aURheVJhbmdlfSDQktGA0LXQvNC10L3QvdC+0Lkg0L/RgNC+0LzQtdC20YPRgtC+0Log0LjRgdGC0L7RgNC40Lgg0YbQtdC9LlxuICAgICAqIEBwYXJhbSBwYXJhbTAuZnJvbSB7QGxpbmsgVHVpRGF5fSDQlNCw0YLQsCDQvdCw0YfQsNC70LAg0LjRgdGC0L7RgNC40Lgg0YbQtdC9LlxuICAgICAqIEBwYXJhbSBwYXJhbTAudG8ge0BsaW5rIFR1aURheX0g0JTQsNGC0LAg0LrQvtC90YbQsCDQuNGB0YLQvtGA0LjQuCDRhtC10L0uXG4gICAgICogQHBhcmFtIGhpc3Rvcnkg0JjRgdGC0L7RgNC40Y8g0YbQtdC9LlxuICAgICAqL1xuICAgIEB0dWlQdXJlXG4gICAgcHVibGljIGNvbXB1dGVWYWx1ZSh7IGZyb20sIHRvIH06IFR1aURheVJhbmdlLCBoaXN0b3J5OiBSZWFkb25seUFycmF5PFtUdWlEYXksIG51bWJlcl0+KTogUmVhZG9ubHlBcnJheTxbVHVpRGF5LCBudW1iZXJdPiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBBcnJheS5mcm9tKHsgbGVuZ3RoOiBUdWlEYXkubGVuZ3RoQmV0d2Vlbihmcm9tLCB0bykgKyAxIH0pXG4gICAgICAgICAgICAgICAgLmZpbGwoMClcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9uby1hcnJheS1yZWR1Y2VcbiAgICAgICAgICAgICAgICAucmVkdWNlPFJlYWRvbmx5QXJyYXk8W1R1aURheSwgbnVtYmVyXT4+KChhcnJheSwgXywgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGZyb20uYXBwZW5kKHsgZGF5OiBpbmRleCB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmFycmF5LFxuICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGhpc3RvcnkuZmluZCgodmFsdWVIaXN0b3J5LCBpbmRleEhpc3RvcnksIGFycmF5SGlzdG9yeSkgPT4gZGF0YS5kYXlTYW1lKHZhbHVlSGlzdG9yeVswXSkgfHwgZGF0YS5kYXlCZWZvcmUoYXJyYXlIaXN0b3J5W2luZGV4SGlzdG9yeSArIDFdWzBdKSkgPz9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlzdG9yeVswXSlbMV0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgIH0sIFtdKVxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjx0dWktbG9hZGVyIFtzaG93TG9hZGVyXT1cIiEhKGxvYWRpbmdIaXN0b3J5JCB8IGFzeW5jKVwiPiA8L3R1aS1sb2FkZXI+XG5cbjxkaXZcbiAgICAqbmdJZj1cIihsb2FkaW5nSGlzdG9yeSQgfCBhc3luYykgPT09IGZhbHNlXCJcbiAgICBjbGFzcz1cImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyXCJcbj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJpY2VJbmZvJCB8IGFzeW5jIGFzIHByaWNlSW5mbzsgZWxzZSBpc05vdEV4aXN0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3LTE3NCBtYi0xIHRleHQtZW5kIHRleHQtbGcgZm9udC1ib2xkXCI+XG4gICAgICAgICAgICDQvtGCIHt7IHByaWNlSW5mby5taW4gfCB0dWlGb3JtYXROdW1iZXI6IG1vbmV5Rm9ybWF0IHwgYXN5bmMgfX0g4oK9INC00L4ge3sgcHJpY2VJbmZvLm1heCB8IHR1aUZvcm1hdE51bWJlcjogbW9uZXlGb3JtYXQgfCBhc3luYyB9fSDigr1cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhpc3RvcnkkIHwgYXN5bmMgYXMgaGlzdG9yeVwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwicmFuZ2UkIHwgYXN5bmMgYXMgcmFuZ2VcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicmVsYXRpdmUgaC01NiB3LWZ1bGwgcC01IHRleHQtdHVpLXByaW1hcnlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0dWktYXhlc1xuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbXB1dGVMYWJlbHMkKHJhbmdlKSB8IGFzeW5jIGFzIGxhYmVsc1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaC1mdWxsXCJcbiAgICAgICAgICAgICAgICAgICAgW2F4aXNYTGFiZWxzXT1cImxhYmVsc1wiXG4gICAgICAgICAgICAgICAgICAgIFtob3Jpem9udGFsTGluZXNdPVwiNFwiXG4gICAgICAgICAgICAgICAgICAgIFt2ZXJ0aWNhbExpbmVzXT1cImxhYmVscy5sZW5ndGhcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQGxldCBoZWlnaHQgPSBwcmljZUluZm8ubWF4IC0gcHJpY2VJbmZvLm1pbjtcbiAgICAgICAgICAgICAgICAgICAgPHR1aS1saW5lLWRheXMtY2hhcnRcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiKGhlaWdodCAvIDEwMCkgKiBwYWRkaW5nUGVyY2VudCBhcyBwYWRkaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoZWlnaHRdPVwiaGVpZ2h0ICsgKGhlaWdodCAvIDEwMCkgKiBwYWRkaW5nUGVyY2VudCAqIDJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3Ntb290aGluZ0ZhY3Rvcl09XCIxMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbeV09XCJwcmljZUluZm8ubWluIC0gKGhlaWdodCAvIDEwMCkgKiBwYWRkaW5nUGVyY2VudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiY29tcHV0ZVZhbHVlKHJhbmdlLCBoaXN0b3J5KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbeFN0cmluZ2lmeV09XCJ4U3RyaW5naWZ5JCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt5U3RyaW5naWZ5XT1cInlTdHJpbmdpZnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2hpbnRDb250ZW50XT1cImhpbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGFydFwiXG4gICAgICAgICAgICAgICAgICAgID48L3R1aS1saW5lLWRheXMtY2hhcnQ+XG4gICAgICAgICAgICAgICAgPC90dWktYXhlcz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2lzTm90RXhpc3Q+XG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC1iYXNlIGZvbnQtYm9sZFwiPtCm0LXQvdCwINC90LAg0YLQvtCy0LDRgCDQvdC1INC40LfQvNC10L3Rj9C70LDRgdGMPC9wPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICNoaW50XG4gICAgICAgIGxldC1kYXRhXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9udC1ib2xkXCI+e3sgZGF0YVsxXSB8IHR1aUZvcm1hdE51bWJlcjogbW9uZXlGb3JtYXQgfCBhc3luYyB9fSDigr08L2Rpdj5cbiAgICAgICAgPGRpdj57eyBkYXRhWzBdIH19PC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
@@ -0,0 +1,65 @@
1
+ import { ChangeDetectionStrategy, Component, Inject, inject } from '@angular/core';
2
+ import { SC_NEXT_PAGE_PAGINATION_CLICK, SC_PRODUCT_PAGINATION_OPTIONS, ScPaginationService, ScUserMetrikaGoalsEnum, ScUserMetrikaService, } 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 "@taiga-ui/core";
7
+ import * as i2 from "@angular/common";
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.userMetrikaService = inject(ScUserMetrikaService);
25
+ /**
26
+ * Сервис пагинации.
27
+ */
28
+ this.paginationService = inject((ScPaginationService), {
29
+ skipSelf: true,
30
+ });
31
+ /**
32
+ * Дополнительные данные пагинации.
33
+ */
34
+ this.meta$ = this.paginationService.dataAccumulated$.pipe(filter(tuiIsPresent), map((pagination) => pagination.meta));
35
+ /**
36
+ * Признак, что кнопка неактивна.
37
+ */
38
+ this.disabled$ = this.paginationService.dataAccumulated$.pipe(map(tuiIsFalsy));
39
+ }
40
+ /**
41
+ * Обработка нажатия на кнопку "Показать следующие N позиций".
42
+ */
43
+ showMore() {
44
+ this.nextPageClickEvent.emit();
45
+ this.userMetrikaService.emitUserMetrikaEvent({
46
+ target: ScUserMetrikaGoalsEnum.showMoreClick,
47
+ params: {
48
+ category_id: this.options.categoryId,
49
+ },
50
+ });
51
+ }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPriceListPaginationComponent, deps: [{ token: SC_NEXT_PAGE_PAGINATION_CLICK }, { token: SC_PRODUCT_PAGINATION_OPTIONS }], target: i0.ɵɵFactoryTarget.Component }); }
53
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ScPriceListPaginationComponent, selector: "sc-price-list-pagination", ngImport: i0, template: "@let meta = meta$ | async;\n@let disabled = disabled$ | async;\n\n@if (meta) {\n @let isLastPage = meta.currentPage === meta.lastPage;\n\n @if (!isLastPage) {\n <button\n tuiButton\n (click)=\"showMore()\"\n [disabled]=\"disabled\"\n appearance=\"secondary\"\n class=\"!font-bold\"\n >\n \u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0435\u0449\u0451\n </button>\n }\n}\n", dependencies: [{ kind: "directive", type: i1.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
54
+ }
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPriceListPaginationComponent, decorators: [{
56
+ type: Component,
57
+ args: [{ selector: 'sc-price-list-pagination', changeDetection: ChangeDetectionStrategy.OnPush, template: "@let meta = meta$ | async;\n@let disabled = disabled$ | async;\n\n@if (meta) {\n @let isLastPage = meta.currentPage === meta.lastPage;\n\n @if (!isLastPage) {\n <button\n tuiButton\n (click)=\"showMore()\"\n [disabled]=\"disabled\"\n appearance=\"secondary\"\n class=\"!font-bold\"\n >\n \u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0435\u0449\u0451\n </button>\n }\n}\n" }]
58
+ }], ctorParameters: () => [{ type: i0.EventEmitter, decorators: [{
59
+ type: Inject,
60
+ args: [SC_NEXT_PAGE_PAGINATION_CLICK]
61
+ }] }, { type: undefined, decorators: [{
62
+ type: Inject,
63
+ args: [SC_PRODUCT_PAGINATION_OPTIONS]
64
+ }] }] });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJpY2UtbGlzdC1wYWdpbmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9jYXRhbG9nL3ByaWNlLWxpc3QtcGFnaW5hdGlvbi9zYy1wcmljZS1saXN0LXBhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtbGlzdC1wYWdpbmF0aW9uL3NjLXByaWNlLWxpc3QtcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFnQixNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFDSCw2QkFBNkIsRUFDN0IsNkJBQTZCLEVBRzdCLG1CQUFtQixFQUNuQixzQkFBc0IsRUFDdEIsb0JBQW9CLEdBQ3ZCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7Ozs7QUFFL0M7O0dBRUc7QUFNSCxNQUFNLE9BQU8sOEJBQThCO0lBMEJ2Qzs7Ozs7T0FLRztJQUNILFlBQzJELGtCQUFzQyxFQUN0QyxPQUEyQztRQUQzQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLFlBQU8sR0FBUCxPQUFPLENBQW9DO1FBakN0Rzs7V0FFRztRQUNjLHVCQUFrQixHQUF5QixNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUV6Rjs7V0FFRztRQUNjLHNCQUFpQixHQUFHLE1BQU0sQ0FBMEQsQ0FBQSxtQkFBdUQsQ0FBQSxFQUFFO1lBQzFKLFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ0ksVUFBSyxHQUFrQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUN0RixNQUFNLENBQUMsWUFBWSxDQUFDLEVBQ3BCLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUN2QyxDQUFDO1FBRUY7O1dBRUc7UUFDSSxjQUFTLEdBQXdCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFXbkcsQ0FBQztJQUVKOztPQUVHO0lBQ0ksUUFBUTtRQUNYLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUUvQixJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUM7WUFDekMsTUFBTSxFQUFFLHNCQUFzQixDQUFDLGFBQWE7WUFDNUMsTUFBTSxFQUFFO2dCQUNKLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVU7YUFDdkM7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDOytHQWpEUSw4QkFBOEIsa0JBaUMzQiw2QkFBNkIsYUFDN0IsNkJBQTZCO21HQWxDaEMsOEJBQThCLGdFQ3JCM0MsMGRBa0JBOzs0RkRHYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0ksMEJBQTBCLG1CQUVuQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFtQzFDLE1BQU07MkJBQUMsNkJBQTZCOzswQkFDcEMsTUFBTTsyQkFBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIFNDX05FWFRfUEFHRV9QQUdJTkFUSU9OX0NMSUNLLFxuICAgIFNDX1BST0RVQ1RfUEFHSU5BVElPTl9PUFRJT05TLFxuICAgIFNjSUNhdGVnb3J5UHJvZHVjdFBhZ2luYXRpb25QYXJhbXMsXG4gICAgU2NJUGFnaW5hdGlvbk1ldGEsXG4gICAgU2NQYWdpbmF0aW9uU2VydmljZSxcbiAgICBTY1VzZXJNZXRyaWthR29hbHNFbnVtLFxuICAgIFNjVXNlck1ldHJpa2FTZXJ2aWNlLFxufSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IHR1aUlzRmFsc3ksIHR1aUlzUHJlc2VudCB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0Y3Qu9C10LzQtdC90YLQvtCyINGD0L/RgNCw0LLQu9C10L3QuNGPINC/0LDQs9C40L3QsNGG0LjQtdC5INGB0L/QuNGB0LrQsCDRgtC+0LLQsNGA0L7Qsi5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1wcmljZS1saXN0LXBhZ2luYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1wcmljZS1saXN0LXBhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY1ByaWNlTGlzdFBhZ2luYXRpb25Db21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQtNC70Y8g0YHQsdC+0YDQsCDQvNC10YLRgNC40Log0L4g0LTQtdC50YHRgtCy0LjRj9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlck1ldHJpa2FTZXJ2aWNlOiBTY1VzZXJNZXRyaWthU2VydmljZSA9IGluamVjdChTY1VzZXJNZXRyaWthU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0L/QsNCz0LjQvdCw0YbQuNC4LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFnaW5hdGlvblNlcnZpY2UgPSBpbmplY3Q8U2NQYWdpbmF0aW9uU2VydmljZTxTY0lDYXRlZ29yeVByb2R1Y3RQYWdpbmF0aW9uUGFyYW1zPj4oU2NQYWdpbmF0aW9uU2VydmljZTxTY0lDYXRlZ29yeVByb2R1Y3RQYWdpbmF0aW9uUGFyYW1zPiwge1xuICAgICAgICBza2lwU2VsZjogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqINCU0L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0LUg0LTQsNC90L3Ri9C1INC/0LDQs9C40L3QsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgbWV0YSQ6IE9ic2VydmFibGU8U2NJUGFnaW5hdGlvbk1ldGE+ID0gdGhpcy5wYWdpbmF0aW9uU2VydmljZS5kYXRhQWNjdW11bGF0ZWQkLnBpcGUoXG4gICAgICAgIGZpbHRlcih0dWlJc1ByZXNlbnQpLFxuICAgICAgICBtYXAoKHBhZ2luYXRpb24pID0+IHBhZ2luYXRpb24ubWV0YSlcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQutC90L7Qv9C60LAg0L3QtdCw0LrRgtC40LLQvdCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBkaXNhYmxlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLnBhZ2luYXRpb25TZXJ2aWNlLmRhdGFBY2N1bXVsYXRlZCQucGlwZShtYXAodHVpSXNGYWxzeSkpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY1ByaWNlTGlzdFBhZ2luYXRpb25Db21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIG5leHRQYWdlQ2xpY2tFdmVudCDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyBcItCf0L7QutCw0LfQsNGC0Ywg0YHQu9C10LTRg9GO0YnQuNC1IE4g0L/QvtC30LjRhtC40LlcIi5cbiAgICAgKiBAcGFyYW0gb3B0aW9ucyDQl9C90LDRh9C10L3QuNGPINC/0LDQs9C40L3QsNGG0LjQuCDRgdC/0LjRgdC60LAg0YLQvtCy0LDRgNC+0LIg0LrQsNGC0LXQs9C+0YDQuNC4INC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChTQ19ORVhUX1BBR0VfUEFHSU5BVElPTl9DTElDSykgcHVibGljIHJlYWRvbmx5IG5leHRQYWdlQ2xpY2tFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+LFxuICAgICAgICBASW5qZWN0KFNDX1BST0RVQ1RfUEFHSU5BVElPTl9PUFRJT05TKSBwdWJsaWMgcmVhZG9ubHkgb3B0aW9uczogU2NJQ2F0ZWdvcnlQcm9kdWN0UGFnaW5hdGlvblBhcmFtc1xuICAgICkge31cblxuICAgIC8qKlxuICAgICAqINCe0LHRgNCw0LHQvtGC0LrQsCDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyBcItCf0L7QutCw0LfQsNGC0Ywg0YHQu9C10LTRg9GO0YnQuNC1IE4g0L/QvtC30LjRhtC40LlcIi5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvd01vcmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmV4dFBhZ2VDbGlja0V2ZW50LmVtaXQoKTtcblxuICAgICAgICB0aGlzLnVzZXJNZXRyaWthU2VydmljZS5lbWl0VXNlck1ldHJpa2FFdmVudCh7XG4gICAgICAgICAgICB0YXJnZXQ6IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0uc2hvd01vcmVDbGljayxcbiAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgIGNhdGVnb3J5X2lkOiB0aGlzLm9wdGlvbnMuY2F0ZWdvcnlJZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIkBsZXQgbWV0YSA9IG1ldGEkIHwgYXN5bmM7XG5AbGV0IGRpc2FibGVkID0gZGlzYWJsZWQkIHwgYXN5bmM7XG5cbkBpZiAobWV0YSkge1xuICAgIEBsZXQgaXNMYXN0UGFnZSA9IG1ldGEuY3VycmVudFBhZ2UgPT09IG1ldGEubGFzdFBhZ2U7XG5cbiAgICBAaWYgKCFpc0xhc3RQYWdlKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT1cInNob3dNb3JlKClcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgY2xhc3M9XCIhZm9udC1ib2xkXCJcbiAgICAgICAgPlxuICAgICAgICAgICAg0J/QvtC60LDQt9Cw0YLRjCDQtdGJ0ZFcbiAgICAgICAgPC9idXR0b24+XG4gICAgfVxufVxuIl19