@salutejs/plasma-new-hope 0.336.0-canary.2213.17513842134.0 → 0.336.0-canary.2214.17514828735.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -8
- package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/cjs/components/Select/Select.js +1 -8
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Tree/Tree.js +17 -2
- package/cjs/components/Tree/Tree.js.map +1 -1
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -6
- package/emotion/cjs/components/Select/Select.js +1 -6
- package/emotion/cjs/components/Tree/Tree.js +9 -2
- package/emotion/cjs/examples/components/Combobox/Combobox.js +0 -15
- package/emotion/cjs/examples/components/Tree/Tree.js +1 -0
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +1 -6
- package/emotion/es/components/Select/Select.js +1 -6
- package/emotion/es/components/Tree/Tree.js +9 -2
- package/emotion/es/examples/components/Combobox/Combobox.js +0 -7
- package/emotion/es/examples/components/Tree/Tree.js +1 -0
- package/es/components/Combobox/ComboboxNew/Combobox.js +1 -8
- package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/es/components/Select/Select.js +1 -8
- package/es/components/Select/Select.js.map +1 -1
- package/es/components/Tree/Tree.js +17 -2
- package/es/components/Tree/Tree.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -6
- package/styled-components/cjs/components/Select/Select.js +1 -6
- package/styled-components/cjs/components/Tree/Tree.js +9 -2
- package/styled-components/cjs/examples/components/Tree/Tree.js +1 -0
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +1 -6
- package/styled-components/es/components/Select/Select.js +1 -6
- package/styled-components/es/components/Tree/Tree.js +9 -2
- package/styled-components/es/examples/components/Combobox/Combobox.js +0 -7
- package/styled-components/es/examples/components/Tree/Tree.js +1 -0
- package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +0 -7
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
- package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +0 -6
- package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts.map +1 -1
- package/types/components/Select/Select.d.ts.map +1 -1
- package/types/components/Select/Select.types.d.ts +0 -14
- package/types/components/Select/Select.types.d.ts.map +1 -1
- package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts +0 -6
- package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts.map +1 -1
- package/types/components/Tree/Tree.d.ts +2 -2
- package/types/components/Tree/Tree.d.ts.map +1 -1
- package/types/components/Tree/Tree.types.d.ts +23 -1
- package/types/components/Tree/Tree.types.d.ts.map +1 -1
- package/types/examples/components/Combobox/Combobox.d.ts +0 -24
- package/types/examples/components/Combobox/Combobox.d.ts.map +1 -1
- package/types/examples/components/Select/Select.d.ts +0 -6
- package/types/examples/components/Select/Select.d.ts.map +1 -1
- package/types/examples/components/Tree/Tree.d.ts +1 -1
- package/types/examples/components/Tree/Tree.d.ts.map +1 -1
@@ -38,7 +38,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
38
38
|
|
39
39
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
40
40
|
|
41
|
-
var _excluded = ["name", "multiple", "value", "onChange", "defaultValue", "isTargetAmount", "targetAmount", "items", "placement", "label", "placeholder", "helperText", "contentLeft", "textBefore", "textAfter", "variant", "listOverflow", "listHeight", "listMaxHeight", "listWidth", "portal", "renderItem", "view", "size", "labelPlacement", "keepPlaceholder", "readOnly", "disabled", "alwaysOpened", "filter", "closeAfterSelect", "renderValue", "zIndex", "beforeList", "afterList", "virtual", "hintView", "hintSize", "emptyStateDescription", "onChangeValue", "onScroll", "onToggle", "
|
41
|
+
var _excluded = ["name", "multiple", "value", "onChange", "defaultValue", "isTargetAmount", "targetAmount", "items", "placement", "label", "placeholder", "helperText", "contentLeft", "textBefore", "textAfter", "variant", "listOverflow", "listHeight", "listMaxHeight", "listWidth", "portal", "renderItem", "view", "size", "labelPlacement", "keepPlaceholder", "readOnly", "disabled", "alwaysOpened", "filter", "closeAfterSelect", "renderValue", "zIndex", "beforeList", "afterList", "virtual", "hintView", "hintSize", "emptyStateDescription", "onChangeValue", "onScroll", "onToggle", "_offset"];
|
42
42
|
|
43
43
|
/**
|
44
44
|
* Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.
|
@@ -94,8 +94,6 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
94
94
|
onChangeValue = props.onChangeValue,
|
95
95
|
onScroll = props.onScroll,
|
96
96
|
onToggle = props.onToggle,
|
97
|
-
_props$mode = props.mode,
|
98
|
-
mode = _props$mode === void 0 ? 'default' : _props$mode,
|
99
97
|
_offset = props._offset,
|
100
98
|
rest = _rollupPluginBabelHelpers.objectWithoutProperties(props, _excluded);
|
101
99
|
var transformedItems = React.useMemo(function () {
|
@@ -347,11 +345,6 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
347
345
|
type: 'reset'
|
348
346
|
});
|
349
347
|
}
|
350
|
-
|
351
|
-
// Закрываем список, если элемент уже выбран.
|
352
|
-
if (mode === 'radio' && isCurrentChecked) {
|
353
|
-
return;
|
354
|
-
}
|
355
348
|
if (onChange) {
|
356
349
|
onChange(isCurrentChecked ? '' : item.value, item);
|
357
350
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Combobox.js","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, useLayoutEffect, useRef } from 'react';\nimport type { ChangeEvent, ForwardedRef } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport { safeUseId, isEmpty } from 'src/utils';\nimport { RootProps } from 'src/engines';\nimport { useOutsideClick, useDidMountLayoutEffect } from 'src/hooks';\n\nimport { sizeToIconSize } from '../../Select/utils';\n\nimport { classes } from './Combobox.tokens';\nimport { FloatingPopover } from './FloatingPopover';\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport {\n initialItemsTransform,\n updateAncestors,\n updateDescendants,\n updateSingleAncestors,\n filterItems,\n getItemId,\n getRemovedElement,\n getTextValue,\n} from './utils';\nimport { Inner, StyledTextField, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport {\n Ul,\n base,\n StyledArrow,\n IconArrowWrapper,\n StyledEmptyState,\n StyledLeftHelper,\n ListWrapper,\n} from './Combobox.styles';\nimport type { ComboboxProps } from './Combobox.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed, ItemOption } from './ui/Inner/ui/Item/Item.types';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Combobox.context';\n\n/**\n * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.\n */\n\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) =>\n forwardRef<HTMLInputElement, ComboboxProps>((props, ref) => {\n const {\n name,\n multiple,\n value: outerValue,\n onChange: outerOnChange,\n defaultValue,\n isTargetAmount,\n targetAmount,\n items,\n placement = 'bottom-start',\n label,\n placeholder,\n helperText,\n contentLeft,\n textBefore,\n textAfter,\n variant = 'normal',\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n portal,\n renderItem,\n view,\n size,\n labelPlacement,\n keepPlaceholder,\n readOnly = false,\n disabled = false,\n alwaysOpened = false,\n filter,\n closeAfterSelect: outerCloseAfterSelect,\n renderValue,\n zIndex,\n beforeList,\n afterList,\n virtual = false,\n hintView,\n hintSize,\n emptyStateDescription,\n onChangeValue,\n onScroll,\n onToggle,\n mode = 'default',\n // @ts-ignore\n _offset,\n ...rest\n } = props;\n\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [valueToCheckedMap, valueToItemMap, labelToItemMap] = useMemo(() => getTreeMaps(transformedItems), [\n items,\n ]);\n\n const [textValue, setTextValue] = useState(getTextValue(multiple, outerValue, valueToItemMap, renderValue));\n\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const treeId = safeUseId();\n\n const filteredItems = useMemo(\n () =>\n filterItems(\n transformedItems,\n textValue,\n getTextValue(multiple, value, valueToItemMap, renderValue),\n filter,\n ),\n [transformedItems, textValue, filter],\n );\n\n const [pathMap, focusedToValueMap] = useMemo(() => getPathMap(filteredItems), [filteredItems, textValue]);\n\n const initialPath = alwaysOpened ? ['root'] : [];\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, initialPath);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n const withArrowInverse = isCurrentListOpen ? classes.arrowInverse : undefined;\n const closeAfterSelect = outerCloseAfterSelect ?? !multiple;\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen || alwaysOpened) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false);\n }\n\n // Возвращаем актуальное значение поля ввода после закрытия выпадающего списка.\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n }, floatingPopoverRef);\n\n // Эта функция срабатывает при изменении Combobox и\n // при изменении нативного Select для формы (срабатывает только после изменения internalValue и рендера).\n const onChange = (\n newValue: string | Array<string> | ChangeEvent<HTMLSelectElement> | null,\n item?: ItemOption | null,\n ) => {\n // Условие для отправки изменений наружу\n if (props.onChange) {\n // Условие для отправки, если комбобокс используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки, если комбобокс используется с формой.\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleClickArrow = () => {\n if (disabled || readOnly) {\n return;\n }\n\n if (isCurrentListOpen) {\n dispatchPath({ type: 'reset' });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n }\n\n dispatchFocusedPath({ type: 'reset' });\n };\n\n // Обработчик изменения значения в инпуте\n const handleTextValueChange = (e: ChangeEvent<HTMLInputElement>) => {\n setTextValue(e.target.value);\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onChangeValue) {\n onChangeValue(e.target.value);\n }\n };\n\n // Обработчик чипов\n const handleChipsChange = (chipLabels: any[]) => {\n if (!Array.isArray(value)) return;\n\n // TODO: #1564\n // Из лейблов чипов получаем value у item и далее прокидываем его в onChange.\n if (renderValue && !isTargetAmount) {\n const resultValues = [...value];\n\n value.forEach((_, index) => {\n const stringValue = value[index];\n const label = valueToItemMap.get(stringValue)?.label;\n\n const labelAfterRenderValue = renderValue(\n label\n ? labelToItemMap.get(label)!\n : {\n value: stringValue,\n label: stringValue.toString(),\n },\n );\n\n if (!chipLabels.includes(labelAfterRenderValue)) {\n resultValues.splice(index, 1);\n }\n });\n\n const removedItemValue = getRemovedElement(value, resultValues, isTargetAmount);\n\n onChange(\n resultValues,\n removedItemValue\n ? valueToItemMap.get(removedItemValue) || {\n value: removedItemValue,\n label: removedItemValue.toString(),\n }\n : null,\n );\n } else {\n const newValues = chipLabels.map((chipLabel) => labelToItemMap.get(chipLabel)?.value || chipLabel);\n const removedItemValue = getRemovedElement(value, newValues, isTargetAmount);\n\n onChange(\n newValues,\n removedItemValue\n ? valueToItemMap.get(removedItemValue) || {\n value: removedItemValue,\n label: removedItemValue.toString(),\n }\n : null,\n );\n }\n };\n\n // Обработчик открытия/закрытия выпадающего списка\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n // Обработчик выбора чекбоксов (только при multiple)\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n if (!multiple) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n if (!checkedCopy.get(item.value)) {\n checkedCopy.set(item.value, true);\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n } else {\n checkedCopy.set(item.value, false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\n\n const newValues: Array<string> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n // Оставляем values, которых нет в items.\n if (Array.isArray(value)) {\n value.forEach((val: string) => {\n if (!valueToItemMap.has(val)) {\n newValues.push(val);\n }\n });\n }\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n // Обработчик клика по айтему выпадающего списка\n const handleItemClick = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (multiple) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n // Закрываем список, если элемент уже выбран.\n if (mode === 'radio' && isCurrentChecked) {\n return;\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n };\n\n const getChips = (): string[] => {\n if (multiple && Array.isArray(value)) {\n if (value.length === 0) return [];\n\n if (isTargetAmount) {\n return [`Выбрано ${targetAmount || value.length}`];\n }\n\n const renderValueMapper =\n renderValue &&\n ((stringValue: string) =>\n renderValue(\n valueToItemMap.get(stringValue) || { value: stringValue, label: stringValue.toString() },\n ));\n const valueToItemMapper = (stringValue: string) =>\n valueToItemMap.get(stringValue)?.label || stringValue.toString();\n\n return value.map(renderValueMapper || valueToItemMapper);\n }\n\n return [];\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (multiple) {\n handleCheckboxChange(item);\n }\n };\n\n const helperTextStopPropagation = (event: React.MouseEvent<HTMLDivElement>) => {\n event.stopPropagation();\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n setTextValue,\n multiple,\n value,\n textValue,\n valueToItemMap,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n // При изменении value нужно возвращать значение в инпуте к исходному.\n useDidMountLayoutEffect(() => {\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n }, [outerValue, internalValue]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue);\n }\n }, [defaultValue]);\n\n return (\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n hintView={hintView}\n hintSize={hintSize}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiple={multiple}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLInputElement>}\n />\n )}\n <div>\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleListToggle}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <StyledTextField\n ref={name ? inputRef : (inputForkRef as ForwardedRef<HTMLInputElement>)}\n inputWrapperRef={referenceRef}\n value={textValue}\n onChange={handleTextValueChange}\n size={size}\n view={view}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={\n <IconArrowWrapper disabled={disabled} onClick={handleClickArrow}>\n <StyledArrow\n color=\"inherit\"\n size={sizeToIconSize(size)}\n className={withArrowInverse}\n />\n </IconArrowWrapper>\n }\n textBefore={textBefore}\n textAfter={textAfter}\n onKeyDown={onKeyDown}\n leftHelper={\n helperText && (\n <StyledLeftHelper onClick={helperTextStopPropagation}>\n {helperText}\n </StyledLeftHelper>\n )\n }\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={`${treeId}_tree_level_1`}\n aria-expanded={isCurrentListOpen}\n aria-activedescendant={\n activeDescendantItemValue ? getItemId(treeId, activeDescendantItemValue) : ''\n }\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n {...(multiple\n ? {\n enumerationType: 'chip',\n chips: getChips(),\n onChangeChips: handleChipsChange,\n }\n : { enumerationType: 'plain' })}\n {...rest}\n _onEnterDisabled // Пропс для отключения обработчика Enter внутри Textfield\n />\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n >\n <ListWrapper listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(multiple)}\n listMaxHeight={listMaxHeight || listHeight}\n ref={targetRef}\n virtual={virtual}\n listOverflow={listOverflow}\n onScroll={virtual ? undefined : onScroll}\n >\n {beforeList}\n\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description={emptyStateDescription || 'Ничего не найдено'}\n />\n ) : (\n <>\n {props.multiple && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll\n selectAllOptions={props.selectAllOptions}\n variant={variant}\n />\n )}\n\n {virtual ? (\n <VirtualList\n items={filteredItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n filteredItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n />\n ))\n )}\n </>\n )}\n\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </div>\n </Root>\n );\n });\n\nexport const comboboxConfig = {\n name: 'Select',\n tag: 'div',\n layout: comboboxRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n readOnly: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n },\n};\n"],"names":["comboboxRoot","Root","forwardRef","props","ref","_getItemByFocused","_StyledLeftHelper","name","multiple","outerValue","value","defaultValue","isTargetAmount","targetAmount","items","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","listOverflow","listHeight","listMaxHeight","listWidth","portal","renderItem","view","size","labelPlacement","keepPlaceholder","_props$readOnly","readOnly","_props$disabled","disabled","_props$alwaysOpened","alwaysOpened","filter","outerCloseAfterSelect","closeAfterSelect","renderValue","zIndex","beforeList","afterList","_props$virtual","virtual","hintView","hintSize","emptyStateDescription","onChangeValue","onScroll","onToggle","_props$mode","mode","_offset","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","labelToItemMap","_useState","useState","getTextValue","_useState2","textValue","setTextValue","_useState3","_useState4","internalValue","setInternalValue","undefined","inputRef","useRef","floatingPopoverRef","inputForkRef","useForkRef","treeId","safeUseId","filteredItems","filterItems","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","initialPath","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState5","_useState6","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","withArrowInverse","classes","arrowInverse","targetRef","useOutsideClick","type","onChange","newValue","item","Array","isArray","_typeof","handleClickArrow","handleTextValueChange","e","target","handleChipsChange","chipLabels","resultValues","_toConsumableArray","forEach","_","index","_valueToItemMap$get","stringValue","get","labelAfterRenderValue","toString","includes","splice","removedItemValue","getRemovedElement","newValues","map","chipLabel","_labelToItemMap$get","handleListToggle","opened","handleCheckboxChange","checkedCopy","Map","set","updateDescendants","updateAncestors","key","push","val","has","handleItemClick","isEmpty","stopPropagation","isCurrentChecked","getChips","length","concat","renderValueMapper","valueToItemMapper","_valueToItemMap$get2","handlePressDown","helperTextStopPropagation","event","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","updateSingleAncestors","useDidMountLayoutEffect","React","createElement","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","StyledTextField","_extends","inputWrapperRef","contentRight","IconArrowWrapper","onClick","StyledArrow","color","sizeToIconSize","className","leftHelper","StyledLeftHelper","role","getItemId","enumerationType","chips","onChangeChips","_onEnterDisabled","isInner","ListWrapper","Ul","id","StyledEmptyState","emptyStateWrapper","description","Fragment","selectAllOptions","SelectAll","VirtualList","Inner","currentLevel","comboboxConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Combobox.js","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, useLayoutEffect, useRef } from 'react';\nimport type { ChangeEvent, ForwardedRef } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport { safeUseId, isEmpty } from 'src/utils';\nimport { RootProps } from 'src/engines';\nimport { useOutsideClick, useDidMountLayoutEffect } from 'src/hooks';\n\nimport { sizeToIconSize } from '../../Select/utils';\n\nimport { classes } from './Combobox.tokens';\nimport { FloatingPopover } from './FloatingPopover';\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport {\n initialItemsTransform,\n updateAncestors,\n updateDescendants,\n updateSingleAncestors,\n filterItems,\n getItemId,\n getRemovedElement,\n getTextValue,\n} from './utils';\nimport { Inner, StyledTextField, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport {\n Ul,\n base,\n StyledArrow,\n IconArrowWrapper,\n StyledEmptyState,\n StyledLeftHelper,\n ListWrapper,\n} from './Combobox.styles';\nimport type { ComboboxProps } from './Combobox.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed, ItemOption } from './ui/Inner/ui/Item/Item.types';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Combobox.context';\n\n/**\n * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.\n */\n\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) =>\n forwardRef<HTMLInputElement, ComboboxProps>((props, ref) => {\n const {\n name,\n multiple,\n value: outerValue,\n onChange: outerOnChange,\n defaultValue,\n isTargetAmount,\n targetAmount,\n items,\n placement = 'bottom-start',\n label,\n placeholder,\n helperText,\n contentLeft,\n textBefore,\n textAfter,\n variant = 'normal',\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n portal,\n renderItem,\n view,\n size,\n labelPlacement,\n keepPlaceholder,\n readOnly = false,\n disabled = false,\n alwaysOpened = false,\n filter,\n closeAfterSelect: outerCloseAfterSelect,\n renderValue,\n zIndex,\n beforeList,\n afterList,\n virtual = false,\n hintView,\n hintSize,\n emptyStateDescription,\n onChangeValue,\n onScroll,\n onToggle,\n // @ts-ignore\n _offset,\n ...rest\n } = props;\n\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [valueToCheckedMap, valueToItemMap, labelToItemMap] = useMemo(() => getTreeMaps(transformedItems), [\n items,\n ]);\n\n const [textValue, setTextValue] = useState(getTextValue(multiple, outerValue, valueToItemMap, renderValue));\n\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const treeId = safeUseId();\n\n const filteredItems = useMemo(\n () =>\n filterItems(\n transformedItems,\n textValue,\n getTextValue(multiple, value, valueToItemMap, renderValue),\n filter,\n ),\n [transformedItems, textValue, filter],\n );\n\n const [pathMap, focusedToValueMap] = useMemo(() => getPathMap(filteredItems), [filteredItems, textValue]);\n\n const initialPath = alwaysOpened ? ['root'] : [];\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, initialPath);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n const withArrowInverse = isCurrentListOpen ? classes.arrowInverse : undefined;\n const closeAfterSelect = outerCloseAfterSelect ?? !multiple;\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen || alwaysOpened) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false);\n }\n\n // Возвращаем актуальное значение поля ввода после закрытия выпадающего списка.\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n }, floatingPopoverRef);\n\n // Эта функция срабатывает при изменении Combobox и\n // при изменении нативного Select для формы (срабатывает только после изменения internalValue и рендера).\n const onChange = (\n newValue: string | Array<string> | ChangeEvent<HTMLSelectElement> | null,\n item?: ItemOption | null,\n ) => {\n // Условие для отправки изменений наружу\n if (props.onChange) {\n // Условие для отправки, если комбобокс используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки, если комбобокс используется с формой.\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleClickArrow = () => {\n if (disabled || readOnly) {\n return;\n }\n\n if (isCurrentListOpen) {\n dispatchPath({ type: 'reset' });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n }\n\n dispatchFocusedPath({ type: 'reset' });\n };\n\n // Обработчик изменения значения в инпуте\n const handleTextValueChange = (e: ChangeEvent<HTMLInputElement>) => {\n setTextValue(e.target.value);\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onChangeValue) {\n onChangeValue(e.target.value);\n }\n };\n\n // Обработчик чипов\n const handleChipsChange = (chipLabels: any[]) => {\n if (!Array.isArray(value)) return;\n\n // TODO: #1564\n // Из лейблов чипов получаем value у item и далее прокидываем его в onChange.\n if (renderValue && !isTargetAmount) {\n const resultValues = [...value];\n\n value.forEach((_, index) => {\n const stringValue = value[index];\n const label = valueToItemMap.get(stringValue)?.label;\n\n const labelAfterRenderValue = renderValue(\n label\n ? labelToItemMap.get(label)!\n : {\n value: stringValue,\n label: stringValue.toString(),\n },\n );\n\n if (!chipLabels.includes(labelAfterRenderValue)) {\n resultValues.splice(index, 1);\n }\n });\n\n const removedItemValue = getRemovedElement(value, resultValues, isTargetAmount);\n\n onChange(\n resultValues,\n removedItemValue\n ? valueToItemMap.get(removedItemValue) || {\n value: removedItemValue,\n label: removedItemValue.toString(),\n }\n : null,\n );\n } else {\n const newValues = chipLabels.map((chipLabel) => labelToItemMap.get(chipLabel)?.value || chipLabel);\n const removedItemValue = getRemovedElement(value, newValues, isTargetAmount);\n\n onChange(\n newValues,\n removedItemValue\n ? valueToItemMap.get(removedItemValue) || {\n value: removedItemValue,\n label: removedItemValue.toString(),\n }\n : null,\n );\n }\n };\n\n // Обработчик открытия/закрытия выпадающего списка\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n // Обработчик выбора чекбоксов (только при multiple)\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n if (!multiple) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n if (!checkedCopy.get(item.value)) {\n checkedCopy.set(item.value, true);\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n } else {\n checkedCopy.set(item.value, false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\n\n const newValues: Array<string> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n // Оставляем values, которых нет в items.\n if (Array.isArray(value)) {\n value.forEach((val: string) => {\n if (!valueToItemMap.has(val)) {\n newValues.push(val);\n }\n });\n }\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n // Обработчик клика по айтему выпадающего списка\n const handleItemClick = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (multiple) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n };\n\n const getChips = (): string[] => {\n if (multiple && Array.isArray(value)) {\n if (value.length === 0) return [];\n\n if (isTargetAmount) {\n return [`Выбрано ${targetAmount || value.length}`];\n }\n\n const renderValueMapper =\n renderValue &&\n ((stringValue: string) =>\n renderValue(\n valueToItemMap.get(stringValue) || { value: stringValue, label: stringValue.toString() },\n ));\n const valueToItemMapper = (stringValue: string) =>\n valueToItemMap.get(stringValue)?.label || stringValue.toString();\n\n return value.map(renderValueMapper || valueToItemMapper);\n }\n\n return [];\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (multiple) {\n handleCheckboxChange(item);\n }\n };\n\n const helperTextStopPropagation = (event: React.MouseEvent<HTMLDivElement>) => {\n event.stopPropagation();\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n setTextValue,\n multiple,\n value,\n textValue,\n valueToItemMap,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n // При изменении value нужно возвращать значение в инпуте к исходному.\n useDidMountLayoutEffect(() => {\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n }, [outerValue, internalValue]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue);\n }\n }, [defaultValue]);\n\n return (\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n hintView={hintView}\n hintSize={hintSize}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiple={multiple}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLInputElement>}\n />\n )}\n <div>\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleListToggle}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <StyledTextField\n ref={name ? inputRef : (inputForkRef as ForwardedRef<HTMLInputElement>)}\n inputWrapperRef={referenceRef}\n value={textValue}\n onChange={handleTextValueChange}\n size={size}\n view={view}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={\n <IconArrowWrapper disabled={disabled} onClick={handleClickArrow}>\n <StyledArrow\n color=\"inherit\"\n size={sizeToIconSize(size)}\n className={withArrowInverse}\n />\n </IconArrowWrapper>\n }\n textBefore={textBefore}\n textAfter={textAfter}\n onKeyDown={onKeyDown}\n leftHelper={\n helperText && (\n <StyledLeftHelper onClick={helperTextStopPropagation}>\n {helperText}\n </StyledLeftHelper>\n )\n }\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={`${treeId}_tree_level_1`}\n aria-expanded={isCurrentListOpen}\n aria-activedescendant={\n activeDescendantItemValue ? getItemId(treeId, activeDescendantItemValue) : ''\n }\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n {...(multiple\n ? {\n enumerationType: 'chip',\n chips: getChips(),\n onChangeChips: handleChipsChange,\n }\n : { enumerationType: 'plain' })}\n {...rest}\n _onEnterDisabled // Пропс для отключения обработчика Enter внутри Textfield\n />\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n >\n <ListWrapper listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(multiple)}\n listMaxHeight={listMaxHeight || listHeight}\n ref={targetRef}\n virtual={virtual}\n listOverflow={listOverflow}\n onScroll={virtual ? undefined : onScroll}\n >\n {beforeList}\n\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description={emptyStateDescription || 'Ничего не найдено'}\n />\n ) : (\n <>\n {props.multiple && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll\n selectAllOptions={props.selectAllOptions}\n variant={variant}\n />\n )}\n\n {virtual ? (\n <VirtualList\n items={filteredItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n filteredItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n />\n ))\n )}\n </>\n )}\n\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </div>\n </Root>\n );\n });\n\nexport const comboboxConfig = {\n name: 'Select',\n tag: 'div',\n layout: comboboxRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n readOnly: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n },\n};\n"],"names":["comboboxRoot","Root","forwardRef","props","ref","_getItemByFocused","_StyledLeftHelper","name","multiple","outerValue","value","defaultValue","isTargetAmount","targetAmount","items","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","listOverflow","listHeight","listMaxHeight","listWidth","portal","renderItem","view","size","labelPlacement","keepPlaceholder","_props$readOnly","readOnly","_props$disabled","disabled","_props$alwaysOpened","alwaysOpened","filter","outerCloseAfterSelect","closeAfterSelect","renderValue","zIndex","beforeList","afterList","_props$virtual","virtual","hintView","hintSize","emptyStateDescription","onChangeValue","onScroll","onToggle","_offset","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","labelToItemMap","_useState","useState","getTextValue","_useState2","textValue","setTextValue","_useState3","_useState4","internalValue","setInternalValue","undefined","inputRef","useRef","floatingPopoverRef","inputForkRef","useForkRef","treeId","safeUseId","filteredItems","filterItems","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","initialPath","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState5","_useState6","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","withArrowInverse","classes","arrowInverse","targetRef","useOutsideClick","type","onChange","newValue","item","Array","isArray","_typeof","handleClickArrow","handleTextValueChange","e","target","handleChipsChange","chipLabels","resultValues","_toConsumableArray","forEach","_","index","_valueToItemMap$get","stringValue","get","labelAfterRenderValue","toString","includes","splice","removedItemValue","getRemovedElement","newValues","map","chipLabel","_labelToItemMap$get","handleListToggle","opened","handleCheckboxChange","checkedCopy","Map","set","updateDescendants","updateAncestors","key","push","val","has","handleItemClick","isEmpty","stopPropagation","isCurrentChecked","getChips","length","concat","renderValueMapper","valueToItemMapper","_valueToItemMap$get2","handlePressDown","helperTextStopPropagation","event","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","updateSingleAncestors","useDidMountLayoutEffect","React","createElement","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","StyledTextField","_extends","inputWrapperRef","contentRight","IconArrowWrapper","onClick","StyledArrow","color","sizeToIconSize","className","leftHelper","StyledLeftHelper","role","getItemId","enumerationType","chips","onChangeChips","_onEnterDisabled","isInner","ListWrapper","Ul","id","StyledEmptyState","emptyStateWrapper","description","Fragment","selectAllOptions","SelectAll","VirtualList","Inner","currentLevel","comboboxConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA;AACA;AACA;;IAEaA,YAAY,GAAG,SAAfA,YAAYA,CAAIC,IAA+D,EAAA;AAAA,EAAA,oBACxFC,gBAAU,CAAkC,UAACC,KAAK,EAAEC,GAAG,EAAK;IAAA,IAAAC,iBAAA,EAAAC,iBAAA,CAAA;AACxD,IAAA,IACIC,IAAI,GA6CJJ,KAAK,CA7CLI,IAAI,CAAA;MACJC,QAAQ,GA4CRL,KAAK,CA5CLK,QAAQ,CAAA;MACDC,UAAU,GA2CjBN,KAAK,CA3CLO,KAAK,CAAA;MAELC,YAAY,GAyCZR,KAAK,CAzCLQ,YAAY,CAAA;MACZC,cAAc,GAwCdT,KAAK,CAxCLS,cAAc,CAAA;MACdC,YAAY,GAuCZV,KAAK,CAvCLU,YAAY,CAAA;MACZC,KAAK,GAsCLX,KAAK,CAtCLW,KAAK,CAAA;MAAAC,gBAAA,GAsCLZ,KAAK,CArCLa,SAAS,CAAA;AAATA,MAAAA,SAAS,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,cAAc,GAAAA,gBAAA,CAAA;MAC1BE,KAAK,GAoCLd,KAAK,CApCLc,KAAK,CAAA;MACLC,WAAW,GAmCXf,KAAK,CAnCLe,WAAW,CAAA;MACXC,UAAU,GAkCVhB,KAAK,CAlCLgB,UAAU,CAAA;MACVC,WAAW,GAiCXjB,KAAK,CAjCLiB,WAAW,CAAA;MACXC,UAAU,GAgCVlB,KAAK,CAhCLkB,UAAU,CAAA;MACVC,SAAS,GA+BTnB,KAAK,CA/BLmB,SAAS,CAAA;MAAAC,cAAA,GA+BTpB,KAAK,CA9BLqB,OAAO,CAAA;AAAPA,MAAAA,OAAO,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,cAAA,CAAA;MAClBE,YAAY,GA6BZtB,KAAK,CA7BLsB,YAAY,CAAA;MACZC,UAAU,GA4BVvB,KAAK,CA5BLuB,UAAU,CAAA;MACVC,aAAa,GA2BbxB,KAAK,CA3BLwB,aAAa,CAAA;MACbC,SAAS,GA0BTzB,KAAK,CA1BLyB,SAAS,CAAA;MACTC,MAAM,GAyBN1B,KAAK,CAzBL0B,MAAM,CAAA;MACNC,UAAU,GAwBV3B,KAAK,CAxBL2B,UAAU,CAAA;MACVC,IAAI,GAuBJ5B,KAAK,CAvBL4B,IAAI,CAAA;MACJC,IAAI,GAsBJ7B,KAAK,CAtBL6B,IAAI,CAAA;MACJC,cAAc,GAqBd9B,KAAK,CArBL8B,cAAc,CAAA;MACdC,eAAe,GAoBf/B,KAAK,CApBL+B,eAAe,CAAA;MAAAC,eAAA,GAoBfhC,KAAK,CAnBLiC,QAAQ,CAAA;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA,CAAA;MAAAE,eAAA,GAmBhBlC,KAAK,CAlBLmC,QAAQ,CAAA;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA,CAAA;MAAAE,mBAAA,GAkBhBpC,KAAK,CAjBLqC,YAAY,CAAA;AAAZA,MAAAA,YAAY,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,mBAAA,CAAA;MACpBE,MAAM,GAgBNtC,KAAK,CAhBLsC,MAAM,CAAA;MACYC,qBAAqB,GAevCvC,KAAK,CAfLwC,gBAAgB,CAAA;MAChBC,WAAW,GAcXzC,KAAK,CAdLyC,WAAW,CAAA;MACXC,MAAM,GAaN1C,KAAK,CAbL0C,MAAM,CAAA;MACNC,UAAU,GAYV3C,KAAK,CAZL2C,UAAU,CAAA;MACVC,SAAS,GAWT5C,KAAK,CAXL4C,SAAS,CAAA;MAAAC,cAAA,GAWT7C,KAAK,CAVL8C,OAAO,CAAA;AAAPA,MAAAA,OAAO,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA,CAAA;MACfE,QAAQ,GASR/C,KAAK,CATL+C,QAAQ,CAAA;MACRC,QAAQ,GAQRhD,KAAK,CARLgD,QAAQ,CAAA;MACRC,qBAAqB,GAOrBjD,KAAK,CAPLiD,qBAAqB,CAAA;MACrBC,aAAa,GAMblD,KAAK,CANLkD,aAAa,CAAA;MACbC,QAAQ,GAKRnD,KAAK,CALLmD,QAAQ,CAAA;MACRC,QAAQ,GAIRpD,KAAK,CAJLoD,QAAQ,CAAA;MAERC,OAAO,GAEPrD,KAAK,CAFLqD,OAAO,CAAA;AACJC,MAAAA,IAAI,GAAAC,iDAAA,CACPvD,KAAK,EAAAwD,SAAA,EAAA;IAET,IAAMC,gBAAgB,GAAGC,aAAO,CAAC,YAAA;AAAA,MAAA,OAAMC,2CAAqB,CAAChD,KAAK,IAAI,EAAE,CAAC,CAAA;KAAE,EAAA,CAACA,KAAK,CAAC,CAAC,CAAA;;AAEnF;IACA,IAAAiD,QAAA,GAA4DF,aAAO,CAAC,YAAA;QAAA,OAAMG,uBAAW,CAACJ,gBAAgB,CAAC,CAAA;OAAE,EAAA,CACrG9C,KAAK,CACR,CAAC;MAAAmD,SAAA,GAAAC,uCAAA,CAAAH,QAAA,EAAA,CAAA,CAAA;AAFKI,MAAAA,iBAAiB,GAAAF,SAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,cAAc,GAAAH,SAAA,CAAA,CAAA,CAAA;AAAEI,MAAAA,cAAc,GAAAJ,SAAA,CAAA,CAAA,CAAA,CAAA;AAIxD,IAAA,IAAAK,SAAA,GAAkCC,cAAQ,CAACC,yBAAY,CAAChE,QAAQ,EAAEC,UAAU,EAAE2D,cAAc,EAAExB,WAAW,CAAC,CAAC;MAAA6B,UAAA,GAAAP,uCAAA,CAAAI,SAAA,EAAA,CAAA,CAAA;AAApGI,MAAAA,SAAS,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;IAE9B,IAAAG,UAAA,GAA0CL,cAAQ,CAAoB/D,QAAQ,GAAG,EAAE,GAAG,EAAE,CAAC;MAAAqE,UAAA,GAAAX,uCAAA,CAAAU,UAAA,EAAA,CAAA,CAAA;AAAlFE,MAAAA,aAAa,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,gBAAgB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAEtC,IAAA,IAAMnE,KAAK,GAAGD,UAAU,KAAK,IAAI,IAAIA,UAAU,KAAKuE,SAAS,GAAGvE,UAAU,GAAGqE,aAAa,CAAA;AAE1F,IAAA,IAAMG,QAAQ,GAAGC,YAAM,CAAmB,IAAI,CAAC,CAAA;AAC/C,IAAA,IAAMC,kBAAkB,GAAGD,YAAM,CAAiB,IAAI,CAAC,CAAA;AACvD,IAAA,IAAME,YAAY,GAAGC,qBAAU,CAACJ,QAAQ,EAAE7E,GAAG,CAAC,CAAA;AAC9C,IAAA,IAAMkF,MAAM,GAAGC,eAAS,EAAE,CAAA;IAE1B,IAAMC,aAAa,GAAG3B,aAAO,CACzB,YAAA;AAAA,MAAA,OACI4B,uBAAW,CACP7B,gBAAgB,EAChBc,SAAS,EACTF,yBAAY,CAAChE,QAAQ,EAAEE,KAAK,EAAE0D,cAAc,EAAExB,WAAW,CAAC,EAC1DH,MACJ,CAAC,CAAA;AAAA,KAAA,EACL,CAACmB,gBAAgB,EAAEc,SAAS,EAAEjC,MAAM,CACxC,CAAC,CAAA;IAED,IAAAiD,SAAA,GAAqC7B,aAAO,CAAC,YAAA;QAAA,OAAM8B,sBAAU,CAACH,aAAa,CAAC,CAAA;AAAA,OAAA,EAAE,CAACA,aAAa,EAAEd,SAAS,CAAC,CAAC;MAAAkB,SAAA,GAAA1B,uCAAA,CAAAwB,SAAA,EAAA,CAAA,CAAA;AAAlGG,MAAAA,OAAO,GAAAD,SAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,iBAAiB,GAAAF,SAAA,CAAA,CAAA,CAAA,CAAA;IAEjC,IAAMG,WAAW,GAAGvD,YAAY,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;;AAEhD;AACA,IAAA,IAAAwD,WAAA,GAA6BC,gBAAU,CAACC,uBAAW,EAAEH,WAAW,CAAC;MAAAI,YAAA,GAAAjC,uCAAA,CAAA8B,WAAA,EAAA,CAAA,CAAA;AAA1DI,MAAAA,IAAI,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;AACzB,IAAA,IAAAG,YAAA,GAA2CL,gBAAU,CAACM,qCAAkB,EAAE,EAAE,CAAC;MAAAC,YAAA,GAAAtC,uCAAA,CAAAoC,YAAA,EAAA,CAAA,CAAA;AAAtEG,MAAAA,WAAW,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,mBAAmB,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;AACvC,IAAA,IAAAG,UAAA,GAA8BpC,cAAQ,CAACJ,iBAAiB,CAAC;MAAAyC,UAAA,GAAA1C,uCAAA,CAAAyC,UAAA,EAAA,CAAA,CAAA;AAAlDE,MAAAA,OAAO,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;IAE1B,IAAMG,iBAAiB,GAAGC,OAAO,CAACZ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AAC1C,IAAA,IAAMa,yBAAyB,GAAG,CAAA,CAAA5G,iBAAA,GAAA6G,sCAAgB,CAACT,WAAW,EAAEX,iBAAiB,CAAC,cAAAzF,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhDA,iBAAA,CAAkDK,KAAK,KAAI,EAAE,CAAA;IAC/F,IAAMyG,gBAAgB,GAAGJ,iBAAiB,GAAGK,uBAAO,CAACC,YAAY,GAAGrC,SAAS,CAAA;IAC7E,IAAMrC,gBAAgB,GAAGD,qBAAqB,KAAA,IAAA,IAArBA,qBAAqB,KAArBA,KAAAA,CAAAA,GAAAA,qBAAqB,GAAI,CAAClC,QAAQ,CAAA;;AAE3D;AACA,IAAA,IAAM8G,SAAS,GAAGC,+BAAe,CAAmB,YAAM;AACtD,MAAA,IAAI,CAACR,iBAAiB,IAAIvE,YAAY,EAAE;AACpC,QAAA,OAAA;AACJ,OAAA;AAEA6D,MAAAA,YAAY,CAAC;AAAEmB,QAAAA,IAAI,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;AAC/Bd,MAAAA,mBAAmB,CAAC;AAAEc,QAAAA,IAAI,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;AAEtC,MAAA,IAAIjE,QAAQ,EAAE;QACVA,QAAQ,CAAC,KAAK,CAAC,CAAA;AACnB,OAAA;;AAEA;MACAoB,YAAY,CAACH,yBAAY,CAAChE,QAAQ,EAAEE,KAAK,EAAE0D,cAAc,EAAExB,WAAW,CAAC,CAAC,CAAA;KAC3E,EAAEuC,kBAAkB,CAAC,CAAA;;AAEtB;AACA;IACA,IAAMsC,QAAQ,GAAG,SAAXA,QAAQA,CACVC,QAAwE,EACxEC,IAAwB,EACvB;AACD;MACA,IAAIxH,KAAK,CAACsH,QAAQ,EAAE;AAChB;AACA,QAAA,IAAI,CAACtH,KAAK,CAACI,IAAI,KAAK,OAAOmH,QAAQ,KAAK,QAAQ,IAAIE,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,CAAC,EAAE;UAC1EvH,KAAK,CAACsH,QAAQ,CAACC,QAAQ,EAASC,IAAI,IAAI,IAAI,CAAC,CAAA;AACjD,SAAA;;AAEA;AACA,QAAA,IAAIxH,KAAK,CAACI,IAAI,IAAIuH,gCAAA,CAAOJ,QAAQ,CAAA,KAAK,QAAQ,IAAI,CAACE,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,EAAE;AACxEvH,UAAAA,KAAK,CAACsH,QAAQ,CAACC,QAAe,CAAC,CAAA;AACnC,SAAA;AACJ,OAAA;;AAEA;MACA,IAAI,OAAOA,QAAQ,KAAK,QAAQ,IAAIE,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,EAAE;QACzD3C,gBAAgB,CAAC2C,QAAQ,CAAC,CAAA;AAC9B,OAAA;KACH,CAAA;AAED,IAAA,IAAMK,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAS;MAC3B,IAAIzF,QAAQ,IAAIF,QAAQ,EAAE;AACtB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAI2E,iBAAiB,EAAE;AACnBV,QAAAA,YAAY,CAAC;AAAEmB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACnC,OAAC,MAAM;AACHnB,QAAAA,YAAY,CAAC;AAAEmB,UAAAA,IAAI,EAAE,oBAAA;AAAqB,SAAC,CAAC,CAAA;AAChD,OAAA;AAEAd,MAAAA,mBAAmB,CAAC;AAAEc,QAAAA,IAAI,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;KACzC,CAAA;;AAED;AACA,IAAA,IAAMQ,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIC,CAAgC,EAAK;AAChEtD,MAAAA,YAAY,CAACsD,CAAC,CAACC,MAAM,CAACxH,KAAK,CAAC,CAAA;AAC5B2F,MAAAA,YAAY,CAAC;AAAEmB,QAAAA,IAAI,EAAE,oBAAA;AAAqB,OAAC,CAAC,CAAA;AAC5Cd,MAAAA,mBAAmB,CAAC;AAAEc,QAAAA,IAAI,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;AAEtC,MAAA,IAAInE,aAAa,EAAE;AACfA,QAAAA,aAAa,CAAC4E,CAAC,CAACC,MAAM,CAACxH,KAAK,CAAC,CAAA;AACjC,OAAA;KACH,CAAA;;AAED;AACA,IAAA,IAAMyH,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,UAAiB,EAAK;AAC7C,MAAA,IAAI,CAACR,KAAK,CAACC,OAAO,CAACnH,KAAK,CAAC,EAAE,OAAA;;AAE3B;AACA;AACA,MAAA,IAAIkC,WAAW,IAAI,CAAChC,cAAc,EAAE;AAChC,QAAA,IAAMyH,YAAY,GAAAC,2CAAA,CAAO5H,KAAK,CAAC,CAAA;AAE/BA,QAAAA,KAAK,CAAC6H,OAAO,CAAC,UAACC,CAAC,EAAEC,KAAK,EAAK;AAAA,UAAA,IAAAC,mBAAA,CAAA;AACxB,UAAA,IAAMC,WAAW,GAAGjI,KAAK,CAAC+H,KAAK,CAAC,CAAA;AAChC,UAAA,IAAMxH,KAAK,GAAA,CAAAyH,mBAAA,GAAGtE,cAAc,CAACwE,GAAG,CAACD,WAAW,CAAC,MAAAD,IAAAA,IAAAA,mBAAA,KAA/BA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAA,CAAiCzH,KAAK,CAAA;AAEpD,UAAA,IAAM4H,qBAAqB,GAAGjG,WAAW,CACrC3B,KAAK,GACCoD,cAAc,CAACuE,GAAG,CAAC3H,KAAK,CAAC,GACzB;AACIP,YAAAA,KAAK,EAAEiI,WAAW;AAClB1H,YAAAA,KAAK,EAAE0H,WAAW,CAACG,QAAQ,EAAC;AAChC,WACV,CAAC,CAAA;AAED,UAAA,IAAI,CAACV,UAAU,CAACW,QAAQ,CAACF,qBAAqB,CAAC,EAAE;AAC7CR,YAAAA,YAAY,CAACW,MAAM,CAACP,KAAK,EAAE,CAAC,CAAC,CAAA;AACjC,WAAA;AACJ,SAAC,CAAC,CAAA;QAEF,IAAMQ,gBAAgB,GAAGC,mCAAiB,CAACxI,KAAK,EAAE2H,YAAY,EAAEzH,cAAc,CAAC,CAAA;QAE/E6G,QAAQ,CACJY,YAAY,EACZY,gBAAgB,GACV7E,cAAc,CAACwE,GAAG,CAACK,gBAAgB,CAAC,IAAI;AACpCvI,UAAAA,KAAK,EAAEuI,gBAAgB;AACvBhI,UAAAA,KAAK,EAAEgI,gBAAgB,CAACH,QAAQ,EAAC;SACpC,GACD,IACV,CAAC,CAAA;AACL,OAAC,MAAM;AACH,QAAA,IAAMK,SAAS,GAAGf,UAAU,CAACgB,GAAG,CAAC,UAACC,SAAS,EAAA;AAAA,UAAA,IAAAC,mBAAA,CAAA;AAAA,UAAA,OAAK,EAAAA,mBAAA,GAAAjF,cAAc,CAACuE,GAAG,CAACS,SAAS,CAAC,MAAA,IAAA,IAAAC,mBAAA,KAA7BA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAA,CAA+B5I,KAAK,KAAI2I,SAAS,CAAA;SAAC,CAAA,CAAA;QAClG,IAAMJ,iBAAgB,GAAGC,mCAAiB,CAACxI,KAAK,EAAEyI,SAAS,EAAEvI,cAAc,CAAC,CAAA;QAE5E6G,QAAQ,CACJ0B,SAAS,EACTF,iBAAgB,GACV7E,cAAc,CAACwE,GAAG,CAACK,iBAAgB,CAAC,IAAI;AACpCvI,UAAAA,KAAK,EAAEuI,iBAAgB;AACvBhI,UAAAA,KAAK,EAAEgI,iBAAgB,CAACH,QAAQ,EAAC;SACpC,GACD,IACV,CAAC,CAAA;AACL,OAAA;KACH,CAAA;;AAED;AACA,IAAA,IAAMS,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,MAAe,EAAK;MAC1C,IAAIlH,QAAQ,IAAIF,QAAQ,EAAE;AACtB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIoH,MAAM,EAAE;AACRnD,QAAAA,YAAY,CAAC;AAAEmB,UAAAA,IAAI,EAAE,oBAAA;AAAqB,SAAC,CAAC,CAAA;AAChD,OAAC,MAAM;AACHd,QAAAA,mBAAmB,CAAC;AAAEc,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACtCnB,QAAAA,YAAY,CAAC;AAAEmB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACnC,OAAA;AAEA,MAAA,IAAIjE,QAAQ,EAAE;QACVA,QAAQ,CAACiG,MAAM,CAAC,CAAA;AACpB,OAAA;KACH,CAAA;;AAED;AACA,IAAA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAI9B,IAA2B,EAAK;MAC1D,IAAI,CAACnH,QAAQ,EAAE;AACX,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAMkJ,WAAW,GAAG,IAAIC,GAAG,CAAC9C,OAAO,CAAC,CAAA;MAEpC,IAAI,CAAC6C,WAAW,CAACd,GAAG,CAACjB,IAAI,CAACjH,KAAK,CAAC,EAAE;QAC9BgJ,WAAW,CAACE,GAAG,CAACjC,IAAI,CAACjH,KAAK,EAAE,IAAI,CAAC,CAAA;QACjCmJ,mCAAiB,CAAClC,IAAI,EAAE+B,WAAW,EAAE,IAAI,EAAEtF,cAAc,CAAC,CAAA;AAC9D,OAAC,MAAM;QACHsF,WAAW,CAACE,GAAG,CAACjC,IAAI,CAACjH,KAAK,EAAE,KAAK,CAAC,CAAA;AAClCmJ,QAAAA,mCAAiB,CAAClC,IAAI,EAAE+B,WAAW,EAAE,KAAK,CAAC,CAAA;AAC/C,OAAA;AAEAI,MAAAA,+BAAe,CAACnC,IAAI,EAAE+B,WAAW,CAAC,CAAA;MAElC,IAAMP,SAAwB,GAAG,EAAE,CAAA;AAEnC/E,MAAAA,cAAc,CAACmE,OAAO,CAAC,UAACZ,IAAI,EAAEoC,GAAG,EAAK;AAClC,QAAA,IAAIL,WAAW,CAACd,GAAG,CAACmB,GAAG,CAAC,EAAE;AACtBZ,UAAAA,SAAS,CAACa,IAAI,CAACrC,IAAI,CAACjH,KAAK,CAAC,CAAA;AAC9B,SAAA;AACJ,OAAC,CAAC,CAAA;;AAEF;AACA,MAAA,IAAIkH,KAAK,CAACC,OAAO,CAACnH,KAAK,CAAC,EAAE;AACtBA,QAAAA,KAAK,CAAC6H,OAAO,CAAC,UAAC0B,GAAW,EAAK;AAC3B,UAAA,IAAI,CAAC7F,cAAc,CAAC8F,GAAG,CAACD,GAAG,CAAC,EAAE;AAC1Bd,YAAAA,SAAS,CAACa,IAAI,CAACC,GAAG,CAAC,CAAA;AACvB,WAAA;AACJ,SAAC,CAAC,CAAA;AACN,OAAA;AAEA,MAAA,IAAI,CAACzH,YAAY,IAAIG,gBAAgB,EAAE;AACnC0D,QAAAA,YAAY,CAAC;AAAEmB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC/Bd,QAAAA,mBAAmB,CAAC;AAAEc,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC1C,OAAA;AAEA,MAAA,IAAIC,QAAQ,EAAE;AACVA,QAAAA,QAAQ,CAAC0B,SAAS,EAAExB,IAAI,CAAC,CAAA;AAC7B,OAAA;KACH,CAAA;;AAED;IACA,IAAMwC,eAAe,GAAG,SAAlBA,eAAeA,CAAIxC,IAA2B,EAAEM,CAAiC,EAAK;MACxF,IAAI,CAACmC,eAAO,CAACzC,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAE7G,KAAK,CAAC,EAAE;AACvB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIN,QAAQ,EAAE;QACViJ,oBAAoB,CAAC9B,IAAI,CAAC,CAAA;AAC1B,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIM,CAAC,EAAE;QACHA,CAAC,CAACoC,eAAe,EAAE,CAAA;AACvB,OAAA;MAEA,IAAMC,gBAAgB,GAAGzD,OAAO,CAAC+B,GAAG,CAACjB,IAAI,CAACjH,KAAK,CAAC,CAAA;AAEhD,MAAA,IAAI,CAAC8B,YAAY,IAAIG,gBAAgB,EAAE;AACnC0D,QAAAA,YAAY,CAAC;AAAEmB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC/Bd,QAAAA,mBAAmB,CAAC;AAAEc,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC1C,OAAA;AAEA,MAAA,IAAIC,QAAQ,EAAE;QACVA,QAAQ,CAAC6C,gBAAgB,GAAG,EAAE,GAAG3C,IAAI,CAACjH,KAAK,EAAEiH,IAAI,CAAC,CAAA;AACtD,OAAA;KACH,CAAA;AAED,IAAA,IAAM4C,QAAQ,GAAG,SAAXA,QAAQA,GAAmB;MAC7B,IAAI/J,QAAQ,IAAIoH,KAAK,CAACC,OAAO,CAACnH,KAAK,CAAC,EAAE;AAClC,QAAA,IAAIA,KAAK,CAAC8J,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;AAEjC,QAAA,IAAI5J,cAAc,EAAE;UAChB,OAAO,CAAA,6CAAA,CAAA6J,MAAA,CAAY5J,YAAY,IAAIH,KAAK,CAAC8J,MAAM,CAAG,CAAA,CAAA;AACtD,SAAA;AAEA,QAAA,IAAME,iBAAiB,GACnB9H,WAAW,IACV,UAAC+F,WAAmB,EAAA;UAAA,OACjB/F,WAAW,CACPwB,cAAc,CAACwE,GAAG,CAACD,WAAW,CAAC,IAAI;AAAEjI,YAAAA,KAAK,EAAEiI,WAAW;AAAE1H,YAAAA,KAAK,EAAE0H,WAAW,CAACG,QAAQ,EAAC;AAAE,WAC3F,CAAC,CAAA;SAAC,CAAA;AACV,QAAA,IAAM6B,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIhC,WAAmB,EAAA;AAAA,UAAA,IAAAiC,oBAAA,CAAA;UAAA,OAC1C,CAAA,CAAAA,oBAAA,GAAAxG,cAAc,CAACwE,GAAG,CAACD,WAAW,CAAC,MAAA,IAAA,IAAAiC,oBAAA,KAA/BA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAA,CAAiC3J,KAAK,KAAI0H,WAAW,CAACG,QAAQ,EAAE,CAAA;AAAA,SAAA,CAAA;AAEpE,QAAA,OAAOpI,KAAK,CAAC0I,GAAG,CAACsB,iBAAiB,IAAIC,iBAAiB,CAAC,CAAA;AAC5D,OAAA;AAEA,MAAA,OAAO,EAAE,CAAA;KACZ,CAAA;IAED,IAAME,eAAe,GAAG,SAAlBA,eAAeA,CAAIlD,IAA2B,EAAEM,CAAiC,EAAK;AACxF,MAAA,IAAImC,eAAO,CAACzC,IAAI,CAAC7G,KAAK,CAAC,EAAE;AACrBqJ,QAAAA,eAAe,CAACxC,IAAI,EAAEM,CAAC,CAAC,CAAA;OAC3B,MAAM,IAAIzH,QAAQ,EAAE;QACjBiJ,oBAAoB,CAAC9B,IAAI,CAAC,CAAA;AAC9B,OAAA;KACH,CAAA;AAED,IAAA,IAAMmD,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAIC,KAAuC,EAAK;MAC3EA,KAAK,CAACV,eAAe,EAAE,CAAA;KAC1B,CAAA;IAED,IAAAW,iBAAA,GAAsBC,sCAAgB,CAAC;AACnCxE,QAAAA,WAAW,EAAXA,WAAW;AACXC,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBN,QAAAA,IAAI,EAAJA,IAAI;AACJC,QAAAA,YAAY,EAAZA,YAAY;AACZR,QAAAA,OAAO,EAAPA,OAAO;AACPC,QAAAA,iBAAiB,EAAjBA,iBAAiB;AACjByD,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBsB,QAAAA,eAAe,EAAfA,eAAe;AACflG,QAAAA,YAAY,EAAZA,YAAY;AACZnE,QAAAA,QAAQ,EAARA,QAAQ;AACRE,QAAAA,KAAK,EAALA,KAAK;AACLgE,QAAAA,SAAS,EAATA,SAAS;AACTN,QAAAA,cAAc,EAAdA,cAAAA;AACJ,OAAC,CAAC;MAdM8G,SAAS,GAAAF,iBAAA,CAATE,SAAS,CAAA;;AAgBjB;AACA;AACAC,IAAAA,qBAAe,CAAC,YAAM;AAClB,MAAA,IAAMzB,WAAW,GAAG,IAAIC,GAAG,CAAC9C,OAAO,CAAC,CAAA;AAEpC6C,MAAAA,WAAW,CAACnB,OAAO,CAAC,UAACC,CAAC,EAAEuB,GAAG,EAAK;AAC5BL,QAAAA,WAAW,CAACE,GAAG,CAACG,GAAG,EAAE,KAAK,CAAC,CAAA;AAC/B,OAAC,CAAC,CAAA;AAEF,MAAA,IAAI,CAACK,eAAO,CAAC1J,KAAK,CAAC,EAAE;AACjB,QAAA,IAAIkH,KAAK,CAACC,OAAO,CAACnH,KAAK,CAAC,EAAE;AACtBA,UAAAA,KAAK,CAAC6H,OAAO,CAAC,UAAC0B,GAAG,EAAK;AACnB;AACA,YAAA,IAAI7F,cAAc,CAAC8F,GAAG,CAACD,GAAG,CAAC,EAAE;AACzBP,cAAAA,WAAW,CAACE,GAAG,CAACK,GAAG,EAAE,IAAI,CAAC,CAAA;cAC1BJ,mCAAiB,CAACzF,cAAc,CAACwE,GAAG,CAACqB,GAAG,CAAC,EAAGP,WAAW,EAAE,IAAI,CAAC,CAAA;cAC9DI,+BAAe,CAAC1F,cAAc,CAACwE,GAAG,CAACqB,GAAG,CAAC,EAAGP,WAAW,CAAC,CAAA;AAC1D,aAAA;AACJ,WAAC,CAAC,CAAA;AACN,SAAC,MAAM;AACH;AACA;AACA,UAAA,IAAItF,cAAc,CAAC8F,GAAG,CAACxJ,KAAK,CAAC,EAAE;AAC3BgJ,YAAAA,WAAW,CAACE,GAAG,CAAClJ,KAAK,EAAE,MAAM,CAAC,CAAA;YAC9B0K,2CAAqB,CAAChH,cAAc,CAACwE,GAAG,CAAClI,KAAK,CAAC,EAAGgJ,WAAW,EAAE,KAAK,CAAC,CAAA;AACzE,WAAA;AACJ,SAAA;AACJ,OAAA;MAEA5C,UAAU,CAAC4C,WAAW,CAAC,CAAA;;AAEvB;AACA;AACA;KACH,EAAE,CAACjJ,UAAU,EAAEqE,aAAa,EAAEhE,KAAK,CAAC,CAAC,CAAA;;AAEtC;AACAuK,IAAAA,+CAAuB,CAAC,YAAM;MAC1B1G,YAAY,CAACH,yBAAY,CAAChE,QAAQ,EAAEE,KAAK,EAAE0D,cAAc,EAAExB,WAAW,CAAC,CAAC,CAAA;AAC5E,KAAC,EAAE,CAACnC,UAAU,EAAEqE,aAAa,CAAC,CAAC,CAAA;AAE/BqG,IAAAA,qBAAe,CAAC,YAAM;AAClB,MAAA,IAAIxK,YAAY,EAAE;QACdoE,gBAAgB,CAACpE,YAAY,CAAC,CAAA;AAClC,OAAA;AACJ,KAAC,EAAE,CAACA,YAAY,CAAC,CAAC,CAAA;AAElB,IAAA,oBACI2K,sBAAA,CAAAC,aAAA,CAACtL,IAAI,EAAA;AACD+B,MAAAA,IAAI,EAAEA,IAAK;AACXD,MAAAA,IAAI,EAAEA,IAAK;AACXE,MAAAA,cAAc,EAAEA,cAAe;AAC/BK,MAAAA,QAAQ,EAAEA,QAAS;AACnBF,MAAAA,QAAQ,EAAEA,QAAS;AACnB7B,MAAAA,IAAI,EAAEA,IAAK;AACX2C,MAAAA,QAAQ,EAAEA,QAAS;AACnBC,MAAAA,QAAQ,EAAEA,QAAAA;AAAS,KAAA,EAElB5C,IAAI,iBACD+K,sBAAA,CAAAC,aAAA,CAACC,yBAAY,EAAA;AACT1K,MAAAA,KAAK,EAAEsD,cAAe;AACtB7D,MAAAA,IAAI,EAAEA,IAAK;AACXG,MAAAA,KAAK,EAAEoE,aAAc;AACrBtE,MAAAA,QAAQ,EAAEA,QAAS;AACnBiH,MAAAA,QAAQ,EAAEA,QAAS;AACnBgE,MAAAA,UAAU,EAAE1G,gBAAiB;AAC7B3E,MAAAA,GAAG,EAAEA,GAAAA;AAAsC,KAC9C,CACJ,eACDkL,sBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA,IAAA,eACID,sBAAA,CAAAC,aAAA,CAACG,wBAAO,CAACC,QAAQ,EAAA;AACbjL,MAAAA,KAAK,EAAE;AACH+F,QAAAA,WAAW,EAAXA,WAAW;AACXI,QAAAA,OAAO,EAAPA,OAAO;AACPrG,QAAAA,QAAQ,EAARA,QAAQ;AACRwB,QAAAA,IAAI,EAAJA,IAAI;AACJyH,QAAAA,oBAAoB,EAApBA,oBAAoB;AACpBU,QAAAA,eAAe,EAAfA,eAAe;AACf3I,QAAAA,OAAO,EAAPA,OAAO;AACPM,QAAAA,UAAU,EAAVA,UAAU;AACVwD,QAAAA,MAAM,EAANA,MAAM;AACN;AACA;AACA;QACAsG,mBAAmB,EAAGnI,IAAI,CAASmI,mBAAAA;AACvC,OAAA;AAAE,KAAA,eAEFN,sBAAA,CAAAC,aAAA,CAACM,+BAAe,EAAA;AACZzL,MAAAA,GAAG,EAAE+E,kBAAmB;AACxBqE,MAAAA,MAAM,EAAEzC,iBAAkB;AAC1BxD,MAAAA,QAAQ,EAAEgG,gBAAiB;AAC3BvI,MAAAA,SAAS,EAAEA,SAAU;AACrBa,MAAAA,MAAM,EAAEA,MAAO;AACfD,MAAAA,SAAS,EAAEA,SAAU;AACrBkK,MAAAA,MAAM,EAAEtI,OAAQ;MAChB0E,MAAM,EAAE,SAAAA,MAAAA,CAAC6D,YAAY,EAAA;AAAA,QAAA,oBACjBT,sBAAA,CAAAC,aAAA,CAACS,6BAAe,EAAAC,iCAAA,CAAA;AACZ7L,UAAAA,GAAG,EAAEG,IAAI,GAAG0E,QAAQ,GAAIG,YAAgD;AACxE8G,UAAAA,eAAe,EAAEH,YAAa;AAC9BrL,UAAAA,KAAK,EAAEgE,SAAU;AACjB+C,UAAAA,QAAQ,EAAEO,qBAAsB;AAChChG,UAAAA,IAAI,EAAEA,IAAK;AACXD,UAAAA,IAAI,EAAEA,IAAK;AACXO,UAAAA,QAAQ,EAAEA,QAAS;AACnBF,UAAAA,QAAQ,EAAEA,QAAS;AACnBnB,UAAAA,KAAK,EAAEA,KAAM;AACbC,UAAAA,WAAW,EAAEA,WAAY;AACzBE,UAAAA,WAAW,EAAEA,WAAY;AACzB+K,UAAAA,YAAY,eACRb,sBAAA,CAAAC,aAAA,CAACa,gCAAgB,EAAA;AAAC9J,YAAAA,QAAQ,EAAEA,QAAS;AAAC+J,YAAAA,OAAO,EAAEtE,gBAAAA;AAAiB,WAAA,eAC5DuD,sBAAA,CAAAC,aAAA,CAACe,2BAAW,EAAA;AACRC,YAAAA,KAAK,EAAC,SAAS;AACfvK,YAAAA,IAAI,EAAEwK,6BAAc,CAACxK,IAAI,CAAE;AAC3ByK,YAAAA,SAAS,EAAEtF,gBAAAA;AAAiB,WAC/B,CACa,CACrB;AACD9F,UAAAA,UAAU,EAAEA,UAAW;AACvBC,UAAAA,SAAS,EAAEA,SAAU;AACrB4J,UAAAA,SAAS,EAAEA,SAAU;UACrBwB,UAAU,EACNvL,UAAU,KAAAb,iBAAA,KAAAA,iBAAA,gBACNgL,sBAAA,CAAAC,aAAA,CAACoB,gCAAgB,EAAA;AAACN,YAAAA,OAAO,EAAEvB,yBAAAA;WACtB3J,EAAAA,UACa,CAAC,CAE1B,CAAA;AACDyL,UAAAA,IAAI,EAAC,UAAU;AACf,UAAA,mBAAA,EAAkB,MAAM;UACxB,eAAAnC,EAAAA,EAAAA,CAAAA,MAAA,CAAkBnF,MAAM,EAAgB,eAAA,CAAA;AACxC,UAAA,eAAA,EAAeyB,iBAAkB;UACjC,uBACIE,EAAAA,yBAAyB,GAAG4F,mBAAS,CAACvH,MAAM,EAAE2B,yBAAyB,CAAC,GAAG,EAC9E;AACDhF,UAAAA,cAAc,EAAEA,cAAe;AAC/BC,UAAAA,eAAe,EAAEA,eAAAA;AAAgB,SAAA,EAC5B1B,QAAQ,GACP;AACIsM,UAAAA,eAAe,EAAE,MAAM;UACvBC,KAAK,EAAExC,QAAQ,EAAE;AACjByC,UAAAA,aAAa,EAAE7E,iBAAAA;AACnB,SAAC,GACD;AAAE2E,UAAAA,eAAe,EAAE,OAAA;AAAQ,SAAC,EAC9BrJ,IAAI,EAAA;AACRwJ,UAAAA,gBAAgB,EAAC,IAAA;AAAA,SAAA,CACpB,CAAC,CAAA;OACJ;AACFpK,MAAAA,MAAM,EAAEA,MAAO;AACfqK,MAAAA,OAAO,EAAE,KAAA;AAAM,KAAA,eAEf5B,sBAAA,CAAAC,aAAA,CAACtL,IAAI,EAAA;AACD+B,MAAAA,IAAI,EAAEA,IAAK;AACXD,MAAAA,IAAI,EAAEA,IAAK;AACXE,MAAAA,cAAc,EAAEA,cAAe;AAC/BK,MAAAA,QAAQ,EAAEA,QAAS;AACnBF,MAAAA,QAAQ,EAAEA,QAAS;AACnB7B,MAAAA,IAAI,EAAEA,IAAAA;AAAK,KAAA,eAEX+K,sBAAA,CAAAC,aAAA,CAAC4B,2BAAW,EAAA;AAACvL,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,eAC9B0J,sBAAA,CAAAC,aAAA,CAAC6B,kBAAE,EAAA;AACCR,MAAAA,IAAI,EAAC,MAAM;AACXS,MAAAA,EAAE,EAAA5C,EAAAA,CAAAA,MAAA,CAAKnF,MAAM,EAAgB,eAAA,CAAA;MAC7B,sBAAsB0B,EAAAA,OAAO,CAACxG,QAAQ,CAAE;MACxCmB,aAAa,EAAEA,aAAa,IAAID,UAAW;AAC3CtB,MAAAA,GAAG,EAAEkH,SAAU;AACfrE,MAAAA,OAAO,EAAEA,OAAQ;AACjBxB,MAAAA,YAAY,EAAEA,YAAa;AAC3B6B,MAAAA,QAAQ,EAAEL,OAAO,GAAG+B,SAAS,GAAG1B,QAAAA;KAE/BR,EAAAA,UAAU,EAEVsH,eAAO,CAAC5E,aAAa,CAAC,gBACnB8F,sBAAA,CAAAC,aAAA,CAAC+B,gCAAgB,EAAA;MACbb,SAAS,EAAErF,uBAAO,CAACmG,iBAAkB;AACrCvL,MAAAA,IAAI,EAAEA,IAAK;MACXwL,WAAW,EAAEpK,qBAAqB,IAAI,mBAAA;AAAoB,KAC7D,CAAC,gBAEFkI,sBAAA,CAAAC,aAAA,CAAAD,sBAAA,CAAAmC,QAAA,EAAA,IAAA,EACKtN,KAAK,CAACK,QAAQ,IAAIL,KAAK,CAACuN,gBAAgB;AAAA;AACrC;IACApC,sBAAA,CAAAC,aAAA,CAACoC,mBAAS,EAAA;MACND,gBAAgB,EAAEvN,KAAK,CAACuN,gBAAiB;AACzClM,MAAAA,OAAO,EAAEA,OAAAA;KACZ,CACJ,EAEAyB,OAAO,gBACJqI,sBAAA,CAAAC,aAAA,CAACqC,uBAAW,EAAA;AACR9M,MAAAA,KAAK,EAAE0E,aAAc;MACrB7D,aAAa,EAAEA,aAAa,IAAID,UAAW;AAC3C4B,MAAAA,QAAQ,EAAEA,QAAAA;KACb,CAAC,GAEFkC,aAAa,CAAC4D,GAAG,CAAC,UAACzB,IAAI,EAAEc,KAAK,EAAA;AAAA,MAAA,oBAC1B6C,sBAAA,CAAAC,aAAA,CAACsC,WAAK,EAAA;AACF9D,QAAAA,GAAG,EAAAU,EAAAA,CAAAA,MAAA,CAAKhC,KAAK,EAAK,IAAA,CAAA;AAClBd,QAAAA,IAAI,EAAEA,IAAK;AACXmG,QAAAA,YAAY,EAAE,CAAE;AAChB1H,QAAAA,IAAI,EAAEA,IAAK;AACXC,QAAAA,YAAY,EAAEA,YAAa;AAC3BoC,QAAAA,KAAK,EAAEA,KAAM;AACb7G,QAAAA,SAAS,EAAEA,SAAAA;AAAU,OACxB,CAAC,CAAA;KACL,CAEP,CACL,EAEAmB,SACD,CACK,CACX,CACO,CACH,CACjB,CACH,CAAC,CAAA;AAEf,GAAC,CAAC,CAAA;AAAA,EAAA;AAEC,IAAMgL,cAAc,GAAG;AAC1BxN,EAAAA,IAAI,EAAE,QAAQ;AACdyN,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEjO,YAAY;AACpBkO,EAAAA,IAAI,EAAJA,oBAAI;AACJC,EAAAA,UAAU,EAAE;AACRpM,IAAAA,IAAI,EAAE;AACFqM,MAAAA,GAAG,EAAEC,SAAAA;KACR;AACDrM,IAAAA,IAAI,EAAE;AACFoM,MAAAA,GAAG,EAAEE,WAAAA;KACR;AACDlM,IAAAA,QAAQ,EAAE;AACNgM,MAAAA,GAAG,EAAEE,WAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNxM,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAG;AACTC,IAAAA,cAAc,EAAE,OAAA;AACpB,GAAA;AACJ;;;;;"}
|
@@ -29,7 +29,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
29
29
|
|
30
30
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
31
31
|
|
32
|
-
var _excluded = ["id", "value", "onChange", "target", "items", "placement", "label", "labelPlacement", "placeholder", "helperText", "disabled", "readOnly", "view", "size", "listOverflow", "listHeight", "listMaxHeight", "listWidth", "contentLeft", "onScrollBottom", "onScroll", "chipView", "variant", "portal", "renderValue", "renderItem", "status", "onItemSelect", "separator", "closeAfterSelect", "isTargetAmount", "beforeList", "afterList", "zIndex", "name", "defaultValue", "virtual", "onToggle", "chipType", "multiselect", "
|
32
|
+
var _excluded = ["id", "value", "onChange", "target", "items", "placement", "label", "labelPlacement", "placeholder", "helperText", "disabled", "readOnly", "view", "size", "listOverflow", "listHeight", "listMaxHeight", "listWidth", "contentLeft", "onScrollBottom", "onScroll", "chipView", "variant", "portal", "renderValue", "renderItem", "status", "onItemSelect", "separator", "closeAfterSelect", "isTargetAmount", "beforeList", "afterList", "zIndex", "name", "defaultValue", "virtual", "onToggle", "chipType", "multiselect", "_offset", "required", "requiredPlacement", "hasRequiredIndicator", "optional", "hintText", "hintTrigger", "hintView", "hintSize", "hintTargetPlacement", "hintPlacement", "hintWidth", "hintHasArrow", "hasHint"];
|
33
33
|
|
34
34
|
/**
|
35
35
|
* Выпадающий список. Поддерживает выбор одного или нескольких значений.
|
@@ -80,8 +80,6 @@ var selectRoot = function selectRoot(Root) {
|
|
80
80
|
_props$virtual = props.virtual,
|
81
81
|
virtual = _props$virtual === void 0 ? false : _props$virtual,
|
82
82
|
onToggle = props.onToggle,
|
83
|
-
_props$mode = props.mode,
|
84
|
-
mode = _props$mode === void 0 ? 'default' : _props$mode,
|
85
83
|
_offset = props._offset,
|
86
84
|
required = props.required,
|
87
85
|
requiredPlacement = props.requiredPlacement,
|
@@ -266,11 +264,6 @@ var selectRoot = function selectRoot(Root) {
|
|
266
264
|
type: 'reset'
|
267
265
|
});
|
268
266
|
}
|
269
|
-
|
270
|
-
// Закрываем список, если элемент уже выбран.
|
271
|
-
if (mode === 'radio' && isCurrentChecked) {
|
272
|
-
return;
|
273
|
-
}
|
274
267
|
if (onChange) {
|
275
268
|
onChange(isCurrentChecked ? '' : item.value, item);
|
276
269
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useState,\n useReducer,\n useMemo,\n useLayoutEffect,\n useRef,\n ChangeEvent,\n ForwardedRef,\n} from 'react';\nimport { RootProps } from 'src/engines';\nimport { isEmpty, safeUseId } from 'src/utils';\nimport { useOutsideClick } from 'src/hooks';\n\nimport type { HintProps } from '../TextField/TextField.types';\n\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from './utils';\nimport { Inner, Target, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { Ul, base, ListWrapper } from './Select.styles';\nimport type { MergedSelectProps, RequiredProps } from './Select.types';\nimport type { MergedDropdownNodeTransformed } from './ui/Inner/ui/Item/Item.types';\nimport { FloatingPopover } from './FloatingPopover';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Select.context';\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, Omit<MergedSelectProps, 'items'>>) =>\n forwardRef<HTMLButtonElement, MergedSelectProps>((props, ref) => {\n const {\n // eslint-disable-block @typescript-eslint/ban-ts-comment\n id,\n value: outerValue,\n onChange: outerOnChange,\n target = 'textfield-like',\n items,\n placement = 'bottom',\n label,\n labelPlacement,\n placeholder,\n helperText,\n disabled = false,\n readOnly = false,\n view: outerView,\n size,\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n contentLeft,\n onScrollBottom,\n onScroll,\n chipView,\n variant = 'normal',\n portal,\n renderValue,\n renderItem,\n status,\n onItemSelect,\n separator,\n closeAfterSelect: outerCloseAfterSelect,\n isTargetAmount,\n beforeList,\n afterList,\n zIndex,\n name,\n defaultValue,\n virtual = false,\n onToggle,\n chipType,\n multiselect,\n mode = 'default',\n // @ts-ignore\n _offset,\n\n // Извлекаем пропсы для required и hint, чтобы они не попадали в DOM.\n // @ts-ignore\n required,\n // @ts-ignore\n requiredPlacement,\n // @ts-ignore\n hasRequiredIndicator,\n // @ts-ignore\n optional,\n // @ts-ignore\n hintText,\n // @ts-ignore\n hintTrigger,\n // @ts-ignore\n hintView,\n // @ts-ignore\n hintSize,\n // @ts-ignore\n hintTargetPlacement,\n // @ts-ignore\n hintPlacement,\n // @ts-ignore\n hintWidth,\n // @ts-ignore\n hintHasArrow,\n // @ts-ignore\n hasHint,\n ...rest\n } = props;\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap, labelToItemMap] = usePathMaps(\n transformedItems,\n );\n\n const [internalValue, setInternalValue] = useState<string | number | Array<string | number>>(\n props.multiselect ? [] : '',\n );\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value.toString() || '';\n const closeAfterSelect = outerCloseAfterSelect ?? !props.multiselect;\n const treeId = safeUseId();\n const view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);\n\n // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.\n const requiredProps =\n props.target === 'button-like'\n ? undefined\n : ({\n required,\n requiredPlacement,\n hasRequiredIndicator,\n optional,\n } as RequiredProps);\n\n // Собираем объект с пропсами для hint и прокидываем их напрямую в компонент Textfield.\n const hintProps =\n props.target === 'button-like'\n ? undefined\n : ({\n hintText,\n hintTrigger,\n hintView,\n hintSize,\n hintTargetPlacement,\n hintPlacement,\n hintWidth,\n hintHasArrow,\n } as HintProps);\n\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false);\n }\n }, floatingPopoverRef);\n\n const onChange = (\n newValue?: string | number | Array<string | number> | ChangeEvent<HTMLSelectElement> | null,\n item?: MergedDropdownNodeTransformed | null,\n ) => {\n if (props.onChange) {\n // Условие для отправки если компонент используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки если компонент используется с формой.\n // Убрать условие \"typeof ref === 'function'\" в PLASMA 2.0\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any, item || null);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n const handleCheckboxChange = (item: MergedDropdownNodeTransformed) => {\n if (!props.multiselect) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n if (!checkedCopy.get(item.value)) {\n checkedCopy.set(item.value, true);\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n } else {\n checkedCopy.set(item.value, false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\n\n const newValues: Array<string | number> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n // Оставляем values, которых нет в items.\n if (Array.isArray(value)) {\n value.forEach((val: string) => {\n if (!valueToItemMap.has(val)) {\n newValues.push(val);\n }\n });\n }\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n const handleItemClick = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (props.multiselect) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n // Закрываем список, если элемент уже выбран.\n if (mode === 'radio' && isCurrentChecked) {\n return;\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n\n if (onItemSelect) {\n onItemSelect(item, e!);\n }\n };\n\n const handlePressDown = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (props.multiselect) {\n handleCheckboxChange(item);\n }\n };\n\n const handleScroll = (e: React.UIEvent<HTMLUListElement>) => {\n if (onScroll) {\n onScroll(e);\n }\n\n if (!onScrollBottom) return;\n\n const { target } = e;\n\n if (\n (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n (target as HTMLElement).clientHeight\n ) {\n onScrollBottom(e);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value) || typeof value === 'number') {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue as string | string[]);\n }\n }, [defaultValue]);\n\n return (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n id={id}\n {...(rest as any)}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiselect={props.multiselect}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLButtonElement>}\n />\n )}\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiselect: props.multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleListToggle}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <Target\n ref={name ? null : ref}\n value={value}\n opened={isCurrentListOpen}\n valueToItemMap={valueToItemMap}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n labelPlacement={labelPlacement}\n size={size}\n contentLeft={contentLeft}\n disabled={disabled}\n readOnly={readOnly}\n renderValue={renderValue}\n selectProps={props}\n inputWrapperRef={referenceRef as React.MutableRefObject<HTMLDivElement>}\n multiselect={props.multiselect}\n view={view}\n helperText={helperText}\n treeId={treeId}\n activeDescendantItemValue={activeDescendantItemValue}\n isTargetAmount={isTargetAmount}\n onChange={onChange}\n labelToItemMap={labelToItemMap}\n chipView={chipView}\n separator={separator}\n requiredProps={requiredProps}\n hintProps={hintProps}\n />\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n {...(rest as any)}\n >\n <ListWrapper listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(props.multiselect)}\n listOverflow={listOverflow}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={virtual ? undefined : handleScroll}\n ref={targetRef}\n virtual={virtual}\n >\n {beforeList}\n\n {props.multiselect && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll selectAllOptions={props.selectAllOptions} variant={variant} />\n )}\n\n {virtual ? (\n <VirtualList\n items={transformedItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n transformedItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n />\n ))\n )}\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </Root>\n );\n });\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base,\n variations: {},\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n chipView: 'default',\n },\n};\n"],"names":["selectRoot","Root","forwardRef","props","ref","_getItemByFocused","id","outerValue","value","_props$target","target","items","_props$placement","placement","label","labelPlacement","placeholder","helperText","_props$disabled","disabled","_props$readOnly","readOnly","outerView","view","size","listOverflow","listHeight","listMaxHeight","listWidth","contentLeft","onScrollBottom","onScroll","chipView","_props$variant","variant","portal","renderValue","renderItem","status","onItemSelect","separator","outerCloseAfterSelect","closeAfterSelect","isTargetAmount","beforeList","afterList","zIndex","name","defaultValue","_props$virtual","virtual","onToggle","_props$mode","mode","_offset","required","requiredPlacement","hasRequiredIndicator","optional","hintText","hintTrigger","hintView","hintSize","hintTargetPlacement","hintPlacement","hintWidth","hintHasArrow","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","labelToItemMap","_useState","useState","multiselect","_useState2","internalValue","setInternalValue","undefined","floatingPopoverRef","useRef","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState3","_useState4","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","toString","treeId","safeUseId","getView","requiredProps","hintProps","targetRef","useOutsideClick","type","onChange","newValue","item","Array","isArray","_typeof","handleListToggle","opened","handleCheckboxChange","checkedCopy","Map","get","set","updateDescendants","updateAncestors","newValues","forEach","key","push","val","has","handleItemClick","e","isEmpty","stopPropagation","isCurrentChecked","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateSingleAncestors","React","createElement","_extends","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","Target","selectProps","inputWrapperRef","isInner","ListWrapper","Ul","role","concat","selectAllOptions","SelectAll","VirtualList","map","index","Inner","currentLevel","selectConfig","tag","layout","base","variations","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useState,\n useReducer,\n useMemo,\n useLayoutEffect,\n useRef,\n ChangeEvent,\n ForwardedRef,\n} from 'react';\nimport { RootProps } from 'src/engines';\nimport { isEmpty, safeUseId } from 'src/utils';\nimport { useOutsideClick } from 'src/hooks';\n\nimport type { HintProps } from '../TextField/TextField.types';\n\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from './utils';\nimport { Inner, Target, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { Ul, base, ListWrapper } from './Select.styles';\nimport type { MergedSelectProps, RequiredProps } from './Select.types';\nimport type { MergedDropdownNodeTransformed } from './ui/Inner/ui/Item/Item.types';\nimport { FloatingPopover } from './FloatingPopover';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Select.context';\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, Omit<MergedSelectProps, 'items'>>) =>\n forwardRef<HTMLButtonElement, MergedSelectProps>((props, ref) => {\n const {\n // eslint-disable-block @typescript-eslint/ban-ts-comment\n id,\n value: outerValue,\n onChange: outerOnChange,\n target = 'textfield-like',\n items,\n placement = 'bottom',\n label,\n labelPlacement,\n placeholder,\n helperText,\n disabled = false,\n readOnly = false,\n view: outerView,\n size,\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n contentLeft,\n onScrollBottom,\n onScroll,\n chipView,\n variant = 'normal',\n portal,\n renderValue,\n renderItem,\n status,\n onItemSelect,\n separator,\n closeAfterSelect: outerCloseAfterSelect,\n isTargetAmount,\n beforeList,\n afterList,\n zIndex,\n name,\n defaultValue,\n virtual = false,\n onToggle,\n chipType,\n multiselect,\n // @ts-ignore\n _offset,\n\n // Извлекаем пропсы для required и hint, чтобы они не попадали в DOM.\n // @ts-ignore\n required,\n // @ts-ignore\n requiredPlacement,\n // @ts-ignore\n hasRequiredIndicator,\n // @ts-ignore\n optional,\n // @ts-ignore\n hintText,\n // @ts-ignore\n hintTrigger,\n // @ts-ignore\n hintView,\n // @ts-ignore\n hintSize,\n // @ts-ignore\n hintTargetPlacement,\n // @ts-ignore\n hintPlacement,\n // @ts-ignore\n hintWidth,\n // @ts-ignore\n hintHasArrow,\n // @ts-ignore\n hasHint,\n ...rest\n } = props;\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap, labelToItemMap] = usePathMaps(\n transformedItems,\n );\n\n const [internalValue, setInternalValue] = useState<string | number | Array<string | number>>(\n props.multiselect ? [] : '',\n );\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value.toString() || '';\n const closeAfterSelect = outerCloseAfterSelect ?? !props.multiselect;\n const treeId = safeUseId();\n const view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);\n\n // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.\n const requiredProps =\n props.target === 'button-like'\n ? undefined\n : ({\n required,\n requiredPlacement,\n hasRequiredIndicator,\n optional,\n } as RequiredProps);\n\n // Собираем объект с пропсами для hint и прокидываем их напрямую в компонент Textfield.\n const hintProps =\n props.target === 'button-like'\n ? undefined\n : ({\n hintText,\n hintTrigger,\n hintView,\n hintSize,\n hintTargetPlacement,\n hintPlacement,\n hintWidth,\n hintHasArrow,\n } as HintProps);\n\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false);\n }\n }, floatingPopoverRef);\n\n const onChange = (\n newValue?: string | number | Array<string | number> | ChangeEvent<HTMLSelectElement> | null,\n item?: MergedDropdownNodeTransformed | null,\n ) => {\n if (props.onChange) {\n // Условие для отправки если компонент используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки если компонент используется с формой.\n // Убрать условие \"typeof ref === 'function'\" в PLASMA 2.0\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any, item || null);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n const handleCheckboxChange = (item: MergedDropdownNodeTransformed) => {\n if (!props.multiselect) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n if (!checkedCopy.get(item.value)) {\n checkedCopy.set(item.value, true);\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n } else {\n checkedCopy.set(item.value, false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\n\n const newValues: Array<string | number> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n // Оставляем values, которых нет в items.\n if (Array.isArray(value)) {\n value.forEach((val: string) => {\n if (!valueToItemMap.has(val)) {\n newValues.push(val);\n }\n });\n }\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n const handleItemClick = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (props.multiselect) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n\n if (onItemSelect) {\n onItemSelect(item, e!);\n }\n };\n\n const handlePressDown = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (props.multiselect) {\n handleCheckboxChange(item);\n }\n };\n\n const handleScroll = (e: React.UIEvent<HTMLUListElement>) => {\n if (onScroll) {\n onScroll(e);\n }\n\n if (!onScrollBottom) return;\n\n const { target } = e;\n\n if (\n (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n (target as HTMLElement).clientHeight\n ) {\n onScrollBottom(e);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value) || typeof value === 'number') {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue as string | string[]);\n }\n }, [defaultValue]);\n\n return (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n id={id}\n {...(rest as any)}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiselect={props.multiselect}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLButtonElement>}\n />\n )}\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiselect: props.multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleListToggle}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <Target\n ref={name ? null : ref}\n value={value}\n opened={isCurrentListOpen}\n valueToItemMap={valueToItemMap}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n labelPlacement={labelPlacement}\n size={size}\n contentLeft={contentLeft}\n disabled={disabled}\n readOnly={readOnly}\n renderValue={renderValue}\n selectProps={props}\n inputWrapperRef={referenceRef as React.MutableRefObject<HTMLDivElement>}\n multiselect={props.multiselect}\n view={view}\n helperText={helperText}\n treeId={treeId}\n activeDescendantItemValue={activeDescendantItemValue}\n isTargetAmount={isTargetAmount}\n onChange={onChange}\n labelToItemMap={labelToItemMap}\n chipView={chipView}\n separator={separator}\n requiredProps={requiredProps}\n hintProps={hintProps}\n />\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n {...(rest as any)}\n >\n <ListWrapper listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(props.multiselect)}\n listOverflow={listOverflow}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={virtual ? undefined : handleScroll}\n ref={targetRef}\n virtual={virtual}\n >\n {beforeList}\n\n {props.multiselect && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll selectAllOptions={props.selectAllOptions} variant={variant} />\n )}\n\n {virtual ? (\n <VirtualList\n items={transformedItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n transformedItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n />\n ))\n )}\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </Root>\n );\n });\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base,\n variations: {},\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n chipView: 'default',\n },\n};\n"],"names":["selectRoot","Root","forwardRef","props","ref","_getItemByFocused","id","outerValue","value","_props$target","target","items","_props$placement","placement","label","labelPlacement","placeholder","helperText","_props$disabled","disabled","_props$readOnly","readOnly","outerView","view","size","listOverflow","listHeight","listMaxHeight","listWidth","contentLeft","onScrollBottom","onScroll","chipView","_props$variant","variant","portal","renderValue","renderItem","status","onItemSelect","separator","outerCloseAfterSelect","closeAfterSelect","isTargetAmount","beforeList","afterList","zIndex","name","defaultValue","_props$virtual","virtual","onToggle","_offset","required","requiredPlacement","hasRequiredIndicator","optional","hintText","hintTrigger","hintView","hintSize","hintTargetPlacement","hintPlacement","hintWidth","hintHasArrow","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","labelToItemMap","_useState","useState","multiselect","_useState2","internalValue","setInternalValue","undefined","floatingPopoverRef","useRef","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState3","_useState4","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","toString","treeId","safeUseId","getView","requiredProps","hintProps","targetRef","useOutsideClick","type","onChange","newValue","item","Array","isArray","_typeof","handleListToggle","opened","handleCheckboxChange","checkedCopy","Map","get","set","updateDescendants","updateAncestors","newValues","forEach","key","push","val","has","handleItemClick","e","isEmpty","stopPropagation","isCurrentChecked","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateSingleAncestors","React","createElement","_extends","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","Target","selectProps","inputWrapperRef","isInner","ListWrapper","Ul","role","concat","selectAllOptions","SelectAll","VirtualList","map","index","Inner","currentLevel","selectConfig","tag","layout","base","variations","defaults"],"mappings":"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"}
|
@@ -55,7 +55,15 @@ var treeRoot = function treeRoot(Root) {
|
|
55
55
|
icon = _ref.icon,
|
56
56
|
renderTitle = _ref.renderTitle,
|
57
57
|
_ref$mode = _ref.mode,
|
58
|
-
mode = _ref$mode === void 0 ? 'default' : _ref$mode
|
58
|
+
mode = _ref$mode === void 0 ? 'default' : _ref$mode,
|
59
|
+
_ref$draggable = _ref.draggable,
|
60
|
+
draggable = _ref$draggable === void 0 ? false : _ref$draggable,
|
61
|
+
onDragStart = _ref.onDragStart,
|
62
|
+
onDragEnter = _ref.onDragEnter,
|
63
|
+
onDragOver = _ref.onDragOver,
|
64
|
+
onDragLeave = _ref.onDragLeave,
|
65
|
+
onDragEnd = _ref.onDragEnd,
|
66
|
+
onDrop = _ref.onDrop;
|
59
67
|
var _useState = React.useState(defaultSelectedKeys || []),
|
60
68
|
_useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
|
61
69
|
selected = _useState2[0],
|
@@ -130,7 +138,14 @@ var treeRoot = function treeRoot(Root) {
|
|
130
138
|
fullWidthItemSelection: fullWidthItemSelection,
|
131
139
|
arrowPlacement: arrowPlacement
|
132
140
|
}, /*#__PURE__*/React__default.default.createElement(Tree_styles.Title, null, renderTitle ? renderTitle(item) : typeof item.title === 'function' ? item.title(item) : item.title), item.contentRight && /*#__PURE__*/React__default.default.createElement(Tree_styles.ContentRight, null, item.contentRight));
|
133
|
-
}
|
141
|
+
},
|
142
|
+
draggable: draggable,
|
143
|
+
onDragStart: onDragStart,
|
144
|
+
onDragEnter: onDragEnter,
|
145
|
+
onDragOver: onDragOver,
|
146
|
+
onDragLeave: onDragLeave,
|
147
|
+
onDragEnd: onDragEnd,
|
148
|
+
onDrop: onDrop
|
134
149
|
})));
|
135
150
|
});
|
136
151
|
};
|