{"version":3,"file":"11019.99646e67.es5.js","mappings":"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","sources":["webpack://assr-alfaleasing/./node_modules/@alfalab/icons-glyph/AddMIcon.js","webpack://assr-alfaleasing/./node_modules/@alfalab/icons-glyph/MagnifierMIcon.js","webpack://assr-alfaleasing/./node_modules/@alfalab/icons-glyph/tslib.es6-37b184f2.js","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-helpers-common/src/url/get-params-from-url.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-img-v2/src/helper.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-img-v2/src/img.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-img-v2/src/index.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-img-v2/src/styles/styles.css?64dd","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-yandex-search/src/search-bar/components/jsonp.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-yandex-search/src/search-bar/components/config.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-yandex-search/src/search-bar/components/use-yandex-suggests.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-yandex-search/src/search-bar/components/hooks/use-fork-ref.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-yandex-search/src/search-bar/components/yandex-search-bar.tsx","webpack://assr-alfaleasing/./node_modules/querystringify/index.js","webpack://assr-alfaleasing/./node_modules/react-use/lib/useDebounce.js","webpack://assr-alfaleasing/./node_modules/react-use/lib/useTimeoutFn.js","webpack://assr-alfaleasing/./node_modules/requires-port/index.js","webpack://assr-alfaleasing/./node_modules/url-parse/index.js"],"sourcesContent":["\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var e,t=require(\"./tslib.es6-37b184f2.js\"),r=(e=require(\"react\"))&&\"object\"==typeof e&&\"default\"in e?e.default:e,l=function(e){return r.createElement(\"svg\",t.__assign({role:\"img\",focusable:\"false\",fill:\"currentColor\",width:\"24\",height:\"24\",viewBox:\"0 0 24 24\"},e),r.createElement(\"path\",{d:\"M11 11H5v2h6v6h2v-6h6v-2h-6V5h-2v6z\"}))};exports.AddMIcon=l,exports.default=l;\n","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var e,t=require(\"./tslib.es6-37b184f2.js\"),r=(e=require(\"react\"))&&\"object\"==typeof e&&\"default\"in e?e.default:e,l=function(e){return r.createElement(\"svg\",t.__assign({role:\"img\",focusable:\"false\",fill:\"currentColor\",width:\"24\",height:\"24\",viewBox:\"0 0 24 24\"},e),r.createElement(\"path\",{d:\"M10.544 3a7.544 7.544 0 104.405 13.67L20.28 22 22 20.28l-5.33-5.33A7.544 7.544 0 0010.544 3zm-5.11 7.544a5.11 5.11 0 1110.221 0 5.11 5.11 0 01-10.221 0z\",fillRule:\"evenodd\",clipRule:\"evenodd\"}))};exports.MagnifierMIcon=l,exports.default=l;\n","\"use strict\";\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***************************************************************************** */exports.__assign=function(){return exports.__assign=Object.assign||function(t){for(var r,s=1,n=arguments.length;s {\n if (typeof val === 'boolean') return val;\n\n if (Number(val)) return Number(val);\n\n // При вызове из getParamsFromURL проверка лишена смысла, т.к. здесь и так может быть только строка\n // При вызове чистой ф-ии, у нас появляется ещё undefined из типа\n if (typeof val === 'string') {\n const lowerStr = val.toLowerCase();\n\n if (lowerStr === 'true') return true;\n if (lowerStr === 'false') return false;\n }\n\n return val;\n};\n\n/**\n * Возвращает либо все параметры из урла, либо только те, что были переданы в requiredParams\n * При наличии параметра 'requiredParams', данные value конвертируются из строк в нативные js-типы\n * Без параметра 'requiredParams' все value возвращаются только в строках\n */\nexport const getParamsFromURL = ({ url, requiredParams = [] }: IParams): IRequiredParams => {\n const parsedUrl = new UrlParse(url, {}, true);\n\n const { query } = parsedUrl;\n\n if (!requiredParams.length) return query;\n\n // Возвращает только те параметры из урла, что есть в requiredParams\n return requiredParams.reduce((acc, propName: string) => {\n if (typeof query[propName] !== 'undefined') {\n return { ...acc, [propName]: getValidParam(query[propName]) };\n }\n\n return acc;\n }, {});\n};\n","import React from 'react';\n\nimport type { IImage, IMimeMapping } from './models';\n\nconst mimeMapping: IMimeMapping = {\n jpg: 'image/jpeg',\n jpeg: 'image/jpeg',\n png: 'image/png',\n svg: 'image/svg+xml',\n webp: 'image/webp',\n};\n\nexport const calcPadding = (height: number, width: number) => (height / width) * 100;\n\nconst getMimeType = (src: string): string => {\n const extension = src.split('.').pop() as string;\n\n return mimeMapping[extension];\n};\n\nexport const getSources = (images: IImage[] | string[]) => {\n return images.map(image => {\n let src;\n let mimeType;\n\n if (typeof image === 'string') {\n src = image;\n mimeType = getMimeType(src);\n } else {\n // Объявленная переменная с присваиванием, линтер не выйдет пофиксить\n // eslint-disable-next-line prefer-destructuring\n src = image.src;\n mimeType = image.type ? image.type : getMimeType(src);\n }\n\n return ;\n });\n};\n","import type { FC } from 'react';\nimport React, { memo } from 'react';\nimport cn from 'classnames';\n\nimport { calcPadding, getSources } from './helper';\nimport type { TProps } from './models';\n\nexport const Img: FC = memo(\n ({\n // Пустая строка для html5 валидации https://www.w3.org/WAI/tutorials/images/decorative/\n alt = '',\n className,\n dataTestId,\n height,\n images,\n lazy = true,\n radiusKind = 'default',\n responsive = false,\n responsiveDataTestId,\n responsiveKind = 'new',\n src,\n styles,\n width,\n }) => {\n const classNames = cn(\n styles[`${radiusKind}KindRadius`],\n {\n [styles.responsiveImg]: responsive && responsiveKind === 'new',\n [styles.legacyResponsiveImg]: responsive && responsiveKind === 'legacy',\n },\n className\n );\n const responsiveImgContainerProps = responsive\n ? {\n style: {\n paddingTop: `calc(${calcPadding(height, width)}%)`,\n },\n }\n : undefined;\n\n const sources = images ? getSources(images) : undefined;\n\n const image = images ? (\n \n {sources}\n \n \n ) : (\n \n );\n\n return responsive && responsiveKind === 'new' ? (\n \n {image}\n \n ) : (\n image\n );\n }\n);\n","import { createWidget } from '@alfa-bank/site-util-create-widget/create-widget';\n\nimport type { IDeps, TProps } from './models';\nimport { Img as Component } from './img';\nimport styles from './styles/styles.css';\n\n// className прокидывается на корневой элемент через переменную classNames\n// eslint-disable-next-line styler/check-styler\nexport const ImgV2 = createWidget({ styles })(Component);\n","// extracted by mini-css-extract-plugin\nexport default {\"background-$(backgroundColorBg)\":\"aDNQV\",\"background-$(backgroundColor)\":\"bDNQV\",\"defaultKindRadius\":\"cDNQV\",\"containerKindRadius\":\"dDNQV\",\"cardKindRadius\":\"eDNQV\",\"iconKindRadius\":\"fDNQV\",\"responsiveImgContainer\":\"gDNQV\",\"responsiveImg\":\"hDNQV\",\"legacyResponsiveImg\":\"iDNQV\"};","import type { TCallbacks, ICustomJSONPWindow } from './models';\n\ndeclare let window: ICustomJSONPWindow;\n\nexport function prepareUrl(url: string, params: Record): string {\n return `${url}?${Object.keys(params)\n .map(key => `${key}=${encodeURIComponent(params[key])}`)\n .join('&')}`;\n}\n\nconst callbacks: TCallbacks = {};\nconst callbacksStore = '__jsonpCallbacks';\nexport function jsonp(\n url: string,\n params: Record,\n callbackParam = 'callback'\n): Promise {\n if (!window[callbacksStore]) {\n Object.defineProperty(window, callbacksStore, { value: callbacks });\n }\n\n const callbackName = `jsonp${Date.now()}`;\n\n const script = Object.assign(document.createElement('script'), {\n async: true,\n src: prepareUrl(url, {\n ...params,\n [callbackParam]: `${callbacksStore}.${callbackName}`,\n }),\n });\n\n document.head.appendChild(script);\n\n const cleanup = () => {\n delete callbacks[callbackName];\n document.head.removeChild(script);\n };\n\n return new Promise((resolve, reject) => {\n callbacks[callbackName] = resolve;\n script.onerror = reject;\n }).then(\n result => {\n cleanup();\n\n return result;\n },\n /* istanbul ignore next */\n err => {\n cleanup();\n throw err;\n }\n ) as Promise;\n}\n","export const SEARCH_ID = 2389978;\nexport const SEARCH_URL = 'https://alfabank.ru/search';\nexport const SUGGEST_API_URL = 'https://sitesearch-suggest.yandex.ru/v1/suggest';\n","import { useState } from 'react';\nimport useDebounce from 'react-use/lib/useDebounce';\n\nimport { jsonp } from './jsonp';\nimport { SEARCH_ID, SUGGEST_API_URL } from './config';\n\n/** текст, который передали как параметр text */\ntype TText = string;\ntype TSuggest = string;\n/**\n * Ответ яндекса при запросе suggests.\n */\ntype TAnswerFromYandex = [TText, TSuggest[]?];\nexport function useYandexSuggests(value: string) {\n const [suggests, setSuggests] = useState([]);\n\n useDebounce(\n () => {\n if (value === '') {\n setSuggests([]);\n\n return;\n }\n\n /**\n * Все параметры взяты из скрипта Яндекса который вставлял строку поиска\n */\n jsonp(SUGGEST_API_URL, {\n format: 'jsonp',\n search_id: SEARCH_ID,\n lang: 'ru',\n usebigdictionary: 0,\n text: value,\n _: Date.now(),\n })\n .then(([, resultSuggests]) => {\n /* istanbul ignore next */\n if (resultSuggests) {\n setSuggests(resultSuggests);\n }\n })\n\n .catch(\n /* istanbul ignore next */\n err => {\n console.error(err);\n }\n );\n },\n 300,\n [value]\n );\n\n return suggests;\n}\n","/* istanbul ignore file */\nimport { useMemo } from 'react';\nimport type { RefCallback, MutableRefObject, Ref } from 'react';\n\ntype TRFCB = T extends RefCallback ? RefCallback : RefCallback;\n\nexport function setRef(\n ref: MutableRefObject | ((instance: T | null) => void) | null | undefined,\n value: T | null\n): void {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}\n\nexport function useForkRef(\n refA: Ref | null | undefined,\n refB: Ref | null | undefined\n): TRFCB | null {\n return useMemo(() => {\n if (refA == null && refB == null) {\n return null;\n }\n\n return (refValue: T | null) => {\n setRef(refA, refValue);\n setRef(refB, refValue);\n };\n }, [refA, refB]);\n}\n","import type { FormEvent, ChangeEvent, FocusEvent } from 'react';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport cn from 'classnames';\nimport { getParamsFromURL } from '@alfa-bank/site-helpers-common/url/get-params-from-url';\nimport { MagnifierMIcon } from '@alfalab/icons-glyph/MagnifierMIcon';\nimport { AddMIcon } from '@alfalab/icons-glyph/AddMIcon';\n\nimport type desktopBarStyles from '../desktop/desktop.css';\nimport type mobileBarStyles from '../mobile/mobile.css';\nimport type { TYandexSearchBar, TFocusHandler } from '../../models';\nimport '../styles/styles.css';\n\nimport { useYandexSuggests } from './use-yandex-suggests';\nimport { SEARCH_ID, SEARCH_URL } from './config';\nimport { prepareUrl } from './jsonp';\nimport { useForkRef } from './hooks/use-fork-ref';\n\nconst goToSearch = (value: string, searchId: number, searchUrl: string) => {\n window.location.assign(\n prepareUrl(searchUrl, {\n searchid: searchId,\n text: value,\n web: 0,\n })\n );\n};\n\nfunction useFocus(onFocus?: TFocusHandler, onBlur?: TFocusHandler) {\n const [isFocus, setFocus] = useState(false);\n const handleFocus = useCallback(\n (event: FocusEvent) => {\n onFocus?.(event);\n setFocus(true);\n },\n [onFocus]\n );\n const handleBlur = useCallback(\n (event: FocusEvent) => {\n onBlur?.(event);\n setFocus(false);\n },\n [onBlur]\n );\n\n return { handleBlur, handleFocus, isFocus };\n}\n\nexport const YandexSearchBar = ({\n Img,\n Button,\n children,\n className,\n classNames,\n containerRef,\n dataTestId,\n inputInnerRef,\n onBlur,\n onFocus,\n onSubmit,\n placeholder = 'Введите запрос',\n styles,\n searchId = SEARCH_ID,\n searchUrl = SEARCH_URL,\n submitButtonText,\n suggestsAmount,\n theme = 'light',\n iconUrl,\n}: TYandexSearchBar) => {\n const [input, setInput] = useState('');\n const suggests = useYandexSuggests(input);\n const [isFocused, setIsFocused] = useState(false);\n const inputRef = useRef(null);\n const isLightSecondaryTheme = useMemo(() => theme === 'lightSecondary', [theme]);\n\n const forkedRef = useForkRef(inputRef, inputInnerRef);\n\n const getPlaceholder = useCallback(() => {\n if (isLightSecondaryTheme) {\n return isFocused ? '' : placeholder;\n }\n\n return placeholder;\n }, [isLightSecondaryTheme, placeholder, isFocused]);\n\n const getIcon = useCallback(() => {\n if (iconUrl) return ;\n\n return ;\n }, [Img, iconUrl]);\n\n const secondaryDeleteHandler = useCallback(() => {\n if (input) {\n setInput('');\n inputRef.current?.focus({ preventScroll: false });\n\n return;\n }\n setInput('');\n }, [input]);\n\n const handleSubmit = useCallback(\n (event: FormEvent) => {\n event.preventDefault();\n if (input.trim() === '') return;\n onSubmit?.();\n goToSearch(input, searchId, searchUrl);\n },\n [input, onSubmit, searchId, searchUrl]\n );\n\n const { handleBlur, handleFocus, isFocus } = useFocus(onFocus, onBlur);\n\n const handleChange = useCallback((event: ChangeEvent) => {\n setInput(event.target.value);\n }, []);\n\n useEffect(() => {\n const { text } = getParamsFromURL({\n url: window.location.toString(),\n requiredParams: ['text'],\n });\n if (text) {\n setInput(text);\n }\n }, []);\n\n return (\n \n {isLightSecondaryTheme && getIcon()}\n
\n {!isLightSecondaryTheme && (\n \n \n \n )}\n {\n handleBlur(e);\n setIsFocused(false);\n }}\n onChange={handleChange}\n onFocus={e => {\n handleFocus(e);\n setIsFocused(true);\n }}\n placeholder={getPlaceholder()}\n type={isLightSecondaryTheme ? 'text' : 'search'}\n value={input}\n />\n {isLightSecondaryTheme && (\n \n )}\n {suggests.length !== 0 && (\n
    \n {suggests.slice(0, suggestsAmount).map(text => (\n
  • \n {\n goToSearch(text, searchId, searchUrl);\n }}\n >\n {text}\n \n
  • \n ))}\n
\n )}\n
\n {submitButtonText && Button && (\n \n {submitButtonText}\n \n )}\n {children}\n \n );\n};\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , undef;\n\n/**\n * Decode a URI encoded string.\n *\n * @param {String} input The URI encoded string.\n * @returns {String|Null} The decoded string.\n * @api private\n */\nfunction decode(input) {\n try {\n return decodeURIComponent(input.replace(/\\+/g, ' '));\n } catch (e) {\n return null;\n }\n}\n\n/**\n * Attempts to encode a given input.\n *\n * @param {String} input The string that needs to be encoded.\n * @returns {String|Null} The encoded string.\n * @api private\n */\nfunction encode(input) {\n try {\n return encodeURIComponent(input);\n } catch (e) {\n return null;\n }\n}\n\n/**\n * Simple query string parser.\n *\n * @param {String} query The query string that needs to be parsed.\n * @returns {Object}\n * @api public\n */\nfunction querystring(query) {\n var parser = /([^=?#&]+)=?([^&]*)/g\n , result = {}\n , part;\n\n while (part = parser.exec(query)) {\n var key = decode(part[1])\n , value = decode(part[2]);\n\n //\n // Prevent overriding of existing properties. This ensures that build-in\n // methods like `toString` or __proto__ are not overriden by malicious\n // querystrings.\n //\n // In the case if failed decoding, we want to omit the key/value pairs\n // from the result.\n //\n if (key === null || value === null || key in result) continue;\n result[key] = value;\n }\n\n return result;\n}\n\n/**\n * Transform a query string to an object.\n *\n * @param {Object} obj Object that should be transformed.\n * @param {String} prefix Optional prefix.\n * @returns {String}\n * @api public\n */\nfunction querystringify(obj, prefix) {\n prefix = prefix || '';\n\n var pairs = []\n , value\n , key;\n\n //\n // Optionally prefix with a '?' if needed\n //\n if ('string' !== typeof prefix) prefix = '?';\n\n for (key in obj) {\n if (has.call(obj, key)) {\n value = obj[key];\n\n //\n // Edge cases where we actually want to encode the value to an empty\n // string instead of the stringified value.\n //\n if (!value && (value === null || value === undef || isNaN(value))) {\n value = '';\n }\n\n key = encode(key);\n value = encode(value);\n\n //\n // If we failed to encode the strings, we should bail out as we don't\n // want to add invalid strings to the query.\n //\n if (key === null || value === null) continue;\n pairs.push(key +'='+ value);\n }\n }\n\n return pairs.length ? prefix + pairs.join('&') : '';\n}\n\n//\n// Expose the module.\n//\nexports.stringify = querystringify;\nexports.parse = querystring;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar react_1 = require(\"react\");\nvar useTimeoutFn_1 = tslib_1.__importDefault(require(\"./useTimeoutFn\"));\nfunction useDebounce(fn, ms, deps) {\n if (ms === void 0) { ms = 0; }\n if (deps === void 0) { deps = []; }\n var _a = useTimeoutFn_1.default(fn, ms), isReady = _a[0], cancel = _a[1], reset = _a[2];\n react_1.useEffect(reset, deps);\n return [isReady, cancel];\n}\nexports.default = useDebounce;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nfunction useTimeoutFn(fn, ms) {\n if (ms === void 0) { ms = 0; }\n var ready = react_1.useRef(false);\n var timeout = react_1.useRef();\n var callback = react_1.useRef(fn);\n var isReady = react_1.useCallback(function () { return ready.current; }, []);\n var set = react_1.useCallback(function () {\n ready.current = false;\n timeout.current && clearTimeout(timeout.current);\n timeout.current = setTimeout(function () {\n ready.current = true;\n callback.current();\n }, ms);\n }, [ms]);\n var clear = react_1.useCallback(function () {\n ready.current = null;\n timeout.current && clearTimeout(timeout.current);\n }, []);\n // update ref when function changes\n react_1.useEffect(function () {\n callback.current = fn;\n }, [fn]);\n // set on mount, clear on unmount\n react_1.useEffect(function () {\n set();\n return clear;\n }, [ms]);\n return [isReady, clear, set];\n}\nexports.default = useTimeoutFn;\n","'use strict';\n\n/**\n * Check if we're required to add a port number.\n *\n * @see https://url.spec.whatwg.org/#default-port\n * @param {Number|String} port Port number we need to check\n * @param {String} protocol Protocol we need to check against.\n * @returns {Boolean} Is it a default port for the given protocol\n * @api private\n */\nmodule.exports = function required(port, protocol) {\n protocol = protocol.split(':')[0];\n port = +port;\n\n if (!port) return false;\n\n switch (protocol) {\n case 'http':\n case 'ws':\n return port !== 80;\n\n case 'https':\n case 'wss':\n return port !== 443;\n\n case 'ftp':\n return port !== 21;\n\n case 'gopher':\n return port !== 70;\n\n case 'file':\n return false;\n }\n\n return port !== 0;\n};\n","'use strict';\n\nvar required = require('requires-port')\n , qs = require('querystringify')\n , slashes = /^[A-Za-z][A-Za-z0-9+-.]*:\\/\\//\n , protocolre = /^([a-z][a-z0-9.+-]*:)?(\\/\\/)?([\\S\\s]*)/i\n , whitespace = '[\\\\x09\\\\x0A\\\\x0B\\\\x0C\\\\x0D\\\\x20\\\\xA0\\\\u1680\\\\u180E\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200A\\\\u202F\\\\u205F\\\\u3000\\\\u2028\\\\u2029\\\\uFEFF]'\n , left = new RegExp('^'+ whitespace +'+');\n\n/**\n * Trim a given string.\n *\n * @param {String} str String to trim.\n * @public\n */\nfunction trimLeft(str) {\n return (str ? str : '').toString().replace(left, '');\n}\n\n/**\n * These are the parse rules for the URL parser, it informs the parser\n * about:\n *\n * 0. The char it Needs to parse, if it's a string it should be done using\n * indexOf, RegExp using exec and NaN means set as current value.\n * 1. The property we should set when parsing this value.\n * 2. Indication if it's backwards or forward parsing, when set as number it's\n * the value of extra chars that should be split off.\n * 3. Inherit from location if non existing in the parser.\n * 4. `toLowerCase` the resulting value.\n */\nvar rules = [\n ['#', 'hash'], // Extract from the back.\n ['?', 'query'], // Extract from the back.\n function sanitize(address) { // Sanitize what is left of the address\n return address.replace('\\\\', '/');\n },\n ['/', 'pathname'], // Extract from the back.\n ['@', 'auth', 1], // Extract from the front.\n [NaN, 'host', undefined, 1, 1], // Set left over value.\n [/:(\\d+)$/, 'port', undefined, 1], // RegExp the back.\n [NaN, 'hostname', undefined, 1, 1] // Set left over.\n];\n\n/**\n * These properties should not be copied or inherited from. This is only needed\n * for all non blob URL's as a blob URL does not include a hash, only the\n * origin.\n *\n * @type {Object}\n * @private\n */\nvar ignore = { hash: 1, query: 1 };\n\n/**\n * The location object differs when your code is loaded through a normal page,\n * Worker or through a worker using a blob. And with the blobble begins the\n * trouble as the location object will contain the URL of the blob, not the\n * location of the page where our code is loaded in. The actual origin is\n * encoded in the `pathname` so we can thankfully generate a good \"default\"\n * location from it so we can generate proper relative URL's again.\n *\n * @param {Object|String} loc Optional default location object.\n * @returns {Object} lolcation object.\n * @public\n */\nfunction lolcation(loc) {\n var globalVar;\n\n if (typeof window !== 'undefined') globalVar = window;\n else if (typeof global !== 'undefined') globalVar = global;\n else if (typeof self !== 'undefined') globalVar = self;\n else globalVar = {};\n\n var location = globalVar.location || {};\n loc = loc || location;\n\n var finaldestination = {}\n , type = typeof loc\n , key;\n\n if ('blob:' === loc.protocol) {\n finaldestination = new Url(unescape(loc.pathname), {});\n } else if ('string' === type) {\n finaldestination = new Url(loc, {});\n for (key in ignore) delete finaldestination[key];\n } else if ('object' === type) {\n for (key in loc) {\n if (key in ignore) continue;\n finaldestination[key] = loc[key];\n }\n\n if (finaldestination.slashes === undefined) {\n finaldestination.slashes = slashes.test(loc.href);\n }\n }\n\n return finaldestination;\n}\n\n/**\n * @typedef ProtocolExtract\n * @type Object\n * @property {String} protocol Protocol matched in the URL, in lowercase.\n * @property {Boolean} slashes `true` if protocol is followed by \"//\", else `false`.\n * @property {String} rest Rest of the URL that is not part of the protocol.\n */\n\n/**\n * Extract protocol information from a URL with/without double slash (\"//\").\n *\n * @param {String} address URL we want to extract from.\n * @return {ProtocolExtract} Extracted information.\n * @private\n */\nfunction extractProtocol(address) {\n address = trimLeft(address);\n var match = protocolre.exec(address);\n\n return {\n protocol: match[1] ? match[1].toLowerCase() : '',\n slashes: !!match[2],\n rest: match[3]\n };\n}\n\n/**\n * Resolve a relative URL pathname against a base URL pathname.\n *\n * @param {String} relative Pathname of the relative URL.\n * @param {String} base Pathname of the base URL.\n * @return {String} Resolved pathname.\n * @private\n */\nfunction resolve(relative, base) {\n if (relative === '') return base;\n\n var path = (base || '/').split('/').slice(0, -1).concat(relative.split('/'))\n , i = path.length\n , last = path[i - 1]\n , unshift = false\n , up = 0;\n\n while (i--) {\n if (path[i] === '.') {\n path.splice(i, 1);\n } else if (path[i] === '..') {\n path.splice(i, 1);\n up++;\n } else if (up) {\n if (i === 0) unshift = true;\n path.splice(i, 1);\n up--;\n }\n }\n\n if (unshift) path.unshift('');\n if (last === '.' || last === '..') path.push('');\n\n return path.join('/');\n}\n\n/**\n * The actual URL instance. Instead of returning an object we've opted-in to\n * create an actual constructor as it's much more memory efficient and\n * faster and it pleases my OCD.\n *\n * It is worth noting that we should not use `URL` as class name to prevent\n * clashes with the global URL instance that got introduced in browsers.\n *\n * @constructor\n * @param {String} address URL we want to parse.\n * @param {Object|String} [location] Location defaults for relative paths.\n * @param {Boolean|Function} [parser] Parser for the query string.\n * @private\n */\nfunction Url(address, location, parser) {\n address = trimLeft(address);\n\n if (!(this instanceof Url)) {\n return new Url(address, location, parser);\n }\n\n var relative, extracted, parse, instruction, index, key\n , instructions = rules.slice()\n , type = typeof location\n , url = this\n , i = 0;\n\n //\n // The following if statements allows this module two have compatibility with\n // 2 different API:\n //\n // 1. Node.js's `url.parse` api which accepts a URL, boolean as arguments\n // where the boolean indicates that the query string should also be parsed.\n //\n // 2. The `URL` interface of the browser which accepts a URL, object as\n // arguments. The supplied object will be used as default values / fall-back\n // for relative paths.\n //\n if ('object' !== type && 'string' !== type) {\n parser = location;\n location = null;\n }\n\n if (parser && 'function' !== typeof parser) parser = qs.parse;\n\n location = lolcation(location);\n\n //\n // Extract protocol information before running the instructions.\n //\n extracted = extractProtocol(address || '');\n relative = !extracted.protocol && !extracted.slashes;\n url.slashes = extracted.slashes || relative && location.slashes;\n url.protocol = extracted.protocol || location.protocol || '';\n address = extracted.rest;\n\n //\n // When the authority component is absent the URL starts with a path\n // component.\n //\n if (!extracted.slashes) instructions[3] = [/(.*)/, 'pathname'];\n\n for (; i < instructions.length; i++) {\n instruction = instructions[i];\n\n if (typeof instruction === 'function') {\n address = instruction(address);\n continue;\n }\n\n parse = instruction[0];\n key = instruction[1];\n\n if (parse !== parse) {\n url[key] = address;\n } else if ('string' === typeof parse) {\n if (~(index = address.indexOf(parse))) {\n if ('number' === typeof instruction[2]) {\n url[key] = address.slice(0, index);\n address = address.slice(index + instruction[2]);\n } else {\n url[key] = address.slice(index);\n address = address.slice(0, index);\n }\n }\n } else if ((index = parse.exec(address))) {\n url[key] = index[1];\n address = address.slice(0, index.index);\n }\n\n url[key] = url[key] || (\n relative && instruction[3] ? location[key] || '' : ''\n );\n\n //\n // Hostname, host and protocol should be lowercased so they can be used to\n // create a proper `origin`.\n //\n if (instruction[4]) url[key] = url[key].toLowerCase();\n }\n\n //\n // Also parse the supplied query string in to an object. If we're supplied\n // with a custom parser as function use that instead of the default build-in\n // parser.\n //\n if (parser) url.query = parser(url.query);\n\n //\n // If the URL is relative, resolve the pathname against the base URL.\n //\n if (\n relative\n && location.slashes\n && url.pathname.charAt(0) !== '/'\n && (url.pathname !== '' || location.pathname !== '')\n ) {\n url.pathname = resolve(url.pathname, location.pathname);\n }\n\n //\n // We should not add port numbers if they are already the default port number\n // for a given protocol. As the host also contains the port number we're going\n // override it with the hostname which contains no port number.\n //\n if (!required(url.port, url.protocol)) {\n url.host = url.hostname;\n url.port = '';\n }\n\n //\n // Parse down the `auth` for the username and password.\n //\n url.username = url.password = '';\n if (url.auth) {\n instruction = url.auth.split(':');\n url.username = instruction[0] || '';\n url.password = instruction[1] || '';\n }\n\n url.origin = url.protocol && url.host && url.protocol !== 'file:'\n ? url.protocol +'//'+ url.host\n : 'null';\n\n //\n // The href is just the compiled result.\n //\n url.href = url.toString();\n}\n\n/**\n * This is convenience method for changing properties in the URL instance to\n * insure that they all propagate correctly.\n *\n * @param {String} part Property we need to adjust.\n * @param {Mixed} value The newly assigned value.\n * @param {Boolean|Function} fn When setting the query, it will be the function\n * used to parse the query.\n * When setting the protocol, double slash will be\n * removed from the final url if it is true.\n * @returns {URL} URL instance for chaining.\n * @public\n */\nfunction set(part, value, fn) {\n var url = this;\n\n switch (part) {\n case 'query':\n if ('string' === typeof value && value.length) {\n value = (fn || qs.parse)(value);\n }\n\n url[part] = value;\n break;\n\n case 'port':\n url[part] = value;\n\n if (!required(value, url.protocol)) {\n url.host = url.hostname;\n url[part] = '';\n } else if (value) {\n url.host = url.hostname +':'+ value;\n }\n\n break;\n\n case 'hostname':\n url[part] = value;\n\n if (url.port) value += ':'+ url.port;\n url.host = value;\n break;\n\n case 'host':\n url[part] = value;\n\n if (/:\\d+$/.test(value)) {\n value = value.split(':');\n url.port = value.pop();\n url.hostname = value.join(':');\n } else {\n url.hostname = value;\n url.port = '';\n }\n\n break;\n\n case 'protocol':\n url.protocol = value.toLowerCase();\n url.slashes = !fn;\n break;\n\n case 'pathname':\n case 'hash':\n if (value) {\n var char = part === 'pathname' ? '/' : '#';\n url[part] = value.charAt(0) !== char ? char + value : value;\n } else {\n url[part] = value;\n }\n break;\n\n default:\n url[part] = value;\n }\n\n for (var i = 0; i < rules.length; i++) {\n var ins = rules[i];\n\n if (ins[4]) url[ins[1]] = url[ins[1]].toLowerCase();\n }\n\n url.origin = url.protocol && url.host && url.protocol !== 'file:'\n ? url.protocol +'//'+ url.host\n : 'null';\n\n url.href = url.toString();\n\n return url;\n}\n\n/**\n * Transform the properties back in to a valid and full URL string.\n *\n * @param {Function} stringify Optional query stringify function.\n * @returns {String} Compiled version of the URL.\n * @public\n */\nfunction toString(stringify) {\n if (!stringify || 'function' !== typeof stringify) stringify = qs.stringify;\n\n var query\n , url = this\n , protocol = url.protocol;\n\n if (protocol && protocol.charAt(protocol.length - 1) !== ':') protocol += ':';\n\n var result = protocol + (url.slashes ? '//' : '');\n\n if (url.username) {\n result += url.username;\n if (url.password) result += ':'+ url.password;\n result += '@';\n }\n\n result += url.host + url.pathname;\n\n query = 'object' === typeof url.query ? stringify(url.query) : url.query;\n if (query) result += '?' !== query.charAt(0) ? '?'+ query : query;\n\n if (url.hash) result += url.hash;\n\n return result;\n}\n\nUrl.prototype = { set: set, toString: toString };\n\n//\n// Expose the URL parser and some additional properties that might be useful for\n// others or testing.\n//\nUrl.extractProtocol = extractProtocol;\nUrl.location = lolcation;\nUrl.trimLeft = trimLeft;\nUrl.qs = qs;\n\nmodule.exports = Url;\n"],"names":["e","t","r","default","l","createElement","__assign","role","focusable","fill","width","height","viewBox","d","exports","fillRule","clipRule","Object","assign","s","n","arguments","length","prototype","hasOwnProperty","call","apply","this","getParamsFromURL","url","requiredParams","query","UrlParse","reduce","acc","propName","val","Number","lowerStr","toLowerCase","getValidParam","mimeMapping","jpg","jpeg","png","svg","webp","calcPadding","getMimeType","src","extension","split","pop","Img","memo","alt","className","dataTestId","images","lazy","radiusKind","responsive","responsiveDataTestId","responsiveKind","styles","classNames","cn","responsiveImg","legacyResponsiveImg","responsiveImgContainerProps","style","paddingTop","undefined","sources","map","image","mimeType","type","key","srcSet","getSources","loading","responsiveImgContainer","ImgV2","createWidget","Component","prepareUrl","params","keys","encodeURIComponent","join","callbacks","callbacksStore","SEARCH_ID","useYandexSuggests","value","useState","suggests","setSuggests","useDebounce","callbackParam","window","defineProperty","callbackName","Date","now","script","document","async","head","appendChild","cleanup","removeChild","Promise","resolve","reject","onerror","then","result","err","jsonp","format","search_id","lang","usebigdictionary","text","_","resultSuggests","catch","console","error","setRef","ref","current","goToSearch","searchId","searchUrl","location","searchid","web","YandexSearchBar","refA","refB","Button","children","containerRef","inputInnerRef","onBlur","onFocus","onSubmit","placeholder","submitButtonText","suggestsAmount","theme","iconUrl","input","setInput","isFocused","setIsFocused","inputRef","useRef","isLightSecondaryTheme","useMemo","forkedRef","refValue","getPlaceholder","useCallback","getIcon","MagnifierMIcon","cursor","secondaryDeleteHandler","focus","preventScroll","handleSubmit","event","preventDefault","trim","isFocus","setFocus","handleFocus","handleBlur","useFocus","handleChange","target","useEffect","toString","action","form","yaBar","submitIcon","search","onChange","AddMIcon","secondaryDeleteIcon","hidden","onClick","suggestList","slice","suggest","suggestLink","borderRadius","hasAnimation","innerClassName","external","submitButton","size","view","has","decode","decodeURIComponent","replace","encode","stringify","obj","prefix","pairs","isNaN","push","parse","part","parser","exec","tslib_1","react_1","useTimeoutFn_1","__importDefault","fn","ms","deps","_a","isReady","cancel","reset","ready","timeout","callback","set","clearTimeout","setTimeout","clear","module","port","protocol","required","qs","slashes","protocolre","left","RegExp","trimLeft","str","rules","address","NaN","ignore","hash","lolcation","loc","g","self","finaldestination","Url","unescape","pathname","test","href","extractProtocol","match","rest","relative","extracted","instruction","index","instructions","i","indexOf","charAt","base","path","concat","last","unshift","up","splice","host","hostname","username","password","auth","origin","char","ins"],"sourceRoot":""}