{"version":3,"file":"1421.c09fd8e1.es5.js","mappings":"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","sources":["webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-form-utils/src/actions/index.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-form-utils/node_modules/@alfa-bank/site-helpers-transform/src/strings/pascalize.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-form-utils/node_modules/@alfa-bank/site-caption/src/caption.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-form-utils/node_modules/@alfa-bank/site-caption/src/index.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-form-utils/node_modules/@alfa-bank/site-caption/src/styles/styles.css?0c2b","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-form-utils/node_modules/@alfa-bank/site-input/src/input/index.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-form-utils/node_modules/@alfa-bank/site-input/src/input/styles.css?4570","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-form-utils/node_modules/@alfa-bank/site-icon/src/success.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-form-utils/node_modules/@alfa-bank/site-icon/src/error.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-form-utils/node_modules/@alfa-bank/site-input/src/input/input.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-form-utils/src/components/base-select/components/autocomplete/config.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-form-utils/src/components/base-select/components/autocomplete/styles/styles.css?2847","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-form-utils/src/components/base-select/components/arrow-icon/styles.css?7cfc","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-form-utils/src/components/base-select/helpers.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-form-utils/src/components/base-select/classes/index.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-form-utils/src/components/base-select/index.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-form-utils/src/components/base-select/styles/styles.css?c537","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-form-utils/src/components/base-select/components/autocomplete/autocomplete.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-form-utils/src/components/base-select/components/autocomplete/helpers/actions.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-form-utils/src/components/base-select/components/autocomplete/helpers/config.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-form-utils/src/components/base-select/components/arrow-icon/arrow-icon.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-form-utils/src/components/base-select/select.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-form-utils/src/components/form-field/index.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-hint/src/desktop/index.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-hint/src/hint-icon.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-hint/src/styles/styles.css?fd62","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-hint/src/hint.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-pure-input/src/utils.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-pure-input/src/index.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-pure-input/src/styles/styles.css?47a3","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-pure-input/src/pure-input.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-pure-input/src/config.ts","webpack://assr-alfaleasing/./node_modules/lodash/_arrayMap.js","webpack://assr-alfaleasing/./node_modules/lodash/_baseToString.js","webpack://assr-alfaleasing/./node_modules/lodash/isSymbol.js","webpack://assr-alfaleasing/./node_modules/lodash/toString.js"],"sourcesContent":["/**\n * В данном файле содержатся утилиты, предназначенные для расширения логики формы\n * React Final Form. На данный момент их названия не отражают того какие действия они выполняют и для чего предназначены, а только указывают на некоторые случаи их применения. В связи с этим лучше руководствоваться комментариями. В будущем неплохо бы изменить нейминг на более удобный\n */\nimport { FieldInputProps, FieldRenderProps } from 'react-final-form';\n\nimport { TFormActionElement } from '../models';\n\nexport class StaticActions {\n /**\n * Вызывает коллбэк onBlur из FieldInputProps. Используется, когда требуется вручную обозначить, что фокус должен быть убран с выбранного поля (например, когда оно корректно заполнено).\n */\n static onBlur =\n (input: FieldInputProps) =>\n () =>\n input.onBlur();\n\n /**\n * Вызывает асинхронный коллбэк onFocus из FieldInputProps. Используется, когда требуется вручную обозначить, что фокус должен быть перемещен на выбранное поле. Асинхроный вызов требуется, чтобы удостовериться, что onFocus вызван после onBlur во избежание некорректного поведения формы.\n */\n static onFocus =\n (input: FieldInputProps) =>\n () =>\n setTimeout(() => input.onFocus(), 0);\n\n /**\n * Вызывает callback onChange, переданный в FieldInputProps,\n * также в случае если значение оказалось типа boolean, будет\n * вызван экшен onBlur, этим предполагается запустить процесс\n * валидации для чекбоксов, если таковая у них присутствует.\n * Также, если значение true и при этом передана meta, для смены\n * фокуса будет вызван экшен onComplete\n */\n static onChange =\n (\n input: FieldInputProps,\n /** Вызывается, если value === true */\n meta?: FieldRenderProps['meta']\n ) =>\n (value: T) => {\n input.onChange(value);\n\n // Для чекбоксов - форсить валидацию по блуру\n if (typeof value === 'boolean') {\n StaticActions.onBlur(input)();\n if (value && meta) {\n StaticActions.onComplete({ input, meta });\n }\n }\n };\n\n /**\n * Будет инициирован перевод фокуса путем вызова коллбэка\n * onComplete из field.meta.data; если же у поля нет способности\n * к переводу фокуса, будет просто вызван экшен onBlur\n */\n static onComplete = (field: FieldRenderProps) => {\n StaticActions.onBlur(field.input)();\n if (!field.meta.data?.dispatchesFocus) return;\n field.meta.data?.onComplete?.(field.input.name);\n };\n\n /**\n * Используется для полей, где присутствуют suggestions (выпадающие списки с вариантами автозаполнения).\n * Не стоит сочетать с экшеном onBlur: вызов onBlur до onSelect может привести к непредсказуемому поведению,\n * а вызов onBlur после не имеет смысла, так как он все равно вызывается внутри экшена onComplete\n */\n static onSelect = (field: FieldRenderProps) => (value: string) => {\n StaticActions.onChange(field.input)(value);\n StaticActions.onComplete(field);\n };\n\n /**\n * Перевод фокуса на выбранное поле при условии, что в field.meta.data есть ref для него\n */\n static onCancel = (field: FieldRenderProps) => () => {\n const { current } = StaticActions.getRef(field.meta);\n\n if (current) {\n current.focus();\n }\n };\n\n /**\n * Достает ref поля из fieldInputProps.meta.data.ref\n */\n static getRef = (meta: FieldRenderProps['meta']) => meta.data?.ref ?? {};\n\n /**\n * Достает коллбэк updateAction из fieldInputProps.meta.data\n */\n static updateAction = (\n meta: FieldRenderProps['meta'],\n actions: Record\n ) => meta.data?.onUpdateFormAction?.(actions);\n\n /**\n * Используется вместе с компонентом Fields. Преобразует массив имен в объект имен\n */\n static getNames = (\n names: Record | Array>>\n ): Record => (Array.isArray(names) ? Object.assign({}, ...names) : names);\n}\n","import upperFirst from 'lodash/upperFirst';\nimport words from 'lodash/words';\n\n/**\n * Переводит строки в ПаскальКейс. Немного отличается от capitalize + camelCase, так как\n * camelCase сначала переводит все буквы в нижний регистр.\n * BodyText -> BodyText\n * body-text -> BodyText\n * bodytext -> Bodytext\n * @param text строка\n */\nexport const pascalize = (text = '') =>\n words(text)\n .map(word => upperFirst(word))\n .join('');\n","import React, { FC, memo } from 'react';\nimport cn from 'classnames';\nimport { pascalize as pas } from '@alfa-bank/site-helpers-transform/strings/pascalize';\n\nimport { TCaption } from './models';\n\nconst CaptionComponent: FC = ({\n children,\n className,\n dataTestId = 'caption',\n size = 'xs',\n styles,\n theme = '',\n}) => {\n const classnames = cn(\n styles.caption,\n styles[`theme${pas(theme)}`],\n styles[`size${pas(size)}`],\n className\n );\n\n return (\n
\n {children}\n
\n );\n};\n\nexport const Caption = memo(CaptionComponent);\n","import { createWidget } from '@alfa-bank/site-util-create-widget/create-widget';\n\nimport { TCaption, IDeps } from './models';\nimport { Caption as Component } from './caption';\nimport styles from './styles/styles.css';\n\nexport const Caption = createWidget({\n styles,\n})(Component);\n","// extracted by mini-css-extract-plugin\nexport default {\"caption\":\"a3dil\",\"themeWhite\":\"b3dil\",\"themeBlue\":\"c3dil\",\"sizeXs\":\"d3dil\",\"sizeS\":\"e3dil\",\"sizeM\":\"f3dil\",\"sizeL\":\"g3dil\",\"sizeXl\":\"h3dil\",\"sizeXxl\":\"i3dil\"};","import { createWidget } from '@alfa-bank/site-util-create-widget/create-widget';\nimport { Caption } from '@alfa-bank/site-caption';\nimport { HintDesktop as Hint } from '@alfa-bank/site-hint/desktop';\nimport { IconSuccess } from '@alfa-bank/site-icon/success';\nimport { IconError } from '@alfa-bank/site-icon/error';\nimport { PureInput } from '@alfa-bank/site-pure-input';\n\nimport { Input as Component } from './input';\nimport { TInput, IDeps } from './models';\nimport styles from './styles.css';\n\nexport const Input = createWidget({\n styles,\n IconSuccess,\n IconError,\n PureInput,\n Caption,\n Hint,\n})(Component);\n","// extracted by mini-css-extract-plugin\nexport default {\"inputWrapper\":\"a2e61\",\"label\":\"b2e61\",\"placeholder\":\"c2e61\",\"emptyValue\":\"d2e61\",\"caption\":\"e2e61\",\"external\":\"f2e61\",\"captionError\":\"g2e61\",\"status\":\"h2e61\",\"cancel\":\"i2e61\"};","import React, { FC, SVGAttributes } from 'react';\n\nexport const IconSuccess: FC> = props => (\n \n \n \n \n);\n","import React, { FC, SVGAttributes } from 'react';\n\nexport const IconError: FC> = props => (\n \n \n \n \n);\n","import React, { FC } from 'react';\nimport cn from 'classnames';\n\nimport { TInput } from './models';\n\nexport const Input: FC = ({\n Caption,\n Hint,\n IconError,\n IconSuccess,\n PureInput,\n addHiddenInput,\n caption,\n className = '',\n dataTestId = 'input',\n disabled,\n error,\n forwardedRef,\n hideStatusIcon,\n id,\n infoBlock,\n infoText,\n name = '',\n onCancel,\n paddingleft = '',\n placeholder,\n styles,\n success,\n value = '',\n ...rest\n}) => (\n
\n \n\n
\n {infoBlock && infoText && {infoText}}\n {!hideStatusIcon && success && }\n {!hideStatusIcon && error && (\n \n \n \n )}\n
\n\n {caption && (\n \n {caption}\n \n )}\n
\n);\n","export const defaultHandler: () => void = () => {};\n","// extracted by mini-css-extract-plugin\nexport default {\"autocomplete\":\"a1S0G\",\"bottom\":\"b1S0G\",\"top\":\"c1S0G\",\"option\":\"d1S0G\"};","// extracted by mini-css-extract-plugin\nexport default {\"arrowIcon\":\"a1KFo\",\"arrowIconOpened\":\"b1KFo\"};","import { ISelectActions, IRenderFieldOptions } from './models';\n\nexport const getCurrentIndex = (options: IRenderFieldOptions[], inputValue: string) =>\n options.findIndex(({ label }) => label === inputValue);\n\n/** Если индекс не последний - увеличить */\nexport const getDownIndex = (options: IRenderFieldOptions[], highlightedItem: number) =>\n Math.min(highlightedItem + 1, options.length - 1);\n\n/** Если индекс не минимальный - уменьшить */\nexport const getUpIndex = (highlightedItem: number, readOnly?: boolean) =>\n Math.max(highlightedItem - 1, readOnly ? 0 : -1);\n\n/** Рассчитать положение дропдауна */\nexport const getDropdownPosition = ({ autocompleteRef, inputRef }: ISelectActions['refs']) => {\n if (!autocompleteRef.current || !inputRef.current) {\n return 'bottom';\n }\n\n const { clientHeight } = document.documentElement;\n const { bottom, height, top } = inputRef.current.getBoundingClientRect();\n const dropDownHeight = autocompleteRef.current.getBoundingClientRect().height;\n\n return top + height + dropDownHeight > clientHeight && top > clientHeight - bottom\n ? 'top'\n : 'bottom';\n};\n","import { MouseEvent } from 'react';\nimport { codes as key } from 'keycode';\nimport {\n TFocusEventHandler,\n TChangeEventHandler,\n TKeyboardEventHandler,\n} from '@alfa-bank/site-input/models';\n\nimport { TOnAutocomplete } from '../components/autocomplete/models';\nimport { ISelectActions } from '../models';\nimport { getCurrentIndex, getDownIndex, getUpIndex } from '../helpers';\n\nexport class SelectActions implements ISelectActions {\n cb: ISelectActions['cb'];\n\n refs: ISelectActions['refs'];\n\n state: ISelectActions['state'];\n\n values: ISelectActions['values'];\n\n constructor(properties: ISelectActions) {\n this.cb = properties.cb;\n this.refs = properties.refs;\n this.state = properties.state;\n this.values = properties.values;\n }\n\n /** Сделать подсказку текущим значением */\n refreshValue = (value?: string) => {\n const { current } = this.refs.inputRef;\n const { setTempValue } = this.state;\n const inputEvent = new Event('input', {\n bubbles: true,\n });\n\n if (!current) return;\n\n if (value) current.value = value;\n\n setTempValue('');\n current.dispatchEvent(inputEvent);\n };\n\n onBlurHandler: TFocusEventHandler = obj => {\n const { displayValue, selectValue } = this.values;\n const { autocompleteRef, inputRef } = this.refs;\n const { setIsOpen, setTempValue } = this.state;\n const { onBlur } = this.cb;\n const { current } = autocompleteRef;\n const relatedTarget = obj.event?.relatedTarget as Element;\n const relatedClassName = relatedTarget?.className || '';\n\n if (current) {\n const className = document.activeElement?.className || '';\n const focusMovedToDropdown =\n className.includes(current.className) ||\n relatedClassName.includes(current.className);\n\n /** Если autocomplete активен - не закрывать */\n if (focusMovedToDropdown) return;\n }\n\n // Если есть подсказка - добавить ее в input\n if (displayValue !== selectValue && inputRef.current) {\n this.refreshValue();\n }\n\n setTempValue('');\n setIsOpen(false);\n\n onBlur(obj);\n };\n\n onChangeHandler: TChangeEventHandler = ({ event }) => {\n const { name, selectValue } = this.values;\n const { setCurrentItem, setIsOpen } = this.state;\n const { onChange } = this.cb;\n\n if (!onChange) return;\n const { value } = event.target;\n\n // При изменении текста обнулять выбор\n if (value.length > selectValue.length) {\n setCurrentItem(0);\n setIsOpen(true);\n // Если длина уменьшилась - убрать выбор\n } else {\n setCurrentItem(-1);\n }\n onChange({ value, name, event });\n };\n\n onFocusHandler: TFocusEventHandler = event => {\n const { setIsOpen } = this.state;\n const { onFocus } = this.cb;\n\n setIsOpen(true);\n onFocus(event);\n };\n\n onClickHandler = (event: MouseEvent) => {\n const { setIsOpen } = this.state;\n const { displayValue, selectValue } = this.values;\n const { onClick } = this.cb;\n\n if (displayValue !== selectValue) this.refreshValue();\n\n setIsOpen(true);\n onClick(event);\n };\n\n onDropDownSelect: TOnAutocomplete = ({ event, value }) => {\n const { setCurrentItem, setIsOpen, setTempValue } = this.state;\n const { name, options } = this.values;\n const { onSelect } = this.cb;\n const { label } = options[value];\n\n if (event) event.preventDefault();\n\n onSelect({ ...options[value], name, value: label });\n\n setTempValue('');\n setCurrentItem(value);\n setIsOpen(false);\n };\n\n onDropdownToggle = () => {\n const { setIsOpen } = this.state;\n const { isOpen } = this.values;\n\n setIsOpen(!isOpen);\n };\n\n onKeyDown: TKeyboardEventHandler = ({ event }) => {\n const { currentItem, displayValue, isOpen, options, readOnly } = this.values;\n const { setIsOpen } = this.state;\n const { current } = this.refs.inputRef;\n let nextItem = getCurrentIndex(options, displayValue);\n const length = options[currentItem]?.label.length || 0;\n\n switch (event.keyCode) {\n case key.right:\n case key.left:\n this.refreshValue();\n break;\n case key.up:\n event.preventDefault();\n this.onArrow(getUpIndex(currentItem, readOnly));\n break;\n case key.down:\n event.preventDefault();\n this.onArrow(getDownIndex(options, currentItem));\n break;\n case key.tab:\n if (event.shiftKey || currentItem === -1 || !isOpen || !options.length) return;\n event.preventDefault();\n this.refreshValue(options[currentItem].label);\n setIsOpen(false);\n if (current) current.setSelectionRange(length, length);\n break;\n case key.enter:\n event.preventDefault();\n if (currentItem > -1) {\n nextItem = currentItem;\n } else if (displayValue && !options[nextItem]) {\n this.unshift(displayValue);\n nextItem = 0;\n }\n // Когда нет данных - то и селект не нужен\n if (options.length) {\n this.onDropDownSelect({\n value: nextItem,\n event,\n });\n }\n break;\n case key.esc:\n setIsOpen(false);\n break;\n default:\n break;\n }\n };\n\n onArrow = (index: number) => {\n const { setCurrentItem, setIsOpen } = this.state;\n\n setCurrentItem(index);\n setIsOpen(true);\n };\n\n insertSuggestion = () => {\n const { currentItem, isOpen, options, selectValue } = this.values;\n const { setTempValue } = this.state;\n const { inputRef } = this.refs;\n const label = options[currentItem]?.label || '';\n const matched = selectValue === label.substr(0, selectValue.length);\n\n if (!isOpen || !label || currentItem < 0 || !matched) {\n setTempValue('');\n\n return;\n }\n const newTemp = label.substr(selectValue.length);\n\n setTempValue(newTemp);\n\n if (!inputRef.current || selectValue.length >= label.length) return;\n inputRef.current.setSelectionRange(selectValue.length, label.length, 'forward');\n };\n\n unshift = (label: string) => {\n const { options } = this.values;\n const id = options[0]?.id || 0;\n\n options.unshift({\n label,\n id: Number(id) - 1,\n gender: 'UNKNOWN',\n });\n };\n\n /** Подставлять текущее значение как подсказку */\n insertCurrent = (appendCurrent?: boolean) => {\n const { displayValue, isOpen, options, selectValue } = this.values;\n const { setCurrentItem } = this.state;\n\n if (!isOpen) {\n const nextItem = getCurrentIndex(options, selectValue);\n\n // При проставлении appendCurrent добавлять любое текущее значение\n if (appendCurrent && displayValue.length > 0 && nextItem === -1) {\n this.unshift(selectValue);\n }\n\n setCurrentItem(nextItem);\n }\n };\n}\n","import { Input } from '@alfa-bank/site-input';\nimport { createWidget } from '@alfa-bank/site-util-create-widget/create-widget';\n\nimport { Autocomplete } from './components/autocomplete/autocomplete';\nimport { ArrowIcon } from './components/arrow-icon/arrow-icon';\nimport { BaseSelect as Component } from './select';\nimport styles from './styles/styles.css';\nimport { IDeps, TSelect } from './models';\n\nexport const BaseSelect = createWidget({\n styles,\n Input,\n Autocomplete,\n ArrowIcon,\n})(Component);\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"a35fA\",\"external\":\"b35fA\",\"marginBottom0\":\"c35fA\",\"arrowIcon\":\"d35fA\",\"arrowIconOpened\":\"e35fA\",\"autofill\":\"f35fA\"};","import React, { FC, useEffect } from 'react';\nimport cn from 'classnames';\n\nimport { defaultHandler } from './config';\nimport { IAutoCompleteProps } from './models';\nimport defaultStyles from './styles/styles.css';\nimport { getScroll } from './helpers/actions';\n\nexport const Autocomplete: FC = ({\n autocompleteRef,\n highlightedItem = -1,\n onSelect = defaultHandler,\n options,\n position,\n styles: injectedStyles,\n}) => {\n const styles = { ...defaultStyles, ...injectedStyles };\n\n useEffect(() => {\n if (highlightedItem < 0) return;\n\n if (autocompleteRef.current) {\n const top = getScroll(highlightedItem, autocompleteRef.current.scrollTop);\n\n autocompleteRef.current.scrollTo?.({ top });\n }\n }, [highlightedItem, autocompleteRef]);\n\n return (\n \n {options.map((option, index) => (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\n onSelect({ event, value: index })}\n role=\"option\"\n >\n {option.label}\n \n ))}\n \n );\n};\n","import { OPTIONS_PER_VIEW, OPTION_HEIGHT } from './config';\n\n/**\n * Дает позицию при скролле вверх/вниз\n * @param next Индекс следующего элемента\n * @param top Текущая позиция скролла\n */\nexport const getScroll = (next: number, top: number) => {\n /** Высота неактивных элементов */\n const viewHeight = OPTION_HEIGHT * (OPTIONS_PER_VIEW - 1);\n const bottom = top + viewHeight;\n const nextPos = next * OPTION_HEIGHT;\n\n if (nextPos > bottom) {\n return nextPos - viewHeight;\n }\n if (nextPos < top) {\n return nextPos;\n }\n\n return top;\n};\n","export const OPTION_HEIGHT = 40;\nexport const OPTIONS_PER_VIEW = 4;\n","import React, { FC } from 'react';\nimport cn from 'classnames';\n\nimport styles from './styles.css';\nimport { IProps } from './models';\n\nexport const ArrowIcon: FC = ({\n dataTestId,\n className,\n isOpen = true,\n onClick = () => {},\n}) => {\n const classNames = cn(\n styles.arrowIcon,\n {\n [styles.arrowIconOpened]: isOpen,\n },\n className\n );\n\n return (\n \n \n \n );\n};\n","import React, { useState, useRef, FC, useEffect, useLayoutEffect, RefObject } from 'react';\nimport cn from 'classnames';\n\nimport { defaultHandler } from './components/autocomplete/config';\nimport { TPosition } from './components/autocomplete/models';\nimport { TSelect } from './models';\nimport { SelectActions } from './classes';\nimport { getDropdownPosition } from './helpers';\n\nexport const BaseSelect: FC = ({\n ArrowIcon,\n Autocomplete,\n Input,\n addHiddenInput = false,\n appendCurrent,\n arrow = false,\n autoComplete = 'off',\n autoSuggest,\n caption = '',\n className,\n disabled = false,\n error = false,\n forwardedRef,\n name = '',\n onBlur = defaultHandler,\n onCancel,\n onChange,\n onClick = defaultHandler,\n onFocus = defaultHandler,\n onSelect = defaultHandler,\n options = [],\n placeholder = '',\n readOnly = false,\n styles,\n success = false,\n value: selectValue = '',\n hideStatusIcon,\n ...rest\n}) => {\n const inputRefFallback = useRef(null);\n const inputRef = (forwardedRef || inputRefFallback) as RefObject;\n const autocompleteRef = useRef(null);\n\n const [isOpen, setIsOpen] = useState(false);\n const [currentItem, setCurrentItem] = useState(-1);\n const [currentPosition, setCurrentPosition] = useState('bottom');\n const [tempValue, setTempValue] = useState('');\n const displayValue = `${selectValue}${tempValue}`;\n\n const refs = { autocompleteRef, inputRef };\n const state = { setTempValue, setIsOpen, setCurrentItem };\n const cb = { onBlur, onChange, onSelect, onFocus, onClick };\n const values = {\n name,\n selectValue: String(selectValue),\n displayValue,\n options,\n isOpen,\n currentItem,\n readOnly,\n };\n\n const actions = new SelectActions({ refs, state, cb, values });\n\n useEffect(() => {\n if (!autoSuggest) return;\n actions.insertSuggestion();\n }, [currentItem, inputRef, isOpen, options, selectValue]);\n\n // При обновлении опций после закрытия актуализировать текущий выбор\n useEffect(() => {\n actions.insertCurrent(appendCurrent);\n // Только при изменении опций и открытия-закрытия\n }, [options, isOpen]);\n\n // Определить расположение дропдауна\n useLayoutEffect(() => {\n const setPosition = () => setCurrentPosition(getDropdownPosition(refs));\n const observer = new IntersectionObserver(\n ([{ intersectionRatio }]) => intersectionRatio < 1 && setPosition(),\n {\n threshold: [1],\n }\n );\n\n if (isOpen && autocompleteRef.current) {\n setPosition();\n observer.observe(autocompleteRef.current);\n }\n\n return () => {\n // eslint-disable-next-line no-unused-expressions\n observer.disconnect?.();\n };\n }, [isOpen]);\n\n const statusIconHidden = hideStatusIcon ?? !onChange;\n\n return (\n
\n \n\n {arrow && (\n \n )}\n\n {isOpen && (\n \n )}\n
\n );\n};\n","import React, { useRef } from 'react';\nimport { Field as FinalFormField, useForm } from 'react-final-form';\n\nimport { TField } from './models';\n\nexport const Field = ({\n data,\n dispatchesFocus,\n name,\n receivesFocus,\n render,\n ...rest\n}: TField) => {\n const { mutators } = useForm();\n const ref = useRef(null);\n\n return (\n \n );\n};\n","import { createWidget } from '@alfa-bank/site-util-create-widget/create-widget';\nimport { ArrowPopover as Tooltip } from '@alfa-bank/site-popover/arrow-popover';\n\nimport { Hint as Component } from '../hint';\nimport { THint, IDeps } from '../models';\nimport { Icon } from '../hint-icon';\nimport styles from '../styles/styles.css';\n\nexport const HintDesktop = createWidget({\n Icon,\n Tooltip,\n styles,\n})(Component);\n","import React from 'react';\n\nexport const Icon = () => {\n return (\n \n \n \n \n \n \n \n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"button\":\"a19QJ\"};","import React, { FC, MouseEvent } from 'react';\n\nimport { THint } from './models';\n\nexport const Hint: FC = ({ Icon, Tooltip, children, styles }) => {\n const preventEventBubbling = (event: MouseEvent) => event.preventDefault();\n\n return (\n \n \n \n );\n};\n","import { SyntheticEvent } from 'react';\n\nimport { THandler } from './models';\n\nexport const getHandler =\n >(callback?: THandler) =>\n (event: T) => {\n if (callback) {\n const { name, value } = event.target as HTMLInputElement;\n\n callback({ value, name, event });\n }\n };\n","import { createWidget } from '@alfa-bank/site-util-create-widget/create-widget';\n\nimport { PureInput as Component } from './pure-input';\nimport { TPureInput, IDeps } from './models';\nimport styles from './styles/styles.css';\n\nexport const PureInput = createWidget({\n styles,\n})(Component);\n","// extracted by mini-css-extract-plugin\nexport default {\"background-$(backgroundColorBg)\":\"a5tnN\",\"background-$(backgroundColor)\":\"b5tnN\",\"input\":\"c5tnN\",\"hasFloatingLabel\":\"d5tnN\",\"error\":\"e5tnN\",\"valid\":\"f5tnN\",\"disabled\":\"g5tnN\"};","import React, { FC } from 'react';\nimport cn from 'classnames';\n\nimport { getHandler } from './utils';\nimport { DEFAULT_TYPE, DEFAULT_AUTO_COMPLETE } from './config';\nimport { TPureInput } from './models';\n\nexport const PureInput: FC = ({\n autoComplete = DEFAULT_AUTO_COMPLETE,\n className = '',\n dataTestId = 'input',\n disabled,\n error,\n valid,\n forwardedRef,\n onBlur,\n onChange,\n onFocus,\n onKeyDown,\n onMouseDown,\n onMouseUp,\n onPaste,\n paddingleft = '',\n styles,\n type = DEFAULT_TYPE,\n value = '',\n name = '',\n hasFloatingLabel = true,\n ...rest\n}) => (\n \n);\n","export const DEFAULT_AUTO_COMPLETE = 'off';\n\nexport const DEFAULT_TYPE = 'text';\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n"],"names":["StaticActions","onBlur","input","onFocus","setTimeout","onChange","meta","value","onComplete","field","data","dispatchesFocus","name","onSelect","onCancel","current","getRef","focus","ref","updateAction","actions","onUpdateFormAction","getNames","names","Array","isArray","Object","assign","pascalize","text","words","map","word","upperFirst","join","CaptionComponent","children","className","dataTestId","size","styles","theme","classnames","cn","caption","pas","Caption","memo","createWidget","Component","Input","IconSuccess","props","height","viewBox","width","d","fill","IconError","PureInput","Hint","addHiddenInput","disabled","error","forwardedRef","hideStatusIcon","id","infoBlock","infoText","paddingleft","placeholder","success","rest","inputWrapper","label","htmlFor","hasFloatingLabel","Boolean","readOnly","type","emptyValue","style","left","status","cancel","onClick","external","captionError","defaultHandler","getCurrentIndex","options","inputValue","findIndex","SelectActions","properties","cb","refs","state","values","refreshValue","inputRef","setTempValue","inputEvent","Event","bubbles","dispatchEvent","onBlurHandler","obj","displayValue","selectValue","autocompleteRef","setIsOpen","relatedTarget","event","relatedClassName","document","activeElement","includes","onChangeHandler","setCurrentItem","target","length","onFocusHandler","onClickHandler","onDropDownSelect","preventDefault","onDropdownToggle","isOpen","onKeyDown","currentItem","nextItem","keyCode","key","onArrow","highlightedItem","Math","max","getUpIndex","min","getDownIndex","shiftKey","setSelectionRange","unshift","index","insertSuggestion","matched","substr","Number","gender","insertCurrent","appendCurrent","this","BaseSelect","Autocomplete","position","injectedStyles","defaultStyles","useEffect","top","next","nextPos","OPTION_HEIGHT","getScroll","scrollTop","scrollTo","autocomplete","role","tabIndex","option","ArrowIcon","classNames","xmlns","arrow","autoComplete","autoSuggest","inputRefFallback","useRef","useState","currentPosition","setCurrentPosition","tempValue","String","useLayoutEffect","setPosition","clientHeight","documentElement","getBoundingClientRect","bottom","getDropdownPosition","observer","IntersectionObserver","intersectionRatio","threshold","observe","disconnect","statusIconHidden","wrapper","marginBottom0","autofill","Field","receivesFocus","render","mutators","useForm","HintDesktop","Icon","transform","Tooltip","preventEventBubbling","content","onClose","onOpen","button","getHandler","callback","valid","onMouseDown","onMouseUp","onPaste","paddingLeft","module","exports","array","iteratee","result","Symbol","arrayMap","isSymbol","symbolProto","prototype","undefined","symbolToString","toString","baseToString","call","baseGetTag","isObjectLike"],"sourceRoot":""}