{"version":3,"file":"AccordionDesktop.b49a809e.es5.js","mappings":"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","sources":["webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-accordion/src/desktop/index.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-accordion/src/components/accordion.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-accordion/src/context.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-util-create-widget/src/create-widget.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-util-create-widget/src/styles/common.css","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-util-create-widget/src/generate-style.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-util-create-widget/src/helpers.tsx","webpack://assr-alfaleasing/./node_modules/classnames/index.js","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-accordion/src/styles/desktop.css?c6d9"],"sourcesContent":["import { createWidget } from '@alfa-bank/site-util-create-widget/create-widget';\n\nimport { Accordion as Component } from '../components/accordion';\nimport styles from '../styles/desktop.css';\nimport type { IDeps, TAccordionDesktop } from '../models';\n\nexport const AccordionDesktop = createWidget({ styles })(Component);\n","import cn from 'classnames';\nimport type { ReactElement } from 'react';\nimport React, {\n Children,\n cloneElement,\n useState,\n useCallback,\n useRef,\n useMemo,\n useEffect,\n isValidElement,\n} from 'react';\n\nimport type { TToggleHandler } from '../context';\nimport { AccordionContext } from '../context';\nimport type { TAccordion, TAccordionItem } from '../models';\nimport type stylesMobile from '../styles/mobile.css';\n\nexport const Accordion = ({\n children,\n iconPosition = 'left',\n inScrollableContainer = false,\n dividerEnabled = true,\n keepMounted = false,\n notPadded = false,\n onChange = () => {},\n openedID = '',\n styles,\n scrollableContainerId,\n subscroll = false,\n isMultipleOpen = false,\n subscrollOffset,\n theme = 'grey',\n className,\n}: TAccordion) => {\n const [openedValue, setOpenedValue] = useState(openedID ? [openedID] : []);\n const [accordionYCoordinate, setAccordionYCoordinate] = useState(0);\n const [scrollableContainer, setScrollableContainer] = useState();\n const accordionRef = useRef(null);\n\n useEffect(() => {\n setScrollableContainer(\n scrollableContainerId ? document.getElementById(scrollableContainerId) : window\n );\n }, [scrollableContainerId]);\n\n useEffect(\n () =>\n setAccordionYCoordinate(\n (scrollableContainerId\n ? accordionRef.current?.offsetTop\n : accordionRef.current?.getBoundingClientRect().y) || 0\n ),\n [accordionRef, scrollableContainerId]\n );\n\n const targetPoint = useMemo(\n () => accordionYCoordinate - (subscrollOffset || 0),\n [accordionYCoordinate, subscrollOffset]\n );\n /** Добавлен таймаут, т.к. в Safari подскрол срабатывает, прежде чем открывается вкладка */\n const subscrollHandler = useCallback(\n () =>\n setTimeout(() => {\n scrollableContainer?.scrollTo({\n top: targetPoint,\n behavior: 'smooth',\n });\n }),\n [scrollableContainer, targetPoint]\n );\n\n const subscrollHandlerWithoutOffset = useCallback(() => {\n setTimeout(() => {\n accordionRef.current?.scrollIntoView({ block: 'start', behavior: 'smooth' });\n });\n }, []);\n\n /**\n * Обновляем в состоянии ключ раскрытого блока.\n * Если нажимаем на уже раскрытый блок, то он скрывается.\n */\n const handleToggle: TToggleHandler = ({ event, id }) => {\n /* istanbul ignore next */\n if (typeof id !== 'string') return;\n\n if (isMultipleOpen) {\n if (openedValue.includes(id)) {\n setOpenedValue(prevState => prevState?.filter(el => el !== id));\n } else {\n setOpenedValue(prevState => [...prevState, id]);\n }\n\n onChange({ event, id: openedValue });\n } else {\n const newOpenedValue = openedValue.includes(id) ? [] : [id];\n\n setOpenedValue(newOpenedValue);\n onChange({ event, id: newOpenedValue });\n }\n\n if (subscroll) {\n if (inScrollableContainer && subscrollOffset === undefined && !scrollableContainerId) {\n subscrollHandlerWithoutOffset();\n } else {\n subscrollHandler();\n }\n }\n };\n\n /** Новая светлая и темная тема */\n const newDesign = theme === 'light_y24' || theme === 'dark_y24';\n const classes =\n cn(\n !notPadded && !newDesign && (styles as typeof stylesMobile).accordionWrapper,\n { [styles[`${theme}Theme` as keyof typeof styles]]: !newDesign },\n className\n // Что бы не плодить class=\"\"\n ) || undefined;\n\n let prevChild: ReactElement;\n\n const lastChildIndex = useMemo(() => {\n let findLastIndex = 0;\n Children.forEach(children, (child, index) => {\n if (isValidElement(child)) {\n findLastIndex = index;\n }\n });\n\n return findLastIndex;\n }, [children]);\n\n return (\n \n
\n {Children.map(children, (child, currentIndex) => {\n if (isValidElement(child)) {\n let prevChildBackgroundColor: string | undefined = undefined;\n\n if (prevChild) {\n prevChildBackgroundColor = prevChild?.props?.backgroundColor;\n }\n\n const result = cloneElement(child, {\n panelKey: currentIndex,\n prevChildBackgroundColor,\n isLastChild: lastChildIndex === currentIndex,\n });\n\n prevChild = child;\n\n return result;\n }\n })}\n
\n \n );\n};\n","import type { SyntheticEvent } from 'react';\nimport { createContext, useContext } from 'react';\n\nimport type { TTheme, TIconAlign } from './models';\n\nexport type TToggleHandler = (args: { event: SyntheticEvent; id?: string }) => void;\n\nexport interface IContext {\n dividerEnabled?: boolean;\n handleToggle: TToggleHandler;\n iconPosition: TIconAlign;\n keepMounted?: boolean;\n newDesign?: boolean;\n openedValue?: string[] | null;\n theme?: TTheme;\n}\n\nexport const AccordionContext = createContext({\n handleToggle: /* istanbul ignore next */ () => {},\n iconPosition: 'left',\n newDesign: false,\n} as IContext);\n\nexport const useAccordionContext = () => useContext(AccordionContext);\n","import { ComponentType } from 'react';\n\nimport { ICreateWidget } from './models';\nimport { hoist, createWrapper } from './helpers';\n\n/**\n * Функция hoc, для создания виджета, принимает объект зависимостей\n * и возвращает компонент с внедренными зависимостями\n */\nexport const createWidget: ICreateWidget =\n (dependencies?: T) =>\n (Widget: ComponentType) =>\n hoist(createWrapper(Widget, dependencies), Widget);\n","// extracted by mini-css-extract-plugin\nexport default {\"borderRadius0\":\"aG2mw\",\"borderRadius4\":\"bG2mw\",\"borderRadius8\":\"cG2mw\",\"borderRadius12\":\"dG2mw\",\"marginTop0\":\"eG2mw\",\"marginTop2\":\"fG2mw\",\"marginTop4\":\"gG2mw\",\"marginTop8\":\"hG2mw\",\"marginTop12\":\"iG2mw\",\"marginTop16\":\"jG2mw\",\"marginTop20\":\"kG2mw\",\"marginTop24\":\"lG2mw\",\"marginTop28\":\"mG2mw\",\"marginTop32\":\"nG2mw\",\"marginTop36\":\"oG2mw\",\"marginTop40\":\"pG2mw\",\"marginTop44\":\"qG2mw\",\"marginTop48\":\"rG2mw\",\"marginTop52\":\"sG2mw\",\"marginTop56\":\"tG2mw\",\"marginTop60\":\"uG2mw\",\"marginTop64\":\"vG2mw\",\"marginTop68\":\"wG2mw\",\"marginTop72\":\"xG2mw\",\"marginRight0\":\"yG2mw\",\"marginRight2\":\"zG2mw\",\"marginRight4\":\"AG2mw\",\"marginRight8\":\"BG2mw\",\"marginRight12\":\"CG2mw\",\"marginRight16\":\"DG2mw\",\"marginRight20\":\"EG2mw\",\"marginRight24\":\"FG2mw\",\"marginRight28\":\"GG2mw\",\"marginRight32\":\"HG2mw\",\"marginRight36\":\"IG2mw\",\"marginRight40\":\"JG2mw\",\"marginRight44\":\"KG2mw\",\"marginRight48\":\"LG2mw\",\"marginRight52\":\"MG2mw\",\"marginRight56\":\"NG2mw\",\"marginRight60\":\"OG2mw\",\"marginRight64\":\"PG2mw\",\"marginRight68\":\"QG2mw\",\"marginRight72\":\"RG2mw\",\"marginBottom0\":\"SG2mw\",\"marginBottom2\":\"TG2mw\",\"marginBottom4\":\"UG2mw\",\"marginBottom8\":\"VG2mw\",\"marginBottom12\":\"WG2mw\",\"marginBottom16\":\"XG2mw\",\"marginBottom20\":\"YG2mw\",\"marginBottom24\":\"ZG2mw\",\"marginBottom28\":\"__G2mw\",\"marginBottom32\":\"_0G2mw\",\"marginBottom36\":\"_1G2mw\",\"marginBottom40\":\"_2G2mw\",\"marginBottom44\":\"_3G2mw\",\"marginBottom48\":\"_4G2mw\",\"marginBottom52\":\"_5G2mw\",\"marginBottom56\":\"_6G2mw\",\"marginBottom60\":\"_7G2mw\",\"marginBottom64\":\"_8G2mw\",\"marginBottom68\":\"_9G2mw\",\"marginBottom72\":\"_-G2mw\",\"marginLeft0\":\"aaG2mw\",\"marginLeft2\":\"abG2mw\",\"marginLeft4\":\"acG2mw\",\"marginLeft8\":\"adG2mw\",\"marginLeft12\":\"aeG2mw\",\"marginLeft16\":\"afG2mw\",\"marginLeft20\":\"agG2mw\",\"marginLeft24\":\"ahG2mw\",\"marginLeft28\":\"aiG2mw\",\"marginLeft32\":\"ajG2mw\",\"marginLeft36\":\"akG2mw\",\"marginLeft40\":\"alG2mw\",\"marginLeft44\":\"amG2mw\",\"marginLeft48\":\"anG2mw\",\"marginLeft52\":\"aoG2mw\",\"marginLeft56\":\"apG2mw\",\"marginLeft60\":\"aqG2mw\",\"marginLeft64\":\"arG2mw\",\"marginLeft68\":\"asG2mw\",\"marginLeft72\":\"atG2mw\",\"paddingTop0\":\"auG2mw\",\"paddingTop2\":\"avG2mw\",\"paddingTop4\":\"awG2mw\",\"paddingTop8\":\"axG2mw\",\"paddingTop12\":\"ayG2mw\",\"paddingTop16\":\"azG2mw\",\"paddingTop20\":\"aAG2mw\",\"paddingTop24\":\"aBG2mw\",\"paddingTop28\":\"aCG2mw\",\"paddingTop32\":\"aDG2mw\",\"paddingTop36\":\"aEG2mw\",\"paddingTop40\":\"aFG2mw\",\"paddingTop44\":\"aGG2mw\",\"paddingTop48\":\"aHG2mw\",\"paddingTop52\":\"aIG2mw\",\"paddingTop56\":\"aJG2mw\",\"paddingTop60\":\"aKG2mw\",\"paddingTop64\":\"aLG2mw\",\"paddingTop68\":\"aMG2mw\",\"paddingTop72\":\"aNG2mw\",\"paddingRight0\":\"aOG2mw\",\"paddingRight2\":\"aPG2mw\",\"paddingRight4\":\"aQG2mw\",\"paddingRight8\":\"aRG2mw\",\"paddingRight12\":\"aSG2mw\",\"paddingRight16\":\"aTG2mw\",\"paddingRight20\":\"aUG2mw\",\"paddingRight24\":\"aVG2mw\",\"paddingRight28\":\"aWG2mw\",\"paddingRight32\":\"aXG2mw\",\"paddingRight36\":\"aYG2mw\",\"paddingRight40\":\"aZG2mw\",\"paddingRight44\":\"a_G2mw\",\"paddingRight48\":\"a0G2mw\",\"paddingRight52\":\"a1G2mw\",\"paddingRight56\":\"a2G2mw\",\"paddingRight60\":\"a3G2mw\",\"paddingRight64\":\"a4G2mw\",\"paddingRight68\":\"a5G2mw\",\"paddingRight72\":\"a6G2mw\",\"paddingBottom0\":\"a7G2mw\",\"paddingBottom2\":\"a8G2mw\",\"paddingBottom4\":\"a9G2mw\",\"paddingBottom8\":\"a-G2mw\",\"paddingBottom12\":\"baG2mw\",\"paddingBottom16\":\"bbG2mw\",\"paddingBottom20\":\"bcG2mw\",\"paddingBottom24\":\"bdG2mw\",\"paddingBottom28\":\"beG2mw\",\"paddingBottom32\":\"bfG2mw\",\"paddingBottom36\":\"bgG2mw\",\"paddingBottom40\":\"bhG2mw\",\"paddingBottom44\":\"biG2mw\",\"paddingBottom48\":\"bjG2mw\",\"paddingBottom52\":\"bkG2mw\",\"paddingBottom56\":\"blG2mw\",\"paddingBottom60\":\"bmG2mw\",\"paddingBottom64\":\"bnG2mw\",\"paddingBottom68\":\"boG2mw\",\"paddingBottom72\":\"bpG2mw\",\"paddingLeft0\":\"bqG2mw\",\"paddingLeft2\":\"brG2mw\",\"paddingLeft4\":\"bsG2mw\",\"paddingLeft8\":\"btG2mw\",\"paddingLeft12\":\"buG2mw\",\"paddingLeft16\":\"bvG2mw\",\"paddingLeft20\":\"bwG2mw\",\"paddingLeft24\":\"bxG2mw\",\"paddingLeft28\":\"byG2mw\",\"paddingLeft32\":\"bzG2mw\",\"paddingLeft36\":\"bAG2mw\",\"paddingLeft40\":\"bBG2mw\",\"paddingLeft44\":\"bCG2mw\",\"paddingLeft48\":\"bDG2mw\",\"paddingLeft52\":\"bEG2mw\",\"paddingLeft56\":\"bFG2mw\",\"paddingLeft60\":\"bGG2mw\",\"paddingLeft64\":\"bHG2mw\",\"paddingLeft68\":\"bIG2mw\",\"paddingLeft72\":\"bJG2mw\"};","import isEmpty from 'lodash/isEmpty';\n\nimport styles from './styles/common.css';\nimport { IStyler } from './models';\n\ntype TStyle = keyof typeof styles;\n\nconst RULES: Array<[keyof IStyler, keyof IStyler]> = [\n ['borderRadius', 'borderRadius'],\n ['marginTop', 'margin'],\n ['marginRight', 'margin'],\n ['marginBottom', 'margin'],\n ['marginLeft', 'margin'],\n ['paddingTop', 'padding'],\n ['paddingRight', 'padding'],\n ['paddingBottom', 'padding'],\n ['paddingLeft', 'padding'],\n];\n\nexport const generateStyle = (\n styler: IStyler = {},\n injectedClassName?: string\n): { className: string } | undefined => {\n const classNames: string[] = [];\n\n if (isEmpty(styler)) {\n return injectedClassName ? { className: injectedClassName } : undefined;\n }\n\n for (const [rule, fallback] of RULES) {\n if (styler[rule] !== undefined) {\n classNames.push(styles[`${rule}${styler[rule]}` as TStyle]);\n } else if (styler[fallback] !== undefined) {\n classNames.push(styles[`${rule}${styler[fallback]}` as TStyle]);\n }\n }\n\n if (injectedClassName) {\n classNames.push(injectedClassName);\n }\n\n if (classNames.length) return { className: classNames.join(' ') };\n\n return undefined;\n};\n","import React, { ComponentType } from 'react';\nimport hoistStatics from 'hoist-non-react-statics';\n\nimport { generateStyle } from './generate-style';\nimport { TWrapper } from './models';\n\n/**\n * Вернуть объект с названием виджета\n */\nexport const getDisplayName = (TargetWidget: ComponentType) => ({\n displayName: TargetWidget.displayName || TargetWidget.name || 'UnnamedWidget',\n});\n\n/**\n * Создать обертку, добавляющую стайлер и зависимости\n */\nexport const createWrapper =\n (Widget: ComponentType, dependencies?: T): ComponentType> =>\n ({ className, styler, ...props }) =>\n ;\n\n/**\n * Добавить изначальные свойства виджета, displayName и любые дополнительные\n */\nexport const hoist = (\n Wrapper: ComponentType,\n Widget: ComponentType,\n ...rest: any[]\n): ComponentType =>\n Object.assign(hoistStatics(Wrapper, Widget), getDisplayName(Widget), ...rest);\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","// extracted by mini-css-extract-plugin\nexport default {\"background-$(backgroundColorBg)\":\"a3IDK\",\"background-$(backgroundColor)\":\"b3IDK\",\"item\":\"c3IDK\",\"withOutDivider\":\"d3IDK\",\"header\":\"e3IDK\",\"bgRoundFixer\":\"f3IDK\",\"headerContent\":\"g3IDK\",\"external\":\"h3IDK\",\"collapseIcon\":\"i3IDK\",\"darkTheme\":\"j3IDK\",\"opened\":\"k3IDK\",\"hidden\":\"l3IDK\",\"newHeader\":\"m3IDK\",\"newPanelContent\":\"n3IDK\",\"fullContentWidth\":\"o3IDK\",\"newItem\":\"p3IDK\",\"hovered\":\"q3IDK\",\"newDarkTheme\":\"r3IDK\",\"open\":\"s3IDK\",\"newIcon\":\"t3IDK\",\"greyTheme\":\"u3IDK\",\"shadowTheme\":\"v3IDK\",\"whiteTheme\":\"w3IDK\",\"left\":\"x3IDK\",\"panel\":\"y3IDK\",\"right\":\"z3IDK\",\"fullWidth\":\"A3IDK\",\"newHeaderContent\":\"B3IDK\",\"newPanel\":\"C3IDK\"};"],"names":["AccordionDesktop","createWidget","styles","Component","Accordion","children","iconPosition","inScrollableContainer","dividerEnabled","keepMounted","notPadded","onChange","openedID","scrollableContainerId","subscroll","isMultipleOpen","subscrollOffset","theme","className","useState","openedValue","setOpenedValue","accordionYCoordinate","setAccordionYCoordinate","scrollableContainer","setScrollableContainer","accordionRef","useRef","useEffect","document","getElementById","window","current","offsetTop","getBoundingClientRect","y","prevChild","targetPoint","useMemo","subscrollHandler","useCallback","setTimeout","scrollTo","top","behavior","subscrollHandlerWithoutOffset","scrollIntoView","block","newDesign","classes","cn","accordionWrapper","undefined","lastChildIndex","findLastIndex","Children","child","index","isValidElement","value","handleToggle","event","id","includes","prevState","filter","el","newOpenedValue","ref","currentIndex","prevChildBackgroundColor","props","backgroundColor","cloneElement","panelKey","isLastChild","AccordionContext","createContext","useAccordionContext","useContext","dependencies","Widget","hoist","createWrapper","RULES","getDisplayName","TargetWidget","displayName","name","styler","injectedClassName","classNames","isEmpty","rule","fallback","push","length","join","generateStyle","Wrapper","rest","Object","assign","hoistStatics","hasOwn","hasOwnProperty","i","arguments","arg","argType","Array","isArray","inner","apply","toString","prototype","key","call","module","exports","default"],"sourceRoot":""}