{"version":3,"file":"PromoCardDesktopV2.8b7a14a6.es5.js","mappings":"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","sources":["webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-block/src/block.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-block/src/desktop/index.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-block/src/styles/desktop.css?d29c","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-event-bus/src/index.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-helpers-common/src/browser/send-event/helpers.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-helpers-common/src/browser/send-event/index.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-named-container/src/named-container/utils.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-promo-card-v2/src/desktop/index.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-promo-card-v2/src/desktop/desktop.css?0d0c","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-promo-card-v2/node_modules/@alfa-bank/site-data-layer/src/data-layer.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-promo-card-v2/node_modules/@alfa-bank/site-data-layer/src/index.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-promo-card-v2/src/config.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-promo-card-v2/src/promo-card-v2.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-util-create-widget/src/create-widget.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-util-create-widget/src/styles/common.css","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-util-create-widget/src/generate-style.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-util-create-widget/src/helpers.tsx","webpack://assr-alfaleasing/./node_modules/classnames/index.js","webpack://assr-alfaleasing/./node_modules/events/events.js"],"sourcesContent":["import type { FC } from 'react';\nimport React from 'react';\nimport cn from 'classnames';\n\nimport type { TBlock, TStylesIndex } from './models';\n\nexport const Block: FC = props => {\n const {\n border,\n borderColor,\n borderRadius,\n children,\n className,\n dataTestId,\n fullHeight,\n id,\n inner,\n innerRef,\n notPadded,\n overflowHidden,\n paddedType = 'standard',\n shadow = false,\n styles,\n theme = 'transparent',\n ...rest\n } = props;\n\n const borderStyles: Partial> = {};\n\n /*\n * TODO: Бордер пока в camelCase не перевести быстро, так как в пропс передаются значения такого типа dark-indigo-20\n * Плюс нужно учесть обратную совместимость в ASSR\n */\n if (typeof borderColor !== 'undefined') {\n borderStyles[styles[`border-${borderColor}`] as TStylesIndex] = borderColor;\n }\n\n if (typeof borderRadius !== 'undefined' && borderRadius !== false) {\n // Для обратной совместимости, когда borderRadius был true/false, и в случае true был равен 4px\n const borderRadiusSize = borderRadius === true ? 4 : borderRadius;\n\n borderStyles[styles[`borderRadius${borderRadiusSize}`] as TStylesIndex] = borderRadiusSize;\n }\n\n const classNames = cn(\n styles.block,\n styles[theme],\n {\n [styles[paddedType]]: !notPadded,\n [styles.inner]: inner,\n [styles.border]: border && !borderColor,\n ...borderStyles,\n [styles.fullHeight]: fullHeight,\n [styles.shadow]: shadow,\n [styles.overflowHidden]: overflowHidden,\n },\n className\n );\n\n return (\n
\n {children}\n
\n );\n};\n","import { createWidget } from '@alfa-bank/site-util-create-widget/create-widget';\n\nimport { Block as Component } from '../block';\nimport type { TBlock, IDeps } from '../models';\nimport styles from '../styles/desktop.css';\n\n// className прокидывается через переменную classNames\n// eslint-disable-next-line styler/check-styler\nexport const BlockDesktop = createWidget({ styles })(Component);\n","// extracted by mini-css-extract-plugin\nexport default {\"background-$(backgroundColorBg)\":\"a2YsG\",\"background-$(backgroundColor)\":\"b2YsG\",\"block\":\"c2YsG\",\"fullHeight\":\"d2YsG\",\"standard\":\"e2YsG\",\"sticky\":\"f2YsG\",\"normal\":\"g2YsG\",\"perimeter16\":\"h2YsG\",\"perimeter24\":\"i2YsG\",\"perimeter32\":\"j2YsG\",\"perimeter48\":\"k2YsG\",\"inner\":\"l2YsG\",\"border\":\"m2YsG\",\"border-dark-indigo-20\":\"n2YsG\",\"borderDarkIndigo20\":\"n2YsG\",\"border-dark-indigo-10\":\"o2YsG\",\"borderDarkIndigo10\":\"o2YsG\",\"borderRadius0\":\"p2YsG\",\"borderRadius4\":\"q2YsG\",\"borderRadius8\":\"r2YsG\",\"borderRadius12\":\"s2YsG\",\"overflowHidden\":\"t2YsG\",\"white\":\"u2YsG\",\"grey\":\"v2YsG\",\"blue\":\"w2YsG\",\"transparent\":\"x2YsG\",\"black\":\"y2YsG\",\"lightInverted\":\"z2YsG\",\"perimeter\":\"A2YsG\",\"shadow\":\"B2YsG\"};","import { EventEmitter } from 'events';\n\nexport const emitter = new EventEmitter();\n\nemitter.setMaxListeners(100);\n\nexport const subscribe = (event: string, handler: (...args: T[]) => void) =>\n emitter.on(event, handler);\n\nexport const unsubscribe = (event: string, handler: (...args: T[]) => void) =>\n emitter.off(event, handler);\n\nexport const publish = (event: string, data: T) => emitter.emit(event, data);\n","import isEmpty from 'lodash/isEmpty';\n\nimport type { TWindowWithDataLayer, TWindowWithYandexMetric } from './models';\n\nexport const hasYandexMetric = (obj: unknown): obj is TWindowWithYandexMetric =>\n !!obj && typeof (obj as TWindowWithYandexMetric).ym === 'function';\n\nexport const hasDataLayer = (obj: unknown): obj is TWindowWithDataLayer =>\n !!(obj && (obj as TWindowWithDataLayer).dataLayer);\n\nexport const isNotEmpty = (obj: T): obj is NonNullable => !isEmpty(obj);\n","import type { TEvent } from './models';\nimport { hasDataLayer, hasYandexMetric, isNotEmpty } from './helpers';\n\nexport const sendEvent = (evt: TEvent = {}): void => {\n const globalContext = window;\n const { ymEvent, ...gaEvent } = evt;\n\n if (process.env.NODE_ENV === 'development') {\n if (isNotEmpty(gaEvent)) {\n console.info('Google Event:\\n', gaEvent);\n }\n if (isNotEmpty(ymEvent)) {\n const ymEvents = [ymEvent].flat();\n ymEvents.forEach(event => {\n const { method = 'reachGoal', params } = event;\n console.info('Yandex Event:\\n', method, ...[params].flat());\n });\n }\n }\n\n if (hasDataLayer(globalContext) && isNotEmpty(gaEvent)) {\n const completeEvt = {\n path: globalContext.location.pathname,\n ...gaEvent,\n };\n\n globalContext.dataLayer.push(completeEvt);\n }\n\n if (hasYandexMetric(globalContext) && isNotEmpty(ymEvent)) {\n const ymEvents = [ymEvent].flat();\n ymEvents.forEach(event => {\n const { method = 'reachGoal', params } = event;\n\n globalContext.ym(`${process.env.CUSTOM_YTM_ID}`, method, ...[params].flat());\n });\n }\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport React, { useMemo } from 'react';\n\nimport type { INamedContainerProps } from '../models';\n\nexport interface INamedContainers {\n [key: string]: ReactNode;\n}\n\ninterface INamedContainersWithChildren extends INamedContainers {\n children: ReactNode[];\n}\n\nexport function isNamedContainer(node: ReactNode): node is ReactElement {\n return Boolean(\n typeof node === 'object' &&\n node !== null &&\n (node as ReactElement).props.is === 'NamedContainer' &&\n (node as ReactElement).props.name\n );\n}\n\n/**\n * Функция собирает из children слоты и оставляет отфильтрованный список детей\n * @param children\n */\nexport function getNamedContainersWithChildren(children: ReactNode) {\n return React.Children.toArray(children).reduce(\n (nodes: INamedContainersWithChildren, node) => {\n if (!isNamedContainer(node)) {\n nodes.children.push(node);\n } else if (node.props.name !== 'children') {\n return {\n ...nodes,\n [node.props.name]: node.props.children,\n };\n }\n\n return nodes;\n },\n { children: [] }\n );\n}\n\n/**\n * Функция собирает из children только слоты\n * @param children\n */\nexport function getNamedContainers(children: ReactNode) {\n return React.Children.toArray(children).reduce((nodes: INamedContainers, node) => {\n if (isNamedContainer(node)) {\n return {\n ...nodes,\n [node.props.name]: node.props.children,\n };\n }\n\n return nodes;\n }, {});\n}\n\nexport function useNamedContainersWithChildren(children: ReactNode): INamedContainersWithChildren {\n return useMemo(() => getNamedContainersWithChildren(children), [children]);\n}\n\nexport function useNamedContainers(children: ReactNode) {\n return useMemo(() => getNamedContainers(children), [children]);\n}\n","import { createWidget } from '@alfa-bank/site-util-create-widget/create-widget';\nimport { BlockDesktop as Block } from '@alfa-bank/site-block/desktop';\nimport { useNamedContainers } from '@alfa-bank/site-named-container/utils';\nimport { DataLayer } from '@alfa-bank/site-data-layer/';\n\nimport type { IDependencies, TCard } from '../models';\nimport { PROMO_CARD_WIDTH, PROMO_CARD_HEIGHT } from '../config';\nimport { PromoCardV2 as Component } from '../promo-card-v2';\n\nimport styles from './desktop.css';\n\nexport const PromoCardDesktopV2 = createWidget({\n Block,\n useNamedContainers,\n styles,\n defaultWidth: PROMO_CARD_WIDTH,\n defaultHeight: PROMO_CARD_HEIGHT,\n DataLayer,\n type: 'desktop',\n})(Component);\n","// extracted by mini-css-extract-plugin\nexport default {\"background-$(backgroundColorBg)\":\"a1j1D\",\"background-$(backgroundColor)\":\"b1j1D\",\"external\":\"c1j1D\",\"card\":\"d1j1D\",\"active\":\"e1j1D\",\"content\":\"f1j1D\",\"buttonContainer\":\"g1j1D\",\"cardMinHeight\":\"h1j1D\"};","import type { MouseEvent } from 'react';\nimport React, { Component, cloneElement, isValidElement } from 'react';\nimport { subscribe, unsubscribe } from '@alfa-bank/site-event-bus';\nimport { sendEvent } from '@alfa-bank/site-helpers-common/browser/send-event';\n\nimport type { IProps } from './models';\n\nexport class DataLayer extends Component {\n componentDidMount() {\n const { blockSend, publisherEvent, sendOnRender } = this.props;\n\n if (sendOnRender && !blockSend) {\n this.handleSendEvent();\n }\n\n if (publisherEvent) {\n subscribe(publisherEvent, sendEvent);\n }\n }\n\n componentWillUnmount() {\n const { publisherEvent } = this.props;\n\n if (publisherEvent) {\n unsubscribe(publisherEvent, sendEvent);\n }\n }\n\n handleSendEvent = () => {\n const {\n children,\n className,\n data,\n onClick,\n publisherEvent,\n sendOnRender,\n tag,\n ...eventProps\n } = this.props;\n /* eslint-enable @typescript-eslint/no-unused-vars */\n\n sendEvent({ ...data, ...eventProps });\n };\n\n render() {\n const { blockSend, children, className, sendOnRender, tag } = this.props;\n\n // Если нужно посылать эвент на рендер или детей нет, то ничего рендерить не надо\n if (sendOnRender || !children) return null;\n\n /**\n * Если tag не прокинули, то проверяем что ребенок в children единственный и является валидным реакт компонентом, а не string и boolean.\n */\n if (tag === null && isValidElement(children)) {\n return cloneElement(children, {\n /**\n * Декорируем onClick эвент в ребенке. Добавляем ему вызов аналитики\n */\n // @ts-ignore migration TS@4.4.4->4.9.5 deprecated компонент так что нет смысла исправлять типизацию\n onClick: (event: MouseEvent) => {\n if (!blockSend) this.handleSendEvent();\n\n if (children.props.onClick) {\n children.props.onClick(event);\n }\n },\n });\n }\n\n /**\n * Во всех остальных случаях рендерим, то что дали.\n */\n const Tag = (tag as keyof JSX.IntrinsicElements) || 'span';\n\n return (\n \n {children}\n \n );\n }\n}\n","import { createWidget } from '@alfa-bank/site-util-create-widget/create-widget';\n\nimport type { IProps } from './models';\nimport { DataLayer as Component } from './data-layer';\n\nexport const DataLayer = createWidget()(Component);\n","export const PROMO_CARD_WIDTH = '564px';\nexport const PROMO_CARD_MOBILE_WIDTH = '270px';\n\nexport const PROMO_CARD_HEIGHT = '290px';\nexport const PROMO_CARD_MOBILE_HEIGHT = '300px';\n\nexport const ALLOWED_MEASURE_UNITS = ['px', '%'] as const;\n\nexport const BG_SIZE_OPTIONS = [\n {\n description:\n 'Изображение масштабируется для максимального покрытия блока. Если размер контейнера отличается от изображения - излишки обрезаются',\n value: 'cover',\n },\n { description: 'Изображение изменяет размер, сохраняя пропорции', value: 'auto' },\n {\n description:\n 'Изображение масштабируется как можно больше c сохранением пропорций и не обрезается',\n value: 'contain',\n },\n {\n description: 'Изображение сохраняет исходный размер',\n value: 'initial',\n },\n] as const;\n\nexport const BORDER_RADIUS_OPTIONS = [\n { value: 0 },\n { value: 4 },\n { value: 8 },\n { value: 12 },\n { value: 16 },\n { value: 24 },\n { value: 32 },\n] as const;\n","import React, { useMemo } from 'react';\nimport type { FC } from 'react';\nimport cn from 'classnames';\n\nimport type { TCard } from './models';\n\nexport const PromoCardV2: FC> = ({\n Block,\n DataLayer,\n analyticsClick,\n autoHeight = false,\n background,\n backgroundColor,\n backgroundPosition,\n backgroundSize,\n backgroundBlur,\n children,\n dataTestId,\n defaultHeight,\n defaultWidth,\n height,\n hoverEffect = true,\n id,\n styles,\n type,\n padding = type === 'mobile' ? 16 : 32,\n borderRadius = type === 'mobile' ? 24 : 8,\n useNamedContainers,\n width,\n onClick,\n className,\n}) => {\n const { buttons, content, title } = useNamedContainers(children);\n\n const currentWidth = width ?? defaultWidth;\n const currentHeight = height ?? defaultHeight;\n const backdropFilter = useMemo(\n () => (backgroundBlur ? `blur(${backgroundBlur})` : undefined),\n [backgroundBlur]\n );\n\n return (\n \n \n
\n
\n {title}\n {content}\n
\n
{buttons}
\n
\n \n
\n );\n};\n","import { ComponentType } from 'react';\n\nimport { ICreateWidget } from './models';\nimport { hoist, createWrapper } from './helpers';\n\n/**\n * Функция hoc, для создания виджета, принимает объект зависимостей\n * и возвращает компонент с внедренными зависимостями\n */\nexport const createWidget: ICreateWidget =\n (dependencies?: T) =>\n (Widget: ComponentType) =>\n hoist(createWrapper(Widget, dependencies), Widget);\n","// extracted by mini-css-extract-plugin\nexport default {\"borderRadius0\":\"aG2mw\",\"borderRadius4\":\"bG2mw\",\"borderRadius8\":\"cG2mw\",\"borderRadius12\":\"dG2mw\",\"marginTop0\":\"eG2mw\",\"marginTop2\":\"fG2mw\",\"marginTop4\":\"gG2mw\",\"marginTop8\":\"hG2mw\",\"marginTop12\":\"iG2mw\",\"marginTop16\":\"jG2mw\",\"marginTop20\":\"kG2mw\",\"marginTop24\":\"lG2mw\",\"marginTop28\":\"mG2mw\",\"marginTop32\":\"nG2mw\",\"marginTop36\":\"oG2mw\",\"marginTop40\":\"pG2mw\",\"marginTop44\":\"qG2mw\",\"marginTop48\":\"rG2mw\",\"marginTop52\":\"sG2mw\",\"marginTop56\":\"tG2mw\",\"marginTop60\":\"uG2mw\",\"marginTop64\":\"vG2mw\",\"marginTop68\":\"wG2mw\",\"marginTop72\":\"xG2mw\",\"marginRight0\":\"yG2mw\",\"marginRight2\":\"zG2mw\",\"marginRight4\":\"AG2mw\",\"marginRight8\":\"BG2mw\",\"marginRight12\":\"CG2mw\",\"marginRight16\":\"DG2mw\",\"marginRight20\":\"EG2mw\",\"marginRight24\":\"FG2mw\",\"marginRight28\":\"GG2mw\",\"marginRight32\":\"HG2mw\",\"marginRight36\":\"IG2mw\",\"marginRight40\":\"JG2mw\",\"marginRight44\":\"KG2mw\",\"marginRight48\":\"LG2mw\",\"marginRight52\":\"MG2mw\",\"marginRight56\":\"NG2mw\",\"marginRight60\":\"OG2mw\",\"marginRight64\":\"PG2mw\",\"marginRight68\":\"QG2mw\",\"marginRight72\":\"RG2mw\",\"marginBottom0\":\"SG2mw\",\"marginBottom2\":\"TG2mw\",\"marginBottom4\":\"UG2mw\",\"marginBottom8\":\"VG2mw\",\"marginBottom12\":\"WG2mw\",\"marginBottom16\":\"XG2mw\",\"marginBottom20\":\"YG2mw\",\"marginBottom24\":\"ZG2mw\",\"marginBottom28\":\"__G2mw\",\"marginBottom32\":\"_0G2mw\",\"marginBottom36\":\"_1G2mw\",\"marginBottom40\":\"_2G2mw\",\"marginBottom44\":\"_3G2mw\",\"marginBottom48\":\"_4G2mw\",\"marginBottom52\":\"_5G2mw\",\"marginBottom56\":\"_6G2mw\",\"marginBottom60\":\"_7G2mw\",\"marginBottom64\":\"_8G2mw\",\"marginBottom68\":\"_9G2mw\",\"marginBottom72\":\"_-G2mw\",\"marginLeft0\":\"aaG2mw\",\"marginLeft2\":\"abG2mw\",\"marginLeft4\":\"acG2mw\",\"marginLeft8\":\"adG2mw\",\"marginLeft12\":\"aeG2mw\",\"marginLeft16\":\"afG2mw\",\"marginLeft20\":\"agG2mw\",\"marginLeft24\":\"ahG2mw\",\"marginLeft28\":\"aiG2mw\",\"marginLeft32\":\"ajG2mw\",\"marginLeft36\":\"akG2mw\",\"marginLeft40\":\"alG2mw\",\"marginLeft44\":\"amG2mw\",\"marginLeft48\":\"anG2mw\",\"marginLeft52\":\"aoG2mw\",\"marginLeft56\":\"apG2mw\",\"marginLeft60\":\"aqG2mw\",\"marginLeft64\":\"arG2mw\",\"marginLeft68\":\"asG2mw\",\"marginLeft72\":\"atG2mw\",\"paddingTop0\":\"auG2mw\",\"paddingTop2\":\"avG2mw\",\"paddingTop4\":\"awG2mw\",\"paddingTop8\":\"axG2mw\",\"paddingTop12\":\"ayG2mw\",\"paddingTop16\":\"azG2mw\",\"paddingTop20\":\"aAG2mw\",\"paddingTop24\":\"aBG2mw\",\"paddingTop28\":\"aCG2mw\",\"paddingTop32\":\"aDG2mw\",\"paddingTop36\":\"aEG2mw\",\"paddingTop40\":\"aFG2mw\",\"paddingTop44\":\"aGG2mw\",\"paddingTop48\":\"aHG2mw\",\"paddingTop52\":\"aIG2mw\",\"paddingTop56\":\"aJG2mw\",\"paddingTop60\":\"aKG2mw\",\"paddingTop64\":\"aLG2mw\",\"paddingTop68\":\"aMG2mw\",\"paddingTop72\":\"aNG2mw\",\"paddingRight0\":\"aOG2mw\",\"paddingRight2\":\"aPG2mw\",\"paddingRight4\":\"aQG2mw\",\"paddingRight8\":\"aRG2mw\",\"paddingRight12\":\"aSG2mw\",\"paddingRight16\":\"aTG2mw\",\"paddingRight20\":\"aUG2mw\",\"paddingRight24\":\"aVG2mw\",\"paddingRight28\":\"aWG2mw\",\"paddingRight32\":\"aXG2mw\",\"paddingRight36\":\"aYG2mw\",\"paddingRight40\":\"aZG2mw\",\"paddingRight44\":\"a_G2mw\",\"paddingRight48\":\"a0G2mw\",\"paddingRight52\":\"a1G2mw\",\"paddingRight56\":\"a2G2mw\",\"paddingRight60\":\"a3G2mw\",\"paddingRight64\":\"a4G2mw\",\"paddingRight68\":\"a5G2mw\",\"paddingRight72\":\"a6G2mw\",\"paddingBottom0\":\"a7G2mw\",\"paddingBottom2\":\"a8G2mw\",\"paddingBottom4\":\"a9G2mw\",\"paddingBottom8\":\"a-G2mw\",\"paddingBottom12\":\"baG2mw\",\"paddingBottom16\":\"bbG2mw\",\"paddingBottom20\":\"bcG2mw\",\"paddingBottom24\":\"bdG2mw\",\"paddingBottom28\":\"beG2mw\",\"paddingBottom32\":\"bfG2mw\",\"paddingBottom36\":\"bgG2mw\",\"paddingBottom40\":\"bhG2mw\",\"paddingBottom44\":\"biG2mw\",\"paddingBottom48\":\"bjG2mw\",\"paddingBottom52\":\"bkG2mw\",\"paddingBottom56\":\"blG2mw\",\"paddingBottom60\":\"bmG2mw\",\"paddingBottom64\":\"bnG2mw\",\"paddingBottom68\":\"boG2mw\",\"paddingBottom72\":\"bpG2mw\",\"paddingLeft0\":\"bqG2mw\",\"paddingLeft2\":\"brG2mw\",\"paddingLeft4\":\"bsG2mw\",\"paddingLeft8\":\"btG2mw\",\"paddingLeft12\":\"buG2mw\",\"paddingLeft16\":\"bvG2mw\",\"paddingLeft20\":\"bwG2mw\",\"paddingLeft24\":\"bxG2mw\",\"paddingLeft28\":\"byG2mw\",\"paddingLeft32\":\"bzG2mw\",\"paddingLeft36\":\"bAG2mw\",\"paddingLeft40\":\"bBG2mw\",\"paddingLeft44\":\"bCG2mw\",\"paddingLeft48\":\"bDG2mw\",\"paddingLeft52\":\"bEG2mw\",\"paddingLeft56\":\"bFG2mw\",\"paddingLeft60\":\"bGG2mw\",\"paddingLeft64\":\"bHG2mw\",\"paddingLeft68\":\"bIG2mw\",\"paddingLeft72\":\"bJG2mw\"};","import isEmpty from 'lodash/isEmpty';\n\nimport styles from './styles/common.css';\nimport { IStyler } from './models';\n\ntype TStyle = keyof typeof styles;\n\nconst RULES: Array<[keyof IStyler, keyof IStyler]> = [\n ['borderRadius', 'borderRadius'],\n ['marginTop', 'margin'],\n ['marginRight', 'margin'],\n ['marginBottom', 'margin'],\n ['marginLeft', 'margin'],\n ['paddingTop', 'padding'],\n ['paddingRight', 'padding'],\n ['paddingBottom', 'padding'],\n ['paddingLeft', 'padding'],\n];\n\nexport const generateStyle = (\n styler: IStyler = {},\n injectedClassName?: string\n): { className: string } | undefined => {\n const classNames: string[] = [];\n\n if (isEmpty(styler)) {\n return injectedClassName ? { className: injectedClassName } : undefined;\n }\n\n for (const [rule, fallback] of RULES) {\n if (styler[rule] !== undefined) {\n classNames.push(styles[`${rule}${styler[rule]}` as TStyle]);\n } else if (styler[fallback] !== undefined) {\n classNames.push(styles[`${rule}${styler[fallback]}` as TStyle]);\n }\n }\n\n if (injectedClassName) {\n classNames.push(injectedClassName);\n }\n\n if (classNames.length) return { className: classNames.join(' ') };\n\n return undefined;\n};\n","import React, { ComponentType } from 'react';\nimport hoistStatics from 'hoist-non-react-statics';\n\nimport { generateStyle } from './generate-style';\nimport { TWrapper } from './models';\n\n/**\n * Вернуть объект с названием виджета\n */\nexport const getDisplayName = (TargetWidget: ComponentType) => ({\n displayName: TargetWidget.displayName || TargetWidget.name || 'UnnamedWidget',\n});\n\n/**\n * Создать обертку, добавляющую стайлер и зависимости\n */\nexport const createWrapper =\n (Widget: ComponentType, dependencies?: T): ComponentType> =>\n ({ className, styler, ...props }) =>\n ;\n\n/**\n * Добавить изначальные свойства виджета, displayName и любые дополнительные\n */\nexport const hoist = (\n Wrapper: ComponentType,\n Widget: ComponentType,\n ...rest: any[]\n): ComponentType =>\n Object.assign(hoistStatics(Wrapper, Widget), getDisplayName(Widget), ...rest);\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n"],"names":["Block","props","border","borderColor","borderRadius","children","className","dataTestId","fullHeight","id","inner","innerRef","notPadded","overflowHidden","paddedType","shadow","styles","theme","rest","borderStyles","borderRadiusSize","classNames","cn","block","ref","BlockDesktop","createWidget","Component","emitter","EventEmitter","setMaxListeners","subscribe","event","handler","on","unsubscribe","off","publish","data","emit","isNotEmpty","obj","isEmpty","sendEvent","evt","globalContext","window","ymEvent","gaEvent","dataLayer","completeEvt","path","location","pathname","push","ym","hasYandexMetric","flat","forEach","method","params","process","CUSTOM_YTM_ID","isNamedContainer","node","Boolean","is","name","getNamedContainersWithChildren","React","reduce","nodes","getNamedContainers","useNamedContainersWithChildren","useMemo","useNamedContainers","PromoCardDesktopV2","defaultWidth","PROMO_CARD_WIDTH","defaultHeight","PROMO_CARD_HEIGHT","DataLayer","type","handleSendEvent","eventProps","onClick","publisherEvent","sendOnRender","tag","componentDidMount","this","blockSend","componentWillUnmount","render","isValidElement","cloneElement","Tag","PROMO_CARD_MOBILE_WIDTH","PROMO_CARD_MOBILE_HEIGHT","PromoCardV2","analyticsClick","autoHeight","background","backgroundColor","backgroundPosition","backgroundSize","backgroundBlur","height","hoverEffect","padding","width","buttons","content","title","currentWidth","currentHeight","backdropFilter","undefined","card","external","active","cardMinHeight","toString","style","backgroundImage","WebkitBackdropFilter","styler","buttonContainer","dependencies","Widget","hoist","createWrapper","RULES","getDisplayName","TargetWidget","displayName","injectedClassName","rule","fallback","length","join","generateStyle","Wrapper","Object","assign","hoistStatics","hasOwn","hasOwnProperty","classes","i","arguments","arg","argType","Array","isArray","apply","prototype","key","call","module","exports","default","ReflectOwnKeys","R","Reflect","ReflectApply","target","receiver","args","Function","ownKeys","getOwnPropertySymbols","getOwnPropertyNames","concat","NumberIsNaN","Number","isNaN","value","init","once","Promise","resolve","reject","errorListener","err","removeListener","resolver","slice","eventTargetAgnosticAddListener","flags","addErrorHandlerIfEventEmitter","_events","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","TypeError","_getMaxListeners","that","_addListener","prepend","m","events","existing","warning","create","newListener","unshift","warned","w","Error","String","count","console","warn","onceWrapper","fired","wrapFn","_onceWrap","state","wrapped","bind","_listeners","unwrap","evlistener","arr","ret","unwrapListeners","arrayClone","listenerCount","n","copy","addEventListener","wrapListener","removeEventListener","defineProperty","enumerable","get","set","RangeError","getPrototypeOf","getMaxListeners","doError","error","er","message","context","len","listeners","addListener","prependListener","prependOnceListener","list","position","originalListener","shift","index","pop","spliceOne","removeAllListeners","keys","rawListeners","eventNames"],"sourceRoot":""}