{"version":3,"file":"26449.f2a51459.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-benefits-block/node_modules/@alfalab/hooks/dist/esm/index.js","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-benefits-block/node_modules/@alfalab/core-components-button/esm/Component.js","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-benefits-block/node_modules/@alfa-bank/site-button-v2/src/styles/styles.css?84e1","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-benefits-block/node_modules/@alfa-bank/site-button-v2/src/config.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-benefits-block/node_modules/@alfa-bank/site-button-v2/src/index.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-benefits-block/node_modules/@alfa-bank/site-button-v2/src/button.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-benefits-block/node_modules/@alfa-bank/site-link/src/helpers/scroll.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-benefits-block/node_modules/@alfa-bank/site-link/src/components/scroller.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-benefits-block/node_modules/@alfa-bank/site-link/src/components/link.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-benefits-block/node_modules/@alfa-bank/site-link/src/link.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-benefits-block/node_modules/@alfa-bank/site-link/src/styles/styles.css","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-benefits-block/node_modules/@alfa-bank/site-link/src/config.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-benefits-block/node_modules/@alfa-bank/site-link/src/helpers/get-link-with-adv-code.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-benefits-block/node_modules/@alfa-bank/site-link/src/helpers/get-adv-code.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-benefits-block/node_modules/@alfa-bank/site-link/src/link-pid.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-benefits-block/node_modules/@alfa-bank/site-link/src/helpers/get-new-href.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-benefits-block/node_modules/@alfa-bank/site-link/src/components/link-adv.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-benefits-block/src/configs/config.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-block/src/block.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-grid-universal/src/helpers/column-styles.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-grid-universal/src/index.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-grid-universal/src/styles/styles.css?a8c9","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-grid-universal/src/grid.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-grid-universal/src/helpers/renders.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-img/src/layouts/default/index.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-img/src/layouts/default/img.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-named-container/src/named-container/utils.ts","webpack://assr-alfaleasing/./node_modules/js-cookie/src/js.cookie.js","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-img/src/styles/styles.css?4e09","webpack://assr-alfaleasing/./node_modules/querystringify/index.js","webpack://assr-alfaleasing/./node_modules/react-merge-refs/dist/react-merge-refs.esm.js","webpack://assr-alfaleasing/./node_modules/requires-port/index.js","webpack://assr-alfaleasing/./node_modules/url-parse/index.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 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)\":\"a3FAw\",\"background-$(backgroundColor)\":\"b3FAw\",\"external\":\"c3FAw\",\"deprecatedBorderRadius\":\"d3FAw\",\"hasAnimation\":\"e3FAw\",\"container\":\"f3FAw\"};","/** Устаревшее значение радиуса скругления кнопки */\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","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)\":\"a1CiE\",\"background-$(backgroundColor)\":\"b1CiE\",\"link\":\"c1CiE\",\"noUnderline\":\"d1CiE\",\"solidBorder\":\"e1CiE\",\"dashedBorder\":\"f1CiE\",\"hiddenBorder\":\"g1CiE\",\"whiteTheme_primaryKind\":\"h1CiE\",\"whiteThemePrimaryKind\":\"h1CiE\",\"whiteTheme_commonKind\":\"i1CiE\",\"whiteThemeCommonKind\":\"i1CiE\",\"whiteTheme_captionKind\":\"j1CiE\",\"whiteThemeCaptionKind\":\"j1CiE\",\"greyTheme_captionKind\":\"k1CiE\",\"greyThemeCaptionKind\":\"k1CiE\",\"blueTheme_captionKind\":\"l1CiE\",\"blueThemeCaptionKind\":\"l1CiE\",\"blackTheme_captionKind\":\"m1CiE\",\"blackThemeCaptionKind\":\"m1CiE\",\"blueTheme_primaryKind\":\"n1CiE\",\"blueThemePrimaryKind\":\"n1CiE\",\"blueTheme_commonKind\":\"o1CiE\",\"blueThemeCommonKind\":\"o1CiE\",\"blackTheme_primaryKind\":\"p1CiE\",\"blackThemePrimaryKind\":\"p1CiE\",\"blackTheme_commonKind\":\"q1CiE\",\"blackThemeCommonKind\":\"q1CiE\",\"greyTheme_primaryKind\":\"r1CiE\",\"greyThemePrimaryKind\":\"r1CiE\",\"greyTheme_commonKind\":\"s1CiE\",\"greyThemeCommonKind\":\"s1CiE\"};","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 UrlParse from 'url-parse';\n\nimport { getAdvCode } from './get-adv-code';\n\n/*\n * TODO: Этот интерфейс можно было заюзать из './get-adv-code'\n * нужно часть полей переименовать и отследить где используется функция\n */\ninterface IAdvCodeNameLink {\n advCodeName: string;\n link: string;\n}\n\nexport const getLinkWithAdvCode = ({ advCodeName, link }: IAdvCodeNameLink): string => {\n const ParsedUrl = new UrlParse(link, {}, true);\n\n // Если какое-то значение уже выставлено, выходим\n if (ParsedUrl.query[advCodeName]) {\n return link;\n }\n\n // Добавляем значение в query\n ParsedUrl.query[advCodeName] = getAdvCode({ advCodeName });\n\n return ParsedUrl.toString();\n};\n","import UrlParse from 'url-parse';\nimport cookies from 'js-cookie';\n\nexport interface IAdvCodeName {\n advCodeName: string;\n advDefaultValue?: string;\n}\n\nexport const ADV_DEFAULT_VALUE = 'alfasite';\n\n// Поиск `advCodeName` в location, потом в cookie\nexport const getAdvCode = ({\n advCodeName,\n advDefaultValue = ADV_DEFAULT_VALUE,\n}: IAdvCodeName): string => {\n const location = typeof window === 'undefined' ? null : window.location;\n\n // Поиск `advCodeName` в location\n if (location) {\n const { query } = new UrlParse(location.href, {}, /* включаем парсинг querystring */ true);\n\n const advCodeValue = query[advCodeName];\n\n if (advCodeValue) {\n return advCodeValue;\n }\n }\n\n // Поиск `advCodeName` в cookies\n const advCodeValue = cookies.get(advCodeName);\n\n if (advCodeValue) {\n return advCodeValue;\n }\n\n // В location и cookies не нашли, отдаём дефолтное значение\n return advDefaultValue;\n};\n","import { createWidget } from '@alfa-bank/site-util-create-widget/create-widget';\n\nimport { Link } from './link';\nimport { LinkAdv as Component } from './components/link-adv';\nimport { getNewHref } from './helpers/get-new-href';\nimport type { ILinkAdvDependencies, ILinkAdvSummaryProps } from './models';\n\nexport const LinkPid = createWidget({\n getNewHref,\n Link,\n})(Component);\n","import { getLinkWithAdvCode } from './get-link-with-adv-code';\n\ninterface INewHref {\n advCodes: string[];\n href: string;\n}\n\n// Обогащаем ссылку квери-параметрами\nexport const getNewHref = ({ advCodes, href }: INewHref): string =>\n advCodes.reduce(\n (newHref, advCodeName) => getLinkWithAdvCode({ advCodeName, link: newHref }),\n href\n );\n","import type { FC } from 'react';\nimport React, { useEffect, useState } from 'react';\n\nimport type { ILinkAdvSummaryProps } from '../models';\n\nexport const LinkAdv: FC = ({\n children,\n advCodes = ['platformId'],\n href,\n getNewHref,\n Link,\n ...restProps\n}) => {\n const [newHref, setNewHref] = useState(href);\n\n useEffect(() => {\n setNewHref(href ? getNewHref({ advCodes, href }) : href);\n }, [href, advCodes, getNewHref]);\n\n return (\n \n {children}\n \n );\n};\n","import type { TSize, TKind } from '../models';\n\nexport const DEFAULT_SIZE: TSize = '100%';\n\nexport const DEFAULT_KIND: TKind = 'white';\n\nexport const DEFAULT_TITLE_THEME: TKind = 'white';\n\nexport const DEFAULT_MARKER_COLOR = '#121212';\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 type { TColumnsMargin, TColumnsWidth } from '../models';\n\ntype TUnion = string | number;\n\nconst isNumber = (value: TUnion): value is number => typeof value === 'number';\n\nconst toArray = (value: TColumnsWidth | TColumnsWidth[] | TColumnsMargin) =>\n (Array.isArray(value) ? value : [value]) as Array;\n\nconst getItemByIndexOrLast = (idx: number, array: TColumnsWidth[] | TColumnsMargin[]) =>\n array.length - 1 < idx ? array[array.length - 1] : array[idx];\n\nconst mapWidth = (value: TUnion) => {\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\nconst mapShrink = (width: TUnion) => (width ? 0 : null);\n\nconst mapMargin = (value: TUnion) => value + 'px';\n\nconst getColumnStyle = (\n style: string,\n mapValue: typeof mapWidth | typeof mapShrink | typeof mapMargin\n) => {\n return (idx: number, values: TColumnsWidth | TColumnsWidth[] | TColumnsMargin) => {\n const arrayStyles = toArray(values);\n const styleValue = getItemByIndexOrLast(idx, arrayStyles);\n\n return styleValue ? { [style]: mapValue(styleValue as TUnion) } : null;\n };\n};\n\nexport { mapWidth, mapShrink, mapMargin, getColumnStyle };\n","import { createWidget } from '@alfa-bank/site-util-create-widget/create-widget';\n\nimport { Grid as Component } from './grid';\nimport styles from './styles/styles.css';\nimport type { IDeps, TGridComponent } from './models';\n\nexport const Grid = createWidget({ styles })(Component);\n","// extracted by mini-css-extract-plugin\nexport default {\"grid\":\"a30tm\",\"column\":\"b30tm\",\"paddingTop\":\"c30tm\",\"startJustify\":\"d30tm\",\"endJustify\":\"e30tm\",\"centerJustify\":\"f30tm\",\"betweenJustify\":\"g30tm\",\"aroundJustify\":\"h30tm\",\"evenlyJustify\":\"i30tm\",\"defaultAlignment\":\"j30tm\",\"col\":\"k30tm\",\"collapse\":\"l30tm\",\"colAutoWidth\":\"m30tm\",\"vertical\":\"n30tm\",\"baselineAlignItems\":\"o30tm\",\"centerAlignItems\":\"p30tm\",\"endAlignItems\":\"q30tm\",\"flexEndAlignItems\":\"r30tm\",\"flexStartAlignItems\":\"s30tm\",\"leftAlignItems\":\"t30tm\",\"rightAlignItems\":\"u30tm\",\"startAlignItems\":\"v30tm\",\"stretchAlignItems\":\"w30tm\",\"normalAlignItems\":\"x30tm\",\"firstBaselineAlignItems\":\"y30tm\",\"lastBaselineAlignItems\":\"z30tm\",\"safeAlignItems\":\"A30tm\",\"unsafeAlignItems\":\"B30tm\",\"selfStartAlignItems\":\"C30tm\",\"selfEndAlignItems\":\"D30tm\",\"wrap\":\"E30tm\"};","import type { FC } from 'react';\nimport React from 'react';\nimport cn from 'classnames';\n\nimport { renderCols } from './helpers/renders';\nimport type { TGridComponent } from './models';\n\nexport const Grid: FC> = ({\n alignment = false,\n children,\n className,\n classNames = {},\n colAutoWidth = false,\n collapse = false,\n columnsWidth = null,\n flexDirection = 'row',\n justify = 'center',\n paddingTop = false,\n styles,\n vertical = false,\n wrap = false,\n dataTestId = 'grid',\n columnsMargin = 25,\n ...rest\n}) => {\n const hasAlignment = !!alignment;\n const isDefaultAlignment = typeof alignment === 'boolean' && hasAlignment;\n const isCustomAlignment = !isDefaultAlignment && hasAlignment;\n\n return (\n \n {renderCols(\n children,\n {\n colAutoWidth,\n collapse,\n columnsWidth,\n columnsMargin,\n vertical,\n },\n classNames,\n styles\n )}\n \n );\n};\n","import type { ReactNode } from 'react';\nimport React, { Children } from 'react';\nimport cn from 'classnames';\n\nimport type { IDeps, TClassNames, TColumnsMargin, TColumnsWidth } from '../models';\n\nimport { mapWidth, mapShrink, getColumnStyle, mapMargin } from './column-styles';\n\ninterface IRenderColsProps {\n colAutoWidth: boolean;\n collapse: boolean;\n columnsMargin: TColumnsMargin;\n columnsWidth: TColumnsWidth | TColumnsWidth[];\n vertical: boolean;\n}\n\nexport const renderCols = (\n children: ReactNode,\n props: IRenderColsProps,\n classNames: TClassNames,\n styles: IDeps['styles']\n) => {\n const { colAutoWidth, collapse, columnsMargin, columnsWidth, vertical, ...rest } = props;\n\n const marginDirection = vertical ? 'marginBottom' : 'marginRight';\n\n const cols = Children.toArray(children);\n const getWidth = getColumnStyle('width', mapWidth);\n const getShrink = getColumnStyle('flexShrink', mapShrink);\n const getMargin = getColumnStyle(marginDirection, mapMargin);\n\n // 25 - это default value для отступа между columns.\n // Когда перейдем на 24px по всему сайту, то уберем это.\n const isDefaultMargin = columnsMargin === 25;\n\n const columnStyles = cols.map((_, i) => ({\n ...getWidth(i, columnsWidth),\n ...getShrink(i, columnsWidth),\n ...(isDefaultMargin ? {} : getMargin(i, columnsMargin)),\n }));\n\n return cols.map((col, i) => (\n \n {col}\n \n ));\n};\n","import { createWidget } from '@alfa-bank/site-util-create-widget/create-widget';\n\nimport styles from '../../styles/styles.css';\n\nimport { Img as Component } from './img';\nimport type { IDeps, TProps } from './models';\n\nexport const Img = createWidget({\n styles,\n})(Component);\n","import type { FC } from 'react';\nimport React from 'react';\nimport cn from 'classnames';\n\nimport type { TProps } from './models';\n\nexport const Img: FC = ({\n alt,\n className,\n lazy = true,\n radiusKind = 'default',\n responsive = false,\n srcRetina,\n styles,\n verticalAlign = 'baseline',\n ...rest\n}) => {\n return (\n \n );\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport React, { useMemo } from 'react';\n\nimport type { INamedContainerProps } from '../models';\n\nexport interface INamedContainers {\n [key: string]: ReactNode;\n}\n\ninterface INamedContainersWithChildren extends INamedContainers {\n children: ReactNode[];\n}\n\nexport function isNamedContainer(node: ReactNode): node is ReactElement {\n return Boolean(\n typeof node === 'object' &&\n node !== null &&\n (node as ReactElement).props.is === 'NamedContainer' &&\n (node as ReactElement).props.name\n );\n}\n\n/**\n * Функция собирает из children слоты и оставляет отфильтрованный список детей\n * @param children\n */\nexport function getNamedContainersWithChildren(children: ReactNode) {\n return React.Children.toArray(children).reduce(\n (nodes: INamedContainersWithChildren, node) => {\n if (!isNamedContainer(node)) {\n nodes.children.push(node);\n } else if (node.props.name !== 'children') {\n return {\n ...nodes,\n [node.props.name]: node.props.children,\n };\n }\n\n return nodes;\n },\n { children: [] }\n );\n}\n\n/**\n * Функция собирает из children только слоты\n * @param children\n */\nexport function getNamedContainers(children: ReactNode) {\n return React.Children.toArray(children).reduce((nodes: INamedContainers, node) => {\n if (isNamedContainer(node)) {\n return {\n ...nodes,\n [node.props.name]: node.props.children,\n };\n }\n\n return nodes;\n }, {});\n}\n\nexport function useNamedContainersWithChildren(children: ReactNode): INamedContainersWithChildren {\n return useMemo(() => getNamedContainersWithChildren(children), [children]);\n}\n\nexport function useNamedContainers(children: ReactNode) {\n return useMemo(() => getNamedContainers(children), [children]);\n}\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\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\"};","'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","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","'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":["styles","Loader","_a","className","dataTestId","prevInputMethod","UseLoadingStates","handleKeyDown","event","key","handleMouseDown","handleTouchStart","addGlobalListeners","document","addEventListener","__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","require","colorStyles","default","inverted","Button","React","ref","_b","_c","_d","children","_e","view","leftAddons","rightAddons","_f","size","_g","block","href","_h","loading","_j","nowrap","_k","colors","_l","Component","restProps","includes","buttonRef","useRef","focused","inputMethod","focus","setFocus","handleFocus","handleBlur","node","current","removeEventListener","useFocus","_m","useState","loaderTimePassed","setLoaderTimePassed","timerId","showLoader","iconOnly","componentProps","cn","component","withRightAddons","Boolean","withLeftAddons","buttonChildren","addons","text","stretchText","loader","useEffect","window","setTimeout","clearTimeout","target","hrefProps","rel","undefined","mergeRefs","_o","disabled","_p","type","restButtonProps","defaultProps","filter","createWidget","CoreButton","priorityStyler","borderRadius","hasAnimation","innerClassName","useNamedContainersWithChildren","otherChildren","leftAddonsSlot","rightAddonsSlot","button","external","deprecatedBorderRadius","container","getParentZoom","zoom","getComputedStyle","isZoomDefaultOrMissing","hasParent","parentNode","isBody","tagName","parentElement","parseFloat","calcOffset","result","containerOffset","offset","getBoundingClientRect","top","Document","scrollY","position","offsetTop","getOffsetComponents","windowScroller","scrollTo","getElementByHash","hash","querySelector","scrollToHash","name","options","getElement","calculateOffset","scrollHandler","element","location","scrollBase","onlyHashReg","handleClick","onClick","preventDefault","anchorLabel","slice","Scroller","link","Children","props","match","newProps","cloneElement","foo","Link","border","collectorData","kind","linkRef","noUnderline","onMouseEnter","onMouseOver","onMouseOut","pseudo","title","scrollOffset","tabIndex","id","theme","urlEqHref","role","ariaLabel","isPageUrlEqHref","url","borderStyle","useCallback","globalProps","commonProps","linkContent","getLinkWithAdvCode","advCodeName","ParsedUrl","UrlParse","query","advDefaultValue","advCodeValue","cookies","getAdvCode","toString","LinkPid","getNewHref","advCodes","reduce","newHref","setNewHref","DEFAULT_SIZE","DEFAULT_KIND","DEFAULT_TITLE_THEME","DEFAULT_MARKER_COLOR","Block","borderColor","fullHeight","inner","innerRef","notPadded","overflowHidden","paddedType","shadow","rest","borderStyles","borderRadiusSize","classNames","isNumber","value","mapWidth","mapShrink","width","mapMargin","getColumnStyle","style","mapValue","idx","values","styleValue","array","getItemByIndexOrLast","Array","isArray","Grid","alignment","colAutoWidth","collapse","columnsWidth","flexDirection","justify","paddingTop","vertical","wrap","columnsMargin","hasAlignment","isDefaultAlignment","isCustomAlignment","grid","column","defaultAlignment","marginDirection","cols","getWidth","getShrink","getMargin","isDefaultMargin","columnStyles","map","_","col","renderCols","Img","alt","lazy","radiusKind","responsive","srcRetina","verticalAlign","srcSet","isNamedContainer","is","getNamedContainersWithChildren","nodes","push","getNamedContainers","useMemo","useNamedContainers","factory","module","exports","OldCookies","Cookies","api","noConflict","extend","attributes","decode","replace","decodeURIComponent","init","converter","set","path","defaults","expires","Date","toUTCString","JSON","stringify","test","write","encodeURIComponent","String","escape","stringifiedAttributes","attributeName","split","cookie","get","json","jar","parts","join","charAt","read","parse","getJSON","remove","withConverter","has","input","encode","obj","prefix","pairs","isNaN","part","parser","exec","refs","forEach","port","protocol","required","qs","slashes","protocolre","left","RegExp","trimLeft","str","rules","address","NaN","ignore","lolcation","loc","g","self","finaldestination","Url","unescape","pathname","extractProtocol","toLowerCase","relative","extracted","instruction","index","instructions","base","concat","last","unshift","up","splice","resolve","host","hostname","username","password","auth","origin","fn","pop","char","ins"],"sourceRoot":""}