@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,6 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ /**
3
+ * Токен для инъекции признака необходимости отображать фильтры для вложенных категорий.
4
+ */
5
+ export const SC_CATALOG_SHOW_PRODUCTS_RECURSIVELY = new InjectionToken('SC_CATALOG_SHOW_PRODUCTS_RECURSIVELY');
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2F0YWxvZy1zaG93LXByb2R1Y3RzLXJlY3Vyc2l2ZWx5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvY2F0YWxvZy1maWx0ZXJzL3Rva2Vucy9zYy1jYXRhbG9nLXNob3ctcHJvZHVjdHMtcmVjdXJzaXZlbHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLElBQUksY0FBYyxDQUFVLHNDQUFzQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqINCi0L7QutC10L0g0LTQu9GPINC40L3RitC10LrRhtC40Lgg0L/RgNC40LfQvdCw0LrQsCDQvdC10L7QsdGF0L7QtNC40LzQvtGB0YLQuCDQvtGC0L7QsdGA0LDQttCw0YLRjCDRhNC40LvRjNGC0YDRiyDQtNC70Y8g0LLQu9C+0LbQtdC90L3Ri9GFINC60LDRgtC10LPQvtGA0LjQuS5cbiAqL1xuZXhwb3J0IGNvbnN0IFNDX0NBVEFMT0dfU0hPV19QUk9EVUNUU19SRUNVUlNJVkVMWSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxib29sZWFuPignU0NfQ0FUQUxPR19TSE9XX1BST0RVQ1RTX1JFQ1VSU0lWRUxZJyk7XG4iXX0=
@@ -0,0 +1,102 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Inject, inject, Input, input, Output } from '@angular/core';
2
+ import { SC_PATH_IMAGE_NOT_FOUND, SC_URLS, ScAuthService } from '@snabcentr/client-core';
3
+ import { TUI_IS_MOBILE } from '@taiga-ui/cdk';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@angular/router";
7
+ import * as i3 from "@taiga-ui/kit";
8
+ import * as i4 from "@taiga-ui/cdk";
9
+ import * as i5 from "../sc-favorite-button/sc-favorite-button.component";
10
+ import * as i6 from "@snabcentr/client-core";
11
+ /**
12
+ * Карточка категории.
13
+ */
14
+ export class ScCategoryCardComponent {
15
+ /**
16
+ * Инициализирует экземпляр класса {@link CategoryCardComponent}.
17
+ *
18
+ * @param urls Список ссылок приложения.
19
+ * @param pathImageNotFound Путь до изображения 'Товар не найден'.
20
+ * @param cdr Объект для работы с обнаружением изменений.
21
+ */
22
+ constructor(urls, pathImageNotFound, cdr) {
23
+ this.urls = urls;
24
+ this.pathImageNotFound = pathImageNotFound;
25
+ this.cdr = cdr;
26
+ /**
27
+ * Размер карточки категории.
28
+ */
29
+ this.size = 'm';
30
+ // TODO: Переделать на HostBinding.
31
+ /**
32
+ * Вид отображения карточки.
33
+ */
34
+ this.appearance = input('normal');
35
+ /**
36
+ * Признак, что необходимо отобразить лоадер для кнопки избранных товаров и категорий.
37
+ */
38
+ this.favoriteShowLoader = false;
39
+ /**
40
+ * {@link Observable} изменения статуса авторизации.
41
+ */
42
+ this.authStatus$ = inject(ScAuthService).getAuthChange();
43
+ /**
44
+ * Признак наведения на карточку.
45
+ */
46
+ this.isHover = false;
47
+ /**
48
+ * Признак что категория имеет поведение наведения и скрытия названия.
49
+ */
50
+ this.enableHover = false;
51
+ /**
52
+ * Признак того, отображается этот компонент на мобильном устройстве или нет.
53
+ */
54
+ this.isMobile = inject(TUI_IS_MOBILE);
55
+ /**
56
+ * Событие нажатия на кнопку избранной категории.
57
+ */
58
+ this.clickOnFavoriteEvent = new EventEmitter();
59
+ }
60
+ /**
61
+ * Обработчик события наведения.
62
+ *
63
+ * @param isHover Признак наведения на карточку.
64
+ */
65
+ onHovered(isHover) {
66
+ this.isHover = isHover;
67
+ }
68
+ /**
69
+ * Устанавливает компонент в очередь на обновление.
70
+ *
71
+ * @deprecated
72
+ */
73
+ markForCheck() {
74
+ this.cdr.markForCheck();
75
+ }
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScCategoryCardComponent, deps: [{ token: SC_URLS }, { token: SC_PATH_IMAGE_NOT_FOUND }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
77
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ScCategoryCardComponent, selector: "sc-category-card", inputs: { category: { classPropertyName: "category", publicName: "category", isSignal: false, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, enableHover: { classPropertyName: "enableHover", publicName: "enableHover", isSignal: false, isRequired: false, transformFunction: null }, href: { classPropertyName: "href", publicName: "href", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { clickOnFavoriteEvent: "clickOnFavoriteEvent" }, host: { properties: { "attr.data-size": "this.size" } }, ngImport: i0, template: "<div class=\"relative\">\n <a\n (tuiHoveredChange)=\"onHovered($event)\"\n [routerLink]=\"href ?? null\"\n class=\"category-button flex flex-col overflow-hidden rounded-tui-radius-m border border-tui-base-04 text-center\"\n >\n <div class=\"img-wrapper w-full grow overflow-hidden\">\n <picture *ngIf=\"category\">\n @if (category.properties?.imageWebp) {\n <source\n type=\"image/webp\"\n [srcset]=\"category.properties?.imageWebp | scMediaImageTransformer\"\n />\n }\n <img\n [src]=\"category.properties?.image | scMediaImageTransformer: true\"\n [alt]=\"category.name\"\n [ngClass]=\"{ '!object-contain p-2': appearance() === 'normal' || !category.properties?.image }\"\n class=\"size-full rounded-xl object-cover\"\n />\n </picture>\n\n <!-- \u0411\u043B\u043E\u043A \u0434\u043B\u044F \u0441\u043A\u0435\u043B\u0435\u0442\u043E\u043D\u0430 \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0438. -->\n <div\n *ngIf=\"!category\"\n class=\"img-wrapper size-full bg-tui-base-02\"\n ></div>\n </div>\n\n <div class=\"name flex w-full items-center justify-center\">\n @if (category) {\n @if (enableHover && !isMobile) {\n <tui-line-clamp\n [content]=\"category.name\"\n class=\"pointer-events-none\"\n [lineHeight]=\"size === 'm' ? 26 : 24\"\n [linesLimit]=\"isHover ? 4 : 2\"\n />\n } @else {\n {{ category.name }}\n }\n } @else {\n <div class=\"skeleton-name rounded-tui-radius-s bg-tui-base-02\"></div>\n }\n </div>\n </a>\n <sc-favorite-button\n *ngIf=\"category && (authStatus$ | async)\"\n [showLoader]=\"favoriteShowLoader\"\n [isFavorite]=\"category.isFavorite\"\n (clickEvent)=\"clickOnFavoriteEvent.emit()\"\n class=\"absolute left-1 top-1\"\n />\n</div>\n", styles: [":host{--tui-duration: .15s}:host[data-size=m] a.category-button{width:100%;height:12.5rem}:host[data-size=m] a.category-button .img-wrapper{max-height:8.75rem}:host[data-size=m] a.category-button .name{padding:.25rem 1rem;margin-block:auto;font-size:.9375rem;line-height:1.5rem;font-weight:800}:host[data-size=m] a.category-button .name .skeleton-name{width:10rem;height:1rem}:host[data-size=s] a.category-button{width:100%;height:10rem}:host[data-size=s] a.category-button .img-wrapper{max-height:7rem}:host[data-size=s] a.category-button .name{padding:.25rem .5rem;margin-block:auto;font-size:.8125rem;line-height:1.25rem;font-weight:800}:host[data-size=s] a.category-button .name .skeleton-name{width:7rem;height:.75rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3.TuiLineClamp, selector: "tui-line-clamp", inputs: ["lineHeight", "content", "linesLimit"], outputs: ["overflownChange"] }, { kind: "directive", type: i4.TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "component", type: i5.ScFavoriteButtonComponent, selector: "sc-favorite-button", inputs: ["isFavorite", "showLoader", "disabled"], outputs: ["clickEvent"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.ScMediaImageTransformerPipe, name: "scMediaImageTransformer" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
78
+ }
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScCategoryCardComponent, decorators: [{
80
+ type: Component,
81
+ args: [{ selector: 'sc-category-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"relative\">\n <a\n (tuiHoveredChange)=\"onHovered($event)\"\n [routerLink]=\"href ?? null\"\n class=\"category-button flex flex-col overflow-hidden rounded-tui-radius-m border border-tui-base-04 text-center\"\n >\n <div class=\"img-wrapper w-full grow overflow-hidden\">\n <picture *ngIf=\"category\">\n @if (category.properties?.imageWebp) {\n <source\n type=\"image/webp\"\n [srcset]=\"category.properties?.imageWebp | scMediaImageTransformer\"\n />\n }\n <img\n [src]=\"category.properties?.image | scMediaImageTransformer: true\"\n [alt]=\"category.name\"\n [ngClass]=\"{ '!object-contain p-2': appearance() === 'normal' || !category.properties?.image }\"\n class=\"size-full rounded-xl object-cover\"\n />\n </picture>\n\n <!-- \u0411\u043B\u043E\u043A \u0434\u043B\u044F \u0441\u043A\u0435\u043B\u0435\u0442\u043E\u043D\u0430 \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0438. -->\n <div\n *ngIf=\"!category\"\n class=\"img-wrapper size-full bg-tui-base-02\"\n ></div>\n </div>\n\n <div class=\"name flex w-full items-center justify-center\">\n @if (category) {\n @if (enableHover && !isMobile) {\n <tui-line-clamp\n [content]=\"category.name\"\n class=\"pointer-events-none\"\n [lineHeight]=\"size === 'm' ? 26 : 24\"\n [linesLimit]=\"isHover ? 4 : 2\"\n />\n } @else {\n {{ category.name }}\n }\n } @else {\n <div class=\"skeleton-name rounded-tui-radius-s bg-tui-base-02\"></div>\n }\n </div>\n </a>\n <sc-favorite-button\n *ngIf=\"category && (authStatus$ | async)\"\n [showLoader]=\"favoriteShowLoader\"\n [isFavorite]=\"category.isFavorite\"\n (clickEvent)=\"clickOnFavoriteEvent.emit()\"\n class=\"absolute left-1 top-1\"\n />\n</div>\n", styles: [":host{--tui-duration: .15s}:host[data-size=m] a.category-button{width:100%;height:12.5rem}:host[data-size=m] a.category-button .img-wrapper{max-height:8.75rem}:host[data-size=m] a.category-button .name{padding:.25rem 1rem;margin-block:auto;font-size:.9375rem;line-height:1.5rem;font-weight:800}:host[data-size=m] a.category-button .name .skeleton-name{width:10rem;height:1rem}:host[data-size=s] a.category-button{width:100%;height:10rem}:host[data-size=s] a.category-button .img-wrapper{max-height:7rem}:host[data-size=s] a.category-button .name{padding:.25rem .5rem;margin-block:auto;font-size:.8125rem;line-height:1.25rem;font-weight:800}:host[data-size=s] a.category-button .name .skeleton-name{width:7rem;height:.75rem}\n"] }]
82
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
83
+ type: Inject,
84
+ args: [SC_URLS]
85
+ }] }, { type: undefined, decorators: [{
86
+ type: Inject,
87
+ args: [SC_PATH_IMAGE_NOT_FOUND]
88
+ }] }, { type: i0.ChangeDetectorRef }], propDecorators: { category: [{
89
+ type: Input
90
+ }], size: [{
91
+ type: Input
92
+ }, {
93
+ type: HostBinding,
94
+ args: ['attr.data-size']
95
+ }], enableHover: [{
96
+ type: Input
97
+ }], clickOnFavoriteEvent: [{
98
+ type: Output
99
+ }], href: [{
100
+ type: Input
101
+ }] } });
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2F0ZWdvcnktY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9jYXRlZ29yeS1jYXJkL3NjLWNhdGVnb3J5LWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvY2F0ZWdvcnktY2FyZC9zYy1jYXRlZ29yeS1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFlLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBdUIsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RyxPQUFPLEVBQUUsYUFBYSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFJN0Q7O0dBRUc7QUFPSCxNQUFNLE9BQU8sdUJBQXVCO0lBMERoQzs7Ozs7O09BTUc7SUFDSCxZQUNzQyxJQUFhLEVBQ0csaUJBQXlCLEVBQzFELEdBQXNCO1FBRkwsU0FBSSxHQUFKLElBQUksQ0FBUztRQUNHLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUTtRQUMxRCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQTdEM0M7O1dBRUc7UUFHSSxTQUFJLEdBQWEsR0FBRyxDQUFDO1FBRTVCLG1DQUFtQztRQUNuQzs7V0FFRztRQUNJLGVBQVUsR0FBa0QsS0FBSyxDQUFtQyxRQUFRLENBQUMsQ0FBQztRQUVySDs7V0FFRztRQUNJLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUUzQzs7V0FFRztRQUNhLGdCQUFXLEdBQXdCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUV6Rjs7V0FFRztRQUNPLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFbkM7O1dBRUc7UUFFSSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUVwQzs7V0FFRztRQUNhLGFBQVEsR0FBWSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFMUQ7O1dBRUc7UUFFSSx5QkFBb0IsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztJQW1CcEYsQ0FBQztJQUVKOzs7O09BSUc7SUFDTyxTQUFTLENBQUMsT0FBZ0I7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxZQUFZO1FBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QixDQUFDOytHQXZGUSx1QkFBdUIsa0JBa0VwQixPQUFPLGFBQ1AsdUJBQXVCO21HQW5FMUIsdUJBQXVCLHd6QkNmcEMscXdFQXNEQTs7NEZEdkNhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDSSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTs7MEJBb0UxQyxNQUFNOzJCQUFDLE9BQU87OzBCQUNkLE1BQU07MkJBQUMsdUJBQXVCO3lFQTlENUIsUUFBUTtzQkFEZCxLQUFLO2dCQVFDLElBQUk7c0JBRlYsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBNEJ0QixXQUFXO3NCQURqQixLQUFLO2dCQVlDLG9CQUFvQjtzQkFEMUIsTUFBTTtnQkFPQSxJQUFJO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5qZWN0LCBpbmplY3QsIElucHV0LCBpbnB1dCwgSW5wdXRTaWduYWwsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU0NfUEFUSF9JTUFHRV9OT1RfRk9VTkQsIFNDX1VSTFMsIFNjQXV0aFNlcnZpY2UsIFNjQ2F0ZWdvcnksIFNjSVVybHMgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFRVSV9JU19NT0JJTEUsIFR1aUxvb3NlVW5pb24gfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IFR1aVNpemVTIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqINCa0LDRgNGC0L7Rh9C60LAg0LrQsNGC0LXQs9C+0YDQuNC4LlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLWNhdGVnb3J5LWNhcmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1jYXRlZ29yeS1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zYy1jYXRlZ29yeS1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjQ2F0ZWdvcnlDYXJkQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDQlNCw0L3QvdGL0LUg0L4g0LrQsNGC0LXQs9C+0YDQuNC4LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNhdGVnb3J5PzogU2NDYXRlZ29yeTtcblxuICAgIC8qKlxuICAgICAqINCg0LDQt9C80LXRgCDQutCw0YDRgtC+0YfQutC4INC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIHB1YmxpYyBzaXplOiBUdWlTaXplUyA9ICdtJztcblxuICAgIC8vIFRPRE86INCf0LXRgNC10LTQtdC70LDRgtGMINC90LAgSG9zdEJpbmRpbmcuXG4gICAgLyoqXG4gICAgICog0JLQuNC0INC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0LrQsNGA0YLQvtGH0LrQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXBwZWFyYW5jZTogSW5wdXRTaWduYWw8VHVpTG9vc2VVbmlvbjwncm9vdCcgfCAnbm9ybWFsJz4+ID0gaW5wdXQ8VHVpTG9vc2VVbmlvbjwncm9vdCcgfCAnbm9ybWFsJz4+KCdub3JtYWwnKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0L7RgtC+0LHRgNCw0LfQuNGC0Ywg0LvQvtCw0LTQtdGAINC00LvRjyDQutC90L7Qv9C60Lgg0LjQt9Cx0YDQsNC90L3Ri9GFINGC0L7QstCw0YDQvtCyINC4INC60LDRgtC10LPQvtGA0LjQuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZmF2b3JpdGVTaG93TG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGB0YLQsNGC0YPRgdCwINCw0LLRgtC+0YDQuNC30LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF1dGhTdGF0dXMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gaW5qZWN0KFNjQXV0aFNlcnZpY2UpLmdldEF1dGhDaGFuZ2UoKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6INC90LDQstC10LTQtdC90LjRjyDQvdCwINC60LDRgNGC0L7Rh9C60YMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGlzSG92ZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6INGH0YLQviDQutCw0YLQtdCz0L7RgNC40Y8g0LjQvNC10LXRgiDQv9C+0LLQtdC00LXQvdC40LUg0L3QsNCy0LXQtNC10L3QuNGPINC4INGB0LrRgNGL0YLQuNGPINC90LDQt9Cy0LDQvdC40Y8uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW5hYmxlSG92ZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6INGC0L7Qs9C+LCDQvtGC0L7QsdGA0LDQttCw0LXRgtGB0Y8g0Y3RgtC+0YIg0LrQvtC80L/QvtC90LXQvdGCINC90LAg0LzQvtCx0LjQu9GM0L3QvtC8INGD0YHRgtGA0L7QudGB0YLQstC1INC40LvQuCDQvdC10YIuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGlzTW9iaWxlOiBib29sZWFuID0gaW5qZWN0KFRVSV9JU19NT0JJTEUpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0LjQt9Cx0YDQsNC90L3QvtC5INC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2xpY2tPbkZhdm9yaXRlRXZlbnQ6IEV2ZW50RW1pdHRlcjxTY0NhdGVnb3J5PiA9IG5ldyBFdmVudEVtaXR0ZXI8U2NDYXRlZ29yeT4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0YHRi9C70LrQsCDQvdCwINGB0YLRgNCw0L3QuNGG0YMg0LrQsNGC0LXQs9C+0YDQuNC4LiDQmNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0LjQvNC10L3QvdC+IGBocmVmYCwg0YLQsNC6INC60LDQuiDQvtGB0YLQsNC90L7QstC40YLRjCDRgdC+0LHRi9GC0LjQtSDQutC70LjQutCwINC00LvRjyBgcm91dGVyTGlua2Ag0L3QtSDQstGL0YjQu9C+LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhyZWY/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIENhdGVnb3J5Q2FyZENvbXBvbmVudH0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdXJscyDQodC/0LjRgdC+0Log0YHRgdGL0LvQvtC6INC/0YDQuNC70L7QttC10L3QuNGPLlxuICAgICAqIEBwYXJhbSBwYXRoSW1hZ2VOb3RGb3VuZCDQn9GD0YLRjCDQtNC+INC40LfQvtCx0YDQsNC20LXQvdC40Y8gJ9Ci0L7QstCw0YAg0L3QtSDQvdCw0LnQtNC10L0nLlxuICAgICAqIEBwYXJhbSBjZHIg0J7QsdGK0LXQutGCINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEg0L7QsdC90LDRgNGD0LbQtdC90LjQtdC8INC40LfQvNC10L3QtdC90LjQuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoU0NfVVJMUykgcHJpdmF0ZSByZWFkb25seSB1cmxzOiBTY0lVcmxzLFxuICAgICAgICBASW5qZWN0KFNDX1BBVEhfSU1BR0VfTk9UX0ZPVU5EKSBwcml2YXRlIHJlYWRvbmx5IHBhdGhJbWFnZU5vdEZvdW5kOiBzdHJpbmcsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge31cblxuICAgIC8qKlxuICAgICAqINCe0LHRgNCw0LHQvtGC0YfQuNC6INGB0L7QsdGL0YLQuNGPINC90LDQstC10LTQtdC90LjRjy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpc0hvdmVyINCf0YDQuNC30L3QsNC6INC90LDQstC10LTQtdC90LjRjyDQvdCwINC60LDRgNGC0L7Rh9C60YMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIG9uSG92ZXJlZChpc0hvdmVyOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNIb3ZlciA9IGlzSG92ZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0LrQvtC80L/QvtC90LXQvdGCINCyINC+0YfQtdGA0LXQtNGMINC90LAg0L7QsdC90L7QstC70LXQvdC40LUuXG4gICAgICpcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqL1xuICAgIHB1YmxpYyBtYXJrRm9yQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyZWxhdGl2ZVwiPlxuICAgIDxhXG4gICAgICAgICh0dWlIb3ZlcmVkQ2hhbmdlKT1cIm9uSG92ZXJlZCgkZXZlbnQpXCJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwiaHJlZiA/PyBudWxsXCJcbiAgICAgICAgY2xhc3M9XCJjYXRlZ29yeS1idXR0b24gZmxleCBmbGV4LWNvbCBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC10dWktcmFkaXVzLW0gYm9yZGVyIGJvcmRlci10dWktYmFzZS0wNCB0ZXh0LWNlbnRlclwiXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW1nLXdyYXBwZXIgdy1mdWxsIGdyb3cgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAgICA8cGljdHVyZSAqbmdJZj1cImNhdGVnb3J5XCI+XG4gICAgICAgICAgICAgICAgQGlmIChjYXRlZ29yeS5wcm9wZXJ0aWVzPy5pbWFnZVdlYnApIHtcbiAgICAgICAgICAgICAgICAgICAgPHNvdXJjZVxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImltYWdlL3dlYnBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NyY3NldF09XCJjYXRlZ29yeS5wcm9wZXJ0aWVzPy5pbWFnZVdlYnAgfCBzY01lZGlhSW1hZ2VUcmFuc2Zvcm1lclwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJjYXRlZ29yeS5wcm9wZXJ0aWVzPy5pbWFnZSB8IHNjTWVkaWFJbWFnZVRyYW5zZm9ybWVyOiB0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJjYXRlZ29yeS5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnIW9iamVjdC1jb250YWluIHAtMic6IGFwcGVhcmFuY2UoKSA9PT0gJ25vcm1hbCcgfHwgIWNhdGVnb3J5LnByb3BlcnRpZXM/LmltYWdlIH1cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNpemUtZnVsbCByb3VuZGVkLXhsIG9iamVjdC1jb3ZlclwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvcGljdHVyZT5cblxuICAgICAgICAgICAgPCEtLSDQkdC70L7QuiDQtNC70Y8g0YHQutC10LvQtdGC0L7QvdCwINC60LDRgNGC0L7Rh9C60LguIC0tPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIWNhdGVnb3J5XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImltZy13cmFwcGVyIHNpemUtZnVsbCBiZy10dWktYmFzZS0wMlwiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lIGZsZXggdy1mdWxsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICAgICAgQGlmIChjYXRlZ29yeSkge1xuICAgICAgICAgICAgICAgIEBpZiAoZW5hYmxlSG92ZXIgJiYgIWlzTW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgIDx0dWktbGluZS1jbGFtcFxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRlbnRdPVwiY2F0ZWdvcnkubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBvaW50ZXItZXZlbnRzLW5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmVIZWlnaHRdPVwic2l6ZSA9PT0gJ20nID8gMjYgOiAyNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGluZXNMaW1pdF09XCJpc0hvdmVyID8gNCA6IDJcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB7eyBjYXRlZ29yeS5uYW1lIH19XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNrZWxldG9uLW5hbWUgcm91bmRlZC10dWktcmFkaXVzLXMgYmctdHVpLWJhc2UtMDJcIj48L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9hPlxuICAgIDxzYy1mYXZvcml0ZS1idXR0b25cbiAgICAgICAgKm5nSWY9XCJjYXRlZ29yeSAmJiAoYXV0aFN0YXR1cyQgfCBhc3luYylcIlxuICAgICAgICBbc2hvd0xvYWRlcl09XCJmYXZvcml0ZVNob3dMb2FkZXJcIlxuICAgICAgICBbaXNGYXZvcml0ZV09XCJjYXRlZ29yeS5pc0Zhdm9yaXRlXCJcbiAgICAgICAgKGNsaWNrRXZlbnQpPVwiY2xpY2tPbkZhdm9yaXRlRXZlbnQuZW1pdCgpXCJcbiAgICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBsZWZ0LTEgdG9wLTFcIlxuICAgIC8+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,38 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, HostBinding, inject, Input } from '@angular/core';
3
+ import { ScWarehouseService } from '@snabcentr/client-core';
4
+ import { TuiHint } from '@taiga-ui/core';
5
+ import { TuiBadge } from '@taiga-ui/kit';
6
+ import { ScFormatDatePipe } from '../../pipes';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/common";
9
+ import * as i2 from "@taiga-ui/core";
10
+ /**
11
+ * Компонент центы товара с отображением скидки.
12
+ */
13
+ export class CostWithDiscountComponent {
14
+ constructor() {
15
+ /**
16
+ * {@link Observable} изменения выбранного склада.
17
+ */
18
+ this.warehouseSelect$ = inject(ScWarehouseService).getWarehouseSelectChange$();
19
+ /**
20
+ * Размер компонента.
21
+ */
22
+ this.size = 'm';
23
+ }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CostWithDiscountComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CostWithDiscountComponent, isStandalone: true, selector: "sc-cost-with-discount", inputs: { product: "product", size: "size" }, host: { properties: { "attr.data-size": "this.size" } }, ngImport: i0, template: "@if (product) {\n <div\n *ngIf=\"warehouseSelect$ | async as warehouseSelect\"\n class=\"flex flex-wrap items-center gap-x-2 gap-y-1\"\n >\n <div class=\"flex flex-wrap items-center gap-x-2 gap-y-1\">\n <span\n [class.text-tui-text-02]=\"!product.isWarehouseStockExist(warehouseSelect.id)\"\n class=\"cost\"\n >\n {{ product.costRubString }}\n </span>\n\n <tui-badge\n *ngIf=\"product.discount as discount\"\n size=\"m\"\n [style.background]=\"'var(--tui-status-positive)'\"\n [tuiHint]=\"discountHint\"\n [tuiHintShowDelay]=\"100\"\n tuiHintDirection=\"top\"\n class=\"text-body-xs\"\n >\n <tui-badge\n *ngIf=\"product.discount as discount\"\n size=\"s\"\n [style.background]=\"'var(--tui-background-base)'\"\n class=\"text-body-xs-bold text-tui-text-02\"\n >\n {{ discount.percent }}%\n </tui-badge>\n\n @let expiredAt = product.discount.expiredAt | scFormatDate;\n\n <div class=\"flex gap-0.5\">\n <p class=\"flex line-through\">{{ product.discountCostString }}</p>\n <div *ngIf=\"expiredAt\">\u0434\u043E {{ expiredAt.substring(0, 5) }}</div>\n </div>\n <ng-template #discountHint>\n <div class=\"font-bold\">{{ product.discount.name }}</div>\n <div *ngIf=\"expiredAt\">\u0414\u0430\u0442\u0430 \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F: {{ expiredAt }}</div>\n </ng-template>\n </tui-badge>\n </div>\n\n <span\n *ngIf=\"!product.priceInRub\"\n class=\"font-extrabold text-tui-text-02\"\n >\n {{ product.costString }}\n </span>\n </div>\n}\n", styles: [":host tui-badge{--t-padding: .25rem !important}:host[data-size=s]{font-size:.6875rem;line-height:1rem;font-weight:500}:host[data-size=s] .cost{font-size:.8125rem;line-height:1.25rem;font-weight:800}:host[data-size=m],:host[data-size=l]{font-size:.8125rem;line-height:1.25rem;font-weight:500}:host[data-size=m] .cost,:host[data-size=l] .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: "directive", type: TuiBadge, selector: "tui-badge,[tuiBadge]", inputs: ["size"] }, { kind: "directive", type: i2.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"], outputs: ["tuiHintVisible"] }, { kind: "pipe", type: ScFormatDatePipe, name: "scFormatDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CostWithDiscountComponent, decorators: [{
28
+ type: Component,
29
+ args: [{ standalone: true, selector: 'sc-cost-with-discount', imports: [CommonModule, TuiBadge, ...TuiHint, ScFormatDatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (product) {\n <div\n *ngIf=\"warehouseSelect$ | async as warehouseSelect\"\n class=\"flex flex-wrap items-center gap-x-2 gap-y-1\"\n >\n <div class=\"flex flex-wrap items-center gap-x-2 gap-y-1\">\n <span\n [class.text-tui-text-02]=\"!product.isWarehouseStockExist(warehouseSelect.id)\"\n class=\"cost\"\n >\n {{ product.costRubString }}\n </span>\n\n <tui-badge\n *ngIf=\"product.discount as discount\"\n size=\"m\"\n [style.background]=\"'var(--tui-status-positive)'\"\n [tuiHint]=\"discountHint\"\n [tuiHintShowDelay]=\"100\"\n tuiHintDirection=\"top\"\n class=\"text-body-xs\"\n >\n <tui-badge\n *ngIf=\"product.discount as discount\"\n size=\"s\"\n [style.background]=\"'var(--tui-background-base)'\"\n class=\"text-body-xs-bold text-tui-text-02\"\n >\n {{ discount.percent }}%\n </tui-badge>\n\n @let expiredAt = product.discount.expiredAt | scFormatDate;\n\n <div class=\"flex gap-0.5\">\n <p class=\"flex line-through\">{{ product.discountCostString }}</p>\n <div *ngIf=\"expiredAt\">\u0434\u043E {{ expiredAt.substring(0, 5) }}</div>\n </div>\n <ng-template #discountHint>\n <div class=\"font-bold\">{{ product.discount.name }}</div>\n <div *ngIf=\"expiredAt\">\u0414\u0430\u0442\u0430 \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F: {{ expiredAt }}</div>\n </ng-template>\n </tui-badge>\n </div>\n\n <span\n *ngIf=\"!product.priceInRub\"\n class=\"font-extrabold text-tui-text-02\"\n >\n {{ product.costString }}\n </span>\n </div>\n}\n", styles: [":host tui-badge{--t-padding: .25rem !important}:host[data-size=s]{font-size:.6875rem;line-height:1rem;font-weight:500}:host[data-size=s] .cost{font-size:.8125rem;line-height:1.25rem;font-weight:800}:host[data-size=m],:host[data-size=l]{font-size:.8125rem;line-height:1.25rem;font-weight:500}:host[data-size=m] .cost,:host[data-size=l] .cost{font-size:.9375rem;line-height:1.5rem;font-weight:800}\n"] }]
30
+ }], propDecorators: { product: [{
31
+ type: Input
32
+ }], size: [{
33
+ type: Input
34
+ }, {
35
+ type: HostBinding,
36
+ args: ['attr.data-size']
37
+ }] } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zdC13aXRoLWRpc2NvdW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9jYXRhbG9nL2Nvc3Qtd2l0aC1kaXNjb3VudC9jb3N0LXdpdGgtZGlzY291bnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvY29zdC13aXRoLWRpc2NvdW50L2Nvc3Qtd2l0aC1kaXNjb3VudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQTJCLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckYsT0FBTyxFQUFFLE9BQU8sRUFBc0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQUUvQzs7R0FFRztBQVNILE1BQU0sT0FBTyx5QkFBeUI7SUFSdEM7UUFTSTs7V0FFRztRQUNhLHFCQUFnQixHQUFvQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBUTNIOztXQUVHO1FBR0ksU0FBSSxHQUF3QixHQUFHLENBQUM7S0FDMUM7K0dBbEJZLHlCQUF5QjttR0FBekIseUJBQXlCLHdMQ3BCdEMsMGdFQW9EQSxzY0RyQ2MsWUFBWSx3TEFBRSxRQUFRLG1SQUFjLGdCQUFnQjs7NEZBS3JELHlCQUF5QjtrQkFSckMsU0FBUztpQ0FDTSxJQUFJLFlBQ04sdUJBQXVCLFdBQ3hCLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxtQkFHOUMsdUJBQXVCLENBQUMsTUFBTTs4QkFZeEMsT0FBTztzQkFEYixLQUFLO2dCQVFDLElBQUk7c0JBRlYsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIGluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNjSVdhcmVob3VzZSwgU2NQcm9kdWN0LCBTY1dhcmVob3VzZVNlcnZpY2UgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFR1aUhpbnQsIFR1aVNpemVMLCBUdWlTaXplUyB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFR1aUJhZGdlIH0gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNjRm9ybWF0RGF0ZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcyc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINGG0LXQvdGC0Ysg0YLQvtCy0LDRgNCwINGBINC+0YLQvtCx0YDQsNC20LXQvdC40LXQvCDRgdC60LjQtNC60LguXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdzYy1jb3N0LXdpdGgtZGlzY291bnQnLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFR1aUJhZGdlLCAuLi5UdWlIaW50LCBTY0Zvcm1hdERhdGVQaXBlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29zdC13aXRoLWRpc2NvdW50LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vY29zdC13aXRoLWRpc2NvdW50LmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ29zdFdpdGhEaXNjb3VudENvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDQstGL0LHRgNCw0L3QvdC+0LPQviDRgdC60LvQsNC00LAuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHdhcmVob3VzZVNlbGVjdCQ6IE9ic2VydmFibGU8U2NJV2FyZWhvdXNlIHwgbnVsbD4gPSBpbmplY3QoU2NXYXJlaG91c2VTZXJ2aWNlKS5nZXRXYXJlaG91c2VTZWxlY3RDaGFuZ2UkKCk7XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YrQtdC60YIg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHByb2R1Y3Q6IFNjUHJvZHVjdDtcblxuICAgIC8qKlxuICAgICAqINCg0LDQt9C80LXRgCDQutC+0LzQv9C+0L3QtdC90YLQsC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIHB1YmxpYyBzaXplOiBUdWlTaXplUyB8IFR1aVNpemVMID0gJ20nO1xufVxuIiwiQGlmIChwcm9kdWN0KSB7XG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cIndhcmVob3VzZVNlbGVjdCQgfCBhc3luYyBhcyB3YXJlaG91c2VTZWxlY3RcIlxuICAgICAgICBjbGFzcz1cImZsZXggZmxleC13cmFwIGl0ZW1zLWNlbnRlciBnYXAteC0yIGdhcC15LTFcIlxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIGl0ZW1zLWNlbnRlciBnYXAteC0yIGdhcC15LTFcIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgW2NsYXNzLnRleHQtdHVpLXRleHQtMDJdPVwiIXByb2R1Y3QuaXNXYXJlaG91c2VTdG9ja0V4aXN0KHdhcmVob3VzZVNlbGVjdC5pZClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY29zdFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgcHJvZHVjdC5jb3N0UnViU3RyaW5nIH19XG4gICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgIDx0dWktYmFkZ2VcbiAgICAgICAgICAgICAgICAqbmdJZj1cInByb2R1Y3QuZGlzY291bnQgYXMgZGlzY291bnRcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCIndmFyKC0tdHVpLXN0YXR1cy1wb3NpdGl2ZSknXCJcbiAgICAgICAgICAgICAgICBbdHVpSGludF09XCJkaXNjb3VudEhpbnRcIlxuICAgICAgICAgICAgICAgIFt0dWlIaW50U2hvd0RlbGF5XT1cIjEwMFwiXG4gICAgICAgICAgICAgICAgdHVpSGludERpcmVjdGlvbj1cInRvcFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWJvZHkteHNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0dWktYmFkZ2VcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwcm9kdWN0LmRpc2NvdW50IGFzIGRpc2NvdW50XCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCIndmFyKC0tdHVpLWJhY2tncm91bmQtYmFzZSknXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWJvZHkteHMtYm9sZCB0ZXh0LXR1aS10ZXh0LTAyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGRpc2NvdW50LnBlcmNlbnQgfX0lXG4gICAgICAgICAgICAgICAgPC90dWktYmFkZ2U+XG5cbiAgICAgICAgICAgICAgICBAbGV0IGV4cGlyZWRBdCA9IHByb2R1Y3QuZGlzY291bnQuZXhwaXJlZEF0IHwgc2NGb3JtYXREYXRlO1xuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTAuNVwiPlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImZsZXggbGluZS10aHJvdWdoXCI+e3sgcHJvZHVjdC5kaXNjb3VudENvc3RTdHJpbmcgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJleHBpcmVkQXRcIj7QtNC+IHt7IGV4cGlyZWRBdC5zdWJzdHJpbmcoMCwgNSkgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Rpc2NvdW50SGludD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvbnQtYm9sZFwiPnt7IHByb2R1Y3QuZGlzY291bnQubmFtZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZXhwaXJlZEF0XCI+0JTQsNGC0LAg0L7QutC+0L3Rh9Cw0L3QuNGPOiB7eyBleHBpcmVkQXQgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC90dWktYmFkZ2U+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICAqbmdJZj1cIiFwcm9kdWN0LnByaWNlSW5SdWJcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb250LWV4dHJhYm9sZCB0ZXh0LXR1aS10ZXh0LTAyXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgcHJvZHVjdC5jb3N0U3RyaW5nIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbn1cbiJdfQ==
@@ -0,0 +1,56 @@
1
+ import { AsyncPipe } from '@angular/common';
2
+ import { Component, inject, input } from '@angular/core';
3
+ import { WA_WINDOW } from '@ng-web-apis/common';
4
+ import { ScCatalogService, ScMimeTypes } from '@snabcentr/client-core';
5
+ import { TuiAppearance, TuiButton, TuiHint, TuiIcons, TuiWithAppearance, TuiWithIcons } from '@taiga-ui/core';
6
+ import { TuiButtonLoading } from '@taiga-ui/kit';
7
+ import { share, startWith, Subject, switchMap, tap } from 'rxjs';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@taiga-ui/core";
10
+ /**
11
+ * Компонент скачивания каталога.
12
+ */
13
+ export class ScDownloadPriceListComponent {
14
+ constructor() {
15
+ /**
16
+ * Идентификатор категории, для которой нужно скачать прайс.
17
+ */
18
+ this.categoryId = input();
19
+ /**
20
+ * {@link Subject} события скачивания цен каталога.
21
+ */
22
+ this.onDownload = new Subject();
23
+ /**
24
+ * {@link Observable} запроса на скачивание цен каталога.
25
+ */
26
+ this.request$ = this.onDownload.pipe(switchMap((type) => this.catalogService.downloadPrice$(type, this.categoryId()).pipe(tap((blob) => {
27
+ const priceWindow = type === ScMimeTypes.pdf ? this.window.open('/', '_blank', 'rel="nofollow noreferrer"') : this.window;
28
+ (priceWindow ?? this.window).location.assign(this.window.URL.createObjectURL(blob));
29
+ }), startWith(type))), share(),
30
+ // eslint-disable-next-line unicorn/no-useless-undefined
31
+ startWith(undefined));
32
+ /**
33
+ * Текст подсказки при скачивании.
34
+ */
35
+ this.pdfLoadingHint = 'Скачивание каталога может занять некоторое время...';
36
+ /**
37
+ * Сервис для работы с каталогом.
38
+ */
39
+ this.catalogService = inject(ScCatalogService);
40
+ /**
41
+ * Объект окна.
42
+ */
43
+ this.window = inject(WA_WINDOW);
44
+ /**
45
+ * Перечисление MIME-типов.
46
+ */
47
+ this.mimeTypes = ScMimeTypes;
48
+ }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScDownloadPriceListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
50
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: ScDownloadPriceListComponent, isStandalone: true, selector: "sc-download-price-list", inputs: { categoryId: { classPropertyName: "categoryId", publicName: "categoryId", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@let request = request$ | async;\n@let pdfLoading = request === mimeTypes.pdf;\n@let csvLoading = request === mimeTypes.csv;\n\n<div class=\"dropdown flex flex-col gap-2 p-4\">\n <button\n tuiButton\n [loading]=\"pdfLoading\"\n (click)=\"onDownload.next(mimeTypes.pdf)\"\n iconStart=\"@tui.sc.file-p\"\n size=\"s\"\n [tuiHint]=\"pdfLoading ? pdfLoadingHint : null\"\n appearance=\"mono\"\n >\n \u0421\u043A\u0430\u0447\u0430\u0442\u044C \u043F\u0440\u0430\u0439\u0441 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 PDF\n </button>\n <button\n tuiButton\n [loading]=\"csvLoading\"\n (click)=\"onDownload.next(mimeTypes.csv)\"\n iconStart=\"@tui.sc.file-x\"\n size=\"s\"\n appearance=\"mono\"\n >\n \u0421\u043A\u0430\u0447\u0430\u0442\u044C \u043F\u0440\u0430\u0439\u0441 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 CSV\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: i1.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"], outputs: ["tuiHintVisible"] }] }); }
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScDownloadPriceListComponent, decorators: [{
53
+ type: Component,
54
+ args: [{ standalone: true, selector: 'sc-download-price-list', imports: [TuiAppearance, TuiWithAppearance, TuiIcons, TuiWithIcons, TuiButton, TuiButtonLoading, AsyncPipe, TuiHint], template: "@let request = request$ | async;\n@let pdfLoading = request === mimeTypes.pdf;\n@let csvLoading = request === mimeTypes.csv;\n\n<div class=\"dropdown flex flex-col gap-2 p-4\">\n <button\n tuiButton\n [loading]=\"pdfLoading\"\n (click)=\"onDownload.next(mimeTypes.pdf)\"\n iconStart=\"@tui.sc.file-p\"\n size=\"s\"\n [tuiHint]=\"pdfLoading ? pdfLoadingHint : null\"\n appearance=\"mono\"\n >\n \u0421\u043A\u0430\u0447\u0430\u0442\u044C \u043F\u0440\u0430\u0439\u0441 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 PDF\n </button>\n <button\n tuiButton\n [loading]=\"csvLoading\"\n (click)=\"onDownload.next(mimeTypes.csv)\"\n iconStart=\"@tui.sc.file-x\"\n size=\"s\"\n appearance=\"mono\"\n >\n \u0421\u043A\u0430\u0447\u0430\u0442\u044C \u043F\u0440\u0430\u0439\u0441 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 CSV\n </button>\n</div>\n" }]
55
+ }] });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZG93bmxvYWQtcHJpY2UtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9kb3dubG9hZC1wcmljZS1saXN0L3NjLWRvd25sb2FkLXByaWNlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvZG93bmxvYWQtcHJpY2UtbGlzdC9zYy1kb3dubG9hZC1wcmljZS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBRWpFOztHQUVHO0FBT0gsTUFBTSxPQUFPLDRCQUE0QjtJQU56QztRQU9JOztXQUVHO1FBQ0ksZUFBVSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBRXBDOztXQUVHO1FBQ2dCLGVBQVUsR0FBeUIsSUFBSSxPQUFPLEVBQWUsQ0FBQztRQUVqRjs7V0FFRztRQUNnQixhQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQzlDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDNUQsR0FBRyxDQUFDLENBQUMsSUFBVSxFQUFFLEVBQUU7WUFDZixNQUFNLFdBQVcsR0FBRyxJQUFJLEtBQUssV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSwyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzFILENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3hGLENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FDbEIsQ0FDSixFQUNELEtBQUssRUFBRTtRQUNQLHdEQUF3RDtRQUN4RCxTQUFTLENBQUMsU0FBUyxDQUFDLENBQ3ZCLENBQUM7UUFFRjs7V0FFRztRQUNnQixtQkFBYyxHQUFXLHFEQUFxRCxDQUFDO1FBRWxHOztXQUVHO1FBQ2MsbUJBQWMsR0FBcUIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFN0U7O1dBRUc7UUFDYyxXQUFNLEdBQStCLE1BQU0sQ0FBNkIsU0FBUyxDQUFDLENBQUM7UUFFcEc7O1dBRUc7UUFDZ0IsY0FBUyxHQUF1QixXQUFXLENBQUM7S0FDbEU7K0dBaERZLDRCQUE0QjttR0FBNUIsNEJBQTRCLHFPQ2pCekMsODhCQTJCQSw0Q0Rad0UsU0FBUyxvSUFBRSxnQkFBZ0Isa0hBQUUsU0FBUzs7NEZBRWpHLDRCQUE0QjtrQkFOeEMsU0FBUztpQ0FDTSxJQUFJLFlBQ04sd0JBQXdCLFdBRXpCLENBQUMsYUFBYSxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXQV9XSU5ET1cgfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7IFNjQ2F0YWxvZ1NlcnZpY2UsIFNjTWltZVR5cGVzIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUdWlBcHBlYXJhbmNlLCBUdWlCdXR0b24sIFR1aUhpbnQsIFR1aUljb25zLCBUdWlXaXRoQXBwZWFyYW5jZSwgVHVpV2l0aEljb25zIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgVHVpQnV0dG9uTG9hZGluZyB9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuaW1wb3J0IHsgc2hhcmUsIHN0YXJ0V2l0aCwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0YHQutCw0YfQuNCy0LDQvdC40Y8g0LrQsNGC0LDQu9C+0LPQsC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3NjLWRvd25sb2FkLXByaWNlLWxpc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1kb3dubG9hZC1wcmljZS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBpbXBvcnRzOiBbVHVpQXBwZWFyYW5jZSwgVHVpV2l0aEFwcGVhcmFuY2UsIFR1aUljb25zLCBUdWlXaXRoSWNvbnMsIFR1aUJ1dHRvbiwgVHVpQnV0dG9uTG9hZGluZywgQXN5bmNQaXBlLCBUdWlIaW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2NEb3dubG9hZFByaWNlTGlzdENvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LrQsNGC0LXQs9C+0YDQuNC4LCDQtNC70Y8g0LrQvtGC0L7RgNC+0Lkg0L3Rg9C20L3QviDRgdC60LDRh9Cw0YLRjCDQv9GA0LDQudGBLlxuICAgICAqL1xuICAgIHB1YmxpYyBjYXRlZ29yeUlkID0gaW5wdXQ8bnVtYmVyPigpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIFN1YmplY3R9INGB0L7QsdGL0YLQuNGPINGB0LrQsNGH0LjQstCw0L3QuNGPINGG0LXQvSDQutCw0YLQsNC70L7Qs9CwLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvbkRvd25sb2FkOiBTdWJqZWN0PFNjTWltZVR5cGVzPiA9IG5ldyBTdWJqZWN0PFNjTWltZVR5cGVzPigpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC30LDQv9GA0L7RgdCwINC90LAg0YHQutCw0YfQuNCy0LDQvdC40LUg0YbQtdC9INC60LDRgtCw0LvQvtCz0LAuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlcXVlc3QkID0gdGhpcy5vbkRvd25sb2FkLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgodHlwZSkgPT5cbiAgICAgICAgICAgIHRoaXMuY2F0YWxvZ1NlcnZpY2UuZG93bmxvYWRQcmljZSQodHlwZSwgdGhpcy5jYXRlZ29yeUlkKCkpLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKChibG9iOiBCbG9iKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHByaWNlV2luZG93ID0gdHlwZSA9PT0gU2NNaW1lVHlwZXMucGRmID8gdGhpcy53aW5kb3cub3BlbignLycsICdfYmxhbmsnLCAncmVsPVwibm9mb2xsb3cgbm9yZWZlcnJlclwiJykgOiB0aGlzLndpbmRvdztcbiAgICAgICAgICAgICAgICAgICAgKHByaWNlV2luZG93ID8/IHRoaXMud2luZG93KS5sb2NhdGlvbi5hc3NpZ24odGhpcy53aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKHR5cGUpXG4gICAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIHNoYXJlKCksXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB1bmljb3JuL25vLXVzZWxlc3MtdW5kZWZpbmVkXG4gICAgICAgIHN0YXJ0V2l0aCh1bmRlZmluZWQpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqINCi0LXQutGB0YIg0L/QvtC00YHQutCw0LfQutC4INC/0YDQuCDRgdC60LDRh9C40LLQsNC90LjQuC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGRmTG9hZGluZ0hpbnQ6IHN0cmluZyA9ICfQodC60LDRh9C40LLQsNC90LjQtSDQutCw0YLQsNC70L7Qs9CwINC80L7QttC10YIg0LfQsNC90Y/RgtGMINC90LXQutC+0YLQvtGA0L7QtSDQstGA0LXQvNGPLi4uJztcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINC60LDRgtCw0LvQvtCz0L7QvC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhdGFsb2dTZXJ2aWNlOiBTY0NhdGFsb2dTZXJ2aWNlID0gaW5qZWN0KFNjQ2F0YWxvZ1NlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog0J7QsdGK0LXQutGCINC+0LrQvdCwLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgd2luZG93OiBXaW5kb3cgJiB0eXBlb2YgZ2xvYmFsVGhpcyA9IGluamVjdDxXaW5kb3cgJiB0eXBlb2YgZ2xvYmFsVGhpcz4oV0FfV0lORE9XKTtcblxuICAgIC8qKlxuICAgICAqINCf0LXRgNC10YfQuNGB0LvQtdC90LjQtSBNSU1FLdGC0LjQv9C+0LIuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1pbWVUeXBlczogdHlwZW9mIFNjTWltZVR5cGVzID0gU2NNaW1lVHlwZXM7XG59XG4iLCJAbGV0IHJlcXVlc3QgPSByZXF1ZXN0JCB8IGFzeW5jO1xuQGxldCBwZGZMb2FkaW5nID0gcmVxdWVzdCA9PT0gbWltZVR5cGVzLnBkZjtcbkBsZXQgY3N2TG9hZGluZyA9IHJlcXVlc3QgPT09IG1pbWVUeXBlcy5jc3Y7XG5cbjxkaXYgY2xhc3M9XCJkcm9wZG93biBmbGV4IGZsZXgtY29sIGdhcC0yIHAtNFwiPlxuICAgIDxidXR0b25cbiAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgIFtsb2FkaW5nXT1cInBkZkxvYWRpbmdcIlxuICAgICAgICAoY2xpY2spPVwib25Eb3dubG9hZC5uZXh0KG1pbWVUeXBlcy5wZGYpXCJcbiAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5zYy5maWxlLXBcIlxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIFt0dWlIaW50XT1cInBkZkxvYWRpbmcgPyBwZGZMb2FkaW5nSGludCA6IG51bGxcIlxuICAgICAgICBhcHBlYXJhbmNlPVwibW9ub1wiXG4gICAgPlxuICAgICAgICDQodC60LDRh9Cw0YLRjCDQv9GA0LDQudGBINCyINGE0L7RgNC80LDRgtC1IFBERlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgIFtsb2FkaW5nXT1cImNzdkxvYWRpbmdcIlxuICAgICAgICAoY2xpY2spPVwib25Eb3dubG9hZC5uZXh0KG1pbWVUeXBlcy5jc3YpXCJcbiAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5zYy5maWxlLXhcIlxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIGFwcGVhcmFuY2U9XCJtb25vXCJcbiAgICA+XG4gICAgICAgINCh0LrQsNGH0LDRgtGMINC/0YDQsNC50YEg0LIg0YTQvtGA0LzQsNGC0LUgQ1NWXG4gICAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,76 @@
1
+ import { ChangeDetectionStrategy, Component, computed, input, signal } from '@angular/core';
2
+ import { TuiHovered, TuiRepeatTimes } from '@taiga-ui/cdk';
3
+ import { TuiButton } from '@taiga-ui/core';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Компонент просмотра изображений через событие наведения.
7
+ */
8
+ export class ScHoverImageCarouselComponent {
9
+ constructor() {
10
+ /**
11
+ * Массив изображений.
12
+ */
13
+ this.images = input.required();
14
+ /**
15
+ * Признак что необходимо отобразить элементы управления.
16
+ */
17
+ this.isShowActions = input(true);
18
+ /**
19
+ * {@link WritableSignal} для отслеживания текущего индекса изображения.
20
+ */
21
+ this.currentIndex = signal(0);
22
+ /**
23
+ * {@link WritableSignal} для отслеживания текущего индекса изображения.
24
+ */
25
+ this.currentImage = computed(() => this.images()[this.currentIndex()]);
26
+ /**
27
+ * Название товара.
28
+ */
29
+ this.productName = input();
30
+ }
31
+ /**
32
+ * Обработчик события `mousemove.silent`.
33
+ *
34
+ * @param offsetX Отступ курсора мыши по оси X от края {@link HTMLElement}.
35
+ * @param target Объект {@link HTMLElement} в котором лежат изображения
36
+ */
37
+ onHover(offsetX, target) {
38
+ if (this.images().length <= 1 || offsetX < 0) {
39
+ return;
40
+ }
41
+ const elementWidth = target.offsetWidth;
42
+ const hoverPercentage = Math.min(offsetX / elementWidth, 1);
43
+ const newIndex = Math.min(Math.floor(hoverPercentage * this.images().length), this.images().length - 1);
44
+ this.currentIndex.set(newIndex);
45
+ }
46
+ /**
47
+ * Обработчик события `mouseleave.silent`.
48
+ */
49
+ onLeave() {
50
+ if (this.images().length <= 1) {
51
+ return;
52
+ }
53
+ this.currentIndex.set(0);
54
+ }
55
+ /**
56
+ * Обработчик события наведения указателя мыши на точку.
57
+ *
58
+ * @param hovered Признак что указатель мыши наведен на точку.
59
+ * @param index Индекс изображения, который соответствует точке.
60
+ */
61
+ onDotHovered(hovered, index) {
62
+ if (hovered) {
63
+ this.currentIndex.set(index);
64
+ }
65
+ }
66
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScHoverImageCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
67
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ScHoverImageCarouselComponent, isStandalone: true, selector: "sc-hover-image-carousel", inputs: { images: { classPropertyName: "images", publicName: "images", isSignal: true, isRequired: true, transformFunction: null }, isShowActions: { classPropertyName: "isShowActions", publicName: "isShowActions", isSignal: true, isRequired: false, transformFunction: null }, productName: { classPropertyName: "productName", publicName: "productName", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mousemove.silent": "onHover($event.offsetX, $event.target)", "mouseleave.silent": "onLeave()" } }, ngImport: i0, template: "<div\n class=\"overflow-hidden rounded-xl\"\n [class.mb-2]=\"images().length <= 1 && isShowActions()\"\n [style.aspect-ratio]=\"'20/19'\"\n>\n @let image = currentImage();\n <picture>\n @if (image.imageWebp) {\n <source\n type=\"image/webp\"\n [srcset]=\"image.imageWebp\"\n />\n }\n\n @if (image.image) {\n <img\n [src]=\"image.image\"\n [alt]=\"image.alt\"\n class=\"size-full rounded-xl object-contain\"\n />\n }\n </picture>\n</div>\n@if (images().length > 1 && isShowActions()) {\n <div\n (mousemove.silent)=\"$event.stopPropagation()\"\n class=\"flex justify-center\"\n >\n <button\n *tuiRepeatTimes=\"let indexItem of images().length\"\n #element\n tuiButton\n type=\"button\"\n class=\"button button_small\"\n [appearance]=\"indexItem === currentIndex() ? 'primary' : 'secondary'\"\n (tuiHoveredChange)=\"onDotHovered($event, indexItem)\"\n ></button>\n </div>\n}\n", styles: [".button{flex-shrink:0}.button:first-child{margin-inline-start:0}.button:last-child{margin-inline-end:0}.button_small{inline-size:.5rem;block-size:.5rem;font-size:0;padding:0;margin:0}.button_small:not(:first-child){margin-left:.5rem}\n"], dependencies: [{ kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
68
+ }
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScHoverImageCarouselComponent, decorators: [{
70
+ type: Component,
71
+ args: [{ standalone: true, selector: 'sc-hover-image-carousel', imports: [TuiRepeatTimes, TuiButton, TuiHovered], host: {
72
+ '(mousemove.silent)': 'onHover($event.offsetX, $event.target)',
73
+ '(mouseleave.silent)': 'onLeave()',
74
+ }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"overflow-hidden rounded-xl\"\n [class.mb-2]=\"images().length <= 1 && isShowActions()\"\n [style.aspect-ratio]=\"'20/19'\"\n>\n @let image = currentImage();\n <picture>\n @if (image.imageWebp) {\n <source\n type=\"image/webp\"\n [srcset]=\"image.imageWebp\"\n />\n }\n\n @if (image.image) {\n <img\n [src]=\"image.image\"\n [alt]=\"image.alt\"\n class=\"size-full rounded-xl object-contain\"\n />\n }\n </picture>\n</div>\n@if (images().length > 1 && isShowActions()) {\n <div\n (mousemove.silent)=\"$event.stopPropagation()\"\n class=\"flex justify-center\"\n >\n <button\n *tuiRepeatTimes=\"let indexItem of images().length\"\n #element\n tuiButton\n type=\"button\"\n class=\"button button_small\"\n [appearance]=\"indexItem === currentIndex() ? 'primary' : 'secondary'\"\n (tuiHoveredChange)=\"onDotHovered($event, indexItem)\"\n ></button>\n </div>\n}\n", styles: [".button{flex-shrink:0}.button:first-child{margin-inline-start:0}.button:last-child{margin-inline-end:0}.button_small{inline-size:.5rem;block-size:.5rem;font-size:0;padding:0;margin:0}.button_small:not(:first-child){margin-left:.5rem}\n"] }]
75
+ }] });
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaG92ZXItaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvaG92ZXItaW1hZ2UtY2Fyb3VzZWwvc2MtaG92ZXItaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvaG92ZXItaW1hZ2UtY2Fyb3VzZWwvc2MtaG92ZXItaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUF1QixNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBRWpJLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFM0M7O0dBRUc7QUFhSCxNQUFNLE9BQU8sNkJBQTZCO0lBWjFDO1FBYUk7O1dBRUc7UUFDYSxXQUFNLEdBQTRCLEtBQUssQ0FBQyxRQUFRLEVBQWMsQ0FBQztRQUUvRTs7V0FFRztRQUNhLGtCQUFhLEdBQXlCLEtBQUssQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUUzRTs7V0FFRztRQUNhLGlCQUFZLEdBQTJCLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVqRTs7V0FFRztRQUNhLGlCQUFZLEdBQXFCLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVwRzs7V0FFRztRQUNhLGdCQUFXLEdBQW9DLEtBQUssRUFBc0IsQ0FBQztLQTJDOUY7SUF6Q0c7Ozs7O09BS0c7SUFDSyxPQUFPLENBQUMsT0FBZSxFQUFFLE1BQW1CO1FBQ2hELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzNDLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUN4QyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFNUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUV4RyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSyxPQUFPO1FBQ1gsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ08sWUFBWSxDQUFDLE9BQWdCLEVBQUUsS0FBYTtRQUNsRCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNMLENBQUM7K0dBbEVRLDZCQUE2QjttR0FBN0IsNkJBQTZCLDRtQkNwQjFDLGtvQ0F1Q0EscVNENUJjLGNBQWMsNkdBQUUsU0FBUyxvSUFBRSxVQUFVOzs0RkFTdEMsNkJBQTZCO2tCQVp6QyxTQUFTO2lDQUNNLElBQUksWUFDTix5QkFBeUIsV0FDMUIsQ0FBQyxjQUFjLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxRQUcxQzt3QkFDRixvQkFBb0IsRUFBRSx3Q0FBd0M7d0JBQzlELHFCQUFxQixFQUFFLFdBQVc7cUJBQ3JDLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0LCBJbnB1dFNpZ25hbCwgU2lnbmFsLCBzaWduYWwsIFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTY0lJbWFnZSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgVHVpSG92ZXJlZCwgVHVpUmVwZWF0VGltZXMgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IFR1aUJ1dHRvbiB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0L/RgNC+0YHQvNC+0YLRgNCwINC40LfQvtCx0YDQsNC20LXQvdC40Lkg0YfQtdGA0LXQtyDRgdC+0LHRi9GC0LjQtSDQvdCw0LLQtdC00LXQvdC40Y8uXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdzYy1ob3Zlci1pbWFnZS1jYXJvdXNlbCcsXG4gICAgaW1wb3J0czogW1R1aVJlcGVhdFRpbWVzLCBUdWlCdXR0b24sIFR1aUhvdmVyZWRdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1ob3Zlci1pbWFnZS1jYXJvdXNlbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3NjLWhvdmVyLWltYWdlLWNhcm91c2VsLmNvbXBvbmVudC5zY3NzJyxcbiAgICBob3N0OiB7XG4gICAgICAgICcobW91c2Vtb3ZlLnNpbGVudCknOiAnb25Ib3ZlcigkZXZlbnQub2Zmc2V0WCwgJGV2ZW50LnRhcmdldCknLFxuICAgICAgICAnKG1vdXNlbGVhdmUuc2lsZW50KSc6ICdvbkxlYXZlKCknLFxuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjSG92ZXJJbWFnZUNhcm91c2VsQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDQnNCw0YHRgdC40LIg0LjQt9C+0LHRgNCw0LbQtdC90LjQuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgaW1hZ2VzOiBJbnB1dFNpZ25hbDxTY0lJbWFnZVtdPiA9IGlucHV0LnJlcXVpcmVkPFNjSUltYWdlW10+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiDRh9GC0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0L7RgtC+0LHRgNCw0LfQuNGC0Ywg0Y3Qu9C10LzQtdC90YLRiyDRg9C/0YDQsNCy0LvQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgaXNTaG93QWN0aW9uczogSW5wdXRTaWduYWw8Ym9vbGVhbj4gPSBpbnB1dDxib29sZWFuPih0cnVlKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBXcml0YWJsZVNpZ25hbH0g0LTQu9GPINC+0YLRgdC70LXQttC40LLQsNC90LjRjyDRgtC10LrRg9GJ0LXQs9C+INC40L3QtNC10LrRgdCwINC40LfQvtCx0YDQsNC20LXQvdC40Y8uXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGN1cnJlbnRJbmRleDogV3JpdGFibGVTaWduYWw8bnVtYmVyPiA9IHNpZ25hbCgwKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBXcml0YWJsZVNpZ25hbH0g0LTQu9GPINC+0YLRgdC70LXQttC40LLQsNC90LjRjyDRgtC10LrRg9GJ0LXQs9C+INC40L3QtNC10LrRgdCwINC40LfQvtCx0YDQsNC20LXQvdC40Y8uXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGN1cnJlbnRJbWFnZTogU2lnbmFsPFNjSUltYWdlPiA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaW1hZ2VzKClbdGhpcy5jdXJyZW50SW5kZXgoKV0pO1xuXG4gICAgLyoqXG4gICAgICog0J3QsNC30LLQsNC90LjQtSDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHByb2R1Y3ROYW1lOiBJbnB1dFNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+ID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gICAgLyoqXG4gICAgICog0J7QsdGA0LDQsdC+0YLRh9C40Log0YHQvtCx0YvRgtC40Y8gYG1vdXNlbW92ZS5zaWxlbnRgLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9mZnNldFgg0J7RgtGB0YLRg9C/INC60YPRgNGB0L7RgNCwINC80YvRiNC4INC/0L4g0L7RgdC4IFgg0L7RgiDQutGA0LDRjyB7QGxpbmsgSFRNTEVsZW1lbnR9LlxuICAgICAqIEBwYXJhbSB0YXJnZXQg0J7QsdGK0LXQutGCIHtAbGluayBIVE1MRWxlbWVudH0g0LIg0LrQvtGC0L7RgNC+0Lwg0LvQtdC20LDRgiDQuNC30L7QsdGA0LDQttC10L3QuNGPXG4gICAgICovXG4gICAgcHJpdmF0ZSBvbkhvdmVyKG9mZnNldFg6IG51bWJlciwgdGFyZ2V0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pbWFnZXMoKS5sZW5ndGggPD0gMSB8fCBvZmZzZXRYIDwgMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZWxlbWVudFdpZHRoID0gdGFyZ2V0Lm9mZnNldFdpZHRoO1xuICAgICAgICBjb25zdCBob3ZlclBlcmNlbnRhZ2UgPSBNYXRoLm1pbihvZmZzZXRYIC8gZWxlbWVudFdpZHRoLCAxKTtcblxuICAgICAgICBjb25zdCBuZXdJbmRleCA9IE1hdGgubWluKE1hdGguZmxvb3IoaG92ZXJQZXJjZW50YWdlICogdGhpcy5pbWFnZXMoKS5sZW5ndGgpLCB0aGlzLmltYWdlcygpLmxlbmd0aCAtIDEpO1xuXG4gICAgICAgIHRoaXMuY3VycmVudEluZGV4LnNldChuZXdJbmRleCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7QsdGA0LDQsdC+0YLRh9C40Log0YHQvtCx0YvRgtC40Y8gYG1vdXNlbGVhdmUuc2lsZW50YC5cbiAgICAgKi9cbiAgICBwcml2YXRlIG9uTGVhdmUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmltYWdlcygpLmxlbmd0aCA8PSAxKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmN1cnJlbnRJbmRleC5zZXQoMCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7QsdGA0LDQsdC+0YLRh9C40Log0YHQvtCx0YvRgtC40Y8g0L3QsNCy0LXQtNC10L3QuNGPINGD0LrQsNC30LDRgtC10LvRjyDQvNGL0YjQuCDQvdCwINGC0L7Rh9C60YMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaG92ZXJlZCDQn9GA0LjQt9C90LDQuiDRh9GC0L4g0YPQutCw0LfQsNGC0LXQu9GMINC80YvRiNC4INC90LDQstC10LTQtdC9INC90LAg0YLQvtGH0LrRgy5cbiAgICAgKiBAcGFyYW0gaW5kZXgg0JjQvdC00LXQutGBINC40LfQvtCx0YDQsNC20LXQvdC40Y8sINC60L7RgtC+0YDRi9C5INGB0L7QvtGC0LLQtdGC0YHRgtCy0YPQtdGCINGC0L7Rh9C60LUuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIG9uRG90SG92ZXJlZChob3ZlcmVkOiBib29sZWFuLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmIChob3ZlcmVkKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRJbmRleC5zZXQoaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwib3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQteGxcIlxuICAgIFtjbGFzcy5tYi0yXT1cImltYWdlcygpLmxlbmd0aCA8PSAxICYmIGlzU2hvd0FjdGlvbnMoKVwiXG4gICAgW3N0eWxlLmFzcGVjdC1yYXRpb109XCInMjAvMTknXCJcbj5cbiAgICBAbGV0IGltYWdlID0gY3VycmVudEltYWdlKCk7XG4gICAgPHBpY3R1cmU+XG4gICAgICAgIEBpZiAoaW1hZ2UuaW1hZ2VXZWJwKSB7XG4gICAgICAgICAgICA8c291cmNlXG4gICAgICAgICAgICAgICAgdHlwZT1cImltYWdlL3dlYnBcIlxuICAgICAgICAgICAgICAgIFtzcmNzZXRdPVwiaW1hZ2UuaW1hZ2VXZWJwXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGltYWdlLmltYWdlKSB7XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgW3NyY109XCJpbWFnZS5pbWFnZVwiXG4gICAgICAgICAgICAgICAgW2FsdF09XCJpbWFnZS5hbHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2l6ZS1mdWxsIHJvdW5kZWQteGwgb2JqZWN0LWNvbnRhaW5cIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgIDwvcGljdHVyZT5cbjwvZGl2PlxuQGlmIChpbWFnZXMoKS5sZW5ndGggPiAxICYmIGlzU2hvd0FjdGlvbnMoKSkge1xuICAgIDxkaXZcbiAgICAgICAgKG1vdXNlbW92ZS5zaWxlbnQpPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgY2xhc3M9XCJmbGV4IGp1c3RpZnktY2VudGVyXCJcbiAgICA+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICp0dWlSZXBlYXRUaW1lcz1cImxldCBpbmRleEl0ZW0gb2YgaW1hZ2VzKCkubGVuZ3RoXCJcbiAgICAgICAgICAgICNlbGVtZW50XG4gICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJidXR0b24gYnV0dG9uX3NtYWxsXCJcbiAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImluZGV4SXRlbSA9PT0gY3VycmVudEluZGV4KCkgPyAncHJpbWFyeScgOiAnc2Vjb25kYXJ5J1wiXG4gICAgICAgICAgICAodHVpSG92ZXJlZENoYW5nZSk9XCJvbkRvdEhvdmVyZWQoJGV2ZW50LCBpbmRleEl0ZW0pXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxufVxuIl19
@@ -0,0 +1,16 @@
1
+ export * from './download-price-list/sc-download-price-list.component';
2
+ export * from './category-card/sc-category-card.component';
3
+ export * from './seo-tags/sc-seo-tags.component';
4
+ export * from './cost-with-discount/cost-with-discount.component';
5
+ export * from './hover-image-carousel/sc-hover-image-carousel.component';
6
+ export * from './input-quantity/sc-input-quantity.component';
7
+ export * from './notify-when-in-stock-dialog';
8
+ export * from './price-card/sc-price-card.component';
9
+ export * from './price-card-inline/sc-price-card-inline.component';
10
+ export * from './price-history/sc-price-history.component';
11
+ export * from './price-list-pagination/sc-price-list-pagination.component';
12
+ export * from './price-warehouse-stock/sc-price-warehouse-stock.component';
13
+ export * from './sc-favorite-button/sc-favorite-button.component';
14
+ export * from './sc-catalog.module';
15
+ export * from './catalog-filters';
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZG93bmxvYWQtcHJpY2UtbGlzdC9zYy1kb3dubG9hZC1wcmljZS1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NhdGVnb3J5LWNhcmQvc2MtY2F0ZWdvcnktY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZW8tdGFncy9zYy1zZW8tdGFncy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3N0LXdpdGgtZGlzY291bnQvY29zdC13aXRoLWRpc2NvdW50LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2hvdmVyLWltYWdlLWNhcm91c2VsL3NjLWhvdmVyLWltYWdlLWNhcm91c2VsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0LXF1YW50aXR5L3NjLWlucHV0LXF1YW50aXR5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL25vdGlmeS13aGVuLWluLXN0b2NrLWRpYWxvZyc7XG5leHBvcnQgKiBmcm9tICcuL3ByaWNlLWNhcmQvc2MtcHJpY2UtY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wcmljZS1jYXJkLWlubGluZS9zYy1wcmljZS1jYXJkLWlubGluZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wcmljZS1oaXN0b3J5L3NjLXByaWNlLWhpc3RvcnkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcHJpY2UtbGlzdC1wYWdpbmF0aW9uL3NjLXByaWNlLWxpc3QtcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wcmljZS13YXJlaG91c2Utc3RvY2svc2MtcHJpY2Utd2FyZWhvdXNlLXN0b2NrLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWZhdm9yaXRlLWJ1dHRvbi9zYy1mYXZvcml0ZS1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2MtY2F0YWxvZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXRhbG9nLWZpbHRlcnMnO1xuIl19