@snabcentr/client-ui 4.14.7 → 4.14.9

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 (556) hide show
  1. package/fesm2022/snabcentr-client-ui.mjs +5004 -5457
  2. package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
  3. package/icons/svg-pack/application.svg +1 -1
  4. package/icons/svg-pack/back.svg +1 -1
  5. package/icons/svg-pack/bag.svg +1 -1
  6. package/icons/svg-pack/banknote-arrow-in-top.svg +1 -1
  7. package/icons/svg-pack/catalog/aluminum-systems.svg +1 -1
  8. package/icons/svg-pack/catalog/arm-profile.svg +1 -1
  9. package/icons/svg-pack/catalog/batten.svg +1 -1
  10. package/icons/svg-pack/catalog/brusbox.svg +1 -1
  11. package/icons/svg-pack/catalog/canopy.svg +1 -1
  12. package/icons/svg-pack/catalog/configurator.svg +1 -1
  13. package/icons/svg-pack/catalog/covering-material.svg +1 -1
  14. package/icons/svg-pack/catalog/door-accessories.svg +1 -1
  15. package/icons/svg-pack/catalog/drainage-system.svg +1 -1
  16. package/icons/svg-pack/catalog/fastener.svg +1 -1
  17. package/icons/svg-pack/catalog/finishing-materials.svg +1 -1
  18. package/icons/svg-pack/catalog/fixing-impost.svg +1 -1
  19. package/icons/svg-pack/catalog/flask.svg +1 -1
  20. package/icons/svg-pack/catalog/foam-balloon.svg +1 -1
  21. package/icons/svg-pack/catalog/foam.svg +1 -1
  22. package/icons/svg-pack/catalog/glue.svg +1 -1
  23. package/icons/svg-pack/catalog/handle.svg +1 -1
  24. package/icons/svg-pack/catalog/instrument.svg +1 -1
  25. package/icons/svg-pack/catalog/kve-profile.svg +1 -1
  26. package/icons/svg-pack/catalog/lubricants.svg +1 -1
  27. package/icons/svg-pack/catalog/mosquito-net.svg +1 -1
  28. package/icons/svg-pack/catalog/mounting-accessories.svg +1 -1
  29. package/icons/svg-pack/catalog/net-order.svg +1 -1
  30. package/icons/svg-pack/catalog/panel-1.svg +1 -1
  31. package/icons/svg-pack/catalog/panel.svg +1 -1
  32. package/icons/svg-pack/catalog/polyethylene-film.svg +1 -1
  33. package/icons/svg-pack/catalog/profile-plastic.svg +1 -1
  34. package/icons/svg-pack/catalog/promo-materials.svg +1 -1
  35. package/icons/svg-pack/catalog/psul.svg +1 -1
  36. package/icons/svg-pack/catalog/rehau-profile.svg +1 -1
  37. package/icons/svg-pack/catalog/sandwich-plastic.svg +1 -1
  38. package/icons/svg-pack/catalog/sealer.svg +1 -1
  39. package/icons/svg-pack/catalog/siding-2.svg +1 -1
  40. package/icons/svg-pack/catalog/siding.svg +1 -1
  41. package/icons/svg-pack/catalog/start-finish-profile.svg +1 -1
  42. package/icons/svg-pack/catalog/steam-waterproofing.svg +1 -1
  43. package/icons/svg-pack/catalog/stiz.svg +1 -1
  44. package/icons/svg-pack/catalog/thermometer.svg +1 -1
  45. package/icons/svg-pack/catalog/windowsill.svg +1 -1
  46. package/icons/svg-pack/chart-column-plus.svg +1 -1
  47. package/icons/svg-pack/circle-arrow-in-right.svg +1 -1
  48. package/icons/svg-pack/contacts.svg +1 -1
  49. package/icons/svg-pack/deadline.svg +1 -1
  50. package/icons/svg-pack/file-p.svg +1 -1
  51. package/icons/svg-pack/file-search.svg +1 -1
  52. package/icons/svg-pack/file-w.svg +1 -1
  53. package/icons/svg-pack/file-x.svg +1 -1
  54. package/icons/svg-pack/grid-height-arrow.svg +1 -1
  55. package/icons/svg-pack/grid-width-arrow.svg +1 -1
  56. package/icons/svg-pack/layout-list-tree.svg +1 -1
  57. package/icons/svg-pack/list.svg +1 -1
  58. package/icons/svg-pack/puzzle.svg +1 -1
  59. package/icons/svg-pack/reclamation.svg +1 -1
  60. package/icons/svg-pack/retail-store.svg +1 -1
  61. package/icons/svg-pack/send.svg +1 -1
  62. package/package.json +35 -37
  63. package/release_notes.tmp +16 -2
  64. package/styles/taiga/variables.less +35 -17
  65. package/styles/tailwind/tailwind.scss +56 -10
  66. package/types/snabcentr-client-ui.d.ts +6787 -0
  67. package/accordion/index.d.ts +0 -3
  68. package/accordion/sc-accordion-content.directive.d.ts +0 -9
  69. package/accordion/sc-accordion.component.d.ts +0 -56
  70. package/accordion/sc-accordion.module.d.ts +0 -15
  71. package/auth/enums/auth-method.d.ts +0 -13
  72. package/auth/index.d.ts +0 -8
  73. package/auth/interfaces/index.d.ts +0 -2
  74. package/auth/interfaces/sc-bank-account-form-group.d.ts +0 -11
  75. package/auth/interfaces/sc-contact-form-group.d.ts +0 -10
  76. package/auth/sc-auth.module.d.ts +0 -27
  77. package/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.d.ts +0 -55
  78. package/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.d.ts +0 -45
  79. package/auth/sc-sign-in-form/sc-sign-in-form.component.d.ts +0 -53
  80. package/auth/sc-simple-sign-up-form/sc-simple-sign-up-form.component.d.ts +0 -113
  81. package/auth/sign-up-form/sc-sign-up-form.component.d.ts +0 -166
  82. package/banner/index.d.ts +0 -2
  83. package/banner/sc-banner.component.d.ts +0 -108
  84. package/banner/sc-banner.module.d.ts +0 -17
  85. package/brands-list/index.d.ts +0 -3
  86. package/brands-list/sc-brand-list-item.d.ts +0 -25
  87. package/brands-list/sc-brands-list.component.d.ts +0 -13
  88. package/brands-list/sc-brands-list.module.d.ts +0 -12
  89. package/cart/add-or-editing-cart-item-dialog/add-or-editing-cart-item-form/sc-add-or-editing-cart-item-form.component.d.ts +0 -106
  90. package/cart/add-or-editing-cart-item-dialog/index.d.ts +0 -2
  91. package/cart/add-or-editing-cart-item-dialog/sc-add-or-editing-cart-item-dialog.component.d.ts +0 -49
  92. package/cart/index.d.ts +0 -2
  93. package/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.d.ts +0 -62
  94. package/catalog/catalog-filters/collapsible/sc-catalog-filter-collapsible.component.d.ts +0 -47
  95. package/catalog/catalog-filters/index.d.ts +0 -4
  96. package/catalog/catalog-filters/sc-catalog-filters.component.d.ts +0 -199
  97. package/catalog/catalog-filters/tokens/sc-catalog-products-filters.d.ts +0 -7
  98. package/catalog/catalog-filters/tokens/sc-catalog-show-products-recursively.d.ts +0 -5
  99. package/catalog/category-card/sc-category-card.component.d.ts +0 -76
  100. package/catalog/cost-with-discount/cost-with-discount.component.d.ts +0 -23
  101. package/catalog/download-price-list/sc-download-price-list.component.d.ts +0 -38
  102. package/catalog/hover-image-carousel/sc-hover-image-carousel.component.d.ts +0 -48
  103. package/catalog/index.d.ts +0 -15
  104. package/catalog/input-quantity/sc-input-quantity.component.d.ts +0 -82
  105. package/catalog/notify-when-in-stock-dialog/index.d.ts +0 -2
  106. package/catalog/notify-when-in-stock-dialog/sc-notify-when-in-stock-dialog.component.d.ts +0 -90
  107. package/catalog/notify-when-in-stock-dialog/sc-product-in-all-warehouses.pipe.d.ts +0 -22
  108. package/catalog/price-card/sc-price-card.component.d.ts +0 -18
  109. package/catalog/price-card-inline/sc-price-card-inline.component.d.ts +0 -10
  110. package/catalog/price-history/sc-price-history.component.d.ts +0 -92
  111. package/catalog/price-list-pagination/sc-price-list-pagination.component.d.ts +0 -40
  112. package/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.d.ts +0 -47
  113. package/catalog/sc-catalog.module.d.ts +0 -29
  114. package/catalog/sc-favorite-button/sc-favorite-button.component.d.ts +0 -25
  115. package/catalog/seo-tags/sc-seo-tags.component.d.ts +0 -20
  116. package/configurators/index.d.ts +0 -3
  117. package/configurators/models/index.d.ts +0 -3
  118. package/configurators/models/sandwich/sc-i-configurator-search-product-sandwich.d.ts +0 -22
  119. package/configurators/models/sandwich/sc-i-sandwich-settings.d.ts +0 -18
  120. package/configurators/models/sandwich_m2/sc-i-sandwich-m2-settings.d.ts +0 -18
  121. package/configurators/sandwich/index.d.ts +0 -3
  122. package/configurators/sandwich/sandwich-skeleton/sc-sandwich-skeleton.component.d.ts +0 -8
  123. package/configurators/sandwich/sc-i-new-cart-item-sandwich.d.ts +0 -14
  124. package/configurators/sandwich/sc-sandwich.component.d.ts +0 -186
  125. package/configurators/sandwich_m2/index.d.ts +0 -4
  126. package/configurators/sandwich_m2/sandwich-m2-skeleton/sc-sandwich-m2-skeleton.component.d.ts +0 -8
  127. package/configurators/sandwich_m2/sc-i-new-cart-item-sandwich-m2.d.ts +0 -23
  128. package/configurators/sandwich_m2/sc-sandwich-m2-item-submit-state.d.ts +0 -13
  129. package/configurators/sandwich_m2/sc-sandwich-m2.component.d.ts +0 -275
  130. package/contacts/add-contact-dialog/sc-add-contact-dialog.component.d.ts +0 -49
  131. package/contacts/contacts-accordion/sc-contacts-accordion.component.d.ts +0 -23
  132. package/contacts/index.d.ts +0 -7
  133. package/contacts/manager-card/sc-manager-card.component.d.ts +0 -22
  134. package/contacts/manager-card-push/sc-manager-card-push.component.d.ts +0 -18
  135. package/contacts/new-contact-form/sc-new-contact-form.component.d.ts +0 -28
  136. package/contacts/sc-contacts.module.d.ts +0 -27
  137. package/contacts/tokens/index.d.ts +0 -2
  138. package/contacts/tokens/sc-manager-qr-handler.token.d.ts +0 -6
  139. package/contacts/tokens/sc-show-help-notification-in-phone-input.token.d.ts +0 -5
  140. package/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.d.ts +0 -49
  141. package/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.d.ts +0 -158
  142. package/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.d.ts +0 -62
  143. package/contragents/contragents-accordion/sc-contragents-accordion.component.d.ts +0 -49
  144. package/contragents/index.d.ts +0 -7
  145. package/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.d.ts +0 -64
  146. package/contragents/new-contragent-form/sc-new-contragent-form.component.d.ts +0 -119
  147. package/contragents/sc-contragents.module.d.ts +0 -26
  148. package/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.d.ts +0 -135
  149. package/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.d.ts +0 -50
  150. package/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.d.ts +0 -49
  151. package/delivery-address/index.d.ts +0 -4
  152. package/delivery-address/sc-delivery-address.module.d.ts +0 -25
  153. package/dialogs/index.d.ts +0 -1
  154. package/dialogs/sc-resource-preview/sc-resource-preview.component.d.ts +0 -42
  155. package/directives/abstract-price-card/abstract-sc-price-card.directive.d.ts +0 -136
  156. package/directives/index.d.ts +0 -9
  157. package/directives/links/index.d.ts +0 -4
  158. package/directives/links/sc-email-link.directive.d.ts +0 -25
  159. package/directives/links/sc-link-location.d.ts +0 -5
  160. package/directives/links/sc-links.d.ts +0 -7
  161. package/directives/links/sc-tel-link.directive.d.ts +0 -40
  162. package/directives/next-input-focus/sc-next-input-focus.directive.d.ts +0 -27
  163. package/directives/next-input-focus/sc-next-input-focus.module.d.ts +0 -10
  164. package/directives/print/sc-print.directive.d.ts +0 -21
  165. package/directives/sc-date-value-transformer.directive.d.ts +0 -8
  166. package/directives/sc-focus-first-invalid-field.directive.d.ts +0 -30
  167. package/directives/select-on-focusin/sc-select-on-focusin.directive.d.ts +0 -14
  168. package/directives/terminal-link/sc-terminal-link.directive.d.ts +0 -34
  169. package/error-handler/consts/error-change-handler.providers.d.ts +0 -6
  170. package/error-handler/error-block-status/error-block-status.component.d.ts +0 -55
  171. package/error-handler/index.d.ts +0 -4
  172. package/error-handler/interfaces/i-block-error.d.ts +0 -17
  173. package/error-handler/sc-error-handler.component.d.ts +0 -40
  174. package/esm2022/accordion/index.mjs +0 -4
  175. package/esm2022/accordion/sc-accordion-content.directive.mjs +0 -17
  176. package/esm2022/accordion/sc-accordion.component.mjs +0 -92
  177. package/esm2022/accordion/sc-accordion.module.mjs +0 -26
  178. package/esm2022/auth/enums/auth-method.mjs +0 -15
  179. package/esm2022/auth/index.mjs +0 -9
  180. package/esm2022/auth/interfaces/index.mjs +0 -3
  181. package/esm2022/auth/interfaces/sc-bank-account-form-group.mjs +0 -2
  182. package/esm2022/auth/interfaces/sc-contact-form-group.mjs +0 -2
  183. package/esm2022/auth/sc-auth.module.mjs +0 -103
  184. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.mjs +0 -100
  185. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs +0 -81
  186. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form.component.mjs +0 -89
  187. package/esm2022/auth/sc-simple-sign-up-form/sc-simple-sign-up-form.component.mjs +0 -203
  188. package/esm2022/auth/sign-up-form/sc-sign-up-form.component.mjs +0 -334
  189. package/esm2022/banner/index.mjs +0 -3
  190. package/esm2022/banner/sc-banner.component.mjs +0 -176
  191. package/esm2022/banner/sc-banner.module.mjs +0 -29
  192. package/esm2022/brands-list/index.mjs +0 -4
  193. package/esm2022/brands-list/sc-brand-list-item.mjs +0 -2
  194. package/esm2022/brands-list/sc-brands-list.component.mjs +0 -24
  195. package/esm2022/brands-list/sc-brands-list.module.mjs +0 -22
  196. package/esm2022/cart/add-or-editing-cart-item-dialog/add-or-editing-cart-item-form/sc-add-or-editing-cart-item-form.component.mjs +0 -233
  197. package/esm2022/cart/add-or-editing-cart-item-dialog/index.mjs +0 -3
  198. package/esm2022/cart/add-or-editing-cart-item-dialog/sc-add-or-editing-cart-item-dialog.component.mjs +0 -75
  199. package/esm2022/cart/index.mjs +0 -3
  200. package/esm2022/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.mjs +0 -110
  201. package/esm2022/catalog/catalog-filters/collapsible/sc-catalog-filter-collapsible.component.mjs +0 -59
  202. package/esm2022/catalog/catalog-filters/index.mjs +0 -5
  203. package/esm2022/catalog/catalog-filters/sc-catalog-filters.component.mjs +0 -451
  204. package/esm2022/catalog/catalog-filters/tokens/sc-catalog-products-filters.mjs +0 -10
  205. package/esm2022/catalog/catalog-filters/tokens/sc-catalog-show-products-recursively.mjs +0 -6
  206. package/esm2022/catalog/category-card/sc-category-card.component.mjs +0 -102
  207. package/esm2022/catalog/cost-with-discount/cost-with-discount.component.mjs +0 -38
  208. package/esm2022/catalog/download-price-list/sc-download-price-list.component.mjs +0 -56
  209. package/esm2022/catalog/hover-image-carousel/sc-hover-image-carousel.component.mjs +0 -76
  210. package/esm2022/catalog/index.mjs +0 -16
  211. package/esm2022/catalog/input-quantity/sc-input-quantity.component.mjs +0 -190
  212. package/esm2022/catalog/notify-when-in-stock-dialog/index.mjs +0 -3
  213. package/esm2022/catalog/notify-when-in-stock-dialog/sc-notify-when-in-stock-dialog.component.mjs +0 -173
  214. package/esm2022/catalog/notify-when-in-stock-dialog/sc-product-in-all-warehouses.pipe.mjs +0 -35
  215. package/esm2022/catalog/price-card/sc-price-card.component.mjs +0 -71
  216. package/esm2022/catalog/price-card-inline/sc-price-card-inline.component.mjs +0 -54
  217. package/esm2022/catalog/price-history/sc-price-history.component.mjs +0 -144
  218. package/esm2022/catalog/price-list-pagination/sc-price-list-pagination.component.mjs +0 -65
  219. package/esm2022/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.mjs +0 -61
  220. package/esm2022/catalog/sc-catalog.module.mjs +0 -128
  221. package/esm2022/catalog/sc-favorite-button/sc-favorite-button.component.mjs +0 -42
  222. package/esm2022/catalog/seo-tags/sc-seo-tags.component.mjs +0 -25
  223. package/esm2022/configurators/index.mjs +0 -4
  224. package/esm2022/configurators/models/index.mjs +0 -4
  225. package/esm2022/configurators/models/sandwich/sc-i-configurator-search-product-sandwich.mjs +0 -2
  226. package/esm2022/configurators/models/sandwich/sc-i-sandwich-settings.mjs +0 -2
  227. package/esm2022/configurators/models/sandwich_m2/sc-i-sandwich-m2-settings.mjs +0 -2
  228. package/esm2022/configurators/sandwich/index.mjs +0 -4
  229. package/esm2022/configurators/sandwich/sandwich-skeleton/sc-sandwich-skeleton.component.mjs +0 -14
  230. package/esm2022/configurators/sandwich/sc-i-new-cart-item-sandwich.mjs +0 -2
  231. package/esm2022/configurators/sandwich/sc-sandwich.component.mjs +0 -387
  232. package/esm2022/configurators/sandwich_m2/index.mjs +0 -5
  233. package/esm2022/configurators/sandwich_m2/sandwich-m2-skeleton/sc-sandwich-m2-skeleton.component.mjs +0 -14
  234. package/esm2022/configurators/sandwich_m2/sc-i-new-cart-item-sandwich-m2.mjs +0 -2
  235. package/esm2022/configurators/sandwich_m2/sc-sandwich-m2-item-submit-state.mjs +0 -5
  236. package/esm2022/configurators/sandwich_m2/sc-sandwich-m2.component.mjs +0 -569
  237. package/esm2022/contacts/add-contact-dialog/sc-add-contact-dialog.component.mjs +0 -91
  238. package/esm2022/contacts/contacts-accordion/sc-contacts-accordion.component.mjs +0 -37
  239. package/esm2022/contacts/index.mjs +0 -8
  240. package/esm2022/contacts/manager-card/sc-manager-card.component.mjs +0 -58
  241. package/esm2022/contacts/manager-card-push/sc-manager-card-push.component.mjs +0 -28
  242. package/esm2022/contacts/new-contact-form/sc-new-contact-form.component.mjs +0 -37
  243. package/esm2022/contacts/sc-contacts.module.mjs +0 -89
  244. package/esm2022/contacts/tokens/index.mjs +0 -3
  245. package/esm2022/contacts/tokens/sc-manager-qr-handler.token.mjs +0 -25
  246. package/esm2022/contacts/tokens/sc-show-help-notification-in-phone-input.token.mjs +0 -9
  247. package/esm2022/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.mjs +0 -81
  248. package/esm2022/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.mjs +0 -266
  249. package/esm2022/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.mjs +0 -74
  250. package/esm2022/contragents/contragents-accordion/sc-contragents-accordion.component.mjs +0 -68
  251. package/esm2022/contragents/index.mjs +0 -8
  252. package/esm2022/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.mjs +0 -72
  253. package/esm2022/contragents/new-contragent-form/sc-new-contragent-form.component.mjs +0 -224
  254. package/esm2022/contragents/sc-contragents.module.mjs +0 -115
  255. package/esm2022/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.mjs +0 -240
  256. package/esm2022/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.mjs +0 -60
  257. package/esm2022/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.mjs +0 -68
  258. package/esm2022/delivery-address/index.mjs +0 -5
  259. package/esm2022/delivery-address/sc-delivery-address.module.mjs +0 -96
  260. package/esm2022/dialogs/index.mjs +0 -2
  261. package/esm2022/dialogs/sc-resource-preview/sc-resource-preview.component.mjs +0 -73
  262. package/esm2022/directives/abstract-price-card/abstract-sc-price-card.directive.mjs +0 -170
  263. package/esm2022/directives/index.mjs +0 -10
  264. package/esm2022/directives/links/index.mjs +0 -5
  265. package/esm2022/directives/links/sc-email-link.directive.mjs +0 -49
  266. package/esm2022/directives/links/sc-link-location.mjs +0 -2
  267. package/esm2022/directives/links/sc-links.mjs +0 -8
  268. package/esm2022/directives/links/sc-tel-link.directive.mjs +0 -79
  269. package/esm2022/directives/next-input-focus/sc-next-input-focus.directive.mjs +0 -70
  270. package/esm2022/directives/next-input-focus/sc-next-input-focus.module.mjs +0 -19
  271. package/esm2022/directives/print/sc-print.directive.mjs +0 -36
  272. package/esm2022/directives/sc-date-value-transformer.directive.mjs +0 -30
  273. package/esm2022/directives/sc-focus-first-invalid-field.directive.mjs +0 -85
  274. package/esm2022/directives/select-on-focusin/sc-select-on-focusin.directive.mjs +0 -36
  275. package/esm2022/directives/terminal-link/sc-terminal-link.directive.mjs +0 -69
  276. package/esm2022/error-handler/consts/error-change-handler.providers.mjs +0 -10
  277. package/esm2022/error-handler/error-block-status/error-block-status.component.mjs +0 -101
  278. package/esm2022/error-handler/index.mjs +0 -5
  279. package/esm2022/error-handler/interfaces/i-block-error.mjs +0 -2
  280. package/esm2022/error-handler/sc-error-handler.component.mjs +0 -58
  281. package/esm2022/feedback/feedback-form/sc-feedback-form.component.mjs +0 -344
  282. package/esm2022/feedback/gratitude/sc-gratitude.component.mjs +0 -32
  283. package/esm2022/feedback/index.mjs +0 -4
  284. package/esm2022/feedback/interfaces/index.mjs +0 -2
  285. package/esm2022/feedback/interfaces/sc-feedback-form-config.mjs +0 -2
  286. package/esm2022/files/directives/index.mjs +0 -3
  287. package/esm2022/files/directives/tree-top.directive.mjs +0 -63
  288. package/esm2022/files/directives/tree.directive.mjs +0 -47
  289. package/esm2022/files/file-tree-item/file-tree-item.component.mjs +0 -18
  290. package/esm2022/files/files-and-documents/files-and-documents.component.mjs +0 -61
  291. package/esm2022/files/files-and-documents.module.mjs +0 -28
  292. package/esm2022/files/index.mjs +0 -6
  293. package/esm2022/files/interfaces/tree-node.mjs +0 -2
  294. package/esm2022/files/services/index.mjs +0 -3
  295. package/esm2022/files/services/tree-icon.service.mjs +0 -49
  296. package/esm2022/files/services/tree-loader.service.mjs +0 -62
  297. package/esm2022/form-fields/addresses-selection-field/sc-addresses-selection-field.component.mjs +0 -156
  298. package/esm2022/form-fields/form-fields.module.mjs +0 -66
  299. package/esm2022/form-fields/index.mjs +0 -4
  300. package/esm2022/form-fields/suggestion-field/sc-suggestion-field.component.mjs +0 -174
  301. package/esm2022/icons/index.mjs +0 -2
  302. package/esm2022/icons/sc-client-ui-icons-name.mjs +0 -99
  303. package/esm2022/loader/index.mjs +0 -2
  304. package/esm2022/loader/sc-i-loader.mjs +0 -2
  305. package/esm2022/masks/index.mjs +0 -8
  306. package/esm2022/masks/sc-account-number-mask.mjs +0 -7
  307. package/esm2022/masks/sc-bic-mask.mjs +0 -7
  308. package/esm2022/masks/sc-correspondent-account-mask.mjs +0 -7
  309. package/esm2022/masks/sc-inn-mask.mjs +0 -13
  310. package/esm2022/masks/sc-kpp-mask.mjs +0 -7
  311. package/esm2022/masks/sc-okpo-mask.mjs +0 -13
  312. package/esm2022/masks/sc-phone-verification-code-mask.mjs +0 -7
  313. package/esm2022/methods/index.mjs +0 -2
  314. package/esm2022/methods/sc-get-current-route.mjs +0 -14
  315. package/esm2022/models/i-sc-image.mjs +0 -2
  316. package/esm2022/models/index.mjs +0 -2
  317. package/esm2022/news/index.mjs +0 -4
  318. package/esm2022/news/news-card/sc-news-card.component.mjs +0 -34
  319. package/esm2022/news/news-card-skeleton/sc-news-card-skeleton.component.mjs +0 -31
  320. package/esm2022/news/sc-news.module.mjs +0 -25
  321. package/esm2022/noindex-wrapper/directives/index.mjs +0 -2
  322. package/esm2022/noindex-wrapper/directives/sc-noindex.directive.mjs +0 -58
  323. package/esm2022/noindex-wrapper/index.mjs +0 -3
  324. package/esm2022/noindex-wrapper/sc-noindex-wrapper.component.mjs +0 -18
  325. package/esm2022/order/directives/index.mjs +0 -3
  326. package/esm2022/order/directives/sc-order-accessor.directive.mjs +0 -28
  327. package/esm2022/order/directives/sc-order-options.mjs +0 -11
  328. package/esm2022/order/draft/sc-draft.component.mjs +0 -118
  329. package/esm2022/order/index.mjs +0 -14
  330. package/esm2022/order/models/i-new-order-form.mjs +0 -2
  331. package/esm2022/order/models/sc-i-cart-items-by-direction.mjs +0 -22
  332. package/esm2022/order/order-direction-items/sc-order-direction-items.component.mjs +0 -39
  333. package/esm2022/order/order-form/sc-order-form.component.mjs +0 -565
  334. package/esm2022/order/order-form/sc-order-form.config.mjs +0 -7
  335. package/esm2022/order/order-item/sc-order-item.component.mjs +0 -112
  336. package/esm2022/order/order-items-list/sc-order-items-list.component.mjs +0 -212
  337. package/esm2022/order/order-items-list-by-directions/sc-order-items-list-by-directions.component.mjs +0 -75
  338. package/esm2022/order/order-items-list-by-stock/sc-order-items-list-by-stock.component.mjs +0 -75
  339. package/esm2022/order/sc-order.module.mjs +0 -52
  340. package/esm2022/order/sc-payment-status/sc-payment-status.component.mjs +0 -35
  341. package/esm2022/pages/frequently-asked-questions/sc-faq-query-params.mjs +0 -5
  342. package/esm2022/pages/frequently-asked-questions/sc-faq-question-anchor.mjs +0 -23
  343. package/esm2022/pages/frequently-asked-questions/sc-frequently-asked-questions.component.mjs +0 -167
  344. package/esm2022/pages/frequently-asked-questions/sc-get-faq-group-query-params.mjs +0 -14
  345. package/esm2022/pages/frequently-asked-questions/sc-page-size-options.mjs +0 -8
  346. package/esm2022/pages/frequently-asked-questions-group-selector/sc-frequently-asked-questions-group-selector.component.mjs +0 -88
  347. package/esm2022/pages/frequently-asked-questions-with-groups/sc-frequently-asked-questions-with-groups.component.mjs +0 -123
  348. package/esm2022/pages/index.mjs +0 -11
  349. package/esm2022/pages/news-list/sc-news-list.component.mjs +0 -90
  350. package/esm2022/pages/personal-data-processing-policy/sc-personal-data-processing-policy.component.mjs +0 -46
  351. package/esm2022/pages/privacy-policy/sc-privacy-policy.component.mjs +0 -30
  352. package/esm2022/pages/public-offer/sc-public-offer.component.mjs +0 -50
  353. package/esm2022/pagination/index.mjs +0 -2
  354. package/esm2022/pagination/sc-pagination-links/sc-pagination-links.component.mjs +0 -99
  355. package/esm2022/pipes/index.mjs +0 -3
  356. package/esm2022/pipes/sc-format-date.mjs +0 -33
  357. package/esm2022/pipes/sc-phone-format.mjs +0 -44
  358. package/esm2022/profile/index.mjs +0 -3
  359. package/esm2022/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +0 -174
  360. package/esm2022/profile/sc-profile.module.mjs +0 -73
  361. package/esm2022/providers/cleanup-recaptcha-artifacts.mjs +0 -30
  362. package/esm2022/providers/date-value-transformer/index.mjs +0 -4
  363. package/esm2022/providers/date-value-transformer/sc-date-value-transformer-types.mjs +0 -2
  364. package/esm2022/providers/date-value-transformer/sc-date-value-transformer-with-end-time.mjs +0 -26
  365. package/esm2022/providers/date-value-transformer/sc-date-value-transformer-with-start-time.mjs +0 -37
  366. package/esm2022/providers/index.mjs +0 -17
  367. package/esm2022/providers/sc-allow-select-terminated.mjs +0 -8
  368. package/esm2022/providers/sc-banner-duration.mjs +0 -8
  369. package/esm2022/providers/sc-country-ids.mjs +0 -8
  370. package/esm2022/providers/sc-date-formatter.mjs +0 -15
  371. package/esm2022/providers/sc-date-value-transformer.mjs +0 -12
  372. package/esm2022/providers/sc-debounce-time-default.mjs +0 -9
  373. package/esm2022/providers/sc-dialog-service.providers.mjs +0 -6
  374. package/esm2022/providers/sc-help-notification-close.mjs +0 -9
  375. package/esm2022/providers/sc-help-notification-limit.mjs +0 -8
  376. package/esm2022/providers/sc-hidden-print-elements.token.mjs +0 -10
  377. package/esm2022/providers/sc-max-files-in-form-input.mjs +0 -8
  378. package/esm2022/providers/sc-notify-when-in-stock-required-fields.mjs +0 -8
  379. package/esm2022/providers/sc-page-size-options.mjs +0 -8
  380. package/esm2022/providers/sc-user-providers.mjs +0 -38
  381. package/esm2022/providers/sc-verification-code-timeout.mjs +0 -8
  382. package/esm2022/public-api.mjs +0 -36
  383. package/esm2022/qrcode/index.mjs +0 -3
  384. package/esm2022/qrcode/qrcode-dialog/sc-qrcode-dialog.component.mjs +0 -58
  385. package/esm2022/qrcode/sc-qrcode.module.mjs +0 -25
  386. package/esm2022/samples/index.mjs +0 -5
  387. package/esm2022/samples/interfaces/index.mjs +0 -3
  388. package/esm2022/samples/interfaces/sc-i-preview-sample.mjs +0 -2
  389. package/esm2022/samples/interfaces/sc-preview-mosquito-config.mjs +0 -2
  390. package/esm2022/samples/preview-sample/sc-preview-sample.component.mjs +0 -42
  391. package/esm2022/samples/sc-preview-samples-mosquito/sc-preview-samples-mosquito.component.mjs +0 -63
  392. package/esm2022/samples/sc-sample.module.mjs +0 -66
  393. package/esm2022/services/index.mjs +0 -3
  394. package/esm2022/services/print.service.mjs +0 -49
  395. package/esm2022/services/sc-help-notification.service.mjs +0 -100
  396. package/esm2022/share/index.mjs +0 -6
  397. package/esm2022/share/sc-share-dialog-data.mjs +0 -2
  398. package/esm2022/share/sc-share.service.mjs +0 -40
  399. package/esm2022/share/share-button/sc-share-button.component.mjs +0 -99
  400. package/esm2022/share/share-dialog/sc-share-dialog.component.mjs +0 -139
  401. package/esm2022/share/share-messengers-links/sc-share-messengers-links.component.mjs +0 -84
  402. package/esm2022/snabcentr-client-ui.mjs +0 -5
  403. package/esm2022/user/index.mjs +0 -6
  404. package/esm2022/user/reset-user-password/sc-reset-user-password.component.mjs +0 -74
  405. package/esm2022/user/sc-user.module.mjs +0 -86
  406. package/esm2022/user/update-user-info-dialog/sc-update-user-info-dialog.component.mjs +0 -121
  407. package/esm2022/user/user-managers/sc-user-managers.component.mjs +0 -40
  408. package/esm2022/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.mjs +0 -105
  409. package/esm2022/validators/index.mjs +0 -7
  410. package/esm2022/validators/sc-at-least-one-required-validator.mjs +0 -25
  411. package/esm2022/validators/sc-bic-validator.mjs +0 -10
  412. package/esm2022/validators/sc-correspondent-account-validator.mjs +0 -10
  413. package/esm2022/validators/sc-password-confirm-matching-validator.mjs +0 -17
  414. package/esm2022/validators/sc-phone-validator.mjs +0 -14
  415. package/esm2022/validators/step-validator.mjs +0 -18
  416. package/esm2022/verification/index.mjs +0 -3
  417. package/esm2022/verification/sc-verification.module.mjs +0 -86
  418. package/esm2022/verification/verification-phone-check-form/sc-verification-phone-check-form.component.mjs +0 -259
  419. package/feedback/feedback-form/sc-feedback-form.component.d.ts +0 -163
  420. package/feedback/gratitude/sc-gratitude.component.d.ts +0 -20
  421. package/feedback/index.d.ts +0 -3
  422. package/feedback/interfaces/index.d.ts +0 -1
  423. package/feedback/interfaces/sc-feedback-form-config.d.ts +0 -23
  424. package/files/directives/index.d.ts +0 -2
  425. package/files/directives/tree-top.directive.d.ts +0 -33
  426. package/files/directives/tree.directive.d.ts +0 -35
  427. package/files/file-tree-item/file-tree-item.component.d.ts +0 -9
  428. package/files/files-and-documents/files-and-documents.component.d.ts +0 -27
  429. package/files/files-and-documents.module.d.ts +0 -17
  430. package/files/index.d.ts +0 -5
  431. package/files/interfaces/tree-node.d.ts +0 -29
  432. package/files/services/index.d.ts +0 -2
  433. package/files/services/tree-icon.service.d.ts +0 -23
  434. package/files/services/tree-loader.service.d.ts +0 -43
  435. package/form-fields/addresses-selection-field/sc-addresses-selection-field.component.d.ts +0 -78
  436. package/form-fields/form-fields.module.d.ts +0 -18
  437. package/form-fields/index.d.ts +0 -3
  438. package/form-fields/suggestion-field/sc-suggestion-field.component.d.ts +0 -73
  439. package/icons/index.d.ts +0 -1
  440. package/icons/sc-client-ui-icons-name.d.ts +0 -4
  441. package/index.d.ts +0 -5
  442. package/loader/index.d.ts +0 -1
  443. package/loader/sc-i-loader.d.ts +0 -9
  444. package/masks/index.d.ts +0 -7
  445. package/masks/sc-account-number-mask.d.ts +0 -5
  446. package/masks/sc-bic-mask.d.ts +0 -5
  447. package/masks/sc-correspondent-account-mask.d.ts +0 -5
  448. package/masks/sc-inn-mask.d.ts +0 -9
  449. package/masks/sc-kpp-mask.d.ts +0 -5
  450. package/masks/sc-okpo-mask.d.ts +0 -9
  451. package/masks/sc-phone-verification-code-mask.d.ts +0 -5
  452. package/methods/index.d.ts +0 -1
  453. package/methods/sc-get-current-route.d.ts +0 -8
  454. package/models/i-sc-image.d.ts +0 -17
  455. package/models/index.d.ts +0 -1
  456. package/news/index.d.ts +0 -3
  457. package/news/news-card/sc-news-card.component.d.ts +0 -22
  458. package/news/news-card-skeleton/sc-news-card-skeleton.component.d.ts +0 -16
  459. package/news/sc-news.module.d.ts +0 -15
  460. package/noindex-wrapper/directives/index.d.ts +0 -1
  461. package/noindex-wrapper/directives/sc-noindex.directive.d.ts +0 -29
  462. package/noindex-wrapper/index.d.ts +0 -2
  463. package/noindex-wrapper/sc-noindex-wrapper.component.d.ts +0 -9
  464. package/order/directives/index.d.ts +0 -2
  465. package/order/directives/sc-order-accessor.directive.d.ts +0 -13
  466. package/order/directives/sc-order-options.d.ts +0 -14
  467. package/order/draft/sc-draft.component.d.ts +0 -63
  468. package/order/index.d.ts +0 -13
  469. package/order/models/i-new-order-form.d.ts +0 -39
  470. package/order/models/sc-i-cart-items-by-direction.d.ts +0 -25
  471. package/order/order-direction-items/sc-order-direction-items.component.d.ts +0 -29
  472. package/order/order-form/sc-order-form.component.d.ts +0 -283
  473. package/order/order-form/sc-order-form.config.d.ts +0 -20
  474. package/order/order-item/sc-order-item.component.d.ts +0 -43
  475. package/order/order-items-list/sc-order-items-list.component.d.ts +0 -113
  476. package/order/order-items-list-by-directions/sc-order-items-list-by-directions.component.d.ts +0 -58
  477. package/order/order-items-list-by-stock/sc-order-items-list-by-stock.component.d.ts +0 -55
  478. package/order/sc-order.module.d.ts +0 -18
  479. package/order/sc-payment-status/sc-payment-status.component.d.ts +0 -25
  480. package/pages/frequently-asked-questions/sc-faq-query-params.d.ts +0 -4
  481. package/pages/frequently-asked-questions/sc-faq-question-anchor.d.ts +0 -16
  482. package/pages/frequently-asked-questions/sc-frequently-asked-questions.component.d.ts +0 -84
  483. package/pages/frequently-asked-questions/sc-get-faq-group-query-params.d.ts +0 -10
  484. package/pages/frequently-asked-questions/sc-page-size-options.d.ts +0 -5
  485. package/pages/frequently-asked-questions-group-selector/sc-frequently-asked-questions-group-selector.component.d.ts +0 -47
  486. package/pages/frequently-asked-questions-with-groups/sc-frequently-asked-questions-with-groups.component.d.ts +0 -89
  487. package/pages/index.d.ts +0 -10
  488. package/pages/news-list/sc-news-list.component.d.ts +0 -57
  489. package/pages/personal-data-processing-policy/sc-personal-data-processing-policy.component.d.ts +0 -17
  490. package/pages/privacy-policy/sc-privacy-policy.component.d.ts +0 -17
  491. package/pages/public-offer/sc-public-offer.component.d.ts +0 -22
  492. package/pagination/index.d.ts +0 -1
  493. package/pagination/sc-pagination-links/sc-pagination-links.component.d.ts +0 -60
  494. package/pipes/index.d.ts +0 -2
  495. package/pipes/sc-format-date.d.ts +0 -20
  496. package/pipes/sc-phone-format.d.ts +0 -21
  497. package/profile/index.d.ts +0 -2
  498. package/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.d.ts +0 -126
  499. package/profile/sc-profile.module.d.ts +0 -23
  500. package/providers/cleanup-recaptcha-artifacts.d.ts +0 -7
  501. package/providers/date-value-transformer/index.d.ts +0 -3
  502. package/providers/date-value-transformer/sc-date-value-transformer-types.d.ts +0 -9
  503. package/providers/date-value-transformer/sc-date-value-transformer-with-end-time.d.ts +0 -16
  504. package/providers/date-value-transformer/sc-date-value-transformer-with-start-time.d.ts +0 -22
  505. package/providers/index.d.ts +0 -16
  506. package/providers/sc-allow-select-terminated.d.ts +0 -5
  507. package/providers/sc-banner-duration.d.ts +0 -5
  508. package/providers/sc-country-ids.d.ts +0 -5
  509. package/providers/sc-date-formatter.d.ts +0 -6
  510. package/providers/sc-date-value-transformer.d.ts +0 -5
  511. package/providers/sc-debounce-time-default.d.ts +0 -5
  512. package/providers/sc-dialog-service.providers.d.ts +0 -45
  513. package/providers/sc-help-notification-close.d.ts +0 -6
  514. package/providers/sc-help-notification-limit.d.ts +0 -5
  515. package/providers/sc-hidden-print-elements.token.d.ts +0 -6
  516. package/providers/sc-max-files-in-form-input.d.ts +0 -5
  517. package/providers/sc-notify-when-in-stock-required-fields.d.ts +0 -5
  518. package/providers/sc-page-size-options.d.ts +0 -5
  519. package/providers/sc-user-providers.d.ts +0 -21
  520. package/providers/sc-verification-code-timeout.d.ts +0 -5
  521. package/public-api.d.ts +0 -35
  522. package/qrcode/index.d.ts +0 -2
  523. package/qrcode/qrcode-dialog/sc-qrcode-dialog.component.d.ts +0 -37
  524. package/qrcode/sc-qrcode.module.d.ts +0 -14
  525. package/samples/index.d.ts +0 -4
  526. package/samples/interfaces/index.d.ts +0 -2
  527. package/samples/interfaces/sc-i-preview-sample.d.ts +0 -56
  528. package/samples/interfaces/sc-preview-mosquito-config.d.ts +0 -62
  529. package/samples/preview-sample/sc-preview-sample.component.d.ts +0 -30
  530. package/samples/sc-preview-samples-mosquito/sc-preview-samples-mosquito.component.d.ts +0 -50
  531. package/samples/sc-sample.module.d.ts +0 -19
  532. package/services/index.d.ts +0 -2
  533. package/services/print.service.d.ts +0 -31
  534. package/services/sc-help-notification.service.d.ts +0 -70
  535. package/share/index.d.ts +0 -5
  536. package/share/sc-share-dialog-data.d.ts +0 -13
  537. package/share/sc-share.service.d.ts +0 -19
  538. package/share/share-button/sc-share-button.component.d.ts +0 -78
  539. package/share/share-dialog/sc-share-dialog.component.d.ts +0 -87
  540. package/share/share-messengers-links/sc-share-messengers-links.component.d.ts +0 -49
  541. package/user/index.d.ts +0 -5
  542. package/user/reset-user-password/sc-reset-user-password.component.d.ts +0 -46
  543. package/user/sc-user.module.d.ts +0 -24
  544. package/user/update-user-info-dialog/sc-update-user-info-dialog.component.d.ts +0 -63
  545. package/user/user-managers/sc-user-managers.component.d.ts +0 -23
  546. package/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.d.ts +0 -53
  547. package/validators/index.d.ts +0 -6
  548. package/validators/sc-at-least-one-required-validator.d.ts +0 -10
  549. package/validators/sc-bic-validator.d.ts +0 -8
  550. package/validators/sc-correspondent-account-validator.d.ts +0 -8
  551. package/validators/sc-password-confirm-matching-validator.d.ts +0 -8
  552. package/validators/sc-phone-validator.d.ts +0 -5
  553. package/validators/step-validator.d.ts +0 -7
  554. package/verification/index.d.ts +0 -2
  555. package/verification/sc-verification.module.d.ts +0 -21
  556. package/verification/verification-phone-check-form/sc-verification-phone-check-form.component.d.ts +0 -145
@@ -1,176 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, computed, ContentChildren, DestroyRef, EventEmitter, HostBinding, inject, Input, input, Output, signal, } from '@angular/core';
2
- import { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';
3
- import { IntersectionObserverService } from '@ng-web-apis/intersection-observer';
4
- import { ScBannerService, ScUserMetrikaGoalsEnum, ScUserMetrikaService } from '@snabcentr/client-core';
5
- import { TUI_SWIPE_OPTIONS, TuiSwipeService } from '@taiga-ui/cdk';
6
- import { map, shareReplay, switchMap, tap } from 'rxjs';
7
- import { SC_BANNER_DURATION } from '../providers';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/common";
10
- import * as i2 from "@taiga-ui/core";
11
- import * as i3 from "@taiga-ui/cdk/directives/item";
12
- import * as i4 from "@taiga-ui/kit";
13
- import * as i5 from "@snabcentr/client-core";
14
- /**
15
- * Баннер с прокруткой переданных {@link TemplateRef} элементов, и баннеров локации.
16
- */
17
- export class ScBannerComponent {
18
- constructor() {
19
- /**
20
- * Признак, что необходимо показывать кнопки навигации.
21
- */
22
- this.navigateButton = true;
23
- /**
24
- * Интервал автоматической смены слайдов в миллисекундах (используйте 0, чтобы отключить автоматическую смену слайда).
25
- */
26
- this.duration = inject(SC_BANNER_DURATION);
27
- /**
28
- * Местоположение баннера.
29
- */
30
- this.bannerLocation = input();
31
- /**
32
- * Признак, что компонент должен растягиваться.
33
- */
34
- this.resizable = false;
35
- /**
36
- * Событие загрузки баннеров с количеством полученных баннеров.
37
- */
38
- this.loadBannersEvent = new EventEmitter();
39
- /**
40
- * Событие нажатия на изображение баннера.
41
- */
42
- this.clickBannerEvent = new EventEmitter();
43
- /**
44
- * Свойство, от которого зависит соотношение `:host` компонента.
45
- */
46
- this.aspectRatio = '';
47
- /**
48
- * Идентификатор текущего баннера.
49
- */
50
- this.currentBannerId = signal(0);
51
- /**
52
- * Идентификатор баннера на момент начала касания.
53
- */
54
- this.touchStartBannerId = 0;
55
- /**
56
- * Сервис для работы с данными о баннерах.
57
- */
58
- this.bannerService = inject(ScBannerService);
59
- /**
60
- * Сервис для сбора метрик о действиях пользователей.
61
- */
62
- this.userMetrikaService = inject(ScUserMetrikaService);
63
- /**
64
- * Поток событий свайпа по баннеру.
65
- */
66
- this.swipes$ = inject(TuiSwipeService);
67
- /**
68
- * Ссылка для автоматического управления уничтожением зависимостей.
69
- */
70
- this.destroyRef = inject(DestroyRef);
71
- /**
72
- * Список баннеров.
73
- */
74
- this.banners$ = toObservable(this.bannerLocation).pipe(switchMap((bannerLocation) => this.bannerService.banners$.pipe(map((banners) => banners.filter((banner) => banner.location === bannerLocation)), tap((banners) => {
75
- if (banners.length > 0 && !this.resizable) {
76
- this.aspectRatio = `${banners[0].width} / ${banners[0].height}`;
77
- }
78
- this.loadBannersEvent.emit(banners.length);
79
- }))),
80
- // eslint-disable-next-line rxjs/no-sharereplay
81
- shareReplay(1));
82
- this.banners = toSignal(this.banners$, { initialValue: [] });
83
- /**
84
- * Общее количество слайдов (баннеры + контент-проекция).
85
- * Используется для отключения автоскролла при 0–1 слайдах, чтобы не вызывать
86
- * tuiClamp с max < min в TuiCarouselComponent.onAutoscroll → updateIndex.
87
- */
88
- this.totalItems = computed(() => this.banners().length + this.bannersListRef.length);
89
- }
90
- /**
91
- * @inheritDoc
92
- */
93
- ngAfterViewInit() {
94
- // Подписка идёт после карусели, чтобы свайп обрабатывался последним: иначе её собственная обработка жеста добавит ещё один слайд.
95
- this.swipes$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((swipe) => {
96
- this.onSwipe(swipe);
97
- });
98
- }
99
- /**
100
- * trackBy для *ngFor баннеров: сохраняет узлы при обновлении списка,
101
- * чтобы карусель не видела 0 слайдов между тиками и не вызывала tuiClamp(…, -1).
102
- *
103
- * @param _index Индекс.
104
- * @param banner Данные о баннере.
105
- */
106
- // eslint-disable-next-line class-methods-use-this
107
- trackByBannerId(_index, banner) {
108
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
109
- return banner.id ?? _index;
110
- }
111
- /**
112
- * Обработчик начала касания баннера.
113
- */
114
- onTouchStart() {
115
- this.touchStartBannerId = this.currentBannerId();
116
- }
117
- /**
118
- * Обработчик нажатия на баннер.
119
- *
120
- * @param banner Баннер, по ссылке которого совершён переход.
121
- */
122
- onClick(banner) {
123
- this.userMetrikaService.emitUserMetrikaEvent({
124
- target: ScUserMetrikaGoalsEnum.bannerClick,
125
- params: {
126
- banner_id: banner.id,
127
- },
128
- });
129
- if (banner.url) {
130
- this.clickBannerEvent.emit(banner);
131
- }
132
- }
133
- /**
134
- * Обработчик свайпа по баннеру.
135
- *
136
- * Баннер отсчитывается от показанного в начале касания: часть жестов карусель обрабатывает сама
137
- * (короткий свайп, перетаскивание слайда пальцем), и жест не должен пролистать два баннера.
138
- *
139
- * @param swipe Событие свайпа.
140
- */
141
- onSwipe(swipe) {
142
- if (swipe.direction === 'left') {
143
- this.currentBannerId.set(Math.min(this.touchStartBannerId + 1, this.totalItems() - 1));
144
- }
145
- else if (swipe.direction === 'right') {
146
- this.currentBannerId.set(Math.max(this.touchStartBannerId - 1, 0));
147
- }
148
- }
149
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
150
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ScBannerComponent, selector: "sc-banner", inputs: { navigateButton: { classPropertyName: "navigateButton", publicName: "navigateButton", isSignal: false, isRequired: false, transformFunction: null }, duration: { classPropertyName: "duration", publicName: "duration", isSignal: false, isRequired: false, transformFunction: null }, bannerLocation: { classPropertyName: "bannerLocation", publicName: "bannerLocation", isSignal: true, isRequired: false, transformFunction: null }, resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { loadBannersEvent: "loadBannersEvent", clickBannerEvent: "clickBannerEvent" }, host: { attributes: { "ngSkipHydration": "true" }, listeners: { "touchstart": "onTouchStart()" }, properties: { "class.!hidden": "totalItems() === 0", "style.aspect-ratio": "this.aspectRatio" } }, providers: [IntersectionObserverService, TuiSwipeService, { provide: TUI_SWIPE_OPTIONS, useValue: { timeout: Number.POSITIVE_INFINITY, threshold: 30 } }], queries: [{ propertyName: "bannersListRef", predicate: ["banner"] }], ngImport: i0, template: "@let effectiveDuration = totalItems() > 1 ? duration : 0;\n\n<tui-carousel\n [duration]=\"effectiveDuration\"\n #carousel\n [attr.resizable]=\"resizable\"\n class=\"size-full overflow-hidden rounded-xl bg-white\"\n [(index)]=\"currentBannerId\"\n>\n @for (banner of banners(); track trackByBannerId($index, banner)) {\n @switch (banner.mediaType) {\n @case ('image') {\n <a\n *tuiItem\n (click)=\"onClick(banner)\"\n target=\"_blank\"\n [title]=\"banner.title\"\n [style.aspect-ratio]=\"aspectRatio\"\n [attr.href]=\"banner.url ? banner.url : null\"\n class=\"size-full\"\n >\n <picture>\n @if (banner.mediaFileWebp) {\n <source\n type=\"image/webp\"\n [srcset]=\"banner.mediaFileWebp | scMediaImageTransformer\"\n />\n }\n <img\n [src]=\"banner.mediaFile | scMediaImageTransformer: true\"\n [alt]=\"banner.title\"\n class=\"size-full object-cover\"\n />\n </picture>\n </a>\n }\n }\n }\n @for (item of bannersListRef; track $index) {\n <div\n *tuiItem\n [style.aspect-ratio]=\"aspectRatio\"\n class=\"size-full overflow-hidden\"\n >\n <ng-container [ngTemplateOutlet]=\"item\"></ng-container>\n </div>\n }\n</tui-carousel>\n\n@if (navigateButton && totalItems() > 1) {\n <div\n tuiTheme=\"light\"\n class=\"flex items-center\"\n >\n <button\n tuiIconButton\n iconStart=\"@tui.chevron-left\"\n size=\"m\"\n [style.border-radius.%]=\"100\"\n appearance=\"flat\"\n (click)=\"carousel.prev()\"\n class=\"!absolute left-2\"\n ></button>\n <button\n tuiIconButton\n iconStart=\"@tui.chevron-right\"\n size=\"m\"\n [style.border-radius.%]=\"100\"\n appearance=\"flat\"\n (click)=\"carousel.next()\"\n class=\"!absolute right-2\"\n ></button>\n </div>\n}\n", styles: [":host{--tui-carousel-padding: 0;display:flex;position:relative}::ng-deep tui-carousel[resizable=true] .t-scroller,::ng-deep tui-carousel[resizable=true] .t-items{width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: i3.TuiItem, selector: "[tuiItem]" }, { kind: "component", type: i4.TuiCarouselComponent, selector: "tui-carousel", inputs: ["draggable", "itemsCount", "index"], outputs: ["indexChange", "shift"] }, { kind: "pipe", type: i5.ScMediaImageTransformerPipe, name: "scMediaImageTransformer" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
151
- }
152
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScBannerComponent, decorators: [{
153
- type: Component,
154
- args: [{ selector: 'sc-banner', providers: [IntersectionObserverService, TuiSwipeService, { provide: TUI_SWIPE_OPTIONS, useValue: { timeout: Number.POSITIVE_INFINITY, threshold: 30 } }], host: {
155
- ngSkipHydration: 'true',
156
- '[class.!hidden]': 'totalItems() === 0',
157
- '(touchstart)': 'onTouchStart()',
158
- }, changeDetection: ChangeDetectionStrategy.OnPush, template: "@let effectiveDuration = totalItems() > 1 ? duration : 0;\n\n<tui-carousel\n [duration]=\"effectiveDuration\"\n #carousel\n [attr.resizable]=\"resizable\"\n class=\"size-full overflow-hidden rounded-xl bg-white\"\n [(index)]=\"currentBannerId\"\n>\n @for (banner of banners(); track trackByBannerId($index, banner)) {\n @switch (banner.mediaType) {\n @case ('image') {\n <a\n *tuiItem\n (click)=\"onClick(banner)\"\n target=\"_blank\"\n [title]=\"banner.title\"\n [style.aspect-ratio]=\"aspectRatio\"\n [attr.href]=\"banner.url ? banner.url : null\"\n class=\"size-full\"\n >\n <picture>\n @if (banner.mediaFileWebp) {\n <source\n type=\"image/webp\"\n [srcset]=\"banner.mediaFileWebp | scMediaImageTransformer\"\n />\n }\n <img\n [src]=\"banner.mediaFile | scMediaImageTransformer: true\"\n [alt]=\"banner.title\"\n class=\"size-full object-cover\"\n />\n </picture>\n </a>\n }\n }\n }\n @for (item of bannersListRef; track $index) {\n <div\n *tuiItem\n [style.aspect-ratio]=\"aspectRatio\"\n class=\"size-full overflow-hidden\"\n >\n <ng-container [ngTemplateOutlet]=\"item\"></ng-container>\n </div>\n }\n</tui-carousel>\n\n@if (navigateButton && totalItems() > 1) {\n <div\n tuiTheme=\"light\"\n class=\"flex items-center\"\n >\n <button\n tuiIconButton\n iconStart=\"@tui.chevron-left\"\n size=\"m\"\n [style.border-radius.%]=\"100\"\n appearance=\"flat\"\n (click)=\"carousel.prev()\"\n class=\"!absolute left-2\"\n ></button>\n <button\n tuiIconButton\n iconStart=\"@tui.chevron-right\"\n size=\"m\"\n [style.border-radius.%]=\"100\"\n appearance=\"flat\"\n (click)=\"carousel.next()\"\n class=\"!absolute right-2\"\n ></button>\n </div>\n}\n", styles: [":host{--tui-carousel-padding: 0;display:flex;position:relative}::ng-deep tui-carousel[resizable=true] .t-scroller,::ng-deep tui-carousel[resizable=true] .t-items{width:100%;height:100%}\n"] }]
159
- }], propDecorators: { navigateButton: [{
160
- type: Input
161
- }], duration: [{
162
- type: Input
163
- }], resizable: [{
164
- type: Input
165
- }], loadBannersEvent: [{
166
- type: Output
167
- }], clickBannerEvent: [{
168
- type: Output
169
- }], bannersListRef: [{
170
- type: ContentChildren,
171
- args: ['banner']
172
- }], aspectRatio: [{
173
- type: HostBinding,
174
- args: ['style.aspect-ratio']
175
- }] } });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9iYW5uZXIvc2MtYmFubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9iYW5uZXIvc2MtYmFubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBRUwsTUFBTSxFQUVOLE1BQU0sR0FHVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pGLE9BQU8sRUFBWSxlQUFlLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqSCxPQUFPLEVBQUUsaUJBQWlCLEVBQWlCLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXhELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7OztBQUVsRDs7R0FFRztBQWFILE1BQU0sT0FBTyxpQkFBaUI7SUFaOUI7UUFhSTs7V0FFRztRQUVJLG1CQUFjLEdBQVksSUFBSSxDQUFDO1FBRXRDOztXQUVHO1FBRUksYUFBUSxHQUFXLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRXJEOztXQUVHO1FBQ0ksbUJBQWMsR0FBb0MsS0FBSyxFQUFVLENBQUM7UUFFekU7O1dBRUc7UUFFSSxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRWxDOztXQUVHO1FBRUkscUJBQWdCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFFM0U7O1dBRUc7UUFFSSxxQkFBZ0IsR0FBMkIsSUFBSSxZQUFZLEVBQVksQ0FBQztRQVMvRTs7V0FFRztRQUVJLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBRWhDOztXQUVHO1FBQ2dCLG9CQUFlLEdBQTJCLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV2RTs7V0FFRztRQUNLLHVCQUFrQixHQUFXLENBQUMsQ0FBQztRQUV2Qzs7V0FFRztRQUNjLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXpEOztXQUVHO1FBQ2MsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFbkU7O1dBRUc7UUFDYyxZQUFPLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRW5EOztXQUVHO1FBQ2MsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVqRDs7V0FFRztRQUNnQixhQUFRLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQ2hFLFNBQVMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDNUIsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxLQUFLLGNBQWMsQ0FBQyxDQUFDLEVBQ2hGLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ1osSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLE1BQU0sT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BFLENBQUM7WUFFRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUMsQ0FDTCxDQUNKO1FBQ0QsK0NBQStDO1FBQy9DLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDakIsQ0FBQztRQUVpQixZQUFPLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxZQUFZLEVBQUUsRUFBZ0IsRUFBRSxDQUFDLENBQUM7UUFFekY7Ozs7V0FJRztRQUNhLGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBaUVuRztJQS9ERzs7T0FFRztJQUNJLGVBQWU7UUFDbEIsa0lBQWtJO1FBQ2xJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3ZFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsa0RBQWtEO0lBQzNDLGVBQWUsQ0FBQyxNQUFjLEVBQUUsTUFBZ0I7UUFDbkQsdUVBQXVFO1FBQ3ZFLE9BQU8sTUFBTSxDQUFDLEVBQUUsSUFBSSxNQUFNLENBQUM7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ08sWUFBWTtRQUNsQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksT0FBTyxDQUFDLE1BQWdCO1FBQzNCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQztZQUN6QyxNQUFNLEVBQUUsc0JBQXNCLENBQUMsV0FBVztZQUMxQyxNQUFNLEVBQUU7Z0JBQ0osU0FBUyxFQUFFLE1BQU0sQ0FBQyxFQUFFO2FBQ3ZCO1NBQ0osQ0FBQyxDQUFDO1FBRUgsSUFBSSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNLLE9BQU8sQ0FBQyxLQUFvQjtRQUNoQyxJQUFJLEtBQUssQ0FBQyxTQUFTLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNGLENBQUM7YUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkUsQ0FBQztJQUNMLENBQUM7K0dBMUtRLGlCQUFpQjttR0FBakIsaUJBQWlCLDQzQkFSZixDQUFDLDJCQUEyQixFQUFFLGVBQWUsRUFBRSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLGdHQ2xDN0oseTdFQTBFQTs7NEZEaENhLGlCQUFpQjtrQkFaN0IsU0FBUzsrQkFDSSxXQUFXLGFBR1YsQ0FBQywyQkFBMkIsRUFBRSxlQUFlLEVBQUUsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUNuSjt3QkFDRixlQUFlLEVBQUUsTUFBTTt3QkFDdkIsaUJBQWlCLEVBQUUsb0JBQW9CO3dCQUN2QyxjQUFjLEVBQUUsZ0JBQWdCO3FCQUNuQyxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTs4QkFPeEMsY0FBYztzQkFEcEIsS0FBSztnQkFPQyxRQUFRO3NCQURkLEtBQUs7Z0JBWUMsU0FBUztzQkFEZixLQUFLO2dCQU9DLGdCQUFnQjtzQkFEdEIsTUFBTTtnQkFPQSxnQkFBZ0I7c0JBRHRCLE1BQU07Z0JBUUEsY0FBYztzQkFGcEIsZUFBZTt1QkFBQyxRQUFRO2dCQVFsQixXQUFXO3NCQURqQixXQUFXO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBpbnB1dCxcbiAgICBJbnB1dFNpZ25hbCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIHNpZ25hbCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBXcml0YWJsZVNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQsIHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBJbnRlcnNlY3Rpb25PYnNlcnZlclNlcnZpY2UgfSBmcm9tICdAbmctd2ViLWFwaXMvaW50ZXJzZWN0aW9uLW9ic2VydmVyJztcbmltcG9ydCB7IFNjQmFubmVyLCBTY0Jhbm5lclNlcnZpY2UsIFNjVXNlck1ldHJpa2FHb2Fsc0VudW0sIFNjVXNlck1ldHJpa2FTZXJ2aWNlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUVUlfU1dJUEVfT1BUSU9OUywgVHVpU3dpcGVFdmVudCwgVHVpU3dpcGVTZXJ2aWNlIH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyBtYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTQ19CQU5ORVJfRFVSQVRJT04gfSBmcm9tICcuLi9wcm92aWRlcnMnO1xuXG4vKipcbiAqINCR0LDQvdC90LXRgCDRgSDQv9GA0L7QutGA0YPRgtC60L7QuSDQv9C10YDQtdC00LDQvdC90YvRhSB7QGxpbmsgVGVtcGxhdGVSZWZ9INGN0LvQtdC80LXQvdGC0L7Qsiwg0Lgg0LHQsNC90L3QtdGA0L7QsiDQu9C+0LrQsNGG0LjQuC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1iYW5uZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1iYW5uZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NjLWJhbm5lci5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW0ludGVyc2VjdGlvbk9ic2VydmVyU2VydmljZSwgVHVpU3dpcGVTZXJ2aWNlLCB7IHByb3ZpZGU6IFRVSV9TV0lQRV9PUFRJT05TLCB1c2VWYWx1ZTogeyB0aW1lb3V0OiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksIHRocmVzaG9sZDogMzAgfSB9XSxcbiAgICBob3N0OiB7XG4gICAgICAgIG5nU2tpcEh5ZHJhdGlvbjogJ3RydWUnLFxuICAgICAgICAnW2NsYXNzLiFoaWRkZW5dJzogJ3RvdGFsSXRlbXMoKSA9PT0gMCcsXG4gICAgICAgICcodG91Y2hzdGFydCknOiAnb25Ub3VjaFN0YXJ0KCknLFxuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjQmFubmVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQvdC10L7QsdGF0L7QtNC40LzQviDQv9C+0LrQsNC30YvQstCw0YLRjCDQutC90L7Qv9C60Lgg0L3QsNCy0LjQs9Cw0YbQuNC4LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG5hdmlnYXRlQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqINCY0L3RgtC10YDQstCw0Lsg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60L7QuSDRgdC80LXQvdGLINGB0LvQsNC50LTQvtCyINCyINC80LjQu9C70LjRgdC10LrRg9C90LTQsNGFICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IDAsINGH0YLQvtCx0Ysg0L7RgtC60LvRjtGH0LjRgtGMINCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutGD0Y4g0YHQvNC10L3RgyDRgdC70LDQudC00LApLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGR1cmF0aW9uOiBudW1iZXIgPSBpbmplY3QoU0NfQkFOTkVSX0RVUkFUSU9OKTtcblxuICAgIC8qKlxuICAgICAqINCc0LXRgdGC0L7Qv9C+0LvQvtC20LXQvdC40LUg0LHQsNC90L3QtdGA0LAuXG4gICAgICovXG4gICAgcHVibGljIGJhbm5lckxvY2F0aW9uOiBJbnB1dFNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+ID0gaW5wdXQ8c3RyaW5nPigpO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQutC+0LzQv9C+0L3QtdC90YIg0LTQvtC70LbQtdC9INGA0LDRgdGC0Y/Qs9C40LLQsNGC0YzRgdGPLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHJlc2l6YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0LfQsNCz0YDRg9C30LrQuCDQsdCw0L3QvdC10YDQvtCyINGBINC60L7Qu9C40YfQtdGB0YLQstC+0Lwg0L/QvtC70YPRh9C10L3QvdGL0YUg0LHQsNC90L3QtdGA0L7Qsi5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgbG9hZEJhbm5lcnNFdmVudDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LjQt9C+0LHRgNCw0LbQtdC90LjQtSDQsdCw0L3QvdC10YDQsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2xpY2tCYW5uZXJFdmVudDogRXZlbnRFbWl0dGVyPFNjQmFubmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8U2NCYW5uZXI+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC/0LjRgdC+0Log0YHRgdGL0LvQvtC6INC90LAg0Y3Qu9C10LzQtdC90YIg0L/RgNC10LTRgdGC0LDQstC70LXQvdC40Lkg0YjQsNCx0LvQvtC90L7Qsi5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKCdiYW5uZXInKVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHVibGljIGJhbm5lcnNMaXN0UmVmOiBRdWVyeUxpc3Q8VGVtcGxhdGVSZWY8YW55Pj47XG5cbiAgICAvKipcbiAgICAgKiDQodCy0L7QudGB0YLQstC+LCDQvtGCINC60L7RgtC+0YDQvtCz0L4g0LfQsNCy0LjRgdC40YIg0YHQvtC+0YLQvdC+0YjQtdC90LjQtSBgOmhvc3RgINC60L7QvNC/0L7QvdC10L3RgtCwLlxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUuYXNwZWN0LXJhdGlvJylcbiAgICBwdWJsaWMgYXNwZWN0UmF0aW86IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqXG4gICAgICog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YLQtdC60YPRidC10LPQviDQsdCw0L3QvdC10YDQsC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY3VycmVudEJhbm5lcklkOiBXcml0YWJsZVNpZ25hbDxudW1iZXI+ID0gc2lnbmFsKDApO1xuXG4gICAgLyoqXG4gICAgICog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LHQsNC90L3QtdGA0LAg0L3QsCDQvNC+0LzQtdC90YIg0L3QsNGH0LDQu9CwINC60LDRgdCw0L3QuNGPLlxuICAgICAqL1xuICAgIHByaXZhdGUgdG91Y2hTdGFydEJhbm5lcklkOiBudW1iZXIgPSAwO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEg0LTQsNC90L3Ri9C80Lgg0L4g0LHQsNC90L3QtdGA0LDRhS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGJhbm5lclNlcnZpY2UgPSBpbmplY3QoU2NCYW5uZXJTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQtNC70Y8g0YHQsdC+0YDQsCDQvNC10YLRgNC40Log0L4g0LTQtdC50YHRgtCy0LjRj9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlck1ldHJpa2FTZXJ2aWNlID0gaW5qZWN0KFNjVXNlck1ldHJpa2FTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCf0L7RgtC+0Log0YHQvtCx0YvRgtC40Lkg0YHQstCw0LnQv9CwINC/0L4g0LHQsNC90L3QtdGA0YMuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBzd2lwZXMkID0gaW5qZWN0KFR1aVN3aXBlU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiDQodGB0YvQu9C60LAg0LTQu9GPINCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC+0LPQviDRg9C/0YDQsNCy0LvQtdC90LjRjyDRg9C90LjRh9GC0L7QttC10L3QuNC10Lwg0LfQsNCy0LjRgdC40LzQvtGB0YLQtdC5LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDQsdCw0L3QvdC10YDQvtCyLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBiYW5uZXJzJCA9IHRvT2JzZXJ2YWJsZSh0aGlzLmJhbm5lckxvY2F0aW9uKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKGJhbm5lckxvY2F0aW9uKSA9PlxuICAgICAgICAgICAgdGhpcy5iYW5uZXJTZXJ2aWNlLmJhbm5lcnMkLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChiYW5uZXJzKSA9PiBiYW5uZXJzLmZpbHRlcigoYmFubmVyKSA9PiBiYW5uZXIubG9jYXRpb24gPT09IGJhbm5lckxvY2F0aW9uKSksXG4gICAgICAgICAgICAgICAgdGFwKChiYW5uZXJzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChiYW5uZXJzLmxlbmd0aCA+IDAgJiYgIXRoaXMucmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFzcGVjdFJhdGlvID0gYCR7YmFubmVyc1swXS53aWR0aH0gLyAke2Jhbm5lcnNbMF0uaGVpZ2h0fWA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRCYW5uZXJzRXZlbnQuZW1pdChiYW5uZXJzLmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMvbm8tc2hhcmVyZXBsYXlcbiAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGJhbm5lcnMgPSB0b1NpZ25hbCh0aGlzLmJhbm5lcnMkLCB7IGluaXRpYWxWYWx1ZTogW10gYXMgU2NCYW5uZXJbXSB9KTtcblxuICAgIC8qKlxuICAgICAqINCe0LHRidC10LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0YHQu9Cw0LnQtNC+0LIgKNCx0LDQvdC90LXRgNGLICsg0LrQvtC90YLQtdC90YIt0L/RgNC+0LXQutGG0LjRjykuXG4gICAgICog0JjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINC00LvRjyDQvtGC0LrQu9GO0YfQtdC90LjRjyDQsNCy0YLQvtGB0LrRgNC+0LvQu9CwINC/0YDQuCAw4oCTMSDRgdC70LDQudC00LDRhSwg0YfRgtC+0LHRiyDQvdC1INCy0YvQt9GL0LLQsNGC0YxcbiAgICAgKiB0dWlDbGFtcCDRgSBtYXggPCBtaW4g0LIgVHVpQ2Fyb3VzZWxDb21wb25lbnQub25BdXRvc2Nyb2xsIOKGkiB1cGRhdGVJbmRleC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgdG90YWxJdGVtcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYmFubmVycygpLmxlbmd0aCArIHRoaXMuYmFubmVyc0xpc3RSZWYubGVuZ3RoKTtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8g0J/QvtC00L/QuNGB0LrQsCDQuNC00ZHRgiDQv9C+0YHQu9C1INC60LDRgNGD0YHQtdC70LgsINGH0YLQvtCx0Ysg0YHQstCw0LnQvyDQvtCx0YDQsNCx0LDRgtGL0LLQsNC70YHRjyDQv9C+0YHQu9C10LTQvdC40Lw6INC40L3QsNGH0LUg0LXRkSDRgdC+0LHRgdGC0LLQtdC90L3QsNGPINC+0LHRgNCw0LHQvtGC0LrQsCDQttC10YHRgtCwINC00L7QsdCw0LLQuNGCINC10YnRkSDQvtC00LjQvSDRgdC70LDQudC0LlxuICAgICAgICB0aGlzLnN3aXBlcyQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKChzd2lwZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vblN3aXBlKHN3aXBlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdHJhY2tCeSDQtNC70Y8gKm5nRm9yINCx0LDQvdC90LXRgNC+0LI6INGB0L7RhdGA0LDQvdGP0LXRgiDRg9C30LvRiyDQv9GA0Lgg0L7QsdC90L7QstC70LXQvdC40Lgg0YHQv9C40YHQutCwLFxuICAgICAqINGH0YLQvtCx0Ysg0LrQsNGA0YPRgdC10LvRjCDQvdC1INCy0LjQtNC10LvQsCAwINGB0LvQsNC50LTQvtCyINC80LXQttC00YMg0YLQuNC60LDQvNC4INC4INC90LUg0LLRi9C30YvQstCw0LvQsCB0dWlDbGFtcCjigKYsIC0xKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBfaW5kZXgg0JjQvdC00LXQutGBLlxuICAgICAqIEBwYXJhbSBiYW5uZXIg0JTQsNC90L3Ri9C1INC+INCx0LDQvdC90LXRgNC1LlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjbGFzcy1tZXRob2RzLXVzZS10aGlzXG4gICAgcHVibGljIHRyYWNrQnlCYW5uZXJJZChfaW5kZXg6IG51bWJlciwgYmFubmVyOiBTY0Jhbm5lcik6IG51bWJlciB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uXG4gICAgICAgIHJldHVybiBiYW5uZXIuaWQgPz8gX2luZGV4O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0LHRgNCw0LHQvtGC0YfQuNC6INC90LDRh9Cw0LvQsCDQutCw0YHQsNC90LjRjyDQsdCw0L3QvdC10YDQsC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgb25Ub3VjaFN0YXJ0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRvdWNoU3RhcnRCYW5uZXJJZCA9IHRoaXMuY3VycmVudEJhbm5lcklkKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7QsdGA0LDQsdC+0YLRh9C40Log0L3QsNC20LDRgtC40Y8g0L3QsCDQsdCw0L3QvdC10YAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYmFubmVyINCR0LDQvdC90LXRgCwg0L/QviDRgdGB0YvQu9C60LUg0LrQvtGC0L7RgNC+0LPQviDRgdC+0LLQtdGA0YjRkdC9INC/0LXRgNC10YXQvtC0LlxuICAgICAqL1xuICAgIHB1YmxpYyBvbkNsaWNrKGJhbm5lcjogU2NCYW5uZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51c2VyTWV0cmlrYVNlcnZpY2UuZW1pdFVzZXJNZXRyaWthRXZlbnQoe1xuICAgICAgICAgICAgdGFyZ2V0OiBTY1VzZXJNZXRyaWthR29hbHNFbnVtLmJhbm5lckNsaWNrLFxuICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgYmFubmVyX2lkOiBiYW5uZXIuaWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoYmFubmVyLnVybCkge1xuICAgICAgICAgICAgdGhpcy5jbGlja0Jhbm5lckV2ZW50LmVtaXQoYmFubmVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0LHRgNCw0LHQvtGC0YfQuNC6INGB0LLQsNC50L/QsCDQv9C+INCx0LDQvdC90LXRgNGDLlxuICAgICAqXG4gICAgICog0JHQsNC90L3QtdGAINC+0YLRgdGH0LjRgtGL0LLQsNC10YLRgdGPINC+0YIg0L/QvtC60LDQt9Cw0L3QvdC+0LPQviDQsiDQvdCw0YfQsNC70LUg0LrQsNGB0LDQvdC40Y86INGH0LDRgdGC0Ywg0LbQtdGB0YLQvtCyINC60LDRgNGD0YHQtdC70Ywg0L7QsdGA0LDQsdCw0YLRi9Cy0LDQtdGCINGB0LDQvNCwXG4gICAgICogKNC60L7RgNC+0YLQutC40Lkg0YHQstCw0LnQvywg0L/QtdGA0LXRgtCw0YHQutC40LLQsNC90LjQtSDRgdC70LDQudC00LAg0L/QsNC70YzRhtC10LwpLCDQuCDQttC10YHRgiDQvdC1INC00L7Qu9C20LXQvSDQv9GA0L7Qu9C40YHRgtCw0YLRjCDQtNCy0LAg0LHQsNC90L3QtdGA0LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc3dpcGUg0KHQvtCx0YvRgtC40LUg0YHQstCw0LnQv9CwLlxuICAgICAqL1xuICAgIHByaXZhdGUgb25Td2lwZShzd2lwZTogVHVpU3dpcGVFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoc3dpcGUuZGlyZWN0aW9uID09PSAnbGVmdCcpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudEJhbm5lcklkLnNldChNYXRoLm1pbih0aGlzLnRvdWNoU3RhcnRCYW5uZXJJZCArIDEsIHRoaXMudG90YWxJdGVtcygpIC0gMSkpO1xuICAgICAgICB9IGVsc2UgaWYgKHN3aXBlLmRpcmVjdGlvbiA9PT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50QmFubmVySWQuc2V0KE1hdGgubWF4KHRoaXMudG91Y2hTdGFydEJhbm5lcklkIC0gMSwgMCkpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGxldCBlZmZlY3RpdmVEdXJhdGlvbiA9IHRvdGFsSXRlbXMoKSA+IDEgPyBkdXJhdGlvbiA6IDA7XG5cbjx0dWktY2Fyb3VzZWxcbiAgICBbZHVyYXRpb25dPVwiZWZmZWN0aXZlRHVyYXRpb25cIlxuICAgICNjYXJvdXNlbFxuICAgIFthdHRyLnJlc2l6YWJsZV09XCJyZXNpemFibGVcIlxuICAgIGNsYXNzPVwic2l6ZS1mdWxsIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLXhsIGJnLXdoaXRlXCJcbiAgICBbKGluZGV4KV09XCJjdXJyZW50QmFubmVySWRcIlxuPlxuICAgIEBmb3IgKGJhbm5lciBvZiBiYW5uZXJzKCk7IHRyYWNrIHRyYWNrQnlCYW5uZXJJZCgkaW5kZXgsIGJhbm5lcikpIHtcbiAgICAgICAgQHN3aXRjaCAoYmFubmVyLm1lZGlhVHlwZSkge1xuICAgICAgICAgICAgQGNhc2UgKCdpbWFnZScpIHtcbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAqdHVpSXRlbVxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGljayhiYW5uZXIpXCJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cImJhbm5lci50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS5hc3BlY3QtcmF0aW9dPVwiYXNwZWN0UmF0aW9cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5ocmVmXT1cImJhbm5lci51cmwgPyBiYW5uZXIudXJsIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2l6ZS1mdWxsXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxwaWN0dXJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChiYW5uZXIubWVkaWFGaWxlV2VicCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImltYWdlL3dlYnBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3Jjc2V0XT1cImJhbm5lci5tZWRpYUZpbGVXZWJwIHwgc2NNZWRpYUltYWdlVHJhbnNmb3JtZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJiYW5uZXIubWVkaWFGaWxlIHwgc2NNZWRpYUltYWdlVHJhbnNmb3JtZXI6IHRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiYmFubmVyLnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNpemUtZnVsbCBvYmplY3QtY292ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9waWN0dXJlPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAZm9yIChpdGVtIG9mIGJhbm5lcnNMaXN0UmVmOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKnR1aUl0ZW1cbiAgICAgICAgICAgIFtzdHlsZS5hc3BlY3QtcmF0aW9dPVwiYXNwZWN0UmF0aW9cIlxuICAgICAgICAgICAgY2xhc3M9XCJzaXplLWZ1bGwgb3ZlcmZsb3ctaGlkZGVuXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwvdHVpLWNhcm91c2VsPlxuXG5AaWYgKG5hdmlnYXRlQnV0dG9uICYmIHRvdGFsSXRlbXMoKSA+IDEpIHtcbiAgICA8ZGl2XG4gICAgICAgIHR1aVRoZW1lPVwibGlnaHRcIlxuICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCJcbiAgICA+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkuY2hldnJvbi1sZWZ0XCJcbiAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgIFtzdHlsZS5ib3JkZXItcmFkaXVzLiVdPVwiMTAwXCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJmbGF0XCJcbiAgICAgICAgICAgIChjbGljayk9XCJjYXJvdXNlbC5wcmV2KClcIlxuICAgICAgICAgICAgY2xhc3M9XCIhYWJzb2x1dGUgbGVmdC0yXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLmNoZXZyb24tcmlnaHRcIlxuICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgW3N0eWxlLmJvcmRlci1yYWRpdXMuJV09XCIxMDBcIlxuICAgICAgICAgICAgYXBwZWFyYW5jZT1cImZsYXRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNhcm91c2VsLm5leHQoKVwiXG4gICAgICAgICAgICBjbGFzcz1cIiFhYnNvbHV0ZSByaWdodC0yXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxufVxuIl19
@@ -1,29 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { RouterModule } from '@angular/router';
4
- import { WaIntersectionObserver } from '@ng-web-apis/intersection-observer';
5
- import { ScMediaImageTransformerPipe } from '@snabcentr/client-core';
6
- import { TuiButton, TuiLoader } from '@taiga-ui/core';
7
- import { TuiCarousel } from '@taiga-ui/kit';
8
- import { ScBannerComponent } from './sc-banner.component';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@taiga-ui/cdk/directives/item";
11
- import * as i2 from "@taiga-ui/kit";
12
- import * as i3 from "@ng-web-apis/intersection-observer";
13
- /**
14
- * Модуль баннеров.
15
- */
16
- export class ScBannerModule {
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScBannerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
18
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ScBannerModule, declarations: [ScBannerComponent], imports: [CommonModule, RouterModule, TuiButton, i1.TuiItem, i2.TuiCarouselComponent, i2.TuiCarouselDirective, i2.TuiCarouselAutoscroll, i2.TuiCarouselButtons, i2.TuiCarouselScroll, TuiLoader, i3.WaIntersectionObserverDirective, i3.WaIntersectionObservee, i3.WaIntersectionRoot, ScMediaImageTransformerPipe], exports: [ScBannerComponent] }); }
19
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScBannerModule, imports: [CommonModule, RouterModule, i2.TuiCarouselComponent, TuiLoader] }); }
20
- }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScBannerModule, decorators: [{
22
- type: NgModule,
23
- args: [{
24
- declarations: [ScBannerComponent],
25
- imports: [CommonModule, RouterModule, TuiButton, ...TuiCarousel, TuiLoader, ...WaIntersectionObserver, ScMediaImageTransformerPipe],
26
- exports: [ScBannerComponent],
27
- }]
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYmFubmVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9iYW5uZXIvc2MtYmFubmVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztBQUUxRDs7R0FFRztBQU1ILE1BQU0sT0FBTyxjQUFjOytHQUFkLGNBQWM7Z0hBQWQsY0FBYyxpQkFKUixpQkFBaUIsYUFDdEIsWUFBWSxFQUFFLFlBQVksRUFBRSxTQUFTLHVJQUFrQixTQUFTLHdGQUE2QiwyQkFBMkIsYUFDeEgsaUJBQWlCO2dIQUVsQixjQUFjLFlBSGIsWUFBWSxFQUFFLFlBQVksMkJBQTZCLFNBQVM7OzRGQUdqRSxjQUFjO2tCQUwxQixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUNqQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxHQUFHLFdBQVcsRUFBRSxTQUFTLEVBQUUsR0FBRyxzQkFBc0IsRUFBRSwyQkFBMkIsQ0FBQztvQkFDbkksT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgV2FJbnRlcnNlY3Rpb25PYnNlcnZlciB9IGZyb20gJ0BuZy13ZWItYXBpcy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXInO1xuaW1wb3J0IHsgU2NNZWRpYUltYWdlVHJhbnNmb3JtZXJQaXBlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUdWlCdXR0b24sIFR1aUxvYWRlciB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFR1aUNhcm91c2VsIH0gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5cbmltcG9ydCB7IFNjQmFubmVyQ29tcG9uZW50IH0gZnJvbSAnLi9zYy1iYW5uZXIuY29tcG9uZW50JztcblxuLyoqXG4gKiDQnNC+0LTRg9C70Ywg0LHQsNC90L3QtdGA0L7Qsi5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtTY0Jhbm5lckNvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUm91dGVyTW9kdWxlLCBUdWlCdXR0b24sIC4uLlR1aUNhcm91c2VsLCBUdWlMb2FkZXIsIC4uLldhSW50ZXJzZWN0aW9uT2JzZXJ2ZXIsIFNjTWVkaWFJbWFnZVRyYW5zZm9ybWVyUGlwZV0sXG4gICAgZXhwb3J0czogW1NjQmFubmVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2NCYW5uZXJNb2R1bGUge31cbiJdfQ==
@@ -1,4 +0,0 @@
1
- export * from './sc-brand-list-item';
2
- export * from './sc-brands-list.component';
3
- export * from './sc-brands-list.module';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvYnJhbmRzLWxpc3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NjLWJyYW5kLWxpc3QtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWJyYW5kcy1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWJyYW5kcy1saXN0Lm1vZHVsZSc7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYnJhbmQtbGlzdC1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2JyYW5kcy1saXN0L3NjLWJyYW5kLWxpc3QtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiDQrdC70LXQvNC10L3RgiDRgdC/0LjRgdC60LAg0LHRgNC10L3QtNC+0LIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NCcmFuZExpc3RJdGVtIHtcbiAgICAvKipcbiAgICAgKiBVUkwg0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDQsdGA0LXQvdC00LAuXG4gICAgICovXG4gICAgc3JjOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBVUkwg0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDQsdGA0LXQvdC00LAg0LIg0YTQvtGA0LzQsNGC0LUgV2ViUC5cbiAgICAgKi9cbiAgICB3ZWJwPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0JDQu9GM0YLQtdGA0L3QsNGC0LjQstC90YvQuSDRgtC10LrRgdGCINC40LfQvtCx0YDQsNC20LXQvdC40Y8uXG4gICAgICovXG4gICAgYWx0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQqNC40YDQuNC90LAg0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDQsiDQv9C40LrRgdC10LvRj9GFLlxuICAgICAqL1xuICAgIHdpZHRoOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDQktGL0YHQvtGC0LAg0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDQsiDQv9C40LrRgdC10LvRj9GFLlxuICAgICAqL1xuICAgIGhlaWdodDogbnVtYmVyO1xufVxuIl19
@@ -1,24 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@taiga-ui/cdk";
5
- /**
6
- * Компонент списка брэндов.
7
- */
8
- export class ScBrandsListComponent {
9
- constructor() {
10
- /**
11
- * Список элементов брендов.
12
- */
13
- this.items = [];
14
- }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScBrandsListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ScBrandsListComponent, selector: "sc-brands-list", inputs: { items: "items" }, ngImport: i0, template: "<!-- TODO: TASK:[#9893] \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u043D\u0430 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0441\u0442\u0440\u043E\u043A \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439, \u043F\u0440\u0438 \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u0438 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0431\u0440\u0435\u043D\u0434\u043E\u0432. -->\n<div class=\"flex flex-col gap-4\">\n <div class=\"relative\">\n <div class=\"absolute -left-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-tui-base-01 to-transparent\"></div>\n <div class=\"flex select-none items-center justify-center gap-12 overflow-hidden contrast-150 saturate-0\">\n <div\n *ngFor=\"let _ of [].constructor(3)\"\n class=\"animate-scroll-slow scroll-slow-revert flex shrink-0 items-center gap-16\"\n >\n <div\n *tuiRepeatTimes=\"let index of items.length - (items.length - (items.length % 2)) / 2\"\n class=\"flex items-center justify-center\"\n >\n @let brandItem = items[index + (items.length - (items.length % 2)) / 2];\n <picture>\n @if (brandItem.webp) {\n <source\n type=\"image/webp\"\n [srcset]=\"brandItem.webp\"\n />\n }\n <img\n [src]=\"brandItem.src\"\n [alt]=\"items[index].alt\"\n [attr.width]=\"brandItem.width\"\n [attr.height]=\"brandItem.height\"\n />\n </picture>\n </div>\n </div>\n </div>\n <div class=\"absolute -right-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-transparent to-tui-base-01\"></div>\n </div>\n <div class=\"relative\">\n <div class=\"absolute -left-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-tui-base-01 to-transparent\"></div>\n <div class=\"flex select-none items-center justify-center gap-12 overflow-hidden contrast-150 saturate-0\">\n <div\n *ngFor=\"let _ of [].constructor(3)\"\n class=\"animate-scroll-slow flex shrink-0 items-center gap-16\"\n >\n <div\n *tuiRepeatTimes=\"let index of (items.length - (items.length % 2)) / 2\"\n class=\"flex items-center justify-center\"\n >\n @let brandItem = items[index];\n <picture>\n @if (brandItem.webp) {\n <source\n type=\"image/webp\"\n [srcset]=\"brandItem.webp\"\n />\n }\n <img\n [src]=\"brandItem.src\"\n [alt]=\"brandItem.alt\"\n [attr.width]=\"brandItem.width\"\n [attr.height]=\"brandItem.height\"\n />\n </picture>\n </div>\n </div>\n </div>\n <div class=\"absolute -right-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-transparent to-tui-base-01\"></div>\n </div>\n</div>\n", styles: [".scroll-slow-revert{animation-direction:reverse!important;animation-delay:-15s!important}@keyframes scroll-slow{0%{transform:translate(0)}to{transform:translate(calc(-100% - 3rem))}}.animate-scroll-slow{animation:scroll-slow 30s linear infinite}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScBrandsListComponent, decorators: [{
19
- type: Component,
20
- args: [{ selector: 'sc-brands-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- TODO: TASK:[#9893] \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u043D\u0430 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0441\u0442\u0440\u043E\u043A \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439, \u043F\u0440\u0438 \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u0438 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0431\u0440\u0435\u043D\u0434\u043E\u0432. -->\n<div class=\"flex flex-col gap-4\">\n <div class=\"relative\">\n <div class=\"absolute -left-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-tui-base-01 to-transparent\"></div>\n <div class=\"flex select-none items-center justify-center gap-12 overflow-hidden contrast-150 saturate-0\">\n <div\n *ngFor=\"let _ of [].constructor(3)\"\n class=\"animate-scroll-slow scroll-slow-revert flex shrink-0 items-center gap-16\"\n >\n <div\n *tuiRepeatTimes=\"let index of items.length - (items.length - (items.length % 2)) / 2\"\n class=\"flex items-center justify-center\"\n >\n @let brandItem = items[index + (items.length - (items.length % 2)) / 2];\n <picture>\n @if (brandItem.webp) {\n <source\n type=\"image/webp\"\n [srcset]=\"brandItem.webp\"\n />\n }\n <img\n [src]=\"brandItem.src\"\n [alt]=\"items[index].alt\"\n [attr.width]=\"brandItem.width\"\n [attr.height]=\"brandItem.height\"\n />\n </picture>\n </div>\n </div>\n </div>\n <div class=\"absolute -right-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-transparent to-tui-base-01\"></div>\n </div>\n <div class=\"relative\">\n <div class=\"absolute -left-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-tui-base-01 to-transparent\"></div>\n <div class=\"flex select-none items-center justify-center gap-12 overflow-hidden contrast-150 saturate-0\">\n <div\n *ngFor=\"let _ of [].constructor(3)\"\n class=\"animate-scroll-slow flex shrink-0 items-center gap-16\"\n >\n <div\n *tuiRepeatTimes=\"let index of (items.length - (items.length % 2)) / 2\"\n class=\"flex items-center justify-center\"\n >\n @let brandItem = items[index];\n <picture>\n @if (brandItem.webp) {\n <source\n type=\"image/webp\"\n [srcset]=\"brandItem.webp\"\n />\n }\n <img\n [src]=\"brandItem.src\"\n [alt]=\"brandItem.alt\"\n [attr.width]=\"brandItem.width\"\n [attr.height]=\"brandItem.height\"\n />\n </picture>\n </div>\n </div>\n </div>\n <div class=\"absolute -right-1 top-0 z-10 block h-full w-12 bg-gradient-to-r from-transparent to-tui-base-01\"></div>\n </div>\n</div>\n", styles: [".scroll-slow-revert{animation-direction:reverse!important;animation-delay:-15s!important}@keyframes scroll-slow{0%{transform:translate(0)}to{transform:translate(calc(-100% - 3rem))}}.animate-scroll-slow{animation:scroll-slow 30s linear infinite}\n"] }]
21
- }], propDecorators: { items: [{
22
- type: Input
23
- }] } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYnJhbmRzLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2JyYW5kcy1saXN0L3NjLWJyYW5kcy1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9icmFuZHMtbGlzdC9zYy1icmFuZHMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUkxRTs7R0FFRztBQU9ILE1BQU0sT0FBTyxxQkFBcUI7SUFObEM7UUFPSTs7V0FFRztRQUVJLFVBQUssR0FBc0IsRUFBRSxDQUFDO0tBQ3hDOytHQU5ZLHFCQUFxQjttR0FBckIscUJBQXFCLGtGQ2JsQyx1aUhBaUVBOzs0RkRwRGEscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNJLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNOzhCQU94QyxLQUFLO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTY0JyYW5kTGlzdEl0ZW0gfSBmcm9tICcuL3NjLWJyYW5kLWxpc3QtaXRlbSc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINGB0L/QuNGB0LrQsCDQsdGA0Y3QvdC00L7Qsi5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1icmFuZHMtbGlzdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLWJyYW5kcy1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zYy1icmFuZHMtbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY0JyYW5kc0xpc3RDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDRjdC70LXQvNC10L3RgtC+0LIg0LHRgNC10L3QtNC+0LIuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXRlbXM6IFNjQnJhbmRMaXN0SXRlbVtdID0gW107XG59XG4iLCI8IS0tIFRPRE86IFRBU0s6WyM5ODkzXSDQlNC+0LHQsNCy0LjRgtGMINGA0LDQt9C00LXQu9C10L3QuNC1INC90LAg0L3QtdGB0LrQvtC70YzQutC+INGB0YLRgNC+0Log0LjQt9C+0LHRgNCw0LbQtdC90LjQuSwg0L/RgNC4INGD0LLQtdC70LjRh9C10L3QuNC4INC60L7Qu9C40YfQtdGB0YLQstCwINCx0YDQtdC90LTQvtCyLiAtLT5cbjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC00XCI+XG4gICAgPGRpdiBjbGFzcz1cInJlbGF0aXZlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSAtbGVmdC0xIHRvcC0wIHotMTAgYmxvY2sgaC1mdWxsIHctMTIgYmctZ3JhZGllbnQtdG8tciBmcm9tLXR1aS1iYXNlLTAxIHRvLXRyYW5zcGFyZW50XCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHNlbGVjdC1ub25lIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMTIgb3ZlcmZsb3ctaGlkZGVuIGNvbnRyYXN0LTE1MCBzYXR1cmF0ZS0wXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IF8gb2YgW10uY29uc3RydWN0b3IoMylcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYW5pbWF0ZS1zY3JvbGwtc2xvdyBzY3JvbGwtc2xvdy1yZXZlcnQgZmxleCBzaHJpbmstMCBpdGVtcy1jZW50ZXIgZ2FwLTE2XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICp0dWlSZXBlYXRUaW1lcz1cImxldCBpbmRleCBvZiBpdGVtcy5sZW5ndGggLSAoaXRlbXMubGVuZ3RoIC0gKGl0ZW1zLmxlbmd0aCAlIDIpKSAvIDJcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEBsZXQgYnJhbmRJdGVtID0gaXRlbXNbaW5kZXggKyAoaXRlbXMubGVuZ3RoIC0gKGl0ZW1zLmxlbmd0aCAlIDIpKSAvIDJdO1xuICAgICAgICAgICAgICAgICAgICA8cGljdHVyZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoYnJhbmRJdGVtLndlYnApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJpbWFnZS93ZWJwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY3NldF09XCJicmFuZEl0ZW0ud2VicFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImJyYW5kSXRlbS5zcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbXNbaW5kZXhdLmFsdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIud2lkdGhdPVwiYnJhbmRJdGVtLndpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5oZWlnaHRdPVwiYnJhbmRJdGVtLmhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L3BpY3R1cmU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSAtcmlnaHQtMSB0b3AtMCB6LTEwIGJsb2NrIGgtZnVsbCB3LTEyIGJnLWdyYWRpZW50LXRvLXIgZnJvbS10cmFuc3BhcmVudCB0by10dWktYmFzZS0wMVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWJzb2x1dGUgLWxlZnQtMSB0b3AtMCB6LTEwIGJsb2NrIGgtZnVsbCB3LTEyIGJnLWdyYWRpZW50LXRvLXIgZnJvbS10dWktYmFzZS0wMSB0by10cmFuc3BhcmVudFwiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBzZWxlY3Qtbm9uZSBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTEyIG92ZXJmbG93LWhpZGRlbiBjb250cmFzdC0xNTAgc2F0dXJhdGUtMFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBfIG9mIFtdLmNvbnN0cnVjdG9yKDMpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFuaW1hdGUtc2Nyb2xsLXNsb3cgZmxleCBzaHJpbmstMCBpdGVtcy1jZW50ZXIgZ2FwLTE2XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICp0dWlSZXBlYXRUaW1lcz1cImxldCBpbmRleCBvZiAoaXRlbXMubGVuZ3RoIC0gKGl0ZW1zLmxlbmd0aCAlIDIpKSAvIDJcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEBsZXQgYnJhbmRJdGVtID0gaXRlbXNbaW5kZXhdO1xuICAgICAgICAgICAgICAgICAgICA8cGljdHVyZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoYnJhbmRJdGVtLndlYnApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJpbWFnZS93ZWJwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY3NldF09XCJicmFuZEl0ZW0ud2VicFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImJyYW5kSXRlbS5zcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiYnJhbmRJdGVtLmFsdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIud2lkdGhdPVwiYnJhbmRJdGVtLndpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5oZWlnaHRdPVwiYnJhbmRJdGVtLmhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L3BpY3R1cmU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSAtcmlnaHQtMSB0b3AtMCB6LTEwIGJsb2NrIGgtZnVsbCB3LTEyIGJnLWdyYWRpZW50LXRvLXIgZnJvbS10cmFuc3BhcmVudCB0by10dWktYmFzZS0wMVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,22 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { TuiRepeatTimes } from '@taiga-ui/cdk';
4
- import { ScBrandsListComponent } from './sc-brands-list.component';
5
- import * as i0 from "@angular/core";
6
- /**
7
- * Модуль списка брэндов.
8
- */
9
- export class ScBrandsListModule {
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScBrandsListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ScBrandsListModule, declarations: [ScBrandsListComponent], imports: [CommonModule, TuiRepeatTimes], exports: [ScBrandsListComponent] }); }
12
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScBrandsListModule, imports: [CommonModule] }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScBrandsListModule, decorators: [{
15
- type: NgModule,
16
- args: [{
17
- imports: [CommonModule, TuiRepeatTimes],
18
- declarations: [ScBrandsListComponent],
19
- exports: [ScBrandsListComponent],
20
- }]
21
- }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYnJhbmRzLWxpc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2JyYW5kcy1saXN0L3NjLWJyYW5kcy1saXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUVuRTs7R0FFRztBQU1ILE1BQU0sT0FBTyxrQkFBa0I7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQUhaLHFCQUFxQixhQUQxQixZQUFZLEVBQUUsY0FBYyxhQUU1QixxQkFBcUI7Z0hBRXRCLGtCQUFrQixZQUpqQixZQUFZOzs0RkFJYixrQkFBa0I7a0JBTDlCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQztvQkFDdkMsWUFBWSxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ3JDLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO2lCQUNuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHVpUmVwZWF0VGltZXMgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuaW1wb3J0IHsgU2NCcmFuZHNMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zYy1icmFuZHMtbGlzdC5jb21wb25lbnQnO1xuXG4vKipcbiAqINCc0L7QtNGD0LvRjCDRgdC/0LjRgdC60LAg0LHRgNGN0L3QtNC+0LIuXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHVpUmVwZWF0VGltZXNdLFxuICAgIGRlY2xhcmF0aW9uczogW1NjQnJhbmRzTGlzdENvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW1NjQnJhbmRzTGlzdENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNjQnJhbmRzTGlzdE1vZHVsZSB7fVxuIl19