{"version":3,"file":"42837.073f8d76.es5.js","mappings":"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","sources":["webpack://assr-alfaleasing/./node_modules/@alfalab/core-components-loader/esm/Component.js","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-event-bus/src/components/publisher/helpers.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-event-bus/src/publisher.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-event-bus/src/components/publisher/index.tsx","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-helpers-common/node_modules/@alfa-bank/site-br/src/index.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-helpers-common/node_modules/@alfa-bank/site-br/src/styles/styles.css?b7b6","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-helpers-common/node_modules/@alfa-bank/site-br/src/br.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-helpers-common/src/react/parse-new-lines.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-layout/src/helpers/map-width.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-named-container/src/named-container/utils.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-text-v2/src/desktop/index.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-text-v2/src/mobile/index.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-tiles/node_modules/@alfa-bank/site-background/src/background.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-tiles/node_modules/@alfa-bank/site-background/src/styles/styles.css?7c3b","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-tiles/node_modules/@alfa-bank/site-background/src/components/background.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-tiles/node_modules/@alfa-bank/site-data-layer/src/data-layer.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-tiles/node_modules/@alfa-bank/site-data-layer/src/index.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-tiles/node_modules/@alfa-bank/site-link/src/helpers/scroll.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-tiles/node_modules/@alfa-bank/site-link/src/components/scroller.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-tiles/node_modules/@alfa-bank/site-link/src/components/link.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-tiles/node_modules/@alfa-bank/site-link/src/link.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-tiles/node_modules/@alfa-bank/site-link/src/styles/styles.css","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-tiles/node_modules/@alfa-bank/site-link/src/config.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-tiles/node_modules/@alfalab/hooks/dist/esm/index.js","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-tiles/node_modules/@alfalab/core-components-button/esm/Component.js","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-tiles/node_modules/@alfa-bank/site-button-v2/src/styles/styles.css?00a8","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-tiles/node_modules/@alfa-bank/site-button-v2/src/config.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-tiles/node_modules/@alfa-bank/site-button-v2/src/index.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-tiles/node_modules/@alfa-bank/site-button-v2/src/button.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-tiles/src/common/tile-button.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-tiles/src/common/tile-button-component.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-tiles/src/common/tile-link-component.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-tiles/src/common/tile-link.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-tiles/src/constants.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-tiles/src/styles/styles.css?7585","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-tiles/src/utils/render-tile-content.tsx","webpack://assr-alfaleasing/./node_modules/events/events.js","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-img/src/styles/styles.css?4e09","webpack://assr-alfaleasing/./node_modules/react-merge-refs/dist/react-merge-refs.esm.js"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\nvar styles = {\"component\":\"loader__component_tyagz\",\"blink\":\"loader__blink_tyagz\"};\nrequire('./index.css')\n\nvar Loader = function (_a) {\n var className = _a.className, dataTestId = _a.dataTestId;\n return (React.createElement(\"div\", { className: cn(styles.component, className), \"data-test-id\": dataTestId },\n React.createElement(\"div\", null),\n React.createElement(\"div\", null),\n React.createElement(\"div\", null)));\n};\n\nexport { Loader };\n","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 { publish } from '../..';\nimport { ICallback } from '../../models';\n\ntype TCallbackGroup = Record;\n\ntype TCallbackFunction = (data: unknown) => void;\n\n/**\n * Группирует колбеки по их пропам-ключам\n *\n * @param callbacks - колбеки\n */\nexport const groupByPropKey = (callbacks: ICallback[]) =>\n callbacks.reduce((result, callback) => {\n const { propKey } = callback;\n const prevCallback = result[propKey] ?? [];\n\n return {\n ...result,\n [propKey]: [...prevCallback, callback],\n };\n }, {});\n\nconst publishEventPayload = (handlers: ICallback[], data: unknown) => {\n handlers.forEach(({ event, payload }) =>\n publish(event, payload === undefined ? data : payload)\n );\n};\n\n/**\n * Добавляет публикацию ивентов в пропсы дочернего компонента по ключам, указанным в сгруппированных колбеках\n *\n * @param callbacks - сгруппированные колбеки\n * @param childProps - пропсы дочернего компонента\n */\nexport const injectPublishEvents = (\n callbacks: TCallbackGroup,\n childProps: Record\n) => {\n const propsArr = Object.entries(callbacks).map(([propKey, handlers]) => [\n propKey,\n (data: unknown) => {\n if (typeof childProps[propKey] === 'function') {\n (childProps[propKey] as TCallbackFunction)(data);\n }\n\n publishEventPayload(handlers, data);\n },\n ]);\n\n return Object.fromEntries(propsArr);\n};\n","import { createWidget } from '@alfa-bank/site-util-create-widget/create-widget';\n\nimport { Publisher as PublisherComponent } from './components/publisher';\nimport { IPublisher } from './models';\n\nexport const Publisher = createWidget()(PublisherComponent);\n","import { cloneElement, Children, FC } from 'react';\n\nimport { IPublisher } from '../../models';\n\nimport { groupByPropKey, injectPublishEvents } from './helpers';\n\nexport const Publisher: FC = ({ callbacks, children, ...restProps }) => {\n if (!callbacks) return children;\n\n const child = Children.only(children);\n\n const groupedCallbacks = groupByPropKey(callbacks);\n\n const newProps = injectPublishEvents(groupedCallbacks, child.props);\n\n return cloneElement(child, {\n ...restProps,\n ...newProps,\n });\n};\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 { createWidget } from '@alfa-bank/site-util-create-widget/create-widget';\n\nimport type { TBr, IDeps } from './models';\nimport { Br as Component } from './br';\nimport styles from './styles/styles.css';\n\nexport const Br = createWidget({\n styles,\n})(Component);\n","// extracted by mini-css-extract-plugin\nexport default {\"block\":\"a1Ssn\"};","import type { FC } from 'react';\nimport React from 'react';\nimport cn from 'classnames';\n\nimport type { TBr } from './models';\n\nexport const Br: FC = ({ inline = false, styles }) => {\n const classNames =\n cn({\n [styles.block]: !inline,\n }) || undefined;\n\n return {inline && ' '};\n};\n","import type { ComponentType, ReactNode } from 'react';\nimport React, { Fragment } from 'react';\nimport { Br } from '@alfa-bank/site-br';\n\n/**\n * Хелпер для создания многострочного текста\n * @param content контент - обрабатывается только текст и массивы в arrayMode\n * @param wrapper кастомная обертка\n * @param arrayMode режим работы с массивами - для совместимости со старым хелпером\n * getMultiLineText\n */\nexport const parseNewLines = (\n content?: ReactNode,\n wrapper?: ComponentType,\n arrayMode = false\n): ReactNode | ReactNode[] => {\n if (!content) return '';\n const WrapperComponent = wrapper ?? Fragment;\n const isArray = arrayMode && Array.isArray(content);\n if (typeof content !== 'string' && !isArray) return content;\n\n const arr = isArray ? (content as string[]) : (content as string).split(/\\\\n|\\n/);\n\n return arr.map((item, index) => (\n \n {typeof item === 'string' ? item.trim() : item}\n {index < arr.length - 1 &&
}\n
\n ));\n};\n","const isNumber = (value: string | number): value is number => typeof value === 'number';\n\nexport const mapWidth = (value: string | number) => {\n if (isNumber(value) && value > 0 && value <= 1) {\n return `${value * 100}%`;\n }\n\n if (isNumber(value) && value > 1) {\n return `${value}px`;\n }\n\n return value;\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';\n\nimport type { TPropsDesktop, IDepsDesktop } from '../models';\nimport { Text as Component } from '../text';\nimport styles from '../styles/styles.css';\n\nexport const TextDesktop = createWidget({\n styles,\n})(Component);\n","import { createWidget } from '@alfa-bank/site-util-create-widget/create-widget';\n\nimport type { TPropsMobile, IDepsMobile } from '../models';\nimport { Text as Component } from '../text';\nimport styles from '../styles/styles.css';\n\nexport const TextMobile = createWidget({\n styles,\n})(Component);\n","import { createWidget } from '@alfa-bank/site-util-create-widget/create-widget';\n\nimport { Background as Component } from './components/background';\nimport styles from './styles/styles.css';\nimport type { IBgDeps, TBackground } from './models';\n\nexport const Background = createWidget({\n styles,\n})(Component);\n","// extracted by mini-css-extract-plugin\nexport default {\"background-$(backgroundColorBg)\":\"aSEWL\",\"background-$(backgroundColor)\":\"bSEWL\",\"responsiveBackground\":\"cSEWL\",\"borderRadius\":\"dSEWL\"};","import type { FC } from 'react';\nimport React from 'react';\nimport cn from 'classnames';\n\nimport type { TBackground } from '../models';\n\nexport const Background: FC> = ({\n background: { color, gradient } = {},\n borderRadius,\n children,\n className,\n dataTestId,\n gradientOverImage,\n gradientUnderImage,\n image,\n styles,\n}) => {\n const gradientOver = gradientOverImage ? `${gradientOverImage},` : '';\n const gradientUnder = gradientUnderImage ? `,${gradientUnderImage}` : '';\n\n const backgroundImage = image && `${gradientOver}url(${image})${gradientUnder}`;\n\n return (\n \n {children}\n \n );\n};\n","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","const getParentZoom = (target: HTMLElement | null): number => {\n if (target === null) {\n return 1;\n }\n\n // TODO: zoom задеприкейчен. Стоит исследовать, нужен ли нам зум.\n const {\n // @ts-ignore\n zoom,\n } = window.getComputedStyle(target);\n\n const isZoomDefaultOrMissing = !zoom || zoom === '1';\n const hasParent = !!target.parentNode;\n const isBody = target.tagName === 'BODY';\n\n const canGoAhead = isZoomDefaultOrMissing && hasParent && !isBody;\n\n if (canGoAhead) {\n return getParentZoom(target.parentElement);\n }\n\n if (!zoom) {\n return 1;\n }\n\n return parseFloat(zoom);\n};\n\ninterface IGetOffsetComponents {\n containerOffset: number;\n offset: number;\n zoom: number;\n}\n\nconst getOffsetComponents = (\n container: HTMLElement | Document,\n target: HTMLElement\n): IGetOffsetComponents => {\n const result = {\n containerOffset: 0,\n zoom: getParentZoom(target),\n offset: target.getBoundingClientRect().top,\n };\n\n if (container instanceof Document) {\n result.containerOffset = window.scrollY;\n\n return result;\n }\n\n // TODO отсюда и ниже не смог попасть тестами. Разобраться, нужен ли код\n if (getComputedStyle(container).position !== 'static') {\n result.offset = target.offsetTop;\n\n return result;\n }\n\n result.containerOffset = container.offsetTop;\n result.offset = target.getBoundingClientRect().top;\n\n return result;\n};\n\nconst calcOffset = (container: HTMLElement | Document, target: HTMLElement): number => {\n const { containerOffset, offset, zoom } = getOffsetComponents(container, target);\n\n return offset * zoom + containerOffset;\n};\n\nconst windowScroller = (offset: number): void => window.scrollTo(0, offset);\n\nconst getElementByHash = (hash: string): HTMLElement | null =>\n document.querySelector(`#${hash}`);\n\nconst scrollBase = ({\n getElement,\n calculateOffset = calcOffset,\n scrollHandler = windowScroller,\n name,\n options,\n}: {\n calculateOffset: typeof calcOffset;\n getElement: typeof getElementByHash;\n name: string;\n options: {\n offset?: number;\n };\n scrollHandler: typeof windowScroller;\n}): void => {\n const { offset = 0 } = options;\n const element = getElement(name);\n\n if (!element) {\n return undefined;\n }\n\n window.location.href = `#${name}`;\n\n return scrollHandler(calculateOffset(document, element) + offset);\n};\n\nexport const scrollToHash = (name: string, options = {}): void =>\n scrollBase({\n getElement: getElementByHash,\n calculateOffset: calcOffset,\n scrollHandler: windowScroller,\n name,\n options,\n });\n","import type { FC, ReactElement, MouseEvent, MouseEventHandler } from 'react';\nimport { Children, cloneElement } from 'react';\n\nimport { scrollToHash } from '../helpers/scroll';\n\nconst onlyHashReg = /^#(.+)/;\n\nconst handleClick =\n (onClick: MouseEventHandler, options: { offset: number }, hash?: string) =>\n (event: MouseEvent) => {\n onClick(event);\n\n if (!hash) {\n return;\n }\n\n event.preventDefault();\n\n const anchorLabel = hash.slice(1);\n\n scrollToHash(anchorLabel, options);\n };\n\ninterface IScroller {\n children: ReactElement<{\n href?: string;\n onClick: MouseEventHandler;\n }>;\n offset?: number;\n}\n\nexport const Scroller: FC = ({ children, offset = 0 }) => {\n const link = Children.only(children);\n\n let hash;\n const {\n props: { href, onClick },\n } = link;\n\n const targetHref = href || '';\n\n const match = targetHref.match(onlyHashReg);\n\n if (match) {\n [hash] = match;\n }\n\n const newProps = {\n ...link.props,\n onClick: handleClick(onClick, { offset }, hash),\n };\n\n return cloneElement(link, newProps);\n};\n","import type { FC, Ref, MouseEvent } from 'react';\nimport React, { useCallback } from 'react';\nimport cn from 'classnames';\n\nimport { DEFAULT_BORDER_LINK, DEFAULT_BORDER_PSEUDO, DEFAULT_THEME, DEFAULT_KIND } from '../config';\nimport type { ILinkProps } from '../models';\n\nimport { Scroller } from './scroller';\n\n// Дефолтная ф-ия, чтобы не писать проверок в коде компонента\n// istanbul ignore next\nconst foo = () => {};\n\nexport const Link: FC = ({\n border,\n children,\n className,\n collectorData,\n dataTestId,\n href,\n kind = DEFAULT_KIND,\n linkRef,\n noUnderline = false,\n onClick = foo,\n onMouseEnter,\n onMouseOver,\n onMouseOut,\n pseudo = false,\n rel = 'noopener noreferrer',\n target,\n title,\n scrollOffset,\n styles,\n tabIndex,\n id,\n theme = DEFAULT_THEME,\n urlEqHref = true,\n role,\n ariaLabel,\n preventDefault = false,\n}) => {\n // Совпадает ли урл страницы с указанным в href\n const isPageUrlEqHref = urlEqHref && href && collectorData?.url === href;\n\n const borderStyleDefault = pseudo ? DEFAULT_BORDER_PSEUDO : DEFAULT_BORDER_LINK;\n\n const borderStyle = border || borderStyleDefault;\n\n const handleClick = useCallback(\n (event: MouseEvent) => {\n onClick({ event });\n if (preventDefault) {\n event.preventDefault();\n }\n },\n [onClick, preventDefault]\n );\n\n const globalProps = {\n 'data-test-id': dataTestId,\n title,\n id,\n };\n\n const commonProps = {\n onClick: handleClick,\n className: cn(\n styles.link,\n styles[`${theme}Theme_${kind}Kind`],\n styles[`${borderStyle}Border`],\n {\n [styles.noUnderline]: noUnderline,\n },\n className\n ),\n onMouseEnter,\n onMouseOver,\n onMouseOut,\n tabIndex,\n role,\n 'aria-label': ariaLabel,\n ...globalProps,\n };\n\n if (isPageUrlEqHref) {\n return {children};\n }\n\n const linkContent = pseudo ? (\n \n {children}\n \n ) : (\n }\n href={href}\n rel={rel}\n target={target}\n >\n {children}\n \n );\n\n return scrollOffset ? {linkContent} : linkContent;\n};\n","import { createWidget } from '@alfa-bank/site-util-create-widget/create-widget';\n\nimport { Link as Component } from './components/link';\nimport type { ILinkDependencies, ILinkProps } from './models';\nimport styles from './styles/styles.css';\n\nexport const Link = createWidget({ styles })(Component);\n","// extracted by mini-css-extract-plugin\nexport default {\"background-$(backgroundColorBg)\":\"aKO6w\",\"background-$(backgroundColor)\":\"bKO6w\",\"link\":\"cKO6w\",\"noUnderline\":\"dKO6w\",\"solidBorder\":\"eKO6w\",\"dashedBorder\":\"fKO6w\",\"hiddenBorder\":\"gKO6w\",\"whiteTheme_primaryKind\":\"hKO6w\",\"whiteThemePrimaryKind\":\"hKO6w\",\"whiteTheme_commonKind\":\"iKO6w\",\"whiteThemeCommonKind\":\"iKO6w\",\"whiteTheme_captionKind\":\"jKO6w\",\"whiteThemeCaptionKind\":\"jKO6w\",\"greyTheme_captionKind\":\"kKO6w\",\"greyThemeCaptionKind\":\"kKO6w\",\"blueTheme_captionKind\":\"lKO6w\",\"blueThemeCaptionKind\":\"lKO6w\",\"blackTheme_captionKind\":\"mKO6w\",\"blackThemeCaptionKind\":\"mKO6w\",\"blueTheme_primaryKind\":\"nKO6w\",\"blueThemePrimaryKind\":\"nKO6w\",\"blueTheme_commonKind\":\"oKO6w\",\"blueThemeCommonKind\":\"oKO6w\",\"blackTheme_primaryKind\":\"pKO6w\",\"blackThemePrimaryKind\":\"pKO6w\",\"blackTheme_commonKind\":\"qKO6w\",\"blackThemeCommonKind\":\"qKO6w\",\"greyTheme_primaryKind\":\"rKO6w\",\"greyThemePrimaryKind\":\"rKO6w\",\"greyTheme_commonKind\":\"sKO6w\",\"greyThemeCommonKind\":\"sKO6w\"};","export const DEFAULT_BORDER_LINK = 'solid';\nexport const DEFAULT_BORDER_PSEUDO = 'dashed';\nexport const BORDERS = ['solid', 'dashed', 'hidden'] as const;\n\nexport const DEFAULT_KIND = 'common';\nexport const KINDS = ['common', 'caption', 'primary'] as const;\n\nexport const DEFAULT_THEME = 'white';\nexport const THEMES = ['white', 'blue', 'grey'] as const;\n","import React, { useRef, useState, useCallback, useEffect, useLayoutEffect } from 'react';\nimport { hasScrolledToBottomOfPage } from '@alfalab/utils';\n\nfunction useClickOutside(ref, cb) {\n React.useEffect(function () {\n var handler = function (event) {\n var checkClickedElement = function (el) {\n return !el.current || el.current.contains(event.target);\n };\n if ((Array.isArray(ref) && ref.find(checkClickedElement)) ||\n (!Array.isArray(ref) && checkClickedElement(ref))) {\n return;\n }\n cb(event);\n };\n document.addEventListener('mousedown', handler);\n document.addEventListener('touchstart', handler);\n return function () {\n document.removeEventListener('mousedown', handler);\n document.removeEventListener('touchstart', handler);\n };\n }, [ref, cb]);\n}\n\n/**\n * Хук обратного отсчёта времени.\n * Возвращает оставшееся количество секунд до определённой даты.\n *\n * @param params.endDate - Дата окончания\n * @param params.onStart - Функция, которая будет вызвана при запуске счётчика\n * @param params.onEnd - Функция, которая будет вызвана при окончании счётчика\n */\nfunction useCountdown(_a) {\n var endDate = _a.endDate, onStart = _a.onStart, onEnd = _a.onEnd;\n var intervalId = useRef(null);\n var _b = useState(differenceInSeconds(endDate, new Date())), seconds = _b[0], setSeconds = _b[1];\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n var clear = useCallback(function () { return clearInterval(intervalId.current); }, []);\n useEffect(function () {\n if (onStart) {\n onStart();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n useEffect(function () {\n intervalId.current = setInterval(function () {\n setSeconds(function (sec) { return sec - 1; });\n }, 1000);\n return clear;\n }, [clear]);\n useEffect(function () {\n if (seconds <= 0) {\n clear();\n if (onEnd) {\n onEnd();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [seconds]);\n return [seconds];\n}\nfunction differenceInSeconds(dateLeft, dateRight) {\n var diff = (dateLeft.getTime() - dateRight.getTime()) / 1000;\n return diff > 0 ? Math.floor(diff) : Math.ceil(diff);\n}\n\nfunction getDimensionObject(node) {\n return node.getBoundingClientRect();\n}\nfunction useDimensions(_a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.liveMeasure, liveMeasure = _c === void 0 ? true : _c;\n var _d = useState(), dimensions = _d[0], setDimensions = _d[1];\n var _e = useState(), node = _e[0], setNode = _e[1];\n var ref = useCallback(function (_node) {\n setNode(_node);\n }, []);\n useLayoutEffect(function () {\n if (node) {\n var measure_1 = function () {\n return window.requestAnimationFrame(function () { return setDimensions(getDimensionObject(node)); });\n };\n measure_1();\n if (liveMeasure) {\n window.addEventListener('resize', measure_1);\n window.addEventListener('scroll', measure_1);\n return function () {\n window.removeEventListener('resize', measure_1);\n window.removeEventListener('scroll', measure_1);\n };\n }\n }\n return function () { return undefined; };\n }, [node, liveMeasure]);\n return [ref, dimensions, node];\n}\n\n/**\n * https://github.com/facebook/react/issues/14099#issuecomment-440013892\n *\n * @param {function} fn\n */\nfunction useEventCallback(fn) {\n var ref = React.useRef(fn);\n React.useEffect(function () {\n ref.current = fn;\n });\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n return React.useCallback(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return (ref.current).apply(void 0, args);\n }, []);\n}\n\nvar prevInputMethod;\nfunction handleKeyDown(event) {\n if (event.key === 'Tab') {\n prevInputMethod = 'keyboard';\n }\n}\nfunction handleMouseDown() {\n prevInputMethod = 'mouse';\n}\nfunction handleTouchStart() {\n prevInputMethod = 'mouse';\n}\n/**\n * Навешивает несколько глобальных обработчиков и отслеживает метод ввода - мышь или клавиатура.\n * Note: Повторный вызов функции не дублирует обработчики\n */\nfunction addGlobalListeners() {\n document.addEventListener('keydown', handleKeyDown);\n document.addEventListener('mousedown', handleMouseDown);\n document.addEventListener('touchstart', handleTouchStart);\n}\n/**\n * Хук устанавливает обработчик события на focusin и focusout\n * по конкретному типу события\n * @param node Элемент на котором установится обработчик (default = document)\n * @param inputMethod Если параметр не задан, установит обработчик по любому событию фокуса\n */\nfunction useFocus(ref, inputMethod) {\n var _a = React.useState(false), focus = _a[0], setFocus = _a[1];\n var handleFocus = React.useCallback(function () {\n if (!inputMethod || inputMethod === prevInputMethod) {\n setFocus(true);\n }\n }, [inputMethod]);\n var handleBlur = React.useCallback(function () {\n setFocus(false);\n }, []);\n React.useEffect(function () {\n var node = ref.current;\n if (node) {\n node.addEventListener('focusin', handleFocus);\n node.addEventListener('focusout', handleBlur);\n }\n return function () {\n if (node) {\n node.removeEventListener('focusin', handleFocus);\n node.removeEventListener('focusout', handleBlur);\n }\n };\n }, [handleBlur, handleFocus, ref]);\n React.useEffect(addGlobalListeners, []);\n return [focus];\n}\n\nfunction useKeydownOutside(ref, cb) {\n React.useEffect(function () {\n var handler = function (event) {\n if (!ref.current || (event.target instanceof Node && ref.current.contains(event.target))) {\n return;\n }\n cb(event);\n };\n document.addEventListener('keydown', handler);\n return function () {\n document.removeEventListener('keydown', handler);\n };\n }, [ref, cb]);\n}\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nfunction getValue(list) {\n return list.map(\n // eslint-disable-next-line no-confusing-arrow\n function (_a) {\n var value = _a[0], query = _a[1];\n return query.matches ? value : null;\n }).filter(Boolean);\n}\nfunction useMedia(list, defaultValue) {\n var _a = React.useState([defaultValue]), value = _a[0], setValue = _a[1];\n var _b = React.useState([]), mediaQueryList = _b[0], setMediaQueryList = _b[1];\n var isClient = typeof window !== 'undefined';\n React.useEffect(function () {\n if (isClient && window.matchMedia) {\n var queryList = list.map(function (_a) {\n var x = _a[0], y = _a[1];\n return [x, window.matchMedia(y)];\n });\n setMediaQueryList(queryList);\n setValue(getValue(queryList));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isClient]);\n React.useEffect(function () {\n var handler = function () {\n setValue(getValue(mediaQueryList));\n };\n mediaQueryList.forEach(function (_a) {\n _a[0]; var mediaQuery = _a[1];\n return mediaQuery.addListener(handler);\n });\n return function () {\n mediaQueryList\n .forEach(function (_a) {\n _a[0]; var mediaQuery = _a[1];\n return mediaQuery.removeListener(handler);\n });\n };\n }, [value, mediaQueryList]);\n return value;\n}\n\nfunction usePrevious(value) {\n var ref = React.useRef();\n React.useEffect(function () {\n ref.current = value;\n });\n return ref.current;\n}\n\nfunction useDidUpdateEffect(effect, deps) {\n var didMountRef = React.useRef(false);\n // eslint-disable-next-line consistent-return\n React.useEffect(function () {\n if (didMountRef.current) {\n var cleanup_1 = effect();\n if (cleanup_1) {\n return function () { return cleanup_1(); };\n }\n }\n didMountRef.current = true;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n}\n\nvar UseLoadingStates;\n(function (UseLoadingStates) {\n UseLoadingStates[\"LOADED\"] = \"loaded\";\n UseLoadingStates[\"LOADING\"] = \"loading\";\n UseLoadingStates[\"ERROR\"] = \"error\";\n})(UseLoadingStates || (UseLoadingStates = {}));\n\n/**\n * Возвращает результат загрузки изображения\n * @param params.src url изображения\n * @return результат загрузки (loading | loaded | error)\n */\nfunction useImageLoadingState(_a) {\n var src = _a.src;\n var _b = useState(UseLoadingStates.LOADING), loadingState = _b[0], setLoadingState = _b[1];\n useEffect(function () {\n var active = true;\n setLoadingState(UseLoadingStates.LOADING);\n var image = new Image();\n image.onload = function () {\n if (!active) {\n return;\n }\n setLoadingState(UseLoadingStates.LOADED);\n };\n image.onerror = function () {\n if (!active) {\n return;\n }\n setLoadingState(UseLoadingStates.ERROR);\n };\n image.srcset = src;\n return function () {\n active = false;\n };\n }, [src]);\n return loadingState;\n}\n\nfunction useScrolledToBottomOfPage(cb, once) {\n if (once === void 0) { once = true; }\n React.useEffect(function () {\n var handler = function () {\n if (hasScrolledToBottomOfPage()) {\n cb();\n if (once) {\n document.removeEventListener('scroll', handler);\n }\n }\n };\n document.addEventListener('scroll', handler);\n return function () {\n document.removeEventListener('scroll', handler);\n };\n }, [cb]);\n}\n\nfunction useForceUpdate() {\n var _a = useState(Object.create(null)), dispatch = _a[1];\n var memoizedDispatch = useCallback(function () {\n dispatch(Object.create(null));\n }, [dispatch]);\n return memoizedDispatch;\n}\n\n/**\n * Хук получения состояния доступности компонента.\n */\nvar useIsMounted = function () {\n var isMounted = useRef(true);\n useEffect(function () { return function () {\n isMounted.current = false;\n }; }, []);\n return useCallback(function () { return isMounted.current; }, []);\n};\n\nexport { useClickOutside, useCountdown, useDidUpdateEffect, useDimensions, useEventCallback, useFocus, useForceUpdate, useImageLoadingState, useIsMounted, useKeydownOutside, useMedia, usePrevious, useScrolledToBottomOfPage };\n","import React, { useRef, useState, useEffect } from 'react';\nimport cn from 'classnames';\nimport mergeRefs from 'react-merge-refs';\nimport { useFocus } from '@alfalab/hooks';\nimport { Loader } from '@alfalab/core-components-loader/esm';\n\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\nvar __assign = function () {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s)\n if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nfunction __rest(s, e) {\n var t = {};\n for (var p in s)\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nvar styles = {\"component\":\"button__component_1mgd7\",\"focused\":\"button__focused_1mgd7\",\"loading\":\"button__loading_1mgd7\",\"text\":\"button__text_1mgd7\",\"addons\":\"button__addons_1mgd7\",\"stretchText\":\"button__stretchText_1mgd7\",\"loader\":\"button__loader_1mgd7\",\"xxs\":\"button__xxs_1mgd7\",\"iconOnly\":\"button__iconOnly_1mgd7\",\"xs\":\"button__xs_1mgd7\",\"s\":\"button__s_1mgd7\",\"m\":\"button__m_1mgd7\",\"l\":\"button__l_1mgd7\",\"xl\":\"button__xl_1mgd7\",\"withRightAddons\":\"button__withRightAddons_1mgd7\",\"ghost\":\"button__ghost_1mgd7\",\"withLeftAddons\":\"button__withLeftAddons_1mgd7\",\"link\":\"button__link_1mgd7\",\"block\":\"button__block_1mgd7\",\"nowrap\":\"button__nowrap_1mgd7\"};\nrequire('./index.css')\n\nvar defaultColors = {\"primary\":\"button__primary_zsrtz\",\"secondary\":\"button__secondary_zsrtz\",\"outlined\":\"button__outlined_zsrtz\",\"tertiary\":\"button__tertiary_zsrtz\",\"filled\":\"button__filled_zsrtz\",\"transparent\":\"button__transparent_zsrtz\",\"link\":\"button__link_zsrtz\",\"ghost\":\"button__ghost_zsrtz\",\"component\":\"button__component_zsrtz\",\"loading\":\"button__loading_zsrtz\"};\nrequire('./default.css')\n\nvar invertedColors = {\"primary\":\"button__primary_oiqbk\",\"secondary\":\"button__secondary_oiqbk\",\"outlined\":\"button__outlined_oiqbk\",\"tertiary\":\"button__tertiary_oiqbk\",\"filled\":\"button__filled_oiqbk\",\"transparent\":\"button__transparent_oiqbk\",\"link\":\"button__link_oiqbk\",\"ghost\":\"button__ghost_oiqbk\",\"component\":\"button__component_oiqbk\",\"loading\":\"button__loading_oiqbk\"};\nrequire('./inverted.css')\n\nvar colorStyles = {\n default: defaultColors,\n inverted: invertedColors,\n};\n/**\n * Минимальное время отображения лоадера - 500мс,\n * чтобы при быстрых ответах от сервера кнопка не «моргала».\n */\nvar LOADER_MIN_DISPLAY_INTERVAL = 500;\nvar logWarning = function (view) {\n if (process.env.NODE_ENV !== 'development') {\n return;\n }\n var viewsMap = {\n filled: 'secondary',\n transparent: 'secondary',\n outlined: 'tertiary',\n };\n // eslint-disable-next-line no-console\n console.warn(\n // eslint-disable-next-line prefer-template\n \"@alfalab/core-components/button: view='\" + view + \"' \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0443\\u0434\\u0430\\u043B\\u0435\\u043D \\u0432 \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0438\\u0445 \\u043C\\u0430\\u0436\\u043E\\u0440\\u043D\\u044B\\u0445 \\u0432\\u0435\\u0440\\u0441\\u0438\\u044F\\u0445. \" +\n (\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0439\\u0442\\u0435 view='\" + viewsMap[view] + \"'. \\u0427\\u0442\\u043E\\u0431\\u044B \\u043F\\u043E\\u043C\\u0435\\u043D\\u044F\\u0442\\u044C \\u0432\\u0441\\u0435 \\u043A\\u043D\\u043E\\u043F\\u043A\\u0438 \\u043D\\u0430 \\u043F\\u0440\\u043E\\u0435\\u043A\\u0442\\u0435 \\u0440\\u0430\\u0437\\u043E\\u043C, \\u043C\\u043E\\u0436\\u043D\\u043E \\u0432\\u043E\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C\\u0441\\u044F codemod: \") +\n 'npx @alfalab/core-components-codemod --transformers=button-views src/**/*.tsx');\n};\nvar Button = React.forwardRef(function (_a, ref) {\n var _b, _c, _d;\n var children = _a.children, _e = _a.view, view = _e === void 0 ? 'secondary' : _e, leftAddons = _a.leftAddons, rightAddons = _a.rightAddons, _f = _a.size, size = _f === void 0 ? 'm' : _f, _g = _a.block, block = _g === void 0 ? false : _g, className = _a.className, dataTestId = _a.dataTestId, href = _a.href, _h = _a.loading, loading = _h === void 0 ? false : _h, _j = _a.nowrap, nowrap = _j === void 0 ? false : _j, _k = _a.colors, colors = _k === void 0 ? 'default' : _k, _l = _a.Component, Component = _l === void 0 ? href ? 'a' : 'button' : _l, restProps = __rest(_a, [\"children\", \"view\", \"leftAddons\", \"rightAddons\", \"size\", \"block\", \"className\", \"dataTestId\", \"href\", \"loading\", \"nowrap\", \"colors\", \"Component\"]);\n if (['outlined', 'filled', 'transparent'].includes(view)) {\n logWarning(view);\n }\n var buttonRef = useRef(null);\n var focused = useFocus(buttonRef, 'keyboard')[0];\n var _m = useState(true), loaderTimePassed = _m[0], setLoaderTimePassed = _m[1];\n var timerId = useRef(0);\n var showLoader = loading || !loaderTimePassed;\n var iconOnly = !children;\n var componentProps = {\n className: cn(styles.component, styles[view], styles[size], colorStyles[colors].component, colorStyles[colors][view], (_b = {},\n _b[styles.focused] = focused,\n _b[styles.block] = block,\n _b[styles.iconOnly] = iconOnly,\n _b[styles.loading] = showLoader,\n _b[styles.withRightAddons] = Boolean(rightAddons) && !iconOnly,\n _b[styles.withLeftAddons] = Boolean(leftAddons) && !iconOnly,\n _b[colorStyles[colors].loading] = showLoader,\n _b), className),\n 'data-test-id': dataTestId || null,\n };\n var buttonChildren = (React.createElement(React.Fragment, null,\n leftAddons && React.createElement(\"span\", { className: styles.addons }, leftAddons),\n children && (React.createElement(\"span\", { className: cn(styles.text, (_c = {},\n _c[styles.nowrap] = nowrap,\n _c[styles.stretchText] = !(leftAddons || rightAddons),\n _c)) }, children)),\n showLoader && React.createElement(Loader, { className: styles.loader }),\n rightAddons && React.createElement(\"span\", { className: styles.addons }, rightAddons)));\n useEffect(function () {\n if (loading) {\n setLoaderTimePassed(false);\n timerId.current = window.setTimeout(function () {\n setLoaderTimePassed(true);\n }, LOADER_MIN_DISPLAY_INTERVAL);\n }\n }, [loading]);\n useEffect(function () {\n return function () {\n window.clearTimeout(timerId.current);\n };\n }, []);\n if (href) {\n var target = restProps.target;\n // Для совместимости с react-router-dom, меняем href на to\n var hrefProps = (_d = {}, _d[typeof Component === 'string' ? 'href' : 'to'] = href, _d);\n return (React.createElement(Component, __assign({ rel: target === '_blank' ? 'noreferrer noopener' : undefined }, componentProps, restProps, hrefProps, { ref: mergeRefs([buttonRef, ref]) }), buttonChildren));\n }\n var _o = restProps, disabled = _o.disabled, _p = _o.type, type = _p === void 0 ? 'button' : _p, restButtonProps = __rest(_o, [\"disabled\", \"type\"]);\n return (React.createElement(Component, __assign({}, componentProps, restButtonProps, { type: type, disabled: disabled || showLoader, ref: mergeRefs([buttonRef, ref]) }), buttonChildren));\n});\n/**\n * Для отображения в сторибуке\n */\nButton.defaultProps = {\n view: 'secondary',\n size: 'm',\n block: false,\n loading: false,\n nowrap: false,\n};\n\nexport { Button, LOADER_MIN_DISPLAY_INTERVAL };\n","// extracted by mini-css-extract-plugin\nexport default {\"background-$(backgroundColorBg)\":\"a2pC3\",\"background-$(backgroundColor)\":\"b2pC3\",\"external\":\"c2pC3\",\"deprecatedBorderRadius\":\"d2pC3\",\"hasAnimation\":\"e2pC3\",\"container\":\"f2pC3\"};","/** Устаревшее значение радиуса скругления кнопки */\nexport const DEPRECATED_BORDER_RADIUS = 4;\n\n/** По дизайну у всех кнопок должен быть border-radius: 8px */\nexport const DESIGN_BORDER_RADIUS = 8;\n\n/** По дизайну у всех кнопок должна быть анимация клика */\nexport const DESIGN_CLICK_ANIMATION = true;\n\nexport const BORDER_RADIUSES = [4, 8] as const;\n\n/**\n * TODO: Удалить лишние варианты\n * view='outlined' будет удален в следующих мажорных версиях. Используйте view='tertiary'\n * view='filled' будет удален в следующих мажорных версиях. Используйте view='secondary'\n * view='transparent' будет удален в следующих мажорных версиях. Используйте view='secondary'\n */\nexport const VIEWS = [\n 'primary',\n 'filled',\n 'transparent',\n 'secondary',\n 'outlined',\n 'tertiary',\n 'link',\n 'ghost',\n] as const;\nexport const FILTERED_VIEWS = VIEWS.filter(\n view => !['filled', 'outlined', 'transparent'].includes(view)\n);\n\nexport const SIZES = ['xxs', 'xs', 's', 'm', 'l'] as const;\n","import { createWidget } from '@alfa-bank/site-util-create-widget/create-widget';\nimport { Button as CoreButton } from '@alfalab/core-components-button';\n\nimport styles from './styles/styles.css';\nimport type { TProps, IDeps } from './models';\nimport { Button as Component } from './button';\n\nexport const Button = createWidget(\n { CoreButton, styles },\n { priorityStyler: true }\n)(Component);\n","import cn from 'classnames';\nimport type { FC } from 'react';\nimport React from 'react';\nimport { useNamedContainersWithChildren } from '@alfa-bank/site-named-container/utils';\n\n// TODO: при обновление core-components-button кнопка может стать черной, так как обновились токены\n// вместе с кнопкой нужно апнуть пакет \"@alfalab/core-components-themes\": ~12.1.0 тогда кнопка остается красной при view=primary\n\nimport type { TProps } from './models';\nimport { DEPRECATED_BORDER_RADIUS, DESIGN_BORDER_RADIUS, DESIGN_CLICK_ANIMATION } from './config';\n\nexport const Button: FC> = ({\n CoreButton,\n block = false,\n borderRadius = DESIGN_BORDER_RADIUS,\n children,\n className,\n colors = 'default',\n hasAnimation = DESIGN_CLICK_ANIMATION,\n innerClassName,\n loading = false,\n nowrap = false,\n size = 'm',\n styles,\n view = 'secondary',\n leftAddons,\n rightAddons,\n ...restProps\n}) => {\n const {\n children: otherChildren,\n leftAddons: leftAddonsSlot,\n rightAddons: rightAddonsSlot,\n } = useNamedContainersWithChildren(children);\n\n const button = (\n \n {/* Проверка необходима для поддержки iconOnly режима. useNamedContainersWithChildren трансформирует children в массив, а iconOnly режим активируется если значение children falsy */}\n {otherChildren.length > 0 && otherChildren}\n \n );\n\n return className ? (\n
{button}
\n ) : (\n button\n );\n};\n","import { createWidget } from '@alfa-bank/site-util-create-widget/create-widget';\nimport { DataLayer } from '@alfa-bank/site-data-layer';\nimport { Button } from '@alfa-bank/site-button-v2';\nimport { Publisher } from '@alfa-bank/site-event-bus/publisher';\n\nimport type { ITileButtonDeps, TTileButton } from '../models';\n\nimport { TileButtonComponent as Component } from './tile-button-component';\n\nexport const TileButton = createWidget({\n Button,\n Publisher,\n DataLayer,\n})(Component);\n","import type { FC } from 'react';\nimport React from 'react';\n\nimport { DEFAULT_BUTTON_TEXT } from '../constants';\nimport type { TTileButton } from '../models';\n\nexport const TileButtonComponent: FC = ({\n Button,\n DataLayer,\n Publisher,\n analytics,\n event,\n link,\n view = 'tertiary',\n text = DEFAULT_BUTTON_TEXT,\n ...buttonProps\n}: TTileButton) => {\n const buttonRender = (\n \n );\n\n if (event) {\n return (\n \n {buttonRender}\n \n );\n }\n\n return (\n \n {buttonRender}\n \n );\n};\n","import type { FC } from 'react';\nimport React from 'react';\n\nimport type { TTileLinkComponent, TLinkComponent } from '../models';\nimport { DEFAULT_LINK_TEXT, DEFAULT_BORDER } from '../constants';\n\nconst LinkComponent: FC = ({\n Text,\n Link,\n href,\n text = DEFAULT_LINK_TEXT,\n border = DEFAULT_BORDER,\n ...linkProps\n}) => (\n \n \n {text}\n \n \n);\n\nexport const TileLink: FC = ({\n DataLayer,\n Publisher,\n analytics,\n event,\n ...linkProps\n}) => {\n const link = ;\n\n return (\n \n {event ? (\n {link}\n ) : (\n link\n )}\n \n );\n};\n","import { DataLayer } from '@alfa-bank/site-data-layer';\nimport { createWidget } from '@alfa-bank/site-util-create-widget/create-widget';\nimport { Link } from '@alfa-bank/site-link';\nimport { TextDesktop as Text } from '@alfa-bank/site-text-v2/desktop';\nimport { TextMobile } from '@alfa-bank/site-text-v2/mobile';\nimport { Publisher } from '@alfa-bank/site-event-bus/publisher';\n\nimport type { ITileLinkDeps, TTileLinkComponent } from '../models';\n\nimport { TileLink as Component } from './tile-link-component';\n\nexport const TileLinkDesktop = createWidget({\n Link,\n Publisher,\n Text,\n DataLayer,\n})(Component);\n\nexport const TileLinkMobile = createWidget({\n Link,\n Publisher,\n Text: TextMobile,\n DataLayer,\n})(Component);\n","import type { TColors, TAlignment, TLinkBorders } from './models';\n\nexport const DEFAULT_COLOR: TColors = 'white';\nexport const DEFAULT_ALIGNMENT: TAlignment = 'left';\nexport const DEFAULT_BORDER: TLinkBorders = 'dashed';\nexport const DEFAULT_BUTTON_TEXT = 'Подключить';\nexport const DEFAULT_LINK_TEXT = 'Узнать больше';\n","// extracted by mini-css-extract-plugin\nexport default {\"noPreWrap\":\"aptj-\",\"external\":\"bptj-\"};","import React from 'react';\nimport cn from 'classnames';\nimport { parseNewLines } from '@alfa-bank/site-helpers-common/react/parse-new-lines';\nimport type { TextDesktop as Text } from '@alfa-bank/site-text-v2/desktop';\n\nimport styles from '../styles/styles.css';\n\ntype TArgs = { TextComponent: typeof Text; content: string | string[]; isMobile?: boolean };\n\nexport const renderContent = ({ TextComponent, content, isMobile = false }: TArgs) => {\n const view = isMobile ? 'primary-small' : 'primary-medium';\n const theme = isMobile ? 'light' : undefined;\n const kind = isMobile ? undefined : 'caption';\n\n if (Array.isArray(content)) {\n return content.map((item, index) => (\n \n {parseNewLines(item)}\n \n ));\n }\n\n return (\n \n {parseNewLines(content)}\n \n );\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","// extracted by mini-css-extract-plugin\nexport default {\"background-$(backgroundColorBg)\":\"a1m2e\",\"background-$(backgroundColor)\":\"b1m2e\",\"baseline\":\"c1m2e\",\"bottom\":\"d1m2e\",\"middle\":\"e1m2e\",\"top\":\"f1m2e\",\"defaultKindRadius\":\"g1m2e\",\"containerKindRadius\":\"h1m2e\",\"cardKindRadius\":\"i1m2e\",\"iconKindRadius\":\"j1m2e\",\"responsive\":\"k1m2e\"};","function mergeRefs(refs) {\n return function (value) {\n refs.forEach(function (ref) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref != null) {\n ref.current = value;\n }\n });\n };\n}\n\nexport default mergeRefs;\n//# sourceMappingURL=react-merge-refs.esm.js.map\n"],"names":["styles","Loader","_a","className","dataTestId","Block","props","border","borderColor","borderRadius","children","fullHeight","id","inner","innerRef","notPadded","overflowHidden","paddedType","shadow","theme","rest","borderStyles","borderRadiusSize","classNames","cn","block","ref","BlockDesktop","createWidget","Component","emitter","EventEmitter","setMaxListeners","subscribe","event","handler","on","unsubscribe","off","publish","data","emit","injectPublishEvents","callbacks","childProps","propsArr","Object","entries","map","propKey","handlers","forEach","payload","undefined","publishEventPayload","fromEntries","Publisher","restProps","child","Children","groupedCallbacks","reduce","result","callback","prevCallback","groupByPropKey","newProps","cloneElement","isNotEmpty","obj","isEmpty","sendEvent","evt","globalContext","window","ymEvent","gaEvent","dataLayer","completeEvt","path","location","pathname","push","ym","hasYandexMetric","flat","method","params","process","CUSTOM_YTM_ID","Br","inline","parseNewLines","content","wrapper","arrayMode","WrapperComponent","Fragment","isArray","Array","arr","split","item","index","key","trim","length","isNumber","value","mapWidth","isNamedContainer","node","Boolean","is","name","getNamedContainersWithChildren","React","nodes","getNamedContainers","useNamedContainersWithChildren","useMemo","useNamedContainers","TextDesktop","TextMobile","Background","background","color","gradient","gradientOverImage","gradientUnderImage","image","backgroundImage","responsiveBackground","style","backgroundColor","DataLayer","handleSendEvent","eventProps","onClick","publisherEvent","sendOnRender","tag","componentDidMount","this","blockSend","componentWillUnmount","render","isValidElement","Tag","getParentZoom","target","zoom","getComputedStyle","isZoomDefaultOrMissing","hasParent","parentNode","isBody","tagName","parentElement","parseFloat","calcOffset","container","containerOffset","offset","getBoundingClientRect","top","Document","scrollY","position","offsetTop","getOffsetComponents","windowScroller","scrollTo","getElementByHash","hash","document","querySelector","scrollToHash","options","getElement","calculateOffset","scrollHandler","element","href","scrollBase","onlyHashReg","handleClick","preventDefault","anchorLabel","slice","Scroller","link","match","foo","Link","collectorData","kind","linkRef","noUnderline","onMouseEnter","onMouseOver","onMouseOut","pseudo","rel","title","scrollOffset","tabIndex","urlEqHref","role","ariaLabel","isPageUrlEqHref","url","borderStyle","useCallback","globalProps","commonProps","linkContent","prevInputMethod","UseLoadingStates","handleKeyDown","handleMouseDown","handleTouchStart","addGlobalListeners","addEventListener","__assign","assign","t","s","i","n","arguments","p","prototype","hasOwnProperty","call","apply","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","require","colorStyles","default","inverted","Button","_b","_c","_d","_e","view","leftAddons","rightAddons","_f","size","_g","_h","loading","_j","nowrap","_k","colors","_l","includes","buttonRef","useRef","focused","inputMethod","focus","setFocus","handleFocus","handleBlur","current","removeEventListener","useFocus","_m","useState","loaderTimePassed","setLoaderTimePassed","timerId","showLoader","iconOnly","componentProps","component","withRightAddons","withLeftAddons","buttonChildren","addons","text","stretchText","loader","useEffect","setTimeout","clearTimeout","hrefProps","mergeRefs","_o","disabled","_p","type","restButtonProps","defaultProps","filter","CoreButton","priorityStyler","hasAnimation","innerClassName","otherChildren","leftAddonsSlot","rightAddonsSlot","button","external","deprecatedBorderRadius","TileButton","analytics","DEFAULT_BUTTON_TEXT","buttonProps","buttonRender","LinkComponent","Text","DEFAULT_LINK_TEXT","DEFAULT_BORDER","linkProps","styler","marginTop","marginBottom","TileLink","TileLinkDesktop","TileLinkMobile","DEFAULT_COLOR","DEFAULT_ALIGNMENT","renderContent","TextComponent","isMobile","ReflectOwnKeys","R","Reflect","ReflectApply","receiver","args","Function","ownKeys","getOwnPropertyNames","concat","NumberIsNaN","Number","isNaN","init","module","exports","once","Promise","resolve","reject","errorListener","err","removeListener","resolver","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","ret","unwrapListeners","arrayClone","listenerCount","copy","wrapListener","arg","defineProperty","enumerable","get","set","RangeError","getPrototypeOf","getMaxListeners","doError","error","er","message","context","len","listeners","addListener","prependListener","prependOnceListener","list","originalListener","shift","pop","spliceOne","removeAllListeners","keys","rawListeners","eventNames","refs"],"sourceRoot":""}